@soederpop/luca 0.1.2 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/release.yaml +167 -0
- package/CLAUDE.md +2 -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 +17 -4
- package/assistants/codingAssistant/tools.ts +1 -106
- package/assistants/inkbot/ABOUT.md +5 -0
- package/assistants/inkbot/CORE.md +71 -0
- package/assistants/inkbot/hooks.ts +14 -0
- package/assistants/inkbot/tools.ts +47 -0
- package/bun.lock +20 -4
- package/commands/inkbot.ts +353 -0
- package/commands/release.ts +75 -181
- package/dist/agi/container.server.d.ts +63 -0
- package/dist/agi/container.server.d.ts.map +1 -0
- package/dist/agi/endpoints/ask.d.ts +20 -0
- package/dist/agi/endpoints/ask.d.ts.map +1 -0
- package/dist/agi/endpoints/conversations/[id].d.ts +27 -0
- package/dist/agi/endpoints/conversations/[id].d.ts.map +1 -0
- package/dist/agi/endpoints/conversations.d.ts +18 -0
- package/dist/agi/endpoints/conversations.d.ts.map +1 -0
- package/dist/agi/endpoints/experts.d.ts +8 -0
- package/dist/agi/endpoints/experts.d.ts.map +1 -0
- package/dist/agi/feature.d.ts +9 -0
- package/dist/agi/feature.d.ts.map +1 -0
- package/dist/agi/features/assistant.d.ts +509 -0
- package/dist/agi/features/assistant.d.ts.map +1 -0
- package/dist/agi/features/assistants-manager.d.ts +236 -0
- package/dist/agi/features/assistants-manager.d.ts.map +1 -0
- package/dist/agi/features/autonomous-assistant.d.ts +281 -0
- package/dist/agi/features/autonomous-assistant.d.ts.map +1 -0
- package/dist/agi/features/browser-use.d.ts +479 -0
- package/dist/agi/features/browser-use.d.ts.map +1 -0
- package/dist/agi/features/claude-code.d.ts +824 -0
- package/dist/agi/features/claude-code.d.ts.map +1 -0
- package/dist/agi/features/conversation-history.d.ts +245 -0
- package/dist/agi/features/conversation-history.d.ts.map +1 -0
- package/dist/agi/features/conversation.d.ts +464 -0
- package/dist/agi/features/conversation.d.ts.map +1 -0
- package/dist/agi/features/docs-reader.d.ts +72 -0
- package/dist/agi/features/docs-reader.d.ts.map +1 -0
- package/dist/agi/features/file-tools.d.ts +110 -0
- package/dist/agi/features/file-tools.d.ts.map +1 -0
- package/dist/agi/features/luca-coder.d.ts +323 -0
- package/dist/agi/features/luca-coder.d.ts.map +1 -0
- package/dist/agi/features/openai-codex.d.ts +381 -0
- package/dist/agi/features/openai-codex.d.ts.map +1 -0
- package/dist/agi/features/openapi.d.ts +200 -0
- package/dist/agi/features/openapi.d.ts.map +1 -0
- package/dist/agi/features/skills-library.d.ts +167 -0
- package/dist/agi/features/skills-library.d.ts.map +1 -0
- package/dist/agi/index.d.ts +5 -0
- package/dist/agi/index.d.ts.map +1 -0
- package/dist/agi/lib/interceptor-chain.d.ts +44 -0
- package/dist/agi/lib/interceptor-chain.d.ts.map +1 -0
- package/dist/agi/lib/token-counter.d.ts +13 -0
- package/dist/agi/lib/token-counter.d.ts.map +1 -0
- package/dist/bootstrap/generated.d.ts +5 -0
- package/dist/bootstrap/generated.d.ts.map +1 -0
- package/dist/browser.d.ts +12 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/bus.d.ts +29 -0
- package/dist/bus.d.ts.map +1 -0
- package/dist/cli/build-info.d.ts +4 -0
- package/dist/cli/build-info.d.ts.map +1 -0
- package/dist/cli/cli.d.ts +3 -0
- package/dist/cli/cli.d.ts.map +1 -0
- package/dist/client.d.ts +60 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/clients/civitai/index.d.ts +472 -0
- package/dist/clients/civitai/index.d.ts.map +1 -0
- package/dist/clients/client-template.d.ts +30 -0
- package/dist/clients/client-template.d.ts.map +1 -0
- package/dist/clients/comfyui/index.d.ts +281 -0
- package/dist/clients/comfyui/index.d.ts.map +1 -0
- package/dist/clients/elevenlabs/index.d.ts +197 -0
- package/dist/clients/elevenlabs/index.d.ts.map +1 -0
- package/dist/clients/graph.d.ts +64 -0
- package/dist/clients/graph.d.ts.map +1 -0
- package/dist/clients/openai/index.d.ts +247 -0
- package/dist/clients/openai/index.d.ts.map +1 -0
- package/dist/clients/rest.d.ts +92 -0
- package/dist/clients/rest.d.ts.map +1 -0
- package/dist/clients/supabase/index.d.ts +176 -0
- package/dist/clients/supabase/index.d.ts.map +1 -0
- package/dist/clients/websocket.d.ts +127 -0
- package/dist/clients/websocket.d.ts.map +1 -0
- package/dist/command.d.ts +163 -0
- package/dist/command.d.ts.map +1 -0
- package/dist/commands/bootstrap.d.ts +20 -0
- package/dist/commands/bootstrap.d.ts.map +1 -0
- package/dist/commands/chat.d.ts +37 -0
- package/dist/commands/chat.d.ts.map +1 -0
- package/dist/commands/code.d.ts +28 -0
- package/dist/commands/code.d.ts.map +1 -0
- package/dist/commands/console.d.ts +22 -0
- package/dist/commands/console.d.ts.map +1 -0
- package/dist/commands/describe.d.ts +50 -0
- package/dist/commands/describe.d.ts.map +1 -0
- package/dist/commands/eval.d.ts +23 -0
- package/dist/commands/eval.d.ts.map +1 -0
- package/dist/commands/help.d.ts +25 -0
- package/dist/commands/help.d.ts.map +1 -0
- package/dist/commands/index.d.ts +18 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/introspect.d.ts +24 -0
- package/dist/commands/introspect.d.ts.map +1 -0
- package/dist/commands/mcp.d.ts +35 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/prompt.d.ts +38 -0
- package/dist/commands/prompt.d.ts.map +1 -0
- package/dist/commands/run.d.ts +24 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/sandbox-mcp.d.ts +34 -0
- package/dist/commands/sandbox-mcp.d.ts.map +1 -0
- package/dist/commands/save-api-docs.d.ts +21 -0
- package/dist/commands/save-api-docs.d.ts.map +1 -0
- package/dist/commands/scaffold.d.ts +24 -0
- package/dist/commands/scaffold.d.ts.map +1 -0
- package/dist/commands/select.d.ts +22 -0
- package/dist/commands/select.d.ts.map +1 -0
- package/dist/commands/serve.d.ts +29 -0
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/container-describer.d.ts +144 -0
- package/dist/container-describer.d.ts.map +1 -0
- package/dist/container.d.ts +451 -0
- package/dist/container.d.ts.map +1 -0
- package/dist/endpoint.d.ts +113 -0
- package/dist/endpoint.d.ts.map +1 -0
- package/dist/feature.d.ts +47 -0
- package/dist/feature.d.ts.map +1 -0
- package/dist/graft.d.ts +29 -0
- package/dist/graft.d.ts.map +1 -0
- package/dist/hash-object.d.ts +8 -0
- package/dist/hash-object.d.ts.map +1 -0
- package/dist/helper.d.ts +209 -0
- package/dist/helper.d.ts.map +1 -0
- package/dist/introspection/generated.node.d.ts +44623 -0
- package/dist/introspection/generated.node.d.ts.map +1 -0
- package/dist/introspection/generated.web.d.ts +1412 -0
- package/dist/introspection/generated.web.d.ts.map +1 -0
- package/dist/introspection/index.d.ts +156 -0
- package/dist/introspection/index.d.ts.map +1 -0
- package/dist/introspection/scan.d.ts +147 -0
- package/dist/introspection/scan.d.ts.map +1 -0
- package/dist/node/container.d.ts +256 -0
- package/dist/node/container.d.ts.map +1 -0
- package/dist/node/feature.d.ts +9 -0
- package/dist/node/feature.d.ts.map +1 -0
- package/dist/node/features/container-link.d.ts +213 -0
- package/dist/node/features/container-link.d.ts.map +1 -0
- package/dist/node/features/content-db.d.ts +354 -0
- package/dist/node/features/content-db.d.ts.map +1 -0
- package/dist/node/features/disk-cache.d.ts +236 -0
- package/dist/node/features/disk-cache.d.ts.map +1 -0
- package/dist/node/features/dns.d.ts +511 -0
- package/dist/node/features/dns.d.ts.map +1 -0
- package/dist/node/features/docker.d.ts +485 -0
- package/dist/node/features/docker.d.ts.map +1 -0
- package/dist/node/features/downloader.d.ts +73 -0
- package/dist/node/features/downloader.d.ts.map +1 -0
- package/dist/node/features/figlet-fonts.d.ts +4 -0
- package/dist/node/features/figlet-fonts.d.ts.map +1 -0
- package/dist/node/features/file-manager.d.ts +177 -0
- package/dist/node/features/file-manager.d.ts.map +1 -0
- package/dist/node/features/fs.d.ts +635 -0
- package/dist/node/features/fs.d.ts.map +1 -0
- package/dist/node/features/git.d.ts +329 -0
- package/dist/node/features/git.d.ts.map +1 -0
- package/dist/node/features/google-auth.d.ts +200 -0
- package/dist/node/features/google-auth.d.ts.map +1 -0
- package/dist/node/features/google-calendar.d.ts +194 -0
- package/dist/node/features/google-calendar.d.ts.map +1 -0
- package/dist/node/features/google-docs.d.ts +138 -0
- package/dist/node/features/google-docs.d.ts.map +1 -0
- package/dist/node/features/google-drive.d.ts +202 -0
- package/dist/node/features/google-drive.d.ts.map +1 -0
- package/dist/node/features/google-mail.d.ts +221 -0
- package/dist/node/features/google-mail.d.ts.map +1 -0
- package/dist/node/features/google-sheets.d.ts +157 -0
- package/dist/node/features/google-sheets.d.ts.map +1 -0
- package/dist/node/features/grep.d.ts +207 -0
- package/dist/node/features/grep.d.ts.map +1 -0
- package/dist/node/features/helpers.d.ts +236 -0
- package/dist/node/features/helpers.d.ts.map +1 -0
- package/dist/node/features/ink.d.ts +332 -0
- package/dist/node/features/ink.d.ts.map +1 -0
- package/dist/node/features/ipc-socket.d.ts +298 -0
- package/dist/node/features/ipc-socket.d.ts.map +1 -0
- package/dist/node/features/json-tree.d.ts +140 -0
- package/dist/node/features/json-tree.d.ts.map +1 -0
- package/dist/node/features/networking.d.ts +373 -0
- package/dist/node/features/networking.d.ts.map +1 -0
- package/dist/node/features/nlp.d.ts +125 -0
- package/dist/node/features/nlp.d.ts.map +1 -0
- package/dist/node/features/opener.d.ts +93 -0
- package/dist/node/features/opener.d.ts.map +1 -0
- package/dist/node/features/os.d.ts +168 -0
- package/dist/node/features/os.d.ts.map +1 -0
- package/dist/node/features/package-finder.d.ts +419 -0
- package/dist/node/features/package-finder.d.ts.map +1 -0
- package/dist/node/features/postgres.d.ts +173 -0
- package/dist/node/features/postgres.d.ts.map +1 -0
- package/dist/node/features/proc.d.ts +285 -0
- package/dist/node/features/proc.d.ts.map +1 -0
- package/dist/node/features/process-manager.d.ts +427 -0
- package/dist/node/features/process-manager.d.ts.map +1 -0
- package/dist/node/features/python.d.ts +477 -0
- package/dist/node/features/python.d.ts.map +1 -0
- package/dist/node/features/redis.d.ts +247 -0
- package/dist/node/features/redis.d.ts.map +1 -0
- package/dist/node/features/repl.d.ts +84 -0
- package/dist/node/features/repl.d.ts.map +1 -0
- package/dist/node/features/runpod.d.ts +527 -0
- package/dist/node/features/runpod.d.ts.map +1 -0
- package/dist/node/features/secure-shell.d.ts +145 -0
- package/dist/node/features/secure-shell.d.ts.map +1 -0
- package/dist/node/features/semantic-search.d.ts +207 -0
- package/dist/node/features/semantic-search.d.ts.map +1 -0
- package/dist/node/features/sqlite.d.ts +180 -0
- package/dist/node/features/sqlite.d.ts.map +1 -0
- package/dist/node/features/telegram.d.ts +173 -0
- package/dist/node/features/telegram.d.ts.map +1 -0
- package/dist/node/features/transpiler.d.ts +51 -0
- package/dist/node/features/transpiler.d.ts.map +1 -0
- package/dist/node/features/tts.d.ts +108 -0
- package/dist/node/features/tts.d.ts.map +1 -0
- package/dist/node/features/ui.d.ts +562 -0
- package/dist/node/features/ui.d.ts.map +1 -0
- package/dist/node/features/vault.d.ts +90 -0
- package/dist/node/features/vault.d.ts.map +1 -0
- package/dist/node/features/vm.d.ts +285 -0
- package/dist/node/features/vm.d.ts.map +1 -0
- package/dist/node/features/yaml-tree.d.ts +118 -0
- package/dist/node/features/yaml-tree.d.ts.map +1 -0
- package/dist/node/features/yaml.d.ts +127 -0
- package/dist/node/features/yaml.d.ts.map +1 -0
- package/dist/node.d.ts +67 -0
- package/dist/node.d.ts.map +1 -0
- package/dist/python/generated.d.ts +2 -0
- package/dist/python/generated.d.ts.map +1 -0
- package/dist/react/index.d.ts +36 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/registry.d.ts +97 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/scaffolds/generated.d.ts +13 -0
- package/dist/scaffolds/generated.d.ts.map +1 -0
- package/dist/scaffolds/template.d.ts +11 -0
- package/dist/scaffolds/template.d.ts.map +1 -0
- package/dist/schemas/base.d.ts +254 -0
- package/dist/schemas/base.d.ts.map +1 -0
- package/dist/selector.d.ts +130 -0
- package/dist/selector.d.ts.map +1 -0
- package/dist/server.d.ts +89 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/servers/express.d.ts +104 -0
- package/dist/servers/express.d.ts.map +1 -0
- package/dist/servers/mcp.d.ts +201 -0
- package/dist/servers/mcp.d.ts.map +1 -0
- package/dist/servers/socket.d.ts +121 -0
- package/dist/servers/socket.d.ts.map +1 -0
- package/dist/state.d.ts +24 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/web/clients/socket.d.ts +37 -0
- package/dist/web/clients/socket.d.ts.map +1 -0
- package/dist/web/container.d.ts +55 -0
- package/dist/web/container.d.ts.map +1 -0
- package/dist/web/extension.d.ts +4 -0
- package/dist/web/extension.d.ts.map +1 -0
- package/dist/web/feature.d.ts +8 -0
- package/dist/web/feature.d.ts.map +1 -0
- package/dist/web/features/asset-loader.d.ts +35 -0
- package/dist/web/features/asset-loader.d.ts.map +1 -0
- package/dist/web/features/container-link.d.ts +167 -0
- package/dist/web/features/container-link.d.ts.map +1 -0
- package/dist/web/features/esbuild.d.ts +51 -0
- package/dist/web/features/esbuild.d.ts.map +1 -0
- package/dist/web/features/helpers.d.ts +140 -0
- package/dist/web/features/helpers.d.ts.map +1 -0
- package/dist/web/features/network.d.ts +69 -0
- package/dist/web/features/network.d.ts.map +1 -0
- package/dist/web/features/speech.d.ts +71 -0
- package/dist/web/features/speech.d.ts.map +1 -0
- package/dist/web/features/vault.d.ts +62 -0
- package/dist/web/features/vault.d.ts.map +1 -0
- package/dist/web/features/vm.d.ts +48 -0
- package/dist/web/features/vm.d.ts.map +1 -0
- package/dist/web/features/voice-recognition.d.ts +96 -0
- package/dist/web/features/voice-recognition.d.ts.map +1 -0
- package/dist/web/shims/isomorphic-vm.d.ts +22 -0
- package/dist/web/shims/isomorphic-vm.d.ts.map +1 -0
- package/docs/apis/features/agi/assistant.md +1 -0
- package/docs/apis/features/agi/assistants-manager.md +62 -2
- package/docs/apis/features/agi/auto-assistant.md +11 -109
- package/docs/apis/features/agi/claude-code.md +138 -0
- package/docs/apis/features/agi/conversation.md +60 -31
- package/docs/apis/features/agi/luca-coder.md +407 -0
- package/docs/apis/features/agi/openapi.md +2 -2
- package/docs/apis/features/agi/skills-library.md +12 -0
- package/docs/apis/features/node/python.md +81 -11
- package/docs/apis/features/node/transpiler.md +74 -0
- package/docs/apis/features/web/esbuild.md +0 -6
- package/docs/apis/servers/mcp.md +2 -2
- package/docs/examples/entity.md +124 -0
- package/docs/ideas/assistant-factory-pattern.md +142 -0
- package/package.json +74 -21
- package/src/agi/container.server.ts +10 -0
- package/src/agi/feature.ts +13 -0
- package/src/agi/features/agent-memory.ts +694 -0
- package/src/agi/features/assistant.ts +37 -26
- package/src/agi/features/assistants-manager.ts +95 -5
- package/src/agi/features/autonomous-assistant.ts +1 -5
- package/src/agi/features/browser-use.ts +32 -2
- package/src/agi/features/claude-code.ts +165 -1
- package/src/agi/features/coding-tools.ts +175 -0
- package/src/agi/features/conversation-history.ts +2 -6
- package/src/agi/features/conversation.ts +95 -3
- package/src/agi/features/docs-reader.ts +2 -1
- package/src/agi/features/file-tools.ts +35 -28
- package/src/agi/features/luca-coder.ts +1 -5
- package/src/agi/features/openai-codex.ts +1 -1
- package/src/agi/features/openapi.ts +3 -3
- package/src/agi/features/skills-library.ts +111 -13
- package/src/agi/lib/interceptor-chain.ts +10 -0
- package/src/agi/lib/token-counter.ts +1 -1
- package/src/bootstrap/generated.ts +126 -1
- package/src/bus.ts +27 -5
- package/src/cli/build-info.ts +2 -2
- package/src/client.ts +2 -2
- package/src/clients/elevenlabs/index.ts +5 -0
- package/src/clients/voicebox/index.ts +300 -0
- package/src/commands/bootstrap.ts +2 -1
- package/src/commands/chat.ts +1 -0
- package/src/commands/code.ts +4 -2
- package/src/commands/prompt.ts +34 -34
- package/src/commands/sandbox-mcp.ts +69 -163
- package/src/commands/save-api-docs.ts +10 -8
- package/src/commands/select.ts +8 -3
- package/src/container-describer.ts +70 -84
- package/src/container.ts +93 -3
- package/src/endpoint.ts +1 -1
- package/src/entity.ts +173 -0
- package/src/feature.ts +3 -3
- package/src/helper.ts +8 -4
- package/src/introspection/generated.agi.ts +3012 -1356
- package/src/introspection/generated.node.ts +179 -33
- package/src/introspection/generated.web.ts +95 -3
- package/src/introspection/scan.ts +1 -1
- package/src/node/container.ts +1 -1
- package/src/node/features/content-db.ts +57 -30
- package/src/node/features/file-manager.ts +10 -9
- package/src/node/features/git.ts +5 -5
- package/src/node/features/helpers.ts +1 -1
- package/src/node/features/json-tree.ts +1 -1
- package/src/node/features/os.ts +3 -3
- package/src/node/features/package-finder.ts +1 -1
- package/src/node/features/process-manager.ts +51 -18
- package/src/node/features/python.ts +3 -3
- package/src/node/features/redis.ts +1 -1
- package/src/node/features/repl.ts +2 -2
- package/src/node/features/transpiler.ts +2 -2
- package/src/node/features/ui.ts +1 -1
- package/src/node/features/vm.ts +3 -3
- package/src/node/features/yaml-tree.ts +1 -1
- package/src/node.ts +1 -0
- package/src/python/generated.ts +1 -1
- package/src/scaffolds/generated.ts +1 -1
- package/src/selector.ts +74 -4
- package/src/server.ts +2 -2
- package/src/servers/mcp.ts +6 -6
- package/src/web/features/helpers.ts +1 -1
- package/src/web/features/network.ts +1 -0
- package/test/assistant.test.ts +14 -5
- package/test/conversation.test.ts +220 -0
- package/test-integration/memory.test.ts +204 -0
- package/tsconfig.build.json +12 -0
- package/tsconfig.json +1 -1
- package/scripts/examples/telegram-ink-ui.ts +0 -302
- package/scripts/examples/using-openai-codex.ts +0 -23
- package/scripts/examples/vm-loading-esm-modules.ts +0 -16
|
@@ -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-
|
|
4
|
+
// Generated at: 2026-04-05T06:58:06.272Z
|
|
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": {
|
|
@@ -11838,274 +11864,6 @@ setBuildTimeData('clients.websocket', {
|
|
|
11838
11864
|
"envVars": []
|
|
11839
11865
|
});
|
|
11840
11866
|
|
|
11841
|
-
setBuildTimeData('clients.openai', {
|
|
11842
|
-
"id": "clients.openai",
|
|
11843
|
-
"description": "OpenAI client — wraps the OpenAI SDK for chat completions, responses API, embeddings, and image generation. Provides convenience methods for common operations while tracking token usage and request counts. Supports both the Chat Completions API and the newer Responses API.",
|
|
11844
|
-
"shortcut": "clients.openai",
|
|
11845
|
-
"className": "OpenAIClient",
|
|
11846
|
-
"methods": {
|
|
11847
|
-
"connect": {
|
|
11848
|
-
"description": "Test the API connection by listing models.",
|
|
11849
|
-
"parameters": {},
|
|
11850
|
-
"required": [],
|
|
11851
|
-
"returns": "Promise<this>",
|
|
11852
|
-
"examples": [
|
|
11853
|
-
{
|
|
11854
|
-
"language": "ts",
|
|
11855
|
-
"code": "await openai.connect()"
|
|
11856
|
-
}
|
|
11857
|
-
]
|
|
11858
|
-
},
|
|
11859
|
-
"createChatCompletion": {
|
|
11860
|
-
"description": "Create a chat completion using the Chat Completions API.",
|
|
11861
|
-
"parameters": {
|
|
11862
|
-
"messages": {
|
|
11863
|
-
"type": "OpenAI.Chat.Completions.ChatCompletionMessageParam[]",
|
|
11864
|
-
"description": "Array of chat messages"
|
|
11865
|
-
},
|
|
11866
|
-
"options": {
|
|
11867
|
-
"type": "Partial<OpenAI.Chat.Completions.ChatCompletionCreateParams>",
|
|
11868
|
-
"description": "Additional parameters for the completion"
|
|
11869
|
-
}
|
|
11870
|
-
},
|
|
11871
|
-
"required": [
|
|
11872
|
-
"messages"
|
|
11873
|
-
],
|
|
11874
|
-
"returns": "Promise<OpenAI.Chat.Completions.ChatCompletion>",
|
|
11875
|
-
"examples": [
|
|
11876
|
-
{
|
|
11877
|
-
"language": "ts",
|
|
11878
|
-
"code": "const response = await openai.createChatCompletion([\n { role: 'system', content: 'You are a helpful assistant.' },\n { role: 'user', content: 'Hello!' }\n])\nconsole.log(response.choices[0]?.message?.content)"
|
|
11879
|
-
}
|
|
11880
|
-
]
|
|
11881
|
-
},
|
|
11882
|
-
"createResponse": {
|
|
11883
|
-
"description": "Create a response using the Responses API.",
|
|
11884
|
-
"parameters": {
|
|
11885
|
-
"input": {
|
|
11886
|
-
"type": "OpenAI.Responses.ResponseInput | string",
|
|
11887
|
-
"description": "The input prompt or message array"
|
|
11888
|
-
},
|
|
11889
|
-
"options": {
|
|
11890
|
-
"type": "Partial<OpenAI.Responses.ResponseCreateParamsNonStreaming>",
|
|
11891
|
-
"description": "Additional parameters for the response"
|
|
11892
|
-
}
|
|
11893
|
-
},
|
|
11894
|
-
"required": [
|
|
11895
|
-
"input"
|
|
11896
|
-
],
|
|
11897
|
-
"returns": "Promise<OpenAI.Responses.Response>",
|
|
11898
|
-
"examples": [
|
|
11899
|
-
{
|
|
11900
|
-
"language": "ts",
|
|
11901
|
-
"code": "const response = await openai.createResponse('Explain quantum computing')"
|
|
11902
|
-
}
|
|
11903
|
-
]
|
|
11904
|
-
},
|
|
11905
|
-
"streamResponse": {
|
|
11906
|
-
"description": "Stream a response using the Responses API.",
|
|
11907
|
-
"parameters": {
|
|
11908
|
-
"input": {
|
|
11909
|
-
"type": "OpenAI.Responses.ResponseInput | string",
|
|
11910
|
-
"description": "The input prompt or message array"
|
|
11911
|
-
},
|
|
11912
|
-
"options": {
|
|
11913
|
-
"type": "Partial<OpenAI.Responses.ResponseCreateParamsStreaming>",
|
|
11914
|
-
"description": "Additional parameters for the streaming response"
|
|
11915
|
-
}
|
|
11916
|
-
},
|
|
11917
|
-
"required": [
|
|
11918
|
-
"input"
|
|
11919
|
-
],
|
|
11920
|
-
"returns": "Promise<AsyncIterable<OpenAI.Responses.ResponseStreamEvent>>",
|
|
11921
|
-
"examples": [
|
|
11922
|
-
{
|
|
11923
|
-
"language": "ts",
|
|
11924
|
-
"code": "const stream = await openai.streamResponse('Write a poem')\nfor await (const event of stream) {\n if (event.type === 'response.output_text.delta') {\n process.stdout.write(event.delta)\n }\n}"
|
|
11925
|
-
}
|
|
11926
|
-
]
|
|
11927
|
-
},
|
|
11928
|
-
"createCompletion": {
|
|
11929
|
-
"description": "Create a legacy text completion.",
|
|
11930
|
-
"parameters": {
|
|
11931
|
-
"prompt": {
|
|
11932
|
-
"type": "string",
|
|
11933
|
-
"description": "The text prompt to complete"
|
|
11934
|
-
},
|
|
11935
|
-
"options": {
|
|
11936
|
-
"type": "Partial<OpenAI.Completions.CompletionCreateParams>",
|
|
11937
|
-
"description": "Additional parameters for the completion"
|
|
11938
|
-
}
|
|
11939
|
-
},
|
|
11940
|
-
"required": [
|
|
11941
|
-
"prompt"
|
|
11942
|
-
],
|
|
11943
|
-
"returns": "Promise<OpenAI.Completions.Completion>",
|
|
11944
|
-
"examples": [
|
|
11945
|
-
{
|
|
11946
|
-
"language": "ts",
|
|
11947
|
-
"code": "const response = await openai.createCompletion('Once upon a time')"
|
|
11948
|
-
}
|
|
11949
|
-
]
|
|
11950
|
-
},
|
|
11951
|
-
"createEmbedding": {
|
|
11952
|
-
"description": "Create text embeddings for semantic search or similarity comparisons.",
|
|
11953
|
-
"parameters": {
|
|
11954
|
-
"input": {
|
|
11955
|
-
"type": "string | string[]",
|
|
11956
|
-
"description": "A string or array of strings to embed"
|
|
11957
|
-
},
|
|
11958
|
-
"options": {
|
|
11959
|
-
"type": "Partial<OpenAI.Embeddings.EmbeddingCreateParams>",
|
|
11960
|
-
"description": "Additional parameters (model, etc.)"
|
|
11961
|
-
}
|
|
11962
|
-
},
|
|
11963
|
-
"required": [
|
|
11964
|
-
"input"
|
|
11965
|
-
],
|
|
11966
|
-
"returns": "Promise<OpenAI.Embeddings.CreateEmbeddingResponse>",
|
|
11967
|
-
"examples": [
|
|
11968
|
-
{
|
|
11969
|
-
"language": "ts",
|
|
11970
|
-
"code": "const response = await openai.createEmbedding('Hello world')\nconsole.log(response.data[0].embedding.length)"
|
|
11971
|
-
}
|
|
11972
|
-
]
|
|
11973
|
-
},
|
|
11974
|
-
"createImage": {
|
|
11975
|
-
"description": "Generate an image from a text prompt using DALL-E.",
|
|
11976
|
-
"parameters": {
|
|
11977
|
-
"prompt": {
|
|
11978
|
-
"type": "string",
|
|
11979
|
-
"description": "Description of the image to generate"
|
|
11980
|
-
},
|
|
11981
|
-
"options": {
|
|
11982
|
-
"type": "Partial<OpenAI.Images.ImageGenerateParams>",
|
|
11983
|
-
"description": "Additional parameters (size, n, etc.)"
|
|
11984
|
-
}
|
|
11985
|
-
},
|
|
11986
|
-
"required": [
|
|
11987
|
-
"prompt"
|
|
11988
|
-
],
|
|
11989
|
-
"returns": "Promise<OpenAI.Images.ImagesResponse>",
|
|
11990
|
-
"examples": [
|
|
11991
|
-
{
|
|
11992
|
-
"language": "ts",
|
|
11993
|
-
"code": "const response = await openai.createImage('A sunset over mountains')\nconsole.log(response.data[0].url)"
|
|
11994
|
-
}
|
|
11995
|
-
]
|
|
11996
|
-
},
|
|
11997
|
-
"listModels": {
|
|
11998
|
-
"description": "List all available models.",
|
|
11999
|
-
"parameters": {},
|
|
12000
|
-
"required": [],
|
|
12001
|
-
"returns": "Promise<OpenAI.Models.ModelsPage>",
|
|
12002
|
-
"examples": [
|
|
12003
|
-
{
|
|
12004
|
-
"language": "ts",
|
|
12005
|
-
"code": "const models = await openai.listModels()"
|
|
12006
|
-
}
|
|
12007
|
-
]
|
|
12008
|
-
},
|
|
12009
|
-
"ask": {
|
|
12010
|
-
"description": "Ask a single question and get a text response. Convenience wrapper around `createChatCompletion` for simple Q&A.",
|
|
12011
|
-
"parameters": {
|
|
12012
|
-
"question": {
|
|
12013
|
-
"type": "string",
|
|
12014
|
-
"description": "The question to ask"
|
|
12015
|
-
},
|
|
12016
|
-
"options": {
|
|
12017
|
-
"type": "Partial<OpenAI.Chat.Completions.ChatCompletionCreateParams>",
|
|
12018
|
-
"description": "Additional completion parameters"
|
|
12019
|
-
}
|
|
12020
|
-
},
|
|
12021
|
-
"required": [
|
|
12022
|
-
"question"
|
|
12023
|
-
],
|
|
12024
|
-
"returns": "Promise<string>",
|
|
12025
|
-
"examples": [
|
|
12026
|
-
{
|
|
12027
|
-
"language": "ts",
|
|
12028
|
-
"code": "const answer = await openai.ask('What is 2 + 2?')\nconsole.log(answer) // '4'"
|
|
12029
|
-
}
|
|
12030
|
-
]
|
|
12031
|
-
},
|
|
12032
|
-
"chat": {
|
|
12033
|
-
"description": "Send a multi-turn conversation and get a text response. Convenience wrapper around `createChatCompletion` that returns just the text.",
|
|
12034
|
-
"parameters": {
|
|
12035
|
-
"messages": {
|
|
12036
|
-
"type": "OpenAI.Chat.Completions.ChatCompletionMessageParam[]",
|
|
12037
|
-
"description": "Array of chat messages"
|
|
12038
|
-
},
|
|
12039
|
-
"options": {
|
|
12040
|
-
"type": "Partial<OpenAI.Chat.Completions.ChatCompletionCreateParams>",
|
|
12041
|
-
"description": "Additional completion parameters"
|
|
12042
|
-
}
|
|
12043
|
-
},
|
|
12044
|
-
"required": [
|
|
12045
|
-
"messages"
|
|
12046
|
-
],
|
|
12047
|
-
"returns": "Promise<string>",
|
|
12048
|
-
"examples": [
|
|
12049
|
-
{
|
|
12050
|
-
"language": "ts",
|
|
12051
|
-
"code": "const reply = await openai.chat([\n { role: 'system', content: 'You are a pirate.' },\n { role: 'user', content: 'Hello!' }\n])"
|
|
12052
|
-
}
|
|
12053
|
-
]
|
|
12054
|
-
}
|
|
12055
|
-
},
|
|
12056
|
-
"getters": {
|
|
12057
|
-
"defaultModel": {
|
|
12058
|
-
"description": "The default model used for completions, from options or 'gpt-4o'.",
|
|
12059
|
-
"returns": "string"
|
|
12060
|
-
},
|
|
12061
|
-
"raw": {
|
|
12062
|
-
"description": "The underlying OpenAI SDK instance for advanced use cases.",
|
|
12063
|
-
"returns": "OpenAI"
|
|
12064
|
-
}
|
|
12065
|
-
},
|
|
12066
|
-
"events": {
|
|
12067
|
-
"connected": {
|
|
12068
|
-
"name": "connected",
|
|
12069
|
-
"description": "Event emitted by OpenAIClient",
|
|
12070
|
-
"arguments": {}
|
|
12071
|
-
},
|
|
12072
|
-
"failure": {
|
|
12073
|
-
"name": "failure",
|
|
12074
|
-
"description": "Event emitted by OpenAIClient",
|
|
12075
|
-
"arguments": {}
|
|
12076
|
-
},
|
|
12077
|
-
"completion": {
|
|
12078
|
-
"name": "completion",
|
|
12079
|
-
"description": "Event emitted by OpenAIClient",
|
|
12080
|
-
"arguments": {}
|
|
12081
|
-
},
|
|
12082
|
-
"embedding": {
|
|
12083
|
-
"name": "embedding",
|
|
12084
|
-
"description": "Event emitted by OpenAIClient",
|
|
12085
|
-
"arguments": {}
|
|
12086
|
-
},
|
|
12087
|
-
"image": {
|
|
12088
|
-
"name": "image",
|
|
12089
|
-
"description": "Event emitted by OpenAIClient",
|
|
12090
|
-
"arguments": {}
|
|
12091
|
-
},
|
|
12092
|
-
"models": {
|
|
12093
|
-
"name": "models",
|
|
12094
|
-
"description": "Event emitted by OpenAIClient",
|
|
12095
|
-
"arguments": {}
|
|
12096
|
-
}
|
|
12097
|
-
},
|
|
12098
|
-
"state": {},
|
|
12099
|
-
"options": {},
|
|
12100
|
-
"envVars": [],
|
|
12101
|
-
"examples": [
|
|
12102
|
-
{
|
|
12103
|
-
"language": "ts",
|
|
12104
|
-
"code": "const openai = container.client('openai', { defaultModel: 'gpt-4o' })\nconst answer = await openai.ask('What is the meaning of life?')\nconsole.log(answer)"
|
|
12105
|
-
}
|
|
12106
|
-
]
|
|
12107
|
-
});
|
|
12108
|
-
|
|
12109
11867
|
setBuildTimeData('clients.supabase', {
|
|
12110
11868
|
"id": "clients.supabase",
|
|
12111
11869
|
"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).",
|
|
@@ -12302,270 +12060,6 @@ setBuildTimeData('clients.supabase', {
|
|
|
12302
12060
|
]
|
|
12303
12061
|
});
|
|
12304
12062
|
|
|
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
|
-
}
|
|
12458
|
-
}
|
|
12459
|
-
},
|
|
12460
|
-
"required": [
|
|
12461
|
-
"text",
|
|
12462
|
-
"outputPath"
|
|
12463
|
-
],
|
|
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"
|
|
12477
|
-
}
|
|
12478
|
-
},
|
|
12479
|
-
"events": {
|
|
12480
|
-
"failure": {
|
|
12481
|
-
"name": "failure",
|
|
12482
|
-
"description": "Event emitted by ElevenLabsClient",
|
|
12483
|
-
"arguments": {}
|
|
12484
|
-
},
|
|
12485
|
-
"voices": {
|
|
12486
|
-
"name": "voices",
|
|
12487
|
-
"description": "Event emitted by ElevenLabsClient",
|
|
12488
|
-
"arguments": {}
|
|
12489
|
-
},
|
|
12490
|
-
"speech": {
|
|
12491
|
-
"name": "speech",
|
|
12492
|
-
"description": "Event emitted by ElevenLabsClient",
|
|
12493
|
-
"arguments": {}
|
|
12494
|
-
}
|
|
12495
|
-
},
|
|
12496
|
-
"state": {},
|
|
12497
|
-
"options": {},
|
|
12498
|
-
"envVars": [],
|
|
12499
|
-
"examples": [
|
|
12500
|
-
{
|
|
12501
|
-
"language": "ts",
|
|
12502
|
-
"code": "const el = container.client('elevenlabs')\nawait el.connect()\nconst voices = await el.listVoices()\nconst audio = await el.synthesize('Hello world')\n// audio is a Buffer of mp3 data"
|
|
12503
|
-
}
|
|
12504
|
-
],
|
|
12505
|
-
"types": {
|
|
12506
|
-
"SynthesizeOptions": {
|
|
12507
|
-
"description": "",
|
|
12508
|
-
"properties": {
|
|
12509
|
-
"voiceId": {
|
|
12510
|
-
"type": "string",
|
|
12511
|
-
"description": "",
|
|
12512
|
-
"optional": true
|
|
12513
|
-
},
|
|
12514
|
-
"modelId": {
|
|
12515
|
-
"type": "string",
|
|
12516
|
-
"description": "",
|
|
12517
|
-
"optional": true
|
|
12518
|
-
},
|
|
12519
|
-
"outputFormat": {
|
|
12520
|
-
"type": "string",
|
|
12521
|
-
"description": "",
|
|
12522
|
-
"optional": true
|
|
12523
|
-
},
|
|
12524
|
-
"voiceSettings": {
|
|
12525
|
-
"type": "ElevenLabsVoiceSettings",
|
|
12526
|
-
"description": "",
|
|
12527
|
-
"optional": true
|
|
12528
|
-
},
|
|
12529
|
-
"disableCache": {
|
|
12530
|
-
"type": "boolean",
|
|
12531
|
-
"description": "",
|
|
12532
|
-
"optional": true
|
|
12533
|
-
}
|
|
12534
|
-
}
|
|
12535
|
-
},
|
|
12536
|
-
"ElevenLabsVoiceSettings": {
|
|
12537
|
-
"description": "",
|
|
12538
|
-
"properties": {
|
|
12539
|
-
"stability": {
|
|
12540
|
-
"type": "number",
|
|
12541
|
-
"description": "",
|
|
12542
|
-
"optional": true
|
|
12543
|
-
},
|
|
12544
|
-
"similarityBoost": {
|
|
12545
|
-
"type": "number",
|
|
12546
|
-
"description": "",
|
|
12547
|
-
"optional": true
|
|
12548
|
-
},
|
|
12549
|
-
"style": {
|
|
12550
|
-
"type": "number",
|
|
12551
|
-
"description": "",
|
|
12552
|
-
"optional": true
|
|
12553
|
-
},
|
|
12554
|
-
"speed": {
|
|
12555
|
-
"type": "number",
|
|
12556
|
-
"description": "",
|
|
12557
|
-
"optional": true
|
|
12558
|
-
},
|
|
12559
|
-
"useSpeakerBoost": {
|
|
12560
|
-
"type": "boolean",
|
|
12561
|
-
"description": "",
|
|
12562
|
-
"optional": true
|
|
12563
|
-
}
|
|
12564
|
-
}
|
|
12565
|
-
}
|
|
12566
|
-
}
|
|
12567
|
-
});
|
|
12568
|
-
|
|
12569
12063
|
setBuildTimeData('clients.comfyui', {
|
|
12570
12064
|
"id": "clients.comfyui",
|
|
12571
12065
|
"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.",
|
|
@@ -12863,156 +12357,688 @@ setBuildTimeData('clients.comfyui', {
|
|
|
12863
12357
|
}
|
|
12864
12358
|
});
|
|
12865
12359
|
|
|
12866
|
-
setBuildTimeData('
|
|
12867
|
-
"id": "
|
|
12868
|
-
"description": "
|
|
12869
|
-
"shortcut": "
|
|
12870
|
-
"className": "
|
|
12360
|
+
setBuildTimeData('clients.openai', {
|
|
12361
|
+
"id": "clients.openai",
|
|
12362
|
+
"description": "OpenAI client — wraps the OpenAI SDK for chat completions, responses API, embeddings, and image generation. Provides convenience methods for common operations while tracking token usage and request counts. Supports both the Chat Completions API and the newer Responses API.",
|
|
12363
|
+
"shortcut": "clients.openai",
|
|
12364
|
+
"className": "OpenAIClient",
|
|
12871
12365
|
"methods": {
|
|
12872
|
-
"
|
|
12873
|
-
"description": "
|
|
12366
|
+
"connect": {
|
|
12367
|
+
"description": "Test the API connection by listing models.",
|
|
12368
|
+
"parameters": {},
|
|
12369
|
+
"required": [],
|
|
12370
|
+
"returns": "Promise<this>",
|
|
12371
|
+
"examples": [
|
|
12372
|
+
{
|
|
12373
|
+
"language": "ts",
|
|
12374
|
+
"code": "await openai.connect()"
|
|
12375
|
+
}
|
|
12376
|
+
]
|
|
12377
|
+
},
|
|
12378
|
+
"createChatCompletion": {
|
|
12379
|
+
"description": "Create a chat completion using the Chat Completions API.",
|
|
12874
12380
|
"parameters": {
|
|
12875
|
-
"
|
|
12876
|
-
"type": "
|
|
12877
|
-
"description": "
|
|
12381
|
+
"messages": {
|
|
12382
|
+
"type": "OpenAI.Chat.Completions.ChatCompletionMessageParam[]",
|
|
12383
|
+
"description": "Array of chat messages"
|
|
12878
12384
|
},
|
|
12879
12385
|
"options": {
|
|
12880
|
-
"type": "
|
|
12881
|
-
"description": "
|
|
12882
|
-
"properties": {
|
|
12883
|
-
"schema": {
|
|
12884
|
-
"type": "z.ZodObject<any>",
|
|
12885
|
-
"description": ""
|
|
12886
|
-
},
|
|
12887
|
-
"description": {
|
|
12888
|
-
"type": "string",
|
|
12889
|
-
"description": ""
|
|
12890
|
-
},
|
|
12891
|
-
"handler": {
|
|
12892
|
-
"type": "(args: any, ctx: MCPContext) => any",
|
|
12893
|
-
"description": ""
|
|
12894
|
-
}
|
|
12895
|
-
}
|
|
12386
|
+
"type": "Partial<OpenAI.Chat.Completions.ChatCompletionCreateParams>",
|
|
12387
|
+
"description": "Additional parameters for the completion"
|
|
12896
12388
|
}
|
|
12897
12389
|
},
|
|
12898
12390
|
"required": [
|
|
12899
|
-
"
|
|
12900
|
-
"options"
|
|
12391
|
+
"messages"
|
|
12901
12392
|
],
|
|
12902
|
-
"returns": "
|
|
12393
|
+
"returns": "Promise<OpenAI.Chat.Completions.ChatCompletion>",
|
|
12394
|
+
"examples": [
|
|
12395
|
+
{
|
|
12396
|
+
"language": "ts",
|
|
12397
|
+
"code": "const response = await openai.createChatCompletion([\n { role: 'system', content: 'You are a helpful assistant.' },\n { role: 'user', content: 'Hello!' }\n])\nconsole.log(response.choices[0]?.message?.content)"
|
|
12398
|
+
}
|
|
12399
|
+
]
|
|
12903
12400
|
},
|
|
12904
|
-
"
|
|
12905
|
-
"description": "
|
|
12401
|
+
"createResponse": {
|
|
12402
|
+
"description": "Create a response using the Responses API.",
|
|
12906
12403
|
"parameters": {
|
|
12907
|
-
"
|
|
12908
|
-
"type": "string",
|
|
12909
|
-
"description": "
|
|
12404
|
+
"input": {
|
|
12405
|
+
"type": "OpenAI.Responses.ResponseInput | string",
|
|
12406
|
+
"description": "The input prompt or message array"
|
|
12910
12407
|
},
|
|
12911
|
-
"
|
|
12912
|
-
"type": "
|
|
12913
|
-
"description": "
|
|
12408
|
+
"options": {
|
|
12409
|
+
"type": "Partial<OpenAI.Responses.ResponseCreateParamsNonStreaming>",
|
|
12410
|
+
"description": "Additional parameters for the response"
|
|
12914
12411
|
}
|
|
12915
12412
|
},
|
|
12916
12413
|
"required": [
|
|
12917
|
-
"
|
|
12918
|
-
"handlerOrOptions"
|
|
12414
|
+
"input"
|
|
12919
12415
|
],
|
|
12920
|
-
"returns": "
|
|
12416
|
+
"returns": "Promise<OpenAI.Responses.Response>",
|
|
12417
|
+
"examples": [
|
|
12418
|
+
{
|
|
12419
|
+
"language": "ts",
|
|
12420
|
+
"code": "const response = await openai.createResponse('Explain quantum computing')"
|
|
12421
|
+
}
|
|
12422
|
+
]
|
|
12921
12423
|
},
|
|
12922
|
-
"
|
|
12923
|
-
"description": "
|
|
12424
|
+
"streamResponse": {
|
|
12425
|
+
"description": "Stream a response using the Responses API.",
|
|
12924
12426
|
"parameters": {
|
|
12925
|
-
"
|
|
12427
|
+
"input": {
|
|
12428
|
+
"type": "OpenAI.Responses.ResponseInput | string",
|
|
12429
|
+
"description": "The input prompt or message array"
|
|
12430
|
+
},
|
|
12431
|
+
"options": {
|
|
12432
|
+
"type": "Partial<OpenAI.Responses.ResponseCreateParamsStreaming>",
|
|
12433
|
+
"description": "Additional parameters for the streaming response"
|
|
12434
|
+
}
|
|
12435
|
+
},
|
|
12436
|
+
"required": [
|
|
12437
|
+
"input"
|
|
12438
|
+
],
|
|
12439
|
+
"returns": "Promise<AsyncIterable<OpenAI.Responses.ResponseStreamEvent>>",
|
|
12440
|
+
"examples": [
|
|
12441
|
+
{
|
|
12442
|
+
"language": "ts",
|
|
12443
|
+
"code": "const stream = await openai.streamResponse('Write a poem')\nfor await (const event of stream) {\n if (event.type === 'response.output_text.delta') {\n process.stdout.write(event.delta)\n }\n}"
|
|
12444
|
+
}
|
|
12445
|
+
]
|
|
12446
|
+
},
|
|
12447
|
+
"createCompletion": {
|
|
12448
|
+
"description": "Create a legacy text completion.",
|
|
12449
|
+
"parameters": {
|
|
12450
|
+
"prompt": {
|
|
12926
12451
|
"type": "string",
|
|
12927
|
-
"description": "
|
|
12452
|
+
"description": "The text prompt to complete"
|
|
12928
12453
|
},
|
|
12929
12454
|
"options": {
|
|
12930
|
-
"type": "
|
|
12931
|
-
"description": "
|
|
12932
|
-
"properties": {
|
|
12933
|
-
"description": {
|
|
12934
|
-
"type": "string",
|
|
12935
|
-
"description": ""
|
|
12936
|
-
},
|
|
12937
|
-
"args": {
|
|
12938
|
-
"type": "Record<string, z.ZodType>",
|
|
12939
|
-
"description": ""
|
|
12940
|
-
},
|
|
12941
|
-
"handler": {
|
|
12942
|
-
"type": "(args: Record<string, string | undefined>, ctx: MCPContext) => Promise<PromptMessage[]> | PromptMessage[]",
|
|
12943
|
-
"description": ""
|
|
12944
|
-
}
|
|
12945
|
-
}
|
|
12455
|
+
"type": "Partial<OpenAI.Completions.CompletionCreateParams>",
|
|
12456
|
+
"description": "Additional parameters for the completion"
|
|
12946
12457
|
}
|
|
12947
12458
|
},
|
|
12948
12459
|
"required": [
|
|
12949
|
-
"
|
|
12950
|
-
"options"
|
|
12460
|
+
"prompt"
|
|
12951
12461
|
],
|
|
12952
|
-
"returns": "
|
|
12462
|
+
"returns": "Promise<OpenAI.Completions.Completion>",
|
|
12463
|
+
"examples": [
|
|
12464
|
+
{
|
|
12465
|
+
"language": "ts",
|
|
12466
|
+
"code": "const response = await openai.createCompletion('Once upon a time')"
|
|
12467
|
+
}
|
|
12468
|
+
]
|
|
12953
12469
|
},
|
|
12954
|
-
"
|
|
12955
|
-
"description": "
|
|
12956
|
-
"parameters": {
|
|
12957
|
-
|
|
12958
|
-
|
|
12470
|
+
"createEmbedding": {
|
|
12471
|
+
"description": "Create text embeddings for semantic search or similarity comparisons.",
|
|
12472
|
+
"parameters": {
|
|
12473
|
+
"input": {
|
|
12474
|
+
"type": "string | string[]",
|
|
12475
|
+
"description": "A string or array of strings to embed"
|
|
12476
|
+
},
|
|
12477
|
+
"options": {
|
|
12478
|
+
"type": "Partial<OpenAI.Embeddings.EmbeddingCreateParams>",
|
|
12479
|
+
"description": "Additional parameters (model, etc.)"
|
|
12480
|
+
}
|
|
12481
|
+
},
|
|
12482
|
+
"required": [
|
|
12483
|
+
"input"
|
|
12484
|
+
],
|
|
12485
|
+
"returns": "Promise<OpenAI.Embeddings.CreateEmbeddingResponse>",
|
|
12486
|
+
"examples": [
|
|
12487
|
+
{
|
|
12488
|
+
"language": "ts",
|
|
12489
|
+
"code": "const response = await openai.createEmbedding('Hello world')\nconsole.log(response.data[0].embedding.length)"
|
|
12490
|
+
}
|
|
12491
|
+
]
|
|
12959
12492
|
},
|
|
12960
|
-
"
|
|
12961
|
-
"description": "
|
|
12493
|
+
"createImage": {
|
|
12494
|
+
"description": "Generate an image from a text prompt using DALL-E.",
|
|
12962
12495
|
"parameters": {
|
|
12496
|
+
"prompt": {
|
|
12497
|
+
"type": "string",
|
|
12498
|
+
"description": "Description of the image to generate"
|
|
12499
|
+
},
|
|
12963
12500
|
"options": {
|
|
12964
|
-
"type": "
|
|
12965
|
-
"description": "
|
|
12966
|
-
"properties": {
|
|
12967
|
-
"transport": {
|
|
12968
|
-
"type": "any",
|
|
12969
|
-
"description": "'stdio' for CLI integration, 'http' for remote access"
|
|
12970
|
-
},
|
|
12971
|
-
"port": {
|
|
12972
|
-
"type": "any",
|
|
12973
|
-
"description": "Port for HTTP transport (default 3001)"
|
|
12974
|
-
}
|
|
12975
|
-
}
|
|
12501
|
+
"type": "Partial<OpenAI.Images.ImageGenerateParams>",
|
|
12502
|
+
"description": "Additional parameters (size, n, etc.)"
|
|
12976
12503
|
}
|
|
12977
12504
|
},
|
|
12978
|
-
"required": [
|
|
12979
|
-
|
|
12505
|
+
"required": [
|
|
12506
|
+
"prompt"
|
|
12507
|
+
],
|
|
12508
|
+
"returns": "Promise<OpenAI.Images.ImagesResponse>",
|
|
12509
|
+
"examples": [
|
|
12510
|
+
{
|
|
12511
|
+
"language": "ts",
|
|
12512
|
+
"code": "const response = await openai.createImage('A sunset over mountains')\nconsole.log(response.data[0].url)"
|
|
12513
|
+
}
|
|
12514
|
+
]
|
|
12980
12515
|
},
|
|
12981
|
-
"
|
|
12982
|
-
"description": "
|
|
12516
|
+
"listModels": {
|
|
12517
|
+
"description": "List all available models.",
|
|
12983
12518
|
"parameters": {},
|
|
12984
12519
|
"required": [],
|
|
12985
|
-
"returns": "Promise<
|
|
12986
|
-
|
|
12987
|
-
|
|
12988
|
-
|
|
12989
|
-
|
|
12990
|
-
|
|
12991
|
-
|
|
12992
|
-
},
|
|
12993
|
-
"handlerContext": {
|
|
12994
|
-
"description": "The handler context passed to all tool, resource, and prompt handlers.",
|
|
12995
|
-
"returns": "MCPContext"
|
|
12996
|
-
}
|
|
12997
|
-
},
|
|
12998
|
-
"events": {
|
|
12999
|
-
"toolRegistered": {
|
|
13000
|
-
"name": "toolRegistered",
|
|
13001
|
-
"description": "Event emitted by MCPServer",
|
|
13002
|
-
"arguments": {}
|
|
13003
|
-
},
|
|
13004
|
-
"resourceRegistered": {
|
|
13005
|
-
"name": "resourceRegistered",
|
|
13006
|
-
"description": "Event emitted by MCPServer",
|
|
13007
|
-
"arguments": {}
|
|
13008
|
-
},
|
|
13009
|
-
"promptRegistered": {
|
|
13010
|
-
"name": "promptRegistered",
|
|
13011
|
-
"description": "Event emitted by MCPServer",
|
|
13012
|
-
"arguments": {}
|
|
12520
|
+
"returns": "Promise<OpenAI.Models.ModelsPage>",
|
|
12521
|
+
"examples": [
|
|
12522
|
+
{
|
|
12523
|
+
"language": "ts",
|
|
12524
|
+
"code": "const models = await openai.listModels()"
|
|
12525
|
+
}
|
|
12526
|
+
]
|
|
13013
12527
|
},
|
|
13014
|
-
"
|
|
13015
|
-
"
|
|
12528
|
+
"ask": {
|
|
12529
|
+
"description": "Ask a single question and get a text response. Convenience wrapper around `createChatCompletion` for simple Q&A.",
|
|
12530
|
+
"parameters": {
|
|
12531
|
+
"question": {
|
|
12532
|
+
"type": "string",
|
|
12533
|
+
"description": "The question to ask"
|
|
12534
|
+
},
|
|
12535
|
+
"options": {
|
|
12536
|
+
"type": "Partial<OpenAI.Chat.Completions.ChatCompletionCreateParams>",
|
|
12537
|
+
"description": "Additional completion parameters"
|
|
12538
|
+
}
|
|
12539
|
+
},
|
|
12540
|
+
"required": [
|
|
12541
|
+
"question"
|
|
12542
|
+
],
|
|
12543
|
+
"returns": "Promise<string>",
|
|
12544
|
+
"examples": [
|
|
12545
|
+
{
|
|
12546
|
+
"language": "ts",
|
|
12547
|
+
"code": "const answer = await openai.ask('What is 2 + 2?')\nconsole.log(answer) // '4'"
|
|
12548
|
+
}
|
|
12549
|
+
]
|
|
12550
|
+
},
|
|
12551
|
+
"chat": {
|
|
12552
|
+
"description": "Send a multi-turn conversation and get a text response. Convenience wrapper around `createChatCompletion` that returns just the text.",
|
|
12553
|
+
"parameters": {
|
|
12554
|
+
"messages": {
|
|
12555
|
+
"type": "OpenAI.Chat.Completions.ChatCompletionMessageParam[]",
|
|
12556
|
+
"description": "Array of chat messages"
|
|
12557
|
+
},
|
|
12558
|
+
"options": {
|
|
12559
|
+
"type": "Partial<OpenAI.Chat.Completions.ChatCompletionCreateParams>",
|
|
12560
|
+
"description": "Additional completion parameters"
|
|
12561
|
+
}
|
|
12562
|
+
},
|
|
12563
|
+
"required": [
|
|
12564
|
+
"messages"
|
|
12565
|
+
],
|
|
12566
|
+
"returns": "Promise<string>",
|
|
12567
|
+
"examples": [
|
|
12568
|
+
{
|
|
12569
|
+
"language": "ts",
|
|
12570
|
+
"code": "const reply = await openai.chat([\n { role: 'system', content: 'You are a pirate.' },\n { role: 'user', content: 'Hello!' }\n])"
|
|
12571
|
+
}
|
|
12572
|
+
]
|
|
12573
|
+
}
|
|
12574
|
+
},
|
|
12575
|
+
"getters": {
|
|
12576
|
+
"defaultModel": {
|
|
12577
|
+
"description": "The default model used for completions, from options or 'gpt-4o'.",
|
|
12578
|
+
"returns": "string"
|
|
12579
|
+
},
|
|
12580
|
+
"raw": {
|
|
12581
|
+
"description": "The underlying OpenAI SDK instance for advanced use cases.",
|
|
12582
|
+
"returns": "OpenAI"
|
|
12583
|
+
}
|
|
12584
|
+
},
|
|
12585
|
+
"events": {
|
|
12586
|
+
"connected": {
|
|
12587
|
+
"name": "connected",
|
|
12588
|
+
"description": "Event emitted by OpenAIClient",
|
|
12589
|
+
"arguments": {}
|
|
12590
|
+
},
|
|
12591
|
+
"failure": {
|
|
12592
|
+
"name": "failure",
|
|
12593
|
+
"description": "Event emitted by OpenAIClient",
|
|
12594
|
+
"arguments": {}
|
|
12595
|
+
},
|
|
12596
|
+
"completion": {
|
|
12597
|
+
"name": "completion",
|
|
12598
|
+
"description": "Event emitted by OpenAIClient",
|
|
12599
|
+
"arguments": {}
|
|
12600
|
+
},
|
|
12601
|
+
"embedding": {
|
|
12602
|
+
"name": "embedding",
|
|
12603
|
+
"description": "Event emitted by OpenAIClient",
|
|
12604
|
+
"arguments": {}
|
|
12605
|
+
},
|
|
12606
|
+
"image": {
|
|
12607
|
+
"name": "image",
|
|
12608
|
+
"description": "Event emitted by OpenAIClient",
|
|
12609
|
+
"arguments": {}
|
|
12610
|
+
},
|
|
12611
|
+
"models": {
|
|
12612
|
+
"name": "models",
|
|
12613
|
+
"description": "Event emitted by OpenAIClient",
|
|
12614
|
+
"arguments": {}
|
|
12615
|
+
}
|
|
12616
|
+
},
|
|
12617
|
+
"state": {},
|
|
12618
|
+
"options": {},
|
|
12619
|
+
"envVars": [],
|
|
12620
|
+
"examples": [
|
|
12621
|
+
{
|
|
12622
|
+
"language": "ts",
|
|
12623
|
+
"code": "const openai = container.client('openai', { defaultModel: 'gpt-4o' })\nconst answer = await openai.ask('What is the meaning of life?')\nconsole.log(answer)"
|
|
12624
|
+
}
|
|
12625
|
+
]
|
|
12626
|
+
});
|
|
12627
|
+
|
|
12628
|
+
setBuildTimeData('clients.elevenlabs', {
|
|
12629
|
+
"id": "clients.elevenlabs",
|
|
12630
|
+
"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.",
|
|
12631
|
+
"shortcut": "clients.elevenlabs",
|
|
12632
|
+
"className": "ElevenLabsClient",
|
|
12633
|
+
"methods": {
|
|
12634
|
+
"beforeRequest": {
|
|
12635
|
+
"description": "Inject the xi-api-key header before each request.",
|
|
12636
|
+
"parameters": {},
|
|
12637
|
+
"required": [],
|
|
12638
|
+
"returns": "void"
|
|
12639
|
+
},
|
|
12640
|
+
"connect": {
|
|
12641
|
+
"description": "Validate the API key by listing available models.",
|
|
12642
|
+
"parameters": {},
|
|
12643
|
+
"required": [],
|
|
12644
|
+
"returns": "Promise<this>",
|
|
12645
|
+
"examples": [
|
|
12646
|
+
{
|
|
12647
|
+
"language": "ts",
|
|
12648
|
+
"code": "await el.connect()"
|
|
12649
|
+
}
|
|
12650
|
+
]
|
|
12651
|
+
},
|
|
12652
|
+
"listVoices": {
|
|
12653
|
+
"description": "List available voices with optional search and filtering.",
|
|
12654
|
+
"parameters": {
|
|
12655
|
+
"options": {
|
|
12656
|
+
"type": "{\n search?: string\n category?: string\n voice_type?: string\n page_size?: number\n next_page_token?: string\n }",
|
|
12657
|
+
"description": "Query parameters for filtering voices"
|
|
12658
|
+
}
|
|
12659
|
+
},
|
|
12660
|
+
"required": [],
|
|
12661
|
+
"returns": "Promise<any>",
|
|
12662
|
+
"examples": [
|
|
12663
|
+
{
|
|
12664
|
+
"language": "ts",
|
|
12665
|
+
"code": "const voices = await el.listVoices()\nconst premade = await el.listVoices({ category: 'premade' })"
|
|
12666
|
+
}
|
|
12667
|
+
]
|
|
12668
|
+
},
|
|
12669
|
+
"getVoice": {
|
|
12670
|
+
"description": "Get details for a single voice.",
|
|
12671
|
+
"parameters": {
|
|
12672
|
+
"voiceId": {
|
|
12673
|
+
"type": "string",
|
|
12674
|
+
"description": "The voice ID to look up"
|
|
12675
|
+
}
|
|
12676
|
+
},
|
|
12677
|
+
"required": [
|
|
12678
|
+
"voiceId"
|
|
12679
|
+
],
|
|
12680
|
+
"returns": "Promise<any>",
|
|
12681
|
+
"examples": [
|
|
12682
|
+
{
|
|
12683
|
+
"language": "ts",
|
|
12684
|
+
"code": "const voice = await el.getVoice('21m00Tcm4TlvDq8ikWAM')\nconsole.log(voice.name, voice.settings)"
|
|
12685
|
+
}
|
|
12686
|
+
]
|
|
12687
|
+
},
|
|
12688
|
+
"listModels": {
|
|
12689
|
+
"description": "List available TTS models.",
|
|
12690
|
+
"parameters": {},
|
|
12691
|
+
"required": [],
|
|
12692
|
+
"returns": "Promise<any[]>",
|
|
12693
|
+
"examples": [
|
|
12694
|
+
{
|
|
12695
|
+
"language": "ts",
|
|
12696
|
+
"code": "const models = await el.listModels()\nconsole.log(models.map(m => m.model_id))"
|
|
12697
|
+
}
|
|
12698
|
+
]
|
|
12699
|
+
},
|
|
12700
|
+
"synthesize": {
|
|
12701
|
+
"description": "Synthesize speech from text, returning audio as a Buffer.",
|
|
12702
|
+
"parameters": {
|
|
12703
|
+
"text": {
|
|
12704
|
+
"type": "string",
|
|
12705
|
+
"description": "The text to convert to speech"
|
|
12706
|
+
},
|
|
12707
|
+
"options": {
|
|
12708
|
+
"type": "SynthesizeOptions",
|
|
12709
|
+
"description": "Voice, model, format, and voice settings overrides",
|
|
12710
|
+
"properties": {
|
|
12711
|
+
"voiceId": {
|
|
12712
|
+
"type": "string",
|
|
12713
|
+
"description": ""
|
|
12714
|
+
},
|
|
12715
|
+
"modelId": {
|
|
12716
|
+
"type": "string",
|
|
12717
|
+
"description": ""
|
|
12718
|
+
},
|
|
12719
|
+
"outputFormat": {
|
|
12720
|
+
"type": "string",
|
|
12721
|
+
"description": ""
|
|
12722
|
+
},
|
|
12723
|
+
"voiceSettings": {
|
|
12724
|
+
"type": "ElevenLabsVoiceSettings",
|
|
12725
|
+
"description": ""
|
|
12726
|
+
},
|
|
12727
|
+
"disableCache": {
|
|
12728
|
+
"type": "boolean",
|
|
12729
|
+
"description": ""
|
|
12730
|
+
}
|
|
12731
|
+
}
|
|
12732
|
+
}
|
|
12733
|
+
},
|
|
12734
|
+
"required": [
|
|
12735
|
+
"text"
|
|
12736
|
+
],
|
|
12737
|
+
"returns": "Promise<Buffer>",
|
|
12738
|
+
"examples": [
|
|
12739
|
+
{
|
|
12740
|
+
"language": "ts",
|
|
12741
|
+
"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})"
|
|
12742
|
+
}
|
|
12743
|
+
]
|
|
12744
|
+
},
|
|
12745
|
+
"say": {
|
|
12746
|
+
"description": "Synthesize speech and write the audio to a file.",
|
|
12747
|
+
"parameters": {
|
|
12748
|
+
"text": {
|
|
12749
|
+
"type": "string",
|
|
12750
|
+
"description": "The text to convert to speech"
|
|
12751
|
+
},
|
|
12752
|
+
"outputPath": {
|
|
12753
|
+
"type": "string",
|
|
12754
|
+
"description": "File path to write the audio to"
|
|
12755
|
+
},
|
|
12756
|
+
"options": {
|
|
12757
|
+
"type": "SynthesizeOptions",
|
|
12758
|
+
"description": "Voice, model, format, and voice settings overrides",
|
|
12759
|
+
"properties": {
|
|
12760
|
+
"voiceId": {
|
|
12761
|
+
"type": "string",
|
|
12762
|
+
"description": ""
|
|
12763
|
+
},
|
|
12764
|
+
"modelId": {
|
|
12765
|
+
"type": "string",
|
|
12766
|
+
"description": ""
|
|
12767
|
+
},
|
|
12768
|
+
"outputFormat": {
|
|
12769
|
+
"type": "string",
|
|
12770
|
+
"description": ""
|
|
12771
|
+
},
|
|
12772
|
+
"voiceSettings": {
|
|
12773
|
+
"type": "ElevenLabsVoiceSettings",
|
|
12774
|
+
"description": ""
|
|
12775
|
+
},
|
|
12776
|
+
"disableCache": {
|
|
12777
|
+
"type": "boolean",
|
|
12778
|
+
"description": ""
|
|
12779
|
+
}
|
|
12780
|
+
}
|
|
12781
|
+
}
|
|
12782
|
+
},
|
|
12783
|
+
"required": [
|
|
12784
|
+
"text",
|
|
12785
|
+
"outputPath"
|
|
12786
|
+
],
|
|
12787
|
+
"returns": "Promise<string>",
|
|
12788
|
+
"examples": [
|
|
12789
|
+
{
|
|
12790
|
+
"language": "ts",
|
|
12791
|
+
"code": "const path = await el.say('Hello world', './hello.mp3')\nconsole.log(`Audio saved to ${path}`)"
|
|
12792
|
+
}
|
|
12793
|
+
]
|
|
12794
|
+
}
|
|
12795
|
+
},
|
|
12796
|
+
"getters": {
|
|
12797
|
+
"apiKey": {
|
|
12798
|
+
"description": "The resolved API key from options or environment.",
|
|
12799
|
+
"returns": "string"
|
|
12800
|
+
}
|
|
12801
|
+
},
|
|
12802
|
+
"events": {
|
|
12803
|
+
"failure": {
|
|
12804
|
+
"name": "failure",
|
|
12805
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
12806
|
+
"arguments": {}
|
|
12807
|
+
},
|
|
12808
|
+
"voices": {
|
|
12809
|
+
"name": "voices",
|
|
12810
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
12811
|
+
"arguments": {}
|
|
12812
|
+
},
|
|
12813
|
+
"speech": {
|
|
12814
|
+
"name": "speech",
|
|
12815
|
+
"description": "Event emitted by ElevenLabsClient",
|
|
12816
|
+
"arguments": {}
|
|
12817
|
+
}
|
|
12818
|
+
},
|
|
12819
|
+
"state": {},
|
|
12820
|
+
"options": {},
|
|
12821
|
+
"envVars": [],
|
|
12822
|
+
"examples": [
|
|
12823
|
+
{
|
|
12824
|
+
"language": "ts",
|
|
12825
|
+
"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"
|
|
12826
|
+
}
|
|
12827
|
+
],
|
|
12828
|
+
"types": {
|
|
12829
|
+
"SynthesizeOptions": {
|
|
12830
|
+
"description": "",
|
|
12831
|
+
"properties": {
|
|
12832
|
+
"voiceId": {
|
|
12833
|
+
"type": "string",
|
|
12834
|
+
"description": "",
|
|
12835
|
+
"optional": true
|
|
12836
|
+
},
|
|
12837
|
+
"modelId": {
|
|
12838
|
+
"type": "string",
|
|
12839
|
+
"description": "",
|
|
12840
|
+
"optional": true
|
|
12841
|
+
},
|
|
12842
|
+
"outputFormat": {
|
|
12843
|
+
"type": "string",
|
|
12844
|
+
"description": "",
|
|
12845
|
+
"optional": true
|
|
12846
|
+
},
|
|
12847
|
+
"voiceSettings": {
|
|
12848
|
+
"type": "ElevenLabsVoiceSettings",
|
|
12849
|
+
"description": "",
|
|
12850
|
+
"optional": true
|
|
12851
|
+
},
|
|
12852
|
+
"disableCache": {
|
|
12853
|
+
"type": "boolean",
|
|
12854
|
+
"description": "",
|
|
12855
|
+
"optional": true
|
|
12856
|
+
}
|
|
12857
|
+
}
|
|
12858
|
+
},
|
|
12859
|
+
"ElevenLabsVoiceSettings": {
|
|
12860
|
+
"description": "",
|
|
12861
|
+
"properties": {
|
|
12862
|
+
"stability": {
|
|
12863
|
+
"type": "number",
|
|
12864
|
+
"description": "",
|
|
12865
|
+
"optional": true
|
|
12866
|
+
},
|
|
12867
|
+
"similarityBoost": {
|
|
12868
|
+
"type": "number",
|
|
12869
|
+
"description": "",
|
|
12870
|
+
"optional": true
|
|
12871
|
+
},
|
|
12872
|
+
"style": {
|
|
12873
|
+
"type": "number",
|
|
12874
|
+
"description": "",
|
|
12875
|
+
"optional": true
|
|
12876
|
+
},
|
|
12877
|
+
"speed": {
|
|
12878
|
+
"type": "number",
|
|
12879
|
+
"description": "",
|
|
12880
|
+
"optional": true
|
|
12881
|
+
},
|
|
12882
|
+
"useSpeakerBoost": {
|
|
12883
|
+
"type": "boolean",
|
|
12884
|
+
"description": "",
|
|
12885
|
+
"optional": true
|
|
12886
|
+
}
|
|
12887
|
+
}
|
|
12888
|
+
}
|
|
12889
|
+
}
|
|
12890
|
+
});
|
|
12891
|
+
|
|
12892
|
+
setBuildTimeData('servers.mcp', {
|
|
12893
|
+
"id": "servers.mcp",
|
|
12894
|
+
"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).",
|
|
12895
|
+
"shortcut": "servers.mcp",
|
|
12896
|
+
"className": "MCPServer",
|
|
12897
|
+
"methods": {
|
|
12898
|
+
"tool": {
|
|
12899
|
+
"description": "Register an MCP tool. The tool's Zod schema is converted to JSON Schema for the protocol listing, and used for runtime argument validation. Tool handlers can return a string (auto-wrapped as text content) or a full CallToolResult object for advanced responses (images, errors, etc).",
|
|
12900
|
+
"parameters": {
|
|
12901
|
+
"name": {
|
|
12902
|
+
"type": "string",
|
|
12903
|
+
"description": "Unique tool name"
|
|
12904
|
+
},
|
|
12905
|
+
"options": {
|
|
12906
|
+
"type": "ToolRegistrationOptions",
|
|
12907
|
+
"description": "Tool schema, description, and handler",
|
|
12908
|
+
"properties": {
|
|
12909
|
+
"schema": {
|
|
12910
|
+
"type": "z.ZodType",
|
|
12911
|
+
"description": ""
|
|
12912
|
+
},
|
|
12913
|
+
"description": {
|
|
12914
|
+
"type": "string",
|
|
12915
|
+
"description": ""
|
|
12916
|
+
},
|
|
12917
|
+
"handler": {
|
|
12918
|
+
"type": "Function | ((args: any, ctx: any) => any)",
|
|
12919
|
+
"description": ""
|
|
12920
|
+
}
|
|
12921
|
+
}
|
|
12922
|
+
}
|
|
12923
|
+
},
|
|
12924
|
+
"required": [
|
|
12925
|
+
"name",
|
|
12926
|
+
"options"
|
|
12927
|
+
],
|
|
12928
|
+
"returns": "this"
|
|
12929
|
+
},
|
|
12930
|
+
"resource": {
|
|
12931
|
+
"description": "Register an MCP resource. Resources expose data (files, configs, etc) that AI clients can read by URI. Accepts either a handler function directly or an options object with additional metadata (name, description, mimeType).",
|
|
12932
|
+
"parameters": {
|
|
12933
|
+
"uri": {
|
|
12934
|
+
"type": "string",
|
|
12935
|
+
"description": "Unique resource URI (e.g. \"project://readme\")"
|
|
12936
|
+
},
|
|
12937
|
+
"handlerOrOptions": {
|
|
12938
|
+
"type": "ResourceRegistrationOptions['handler'] | ResourceRegistrationOptions",
|
|
12939
|
+
"description": "Handler function or options object with handler"
|
|
12940
|
+
}
|
|
12941
|
+
},
|
|
12942
|
+
"required": [
|
|
12943
|
+
"uri",
|
|
12944
|
+
"handlerOrOptions"
|
|
12945
|
+
],
|
|
12946
|
+
"returns": "this"
|
|
12947
|
+
},
|
|
12948
|
+
"prompt": {
|
|
12949
|
+
"description": "Register an MCP prompt. Prompts are reusable message templates that AI clients can invoke with optional string arguments.",
|
|
12950
|
+
"parameters": {
|
|
12951
|
+
"name": {
|
|
12952
|
+
"type": "string",
|
|
12953
|
+
"description": "Unique prompt name"
|
|
12954
|
+
},
|
|
12955
|
+
"options": {
|
|
12956
|
+
"type": "PromptRegistrationOptions",
|
|
12957
|
+
"description": "Prompt handler, optional args schema, and description",
|
|
12958
|
+
"properties": {
|
|
12959
|
+
"description": {
|
|
12960
|
+
"type": "string",
|
|
12961
|
+
"description": ""
|
|
12962
|
+
},
|
|
12963
|
+
"args": {
|
|
12964
|
+
"type": "Record<string, z.ZodType>",
|
|
12965
|
+
"description": ""
|
|
12966
|
+
},
|
|
12967
|
+
"handler": {
|
|
12968
|
+
"type": "(args: Record<string, string | undefined>, ctx: MCPContext) => Promise<PromptMessage[]> | PromptMessage[]",
|
|
12969
|
+
"description": ""
|
|
12970
|
+
}
|
|
12971
|
+
}
|
|
12972
|
+
}
|
|
12973
|
+
},
|
|
12974
|
+
"required": [
|
|
12975
|
+
"name",
|
|
12976
|
+
"options"
|
|
12977
|
+
],
|
|
12978
|
+
"returns": "this"
|
|
12979
|
+
},
|
|
12980
|
+
"configure": {
|
|
12981
|
+
"description": "Configure the MCP protocol server and register all protocol handlers. Called automatically before start() if not already configured.",
|
|
12982
|
+
"parameters": {},
|
|
12983
|
+
"required": [],
|
|
12984
|
+
"returns": "Promise<this>"
|
|
12985
|
+
},
|
|
12986
|
+
"start": {
|
|
12987
|
+
"description": "Start the MCP server with the specified transport.",
|
|
12988
|
+
"parameters": {
|
|
12989
|
+
"options": {
|
|
12990
|
+
"type": "{\n transport?: 'stdio' | 'http'\n port?: number\n host?: string\n mcpCompat?: MCPCompatMode\n stdioCompat?: StdioCompatMode\n }",
|
|
12991
|
+
"description": "Transport configuration. Defaults to stdio.",
|
|
12992
|
+
"properties": {
|
|
12993
|
+
"transport": {
|
|
12994
|
+
"type": "any",
|
|
12995
|
+
"description": "'stdio' for CLI integration, 'http' for remote access"
|
|
12996
|
+
},
|
|
12997
|
+
"port": {
|
|
12998
|
+
"type": "any",
|
|
12999
|
+
"description": "Port for HTTP transport (default 3001)"
|
|
13000
|
+
}
|
|
13001
|
+
}
|
|
13002
|
+
}
|
|
13003
|
+
},
|
|
13004
|
+
"required": [],
|
|
13005
|
+
"returns": "Promise<this>"
|
|
13006
|
+
},
|
|
13007
|
+
"stop": {
|
|
13008
|
+
"description": "Stop the MCP server and close all connections.",
|
|
13009
|
+
"parameters": {},
|
|
13010
|
+
"required": [],
|
|
13011
|
+
"returns": "Promise<this>"
|
|
13012
|
+
}
|
|
13013
|
+
},
|
|
13014
|
+
"getters": {
|
|
13015
|
+
"mcpServer": {
|
|
13016
|
+
"description": "The underlying MCP protocol server instance. Created during configure().",
|
|
13017
|
+
"returns": "MCPProtocolServer"
|
|
13018
|
+
},
|
|
13019
|
+
"handlerContext": {
|
|
13020
|
+
"description": "The handler context passed to all tool, resource, and prompt handlers.",
|
|
13021
|
+
"returns": "MCPContext"
|
|
13022
|
+
}
|
|
13023
|
+
},
|
|
13024
|
+
"events": {
|
|
13025
|
+
"toolRegistered": {
|
|
13026
|
+
"name": "toolRegistered",
|
|
13027
|
+
"description": "Event emitted by MCPServer",
|
|
13028
|
+
"arguments": {}
|
|
13029
|
+
},
|
|
13030
|
+
"resourceRegistered": {
|
|
13031
|
+
"name": "resourceRegistered",
|
|
13032
|
+
"description": "Event emitted by MCPServer",
|
|
13033
|
+
"arguments": {}
|
|
13034
|
+
},
|
|
13035
|
+
"promptRegistered": {
|
|
13036
|
+
"name": "promptRegistered",
|
|
13037
|
+
"description": "Event emitted by MCPServer",
|
|
13038
|
+
"arguments": {}
|
|
13039
|
+
},
|
|
13040
|
+
"toolCalled": {
|
|
13041
|
+
"name": "toolCalled",
|
|
13016
13042
|
"description": "Event emitted by MCPServer",
|
|
13017
13043
|
"arguments": {}
|
|
13018
13044
|
}
|
|
@@ -13031,7 +13057,7 @@ setBuildTimeData('servers.mcp', {
|
|
|
13031
13057
|
"description": "",
|
|
13032
13058
|
"properties": {
|
|
13033
13059
|
"schema": {
|
|
13034
|
-
"type": "z.
|
|
13060
|
+
"type": "z.ZodType",
|
|
13035
13061
|
"description": "",
|
|
13036
13062
|
"optional": true
|
|
13037
13063
|
},
|
|
@@ -13041,17 +13067,9 @@ setBuildTimeData('servers.mcp', {
|
|
|
13041
13067
|
"optional": true
|
|
13042
13068
|
},
|
|
13043
13069
|
"handler": {
|
|
13044
|
-
"type": "(args: any, ctx:
|
|
13045
|
-
"description": ""
|
|
13046
|
-
|
|
13047
|
-
}
|
|
13048
|
-
},
|
|
13049
|
-
"MCPContext": {
|
|
13050
|
-
"description": "Context object passed to all MCP tool, resource, and prompt handlers.",
|
|
13051
|
-
"properties": {
|
|
13052
|
-
"container": {
|
|
13053
|
-
"type": "NodeContainer",
|
|
13054
|
-
"description": ""
|
|
13070
|
+
"type": "Function | ((args: any, ctx: any) => any)",
|
|
13071
|
+
"description": "",
|
|
13072
|
+
"optional": true
|
|
13055
13073
|
}
|
|
13056
13074
|
}
|
|
13057
13075
|
},
|
|
@@ -13079,6 +13097,15 @@ setBuildTimeData('servers.mcp', {
|
|
|
13079
13097
|
}
|
|
13080
13098
|
}
|
|
13081
13099
|
},
|
|
13100
|
+
"MCPContext": {
|
|
13101
|
+
"description": "Context object passed to all MCP tool, resource, and prompt handlers.",
|
|
13102
|
+
"properties": {
|
|
13103
|
+
"container": {
|
|
13104
|
+
"type": "NodeContainer",
|
|
13105
|
+
"description": ""
|
|
13106
|
+
}
|
|
13107
|
+
}
|
|
13108
|
+
},
|
|
13082
13109
|
"PromptRegistrationOptions": {
|
|
13083
13110
|
"description": "",
|
|
13084
13111
|
"properties": {
|
|
@@ -13370,8 +13397,51 @@ setBuildTimeData('features.assistantsManager', {
|
|
|
13370
13397
|
"shortcut": "features.assistantsManager",
|
|
13371
13398
|
"className": "AssistantsManager",
|
|
13372
13399
|
"methods": {
|
|
13400
|
+
"intercept": {
|
|
13401
|
+
"description": "Registers a pipeline interceptor that is applied to every assistant created by this manager. Interceptors are applied at the given interception point on each assistant at creation time. This mirrors the per-assistant `assistant.intercept(point, fn)` API, but scopes it globally across all assistants managed here — useful for cross-cutting concerns like logging, tracing, or policy enforcement.",
|
|
13402
|
+
"parameters": {
|
|
13403
|
+
"point": {
|
|
13404
|
+
"type": "K",
|
|
13405
|
+
"description": "The interception point (beforeAsk, beforeTurn, beforeToolCall, afterToolCall, beforeResponse)"
|
|
13406
|
+
},
|
|
13407
|
+
"fn": {
|
|
13408
|
+
"type": "InterceptorFn<InterceptorPoints[K]>",
|
|
13409
|
+
"description": "Middleware function receiving (ctx, next)"
|
|
13410
|
+
}
|
|
13411
|
+
},
|
|
13412
|
+
"required": [
|
|
13413
|
+
"point",
|
|
13414
|
+
"fn"
|
|
13415
|
+
],
|
|
13416
|
+
"returns": "this",
|
|
13417
|
+
"examples": [
|
|
13418
|
+
{
|
|
13419
|
+
"language": "ts",
|
|
13420
|
+
"code": "manager.intercept('beforeAsk', async (ctx, next) => {\n console.log(`[${ctx.assistant.name}] asking: ${ctx.message}`)\n await next()\n})"
|
|
13421
|
+
}
|
|
13422
|
+
]
|
|
13423
|
+
},
|
|
13424
|
+
"addDiscoveryFolder": {
|
|
13425
|
+
"description": "Registers an additional folder to scan during assistant discovery and immediately triggers a new discovery pass.",
|
|
13426
|
+
"parameters": {
|
|
13427
|
+
"folderPath": {
|
|
13428
|
+
"type": "string",
|
|
13429
|
+
"description": "Absolute path to a folder containing assistant subdirectories"
|
|
13430
|
+
}
|
|
13431
|
+
},
|
|
13432
|
+
"required": [
|
|
13433
|
+
"folderPath"
|
|
13434
|
+
],
|
|
13435
|
+
"returns": "Promise<this>",
|
|
13436
|
+
"examples": [
|
|
13437
|
+
{
|
|
13438
|
+
"language": "ts",
|
|
13439
|
+
"code": "await manager.addDiscoveryFolder('/path/to/more/assistants')\nconsole.log(manager.available) // includes assistants from the new folder"
|
|
13440
|
+
}
|
|
13441
|
+
]
|
|
13442
|
+
},
|
|
13373
13443
|
"discover": {
|
|
13374
|
-
"description": "
|
|
13444
|
+
"description": "",
|
|
13375
13445
|
"parameters": {},
|
|
13376
13446
|
"required": [],
|
|
13377
13447
|
"returns": "Promise<this>"
|
|
@@ -13615,6 +13685,47 @@ setBuildTimeData('features.conversation', {
|
|
|
13615
13685
|
],
|
|
13616
13686
|
"returns": "this"
|
|
13617
13687
|
},
|
|
13688
|
+
"stub": {
|
|
13689
|
+
"description": "Register a hardcoded stub response that bypasses the API when the user's message matches. Streaming is still simulated — chunk/preview events fire word-by-word.",
|
|
13690
|
+
"parameters": {
|
|
13691
|
+
"matcher": {
|
|
13692
|
+
"type": "string | RegExp",
|
|
13693
|
+
"description": "Exact string match, substring, or RegExp tested against user input"
|
|
13694
|
+
},
|
|
13695
|
+
"response": {
|
|
13696
|
+
"type": "string | (() => string)",
|
|
13697
|
+
"description": "The text to stream back, or a zero-arg function that returns it"
|
|
13698
|
+
}
|
|
13699
|
+
},
|
|
13700
|
+
"required": [
|
|
13701
|
+
"matcher",
|
|
13702
|
+
"response"
|
|
13703
|
+
],
|
|
13704
|
+
"returns": "this",
|
|
13705
|
+
"examples": [
|
|
13706
|
+
{
|
|
13707
|
+
"language": "ts",
|
|
13708
|
+
"code": "conversation.stub('hello', 'Hi there!')\nconversation.stub(/weather/i, () => 'Sunny and 72°F.')"
|
|
13709
|
+
}
|
|
13710
|
+
]
|
|
13711
|
+
},
|
|
13712
|
+
"fork": {
|
|
13713
|
+
"description": "Fork the conversation into a new independent instance. The fork inherits the same system prompt, tools, and full message history, but has its own identity and state — changes in either direction do not affect the other.",
|
|
13714
|
+
"parameters": {
|
|
13715
|
+
"overrides": {
|
|
13716
|
+
"type": "Partial<ConversationOptions>",
|
|
13717
|
+
"description": "Optional option overrides for the forked conversation (e.g. different model or title)"
|
|
13718
|
+
}
|
|
13719
|
+
},
|
|
13720
|
+
"required": [],
|
|
13721
|
+
"returns": "Conversation",
|
|
13722
|
+
"examples": [
|
|
13723
|
+
{
|
|
13724
|
+
"language": "ts",
|
|
13725
|
+
"code": "const fork = conversation.fork()\nawait fork.ask('What if we took a different approach?')\n// original conversation is unchanged"
|
|
13726
|
+
}
|
|
13727
|
+
]
|
|
13728
|
+
},
|
|
13618
13729
|
"estimateTokens": {
|
|
13619
13730
|
"description": "Estimate the input token count for the current messages array using the js-tiktoken tokenizer. Updates state.",
|
|
13620
13731
|
"parameters": {},
|
|
@@ -13793,48 +13904,48 @@ setBuildTimeData('features.conversation', {
|
|
|
13793
13904
|
"description": "Event emitted by Conversation",
|
|
13794
13905
|
"arguments": {}
|
|
13795
13906
|
},
|
|
13796
|
-
"
|
|
13797
|
-
"name": "
|
|
13907
|
+
"chunk": {
|
|
13908
|
+
"name": "chunk",
|
|
13798
13909
|
"description": "Event emitted by Conversation",
|
|
13799
13910
|
"arguments": {}
|
|
13800
13911
|
},
|
|
13801
|
-
"
|
|
13802
|
-
"name": "
|
|
13912
|
+
"preview": {
|
|
13913
|
+
"name": "preview",
|
|
13803
13914
|
"description": "Event emitted by Conversation",
|
|
13804
13915
|
"arguments": {}
|
|
13805
13916
|
},
|
|
13806
|
-
"
|
|
13807
|
-
"name": "
|
|
13917
|
+
"turnEnd": {
|
|
13918
|
+
"name": "turnEnd",
|
|
13808
13919
|
"description": "Event emitted by Conversation",
|
|
13809
13920
|
"arguments": {}
|
|
13810
13921
|
},
|
|
13811
|
-
"
|
|
13812
|
-
"name": "
|
|
13922
|
+
"response": {
|
|
13923
|
+
"name": "response",
|
|
13813
13924
|
"description": "Event emitted by Conversation",
|
|
13814
13925
|
"arguments": {}
|
|
13815
13926
|
},
|
|
13816
|
-
"
|
|
13817
|
-
"name": "
|
|
13927
|
+
"rawEvent": {
|
|
13928
|
+
"name": "rawEvent",
|
|
13818
13929
|
"description": "Event emitted by Conversation",
|
|
13819
13930
|
"arguments": {}
|
|
13820
13931
|
},
|
|
13821
|
-
"
|
|
13822
|
-
"name": "
|
|
13932
|
+
"mcpEvent": {
|
|
13933
|
+
"name": "mcpEvent",
|
|
13823
13934
|
"description": "Event emitted by Conversation",
|
|
13824
13935
|
"arguments": {}
|
|
13825
13936
|
},
|
|
13826
|
-
"
|
|
13827
|
-
"name": "
|
|
13937
|
+
"responseCompleted": {
|
|
13938
|
+
"name": "responseCompleted",
|
|
13828
13939
|
"description": "Event emitted by Conversation",
|
|
13829
13940
|
"arguments": {}
|
|
13830
13941
|
},
|
|
13831
|
-
"
|
|
13832
|
-
"name": "
|
|
13942
|
+
"toolCallsStart": {
|
|
13943
|
+
"name": "toolCallsStart",
|
|
13833
13944
|
"description": "Event emitted by Conversation",
|
|
13834
13945
|
"arguments": {}
|
|
13835
13946
|
},
|
|
13836
|
-
"
|
|
13837
|
-
"name": "
|
|
13947
|
+
"toolCallsEnd": {
|
|
13948
|
+
"name": "toolCallsEnd",
|
|
13838
13949
|
"description": "Event emitted by Conversation",
|
|
13839
13950
|
"arguments": {}
|
|
13840
13951
|
}
|
|
@@ -13933,7 +14044,7 @@ setBuildTimeData('features.openapi', {
|
|
|
13933
14044
|
],
|
|
13934
14045
|
"returns": "EndpointInfo | undefined"
|
|
13935
14046
|
},
|
|
13936
|
-
"
|
|
14047
|
+
"toOpenAITools": {
|
|
13937
14048
|
"description": "Convert all endpoints into OpenAI-compatible tool definitions.",
|
|
13938
14049
|
"parameters": {
|
|
13939
14050
|
"filter": {
|
|
@@ -14027,7 +14138,7 @@ setBuildTimeData('features.openapi', {
|
|
|
14027
14138
|
"examples": [
|
|
14028
14139
|
{
|
|
14029
14140
|
"language": "ts",
|
|
14030
|
-
"code": "const api = container.feature('openapi', { url: 'https://petstore.swagger.io/v2' })\nawait api.load()\n\n// Inspect all endpoints\napi.endpoints\n\n// Get a single endpoint by its friendly name\napi.endpoint('getPetById')\n\n// Convert to OpenAI tool definitions\napi.
|
|
14141
|
+
"code": "const api = container.feature('openapi', { url: 'https://petstore.swagger.io/v2' })\nawait api.load()\n\n// Inspect all endpoints\napi.endpoints\n\n// Get a single endpoint by its friendly name\napi.endpoint('getPetById')\n\n// Convert to OpenAI tool definitions\napi.toOpenAITools()\n\n// Convert a single endpoint to a function definition\napi.toFunction('getPetById')"
|
|
14031
14142
|
}
|
|
14032
14143
|
],
|
|
14033
14144
|
"types": {
|
|
@@ -14144,6 +14255,19 @@ setBuildTimeData('features.browserUse', {
|
|
|
14144
14255
|
"shortcut": "features.browserUse",
|
|
14145
14256
|
"className": "BrowserUse",
|
|
14146
14257
|
"methods": {
|
|
14258
|
+
"setupToolsConsumer": {
|
|
14259
|
+
"description": "When an assistant uses browserUse, inject system prompt guidance about the browser interaction loop.",
|
|
14260
|
+
"parameters": {
|
|
14261
|
+
"consumer": {
|
|
14262
|
+
"type": "Helper",
|
|
14263
|
+
"description": "Parameter consumer"
|
|
14264
|
+
}
|
|
14265
|
+
},
|
|
14266
|
+
"required": [
|
|
14267
|
+
"consumer"
|
|
14268
|
+
],
|
|
14269
|
+
"returns": "void"
|
|
14270
|
+
},
|
|
14147
14271
|
"afterInitialize": {
|
|
14148
14272
|
"description": "",
|
|
14149
14273
|
"parameters": {},
|
|
@@ -14959,7 +15083,7 @@ setBuildTimeData('features.skillsLibrary', {
|
|
|
14959
15083
|
"description": "",
|
|
14960
15084
|
"parameters": {
|
|
14961
15085
|
"assistant": {
|
|
14962
|
-
"type": "
|
|
15086
|
+
"type": "Feature",
|
|
14963
15087
|
"description": "Parameter assistant"
|
|
14964
15088
|
}
|
|
14965
15089
|
},
|
|
@@ -15094,6 +15218,24 @@ setBuildTimeData('features.skillsLibrary', {
|
|
|
15094
15218
|
"{ skillName, question }"
|
|
15095
15219
|
],
|
|
15096
15220
|
"returns": "Promise<string>"
|
|
15221
|
+
},
|
|
15222
|
+
"findRelevantSkillsForAssistant": {
|
|
15223
|
+
"description": "Fork the given assistant and ask it which skills (if any) are relevant to the user's query. Returns an array of skill names that should be loaded before the real question is answered. The fork is ephemeral (historyMode: 'none') and uses structured output so the result is always a clean string array — never free text.",
|
|
15224
|
+
"parameters": {
|
|
15225
|
+
"assistant": {
|
|
15226
|
+
"type": "Assistant",
|
|
15227
|
+
"description": "The assistant instance to fork"
|
|
15228
|
+
},
|
|
15229
|
+
"userQuery": {
|
|
15230
|
+
"type": "string",
|
|
15231
|
+
"description": "The user's original question"
|
|
15232
|
+
}
|
|
15233
|
+
},
|
|
15234
|
+
"required": [
|
|
15235
|
+
"assistant",
|
|
15236
|
+
"userQuery"
|
|
15237
|
+
],
|
|
15238
|
+
"returns": "Promise<string[]>"
|
|
15097
15239
|
}
|
|
15098
15240
|
},
|
|
15099
15241
|
"getters": {
|
|
@@ -15133,6 +15275,11 @@ setBuildTimeData('features.skillsLibrary', {
|
|
|
15133
15275
|
"name": "skillDiscovered",
|
|
15134
15276
|
"description": "Event emitted by SkillsLibrary",
|
|
15135
15277
|
"arguments": {}
|
|
15278
|
+
},
|
|
15279
|
+
"foundSkills": {
|
|
15280
|
+
"name": "foundSkills",
|
|
15281
|
+
"description": "Event emitted by SkillsLibrary",
|
|
15282
|
+
"arguments": {}
|
|
15136
15283
|
}
|
|
15137
15284
|
},
|
|
15138
15285
|
"state": {},
|
|
@@ -15530,6 +15677,10 @@ setBuildTimeData('features.assistant', {
|
|
|
15530
15677
|
"description": "Parsed YAML frontmatter from CORE.md, or empty object if none.",
|
|
15531
15678
|
"returns": "Record<string, any>"
|
|
15532
15679
|
},
|
|
15680
|
+
"effectiveOptions": {
|
|
15681
|
+
"description": "Merged options where CORE.md frontmatter provides defaults and constructor options take precedence. Prefer this over `this.options` anywhere model parameters or runtime config is consumed.",
|
|
15682
|
+
"returns": "AssistantOptions & Record<string, any>"
|
|
15683
|
+
},
|
|
15533
15684
|
"paths": {
|
|
15534
15685
|
"description": "Provides a helper for creating paths off of the assistant's base folder",
|
|
15535
15686
|
"returns": "any"
|
|
@@ -15657,6 +15808,475 @@ setBuildTimeData('features.assistant', {
|
|
|
15657
15808
|
]
|
|
15658
15809
|
});
|
|
15659
15810
|
|
|
15811
|
+
setBuildTimeData('features.memory', {
|
|
15812
|
+
"id": "features.memory",
|
|
15813
|
+
"description": "Semantic memory storage and retrieval for AI agents. Provides categorized memory with embedding-based search, metadata filtering, epoch tracking, and assistant tool integration. Built natively on Luca's SQLite and semanticSearch features.",
|
|
15814
|
+
"shortcut": "features.memory",
|
|
15815
|
+
"className": "Memory",
|
|
15816
|
+
"methods": {
|
|
15817
|
+
"initDb": {
|
|
15818
|
+
"description": "Initialize the SQLite database and create tables. Called automatically on first use, but can be called explicitly.",
|
|
15819
|
+
"parameters": {},
|
|
15820
|
+
"required": [],
|
|
15821
|
+
"returns": "void",
|
|
15822
|
+
"examples": [
|
|
15823
|
+
{
|
|
15824
|
+
"language": "ts",
|
|
15825
|
+
"code": "const mem = container.feature('memory')\nawait mem.initDb()"
|
|
15826
|
+
}
|
|
15827
|
+
]
|
|
15828
|
+
},
|
|
15829
|
+
"remember": {
|
|
15830
|
+
"description": "Tool handler: store a memory, deduplicating by similarity.",
|
|
15831
|
+
"parameters": {
|
|
15832
|
+
"args": {
|
|
15833
|
+
"type": "{ category: string; text: string; metadata?: Record<string, any> }",
|
|
15834
|
+
"description": "Parameter args"
|
|
15835
|
+
}
|
|
15836
|
+
},
|
|
15837
|
+
"required": [
|
|
15838
|
+
"args"
|
|
15839
|
+
],
|
|
15840
|
+
"returns": "void"
|
|
15841
|
+
},
|
|
15842
|
+
"recall": {
|
|
15843
|
+
"description": "Tool handler: search memories by semantic similarity.",
|
|
15844
|
+
"parameters": {
|
|
15845
|
+
"args": {
|
|
15846
|
+
"type": "{ category: string; query: string; n_results?: number }",
|
|
15847
|
+
"description": "Parameter args"
|
|
15848
|
+
}
|
|
15849
|
+
},
|
|
15850
|
+
"required": [
|
|
15851
|
+
"args"
|
|
15852
|
+
],
|
|
15853
|
+
"returns": "void"
|
|
15854
|
+
},
|
|
15855
|
+
"forgetCategory": {
|
|
15856
|
+
"description": "Tool handler: wipe all memories in a category.",
|
|
15857
|
+
"parameters": {
|
|
15858
|
+
"args": {
|
|
15859
|
+
"type": "{ category: string }",
|
|
15860
|
+
"description": "Parameter args"
|
|
15861
|
+
}
|
|
15862
|
+
},
|
|
15863
|
+
"required": [
|
|
15864
|
+
"args"
|
|
15865
|
+
],
|
|
15866
|
+
"returns": "void"
|
|
15867
|
+
},
|
|
15868
|
+
"listCategories": {
|
|
15869
|
+
"description": "Tool handler: list all categories with counts.",
|
|
15870
|
+
"parameters": {},
|
|
15871
|
+
"required": [],
|
|
15872
|
+
"returns": "void"
|
|
15873
|
+
},
|
|
15874
|
+
"setupToolsConsumer": {
|
|
15875
|
+
"description": "When an assistant uses memory, inject system prompt guidance.",
|
|
15876
|
+
"parameters": {
|
|
15877
|
+
"consumer": {
|
|
15878
|
+
"type": "Helper",
|
|
15879
|
+
"description": "Parameter consumer"
|
|
15880
|
+
}
|
|
15881
|
+
},
|
|
15882
|
+
"required": [
|
|
15883
|
+
"consumer"
|
|
15884
|
+
],
|
|
15885
|
+
"returns": "void"
|
|
15886
|
+
},
|
|
15887
|
+
"create": {
|
|
15888
|
+
"description": "Create a new memory in the given category.",
|
|
15889
|
+
"parameters": {
|
|
15890
|
+
"category": {
|
|
15891
|
+
"type": "string",
|
|
15892
|
+
"description": "The category to store the memory in"
|
|
15893
|
+
},
|
|
15894
|
+
"text": {
|
|
15895
|
+
"type": "string",
|
|
15896
|
+
"description": "The text content of the memory"
|
|
15897
|
+
},
|
|
15898
|
+
"metadata": {
|
|
15899
|
+
"type": "Record<string, any>",
|
|
15900
|
+
"description": "Optional metadata key-value pairs"
|
|
15901
|
+
}
|
|
15902
|
+
},
|
|
15903
|
+
"required": [
|
|
15904
|
+
"category",
|
|
15905
|
+
"text"
|
|
15906
|
+
],
|
|
15907
|
+
"returns": "Promise<MemoryRecord>",
|
|
15908
|
+
"examples": [
|
|
15909
|
+
{
|
|
15910
|
+
"language": "ts",
|
|
15911
|
+
"code": "const mem = container.feature('memory')\nawait mem.create('facts', 'The user lives in Austin', { confidence: 0.9 })"
|
|
15912
|
+
}
|
|
15913
|
+
]
|
|
15914
|
+
},
|
|
15915
|
+
"createUnique": {
|
|
15916
|
+
"description": "Create a memory only if no sufficiently similar memory exists.",
|
|
15917
|
+
"parameters": {
|
|
15918
|
+
"category": {
|
|
15919
|
+
"type": "string",
|
|
15920
|
+
"description": "The category to store the memory in"
|
|
15921
|
+
},
|
|
15922
|
+
"text": {
|
|
15923
|
+
"type": "string",
|
|
15924
|
+
"description": "The text content of the memory"
|
|
15925
|
+
},
|
|
15926
|
+
"metadata": {
|
|
15927
|
+
"type": "Record<string, any>",
|
|
15928
|
+
"description": "Optional metadata"
|
|
15929
|
+
},
|
|
15930
|
+
"similarityThreshold": {
|
|
15931
|
+
"type": "any",
|
|
15932
|
+
"description": "Minimum cosine similarity to consider a duplicate (0-1, default 0.95)"
|
|
15933
|
+
}
|
|
15934
|
+
},
|
|
15935
|
+
"required": [
|
|
15936
|
+
"category",
|
|
15937
|
+
"text"
|
|
15938
|
+
],
|
|
15939
|
+
"returns": "Promise<MemoryRecord | null>",
|
|
15940
|
+
"examples": [
|
|
15941
|
+
{
|
|
15942
|
+
"language": "ts",
|
|
15943
|
+
"code": "const mem = container.feature('memory')\nawait mem.createUnique('facts', 'User prefers dark mode', {}, 0.9)"
|
|
15944
|
+
}
|
|
15945
|
+
]
|
|
15946
|
+
},
|
|
15947
|
+
"get": {
|
|
15948
|
+
"description": "Get a memory by ID.",
|
|
15949
|
+
"parameters": {
|
|
15950
|
+
"category": {
|
|
15951
|
+
"type": "string",
|
|
15952
|
+
"description": "The category the memory belongs to"
|
|
15953
|
+
},
|
|
15954
|
+
"id": {
|
|
15955
|
+
"type": "number",
|
|
15956
|
+
"description": "The memory ID"
|
|
15957
|
+
}
|
|
15958
|
+
},
|
|
15959
|
+
"required": [
|
|
15960
|
+
"category",
|
|
15961
|
+
"id"
|
|
15962
|
+
],
|
|
15963
|
+
"returns": "Promise<MemoryRecord | null>"
|
|
15964
|
+
},
|
|
15965
|
+
"getAll": {
|
|
15966
|
+
"description": "Get all memories in a category, with optional metadata filtering.",
|
|
15967
|
+
"parameters": {
|
|
15968
|
+
"category": {
|
|
15969
|
+
"type": "string",
|
|
15970
|
+
"description": "The category to query"
|
|
15971
|
+
},
|
|
15972
|
+
"options": {
|
|
15973
|
+
"type": "{ limit?: number; sortOrder?: 'asc' | 'desc'; filterMetadata?: Record<string, any> }",
|
|
15974
|
+
"description": "Query options",
|
|
15975
|
+
"properties": {
|
|
15976
|
+
"limit": {
|
|
15977
|
+
"type": "any",
|
|
15978
|
+
"description": "Max results (default 20)"
|
|
15979
|
+
},
|
|
15980
|
+
"sortOrder": {
|
|
15981
|
+
"type": "any",
|
|
15982
|
+
"description": "'asc' or 'desc' by created_at (default 'desc')"
|
|
15983
|
+
},
|
|
15984
|
+
"filterMetadata": {
|
|
15985
|
+
"type": "any",
|
|
15986
|
+
"description": "Filter by metadata key-value pairs"
|
|
15987
|
+
}
|
|
15988
|
+
}
|
|
15989
|
+
}
|
|
15990
|
+
},
|
|
15991
|
+
"required": [
|
|
15992
|
+
"category"
|
|
15993
|
+
],
|
|
15994
|
+
"returns": "Promise<MemoryRecord[]>"
|
|
15995
|
+
},
|
|
15996
|
+
"update": {
|
|
15997
|
+
"description": "Update a memory's text and/or metadata.",
|
|
15998
|
+
"parameters": {
|
|
15999
|
+
"category": {
|
|
16000
|
+
"type": "string",
|
|
16001
|
+
"description": "The category the memory belongs to"
|
|
16002
|
+
},
|
|
16003
|
+
"id": {
|
|
16004
|
+
"type": "number",
|
|
16005
|
+
"description": "The memory ID"
|
|
16006
|
+
},
|
|
16007
|
+
"updates": {
|
|
16008
|
+
"type": "{ text?: string; metadata?: Record<string, any> }",
|
|
16009
|
+
"description": "Fields to update",
|
|
16010
|
+
"properties": {
|
|
16011
|
+
"text": {
|
|
16012
|
+
"type": "any",
|
|
16013
|
+
"description": "New text content (re-embeds automatically)"
|
|
16014
|
+
},
|
|
16015
|
+
"metadata": {
|
|
16016
|
+
"type": "any",
|
|
16017
|
+
"description": "Metadata to merge"
|
|
16018
|
+
}
|
|
16019
|
+
}
|
|
16020
|
+
}
|
|
16021
|
+
},
|
|
16022
|
+
"required": [
|
|
16023
|
+
"category",
|
|
16024
|
+
"id",
|
|
16025
|
+
"updates"
|
|
16026
|
+
],
|
|
16027
|
+
"returns": "Promise<MemoryRecord | null>"
|
|
16028
|
+
},
|
|
16029
|
+
"delete": {
|
|
16030
|
+
"description": "Delete a specific memory.",
|
|
16031
|
+
"parameters": {
|
|
16032
|
+
"category": {
|
|
16033
|
+
"type": "string",
|
|
16034
|
+
"description": "The category"
|
|
16035
|
+
},
|
|
16036
|
+
"id": {
|
|
16037
|
+
"type": "number",
|
|
16038
|
+
"description": "The memory ID"
|
|
16039
|
+
}
|
|
16040
|
+
},
|
|
16041
|
+
"required": [
|
|
16042
|
+
"category",
|
|
16043
|
+
"id"
|
|
16044
|
+
],
|
|
16045
|
+
"returns": "Promise<boolean>"
|
|
16046
|
+
},
|
|
16047
|
+
"wipeCategory": {
|
|
16048
|
+
"description": "Delete all memories in a category.",
|
|
16049
|
+
"parameters": {
|
|
16050
|
+
"category": {
|
|
16051
|
+
"type": "string",
|
|
16052
|
+
"description": "The category to wipe"
|
|
16053
|
+
}
|
|
16054
|
+
},
|
|
16055
|
+
"required": [
|
|
16056
|
+
"category"
|
|
16057
|
+
],
|
|
16058
|
+
"returns": "Promise<number>"
|
|
16059
|
+
},
|
|
16060
|
+
"wipeAll": {
|
|
16061
|
+
"description": "Delete all memories across all categories in this namespace.",
|
|
16062
|
+
"parameters": {},
|
|
16063
|
+
"required": [],
|
|
16064
|
+
"returns": "Promise<number>"
|
|
16065
|
+
},
|
|
16066
|
+
"count": {
|
|
16067
|
+
"description": "Count memories in a category (or all categories if omitted).",
|
|
16068
|
+
"parameters": {
|
|
16069
|
+
"category": {
|
|
16070
|
+
"type": "string",
|
|
16071
|
+
"description": "Optional category to count"
|
|
16072
|
+
}
|
|
16073
|
+
},
|
|
16074
|
+
"required": [],
|
|
16075
|
+
"returns": "Promise<number>"
|
|
16076
|
+
},
|
|
16077
|
+
"categories": {
|
|
16078
|
+
"description": "List all categories that have memories.",
|
|
16079
|
+
"parameters": {},
|
|
16080
|
+
"required": [],
|
|
16081
|
+
"returns": "Promise<string[]>"
|
|
16082
|
+
},
|
|
16083
|
+
"search": {
|
|
16084
|
+
"description": "Search memories by semantic similarity.",
|
|
16085
|
+
"parameters": {
|
|
16086
|
+
"category": {
|
|
16087
|
+
"type": "string",
|
|
16088
|
+
"description": "The category to search in"
|
|
16089
|
+
},
|
|
16090
|
+
"query": {
|
|
16091
|
+
"type": "string",
|
|
16092
|
+
"description": "The search query (will be embedded)"
|
|
16093
|
+
},
|
|
16094
|
+
"nResults": {
|
|
16095
|
+
"type": "any",
|
|
16096
|
+
"description": "Maximum number of results (default 5)"
|
|
16097
|
+
},
|
|
16098
|
+
"options": {
|
|
16099
|
+
"type": "{ maxDistance?: number; filterMetadata?: Record<string, any> }",
|
|
16100
|
+
"description": "Additional search options",
|
|
16101
|
+
"properties": {
|
|
16102
|
+
"maxDistance": {
|
|
16103
|
+
"type": "any",
|
|
16104
|
+
"description": "Maximum cosine distance threshold (0-2, default none)"
|
|
16105
|
+
},
|
|
16106
|
+
"filterMetadata": {
|
|
16107
|
+
"type": "any",
|
|
16108
|
+
"description": "Filter by metadata key-value pairs"
|
|
16109
|
+
}
|
|
16110
|
+
}
|
|
16111
|
+
}
|
|
16112
|
+
},
|
|
16113
|
+
"required": [
|
|
16114
|
+
"category",
|
|
16115
|
+
"query"
|
|
16116
|
+
],
|
|
16117
|
+
"returns": "Promise<MemorySearchResult[]>"
|
|
16118
|
+
},
|
|
16119
|
+
"getEpoch": {
|
|
16120
|
+
"description": "Get the current epoch value.",
|
|
16121
|
+
"parameters": {},
|
|
16122
|
+
"required": [],
|
|
16123
|
+
"returns": "number"
|
|
16124
|
+
},
|
|
16125
|
+
"setEpoch": {
|
|
16126
|
+
"description": "Set the epoch to a specific value.",
|
|
16127
|
+
"parameters": {
|
|
16128
|
+
"value": {
|
|
16129
|
+
"type": "number",
|
|
16130
|
+
"description": "The new epoch value"
|
|
16131
|
+
}
|
|
16132
|
+
},
|
|
16133
|
+
"required": [
|
|
16134
|
+
"value"
|
|
16135
|
+
],
|
|
16136
|
+
"returns": "void"
|
|
16137
|
+
},
|
|
16138
|
+
"incrementEpoch": {
|
|
16139
|
+
"description": "Increment the epoch by 1.",
|
|
16140
|
+
"parameters": {},
|
|
16141
|
+
"required": [],
|
|
16142
|
+
"returns": "Promise<number>"
|
|
16143
|
+
},
|
|
16144
|
+
"createEvent": {
|
|
16145
|
+
"description": "Create a timestamped event memory in the 'events' category, automatically tagged with the current epoch.",
|
|
16146
|
+
"parameters": {
|
|
16147
|
+
"text": {
|
|
16148
|
+
"type": "string",
|
|
16149
|
+
"description": "The event description"
|
|
16150
|
+
},
|
|
16151
|
+
"metadata": {
|
|
16152
|
+
"type": "Record<string, any>",
|
|
16153
|
+
"description": "Optional additional metadata"
|
|
16154
|
+
}
|
|
16155
|
+
},
|
|
16156
|
+
"required": [
|
|
16157
|
+
"text"
|
|
16158
|
+
],
|
|
16159
|
+
"returns": "Promise<MemoryRecord>"
|
|
16160
|
+
},
|
|
16161
|
+
"getEvents": {
|
|
16162
|
+
"description": "Get events, optionally filtered by epoch.",
|
|
16163
|
+
"parameters": {
|
|
16164
|
+
"options": {
|
|
16165
|
+
"type": "{ epoch?: number; limit?: number }",
|
|
16166
|
+
"description": "Query options",
|
|
16167
|
+
"properties": {
|
|
16168
|
+
"epoch": {
|
|
16169
|
+
"type": "any",
|
|
16170
|
+
"description": "Filter to a specific epoch"
|
|
16171
|
+
},
|
|
16172
|
+
"limit": {
|
|
16173
|
+
"type": "any",
|
|
16174
|
+
"description": "Max results (default 10)"
|
|
16175
|
+
}
|
|
16176
|
+
}
|
|
16177
|
+
}
|
|
16178
|
+
},
|
|
16179
|
+
"required": [],
|
|
16180
|
+
"returns": "Promise<MemoryRecord[]>"
|
|
16181
|
+
},
|
|
16182
|
+
"exportToJson": {
|
|
16183
|
+
"description": "Export all memories in this namespace to a JSON-serializable object.",
|
|
16184
|
+
"parameters": {},
|
|
16185
|
+
"required": [],
|
|
16186
|
+
"returns": "Promise<{ namespace: string; epoch: number; memories: MemoryRecord[] }>"
|
|
16187
|
+
},
|
|
16188
|
+
"importFromJson": {
|
|
16189
|
+
"description": "Import memories from a JSON export. Optionally replaces all existing memories.",
|
|
16190
|
+
"parameters": {
|
|
16191
|
+
"data": {
|
|
16192
|
+
"type": "{ namespace?: string; epoch?: number; memories: Array<{ category: string; document: string; metadata?: Record<string, any> }> }",
|
|
16193
|
+
"description": "The exported data object"
|
|
16194
|
+
},
|
|
16195
|
+
"replace": {
|
|
16196
|
+
"type": "any",
|
|
16197
|
+
"description": "If true, wipe existing memories before importing (default true)"
|
|
16198
|
+
}
|
|
16199
|
+
},
|
|
16200
|
+
"required": [
|
|
16201
|
+
"data"
|
|
16202
|
+
],
|
|
16203
|
+
"returns": "Promise<number>"
|
|
16204
|
+
}
|
|
16205
|
+
},
|
|
16206
|
+
"getters": {},
|
|
16207
|
+
"events": {
|
|
16208
|
+
"dbInitialized": {
|
|
16209
|
+
"name": "dbInitialized",
|
|
16210
|
+
"description": "Event emitted by Memory",
|
|
16211
|
+
"arguments": {}
|
|
16212
|
+
},
|
|
16213
|
+
"memoryCreated": {
|
|
16214
|
+
"name": "memoryCreated",
|
|
16215
|
+
"description": "Event emitted by Memory",
|
|
16216
|
+
"arguments": {}
|
|
16217
|
+
},
|
|
16218
|
+
"memoryDeleted": {
|
|
16219
|
+
"name": "memoryDeleted",
|
|
16220
|
+
"description": "Event emitted by Memory",
|
|
16221
|
+
"arguments": {}
|
|
16222
|
+
},
|
|
16223
|
+
"epochChanged": {
|
|
16224
|
+
"name": "epochChanged",
|
|
16225
|
+
"description": "Event emitted by Memory",
|
|
16226
|
+
"arguments": {}
|
|
16227
|
+
}
|
|
16228
|
+
},
|
|
16229
|
+
"state": {},
|
|
16230
|
+
"options": {},
|
|
16231
|
+
"envVars": [],
|
|
16232
|
+
"examples": [
|
|
16233
|
+
{
|
|
16234
|
+
"language": "ts",
|
|
16235
|
+
"code": "const mem = container.feature('memory')\nawait mem.create('user-prefs', 'Prefers dark mode', { source: 'onboarding' })\nconst results = await mem.search('user-prefs', 'UI preferences')"
|
|
16236
|
+
}
|
|
16237
|
+
],
|
|
16238
|
+
"types": {
|
|
16239
|
+
"MemoryRecord": {
|
|
16240
|
+
"description": "--- Types ---",
|
|
16241
|
+
"properties": {
|
|
16242
|
+
"id": {
|
|
16243
|
+
"type": "number",
|
|
16244
|
+
"description": ""
|
|
16245
|
+
},
|
|
16246
|
+
"category": {
|
|
16247
|
+
"type": "string",
|
|
16248
|
+
"description": ""
|
|
16249
|
+
},
|
|
16250
|
+
"document": {
|
|
16251
|
+
"type": "string",
|
|
16252
|
+
"description": ""
|
|
16253
|
+
},
|
|
16254
|
+
"metadata": {
|
|
16255
|
+
"type": "Record<string, any>",
|
|
16256
|
+
"description": ""
|
|
16257
|
+
},
|
|
16258
|
+
"created_at": {
|
|
16259
|
+
"type": "string",
|
|
16260
|
+
"description": ""
|
|
16261
|
+
},
|
|
16262
|
+
"updated_at": {
|
|
16263
|
+
"type": "string",
|
|
16264
|
+
"description": ""
|
|
16265
|
+
}
|
|
16266
|
+
}
|
|
16267
|
+
},
|
|
16268
|
+
"MemorySearchResult": {
|
|
16269
|
+
"description": "",
|
|
16270
|
+
"properties": {
|
|
16271
|
+
"distance": {
|
|
16272
|
+
"type": "number",
|
|
16273
|
+
"description": ""
|
|
16274
|
+
}
|
|
16275
|
+
}
|
|
16276
|
+
}
|
|
16277
|
+
}
|
|
16278
|
+
});
|
|
16279
|
+
|
|
15660
16280
|
setBuildTimeData('features.claudeCode', {
|
|
15661
16281
|
"id": "features.claudeCode",
|
|
15662
16282
|
"description": "Claude Code CLI wrapper feature. Spawns and manages Claude Code sessions as subprocesses, streaming structured JSON events back through the container's event system. Sessions are long-lived: each call to `run()` spawns a `claude -p` process with `--output-format stream-json`, parses NDJSON from stdout line-by-line, and emits typed events on the feature's event bus.",
|
|
@@ -16109,6 +16729,77 @@ setBuildTimeData('features.claudeCode', {
|
|
|
16109
16729
|
}
|
|
16110
16730
|
]
|
|
16111
16731
|
},
|
|
16732
|
+
"listProcessSessions": {
|
|
16733
|
+
"description": "List all Claude Code processes currently registered in ~/.claude/sessions/. Returns each session's metadata along with whether the process is still alive.",
|
|
16734
|
+
"parameters": {},
|
|
16735
|
+
"required": [],
|
|
16736
|
+
"returns": "Promise<Array<{\n pid: number\n sessionId: string\n cwd: string\n startedAt: number\n kind: string\n entrypoint: string\n alive: boolean\n }>>",
|
|
16737
|
+
"examples": [
|
|
16738
|
+
{
|
|
16739
|
+
"language": "ts",
|
|
16740
|
+
"code": "const sessions = await cc.listProcessSessions()\nfor (const s of sessions) {\n console.log(`[${s.alive ? 'LIVE' : 'dead'}] PID ${s.pid} in ${s.cwd}`)\n}"
|
|
16741
|
+
}
|
|
16742
|
+
]
|
|
16743
|
+
},
|
|
16744
|
+
"getProcessSession": {
|
|
16745
|
+
"description": "Read a single process session by PID from ~/.claude/sessions/<pid>.json.",
|
|
16746
|
+
"parameters": {
|
|
16747
|
+
"pid": {
|
|
16748
|
+
"type": "number",
|
|
16749
|
+
"description": "The process ID"
|
|
16750
|
+
}
|
|
16751
|
+
},
|
|
16752
|
+
"required": [
|
|
16753
|
+
"pid"
|
|
16754
|
+
],
|
|
16755
|
+
"returns": "Promise<{\n pid: number\n sessionId: string\n cwd: string\n startedAt: number\n kind: string\n entrypoint: string\n } | null>",
|
|
16756
|
+
"examples": [
|
|
16757
|
+
{
|
|
16758
|
+
"language": "ts",
|
|
16759
|
+
"code": "const session = await cc.getProcessSession(12345)\nconsole.log(session?.cwd)"
|
|
16760
|
+
}
|
|
16761
|
+
]
|
|
16762
|
+
},
|
|
16763
|
+
"getConversationHistory": {
|
|
16764
|
+
"description": "Read the conversation history for a Claude Code session from its JSONL file in ~/.claude/projects/<encoded-cwd>/<sessionId>.jsonl. Returns an array of parsed message objects (user, assistant, tool_use, tool_result).",
|
|
16765
|
+
"parameters": {
|
|
16766
|
+
"sessionId": {
|
|
16767
|
+
"type": "string",
|
|
16768
|
+
"description": "The Claude CLI session ID (from listProcessSessions or getProcessSession)"
|
|
16769
|
+
},
|
|
16770
|
+
"cwd": {
|
|
16771
|
+
"type": "string",
|
|
16772
|
+
"description": "The working directory of the session (used to locate the project folder)"
|
|
16773
|
+
}
|
|
16774
|
+
},
|
|
16775
|
+
"required": [
|
|
16776
|
+
"sessionId"
|
|
16777
|
+
],
|
|
16778
|
+
"returns": "Promise<any[]>",
|
|
16779
|
+
"examples": [
|
|
16780
|
+
{
|
|
16781
|
+
"language": "ts",
|
|
16782
|
+
"code": "const sessions = await cc.listProcessSessions()\nconst s = sessions[0]\nconst history = await cc.getConversationHistory(s.sessionId, s.cwd)\nconsole.log(history.length, 'turns')"
|
|
16783
|
+
}
|
|
16784
|
+
]
|
|
16785
|
+
},
|
|
16786
|
+
"listSessionsForCwd": {
|
|
16787
|
+
"description": "List all conversation sessions stored for a given working directory. Reads ~/.claude/projects/<encoded-cwd>/ and returns metadata for each .jsonl file.",
|
|
16788
|
+
"parameters": {
|
|
16789
|
+
"cwd": {
|
|
16790
|
+
"type": "string",
|
|
16791
|
+
"description": "The working directory path to look up"
|
|
16792
|
+
}
|
|
16793
|
+
},
|
|
16794
|
+
"required": [],
|
|
16795
|
+
"returns": "Promise<Array<{\n sessionId: string\n filePath: string\n messageCount: number\n }>>",
|
|
16796
|
+
"examples": [
|
|
16797
|
+
{
|
|
16798
|
+
"language": "ts",
|
|
16799
|
+
"code": "const sessions = await cc.listSessionsForCwd('/Users/me/my-project')\nfor (const s of sessions) {\n console.log(s.sessionId, s.messageCount, 'messages')\n}"
|
|
16800
|
+
}
|
|
16801
|
+
]
|
|
16802
|
+
},
|
|
16112
16803
|
"cleanupMcpTempFiles": {
|
|
16113
16804
|
"description": "Clean up any temp MCP config files created during sessions.",
|
|
16114
16805
|
"parameters": {},
|
|
@@ -18197,6 +18888,98 @@ setBuildTimeData('features.fileTools', {
|
|
|
18197
18888
|
"envVars": []
|
|
18198
18889
|
});
|
|
18199
18890
|
|
|
18891
|
+
setBuildTimeData('features.codingTools', {
|
|
18892
|
+
"id": "features.codingTools",
|
|
18893
|
+
"description": "Shell primitives for AI coding assistants: rg, ls, cat, sed, awk. Wraps standard Unix tools into the assistant tool surface with LLM-optimized descriptions and system prompt guidance. These are the raw, flexible tools for reading, searching, and exploring code. Compose with other features (fileTools, processManager, skillsLibrary) in assistant hooks for a complete coding tool surface. Usage: ```typescript assistant.use(container.feature('codingTools')) ```",
|
|
18894
|
+
"shortcut": "features.codingTools",
|
|
18895
|
+
"className": "CodingTools",
|
|
18896
|
+
"methods": {
|
|
18897
|
+
"rg": {
|
|
18898
|
+
"description": "",
|
|
18899
|
+
"parameters": {
|
|
18900
|
+
"args": {
|
|
18901
|
+
"type": "{ args: string; cwd?: string }",
|
|
18902
|
+
"description": "Parameter args"
|
|
18903
|
+
}
|
|
18904
|
+
},
|
|
18905
|
+
"required": [
|
|
18906
|
+
"args"
|
|
18907
|
+
],
|
|
18908
|
+
"returns": "Promise<string>"
|
|
18909
|
+
},
|
|
18910
|
+
"ls": {
|
|
18911
|
+
"description": "",
|
|
18912
|
+
"parameters": {
|
|
18913
|
+
"args": {
|
|
18914
|
+
"type": "{ args?: string; cwd?: string }",
|
|
18915
|
+
"description": "Parameter args"
|
|
18916
|
+
}
|
|
18917
|
+
},
|
|
18918
|
+
"required": [
|
|
18919
|
+
"args"
|
|
18920
|
+
],
|
|
18921
|
+
"returns": "Promise<string>"
|
|
18922
|
+
},
|
|
18923
|
+
"cat": {
|
|
18924
|
+
"description": "",
|
|
18925
|
+
"parameters": {
|
|
18926
|
+
"args": {
|
|
18927
|
+
"type": "{ args: string; cwd?: string }",
|
|
18928
|
+
"description": "Parameter args"
|
|
18929
|
+
}
|
|
18930
|
+
},
|
|
18931
|
+
"required": [
|
|
18932
|
+
"args"
|
|
18933
|
+
],
|
|
18934
|
+
"returns": "Promise<string>"
|
|
18935
|
+
},
|
|
18936
|
+
"sed": {
|
|
18937
|
+
"description": "",
|
|
18938
|
+
"parameters": {
|
|
18939
|
+
"args": {
|
|
18940
|
+
"type": "{ args: string; cwd?: string }",
|
|
18941
|
+
"description": "Parameter args"
|
|
18942
|
+
}
|
|
18943
|
+
},
|
|
18944
|
+
"required": [
|
|
18945
|
+
"args"
|
|
18946
|
+
],
|
|
18947
|
+
"returns": "Promise<string>"
|
|
18948
|
+
},
|
|
18949
|
+
"awk": {
|
|
18950
|
+
"description": "",
|
|
18951
|
+
"parameters": {
|
|
18952
|
+
"args": {
|
|
18953
|
+
"type": "{ args: string; cwd?: string }",
|
|
18954
|
+
"description": "Parameter args"
|
|
18955
|
+
}
|
|
18956
|
+
},
|
|
18957
|
+
"required": [
|
|
18958
|
+
"args"
|
|
18959
|
+
],
|
|
18960
|
+
"returns": "Promise<string>"
|
|
18961
|
+
},
|
|
18962
|
+
"setupToolsConsumer": {
|
|
18963
|
+
"description": "",
|
|
18964
|
+
"parameters": {
|
|
18965
|
+
"consumer": {
|
|
18966
|
+
"type": "Helper",
|
|
18967
|
+
"description": "Parameter consumer"
|
|
18968
|
+
}
|
|
18969
|
+
},
|
|
18970
|
+
"required": [
|
|
18971
|
+
"consumer"
|
|
18972
|
+
],
|
|
18973
|
+
"returns": "void"
|
|
18974
|
+
}
|
|
18975
|
+
},
|
|
18976
|
+
"getters": {},
|
|
18977
|
+
"events": {},
|
|
18978
|
+
"state": {},
|
|
18979
|
+
"options": {},
|
|
18980
|
+
"envVars": []
|
|
18981
|
+
});
|
|
18982
|
+
|
|
18200
18983
|
// Container introspection data
|
|
18201
18984
|
setContainerBuildTimeData('Container', {
|
|
18202
18985
|
"className": "Container",
|
|
@@ -18305,7 +19088,7 @@ setContainerBuildTimeData('Container', {
|
|
|
18305
19088
|
"description": "The id of the feature to create."
|
|
18306
19089
|
},
|
|
18307
19090
|
"options": {
|
|
18308
|
-
"type": "
|
|
19091
|
+
"type": "FeatureInputOptions<Features>[T] | Record<string, unknown>",
|
|
18309
19092
|
"description": "The options to pass to the feature constructor."
|
|
18310
19093
|
}
|
|
18311
19094
|
},
|
|
@@ -18314,6 +19097,52 @@ setContainerBuildTimeData('Container', {
|
|
|
18314
19097
|
],
|
|
18315
19098
|
"returns": "InstanceType<Features[T]>"
|
|
18316
19099
|
},
|
|
19100
|
+
"entity": {
|
|
19101
|
+
"description": "Creates a lightweight entity object with observable state, a typed event bus, and access to the container. Same id + options always returns the same cached base instance. An optional third argument auto-extends the entity with functions and getters. All extended methods and getters can access the entity (state, options, container, on/off/emit, etc.) via `this`.",
|
|
19102
|
+
"parameters": {
|
|
19103
|
+
"id": {
|
|
19104
|
+
"type": "string",
|
|
19105
|
+
"description": "Stable identifier for this entity (included in cache key)"
|
|
19106
|
+
},
|
|
19107
|
+
"options": {
|
|
19108
|
+
"type": "TOptions",
|
|
19109
|
+
"description": "Arbitrary options stored on `entity.options` (included in cache key)"
|
|
19110
|
+
},
|
|
19111
|
+
"extensions": {
|
|
19112
|
+
"type": "Ext & ThisType<Entity<TState, TOptions, TEvents> & Ext>",
|
|
19113
|
+
"description": "Optional object of functions/getters to graft onto the entity"
|
|
19114
|
+
}
|
|
19115
|
+
},
|
|
19116
|
+
"required": [
|
|
19117
|
+
"id"
|
|
19118
|
+
],
|
|
19119
|
+
"returns": "Entity<TState, TOptions, TEvents> & Ext",
|
|
19120
|
+
"examples": [
|
|
19121
|
+
{
|
|
19122
|
+
"language": "ts",
|
|
19123
|
+
"code": "// Basic entity with typed state and events\nconst counter = container.entity<{ count: number }>('counter')\ncounter.setState({ count: 0 })\ncounter.on('tick', () => counter.setState(s => ({ count: s.count + 1 })))\n\n// With options and auto-extension\nconst user = container.entity('user:42', { name: 'Alice' }, {\n greet() { return `Hello ${this.options.name}` },\n get label() { return `User: ${this.options.name}` },\n})\nuser.greet() // \"Hello Alice\""
|
|
19124
|
+
}
|
|
19125
|
+
]
|
|
19126
|
+
},
|
|
19127
|
+
"getHelperByUUID": {
|
|
19128
|
+
"description": "Look up any helper instance (feature, client, server) by its UUID. Returns undefined if the UUID is unknown or the instance was never created.",
|
|
19129
|
+
"parameters": {
|
|
19130
|
+
"uuid": {
|
|
19131
|
+
"type": "string",
|
|
19132
|
+
"description": "The `instance.uuid` value assigned at construction time"
|
|
19133
|
+
}
|
|
19134
|
+
},
|
|
19135
|
+
"required": [
|
|
19136
|
+
"uuid"
|
|
19137
|
+
],
|
|
19138
|
+
"returns": "Helper | undefined",
|
|
19139
|
+
"examples": [
|
|
19140
|
+
{
|
|
19141
|
+
"language": "ts",
|
|
19142
|
+
"code": "const assistant = container.feature('assistant')\nconst { uuid } = assistant\n// ... later ...\nconst same = container.getHelperByUUID(uuid) // === assistant"
|
|
19143
|
+
}
|
|
19144
|
+
]
|
|
19145
|
+
},
|
|
18317
19146
|
"start": {
|
|
18318
19147
|
"description": "Start the container. Emits the 'started' event and sets `state.started` to true. Plugins and features can listen for this event to perform initialization.",
|
|
18319
19148
|
"parameters": {},
|
|
@@ -18620,7 +19449,7 @@ setContainerBuildTimeData('NodeContainer', {
|
|
|
18620
19449
|
},
|
|
18621
19450
|
"urlUtils": {
|
|
18622
19451
|
"description": "Returns URL utility functions for parsing URIs.",
|
|
18623
|
-
"returns": "{ parse: (uri: string) => url.
|
|
19452
|
+
"returns": "{ parse: (uri: string) => url.UrlWithStringQuery }"
|
|
18624
19453
|
},
|
|
18625
19454
|
"paths": {
|
|
18626
19455
|
"description": "Returns path utility functions scoped to the current working directory (join, resolve, relative, dirname, parse).",
|
|
@@ -27338,6 +28167,19 @@ export const introspectionData = [
|
|
|
27338
28167
|
],
|
|
27339
28168
|
"returns": "void"
|
|
27340
28169
|
},
|
|
28170
|
+
"setupToolsConsumer": {
|
|
28171
|
+
"description": "When an assistant uses processManager, inject system prompt guidance about how to manage processes safely and effectively.",
|
|
28172
|
+
"parameters": {
|
|
28173
|
+
"consumer": {
|
|
28174
|
+
"type": "Helper",
|
|
28175
|
+
"description": "Parameter consumer"
|
|
28176
|
+
}
|
|
28177
|
+
},
|
|
28178
|
+
"required": [
|
|
28179
|
+
"consumer"
|
|
28180
|
+
],
|
|
28181
|
+
"returns": "void"
|
|
28182
|
+
},
|
|
27341
28183
|
"spawn": {
|
|
27342
28184
|
"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.",
|
|
27343
28185
|
"parameters": {
|
|
@@ -29750,6 +30592,19 @@ export const introspectionData = [
|
|
|
29750
30592
|
"shortcut": "features.contentDb",
|
|
29751
30593
|
"className": "ContentDb",
|
|
29752
30594
|
"methods": {
|
|
30595
|
+
"setupToolsConsumer": {
|
|
30596
|
+
"description": "When an assistant uses contentDb, inject system prompt guidance about progressive document exploration.",
|
|
30597
|
+
"parameters": {
|
|
30598
|
+
"consumer": {
|
|
30599
|
+
"type": "Helper",
|
|
30600
|
+
"description": "Parameter consumer"
|
|
30601
|
+
}
|
|
30602
|
+
},
|
|
30603
|
+
"required": [
|
|
30604
|
+
"consumer"
|
|
30605
|
+
],
|
|
30606
|
+
"returns": "void"
|
|
30607
|
+
},
|
|
29753
30608
|
"renderTree": {
|
|
29754
30609
|
"description": "Render a tree view of the collection directory structure. Built with container.fs so it works without the `tree` binary.",
|
|
29755
30610
|
"parameters": {
|
|
@@ -30268,210 +31123,701 @@ export const introspectionData = [
|
|
|
30268
31123
|
"description": "Additional axios request config"
|
|
30269
31124
|
}
|
|
30270
31125
|
},
|
|
30271
|
-
"required": [
|
|
30272
|
-
"url"
|
|
30273
|
-
],
|
|
31126
|
+
"required": [
|
|
31127
|
+
"url"
|
|
31128
|
+
],
|
|
31129
|
+
"returns": "Promise<any>"
|
|
31130
|
+
},
|
|
31131
|
+
"post": {
|
|
31132
|
+
"description": "Send a POST request. Returns the parsed response body directly (not an axios Response wrapper). On HTTP errors, returns the error as JSON instead of throwing.",
|
|
31133
|
+
"parameters": {
|
|
31134
|
+
"url": {
|
|
31135
|
+
"type": "string",
|
|
31136
|
+
"description": "Request path relative to baseURL"
|
|
31137
|
+
},
|
|
31138
|
+
"data": {
|
|
31139
|
+
"type": "any",
|
|
31140
|
+
"description": "Request body"
|
|
31141
|
+
},
|
|
31142
|
+
"options": {
|
|
31143
|
+
"type": "AxiosRequestConfig",
|
|
31144
|
+
"description": "Additional axios request config"
|
|
31145
|
+
}
|
|
31146
|
+
},
|
|
31147
|
+
"required": [
|
|
31148
|
+
"url"
|
|
31149
|
+
],
|
|
31150
|
+
"returns": "Promise<any>"
|
|
31151
|
+
},
|
|
31152
|
+
"delete": {
|
|
31153
|
+
"description": "Send a DELETE request. Returns the parsed response body directly (not an axios Response wrapper). On HTTP errors, returns the error as JSON instead of throwing.",
|
|
31154
|
+
"parameters": {
|
|
31155
|
+
"url": {
|
|
31156
|
+
"type": "string",
|
|
31157
|
+
"description": "Request path relative to baseURL"
|
|
31158
|
+
},
|
|
31159
|
+
"params": {
|
|
31160
|
+
"type": "any",
|
|
31161
|
+
"description": "Query parameters"
|
|
31162
|
+
},
|
|
31163
|
+
"options": {
|
|
31164
|
+
"type": "AxiosRequestConfig",
|
|
31165
|
+
"description": "Additional axios request config"
|
|
31166
|
+
}
|
|
31167
|
+
},
|
|
31168
|
+
"required": [
|
|
31169
|
+
"url"
|
|
31170
|
+
],
|
|
31171
|
+
"returns": "Promise<any>"
|
|
31172
|
+
},
|
|
31173
|
+
"get": {
|
|
31174
|
+
"description": "Send a GET request. Returns the parsed response body directly (not an axios Response wrapper). On HTTP errors, returns the error as JSON instead of throwing.",
|
|
31175
|
+
"parameters": {
|
|
31176
|
+
"url": {
|
|
31177
|
+
"type": "string",
|
|
31178
|
+
"description": "Request path relative to baseURL"
|
|
31179
|
+
},
|
|
31180
|
+
"params": {
|
|
31181
|
+
"type": "any",
|
|
31182
|
+
"description": "Query parameters"
|
|
31183
|
+
},
|
|
31184
|
+
"options": {
|
|
31185
|
+
"type": "AxiosRequestConfig",
|
|
31186
|
+
"description": "Additional axios request config"
|
|
31187
|
+
}
|
|
31188
|
+
},
|
|
31189
|
+
"required": [
|
|
31190
|
+
"url"
|
|
31191
|
+
],
|
|
31192
|
+
"returns": "Promise<any>"
|
|
31193
|
+
},
|
|
31194
|
+
"handleError": {
|
|
31195
|
+
"description": "Handle an axios error by emitting 'failure' and returning the error as JSON.",
|
|
31196
|
+
"parameters": {
|
|
31197
|
+
"error": {
|
|
31198
|
+
"type": "AxiosError",
|
|
31199
|
+
"description": "Parameter error"
|
|
31200
|
+
}
|
|
31201
|
+
},
|
|
31202
|
+
"required": [
|
|
31203
|
+
"error"
|
|
31204
|
+
],
|
|
31205
|
+
"returns": "Promise<object>"
|
|
31206
|
+
}
|
|
31207
|
+
},
|
|
31208
|
+
"getters": {
|
|
31209
|
+
"useJSON": {
|
|
31210
|
+
"description": "Whether JSON content-type headers should be set automatically.",
|
|
31211
|
+
"returns": "any"
|
|
31212
|
+
},
|
|
31213
|
+
"baseURL": {
|
|
31214
|
+
"description": "",
|
|
31215
|
+
"returns": "any"
|
|
31216
|
+
}
|
|
31217
|
+
},
|
|
31218
|
+
"events": {
|
|
31219
|
+
"failure": {
|
|
31220
|
+
"name": "failure",
|
|
31221
|
+
"description": "Event emitted by RestClient",
|
|
31222
|
+
"arguments": {}
|
|
31223
|
+
}
|
|
31224
|
+
},
|
|
31225
|
+
"state": {},
|
|
31226
|
+
"options": {},
|
|
31227
|
+
"envVars": [],
|
|
31228
|
+
"examples": [
|
|
31229
|
+
{
|
|
31230
|
+
"language": "ts",
|
|
31231
|
+
"code": "const api = container.client('rest', { baseURL: 'https://api.example.com', json: true })\nconst users = await api.get('/users')\nawait api.post('/users', { name: 'Alice' })"
|
|
31232
|
+
}
|
|
31233
|
+
]
|
|
31234
|
+
},
|
|
31235
|
+
{
|
|
31236
|
+
"id": "clients.websocket",
|
|
31237
|
+
"description": "WebSocketClient helper",
|
|
31238
|
+
"shortcut": "clients.websocket",
|
|
31239
|
+
"className": "WebSocketClient",
|
|
31240
|
+
"methods": {
|
|
31241
|
+
"connect": {
|
|
31242
|
+
"description": "Establish a WebSocket connection to the configured baseURL. Wires all raw WebSocket events (open, message, close, error) to the Helper event bus and updates connection state accordingly. Resolves once the connection is open; rejects on error.",
|
|
31243
|
+
"parameters": {},
|
|
31244
|
+
"required": [],
|
|
31245
|
+
"returns": "Promise<this>"
|
|
31246
|
+
},
|
|
31247
|
+
"send": {
|
|
31248
|
+
"description": "Send data over the WebSocket connection. Automatically JSON-serializes the payload. If not currently connected, attempts to connect first.",
|
|
31249
|
+
"parameters": {
|
|
31250
|
+
"data": {
|
|
31251
|
+
"type": "any",
|
|
31252
|
+
"description": "The data to send (will be JSON.stringify'd)"
|
|
31253
|
+
}
|
|
31254
|
+
},
|
|
31255
|
+
"required": [
|
|
31256
|
+
"data"
|
|
31257
|
+
],
|
|
31258
|
+
"returns": "Promise<void>"
|
|
31259
|
+
},
|
|
31260
|
+
"ask": {
|
|
31261
|
+
"description": "Send a request and wait for a correlated response. The message is sent with a unique `requestId`; the remote side is expected to reply with a message containing `replyTo` set to that same ID.",
|
|
31262
|
+
"parameters": {
|
|
31263
|
+
"type": {
|
|
31264
|
+
"type": "string",
|
|
31265
|
+
"description": "A string identifying the request type"
|
|
31266
|
+
},
|
|
31267
|
+
"data": {
|
|
31268
|
+
"type": "any",
|
|
31269
|
+
"description": "Optional payload to include with the request"
|
|
31270
|
+
},
|
|
31271
|
+
"timeout": {
|
|
31272
|
+
"type": "any",
|
|
31273
|
+
"description": "How long to wait for a response (default 10 000 ms)"
|
|
31274
|
+
}
|
|
31275
|
+
},
|
|
31276
|
+
"required": [
|
|
31277
|
+
"type"
|
|
31278
|
+
],
|
|
31279
|
+
"returns": "Promise<R>",
|
|
31280
|
+
"examples": [
|
|
31281
|
+
{
|
|
31282
|
+
"language": "ts",
|
|
31283
|
+
"code": "const result = await ws.ask('getUser', { id: 42 })"
|
|
31284
|
+
}
|
|
31285
|
+
]
|
|
31286
|
+
},
|
|
31287
|
+
"disconnect": {
|
|
31288
|
+
"description": "Gracefully close the WebSocket connection. Suppresses auto-reconnect and updates connection state to disconnected.",
|
|
31289
|
+
"parameters": {},
|
|
31290
|
+
"required": [],
|
|
31291
|
+
"returns": "Promise<this>"
|
|
31292
|
+
}
|
|
31293
|
+
},
|
|
31294
|
+
"getters": {
|
|
31295
|
+
"hasError": {
|
|
31296
|
+
"description": "Whether the client is in an error state.",
|
|
31297
|
+
"returns": "any"
|
|
31298
|
+
}
|
|
31299
|
+
},
|
|
31300
|
+
"events": {
|
|
31301
|
+
"open": {
|
|
31302
|
+
"name": "open",
|
|
31303
|
+
"description": "Event emitted by WebSocketClient",
|
|
31304
|
+
"arguments": {}
|
|
31305
|
+
},
|
|
31306
|
+
"error": {
|
|
31307
|
+
"name": "error",
|
|
31308
|
+
"description": "Event emitted by WebSocketClient",
|
|
31309
|
+
"arguments": {}
|
|
31310
|
+
},
|
|
31311
|
+
"message": {
|
|
31312
|
+
"name": "message",
|
|
31313
|
+
"description": "Event emitted by WebSocketClient",
|
|
31314
|
+
"arguments": {}
|
|
31315
|
+
},
|
|
31316
|
+
"close": {
|
|
31317
|
+
"name": "close",
|
|
31318
|
+
"description": "Event emitted by WebSocketClient",
|
|
31319
|
+
"arguments": {}
|
|
31320
|
+
},
|
|
31321
|
+
"reconnecting": {
|
|
31322
|
+
"name": "reconnecting",
|
|
31323
|
+
"description": "Event emitted by WebSocketClient",
|
|
31324
|
+
"arguments": {}
|
|
31325
|
+
}
|
|
31326
|
+
},
|
|
31327
|
+
"state": {},
|
|
31328
|
+
"options": {},
|
|
31329
|
+
"envVars": []
|
|
31330
|
+
},
|
|
31331
|
+
{
|
|
31332
|
+
"id": "clients.supabase",
|
|
31333
|
+
"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).",
|
|
31334
|
+
"shortcut": "clients.supabase",
|
|
31335
|
+
"className": "SupabaseClient",
|
|
31336
|
+
"methods": {
|
|
31337
|
+
"from": {
|
|
31338
|
+
"description": "Start a query on a Postgres table or view.",
|
|
31339
|
+
"parameters": {
|
|
31340
|
+
"table": {
|
|
31341
|
+
"type": "string",
|
|
31342
|
+
"description": "The table or view name to query"
|
|
31343
|
+
}
|
|
31344
|
+
},
|
|
31345
|
+
"required": [
|
|
31346
|
+
"table"
|
|
31347
|
+
],
|
|
31348
|
+
"returns": "void"
|
|
31349
|
+
},
|
|
31350
|
+
"rpc": {
|
|
31351
|
+
"description": "Call a Postgres function (RPC).",
|
|
31352
|
+
"parameters": {
|
|
31353
|
+
"fn": {
|
|
31354
|
+
"type": "string",
|
|
31355
|
+
"description": "The function name"
|
|
31356
|
+
},
|
|
31357
|
+
"params": {
|
|
31358
|
+
"type": "Record<string, unknown>",
|
|
31359
|
+
"description": "Arguments to pass to the function"
|
|
31360
|
+
},
|
|
31361
|
+
"options": {
|
|
31362
|
+
"type": "{ head?: boolean; get?: boolean; count?: \"exact\" | \"planned\" | \"estimated\" }",
|
|
31363
|
+
"description": "Optional settings (head, get, count)"
|
|
31364
|
+
}
|
|
31365
|
+
},
|
|
31366
|
+
"required": [
|
|
31367
|
+
"fn"
|
|
31368
|
+
],
|
|
31369
|
+
"returns": "void"
|
|
31370
|
+
},
|
|
31371
|
+
"signInWithPassword": {
|
|
31372
|
+
"description": "Sign in with email and password.",
|
|
31373
|
+
"parameters": {
|
|
31374
|
+
"email": {
|
|
31375
|
+
"type": "string",
|
|
31376
|
+
"description": "Parameter email"
|
|
31377
|
+
},
|
|
31378
|
+
"password": {
|
|
31379
|
+
"type": "string",
|
|
31380
|
+
"description": "Parameter password"
|
|
31381
|
+
}
|
|
31382
|
+
},
|
|
31383
|
+
"required": [
|
|
31384
|
+
"email",
|
|
31385
|
+
"password"
|
|
31386
|
+
],
|
|
31387
|
+
"returns": "void"
|
|
31388
|
+
},
|
|
31389
|
+
"signUp": {
|
|
31390
|
+
"description": "Create a new user account with email and password.",
|
|
31391
|
+
"parameters": {
|
|
31392
|
+
"email": {
|
|
31393
|
+
"type": "string",
|
|
31394
|
+
"description": "Parameter email"
|
|
31395
|
+
},
|
|
31396
|
+
"password": {
|
|
31397
|
+
"type": "string",
|
|
31398
|
+
"description": "Parameter password"
|
|
31399
|
+
}
|
|
31400
|
+
},
|
|
31401
|
+
"required": [
|
|
31402
|
+
"email",
|
|
31403
|
+
"password"
|
|
31404
|
+
],
|
|
31405
|
+
"returns": "void"
|
|
31406
|
+
},
|
|
31407
|
+
"signOut": {
|
|
31408
|
+
"description": "Sign the current user out.",
|
|
31409
|
+
"parameters": {},
|
|
31410
|
+
"required": [],
|
|
31411
|
+
"returns": "void"
|
|
31412
|
+
},
|
|
31413
|
+
"getSession": {
|
|
31414
|
+
"description": "Get the current session, if any.",
|
|
31415
|
+
"parameters": {},
|
|
31416
|
+
"required": [],
|
|
31417
|
+
"returns": "void"
|
|
31418
|
+
},
|
|
31419
|
+
"getUser": {
|
|
31420
|
+
"description": "Get the current user, if any.",
|
|
31421
|
+
"parameters": {},
|
|
31422
|
+
"required": [],
|
|
31423
|
+
"returns": "void"
|
|
31424
|
+
},
|
|
31425
|
+
"invoke": {
|
|
31426
|
+
"description": "Invoke a Supabase Edge Function by name.",
|
|
31427
|
+
"parameters": {
|
|
31428
|
+
"name": {
|
|
31429
|
+
"type": "string",
|
|
31430
|
+
"description": "Parameter name"
|
|
31431
|
+
},
|
|
31432
|
+
"body": {
|
|
31433
|
+
"type": "any",
|
|
31434
|
+
"description": "Parameter body"
|
|
31435
|
+
}
|
|
31436
|
+
},
|
|
31437
|
+
"required": [
|
|
31438
|
+
"name"
|
|
31439
|
+
],
|
|
31440
|
+
"returns": "void"
|
|
31441
|
+
},
|
|
31442
|
+
"subscribe": {
|
|
31443
|
+
"description": "Subscribe to realtime changes on a Postgres table.",
|
|
31444
|
+
"parameters": {
|
|
31445
|
+
"channelName": {
|
|
31446
|
+
"type": "string",
|
|
31447
|
+
"description": "A name for this subscription channel"
|
|
31448
|
+
},
|
|
31449
|
+
"table": {
|
|
31450
|
+
"type": "string",
|
|
31451
|
+
"description": "The table to listen to"
|
|
31452
|
+
},
|
|
31453
|
+
"callback": {
|
|
31454
|
+
"type": "(payload: any) => void",
|
|
31455
|
+
"description": "Called with the payload on each change"
|
|
31456
|
+
},
|
|
31457
|
+
"event": {
|
|
31458
|
+
"type": "\"INSERT\" | \"UPDATE\" | \"DELETE\" | \"*\"",
|
|
31459
|
+
"description": "The event type to listen for (default: all changes)"
|
|
31460
|
+
}
|
|
31461
|
+
},
|
|
31462
|
+
"required": [
|
|
31463
|
+
"channelName",
|
|
31464
|
+
"table",
|
|
31465
|
+
"callback"
|
|
31466
|
+
],
|
|
31467
|
+
"returns": "RealtimeChannel"
|
|
31468
|
+
},
|
|
31469
|
+
"unsubscribe": {
|
|
31470
|
+
"description": "Unsubscribe and remove a realtime channel by name.",
|
|
31471
|
+
"parameters": {
|
|
31472
|
+
"channelName": {
|
|
31473
|
+
"type": "string",
|
|
31474
|
+
"description": "The channel name to remove"
|
|
31475
|
+
}
|
|
31476
|
+
},
|
|
31477
|
+
"required": [
|
|
31478
|
+
"channelName"
|
|
31479
|
+
],
|
|
31480
|
+
"returns": "void"
|
|
31481
|
+
},
|
|
31482
|
+
"unsubscribeAll": {
|
|
31483
|
+
"description": "Unsubscribe and remove all realtime channels.",
|
|
31484
|
+
"parameters": {},
|
|
31485
|
+
"required": [],
|
|
31486
|
+
"returns": "void"
|
|
31487
|
+
},
|
|
31488
|
+
"connect": {
|
|
31489
|
+
"description": "Connect is a no-op since the Supabase SDK initializes on construction. The client is ready to use immediately after creation.",
|
|
31490
|
+
"parameters": {},
|
|
31491
|
+
"required": [],
|
|
31492
|
+
"returns": "void"
|
|
31493
|
+
},
|
|
31494
|
+
"disconnect": {
|
|
31495
|
+
"description": "Disconnect by signing out and removing all realtime channels.",
|
|
31496
|
+
"parameters": {},
|
|
31497
|
+
"required": [],
|
|
31498
|
+
"returns": "void"
|
|
31499
|
+
}
|
|
31500
|
+
},
|
|
31501
|
+
"getters": {
|
|
31502
|
+
"sdk": {
|
|
31503
|
+
"description": "Returns the raw Supabase SDK client for full access to all SDK methods.",
|
|
31504
|
+
"returns": "SupabaseSDKClient<any, any>"
|
|
31505
|
+
},
|
|
31506
|
+
"storage": {
|
|
31507
|
+
"description": "Returns the Supabase Storage client for managing buckets and files.",
|
|
31508
|
+
"returns": "any"
|
|
31509
|
+
},
|
|
31510
|
+
"functions": {
|
|
31511
|
+
"description": "Returns the Supabase Functions client.",
|
|
31512
|
+
"returns": "any"
|
|
31513
|
+
}
|
|
31514
|
+
},
|
|
31515
|
+
"events": {},
|
|
31516
|
+
"state": {},
|
|
31517
|
+
"options": {},
|
|
31518
|
+
"envVars": [],
|
|
31519
|
+
"examples": [
|
|
31520
|
+
{
|
|
31521
|
+
"language": "ts",
|
|
31522
|
+
"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})"
|
|
31523
|
+
}
|
|
31524
|
+
]
|
|
31525
|
+
},
|
|
31526
|
+
{
|
|
31527
|
+
"id": "clients.comfyui",
|
|
31528
|
+
"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.",
|
|
31529
|
+
"shortcut": "clients.comfyui",
|
|
31530
|
+
"className": "ComfyUIClient",
|
|
31531
|
+
"methods": {
|
|
31532
|
+
"queuePrompt": {
|
|
31533
|
+
"description": "Queue a prompt (API-format workflow) for execution.",
|
|
31534
|
+
"parameters": {
|
|
31535
|
+
"prompt": {
|
|
31536
|
+
"type": "Record<string, any>",
|
|
31537
|
+
"description": "The API-format workflow object"
|
|
31538
|
+
},
|
|
31539
|
+
"clientId": {
|
|
31540
|
+
"type": "string",
|
|
31541
|
+
"description": "Override the client ID for this request"
|
|
31542
|
+
}
|
|
31543
|
+
},
|
|
31544
|
+
"required": [
|
|
31545
|
+
"prompt"
|
|
31546
|
+
],
|
|
31547
|
+
"returns": "Promise<{ prompt_id: string; number: number }>",
|
|
31548
|
+
"examples": [
|
|
31549
|
+
{
|
|
31550
|
+
"language": "ts",
|
|
31551
|
+
"code": "const { prompt_id } = await comfy.queuePrompt(apiWorkflow)"
|
|
31552
|
+
}
|
|
31553
|
+
]
|
|
31554
|
+
},
|
|
31555
|
+
"getQueue": {
|
|
31556
|
+
"description": "Get the current prompt queue status.",
|
|
31557
|
+
"parameters": {},
|
|
31558
|
+
"required": [],
|
|
31559
|
+
"returns": "Promise<{ queue_running: any[]; queue_pending: any[] }>"
|
|
31560
|
+
},
|
|
31561
|
+
"getHistory": {
|
|
31562
|
+
"description": "Get execution history, optionally for a specific prompt.",
|
|
31563
|
+
"parameters": {
|
|
31564
|
+
"promptId": {
|
|
31565
|
+
"type": "string",
|
|
31566
|
+
"description": "If provided, returns history for this prompt only"
|
|
31567
|
+
}
|
|
31568
|
+
},
|
|
31569
|
+
"required": [],
|
|
31570
|
+
"returns": "Promise<Record<string, any>>"
|
|
31571
|
+
},
|
|
31572
|
+
"getSystemStats": {
|
|
31573
|
+
"description": "Get system stats including GPU memory and queue info.",
|
|
31574
|
+
"parameters": {},
|
|
31575
|
+
"required": [],
|
|
31576
|
+
"returns": "Promise<any>"
|
|
31577
|
+
},
|
|
31578
|
+
"getObjectInfo": {
|
|
31579
|
+
"description": "Get node type info with input/output schemas.",
|
|
31580
|
+
"parameters": {
|
|
31581
|
+
"nodeClass": {
|
|
31582
|
+
"type": "string",
|
|
31583
|
+
"description": "If provided, returns info for this node type only"
|
|
31584
|
+
}
|
|
31585
|
+
},
|
|
31586
|
+
"required": [],
|
|
30274
31587
|
"returns": "Promise<any>"
|
|
30275
31588
|
},
|
|
30276
|
-
"
|
|
30277
|
-
"description": "
|
|
31589
|
+
"interrupt": {
|
|
31590
|
+
"description": "Interrupt the currently executing prompt.",
|
|
31591
|
+
"parameters": {},
|
|
31592
|
+
"required": [],
|
|
31593
|
+
"returns": "Promise<void>"
|
|
31594
|
+
},
|
|
31595
|
+
"getModels": {
|
|
31596
|
+
"description": "List available models, optionally filtered by type.",
|
|
30278
31597
|
"parameters": {
|
|
30279
|
-
"
|
|
31598
|
+
"type": {
|
|
30280
31599
|
"type": "string",
|
|
30281
|
-
"description": "
|
|
30282
|
-
},
|
|
30283
|
-
"data": {
|
|
30284
|
-
"type": "any",
|
|
30285
|
-
"description": "Request body"
|
|
30286
|
-
},
|
|
30287
|
-
"options": {
|
|
30288
|
-
"type": "AxiosRequestConfig",
|
|
30289
|
-
"description": "Additional axios request config"
|
|
31600
|
+
"description": "Model type filter (e.g., 'checkpoints', 'loras')"
|
|
30290
31601
|
}
|
|
30291
31602
|
},
|
|
30292
|
-
"required": [
|
|
30293
|
-
|
|
30294
|
-
],
|
|
30295
|
-
"returns": "Promise<any>"
|
|
31603
|
+
"required": [],
|
|
31604
|
+
"returns": "Promise<string[]>"
|
|
30296
31605
|
},
|
|
30297
|
-
"
|
|
30298
|
-
"description": "
|
|
31606
|
+
"getEmbeddings": {
|
|
31607
|
+
"description": "List available embedding models.",
|
|
31608
|
+
"parameters": {},
|
|
31609
|
+
"required": [],
|
|
31610
|
+
"returns": "Promise<string[]>"
|
|
31611
|
+
},
|
|
31612
|
+
"uploadImage": {
|
|
31613
|
+
"description": "Upload an image to ComfyUI's input directory.",
|
|
30299
31614
|
"parameters": {
|
|
30300
|
-
"
|
|
30301
|
-
"type": "
|
|
30302
|
-
"description": "
|
|
31615
|
+
"file": {
|
|
31616
|
+
"type": "Buffer | Blob",
|
|
31617
|
+
"description": "The image data as Buffer or Blob"
|
|
30303
31618
|
},
|
|
30304
|
-
"
|
|
30305
|
-
"type": "
|
|
30306
|
-
"description": "
|
|
31619
|
+
"filename": {
|
|
31620
|
+
"type": "string",
|
|
31621
|
+
"description": "File name for the upload"
|
|
30307
31622
|
},
|
|
30308
|
-
"
|
|
30309
|
-
"type": "
|
|
30310
|
-
"description": "
|
|
31623
|
+
"opts": {
|
|
31624
|
+
"type": "{ subfolder?: string; type?: string; overwrite?: boolean }",
|
|
31625
|
+
"description": "Upload options (subfolder, type, overwrite)"
|
|
30311
31626
|
}
|
|
30312
31627
|
},
|
|
30313
31628
|
"required": [
|
|
30314
|
-
"
|
|
31629
|
+
"file",
|
|
31630
|
+
"filename"
|
|
30315
31631
|
],
|
|
30316
31632
|
"returns": "Promise<any>"
|
|
30317
31633
|
},
|
|
30318
|
-
"
|
|
30319
|
-
"description": "
|
|
31634
|
+
"viewImage": {
|
|
31635
|
+
"description": "Download a generated image from ComfyUI as a Buffer.",
|
|
30320
31636
|
"parameters": {
|
|
30321
|
-
"
|
|
31637
|
+
"filename": {
|
|
30322
31638
|
"type": "string",
|
|
30323
|
-
"description": "
|
|
31639
|
+
"description": "The image filename"
|
|
30324
31640
|
},
|
|
30325
|
-
"
|
|
31641
|
+
"subfolder": {
|
|
30326
31642
|
"type": "any",
|
|
30327
|
-
"description": "
|
|
31643
|
+
"description": "Subfolder within the output directory"
|
|
30328
31644
|
},
|
|
30329
|
-
"
|
|
30330
|
-
"type": "
|
|
30331
|
-
"description": "
|
|
31645
|
+
"type": {
|
|
31646
|
+
"type": "any",
|
|
31647
|
+
"description": "Image type ('output', 'input', 'temp')"
|
|
30332
31648
|
}
|
|
30333
31649
|
},
|
|
30334
31650
|
"required": [
|
|
30335
|
-
"
|
|
31651
|
+
"filename"
|
|
30336
31652
|
],
|
|
30337
|
-
"returns": "Promise<
|
|
31653
|
+
"returns": "Promise<Buffer>"
|
|
30338
31654
|
},
|
|
30339
|
-
"
|
|
30340
|
-
"description": "
|
|
30341
|
-
"parameters": {
|
|
30342
|
-
|
|
30343
|
-
|
|
30344
|
-
"description": "Parameter error"
|
|
30345
|
-
}
|
|
30346
|
-
},
|
|
30347
|
-
"required": [
|
|
30348
|
-
"error"
|
|
30349
|
-
],
|
|
30350
|
-
"returns": "Promise<object>"
|
|
30351
|
-
}
|
|
30352
|
-
},
|
|
30353
|
-
"getters": {
|
|
30354
|
-
"useJSON": {
|
|
30355
|
-
"description": "Whether JSON content-type headers should be set automatically.",
|
|
30356
|
-
"returns": "any"
|
|
31655
|
+
"connectWs": {
|
|
31656
|
+
"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`.",
|
|
31657
|
+
"parameters": {},
|
|
31658
|
+
"required": [],
|
|
31659
|
+
"returns": "Promise<void>"
|
|
30357
31660
|
},
|
|
30358
|
-
"
|
|
30359
|
-
"description": "",
|
|
30360
|
-
"returns": "any"
|
|
30361
|
-
}
|
|
30362
|
-
},
|
|
30363
|
-
"events": {
|
|
30364
|
-
"failure": {
|
|
30365
|
-
"name": "failure",
|
|
30366
|
-
"description": "Event emitted by RestClient",
|
|
30367
|
-
"arguments": {}
|
|
30368
|
-
}
|
|
30369
|
-
},
|
|
30370
|
-
"state": {},
|
|
30371
|
-
"options": {},
|
|
30372
|
-
"envVars": [],
|
|
30373
|
-
"examples": [
|
|
30374
|
-
{
|
|
30375
|
-
"language": "ts",
|
|
30376
|
-
"code": "const api = container.client('rest', { baseURL: 'https://api.example.com', json: true })\nconst users = await api.get('/users')\nawait api.post('/users', { name: 'Alice' })"
|
|
30377
|
-
}
|
|
30378
|
-
]
|
|
30379
|
-
},
|
|
30380
|
-
{
|
|
30381
|
-
"id": "clients.websocket",
|
|
30382
|
-
"description": "WebSocketClient helper",
|
|
30383
|
-
"shortcut": "clients.websocket",
|
|
30384
|
-
"className": "WebSocketClient",
|
|
30385
|
-
"methods": {
|
|
30386
|
-
"connect": {
|
|
30387
|
-
"description": "Establish a WebSocket connection to the configured baseURL. Wires all raw WebSocket events (open, message, close, error) to the Helper event bus and updates connection state accordingly. Resolves once the connection is open; rejects on error.",
|
|
31661
|
+
"disconnectWs": {
|
|
31662
|
+
"description": "Close the WebSocket connection.",
|
|
30388
31663
|
"parameters": {},
|
|
30389
31664
|
"required": [],
|
|
30390
|
-
"returns": "
|
|
31665
|
+
"returns": "void"
|
|
30391
31666
|
},
|
|
30392
|
-
"
|
|
30393
|
-
"description": "
|
|
31667
|
+
"toApiFormat": {
|
|
31668
|
+
"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.",
|
|
30394
31669
|
"parameters": {
|
|
30395
|
-
"
|
|
30396
|
-
"type": "any",
|
|
30397
|
-
"description": "
|
|
31670
|
+
"workflow": {
|
|
31671
|
+
"type": "Record<string, any>",
|
|
31672
|
+
"description": "Parameter workflow"
|
|
30398
31673
|
}
|
|
30399
31674
|
},
|
|
30400
31675
|
"required": [
|
|
30401
|
-
"
|
|
31676
|
+
"workflow"
|
|
30402
31677
|
],
|
|
30403
|
-
"returns": "Promise<
|
|
31678
|
+
"returns": "Promise<Record<string, any>>"
|
|
30404
31679
|
},
|
|
30405
|
-
"
|
|
30406
|
-
"description": "
|
|
31680
|
+
"runWorkflow": {
|
|
31681
|
+
"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' } } ```",
|
|
30407
31682
|
"parameters": {
|
|
30408
|
-
"
|
|
30409
|
-
"type": "string",
|
|
30410
|
-
"description": "
|
|
31683
|
+
"workflow": {
|
|
31684
|
+
"type": "Record<string, any>",
|
|
31685
|
+
"description": "Parameter workflow"
|
|
30411
31686
|
},
|
|
30412
|
-
"
|
|
30413
|
-
"type": "any",
|
|
30414
|
-
"description": "
|
|
31687
|
+
"inputs": {
|
|
31688
|
+
"type": "Record<string, any>",
|
|
31689
|
+
"description": "Parameter inputs"
|
|
30415
31690
|
},
|
|
30416
|
-
"
|
|
30417
|
-
"type": "
|
|
30418
|
-
"description": "
|
|
31691
|
+
"options": {
|
|
31692
|
+
"type": "WorkflowRunOptions",
|
|
31693
|
+
"description": "Parameter options",
|
|
31694
|
+
"properties": {
|
|
31695
|
+
"poll": {
|
|
31696
|
+
"type": "boolean",
|
|
31697
|
+
"description": "Use polling instead of WebSocket for tracking execution"
|
|
31698
|
+
},
|
|
31699
|
+
"pollInterval": {
|
|
31700
|
+
"type": "number",
|
|
31701
|
+
"description": "Polling interval in ms (default 1000)"
|
|
31702
|
+
},
|
|
31703
|
+
"inputMap": {
|
|
31704
|
+
"type": "InputMapping",
|
|
31705
|
+
"description": "Named input mapping: semantic name -> { nodeId, field }"
|
|
31706
|
+
},
|
|
31707
|
+
"outputDir": {
|
|
31708
|
+
"type": "string",
|
|
31709
|
+
"description": "If provided, output images are downloaded to this directory"
|
|
31710
|
+
}
|
|
31711
|
+
}
|
|
30419
31712
|
}
|
|
30420
31713
|
},
|
|
30421
31714
|
"required": [
|
|
30422
|
-
"
|
|
31715
|
+
"workflow"
|
|
30423
31716
|
],
|
|
30424
|
-
"returns": "Promise<
|
|
30425
|
-
"examples": [
|
|
30426
|
-
{
|
|
30427
|
-
"language": "ts",
|
|
30428
|
-
"code": "const result = await ws.ask('getUser', { id: 42 })"
|
|
30429
|
-
}
|
|
30430
|
-
]
|
|
30431
|
-
},
|
|
30432
|
-
"disconnect": {
|
|
30433
|
-
"description": "Gracefully close the WebSocket connection. Suppresses auto-reconnect and updates connection state to disconnected.",
|
|
30434
|
-
"parameters": {},
|
|
30435
|
-
"required": [],
|
|
30436
|
-
"returns": "Promise<this>"
|
|
31717
|
+
"returns": "Promise<WorkflowResult>"
|
|
30437
31718
|
}
|
|
30438
31719
|
},
|
|
30439
31720
|
"getters": {
|
|
30440
|
-
"
|
|
30441
|
-
"description": "
|
|
30442
|
-
"returns": "
|
|
31721
|
+
"clientId": {
|
|
31722
|
+
"description": "The unique client ID used for WebSocket session tracking.",
|
|
31723
|
+
"returns": "string"
|
|
31724
|
+
},
|
|
31725
|
+
"wsURL": {
|
|
31726
|
+
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
31727
|
+
"returns": "string"
|
|
30443
31728
|
}
|
|
30444
31729
|
},
|
|
30445
31730
|
"events": {
|
|
30446
|
-
"
|
|
30447
|
-
"name": "
|
|
30448
|
-
"description": "Event emitted by
|
|
31731
|
+
"execution_start": {
|
|
31732
|
+
"name": "execution_start",
|
|
31733
|
+
"description": "Event emitted by ComfyUIClient",
|
|
30449
31734
|
"arguments": {}
|
|
30450
31735
|
},
|
|
30451
|
-
"
|
|
30452
|
-
"name": "
|
|
30453
|
-
"description": "Event emitted by
|
|
31736
|
+
"execution_complete": {
|
|
31737
|
+
"name": "execution_complete",
|
|
31738
|
+
"description": "Event emitted by ComfyUIClient",
|
|
30454
31739
|
"arguments": {}
|
|
30455
31740
|
},
|
|
30456
|
-
"
|
|
30457
|
-
"name": "
|
|
30458
|
-
"description": "Event emitted by
|
|
31741
|
+
"executing": {
|
|
31742
|
+
"name": "executing",
|
|
31743
|
+
"description": "Event emitted by ComfyUIClient",
|
|
30459
31744
|
"arguments": {}
|
|
30460
31745
|
},
|
|
30461
|
-
"
|
|
30462
|
-
"name": "
|
|
30463
|
-
"description": "Event emitted by
|
|
31746
|
+
"progress": {
|
|
31747
|
+
"name": "progress",
|
|
31748
|
+
"description": "Event emitted by ComfyUIClient",
|
|
30464
31749
|
"arguments": {}
|
|
30465
31750
|
},
|
|
30466
|
-
"
|
|
30467
|
-
"name": "
|
|
30468
|
-
"description": "Event emitted by
|
|
31751
|
+
"executed": {
|
|
31752
|
+
"name": "executed",
|
|
31753
|
+
"description": "Event emitted by ComfyUIClient",
|
|
31754
|
+
"arguments": {}
|
|
31755
|
+
},
|
|
31756
|
+
"execution_cached": {
|
|
31757
|
+
"name": "execution_cached",
|
|
31758
|
+
"description": "Event emitted by ComfyUIClient",
|
|
31759
|
+
"arguments": {}
|
|
31760
|
+
},
|
|
31761
|
+
"execution_error": {
|
|
31762
|
+
"name": "execution_error",
|
|
31763
|
+
"description": "Event emitted by ComfyUIClient",
|
|
30469
31764
|
"arguments": {}
|
|
30470
31765
|
}
|
|
30471
31766
|
},
|
|
30472
31767
|
"state": {},
|
|
30473
31768
|
"options": {},
|
|
30474
|
-
"envVars": []
|
|
31769
|
+
"envVars": [],
|
|
31770
|
+
"examples": [
|
|
31771
|
+
{
|
|
31772
|
+
"language": "ts",
|
|
31773
|
+
"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)"
|
|
31774
|
+
}
|
|
31775
|
+
],
|
|
31776
|
+
"types": {
|
|
31777
|
+
"WorkflowRunOptions": {
|
|
31778
|
+
"description": "",
|
|
31779
|
+
"properties": {
|
|
31780
|
+
"poll": {
|
|
31781
|
+
"type": "boolean",
|
|
31782
|
+
"description": "Use polling instead of WebSocket for tracking execution",
|
|
31783
|
+
"optional": true
|
|
31784
|
+
},
|
|
31785
|
+
"pollInterval": {
|
|
31786
|
+
"type": "number",
|
|
31787
|
+
"description": "Polling interval in ms (default 1000)",
|
|
31788
|
+
"optional": true
|
|
31789
|
+
},
|
|
31790
|
+
"inputMap": {
|
|
31791
|
+
"type": "InputMapping",
|
|
31792
|
+
"description": "Named input mapping: semantic name -> { nodeId, field }",
|
|
31793
|
+
"optional": true
|
|
31794
|
+
},
|
|
31795
|
+
"outputDir": {
|
|
31796
|
+
"type": "string",
|
|
31797
|
+
"description": "If provided, output images are downloaded to this directory",
|
|
31798
|
+
"optional": true
|
|
31799
|
+
}
|
|
31800
|
+
}
|
|
31801
|
+
},
|
|
31802
|
+
"WorkflowResult": {
|
|
31803
|
+
"description": "",
|
|
31804
|
+
"properties": {
|
|
31805
|
+
"promptId": {
|
|
31806
|
+
"type": "string",
|
|
31807
|
+
"description": ""
|
|
31808
|
+
},
|
|
31809
|
+
"outputs": {
|
|
31810
|
+
"type": "Record<string, any>",
|
|
31811
|
+
"description": ""
|
|
31812
|
+
},
|
|
31813
|
+
"images": {
|
|
31814
|
+
"type": "Array<{ filename: string; subfolder: string; type: string; localPath?: string }>",
|
|
31815
|
+
"description": "",
|
|
31816
|
+
"optional": true
|
|
31817
|
+
}
|
|
31818
|
+
}
|
|
31819
|
+
}
|
|
31820
|
+
}
|
|
30475
31821
|
},
|
|
30476
31822
|
{
|
|
30477
31823
|
"id": "clients.openai",
|
|
@@ -30740,201 +32086,6 @@ export const introspectionData = [
|
|
|
30740
32086
|
}
|
|
30741
32087
|
]
|
|
30742
32088
|
},
|
|
30743
|
-
{
|
|
30744
|
-
"id": "clients.supabase",
|
|
30745
|
-
"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).",
|
|
30746
|
-
"shortcut": "clients.supabase",
|
|
30747
|
-
"className": "SupabaseClient",
|
|
30748
|
-
"methods": {
|
|
30749
|
-
"from": {
|
|
30750
|
-
"description": "Start a query on a Postgres table or view.",
|
|
30751
|
-
"parameters": {
|
|
30752
|
-
"table": {
|
|
30753
|
-
"type": "string",
|
|
30754
|
-
"description": "The table or view name to query"
|
|
30755
|
-
}
|
|
30756
|
-
},
|
|
30757
|
-
"required": [
|
|
30758
|
-
"table"
|
|
30759
|
-
],
|
|
30760
|
-
"returns": "void"
|
|
30761
|
-
},
|
|
30762
|
-
"rpc": {
|
|
30763
|
-
"description": "Call a Postgres function (RPC).",
|
|
30764
|
-
"parameters": {
|
|
30765
|
-
"fn": {
|
|
30766
|
-
"type": "string",
|
|
30767
|
-
"description": "The function name"
|
|
30768
|
-
},
|
|
30769
|
-
"params": {
|
|
30770
|
-
"type": "Record<string, unknown>",
|
|
30771
|
-
"description": "Arguments to pass to the function"
|
|
30772
|
-
},
|
|
30773
|
-
"options": {
|
|
30774
|
-
"type": "{ head?: boolean; get?: boolean; count?: \"exact\" | \"planned\" | \"estimated\" }",
|
|
30775
|
-
"description": "Optional settings (head, get, count)"
|
|
30776
|
-
}
|
|
30777
|
-
},
|
|
30778
|
-
"required": [
|
|
30779
|
-
"fn"
|
|
30780
|
-
],
|
|
30781
|
-
"returns": "void"
|
|
30782
|
-
},
|
|
30783
|
-
"signInWithPassword": {
|
|
30784
|
-
"description": "Sign in with email and password.",
|
|
30785
|
-
"parameters": {
|
|
30786
|
-
"email": {
|
|
30787
|
-
"type": "string",
|
|
30788
|
-
"description": "Parameter email"
|
|
30789
|
-
},
|
|
30790
|
-
"password": {
|
|
30791
|
-
"type": "string",
|
|
30792
|
-
"description": "Parameter password"
|
|
30793
|
-
}
|
|
30794
|
-
},
|
|
30795
|
-
"required": [
|
|
30796
|
-
"email",
|
|
30797
|
-
"password"
|
|
30798
|
-
],
|
|
30799
|
-
"returns": "void"
|
|
30800
|
-
},
|
|
30801
|
-
"signUp": {
|
|
30802
|
-
"description": "Create a new user account with email and password.",
|
|
30803
|
-
"parameters": {
|
|
30804
|
-
"email": {
|
|
30805
|
-
"type": "string",
|
|
30806
|
-
"description": "Parameter email"
|
|
30807
|
-
},
|
|
30808
|
-
"password": {
|
|
30809
|
-
"type": "string",
|
|
30810
|
-
"description": "Parameter password"
|
|
30811
|
-
}
|
|
30812
|
-
},
|
|
30813
|
-
"required": [
|
|
30814
|
-
"email",
|
|
30815
|
-
"password"
|
|
30816
|
-
],
|
|
30817
|
-
"returns": "void"
|
|
30818
|
-
},
|
|
30819
|
-
"signOut": {
|
|
30820
|
-
"description": "Sign the current user out.",
|
|
30821
|
-
"parameters": {},
|
|
30822
|
-
"required": [],
|
|
30823
|
-
"returns": "void"
|
|
30824
|
-
},
|
|
30825
|
-
"getSession": {
|
|
30826
|
-
"description": "Get the current session, if any.",
|
|
30827
|
-
"parameters": {},
|
|
30828
|
-
"required": [],
|
|
30829
|
-
"returns": "void"
|
|
30830
|
-
},
|
|
30831
|
-
"getUser": {
|
|
30832
|
-
"description": "Get the current user, if any.",
|
|
30833
|
-
"parameters": {},
|
|
30834
|
-
"required": [],
|
|
30835
|
-
"returns": "void"
|
|
30836
|
-
},
|
|
30837
|
-
"invoke": {
|
|
30838
|
-
"description": "Invoke a Supabase Edge Function by name.",
|
|
30839
|
-
"parameters": {
|
|
30840
|
-
"name": {
|
|
30841
|
-
"type": "string",
|
|
30842
|
-
"description": "Parameter name"
|
|
30843
|
-
},
|
|
30844
|
-
"body": {
|
|
30845
|
-
"type": "any",
|
|
30846
|
-
"description": "Parameter body"
|
|
30847
|
-
}
|
|
30848
|
-
},
|
|
30849
|
-
"required": [
|
|
30850
|
-
"name"
|
|
30851
|
-
],
|
|
30852
|
-
"returns": "void"
|
|
30853
|
-
},
|
|
30854
|
-
"subscribe": {
|
|
30855
|
-
"description": "Subscribe to realtime changes on a Postgres table.",
|
|
30856
|
-
"parameters": {
|
|
30857
|
-
"channelName": {
|
|
30858
|
-
"type": "string",
|
|
30859
|
-
"description": "A name for this subscription channel"
|
|
30860
|
-
},
|
|
30861
|
-
"table": {
|
|
30862
|
-
"type": "string",
|
|
30863
|
-
"description": "The table to listen to"
|
|
30864
|
-
},
|
|
30865
|
-
"callback": {
|
|
30866
|
-
"type": "(payload: any) => void",
|
|
30867
|
-
"description": "Called with the payload on each change"
|
|
30868
|
-
},
|
|
30869
|
-
"event": {
|
|
30870
|
-
"type": "\"INSERT\" | \"UPDATE\" | \"DELETE\" | \"*\"",
|
|
30871
|
-
"description": "The event type to listen for (default: all changes)"
|
|
30872
|
-
}
|
|
30873
|
-
},
|
|
30874
|
-
"required": [
|
|
30875
|
-
"channelName",
|
|
30876
|
-
"table",
|
|
30877
|
-
"callback"
|
|
30878
|
-
],
|
|
30879
|
-
"returns": "RealtimeChannel"
|
|
30880
|
-
},
|
|
30881
|
-
"unsubscribe": {
|
|
30882
|
-
"description": "Unsubscribe and remove a realtime channel by name.",
|
|
30883
|
-
"parameters": {
|
|
30884
|
-
"channelName": {
|
|
30885
|
-
"type": "string",
|
|
30886
|
-
"description": "The channel name to remove"
|
|
30887
|
-
}
|
|
30888
|
-
},
|
|
30889
|
-
"required": [
|
|
30890
|
-
"channelName"
|
|
30891
|
-
],
|
|
30892
|
-
"returns": "void"
|
|
30893
|
-
},
|
|
30894
|
-
"unsubscribeAll": {
|
|
30895
|
-
"description": "Unsubscribe and remove all realtime channels.",
|
|
30896
|
-
"parameters": {},
|
|
30897
|
-
"required": [],
|
|
30898
|
-
"returns": "void"
|
|
30899
|
-
},
|
|
30900
|
-
"connect": {
|
|
30901
|
-
"description": "Connect is a no-op since the Supabase SDK initializes on construction. The client is ready to use immediately after creation.",
|
|
30902
|
-
"parameters": {},
|
|
30903
|
-
"required": [],
|
|
30904
|
-
"returns": "void"
|
|
30905
|
-
},
|
|
30906
|
-
"disconnect": {
|
|
30907
|
-
"description": "Disconnect by signing out and removing all realtime channels.",
|
|
30908
|
-
"parameters": {},
|
|
30909
|
-
"required": [],
|
|
30910
|
-
"returns": "void"
|
|
30911
|
-
}
|
|
30912
|
-
},
|
|
30913
|
-
"getters": {
|
|
30914
|
-
"sdk": {
|
|
30915
|
-
"description": "Returns the raw Supabase SDK client for full access to all SDK methods.",
|
|
30916
|
-
"returns": "SupabaseSDKClient<any, any>"
|
|
30917
|
-
},
|
|
30918
|
-
"storage": {
|
|
30919
|
-
"description": "Returns the Supabase Storage client for managing buckets and files.",
|
|
30920
|
-
"returns": "any"
|
|
30921
|
-
},
|
|
30922
|
-
"functions": {
|
|
30923
|
-
"description": "Returns the Supabase Functions client.",
|
|
30924
|
-
"returns": "any"
|
|
30925
|
-
}
|
|
30926
|
-
},
|
|
30927
|
-
"events": {},
|
|
30928
|
-
"state": {},
|
|
30929
|
-
"options": {},
|
|
30930
|
-
"envVars": [],
|
|
30931
|
-
"examples": [
|
|
30932
|
-
{
|
|
30933
|
-
"language": "ts",
|
|
30934
|
-
"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})"
|
|
30935
|
-
}
|
|
30936
|
-
]
|
|
30937
|
-
},
|
|
30938
32089
|
{
|
|
30939
32090
|
"id": "clients.elevenlabs",
|
|
30940
32091
|
"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.",
|
|
@@ -31198,302 +32349,6 @@ export const introspectionData = [
|
|
|
31198
32349
|
}
|
|
31199
32350
|
}
|
|
31200
32351
|
},
|
|
31201
|
-
{
|
|
31202
|
-
"id": "clients.comfyui",
|
|
31203
|
-
"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.",
|
|
31204
|
-
"shortcut": "clients.comfyui",
|
|
31205
|
-
"className": "ComfyUIClient",
|
|
31206
|
-
"methods": {
|
|
31207
|
-
"queuePrompt": {
|
|
31208
|
-
"description": "Queue a prompt (API-format workflow) for execution.",
|
|
31209
|
-
"parameters": {
|
|
31210
|
-
"prompt": {
|
|
31211
|
-
"type": "Record<string, any>",
|
|
31212
|
-
"description": "The API-format workflow object"
|
|
31213
|
-
},
|
|
31214
|
-
"clientId": {
|
|
31215
|
-
"type": "string",
|
|
31216
|
-
"description": "Override the client ID for this request"
|
|
31217
|
-
}
|
|
31218
|
-
},
|
|
31219
|
-
"required": [
|
|
31220
|
-
"prompt"
|
|
31221
|
-
],
|
|
31222
|
-
"returns": "Promise<{ prompt_id: string; number: number }>",
|
|
31223
|
-
"examples": [
|
|
31224
|
-
{
|
|
31225
|
-
"language": "ts",
|
|
31226
|
-
"code": "const { prompt_id } = await comfy.queuePrompt(apiWorkflow)"
|
|
31227
|
-
}
|
|
31228
|
-
]
|
|
31229
|
-
},
|
|
31230
|
-
"getQueue": {
|
|
31231
|
-
"description": "Get the current prompt queue status.",
|
|
31232
|
-
"parameters": {},
|
|
31233
|
-
"required": [],
|
|
31234
|
-
"returns": "Promise<{ queue_running: any[]; queue_pending: any[] }>"
|
|
31235
|
-
},
|
|
31236
|
-
"getHistory": {
|
|
31237
|
-
"description": "Get execution history, optionally for a specific prompt.",
|
|
31238
|
-
"parameters": {
|
|
31239
|
-
"promptId": {
|
|
31240
|
-
"type": "string",
|
|
31241
|
-
"description": "If provided, returns history for this prompt only"
|
|
31242
|
-
}
|
|
31243
|
-
},
|
|
31244
|
-
"required": [],
|
|
31245
|
-
"returns": "Promise<Record<string, any>>"
|
|
31246
|
-
},
|
|
31247
|
-
"getSystemStats": {
|
|
31248
|
-
"description": "Get system stats including GPU memory and queue info.",
|
|
31249
|
-
"parameters": {},
|
|
31250
|
-
"required": [],
|
|
31251
|
-
"returns": "Promise<any>"
|
|
31252
|
-
},
|
|
31253
|
-
"getObjectInfo": {
|
|
31254
|
-
"description": "Get node type info with input/output schemas.",
|
|
31255
|
-
"parameters": {
|
|
31256
|
-
"nodeClass": {
|
|
31257
|
-
"type": "string",
|
|
31258
|
-
"description": "If provided, returns info for this node type only"
|
|
31259
|
-
}
|
|
31260
|
-
},
|
|
31261
|
-
"required": [],
|
|
31262
|
-
"returns": "Promise<any>"
|
|
31263
|
-
},
|
|
31264
|
-
"interrupt": {
|
|
31265
|
-
"description": "Interrupt the currently executing prompt.",
|
|
31266
|
-
"parameters": {},
|
|
31267
|
-
"required": [],
|
|
31268
|
-
"returns": "Promise<void>"
|
|
31269
|
-
},
|
|
31270
|
-
"getModels": {
|
|
31271
|
-
"description": "List available models, optionally filtered by type.",
|
|
31272
|
-
"parameters": {
|
|
31273
|
-
"type": {
|
|
31274
|
-
"type": "string",
|
|
31275
|
-
"description": "Model type filter (e.g., 'checkpoints', 'loras')"
|
|
31276
|
-
}
|
|
31277
|
-
},
|
|
31278
|
-
"required": [],
|
|
31279
|
-
"returns": "Promise<string[]>"
|
|
31280
|
-
},
|
|
31281
|
-
"getEmbeddings": {
|
|
31282
|
-
"description": "List available embedding models.",
|
|
31283
|
-
"parameters": {},
|
|
31284
|
-
"required": [],
|
|
31285
|
-
"returns": "Promise<string[]>"
|
|
31286
|
-
},
|
|
31287
|
-
"uploadImage": {
|
|
31288
|
-
"description": "Upload an image to ComfyUI's input directory.",
|
|
31289
|
-
"parameters": {
|
|
31290
|
-
"file": {
|
|
31291
|
-
"type": "Buffer | Blob",
|
|
31292
|
-
"description": "The image data as Buffer or Blob"
|
|
31293
|
-
},
|
|
31294
|
-
"filename": {
|
|
31295
|
-
"type": "string",
|
|
31296
|
-
"description": "File name for the upload"
|
|
31297
|
-
},
|
|
31298
|
-
"opts": {
|
|
31299
|
-
"type": "{ subfolder?: string; type?: string; overwrite?: boolean }",
|
|
31300
|
-
"description": "Upload options (subfolder, type, overwrite)"
|
|
31301
|
-
}
|
|
31302
|
-
},
|
|
31303
|
-
"required": [
|
|
31304
|
-
"file",
|
|
31305
|
-
"filename"
|
|
31306
|
-
],
|
|
31307
|
-
"returns": "Promise<any>"
|
|
31308
|
-
},
|
|
31309
|
-
"viewImage": {
|
|
31310
|
-
"description": "Download a generated image from ComfyUI as a Buffer.",
|
|
31311
|
-
"parameters": {
|
|
31312
|
-
"filename": {
|
|
31313
|
-
"type": "string",
|
|
31314
|
-
"description": "The image filename"
|
|
31315
|
-
},
|
|
31316
|
-
"subfolder": {
|
|
31317
|
-
"type": "any",
|
|
31318
|
-
"description": "Subfolder within the output directory"
|
|
31319
|
-
},
|
|
31320
|
-
"type": {
|
|
31321
|
-
"type": "any",
|
|
31322
|
-
"description": "Image type ('output', 'input', 'temp')"
|
|
31323
|
-
}
|
|
31324
|
-
},
|
|
31325
|
-
"required": [
|
|
31326
|
-
"filename"
|
|
31327
|
-
],
|
|
31328
|
-
"returns": "Promise<Buffer>"
|
|
31329
|
-
},
|
|
31330
|
-
"connectWs": {
|
|
31331
|
-
"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`.",
|
|
31332
|
-
"parameters": {},
|
|
31333
|
-
"required": [],
|
|
31334
|
-
"returns": "Promise<void>"
|
|
31335
|
-
},
|
|
31336
|
-
"disconnectWs": {
|
|
31337
|
-
"description": "Close the WebSocket connection.",
|
|
31338
|
-
"parameters": {},
|
|
31339
|
-
"required": [],
|
|
31340
|
-
"returns": "void"
|
|
31341
|
-
},
|
|
31342
|
-
"toApiFormat": {
|
|
31343
|
-
"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.",
|
|
31344
|
-
"parameters": {
|
|
31345
|
-
"workflow": {
|
|
31346
|
-
"type": "Record<string, any>",
|
|
31347
|
-
"description": "Parameter workflow"
|
|
31348
|
-
}
|
|
31349
|
-
},
|
|
31350
|
-
"required": [
|
|
31351
|
-
"workflow"
|
|
31352
|
-
],
|
|
31353
|
-
"returns": "Promise<Record<string, any>>"
|
|
31354
|
-
},
|
|
31355
|
-
"runWorkflow": {
|
|
31356
|
-
"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' } } ```",
|
|
31357
|
-
"parameters": {
|
|
31358
|
-
"workflow": {
|
|
31359
|
-
"type": "Record<string, any>",
|
|
31360
|
-
"description": "Parameter workflow"
|
|
31361
|
-
},
|
|
31362
|
-
"inputs": {
|
|
31363
|
-
"type": "Record<string, any>",
|
|
31364
|
-
"description": "Parameter inputs"
|
|
31365
|
-
},
|
|
31366
|
-
"options": {
|
|
31367
|
-
"type": "WorkflowRunOptions",
|
|
31368
|
-
"description": "Parameter options",
|
|
31369
|
-
"properties": {
|
|
31370
|
-
"poll": {
|
|
31371
|
-
"type": "boolean",
|
|
31372
|
-
"description": "Use polling instead of WebSocket for tracking execution"
|
|
31373
|
-
},
|
|
31374
|
-
"pollInterval": {
|
|
31375
|
-
"type": "number",
|
|
31376
|
-
"description": "Polling interval in ms (default 1000)"
|
|
31377
|
-
},
|
|
31378
|
-
"inputMap": {
|
|
31379
|
-
"type": "InputMapping",
|
|
31380
|
-
"description": "Named input mapping: semantic name -> { nodeId, field }"
|
|
31381
|
-
},
|
|
31382
|
-
"outputDir": {
|
|
31383
|
-
"type": "string",
|
|
31384
|
-
"description": "If provided, output images are downloaded to this directory"
|
|
31385
|
-
}
|
|
31386
|
-
}
|
|
31387
|
-
}
|
|
31388
|
-
},
|
|
31389
|
-
"required": [
|
|
31390
|
-
"workflow"
|
|
31391
|
-
],
|
|
31392
|
-
"returns": "Promise<WorkflowResult>"
|
|
31393
|
-
}
|
|
31394
|
-
},
|
|
31395
|
-
"getters": {
|
|
31396
|
-
"clientId": {
|
|
31397
|
-
"description": "The unique client ID used for WebSocket session tracking.",
|
|
31398
|
-
"returns": "string"
|
|
31399
|
-
},
|
|
31400
|
-
"wsURL": {
|
|
31401
|
-
"description": "The WebSocket URL derived from baseURL or overridden via options.",
|
|
31402
|
-
"returns": "string"
|
|
31403
|
-
}
|
|
31404
|
-
},
|
|
31405
|
-
"events": {
|
|
31406
|
-
"execution_start": {
|
|
31407
|
-
"name": "execution_start",
|
|
31408
|
-
"description": "Event emitted by ComfyUIClient",
|
|
31409
|
-
"arguments": {}
|
|
31410
|
-
},
|
|
31411
|
-
"execution_complete": {
|
|
31412
|
-
"name": "execution_complete",
|
|
31413
|
-
"description": "Event emitted by ComfyUIClient",
|
|
31414
|
-
"arguments": {}
|
|
31415
|
-
},
|
|
31416
|
-
"executing": {
|
|
31417
|
-
"name": "executing",
|
|
31418
|
-
"description": "Event emitted by ComfyUIClient",
|
|
31419
|
-
"arguments": {}
|
|
31420
|
-
},
|
|
31421
|
-
"progress": {
|
|
31422
|
-
"name": "progress",
|
|
31423
|
-
"description": "Event emitted by ComfyUIClient",
|
|
31424
|
-
"arguments": {}
|
|
31425
|
-
},
|
|
31426
|
-
"executed": {
|
|
31427
|
-
"name": "executed",
|
|
31428
|
-
"description": "Event emitted by ComfyUIClient",
|
|
31429
|
-
"arguments": {}
|
|
31430
|
-
},
|
|
31431
|
-
"execution_cached": {
|
|
31432
|
-
"name": "execution_cached",
|
|
31433
|
-
"description": "Event emitted by ComfyUIClient",
|
|
31434
|
-
"arguments": {}
|
|
31435
|
-
},
|
|
31436
|
-
"execution_error": {
|
|
31437
|
-
"name": "execution_error",
|
|
31438
|
-
"description": "Event emitted by ComfyUIClient",
|
|
31439
|
-
"arguments": {}
|
|
31440
|
-
}
|
|
31441
|
-
},
|
|
31442
|
-
"state": {},
|
|
31443
|
-
"options": {},
|
|
31444
|
-
"envVars": [],
|
|
31445
|
-
"examples": [
|
|
31446
|
-
{
|
|
31447
|
-
"language": "ts",
|
|
31448
|
-
"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)"
|
|
31449
|
-
}
|
|
31450
|
-
],
|
|
31451
|
-
"types": {
|
|
31452
|
-
"WorkflowRunOptions": {
|
|
31453
|
-
"description": "",
|
|
31454
|
-
"properties": {
|
|
31455
|
-
"poll": {
|
|
31456
|
-
"type": "boolean",
|
|
31457
|
-
"description": "Use polling instead of WebSocket for tracking execution",
|
|
31458
|
-
"optional": true
|
|
31459
|
-
},
|
|
31460
|
-
"pollInterval": {
|
|
31461
|
-
"type": "number",
|
|
31462
|
-
"description": "Polling interval in ms (default 1000)",
|
|
31463
|
-
"optional": true
|
|
31464
|
-
},
|
|
31465
|
-
"inputMap": {
|
|
31466
|
-
"type": "InputMapping",
|
|
31467
|
-
"description": "Named input mapping: semantic name -> { nodeId, field }",
|
|
31468
|
-
"optional": true
|
|
31469
|
-
},
|
|
31470
|
-
"outputDir": {
|
|
31471
|
-
"type": "string",
|
|
31472
|
-
"description": "If provided, output images are downloaded to this directory",
|
|
31473
|
-
"optional": true
|
|
31474
|
-
}
|
|
31475
|
-
}
|
|
31476
|
-
},
|
|
31477
|
-
"WorkflowResult": {
|
|
31478
|
-
"description": "",
|
|
31479
|
-
"properties": {
|
|
31480
|
-
"promptId": {
|
|
31481
|
-
"type": "string",
|
|
31482
|
-
"description": ""
|
|
31483
|
-
},
|
|
31484
|
-
"outputs": {
|
|
31485
|
-
"type": "Record<string, any>",
|
|
31486
|
-
"description": ""
|
|
31487
|
-
},
|
|
31488
|
-
"images": {
|
|
31489
|
-
"type": "Array<{ filename: string; subfolder: string; type: string; localPath?: string }>",
|
|
31490
|
-
"description": "",
|
|
31491
|
-
"optional": true
|
|
31492
|
-
}
|
|
31493
|
-
}
|
|
31494
|
-
}
|
|
31495
|
-
}
|
|
31496
|
-
},
|
|
31497
32352
|
{
|
|
31498
32353
|
"id": "servers.mcp",
|
|
31499
32354
|
"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).",
|
|
@@ -31512,7 +32367,7 @@ export const introspectionData = [
|
|
|
31512
32367
|
"description": "Tool schema, description, and handler",
|
|
31513
32368
|
"properties": {
|
|
31514
32369
|
"schema": {
|
|
31515
|
-
"type": "z.
|
|
32370
|
+
"type": "z.ZodType",
|
|
31516
32371
|
"description": ""
|
|
31517
32372
|
},
|
|
31518
32373
|
"description": {
|
|
@@ -31520,7 +32375,7 @@ export const introspectionData = [
|
|
|
31520
32375
|
"description": ""
|
|
31521
32376
|
},
|
|
31522
32377
|
"handler": {
|
|
31523
|
-
"type": "(args: any, ctx:
|
|
32378
|
+
"type": "Function | ((args: any, ctx: any) => any)",
|
|
31524
32379
|
"description": ""
|
|
31525
32380
|
}
|
|
31526
32381
|
}
|
|
@@ -31662,7 +32517,7 @@ export const introspectionData = [
|
|
|
31662
32517
|
"description": "",
|
|
31663
32518
|
"properties": {
|
|
31664
32519
|
"schema": {
|
|
31665
|
-
"type": "z.
|
|
32520
|
+
"type": "z.ZodType",
|
|
31666
32521
|
"description": "",
|
|
31667
32522
|
"optional": true
|
|
31668
32523
|
},
|
|
@@ -31672,17 +32527,9 @@ export const introspectionData = [
|
|
|
31672
32527
|
"optional": true
|
|
31673
32528
|
},
|
|
31674
32529
|
"handler": {
|
|
31675
|
-
"type": "(args: any, ctx:
|
|
31676
|
-
"description": ""
|
|
31677
|
-
|
|
31678
|
-
}
|
|
31679
|
-
},
|
|
31680
|
-
"MCPContext": {
|
|
31681
|
-
"description": "Context object passed to all MCP tool, resource, and prompt handlers.",
|
|
31682
|
-
"properties": {
|
|
31683
|
-
"container": {
|
|
31684
|
-
"type": "NodeContainer",
|
|
31685
|
-
"description": ""
|
|
32530
|
+
"type": "Function | ((args: any, ctx: any) => any)",
|
|
32531
|
+
"description": "",
|
|
32532
|
+
"optional": true
|
|
31686
32533
|
}
|
|
31687
32534
|
}
|
|
31688
32535
|
},
|
|
@@ -31710,6 +32557,15 @@ export const introspectionData = [
|
|
|
31710
32557
|
}
|
|
31711
32558
|
}
|
|
31712
32559
|
},
|
|
32560
|
+
"MCPContext": {
|
|
32561
|
+
"description": "Context object passed to all MCP tool, resource, and prompt handlers.",
|
|
32562
|
+
"properties": {
|
|
32563
|
+
"container": {
|
|
32564
|
+
"type": "NodeContainer",
|
|
32565
|
+
"description": ""
|
|
32566
|
+
}
|
|
32567
|
+
}
|
|
32568
|
+
},
|
|
31713
32569
|
"PromptRegistrationOptions": {
|
|
31714
32570
|
"description": "",
|
|
31715
32571
|
"properties": {
|
|
@@ -31998,8 +32854,51 @@ export const introspectionData = [
|
|
|
31998
32854
|
"shortcut": "features.assistantsManager",
|
|
31999
32855
|
"className": "AssistantsManager",
|
|
32000
32856
|
"methods": {
|
|
32857
|
+
"intercept": {
|
|
32858
|
+
"description": "Registers a pipeline interceptor that is applied to every assistant created by this manager. Interceptors are applied at the given interception point on each assistant at creation time. This mirrors the per-assistant `assistant.intercept(point, fn)` API, but scopes it globally across all assistants managed here — useful for cross-cutting concerns like logging, tracing, or policy enforcement.",
|
|
32859
|
+
"parameters": {
|
|
32860
|
+
"point": {
|
|
32861
|
+
"type": "K",
|
|
32862
|
+
"description": "The interception point (beforeAsk, beforeTurn, beforeToolCall, afterToolCall, beforeResponse)"
|
|
32863
|
+
},
|
|
32864
|
+
"fn": {
|
|
32865
|
+
"type": "InterceptorFn<InterceptorPoints[K]>",
|
|
32866
|
+
"description": "Middleware function receiving (ctx, next)"
|
|
32867
|
+
}
|
|
32868
|
+
},
|
|
32869
|
+
"required": [
|
|
32870
|
+
"point",
|
|
32871
|
+
"fn"
|
|
32872
|
+
],
|
|
32873
|
+
"returns": "this",
|
|
32874
|
+
"examples": [
|
|
32875
|
+
{
|
|
32876
|
+
"language": "ts",
|
|
32877
|
+
"code": "manager.intercept('beforeAsk', async (ctx, next) => {\n console.log(`[${ctx.assistant.name}] asking: ${ctx.message}`)\n await next()\n})"
|
|
32878
|
+
}
|
|
32879
|
+
]
|
|
32880
|
+
},
|
|
32881
|
+
"addDiscoveryFolder": {
|
|
32882
|
+
"description": "Registers an additional folder to scan during assistant discovery and immediately triggers a new discovery pass.",
|
|
32883
|
+
"parameters": {
|
|
32884
|
+
"folderPath": {
|
|
32885
|
+
"type": "string",
|
|
32886
|
+
"description": "Absolute path to a folder containing assistant subdirectories"
|
|
32887
|
+
}
|
|
32888
|
+
},
|
|
32889
|
+
"required": [
|
|
32890
|
+
"folderPath"
|
|
32891
|
+
],
|
|
32892
|
+
"returns": "Promise<this>",
|
|
32893
|
+
"examples": [
|
|
32894
|
+
{
|
|
32895
|
+
"language": "ts",
|
|
32896
|
+
"code": "await manager.addDiscoveryFolder('/path/to/more/assistants')\nconsole.log(manager.available) // includes assistants from the new folder"
|
|
32897
|
+
}
|
|
32898
|
+
]
|
|
32899
|
+
},
|
|
32001
32900
|
"discover": {
|
|
32002
|
-
"description": "
|
|
32901
|
+
"description": "",
|
|
32003
32902
|
"parameters": {},
|
|
32004
32903
|
"required": [],
|
|
32005
32904
|
"returns": "Promise<this>"
|
|
@@ -32242,6 +33141,47 @@ export const introspectionData = [
|
|
|
32242
33141
|
],
|
|
32243
33142
|
"returns": "this"
|
|
32244
33143
|
},
|
|
33144
|
+
"stub": {
|
|
33145
|
+
"description": "Register a hardcoded stub response that bypasses the API when the user's message matches. Streaming is still simulated — chunk/preview events fire word-by-word.",
|
|
33146
|
+
"parameters": {
|
|
33147
|
+
"matcher": {
|
|
33148
|
+
"type": "string | RegExp",
|
|
33149
|
+
"description": "Exact string match, substring, or RegExp tested against user input"
|
|
33150
|
+
},
|
|
33151
|
+
"response": {
|
|
33152
|
+
"type": "string | (() => string)",
|
|
33153
|
+
"description": "The text to stream back, or a zero-arg function that returns it"
|
|
33154
|
+
}
|
|
33155
|
+
},
|
|
33156
|
+
"required": [
|
|
33157
|
+
"matcher",
|
|
33158
|
+
"response"
|
|
33159
|
+
],
|
|
33160
|
+
"returns": "this",
|
|
33161
|
+
"examples": [
|
|
33162
|
+
{
|
|
33163
|
+
"language": "ts",
|
|
33164
|
+
"code": "conversation.stub('hello', 'Hi there!')\nconversation.stub(/weather/i, () => 'Sunny and 72°F.')"
|
|
33165
|
+
}
|
|
33166
|
+
]
|
|
33167
|
+
},
|
|
33168
|
+
"fork": {
|
|
33169
|
+
"description": "Fork the conversation into a new independent instance. The fork inherits the same system prompt, tools, and full message history, but has its own identity and state — changes in either direction do not affect the other.",
|
|
33170
|
+
"parameters": {
|
|
33171
|
+
"overrides": {
|
|
33172
|
+
"type": "Partial<ConversationOptions>",
|
|
33173
|
+
"description": "Optional option overrides for the forked conversation (e.g. different model or title)"
|
|
33174
|
+
}
|
|
33175
|
+
},
|
|
33176
|
+
"required": [],
|
|
33177
|
+
"returns": "Conversation",
|
|
33178
|
+
"examples": [
|
|
33179
|
+
{
|
|
33180
|
+
"language": "ts",
|
|
33181
|
+
"code": "const fork = conversation.fork()\nawait fork.ask('What if we took a different approach?')\n// original conversation is unchanged"
|
|
33182
|
+
}
|
|
33183
|
+
]
|
|
33184
|
+
},
|
|
32245
33185
|
"estimateTokens": {
|
|
32246
33186
|
"description": "Estimate the input token count for the current messages array using the js-tiktoken tokenizer. Updates state.",
|
|
32247
33187
|
"parameters": {},
|
|
@@ -32420,48 +33360,48 @@ export const introspectionData = [
|
|
|
32420
33360
|
"description": "Event emitted by Conversation",
|
|
32421
33361
|
"arguments": {}
|
|
32422
33362
|
},
|
|
32423
|
-
"
|
|
32424
|
-
"name": "
|
|
33363
|
+
"chunk": {
|
|
33364
|
+
"name": "chunk",
|
|
32425
33365
|
"description": "Event emitted by Conversation",
|
|
32426
33366
|
"arguments": {}
|
|
32427
33367
|
},
|
|
32428
|
-
"
|
|
32429
|
-
"name": "
|
|
33368
|
+
"preview": {
|
|
33369
|
+
"name": "preview",
|
|
32430
33370
|
"description": "Event emitted by Conversation",
|
|
32431
33371
|
"arguments": {}
|
|
32432
33372
|
},
|
|
32433
|
-
"
|
|
32434
|
-
"name": "
|
|
33373
|
+
"turnEnd": {
|
|
33374
|
+
"name": "turnEnd",
|
|
32435
33375
|
"description": "Event emitted by Conversation",
|
|
32436
33376
|
"arguments": {}
|
|
32437
33377
|
},
|
|
32438
|
-
"
|
|
32439
|
-
"name": "
|
|
33378
|
+
"response": {
|
|
33379
|
+
"name": "response",
|
|
32440
33380
|
"description": "Event emitted by Conversation",
|
|
32441
33381
|
"arguments": {}
|
|
32442
33382
|
},
|
|
32443
|
-
"
|
|
32444
|
-
"name": "
|
|
33383
|
+
"rawEvent": {
|
|
33384
|
+
"name": "rawEvent",
|
|
32445
33385
|
"description": "Event emitted by Conversation",
|
|
32446
33386
|
"arguments": {}
|
|
32447
33387
|
},
|
|
32448
|
-
"
|
|
32449
|
-
"name": "
|
|
33388
|
+
"mcpEvent": {
|
|
33389
|
+
"name": "mcpEvent",
|
|
32450
33390
|
"description": "Event emitted by Conversation",
|
|
32451
33391
|
"arguments": {}
|
|
32452
33392
|
},
|
|
32453
|
-
"
|
|
32454
|
-
"name": "
|
|
33393
|
+
"responseCompleted": {
|
|
33394
|
+
"name": "responseCompleted",
|
|
32455
33395
|
"description": "Event emitted by Conversation",
|
|
32456
33396
|
"arguments": {}
|
|
32457
33397
|
},
|
|
32458
|
-
"
|
|
32459
|
-
"name": "
|
|
33398
|
+
"toolCallsStart": {
|
|
33399
|
+
"name": "toolCallsStart",
|
|
32460
33400
|
"description": "Event emitted by Conversation",
|
|
32461
33401
|
"arguments": {}
|
|
32462
33402
|
},
|
|
32463
|
-
"
|
|
32464
|
-
"name": "
|
|
33403
|
+
"toolCallsEnd": {
|
|
33404
|
+
"name": "toolCallsEnd",
|
|
32465
33405
|
"description": "Event emitted by Conversation",
|
|
32466
33406
|
"arguments": {}
|
|
32467
33407
|
}
|
|
@@ -32559,7 +33499,7 @@ export const introspectionData = [
|
|
|
32559
33499
|
],
|
|
32560
33500
|
"returns": "EndpointInfo | undefined"
|
|
32561
33501
|
},
|
|
32562
|
-
"
|
|
33502
|
+
"toOpenAITools": {
|
|
32563
33503
|
"description": "Convert all endpoints into OpenAI-compatible tool definitions.",
|
|
32564
33504
|
"parameters": {
|
|
32565
33505
|
"filter": {
|
|
@@ -32653,7 +33593,7 @@ export const introspectionData = [
|
|
|
32653
33593
|
"examples": [
|
|
32654
33594
|
{
|
|
32655
33595
|
"language": "ts",
|
|
32656
|
-
"code": "const api = container.feature('openapi', { url: 'https://petstore.swagger.io/v2' })\nawait api.load()\n\n// Inspect all endpoints\napi.endpoints\n\n// Get a single endpoint by its friendly name\napi.endpoint('getPetById')\n\n// Convert to OpenAI tool definitions\napi.
|
|
33596
|
+
"code": "const api = container.feature('openapi', { url: 'https://petstore.swagger.io/v2' })\nawait api.load()\n\n// Inspect all endpoints\napi.endpoints\n\n// Get a single endpoint by its friendly name\napi.endpoint('getPetById')\n\n// Convert to OpenAI tool definitions\napi.toOpenAITools()\n\n// Convert a single endpoint to a function definition\napi.toFunction('getPetById')"
|
|
32657
33597
|
}
|
|
32658
33598
|
],
|
|
32659
33599
|
"types": {
|
|
@@ -32769,6 +33709,19 @@ export const introspectionData = [
|
|
|
32769
33709
|
"shortcut": "features.browserUse",
|
|
32770
33710
|
"className": "BrowserUse",
|
|
32771
33711
|
"methods": {
|
|
33712
|
+
"setupToolsConsumer": {
|
|
33713
|
+
"description": "When an assistant uses browserUse, inject system prompt guidance about the browser interaction loop.",
|
|
33714
|
+
"parameters": {
|
|
33715
|
+
"consumer": {
|
|
33716
|
+
"type": "Helper",
|
|
33717
|
+
"description": "Parameter consumer"
|
|
33718
|
+
}
|
|
33719
|
+
},
|
|
33720
|
+
"required": [
|
|
33721
|
+
"consumer"
|
|
33722
|
+
],
|
|
33723
|
+
"returns": "void"
|
|
33724
|
+
},
|
|
32772
33725
|
"afterInitialize": {
|
|
32773
33726
|
"description": "",
|
|
32774
33727
|
"parameters": {},
|
|
@@ -33582,7 +34535,7 @@ export const introspectionData = [
|
|
|
33582
34535
|
"description": "",
|
|
33583
34536
|
"parameters": {
|
|
33584
34537
|
"assistant": {
|
|
33585
|
-
"type": "
|
|
34538
|
+
"type": "Feature",
|
|
33586
34539
|
"description": "Parameter assistant"
|
|
33587
34540
|
}
|
|
33588
34541
|
},
|
|
@@ -33717,6 +34670,24 @@ export const introspectionData = [
|
|
|
33717
34670
|
"{ skillName, question }"
|
|
33718
34671
|
],
|
|
33719
34672
|
"returns": "Promise<string>"
|
|
34673
|
+
},
|
|
34674
|
+
"findRelevantSkillsForAssistant": {
|
|
34675
|
+
"description": "Fork the given assistant and ask it which skills (if any) are relevant to the user's query. Returns an array of skill names that should be loaded before the real question is answered. The fork is ephemeral (historyMode: 'none') and uses structured output so the result is always a clean string array — never free text.",
|
|
34676
|
+
"parameters": {
|
|
34677
|
+
"assistant": {
|
|
34678
|
+
"type": "Assistant",
|
|
34679
|
+
"description": "The assistant instance to fork"
|
|
34680
|
+
},
|
|
34681
|
+
"userQuery": {
|
|
34682
|
+
"type": "string",
|
|
34683
|
+
"description": "The user's original question"
|
|
34684
|
+
}
|
|
34685
|
+
},
|
|
34686
|
+
"required": [
|
|
34687
|
+
"assistant",
|
|
34688
|
+
"userQuery"
|
|
34689
|
+
],
|
|
34690
|
+
"returns": "Promise<string[]>"
|
|
33720
34691
|
}
|
|
33721
34692
|
},
|
|
33722
34693
|
"getters": {
|
|
@@ -33756,6 +34727,11 @@ export const introspectionData = [
|
|
|
33756
34727
|
"name": "skillDiscovered",
|
|
33757
34728
|
"description": "Event emitted by SkillsLibrary",
|
|
33758
34729
|
"arguments": {}
|
|
34730
|
+
},
|
|
34731
|
+
"foundSkills": {
|
|
34732
|
+
"name": "foundSkills",
|
|
34733
|
+
"description": "Event emitted by SkillsLibrary",
|
|
34734
|
+
"arguments": {}
|
|
33759
34735
|
}
|
|
33760
34736
|
},
|
|
33761
34737
|
"state": {},
|
|
@@ -34152,6 +35128,10 @@ export const introspectionData = [
|
|
|
34152
35128
|
"description": "Parsed YAML frontmatter from CORE.md, or empty object if none.",
|
|
34153
35129
|
"returns": "Record<string, any>"
|
|
34154
35130
|
},
|
|
35131
|
+
"effectiveOptions": {
|
|
35132
|
+
"description": "Merged options where CORE.md frontmatter provides defaults and constructor options take precedence. Prefer this over `this.options` anywhere model parameters or runtime config is consumed.",
|
|
35133
|
+
"returns": "AssistantOptions & Record<string, any>"
|
|
35134
|
+
},
|
|
34155
35135
|
"paths": {
|
|
34156
35136
|
"description": "Provides a helper for creating paths off of the assistant's base folder",
|
|
34157
35137
|
"returns": "any"
|
|
@@ -34278,6 +35258,474 @@ export const introspectionData = [
|
|
|
34278
35258
|
}
|
|
34279
35259
|
]
|
|
34280
35260
|
},
|
|
35261
|
+
{
|
|
35262
|
+
"id": "features.memory",
|
|
35263
|
+
"description": "Semantic memory storage and retrieval for AI agents. Provides categorized memory with embedding-based search, metadata filtering, epoch tracking, and assistant tool integration. Built natively on Luca's SQLite and semanticSearch features.",
|
|
35264
|
+
"shortcut": "features.memory",
|
|
35265
|
+
"className": "Memory",
|
|
35266
|
+
"methods": {
|
|
35267
|
+
"initDb": {
|
|
35268
|
+
"description": "Initialize the SQLite database and create tables. Called automatically on first use, but can be called explicitly.",
|
|
35269
|
+
"parameters": {},
|
|
35270
|
+
"required": [],
|
|
35271
|
+
"returns": "void",
|
|
35272
|
+
"examples": [
|
|
35273
|
+
{
|
|
35274
|
+
"language": "ts",
|
|
35275
|
+
"code": "const mem = container.feature('memory')\nawait mem.initDb()"
|
|
35276
|
+
}
|
|
35277
|
+
]
|
|
35278
|
+
},
|
|
35279
|
+
"remember": {
|
|
35280
|
+
"description": "Tool handler: store a memory, deduplicating by similarity.",
|
|
35281
|
+
"parameters": {
|
|
35282
|
+
"args": {
|
|
35283
|
+
"type": "{ category: string; text: string; metadata?: Record<string, any> }",
|
|
35284
|
+
"description": "Parameter args"
|
|
35285
|
+
}
|
|
35286
|
+
},
|
|
35287
|
+
"required": [
|
|
35288
|
+
"args"
|
|
35289
|
+
],
|
|
35290
|
+
"returns": "void"
|
|
35291
|
+
},
|
|
35292
|
+
"recall": {
|
|
35293
|
+
"description": "Tool handler: search memories by semantic similarity.",
|
|
35294
|
+
"parameters": {
|
|
35295
|
+
"args": {
|
|
35296
|
+
"type": "{ category: string; query: string; n_results?: number }",
|
|
35297
|
+
"description": "Parameter args"
|
|
35298
|
+
}
|
|
35299
|
+
},
|
|
35300
|
+
"required": [
|
|
35301
|
+
"args"
|
|
35302
|
+
],
|
|
35303
|
+
"returns": "void"
|
|
35304
|
+
},
|
|
35305
|
+
"forgetCategory": {
|
|
35306
|
+
"description": "Tool handler: wipe all memories in a category.",
|
|
35307
|
+
"parameters": {
|
|
35308
|
+
"args": {
|
|
35309
|
+
"type": "{ category: string }",
|
|
35310
|
+
"description": "Parameter args"
|
|
35311
|
+
}
|
|
35312
|
+
},
|
|
35313
|
+
"required": [
|
|
35314
|
+
"args"
|
|
35315
|
+
],
|
|
35316
|
+
"returns": "void"
|
|
35317
|
+
},
|
|
35318
|
+
"listCategories": {
|
|
35319
|
+
"description": "Tool handler: list all categories with counts.",
|
|
35320
|
+
"parameters": {},
|
|
35321
|
+
"required": [],
|
|
35322
|
+
"returns": "void"
|
|
35323
|
+
},
|
|
35324
|
+
"setupToolsConsumer": {
|
|
35325
|
+
"description": "When an assistant uses memory, inject system prompt guidance.",
|
|
35326
|
+
"parameters": {
|
|
35327
|
+
"consumer": {
|
|
35328
|
+
"type": "Helper",
|
|
35329
|
+
"description": "Parameter consumer"
|
|
35330
|
+
}
|
|
35331
|
+
},
|
|
35332
|
+
"required": [
|
|
35333
|
+
"consumer"
|
|
35334
|
+
],
|
|
35335
|
+
"returns": "void"
|
|
35336
|
+
},
|
|
35337
|
+
"create": {
|
|
35338
|
+
"description": "Create a new memory in the given category.",
|
|
35339
|
+
"parameters": {
|
|
35340
|
+
"category": {
|
|
35341
|
+
"type": "string",
|
|
35342
|
+
"description": "The category to store the memory in"
|
|
35343
|
+
},
|
|
35344
|
+
"text": {
|
|
35345
|
+
"type": "string",
|
|
35346
|
+
"description": "The text content of the memory"
|
|
35347
|
+
},
|
|
35348
|
+
"metadata": {
|
|
35349
|
+
"type": "Record<string, any>",
|
|
35350
|
+
"description": "Optional metadata key-value pairs"
|
|
35351
|
+
}
|
|
35352
|
+
},
|
|
35353
|
+
"required": [
|
|
35354
|
+
"category",
|
|
35355
|
+
"text"
|
|
35356
|
+
],
|
|
35357
|
+
"returns": "Promise<MemoryRecord>",
|
|
35358
|
+
"examples": [
|
|
35359
|
+
{
|
|
35360
|
+
"language": "ts",
|
|
35361
|
+
"code": "const mem = container.feature('memory')\nawait mem.create('facts', 'The user lives in Austin', { confidence: 0.9 })"
|
|
35362
|
+
}
|
|
35363
|
+
]
|
|
35364
|
+
},
|
|
35365
|
+
"createUnique": {
|
|
35366
|
+
"description": "Create a memory only if no sufficiently similar memory exists.",
|
|
35367
|
+
"parameters": {
|
|
35368
|
+
"category": {
|
|
35369
|
+
"type": "string",
|
|
35370
|
+
"description": "The category to store the memory in"
|
|
35371
|
+
},
|
|
35372
|
+
"text": {
|
|
35373
|
+
"type": "string",
|
|
35374
|
+
"description": "The text content of the memory"
|
|
35375
|
+
},
|
|
35376
|
+
"metadata": {
|
|
35377
|
+
"type": "Record<string, any>",
|
|
35378
|
+
"description": "Optional metadata"
|
|
35379
|
+
},
|
|
35380
|
+
"similarityThreshold": {
|
|
35381
|
+
"type": "any",
|
|
35382
|
+
"description": "Minimum cosine similarity to consider a duplicate (0-1, default 0.95)"
|
|
35383
|
+
}
|
|
35384
|
+
},
|
|
35385
|
+
"required": [
|
|
35386
|
+
"category",
|
|
35387
|
+
"text"
|
|
35388
|
+
],
|
|
35389
|
+
"returns": "Promise<MemoryRecord | null>",
|
|
35390
|
+
"examples": [
|
|
35391
|
+
{
|
|
35392
|
+
"language": "ts",
|
|
35393
|
+
"code": "const mem = container.feature('memory')\nawait mem.createUnique('facts', 'User prefers dark mode', {}, 0.9)"
|
|
35394
|
+
}
|
|
35395
|
+
]
|
|
35396
|
+
},
|
|
35397
|
+
"get": {
|
|
35398
|
+
"description": "Get a memory by ID.",
|
|
35399
|
+
"parameters": {
|
|
35400
|
+
"category": {
|
|
35401
|
+
"type": "string",
|
|
35402
|
+
"description": "The category the memory belongs to"
|
|
35403
|
+
},
|
|
35404
|
+
"id": {
|
|
35405
|
+
"type": "number",
|
|
35406
|
+
"description": "The memory ID"
|
|
35407
|
+
}
|
|
35408
|
+
},
|
|
35409
|
+
"required": [
|
|
35410
|
+
"category",
|
|
35411
|
+
"id"
|
|
35412
|
+
],
|
|
35413
|
+
"returns": "Promise<MemoryRecord | null>"
|
|
35414
|
+
},
|
|
35415
|
+
"getAll": {
|
|
35416
|
+
"description": "Get all memories in a category, with optional metadata filtering.",
|
|
35417
|
+
"parameters": {
|
|
35418
|
+
"category": {
|
|
35419
|
+
"type": "string",
|
|
35420
|
+
"description": "The category to query"
|
|
35421
|
+
},
|
|
35422
|
+
"options": {
|
|
35423
|
+
"type": "{ limit?: number; sortOrder?: 'asc' | 'desc'; filterMetadata?: Record<string, any> }",
|
|
35424
|
+
"description": "Query options",
|
|
35425
|
+
"properties": {
|
|
35426
|
+
"limit": {
|
|
35427
|
+
"type": "any",
|
|
35428
|
+
"description": "Max results (default 20)"
|
|
35429
|
+
},
|
|
35430
|
+
"sortOrder": {
|
|
35431
|
+
"type": "any",
|
|
35432
|
+
"description": "'asc' or 'desc' by created_at (default 'desc')"
|
|
35433
|
+
},
|
|
35434
|
+
"filterMetadata": {
|
|
35435
|
+
"type": "any",
|
|
35436
|
+
"description": "Filter by metadata key-value pairs"
|
|
35437
|
+
}
|
|
35438
|
+
}
|
|
35439
|
+
}
|
|
35440
|
+
},
|
|
35441
|
+
"required": [
|
|
35442
|
+
"category"
|
|
35443
|
+
],
|
|
35444
|
+
"returns": "Promise<MemoryRecord[]>"
|
|
35445
|
+
},
|
|
35446
|
+
"update": {
|
|
35447
|
+
"description": "Update a memory's text and/or metadata.",
|
|
35448
|
+
"parameters": {
|
|
35449
|
+
"category": {
|
|
35450
|
+
"type": "string",
|
|
35451
|
+
"description": "The category the memory belongs to"
|
|
35452
|
+
},
|
|
35453
|
+
"id": {
|
|
35454
|
+
"type": "number",
|
|
35455
|
+
"description": "The memory ID"
|
|
35456
|
+
},
|
|
35457
|
+
"updates": {
|
|
35458
|
+
"type": "{ text?: string; metadata?: Record<string, any> }",
|
|
35459
|
+
"description": "Fields to update",
|
|
35460
|
+
"properties": {
|
|
35461
|
+
"text": {
|
|
35462
|
+
"type": "any",
|
|
35463
|
+
"description": "New text content (re-embeds automatically)"
|
|
35464
|
+
},
|
|
35465
|
+
"metadata": {
|
|
35466
|
+
"type": "any",
|
|
35467
|
+
"description": "Metadata to merge"
|
|
35468
|
+
}
|
|
35469
|
+
}
|
|
35470
|
+
}
|
|
35471
|
+
},
|
|
35472
|
+
"required": [
|
|
35473
|
+
"category",
|
|
35474
|
+
"id",
|
|
35475
|
+
"updates"
|
|
35476
|
+
],
|
|
35477
|
+
"returns": "Promise<MemoryRecord | null>"
|
|
35478
|
+
},
|
|
35479
|
+
"delete": {
|
|
35480
|
+
"description": "Delete a specific memory.",
|
|
35481
|
+
"parameters": {
|
|
35482
|
+
"category": {
|
|
35483
|
+
"type": "string",
|
|
35484
|
+
"description": "The category"
|
|
35485
|
+
},
|
|
35486
|
+
"id": {
|
|
35487
|
+
"type": "number",
|
|
35488
|
+
"description": "The memory ID"
|
|
35489
|
+
}
|
|
35490
|
+
},
|
|
35491
|
+
"required": [
|
|
35492
|
+
"category",
|
|
35493
|
+
"id"
|
|
35494
|
+
],
|
|
35495
|
+
"returns": "Promise<boolean>"
|
|
35496
|
+
},
|
|
35497
|
+
"wipeCategory": {
|
|
35498
|
+
"description": "Delete all memories in a category.",
|
|
35499
|
+
"parameters": {
|
|
35500
|
+
"category": {
|
|
35501
|
+
"type": "string",
|
|
35502
|
+
"description": "The category to wipe"
|
|
35503
|
+
}
|
|
35504
|
+
},
|
|
35505
|
+
"required": [
|
|
35506
|
+
"category"
|
|
35507
|
+
],
|
|
35508
|
+
"returns": "Promise<number>"
|
|
35509
|
+
},
|
|
35510
|
+
"wipeAll": {
|
|
35511
|
+
"description": "Delete all memories across all categories in this namespace.",
|
|
35512
|
+
"parameters": {},
|
|
35513
|
+
"required": [],
|
|
35514
|
+
"returns": "Promise<number>"
|
|
35515
|
+
},
|
|
35516
|
+
"count": {
|
|
35517
|
+
"description": "Count memories in a category (or all categories if omitted).",
|
|
35518
|
+
"parameters": {
|
|
35519
|
+
"category": {
|
|
35520
|
+
"type": "string",
|
|
35521
|
+
"description": "Optional category to count"
|
|
35522
|
+
}
|
|
35523
|
+
},
|
|
35524
|
+
"required": [],
|
|
35525
|
+
"returns": "Promise<number>"
|
|
35526
|
+
},
|
|
35527
|
+
"categories": {
|
|
35528
|
+
"description": "List all categories that have memories.",
|
|
35529
|
+
"parameters": {},
|
|
35530
|
+
"required": [],
|
|
35531
|
+
"returns": "Promise<string[]>"
|
|
35532
|
+
},
|
|
35533
|
+
"search": {
|
|
35534
|
+
"description": "Search memories by semantic similarity.",
|
|
35535
|
+
"parameters": {
|
|
35536
|
+
"category": {
|
|
35537
|
+
"type": "string",
|
|
35538
|
+
"description": "The category to search in"
|
|
35539
|
+
},
|
|
35540
|
+
"query": {
|
|
35541
|
+
"type": "string",
|
|
35542
|
+
"description": "The search query (will be embedded)"
|
|
35543
|
+
},
|
|
35544
|
+
"nResults": {
|
|
35545
|
+
"type": "any",
|
|
35546
|
+
"description": "Maximum number of results (default 5)"
|
|
35547
|
+
},
|
|
35548
|
+
"options": {
|
|
35549
|
+
"type": "{ maxDistance?: number; filterMetadata?: Record<string, any> }",
|
|
35550
|
+
"description": "Additional search options",
|
|
35551
|
+
"properties": {
|
|
35552
|
+
"maxDistance": {
|
|
35553
|
+
"type": "any",
|
|
35554
|
+
"description": "Maximum cosine distance threshold (0-2, default none)"
|
|
35555
|
+
},
|
|
35556
|
+
"filterMetadata": {
|
|
35557
|
+
"type": "any",
|
|
35558
|
+
"description": "Filter by metadata key-value pairs"
|
|
35559
|
+
}
|
|
35560
|
+
}
|
|
35561
|
+
}
|
|
35562
|
+
},
|
|
35563
|
+
"required": [
|
|
35564
|
+
"category",
|
|
35565
|
+
"query"
|
|
35566
|
+
],
|
|
35567
|
+
"returns": "Promise<MemorySearchResult[]>"
|
|
35568
|
+
},
|
|
35569
|
+
"getEpoch": {
|
|
35570
|
+
"description": "Get the current epoch value.",
|
|
35571
|
+
"parameters": {},
|
|
35572
|
+
"required": [],
|
|
35573
|
+
"returns": "number"
|
|
35574
|
+
},
|
|
35575
|
+
"setEpoch": {
|
|
35576
|
+
"description": "Set the epoch to a specific value.",
|
|
35577
|
+
"parameters": {
|
|
35578
|
+
"value": {
|
|
35579
|
+
"type": "number",
|
|
35580
|
+
"description": "The new epoch value"
|
|
35581
|
+
}
|
|
35582
|
+
},
|
|
35583
|
+
"required": [
|
|
35584
|
+
"value"
|
|
35585
|
+
],
|
|
35586
|
+
"returns": "void"
|
|
35587
|
+
},
|
|
35588
|
+
"incrementEpoch": {
|
|
35589
|
+
"description": "Increment the epoch by 1.",
|
|
35590
|
+
"parameters": {},
|
|
35591
|
+
"required": [],
|
|
35592
|
+
"returns": "Promise<number>"
|
|
35593
|
+
},
|
|
35594
|
+
"createEvent": {
|
|
35595
|
+
"description": "Create a timestamped event memory in the 'events' category, automatically tagged with the current epoch.",
|
|
35596
|
+
"parameters": {
|
|
35597
|
+
"text": {
|
|
35598
|
+
"type": "string",
|
|
35599
|
+
"description": "The event description"
|
|
35600
|
+
},
|
|
35601
|
+
"metadata": {
|
|
35602
|
+
"type": "Record<string, any>",
|
|
35603
|
+
"description": "Optional additional metadata"
|
|
35604
|
+
}
|
|
35605
|
+
},
|
|
35606
|
+
"required": [
|
|
35607
|
+
"text"
|
|
35608
|
+
],
|
|
35609
|
+
"returns": "Promise<MemoryRecord>"
|
|
35610
|
+
},
|
|
35611
|
+
"getEvents": {
|
|
35612
|
+
"description": "Get events, optionally filtered by epoch.",
|
|
35613
|
+
"parameters": {
|
|
35614
|
+
"options": {
|
|
35615
|
+
"type": "{ epoch?: number; limit?: number }",
|
|
35616
|
+
"description": "Query options",
|
|
35617
|
+
"properties": {
|
|
35618
|
+
"epoch": {
|
|
35619
|
+
"type": "any",
|
|
35620
|
+
"description": "Filter to a specific epoch"
|
|
35621
|
+
},
|
|
35622
|
+
"limit": {
|
|
35623
|
+
"type": "any",
|
|
35624
|
+
"description": "Max results (default 10)"
|
|
35625
|
+
}
|
|
35626
|
+
}
|
|
35627
|
+
}
|
|
35628
|
+
},
|
|
35629
|
+
"required": [],
|
|
35630
|
+
"returns": "Promise<MemoryRecord[]>"
|
|
35631
|
+
},
|
|
35632
|
+
"exportToJson": {
|
|
35633
|
+
"description": "Export all memories in this namespace to a JSON-serializable object.",
|
|
35634
|
+
"parameters": {},
|
|
35635
|
+
"required": [],
|
|
35636
|
+
"returns": "Promise<{ namespace: string; epoch: number; memories: MemoryRecord[] }>"
|
|
35637
|
+
},
|
|
35638
|
+
"importFromJson": {
|
|
35639
|
+
"description": "Import memories from a JSON export. Optionally replaces all existing memories.",
|
|
35640
|
+
"parameters": {
|
|
35641
|
+
"data": {
|
|
35642
|
+
"type": "{ namespace?: string; epoch?: number; memories: Array<{ category: string; document: string; metadata?: Record<string, any> }> }",
|
|
35643
|
+
"description": "The exported data object"
|
|
35644
|
+
},
|
|
35645
|
+
"replace": {
|
|
35646
|
+
"type": "any",
|
|
35647
|
+
"description": "If true, wipe existing memories before importing (default true)"
|
|
35648
|
+
}
|
|
35649
|
+
},
|
|
35650
|
+
"required": [
|
|
35651
|
+
"data"
|
|
35652
|
+
],
|
|
35653
|
+
"returns": "Promise<number>"
|
|
35654
|
+
}
|
|
35655
|
+
},
|
|
35656
|
+
"getters": {},
|
|
35657
|
+
"events": {
|
|
35658
|
+
"dbInitialized": {
|
|
35659
|
+
"name": "dbInitialized",
|
|
35660
|
+
"description": "Event emitted by Memory",
|
|
35661
|
+
"arguments": {}
|
|
35662
|
+
},
|
|
35663
|
+
"memoryCreated": {
|
|
35664
|
+
"name": "memoryCreated",
|
|
35665
|
+
"description": "Event emitted by Memory",
|
|
35666
|
+
"arguments": {}
|
|
35667
|
+
},
|
|
35668
|
+
"memoryDeleted": {
|
|
35669
|
+
"name": "memoryDeleted",
|
|
35670
|
+
"description": "Event emitted by Memory",
|
|
35671
|
+
"arguments": {}
|
|
35672
|
+
},
|
|
35673
|
+
"epochChanged": {
|
|
35674
|
+
"name": "epochChanged",
|
|
35675
|
+
"description": "Event emitted by Memory",
|
|
35676
|
+
"arguments": {}
|
|
35677
|
+
}
|
|
35678
|
+
},
|
|
35679
|
+
"state": {},
|
|
35680
|
+
"options": {},
|
|
35681
|
+
"envVars": [],
|
|
35682
|
+
"examples": [
|
|
35683
|
+
{
|
|
35684
|
+
"language": "ts",
|
|
35685
|
+
"code": "const mem = container.feature('memory')\nawait mem.create('user-prefs', 'Prefers dark mode', { source: 'onboarding' })\nconst results = await mem.search('user-prefs', 'UI preferences')"
|
|
35686
|
+
}
|
|
35687
|
+
],
|
|
35688
|
+
"types": {
|
|
35689
|
+
"MemoryRecord": {
|
|
35690
|
+
"description": "--- Types ---",
|
|
35691
|
+
"properties": {
|
|
35692
|
+
"id": {
|
|
35693
|
+
"type": "number",
|
|
35694
|
+
"description": ""
|
|
35695
|
+
},
|
|
35696
|
+
"category": {
|
|
35697
|
+
"type": "string",
|
|
35698
|
+
"description": ""
|
|
35699
|
+
},
|
|
35700
|
+
"document": {
|
|
35701
|
+
"type": "string",
|
|
35702
|
+
"description": ""
|
|
35703
|
+
},
|
|
35704
|
+
"metadata": {
|
|
35705
|
+
"type": "Record<string, any>",
|
|
35706
|
+
"description": ""
|
|
35707
|
+
},
|
|
35708
|
+
"created_at": {
|
|
35709
|
+
"type": "string",
|
|
35710
|
+
"description": ""
|
|
35711
|
+
},
|
|
35712
|
+
"updated_at": {
|
|
35713
|
+
"type": "string",
|
|
35714
|
+
"description": ""
|
|
35715
|
+
}
|
|
35716
|
+
}
|
|
35717
|
+
},
|
|
35718
|
+
"MemorySearchResult": {
|
|
35719
|
+
"description": "",
|
|
35720
|
+
"properties": {
|
|
35721
|
+
"distance": {
|
|
35722
|
+
"type": "number",
|
|
35723
|
+
"description": ""
|
|
35724
|
+
}
|
|
35725
|
+
}
|
|
35726
|
+
}
|
|
35727
|
+
}
|
|
35728
|
+
},
|
|
34281
35729
|
{
|
|
34282
35730
|
"id": "features.claudeCode",
|
|
34283
35731
|
"description": "Claude Code CLI wrapper feature. Spawns and manages Claude Code sessions as subprocesses, streaming structured JSON events back through the container's event system. Sessions are long-lived: each call to `run()` spawns a `claude -p` process with `--output-format stream-json`, parses NDJSON from stdout line-by-line, and emits typed events on the feature's event bus.",
|
|
@@ -34730,6 +36178,77 @@ export const introspectionData = [
|
|
|
34730
36178
|
}
|
|
34731
36179
|
]
|
|
34732
36180
|
},
|
|
36181
|
+
"listProcessSessions": {
|
|
36182
|
+
"description": "List all Claude Code processes currently registered in ~/.claude/sessions/. Returns each session's metadata along with whether the process is still alive.",
|
|
36183
|
+
"parameters": {},
|
|
36184
|
+
"required": [],
|
|
36185
|
+
"returns": "Promise<Array<{\n pid: number\n sessionId: string\n cwd: string\n startedAt: number\n kind: string\n entrypoint: string\n alive: boolean\n }>>",
|
|
36186
|
+
"examples": [
|
|
36187
|
+
{
|
|
36188
|
+
"language": "ts",
|
|
36189
|
+
"code": "const sessions = await cc.listProcessSessions()\nfor (const s of sessions) {\n console.log(`[${s.alive ? 'LIVE' : 'dead'}] PID ${s.pid} in ${s.cwd}`)\n}"
|
|
36190
|
+
}
|
|
36191
|
+
]
|
|
36192
|
+
},
|
|
36193
|
+
"getProcessSession": {
|
|
36194
|
+
"description": "Read a single process session by PID from ~/.claude/sessions/<pid>.json.",
|
|
36195
|
+
"parameters": {
|
|
36196
|
+
"pid": {
|
|
36197
|
+
"type": "number",
|
|
36198
|
+
"description": "The process ID"
|
|
36199
|
+
}
|
|
36200
|
+
},
|
|
36201
|
+
"required": [
|
|
36202
|
+
"pid"
|
|
36203
|
+
],
|
|
36204
|
+
"returns": "Promise<{\n pid: number\n sessionId: string\n cwd: string\n startedAt: number\n kind: string\n entrypoint: string\n } | null>",
|
|
36205
|
+
"examples": [
|
|
36206
|
+
{
|
|
36207
|
+
"language": "ts",
|
|
36208
|
+
"code": "const session = await cc.getProcessSession(12345)\nconsole.log(session?.cwd)"
|
|
36209
|
+
}
|
|
36210
|
+
]
|
|
36211
|
+
},
|
|
36212
|
+
"getConversationHistory": {
|
|
36213
|
+
"description": "Read the conversation history for a Claude Code session from its JSONL file in ~/.claude/projects/<encoded-cwd>/<sessionId>.jsonl. Returns an array of parsed message objects (user, assistant, tool_use, tool_result).",
|
|
36214
|
+
"parameters": {
|
|
36215
|
+
"sessionId": {
|
|
36216
|
+
"type": "string",
|
|
36217
|
+
"description": "The Claude CLI session ID (from listProcessSessions or getProcessSession)"
|
|
36218
|
+
},
|
|
36219
|
+
"cwd": {
|
|
36220
|
+
"type": "string",
|
|
36221
|
+
"description": "The working directory of the session (used to locate the project folder)"
|
|
36222
|
+
}
|
|
36223
|
+
},
|
|
36224
|
+
"required": [
|
|
36225
|
+
"sessionId"
|
|
36226
|
+
],
|
|
36227
|
+
"returns": "Promise<any[]>",
|
|
36228
|
+
"examples": [
|
|
36229
|
+
{
|
|
36230
|
+
"language": "ts",
|
|
36231
|
+
"code": "const sessions = await cc.listProcessSessions()\nconst s = sessions[0]\nconst history = await cc.getConversationHistory(s.sessionId, s.cwd)\nconsole.log(history.length, 'turns')"
|
|
36232
|
+
}
|
|
36233
|
+
]
|
|
36234
|
+
},
|
|
36235
|
+
"listSessionsForCwd": {
|
|
36236
|
+
"description": "List all conversation sessions stored for a given working directory. Reads ~/.claude/projects/<encoded-cwd>/ and returns metadata for each .jsonl file.",
|
|
36237
|
+
"parameters": {
|
|
36238
|
+
"cwd": {
|
|
36239
|
+
"type": "string",
|
|
36240
|
+
"description": "The working directory path to look up"
|
|
36241
|
+
}
|
|
36242
|
+
},
|
|
36243
|
+
"required": [],
|
|
36244
|
+
"returns": "Promise<Array<{\n sessionId: string\n filePath: string\n messageCount: number\n }>>",
|
|
36245
|
+
"examples": [
|
|
36246
|
+
{
|
|
36247
|
+
"language": "ts",
|
|
36248
|
+
"code": "const sessions = await cc.listSessionsForCwd('/Users/me/my-project')\nfor (const s of sessions) {\n console.log(s.sessionId, s.messageCount, 'messages')\n}"
|
|
36249
|
+
}
|
|
36250
|
+
]
|
|
36251
|
+
},
|
|
34733
36252
|
"cleanupMcpTempFiles": {
|
|
34734
36253
|
"description": "Clean up any temp MCP config files created during sessions.",
|
|
34735
36254
|
"parameters": {},
|
|
@@ -36811,6 +38330,97 @@ export const introspectionData = [
|
|
|
36811
38330
|
"state": {},
|
|
36812
38331
|
"options": {},
|
|
36813
38332
|
"envVars": []
|
|
38333
|
+
},
|
|
38334
|
+
{
|
|
38335
|
+
"id": "features.codingTools",
|
|
38336
|
+
"description": "Shell primitives for AI coding assistants: rg, ls, cat, sed, awk. Wraps standard Unix tools into the assistant tool surface with LLM-optimized descriptions and system prompt guidance. These are the raw, flexible tools for reading, searching, and exploring code. Compose with other features (fileTools, processManager, skillsLibrary) in assistant hooks for a complete coding tool surface. Usage: ```typescript assistant.use(container.feature('codingTools')) ```",
|
|
38337
|
+
"shortcut": "features.codingTools",
|
|
38338
|
+
"className": "CodingTools",
|
|
38339
|
+
"methods": {
|
|
38340
|
+
"rg": {
|
|
38341
|
+
"description": "",
|
|
38342
|
+
"parameters": {
|
|
38343
|
+
"args": {
|
|
38344
|
+
"type": "{ args: string; cwd?: string }",
|
|
38345
|
+
"description": "Parameter args"
|
|
38346
|
+
}
|
|
38347
|
+
},
|
|
38348
|
+
"required": [
|
|
38349
|
+
"args"
|
|
38350
|
+
],
|
|
38351
|
+
"returns": "Promise<string>"
|
|
38352
|
+
},
|
|
38353
|
+
"ls": {
|
|
38354
|
+
"description": "",
|
|
38355
|
+
"parameters": {
|
|
38356
|
+
"args": {
|
|
38357
|
+
"type": "{ args?: string; cwd?: string }",
|
|
38358
|
+
"description": "Parameter args"
|
|
38359
|
+
}
|
|
38360
|
+
},
|
|
38361
|
+
"required": [
|
|
38362
|
+
"args"
|
|
38363
|
+
],
|
|
38364
|
+
"returns": "Promise<string>"
|
|
38365
|
+
},
|
|
38366
|
+
"cat": {
|
|
38367
|
+
"description": "",
|
|
38368
|
+
"parameters": {
|
|
38369
|
+
"args": {
|
|
38370
|
+
"type": "{ args: string; cwd?: string }",
|
|
38371
|
+
"description": "Parameter args"
|
|
38372
|
+
}
|
|
38373
|
+
},
|
|
38374
|
+
"required": [
|
|
38375
|
+
"args"
|
|
38376
|
+
],
|
|
38377
|
+
"returns": "Promise<string>"
|
|
38378
|
+
},
|
|
38379
|
+
"sed": {
|
|
38380
|
+
"description": "",
|
|
38381
|
+
"parameters": {
|
|
38382
|
+
"args": {
|
|
38383
|
+
"type": "{ args: string; cwd?: string }",
|
|
38384
|
+
"description": "Parameter args"
|
|
38385
|
+
}
|
|
38386
|
+
},
|
|
38387
|
+
"required": [
|
|
38388
|
+
"args"
|
|
38389
|
+
],
|
|
38390
|
+
"returns": "Promise<string>"
|
|
38391
|
+
},
|
|
38392
|
+
"awk": {
|
|
38393
|
+
"description": "",
|
|
38394
|
+
"parameters": {
|
|
38395
|
+
"args": {
|
|
38396
|
+
"type": "{ args: string; cwd?: string }",
|
|
38397
|
+
"description": "Parameter args"
|
|
38398
|
+
}
|
|
38399
|
+
},
|
|
38400
|
+
"required": [
|
|
38401
|
+
"args"
|
|
38402
|
+
],
|
|
38403
|
+
"returns": "Promise<string>"
|
|
38404
|
+
},
|
|
38405
|
+
"setupToolsConsumer": {
|
|
38406
|
+
"description": "",
|
|
38407
|
+
"parameters": {
|
|
38408
|
+
"consumer": {
|
|
38409
|
+
"type": "Helper",
|
|
38410
|
+
"description": "Parameter consumer"
|
|
38411
|
+
}
|
|
38412
|
+
},
|
|
38413
|
+
"required": [
|
|
38414
|
+
"consumer"
|
|
38415
|
+
],
|
|
38416
|
+
"returns": "void"
|
|
38417
|
+
}
|
|
38418
|
+
},
|
|
38419
|
+
"getters": {},
|
|
38420
|
+
"events": {},
|
|
38421
|
+
"state": {},
|
|
38422
|
+
"options": {},
|
|
38423
|
+
"envVars": []
|
|
36814
38424
|
}
|
|
36815
38425
|
];
|
|
36816
38426
|
|
|
@@ -36922,7 +38532,7 @@ export const containerIntrospectionData = [
|
|
|
36922
38532
|
"description": "The id of the feature to create."
|
|
36923
38533
|
},
|
|
36924
38534
|
"options": {
|
|
36925
|
-
"type": "
|
|
38535
|
+
"type": "FeatureInputOptions<Features>[T] | Record<string, unknown>",
|
|
36926
38536
|
"description": "The options to pass to the feature constructor."
|
|
36927
38537
|
}
|
|
36928
38538
|
},
|
|
@@ -36931,6 +38541,52 @@ export const containerIntrospectionData = [
|
|
|
36931
38541
|
],
|
|
36932
38542
|
"returns": "InstanceType<Features[T]>"
|
|
36933
38543
|
},
|
|
38544
|
+
"entity": {
|
|
38545
|
+
"description": "Creates a lightweight entity object with observable state, a typed event bus, and access to the container. Same id + options always returns the same cached base instance. An optional third argument auto-extends the entity with functions and getters. All extended methods and getters can access the entity (state, options, container, on/off/emit, etc.) via `this`.",
|
|
38546
|
+
"parameters": {
|
|
38547
|
+
"id": {
|
|
38548
|
+
"type": "string",
|
|
38549
|
+
"description": "Stable identifier for this entity (included in cache key)"
|
|
38550
|
+
},
|
|
38551
|
+
"options": {
|
|
38552
|
+
"type": "TOptions",
|
|
38553
|
+
"description": "Arbitrary options stored on `entity.options` (included in cache key)"
|
|
38554
|
+
},
|
|
38555
|
+
"extensions": {
|
|
38556
|
+
"type": "Ext & ThisType<Entity<TState, TOptions, TEvents> & Ext>",
|
|
38557
|
+
"description": "Optional object of functions/getters to graft onto the entity"
|
|
38558
|
+
}
|
|
38559
|
+
},
|
|
38560
|
+
"required": [
|
|
38561
|
+
"id"
|
|
38562
|
+
],
|
|
38563
|
+
"returns": "Entity<TState, TOptions, TEvents> & Ext",
|
|
38564
|
+
"examples": [
|
|
38565
|
+
{
|
|
38566
|
+
"language": "ts",
|
|
38567
|
+
"code": "// Basic entity with typed state and events\nconst counter = container.entity<{ count: number }>('counter')\ncounter.setState({ count: 0 })\ncounter.on('tick', () => counter.setState(s => ({ count: s.count + 1 })))\n\n// With options and auto-extension\nconst user = container.entity('user:42', { name: 'Alice' }, {\n greet() { return `Hello ${this.options.name}` },\n get label() { return `User: ${this.options.name}` },\n})\nuser.greet() // \"Hello Alice\""
|
|
38568
|
+
}
|
|
38569
|
+
]
|
|
38570
|
+
},
|
|
38571
|
+
"getHelperByUUID": {
|
|
38572
|
+
"description": "Look up any helper instance (feature, client, server) by its UUID. Returns undefined if the UUID is unknown or the instance was never created.",
|
|
38573
|
+
"parameters": {
|
|
38574
|
+
"uuid": {
|
|
38575
|
+
"type": "string",
|
|
38576
|
+
"description": "The `instance.uuid` value assigned at construction time"
|
|
38577
|
+
}
|
|
38578
|
+
},
|
|
38579
|
+
"required": [
|
|
38580
|
+
"uuid"
|
|
38581
|
+
],
|
|
38582
|
+
"returns": "Helper | undefined",
|
|
38583
|
+
"examples": [
|
|
38584
|
+
{
|
|
38585
|
+
"language": "ts",
|
|
38586
|
+
"code": "const assistant = container.feature('assistant')\nconst { uuid } = assistant\n// ... later ...\nconst same = container.getHelperByUUID(uuid) // === assistant"
|
|
38587
|
+
}
|
|
38588
|
+
]
|
|
38589
|
+
},
|
|
36934
38590
|
"start": {
|
|
36935
38591
|
"description": "Start the container. Emits the 'started' event and sets `state.started` to true. Plugins and features can listen for this event to perform initialization.",
|
|
36936
38592
|
"parameters": {},
|
|
@@ -37236,7 +38892,7 @@ export const containerIntrospectionData = [
|
|
|
37236
38892
|
},
|
|
37237
38893
|
"urlUtils": {
|
|
37238
38894
|
"description": "Returns URL utility functions for parsing URIs.",
|
|
37239
|
-
"returns": "{ parse: (uri: string) => url.
|
|
38895
|
+
"returns": "{ parse: (uri: string) => url.UrlWithStringQuery }"
|
|
37240
38896
|
},
|
|
37241
38897
|
"paths": {
|
|
37242
38898
|
"description": "Returns path utility functions scoped to the current working directory (join, resolve, relative, dirname, parse).",
|