@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.561Z
|
|
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,390 +12132,295 @@ 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": "
|
|
12141
|
+
"connect": {
|
|
12142
|
+
"description": "Validate the VoiceBox server is reachable by hitting the health endpoint.",
|
|
12143
|
+
"parameters": {},
|
|
12144
|
+
"required": [],
|
|
12145
|
+
"returns": "Promise<this>"
|
|
12146
|
+
},
|
|
12147
|
+
"listProfiles": {
|
|
12148
|
+
"description": "List all voice profiles.",
|
|
12149
|
+
"parameters": {},
|
|
12150
|
+
"required": [],
|
|
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)`))"
|
|
12156
|
+
}
|
|
12157
|
+
]
|
|
12158
|
+
},
|
|
12159
|
+
"getProfile": {
|
|
12160
|
+
"description": "Get a single voice profile by ID.",
|
|
12117
12161
|
"parameters": {
|
|
12118
|
-
"
|
|
12162
|
+
"profileId": {
|
|
12119
12163
|
"type": "string",
|
|
12120
|
-
"description": "
|
|
12164
|
+
"description": "Parameter profileId"
|
|
12121
12165
|
}
|
|
12122
12166
|
},
|
|
12123
12167
|
"required": [
|
|
12124
|
-
"
|
|
12168
|
+
"profileId"
|
|
12125
12169
|
],
|
|
12126
|
-
"returns": "
|
|
12170
|
+
"returns": "Promise<any>"
|
|
12127
12171
|
},
|
|
12128
|
-
"
|
|
12129
|
-
"description": "
|
|
12172
|
+
"createProfile": {
|
|
12173
|
+
"description": "Create a new voice profile.",
|
|
12130
12174
|
"parameters": {
|
|
12131
|
-
"
|
|
12175
|
+
"name": {
|
|
12132
12176
|
"type": "string",
|
|
12133
|
-
"description": "
|
|
12134
|
-
},
|
|
12135
|
-
"params": {
|
|
12136
|
-
"type": "Record<string, unknown>",
|
|
12137
|
-
"description": "Arguments to pass to the function"
|
|
12177
|
+
"description": "Parameter name"
|
|
12138
12178
|
},
|
|
12139
12179
|
"options": {
|
|
12140
|
-
"type": "{
|
|
12141
|
-
"description": "
|
|
12180
|
+
"type": "{ description?: string; language?: string }",
|
|
12181
|
+
"description": "Parameter options"
|
|
12142
12182
|
}
|
|
12143
12183
|
},
|
|
12144
12184
|
"required": [
|
|
12145
|
-
"
|
|
12185
|
+
"name"
|
|
12146
12186
|
],
|
|
12147
|
-
"returns": "
|
|
12187
|
+
"returns": "Promise<any>"
|
|
12148
12188
|
},
|
|
12149
|
-
"
|
|
12150
|
-
"description": "
|
|
12189
|
+
"listEffects": {
|
|
12190
|
+
"description": "List available audio effects and their parameter definitions.",
|
|
12191
|
+
"parameters": {},
|
|
12192
|
+
"required": [],
|
|
12193
|
+
"returns": "Promise<any>"
|
|
12194
|
+
},
|
|
12195
|
+
"synthesize": {
|
|
12196
|
+
"description": "Synthesize speech from text using the streaming endpoint. Returns audio as a WAV Buffer (synchronous — blocks until audio is ready).",
|
|
12151
12197
|
"parameters": {
|
|
12152
|
-
"
|
|
12198
|
+
"text": {
|
|
12153
12199
|
"type": "string",
|
|
12154
|
-
"description": "
|
|
12200
|
+
"description": "The text to convert to speech"
|
|
12155
12201
|
},
|
|
12156
|
-
"
|
|
12157
|
-
"type": "
|
|
12158
|
-
"description": "
|
|
12202
|
+
"options": {
|
|
12203
|
+
"type": "SynthesizeOptions",
|
|
12204
|
+
"description": "Profile, engine, model, and other synthesis options",
|
|
12205
|
+
"properties": {
|
|
12206
|
+
"profileId": {
|
|
12207
|
+
"type": "string",
|
|
12208
|
+
"description": ""
|
|
12209
|
+
},
|
|
12210
|
+
"engine": {
|
|
12211
|
+
"type": "string",
|
|
12212
|
+
"description": ""
|
|
12213
|
+
},
|
|
12214
|
+
"modelSize": {
|
|
12215
|
+
"type": "string",
|
|
12216
|
+
"description": ""
|
|
12217
|
+
},
|
|
12218
|
+
"language": {
|
|
12219
|
+
"type": "string",
|
|
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": ""
|
|
12249
|
+
}
|
|
12250
|
+
}
|
|
12159
12251
|
}
|
|
12160
12252
|
},
|
|
12161
12253
|
"required": [
|
|
12162
|
-
"
|
|
12163
|
-
"password"
|
|
12254
|
+
"text"
|
|
12164
12255
|
],
|
|
12165
|
-
"returns": "
|
|
12256
|
+
"returns": "Promise<Buffer>",
|
|
12257
|
+
"examples": [
|
|
12258
|
+
{
|
|
12259
|
+
"language": "ts",
|
|
12260
|
+
"code": "const audio = await vb.synthesize('Hello world', { profileId: 'abc-123' })\n// audio is a Buffer of WAV data"
|
|
12261
|
+
}
|
|
12262
|
+
]
|
|
12166
12263
|
},
|
|
12167
|
-
"
|
|
12168
|
-
"description": "
|
|
12264
|
+
"generate": {
|
|
12265
|
+
"description": "Generate speech asynchronously (returns metadata, not audio). Use getAudio() to fetch the audio after generation completes.",
|
|
12169
12266
|
"parameters": {
|
|
12170
|
-
"
|
|
12267
|
+
"text": {
|
|
12171
12268
|
"type": "string",
|
|
12172
|
-
"description": "Parameter
|
|
12269
|
+
"description": "Parameter text"
|
|
12173
12270
|
},
|
|
12174
|
-
"
|
|
12175
|
-
"type": "
|
|
12176
|
-
"description": "Parameter
|
|
12271
|
+
"options": {
|
|
12272
|
+
"type": "SynthesizeOptions",
|
|
12273
|
+
"description": "Parameter options",
|
|
12274
|
+
"properties": {
|
|
12275
|
+
"profileId": {
|
|
12276
|
+
"type": "string",
|
|
12277
|
+
"description": ""
|
|
12278
|
+
},
|
|
12279
|
+
"engine": {
|
|
12280
|
+
"type": "string",
|
|
12281
|
+
"description": ""
|
|
12282
|
+
},
|
|
12283
|
+
"modelSize": {
|
|
12284
|
+
"type": "string",
|
|
12285
|
+
"description": ""
|
|
12286
|
+
},
|
|
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[]",
|
|
12313
|
+
"description": ""
|
|
12314
|
+
},
|
|
12315
|
+
"disableCache": {
|
|
12316
|
+
"type": "boolean",
|
|
12317
|
+
"description": ""
|
|
12318
|
+
}
|
|
12319
|
+
}
|
|
12177
12320
|
}
|
|
12178
12321
|
},
|
|
12179
12322
|
"required": [
|
|
12180
|
-
"
|
|
12181
|
-
"password"
|
|
12323
|
+
"text"
|
|
12182
12324
|
],
|
|
12183
|
-
"returns": "
|
|
12184
|
-
},
|
|
12185
|
-
"signOut": {
|
|
12186
|
-
"description": "Sign the current user out.",
|
|
12187
|
-
"parameters": {},
|
|
12188
|
-
"required": [],
|
|
12189
|
-
"returns": "void"
|
|
12190
|
-
},
|
|
12191
|
-
"getSession": {
|
|
12192
|
-
"description": "Get the current session, if any.",
|
|
12193
|
-
"parameters": {},
|
|
12194
|
-
"required": [],
|
|
12195
|
-
"returns": "void"
|
|
12196
|
-
},
|
|
12197
|
-
"getUser": {
|
|
12198
|
-
"description": "Get the current user, if any.",
|
|
12199
|
-
"parameters": {},
|
|
12200
|
-
"required": [],
|
|
12201
|
-
"returns": "void"
|
|
12325
|
+
"returns": "Promise<any>"
|
|
12202
12326
|
},
|
|
12203
|
-
"
|
|
12204
|
-
"description": "
|
|
12327
|
+
"getAudio": {
|
|
12328
|
+
"description": "Fetch generated audio by generation ID. Returns WAV Buffer.",
|
|
12205
12329
|
"parameters": {
|
|
12206
|
-
"
|
|
12330
|
+
"generationId": {
|
|
12207
12331
|
"type": "string",
|
|
12208
|
-
"description": "Parameter
|
|
12209
|
-
},
|
|
12210
|
-
"body": {
|
|
12211
|
-
"type": "any",
|
|
12212
|
-
"description": "Parameter body"
|
|
12332
|
+
"description": "Parameter generationId"
|
|
12213
12333
|
}
|
|
12214
12334
|
},
|
|
12215
12335
|
"required": [
|
|
12216
|
-
"
|
|
12336
|
+
"generationId"
|
|
12217
12337
|
],
|
|
12218
|
-
"returns": "
|
|
12338
|
+
"returns": "Promise<Buffer>"
|
|
12219
12339
|
},
|
|
12220
|
-
"
|
|
12221
|
-
"description": "
|
|
12340
|
+
"say": {
|
|
12341
|
+
"description": "Synthesize and write audio to a file.",
|
|
12222
12342
|
"parameters": {
|
|
12223
|
-
"
|
|
12343
|
+
"text": {
|
|
12224
12344
|
"type": "string",
|
|
12225
|
-
"description": "
|
|
12345
|
+
"description": "Parameter text"
|
|
12226
12346
|
},
|
|
12227
|
-
"
|
|
12347
|
+
"outputPath": {
|
|
12228
12348
|
"type": "string",
|
|
12229
|
-
"description": "
|
|
12230
|
-
},
|
|
12231
|
-
"callback": {
|
|
12232
|
-
"type": "(payload: any) => void",
|
|
12233
|
-
"description": "Called with the payload on each change"
|
|
12349
|
+
"description": "Parameter outputPath"
|
|
12234
12350
|
},
|
|
12235
|
-
"
|
|
12236
|
-
"type": "
|
|
12237
|
-
"description": "
|
|
12238
|
-
|
|
12239
|
-
|
|
12240
|
-
|
|
12241
|
-
|
|
12242
|
-
|
|
12243
|
-
|
|
12244
|
-
|
|
12245
|
-
|
|
12246
|
-
|
|
12247
|
-
|
|
12248
|
-
|
|
12249
|
-
|
|
12250
|
-
|
|
12251
|
-
|
|
12252
|
-
|
|
12253
|
-
|
|
12254
|
-
|
|
12255
|
-
|
|
12256
|
-
|
|
12257
|
-
|
|
12258
|
-
|
|
12259
|
-
|
|
12260
|
-
|
|
12261
|
-
|
|
12262
|
-
|
|
12263
|
-
|
|
12264
|
-
|
|
12265
|
-
|
|
12266
|
-
|
|
12267
|
-
|
|
12268
|
-
|
|
12269
|
-
|
|
12270
|
-
|
|
12271
|
-
|
|
12272
|
-
|
|
12273
|
-
|
|
12274
|
-
|
|
12275
|
-
|
|
12276
|
-
|
|
12277
|
-
|
|
12278
|
-
|
|
12279
|
-
|
|
12280
|
-
|
|
12281
|
-
|
|
12282
|
-
|
|
12283
|
-
|
|
12284
|
-
"storage": {
|
|
12285
|
-
"description": "Returns the Supabase Storage client for managing buckets and files.",
|
|
12286
|
-
"returns": "any"
|
|
12287
|
-
},
|
|
12288
|
-
"functions": {
|
|
12289
|
-
"description": "Returns the Supabase Functions client.",
|
|
12290
|
-
"returns": "any"
|
|
12291
|
-
}
|
|
12292
|
-
},
|
|
12293
|
-
"events": {},
|
|
12294
|
-
"state": {},
|
|
12295
|
-
"options": {},
|
|
12296
|
-
"envVars": [],
|
|
12297
|
-
"examples": [
|
|
12298
|
-
{
|
|
12299
|
-
"language": "ts",
|
|
12300
|
-
"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})"
|
|
12301
|
-
}
|
|
12302
|
-
]
|
|
12303
|
-
});
|
|
12304
|
-
|
|
12305
|
-
setBuildTimeData('clients.elevenlabs', {
|
|
12306
|
-
"id": "clients.elevenlabs",
|
|
12307
|
-
"description": "ElevenLabs client — text-to-speech synthesis via the ElevenLabs REST API. Provides methods for listing voices, listing models, and generating speech audio. Audio is returned as a Buffer; use `say()` for a convenience method that writes to disk.",
|
|
12308
|
-
"shortcut": "clients.elevenlabs",
|
|
12309
|
-
"className": "ElevenLabsClient",
|
|
12310
|
-
"methods": {
|
|
12311
|
-
"beforeRequest": {
|
|
12312
|
-
"description": "Inject the xi-api-key header before each request.",
|
|
12313
|
-
"parameters": {},
|
|
12314
|
-
"required": [],
|
|
12315
|
-
"returns": "void"
|
|
12316
|
-
},
|
|
12317
|
-
"connect": {
|
|
12318
|
-
"description": "Validate the API key by listing available models.",
|
|
12319
|
-
"parameters": {},
|
|
12320
|
-
"required": [],
|
|
12321
|
-
"returns": "Promise<this>",
|
|
12322
|
-
"examples": [
|
|
12323
|
-
{
|
|
12324
|
-
"language": "ts",
|
|
12325
|
-
"code": "await el.connect()"
|
|
12326
|
-
}
|
|
12327
|
-
]
|
|
12328
|
-
},
|
|
12329
|
-
"listVoices": {
|
|
12330
|
-
"description": "List available voices with optional search and filtering.",
|
|
12331
|
-
"parameters": {
|
|
12332
|
-
"options": {
|
|
12333
|
-
"type": "{\n search?: string\n category?: string\n voice_type?: string\n page_size?: number\n next_page_token?: string\n }",
|
|
12334
|
-
"description": "Query parameters for filtering voices"
|
|
12335
|
-
}
|
|
12336
|
-
},
|
|
12337
|
-
"required": [],
|
|
12338
|
-
"returns": "Promise<any>",
|
|
12339
|
-
"examples": [
|
|
12340
|
-
{
|
|
12341
|
-
"language": "ts",
|
|
12342
|
-
"code": "const voices = await el.listVoices()\nconst premade = await el.listVoices({ category: 'premade' })"
|
|
12343
|
-
}
|
|
12344
|
-
]
|
|
12345
|
-
},
|
|
12346
|
-
"getVoice": {
|
|
12347
|
-
"description": "Get details for a single voice.",
|
|
12348
|
-
"parameters": {
|
|
12349
|
-
"voiceId": {
|
|
12350
|
-
"type": "string",
|
|
12351
|
-
"description": "The voice ID to look up"
|
|
12352
|
-
}
|
|
12353
|
-
},
|
|
12354
|
-
"required": [
|
|
12355
|
-
"voiceId"
|
|
12356
|
-
],
|
|
12357
|
-
"returns": "Promise<any>",
|
|
12358
|
-
"examples": [
|
|
12359
|
-
{
|
|
12360
|
-
"language": "ts",
|
|
12361
|
-
"code": "const voice = await el.getVoice('21m00Tcm4TlvDq8ikWAM')\nconsole.log(voice.name, voice.settings)"
|
|
12362
|
-
}
|
|
12363
|
-
]
|
|
12364
|
-
},
|
|
12365
|
-
"listModels": {
|
|
12366
|
-
"description": "List available TTS models.",
|
|
12367
|
-
"parameters": {},
|
|
12368
|
-
"required": [],
|
|
12369
|
-
"returns": "Promise<any[]>",
|
|
12370
|
-
"examples": [
|
|
12371
|
-
{
|
|
12372
|
-
"language": "ts",
|
|
12373
|
-
"code": "const models = await el.listModels()\nconsole.log(models.map(m => m.model_id))"
|
|
12374
|
-
}
|
|
12375
|
-
]
|
|
12376
|
-
},
|
|
12377
|
-
"synthesize": {
|
|
12378
|
-
"description": "Synthesize speech from text, returning audio as a Buffer.",
|
|
12379
|
-
"parameters": {
|
|
12380
|
-
"text": {
|
|
12381
|
-
"type": "string",
|
|
12382
|
-
"description": "The text to convert to speech"
|
|
12383
|
-
},
|
|
12384
|
-
"options": {
|
|
12385
|
-
"type": "SynthesizeOptions",
|
|
12386
|
-
"description": "Voice, model, format, and voice settings overrides",
|
|
12387
|
-
"properties": {
|
|
12388
|
-
"voiceId": {
|
|
12389
|
-
"type": "string",
|
|
12390
|
-
"description": ""
|
|
12391
|
-
},
|
|
12392
|
-
"modelId": {
|
|
12393
|
-
"type": "string",
|
|
12394
|
-
"description": ""
|
|
12395
|
-
},
|
|
12396
|
-
"outputFormat": {
|
|
12397
|
-
"type": "string",
|
|
12398
|
-
"description": ""
|
|
12399
|
-
},
|
|
12400
|
-
"voiceSettings": {
|
|
12401
|
-
"type": "ElevenLabsVoiceSettings",
|
|
12402
|
-
"description": ""
|
|
12403
|
-
},
|
|
12404
|
-
"disableCache": {
|
|
12405
|
-
"type": "boolean",
|
|
12406
|
-
"description": ""
|
|
12407
|
-
}
|
|
12408
|
-
}
|
|
12409
|
-
}
|
|
12410
|
-
},
|
|
12411
|
-
"required": [
|
|
12412
|
-
"text"
|
|
12413
|
-
],
|
|
12414
|
-
"returns": "Promise<Buffer>",
|
|
12415
|
-
"examples": [
|
|
12416
|
-
{
|
|
12417
|
-
"language": "ts",
|
|
12418
|
-
"code": "const audio = await el.synthesize('Hello world')\n// audio is a Buffer of mp3 data\n\nconst custom = await el.synthesize('Hello', {\n voiceId: '21m00Tcm4TlvDq8ikWAM',\n voiceSettings: { stability: 0.5, similarityBoost: 0.8 }\n})"
|
|
12419
|
-
}
|
|
12420
|
-
]
|
|
12421
|
-
},
|
|
12422
|
-
"say": {
|
|
12423
|
-
"description": "Synthesize speech and write the audio to a file.",
|
|
12424
|
-
"parameters": {
|
|
12425
|
-
"text": {
|
|
12426
|
-
"type": "string",
|
|
12427
|
-
"description": "The text to convert to speech"
|
|
12428
|
-
},
|
|
12429
|
-
"outputPath": {
|
|
12430
|
-
"type": "string",
|
|
12431
|
-
"description": "File path to write the audio to"
|
|
12432
|
-
},
|
|
12433
|
-
"options": {
|
|
12434
|
-
"type": "SynthesizeOptions",
|
|
12435
|
-
"description": "Voice, model, format, and voice settings overrides",
|
|
12436
|
-
"properties": {
|
|
12437
|
-
"voiceId": {
|
|
12438
|
-
"type": "string",
|
|
12439
|
-
"description": ""
|
|
12440
|
-
},
|
|
12441
|
-
"modelId": {
|
|
12442
|
-
"type": "string",
|
|
12443
|
-
"description": ""
|
|
12444
|
-
},
|
|
12445
|
-
"outputFormat": {
|
|
12446
|
-
"type": "string",
|
|
12447
|
-
"description": ""
|
|
12448
|
-
},
|
|
12449
|
-
"voiceSettings": {
|
|
12450
|
-
"type": "ElevenLabsVoiceSettings",
|
|
12451
|
-
"description": ""
|
|
12452
|
-
},
|
|
12453
|
-
"disableCache": {
|
|
12454
|
-
"type": "boolean",
|
|
12455
|
-
"description": ""
|
|
12456
|
-
}
|
|
12457
|
-
}
|
|
12351
|
+
"options": {
|
|
12352
|
+
"type": "SynthesizeOptions",
|
|
12353
|
+
"description": "Parameter options",
|
|
12354
|
+
"properties": {
|
|
12355
|
+
"profileId": {
|
|
12356
|
+
"type": "string",
|
|
12357
|
+
"description": ""
|
|
12358
|
+
},
|
|
12359
|
+
"engine": {
|
|
12360
|
+
"type": "string",
|
|
12361
|
+
"description": ""
|
|
12362
|
+
},
|
|
12363
|
+
"modelSize": {
|
|
12364
|
+
"type": "string",
|
|
12365
|
+
"description": ""
|
|
12366
|
+
},
|
|
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[]",
|
|
12393
|
+
"description": ""
|
|
12394
|
+
},
|
|
12395
|
+
"disableCache": {
|
|
12396
|
+
"type": "boolean",
|
|
12397
|
+
"description": ""
|
|
12398
|
+
}
|
|
12399
|
+
}
|
|
12458
12400
|
}
|
|
12459
12401
|
},
|
|
12460
12402
|
"required": [
|
|
12461
12403
|
"text",
|
|
12462
12404
|
"outputPath"
|
|
12463
12405
|
],
|
|
12464
|
-
"returns": "Promise<string>"
|
|
12465
|
-
"examples": [
|
|
12466
|
-
{
|
|
12467
|
-
"language": "ts",
|
|
12468
|
-
"code": "const path = await el.say('Hello world', './hello.mp3')\nconsole.log(`Audio saved to ${path}`)"
|
|
12469
|
-
}
|
|
12470
|
-
]
|
|
12471
|
-
}
|
|
12472
|
-
},
|
|
12473
|
-
"getters": {
|
|
12474
|
-
"apiKey": {
|
|
12475
|
-
"description": "The resolved API key from options or environment.",
|
|
12476
|
-
"returns": "string"
|
|
12406
|
+
"returns": "Promise<string>"
|
|
12477
12407
|
}
|
|
12478
12408
|
},
|
|
12409
|
+
"getters": {},
|
|
12479
12410
|
"events": {
|
|
12480
12411
|
"failure": {
|
|
12481
12412
|
"name": "failure",
|
|
12482
|
-
"description": "Event emitted by
|
|
12413
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
12483
12414
|
"arguments": {}
|
|
12484
12415
|
},
|
|
12485
|
-
"
|
|
12486
|
-
"name": "
|
|
12487
|
-
"description": "Event emitted by
|
|
12416
|
+
"profiles": {
|
|
12417
|
+
"name": "profiles",
|
|
12418
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
12488
12419
|
"arguments": {}
|
|
12489
12420
|
},
|
|
12490
12421
|
"speech": {
|
|
12491
12422
|
"name": "speech",
|
|
12492
|
-
"description": "Event emitted by
|
|
12423
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
12493
12424
|
"arguments": {}
|
|
12494
12425
|
}
|
|
12495
12426
|
},
|
|
@@ -12499,73 +12430,288 @@ setBuildTimeData('clients.elevenlabs', {
|
|
|
12499
12430
|
"examples": [
|
|
12500
12431
|
{
|
|
12501
12432
|
"language": "ts",
|
|
12502
|
-
"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"
|
|
12503
12434
|
}
|
|
12504
12435
|
],
|
|
12505
12436
|
"types": {
|
|
12506
12437
|
"SynthesizeOptions": {
|
|
12507
12438
|
"description": "",
|
|
12508
12439
|
"properties": {
|
|
12509
|
-
"
|
|
12440
|
+
"profileId": {
|
|
12510
12441
|
"type": "string",
|
|
12511
12442
|
"description": "",
|
|
12512
12443
|
"optional": true
|
|
12513
12444
|
},
|
|
12514
|
-
"
|
|
12445
|
+
"engine": {
|
|
12515
12446
|
"type": "string",
|
|
12516
12447
|
"description": "",
|
|
12517
12448
|
"optional": true
|
|
12518
12449
|
},
|
|
12519
|
-
"
|
|
12450
|
+
"modelSize": {
|
|
12520
12451
|
"type": "string",
|
|
12521
12452
|
"description": "",
|
|
12522
12453
|
"optional": true
|
|
12523
12454
|
},
|
|
12524
|
-
"
|
|
12525
|
-
"type": "
|
|
12455
|
+
"language": {
|
|
12456
|
+
"type": "string",
|
|
12526
12457
|
"description": "",
|
|
12527
12458
|
"optional": true
|
|
12528
12459
|
},
|
|
12529
|
-
"
|
|
12530
|
-
"type": "
|
|
12460
|
+
"instruct": {
|
|
12461
|
+
"type": "string",
|
|
12531
12462
|
"description": "",
|
|
12532
12463
|
"optional": true
|
|
12533
|
-
}
|
|
12534
|
-
|
|
12535
|
-
},
|
|
12536
|
-
"ElevenLabsVoiceSettings": {
|
|
12537
|
-
"description": "",
|
|
12538
|
-
"properties": {
|
|
12539
|
-
"stability": {
|
|
12464
|
+
},
|
|
12465
|
+
"seed": {
|
|
12540
12466
|
"type": "number",
|
|
12541
12467
|
"description": "",
|
|
12542
12468
|
"optional": true
|
|
12543
12469
|
},
|
|
12544
|
-
"
|
|
12470
|
+
"maxChunkChars": {
|
|
12545
12471
|
"type": "number",
|
|
12546
12472
|
"description": "",
|
|
12547
12473
|
"optional": true
|
|
12548
12474
|
},
|
|
12549
|
-
"
|
|
12475
|
+
"crossfadeMs": {
|
|
12550
12476
|
"type": "number",
|
|
12551
12477
|
"description": "",
|
|
12552
12478
|
"optional": true
|
|
12553
12479
|
},
|
|
12554
|
-
"
|
|
12555
|
-
"type": "
|
|
12480
|
+
"normalize": {
|
|
12481
|
+
"type": "boolean",
|
|
12556
12482
|
"description": "",
|
|
12557
12483
|
"optional": true
|
|
12558
12484
|
},
|
|
12559
|
-
"
|
|
12485
|
+
"effectsChain": {
|
|
12486
|
+
"type": "EffectConfig[]",
|
|
12487
|
+
"description": "",
|
|
12488
|
+
"optional": true
|
|
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": {
|
|
12560
12505
|
"type": "boolean",
|
|
12561
12506
|
"description": "",
|
|
12562
12507
|
"optional": true
|
|
12508
|
+
},
|
|
12509
|
+
"params": {
|
|
12510
|
+
"type": "Record<string, any>",
|
|
12511
|
+
"description": "",
|
|
12512
|
+
"optional": true
|
|
12563
12513
|
}
|
|
12564
12514
|
}
|
|
12565
12515
|
}
|
|
12566
12516
|
}
|
|
12567
12517
|
});
|
|
12568
12518
|
|
|
12519
|
+
setBuildTimeData('clients.supabase', {
|
|
12520
|
+
"id": "clients.supabase",
|
|
12521
|
+
"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).",
|
|
12522
|
+
"shortcut": "clients.supabase",
|
|
12523
|
+
"className": "SupabaseClient",
|
|
12524
|
+
"methods": {
|
|
12525
|
+
"from": {
|
|
12526
|
+
"description": "Start a query on a Postgres table or view.",
|
|
12527
|
+
"parameters": {
|
|
12528
|
+
"table": {
|
|
12529
|
+
"type": "string",
|
|
12530
|
+
"description": "The table or view name to query"
|
|
12531
|
+
}
|
|
12532
|
+
},
|
|
12533
|
+
"required": [
|
|
12534
|
+
"table"
|
|
12535
|
+
],
|
|
12536
|
+
"returns": "void"
|
|
12537
|
+
},
|
|
12538
|
+
"rpc": {
|
|
12539
|
+
"description": "Call a Postgres function (RPC).",
|
|
12540
|
+
"parameters": {
|
|
12541
|
+
"fn": {
|
|
12542
|
+
"type": "string",
|
|
12543
|
+
"description": "The function name"
|
|
12544
|
+
},
|
|
12545
|
+
"params": {
|
|
12546
|
+
"type": "Record<string, unknown>",
|
|
12547
|
+
"description": "Arguments to pass to the function"
|
|
12548
|
+
},
|
|
12549
|
+
"options": {
|
|
12550
|
+
"type": "{ head?: boolean; get?: boolean; count?: \"exact\" | \"planned\" | \"estimated\" }",
|
|
12551
|
+
"description": "Optional settings (head, get, count)"
|
|
12552
|
+
}
|
|
12553
|
+
},
|
|
12554
|
+
"required": [
|
|
12555
|
+
"fn"
|
|
12556
|
+
],
|
|
12557
|
+
"returns": "void"
|
|
12558
|
+
},
|
|
12559
|
+
"signInWithPassword": {
|
|
12560
|
+
"description": "Sign in with email and password.",
|
|
12561
|
+
"parameters": {
|
|
12562
|
+
"email": {
|
|
12563
|
+
"type": "string",
|
|
12564
|
+
"description": "Parameter email"
|
|
12565
|
+
},
|
|
12566
|
+
"password": {
|
|
12567
|
+
"type": "string",
|
|
12568
|
+
"description": "Parameter password"
|
|
12569
|
+
}
|
|
12570
|
+
},
|
|
12571
|
+
"required": [
|
|
12572
|
+
"email",
|
|
12573
|
+
"password"
|
|
12574
|
+
],
|
|
12575
|
+
"returns": "void"
|
|
12576
|
+
},
|
|
12577
|
+
"signUp": {
|
|
12578
|
+
"description": "Create a new user account with email and password.",
|
|
12579
|
+
"parameters": {
|
|
12580
|
+
"email": {
|
|
12581
|
+
"type": "string",
|
|
12582
|
+
"description": "Parameter email"
|
|
12583
|
+
},
|
|
12584
|
+
"password": {
|
|
12585
|
+
"type": "string",
|
|
12586
|
+
"description": "Parameter password"
|
|
12587
|
+
}
|
|
12588
|
+
},
|
|
12589
|
+
"required": [
|
|
12590
|
+
"email",
|
|
12591
|
+
"password"
|
|
12592
|
+
],
|
|
12593
|
+
"returns": "void"
|
|
12594
|
+
},
|
|
12595
|
+
"signOut": {
|
|
12596
|
+
"description": "Sign the current user out.",
|
|
12597
|
+
"parameters": {},
|
|
12598
|
+
"required": [],
|
|
12599
|
+
"returns": "void"
|
|
12600
|
+
},
|
|
12601
|
+
"getSession": {
|
|
12602
|
+
"description": "Get the current session, if any.",
|
|
12603
|
+
"parameters": {},
|
|
12604
|
+
"required": [],
|
|
12605
|
+
"returns": "void"
|
|
12606
|
+
},
|
|
12607
|
+
"getUser": {
|
|
12608
|
+
"description": "Get the current user, if any.",
|
|
12609
|
+
"parameters": {},
|
|
12610
|
+
"required": [],
|
|
12611
|
+
"returns": "void"
|
|
12612
|
+
},
|
|
12613
|
+
"invoke": {
|
|
12614
|
+
"description": "Invoke a Supabase Edge Function by name.",
|
|
12615
|
+
"parameters": {
|
|
12616
|
+
"name": {
|
|
12617
|
+
"type": "string",
|
|
12618
|
+
"description": "Parameter name"
|
|
12619
|
+
},
|
|
12620
|
+
"body": {
|
|
12621
|
+
"type": "any",
|
|
12622
|
+
"description": "Parameter body"
|
|
12623
|
+
}
|
|
12624
|
+
},
|
|
12625
|
+
"required": [
|
|
12626
|
+
"name"
|
|
12627
|
+
],
|
|
12628
|
+
"returns": "void"
|
|
12629
|
+
},
|
|
12630
|
+
"subscribe": {
|
|
12631
|
+
"description": "Subscribe to realtime changes on a Postgres table.",
|
|
12632
|
+
"parameters": {
|
|
12633
|
+
"channelName": {
|
|
12634
|
+
"type": "string",
|
|
12635
|
+
"description": "A name for this subscription channel"
|
|
12636
|
+
},
|
|
12637
|
+
"table": {
|
|
12638
|
+
"type": "string",
|
|
12639
|
+
"description": "The table to listen to"
|
|
12640
|
+
},
|
|
12641
|
+
"callback": {
|
|
12642
|
+
"type": "(payload: any) => void",
|
|
12643
|
+
"description": "Called with the payload on each change"
|
|
12644
|
+
},
|
|
12645
|
+
"event": {
|
|
12646
|
+
"type": "\"INSERT\" | \"UPDATE\" | \"DELETE\" | \"*\"",
|
|
12647
|
+
"description": "The event type to listen for (default: all changes)"
|
|
12648
|
+
}
|
|
12649
|
+
},
|
|
12650
|
+
"required": [
|
|
12651
|
+
"channelName",
|
|
12652
|
+
"table",
|
|
12653
|
+
"callback"
|
|
12654
|
+
],
|
|
12655
|
+
"returns": "RealtimeChannel"
|
|
12656
|
+
},
|
|
12657
|
+
"unsubscribe": {
|
|
12658
|
+
"description": "Unsubscribe and remove a realtime channel by name.",
|
|
12659
|
+
"parameters": {
|
|
12660
|
+
"channelName": {
|
|
12661
|
+
"type": "string",
|
|
12662
|
+
"description": "The channel name to remove"
|
|
12663
|
+
}
|
|
12664
|
+
},
|
|
12665
|
+
"required": [
|
|
12666
|
+
"channelName"
|
|
12667
|
+
],
|
|
12668
|
+
"returns": "void"
|
|
12669
|
+
},
|
|
12670
|
+
"unsubscribeAll": {
|
|
12671
|
+
"description": "Unsubscribe and remove all realtime channels.",
|
|
12672
|
+
"parameters": {},
|
|
12673
|
+
"required": [],
|
|
12674
|
+
"returns": "void"
|
|
12675
|
+
},
|
|
12676
|
+
"connect": {
|
|
12677
|
+
"description": "Connect is a no-op since the Supabase SDK initializes on construction. The client is ready to use immediately after creation.",
|
|
12678
|
+
"parameters": {},
|
|
12679
|
+
"required": [],
|
|
12680
|
+
"returns": "void"
|
|
12681
|
+
},
|
|
12682
|
+
"disconnect": {
|
|
12683
|
+
"description": "Disconnect by signing out and removing all realtime channels.",
|
|
12684
|
+
"parameters": {},
|
|
12685
|
+
"required": [],
|
|
12686
|
+
"returns": "void"
|
|
12687
|
+
}
|
|
12688
|
+
},
|
|
12689
|
+
"getters": {
|
|
12690
|
+
"sdk": {
|
|
12691
|
+
"description": "Returns the raw Supabase SDK client for full access to all SDK methods.",
|
|
12692
|
+
"returns": "SupabaseSDKClient<any, any>"
|
|
12693
|
+
},
|
|
12694
|
+
"storage": {
|
|
12695
|
+
"description": "Returns the Supabase Storage client for managing buckets and files.",
|
|
12696
|
+
"returns": "any"
|
|
12697
|
+
},
|
|
12698
|
+
"functions": {
|
|
12699
|
+
"description": "Returns the Supabase Functions client.",
|
|
12700
|
+
"returns": "any"
|
|
12701
|
+
}
|
|
12702
|
+
},
|
|
12703
|
+
"events": {},
|
|
12704
|
+
"state": {},
|
|
12705
|
+
"options": {},
|
|
12706
|
+
"envVars": [],
|
|
12707
|
+
"examples": [
|
|
12708
|
+
{
|
|
12709
|
+
"language": "ts",
|
|
12710
|
+
"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})"
|
|
12711
|
+
}
|
|
12712
|
+
]
|
|
12713
|
+
});
|
|
12714
|
+
|
|
12569
12715
|
setBuildTimeData('clients.comfyui', {
|
|
12570
12716
|
"id": "clients.comfyui",
|
|
12571
12717
|
"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.",
|
|
@@ -12849,12 +12995,276 @@ setBuildTimeData('clients.comfyui', {
|
|
|
12849
12995
|
"type": "string",
|
|
12850
12996
|
"description": ""
|
|
12851
12997
|
},
|
|
12852
|
-
"outputs": {
|
|
12853
|
-
"type": "Record<string, any>",
|
|
12854
|
-
"description": ""
|
|
12998
|
+
"outputs": {
|
|
12999
|
+
"type": "Record<string, any>",
|
|
13000
|
+
"description": ""
|
|
13001
|
+
},
|
|
13002
|
+
"images": {
|
|
13003
|
+
"type": "Array<{ filename: string; subfolder: string; type: string; localPath?: string }>",
|
|
13004
|
+
"description": "",
|
|
13005
|
+
"optional": true
|
|
13006
|
+
}
|
|
13007
|
+
}
|
|
13008
|
+
}
|
|
13009
|
+
}
|
|
13010
|
+
});
|
|
13011
|
+
|
|
13012
|
+
setBuildTimeData('clients.elevenlabs', {
|
|
13013
|
+
"id": "clients.elevenlabs",
|
|
13014
|
+
"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.",
|
|
13015
|
+
"shortcut": "clients.elevenlabs",
|
|
13016
|
+
"className": "ElevenLabsClient",
|
|
13017
|
+
"methods": {
|
|
13018
|
+
"beforeRequest": {
|
|
13019
|
+
"description": "Inject the xi-api-key header before each request.",
|
|
13020
|
+
"parameters": {},
|
|
13021
|
+
"required": [],
|
|
13022
|
+
"returns": "void"
|
|
13023
|
+
},
|
|
13024
|
+
"connect": {
|
|
13025
|
+
"description": "Validate the API key by listing available models.",
|
|
13026
|
+
"parameters": {},
|
|
13027
|
+
"required": [],
|
|
13028
|
+
"returns": "Promise<this>",
|
|
13029
|
+
"examples": [
|
|
13030
|
+
{
|
|
13031
|
+
"language": "ts",
|
|
13032
|
+
"code": "await el.connect()"
|
|
13033
|
+
}
|
|
13034
|
+
]
|
|
13035
|
+
},
|
|
13036
|
+
"listVoices": {
|
|
13037
|
+
"description": "List available voices with optional search and filtering.",
|
|
13038
|
+
"parameters": {
|
|
13039
|
+
"options": {
|
|
13040
|
+
"type": "{\n search?: string\n category?: string\n voice_type?: string\n page_size?: number\n next_page_token?: string\n }",
|
|
13041
|
+
"description": "Query parameters for filtering voices"
|
|
13042
|
+
}
|
|
13043
|
+
},
|
|
13044
|
+
"required": [],
|
|
13045
|
+
"returns": "Promise<any>",
|
|
13046
|
+
"examples": [
|
|
13047
|
+
{
|
|
13048
|
+
"language": "ts",
|
|
13049
|
+
"code": "const voices = await el.listVoices()\nconst premade = await el.listVoices({ category: 'premade' })"
|
|
13050
|
+
}
|
|
13051
|
+
]
|
|
13052
|
+
},
|
|
13053
|
+
"getVoice": {
|
|
13054
|
+
"description": "Get details for a single voice.",
|
|
13055
|
+
"parameters": {
|
|
13056
|
+
"voiceId": {
|
|
13057
|
+
"type": "string",
|
|
13058
|
+
"description": "The voice ID to look up"
|
|
13059
|
+
}
|
|
13060
|
+
},
|
|
13061
|
+
"required": [
|
|
13062
|
+
"voiceId"
|
|
13063
|
+
],
|
|
13064
|
+
"returns": "Promise<any>",
|
|
13065
|
+
"examples": [
|
|
13066
|
+
{
|
|
13067
|
+
"language": "ts",
|
|
13068
|
+
"code": "const voice = await el.getVoice('21m00Tcm4TlvDq8ikWAM')\nconsole.log(voice.name, voice.settings)"
|
|
13069
|
+
}
|
|
13070
|
+
]
|
|
13071
|
+
},
|
|
13072
|
+
"listModels": {
|
|
13073
|
+
"description": "List available TTS models.",
|
|
13074
|
+
"parameters": {},
|
|
13075
|
+
"required": [],
|
|
13076
|
+
"returns": "Promise<any[]>",
|
|
13077
|
+
"examples": [
|
|
13078
|
+
{
|
|
13079
|
+
"language": "ts",
|
|
13080
|
+
"code": "const models = await el.listModels()\nconsole.log(models.map(m => m.model_id))"
|
|
13081
|
+
}
|
|
13082
|
+
]
|
|
13083
|
+
},
|
|
13084
|
+
"synthesize": {
|
|
13085
|
+
"description": "Synthesize speech from text, returning audio as a Buffer.",
|
|
13086
|
+
"parameters": {
|
|
13087
|
+
"text": {
|
|
13088
|
+
"type": "string",
|
|
13089
|
+
"description": "The text to convert to speech"
|
|
13090
|
+
},
|
|
13091
|
+
"options": {
|
|
13092
|
+
"type": "SynthesizeOptions",
|
|
13093
|
+
"description": "Voice, model, format, and voice settings overrides",
|
|
13094
|
+
"properties": {
|
|
13095
|
+
"voiceId": {
|
|
13096
|
+
"type": "string",
|
|
13097
|
+
"description": ""
|
|
13098
|
+
},
|
|
13099
|
+
"modelId": {
|
|
13100
|
+
"type": "string",
|
|
13101
|
+
"description": ""
|
|
13102
|
+
},
|
|
13103
|
+
"outputFormat": {
|
|
13104
|
+
"type": "string",
|
|
13105
|
+
"description": ""
|
|
13106
|
+
},
|
|
13107
|
+
"voiceSettings": {
|
|
13108
|
+
"type": "ElevenLabsVoiceSettings",
|
|
13109
|
+
"description": ""
|
|
13110
|
+
},
|
|
13111
|
+
"disableCache": {
|
|
13112
|
+
"type": "boolean",
|
|
13113
|
+
"description": ""
|
|
13114
|
+
}
|
|
13115
|
+
}
|
|
13116
|
+
}
|
|
13117
|
+
},
|
|
13118
|
+
"required": [
|
|
13119
|
+
"text"
|
|
13120
|
+
],
|
|
13121
|
+
"returns": "Promise<Buffer>",
|
|
13122
|
+
"examples": [
|
|
13123
|
+
{
|
|
13124
|
+
"language": "ts",
|
|
13125
|
+
"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})"
|
|
13126
|
+
}
|
|
13127
|
+
]
|
|
13128
|
+
},
|
|
13129
|
+
"say": {
|
|
13130
|
+
"description": "Synthesize speech and write the audio to a file.",
|
|
13131
|
+
"parameters": {
|
|
13132
|
+
"text": {
|
|
13133
|
+
"type": "string",
|
|
13134
|
+
"description": "The text to convert to speech"
|
|
13135
|
+
},
|
|
13136
|
+
"outputPath": {
|
|
13137
|
+
"type": "string",
|
|
13138
|
+
"description": "File path to write the audio to"
|
|
13139
|
+
},
|
|
13140
|
+
"options": {
|
|
13141
|
+
"type": "SynthesizeOptions",
|
|
13142
|
+
"description": "Voice, model, format, and voice settings overrides",
|
|
13143
|
+
"properties": {
|
|
13144
|
+
"voiceId": {
|
|
13145
|
+
"type": "string",
|
|
13146
|
+
"description": ""
|
|
13147
|
+
},
|
|
13148
|
+
"modelId": {
|
|
13149
|
+
"type": "string",
|
|
13150
|
+
"description": ""
|
|
13151
|
+
},
|
|
13152
|
+
"outputFormat": {
|
|
13153
|
+
"type": "string",
|
|
13154
|
+
"description": ""
|
|
13155
|
+
},
|
|
13156
|
+
"voiceSettings": {
|
|
13157
|
+
"type": "ElevenLabsVoiceSettings",
|
|
13158
|
+
"description": ""
|
|
13159
|
+
},
|
|
13160
|
+
"disableCache": {
|
|
13161
|
+
"type": "boolean",
|
|
13162
|
+
"description": ""
|
|
13163
|
+
}
|
|
13164
|
+
}
|
|
13165
|
+
}
|
|
13166
|
+
},
|
|
13167
|
+
"required": [
|
|
13168
|
+
"text",
|
|
13169
|
+
"outputPath"
|
|
13170
|
+
],
|
|
13171
|
+
"returns": "Promise<string>",
|
|
13172
|
+
"examples": [
|
|
13173
|
+
{
|
|
13174
|
+
"language": "ts",
|
|
13175
|
+
"code": "const path = await el.say('Hello world', './hello.mp3')\nconsole.log(`Audio saved to ${path}`)"
|
|
13176
|
+
}
|
|
13177
|
+
]
|
|
13178
|
+
}
|
|
13179
|
+
},
|
|
13180
|
+
"getters": {
|
|
13181
|
+
"apiKey": {
|
|
13182
|
+
"description": "The resolved API key from options or environment.",
|
|
13183
|
+
"returns": "string"
|
|
13184
|
+
}
|
|
13185
|
+
},
|
|
13186
|
+
"events": {
|
|
13187
|
+
"failure": {
|
|
13188
|
+
"name": "failure",
|
|
13189
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
13190
|
+
"arguments": {}
|
|
13191
|
+
},
|
|
13192
|
+
"voices": {
|
|
13193
|
+
"name": "voices",
|
|
13194
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
13195
|
+
"arguments": {}
|
|
13196
|
+
},
|
|
13197
|
+
"speech": {
|
|
13198
|
+
"name": "speech",
|
|
13199
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
13200
|
+
"arguments": {}
|
|
13201
|
+
}
|
|
13202
|
+
},
|
|
13203
|
+
"state": {},
|
|
13204
|
+
"options": {},
|
|
13205
|
+
"envVars": [],
|
|
13206
|
+
"examples": [
|
|
13207
|
+
{
|
|
13208
|
+
"language": "ts",
|
|
13209
|
+
"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"
|
|
13210
|
+
}
|
|
13211
|
+
],
|
|
13212
|
+
"types": {
|
|
13213
|
+
"SynthesizeOptions": {
|
|
13214
|
+
"description": "",
|
|
13215
|
+
"properties": {
|
|
13216
|
+
"voiceId": {
|
|
13217
|
+
"type": "string",
|
|
13218
|
+
"description": "",
|
|
13219
|
+
"optional": true
|
|
13220
|
+
},
|
|
13221
|
+
"modelId": {
|
|
13222
|
+
"type": "string",
|
|
13223
|
+
"description": "",
|
|
13224
|
+
"optional": true
|
|
13225
|
+
},
|
|
13226
|
+
"outputFormat": {
|
|
13227
|
+
"type": "string",
|
|
13228
|
+
"description": "",
|
|
13229
|
+
"optional": true
|
|
13230
|
+
},
|
|
13231
|
+
"voiceSettings": {
|
|
13232
|
+
"type": "ElevenLabsVoiceSettings",
|
|
13233
|
+
"description": "",
|
|
13234
|
+
"optional": true
|
|
13235
|
+
},
|
|
13236
|
+
"disableCache": {
|
|
13237
|
+
"type": "boolean",
|
|
13238
|
+
"description": "",
|
|
13239
|
+
"optional": true
|
|
13240
|
+
}
|
|
13241
|
+
}
|
|
13242
|
+
},
|
|
13243
|
+
"ElevenLabsVoiceSettings": {
|
|
13244
|
+
"description": "",
|
|
13245
|
+
"properties": {
|
|
13246
|
+
"stability": {
|
|
13247
|
+
"type": "number",
|
|
13248
|
+
"description": "",
|
|
13249
|
+
"optional": true
|
|
13250
|
+
},
|
|
13251
|
+
"similarityBoost": {
|
|
13252
|
+
"type": "number",
|
|
13253
|
+
"description": "",
|
|
13254
|
+
"optional": true
|
|
13255
|
+
},
|
|
13256
|
+
"style": {
|
|
13257
|
+
"type": "number",
|
|
13258
|
+
"description": "",
|
|
13259
|
+
"optional": true
|
|
12855
13260
|
},
|
|
12856
|
-
"
|
|
12857
|
-
"type": "
|
|
13261
|
+
"speed": {
|
|
13262
|
+
"type": "number",
|
|
13263
|
+
"description": "",
|
|
13264
|
+
"optional": true
|
|
13265
|
+
},
|
|
13266
|
+
"useSpeakerBoost": {
|
|
13267
|
+
"type": "boolean",
|
|
12858
13268
|
"description": "",
|
|
12859
13269
|
"optional": true
|
|
12860
13270
|
}
|
|
@@ -22498,6 +22908,19 @@ export const introspectionData = [
|
|
|
22498
22908
|
],
|
|
22499
22909
|
"returns": "void"
|
|
22500
22910
|
},
|
|
22911
|
+
"setupToolsConsumer": {
|
|
22912
|
+
"description": "When an assistant uses processManager, inject system prompt guidance about how to manage processes safely and effectively.",
|
|
22913
|
+
"parameters": {
|
|
22914
|
+
"consumer": {
|
|
22915
|
+
"type": "Helper",
|
|
22916
|
+
"description": "Parameter consumer"
|
|
22917
|
+
}
|
|
22918
|
+
},
|
|
22919
|
+
"required": [
|
|
22920
|
+
"consumer"
|
|
22921
|
+
],
|
|
22922
|
+
"returns": "void"
|
|
22923
|
+
},
|
|
22501
22924
|
"spawn": {
|
|
22502
22925
|
"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.",
|
|
22503
22926
|
"parameters": {
|
|
@@ -24910,6 +25333,19 @@ export const introspectionData = [
|
|
|
24910
25333
|
"shortcut": "features.contentDb",
|
|
24911
25334
|
"className": "ContentDb",
|
|
24912
25335
|
"methods": {
|
|
25336
|
+
"setupToolsConsumer": {
|
|
25337
|
+
"description": "When an assistant uses contentDb, inject system prompt guidance about progressive document exploration.",
|
|
25338
|
+
"parameters": {
|
|
25339
|
+
"consumer": {
|
|
25340
|
+
"type": "Helper",
|
|
25341
|
+
"description": "Parameter consumer"
|
|
25342
|
+
}
|
|
25343
|
+
},
|
|
25344
|
+
"required": [
|
|
25345
|
+
"consumer"
|
|
25346
|
+
],
|
|
25347
|
+
"returns": "void"
|
|
25348
|
+
},
|
|
24913
25349
|
"renderTree": {
|
|
24914
25350
|
"description": "Render a tree view of the collection directory structure. Built with container.fs so it works without the `tree` binary.",
|
|
24915
25351
|
"parameters": {
|
|
@@ -25806,369 +26242,162 @@ export const introspectionData = [
|
|
|
25806
26242
|
"parameters": {
|
|
25807
26243
|
"question": {
|
|
25808
26244
|
"type": "string",
|
|
25809
|
-
"description": "The question to ask"
|
|
25810
|
-
},
|
|
25811
|
-
"options": {
|
|
25812
|
-
"type": "Partial<OpenAI.Chat.Completions.ChatCompletionCreateParams>",
|
|
25813
|
-
"description": "Additional completion parameters"
|
|
25814
|
-
}
|
|
25815
|
-
},
|
|
25816
|
-
"required": [
|
|
25817
|
-
"question"
|
|
25818
|
-
],
|
|
25819
|
-
"returns": "Promise<string>",
|
|
25820
|
-
"examples": [
|
|
25821
|
-
{
|
|
25822
|
-
"language": "ts",
|
|
25823
|
-
"code": "const answer = await openai.ask('What is 2 + 2?')\nconsole.log(answer) // '4'"
|
|
25824
|
-
}
|
|
25825
|
-
]
|
|
25826
|
-
},
|
|
25827
|
-
"chat": {
|
|
25828
|
-
"description": "Send a multi-turn conversation and get a text response. Convenience wrapper around `createChatCompletion` that returns just the text.",
|
|
25829
|
-
"parameters": {
|
|
25830
|
-
"messages": {
|
|
25831
|
-
"type": "OpenAI.Chat.Completions.ChatCompletionMessageParam[]",
|
|
25832
|
-
"description": "Array of chat messages"
|
|
25833
|
-
},
|
|
25834
|
-
"options": {
|
|
25835
|
-
"type": "Partial<OpenAI.Chat.Completions.ChatCompletionCreateParams>",
|
|
25836
|
-
"description": "Additional completion parameters"
|
|
25837
|
-
}
|
|
25838
|
-
},
|
|
25839
|
-
"required": [
|
|
25840
|
-
"messages"
|
|
25841
|
-
],
|
|
25842
|
-
"returns": "Promise<string>",
|
|
25843
|
-
"examples": [
|
|
25844
|
-
{
|
|
25845
|
-
"language": "ts",
|
|
25846
|
-
"code": "const reply = await openai.chat([\n { role: 'system', content: 'You are a pirate.' },\n { role: 'user', content: 'Hello!' }\n])"
|
|
25847
|
-
}
|
|
25848
|
-
]
|
|
25849
|
-
}
|
|
25850
|
-
},
|
|
25851
|
-
"getters": {
|
|
25852
|
-
"defaultModel": {
|
|
25853
|
-
"description": "The default model used for completions, from options or 'gpt-4o'.",
|
|
25854
|
-
"returns": "string"
|
|
25855
|
-
},
|
|
25856
|
-
"raw": {
|
|
25857
|
-
"description": "The underlying OpenAI SDK instance for advanced use cases.",
|
|
25858
|
-
"returns": "OpenAI"
|
|
25859
|
-
}
|
|
25860
|
-
},
|
|
25861
|
-
"events": {
|
|
25862
|
-
"connected": {
|
|
25863
|
-
"name": "connected",
|
|
25864
|
-
"description": "Event emitted by OpenAIClient",
|
|
25865
|
-
"arguments": {}
|
|
25866
|
-
},
|
|
25867
|
-
"failure": {
|
|
25868
|
-
"name": "failure",
|
|
25869
|
-
"description": "Event emitted by OpenAIClient",
|
|
25870
|
-
"arguments": {}
|
|
25871
|
-
},
|
|
25872
|
-
"completion": {
|
|
25873
|
-
"name": "completion",
|
|
25874
|
-
"description": "Event emitted by OpenAIClient",
|
|
25875
|
-
"arguments": {}
|
|
25876
|
-
},
|
|
25877
|
-
"embedding": {
|
|
25878
|
-
"name": "embedding",
|
|
25879
|
-
"description": "Event emitted by OpenAIClient",
|
|
25880
|
-
"arguments": {}
|
|
25881
|
-
},
|
|
25882
|
-
"image": {
|
|
25883
|
-
"name": "image",
|
|
25884
|
-
"description": "Event emitted by OpenAIClient",
|
|
25885
|
-
"arguments": {}
|
|
25886
|
-
},
|
|
25887
|
-
"models": {
|
|
25888
|
-
"name": "models",
|
|
25889
|
-
"description": "Event emitted by OpenAIClient",
|
|
25890
|
-
"arguments": {}
|
|
25891
|
-
}
|
|
25892
|
-
},
|
|
25893
|
-
"state": {},
|
|
25894
|
-
"options": {},
|
|
25895
|
-
"envVars": [],
|
|
25896
|
-
"examples": [
|
|
25897
|
-
{
|
|
25898
|
-
"language": "ts",
|
|
25899
|
-
"code": "const openai = container.client('openai', { defaultModel: 'gpt-4o' })\nconst answer = await openai.ask('What is the meaning of life?')\nconsole.log(answer)"
|
|
25900
|
-
}
|
|
25901
|
-
]
|
|
25902
|
-
},
|
|
25903
|
-
{
|
|
25904
|
-
"id": "clients.supabase",
|
|
25905
|
-
"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).",
|
|
25906
|
-
"shortcut": "clients.supabase",
|
|
25907
|
-
"className": "SupabaseClient",
|
|
25908
|
-
"methods": {
|
|
25909
|
-
"from": {
|
|
25910
|
-
"description": "Start a query on a Postgres table or view.",
|
|
25911
|
-
"parameters": {
|
|
25912
|
-
"table": {
|
|
25913
|
-
"type": "string",
|
|
25914
|
-
"description": "The table or view name to query"
|
|
25915
|
-
}
|
|
25916
|
-
},
|
|
25917
|
-
"required": [
|
|
25918
|
-
"table"
|
|
25919
|
-
],
|
|
25920
|
-
"returns": "void"
|
|
25921
|
-
},
|
|
25922
|
-
"rpc": {
|
|
25923
|
-
"description": "Call a Postgres function (RPC).",
|
|
25924
|
-
"parameters": {
|
|
25925
|
-
"fn": {
|
|
25926
|
-
"type": "string",
|
|
25927
|
-
"description": "The function name"
|
|
25928
|
-
},
|
|
25929
|
-
"params": {
|
|
25930
|
-
"type": "Record<string, unknown>",
|
|
25931
|
-
"description": "Arguments to pass to the function"
|
|
25932
|
-
},
|
|
25933
|
-
"options": {
|
|
25934
|
-
"type": "{ head?: boolean; get?: boolean; count?: \"exact\" | \"planned\" | \"estimated\" }",
|
|
25935
|
-
"description": "Optional settings (head, get, count)"
|
|
25936
|
-
}
|
|
25937
|
-
},
|
|
25938
|
-
"required": [
|
|
25939
|
-
"fn"
|
|
25940
|
-
],
|
|
25941
|
-
"returns": "void"
|
|
25942
|
-
},
|
|
25943
|
-
"signInWithPassword": {
|
|
25944
|
-
"description": "Sign in with email and password.",
|
|
25945
|
-
"parameters": {
|
|
25946
|
-
"email": {
|
|
25947
|
-
"type": "string",
|
|
25948
|
-
"description": "Parameter email"
|
|
25949
|
-
},
|
|
25950
|
-
"password": {
|
|
25951
|
-
"type": "string",
|
|
25952
|
-
"description": "Parameter password"
|
|
25953
|
-
}
|
|
25954
|
-
},
|
|
25955
|
-
"required": [
|
|
25956
|
-
"email",
|
|
25957
|
-
"password"
|
|
25958
|
-
],
|
|
25959
|
-
"returns": "void"
|
|
25960
|
-
},
|
|
25961
|
-
"signUp": {
|
|
25962
|
-
"description": "Create a new user account with email and password.",
|
|
25963
|
-
"parameters": {
|
|
25964
|
-
"email": {
|
|
25965
|
-
"type": "string",
|
|
25966
|
-
"description": "Parameter email"
|
|
25967
|
-
},
|
|
25968
|
-
"password": {
|
|
25969
|
-
"type": "string",
|
|
25970
|
-
"description": "Parameter password"
|
|
25971
|
-
}
|
|
25972
|
-
},
|
|
25973
|
-
"required": [
|
|
25974
|
-
"email",
|
|
25975
|
-
"password"
|
|
25976
|
-
],
|
|
25977
|
-
"returns": "void"
|
|
25978
|
-
},
|
|
25979
|
-
"signOut": {
|
|
25980
|
-
"description": "Sign the current user out.",
|
|
25981
|
-
"parameters": {},
|
|
25982
|
-
"required": [],
|
|
25983
|
-
"returns": "void"
|
|
25984
|
-
},
|
|
25985
|
-
"getSession": {
|
|
25986
|
-
"description": "Get the current session, if any.",
|
|
25987
|
-
"parameters": {},
|
|
25988
|
-
"required": [],
|
|
25989
|
-
"returns": "void"
|
|
25990
|
-
},
|
|
25991
|
-
"getUser": {
|
|
25992
|
-
"description": "Get the current user, if any.",
|
|
25993
|
-
"parameters": {},
|
|
25994
|
-
"required": [],
|
|
25995
|
-
"returns": "void"
|
|
25996
|
-
},
|
|
25997
|
-
"invoke": {
|
|
25998
|
-
"description": "Invoke a Supabase Edge Function by name.",
|
|
25999
|
-
"parameters": {
|
|
26000
|
-
"name": {
|
|
26001
|
-
"type": "string",
|
|
26002
|
-
"description": "Parameter name"
|
|
26003
|
-
},
|
|
26004
|
-
"body": {
|
|
26005
|
-
"type": "any",
|
|
26006
|
-
"description": "Parameter body"
|
|
26007
|
-
}
|
|
26008
|
-
},
|
|
26009
|
-
"required": [
|
|
26010
|
-
"name"
|
|
26011
|
-
],
|
|
26012
|
-
"returns": "void"
|
|
26013
|
-
},
|
|
26014
|
-
"subscribe": {
|
|
26015
|
-
"description": "Subscribe to realtime changes on a Postgres table.",
|
|
26016
|
-
"parameters": {
|
|
26017
|
-
"channelName": {
|
|
26018
|
-
"type": "string",
|
|
26019
|
-
"description": "A name for this subscription channel"
|
|
26020
|
-
},
|
|
26021
|
-
"table": {
|
|
26022
|
-
"type": "string",
|
|
26023
|
-
"description": "The table to listen to"
|
|
26024
|
-
},
|
|
26025
|
-
"callback": {
|
|
26026
|
-
"type": "(payload: any) => void",
|
|
26027
|
-
"description": "Called with the payload on each change"
|
|
26028
|
-
},
|
|
26029
|
-
"event": {
|
|
26030
|
-
"type": "\"INSERT\" | \"UPDATE\" | \"DELETE\" | \"*\"",
|
|
26031
|
-
"description": "The event type to listen for (default: all changes)"
|
|
26245
|
+
"description": "The question to ask"
|
|
26246
|
+
},
|
|
26247
|
+
"options": {
|
|
26248
|
+
"type": "Partial<OpenAI.Chat.Completions.ChatCompletionCreateParams>",
|
|
26249
|
+
"description": "Additional completion parameters"
|
|
26032
26250
|
}
|
|
26033
26251
|
},
|
|
26034
26252
|
"required": [
|
|
26035
|
-
"
|
|
26036
|
-
"table",
|
|
26037
|
-
"callback"
|
|
26253
|
+
"question"
|
|
26038
26254
|
],
|
|
26039
|
-
"returns": "
|
|
26255
|
+
"returns": "Promise<string>",
|
|
26256
|
+
"examples": [
|
|
26257
|
+
{
|
|
26258
|
+
"language": "ts",
|
|
26259
|
+
"code": "const answer = await openai.ask('What is 2 + 2?')\nconsole.log(answer) // '4'"
|
|
26260
|
+
}
|
|
26261
|
+
]
|
|
26040
26262
|
},
|
|
26041
|
-
"
|
|
26042
|
-
"description": "
|
|
26263
|
+
"chat": {
|
|
26264
|
+
"description": "Send a multi-turn conversation and get a text response. Convenience wrapper around `createChatCompletion` that returns just the text.",
|
|
26043
26265
|
"parameters": {
|
|
26044
|
-
"
|
|
26045
|
-
"type": "
|
|
26046
|
-
"description": "
|
|
26266
|
+
"messages": {
|
|
26267
|
+
"type": "OpenAI.Chat.Completions.ChatCompletionMessageParam[]",
|
|
26268
|
+
"description": "Array of chat messages"
|
|
26269
|
+
},
|
|
26270
|
+
"options": {
|
|
26271
|
+
"type": "Partial<OpenAI.Chat.Completions.ChatCompletionCreateParams>",
|
|
26272
|
+
"description": "Additional completion parameters"
|
|
26047
26273
|
}
|
|
26048
26274
|
},
|
|
26049
26275
|
"required": [
|
|
26050
|
-
"
|
|
26276
|
+
"messages"
|
|
26051
26277
|
],
|
|
26052
|
-
"returns": "
|
|
26053
|
-
|
|
26054
|
-
|
|
26055
|
-
|
|
26056
|
-
|
|
26057
|
-
|
|
26058
|
-
|
|
26059
|
-
},
|
|
26060
|
-
"connect": {
|
|
26061
|
-
"description": "Connect is a no-op since the Supabase SDK initializes on construction. The client is ready to use immediately after creation.",
|
|
26062
|
-
"parameters": {},
|
|
26063
|
-
"required": [],
|
|
26064
|
-
"returns": "void"
|
|
26065
|
-
},
|
|
26066
|
-
"disconnect": {
|
|
26067
|
-
"description": "Disconnect by signing out and removing all realtime channels.",
|
|
26068
|
-
"parameters": {},
|
|
26069
|
-
"required": [],
|
|
26070
|
-
"returns": "void"
|
|
26278
|
+
"returns": "Promise<string>",
|
|
26279
|
+
"examples": [
|
|
26280
|
+
{
|
|
26281
|
+
"language": "ts",
|
|
26282
|
+
"code": "const reply = await openai.chat([\n { role: 'system', content: 'You are a pirate.' },\n { role: 'user', content: 'Hello!' }\n])"
|
|
26283
|
+
}
|
|
26284
|
+
]
|
|
26071
26285
|
}
|
|
26072
26286
|
},
|
|
26073
26287
|
"getters": {
|
|
26074
|
-
"
|
|
26075
|
-
"description": "
|
|
26076
|
-
"returns": "
|
|
26288
|
+
"defaultModel": {
|
|
26289
|
+
"description": "The default model used for completions, from options or 'gpt-4o'.",
|
|
26290
|
+
"returns": "string"
|
|
26077
26291
|
},
|
|
26078
|
-
"
|
|
26079
|
-
"description": "
|
|
26080
|
-
"returns": "
|
|
26292
|
+
"raw": {
|
|
26293
|
+
"description": "The underlying OpenAI SDK instance for advanced use cases.",
|
|
26294
|
+
"returns": "OpenAI"
|
|
26295
|
+
}
|
|
26296
|
+
},
|
|
26297
|
+
"events": {
|
|
26298
|
+
"connected": {
|
|
26299
|
+
"name": "connected",
|
|
26300
|
+
"description": "Event emitted by OpenAIClient",
|
|
26301
|
+
"arguments": {}
|
|
26081
26302
|
},
|
|
26082
|
-
"
|
|
26083
|
-
"
|
|
26084
|
-
"
|
|
26303
|
+
"failure": {
|
|
26304
|
+
"name": "failure",
|
|
26305
|
+
"description": "Event emitted by OpenAIClient",
|
|
26306
|
+
"arguments": {}
|
|
26307
|
+
},
|
|
26308
|
+
"completion": {
|
|
26309
|
+
"name": "completion",
|
|
26310
|
+
"description": "Event emitted by OpenAIClient",
|
|
26311
|
+
"arguments": {}
|
|
26312
|
+
},
|
|
26313
|
+
"embedding": {
|
|
26314
|
+
"name": "embedding",
|
|
26315
|
+
"description": "Event emitted by OpenAIClient",
|
|
26316
|
+
"arguments": {}
|
|
26317
|
+
},
|
|
26318
|
+
"image": {
|
|
26319
|
+
"name": "image",
|
|
26320
|
+
"description": "Event emitted by OpenAIClient",
|
|
26321
|
+
"arguments": {}
|
|
26322
|
+
},
|
|
26323
|
+
"models": {
|
|
26324
|
+
"name": "models",
|
|
26325
|
+
"description": "Event emitted by OpenAIClient",
|
|
26326
|
+
"arguments": {}
|
|
26085
26327
|
}
|
|
26086
26328
|
},
|
|
26087
|
-
"events": {},
|
|
26088
26329
|
"state": {},
|
|
26089
26330
|
"options": {},
|
|
26090
26331
|
"envVars": [],
|
|
26091
26332
|
"examples": [
|
|
26092
26333
|
{
|
|
26093
26334
|
"language": "ts",
|
|
26094
|
-
"code": "const
|
|
26335
|
+
"code": "const openai = container.client('openai', { defaultModel: 'gpt-4o' })\nconst answer = await openai.ask('What is the meaning of life?')\nconsole.log(answer)"
|
|
26095
26336
|
}
|
|
26096
26337
|
]
|
|
26097
26338
|
},
|
|
26098
26339
|
{
|
|
26099
|
-
"id": "clients.
|
|
26100
|
-
"description": "
|
|
26101
|
-
"shortcut": "clients.
|
|
26102
|
-
"className": "
|
|
26340
|
+
"id": "clients.voicebox",
|
|
26341
|
+
"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).",
|
|
26342
|
+
"shortcut": "clients.voicebox",
|
|
26343
|
+
"className": "VoiceBoxClient",
|
|
26103
26344
|
"methods": {
|
|
26104
|
-
"
|
|
26105
|
-
"description": "
|
|
26345
|
+
"connect": {
|
|
26346
|
+
"description": "Validate the VoiceBox server is reachable by hitting the health endpoint.",
|
|
26106
26347
|
"parameters": {},
|
|
26107
26348
|
"required": [],
|
|
26108
|
-
"returns": "
|
|
26349
|
+
"returns": "Promise<this>"
|
|
26109
26350
|
},
|
|
26110
|
-
"
|
|
26111
|
-
"description": "
|
|
26351
|
+
"listProfiles": {
|
|
26352
|
+
"description": "List all voice profiles.",
|
|
26112
26353
|
"parameters": {},
|
|
26113
26354
|
"required": [],
|
|
26114
|
-
"returns": "Promise<
|
|
26355
|
+
"returns": "Promise<any[]>",
|
|
26115
26356
|
"examples": [
|
|
26116
26357
|
{
|
|
26117
26358
|
"language": "ts",
|
|
26118
|
-
"code": "await
|
|
26359
|
+
"code": "const profiles = await vb.listProfiles()\nconsole.log(profiles.map(p => `${p.name} (${p.sample_count} samples)`))"
|
|
26119
26360
|
}
|
|
26120
26361
|
]
|
|
26121
26362
|
},
|
|
26122
|
-
"
|
|
26123
|
-
"description": "
|
|
26363
|
+
"getProfile": {
|
|
26364
|
+
"description": "Get a single voice profile by ID.",
|
|
26124
26365
|
"parameters": {
|
|
26125
|
-
"
|
|
26126
|
-
"type": "
|
|
26127
|
-
"description": "
|
|
26366
|
+
"profileId": {
|
|
26367
|
+
"type": "string",
|
|
26368
|
+
"description": "Parameter profileId"
|
|
26128
26369
|
}
|
|
26129
26370
|
},
|
|
26130
|
-
"required": [
|
|
26131
|
-
|
|
26132
|
-
|
|
26133
|
-
|
|
26134
|
-
"language": "ts",
|
|
26135
|
-
"code": "const voices = await el.listVoices()\nconst premade = await el.listVoices({ category: 'premade' })"
|
|
26136
|
-
}
|
|
26137
|
-
]
|
|
26371
|
+
"required": [
|
|
26372
|
+
"profileId"
|
|
26373
|
+
],
|
|
26374
|
+
"returns": "Promise<any>"
|
|
26138
26375
|
},
|
|
26139
|
-
"
|
|
26140
|
-
"description": "
|
|
26376
|
+
"createProfile": {
|
|
26377
|
+
"description": "Create a new voice profile.",
|
|
26141
26378
|
"parameters": {
|
|
26142
|
-
"
|
|
26379
|
+
"name": {
|
|
26143
26380
|
"type": "string",
|
|
26144
|
-
"description": "
|
|
26381
|
+
"description": "Parameter name"
|
|
26382
|
+
},
|
|
26383
|
+
"options": {
|
|
26384
|
+
"type": "{ description?: string; language?: string }",
|
|
26385
|
+
"description": "Parameter options"
|
|
26145
26386
|
}
|
|
26146
26387
|
},
|
|
26147
26388
|
"required": [
|
|
26148
|
-
"
|
|
26389
|
+
"name"
|
|
26149
26390
|
],
|
|
26150
|
-
"returns": "Promise<any>"
|
|
26151
|
-
"examples": [
|
|
26152
|
-
{
|
|
26153
|
-
"language": "ts",
|
|
26154
|
-
"code": "const voice = await el.getVoice('21m00Tcm4TlvDq8ikWAM')\nconsole.log(voice.name, voice.settings)"
|
|
26155
|
-
}
|
|
26156
|
-
]
|
|
26391
|
+
"returns": "Promise<any>"
|
|
26157
26392
|
},
|
|
26158
|
-
"
|
|
26159
|
-
"description": "List available
|
|
26393
|
+
"listEffects": {
|
|
26394
|
+
"description": "List available audio effects and their parameter definitions.",
|
|
26160
26395
|
"parameters": {},
|
|
26161
26396
|
"required": [],
|
|
26162
|
-
"returns": "Promise<any
|
|
26163
|
-
"examples": [
|
|
26164
|
-
{
|
|
26165
|
-
"language": "ts",
|
|
26166
|
-
"code": "const models = await el.listModels()\nconsole.log(models.map(m => m.model_id))"
|
|
26167
|
-
}
|
|
26168
|
-
]
|
|
26397
|
+
"returns": "Promise<any>"
|
|
26169
26398
|
},
|
|
26170
26399
|
"synthesize": {
|
|
26171
|
-
"description": "Synthesize speech from text
|
|
26400
|
+
"description": "Synthesize speech from text using the streaming endpoint. Returns audio as a WAV Buffer (synchronous — blocks until audio is ready).",
|
|
26172
26401
|
"parameters": {
|
|
26173
26402
|
"text": {
|
|
26174
26403
|
"type": "string",
|
|
@@ -26176,22 +26405,46 @@ export const introspectionData = [
|
|
|
26176
26405
|
},
|
|
26177
26406
|
"options": {
|
|
26178
26407
|
"type": "SynthesizeOptions",
|
|
26179
|
-
"description": "
|
|
26408
|
+
"description": "Profile, engine, model, and other synthesis options",
|
|
26180
26409
|
"properties": {
|
|
26181
|
-
"
|
|
26410
|
+
"profileId": {
|
|
26182
26411
|
"type": "string",
|
|
26183
26412
|
"description": ""
|
|
26184
26413
|
},
|
|
26185
|
-
"
|
|
26414
|
+
"engine": {
|
|
26186
26415
|
"type": "string",
|
|
26187
26416
|
"description": ""
|
|
26188
26417
|
},
|
|
26189
|
-
"
|
|
26418
|
+
"modelSize": {
|
|
26190
26419
|
"type": "string",
|
|
26191
26420
|
"description": ""
|
|
26192
26421
|
},
|
|
26193
|
-
"
|
|
26194
|
-
"type": "
|
|
26422
|
+
"language": {
|
|
26423
|
+
"type": "string",
|
|
26424
|
+
"description": ""
|
|
26425
|
+
},
|
|
26426
|
+
"instruct": {
|
|
26427
|
+
"type": "string",
|
|
26428
|
+
"description": ""
|
|
26429
|
+
},
|
|
26430
|
+
"seed": {
|
|
26431
|
+
"type": "number",
|
|
26432
|
+
"description": ""
|
|
26433
|
+
},
|
|
26434
|
+
"maxChunkChars": {
|
|
26435
|
+
"type": "number",
|
|
26436
|
+
"description": ""
|
|
26437
|
+
},
|
|
26438
|
+
"crossfadeMs": {
|
|
26439
|
+
"type": "number",
|
|
26440
|
+
"description": ""
|
|
26441
|
+
},
|
|
26442
|
+
"normalize": {
|
|
26443
|
+
"type": "boolean",
|
|
26444
|
+
"description": ""
|
|
26445
|
+
},
|
|
26446
|
+
"effectsChain": {
|
|
26447
|
+
"type": "EffectConfig[]",
|
|
26195
26448
|
"description": ""
|
|
26196
26449
|
},
|
|
26197
26450
|
"disableCache": {
|
|
@@ -26208,39 +26461,139 @@ export const introspectionData = [
|
|
|
26208
26461
|
"examples": [
|
|
26209
26462
|
{
|
|
26210
26463
|
"language": "ts",
|
|
26211
|
-
"code": "const audio = await
|
|
26464
|
+
"code": "const audio = await vb.synthesize('Hello world', { profileId: 'abc-123' })\n// audio is a Buffer of WAV data"
|
|
26212
26465
|
}
|
|
26213
26466
|
]
|
|
26214
26467
|
},
|
|
26468
|
+
"generate": {
|
|
26469
|
+
"description": "Generate speech asynchronously (returns metadata, not audio). Use getAudio() to fetch the audio after generation completes.",
|
|
26470
|
+
"parameters": {
|
|
26471
|
+
"text": {
|
|
26472
|
+
"type": "string",
|
|
26473
|
+
"description": "Parameter text"
|
|
26474
|
+
},
|
|
26475
|
+
"options": {
|
|
26476
|
+
"type": "SynthesizeOptions",
|
|
26477
|
+
"description": "Parameter options",
|
|
26478
|
+
"properties": {
|
|
26479
|
+
"profileId": {
|
|
26480
|
+
"type": "string",
|
|
26481
|
+
"description": ""
|
|
26482
|
+
},
|
|
26483
|
+
"engine": {
|
|
26484
|
+
"type": "string",
|
|
26485
|
+
"description": ""
|
|
26486
|
+
},
|
|
26487
|
+
"modelSize": {
|
|
26488
|
+
"type": "string",
|
|
26489
|
+
"description": ""
|
|
26490
|
+
},
|
|
26491
|
+
"language": {
|
|
26492
|
+
"type": "string",
|
|
26493
|
+
"description": ""
|
|
26494
|
+
},
|
|
26495
|
+
"instruct": {
|
|
26496
|
+
"type": "string",
|
|
26497
|
+
"description": ""
|
|
26498
|
+
},
|
|
26499
|
+
"seed": {
|
|
26500
|
+
"type": "number",
|
|
26501
|
+
"description": ""
|
|
26502
|
+
},
|
|
26503
|
+
"maxChunkChars": {
|
|
26504
|
+
"type": "number",
|
|
26505
|
+
"description": ""
|
|
26506
|
+
},
|
|
26507
|
+
"crossfadeMs": {
|
|
26508
|
+
"type": "number",
|
|
26509
|
+
"description": ""
|
|
26510
|
+
},
|
|
26511
|
+
"normalize": {
|
|
26512
|
+
"type": "boolean",
|
|
26513
|
+
"description": ""
|
|
26514
|
+
},
|
|
26515
|
+
"effectsChain": {
|
|
26516
|
+
"type": "EffectConfig[]",
|
|
26517
|
+
"description": ""
|
|
26518
|
+
},
|
|
26519
|
+
"disableCache": {
|
|
26520
|
+
"type": "boolean",
|
|
26521
|
+
"description": ""
|
|
26522
|
+
}
|
|
26523
|
+
}
|
|
26524
|
+
}
|
|
26525
|
+
},
|
|
26526
|
+
"required": [
|
|
26527
|
+
"text"
|
|
26528
|
+
],
|
|
26529
|
+
"returns": "Promise<any>"
|
|
26530
|
+
},
|
|
26531
|
+
"getAudio": {
|
|
26532
|
+
"description": "Fetch generated audio by generation ID. Returns WAV Buffer.",
|
|
26533
|
+
"parameters": {
|
|
26534
|
+
"generationId": {
|
|
26535
|
+
"type": "string",
|
|
26536
|
+
"description": "Parameter generationId"
|
|
26537
|
+
}
|
|
26538
|
+
},
|
|
26539
|
+
"required": [
|
|
26540
|
+
"generationId"
|
|
26541
|
+
],
|
|
26542
|
+
"returns": "Promise<Buffer>"
|
|
26543
|
+
},
|
|
26215
26544
|
"say": {
|
|
26216
|
-
"description": "Synthesize
|
|
26545
|
+
"description": "Synthesize and write audio to a file.",
|
|
26217
26546
|
"parameters": {
|
|
26218
26547
|
"text": {
|
|
26219
26548
|
"type": "string",
|
|
26220
|
-
"description": "
|
|
26549
|
+
"description": "Parameter text"
|
|
26221
26550
|
},
|
|
26222
26551
|
"outputPath": {
|
|
26223
26552
|
"type": "string",
|
|
26224
|
-
"description": "
|
|
26553
|
+
"description": "Parameter outputPath"
|
|
26225
26554
|
},
|
|
26226
26555
|
"options": {
|
|
26227
26556
|
"type": "SynthesizeOptions",
|
|
26228
|
-
"description": "
|
|
26557
|
+
"description": "Parameter options",
|
|
26229
26558
|
"properties": {
|
|
26230
|
-
"
|
|
26559
|
+
"profileId": {
|
|
26231
26560
|
"type": "string",
|
|
26232
26561
|
"description": ""
|
|
26233
26562
|
},
|
|
26234
|
-
"
|
|
26563
|
+
"engine": {
|
|
26235
26564
|
"type": "string",
|
|
26236
26565
|
"description": ""
|
|
26237
26566
|
},
|
|
26238
|
-
"
|
|
26567
|
+
"modelSize": {
|
|
26239
26568
|
"type": "string",
|
|
26240
26569
|
"description": ""
|
|
26241
26570
|
},
|
|
26242
|
-
"
|
|
26243
|
-
"type": "
|
|
26571
|
+
"language": {
|
|
26572
|
+
"type": "string",
|
|
26573
|
+
"description": ""
|
|
26574
|
+
},
|
|
26575
|
+
"instruct": {
|
|
26576
|
+
"type": "string",
|
|
26577
|
+
"description": ""
|
|
26578
|
+
},
|
|
26579
|
+
"seed": {
|
|
26580
|
+
"type": "number",
|
|
26581
|
+
"description": ""
|
|
26582
|
+
},
|
|
26583
|
+
"maxChunkChars": {
|
|
26584
|
+
"type": "number",
|
|
26585
|
+
"description": ""
|
|
26586
|
+
},
|
|
26587
|
+
"crossfadeMs": {
|
|
26588
|
+
"type": "number",
|
|
26589
|
+
"description": ""
|
|
26590
|
+
},
|
|
26591
|
+
"normalize": {
|
|
26592
|
+
"type": "boolean",
|
|
26593
|
+
"description": ""
|
|
26594
|
+
},
|
|
26595
|
+
"effectsChain": {
|
|
26596
|
+
"type": "EffectConfig[]",
|
|
26244
26597
|
"description": ""
|
|
26245
26598
|
},
|
|
26246
26599
|
"disableCache": {
|
|
@@ -26254,35 +26607,24 @@ export const introspectionData = [
|
|
|
26254
26607
|
"text",
|
|
26255
26608
|
"outputPath"
|
|
26256
26609
|
],
|
|
26257
|
-
"returns": "Promise<string>"
|
|
26258
|
-
"examples": [
|
|
26259
|
-
{
|
|
26260
|
-
"language": "ts",
|
|
26261
|
-
"code": "const path = await el.say('Hello world', './hello.mp3')\nconsole.log(`Audio saved to ${path}`)"
|
|
26262
|
-
}
|
|
26263
|
-
]
|
|
26264
|
-
}
|
|
26265
|
-
},
|
|
26266
|
-
"getters": {
|
|
26267
|
-
"apiKey": {
|
|
26268
|
-
"description": "The resolved API key from options or environment.",
|
|
26269
|
-
"returns": "string"
|
|
26610
|
+
"returns": "Promise<string>"
|
|
26270
26611
|
}
|
|
26271
26612
|
},
|
|
26613
|
+
"getters": {},
|
|
26272
26614
|
"events": {
|
|
26273
26615
|
"failure": {
|
|
26274
26616
|
"name": "failure",
|
|
26275
|
-
"description": "Event emitted by
|
|
26617
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
26276
26618
|
"arguments": {}
|
|
26277
26619
|
},
|
|
26278
|
-
"
|
|
26279
|
-
"name": "
|
|
26280
|
-
"description": "Event emitted by
|
|
26620
|
+
"profiles": {
|
|
26621
|
+
"name": "profiles",
|
|
26622
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
26281
26623
|
"arguments": {}
|
|
26282
26624
|
},
|
|
26283
26625
|
"speech": {
|
|
26284
26626
|
"name": "speech",
|
|
26285
|
-
"description": "Event emitted by
|
|
26627
|
+
"description": "Event emitted by VoiceBoxClient",
|
|
26286
26628
|
"arguments": {}
|
|
26287
26629
|
}
|
|
26288
26630
|
},
|
|
@@ -26292,71 +26634,285 @@ export const introspectionData = [
|
|
|
26292
26634
|
"examples": [
|
|
26293
26635
|
{
|
|
26294
26636
|
"language": "ts",
|
|
26295
|
-
"code": "const
|
|
26637
|
+
"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"
|
|
26296
26638
|
}
|
|
26297
26639
|
],
|
|
26298
26640
|
"types": {
|
|
26299
26641
|
"SynthesizeOptions": {
|
|
26300
26642
|
"description": "",
|
|
26301
26643
|
"properties": {
|
|
26302
|
-
"
|
|
26644
|
+
"profileId": {
|
|
26303
26645
|
"type": "string",
|
|
26304
26646
|
"description": "",
|
|
26305
26647
|
"optional": true
|
|
26306
26648
|
},
|
|
26307
|
-
"
|
|
26649
|
+
"engine": {
|
|
26308
26650
|
"type": "string",
|
|
26309
26651
|
"description": "",
|
|
26310
26652
|
"optional": true
|
|
26311
26653
|
},
|
|
26312
|
-
"
|
|
26654
|
+
"modelSize": {
|
|
26313
26655
|
"type": "string",
|
|
26314
26656
|
"description": "",
|
|
26315
26657
|
"optional": true
|
|
26316
26658
|
},
|
|
26317
|
-
"
|
|
26318
|
-
"type": "
|
|
26659
|
+
"language": {
|
|
26660
|
+
"type": "string",
|
|
26319
26661
|
"description": "",
|
|
26320
26662
|
"optional": true
|
|
26321
26663
|
},
|
|
26322
|
-
"
|
|
26323
|
-
"type": "
|
|
26664
|
+
"instruct": {
|
|
26665
|
+
"type": "string",
|
|
26324
26666
|
"description": "",
|
|
26325
26667
|
"optional": true
|
|
26326
|
-
}
|
|
26327
|
-
|
|
26328
|
-
},
|
|
26329
|
-
"ElevenLabsVoiceSettings": {
|
|
26330
|
-
"description": "",
|
|
26331
|
-
"properties": {
|
|
26332
|
-
"stability": {
|
|
26668
|
+
},
|
|
26669
|
+
"seed": {
|
|
26333
26670
|
"type": "number",
|
|
26334
26671
|
"description": "",
|
|
26335
26672
|
"optional": true
|
|
26336
26673
|
},
|
|
26337
|
-
"
|
|
26674
|
+
"maxChunkChars": {
|
|
26338
26675
|
"type": "number",
|
|
26339
26676
|
"description": "",
|
|
26340
26677
|
"optional": true
|
|
26341
26678
|
},
|
|
26342
|
-
"
|
|
26679
|
+
"crossfadeMs": {
|
|
26343
26680
|
"type": "number",
|
|
26344
26681
|
"description": "",
|
|
26345
26682
|
"optional": true
|
|
26346
26683
|
},
|
|
26347
|
-
"
|
|
26348
|
-
"type": "
|
|
26684
|
+
"normalize": {
|
|
26685
|
+
"type": "boolean",
|
|
26349
26686
|
"description": "",
|
|
26350
26687
|
"optional": true
|
|
26351
26688
|
},
|
|
26352
|
-
"
|
|
26689
|
+
"effectsChain": {
|
|
26690
|
+
"type": "EffectConfig[]",
|
|
26691
|
+
"description": "",
|
|
26692
|
+
"optional": true
|
|
26693
|
+
},
|
|
26694
|
+
"disableCache": {
|
|
26695
|
+
"type": "boolean",
|
|
26696
|
+
"description": "",
|
|
26697
|
+
"optional": true
|
|
26698
|
+
}
|
|
26699
|
+
}
|
|
26700
|
+
},
|
|
26701
|
+
"EffectConfig": {
|
|
26702
|
+
"description": "",
|
|
26703
|
+
"properties": {
|
|
26704
|
+
"type": {
|
|
26705
|
+
"type": "string",
|
|
26706
|
+
"description": ""
|
|
26707
|
+
},
|
|
26708
|
+
"enabled": {
|
|
26353
26709
|
"type": "boolean",
|
|
26354
26710
|
"description": "",
|
|
26355
26711
|
"optional": true
|
|
26712
|
+
},
|
|
26713
|
+
"params": {
|
|
26714
|
+
"type": "Record<string, any>",
|
|
26715
|
+
"description": "",
|
|
26716
|
+
"optional": true
|
|
26356
26717
|
}
|
|
26357
26718
|
}
|
|
26358
26719
|
}
|
|
26359
|
-
}
|
|
26720
|
+
}
|
|
26721
|
+
},
|
|
26722
|
+
{
|
|
26723
|
+
"id": "clients.supabase",
|
|
26724
|
+
"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).",
|
|
26725
|
+
"shortcut": "clients.supabase",
|
|
26726
|
+
"className": "SupabaseClient",
|
|
26727
|
+
"methods": {
|
|
26728
|
+
"from": {
|
|
26729
|
+
"description": "Start a query on a Postgres table or view.",
|
|
26730
|
+
"parameters": {
|
|
26731
|
+
"table": {
|
|
26732
|
+
"type": "string",
|
|
26733
|
+
"description": "The table or view name to query"
|
|
26734
|
+
}
|
|
26735
|
+
},
|
|
26736
|
+
"required": [
|
|
26737
|
+
"table"
|
|
26738
|
+
],
|
|
26739
|
+
"returns": "void"
|
|
26740
|
+
},
|
|
26741
|
+
"rpc": {
|
|
26742
|
+
"description": "Call a Postgres function (RPC).",
|
|
26743
|
+
"parameters": {
|
|
26744
|
+
"fn": {
|
|
26745
|
+
"type": "string",
|
|
26746
|
+
"description": "The function name"
|
|
26747
|
+
},
|
|
26748
|
+
"params": {
|
|
26749
|
+
"type": "Record<string, unknown>",
|
|
26750
|
+
"description": "Arguments to pass to the function"
|
|
26751
|
+
},
|
|
26752
|
+
"options": {
|
|
26753
|
+
"type": "{ head?: boolean; get?: boolean; count?: \"exact\" | \"planned\" | \"estimated\" }",
|
|
26754
|
+
"description": "Optional settings (head, get, count)"
|
|
26755
|
+
}
|
|
26756
|
+
},
|
|
26757
|
+
"required": [
|
|
26758
|
+
"fn"
|
|
26759
|
+
],
|
|
26760
|
+
"returns": "void"
|
|
26761
|
+
},
|
|
26762
|
+
"signInWithPassword": {
|
|
26763
|
+
"description": "Sign in with email and password.",
|
|
26764
|
+
"parameters": {
|
|
26765
|
+
"email": {
|
|
26766
|
+
"type": "string",
|
|
26767
|
+
"description": "Parameter email"
|
|
26768
|
+
},
|
|
26769
|
+
"password": {
|
|
26770
|
+
"type": "string",
|
|
26771
|
+
"description": "Parameter password"
|
|
26772
|
+
}
|
|
26773
|
+
},
|
|
26774
|
+
"required": [
|
|
26775
|
+
"email",
|
|
26776
|
+
"password"
|
|
26777
|
+
],
|
|
26778
|
+
"returns": "void"
|
|
26779
|
+
},
|
|
26780
|
+
"signUp": {
|
|
26781
|
+
"description": "Create a new user account with email and password.",
|
|
26782
|
+
"parameters": {
|
|
26783
|
+
"email": {
|
|
26784
|
+
"type": "string",
|
|
26785
|
+
"description": "Parameter email"
|
|
26786
|
+
},
|
|
26787
|
+
"password": {
|
|
26788
|
+
"type": "string",
|
|
26789
|
+
"description": "Parameter password"
|
|
26790
|
+
}
|
|
26791
|
+
},
|
|
26792
|
+
"required": [
|
|
26793
|
+
"email",
|
|
26794
|
+
"password"
|
|
26795
|
+
],
|
|
26796
|
+
"returns": "void"
|
|
26797
|
+
},
|
|
26798
|
+
"signOut": {
|
|
26799
|
+
"description": "Sign the current user out.",
|
|
26800
|
+
"parameters": {},
|
|
26801
|
+
"required": [],
|
|
26802
|
+
"returns": "void"
|
|
26803
|
+
},
|
|
26804
|
+
"getSession": {
|
|
26805
|
+
"description": "Get the current session, if any.",
|
|
26806
|
+
"parameters": {},
|
|
26807
|
+
"required": [],
|
|
26808
|
+
"returns": "void"
|
|
26809
|
+
},
|
|
26810
|
+
"getUser": {
|
|
26811
|
+
"description": "Get the current user, if any.",
|
|
26812
|
+
"parameters": {},
|
|
26813
|
+
"required": [],
|
|
26814
|
+
"returns": "void"
|
|
26815
|
+
},
|
|
26816
|
+
"invoke": {
|
|
26817
|
+
"description": "Invoke a Supabase Edge Function by name.",
|
|
26818
|
+
"parameters": {
|
|
26819
|
+
"name": {
|
|
26820
|
+
"type": "string",
|
|
26821
|
+
"description": "Parameter name"
|
|
26822
|
+
},
|
|
26823
|
+
"body": {
|
|
26824
|
+
"type": "any",
|
|
26825
|
+
"description": "Parameter body"
|
|
26826
|
+
}
|
|
26827
|
+
},
|
|
26828
|
+
"required": [
|
|
26829
|
+
"name"
|
|
26830
|
+
],
|
|
26831
|
+
"returns": "void"
|
|
26832
|
+
},
|
|
26833
|
+
"subscribe": {
|
|
26834
|
+
"description": "Subscribe to realtime changes on a Postgres table.",
|
|
26835
|
+
"parameters": {
|
|
26836
|
+
"channelName": {
|
|
26837
|
+
"type": "string",
|
|
26838
|
+
"description": "A name for this subscription channel"
|
|
26839
|
+
},
|
|
26840
|
+
"table": {
|
|
26841
|
+
"type": "string",
|
|
26842
|
+
"description": "The table to listen to"
|
|
26843
|
+
},
|
|
26844
|
+
"callback": {
|
|
26845
|
+
"type": "(payload: any) => void",
|
|
26846
|
+
"description": "Called with the payload on each change"
|
|
26847
|
+
},
|
|
26848
|
+
"event": {
|
|
26849
|
+
"type": "\"INSERT\" | \"UPDATE\" | \"DELETE\" | \"*\"",
|
|
26850
|
+
"description": "The event type to listen for (default: all changes)"
|
|
26851
|
+
}
|
|
26852
|
+
},
|
|
26853
|
+
"required": [
|
|
26854
|
+
"channelName",
|
|
26855
|
+
"table",
|
|
26856
|
+
"callback"
|
|
26857
|
+
],
|
|
26858
|
+
"returns": "RealtimeChannel"
|
|
26859
|
+
},
|
|
26860
|
+
"unsubscribe": {
|
|
26861
|
+
"description": "Unsubscribe and remove a realtime channel by name.",
|
|
26862
|
+
"parameters": {
|
|
26863
|
+
"channelName": {
|
|
26864
|
+
"type": "string",
|
|
26865
|
+
"description": "The channel name to remove"
|
|
26866
|
+
}
|
|
26867
|
+
},
|
|
26868
|
+
"required": [
|
|
26869
|
+
"channelName"
|
|
26870
|
+
],
|
|
26871
|
+
"returns": "void"
|
|
26872
|
+
},
|
|
26873
|
+
"unsubscribeAll": {
|
|
26874
|
+
"description": "Unsubscribe and remove all realtime channels.",
|
|
26875
|
+
"parameters": {},
|
|
26876
|
+
"required": [],
|
|
26877
|
+
"returns": "void"
|
|
26878
|
+
},
|
|
26879
|
+
"connect": {
|
|
26880
|
+
"description": "Connect is a no-op since the Supabase SDK initializes on construction. The client is ready to use immediately after creation.",
|
|
26881
|
+
"parameters": {},
|
|
26882
|
+
"required": [],
|
|
26883
|
+
"returns": "void"
|
|
26884
|
+
},
|
|
26885
|
+
"disconnect": {
|
|
26886
|
+
"description": "Disconnect by signing out and removing all realtime channels.",
|
|
26887
|
+
"parameters": {},
|
|
26888
|
+
"required": [],
|
|
26889
|
+
"returns": "void"
|
|
26890
|
+
}
|
|
26891
|
+
},
|
|
26892
|
+
"getters": {
|
|
26893
|
+
"sdk": {
|
|
26894
|
+
"description": "Returns the raw Supabase SDK client for full access to all SDK methods.",
|
|
26895
|
+
"returns": "SupabaseSDKClient<any, any>"
|
|
26896
|
+
},
|
|
26897
|
+
"storage": {
|
|
26898
|
+
"description": "Returns the Supabase Storage client for managing buckets and files.",
|
|
26899
|
+
"returns": "any"
|
|
26900
|
+
},
|
|
26901
|
+
"functions": {
|
|
26902
|
+
"description": "Returns the Supabase Functions client.",
|
|
26903
|
+
"returns": "any"
|
|
26904
|
+
}
|
|
26905
|
+
},
|
|
26906
|
+
"events": {},
|
|
26907
|
+
"state": {},
|
|
26908
|
+
"options": {},
|
|
26909
|
+
"envVars": [],
|
|
26910
|
+
"examples": [
|
|
26911
|
+
{
|
|
26912
|
+
"language": "ts",
|
|
26913
|
+
"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})"
|
|
26914
|
+
}
|
|
26915
|
+
]
|
|
26360
26916
|
},
|
|
26361
26917
|
{
|
|
26362
26918
|
"id": "clients.comfyui",
|
|
@@ -26469,133 +27025,379 @@ export const introspectionData = [
|
|
|
26469
27025
|
"viewImage": {
|
|
26470
27026
|
"description": "Download a generated image from ComfyUI as a Buffer.",
|
|
26471
27027
|
"parameters": {
|
|
26472
|
-
"filename": {
|
|
27028
|
+
"filename": {
|
|
27029
|
+
"type": "string",
|
|
27030
|
+
"description": "The image filename"
|
|
27031
|
+
},
|
|
27032
|
+
"subfolder": {
|
|
27033
|
+
"type": "any",
|
|
27034
|
+
"description": "Subfolder within the output directory"
|
|
27035
|
+
},
|
|
27036
|
+
"type": {
|
|
27037
|
+
"type": "any",
|
|
27038
|
+
"description": "Image type ('output', 'input', 'temp')"
|
|
27039
|
+
}
|
|
27040
|
+
},
|
|
27041
|
+
"required": [
|
|
27042
|
+
"filename"
|
|
27043
|
+
],
|
|
27044
|
+
"returns": "Promise<Buffer>"
|
|
27045
|
+
},
|
|
27046
|
+
"connectWs": {
|
|
27047
|
+
"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`.",
|
|
27048
|
+
"parameters": {},
|
|
27049
|
+
"required": [],
|
|
27050
|
+
"returns": "Promise<void>"
|
|
27051
|
+
},
|
|
27052
|
+
"disconnectWs": {
|
|
27053
|
+
"description": "Close the WebSocket connection.",
|
|
27054
|
+
"parameters": {},
|
|
27055
|
+
"required": [],
|
|
27056
|
+
"returns": "void"
|
|
27057
|
+
},
|
|
27058
|
+
"toApiFormat": {
|
|
27059
|
+
"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.",
|
|
27060
|
+
"parameters": {
|
|
27061
|
+
"workflow": {
|
|
27062
|
+
"type": "Record<string, any>",
|
|
27063
|
+
"description": "Parameter workflow"
|
|
27064
|
+
}
|
|
27065
|
+
},
|
|
27066
|
+
"required": [
|
|
27067
|
+
"workflow"
|
|
27068
|
+
],
|
|
27069
|
+
"returns": "Promise<Record<string, any>>"
|
|
27070
|
+
},
|
|
27071
|
+
"runWorkflow": {
|
|
27072
|
+
"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' } } ```",
|
|
27073
|
+
"parameters": {
|
|
27074
|
+
"workflow": {
|
|
27075
|
+
"type": "Record<string, any>",
|
|
27076
|
+
"description": "Parameter workflow"
|
|
27077
|
+
},
|
|
27078
|
+
"inputs": {
|
|
27079
|
+
"type": "Record<string, any>",
|
|
27080
|
+
"description": "Parameter inputs"
|
|
27081
|
+
},
|
|
27082
|
+
"options": {
|
|
27083
|
+
"type": "WorkflowRunOptions",
|
|
27084
|
+
"description": "Parameter options",
|
|
27085
|
+
"properties": {
|
|
27086
|
+
"poll": {
|
|
27087
|
+
"type": "boolean",
|
|
27088
|
+
"description": "Use polling instead of WebSocket for tracking execution"
|
|
27089
|
+
},
|
|
27090
|
+
"pollInterval": {
|
|
27091
|
+
"type": "number",
|
|
27092
|
+
"description": "Polling interval in ms (default 1000)"
|
|
27093
|
+
},
|
|
27094
|
+
"inputMap": {
|
|
27095
|
+
"type": "InputMapping",
|
|
27096
|
+
"description": "Named input mapping: semantic name -> { nodeId, field }"
|
|
27097
|
+
},
|
|
27098
|
+
"outputDir": {
|
|
27099
|
+
"type": "string",
|
|
27100
|
+
"description": "If provided, output images are downloaded to this directory"
|
|
27101
|
+
}
|
|
27102
|
+
}
|
|
27103
|
+
}
|
|
27104
|
+
},
|
|
27105
|
+
"required": [
|
|
27106
|
+
"workflow"
|
|
27107
|
+
],
|
|
27108
|
+
"returns": "Promise<WorkflowResult>"
|
|
27109
|
+
}
|
|
27110
|
+
},
|
|
27111
|
+
"getters": {
|
|
27112
|
+
"clientId": {
|
|
27113
|
+
"description": "The unique client ID used for WebSocket session tracking.",
|
|
27114
|
+
"returns": "string"
|
|
27115
|
+
},
|
|
27116
|
+
"wsURL": {
|
|
27117
|
+
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
27118
|
+
"returns": "string"
|
|
27119
|
+
}
|
|
27120
|
+
},
|
|
27121
|
+
"events": {
|
|
27122
|
+
"execution_start": {
|
|
27123
|
+
"name": "execution_start",
|
|
27124
|
+
"description": "Event emitted by ComfyUIClient",
|
|
27125
|
+
"arguments": {}
|
|
27126
|
+
},
|
|
27127
|
+
"execution_complete": {
|
|
27128
|
+
"name": "execution_complete",
|
|
27129
|
+
"description": "Event emitted by ComfyUIClient",
|
|
27130
|
+
"arguments": {}
|
|
27131
|
+
},
|
|
27132
|
+
"executing": {
|
|
27133
|
+
"name": "executing",
|
|
27134
|
+
"description": "Event emitted by ComfyUIClient",
|
|
27135
|
+
"arguments": {}
|
|
27136
|
+
},
|
|
27137
|
+
"progress": {
|
|
27138
|
+
"name": "progress",
|
|
27139
|
+
"description": "Event emitted by ComfyUIClient",
|
|
27140
|
+
"arguments": {}
|
|
27141
|
+
},
|
|
27142
|
+
"executed": {
|
|
27143
|
+
"name": "executed",
|
|
27144
|
+
"description": "Event emitted by ComfyUIClient",
|
|
27145
|
+
"arguments": {}
|
|
27146
|
+
},
|
|
27147
|
+
"execution_cached": {
|
|
27148
|
+
"name": "execution_cached",
|
|
27149
|
+
"description": "Event emitted by ComfyUIClient",
|
|
27150
|
+
"arguments": {}
|
|
27151
|
+
},
|
|
27152
|
+
"execution_error": {
|
|
27153
|
+
"name": "execution_error",
|
|
27154
|
+
"description": "Event emitted by ComfyUIClient",
|
|
27155
|
+
"arguments": {}
|
|
27156
|
+
}
|
|
27157
|
+
},
|
|
27158
|
+
"state": {},
|
|
27159
|
+
"options": {},
|
|
27160
|
+
"envVars": [],
|
|
27161
|
+
"examples": [
|
|
27162
|
+
{
|
|
27163
|
+
"language": "ts",
|
|
27164
|
+
"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)"
|
|
27165
|
+
}
|
|
27166
|
+
],
|
|
27167
|
+
"types": {
|
|
27168
|
+
"WorkflowRunOptions": {
|
|
27169
|
+
"description": "",
|
|
27170
|
+
"properties": {
|
|
27171
|
+
"poll": {
|
|
27172
|
+
"type": "boolean",
|
|
27173
|
+
"description": "Use polling instead of WebSocket for tracking execution",
|
|
27174
|
+
"optional": true
|
|
27175
|
+
},
|
|
27176
|
+
"pollInterval": {
|
|
27177
|
+
"type": "number",
|
|
27178
|
+
"description": "Polling interval in ms (default 1000)",
|
|
27179
|
+
"optional": true
|
|
27180
|
+
},
|
|
27181
|
+
"inputMap": {
|
|
27182
|
+
"type": "InputMapping",
|
|
27183
|
+
"description": "Named input mapping: semantic name -> { nodeId, field }",
|
|
27184
|
+
"optional": true
|
|
27185
|
+
},
|
|
27186
|
+
"outputDir": {
|
|
27187
|
+
"type": "string",
|
|
27188
|
+
"description": "If provided, output images are downloaded to this directory",
|
|
27189
|
+
"optional": true
|
|
27190
|
+
}
|
|
27191
|
+
}
|
|
27192
|
+
},
|
|
27193
|
+
"WorkflowResult": {
|
|
27194
|
+
"description": "",
|
|
27195
|
+
"properties": {
|
|
27196
|
+
"promptId": {
|
|
27197
|
+
"type": "string",
|
|
27198
|
+
"description": ""
|
|
27199
|
+
},
|
|
27200
|
+
"outputs": {
|
|
27201
|
+
"type": "Record<string, any>",
|
|
27202
|
+
"description": ""
|
|
27203
|
+
},
|
|
27204
|
+
"images": {
|
|
27205
|
+
"type": "Array<{ filename: string; subfolder: string; type: string; localPath?: string }>",
|
|
27206
|
+
"description": "",
|
|
27207
|
+
"optional": true
|
|
27208
|
+
}
|
|
27209
|
+
}
|
|
27210
|
+
}
|
|
27211
|
+
}
|
|
27212
|
+
},
|
|
27213
|
+
{
|
|
27214
|
+
"id": "clients.elevenlabs",
|
|
27215
|
+
"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.",
|
|
27216
|
+
"shortcut": "clients.elevenlabs",
|
|
27217
|
+
"className": "ElevenLabsClient",
|
|
27218
|
+
"methods": {
|
|
27219
|
+
"beforeRequest": {
|
|
27220
|
+
"description": "Inject the xi-api-key header before each request.",
|
|
27221
|
+
"parameters": {},
|
|
27222
|
+
"required": [],
|
|
27223
|
+
"returns": "void"
|
|
27224
|
+
},
|
|
27225
|
+
"connect": {
|
|
27226
|
+
"description": "Validate the API key by listing available models.",
|
|
27227
|
+
"parameters": {},
|
|
27228
|
+
"required": [],
|
|
27229
|
+
"returns": "Promise<this>",
|
|
27230
|
+
"examples": [
|
|
27231
|
+
{
|
|
27232
|
+
"language": "ts",
|
|
27233
|
+
"code": "await el.connect()"
|
|
27234
|
+
}
|
|
27235
|
+
]
|
|
27236
|
+
},
|
|
27237
|
+
"listVoices": {
|
|
27238
|
+
"description": "List available voices with optional search and filtering.",
|
|
27239
|
+
"parameters": {
|
|
27240
|
+
"options": {
|
|
27241
|
+
"type": "{\n search?: string\n category?: string\n voice_type?: string\n page_size?: number\n next_page_token?: string\n }",
|
|
27242
|
+
"description": "Query parameters for filtering voices"
|
|
27243
|
+
}
|
|
27244
|
+
},
|
|
27245
|
+
"required": [],
|
|
27246
|
+
"returns": "Promise<any>",
|
|
27247
|
+
"examples": [
|
|
27248
|
+
{
|
|
27249
|
+
"language": "ts",
|
|
27250
|
+
"code": "const voices = await el.listVoices()\nconst premade = await el.listVoices({ category: 'premade' })"
|
|
27251
|
+
}
|
|
27252
|
+
]
|
|
27253
|
+
},
|
|
27254
|
+
"getVoice": {
|
|
27255
|
+
"description": "Get details for a single voice.",
|
|
27256
|
+
"parameters": {
|
|
27257
|
+
"voiceId": {
|
|
26473
27258
|
"type": "string",
|
|
26474
|
-
"description": "The
|
|
26475
|
-
},
|
|
26476
|
-
"subfolder": {
|
|
26477
|
-
"type": "any",
|
|
26478
|
-
"description": "Subfolder within the output directory"
|
|
26479
|
-
},
|
|
26480
|
-
"type": {
|
|
26481
|
-
"type": "any",
|
|
26482
|
-
"description": "Image type ('output', 'input', 'temp')"
|
|
27259
|
+
"description": "The voice ID to look up"
|
|
26483
27260
|
}
|
|
26484
27261
|
},
|
|
26485
27262
|
"required": [
|
|
26486
|
-
"
|
|
27263
|
+
"voiceId"
|
|
26487
27264
|
],
|
|
26488
|
-
"returns": "Promise<
|
|
26489
|
-
|
|
26490
|
-
|
|
26491
|
-
|
|
26492
|
-
|
|
26493
|
-
|
|
26494
|
-
|
|
27265
|
+
"returns": "Promise<any>",
|
|
27266
|
+
"examples": [
|
|
27267
|
+
{
|
|
27268
|
+
"language": "ts",
|
|
27269
|
+
"code": "const voice = await el.getVoice('21m00Tcm4TlvDq8ikWAM')\nconsole.log(voice.name, voice.settings)"
|
|
27270
|
+
}
|
|
27271
|
+
]
|
|
26495
27272
|
},
|
|
26496
|
-
"
|
|
26497
|
-
"description": "
|
|
27273
|
+
"listModels": {
|
|
27274
|
+
"description": "List available TTS models.",
|
|
26498
27275
|
"parameters": {},
|
|
26499
27276
|
"required": [],
|
|
26500
|
-
"returns": "
|
|
27277
|
+
"returns": "Promise<any[]>",
|
|
27278
|
+
"examples": [
|
|
27279
|
+
{
|
|
27280
|
+
"language": "ts",
|
|
27281
|
+
"code": "const models = await el.listModels()\nconsole.log(models.map(m => m.model_id))"
|
|
27282
|
+
}
|
|
27283
|
+
]
|
|
26501
27284
|
},
|
|
26502
|
-
"
|
|
26503
|
-
"description": "
|
|
27285
|
+
"synthesize": {
|
|
27286
|
+
"description": "Synthesize speech from text, returning audio as a Buffer.",
|
|
26504
27287
|
"parameters": {
|
|
26505
|
-
"
|
|
26506
|
-
"type": "
|
|
26507
|
-
"description": "
|
|
27288
|
+
"text": {
|
|
27289
|
+
"type": "string",
|
|
27290
|
+
"description": "The text to convert to speech"
|
|
27291
|
+
},
|
|
27292
|
+
"options": {
|
|
27293
|
+
"type": "SynthesizeOptions",
|
|
27294
|
+
"description": "Voice, model, format, and voice settings overrides",
|
|
27295
|
+
"properties": {
|
|
27296
|
+
"voiceId": {
|
|
27297
|
+
"type": "string",
|
|
27298
|
+
"description": ""
|
|
27299
|
+
},
|
|
27300
|
+
"modelId": {
|
|
27301
|
+
"type": "string",
|
|
27302
|
+
"description": ""
|
|
27303
|
+
},
|
|
27304
|
+
"outputFormat": {
|
|
27305
|
+
"type": "string",
|
|
27306
|
+
"description": ""
|
|
27307
|
+
},
|
|
27308
|
+
"voiceSettings": {
|
|
27309
|
+
"type": "ElevenLabsVoiceSettings",
|
|
27310
|
+
"description": ""
|
|
27311
|
+
},
|
|
27312
|
+
"disableCache": {
|
|
27313
|
+
"type": "boolean",
|
|
27314
|
+
"description": ""
|
|
27315
|
+
}
|
|
27316
|
+
}
|
|
26508
27317
|
}
|
|
26509
27318
|
},
|
|
26510
27319
|
"required": [
|
|
26511
|
-
"
|
|
27320
|
+
"text"
|
|
26512
27321
|
],
|
|
26513
|
-
"returns": "Promise<
|
|
27322
|
+
"returns": "Promise<Buffer>",
|
|
27323
|
+
"examples": [
|
|
27324
|
+
{
|
|
27325
|
+
"language": "ts",
|
|
27326
|
+
"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})"
|
|
27327
|
+
}
|
|
27328
|
+
]
|
|
26514
27329
|
},
|
|
26515
|
-
"
|
|
26516
|
-
"description": "
|
|
27330
|
+
"say": {
|
|
27331
|
+
"description": "Synthesize speech and write the audio to a file.",
|
|
26517
27332
|
"parameters": {
|
|
26518
|
-
"
|
|
26519
|
-
"type": "
|
|
26520
|
-
"description": "
|
|
27333
|
+
"text": {
|
|
27334
|
+
"type": "string",
|
|
27335
|
+
"description": "The text to convert to speech"
|
|
26521
27336
|
},
|
|
26522
|
-
"
|
|
26523
|
-
"type": "
|
|
26524
|
-
"description": "
|
|
27337
|
+
"outputPath": {
|
|
27338
|
+
"type": "string",
|
|
27339
|
+
"description": "File path to write the audio to"
|
|
26525
27340
|
},
|
|
26526
27341
|
"options": {
|
|
26527
|
-
"type": "
|
|
26528
|
-
"description": "
|
|
27342
|
+
"type": "SynthesizeOptions",
|
|
27343
|
+
"description": "Voice, model, format, and voice settings overrides",
|
|
26529
27344
|
"properties": {
|
|
26530
|
-
"
|
|
26531
|
-
"type": "
|
|
26532
|
-
"description": "
|
|
26533
|
-
},
|
|
26534
|
-
"pollInterval": {
|
|
26535
|
-
"type": "number",
|
|
26536
|
-
"description": "Polling interval in ms (default 1000)"
|
|
27345
|
+
"voiceId": {
|
|
27346
|
+
"type": "string",
|
|
27347
|
+
"description": ""
|
|
26537
27348
|
},
|
|
26538
|
-
"
|
|
26539
|
-
"type": "
|
|
26540
|
-
"description": "
|
|
27349
|
+
"modelId": {
|
|
27350
|
+
"type": "string",
|
|
27351
|
+
"description": ""
|
|
26541
27352
|
},
|
|
26542
|
-
"
|
|
27353
|
+
"outputFormat": {
|
|
26543
27354
|
"type": "string",
|
|
26544
|
-
"description": "
|
|
27355
|
+
"description": ""
|
|
27356
|
+
},
|
|
27357
|
+
"voiceSettings": {
|
|
27358
|
+
"type": "ElevenLabsVoiceSettings",
|
|
27359
|
+
"description": ""
|
|
27360
|
+
},
|
|
27361
|
+
"disableCache": {
|
|
27362
|
+
"type": "boolean",
|
|
27363
|
+
"description": ""
|
|
26545
27364
|
}
|
|
26546
27365
|
}
|
|
26547
27366
|
}
|
|
26548
27367
|
},
|
|
26549
27368
|
"required": [
|
|
26550
|
-
"
|
|
27369
|
+
"text",
|
|
27370
|
+
"outputPath"
|
|
26551
27371
|
],
|
|
26552
|
-
"returns": "Promise<
|
|
27372
|
+
"returns": "Promise<string>",
|
|
27373
|
+
"examples": [
|
|
27374
|
+
{
|
|
27375
|
+
"language": "ts",
|
|
27376
|
+
"code": "const path = await el.say('Hello world', './hello.mp3')\nconsole.log(`Audio saved to ${path}`)"
|
|
27377
|
+
}
|
|
27378
|
+
]
|
|
26553
27379
|
}
|
|
26554
27380
|
},
|
|
26555
27381
|
"getters": {
|
|
26556
|
-
"
|
|
26557
|
-
"description": "The
|
|
26558
|
-
"returns": "string"
|
|
26559
|
-
},
|
|
26560
|
-
"wsURL": {
|
|
26561
|
-
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
27382
|
+
"apiKey": {
|
|
27383
|
+
"description": "The resolved API key from options or environment.",
|
|
26562
27384
|
"returns": "string"
|
|
26563
27385
|
}
|
|
26564
27386
|
},
|
|
26565
27387
|
"events": {
|
|
26566
|
-
"
|
|
26567
|
-
"name": "
|
|
26568
|
-
"description": "Event emitted by
|
|
26569
|
-
"arguments": {}
|
|
26570
|
-
},
|
|
26571
|
-
"execution_complete": {
|
|
26572
|
-
"name": "execution_complete",
|
|
26573
|
-
"description": "Event emitted by ComfyUIClient",
|
|
26574
|
-
"arguments": {}
|
|
26575
|
-
},
|
|
26576
|
-
"executing": {
|
|
26577
|
-
"name": "executing",
|
|
26578
|
-
"description": "Event emitted by ComfyUIClient",
|
|
26579
|
-
"arguments": {}
|
|
26580
|
-
},
|
|
26581
|
-
"progress": {
|
|
26582
|
-
"name": "progress",
|
|
26583
|
-
"description": "Event emitted by ComfyUIClient",
|
|
26584
|
-
"arguments": {}
|
|
26585
|
-
},
|
|
26586
|
-
"executed": {
|
|
26587
|
-
"name": "executed",
|
|
26588
|
-
"description": "Event emitted by ComfyUIClient",
|
|
27388
|
+
"failure": {
|
|
27389
|
+
"name": "failure",
|
|
27390
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
26589
27391
|
"arguments": {}
|
|
26590
27392
|
},
|
|
26591
|
-
"
|
|
26592
|
-
"name": "
|
|
26593
|
-
"description": "Event emitted by
|
|
27393
|
+
"voices": {
|
|
27394
|
+
"name": "voices",
|
|
27395
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
26594
27396
|
"arguments": {}
|
|
26595
27397
|
},
|
|
26596
|
-
"
|
|
26597
|
-
"name": "
|
|
26598
|
-
"description": "Event emitted by
|
|
27398
|
+
"speech": {
|
|
27399
|
+
"name": "speech",
|
|
27400
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
26599
27401
|
"arguments": {}
|
|
26600
27402
|
}
|
|
26601
27403
|
},
|
|
@@ -26605,48 +27407,65 @@ export const introspectionData = [
|
|
|
26605
27407
|
"examples": [
|
|
26606
27408
|
{
|
|
26607
27409
|
"language": "ts",
|
|
26608
|
-
"code": "const
|
|
27410
|
+
"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"
|
|
26609
27411
|
}
|
|
26610
27412
|
],
|
|
26611
27413
|
"types": {
|
|
26612
|
-
"
|
|
27414
|
+
"SynthesizeOptions": {
|
|
26613
27415
|
"description": "",
|
|
26614
27416
|
"properties": {
|
|
26615
|
-
"
|
|
26616
|
-
"type": "
|
|
26617
|
-
"description": "
|
|
27417
|
+
"voiceId": {
|
|
27418
|
+
"type": "string",
|
|
27419
|
+
"description": "",
|
|
26618
27420
|
"optional": true
|
|
26619
27421
|
},
|
|
26620
|
-
"
|
|
26621
|
-
"type": "
|
|
26622
|
-
"description": "
|
|
27422
|
+
"modelId": {
|
|
27423
|
+
"type": "string",
|
|
27424
|
+
"description": "",
|
|
26623
27425
|
"optional": true
|
|
26624
27426
|
},
|
|
26625
|
-
"
|
|
26626
|
-
"type": "
|
|
26627
|
-
"description": "
|
|
27427
|
+
"outputFormat": {
|
|
27428
|
+
"type": "string",
|
|
27429
|
+
"description": "",
|
|
26628
27430
|
"optional": true
|
|
26629
27431
|
},
|
|
26630
|
-
"
|
|
26631
|
-
"type": "
|
|
26632
|
-
"description": "
|
|
27432
|
+
"voiceSettings": {
|
|
27433
|
+
"type": "ElevenLabsVoiceSettings",
|
|
27434
|
+
"description": "",
|
|
27435
|
+
"optional": true
|
|
27436
|
+
},
|
|
27437
|
+
"disableCache": {
|
|
27438
|
+
"type": "boolean",
|
|
27439
|
+
"description": "",
|
|
26633
27440
|
"optional": true
|
|
26634
27441
|
}
|
|
26635
27442
|
}
|
|
26636
27443
|
},
|
|
26637
|
-
"
|
|
27444
|
+
"ElevenLabsVoiceSettings": {
|
|
26638
27445
|
"description": "",
|
|
26639
27446
|
"properties": {
|
|
26640
|
-
"
|
|
26641
|
-
"type": "
|
|
26642
|
-
"description": ""
|
|
27447
|
+
"stability": {
|
|
27448
|
+
"type": "number",
|
|
27449
|
+
"description": "",
|
|
27450
|
+
"optional": true
|
|
26643
27451
|
},
|
|
26644
|
-
"
|
|
26645
|
-
"type": "
|
|
26646
|
-
"description": ""
|
|
27452
|
+
"similarityBoost": {
|
|
27453
|
+
"type": "number",
|
|
27454
|
+
"description": "",
|
|
27455
|
+
"optional": true
|
|
26647
27456
|
},
|
|
26648
|
-
"
|
|
26649
|
-
"type": "
|
|
27457
|
+
"style": {
|
|
27458
|
+
"type": "number",
|
|
27459
|
+
"description": "",
|
|
27460
|
+
"optional": true
|
|
27461
|
+
},
|
|
27462
|
+
"speed": {
|
|
27463
|
+
"type": "number",
|
|
27464
|
+
"description": "",
|
|
27465
|
+
"optional": true
|
|
27466
|
+
},
|
|
27467
|
+
"useSpeakerBoost": {
|
|
27468
|
+
"type": "boolean",
|
|
26650
27469
|
"description": "",
|
|
26651
27470
|
"optional": true
|
|
26652
27471
|
}
|