@soederpop/luca 0.1.3 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/release.yaml +169 -0
- package/CNAME +1 -0
- package/README.md +3 -0
- package/assistants/codingAssistant/ABOUT.md +3 -0
- package/assistants/codingAssistant/CORE.md +22 -17
- package/assistants/codingAssistant/hooks.ts +19 -2
- package/assistants/codingAssistant/tools.ts +1 -106
- package/assistants/inkbot/ABOUT.md +5 -0
- package/assistants/inkbot/CORE.md +2 -0
- package/bun.lock +20 -4
- package/commands/release.ts +75 -181
- package/docs/CNAME +1 -0
- package/docs/ideas/assistant-factory-pattern.md +142 -0
- package/index.html +1430 -0
- package/package.json +3 -2
- package/src/agi/container.server.ts +10 -0
- package/src/agi/features/agent-memory.ts +694 -0
- package/src/agi/features/assistant.ts +1 -1
- package/src/agi/features/assistants-manager.ts +25 -0
- package/src/agi/features/browser-use.ts +30 -0
- package/src/agi/features/coding-tools.ts +175 -0
- package/src/agi/features/file-tools.ts +33 -26
- package/src/agi/features/skills-library.ts +28 -11
- package/src/bootstrap/generated.ts +1 -1
- package/src/cli/build-info.ts +2 -2
- package/src/clients/voicebox/index.ts +300 -0
- package/src/introspection/generated.agi.ts +2909 -914
- package/src/introspection/generated.node.ts +1641 -822
- package/src/introspection/generated.web.ts +1 -1
- package/src/node/features/content-db.ts +54 -27
- package/src/node/features/process-manager.ts +50 -17
- package/src/python/generated.ts +1 -1
- package/src/scaffolds/generated.ts +1 -1
- package/test/assistant.test.ts +14 -5
- package/test-integration/memory.test.ts +204 -0
|
@@ -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-04-
|
|
4
|
+
// Generated at: 2026-04-06T20:39:08.676Z
|
|
5
5
|
|
|
6
6
|
setBuildTimeData('features.googleDocs', {
|
|
7
7
|
"id": "features.googleDocs",
|
|
@@ -8692,6 +8692,19 @@ setBuildTimeData('features.processManager', {
|
|
|
8692
8692
|
],
|
|
8693
8693
|
"returns": "void"
|
|
8694
8694
|
},
|
|
8695
|
+
"setupToolsConsumer": {
|
|
8696
|
+
"description": "When an assistant uses processManager, inject system prompt guidance about how to manage processes safely and effectively.",
|
|
8697
|
+
"parameters": {
|
|
8698
|
+
"consumer": {
|
|
8699
|
+
"type": "Helper",
|
|
8700
|
+
"description": "Parameter consumer"
|
|
8701
|
+
}
|
|
8702
|
+
},
|
|
8703
|
+
"required": [
|
|
8704
|
+
"consumer"
|
|
8705
|
+
],
|
|
8706
|
+
"returns": "void"
|
|
8707
|
+
},
|
|
8695
8708
|
"spawn": {
|
|
8696
8709
|
"description": "Spawn a long-running process and return a handle immediately. The returned SpawnHandler provides events for stdout/stderr streaming, exit/crash notifications, and methods to kill or await the process.",
|
|
8697
8710
|
"parameters": {
|
|
@@ -11111,6 +11124,19 @@ setBuildTimeData('features.contentDb', {
|
|
|
11111
11124
|
"shortcut": "features.contentDb",
|
|
11112
11125
|
"className": "ContentDb",
|
|
11113
11126
|
"methods": {
|
|
11127
|
+
"setupToolsConsumer": {
|
|
11128
|
+
"description": "When an assistant uses contentDb, inject system prompt guidance about progressive document exploration.",
|
|
11129
|
+
"parameters": {
|
|
11130
|
+
"consumer": {
|
|
11131
|
+
"type": "Helper",
|
|
11132
|
+
"description": "Parameter consumer"
|
|
11133
|
+
}
|
|
11134
|
+
},
|
|
11135
|
+
"required": [
|
|
11136
|
+
"consumer"
|
|
11137
|
+
],
|
|
11138
|
+
"returns": "void"
|
|
11139
|
+
},
|
|
11114
11140
|
"renderTree": {
|
|
11115
11141
|
"description": "Render a tree view of the collection directory structure. Built with container.fs so it works without the `tree` binary.",
|
|
11116
11142
|
"parameters": {
|
|
@@ -12106,400 +12132,184 @@ setBuildTimeData('clients.openai', {
|
|
|
12106
12132
|
]
|
|
12107
12133
|
});
|
|
12108
12134
|
|
|
12109
|
-
setBuildTimeData('clients.
|
|
12110
|
-
"id": "clients.
|
|
12111
|
-
"description": "
|
|
12112
|
-
"shortcut": "clients.
|
|
12113
|
-
"className": "
|
|
12135
|
+
setBuildTimeData('clients.voicebox', {
|
|
12136
|
+
"id": "clients.voicebox",
|
|
12137
|
+
"description": "VoiceBox client — local TTS synthesis via VoiceBox.sh REST API (Qwen3-TTS). Provides methods for managing voice profiles and generating speech audio locally. Uses the streaming endpoint for synchronous synthesis (returns WAV buffer).",
|
|
12138
|
+
"shortcut": "clients.voicebox",
|
|
12139
|
+
"className": "VoiceBoxClient",
|
|
12114
12140
|
"methods": {
|
|
12115
|
-
"
|
|
12116
|
-
"description": "
|
|
12117
|
-
"parameters": {
|
|
12118
|
-
"prompt": {
|
|
12119
|
-
"type": "Record<string, any>",
|
|
12120
|
-
"description": "The API-format workflow object"
|
|
12121
|
-
},
|
|
12122
|
-
"clientId": {
|
|
12123
|
-
"type": "string",
|
|
12124
|
-
"description": "Override the client ID for this request"
|
|
12125
|
-
}
|
|
12126
|
-
},
|
|
12127
|
-
"required": [
|
|
12128
|
-
"prompt"
|
|
12129
|
-
],
|
|
12130
|
-
"returns": "Promise<{ prompt_id: string; number: number }>",
|
|
12131
|
-
"examples": [
|
|
12132
|
-
{
|
|
12133
|
-
"language": "ts",
|
|
12134
|
-
"code": "const { prompt_id } = await comfy.queuePrompt(apiWorkflow)"
|
|
12135
|
-
}
|
|
12136
|
-
]
|
|
12137
|
-
},
|
|
12138
|
-
"getQueue": {
|
|
12139
|
-
"description": "Get the current prompt queue status.",
|
|
12140
|
-
"parameters": {},
|
|
12141
|
-
"required": [],
|
|
12142
|
-
"returns": "Promise<{ queue_running: any[]; queue_pending: any[] }>"
|
|
12143
|
-
},
|
|
12144
|
-
"getHistory": {
|
|
12145
|
-
"description": "Get execution history, optionally for a specific prompt.",
|
|
12146
|
-
"parameters": {
|
|
12147
|
-
"promptId": {
|
|
12148
|
-
"type": "string",
|
|
12149
|
-
"description": "If provided, returns history for this prompt only"
|
|
12150
|
-
}
|
|
12151
|
-
},
|
|
12152
|
-
"required": [],
|
|
12153
|
-
"returns": "Promise<Record<string, any>>"
|
|
12154
|
-
},
|
|
12155
|
-
"getSystemStats": {
|
|
12156
|
-
"description": "Get system stats including GPU memory and queue info.",
|
|
12141
|
+
"connect": {
|
|
12142
|
+
"description": "Validate the VoiceBox server is reachable by hitting the health endpoint.",
|
|
12157
12143
|
"parameters": {},
|
|
12158
12144
|
"required": [],
|
|
12159
|
-
"returns": "Promise<
|
|
12160
|
-
},
|
|
12161
|
-
"getObjectInfo": {
|
|
12162
|
-
"description": "Get node type info with input/output schemas.",
|
|
12163
|
-
"parameters": {
|
|
12164
|
-
"nodeClass": {
|
|
12165
|
-
"type": "string",
|
|
12166
|
-
"description": "If provided, returns info for this node type only"
|
|
12167
|
-
}
|
|
12168
|
-
},
|
|
12169
|
-
"required": [],
|
|
12170
|
-
"returns": "Promise<any>"
|
|
12145
|
+
"returns": "Promise<this>"
|
|
12171
12146
|
},
|
|
12172
|
-
"
|
|
12173
|
-
"description": "
|
|
12147
|
+
"listProfiles": {
|
|
12148
|
+
"description": "List all voice profiles.",
|
|
12174
12149
|
"parameters": {},
|
|
12175
12150
|
"required": [],
|
|
12176
|
-
"returns": "Promise<
|
|
12177
|
-
|
|
12178
|
-
|
|
12179
|
-
|
|
12180
|
-
|
|
12181
|
-
"type": {
|
|
12182
|
-
"type": "string",
|
|
12183
|
-
"description": "Model type filter (e.g., 'checkpoints', 'loras')"
|
|
12151
|
+
"returns": "Promise<any[]>",
|
|
12152
|
+
"examples": [
|
|
12153
|
+
{
|
|
12154
|
+
"language": "ts",
|
|
12155
|
+
"code": "const profiles = await vb.listProfiles()\nconsole.log(profiles.map(p => `${p.name} (${p.sample_count} samples)`))"
|
|
12184
12156
|
}
|
|
12185
|
-
|
|
12186
|
-
"required": [],
|
|
12187
|
-
"returns": "Promise<string[]>"
|
|
12188
|
-
},
|
|
12189
|
-
"getEmbeddings": {
|
|
12190
|
-
"description": "List available embedding models.",
|
|
12191
|
-
"parameters": {},
|
|
12192
|
-
"required": [],
|
|
12193
|
-
"returns": "Promise<string[]>"
|
|
12157
|
+
]
|
|
12194
12158
|
},
|
|
12195
|
-
"
|
|
12196
|
-
"description": "
|
|
12159
|
+
"getProfile": {
|
|
12160
|
+
"description": "Get a single voice profile by ID.",
|
|
12197
12161
|
"parameters": {
|
|
12198
|
-
"
|
|
12199
|
-
"type": "Buffer | Blob",
|
|
12200
|
-
"description": "The image data as Buffer or Blob"
|
|
12201
|
-
},
|
|
12202
|
-
"filename": {
|
|
12162
|
+
"profileId": {
|
|
12203
12163
|
"type": "string",
|
|
12204
|
-
"description": "
|
|
12205
|
-
},
|
|
12206
|
-
"opts": {
|
|
12207
|
-
"type": "{ subfolder?: string; type?: string; overwrite?: boolean }",
|
|
12208
|
-
"description": "Upload options (subfolder, type, overwrite)"
|
|
12164
|
+
"description": "Parameter profileId"
|
|
12209
12165
|
}
|
|
12210
12166
|
},
|
|
12211
12167
|
"required": [
|
|
12212
|
-
"
|
|
12213
|
-
"filename"
|
|
12168
|
+
"profileId"
|
|
12214
12169
|
],
|
|
12215
12170
|
"returns": "Promise<any>"
|
|
12216
12171
|
},
|
|
12217
|
-
"
|
|
12218
|
-
"description": "
|
|
12172
|
+
"createProfile": {
|
|
12173
|
+
"description": "Create a new voice profile.",
|
|
12219
12174
|
"parameters": {
|
|
12220
|
-
"
|
|
12175
|
+
"name": {
|
|
12221
12176
|
"type": "string",
|
|
12222
|
-
"description": "
|
|
12223
|
-
},
|
|
12224
|
-
"subfolder": {
|
|
12225
|
-
"type": "any",
|
|
12226
|
-
"description": "Subfolder within the output directory"
|
|
12177
|
+
"description": "Parameter name"
|
|
12227
12178
|
},
|
|
12228
|
-
"
|
|
12229
|
-
"type": "
|
|
12230
|
-
"description": "
|
|
12179
|
+
"options": {
|
|
12180
|
+
"type": "{ description?: string; language?: string }",
|
|
12181
|
+
"description": "Parameter options"
|
|
12231
12182
|
}
|
|
12232
12183
|
},
|
|
12233
12184
|
"required": [
|
|
12234
|
-
"
|
|
12185
|
+
"name"
|
|
12235
12186
|
],
|
|
12236
|
-
"returns": "Promise<
|
|
12237
|
-
},
|
|
12238
|
-
"connectWs": {
|
|
12239
|
-
"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`.",
|
|
12240
|
-
"parameters": {},
|
|
12241
|
-
"required": [],
|
|
12242
|
-
"returns": "Promise<void>"
|
|
12187
|
+
"returns": "Promise<any>"
|
|
12243
12188
|
},
|
|
12244
|
-
"
|
|
12245
|
-
"description": "
|
|
12189
|
+
"listEffects": {
|
|
12190
|
+
"description": "List available audio effects and their parameter definitions.",
|
|
12246
12191
|
"parameters": {},
|
|
12247
12192
|
"required": [],
|
|
12248
|
-
"returns": "
|
|
12249
|
-
},
|
|
12250
|
-
"toApiFormat": {
|
|
12251
|
-
"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.",
|
|
12252
|
-
"parameters": {
|
|
12253
|
-
"workflow": {
|
|
12254
|
-
"type": "Record<string, any>",
|
|
12255
|
-
"description": "Parameter workflow"
|
|
12256
|
-
}
|
|
12257
|
-
},
|
|
12258
|
-
"required": [
|
|
12259
|
-
"workflow"
|
|
12260
|
-
],
|
|
12261
|
-
"returns": "Promise<Record<string, any>>"
|
|
12193
|
+
"returns": "Promise<any>"
|
|
12262
12194
|
},
|
|
12263
|
-
"
|
|
12264
|
-
"description": "
|
|
12195
|
+
"synthesize": {
|
|
12196
|
+
"description": "Synthesize speech from text using the streaming endpoint. Returns audio as a WAV Buffer (synchronous — blocks until audio is ready).",
|
|
12265
12197
|
"parameters": {
|
|
12266
|
-
"
|
|
12267
|
-
"type": "
|
|
12268
|
-
"description": "
|
|
12269
|
-
},
|
|
12270
|
-
"inputs": {
|
|
12271
|
-
"type": "Record<string, any>",
|
|
12272
|
-
"description": "Parameter inputs"
|
|
12198
|
+
"text": {
|
|
12199
|
+
"type": "string",
|
|
12200
|
+
"description": "The text to convert to speech"
|
|
12273
12201
|
},
|
|
12274
12202
|
"options": {
|
|
12275
|
-
"type": "
|
|
12276
|
-
"description": "
|
|
12203
|
+
"type": "SynthesizeOptions",
|
|
12204
|
+
"description": "Profile, engine, model, and other synthesis options",
|
|
12277
12205
|
"properties": {
|
|
12278
|
-
"
|
|
12279
|
-
"type": "
|
|
12280
|
-
"description": "
|
|
12206
|
+
"profileId": {
|
|
12207
|
+
"type": "string",
|
|
12208
|
+
"description": ""
|
|
12281
12209
|
},
|
|
12282
|
-
"
|
|
12283
|
-
"type": "
|
|
12284
|
-
"description": "
|
|
12210
|
+
"engine": {
|
|
12211
|
+
"type": "string",
|
|
12212
|
+
"description": ""
|
|
12285
12213
|
},
|
|
12286
|
-
"
|
|
12287
|
-
"type": "
|
|
12288
|
-
"description": "
|
|
12214
|
+
"modelSize": {
|
|
12215
|
+
"type": "string",
|
|
12216
|
+
"description": ""
|
|
12289
12217
|
},
|
|
12290
|
-
"
|
|
12218
|
+
"language": {
|
|
12291
12219
|
"type": "string",
|
|
12292
|
-
"description": "
|
|
12220
|
+
"description": ""
|
|
12221
|
+
},
|
|
12222
|
+
"instruct": {
|
|
12223
|
+
"type": "string",
|
|
12224
|
+
"description": ""
|
|
12225
|
+
},
|
|
12226
|
+
"seed": {
|
|
12227
|
+
"type": "number",
|
|
12228
|
+
"description": ""
|
|
12229
|
+
},
|
|
12230
|
+
"maxChunkChars": {
|
|
12231
|
+
"type": "number",
|
|
12232
|
+
"description": ""
|
|
12233
|
+
},
|
|
12234
|
+
"crossfadeMs": {
|
|
12235
|
+
"type": "number",
|
|
12236
|
+
"description": ""
|
|
12237
|
+
},
|
|
12238
|
+
"normalize": {
|
|
12239
|
+
"type": "boolean",
|
|
12240
|
+
"description": ""
|
|
12241
|
+
},
|
|
12242
|
+
"effectsChain": {
|
|
12243
|
+
"type": "EffectConfig[]",
|
|
12244
|
+
"description": ""
|
|
12245
|
+
},
|
|
12246
|
+
"disableCache": {
|
|
12247
|
+
"type": "boolean",
|
|
12248
|
+
"description": ""
|
|
12293
12249
|
}
|
|
12294
12250
|
}
|
|
12295
12251
|
}
|
|
12296
12252
|
},
|
|
12297
12253
|
"required": [
|
|
12298
|
-
"
|
|
12299
|
-
],
|
|
12300
|
-
"returns": "Promise<WorkflowResult>"
|
|
12301
|
-
}
|
|
12302
|
-
},
|
|
12303
|
-
"getters": {
|
|
12304
|
-
"clientId": {
|
|
12305
|
-
"description": "The unique client ID used for WebSocket session tracking.",
|
|
12306
|
-
"returns": "string"
|
|
12307
|
-
},
|
|
12308
|
-
"wsURL": {
|
|
12309
|
-
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
12310
|
-
"returns": "string"
|
|
12311
|
-
}
|
|
12312
|
-
},
|
|
12313
|
-
"events": {
|
|
12314
|
-
"execution_start": {
|
|
12315
|
-
"name": "execution_start",
|
|
12316
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12317
|
-
"arguments": {}
|
|
12318
|
-
},
|
|
12319
|
-
"execution_complete": {
|
|
12320
|
-
"name": "execution_complete",
|
|
12321
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12322
|
-
"arguments": {}
|
|
12323
|
-
},
|
|
12324
|
-
"executing": {
|
|
12325
|
-
"name": "executing",
|
|
12326
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12327
|
-
"arguments": {}
|
|
12328
|
-
},
|
|
12329
|
-
"progress": {
|
|
12330
|
-
"name": "progress",
|
|
12331
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12332
|
-
"arguments": {}
|
|
12333
|
-
},
|
|
12334
|
-
"executed": {
|
|
12335
|
-
"name": "executed",
|
|
12336
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12337
|
-
"arguments": {}
|
|
12338
|
-
},
|
|
12339
|
-
"execution_cached": {
|
|
12340
|
-
"name": "execution_cached",
|
|
12341
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12342
|
-
"arguments": {}
|
|
12343
|
-
},
|
|
12344
|
-
"execution_error": {
|
|
12345
|
-
"name": "execution_error",
|
|
12346
|
-
"description": "Event emitted by ComfyUIClient",
|
|
12347
|
-
"arguments": {}
|
|
12348
|
-
}
|
|
12349
|
-
},
|
|
12350
|
-
"state": {},
|
|
12351
|
-
"options": {},
|
|
12352
|
-
"envVars": [],
|
|
12353
|
-
"examples": [
|
|
12354
|
-
{
|
|
12355
|
-
"language": "ts",
|
|
12356
|
-
"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)"
|
|
12357
|
-
}
|
|
12358
|
-
],
|
|
12359
|
-
"types": {
|
|
12360
|
-
"WorkflowRunOptions": {
|
|
12361
|
-
"description": "",
|
|
12362
|
-
"properties": {
|
|
12363
|
-
"poll": {
|
|
12364
|
-
"type": "boolean",
|
|
12365
|
-
"description": "Use polling instead of WebSocket for tracking execution",
|
|
12366
|
-
"optional": true
|
|
12367
|
-
},
|
|
12368
|
-
"pollInterval": {
|
|
12369
|
-
"type": "number",
|
|
12370
|
-
"description": "Polling interval in ms (default 1000)",
|
|
12371
|
-
"optional": true
|
|
12372
|
-
},
|
|
12373
|
-
"inputMap": {
|
|
12374
|
-
"type": "InputMapping",
|
|
12375
|
-
"description": "Named input mapping: semantic name -> { nodeId, field }",
|
|
12376
|
-
"optional": true
|
|
12377
|
-
},
|
|
12378
|
-
"outputDir": {
|
|
12379
|
-
"type": "string",
|
|
12380
|
-
"description": "If provided, output images are downloaded to this directory",
|
|
12381
|
-
"optional": true
|
|
12382
|
-
}
|
|
12383
|
-
}
|
|
12384
|
-
},
|
|
12385
|
-
"WorkflowResult": {
|
|
12386
|
-
"description": "",
|
|
12387
|
-
"properties": {
|
|
12388
|
-
"promptId": {
|
|
12389
|
-
"type": "string",
|
|
12390
|
-
"description": ""
|
|
12391
|
-
},
|
|
12392
|
-
"outputs": {
|
|
12393
|
-
"type": "Record<string, any>",
|
|
12394
|
-
"description": ""
|
|
12395
|
-
},
|
|
12396
|
-
"images": {
|
|
12397
|
-
"type": "Array<{ filename: string; subfolder: string; type: string; localPath?: string }>",
|
|
12398
|
-
"description": "",
|
|
12399
|
-
"optional": true
|
|
12400
|
-
}
|
|
12401
|
-
}
|
|
12402
|
-
}
|
|
12403
|
-
}
|
|
12404
|
-
});
|
|
12405
|
-
|
|
12406
|
-
setBuildTimeData('clients.elevenlabs', {
|
|
12407
|
-
"id": "clients.elevenlabs",
|
|
12408
|
-
"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.",
|
|
12409
|
-
"shortcut": "clients.elevenlabs",
|
|
12410
|
-
"className": "ElevenLabsClient",
|
|
12411
|
-
"methods": {
|
|
12412
|
-
"beforeRequest": {
|
|
12413
|
-
"description": "Inject the xi-api-key header before each request.",
|
|
12414
|
-
"parameters": {},
|
|
12415
|
-
"required": [],
|
|
12416
|
-
"returns": "void"
|
|
12417
|
-
},
|
|
12418
|
-
"connect": {
|
|
12419
|
-
"description": "Validate the API key by listing available models.",
|
|
12420
|
-
"parameters": {},
|
|
12421
|
-
"required": [],
|
|
12422
|
-
"returns": "Promise<this>",
|
|
12423
|
-
"examples": [
|
|
12424
|
-
{
|
|
12425
|
-
"language": "ts",
|
|
12426
|
-
"code": "await el.connect()"
|
|
12427
|
-
}
|
|
12428
|
-
]
|
|
12429
|
-
},
|
|
12430
|
-
"listVoices": {
|
|
12431
|
-
"description": "List available voices with optional search and filtering.",
|
|
12432
|
-
"parameters": {
|
|
12433
|
-
"options": {
|
|
12434
|
-
"type": "{\n search?: string\n category?: string\n voice_type?: string\n page_size?: number\n next_page_token?: string\n }",
|
|
12435
|
-
"description": "Query parameters for filtering voices"
|
|
12436
|
-
}
|
|
12437
|
-
},
|
|
12438
|
-
"required": [],
|
|
12439
|
-
"returns": "Promise<any>",
|
|
12440
|
-
"examples": [
|
|
12441
|
-
{
|
|
12442
|
-
"language": "ts",
|
|
12443
|
-
"code": "const voices = await el.listVoices()\nconst premade = await el.listVoices({ category: 'premade' })"
|
|
12444
|
-
}
|
|
12445
|
-
]
|
|
12446
|
-
},
|
|
12447
|
-
"getVoice": {
|
|
12448
|
-
"description": "Get details for a single voice.",
|
|
12449
|
-
"parameters": {
|
|
12450
|
-
"voiceId": {
|
|
12451
|
-
"type": "string",
|
|
12452
|
-
"description": "The voice ID to look up"
|
|
12453
|
-
}
|
|
12454
|
-
},
|
|
12455
|
-
"required": [
|
|
12456
|
-
"voiceId"
|
|
12254
|
+
"text"
|
|
12457
12255
|
],
|
|
12458
|
-
"returns": "Promise<
|
|
12459
|
-
"examples": [
|
|
12460
|
-
{
|
|
12461
|
-
"language": "ts",
|
|
12462
|
-
"code": "const voice = await el.getVoice('21m00Tcm4TlvDq8ikWAM')\nconsole.log(voice.name, voice.settings)"
|
|
12463
|
-
}
|
|
12464
|
-
]
|
|
12465
|
-
},
|
|
12466
|
-
"listModels": {
|
|
12467
|
-
"description": "List available TTS models.",
|
|
12468
|
-
"parameters": {},
|
|
12469
|
-
"required": [],
|
|
12470
|
-
"returns": "Promise<any[]>",
|
|
12256
|
+
"returns": "Promise<Buffer>",
|
|
12471
12257
|
"examples": [
|
|
12472
12258
|
{
|
|
12473
12259
|
"language": "ts",
|
|
12474
|
-
"code": "const
|
|
12260
|
+
"code": "const audio = await vb.synthesize('Hello world', { profileId: 'abc-123' })\n// audio is a Buffer of WAV data"
|
|
12475
12261
|
}
|
|
12476
12262
|
]
|
|
12477
12263
|
},
|
|
12478
|
-
"
|
|
12479
|
-
"description": "
|
|
12264
|
+
"generate": {
|
|
12265
|
+
"description": "Generate speech asynchronously (returns metadata, not audio). Use getAudio() to fetch the audio after generation completes.",
|
|
12480
12266
|
"parameters": {
|
|
12481
12267
|
"text": {
|
|
12482
12268
|
"type": "string",
|
|
12483
|
-
"description": "
|
|
12269
|
+
"description": "Parameter text"
|
|
12484
12270
|
},
|
|
12485
12271
|
"options": {
|
|
12486
12272
|
"type": "SynthesizeOptions",
|
|
12487
|
-
"description": "
|
|
12273
|
+
"description": "Parameter options",
|
|
12488
12274
|
"properties": {
|
|
12489
|
-
"
|
|
12275
|
+
"profileId": {
|
|
12490
12276
|
"type": "string",
|
|
12491
12277
|
"description": ""
|
|
12492
12278
|
},
|
|
12493
|
-
"
|
|
12279
|
+
"engine": {
|
|
12494
12280
|
"type": "string",
|
|
12495
12281
|
"description": ""
|
|
12496
12282
|
},
|
|
12497
|
-
"
|
|
12283
|
+
"modelSize": {
|
|
12498
12284
|
"type": "string",
|
|
12499
12285
|
"description": ""
|
|
12500
12286
|
},
|
|
12501
|
-
"
|
|
12502
|
-
"type": "
|
|
12287
|
+
"language": {
|
|
12288
|
+
"type": "string",
|
|
12289
|
+
"description": ""
|
|
12290
|
+
},
|
|
12291
|
+
"instruct": {
|
|
12292
|
+
"type": "string",
|
|
12293
|
+
"description": ""
|
|
12294
|
+
},
|
|
12295
|
+
"seed": {
|
|
12296
|
+
"type": "number",
|
|
12297
|
+
"description": ""
|
|
12298
|
+
},
|
|
12299
|
+
"maxChunkChars": {
|
|
12300
|
+
"type": "number",
|
|
12301
|
+
"description": ""
|
|
12302
|
+
},
|
|
12303
|
+
"crossfadeMs": {
|
|
12304
|
+
"type": "number",
|
|
12305
|
+
"description": ""
|
|
12306
|
+
},
|
|
12307
|
+
"normalize": {
|
|
12308
|
+
"type": "boolean",
|
|
12309
|
+
"description": ""
|
|
12310
|
+
},
|
|
12311
|
+
"effectsChain": {
|
|
12312
|
+
"type": "EffectConfig[]",
|
|
12503
12313
|
"description": ""
|
|
12504
12314
|
},
|
|
12505
12315
|
"disableCache": {
|
|
@@ -12512,43 +12322,74 @@ setBuildTimeData('clients.elevenlabs', {
|
|
|
12512
12322
|
"required": [
|
|
12513
12323
|
"text"
|
|
12514
12324
|
],
|
|
12515
|
-
"returns": "Promise<
|
|
12516
|
-
|
|
12517
|
-
|
|
12518
|
-
|
|
12519
|
-
|
|
12325
|
+
"returns": "Promise<any>"
|
|
12326
|
+
},
|
|
12327
|
+
"getAudio": {
|
|
12328
|
+
"description": "Fetch generated audio by generation ID. Returns WAV Buffer.",
|
|
12329
|
+
"parameters": {
|
|
12330
|
+
"generationId": {
|
|
12331
|
+
"type": "string",
|
|
12332
|
+
"description": "Parameter generationId"
|
|
12520
12333
|
}
|
|
12521
|
-
|
|
12334
|
+
},
|
|
12335
|
+
"required": [
|
|
12336
|
+
"generationId"
|
|
12337
|
+
],
|
|
12338
|
+
"returns": "Promise<Buffer>"
|
|
12522
12339
|
},
|
|
12523
12340
|
"say": {
|
|
12524
|
-
"description": "Synthesize
|
|
12341
|
+
"description": "Synthesize and write audio to a file.",
|
|
12525
12342
|
"parameters": {
|
|
12526
12343
|
"text": {
|
|
12527
12344
|
"type": "string",
|
|
12528
|
-
"description": "
|
|
12345
|
+
"description": "Parameter text"
|
|
12529
12346
|
},
|
|
12530
12347
|
"outputPath": {
|
|
12531
12348
|
"type": "string",
|
|
12532
|
-
"description": "
|
|
12349
|
+
"description": "Parameter outputPath"
|
|
12533
12350
|
},
|
|
12534
12351
|
"options": {
|
|
12535
12352
|
"type": "SynthesizeOptions",
|
|
12536
|
-
"description": "
|
|
12353
|
+
"description": "Parameter options",
|
|
12537
12354
|
"properties": {
|
|
12538
|
-
"
|
|
12355
|
+
"profileId": {
|
|
12539
12356
|
"type": "string",
|
|
12540
12357
|
"description": ""
|
|
12541
12358
|
},
|
|
12542
|
-
"
|
|
12359
|
+
"engine": {
|
|
12543
12360
|
"type": "string",
|
|
12544
12361
|
"description": ""
|
|
12545
12362
|
},
|
|
12546
|
-
"
|
|
12363
|
+
"modelSize": {
|
|
12547
12364
|
"type": "string",
|
|
12548
12365
|
"description": ""
|
|
12549
12366
|
},
|
|
12550
|
-
"
|
|
12551
|
-
"type": "
|
|
12367
|
+
"language": {
|
|
12368
|
+
"type": "string",
|
|
12369
|
+
"description": ""
|
|
12370
|
+
},
|
|
12371
|
+
"instruct": {
|
|
12372
|
+
"type": "string",
|
|
12373
|
+
"description": ""
|
|
12374
|
+
},
|
|
12375
|
+
"seed": {
|
|
12376
|
+
"type": "number",
|
|
12377
|
+
"description": ""
|
|
12378
|
+
},
|
|
12379
|
+
"maxChunkChars": {
|
|
12380
|
+
"type": "number",
|
|
12381
|
+
"description": ""
|
|
12382
|
+
},
|
|
12383
|
+
"crossfadeMs": {
|
|
12384
|
+
"type": "number",
|
|
12385
|
+
"description": ""
|
|
12386
|
+
},
|
|
12387
|
+
"normalize": {
|
|
12388
|
+
"type": "boolean",
|
|
12389
|
+
"description": ""
|
|
12390
|
+
},
|
|
12391
|
+
"effectsChain": {
|
|
12392
|
+
"type": "EffectConfig[]",
|
|
12552
12393
|
"description": ""
|
|
12553
12394
|
},
|
|
12554
12395
|
"disableCache": {
|
|
@@ -12562,35 +12403,24 @@ setBuildTimeData('clients.elevenlabs', {
|
|
|
12562
12403
|
"text",
|
|
12563
12404
|
"outputPath"
|
|
12564
12405
|
],
|
|
12565
|
-
"returns": "Promise<string>"
|
|
12566
|
-
"examples": [
|
|
12567
|
-
{
|
|
12568
|
-
"language": "ts",
|
|
12569
|
-
"code": "const path = await el.say('Hello world', './hello.mp3')\nconsole.log(`Audio saved to ${path}`)"
|
|
12570
|
-
}
|
|
12571
|
-
]
|
|
12572
|
-
}
|
|
12573
|
-
},
|
|
12574
|
-
"getters": {
|
|
12575
|
-
"apiKey": {
|
|
12576
|
-
"description": "The resolved API key from options or environment.",
|
|
12577
|
-
"returns": "string"
|
|
12406
|
+
"returns": "Promise<string>"
|
|
12578
12407
|
}
|
|
12579
12408
|
},
|
|
12409
|
+
"getters": {},
|
|
12580
12410
|
"events": {
|
|
12581
12411
|
"failure": {
|
|
12582
12412
|
"name": "failure",
|
|
12583
|
-
"description": "Event emitted by
|
|
12413
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
12584
12414
|
"arguments": {}
|
|
12585
12415
|
},
|
|
12586
|
-
"
|
|
12587
|
-
"name": "
|
|
12588
|
-
"description": "Event emitted by
|
|
12416
|
+
"profiles": {
|
|
12417
|
+
"name": "profiles",
|
|
12418
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
12589
12419
|
"arguments": {}
|
|
12590
12420
|
},
|
|
12591
12421
|
"speech": {
|
|
12592
12422
|
"name": "speech",
|
|
12593
|
-
"description": "Event emitted by
|
|
12423
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
12594
12424
|
"arguments": {}
|
|
12595
12425
|
}
|
|
12596
12426
|
},
|
|
@@ -12600,69 +12430,88 @@ setBuildTimeData('clients.elevenlabs', {
|
|
|
12600
12430
|
"examples": [
|
|
12601
12431
|
{
|
|
12602
12432
|
"language": "ts",
|
|
12603
|
-
"code": "const
|
|
12433
|
+
"code": "const vb = container.client('voicebox')\nawait vb.connect()\nconst profiles = await vb.listProfiles()\nconst audio = await vb.synthesize('Hello world', { profileId: profiles[0].id })\n// audio is a Buffer of WAV data"
|
|
12604
12434
|
}
|
|
12605
12435
|
],
|
|
12606
12436
|
"types": {
|
|
12607
12437
|
"SynthesizeOptions": {
|
|
12608
12438
|
"description": "",
|
|
12609
12439
|
"properties": {
|
|
12610
|
-
"
|
|
12440
|
+
"profileId": {
|
|
12611
12441
|
"type": "string",
|
|
12612
12442
|
"description": "",
|
|
12613
12443
|
"optional": true
|
|
12614
12444
|
},
|
|
12615
|
-
"
|
|
12445
|
+
"engine": {
|
|
12616
12446
|
"type": "string",
|
|
12617
12447
|
"description": "",
|
|
12618
12448
|
"optional": true
|
|
12619
12449
|
},
|
|
12620
|
-
"
|
|
12450
|
+
"modelSize": {
|
|
12621
12451
|
"type": "string",
|
|
12622
12452
|
"description": "",
|
|
12623
12453
|
"optional": true
|
|
12624
12454
|
},
|
|
12625
|
-
"
|
|
12626
|
-
"type": "
|
|
12455
|
+
"language": {
|
|
12456
|
+
"type": "string",
|
|
12627
12457
|
"description": "",
|
|
12628
12458
|
"optional": true
|
|
12629
12459
|
},
|
|
12630
|
-
"
|
|
12631
|
-
"type": "
|
|
12460
|
+
"instruct": {
|
|
12461
|
+
"type": "string",
|
|
12632
12462
|
"description": "",
|
|
12633
12463
|
"optional": true
|
|
12634
|
-
}
|
|
12635
|
-
|
|
12636
|
-
},
|
|
12637
|
-
"ElevenLabsVoiceSettings": {
|
|
12638
|
-
"description": "",
|
|
12639
|
-
"properties": {
|
|
12640
|
-
"stability": {
|
|
12464
|
+
},
|
|
12465
|
+
"seed": {
|
|
12641
12466
|
"type": "number",
|
|
12642
12467
|
"description": "",
|
|
12643
12468
|
"optional": true
|
|
12644
12469
|
},
|
|
12645
|
-
"
|
|
12470
|
+
"maxChunkChars": {
|
|
12646
12471
|
"type": "number",
|
|
12647
12472
|
"description": "",
|
|
12648
12473
|
"optional": true
|
|
12649
12474
|
},
|
|
12650
|
-
"
|
|
12475
|
+
"crossfadeMs": {
|
|
12651
12476
|
"type": "number",
|
|
12652
12477
|
"description": "",
|
|
12653
12478
|
"optional": true
|
|
12654
12479
|
},
|
|
12655
|
-
"
|
|
12656
|
-
"type": "
|
|
12480
|
+
"normalize": {
|
|
12481
|
+
"type": "boolean",
|
|
12657
12482
|
"description": "",
|
|
12658
12483
|
"optional": true
|
|
12659
12484
|
},
|
|
12660
|
-
"
|
|
12661
|
-
"type": "
|
|
12485
|
+
"effectsChain": {
|
|
12486
|
+
"type": "EffectConfig[]",
|
|
12662
12487
|
"description": "",
|
|
12663
12488
|
"optional": true
|
|
12664
|
-
}
|
|
12665
|
-
|
|
12489
|
+
},
|
|
12490
|
+
"disableCache": {
|
|
12491
|
+
"type": "boolean",
|
|
12492
|
+
"description": "",
|
|
12493
|
+
"optional": true
|
|
12494
|
+
}
|
|
12495
|
+
}
|
|
12496
|
+
},
|
|
12497
|
+
"EffectConfig": {
|
|
12498
|
+
"description": "",
|
|
12499
|
+
"properties": {
|
|
12500
|
+
"type": {
|
|
12501
|
+
"type": "string",
|
|
12502
|
+
"description": ""
|
|
12503
|
+
},
|
|
12504
|
+
"enabled": {
|
|
12505
|
+
"type": "boolean",
|
|
12506
|
+
"description": "",
|
|
12507
|
+
"optional": true
|
|
12508
|
+
},
|
|
12509
|
+
"params": {
|
|
12510
|
+
"type": "Record<string, any>",
|
|
12511
|
+
"description": "",
|
|
12512
|
+
"optional": true
|
|
12513
|
+
}
|
|
12514
|
+
}
|
|
12666
12515
|
}
|
|
12667
12516
|
}
|
|
12668
12517
|
});
|
|
@@ -12863,157 +12712,194 @@ setBuildTimeData('clients.supabase', {
|
|
|
12863
12712
|
]
|
|
12864
12713
|
});
|
|
12865
12714
|
|
|
12866
|
-
setBuildTimeData('
|
|
12867
|
-
"id": "
|
|
12868
|
-
"description": "
|
|
12869
|
-
"shortcut": "
|
|
12870
|
-
"className": "
|
|
12715
|
+
setBuildTimeData('clients.elevenlabs', {
|
|
12716
|
+
"id": "clients.elevenlabs",
|
|
12717
|
+
"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.",
|
|
12718
|
+
"shortcut": "clients.elevenlabs",
|
|
12719
|
+
"className": "ElevenLabsClient",
|
|
12871
12720
|
"methods": {
|
|
12872
|
-
"
|
|
12873
|
-
"description": "
|
|
12721
|
+
"beforeRequest": {
|
|
12722
|
+
"description": "Inject the xi-api-key header before each request.",
|
|
12723
|
+
"parameters": {},
|
|
12724
|
+
"required": [],
|
|
12725
|
+
"returns": "void"
|
|
12726
|
+
},
|
|
12727
|
+
"connect": {
|
|
12728
|
+
"description": "Validate the API key by listing available models.",
|
|
12729
|
+
"parameters": {},
|
|
12730
|
+
"required": [],
|
|
12731
|
+
"returns": "Promise<this>",
|
|
12732
|
+
"examples": [
|
|
12733
|
+
{
|
|
12734
|
+
"language": "ts",
|
|
12735
|
+
"code": "await el.connect()"
|
|
12736
|
+
}
|
|
12737
|
+
]
|
|
12738
|
+
},
|
|
12739
|
+
"listVoices": {
|
|
12740
|
+
"description": "List available voices with optional search and filtering.",
|
|
12874
12741
|
"parameters": {
|
|
12875
|
-
"name": {
|
|
12876
|
-
"type": "string",
|
|
12877
|
-
"description": "Unique tool name"
|
|
12878
|
-
},
|
|
12879
12742
|
"options": {
|
|
12880
|
-
"type": "
|
|
12881
|
-
"description": "
|
|
12882
|
-
"properties": {
|
|
12883
|
-
"schema": {
|
|
12884
|
-
"type": "z.ZodType",
|
|
12885
|
-
"description": ""
|
|
12886
|
-
},
|
|
12887
|
-
"description": {
|
|
12888
|
-
"type": "string",
|
|
12889
|
-
"description": ""
|
|
12890
|
-
},
|
|
12891
|
-
"handler": {
|
|
12892
|
-
"type": "Function | ((args: any, ctx: any) => any)",
|
|
12893
|
-
"description": ""
|
|
12894
|
-
}
|
|
12895
|
-
}
|
|
12743
|
+
"type": "{\n search?: string\n category?: string\n voice_type?: string\n page_size?: number\n next_page_token?: string\n }",
|
|
12744
|
+
"description": "Query parameters for filtering voices"
|
|
12896
12745
|
}
|
|
12897
12746
|
},
|
|
12898
|
-
"required": [
|
|
12899
|
-
|
|
12900
|
-
|
|
12901
|
-
|
|
12902
|
-
|
|
12747
|
+
"required": [],
|
|
12748
|
+
"returns": "Promise<any>",
|
|
12749
|
+
"examples": [
|
|
12750
|
+
{
|
|
12751
|
+
"language": "ts",
|
|
12752
|
+
"code": "const voices = await el.listVoices()\nconst premade = await el.listVoices({ category: 'premade' })"
|
|
12753
|
+
}
|
|
12754
|
+
]
|
|
12903
12755
|
},
|
|
12904
|
-
"
|
|
12905
|
-
"description": "
|
|
12756
|
+
"getVoice": {
|
|
12757
|
+
"description": "Get details for a single voice.",
|
|
12906
12758
|
"parameters": {
|
|
12907
|
-
"
|
|
12759
|
+
"voiceId": {
|
|
12908
12760
|
"type": "string",
|
|
12909
|
-
"description": "
|
|
12910
|
-
},
|
|
12911
|
-
"handlerOrOptions": {
|
|
12912
|
-
"type": "ResourceRegistrationOptions['handler'] | ResourceRegistrationOptions",
|
|
12913
|
-
"description": "Handler function or options object with handler"
|
|
12761
|
+
"description": "The voice ID to look up"
|
|
12914
12762
|
}
|
|
12915
12763
|
},
|
|
12916
12764
|
"required": [
|
|
12917
|
-
"
|
|
12918
|
-
"handlerOrOptions"
|
|
12765
|
+
"voiceId"
|
|
12919
12766
|
],
|
|
12920
|
-
"returns": "
|
|
12767
|
+
"returns": "Promise<any>",
|
|
12768
|
+
"examples": [
|
|
12769
|
+
{
|
|
12770
|
+
"language": "ts",
|
|
12771
|
+
"code": "const voice = await el.getVoice('21m00Tcm4TlvDq8ikWAM')\nconsole.log(voice.name, voice.settings)"
|
|
12772
|
+
}
|
|
12773
|
+
]
|
|
12921
12774
|
},
|
|
12922
|
-
"
|
|
12923
|
-
"description": "
|
|
12775
|
+
"listModels": {
|
|
12776
|
+
"description": "List available TTS models.",
|
|
12777
|
+
"parameters": {},
|
|
12778
|
+
"required": [],
|
|
12779
|
+
"returns": "Promise<any[]>",
|
|
12780
|
+
"examples": [
|
|
12781
|
+
{
|
|
12782
|
+
"language": "ts",
|
|
12783
|
+
"code": "const models = await el.listModels()\nconsole.log(models.map(m => m.model_id))"
|
|
12784
|
+
}
|
|
12785
|
+
]
|
|
12786
|
+
},
|
|
12787
|
+
"synthesize": {
|
|
12788
|
+
"description": "Synthesize speech from text, returning audio as a Buffer.",
|
|
12924
12789
|
"parameters": {
|
|
12925
|
-
"
|
|
12790
|
+
"text": {
|
|
12926
12791
|
"type": "string",
|
|
12927
|
-
"description": "
|
|
12792
|
+
"description": "The text to convert to speech"
|
|
12928
12793
|
},
|
|
12929
12794
|
"options": {
|
|
12930
|
-
"type": "
|
|
12931
|
-
"description": "
|
|
12795
|
+
"type": "SynthesizeOptions",
|
|
12796
|
+
"description": "Voice, model, format, and voice settings overrides",
|
|
12932
12797
|
"properties": {
|
|
12933
|
-
"
|
|
12798
|
+
"voiceId": {
|
|
12934
12799
|
"type": "string",
|
|
12935
12800
|
"description": ""
|
|
12936
12801
|
},
|
|
12937
|
-
"
|
|
12938
|
-
"type": "
|
|
12802
|
+
"modelId": {
|
|
12803
|
+
"type": "string",
|
|
12939
12804
|
"description": ""
|
|
12940
12805
|
},
|
|
12941
|
-
"
|
|
12942
|
-
"type": "
|
|
12806
|
+
"outputFormat": {
|
|
12807
|
+
"type": "string",
|
|
12808
|
+
"description": ""
|
|
12809
|
+
},
|
|
12810
|
+
"voiceSettings": {
|
|
12811
|
+
"type": "ElevenLabsVoiceSettings",
|
|
12812
|
+
"description": ""
|
|
12813
|
+
},
|
|
12814
|
+
"disableCache": {
|
|
12815
|
+
"type": "boolean",
|
|
12943
12816
|
"description": ""
|
|
12944
12817
|
}
|
|
12945
12818
|
}
|
|
12946
12819
|
}
|
|
12947
12820
|
},
|
|
12948
12821
|
"required": [
|
|
12949
|
-
"
|
|
12950
|
-
"options"
|
|
12822
|
+
"text"
|
|
12951
12823
|
],
|
|
12952
|
-
"returns": "
|
|
12953
|
-
|
|
12954
|
-
|
|
12955
|
-
|
|
12956
|
-
|
|
12957
|
-
|
|
12958
|
-
|
|
12824
|
+
"returns": "Promise<Buffer>",
|
|
12825
|
+
"examples": [
|
|
12826
|
+
{
|
|
12827
|
+
"language": "ts",
|
|
12828
|
+
"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})"
|
|
12829
|
+
}
|
|
12830
|
+
]
|
|
12959
12831
|
},
|
|
12960
|
-
"
|
|
12961
|
-
"description": "
|
|
12832
|
+
"say": {
|
|
12833
|
+
"description": "Synthesize speech and write the audio to a file.",
|
|
12962
12834
|
"parameters": {
|
|
12835
|
+
"text": {
|
|
12836
|
+
"type": "string",
|
|
12837
|
+
"description": "The text to convert to speech"
|
|
12838
|
+
},
|
|
12839
|
+
"outputPath": {
|
|
12840
|
+
"type": "string",
|
|
12841
|
+
"description": "File path to write the audio to"
|
|
12842
|
+
},
|
|
12963
12843
|
"options": {
|
|
12964
|
-
"type": "
|
|
12965
|
-
"description": "
|
|
12844
|
+
"type": "SynthesizeOptions",
|
|
12845
|
+
"description": "Voice, model, format, and voice settings overrides",
|
|
12966
12846
|
"properties": {
|
|
12967
|
-
"
|
|
12968
|
-
"type": "
|
|
12969
|
-
"description": "
|
|
12847
|
+
"voiceId": {
|
|
12848
|
+
"type": "string",
|
|
12849
|
+
"description": ""
|
|
12970
12850
|
},
|
|
12971
|
-
"
|
|
12972
|
-
"type": "
|
|
12973
|
-
"description": "
|
|
12851
|
+
"modelId": {
|
|
12852
|
+
"type": "string",
|
|
12853
|
+
"description": ""
|
|
12854
|
+
},
|
|
12855
|
+
"outputFormat": {
|
|
12856
|
+
"type": "string",
|
|
12857
|
+
"description": ""
|
|
12858
|
+
},
|
|
12859
|
+
"voiceSettings": {
|
|
12860
|
+
"type": "ElevenLabsVoiceSettings",
|
|
12861
|
+
"description": ""
|
|
12862
|
+
},
|
|
12863
|
+
"disableCache": {
|
|
12864
|
+
"type": "boolean",
|
|
12865
|
+
"description": ""
|
|
12974
12866
|
}
|
|
12975
12867
|
}
|
|
12976
12868
|
}
|
|
12977
12869
|
},
|
|
12978
|
-
"required": [
|
|
12979
|
-
|
|
12980
|
-
|
|
12981
|
-
|
|
12982
|
-
"
|
|
12983
|
-
"
|
|
12984
|
-
|
|
12985
|
-
|
|
12870
|
+
"required": [
|
|
12871
|
+
"text",
|
|
12872
|
+
"outputPath"
|
|
12873
|
+
],
|
|
12874
|
+
"returns": "Promise<string>",
|
|
12875
|
+
"examples": [
|
|
12876
|
+
{
|
|
12877
|
+
"language": "ts",
|
|
12878
|
+
"code": "const path = await el.say('Hello world', './hello.mp3')\nconsole.log(`Audio saved to ${path}`)"
|
|
12879
|
+
}
|
|
12880
|
+
]
|
|
12986
12881
|
}
|
|
12987
12882
|
},
|
|
12988
12883
|
"getters": {
|
|
12989
|
-
"
|
|
12990
|
-
"description": "The
|
|
12991
|
-
"returns": "
|
|
12992
|
-
},
|
|
12993
|
-
"handlerContext": {
|
|
12994
|
-
"description": "The handler context passed to all tool, resource, and prompt handlers.",
|
|
12995
|
-
"returns": "MCPContext"
|
|
12884
|
+
"apiKey": {
|
|
12885
|
+
"description": "The resolved API key from options or environment.",
|
|
12886
|
+
"returns": "string"
|
|
12996
12887
|
}
|
|
12997
12888
|
},
|
|
12998
12889
|
"events": {
|
|
12999
|
-
"
|
|
13000
|
-
"name": "
|
|
13001
|
-
"description": "Event emitted by
|
|
13002
|
-
"arguments": {}
|
|
13003
|
-
},
|
|
13004
|
-
"resourceRegistered": {
|
|
13005
|
-
"name": "resourceRegistered",
|
|
13006
|
-
"description": "Event emitted by MCPServer",
|
|
12890
|
+
"failure": {
|
|
12891
|
+
"name": "failure",
|
|
12892
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
13007
12893
|
"arguments": {}
|
|
13008
12894
|
},
|
|
13009
|
-
"
|
|
13010
|
-
"name": "
|
|
13011
|
-
"description": "Event emitted by
|
|
12895
|
+
"voices": {
|
|
12896
|
+
"name": "voices",
|
|
12897
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
13012
12898
|
"arguments": {}
|
|
13013
12899
|
},
|
|
13014
|
-
"
|
|
13015
|
-
"name": "
|
|
13016
|
-
"description": "Event emitted by
|
|
12900
|
+
"speech": {
|
|
12901
|
+
"name": "speech",
|
|
12902
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
13017
12903
|
"arguments": {}
|
|
13018
12904
|
}
|
|
13019
12905
|
},
|
|
@@ -13023,185 +12909,709 @@ setBuildTimeData('servers.mcp', {
|
|
|
13023
12909
|
"examples": [
|
|
13024
12910
|
{
|
|
13025
12911
|
"language": "ts",
|
|
13026
|
-
"code": "const
|
|
12912
|
+
"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"
|
|
13027
12913
|
}
|
|
13028
12914
|
],
|
|
13029
12915
|
"types": {
|
|
13030
|
-
"
|
|
12916
|
+
"SynthesizeOptions": {
|
|
13031
12917
|
"description": "",
|
|
13032
12918
|
"properties": {
|
|
13033
|
-
"
|
|
13034
|
-
"type": "
|
|
12919
|
+
"voiceId": {
|
|
12920
|
+
"type": "string",
|
|
13035
12921
|
"description": "",
|
|
13036
12922
|
"optional": true
|
|
13037
12923
|
},
|
|
13038
|
-
"
|
|
12924
|
+
"modelId": {
|
|
13039
12925
|
"type": "string",
|
|
13040
12926
|
"description": "",
|
|
13041
12927
|
"optional": true
|
|
13042
12928
|
},
|
|
13043
|
-
"
|
|
13044
|
-
"type": "Function | ((args: any, ctx: any) => any)",
|
|
13045
|
-
"description": "",
|
|
13046
|
-
"optional": true
|
|
13047
|
-
}
|
|
13048
|
-
}
|
|
13049
|
-
},
|
|
13050
|
-
"ResourceRegistrationOptions": {
|
|
13051
|
-
"description": "",
|
|
13052
|
-
"properties": {
|
|
13053
|
-
"name": {
|
|
12929
|
+
"outputFormat": {
|
|
13054
12930
|
"type": "string",
|
|
13055
12931
|
"description": "",
|
|
13056
12932
|
"optional": true
|
|
13057
12933
|
},
|
|
13058
|
-
"
|
|
13059
|
-
"type": "
|
|
12934
|
+
"voiceSettings": {
|
|
12935
|
+
"type": "ElevenLabsVoiceSettings",
|
|
13060
12936
|
"description": "",
|
|
13061
12937
|
"optional": true
|
|
13062
12938
|
},
|
|
13063
|
-
"
|
|
13064
|
-
"type": "
|
|
12939
|
+
"disableCache": {
|
|
12940
|
+
"type": "boolean",
|
|
13065
12941
|
"description": "",
|
|
13066
12942
|
"optional": true
|
|
13067
|
-
},
|
|
13068
|
-
"handler": {
|
|
13069
|
-
"type": "(uri: string, ctx: MCPContext) => Promise<string> | string",
|
|
13070
|
-
"description": ""
|
|
13071
|
-
}
|
|
13072
|
-
}
|
|
13073
|
-
},
|
|
13074
|
-
"MCPContext": {
|
|
13075
|
-
"description": "Context object passed to all MCP tool, resource, and prompt handlers.",
|
|
13076
|
-
"properties": {
|
|
13077
|
-
"container": {
|
|
13078
|
-
"type": "NodeContainer",
|
|
13079
|
-
"description": ""
|
|
13080
12943
|
}
|
|
13081
12944
|
}
|
|
13082
12945
|
},
|
|
13083
|
-
"
|
|
12946
|
+
"ElevenLabsVoiceSettings": {
|
|
13084
12947
|
"description": "",
|
|
13085
12948
|
"properties": {
|
|
13086
|
-
"
|
|
13087
|
-
"type": "
|
|
12949
|
+
"stability": {
|
|
12950
|
+
"type": "number",
|
|
13088
12951
|
"description": "",
|
|
13089
12952
|
"optional": true
|
|
13090
12953
|
},
|
|
13091
|
-
"
|
|
13092
|
-
"type": "
|
|
12954
|
+
"similarityBoost": {
|
|
12955
|
+
"type": "number",
|
|
13093
12956
|
"description": "",
|
|
13094
12957
|
"optional": true
|
|
13095
12958
|
},
|
|
13096
|
-
"
|
|
13097
|
-
"type": "
|
|
13098
|
-
"description": ""
|
|
13099
|
-
|
|
13100
|
-
}
|
|
13101
|
-
},
|
|
13102
|
-
"PromptMessage": {
|
|
13103
|
-
"description": "",
|
|
13104
|
-
"properties": {
|
|
13105
|
-
"role": {
|
|
13106
|
-
"type": "'user' | 'assistant'",
|
|
13107
|
-
"description": ""
|
|
12959
|
+
"style": {
|
|
12960
|
+
"type": "number",
|
|
12961
|
+
"description": "",
|
|
12962
|
+
"optional": true
|
|
13108
12963
|
},
|
|
13109
|
-
"
|
|
13110
|
-
"type": "
|
|
13111
|
-
"description": ""
|
|
12964
|
+
"speed": {
|
|
12965
|
+
"type": "number",
|
|
12966
|
+
"description": "",
|
|
12967
|
+
"optional": true
|
|
12968
|
+
},
|
|
12969
|
+
"useSpeakerBoost": {
|
|
12970
|
+
"type": "boolean",
|
|
12971
|
+
"description": "",
|
|
12972
|
+
"optional": true
|
|
13112
12973
|
}
|
|
13113
12974
|
}
|
|
13114
12975
|
}
|
|
13115
12976
|
}
|
|
13116
12977
|
});
|
|
13117
12978
|
|
|
13118
|
-
setBuildTimeData('
|
|
13119
|
-
"id": "
|
|
13120
|
-
"description": "
|
|
13121
|
-
"shortcut": "
|
|
13122
|
-
"className": "
|
|
12979
|
+
setBuildTimeData('clients.comfyui', {
|
|
12980
|
+
"id": "clients.comfyui",
|
|
12981
|
+
"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.",
|
|
12982
|
+
"shortcut": "clients.comfyui",
|
|
12983
|
+
"className": "ComfyUIClient",
|
|
13123
12984
|
"methods": {
|
|
13124
|
-
"
|
|
13125
|
-
"description": "
|
|
12985
|
+
"queuePrompt": {
|
|
12986
|
+
"description": "Queue a prompt (API-format workflow) for execution.",
|
|
13126
12987
|
"parameters": {
|
|
13127
|
-
"
|
|
13128
|
-
"type": "
|
|
13129
|
-
"description": "
|
|
12988
|
+
"prompt": {
|
|
12989
|
+
"type": "Record<string, any>",
|
|
12990
|
+
"description": "The API-format workflow object"
|
|
12991
|
+
},
|
|
12992
|
+
"clientId": {
|
|
12993
|
+
"type": "string",
|
|
12994
|
+
"description": "Override the client ID for this request"
|
|
13130
12995
|
}
|
|
13131
12996
|
},
|
|
13132
|
-
"required": [
|
|
13133
|
-
|
|
12997
|
+
"required": [
|
|
12998
|
+
"prompt"
|
|
12999
|
+
],
|
|
13000
|
+
"returns": "Promise<{ prompt_id: string; number: number }>",
|
|
13001
|
+
"examples": [
|
|
13002
|
+
{
|
|
13003
|
+
"language": "ts",
|
|
13004
|
+
"code": "const { prompt_id } = await comfy.queuePrompt(apiWorkflow)"
|
|
13005
|
+
}
|
|
13006
|
+
]
|
|
13134
13007
|
},
|
|
13135
|
-
"
|
|
13136
|
-
"description": "",
|
|
13008
|
+
"getQueue": {
|
|
13009
|
+
"description": "Get the current prompt queue status.",
|
|
13137
13010
|
"parameters": {},
|
|
13138
13011
|
"required": [],
|
|
13139
|
-
"returns": "Promise<
|
|
13012
|
+
"returns": "Promise<{ queue_running: any[]; queue_pending: any[] }>"
|
|
13140
13013
|
},
|
|
13141
|
-
"
|
|
13142
|
-
"description": "",
|
|
13014
|
+
"getHistory": {
|
|
13015
|
+
"description": "Get execution history, optionally for a specific prompt.",
|
|
13016
|
+
"parameters": {
|
|
13017
|
+
"promptId": {
|
|
13018
|
+
"type": "string",
|
|
13019
|
+
"description": "If provided, returns history for this prompt only"
|
|
13020
|
+
}
|
|
13021
|
+
},
|
|
13022
|
+
"required": [],
|
|
13023
|
+
"returns": "Promise<Record<string, any>>"
|
|
13024
|
+
},
|
|
13025
|
+
"getSystemStats": {
|
|
13026
|
+
"description": "Get system stats including GPU memory and queue info.",
|
|
13143
13027
|
"parameters": {},
|
|
13144
13028
|
"required": [],
|
|
13145
|
-
"returns": "Promise<
|
|
13029
|
+
"returns": "Promise<any>"
|
|
13146
13030
|
},
|
|
13147
|
-
"
|
|
13148
|
-
"description": "",
|
|
13031
|
+
"getObjectInfo": {
|
|
13032
|
+
"description": "Get node type info with input/output schemas.",
|
|
13149
13033
|
"parameters": {
|
|
13150
|
-
"
|
|
13151
|
-
"type": "
|
|
13152
|
-
"description": "
|
|
13034
|
+
"nodeClass": {
|
|
13035
|
+
"type": "string",
|
|
13036
|
+
"description": "If provided, returns info for this node type only"
|
|
13153
13037
|
}
|
|
13154
13038
|
},
|
|
13155
|
-
"required": [
|
|
13156
|
-
|
|
13157
|
-
],
|
|
13158
|
-
"returns": "this"
|
|
13039
|
+
"required": [],
|
|
13040
|
+
"returns": "Promise<any>"
|
|
13159
13041
|
},
|
|
13160
|
-
"
|
|
13161
|
-
"description": "",
|
|
13042
|
+
"interrupt": {
|
|
13043
|
+
"description": "Interrupt the currently executing prompt.",
|
|
13044
|
+
"parameters": {},
|
|
13045
|
+
"required": [],
|
|
13046
|
+
"returns": "Promise<void>"
|
|
13047
|
+
},
|
|
13048
|
+
"getModels": {
|
|
13049
|
+
"description": "List available models, optionally filtered by type.",
|
|
13162
13050
|
"parameters": {
|
|
13163
|
-
"
|
|
13051
|
+
"type": {
|
|
13164
13052
|
"type": "string",
|
|
13165
|
-
"description": "
|
|
13053
|
+
"description": "Model type filter (e.g., 'checkpoints', 'loras')"
|
|
13166
13054
|
}
|
|
13167
13055
|
},
|
|
13168
|
-
"required": [
|
|
13169
|
-
|
|
13170
|
-
],
|
|
13171
|
-
"returns": "Promise<this>"
|
|
13056
|
+
"required": [],
|
|
13057
|
+
"returns": "Promise<string[]>"
|
|
13172
13058
|
},
|
|
13173
|
-
"
|
|
13174
|
-
"description": "
|
|
13059
|
+
"getEmbeddings": {
|
|
13060
|
+
"description": "List available embedding models.",
|
|
13061
|
+
"parameters": {},
|
|
13062
|
+
"required": [],
|
|
13063
|
+
"returns": "Promise<string[]>"
|
|
13064
|
+
},
|
|
13065
|
+
"uploadImage": {
|
|
13066
|
+
"description": "Upload an image to ComfyUI's input directory.",
|
|
13175
13067
|
"parameters": {
|
|
13176
|
-
"
|
|
13068
|
+
"file": {
|
|
13069
|
+
"type": "Buffer | Blob",
|
|
13070
|
+
"description": "The image data as Buffer or Blob"
|
|
13071
|
+
},
|
|
13072
|
+
"filename": {
|
|
13177
13073
|
"type": "string",
|
|
13178
|
-
"description": "
|
|
13074
|
+
"description": "File name for the upload"
|
|
13075
|
+
},
|
|
13076
|
+
"opts": {
|
|
13077
|
+
"type": "{ subfolder?: string; type?: string; overwrite?: boolean }",
|
|
13078
|
+
"description": "Upload options (subfolder, type, overwrite)"
|
|
13179
13079
|
}
|
|
13180
13080
|
},
|
|
13181
13081
|
"required": [
|
|
13182
|
-
"
|
|
13082
|
+
"file",
|
|
13083
|
+
"filename"
|
|
13183
13084
|
],
|
|
13184
|
-
"returns": "Promise<
|
|
13085
|
+
"returns": "Promise<any>"
|
|
13185
13086
|
},
|
|
13186
|
-
"
|
|
13187
|
-
"description": "",
|
|
13087
|
+
"viewImage": {
|
|
13088
|
+
"description": "Download a generated image from ComfyUI as a Buffer.",
|
|
13188
13089
|
"parameters": {
|
|
13189
|
-
"
|
|
13190
|
-
"type": "
|
|
13191
|
-
"description": "
|
|
13090
|
+
"filename": {
|
|
13091
|
+
"type": "string",
|
|
13092
|
+
"description": "The image filename"
|
|
13093
|
+
},
|
|
13094
|
+
"subfolder": {
|
|
13095
|
+
"type": "any",
|
|
13096
|
+
"description": "Subfolder within the output directory"
|
|
13097
|
+
},
|
|
13098
|
+
"type": {
|
|
13099
|
+
"type": "any",
|
|
13100
|
+
"description": "Image type ('output', 'input', 'temp')"
|
|
13192
13101
|
}
|
|
13193
13102
|
},
|
|
13194
13103
|
"required": [
|
|
13195
|
-
"
|
|
13104
|
+
"filename"
|
|
13196
13105
|
],
|
|
13197
|
-
"returns": "Promise<
|
|
13106
|
+
"returns": "Promise<Buffer>"
|
|
13198
13107
|
},
|
|
13199
|
-
"
|
|
13200
|
-
"description": "",
|
|
13108
|
+
"connectWs": {
|
|
13109
|
+
"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`.",
|
|
13110
|
+
"parameters": {},
|
|
13111
|
+
"required": [],
|
|
13112
|
+
"returns": "Promise<void>"
|
|
13113
|
+
},
|
|
13114
|
+
"disconnectWs": {
|
|
13115
|
+
"description": "Close the WebSocket connection.",
|
|
13116
|
+
"parameters": {},
|
|
13117
|
+
"required": [],
|
|
13118
|
+
"returns": "void"
|
|
13119
|
+
},
|
|
13120
|
+
"toApiFormat": {
|
|
13121
|
+
"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.",
|
|
13201
13122
|
"parameters": {
|
|
13202
|
-
"
|
|
13203
|
-
"type": "
|
|
13204
|
-
"description": "Parameter
|
|
13123
|
+
"workflow": {
|
|
13124
|
+
"type": "Record<string, any>",
|
|
13125
|
+
"description": "Parameter workflow"
|
|
13126
|
+
}
|
|
13127
|
+
},
|
|
13128
|
+
"required": [
|
|
13129
|
+
"workflow"
|
|
13130
|
+
],
|
|
13131
|
+
"returns": "Promise<Record<string, any>>"
|
|
13132
|
+
},
|
|
13133
|
+
"runWorkflow": {
|
|
13134
|
+
"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' } } ```",
|
|
13135
|
+
"parameters": {
|
|
13136
|
+
"workflow": {
|
|
13137
|
+
"type": "Record<string, any>",
|
|
13138
|
+
"description": "Parameter workflow"
|
|
13139
|
+
},
|
|
13140
|
+
"inputs": {
|
|
13141
|
+
"type": "Record<string, any>",
|
|
13142
|
+
"description": "Parameter inputs"
|
|
13143
|
+
},
|
|
13144
|
+
"options": {
|
|
13145
|
+
"type": "WorkflowRunOptions",
|
|
13146
|
+
"description": "Parameter options",
|
|
13147
|
+
"properties": {
|
|
13148
|
+
"poll": {
|
|
13149
|
+
"type": "boolean",
|
|
13150
|
+
"description": "Use polling instead of WebSocket for tracking execution"
|
|
13151
|
+
},
|
|
13152
|
+
"pollInterval": {
|
|
13153
|
+
"type": "number",
|
|
13154
|
+
"description": "Polling interval in ms (default 1000)"
|
|
13155
|
+
},
|
|
13156
|
+
"inputMap": {
|
|
13157
|
+
"type": "InputMapping",
|
|
13158
|
+
"description": "Named input mapping: semantic name -> { nodeId, field }"
|
|
13159
|
+
},
|
|
13160
|
+
"outputDir": {
|
|
13161
|
+
"type": "string",
|
|
13162
|
+
"description": "If provided, output images are downloaded to this directory"
|
|
13163
|
+
}
|
|
13164
|
+
}
|
|
13165
|
+
}
|
|
13166
|
+
},
|
|
13167
|
+
"required": [
|
|
13168
|
+
"workflow"
|
|
13169
|
+
],
|
|
13170
|
+
"returns": "Promise<WorkflowResult>"
|
|
13171
|
+
}
|
|
13172
|
+
},
|
|
13173
|
+
"getters": {
|
|
13174
|
+
"clientId": {
|
|
13175
|
+
"description": "The unique client ID used for WebSocket session tracking.",
|
|
13176
|
+
"returns": "string"
|
|
13177
|
+
},
|
|
13178
|
+
"wsURL": {
|
|
13179
|
+
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
13180
|
+
"returns": "string"
|
|
13181
|
+
}
|
|
13182
|
+
},
|
|
13183
|
+
"events": {
|
|
13184
|
+
"execution_start": {
|
|
13185
|
+
"name": "execution_start",
|
|
13186
|
+
"description": "Event emitted by ComfyUIClient",
|
|
13187
|
+
"arguments": {}
|
|
13188
|
+
},
|
|
13189
|
+
"execution_complete": {
|
|
13190
|
+
"name": "execution_complete",
|
|
13191
|
+
"description": "Event emitted by ComfyUIClient",
|
|
13192
|
+
"arguments": {}
|
|
13193
|
+
},
|
|
13194
|
+
"executing": {
|
|
13195
|
+
"name": "executing",
|
|
13196
|
+
"description": "Event emitted by ComfyUIClient",
|
|
13197
|
+
"arguments": {}
|
|
13198
|
+
},
|
|
13199
|
+
"progress": {
|
|
13200
|
+
"name": "progress",
|
|
13201
|
+
"description": "Event emitted by ComfyUIClient",
|
|
13202
|
+
"arguments": {}
|
|
13203
|
+
},
|
|
13204
|
+
"executed": {
|
|
13205
|
+
"name": "executed",
|
|
13206
|
+
"description": "Event emitted by ComfyUIClient",
|
|
13207
|
+
"arguments": {}
|
|
13208
|
+
},
|
|
13209
|
+
"execution_cached": {
|
|
13210
|
+
"name": "execution_cached",
|
|
13211
|
+
"description": "Event emitted by ComfyUIClient",
|
|
13212
|
+
"arguments": {}
|
|
13213
|
+
},
|
|
13214
|
+
"execution_error": {
|
|
13215
|
+
"name": "execution_error",
|
|
13216
|
+
"description": "Event emitted by ComfyUIClient",
|
|
13217
|
+
"arguments": {}
|
|
13218
|
+
}
|
|
13219
|
+
},
|
|
13220
|
+
"state": {},
|
|
13221
|
+
"options": {},
|
|
13222
|
+
"envVars": [],
|
|
13223
|
+
"examples": [
|
|
13224
|
+
{
|
|
13225
|
+
"language": "ts",
|
|
13226
|
+
"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)"
|
|
13227
|
+
}
|
|
13228
|
+
],
|
|
13229
|
+
"types": {
|
|
13230
|
+
"WorkflowRunOptions": {
|
|
13231
|
+
"description": "",
|
|
13232
|
+
"properties": {
|
|
13233
|
+
"poll": {
|
|
13234
|
+
"type": "boolean",
|
|
13235
|
+
"description": "Use polling instead of WebSocket for tracking execution",
|
|
13236
|
+
"optional": true
|
|
13237
|
+
},
|
|
13238
|
+
"pollInterval": {
|
|
13239
|
+
"type": "number",
|
|
13240
|
+
"description": "Polling interval in ms (default 1000)",
|
|
13241
|
+
"optional": true
|
|
13242
|
+
},
|
|
13243
|
+
"inputMap": {
|
|
13244
|
+
"type": "InputMapping",
|
|
13245
|
+
"description": "Named input mapping: semantic name -> { nodeId, field }",
|
|
13246
|
+
"optional": true
|
|
13247
|
+
},
|
|
13248
|
+
"outputDir": {
|
|
13249
|
+
"type": "string",
|
|
13250
|
+
"description": "If provided, output images are downloaded to this directory",
|
|
13251
|
+
"optional": true
|
|
13252
|
+
}
|
|
13253
|
+
}
|
|
13254
|
+
},
|
|
13255
|
+
"WorkflowResult": {
|
|
13256
|
+
"description": "",
|
|
13257
|
+
"properties": {
|
|
13258
|
+
"promptId": {
|
|
13259
|
+
"type": "string",
|
|
13260
|
+
"description": ""
|
|
13261
|
+
},
|
|
13262
|
+
"outputs": {
|
|
13263
|
+
"type": "Record<string, any>",
|
|
13264
|
+
"description": ""
|
|
13265
|
+
},
|
|
13266
|
+
"images": {
|
|
13267
|
+
"type": "Array<{ filename: string; subfolder: string; type: string; localPath?: string }>",
|
|
13268
|
+
"description": "",
|
|
13269
|
+
"optional": true
|
|
13270
|
+
}
|
|
13271
|
+
}
|
|
13272
|
+
}
|
|
13273
|
+
}
|
|
13274
|
+
});
|
|
13275
|
+
|
|
13276
|
+
setBuildTimeData('servers.mcp', {
|
|
13277
|
+
"id": "servers.mcp",
|
|
13278
|
+
"description": "MCP (Model Context Protocol) server for exposing tools, resources, and prompts to AI clients like Claude Code. Uses the low-level MCP SDK Server class directly with Zod 4 native JSON Schema conversion. Register tools, resources, and prompts programmatically, then start the server over stdio (for CLI integration) or HTTP (for remote access).",
|
|
13279
|
+
"shortcut": "servers.mcp",
|
|
13280
|
+
"className": "MCPServer",
|
|
13281
|
+
"methods": {
|
|
13282
|
+
"tool": {
|
|
13283
|
+
"description": "Register an MCP tool. The tool's Zod schema is converted to JSON Schema for the protocol listing, and used for runtime argument validation. Tool handlers can return a string (auto-wrapped as text content) or a full CallToolResult object for advanced responses (images, errors, etc).",
|
|
13284
|
+
"parameters": {
|
|
13285
|
+
"name": {
|
|
13286
|
+
"type": "string",
|
|
13287
|
+
"description": "Unique tool name"
|
|
13288
|
+
},
|
|
13289
|
+
"options": {
|
|
13290
|
+
"type": "ToolRegistrationOptions",
|
|
13291
|
+
"description": "Tool schema, description, and handler",
|
|
13292
|
+
"properties": {
|
|
13293
|
+
"schema": {
|
|
13294
|
+
"type": "z.ZodType",
|
|
13295
|
+
"description": ""
|
|
13296
|
+
},
|
|
13297
|
+
"description": {
|
|
13298
|
+
"type": "string",
|
|
13299
|
+
"description": ""
|
|
13300
|
+
},
|
|
13301
|
+
"handler": {
|
|
13302
|
+
"type": "Function | ((args: any, ctx: any) => any)",
|
|
13303
|
+
"description": ""
|
|
13304
|
+
}
|
|
13305
|
+
}
|
|
13306
|
+
}
|
|
13307
|
+
},
|
|
13308
|
+
"required": [
|
|
13309
|
+
"name",
|
|
13310
|
+
"options"
|
|
13311
|
+
],
|
|
13312
|
+
"returns": "this"
|
|
13313
|
+
},
|
|
13314
|
+
"resource": {
|
|
13315
|
+
"description": "Register an MCP resource. Resources expose data (files, configs, etc) that AI clients can read by URI. Accepts either a handler function directly or an options object with additional metadata (name, description, mimeType).",
|
|
13316
|
+
"parameters": {
|
|
13317
|
+
"uri": {
|
|
13318
|
+
"type": "string",
|
|
13319
|
+
"description": "Unique resource URI (e.g. \"project://readme\")"
|
|
13320
|
+
},
|
|
13321
|
+
"handlerOrOptions": {
|
|
13322
|
+
"type": "ResourceRegistrationOptions['handler'] | ResourceRegistrationOptions",
|
|
13323
|
+
"description": "Handler function or options object with handler"
|
|
13324
|
+
}
|
|
13325
|
+
},
|
|
13326
|
+
"required": [
|
|
13327
|
+
"uri",
|
|
13328
|
+
"handlerOrOptions"
|
|
13329
|
+
],
|
|
13330
|
+
"returns": "this"
|
|
13331
|
+
},
|
|
13332
|
+
"prompt": {
|
|
13333
|
+
"description": "Register an MCP prompt. Prompts are reusable message templates that AI clients can invoke with optional string arguments.",
|
|
13334
|
+
"parameters": {
|
|
13335
|
+
"name": {
|
|
13336
|
+
"type": "string",
|
|
13337
|
+
"description": "Unique prompt name"
|
|
13338
|
+
},
|
|
13339
|
+
"options": {
|
|
13340
|
+
"type": "PromptRegistrationOptions",
|
|
13341
|
+
"description": "Prompt handler, optional args schema, and description",
|
|
13342
|
+
"properties": {
|
|
13343
|
+
"description": {
|
|
13344
|
+
"type": "string",
|
|
13345
|
+
"description": ""
|
|
13346
|
+
},
|
|
13347
|
+
"args": {
|
|
13348
|
+
"type": "Record<string, z.ZodType>",
|
|
13349
|
+
"description": ""
|
|
13350
|
+
},
|
|
13351
|
+
"handler": {
|
|
13352
|
+
"type": "(args: Record<string, string | undefined>, ctx: MCPContext) => Promise<PromptMessage[]> | PromptMessage[]",
|
|
13353
|
+
"description": ""
|
|
13354
|
+
}
|
|
13355
|
+
}
|
|
13356
|
+
}
|
|
13357
|
+
},
|
|
13358
|
+
"required": [
|
|
13359
|
+
"name",
|
|
13360
|
+
"options"
|
|
13361
|
+
],
|
|
13362
|
+
"returns": "this"
|
|
13363
|
+
},
|
|
13364
|
+
"configure": {
|
|
13365
|
+
"description": "Configure the MCP protocol server and register all protocol handlers. Called automatically before start() if not already configured.",
|
|
13366
|
+
"parameters": {},
|
|
13367
|
+
"required": [],
|
|
13368
|
+
"returns": "Promise<this>"
|
|
13369
|
+
},
|
|
13370
|
+
"start": {
|
|
13371
|
+
"description": "Start the MCP server with the specified transport.",
|
|
13372
|
+
"parameters": {
|
|
13373
|
+
"options": {
|
|
13374
|
+
"type": "{\n transport?: 'stdio' | 'http'\n port?: number\n host?: string\n mcpCompat?: MCPCompatMode\n stdioCompat?: StdioCompatMode\n }",
|
|
13375
|
+
"description": "Transport configuration. Defaults to stdio.",
|
|
13376
|
+
"properties": {
|
|
13377
|
+
"transport": {
|
|
13378
|
+
"type": "any",
|
|
13379
|
+
"description": "'stdio' for CLI integration, 'http' for remote access"
|
|
13380
|
+
},
|
|
13381
|
+
"port": {
|
|
13382
|
+
"type": "any",
|
|
13383
|
+
"description": "Port for HTTP transport (default 3001)"
|
|
13384
|
+
}
|
|
13385
|
+
}
|
|
13386
|
+
}
|
|
13387
|
+
},
|
|
13388
|
+
"required": [],
|
|
13389
|
+
"returns": "Promise<this>"
|
|
13390
|
+
},
|
|
13391
|
+
"stop": {
|
|
13392
|
+
"description": "Stop the MCP server and close all connections.",
|
|
13393
|
+
"parameters": {},
|
|
13394
|
+
"required": [],
|
|
13395
|
+
"returns": "Promise<this>"
|
|
13396
|
+
}
|
|
13397
|
+
},
|
|
13398
|
+
"getters": {
|
|
13399
|
+
"mcpServer": {
|
|
13400
|
+
"description": "The underlying MCP protocol server instance. Created during configure().",
|
|
13401
|
+
"returns": "MCPProtocolServer"
|
|
13402
|
+
},
|
|
13403
|
+
"handlerContext": {
|
|
13404
|
+
"description": "The handler context passed to all tool, resource, and prompt handlers.",
|
|
13405
|
+
"returns": "MCPContext"
|
|
13406
|
+
}
|
|
13407
|
+
},
|
|
13408
|
+
"events": {
|
|
13409
|
+
"toolRegistered": {
|
|
13410
|
+
"name": "toolRegistered",
|
|
13411
|
+
"description": "Event emitted by MCPServer",
|
|
13412
|
+
"arguments": {}
|
|
13413
|
+
},
|
|
13414
|
+
"resourceRegistered": {
|
|
13415
|
+
"name": "resourceRegistered",
|
|
13416
|
+
"description": "Event emitted by MCPServer",
|
|
13417
|
+
"arguments": {}
|
|
13418
|
+
},
|
|
13419
|
+
"promptRegistered": {
|
|
13420
|
+
"name": "promptRegistered",
|
|
13421
|
+
"description": "Event emitted by MCPServer",
|
|
13422
|
+
"arguments": {}
|
|
13423
|
+
},
|
|
13424
|
+
"toolCalled": {
|
|
13425
|
+
"name": "toolCalled",
|
|
13426
|
+
"description": "Event emitted by MCPServer",
|
|
13427
|
+
"arguments": {}
|
|
13428
|
+
}
|
|
13429
|
+
},
|
|
13430
|
+
"state": {},
|
|
13431
|
+
"options": {},
|
|
13432
|
+
"envVars": [],
|
|
13433
|
+
"examples": [
|
|
13434
|
+
{
|
|
13435
|
+
"language": "ts",
|
|
13436
|
+
"code": "const mcp = container.server('mcp', { serverName: 'my-server', serverVersion: '1.0.0' })\n\nmcp.tool('search_files', {\n schema: z.object({ pattern: z.string() }),\n description: 'Search for files',\n handler: async (args, ctx) => {\n return ctx.container.feature('fs').walk('.', { include: [args.pattern] }).files.join('\\n')\n }\n})\n\nawait mcp.start()"
|
|
13437
|
+
}
|
|
13438
|
+
],
|
|
13439
|
+
"types": {
|
|
13440
|
+
"ToolRegistrationOptions": {
|
|
13441
|
+
"description": "",
|
|
13442
|
+
"properties": {
|
|
13443
|
+
"schema": {
|
|
13444
|
+
"type": "z.ZodType",
|
|
13445
|
+
"description": "",
|
|
13446
|
+
"optional": true
|
|
13447
|
+
},
|
|
13448
|
+
"description": {
|
|
13449
|
+
"type": "string",
|
|
13450
|
+
"description": "",
|
|
13451
|
+
"optional": true
|
|
13452
|
+
},
|
|
13453
|
+
"handler": {
|
|
13454
|
+
"type": "Function | ((args: any, ctx: any) => any)",
|
|
13455
|
+
"description": "",
|
|
13456
|
+
"optional": true
|
|
13457
|
+
}
|
|
13458
|
+
}
|
|
13459
|
+
},
|
|
13460
|
+
"ResourceRegistrationOptions": {
|
|
13461
|
+
"description": "",
|
|
13462
|
+
"properties": {
|
|
13463
|
+
"name": {
|
|
13464
|
+
"type": "string",
|
|
13465
|
+
"description": "",
|
|
13466
|
+
"optional": true
|
|
13467
|
+
},
|
|
13468
|
+
"description": {
|
|
13469
|
+
"type": "string",
|
|
13470
|
+
"description": "",
|
|
13471
|
+
"optional": true
|
|
13472
|
+
},
|
|
13473
|
+
"mimeType": {
|
|
13474
|
+
"type": "string",
|
|
13475
|
+
"description": "",
|
|
13476
|
+
"optional": true
|
|
13477
|
+
},
|
|
13478
|
+
"handler": {
|
|
13479
|
+
"type": "(uri: string, ctx: MCPContext) => Promise<string> | string",
|
|
13480
|
+
"description": ""
|
|
13481
|
+
}
|
|
13482
|
+
}
|
|
13483
|
+
},
|
|
13484
|
+
"MCPContext": {
|
|
13485
|
+
"description": "Context object passed to all MCP tool, resource, and prompt handlers.",
|
|
13486
|
+
"properties": {
|
|
13487
|
+
"container": {
|
|
13488
|
+
"type": "NodeContainer",
|
|
13489
|
+
"description": ""
|
|
13490
|
+
}
|
|
13491
|
+
}
|
|
13492
|
+
},
|
|
13493
|
+
"PromptRegistrationOptions": {
|
|
13494
|
+
"description": "",
|
|
13495
|
+
"properties": {
|
|
13496
|
+
"description": {
|
|
13497
|
+
"type": "string",
|
|
13498
|
+
"description": "",
|
|
13499
|
+
"optional": true
|
|
13500
|
+
},
|
|
13501
|
+
"args": {
|
|
13502
|
+
"type": "Record<string, z.ZodType>",
|
|
13503
|
+
"description": "",
|
|
13504
|
+
"optional": true
|
|
13505
|
+
},
|
|
13506
|
+
"handler": {
|
|
13507
|
+
"type": "(args: Record<string, string | undefined>, ctx: MCPContext) => Promise<PromptMessage[]> | PromptMessage[]",
|
|
13508
|
+
"description": ""
|
|
13509
|
+
}
|
|
13510
|
+
}
|
|
13511
|
+
},
|
|
13512
|
+
"PromptMessage": {
|
|
13513
|
+
"description": "",
|
|
13514
|
+
"properties": {
|
|
13515
|
+
"role": {
|
|
13516
|
+
"type": "'user' | 'assistant'",
|
|
13517
|
+
"description": ""
|
|
13518
|
+
},
|
|
13519
|
+
"content": {
|
|
13520
|
+
"type": "string",
|
|
13521
|
+
"description": ""
|
|
13522
|
+
}
|
|
13523
|
+
}
|
|
13524
|
+
}
|
|
13525
|
+
}
|
|
13526
|
+
});
|
|
13527
|
+
|
|
13528
|
+
setBuildTimeData('servers.express', {
|
|
13529
|
+
"id": "servers.express",
|
|
13530
|
+
"description": "Express.js HTTP server with automatic endpoint mounting, CORS, and SPA history fallback. Wraps an Express application with convention-based endpoint discovery. Endpoints defined as modules are automatically mounted as routes. Supports static file serving, CORS configuration, and single-page app history fallback out of the box.",
|
|
13531
|
+
"shortcut": "servers.express",
|
|
13532
|
+
"className": "ExpressServer",
|
|
13533
|
+
"methods": {
|
|
13534
|
+
"start": {
|
|
13535
|
+
"description": "Start the Express HTTP server. A runtime `port` overrides the constructor option and is written to state so `server.port` always reflects reality.",
|
|
13536
|
+
"parameters": {
|
|
13537
|
+
"options": {
|
|
13538
|
+
"type": "StartOptions",
|
|
13539
|
+
"description": "Optional runtime overrides for port and host"
|
|
13540
|
+
}
|
|
13541
|
+
},
|
|
13542
|
+
"required": [],
|
|
13543
|
+
"returns": "Promise<this>"
|
|
13544
|
+
},
|
|
13545
|
+
"stop": {
|
|
13546
|
+
"description": "",
|
|
13547
|
+
"parameters": {},
|
|
13548
|
+
"required": [],
|
|
13549
|
+
"returns": "Promise<this>"
|
|
13550
|
+
},
|
|
13551
|
+
"configure": {
|
|
13552
|
+
"description": "",
|
|
13553
|
+
"parameters": {},
|
|
13554
|
+
"required": [],
|
|
13555
|
+
"returns": "Promise<this>"
|
|
13556
|
+
},
|
|
13557
|
+
"useEndpoint": {
|
|
13558
|
+
"description": "",
|
|
13559
|
+
"parameters": {
|
|
13560
|
+
"endpoint": {
|
|
13561
|
+
"type": "Endpoint",
|
|
13562
|
+
"description": "Parameter endpoint"
|
|
13563
|
+
}
|
|
13564
|
+
},
|
|
13565
|
+
"required": [
|
|
13566
|
+
"endpoint"
|
|
13567
|
+
],
|
|
13568
|
+
"returns": "this"
|
|
13569
|
+
},
|
|
13570
|
+
"useEndpoints": {
|
|
13571
|
+
"description": "",
|
|
13572
|
+
"parameters": {
|
|
13573
|
+
"dir": {
|
|
13574
|
+
"type": "string",
|
|
13575
|
+
"description": "Parameter dir"
|
|
13576
|
+
}
|
|
13577
|
+
},
|
|
13578
|
+
"required": [
|
|
13579
|
+
"dir"
|
|
13580
|
+
],
|
|
13581
|
+
"returns": "Promise<this>"
|
|
13582
|
+
},
|
|
13583
|
+
"reloadEndpoint": {
|
|
13584
|
+
"description": "Reload a mounted endpoint by its file path. Re-reads the module through the helpers VM loader so the next request picks up the new handlers.",
|
|
13585
|
+
"parameters": {
|
|
13586
|
+
"filePath": {
|
|
13587
|
+
"type": "string",
|
|
13588
|
+
"description": "Absolute path to the endpoint file"
|
|
13589
|
+
}
|
|
13590
|
+
},
|
|
13591
|
+
"required": [
|
|
13592
|
+
"filePath"
|
|
13593
|
+
],
|
|
13594
|
+
"returns": "Promise<Endpoint | null>"
|
|
13595
|
+
},
|
|
13596
|
+
"useEndpointModules": {
|
|
13597
|
+
"description": "",
|
|
13598
|
+
"parameters": {
|
|
13599
|
+
"modules": {
|
|
13600
|
+
"type": "EndpointModule[]",
|
|
13601
|
+
"description": "Parameter modules"
|
|
13602
|
+
}
|
|
13603
|
+
},
|
|
13604
|
+
"required": [
|
|
13605
|
+
"modules"
|
|
13606
|
+
],
|
|
13607
|
+
"returns": "Promise<this>"
|
|
13608
|
+
},
|
|
13609
|
+
"serveOpenAPISpec": {
|
|
13610
|
+
"description": "",
|
|
13611
|
+
"parameters": {
|
|
13612
|
+
"options": {
|
|
13613
|
+
"type": "{ title?: string; version?: string; description?: string }",
|
|
13614
|
+
"description": "Parameter options"
|
|
13205
13615
|
}
|
|
13206
13616
|
},
|
|
13207
13617
|
"required": [],
|
|
@@ -13589,6 +13999,16 @@ setBuildTimeData('features.assistantsManager', {
|
|
|
13589
13999
|
"hasVoice": {
|
|
13590
14000
|
"type": "boolean",
|
|
13591
14001
|
"description": "Whether a voice.yaml configuration file exists."
|
|
14002
|
+
},
|
|
14003
|
+
"about": {
|
|
14004
|
+
"type": "string",
|
|
14005
|
+
"description": "Contents of ABOUT.md if present, undefined otherwise.",
|
|
14006
|
+
"optional": true
|
|
14007
|
+
},
|
|
14008
|
+
"meta": {
|
|
14009
|
+
"type": "Record<string, any>",
|
|
14010
|
+
"description": "Frontmatter metadata parsed from CORE.md.",
|
|
14011
|
+
"optional": true
|
|
13592
14012
|
}
|
|
13593
14013
|
}
|
|
13594
14014
|
}
|
|
@@ -14229,6 +14649,19 @@ setBuildTimeData('features.browserUse', {
|
|
|
14229
14649
|
"shortcut": "features.browserUse",
|
|
14230
14650
|
"className": "BrowserUse",
|
|
14231
14651
|
"methods": {
|
|
14652
|
+
"setupToolsConsumer": {
|
|
14653
|
+
"description": "When an assistant uses browserUse, inject system prompt guidance about the browser interaction loop.",
|
|
14654
|
+
"parameters": {
|
|
14655
|
+
"consumer": {
|
|
14656
|
+
"type": "Helper",
|
|
14657
|
+
"description": "Parameter consumer"
|
|
14658
|
+
}
|
|
14659
|
+
},
|
|
14660
|
+
"required": [
|
|
14661
|
+
"consumer"
|
|
14662
|
+
],
|
|
14663
|
+
"returns": "void"
|
|
14664
|
+
},
|
|
14232
14665
|
"afterInitialize": {
|
|
14233
14666
|
"description": "",
|
|
14234
14667
|
"parameters": {},
|
|
@@ -15236,6 +15669,11 @@ setBuildTimeData('features.skillsLibrary', {
|
|
|
15236
15669
|
"name": "skillDiscovered",
|
|
15237
15670
|
"description": "Event emitted by SkillsLibrary",
|
|
15238
15671
|
"arguments": {}
|
|
15672
|
+
},
|
|
15673
|
+
"foundSkills": {
|
|
15674
|
+
"name": "foundSkills",
|
|
15675
|
+
"description": "Event emitted by SkillsLibrary",
|
|
15676
|
+
"arguments": {}
|
|
15239
15677
|
}
|
|
15240
15678
|
},
|
|
15241
15679
|
"state": {},
|
|
@@ -15764,6 +16202,475 @@ setBuildTimeData('features.assistant', {
|
|
|
15764
16202
|
]
|
|
15765
16203
|
});
|
|
15766
16204
|
|
|
16205
|
+
setBuildTimeData('features.memory', {
|
|
16206
|
+
"id": "features.memory",
|
|
16207
|
+
"description": "Semantic memory storage and retrieval for AI agents. Provides categorized memory with embedding-based search, metadata filtering, epoch tracking, and assistant tool integration. Built natively on Luca's SQLite and semanticSearch features.",
|
|
16208
|
+
"shortcut": "features.memory",
|
|
16209
|
+
"className": "Memory",
|
|
16210
|
+
"methods": {
|
|
16211
|
+
"initDb": {
|
|
16212
|
+
"description": "Initialize the SQLite database and create tables. Called automatically on first use, but can be called explicitly.",
|
|
16213
|
+
"parameters": {},
|
|
16214
|
+
"required": [],
|
|
16215
|
+
"returns": "void",
|
|
16216
|
+
"examples": [
|
|
16217
|
+
{
|
|
16218
|
+
"language": "ts",
|
|
16219
|
+
"code": "const mem = container.feature('memory')\nawait mem.initDb()"
|
|
16220
|
+
}
|
|
16221
|
+
]
|
|
16222
|
+
},
|
|
16223
|
+
"remember": {
|
|
16224
|
+
"description": "Tool handler: store a memory, deduplicating by similarity.",
|
|
16225
|
+
"parameters": {
|
|
16226
|
+
"args": {
|
|
16227
|
+
"type": "{ category: string; text: string; metadata?: Record<string, any> }",
|
|
16228
|
+
"description": "Parameter args"
|
|
16229
|
+
}
|
|
16230
|
+
},
|
|
16231
|
+
"required": [
|
|
16232
|
+
"args"
|
|
16233
|
+
],
|
|
16234
|
+
"returns": "void"
|
|
16235
|
+
},
|
|
16236
|
+
"recall": {
|
|
16237
|
+
"description": "Tool handler: search memories by semantic similarity.",
|
|
16238
|
+
"parameters": {
|
|
16239
|
+
"args": {
|
|
16240
|
+
"type": "{ category: string; query: string; n_results?: number }",
|
|
16241
|
+
"description": "Parameter args"
|
|
16242
|
+
}
|
|
16243
|
+
},
|
|
16244
|
+
"required": [
|
|
16245
|
+
"args"
|
|
16246
|
+
],
|
|
16247
|
+
"returns": "void"
|
|
16248
|
+
},
|
|
16249
|
+
"forgetCategory": {
|
|
16250
|
+
"description": "Tool handler: wipe all memories in a category.",
|
|
16251
|
+
"parameters": {
|
|
16252
|
+
"args": {
|
|
16253
|
+
"type": "{ category: string }",
|
|
16254
|
+
"description": "Parameter args"
|
|
16255
|
+
}
|
|
16256
|
+
},
|
|
16257
|
+
"required": [
|
|
16258
|
+
"args"
|
|
16259
|
+
],
|
|
16260
|
+
"returns": "void"
|
|
16261
|
+
},
|
|
16262
|
+
"listCategories": {
|
|
16263
|
+
"description": "Tool handler: list all categories with counts.",
|
|
16264
|
+
"parameters": {},
|
|
16265
|
+
"required": [],
|
|
16266
|
+
"returns": "void"
|
|
16267
|
+
},
|
|
16268
|
+
"setupToolsConsumer": {
|
|
16269
|
+
"description": "When an assistant uses memory, inject system prompt guidance.",
|
|
16270
|
+
"parameters": {
|
|
16271
|
+
"consumer": {
|
|
16272
|
+
"type": "Helper",
|
|
16273
|
+
"description": "Parameter consumer"
|
|
16274
|
+
}
|
|
16275
|
+
},
|
|
16276
|
+
"required": [
|
|
16277
|
+
"consumer"
|
|
16278
|
+
],
|
|
16279
|
+
"returns": "void"
|
|
16280
|
+
},
|
|
16281
|
+
"create": {
|
|
16282
|
+
"description": "Create a new memory in the given category.",
|
|
16283
|
+
"parameters": {
|
|
16284
|
+
"category": {
|
|
16285
|
+
"type": "string",
|
|
16286
|
+
"description": "The category to store the memory in"
|
|
16287
|
+
},
|
|
16288
|
+
"text": {
|
|
16289
|
+
"type": "string",
|
|
16290
|
+
"description": "The text content of the memory"
|
|
16291
|
+
},
|
|
16292
|
+
"metadata": {
|
|
16293
|
+
"type": "Record<string, any>",
|
|
16294
|
+
"description": "Optional metadata key-value pairs"
|
|
16295
|
+
}
|
|
16296
|
+
},
|
|
16297
|
+
"required": [
|
|
16298
|
+
"category",
|
|
16299
|
+
"text"
|
|
16300
|
+
],
|
|
16301
|
+
"returns": "Promise<MemoryRecord>",
|
|
16302
|
+
"examples": [
|
|
16303
|
+
{
|
|
16304
|
+
"language": "ts",
|
|
16305
|
+
"code": "const mem = container.feature('memory')\nawait mem.create('facts', 'The user lives in Austin', { confidence: 0.9 })"
|
|
16306
|
+
}
|
|
16307
|
+
]
|
|
16308
|
+
},
|
|
16309
|
+
"createUnique": {
|
|
16310
|
+
"description": "Create a memory only if no sufficiently similar memory exists.",
|
|
16311
|
+
"parameters": {
|
|
16312
|
+
"category": {
|
|
16313
|
+
"type": "string",
|
|
16314
|
+
"description": "The category to store the memory in"
|
|
16315
|
+
},
|
|
16316
|
+
"text": {
|
|
16317
|
+
"type": "string",
|
|
16318
|
+
"description": "The text content of the memory"
|
|
16319
|
+
},
|
|
16320
|
+
"metadata": {
|
|
16321
|
+
"type": "Record<string, any>",
|
|
16322
|
+
"description": "Optional metadata"
|
|
16323
|
+
},
|
|
16324
|
+
"similarityThreshold": {
|
|
16325
|
+
"type": "any",
|
|
16326
|
+
"description": "Minimum cosine similarity to consider a duplicate (0-1, default 0.95)"
|
|
16327
|
+
}
|
|
16328
|
+
},
|
|
16329
|
+
"required": [
|
|
16330
|
+
"category",
|
|
16331
|
+
"text"
|
|
16332
|
+
],
|
|
16333
|
+
"returns": "Promise<MemoryRecord | null>",
|
|
16334
|
+
"examples": [
|
|
16335
|
+
{
|
|
16336
|
+
"language": "ts",
|
|
16337
|
+
"code": "const mem = container.feature('memory')\nawait mem.createUnique('facts', 'User prefers dark mode', {}, 0.9)"
|
|
16338
|
+
}
|
|
16339
|
+
]
|
|
16340
|
+
},
|
|
16341
|
+
"get": {
|
|
16342
|
+
"description": "Get a memory by ID.",
|
|
16343
|
+
"parameters": {
|
|
16344
|
+
"category": {
|
|
16345
|
+
"type": "string",
|
|
16346
|
+
"description": "The category the memory belongs to"
|
|
16347
|
+
},
|
|
16348
|
+
"id": {
|
|
16349
|
+
"type": "number",
|
|
16350
|
+
"description": "The memory ID"
|
|
16351
|
+
}
|
|
16352
|
+
},
|
|
16353
|
+
"required": [
|
|
16354
|
+
"category",
|
|
16355
|
+
"id"
|
|
16356
|
+
],
|
|
16357
|
+
"returns": "Promise<MemoryRecord | null>"
|
|
16358
|
+
},
|
|
16359
|
+
"getAll": {
|
|
16360
|
+
"description": "Get all memories in a category, with optional metadata filtering.",
|
|
16361
|
+
"parameters": {
|
|
16362
|
+
"category": {
|
|
16363
|
+
"type": "string",
|
|
16364
|
+
"description": "The category to query"
|
|
16365
|
+
},
|
|
16366
|
+
"options": {
|
|
16367
|
+
"type": "{ limit?: number; sortOrder?: 'asc' | 'desc'; filterMetadata?: Record<string, any> }",
|
|
16368
|
+
"description": "Query options",
|
|
16369
|
+
"properties": {
|
|
16370
|
+
"limit": {
|
|
16371
|
+
"type": "any",
|
|
16372
|
+
"description": "Max results (default 20)"
|
|
16373
|
+
},
|
|
16374
|
+
"sortOrder": {
|
|
16375
|
+
"type": "any",
|
|
16376
|
+
"description": "'asc' or 'desc' by created_at (default 'desc')"
|
|
16377
|
+
},
|
|
16378
|
+
"filterMetadata": {
|
|
16379
|
+
"type": "any",
|
|
16380
|
+
"description": "Filter by metadata key-value pairs"
|
|
16381
|
+
}
|
|
16382
|
+
}
|
|
16383
|
+
}
|
|
16384
|
+
},
|
|
16385
|
+
"required": [
|
|
16386
|
+
"category"
|
|
16387
|
+
],
|
|
16388
|
+
"returns": "Promise<MemoryRecord[]>"
|
|
16389
|
+
},
|
|
16390
|
+
"update": {
|
|
16391
|
+
"description": "Update a memory's text and/or metadata.",
|
|
16392
|
+
"parameters": {
|
|
16393
|
+
"category": {
|
|
16394
|
+
"type": "string",
|
|
16395
|
+
"description": "The category the memory belongs to"
|
|
16396
|
+
},
|
|
16397
|
+
"id": {
|
|
16398
|
+
"type": "number",
|
|
16399
|
+
"description": "The memory ID"
|
|
16400
|
+
},
|
|
16401
|
+
"updates": {
|
|
16402
|
+
"type": "{ text?: string; metadata?: Record<string, any> }",
|
|
16403
|
+
"description": "Fields to update",
|
|
16404
|
+
"properties": {
|
|
16405
|
+
"text": {
|
|
16406
|
+
"type": "any",
|
|
16407
|
+
"description": "New text content (re-embeds automatically)"
|
|
16408
|
+
},
|
|
16409
|
+
"metadata": {
|
|
16410
|
+
"type": "any",
|
|
16411
|
+
"description": "Metadata to merge"
|
|
16412
|
+
}
|
|
16413
|
+
}
|
|
16414
|
+
}
|
|
16415
|
+
},
|
|
16416
|
+
"required": [
|
|
16417
|
+
"category",
|
|
16418
|
+
"id",
|
|
16419
|
+
"updates"
|
|
16420
|
+
],
|
|
16421
|
+
"returns": "Promise<MemoryRecord | null>"
|
|
16422
|
+
},
|
|
16423
|
+
"delete": {
|
|
16424
|
+
"description": "Delete a specific memory.",
|
|
16425
|
+
"parameters": {
|
|
16426
|
+
"category": {
|
|
16427
|
+
"type": "string",
|
|
16428
|
+
"description": "The category"
|
|
16429
|
+
},
|
|
16430
|
+
"id": {
|
|
16431
|
+
"type": "number",
|
|
16432
|
+
"description": "The memory ID"
|
|
16433
|
+
}
|
|
16434
|
+
},
|
|
16435
|
+
"required": [
|
|
16436
|
+
"category",
|
|
16437
|
+
"id"
|
|
16438
|
+
],
|
|
16439
|
+
"returns": "Promise<boolean>"
|
|
16440
|
+
},
|
|
16441
|
+
"wipeCategory": {
|
|
16442
|
+
"description": "Delete all memories in a category.",
|
|
16443
|
+
"parameters": {
|
|
16444
|
+
"category": {
|
|
16445
|
+
"type": "string",
|
|
16446
|
+
"description": "The category to wipe"
|
|
16447
|
+
}
|
|
16448
|
+
},
|
|
16449
|
+
"required": [
|
|
16450
|
+
"category"
|
|
16451
|
+
],
|
|
16452
|
+
"returns": "Promise<number>"
|
|
16453
|
+
},
|
|
16454
|
+
"wipeAll": {
|
|
16455
|
+
"description": "Delete all memories across all categories in this namespace.",
|
|
16456
|
+
"parameters": {},
|
|
16457
|
+
"required": [],
|
|
16458
|
+
"returns": "Promise<number>"
|
|
16459
|
+
},
|
|
16460
|
+
"count": {
|
|
16461
|
+
"description": "Count memories in a category (or all categories if omitted).",
|
|
16462
|
+
"parameters": {
|
|
16463
|
+
"category": {
|
|
16464
|
+
"type": "string",
|
|
16465
|
+
"description": "Optional category to count"
|
|
16466
|
+
}
|
|
16467
|
+
},
|
|
16468
|
+
"required": [],
|
|
16469
|
+
"returns": "Promise<number>"
|
|
16470
|
+
},
|
|
16471
|
+
"categories": {
|
|
16472
|
+
"description": "List all categories that have memories.",
|
|
16473
|
+
"parameters": {},
|
|
16474
|
+
"required": [],
|
|
16475
|
+
"returns": "Promise<string[]>"
|
|
16476
|
+
},
|
|
16477
|
+
"search": {
|
|
16478
|
+
"description": "Search memories by semantic similarity.",
|
|
16479
|
+
"parameters": {
|
|
16480
|
+
"category": {
|
|
16481
|
+
"type": "string",
|
|
16482
|
+
"description": "The category to search in"
|
|
16483
|
+
},
|
|
16484
|
+
"query": {
|
|
16485
|
+
"type": "string",
|
|
16486
|
+
"description": "The search query (will be embedded)"
|
|
16487
|
+
},
|
|
16488
|
+
"nResults": {
|
|
16489
|
+
"type": "any",
|
|
16490
|
+
"description": "Maximum number of results (default 5)"
|
|
16491
|
+
},
|
|
16492
|
+
"options": {
|
|
16493
|
+
"type": "{ maxDistance?: number; filterMetadata?: Record<string, any> }",
|
|
16494
|
+
"description": "Additional search options",
|
|
16495
|
+
"properties": {
|
|
16496
|
+
"maxDistance": {
|
|
16497
|
+
"type": "any",
|
|
16498
|
+
"description": "Maximum cosine distance threshold (0-2, default none)"
|
|
16499
|
+
},
|
|
16500
|
+
"filterMetadata": {
|
|
16501
|
+
"type": "any",
|
|
16502
|
+
"description": "Filter by metadata key-value pairs"
|
|
16503
|
+
}
|
|
16504
|
+
}
|
|
16505
|
+
}
|
|
16506
|
+
},
|
|
16507
|
+
"required": [
|
|
16508
|
+
"category",
|
|
16509
|
+
"query"
|
|
16510
|
+
],
|
|
16511
|
+
"returns": "Promise<MemorySearchResult[]>"
|
|
16512
|
+
},
|
|
16513
|
+
"getEpoch": {
|
|
16514
|
+
"description": "Get the current epoch value.",
|
|
16515
|
+
"parameters": {},
|
|
16516
|
+
"required": [],
|
|
16517
|
+
"returns": "number"
|
|
16518
|
+
},
|
|
16519
|
+
"setEpoch": {
|
|
16520
|
+
"description": "Set the epoch to a specific value.",
|
|
16521
|
+
"parameters": {
|
|
16522
|
+
"value": {
|
|
16523
|
+
"type": "number",
|
|
16524
|
+
"description": "The new epoch value"
|
|
16525
|
+
}
|
|
16526
|
+
},
|
|
16527
|
+
"required": [
|
|
16528
|
+
"value"
|
|
16529
|
+
],
|
|
16530
|
+
"returns": "void"
|
|
16531
|
+
},
|
|
16532
|
+
"incrementEpoch": {
|
|
16533
|
+
"description": "Increment the epoch by 1.",
|
|
16534
|
+
"parameters": {},
|
|
16535
|
+
"required": [],
|
|
16536
|
+
"returns": "Promise<number>"
|
|
16537
|
+
},
|
|
16538
|
+
"createEvent": {
|
|
16539
|
+
"description": "Create a timestamped event memory in the 'events' category, automatically tagged with the current epoch.",
|
|
16540
|
+
"parameters": {
|
|
16541
|
+
"text": {
|
|
16542
|
+
"type": "string",
|
|
16543
|
+
"description": "The event description"
|
|
16544
|
+
},
|
|
16545
|
+
"metadata": {
|
|
16546
|
+
"type": "Record<string, any>",
|
|
16547
|
+
"description": "Optional additional metadata"
|
|
16548
|
+
}
|
|
16549
|
+
},
|
|
16550
|
+
"required": [
|
|
16551
|
+
"text"
|
|
16552
|
+
],
|
|
16553
|
+
"returns": "Promise<MemoryRecord>"
|
|
16554
|
+
},
|
|
16555
|
+
"getEvents": {
|
|
16556
|
+
"description": "Get events, optionally filtered by epoch.",
|
|
16557
|
+
"parameters": {
|
|
16558
|
+
"options": {
|
|
16559
|
+
"type": "{ epoch?: number; limit?: number }",
|
|
16560
|
+
"description": "Query options",
|
|
16561
|
+
"properties": {
|
|
16562
|
+
"epoch": {
|
|
16563
|
+
"type": "any",
|
|
16564
|
+
"description": "Filter to a specific epoch"
|
|
16565
|
+
},
|
|
16566
|
+
"limit": {
|
|
16567
|
+
"type": "any",
|
|
16568
|
+
"description": "Max results (default 10)"
|
|
16569
|
+
}
|
|
16570
|
+
}
|
|
16571
|
+
}
|
|
16572
|
+
},
|
|
16573
|
+
"required": [],
|
|
16574
|
+
"returns": "Promise<MemoryRecord[]>"
|
|
16575
|
+
},
|
|
16576
|
+
"exportToJson": {
|
|
16577
|
+
"description": "Export all memories in this namespace to a JSON-serializable object.",
|
|
16578
|
+
"parameters": {},
|
|
16579
|
+
"required": [],
|
|
16580
|
+
"returns": "Promise<{ namespace: string; epoch: number; memories: MemoryRecord[] }>"
|
|
16581
|
+
},
|
|
16582
|
+
"importFromJson": {
|
|
16583
|
+
"description": "Import memories from a JSON export. Optionally replaces all existing memories.",
|
|
16584
|
+
"parameters": {
|
|
16585
|
+
"data": {
|
|
16586
|
+
"type": "{ namespace?: string; epoch?: number; memories: Array<{ category: string; document: string; metadata?: Record<string, any> }> }",
|
|
16587
|
+
"description": "The exported data object"
|
|
16588
|
+
},
|
|
16589
|
+
"replace": {
|
|
16590
|
+
"type": "any",
|
|
16591
|
+
"description": "If true, wipe existing memories before importing (default true)"
|
|
16592
|
+
}
|
|
16593
|
+
},
|
|
16594
|
+
"required": [
|
|
16595
|
+
"data"
|
|
16596
|
+
],
|
|
16597
|
+
"returns": "Promise<number>"
|
|
16598
|
+
}
|
|
16599
|
+
},
|
|
16600
|
+
"getters": {},
|
|
16601
|
+
"events": {
|
|
16602
|
+
"dbInitialized": {
|
|
16603
|
+
"name": "dbInitialized",
|
|
16604
|
+
"description": "Event emitted by Memory",
|
|
16605
|
+
"arguments": {}
|
|
16606
|
+
},
|
|
16607
|
+
"memoryCreated": {
|
|
16608
|
+
"name": "memoryCreated",
|
|
16609
|
+
"description": "Event emitted by Memory",
|
|
16610
|
+
"arguments": {}
|
|
16611
|
+
},
|
|
16612
|
+
"memoryDeleted": {
|
|
16613
|
+
"name": "memoryDeleted",
|
|
16614
|
+
"description": "Event emitted by Memory",
|
|
16615
|
+
"arguments": {}
|
|
16616
|
+
},
|
|
16617
|
+
"epochChanged": {
|
|
16618
|
+
"name": "epochChanged",
|
|
16619
|
+
"description": "Event emitted by Memory",
|
|
16620
|
+
"arguments": {}
|
|
16621
|
+
}
|
|
16622
|
+
},
|
|
16623
|
+
"state": {},
|
|
16624
|
+
"options": {},
|
|
16625
|
+
"envVars": [],
|
|
16626
|
+
"examples": [
|
|
16627
|
+
{
|
|
16628
|
+
"language": "ts",
|
|
16629
|
+
"code": "const mem = container.feature('memory')\nawait mem.create('user-prefs', 'Prefers dark mode', { source: 'onboarding' })\nconst results = await mem.search('user-prefs', 'UI preferences')"
|
|
16630
|
+
}
|
|
16631
|
+
],
|
|
16632
|
+
"types": {
|
|
16633
|
+
"MemoryRecord": {
|
|
16634
|
+
"description": "--- Types ---",
|
|
16635
|
+
"properties": {
|
|
16636
|
+
"id": {
|
|
16637
|
+
"type": "number",
|
|
16638
|
+
"description": ""
|
|
16639
|
+
},
|
|
16640
|
+
"category": {
|
|
16641
|
+
"type": "string",
|
|
16642
|
+
"description": ""
|
|
16643
|
+
},
|
|
16644
|
+
"document": {
|
|
16645
|
+
"type": "string",
|
|
16646
|
+
"description": ""
|
|
16647
|
+
},
|
|
16648
|
+
"metadata": {
|
|
16649
|
+
"type": "Record<string, any>",
|
|
16650
|
+
"description": ""
|
|
16651
|
+
},
|
|
16652
|
+
"created_at": {
|
|
16653
|
+
"type": "string",
|
|
16654
|
+
"description": ""
|
|
16655
|
+
},
|
|
16656
|
+
"updated_at": {
|
|
16657
|
+
"type": "string",
|
|
16658
|
+
"description": ""
|
|
16659
|
+
}
|
|
16660
|
+
}
|
|
16661
|
+
},
|
|
16662
|
+
"MemorySearchResult": {
|
|
16663
|
+
"description": "",
|
|
16664
|
+
"properties": {
|
|
16665
|
+
"distance": {
|
|
16666
|
+
"type": "number",
|
|
16667
|
+
"description": ""
|
|
16668
|
+
}
|
|
16669
|
+
}
|
|
16670
|
+
}
|
|
16671
|
+
}
|
|
16672
|
+
});
|
|
16673
|
+
|
|
15767
16674
|
setBuildTimeData('features.claudeCode', {
|
|
15768
16675
|
"id": "features.claudeCode",
|
|
15769
16676
|
"description": "Claude Code CLI wrapper feature. Spawns and manages Claude Code sessions as subprocesses, streaming structured JSON events back through the container's event system. Sessions are long-lived: each call to `run()` spawns a `claude -p` process with `--output-format stream-json`, parses NDJSON from stdout line-by-line, and emits typed events on the feature's event bus.",
|
|
@@ -18375,6 +19282,98 @@ setBuildTimeData('features.fileTools', {
|
|
|
18375
19282
|
"envVars": []
|
|
18376
19283
|
});
|
|
18377
19284
|
|
|
19285
|
+
setBuildTimeData('features.codingTools', {
|
|
19286
|
+
"id": "features.codingTools",
|
|
19287
|
+
"description": "Shell primitives for AI coding assistants: rg, ls, cat, sed, awk. Wraps standard Unix tools into the assistant tool surface with LLM-optimized descriptions and system prompt guidance. These are the raw, flexible tools for reading, searching, and exploring code. Compose with other features (fileTools, processManager, skillsLibrary) in assistant hooks for a complete coding tool surface. Usage: ```typescript assistant.use(container.feature('codingTools')) ```",
|
|
19288
|
+
"shortcut": "features.codingTools",
|
|
19289
|
+
"className": "CodingTools",
|
|
19290
|
+
"methods": {
|
|
19291
|
+
"rg": {
|
|
19292
|
+
"description": "",
|
|
19293
|
+
"parameters": {
|
|
19294
|
+
"args": {
|
|
19295
|
+
"type": "{ args: string; cwd?: string }",
|
|
19296
|
+
"description": "Parameter args"
|
|
19297
|
+
}
|
|
19298
|
+
},
|
|
19299
|
+
"required": [
|
|
19300
|
+
"args"
|
|
19301
|
+
],
|
|
19302
|
+
"returns": "Promise<string>"
|
|
19303
|
+
},
|
|
19304
|
+
"ls": {
|
|
19305
|
+
"description": "",
|
|
19306
|
+
"parameters": {
|
|
19307
|
+
"args": {
|
|
19308
|
+
"type": "{ args?: string; cwd?: string }",
|
|
19309
|
+
"description": "Parameter args"
|
|
19310
|
+
}
|
|
19311
|
+
},
|
|
19312
|
+
"required": [
|
|
19313
|
+
"args"
|
|
19314
|
+
],
|
|
19315
|
+
"returns": "Promise<string>"
|
|
19316
|
+
},
|
|
19317
|
+
"cat": {
|
|
19318
|
+
"description": "",
|
|
19319
|
+
"parameters": {
|
|
19320
|
+
"args": {
|
|
19321
|
+
"type": "{ args: string; cwd?: string }",
|
|
19322
|
+
"description": "Parameter args"
|
|
19323
|
+
}
|
|
19324
|
+
},
|
|
19325
|
+
"required": [
|
|
19326
|
+
"args"
|
|
19327
|
+
],
|
|
19328
|
+
"returns": "Promise<string>"
|
|
19329
|
+
},
|
|
19330
|
+
"sed": {
|
|
19331
|
+
"description": "",
|
|
19332
|
+
"parameters": {
|
|
19333
|
+
"args": {
|
|
19334
|
+
"type": "{ args: string; cwd?: string }",
|
|
19335
|
+
"description": "Parameter args"
|
|
19336
|
+
}
|
|
19337
|
+
},
|
|
19338
|
+
"required": [
|
|
19339
|
+
"args"
|
|
19340
|
+
],
|
|
19341
|
+
"returns": "Promise<string>"
|
|
19342
|
+
},
|
|
19343
|
+
"awk": {
|
|
19344
|
+
"description": "",
|
|
19345
|
+
"parameters": {
|
|
19346
|
+
"args": {
|
|
19347
|
+
"type": "{ args: string; cwd?: string }",
|
|
19348
|
+
"description": "Parameter args"
|
|
19349
|
+
}
|
|
19350
|
+
},
|
|
19351
|
+
"required": [
|
|
19352
|
+
"args"
|
|
19353
|
+
],
|
|
19354
|
+
"returns": "Promise<string>"
|
|
19355
|
+
},
|
|
19356
|
+
"setupToolsConsumer": {
|
|
19357
|
+
"description": "",
|
|
19358
|
+
"parameters": {
|
|
19359
|
+
"consumer": {
|
|
19360
|
+
"type": "Helper",
|
|
19361
|
+
"description": "Parameter consumer"
|
|
19362
|
+
}
|
|
19363
|
+
},
|
|
19364
|
+
"required": [
|
|
19365
|
+
"consumer"
|
|
19366
|
+
],
|
|
19367
|
+
"returns": "void"
|
|
19368
|
+
}
|
|
19369
|
+
},
|
|
19370
|
+
"getters": {},
|
|
19371
|
+
"events": {},
|
|
19372
|
+
"state": {},
|
|
19373
|
+
"options": {},
|
|
19374
|
+
"envVars": []
|
|
19375
|
+
});
|
|
19376
|
+
|
|
18378
19377
|
// Container introspection data
|
|
18379
19378
|
setContainerBuildTimeData('Container', {
|
|
18380
19379
|
"className": "Container",
|
|
@@ -27562,6 +28561,19 @@ export const introspectionData = [
|
|
|
27562
28561
|
],
|
|
27563
28562
|
"returns": "void"
|
|
27564
28563
|
},
|
|
28564
|
+
"setupToolsConsumer": {
|
|
28565
|
+
"description": "When an assistant uses processManager, inject system prompt guidance about how to manage processes safely and effectively.",
|
|
28566
|
+
"parameters": {
|
|
28567
|
+
"consumer": {
|
|
28568
|
+
"type": "Helper",
|
|
28569
|
+
"description": "Parameter consumer"
|
|
28570
|
+
}
|
|
28571
|
+
},
|
|
28572
|
+
"required": [
|
|
28573
|
+
"consumer"
|
|
28574
|
+
],
|
|
28575
|
+
"returns": "void"
|
|
28576
|
+
},
|
|
27565
28577
|
"spawn": {
|
|
27566
28578
|
"description": "Spawn a long-running process and return a handle immediately. The returned SpawnHandler provides events for stdout/stderr streaming, exit/crash notifications, and methods to kill or await the process.",
|
|
27567
28579
|
"parameters": {
|
|
@@ -29974,6 +30986,19 @@ export const introspectionData = [
|
|
|
29974
30986
|
"shortcut": "features.contentDb",
|
|
29975
30987
|
"className": "ContentDb",
|
|
29976
30988
|
"methods": {
|
|
30989
|
+
"setupToolsConsumer": {
|
|
30990
|
+
"description": "When an assistant uses contentDb, inject system prompt guidance about progressive document exploration.",
|
|
30991
|
+
"parameters": {
|
|
30992
|
+
"consumer": {
|
|
30993
|
+
"type": "Helper",
|
|
30994
|
+
"description": "Parameter consumer"
|
|
30995
|
+
}
|
|
30996
|
+
},
|
|
30997
|
+
"required": [
|
|
30998
|
+
"consumer"
|
|
30999
|
+
],
|
|
31000
|
+
"returns": "void"
|
|
31001
|
+
},
|
|
29977
31002
|
"renderTree": {
|
|
29978
31003
|
"description": "Render a tree view of the collection directory structure. Built with container.fs so it works without the `tree` binary.",
|
|
29979
31004
|
"parameters": {
|
|
@@ -30965,243 +31990,294 @@ export const introspectionData = [
|
|
|
30965
31990
|
]
|
|
30966
31991
|
},
|
|
30967
31992
|
{
|
|
30968
|
-
"id": "clients.
|
|
30969
|
-
"description": "
|
|
30970
|
-
"shortcut": "clients.
|
|
30971
|
-
"className": "
|
|
31993
|
+
"id": "clients.voicebox",
|
|
31994
|
+
"description": "VoiceBox client — local TTS synthesis via VoiceBox.sh REST API (Qwen3-TTS). Provides methods for managing voice profiles and generating speech audio locally. Uses the streaming endpoint for synchronous synthesis (returns WAV buffer).",
|
|
31995
|
+
"shortcut": "clients.voicebox",
|
|
31996
|
+
"className": "VoiceBoxClient",
|
|
30972
31997
|
"methods": {
|
|
30973
|
-
"
|
|
30974
|
-
"description": "
|
|
30975
|
-
"parameters": {
|
|
30976
|
-
|
|
30977
|
-
|
|
30978
|
-
|
|
30979
|
-
|
|
30980
|
-
|
|
30981
|
-
|
|
30982
|
-
|
|
30983
|
-
|
|
30984
|
-
},
|
|
30985
|
-
"required": [
|
|
30986
|
-
"prompt"
|
|
30987
|
-
],
|
|
30988
|
-
"returns": "Promise<{ prompt_id: string; number: number }>",
|
|
31998
|
+
"connect": {
|
|
31999
|
+
"description": "Validate the VoiceBox server is reachable by hitting the health endpoint.",
|
|
32000
|
+
"parameters": {},
|
|
32001
|
+
"required": [],
|
|
32002
|
+
"returns": "Promise<this>"
|
|
32003
|
+
},
|
|
32004
|
+
"listProfiles": {
|
|
32005
|
+
"description": "List all voice profiles.",
|
|
32006
|
+
"parameters": {},
|
|
32007
|
+
"required": [],
|
|
32008
|
+
"returns": "Promise<any[]>",
|
|
30989
32009
|
"examples": [
|
|
30990
32010
|
{
|
|
30991
32011
|
"language": "ts",
|
|
30992
|
-
"code": "const
|
|
32012
|
+
"code": "const profiles = await vb.listProfiles()\nconsole.log(profiles.map(p => `${p.name} (${p.sample_count} samples)`))"
|
|
30993
32013
|
}
|
|
30994
32014
|
]
|
|
30995
32015
|
},
|
|
30996
|
-
"
|
|
30997
|
-
"description": "Get
|
|
30998
|
-
"parameters": {},
|
|
30999
|
-
"required": [],
|
|
31000
|
-
"returns": "Promise<{ queue_running: any[]; queue_pending: any[] }>"
|
|
31001
|
-
},
|
|
31002
|
-
"getHistory": {
|
|
31003
|
-
"description": "Get execution history, optionally for a specific prompt.",
|
|
32016
|
+
"getProfile": {
|
|
32017
|
+
"description": "Get a single voice profile by ID.",
|
|
31004
32018
|
"parameters": {
|
|
31005
|
-
"
|
|
32019
|
+
"profileId": {
|
|
31006
32020
|
"type": "string",
|
|
31007
|
-
"description": "
|
|
32021
|
+
"description": "Parameter profileId"
|
|
31008
32022
|
}
|
|
31009
32023
|
},
|
|
31010
|
-
"required": [
|
|
31011
|
-
|
|
31012
|
-
|
|
31013
|
-
"getSystemStats": {
|
|
31014
|
-
"description": "Get system stats including GPU memory and queue info.",
|
|
31015
|
-
"parameters": {},
|
|
31016
|
-
"required": [],
|
|
32024
|
+
"required": [
|
|
32025
|
+
"profileId"
|
|
32026
|
+
],
|
|
31017
32027
|
"returns": "Promise<any>"
|
|
31018
32028
|
},
|
|
31019
|
-
"
|
|
31020
|
-
"description": "
|
|
32029
|
+
"createProfile": {
|
|
32030
|
+
"description": "Create a new voice profile.",
|
|
31021
32031
|
"parameters": {
|
|
31022
|
-
"
|
|
32032
|
+
"name": {
|
|
31023
32033
|
"type": "string",
|
|
31024
|
-
"description": "
|
|
32034
|
+
"description": "Parameter name"
|
|
32035
|
+
},
|
|
32036
|
+
"options": {
|
|
32037
|
+
"type": "{ description?: string; language?: string }",
|
|
32038
|
+
"description": "Parameter options"
|
|
31025
32039
|
}
|
|
31026
32040
|
},
|
|
31027
|
-
"required": [
|
|
32041
|
+
"required": [
|
|
32042
|
+
"name"
|
|
32043
|
+
],
|
|
31028
32044
|
"returns": "Promise<any>"
|
|
31029
32045
|
},
|
|
31030
|
-
"
|
|
31031
|
-
"description": "
|
|
31032
|
-
"parameters": {},
|
|
31033
|
-
"required": [],
|
|
31034
|
-
"returns": "Promise<void>"
|
|
31035
|
-
},
|
|
31036
|
-
"getModels": {
|
|
31037
|
-
"description": "List available models, optionally filtered by type.",
|
|
31038
|
-
"parameters": {
|
|
31039
|
-
"type": {
|
|
31040
|
-
"type": "string",
|
|
31041
|
-
"description": "Model type filter (e.g., 'checkpoints', 'loras')"
|
|
31042
|
-
}
|
|
31043
|
-
},
|
|
31044
|
-
"required": [],
|
|
31045
|
-
"returns": "Promise<string[]>"
|
|
31046
|
-
},
|
|
31047
|
-
"getEmbeddings": {
|
|
31048
|
-
"description": "List available embedding models.",
|
|
32046
|
+
"listEffects": {
|
|
32047
|
+
"description": "List available audio effects and their parameter definitions.",
|
|
31049
32048
|
"parameters": {},
|
|
31050
32049
|
"required": [],
|
|
31051
|
-
"returns": "Promise<
|
|
32050
|
+
"returns": "Promise<any>"
|
|
31052
32051
|
},
|
|
31053
|
-
"
|
|
31054
|
-
"description": "
|
|
32052
|
+
"synthesize": {
|
|
32053
|
+
"description": "Synthesize speech from text using the streaming endpoint. Returns audio as a WAV Buffer (synchronous — blocks until audio is ready).",
|
|
31055
32054
|
"parameters": {
|
|
31056
|
-
"
|
|
31057
|
-
"type": "Buffer | Blob",
|
|
31058
|
-
"description": "The image data as Buffer or Blob"
|
|
31059
|
-
},
|
|
31060
|
-
"filename": {
|
|
32055
|
+
"text": {
|
|
31061
32056
|
"type": "string",
|
|
31062
|
-
"description": "
|
|
32057
|
+
"description": "The text to convert to speech"
|
|
31063
32058
|
},
|
|
31064
|
-
"
|
|
31065
|
-
"type": "
|
|
31066
|
-
"description": "
|
|
32059
|
+
"options": {
|
|
32060
|
+
"type": "SynthesizeOptions",
|
|
32061
|
+
"description": "Profile, engine, model, and other synthesis options",
|
|
32062
|
+
"properties": {
|
|
32063
|
+
"profileId": {
|
|
32064
|
+
"type": "string",
|
|
32065
|
+
"description": ""
|
|
32066
|
+
},
|
|
32067
|
+
"engine": {
|
|
32068
|
+
"type": "string",
|
|
32069
|
+
"description": ""
|
|
32070
|
+
},
|
|
32071
|
+
"modelSize": {
|
|
32072
|
+
"type": "string",
|
|
32073
|
+
"description": ""
|
|
32074
|
+
},
|
|
32075
|
+
"language": {
|
|
32076
|
+
"type": "string",
|
|
32077
|
+
"description": ""
|
|
32078
|
+
},
|
|
32079
|
+
"instruct": {
|
|
32080
|
+
"type": "string",
|
|
32081
|
+
"description": ""
|
|
32082
|
+
},
|
|
32083
|
+
"seed": {
|
|
32084
|
+
"type": "number",
|
|
32085
|
+
"description": ""
|
|
32086
|
+
},
|
|
32087
|
+
"maxChunkChars": {
|
|
32088
|
+
"type": "number",
|
|
32089
|
+
"description": ""
|
|
32090
|
+
},
|
|
32091
|
+
"crossfadeMs": {
|
|
32092
|
+
"type": "number",
|
|
32093
|
+
"description": ""
|
|
32094
|
+
},
|
|
32095
|
+
"normalize": {
|
|
32096
|
+
"type": "boolean",
|
|
32097
|
+
"description": ""
|
|
32098
|
+
},
|
|
32099
|
+
"effectsChain": {
|
|
32100
|
+
"type": "EffectConfig[]",
|
|
32101
|
+
"description": ""
|
|
32102
|
+
},
|
|
32103
|
+
"disableCache": {
|
|
32104
|
+
"type": "boolean",
|
|
32105
|
+
"description": ""
|
|
32106
|
+
}
|
|
32107
|
+
}
|
|
31067
32108
|
}
|
|
31068
32109
|
},
|
|
31069
32110
|
"required": [
|
|
31070
|
-
"
|
|
31071
|
-
"filename"
|
|
32111
|
+
"text"
|
|
31072
32112
|
],
|
|
31073
|
-
"returns": "Promise<
|
|
32113
|
+
"returns": "Promise<Buffer>",
|
|
32114
|
+
"examples": [
|
|
32115
|
+
{
|
|
32116
|
+
"language": "ts",
|
|
32117
|
+
"code": "const audio = await vb.synthesize('Hello world', { profileId: 'abc-123' })\n// audio is a Buffer of WAV data"
|
|
32118
|
+
}
|
|
32119
|
+
]
|
|
31074
32120
|
},
|
|
31075
|
-
"
|
|
31076
|
-
"description": "
|
|
32121
|
+
"generate": {
|
|
32122
|
+
"description": "Generate speech asynchronously (returns metadata, not audio). Use getAudio() to fetch the audio after generation completes.",
|
|
31077
32123
|
"parameters": {
|
|
31078
|
-
"
|
|
32124
|
+
"text": {
|
|
31079
32125
|
"type": "string",
|
|
31080
|
-
"description": "
|
|
31081
|
-
},
|
|
31082
|
-
"subfolder": {
|
|
31083
|
-
"type": "any",
|
|
31084
|
-
"description": "Subfolder within the output directory"
|
|
32126
|
+
"description": "Parameter text"
|
|
31085
32127
|
},
|
|
31086
|
-
"
|
|
31087
|
-
"type": "
|
|
31088
|
-
"description": "
|
|
32128
|
+
"options": {
|
|
32129
|
+
"type": "SynthesizeOptions",
|
|
32130
|
+
"description": "Parameter options",
|
|
32131
|
+
"properties": {
|
|
32132
|
+
"profileId": {
|
|
32133
|
+
"type": "string",
|
|
32134
|
+
"description": ""
|
|
32135
|
+
},
|
|
32136
|
+
"engine": {
|
|
32137
|
+
"type": "string",
|
|
32138
|
+
"description": ""
|
|
32139
|
+
},
|
|
32140
|
+
"modelSize": {
|
|
32141
|
+
"type": "string",
|
|
32142
|
+
"description": ""
|
|
32143
|
+
},
|
|
32144
|
+
"language": {
|
|
32145
|
+
"type": "string",
|
|
32146
|
+
"description": ""
|
|
32147
|
+
},
|
|
32148
|
+
"instruct": {
|
|
32149
|
+
"type": "string",
|
|
32150
|
+
"description": ""
|
|
32151
|
+
},
|
|
32152
|
+
"seed": {
|
|
32153
|
+
"type": "number",
|
|
32154
|
+
"description": ""
|
|
32155
|
+
},
|
|
32156
|
+
"maxChunkChars": {
|
|
32157
|
+
"type": "number",
|
|
32158
|
+
"description": ""
|
|
32159
|
+
},
|
|
32160
|
+
"crossfadeMs": {
|
|
32161
|
+
"type": "number",
|
|
32162
|
+
"description": ""
|
|
32163
|
+
},
|
|
32164
|
+
"normalize": {
|
|
32165
|
+
"type": "boolean",
|
|
32166
|
+
"description": ""
|
|
32167
|
+
},
|
|
32168
|
+
"effectsChain": {
|
|
32169
|
+
"type": "EffectConfig[]",
|
|
32170
|
+
"description": ""
|
|
32171
|
+
},
|
|
32172
|
+
"disableCache": {
|
|
32173
|
+
"type": "boolean",
|
|
32174
|
+
"description": ""
|
|
32175
|
+
}
|
|
32176
|
+
}
|
|
31089
32177
|
}
|
|
31090
32178
|
},
|
|
31091
32179
|
"required": [
|
|
31092
|
-
"
|
|
32180
|
+
"text"
|
|
31093
32181
|
],
|
|
31094
|
-
"returns": "Promise<
|
|
31095
|
-
},
|
|
31096
|
-
"connectWs": {
|
|
31097
|
-
"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`.",
|
|
31098
|
-
"parameters": {},
|
|
31099
|
-
"required": [],
|
|
31100
|
-
"returns": "Promise<void>"
|
|
31101
|
-
},
|
|
31102
|
-
"disconnectWs": {
|
|
31103
|
-
"description": "Close the WebSocket connection.",
|
|
31104
|
-
"parameters": {},
|
|
31105
|
-
"required": [],
|
|
31106
|
-
"returns": "void"
|
|
32182
|
+
"returns": "Promise<any>"
|
|
31107
32183
|
},
|
|
31108
|
-
"
|
|
31109
|
-
"description": "
|
|
32184
|
+
"getAudio": {
|
|
32185
|
+
"description": "Fetch generated audio by generation ID. Returns WAV Buffer.",
|
|
31110
32186
|
"parameters": {
|
|
31111
|
-
"
|
|
31112
|
-
"type": "
|
|
31113
|
-
"description": "Parameter
|
|
32187
|
+
"generationId": {
|
|
32188
|
+
"type": "string",
|
|
32189
|
+
"description": "Parameter generationId"
|
|
31114
32190
|
}
|
|
31115
32191
|
},
|
|
31116
32192
|
"required": [
|
|
31117
|
-
"
|
|
32193
|
+
"generationId"
|
|
31118
32194
|
],
|
|
31119
|
-
"returns": "Promise<
|
|
32195
|
+
"returns": "Promise<Buffer>"
|
|
31120
32196
|
},
|
|
31121
|
-
"
|
|
31122
|
-
"description": "
|
|
32197
|
+
"say": {
|
|
32198
|
+
"description": "Synthesize and write audio to a file.",
|
|
31123
32199
|
"parameters": {
|
|
31124
|
-
"
|
|
31125
|
-
"type": "
|
|
31126
|
-
"description": "Parameter
|
|
32200
|
+
"text": {
|
|
32201
|
+
"type": "string",
|
|
32202
|
+
"description": "Parameter text"
|
|
31127
32203
|
},
|
|
31128
|
-
"
|
|
31129
|
-
"type": "
|
|
31130
|
-
"description": "Parameter
|
|
32204
|
+
"outputPath": {
|
|
32205
|
+
"type": "string",
|
|
32206
|
+
"description": "Parameter outputPath"
|
|
31131
32207
|
},
|
|
31132
32208
|
"options": {
|
|
31133
|
-
"type": "
|
|
32209
|
+
"type": "SynthesizeOptions",
|
|
31134
32210
|
"description": "Parameter options",
|
|
31135
32211
|
"properties": {
|
|
31136
|
-
"
|
|
31137
|
-
"type": "
|
|
31138
|
-
"description": "
|
|
32212
|
+
"profileId": {
|
|
32213
|
+
"type": "string",
|
|
32214
|
+
"description": ""
|
|
31139
32215
|
},
|
|
31140
|
-
"
|
|
31141
|
-
"type": "
|
|
31142
|
-
"description": "
|
|
32216
|
+
"engine": {
|
|
32217
|
+
"type": "string",
|
|
32218
|
+
"description": ""
|
|
31143
32219
|
},
|
|
31144
|
-
"
|
|
31145
|
-
"type": "
|
|
31146
|
-
"description": "
|
|
32220
|
+
"modelSize": {
|
|
32221
|
+
"type": "string",
|
|
32222
|
+
"description": ""
|
|
31147
32223
|
},
|
|
31148
|
-
"
|
|
32224
|
+
"language": {
|
|
31149
32225
|
"type": "string",
|
|
31150
|
-
"description": "
|
|
32226
|
+
"description": ""
|
|
32227
|
+
},
|
|
32228
|
+
"instruct": {
|
|
32229
|
+
"type": "string",
|
|
32230
|
+
"description": ""
|
|
32231
|
+
},
|
|
32232
|
+
"seed": {
|
|
32233
|
+
"type": "number",
|
|
32234
|
+
"description": ""
|
|
32235
|
+
},
|
|
32236
|
+
"maxChunkChars": {
|
|
32237
|
+
"type": "number",
|
|
32238
|
+
"description": ""
|
|
32239
|
+
},
|
|
32240
|
+
"crossfadeMs": {
|
|
32241
|
+
"type": "number",
|
|
32242
|
+
"description": ""
|
|
32243
|
+
},
|
|
32244
|
+
"normalize": {
|
|
32245
|
+
"type": "boolean",
|
|
32246
|
+
"description": ""
|
|
32247
|
+
},
|
|
32248
|
+
"effectsChain": {
|
|
32249
|
+
"type": "EffectConfig[]",
|
|
32250
|
+
"description": ""
|
|
32251
|
+
},
|
|
32252
|
+
"disableCache": {
|
|
32253
|
+
"type": "boolean",
|
|
32254
|
+
"description": ""
|
|
31151
32255
|
}
|
|
31152
32256
|
}
|
|
31153
32257
|
}
|
|
31154
32258
|
},
|
|
31155
32259
|
"required": [
|
|
31156
|
-
"
|
|
32260
|
+
"text",
|
|
32261
|
+
"outputPath"
|
|
31157
32262
|
],
|
|
31158
|
-
"returns": "Promise<
|
|
31159
|
-
}
|
|
31160
|
-
},
|
|
31161
|
-
"getters": {
|
|
31162
|
-
"clientId": {
|
|
31163
|
-
"description": "The unique client ID used for WebSocket session tracking.",
|
|
31164
|
-
"returns": "string"
|
|
31165
|
-
},
|
|
31166
|
-
"wsURL": {
|
|
31167
|
-
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
31168
|
-
"returns": "string"
|
|
32263
|
+
"returns": "Promise<string>"
|
|
31169
32264
|
}
|
|
31170
32265
|
},
|
|
32266
|
+
"getters": {},
|
|
31171
32267
|
"events": {
|
|
31172
|
-
"
|
|
31173
|
-
"name": "
|
|
31174
|
-
"description": "Event emitted by
|
|
31175
|
-
"arguments": {}
|
|
31176
|
-
},
|
|
31177
|
-
"execution_complete": {
|
|
31178
|
-
"name": "execution_complete",
|
|
31179
|
-
"description": "Event emitted by ComfyUIClient",
|
|
31180
|
-
"arguments": {}
|
|
31181
|
-
},
|
|
31182
|
-
"executing": {
|
|
31183
|
-
"name": "executing",
|
|
31184
|
-
"description": "Event emitted by ComfyUIClient",
|
|
31185
|
-
"arguments": {}
|
|
31186
|
-
},
|
|
31187
|
-
"progress": {
|
|
31188
|
-
"name": "progress",
|
|
31189
|
-
"description": "Event emitted by ComfyUIClient",
|
|
32268
|
+
"failure": {
|
|
32269
|
+
"name": "failure",
|
|
32270
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
31190
32271
|
"arguments": {}
|
|
31191
32272
|
},
|
|
31192
|
-
"
|
|
31193
|
-
"name": "
|
|
31194
|
-
"description": "Event emitted by
|
|
32273
|
+
"profiles": {
|
|
32274
|
+
"name": "profiles",
|
|
32275
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
31195
32276
|
"arguments": {}
|
|
31196
32277
|
},
|
|
31197
|
-
"
|
|
31198
|
-
"name": "
|
|
31199
|
-
"description": "Event emitted by
|
|
31200
|
-
"arguments": {}
|
|
31201
|
-
},
|
|
31202
|
-
"execution_error": {
|
|
31203
|
-
"name": "execution_error",
|
|
31204
|
-
"description": "Event emitted by ComfyUIClient",
|
|
32278
|
+
"speech": {
|
|
32279
|
+
"name": "speech",
|
|
32280
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
31205
32281
|
"arguments": {}
|
|
31206
32282
|
}
|
|
31207
32283
|
},
|
|
@@ -31211,48 +32287,84 @@ export const introspectionData = [
|
|
|
31211
32287
|
"examples": [
|
|
31212
32288
|
{
|
|
31213
32289
|
"language": "ts",
|
|
31214
|
-
"code": "const
|
|
32290
|
+
"code": "const vb = container.client('voicebox')\nawait vb.connect()\nconst profiles = await vb.listProfiles()\nconst audio = await vb.synthesize('Hello world', { profileId: profiles[0].id })\n// audio is a Buffer of WAV data"
|
|
31215
32291
|
}
|
|
31216
32292
|
],
|
|
31217
32293
|
"types": {
|
|
31218
|
-
"
|
|
32294
|
+
"SynthesizeOptions": {
|
|
31219
32295
|
"description": "",
|
|
31220
32296
|
"properties": {
|
|
31221
|
-
"
|
|
31222
|
-
"type": "
|
|
31223
|
-
"description": "
|
|
32297
|
+
"profileId": {
|
|
32298
|
+
"type": "string",
|
|
32299
|
+
"description": "",
|
|
31224
32300
|
"optional": true
|
|
31225
32301
|
},
|
|
31226
|
-
"
|
|
31227
|
-
"type": "
|
|
31228
|
-
"description": "
|
|
32302
|
+
"engine": {
|
|
32303
|
+
"type": "string",
|
|
32304
|
+
"description": "",
|
|
31229
32305
|
"optional": true
|
|
31230
32306
|
},
|
|
31231
|
-
"
|
|
31232
|
-
"type": "
|
|
31233
|
-
"description": "
|
|
32307
|
+
"modelSize": {
|
|
32308
|
+
"type": "string",
|
|
32309
|
+
"description": "",
|
|
31234
32310
|
"optional": true
|
|
31235
32311
|
},
|
|
31236
|
-
"
|
|
32312
|
+
"language": {
|
|
31237
32313
|
"type": "string",
|
|
31238
|
-
"description": "
|
|
32314
|
+
"description": "",
|
|
32315
|
+
"optional": true
|
|
32316
|
+
},
|
|
32317
|
+
"instruct": {
|
|
32318
|
+
"type": "string",
|
|
32319
|
+
"description": "",
|
|
32320
|
+
"optional": true
|
|
32321
|
+
},
|
|
32322
|
+
"seed": {
|
|
32323
|
+
"type": "number",
|
|
32324
|
+
"description": "",
|
|
32325
|
+
"optional": true
|
|
32326
|
+
},
|
|
32327
|
+
"maxChunkChars": {
|
|
32328
|
+
"type": "number",
|
|
32329
|
+
"description": "",
|
|
32330
|
+
"optional": true
|
|
32331
|
+
},
|
|
32332
|
+
"crossfadeMs": {
|
|
32333
|
+
"type": "number",
|
|
32334
|
+
"description": "",
|
|
32335
|
+
"optional": true
|
|
32336
|
+
},
|
|
32337
|
+
"normalize": {
|
|
32338
|
+
"type": "boolean",
|
|
32339
|
+
"description": "",
|
|
32340
|
+
"optional": true
|
|
32341
|
+
},
|
|
32342
|
+
"effectsChain": {
|
|
32343
|
+
"type": "EffectConfig[]",
|
|
32344
|
+
"description": "",
|
|
32345
|
+
"optional": true
|
|
32346
|
+
},
|
|
32347
|
+
"disableCache": {
|
|
32348
|
+
"type": "boolean",
|
|
32349
|
+
"description": "",
|
|
31239
32350
|
"optional": true
|
|
31240
32351
|
}
|
|
31241
32352
|
}
|
|
31242
32353
|
},
|
|
31243
|
-
"
|
|
32354
|
+
"EffectConfig": {
|
|
31244
32355
|
"description": "",
|
|
31245
32356
|
"properties": {
|
|
31246
|
-
"
|
|
32357
|
+
"type": {
|
|
31247
32358
|
"type": "string",
|
|
31248
32359
|
"description": ""
|
|
31249
32360
|
},
|
|
31250
|
-
"
|
|
31251
|
-
"type": "
|
|
31252
|
-
"description": ""
|
|
32361
|
+
"enabled": {
|
|
32362
|
+
"type": "boolean",
|
|
32363
|
+
"description": "",
|
|
32364
|
+
"optional": true
|
|
31253
32365
|
},
|
|
31254
|
-
"
|
|
31255
|
-
"type": "
|
|
32366
|
+
"params": {
|
|
32367
|
+
"type": "Record<string, any>",
|
|
31256
32368
|
"description": "",
|
|
31257
32369
|
"optional": true
|
|
31258
32370
|
}
|
|
@@ -31260,6 +32372,201 @@ export const introspectionData = [
|
|
|
31260
32372
|
}
|
|
31261
32373
|
}
|
|
31262
32374
|
},
|
|
32375
|
+
{
|
|
32376
|
+
"id": "clients.supabase",
|
|
32377
|
+
"description": "Supabase client for the Luca container system. Wraps the official `@supabase/supabase-js` SDK and exposes it through Luca's typed state, events, and introspection system. The SDK is isomorphic so this single implementation works in both Node and browser containers. Use `client.sdk` for full SDK access, or use the convenience wrappers for common operations (auth, database queries, storage, edge functions, realtime).",
|
|
32378
|
+
"shortcut": "clients.supabase",
|
|
32379
|
+
"className": "SupabaseClient",
|
|
32380
|
+
"methods": {
|
|
32381
|
+
"from": {
|
|
32382
|
+
"description": "Start a query on a Postgres table or view.",
|
|
32383
|
+
"parameters": {
|
|
32384
|
+
"table": {
|
|
32385
|
+
"type": "string",
|
|
32386
|
+
"description": "The table or view name to query"
|
|
32387
|
+
}
|
|
32388
|
+
},
|
|
32389
|
+
"required": [
|
|
32390
|
+
"table"
|
|
32391
|
+
],
|
|
32392
|
+
"returns": "void"
|
|
32393
|
+
},
|
|
32394
|
+
"rpc": {
|
|
32395
|
+
"description": "Call a Postgres function (RPC).",
|
|
32396
|
+
"parameters": {
|
|
32397
|
+
"fn": {
|
|
32398
|
+
"type": "string",
|
|
32399
|
+
"description": "The function name"
|
|
32400
|
+
},
|
|
32401
|
+
"params": {
|
|
32402
|
+
"type": "Record<string, unknown>",
|
|
32403
|
+
"description": "Arguments to pass to the function"
|
|
32404
|
+
},
|
|
32405
|
+
"options": {
|
|
32406
|
+
"type": "{ head?: boolean; get?: boolean; count?: \"exact\" | \"planned\" | \"estimated\" }",
|
|
32407
|
+
"description": "Optional settings (head, get, count)"
|
|
32408
|
+
}
|
|
32409
|
+
},
|
|
32410
|
+
"required": [
|
|
32411
|
+
"fn"
|
|
32412
|
+
],
|
|
32413
|
+
"returns": "void"
|
|
32414
|
+
},
|
|
32415
|
+
"signInWithPassword": {
|
|
32416
|
+
"description": "Sign in with email and password.",
|
|
32417
|
+
"parameters": {
|
|
32418
|
+
"email": {
|
|
32419
|
+
"type": "string",
|
|
32420
|
+
"description": "Parameter email"
|
|
32421
|
+
},
|
|
32422
|
+
"password": {
|
|
32423
|
+
"type": "string",
|
|
32424
|
+
"description": "Parameter password"
|
|
32425
|
+
}
|
|
32426
|
+
},
|
|
32427
|
+
"required": [
|
|
32428
|
+
"email",
|
|
32429
|
+
"password"
|
|
32430
|
+
],
|
|
32431
|
+
"returns": "void"
|
|
32432
|
+
},
|
|
32433
|
+
"signUp": {
|
|
32434
|
+
"description": "Create a new user account with email and password.",
|
|
32435
|
+
"parameters": {
|
|
32436
|
+
"email": {
|
|
32437
|
+
"type": "string",
|
|
32438
|
+
"description": "Parameter email"
|
|
32439
|
+
},
|
|
32440
|
+
"password": {
|
|
32441
|
+
"type": "string",
|
|
32442
|
+
"description": "Parameter password"
|
|
32443
|
+
}
|
|
32444
|
+
},
|
|
32445
|
+
"required": [
|
|
32446
|
+
"email",
|
|
32447
|
+
"password"
|
|
32448
|
+
],
|
|
32449
|
+
"returns": "void"
|
|
32450
|
+
},
|
|
32451
|
+
"signOut": {
|
|
32452
|
+
"description": "Sign the current user out.",
|
|
32453
|
+
"parameters": {},
|
|
32454
|
+
"required": [],
|
|
32455
|
+
"returns": "void"
|
|
32456
|
+
},
|
|
32457
|
+
"getSession": {
|
|
32458
|
+
"description": "Get the current session, if any.",
|
|
32459
|
+
"parameters": {},
|
|
32460
|
+
"required": [],
|
|
32461
|
+
"returns": "void"
|
|
32462
|
+
},
|
|
32463
|
+
"getUser": {
|
|
32464
|
+
"description": "Get the current user, if any.",
|
|
32465
|
+
"parameters": {},
|
|
32466
|
+
"required": [],
|
|
32467
|
+
"returns": "void"
|
|
32468
|
+
},
|
|
32469
|
+
"invoke": {
|
|
32470
|
+
"description": "Invoke a Supabase Edge Function by name.",
|
|
32471
|
+
"parameters": {
|
|
32472
|
+
"name": {
|
|
32473
|
+
"type": "string",
|
|
32474
|
+
"description": "Parameter name"
|
|
32475
|
+
},
|
|
32476
|
+
"body": {
|
|
32477
|
+
"type": "any",
|
|
32478
|
+
"description": "Parameter body"
|
|
32479
|
+
}
|
|
32480
|
+
},
|
|
32481
|
+
"required": [
|
|
32482
|
+
"name"
|
|
32483
|
+
],
|
|
32484
|
+
"returns": "void"
|
|
32485
|
+
},
|
|
32486
|
+
"subscribe": {
|
|
32487
|
+
"description": "Subscribe to realtime changes on a Postgres table.",
|
|
32488
|
+
"parameters": {
|
|
32489
|
+
"channelName": {
|
|
32490
|
+
"type": "string",
|
|
32491
|
+
"description": "A name for this subscription channel"
|
|
32492
|
+
},
|
|
32493
|
+
"table": {
|
|
32494
|
+
"type": "string",
|
|
32495
|
+
"description": "The table to listen to"
|
|
32496
|
+
},
|
|
32497
|
+
"callback": {
|
|
32498
|
+
"type": "(payload: any) => void",
|
|
32499
|
+
"description": "Called with the payload on each change"
|
|
32500
|
+
},
|
|
32501
|
+
"event": {
|
|
32502
|
+
"type": "\"INSERT\" | \"UPDATE\" | \"DELETE\" | \"*\"",
|
|
32503
|
+
"description": "The event type to listen for (default: all changes)"
|
|
32504
|
+
}
|
|
32505
|
+
},
|
|
32506
|
+
"required": [
|
|
32507
|
+
"channelName",
|
|
32508
|
+
"table",
|
|
32509
|
+
"callback"
|
|
32510
|
+
],
|
|
32511
|
+
"returns": "RealtimeChannel"
|
|
32512
|
+
},
|
|
32513
|
+
"unsubscribe": {
|
|
32514
|
+
"description": "Unsubscribe and remove a realtime channel by name.",
|
|
32515
|
+
"parameters": {
|
|
32516
|
+
"channelName": {
|
|
32517
|
+
"type": "string",
|
|
32518
|
+
"description": "The channel name to remove"
|
|
32519
|
+
}
|
|
32520
|
+
},
|
|
32521
|
+
"required": [
|
|
32522
|
+
"channelName"
|
|
32523
|
+
],
|
|
32524
|
+
"returns": "void"
|
|
32525
|
+
},
|
|
32526
|
+
"unsubscribeAll": {
|
|
32527
|
+
"description": "Unsubscribe and remove all realtime channels.",
|
|
32528
|
+
"parameters": {},
|
|
32529
|
+
"required": [],
|
|
32530
|
+
"returns": "void"
|
|
32531
|
+
},
|
|
32532
|
+
"connect": {
|
|
32533
|
+
"description": "Connect is a no-op since the Supabase SDK initializes on construction. The client is ready to use immediately after creation.",
|
|
32534
|
+
"parameters": {},
|
|
32535
|
+
"required": [],
|
|
32536
|
+
"returns": "void"
|
|
32537
|
+
},
|
|
32538
|
+
"disconnect": {
|
|
32539
|
+
"description": "Disconnect by signing out and removing all realtime channels.",
|
|
32540
|
+
"parameters": {},
|
|
32541
|
+
"required": [],
|
|
32542
|
+
"returns": "void"
|
|
32543
|
+
}
|
|
32544
|
+
},
|
|
32545
|
+
"getters": {
|
|
32546
|
+
"sdk": {
|
|
32547
|
+
"description": "Returns the raw Supabase SDK client for full access to all SDK methods.",
|
|
32548
|
+
"returns": "SupabaseSDKClient<any, any>"
|
|
32549
|
+
},
|
|
32550
|
+
"storage": {
|
|
32551
|
+
"description": "Returns the Supabase Storage client for managing buckets and files.",
|
|
32552
|
+
"returns": "any"
|
|
32553
|
+
},
|
|
32554
|
+
"functions": {
|
|
32555
|
+
"description": "Returns the Supabase Functions client.",
|
|
32556
|
+
"returns": "any"
|
|
32557
|
+
}
|
|
32558
|
+
},
|
|
32559
|
+
"events": {},
|
|
32560
|
+
"state": {},
|
|
32561
|
+
"options": {},
|
|
32562
|
+
"envVars": [],
|
|
32563
|
+
"examples": [
|
|
32564
|
+
{
|
|
32565
|
+
"language": "ts",
|
|
32566
|
+
"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})"
|
|
32567
|
+
}
|
|
32568
|
+
]
|
|
32569
|
+
},
|
|
31263
32570
|
{
|
|
31264
32571
|
"id": "clients.elevenlabs",
|
|
31265
32572
|
"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.",
|
|
@@ -31524,199 +32831,300 @@ export const introspectionData = [
|
|
|
31524
32831
|
}
|
|
31525
32832
|
},
|
|
31526
32833
|
{
|
|
31527
|
-
"id": "clients.
|
|
31528
|
-
"description": "
|
|
31529
|
-
"shortcut": "clients.
|
|
31530
|
-
"className": "
|
|
32834
|
+
"id": "clients.comfyui",
|
|
32835
|
+
"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.",
|
|
32836
|
+
"shortcut": "clients.comfyui",
|
|
32837
|
+
"className": "ComfyUIClient",
|
|
31531
32838
|
"methods": {
|
|
31532
|
-
"
|
|
31533
|
-
"description": "
|
|
32839
|
+
"queuePrompt": {
|
|
32840
|
+
"description": "Queue a prompt (API-format workflow) for execution.",
|
|
31534
32841
|
"parameters": {
|
|
31535
|
-
"
|
|
32842
|
+
"prompt": {
|
|
32843
|
+
"type": "Record<string, any>",
|
|
32844
|
+
"description": "The API-format workflow object"
|
|
32845
|
+
},
|
|
32846
|
+
"clientId": {
|
|
31536
32847
|
"type": "string",
|
|
31537
|
-
"description": "
|
|
32848
|
+
"description": "Override the client ID for this request"
|
|
31538
32849
|
}
|
|
31539
32850
|
},
|
|
31540
32851
|
"required": [
|
|
31541
|
-
"
|
|
32852
|
+
"prompt"
|
|
31542
32853
|
],
|
|
31543
|
-
"returns": "
|
|
31544
|
-
|
|
31545
|
-
|
|
31546
|
-
|
|
31547
|
-
|
|
31548
|
-
"fn": {
|
|
31549
|
-
"type": "string",
|
|
31550
|
-
"description": "The function name"
|
|
31551
|
-
},
|
|
31552
|
-
"params": {
|
|
31553
|
-
"type": "Record<string, unknown>",
|
|
31554
|
-
"description": "Arguments to pass to the function"
|
|
31555
|
-
},
|
|
31556
|
-
"options": {
|
|
31557
|
-
"type": "{ head?: boolean; get?: boolean; count?: \"exact\" | \"planned\" | \"estimated\" }",
|
|
31558
|
-
"description": "Optional settings (head, get, count)"
|
|
32854
|
+
"returns": "Promise<{ prompt_id: string; number: number }>",
|
|
32855
|
+
"examples": [
|
|
32856
|
+
{
|
|
32857
|
+
"language": "ts",
|
|
32858
|
+
"code": "const { prompt_id } = await comfy.queuePrompt(apiWorkflow)"
|
|
31559
32859
|
}
|
|
31560
|
-
|
|
31561
|
-
"required": [
|
|
31562
|
-
"fn"
|
|
31563
|
-
],
|
|
31564
|
-
"returns": "void"
|
|
32860
|
+
]
|
|
31565
32861
|
},
|
|
31566
|
-
"
|
|
31567
|
-
"description": "
|
|
31568
|
-
"parameters": {
|
|
31569
|
-
|
|
31570
|
-
|
|
31571
|
-
"description": "Parameter email"
|
|
31572
|
-
},
|
|
31573
|
-
"password": {
|
|
31574
|
-
"type": "string",
|
|
31575
|
-
"description": "Parameter password"
|
|
31576
|
-
}
|
|
31577
|
-
},
|
|
31578
|
-
"required": [
|
|
31579
|
-
"email",
|
|
31580
|
-
"password"
|
|
31581
|
-
],
|
|
31582
|
-
"returns": "void"
|
|
32862
|
+
"getQueue": {
|
|
32863
|
+
"description": "Get the current prompt queue status.",
|
|
32864
|
+
"parameters": {},
|
|
32865
|
+
"required": [],
|
|
32866
|
+
"returns": "Promise<{ queue_running: any[]; queue_pending: any[] }>"
|
|
31583
32867
|
},
|
|
31584
|
-
"
|
|
31585
|
-
"description": "
|
|
32868
|
+
"getHistory": {
|
|
32869
|
+
"description": "Get execution history, optionally for a specific prompt.",
|
|
31586
32870
|
"parameters": {
|
|
31587
|
-
"
|
|
31588
|
-
"type": "string",
|
|
31589
|
-
"description": "Parameter email"
|
|
31590
|
-
},
|
|
31591
|
-
"password": {
|
|
32871
|
+
"promptId": {
|
|
31592
32872
|
"type": "string",
|
|
31593
|
-
"description": "
|
|
32873
|
+
"description": "If provided, returns history for this prompt only"
|
|
31594
32874
|
}
|
|
31595
32875
|
},
|
|
31596
|
-
"required": [
|
|
31597
|
-
|
|
31598
|
-
"password"
|
|
31599
|
-
],
|
|
31600
|
-
"returns": "void"
|
|
32876
|
+
"required": [],
|
|
32877
|
+
"returns": "Promise<Record<string, any>>"
|
|
31601
32878
|
},
|
|
31602
|
-
"
|
|
31603
|
-
"description": "
|
|
32879
|
+
"getSystemStats": {
|
|
32880
|
+
"description": "Get system stats including GPU memory and queue info.",
|
|
31604
32881
|
"parameters": {},
|
|
31605
32882
|
"required": [],
|
|
31606
|
-
"returns": "
|
|
32883
|
+
"returns": "Promise<any>"
|
|
31607
32884
|
},
|
|
31608
|
-
"
|
|
31609
|
-
"description": "Get
|
|
31610
|
-
"parameters": {
|
|
32885
|
+
"getObjectInfo": {
|
|
32886
|
+
"description": "Get node type info with input/output schemas.",
|
|
32887
|
+
"parameters": {
|
|
32888
|
+
"nodeClass": {
|
|
32889
|
+
"type": "string",
|
|
32890
|
+
"description": "If provided, returns info for this node type only"
|
|
32891
|
+
}
|
|
32892
|
+
},
|
|
31611
32893
|
"required": [],
|
|
31612
|
-
"returns": "
|
|
32894
|
+
"returns": "Promise<any>"
|
|
31613
32895
|
},
|
|
31614
|
-
"
|
|
31615
|
-
"description": "
|
|
32896
|
+
"interrupt": {
|
|
32897
|
+
"description": "Interrupt the currently executing prompt.",
|
|
31616
32898
|
"parameters": {},
|
|
31617
32899
|
"required": [],
|
|
31618
|
-
"returns": "void"
|
|
32900
|
+
"returns": "Promise<void>"
|
|
31619
32901
|
},
|
|
31620
|
-
"
|
|
31621
|
-
"description": "
|
|
32902
|
+
"getModels": {
|
|
32903
|
+
"description": "List available models, optionally filtered by type.",
|
|
31622
32904
|
"parameters": {
|
|
31623
|
-
"
|
|
32905
|
+
"type": {
|
|
31624
32906
|
"type": "string",
|
|
31625
|
-
"description": "
|
|
31626
|
-
},
|
|
31627
|
-
"body": {
|
|
31628
|
-
"type": "any",
|
|
31629
|
-
"description": "Parameter body"
|
|
32907
|
+
"description": "Model type filter (e.g., 'checkpoints', 'loras')"
|
|
31630
32908
|
}
|
|
31631
32909
|
},
|
|
31632
|
-
"required": [
|
|
31633
|
-
|
|
31634
|
-
],
|
|
31635
|
-
"returns": "void"
|
|
32910
|
+
"required": [],
|
|
32911
|
+
"returns": "Promise<string[]>"
|
|
31636
32912
|
},
|
|
31637
|
-
"
|
|
31638
|
-
"description": "
|
|
32913
|
+
"getEmbeddings": {
|
|
32914
|
+
"description": "List available embedding models.",
|
|
32915
|
+
"parameters": {},
|
|
32916
|
+
"required": [],
|
|
32917
|
+
"returns": "Promise<string[]>"
|
|
32918
|
+
},
|
|
32919
|
+
"uploadImage": {
|
|
32920
|
+
"description": "Upload an image to ComfyUI's input directory.",
|
|
31639
32921
|
"parameters": {
|
|
31640
|
-
"
|
|
31641
|
-
"type": "
|
|
31642
|
-
"description": "
|
|
32922
|
+
"file": {
|
|
32923
|
+
"type": "Buffer | Blob",
|
|
32924
|
+
"description": "The image data as Buffer or Blob"
|
|
31643
32925
|
},
|
|
31644
|
-
"
|
|
32926
|
+
"filename": {
|
|
31645
32927
|
"type": "string",
|
|
31646
|
-
"description": "
|
|
31647
|
-
},
|
|
31648
|
-
"callback": {
|
|
31649
|
-
"type": "(payload: any) => void",
|
|
31650
|
-
"description": "Called with the payload on each change"
|
|
32928
|
+
"description": "File name for the upload"
|
|
31651
32929
|
},
|
|
31652
|
-
"
|
|
31653
|
-
"type": "
|
|
31654
|
-
"description": "
|
|
32930
|
+
"opts": {
|
|
32931
|
+
"type": "{ subfolder?: string; type?: string; overwrite?: boolean }",
|
|
32932
|
+
"description": "Upload options (subfolder, type, overwrite)"
|
|
31655
32933
|
}
|
|
31656
32934
|
},
|
|
31657
32935
|
"required": [
|
|
31658
|
-
"
|
|
31659
|
-
"
|
|
31660
|
-
"callback"
|
|
32936
|
+
"file",
|
|
32937
|
+
"filename"
|
|
31661
32938
|
],
|
|
31662
|
-
"returns": "
|
|
32939
|
+
"returns": "Promise<any>"
|
|
31663
32940
|
},
|
|
31664
|
-
"
|
|
31665
|
-
"description": "
|
|
32941
|
+
"viewImage": {
|
|
32942
|
+
"description": "Download a generated image from ComfyUI as a Buffer.",
|
|
31666
32943
|
"parameters": {
|
|
31667
|
-
"
|
|
32944
|
+
"filename": {
|
|
31668
32945
|
"type": "string",
|
|
31669
|
-
"description": "The
|
|
32946
|
+
"description": "The image filename"
|
|
32947
|
+
},
|
|
32948
|
+
"subfolder": {
|
|
32949
|
+
"type": "any",
|
|
32950
|
+
"description": "Subfolder within the output directory"
|
|
32951
|
+
},
|
|
32952
|
+
"type": {
|
|
32953
|
+
"type": "any",
|
|
32954
|
+
"description": "Image type ('output', 'input', 'temp')"
|
|
31670
32955
|
}
|
|
31671
32956
|
},
|
|
31672
32957
|
"required": [
|
|
31673
|
-
"
|
|
32958
|
+
"filename"
|
|
31674
32959
|
],
|
|
31675
|
-
"returns": "
|
|
32960
|
+
"returns": "Promise<Buffer>"
|
|
31676
32961
|
},
|
|
31677
|
-
"
|
|
31678
|
-
"description": "
|
|
32962
|
+
"connectWs": {
|
|
32963
|
+
"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`.",
|
|
31679
32964
|
"parameters": {},
|
|
31680
32965
|
"required": [],
|
|
31681
|
-
"returns": "void"
|
|
32966
|
+
"returns": "Promise<void>"
|
|
31682
32967
|
},
|
|
31683
|
-
"
|
|
31684
|
-
"description": "
|
|
32968
|
+
"disconnectWs": {
|
|
32969
|
+
"description": "Close the WebSocket connection.",
|
|
31685
32970
|
"parameters": {},
|
|
31686
32971
|
"required": [],
|
|
31687
32972
|
"returns": "void"
|
|
31688
32973
|
},
|
|
31689
|
-
"
|
|
31690
|
-
"description": "
|
|
31691
|
-
"parameters": {
|
|
31692
|
-
|
|
31693
|
-
|
|
32974
|
+
"toApiFormat": {
|
|
32975
|
+
"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.",
|
|
32976
|
+
"parameters": {
|
|
32977
|
+
"workflow": {
|
|
32978
|
+
"type": "Record<string, any>",
|
|
32979
|
+
"description": "Parameter workflow"
|
|
32980
|
+
}
|
|
32981
|
+
},
|
|
32982
|
+
"required": [
|
|
32983
|
+
"workflow"
|
|
32984
|
+
],
|
|
32985
|
+
"returns": "Promise<Record<string, any>>"
|
|
32986
|
+
},
|
|
32987
|
+
"runWorkflow": {
|
|
32988
|
+
"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' } } ```",
|
|
32989
|
+
"parameters": {
|
|
32990
|
+
"workflow": {
|
|
32991
|
+
"type": "Record<string, any>",
|
|
32992
|
+
"description": "Parameter workflow"
|
|
32993
|
+
},
|
|
32994
|
+
"inputs": {
|
|
32995
|
+
"type": "Record<string, any>",
|
|
32996
|
+
"description": "Parameter inputs"
|
|
32997
|
+
},
|
|
32998
|
+
"options": {
|
|
32999
|
+
"type": "WorkflowRunOptions",
|
|
33000
|
+
"description": "Parameter options",
|
|
33001
|
+
"properties": {
|
|
33002
|
+
"poll": {
|
|
33003
|
+
"type": "boolean",
|
|
33004
|
+
"description": "Use polling instead of WebSocket for tracking execution"
|
|
33005
|
+
},
|
|
33006
|
+
"pollInterval": {
|
|
33007
|
+
"type": "number",
|
|
33008
|
+
"description": "Polling interval in ms (default 1000)"
|
|
33009
|
+
},
|
|
33010
|
+
"inputMap": {
|
|
33011
|
+
"type": "InputMapping",
|
|
33012
|
+
"description": "Named input mapping: semantic name -> { nodeId, field }"
|
|
33013
|
+
},
|
|
33014
|
+
"outputDir": {
|
|
33015
|
+
"type": "string",
|
|
33016
|
+
"description": "If provided, output images are downloaded to this directory"
|
|
33017
|
+
}
|
|
33018
|
+
}
|
|
33019
|
+
}
|
|
33020
|
+
},
|
|
33021
|
+
"required": [
|
|
33022
|
+
"workflow"
|
|
33023
|
+
],
|
|
33024
|
+
"returns": "Promise<WorkflowResult>"
|
|
31694
33025
|
}
|
|
31695
33026
|
},
|
|
31696
33027
|
"getters": {
|
|
31697
|
-
"
|
|
31698
|
-
"description": "
|
|
31699
|
-
"returns": "
|
|
33028
|
+
"clientId": {
|
|
33029
|
+
"description": "The unique client ID used for WebSocket session tracking.",
|
|
33030
|
+
"returns": "string"
|
|
31700
33031
|
},
|
|
31701
|
-
"
|
|
31702
|
-
"description": "
|
|
31703
|
-
"returns": "
|
|
33032
|
+
"wsURL": {
|
|
33033
|
+
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
33034
|
+
"returns": "string"
|
|
33035
|
+
}
|
|
33036
|
+
},
|
|
33037
|
+
"events": {
|
|
33038
|
+
"execution_start": {
|
|
33039
|
+
"name": "execution_start",
|
|
33040
|
+
"description": "Event emitted by ComfyUIClient",
|
|
33041
|
+
"arguments": {}
|
|
31704
33042
|
},
|
|
31705
|
-
"
|
|
31706
|
-
"
|
|
31707
|
-
"
|
|
33043
|
+
"execution_complete": {
|
|
33044
|
+
"name": "execution_complete",
|
|
33045
|
+
"description": "Event emitted by ComfyUIClient",
|
|
33046
|
+
"arguments": {}
|
|
33047
|
+
},
|
|
33048
|
+
"executing": {
|
|
33049
|
+
"name": "executing",
|
|
33050
|
+
"description": "Event emitted by ComfyUIClient",
|
|
33051
|
+
"arguments": {}
|
|
33052
|
+
},
|
|
33053
|
+
"progress": {
|
|
33054
|
+
"name": "progress",
|
|
33055
|
+
"description": "Event emitted by ComfyUIClient",
|
|
33056
|
+
"arguments": {}
|
|
33057
|
+
},
|
|
33058
|
+
"executed": {
|
|
33059
|
+
"name": "executed",
|
|
33060
|
+
"description": "Event emitted by ComfyUIClient",
|
|
33061
|
+
"arguments": {}
|
|
33062
|
+
},
|
|
33063
|
+
"execution_cached": {
|
|
33064
|
+
"name": "execution_cached",
|
|
33065
|
+
"description": "Event emitted by ComfyUIClient",
|
|
33066
|
+
"arguments": {}
|
|
33067
|
+
},
|
|
33068
|
+
"execution_error": {
|
|
33069
|
+
"name": "execution_error",
|
|
33070
|
+
"description": "Event emitted by ComfyUIClient",
|
|
33071
|
+
"arguments": {}
|
|
31708
33072
|
}
|
|
31709
33073
|
},
|
|
31710
|
-
"events": {},
|
|
31711
33074
|
"state": {},
|
|
31712
33075
|
"options": {},
|
|
31713
33076
|
"envVars": [],
|
|
31714
33077
|
"examples": [
|
|
31715
33078
|
{
|
|
31716
33079
|
"language": "ts",
|
|
31717
|
-
"code": "const
|
|
33080
|
+
"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)"
|
|
31718
33081
|
}
|
|
31719
|
-
]
|
|
33082
|
+
],
|
|
33083
|
+
"types": {
|
|
33084
|
+
"WorkflowRunOptions": {
|
|
33085
|
+
"description": "",
|
|
33086
|
+
"properties": {
|
|
33087
|
+
"poll": {
|
|
33088
|
+
"type": "boolean",
|
|
33089
|
+
"description": "Use polling instead of WebSocket for tracking execution",
|
|
33090
|
+
"optional": true
|
|
33091
|
+
},
|
|
33092
|
+
"pollInterval": {
|
|
33093
|
+
"type": "number",
|
|
33094
|
+
"description": "Polling interval in ms (default 1000)",
|
|
33095
|
+
"optional": true
|
|
33096
|
+
},
|
|
33097
|
+
"inputMap": {
|
|
33098
|
+
"type": "InputMapping",
|
|
33099
|
+
"description": "Named input mapping: semantic name -> { nodeId, field }",
|
|
33100
|
+
"optional": true
|
|
33101
|
+
},
|
|
33102
|
+
"outputDir": {
|
|
33103
|
+
"type": "string",
|
|
33104
|
+
"description": "If provided, output images are downloaded to this directory",
|
|
33105
|
+
"optional": true
|
|
33106
|
+
}
|
|
33107
|
+
}
|
|
33108
|
+
},
|
|
33109
|
+
"WorkflowResult": {
|
|
33110
|
+
"description": "",
|
|
33111
|
+
"properties": {
|
|
33112
|
+
"promptId": {
|
|
33113
|
+
"type": "string",
|
|
33114
|
+
"description": ""
|
|
33115
|
+
},
|
|
33116
|
+
"outputs": {
|
|
33117
|
+
"type": "Record<string, any>",
|
|
33118
|
+
"description": ""
|
|
33119
|
+
},
|
|
33120
|
+
"images": {
|
|
33121
|
+
"type": "Array<{ filename: string; subfolder: string; type: string; localPath?: string }>",
|
|
33122
|
+
"description": "",
|
|
33123
|
+
"optional": true
|
|
33124
|
+
}
|
|
33125
|
+
}
|
|
33126
|
+
}
|
|
33127
|
+
}
|
|
31720
33128
|
},
|
|
31721
33129
|
{
|
|
31722
33130
|
"id": "servers.mcp",
|
|
@@ -32441,6 +33849,16 @@ export const introspectionData = [
|
|
|
32441
33849
|
"hasVoice": {
|
|
32442
33850
|
"type": "boolean",
|
|
32443
33851
|
"description": "Whether a voice.yaml configuration file exists."
|
|
33852
|
+
},
|
|
33853
|
+
"about": {
|
|
33854
|
+
"type": "string",
|
|
33855
|
+
"description": "Contents of ABOUT.md if present, undefined otherwise.",
|
|
33856
|
+
"optional": true
|
|
33857
|
+
},
|
|
33858
|
+
"meta": {
|
|
33859
|
+
"type": "Record<string, any>",
|
|
33860
|
+
"description": "Frontmatter metadata parsed from CORE.md.",
|
|
33861
|
+
"optional": true
|
|
32444
33862
|
}
|
|
32445
33863
|
}
|
|
32446
33864
|
}
|
|
@@ -33078,6 +34496,19 @@ export const introspectionData = [
|
|
|
33078
34496
|
"shortcut": "features.browserUse",
|
|
33079
34497
|
"className": "BrowserUse",
|
|
33080
34498
|
"methods": {
|
|
34499
|
+
"setupToolsConsumer": {
|
|
34500
|
+
"description": "When an assistant uses browserUse, inject system prompt guidance about the browser interaction loop.",
|
|
34501
|
+
"parameters": {
|
|
34502
|
+
"consumer": {
|
|
34503
|
+
"type": "Helper",
|
|
34504
|
+
"description": "Parameter consumer"
|
|
34505
|
+
}
|
|
34506
|
+
},
|
|
34507
|
+
"required": [
|
|
34508
|
+
"consumer"
|
|
34509
|
+
],
|
|
34510
|
+
"returns": "void"
|
|
34511
|
+
},
|
|
33081
34512
|
"afterInitialize": {
|
|
33082
34513
|
"description": "",
|
|
33083
34514
|
"parameters": {},
|
|
@@ -34083,6 +35514,11 @@ export const introspectionData = [
|
|
|
34083
35514
|
"name": "skillDiscovered",
|
|
34084
35515
|
"description": "Event emitted by SkillsLibrary",
|
|
34085
35516
|
"arguments": {}
|
|
35517
|
+
},
|
|
35518
|
+
"foundSkills": {
|
|
35519
|
+
"name": "foundSkills",
|
|
35520
|
+
"description": "Event emitted by SkillsLibrary",
|
|
35521
|
+
"arguments": {}
|
|
34086
35522
|
}
|
|
34087
35523
|
},
|
|
34088
35524
|
"state": {},
|
|
@@ -34609,6 +36045,474 @@ export const introspectionData = [
|
|
|
34609
36045
|
}
|
|
34610
36046
|
]
|
|
34611
36047
|
},
|
|
36048
|
+
{
|
|
36049
|
+
"id": "features.memory",
|
|
36050
|
+
"description": "Semantic memory storage and retrieval for AI agents. Provides categorized memory with embedding-based search, metadata filtering, epoch tracking, and assistant tool integration. Built natively on Luca's SQLite and semanticSearch features.",
|
|
36051
|
+
"shortcut": "features.memory",
|
|
36052
|
+
"className": "Memory",
|
|
36053
|
+
"methods": {
|
|
36054
|
+
"initDb": {
|
|
36055
|
+
"description": "Initialize the SQLite database and create tables. Called automatically on first use, but can be called explicitly.",
|
|
36056
|
+
"parameters": {},
|
|
36057
|
+
"required": [],
|
|
36058
|
+
"returns": "void",
|
|
36059
|
+
"examples": [
|
|
36060
|
+
{
|
|
36061
|
+
"language": "ts",
|
|
36062
|
+
"code": "const mem = container.feature('memory')\nawait mem.initDb()"
|
|
36063
|
+
}
|
|
36064
|
+
]
|
|
36065
|
+
},
|
|
36066
|
+
"remember": {
|
|
36067
|
+
"description": "Tool handler: store a memory, deduplicating by similarity.",
|
|
36068
|
+
"parameters": {
|
|
36069
|
+
"args": {
|
|
36070
|
+
"type": "{ category: string; text: string; metadata?: Record<string, any> }",
|
|
36071
|
+
"description": "Parameter args"
|
|
36072
|
+
}
|
|
36073
|
+
},
|
|
36074
|
+
"required": [
|
|
36075
|
+
"args"
|
|
36076
|
+
],
|
|
36077
|
+
"returns": "void"
|
|
36078
|
+
},
|
|
36079
|
+
"recall": {
|
|
36080
|
+
"description": "Tool handler: search memories by semantic similarity.",
|
|
36081
|
+
"parameters": {
|
|
36082
|
+
"args": {
|
|
36083
|
+
"type": "{ category: string; query: string; n_results?: number }",
|
|
36084
|
+
"description": "Parameter args"
|
|
36085
|
+
}
|
|
36086
|
+
},
|
|
36087
|
+
"required": [
|
|
36088
|
+
"args"
|
|
36089
|
+
],
|
|
36090
|
+
"returns": "void"
|
|
36091
|
+
},
|
|
36092
|
+
"forgetCategory": {
|
|
36093
|
+
"description": "Tool handler: wipe all memories in a category.",
|
|
36094
|
+
"parameters": {
|
|
36095
|
+
"args": {
|
|
36096
|
+
"type": "{ category: string }",
|
|
36097
|
+
"description": "Parameter args"
|
|
36098
|
+
}
|
|
36099
|
+
},
|
|
36100
|
+
"required": [
|
|
36101
|
+
"args"
|
|
36102
|
+
],
|
|
36103
|
+
"returns": "void"
|
|
36104
|
+
},
|
|
36105
|
+
"listCategories": {
|
|
36106
|
+
"description": "Tool handler: list all categories with counts.",
|
|
36107
|
+
"parameters": {},
|
|
36108
|
+
"required": [],
|
|
36109
|
+
"returns": "void"
|
|
36110
|
+
},
|
|
36111
|
+
"setupToolsConsumer": {
|
|
36112
|
+
"description": "When an assistant uses memory, inject system prompt guidance.",
|
|
36113
|
+
"parameters": {
|
|
36114
|
+
"consumer": {
|
|
36115
|
+
"type": "Helper",
|
|
36116
|
+
"description": "Parameter consumer"
|
|
36117
|
+
}
|
|
36118
|
+
},
|
|
36119
|
+
"required": [
|
|
36120
|
+
"consumer"
|
|
36121
|
+
],
|
|
36122
|
+
"returns": "void"
|
|
36123
|
+
},
|
|
36124
|
+
"create": {
|
|
36125
|
+
"description": "Create a new memory in the given category.",
|
|
36126
|
+
"parameters": {
|
|
36127
|
+
"category": {
|
|
36128
|
+
"type": "string",
|
|
36129
|
+
"description": "The category to store the memory in"
|
|
36130
|
+
},
|
|
36131
|
+
"text": {
|
|
36132
|
+
"type": "string",
|
|
36133
|
+
"description": "The text content of the memory"
|
|
36134
|
+
},
|
|
36135
|
+
"metadata": {
|
|
36136
|
+
"type": "Record<string, any>",
|
|
36137
|
+
"description": "Optional metadata key-value pairs"
|
|
36138
|
+
}
|
|
36139
|
+
},
|
|
36140
|
+
"required": [
|
|
36141
|
+
"category",
|
|
36142
|
+
"text"
|
|
36143
|
+
],
|
|
36144
|
+
"returns": "Promise<MemoryRecord>",
|
|
36145
|
+
"examples": [
|
|
36146
|
+
{
|
|
36147
|
+
"language": "ts",
|
|
36148
|
+
"code": "const mem = container.feature('memory')\nawait mem.create('facts', 'The user lives in Austin', { confidence: 0.9 })"
|
|
36149
|
+
}
|
|
36150
|
+
]
|
|
36151
|
+
},
|
|
36152
|
+
"createUnique": {
|
|
36153
|
+
"description": "Create a memory only if no sufficiently similar memory exists.",
|
|
36154
|
+
"parameters": {
|
|
36155
|
+
"category": {
|
|
36156
|
+
"type": "string",
|
|
36157
|
+
"description": "The category to store the memory in"
|
|
36158
|
+
},
|
|
36159
|
+
"text": {
|
|
36160
|
+
"type": "string",
|
|
36161
|
+
"description": "The text content of the memory"
|
|
36162
|
+
},
|
|
36163
|
+
"metadata": {
|
|
36164
|
+
"type": "Record<string, any>",
|
|
36165
|
+
"description": "Optional metadata"
|
|
36166
|
+
},
|
|
36167
|
+
"similarityThreshold": {
|
|
36168
|
+
"type": "any",
|
|
36169
|
+
"description": "Minimum cosine similarity to consider a duplicate (0-1, default 0.95)"
|
|
36170
|
+
}
|
|
36171
|
+
},
|
|
36172
|
+
"required": [
|
|
36173
|
+
"category",
|
|
36174
|
+
"text"
|
|
36175
|
+
],
|
|
36176
|
+
"returns": "Promise<MemoryRecord | null>",
|
|
36177
|
+
"examples": [
|
|
36178
|
+
{
|
|
36179
|
+
"language": "ts",
|
|
36180
|
+
"code": "const mem = container.feature('memory')\nawait mem.createUnique('facts', 'User prefers dark mode', {}, 0.9)"
|
|
36181
|
+
}
|
|
36182
|
+
]
|
|
36183
|
+
},
|
|
36184
|
+
"get": {
|
|
36185
|
+
"description": "Get a memory by ID.",
|
|
36186
|
+
"parameters": {
|
|
36187
|
+
"category": {
|
|
36188
|
+
"type": "string",
|
|
36189
|
+
"description": "The category the memory belongs to"
|
|
36190
|
+
},
|
|
36191
|
+
"id": {
|
|
36192
|
+
"type": "number",
|
|
36193
|
+
"description": "The memory ID"
|
|
36194
|
+
}
|
|
36195
|
+
},
|
|
36196
|
+
"required": [
|
|
36197
|
+
"category",
|
|
36198
|
+
"id"
|
|
36199
|
+
],
|
|
36200
|
+
"returns": "Promise<MemoryRecord | null>"
|
|
36201
|
+
},
|
|
36202
|
+
"getAll": {
|
|
36203
|
+
"description": "Get all memories in a category, with optional metadata filtering.",
|
|
36204
|
+
"parameters": {
|
|
36205
|
+
"category": {
|
|
36206
|
+
"type": "string",
|
|
36207
|
+
"description": "The category to query"
|
|
36208
|
+
},
|
|
36209
|
+
"options": {
|
|
36210
|
+
"type": "{ limit?: number; sortOrder?: 'asc' | 'desc'; filterMetadata?: Record<string, any> }",
|
|
36211
|
+
"description": "Query options",
|
|
36212
|
+
"properties": {
|
|
36213
|
+
"limit": {
|
|
36214
|
+
"type": "any",
|
|
36215
|
+
"description": "Max results (default 20)"
|
|
36216
|
+
},
|
|
36217
|
+
"sortOrder": {
|
|
36218
|
+
"type": "any",
|
|
36219
|
+
"description": "'asc' or 'desc' by created_at (default 'desc')"
|
|
36220
|
+
},
|
|
36221
|
+
"filterMetadata": {
|
|
36222
|
+
"type": "any",
|
|
36223
|
+
"description": "Filter by metadata key-value pairs"
|
|
36224
|
+
}
|
|
36225
|
+
}
|
|
36226
|
+
}
|
|
36227
|
+
},
|
|
36228
|
+
"required": [
|
|
36229
|
+
"category"
|
|
36230
|
+
],
|
|
36231
|
+
"returns": "Promise<MemoryRecord[]>"
|
|
36232
|
+
},
|
|
36233
|
+
"update": {
|
|
36234
|
+
"description": "Update a memory's text and/or metadata.",
|
|
36235
|
+
"parameters": {
|
|
36236
|
+
"category": {
|
|
36237
|
+
"type": "string",
|
|
36238
|
+
"description": "The category the memory belongs to"
|
|
36239
|
+
},
|
|
36240
|
+
"id": {
|
|
36241
|
+
"type": "number",
|
|
36242
|
+
"description": "The memory ID"
|
|
36243
|
+
},
|
|
36244
|
+
"updates": {
|
|
36245
|
+
"type": "{ text?: string; metadata?: Record<string, any> }",
|
|
36246
|
+
"description": "Fields to update",
|
|
36247
|
+
"properties": {
|
|
36248
|
+
"text": {
|
|
36249
|
+
"type": "any",
|
|
36250
|
+
"description": "New text content (re-embeds automatically)"
|
|
36251
|
+
},
|
|
36252
|
+
"metadata": {
|
|
36253
|
+
"type": "any",
|
|
36254
|
+
"description": "Metadata to merge"
|
|
36255
|
+
}
|
|
36256
|
+
}
|
|
36257
|
+
}
|
|
36258
|
+
},
|
|
36259
|
+
"required": [
|
|
36260
|
+
"category",
|
|
36261
|
+
"id",
|
|
36262
|
+
"updates"
|
|
36263
|
+
],
|
|
36264
|
+
"returns": "Promise<MemoryRecord | null>"
|
|
36265
|
+
},
|
|
36266
|
+
"delete": {
|
|
36267
|
+
"description": "Delete a specific memory.",
|
|
36268
|
+
"parameters": {
|
|
36269
|
+
"category": {
|
|
36270
|
+
"type": "string",
|
|
36271
|
+
"description": "The category"
|
|
36272
|
+
},
|
|
36273
|
+
"id": {
|
|
36274
|
+
"type": "number",
|
|
36275
|
+
"description": "The memory ID"
|
|
36276
|
+
}
|
|
36277
|
+
},
|
|
36278
|
+
"required": [
|
|
36279
|
+
"category",
|
|
36280
|
+
"id"
|
|
36281
|
+
],
|
|
36282
|
+
"returns": "Promise<boolean>"
|
|
36283
|
+
},
|
|
36284
|
+
"wipeCategory": {
|
|
36285
|
+
"description": "Delete all memories in a category.",
|
|
36286
|
+
"parameters": {
|
|
36287
|
+
"category": {
|
|
36288
|
+
"type": "string",
|
|
36289
|
+
"description": "The category to wipe"
|
|
36290
|
+
}
|
|
36291
|
+
},
|
|
36292
|
+
"required": [
|
|
36293
|
+
"category"
|
|
36294
|
+
],
|
|
36295
|
+
"returns": "Promise<number>"
|
|
36296
|
+
},
|
|
36297
|
+
"wipeAll": {
|
|
36298
|
+
"description": "Delete all memories across all categories in this namespace.",
|
|
36299
|
+
"parameters": {},
|
|
36300
|
+
"required": [],
|
|
36301
|
+
"returns": "Promise<number>"
|
|
36302
|
+
},
|
|
36303
|
+
"count": {
|
|
36304
|
+
"description": "Count memories in a category (or all categories if omitted).",
|
|
36305
|
+
"parameters": {
|
|
36306
|
+
"category": {
|
|
36307
|
+
"type": "string",
|
|
36308
|
+
"description": "Optional category to count"
|
|
36309
|
+
}
|
|
36310
|
+
},
|
|
36311
|
+
"required": [],
|
|
36312
|
+
"returns": "Promise<number>"
|
|
36313
|
+
},
|
|
36314
|
+
"categories": {
|
|
36315
|
+
"description": "List all categories that have memories.",
|
|
36316
|
+
"parameters": {},
|
|
36317
|
+
"required": [],
|
|
36318
|
+
"returns": "Promise<string[]>"
|
|
36319
|
+
},
|
|
36320
|
+
"search": {
|
|
36321
|
+
"description": "Search memories by semantic similarity.",
|
|
36322
|
+
"parameters": {
|
|
36323
|
+
"category": {
|
|
36324
|
+
"type": "string",
|
|
36325
|
+
"description": "The category to search in"
|
|
36326
|
+
},
|
|
36327
|
+
"query": {
|
|
36328
|
+
"type": "string",
|
|
36329
|
+
"description": "The search query (will be embedded)"
|
|
36330
|
+
},
|
|
36331
|
+
"nResults": {
|
|
36332
|
+
"type": "any",
|
|
36333
|
+
"description": "Maximum number of results (default 5)"
|
|
36334
|
+
},
|
|
36335
|
+
"options": {
|
|
36336
|
+
"type": "{ maxDistance?: number; filterMetadata?: Record<string, any> }",
|
|
36337
|
+
"description": "Additional search options",
|
|
36338
|
+
"properties": {
|
|
36339
|
+
"maxDistance": {
|
|
36340
|
+
"type": "any",
|
|
36341
|
+
"description": "Maximum cosine distance threshold (0-2, default none)"
|
|
36342
|
+
},
|
|
36343
|
+
"filterMetadata": {
|
|
36344
|
+
"type": "any",
|
|
36345
|
+
"description": "Filter by metadata key-value pairs"
|
|
36346
|
+
}
|
|
36347
|
+
}
|
|
36348
|
+
}
|
|
36349
|
+
},
|
|
36350
|
+
"required": [
|
|
36351
|
+
"category",
|
|
36352
|
+
"query"
|
|
36353
|
+
],
|
|
36354
|
+
"returns": "Promise<MemorySearchResult[]>"
|
|
36355
|
+
},
|
|
36356
|
+
"getEpoch": {
|
|
36357
|
+
"description": "Get the current epoch value.",
|
|
36358
|
+
"parameters": {},
|
|
36359
|
+
"required": [],
|
|
36360
|
+
"returns": "number"
|
|
36361
|
+
},
|
|
36362
|
+
"setEpoch": {
|
|
36363
|
+
"description": "Set the epoch to a specific value.",
|
|
36364
|
+
"parameters": {
|
|
36365
|
+
"value": {
|
|
36366
|
+
"type": "number",
|
|
36367
|
+
"description": "The new epoch value"
|
|
36368
|
+
}
|
|
36369
|
+
},
|
|
36370
|
+
"required": [
|
|
36371
|
+
"value"
|
|
36372
|
+
],
|
|
36373
|
+
"returns": "void"
|
|
36374
|
+
},
|
|
36375
|
+
"incrementEpoch": {
|
|
36376
|
+
"description": "Increment the epoch by 1.",
|
|
36377
|
+
"parameters": {},
|
|
36378
|
+
"required": [],
|
|
36379
|
+
"returns": "Promise<number>"
|
|
36380
|
+
},
|
|
36381
|
+
"createEvent": {
|
|
36382
|
+
"description": "Create a timestamped event memory in the 'events' category, automatically tagged with the current epoch.",
|
|
36383
|
+
"parameters": {
|
|
36384
|
+
"text": {
|
|
36385
|
+
"type": "string",
|
|
36386
|
+
"description": "The event description"
|
|
36387
|
+
},
|
|
36388
|
+
"metadata": {
|
|
36389
|
+
"type": "Record<string, any>",
|
|
36390
|
+
"description": "Optional additional metadata"
|
|
36391
|
+
}
|
|
36392
|
+
},
|
|
36393
|
+
"required": [
|
|
36394
|
+
"text"
|
|
36395
|
+
],
|
|
36396
|
+
"returns": "Promise<MemoryRecord>"
|
|
36397
|
+
},
|
|
36398
|
+
"getEvents": {
|
|
36399
|
+
"description": "Get events, optionally filtered by epoch.",
|
|
36400
|
+
"parameters": {
|
|
36401
|
+
"options": {
|
|
36402
|
+
"type": "{ epoch?: number; limit?: number }",
|
|
36403
|
+
"description": "Query options",
|
|
36404
|
+
"properties": {
|
|
36405
|
+
"epoch": {
|
|
36406
|
+
"type": "any",
|
|
36407
|
+
"description": "Filter to a specific epoch"
|
|
36408
|
+
},
|
|
36409
|
+
"limit": {
|
|
36410
|
+
"type": "any",
|
|
36411
|
+
"description": "Max results (default 10)"
|
|
36412
|
+
}
|
|
36413
|
+
}
|
|
36414
|
+
}
|
|
36415
|
+
},
|
|
36416
|
+
"required": [],
|
|
36417
|
+
"returns": "Promise<MemoryRecord[]>"
|
|
36418
|
+
},
|
|
36419
|
+
"exportToJson": {
|
|
36420
|
+
"description": "Export all memories in this namespace to a JSON-serializable object.",
|
|
36421
|
+
"parameters": {},
|
|
36422
|
+
"required": [],
|
|
36423
|
+
"returns": "Promise<{ namespace: string; epoch: number; memories: MemoryRecord[] }>"
|
|
36424
|
+
},
|
|
36425
|
+
"importFromJson": {
|
|
36426
|
+
"description": "Import memories from a JSON export. Optionally replaces all existing memories.",
|
|
36427
|
+
"parameters": {
|
|
36428
|
+
"data": {
|
|
36429
|
+
"type": "{ namespace?: string; epoch?: number; memories: Array<{ category: string; document: string; metadata?: Record<string, any> }> }",
|
|
36430
|
+
"description": "The exported data object"
|
|
36431
|
+
},
|
|
36432
|
+
"replace": {
|
|
36433
|
+
"type": "any",
|
|
36434
|
+
"description": "If true, wipe existing memories before importing (default true)"
|
|
36435
|
+
}
|
|
36436
|
+
},
|
|
36437
|
+
"required": [
|
|
36438
|
+
"data"
|
|
36439
|
+
],
|
|
36440
|
+
"returns": "Promise<number>"
|
|
36441
|
+
}
|
|
36442
|
+
},
|
|
36443
|
+
"getters": {},
|
|
36444
|
+
"events": {
|
|
36445
|
+
"dbInitialized": {
|
|
36446
|
+
"name": "dbInitialized",
|
|
36447
|
+
"description": "Event emitted by Memory",
|
|
36448
|
+
"arguments": {}
|
|
36449
|
+
},
|
|
36450
|
+
"memoryCreated": {
|
|
36451
|
+
"name": "memoryCreated",
|
|
36452
|
+
"description": "Event emitted by Memory",
|
|
36453
|
+
"arguments": {}
|
|
36454
|
+
},
|
|
36455
|
+
"memoryDeleted": {
|
|
36456
|
+
"name": "memoryDeleted",
|
|
36457
|
+
"description": "Event emitted by Memory",
|
|
36458
|
+
"arguments": {}
|
|
36459
|
+
},
|
|
36460
|
+
"epochChanged": {
|
|
36461
|
+
"name": "epochChanged",
|
|
36462
|
+
"description": "Event emitted by Memory",
|
|
36463
|
+
"arguments": {}
|
|
36464
|
+
}
|
|
36465
|
+
},
|
|
36466
|
+
"state": {},
|
|
36467
|
+
"options": {},
|
|
36468
|
+
"envVars": [],
|
|
36469
|
+
"examples": [
|
|
36470
|
+
{
|
|
36471
|
+
"language": "ts",
|
|
36472
|
+
"code": "const mem = container.feature('memory')\nawait mem.create('user-prefs', 'Prefers dark mode', { source: 'onboarding' })\nconst results = await mem.search('user-prefs', 'UI preferences')"
|
|
36473
|
+
}
|
|
36474
|
+
],
|
|
36475
|
+
"types": {
|
|
36476
|
+
"MemoryRecord": {
|
|
36477
|
+
"description": "--- Types ---",
|
|
36478
|
+
"properties": {
|
|
36479
|
+
"id": {
|
|
36480
|
+
"type": "number",
|
|
36481
|
+
"description": ""
|
|
36482
|
+
},
|
|
36483
|
+
"category": {
|
|
36484
|
+
"type": "string",
|
|
36485
|
+
"description": ""
|
|
36486
|
+
},
|
|
36487
|
+
"document": {
|
|
36488
|
+
"type": "string",
|
|
36489
|
+
"description": ""
|
|
36490
|
+
},
|
|
36491
|
+
"metadata": {
|
|
36492
|
+
"type": "Record<string, any>",
|
|
36493
|
+
"description": ""
|
|
36494
|
+
},
|
|
36495
|
+
"created_at": {
|
|
36496
|
+
"type": "string",
|
|
36497
|
+
"description": ""
|
|
36498
|
+
},
|
|
36499
|
+
"updated_at": {
|
|
36500
|
+
"type": "string",
|
|
36501
|
+
"description": ""
|
|
36502
|
+
}
|
|
36503
|
+
}
|
|
36504
|
+
},
|
|
36505
|
+
"MemorySearchResult": {
|
|
36506
|
+
"description": "",
|
|
36507
|
+
"properties": {
|
|
36508
|
+
"distance": {
|
|
36509
|
+
"type": "number",
|
|
36510
|
+
"description": ""
|
|
36511
|
+
}
|
|
36512
|
+
}
|
|
36513
|
+
}
|
|
36514
|
+
}
|
|
36515
|
+
},
|
|
34612
36516
|
{
|
|
34613
36517
|
"id": "features.claudeCode",
|
|
34614
36518
|
"description": "Claude Code CLI wrapper feature. Spawns and manages Claude Code sessions as subprocesses, streaming structured JSON events back through the container's event system. Sessions are long-lived: each call to `run()` spawns a `claude -p` process with `--output-format stream-json`, parses NDJSON from stdout line-by-line, and emits typed events on the feature's event bus.",
|
|
@@ -37213,6 +39117,97 @@ export const introspectionData = [
|
|
|
37213
39117
|
"state": {},
|
|
37214
39118
|
"options": {},
|
|
37215
39119
|
"envVars": []
|
|
39120
|
+
},
|
|
39121
|
+
{
|
|
39122
|
+
"id": "features.codingTools",
|
|
39123
|
+
"description": "Shell primitives for AI coding assistants: rg, ls, cat, sed, awk. Wraps standard Unix tools into the assistant tool surface with LLM-optimized descriptions and system prompt guidance. These are the raw, flexible tools for reading, searching, and exploring code. Compose with other features (fileTools, processManager, skillsLibrary) in assistant hooks for a complete coding tool surface. Usage: ```typescript assistant.use(container.feature('codingTools')) ```",
|
|
39124
|
+
"shortcut": "features.codingTools",
|
|
39125
|
+
"className": "CodingTools",
|
|
39126
|
+
"methods": {
|
|
39127
|
+
"rg": {
|
|
39128
|
+
"description": "",
|
|
39129
|
+
"parameters": {
|
|
39130
|
+
"args": {
|
|
39131
|
+
"type": "{ args: string; cwd?: string }",
|
|
39132
|
+
"description": "Parameter args"
|
|
39133
|
+
}
|
|
39134
|
+
},
|
|
39135
|
+
"required": [
|
|
39136
|
+
"args"
|
|
39137
|
+
],
|
|
39138
|
+
"returns": "Promise<string>"
|
|
39139
|
+
},
|
|
39140
|
+
"ls": {
|
|
39141
|
+
"description": "",
|
|
39142
|
+
"parameters": {
|
|
39143
|
+
"args": {
|
|
39144
|
+
"type": "{ args?: string; cwd?: string }",
|
|
39145
|
+
"description": "Parameter args"
|
|
39146
|
+
}
|
|
39147
|
+
},
|
|
39148
|
+
"required": [
|
|
39149
|
+
"args"
|
|
39150
|
+
],
|
|
39151
|
+
"returns": "Promise<string>"
|
|
39152
|
+
},
|
|
39153
|
+
"cat": {
|
|
39154
|
+
"description": "",
|
|
39155
|
+
"parameters": {
|
|
39156
|
+
"args": {
|
|
39157
|
+
"type": "{ args: string; cwd?: string }",
|
|
39158
|
+
"description": "Parameter args"
|
|
39159
|
+
}
|
|
39160
|
+
},
|
|
39161
|
+
"required": [
|
|
39162
|
+
"args"
|
|
39163
|
+
],
|
|
39164
|
+
"returns": "Promise<string>"
|
|
39165
|
+
},
|
|
39166
|
+
"sed": {
|
|
39167
|
+
"description": "",
|
|
39168
|
+
"parameters": {
|
|
39169
|
+
"args": {
|
|
39170
|
+
"type": "{ args: string; cwd?: string }",
|
|
39171
|
+
"description": "Parameter args"
|
|
39172
|
+
}
|
|
39173
|
+
},
|
|
39174
|
+
"required": [
|
|
39175
|
+
"args"
|
|
39176
|
+
],
|
|
39177
|
+
"returns": "Promise<string>"
|
|
39178
|
+
},
|
|
39179
|
+
"awk": {
|
|
39180
|
+
"description": "",
|
|
39181
|
+
"parameters": {
|
|
39182
|
+
"args": {
|
|
39183
|
+
"type": "{ args: string; cwd?: string }",
|
|
39184
|
+
"description": "Parameter args"
|
|
39185
|
+
}
|
|
39186
|
+
},
|
|
39187
|
+
"required": [
|
|
39188
|
+
"args"
|
|
39189
|
+
],
|
|
39190
|
+
"returns": "Promise<string>"
|
|
39191
|
+
},
|
|
39192
|
+
"setupToolsConsumer": {
|
|
39193
|
+
"description": "",
|
|
39194
|
+
"parameters": {
|
|
39195
|
+
"consumer": {
|
|
39196
|
+
"type": "Helper",
|
|
39197
|
+
"description": "Parameter consumer"
|
|
39198
|
+
}
|
|
39199
|
+
},
|
|
39200
|
+
"required": [
|
|
39201
|
+
"consumer"
|
|
39202
|
+
],
|
|
39203
|
+
"returns": "void"
|
|
39204
|
+
}
|
|
39205
|
+
},
|
|
39206
|
+
"getters": {},
|
|
39207
|
+
"events": {},
|
|
39208
|
+
"state": {},
|
|
39209
|
+
"options": {},
|
|
39210
|
+
"envVars": []
|
|
37216
39211
|
}
|
|
37217
39212
|
];
|
|
37218
39213
|
|