@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
package/dist/types/main.d.ts
CHANGED
|
@@ -9,20 +9,20 @@ import type { Args } from "./cli/args";
|
|
|
9
9
|
import { ModelRegistry } from "./config/model-registry";
|
|
10
10
|
import { Settings } from "./config/settings";
|
|
11
11
|
import type { ExtensionUIContext } from "./extensibility/extensions/types";
|
|
12
|
+
import type { AcpStartupOptions } from "./modes/acp/startup-options";
|
|
12
13
|
import type { SessionSelectionResult } from "./modes/components/session-selector";
|
|
13
14
|
import type { InteractiveMode } from "./modes/interactive-mode";
|
|
14
15
|
import type { PrintModeOptions } from "./modes/print-mode";
|
|
15
16
|
import { initTheme } from "./modes/theme/theme";
|
|
16
17
|
import type { SubmittedUserInput } from "./modes/types";
|
|
17
18
|
import type { MCPManager } from "./runtime-mcp";
|
|
18
|
-
import { type CreateAgentSessionOptions,
|
|
19
|
+
import { type CreateAgentSessionOptions, createAgentSession, discoverAuthStorage } from "./sdk";
|
|
19
20
|
import type { AgentSession } from "./session/agent-session";
|
|
20
|
-
import type { AuthStorage } from "./session/auth-storage";
|
|
21
21
|
import { type ResumeSessionIdentity, type SessionInfo, SessionManager, type StrictSessionOpenResult } from "./session/session-manager";
|
|
22
22
|
import { runStartupCredentialAutoImportIfNeeded } from "./setup/credential-auto-import";
|
|
23
23
|
import type { LspStartupServerInfo } from "./tools";
|
|
24
24
|
import type { EventBus } from "./utils/event-bus";
|
|
25
|
-
export type StartupUpdateRoute = "interactive" | "print" | "text" | "json" | "
|
|
25
|
+
export type StartupUpdateRoute = "interactive" | "print" | "text" | "json" | "acp";
|
|
26
26
|
export declare function classifyStartupUpdateRoute(parsed: Pick<Args, "print" | "mode">, autoPrint: boolean): StartupUpdateRoute;
|
|
27
27
|
/** Coordinates the non-blocking update check around the interactive UI lifecycle. */
|
|
28
28
|
export declare class StartupUpdateOrchestrator {
|
|
@@ -36,46 +36,44 @@ export interface StartupUpdateInteractiveMode {
|
|
|
36
36
|
showNewVersionNotification: (version: string) => void;
|
|
37
37
|
}
|
|
38
38
|
export declare function initializeInteractiveModeWithStartupUpdate(mode: StartupUpdateInteractiveMode, startupUpdate: StartupUpdateOrchestrator): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Translate only ACP startup settings with a canonical SDK control carrier.
|
|
41
|
+
* Every other local-session flag is rejected so the broker-backed ACP host
|
|
42
|
+
* never appears to accept options it cannot apply to its remote session.
|
|
43
|
+
*/
|
|
44
|
+
export declare function resolveAcpStartupOptions(parsed: Pick<Args, "allowHome" | "apiKey" | "appendSystemPrompt" | "credential" | "continue" | "default" | "cwd" | "fileArgs" | "fork" | "hooks" | "messages" | "mpreset" | "mcpConfig" | "model" | "models" | "noLsp" | "noPty" | "noRules" | "noSession" | "noSkills" | "noTitle" | "noTools" | "pluginDirs" | "print" | "provider" | "providerSessionId" | "resume" | "sessionDir" | "skills" | "slow" | "smol" | "plan" | "systemPrompt" | "thinking" | "tmux" | "tools" | "extensions" | "unknownFlags">, sessionOptions: Pick<CreateAgentSessionOptions, "model" | "modelPattern" | "thinkingLevel">): AcpStartupOptions;
|
|
39
45
|
declare function readPipedInput(): Promise<string | undefined>;
|
|
40
46
|
export interface InteractiveModeNotify {
|
|
41
47
|
kind: "warn" | "error" | "info";
|
|
42
48
|
message: string;
|
|
43
49
|
}
|
|
44
50
|
export declare function submitInteractiveInput(mode: Pick<InteractiveMode, "markPendingSubmissionStarted" | "finishPendingSubmission" | "showError" | "checkShutdownRequested">, session: Pick<AgentSession, "prompt" | "promptCustomMessage">, input: SubmittedUserInput): Promise<void>;
|
|
45
|
-
type
|
|
46
|
-
skipPostCreateModelRefresh?: boolean;
|
|
47
|
-
}) => Promise<CreateAgentSessionResult>;
|
|
48
|
-
type AcpSessionFactory = (cwd: string) => Promise<AgentSession>;
|
|
49
|
-
export interface AcpSessionFactoryOptions {
|
|
50
|
-
baseOptions: CreateAgentSessionOptions;
|
|
51
|
-
settings: Settings;
|
|
52
|
-
sessionDir?: string;
|
|
53
|
-
authStorage: AuthStorage;
|
|
54
|
-
modelRegistry: ModelRegistry;
|
|
55
|
-
parsedArgs: Pick<Args, "apiKey" | "default" | "model" | "mpreset" | "thinking">;
|
|
56
|
-
rawArgs: string[];
|
|
57
|
-
createSession: CreateSessionForMain;
|
|
58
|
-
}
|
|
59
|
-
export declare function applyStartupModelProfiles(args: {
|
|
51
|
+
type StartupModelProfileArgs = {
|
|
60
52
|
session: AgentSession;
|
|
61
53
|
settings: Settings;
|
|
62
54
|
modelRegistry: ModelRegistry;
|
|
63
55
|
parsedArgs: Pick<Args, "default" | "model" | "mpreset" | "thinking">;
|
|
64
56
|
startupModel?: CreateAgentSessionOptions["model"];
|
|
65
57
|
startupThinkingLevel?: CreateAgentSessionOptions["thinkingLevel"];
|
|
66
|
-
}
|
|
67
|
-
export declare function
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
58
|
+
};
|
|
59
|
+
export declare function applyStartupModelProfiles(args: StartupModelProfileArgs): Promise<void>;
|
|
60
|
+
export declare function applyStartupModelProfilesOrExit(args: StartupModelProfileArgs): Promise<void>;
|
|
61
|
+
export declare function isStartupModelProfileCredentialRecoveryEligible(options: {
|
|
62
|
+
isInteractive: boolean;
|
|
63
|
+
hasInteractiveTerminal: boolean;
|
|
64
|
+
initialMessage: string | undefined;
|
|
65
|
+
initialMessages: readonly string[];
|
|
66
|
+
resumeAction: "continue-tail" | "open-idle" | undefined;
|
|
67
|
+
}): boolean;
|
|
68
|
+
export declare function applyStartupModelProfilesForRoot(args: StartupModelProfileArgs & {
|
|
69
|
+
isInteractive: boolean;
|
|
70
|
+
hasInteractiveTerminal: boolean;
|
|
71
|
+
initialMessage: string | undefined;
|
|
72
|
+
initialMessages: readonly string[];
|
|
73
|
+
resumeAction: "continue-tail" | "open-idle" | undefined;
|
|
74
|
+
}): Promise<{
|
|
75
|
+
recoverableErrors: string[];
|
|
76
|
+
}>;
|
|
79
77
|
interface InteractiveModeFactoryOptions {
|
|
80
78
|
session: AgentSession;
|
|
81
79
|
version: string;
|
|
@@ -105,15 +103,13 @@ export interface RlmPreset {
|
|
|
105
103
|
applyOptions: (options: CreateAgentSessionOptions, settings: Settings) => void;
|
|
106
104
|
onSessionCreated?: (session: AgentSession) => void | Promise<void>;
|
|
107
105
|
}
|
|
108
|
-
type RunRpcMode = (session: AgentSession, setToolUIContext?: CreateAgentSessionResult["setToolUIContext"], options?: {
|
|
109
|
-
listen?: string;
|
|
110
|
-
}) => Promise<void>;
|
|
111
|
-
type RunBridgeMode = (session: AgentSession, setToolUIContext?: CreateAgentSessionResult["setToolUIContext"]) => Promise<void>;
|
|
112
106
|
type RunPrintMode = (session: AgentSession, options: PrintModeOptions) => Promise<void>;
|
|
113
107
|
export interface RunRootCommandDependencies {
|
|
114
108
|
createAgentSession?: typeof createAgentSession;
|
|
115
109
|
discoverAuthStorage?: typeof discoverAuthStorage;
|
|
116
|
-
runAcpMode?: (
|
|
110
|
+
runAcpMode?: (options?: {
|
|
111
|
+
agentDir?: string;
|
|
112
|
+
}) => Promise<void>;
|
|
117
113
|
settings?: Settings;
|
|
118
114
|
rlmPreset?: RlmPreset;
|
|
119
115
|
suppressProcessExit?: boolean;
|
|
@@ -124,8 +120,6 @@ export interface RunRootCommandDependencies {
|
|
|
124
120
|
readPipedInput?: typeof readPipedInput;
|
|
125
121
|
runStartupCredentialAutoImportIfNeeded?: typeof runStartupCredentialAutoImportIfNeeded;
|
|
126
122
|
getChangelogForDisplay?: typeof getChangelogForDisplay;
|
|
127
|
-
runRpcMode?: RunRpcMode;
|
|
128
|
-
runBridgeMode?: RunBridgeMode;
|
|
129
123
|
createInteractiveMode?: CreateInteractiveMode;
|
|
130
124
|
runPrintMode?: RunPrintMode;
|
|
131
125
|
isResumePickerTerminal?: ResumePickerTerminalCheck;
|
|
@@ -1,56 +1,239 @@
|
|
|
1
1
|
import { type Agent, type AgentSideConnection, type AuthenticateRequest, type AuthenticateResponse, type ClientCapabilities, type CloseSessionRequest, type CloseSessionResponse, type DeleteSessionRequest, type DeleteSessionResponse, type ForkSessionRequest, type ForkSessionResponse, type InitializeRequest, type InitializeResponse, type ListSessionsRequest, type ListSessionsResponse, type LoadSessionRequest, type LoadSessionResponse, type NewSessionRequest, type NewSessionResponse, type PromptRequest, type PromptResponse, type ResumeSessionRequest, type ResumeSessionResponse, type SetSessionConfigOptionRequest, type SetSessionConfigOptionResponse, type SetSessionModeRequest, type SetSessionModeResponse } from "@agentclientprotocol/sdk";
|
|
2
|
-
import type
|
|
3
|
-
import type {
|
|
2
|
+
import { type AcpProviderRegistration, AcpSdkAdapter } from "../../sdk/acp";
|
|
3
|
+
import type { AcpStartupOptions } from "./startup-options";
|
|
4
|
+
export declare const ACP_BOOTSTRAP_RACE_GUARD_MS = 50;
|
|
5
|
+
type JsonObject = Record<string, unknown>;
|
|
6
|
+
/** Applies ACP's offset cursor after narrowing the broker listing to the requested cwd. */
|
|
7
|
+
export declare function paginateAcpSessions(listed: unknown[], cwd: string | undefined, offset: number): ListSessionsResponse;
|
|
8
|
+
export type TranscriptReplayBlock = {
|
|
9
|
+
type: "text";
|
|
10
|
+
text: string;
|
|
11
|
+
} | {
|
|
12
|
+
type: "image";
|
|
13
|
+
data: string;
|
|
14
|
+
mimeType: string;
|
|
15
|
+
};
|
|
4
16
|
/**
|
|
5
|
-
*
|
|
6
|
-
* `
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* `#scheduleBootstrapUpdates`. Exported so the ACP test harness can
|
|
10
|
-
* wait past this guard without hard-coding the literal.
|
|
17
|
+
* The production transcript query exposes durable `{ body, textSummary }`
|
|
18
|
+
* entries, not an ACP-shaped `content` array. Historical session JSONL has no
|
|
19
|
+
* recoverable image bytes, so replay exposes that boundary rather than
|
|
20
|
+
* pretending images were restored.
|
|
11
21
|
*/
|
|
12
|
-
export
|
|
13
|
-
|
|
22
|
+
export interface TranscriptReplayContent {
|
|
23
|
+
blocks: TranscriptReplayBlock[];
|
|
24
|
+
images: {
|
|
25
|
+
available: false;
|
|
26
|
+
reason: "historical_transcript_images_unavailable";
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export declare function transcriptReplayContent(entry: unknown): TranscriptReplayContent;
|
|
30
|
+
/** Maps live canonical SDK config and model queries into the ACP 1.2.1 session state surface. */
|
|
31
|
+
export declare function acpSessionStateFromConfig(query: unknown, modelsQuery?: unknown): {
|
|
32
|
+
configOptions: ({
|
|
33
|
+
id: string;
|
|
34
|
+
name: string;
|
|
35
|
+
type: "select";
|
|
36
|
+
currentValue: string;
|
|
37
|
+
options: {
|
|
38
|
+
value: string;
|
|
39
|
+
name: string;
|
|
40
|
+
}[];
|
|
41
|
+
} | {
|
|
42
|
+
id: "model";
|
|
43
|
+
name: "Model";
|
|
44
|
+
type: "select";
|
|
45
|
+
currentValue: string;
|
|
46
|
+
options: {
|
|
47
|
+
value: string;
|
|
48
|
+
name: string;
|
|
49
|
+
}[] | ({
|
|
50
|
+
readonly value: "all";
|
|
51
|
+
readonly name: "All";
|
|
52
|
+
} | {
|
|
53
|
+
readonly value: "one-at-a-time";
|
|
54
|
+
readonly name: "One at a time";
|
|
55
|
+
} | {
|
|
56
|
+
readonly value: "all";
|
|
57
|
+
readonly name: "All";
|
|
58
|
+
} | {
|
|
59
|
+
readonly value: "one-at-a-time";
|
|
60
|
+
readonly name: "One at a time";
|
|
61
|
+
} | {
|
|
62
|
+
readonly value: "immediate";
|
|
63
|
+
readonly name: "Immediate";
|
|
64
|
+
} | {
|
|
65
|
+
readonly value: "wait";
|
|
66
|
+
readonly name: "Wait";
|
|
67
|
+
})[];
|
|
68
|
+
} | {
|
|
69
|
+
id: "thinking";
|
|
70
|
+
name: "Thinking";
|
|
71
|
+
type: "select";
|
|
72
|
+
currentValue: string;
|
|
73
|
+
options: {
|
|
74
|
+
value: string;
|
|
75
|
+
name: string;
|
|
76
|
+
}[] | ({
|
|
77
|
+
readonly value: "all";
|
|
78
|
+
readonly name: "All";
|
|
79
|
+
} | {
|
|
80
|
+
readonly value: "one-at-a-time";
|
|
81
|
+
readonly name: "One at a time";
|
|
82
|
+
} | {
|
|
83
|
+
readonly value: "all";
|
|
84
|
+
readonly name: "All";
|
|
85
|
+
} | {
|
|
86
|
+
readonly value: "one-at-a-time";
|
|
87
|
+
readonly name: "One at a time";
|
|
88
|
+
} | {
|
|
89
|
+
readonly value: "immediate";
|
|
90
|
+
readonly name: "Immediate";
|
|
91
|
+
} | {
|
|
92
|
+
readonly value: "wait";
|
|
93
|
+
readonly name: "Wait";
|
|
94
|
+
})[];
|
|
95
|
+
} | {
|
|
96
|
+
id: "steeringMode";
|
|
97
|
+
name: "Steering queue";
|
|
98
|
+
type: "select";
|
|
99
|
+
currentValue: string;
|
|
100
|
+
options: {
|
|
101
|
+
value: string;
|
|
102
|
+
name: string;
|
|
103
|
+
}[] | ({
|
|
104
|
+
readonly value: "all";
|
|
105
|
+
readonly name: "All";
|
|
106
|
+
} | {
|
|
107
|
+
readonly value: "one-at-a-time";
|
|
108
|
+
readonly name: "One at a time";
|
|
109
|
+
} | {
|
|
110
|
+
readonly value: "all";
|
|
111
|
+
readonly name: "All";
|
|
112
|
+
} | {
|
|
113
|
+
readonly value: "one-at-a-time";
|
|
114
|
+
readonly name: "One at a time";
|
|
115
|
+
} | {
|
|
116
|
+
readonly value: "immediate";
|
|
117
|
+
readonly name: "Immediate";
|
|
118
|
+
} | {
|
|
119
|
+
readonly value: "wait";
|
|
120
|
+
readonly name: "Wait";
|
|
121
|
+
})[];
|
|
122
|
+
} | {
|
|
123
|
+
id: "followUpMode";
|
|
124
|
+
name: "Follow-up queue";
|
|
125
|
+
type: "select";
|
|
126
|
+
currentValue: string;
|
|
127
|
+
options: {
|
|
128
|
+
value: string;
|
|
129
|
+
name: string;
|
|
130
|
+
}[] | ({
|
|
131
|
+
readonly value: "all";
|
|
132
|
+
readonly name: "All";
|
|
133
|
+
} | {
|
|
134
|
+
readonly value: "one-at-a-time";
|
|
135
|
+
readonly name: "One at a time";
|
|
136
|
+
} | {
|
|
137
|
+
readonly value: "all";
|
|
138
|
+
readonly name: "All";
|
|
139
|
+
} | {
|
|
140
|
+
readonly value: "one-at-a-time";
|
|
141
|
+
readonly name: "One at a time";
|
|
142
|
+
} | {
|
|
143
|
+
readonly value: "immediate";
|
|
144
|
+
readonly name: "Immediate";
|
|
145
|
+
} | {
|
|
146
|
+
readonly value: "wait";
|
|
147
|
+
readonly name: "Wait";
|
|
148
|
+
})[];
|
|
149
|
+
} | {
|
|
150
|
+
id: "interruptMode";
|
|
151
|
+
name: "Interrupt mode";
|
|
152
|
+
type: "select";
|
|
153
|
+
currentValue: string;
|
|
154
|
+
options: {
|
|
155
|
+
value: string;
|
|
156
|
+
name: string;
|
|
157
|
+
}[] | ({
|
|
158
|
+
readonly value: "all";
|
|
159
|
+
readonly name: "All";
|
|
160
|
+
} | {
|
|
161
|
+
readonly value: "one-at-a-time";
|
|
162
|
+
readonly name: "One at a time";
|
|
163
|
+
} | {
|
|
164
|
+
readonly value: "all";
|
|
165
|
+
readonly name: "All";
|
|
166
|
+
} | {
|
|
167
|
+
readonly value: "one-at-a-time";
|
|
168
|
+
readonly name: "One at a time";
|
|
169
|
+
} | {
|
|
170
|
+
readonly value: "immediate";
|
|
171
|
+
readonly name: "Immediate";
|
|
172
|
+
} | {
|
|
173
|
+
readonly value: "wait";
|
|
174
|
+
readonly name: "Wait";
|
|
175
|
+
})[];
|
|
176
|
+
})[];
|
|
177
|
+
modes: {
|
|
178
|
+
availableModes: {
|
|
179
|
+
id: string;
|
|
180
|
+
name: string;
|
|
181
|
+
}[];
|
|
182
|
+
currentModeId: string;
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
/** Convert every ACP prompt block the agent advertises without silently discarding context. */
|
|
186
|
+
export declare function acpPromptPayload(blocks: PromptRequest["prompt"]): {
|
|
187
|
+
text: string;
|
|
188
|
+
images: Array<{
|
|
189
|
+
data: string;
|
|
190
|
+
mimeType: string;
|
|
191
|
+
}>;
|
|
192
|
+
};
|
|
193
|
+
/** Registers a permission provider only when the ACP client requires prompts. */
|
|
194
|
+
export declare function acpProviderRegistrations(capabilities: ClientCapabilities | undefined, env?: NodeJS.ProcessEnv): AcpProviderRegistration[];
|
|
195
|
+
/** Maps ACP permission handling to the session's canonical SDK policy. */
|
|
196
|
+
export declare function applyAcpPermissionMode(adapter: Pick<AcpSdkAdapter, "control">, capabilities: ClientCapabilities | undefined, env?: NodeJS.ProcessEnv): Promise<void>;
|
|
197
|
+
/** Applies CLI-provided ACP startup settings through SDK controls before session exposure. */
|
|
198
|
+
export declare function applyAcpStartupOptions(adapter: Pick<AcpSdkAdapter, "setModel" | "control">, options: AcpStartupOptions | undefined): Promise<void>;
|
|
199
|
+
/** ACP form elicitation uses the client-facing reverse surface without owning a session runtime. */
|
|
200
|
+
export declare function createAcpExtensionUiContext(connection: AgentSideConnection, getSessionId: () => string, capabilities: ClientCapabilities | undefined): {
|
|
201
|
+
select: (message: string, options: string[], dialog?: {
|
|
202
|
+
signal?: AbortSignal;
|
|
203
|
+
timeout?: number;
|
|
204
|
+
onTimeout?: () => void;
|
|
205
|
+
}) => Promise<string | undefined>;
|
|
206
|
+
confirm: (message: string, detail?: string, dialog?: {
|
|
207
|
+
signal?: AbortSignal;
|
|
208
|
+
timeout?: number;
|
|
209
|
+
onTimeout?: () => void;
|
|
210
|
+
}) => Promise<boolean>;
|
|
211
|
+
input: (message: string, placeholder?: string, dialog?: {
|
|
212
|
+
signal?: AbortSignal;
|
|
213
|
+
timeout?: number;
|
|
214
|
+
onTimeout?: () => void;
|
|
215
|
+
}) => Promise<string | undefined>;
|
|
216
|
+
};
|
|
14
217
|
/**
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* that mutates when an extension command calls `ctx.newSession` /
|
|
20
|
-
* `ctx.switchSession` — snapshotting it once at factory time would route
|
|
21
|
-
* later elicitations to the pre-switch id. Live reads keep the bridge
|
|
22
|
-
* symmetric with every other `sessionUpdate` call in this file
|
|
23
|
-
* (`record.session.sessionId` is always evaluated at emit time).
|
|
24
|
-
*
|
|
25
|
-
* The non-elicitation surface (custom components, editor, theming,
|
|
26
|
-
* terminal input) remains stubbed — ACP clients render those themselves
|
|
27
|
-
* or not at all. Capability gating respects the client's `initialize`
|
|
28
|
-
* advertisement.
|
|
218
|
+
* ACP is a pure SDK client. Session processes are created and resumed by the
|
|
219
|
+
* broker, while all per-session operations use that session's authenticated SDK
|
|
220
|
+
* endpoint. This class deliberately imports neither AgentSession nor any local
|
|
221
|
+
* runtime host component.
|
|
29
222
|
*/
|
|
30
|
-
export declare function createAcpExtensionUiContext(connection: AgentSideConnection, getSessionId: () => string, clientCapabilities: ClientCapabilities | undefined): ExtensionUIContext;
|
|
31
223
|
export declare class AcpAgent implements Agent {
|
|
32
224
|
#private;
|
|
33
|
-
constructor(connection: AgentSideConnection,
|
|
34
|
-
|
|
225
|
+
constructor(connection: AgentSideConnection, options?: {
|
|
226
|
+
agentDir?: string;
|
|
227
|
+
startupOptions?: AcpStartupOptions;
|
|
228
|
+
} | unknown);
|
|
35
229
|
initialize(params: InitializeRequest): Promise<InitializeResponse>;
|
|
36
230
|
authenticate(params: AuthenticateRequest): Promise<AuthenticateResponse>;
|
|
37
231
|
newSession(params: NewSessionRequest): Promise<NewSessionResponse>;
|
|
38
232
|
loadSession(params: LoadSessionRequest): Promise<LoadSessionResponse>;
|
|
39
|
-
listSessions(params: ListSessionsRequest): Promise<ListSessionsResponse>;
|
|
40
233
|
resumeSession(params: ResumeSessionRequest): Promise<ResumeSessionResponse>;
|
|
41
234
|
unstable_forkSession(params: ForkSessionRequest): Promise<ForkSessionResponse>;
|
|
235
|
+
listSessions(params: ListSessionsRequest): Promise<ListSessionsResponse>;
|
|
42
236
|
closeSession(params: CloseSessionRequest): Promise<CloseSessionResponse>;
|
|
43
|
-
/**
|
|
44
|
-
* Hard delete an ACP session. `DeleteSessionRequest` carries only `sessionId`;
|
|
45
|
-
* the server owns authorization through the immutable canonical cwd scope and
|
|
46
|
-
* the complete strict scoped inventory snapshot.
|
|
47
|
-
*
|
|
48
|
-
* - No scope / unknown / already-deleted id → lookup-free `{}`.
|
|
49
|
-
* - Duplicate/conflict id → visible error; neither transcript nor artifacts change.
|
|
50
|
-
* - Active session → reserve `deleting`, drain/cancel prompt, flush, strict
|
|
51
|
-
* dispose/close, recheck identity/state, then verified artifact-first deletion.
|
|
52
|
-
* - Concurrent delete callers join the terminal promise.
|
|
53
|
-
*/
|
|
54
237
|
deleteSession(params: DeleteSessionRequest): Promise<DeleteSessionResponse>;
|
|
55
238
|
setSessionMode(params: SetSessionModeRequest): Promise<SetSessionModeResponse>;
|
|
56
239
|
setSessionConfigOption(params: SetSessionConfigOptionRequest): Promise<SetSessionConfigOptionResponse>;
|
|
@@ -58,21 +241,9 @@ export declare class AcpAgent implements Agent {
|
|
|
58
241
|
cancel(params: {
|
|
59
242
|
sessionId: string;
|
|
60
243
|
}): Promise<void>;
|
|
61
|
-
extMethod(method: string, params:
|
|
62
|
-
|
|
63
|
-
}): Promise<{
|
|
64
|
-
[key: string]: unknown;
|
|
65
|
-
}>;
|
|
66
|
-
extNotification(_method: string, _params: {
|
|
67
|
-
[key: string]: unknown;
|
|
68
|
-
}): Promise<void>;
|
|
244
|
+
extMethod(method: string, params: JsonObject): Promise<JsonObject>;
|
|
245
|
+
extNotification(_method: string, _params: JsonObject): Promise<void>;
|
|
69
246
|
get signal(): AbortSignal;
|
|
70
247
|
get closed(): Promise<void>;
|
|
71
|
-
/**
|
|
72
|
-
* Connection-local shutdown promise. Resolves once all terminal work (dispose,
|
|
73
|
-
* active deletes, abort cleanup) has settled. `acp-mode.ts` awaits this after
|
|
74
|
-
* transport closure so `process.exit` never kills in-flight deletion/disposal.
|
|
75
|
-
*/
|
|
76
|
-
get shutdownPromise(): Promise<void>;
|
|
77
248
|
}
|
|
78
249
|
export {};
|
|
@@ -6,4 +6,5 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { AgentSideConnection, ClientCapabilities } from "@agentclientprotocol/sdk";
|
|
8
8
|
import type { ClientBridge } from "../../session/client-bridge";
|
|
9
|
+
export { type AcpPermissionMode, resolveAcpPermissionMode } from "./permission-mode";
|
|
9
10
|
export declare function createAcpClientBridge(connection: AgentSideConnection, sessionId: string, clientCapabilities: ClientCapabilities | undefined): ClientBridge;
|
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
import { AgentSideConnection, type Stream } from "@agentclientprotocol/sdk";
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
connection: AgentSideConnection;
|
|
7
|
-
agent: AcpAgent;
|
|
2
|
+
import type { AcpStartupOptions } from "./startup-options";
|
|
3
|
+
export interface AcpModeOptions {
|
|
4
|
+
agentDir?: string;
|
|
5
|
+
startupOptions?: AcpStartupOptions;
|
|
8
6
|
}
|
|
9
|
-
export declare function createAcpConnection(transport: Stream,
|
|
10
|
-
|
|
11
|
-
* Create an ACP connection and return both the {@link AgentSideConnection} and the
|
|
12
|
-
* underlying {@link AcpAgent}. Callers that need to await agent shutdown (terminal
|
|
13
|
-
* delete/dispose work) after transport closure should use this instead of
|
|
14
|
-
* {@link createAcpConnection}.
|
|
15
|
-
*/
|
|
16
|
-
export declare function createAcpConnectionWithAgent(transport: Stream, createSession: AcpSessionFactory, initialSession?: AgentSession): AcpConnectionHandle;
|
|
17
|
-
export declare function runAcpMode(createSession: AcpSessionFactory, initialSession?: AgentSession): Promise<never>;
|
|
7
|
+
export declare function createAcpConnection(transport: Stream, options?: AcpModeOptions): AgentSideConnection;
|
|
8
|
+
export declare function runAcpMode(options?: AcpModeOptions): Promise<never>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ClientCapabilities } from "@agentclientprotocol/sdk";
|
|
2
|
+
export type AcpPermissionMode = "auto" | "prompt" | "always-allow";
|
|
3
|
+
/** Client metadata is authoritative; the process environment is only a fallback when that field is absent. */
|
|
4
|
+
export declare function resolveAcpPermissionMode(clientCapabilities: ClientCapabilities | undefined, env?: NodeJS.ProcessEnv): AcpPermissionMode;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { Container } from "@gajae-code/tui";
|
|
2
2
|
import type { ModelRegistry } from "../../config/model-registry";
|
|
3
|
+
import { type ModelSelectorValue } from "../../config/model-selector-value";
|
|
3
4
|
import { Settings } from "../../config/settings";
|
|
4
5
|
interface AgentDashboardModelContext {
|
|
5
6
|
modelRegistry?: ModelRegistry;
|
|
6
7
|
activeModelPattern?: string;
|
|
7
8
|
defaultModelPattern?: string;
|
|
8
9
|
}
|
|
10
|
+
export declare function resolveAgentCreationModel(modelPatterns: string[], modelRegistry: ModelRegistry, settings: Settings | undefined): import("@gajae-code/ai").Model<import("@gajae-code/ai").Api>;
|
|
11
|
+
export declare function updateAgentModelOverride(overrides: Record<string, ModelSelectorValue>, agentName: string, rawValue: string): Record<string, ModelSelectorValue>;
|
|
9
12
|
export declare class AgentDashboard extends Container {
|
|
10
13
|
#private;
|
|
11
14
|
private readonly cwd;
|
|
@@ -47,6 +47,7 @@ export declare class ModelSelectorComponent extends Container {
|
|
|
47
47
|
isCurrentModelFastModeActive?: () => boolean;
|
|
48
48
|
currentThinkingLevel?: ThinkingLevel;
|
|
49
49
|
activeModelProfile?: string;
|
|
50
|
+
configuredDefaultChain?: readonly string[];
|
|
50
51
|
});
|
|
51
52
|
refreshRoleAssignments(options?: {
|
|
52
53
|
currentModel?: Model;
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { type Component, type Focusable, type SecretValue } from "@gajae-code/tui";
|
|
2
|
+
import type { CasReceipt } from "../../config/atomic-yaml-patch";
|
|
3
|
+
import type { BlockedTelegramRestoreResult, ProposedTelegramIdentity, TelegramDaemonReconnectOutcome } from "../../sdk/bus/notification-orchestration";
|
|
4
|
+
import type { NotificationHealthReport, NotificationRecoveryReport, NotificationStatusReport, NotificationTestResult } from "../../sdk/bus/notification-service";
|
|
5
|
+
import type { NotificationSessionReconcileResult, NotificationSessionStatus } from "../../sdk/bus/session-control";
|
|
6
|
+
/** Safe scalar notification preferences. Credentials and destination IDs are deliberately absent. */
|
|
7
|
+
export interface NotificationsEditorPreferences {
|
|
8
|
+
redact: boolean;
|
|
9
|
+
verbosity: "lean" | "verbose";
|
|
10
|
+
sessionScope: "all" | "primary";
|
|
11
|
+
richEnabled: boolean;
|
|
12
|
+
richDraftEnabled: boolean;
|
|
13
|
+
}
|
|
14
|
+
/** Secret-safe snapshot used to render the Notifications tab. */
|
|
15
|
+
export interface NotificationsEditorState {
|
|
16
|
+
status: NotificationStatusReport;
|
|
17
|
+
session: NotificationSessionStatus;
|
|
18
|
+
preferences: NotificationsEditorPreferences;
|
|
19
|
+
health?: NotificationHealthReport;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* A one-way setup value accepted from the masked input. The operation adapter
|
|
23
|
+
* consumes the secret and returns a safe-to-render prepared draft.
|
|
24
|
+
*/
|
|
25
|
+
export interface NotificationsEditorSetupInput {
|
|
26
|
+
token: SecretValue;
|
|
27
|
+
/** Optional: omit to use daemon-aware private-chat discovery when polling is safe. */
|
|
28
|
+
chatId?: string;
|
|
29
|
+
richEnabled: boolean;
|
|
30
|
+
richDraftEnabled: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Secret-safe setup draft. The adapter may retain its private credential while
|
|
34
|
+
* this object is live, but no raw token is exposed through this contract.
|
|
35
|
+
*/
|
|
36
|
+
export interface PreparedTelegramConfiguration {
|
|
37
|
+
chatId: string;
|
|
38
|
+
tokenMask: string;
|
|
39
|
+
tokenFingerprint?: string;
|
|
40
|
+
richEnabled: boolean;
|
|
41
|
+
richDraftEnabled: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface NotificationsPreflightResult {
|
|
44
|
+
status: "ready" | "aborted" | "cancelled" | "error";
|
|
45
|
+
identity: ProposedTelegramIdentity;
|
|
46
|
+
message: string;
|
|
47
|
+
pairingSource?: "discovered" | "provided" | "reused";
|
|
48
|
+
draft?: PreparedTelegramConfiguration;
|
|
49
|
+
}
|
|
50
|
+
/** A successful configuration save always carries an opaque CAS receipt. */
|
|
51
|
+
export type NotificationsConfigureCommitResult = {
|
|
52
|
+
status: "saved";
|
|
53
|
+
receipt: CasReceipt;
|
|
54
|
+
message: string;
|
|
55
|
+
} | {
|
|
56
|
+
status: "blocked_identity";
|
|
57
|
+
receipt: CasReceipt;
|
|
58
|
+
message: string;
|
|
59
|
+
restore(): Promise<BlockedTelegramRestoreResult>;
|
|
60
|
+
retainCommitted(): void;
|
|
61
|
+
};
|
|
62
|
+
export interface NotificationsMutationResult {
|
|
63
|
+
message: string;
|
|
64
|
+
receipt?: CasReceipt;
|
|
65
|
+
}
|
|
66
|
+
export type NotificationsSaveInactiveResult = {
|
|
67
|
+
status: "saved_inactive";
|
|
68
|
+
receipt: CasReceipt;
|
|
69
|
+
message: string;
|
|
70
|
+
} | {
|
|
71
|
+
status: "unavailable";
|
|
72
|
+
guidance: string;
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Controller-injected boundary for the direct Notifications editor.
|
|
76
|
+
*
|
|
77
|
+
* The component only renders this contract and sends user intent through it:
|
|
78
|
+
* it never reads Settings, starts a daemon, or calls notification services.
|
|
79
|
+
*/
|
|
80
|
+
export interface NotificationsEditorOperations {
|
|
81
|
+
/** Combines a buildNotificationStatusReport-shaped status snapshot with the current session-control query. */
|
|
82
|
+
loadState(): Promise<NotificationsEditorState>;
|
|
83
|
+
/** Performs offline health refreshes and a non-cancellable reachability probe when requested. */
|
|
84
|
+
refreshHealth(input: {
|
|
85
|
+
probe: boolean;
|
|
86
|
+
signal?: AbortSignal;
|
|
87
|
+
}): Promise<NotificationHealthReport>;
|
|
88
|
+
sendTest(): Promise<NotificationTestResult>;
|
|
89
|
+
recover(): Promise<NotificationRecoveryReport>;
|
|
90
|
+
reconnect(): Promise<TelegramDaemonReconnectOutcome>;
|
|
91
|
+
/** Validates/discovers a Telegram destination and returns a secret-safe prepared draft. */
|
|
92
|
+
preflightProposedIdentity(input: NotificationsEditorSetupInput, signal: AbortSignal): Promise<NotificationsPreflightResult>;
|
|
93
|
+
/** Atomically persists a prepared Telegram configuration and returns its CAS-backed receipt. */
|
|
94
|
+
commitConfigure(draft: PreparedTelegramConfiguration): Promise<NotificationsConfigureCommitResult>;
|
|
95
|
+
/** Stores a prepared Telegram configuration inactive when the mixed-adapter rule permits it. */
|
|
96
|
+
saveInactive(draft: PreparedTelegramConfiguration): Promise<NotificationsSaveInactiveResult>;
|
|
97
|
+
/** Clears adapter-local ephemeral credential material for a prepared setup draft. Idempotent. */
|
|
98
|
+
discardConfigureDraft(draft: PreparedTelegramConfiguration): void;
|
|
99
|
+
/** Enables globally without requesting or exposing a credential. */
|
|
100
|
+
enableGlobally(): Promise<NotificationsMutationResult>;
|
|
101
|
+
disableGlobally(): Promise<NotificationsMutationResult>;
|
|
102
|
+
/** Removes only Telegram configuration; the adapter preserves Discord/Slack when configured. */
|
|
103
|
+
removeTelegram(): Promise<NotificationsMutationResult & {
|
|
104
|
+
globallyDisabled?: boolean;
|
|
105
|
+
}>;
|
|
106
|
+
setSessionLocal(enabled: boolean): Promise<NotificationSessionReconcileResult>;
|
|
107
|
+
/** Atomically persists the scalar preference draft. */
|
|
108
|
+
commitPreferences(preferences: NotificationsEditorPreferences): Promise<NotificationsMutationResult>;
|
|
109
|
+
/** Reconciles the current session after durable global configuration changes. */
|
|
110
|
+
reconcileCurrentSession(): Promise<NotificationSessionReconcileResult>;
|
|
111
|
+
}
|
|
112
|
+
export interface NotificationsSettingsEditorCallbacks {
|
|
113
|
+
onCancel?: () => void;
|
|
114
|
+
}
|
|
115
|
+
type EditorMode = "home" | "provider-selection" | "chat-entry" | "token-entry" | "pairing" | "review" | "preferences" | "confirmation";
|
|
116
|
+
/**
|
|
117
|
+
* Direct tab content for notification setup and operations. It is deliberately
|
|
118
|
+
* independent of Settings and notification services; WI7b injects the adapter.
|
|
119
|
+
*/
|
|
120
|
+
export declare class NotificationsSettingsEditorComponent implements Component, Focusable {
|
|
121
|
+
#private;
|
|
122
|
+
private readonly operations;
|
|
123
|
+
private readonly callbacks;
|
|
124
|
+
focused: boolean;
|
|
125
|
+
constructor(operations: NotificationsEditorOperations, callbacks?: NotificationsSettingsEditorCallbacks);
|
|
126
|
+
/** True while a guarded operation or blocked restore/retain decision owns the editor. */
|
|
127
|
+
get navigationLocked(): boolean;
|
|
128
|
+
/** Current state is exposed for selector lifecycle coordination and focused tests. */
|
|
129
|
+
get mode(): EditorMode;
|
|
130
|
+
invalidate(): void;
|
|
131
|
+
dispose(): void;
|
|
132
|
+
render(width: number): string[];
|
|
133
|
+
handleInput(data: string): void;
|
|
134
|
+
}
|
|
135
|
+
export {};
|