@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,4 @@
1
+ export { ComfyUIProviderType } from './comfyui.provider.impl.ts';
2
+ export { detectComfyUISystem } from './detection/system.ts';
3
+ export { ComfyUIRecommendation, comfyuiRecommendation } from './recommendations.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai/providers/comfyui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { ComfyUIProviderType } from "./comfyui.provider.impl.js";
2
+ export { detectComfyUISystem } from "./detection/system.js";
3
+ export { ComfyUIRecommendation, comfyuiRecommendation } from "./recommendations.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai/providers/comfyui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { ProviderRecommendation, type ModelAdapter } from '@vibesdotdev/ai/recommendations/base';
2
+ import type { ModelRecommendation, RecommendationContext, ScannedModel, SetupMethod, SetupStep, UseCase } from '@vibesdotdev/ai/recommendations/schemas';
3
+ export declare class ComfyUIRecommendation extends ProviderRecommendation {
4
+ readonly providerType = "comfyui";
5
+ readonly displayName = "ComfyUI";
6
+ getUseCaseScore(useCase: UseCase): number;
7
+ getReason(): string;
8
+ getStrengths(): string[];
9
+ getWeaknesses(context: RecommendationContext): string[];
10
+ getSupportedSetupMethods(): SetupMethod[];
11
+ getSetupSteps(method: SetupMethod): Promise<SetupStep[]>;
12
+ scanAvailableModels(adapter: ModelAdapter | null): Promise<ScannedModel[]>;
13
+ recommendModels(adapter: ModelAdapter | null, context: RecommendationContext): Promise<ModelRecommendation[]>;
14
+ getExecutionContext(): {
15
+ scanModels: "client";
16
+ getSetupSteps: "both";
17
+ recommendModels: "client";
18
+ };
19
+ supportsLocal(): boolean;
20
+ requiresGPU(): boolean;
21
+ }
22
+ /** Resolve the runtime-owned recommendation; no ambient service instance. */
23
+ export declare function comfyuiRecommendation(runtime: import('@vibesdotdev/kernel').RuntimeRef): Promise<ProviderRecommendation | undefined>;
24
+ //# sourceMappingURL=recommendations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommendations.d.ts","sourceRoot":"","sources":["../../../../src/ai/providers/comfyui/recommendations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,KAAK,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACjG,OAAO,KAAK,EACX,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,SAAS,EACT,OAAO,EACP,MAAM,yCAAyC,CAAC;AAEjD,qBAAa,qBAAsB,SAAQ,sBAAsB;IAChE,QAAQ,CAAC,YAAY,aAAa;IAClC,QAAQ,CAAC,WAAW,aAAa;IAEjC,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAMzC,SAAS,IAAI,MAAM;IAInB,YAAY,IAAI,MAAM,EAAE;IAIxB,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,EAAE;IAMvD,wBAAwB,IAAI,WAAW,EAAE;IAInC,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAqBxD,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAa1E,eAAe,CACpB,OAAO,EAAE,YAAY,GAAG,IAAI,EAC5B,OAAO,EAAE,qBAAqB,GAC5B,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA4BjC,mBAAmB;;;;;IAQnB,aAAa,IAAI,OAAO;IAIxB,WAAW,IAAI,OAAO;CAGtB;AAED,6EAA6E;AAC7E,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,OAAO,qBAAqB,EAAE,UAAU,+CAG5F"}
@@ -0,0 +1,101 @@
1
+ import { ProviderRecommendation } from '@vibesdotdev/ai/recommendations/base';
2
+ export class ComfyUIRecommendation extends ProviderRecommendation {
3
+ providerType = 'comfyui';
4
+ displayName = 'ComfyUI';
5
+ getUseCaseScore(useCase) {
6
+ return { chat: 0, development: 20, research: 25, images: 97, video: 40, audio: 0, organization: 5 }[useCase];
7
+ }
8
+ getReason() {
9
+ return 'Local node-based image workflows with private data flow and no hosted API credential';
10
+ }
11
+ getStrengths() {
12
+ return ['Local and private', 'Advanced workflow graphs', 'Works offline'];
13
+ }
14
+ getWeaknesses(context) {
15
+ return context.hasGPU
16
+ ? ['Requires a running ComfyUI server']
17
+ : ['CPU inference is slow', 'Requires a running ComfyUI server'];
18
+ }
19
+ getSupportedSetupMethods() {
20
+ return ['local_scan', 'env_var'];
21
+ }
22
+ async getSetupSteps(method) {
23
+ return method === 'local_scan'
24
+ ? [
25
+ {
26
+ step: 'Install ComfyUI',
27
+ description: 'Install and start ComfyUI on this machine.',
28
+ action: 'https://github.com/comfyanonymous/ComfyUI'
29
+ },
30
+ {
31
+ step: 'Scan the local server',
32
+ description: 'Let the runtime probe http://localhost:8188 for checkpoints.'
33
+ }
34
+ ]
35
+ : [
36
+ {
37
+ step: 'Configure host',
38
+ description: 'Set baseUrl in the integrations.comfyui configuration manifest when not using localhost.'
39
+ }
40
+ ];
41
+ }
42
+ async scanAvailableModels(adapter) {
43
+ if (!adapter?.listModels)
44
+ return [];
45
+ // A failing adapter propagates: an empty list would read as "nothing installed".
46
+ return (await adapter.listModels()).map((model) => ({
47
+ id: model.id,
48
+ name: model.id,
49
+ recognized: true,
50
+ size: 0,
51
+ modality: ['image'],
52
+ capabilities: ['image']
53
+ }));
54
+ }
55
+ async recommendModels(adapter, context) {
56
+ const scanned = await this.scanAvailableModels(adapter);
57
+ if (scanned.length === 0) {
58
+ return [
59
+ {
60
+ modelId: 'sd_xl_base_1.0.safetensors',
61
+ modelName: 'SDXL Base 1.0',
62
+ score: context.useCase === 'images' ? 92 : 80,
63
+ reason: 'Common ComfyUI checkpoint for local image generation',
64
+ capabilities: ['image'],
65
+ isAvailable: false,
66
+ requiresUpgrade: false,
67
+ useCaseFit: context.useCase === 'images' ? 92 : 80
68
+ }
69
+ ];
70
+ }
71
+ return scanned.map((model, index) => ({
72
+ modelId: model.id,
73
+ modelName: model.name,
74
+ score: 90 - index,
75
+ reason: 'Installed locally and ready to use',
76
+ capabilities: model.capabilities,
77
+ isAvailable: true,
78
+ requiresUpgrade: false,
79
+ useCaseFit: context.useCase === 'images' ? 98 : 90 - index
80
+ }));
81
+ }
82
+ getExecutionContext() {
83
+ return {
84
+ scanModels: 'client',
85
+ getSetupSteps: 'both',
86
+ recommendModels: 'client'
87
+ };
88
+ }
89
+ supportsLocal() {
90
+ return true;
91
+ }
92
+ requiresGPU() {
93
+ return true;
94
+ }
95
+ }
96
+ /** Resolve the runtime-owned recommendation; no ambient service instance. */
97
+ export async function comfyuiRecommendation(runtime) {
98
+ const { getProviderRecommendation } = await import('@vibesdotdev/ai/recommendations');
99
+ return getProviderRecommendation(runtime, 'comfyui');
100
+ }
101
+ //# sourceMappingURL=recommendations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommendations.js","sourceRoot":"","sources":["../../../../src/ai/providers/comfyui/recommendations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAqB,MAAM,sCAAsC,CAAC;AAUjG,MAAM,OAAO,qBAAsB,SAAQ,sBAAsB;IACvD,YAAY,GAAG,SAAS,CAAC;IACzB,WAAW,GAAG,SAAS,CAAC;IAEjC,eAAe,CAAC,OAAgB;QAC/B,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAClG,OAAO,CACP,CAAC;IACH,CAAC;IAED,SAAS;QACR,OAAO,sFAAsF,CAAC;IAC/F,CAAC;IAED,YAAY;QACX,OAAO,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,eAAe,CAAC,CAAC;IAC3E,CAAC;IAED,aAAa,CAAC,OAA8B;QAC3C,OAAO,OAAO,CAAC,MAAM;YACpB,CAAC,CAAC,CAAC,mCAAmC,CAAC;YACvC,CAAC,CAAC,CAAC,uBAAuB,EAAE,mCAAmC,CAAC,CAAC;IACnE,CAAC;IAED,wBAAwB;QACvB,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAmB;QACtC,OAAO,MAAM,KAAK,YAAY;YAC7B,CAAC,CAAC;gBACA;oBACC,IAAI,EAAE,iBAAiB;oBACvB,WAAW,EAAE,4CAA4C;oBACzD,MAAM,EAAE,2CAA2C;iBACnD;gBACD;oBACC,IAAI,EAAE,uBAAuB;oBAC7B,WAAW,EAAE,8DAA8D;iBAC3E;aACD;YACF,CAAC,CAAC;gBACA;oBACC,IAAI,EAAE,gBAAgB;oBACtB,WAAW,EAAE,0FAA0F;iBACvG;aACD,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAA4B;QACrD,IAAI,CAAC,OAAO,EAAE,UAAU;YAAE,OAAO,EAAE,CAAC;QACpC,iFAAiF;QACjF,OAAO,CAAC,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACnD,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,EAAE;YACd,UAAU,EAAE,IAAI;YAChB,IAAI,EAAE,CAAC;YACP,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,YAAY,EAAE,CAAC,OAAO,CAAC;SACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CACpB,OAA4B,EAC5B,OAA8B;QAE9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACN;oBACC,OAAO,EAAE,4BAA4B;oBACrC,SAAS,EAAE,eAAe;oBAC1B,KAAK,EAAE,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;oBAC7C,MAAM,EAAE,sDAAsD;oBAC9D,YAAY,EAAE,CAAC,OAAO,CAAC;oBACvB,WAAW,EAAE,KAAK;oBAClB,eAAe,EAAE,KAAK;oBACtB,UAAU,EAAE,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;iBAClD;aACD,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACrC,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,KAAK,EAAE,EAAE,GAAG,KAAK;YACjB,MAAM,EAAE,oCAAoC;YAC5C,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,KAAK;YACtB,UAAU,EAAE,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK;SAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;QAClB,OAAO;YACN,UAAU,EAAE,QAAiB;YAC7B,aAAa,EAAE,MAAe;YAC9B,eAAe,EAAE,QAAiB;SAClC,CAAC;IACH,CAAC;IAED,aAAa;QACZ,OAAO,IAAI,CAAC;IACb,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AAED,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAiD;IAC5F,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;IACtF,OAAO,yBAAyB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACtD,CAAC"}