comfyui-mcp 0.25.1 → 0.25.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -648,6 +648,39 @@ per-harness setup, troubleshooting:
648
648
  | `setup <agent>` | | | Write the comfyui entry into hermes / openclaw / copilot config, then exit |
649
649
  | `--compact` / `--tool-mode compact` | `COMFYUI_MCP_TOOL_MODE=compact` | `full` | Register 3 meta-tools instead of the full ~200-schema surface |
650
650
 
651
+ ### Other agents & local LLMs (Hermes, OpenClaw, Copilot CLI, Ollama)
652
+
653
+ comfyui-mcp has **first-class support for non-Claude harnesses**. One command
654
+ writes the server entry into the harness's own config (merging, not
655
+ clobbering):
656
+
657
+ ```bash
658
+ npx -y comfyui-mcp setup hermes # → ~/.hermes/config.yaml (compact by default)
659
+ npx -y comfyui-mcp setup openclaw # → ~/.openclaw/openclaw.json (compact by default)
660
+ npx -y comfyui-mcp setup copilot # → ~/.copilot/mcp-config.json (full by default)
661
+ # flags: --compact | --full, --comfyui-url <url>, --dry-run
662
+ ```
663
+
664
+ **Model requirements**: tool calling is a hard requirement (no tool calling =
665
+ doesn't work). Thinking and vision are strongly recommended — without
666
+ thinking, multi-step tool chains degrade; without vision the agent can
667
+ generate but can't see its own outputs.
668
+
669
+ For small/local models, **compact tool mode** (`--compact` /
670
+ `COMFYUI_MCP_TOOL_MODE=compact`) registers 3 meta-tools
671
+ (`list_tools` → `describe_tool` → `call_tool`) instead of the full ~200-schema
672
+ surface, pulling schemas into context one tool at a time. Validated
673
+ end-to-end via Ollama with `gemma4:e4b`, `gemma4:e2b`, and `qwen3:4b`
674
+ (`npm run test:local-llm`); gemma3 has no native tool calling and is
675
+ unsupported. Full guide — hosted-model guidance (DeepSeek/MiMo/GLM class),
676
+ per-harness setup, troubleshooting:
677
+ **[Local LLMs & other agents](https://comfyui-mcp.artokun.io/docs/local-llms)**.
678
+
679
+ | Flag | Env | Default | Description |
680
+ |------|-----|---------|-------------|
681
+ | `setup <agent>` | | | Write the comfyui entry into hermes / openclaw / copilot config, then exit |
682
+ | `--compact` / `--tool-mode compact` | `COMFYUI_MCP_TOOL_MODE=compact` | `full` | Register 3 meta-tools instead of the full ~200-schema surface |
683
+
651
684
  ### Remote ComfyUI
652
685
 
653
686
  Point the server at a ComfyUI running anywhere — no local install required:
@@ -361,10 +361,11 @@ function isGeminiModel(id) {
361
361
  }
362
362
  /**
363
363
  * Convert our MCP server specs into the ACP `session/new` `mcpServers` array.
364
- * ACP stdio McpServer: { name, command, args, env:[{name,value}] }. The HTTP
365
- * variant ({ type:"http", name, url }) is the closest faithful mapping to the ACP
366
- * spec's HTTP transport (gated by the agent's mcpCapabilities.http) FLAGGED as
367
- * unverified against the live gemini CLI. Empty env is the required `[]`.
364
+ * ACP stdio McpServer: { name, command, args, env:[{name,value}] }. Streamable
365
+ * HTTP MCP rides the SSE variant ({ type:"sse", name, url, headers:[] }) the
366
+ * live Gemini (and Grok) CLIs reject { type:"http" } with Invalid params on the
367
+ * FIRST user message, after a successful connect ack, so the old "http" mapping
368
+ * made a panel-MCP-attached tab look connected but fail on first use.
368
369
  */
369
370
  export function buildAcpMcpServers(servers) {
370
371
  const out = [];
@@ -378,8 +379,7 @@ export function buildAcpMcpServers(servers) {
378
379
  });
379
380
  }
380
381
  else {
381
- // ASSUMPTION (unverified w/o live CLI): ACP HTTP McpServer variant.
382
- out.push({ type: "http", name, url: spec.url });
382
+ out.push({ type: "sse", name, url: spec.url, headers: [] });
383
383
  }
384
384
  }
385
385
  return out;
@@ -1 +1 @@
1
- {"version":3,"file":"gemini-backend.js","sourceRoot":"","sources":["../../src/orchestrator/gemini-backend.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,6EAA6E;AAC7E,gFAAgF;AAChF,0EAA0E;AAC1E,sEAAsE;AACtE,4EAA4E;AAC5E,wEAAwE;AACxE,EAAE;AACF,iFAAiF;AACjF,kDAAkD;AAClD,oDAAoD;AACpD,0CAA0C;AAC1C,EAAE;AACF,0EAA0E;AAC1E,oCAAoC;AACpC,0EAA0E;AAC1E,uFAAuF;AACvF,sFAAsF;AACtF,iFAAiF;AACjF,gFAAgF;AAChF,iFAAiF;AACjF,gFAAgF;AAChF,2FAA2F;AAC3F,0DAA0D;AAC1D,2FAA2F;AAC3F,mFAAmF;AACnF,kFAAkF;AAClF,oFAAoF;AACpF,oFAAoF;AACpF,0FAA0F;AAC1F,+EAA+E;AAC/E,oDAAoD;AACpD,yEAAyE;AACzE,iFAAiF;AACjF,kFAAkF;AAClF,uEAAuE;AACvE,qFAAqF;AACrF,sFAAsF;AACtF,iFAAiF;AACjF,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,iFAAiF;AACjF,gFAAgF;AAChF,iFAAiF;AACjF,+EAA+E;AAC/E,wDAAwD;AACxD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,+EAA+E;AAC/E,6EAA6E;AAC7E,sEAAsE;AACtE,EAAE;AACF,iFAAiF;AACjF,yEAAyE;AACzE,yEAAyE;AACzE,iFAAiF;AACjF,yEAAyE;AACzE,uBAAuB;AAEvB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAuC,MAAM,oBAAoB,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAML,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAG5B,SAAS,KAAK,CAAC,GAAY;IACzB,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,eAAe,CAAC,GAAuB;IAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO;IAClC,MAAM,CAAC,GAAG,GAAa,CAAC;IACxB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,SAAS,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,eAAe;YACjB,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,6CAA6C;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;AACH,CAAC;AAoBD;6EAC6E;AAC7E,MAAM,QAAS,SAAQ,KAAK;IAC1B,IAAI,CAAU;IACd,IAAI,CAAW;IACf,YAAY,OAAe,EAAE,IAAa,EAAE,IAAc;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,SAAS;IAqBM;IACA;IACA;IACA;IACA;IAxBX,IAAI,GAA0C,IAAI,CAAC;IACnD,EAAE,GAA8B,IAAI,CAAC;IACrC,OAAO,GAAG,IAAI,GAAG,EAGtB,CAAC;IACI,MAAM,GAAG,CAAC,CAAC;IACX,MAAM,GAAG,KAAK,CAAC;IACf,YAAY,GAAG,KAAK,CAAC;IAC7B,+DAA+D;IAC/D,SAAS,GAAiB,IAAI,CAAC;IAC/B,MAAM,GAAG,EAAE,CAAC;IACZ,mBAAmB,GAA+B,IAAI,CAAC;IAC/C,WAAW,CAAc;IACjC;;iDAE6C;IACpC,WAAW,CAAgB;IAEpC,YACmB,GAAW,EACX,IAAc,EACd,GAAW,EACX,GAAsB,EACtB,QAAiB;QAJjB,QAAG,GAAH,GAAG,CAAQ;QACX,SAAI,GAAJ,IAAI,CAAU;QACd,QAAG,GAAH,GAAG,CAAQ;QACX,QAAG,GAAH,GAAG,CAAmB;QACtB,aAAQ,GAAR,QAAQ,CAAS;QAElC,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC/C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;uEAGmE;IACnE,KAAK,CAAC,UAAU,CAAC,UAIhB;QACC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE;YACrC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,WAAW,EAAE,IAAI;YACjB,KAAK,EAAE,IAAI,CAAC,QAAQ;YACpB,uEAAuE;YACvE,yDAAyD;YACzD,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;SACvC,CAAmC,CAAC;QAErC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAC5C,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,+EAA+E;QAC/E,8EAA8E;QAC9E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACpC,MAAM,MAAM,GACV,IAAI,KAAK,CAAC;gBACR,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,KAAK,CACP,qCAAqC,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACvK,CAAC;YACR,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpD,8EAA8E;QAC9E,8EAA8E;QAC9E,oEAAoE;QACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAsB,YAAY,EAAE;YACnE,eAAe,EAAE,CAAC;YAClB,kBAAkB,EAAE;gBAClB,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;gBACjD,QAAQ,EAAE,KAAK;aAChB;YACD,UAAU;SACX,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,CAAc,MAAc,EAAE,MAAe;QAClD,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACpF,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAA+B,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,SAAkB,EAAE;QACzC,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,gFAAgF;QAChF,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;QACtE,CAAC;IACH,CAAC;IAEO,IAAI,CAAC,OAAmB;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QAC/B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC;YACrF,MAAM,IAAI,CAAC,SAAS,IAAI,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC5E,CAAC;QACD,6EAA6E;QAC7E,MAAM,MAAM,GAAe,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC;QAC1D,IAAI,CAAC;YACH,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrE,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,iBAAiB,CAAC,GAAe;QACvC,IAAI,GAAG,CAAC,MAAM,KAAK,4BAA4B;YAAE,OAAO,IAAI,CAAC;QAC7D,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAA8D,CAAC;QAC/F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,GACR,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC;YAC5C,2DAA2D;YAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;QACtF,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;YACnB,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACvE,CAAC;QACD,sEAAsE;QACtE,OAAO,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,CAAC;IAC/C,CAAC;IAEO,UAAU,CAAC,IAAY;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAAE,OAAO;QACzB,IAAI,OAAmB,CAAC;QACxB,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAe,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,uCAAuC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAClF,OAAO;QACT,CAAC;QACD,8EAA8E;QAC9E,8EAA8E;QAC9E,kEAAkE;QAClE,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,kDAAkD,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACjF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CACV,+CAA+C,OAAO,CAAC,MAAM,8BAA8B,CAC5F,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC;oBACR,EAAE,EAAE,OAAO,CAAC,EAAE;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,+BAA+B,OAAO,CAAC,MAAM,EAAE,EAAE;iBAClF,CAAC,CAAC;YACL,CAAC;YACD,OAAO;QACT,CAAC;QACD,mCAAmC;QACnC,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAY,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC;gBAAE,OAAO;YACf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAY,CAAC,CAAC;YAC1C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,CAAC,CAAC,MAAM,CACN,IAAI,QAAQ,CACV,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,UAAU,EAC3D,OAAO,CAAC,KAAK,CAAC,IAAI,EAClB,OAAO,CAAC,KAAK,CAAC,IAAI,CACnB,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAClC,CAAC;YACD,OAAO;QACT,CAAC;QACD,gBAAgB;QAChB,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAEO,UAAU,CAAC,KAAmB;QACpC,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACnC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,WAAW,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QACjB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACf,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,eAAe;YACjB,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,2EAA2E;YAC3E,4EAA4E;YAC5E,sEAAsE;YACtE,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;oBAAE,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxD,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAqBD,0BAA0B;AAC1B,gFAAgF;AAChF,gFAAgF;AAChF,+EAA+E;AAC/E,kFAAkF;AAClF,iFAAiF;AACjF,0CAA0C;AAC1C,MAAM,aAAa,GAAkB;IACnC,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACjD,EAAE,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;CACtD,CAAC;AACF,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAE9C;;gEAEgE;AAChE,SAAS,aAAa,CAAC,EAAU;IAC/B,OAAO,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AACjF,CAAC;AAUD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAA4C;IAE5C,MAAM,GAAG,GAAmC,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC;gBACP,IAAI;gBACJ,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;gBACrB,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;aAC7E,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,oEAAoE;YACpE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AA2BD;;;GAGG;AACH,MAAM,OAAO,aAAa;IACf,EAAE,GAAG,QAAiB,CAAC;IACvB,YAAY,GAAG,mBAAmB,CAAC;IACpC,IAAI,CAAoB;IACxB,MAAM,GAAqB,IAAI,CAAC;IACxC;iEAC6D;IACrD,eAAe,GAAqB,IAAI,CAAC;IACjD;wDACoD;IAC5C,QAAQ,GAAG,KAAK,CAAC;IACzB,mEAAmE;IAC3D,SAAS,GAA8D,IAAI,CAAC;IACpF,0EAA0E;IAClE,SAAS,GAAkB,IAAI,CAAC;IACxC,2EAA2E;IACnE,KAAK,CAAqB;IAClC;;6EAEyE;IACjE,YAAY,CAAqB;IACzC,oFAAoF;IAC5E,SAAS,GAA6C,SAAS,CAAC;IAChE,WAAW,GAAoB,EAAE,CAAC;IAC1C;iDAC6C;IACrC,mBAAmB,GAAG,KAAK,CAAC;IAEpC,YAAY,OAA0B,EAAE;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACK,YAAY;QAClB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1C,IAAI,GAAG,GAAkB,IAAI,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;YACnE,MAAM,GAAG,GAAG,OAAO,CAAC,iCAAiC,CAEpD,CAAC;YACF,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;YACvE,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;gBAChD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;gBAC1D,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;YAC3D,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;QAC1D,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,6EAA6E;QAC7E,+EAA+E;QAC/E,4EAA4E;QAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAa,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;QACrF,MAAM,QAAQ,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,eAAe,CAAC,GAAa;QACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,QAAQ;YAAE,OAAO,IAAI,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjD,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;YAChD,IAAI,GAAG,CAAC,SAAS;gBAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,GAAG,CAAC,EAAE;gBAAE,OAAO,IAAI,CAAC;YACzB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpF,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACzE,EAAE,GAAG,WAAW,CAAC,CAAC,qCAAqC;YACzD,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YACjD,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI;gBAAE,OAAO,IAAI,CAAC,CAAC,yCAAyC;YACzF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACpE,yEAAyE;QACzE,uCAAuC;QACvC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;QAC9B,MAAM,eAAe,GAAG,KAAK,IAAmB,EAAE;YAChD,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC3B,IAAI,IAAI,CAAC,eAAe,KAAK,MAAM;gBAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YACjE,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC,CAAC;QACF,IAAI,CAAC;YACH,IAAI,IAAyB,CAAC;YAC9B,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;oBAC7B,IAAI,EAAE,aAAa;oBACnB,KAAK,EAAE,mBAAmB;oBAC1B,OAAO,EAAE,QAAQ;iBAClB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACrC,MAAM,IAAI,KAAK,CACb,4LAA4L,KAAK,CAAC,GAAG,CAAC,EAAE,CACzM,CAAC;YACJ,CAAC;YACD,MAAM,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,6EAA6E;YAC7E,8EAA8E;YAC9E,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;YAC/B,MAAM,CAAC,IAAI,CACT,wCAAwC,IAAI,CAAC,eAAe,IAAI,GAAG,WAAW,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,CACjM,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,eAAe,KAAK,MAAM;gBAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QACnE,CAAC;IACH,CAAC;IAED;;;;sBAIkB;IACV,KAAK,CAAC,aAAa,CAAC,MAAiB,EAAE,GAAW,EAAE,QAAuB;QACjF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,KAAK,IAAI,CAAC;QACrD,+EAA+E;QAC/E,2EAA2E;QAC3E,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC/E,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;gBAC1B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,CAAC,uDAAuD;gBACzF,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,yCAAyC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;QACD,6CAA6C;QAC7C,MAAM,SAAS,GAAG,KAAK,IAAqB,EAAE;YAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAyB,aAAa,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;YAC7F,IAAI,CAAC,GAAG,EAAE,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACxF,OAAO,GAAG,CAAC,SAAS,CAAC;QACvB,CAAC,CAAC;QACF,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,MAAM,SAAS,EAAE,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;gBACxD,0EAA0E;gBAC1E,sEAAsE;gBACtE,IAAI,CAAC;oBACH,MAAM,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC3E,IAAI,CAAC,SAAS,GAAG,MAAM,SAAS,EAAE,CAAC;gBACrC,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,wCAAwC;QAC7F,OAAO,IAAI,CAAC,SAAU,CAAC;IACzB,CAAC;IAED;6EACyE;IACjE,cAAc,CAAC,GAAY;QACjC,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAuC,CAAC;YACzD,IAAI,IAAI,EAAE,MAAM,KAAK,eAAe;gBAAE,OAAO,IAAI,CAAC;QACpD,CAAC;QACD,OAAO,sDAAsD,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,CAAC,GAAG,CAAC,IAAyB;QAClC,gFAAgF;QAChF,gFAAgF;QAChF,+EAA+E;QAC/E,gFAAgF;QAChF,4EAA4E;QAC5E,8EAA8E;QAC9E,mEAAmE;QACnE,IAAI,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAErE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAEvD,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;QACvD,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAErE,wEAAwE;QACxE,MAAM;YACJ,IAAI,EAAE,SAAS;YACf,SAAS;YACT,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7C,CAAC;QAEF,kDAAkD;QAClD,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACtC,0EAA0E;YAC1E,0EAA0E;YAC1E,6EAA6E;YAC7E,2EAA2E;YAC3E,4EAA4E;YAC5E,mEAAmE;YACnE,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACnC,IAAI,CAAC,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBACjE,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC7D,MAAM;oBACJ,IAAI,EAAE,SAAS;oBACf,SAAS;oBACT,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7C,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED;;;8DAG0D;IAClD,KAAK,CAAC,qBAAqB;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,GAAG,EAAE,CAAC;YACR,GAAG,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAC/B,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,0DAA0D;QACjF,MAAM,CAAC,IAAI,CAAC,wEAAwE,IAAI,CAAC,KAAK,IAAI,WAAW,EAAE,CAAC,CAAC;QACjH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,+CAA+C;IACvE,CAAC;IAED;;;;kFAI8E;IACtE,KAAK,CAAC,CAAC,OAAO,CACpB,MAAiB,EACjB,IAAiB,EACjB,UAAuB;QAEvB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAU,CAAC;QAClC,8EAA8E;QAC9E,wDAAwD;QACxD,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,IAAI,IAAI,GAAwB,IAAI,CAAC;QACrC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,MAAM,IAAI,GAAG,CAAC,EAAc,EAAE,EAAE;YAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,IAAI,EAAE,EAAE,CAAC;YACT,IAAI,GAAG,IAAI,CAAC;QACd,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,GAAG,EAAE;YAClB,IAAI,GAAG,IAAI,CAAC;YACZ,IAAI,EAAE,EAAE,CAAC;YACT,IAAI,GAAG,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,gFAAgF;QAChF,+EAA+E;QAC/E,gFAAgF;QAChF,gFAAgF;QAChF,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,SAAS,GAAkB,IAAI,CAAC;QAEpC,6EAA6E;QAC7E,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,UAAU,GAA+B,IAAI,CAAC;QAClD,MAAM,UAAU,GAAG,CAAC,EAAiB,EAAE,IAAyB,EAAE,EAAE;YAClE,IAAI,UAAU,IAAI,UAAU,KAAK,IAAI;gBAAE,OAAO;YAC9C,IAAI,UAAU;gBAAE,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,mCAAmC;YACjF,UAAU,GAAG,IAAI,CAAC;YAClB,UAAU,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC;QACF,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC7B,UAAU,GAAG,KAAK,CAAC;gBACnB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC,CAAC;QAEF,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,6EAA6E;QAC7E,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,EAAE;YAC5C,IAAI,cAAc;gBAAE,OAAO;YAC3B,cAAc,GAAG,IAAI,CAAC;YACtB,WAAW,EAAE,CAAC;YACd,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACjC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YACtD,MAAM,EAAE,CAAC;QACX,CAAC,CAAC;QAEF,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,4EAA4E;QAC5E,4EAA4E;QAC5E,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE5C,wEAAwE;QACxE,MAAM,KAAK,GAAG,CAAC,GAAe,EAAE,EAAE;YAChC,IAAI,cAAc;gBAAE,OAAO;YAC3B,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAA4B,CAAC;YAC7D,8BAA8B;YAC9B,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;gBAAE,OAAO;YAC/D,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAA4B,CAAC;YAChE,MAAM,IAAI,GAAG,MAAM,CAAC,aAAmC,CAAC;YACxD,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,qBAAqB,CAAC,CAAC,CAAC;oBAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAuD,CAAC;oBAC/E,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;oBACjE,MAAM,EAAE,GAAI,MAAM,CAAC,SAAgC,IAAI,IAAI,CAAC;oBAC5D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,EAAE,CAAC;wBACrC,IAAI,EAAE;4BAAE,SAAS,GAAG,EAAE,CAAC;wBACvB,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;wBAC9B,aAAa,IAAI,IAAI,CAAC;wBACtB,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC1C,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;oBAC3B,0EAA0E;oBAC1E,qEAAqE;oBACrE,gDAAgD;oBAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAuD,CAAC;oBAC/E,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;oBACjE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,EAAE,CAAC;wBACrC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;wBAClC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC1D,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,0EAA0E;oBAC1E,MAAM,EAAE,GAAG,MAAM,CAAC,UAAgC,CAAC;oBACnD,MAAM,IAAI,GACP,MAAM,CAAC,KAA4B;wBACnC,MAAM,CAAC,IAA2B;wBACnC,EAAE;wBACF,MAAM,CAAC;oBACT,IAAI,EAAE;wBAAE,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;oBAChC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;oBAClE,MAAM;gBACR,CAAC;gBACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;oBACxB,sEAAsE;oBACtE,kEAAkE;oBAClE,mEAAmE;oBACnE,2EAA2E;oBAC3E,MAAM,MAAM,GAAG,MAAM,CAAC,MAA4B,CAAC;oBACnD,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;wBAClD,MAAM,EAAE,GAAG,MAAM,CAAC,UAAgC,CAAC;wBACnD,MAAM,IAAI,GACP,MAAM,CAAC,KAA4B;4BACpC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;4BACnC,MAAM,CAAC,IAA2B;4BACnC,EAAE;4BACF,MAAM,CAAC;wBACT,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;oBAClE,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,+EAA+E;gBAC/E,0EAA0E;gBAC1E;oBACE,MAAM;YACV,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACxC,MAAM,CAAC,mBAAmB,GAAG,CAAC,GAAe,EAAE,EAAE;YAC/C,6EAA6E;YAC7E,4EAA4E;YAC5E,mEAAmE;YACnE,sEAAsE;YACtE,uDAAuD;YACvD,IAAI,CAAC;gBACH,UAAU,EAAE,EAAE,CAAC;YACjB,CAAC;YAAC,MAAM,CAAC;gBACP,uDAAuD;YACzD,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,KAAK,gBAAgB;gBAAE,KAAK,CAAC,GAAG,CAAC,CAAC;;gBAC3C,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,+CAA+C;QACnE,CAAC,CAAC;QAEF,6EAA6E;QAC7E,8EAA8E;QAC9E,gFAAgF;QAChF,KAAK,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE;YAChC,IAAI,IAAI;gBAAE,OAAO;YACjB,iBAAiB,CACf,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAC/E,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,8EAA8E;QAC9E,4EAA4E;QAC5E,wEAAwE;QACxE,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvD,QAAQ;gBACN,aAAa,IAAI,CAAC,IAAI,CAAC,YAAY,iBAAiB;oBACpD,wCAAwC,IAAI,CAAC,IAAI,EAAE,CAAC;YACtD,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACnC,CAAC;QAED,0EAA0E;QAC1E,0EAA0E;QAC1E,8EAA8E;QAC9E,kDAAkD;QAClD,MAAM,MAAM,GAAmC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClF,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,kBAAkB,EAAE,KAAK,KAAK,KAAK,CAAC;QAC1E,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAC9C,IAAI,KAAK;oBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,2EAA2E;YAC3E,MAAM;iBACH,OAAO,CAA0B,gBAAgB,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;iBACzE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBACZ,IAAI,cAAc;oBAAE,OAAO;gBAC3B,cAAc,GAAG,IAAI,CAAC;gBACtB,WAAW,EAAE,CAAC;gBACd,MAAM,IAAI,GAAG,GAAG,EAAE,UAAU,CAAC;gBAC7B,sEAAsE;gBACtE,wEAAwE;gBACxE,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;gBAClC,IAAI,IAAI;oBAAE,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACrF,2EAA2E;gBAC3E,6CAA6C;gBAC7C,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,SAAS,CAAC;gBAChE,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACjE,MAAM,EAAE,CAAC;YACX,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,yEAAyE;gBACzE,wEAAwE;gBACxE,uEAAuE;gBACvE,uEAAuE;gBACvE,IAAI,WAAW;oBAAE,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;;oBAC1D,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEL,oDAAoD;YACpD,OAAO,IAAI,EAAE,CAAC;gBACZ,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;oBACpB,MAAM,KAAK,CAAC,KAAK,EAAG,CAAC;gBACvB,CAAC;gBACD,IAAI,IAAI;oBAAE,MAAM;gBAChB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAClC,IAAI,GAAG,OAAO,CAAC;gBACjB,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAC,MAAM;gBAAE,MAAM,KAAK,CAAC,KAAK,EAAG,CAAC;QAC5C,CAAC;gBAAS,CAAC;YACT,yEAAyE;YACzE,wBAAwB;YACxB,WAAW,GAAG,IAAI,CAAC;YACnB,6EAA6E;YAC7E,4EAA4E;YAC5E,IAAI,MAAM,CAAC,mBAAmB,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,MAAM,CAAC,mBAAmB,GAAG,IAAI,IAAI,IAAI,CAAC;QACjG,CAAC;IACH,CAAC;IAED;;wFAEoF;IACpF,KAAK,CAAC,SAAS;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QACvC,IAAI,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,+BAA+B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED;;;;;;sFAMkF;IAClF,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YAAE,OAAO;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,gDAAgD;IACzE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU;QACd,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;mFAG+E;IAC/E,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,uDAAuD;QAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAClC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,SAAS,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACtC,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC;YACrC,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;CACF;AAED,oFAAoF;AACpF,6CAA6C;AAC7C,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"gemini-backend.js","sourceRoot":"","sources":["../../src/orchestrator/gemini-backend.ts"],"names":[],"mappings":"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"}
@@ -235,13 +235,13 @@ export function registerWorkflowLibraryTools(server) {
235
235
  return errorToToolResult(err);
236
236
  }
237
237
  });
238
- server.tool("save_workflow", "Save a workflow JSON to the connected ComfyUI server's user library so it appears in the ComfyUI web UI. Requires a running ComfyUI server; this writes to that server's userdata and overwrites any existing file with the same filename without confirmation. Accepts API-format or UI-format JSON. Returns a confirmation message, or the HTTP status and error text on failure.", {
238
+ server.tool("save_workflow", "Save a workflow JSON to the connected ComfyUI server's user library so it appears in the ComfyUI web UI. Requires a running ComfyUI server; this writes to that server's userdata and overwrites any existing file with the same filename without confirmation. IMPORTANT: pass Web-UI-format JSON ({ nodes: [], links: [] }) so the saved workflow opens and edits in the ComfyUI canvas — when re-saving an existing workflow, load it with get_workflow format='ui' and modify THAT. API-format graphs are accepted and stored verbatim, but the canvas CANNOT open them (users see a broken/blank load), so only save API format for headless re-queueing. Returns a confirmation message (with a warning when the input was API format), or the HTTP status and error text on failure.", {
239
239
  filename: z
240
240
  .string()
241
241
  .describe("Filename to save as (e.g. 'my_workflow.json'). Will overwrite if it already exists."),
242
242
  workflow: z
243
243
  .record(z.string(), z.any())
244
- .describe("Workflow JSON to save (API or UI format). Stored verbatim; not validated before saving."),
244
+ .describe("Workflow JSON to save. Prefer Web UI format ({ nodes: [], links: [] }) so it stays editable in ComfyUI's canvas; API format is accepted but the frontend cannot open it. Stored verbatim; not validated before saving."),
245
245
  }, async (args) => {
246
246
  try {
247
247
  const client = getClient();
@@ -262,11 +262,21 @@ export function registerWorkflowLibraryTools(server) {
262
262
  ],
263
263
  };
264
264
  }
265
+ // API-format saves are legal (headless re-queue) but the canvas can't
266
+ // open them — the #1 way agents strand users with workflows that "exist"
267
+ // in the library yet load blank, so they keep creating new ones instead
268
+ // of navigating back. Warn loudly until auto-conversion ships.
269
+ const apiFormatWarning = isUiFormat(args.workflow)
270
+ ? ""
271
+ : `\n\n⚠️ This was saved in API format — the ComfyUI canvas CANNOT open or edit it. ` +
272
+ `If this workflow is meant to be reopened in the UI, rebuild it in Web UI format ` +
273
+ `({ nodes: [], links: [] }) — e.g. load the on-canvas graph or an existing file via ` +
274
+ `get_workflow format="ui", apply your changes to that, and save again.`;
265
275
  return {
266
276
  content: [
267
277
  {
268
278
  type: "text",
269
- text: `Workflow saved as "${args.filename}" in the ComfyUI user library.`,
279
+ text: `Workflow saved as "${args.filename}" in the ComfyUI user library.${apiFormatWarning}`,
270
280
  },
271
281
  ],
272
282
  };
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-library.js","sourceRoot":"","sources":["../../src/tools/workflow-library.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-library.js","sourceRoot":"","sources":["../../src/tools/workflow-library.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,gXAAgX,EAChX,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAa,CAAC;YAE7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;iBAC/D,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,KAAK;iBACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;iBAC/B,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,SAAS,KAAK,CAAC,MAAM,kBAAkB,IAAI,EAAE;qBACpD;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,iDAAiD;QAC/C,iJAAiJ;QACjJ,8GAA8G,EAChH;QACE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CACP,yFAAyF,CAC1F;QACH,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACnB,QAAQ,EAAE;aACV,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CACP,kFAAkF;YAChF,sFAAsF;YACtF,wEAAwE,CAC3E;KACJ,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;YAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAC/B,iBAAiB,OAAO,EAAE,CAC3B,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,uBAAuB,QAAQ,KAAK,GAAG,CAAC,MAAM,GAAG;yBACxD;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAE7B,gEAAgE;YAChE,IAAI,MAAM,KAAK,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE,CAAC;gBACnC,+DAA+D;gBAC/D,uEAAuE;gBACvE,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;gBAE/D,MAAM,OAAO,GAA0C,EAAE,CAAC;gBAC1D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0BAA0B,QAAQ,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBACnG,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACxC,CAAC,CAAC;gBACH,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;qBACnC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,mFAAmF;QACjF,sGAAsG;QACtG,8FAA8F;QAC9F,uFAAuF;QACvF,+FAA+F;QAC/F,uGAAuG,EACzG;QACE,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,8DAA8D;YAC5D,kIAAkI,CACrI;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,+EAA+E,CAAC;QAC5F,KAAK,EAAE,CAAC;aACL,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;aAC3B,QAAQ,EAAE;aACV,QAAQ,CAAC,qEAAqE,CAAC;QAClF,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aACpB,QAAQ,EAAE;aACV,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,4FAA4F,CAAC;KAC1G,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC;YACzE,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,eAAe,CAAC,mDAAmD,CAAC,CAAC;YACjF,CAAC;YAED,8DAA8D;YAC9D,IAAI,GAAQ,CAAC;YACb,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,GAAG,KAAK,CAAC;YACd,CAAC;iBAAM,IAAI,IAAI,EAAE,CAAC;gBAChB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;gBAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;gBAC9D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACZ,MAAM,IAAI,eAAe,CAAC,kCAAkC,QAAQ,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1F,CAAC;gBACD,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC;YAED,IAAI,MAAM,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7E,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;YACzE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAE/D,MAAM,IAAI,GAA2B,EAAE,CAAC;YACxC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3C,MAAM,CAAC,GAAI,IAAgC,CAAC,UAAU,IAAI,GAAG,CAAC;gBAC9D,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;iBACjC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC3B,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;iBAC7B,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EACF,eAAe,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,QAAQ;4BACnD,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC3D,iBAAiB,OAAO,EAAE;4BAC1B,CAAC,QAAQ,CAAC,MAAM;gCACd,CAAC,CAAC,gBAAgB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gCAC5D,CAAC,CAAC,EAAE,CAAC;qBACV;oBACD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBAC1D;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,qFAAqF;QACnF,sGAAsG;QACtG,qGAAqG;QACrG,uGAAuG;QACvG,mGAAmG;QACnG,+FAA+F;QAC/F,8EAA8E,EAChF;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;QAChG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;QAC9F,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC3F,MAAM,EAAE,CAAC;aACN,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aACxC,QAAQ,CACP,8FAA8F;YAC5F,yGAAyG,CAC5G;KACJ,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC;YACzE,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,eAAe,CAAC,mDAAmD,CAAC,CAAC;YACjF,CAAC;YAED,8DAA8D;YAC9D,IAAI,GAAQ,CAAC;YACb,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,GAAG,KAAK,CAAC;YACd,CAAC;iBAAM,IAAI,IAAI,EAAE,CAAC;gBAChB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;gBAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;gBAC9D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACZ,MAAM,IAAI,eAAe,CAAC,kCAAkC,QAAQ,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1F,CAAC;gBACD,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACzB,CAAC;YAED,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7E,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAE1D,MAAM,KAAK,GACT,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU;gBAChC,CAAC,CAAC,kBAAkB,KAAK,CAAC,QAAQ,gBAAgB,KAAK,CAAC,UAAU,EAAE;gBACpE,CAAC,CAAC,EAAE,CAAC;YACT,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EACF,UAAU,KAAK,CAAC,KAAK,uBAAuB,KAAK,CAAC,UAAU,MAAM,KAAK,CAAC,KAAK,UAAU;4BACvF,GAAG,KAAK,CAAC,SAAS,4BAA4B,KAAK,CAAC,KAAK,GAAG,KAAK,EAAE;qBACtE;oBACD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;iBAC1D;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf,6vBAA6vB,EAC7vB;QACE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CACP,qFAAqF,CACtF;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;aAC3B,QAAQ,CAAC,wNAAwN,CAAC;KACtO,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE3C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAC/B,iBAAiB,OAAO,EAAE,EAC1B;gBACE,MAAM,EAAE,MAAM;gBACd,IAAI;aACL,CACF,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBACjD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,4BAA4B,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;yBACjG;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,sEAAsE;YACtE,yEAAyE;YACzE,wEAAwE;YACxE,+DAA+D;YAC/D,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAChD,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,mFAAmF;oBACnF,kFAAkF;oBAClF,qFAAqF;oBACrF,uEAAuE,CAAC;YAC5E,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,sBAAsB,IAAI,CAAC,QAAQ,iCAAiC,gBAAgB,EAAE;qBAC7F;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,uDAAuD;IACvD,KAAK,UAAU,eAAe,CAAC,QAAgB;QAC7C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;QAE9D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,eAAe,CAAC,uBAAuB,QAAQ,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,aAAa,EAAE,CAAC;QAEzC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACzC,CAAC;QAED,qBAAqB;QACrB,OAAO,EAAE,QAAQ,EAAE,GAAmB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACzD,CAAC;IAED,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,iGAAiG;QAC/F,uFAAuF;QACvF,4EAA4E;QAC5E,qGAAqG,EACvG;QACE,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CACP,8FAA8F,CAC/F;QACH,IAAI,EAAE,CAAC;aACJ,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;aACvD,QAAQ,EAAE;aACV,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,CACP,2FAA2F;YACzF,yDAAyD;YACzD,4FAA4F;YAC5F,wEAAwE;YACxE,6DAA6D;YAC7D,mFAAmF,CACtF;QACH,OAAO,EAAE,CAAC;aACP,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,qFAAqF,CACtF;KACJ,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,uBAAuB,QAAQ,UAAU,IAAI,GAAG,CAAC,CAAC;YAC9D,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC/D,MAAM,UAAU,GAAG,MAAM,aAAa,EAAE,CAAC;YAEzC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YAC/C,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;gBACpB,MAAM,IAAI,eAAe,CAAC,4BAA4B,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,OAAO,GAA0C,EAAE,CAAC;YAE1D,0BAA0B;YAC1B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,0BAA0B,QAAQ,CAAC,MAAM,SAAS,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACnG,CAAC,CAAC;YACL,CAAC;YAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,sDAAsD;gBACtD,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClF,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,OAAO,UAAU,EAAE,CAAC,CAAC;gBAC1E,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;YAED,yCAAyC;YACzC,MAAM,SAAS,GAAG,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACvD,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;YAE3E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,eAAe,CAC1B,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,CAC3E,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrC,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;YAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC9C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrC,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;YAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClD,MAAM,IAAI,eAAe,CACvB,sEAAsE,SAAS,EAAE,CAClF,CAAC;gBACJ,CAAC;gBACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE;oBACjE,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,OAAO,UAAU,EAAE,CAAC,CAAC;gBAC1E,OAAO,EAAE,OAAO,EAAE,CAAC;YACrB,CAAC;YAED,WAAW;YACX,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1E,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,OAAO,UAAU,EAAE,CAAC,CAAC;YAC1E,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "comfyui-mcp",
3
- "version": "0.25.1",
3
+ "version": "0.25.2",
4
4
  "mcpName": "io.github.artokun/comfyui-mcp",
5
- "description": "Local-first, agent-native control plane for ComfyUI — MCP server + autonomous sidebar agent that drives your live graph in natural language on ANY LLM: Claude/ChatGPT/Gemini on your subscription (no API key), free local models via Ollama (fully offline), or any hosted model via an OpenAI-compatible endpoint (DeepSeek, GLM, MiMo, OpenRouter). Generate images, video & audio, author and run workflows, manage models and custom nodes; a compact tool-router mode keeps even 4B models effective, and a built-in LLM Arena benchmarks them on real ComfyUI tasks. Also a Claude Code plugin with skills, slash commands, and installer packs. Local, LAN, VPS, or Comfy Cloud.",
5
+ "description": "Local-first, agent-native control plane for ComfyUI MCP server + autonomous sidebar agent that drives your live graph in natural language on ANY LLM: Claude/ChatGPT/Gemini on your subscription (no API key), free local models via Ollama (fully offline), or any hosted model via an OpenAI-compatible endpoint (DeepSeek, GLM, MiMo, OpenRouter). Generate images, video & audio, author and run workflows, manage models and custom nodes; a compact tool-router mode keeps even 4B models effective, and a built-in LLM Arena benchmarks them on real ComfyUI tasks. Also a Claude Code plugin with skills, slash commands, and installer packs. Local, LAN, VPS, or Comfy Cloud.",
6
6
  "homepage": "https://comfyui-mcp.artokun.io/docs",
7
7
  "type": "module",
8
8
  "main": "dist/index.js",
@@ -49,10 +49,11 @@ ComfyUI workflows are JSON objects mapping **string node IDs** to node definitio
49
49
 
50
50
  ### Important: API Format vs Web UI Format
51
51
 
52
- - **API format** (what we use): `{ "1": { class_type, inputs }, "2": { ... } }`
53
- - **Web UI format** (saved workflows): `{ "nodes": [...], "links": [...] }` — includes layout positions, visual metadata
54
- - All MCP tools expect and return API format
55
- - `get_workflow` defaults to `format="api"` which auto-converts saved UI-format workflows to compact API format
52
+ - **API format** (for execution/analysis): `{ "1": { class_type, inputs }, "2": { ... } }` — compact, used by `enqueue_workflow`, `validate_workflow`, `modify_workflow`, etc.
53
+ - **Web UI format** (for saving and frontend editing): `{ "nodes": [...], "links": [...] }` — includes layout positions, sizes, groups, and visual metadata so ComfyUI's canvas can open and edit it
54
+ - Execution tools expect and return **API format**
55
+ - **Saving tools must use Web UI format** so saved workflows stay readable and editable in the ComfyUI frontend — an API-format save "exists" in the library but loads blank in the canvas, which strands users (and tempts agents into creating yet another new workflow instead of reopening the old one)
56
+ - `get_workflow` defaults to `format="api"` for analysis/execution; use `format="ui"` when loading a workflow to re-save or edit in the canvas
56
57
  - Muted/bypassed nodes are preserved with `_meta.mode: "muted"` — these are inactive but visible for understanding the workflow
57
58
  - Get/Set virtual wire nodes are preserved with `_meta.title` and `Constant` key for tracing data flow
58
59
 
@@ -60,8 +61,8 @@ ComfyUI workflows are JSON objects mapping **string node IDs** to node definitio
60
61
 
61
62
  - **`analyze_workflow(filename)`** — **use this first** to understand any saved workflow. Returns a structured text summary with sections, node IDs, key settings, virtual wires, and connection graph. No raw JSON — just what you need to reason about the workflow. Supports views: summary (default), overview (mermaid), detail (section mermaid), list, flat.
62
63
  - **`list_workflows`** — list all saved workflows in ComfyUI's user library
63
- - **`get_workflow(filename)`** — load raw workflow JSON. Only use when you need the actual JSON for `enqueue_workflow`, `modify_workflow`, or `save_workflow`. Use `analyze_workflow` instead for understanding.
64
- - **`save_workflow(filename, workflow)`** — save a workflow to the user library
64
+ - **`get_workflow(filename)`** — load raw workflow JSON. Only use when you need the actual JSON for `enqueue_workflow`, `modify_workflow`, or `save_workflow`. Use `analyze_workflow` instead for understanding. **For `save_workflow`, request `format="ui"`** so the workflow stays editable in the frontend.
65
+ - **`save_workflow(filename, workflow)`** — save a workflow to the user library. **Pass Web UI format (`{ nodes, links }`)** so it can be opened and edited in ComfyUI's canvas; API-format graphs are accepted but the frontend cannot open them.
65
66
 
66
67
  ## Data Types
67
68
 
@@ -0,0 +1,226 @@
1
+ // Shared arena scenario set — task prompts + harness-side ground-truth
2
+ // verification, used by BOTH scripts/llm-arena.mjs (compact 3-tool mode) and
3
+ // scripts/llm-arena-full.mjs (full 113-tool surface for the fine-tune
4
+ // pipeline). verify(harnessCall, t) receives a direct (toolName, args) → text
5
+ // callback in either mode and NEVER trusts the model's claims.
6
+ /**
7
+ * Each scenario: task prompt, the underlying tools that count as the "right"
8
+ * primary move, and an optional verify(harnessCall, transcript) ground-truth
9
+ * check the HARNESS runs against ComfyUI itself (never trusts the model).
10
+ */
11
+ export const SCENARIOS = [
12
+ {
13
+ id: "health",
14
+ title: "Server health & GPU report",
15
+ task: "Check whether the ComfyUI server is healthy and tell me the GPU name and how much free VRAM it has.",
16
+ primary: ["health_check", "get_system_stats"],
17
+ verify: async (_call, t) => /(cuda|nvidia|rtx|gtx|radeon|vram)/i.test(t.finalAnswer),
18
+ },
19
+ {
20
+ id: "models",
21
+ title: "Installed checkpoint discovery",
22
+ task: "Find out which checkpoint models are installed on the ComfyUI server and tell me the name of one of them.",
23
+ primary: ["list_local_models"],
24
+ verify: async (call, t) => {
25
+ const res = await call("list_local_models", { model_type: "checkpoints" });
26
+ const names = [...res.matchAll(/([\w.-]+)\.(safetensors|ckpt|sft|gguf)/gi)].map((m) =>
27
+ m[1].toLowerCase(),
28
+ );
29
+ const answer = t.finalAnswer.toLowerCase();
30
+ return names.some((n) => answer.includes(n) || answer.includes(n.slice(0, 12)));
31
+ },
32
+ },
33
+ {
34
+ id: "registry",
35
+ title: "Custom-node registry search",
36
+ task: "Find a tool that can search for ComfyUI custom node packs, then use it to search for 'controlnet' and tell me the name of one node pack from its results.",
37
+ primary: ["search_custom_nodes", "search_models"],
38
+ verify: async (_call, t) => t.finalAnswer.trim().length > 0,
39
+ },
40
+ {
41
+ id: "queue",
42
+ title: "Queue inspection",
43
+ task: "How many jobs are currently running or pending in the ComfyUI queue? Answer with the numbers.",
44
+ primary: ["get_queue", "health_check", "get_system_stats"],
45
+ verify: async (_call, t) => /\d/.test(t.finalAnswer),
46
+ },
47
+ {
48
+ id: "generate",
49
+ title: "Text-to-image generation + async polling",
50
+ task:
51
+ "Generate a 512x512 image of a red apple on a wooden table. The generation runs asynchronously — " +
52
+ "after starting it, check its job status until it has finished, then tell me the output filename or asset id.",
53
+ primary: ["generate_image", "enqueue_workflow"],
54
+ // right family but incomplete execution (built a workflow, never enqueued)
55
+ partial: ["create_workflow", "dsl_to_workflow"],
56
+ followup: ["get_job_status", "get_history", "list_output_images", "view_image", "list_assets", "get_queue", "generation_stats"],
57
+ verify: async (call, t) => {
58
+ // ground truth: the prompt_id the model started must be done with outputs
59
+ const ids = [...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]);
60
+ if (!ids.length) return false;
61
+ for (let attempt = 0; attempt < 30; attempt++) {
62
+ const status = await call("get_job_status", { prompt_id: ids[ids.length - 1] });
63
+ if (/"done":\s*true/.test(status) && !/"error"/.test(status)) return true;
64
+ if (/"error":/.test(status)) return false;
65
+ await new Promise((r) => setTimeout(r, 2000));
66
+ }
67
+ return false;
68
+ },
69
+ },
70
+ // ── The GAUNTLET — added when the whole SoTA tier tied 10/10 on the base
71
+ // set. Same server-side verification discipline, but these stress parameter
72
+ // fidelity, error recovery, and multi-render state tracking.
73
+ {
74
+ id: "precision",
75
+ title: "Parameter-exact build + render",
76
+ task:
77
+ "Render a txt2img image with the checkpoint v1-5-pruned-emaonly-fp16.safetensors, EXACTLY 12 sampling steps, " +
78
+ "EXACTLY 384x384 pixels, positive prompt 'a green pear on a table'. Wait until it finishes, then report the prompt_id.",
79
+ primary: ["generate_image", "enqueue_workflow"],
80
+ partial: ["create_workflow", "dsl_to_workflow"],
81
+ verify: async (_call, t) => {
82
+ // ground truth from ComfyUI itself: the EXECUTED graph must carry the
83
+ // exact parameters, and the job must have completed with outputs.
84
+ const ids = [...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]);
85
+ for (const id of ids.reverse()) {
86
+ try {
87
+ const res = await fetch(`${process.env.COMFYUI_URL ?? "http://127.0.0.1:8188"}/history/${id}`);
88
+ const hist = (await res.json())[id];
89
+ if (!hist?.status?.completed) continue;
90
+ const nodes = Object.values(hist.prompt?.[2] ?? {});
91
+ const steps = nodes.some((n) => n.inputs?.steps === 12);
92
+ const size = nodes.some((n) => n.inputs?.width === 384 && n.inputs?.height === 384);
93
+ if (steps && size) return true;
94
+ } catch {
95
+ /* try the next id */
96
+ }
97
+ }
98
+ return false;
99
+ },
100
+ },
101
+ {
102
+ id: "breakfix",
103
+ title: "Deliberate failure → diagnose → recover",
104
+ task:
105
+ "First, try to render an image using a checkpoint named exactly 'nonexistent-model.safetensors'. That will fail — " +
106
+ "read the error and explain in ONE sentence why. Then recover: render 'a blue cube' at 512x512 with a checkpoint " +
107
+ "that IS installed, wait for it to complete, and report its prompt_id.",
108
+ primary: ["generate_image", "enqueue_workflow"],
109
+ partial: ["create_workflow"],
110
+ verify: async (call, t) => {
111
+ // (a) the failure actually happened (the bogus name shows up in an error),
112
+ // (b) a real render then completed.
113
+ const sawFailure = /nonexistent-model\.safetensors/.test(t.toolText) && /error|invalid|not (?:found|in)/i.test(t.toolText);
114
+ if (!sawFailure) return false;
115
+ const ids = [...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]);
116
+ for (const id of ids.reverse()) {
117
+ const status = await call("get_job_status", { prompt_id: id });
118
+ if (/"done":\s*true/.test(status) && !/"error"/.test(status)) return true;
119
+ }
120
+ return false;
121
+ },
122
+ },
123
+ {
124
+ id: "provenance",
125
+ title: "Generate → find asset → regenerate with override",
126
+ task:
127
+ "Render a 512x512 image of 'a red bicycle' and wait for it to complete. Then find the ASSET it produced " +
128
+ "(the asset registry lists recent assets), and regenerate that asset with a steps=8 override, waiting for the " +
129
+ "second render to complete too. Report both prompt_ids.",
130
+ primary: ["generate_image", "enqueue_workflow"],
131
+ partial: ["create_workflow", "list_assets", "get_asset_metadata"],
132
+ verify: async (call, t) => {
133
+ // regenerate must have actually run, and there must be two DISTINCT
134
+ // completed prompts.
135
+ if (!t.calls.some((c) => c.tool === "regenerate" && c.ok)) return false;
136
+ const ids = [...new Set([...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]))];
137
+ if (ids.length < 2) return false;
138
+ let done = 0;
139
+ for (const id of ids) {
140
+ const status = await call("get_job_status", { prompt_id: id });
141
+ if (/"done":\s*true/.test(status) && !/"error"/.test(status)) done++;
142
+ }
143
+ return done >= 2;
144
+ },
145
+ },
146
+ // ── The CRUCIBLE — round 3, added when four models tied the gauntlet at
147
+ // 16/16. Custom graph COMPOSITION (no template covers these): one graph
148
+ // with two piped outputs, and a two-stage pipeline chained through the
149
+ // staging tool. All still SD1.5-only and server-verified.
150
+ {
151
+ id: "multiout",
152
+ title: "One graph, two piped outputs",
153
+ task:
154
+ "Build and enqueue ONE single workflow that renders 'a lighthouse at dusk' at 512x512 AND, in the same graph, " +
155
+ "pipes that image through a 2x upscale so the SAME run saves TWO outputs: the 512x512 original and a 1024x1024 " +
156
+ "version. No template does this — compose the graph yourself. Wait for completion and report the prompt_id.",
157
+ primary: ["enqueue_workflow"],
158
+ partial: ["create_workflow", "dsl_to_workflow", "generate_image", "modify_workflow"],
159
+ verify: async (_call, t) => {
160
+ const base = process.env.COMFYUI_URL ?? "http://127.0.0.1:8188";
161
+ const ids = [...new Set([...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]))];
162
+ for (const id of ids.reverse()) {
163
+ try {
164
+ const hist = (await (await fetch(`${base}/history/${id}`)).json())[id];
165
+ if (!hist?.status?.completed) continue;
166
+ // gather every output image of THIS single prompt and read its real
167
+ // pixel size from the PNG header — need two distinct sizes, 2x apart.
168
+ const dims = new Set();
169
+ for (const out of Object.values(hist.outputs ?? {})) {
170
+ for (const img of out.images ?? []) {
171
+ if (img.type !== "output") continue;
172
+ const u = new URL("/view", base);
173
+ u.searchParams.set("filename", img.filename);
174
+ u.searchParams.set("type", "output");
175
+ if (img.subfolder) u.searchParams.set("subfolder", img.subfolder);
176
+ const buf = Buffer.from(await (await fetch(u)).arrayBuffer());
177
+ if (buf.length > 24 && buf.toString("ascii", 1, 4) === "PNG") {
178
+ dims.add(`${buf.readUInt32BE(16)}x${buf.readUInt32BE(20)}`);
179
+ }
180
+ }
181
+ }
182
+ if (dims.has("512x512") && dims.has("1024x1024")) return true;
183
+ } catch {
184
+ /* try next id */
185
+ }
186
+ }
187
+ return false;
188
+ },
189
+ },
190
+ {
191
+ id: "pipeline",
192
+ title: "Two-stage pipe via output staging",
193
+ task:
194
+ "Two-stage pipeline. Stage 1: render 'a plain wooden mask' at 512x512 and wait for it to finish. Stage 2: run an " +
195
+ "img2img pass over stage 1's ACTUAL output image with the prompt 'an ornate golden mask' and denoise about 0.55, " +
196
+ "and wait for it too. Do NOT guess file paths — use the staging tool that feeds a previous output into the next " +
197
+ "stage's loader. Report both prompt_ids.",
198
+ primary: ["enqueue_workflow", "generate_image"],
199
+ partial: ["create_workflow", "stage_output_as_input"],
200
+ verify: async (call, t) => {
201
+ // the staging tool must have actually run…
202
+ if (!t.calls.some((c) => c.tool === "stage_output_as_input" && c.ok)) return false;
203
+ const base = process.env.COMFYUI_URL ?? "http://127.0.0.1:8188";
204
+ const ids = [...new Set([...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]))];
205
+ if (ids.length < 2) return false;
206
+ // …and the LAST completed prompt must be a real img2img graph: a
207
+ // LoadImage feeding it and a KSampler with partial denoise.
208
+ for (const id of ids.reverse()) {
209
+ try {
210
+ const hist = (await (await fetch(`${base}/history/${id}`)).json())[id];
211
+ if (!hist?.status?.completed) continue;
212
+ const nodes = Object.values(hist.prompt?.[2] ?? {});
213
+ const hasLoad = nodes.some((n) => n.class_type === "LoadImage");
214
+ const partialDenoise = nodes.some(
215
+ (n) => typeof n.inputs?.denoise === "number" && n.inputs.denoise > 0.2 && n.inputs.denoise < 0.9,
216
+ );
217
+ if (hasLoad && partialDenoise) return true;
218
+ break; // only judge the newest completed prompt as stage 2
219
+ } catch {
220
+ /* try next id */
221
+ }
222
+ }
223
+ return false;
224
+ },
225
+ },
226
+ ];
@@ -28,6 +28,7 @@ import { fileURLToPath } from "node:url";
28
28
  import { dirname, join } from "node:path";
29
29
  import { Client } from "@modelcontextprotocol/sdk/client/index.js";
30
30
  import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
31
+ import { SCENARIOS } from "./arena-scenarios.mjs";
31
32
 
32
33
  const OLLAMA = process.env.OLLAMA_HOST ?? "http://127.0.0.1:11434";
33
34
  const MODELS = (process.env.ARENA_MODELS ?? "gemma4:e4b,gemma4:e2b,qwen3:8b,qwen3:4b,llama3.1:8b")
@@ -48,228 +49,6 @@ const SYSTEM =
48
49
  "Always look up a tool with describe_tool before running it with call_tool. " +
49
50
  "Catalog entries are tool NAMES, not data — complete every task by actually running tools with call_tool.";
50
51
 
51
- /**
52
- * Each scenario: task prompt, the underlying tools that count as the "right"
53
- * primary move, and an optional verify(harnessCall, transcript) ground-truth
54
- * check the HARNESS runs against ComfyUI itself (never trusts the model).
55
- */
56
- const SCENARIOS = [
57
- {
58
- id: "health",
59
- title: "Server health & GPU report",
60
- task: "Check whether the ComfyUI server is healthy and tell me the GPU name and how much free VRAM it has.",
61
- primary: ["health_check", "get_system_stats"],
62
- verify: async (_call, t) => /(cuda|nvidia|rtx|gtx|radeon|vram)/i.test(t.finalAnswer),
63
- },
64
- {
65
- id: "models",
66
- title: "Installed checkpoint discovery",
67
- task: "Find out which checkpoint models are installed on the ComfyUI server and tell me the name of one of them.",
68
- primary: ["list_local_models"],
69
- verify: async (call, t) => {
70
- const res = await call("list_local_models", { model_type: "checkpoints" });
71
- const names = [...res.matchAll(/([\w.-]+)\.(safetensors|ckpt|sft|gguf)/gi)].map((m) =>
72
- m[1].toLowerCase(),
73
- );
74
- const answer = t.finalAnswer.toLowerCase();
75
- return names.some((n) => answer.includes(n) || answer.includes(n.slice(0, 12)));
76
- },
77
- },
78
- {
79
- id: "registry",
80
- title: "Custom-node registry search",
81
- task: "Find a tool that can search for ComfyUI custom node packs, then use it to search for 'controlnet' and tell me the name of one node pack from its results.",
82
- primary: ["search_custom_nodes", "search_models"],
83
- verify: async (_call, t) => t.finalAnswer.trim().length > 0,
84
- },
85
- {
86
- id: "queue",
87
- title: "Queue inspection",
88
- task: "How many jobs are currently running or pending in the ComfyUI queue? Answer with the numbers.",
89
- primary: ["get_queue", "health_check", "get_system_stats"],
90
- verify: async (_call, t) => /\d/.test(t.finalAnswer),
91
- },
92
- {
93
- id: "generate",
94
- title: "Text-to-image generation + async polling",
95
- task:
96
- "Generate a 512x512 image of a red apple on a wooden table. The generation runs asynchronously — " +
97
- "after starting it, check its job status until it has finished, then tell me the output filename or asset id.",
98
- primary: ["generate_image", "enqueue_workflow"],
99
- // right family but incomplete execution (built a workflow, never enqueued)
100
- partial: ["create_workflow", "dsl_to_workflow"],
101
- followup: ["get_job_status", "get_history", "list_output_images", "view_image", "list_assets", "get_queue", "generation_stats"],
102
- verify: async (call, t) => {
103
- // ground truth: the prompt_id the model started must be done with outputs
104
- const ids = [...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]);
105
- if (!ids.length) return false;
106
- for (let attempt = 0; attempt < 30; attempt++) {
107
- const status = await call("get_job_status", { prompt_id: ids[ids.length - 1] });
108
- if (/"done":\s*true/.test(status) && !/"error"/.test(status)) return true;
109
- if (/"error":/.test(status)) return false;
110
- await new Promise((r) => setTimeout(r, 2000));
111
- }
112
- return false;
113
- },
114
- },
115
- // ── The GAUNTLET — added when the whole SoTA tier tied 10/10 on the base
116
- // set. Same server-side verification discipline, but these stress parameter
117
- // fidelity, error recovery, and multi-render state tracking.
118
- {
119
- id: "precision",
120
- title: "Parameter-exact build + render",
121
- task:
122
- "Render a txt2img image with the checkpoint v1-5-pruned-emaonly-fp16.safetensors, EXACTLY 12 sampling steps, " +
123
- "EXACTLY 384x384 pixels, positive prompt 'a green pear on a table'. Wait until it finishes, then report the prompt_id.",
124
- primary: ["generate_image", "enqueue_workflow"],
125
- partial: ["create_workflow", "dsl_to_workflow"],
126
- verify: async (_call, t) => {
127
- // ground truth from ComfyUI itself: the EXECUTED graph must carry the
128
- // exact parameters, and the job must have completed with outputs.
129
- const ids = [...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]);
130
- for (const id of ids.reverse()) {
131
- try {
132
- const res = await fetch(`${process.env.COMFYUI_URL ?? "http://127.0.0.1:8188"}/history/${id}`);
133
- const hist = (await res.json())[id];
134
- if (!hist?.status?.completed) continue;
135
- const nodes = Object.values(hist.prompt?.[2] ?? {});
136
- const steps = nodes.some((n) => n.inputs?.steps === 12);
137
- const size = nodes.some((n) => n.inputs?.width === 384 && n.inputs?.height === 384);
138
- if (steps && size) return true;
139
- } catch {
140
- /* try the next id */
141
- }
142
- }
143
- return false;
144
- },
145
- },
146
- {
147
- id: "breakfix",
148
- title: "Deliberate failure → diagnose → recover",
149
- task:
150
- "First, try to render an image using a checkpoint named exactly 'nonexistent-model.safetensors'. That will fail — " +
151
- "read the error and explain in ONE sentence why. Then recover: render 'a blue cube' at 512x512 with a checkpoint " +
152
- "that IS installed, wait for it to complete, and report its prompt_id.",
153
- primary: ["generate_image", "enqueue_workflow"],
154
- partial: ["create_workflow"],
155
- verify: async (call, t) => {
156
- // (a) the failure actually happened (the bogus name shows up in an error),
157
- // (b) a real render then completed.
158
- const sawFailure = /nonexistent-model\.safetensors/.test(t.toolText) && /error|invalid|not (?:found|in)/i.test(t.toolText);
159
- if (!sawFailure) return false;
160
- const ids = [...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]);
161
- for (const id of ids.reverse()) {
162
- const status = await call("get_job_status", { prompt_id: id });
163
- if (/"done":\s*true/.test(status) && !/"error"/.test(status)) return true;
164
- }
165
- return false;
166
- },
167
- },
168
- {
169
- id: "provenance",
170
- title: "Generate → find asset → regenerate with override",
171
- task:
172
- "Render a 512x512 image of 'a red bicycle' and wait for it to complete. Then find the ASSET it produced " +
173
- "(the asset registry lists recent assets), and regenerate that asset with a steps=8 override, waiting for the " +
174
- "second render to complete too. Report both prompt_ids.",
175
- primary: ["generate_image", "enqueue_workflow"],
176
- partial: ["create_workflow", "list_assets", "get_asset_metadata"],
177
- verify: async (call, t) => {
178
- // regenerate must have actually run, and there must be two DISTINCT
179
- // completed prompts.
180
- if (!t.calls.some((c) => c.tool === "regenerate" && c.ok)) return false;
181
- const ids = [...new Set([...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]))];
182
- if (ids.length < 2) return false;
183
- let done = 0;
184
- for (const id of ids) {
185
- const status = await call("get_job_status", { prompt_id: id });
186
- if (/"done":\s*true/.test(status) && !/"error"/.test(status)) done++;
187
- }
188
- return done >= 2;
189
- },
190
- },
191
- // ── The CRUCIBLE — round 3, added when four models tied the gauntlet at
192
- // 16/16. Custom graph COMPOSITION (no template covers these): one graph
193
- // with two piped outputs, and a two-stage pipeline chained through the
194
- // staging tool. All still SD1.5-only and server-verified.
195
- {
196
- id: "multiout",
197
- title: "One graph, two piped outputs",
198
- task:
199
- "Build and enqueue ONE single workflow that renders 'a lighthouse at dusk' at 512x512 AND, in the same graph, " +
200
- "pipes that image through a 2x upscale so the SAME run saves TWO outputs: the 512x512 original and a 1024x1024 " +
201
- "version. No template does this — compose the graph yourself. Wait for completion and report the prompt_id.",
202
- primary: ["enqueue_workflow"],
203
- partial: ["create_workflow", "dsl_to_workflow", "generate_image", "modify_workflow"],
204
- verify: async (_call, t) => {
205
- const base = process.env.COMFYUI_URL ?? "http://127.0.0.1:8188";
206
- const ids = [...new Set([...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]))];
207
- for (const id of ids.reverse()) {
208
- try {
209
- const hist = (await (await fetch(`${base}/history/${id}`)).json())[id];
210
- if (!hist?.status?.completed) continue;
211
- // gather every output image of THIS single prompt and read its real
212
- // pixel size from the PNG header — need two distinct sizes, 2x apart.
213
- const dims = new Set();
214
- for (const out of Object.values(hist.outputs ?? {})) {
215
- for (const img of out.images ?? []) {
216
- if (img.type !== "output") continue;
217
- const u = new URL("/view", base);
218
- u.searchParams.set("filename", img.filename);
219
- u.searchParams.set("type", "output");
220
- if (img.subfolder) u.searchParams.set("subfolder", img.subfolder);
221
- const buf = Buffer.from(await (await fetch(u)).arrayBuffer());
222
- if (buf.length > 24 && buf.toString("ascii", 1, 4) === "PNG") {
223
- dims.add(`${buf.readUInt32BE(16)}x${buf.readUInt32BE(20)}`);
224
- }
225
- }
226
- }
227
- if (dims.has("512x512") && dims.has("1024x1024")) return true;
228
- } catch {
229
- /* try next id */
230
- }
231
- }
232
- return false;
233
- },
234
- },
235
- {
236
- id: "pipeline",
237
- title: "Two-stage pipe via output staging",
238
- task:
239
- "Two-stage pipeline. Stage 1: render 'a plain wooden mask' at 512x512 and wait for it to finish. Stage 2: run an " +
240
- "img2img pass over stage 1's ACTUAL output image with the prompt 'an ornate golden mask' and denoise about 0.55, " +
241
- "and wait for it too. Do NOT guess file paths — use the staging tool that feeds a previous output into the next " +
242
- "stage's loader. Report both prompt_ids.",
243
- primary: ["enqueue_workflow", "generate_image"],
244
- partial: ["create_workflow", "stage_output_as_input"],
245
- verify: async (call, t) => {
246
- // the staging tool must have actually run…
247
- if (!t.calls.some((c) => c.tool === "stage_output_as_input" && c.ok)) return false;
248
- const base = process.env.COMFYUI_URL ?? "http://127.0.0.1:8188";
249
- const ids = [...new Set([...t.toolText.matchAll(/"prompt_id":\s*"([0-9a-f-]{8,})"/g)].map((m) => m[1]))];
250
- if (ids.length < 2) return false;
251
- // …and the LAST completed prompt must be a real img2img graph: a
252
- // LoadImage feeding it and a KSampler with partial denoise.
253
- for (const id of ids.reverse()) {
254
- try {
255
- const hist = (await (await fetch(`${base}/history/${id}`)).json())[id];
256
- if (!hist?.status?.completed) continue;
257
- const nodes = Object.values(hist.prompt?.[2] ?? {});
258
- const hasLoad = nodes.some((n) => n.class_type === "LoadImage");
259
- const partialDenoise = nodes.some(
260
- (n) => typeof n.inputs?.denoise === "number" && n.inputs.denoise > 0.2 && n.inputs.denoise < 0.9,
261
- );
262
- if (hasLoad && partialDenoise) return true;
263
- break; // only judge the newest completed prompt as stage 2
264
- } catch {
265
- /* try next id */
266
- }
267
- }
268
- return false;
269
- },
270
- },
271
- ];
272
-
273
52
  /**
274
53
  * Two API dialects, one arena:
275
54
  * - ARENA_API=ollama (default): Ollama-native /api/chat — lets us pin num_ctx.