comfyui-mcp 0.9.2 → 0.9.4

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.
Files changed (222) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +17 -0
  3. package/llms-install.md +139 -0
  4. package/package.json +1 -1
  5. package/dist/comfyui/client.d.ts +0 -67
  6. package/dist/comfyui/client.d.ts.map +0 -1
  7. package/dist/comfyui/cloud-client.d.ts +0 -37
  8. package/dist/comfyui/cloud-client.d.ts.map +0 -1
  9. package/dist/comfyui/events.d.ts +0 -9
  10. package/dist/comfyui/events.d.ts.map +0 -1
  11. package/dist/comfyui/types.d.ts +0 -176
  12. package/dist/comfyui/types.d.ts.map +0 -1
  13. package/dist/config.d.ts +0 -48
  14. package/dist/config.d.ts.map +0 -1
  15. package/dist/experimental/agent-poc.d.ts +0 -30
  16. package/dist/experimental/agent-poc.d.ts.map +0 -1
  17. package/dist/experimental/chat-handler.d.ts +0 -21
  18. package/dist/experimental/chat-handler.d.ts.map +0 -1
  19. package/dist/experimental/provider-registry.d.ts +0 -4
  20. package/dist/experimental/provider-registry.d.ts.map +0 -1
  21. package/dist/experimental/run.d.ts +0 -3
  22. package/dist/experimental/run.d.ts.map +0 -1
  23. package/dist/experimental/ui-message-stream-parser.d.ts +0 -21
  24. package/dist/experimental/ui-message-stream-parser.d.ts.map +0 -1
  25. package/dist/index.d.ts +0 -3
  26. package/dist/index.d.ts.map +0 -1
  27. package/dist/services/api-nodes.d.ts +0 -77
  28. package/dist/services/api-nodes.d.ts.map +0 -1
  29. package/dist/services/asset-registry.d.ts +0 -64
  30. package/dist/services/asset-registry.d.ts.map +0 -1
  31. package/dist/services/civitai-lookup.d.ts +0 -24
  32. package/dist/services/civitai-lookup.d.ts.map +0 -1
  33. package/dist/services/civitai-resolver.d.ts +0 -27
  34. package/dist/services/civitai-resolver.d.ts.map +0 -1
  35. package/dist/services/defaults-manager.d.ts +0 -31
  36. package/dist/services/defaults-manager.d.ts.map +0 -1
  37. package/dist/services/download-auth.d.ts +0 -30
  38. package/dist/services/download-auth.d.ts.map +0 -1
  39. package/dist/services/download-cache.d.ts +0 -28
  40. package/dist/services/download-cache.d.ts.map +0 -1
  41. package/dist/services/file-hasher.d.ts +0 -32
  42. package/dist/services/file-hasher.d.ts.map +0 -1
  43. package/dist/services/generate-conditioned.d.ts +0 -50
  44. package/dist/services/generate-conditioned.d.ts.map +0 -1
  45. package/dist/services/generate-image.d.ts +0 -35
  46. package/dist/services/generate-image.d.ts.map +0 -1
  47. package/dist/services/generation-tracker.d.ts +0 -84
  48. package/dist/services/generation-tracker.d.ts.map +0 -1
  49. package/dist/services/health-check.d.ts +0 -6
  50. package/dist/services/health-check.d.ts.map +0 -1
  51. package/dist/services/hierarchical-mermaid.d.ts +0 -12
  52. package/dist/services/hierarchical-mermaid.d.ts.map +0 -1
  53. package/dist/services/image-convert.d.ts +0 -29
  54. package/dist/services/image-convert.d.ts.map +0 -1
  55. package/dist/services/image-management.d.ts +0 -61
  56. package/dist/services/image-management.d.ts.map +0 -1
  57. package/dist/services/install-comfyui.d.ts +0 -89
  58. package/dist/services/install-comfyui.d.ts.map +0 -1
  59. package/dist/services/job-history.d.ts +0 -28
  60. package/dist/services/job-history.d.ts.map +0 -1
  61. package/dist/services/job-watcher.d.ts +0 -55
  62. package/dist/services/job-watcher.d.ts.map +0 -1
  63. package/dist/services/manager-config.d.ts +0 -59
  64. package/dist/services/manager-config.d.ts.map +0 -1
  65. package/dist/services/manifest.d.ts +0 -63
  66. package/dist/services/manifest.d.ts.map +0 -1
  67. package/dist/services/mermaid-converter.d.ts +0 -24
  68. package/dist/services/mermaid-converter.d.ts.map +0 -1
  69. package/dist/services/mermaid-parser.d.ts +0 -31
  70. package/dist/services/mermaid-parser.d.ts.map +0 -1
  71. package/dist/services/model-resolver.d.ts +0 -26
  72. package/dist/services/model-resolver.d.ts.map +0 -1
  73. package/dist/services/node-authoring.d.ts +0 -117
  74. package/dist/services/node-authoring.d.ts.map +0 -1
  75. package/dist/services/node-bisect.d.ts +0 -105
  76. package/dist/services/node-bisect.d.ts.map +0 -1
  77. package/dist/services/node-management.d.ts +0 -97
  78. package/dist/services/node-management.d.ts.map +0 -1
  79. package/dist/services/node-snapshots.d.ts +0 -27
  80. package/dist/services/node-snapshots.d.ts.map +0 -1
  81. package/dist/services/node-verify.d.ts +0 -35
  82. package/dist/services/node-verify.d.ts.map +0 -1
  83. package/dist/services/process-control.d.ts +0 -65
  84. package/dist/services/process-control.d.ts.map +0 -1
  85. package/dist/services/queue-manager.d.ts +0 -27
  86. package/dist/services/queue-manager.d.ts.map +0 -1
  87. package/dist/services/registry-client.d.ts +0 -28
  88. package/dist/services/registry-client.d.ts.map +0 -1
  89. package/dist/services/skill-cache.d.ts +0 -26
  90. package/dist/services/skill-cache.d.ts.map +0 -1
  91. package/dist/services/skill-generator.d.ts +0 -33
  92. package/dist/services/skill-generator.d.ts.map +0 -1
  93. package/dist/services/storage/azure-blob.d.ts +0 -8
  94. package/dist/services/storage/azure-blob.d.ts.map +0 -1
  95. package/dist/services/storage/hf.d.ts +0 -7
  96. package/dist/services/storage/hf.d.ts.map +0 -1
  97. package/dist/services/storage/http.d.ts +0 -6
  98. package/dist/services/storage/http.d.ts.map +0 -1
  99. package/dist/services/storage/index.d.ts +0 -28
  100. package/dist/services/storage/index.d.ts.map +0 -1
  101. package/dist/services/storage/s3.d.ts +0 -12
  102. package/dist/services/storage/s3.d.ts.map +0 -1
  103. package/dist/services/storage/types.d.ts +0 -22
  104. package/dist/services/storage/types.d.ts.map +0 -1
  105. package/dist/services/storage/utils.d.ts +0 -6
  106. package/dist/services/storage/utils.d.ts.map +0 -1
  107. package/dist/services/storage-upload.d.ts +0 -18
  108. package/dist/services/storage-upload.d.ts.map +0 -1
  109. package/dist/services/tunnel.d.ts +0 -23
  110. package/dist/services/tunnel.d.ts.map +0 -1
  111. package/dist/services/update-comfyui.d.ts +0 -34
  112. package/dist/services/update-comfyui.d.ts.map +0 -1
  113. package/dist/services/view-image.d.ts +0 -17
  114. package/dist/services/view-image.d.ts.map +0 -1
  115. package/dist/services/workflow-autoload.d.ts +0 -41
  116. package/dist/services/workflow-autoload.d.ts.map +0 -1
  117. package/dist/services/workflow-composer.d.ts +0 -43
  118. package/dist/services/workflow-composer.d.ts.map +0 -1
  119. package/dist/services/workflow-converter.d.ts +0 -31
  120. package/dist/services/workflow-converter.d.ts.map +0 -1
  121. package/dist/services/workflow-deps.d.ts +0 -135
  122. package/dist/services/workflow-deps.d.ts.map +0 -1
  123. package/dist/services/workflow-dsl.d.ts +0 -4
  124. package/dist/services/workflow-dsl.d.ts.map +0 -1
  125. package/dist/services/workflow-executor.d.ts +0 -16
  126. package/dist/services/workflow-executor.d.ts.map +0 -1
  127. package/dist/services/workflow-sections.d.ts +0 -30
  128. package/dist/services/workflow-sections.d.ts.map +0 -1
  129. package/dist/services/workflow-settings-extractor.d.ts +0 -14
  130. package/dist/services/workflow-settings-extractor.d.ts.map +0 -1
  131. package/dist/services/workflow-validator.d.ts +0 -18
  132. package/dist/services/workflow-validator.d.ts.map +0 -1
  133. package/dist/services/workspace-env.d.ts +0 -68
  134. package/dist/services/workspace-env.d.ts.map +0 -1
  135. package/dist/tools/api-nodes.d.ts +0 -9
  136. package/dist/tools/api-nodes.d.ts.map +0 -1
  137. package/dist/tools/assets.d.ts +0 -3
  138. package/dist/tools/assets.d.ts.map +0 -1
  139. package/dist/tools/defaults.d.ts +0 -3
  140. package/dist/tools/defaults.d.ts.map +0 -1
  141. package/dist/tools/diagnostics.d.ts +0 -3
  142. package/dist/tools/diagnostics.d.ts.map +0 -1
  143. package/dist/tools/generate-conditioned.d.ts +0 -3
  144. package/dist/tools/generate-conditioned.d.ts.map +0 -1
  145. package/dist/tools/generate-image.d.ts +0 -3
  146. package/dist/tools/generate-image.d.ts.map +0 -1
  147. package/dist/tools/generation-tracker.d.ts +0 -3
  148. package/dist/tools/generation-tracker.d.ts.map +0 -1
  149. package/dist/tools/health-check.d.ts +0 -3
  150. package/dist/tools/health-check.d.ts.map +0 -1
  151. package/dist/tools/image-convert.d.ts +0 -3
  152. package/dist/tools/image-convert.d.ts.map +0 -1
  153. package/dist/tools/image-management.d.ts +0 -3
  154. package/dist/tools/image-management.d.ts.map +0 -1
  155. package/dist/tools/index.d.ts +0 -3
  156. package/dist/tools/index.d.ts.map +0 -1
  157. package/dist/tools/install-comfyui.d.ts +0 -3
  158. package/dist/tools/install-comfyui.d.ts.map +0 -1
  159. package/dist/tools/manager-config.d.ts +0 -3
  160. package/dist/tools/manager-config.d.ts.map +0 -1
  161. package/dist/tools/manifest.d.ts +0 -3
  162. package/dist/tools/manifest.d.ts.map +0 -1
  163. package/dist/tools/memory-management.d.ts +0 -3
  164. package/dist/tools/memory-management.d.ts.map +0 -1
  165. package/dist/tools/model-extras.d.ts +0 -3
  166. package/dist/tools/model-extras.d.ts.map +0 -1
  167. package/dist/tools/model-management.d.ts +0 -3
  168. package/dist/tools/model-management.d.ts.map +0 -1
  169. package/dist/tools/node-authoring.d.ts +0 -3
  170. package/dist/tools/node-authoring.d.ts.map +0 -1
  171. package/dist/tools/node-bisect.d.ts +0 -3
  172. package/dist/tools/node-bisect.d.ts.map +0 -1
  173. package/dist/tools/node-management.d.ts +0 -3
  174. package/dist/tools/node-management.d.ts.map +0 -1
  175. package/dist/tools/node-snapshots.d.ts +0 -3
  176. package/dist/tools/node-snapshots.d.ts.map +0 -1
  177. package/dist/tools/node-verify.d.ts +0 -3
  178. package/dist/tools/node-verify.d.ts.map +0 -1
  179. package/dist/tools/process-control.d.ts +0 -3
  180. package/dist/tools/process-control.d.ts.map +0 -1
  181. package/dist/tools/queue-management.d.ts +0 -3
  182. package/dist/tools/queue-management.d.ts.map +0 -1
  183. package/dist/tools/registry-search.d.ts +0 -3
  184. package/dist/tools/registry-search.d.ts.map +0 -1
  185. package/dist/tools/skill-generator.d.ts +0 -3
  186. package/dist/tools/skill-generator.d.ts.map +0 -1
  187. package/dist/tools/storage-upload.d.ts +0 -3
  188. package/dist/tools/storage-upload.d.ts.map +0 -1
  189. package/dist/tools/update-comfyui.d.ts +0 -3
  190. package/dist/tools/update-comfyui.d.ts.map +0 -1
  191. package/dist/tools/workflow-autoload.d.ts +0 -9
  192. package/dist/tools/workflow-autoload.d.ts.map +0 -1
  193. package/dist/tools/workflow-compose.d.ts +0 -3
  194. package/dist/tools/workflow-compose.d.ts.map +0 -1
  195. package/dist/tools/workflow-deps.d.ts +0 -3
  196. package/dist/tools/workflow-deps.d.ts.map +0 -1
  197. package/dist/tools/workflow-dsl.d.ts +0 -3
  198. package/dist/tools/workflow-dsl.d.ts.map +0 -1
  199. package/dist/tools/workflow-execute.d.ts +0 -3
  200. package/dist/tools/workflow-execute.d.ts.map +0 -1
  201. package/dist/tools/workflow-library.d.ts +0 -3
  202. package/dist/tools/workflow-library.d.ts.map +0 -1
  203. package/dist/tools/workflow-validate.d.ts +0 -3
  204. package/dist/tools/workflow-validate.d.ts.map +0 -1
  205. package/dist/tools/workflow-visualize.d.ts +0 -3
  206. package/dist/tools/workflow-visualize.d.ts.map +0 -1
  207. package/dist/tools/workspace-env.d.ts +0 -3
  208. package/dist/tools/workspace-env.d.ts.map +0 -1
  209. package/dist/transport/cli.d.ts +0 -15
  210. package/dist/transport/cli.d.ts.map +0 -1
  211. package/dist/transport/comfyui-url.d.ts +0 -12
  212. package/dist/transport/comfyui-url.d.ts.map +0 -1
  213. package/dist/transport/http.d.ts +0 -17
  214. package/dist/transport/http.d.ts.map +0 -1
  215. package/dist/utils/errors.d.ts +0 -33
  216. package/dist/utils/errors.d.ts.map +0 -1
  217. package/dist/utils/image.d.ts +0 -4
  218. package/dist/utils/image.d.ts.map +0 -1
  219. package/dist/utils/logger.d.ts +0 -7
  220. package/dist/utils/logger.d.ts.map +0 -1
  221. package/dist/utils/optional-dep.d.ts +0 -5
  222. package/dist/utils/optional-dep.d.ts.map +0 -1
@@ -1,21 +0,0 @@
1
- export interface UiMessageStreamChunk {
2
- type: string;
3
- [k: string]: unknown;
4
- }
5
- export interface ParseResult {
6
- chunks: UiMessageStreamChunk[];
7
- /** Unterminated trailing fragment; pass to the next call. */
8
- remainder: string;
9
- /** Whether the `[DONE]` sentinel was seen. */
10
- done: boolean;
11
- }
12
- /**
13
- * Parse a slice of an AI SDK UI message stream. Stateless — the caller owns
14
- * the remainder buffer.
15
- *
16
- * Frame grammar: events are separated by `\n\n`; each event is one or more
17
- * `data: <payload>` lines. The terminator is the literal `[DONE]`. We
18
- * tolerate `\r\n\n` and stray blank lines.
19
- */
20
- export declare function parseUiMessageStream(buffer: string): ParseResult;
21
- //# sourceMappingURL=ui-message-stream-parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui-message-stream-parser.d.ts","sourceRoot":"","sources":["../../src/experimental/ui-message-stream-parser.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IAIb,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CA2ChE"}
package/dist/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
@@ -1,77 +0,0 @@
1
- import type { ObjectInfo, ComfyUINodeDef, WorkflowJSON } from "../comfyui/types.js";
2
- /** Injectable dependencies so the logic is unit-testable without a live server. */
3
- export interface ApiNodesDeps {
4
- getObjectInfo: () => Promise<ObjectInfo>;
5
- enqueue: (workflow: WorkflowJSON, options?: {
6
- disable_random_seed?: boolean;
7
- extra_data?: Record<string, unknown>;
8
- }) => Promise<{
9
- prompt_id: string;
10
- queue_remaining?: number;
11
- }>;
12
- }
13
- /** True if a node definition is a hosted partner/API node. */
14
- export declare function isApiNode(def: ComfyUINodeDef): boolean;
15
- export interface ApiNodeSummary {
16
- class_type: string;
17
- display_name: string;
18
- category: string;
19
- description: string;
20
- output: string[];
21
- deprecated: boolean;
22
- experimental: boolean;
23
- }
24
- /**
25
- * Discover hosted partner/API nodes available on the connected ComfyUI.
26
- * Optionally narrow by a case-insensitive substring matched against the
27
- * class_type, display name, or category (e.g. "image", "kling", "video").
28
- */
29
- export declare function listApiNodes(filter?: string, deps?: ApiNodesDeps): Promise<ApiNodeSummary[]>;
30
- export interface ApiNodeInputDescriptor {
31
- name: string;
32
- type: string | string[];
33
- required: boolean;
34
- /** Extra config from /object_info (default, min, max, options, tooltip, ...). */
35
- config: Record<string, unknown>;
36
- }
37
- export interface ApiNodeSchema {
38
- class_type: string;
39
- display_name: string;
40
- category: string;
41
- description: string;
42
- is_api_node: boolean;
43
- /** Whether the node is itself a terminal OUTPUT_NODE (drives execution). */
44
- is_output_node: boolean;
45
- /** Visible inputs the caller can/should supply. */
46
- inputs: ApiNodeInputDescriptor[];
47
- /**
48
- * Hidden inputs (e.g. auth_token_comfy_org). The ComfyUI server fills these
49
- * from the logged-in session — callers should NOT supply them.
50
- */
51
- hidden_inputs: string[];
52
- output: string[];
53
- output_name: string[];
54
- }
55
- /** Return the input schema for a given API node (from its /object_info entry). */
56
- export declare function getApiNodeSchema(classType: string, deps?: ApiNodesDeps): Promise<ApiNodeSchema>;
57
- export interface GenerateWithApiNodeArgs {
58
- class_type: string;
59
- inputs: Record<string, unknown>;
60
- disable_random_seed?: boolean;
61
- }
62
- export interface GenerateWithApiNodeResult {
63
- prompt_id: string;
64
- queue_remaining?: number;
65
- /** The minimal single-node workflow that was enqueued. */
66
- workflow: WorkflowJSON;
67
- /** Non-fatal guidance (e.g. unknown inputs, auth reminder). */
68
- notes: string[];
69
- }
70
- /**
71
- * Build a minimal single-node workflow that runs a chosen API node with the
72
- * provided inputs and enqueue it. Returns the prompt_id (reuses the existing
73
- * enqueue path). The API node is typically an output node, so it can stand
74
- * alone as a complete graph.
75
- */
76
- export declare function generateWithApiNode(args: GenerateWithApiNodeArgs, deps?: ApiNodesDeps): Promise<GenerateWithApiNodeResult>;
77
- //# sourceMappingURL=api-nodes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-nodes.d.ts","sourceRoot":"","sources":["../../src/services/api-nodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EAEd,YAAY,EACb,MAAM,qBAAqB,CAAC;AAgC7B,mFAAmF;AACnF,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACzC,OAAO,EAAE,CACP,QAAQ,EAAE,YAAY,EACtB,OAAO,CAAC,EAAE;QACR,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACtC,KACE,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/D;AAOD,8DAA8D;AAC9D,wBAAgB,SAAS,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAItD;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,MAAM,CAAC,EAAE,MAAM,EACf,IAAI,GAAE,YAA0B,GAC/B,OAAO,CAAC,cAAc,EAAE,CAAC,CA4B3B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,4EAA4E;IAC5E,cAAc,EAAE,OAAO,CAAC;IACxB,mDAAmD;IACnD,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC;;;OAGG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAqBD,kFAAkF;AAClF,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,YAA0B,GAC/B,OAAO,CAAC,aAAa,CAAC,CAgCxB;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,QAAQ,EAAE,YAAY,CAAC;IACvB,+DAA+D;IAC/D,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,uBAAuB,EAC7B,IAAI,GAAE,YAA0B,GAC/B,OAAO,CAAC,yBAAyB,CAAC,CAsGpC"}
@@ -1,64 +0,0 @@
1
- import type { WorkflowJSON } from "../comfyui/types.js";
2
- export interface AssetImage {
3
- filename: string;
4
- subfolder: string;
5
- type: string;
6
- url: string;
7
- }
8
- export interface AssetOutput {
9
- node_id: string;
10
- images: AssetImage[];
11
- }
12
- export interface AssetRecord {
13
- assetId: string;
14
- promptId: string;
15
- nodeId: string;
16
- filename: string;
17
- subfolder: string;
18
- type: string;
19
- url: string;
20
- workflow: WorkflowJSON;
21
- createdAt: number;
22
- }
23
- export interface RegisterArgs {
24
- promptId: string;
25
- workflow: WorkflowJSON;
26
- outputs: AssetOutput[];
27
- }
28
- export interface ListArgs {
29
- limit?: number;
30
- since?: number;
31
- }
32
- interface RegistryConfig {
33
- ttlMs: number;
34
- now: () => number;
35
- }
36
- export declare const AssetRegistry: {
37
- /**
38
- * Register all images produced by a completed prompt.
39
- * Returns the AssetRecords created (one per image).
40
- */
41
- register({ promptId, workflow, outputs }: RegisterArgs): AssetRecord[];
42
- /** Look up a record by id. Returns undefined for missing or expired. */
43
- get(assetId: string): AssetRecord | undefined;
44
- /** List records newest-first. */
45
- list({ limit, since }?: ListArgs): AssetRecord[];
46
- /** Remove expired records. Returns number pruned. */
47
- prune(): number;
48
- /** Test/diagnostic helper — wipe all records. */
49
- clear(): void;
50
- /** Test/diagnostic helper — override ttl and clock. */
51
- configure(opts: Partial<RegistryConfig>): void;
52
- /** Inspect current size (debug only). */
53
- size(): number;
54
- };
55
- /**
56
- * Apply a flat override map to every node input in a workflow.
57
- * For each (key, value) in overrides, sets node.inputs[key] = value on any node
58
- * that already has that input. Returns a new workflow; does not mutate input.
59
- *
60
- * Example: { cfg: 8, seed: 12345 } → updates KSampler-style nodes only.
61
- */
62
- export declare function applyOverrides(workflow: WorkflowJSON, overrides: Record<string, unknown> | undefined): WorkflowJSON;
63
- export {};
64
- //# sourceMappingURL=asset-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"asset-registry.d.ts","sourceRoot":"","sources":["../../src/services/asset-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,MAAM,CAAC;CACnB;AA6BD,eAAO,MAAM,aAAa;IACxB;;;OAGG;8CACuC,YAAY,GAAG,WAAW,EAAE;IAwBtE,wEAAwE;iBAC3D,MAAM,GAAG,WAAW,GAAG,SAAS;IAU7C,iCAAiC;4BACV,QAAQ,GAAQ,WAAW,EAAE;IAOpD,qDAAqD;aAC5C,MAAM;IAWf,iDAAiD;aACxC,IAAI;IAIb,uDAAuD;oBACvC,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAK9C,yCAAyC;YACjC,MAAM;CAGf,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC7C,YAAY,CAYd"}
@@ -1,24 +0,0 @@
1
- import type { FileHasher } from "./file-hasher.js";
2
- export interface CivitaiModelVersion {
3
- id: number;
4
- modelId: number;
5
- name: string;
6
- model?: {
7
- name: string;
8
- type: string;
9
- };
10
- }
11
- /**
12
- * Look up a model/LoRA on CivitAI by its AutoV2 hash.
13
- * Updates the file_hashes cache with the result.
14
- */
15
- export declare function lookupByHash(hasher: FileHasher, filename: string, autov2: string): Promise<CivitaiModelVersion | null>;
16
- /**
17
- * Batch-check multiple files against CivitAI.
18
- * Only checks files that haven't been looked up yet.
19
- */
20
- export declare function batchLookup(hasher: FileHasher, files: Array<{
21
- filename: string;
22
- autov2: string;
23
- }>): Promise<Map<string, CivitaiModelVersion | null>>;
24
- //# sourceMappingURL=civitai-lookup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"civitai-lookup.d.ts","sourceRoot":"","sources":["../../src/services/civitai-lookup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA6CrC;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GACjD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAyBlD"}
@@ -1,27 +0,0 @@
1
- export interface CivitaiResolved {
2
- /**
3
- * Direct download URL. No credentials are embedded — `downloadModel` attaches
4
- * the CivitAI token as an `Authorization` request header, so the token never
5
- * leaks into logs, error messages, or redirect URLs.
6
- */
7
- downloadUrl: string;
8
- /** Suggested filename from CivitAI metadata, when available. */
9
- filename?: string;
10
- /** Resolved model-version id. */
11
- versionId: number;
12
- /** Model name, when resolvable. */
13
- modelName?: string;
14
- }
15
- /**
16
- * Resolve a CivitAI model-version id directly to a download URL.
17
- * Uses GET /api/v1/model-versions/{id}.
18
- */
19
- export declare function resolveCivitaiModelVersion(versionId: number): Promise<CivitaiResolved>;
20
- /**
21
- * Resolve a CivitAI model id to a download URL.
22
- * Uses GET /api/v1/models/{id} and picks a model version.
23
- * If `versionId` is supplied, that specific version is used; otherwise the
24
- * latest (first listed) version is chosen.
25
- */
26
- export declare function resolveCivitaiModel(modelId: number, versionId?: number): Promise<CivitaiResolved>;
27
- //# sourceMappingURL=civitai-resolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"civitai-resolver.d.ts","sourceRoot":"","sources":["../../src/services/civitai-resolver.ts"],"names":[],"mappings":"AA+BA,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwDD;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAK1B;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,CAAC,CAyB1B"}
@@ -1,31 +0,0 @@
1
- export type DefaultSource = "config" | "env" | "runtime";
2
- export interface ResolvedValue {
3
- value: unknown;
4
- source: DefaultSource;
5
- }
6
- interface ManagerConfig {
7
- configPath: string;
8
- env: Record<string, string | undefined>;
9
- }
10
- export declare const DefaultsManager: {
11
- configure(opts: Partial<ManagerConfig>): void;
12
- reset(): void;
13
- getConfigPath(): string;
14
- load(): Promise<void>;
15
- /**
16
- * Return the resolved view of all defaults, with source attribution.
17
- * Precedence (lowest → highest): config → env → runtime.
18
- */
19
- getAll(): Record<string, ResolvedValue>;
20
- get(key: string): ResolvedValue | undefined;
21
- set(updates: Record<string, unknown>, opts?: {
22
- persist?: boolean;
23
- }): Promise<void>;
24
- /**
25
- * Fill missing or undefined fields in `args` from resolved defaults.
26
- * Per-call args win — only undefined-or-missing keys get backfilled.
27
- */
28
- apply<T extends Record<string, unknown>>(args: T): T & Record<string, unknown>;
29
- };
30
- export {};
31
- //# sourceMappingURL=defaults-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"defaults-manager.d.ts","sourceRoot":"","sources":["../../src/services/defaults-manager.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACzC;AAuCD,eAAO,MAAM,eAAe;oBACV,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;aAKpC,IAAI;qBAMI,MAAM;YAIT,OAAO,CAAC,IAAI,CAAC;IA0B3B;;;OAGG;cACO,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;aAc9B,MAAM,GAAG,aAAa,GAAG,SAAS;iBAKhC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SACzB;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3B,OAAO,CAAC,IAAI,CAAC;IAahB;;;OAGG;UACG,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAQ/E,CAAC"}
@@ -1,30 +0,0 @@
1
- export type DownloadAuth = {
2
- type: "bearer";
3
- token: string;
4
- } | {
5
- type: "basic";
6
- username: string;
7
- password: string;
8
- } | {
9
- type: "header";
10
- header_name: string;
11
- header_value: string;
12
- } | {
13
- type: "query";
14
- query_param: string;
15
- query_value: string;
16
- } | {
17
- type: "s3";
18
- access_key_id: string;
19
- secret_access_key: string;
20
- session_token?: string;
21
- region?: string;
22
- endpoint?: string;
23
- };
24
- export interface DownloadRequestAuth {
25
- url: string;
26
- headers: Record<string, string>;
27
- }
28
- export declare function redactUrlForLogs(url: string, extraSensitiveParams?: string[]): string;
29
- export declare function applyDownloadAuth(url: string, auth?: DownloadAuth): DownloadRequestAuth;
30
- //# sourceMappingURL=download-auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"download-auth.d.ts","sourceRoot":"","sources":["../../src/services/download-auth.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC3D;IACE,IAAI,EAAE,IAAI,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEN,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAyDD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,oBAAoB,GAAE,MAAM,EAAO,GAClC,MAAM,CAcR;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,YAAY,GAClB,mBAAmB,CAuCrB"}
@@ -1,28 +0,0 @@
1
- import { copyFile, link, mkdir, readdir, rename, rm, stat, utimes } from "node:fs/promises";
2
- import { type CloudStorageAuth } from "./storage/index.js";
3
- export declare const downloadCacheFs: {
4
- copyFile: typeof copyFile;
5
- link: typeof link;
6
- mkdir: typeof mkdir;
7
- readdir: typeof readdir;
8
- rename: typeof rename;
9
- rm: typeof rm;
10
- stat: typeof stat;
11
- utimes: typeof utimes;
12
- };
13
- export interface DownloadCacheOptions {
14
- url: string;
15
- headers: Record<string, string>;
16
- targetPath: string;
17
- logUrl?: string;
18
- storageAuth?: CloudStorageAuth;
19
- }
20
- export interface DownloadCacheResult {
21
- targetPath: string;
22
- usedCache: boolean;
23
- cachePath?: string;
24
- materializedBy?: "hardlink" | "copy";
25
- }
26
- export declare function downloadUrlToFile(url: string, targetPath: string, headers: Record<string, string>, logUrl?: string, storageAuth?: CloudStorageAuth): Promise<void>;
27
- export declare function downloadWithCache(options: DownloadCacheOptions): Promise<DownloadCacheResult>;
28
- //# sourceMappingURL=download-cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"download-cache.d.ts","sourceRoot":"","sources":["../../src/services/download-cache.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,OAAO,EACP,MAAM,EACN,EAAE,EACF,IAAI,EACJ,MAAM,EACP,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAO5B,eAAO,MAAM,eAAe;;;;;;;;;CAS3B,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;CACtC;AAoLD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,GAAE,gBAAqB,GACjC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAgC9B"}
@@ -1,32 +0,0 @@
1
- import type Database from "better-sqlite3";
2
- export interface FileHashResult {
3
- filename: string;
4
- filePath: string;
5
- sha256: string;
6
- autov2: string;
7
- fileType: string;
8
- civitaiId: number | null;
9
- civitaiName: string | null;
10
- civitaiModelId: number | null;
11
- }
12
- export declare class FileHasher {
13
- private db;
14
- constructor(db: Database.Database);
15
- /**
16
- * Get or compute the hash for a file. Uses cache if file hasn't changed.
17
- */
18
- getHash(filePath: string, fileType: string): Promise<FileHashResult>;
19
- /**
20
- * Update CivitAI metadata for a cached file hash.
21
- */
22
- updateCivitaiInfo(filename: string, civitaiId: number | null, civitaiName: string | null, civitaiModelId: number | null): void;
23
- /**
24
- * Look up a cached hash by filename (no recomputation).
25
- */
26
- getCached(filename: string): FileHashResult | null;
27
- /**
28
- * Check if a file needs CivitAI lookup (no civitai check recorded).
29
- */
30
- needsCivitaiCheck(filename: string): boolean;
31
- }
32
- //# sourceMappingURL=file-hasher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-hasher.d.ts","sourceRoot":"","sources":["../../src/services/file-hasher.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAkBD,qBAAa,UAAU;IACrB,OAAO,CAAC,EAAE,CAAoB;gBAElB,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAKjC;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA2D1E;;OAEG;IACH,iBAAiB,CACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,GAC5B,IAAI;IAUP;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAmBlD;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAM7C"}
@@ -1,50 +0,0 @@
1
- import type { WorkflowJSON } from "../comfyui/types.js";
2
- interface CommonArgs {
3
- prompt: string;
4
- negative_prompt?: string;
5
- width?: number;
6
- height?: number;
7
- steps?: number;
8
- cfg?: number;
9
- sampler?: string;
10
- scheduler?: string;
11
- seed?: number;
12
- checkpoint?: string;
13
- }
14
- export interface ControlNetArgs extends CommonArgs {
15
- control_image: string;
16
- controlnet_model?: string;
17
- strength?: number;
18
- }
19
- export interface IpAdapterArgs extends CommonArgs {
20
- reference_image: string;
21
- weight?: number;
22
- preset?: string;
23
- }
24
- export interface ConditionedDeps {
25
- resolveCheckpoint: () => Promise<string | undefined>;
26
- enqueue: (workflow: WorkflowJSON) => Promise<{
27
- prompt_id: string;
28
- queue_remaining?: number;
29
- }>;
30
- /** Optional: resolve a local ControlNet model when none is given/defaulted. */
31
- resolveControlNetModel?: () => Promise<string | undefined>;
32
- }
33
- export interface ConditionedResult {
34
- prompt_id: string;
35
- queue_remaining?: number;
36
- checkpoint: string;
37
- }
38
- /**
39
- * Build + enqueue a ControlNet-conditioned txt2img workflow. `control_image`
40
- * must already exist in ComfyUI's input dir (use upload_image first).
41
- */
42
- export declare function generateWithControlNet(args: ControlNetArgs, deps: ConditionedDeps): Promise<ConditionedResult>;
43
- /**
44
- * Build + enqueue an IP-Adapter-conditioned txt2img workflow. Requires the
45
- * ComfyUI_IPAdapter_plus custom nodes. `reference_image` must already exist in
46
- * ComfyUI's input dir (use upload_image first).
47
- */
48
- export declare function generateWithIpAdapter(args: IpAdapterArgs, deps: ConditionedDeps): Promise<ConditionedResult>;
49
- export {};
50
- //# sourceMappingURL=generate-conditioned.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-conditioned.d.ts","sourceRoot":"","sources":["../../src/services/generate-conditioned.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKxD,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACrD,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9F,+EAA+E;IAC/E,sBAAsB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AA0DD;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,iBAAiB,CAAC,CA2B5B;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,aAAa,EACnB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAgB5B"}
@@ -1,35 +0,0 @@
1
- import type { WorkflowJSON } from "../comfyui/types.js";
2
- export interface GenerateImageArgs {
3
- prompt: string;
4
- negative_prompt?: string;
5
- width?: number;
6
- height?: number;
7
- steps?: number;
8
- cfg?: number;
9
- sampler?: string;
10
- scheduler?: string;
11
- seed?: number;
12
- checkpoint?: string;
13
- batch_size?: number;
14
- }
15
- export interface GenerateImageDeps {
16
- /** Resolve a checkpoint filename when none is given or defaulted. */
17
- resolveCheckpoint: () => Promise<string | undefined>;
18
- /** Submit the constructed workflow; returns the prompt id. */
19
- enqueue: (workflow: WorkflowJSON) => Promise<{
20
- prompt_id: string;
21
- queue_remaining?: number;
22
- }>;
23
- }
24
- export interface GenerateImageResult {
25
- prompt_id: string;
26
- queue_remaining?: number;
27
- checkpoint: string;
28
- }
29
- /**
30
- * Construct a txt2img workflow from `args` backfilled by DefaultsManager,
31
- * auto-resolving a checkpoint if needed, then enqueue it. Reuses the existing
32
- * workflow-composer txt2img template rather than building the node graph here.
33
- */
34
- export declare function generateImage(args: GenerateImageArgs, deps: GenerateImageDeps): Promise<GenerateImageResult>;
35
- //# sourceMappingURL=generate-image.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-image.d.ts","sourceRoot":"","sources":["../../src/services/generate-image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKxD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACrD,8DAA8D;IAC9D,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/F;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAgBD;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,mBAAmB,CAAC,CA6C9B"}
@@ -1,84 +0,0 @@
1
- import { FileHasher } from "./file-hasher.js";
2
- export interface GenerationEntry {
3
- modelFamily: string;
4
- modelHash: string;
5
- modelName: string | null;
6
- presetName: string | null;
7
- sampler: string;
8
- scheduler: string;
9
- steps: number;
10
- cfg: number;
11
- denoise: number;
12
- shift: number | null;
13
- width: number;
14
- height: number;
15
- loraHash: string | null;
16
- loraName: string | null;
17
- loraStrength: number | null;
18
- loraCivitaiId: number | null;
19
- negPromptHash: string | null;
20
- }
21
- export interface TopSetting {
22
- settingsHash: string;
23
- modelFamily: string;
24
- modelHash: string;
25
- modelName: string | null;
26
- presetName: string | null;
27
- sampler: string;
28
- scheduler: string;
29
- steps: number;
30
- cfg: number;
31
- denoise: number;
32
- shift: number | null;
33
- loraHash: string | null;
34
- loraName: string | null;
35
- loraStrength: number | null;
36
- reuseCount: number;
37
- createdAt: string;
38
- }
39
- export interface GenerationStats {
40
- totalGenerations: number;
41
- uniqueCombos: number;
42
- modelBreakdown: Array<{
43
- modelFamily: string;
44
- count: number;
45
- }>;
46
- topSettings: TopSetting[];
47
- }
48
- export declare class GenerationTracker {
49
- private db;
50
- readonly fileHasher: FileHasher;
51
- constructor(dbPath?: string);
52
- private defaultDbPath;
53
- /**
54
- * Log a generation. If the same settings_hash already exists,
55
- * increments reuse_count and updates timestamp instead of inserting.
56
- */
57
- logGeneration(entry: GenerationEntry): {
58
- settingsHash: string;
59
- reuseCount: number;
60
- };
61
- /**
62
- * Get top settings for a model family, ordered by reuse count.
63
- */
64
- suggestSettings(modelFamily: string, limit?: number): TopSetting[];
65
- /**
66
- * Get top settings for a specific LoRA hash.
67
- */
68
- suggestSettingsForLora(loraHash: string, limit?: number): TopSetting[];
69
- /**
70
- * Search generations by model or LoRA name (substring match).
71
- */
72
- searchByName(query: string, limit?: number): TopSetting[];
73
- /**
74
- * Get overall generation statistics.
75
- */
76
- getStats(modelFamily?: string): GenerationStats;
77
- /**
78
- * Get shareable entries (only those with public LoRAs or no LoRA).
79
- */
80
- getShareableEntries(): TopSetting[];
81
- close(): void;
82
- }
83
- export declare function getTracker(): GenerationTracker;
84
- //# sourceMappingURL=generation-tracker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generation-tracker.d.ts","sourceRoot":"","sources":["../../src/services/generation-tracker.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAuB,MAAM,kBAAkB,CAAC;AAMnE,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AA8ED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,EAAE,CAAoB;IAC9B,SAAgB,UAAU,EAAE,UAAU,CAAC;gBAE3B,MAAM,CAAC,EAAE,MAAM;IAiB3B,OAAO,CAAC,aAAa;IAQrB;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IA+DnF;;OAEG;IACH,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,KAAK,SAAK,GACT,UAAU,EAAE;IAgBf;;OAEG;IACH,sBAAsB,CACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAK,GACT,UAAU,EAAE;IAgBf;;OAEG;IACH,YAAY,CACV,KAAK,EAAE,MAAM,EACb,KAAK,SAAK,GACT,UAAU,EAAE;IAiBf;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,eAAe;IA2C/C;;OAEG;IACH,mBAAmB,IAAI,UAAU,EAAE;IAenC,KAAK,IAAI,IAAI;CAGd;AAiCD,wBAAgB,UAAU,IAAI,iBAAiB,CAK9C"}
@@ -1,6 +0,0 @@
1
- export interface HealthCheckOptions {
2
- modelCategories?: string[];
3
- recentErrors?: number;
4
- }
5
- export declare function runHealthCheck(options?: HealthCheckOptions): Promise<string>;
6
- //# sourceMappingURL=health-check.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"health-check.d.ts","sourceRoot":"","sources":["../../src/services/health-check.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,kBAAkB;IACjC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,cAAc,CAClC,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,MAAM,CAAC,CAuGjB"}
@@ -1,12 +0,0 @@
1
- import type { WorkflowJSON, ObjectInfo } from "../comfyui/types.js";
2
- import type { SectionInfo, VirtualEdge } from "./workflow-sections.js";
3
- interface HierarchicalOptions {
4
- showValues?: boolean;
5
- direction?: "LR" | "TB";
6
- }
7
- export declare function generateOverview(workflow: WorkflowJSON, sections: Map<string, SectionInfo>, options?: HierarchicalOptions): string;
8
- export declare function generateSectionDetail(workflow: WorkflowJSON, sections: Map<string, SectionInfo>, sectionName: string, options?: HierarchicalOptions): string;
9
- export declare function listSections(workflow: WorkflowJSON, sections: Map<string, SectionInfo>): string;
10
- export declare function generateSummary(workflow: WorkflowJSON, sections: Map<string, SectionInfo>, objectInfo: ObjectInfo, virtualEdges: VirtualEdge[], nodeToSection: Map<string, string>, getSetNodeIds: Set<string>): string;
11
- export {};
12
- //# sourceMappingURL=hierarchical-mermaid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hierarchical-mermaid.d.ts","sourceRoot":"","sources":["../../src/services/hierarchical-mermaid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAYvE,UAAU,mBAAmB;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACzB;AAsBD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAClC,OAAO,GAAE,mBAAwB,GAChC,MAAM,CA0DR;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAClC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,mBAAwB,GAChC,MAAM,CAkJR;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GACjC,MAAM,CAkCR;AA0DD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAClC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,WAAW,EAAE,EAC3B,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAClC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,MAAM,CA4HR"}
@@ -1,29 +0,0 @@
1
- export type ConvertImageFormat = "png" | "jpeg" | "webp";
2
- export interface ConvertImageOptions {
3
- asset_id?: string;
4
- path?: string;
5
- format: ConvertImageFormat;
6
- quality?: number;
7
- progressive?: boolean;
8
- lossless?: boolean;
9
- effort?: number;
10
- out_path?: string;
11
- }
12
- export interface ConvertImageResult {
13
- content: Array<{
14
- type: "text";
15
- text: string;
16
- } | {
17
- type: "image";
18
- data: string;
19
- mimeType: string;
20
- }>;
21
- format: ConvertImageFormat;
22
- mimeType: string;
23
- sourceBytes: number;
24
- outputBytes: number;
25
- bytesSaved: number;
26
- outPath?: string;
27
- }
28
- export declare function convertImage(opts: ConvertImageOptions): Promise<ConvertImageResult>;
29
- //# sourceMappingURL=image-convert.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-convert.d.ts","sourceRoot":"","sources":["../../src/services/image-convert.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,kBAAkB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,KAAK,CACV;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAC9B;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CACpD,CAAC;IACF,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA4ND,wBAAsB,YAAY,CAChC,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,kBAAkB,CAAC,CA8C7B"}