@soederpop/luca 0.0.23 → 0.0.26
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/AGENTS.md +1 -1
- package/CLAUDE.md +6 -1
- package/assistants/codingAssistant/hooks.ts +0 -1
- package/assistants/lucaExpert/CORE.md +37 -0
- package/assistants/lucaExpert/hooks.ts +9 -0
- package/assistants/lucaExpert/tools.ts +177 -0
- package/commands/build-bootstrap.ts +41 -1
- package/docs/TABLE-OF-CONTENTS.md +0 -1
- package/docs/apis/clients/rest.md +5 -5
- package/docs/apis/features/agi/assistant.md +1 -1
- package/docs/apis/features/agi/conversation-history.md +6 -7
- package/docs/apis/features/agi/conversation.md +1 -1
- package/docs/apis/features/agi/semantic-search.md +1 -1
- package/docs/bootstrap/CLAUDE.md +1 -1
- package/docs/bootstrap/SKILL.md +7 -3
- package/docs/bootstrap/templates/luca-cli.ts +5 -0
- package/docs/mcp/readme.md +1 -1
- package/docs/tutorials/00-bootstrap.md +18 -0
- package/package.json +2 -2
- package/scripts/stamp-build.sh +12 -0
- package/scripts/test-docs-reader.ts +10 -0
- package/src/agi/container.server.ts +8 -5
- package/src/agi/features/assistant.ts +210 -55
- package/src/agi/features/assistants-manager.ts +138 -66
- package/src/agi/features/conversation.ts +46 -14
- package/src/agi/features/docs-reader.ts +166 -0
- package/src/agi/features/openapi.ts +1 -1
- package/src/agi/features/skills-library.ts +257 -313
- package/src/bootstrap/generated.ts +8163 -6
- package/src/cli/build-info.ts +4 -0
- package/src/cli/cli.ts +2 -1
- package/src/command.ts +75 -0
- package/src/commands/bootstrap.ts +16 -1
- package/src/commands/describe.ts +29 -1089
- package/src/commands/eval.ts +6 -1
- package/src/commands/sandbox-mcp.ts +17 -7
- package/src/container-describer.ts +1098 -0
- package/src/container.ts +11 -0
- package/src/helper.ts +56 -2
- package/src/introspection/generated.agi.ts +1684 -799
- package/src/introspection/generated.node.ts +964 -572
- package/src/introspection/generated.web.ts +9 -1
- package/src/node/container.ts +1 -1
- package/src/node/features/content-db.ts +268 -13
- package/src/node/features/fs.ts +18 -0
- package/src/node/features/git.ts +90 -0
- package/src/node/features/grep.ts +1 -1
- package/src/node/features/proc.ts +1 -0
- package/src/node/features/tts.ts +1 -1
- package/src/node/features/vm.ts +48 -0
- package/src/scaffolds/generated.ts +2 -2
- package/src/server.ts +40 -0
- package/src/servers/express.ts +2 -0
- package/src/servers/mcp.ts +1 -0
- package/src/servers/socket.ts +2 -0
- package/assistants/architect/CORE.md +0 -3
- package/assistants/architect/hooks.ts +0 -3
- package/assistants/architect/tools.ts +0 -10
- package/docs/apis/features/agi/skills-library.md +0 -234
- package/docs/reports/assistant-bugs.md +0 -38
- package/docs/reports/attach-pattern-usage.md +0 -18
- package/docs/reports/code-audit-results.md +0 -391
- package/docs/reports/console-hmr-design.md +0 -170
- package/docs/reports/helper-semantic-search.md +0 -72
- package/docs/reports/introspection-audit-tasks.md +0 -378
- package/docs/reports/luca-mcp-improvements.md +0 -128
- package/test-integration/skills-library.test.ts +0 -157
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { setBuildTimeData, setContainerBuildTimeData } from './index.js';
|
|
2
2
|
|
|
3
3
|
// Auto-generated introspection registry data
|
|
4
|
-
// Generated at: 2026-03-
|
|
4
|
+
// Generated at: 2026-03-22T20:57:23.101Z
|
|
5
5
|
|
|
6
6
|
setBuildTimeData('features.googleDocs', {
|
|
7
7
|
"id": "features.googleDocs",
|
|
@@ -729,6 +729,25 @@ setBuildTimeData('features.git', {
|
|
|
729
729
|
}
|
|
730
730
|
]
|
|
731
731
|
},
|
|
732
|
+
"extractFolder": {
|
|
733
|
+
"description": "Extracts a folder (or entire repo) from a remote GitHub repository without cloning. Downloads the repo as a tarball and extracts only the specified subfolder, similar to how degit works. No .git history is included — just the files. Supports shorthand (`user/repo/path`), branch refs (`user/repo/path#branch`), and full GitHub URLs (`https://github.com/user/repo/tree/branch/path`).",
|
|
734
|
+
"parameters": {
|
|
735
|
+
"{ source, destination, branch }": {
|
|
736
|
+
"type": "{ source: string, destination: string, branch?: string }",
|
|
737
|
+
"description": "Parameter { source, destination, branch }"
|
|
738
|
+
}
|
|
739
|
+
},
|
|
740
|
+
"required": [
|
|
741
|
+
"{ source, destination, branch }"
|
|
742
|
+
],
|
|
743
|
+
"returns": "void",
|
|
744
|
+
"examples": [
|
|
745
|
+
{
|
|
746
|
+
"language": "ts",
|
|
747
|
+
"code": "// Extract a subfolder\nawait git.extractFolder({ source: 'soederpop/luca/src/assistants', destination: './my-assistants' })\n\n// Specific branch\nawait git.extractFolder({ source: 'sveltejs/template', destination: './my-app', branch: 'main' })\n\n// Full GitHub URL\nawait git.extractFolder({ source: 'https://github.com/user/repo/tree/main/examples', destination: './examples' })"
|
|
748
|
+
}
|
|
749
|
+
]
|
|
750
|
+
},
|
|
732
751
|
"getChangeHistoryForFiles": {
|
|
733
752
|
"description": "Gets the commit history for a set of files or glob patterns. Accepts absolute paths, relative paths (resolved from container.cwd), or glob patterns. Returns commits that touched any of the matched files, with each entry noting which of your queried files were in that commit.",
|
|
734
753
|
"parameters": {
|
|
@@ -2299,6 +2318,29 @@ setBuildTimeData('features.vm', {
|
|
|
2299
2318
|
],
|
|
2300
2319
|
"returns": "Promise<T>"
|
|
2301
2320
|
},
|
|
2321
|
+
"runCaptured": {
|
|
2322
|
+
"description": "Execute code and capture all console output as structured JSON. Returns both the execution result and an array of every `console.*` call made during execution, each entry recording the method name and arguments.",
|
|
2323
|
+
"parameters": {
|
|
2324
|
+
"code": {
|
|
2325
|
+
"type": "string",
|
|
2326
|
+
"description": "The JavaScript code to execute"
|
|
2327
|
+
},
|
|
2328
|
+
"ctx": {
|
|
2329
|
+
"type": "any",
|
|
2330
|
+
"description": "Context variables to make available to the executing code"
|
|
2331
|
+
}
|
|
2332
|
+
},
|
|
2333
|
+
"required": [
|
|
2334
|
+
"code"
|
|
2335
|
+
],
|
|
2336
|
+
"returns": "Promise<{\n result: T\n console: Array<{ method: string, args: any[] }>\n context: vm.Context\n }>",
|
|
2337
|
+
"examples": [
|
|
2338
|
+
{
|
|
2339
|
+
"language": "ts",
|
|
2340
|
+
"code": "const { result, console: calls } = await vm.runCaptured('console.log(\"hi\"); console.warn(\"oh\"); 42')\n// result === 42\n// calls === [{ method: 'log', args: ['hi'] }, { method: 'warn', args: ['oh'] }]"
|
|
2341
|
+
}
|
|
2342
|
+
]
|
|
2343
|
+
},
|
|
2302
2344
|
"runSync": {
|
|
2303
2345
|
"description": "Execute JavaScript code synchronously in a controlled environment.",
|
|
2304
2346
|
"parameters": {
|
|
@@ -5256,6 +5298,23 @@ setBuildTimeData('features.fs', {
|
|
|
5256
5298
|
}
|
|
5257
5299
|
]
|
|
5258
5300
|
},
|
|
5301
|
+
"readFileSync": {
|
|
5302
|
+
"description": "Synchronously reads a file and returns its contents as a string. added this method because AI Assistants are understandly confused by this deviation from 2000's era node style",
|
|
5303
|
+
"parameters": {
|
|
5304
|
+
"path": {
|
|
5305
|
+
"type": "string",
|
|
5306
|
+
"description": "Parameter path"
|
|
5307
|
+
},
|
|
5308
|
+
"encoding": {
|
|
5309
|
+
"type": "BufferEncoding | null",
|
|
5310
|
+
"description": "Parameter encoding"
|
|
5311
|
+
}
|
|
5312
|
+
},
|
|
5313
|
+
"required": [
|
|
5314
|
+
"path"
|
|
5315
|
+
],
|
|
5316
|
+
"returns": "string | Buffer"
|
|
5317
|
+
},
|
|
5259
5318
|
"readFileAsync": {
|
|
5260
5319
|
"description": "Asynchronously reads a file and returns its contents as a string.",
|
|
5261
5320
|
"parameters": {
|
|
@@ -5298,6 +5357,19 @@ setBuildTimeData('features.fs', {
|
|
|
5298
5357
|
}
|
|
5299
5358
|
]
|
|
5300
5359
|
},
|
|
5360
|
+
"readJsonSync": {
|
|
5361
|
+
"description": "Read and parse a JSON file synchronously",
|
|
5362
|
+
"parameters": {
|
|
5363
|
+
"path": {
|
|
5364
|
+
"type": "string",
|
|
5365
|
+
"description": "Parameter path"
|
|
5366
|
+
}
|
|
5367
|
+
},
|
|
5368
|
+
"required": [
|
|
5369
|
+
"path"
|
|
5370
|
+
],
|
|
5371
|
+
"returns": "void"
|
|
5372
|
+
},
|
|
5301
5373
|
"readJsonAsync": {
|
|
5302
5374
|
"description": "Asynchronously reads and parses a JSON file.",
|
|
5303
5375
|
"parameters": {
|
|
@@ -9101,6 +9173,30 @@ setBuildTimeData('features.contentDb', {
|
|
|
9101
9173
|
"shortcut": "features.contentDb",
|
|
9102
9174
|
"className": "ContentDb",
|
|
9103
9175
|
"methods": {
|
|
9176
|
+
"renderTree": {
|
|
9177
|
+
"description": "Render a tree view of the collection directory structure. Built with container.fs so it works without the `tree` binary.",
|
|
9178
|
+
"parameters": {
|
|
9179
|
+
"options": {
|
|
9180
|
+
"type": "{ depth?: number; dirsOnly?: boolean }",
|
|
9181
|
+
"description": "Parameter options"
|
|
9182
|
+
}
|
|
9183
|
+
},
|
|
9184
|
+
"required": [],
|
|
9185
|
+
"returns": "string"
|
|
9186
|
+
},
|
|
9187
|
+
"grep": {
|
|
9188
|
+
"description": "",
|
|
9189
|
+
"parameters": {
|
|
9190
|
+
"options": {
|
|
9191
|
+
"type": "string | GrepOptions",
|
|
9192
|
+
"description": "Parameter options"
|
|
9193
|
+
}
|
|
9194
|
+
},
|
|
9195
|
+
"required": [
|
|
9196
|
+
"options"
|
|
9197
|
+
],
|
|
9198
|
+
"returns": "void"
|
|
9199
|
+
},
|
|
9104
9200
|
"query": {
|
|
9105
9201
|
"description": "Query documents belonging to a specific model definition.",
|
|
9106
9202
|
"parameters": {
|
|
@@ -9318,6 +9414,90 @@ setBuildTimeData('features.contentDb', {
|
|
|
9318
9414
|
},
|
|
9319
9415
|
"required": [],
|
|
9320
9416
|
"returns": "void"
|
|
9417
|
+
},
|
|
9418
|
+
"getCollectionOverview": {
|
|
9419
|
+
"description": "Returns a high-level overview of the collection.",
|
|
9420
|
+
"parameters": {},
|
|
9421
|
+
"required": [],
|
|
9422
|
+
"returns": "void"
|
|
9423
|
+
},
|
|
9424
|
+
"listDocuments": {
|
|
9425
|
+
"description": "List document IDs, optionally filtered by model or glob.",
|
|
9426
|
+
"parameters": {
|
|
9427
|
+
"args": {
|
|
9428
|
+
"type": "{ model?: string; glob?: string }",
|
|
9429
|
+
"description": "Parameter args"
|
|
9430
|
+
}
|
|
9431
|
+
},
|
|
9432
|
+
"required": [
|
|
9433
|
+
"args"
|
|
9434
|
+
],
|
|
9435
|
+
"returns": "void"
|
|
9436
|
+
},
|
|
9437
|
+
"readDocument": {
|
|
9438
|
+
"description": "Read a single document with optional section filtering.",
|
|
9439
|
+
"parameters": {
|
|
9440
|
+
"args": {
|
|
9441
|
+
"type": "{ id: string; include?: string[]; exclude?: string[]; meta?: boolean }",
|
|
9442
|
+
"description": "Parameter args"
|
|
9443
|
+
}
|
|
9444
|
+
},
|
|
9445
|
+
"required": [
|
|
9446
|
+
"args"
|
|
9447
|
+
],
|
|
9448
|
+
"returns": "void"
|
|
9449
|
+
},
|
|
9450
|
+
"readMultipleDocuments": {
|
|
9451
|
+
"description": "Read multiple documents with optional section filtering.",
|
|
9452
|
+
"parameters": {
|
|
9453
|
+
"args": {
|
|
9454
|
+
"type": "{ ids: string[]; include?: string[]; exclude?: string[]; meta?: boolean }",
|
|
9455
|
+
"description": "Parameter args"
|
|
9456
|
+
}
|
|
9457
|
+
},
|
|
9458
|
+
"required": [
|
|
9459
|
+
"args"
|
|
9460
|
+
],
|
|
9461
|
+
"returns": "void"
|
|
9462
|
+
},
|
|
9463
|
+
"queryDocuments": {
|
|
9464
|
+
"description": "Query documents by model with filters, sort, limit.",
|
|
9465
|
+
"parameters": {
|
|
9466
|
+
"args": {
|
|
9467
|
+
"type": "{ model: string; where?: string; sort?: string; limit?: number; offset?: number; select?: string[] }",
|
|
9468
|
+
"description": "Parameter args"
|
|
9469
|
+
}
|
|
9470
|
+
},
|
|
9471
|
+
"required": [
|
|
9472
|
+
"args"
|
|
9473
|
+
],
|
|
9474
|
+
"returns": "void"
|
|
9475
|
+
},
|
|
9476
|
+
"searchContent": {
|
|
9477
|
+
"description": "Grep/text search across the collection.",
|
|
9478
|
+
"parameters": {
|
|
9479
|
+
"args": {
|
|
9480
|
+
"type": "{ pattern: string; caseSensitive?: boolean }",
|
|
9481
|
+
"description": "Parameter args"
|
|
9482
|
+
}
|
|
9483
|
+
},
|
|
9484
|
+
"required": [
|
|
9485
|
+
"args"
|
|
9486
|
+
],
|
|
9487
|
+
"returns": "void"
|
|
9488
|
+
},
|
|
9489
|
+
"semanticSearch": {
|
|
9490
|
+
"description": "Hybrid semantic search with graceful fallback to grep.",
|
|
9491
|
+
"parameters": {
|
|
9492
|
+
"args": {
|
|
9493
|
+
"type": "{ query: string; limit?: number }",
|
|
9494
|
+
"description": "Parameter args"
|
|
9495
|
+
}
|
|
9496
|
+
},
|
|
9497
|
+
"required": [
|
|
9498
|
+
"args"
|
|
9499
|
+
],
|
|
9500
|
+
"returns": "void"
|
|
9321
9501
|
}
|
|
9322
9502
|
},
|
|
9323
9503
|
"getters": {
|
|
@@ -9341,6 +9521,18 @@ setBuildTimeData('features.contentDb', {
|
|
|
9341
9521
|
"description": "Returns an array of all registered model names from the collection.",
|
|
9342
9522
|
"returns": "string[]"
|
|
9343
9523
|
},
|
|
9524
|
+
"available": {
|
|
9525
|
+
"description": "Returns the available document ids in the collection",
|
|
9526
|
+
"returns": "string[]"
|
|
9527
|
+
},
|
|
9528
|
+
"modelDefinitionTable": {
|
|
9529
|
+
"description": "",
|
|
9530
|
+
"returns": "any"
|
|
9531
|
+
},
|
|
9532
|
+
"fileTree": {
|
|
9533
|
+
"description": "",
|
|
9534
|
+
"returns": "any"
|
|
9535
|
+
},
|
|
9344
9536
|
"searchIndexStatus": {
|
|
9345
9537
|
"description": "Get the current search index status.",
|
|
9346
9538
|
"returns": "any"
|
|
@@ -10157,450 +10349,450 @@ setBuildTimeData('clients.elevenlabs', {
|
|
|
10157
10349
|
]
|
|
10158
10350
|
});
|
|
10159
10351
|
|
|
10160
|
-
setBuildTimeData('clients.
|
|
10161
|
-
"id": "clients.
|
|
10162
|
-
"description": "
|
|
10163
|
-
"shortcut": "clients.
|
|
10164
|
-
"className": "
|
|
10352
|
+
setBuildTimeData('clients.supabase', {
|
|
10353
|
+
"id": "clients.supabase",
|
|
10354
|
+
"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).",
|
|
10355
|
+
"shortcut": "clients.supabase",
|
|
10356
|
+
"className": "SupabaseClient",
|
|
10165
10357
|
"methods": {
|
|
10166
|
-
"
|
|
10167
|
-
"description": "
|
|
10358
|
+
"from": {
|
|
10359
|
+
"description": "Start a query on a Postgres table or view.",
|
|
10168
10360
|
"parameters": {
|
|
10169
|
-
"
|
|
10170
|
-
"type": "Record<string, any>",
|
|
10171
|
-
"description": "The API-format workflow object"
|
|
10172
|
-
},
|
|
10173
|
-
"clientId": {
|
|
10361
|
+
"table": {
|
|
10174
10362
|
"type": "string",
|
|
10175
|
-
"description": "
|
|
10363
|
+
"description": "The table or view name to query"
|
|
10176
10364
|
}
|
|
10177
10365
|
},
|
|
10178
10366
|
"required": [
|
|
10179
|
-
"
|
|
10367
|
+
"table"
|
|
10180
10368
|
],
|
|
10181
|
-
"returns": "
|
|
10182
|
-
"examples": [
|
|
10183
|
-
{
|
|
10184
|
-
"language": "ts",
|
|
10185
|
-
"code": "const { prompt_id } = await comfy.queuePrompt(apiWorkflow)"
|
|
10186
|
-
}
|
|
10187
|
-
]
|
|
10188
|
-
},
|
|
10189
|
-
"getQueue": {
|
|
10190
|
-
"description": "Get the current prompt queue status.",
|
|
10191
|
-
"parameters": {},
|
|
10192
|
-
"required": [],
|
|
10193
|
-
"returns": "Promise<{ queue_running: any[]; queue_pending: any[] }>"
|
|
10369
|
+
"returns": "void"
|
|
10194
10370
|
},
|
|
10195
|
-
"
|
|
10196
|
-
"description": "
|
|
10371
|
+
"rpc": {
|
|
10372
|
+
"description": "Call a Postgres function (RPC).",
|
|
10197
10373
|
"parameters": {
|
|
10198
|
-
"
|
|
10374
|
+
"fn": {
|
|
10199
10375
|
"type": "string",
|
|
10200
|
-
"description": "
|
|
10376
|
+
"description": "The function name"
|
|
10377
|
+
},
|
|
10378
|
+
"params": {
|
|
10379
|
+
"type": "Record<string, unknown>",
|
|
10380
|
+
"description": "Arguments to pass to the function"
|
|
10381
|
+
},
|
|
10382
|
+
"options": {
|
|
10383
|
+
"type": "{ head?: boolean; get?: boolean; count?: \"exact\" | \"planned\" | \"estimated\" }",
|
|
10384
|
+
"description": "Optional settings (head, get, count)"
|
|
10201
10385
|
}
|
|
10202
10386
|
},
|
|
10203
|
-
"required": [
|
|
10204
|
-
|
|
10205
|
-
|
|
10206
|
-
|
|
10207
|
-
"description": "Get system stats including GPU memory and queue info.",
|
|
10208
|
-
"parameters": {},
|
|
10209
|
-
"required": [],
|
|
10210
|
-
"returns": "Promise<any>"
|
|
10387
|
+
"required": [
|
|
10388
|
+
"fn"
|
|
10389
|
+
],
|
|
10390
|
+
"returns": "void"
|
|
10211
10391
|
},
|
|
10212
|
-
"
|
|
10213
|
-
"description": "
|
|
10392
|
+
"signInWithPassword": {
|
|
10393
|
+
"description": "Sign in with email and password.",
|
|
10214
10394
|
"parameters": {
|
|
10215
|
-
"
|
|
10395
|
+
"email": {
|
|
10216
10396
|
"type": "string",
|
|
10217
|
-
"description": "
|
|
10397
|
+
"description": "Parameter email"
|
|
10398
|
+
},
|
|
10399
|
+
"password": {
|
|
10400
|
+
"type": "string",
|
|
10401
|
+
"description": "Parameter password"
|
|
10218
10402
|
}
|
|
10219
10403
|
},
|
|
10220
|
-
"required": [
|
|
10221
|
-
|
|
10222
|
-
|
|
10223
|
-
|
|
10224
|
-
"
|
|
10225
|
-
"parameters": {},
|
|
10226
|
-
"required": [],
|
|
10227
|
-
"returns": "Promise<void>"
|
|
10404
|
+
"required": [
|
|
10405
|
+
"email",
|
|
10406
|
+
"password"
|
|
10407
|
+
],
|
|
10408
|
+
"returns": "void"
|
|
10228
10409
|
},
|
|
10229
|
-
"
|
|
10230
|
-
"description": "
|
|
10410
|
+
"signUp": {
|
|
10411
|
+
"description": "Create a new user account with email and password.",
|
|
10231
10412
|
"parameters": {
|
|
10232
|
-
"
|
|
10413
|
+
"email": {
|
|
10233
10414
|
"type": "string",
|
|
10234
|
-
"description": "
|
|
10415
|
+
"description": "Parameter email"
|
|
10416
|
+
},
|
|
10417
|
+
"password": {
|
|
10418
|
+
"type": "string",
|
|
10419
|
+
"description": "Parameter password"
|
|
10235
10420
|
}
|
|
10236
10421
|
},
|
|
10422
|
+
"required": [
|
|
10423
|
+
"email",
|
|
10424
|
+
"password"
|
|
10425
|
+
],
|
|
10426
|
+
"returns": "void"
|
|
10427
|
+
},
|
|
10428
|
+
"signOut": {
|
|
10429
|
+
"description": "Sign the current user out.",
|
|
10430
|
+
"parameters": {},
|
|
10237
10431
|
"required": [],
|
|
10238
|
-
"returns": "
|
|
10239
|
-
},
|
|
10240
|
-
"getEmbeddings": {
|
|
10241
|
-
"description": "List available embedding models.",
|
|
10242
|
-
"parameters": {},
|
|
10243
|
-
"required": [],
|
|
10244
|
-
"returns": "Promise<string[]>"
|
|
10432
|
+
"returns": "void"
|
|
10245
10433
|
},
|
|
10246
|
-
"
|
|
10247
|
-
"description": "
|
|
10434
|
+
"getSession": {
|
|
10435
|
+
"description": "Get the current session, if any.",
|
|
10436
|
+
"parameters": {},
|
|
10437
|
+
"required": [],
|
|
10438
|
+
"returns": "void"
|
|
10439
|
+
},
|
|
10440
|
+
"getUser": {
|
|
10441
|
+
"description": "Get the current user, if any.",
|
|
10442
|
+
"parameters": {},
|
|
10443
|
+
"required": [],
|
|
10444
|
+
"returns": "void"
|
|
10445
|
+
},
|
|
10446
|
+
"invoke": {
|
|
10447
|
+
"description": "Invoke a Supabase Edge Function by name.",
|
|
10248
10448
|
"parameters": {
|
|
10249
|
-
"
|
|
10250
|
-
"type": "Buffer | Blob",
|
|
10251
|
-
"description": "The image data as Buffer or Blob"
|
|
10252
|
-
},
|
|
10253
|
-
"filename": {
|
|
10449
|
+
"name": {
|
|
10254
10450
|
"type": "string",
|
|
10255
|
-
"description": "
|
|
10451
|
+
"description": "Parameter name"
|
|
10256
10452
|
},
|
|
10257
|
-
"
|
|
10258
|
-
"type": "
|
|
10259
|
-
"description": "
|
|
10453
|
+
"body": {
|
|
10454
|
+
"type": "any",
|
|
10455
|
+
"description": "Parameter body"
|
|
10260
10456
|
}
|
|
10261
10457
|
},
|
|
10262
10458
|
"required": [
|
|
10263
|
-
"
|
|
10264
|
-
"filename"
|
|
10459
|
+
"name"
|
|
10265
10460
|
],
|
|
10266
|
-
"returns": "
|
|
10461
|
+
"returns": "void"
|
|
10267
10462
|
},
|
|
10268
|
-
"
|
|
10269
|
-
"description": "
|
|
10463
|
+
"subscribe": {
|
|
10464
|
+
"description": "Subscribe to realtime changes on a Postgres table.",
|
|
10270
10465
|
"parameters": {
|
|
10271
|
-
"
|
|
10466
|
+
"channelName": {
|
|
10272
10467
|
"type": "string",
|
|
10273
|
-
"description": "
|
|
10468
|
+
"description": "A name for this subscription channel"
|
|
10274
10469
|
},
|
|
10275
|
-
"
|
|
10276
|
-
"type": "
|
|
10277
|
-
"description": "
|
|
10470
|
+
"table": {
|
|
10471
|
+
"type": "string",
|
|
10472
|
+
"description": "The table to listen to"
|
|
10278
10473
|
},
|
|
10279
|
-
"
|
|
10280
|
-
"type": "any",
|
|
10281
|
-
"description": "
|
|
10474
|
+
"callback": {
|
|
10475
|
+
"type": "(payload: any) => void",
|
|
10476
|
+
"description": "Called with the payload on each change"
|
|
10477
|
+
},
|
|
10478
|
+
"event": {
|
|
10479
|
+
"type": "\"INSERT\" | \"UPDATE\" | \"DELETE\" | \"*\"",
|
|
10480
|
+
"description": "The event type to listen for (default: all changes)"
|
|
10282
10481
|
}
|
|
10283
10482
|
},
|
|
10284
10483
|
"required": [
|
|
10285
|
-
"
|
|
10484
|
+
"channelName",
|
|
10485
|
+
"table",
|
|
10486
|
+
"callback"
|
|
10286
10487
|
],
|
|
10287
|
-
"returns": "
|
|
10488
|
+
"returns": "RealtimeChannel"
|
|
10288
10489
|
},
|
|
10289
|
-
"
|
|
10290
|
-
"description": "
|
|
10490
|
+
"unsubscribe": {
|
|
10491
|
+
"description": "Unsubscribe and remove a realtime channel by name.",
|
|
10492
|
+
"parameters": {
|
|
10493
|
+
"channelName": {
|
|
10494
|
+
"type": "string",
|
|
10495
|
+
"description": "The channel name to remove"
|
|
10496
|
+
}
|
|
10497
|
+
},
|
|
10498
|
+
"required": [
|
|
10499
|
+
"channelName"
|
|
10500
|
+
],
|
|
10501
|
+
"returns": "void"
|
|
10502
|
+
},
|
|
10503
|
+
"unsubscribeAll": {
|
|
10504
|
+
"description": "Unsubscribe and remove all realtime channels.",
|
|
10291
10505
|
"parameters": {},
|
|
10292
10506
|
"required": [],
|
|
10293
|
-
"returns": "
|
|
10507
|
+
"returns": "void"
|
|
10294
10508
|
},
|
|
10295
|
-
"
|
|
10296
|
-
"description": "
|
|
10509
|
+
"connect": {
|
|
10510
|
+
"description": "Connect is a no-op since the Supabase SDK initializes on construction. The client is ready to use immediately after creation.",
|
|
10297
10511
|
"parameters": {},
|
|
10298
10512
|
"required": [],
|
|
10299
10513
|
"returns": "void"
|
|
10300
10514
|
},
|
|
10301
|
-
"
|
|
10302
|
-
"description": "
|
|
10303
|
-
"parameters": {
|
|
10304
|
-
|
|
10305
|
-
|
|
10306
|
-
"description": "Parameter workflow"
|
|
10307
|
-
}
|
|
10308
|
-
},
|
|
10309
|
-
"required": [
|
|
10310
|
-
"workflow"
|
|
10311
|
-
],
|
|
10312
|
-
"returns": "Promise<Record<string, any>>"
|
|
10313
|
-
},
|
|
10314
|
-
"runWorkflow": {
|
|
10315
|
-
"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' } } ```",
|
|
10316
|
-
"parameters": {
|
|
10317
|
-
"workflow": {
|
|
10318
|
-
"type": "Record<string, any>",
|
|
10319
|
-
"description": "Parameter workflow"
|
|
10320
|
-
},
|
|
10321
|
-
"inputs": {
|
|
10322
|
-
"type": "Record<string, any>",
|
|
10323
|
-
"description": "Parameter inputs"
|
|
10324
|
-
},
|
|
10325
|
-
"options": {
|
|
10326
|
-
"type": "WorkflowRunOptions",
|
|
10327
|
-
"description": "Parameter options",
|
|
10328
|
-
"properties": {
|
|
10329
|
-
"poll": {
|
|
10330
|
-
"type": "boolean",
|
|
10331
|
-
"description": "Use polling instead of WebSocket for tracking execution"
|
|
10332
|
-
},
|
|
10333
|
-
"pollInterval": {
|
|
10334
|
-
"type": "number",
|
|
10335
|
-
"description": "Polling interval in ms (default 1000)"
|
|
10336
|
-
},
|
|
10337
|
-
"inputMap": {
|
|
10338
|
-
"type": "InputMapping",
|
|
10339
|
-
"description": "Named input mapping: semantic name -> { nodeId, field }"
|
|
10340
|
-
},
|
|
10341
|
-
"outputDir": {
|
|
10342
|
-
"type": "string",
|
|
10343
|
-
"description": "If provided, output images are downloaded to this directory"
|
|
10344
|
-
}
|
|
10345
|
-
}
|
|
10346
|
-
}
|
|
10347
|
-
},
|
|
10348
|
-
"required": [
|
|
10349
|
-
"workflow"
|
|
10350
|
-
],
|
|
10351
|
-
"returns": "Promise<WorkflowResult>"
|
|
10515
|
+
"disconnect": {
|
|
10516
|
+
"description": "Disconnect by signing out and removing all realtime channels.",
|
|
10517
|
+
"parameters": {},
|
|
10518
|
+
"required": [],
|
|
10519
|
+
"returns": "void"
|
|
10352
10520
|
}
|
|
10353
10521
|
},
|
|
10354
10522
|
"getters": {
|
|
10355
|
-
"
|
|
10356
|
-
"description": "
|
|
10357
|
-
"returns": "
|
|
10358
|
-
},
|
|
10359
|
-
"wsURL": {
|
|
10360
|
-
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
10361
|
-
"returns": "string"
|
|
10362
|
-
}
|
|
10363
|
-
},
|
|
10364
|
-
"events": {
|
|
10365
|
-
"execution_start": {
|
|
10366
|
-
"name": "execution_start",
|
|
10367
|
-
"description": "Event emitted by ComfyUIClient",
|
|
10368
|
-
"arguments": {}
|
|
10369
|
-
},
|
|
10370
|
-
"execution_complete": {
|
|
10371
|
-
"name": "execution_complete",
|
|
10372
|
-
"description": "Event emitted by ComfyUIClient",
|
|
10373
|
-
"arguments": {}
|
|
10374
|
-
},
|
|
10375
|
-
"executing": {
|
|
10376
|
-
"name": "executing",
|
|
10377
|
-
"description": "Event emitted by ComfyUIClient",
|
|
10378
|
-
"arguments": {}
|
|
10379
|
-
},
|
|
10380
|
-
"progress": {
|
|
10381
|
-
"name": "progress",
|
|
10382
|
-
"description": "Event emitted by ComfyUIClient",
|
|
10383
|
-
"arguments": {}
|
|
10384
|
-
},
|
|
10385
|
-
"executed": {
|
|
10386
|
-
"name": "executed",
|
|
10387
|
-
"description": "Event emitted by ComfyUIClient",
|
|
10388
|
-
"arguments": {}
|
|
10523
|
+
"sdk": {
|
|
10524
|
+
"description": "Returns the raw Supabase SDK client for full access to all SDK methods.",
|
|
10525
|
+
"returns": "SupabaseSDKClient<any, any>"
|
|
10389
10526
|
},
|
|
10390
|
-
"
|
|
10391
|
-
"
|
|
10392
|
-
"
|
|
10393
|
-
"arguments": {}
|
|
10527
|
+
"storage": {
|
|
10528
|
+
"description": "Returns the Supabase Storage client for managing buckets and files.",
|
|
10529
|
+
"returns": "any"
|
|
10394
10530
|
},
|
|
10395
|
-
"
|
|
10396
|
-
"
|
|
10397
|
-
"
|
|
10398
|
-
"arguments": {}
|
|
10531
|
+
"functions": {
|
|
10532
|
+
"description": "Returns the Supabase Functions client.",
|
|
10533
|
+
"returns": "any"
|
|
10399
10534
|
}
|
|
10400
10535
|
},
|
|
10536
|
+
"events": {},
|
|
10401
10537
|
"state": {},
|
|
10402
10538
|
"options": {},
|
|
10403
10539
|
"envVars": [],
|
|
10404
10540
|
"examples": [
|
|
10405
10541
|
{
|
|
10406
10542
|
"language": "ts",
|
|
10407
|
-
"code": "const
|
|
10543
|
+
"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})"
|
|
10408
10544
|
}
|
|
10409
10545
|
]
|
|
10410
10546
|
});
|
|
10411
10547
|
|
|
10412
|
-
setBuildTimeData('clients.
|
|
10413
|
-
"id": "clients.
|
|
10414
|
-
"description": "
|
|
10415
|
-
"shortcut": "clients.
|
|
10416
|
-
"className": "
|
|
10548
|
+
setBuildTimeData('clients.comfyui', {
|
|
10549
|
+
"id": "clients.comfyui",
|
|
10550
|
+
"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.",
|
|
10551
|
+
"shortcut": "clients.comfyui",
|
|
10552
|
+
"className": "ComfyUIClient",
|
|
10417
10553
|
"methods": {
|
|
10418
|
-
"
|
|
10419
|
-
"description": "
|
|
10554
|
+
"queuePrompt": {
|
|
10555
|
+
"description": "Queue a prompt (API-format workflow) for execution.",
|
|
10420
10556
|
"parameters": {
|
|
10421
|
-
"
|
|
10557
|
+
"prompt": {
|
|
10558
|
+
"type": "Record<string, any>",
|
|
10559
|
+
"description": "The API-format workflow object"
|
|
10560
|
+
},
|
|
10561
|
+
"clientId": {
|
|
10422
10562
|
"type": "string",
|
|
10423
|
-
"description": "
|
|
10563
|
+
"description": "Override the client ID for this request"
|
|
10424
10564
|
}
|
|
10425
10565
|
},
|
|
10426
10566
|
"required": [
|
|
10427
|
-
"
|
|
10567
|
+
"prompt"
|
|
10428
10568
|
],
|
|
10429
|
-
"returns": "
|
|
10569
|
+
"returns": "Promise<{ prompt_id: string; number: number }>",
|
|
10570
|
+
"examples": [
|
|
10571
|
+
{
|
|
10572
|
+
"language": "ts",
|
|
10573
|
+
"code": "const { prompt_id } = await comfy.queuePrompt(apiWorkflow)"
|
|
10574
|
+
}
|
|
10575
|
+
]
|
|
10430
10576
|
},
|
|
10431
|
-
"
|
|
10432
|
-
"description": "
|
|
10577
|
+
"getQueue": {
|
|
10578
|
+
"description": "Get the current prompt queue status.",
|
|
10579
|
+
"parameters": {},
|
|
10580
|
+
"required": [],
|
|
10581
|
+
"returns": "Promise<{ queue_running: any[]; queue_pending: any[] }>"
|
|
10582
|
+
},
|
|
10583
|
+
"getHistory": {
|
|
10584
|
+
"description": "Get execution history, optionally for a specific prompt.",
|
|
10433
10585
|
"parameters": {
|
|
10434
|
-
"
|
|
10586
|
+
"promptId": {
|
|
10435
10587
|
"type": "string",
|
|
10436
|
-
"description": "
|
|
10437
|
-
},
|
|
10438
|
-
"params": {
|
|
10439
|
-
"type": "Record<string, unknown>",
|
|
10440
|
-
"description": "Arguments to pass to the function"
|
|
10441
|
-
},
|
|
10442
|
-
"options": {
|
|
10443
|
-
"type": "{ head?: boolean; get?: boolean; count?: \"exact\" | \"planned\" | \"estimated\" }",
|
|
10444
|
-
"description": "Optional settings (head, get, count)"
|
|
10588
|
+
"description": "If provided, returns history for this prompt only"
|
|
10445
10589
|
}
|
|
10446
10590
|
},
|
|
10447
|
-
"required": [
|
|
10448
|
-
|
|
10449
|
-
],
|
|
10450
|
-
"returns": "void"
|
|
10591
|
+
"required": [],
|
|
10592
|
+
"returns": "Promise<Record<string, any>>"
|
|
10451
10593
|
},
|
|
10452
|
-
"
|
|
10453
|
-
"description": "
|
|
10594
|
+
"getSystemStats": {
|
|
10595
|
+
"description": "Get system stats including GPU memory and queue info.",
|
|
10596
|
+
"parameters": {},
|
|
10597
|
+
"required": [],
|
|
10598
|
+
"returns": "Promise<any>"
|
|
10599
|
+
},
|
|
10600
|
+
"getObjectInfo": {
|
|
10601
|
+
"description": "Get node type info with input/output schemas.",
|
|
10454
10602
|
"parameters": {
|
|
10455
|
-
"
|
|
10603
|
+
"nodeClass": {
|
|
10456
10604
|
"type": "string",
|
|
10457
|
-
"description": "
|
|
10605
|
+
"description": "If provided, returns info for this node type only"
|
|
10606
|
+
}
|
|
10607
|
+
},
|
|
10608
|
+
"required": [],
|
|
10609
|
+
"returns": "Promise<any>"
|
|
10610
|
+
},
|
|
10611
|
+
"interrupt": {
|
|
10612
|
+
"description": "Interrupt the currently executing prompt.",
|
|
10613
|
+
"parameters": {},
|
|
10614
|
+
"required": [],
|
|
10615
|
+
"returns": "Promise<void>"
|
|
10616
|
+
},
|
|
10617
|
+
"getModels": {
|
|
10618
|
+
"description": "List available models, optionally filtered by type.",
|
|
10619
|
+
"parameters": {
|
|
10620
|
+
"type": {
|
|
10621
|
+
"type": "string",
|
|
10622
|
+
"description": "Model type filter (e.g., 'checkpoints', 'loras')"
|
|
10623
|
+
}
|
|
10624
|
+
},
|
|
10625
|
+
"required": [],
|
|
10626
|
+
"returns": "Promise<string[]>"
|
|
10627
|
+
},
|
|
10628
|
+
"getEmbeddings": {
|
|
10629
|
+
"description": "List available embedding models.",
|
|
10630
|
+
"parameters": {},
|
|
10631
|
+
"required": [],
|
|
10632
|
+
"returns": "Promise<string[]>"
|
|
10633
|
+
},
|
|
10634
|
+
"uploadImage": {
|
|
10635
|
+
"description": "Upload an image to ComfyUI's input directory.",
|
|
10636
|
+
"parameters": {
|
|
10637
|
+
"file": {
|
|
10638
|
+
"type": "Buffer | Blob",
|
|
10639
|
+
"description": "The image data as Buffer or Blob"
|
|
10458
10640
|
},
|
|
10459
|
-
"
|
|
10641
|
+
"filename": {
|
|
10460
10642
|
"type": "string",
|
|
10461
|
-
"description": "
|
|
10643
|
+
"description": "File name for the upload"
|
|
10644
|
+
},
|
|
10645
|
+
"opts": {
|
|
10646
|
+
"type": "{ subfolder?: string; type?: string; overwrite?: boolean }",
|
|
10647
|
+
"description": "Upload options (subfolder, type, overwrite)"
|
|
10462
10648
|
}
|
|
10463
10649
|
},
|
|
10464
10650
|
"required": [
|
|
10465
|
-
"
|
|
10466
|
-
"
|
|
10651
|
+
"file",
|
|
10652
|
+
"filename"
|
|
10467
10653
|
],
|
|
10468
|
-
"returns": "
|
|
10654
|
+
"returns": "Promise<any>"
|
|
10469
10655
|
},
|
|
10470
|
-
"
|
|
10471
|
-
"description": "
|
|
10656
|
+
"viewImage": {
|
|
10657
|
+
"description": "Download a generated image from ComfyUI as a Buffer.",
|
|
10472
10658
|
"parameters": {
|
|
10473
|
-
"
|
|
10659
|
+
"filename": {
|
|
10474
10660
|
"type": "string",
|
|
10475
|
-
"description": "
|
|
10661
|
+
"description": "The image filename"
|
|
10476
10662
|
},
|
|
10477
|
-
"
|
|
10478
|
-
"type": "
|
|
10479
|
-
"description": "
|
|
10663
|
+
"subfolder": {
|
|
10664
|
+
"type": "any",
|
|
10665
|
+
"description": "Subfolder within the output directory"
|
|
10666
|
+
},
|
|
10667
|
+
"type": {
|
|
10668
|
+
"type": "any",
|
|
10669
|
+
"description": "Image type ('output', 'input', 'temp')"
|
|
10480
10670
|
}
|
|
10481
10671
|
},
|
|
10482
10672
|
"required": [
|
|
10483
|
-
"
|
|
10484
|
-
"password"
|
|
10673
|
+
"filename"
|
|
10485
10674
|
],
|
|
10486
|
-
"returns": "
|
|
10487
|
-
},
|
|
10488
|
-
"signOut": {
|
|
10489
|
-
"description": "Sign the current user out.",
|
|
10490
|
-
"parameters": {},
|
|
10491
|
-
"required": [],
|
|
10492
|
-
"returns": "void"
|
|
10675
|
+
"returns": "Promise<Buffer>"
|
|
10493
10676
|
},
|
|
10494
|
-
"
|
|
10495
|
-
"description": "
|
|
10677
|
+
"connectWs": {
|
|
10678
|
+
"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`.",
|
|
10496
10679
|
"parameters": {},
|
|
10497
10680
|
"required": [],
|
|
10498
|
-
"returns": "void"
|
|
10681
|
+
"returns": "Promise<void>"
|
|
10499
10682
|
},
|
|
10500
|
-
"
|
|
10501
|
-
"description": "
|
|
10683
|
+
"disconnectWs": {
|
|
10684
|
+
"description": "Close the WebSocket connection.",
|
|
10502
10685
|
"parameters": {},
|
|
10503
10686
|
"required": [],
|
|
10504
10687
|
"returns": "void"
|
|
10505
10688
|
},
|
|
10506
|
-
"
|
|
10507
|
-
"description": "
|
|
10689
|
+
"toApiFormat": {
|
|
10690
|
+
"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.",
|
|
10508
10691
|
"parameters": {
|
|
10509
|
-
"
|
|
10510
|
-
"type": "string",
|
|
10511
|
-
"description": "Parameter
|
|
10512
|
-
},
|
|
10513
|
-
"body": {
|
|
10514
|
-
"type": "any",
|
|
10515
|
-
"description": "Parameter body"
|
|
10692
|
+
"workflow": {
|
|
10693
|
+
"type": "Record<string, any>",
|
|
10694
|
+
"description": "Parameter workflow"
|
|
10516
10695
|
}
|
|
10517
10696
|
},
|
|
10518
10697
|
"required": [
|
|
10519
|
-
"
|
|
10698
|
+
"workflow"
|
|
10520
10699
|
],
|
|
10521
|
-
"returns": "
|
|
10700
|
+
"returns": "Promise<Record<string, any>>"
|
|
10522
10701
|
},
|
|
10523
|
-
"
|
|
10524
|
-
"description": "
|
|
10702
|
+
"runWorkflow": {
|
|
10703
|
+
"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' } } ```",
|
|
10525
10704
|
"parameters": {
|
|
10526
|
-
"
|
|
10527
|
-
"type": "string",
|
|
10528
|
-
"description": "
|
|
10529
|
-
},
|
|
10530
|
-
"table": {
|
|
10531
|
-
"type": "string",
|
|
10532
|
-
"description": "The table to listen to"
|
|
10705
|
+
"workflow": {
|
|
10706
|
+
"type": "Record<string, any>",
|
|
10707
|
+
"description": "Parameter workflow"
|
|
10533
10708
|
},
|
|
10534
|
-
"
|
|
10535
|
-
"type": "
|
|
10536
|
-
"description": "
|
|
10709
|
+
"inputs": {
|
|
10710
|
+
"type": "Record<string, any>",
|
|
10711
|
+
"description": "Parameter inputs"
|
|
10537
10712
|
},
|
|
10538
|
-
"
|
|
10539
|
-
"type": "
|
|
10540
|
-
"description": "
|
|
10713
|
+
"options": {
|
|
10714
|
+
"type": "WorkflowRunOptions",
|
|
10715
|
+
"description": "Parameter options",
|
|
10716
|
+
"properties": {
|
|
10717
|
+
"poll": {
|
|
10718
|
+
"type": "boolean",
|
|
10719
|
+
"description": "Use polling instead of WebSocket for tracking execution"
|
|
10720
|
+
},
|
|
10721
|
+
"pollInterval": {
|
|
10722
|
+
"type": "number",
|
|
10723
|
+
"description": "Polling interval in ms (default 1000)"
|
|
10724
|
+
},
|
|
10725
|
+
"inputMap": {
|
|
10726
|
+
"type": "InputMapping",
|
|
10727
|
+
"description": "Named input mapping: semantic name -> { nodeId, field }"
|
|
10728
|
+
},
|
|
10729
|
+
"outputDir": {
|
|
10730
|
+
"type": "string",
|
|
10731
|
+
"description": "If provided, output images are downloaded to this directory"
|
|
10732
|
+
}
|
|
10733
|
+
}
|
|
10541
10734
|
}
|
|
10542
10735
|
},
|
|
10543
10736
|
"required": [
|
|
10544
|
-
"
|
|
10545
|
-
"table",
|
|
10546
|
-
"callback"
|
|
10737
|
+
"workflow"
|
|
10547
10738
|
],
|
|
10548
|
-
"returns": "
|
|
10739
|
+
"returns": "Promise<WorkflowResult>"
|
|
10740
|
+
}
|
|
10741
|
+
},
|
|
10742
|
+
"getters": {
|
|
10743
|
+
"clientId": {
|
|
10744
|
+
"description": "The unique client ID used for WebSocket session tracking.",
|
|
10745
|
+
"returns": "string"
|
|
10549
10746
|
},
|
|
10550
|
-
"
|
|
10551
|
-
"description": "
|
|
10552
|
-
"
|
|
10553
|
-
|
|
10554
|
-
|
|
10555
|
-
|
|
10556
|
-
|
|
10557
|
-
|
|
10558
|
-
"
|
|
10559
|
-
|
|
10560
|
-
],
|
|
10561
|
-
"returns": "void"
|
|
10747
|
+
"wsURL": {
|
|
10748
|
+
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
10749
|
+
"returns": "string"
|
|
10750
|
+
}
|
|
10751
|
+
},
|
|
10752
|
+
"events": {
|
|
10753
|
+
"execution_start": {
|
|
10754
|
+
"name": "execution_start",
|
|
10755
|
+
"description": "Event emitted by ComfyUIClient",
|
|
10756
|
+
"arguments": {}
|
|
10562
10757
|
},
|
|
10563
|
-
"
|
|
10564
|
-
"
|
|
10565
|
-
"
|
|
10566
|
-
"
|
|
10567
|
-
"returns": "void"
|
|
10758
|
+
"execution_complete": {
|
|
10759
|
+
"name": "execution_complete",
|
|
10760
|
+
"description": "Event emitted by ComfyUIClient",
|
|
10761
|
+
"arguments": {}
|
|
10568
10762
|
},
|
|
10569
|
-
"
|
|
10570
|
-
"
|
|
10571
|
-
"
|
|
10572
|
-
"
|
|
10573
|
-
"returns": "void"
|
|
10763
|
+
"executing": {
|
|
10764
|
+
"name": "executing",
|
|
10765
|
+
"description": "Event emitted by ComfyUIClient",
|
|
10766
|
+
"arguments": {}
|
|
10574
10767
|
},
|
|
10575
|
-
"
|
|
10576
|
-
"
|
|
10577
|
-
"
|
|
10578
|
-
"
|
|
10579
|
-
"returns": "void"
|
|
10580
|
-
}
|
|
10581
|
-
},
|
|
10582
|
-
"getters": {
|
|
10583
|
-
"sdk": {
|
|
10584
|
-
"description": "Returns the raw Supabase SDK client for full access to all SDK methods.",
|
|
10585
|
-
"returns": "SupabaseSDKClient<any, any>"
|
|
10768
|
+
"progress": {
|
|
10769
|
+
"name": "progress",
|
|
10770
|
+
"description": "Event emitted by ComfyUIClient",
|
|
10771
|
+
"arguments": {}
|
|
10586
10772
|
},
|
|
10587
|
-
"
|
|
10588
|
-
"
|
|
10589
|
-
"
|
|
10773
|
+
"executed": {
|
|
10774
|
+
"name": "executed",
|
|
10775
|
+
"description": "Event emitted by ComfyUIClient",
|
|
10776
|
+
"arguments": {}
|
|
10590
10777
|
},
|
|
10591
|
-
"
|
|
10592
|
-
"
|
|
10593
|
-
"
|
|
10778
|
+
"execution_cached": {
|
|
10779
|
+
"name": "execution_cached",
|
|
10780
|
+
"description": "Event emitted by ComfyUIClient",
|
|
10781
|
+
"arguments": {}
|
|
10782
|
+
},
|
|
10783
|
+
"execution_error": {
|
|
10784
|
+
"name": "execution_error",
|
|
10785
|
+
"description": "Event emitted by ComfyUIClient",
|
|
10786
|
+
"arguments": {}
|
|
10594
10787
|
}
|
|
10595
10788
|
},
|
|
10596
|
-
"events": {},
|
|
10597
10789
|
"state": {},
|
|
10598
10790
|
"options": {},
|
|
10599
10791
|
"envVars": [],
|
|
10600
10792
|
"examples": [
|
|
10601
10793
|
{
|
|
10602
10794
|
"language": "ts",
|
|
10603
|
-
"code": "const
|
|
10795
|
+
"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)"
|
|
10604
10796
|
}
|
|
10605
10797
|
]
|
|
10606
10798
|
});
|
|
@@ -11325,6 +11517,10 @@ setContainerBuildTimeData('Container', {
|
|
|
11325
11517
|
"description": "Returns a map of enabled feature shortcut IDs to their instances.",
|
|
11326
11518
|
"returns": "Partial<AvailableInstanceTypes<Features>>"
|
|
11327
11519
|
},
|
|
11520
|
+
"describer": {
|
|
11521
|
+
"description": "Lazy-initialized ContainerDescriber for introspecting registries, helpers, and members.",
|
|
11522
|
+
"returns": "ContainerDescriber"
|
|
11523
|
+
},
|
|
11328
11524
|
"context": {
|
|
11329
11525
|
"description": "The Container's context is an object that contains the enabled features, the container itself, and any additional context that has been added to the container. All helper instances that are created by the container will have access to the shared context.",
|
|
11330
11526
|
"returns": "ContainerContext<Features> & Partial<AvailableInstanceTypes<AvailableFeatures>>"
|
|
@@ -12130,6 +12326,25 @@ export const introspectionData = [
|
|
|
12130
12326
|
}
|
|
12131
12327
|
]
|
|
12132
12328
|
},
|
|
12329
|
+
"extractFolder": {
|
|
12330
|
+
"description": "Extracts a folder (or entire repo) from a remote GitHub repository without cloning. Downloads the repo as a tarball and extracts only the specified subfolder, similar to how degit works. No .git history is included — just the files. Supports shorthand (`user/repo/path`), branch refs (`user/repo/path#branch`), and full GitHub URLs (`https://github.com/user/repo/tree/branch/path`).",
|
|
12331
|
+
"parameters": {
|
|
12332
|
+
"{ source, destination, branch }": {
|
|
12333
|
+
"type": "{ source: string, destination: string, branch?: string }",
|
|
12334
|
+
"description": "Parameter { source, destination, branch }"
|
|
12335
|
+
}
|
|
12336
|
+
},
|
|
12337
|
+
"required": [
|
|
12338
|
+
"{ source, destination, branch }"
|
|
12339
|
+
],
|
|
12340
|
+
"returns": "void",
|
|
12341
|
+
"examples": [
|
|
12342
|
+
{
|
|
12343
|
+
"language": "ts",
|
|
12344
|
+
"code": "// Extract a subfolder\nawait git.extractFolder({ source: 'soederpop/luca/src/assistants', destination: './my-assistants' })\n\n// Specific branch\nawait git.extractFolder({ source: 'sveltejs/template', destination: './my-app', branch: 'main' })\n\n// Full GitHub URL\nawait git.extractFolder({ source: 'https://github.com/user/repo/tree/main/examples', destination: './examples' })"
|
|
12345
|
+
}
|
|
12346
|
+
]
|
|
12347
|
+
},
|
|
12133
12348
|
"getChangeHistoryForFiles": {
|
|
12134
12349
|
"description": "Gets the commit history for a set of files or glob patterns. Accepts absolute paths, relative paths (resolved from container.cwd), or glob patterns. Returns commits that touched any of the matched files, with each entry noting which of your queried files were in that commit.",
|
|
12135
12350
|
"parameters": {
|
|
@@ -13694,6 +13909,29 @@ export const introspectionData = [
|
|
|
13694
13909
|
],
|
|
13695
13910
|
"returns": "Promise<T>"
|
|
13696
13911
|
},
|
|
13912
|
+
"runCaptured": {
|
|
13913
|
+
"description": "Execute code and capture all console output as structured JSON. Returns both the execution result and an array of every `console.*` call made during execution, each entry recording the method name and arguments.",
|
|
13914
|
+
"parameters": {
|
|
13915
|
+
"code": {
|
|
13916
|
+
"type": "string",
|
|
13917
|
+
"description": "The JavaScript code to execute"
|
|
13918
|
+
},
|
|
13919
|
+
"ctx": {
|
|
13920
|
+
"type": "any",
|
|
13921
|
+
"description": "Context variables to make available to the executing code"
|
|
13922
|
+
}
|
|
13923
|
+
},
|
|
13924
|
+
"required": [
|
|
13925
|
+
"code"
|
|
13926
|
+
],
|
|
13927
|
+
"returns": "Promise<{\n result: T\n console: Array<{ method: string, args: any[] }>\n context: vm.Context\n }>",
|
|
13928
|
+
"examples": [
|
|
13929
|
+
{
|
|
13930
|
+
"language": "ts",
|
|
13931
|
+
"code": "const { result, console: calls } = await vm.runCaptured('console.log(\"hi\"); console.warn(\"oh\"); 42')\n// result === 42\n// calls === [{ method: 'log', args: ['hi'] }, { method: 'warn', args: ['oh'] }]"
|
|
13932
|
+
}
|
|
13933
|
+
]
|
|
13934
|
+
},
|
|
13697
13935
|
"runSync": {
|
|
13698
13936
|
"description": "Execute JavaScript code synchronously in a controlled environment.",
|
|
13699
13937
|
"parameters": {
|
|
@@ -16633,6 +16871,23 @@ export const introspectionData = [
|
|
|
16633
16871
|
}
|
|
16634
16872
|
]
|
|
16635
16873
|
},
|
|
16874
|
+
"readFileSync": {
|
|
16875
|
+
"description": "Synchronously reads a file and returns its contents as a string. added this method because AI Assistants are understandly confused by this deviation from 2000's era node style",
|
|
16876
|
+
"parameters": {
|
|
16877
|
+
"path": {
|
|
16878
|
+
"type": "string",
|
|
16879
|
+
"description": "Parameter path"
|
|
16880
|
+
},
|
|
16881
|
+
"encoding": {
|
|
16882
|
+
"type": "BufferEncoding | null",
|
|
16883
|
+
"description": "Parameter encoding"
|
|
16884
|
+
}
|
|
16885
|
+
},
|
|
16886
|
+
"required": [
|
|
16887
|
+
"path"
|
|
16888
|
+
],
|
|
16889
|
+
"returns": "string | Buffer"
|
|
16890
|
+
},
|
|
16636
16891
|
"readFileAsync": {
|
|
16637
16892
|
"description": "Asynchronously reads a file and returns its contents as a string.",
|
|
16638
16893
|
"parameters": {
|
|
@@ -16675,6 +16930,19 @@ export const introspectionData = [
|
|
|
16675
16930
|
}
|
|
16676
16931
|
]
|
|
16677
16932
|
},
|
|
16933
|
+
"readJsonSync": {
|
|
16934
|
+
"description": "Read and parse a JSON file synchronously",
|
|
16935
|
+
"parameters": {
|
|
16936
|
+
"path": {
|
|
16937
|
+
"type": "string",
|
|
16938
|
+
"description": "Parameter path"
|
|
16939
|
+
}
|
|
16940
|
+
},
|
|
16941
|
+
"required": [
|
|
16942
|
+
"path"
|
|
16943
|
+
],
|
|
16944
|
+
"returns": "void"
|
|
16945
|
+
},
|
|
16678
16946
|
"readJsonAsync": {
|
|
16679
16947
|
"description": "Asynchronously reads and parses a JSON file.",
|
|
16680
16948
|
"parameters": {
|
|
@@ -20463,6 +20731,30 @@ export const introspectionData = [
|
|
|
20463
20731
|
"shortcut": "features.contentDb",
|
|
20464
20732
|
"className": "ContentDb",
|
|
20465
20733
|
"methods": {
|
|
20734
|
+
"renderTree": {
|
|
20735
|
+
"description": "Render a tree view of the collection directory structure. Built with container.fs so it works without the `tree` binary.",
|
|
20736
|
+
"parameters": {
|
|
20737
|
+
"options": {
|
|
20738
|
+
"type": "{ depth?: number; dirsOnly?: boolean }",
|
|
20739
|
+
"description": "Parameter options"
|
|
20740
|
+
}
|
|
20741
|
+
},
|
|
20742
|
+
"required": [],
|
|
20743
|
+
"returns": "string"
|
|
20744
|
+
},
|
|
20745
|
+
"grep": {
|
|
20746
|
+
"description": "",
|
|
20747
|
+
"parameters": {
|
|
20748
|
+
"options": {
|
|
20749
|
+
"type": "string | GrepOptions",
|
|
20750
|
+
"description": "Parameter options"
|
|
20751
|
+
}
|
|
20752
|
+
},
|
|
20753
|
+
"required": [
|
|
20754
|
+
"options"
|
|
20755
|
+
],
|
|
20756
|
+
"returns": "void"
|
|
20757
|
+
},
|
|
20466
20758
|
"query": {
|
|
20467
20759
|
"description": "Query documents belonging to a specific model definition.",
|
|
20468
20760
|
"parameters": {
|
|
@@ -20621,64 +20913,148 @@ export const introspectionData = [
|
|
|
20621
20913
|
}
|
|
20622
20914
|
},
|
|
20623
20915
|
"required": [
|
|
20624
|
-
"query"
|
|
20916
|
+
"query"
|
|
20917
|
+
],
|
|
20918
|
+
"returns": "void"
|
|
20919
|
+
},
|
|
20920
|
+
"vectorSearch": {
|
|
20921
|
+
"description": "Vector similarity search using embeddings. Finds conceptually related documents even without keyword matches.",
|
|
20922
|
+
"parameters": {
|
|
20923
|
+
"query": {
|
|
20924
|
+
"type": "string",
|
|
20925
|
+
"description": "Parameter query"
|
|
20926
|
+
},
|
|
20927
|
+
"options": {
|
|
20928
|
+
"type": "{ limit?: number; model?: string; where?: Record<string, any> }",
|
|
20929
|
+
"description": "Parameter options"
|
|
20930
|
+
}
|
|
20931
|
+
},
|
|
20932
|
+
"required": [
|
|
20933
|
+
"query"
|
|
20934
|
+
],
|
|
20935
|
+
"returns": "void"
|
|
20936
|
+
},
|
|
20937
|
+
"hybridSearch": {
|
|
20938
|
+
"description": "Combined keyword + semantic search with Reciprocal Rank Fusion. Best for general questions about the collection.",
|
|
20939
|
+
"parameters": {
|
|
20940
|
+
"query": {
|
|
20941
|
+
"type": "string",
|
|
20942
|
+
"description": "Parameter query"
|
|
20943
|
+
},
|
|
20944
|
+
"options": {
|
|
20945
|
+
"type": "{ limit?: number; model?: string; where?: Record<string, any>; ftsWeight?: number; vecWeight?: number }",
|
|
20946
|
+
"description": "Parameter options"
|
|
20947
|
+
}
|
|
20948
|
+
},
|
|
20949
|
+
"required": [
|
|
20950
|
+
"query"
|
|
20951
|
+
],
|
|
20952
|
+
"returns": "void"
|
|
20953
|
+
},
|
|
20954
|
+
"buildSearchIndex": {
|
|
20955
|
+
"description": "Build the search index from all documents in the collection. Chunks documents and generates embeddings.",
|
|
20956
|
+
"parameters": {
|
|
20957
|
+
"options": {
|
|
20958
|
+
"type": "{ force?: boolean; embeddingProvider?: string; embeddingModel?: string; onProgress?: (indexed: number, total: number) => void }",
|
|
20959
|
+
"description": "Parameter options"
|
|
20960
|
+
}
|
|
20961
|
+
},
|
|
20962
|
+
"required": [],
|
|
20963
|
+
"returns": "void"
|
|
20964
|
+
},
|
|
20965
|
+
"rebuildSearchIndex": {
|
|
20966
|
+
"description": "Rebuild the entire search index from scratch.",
|
|
20967
|
+
"parameters": {
|
|
20968
|
+
"options": {
|
|
20969
|
+
"type": "{ embeddingProvider?: string; embeddingModel?: string; onProgress?: (indexed: number, total: number) => void }",
|
|
20970
|
+
"description": "Parameter options"
|
|
20971
|
+
}
|
|
20972
|
+
},
|
|
20973
|
+
"required": [],
|
|
20974
|
+
"returns": "void"
|
|
20975
|
+
},
|
|
20976
|
+
"getCollectionOverview": {
|
|
20977
|
+
"description": "Returns a high-level overview of the collection.",
|
|
20978
|
+
"parameters": {},
|
|
20979
|
+
"required": [],
|
|
20980
|
+
"returns": "void"
|
|
20981
|
+
},
|
|
20982
|
+
"listDocuments": {
|
|
20983
|
+
"description": "List document IDs, optionally filtered by model or glob.",
|
|
20984
|
+
"parameters": {
|
|
20985
|
+
"args": {
|
|
20986
|
+
"type": "{ model?: string; glob?: string }",
|
|
20987
|
+
"description": "Parameter args"
|
|
20988
|
+
}
|
|
20989
|
+
},
|
|
20990
|
+
"required": [
|
|
20991
|
+
"args"
|
|
20992
|
+
],
|
|
20993
|
+
"returns": "void"
|
|
20994
|
+
},
|
|
20995
|
+
"readDocument": {
|
|
20996
|
+
"description": "Read a single document with optional section filtering.",
|
|
20997
|
+
"parameters": {
|
|
20998
|
+
"args": {
|
|
20999
|
+
"type": "{ id: string; include?: string[]; exclude?: string[]; meta?: boolean }",
|
|
21000
|
+
"description": "Parameter args"
|
|
21001
|
+
}
|
|
21002
|
+
},
|
|
21003
|
+
"required": [
|
|
21004
|
+
"args"
|
|
20625
21005
|
],
|
|
20626
21006
|
"returns": "void"
|
|
20627
21007
|
},
|
|
20628
|
-
"
|
|
20629
|
-
"description": "
|
|
21008
|
+
"readMultipleDocuments": {
|
|
21009
|
+
"description": "Read multiple documents with optional section filtering.",
|
|
20630
21010
|
"parameters": {
|
|
20631
|
-
"
|
|
20632
|
-
"type": "string",
|
|
20633
|
-
"description": "Parameter
|
|
20634
|
-
},
|
|
20635
|
-
"options": {
|
|
20636
|
-
"type": "{ limit?: number; model?: string; where?: Record<string, any> }",
|
|
20637
|
-
"description": "Parameter options"
|
|
21011
|
+
"args": {
|
|
21012
|
+
"type": "{ ids: string[]; include?: string[]; exclude?: string[]; meta?: boolean }",
|
|
21013
|
+
"description": "Parameter args"
|
|
20638
21014
|
}
|
|
20639
21015
|
},
|
|
20640
21016
|
"required": [
|
|
20641
|
-
"
|
|
21017
|
+
"args"
|
|
20642
21018
|
],
|
|
20643
21019
|
"returns": "void"
|
|
20644
21020
|
},
|
|
20645
|
-
"
|
|
20646
|
-
"description": "
|
|
21021
|
+
"queryDocuments": {
|
|
21022
|
+
"description": "Query documents by model with filters, sort, limit.",
|
|
20647
21023
|
"parameters": {
|
|
20648
|
-
"
|
|
20649
|
-
"type": "string",
|
|
20650
|
-
"description": "Parameter
|
|
20651
|
-
},
|
|
20652
|
-
"options": {
|
|
20653
|
-
"type": "{ limit?: number; model?: string; where?: Record<string, any>; ftsWeight?: number; vecWeight?: number }",
|
|
20654
|
-
"description": "Parameter options"
|
|
21024
|
+
"args": {
|
|
21025
|
+
"type": "{ model: string; where?: string; sort?: string; limit?: number; offset?: number; select?: string[] }",
|
|
21026
|
+
"description": "Parameter args"
|
|
20655
21027
|
}
|
|
20656
21028
|
},
|
|
20657
21029
|
"required": [
|
|
20658
|
-
"
|
|
21030
|
+
"args"
|
|
20659
21031
|
],
|
|
20660
21032
|
"returns": "void"
|
|
20661
21033
|
},
|
|
20662
|
-
"
|
|
20663
|
-
"description": "
|
|
21034
|
+
"searchContent": {
|
|
21035
|
+
"description": "Grep/text search across the collection.",
|
|
20664
21036
|
"parameters": {
|
|
20665
|
-
"
|
|
20666
|
-
"type": "{
|
|
20667
|
-
"description": "Parameter
|
|
21037
|
+
"args": {
|
|
21038
|
+
"type": "{ pattern: string; caseSensitive?: boolean }",
|
|
21039
|
+
"description": "Parameter args"
|
|
20668
21040
|
}
|
|
20669
21041
|
},
|
|
20670
|
-
"required": [
|
|
21042
|
+
"required": [
|
|
21043
|
+
"args"
|
|
21044
|
+
],
|
|
20671
21045
|
"returns": "void"
|
|
20672
21046
|
},
|
|
20673
|
-
"
|
|
20674
|
-
"description": "
|
|
21047
|
+
"semanticSearch": {
|
|
21048
|
+
"description": "Hybrid semantic search with graceful fallback to grep.",
|
|
20675
21049
|
"parameters": {
|
|
20676
|
-
"
|
|
20677
|
-
"type": "{
|
|
20678
|
-
"description": "Parameter
|
|
21050
|
+
"args": {
|
|
21051
|
+
"type": "{ query: string; limit?: number }",
|
|
21052
|
+
"description": "Parameter args"
|
|
20679
21053
|
}
|
|
20680
21054
|
},
|
|
20681
|
-
"required": [
|
|
21055
|
+
"required": [
|
|
21056
|
+
"args"
|
|
21057
|
+
],
|
|
20682
21058
|
"returns": "void"
|
|
20683
21059
|
}
|
|
20684
21060
|
},
|
|
@@ -20703,6 +21079,18 @@ export const introspectionData = [
|
|
|
20703
21079
|
"description": "Returns an array of all registered model names from the collection.",
|
|
20704
21080
|
"returns": "string[]"
|
|
20705
21081
|
},
|
|
21082
|
+
"available": {
|
|
21083
|
+
"description": "Returns the available document ids in the collection",
|
|
21084
|
+
"returns": "string[]"
|
|
21085
|
+
},
|
|
21086
|
+
"modelDefinitionTable": {
|
|
21087
|
+
"description": "",
|
|
21088
|
+
"returns": "any"
|
|
21089
|
+
},
|
|
21090
|
+
"fileTree": {
|
|
21091
|
+
"description": "",
|
|
21092
|
+
"returns": "any"
|
|
21093
|
+
},
|
|
20706
21094
|
"searchIndexStatus": {
|
|
20707
21095
|
"description": "Get the current search index status.",
|
|
20708
21096
|
"returns": "any"
|
|
@@ -21468,48 +21856,243 @@ export const introspectionData = [
|
|
|
21468
21856
|
}
|
|
21469
21857
|
},
|
|
21470
21858
|
"required": [
|
|
21471
|
-
"text",
|
|
21472
|
-
"outputPath"
|
|
21859
|
+
"text",
|
|
21860
|
+
"outputPath"
|
|
21861
|
+
],
|
|
21862
|
+
"returns": "Promise<string>",
|
|
21863
|
+
"examples": [
|
|
21864
|
+
{
|
|
21865
|
+
"language": "ts",
|
|
21866
|
+
"code": "const path = await el.say('Hello world', './hello.mp3')\nconsole.log(`Audio saved to ${path}`)"
|
|
21867
|
+
}
|
|
21868
|
+
]
|
|
21869
|
+
}
|
|
21870
|
+
},
|
|
21871
|
+
"getters": {
|
|
21872
|
+
"apiKey": {
|
|
21873
|
+
"description": "The resolved API key from options or environment.",
|
|
21874
|
+
"returns": "string"
|
|
21875
|
+
}
|
|
21876
|
+
},
|
|
21877
|
+
"events": {
|
|
21878
|
+
"failure": {
|
|
21879
|
+
"name": "failure",
|
|
21880
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
21881
|
+
"arguments": {}
|
|
21882
|
+
},
|
|
21883
|
+
"voices": {
|
|
21884
|
+
"name": "voices",
|
|
21885
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
21886
|
+
"arguments": {}
|
|
21887
|
+
},
|
|
21888
|
+
"speech": {
|
|
21889
|
+
"name": "speech",
|
|
21890
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
21891
|
+
"arguments": {}
|
|
21892
|
+
}
|
|
21893
|
+
},
|
|
21894
|
+
"state": {},
|
|
21895
|
+
"options": {},
|
|
21896
|
+
"envVars": [],
|
|
21897
|
+
"examples": [
|
|
21898
|
+
{
|
|
21899
|
+
"language": "ts",
|
|
21900
|
+
"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"
|
|
21901
|
+
}
|
|
21902
|
+
]
|
|
21903
|
+
},
|
|
21904
|
+
{
|
|
21905
|
+
"id": "clients.supabase",
|
|
21906
|
+
"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).",
|
|
21907
|
+
"shortcut": "clients.supabase",
|
|
21908
|
+
"className": "SupabaseClient",
|
|
21909
|
+
"methods": {
|
|
21910
|
+
"from": {
|
|
21911
|
+
"description": "Start a query on a Postgres table or view.",
|
|
21912
|
+
"parameters": {
|
|
21913
|
+
"table": {
|
|
21914
|
+
"type": "string",
|
|
21915
|
+
"description": "The table or view name to query"
|
|
21916
|
+
}
|
|
21917
|
+
},
|
|
21918
|
+
"required": [
|
|
21919
|
+
"table"
|
|
21920
|
+
],
|
|
21921
|
+
"returns": "void"
|
|
21922
|
+
},
|
|
21923
|
+
"rpc": {
|
|
21924
|
+
"description": "Call a Postgres function (RPC).",
|
|
21925
|
+
"parameters": {
|
|
21926
|
+
"fn": {
|
|
21927
|
+
"type": "string",
|
|
21928
|
+
"description": "The function name"
|
|
21929
|
+
},
|
|
21930
|
+
"params": {
|
|
21931
|
+
"type": "Record<string, unknown>",
|
|
21932
|
+
"description": "Arguments to pass to the function"
|
|
21933
|
+
},
|
|
21934
|
+
"options": {
|
|
21935
|
+
"type": "{ head?: boolean; get?: boolean; count?: \"exact\" | \"planned\" | \"estimated\" }",
|
|
21936
|
+
"description": "Optional settings (head, get, count)"
|
|
21937
|
+
}
|
|
21938
|
+
},
|
|
21939
|
+
"required": [
|
|
21940
|
+
"fn"
|
|
21941
|
+
],
|
|
21942
|
+
"returns": "void"
|
|
21943
|
+
},
|
|
21944
|
+
"signInWithPassword": {
|
|
21945
|
+
"description": "Sign in with email and password.",
|
|
21946
|
+
"parameters": {
|
|
21947
|
+
"email": {
|
|
21948
|
+
"type": "string",
|
|
21949
|
+
"description": "Parameter email"
|
|
21950
|
+
},
|
|
21951
|
+
"password": {
|
|
21952
|
+
"type": "string",
|
|
21953
|
+
"description": "Parameter password"
|
|
21954
|
+
}
|
|
21955
|
+
},
|
|
21956
|
+
"required": [
|
|
21957
|
+
"email",
|
|
21958
|
+
"password"
|
|
21959
|
+
],
|
|
21960
|
+
"returns": "void"
|
|
21961
|
+
},
|
|
21962
|
+
"signUp": {
|
|
21963
|
+
"description": "Create a new user account with email and password.",
|
|
21964
|
+
"parameters": {
|
|
21965
|
+
"email": {
|
|
21966
|
+
"type": "string",
|
|
21967
|
+
"description": "Parameter email"
|
|
21968
|
+
},
|
|
21969
|
+
"password": {
|
|
21970
|
+
"type": "string",
|
|
21971
|
+
"description": "Parameter password"
|
|
21972
|
+
}
|
|
21973
|
+
},
|
|
21974
|
+
"required": [
|
|
21975
|
+
"email",
|
|
21976
|
+
"password"
|
|
21977
|
+
],
|
|
21978
|
+
"returns": "void"
|
|
21979
|
+
},
|
|
21980
|
+
"signOut": {
|
|
21981
|
+
"description": "Sign the current user out.",
|
|
21982
|
+
"parameters": {},
|
|
21983
|
+
"required": [],
|
|
21984
|
+
"returns": "void"
|
|
21985
|
+
},
|
|
21986
|
+
"getSession": {
|
|
21987
|
+
"description": "Get the current session, if any.",
|
|
21988
|
+
"parameters": {},
|
|
21989
|
+
"required": [],
|
|
21990
|
+
"returns": "void"
|
|
21991
|
+
},
|
|
21992
|
+
"getUser": {
|
|
21993
|
+
"description": "Get the current user, if any.",
|
|
21994
|
+
"parameters": {},
|
|
21995
|
+
"required": [],
|
|
21996
|
+
"returns": "void"
|
|
21997
|
+
},
|
|
21998
|
+
"invoke": {
|
|
21999
|
+
"description": "Invoke a Supabase Edge Function by name.",
|
|
22000
|
+
"parameters": {
|
|
22001
|
+
"name": {
|
|
22002
|
+
"type": "string",
|
|
22003
|
+
"description": "Parameter name"
|
|
22004
|
+
},
|
|
22005
|
+
"body": {
|
|
22006
|
+
"type": "any",
|
|
22007
|
+
"description": "Parameter body"
|
|
22008
|
+
}
|
|
22009
|
+
},
|
|
22010
|
+
"required": [
|
|
22011
|
+
"name"
|
|
22012
|
+
],
|
|
22013
|
+
"returns": "void"
|
|
22014
|
+
},
|
|
22015
|
+
"subscribe": {
|
|
22016
|
+
"description": "Subscribe to realtime changes on a Postgres table.",
|
|
22017
|
+
"parameters": {
|
|
22018
|
+
"channelName": {
|
|
22019
|
+
"type": "string",
|
|
22020
|
+
"description": "A name for this subscription channel"
|
|
22021
|
+
},
|
|
22022
|
+
"table": {
|
|
22023
|
+
"type": "string",
|
|
22024
|
+
"description": "The table to listen to"
|
|
22025
|
+
},
|
|
22026
|
+
"callback": {
|
|
22027
|
+
"type": "(payload: any) => void",
|
|
22028
|
+
"description": "Called with the payload on each change"
|
|
22029
|
+
},
|
|
22030
|
+
"event": {
|
|
22031
|
+
"type": "\"INSERT\" | \"UPDATE\" | \"DELETE\" | \"*\"",
|
|
22032
|
+
"description": "The event type to listen for (default: all changes)"
|
|
22033
|
+
}
|
|
22034
|
+
},
|
|
22035
|
+
"required": [
|
|
22036
|
+
"channelName",
|
|
22037
|
+
"table",
|
|
22038
|
+
"callback"
|
|
22039
|
+
],
|
|
22040
|
+
"returns": "RealtimeChannel"
|
|
22041
|
+
},
|
|
22042
|
+
"unsubscribe": {
|
|
22043
|
+
"description": "Unsubscribe and remove a realtime channel by name.",
|
|
22044
|
+
"parameters": {
|
|
22045
|
+
"channelName": {
|
|
22046
|
+
"type": "string",
|
|
22047
|
+
"description": "The channel name to remove"
|
|
22048
|
+
}
|
|
22049
|
+
},
|
|
22050
|
+
"required": [
|
|
22051
|
+
"channelName"
|
|
21473
22052
|
],
|
|
21474
|
-
"returns": "
|
|
21475
|
-
|
|
21476
|
-
|
|
21477
|
-
|
|
21478
|
-
|
|
21479
|
-
|
|
21480
|
-
|
|
22053
|
+
"returns": "void"
|
|
22054
|
+
},
|
|
22055
|
+
"unsubscribeAll": {
|
|
22056
|
+
"description": "Unsubscribe and remove all realtime channels.",
|
|
22057
|
+
"parameters": {},
|
|
22058
|
+
"required": [],
|
|
22059
|
+
"returns": "void"
|
|
22060
|
+
},
|
|
22061
|
+
"connect": {
|
|
22062
|
+
"description": "Connect is a no-op since the Supabase SDK initializes on construction. The client is ready to use immediately after creation.",
|
|
22063
|
+
"parameters": {},
|
|
22064
|
+
"required": [],
|
|
22065
|
+
"returns": "void"
|
|
22066
|
+
},
|
|
22067
|
+
"disconnect": {
|
|
22068
|
+
"description": "Disconnect by signing out and removing all realtime channels.",
|
|
22069
|
+
"parameters": {},
|
|
22070
|
+
"required": [],
|
|
22071
|
+
"returns": "void"
|
|
21481
22072
|
}
|
|
21482
22073
|
},
|
|
21483
22074
|
"getters": {
|
|
21484
|
-
"
|
|
21485
|
-
"description": "
|
|
21486
|
-
"returns": "
|
|
21487
|
-
}
|
|
21488
|
-
},
|
|
21489
|
-
"events": {
|
|
21490
|
-
"failure": {
|
|
21491
|
-
"name": "failure",
|
|
21492
|
-
"description": "Event emitted by ElevenLabsClient",
|
|
21493
|
-
"arguments": {}
|
|
22075
|
+
"sdk": {
|
|
22076
|
+
"description": "Returns the raw Supabase SDK client for full access to all SDK methods.",
|
|
22077
|
+
"returns": "SupabaseSDKClient<any, any>"
|
|
21494
22078
|
},
|
|
21495
|
-
"
|
|
21496
|
-
"
|
|
21497
|
-
"
|
|
21498
|
-
"arguments": {}
|
|
22079
|
+
"storage": {
|
|
22080
|
+
"description": "Returns the Supabase Storage client for managing buckets and files.",
|
|
22081
|
+
"returns": "any"
|
|
21499
22082
|
},
|
|
21500
|
-
"
|
|
21501
|
-
"
|
|
21502
|
-
"
|
|
21503
|
-
"arguments": {}
|
|
22083
|
+
"functions": {
|
|
22084
|
+
"description": "Returns the Supabase Functions client.",
|
|
22085
|
+
"returns": "any"
|
|
21504
22086
|
}
|
|
21505
22087
|
},
|
|
22088
|
+
"events": {},
|
|
21506
22089
|
"state": {},
|
|
21507
22090
|
"options": {},
|
|
21508
22091
|
"envVars": [],
|
|
21509
22092
|
"examples": [
|
|
21510
22093
|
{
|
|
21511
22094
|
"language": "ts",
|
|
21512
|
-
"code": "const
|
|
22095
|
+
"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})"
|
|
21513
22096
|
}
|
|
21514
22097
|
]
|
|
21515
22098
|
},
|
|
@@ -21764,201 +22347,6 @@ export const introspectionData = [
|
|
|
21764
22347
|
}
|
|
21765
22348
|
]
|
|
21766
22349
|
},
|
|
21767
|
-
{
|
|
21768
|
-
"id": "clients.supabase",
|
|
21769
|
-
"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).",
|
|
21770
|
-
"shortcut": "clients.supabase",
|
|
21771
|
-
"className": "SupabaseClient",
|
|
21772
|
-
"methods": {
|
|
21773
|
-
"from": {
|
|
21774
|
-
"description": "Start a query on a Postgres table or view.",
|
|
21775
|
-
"parameters": {
|
|
21776
|
-
"table": {
|
|
21777
|
-
"type": "string",
|
|
21778
|
-
"description": "The table or view name to query"
|
|
21779
|
-
}
|
|
21780
|
-
},
|
|
21781
|
-
"required": [
|
|
21782
|
-
"table"
|
|
21783
|
-
],
|
|
21784
|
-
"returns": "void"
|
|
21785
|
-
},
|
|
21786
|
-
"rpc": {
|
|
21787
|
-
"description": "Call a Postgres function (RPC).",
|
|
21788
|
-
"parameters": {
|
|
21789
|
-
"fn": {
|
|
21790
|
-
"type": "string",
|
|
21791
|
-
"description": "The function name"
|
|
21792
|
-
},
|
|
21793
|
-
"params": {
|
|
21794
|
-
"type": "Record<string, unknown>",
|
|
21795
|
-
"description": "Arguments to pass to the function"
|
|
21796
|
-
},
|
|
21797
|
-
"options": {
|
|
21798
|
-
"type": "{ head?: boolean; get?: boolean; count?: \"exact\" | \"planned\" | \"estimated\" }",
|
|
21799
|
-
"description": "Optional settings (head, get, count)"
|
|
21800
|
-
}
|
|
21801
|
-
},
|
|
21802
|
-
"required": [
|
|
21803
|
-
"fn"
|
|
21804
|
-
],
|
|
21805
|
-
"returns": "void"
|
|
21806
|
-
},
|
|
21807
|
-
"signInWithPassword": {
|
|
21808
|
-
"description": "Sign in with email and password.",
|
|
21809
|
-
"parameters": {
|
|
21810
|
-
"email": {
|
|
21811
|
-
"type": "string",
|
|
21812
|
-
"description": "Parameter email"
|
|
21813
|
-
},
|
|
21814
|
-
"password": {
|
|
21815
|
-
"type": "string",
|
|
21816
|
-
"description": "Parameter password"
|
|
21817
|
-
}
|
|
21818
|
-
},
|
|
21819
|
-
"required": [
|
|
21820
|
-
"email",
|
|
21821
|
-
"password"
|
|
21822
|
-
],
|
|
21823
|
-
"returns": "void"
|
|
21824
|
-
},
|
|
21825
|
-
"signUp": {
|
|
21826
|
-
"description": "Create a new user account with email and password.",
|
|
21827
|
-
"parameters": {
|
|
21828
|
-
"email": {
|
|
21829
|
-
"type": "string",
|
|
21830
|
-
"description": "Parameter email"
|
|
21831
|
-
},
|
|
21832
|
-
"password": {
|
|
21833
|
-
"type": "string",
|
|
21834
|
-
"description": "Parameter password"
|
|
21835
|
-
}
|
|
21836
|
-
},
|
|
21837
|
-
"required": [
|
|
21838
|
-
"email",
|
|
21839
|
-
"password"
|
|
21840
|
-
],
|
|
21841
|
-
"returns": "void"
|
|
21842
|
-
},
|
|
21843
|
-
"signOut": {
|
|
21844
|
-
"description": "Sign the current user out.",
|
|
21845
|
-
"parameters": {},
|
|
21846
|
-
"required": [],
|
|
21847
|
-
"returns": "void"
|
|
21848
|
-
},
|
|
21849
|
-
"getSession": {
|
|
21850
|
-
"description": "Get the current session, if any.",
|
|
21851
|
-
"parameters": {},
|
|
21852
|
-
"required": [],
|
|
21853
|
-
"returns": "void"
|
|
21854
|
-
},
|
|
21855
|
-
"getUser": {
|
|
21856
|
-
"description": "Get the current user, if any.",
|
|
21857
|
-
"parameters": {},
|
|
21858
|
-
"required": [],
|
|
21859
|
-
"returns": "void"
|
|
21860
|
-
},
|
|
21861
|
-
"invoke": {
|
|
21862
|
-
"description": "Invoke a Supabase Edge Function by name.",
|
|
21863
|
-
"parameters": {
|
|
21864
|
-
"name": {
|
|
21865
|
-
"type": "string",
|
|
21866
|
-
"description": "Parameter name"
|
|
21867
|
-
},
|
|
21868
|
-
"body": {
|
|
21869
|
-
"type": "any",
|
|
21870
|
-
"description": "Parameter body"
|
|
21871
|
-
}
|
|
21872
|
-
},
|
|
21873
|
-
"required": [
|
|
21874
|
-
"name"
|
|
21875
|
-
],
|
|
21876
|
-
"returns": "void"
|
|
21877
|
-
},
|
|
21878
|
-
"subscribe": {
|
|
21879
|
-
"description": "Subscribe to realtime changes on a Postgres table.",
|
|
21880
|
-
"parameters": {
|
|
21881
|
-
"channelName": {
|
|
21882
|
-
"type": "string",
|
|
21883
|
-
"description": "A name for this subscription channel"
|
|
21884
|
-
},
|
|
21885
|
-
"table": {
|
|
21886
|
-
"type": "string",
|
|
21887
|
-
"description": "The table to listen to"
|
|
21888
|
-
},
|
|
21889
|
-
"callback": {
|
|
21890
|
-
"type": "(payload: any) => void",
|
|
21891
|
-
"description": "Called with the payload on each change"
|
|
21892
|
-
},
|
|
21893
|
-
"event": {
|
|
21894
|
-
"type": "\"INSERT\" | \"UPDATE\" | \"DELETE\" | \"*\"",
|
|
21895
|
-
"description": "The event type to listen for (default: all changes)"
|
|
21896
|
-
}
|
|
21897
|
-
},
|
|
21898
|
-
"required": [
|
|
21899
|
-
"channelName",
|
|
21900
|
-
"table",
|
|
21901
|
-
"callback"
|
|
21902
|
-
],
|
|
21903
|
-
"returns": "RealtimeChannel"
|
|
21904
|
-
},
|
|
21905
|
-
"unsubscribe": {
|
|
21906
|
-
"description": "Unsubscribe and remove a realtime channel by name.",
|
|
21907
|
-
"parameters": {
|
|
21908
|
-
"channelName": {
|
|
21909
|
-
"type": "string",
|
|
21910
|
-
"description": "The channel name to remove"
|
|
21911
|
-
}
|
|
21912
|
-
},
|
|
21913
|
-
"required": [
|
|
21914
|
-
"channelName"
|
|
21915
|
-
],
|
|
21916
|
-
"returns": "void"
|
|
21917
|
-
},
|
|
21918
|
-
"unsubscribeAll": {
|
|
21919
|
-
"description": "Unsubscribe and remove all realtime channels.",
|
|
21920
|
-
"parameters": {},
|
|
21921
|
-
"required": [],
|
|
21922
|
-
"returns": "void"
|
|
21923
|
-
},
|
|
21924
|
-
"connect": {
|
|
21925
|
-
"description": "Connect is a no-op since the Supabase SDK initializes on construction. The client is ready to use immediately after creation.",
|
|
21926
|
-
"parameters": {},
|
|
21927
|
-
"required": [],
|
|
21928
|
-
"returns": "void"
|
|
21929
|
-
},
|
|
21930
|
-
"disconnect": {
|
|
21931
|
-
"description": "Disconnect by signing out and removing all realtime channels.",
|
|
21932
|
-
"parameters": {},
|
|
21933
|
-
"required": [],
|
|
21934
|
-
"returns": "void"
|
|
21935
|
-
}
|
|
21936
|
-
},
|
|
21937
|
-
"getters": {
|
|
21938
|
-
"sdk": {
|
|
21939
|
-
"description": "Returns the raw Supabase SDK client for full access to all SDK methods.",
|
|
21940
|
-
"returns": "SupabaseSDKClient<any, any>"
|
|
21941
|
-
},
|
|
21942
|
-
"storage": {
|
|
21943
|
-
"description": "Returns the Supabase Storage client for managing buckets and files.",
|
|
21944
|
-
"returns": "any"
|
|
21945
|
-
},
|
|
21946
|
-
"functions": {
|
|
21947
|
-
"description": "Returns the Supabase Functions client.",
|
|
21948
|
-
"returns": "any"
|
|
21949
|
-
}
|
|
21950
|
-
},
|
|
21951
|
-
"events": {},
|
|
21952
|
-
"state": {},
|
|
21953
|
-
"options": {},
|
|
21954
|
-
"envVars": [],
|
|
21955
|
-
"examples": [
|
|
21956
|
-
{
|
|
21957
|
-
"language": "ts",
|
|
21958
|
-
"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})"
|
|
21959
|
-
}
|
|
21960
|
-
]
|
|
21961
|
-
},
|
|
21962
22350
|
{
|
|
21963
22351
|
"id": "servers.mcp",
|
|
21964
22352
|
"description": "MCP (Model Context Protocol) server for exposing tools, resources, and prompts to AI clients like Claude Code. Uses the low-level MCP SDK Server class directly with Zod 4 native JSON Schema conversion. Register tools, resources, and prompts programmatically, then start the server over stdio (for CLI integration) or HTTP (for remote access).",
|
|
@@ -22678,6 +23066,10 @@ export const containerIntrospectionData = [
|
|
|
22678
23066
|
"description": "Returns a map of enabled feature shortcut IDs to their instances.",
|
|
22679
23067
|
"returns": "Partial<AvailableInstanceTypes<Features>>"
|
|
22680
23068
|
},
|
|
23069
|
+
"describer": {
|
|
23070
|
+
"description": "Lazy-initialized ContainerDescriber for introspecting registries, helpers, and members.",
|
|
23071
|
+
"returns": "ContainerDescriber"
|
|
23072
|
+
},
|
|
22681
23073
|
"context": {
|
|
22682
23074
|
"description": "The Container's context is an object that contains the enabled features, the container itself, and any additional context that has been added to the container. All helper instances that are created by the container will have access to the shared context.",
|
|
22683
23075
|
"returns": "ContainerContext<Features> & Partial<AvailableInstanceTypes<AvailableFeatures>>"
|