@gajae-code/coding-agent 0.13.2 → 0.14.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/CHANGELOG.md +215 -8
- package/README.md +2 -0
- package/bin/gajaessi.js +4 -0
- package/dist/types/async/job-manager.d.ts +55 -2
- package/dist/types/async/support.d.ts +14 -0
- package/dist/types/capability/mcp.d.ts +6 -0
- package/dist/types/capability/types.d.ts +6 -0
- package/dist/types/cli/accounts-cli.d.ts +19 -0
- package/dist/types/cli/args.d.ts +3 -0
- package/dist/types/cli/config-cli.d.ts +6 -0
- package/dist/types/cli/crash-cli.d.ts +10 -0
- package/dist/types/cli/customize-doctor.d.ts +145 -0
- package/dist/types/cli/daemon-cli.d.ts +3 -1
- package/dist/types/cli/mcp-cli.d.ts +11 -0
- package/dist/types/cli/notify-cli.d.ts +1 -1
- package/dist/types/cli/root-flags.d.ts +12 -0
- package/dist/types/cli/setup-cli.d.ts +3 -1
- package/dist/types/cli/skills-cli.d.ts +2 -1
- package/dist/types/cli/update-cli.d.ts +19 -1
- package/dist/types/cli.d.ts +6 -0
- package/dist/types/commands/accounts.d.ts +40 -0
- package/dist/types/commands/crash.d.ts +24 -0
- package/dist/types/commands/customize.d.ts +22 -0
- package/dist/types/commands/daemon.d.ts +1 -1
- package/dist/types/commands/launch.d.ts +6 -0
- package/dist/types/commands/setup.d.ts +6 -0
- package/dist/types/commands/skills.d.ts +6 -1
- package/dist/types/commands/update.d.ts +7 -0
- package/dist/types/config/atomic-yaml-patch-worker.d.ts +25 -0
- package/dist/types/config/atomic-yaml-patch.d.ts +62 -2
- package/dist/types/config/config-schema-version.d.ts +10 -0
- package/dist/types/config/file-lock.d.ts +18 -0
- package/dist/types/config/model-profile-activation.d.ts +3 -1
- package/dist/types/config/model-registry.d.ts +10 -1
- package/dist/types/config/models-config-schema.d.ts +2 -0
- package/dist/types/config/settings-schema.d.ts +73 -9
- package/dist/types/config/settings.d.ts +63 -0
- package/dist/types/config/skill-settings-defaults.d.ts +26 -0
- package/dist/types/config/task-delegation.d.ts +39 -0
- package/dist/types/config/update-channel.d.ts +10 -0
- package/dist/types/coordinator-mcp/server.d.ts +5 -1
- package/dist/types/crash/index-store.d.ts +87 -0
- package/dist/types/crash/nudge.d.ts +50 -0
- package/dist/types/crash/record-loader.d.ts +17 -0
- package/dist/types/crash/report.d.ts +134 -0
- package/dist/types/crash/sanitize.d.ts +25 -0
- package/dist/types/cursor.d.ts +13 -2
- package/dist/types/customization/import.d.ts +37 -0
- package/dist/types/customization/index.d.ts +4 -0
- package/dist/types/customization/inventory.d.ts +25 -0
- package/dist/types/customization/mutations.d.ts +32 -0
- package/dist/types/customization/types.d.ts +115 -0
- package/dist/types/daemon/control-types.d.ts +8 -1
- package/dist/types/daemon/operator-contract.d.ts +4 -4
- package/dist/types/discovery/claude.d.ts +39 -1
- package/dist/types/discovery/codex.d.ts +39 -1
- package/dist/types/discovery/index.d.ts +2 -0
- package/dist/types/discovery/mcp-compat.d.ts +30 -0
- package/dist/types/edit/renderer.d.ts +23 -0
- package/dist/types/extensibility/extensions/runner.d.ts +3 -0
- package/dist/types/extensibility/extensions/types.d.ts +21 -4
- package/dist/types/extensibility/gjc-plugins/observability.d.ts +6 -1
- package/dist/types/extensibility/gjc-plugins/registry.d.ts +8 -1
- package/dist/types/extensibility/hooks/loader.d.ts +19 -5
- package/dist/types/extensibility/runtime-skill-discovery.d.ts +22 -1
- package/dist/types/extensibility/skill-management.d.ts +107 -0
- package/dist/types/gjc-runtime/deep-interview-runtime.d.ts +3 -1
- package/dist/types/gjc-runtime/launch-worktree.d.ts +8 -0
- package/dist/types/gjc-runtime/linux-proc.d.ts +3 -0
- package/dist/types/gjc-runtime/ralplan-runtime.d.ts +10 -6
- package/dist/types/gjc-runtime/session-state-lock.d.ts +104 -0
- package/dist/types/gjc-runtime/session-state-sidecar.d.ts +120 -2
- package/dist/types/gjc-runtime/state-writer.d.ts +10 -1
- package/dist/types/gjc-runtime/ultragoal-guard.d.ts +4 -2
- package/dist/types/gjc-runtime/ultragoal-runtime.d.ts +8 -6
- package/dist/types/gjc-runtime/workflow-settings.d.ts +109 -0
- package/dist/types/hooks/events.d.ts +60 -0
- package/dist/types/hooks/normalize.d.ts +83 -0
- package/dist/types/hooks/skill-state.d.ts +9 -2
- package/dist/types/main.d.ts +2 -1
- package/dist/types/modes/acp/abort-scope.d.ts +13 -0
- package/dist/types/modes/acp/acp-agent.d.ts +7 -4
- package/dist/types/modes/components/customization/customization-dashboard.d.ts +44 -0
- package/dist/types/modes/components/customization/import-wizard.d.ts +21 -0
- package/dist/types/modes/components/customization/index.d.ts +1 -0
- package/dist/types/modes/components/dynamic-theme-text.d.ts +9 -0
- package/dist/types/modes/components/gajae-pet-widget.d.ts +6 -28
- package/dist/types/modes/components/irc-sidebar.d.ts +1 -0
- package/dist/types/modes/components/iterm-pet-transport.d.ts +122 -0
- package/dist/types/modes/components/oauth-selector.d.ts +10 -4
- package/dist/types/modes/components/pet-capability.d.ts +7 -21
- package/dist/types/modes/components/settings-selector.d.ts +5 -0
- package/dist/types/modes/components/status-line/gh.d.ts +6 -2
- package/dist/types/modes/controllers/extension-ui-controller.d.ts +1 -1
- package/dist/types/modes/controllers/selector-controller.d.ts +7 -8
- package/dist/types/modes/controllers/stt-controller.d.ts +1 -1
- package/dist/types/modes/interactive-mode.d.ts +1 -0
- package/dist/types/modes/theme/defaults/index.d.ts +118 -0
- package/dist/types/modes/types.d.ts +1 -0
- package/dist/types/modes/utils/injected-user-submission.d.ts +10 -0
- package/dist/types/runtime-mcp/config.d.ts +9 -0
- package/dist/types/runtime-mcp/manager.d.ts +26 -1
- package/dist/types/runtime-mcp/oauth-discovery.d.ts +4 -0
- package/dist/types/runtime-mcp/oauth-flow.d.ts +24 -1
- package/dist/types/runtime-mcp/pool-key.d.ts +2 -0
- package/dist/types/runtime-mcp/protocol.d.ts +278 -0
- package/dist/types/runtime-mcp/scope-config.d.ts +29 -0
- package/dist/types/runtime-mcp/tool-bridge.d.ts +15 -13
- package/dist/types/runtime-mcp/transports/http.d.ts +9 -0
- package/dist/types/runtime-mcp/types.d.ts +102 -10
- package/dist/types/sdk/acp/adapter.d.ts +26 -5
- package/dist/types/sdk/broker/broker.d.ts +3 -55
- package/dist/types/sdk/broker/lifecycle.d.ts +18 -12
- package/dist/types/sdk/broker/session-index.d.ts +14 -5
- package/dist/types/sdk/broker/startup-failure.d.ts +16 -1
- package/dist/types/sdk/bus/chat-daemon-control.d.ts +51 -1
- package/dist/types/sdk/bus/chat-daemon-runtime.d.ts +4 -41
- package/dist/types/sdk/bus/config.d.ts +11 -0
- package/dist/types/sdk/bus/conversation-store.d.ts +0 -1
- package/dist/types/sdk/bus/daemon-paths.d.ts +6 -0
- package/dist/types/sdk/bus/discord-conversation.d.ts +2 -0
- package/dist/types/sdk/bus/discord-daemon.d.ts +17 -12
- package/dist/types/sdk/bus/existing-thread-readiness.d.ts +4 -34
- package/dist/types/sdk/bus/inbound-reaction-ordering.d.ts +61 -0
- package/dist/types/sdk/bus/index.d.ts +85 -99
- package/dist/types/sdk/bus/kind-aware-reconciliation.d.ts +29 -7
- package/dist/types/sdk/bus/managed-daemon.d.ts +2 -32
- package/dist/types/sdk/bus/notification-service.d.ts +52 -0
- package/dist/types/sdk/bus/operator-runtime.d.ts +1 -1
- package/dist/types/sdk/bus/prompt-reconciliation.d.ts +16 -5
- package/dist/types/sdk/bus/reconciliation-store.d.ts +113 -5
- package/dist/types/sdk/bus/session-control.d.ts +25 -1
- package/dist/types/sdk/bus/slack-conversation.d.ts +4 -0
- package/dist/types/sdk/bus/slack-daemon.d.ts +9 -17
- package/dist/types/sdk/bus/slack-live-provider.d.ts +3 -1
- package/dist/types/sdk/bus/slack-provider.d.ts +4 -0
- package/dist/types/sdk/bus/slack-thread-binding.d.ts +6 -40
- package/dist/types/sdk/bus/telegram-adoption-intent.d.ts +30 -104
- package/dist/types/sdk/bus/telegram-daemon-cli.d.ts +10 -0
- package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +262 -19
- package/dist/types/sdk/bus/telegram-daemon-orphan-reap.d.ts +125 -0
- package/dist/types/sdk/bus/telegram-daemon-owner-registry.d.ts +22 -0
- package/dist/types/sdk/bus/telegram-daemon.d.ts +119 -310
- package/dist/types/sdk/bus/telegram-reference.d.ts +1 -47
- package/dist/types/sdk/bus/threaded-render.d.ts +1 -0
- package/dist/types/sdk/bus/topic-registry.d.ts +33 -17
- package/dist/types/sdk/cli/rows.d.ts +2 -11
- package/dist/types/sdk/cli/session-cli.d.ts +15 -25
- package/dist/types/sdk/client/client.d.ts +97 -1
- package/dist/types/sdk/host/control/dispatch.d.ts +0 -7
- package/dist/types/sdk/host/control/index.d.ts +1 -1
- package/dist/types/sdk/host/control/operations.d.ts +18 -5
- package/dist/types/sdk/host/control/runtime-gate.d.ts +19 -0
- package/dist/types/sdk/host/host.d.ts +15 -1
- package/dist/types/sdk/host/query/handlers.d.ts +5 -0
- package/dist/types/sdk/host/reverse-leases.d.ts +1 -1
- package/dist/types/sdk/host/session-runtime.d.ts +127 -7
- package/dist/types/sdk/host/types.d.ts +1 -1
- package/dist/types/sdk/host/websocket-transport.d.ts +1 -1
- package/dist/types/sdk/index.d.ts +2 -1
- package/dist/types/sdk/lifecycle/broker-client.d.ts +8 -0
- package/dist/types/sdk/lifecycle/client.d.ts +59 -0
- package/dist/types/sdk/lifecycle/index.d.ts +3 -0
- package/dist/types/sdk/lifecycle/service.d.ts +232 -0
- package/dist/types/sdk/mcp/server.d.ts +9 -6
- package/dist/types/sdk/prompt-deadline-lease.d.ts +43 -0
- package/dist/types/sdk/prompt-deadline-manager.d.ts +28 -0
- package/dist/types/sdk/prompt-status.d.ts +10 -3
- package/dist/types/sdk/protocol/operation-registry.d.ts +5 -0
- package/dist/types/sdk/receipt-state.d.ts +17 -0
- package/dist/types/sdk/reconciliation-extensions.d.ts +2 -0
- package/dist/types/sdk/router/index.d.ts +1 -0
- package/dist/types/sdk/router/session-router.d.ts +152 -0
- package/dist/types/sdk/session-list.d.ts +22 -0
- package/dist/types/sdk/session-reconnect.d.ts +43 -1
- package/dist/types/sdk/session.d.ts +34 -1
- package/dist/types/sdk/transport/serve-cli.d.ts +1 -4
- package/dist/types/session/account-inventory.d.ts +86 -0
- package/dist/types/session/agent-session.d.ts +145 -6
- package/dist/types/session/agent-storage.d.ts +10 -0
- package/dist/types/session/coordinator-tool-label.d.ts +28 -0
- package/dist/types/session/internal/managed-session-storage.d.ts +23 -4
- package/dist/types/session/messages.d.ts +1 -1
- package/dist/types/session/secure-token-file.d.ts +3 -0
- package/dist/types/session/session-manager.d.ts +47 -1
- package/dist/types/session/startup-auth-config.d.ts +44 -0
- package/dist/types/session/terminal-abort.d.ts +378 -0
- package/dist/types/session/yield-queue.d.ts +7 -0
- package/dist/types/session-import/claude.d.ts +26 -0
- package/dist/types/session-import/codex.d.ts +88 -0
- package/dist/types/session-import/command.d.ts +35 -0
- package/dist/types/session-import/detect.d.ts +22 -0
- package/dist/types/session-import/index.d.ts +7 -0
- package/dist/types/session-import/provider-codex.d.ts +22 -0
- package/dist/types/session-import/provider-service.d.ts +38 -0
- package/dist/types/session-import/redact.d.ts +23 -0
- package/dist/types/session-import/service.d.ts +47 -0
- package/dist/types/session-import/types.d.ts +120 -0
- package/dist/types/setup/paseo/check.d.ts +16 -0
- package/dist/types/setup/paseo/install-saga.d.ts +115 -0
- package/dist/types/setup/paseo/json-publisher.d.ts +76 -0
- package/dist/types/setup/paseo/orchestration-preferences.d.ts +24 -0
- package/dist/types/setup/paseo/paseo-ownership.d.ts +87 -0
- package/dist/types/setup/paseo/paseo-setup.d.ts +29 -0
- package/dist/types/setup/paseo/provider-config.d.ts +35 -0
- package/dist/types/setup/paseo/remove.d.ts +14 -0
- package/dist/types/setup/paseo/result-types.d.ts +59 -0
- package/dist/types/setup/paseo/setup-deps.d.ts +73 -0
- package/dist/types/setup/paseo/skills-bridge.d.ts +44 -0
- package/dist/types/skill-state/active-state.d.ts +5 -1
- package/dist/types/slash-commands/acp-builtins.d.ts +5 -1
- package/dist/types/slash-commands/builtin-registry.d.ts +2 -0
- package/dist/types/slash-commands/helpers/credential-switch.d.ts +12 -0
- package/dist/types/slash-commands/helpers/usage-report.d.ts +5 -6
- package/dist/types/slash-commands/types.d.ts +7 -1
- package/dist/types/task/executor.d.ts +10 -0
- package/dist/types/task/index.d.ts +3 -1
- package/dist/types/tools/ask-answer-registry.d.ts +6 -3
- package/dist/types/tools/bash-sleep-advisory.d.ts +14 -0
- package/dist/types/tools/bash.d.ts +2 -6
- package/dist/types/tools/browser/attach.d.ts +11 -0
- package/dist/types/tools/browser/launch.d.ts +20 -0
- package/dist/types/tools/browser/profile-discovery.d.ts +6 -0
- package/dist/types/tools/browser/render.d.ts +1 -0
- package/dist/types/tools/browser.d.ts +3 -1
- package/dist/types/tools/image-gen.d.ts +10 -2
- package/dist/types/tools/index.d.ts +8 -0
- package/dist/types/tools/monitor.d.ts +1 -1
- package/dist/types/tools/skill-discovery.d.ts +8 -1
- package/dist/types/tools/subagent.d.ts +2 -0
- package/dist/types/tools/ultragoal-ask-guard.d.ts +2 -2
- package/dist/types/utils/herdr-pane.d.ts +76 -0
- package/package.json +19 -9
- package/scripts/build-binary.ts +2 -1
- package/scripts/build-sdk-package-smoke.ts +2 -13
- package/scripts/capture-sticky-viewport-showcase.ts +0 -1
- package/scripts/compile-args.ts +2 -0
- package/scripts/generate-sdk-adapter-parity-manifest.ts +31 -16
- package/scripts/generate-sdk-operation-inventory.ts +28 -0
- package/scripts/generate-telegram-baseline-manifest.ts +1 -0
- package/scripts/generate-tool-catalog.ts +6 -4
- package/scripts/verify-gjc-sdk-canonicalization.ts +5 -39
- package/src/async/job-manager.ts +352 -17
- package/src/async/support.ts +25 -0
- package/src/autoresearch/dashboard.ts +28 -13
- package/src/capability/index.ts +3 -1
- package/src/capability/mcp.ts +6 -0
- package/src/capability/types.ts +6 -0
- package/src/cli/accounts-cli.ts +395 -0
- package/src/cli/args.ts +23 -0
- package/src/cli/auth-broker-cli.ts +136 -66
- package/src/cli/auth-gateway-cli.ts +94 -70
- package/src/cli/config-cli.ts +27 -2
- package/src/cli/crash-cli.ts +78 -0
- package/src/cli/customize-doctor.ts +1605 -0
- package/src/cli/daemon-cli.ts +12 -3
- package/src/cli/fast-help.ts +1 -0
- package/src/cli/mcp-cli.ts +128 -60
- package/src/cli/notify-cli.ts +8 -14
- package/src/cli/root-flags.ts +8 -0
- package/src/cli/setup-cli.ts +145 -0
- package/src/cli/skills-cli.ts +38 -2
- package/src/cli/update-cli.ts +167 -12
- package/src/cli.ts +4 -0
- package/src/commands/accounts.ts +71 -0
- package/src/commands/crash.ts +35 -0
- package/src/commands/customize.ts +84 -0
- package/src/commands/daemon.ts +2 -2
- package/src/commands/deep-interview.ts +2 -0
- package/src/commands/launch.ts +1 -0
- package/src/commands/mcp.ts +12 -7
- package/src/commands/ralplan.ts +2 -0
- package/src/commands/sdk.ts +65 -32
- package/src/commands/setup.ts +5 -0
- package/src/commands/skills.ts +14 -4
- package/src/commands/ultragoal.ts +10 -1
- package/src/commands/update.ts +26 -15
- package/src/config/atomic-yaml-patch-worker.ts +57 -0
- package/src/config/atomic-yaml-patch.ts +769 -29
- package/src/config/config-schema-version.ts +10 -0
- package/src/config/file-lock.ts +70 -1
- package/src/config/mcp-schema.json +52 -14
- package/src/config/model-profile-activation.ts +23 -2
- package/src/config/model-profiles.ts +88 -21
- package/src/config/model-registry.ts +147 -21
- package/src/config/models-config-schema.ts +1 -1
- package/src/config/settings-schema.ts +77 -7
- package/src/config/settings.ts +4038 -199
- package/src/config/skill-settings-defaults.ts +41 -3
- package/src/config/task-delegation.ts +87 -0
- package/src/config/update-channel.ts +23 -0
- package/src/coordinator-mcp/server.ts +377 -308
- package/src/crash/index-store.ts +723 -0
- package/src/crash/nudge.ts +89 -0
- package/src/crash/record-loader.ts +149 -0
- package/src/crash/report.ts +551 -0
- package/src/crash/sanitize.ts +129 -0
- package/src/cursor.ts +36 -10
- package/src/customization/import.ts +946 -0
- package/src/customization/index.ts +4 -0
- package/src/customization/inventory.ts +335 -0
- package/src/customization/mutations.ts +141 -0
- package/src/customization/types.ts +223 -0
- package/src/daemon/control-types.ts +8 -1
- package/src/daemon/operator-contract.ts +6 -6
- package/src/defaults/gjc/extensions/grok-cli-vendor/src/models/catalog.ts +31 -6
- package/src/defaults/gjc/skills/deep-interview/SKILL.md +11 -22
- package/src/defaults/gjc/skills/ralplan/SKILL.md +36 -23
- package/src/defaults/gjc/skills/ultragoal/SKILL.md +16 -0
- package/src/discovery/claude-hooks.ts +38 -0
- package/src/discovery/claude.ts +142 -209
- package/src/discovery/codex-hooks.ts +38 -0
- package/src/discovery/codex.ts +132 -198
- package/src/discovery/helpers.ts +8 -1
- package/src/discovery/index.ts +2 -0
- package/src/discovery/mcp-compat.ts +234 -0
- package/src/discovery/mcp-json.ts +6 -0
- package/src/edit/renderer.ts +40 -0
- package/src/edit/streaming.ts +4 -2
- package/src/exec/bash-executor.ts +24 -20
- package/src/export/html/index.ts +51 -2
- package/src/extensibility/extensions/loader.ts +9 -1
- package/src/extensibility/extensions/runner.ts +17 -4
- package/src/extensibility/extensions/types.ts +31 -6
- package/src/extensibility/gjc-plugins/constrained-hooks.ts +33 -0
- package/src/extensibility/gjc-plugins/installer.ts +9 -5
- package/src/extensibility/gjc-plugins/observability.ts +8 -2
- package/src/extensibility/gjc-plugins/registry.ts +13 -2
- package/src/extensibility/gjc-plugins/runtime-adapters.ts +3 -1
- package/src/extensibility/gjc-plugins/schema.ts +222 -39
- package/src/extensibility/hooks/loader.ts +154 -10
- package/src/extensibility/runtime-skill-discovery.ts +257 -60
- package/src/extensibility/skill-management.ts +368 -0
- package/src/extensibility/skills.ts +52 -16
- package/src/gjc-runtime/deep-interview-runtime.ts +45 -61
- package/src/gjc-runtime/launch-worktree.ts +56 -2
- package/src/gjc-runtime/linux-proc.ts +7 -1
- package/src/gjc-runtime/ralplan-runtime.ts +100 -164
- package/src/gjc-runtime/session-state-lock.ts +992 -0
- package/src/gjc-runtime/session-state-sidecar.ts +644 -142
- package/src/gjc-runtime/state-writer.ts +39 -14
- package/src/gjc-runtime/tmux-owner-isolation.ts +5 -4
- package/src/gjc-runtime/ultragoal-guard.ts +11 -4
- package/src/gjc-runtime/ultragoal-runtime.ts +44 -41
- package/src/gjc-runtime/workflow-settings.ts +596 -0
- package/src/goals/tools/goal-tool.ts +6 -1
- package/src/hooks/events.ts +291 -0
- package/src/hooks/native-skill-hook.ts +4 -0
- package/src/hooks/normalize.ts +369 -0
- package/src/hooks/skill-state.ts +165 -46
- package/src/internal-urls/docs-index.generated.ts +41 -32
- package/src/main.ts +36 -5
- package/src/migrate/mcp-mapper.ts +25 -2
- package/src/modes/acp/abort-scope.ts +29 -0
- package/src/modes/acp/acp-agent.ts +423 -98
- package/src/modes/components/assistant-message.ts +6 -1
- package/src/modes/components/chrome.ts +4 -3
- package/src/modes/components/customization/customization-dashboard.ts +443 -0
- package/src/modes/components/customization/import-wizard.ts +372 -0
- package/src/modes/components/customization/index.ts +1 -0
- package/src/modes/components/dynamic-theme-text.ts +22 -0
- package/src/modes/components/gajae-pet-widget.ts +607 -193
- package/src/modes/components/irc-sidebar.ts +11 -0
- package/src/modes/components/iterm-pet-transport.ts +585 -0
- package/src/modes/components/model-selector.ts +1 -6
- package/src/modes/components/oauth-selector.ts +277 -86
- package/src/modes/components/pet-capability.ts +35 -31
- package/src/modes/components/settings-selector.ts +29 -5
- package/src/modes/components/status-line/gh.ts +45 -1
- package/src/modes/components/status-line/segments.ts +19 -4
- package/src/modes/components/tool-status-header.ts +13 -3
- package/src/modes/controllers/command-controller.ts +20 -8
- package/src/modes/controllers/extension-ui-controller.ts +56 -257
- package/src/modes/controllers/input-controller.ts +10 -0
- package/src/modes/controllers/runtime-mcp-command-controller.ts +16 -3
- package/src/modes/controllers/selector-controller.ts +238 -77
- package/src/modes/controllers/stt-controller.ts +3 -3
- package/src/modes/interactive-mode.ts +88 -16
- package/src/modes/print-mode.ts +35 -6
- package/src/modes/runtime-init.ts +21 -68
- package/src/modes/theme/defaults/index.ts +2 -0
- package/src/modes/theme/defaults/ouroboros.json +118 -0
- package/src/modes/types.ts +1 -0
- package/src/modes/utils/injected-user-submission.ts +25 -0
- package/src/modes/utils/terminal-bell.ts +15 -1
- package/src/prompts/agent-fragments/ralplan-persistence.md +1 -1
- package/src/prompts/agent-fragments/restricted-bash.md +1 -1
- package/src/prompts/agents/critic.md +1 -1
- package/src/prompts/system/rlm-research.md +1 -1
- package/src/prompts/system/system-prompt.md +0 -2
- package/src/prompts/tools/bash.md +7 -1
- package/src/prompts/tools/browser.md +1 -1
- package/src/prompts/tools/cron.md +6 -6
- package/src/prompts/tools/read.md +0 -2
- package/src/prompts/tools/skill-discovery.md +4 -2
- package/src/runtime-mcp/client.ts +427 -23
- package/src/runtime-mcp/config.ts +37 -5
- package/src/runtime-mcp/manager-pool.test.ts +56 -0
- package/src/runtime-mcp/manager.ts +52 -2
- package/src/runtime-mcp/oauth-discovery.ts +13 -0
- package/src/runtime-mcp/oauth-flow.ts +46 -1
- package/src/runtime-mcp/pool-key.ts +5 -1
- package/src/runtime-mcp/pool.test.ts +9 -0
- package/src/runtime-mcp/protocol.test.ts +353 -0
- package/src/runtime-mcp/protocol.ts +624 -0
- package/src/runtime-mcp/scope-config.ts +78 -0
- package/src/runtime-mcp/tool-bridge.ts +44 -10
- package/src/runtime-mcp/transports/http.ts +84 -13
- package/src/runtime-mcp/types.ts +123 -12
- package/src/sdk/acp/adapter.ts +328 -97
- package/src/sdk/broker/broker.ts +160 -741
- package/src/sdk/broker/ensure.ts +9 -1
- package/src/sdk/broker/lifecycle.ts +510 -116
- package/src/sdk/broker/operation-receipt-ledger.ts +11 -2
- package/src/sdk/broker/process-incarnation.ts +19 -0
- package/src/sdk/broker/session-index.ts +516 -117
- package/src/sdk/broker/startup-failure.ts +28 -5
- package/src/sdk/broker/transport.ts +1 -13
- package/src/sdk/bus/chat-daemon-cli.ts +4 -2
- package/src/sdk/bus/chat-daemon-control.ts +67 -6
- package/src/sdk/bus/chat-daemon-runtime.ts +183 -859
- package/src/sdk/bus/config.ts +13 -0
- package/src/sdk/bus/conversation-store.ts +59 -171
- package/src/sdk/bus/daemon-paths.ts +20 -0
- package/src/sdk/bus/discord-conversation.ts +2 -0
- package/src/sdk/bus/discord-daemon.ts +524 -126
- package/src/sdk/bus/discord-live-provider.ts +206 -79
- package/src/sdk/bus/existing-thread-readiness.ts +4 -97
- package/src/sdk/bus/inbound-reaction-ordering.ts +122 -0
- package/src/sdk/bus/index.ts +2480 -456
- package/src/sdk/bus/kind-aware-reconciliation.ts +204 -34
- package/src/sdk/bus/lifecycle-commands.ts +2 -2
- package/src/sdk/bus/managed-daemon.ts +2 -145
- package/src/sdk/bus/notification-service.ts +196 -0
- package/src/sdk/bus/operator-runtime.ts +1 -1
- package/src/sdk/bus/prompt-reconciliation.ts +24 -15
- package/src/sdk/bus/reconciliation-store.ts +553 -24
- package/src/sdk/bus/session-control.ts +49 -3
- package/src/sdk/bus/slack-conversation.ts +4 -0
- package/src/sdk/bus/slack-daemon.ts +733 -134
- package/src/sdk/bus/slack-live-provider.ts +65 -15
- package/src/sdk/bus/slack-provider.ts +4 -0
- package/src/sdk/bus/slack-thread-binding.ts +9 -104
- package/src/sdk/bus/telegram-adoption-intent.ts +299 -209
- package/src/sdk/bus/telegram-daemon-cli.ts +194 -7
- package/src/sdk/bus/telegram-daemon-contract.ts +265 -19
- package/src/sdk/bus/telegram-daemon-control.ts +3 -13
- package/src/sdk/bus/telegram-daemon-orphan-reap.ts +498 -0
- package/src/sdk/bus/telegram-daemon-owner-registry.ts +176 -0
- package/src/sdk/bus/telegram-daemon.ts +2552 -2280
- package/src/sdk/bus/telegram-reference.ts +1 -226
- package/src/sdk/bus/telegram-setup.ts +2 -2
- package/src/sdk/bus/threaded-render.ts +1 -0
- package/src/sdk/bus/topic-registry.ts +279 -146
- package/src/sdk/cli/rows.ts +2 -35
- package/src/sdk/cli/session-cli.ts +776 -700
- package/src/sdk/client/client.ts +892 -1
- package/src/sdk/host/control/dispatch.ts +93 -58
- package/src/sdk/host/control/index.ts +1 -1
- package/src/sdk/host/control/operations.ts +18 -10
- package/src/sdk/host/control/runtime-gate.ts +40 -0
- package/src/sdk/host/host.ts +63 -12
- package/src/sdk/host/query/handlers.ts +66 -7
- package/src/sdk/host/reverse-leases.ts +2 -2
- package/src/sdk/host/sdk-surface-parity.test.ts +1 -1
- package/src/sdk/host/session-runtime.test.ts +2787 -34
- package/src/sdk/host/session-runtime.ts +1489 -101
- package/src/sdk/host/surface-policy.ts +12 -8
- package/src/sdk/host/types.ts +1 -1
- package/src/sdk/host/websocket-transport.lifecycle.test.ts +31 -59
- package/src/sdk/host/websocket-transport.ts +85 -50
- package/src/sdk/index.ts +2 -1
- package/src/sdk/lifecycle/broker-client.ts +53 -0
- package/src/sdk/lifecycle/client.ts +234 -0
- package/src/sdk/lifecycle/index.ts +3 -0
- package/src/sdk/{bus/recent-activity.ts → lifecycle/recent-sessions.ts} +5 -2
- package/src/sdk/lifecycle/service.ts +720 -0
- package/src/sdk/mcp/server.ts +226 -188
- package/src/sdk/prompt-deadline-lease.ts +55 -0
- package/src/sdk/prompt-deadline-manager.ts +148 -0
- package/src/sdk/prompt-status.ts +11 -3
- package/src/sdk/protocol/operation-inventory.generated.json +272 -129
- package/src/sdk/protocol/operation-registry.ts +71 -8
- package/src/sdk/receipt-state.ts +43 -0
- package/src/sdk/reconciliation-extensions.ts +14 -0
- package/src/sdk/router/index.ts +1 -0
- package/src/sdk/router/session-router.ts +1658 -0
- package/src/sdk/session-list.ts +93 -0
- package/src/sdk/session-reconnect.ts +45 -1
- package/src/sdk/session.ts +716 -120
- package/src/sdk/transport/serve-cli.ts +18 -34
- package/src/session/account-inventory.ts +603 -0
- package/src/session/agent-session.ts +2873 -559
- package/src/session/agent-storage.ts +35 -0
- package/src/session/blob-store.ts +32 -1
- package/src/session/coordinator-tool-label.ts +40 -0
- package/src/session/internal/managed-session-scope.ts +4 -0
- package/src/session/internal/managed-session-storage.ts +199 -31
- package/src/session/messages.ts +1 -1
- package/src/session/secure-token-file.ts +80 -0
- package/src/session/session-manager.ts +757 -57
- package/src/session/session-storage.ts +25 -16
- package/src/session/startup-auth-config.ts +297 -0
- package/src/session/terminal-abort.ts +1253 -0
- package/src/session/yield-queue.ts +57 -15
- package/src/session-import/claude.ts +334 -0
- package/src/session-import/codex.ts +1033 -0
- package/src/session-import/command.ts +77 -0
- package/src/session-import/detect.ts +133 -0
- package/src/session-import/index.ts +7 -0
- package/src/session-import/provider-codex.ts +327 -0
- package/src/session-import/provider-service.ts +457 -0
- package/src/session-import/redact.ts +128 -0
- package/src/session-import/service.ts +1264 -0
- package/src/session-import/types.ts +148 -0
- package/src/setup/paseo/check.ts +213 -0
- package/src/setup/paseo/install-saga.ts +293 -0
- package/src/setup/paseo/json-publisher.ts +263 -0
- package/src/setup/paseo/orchestration-preferences.ts +86 -0
- package/src/setup/paseo/paseo-ownership.ts +224 -0
- package/src/setup/paseo/paseo-setup.ts +253 -0
- package/src/setup/paseo/provider-config.ts +139 -0
- package/src/setup/paseo/remove.ts +183 -0
- package/src/setup/paseo/result-types.ts +79 -0
- package/src/setup/paseo/setup-deps.ts +175 -0
- package/src/setup/paseo/skills-bridge.ts +260 -0
- package/src/skill-state/active-state.ts +21 -11
- package/src/slash-commands/acp-builtins.ts +9 -1
- package/src/slash-commands/builtin-registry.ts +117 -19
- package/src/slash-commands/helpers/credential-switch.ts +143 -0
- package/src/slash-commands/helpers/mcp.ts +9 -3
- package/src/slash-commands/helpers/usage-report.ts +61 -56
- package/src/slash-commands/types.ts +7 -2
- package/src/task/executor.ts +30 -11
- package/src/task/index.ts +66 -7
- package/src/task/render.ts +23 -9
- package/src/tools/ask-answer-registry.ts +23 -7
- package/src/tools/ask.ts +8 -4
- package/src/tools/bash-sleep-advisory.ts +115 -0
- package/src/tools/bash.ts +98 -18
- package/src/tools/browser/attach.ts +71 -3
- package/src/tools/browser/launch.ts +86 -13
- package/src/tools/browser/profile-discovery.ts +57 -7
- package/src/tools/browser/render.ts +8 -1
- package/src/tools/browser.ts +130 -21
- package/src/tools/computer.enforcement.test.ts +1 -1
- package/src/tools/computer.ts +3 -2
- package/src/tools/cron.ts +12 -1
- package/src/tools/image-gen.ts +349 -142
- package/src/tools/index.ts +8 -0
- package/src/tools/job.ts +33 -6
- package/src/tools/monitor.ts +41 -2
- package/src/tools/skill-discovery.ts +21 -29
- package/src/tools/subagent.ts +142 -24
- package/src/tools/todo-contract.ts +55 -3
- package/src/tools/todo-write.ts +4 -3
- package/src/tools/tool-catalog.generated.ts +6 -6
- package/src/tools/ultragoal-ask-guard.ts +10 -3
- package/src/utils/herdr-pane.ts +345 -0
- package/src/utils/title-generator.ts +2 -0
- package/src/web/scrapers/index.ts +6 -4
- package/dist/types/cli/malloc-env-guard.test.d.ts +0 -1
- package/dist/types/defaults/gjc-defaults.test.d.ts +0 -1
- package/dist/types/memory-backend/lazy-loading.test.d.ts +0 -1
- package/dist/types/runtime/boot-ordering.test.d.ts +0 -1
- package/dist/types/runtime/lazy-service.test.d.ts +0 -1
- package/dist/types/runtime/network-prewarm-service.test.d.ts +0 -1
- package/dist/types/runtime/workspace-tree-service.test.d.ts +0 -1
- package/dist/types/runtime-mcp/config.test.d.ts +0 -1
- package/dist/types/runtime-mcp/http.test.d.ts +0 -1
- package/dist/types/runtime-mcp/manager-pool.test.d.ts +0 -1
- package/dist/types/runtime-mcp/pool-key.test.d.ts +0 -1
- package/dist/types/runtime-mcp/pool.test.d.ts +0 -1
- package/dist/types/sdk/bus/lifecycle-control-runtime.d.ts +0 -117
- package/dist/types/sdk/bus/lifecycle-orchestrator.d.ts +0 -141
- package/dist/types/sdk/bus/telegram-cli.d.ts +0 -31
- package/dist/types/sdk/elevation/allowlist.d.ts +0 -20
- package/dist/types/sdk/elevation/audit.d.ts +0 -93
- package/dist/types/sdk/elevation/capability.d.ts +0 -3
- package/dist/types/sdk/elevation/digest.d.ts +0 -72
- package/dist/types/sdk/elevation/dispatch-receipt.d.ts +0 -85
- package/dist/types/sdk/elevation/grant-ledger.d.ts +0 -163
- package/dist/types/sdk/elevation/owner.d.ts +0 -48
- package/dist/types/sdk/host/import-graph.test.d.ts +0 -1
- package/dist/types/sdk/host/sdk-surface-parity.test.d.ts +0 -1
- package/dist/types/sdk/host/session-runtime.test.d.ts +0 -1
- package/dist/types/sdk/host/websocket-transport.lifecycle.test.d.ts +0 -1
- package/dist/types/session/auth-broker-config.d.ts +0 -13
- package/dist/types/session/heap-eviction-artifacts.test.d.ts +0 -1
- package/dist/types/skills/skills.test.d.ts +0 -1
- package/dist/types/slash-commands/notify-command.test.d.ts +0 -1
- package/dist/types/task/token-log.test.d.ts +0 -1
- package/dist/types/tools/computer.enforcement.test.d.ts +0 -1
- package/dist/types/tools/descriptors.test.d.ts +0 -1
- package/scripts/g005-daemon-smoke.ts +0 -180
- package/scripts/g011-daemon-path-smoke.ts +0 -153
- package/src/sdk/bus/lifecycle-control-runtime.ts +0 -1733
- package/src/sdk/bus/lifecycle-orchestrator.ts +0 -489
- package/src/sdk/bus/telegram-cli.ts +0 -212
- package/src/sdk/elevation/allowlist.ts +0 -54
- package/src/sdk/elevation/audit.ts +0 -208
- package/src/sdk/elevation/capability.ts +0 -41
- package/src/sdk/elevation/digest.ts +0 -129
- package/src/sdk/elevation/dispatch-receipt.ts +0 -184
- package/src/sdk/elevation/grant-ledger.ts +0 -1142
- package/src/sdk/elevation/owner.ts +0 -109
- package/src/session/auth-broker-config.ts +0 -109
- /package/dist/types/{ai-core-import-gate.test.d.ts → discovery/claude-hooks.d.ts} +0 -0
- /package/dist/types/{cli/fixture-report.test.d.ts → discovery/codex-hooks.d.ts} +0 -0
- /package/dist/types/sdk/{bus/recent-activity.d.ts → lifecycle/recent-sessions.d.ts} +0 -0
|
@@ -15,6 +15,13 @@ export interface LoadMCPConfigsOptions {
|
|
|
15
15
|
filterBrowser?: boolean;
|
|
16
16
|
/** Only include startup-eligible servers; exact-config sessions always enforce autoload !== false. */
|
|
17
17
|
autoloadOnly?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Restrict discovery to GJC's own native config (`.gjc/` project and
|
|
20
|
+
* `~/.gjc/agent/` user scopes). Conventional standalone sessions use this
|
|
21
|
+
* mode: Claude Code/Codex project/global MCP files are explicit import
|
|
22
|
+
* sources into `.gjc`, not implicit competing runtime authorities.
|
|
23
|
+
*/
|
|
24
|
+
nativeOnly?: boolean;
|
|
18
25
|
/** Load only this explicit MCP config file. */
|
|
19
26
|
configPath?: string;
|
|
20
27
|
}
|
|
@@ -28,6 +35,8 @@ export interface LoadMCPConfigsResult {
|
|
|
28
35
|
sources: Record<string, SourceMeta>;
|
|
29
36
|
/** Whether the explicit configuration was unavailable or contained invalid entries. */
|
|
30
37
|
configurationWarning: boolean;
|
|
38
|
+
/** Provider warnings surfaced during discovery (parse/skip diagnostics). */
|
|
39
|
+
warnings: string[];
|
|
31
40
|
}
|
|
32
41
|
/**
|
|
33
42
|
* Load all MCP server configs from standard locations.
|
|
@@ -9,9 +9,10 @@ import type { SourceMeta } from "../capability/types";
|
|
|
9
9
|
import type { CustomTool } from "../extensibility/custom-tools/types";
|
|
10
10
|
import type { AuthStorage } from "../session/auth-storage";
|
|
11
11
|
import { MCPConnectionPool, type MCPPoolLease } from "./pool";
|
|
12
|
+
import type { MCPProtocolObservation } from "./protocol";
|
|
12
13
|
import type { MCPToolDetails } from "./tool-bridge";
|
|
13
14
|
import type { MCPToolCache } from "./tool-cache";
|
|
14
|
-
import type { MCPGetPromptResult, MCPPrompt, MCPRequestOptions, MCPResource, MCPResourceReadResult, MCPResourceTemplate, MCPServerConfig, MCPServerConnection } from "./types";
|
|
15
|
+
import type { MCPGetPromptResult, MCPInputRequestHandler, MCPPrompt, MCPRequestOptions, MCPResource, MCPResourceReadResult, MCPResourceTemplate, MCPServerConfig, MCPServerConnection } from "./types";
|
|
15
16
|
export declare function resolveStartupTimeoutMs(configs: MCPServerConfig[], maxStartupTimeoutMs?: number): number;
|
|
16
17
|
export declare function resolveExactConfigStartupTimeoutMs(configs: MCPServerConfig[]): number;
|
|
17
18
|
export declare class MCPManagerLifecycleError extends Error {
|
|
@@ -54,6 +55,12 @@ export interface MCPDiscoverOptions {
|
|
|
54
55
|
filterBrowser?: boolean;
|
|
55
56
|
/** Only connect servers with autoload !== false (default: false) */
|
|
56
57
|
autoloadOnly?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Restrict discovery to GJC's native `.gjc` scopes (user + project).
|
|
60
|
+
* Runtime MCP authority for GJC sessions; Claude Code/Codex files are
|
|
61
|
+
* explicit import sources into `.gjc`, not implicit runtime authorities.
|
|
62
|
+
*/
|
|
63
|
+
nativeOnly?: boolean;
|
|
57
64
|
/** Called when starting to connect to servers */
|
|
58
65
|
onConnecting?: (serverNames: string[]) => void;
|
|
59
66
|
/** Load only this explicit MCP config file. */
|
|
@@ -125,6 +132,13 @@ export declare class MCPManager {
|
|
|
125
132
|
* Set the auth storage for resolving OAuth credentials.
|
|
126
133
|
*/
|
|
127
134
|
setAuthStorage(authStorage: AuthStorage): void;
|
|
135
|
+
/**
|
|
136
|
+
* Register the handler for modern MRTR `input_required` results (structured
|
|
137
|
+
* elicitation/roots/sampling input requests). Runtimes with an interactive
|
|
138
|
+
* question surface (e.g. ACP `elicitation/create`) register here; without a
|
|
139
|
+
* handler, `input_required` fails explicitly instead of hanging.
|
|
140
|
+
*/
|
|
141
|
+
setInputRequestHandler(handler: MCPInputRequestHandler | null): void;
|
|
128
142
|
/**
|
|
129
143
|
* Discover and connect to all MCP servers from .mcp.json files.
|
|
130
144
|
* Returns tools and any connection errors.
|
|
@@ -147,6 +161,17 @@ export declare class MCPManager {
|
|
|
147
161
|
* Get current connection status for a server.
|
|
148
162
|
*/
|
|
149
163
|
getConnectionStatus(name: string): "connected" | "connecting" | "disconnected";
|
|
164
|
+
/**
|
|
165
|
+
* Get the authoritative protocol observation for a connected server
|
|
166
|
+
* (preference, negotiated era/version, downgrade decision, deprecation state).
|
|
167
|
+
* Secret-free; the single observation model consumed by customization doctor
|
|
168
|
+
* (#4288) and /extensions (#4291). Returns undefined when not connected.
|
|
169
|
+
*/
|
|
170
|
+
getProtocolObservation(name: string): MCPProtocolObservation | undefined;
|
|
171
|
+
/**
|
|
172
|
+
* Snapshot of protocol observations for all connected servers.
|
|
173
|
+
*/
|
|
174
|
+
getProtocolObservations(): ReadonlyMap<string, MCPProtocolObservation>;
|
|
150
175
|
/**
|
|
151
176
|
* Get the source metadata for a server.
|
|
152
177
|
*/
|
|
@@ -10,6 +10,10 @@ export interface OAuthEndpoints {
|
|
|
10
10
|
tokenUrl: string;
|
|
11
11
|
clientId?: string;
|
|
12
12
|
scopes?: string;
|
|
13
|
+
/** Issuer recorded from the validated metadata document (RFC 9207). */
|
|
14
|
+
issuer?: string;
|
|
15
|
+
/** `authorization_response_iss_parameter_supported` from the same metadata. */
|
|
16
|
+
authorizationResponseIssSupported?: boolean;
|
|
13
17
|
}
|
|
14
18
|
export interface AuthDetectionResult {
|
|
15
19
|
requiresAuth: boolean;
|
|
@@ -6,12 +6,22 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { OAuthCallbackFlow } from "@gajae-code/ai/utils/oauth/callback-server";
|
|
8
8
|
import type { OAuthController, OAuthCredentials } from "@gajae-code/ai/utils/oauth/types";
|
|
9
|
+
/**
|
|
10
|
+
* Canonical MCP server resource URI per RFC 8707 §2: absolute URI, lowercase
|
|
11
|
+
* scheme/host, no fragment, no trailing slash on an empty path.
|
|
12
|
+
*/
|
|
13
|
+
export declare function canonicalMCPResourceUri(raw: string): string | undefined;
|
|
9
14
|
export interface MCPOAuthConfig {
|
|
10
15
|
/** Authorization endpoint URL */
|
|
11
16
|
authorizationUrl: string;
|
|
12
17
|
/** Token endpoint URL */
|
|
13
18
|
tokenUrl: string;
|
|
14
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* Client ID (optional when already embedded in authorization URL). An
|
|
21
|
+
* HTTPS URL here is a Client ID Metadata Document (CIMD) reference per
|
|
22
|
+
* MCP 2026-07-28 and is used as-is; Dynamic Client Registration is only a
|
|
23
|
+
* deprecated backwards-compatibility fallback when no client id exists.
|
|
24
|
+
*/
|
|
15
25
|
clientId?: string;
|
|
16
26
|
/** Client secret (optional for PKCE flows) */
|
|
17
27
|
clientSecret?: string;
|
|
@@ -23,6 +33,19 @@ export interface MCPOAuthConfig {
|
|
|
23
33
|
callbackPort?: number;
|
|
24
34
|
/** Custom callback path (default: /callback or redirectUri pathname) */
|
|
25
35
|
callbackPath?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Canonical URI of the target MCP server (RFC 8707). Sent as the `resource`
|
|
38
|
+
* parameter on BOTH the authorization and token requests, regardless of
|
|
39
|
+
* authorization-server support.
|
|
40
|
+
*/
|
|
41
|
+
resource?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Expected authorization-server issuer recorded from validated discovery
|
|
44
|
+
* metadata (RFC 9207 / MCP 2026-07-28). Validation fails closed on mismatch.
|
|
45
|
+
*/
|
|
46
|
+
issuer?: string;
|
|
47
|
+
/** `authorization_response_iss_parameter_supported` from the same metadata. */
|
|
48
|
+
issuerResponseIssSupported?: boolean;
|
|
26
49
|
}
|
|
27
50
|
/**
|
|
28
51
|
* Generic OAuth flow for MCP servers.
|
|
@@ -48,6 +48,8 @@ export interface MCPPoolKeyIdentity {
|
|
|
48
48
|
authScopeId: string;
|
|
49
49
|
pluginNetworkPolicyId: string;
|
|
50
50
|
capabilityProfile: MCPPoolCapabilityProfile;
|
|
51
|
+
/** Resolved protocol preference (auto | 2026-07-28 | legacy); partitions protocol generations. */
|
|
52
|
+
protocolPreference: string;
|
|
51
53
|
sessionId?: string;
|
|
52
54
|
}
|
|
53
55
|
/**
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP protocol generation model ("MCP v2", specification 2026-07-28).
|
|
3
|
+
*
|
|
4
|
+
* Canonical authority (verified against the primary sources, not secondary
|
|
5
|
+
* summaries):
|
|
6
|
+
* - https://modelcontextprotocol.io/specification/2026-07-28/basic
|
|
7
|
+
* - https://modelcontextprotocol.io/specification/2026-07-28/basic/transports/streamable-http
|
|
8
|
+
* - https://modelcontextprotocol.io/specification/2026-07-28/basic/versioning
|
|
9
|
+
* - https://modelcontextprotocol.io/specification/2026-07-28/basic/patterns/mrtr
|
|
10
|
+
* - https://modelcontextprotocol.io/specification/2026-07-28/server/discover
|
|
11
|
+
* - https://modelcontextprotocol.io/specification/2026-07-28/server/utilities/caching
|
|
12
|
+
* - schema source of truth: modelcontextprotocol/specification schema/2026-07-28/schema.ts
|
|
13
|
+
*
|
|
14
|
+
* 2026-07-28 ("modern" era) removes the initialize/initialized handshake,
|
|
15
|
+
* protocol sessions (`Mcp-Session-Id`), the standalone GET SSE stream, and
|
|
16
|
+
* `Last-Event-ID` replay from the core request path. Every request carries its
|
|
17
|
+
* protocol version, client identity, and client capabilities in `_meta`, and
|
|
18
|
+
* Streamable HTTP mirrors selected fields into `MCP-Protocol-Version`,
|
|
19
|
+
* `Mcp-Method`, and `Mcp-Name` headers.
|
|
20
|
+
*/
|
|
21
|
+
/** The modern (stateless) protocol revision implemented by this client. */
|
|
22
|
+
export declare const MCP_PROTOCOL_VERSION_2026_07_28 = "2026-07-28";
|
|
23
|
+
/** Legacy (initialize handshake) revision this client speaks for compatibility. */
|
|
24
|
+
export declare const MCP_PROTOCOL_VERSION_LEGACY = "2025-03-26";
|
|
25
|
+
/** Modern-era revisions this client can speak, most preferred first. */
|
|
26
|
+
export declare const MCP_MODERN_PROTOCOL_VERSIONS: readonly string[];
|
|
27
|
+
/** Protocol generation: modern = per-request metadata (2026-07-28+), legacy = initialize handshake. */
|
|
28
|
+
export type MCPProtocolEra = "modern" | "legacy";
|
|
29
|
+
/**
|
|
30
|
+
* Per-server protocol preference from configuration.
|
|
31
|
+
* - `auto`: attempt modern first; bounded, observable legacy fallback per the
|
|
32
|
+
* specification's era-detection rules. Default when unset.
|
|
33
|
+
* - `2026-07-28`: strict modern-only; never initializes a legacy session.
|
|
34
|
+
* - `legacy`: bounded compatibility mode; always uses the legacy handshake.
|
|
35
|
+
*/
|
|
36
|
+
export type MCPProtocolPreference = "auto" | "2026-07-28" | "legacy";
|
|
37
|
+
export declare const MCP_PROTOCOL_PREFERENCES: readonly MCPProtocolPreference[];
|
|
38
|
+
export declare function isMCPProtocolPreference(value: unknown): value is MCPProtocolPreference;
|
|
39
|
+
/** Resolve the effective preference; `auto` when unset. */
|
|
40
|
+
export declare function resolveMCPProtocolPreference(value: MCPProtocolPreference | undefined): MCPProtocolPreference;
|
|
41
|
+
/** True when a version string names a modern-era revision (date-based, >= 2026-07-28). */
|
|
42
|
+
export declare function isModernProtocolVersion(version: string): boolean;
|
|
43
|
+
/** Headers do not match the request body, or required headers are missing/malformed. */
|
|
44
|
+
export declare const MCP_ERROR_HEADER_MISMATCH = -32020;
|
|
45
|
+
/** The request requires a client capability the client did not declare. */
|
|
46
|
+
export declare const MCP_ERROR_MISSING_REQUIRED_CLIENT_CAPABILITY = -32021;
|
|
47
|
+
/** The server does not implement the requested protocol version. */
|
|
48
|
+
export declare const MCP_ERROR_UNSUPPORTED_PROTOCOL_VERSION = -32022;
|
|
49
|
+
/** Standard JSON-RPC method-not-found (modern servers pair it with HTTP 404). */
|
|
50
|
+
export declare const JSONRPC_ERROR_METHOD_NOT_FOUND = -32601;
|
|
51
|
+
/** Standard JSON-RPC invalid-params (modern servers reject missing `_meta` with it). */
|
|
52
|
+
export declare const JSONRPC_ERROR_INVALID_PARAMS = -32602;
|
|
53
|
+
export declare const MCP_META_PROTOCOL_VERSION = "io.modelcontextprotocol/protocolVersion";
|
|
54
|
+
export declare const MCP_META_CLIENT_INFO = "io.modelcontextprotocol/clientInfo";
|
|
55
|
+
export declare const MCP_META_CLIENT_CAPABILITIES = "io.modelcontextprotocol/clientCapabilities";
|
|
56
|
+
export declare const MCP_META_SERVER_INFO = "io.modelcontextprotocol/serverInfo";
|
|
57
|
+
/** Client identity advertised in modern per-request `_meta`. */
|
|
58
|
+
export interface MCPModernClientContext {
|
|
59
|
+
protocolVersion: string;
|
|
60
|
+
clientInfo: {
|
|
61
|
+
name: string;
|
|
62
|
+
version: string;
|
|
63
|
+
};
|
|
64
|
+
/** Capabilities relevant to requests, e.g. `{ roots: {...}, elicitation: {...} }`. */
|
|
65
|
+
capabilities: Record<string, unknown>;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Build the `_meta` object every modern request MUST carry. Callers merge this
|
|
69
|
+
* into `params._meta`, preserving any pre-existing keys (e.g. `progressToken`).
|
|
70
|
+
*/
|
|
71
|
+
export declare function buildModernRequestMeta(context: MCPModernClientContext): Record<string, unknown>;
|
|
72
|
+
/** Merge modern `_meta` into request params without clobbering existing keys. */
|
|
73
|
+
export declare function withModernMeta(params: Record<string, unknown>, context: MCPModernClientContext): Record<string, unknown>;
|
|
74
|
+
/** RFC 9110 field-value safe set: visible ASCII, space, and horizontal tab. */
|
|
75
|
+
export declare function isPlainAsciiHeaderValue(value: string): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Encode a value for `Mcp-Name` / `Mcp-Param-{Name}` headers: plain ASCII when
|
|
78
|
+
* safe, otherwise the `=?base64?<base64-utf8>?=` sentinel. Values already
|
|
79
|
+
* matching the sentinel pattern MUST also be encoded to avoid ambiguity.
|
|
80
|
+
*/
|
|
81
|
+
export declare function encodeMcpHeaderValue(value: string): string;
|
|
82
|
+
/**
|
|
83
|
+
* Build the mirrored headers a modern Streamable HTTP request MUST carry:
|
|
84
|
+
* `MCP-Protocol-Version` (must equal the `_meta` version), `Mcp-Method`, and —
|
|
85
|
+
* for `tools/call`, `resources/read`, `prompts/get` — `Mcp-Name`.
|
|
86
|
+
*/
|
|
87
|
+
export declare function buildModernMcpHeaders(input: {
|
|
88
|
+
protocolVersion: string;
|
|
89
|
+
method: string;
|
|
90
|
+
params?: Record<string, unknown>;
|
|
91
|
+
}): Record<string, string>;
|
|
92
|
+
/** A validated binding from a tool inputSchema property to an `Mcp-Param-*` header. */
|
|
93
|
+
export interface McpHeaderParamBinding {
|
|
94
|
+
/** Exact property path (chain of `properties` keys) in the call arguments. */
|
|
95
|
+
propertyPath: string[];
|
|
96
|
+
/** The `name` portion of the `Mcp-Param-{name}` header. */
|
|
97
|
+
headerName: string;
|
|
98
|
+
/** Primitive type of the annotated property. */
|
|
99
|
+
propertyType: "string" | "integer" | "boolean";
|
|
100
|
+
}
|
|
101
|
+
export interface XMcpHeaderBindingsResult {
|
|
102
|
+
bindings: McpHeaderParamBinding[];
|
|
103
|
+
/** Human-readable reasons the tool definition is invalid for HTTP mirroring. */
|
|
104
|
+
violations: string[];
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Collect `x-mcp-header` bindings from a tool `inputSchema`, enforcing the
|
|
108
|
+
* specification constraints: field-name token syntax, primitive (non-number)
|
|
109
|
+
* types, case-insensitive uniqueness, and static reachability via `properties`
|
|
110
|
+
* chains only. Any violation invalidates the tool definition for HTTP clients.
|
|
111
|
+
*/
|
|
112
|
+
export declare function collectXMcpHeaderBindings(inputSchema: unknown): XMcpHeaderBindingsResult;
|
|
113
|
+
/**
|
|
114
|
+
* Extract `Mcp-Param-{name}` headers from tool call arguments per validated
|
|
115
|
+
* bindings. Missing or null values omit the header, per the specification.
|
|
116
|
+
*/
|
|
117
|
+
export declare function buildXMcpParamHeaders(bindings: readonly McpHeaderParamBinding[], args: Record<string, unknown>): Record<string, string>;
|
|
118
|
+
/** Failure classes for a modern probe request. */
|
|
119
|
+
export type MCPProbeFailureClass =
|
|
120
|
+
/** Recognized modern JSON-RPC error: the server speaks a modern revision. */
|
|
121
|
+
"modern-error"
|
|
122
|
+
/** 4xx without a recognized modern error body: legacy-era server signal. */
|
|
123
|
+
| "legacy-signal"
|
|
124
|
+
/** 401/403 (and WWW-Authenticate challenges): never a downgrade signal. */
|
|
125
|
+
| "auth-failure"
|
|
126
|
+
/** Anything else (5xx, network, malformed payload): not a downgrade signal. */
|
|
127
|
+
| "other-failure";
|
|
128
|
+
export interface MCPProbeClassification {
|
|
129
|
+
class: MCPProbeFailureClass;
|
|
130
|
+
/** Protocol-defined modern error code when recognized. */
|
|
131
|
+
modernErrorCode?: number;
|
|
132
|
+
/** `data.supported` from an UnsupportedProtocolVersionError, when present. */
|
|
133
|
+
supportedVersions?: string[];
|
|
134
|
+
/** `data.requested` from an UnsupportedProtocolVersionError, when present. */
|
|
135
|
+
requestedVersion?: string;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Classify a failed modern probe per the specification's era-detection rules:
|
|
139
|
+
* recognized modern JSON-RPC errors identify a modern server; a 400/404/405
|
|
140
|
+
* without one identifies a legacy server; auth and security failures are never
|
|
141
|
+
* era signals and must never authorize a downgrade.
|
|
142
|
+
*/
|
|
143
|
+
export declare function classifyMcpProbeFailure(status: number, parsedBody: unknown): MCPProbeClassification;
|
|
144
|
+
/** Lifecycle state of a protocol feature, mirroring the specification's feature lifecycle. */
|
|
145
|
+
export type MCPFeatureLifecycle = "active" | "deprecated" | "removed";
|
|
146
|
+
export interface MCPProtocolFeatureState {
|
|
147
|
+
feature: string;
|
|
148
|
+
lifecycle: MCPFeatureLifecycle;
|
|
149
|
+
/** Secret-free explanation shown in diagnostics. */
|
|
150
|
+
note?: string;
|
|
151
|
+
}
|
|
152
|
+
/** How the effective era/version was reached. */
|
|
153
|
+
export type MCPNegotiationState =
|
|
154
|
+
/** No negotiation attempt has completed yet. */
|
|
155
|
+
"pending"
|
|
156
|
+
/** Modern era confirmed (probe or direct modern request succeeded). */
|
|
157
|
+
| "modern"
|
|
158
|
+
/** Modern era after selecting a mutually supported version from UnsupportedProtocolVersionError. */
|
|
159
|
+
| "modern-version-retry"
|
|
160
|
+
/** Legacy era via era detection (legacy server signal) under `auto`. */
|
|
161
|
+
| "legacy-fallback"
|
|
162
|
+
/** Legacy era because configuration forced it (`legacy`) or the transport is stdio. */
|
|
163
|
+
| "legacy-forced"
|
|
164
|
+
/** Negotiation failed; the connection could not be established. */
|
|
165
|
+
| "failed";
|
|
166
|
+
/** Machine-readable reasons a legacy fallback was engaged (never auth/security driven). */
|
|
167
|
+
export type MCPDowngradeReason =
|
|
168
|
+
/** `protocol: "legacy"` configured explicitly. */
|
|
169
|
+
"preference-legacy"
|
|
170
|
+
/** stdio transport has no per-request HTTP signals; legacy handshake retained. */
|
|
171
|
+
| "stdio-transport"
|
|
172
|
+
/** Probe returned 400/404/405 without a recognized modern error body. */
|
|
173
|
+
| "legacy-server-signal"
|
|
174
|
+
/** A modern server advertised only legacy-era versions in `supported`. */
|
|
175
|
+
| "server-advertised-legacy-only";
|
|
176
|
+
/**
|
|
177
|
+
* One authoritative, secret-free observation of a server's negotiated protocol
|
|
178
|
+
* state. Consumed by `/extensions` (#4291) and customization doctor (#4288);
|
|
179
|
+
* contains no credentials, tokens, metadata documents, or header values.
|
|
180
|
+
*/
|
|
181
|
+
export interface MCPProtocolObservation {
|
|
182
|
+
/** Configured preference (defaults to `auto`). */
|
|
183
|
+
preference: MCPProtocolPreference;
|
|
184
|
+
/** Effective protocol version in use, once negotiated. */
|
|
185
|
+
effectiveVersion: string | null;
|
|
186
|
+
/** Effective era, once negotiated. */
|
|
187
|
+
era: MCPProtocolEra | null;
|
|
188
|
+
/** How the effective state was reached. */
|
|
189
|
+
negotiation: MCPNegotiationState;
|
|
190
|
+
/** Why a legacy fallback engaged; null unless `negotiation` is a legacy state. */
|
|
191
|
+
downgradeReason: MCPDowngradeReason | null;
|
|
192
|
+
/** Versions the server advertised (via server/discover or version errors). */
|
|
193
|
+
supportedVersions: string[];
|
|
194
|
+
/** Self-reported server identity (display only; never security-relevant). */
|
|
195
|
+
serverInfo: {
|
|
196
|
+
name: string;
|
|
197
|
+
version: string;
|
|
198
|
+
} | null;
|
|
199
|
+
/** Lifecycle visibility for protocol features (legacy session behavior, etc). */
|
|
200
|
+
features: MCPProtocolFeatureState[];
|
|
201
|
+
/** v2 capability state observed for this connection. */
|
|
202
|
+
capabilities: {
|
|
203
|
+
/** server/discover answered (optional per spec; absence does not block calls). */
|
|
204
|
+
discover: "yes" | "no" | "unknown";
|
|
205
|
+
/** Server advertised tools capability. */
|
|
206
|
+
tools: boolean;
|
|
207
|
+
/** Server advertised resources capability. */
|
|
208
|
+
resources: boolean;
|
|
209
|
+
/** Server advertised prompts capability. */
|
|
210
|
+
prompts: boolean;
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
/** Initial observation before negotiation completes. */
|
|
214
|
+
export declare function createMCPProtocolObservation(preference: MCPProtocolPreference): MCPProtocolObservation;
|
|
215
|
+
/** Legacy session/transport features reported as deprecated under the feature lifecycle. */
|
|
216
|
+
export declare function legacyEraFeatureStates(): MCPProtocolFeatureState[];
|
|
217
|
+
/** Finalize an observation for a negotiated modern connection. */
|
|
218
|
+
export declare function modernEraObservation(input: {
|
|
219
|
+
preference: MCPProtocolPreference;
|
|
220
|
+
effectiveVersion: string;
|
|
221
|
+
negotiation: "modern" | "modern-version-retry";
|
|
222
|
+
supportedVersions?: string[];
|
|
223
|
+
serverInfo?: {
|
|
224
|
+
name: string;
|
|
225
|
+
version: string;
|
|
226
|
+
} | null;
|
|
227
|
+
capabilities?: {
|
|
228
|
+
tools?: boolean;
|
|
229
|
+
resources?: boolean;
|
|
230
|
+
prompts?: boolean;
|
|
231
|
+
};
|
|
232
|
+
discover: "yes" | "no" | "unknown";
|
|
233
|
+
}): MCPProtocolObservation;
|
|
234
|
+
/** Finalize an observation for a negotiated legacy connection. */
|
|
235
|
+
export declare function legacyEraObservation(input: {
|
|
236
|
+
preference: MCPProtocolPreference;
|
|
237
|
+
effectiveVersion: string;
|
|
238
|
+
negotiation: "legacy-fallback" | "legacy-forced";
|
|
239
|
+
downgradeReason: MCPDowngradeReason;
|
|
240
|
+
serverInfo?: {
|
|
241
|
+
name: string;
|
|
242
|
+
version: string;
|
|
243
|
+
} | null;
|
|
244
|
+
capabilities?: {
|
|
245
|
+
tools?: boolean;
|
|
246
|
+
resources?: boolean;
|
|
247
|
+
prompts?: boolean;
|
|
248
|
+
};
|
|
249
|
+
}): MCPProtocolObservation;
|
|
250
|
+
/** Cache scope hint: public results may cross authorization contexts; private must not. */
|
|
251
|
+
export type MCPCacheScope = "public" | "private";
|
|
252
|
+
/** Server-supplied caching hints carried on cacheable `complete` results. */
|
|
253
|
+
export interface MCPCacheHints {
|
|
254
|
+
/** Milliseconds the result may be considered fresh; absent/negative means 0. */
|
|
255
|
+
ttlMs?: number;
|
|
256
|
+
cacheScope?: MCPCacheScope;
|
|
257
|
+
}
|
|
258
|
+
/** Normalize raw hints: negative ttlMs is treated as 0 per the specification. */
|
|
259
|
+
export declare function normalizeMcpCacheHints(raw: unknown): MCPCacheHints | undefined;
|
|
260
|
+
/** Result type marker for interim input requests. */
|
|
261
|
+
export declare const MCP_RESULT_TYPE_INPUT_REQUIRED = "input_required";
|
|
262
|
+
export declare const MCP_RESULT_TYPE_COMPLETE = "complete";
|
|
263
|
+
/** Input request methods a server may embed in an InputRequiredResult. */
|
|
264
|
+
export declare const MCP_INPUT_REQUEST_METHODS: Set<string>;
|
|
265
|
+
export interface MCPInputRequiredData {
|
|
266
|
+
inputRequests: Record<string, {
|
|
267
|
+
method: string;
|
|
268
|
+
params?: Record<string, unknown>;
|
|
269
|
+
}>;
|
|
270
|
+
requestState?: string;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Extract MRTR input data from a JSON-RPC result. Returns null when the result
|
|
274
|
+
* is a normal `complete` result (including legacy results with no resultType,
|
|
275
|
+
* which the specification requires clients to treat as `"complete"`).
|
|
276
|
+
* Throws on a malformed `input_required` payload.
|
|
277
|
+
*/
|
|
278
|
+
export declare function extractMcpInputRequired(result: unknown): MCPInputRequiredData | null;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type UpsertMCPServerResult } from "./config-writer";
|
|
2
|
+
import type { MCPConfigFile, MCPServerConfig } from "./types";
|
|
3
|
+
export type MCPConfigScope = "user" | "project";
|
|
4
|
+
/** Resolved scope + path + parsed config (provenance for diagnostics). */
|
|
5
|
+
export interface ScopeMCPConfigSnapshot {
|
|
6
|
+
scope: MCPConfigScope;
|
|
7
|
+
path: string;
|
|
8
|
+
config: MCPConfigFile;
|
|
9
|
+
}
|
|
10
|
+
/** Resolve the canonical file path for a native MCP config scope. */
|
|
11
|
+
export declare function resolveScopeMCPConfigPath(scope: MCPConfigScope, cwd?: string): string;
|
|
12
|
+
/** Read a native MCP config for a scope. Returns an empty config when absent. */
|
|
13
|
+
export declare function readScopeMCPConfig(scope: MCPConfigScope, cwd?: string): Promise<ScopeMCPConfigSnapshot>;
|
|
14
|
+
/** Add a server, or overwrite an existing one only when `force` is set. */
|
|
15
|
+
export declare function upsertScopeMCPServer(scope: MCPConfigScope, name: string, config: MCPServerConfig, options?: {
|
|
16
|
+
force?: boolean;
|
|
17
|
+
}, cwd?: string): Promise<ScopeMCPConfigSnapshot & {
|
|
18
|
+
result: UpsertMCPServerResult;
|
|
19
|
+
}>;
|
|
20
|
+
/** Remove a server from a scope (throws when the name does not exist). */
|
|
21
|
+
export declare function removeScopeMCPServer(scope: MCPConfigScope, name: string, cwd?: string): Promise<ScopeMCPConfigSnapshot>;
|
|
22
|
+
/** Get a specific server config from a scope. */
|
|
23
|
+
export declare function getScopeMCPServer(scope: MCPConfigScope, name: string, cwd?: string): Promise<{
|
|
24
|
+
scope: MCPConfigScope;
|
|
25
|
+
path: string;
|
|
26
|
+
config: MCPServerConfig | undefined;
|
|
27
|
+
}>;
|
|
28
|
+
/** Read the disabled-servers denylist for a scope. */
|
|
29
|
+
export declare function readScopeDisabledServers(scope: MCPConfigScope, cwd?: string): Promise<string[]>;
|
|
@@ -9,10 +9,20 @@ import type { SourceMeta } from "../capability/types";
|
|
|
9
9
|
import type { CustomTool, CustomToolContext, CustomToolResult, RenderResultOptions } from "../extensibility/custom-tools/types";
|
|
10
10
|
import type { Theme } from "../modes/theme/theme";
|
|
11
11
|
import type { MCPPoolLease } from "./pool";
|
|
12
|
-
import type { MCPContent, MCPServerConnection, MCPToolDefinition } from "./types";
|
|
12
|
+
import type { MCPContent, MCPInputRequestHandler, MCPServerConnection, MCPToolDefinition } from "./types";
|
|
13
13
|
/** Reconnect callback: tears down stale connection, returns new one or null. */
|
|
14
14
|
export type MCPReconnect = () => Promise<MCPServerConnection | null>;
|
|
15
15
|
type MCPToolTarget = MCPServerConnection | MCPPoolLease;
|
|
16
|
+
/** Options shared by MCPTool and DeferredMCPTool. */
|
|
17
|
+
export interface MCPToolOptions {
|
|
18
|
+
/** Shared lease policy: never retry the original request after transport/auth failure. */
|
|
19
|
+
noReplay?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Lazy resolver for the modern MRTR `input_required` handler, registered by the
|
|
22
|
+
* owning manager/runtime. Resolved per call so late registration still applies.
|
|
23
|
+
*/
|
|
24
|
+
inputHandler?: () => MCPInputRequestHandler | undefined;
|
|
25
|
+
}
|
|
16
26
|
export declare function isRetriableConnectionError(error: unknown): boolean;
|
|
17
27
|
/** Details included in MCP tool results for rendering */
|
|
18
28
|
export interface MCPToolDetails {
|
|
@@ -57,12 +67,8 @@ export declare class MCPTool implements CustomTool<TSchema, MCPToolDetails> {
|
|
|
57
67
|
readonly mcpServerName: string;
|
|
58
68
|
private connection;
|
|
59
69
|
/** Create MCPTool instances for all tools from an MCP server lease/connection. */
|
|
60
|
-
static fromTools(target: MCPToolTarget, tools: MCPToolDefinition[], reconnect?: MCPReconnect, options?:
|
|
61
|
-
|
|
62
|
-
}): MCPTool[];
|
|
63
|
-
constructor(target: MCPToolTarget, tool: MCPToolDefinition, reconnect?: MCPReconnect | undefined, options?: {
|
|
64
|
-
noReplay?: boolean;
|
|
65
|
-
});
|
|
70
|
+
static fromTools(target: MCPToolTarget, tools: MCPToolDefinition[], reconnect?: MCPReconnect, options?: MCPToolOptions): MCPTool[];
|
|
71
|
+
constructor(target: MCPToolTarget, tool: MCPToolDefinition, reconnect?: MCPReconnect | undefined, options?: MCPToolOptions);
|
|
66
72
|
renderCall(args: unknown, _options: RenderResultOptions, theme: Theme): import("@gajae-code/tui").Component;
|
|
67
73
|
renderResult(result: CustomToolResult<MCPToolDetails>, options: RenderResultOptions, theme: Theme, args?: unknown): import("@gajae-code/tui").Component;
|
|
68
74
|
execute(_toolCallId: string, params: unknown, _onUpdate: AgentToolUpdateCallback<MCPToolDetails> | undefined, _ctx: CustomToolContext, signal?: AbortSignal): Promise<CustomToolResult<MCPToolDetails>>;
|
|
@@ -85,12 +91,8 @@ export declare class DeferredMCPTool implements CustomTool<TSchema, MCPToolDetai
|
|
|
85
91
|
/** Server name */
|
|
86
92
|
readonly mcpServerName: string;
|
|
87
93
|
/** Create DeferredMCPTool instances for all tools from an MCP server */
|
|
88
|
-
static fromTools(serverName: string, tools: MCPToolDefinition[], getConnection: () => Promise<MCPServerConnection>, source?: SourceMeta, reconnect?: MCPReconnect, options?:
|
|
89
|
-
|
|
90
|
-
}): DeferredMCPTool[];
|
|
91
|
-
constructor(serverName: string, tool: MCPToolDefinition, getConnection: () => Promise<MCPServerConnection>, source?: SourceMeta, reconnect?: MCPReconnect | undefined, options?: {
|
|
92
|
-
noReplay?: boolean;
|
|
93
|
-
});
|
|
94
|
+
static fromTools(serverName: string, tools: MCPToolDefinition[], getConnection: () => Promise<MCPServerConnection>, source?: SourceMeta, reconnect?: MCPReconnect, options?: MCPToolOptions): DeferredMCPTool[];
|
|
95
|
+
constructor(serverName: string, tool: MCPToolDefinition, getConnection: () => Promise<MCPServerConnection>, source?: SourceMeta, reconnect?: MCPReconnect | undefined, options?: MCPToolOptions);
|
|
94
96
|
renderCall(args: unknown, _options: RenderResultOptions, theme: Theme): import("@gajae-code/tui").Component;
|
|
95
97
|
renderResult(result: CustomToolResult<MCPToolDetails>, options: RenderResultOptions, theme: Theme, args?: unknown): import("@gajae-code/tui").Component;
|
|
96
98
|
execute(_toolCallId: string, params: unknown, _onUpdate: AgentToolUpdateCallback<MCPToolDetails> | undefined, _ctx: CustomToolContext, signal?: AbortSignal): Promise<CustomToolResult<MCPToolDetails>>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { MCPHttpServerConfig, MCPRequestOptions, MCPSseServerConfig, MCPTransport } from "../../runtime-mcp/types";
|
|
2
|
+
import { type MCPModernClientContext, type MCPProtocolEra } from "../protocol";
|
|
2
3
|
/**
|
|
3
4
|
* HTTP transport for MCP servers.
|
|
4
5
|
* Uses POST for requests, supports SSE responses.
|
|
@@ -16,6 +17,14 @@ export declare class HttpTransport implements MCPTransport {
|
|
|
16
17
|
get connected(): boolean;
|
|
17
18
|
get closeBeforeReconnect(): false;
|
|
18
19
|
get url(): string;
|
|
20
|
+
/** Negotiated protocol era (defaults to legacy until the client negotiates). */
|
|
21
|
+
get era(): MCPProtocolEra;
|
|
22
|
+
/**
|
|
23
|
+
* Select the protocol era. Modern mode requires the per-request client
|
|
24
|
+
* context (protocol version, identity, capabilities) mirrored into `_meta`
|
|
25
|
+
* and HTTP headers on every request.
|
|
26
|
+
*/
|
|
27
|
+
setProtocolMode(era: MCPProtocolEra, modernContext?: MCPModernClientContext): void;
|
|
19
28
|
/**
|
|
20
29
|
* Mark transport as connected.
|
|
21
30
|
* HTTP doesn't need persistent connection, but we track state.
|