@gajae-code/coding-agent 0.10.2 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +58 -2
- package/dist/types/append-only-mode.d.ts +1 -1
- package/dist/types/async/job-manager.d.ts +46 -7
- package/dist/types/cli/args.d.ts +4 -5
- package/dist/types/cli/daemon-cli.d.ts +12 -1
- package/dist/types/cli/notify-cli.d.ts +21 -1
- package/dist/types/cli.d.ts +3 -0
- package/dist/types/commands/daemon.d.ts +39 -0
- package/dist/types/commands/launch.d.ts +3 -0
- package/dist/types/commands/notify.d.ts +28 -1
- package/dist/types/commands/sdk.d.ts +33 -0
- package/dist/types/config/atomic-yaml-patch.d.ts +85 -0
- package/dist/types/config/model-profile-activation.d.ts +35 -15
- package/dist/types/config/model-profiles.d.ts +11 -5
- package/dist/types/config/model-registry.d.ts +3 -3
- package/dist/types/config/model-resolver.d.ts +39 -6
- package/dist/types/config/model-selector-value.d.ts +17 -0
- package/dist/types/config/models-config-schema.d.ts +10 -6
- package/dist/types/config/settings-schema.d.ts +133 -6
- package/dist/types/config/settings.d.ts +63 -35
- package/dist/types/coordinator-mcp/model-preset.d.ts +7 -6
- package/dist/types/coordinator-mcp/server.d.ts +6 -49
- package/dist/types/daemon/builtin.d.ts +6 -5
- package/dist/types/daemon/control-types.d.ts +1 -1
- package/dist/types/discovery/mcp-json.d.ts +12 -1
- package/dist/types/extensibility/custom-tools/types.d.ts +1 -1
- package/dist/types/extensibility/extensions/compact-handler.d.ts +4 -2
- package/dist/types/extensibility/extensions/get-commands-handler.d.ts +2 -2
- package/dist/types/extensibility/extensions/loader.d.ts +10 -1
- package/dist/types/extensibility/extensions/runner.d.ts +3 -3
- package/dist/types/extensibility/extensions/types.d.ts +141 -16
- package/dist/types/extensibility/hooks/types.d.ts +1 -1
- package/dist/types/gjc-runtime/launch-tmux.d.ts +3 -2
- package/dist/types/gjc-runtime/psmux-detect.d.ts +3 -0
- package/dist/types/gjc-runtime/session-state-sidecar.d.ts +3 -0
- package/dist/types/gjc-runtime/team-runtime.d.ts +3 -4
- package/dist/types/gjc-runtime/tmux-owner-isolation-cli.d.ts +13 -0
- package/dist/types/gjc-runtime/tmux-sessions.d.ts +4 -1
- package/dist/types/gjc-runtime/ultragoal-receipt-freshness.d.ts +11 -0
- package/dist/types/gjc-runtime/windows-powershell-command.d.ts +9 -0
- package/dist/types/harness-control-plane/operate.d.ts +5 -5
- package/dist/types/harness-control-plane/owner.d.ts +18 -4
- package/dist/types/harness-control-plane/receipts.d.ts +0 -1
- package/dist/types/harness-control-plane/sdk-transport.d.ts +43 -0
- package/dist/types/harness-control-plane/session-transport.d.ts +48 -0
- package/dist/types/harness-control-plane/types.d.ts +3 -4
- package/dist/types/lsp/index.d.ts +1 -1
- package/dist/types/main.d.ts +32 -38
- package/dist/types/modes/acp/acp-agent.d.ts +224 -53
- package/dist/types/modes/acp/acp-client-bridge.d.ts +1 -0
- package/dist/types/modes/acp/acp-mode.d.ts +6 -15
- package/dist/types/modes/acp/permission-mode.d.ts +4 -0
- package/dist/types/modes/acp/startup-options.d.ts +6 -0
- package/dist/types/modes/components/agent-dashboard.d.ts +3 -0
- package/dist/types/modes/components/model-selector.d.ts +1 -0
- package/dist/types/modes/components/notifications-settings-editor.d.ts +135 -0
- package/dist/types/modes/components/settings-selector.d.ts +6 -4
- package/dist/types/modes/components/welcome.d.ts +1 -1
- package/dist/types/modes/controllers/command-controller.d.ts +2 -2
- package/dist/types/modes/controllers/extension-ui-controller.d.ts +1 -0
- package/dist/types/modes/controllers/selector-controller.d.ts +35 -1
- package/dist/types/modes/index.d.ts +0 -4
- package/dist/types/modes/interactive-mode.d.ts +5 -2
- package/dist/types/modes/runtime-init.d.ts +2 -2
- package/dist/types/modes/shared/agent-wire/approval-gate.d.ts +6 -9
- package/dist/types/modes/shared/agent-wire/deep-interview-gate.d.ts +4 -6
- package/dist/types/modes/shared/agent-wire/event-contract.d.ts +6 -6
- package/dist/types/modes/shared/agent-wire/event-envelope.d.ts +4 -9
- package/dist/types/modes/shared/agent-wire/event-observation.d.ts +1 -1
- package/dist/types/modes/shared/agent-wire/workflow-gate-broker.d.ts +170 -30
- package/dist/types/modes/shared/agent-wire/workflow-gate-schema.d.ts +7 -7
- package/dist/types/modes/shared/agent-wire/workflow-gate-types.d.ts +105 -0
- package/dist/types/modes/types.d.ts +7 -2
- package/dist/types/runtime-mcp/client.d.ts +2 -0
- package/dist/types/runtime-mcp/config.d.ts +5 -1
- package/dist/types/runtime-mcp/manager.d.ts +8 -1
- package/dist/types/runtime-mcp/types.d.ts +4 -0
- package/dist/types/sdk/acp/adapter.d.ts +67 -0
- package/dist/types/sdk/acp/index.d.ts +2 -0
- package/dist/types/sdk/broker/broker.d.ts +53 -0
- package/dist/types/sdk/broker/discovery.d.ts +30 -0
- package/dist/types/sdk/broker/ensure.d.ts +42 -0
- package/dist/types/sdk/broker/identity.d.ts +3 -0
- package/dist/types/sdk/broker/index.d.ts +8 -0
- package/dist/types/sdk/broker/lifecycle-ledger.d.ts +95 -0
- package/dist/types/sdk/broker/lifecycle.d.ts +85 -0
- package/dist/types/sdk/broker/process-incarnation.d.ts +14 -0
- package/dist/types/sdk/broker/runtime.d.ts +33 -0
- package/dist/types/sdk/broker/session-index.d.ts +57 -0
- package/dist/types/sdk/broker/state-version.d.ts +8 -0
- package/dist/types/sdk/broker/transport.d.ts +9 -0
- package/dist/types/sdk/bus/chat-command-policy.d.ts +49 -0
- package/dist/types/sdk/bus/chat-daemon-cli.d.ts +21 -0
- package/dist/types/sdk/bus/chat-daemon-control.d.ts +111 -0
- package/dist/types/sdk/bus/chat-daemon-runtime.d.ts +77 -0
- package/dist/types/sdk/bus/chat-effect-journal.d.ts +84 -0
- package/dist/types/{notifications → sdk/bus}/config-commands.d.ts +7 -2
- package/dist/types/sdk/bus/config.d.ts +274 -0
- package/dist/types/sdk/bus/conversation-store.d.ts +72 -0
- package/dist/types/sdk/bus/discord-conversation.d.ts +58 -0
- package/dist/types/sdk/bus/discord-daemon.d.ts +50 -0
- package/dist/types/sdk/bus/discord-live-provider.d.ts +70 -0
- package/dist/types/sdk/bus/discord-provider.d.ts +85 -0
- package/dist/types/{notifications → sdk/bus}/html-format.d.ts +2 -2
- package/dist/types/{notifications → sdk/bus}/index.d.ts +113 -13
- package/dist/types/{notifications → sdk/bus}/lifecycle-control-runtime.d.ts +4 -2
- package/dist/types/{notifications → sdk/bus}/lifecycle-orchestrator.d.ts +18 -21
- package/dist/types/{notifications → sdk/bus}/managed-daemon.d.ts +1 -1
- package/dist/types/sdk/bus/native-runtime-compatibility.d.ts +13 -0
- package/dist/types/sdk/bus/notification-orchestration.d.ts +170 -0
- package/dist/types/{notifications → sdk/bus}/notification-service.d.ts +7 -1
- package/dist/types/sdk/bus/session-control.d.ts +83 -0
- package/dist/types/sdk/bus/slack-conversation.d.ts +56 -0
- package/dist/types/sdk/bus/slack-daemon.d.ts +60 -0
- package/dist/types/sdk/bus/slack-live-provider.d.ts +59 -0
- package/dist/types/sdk/bus/slack-provider.d.ts +55 -0
- package/dist/types/{notifications → sdk/bus}/telegram-cli.d.ts +4 -4
- package/dist/types/{notifications → sdk/bus}/telegram-daemon-cli.d.ts +14 -5
- package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +12 -0
- package/dist/types/{notifications → sdk/bus}/telegram-daemon-control.d.ts +2 -2
- package/dist/types/{notifications → sdk/bus}/telegram-daemon.d.ts +78 -17
- package/dist/types/{notifications → sdk/bus}/telegram-reference.d.ts +2 -2
- package/dist/types/sdk/bus/telegram-setup.d.ts +128 -0
- package/dist/types/{notifications → sdk/bus}/topic-registry.d.ts +11 -0
- package/dist/types/sdk/cli/index.d.ts +1 -0
- package/dist/types/sdk/cli/session-cli.d.ts +19 -0
- package/dist/types/sdk/client/client.d.ts +1 -0
- package/dist/types/sdk/client/discovery.d.ts +27 -0
- package/dist/types/sdk/client/index.d.ts +2 -0
- package/dist/types/sdk/host/control/dispatch.d.ts +34 -0
- package/dist/types/sdk/host/control/index.d.ts +2 -0
- package/dist/types/sdk/host/control/operations.d.ts +65 -0
- package/dist/types/sdk/host/events.d.ts +35 -0
- package/dist/types/sdk/host/host.d.ts +35 -0
- package/dist/types/sdk/host/index.d.ts +4 -0
- package/dist/types/sdk/host/query/cursor.d.ts +62 -0
- package/dist/types/sdk/host/query/handlers.d.ts +70 -0
- package/dist/types/sdk/host/query/index.d.ts +3 -0
- package/dist/types/sdk/host/query/revision-store.d.ts +60 -0
- package/dist/types/sdk/host/reverse-leases.d.ts +45 -0
- package/dist/types/sdk/host/types.d.ts +32 -0
- package/dist/types/sdk/index.d.ts +6 -0
- package/dist/types/sdk/lifecycle-session.d.ts +14 -0
- package/dist/types/sdk/mcp/index.d.ts +1 -0
- package/dist/types/sdk/mcp/server.d.ts +37 -0
- package/dist/types/sdk/models.d.ts +44 -0
- package/dist/types/sdk/protocol/adapter-validation.d.ts +14 -0
- package/dist/types/sdk/protocol/operation-registry.d.ts +24 -0
- package/dist/types/{sdk.d.ts → sdk/session.d.ts} +44 -38
- package/dist/types/sdk/startup-capability.d.ts +50 -0
- package/dist/types/session/agent-session.d.ts +114 -21
- package/dist/types/session/default-model-selection.d.ts +25 -0
- package/dist/types/session/fallback-chain-controller.d.ts +52 -0
- package/dist/types/session/session-manager.d.ts +58 -1
- package/dist/types/setup/credential-auto-import.d.ts +36 -6
- package/dist/types/tools/ask-answer-registry.d.ts +1 -1
- package/dist/types/tools/browser/benchmark/detector-report.d.ts +63 -0
- package/dist/types/tools/browser/benchmark/run-suite.d.ts +18 -0
- package/dist/types/tools/browser/launch.d.ts +22 -0
- package/dist/types/tools/browser/profile-discovery.d.ts +31 -0
- package/dist/types/tools/browser/profile-posture.d.ts +37 -0
- package/dist/types/tools/browser/profile-reuse.d.ts +39 -0
- package/dist/types/tools/browser/profile-warmup.d.ts +39 -0
- package/dist/types/tools/browser/registry.d.ts +19 -0
- package/dist/types/tools/browser/tab-protocol.d.ts +4 -0
- package/dist/types/tools/index.d.ts +8 -8
- package/dist/types/tools/subagent-render.d.ts +1 -0
- package/dist/types/tools/subagent.d.ts +6 -1
- package/package.json +34 -13
- package/scripts/build-sdk-package-smoke.ts +99 -0
- package/scripts/capture-notifications-settings-showcase.ts +435 -0
- package/scripts/compile-args.ts +4 -2
- package/scripts/g005-daemon-smoke.ts +4 -5
- package/scripts/g011-daemon-path-smoke.ts +5 -5
- package/scripts/generate-sdk-adapter-parity-manifest.ts +163 -0
- package/scripts/generate-sdk-operation-inventory.ts +867 -0
- package/scripts/generate-telegram-baseline-manifest.ts +128 -0
- package/scripts/manifest-schema.ts +124 -0
- package/scripts/run-test-manifest.ts +153 -0
- package/scripts/run-threat-model-check.ts +157 -0
- package/scripts/verify-gjc-sdk-canonicalization.ts +3467 -0
- package/scripts/verify-gjc-sdk-rename.ts +90 -0
- package/src/append-only-mode.ts +1 -1
- package/src/async/job-manager.ts +406 -63
- package/src/cli/args.ts +43 -12
- package/src/cli/auth-gateway-cli.ts +2 -2
- package/src/cli/config-cli.ts +2 -1
- package/src/cli/daemon-cli.ts +63 -14
- package/src/cli/list-models.ts +1 -1
- package/src/cli/notify-cli.ts +288 -286
- package/src/cli.ts +21 -2
- package/src/commands/daemon.ts +50 -6
- package/src/commands/harness.ts +93 -36
- package/src/commands/launch.ts +5 -2
- package/src/commands/mcp-serve.ts +19 -12
- package/src/commands/notify.ts +36 -3
- package/src/commands/sdk.ts +426 -0
- package/src/commit/agentic/agent.ts +1 -0
- package/src/config/atomic-yaml-patch.ts +423 -0
- package/src/config/model-profile-activation.ts +240 -89
- package/src/config/model-profiles.ts +18 -15
- package/src/config/model-registry.ts +51 -26
- package/src/config/model-resolver.ts +138 -51
- package/src/config/model-selector-value.ts +50 -0
- package/src/config/models-config-schema.ts +14 -21
- package/src/config/settings-schema.ts +128 -10
- package/src/config/settings.ts +1120 -158
- package/src/coordinator-mcp/model-preset.ts +74 -20
- package/src/coordinator-mcp/server.ts +1597 -3052
- package/src/daemon/builtin.ts +8 -5
- package/src/daemon/control-types.ts +1 -1
- package/src/defaults/gjc/skills/team/SKILL.md +4 -4
- package/src/discovery/mcp-json.ts +327 -20
- package/src/extensibility/custom-tools/types.ts +1 -1
- package/src/extensibility/extensions/compact-handler.ts +3 -3
- package/src/extensibility/extensions/get-commands-handler.ts +2 -2
- package/src/extensibility/extensions/loader.ts +69 -5
- package/src/extensibility/extensions/runner.ts +112 -4
- package/src/extensibility/extensions/types.ts +176 -17
- package/src/extensibility/hooks/types.ts +1 -1
- package/src/gjc-runtime/launch-tmux.ts +170 -86
- package/src/gjc-runtime/psmux-detect.ts +82 -4
- package/src/gjc-runtime/session-state-sidecar.ts +41 -31
- package/src/gjc-runtime/team-runtime.ts +54 -35
- package/src/gjc-runtime/tmux-owner-isolation-cli.ts +53 -17
- package/src/gjc-runtime/tmux-owner-isolation.ts +1 -1
- package/src/gjc-runtime/tmux-sessions.ts +19 -13
- package/src/gjc-runtime/ultragoal-guard.ts +108 -14
- package/src/gjc-runtime/ultragoal-receipt-freshness.ts +102 -1
- package/src/gjc-runtime/ultragoal-runtime.ts +227 -11
- package/src/gjc-runtime/windows-powershell-command.ts +58 -0
- package/src/harness-control-plane/operate.ts +9 -9
- package/src/harness-control-plane/owner.ts +283 -39
- package/src/harness-control-plane/receipts.ts +0 -1
- package/src/harness-control-plane/sdk-transport.ts +395 -0
- package/src/harness-control-plane/session-transport.ts +94 -0
- package/src/harness-control-plane/types.ts +1 -1
- package/src/internal-urls/docs-index.generated.ts +34 -35
- package/src/lsp/client.ts +42 -6
- package/src/lsp/index.ts +2 -2
- package/src/main.ts +299 -204
- package/src/modes/DESIGN.md +258 -0
- package/src/modes/acp/acp-agent.ts +1228 -2612
- package/src/modes/acp/acp-client-bridge.ts +2 -20
- package/src/modes/acp/acp-event-mapper.ts +18 -2
- package/src/modes/acp/acp-mode.ts +8 -36
- package/src/modes/acp/permission-mode.ts +25 -0
- package/src/modes/acp/startup-options.ts +6 -0
- package/src/modes/components/agent-dashboard.ts +37 -17
- package/src/modes/components/model-selector.ts +93 -35
- package/src/modes/components/notifications-settings-editor.ts +1379 -0
- package/src/modes/components/settings-selector.ts +60 -11
- package/src/modes/components/welcome.ts +4 -4
- package/src/modes/controllers/command-controller.ts +10 -17
- package/src/modes/controllers/event-controller.ts +11 -16
- package/src/modes/controllers/extension-ui-controller.ts +396 -28
- package/src/modes/controllers/selector-controller.ts +674 -36
- package/src/modes/index.ts +0 -22
- package/src/modes/interactive-mode.ts +87 -36
- package/src/modes/runtime-init.ts +298 -6
- package/src/modes/shared/agent-wire/approval-gate.ts +9 -11
- package/src/modes/shared/agent-wire/deep-interview-gate.ts +10 -11
- package/src/modes/shared/agent-wire/event-contract.ts +7 -8
- package/src/modes/shared/agent-wire/event-envelope.ts +9 -17
- package/src/modes/shared/agent-wire/event-observation.ts +16 -7
- package/src/modes/shared/agent-wire/workflow-gate-broker.ts +1258 -87
- package/src/modes/shared/agent-wire/workflow-gate-schema.ts +15 -15
- package/src/modes/shared/agent-wire/workflow-gate-types.ts +113 -0
- package/src/modes/types.ts +7 -2
- package/src/runtime-mcp/client.ts +94 -19
- package/src/runtime-mcp/config.ts +27 -15
- package/src/runtime-mcp/manager.ts +343 -105
- package/src/runtime-mcp/oauth-flow.ts +42 -12
- package/src/runtime-mcp/transports/http.ts +49 -19
- package/src/runtime-mcp/transports/stdio.ts +47 -28
- package/src/runtime-mcp/types.ts +10 -0
- package/src/sdk/acp/adapter.ts +418 -0
- package/src/sdk/acp/index.ts +2 -0
- package/src/sdk/broker/broker.ts +642 -0
- package/src/sdk/broker/discovery.ts +113 -0
- package/src/sdk/broker/ensure.ts +307 -0
- package/src/sdk/broker/identity.ts +42 -0
- package/src/sdk/broker/index.ts +8 -0
- package/src/sdk/broker/internal-source-marker-2178.txt +1 -0
- package/src/sdk/broker/internal-source.bunfig.toml +1 -0
- package/src/sdk/broker/lifecycle-ledger.ts +286 -0
- package/src/sdk/broker/lifecycle.ts +2157 -0
- package/src/sdk/broker/process-incarnation.ts +159 -0
- package/src/sdk/broker/runtime.ts +164 -0
- package/src/sdk/broker/session-index.ts +318 -0
- package/src/sdk/broker/state-version.ts +23 -0
- package/src/sdk/broker/transport.ts +125 -0
- package/src/sdk/bus/chat-command-policy.ts +107 -0
- package/src/sdk/bus/chat-daemon-cli.ts +214 -0
- package/src/sdk/bus/chat-daemon-control.ts +713 -0
- package/src/sdk/bus/chat-daemon-runtime.ts +526 -0
- package/src/sdk/bus/chat-effect-journal.ts +355 -0
- package/src/{notifications → sdk/bus}/config-commands.ts +39 -10
- package/src/sdk/bus/config.ts +433 -0
- package/src/sdk/bus/conversation-store.ts +391 -0
- package/src/sdk/bus/discord-conversation.ts +85 -0
- package/src/sdk/bus/discord-daemon.ts +2292 -0
- package/src/sdk/bus/discord-live-provider.ts +521 -0
- package/src/sdk/bus/discord-provider.ts +56 -0
- package/src/{notifications → sdk/bus}/html-format.ts +2 -2
- package/src/sdk/bus/index.ts +3979 -0
- package/src/{notifications → sdk/bus}/lifecycle-commands.ts +2 -0
- package/src/{notifications → sdk/bus}/lifecycle-control-runtime.ts +225 -196
- package/src/{notifications → sdk/bus}/lifecycle-orchestrator.ts +161 -74
- package/src/{notifications → sdk/bus}/managed-daemon.ts +2 -2
- package/src/sdk/bus/native-runtime-compatibility.ts +42 -0
- package/src/sdk/bus/natives-augment.d.ts +38 -0
- package/src/sdk/bus/notification-orchestration.ts +535 -0
- package/src/{notifications → sdk/bus}/notification-service.ts +106 -12
- package/src/sdk/bus/session-control.ts +333 -0
- package/src/sdk/bus/slack-conversation.ts +74 -0
- package/src/sdk/bus/slack-daemon.ts +2144 -0
- package/src/sdk/bus/slack-live-provider.ts +380 -0
- package/src/sdk/bus/slack-provider.ts +76 -0
- package/src/{notifications → sdk/bus}/telegram-cli.ts +8 -8
- package/src/sdk/bus/telegram-daemon-cli.ts +330 -0
- package/src/sdk/bus/telegram-daemon-contract.ts +14 -0
- package/src/{notifications → sdk/bus}/telegram-daemon-control.ts +4 -4
- package/src/{notifications → sdk/bus}/telegram-daemon.ts +603 -63
- package/src/{notifications → sdk/bus}/telegram-reference.ts +2 -2
- package/src/sdk/bus/telegram-setup.ts +663 -0
- package/src/{notifications → sdk/bus}/topic-registry.ts +32 -0
- package/src/sdk/cli/index.ts +1 -0
- package/src/sdk/cli/session-cli.ts +275 -0
- package/src/sdk/client/client.ts +1 -0
- package/src/sdk/client/discovery.ts +108 -0
- package/src/sdk/client/index.ts +2 -0
- package/src/sdk/host/control/dispatch.ts +367 -0
- package/src/sdk/host/control/index.ts +10 -0
- package/src/sdk/host/control/operations.ts +63 -0
- package/src/sdk/host/events.ts +91 -0
- package/src/sdk/host/host.ts +296 -0
- package/src/sdk/host/index.ts +4 -0
- package/src/sdk/host/query/cursor.ts +189 -0
- package/src/sdk/host/query/handlers.ts +533 -0
- package/src/sdk/host/query/index.ts +3 -0
- package/src/sdk/host/query/revision-store.ts +1126 -0
- package/src/sdk/host/reverse-leases.ts +325 -0
- package/src/sdk/host/types.ts +29 -0
- package/src/sdk/index.ts +13 -0
- package/src/sdk/lifecycle-session.ts +39 -0
- package/src/sdk/mcp/index.ts +1 -0
- package/src/sdk/mcp/server.ts +332 -0
- package/src/sdk/models.ts +168 -0
- package/src/sdk/protocol/adapter-validation.ts +48 -0
- package/src/sdk/protocol/operation-inventory.generated.json +5654 -0
- package/src/sdk/protocol/operation-registry.ts +312 -0
- package/src/{sdk.ts → sdk/session.ts} +339 -212
- package/src/sdk/startup-capability.ts +189 -0
- package/src/session/agent-session.ts +2650 -944
- package/src/session/default-model-selection.ts +93 -0
- package/src/session/fallback-chain-controller.ts +136 -0
- package/src/session/session-manager.ts +438 -11
- package/src/session/session-storage.ts +8 -1
- package/src/setup/credential-auto-import.ts +290 -35
- package/src/setup/hermes/templates/operator-instructions.v1.md +3 -5
- package/src/slash-commands/builtin-registry.ts +2 -1
- package/src/task/executor.ts +62 -13
- package/src/task/index.ts +26 -16
- package/src/tools/ask-answer-registry.ts +1 -1
- package/src/tools/ask.ts +13 -8
- package/src/tools/browser/STEALTH-THIRD-PARTY-NOTICES.md +26 -0
- package/src/tools/browser/benchmark/detector-report.ts +157 -0
- package/src/tools/browser/benchmark/run-suite.ts +39 -0
- package/src/tools/browser/launch.ts +124 -19
- package/src/tools/browser/profile-discovery.ts +63 -0
- package/src/tools/browser/profile-posture.ts +59 -0
- package/src/tools/browser/profile-reuse.ts +102 -0
- package/src/tools/browser/profile-warmup.ts +109 -0
- package/src/tools/browser/registry.ts +87 -11
- package/src/tools/browser/tab-protocol.ts +1 -0
- package/src/tools/browser/tab-supervisor.ts +1 -0
- package/src/tools/browser/tab-worker.ts +1 -1
- package/src/tools/browser.ts +6 -0
- package/src/tools/index.ts +8 -8
- package/src/tools/puppeteer/14_stealth_permissions.txt +57 -0
- package/src/tools/puppeteer/15_stealth_webrtc.txt +60 -0
- package/src/tools/subagent-render.ts +19 -8
- package/src/tools/subagent.ts +84 -32
- package/src/tools/telegram-send.ts +2 -2
- package/vendor/insane-search/MANIFEST.json +2 -1
- package/vendor/insane-search/engine/bias_check.py +4 -1
- package/vendor/insane-search/engine/phase0.py +26 -1
- package/dist/types/harness-control-plane/rpc-adapter.d.ts +0 -69
- package/dist/types/modes/bridge/auth.d.ts +0 -12
- package/dist/types/modes/bridge/bridge-client-bridge.d.ts +0 -9
- package/dist/types/modes/bridge/bridge-mode.d.ts +0 -47
- package/dist/types/modes/bridge/bridge-ui-context.d.ts +0 -88
- package/dist/types/modes/bridge/event-stream.d.ts +0 -8
- package/dist/types/modes/rpc/host-tools.d.ts +0 -1
- package/dist/types/modes/rpc/host-uris.d.ts +0 -1
- package/dist/types/modes/rpc/rpc-client.d.ts +0 -299
- package/dist/types/modes/rpc/rpc-mode.d.ts +0 -86
- package/dist/types/modes/rpc/rpc-socket-security.d.ts +0 -10
- package/dist/types/modes/rpc/rpc-types.d.ts +0 -810
- package/dist/types/modes/shared/agent-wire/command-contract.d.ts +0 -18
- package/dist/types/modes/shared/agent-wire/command-dispatch.d.ts +0 -37
- package/dist/types/modes/shared/agent-wire/command-validation.d.ts +0 -2
- package/dist/types/modes/shared/agent-wire/handshake.d.ts +0 -56
- package/dist/types/modes/shared/agent-wire/host-tool-bridge.d.ts +0 -16
- package/dist/types/modes/shared/agent-wire/host-uri-bridge.d.ts +0 -17
- package/dist/types/modes/shared/agent-wire/protocol.d.ts +0 -25
- package/dist/types/modes/shared/agent-wire/responses.d.ts +0 -4
- package/dist/types/modes/shared/agent-wire/scopes.d.ts +0 -18
- package/dist/types/modes/shared/agent-wire/session-registry.d.ts +0 -25
- package/dist/types/modes/shared/agent-wire/ui-request-broker.d.ts +0 -42
- package/dist/types/modes/shared/agent-wire/ui-result.d.ts +0 -27
- package/dist/types/modes/shared/agent-wire/unattended-action-policy.d.ts +0 -29
- package/dist/types/modes/shared/agent-wire/unattended-audit.d.ts +0 -68
- package/dist/types/modes/shared/agent-wire/unattended-run-controller.d.ts +0 -166
- package/dist/types/modes/shared/agent-wire/unattended-session.d.ts +0 -127
- package/dist/types/notifications/config.d.ts +0 -132
- package/src/harness-control-plane/rpc-adapter.ts +0 -290
- package/src/modes/bridge/auth.ts +0 -41
- package/src/modes/bridge/bridge-client-bridge.ts +0 -47
- package/src/modes/bridge/bridge-mode.ts +0 -675
- package/src/modes/bridge/bridge-ui-context.ts +0 -200
- package/src/modes/bridge/event-stream.ts +0 -70
- package/src/modes/rpc/host-tools.ts +0 -1
- package/src/modes/rpc/host-uris.ts +0 -1
- package/src/modes/rpc/rpc-client.ts +0 -1166
- package/src/modes/rpc/rpc-mode.ts +0 -1029
- package/src/modes/rpc/rpc-socket-security.ts +0 -115
- package/src/modes/rpc/rpc-types.ts +0 -637
- package/src/modes/shared/agent-wire/command-contract.ts +0 -18
- package/src/modes/shared/agent-wire/command-dispatch.ts +0 -498
- package/src/modes/shared/agent-wire/command-validation.ts +0 -181
- package/src/modes/shared/agent-wire/handshake.ts +0 -157
- package/src/modes/shared/agent-wire/host-tool-bridge.ts +0 -197
- package/src/modes/shared/agent-wire/host-uri-bridge.ts +0 -236
- package/src/modes/shared/agent-wire/protocol.ts +0 -46
- package/src/modes/shared/agent-wire/responses.ts +0 -17
- package/src/modes/shared/agent-wire/scopes.ts +0 -94
- package/src/modes/shared/agent-wire/session-registry.ts +0 -109
- package/src/modes/shared/agent-wire/ui-request-broker.ts +0 -150
- package/src/modes/shared/agent-wire/ui-result.ts +0 -48
- package/src/modes/shared/agent-wire/unattended-action-policy.ts +0 -365
- package/src/modes/shared/agent-wire/unattended-audit.ts +0 -176
- package/src/modes/shared/agent-wire/unattended-run-controller.ts +0 -426
- package/src/modes/shared/agent-wire/unattended-session.ts +0 -528
- package/src/notifications/config.ts +0 -219
- package/src/notifications/index.ts +0 -1835
- package/src/notifications/telegram-daemon-cli.ts +0 -243
- package/src/tools/puppeteer/09_stealth_locale.txt +0 -46
- /package/dist/types/{notifications → sdk/bus}/attachment-registry.d.ts +0 -0
- /package/dist/types/{notifications → sdk/bus}/chat-adapters.d.ts +0 -0
- /package/dist/types/{notifications → sdk/bus}/daemon-paths.d.ts +0 -0
- /package/dist/types/{notifications → sdk/bus}/engine.d.ts +0 -0
- /package/dist/types/{notifications → sdk/bus}/helpers.d.ts +0 -0
- /package/dist/types/{notifications → sdk/bus}/lifecycle-commands.d.ts +0 -0
- /package/dist/types/{notifications → sdk/bus}/operator-runtime.d.ts +0 -0
- /package/dist/types/{notifications → sdk/bus}/rate-limit-pool.d.ts +0 -0
- /package/dist/types/{notifications → sdk/bus}/recent-activity.d.ts +0 -0
- /package/dist/types/{notifications → sdk/bus}/reply-sent-store.d.ts +0 -0
- /package/dist/types/{notifications → sdk/bus}/rich-draft.d.ts +0 -0
- /package/dist/types/{notifications → sdk/bus}/rich-render.d.ts +0 -0
- /package/dist/types/{notifications → sdk/bus}/threaded-inbound.d.ts +0 -0
- /package/dist/types/{notifications → sdk/bus}/threaded-render.d.ts +0 -0
- /package/src/{notifications → sdk/bus}/attachment-registry.ts +0 -0
- /package/src/{notifications → sdk/bus}/chat-adapters.ts +0 -0
- /package/src/{notifications → sdk/bus}/daemon-paths.ts +0 -0
- /package/src/{notifications → sdk/bus}/engine.ts +0 -0
- /package/src/{notifications → sdk/bus}/helpers.ts +0 -0
- /package/src/{notifications → sdk/bus}/operator-runtime.ts +0 -0
- /package/src/{notifications → sdk/bus}/rate-limit-pool.ts +0 -0
- /package/src/{notifications → sdk/bus}/recent-activity.ts +0 -0
- /package/src/{notifications → sdk/bus}/reply-sent-store.ts +0 -0
- /package/src/{notifications → sdk/bus}/rich-draft.ts +0 -0
- /package/src/{notifications → sdk/bus}/rich-render.ts +0 -0
- /package/src/{notifications → sdk/bus}/threaded-inbound.ts +0 -0
- /package/src/{notifications → sdk/bus}/threaded-render.ts +0 -0
|
@@ -1,637 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RPC protocol types for headless operation.
|
|
3
|
-
*
|
|
4
|
-
* Commands are sent as JSON lines on stdin.
|
|
5
|
-
* Responses and events are emitted as JSON lines on stdout.
|
|
6
|
-
*/
|
|
7
|
-
import type { AgentMessage, AgentToolResult, ResolvedThinkingLevel, ThinkingLevel } from "@gajae-code/agent-core";
|
|
8
|
-
import type { CompactionResult } from "@gajae-code/agent-core/compaction";
|
|
9
|
-
import type { Effort, ImageContent, Model } from "@gajae-code/ai";
|
|
10
|
-
import type { BashResult } from "../../exec/bash-executor";
|
|
11
|
-
import type { ContextUsage } from "../../extensibility/extensions/types";
|
|
12
|
-
import type { SessionStats } from "../../session/agent-session";
|
|
13
|
-
import type { TodoPhase } from "../../tools/todo-write";
|
|
14
|
-
|
|
15
|
-
export type RpcGetStateInclude = "tools" | "dumpTools" | "systemPrompt";
|
|
16
|
-
export type RpcCapability = "compact_message_update";
|
|
17
|
-
|
|
18
|
-
// ============================================================================
|
|
19
|
-
// RPC Commands (stdin)
|
|
20
|
-
// ============================================================================
|
|
21
|
-
|
|
22
|
-
export type RpcCommand =
|
|
23
|
-
// Prompting
|
|
24
|
-
| { id?: string; type: "prompt"; message: string; images?: ImageContent[]; streamingBehavior?: "steer" | "followUp" }
|
|
25
|
-
| { id?: string; type: "steer"; message: string; images?: ImageContent[] }
|
|
26
|
-
| { id?: string; type: "follow_up"; message: string; images?: ImageContent[] }
|
|
27
|
-
| { id?: string; type: "abort" }
|
|
28
|
-
| { id?: string; type: "abort_and_prompt"; message: string; images?: ImageContent[] }
|
|
29
|
-
| { id?: string; type: "new_session"; parentSession?: string }
|
|
30
|
-
|
|
31
|
-
// State
|
|
32
|
-
| { id?: string; type: "get_state"; include?: RpcGetStateInclude[] }
|
|
33
|
-
| { id?: string; type: "set_todos"; phases: TodoPhase[] }
|
|
34
|
-
| { id?: string; type: "set_host_tools"; tools: RpcHostToolDefinition[] }
|
|
35
|
-
| { id?: string; type: "set_host_uri_schemes"; schemes: RpcHostUriSchemeDefinition[] }
|
|
36
|
-
| { id?: string; type: "get_pending_workflow_gates" }
|
|
37
|
-
| { id?: string; type: "set_capabilities"; capabilities: RpcCapability[] }
|
|
38
|
-
|
|
39
|
-
// Model
|
|
40
|
-
| { id?: string; type: "set_model"; provider: string; modelId: string }
|
|
41
|
-
| {
|
|
42
|
-
id?: string;
|
|
43
|
-
type: "set_default_model_selection";
|
|
44
|
-
provider: string;
|
|
45
|
-
modelId: string;
|
|
46
|
-
thinkingLevel?: ResolvedThinkingLevel;
|
|
47
|
-
}
|
|
48
|
-
| { id?: string; type: "cycle_model" }
|
|
49
|
-
| { id?: string; type: "get_available_models" }
|
|
50
|
-
|
|
51
|
-
// Thinking
|
|
52
|
-
| { id?: string; type: "set_thinking_level"; level: ThinkingLevel }
|
|
53
|
-
| { id?: string; type: "cycle_thinking_level" }
|
|
54
|
-
|
|
55
|
-
// Queue modes
|
|
56
|
-
| { id?: string; type: "set_steering_mode"; mode: "all" | "one-at-a-time" }
|
|
57
|
-
| { id?: string; type: "set_follow_up_mode"; mode: "all" | "one-at-a-time" }
|
|
58
|
-
| { id?: string; type: "set_interrupt_mode"; mode: "immediate" | "wait" }
|
|
59
|
-
|
|
60
|
-
// Compaction
|
|
61
|
-
| { id?: string; type: "compact"; customInstructions?: string }
|
|
62
|
-
| { id?: string; type: "set_auto_compaction"; enabled: boolean }
|
|
63
|
-
|
|
64
|
-
// Retry
|
|
65
|
-
| { id?: string; type: "set_auto_retry"; enabled: boolean }
|
|
66
|
-
| { id?: string; type: "abort_retry" }
|
|
67
|
-
|
|
68
|
-
// Bash
|
|
69
|
-
| { id?: string; type: "bash"; command: string }
|
|
70
|
-
| { id?: string; type: "abort_bash" }
|
|
71
|
-
|
|
72
|
-
// Session
|
|
73
|
-
| { id?: string; type: "get_session_stats" }
|
|
74
|
-
| { id?: string; type: "export_html"; outputPath?: string }
|
|
75
|
-
| { id?: string; type: "switch_session"; sessionPath: string }
|
|
76
|
-
| { id?: string; type: "branch"; entryId: string }
|
|
77
|
-
| { id?: string; type: "get_branch_messages" }
|
|
78
|
-
| { id?: string; type: "get_last_assistant_text" }
|
|
79
|
-
| { id?: string; type: "set_session_name"; name: string }
|
|
80
|
-
| { id?: string; type: "handoff"; customInstructions?: string }
|
|
81
|
-
|
|
82
|
-
// Messages
|
|
83
|
-
| { id?: string; type: "get_messages" }
|
|
84
|
-
|
|
85
|
-
// Login
|
|
86
|
-
| { id?: string; type: "get_login_providers" }
|
|
87
|
-
| { id?: string; type: "login"; providerId: string }
|
|
88
|
-
|
|
89
|
-
// Unattended control plane (#318/#319 declaration handled here at #315 contract level)
|
|
90
|
-
| { id?: string; type: "negotiate_unattended"; declaration: RpcUnattendedDeclaration }
|
|
91
|
-
|
|
92
|
-
// Workflow gate answer (inbound response to a workflow_gate event)
|
|
93
|
-
| ({ id?: string; type: "workflow_gate_response" } & RpcWorkflowGateResponse);
|
|
94
|
-
|
|
95
|
-
// ============================================================================
|
|
96
|
-
// RPC State
|
|
97
|
-
// ============================================================================
|
|
98
|
-
|
|
99
|
-
export interface RpcSessionState {
|
|
100
|
-
model?: Model;
|
|
101
|
-
thinkingLevel: ThinkingLevel | undefined;
|
|
102
|
-
isStreaming: boolean;
|
|
103
|
-
isCompacting: boolean;
|
|
104
|
-
steeringMode: "all" | "one-at-a-time";
|
|
105
|
-
followUpMode: "all" | "one-at-a-time";
|
|
106
|
-
interruptMode: "immediate" | "wait";
|
|
107
|
-
sessionFile?: string;
|
|
108
|
-
sessionId: string;
|
|
109
|
-
sessionName?: string;
|
|
110
|
-
autoCompactionEnabled: boolean;
|
|
111
|
-
messageCount: number;
|
|
112
|
-
queuedMessageCount: number;
|
|
113
|
-
todoPhases: TodoPhase[];
|
|
114
|
-
/** Optional static system prompt blocks. Omitted by default; request with get_state include ["systemPrompt"]. */
|
|
115
|
-
systemPrompt?: string[];
|
|
116
|
-
/** Optional static tool schemas. Omitted by default; request with get_state include ["tools"]. */
|
|
117
|
-
dumpTools?: Array<{ name: string; description: string; parameters: unknown }>;
|
|
118
|
-
/** Current context window usage. Null tokens/percent when unknown (e.g. right after compaction). */
|
|
119
|
-
contextUsage?: ContextUsage;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
export interface RpcHandoffResult {
|
|
123
|
-
savedPath?: string;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
// ============================================================================
|
|
127
|
-
// RPC Responses (stdout)
|
|
128
|
-
// ============================================================================
|
|
129
|
-
|
|
130
|
-
// Success responses with data
|
|
131
|
-
export type RpcResponse =
|
|
132
|
-
// Prompting (async - events follow)
|
|
133
|
-
| { id?: string; type: "response"; command: "prompt"; success: true }
|
|
134
|
-
| { id?: string; type: "response"; command: "steer"; success: true }
|
|
135
|
-
| { id?: string; type: "response"; command: "follow_up"; success: true }
|
|
136
|
-
| { id?: string; type: "response"; command: "abort"; success: true }
|
|
137
|
-
| { id?: string; type: "response"; command: "abort_and_prompt"; success: true }
|
|
138
|
-
| { id?: string; type: "response"; command: "new_session"; success: true; data: { cancelled: boolean } }
|
|
139
|
-
|
|
140
|
-
// State
|
|
141
|
-
| { id?: string; type: "response"; command: "get_state"; success: true; data: RpcSessionState }
|
|
142
|
-
| { id?: string; type: "response"; command: "set_todos"; success: true; data: { todoPhases: TodoPhase[] } }
|
|
143
|
-
| { id?: string; type: "response"; command: "set_host_tools"; success: true; data: { toolNames: string[] } }
|
|
144
|
-
| { id?: string; type: "response"; command: "set_host_uri_schemes"; success: true; data: { schemes: string[] } }
|
|
145
|
-
| {
|
|
146
|
-
id?: string;
|
|
147
|
-
type: "response";
|
|
148
|
-
command: "get_pending_workflow_gates";
|
|
149
|
-
success: true;
|
|
150
|
-
data: { gates: RpcWorkflowGate[] };
|
|
151
|
-
}
|
|
152
|
-
| {
|
|
153
|
-
id?: string;
|
|
154
|
-
type: "response";
|
|
155
|
-
command: "set_capabilities";
|
|
156
|
-
success: true;
|
|
157
|
-
data: { acceptedCapabilities: RpcCapability[]; unsupported: string[] };
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
// Model
|
|
161
|
-
| {
|
|
162
|
-
id?: string;
|
|
163
|
-
type: "response";
|
|
164
|
-
command: "set_model";
|
|
165
|
-
success: true;
|
|
166
|
-
data: Model;
|
|
167
|
-
}
|
|
168
|
-
| {
|
|
169
|
-
id?: string;
|
|
170
|
-
type: "response";
|
|
171
|
-
command: "set_default_model_selection";
|
|
172
|
-
success: true;
|
|
173
|
-
data: { provider: string; modelId: string; thinkingLevel: ResolvedThinkingLevel };
|
|
174
|
-
}
|
|
175
|
-
| {
|
|
176
|
-
id?: string;
|
|
177
|
-
type: "response";
|
|
178
|
-
command: "cycle_model";
|
|
179
|
-
success: true;
|
|
180
|
-
data: { model: Model; thinkingLevel: ThinkingLevel | undefined; isScoped: boolean } | null;
|
|
181
|
-
}
|
|
182
|
-
| {
|
|
183
|
-
id?: string;
|
|
184
|
-
type: "response";
|
|
185
|
-
command: "get_available_models";
|
|
186
|
-
success: true;
|
|
187
|
-
data: { models: Model[] };
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
// Thinking
|
|
191
|
-
| { id?: string; type: "response"; command: "set_thinking_level"; success: true }
|
|
192
|
-
| {
|
|
193
|
-
id?: string;
|
|
194
|
-
type: "response";
|
|
195
|
-
command: "cycle_thinking_level";
|
|
196
|
-
success: true;
|
|
197
|
-
data: { level: Effort } | null;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
// Queue modes
|
|
201
|
-
| { id?: string; type: "response"; command: "set_steering_mode"; success: true }
|
|
202
|
-
| { id?: string; type: "response"; command: "set_follow_up_mode"; success: true }
|
|
203
|
-
| { id?: string; type: "response"; command: "set_interrupt_mode"; success: true }
|
|
204
|
-
|
|
205
|
-
// Compaction
|
|
206
|
-
| { id?: string; type: "response"; command: "compact"; success: true; data: CompactionResult }
|
|
207
|
-
| { id?: string; type: "response"; command: "set_auto_compaction"; success: true }
|
|
208
|
-
|
|
209
|
-
// Retry
|
|
210
|
-
| { id?: string; type: "response"; command: "set_auto_retry"; success: true }
|
|
211
|
-
| { id?: string; type: "response"; command: "abort_retry"; success: true }
|
|
212
|
-
|
|
213
|
-
// Bash
|
|
214
|
-
| { id?: string; type: "response"; command: "bash"; success: true; data: BashResult }
|
|
215
|
-
| { id?: string; type: "response"; command: "abort_bash"; success: true }
|
|
216
|
-
|
|
217
|
-
// Session
|
|
218
|
-
| { id?: string; type: "response"; command: "get_session_stats"; success: true; data: SessionStats }
|
|
219
|
-
| { id?: string; type: "response"; command: "export_html"; success: true; data: { path: string } }
|
|
220
|
-
| { id?: string; type: "response"; command: "switch_session"; success: true; data: { cancelled: boolean } }
|
|
221
|
-
| { id?: string; type: "response"; command: "branch"; success: true; data: { text: string; cancelled: boolean } }
|
|
222
|
-
| {
|
|
223
|
-
id?: string;
|
|
224
|
-
type: "response";
|
|
225
|
-
command: "get_branch_messages";
|
|
226
|
-
success: true;
|
|
227
|
-
data: { messages: Array<{ entryId: string; text: string }> };
|
|
228
|
-
}
|
|
229
|
-
| {
|
|
230
|
-
id?: string;
|
|
231
|
-
type: "response";
|
|
232
|
-
command: "get_last_assistant_text";
|
|
233
|
-
success: true;
|
|
234
|
-
data: { text: string | null };
|
|
235
|
-
}
|
|
236
|
-
| { id?: string; type: "response"; command: "set_session_name"; success: true }
|
|
237
|
-
| { id?: string; type: "response"; command: "handoff"; success: true; data: RpcHandoffResult | null }
|
|
238
|
-
|
|
239
|
-
// Messages
|
|
240
|
-
| { id?: string; type: "response"; command: "get_messages"; success: true; data: { messages: AgentMessage[] } }
|
|
241
|
-
|
|
242
|
-
// Login
|
|
243
|
-
| {
|
|
244
|
-
id?: string;
|
|
245
|
-
type: "response";
|
|
246
|
-
command: "get_login_providers";
|
|
247
|
-
success: true;
|
|
248
|
-
data: { providers: Array<{ id: string; name: string; available: boolean; authenticated: boolean }> };
|
|
249
|
-
}
|
|
250
|
-
| { id?: string; type: "response"; command: "login"; success: true; data: { providerId: string } }
|
|
251
|
-
|
|
252
|
-
// Unattended + workflow gates
|
|
253
|
-
| { id?: string; type: "response"; command: "negotiate_unattended"; success: true; data: RpcUnattendedAccepted }
|
|
254
|
-
| {
|
|
255
|
-
id?: string;
|
|
256
|
-
type: "response";
|
|
257
|
-
command: "workflow_gate_response";
|
|
258
|
-
success: true;
|
|
259
|
-
data: RpcWorkflowGateResolution;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
// Error response (any command can fail)
|
|
263
|
-
| { id?: string; type: "response"; command: string; success: false; error: string | object };
|
|
264
|
-
|
|
265
|
-
// ============================================================================
|
|
266
|
-
// Extension UI Events (stdout)
|
|
267
|
-
// ============================================================================
|
|
268
|
-
|
|
269
|
-
/** Emitted when an extension needs user input */
|
|
270
|
-
export type RpcExtensionUIRequest =
|
|
271
|
-
| { type: "extension_ui_request"; id: string; method: "select"; title: string; options: string[]; timeout?: number }
|
|
272
|
-
| { type: "extension_ui_request"; id: string; method: "confirm"; title: string; message: string; timeout?: number }
|
|
273
|
-
| {
|
|
274
|
-
type: "extension_ui_request";
|
|
275
|
-
id: string;
|
|
276
|
-
method: "input";
|
|
277
|
-
title: string;
|
|
278
|
-
placeholder?: string;
|
|
279
|
-
timeout?: number;
|
|
280
|
-
}
|
|
281
|
-
| {
|
|
282
|
-
type: "extension_ui_request";
|
|
283
|
-
id: string;
|
|
284
|
-
method: "editor";
|
|
285
|
-
title: string;
|
|
286
|
-
prefill?: string;
|
|
287
|
-
promptStyle?: boolean;
|
|
288
|
-
}
|
|
289
|
-
| { type: "extension_ui_request"; id: string; method: "cancel"; targetId: string }
|
|
290
|
-
| {
|
|
291
|
-
type: "extension_ui_request";
|
|
292
|
-
id: string;
|
|
293
|
-
method: "notify";
|
|
294
|
-
message: string;
|
|
295
|
-
notifyType?: "info" | "warning" | "error";
|
|
296
|
-
}
|
|
297
|
-
| {
|
|
298
|
-
type: "extension_ui_request";
|
|
299
|
-
id: string;
|
|
300
|
-
method: "setStatus";
|
|
301
|
-
statusKey: string;
|
|
302
|
-
statusText: string | undefined;
|
|
303
|
-
}
|
|
304
|
-
| {
|
|
305
|
-
type: "extension_ui_request";
|
|
306
|
-
id: string;
|
|
307
|
-
method: "setWidget";
|
|
308
|
-
widgetKey: string;
|
|
309
|
-
widgetLines: string[] | undefined;
|
|
310
|
-
widgetPlacement?: "aboveEditor" | "belowEditor";
|
|
311
|
-
}
|
|
312
|
-
| { type: "extension_ui_request"; id: string; method: "setTitle"; title: string }
|
|
313
|
-
| { type: "extension_ui_request"; id: string; method: "set_editor_text"; text: string }
|
|
314
|
-
| { type: "extension_ui_request"; id: string; method: "open_url"; url: string; instructions?: string };
|
|
315
|
-
|
|
316
|
-
// ============================================================================
|
|
317
|
-
// Host Tool Frames (bidirectional)
|
|
318
|
-
// ============================================================================
|
|
319
|
-
|
|
320
|
-
export interface RpcHostToolDefinition {
|
|
321
|
-
name: string;
|
|
322
|
-
label?: string;
|
|
323
|
-
description: string;
|
|
324
|
-
parameters: Record<string, unknown>;
|
|
325
|
-
hidden?: boolean;
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
/** Emitted by the RPC server when it needs the host to execute a registered tool. */
|
|
329
|
-
export interface RpcHostToolCallRequest {
|
|
330
|
-
type: "host_tool_call";
|
|
331
|
-
id: string;
|
|
332
|
-
toolCallId: string;
|
|
333
|
-
toolName: string;
|
|
334
|
-
arguments: Record<string, unknown>;
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
/** Emitted by the RPC server when a pending host tool call should be aborted. */
|
|
338
|
-
export interface RpcHostToolCancelRequest {
|
|
339
|
-
type: "host_tool_cancel";
|
|
340
|
-
id: string;
|
|
341
|
-
targetId: string;
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
/** Sent by the host to stream partial tool updates back to the RPC server. */
|
|
345
|
-
export interface RpcHostToolUpdate {
|
|
346
|
-
type: "host_tool_update";
|
|
347
|
-
id: string;
|
|
348
|
-
partialResult: AgentToolResult<unknown>;
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
/** Sent by the host to complete a pending tool call. */
|
|
352
|
-
export interface RpcHostToolResult {
|
|
353
|
-
type: "host_tool_result";
|
|
354
|
-
id: string;
|
|
355
|
-
result: AgentToolResult<unknown>;
|
|
356
|
-
isError?: boolean;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
// ============================================================================
|
|
360
|
-
// Host URI Frames (bidirectional)
|
|
361
|
-
// ============================================================================
|
|
362
|
-
|
|
363
|
-
export interface RpcHostUriSchemeDefinition {
|
|
364
|
-
/** URL scheme without trailing `://` (e.g. `db`, `notion`). */
|
|
365
|
-
scheme: string;
|
|
366
|
-
/** Optional human-readable description for logs/diagnostics. */
|
|
367
|
-
description?: string;
|
|
368
|
-
/** When true, the write tool is allowed to dispatch writes to this scheme. */
|
|
369
|
-
writable?: boolean;
|
|
370
|
-
/** When true, downstream callers suppress hashline anchors for resolved content. */
|
|
371
|
-
immutable?: boolean;
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
export type RpcHostUriOperation = "read" | "write";
|
|
375
|
-
|
|
376
|
-
/** Emitted by the RPC server when it needs the host to satisfy a URI operation. */
|
|
377
|
-
export interface RpcHostUriRequest {
|
|
378
|
-
type: "host_uri_request";
|
|
379
|
-
id: string;
|
|
380
|
-
operation: RpcHostUriOperation;
|
|
381
|
-
url: string;
|
|
382
|
-
/** Present for write operations. */
|
|
383
|
-
content?: string;
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
/** Emitted by the RPC server when a pending URI request should be aborted. */
|
|
387
|
-
export interface RpcHostUriCancelRequest {
|
|
388
|
-
type: "host_uri_cancel";
|
|
389
|
-
id: string;
|
|
390
|
-
targetId: string;
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
/** Sent by the host to complete a pending URI request. */
|
|
394
|
-
export interface RpcHostUriResult {
|
|
395
|
-
type: "host_uri_result";
|
|
396
|
-
id: string;
|
|
397
|
-
/**
|
|
398
|
-
* Required for successful `read` results. Ignored for `write` success.
|
|
399
|
-
* Set on errors when a textual explanation accompanies `isError`.
|
|
400
|
-
*/
|
|
401
|
-
content?: string;
|
|
402
|
-
/** Defaults to `text/plain` when omitted. */
|
|
403
|
-
contentType?: "text/markdown" | "application/json" | "text/plain";
|
|
404
|
-
/** Optional resolution notes propagated to the read tool. */
|
|
405
|
-
notes?: string[];
|
|
406
|
-
/** Overrides the scheme-level `immutable` flag for this single resolution. */
|
|
407
|
-
immutable?: boolean;
|
|
408
|
-
/** When true, surface the result content as an error to the caller. */
|
|
409
|
-
isError?: boolean;
|
|
410
|
-
/** Optional error message; preferred over `content` for error surfacing. */
|
|
411
|
-
error?: string;
|
|
412
|
-
}
|
|
413
|
-
|
|
414
|
-
// ============================================================================
|
|
415
|
-
// Extension UI Commands (stdin)
|
|
416
|
-
// ============================================================================
|
|
417
|
-
|
|
418
|
-
/** Response to an extension UI request */
|
|
419
|
-
export type RpcExtensionUIResponse =
|
|
420
|
-
| { type: "extension_ui_response"; id: string; value: string }
|
|
421
|
-
| { type: "extension_ui_response"; id: string; confirmed: boolean }
|
|
422
|
-
| { type: "extension_ui_response"; id: string; cancelled: true; timedOut?: boolean };
|
|
423
|
-
|
|
424
|
-
// ============================================================================
|
|
425
|
-
// Helper type for extracting command types
|
|
426
|
-
// ============================================================================
|
|
427
|
-
|
|
428
|
-
export type RpcCommandType = RpcCommand["type"];
|
|
429
|
-
|
|
430
|
-
// ============================================================================
|
|
431
|
-
// Workflow Gate Contract (#315)
|
|
432
|
-
// ============================================================================
|
|
433
|
-
|
|
434
|
-
/**
|
|
435
|
-
* Lifecycle stages that emit machine-addressable gates. v1 is single-agent;
|
|
436
|
-
* `team` parallel execution over RPC is deferred, so it is intentionally absent
|
|
437
|
-
* from this union. Gate construction rejects any other stage value.
|
|
438
|
-
*/
|
|
439
|
-
export type RpcWorkflowStage = "deep-interview" | "ralplan" | "ultragoal";
|
|
440
|
-
|
|
441
|
-
/** Reserved stage names that are explicitly not part of the v1 contract. */
|
|
442
|
-
export const RESERVED_WORKFLOW_STAGES: readonly string[] = ["team"];
|
|
443
|
-
|
|
444
|
-
export type RpcWorkflowGateKind = "question" | "approval" | "execution";
|
|
445
|
-
|
|
446
|
-
/**
|
|
447
|
-
* The documented JSON Schema 2020-12 subset supported by the gate validator.
|
|
448
|
-
* Schemas containing any keyword outside this shape are rejected at gate
|
|
449
|
-
* construction time so the server never advertises a schema it cannot validate.
|
|
450
|
-
*/
|
|
451
|
-
export interface RpcJsonSchema {
|
|
452
|
-
type?: "string" | "number" | "integer" | "boolean" | "object" | "array" | "null";
|
|
453
|
-
enum?: unknown[];
|
|
454
|
-
const?: unknown;
|
|
455
|
-
properties?: Record<string, RpcJsonSchema>;
|
|
456
|
-
required?: string[];
|
|
457
|
-
additionalProperties?: boolean | RpcJsonSchema;
|
|
458
|
-
items?: RpcJsonSchema;
|
|
459
|
-
minLength?: number;
|
|
460
|
-
maxLength?: number;
|
|
461
|
-
pattern?: string;
|
|
462
|
-
minItems?: number;
|
|
463
|
-
maxItems?: number;
|
|
464
|
-
uniqueItems?: boolean;
|
|
465
|
-
minimum?: number;
|
|
466
|
-
maximum?: number;
|
|
467
|
-
title?: string;
|
|
468
|
-
description?: string;
|
|
469
|
-
oneOf?: RpcJsonSchema[];
|
|
470
|
-
anyOf?: RpcJsonSchema[];
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
export interface RpcWorkflowGateOption {
|
|
474
|
-
value: unknown;
|
|
475
|
-
label: string;
|
|
476
|
-
description?: string;
|
|
477
|
-
}
|
|
478
|
-
|
|
479
|
-
export interface RpcWorkflowGateContext {
|
|
480
|
-
title?: string;
|
|
481
|
-
plan?: string;
|
|
482
|
-
source?: string;
|
|
483
|
-
prompt?: string;
|
|
484
|
-
summary?: string;
|
|
485
|
-
stage_state?: Record<string, unknown>;
|
|
486
|
-
artifact_refs?: Array<{ kind: string; path?: string; sha256?: string }>;
|
|
487
|
-
language?: string;
|
|
488
|
-
}
|
|
489
|
-
|
|
490
|
-
/** Outbound event: a machine-addressable workflow gate awaiting an answer. */
|
|
491
|
-
export interface RpcWorkflowGate {
|
|
492
|
-
type: "workflow_gate";
|
|
493
|
-
/** Run-scoped, monotonic, stable id (e.g. `wg_<run>_<stage>_000001`). */
|
|
494
|
-
gate_id: string;
|
|
495
|
-
stage: RpcWorkflowStage;
|
|
496
|
-
kind: RpcWorkflowGateKind;
|
|
497
|
-
schema: RpcJsonSchema;
|
|
498
|
-
/** Canonical hash of `schema`; advertised hash must equal server validation hash. */
|
|
499
|
-
schema_hash: string;
|
|
500
|
-
options?: RpcWorkflowGateOption[];
|
|
501
|
-
context: RpcWorkflowGateContext;
|
|
502
|
-
created_at: string;
|
|
503
|
-
required: true;
|
|
504
|
-
}
|
|
505
|
-
|
|
506
|
-
/** Inbound: the agent's answer to a workflow gate. */
|
|
507
|
-
export interface RpcWorkflowGateResponse {
|
|
508
|
-
gate_id: string;
|
|
509
|
-
answer: unknown;
|
|
510
|
-
/** Optional idempotency key; same key + body returns the cached resolution. */
|
|
511
|
-
idempotency_key?: string;
|
|
512
|
-
}
|
|
513
|
-
|
|
514
|
-
/** Outcome of resolving a gate, surfaced back to the answering client. */
|
|
515
|
-
export interface RpcWorkflowGateResolution {
|
|
516
|
-
gate_id: string;
|
|
517
|
-
status: "accepted" | "rejected";
|
|
518
|
-
answer_hash: string;
|
|
519
|
-
resolved_at: string;
|
|
520
|
-
/** Present only when `status === "rejected"`. */
|
|
521
|
-
error?: RpcWorkflowGateValidationError;
|
|
522
|
-
}
|
|
523
|
-
|
|
524
|
-
/** Typed error shape for schema validation failures (#315 acceptance). */
|
|
525
|
-
export interface RpcWorkflowGateValidationError {
|
|
526
|
-
code: "invalid_workflow_gate_answer";
|
|
527
|
-
gate_id: string;
|
|
528
|
-
schema_hash: string;
|
|
529
|
-
errors: Array<{ path: string; keyword: string; message: string; expected?: unknown }>;
|
|
530
|
-
}
|
|
531
|
-
|
|
532
|
-
// ============================================================================
|
|
533
|
-
// Unattended Declaration Contract (#318/#319 — declared at #315 boundary)
|
|
534
|
-
// ============================================================================
|
|
535
|
-
|
|
536
|
-
export interface RpcUnattendedBudget {
|
|
537
|
-
max_tokens: number;
|
|
538
|
-
max_tool_calls: number;
|
|
539
|
-
max_wall_time_ms: number;
|
|
540
|
-
max_cost_usd: number;
|
|
541
|
-
}
|
|
542
|
-
|
|
543
|
-
export interface RpcUnattendedDeclaration {
|
|
544
|
-
/** Identity of the operating external agent, recorded in the audit trail. */
|
|
545
|
-
actor: string;
|
|
546
|
-
budget: RpcUnattendedBudget;
|
|
547
|
-
/** Coarse command scopes the agent may use (maps to BridgeCommandScope). */
|
|
548
|
-
scopes: string[];
|
|
549
|
-
/** Action classes the agent is allowed to perform (default-deny otherwise). */
|
|
550
|
-
action_allowlist: string[];
|
|
551
|
-
}
|
|
552
|
-
|
|
553
|
-
export interface RpcUnattendedAccepted {
|
|
554
|
-
run_id: string;
|
|
555
|
-
actor: string;
|
|
556
|
-
budget: RpcUnattendedBudget;
|
|
557
|
-
scopes: string[];
|
|
558
|
-
action_allowlist: string[];
|
|
559
|
-
accepted_at: string;
|
|
560
|
-
}
|
|
561
|
-
|
|
562
|
-
export type RpcBudgetMetric = "tokens" | "tool_calls" | "wall_time" | "cost";
|
|
563
|
-
|
|
564
|
-
/** Typed payload emitted when a declared budget cap is breached (#318). */
|
|
565
|
-
export interface RpcBudgetExceeded {
|
|
566
|
-
code: "budget_exceeded";
|
|
567
|
-
metric: RpcBudgetMetric;
|
|
568
|
-
limit: number;
|
|
569
|
-
observed: number;
|
|
570
|
-
/** The accounting phase that detected the breach. */
|
|
571
|
-
phase: string;
|
|
572
|
-
run_id: string;
|
|
573
|
-
session_id?: string;
|
|
574
|
-
/** `aborting` = breach detected, async abort initiated; settled status follows in audit. */
|
|
575
|
-
abort_status: "aborting" | "aborted" | "abort_failed";
|
|
576
|
-
}
|
|
577
|
-
|
|
578
|
-
export type RpcUnattendedRefusalCode =
|
|
579
|
-
| "unattended_not_negotiated"
|
|
580
|
-
| "incomplete_budget"
|
|
581
|
-
| "unsupported_budget_metric"
|
|
582
|
-
| "invalid_unattended_declaration"
|
|
583
|
-
| "unattended_aborted";
|
|
584
|
-
|
|
585
|
-
/** Typed refusal emitted when unattended mode cannot start or continue (fail-closed). */
|
|
586
|
-
export interface RpcUnattendedRefused {
|
|
587
|
-
code: RpcUnattendedRefusalCode;
|
|
588
|
-
message: string;
|
|
589
|
-
}
|
|
590
|
-
|
|
591
|
-
// ============================================================================
|
|
592
|
-
// Unattended Action Authorization Contract (#319)
|
|
593
|
-
// ============================================================================
|
|
594
|
-
|
|
595
|
-
/** v1 action taxonomy: every authorized operation maps to one of these classes. */
|
|
596
|
-
export type RpcUnattendedActionClass =
|
|
597
|
-
| "command.prompt"
|
|
598
|
-
| "command.control"
|
|
599
|
-
| "command.bash"
|
|
600
|
-
| "command.export"
|
|
601
|
-
| "command.session"
|
|
602
|
-
| "command.model"
|
|
603
|
-
| "command.message_read"
|
|
604
|
-
| "command.host_tools"
|
|
605
|
-
| "command.host_uri"
|
|
606
|
-
| "command.admin"
|
|
607
|
-
| "bash.readonly"
|
|
608
|
-
| "bash.mutating"
|
|
609
|
-
| "bash.destructive"
|
|
610
|
-
| "git.force_push"
|
|
611
|
-
| "file.delete"
|
|
612
|
-
| "file.write"
|
|
613
|
-
| "host_tool.invoke"
|
|
614
|
-
| "host_uri.read"
|
|
615
|
-
| "host_uri.write"
|
|
616
|
-
| "auth.login";
|
|
617
|
-
|
|
618
|
-
/** Typed error when a command's coarse scope is not in the declared allowlist. */
|
|
619
|
-
export interface RpcScopeDenied {
|
|
620
|
-
code: "scope_denied";
|
|
621
|
-
scope: string;
|
|
622
|
-
command?: string;
|
|
623
|
-
run_id: string;
|
|
624
|
-
session_id?: string;
|
|
625
|
-
/** Always true: enforcement happens before the side effect runs. */
|
|
626
|
-
pre_side_effect: true;
|
|
627
|
-
}
|
|
628
|
-
|
|
629
|
-
/** Typed error when an action class is not in the declared allowlist (default-deny). */
|
|
630
|
-
export interface RpcActionDenied {
|
|
631
|
-
code: "action_denied";
|
|
632
|
-
action: string;
|
|
633
|
-
command?: string;
|
|
634
|
-
run_id: string;
|
|
635
|
-
session_id?: string;
|
|
636
|
-
pre_side_effect: true;
|
|
637
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Canonical command-surface boundary for the agent-wire adapters.
|
|
3
|
-
*
|
|
4
|
-
* RPC and Bridge SHARE the JSONL `RpcCommand` grammar and dispatch it through
|
|
5
|
-
* the single `dispatchRpcCommand` entry in `command-dispatch.ts`. This module
|
|
6
|
-
* re-exports that command surface so the shared contract has one documented home.
|
|
7
|
-
*
|
|
8
|
-
* ACP does NOT use `RpcCommand`. It keeps its richer `@agentclientprotocol/sdk`
|
|
9
|
-
* command surface (fork/resume/elicitation/session-mode/session-model) and only
|
|
10
|
-
* shares the lower session/event layer (`AgentWireEventPayload`). ACP must never
|
|
11
|
-
* import `dispatchRpcCommand`.
|
|
12
|
-
*
|
|
13
|
-
* Event semantics are intentionally elsewhere: `event-contract.ts` owns the event
|
|
14
|
-
* types + registry and `event-observation.ts` owns the single semantic mapping.
|
|
15
|
-
*/
|
|
16
|
-
export type { RpcCommand, RpcResponse } from "../../rpc/rpc-types";
|
|
17
|
-
export { dispatchRpcCommand, type RpcCommandDispatchContext } from "./command-dispatch";
|
|
18
|
-
export { isRpcCommandType, RPC_COMMAND_TYPES, type RpcCommandType } from "./scopes";
|