{
  "title": "Wsh Visualize",
  "id": "0da34ede-297e-4820-a4e5-cdab91bfd891",
  "properties": {
    "agent": "visual",
    "name": "visualize"
  },
  "x": 0,
  "y": 0,
  "width": 200,
  "height": 100,
  "collapsed": false,
  "inherited": false,
  "registry": "agents/visual/wshVisualize",
  "nodes": {
    "9a0254d7-00f3-4bce-81f3-51e6c16a2827": {
      "title": "GET obj.prompt_only",
      "id": "9a0254d7-00f3-4bce-81f3-51e6c16a2827",
      "properties": {
        "attribute": "prompt_only"
      },
      "x": 414,
      "y": 595,
      "width": 210,
      "height": 98,
      "collapsed": false,
      "inherited": false,
      "registry": "data/Get",
      "base_type": "core/Node"
    },
    "a06cbbb9-dc32-4806-ae04-ea6682cb5ca7": {
      "title": "GET obj.instructions",
      "id": "a06cbbb9-dc32-4806-ae04-ea6682cb5ca7",
      "properties": {
        "attribute": "instructions"
      },
      "x": 427,
      "y": 422,
      "width": 210,
      "height": 98,
      "collapsed": false,
      "inherited": false,
      "registry": "data/Get",
      "base_type": "core/Node"
    },
    "3b091600-7dce-472c-ad2c-fa3caade8cb0": {
      "title": "As Bool",
      "id": "3b091600-7dce-472c-ad2c-fa3caade8cb0",
      "properties": {
        "default": false
      },
      "x": 707,
      "y": 612,
      "width": 210,
      "height": 58,
      "collapsed": false,
      "inherited": false,
      "registry": "core/AsBool",
      "base_type": "core/Node"
    },
    "150f45ad-d303-40ef-b1ed-1c2a68783cb1": {
      "title": "true",
      "id": "150f45ad-d303-40ef-b1ed-1c2a68783cb1",
      "properties": {
        "value": true
      },
      "x": 1277,
      "y": 252,
      "width": 210,
      "height": 58,
      "collapsed": true,
      "inherited": false,
      "registry": "core/MakeBool",
      "base_type": "core/Node"
    },
    "006732ed-c87f-43db-8ec7-4043748466eb": {
      "title": "Coallesce",
      "id": "006732ed-c87f-43db-8ec7-4043748466eb",
      "properties": {},
      "x": 2367,
      "y": 302,
      "width": 140,
      "height": 86,
      "collapsed": false,
      "inherited": false,
      "registry": "core/Coallesce",
      "base_type": "core/Node"
    },
    "7cb57057-5971-437b-a9ff-de9b8ef22209": {
      "title": "Websocket Operation Done",
      "id": "7cb57057-5971-437b-a9ff-de9b8ef22209",
      "properties": {
        "signal_only": false,
        "allow_auto_save": true,
        "emit_status_message": ""
      },
      "x": 2657,
      "y": 342,
      "width": 304,
      "height": 186,
      "collapsed": false,
      "inherited": false,
      "registry": "websocket/signals/OperationDone",
      "base_type": "core/Node"
    },
    "6ce2eb87-01df-499f-9d6b-afd54968686c": {
      "title": "websocket_router",
      "id": "6ce2eb87-01df-499f-9d6b-afd54968686c",
      "properties": {
        "name": "websocket_router",
        "typ": "any"
      },
      "x": 2367,
      "y": 472,
      "width": 210,
      "height": 82,
      "collapsed": false,
      "inherited": false,
      "registry": "core/functions/Argument",
      "base_type": "core/Node"
    },
    "04e1ce7f-b180-429d-b8a3-23c407c017e5": {
      "title": "Validate Character",
      "id": "04e1ce7f-b180-429d-b8a3-23c407c017e5",
      "properties": {
        "error_message": "",
        "character_status": "all"
      },
      "x": 960,
      "y": 77,
      "width": 210,
      "height": 102,
      "collapsed": false,
      "inherited": false,
      "registry": "validation/ValidateCharacter",
      "base_type": "core/Node"
    },
    "413f38cc-9ffb-4250-9af4-eae4993acd95": {
      "title": "GET obj.character_name",
      "id": "413f38cc-9ffb-4250-9af4-eae4993acd95",
      "properties": {
        "attribute": "character_name"
      },
      "x": 432,
      "y": 77,
      "width": 210,
      "height": 98,
      "collapsed": false,
      "inherited": false,
      "registry": "data/Get",
      "base_type": "core/Node"
    },
    "402aacb2-a347-477a-a358-53c095a459da": {
      "title": "Switch",
      "id": "402aacb2-a347-477a-a358-53c095a459da",
      "properties": {
        "pass_through": true
      },
      "x": 700,
      "y": 87,
      "width": 210,
      "height": 78,
      "collapsed": false,
      "inherited": false,
      "registry": "core/Switch",
      "base_type": "core/Node"
    },
    "7b514d6c-d237-4abd-aac0-201e9d8c41f1": {
      "title": "Validate Value Contained",
      "id": "7b514d6c-d237-4abd-aac0-201e9d8c41f1",
      "properties": {
        "error_message": "Invalid value for `vis_type`."
      },
      "x": 710,
      "y": 237,
      "width": 210,
      "height": 98,
      "collapsed": false,
      "inherited": false,
      "registry": "validation/ValidateValueContained",
      "base_type": "core/Node"
    },
    "3001b0db-42b4-4a10-b586-e29317d69c02": {
      "title": "Make List",
      "id": "3001b0db-42b4-4a10-b586-e29317d69c02",
      "properties": {
        "item_type": "any",
        "items": [
          "UNSPECIFIED",
          "CHARACTER_CARD",
          "CHARACTER_PORTRAIT",
          "SCENE_CARD",
          "SCENE_BACKGROUND",
          "SCENE_ILLUSTRATION"
        ]
      },
      "x": 710,
      "y": 377,
      "width": 210,
      "height": 102,
      "collapsed": false,
      "inherited": false,
      "registry": "data/MakeList",
      "base_type": "core/Node"
    },
    "f4d484b8-ecce-4af1-b569-c9b984e428af": {
      "title": "GET obj.vis_type",
      "id": "f4d484b8-ecce-4af1-b569-c9b984e428af",
      "properties": {
        "attribute": "vis_type"
      },
      "x": 422,
      "y": 246,
      "width": 210,
      "height": 98,
      "collapsed": false,
      "inherited": false,
      "registry": "data/Get",
      "base_type": "core/Node"
    },
    "e7f891ac-e0c8-4b5c-86d5-fd632d5a7101": {
      "title": "value",
      "id": "e7f891ac-e0c8-4b5c-86d5-fd632d5a7101",
      "properties": {},
      "x": 699,
      "y": 536,
      "width": 140,
      "height": 26,
      "collapsed": false,
      "inherited": false,
      "registry": "core/Watch",
      "base_type": "core/Node"
    },
    "cf4618c8-f944-4973-9681-778708dba637": {
      "title": "data",
      "id": "cf4618c8-f944-4973-9681-778708dba637",
      "properties": {},
      "x": 226,
      "y": 177,
      "width": 140,
      "height": 26,
      "collapsed": false,
      "inherited": false,
      "registry": "core/Watch",
      "base_type": "core/Node"
    },
    "4b63c4d2-cb0d-4362-8fb7-702aa2d1cb5f": {
      "title": "Emit System Message",
      "id": "4b63c4d2-cb0d-4362-8fb7-702aa2d1cb5f",
      "properties": {
        "message_title": "Visualize",
        "message": "",
        "font_color": "amber-darken-3",
        "icon": "mdi-image-text",
        "display": "tonal",
        "as_markdown": true
      },
      "x": 2057,
      "y": 432,
      "width": 240,
      "height": 218,
      "collapsed": false,
      "inherited": false,
      "registry": "event/EmitSystemMessage",
      "base_type": "core/Node"
    },
    "b0ce0534-f61e-4ca2-8881-e70d9ecbcfbf": {
      "title": "Set Cover Image From Generation",
      "id": "b0ce0534-f61e-4ca2-8881-e70d9ecbcfbf",
      "properties": {},
      "x": 288,
      "y": 1188,
      "width": 329,
      "height": 66,
      "collapsed": false,
      "inherited": false,
      "registry": "agents/visual/setCoverImageFromGeneration",
      "base_type": "core/Graph"
    },
    "bba555fe-ddf6-4f5f-bf64-34dbcb4f1c06": {
      "title": "FN set_cover_image",
      "id": "bba555fe-ddf6-4f5f-bf64-34dbcb4f1c06",
      "properties": {
        "name": "set_cover_image"
      },
      "x": 1019,
      "y": 602,
      "width": 210,
      "height": 78,
      "collapsed": false,
      "inherited": false,
      "registry": "core/functions/GetFunction",
      "base_type": "core/Node"
    },
    "fd7a5ad7-9238-4524-8be0-5af13d88b54f": {
      "title": "asset_id",
      "id": "fd7a5ad7-9238-4524-8be0-5af13d88b54f",
      "properties": {},
      "x": 668,
      "y": 1208,
      "width": 140,
      "height": 26,
      "collapsed": false,
      "inherited": false,
      "registry": "core/Watch",
      "base_type": "core/Node"
    },
    "20fd12dd-17d1-4b32-ba48-d85c993e976f": {
      "title": "Return",
      "id": "20fd12dd-17d1-4b32-ba48-d85c993e976f",
      "properties": {},
      "x": 858,
      "y": 1208,
      "width": 140,
      "height": 26,
      "collapsed": false,
      "inherited": false,
      "registry": "core/functions/Return",
      "base_type": "core/Node"
    },
    "07e0139b-03ab-4a5a-aabe-7f49efa02f7e": {
      "title": "Define Function",
      "id": "07e0139b-03ab-4a5a-aabe-7f49efa02f7e",
      "properties": {
        "name": "set_cover_image"
      },
      "x": 1048,
      "y": 1188,
      "width": 210,
      "height": 78,
      "collapsed": false,
      "inherited": false,
      "registry": "core/functions/DefineFunction",
      "base_type": "core/Node"
    },
    "7c24ddca-ef20-4200-8ef4-17902e336736": {
      "title": "Argument",
      "id": "7c24ddca-ef20-4200-8ef4-17902e336736",
      "properties": {
        "name": "response",
        "typ": "any"
      },
      "x": 28,
      "y": 1178,
      "width": 210,
      "height": 82,
      "collapsed": false,
      "inherited": false,
      "registry": "core/functions/Argument",
      "base_type": "core/Node"
    },
    "cfb303df-5fd2-4bb0-8b19-be24b0ed5893": {
      "title": "Unpack Visual Prompt",
      "id": "cfb303df-5fd2-4bb0-8b19-be24b0ed5893",
      "properties": {},
      "x": 1599,
      "y": 522,
      "width": 186,
      "height": 126,
      "collapsed": false,
      "inherited": false,
      "registry": "agents/visual/UnpackPrompt",
      "base_type": "core/Node"
    },
    "d47daf63-4f06-4bf8-85ae-724724ea8fc3": {
      "title": "Advanced Format",
      "id": "d47daf63-4f06-4bf8-85ae-724724ea8fc3",
      "properties": {
        "template": "### Positive\n{positive_prompt}\n\n### Negative\n{negative_prompt}"
      },
      "x": 1819,
      "y": 532,
      "width": 210,
      "height": 153,
      "collapsed": false,
      "inherited": false,
      "registry": "data/string/AdvancedFormat",
      "dynamic_inputs": [
        {
          "name": "item0",
          "type": "*"
        },
        {
          "name": "item1",
          "type": "*"
        }
      ],
      "base_type": "core/DynamicSocketNodeBase"
    },
    "8bb60cab-26a9-41b4-b68d-9b449620f00b": {
      "title": "Unpack Visual Generation Request",
      "id": "8bb60cab-26a9-41b4-b68d-9b449620f00b",
      "properties": {},
      "x": 1599,
      "y": 749,
      "width": 312,
      "height": 166,
      "collapsed": false,
      "inherited": false,
      "registry": "agents/visual/UnpackGenerationRequest",
      "base_type": "core/Node"
    },
    "1d7b5429-a969-4c23-95c1-0b86fff1e0f3": {
      "title": "data",
      "id": "1d7b5429-a969-4c23-95c1-0b86fff1e0f3",
      "properties": {
        "name": "data",
        "typ": "any"
      },
      "x": 30,
      "y": 379,
      "width": 210,
      "height": 82,
      "collapsed": false,
      "inherited": false,
      "registry": "core/functions/Argument",
      "base_type": "core/Node"
    },
    "d08da1d7-1353-41d2-8417-02dc4f05728c": {
      "title": "As Bool",
      "id": "d08da1d7-1353-41d2-8417-02dc4f05728c",
      "properties": {
        "default": false
      },
      "x": 738,
      "y": 838,
      "width": 210,
      "height": 58,
      "collapsed": false,
      "inherited": false,
      "registry": "core/AsBool",
      "base_type": "core/Node"
    },
    "8ac8ccaf-4ea9-416f-8a49-b00dc6892317": {
      "title": "Dict Set",
      "id": "8ac8ccaf-4ea9-416f-8a49-b00dc6892317",
      "properties": {
        "key": "cover_image_override"
      },
      "x": 1980,
      "y": 922,
      "width": 210,
      "height": 98,
      "collapsed": false,
      "inherited": false,
      "registry": "data/DictSet",
      "base_type": "core/Node"
    },
    "23d60621-2b0a-444b-bba7-96ffddceffed": {
      "title": "GET obj.set_cover_image",
      "id": "23d60621-2b0a-444b-bba7-96ffddceffed",
      "properties": {
        "attribute": "set_cover_image"
      },
      "x": 420,
      "y": 800,
      "width": 210,
      "height": 98,
      "collapsed": false,
      "inherited": false,
      "registry": "data/Get",
      "base_type": "core/Node"
    },
    "bdd13471-9bd3-46a7-83f9-5b97039a0463": {
      "title": "IS",
      "id": "bdd13471-9bd3-46a7-83f9-5b97039a0463",
      "properties": {
        "pass_through": true
      },
      "x": 1640,
      "y": 450,
      "width": 210,
      "height": 78,
      "collapsed": true,
      "inherited": false,
      "registry": "core/Switch",
      "base_type": "core/Node"
    },
    "d2bde569-e394-46b3-9d44-78791d423ce2": {
      "title": "Generate Visual Asset",
      "id": "d2bde569-e394-46b3-9d44-78791d423ce2",
      "properties": {},
      "x": 1277,
      "y": 292,
      "width": 262,
      "height": 189,
      "collapsed": false,
      "inherited": false,
      "registry": "agents/visual/generateVisualAsset",
      "base_type": "core/Graph"
    },
    "76766841-ce45-4ad3-9a18-f170d8446cb9": {
      "title": "Switch",
      "id": "76766841-ce45-4ad3-9a18-f170d8446cb9",
      "properties": {
        "pass_through": true
      },
      "x": 1340,
      "y": 640,
      "width": 210,
      "height": 78,
      "collapsed": false,
      "inherited": false,
      "registry": "core/Switch",
      "base_type": "core/Node"
    }
  },
  "edges": {
    "9a0254d7-00f3-4bce-81f3-51e6c16a2827.value": [
      "3b091600-7dce-472c-ad2c-fa3caade8cb0.value"
    ],
    "a06cbbb9-dc32-4806-ae04-ea6682cb5ca7.value": [
      "d2bde569-e394-46b3-9d44-78791d423ce2.instructions"
    ],
    "3b091600-7dce-472c-ad2c-fa3caade8cb0.value": [
      "d2bde569-e394-46b3-9d44-78791d423ce2.prompt_only"
    ],
    "150f45ad-d303-40ef-b1ed-1c2a68783cb1.value": [
      "d2bde569-e394-46b3-9d44-78791d423ce2.state"
    ],
    "006732ed-c87f-43db-8ec7-4043748466eb.value": [
      "7cb57057-5971-437b-a9ff-de9b8ef22209.state"
    ],
    "6ce2eb87-01df-499f-9d6b-afd54968686c.value": [
      "7cb57057-5971-437b-a9ff-de9b8ef22209.websocket_router"
    ],
    "04e1ce7f-b180-429d-b8a3-23c407c017e5.character": [
      "d2bde569-e394-46b3-9d44-78791d423ce2.character"
    ],
    "413f38cc-9ffb-4250-9af4-eae4993acd95.value": [
      "402aacb2-a347-477a-a358-53c095a459da.value"
    ],
    "402aacb2-a347-477a-a358-53c095a459da.yes": [
      "04e1ce7f-b180-429d-b8a3-23c407c017e5.value"
    ],
    "7b514d6c-d237-4abd-aac0-201e9d8c41f1.value": [
      "d2bde569-e394-46b3-9d44-78791d423ce2.vis_type"
    ],
    "3001b0db-42b4-4a10-b586-e29317d69c02.list": [
      "7b514d6c-d237-4abd-aac0-201e9d8c41f1.list"
    ],
    "f4d484b8-ecce-4af1-b569-c9b984e428af.value": [
      "e7f891ac-e0c8-4b5c-86d5-fd632d5a7101.value"
    ],
    "e7f891ac-e0c8-4b5c-86d5-fd632d5a7101.value": [
      "7b514d6c-d237-4abd-aac0-201e9d8c41f1.value"
    ],
    "cf4618c8-f944-4973-9681-778708dba637.value": [
      "f4d484b8-ecce-4af1-b569-c9b984e428af.object"
    ],
    "4b63c4d2-cb0d-4362-8fb7-702aa2d1cb5f.state": [
      "006732ed-c87f-43db-8ec7-4043748466eb.b"
    ],
    "b0ce0534-f61e-4ca2-8881-e70d9ecbcfbf.asset_id": [
      "fd7a5ad7-9238-4524-8be0-5af13d88b54f.value"
    ],
    "bba555fe-ddf6-4f5f-bf64-34dbcb4f1c06.fn": [
      "d2bde569-e394-46b3-9d44-78791d423ce2.callback"
    ],
    "fd7a5ad7-9238-4524-8be0-5af13d88b54f.value": [
      "20fd12dd-17d1-4b32-ba48-d85c993e976f.value"
    ],
    "20fd12dd-17d1-4b32-ba48-d85c993e976f.value": [
      "07e0139b-03ab-4a5a-aabe-7f49efa02f7e.nodes"
    ],
    "7c24ddca-ef20-4200-8ef4-17902e336736.value": [
      "b0ce0534-f61e-4ca2-8881-e70d9ecbcfbf.generation_response",
      "b0ce0534-f61e-4ca2-8881-e70d9ecbcfbf.state"
    ],
    "cfb303df-5fd2-4bb0-8b19-be24b0ed5893.positive_prompt": [
      "d47daf63-4f06-4bf8-85ae-724724ea8fc3.item0"
    ],
    "cfb303df-5fd2-4bb0-8b19-be24b0ed5893.negative_prompt": [
      "d47daf63-4f06-4bf8-85ae-724724ea8fc3.item1"
    ],
    "d47daf63-4f06-4bf8-85ae-724724ea8fc3.result": [
      "4b63c4d2-cb0d-4362-8fb7-702aa2d1cb5f.message"
    ],
    "8bb60cab-26a9-41b4-b68d-9b449620f00b.extra_config": [
      "8ac8ccaf-4ea9-416f-8a49-b00dc6892317.dict"
    ],
    "1d7b5429-a969-4c23-95c1-0b86fff1e0f3.value": [
      "9a0254d7-00f3-4bce-81f3-51e6c16a2827.object",
      "a06cbbb9-dc32-4806-ae04-ea6682cb5ca7.object",
      "413f38cc-9ffb-4250-9af4-eae4993acd95.object",
      "cf4618c8-f944-4973-9681-778708dba637.value",
      "23d60621-2b0a-444b-bba7-96ffddceffed.object"
    ],
    "d08da1d7-1353-41d2-8417-02dc4f05728c.value": [
      "8ac8ccaf-4ea9-416f-8a49-b00dc6892317.value"
    ],
    "23d60621-2b0a-444b-bba7-96ffddceffed.value": [
      "d08da1d7-1353-41d2-8417-02dc4f05728c.value"
    ],
    "bdd13471-9bd3-46a7-83f9-5b97039a0463.yes": [
      "4b63c4d2-cb0d-4362-8fb7-702aa2d1cb5f.state"
    ],
    "d2bde569-e394-46b3-9d44-78791d423ce2.state": [
      "006732ed-c87f-43db-8ec7-4043748466eb.a"
    ],
    "d2bde569-e394-46b3-9d44-78791d423ce2.prompt_only": [
      "bdd13471-9bd3-46a7-83f9-5b97039a0463.value"
    ],
    "d2bde569-e394-46b3-9d44-78791d423ce2.visual_prompt": [
      "cfb303df-5fd2-4bb0-8b19-be24b0ed5893.prompt"
    ],
    "d2bde569-e394-46b3-9d44-78791d423ce2.generation_request": [
      "76766841-ce45-4ad3-9a18-f170d8446cb9.value"
    ],
    "76766841-ce45-4ad3-9a18-f170d8446cb9.yes": [
      "8bb60cab-26a9-41b4-b68d-9b449620f00b.generation_request"
    ]
  },
  "groups": [
    {
      "title": "Process",
      "x": 4,
      "y": -3,
      "width": 2984,
      "height": 1098,
      "color": "#3f789e",
      "font_size": 24,
      "inherited": false
    },
    {
      "title": "Function - set_cover_image",
      "x": 3,
      "y": 1103,
      "width": 1280,
      "height": 188,
      "color": "#b06634",
      "font_size": 24,
      "inherited": false
    }
  ],
  "comments": [
    {
      "text": "we indicate we want to set the cover image (scene or character) regardless of whether they have a cover image set already",
      "x": 1982,
      "y": 740,
      "width": 200,
      "inherited": false
    }
  ],
  "extends": null,
  "base_type": "agents/AgentWebsocketHandler",
  "inputs": [],
  "outputs": [
    {
      "id": "78cdc3e2-f4fa-48fd-8f05-d6deb9043416",
      "name": "fn",
      "optional": false,
      "group": null,
      "socket_type": "function"
    }
  ],
  "module_properties": {},
  "style": {
    "title_color": "#573a2e",
    "node_color": "#392f2c",
    "icon": "F0295",
    "auto_title": null,
    "counterpart": null
  }
}