@jait/gateway 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/jait.mjs +144 -0
- package/dist/config.d.ts +24 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +73 -0
- package/dist/config.js.map +1 -0
- package/dist/db/connection.d.ts +37 -0
- package/dist/db/connection.d.ts.map +1 -0
- package/dist/db/connection.js +85 -0
- package/dist/db/connection.js.map +1 -0
- package/dist/db/index.d.ts +4 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +4 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/migrations.d.ts +24 -0
- package/dist/db/migrations.d.ts.map +1 -0
- package/dist/db/migrations.js +312 -0
- package/dist/db/migrations.js.map +1 -0
- package/dist/db/schema.d.ts +2253 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +195 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/foundation.d.ts +26 -0
- package/dist/foundation.d.ts.map +1 -0
- package/dist/foundation.js +15 -0
- package/dist/foundation.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +413 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/uuidv7.d.ts +10 -0
- package/dist/lib/uuidv7.d.ts.map +1 -0
- package/dist/lib/uuidv7.js +33 -0
- package/dist/lib/uuidv7.js.map +1 -0
- package/dist/memory/contracts.d.ts +42 -0
- package/dist/memory/contracts.d.ts.map +1 -0
- package/dist/memory/contracts.js +2 -0
- package/dist/memory/contracts.js.map +1 -0
- package/dist/memory/embeddings.d.ts +4 -0
- package/dist/memory/embeddings.d.ts.map +1 -0
- package/dist/memory/embeddings.js +26 -0
- package/dist/memory/embeddings.js.map +1 -0
- package/dist/memory/service.d.ts +17 -0
- package/dist/memory/service.d.ts.map +1 -0
- package/dist/memory/service.js +82 -0
- package/dist/memory/service.js.map +1 -0
- package/dist/memory/sqlite-backend.d.ts +11 -0
- package/dist/memory/sqlite-backend.d.ts.map +1 -0
- package/dist/memory/sqlite-backend.js +68 -0
- package/dist/memory/sqlite-backend.js.map +1 -0
- package/dist/plugins/contracts.d.ts +11 -0
- package/dist/plugins/contracts.d.ts.map +1 -0
- package/dist/plugins/contracts.js +2 -0
- package/dist/plugins/contracts.js.map +1 -0
- package/dist/providers/claude-code-provider.d.ts +39 -0
- package/dist/providers/claude-code-provider.d.ts.map +1 -0
- package/dist/providers/claude-code-provider.js +322 -0
- package/dist/providers/claude-code-provider.js.map +1 -0
- package/dist/providers/codex-provider.d.ts +51 -0
- package/dist/providers/codex-provider.d.ts.map +1 -0
- package/dist/providers/codex-provider.js +826 -0
- package/dist/providers/codex-provider.js.map +1 -0
- package/dist/providers/contracts.d.ts +167 -0
- package/dist/providers/contracts.d.ts.map +1 -0
- package/dist/providers/contracts.js +13 -0
- package/dist/providers/contracts.js.map +1 -0
- package/dist/providers/index.d.ts +6 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +5 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/jait-provider.d.ts +23 -0
- package/dist/providers/jait-provider.d.ts.map +1 -0
- package/dist/providers/jait-provider.js +67 -0
- package/dist/providers/jait-provider.js.map +1 -0
- package/dist/providers/registry.d.ts +39 -0
- package/dist/providers/registry.d.ts.map +1 -0
- package/dist/providers/registry.js +64 -0
- package/dist/providers/registry.js.map +1 -0
- package/dist/pty-broker-client.d.ts +46 -0
- package/dist/pty-broker-client.d.ts.map +1 -0
- package/dist/pty-broker-client.js +142 -0
- package/dist/pty-broker-client.js.map +1 -0
- package/dist/routes/auth.d.ts +6 -0
- package/dist/routes/auth.d.ts.map +1 -0
- package/dist/routes/auth.js +236 -0
- package/dist/routes/auth.js.map +1 -0
- package/dist/routes/chat.d.ts +32 -0
- package/dist/routes/chat.d.ts.map +1 -0
- package/dist/routes/chat.js +1503 -0
- package/dist/routes/chat.js.map +1 -0
- package/dist/routes/consent.d.ts +10 -0
- package/dist/routes/consent.d.ts.map +1 -0
- package/dist/routes/consent.js +127 -0
- package/dist/routes/consent.js.map +1 -0
- package/dist/routes/filesystem.d.ts +14 -0
- package/dist/routes/filesystem.d.ts.map +1 -0
- package/dist/routes/filesystem.js +152 -0
- package/dist/routes/filesystem.js.map +1 -0
- package/dist/routes/git.d.ts +17 -0
- package/dist/routes/git.d.ts.map +1 -0
- package/dist/routes/git.js +213 -0
- package/dist/routes/git.js.map +1 -0
- package/dist/routes/health.d.ts +7 -0
- package/dist/routes/health.d.ts.map +1 -0
- package/dist/routes/health.js +21 -0
- package/dist/routes/health.js.map +1 -0
- package/dist/routes/hooks.d.ts +9 -0
- package/dist/routes/hooks.d.ts.map +1 -0
- package/dist/routes/hooks.js +22 -0
- package/dist/routes/hooks.js.map +1 -0
- package/dist/routes/jobs.d.ts +5 -0
- package/dist/routes/jobs.d.ts.map +1 -0
- package/dist/routes/jobs.js +333 -0
- package/dist/routes/jobs.js.map +1 -0
- package/dist/routes/mcp-server.d.ts +23 -0
- package/dist/routes/mcp-server.d.ts.map +1 -0
- package/dist/routes/mcp-server.js +177 -0
- package/dist/routes/mcp-server.js.map +1 -0
- package/dist/routes/mobile.d.ts +12 -0
- package/dist/routes/mobile.d.ts.map +1 -0
- package/dist/routes/mobile.js +64 -0
- package/dist/routes/mobile.js.map +1 -0
- package/dist/routes/network.d.ts +3 -0
- package/dist/routes/network.d.ts.map +1 -0
- package/dist/routes/network.js +367 -0
- package/dist/routes/network.js.map +1 -0
- package/dist/routes/repositories.d.ts +18 -0
- package/dist/routes/repositories.d.ts.map +1 -0
- package/dist/routes/repositories.js +90 -0
- package/dist/routes/repositories.js.map +1 -0
- package/dist/routes/screen-share.d.ts +17 -0
- package/dist/routes/screen-share.d.ts.map +1 -0
- package/dist/routes/screen-share.js +92 -0
- package/dist/routes/screen-share.js.map +1 -0
- package/dist/routes/sessions.d.ts +18 -0
- package/dist/routes/sessions.d.ts.map +1 -0
- package/dist/routes/sessions.js +169 -0
- package/dist/routes/sessions.js.map +1 -0
- package/dist/routes/terminals.d.ts +15 -0
- package/dist/routes/terminals.d.ts.map +1 -0
- package/dist/routes/terminals.js +326 -0
- package/dist/routes/terminals.js.map +1 -0
- package/dist/routes/threads.d.ts +38 -0
- package/dist/routes/threads.d.ts.map +1 -0
- package/dist/routes/threads.js +488 -0
- package/dist/routes/threads.js.map +1 -0
- package/dist/routes/trust.d.ts +9 -0
- package/dist/routes/trust.d.ts.map +1 -0
- package/dist/routes/trust.js +25 -0
- package/dist/routes/trust.js.map +1 -0
- package/dist/routes/voice.d.ts +5 -0
- package/dist/routes/voice.d.ts.map +1 -0
- package/dist/routes/voice.js +37 -0
- package/dist/routes/voice.js.map +1 -0
- package/dist/routes/workspace.d.ts +13 -0
- package/dist/routes/workspace.d.ts.map +1 -0
- package/dist/routes/workspace.js +275 -0
- package/dist/routes/workspace.js.map +1 -0
- package/dist/scheduler/contracts.d.ts +15 -0
- package/dist/scheduler/contracts.d.ts.map +1 -0
- package/dist/scheduler/contracts.js +2 -0
- package/dist/scheduler/contracts.js.map +1 -0
- package/dist/scheduler/hooks.d.ts +20 -0
- package/dist/scheduler/hooks.d.ts.map +1 -0
- package/dist/scheduler/hooks.js +78 -0
- package/dist/scheduler/hooks.js.map +1 -0
- package/dist/scheduler/service.d.ts +65 -0
- package/dist/scheduler/service.d.ts.map +1 -0
- package/dist/scheduler/service.js +188 -0
- package/dist/scheduler/service.js.map +1 -0
- package/dist/security/consent-executor.d.ts +48 -0
- package/dist/security/consent-executor.d.ts.map +1 -0
- package/dist/security/consent-executor.js +158 -0
- package/dist/security/consent-executor.js.map +1 -0
- package/dist/security/consent-manager.d.ts +105 -0
- package/dist/security/consent-manager.d.ts.map +1 -0
- package/dist/security/consent-manager.js +227 -0
- package/dist/security/consent-manager.js.map +1 -0
- package/dist/security/contracts.d.ts +31 -0
- package/dist/security/contracts.d.ts.map +1 -0
- package/dist/security/contracts.js +2 -0
- package/dist/security/contracts.js.map +1 -0
- package/dist/security/http-auth.d.ts +10 -0
- package/dist/security/http-auth.d.ts.map +1 -0
- package/dist/security/http-auth.js +48 -0
- package/dist/security/http-auth.js.map +1 -0
- package/dist/security/index.d.ts +10 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +9 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/path-guard.d.ts +40 -0
- package/dist/security/path-guard.d.ts.map +1 -0
- package/dist/security/path-guard.js +125 -0
- package/dist/security/path-guard.js.map +1 -0
- package/dist/security/sandbox-manager.d.ts +43 -0
- package/dist/security/sandbox-manager.d.ts.map +1 -0
- package/dist/security/sandbox-manager.js +110 -0
- package/dist/security/sandbox-manager.js.map +1 -0
- package/dist/security/ssrf-guard.d.ts +11 -0
- package/dist/security/ssrf-guard.d.ts.map +1 -0
- package/dist/security/ssrf-guard.js +59 -0
- package/dist/security/ssrf-guard.js.map +1 -0
- package/dist/security/tool-permissions.d.ts +61 -0
- package/dist/security/tool-permissions.d.ts.map +1 -0
- package/dist/security/tool-permissions.js +105 -0
- package/dist/security/tool-permissions.js.map +1 -0
- package/dist/security/tool-profiles.d.ts +23 -0
- package/dist/security/tool-profiles.d.ts.map +1 -0
- package/dist/security/tool-profiles.js +106 -0
- package/dist/security/tool-profiles.js.map +1 -0
- package/dist/security/trust-engine.d.ts +61 -0
- package/dist/security/trust-engine.d.ts.map +1 -0
- package/dist/security/trust-engine.js +192 -0
- package/dist/security/trust-engine.js.map +1 -0
- package/dist/server.d.ts +54 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +188 -0
- package/dist/server.js.map +1 -0
- package/dist/services/audit.d.ts +60 -0
- package/dist/services/audit.d.ts.map +1 -0
- package/dist/services/audit.js +58 -0
- package/dist/services/audit.js.map +1 -0
- package/dist/services/device-registry.d.ts +15 -0
- package/dist/services/device-registry.d.ts.map +1 -0
- package/dist/services/device-registry.js +32 -0
- package/dist/services/device-registry.js.map +1 -0
- package/dist/services/git.d.ts +168 -0
- package/dist/services/git.d.ts.map +1 -0
- package/dist/services/git.js +957 -0
- package/dist/services/git.js.map +1 -0
- package/dist/services/repositories.d.ts +32 -0
- package/dist/services/repositories.d.ts.map +1 -0
- package/dist/services/repositories.js +70 -0
- package/dist/services/repositories.js.map +1 -0
- package/dist/services/session-state.d.ts +20 -0
- package/dist/services/session-state.d.ts.map +1 -0
- package/dist/services/session-state.js +89 -0
- package/dist/services/session-state.js.map +1 -0
- package/dist/services/sessions.d.ts +68 -0
- package/dist/services/sessions.d.ts.map +1 -0
- package/dist/services/sessions.js +136 -0
- package/dist/services/sessions.js.map +1 -0
- package/dist/services/thread-title.d.ts +23 -0
- package/dist/services/thread-title.d.ts.map +1 -0
- package/dist/services/thread-title.js +141 -0
- package/dist/services/thread-title.js.map +1 -0
- package/dist/services/threads.d.ts +64 -0
- package/dist/services/threads.d.ts.map +1 -0
- package/dist/services/threads.js +202 -0
- package/dist/services/threads.js.map +1 -0
- package/dist/services/users.d.ts +39 -0
- package/dist/services/users.d.ts.map +1 -0
- package/dist/services/users.js +203 -0
- package/dist/services/users.js.map +1 -0
- package/dist/sessions/contracts.d.ts +14 -0
- package/dist/sessions/contracts.d.ts.map +1 -0
- package/dist/sessions/contracts.js +2 -0
- package/dist/sessions/contracts.js.map +1 -0
- package/dist/surfaces/browser.d.ts +65 -0
- package/dist/surfaces/browser.d.ts.map +1 -0
- package/dist/surfaces/browser.js +615 -0
- package/dist/surfaces/browser.js.map +1 -0
- package/dist/surfaces/contracts.d.ts +34 -0
- package/dist/surfaces/contracts.d.ts.map +1 -0
- package/dist/surfaces/contracts.js +2 -0
- package/dist/surfaces/contracts.js.map +1 -0
- package/dist/surfaces/filesystem.d.ts +76 -0
- package/dist/surfaces/filesystem.d.ts.map +1 -0
- package/dist/surfaces/filesystem.js +245 -0
- package/dist/surfaces/filesystem.js.map +1 -0
- package/dist/surfaces/index.d.ts +6 -0
- package/dist/surfaces/index.d.ts.map +1 -0
- package/dist/surfaces/index.js +5 -0
- package/dist/surfaces/index.js.map +1 -0
- package/dist/surfaces/registry.d.ts +24 -0
- package/dist/surfaces/registry.d.ts.map +1 -0
- package/dist/surfaces/registry.js +59 -0
- package/dist/surfaces/registry.js.map +1 -0
- package/dist/surfaces/terminal.d.ts +76 -0
- package/dist/surfaces/terminal.d.ts.map +1 -0
- package/dist/surfaces/terminal.js +271 -0
- package/dist/surfaces/terminal.js.map +1 -0
- package/dist/tools/agent-loop.d.ts +302 -0
- package/dist/tools/agent-loop.d.ts.map +1 -0
- package/dist/tools/agent-loop.js +918 -0
- package/dist/tools/agent-loop.js.map +1 -0
- package/dist/tools/agent-tools.d.ts +39 -0
- package/dist/tools/agent-tools.d.ts.map +1 -0
- package/dist/tools/agent-tools.js +263 -0
- package/dist/tools/agent-tools.js.map +1 -0
- package/dist/tools/browser-tools.d.ts +38 -0
- package/dist/tools/browser-tools.d.ts.map +1 -0
- package/dist/tools/browser-tools.js +725 -0
- package/dist/tools/browser-tools.js.map +1 -0
- package/dist/tools/chat-modes.d.ts +75 -0
- package/dist/tools/chat-modes.d.ts.map +1 -0
- package/dist/tools/chat-modes.js +228 -0
- package/dist/tools/chat-modes.js.map +1 -0
- package/dist/tools/contracts.d.ts +69 -0
- package/dist/tools/contracts.d.ts.map +1 -0
- package/dist/tools/contracts.js +2 -0
- package/dist/tools/contracts.js.map +1 -0
- package/dist/tools/core/agent.d.ts +31 -0
- package/dist/tools/core/agent.d.ts.map +1 -0
- package/dist/tools/core/agent.js +65 -0
- package/dist/tools/core/agent.js.map +1 -0
- package/dist/tools/core/edit.d.ts +30 -0
- package/dist/tools/core/edit.d.ts.map +1 -0
- package/dist/tools/core/edit.js +109 -0
- package/dist/tools/core/edit.js.map +1 -0
- package/dist/tools/core/execute.d.ts +36 -0
- package/dist/tools/core/execute.d.ts.map +1 -0
- package/dist/tools/core/execute.js +81 -0
- package/dist/tools/core/execute.js.map +1 -0
- package/dist/tools/core/get-fs.d.ts +32 -0
- package/dist/tools/core/get-fs.d.ts.map +1 -0
- package/dist/tools/core/get-fs.js +143 -0
- package/dist/tools/core/get-fs.js.map +1 -0
- package/dist/tools/core/index.d.ts +26 -0
- package/dist/tools/core/index.d.ts.map +1 -0
- package/dist/tools/core/index.js +26 -0
- package/dist/tools/core/index.js.map +1 -0
- package/dist/tools/core/jait.d.ts +60 -0
- package/dist/tools/core/jait.d.ts.map +1 -0
- package/dist/tools/core/jait.js +256 -0
- package/dist/tools/core/jait.js.map +1 -0
- package/dist/tools/core/read.d.ts +26 -0
- package/dist/tools/core/read.d.ts.map +1 -0
- package/dist/tools/core/read.js +118 -0
- package/dist/tools/core/read.js.map +1 -0
- package/dist/tools/core/search.d.ts +34 -0
- package/dist/tools/core/search.d.ts.map +1 -0
- package/dist/tools/core/search.js +187 -0
- package/dist/tools/core/search.js.map +1 -0
- package/dist/tools/core/todo.d.ts +38 -0
- package/dist/tools/core/todo.d.ts.map +1 -0
- package/dist/tools/core/todo.js +116 -0
- package/dist/tools/core/todo.js.map +1 -0
- package/dist/tools/core/web.d.ts +34 -0
- package/dist/tools/core/web.d.ts.map +1 -0
- package/dist/tools/core/web.js +120 -0
- package/dist/tools/core/web.js.map +1 -0
- package/dist/tools/cron-tools.d.ts +7 -0
- package/dist/tools/cron-tools.d.ts.map +1 -0
- package/dist/tools/cron-tools.js +116 -0
- package/dist/tools/cron-tools.js.map +1 -0
- package/dist/tools/file-tools.d.ts +32 -0
- package/dist/tools/file-tools.d.ts.map +1 -0
- package/dist/tools/file-tools.js +178 -0
- package/dist/tools/file-tools.js.map +1 -0
- package/dist/tools/gateway-tools.d.ts +15 -0
- package/dist/tools/gateway-tools.d.ts.map +1 -0
- package/dist/tools/gateway-tools.js +39 -0
- package/dist/tools/gateway-tools.js.map +1 -0
- package/dist/tools/index.d.ts +57 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +170 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/mcp-bridge.d.ts +111 -0
- package/dist/tools/mcp-bridge.d.ts.map +1 -0
- package/dist/tools/mcp-bridge.js +166 -0
- package/dist/tools/mcp-bridge.js.map +1 -0
- package/dist/tools/memory-tools.d.ts +19 -0
- package/dist/tools/memory-tools.d.ts.map +1 -0
- package/dist/tools/memory-tools.js +78 -0
- package/dist/tools/memory-tools.js.map +1 -0
- package/dist/tools/meta-tools.d.ts +25 -0
- package/dist/tools/meta-tools.d.ts.map +1 -0
- package/dist/tools/meta-tools.js +125 -0
- package/dist/tools/meta-tools.js.map +1 -0
- package/dist/tools/network-tools.d.ts +21 -0
- package/dist/tools/network-tools.d.ts.map +1 -0
- package/dist/tools/network-tools.js +189 -0
- package/dist/tools/network-tools.js.map +1 -0
- package/dist/tools/os-tools.d.ts +18 -0
- package/dist/tools/os-tools.d.ts.map +1 -0
- package/dist/tools/os-tools.js +210 -0
- package/dist/tools/os-tools.js.map +1 -0
- package/dist/tools/prompts/claude-prompt.d.ts +8 -0
- package/dist/tools/prompts/claude-prompt.d.ts.map +1 -0
- package/dist/tools/prompts/claude-prompt.js +228 -0
- package/dist/tools/prompts/claude-prompt.js.map +1 -0
- package/dist/tools/prompts/default-openai-prompt.d.ts +8 -0
- package/dist/tools/prompts/default-openai-prompt.d.ts.map +1 -0
- package/dist/tools/prompts/default-openai-prompt.js +67 -0
- package/dist/tools/prompts/default-openai-prompt.js.map +1 -0
- package/dist/tools/prompts/default-prompt.d.ts +7 -0
- package/dist/tools/prompts/default-prompt.d.ts.map +1 -0
- package/dist/tools/prompts/default-prompt.js +50 -0
- package/dist/tools/prompts/default-prompt.js.map +1 -0
- package/dist/tools/prompts/gemini-prompt.d.ts +8 -0
- package/dist/tools/prompts/gemini-prompt.d.ts.map +1 -0
- package/dist/tools/prompts/gemini-prompt.js +118 -0
- package/dist/tools/prompts/gemini-prompt.js.map +1 -0
- package/dist/tools/prompts/gpt5-codex-prompt.d.ts +8 -0
- package/dist/tools/prompts/gpt5-codex-prompt.d.ts.map +1 -0
- package/dist/tools/prompts/gpt5-codex-prompt.js +72 -0
- package/dist/tools/prompts/gpt5-codex-prompt.js.map +1 -0
- package/dist/tools/prompts/gpt5-prompt.d.ts +8 -0
- package/dist/tools/prompts/gpt5-prompt.d.ts.map +1 -0
- package/dist/tools/prompts/gpt5-prompt.js +177 -0
- package/dist/tools/prompts/gpt5-prompt.js.map +1 -0
- package/dist/tools/prompts/gpt51-prompt.d.ts +8 -0
- package/dist/tools/prompts/gpt51-prompt.d.ts.map +1 -0
- package/dist/tools/prompts/gpt51-prompt.js +178 -0
- package/dist/tools/prompts/gpt51-prompt.js.map +1 -0
- package/dist/tools/prompts/gpt52-prompt.d.ts +8 -0
- package/dist/tools/prompts/gpt52-prompt.d.ts.map +1 -0
- package/dist/tools/prompts/gpt52-prompt.js +198 -0
- package/dist/tools/prompts/gpt52-prompt.js.map +1 -0
- package/dist/tools/prompts/index.d.ts +22 -0
- package/dist/tools/prompts/index.d.ts.map +1 -0
- package/dist/tools/prompts/index.js +23 -0
- package/dist/tools/prompts/index.js.map +1 -0
- package/dist/tools/prompts/prompt-registry.d.ts +44 -0
- package/dist/tools/prompts/prompt-registry.d.ts.map +1 -0
- package/dist/tools/prompts/prompt-registry.js +60 -0
- package/dist/tools/prompts/prompt-registry.js.map +1 -0
- package/dist/tools/prompts/shared-sections.d.ts +28 -0
- package/dist/tools/prompts/shared-sections.d.ts.map +1 -0
- package/dist/tools/prompts/shared-sections.js +111 -0
- package/dist/tools/prompts/shared-sections.js.map +1 -0
- package/dist/tools/prompts/xai-prompt.d.ts +8 -0
- package/dist/tools/prompts/xai-prompt.d.ts.map +1 -0
- package/dist/tools/prompts/xai-prompt.js +68 -0
- package/dist/tools/prompts/xai-prompt.js.map +1 -0
- package/dist/tools/redeploy-tools.d.ts +30 -0
- package/dist/tools/redeploy-tools.d.ts.map +1 -0
- package/dist/tools/redeploy-tools.js +191 -0
- package/dist/tools/redeploy-tools.js.map +1 -0
- package/dist/tools/registry.d.ts +51 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +148 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/screen-share-tools.d.ts +31 -0
- package/dist/tools/screen-share-tools.d.ts.map +1 -0
- package/dist/tools/screen-share-tools.js +183 -0
- package/dist/tools/screen-share-tools.js.map +1 -0
- package/dist/tools/surface-tools.d.ts +23 -0
- package/dist/tools/surface-tools.d.ts.map +1 -0
- package/dist/tools/surface-tools.js +99 -0
- package/dist/tools/surface-tools.js.map +1 -0
- package/dist/tools/terminal-tools.d.ts +37 -0
- package/dist/tools/terminal-tools.d.ts.map +1 -0
- package/dist/tools/terminal-tools.js +448 -0
- package/dist/tools/terminal-tools.js.map +1 -0
- package/dist/tools/thread-tools.d.ts +61 -0
- package/dist/tools/thread-tools.d.ts.map +1 -0
- package/dist/tools/thread-tools.js +484 -0
- package/dist/tools/thread-tools.js.map +1 -0
- package/dist/tools/token-estimator.d.ts +55 -0
- package/dist/tools/token-estimator.d.ts.map +1 -0
- package/dist/tools/token-estimator.js +82 -0
- package/dist/tools/token-estimator.js.map +1 -0
- package/dist/tools/tool-names.d.ts +64 -0
- package/dist/tools/tool-names.d.ts.map +1 -0
- package/dist/tools/tool-names.js +76 -0
- package/dist/tools/tool-names.js.map +1 -0
- package/dist/tools/validate.d.ts +27 -0
- package/dist/tools/validate.d.ts.map +1 -0
- package/dist/tools/validate.js +99 -0
- package/dist/tools/validate.js.map +1 -0
- package/dist/tools/voice-tools.d.ts +8 -0
- package/dist/tools/voice-tools.d.ts.map +1 -0
- package/dist/tools/voice-tools.js +32 -0
- package/dist/tools/voice-tools.js.map +1 -0
- package/dist/voice/service.d.ts +42 -0
- package/dist/voice/service.d.ts.map +1 -0
- package/dist/voice/service.js +75 -0
- package/dist/voice/service.js.map +1 -0
- package/dist/ws.d.ts +90 -0
- package/dist/ws.d.ts.map +1 -0
- package/dist/ws.js +562 -0
- package/dist/ws.js.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File Tools — Sprint 3.5
|
|
3
|
+
*
|
|
4
|
+
* file.read, file.write, file.patch, file.list, file.stat
|
|
5
|
+
*/
|
|
6
|
+
import { getFs } from "./core/get-fs.js";
|
|
7
|
+
export function createFileReadTool(registry) {
|
|
8
|
+
return {
|
|
9
|
+
name: "file.read",
|
|
10
|
+
description: "Read the contents of a file within the workspace",
|
|
11
|
+
tier: "core",
|
|
12
|
+
category: "filesystem",
|
|
13
|
+
source: "builtin",
|
|
14
|
+
parameters: {
|
|
15
|
+
type: "object",
|
|
16
|
+
properties: {
|
|
17
|
+
path: { type: "string", description: "Relative or absolute path to the file" },
|
|
18
|
+
},
|
|
19
|
+
required: ["path"],
|
|
20
|
+
},
|
|
21
|
+
async execute(input, context) {
|
|
22
|
+
try {
|
|
23
|
+
const fs = await getFs(registry, context, input.path);
|
|
24
|
+
const content = await fs.read(input.path);
|
|
25
|
+
return {
|
|
26
|
+
ok: true,
|
|
27
|
+
message: `Read ${input.path}`,
|
|
28
|
+
data: { path: input.path, content, size: content.length },
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
return {
|
|
33
|
+
ok: false,
|
|
34
|
+
message: err instanceof Error ? err.message : "Read failed",
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export function createFileWriteTool(registry) {
|
|
41
|
+
return {
|
|
42
|
+
name: "file.write",
|
|
43
|
+
description: "Write content to a file within the workspace (creates parent directories)",
|
|
44
|
+
tier: "core",
|
|
45
|
+
category: "filesystem",
|
|
46
|
+
source: "builtin",
|
|
47
|
+
parameters: {
|
|
48
|
+
type: "object",
|
|
49
|
+
properties: {
|
|
50
|
+
path: { type: "string", description: "Relative or absolute path to the file" },
|
|
51
|
+
content: { type: "string", description: "File content to write" },
|
|
52
|
+
},
|
|
53
|
+
required: ["path", "content"],
|
|
54
|
+
},
|
|
55
|
+
async execute(input, context) {
|
|
56
|
+
try {
|
|
57
|
+
const fs = await getFs(registry, context, input.path);
|
|
58
|
+
await fs.write(input.path, input.content);
|
|
59
|
+
return {
|
|
60
|
+
ok: true,
|
|
61
|
+
message: `Wrote ${input.path} (${input.content.length} bytes)`,
|
|
62
|
+
data: { path: input.path, size: input.content.length },
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
return {
|
|
67
|
+
ok: false,
|
|
68
|
+
message: err instanceof Error ? err.message : "Write failed",
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export function createFilePatchTool(registry) {
|
|
75
|
+
return {
|
|
76
|
+
name: "file.patch",
|
|
77
|
+
description: "Search-and-replace within a file (first occurrence)",
|
|
78
|
+
tier: "core",
|
|
79
|
+
category: "filesystem",
|
|
80
|
+
source: "builtin",
|
|
81
|
+
parameters: {
|
|
82
|
+
type: "object",
|
|
83
|
+
properties: {
|
|
84
|
+
path: { type: "string", description: "Path to the file" },
|
|
85
|
+
search: { type: "string", description: "Exact text to find" },
|
|
86
|
+
replace: { type: "string", description: "Replacement text" },
|
|
87
|
+
},
|
|
88
|
+
required: ["path", "search", "replace"],
|
|
89
|
+
},
|
|
90
|
+
async execute(input, context) {
|
|
91
|
+
try {
|
|
92
|
+
const fs = await getFs(registry, context, input.path);
|
|
93
|
+
const result = await fs.patch(input.path, input.search, input.replace);
|
|
94
|
+
if (!result.matched) {
|
|
95
|
+
return { ok: false, message: `Search string not found in ${input.path}` };
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
ok: true,
|
|
99
|
+
message: `Patched ${input.path}`,
|
|
100
|
+
data: { path: input.path, matched: true },
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
catch (err) {
|
|
104
|
+
return {
|
|
105
|
+
ok: false,
|
|
106
|
+
message: err instanceof Error ? err.message : "Patch failed",
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
export function createFileListTool(registry) {
|
|
113
|
+
return {
|
|
114
|
+
name: "file.list",
|
|
115
|
+
description: "List files and directories at a path within the workspace",
|
|
116
|
+
tier: "core",
|
|
117
|
+
category: "filesystem",
|
|
118
|
+
source: "builtin",
|
|
119
|
+
parameters: {
|
|
120
|
+
type: "object",
|
|
121
|
+
properties: {
|
|
122
|
+
path: { type: "string", description: "Directory path to list" },
|
|
123
|
+
},
|
|
124
|
+
required: ["path"],
|
|
125
|
+
},
|
|
126
|
+
async execute(input, context) {
|
|
127
|
+
try {
|
|
128
|
+
const fs = await getFs(registry, context, input.path);
|
|
129
|
+
const entries = await fs.list(input.path);
|
|
130
|
+
return {
|
|
131
|
+
ok: true,
|
|
132
|
+
message: `Listed ${entries.length} entries in ${input.path}`,
|
|
133
|
+
data: { path: input.path, entries },
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
catch (err) {
|
|
137
|
+
return {
|
|
138
|
+
ok: false,
|
|
139
|
+
message: err instanceof Error ? err.message : "List failed",
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
export function createFileStatTool(registry) {
|
|
146
|
+
return {
|
|
147
|
+
name: "file.stat",
|
|
148
|
+
description: "Get file metadata (size, type, modified date)",
|
|
149
|
+
tier: "standard",
|
|
150
|
+
category: "filesystem",
|
|
151
|
+
source: "builtin",
|
|
152
|
+
parameters: {
|
|
153
|
+
type: "object",
|
|
154
|
+
properties: {
|
|
155
|
+
path: { type: "string", description: "Path to the file" },
|
|
156
|
+
},
|
|
157
|
+
required: ["path"],
|
|
158
|
+
},
|
|
159
|
+
async execute(input, context) {
|
|
160
|
+
try {
|
|
161
|
+
const fs = await getFs(registry, context, input.path);
|
|
162
|
+
const info = await fs.statFile(input.path);
|
|
163
|
+
return {
|
|
164
|
+
ok: true,
|
|
165
|
+
message: `Stat ${input.path}`,
|
|
166
|
+
data: { path: input.path, ...info },
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
catch (err) {
|
|
170
|
+
return {
|
|
171
|
+
ok: false,
|
|
172
|
+
message: err instanceof Error ? err.message : "Stat failed",
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=file-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-tools.js","sourceRoot":"","sources":["../../src/tools/file-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAyBzC,MAAM,UAAU,kBAAkB,CAAC,QAAyB;IAC1D,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,kDAAkD;QAC/D,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;aAC/E;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;QACD,KAAK,CAAC,OAAO,CAAC,KAAoB,EAAE,OAAoB;YACtD,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1C,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,QAAQ,KAAK,CAAC,IAAI,EAAE;oBAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE;iBAC1D,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;iBAC5D,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAyB;IAC3D,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,2EAA2E;QACxF,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;gBAC9E,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;aAClE;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;SAC9B;QACD,KAAK,CAAC,OAAO,CAAC,KAAqB,EAAE,OAAoB;YACvD,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtD,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC1C,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,SAAS,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,SAAS;oBAC9D,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;iBACvD,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc;iBAC7D,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAyB;IAC3D,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,qDAAqD;QAClE,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBACzD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;gBAC7D,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;aAC7D;YACD,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC;SACxC;QACD,KAAK,CAAC,OAAO,CAAC,KAAqB,EAAE,OAAoB;YACvD,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBACvE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,8BAA8B,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5E,CAAC;gBACD,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,WAAW,KAAK,CAAC,IAAI,EAAE;oBAChC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;iBAC1C,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc;iBAC7D,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAyB;IAC1D,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,2DAA2D;QACxE,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;aAChE;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;QACD,KAAK,CAAC,OAAO,CAAC,KAAoB,EAAE,OAAoB;YACtD,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1C,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,UAAU,OAAO,CAAC,MAAM,eAAe,KAAK,CAAC,IAAI,EAAE;oBAC5D,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE;iBACpC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;iBAC5D,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAyB;IAC1D,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,+CAA+C;QAC5D,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;aAC1D;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;QACD,KAAK,CAAC,OAAO,CAAC,KAAoB,EAAE,OAAoB;YACtD,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3C,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,QAAQ,KAAK,CAAC,IAAI,EAAE;oBAC7B,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE;iBACpC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa;iBAC5D,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ToolDefinition } from "./contracts.js";
|
|
2
|
+
import type { SessionService } from "../services/sessions.js";
|
|
3
|
+
import type { SurfaceRegistry } from "../surfaces/index.js";
|
|
4
|
+
import type { WsControlPlane } from "../ws.js";
|
|
5
|
+
import type { SchedulerService } from "../scheduler/service.js";
|
|
6
|
+
import type { HookBus } from "../scheduler/hooks.js";
|
|
7
|
+
export declare function createGatewayStatusTool(deps: {
|
|
8
|
+
sessionService: SessionService;
|
|
9
|
+
surfaceRegistry: SurfaceRegistry;
|
|
10
|
+
ws: WsControlPlane;
|
|
11
|
+
startedAt: number;
|
|
12
|
+
scheduler?: SchedulerService;
|
|
13
|
+
hooks?: HookBus;
|
|
14
|
+
}): ToolDefinition;
|
|
15
|
+
//# sourceMappingURL=gateway-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-tools.d.ts","sourceRoot":"","sources":["../../src/tools/gateway-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAc,MAAM,gBAAgB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,cAAc,EAAE,cAAc,CAAC;IAC/B,eAAe,EAAE,eAAe,CAAC;IACjC,EAAE,EAAE,cAAc,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GAAG,cAAc,CAqCjB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export function createGatewayStatusTool(deps) {
|
|
2
|
+
return {
|
|
3
|
+
name: "gateway.status",
|
|
4
|
+
description: "Return gateway runtime health information",
|
|
5
|
+
tier: "standard",
|
|
6
|
+
category: "gateway",
|
|
7
|
+
source: "builtin",
|
|
8
|
+
parameters: { type: "object", properties: {} },
|
|
9
|
+
execute: async () => {
|
|
10
|
+
const sessions = deps.sessionService.list("active").length;
|
|
11
|
+
const surfaces = deps.surfaceRegistry.listSurfaces().length;
|
|
12
|
+
const devices = deps.ws.clientCount;
|
|
13
|
+
const jobs = deps.scheduler?.list() ?? [];
|
|
14
|
+
const enabledJobs = jobs.filter((job) => job.enabled).length;
|
|
15
|
+
const hookEventTypes = deps.hooks?.registeredEventTypes() ?? [];
|
|
16
|
+
return {
|
|
17
|
+
ok: true,
|
|
18
|
+
message: "Gateway status",
|
|
19
|
+
data: {
|
|
20
|
+
healthy: true,
|
|
21
|
+
uptime: Math.floor((Date.now() - deps.startedAt) / 1000),
|
|
22
|
+
sessions,
|
|
23
|
+
surfaces,
|
|
24
|
+
devices,
|
|
25
|
+
activeServices: ["ws-control-plane", "scheduler", "consent-manager", "hooks"],
|
|
26
|
+
scheduler: {
|
|
27
|
+
totalJobs: jobs.length,
|
|
28
|
+
enabledJobs,
|
|
29
|
+
},
|
|
30
|
+
hooks: {
|
|
31
|
+
registeredEventTypes: hookEventTypes,
|
|
32
|
+
listeners: deps.hooks?.listenerCount() ?? 0,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=gateway-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway-tools.js","sourceRoot":"","sources":["../../src/tools/gateway-tools.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,uBAAuB,CAAC,IAOvC;IACC,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,2CAA2C;QACxD,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;QAC9C,OAAO,EAAE,KAAK,IAAyB,EAAE;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;YAChE,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,OAAO,EAAE,gBAAgB;gBACzB,IAAI,EAAE;oBACJ,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;oBACxD,QAAQ;oBACR,QAAQ;oBACR,OAAO;oBACP,cAAc,EAAE,CAAC,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,OAAO,CAAC;oBAC7E,SAAS,EAAE;wBACT,SAAS,EAAE,IAAI,CAAC,MAAM;wBACtB,WAAW;qBACZ;oBACD,KAAK,EAAE;wBACL,oBAAoB,EAAE,cAAc;wBACpC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC;qBAC5C;iBACF;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export type { ToolContext, ToolDefinition, ToolResult, ToolParametersSchema, } from "./contracts.js";
|
|
2
|
+
export { ToolRegistry } from "./registry.js";
|
|
3
|
+
export { createTerminalRunTool, createTerminalStreamTool } from "./terminal-tools.js";
|
|
4
|
+
export { createFileReadTool, createFileWriteTool, createFilePatchTool, createFileListTool, createFileStatTool, } from "./file-tools.js";
|
|
5
|
+
export { createOsQueryTool, createOsInstallTool } from "./os-tools.js";
|
|
6
|
+
export { createSurfacesListTool, createSurfacesStartTool, createSurfacesStopTool, } from "./surface-tools.js";
|
|
7
|
+
export { createCronAddTool, createCronListTool, createCronRemoveTool, createCronUpdateTool, } from "./cron-tools.js";
|
|
8
|
+
export { createGatewayStatusTool } from "./gateway-tools.js";
|
|
9
|
+
export { createScreenShareTool, createScreenCaptureTool, createScreenRecordTool, createOsTool } from "./screen-share-tools.js";
|
|
10
|
+
export { createBrowserNavigateTool, createBrowserSnapshotTool, createBrowserInteractionTools, createWebFetchTool, createWebSearchTool, createBrowserSandboxStartTool, } from "./browser-tools.js";
|
|
11
|
+
export { createMemorySaveTool, createMemorySearchTool, createMemoryForgetTool, } from "./memory-tools.js";
|
|
12
|
+
export { createVoiceSpeakTool } from "./voice-tools.js";
|
|
13
|
+
export { createAgentSpawnTool } from "./agent-tools.js";
|
|
14
|
+
export { createThreadControlTool } from "./thread-tools.js";
|
|
15
|
+
export { createNetworkScanTool, getLatestNetworkScan, setLatestNetworkScan } from "./network-tools.js";
|
|
16
|
+
export { createRedeployTool } from "./redeploy-tools.js";
|
|
17
|
+
export { createToolsListTool, createToolsSearchTool } from "./meta-tools.js";
|
|
18
|
+
export { McpManager, wrapMcpTool, registerMcpTools, unregisterMcpTools, type McpServerConfig, type McpConnection } from "./mcp-bridge.js";
|
|
19
|
+
export { ToolName, type ToolNameValue } from "./tool-names.js";
|
|
20
|
+
export { validateToolInput, type ValidationResult } from "./validate.js";
|
|
21
|
+
export { type ChatMode, CHAT_MODES, isValidChatMode, ASK_MODE_TOOLS, MUTATING_TOOLS, getSystemPromptForMode, type PlannedAction, type Plan, } from "./chat-modes.js";
|
|
22
|
+
export { buildSystemPrompt, getReminderInstructions, promptRegistry, type ModelEndpoint, type IAgentPrompt, type PromptContext, } from "./prompts/index.js";
|
|
23
|
+
export { runAgentLoop, retryToolCall, buildToolSchemas, buildTieredToolSchemas, toolDefsToSchemas, parseOpenAIStream, serializeMessages, toOpenAIName, fromOpenAIName, SteeringController, ToolCallQueue, ToolCallPriority, type AgentLoopOptions, type AgentLoopResult, type AgentLoopEvent, type AgentMessage, type OpenAIToolCall, type OpenAIToolSchema, type LLMConfig, type ExecutedToolCall, type ToolExecutor, } from "./agent-loop.js";
|
|
24
|
+
import type { SurfaceRegistry } from "../surfaces/registry.js";
|
|
25
|
+
import type { SchedulerService } from "../scheduler/service.js";
|
|
26
|
+
import type { SessionService } from "../services/sessions.js";
|
|
27
|
+
import type { WsControlPlane } from "../ws.js";
|
|
28
|
+
import type { MemoryService } from "../memory/contracts.js";
|
|
29
|
+
import type { HookBus } from "../scheduler/hooks.js";
|
|
30
|
+
import type { ScreenShareService } from "@jait/screen-share";
|
|
31
|
+
import { ToolRegistry } from "./registry.js";
|
|
32
|
+
import type { VoiceService } from "../voice/service.js";
|
|
33
|
+
import { type AppConfig } from "../config.js";
|
|
34
|
+
import type { ThreadService } from "../services/threads.js";
|
|
35
|
+
import type { ProviderRegistry } from "../providers/registry.js";
|
|
36
|
+
export interface ToolRegistryDeps {
|
|
37
|
+
scheduler?: SchedulerService;
|
|
38
|
+
sessionService?: SessionService;
|
|
39
|
+
ws?: WsControlPlane;
|
|
40
|
+
startedAt?: number;
|
|
41
|
+
memoryService?: MemoryService;
|
|
42
|
+
hooks?: HookBus;
|
|
43
|
+
voiceService?: VoiceService;
|
|
44
|
+
screenShare?: ScreenShareService;
|
|
45
|
+
config?: AppConfig;
|
|
46
|
+
threadMcpConfig?: {
|
|
47
|
+
host: string;
|
|
48
|
+
port: number;
|
|
49
|
+
};
|
|
50
|
+
threadService?: ThreadService;
|
|
51
|
+
providerRegistry?: ProviderRegistry;
|
|
52
|
+
/** Graceful shutdown callback — needed by the redeploy tool */
|
|
53
|
+
shutdown?: () => Promise<void>;
|
|
54
|
+
}
|
|
55
|
+
/** Create a ToolRegistry with all gateway tools pre-registered. */
|
|
56
|
+
export declare function createToolRegistry(surfaceRegistry: SurfaceRegistry, deps?: ToolRegistryDeps): ToolRegistry;
|
|
57
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
export { ToolRegistry } from "./registry.js";
|
|
2
|
+
export { createTerminalRunTool, createTerminalStreamTool } from "./terminal-tools.js";
|
|
3
|
+
export { createFileReadTool, createFileWriteTool, createFilePatchTool, createFileListTool, createFileStatTool, } from "./file-tools.js";
|
|
4
|
+
export { createOsQueryTool, createOsInstallTool } from "./os-tools.js";
|
|
5
|
+
export { createSurfacesListTool, createSurfacesStartTool, createSurfacesStopTool, } from "./surface-tools.js";
|
|
6
|
+
export { createCronAddTool, createCronListTool, createCronRemoveTool, createCronUpdateTool, } from "./cron-tools.js";
|
|
7
|
+
export { createGatewayStatusTool } from "./gateway-tools.js";
|
|
8
|
+
export { createScreenShareTool, createScreenCaptureTool, createScreenRecordTool, createOsTool } from "./screen-share-tools.js";
|
|
9
|
+
export { createBrowserNavigateTool, createBrowserSnapshotTool, createBrowserInteractionTools, createWebFetchTool, createWebSearchTool, createBrowserSandboxStartTool, } from "./browser-tools.js";
|
|
10
|
+
export { createMemorySaveTool, createMemorySearchTool, createMemoryForgetTool, } from "./memory-tools.js";
|
|
11
|
+
export { createVoiceSpeakTool } from "./voice-tools.js";
|
|
12
|
+
export { createAgentSpawnTool } from "./agent-tools.js";
|
|
13
|
+
export { createThreadControlTool } from "./thread-tools.js";
|
|
14
|
+
export { createNetworkScanTool, getLatestNetworkScan, setLatestNetworkScan } from "./network-tools.js";
|
|
15
|
+
export { createRedeployTool } from "./redeploy-tools.js";
|
|
16
|
+
export { createToolsListTool, createToolsSearchTool } from "./meta-tools.js";
|
|
17
|
+
export { McpManager, wrapMcpTool, registerMcpTools, unregisterMcpTools } from "./mcp-bridge.js";
|
|
18
|
+
export { ToolName } from "./tool-names.js";
|
|
19
|
+
export { validateToolInput } from "./validate.js";
|
|
20
|
+
export { CHAT_MODES, isValidChatMode, ASK_MODE_TOOLS, MUTATING_TOOLS, getSystemPromptForMode, } from "./chat-modes.js";
|
|
21
|
+
export { buildSystemPrompt, getReminderInstructions, promptRegistry, } from "./prompts/index.js";
|
|
22
|
+
export { runAgentLoop, retryToolCall, buildToolSchemas, buildTieredToolSchemas, toolDefsToSchemas, parseOpenAIStream, serializeMessages, toOpenAIName, fromOpenAIName, SteeringController, ToolCallQueue, ToolCallPriority, } from "./agent-loop.js";
|
|
23
|
+
import { ToolRegistry } from "./registry.js";
|
|
24
|
+
import { createTerminalRunTool, createTerminalStreamTool } from "./terminal-tools.js";
|
|
25
|
+
import { createFileReadTool, createFileWriteTool, createFilePatchTool, createFileListTool, createFileStatTool, } from "./file-tools.js";
|
|
26
|
+
import { createOsQueryTool, createOsInstallTool } from "./os-tools.js";
|
|
27
|
+
import { createSurfacesListTool, createSurfacesStartTool, createSurfacesStopTool, } from "./surface-tools.js";
|
|
28
|
+
import { createCronAddTool, createCronListTool, createCronRemoveTool, createCronUpdateTool, } from "./cron-tools.js";
|
|
29
|
+
import { createGatewayStatusTool } from "./gateway-tools.js";
|
|
30
|
+
import { createScreenShareTool, createScreenCaptureTool, createScreenRecordTool, createOsTool } from "./screen-share-tools.js";
|
|
31
|
+
import { createBrowserNavigateTool, createBrowserSnapshotTool, createBrowserInteractionTools, createWebFetchTool, createWebSearchTool, createBrowserSandboxStartTool, } from "./browser-tools.js";
|
|
32
|
+
import { createMemorySaveTool, createMemorySearchTool, createMemoryForgetTool, } from "./memory-tools.js";
|
|
33
|
+
import { createVoiceSpeakTool } from "./voice-tools.js";
|
|
34
|
+
import { createAgentSpawnTool } from "./agent-tools.js";
|
|
35
|
+
import { createThreadControlTool } from "./thread-tools.js";
|
|
36
|
+
import { createNetworkScanTool } from "./network-tools.js";
|
|
37
|
+
import { createRedeployTool } from "./redeploy-tools.js";
|
|
38
|
+
import { createToolsListTool, createToolsSearchTool } from "./meta-tools.js";
|
|
39
|
+
import { inferContextWindow } from "../config.js";
|
|
40
|
+
// ── Core tools (simplified set of 8) ────────────────────────────────
|
|
41
|
+
import { createReadTool, createEditTool, createExecuteTool, createSearchTool, createWebTool, createAgentTool, createTodoTool, createJaitTool, } from "./core/index.js";
|
|
42
|
+
/** Create a ToolRegistry with all gateway tools pre-registered. */
|
|
43
|
+
export function createToolRegistry(surfaceRegistry, deps = {}) {
|
|
44
|
+
const tools = new ToolRegistry();
|
|
45
|
+
// ════════════════════════════════════════════════════════════════════
|
|
46
|
+
// Core tools (8 simplified tools — always sent to LLM)
|
|
47
|
+
// ════════════════════════════════════════════════════════════════════
|
|
48
|
+
tools.register(createReadTool(surfaceRegistry));
|
|
49
|
+
tools.register(createEditTool(surfaceRegistry));
|
|
50
|
+
tools.register(createExecuteTool(surfaceRegistry));
|
|
51
|
+
tools.register(createSearchTool(surfaceRegistry));
|
|
52
|
+
tools.register(createWebTool());
|
|
53
|
+
tools.register(createTodoTool());
|
|
54
|
+
tools.register(createJaitTool({
|
|
55
|
+
memoryService: deps.memoryService,
|
|
56
|
+
scheduler: deps.scheduler,
|
|
57
|
+
sessionService: deps.sessionService,
|
|
58
|
+
surfaceRegistry,
|
|
59
|
+
ws: deps.ws,
|
|
60
|
+
startedAt: deps.startedAt,
|
|
61
|
+
hooks: deps.hooks,
|
|
62
|
+
}));
|
|
63
|
+
// Agent tool registered below (needs config for LLM settings)
|
|
64
|
+
// ════════════════════════════════════════════════════════════════════
|
|
65
|
+
// Standard tools (available via tools.search/tools.list, or for
|
|
66
|
+
// backward compat — not sent to LLM by default in tiered mode)
|
|
67
|
+
// ════════════════════════════════════════════════════════════════════
|
|
68
|
+
// Terminal tools (underlying implementations for core "execute")
|
|
69
|
+
tools.register(createTerminalRunTool(surfaceRegistry, undefined, deps.ws));
|
|
70
|
+
tools.register(createTerminalStreamTool(surfaceRegistry));
|
|
71
|
+
// File tools (underlying implementations for core "read"/"edit")
|
|
72
|
+
tools.register(createFileReadTool(surfaceRegistry));
|
|
73
|
+
tools.register(createFileWriteTool(surfaceRegistry));
|
|
74
|
+
tools.register(createFilePatchTool(surfaceRegistry));
|
|
75
|
+
tools.register(createFileListTool(surfaceRegistry));
|
|
76
|
+
tools.register(createFileStatTool(surfaceRegistry));
|
|
77
|
+
// OS tools
|
|
78
|
+
tools.register(createOsQueryTool());
|
|
79
|
+
tools.register(createOsInstallTool());
|
|
80
|
+
// Surface self-control tools
|
|
81
|
+
tools.register(createSurfacesListTool(surfaceRegistry));
|
|
82
|
+
tools.register(createSurfacesStartTool(surfaceRegistry));
|
|
83
|
+
tools.register(createSurfacesStopTool(surfaceRegistry));
|
|
84
|
+
// Scheduler tools (underlying implementations for jait cron.*)
|
|
85
|
+
if (deps.scheduler) {
|
|
86
|
+
tools.register(createCronAddTool(deps.scheduler));
|
|
87
|
+
tools.register(createCronListTool(deps.scheduler));
|
|
88
|
+
tools.register(createCronRemoveTool(deps.scheduler));
|
|
89
|
+
tools.register(createCronUpdateTool(deps.scheduler));
|
|
90
|
+
}
|
|
91
|
+
// Runtime status tool
|
|
92
|
+
if (deps.sessionService && deps.ws) {
|
|
93
|
+
tools.register(createGatewayStatusTool({
|
|
94
|
+
sessionService: deps.sessionService,
|
|
95
|
+
surfaceRegistry,
|
|
96
|
+
ws: deps.ws,
|
|
97
|
+
startedAt: deps.startedAt ?? Date.now(),
|
|
98
|
+
scheduler: deps.scheduler,
|
|
99
|
+
hooks: deps.hooks,
|
|
100
|
+
}));
|
|
101
|
+
}
|
|
102
|
+
// Self-update / redeploy tool
|
|
103
|
+
if (deps.config && deps.shutdown) {
|
|
104
|
+
tools.register(createRedeployTool({
|
|
105
|
+
port: deps.config.port,
|
|
106
|
+
shutdown: deps.shutdown,
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
// Memory tools
|
|
110
|
+
if (deps.memoryService) {
|
|
111
|
+
tools.register(createMemorySaveTool(deps.memoryService));
|
|
112
|
+
tools.register(createMemorySearchTool(deps.memoryService));
|
|
113
|
+
tools.register(createMemoryForgetTool(deps.memoryService));
|
|
114
|
+
}
|
|
115
|
+
if (deps.voiceService) {
|
|
116
|
+
tools.register(createVoiceSpeakTool(deps.voiceService));
|
|
117
|
+
}
|
|
118
|
+
if (deps.threadService && deps.providerRegistry) {
|
|
119
|
+
tools.register(createThreadControlTool({
|
|
120
|
+
threadService: deps.threadService,
|
|
121
|
+
providerRegistry: deps.providerRegistry,
|
|
122
|
+
ws: deps.ws,
|
|
123
|
+
mcpConfig: deps.threadMcpConfig,
|
|
124
|
+
}));
|
|
125
|
+
}
|
|
126
|
+
if (deps.screenShare) {
|
|
127
|
+
tools.register(createScreenShareTool(deps.screenShare, deps.ws));
|
|
128
|
+
tools.register(createScreenCaptureTool(deps.screenShare));
|
|
129
|
+
tools.register(createScreenRecordTool(deps.screenShare));
|
|
130
|
+
tools.register(createOsTool(deps.screenShare, "os.tool"));
|
|
131
|
+
tools.register(createOsTool(deps.screenShare, "os_tool"));
|
|
132
|
+
}
|
|
133
|
+
// Meta-tools (tool discovery — always core tier)
|
|
134
|
+
tools.register(createToolsListTool(tools));
|
|
135
|
+
tools.register(createToolsSearchTool(tools));
|
|
136
|
+
// Browser + web tools
|
|
137
|
+
tools.register(createBrowserNavigateTool(surfaceRegistry));
|
|
138
|
+
tools.register(createBrowserSnapshotTool(surfaceRegistry));
|
|
139
|
+
for (const tool of createBrowserInteractionTools(surfaceRegistry)) {
|
|
140
|
+
tools.register(tool);
|
|
141
|
+
}
|
|
142
|
+
tools.register(createWebFetchTool());
|
|
143
|
+
tools.register(createWebSearchTool());
|
|
144
|
+
tools.register(createBrowserSandboxStartTool());
|
|
145
|
+
// Network tools
|
|
146
|
+
tools.register(createNetworkScanTool());
|
|
147
|
+
// Agent spawn (sub-agent) tool — needs config for LLM settings
|
|
148
|
+
if (deps.config) {
|
|
149
|
+
const agentDeps = {
|
|
150
|
+
toolRegistry: tools,
|
|
151
|
+
getLLMConfig: (context) => {
|
|
152
|
+
const effectiveModel = context.apiKeys?.["OPENAI_MODEL"]?.trim() || deps.config.openaiModel;
|
|
153
|
+
return {
|
|
154
|
+
openaiApiKey: context.apiKeys?.["OPENAI_API_KEY"]?.trim() || deps.config.openaiApiKey,
|
|
155
|
+
openaiBaseUrl: context.apiKeys?.["OPENAI_BASE_URL"]?.trim() || deps.config.openaiBaseUrl,
|
|
156
|
+
openaiModel: effectiveModel,
|
|
157
|
+
contextWindow: context.apiKeys?.["OPENAI_MODEL"]?.trim()
|
|
158
|
+
? inferContextWindow(effectiveModel)
|
|
159
|
+
: deps.config.contextWindow,
|
|
160
|
+
};
|
|
161
|
+
},
|
|
162
|
+
};
|
|
163
|
+
// Core: simplified "agent" tool
|
|
164
|
+
tools.register(createAgentTool(agentDeps));
|
|
165
|
+
// Standard: legacy "agent.spawn" tool (backward compat)
|
|
166
|
+
tools.register(createAgentSpawnTool(agentDeps));
|
|
167
|
+
}
|
|
168
|
+
return tools;
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Bridge — connects external MCP tool servers to Jait's registry.
|
|
3
|
+
*
|
|
4
|
+
* MCP (Model Context Protocol) lets users bring their own tool servers.
|
|
5
|
+
* This bridge:
|
|
6
|
+
* 1. Connects to an MCP server via stdio or HTTP/SSE transport
|
|
7
|
+
* 2. Discovers its tools via `tools/list`
|
|
8
|
+
* 3. Wraps each tool as a ToolDefinition and registers it
|
|
9
|
+
* 4. Proxies tool execution via `tools/call`
|
|
10
|
+
*
|
|
11
|
+
* All MCP tools get tier: "external", category: "external", source: "mcp".
|
|
12
|
+
*
|
|
13
|
+
* Scaffold — transport & full MCP protocol will be implemented when
|
|
14
|
+
* the MCP SDK is integrated. For now this provides the type contracts
|
|
15
|
+
* and registration flow.
|
|
16
|
+
*/
|
|
17
|
+
import type { ToolDefinition, ToolParametersSchema, ToolResult } from "./contracts.js";
|
|
18
|
+
import type { ToolRegistry } from "./registry.js";
|
|
19
|
+
export interface McpServerConfig {
|
|
20
|
+
/** Unique identifier for this MCP server (e.g. "github", "slack") */
|
|
21
|
+
id: string;
|
|
22
|
+
/** Human-readable name */
|
|
23
|
+
name: string;
|
|
24
|
+
/** Transport type */
|
|
25
|
+
transport: "stdio" | "sse";
|
|
26
|
+
/** For stdio: command + args to spawn. For sse: URL to connect to. */
|
|
27
|
+
command?: string;
|
|
28
|
+
args?: string[];
|
|
29
|
+
url?: string;
|
|
30
|
+
/** Environment variables to pass to the MCP server process */
|
|
31
|
+
env?: Record<string, string>;
|
|
32
|
+
/** Whether the server is enabled (default true) */
|
|
33
|
+
enabled?: boolean;
|
|
34
|
+
}
|
|
35
|
+
/** Describes a tool advertised by an MCP server */
|
|
36
|
+
export interface McpToolDescriptor {
|
|
37
|
+
/** Tool name as reported by the MCP server */
|
|
38
|
+
name: string;
|
|
39
|
+
/** Description from the MCP server */
|
|
40
|
+
description: string;
|
|
41
|
+
/** JSON Schema for the tool's input */
|
|
42
|
+
inputSchema: ToolParametersSchema;
|
|
43
|
+
}
|
|
44
|
+
export interface McpConnection {
|
|
45
|
+
serverId: string;
|
|
46
|
+
serverName: string;
|
|
47
|
+
status: "connected" | "disconnected" | "error";
|
|
48
|
+
tools: McpToolDescriptor[];
|
|
49
|
+
error?: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Connect to an MCP server and discover its tools.
|
|
53
|
+
*
|
|
54
|
+
* TODO: Implement actual MCP protocol transport. For now this is a
|
|
55
|
+
* scaffold that documents the expected flow and types.
|
|
56
|
+
*/
|
|
57
|
+
export declare function connectMcpServer(_config: McpServerConfig): Promise<McpConnection>;
|
|
58
|
+
/**
|
|
59
|
+
* Call a tool on an MCP server.
|
|
60
|
+
*
|
|
61
|
+
* TODO: Implement actual MCP tools/call. For now returns an error
|
|
62
|
+
* indicating the scaffold state.
|
|
63
|
+
*/
|
|
64
|
+
export declare function callMcpTool(_serverId: string, _toolName: string, _args: unknown): Promise<ToolResult>;
|
|
65
|
+
/**
|
|
66
|
+
* Wraps an MCP tool descriptor as a Jait ToolDefinition and registers it.
|
|
67
|
+
*
|
|
68
|
+
* The tool name is prefixed with the server id to avoid collisions:
|
|
69
|
+
* e.g. "github:create_issue" → registered as "mcp.github.create_issue"
|
|
70
|
+
*/
|
|
71
|
+
export declare function wrapMcpTool(serverId: string, descriptor: McpToolDescriptor): ToolDefinition;
|
|
72
|
+
/**
|
|
73
|
+
* Register all tools from an MCP server connection into a ToolRegistry.
|
|
74
|
+
* Returns the number of tools registered.
|
|
75
|
+
*/
|
|
76
|
+
export declare function registerMcpTools(registry: ToolRegistry, connection: McpConnection): number;
|
|
77
|
+
/**
|
|
78
|
+
* Unregister all MCP tools from a specific server.
|
|
79
|
+
*/
|
|
80
|
+
export declare function unregisterMcpTools(registry: ToolRegistry, serverId: string): number;
|
|
81
|
+
/**
|
|
82
|
+
* Manages multiple MCP server connections.
|
|
83
|
+
* Tracks connection state, provides reconnection, and manages tool lifecycle.
|
|
84
|
+
*/
|
|
85
|
+
export declare class McpManager {
|
|
86
|
+
private readonly registry;
|
|
87
|
+
private connections;
|
|
88
|
+
private configs;
|
|
89
|
+
constructor(registry: ToolRegistry);
|
|
90
|
+
/** Add an MCP server configuration */
|
|
91
|
+
addServer(config: McpServerConfig): void;
|
|
92
|
+
/** Remove an MCP server */
|
|
93
|
+
removeServer(serverId: string): void;
|
|
94
|
+
/** Connect to a specific server and register its tools */
|
|
95
|
+
connect(serverId: string): Promise<McpConnection>;
|
|
96
|
+
/** Disconnect from a specific server */
|
|
97
|
+
disconnect(serverId: string): void;
|
|
98
|
+
/** Connect to all configured servers */
|
|
99
|
+
connectAll(): Promise<McpConnection[]>;
|
|
100
|
+
/** Get connection status for all servers */
|
|
101
|
+
getStatus(): Array<{
|
|
102
|
+
id: string;
|
|
103
|
+
name: string;
|
|
104
|
+
status: McpConnection["status"];
|
|
105
|
+
toolCount: number;
|
|
106
|
+
error?: string;
|
|
107
|
+
}>;
|
|
108
|
+
/** Get all server configs */
|
|
109
|
+
getConfigs(): McpServerConfig[];
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=mcp-bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-bridge.d.ts","sourceRoot":"","sources":["../../src/tools/mcp-bridge.ts"],"names":[],"mappings":"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"}
|