@soederpop/luca 0.0.35 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -3
- package/src/bootstrap/generated.ts +1 -1
- package/src/cli/build-info.ts +2 -2
- package/src/commands/console.ts +2 -2
- package/src/commands/prompt.ts +2 -2
- package/src/commands/run.ts +5 -45
- package/src/introspection/generated.agi.ts +635 -535
- package/src/introspection/generated.node.ts +1005 -905
- package/src/introspection/generated.web.ts +1 -1
- package/src/node/container.ts +7 -6
- package/src/node/features/transpiler.ts +111 -0
- package/src/node/features/vm.ts +1 -1
- package/src/python/generated.ts +1 -1
- package/src/scaffolds/generated.ts +1 -1
- package/test/integration.test.ts +5 -5
- package/src/node/features/esbuild.ts +0 -79
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { setBuildTimeData, setContainerBuildTimeData } from './index.js';
|
|
2
2
|
|
|
3
3
|
// Auto-generated introspection registry data
|
|
4
|
-
// Generated at: 2026-03-
|
|
4
|
+
// Generated at: 2026-03-28T05:59:16.299Z
|
|
5
5
|
|
|
6
6
|
setBuildTimeData('features.googleDocs', {
|
|
7
7
|
"id": "features.googleDocs",
|
|
@@ -953,77 +953,6 @@ setBuildTimeData('features.git', {
|
|
|
953
953
|
}
|
|
954
954
|
});
|
|
955
955
|
|
|
956
|
-
setBuildTimeData('features.esbuild', {
|
|
957
|
-
"id": "features.esbuild",
|
|
958
|
-
"description": "A Feature for compiling typescript / esm modules, etc to JavaScript that the container can run at runtime. Uses esbuild for fast, reliable TypeScript/ESM transformation with full format support (esm, cjs, iife).",
|
|
959
|
-
"shortcut": "features.esbuild",
|
|
960
|
-
"className": "ESBuild",
|
|
961
|
-
"methods": {
|
|
962
|
-
"transformSync": {
|
|
963
|
-
"description": "/** Transform code synchronously",
|
|
964
|
-
"parameters": {
|
|
965
|
-
"code": {
|
|
966
|
-
"type": "string",
|
|
967
|
-
"description": "The code to transform"
|
|
968
|
-
},
|
|
969
|
-
"options": {
|
|
970
|
-
"type": "esbuild.TransformOptions",
|
|
971
|
-
"description": "The options to pass to esbuild"
|
|
972
|
-
}
|
|
973
|
-
},
|
|
974
|
-
"required": [
|
|
975
|
-
"code"
|
|
976
|
-
],
|
|
977
|
-
"returns": "esbuild.TransformResult"
|
|
978
|
-
},
|
|
979
|
-
"transform": {
|
|
980
|
-
"description": "Transform code asynchronously",
|
|
981
|
-
"parameters": {
|
|
982
|
-
"code": {
|
|
983
|
-
"type": "string",
|
|
984
|
-
"description": "The code to transform"
|
|
985
|
-
},
|
|
986
|
-
"options": {
|
|
987
|
-
"type": "esbuild.TransformOptions",
|
|
988
|
-
"description": "The options to pass to esbuild"
|
|
989
|
-
}
|
|
990
|
-
},
|
|
991
|
-
"required": [
|
|
992
|
-
"code"
|
|
993
|
-
],
|
|
994
|
-
"returns": "Promise<esbuild.TransformResult>"
|
|
995
|
-
},
|
|
996
|
-
"bundle": {
|
|
997
|
-
"description": "Bundle one or more entry points, resolving imports and requires into a single output. Supports Node platform by default so require() and Node builtins are handled. Returns in-memory output files unless write is enabled in options.",
|
|
998
|
-
"parameters": {
|
|
999
|
-
"entryPoints": {
|
|
1000
|
-
"type": "string[]",
|
|
1001
|
-
"description": "File paths to bundle from"
|
|
1002
|
-
},
|
|
1003
|
-
"options": {
|
|
1004
|
-
"type": "esbuild.BuildOptions",
|
|
1005
|
-
"description": "esbuild BuildOptions overrides"
|
|
1006
|
-
}
|
|
1007
|
-
},
|
|
1008
|
-
"required": [
|
|
1009
|
-
"entryPoints"
|
|
1010
|
-
],
|
|
1011
|
-
"returns": "Promise<esbuild.BuildResult>"
|
|
1012
|
-
}
|
|
1013
|
-
},
|
|
1014
|
-
"getters": {},
|
|
1015
|
-
"events": {},
|
|
1016
|
-
"state": {},
|
|
1017
|
-
"options": {},
|
|
1018
|
-
"envVars": [],
|
|
1019
|
-
"examples": [
|
|
1020
|
-
{
|
|
1021
|
-
"language": "ts",
|
|
1022
|
-
"code": "const esbuild = container.feature('esbuild')\nconst result = esbuild.transformSync('const x: number = 1')\nconsole.log(result.code) // 'const x = 1;\\n'"
|
|
1023
|
-
}
|
|
1024
|
-
]
|
|
1025
|
-
});
|
|
1026
|
-
|
|
1027
956
|
setBuildTimeData('features.dns', {
|
|
1028
957
|
"id": "features.dns",
|
|
1029
958
|
"description": "The Dns feature provides structured DNS lookups by wrapping the `dig` CLI. All query methods parse dig output into typed JSON objects, making it easy to explore and audit a domain's DNS configuration programmatically.",
|
|
@@ -4994,6 +4923,127 @@ setBuildTimeData('features.docker', {
|
|
|
4994
4923
|
}
|
|
4995
4924
|
});
|
|
4996
4925
|
|
|
4926
|
+
setBuildTimeData('features.transpiler', {
|
|
4927
|
+
"id": "features.transpiler",
|
|
4928
|
+
"description": "Transpile TypeScript, TSX, and JSX to JavaScript at runtime using Bun's built-in transpiler. Compile code strings on the fly without touching the filesystem or spawning external processes.",
|
|
4929
|
+
"shortcut": "features.transpiler",
|
|
4930
|
+
"className": "Transpiler",
|
|
4931
|
+
"methods": {
|
|
4932
|
+
"transformSync": {
|
|
4933
|
+
"description": "Transform code synchronously",
|
|
4934
|
+
"parameters": {
|
|
4935
|
+
"code": {
|
|
4936
|
+
"type": "string",
|
|
4937
|
+
"description": "The code to transform"
|
|
4938
|
+
},
|
|
4939
|
+
"options": {
|
|
4940
|
+
"type": "TransformOptions",
|
|
4941
|
+
"description": "Transform options (loader, format, minify)",
|
|
4942
|
+
"properties": {
|
|
4943
|
+
"loader": {
|
|
4944
|
+
"type": "'ts' | 'tsx' | 'jsx' | 'js'",
|
|
4945
|
+
"description": ""
|
|
4946
|
+
},
|
|
4947
|
+
"format": {
|
|
4948
|
+
"type": "'esm' | 'cjs'",
|
|
4949
|
+
"description": ""
|
|
4950
|
+
},
|
|
4951
|
+
"minify": {
|
|
4952
|
+
"type": "boolean",
|
|
4953
|
+
"description": ""
|
|
4954
|
+
}
|
|
4955
|
+
}
|
|
4956
|
+
}
|
|
4957
|
+
},
|
|
4958
|
+
"required": [
|
|
4959
|
+
"code"
|
|
4960
|
+
],
|
|
4961
|
+
"returns": "TransformResult"
|
|
4962
|
+
},
|
|
4963
|
+
"transform": {
|
|
4964
|
+
"description": "Transform code asynchronously",
|
|
4965
|
+
"parameters": {
|
|
4966
|
+
"code": {
|
|
4967
|
+
"type": "string",
|
|
4968
|
+
"description": "The code to transform"
|
|
4969
|
+
},
|
|
4970
|
+
"options": {
|
|
4971
|
+
"type": "TransformOptions",
|
|
4972
|
+
"description": "Transform options (loader, format, minify)",
|
|
4973
|
+
"properties": {
|
|
4974
|
+
"loader": {
|
|
4975
|
+
"type": "'ts' | 'tsx' | 'jsx' | 'js'",
|
|
4976
|
+
"description": ""
|
|
4977
|
+
},
|
|
4978
|
+
"format": {
|
|
4979
|
+
"type": "'esm' | 'cjs'",
|
|
4980
|
+
"description": ""
|
|
4981
|
+
},
|
|
4982
|
+
"minify": {
|
|
4983
|
+
"type": "boolean",
|
|
4984
|
+
"description": ""
|
|
4985
|
+
}
|
|
4986
|
+
}
|
|
4987
|
+
}
|
|
4988
|
+
},
|
|
4989
|
+
"required": [
|
|
4990
|
+
"code"
|
|
4991
|
+
],
|
|
4992
|
+
"returns": "Promise<TransformResult>"
|
|
4993
|
+
}
|
|
4994
|
+
},
|
|
4995
|
+
"getters": {},
|
|
4996
|
+
"events": {},
|
|
4997
|
+
"state": {},
|
|
4998
|
+
"options": {},
|
|
4999
|
+
"envVars": [],
|
|
5000
|
+
"examples": [
|
|
5001
|
+
{
|
|
5002
|
+
"language": "ts",
|
|
5003
|
+
"code": "const transpiler = container.feature('transpiler')\nconst result = transpiler.transformSync('const x: number = 1')\nconsole.log(result.code) // 'const x = 1;\\n'"
|
|
5004
|
+
}
|
|
5005
|
+
],
|
|
5006
|
+
"types": {
|
|
5007
|
+
"TransformOptions": {
|
|
5008
|
+
"description": "",
|
|
5009
|
+
"properties": {
|
|
5010
|
+
"loader": {
|
|
5011
|
+
"type": "'ts' | 'tsx' | 'jsx' | 'js'",
|
|
5012
|
+
"description": "",
|
|
5013
|
+
"optional": true
|
|
5014
|
+
},
|
|
5015
|
+
"format": {
|
|
5016
|
+
"type": "'esm' | 'cjs'",
|
|
5017
|
+
"description": "",
|
|
5018
|
+
"optional": true
|
|
5019
|
+
},
|
|
5020
|
+
"minify": {
|
|
5021
|
+
"type": "boolean",
|
|
5022
|
+
"description": "",
|
|
5023
|
+
"optional": true
|
|
5024
|
+
}
|
|
5025
|
+
}
|
|
5026
|
+
},
|
|
5027
|
+
"TransformResult": {
|
|
5028
|
+
"description": "",
|
|
5029
|
+
"properties": {
|
|
5030
|
+
"code": {
|
|
5031
|
+
"type": "string",
|
|
5032
|
+
"description": ""
|
|
5033
|
+
},
|
|
5034
|
+
"map": {
|
|
5035
|
+
"type": "string",
|
|
5036
|
+
"description": ""
|
|
5037
|
+
},
|
|
5038
|
+
"warnings": {
|
|
5039
|
+
"type": "any[]",
|
|
5040
|
+
"description": ""
|
|
5041
|
+
}
|
|
5042
|
+
}
|
|
5043
|
+
}
|
|
5044
|
+
}
|
|
5045
|
+
});
|
|
5046
|
+
|
|
4997
5047
|
setBuildTimeData('features.yaml', {
|
|
4998
5048
|
"id": "features.yaml",
|
|
4999
5049
|
"description": "The YAML feature provides utilities for parsing and stringifying YAML data. This feature wraps the js-yaml library to provide convenient methods for converting between YAML strings and JavaScript objects. It's automatically attached to Node containers for easy access.",
|
|
@@ -12252,244 +12302,194 @@ setBuildTimeData('clients.supabase', {
|
|
|
12252
12302
|
]
|
|
12253
12303
|
});
|
|
12254
12304
|
|
|
12255
|
-
setBuildTimeData('clients.
|
|
12256
|
-
"id": "clients.
|
|
12257
|
-
"description": "
|
|
12258
|
-
"shortcut": "clients.
|
|
12259
|
-
"className": "
|
|
12305
|
+
setBuildTimeData('clients.elevenlabs', {
|
|
12306
|
+
"id": "clients.elevenlabs",
|
|
12307
|
+
"description": "ElevenLabs client — text-to-speech synthesis via the ElevenLabs REST API. Provides methods for listing voices, listing models, and generating speech audio. Audio is returned as a Buffer; use `say()` for a convenience method that writes to disk.",
|
|
12308
|
+
"shortcut": "clients.elevenlabs",
|
|
12309
|
+
"className": "ElevenLabsClient",
|
|
12260
12310
|
"methods": {
|
|
12261
|
-
"
|
|
12262
|
-
"description": "
|
|
12263
|
-
"parameters": {
|
|
12264
|
-
|
|
12265
|
-
|
|
12266
|
-
|
|
12267
|
-
|
|
12268
|
-
|
|
12269
|
-
|
|
12270
|
-
|
|
12271
|
-
|
|
12272
|
-
},
|
|
12273
|
-
"required": [
|
|
12274
|
-
"prompt"
|
|
12275
|
-
],
|
|
12276
|
-
"returns": "Promise<{ prompt_id: string; number: number }>",
|
|
12311
|
+
"beforeRequest": {
|
|
12312
|
+
"description": "Inject the xi-api-key header before each request.",
|
|
12313
|
+
"parameters": {},
|
|
12314
|
+
"required": [],
|
|
12315
|
+
"returns": "void"
|
|
12316
|
+
},
|
|
12317
|
+
"connect": {
|
|
12318
|
+
"description": "Validate the API key by listing available models.",
|
|
12319
|
+
"parameters": {},
|
|
12320
|
+
"required": [],
|
|
12321
|
+
"returns": "Promise<this>",
|
|
12277
12322
|
"examples": [
|
|
12278
12323
|
{
|
|
12279
12324
|
"language": "ts",
|
|
12280
|
-
"code": "
|
|
12325
|
+
"code": "await el.connect()"
|
|
12281
12326
|
}
|
|
12282
12327
|
]
|
|
12283
12328
|
},
|
|
12284
|
-
"
|
|
12285
|
-
"description": "
|
|
12286
|
-
"parameters": {},
|
|
12287
|
-
"required": [],
|
|
12288
|
-
"returns": "Promise<{ queue_running: any[]; queue_pending: any[] }>"
|
|
12289
|
-
},
|
|
12290
|
-
"getHistory": {
|
|
12291
|
-
"description": "Get execution history, optionally for a specific prompt.",
|
|
12329
|
+
"listVoices": {
|
|
12330
|
+
"description": "List available voices with optional search and filtering.",
|
|
12292
12331
|
"parameters": {
|
|
12293
|
-
"
|
|
12294
|
-
"type": "string",
|
|
12295
|
-
"description": "
|
|
12332
|
+
"options": {
|
|
12333
|
+
"type": "{\n search?: string\n category?: string\n voice_type?: string\n page_size?: number\n next_page_token?: string\n }",
|
|
12334
|
+
"description": "Query parameters for filtering voices"
|
|
12296
12335
|
}
|
|
12297
12336
|
},
|
|
12298
12337
|
"required": [],
|
|
12299
|
-
"returns": "Promise<
|
|
12300
|
-
|
|
12301
|
-
|
|
12302
|
-
|
|
12303
|
-
|
|
12304
|
-
|
|
12305
|
-
|
|
12338
|
+
"returns": "Promise<any>",
|
|
12339
|
+
"examples": [
|
|
12340
|
+
{
|
|
12341
|
+
"language": "ts",
|
|
12342
|
+
"code": "const voices = await el.listVoices()\nconst premade = await el.listVoices({ category: 'premade' })"
|
|
12343
|
+
}
|
|
12344
|
+
]
|
|
12306
12345
|
},
|
|
12307
|
-
"
|
|
12308
|
-
"description": "Get
|
|
12346
|
+
"getVoice": {
|
|
12347
|
+
"description": "Get details for a single voice.",
|
|
12309
12348
|
"parameters": {
|
|
12310
|
-
"
|
|
12349
|
+
"voiceId": {
|
|
12311
12350
|
"type": "string",
|
|
12312
|
-
"description": "
|
|
12351
|
+
"description": "The voice ID to look up"
|
|
12313
12352
|
}
|
|
12314
12353
|
},
|
|
12315
|
-
"required": [
|
|
12316
|
-
|
|
12354
|
+
"required": [
|
|
12355
|
+
"voiceId"
|
|
12356
|
+
],
|
|
12357
|
+
"returns": "Promise<any>",
|
|
12358
|
+
"examples": [
|
|
12359
|
+
{
|
|
12360
|
+
"language": "ts",
|
|
12361
|
+
"code": "const voice = await el.getVoice('21m00Tcm4TlvDq8ikWAM')\nconsole.log(voice.name, voice.settings)"
|
|
12362
|
+
}
|
|
12363
|
+
]
|
|
12317
12364
|
},
|
|
12318
|
-
"
|
|
12319
|
-
"description": "
|
|
12365
|
+
"listModels": {
|
|
12366
|
+
"description": "List available TTS models.",
|
|
12320
12367
|
"parameters": {},
|
|
12321
12368
|
"required": [],
|
|
12322
|
-
"returns": "Promise<
|
|
12369
|
+
"returns": "Promise<any[]>",
|
|
12370
|
+
"examples": [
|
|
12371
|
+
{
|
|
12372
|
+
"language": "ts",
|
|
12373
|
+
"code": "const models = await el.listModels()\nconsole.log(models.map(m => m.model_id))"
|
|
12374
|
+
}
|
|
12375
|
+
]
|
|
12323
12376
|
},
|
|
12324
|
-
"
|
|
12325
|
-
"description": "
|
|
12377
|
+
"synthesize": {
|
|
12378
|
+
"description": "Synthesize speech from text, returning audio as a Buffer.",
|
|
12326
12379
|
"parameters": {
|
|
12327
|
-
"
|
|
12380
|
+
"text": {
|
|
12328
12381
|
"type": "string",
|
|
12329
|
-
"description": "
|
|
12330
|
-
}
|
|
12331
|
-
},
|
|
12332
|
-
"required": [],
|
|
12333
|
-
"returns": "Promise<string[]>"
|
|
12334
|
-
},
|
|
12335
|
-
"getEmbeddings": {
|
|
12336
|
-
"description": "List available embedding models.",
|
|
12337
|
-
"parameters": {},
|
|
12338
|
-
"required": [],
|
|
12339
|
-
"returns": "Promise<string[]>"
|
|
12340
|
-
},
|
|
12341
|
-
"uploadImage": {
|
|
12342
|
-
"description": "Upload an image to ComfyUI's input directory.",
|
|
12343
|
-
"parameters": {
|
|
12344
|
-
"file": {
|
|
12345
|
-
"type": "Buffer | Blob",
|
|
12346
|
-
"description": "The image data as Buffer or Blob"
|
|
12347
|
-
},
|
|
12348
|
-
"filename": {
|
|
12349
|
-
"type": "string",
|
|
12350
|
-
"description": "File name for the upload"
|
|
12351
|
-
},
|
|
12352
|
-
"opts": {
|
|
12353
|
-
"type": "{ subfolder?: string; type?: string; overwrite?: boolean }",
|
|
12354
|
-
"description": "Upload options (subfolder, type, overwrite)"
|
|
12355
|
-
}
|
|
12356
|
-
},
|
|
12357
|
-
"required": [
|
|
12358
|
-
"file",
|
|
12359
|
-
"filename"
|
|
12360
|
-
],
|
|
12361
|
-
"returns": "Promise<any>"
|
|
12362
|
-
},
|
|
12363
|
-
"viewImage": {
|
|
12364
|
-
"description": "Download a generated image from ComfyUI as a Buffer.",
|
|
12365
|
-
"parameters": {
|
|
12366
|
-
"filename": {
|
|
12367
|
-
"type": "string",
|
|
12368
|
-
"description": "The image filename"
|
|
12369
|
-
},
|
|
12370
|
-
"subfolder": {
|
|
12371
|
-
"type": "any",
|
|
12372
|
-
"description": "Subfolder within the output directory"
|
|
12382
|
+
"description": "The text to convert to speech"
|
|
12373
12383
|
},
|
|
12374
|
-
"
|
|
12375
|
-
"type": "
|
|
12376
|
-
"description": "
|
|
12384
|
+
"options": {
|
|
12385
|
+
"type": "SynthesizeOptions",
|
|
12386
|
+
"description": "Voice, model, format, and voice settings overrides",
|
|
12387
|
+
"properties": {
|
|
12388
|
+
"voiceId": {
|
|
12389
|
+
"type": "string",
|
|
12390
|
+
"description": ""
|
|
12391
|
+
},
|
|
12392
|
+
"modelId": {
|
|
12393
|
+
"type": "string",
|
|
12394
|
+
"description": ""
|
|
12395
|
+
},
|
|
12396
|
+
"outputFormat": {
|
|
12397
|
+
"type": "string",
|
|
12398
|
+
"description": ""
|
|
12399
|
+
},
|
|
12400
|
+
"voiceSettings": {
|
|
12401
|
+
"type": "ElevenLabsVoiceSettings",
|
|
12402
|
+
"description": ""
|
|
12403
|
+
},
|
|
12404
|
+
"disableCache": {
|
|
12405
|
+
"type": "boolean",
|
|
12406
|
+
"description": ""
|
|
12407
|
+
}
|
|
12408
|
+
}
|
|
12377
12409
|
}
|
|
12378
12410
|
},
|
|
12379
12411
|
"required": [
|
|
12380
|
-
"
|
|
12412
|
+
"text"
|
|
12381
12413
|
],
|
|
12382
|
-
"returns": "Promise<Buffer>"
|
|
12383
|
-
|
|
12384
|
-
|
|
12385
|
-
|
|
12386
|
-
|
|
12387
|
-
"required": [],
|
|
12388
|
-
"returns": "Promise<void>"
|
|
12389
|
-
},
|
|
12390
|
-
"disconnectWs": {
|
|
12391
|
-
"description": "Close the WebSocket connection.",
|
|
12392
|
-
"parameters": {},
|
|
12393
|
-
"required": [],
|
|
12394
|
-
"returns": "void"
|
|
12395
|
-
},
|
|
12396
|
-
"toApiFormat": {
|
|
12397
|
-
"description": "Convert a UI-format workflow to the API format that /prompt expects. Requires a running ComfyUI instance to fetch `object_info` so we can map positional `widgets_values` to their named input fields. If the workflow is already in API format, it's returned as-is.",
|
|
12398
|
-
"parameters": {
|
|
12399
|
-
"workflow": {
|
|
12400
|
-
"type": "Record<string, any>",
|
|
12401
|
-
"description": "Parameter workflow"
|
|
12414
|
+
"returns": "Promise<Buffer>",
|
|
12415
|
+
"examples": [
|
|
12416
|
+
{
|
|
12417
|
+
"language": "ts",
|
|
12418
|
+
"code": "const audio = await el.synthesize('Hello world')\n// audio is a Buffer of mp3 data\n\nconst custom = await el.synthesize('Hello', {\n voiceId: '21m00Tcm4TlvDq8ikWAM',\n voiceSettings: { stability: 0.5, similarityBoost: 0.8 }\n})"
|
|
12402
12419
|
}
|
|
12403
|
-
|
|
12404
|
-
"required": [
|
|
12405
|
-
"workflow"
|
|
12406
|
-
],
|
|
12407
|
-
"returns": "Promise<Record<string, any>>"
|
|
12420
|
+
]
|
|
12408
12421
|
},
|
|
12409
|
-
"
|
|
12410
|
-
"description": "
|
|
12422
|
+
"say": {
|
|
12423
|
+
"description": "Synthesize speech and write the audio to a file.",
|
|
12411
12424
|
"parameters": {
|
|
12412
|
-
"
|
|
12413
|
-
"type": "
|
|
12414
|
-
"description": "
|
|
12425
|
+
"text": {
|
|
12426
|
+
"type": "string",
|
|
12427
|
+
"description": "The text to convert to speech"
|
|
12415
12428
|
},
|
|
12416
|
-
"
|
|
12417
|
-
"type": "
|
|
12418
|
-
"description": "
|
|
12429
|
+
"outputPath": {
|
|
12430
|
+
"type": "string",
|
|
12431
|
+
"description": "File path to write the audio to"
|
|
12419
12432
|
},
|
|
12420
12433
|
"options": {
|
|
12421
|
-
"type": "
|
|
12422
|
-
"description": "
|
|
12434
|
+
"type": "SynthesizeOptions",
|
|
12435
|
+
"description": "Voice, model, format, and voice settings overrides",
|
|
12423
12436
|
"properties": {
|
|
12424
|
-
"
|
|
12425
|
-
"type": "
|
|
12426
|
-
"description": "
|
|
12427
|
-
},
|
|
12428
|
-
"pollInterval": {
|
|
12429
|
-
"type": "number",
|
|
12430
|
-
"description": "Polling interval in ms (default 1000)"
|
|
12437
|
+
"voiceId": {
|
|
12438
|
+
"type": "string",
|
|
12439
|
+
"description": ""
|
|
12431
12440
|
},
|
|
12432
|
-
"
|
|
12433
|
-
"type": "
|
|
12434
|
-
"description": "
|
|
12441
|
+
"modelId": {
|
|
12442
|
+
"type": "string",
|
|
12443
|
+
"description": ""
|
|
12435
12444
|
},
|
|
12436
|
-
"
|
|
12445
|
+
"outputFormat": {
|
|
12437
12446
|
"type": "string",
|
|
12438
|
-
"description": "
|
|
12447
|
+
"description": ""
|
|
12448
|
+
},
|
|
12449
|
+
"voiceSettings": {
|
|
12450
|
+
"type": "ElevenLabsVoiceSettings",
|
|
12451
|
+
"description": ""
|
|
12452
|
+
},
|
|
12453
|
+
"disableCache": {
|
|
12454
|
+
"type": "boolean",
|
|
12455
|
+
"description": ""
|
|
12439
12456
|
}
|
|
12440
12457
|
}
|
|
12441
12458
|
}
|
|
12442
12459
|
},
|
|
12443
12460
|
"required": [
|
|
12444
|
-
"
|
|
12461
|
+
"text",
|
|
12462
|
+
"outputPath"
|
|
12445
12463
|
],
|
|
12446
|
-
"returns": "Promise<
|
|
12464
|
+
"returns": "Promise<string>",
|
|
12465
|
+
"examples": [
|
|
12466
|
+
{
|
|
12467
|
+
"language": "ts",
|
|
12468
|
+
"code": "const path = await el.say('Hello world', './hello.mp3')\nconsole.log(`Audio saved to ${path}`)"
|
|
12469
|
+
}
|
|
12470
|
+
]
|
|
12447
12471
|
}
|
|
12448
12472
|
},
|
|
12449
12473
|
"getters": {
|
|
12450
|
-
"
|
|
12451
|
-
"description": "The
|
|
12452
|
-
"returns": "string"
|
|
12453
|
-
},
|
|
12454
|
-
"wsURL": {
|
|
12455
|
-
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
12474
|
+
"apiKey": {
|
|
12475
|
+
"description": "The resolved API key from options or environment.",
|
|
12456
12476
|
"returns": "string"
|
|
12457
12477
|
}
|
|
12458
12478
|
},
|
|
12459
12479
|
"events": {
|
|
12460
|
-
"
|
|
12461
|
-
"name": "
|
|
12462
|
-
"description": "Event emitted by
|
|
12463
|
-
"arguments": {}
|
|
12464
|
-
},
|
|
12465
|
-
"execution_complete": {
|
|
12466
|
-
"name": "execution_complete",
|
|
12467
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12468
|
-
"arguments": {}
|
|
12469
|
-
},
|
|
12470
|
-
"executing": {
|
|
12471
|
-
"name": "executing",
|
|
12472
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12473
|
-
"arguments": {}
|
|
12474
|
-
},
|
|
12475
|
-
"progress": {
|
|
12476
|
-
"name": "progress",
|
|
12477
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12478
|
-
"arguments": {}
|
|
12479
|
-
},
|
|
12480
|
-
"executed": {
|
|
12481
|
-
"name": "executed",
|
|
12482
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12480
|
+
"failure": {
|
|
12481
|
+
"name": "failure",
|
|
12482
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
12483
12483
|
"arguments": {}
|
|
12484
12484
|
},
|
|
12485
|
-
"
|
|
12486
|
-
"name": "
|
|
12487
|
-
"description": "Event emitted by
|
|
12485
|
+
"voices": {
|
|
12486
|
+
"name": "voices",
|
|
12487
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
12488
12488
|
"arguments": {}
|
|
12489
12489
|
},
|
|
12490
|
-
"
|
|
12491
|
-
"name": "
|
|
12492
|
-
"description": "Event emitted by
|
|
12490
|
+
"speech": {
|
|
12491
|
+
"name": "speech",
|
|
12492
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
12493
12493
|
"arguments": {}
|
|
12494
12494
|
}
|
|
12495
12495
|
},
|
|
@@ -12499,244 +12499,311 @@ setBuildTimeData('clients.comfyui', {
|
|
|
12499
12499
|
"examples": [
|
|
12500
12500
|
{
|
|
12501
12501
|
"language": "ts",
|
|
12502
|
-
"code": "const
|
|
12502
|
+
"code": "const el = container.client('elevenlabs')\nawait el.connect()\nconst voices = await el.listVoices()\nconst audio = await el.synthesize('Hello world')\n// audio is a Buffer of mp3 data"
|
|
12503
12503
|
}
|
|
12504
12504
|
],
|
|
12505
12505
|
"types": {
|
|
12506
|
-
"
|
|
12506
|
+
"SynthesizeOptions": {
|
|
12507
12507
|
"description": "",
|
|
12508
12508
|
"properties": {
|
|
12509
|
-
"
|
|
12510
|
-
"type": "
|
|
12511
|
-
"description": "
|
|
12509
|
+
"voiceId": {
|
|
12510
|
+
"type": "string",
|
|
12511
|
+
"description": "",
|
|
12512
12512
|
"optional": true
|
|
12513
12513
|
},
|
|
12514
|
-
"
|
|
12515
|
-
"type": "
|
|
12516
|
-
"description": "
|
|
12514
|
+
"modelId": {
|
|
12515
|
+
"type": "string",
|
|
12516
|
+
"description": "",
|
|
12517
12517
|
"optional": true
|
|
12518
12518
|
},
|
|
12519
|
-
"
|
|
12520
|
-
"type": "
|
|
12521
|
-
"description": "
|
|
12519
|
+
"outputFormat": {
|
|
12520
|
+
"type": "string",
|
|
12521
|
+
"description": "",
|
|
12522
12522
|
"optional": true
|
|
12523
12523
|
},
|
|
12524
|
-
"
|
|
12525
|
-
"type": "
|
|
12526
|
-
"description": "
|
|
12524
|
+
"voiceSettings": {
|
|
12525
|
+
"type": "ElevenLabsVoiceSettings",
|
|
12526
|
+
"description": "",
|
|
12527
|
+
"optional": true
|
|
12528
|
+
},
|
|
12529
|
+
"disableCache": {
|
|
12530
|
+
"type": "boolean",
|
|
12531
|
+
"description": "",
|
|
12527
12532
|
"optional": true
|
|
12528
12533
|
}
|
|
12529
12534
|
}
|
|
12530
12535
|
},
|
|
12531
|
-
"
|
|
12536
|
+
"ElevenLabsVoiceSettings": {
|
|
12532
12537
|
"description": "",
|
|
12533
12538
|
"properties": {
|
|
12534
|
-
"
|
|
12535
|
-
"type": "
|
|
12536
|
-
"description": ""
|
|
12539
|
+
"stability": {
|
|
12540
|
+
"type": "number",
|
|
12541
|
+
"description": "",
|
|
12542
|
+
"optional": true
|
|
12537
12543
|
},
|
|
12538
|
-
"
|
|
12539
|
-
"type": "
|
|
12540
|
-
"description": ""
|
|
12544
|
+
"similarityBoost": {
|
|
12545
|
+
"type": "number",
|
|
12546
|
+
"description": "",
|
|
12547
|
+
"optional": true
|
|
12541
12548
|
},
|
|
12542
|
-
"
|
|
12543
|
-
"type": "
|
|
12549
|
+
"style": {
|
|
12550
|
+
"type": "number",
|
|
12544
12551
|
"description": "",
|
|
12545
12552
|
"optional": true
|
|
12546
|
-
}
|
|
12553
|
+
},
|
|
12554
|
+
"speed": {
|
|
12555
|
+
"type": "number",
|
|
12556
|
+
"description": "",
|
|
12557
|
+
"optional": true
|
|
12558
|
+
},
|
|
12559
|
+
"useSpeakerBoost": {
|
|
12560
|
+
"type": "boolean",
|
|
12561
|
+
"description": "",
|
|
12562
|
+
"optional": true
|
|
12563
|
+
}
|
|
12547
12564
|
}
|
|
12548
12565
|
}
|
|
12549
12566
|
}
|
|
12550
12567
|
});
|
|
12551
12568
|
|
|
12552
|
-
setBuildTimeData('clients.
|
|
12553
|
-
"id": "clients.
|
|
12554
|
-
"description": "
|
|
12555
|
-
"shortcut": "clients.
|
|
12556
|
-
"className": "
|
|
12569
|
+
setBuildTimeData('clients.comfyui', {
|
|
12570
|
+
"id": "clients.comfyui",
|
|
12571
|
+
"description": "ComfyUI client — execute Stable Diffusion workflows via the ComfyUI API. Connects to a ComfyUI instance to queue prompts, track execution via WebSocket or polling, and download generated images. Supports both UI-format and API-format workflows with automatic conversion.",
|
|
12572
|
+
"shortcut": "clients.comfyui",
|
|
12573
|
+
"className": "ComfyUIClient",
|
|
12557
12574
|
"methods": {
|
|
12558
|
-
"
|
|
12559
|
-
"description": "
|
|
12560
|
-
"parameters": {
|
|
12561
|
-
|
|
12562
|
-
|
|
12563
|
-
|
|
12564
|
-
|
|
12565
|
-
|
|
12566
|
-
|
|
12567
|
-
|
|
12568
|
-
|
|
12575
|
+
"queuePrompt": {
|
|
12576
|
+
"description": "Queue a prompt (API-format workflow) for execution.",
|
|
12577
|
+
"parameters": {
|
|
12578
|
+
"prompt": {
|
|
12579
|
+
"type": "Record<string, any>",
|
|
12580
|
+
"description": "The API-format workflow object"
|
|
12581
|
+
},
|
|
12582
|
+
"clientId": {
|
|
12583
|
+
"type": "string",
|
|
12584
|
+
"description": "Override the client ID for this request"
|
|
12585
|
+
}
|
|
12586
|
+
},
|
|
12587
|
+
"required": [
|
|
12588
|
+
"prompt"
|
|
12589
|
+
],
|
|
12590
|
+
"returns": "Promise<{ prompt_id: string; number: number }>",
|
|
12569
12591
|
"examples": [
|
|
12570
12592
|
{
|
|
12571
12593
|
"language": "ts",
|
|
12572
|
-
"code": "await
|
|
12594
|
+
"code": "const { prompt_id } = await comfy.queuePrompt(apiWorkflow)"
|
|
12573
12595
|
}
|
|
12574
12596
|
]
|
|
12575
12597
|
},
|
|
12576
|
-
"
|
|
12577
|
-
"description": "
|
|
12598
|
+
"getQueue": {
|
|
12599
|
+
"description": "Get the current prompt queue status.",
|
|
12600
|
+
"parameters": {},
|
|
12601
|
+
"required": [],
|
|
12602
|
+
"returns": "Promise<{ queue_running: any[]; queue_pending: any[] }>"
|
|
12603
|
+
},
|
|
12604
|
+
"getHistory": {
|
|
12605
|
+
"description": "Get execution history, optionally for a specific prompt.",
|
|
12578
12606
|
"parameters": {
|
|
12579
|
-
"
|
|
12580
|
-
"type": "
|
|
12581
|
-
"description": "
|
|
12607
|
+
"promptId": {
|
|
12608
|
+
"type": "string",
|
|
12609
|
+
"description": "If provided, returns history for this prompt only"
|
|
12582
12610
|
}
|
|
12583
12611
|
},
|
|
12584
12612
|
"required": [],
|
|
12585
|
-
"returns": "Promise<any
|
|
12586
|
-
"examples": [
|
|
12587
|
-
{
|
|
12588
|
-
"language": "ts",
|
|
12589
|
-
"code": "const voices = await el.listVoices()\nconst premade = await el.listVoices({ category: 'premade' })"
|
|
12590
|
-
}
|
|
12591
|
-
]
|
|
12613
|
+
"returns": "Promise<Record<string, any>>"
|
|
12592
12614
|
},
|
|
12593
|
-
"
|
|
12594
|
-
"description": "Get
|
|
12615
|
+
"getSystemStats": {
|
|
12616
|
+
"description": "Get system stats including GPU memory and queue info.",
|
|
12617
|
+
"parameters": {},
|
|
12618
|
+
"required": [],
|
|
12619
|
+
"returns": "Promise<any>"
|
|
12620
|
+
},
|
|
12621
|
+
"getObjectInfo": {
|
|
12622
|
+
"description": "Get node type info with input/output schemas.",
|
|
12595
12623
|
"parameters": {
|
|
12596
|
-
"
|
|
12624
|
+
"nodeClass": {
|
|
12597
12625
|
"type": "string",
|
|
12598
|
-
"description": "
|
|
12626
|
+
"description": "If provided, returns info for this node type only"
|
|
12599
12627
|
}
|
|
12600
12628
|
},
|
|
12601
|
-
"required": [
|
|
12602
|
-
|
|
12603
|
-
|
|
12604
|
-
|
|
12605
|
-
"
|
|
12606
|
-
|
|
12607
|
-
|
|
12608
|
-
|
|
12629
|
+
"required": [],
|
|
12630
|
+
"returns": "Promise<any>"
|
|
12631
|
+
},
|
|
12632
|
+
"interrupt": {
|
|
12633
|
+
"description": "Interrupt the currently executing prompt.",
|
|
12634
|
+
"parameters": {},
|
|
12635
|
+
"required": [],
|
|
12636
|
+
"returns": "Promise<void>"
|
|
12637
|
+
},
|
|
12638
|
+
"getModels": {
|
|
12639
|
+
"description": "List available models, optionally filtered by type.",
|
|
12640
|
+
"parameters": {
|
|
12641
|
+
"type": {
|
|
12642
|
+
"type": "string",
|
|
12643
|
+
"description": "Model type filter (e.g., 'checkpoints', 'loras')"
|
|
12609
12644
|
}
|
|
12610
|
-
|
|
12645
|
+
},
|
|
12646
|
+
"required": [],
|
|
12647
|
+
"returns": "Promise<string[]>"
|
|
12611
12648
|
},
|
|
12612
|
-
"
|
|
12613
|
-
"description": "List available
|
|
12649
|
+
"getEmbeddings": {
|
|
12650
|
+
"description": "List available embedding models.",
|
|
12614
12651
|
"parameters": {},
|
|
12615
12652
|
"required": [],
|
|
12616
|
-
"returns": "Promise<
|
|
12617
|
-
|
|
12618
|
-
|
|
12619
|
-
|
|
12620
|
-
|
|
12653
|
+
"returns": "Promise<string[]>"
|
|
12654
|
+
},
|
|
12655
|
+
"uploadImage": {
|
|
12656
|
+
"description": "Upload an image to ComfyUI's input directory.",
|
|
12657
|
+
"parameters": {
|
|
12658
|
+
"file": {
|
|
12659
|
+
"type": "Buffer | Blob",
|
|
12660
|
+
"description": "The image data as Buffer or Blob"
|
|
12661
|
+
},
|
|
12662
|
+
"filename": {
|
|
12663
|
+
"type": "string",
|
|
12664
|
+
"description": "File name for the upload"
|
|
12665
|
+
},
|
|
12666
|
+
"opts": {
|
|
12667
|
+
"type": "{ subfolder?: string; type?: string; overwrite?: boolean }",
|
|
12668
|
+
"description": "Upload options (subfolder, type, overwrite)"
|
|
12621
12669
|
}
|
|
12622
|
-
|
|
12670
|
+
},
|
|
12671
|
+
"required": [
|
|
12672
|
+
"file",
|
|
12673
|
+
"filename"
|
|
12674
|
+
],
|
|
12675
|
+
"returns": "Promise<any>"
|
|
12623
12676
|
},
|
|
12624
|
-
"
|
|
12625
|
-
"description": "
|
|
12677
|
+
"viewImage": {
|
|
12678
|
+
"description": "Download a generated image from ComfyUI as a Buffer.",
|
|
12626
12679
|
"parameters": {
|
|
12627
|
-
"
|
|
12680
|
+
"filename": {
|
|
12628
12681
|
"type": "string",
|
|
12629
|
-
"description": "The
|
|
12682
|
+
"description": "The image filename"
|
|
12630
12683
|
},
|
|
12631
|
-
"
|
|
12632
|
-
"type": "
|
|
12633
|
-
"description": "
|
|
12634
|
-
|
|
12635
|
-
|
|
12636
|
-
|
|
12637
|
-
|
|
12638
|
-
},
|
|
12639
|
-
"modelId": {
|
|
12640
|
-
"type": "string",
|
|
12641
|
-
"description": ""
|
|
12642
|
-
},
|
|
12643
|
-
"outputFormat": {
|
|
12644
|
-
"type": "string",
|
|
12645
|
-
"description": ""
|
|
12646
|
-
},
|
|
12647
|
-
"voiceSettings": {
|
|
12648
|
-
"type": "ElevenLabsVoiceSettings",
|
|
12649
|
-
"description": ""
|
|
12650
|
-
},
|
|
12651
|
-
"disableCache": {
|
|
12652
|
-
"type": "boolean",
|
|
12653
|
-
"description": ""
|
|
12654
|
-
}
|
|
12655
|
-
}
|
|
12684
|
+
"subfolder": {
|
|
12685
|
+
"type": "any",
|
|
12686
|
+
"description": "Subfolder within the output directory"
|
|
12687
|
+
},
|
|
12688
|
+
"type": {
|
|
12689
|
+
"type": "any",
|
|
12690
|
+
"description": "Image type ('output', 'input', 'temp')"
|
|
12656
12691
|
}
|
|
12657
12692
|
},
|
|
12658
12693
|
"required": [
|
|
12659
|
-
"
|
|
12694
|
+
"filename"
|
|
12660
12695
|
],
|
|
12661
|
-
"returns": "Promise<Buffer>"
|
|
12662
|
-
|
|
12663
|
-
|
|
12664
|
-
|
|
12665
|
-
|
|
12696
|
+
"returns": "Promise<Buffer>"
|
|
12697
|
+
},
|
|
12698
|
+
"connectWs": {
|
|
12699
|
+
"description": "Open a WebSocket connection to ComfyUI for real-time execution tracking. Events emitted: `execution_start`, `executing`, `progress`, `executed`, `execution_cached`, `execution_error`, `execution_complete`.",
|
|
12700
|
+
"parameters": {},
|
|
12701
|
+
"required": [],
|
|
12702
|
+
"returns": "Promise<void>"
|
|
12703
|
+
},
|
|
12704
|
+
"disconnectWs": {
|
|
12705
|
+
"description": "Close the WebSocket connection.",
|
|
12706
|
+
"parameters": {},
|
|
12707
|
+
"required": [],
|
|
12708
|
+
"returns": "void"
|
|
12709
|
+
},
|
|
12710
|
+
"toApiFormat": {
|
|
12711
|
+
"description": "Convert a UI-format workflow to the API format that /prompt expects. Requires a running ComfyUI instance to fetch `object_info` so we can map positional `widgets_values` to their named input fields. If the workflow is already in API format, it's returned as-is.",
|
|
12712
|
+
"parameters": {
|
|
12713
|
+
"workflow": {
|
|
12714
|
+
"type": "Record<string, any>",
|
|
12715
|
+
"description": "Parameter workflow"
|
|
12666
12716
|
}
|
|
12667
|
-
|
|
12717
|
+
},
|
|
12718
|
+
"required": [
|
|
12719
|
+
"workflow"
|
|
12720
|
+
],
|
|
12721
|
+
"returns": "Promise<Record<string, any>>"
|
|
12668
12722
|
},
|
|
12669
|
-
"
|
|
12670
|
-
"description": "
|
|
12723
|
+
"runWorkflow": {
|
|
12724
|
+
"description": "Run a ComfyUI workflow with optional runtime input overrides. Inputs can be provided in two forms: **Direct node mapping** (when no `inputMap` in options): ``` { '3': { seed: 42 }, '6': { text: 'a cat' } } ``` **Named inputs** (when `inputMap` is provided in options): ``` inputs: { positive_prompt: 'a cat', seed: 42 } options.inputMap: { positive_prompt: { nodeId: '6', field: 'text' }, seed: { nodeId: '3', field: 'seed' } } ```",
|
|
12671
12725
|
"parameters": {
|
|
12672
|
-
"
|
|
12673
|
-
"type": "string",
|
|
12674
|
-
"description": "
|
|
12726
|
+
"workflow": {
|
|
12727
|
+
"type": "Record<string, any>",
|
|
12728
|
+
"description": "Parameter workflow"
|
|
12675
12729
|
},
|
|
12676
|
-
"
|
|
12677
|
-
"type": "string",
|
|
12678
|
-
"description": "
|
|
12730
|
+
"inputs": {
|
|
12731
|
+
"type": "Record<string, any>",
|
|
12732
|
+
"description": "Parameter inputs"
|
|
12679
12733
|
},
|
|
12680
12734
|
"options": {
|
|
12681
|
-
"type": "
|
|
12682
|
-
"description": "
|
|
12735
|
+
"type": "WorkflowRunOptions",
|
|
12736
|
+
"description": "Parameter options",
|
|
12683
12737
|
"properties": {
|
|
12684
|
-
"
|
|
12685
|
-
"type": "
|
|
12686
|
-
"description": ""
|
|
12687
|
-
},
|
|
12688
|
-
"modelId": {
|
|
12689
|
-
"type": "string",
|
|
12690
|
-
"description": ""
|
|
12738
|
+
"poll": {
|
|
12739
|
+
"type": "boolean",
|
|
12740
|
+
"description": "Use polling instead of WebSocket for tracking execution"
|
|
12691
12741
|
},
|
|
12692
|
-
"
|
|
12693
|
-
"type": "
|
|
12694
|
-
"description": ""
|
|
12742
|
+
"pollInterval": {
|
|
12743
|
+
"type": "number",
|
|
12744
|
+
"description": "Polling interval in ms (default 1000)"
|
|
12695
12745
|
},
|
|
12696
|
-
"
|
|
12697
|
-
"type": "
|
|
12698
|
-
"description": ""
|
|
12746
|
+
"inputMap": {
|
|
12747
|
+
"type": "InputMapping",
|
|
12748
|
+
"description": "Named input mapping: semantic name -> { nodeId, field }"
|
|
12699
12749
|
},
|
|
12700
|
-
"
|
|
12701
|
-
"type": "
|
|
12702
|
-
"description": ""
|
|
12750
|
+
"outputDir": {
|
|
12751
|
+
"type": "string",
|
|
12752
|
+
"description": "If provided, output images are downloaded to this directory"
|
|
12703
12753
|
}
|
|
12704
12754
|
}
|
|
12705
12755
|
}
|
|
12706
12756
|
},
|
|
12707
12757
|
"required": [
|
|
12708
|
-
"
|
|
12709
|
-
"outputPath"
|
|
12758
|
+
"workflow"
|
|
12710
12759
|
],
|
|
12711
|
-
"returns": "Promise<
|
|
12712
|
-
"examples": [
|
|
12713
|
-
{
|
|
12714
|
-
"language": "ts",
|
|
12715
|
-
"code": "const path = await el.say('Hello world', './hello.mp3')\nconsole.log(`Audio saved to ${path}`)"
|
|
12716
|
-
}
|
|
12717
|
-
]
|
|
12760
|
+
"returns": "Promise<WorkflowResult>"
|
|
12718
12761
|
}
|
|
12719
12762
|
},
|
|
12720
12763
|
"getters": {
|
|
12721
|
-
"
|
|
12722
|
-
"description": "The
|
|
12764
|
+
"clientId": {
|
|
12765
|
+
"description": "The unique client ID used for WebSocket session tracking.",
|
|
12766
|
+
"returns": "string"
|
|
12767
|
+
},
|
|
12768
|
+
"wsURL": {
|
|
12769
|
+
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
12723
12770
|
"returns": "string"
|
|
12724
12771
|
}
|
|
12725
12772
|
},
|
|
12726
12773
|
"events": {
|
|
12727
|
-
"
|
|
12728
|
-
"name": "
|
|
12729
|
-
"description": "Event emitted by
|
|
12774
|
+
"execution_start": {
|
|
12775
|
+
"name": "execution_start",
|
|
12776
|
+
"description": "Event emitted by ComfyUIClient",
|
|
12730
12777
|
"arguments": {}
|
|
12731
12778
|
},
|
|
12732
|
-
"
|
|
12733
|
-
"name": "
|
|
12734
|
-
"description": "Event emitted by
|
|
12779
|
+
"execution_complete": {
|
|
12780
|
+
"name": "execution_complete",
|
|
12781
|
+
"description": "Event emitted by ComfyUIClient",
|
|
12735
12782
|
"arguments": {}
|
|
12736
12783
|
},
|
|
12737
|
-
"
|
|
12738
|
-
"name": "
|
|
12739
|
-
"description": "Event emitted by
|
|
12784
|
+
"executing": {
|
|
12785
|
+
"name": "executing",
|
|
12786
|
+
"description": "Event emitted by ComfyUIClient",
|
|
12787
|
+
"arguments": {}
|
|
12788
|
+
},
|
|
12789
|
+
"progress": {
|
|
12790
|
+
"name": "progress",
|
|
12791
|
+
"description": "Event emitted by ComfyUIClient",
|
|
12792
|
+
"arguments": {}
|
|
12793
|
+
},
|
|
12794
|
+
"executed": {
|
|
12795
|
+
"name": "executed",
|
|
12796
|
+
"description": "Event emitted by ComfyUIClient",
|
|
12797
|
+
"arguments": {}
|
|
12798
|
+
},
|
|
12799
|
+
"execution_cached": {
|
|
12800
|
+
"name": "execution_cached",
|
|
12801
|
+
"description": "Event emitted by ComfyUIClient",
|
|
12802
|
+
"arguments": {}
|
|
12803
|
+
},
|
|
12804
|
+
"execution_error": {
|
|
12805
|
+
"name": "execution_error",
|
|
12806
|
+
"description": "Event emitted by ComfyUIClient",
|
|
12740
12807
|
"arguments": {}
|
|
12741
12808
|
}
|
|
12742
12809
|
},
|
|
@@ -12746,65 +12813,48 @@ setBuildTimeData('clients.elevenlabs', {
|
|
|
12746
12813
|
"examples": [
|
|
12747
12814
|
{
|
|
12748
12815
|
"language": "ts",
|
|
12749
|
-
"code": "const
|
|
12816
|
+
"code": "const comfy = container.client('comfyui', { baseURL: 'http://localhost:8188' })\nconst result = await comfy.runWorkflow(workflow, {\n '6': { text: 'a beautiful sunset' }\n})\nconsole.log(result.images)"
|
|
12750
12817
|
}
|
|
12751
12818
|
],
|
|
12752
12819
|
"types": {
|
|
12753
|
-
"
|
|
12820
|
+
"WorkflowRunOptions": {
|
|
12754
12821
|
"description": "",
|
|
12755
12822
|
"properties": {
|
|
12756
|
-
"
|
|
12757
|
-
"type": "
|
|
12758
|
-
"description": "",
|
|
12759
|
-
"optional": true
|
|
12760
|
-
},
|
|
12761
|
-
"modelId": {
|
|
12762
|
-
"type": "string",
|
|
12763
|
-
"description": "",
|
|
12823
|
+
"poll": {
|
|
12824
|
+
"type": "boolean",
|
|
12825
|
+
"description": "Use polling instead of WebSocket for tracking execution",
|
|
12764
12826
|
"optional": true
|
|
12765
12827
|
},
|
|
12766
|
-
"
|
|
12767
|
-
"type": "
|
|
12768
|
-
"description": "",
|
|
12828
|
+
"pollInterval": {
|
|
12829
|
+
"type": "number",
|
|
12830
|
+
"description": "Polling interval in ms (default 1000)",
|
|
12769
12831
|
"optional": true
|
|
12770
12832
|
},
|
|
12771
|
-
"
|
|
12772
|
-
"type": "
|
|
12773
|
-
"description": "",
|
|
12833
|
+
"inputMap": {
|
|
12834
|
+
"type": "InputMapping",
|
|
12835
|
+
"description": "Named input mapping: semantic name -> { nodeId, field }",
|
|
12774
12836
|
"optional": true
|
|
12775
12837
|
},
|
|
12776
|
-
"
|
|
12777
|
-
"type": "
|
|
12778
|
-
"description": "",
|
|
12838
|
+
"outputDir": {
|
|
12839
|
+
"type": "string",
|
|
12840
|
+
"description": "If provided, output images are downloaded to this directory",
|
|
12779
12841
|
"optional": true
|
|
12780
12842
|
}
|
|
12781
12843
|
}
|
|
12782
12844
|
},
|
|
12783
|
-
"
|
|
12845
|
+
"WorkflowResult": {
|
|
12784
12846
|
"description": "",
|
|
12785
12847
|
"properties": {
|
|
12786
|
-
"
|
|
12787
|
-
"type": "
|
|
12788
|
-
"description": ""
|
|
12789
|
-
"optional": true
|
|
12790
|
-
},
|
|
12791
|
-
"similarityBoost": {
|
|
12792
|
-
"type": "number",
|
|
12793
|
-
"description": "",
|
|
12794
|
-
"optional": true
|
|
12795
|
-
},
|
|
12796
|
-
"style": {
|
|
12797
|
-
"type": "number",
|
|
12798
|
-
"description": "",
|
|
12799
|
-
"optional": true
|
|
12848
|
+
"promptId": {
|
|
12849
|
+
"type": "string",
|
|
12850
|
+
"description": ""
|
|
12800
12851
|
},
|
|
12801
|
-
"
|
|
12802
|
-
"type": "
|
|
12803
|
-
"description": ""
|
|
12804
|
-
"optional": true
|
|
12852
|
+
"outputs": {
|
|
12853
|
+
"type": "Record<string, any>",
|
|
12854
|
+
"description": ""
|
|
12805
12855
|
},
|
|
12806
|
-
"
|
|
12807
|
-
"type": "
|
|
12856
|
+
"images": {
|
|
12857
|
+
"type": "Array<{ filename: string; subfolder: string; type: string; localPath?: string }>",
|
|
12808
12858
|
"description": "",
|
|
12809
12859
|
"optional": true
|
|
12810
12860
|
}
|
|
@@ -13720,7 +13770,7 @@ setContainerBuildTimeData('Container', {
|
|
|
13720
13770
|
|
|
13721
13771
|
setContainerBuildTimeData('NodeContainer', {
|
|
13722
13772
|
"className": "NodeContainer",
|
|
13723
|
-
"description": "Server-side container for Node.js and Bun environments. Extends the base Container with file system access, process management, git integration, and other server-side capabilities. Auto-enables core features on construction: fs, proc, git, grep, os, networking, ui, vm,
|
|
13773
|
+
"description": "Server-side container for Node.js and Bun environments. Extends the base Container with file system access, process management, git integration, and other server-side capabilities. Auto-enables core features on construction: fs, proc, git, grep, os, networking, ui, vm, transpiler, helpers. Also attaches Client, Server, Command, Endpoint, and Selector helper types, providing `container.client()`, `container.server()`, `container.command()`, etc. factory methods.",
|
|
13724
13774
|
"methods": {},
|
|
13725
13775
|
"getters": {
|
|
13726
13776
|
"cwd": {
|
|
@@ -14692,76 +14742,6 @@ export const introspectionData = [
|
|
|
14692
14742
|
}
|
|
14693
14743
|
}
|
|
14694
14744
|
},
|
|
14695
|
-
{
|
|
14696
|
-
"id": "features.esbuild",
|
|
14697
|
-
"description": "A Feature for compiling typescript / esm modules, etc to JavaScript that the container can run at runtime. Uses esbuild for fast, reliable TypeScript/ESM transformation with full format support (esm, cjs, iife).",
|
|
14698
|
-
"shortcut": "features.esbuild",
|
|
14699
|
-
"className": "ESBuild",
|
|
14700
|
-
"methods": {
|
|
14701
|
-
"transformSync": {
|
|
14702
|
-
"description": "/** Transform code synchronously",
|
|
14703
|
-
"parameters": {
|
|
14704
|
-
"code": {
|
|
14705
|
-
"type": "string",
|
|
14706
|
-
"description": "The code to transform"
|
|
14707
|
-
},
|
|
14708
|
-
"options": {
|
|
14709
|
-
"type": "esbuild.TransformOptions",
|
|
14710
|
-
"description": "The options to pass to esbuild"
|
|
14711
|
-
}
|
|
14712
|
-
},
|
|
14713
|
-
"required": [
|
|
14714
|
-
"code"
|
|
14715
|
-
],
|
|
14716
|
-
"returns": "esbuild.TransformResult"
|
|
14717
|
-
},
|
|
14718
|
-
"transform": {
|
|
14719
|
-
"description": "Transform code asynchronously",
|
|
14720
|
-
"parameters": {
|
|
14721
|
-
"code": {
|
|
14722
|
-
"type": "string",
|
|
14723
|
-
"description": "The code to transform"
|
|
14724
|
-
},
|
|
14725
|
-
"options": {
|
|
14726
|
-
"type": "esbuild.TransformOptions",
|
|
14727
|
-
"description": "The options to pass to esbuild"
|
|
14728
|
-
}
|
|
14729
|
-
},
|
|
14730
|
-
"required": [
|
|
14731
|
-
"code"
|
|
14732
|
-
],
|
|
14733
|
-
"returns": "Promise<esbuild.TransformResult>"
|
|
14734
|
-
},
|
|
14735
|
-
"bundle": {
|
|
14736
|
-
"description": "Bundle one or more entry points, resolving imports and requires into a single output. Supports Node platform by default so require() and Node builtins are handled. Returns in-memory output files unless write is enabled in options.",
|
|
14737
|
-
"parameters": {
|
|
14738
|
-
"entryPoints": {
|
|
14739
|
-
"type": "string[]",
|
|
14740
|
-
"description": "File paths to bundle from"
|
|
14741
|
-
},
|
|
14742
|
-
"options": {
|
|
14743
|
-
"type": "esbuild.BuildOptions",
|
|
14744
|
-
"description": "esbuild BuildOptions overrides"
|
|
14745
|
-
}
|
|
14746
|
-
},
|
|
14747
|
-
"required": [
|
|
14748
|
-
"entryPoints"
|
|
14749
|
-
],
|
|
14750
|
-
"returns": "Promise<esbuild.BuildResult>"
|
|
14751
|
-
}
|
|
14752
|
-
},
|
|
14753
|
-
"getters": {},
|
|
14754
|
-
"events": {},
|
|
14755
|
-
"state": {},
|
|
14756
|
-
"options": {},
|
|
14757
|
-
"envVars": [],
|
|
14758
|
-
"examples": [
|
|
14759
|
-
{
|
|
14760
|
-
"language": "ts",
|
|
14761
|
-
"code": "const esbuild = container.feature('esbuild')\nconst result = esbuild.transformSync('const x: number = 1')\nconsole.log(result.code) // 'const x = 1;\\n'"
|
|
14762
|
-
}
|
|
14763
|
-
]
|
|
14764
|
-
},
|
|
14765
14745
|
{
|
|
14766
14746
|
"id": "features.dns",
|
|
14767
14747
|
"description": "The Dns feature provides structured DNS lookups by wrapping the `dig` CLI. All query methods parse dig output into typed JSON objects, making it easy to explore and audit a domain's DNS configuration programmatically.",
|
|
@@ -18704,13 +18684,133 @@ export const introspectionData = [
|
|
|
18704
18684
|
"DockerShell": {
|
|
18705
18685
|
"description": "Shell-like interface for executing commands against a Docker container",
|
|
18706
18686
|
"properties": {
|
|
18707
|
-
"containerId": {
|
|
18687
|
+
"containerId": {
|
|
18688
|
+
"type": "string",
|
|
18689
|
+
"description": "The ID of the container being targeted"
|
|
18690
|
+
},
|
|
18691
|
+
"last": {
|
|
18692
|
+
"type": "{ stdout: string; stderr: string; exitCode: number } | null",
|
|
18693
|
+
"description": "The result of the most recently executed command, or null if no command has been run"
|
|
18694
|
+
}
|
|
18695
|
+
}
|
|
18696
|
+
}
|
|
18697
|
+
}
|
|
18698
|
+
},
|
|
18699
|
+
{
|
|
18700
|
+
"id": "features.transpiler",
|
|
18701
|
+
"description": "Transpile TypeScript, TSX, and JSX to JavaScript at runtime using Bun's built-in transpiler. Compile code strings on the fly without touching the filesystem or spawning external processes.",
|
|
18702
|
+
"shortcut": "features.transpiler",
|
|
18703
|
+
"className": "Transpiler",
|
|
18704
|
+
"methods": {
|
|
18705
|
+
"transformSync": {
|
|
18706
|
+
"description": "Transform code synchronously",
|
|
18707
|
+
"parameters": {
|
|
18708
|
+
"code": {
|
|
18709
|
+
"type": "string",
|
|
18710
|
+
"description": "The code to transform"
|
|
18711
|
+
},
|
|
18712
|
+
"options": {
|
|
18713
|
+
"type": "TransformOptions",
|
|
18714
|
+
"description": "Transform options (loader, format, minify)",
|
|
18715
|
+
"properties": {
|
|
18716
|
+
"loader": {
|
|
18717
|
+
"type": "'ts' | 'tsx' | 'jsx' | 'js'",
|
|
18718
|
+
"description": ""
|
|
18719
|
+
},
|
|
18720
|
+
"format": {
|
|
18721
|
+
"type": "'esm' | 'cjs'",
|
|
18722
|
+
"description": ""
|
|
18723
|
+
},
|
|
18724
|
+
"minify": {
|
|
18725
|
+
"type": "boolean",
|
|
18726
|
+
"description": ""
|
|
18727
|
+
}
|
|
18728
|
+
}
|
|
18729
|
+
}
|
|
18730
|
+
},
|
|
18731
|
+
"required": [
|
|
18732
|
+
"code"
|
|
18733
|
+
],
|
|
18734
|
+
"returns": "TransformResult"
|
|
18735
|
+
},
|
|
18736
|
+
"transform": {
|
|
18737
|
+
"description": "Transform code asynchronously",
|
|
18738
|
+
"parameters": {
|
|
18739
|
+
"code": {
|
|
18740
|
+
"type": "string",
|
|
18741
|
+
"description": "The code to transform"
|
|
18742
|
+
},
|
|
18743
|
+
"options": {
|
|
18744
|
+
"type": "TransformOptions",
|
|
18745
|
+
"description": "Transform options (loader, format, minify)",
|
|
18746
|
+
"properties": {
|
|
18747
|
+
"loader": {
|
|
18748
|
+
"type": "'ts' | 'tsx' | 'jsx' | 'js'",
|
|
18749
|
+
"description": ""
|
|
18750
|
+
},
|
|
18751
|
+
"format": {
|
|
18752
|
+
"type": "'esm' | 'cjs'",
|
|
18753
|
+
"description": ""
|
|
18754
|
+
},
|
|
18755
|
+
"minify": {
|
|
18756
|
+
"type": "boolean",
|
|
18757
|
+
"description": ""
|
|
18758
|
+
}
|
|
18759
|
+
}
|
|
18760
|
+
}
|
|
18761
|
+
},
|
|
18762
|
+
"required": [
|
|
18763
|
+
"code"
|
|
18764
|
+
],
|
|
18765
|
+
"returns": "Promise<TransformResult>"
|
|
18766
|
+
}
|
|
18767
|
+
},
|
|
18768
|
+
"getters": {},
|
|
18769
|
+
"events": {},
|
|
18770
|
+
"state": {},
|
|
18771
|
+
"options": {},
|
|
18772
|
+
"envVars": [],
|
|
18773
|
+
"examples": [
|
|
18774
|
+
{
|
|
18775
|
+
"language": "ts",
|
|
18776
|
+
"code": "const transpiler = container.feature('transpiler')\nconst result = transpiler.transformSync('const x: number = 1')\nconsole.log(result.code) // 'const x = 1;\\n'"
|
|
18777
|
+
}
|
|
18778
|
+
],
|
|
18779
|
+
"types": {
|
|
18780
|
+
"TransformOptions": {
|
|
18781
|
+
"description": "",
|
|
18782
|
+
"properties": {
|
|
18783
|
+
"loader": {
|
|
18784
|
+
"type": "'ts' | 'tsx' | 'jsx' | 'js'",
|
|
18785
|
+
"description": "",
|
|
18786
|
+
"optional": true
|
|
18787
|
+
},
|
|
18788
|
+
"format": {
|
|
18789
|
+
"type": "'esm' | 'cjs'",
|
|
18790
|
+
"description": "",
|
|
18791
|
+
"optional": true
|
|
18792
|
+
},
|
|
18793
|
+
"minify": {
|
|
18794
|
+
"type": "boolean",
|
|
18795
|
+
"description": "",
|
|
18796
|
+
"optional": true
|
|
18797
|
+
}
|
|
18798
|
+
}
|
|
18799
|
+
},
|
|
18800
|
+
"TransformResult": {
|
|
18801
|
+
"description": "",
|
|
18802
|
+
"properties": {
|
|
18803
|
+
"code": {
|
|
18708
18804
|
"type": "string",
|
|
18709
|
-
"description": "
|
|
18805
|
+
"description": ""
|
|
18710
18806
|
},
|
|
18711
|
-
"
|
|
18712
|
-
"type": "
|
|
18713
|
-
"description": "
|
|
18807
|
+
"map": {
|
|
18808
|
+
"type": "string",
|
|
18809
|
+
"description": ""
|
|
18810
|
+
},
|
|
18811
|
+
"warnings": {
|
|
18812
|
+
"type": "any[]",
|
|
18813
|
+
"description": ""
|
|
18714
18814
|
}
|
|
18715
18815
|
}
|
|
18716
18816
|
}
|
|
@@ -25946,7 +26046,270 @@ export const introspectionData = [
|
|
|
25946
26046
|
"language": "ts",
|
|
25947
26047
|
"code": "const supabase = container.client('supabase', {\n supabaseUrl: 'https://xyz.supabase.co',\n supabaseKey: 'your-anon-key',\n})\n\n// Query data\nconst { data } = await supabase.from('users').select('*')\n\n// Auth\nawait supabase.signInWithPassword('user@example.com', 'password')\n\n// Realtime\nsupabase.subscribe('changes', 'users', (payload) => {\n console.log('Change:', payload)\n})"
|
|
25948
26048
|
}
|
|
25949
|
-
]
|
|
26049
|
+
]
|
|
26050
|
+
},
|
|
26051
|
+
{
|
|
26052
|
+
"id": "clients.elevenlabs",
|
|
26053
|
+
"description": "ElevenLabs client — text-to-speech synthesis via the ElevenLabs REST API. Provides methods for listing voices, listing models, and generating speech audio. Audio is returned as a Buffer; use `say()` for a convenience method that writes to disk.",
|
|
26054
|
+
"shortcut": "clients.elevenlabs",
|
|
26055
|
+
"className": "ElevenLabsClient",
|
|
26056
|
+
"methods": {
|
|
26057
|
+
"beforeRequest": {
|
|
26058
|
+
"description": "Inject the xi-api-key header before each request.",
|
|
26059
|
+
"parameters": {},
|
|
26060
|
+
"required": [],
|
|
26061
|
+
"returns": "void"
|
|
26062
|
+
},
|
|
26063
|
+
"connect": {
|
|
26064
|
+
"description": "Validate the API key by listing available models.",
|
|
26065
|
+
"parameters": {},
|
|
26066
|
+
"required": [],
|
|
26067
|
+
"returns": "Promise<this>",
|
|
26068
|
+
"examples": [
|
|
26069
|
+
{
|
|
26070
|
+
"language": "ts",
|
|
26071
|
+
"code": "await el.connect()"
|
|
26072
|
+
}
|
|
26073
|
+
]
|
|
26074
|
+
},
|
|
26075
|
+
"listVoices": {
|
|
26076
|
+
"description": "List available voices with optional search and filtering.",
|
|
26077
|
+
"parameters": {
|
|
26078
|
+
"options": {
|
|
26079
|
+
"type": "{\n search?: string\n category?: string\n voice_type?: string\n page_size?: number\n next_page_token?: string\n }",
|
|
26080
|
+
"description": "Query parameters for filtering voices"
|
|
26081
|
+
}
|
|
26082
|
+
},
|
|
26083
|
+
"required": [],
|
|
26084
|
+
"returns": "Promise<any>",
|
|
26085
|
+
"examples": [
|
|
26086
|
+
{
|
|
26087
|
+
"language": "ts",
|
|
26088
|
+
"code": "const voices = await el.listVoices()\nconst premade = await el.listVoices({ category: 'premade' })"
|
|
26089
|
+
}
|
|
26090
|
+
]
|
|
26091
|
+
},
|
|
26092
|
+
"getVoice": {
|
|
26093
|
+
"description": "Get details for a single voice.",
|
|
26094
|
+
"parameters": {
|
|
26095
|
+
"voiceId": {
|
|
26096
|
+
"type": "string",
|
|
26097
|
+
"description": "The voice ID to look up"
|
|
26098
|
+
}
|
|
26099
|
+
},
|
|
26100
|
+
"required": [
|
|
26101
|
+
"voiceId"
|
|
26102
|
+
],
|
|
26103
|
+
"returns": "Promise<any>",
|
|
26104
|
+
"examples": [
|
|
26105
|
+
{
|
|
26106
|
+
"language": "ts",
|
|
26107
|
+
"code": "const voice = await el.getVoice('21m00Tcm4TlvDq8ikWAM')\nconsole.log(voice.name, voice.settings)"
|
|
26108
|
+
}
|
|
26109
|
+
]
|
|
26110
|
+
},
|
|
26111
|
+
"listModels": {
|
|
26112
|
+
"description": "List available TTS models.",
|
|
26113
|
+
"parameters": {},
|
|
26114
|
+
"required": [],
|
|
26115
|
+
"returns": "Promise<any[]>",
|
|
26116
|
+
"examples": [
|
|
26117
|
+
{
|
|
26118
|
+
"language": "ts",
|
|
26119
|
+
"code": "const models = await el.listModels()\nconsole.log(models.map(m => m.model_id))"
|
|
26120
|
+
}
|
|
26121
|
+
]
|
|
26122
|
+
},
|
|
26123
|
+
"synthesize": {
|
|
26124
|
+
"description": "Synthesize speech from text, returning audio as a Buffer.",
|
|
26125
|
+
"parameters": {
|
|
26126
|
+
"text": {
|
|
26127
|
+
"type": "string",
|
|
26128
|
+
"description": "The text to convert to speech"
|
|
26129
|
+
},
|
|
26130
|
+
"options": {
|
|
26131
|
+
"type": "SynthesizeOptions",
|
|
26132
|
+
"description": "Voice, model, format, and voice settings overrides",
|
|
26133
|
+
"properties": {
|
|
26134
|
+
"voiceId": {
|
|
26135
|
+
"type": "string",
|
|
26136
|
+
"description": ""
|
|
26137
|
+
},
|
|
26138
|
+
"modelId": {
|
|
26139
|
+
"type": "string",
|
|
26140
|
+
"description": ""
|
|
26141
|
+
},
|
|
26142
|
+
"outputFormat": {
|
|
26143
|
+
"type": "string",
|
|
26144
|
+
"description": ""
|
|
26145
|
+
},
|
|
26146
|
+
"voiceSettings": {
|
|
26147
|
+
"type": "ElevenLabsVoiceSettings",
|
|
26148
|
+
"description": ""
|
|
26149
|
+
},
|
|
26150
|
+
"disableCache": {
|
|
26151
|
+
"type": "boolean",
|
|
26152
|
+
"description": ""
|
|
26153
|
+
}
|
|
26154
|
+
}
|
|
26155
|
+
}
|
|
26156
|
+
},
|
|
26157
|
+
"required": [
|
|
26158
|
+
"text"
|
|
26159
|
+
],
|
|
26160
|
+
"returns": "Promise<Buffer>",
|
|
26161
|
+
"examples": [
|
|
26162
|
+
{
|
|
26163
|
+
"language": "ts",
|
|
26164
|
+
"code": "const audio = await el.synthesize('Hello world')\n// audio is a Buffer of mp3 data\n\nconst custom = await el.synthesize('Hello', {\n voiceId: '21m00Tcm4TlvDq8ikWAM',\n voiceSettings: { stability: 0.5, similarityBoost: 0.8 }\n})"
|
|
26165
|
+
}
|
|
26166
|
+
]
|
|
26167
|
+
},
|
|
26168
|
+
"say": {
|
|
26169
|
+
"description": "Synthesize speech and write the audio to a file.",
|
|
26170
|
+
"parameters": {
|
|
26171
|
+
"text": {
|
|
26172
|
+
"type": "string",
|
|
26173
|
+
"description": "The text to convert to speech"
|
|
26174
|
+
},
|
|
26175
|
+
"outputPath": {
|
|
26176
|
+
"type": "string",
|
|
26177
|
+
"description": "File path to write the audio to"
|
|
26178
|
+
},
|
|
26179
|
+
"options": {
|
|
26180
|
+
"type": "SynthesizeOptions",
|
|
26181
|
+
"description": "Voice, model, format, and voice settings overrides",
|
|
26182
|
+
"properties": {
|
|
26183
|
+
"voiceId": {
|
|
26184
|
+
"type": "string",
|
|
26185
|
+
"description": ""
|
|
26186
|
+
},
|
|
26187
|
+
"modelId": {
|
|
26188
|
+
"type": "string",
|
|
26189
|
+
"description": ""
|
|
26190
|
+
},
|
|
26191
|
+
"outputFormat": {
|
|
26192
|
+
"type": "string",
|
|
26193
|
+
"description": ""
|
|
26194
|
+
},
|
|
26195
|
+
"voiceSettings": {
|
|
26196
|
+
"type": "ElevenLabsVoiceSettings",
|
|
26197
|
+
"description": ""
|
|
26198
|
+
},
|
|
26199
|
+
"disableCache": {
|
|
26200
|
+
"type": "boolean",
|
|
26201
|
+
"description": ""
|
|
26202
|
+
}
|
|
26203
|
+
}
|
|
26204
|
+
}
|
|
26205
|
+
},
|
|
26206
|
+
"required": [
|
|
26207
|
+
"text",
|
|
26208
|
+
"outputPath"
|
|
26209
|
+
],
|
|
26210
|
+
"returns": "Promise<string>",
|
|
26211
|
+
"examples": [
|
|
26212
|
+
{
|
|
26213
|
+
"language": "ts",
|
|
26214
|
+
"code": "const path = await el.say('Hello world', './hello.mp3')\nconsole.log(`Audio saved to ${path}`)"
|
|
26215
|
+
}
|
|
26216
|
+
]
|
|
26217
|
+
}
|
|
26218
|
+
},
|
|
26219
|
+
"getters": {
|
|
26220
|
+
"apiKey": {
|
|
26221
|
+
"description": "The resolved API key from options or environment.",
|
|
26222
|
+
"returns": "string"
|
|
26223
|
+
}
|
|
26224
|
+
},
|
|
26225
|
+
"events": {
|
|
26226
|
+
"failure": {
|
|
26227
|
+
"name": "failure",
|
|
26228
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
26229
|
+
"arguments": {}
|
|
26230
|
+
},
|
|
26231
|
+
"voices": {
|
|
26232
|
+
"name": "voices",
|
|
26233
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
26234
|
+
"arguments": {}
|
|
26235
|
+
},
|
|
26236
|
+
"speech": {
|
|
26237
|
+
"name": "speech",
|
|
26238
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
26239
|
+
"arguments": {}
|
|
26240
|
+
}
|
|
26241
|
+
},
|
|
26242
|
+
"state": {},
|
|
26243
|
+
"options": {},
|
|
26244
|
+
"envVars": [],
|
|
26245
|
+
"examples": [
|
|
26246
|
+
{
|
|
26247
|
+
"language": "ts",
|
|
26248
|
+
"code": "const el = container.client('elevenlabs')\nawait el.connect()\nconst voices = await el.listVoices()\nconst audio = await el.synthesize('Hello world')\n// audio is a Buffer of mp3 data"
|
|
26249
|
+
}
|
|
26250
|
+
],
|
|
26251
|
+
"types": {
|
|
26252
|
+
"SynthesizeOptions": {
|
|
26253
|
+
"description": "",
|
|
26254
|
+
"properties": {
|
|
26255
|
+
"voiceId": {
|
|
26256
|
+
"type": "string",
|
|
26257
|
+
"description": "",
|
|
26258
|
+
"optional": true
|
|
26259
|
+
},
|
|
26260
|
+
"modelId": {
|
|
26261
|
+
"type": "string",
|
|
26262
|
+
"description": "",
|
|
26263
|
+
"optional": true
|
|
26264
|
+
},
|
|
26265
|
+
"outputFormat": {
|
|
26266
|
+
"type": "string",
|
|
26267
|
+
"description": "",
|
|
26268
|
+
"optional": true
|
|
26269
|
+
},
|
|
26270
|
+
"voiceSettings": {
|
|
26271
|
+
"type": "ElevenLabsVoiceSettings",
|
|
26272
|
+
"description": "",
|
|
26273
|
+
"optional": true
|
|
26274
|
+
},
|
|
26275
|
+
"disableCache": {
|
|
26276
|
+
"type": "boolean",
|
|
26277
|
+
"description": "",
|
|
26278
|
+
"optional": true
|
|
26279
|
+
}
|
|
26280
|
+
}
|
|
26281
|
+
},
|
|
26282
|
+
"ElevenLabsVoiceSettings": {
|
|
26283
|
+
"description": "",
|
|
26284
|
+
"properties": {
|
|
26285
|
+
"stability": {
|
|
26286
|
+
"type": "number",
|
|
26287
|
+
"description": "",
|
|
26288
|
+
"optional": true
|
|
26289
|
+
},
|
|
26290
|
+
"similarityBoost": {
|
|
26291
|
+
"type": "number",
|
|
26292
|
+
"description": "",
|
|
26293
|
+
"optional": true
|
|
26294
|
+
},
|
|
26295
|
+
"style": {
|
|
26296
|
+
"type": "number",
|
|
26297
|
+
"description": "",
|
|
26298
|
+
"optional": true
|
|
26299
|
+
},
|
|
26300
|
+
"speed": {
|
|
26301
|
+
"type": "number",
|
|
26302
|
+
"description": "",
|
|
26303
|
+
"optional": true
|
|
26304
|
+
},
|
|
26305
|
+
"useSpeakerBoost": {
|
|
26306
|
+
"type": "boolean",
|
|
26307
|
+
"description": "",
|
|
26308
|
+
"optional": true
|
|
26309
|
+
}
|
|
26310
|
+
}
|
|
26311
|
+
}
|
|
26312
|
+
}
|
|
25950
26313
|
},
|
|
25951
26314
|
{
|
|
25952
26315
|
"id": "clients.comfyui",
|
|
@@ -26056,382 +26419,136 @@ export const introspectionData = [
|
|
|
26056
26419
|
],
|
|
26057
26420
|
"returns": "Promise<any>"
|
|
26058
26421
|
},
|
|
26059
|
-
"viewImage": {
|
|
26060
|
-
"description": "Download a generated image from ComfyUI as a Buffer.",
|
|
26061
|
-
"parameters": {
|
|
26062
|
-
"filename": {
|
|
26063
|
-
"type": "string",
|
|
26064
|
-
"description": "The image filename"
|
|
26065
|
-
},
|
|
26066
|
-
"subfolder": {
|
|
26067
|
-
"type": "any",
|
|
26068
|
-
"description": "Subfolder within the output directory"
|
|
26069
|
-
},
|
|
26070
|
-
"type": {
|
|
26071
|
-
"type": "any",
|
|
26072
|
-
"description": "Image type ('output', 'input', 'temp')"
|
|
26073
|
-
}
|
|
26074
|
-
},
|
|
26075
|
-
"required": [
|
|
26076
|
-
"filename"
|
|
26077
|
-
],
|
|
26078
|
-
"returns": "Promise<Buffer>"
|
|
26079
|
-
},
|
|
26080
|
-
"connectWs": {
|
|
26081
|
-
"description": "Open a WebSocket connection to ComfyUI for real-time execution tracking. Events emitted: `execution_start`, `executing`, `progress`, `executed`, `execution_cached`, `execution_error`, `execution_complete`.",
|
|
26082
|
-
"parameters": {},
|
|
26083
|
-
"required": [],
|
|
26084
|
-
"returns": "Promise<void>"
|
|
26085
|
-
},
|
|
26086
|
-
"disconnectWs": {
|
|
26087
|
-
"description": "Close the WebSocket connection.",
|
|
26088
|
-
"parameters": {},
|
|
26089
|
-
"required": [],
|
|
26090
|
-
"returns": "void"
|
|
26091
|
-
},
|
|
26092
|
-
"toApiFormat": {
|
|
26093
|
-
"description": "Convert a UI-format workflow to the API format that /prompt expects. Requires a running ComfyUI instance to fetch `object_info` so we can map positional `widgets_values` to their named input fields. If the workflow is already in API format, it's returned as-is.",
|
|
26094
|
-
"parameters": {
|
|
26095
|
-
"workflow": {
|
|
26096
|
-
"type": "Record<string, any>",
|
|
26097
|
-
"description": "Parameter workflow"
|
|
26098
|
-
}
|
|
26099
|
-
},
|
|
26100
|
-
"required": [
|
|
26101
|
-
"workflow"
|
|
26102
|
-
],
|
|
26103
|
-
"returns": "Promise<Record<string, any>>"
|
|
26104
|
-
},
|
|
26105
|
-
"runWorkflow": {
|
|
26106
|
-
"description": "Run a ComfyUI workflow with optional runtime input overrides. Inputs can be provided in two forms: **Direct node mapping** (when no `inputMap` in options): ``` { '3': { seed: 42 }, '6': { text: 'a cat' } } ``` **Named inputs** (when `inputMap` is provided in options): ``` inputs: { positive_prompt: 'a cat', seed: 42 } options.inputMap: { positive_prompt: { nodeId: '6', field: 'text' }, seed: { nodeId: '3', field: 'seed' } } ```",
|
|
26107
|
-
"parameters": {
|
|
26108
|
-
"workflow": {
|
|
26109
|
-
"type": "Record<string, any>",
|
|
26110
|
-
"description": "Parameter workflow"
|
|
26111
|
-
},
|
|
26112
|
-
"inputs": {
|
|
26113
|
-
"type": "Record<string, any>",
|
|
26114
|
-
"description": "Parameter inputs"
|
|
26115
|
-
},
|
|
26116
|
-
"options": {
|
|
26117
|
-
"type": "WorkflowRunOptions",
|
|
26118
|
-
"description": "Parameter options",
|
|
26119
|
-
"properties": {
|
|
26120
|
-
"poll": {
|
|
26121
|
-
"type": "boolean",
|
|
26122
|
-
"description": "Use polling instead of WebSocket for tracking execution"
|
|
26123
|
-
},
|
|
26124
|
-
"pollInterval": {
|
|
26125
|
-
"type": "number",
|
|
26126
|
-
"description": "Polling interval in ms (default 1000)"
|
|
26127
|
-
},
|
|
26128
|
-
"inputMap": {
|
|
26129
|
-
"type": "InputMapping",
|
|
26130
|
-
"description": "Named input mapping: semantic name -> { nodeId, field }"
|
|
26131
|
-
},
|
|
26132
|
-
"outputDir": {
|
|
26133
|
-
"type": "string",
|
|
26134
|
-
"description": "If provided, output images are downloaded to this directory"
|
|
26135
|
-
}
|
|
26136
|
-
}
|
|
26137
|
-
}
|
|
26138
|
-
},
|
|
26139
|
-
"required": [
|
|
26140
|
-
"workflow"
|
|
26141
|
-
],
|
|
26142
|
-
"returns": "Promise<WorkflowResult>"
|
|
26143
|
-
}
|
|
26144
|
-
},
|
|
26145
|
-
"getters": {
|
|
26146
|
-
"clientId": {
|
|
26147
|
-
"description": "The unique client ID used for WebSocket session tracking.",
|
|
26148
|
-
"returns": "string"
|
|
26149
|
-
},
|
|
26150
|
-
"wsURL": {
|
|
26151
|
-
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
26152
|
-
"returns": "string"
|
|
26153
|
-
}
|
|
26154
|
-
},
|
|
26155
|
-
"events": {
|
|
26156
|
-
"execution_start": {
|
|
26157
|
-
"name": "execution_start",
|
|
26158
|
-
"description": "Event emitted by ComfyUIClient",
|
|
26159
|
-
"arguments": {}
|
|
26160
|
-
},
|
|
26161
|
-
"execution_complete": {
|
|
26162
|
-
"name": "execution_complete",
|
|
26163
|
-
"description": "Event emitted by ComfyUIClient",
|
|
26164
|
-
"arguments": {}
|
|
26165
|
-
},
|
|
26166
|
-
"executing": {
|
|
26167
|
-
"name": "executing",
|
|
26168
|
-
"description": "Event emitted by ComfyUIClient",
|
|
26169
|
-
"arguments": {}
|
|
26170
|
-
},
|
|
26171
|
-
"progress": {
|
|
26172
|
-
"name": "progress",
|
|
26173
|
-
"description": "Event emitted by ComfyUIClient",
|
|
26174
|
-
"arguments": {}
|
|
26175
|
-
},
|
|
26176
|
-
"executed": {
|
|
26177
|
-
"name": "executed",
|
|
26178
|
-
"description": "Event emitted by ComfyUIClient",
|
|
26179
|
-
"arguments": {}
|
|
26180
|
-
},
|
|
26181
|
-
"execution_cached": {
|
|
26182
|
-
"name": "execution_cached",
|
|
26183
|
-
"description": "Event emitted by ComfyUIClient",
|
|
26184
|
-
"arguments": {}
|
|
26185
|
-
},
|
|
26186
|
-
"execution_error": {
|
|
26187
|
-
"name": "execution_error",
|
|
26188
|
-
"description": "Event emitted by ComfyUIClient",
|
|
26189
|
-
"arguments": {}
|
|
26190
|
-
}
|
|
26191
|
-
},
|
|
26192
|
-
"state": {},
|
|
26193
|
-
"options": {},
|
|
26194
|
-
"envVars": [],
|
|
26195
|
-
"examples": [
|
|
26196
|
-
{
|
|
26197
|
-
"language": "ts",
|
|
26198
|
-
"code": "const comfy = container.client('comfyui', { baseURL: 'http://localhost:8188' })\nconst result = await comfy.runWorkflow(workflow, {\n '6': { text: 'a beautiful sunset' }\n})\nconsole.log(result.images)"
|
|
26199
|
-
}
|
|
26200
|
-
],
|
|
26201
|
-
"types": {
|
|
26202
|
-
"WorkflowRunOptions": {
|
|
26203
|
-
"description": "",
|
|
26204
|
-
"properties": {
|
|
26205
|
-
"poll": {
|
|
26206
|
-
"type": "boolean",
|
|
26207
|
-
"description": "Use polling instead of WebSocket for tracking execution",
|
|
26208
|
-
"optional": true
|
|
26209
|
-
},
|
|
26210
|
-
"pollInterval": {
|
|
26211
|
-
"type": "number",
|
|
26212
|
-
"description": "Polling interval in ms (default 1000)",
|
|
26213
|
-
"optional": true
|
|
26214
|
-
},
|
|
26215
|
-
"inputMap": {
|
|
26216
|
-
"type": "InputMapping",
|
|
26217
|
-
"description": "Named input mapping: semantic name -> { nodeId, field }",
|
|
26218
|
-
"optional": true
|
|
26219
|
-
},
|
|
26220
|
-
"outputDir": {
|
|
26221
|
-
"type": "string",
|
|
26222
|
-
"description": "If provided, output images are downloaded to this directory",
|
|
26223
|
-
"optional": true
|
|
26224
|
-
}
|
|
26225
|
-
}
|
|
26226
|
-
},
|
|
26227
|
-
"WorkflowResult": {
|
|
26228
|
-
"description": "",
|
|
26229
|
-
"properties": {
|
|
26230
|
-
"promptId": {
|
|
26231
|
-
"type": "string",
|
|
26232
|
-
"description": ""
|
|
26233
|
-
},
|
|
26234
|
-
"outputs": {
|
|
26235
|
-
"type": "Record<string, any>",
|
|
26236
|
-
"description": ""
|
|
26237
|
-
},
|
|
26238
|
-
"images": {
|
|
26239
|
-
"type": "Array<{ filename: string; subfolder: string; type: string; localPath?: string }>",
|
|
26240
|
-
"description": "",
|
|
26241
|
-
"optional": true
|
|
26242
|
-
}
|
|
26243
|
-
}
|
|
26244
|
-
}
|
|
26245
|
-
}
|
|
26246
|
-
},
|
|
26247
|
-
{
|
|
26248
|
-
"id": "clients.elevenlabs",
|
|
26249
|
-
"description": "ElevenLabs client — text-to-speech synthesis via the ElevenLabs REST API. Provides methods for listing voices, listing models, and generating speech audio. Audio is returned as a Buffer; use `say()` for a convenience method that writes to disk.",
|
|
26250
|
-
"shortcut": "clients.elevenlabs",
|
|
26251
|
-
"className": "ElevenLabsClient",
|
|
26252
|
-
"methods": {
|
|
26253
|
-
"beforeRequest": {
|
|
26254
|
-
"description": "Inject the xi-api-key header before each request.",
|
|
26255
|
-
"parameters": {},
|
|
26256
|
-
"required": [],
|
|
26257
|
-
"returns": "void"
|
|
26258
|
-
},
|
|
26259
|
-
"connect": {
|
|
26260
|
-
"description": "Validate the API key by listing available models.",
|
|
26261
|
-
"parameters": {},
|
|
26262
|
-
"required": [],
|
|
26263
|
-
"returns": "Promise<this>",
|
|
26264
|
-
"examples": [
|
|
26265
|
-
{
|
|
26266
|
-
"language": "ts",
|
|
26267
|
-
"code": "await el.connect()"
|
|
26268
|
-
}
|
|
26269
|
-
]
|
|
26270
|
-
},
|
|
26271
|
-
"listVoices": {
|
|
26272
|
-
"description": "List available voices with optional search and filtering.",
|
|
26273
|
-
"parameters": {
|
|
26274
|
-
"options": {
|
|
26275
|
-
"type": "{\n search?: string\n category?: string\n voice_type?: string\n page_size?: number\n next_page_token?: string\n }",
|
|
26276
|
-
"description": "Query parameters for filtering voices"
|
|
26277
|
-
}
|
|
26278
|
-
},
|
|
26279
|
-
"required": [],
|
|
26280
|
-
"returns": "Promise<any>",
|
|
26281
|
-
"examples": [
|
|
26282
|
-
{
|
|
26283
|
-
"language": "ts",
|
|
26284
|
-
"code": "const voices = await el.listVoices()\nconst premade = await el.listVoices({ category: 'premade' })"
|
|
26285
|
-
}
|
|
26286
|
-
]
|
|
26287
|
-
},
|
|
26288
|
-
"getVoice": {
|
|
26289
|
-
"description": "Get details for a single voice.",
|
|
26422
|
+
"viewImage": {
|
|
26423
|
+
"description": "Download a generated image from ComfyUI as a Buffer.",
|
|
26290
26424
|
"parameters": {
|
|
26291
|
-
"
|
|
26425
|
+
"filename": {
|
|
26292
26426
|
"type": "string",
|
|
26293
|
-
"description": "The
|
|
26427
|
+
"description": "The image filename"
|
|
26428
|
+
},
|
|
26429
|
+
"subfolder": {
|
|
26430
|
+
"type": "any",
|
|
26431
|
+
"description": "Subfolder within the output directory"
|
|
26432
|
+
},
|
|
26433
|
+
"type": {
|
|
26434
|
+
"type": "any",
|
|
26435
|
+
"description": "Image type ('output', 'input', 'temp')"
|
|
26294
26436
|
}
|
|
26295
26437
|
},
|
|
26296
26438
|
"required": [
|
|
26297
|
-
"
|
|
26439
|
+
"filename"
|
|
26298
26440
|
],
|
|
26299
|
-
"returns": "Promise<
|
|
26300
|
-
"examples": [
|
|
26301
|
-
{
|
|
26302
|
-
"language": "ts",
|
|
26303
|
-
"code": "const voice = await el.getVoice('21m00Tcm4TlvDq8ikWAM')\nconsole.log(voice.name, voice.settings)"
|
|
26304
|
-
}
|
|
26305
|
-
]
|
|
26441
|
+
"returns": "Promise<Buffer>"
|
|
26306
26442
|
},
|
|
26307
|
-
"
|
|
26308
|
-
"description": "
|
|
26443
|
+
"connectWs": {
|
|
26444
|
+
"description": "Open a WebSocket connection to ComfyUI for real-time execution tracking. Events emitted: `execution_start`, `executing`, `progress`, `executed`, `execution_cached`, `execution_error`, `execution_complete`.",
|
|
26309
26445
|
"parameters": {},
|
|
26310
26446
|
"required": [],
|
|
26311
|
-
"returns": "Promise<
|
|
26312
|
-
"examples": [
|
|
26313
|
-
{
|
|
26314
|
-
"language": "ts",
|
|
26315
|
-
"code": "const models = await el.listModels()\nconsole.log(models.map(m => m.model_id))"
|
|
26316
|
-
}
|
|
26317
|
-
]
|
|
26447
|
+
"returns": "Promise<void>"
|
|
26318
26448
|
},
|
|
26319
|
-
"
|
|
26320
|
-
"description": "
|
|
26449
|
+
"disconnectWs": {
|
|
26450
|
+
"description": "Close the WebSocket connection.",
|
|
26451
|
+
"parameters": {},
|
|
26452
|
+
"required": [],
|
|
26453
|
+
"returns": "void"
|
|
26454
|
+
},
|
|
26455
|
+
"toApiFormat": {
|
|
26456
|
+
"description": "Convert a UI-format workflow to the API format that /prompt expects. Requires a running ComfyUI instance to fetch `object_info` so we can map positional `widgets_values` to their named input fields. If the workflow is already in API format, it's returned as-is.",
|
|
26321
26457
|
"parameters": {
|
|
26322
|
-
"
|
|
26323
|
-
"type": "string",
|
|
26324
|
-
"description": "
|
|
26325
|
-
},
|
|
26326
|
-
"options": {
|
|
26327
|
-
"type": "SynthesizeOptions",
|
|
26328
|
-
"description": "Voice, model, format, and voice settings overrides",
|
|
26329
|
-
"properties": {
|
|
26330
|
-
"voiceId": {
|
|
26331
|
-
"type": "string",
|
|
26332
|
-
"description": ""
|
|
26333
|
-
},
|
|
26334
|
-
"modelId": {
|
|
26335
|
-
"type": "string",
|
|
26336
|
-
"description": ""
|
|
26337
|
-
},
|
|
26338
|
-
"outputFormat": {
|
|
26339
|
-
"type": "string",
|
|
26340
|
-
"description": ""
|
|
26341
|
-
},
|
|
26342
|
-
"voiceSettings": {
|
|
26343
|
-
"type": "ElevenLabsVoiceSettings",
|
|
26344
|
-
"description": ""
|
|
26345
|
-
},
|
|
26346
|
-
"disableCache": {
|
|
26347
|
-
"type": "boolean",
|
|
26348
|
-
"description": ""
|
|
26349
|
-
}
|
|
26350
|
-
}
|
|
26458
|
+
"workflow": {
|
|
26459
|
+
"type": "Record<string, any>",
|
|
26460
|
+
"description": "Parameter workflow"
|
|
26351
26461
|
}
|
|
26352
26462
|
},
|
|
26353
26463
|
"required": [
|
|
26354
|
-
"
|
|
26464
|
+
"workflow"
|
|
26355
26465
|
],
|
|
26356
|
-
"returns": "Promise<
|
|
26357
|
-
"examples": [
|
|
26358
|
-
{
|
|
26359
|
-
"language": "ts",
|
|
26360
|
-
"code": "const audio = await el.synthesize('Hello world')\n// audio is a Buffer of mp3 data\n\nconst custom = await el.synthesize('Hello', {\n voiceId: '21m00Tcm4TlvDq8ikWAM',\n voiceSettings: { stability: 0.5, similarityBoost: 0.8 }\n})"
|
|
26361
|
-
}
|
|
26362
|
-
]
|
|
26466
|
+
"returns": "Promise<Record<string, any>>"
|
|
26363
26467
|
},
|
|
26364
|
-
"
|
|
26365
|
-
"description": "
|
|
26468
|
+
"runWorkflow": {
|
|
26469
|
+
"description": "Run a ComfyUI workflow with optional runtime input overrides. Inputs can be provided in two forms: **Direct node mapping** (when no `inputMap` in options): ``` { '3': { seed: 42 }, '6': { text: 'a cat' } } ``` **Named inputs** (when `inputMap` is provided in options): ``` inputs: { positive_prompt: 'a cat', seed: 42 } options.inputMap: { positive_prompt: { nodeId: '6', field: 'text' }, seed: { nodeId: '3', field: 'seed' } } ```",
|
|
26366
26470
|
"parameters": {
|
|
26367
|
-
"
|
|
26368
|
-
"type": "string",
|
|
26369
|
-
"description": "
|
|
26471
|
+
"workflow": {
|
|
26472
|
+
"type": "Record<string, any>",
|
|
26473
|
+
"description": "Parameter workflow"
|
|
26370
26474
|
},
|
|
26371
|
-
"
|
|
26372
|
-
"type": "string",
|
|
26373
|
-
"description": "
|
|
26475
|
+
"inputs": {
|
|
26476
|
+
"type": "Record<string, any>",
|
|
26477
|
+
"description": "Parameter inputs"
|
|
26374
26478
|
},
|
|
26375
26479
|
"options": {
|
|
26376
|
-
"type": "
|
|
26377
|
-
"description": "
|
|
26480
|
+
"type": "WorkflowRunOptions",
|
|
26481
|
+
"description": "Parameter options",
|
|
26378
26482
|
"properties": {
|
|
26379
|
-
"
|
|
26380
|
-
"type": "
|
|
26381
|
-
"description": ""
|
|
26382
|
-
},
|
|
26383
|
-
"modelId": {
|
|
26384
|
-
"type": "string",
|
|
26385
|
-
"description": ""
|
|
26483
|
+
"poll": {
|
|
26484
|
+
"type": "boolean",
|
|
26485
|
+
"description": "Use polling instead of WebSocket for tracking execution"
|
|
26386
26486
|
},
|
|
26387
|
-
"
|
|
26388
|
-
"type": "
|
|
26389
|
-
"description": ""
|
|
26487
|
+
"pollInterval": {
|
|
26488
|
+
"type": "number",
|
|
26489
|
+
"description": "Polling interval in ms (default 1000)"
|
|
26390
26490
|
},
|
|
26391
|
-
"
|
|
26392
|
-
"type": "
|
|
26393
|
-
"description": ""
|
|
26491
|
+
"inputMap": {
|
|
26492
|
+
"type": "InputMapping",
|
|
26493
|
+
"description": "Named input mapping: semantic name -> { nodeId, field }"
|
|
26394
26494
|
},
|
|
26395
|
-
"
|
|
26396
|
-
"type": "
|
|
26397
|
-
"description": ""
|
|
26495
|
+
"outputDir": {
|
|
26496
|
+
"type": "string",
|
|
26497
|
+
"description": "If provided, output images are downloaded to this directory"
|
|
26398
26498
|
}
|
|
26399
26499
|
}
|
|
26400
26500
|
}
|
|
26401
26501
|
},
|
|
26402
26502
|
"required": [
|
|
26403
|
-
"
|
|
26404
|
-
"outputPath"
|
|
26503
|
+
"workflow"
|
|
26405
26504
|
],
|
|
26406
|
-
"returns": "Promise<
|
|
26407
|
-
"examples": [
|
|
26408
|
-
{
|
|
26409
|
-
"language": "ts",
|
|
26410
|
-
"code": "const path = await el.say('Hello world', './hello.mp3')\nconsole.log(`Audio saved to ${path}`)"
|
|
26411
|
-
}
|
|
26412
|
-
]
|
|
26505
|
+
"returns": "Promise<WorkflowResult>"
|
|
26413
26506
|
}
|
|
26414
26507
|
},
|
|
26415
26508
|
"getters": {
|
|
26416
|
-
"
|
|
26417
|
-
"description": "The
|
|
26509
|
+
"clientId": {
|
|
26510
|
+
"description": "The unique client ID used for WebSocket session tracking.",
|
|
26511
|
+
"returns": "string"
|
|
26512
|
+
},
|
|
26513
|
+
"wsURL": {
|
|
26514
|
+
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
26418
26515
|
"returns": "string"
|
|
26419
26516
|
}
|
|
26420
26517
|
},
|
|
26421
26518
|
"events": {
|
|
26422
|
-
"
|
|
26423
|
-
"name": "
|
|
26424
|
-
"description": "Event emitted by
|
|
26519
|
+
"execution_start": {
|
|
26520
|
+
"name": "execution_start",
|
|
26521
|
+
"description": "Event emitted by ComfyUIClient",
|
|
26425
26522
|
"arguments": {}
|
|
26426
26523
|
},
|
|
26427
|
-
"
|
|
26428
|
-
"name": "
|
|
26429
|
-
"description": "Event emitted by
|
|
26524
|
+
"execution_complete": {
|
|
26525
|
+
"name": "execution_complete",
|
|
26526
|
+
"description": "Event emitted by ComfyUIClient",
|
|
26430
26527
|
"arguments": {}
|
|
26431
26528
|
},
|
|
26432
|
-
"
|
|
26433
|
-
"name": "
|
|
26434
|
-
"description": "Event emitted by
|
|
26529
|
+
"executing": {
|
|
26530
|
+
"name": "executing",
|
|
26531
|
+
"description": "Event emitted by ComfyUIClient",
|
|
26532
|
+
"arguments": {}
|
|
26533
|
+
},
|
|
26534
|
+
"progress": {
|
|
26535
|
+
"name": "progress",
|
|
26536
|
+
"description": "Event emitted by ComfyUIClient",
|
|
26537
|
+
"arguments": {}
|
|
26538
|
+
},
|
|
26539
|
+
"executed": {
|
|
26540
|
+
"name": "executed",
|
|
26541
|
+
"description": "Event emitted by ComfyUIClient",
|
|
26542
|
+
"arguments": {}
|
|
26543
|
+
},
|
|
26544
|
+
"execution_cached": {
|
|
26545
|
+
"name": "execution_cached",
|
|
26546
|
+
"description": "Event emitted by ComfyUIClient",
|
|
26547
|
+
"arguments": {}
|
|
26548
|
+
},
|
|
26549
|
+
"execution_error": {
|
|
26550
|
+
"name": "execution_error",
|
|
26551
|
+
"description": "Event emitted by ComfyUIClient",
|
|
26435
26552
|
"arguments": {}
|
|
26436
26553
|
}
|
|
26437
26554
|
},
|
|
@@ -26441,65 +26558,48 @@ export const introspectionData = [
|
|
|
26441
26558
|
"examples": [
|
|
26442
26559
|
{
|
|
26443
26560
|
"language": "ts",
|
|
26444
|
-
"code": "const
|
|
26561
|
+
"code": "const comfy = container.client('comfyui', { baseURL: 'http://localhost:8188' })\nconst result = await comfy.runWorkflow(workflow, {\n '6': { text: 'a beautiful sunset' }\n})\nconsole.log(result.images)"
|
|
26445
26562
|
}
|
|
26446
26563
|
],
|
|
26447
26564
|
"types": {
|
|
26448
|
-
"
|
|
26565
|
+
"WorkflowRunOptions": {
|
|
26449
26566
|
"description": "",
|
|
26450
26567
|
"properties": {
|
|
26451
|
-
"
|
|
26452
|
-
"type": "
|
|
26453
|
-
"description": "",
|
|
26454
|
-
"optional": true
|
|
26455
|
-
},
|
|
26456
|
-
"modelId": {
|
|
26457
|
-
"type": "string",
|
|
26458
|
-
"description": "",
|
|
26568
|
+
"poll": {
|
|
26569
|
+
"type": "boolean",
|
|
26570
|
+
"description": "Use polling instead of WebSocket for tracking execution",
|
|
26459
26571
|
"optional": true
|
|
26460
26572
|
},
|
|
26461
|
-
"
|
|
26462
|
-
"type": "
|
|
26463
|
-
"description": "",
|
|
26573
|
+
"pollInterval": {
|
|
26574
|
+
"type": "number",
|
|
26575
|
+
"description": "Polling interval in ms (default 1000)",
|
|
26464
26576
|
"optional": true
|
|
26465
26577
|
},
|
|
26466
|
-
"
|
|
26467
|
-
"type": "
|
|
26468
|
-
"description": "",
|
|
26578
|
+
"inputMap": {
|
|
26579
|
+
"type": "InputMapping",
|
|
26580
|
+
"description": "Named input mapping: semantic name -> { nodeId, field }",
|
|
26469
26581
|
"optional": true
|
|
26470
26582
|
},
|
|
26471
|
-
"
|
|
26472
|
-
"type": "
|
|
26473
|
-
"description": "",
|
|
26583
|
+
"outputDir": {
|
|
26584
|
+
"type": "string",
|
|
26585
|
+
"description": "If provided, output images are downloaded to this directory",
|
|
26474
26586
|
"optional": true
|
|
26475
26587
|
}
|
|
26476
26588
|
}
|
|
26477
26589
|
},
|
|
26478
|
-
"
|
|
26590
|
+
"WorkflowResult": {
|
|
26479
26591
|
"description": "",
|
|
26480
26592
|
"properties": {
|
|
26481
|
-
"
|
|
26482
|
-
"type": "
|
|
26483
|
-
"description": ""
|
|
26484
|
-
"optional": true
|
|
26485
|
-
},
|
|
26486
|
-
"similarityBoost": {
|
|
26487
|
-
"type": "number",
|
|
26488
|
-
"description": "",
|
|
26489
|
-
"optional": true
|
|
26490
|
-
},
|
|
26491
|
-
"style": {
|
|
26492
|
-
"type": "number",
|
|
26493
|
-
"description": "",
|
|
26494
|
-
"optional": true
|
|
26593
|
+
"promptId": {
|
|
26594
|
+
"type": "string",
|
|
26595
|
+
"description": ""
|
|
26495
26596
|
},
|
|
26496
|
-
"
|
|
26497
|
-
"type": "
|
|
26498
|
-
"description": ""
|
|
26499
|
-
"optional": true
|
|
26597
|
+
"outputs": {
|
|
26598
|
+
"type": "Record<string, any>",
|
|
26599
|
+
"description": ""
|
|
26500
26600
|
},
|
|
26501
|
-
"
|
|
26502
|
-
"type": "
|
|
26601
|
+
"images": {
|
|
26602
|
+
"type": "Array<{ filename: string; subfolder: string; type: string; localPath?: string }>",
|
|
26503
26603
|
"description": "",
|
|
26504
26604
|
"optional": true
|
|
26505
26605
|
}
|
|
@@ -27412,7 +27512,7 @@ export const containerIntrospectionData = [
|
|
|
27412
27512
|
},
|
|
27413
27513
|
{
|
|
27414
27514
|
"className": "NodeContainer",
|
|
27415
|
-
"description": "Server-side container for Node.js and Bun environments. Extends the base Container with file system access, process management, git integration, and other server-side capabilities. Auto-enables core features on construction: fs, proc, git, grep, os, networking, ui, vm,
|
|
27515
|
+
"description": "Server-side container for Node.js and Bun environments. Extends the base Container with file system access, process management, git integration, and other server-side capabilities. Auto-enables core features on construction: fs, proc, git, grep, os, networking, ui, vm, transpiler, helpers. Also attaches Client, Server, Command, Endpoint, and Selector helper types, providing `container.client()`, `container.server()`, `container.command()`, etc. factory methods.",
|
|
27416
27516
|
"methods": {},
|
|
27417
27517
|
"getters": {
|
|
27418
27518
|
"cwd": {
|