@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,19 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Settings singleton with sync get/set and background persistence.
|
|
3
|
-
*
|
|
4
|
-
* Usage:
|
|
5
|
-
* import { settings } from "./settings";
|
|
6
|
-
*
|
|
7
|
-
* const enabled = settings.get("compaction.enabled"); // sync read
|
|
8
|
-
* settings.set("theme.dark", "red-claw"); // sync write, saves in background
|
|
9
|
-
*
|
|
10
|
-
* For tests:
|
|
11
|
-
* const isolated = Settings.isolated({ "compaction.enabled": false });
|
|
12
|
-
*/
|
|
13
1
|
import { procmgr } from "@gajae-code/utils";
|
|
14
2
|
import type { ModelRole } from "../config/model-registry";
|
|
3
|
+
import type { NotificationSettingsReader, NotificationSettingsSnapshot } from "../sdk/bus/config";
|
|
15
4
|
import { AgentStorage } from "../session/agent-storage";
|
|
16
5
|
import { type EditMode } from "../utils/edit-mode";
|
|
6
|
+
import { type CasReceipt } from "./atomic-yaml-patch";
|
|
7
|
+
import { type ModelSelectorValue } from "./model-selector-value";
|
|
17
8
|
import { type BashInterceptorRule, type GroupPrefix, type GroupTypeMap, type SettingPath, type SettingValue } from "./settings-schema";
|
|
18
9
|
export type * from "./settings-schema";
|
|
19
10
|
export * from "./settings-schema";
|
|
@@ -21,6 +12,22 @@ export * from "./settings-schema";
|
|
|
21
12
|
export interface RawSettings {
|
|
22
13
|
[key: string]: unknown;
|
|
23
14
|
}
|
|
15
|
+
export type SettingsAtomicPatch = {
|
|
16
|
+
path: SettingPath;
|
|
17
|
+
op: "set";
|
|
18
|
+
value: unknown;
|
|
19
|
+
} | {
|
|
20
|
+
path: SettingPath;
|
|
21
|
+
op: "unset";
|
|
22
|
+
};
|
|
23
|
+
export type SettingsAtomicReceipt = CasReceipt;
|
|
24
|
+
export interface GlobalDefaultModelRoleCommit {
|
|
25
|
+
readonly previousDefault: ModelSelectorValue | undefined;
|
|
26
|
+
readonly previousModelRolesExisted: boolean;
|
|
27
|
+
readonly committedDefault: ModelSelectorValue | undefined;
|
|
28
|
+
readonly committedConfigVersion?: string;
|
|
29
|
+
readonly defaultRevision: number;
|
|
30
|
+
}
|
|
24
31
|
export interface SettingsOptions {
|
|
25
32
|
/** Current working directory for project settings discovery */
|
|
26
33
|
cwd?: string;
|
|
@@ -31,7 +38,17 @@ export interface SettingsOptions {
|
|
|
31
38
|
/** Initial overrides */
|
|
32
39
|
overrides?: Partial<Record<SettingPath, unknown>>;
|
|
33
40
|
}
|
|
34
|
-
|
|
41
|
+
/** Additional layer setup for {@link Settings.isolated}. */
|
|
42
|
+
export interface IsolatedSettingsOptions {
|
|
43
|
+
/** Initial runtime overrides. Notification paths are rejected. */
|
|
44
|
+
overrides?: Partial<Record<SettingPath, unknown>>;
|
|
45
|
+
}
|
|
46
|
+
/** Raised when an ephemeral override attempts to change global-only notification settings. */
|
|
47
|
+
export declare class NotificationSettingsOverrideError extends Error {
|
|
48
|
+
readonly path: SettingPath;
|
|
49
|
+
constructor(path: SettingPath);
|
|
50
|
+
}
|
|
51
|
+
export declare class Settings implements NotificationSettingsReader {
|
|
35
52
|
#private;
|
|
36
53
|
private constructor();
|
|
37
54
|
/**
|
|
@@ -40,10 +57,10 @@ export declare class Settings {
|
|
|
40
57
|
*/
|
|
41
58
|
static init(options?: SettingsOptions): Promise<Settings>;
|
|
42
59
|
/**
|
|
43
|
-
* Create an isolated instance for testing.
|
|
60
|
+
* Create an isolated instance for testing with explicit user/global settings.
|
|
44
61
|
* Does not affect the global singleton.
|
|
45
62
|
*/
|
|
46
|
-
static isolated(
|
|
63
|
+
static isolated(globalSettings?: Partial<Record<SettingPath, unknown>>, options?: IsolatedSettingsOptions): Settings;
|
|
47
64
|
/**
|
|
48
65
|
* Get the global singleton.
|
|
49
66
|
* Throws if not initialized.
|
|
@@ -61,14 +78,32 @@ export declare class Settings {
|
|
|
61
78
|
* activated by project-scoped config files.
|
|
62
79
|
*/
|
|
63
80
|
getGlobal<P extends SettingPath>(path: P): SettingValue<P> | undefined;
|
|
81
|
+
/**
|
|
82
|
+
* Read the remote-notification settings from the user/global layer only.
|
|
83
|
+
* Schema defaults are applied per path; project settings and runtime overrides
|
|
84
|
+
* are deliberately excluded from this trust boundary.
|
|
85
|
+
*/
|
|
86
|
+
getNotificationSettingsSnapshot(): NotificationSettingsSnapshot;
|
|
64
87
|
/** Check whether a setting is present in loaded settings/overrides rather than coming from schema defaults. */
|
|
65
88
|
has(path: SettingPath): boolean;
|
|
66
89
|
/**
|
|
67
90
|
* Set a setting value (sync).
|
|
68
|
-
* Updates global settings and
|
|
69
|
-
*
|
|
91
|
+
* Updates global settings and reserves its background persistence slot before
|
|
92
|
+
* returning, so later durable batches cannot overtake this mutation.
|
|
70
93
|
*/
|
|
71
|
-
set<P extends SettingPath>(path: P, value: SettingValue<P>): void;
|
|
94
|
+
set<P extends SettingPath>(path: P, value: SettingValue<P> | undefined): void;
|
|
95
|
+
/**
|
|
96
|
+
* Delete a global setting (sync), rather than serializing an ambiguous YAML
|
|
97
|
+
* `undefined` value. Defaults/project settings become visible immediately.
|
|
98
|
+
*/
|
|
99
|
+
unset<P extends SettingPath>(path: P): void;
|
|
100
|
+
/**
|
|
101
|
+
* Persist a tagged batch as one atomic YAML replacement. Unlike ordinary
|
|
102
|
+
* {@link set}, canonical state and hooks change only after the rename succeeds.
|
|
103
|
+
*/
|
|
104
|
+
commitAtomicBatch(patches: readonly SettingsAtomicPatch[]): Promise<CasReceipt>;
|
|
105
|
+
/** Build a durable batch from the current on-disk YAML under the shared queue and file lock. */
|
|
106
|
+
commitAtomicBatchWithCurrent(buildPatches: (current: Readonly<RawSettings>) => Promise<readonly SettingsAtomicPatch[]> | readonly SettingsAtomicPatch[]): Promise<CasReceipt>;
|
|
72
107
|
/**
|
|
73
108
|
* Apply runtime overrides (not persisted).
|
|
74
109
|
*/
|
|
@@ -77,17 +112,9 @@ export declare class Settings {
|
|
|
77
112
|
* Clear a runtime override.
|
|
78
113
|
*/
|
|
79
114
|
clearOverride(path: SettingPath): void;
|
|
80
|
-
/**
|
|
81
|
-
* Flush any pending saves to disk.
|
|
82
|
-
* Call before exit to ensure all changes are persisted.
|
|
83
|
-
*/
|
|
115
|
+
/** Flush a reserved debounced save without allowing it to be overtaken. */
|
|
84
116
|
flush(): Promise<void>;
|
|
85
|
-
/**
|
|
86
|
-
* Like {@link flush}, but rejects if the durable save fails instead of
|
|
87
|
-
* swallowing the error. Use where the caller must confirm persistence before
|
|
88
|
-
* reporting success (e.g. the Telegram `/rich` toggle). In-memory instances
|
|
89
|
-
* ({@link isolated}) short-circuit in {@link #saveNow} and never throw.
|
|
90
|
-
*/
|
|
117
|
+
/** Like {@link flush}, but reports a durable save failure to the caller. */
|
|
91
118
|
flushOrThrow(): Promise<void>;
|
|
92
119
|
cloneForCwd(cwd: string): Promise<Settings>;
|
|
93
120
|
getStorage(): AgentStorage | null;
|
|
@@ -114,9 +141,10 @@ export declare class Settings {
|
|
|
114
141
|
/**
|
|
115
142
|
* Set a model role (helper for modelRoles record).
|
|
116
143
|
*/
|
|
117
|
-
setModelRole(role: ModelRole | string, modelId:
|
|
118
|
-
setGlobalModelRole(role: ModelRole | string, modelId:
|
|
119
|
-
setGlobalModelRoleAndFlush(role: ModelRole | string, modelId:
|
|
144
|
+
setModelRole(role: ModelRole | string, modelId: ModelSelectorValue): void;
|
|
145
|
+
setGlobalModelRole(role: ModelRole | string, modelId: ModelSelectorValue | undefined): void;
|
|
146
|
+
setGlobalModelRoleAndFlush(role: ModelRole | string, modelId: ModelSelectorValue | undefined): Promise<GlobalDefaultModelRoleCommit>;
|
|
147
|
+
restoreGlobalDefaultModelRoleIfCurrent(commit: GlobalDefaultModelRoleCommit): Promise<boolean>;
|
|
120
148
|
/**
|
|
121
149
|
* Set an agent model override while keeping any live runtime override aligned.
|
|
122
150
|
*
|
|
@@ -124,16 +152,16 @@ export declare class Settings {
|
|
|
124
152
|
* session. A user-selected role assignment must win immediately in that same
|
|
125
153
|
* session, but only the explicit agent change should be persisted.
|
|
126
154
|
*/
|
|
127
|
-
setAgentModelOverride(agentName: string, modelId:
|
|
155
|
+
setAgentModelOverride(agentName: string, modelId: ModelSelectorValue): void;
|
|
128
156
|
/**
|
|
129
157
|
* Get a model role (helper for modelRoles record).
|
|
130
158
|
*/
|
|
131
|
-
getModelRole(role: ModelRole | string):
|
|
159
|
+
getModelRole(role: ModelRole | string): ModelSelectorValue | undefined;
|
|
132
160
|
/**
|
|
133
161
|
* Get all model roles (helper for modelRoles record).
|
|
134
162
|
*/
|
|
135
|
-
getModelRoles():
|
|
136
|
-
overrideModelRoles(roles:
|
|
163
|
+
getModelRoles(): Readonly<Record<string, ModelSelectorValue>>;
|
|
164
|
+
overrideModelRoles(roles: Readonly<Record<string, ModelSelectorValue>>): void;
|
|
137
165
|
/**
|
|
138
166
|
* Set disabled providers (for compatibility with discovery system).
|
|
139
167
|
*/
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
export interface CoordinatorModelProfile {
|
|
2
|
+
name: string;
|
|
3
|
+
}
|
|
2
4
|
/**
|
|
3
|
-
* Loads the merged built-in + custom model-profile
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* in the shared models config, which the child inherits, so both sides agree.
|
|
5
|
+
* Loads the merged built-in + custom model-profile names from `models.yml`
|
|
6
|
+
* without loading the session-host model registry. The child still owns
|
|
7
|
+
* profile activation; this validates the selection before session creation.
|
|
7
8
|
*/
|
|
8
|
-
export type CoordinatorModelProfileLoader = () => Map<string,
|
|
9
|
+
export type CoordinatorModelProfileLoader = () => Map<string, CoordinatorModelProfile> | Promise<Map<string, CoordinatorModelProfile>>;
|
|
9
10
|
/**
|
|
10
11
|
* Thrown by the default loader when `models.yml` exists but is invalid or
|
|
11
12
|
* unreadable. This lets the resolver fail closed with a distinct, stable reason
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { COORDINATOR_MCP_PROTOCOL_VERSION, COORDINATOR_MCP_SERVER_NAME, COORDINATOR_MCP_TOOL_NAMES, type CoordinatorToolName } from "../coordinator/contract";
|
|
2
|
-
import {
|
|
2
|
+
import { SdkClient } from "../sdk/client/client";
|
|
3
3
|
import { type CoordinatorModelProfileLoader } from "./model-preset";
|
|
4
4
|
import { type CoordinatorMcpConfig } from "./policy";
|
|
5
5
|
import { type SessionReaper } from "./session-reaper";
|
|
@@ -22,71 +22,28 @@ interface JsonRpcResponse {
|
|
|
22
22
|
data?: unknown;
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
-
interface SessionStartInput {
|
|
26
|
-
cwd: string;
|
|
27
|
-
prompt?: string;
|
|
28
|
-
mpreset?: string | null;
|
|
29
|
-
namespace: {
|
|
30
|
-
profile: string | null;
|
|
31
|
-
repo: string | null;
|
|
32
|
-
};
|
|
33
|
-
worktree: true;
|
|
34
|
-
sessionId: string;
|
|
35
|
-
launchId: string;
|
|
36
|
-
/** Canonical, coordinator-owned immutable readiness marker path. */
|
|
37
|
-
readinessMarkerFile: string;
|
|
38
|
-
/** @deprecated Compatibility alias for injected launch providers. */
|
|
39
|
-
readinessFile: string;
|
|
40
|
-
}
|
|
41
|
-
interface CommandResult {
|
|
42
|
-
exitCode: number;
|
|
43
|
-
stdout: string;
|
|
44
|
-
stderr: string;
|
|
45
|
-
}
|
|
46
|
-
type CommandRunner = (command: string[], stdinLine?: string) => Promise<CommandResult>;
|
|
47
25
|
interface CoordinatorServices {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
commandRunner?: CommandRunner;
|
|
51
|
-
forceCloseSession?: (sessionName: string, env: NodeJS.ProcessEnv, expectedSessionId?: string, expectedStateFile?: string) => Promise<unknown>;
|
|
52
|
-
ownerIsolationProbe?: OwnerIsolationProbe;
|
|
26
|
+
connectSdk?: (url: string, token: string) => Promise<SdkClient>;
|
|
27
|
+
getAgentDir?: () => string;
|
|
53
28
|
resolveModelProfiles?: CoordinatorModelProfileLoader;
|
|
29
|
+
canonicalizePath?: (value: string) => Promise<string>;
|
|
54
30
|
}
|
|
55
31
|
interface CoordinatorMcpServerOptions {
|
|
56
32
|
env?: NodeJS.ProcessEnv;
|
|
57
33
|
services?: CoordinatorServices;
|
|
34
|
+
platform?: NodeJS.Platform;
|
|
58
35
|
}
|
|
59
36
|
interface LegacyHandlerOptions {
|
|
60
37
|
env?: NodeJS.ProcessEnv;
|
|
61
|
-
createSession?: (input: SessionStartInput) => unknown;
|
|
62
38
|
}
|
|
63
|
-
/**
|
|
64
|
-
* Append an authoritative `--mpreset <profile>` to the coordinator child launch
|
|
65
|
-
* command so the spawned GJC session activates the selected profile from its
|
|
66
|
-
* first turn. The profile name is validated against the merged registry before
|
|
67
|
-
* reaching here; it is still shell-quoted as defense in depth.
|
|
68
|
-
*
|
|
69
|
-
* Precedence note: this matches `gjc --mpreset <profile>` semantics exactly, so
|
|
70
|
-
* an explicit model-affecting flag already present in the operator-configured
|
|
71
|
-
* `sessionCommand` (e.g. a `--model`/`--thinking` baked into the launch command)
|
|
72
|
-
* follows the same CLI precedence as a direct `gjc --mpreset ... --model ...`
|
|
73
|
-
* invocation. The effective profile recorded on the session is the
|
|
74
|
-
* coordinator-resolved request, not a child-attested activation receipt; a
|
|
75
|
-
* cross-process activation receipt is a possible future enhancement and is out
|
|
76
|
-
* of scope for the per-session selection contract here.
|
|
77
|
-
*/
|
|
78
|
-
export declare function buildCoordinatorSessionCommand(sessionCommand: string, mpreset: string | null | undefined): string;
|
|
79
39
|
export declare const COORDINATOR_AWAIT_TURN_TIMEOUT_MAX_MS: number;
|
|
80
40
|
export declare const COORDINATOR_RUNTIME_PROMPT_ACK_TIMEOUT_MAX_MS: number;
|
|
81
|
-
export declare const COORDINATOR_RUNTIME_READINESS_TIMEOUT_MAX_MS: number;
|
|
82
41
|
export declare const COORDINATOR_EVENT_WATCH_TIMEOUT_MAX_MS = 30000;
|
|
83
42
|
export declare const COORDINATOR_POLL_INTERVAL_MAX_MS = 10000;
|
|
84
43
|
export declare function boundedAwaitTurnTimeoutMs(value: unknown): number;
|
|
85
44
|
export declare function boundedRuntimePromptAckTimeoutMs(value: unknown): number;
|
|
86
|
-
export declare function boundedRuntimeReadinessTimeoutMs(value: unknown): number;
|
|
87
45
|
export declare function boundedEventWatchTimeoutMs(value: unknown): number;
|
|
88
46
|
export declare function boundedPollIntervalMs(value: unknown): number;
|
|
89
|
-
export declare function coordinatorOwnerIsolationProbe(runner: CommandRunner): Promise<OwnerIsolationProbe>;
|
|
90
47
|
export declare function readCoordinatorArtifact(config: CoordinatorMcpConfig, args: {
|
|
91
48
|
path: unknown;
|
|
92
49
|
}): Promise<Record<string, unknown>>;
|
|
@@ -101,7 +58,7 @@ export declare function createCoordinatorMcpServer(options?: CoordinatorMcpServe
|
|
|
101
58
|
}) => Promise<{
|
|
102
59
|
ok: boolean;
|
|
103
60
|
reason?: string;
|
|
104
|
-
|
|
61
|
+
closed: boolean;
|
|
105
62
|
active_turn_id?: string;
|
|
106
63
|
detail?: string;
|
|
107
64
|
}>;
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Static built-in daemon controller map.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* registry: there is exactly one kind today (`telegram`). Promote to a richer
|
|
6
|
-
* registry only when a second daemon kind exists.
|
|
4
|
+
* Controllers are deliberately static rather than a mutable plugin registry.
|
|
7
5
|
*/
|
|
8
6
|
import type { Settings } from "../config/settings";
|
|
9
|
-
import { type
|
|
7
|
+
import { type ChatDaemonControlDeps } from "../sdk/bus/chat-daemon-control";
|
|
8
|
+
import { type TelegramDaemonControlDeps } from "../sdk/bus/telegram-daemon-control";
|
|
10
9
|
import type { BuiltInDaemonController, DaemonKind } from "./control-types";
|
|
11
|
-
export declare const BUILT_IN_DAEMON_KINDS: readonly ["telegram"];
|
|
10
|
+
export declare const BUILT_IN_DAEMON_KINDS: readonly ["telegram", "discord", "slack"];
|
|
12
11
|
export interface BuiltInDaemonControllerDeps {
|
|
13
12
|
telegram?: TelegramDaemonControlDeps;
|
|
13
|
+
discord?: ChatDaemonControlDeps;
|
|
14
|
+
slack?: ChatDaemonControlDeps;
|
|
14
15
|
}
|
|
15
16
|
export declare function createBuiltInDaemonControllers(settings: Settings, deps?: BuiltInDaemonControllerDeps): Record<DaemonKind, BuiltInDaemonController>;
|
|
16
17
|
/**
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* controller contract. There is exactly one daemon kind today (`telegram`);
|
|
6
6
|
* a richer registry is intentionally deferred until a second kind exists.
|
|
7
7
|
*/
|
|
8
|
-
export type DaemonKind = "telegram";
|
|
8
|
+
export type DaemonKind = "telegram" | "discord" | "slack";
|
|
9
9
|
export type DaemonAction = "list" | "status" | "stop" | "reload";
|
|
10
10
|
export type DaemonHealth = "not_configured" | "stopped" | "running" | "stale" | "stopping" | "error";
|
|
11
11
|
export interface DaemonRuntimeInfo {
|
|
@@ -1 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
import { type MCPServer } from "../capability/mcp";
|
|
2
|
+
import type { LoadResult } from "../capability/types";
|
|
3
|
+
export interface MCPJsonLoadResult extends LoadResult<MCPServer> {
|
|
4
|
+
disabledServers: string[];
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Load MCP servers from a JSON file.
|
|
8
|
+
*/
|
|
9
|
+
export declare function loadMCPJsonFile(filePath: string, level: "user" | "project", options?: {
|
|
10
|
+
quiet?: boolean;
|
|
11
|
+
useCache?: boolean;
|
|
12
|
+
}): Promise<MCPJsonLoadResult>;
|
|
@@ -42,7 +42,7 @@ export interface CustomToolAPI {
|
|
|
42
42
|
exec(command: string, args: string[], options?: ExecOptions): Promise<ExecResult>;
|
|
43
43
|
/** UI methods for user interaction (select, confirm, input, notify, custom) */
|
|
44
44
|
ui: CustomToolUIContext;
|
|
45
|
-
/** Whether UI is available
|
|
45
|
+
/** Whether an interactive UI is available */
|
|
46
46
|
hasUI: boolean;
|
|
47
47
|
/** File logger for error/warning/debug messages */
|
|
48
48
|
logger: typeof import("@gajae-code/utils").logger;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Extension-facing APIs accept `string | CompactOptions`, but `AgentSession.compact`
|
|
5
5
|
* takes two positional arguments `(instructions, options)`. This helper splits the
|
|
6
|
-
* union so the same adapter can be reused by print
|
|
6
|
+
* union so the same adapter can be reused by print, SDK, ACP, and executor callers.
|
|
7
7
|
*/
|
|
8
8
|
import type { Model } from "@gajae-code/ai";
|
|
9
9
|
import type { CompactOptions } from "./types";
|
|
@@ -15,7 +15,9 @@ interface SetModelCapableSession {
|
|
|
15
15
|
modelRegistry: {
|
|
16
16
|
getApiKey(model: Model): Promise<string | undefined>;
|
|
17
17
|
};
|
|
18
|
-
setModel(model: Model
|
|
18
|
+
setModel(model: Model, role?: string, options?: {
|
|
19
|
+
cause?: string;
|
|
20
|
+
}): Promise<unknown>;
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
23
|
* Helper for wiring the `setModel` action of an {@link ExtensionContext}.
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Helper for wiring the `getCommands` action of {@link ExtensionAPI}.
|
|
3
3
|
*
|
|
4
4
|
* Centralizes the union over the three slash-command sources the runtime
|
|
5
|
-
* exposes so the
|
|
6
|
-
*
|
|
5
|
+
* exposes so the interactive UI, ACP, SDK, print, and child task executor wiring
|
|
6
|
+
* sites cannot drift:
|
|
7
7
|
* - extension-registered hook commands (`source: "extension"`)
|
|
8
8
|
* - prompt commands loaded as `LoadedCustomCommand` — user/project/bundled
|
|
9
9
|
* custom commands and MCP prompts (`source: "prompt"`)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ThinkingLevel } from "@gajae-code/agent-core";
|
|
2
|
+
import type { UsageReport } from "@gajae-code/ai";
|
|
2
3
|
import { EventBus } from "../../utils/event-bus";
|
|
3
4
|
import type { Extension, ExtensionFactory, ExtensionRuntime as IExtensionRuntime, LoadExtensionsResult } from "./types";
|
|
4
5
|
export declare class ExtensionRuntimeNotInitializedError extends Error {
|
|
@@ -16,7 +17,7 @@ export declare class ExtensionRuntime implements IExtensionRuntime {
|
|
|
16
17
|
sourceId: string;
|
|
17
18
|
}>;
|
|
18
19
|
sendMessage(): void;
|
|
19
|
-
sendUserMessage(): void
|
|
20
|
+
sendUserMessage(): Promise<void>;
|
|
20
21
|
appendEntry(): void;
|
|
21
22
|
setLabel(): void;
|
|
22
23
|
getActiveTools(): string[];
|
|
@@ -26,6 +27,14 @@ export declare class ExtensionRuntime implements IExtensionRuntime {
|
|
|
26
27
|
setModel(): Promise<boolean>;
|
|
27
28
|
getThinkingLevel(): ThinkingLevel;
|
|
28
29
|
setThinkingLevel(): void;
|
|
30
|
+
getThinkingVisibility(): "visible" | "hidden";
|
|
31
|
+
setThinkingVisibility(): void;
|
|
32
|
+
cycleThinkingLevel(): ThinkingLevel | undefined;
|
|
33
|
+
setThinkingLevelForControl(): Promise<void>;
|
|
34
|
+
setThinkingVisibilityForControl(): Promise<void>;
|
|
35
|
+
setModelTemporaryForControl(): Promise<boolean>;
|
|
36
|
+
fetchUsageReportsForControl(): Promise<UsageReport[] | null>;
|
|
37
|
+
getThinkingScopeForControl(): "session" | "global config";
|
|
29
38
|
getSessionName(): string | undefined;
|
|
30
39
|
setSessionName(): Promise<void>;
|
|
31
40
|
}
|
|
@@ -68,8 +68,8 @@ export declare class ExtensionRunner {
|
|
|
68
68
|
* Forward a `credential_disabled` event from `AuthStorage` to extension handlers.
|
|
69
69
|
*
|
|
70
70
|
* If {@link initialize} has not yet run, the event is buffered and replayed once
|
|
71
|
-
* initialize wires the runtime/UI context. This matters because
|
|
72
|
-
* (interactive,
|
|
71
|
+
* initialize wires the runtime/UI context. This matters because session frontends
|
|
72
|
+
* (interactive, ACP, print, and subagent) call `initialize()` AFTER `createAgentSession`
|
|
73
73
|
* returns, but `AuthStorage` can fire `credential_disabled` during startup model probes
|
|
74
74
|
* inside `createAgentSession()`. Without deferral, extension handlers would observe
|
|
75
75
|
* `hasUI=false`, an unset model, and no-op runtime actions on exactly the headline
|
|
@@ -126,7 +126,7 @@ export declare class ExtensionRunner {
|
|
|
126
126
|
}>;
|
|
127
127
|
}>;
|
|
128
128
|
/** Emit input event. Transforms chain, "handled" short-circuits. */
|
|
129
|
-
emitInput(text: string, images: ImageContent[] | undefined, source: "interactive" | "
|
|
129
|
+
emitInput(text: string, images: ImageContent[] | undefined, source: "interactive" | "sdk" | "extension"): Promise<InputEventResult>;
|
|
130
130
|
emitContext(messages: AgentMessage[]): Promise<AgentMessage[]>;
|
|
131
131
|
emitBeforeProviderRequest(payload: unknown): Promise<BeforeProviderRequestEventResult>;
|
|
132
132
|
emitAfterProviderResponse(response: ProviderResponseMetadata, _model?: Model): Promise<void>;
|