@vibesdotdev/integrations-comfyui 0.0.0-stage → 1.0.0-rc.1

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 (75) hide show
  1. package/LICENSE +126 -0
  2. package/README.md +39 -2
  3. package/dist/ai/index.d.ts +4 -0
  4. package/dist/ai/index.d.ts.map +1 -0
  5. package/dist/ai/index.js +4 -0
  6. package/dist/ai/index.js.map +1 -0
  7. package/dist/ai/provider.consumer.plugin.d.ts +6 -0
  8. package/dist/ai/provider.consumer.plugin.d.ts.map +1 -0
  9. package/dist/ai/provider.consumer.plugin.js +122 -0
  10. package/dist/ai/provider.consumer.plugin.js.map +1 -0
  11. package/dist/ai/provider.plugin.d.ts +3 -0
  12. package/dist/ai/provider.plugin.d.ts.map +1 -0
  13. package/dist/ai/provider.plugin.js +3 -0
  14. package/dist/ai/provider.plugin.js.map +1 -0
  15. package/dist/ai/providers/comfyui/comfyui.provider.impl.d.ts +20 -0
  16. package/dist/ai/providers/comfyui/comfyui.provider.impl.d.ts.map +1 -0
  17. package/dist/ai/providers/comfyui/comfyui.provider.impl.js +104 -0
  18. package/dist/ai/providers/comfyui/comfyui.provider.impl.js.map +1 -0
  19. package/dist/ai/providers/comfyui/detection/index.d.ts +2 -0
  20. package/dist/ai/providers/comfyui/detection/index.d.ts.map +1 -0
  21. package/dist/ai/providers/comfyui/detection/index.js +2 -0
  22. package/dist/ai/providers/comfyui/detection/index.js.map +1 -0
  23. package/dist/ai/providers/comfyui/detection/system.d.ts +6 -0
  24. package/dist/ai/providers/comfyui/detection/system.d.ts.map +1 -0
  25. package/dist/ai/providers/comfyui/detection/system.js +44 -0
  26. package/dist/ai/providers/comfyui/detection/system.js.map +1 -0
  27. package/dist/ai/providers/comfyui/http.d.ts +4 -0
  28. package/dist/ai/providers/comfyui/http.d.ts.map +1 -0
  29. package/dist/ai/providers/comfyui/http.js +36 -0
  30. package/dist/ai/providers/comfyui/http.js.map +1 -0
  31. package/dist/ai/providers/comfyui/index.d.ts +4 -0
  32. package/dist/ai/providers/comfyui/index.d.ts.map +1 -0
  33. package/dist/ai/providers/comfyui/index.js +4 -0
  34. package/dist/ai/providers/comfyui/index.js.map +1 -0
  35. package/dist/ai/providers/comfyui/recommendations.d.ts +24 -0
  36. package/dist/ai/providers/comfyui/recommendations.d.ts.map +1 -0
  37. package/dist/ai/providers/comfyui/recommendations.js +101 -0
  38. package/dist/ai/providers/comfyui/recommendations.js.map +1 -0
  39. package/dist/ai/providers/local/image/comfyui/config/config.comfyui.descriptor.d.ts +4194 -0
  40. package/dist/ai/providers/local/image/comfyui/config/config.comfyui.descriptor.d.ts.map +1 -0
  41. package/dist/ai/providers/local/image/comfyui/config/config.comfyui.descriptor.js +43 -0
  42. package/dist/ai/providers/local/image/comfyui/config/config.comfyui.descriptor.js.map +1 -0
  43. package/dist/ai/providers/local/image/comfyui/config/schemas/index.d.ts +2 -0
  44. package/dist/ai/providers/local/image/comfyui/config/schemas/index.d.ts.map +1 -0
  45. package/dist/ai/providers/local/image/comfyui/config/schemas/index.js +2 -0
  46. package/dist/ai/providers/local/image/comfyui/config/schemas/index.js.map +1 -0
  47. package/dist/ai/providers/local/image/comfyui/index.d.ts +5 -0
  48. package/dist/ai/providers/local/image/comfyui/index.d.ts.map +1 -0
  49. package/dist/ai/providers/local/image/comfyui/index.js +4 -0
  50. package/dist/ai/providers/local/image/comfyui/index.js.map +1 -0
  51. package/dist/ai/providers/local/image/comfyui/provider.comfyui.descriptor.d.ts +183 -0
  52. package/dist/ai/providers/local/image/comfyui/provider.comfyui.descriptor.d.ts.map +1 -0
  53. package/dist/ai/providers/local/image/comfyui/provider.comfyui.descriptor.js +53 -0
  54. package/dist/ai/providers/local/image/comfyui/provider.comfyui.descriptor.js.map +1 -0
  55. package/dist/ai/specs/comfyui-prompt/comfyui-prompt.spec.descriptor.d.ts +37 -0
  56. package/dist/ai/specs/comfyui-prompt/comfyui-prompt.spec.descriptor.d.ts.map +1 -0
  57. package/dist/ai/specs/comfyui-prompt/comfyui-prompt.spec.descriptor.js +34 -0
  58. package/dist/ai/specs/comfyui-prompt/comfyui-prompt.spec.descriptor.js.map +1 -0
  59. package/dist/ai/specs/comfyui-prompt/comfyui-prompt.spec.impl.d.ts +75 -0
  60. package/dist/ai/specs/comfyui-prompt/comfyui-prompt.spec.impl.d.ts.map +1 -0
  61. package/dist/ai/specs/comfyui-prompt/comfyui-prompt.spec.impl.js +239 -0
  62. package/dist/ai/specs/comfyui-prompt/comfyui-prompt.spec.impl.js.map +1 -0
  63. package/dist/config/comfyui.config.descriptor.d.ts +79 -0
  64. package/dist/config/comfyui.config.descriptor.d.ts.map +1 -0
  65. package/dist/config/comfyui.config.descriptor.js +50 -0
  66. package/dist/config/comfyui.config.descriptor.js.map +1 -0
  67. package/dist/index.d.ts +2 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +2 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/schemas/comfyui.d.ts +98 -0
  72. package/dist/schemas/comfyui.d.ts.map +1 -0
  73. package/dist/schemas/comfyui.js +69 -0
  74. package/dist/schemas/comfyui.js.map +1 -0
  75. package/package.json +74 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.comfyui.descriptor.d.ts","sourceRoot":"","sources":["../../../../../../../src/ai/providers/local/image/comfyui/config/config.comfyui.descriptor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { createProviderConfigDescriptor } from '@vibesdotdev/ai/providers-runtime/core/config-descriptor';
2
+ import comfyuiProviderDescriptor from "../provider.comfyui.descriptor.js";
3
+ import { comfyUIConnectionSchema } from "./schemas/index.js";
4
+ export default createProviderConfigDescriptor({
5
+ provider: comfyuiProviderDescriptor,
6
+ schema: comfyUIConnectionSchema,
7
+ optionLabel: 'ComfyUI',
8
+ optionDescription: 'Local node-based image generation',
9
+ optionIcon: '🕸️',
10
+ fields: {
11
+ 'configuration.baseUrl': {
12
+ ui: {
13
+ label: 'ComfyUI URL',
14
+ description: 'ComfyUI server address',
15
+ placeholder: 'http://localhost:8188',
16
+ component: 'input',
17
+ group: 'connection',
18
+ order: 10
19
+ }
20
+ },
21
+ 'configuration.clientId': {
22
+ ui: {
23
+ label: 'Client ID',
24
+ description: 'Optional client identifier for workflow submissions',
25
+ placeholder: 'vibes-comfyui',
26
+ component: 'input',
27
+ group: 'connection',
28
+ order: 11
29
+ }
30
+ },
31
+ 'configuration.timeout': {
32
+ ui: {
33
+ label: 'Timeout',
34
+ description: 'Request timeout in milliseconds',
35
+ placeholder: '60000',
36
+ component: 'number',
37
+ group: 'connection',
38
+ order: 12
39
+ }
40
+ }
41
+ }
42
+ });
43
+ //# sourceMappingURL=config.comfyui.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.comfyui.descriptor.js","sourceRoot":"","sources":["../../../../../../../src/ai/providers/local/image/comfyui/config/config.comfyui.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,0DAA0D,CAAC;AAC1G,OAAO,yBAAyB,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,eAAe,8BAA8B,CAAC;IAC7C,QAAQ,EAAE,yBAAyB;IACnC,MAAM,EAAE,uBAAuB;IAC/B,WAAW,EAAE,SAAS;IACtB,iBAAiB,EAAE,mCAAmC;IACtD,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE;QACP,uBAAuB,EAAE;YACxB,EAAE,EAAE;gBACH,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,wBAAwB;gBACrC,WAAW,EAAE,uBAAuB;gBACpC,SAAS,EAAE,OAAO;gBAClB,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,EAAE;aACT;SACD;QACD,wBAAwB,EAAE;YACzB,EAAE,EAAE;gBACH,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,qDAAqD;gBAClE,WAAW,EAAE,eAAe;gBAC5B,SAAS,EAAE,OAAO;gBAClB,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,EAAE;aACT;SACD;QACD,uBAAuB,EAAE;YACxB,EAAE,EAAE;gBACH,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,iCAAiC;gBAC9C,WAAW,EAAE,OAAO;gBACpB,SAAS,EAAE,QAAQ;gBACnB,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,EAAE;aACT;SACD;KACD;CACD,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ComfyUIConnectionSchema as comfyUIConnectionSchema, type ComfyUIConnection } from '../../../../../../../schemas/comfyui.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/ai/providers/local/image/comfyui/config/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,IAAI,uBAAuB,EAClD,KAAK,iBAAiB,EACtB,MAAM,yCAAyC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ComfyUIConnectionSchema as comfyUIConnectionSchema } from "../../../../../../../schemas/comfyui.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../src/ai/providers/local/image/comfyui/config/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,IAAI,uBAAuB,EAElD,MAAM,yCAAyC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { default as comfyuiProviderDescriptor } from './provider.comfyui.descriptor.ts';
2
+ export { default as comfyuiProviderConfigDescriptor } from './config/config.comfyui.descriptor.ts';
3
+ export { comfyUIConnectionSchema } from './config/schemas/index.ts';
4
+ export type { ComfyUIConnection } from './config/schemas/index.ts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ai/providers/local/image/comfyui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { default as comfyuiProviderDescriptor } from "./provider.comfyui.descriptor.js";
2
+ export { default as comfyuiProviderConfigDescriptor } from "./config/config.comfyui.descriptor.js";
3
+ export { comfyUIConnectionSchema } from "./config/schemas/index.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/ai/providers/local/image/comfyui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,OAAO,IAAI,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,183 @@
1
+ declare const _default: {
2
+ id: string;
3
+ kind: "ai/provider";
4
+ name: string;
5
+ version: string;
6
+ connectionSchema: unknown;
7
+ priority: number;
8
+ enabled: boolean;
9
+ description?: string | undefined;
10
+ defaults?: Record<string, unknown> | undefined;
11
+ baseUrlTemplate?: string | undefined;
12
+ capabilities?: {
13
+ [x: string]: unknown;
14
+ modalities?: ("vision" | "image" | "text" | "audio" | "video" | "embedding" | "transcription" | "evaluation")[] | undefined;
15
+ authType?: "none" | "api_key" | "bearer" | "oauth" | "basic" | undefined;
16
+ authMethods?: {
17
+ [x: string]: unknown;
18
+ id: string;
19
+ type: "none" | "api_key" | "bearer" | "oauth" | "basic";
20
+ label: string;
21
+ credentialFields: string[];
22
+ enabled: boolean;
23
+ description?: string | undefined;
24
+ tokenSource?: "none" | "runtime" | "credential" | "oauth-browser" | "oauth-device-code" | undefined;
25
+ recommended?: boolean | undefined;
26
+ docsUrl?: string | undefined;
27
+ scopes?: string[] | undefined;
28
+ execution?: {
29
+ credentialCustodies: ("consumer" | "server")[];
30
+ billingOwners: ("user" | "organization" | "platform")[];
31
+ } | undefined;
32
+ }[] | undefined;
33
+ streaming?: boolean | undefined;
34
+ tools?: boolean | undefined;
35
+ vision?: boolean | undefined;
36
+ jsonMode?: boolean | undefined;
37
+ functionCalling?: boolean | undefined;
38
+ contextWindow?: number | undefined;
39
+ maxOutputTokens?: number | undefined;
40
+ } | undefined;
41
+ category?: "cloud" | "local" | "hybrid" | undefined;
42
+ hardware?: ("cloud" | "consumer")[] | undefined;
43
+ icon?: string | undefined;
44
+ branding?: {
45
+ [x: string]: unknown;
46
+ logo?: {
47
+ [x: string]: unknown;
48
+ kind: "wordmark" | "mark" | "lockup" | "badge";
49
+ format: "svg";
50
+ path: string;
51
+ sourceUrl: string;
52
+ sourcePageUrl: string;
53
+ source: "official-brand-page" | "official-brand-kit" | "official-homepage-inline" | "official-cdn" | "official-github";
54
+ theme: "any" | "light" | "dark";
55
+ usageNotes?: string | undefined;
56
+ licenseNotes?: string | undefined;
57
+ } | undefined;
58
+ darkLogo?: {
59
+ [x: string]: unknown;
60
+ kind: "wordmark" | "mark" | "lockup" | "badge";
61
+ format: "svg";
62
+ path: string;
63
+ sourceUrl: string;
64
+ sourcePageUrl: string;
65
+ source: "official-brand-page" | "official-brand-kit" | "official-homepage-inline" | "official-cdn" | "official-github";
66
+ theme: "any" | "light" | "dark";
67
+ usageNotes?: string | undefined;
68
+ licenseNotes?: string | undefined;
69
+ } | undefined;
70
+ wordmark?: {
71
+ [x: string]: unknown;
72
+ kind: "wordmark" | "mark" | "lockup" | "badge";
73
+ format: "svg";
74
+ path: string;
75
+ sourceUrl: string;
76
+ sourcePageUrl: string;
77
+ source: "official-brand-page" | "official-brand-kit" | "official-homepage-inline" | "official-cdn" | "official-github";
78
+ theme: "any" | "light" | "dark";
79
+ usageNotes?: string | undefined;
80
+ licenseNotes?: string | undefined;
81
+ } | undefined;
82
+ darkWordmark?: {
83
+ [x: string]: unknown;
84
+ kind: "wordmark" | "mark" | "lockup" | "badge";
85
+ format: "svg";
86
+ path: string;
87
+ sourceUrl: string;
88
+ sourcePageUrl: string;
89
+ source: "official-brand-page" | "official-brand-kit" | "official-homepage-inline" | "official-cdn" | "official-github";
90
+ theme: "any" | "light" | "dark";
91
+ usageNotes?: string | undefined;
92
+ licenseNotes?: string | undefined;
93
+ } | undefined;
94
+ sourcePageUrl?: string | undefined;
95
+ usageNotes?: string | undefined;
96
+ } | undefined;
97
+ docsUrl?: string | undefined;
98
+ tags?: string[] | undefined;
99
+ variants?: {
100
+ id: string;
101
+ label: string;
102
+ transport: string;
103
+ specId: string;
104
+ endpoint: string;
105
+ auth: {
106
+ kind: "none";
107
+ } | {
108
+ kind: "bearer";
109
+ token: string | {
110
+ source: "secret";
111
+ key: string;
112
+ store?: string | undefined;
113
+ };
114
+ scheme?: string | undefined;
115
+ } | {
116
+ kind: "api-key-header";
117
+ header: string;
118
+ value: string | {
119
+ source: "secret";
120
+ key: string;
121
+ store?: string | undefined;
122
+ };
123
+ } | {
124
+ kind: "basic";
125
+ username: string;
126
+ password: string | {
127
+ source: "secret";
128
+ key: string;
129
+ store?: string | undefined;
130
+ };
131
+ } | {
132
+ kind: "cf-binding";
133
+ bindingName: string;
134
+ };
135
+ modelIdRule: {
136
+ kind: "strip-prefix";
137
+ } | {
138
+ kind: "passthrough";
139
+ } | {
140
+ kind: "explicit";
141
+ modelMap: Record<string, string>;
142
+ };
143
+ priority: number;
144
+ enabled: boolean;
145
+ description?: string | undefined;
146
+ modalities?: ("image" | "text" | "audio" | "video" | "embedding" | "transcription" | "evaluation" | "speech" | "ocr")[] | undefined;
147
+ inheritEnv?: string[] | undefined;
148
+ requiredConfiguration?: string[] | undefined;
149
+ authMethodId?: string | undefined;
150
+ execution?: {
151
+ generationLocations: ("consumer" | "server")[];
152
+ headless: boolean;
153
+ } | undefined;
154
+ tags?: string[] | undefined;
155
+ models?: {
156
+ tags?: string[] | undefined;
157
+ } | undefined;
158
+ additionalHeaders?: Record<string, string> | undefined;
159
+ capabilities?: {
160
+ supportsToolChoiceRequired?: boolean | undefined;
161
+ } | undefined;
162
+ }[] | undefined;
163
+ localDiscovery?: {
164
+ defaultRootDir: string;
165
+ modelGlob: string;
166
+ descriptorFilename?: string | undefined;
167
+ } | undefined;
168
+ loadedModels?: {
169
+ path: string;
170
+ listPath: string;
171
+ idField: string;
172
+ loadedField: string;
173
+ loginPath?: string | undefined;
174
+ loginKeyField?: string | undefined;
175
+ } | undefined;
176
+ cloudStorageDiscovery?: {
177
+ requiredCapabilities: string[];
178
+ modelGlob?: string | undefined;
179
+ descriptorFilename?: string | undefined;
180
+ } | undefined;
181
+ };
182
+ export default _default;
183
+ //# sourceMappingURL=provider.comfyui.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.comfyui.descriptor.d.ts","sourceRoot":"","sources":["../../../../../../src/ai/providers/local/image/comfyui/provider.comfyui.descriptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,wBA6CG"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * ComfyUI provider type descriptor.
3
+ *
4
+ * Describes the local node-based image generation family. It does not
5
+ * construct a client or read credentials.
6
+ */
7
+ import { createAIProviderTypeDescriptor } from '@vibesdotdev/ai/providers-runtime/core/type-descriptor';
8
+ import { comfyUIConnectionSchema } from "./config/schemas/index.js";
9
+ export default createAIProviderTypeDescriptor({
10
+ id: 'comfyui',
11
+ version: '0.1.0-rc.0',
12
+ name: 'ComfyUI',
13
+ description: 'Local node-based image generation. Run advanced Stable Diffusion workflows on ' +
14
+ 'consumer hardware with complete privacy and no hosted API.',
15
+ connectionSchema: comfyUIConnectionSchema,
16
+ defaults: comfyUIConnectionSchema.parse({}),
17
+ capabilities: {
18
+ modalities: ['image'],
19
+ authType: 'none',
20
+ streaming: false,
21
+ tools: false,
22
+ vision: false,
23
+ jsonMode: false,
24
+ functionCalling: false
25
+ },
26
+ category: 'local',
27
+ hardware: ['consumer'],
28
+ icon: '🕸️',
29
+ docsUrl: 'https://github.com/comfyanonymous/ComfyUI',
30
+ priority: 95,
31
+ enabled: true,
32
+ tags: ['local', 'image', 'comfyui', 'workflow'],
33
+ variants: [
34
+ {
35
+ id: 'prompt',
36
+ label: 'ComfyUI workflow prompt',
37
+ description: 'ComfyUI /prompt graph submission with /history polling and /view image references on a local server.',
38
+ transport: 'fetch',
39
+ specId: 'comfyui-prompt',
40
+ modalities: ['image'],
41
+ endpoint: '{baseUrl}',
42
+ auth: { kind: 'none' },
43
+ modelIdRule: { kind: 'passthrough' },
44
+ priority: 10,
45
+ enabled: true
46
+ }
47
+ ],
48
+ localDiscovery: {
49
+ defaultRootDir: '{home}/ComfyUI/models/checkpoints',
50
+ modelGlob: '*.safetensors'
51
+ }
52
+ });
53
+ //# sourceMappingURL=provider.comfyui.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.comfyui.descriptor.js","sourceRoot":"","sources":["../../../../../../src/ai/providers/local/image/comfyui/provider.comfyui.descriptor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,8BAA8B,EAAE,MAAM,wDAAwD,CAAC;AACxG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,eAAe,8BAA8B,CAAC;IAC7C,EAAE,EAAE,SAAS;IACb,OAAO,EAAE,YAAY;IACrB,IAAI,EAAE,SAAS;IACf,WAAW,EACV,gFAAgF;QAChF,4DAA4D;IAC7D,gBAAgB,EAAE,uBAAuB;IACzC,QAAQ,EAAE,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;IAC3C,YAAY,EAAE;QACb,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK;QACf,eAAe,EAAE,KAAK;KACtB;IACD,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,2CAA2C;IACpD,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC;IAC/C,QAAQ,EAAE;QACT;YACC,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,yBAAyB;YAChC,WAAW,EACV,sGAAsG;YACvG,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,gBAAgB;YACxB,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,QAAQ,EAAE,WAAW;YACrB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACtB,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;YACpC,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,IAAI;SACb;KACD;IACD,cAAc,EAAE;QACf,cAAc,EAAE,mCAAmC;QACnD,SAAS,EAAE,eAAe;KAC1B;CACD,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * `comfyui-prompt` — ComfyUI graph-execution API.
3
+ *
4
+ * ComfyUI executes workflow GRAPHS, not flat prompt calls. POST
5
+ * `{baseUrl}/prompt` with `{prompt: <graph>}` returns `{prompt_id}`;
6
+ * execution is asynchronous. Results are read from
7
+ * `GET {baseUrl}/history/{prompt_id}` (polled until the entry appears),
8
+ * whose outputs are keyed by node id with
9
+ * `images: [{filename, subfolder, type}]`. Decoded images are
10
+ * `{baseUrl}/view?filename=…&subfolder=…&type=…` URL references — the
11
+ * bytes stay on the server. Runs against `http://localhost:8188`.
12
+ */
13
+ declare const _default: {
14
+ id: string;
15
+ kind: "ai/spec";
16
+ name: string;
17
+ description: string;
18
+ modalities: ("image" | "text" | "audio" | "video" | "embedding" | "transcription" | "evaluation" | "speech" | "ocr")[];
19
+ streamFraming: "none" | "sse" | "sse-named" | "ndjson" | "binary-chunked" | "ws-frame";
20
+ toolCallEnvelope: string;
21
+ transports: string[];
22
+ external: boolean;
23
+ priority: number;
24
+ enabled: boolean;
25
+ capabilities?: ("streaming" | "json_mode" | "text_generation" | "chat_completion" | "function_calling" | "embedding_generation" | "image_generation_text_to_image" | "image_generation_image_to_image" | "image_generation_inpainting" | "image_generation_outpainting" | "image_upscaling" | "image_editing_via_instructions" | "audio_generation_text_to_speech" | "audio_generation_voice_cloning" | "audio_generation_music" | "audio_generation_sound_effects" | "audio_transcription" | "audio_transcription_realtime" | "video_generation_text_to_video" | "workflow_execution" | "code_generation" | "image_understanding" | "structured_evaluation")[] | undefined;
26
+ imageControls?: {
27
+ steps: boolean;
28
+ cfg: boolean;
29
+ sampler: boolean;
30
+ scheduler: boolean;
31
+ negativePrompt: boolean;
32
+ seed: boolean;
33
+ } | undefined;
34
+ tags?: string[] | undefined;
35
+ };
36
+ export default _default;
37
+ //# sourceMappingURL=comfyui-prompt.spec.descriptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comfyui-prompt.spec.descriptor.d.ts","sourceRoot":"","sources":["../../../../src/ai/specs/comfyui-prompt/comfyui-prompt.spec.descriptor.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;;;;;;;;;AACH,wBAoBG"}
@@ -0,0 +1,34 @@
1
+ import { createAISpecDescriptor } from '@vibesdotdev/ai/specs/schemas/descriptor';
2
+ /**
3
+ * `comfyui-prompt` — ComfyUI graph-execution API.
4
+ *
5
+ * ComfyUI executes workflow GRAPHS, not flat prompt calls. POST
6
+ * `{baseUrl}/prompt` with `{prompt: <graph>}` returns `{prompt_id}`;
7
+ * execution is asynchronous. Results are read from
8
+ * `GET {baseUrl}/history/{prompt_id}` (polled until the entry appears),
9
+ * whose outputs are keyed by node id with
10
+ * `images: [{filename, subfolder, type}]`. Decoded images are
11
+ * `{baseUrl}/view?filename=…&subfolder=…&type=…` URL references — the
12
+ * bytes stay on the server. Runs against `http://localhost:8188`.
13
+ */
14
+ export default createAISpecDescriptor({
15
+ id: 'comfyui-prompt',
16
+ name: 'ComfyUI prompt',
17
+ description: 'ComfyUI graph-execution dialect: canonical text-to-image workflow graph to /prompt, bounded /history polling, /view URL references out.',
18
+ modalities: ['image'],
19
+ streamFraming: 'none',
20
+ toolCallEnvelope: 'none',
21
+ transports: ['fetch'],
22
+ capabilities: ['image_generation_text_to_image'],
23
+ imageControls: {
24
+ steps: true,
25
+ cfg: true,
26
+ sampler: false,
27
+ scheduler: false,
28
+ negativePrompt: true,
29
+ seed: true
30
+ },
31
+ priority: 100,
32
+ tags: ['comfyui', 'stable-diffusion', 'image', 'workflow']
33
+ });
34
+ //# sourceMappingURL=comfyui-prompt.spec.descriptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comfyui-prompt.spec.descriptor.js","sourceRoot":"","sources":["../../../../src/ai/specs/comfyui-prompt/comfyui-prompt.spec.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAElF;;;;;;;;;;;GAWG;AACH,eAAe,sBAAsB,CAAC;IACrC,EAAE,EAAE,gBAAgB;IACpB,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACV,yIAAyI;IAC1I,UAAU,EAAE,CAAC,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM;IACrB,gBAAgB,EAAE,MAAM;IACxB,UAAU,EAAE,CAAC,OAAO,CAAC;IACrB,YAAY,EAAE,CAAC,gCAAgC,CAAC;IAChD,aAAa,EAAE;QACd,KAAK,EAAE,IAAI;QACX,GAAG,EAAE,IAAI;QACT,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,KAAK;QAChB,cAAc,EAAE,IAAI;QACpB,IAAI,EAAE,IAAI;KACV;IACD,QAAQ,EAAE,GAAG;IACb,IAAI,EAAE,CAAC,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,CAAC;CAC1D,CAAC,CAAC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * `comfyui-prompt` impl.
3
+ *
4
+ * Encodes `ImageGenerationRequest` into ComfyUI's graph-execution
5
+ * dialect: builds the canonical text-to-image workflow graph
6
+ * (CheckpointLoaderSimple → CLIPTextEncode positive/negative →
7
+ * EmptyLatentImage → KSampler → VAEDecode → SaveImage) and submits it
8
+ * as `POST {baseUrl}/prompt`. Execution is asynchronous: the decoder
9
+ * reads `{prompt_id}` from the submission response, polls
10
+ * `GET {baseUrl}/history/{prompt_id}` a bounded number of times, and
11
+ * decodes the history entry's node outputs into
12
+ * `{baseUrl}/view?filename=…&subfolder=…&type=…` image URLs. The
13
+ * bytes are never fetched here — results are URL references (the
14
+ * fal-run reference convention; a1111 differs only because its wire
15
+ * response carries inline base64 rather than file references).
16
+ */
17
+ import { type VibesRuntime } from '@vibesdotdev/kernel';
18
+ import { type ComfyuiSettings, type ComfyUIGraph, type ComfyUIPromptSpecOptions } from '../../../schemas/comfyui.ts';
19
+ import type { AISpecInterface, DecodedEvent, SpecCallContext, WireRequest, WireResponseChunk } from '@vibesdotdev/ai/specs/interfaces';
20
+ import type { GenerationRequest, ImageGenerationRequest } from '@vibesdotdev/ai/interfaces';
21
+ import type { Modality } from '@vibesdotdev/ai/models/schemas';
22
+ export { type ComfyUIPromptSpecOptions } from '../../../schemas/comfyui.ts';
23
+ /** Legacy explicit-subpath constants. The lifecycle deadline bounds network time. */
24
+ export declare const HISTORY_POLL_MAX_ATTEMPTS = 60;
25
+ export declare const HISTORY_POLL_DELAY_MS: number;
26
+ /** Stable node ids of the canonical text-to-image graph. */
27
+ export declare const GRAPH_NODE_IDS: {
28
+ readonly checkpoint: "1";
29
+ readonly positive: "2";
30
+ readonly negative: "3";
31
+ readonly latent: "4";
32
+ readonly sampler: "5";
33
+ readonly decode: "6";
34
+ readonly save: "7";
35
+ };
36
+ /**
37
+ * Build the canonical ComfyUI text-to-image graph in `/prompt` API
38
+ * format: nodes keyed by id, each `{class_type, inputs}`, connections
39
+ * as `[nodeId, outputIndex]`. CheckpointLoaderSimple outputs are
40
+ * MODEL(0) / CLIP(1) / VAE(2); the wire model id is the checkpoint
41
+ * file name.
42
+ */
43
+ export declare function buildTextToImageGraph(request: ImageGenerationRequest, checkpointName: string): ComfyUIGraph;
44
+ export declare class ComfyUIPromptSpec implements AISpecInterface {
45
+ private readonly runtime;
46
+ private readonly settings;
47
+ readonly descriptor: {
48
+ id: string;
49
+ kind: "ai/spec";
50
+ name: string;
51
+ description: string;
52
+ modalities: ("image" | "text" | "audio" | "video" | "embedding" | "transcription" | "evaluation" | "speech" | "ocr")[];
53
+ streamFraming: "none" | "sse" | "sse-named" | "ndjson" | "binary-chunked" | "ws-frame";
54
+ toolCallEnvelope: string;
55
+ transports: string[];
56
+ external: boolean;
57
+ priority: number;
58
+ enabled: boolean;
59
+ capabilities?: ("streaming" | "json_mode" | "text_generation" | "chat_completion" | "function_calling" | "embedding_generation" | "image_generation_text_to_image" | "image_generation_image_to_image" | "image_generation_inpainting" | "image_generation_outpainting" | "image_upscaling" | "image_editing_via_instructions" | "audio_generation_text_to_speech" | "audio_generation_voice_cloning" | "audio_generation_music" | "audio_generation_sound_effects" | "audio_transcription" | "audio_transcription_realtime" | "video_generation_text_to_video" | "workflow_execution" | "code_generation" | "image_understanding" | "structured_evaluation")[] | undefined;
60
+ imageControls?: {
61
+ steps: boolean;
62
+ cfg: boolean;
63
+ sampler: boolean;
64
+ scheduler: boolean;
65
+ negativePrompt: boolean;
66
+ seed: boolean;
67
+ } | undefined;
68
+ tags?: string[] | undefined;
69
+ };
70
+ private readonly options;
71
+ constructor(runtime: VibesRuntime, options?: ComfyUIPromptSpecOptions, settings?: ComfyuiSettings);
72
+ encodeRequest<M extends Modality>(request: GenerationRequest<M>, context: SpecCallContext): WireRequest;
73
+ decodeResponse<M extends Modality>(chunks: AsyncIterable<WireResponseChunk>, request: GenerationRequest<M>, context: SpecCallContext): AsyncIterable<DecodedEvent<M>>;
74
+ }
75
+ //# sourceMappingURL=comfyui-prompt.spec.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comfyui-prompt.spec.impl.d.ts","sourceRoot":"","sources":["../../../../src/ai/specs/comfyui-prompt/comfyui-prompt.spec.impl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAGN,KAAK,eAAe,EACpB,KAAK,YAAY,EAAE,KAAK,wBAAwB,EAChD,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EACX,eAAe,EACf,YAAY,EACZ,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EACX,iBAAiB,EACjB,sBAAsB,EAEtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAI/D,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,qFAAqF;AACrF,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,qBAAqB,QAA8C,CAAC;AAEjF,4DAA4D;AAC5D,eAAO,MAAM,cAAc;;;;;;;;CAQjB,CAAC;AASX;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,sBAAsB,EAC/B,cAAc,EAAE,MAAM,GACpB,YAAY,CAkDd;AAED,qBAAa,iBAAkB,YAAW,eAAe;IAKvD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAN1B,QAAQ,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;MAAc;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;gBAGjC,OAAO,EAAE,YAAY,EACtC,OAAO,GAAE,wBAA6B,EACrB,QAAQ,GAAE,eAAiD;IAK7E,aAAa,CAAC,CAAC,SAAS,QAAQ,EAC/B,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC7B,OAAO,EAAE,eAAe,GACtB,WAAW;IAoBP,cAAc,CAAC,CAAC,SAAS,QAAQ,EACvC,MAAM,EAAE,aAAa,CAAC,iBAAiB,CAAC,EACxC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC7B,OAAO,EAAE,eAAe,GACtB,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CA8GjC"}