@gajae-code/coding-agent 0.10.1 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +70 -2
- package/dist/types/append-only-mode.d.ts +1 -1
- 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/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/gajae-pet-widget.d.ts +1 -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/pet-capability.d.ts +37 -0
- package/dist/types/modes/components/pet-selector.d.ts +1 -1
- package/dist/types/modes/components/settings-selector.d.ts +15 -4
- package/dist/types/modes/components/welcome.d.ts +1 -1
- 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 -1
- 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 +169 -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 +16 -1
- 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 +33 -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 +45 -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 +55 -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/package.json +34 -13
- package/scripts/build-sdk-package-smoke.ts +94 -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/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 +37 -34
- 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/extensibility/slash-commands.ts +3 -3
- 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 +5 -2
- package/src/gjc-runtime/tmux-sessions.ts +19 -13
- package/src/gjc-runtime/ultragoal-guard.ts +53 -6
- package/src/gjc-runtime/ultragoal-runtime.ts +155 -3
- 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 +36 -37
- 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/custom-editor.ts +1 -0
- package/src/modes/components/gajae-pet-widget.ts +169 -20
- package/src/modes/components/model-selector.ts +93 -35
- package/src/modes/components/notifications-settings-editor.ts +1379 -0
- package/src/modes/components/pet-capability.ts +115 -0
- package/src/modes/components/pet-selector.ts +4 -6
- package/src/modes/components/settings-selector.ts +86 -11
- package/src/modes/components/welcome.ts +4 -4
- package/src/modes/controllers/command-controller.ts +1 -2
- package/src/modes/controllers/event-controller.ts +11 -16
- package/src/modes/controllers/extension-ui-controller.ts +357 -12
- package/src/modes/controllers/input-controller.ts +43 -13
- package/src/modes/controllers/selector-controller.ts +671 -44
- package/src/modes/index.ts +0 -22
- package/src/modes/interactive-mode.ts +108 -24
- 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 +1254 -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 +16 -1
- 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 +94 -0
- package/src/sdk/broker/ensure.ts +249 -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 +353 -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 +2275 -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 +3943 -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 +502 -54
- 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 +2470 -866
- package/src/session/default-model-selection.ts +93 -0
- package/src/session/fallback-chain-controller.ts +136 -0
- package/src/session/session-manager.ts +447 -13
- 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 +33 -30
- package/src/task/executor.ts +62 -13
- 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/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
|
@@ -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;
|
|
@@ -53,6 +53,7 @@ export declare class GajaePetWidget {
|
|
|
53
53
|
* eye-roll it fires the signature burst once (RedGajae flex, BlueGajae para-para
|
|
54
54
|
* then sob) so the selector demos the animation instead of waiting the random gap. */
|
|
55
55
|
previewMode(mode: PetMode): void;
|
|
56
|
+
commitPreviewMode(mode: PetMode): void;
|
|
56
57
|
dispose(): void;
|
|
57
58
|
/** Re-mount the composer editor (framed when a skin is active) after an overlay. */
|
|
58
59
|
remountComposer(): void;
|
|
@@ -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 {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type SelectItem } from "@gajae-code/tui";
|
|
2
|
+
export type PetPixelProtocol = "sixel" | "kitty";
|
|
3
|
+
export declare const PET_UNAVAILABLE_DESCRIPTION = "Unavailable: requires compatible Kitty or Sixel overlay rendering";
|
|
4
|
+
export declare const PET_SAVED_UNAVAILABLE_DESCRIPTION = "Saved, unavailable \u2014 requires compatible Kitty or Sixel overlay rendering";
|
|
5
|
+
export declare const PET_UNAVAILABLE_WARNING = "\u26A0 Pets aren\u2019t available in this terminal. Its image support isn\u2019t compatible with Gajae Pet\u2019s overlay rendering yet. Try Kitty, Ghostty, WezTerm, or a terminal with compatible Sixel support.";
|
|
6
|
+
export declare function getPetUnavailableWarning(env?: NodeJS.ProcessEnv): string;
|
|
7
|
+
export declare function getPetPixelProtocol(): PetPixelProtocol | null;
|
|
8
|
+
export declare function isPetAvailable(): boolean;
|
|
9
|
+
export declare function createPetSelectItems(options: ReadonlyArray<SelectItem>, currentValue: string, available: boolean): SelectItem[];
|
|
10
|
+
/**
|
|
11
|
+
* Grace period before declaring the terminal pet-incapable at startup. The
|
|
12
|
+
* asynchronous Sixel capability probe starts inside `TUI.start()` and answers
|
|
13
|
+
* within its own 250 ms deadline; this margin covers probe scheduling so a
|
|
14
|
+
* supported terminal is never told it is incompatible while the probe is
|
|
15
|
+
* still in flight.
|
|
16
|
+
*/
|
|
17
|
+
export declare const PET_CAPABILITY_SETTLE_MS = 1000;
|
|
18
|
+
/**
|
|
19
|
+
* Whether the asynchronous startup Sixel capability probe may still enable
|
|
20
|
+
* graphics for this session, meaning current unavailability is not final.
|
|
21
|
+
*/
|
|
22
|
+
export declare function isPetCapabilityProbePending(env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Deliver the pet-unavailable startup warning only once the capability
|
|
25
|
+
* question is settled. With no probe pending, unavailability is final and
|
|
26
|
+
* `onUnavailable` fires immediately. While a probe may still enable
|
|
27
|
+
* graphics, the warning is deferred: a protocol-change event cancels it (the
|
|
28
|
+
* saved pet re-applies through the existing subscription), and only the
|
|
29
|
+
* settle deadline passing with the terminal still unavailable emits it.
|
|
30
|
+
* Returns a disposer that cancels the pending decision.
|
|
31
|
+
*/
|
|
32
|
+
export declare function warnWhenPetCapabilitySettled(options: {
|
|
33
|
+
probePending: boolean;
|
|
34
|
+
isAvailable?: () => boolean;
|
|
35
|
+
onUnavailable: () => void;
|
|
36
|
+
settleMs?: number;
|
|
37
|
+
}): () => void;
|
|
@@ -6,6 +6,6 @@ import type { PetMode } from "./gajae-pet-widget";
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class PetSelectorComponent extends Container {
|
|
8
8
|
#private;
|
|
9
|
-
constructor(current: PetMode, onSelect: (mode: PetMode) => void, onCancel: () => void, onPreview: (mode: PetMode) => void);
|
|
9
|
+
constructor(current: PetMode, onSelect: (mode: PetMode) => void, onCancel: () => void, onPreview: (mode: PetMode) => void, available: boolean);
|
|
10
10
|
getSelectList(): SelectList;
|
|
11
11
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { type ThinkingLevel as ThinkingLevelValue } from "@gajae-code/agent-core";
|
|
2
2
|
import type { Effort } from "@gajae-code/ai";
|
|
3
|
-
import {
|
|
3
|
+
import { type Component, Container } from "@gajae-code/tui";
|
|
4
4
|
import { type SettingPath } from "../../config/settings";
|
|
5
5
|
import type { StatusLinePreset, StatusLineSegmentId, StatusLineSeparatorStyle } from "../../config/settings-schema";
|
|
6
|
-
import {
|
|
6
|
+
import { type NotificationsEditorOperations } from "./notifications-settings-editor";
|
|
7
7
|
import type { StatusLineSegmentOptions } from "./status-line";
|
|
8
8
|
/**
|
|
9
9
|
* Dynamic context for settings that need runtime data.
|
|
@@ -20,6 +20,8 @@ export interface SettingsRuntimeContext {
|
|
|
20
20
|
availableModelProfiles: string[];
|
|
21
21
|
/** Working directory for plugins tab */
|
|
22
22
|
cwd: string;
|
|
23
|
+
/** Whether this terminal can render the pet overlay. */
|
|
24
|
+
petAvailable?: boolean;
|
|
23
25
|
}
|
|
24
26
|
/** Status line settings subset for preview */
|
|
25
27
|
export interface StatusLinePreviewSettings {
|
|
@@ -41,6 +43,13 @@ export interface SettingsCallbacks {
|
|
|
41
43
|
onThemePreviewCancel?: (theme: string) => void | Promise<void>;
|
|
42
44
|
/** Called to live-preview the gajae pet skin while browsing the pet setting. */
|
|
43
45
|
onPetPreview?: (mode: string) => void;
|
|
46
|
+
/**
|
|
47
|
+
* Commit a pet mode through the shared result-returning policy. The policy
|
|
48
|
+
* rechecks capability immediately before mutation and owns persistence, so
|
|
49
|
+
* the settings surface never persists `pet.mode` ahead of acceptance.
|
|
50
|
+
* Returns whether the commit was accepted.
|
|
51
|
+
*/
|
|
52
|
+
onPetCommit?: (mode: string) => boolean;
|
|
44
53
|
/** Called for status line preview while configuring */
|
|
45
54
|
onStatusLinePreview?: (settings: StatusLinePreviewSettings) => void;
|
|
46
55
|
/** Get current rendered status line for inline preview */
|
|
@@ -58,7 +67,9 @@ export declare class SettingsSelectorComponent extends Container {
|
|
|
58
67
|
#private;
|
|
59
68
|
private readonly context;
|
|
60
69
|
private readonly callbacks;
|
|
61
|
-
|
|
62
|
-
|
|
70
|
+
private readonly notificationsOperations?;
|
|
71
|
+
constructor(context: SettingsRuntimeContext, callbacks: SettingsCallbacks, notificationsOperations?: NotificationsEditorOperations | undefined);
|
|
72
|
+
getFocusComponent(): Component;
|
|
73
|
+
dispose(): void;
|
|
63
74
|
handleInput(data: string): void;
|
|
64
75
|
}
|
|
@@ -5,7 +5,7 @@ export interface RecentSession {
|
|
|
5
5
|
}
|
|
6
6
|
export interface LspServerInfo {
|
|
7
7
|
name: string;
|
|
8
|
-
status: "ready" | "error" | "connecting";
|
|
8
|
+
status: "idle" | "ready" | "error" | "connecting";
|
|
9
9
|
fileTypes: string[];
|
|
10
10
|
}
|
|
11
11
|
export type WelcomeLogoMode = "unicode" | "square" | "ascii";
|
|
@@ -2,6 +2,13 @@ import type { Component } from "@gajae-code/tui";
|
|
|
2
2
|
import type { ModelProfileConfig } from "../../config/models-config-schema";
|
|
3
3
|
import { type Settings } from "../../config/settings";
|
|
4
4
|
import type { InteractiveModeContext, OAuthSelectorOptions } from "../../modes/types";
|
|
5
|
+
import { getNotificationConfig, maskToken } from "../../sdk/bus/config";
|
|
6
|
+
import { proposedTelegramIdentity, reconcileCommittedTelegramConfiguration, removeTelegramConfiguration, saveTelegramInactive } from "../../sdk/bus/notification-orchestration";
|
|
7
|
+
import { buildNotificationStatusReport, checkNotificationHealth, recoverNotifications, sanitizeDiagnostic, sendNotificationTest } from "../../sdk/bus/notification-service";
|
|
8
|
+
import { ensureTelegramDaemonRunningDetailed, unregisterNotificationRoot } from "../../sdk/bus/telegram-daemon";
|
|
9
|
+
import { runTelegramSetup } from "../../sdk/bus/telegram-setup";
|
|
10
|
+
import { type CredentialAutoImportStateStore } from "../../setup/credential-auto-import";
|
|
11
|
+
import type { NotificationsEditorOperations } from "../components/notifications-settings-editor";
|
|
5
12
|
import type { StatusLineSettings } from "../components/status-line";
|
|
6
13
|
import type { JobsObserver } from "../jobs-observer";
|
|
7
14
|
import type { SessionObserverRegistry } from "../session-observer-registry";
|
|
@@ -11,10 +18,37 @@ import type { SessionObserverRegistry } from "../session-observer-registry";
|
|
|
11
18
|
* previewed row count (and every other field) can never drift out of sync.
|
|
12
19
|
*/
|
|
13
20
|
export declare function buildStatusLineSettings(settingsInstance: Settings): StatusLineSettings;
|
|
21
|
+
export interface NotificationsEditorAdapterContext {
|
|
22
|
+
settings: Settings;
|
|
23
|
+
session: Pick<InteractiveModeContext["session"], "notificationSessionController">;
|
|
24
|
+
sessionManager: Pick<InteractiveModeContext["sessionManager"], "getCwd" | "getSessionId">;
|
|
25
|
+
notifyConfigChanged?: () => Promise<void> | void;
|
|
26
|
+
}
|
|
27
|
+
export interface NotificationsEditorOperationDependencies {
|
|
28
|
+
getNotificationConfig: typeof getNotificationConfig;
|
|
29
|
+
maskToken: typeof maskToken;
|
|
30
|
+
buildNotificationStatusReport: typeof buildNotificationStatusReport;
|
|
31
|
+
checkNotificationHealth: typeof checkNotificationHealth;
|
|
32
|
+
sendNotificationTest: typeof sendNotificationTest;
|
|
33
|
+
recoverNotifications: typeof recoverNotifications;
|
|
34
|
+
sanitizeDiagnostic: typeof sanitizeDiagnostic;
|
|
35
|
+
ensureTelegramDaemonRunningDetailed: typeof ensureTelegramDaemonRunningDetailed;
|
|
36
|
+
runTelegramSetup: typeof runTelegramSetup;
|
|
37
|
+
proposedTelegramIdentity: typeof proposedTelegramIdentity;
|
|
38
|
+
reconcileCommittedTelegramConfiguration: typeof reconcileCommittedTelegramConfiguration;
|
|
39
|
+
saveTelegramInactive: typeof saveTelegramInactive;
|
|
40
|
+
removeTelegramConfiguration: typeof removeTelegramConfiguration;
|
|
41
|
+
unregisterNotificationRoot: typeof unregisterNotificationRoot;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Concrete service adapter for the direct Notifications settings tab. Secrets remain in this closure's
|
|
45
|
+
* WeakMap and are never exposed through the editor's safe draft contract.
|
|
46
|
+
*/
|
|
47
|
+
export declare function createNotificationsEditorOperations(ctx: NotificationsEditorAdapterContext, overrides?: Partial<NotificationsEditorOperationDependencies>): NotificationsEditorOperations;
|
|
14
48
|
export declare class SelectorController {
|
|
15
49
|
#private;
|
|
16
50
|
private ctx;
|
|
17
|
-
constructor(ctx: InteractiveModeContext);
|
|
51
|
+
constructor(ctx: InteractiveModeContext, credentialAutoImportStateStore?: CredentialAutoImportStateStore);
|
|
18
52
|
/**
|
|
19
53
|
* Shows a selector component in place of the editor.
|
|
20
54
|
* @param create Factory that receives a `done` callback and returns the component and focus target
|
|
@@ -2,9 +2,5 @@
|
|
|
2
2
|
* Run modes for the coding agent.
|
|
3
3
|
*/
|
|
4
4
|
export { runAcpMode } from "./acp";
|
|
5
|
-
export { runBridgeMode } from "./bridge/bridge-mode";
|
|
6
5
|
export { InteractiveMode, type InteractiveModeOptions } from "./interactive-mode";
|
|
7
6
|
export { type PrintModeOptions, runPrintMode } from "./print-mode";
|
|
8
|
-
export { defineRpcClientTool, type ModelInfo, RpcClient, type RpcClientCustomTool, type RpcClientOptions, type RpcClientToolContext, type RpcClientToolResult, type RpcEventListener, } from "./rpc/rpc-client";
|
|
9
|
-
export { runRpcMode } from "./rpc/rpc-mode";
|
|
10
|
-
export type { RpcCommand, RpcHostToolCallRequest, RpcHostToolCancelRequest, RpcHostToolDefinition, RpcHostToolResult, RpcHostToolUpdate, RpcResponse, RpcSessionState, } from "./rpc/rpc-types";
|
|
@@ -9,6 +9,7 @@ import type { ExtensionUIContext, ExtensionUIDialogOptions, ExtensionWidgetConte
|
|
|
9
9
|
import type { CompactOptions } from "../extensibility/extensions/types";
|
|
10
10
|
import { type Skill } from "../extensibility/skills";
|
|
11
11
|
import { type PlanApprovalDetails } from "../plan-mode/approved-plan";
|
|
12
|
+
import type { NotificationSessionReconcileResult, NotificationSessionStatus } from "../sdk/bus/session-control";
|
|
12
13
|
import type { AgentSession, AgentSessionEvent } from "../session/agent-session";
|
|
13
14
|
import { HistoryStorage } from "../session/history-storage";
|
|
14
15
|
import type { SessionContext, SessionManager } from "../session/session-manager";
|
|
@@ -119,6 +120,8 @@ export declare class InteractiveMode implements InteractiveModeContext {
|
|
|
119
120
|
readonly lspServers: LspStartupServerInfo[] | undefined;
|
|
120
121
|
mcpManager?: import("../runtime-mcp").MCPManager;
|
|
121
122
|
constructor(session: AgentSession, version: string, changelogMarkdown?: string | undefined, setToolUIContext?: (uiContext: ExtensionUIContext, hasUI: boolean) => void, lspServers?: LspStartupServerInfo[] | undefined, mcpManager?: import("../runtime-mcp").MCPManager, eventBus?: EventBus);
|
|
123
|
+
getCurrentSessionNotificationStatus(): NotificationSessionStatus | undefined;
|
|
124
|
+
setCurrentSessionNotificationsEnabled(enabled: boolean): Promise<NotificationSessionReconcileResult | undefined>;
|
|
122
125
|
init(): Promise<void>;
|
|
123
126
|
/** Reload slash commands and autocomplete for the provided working directory. */
|
|
124
127
|
refreshSlashCommandState(cwd?: string): Promise<void>;
|
|
@@ -139,8 +142,9 @@ export declare class InteractiveMode implements InteractiveModeContext {
|
|
|
139
142
|
updateEditorChrome(): void;
|
|
140
143
|
updateEditorBorderColor(): void;
|
|
141
144
|
updateEditorTopBorder(): void;
|
|
142
|
-
setPetMode(mode: PetMode):
|
|
145
|
+
setPetMode(mode: PetMode): boolean;
|
|
143
146
|
previewPetMode(mode: PetMode): void;
|
|
147
|
+
commitPetPreviewMode(mode: PetMode): boolean;
|
|
144
148
|
restoreComposer(): void;
|
|
145
149
|
rebuildChatFromMessages(policy: TranscriptRebuildPolicy): void;
|
|
146
150
|
/** Apply any deferred model switch after the current stream ends. */
|
|
@@ -7,9 +7,9 @@ export interface InitializeExtensionsOptions {
|
|
|
7
7
|
reportSendError: (action: ExtensionSendAction, error: Error) => void;
|
|
8
8
|
/** Reports a runtime error surfaced through {@link ExtensionRunner.onError}. */
|
|
9
9
|
reportRuntimeError: (error: ExtensionError) => void;
|
|
10
|
-
/** Optional shutdown hook
|
|
10
|
+
/** Optional shutdown hook for caller-specific lifecycle signaling. */
|
|
11
11
|
onShutdown?: () => void;
|
|
12
|
-
/** Optional UI context
|
|
12
|
+
/** Optional interactive UI context; omitted for headless callers. */
|
|
13
13
|
uiContext?: ExtensionUIContext;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
@@ -7,16 +7,13 @@
|
|
|
7
7
|
* - ultragoal execution sign-off -> `workflow_gate` { kind: "execution" } whose
|
|
8
8
|
* answer is approve / decline (+ optional reason).
|
|
9
9
|
*
|
|
10
|
-
* Gates remain mandatory; the
|
|
11
|
-
*
|
|
12
|
-
* silently treated as approval.
|
|
10
|
+
* Gates remain mandatory; the remote SDK client answers at the gate boundary.
|
|
11
|
+
* Declining / requesting changes is honored and is NEVER silently treated as approval.
|
|
13
12
|
*
|
|
14
|
-
* This is the pure mapping primitive
|
|
15
|
-
* an unattended controller + gate broker are attached is wired with the transport
|
|
16
|
-
* in #321 and exercised end-to-end by #323.
|
|
13
|
+
* This is the pure mapping primitive used by SDK-native workflow gate emitters.
|
|
17
14
|
*/
|
|
18
|
-
import type { RpcWorkflowGateContext } from "../../rpc/rpc-types";
|
|
19
15
|
import type { OpenGateInput } from "./workflow-gate-broker";
|
|
16
|
+
import type { WorkflowGateContext } from "./workflow-gate-types";
|
|
20
17
|
export type ApprovalDecision = "approve" | "request-changes" | "reject";
|
|
21
18
|
export type ExecutionDecision = "approve" | "decline";
|
|
22
19
|
export interface ApprovalGateAnswer {
|
|
@@ -42,9 +39,9 @@ export declare class ApprovalGateError extends Error {
|
|
|
42
39
|
constructor(code: "invalid_answer_shape" | "unknown_decision" | "missing_comments", message: string);
|
|
43
40
|
}
|
|
44
41
|
/** Build the ralplan `pending approval` -> `workflow_gate { kind: "approval" }` open-input. */
|
|
45
|
-
export declare function approvalGate(context?:
|
|
42
|
+
export declare function approvalGate(context?: WorkflowGateContext): OpenGateInput;
|
|
46
43
|
/** Build the ultragoal execution sign-off -> `workflow_gate { kind: "execution" }` open-input. */
|
|
47
|
-
export declare function executionGate(context?:
|
|
44
|
+
export declare function executionGate(context?: WorkflowGateContext): OpenGateInput;
|
|
48
45
|
/**
|
|
49
46
|
* Decode a ralplan approval answer. `request-changes` requires comments and is
|
|
50
47
|
* NEVER treated as approval; only an explicit `approve` advances.
|
|
@@ -7,12 +7,10 @@
|
|
|
7
7
|
* back into the exact QuestionResult shape the human path produces, so ambiguity
|
|
8
8
|
* scoring/state updates proceed identically whether a human or an agent answers.
|
|
9
9
|
*
|
|
10
|
-
* This is the pure mapping primitive
|
|
11
|
-
* the interactive select/editor UI) when an unattended controller + gate broker
|
|
12
|
-
* are attached is wired with the transport in #321 and exercised by #323.
|
|
10
|
+
* This is the pure mapping primitive used by SDK-native workflow gate emitters.
|
|
13
11
|
*/
|
|
14
|
-
import type { RpcWorkflowGateKind, RpcWorkflowStage } from "../../rpc/rpc-types";
|
|
15
12
|
import type { OpenGateInput } from "./workflow-gate-broker";
|
|
13
|
+
import type { WorkflowGateKind, WorkflowStage } from "./workflow-gate-types";
|
|
16
14
|
/** "Other (type your own)" sentinel, mirroring the interactive ask tool. */
|
|
17
15
|
export declare const GATE_OTHER_OPTION = "Other (type your own)";
|
|
18
16
|
/** Optional structured deep-interview round metadata supplied by the agent. */
|
|
@@ -24,8 +22,8 @@ export interface AskGateDeepInterviewState {
|
|
|
24
22
|
ambiguity: number;
|
|
25
23
|
}
|
|
26
24
|
export interface AskGateWorkflowGateMeta {
|
|
27
|
-
stage:
|
|
28
|
-
kind:
|
|
25
|
+
stage: WorkflowStage;
|
|
26
|
+
kind: WorkflowGateKind;
|
|
29
27
|
}
|
|
30
28
|
export interface AskGateQuestion {
|
|
31
29
|
id: string;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* for AgentSession events and bounded owner observations.
|
|
4
4
|
*
|
|
5
5
|
* Two distinct consumer-facing shapes, deliberately NOT collapsed into one:
|
|
6
|
-
* - `AgentWireEventPayload`: rich, full `AgentSessionEvent` for
|
|
7
|
-
*
|
|
6
|
+
* - `AgentWireEventPayload`: rich, full `AgentSessionEvent` for event
|
|
7
|
+
* consumers on any agent-wire transport.
|
|
8
8
|
* - `AgentWireOwnerObservation`: bounded/redacted owner evidence for control
|
|
9
9
|
* planes (Harness). Never carries assistant text, message deltas, raw tool
|
|
10
10
|
* args, raw command output, raw tool results, answers, or oversize strings.
|
|
@@ -23,8 +23,8 @@ export type AgentWireEventType = AgentSessionEvent["type"];
|
|
|
23
23
|
/** Every agent-session event type, derived from the exhaustive registry. */
|
|
24
24
|
export declare const AGENT_WIRE_EVENT_TYPES: readonly AgentWireEventType[];
|
|
25
25
|
/**
|
|
26
|
-
* Rich event payload. Carries the full `AgentSessionEvent` so
|
|
27
|
-
*
|
|
26
|
+
* Rich event payload. Carries the full `AgentSessionEvent` so event consumers
|
|
27
|
+
* can present message content, tool args/results, todo state, and related data.
|
|
28
28
|
*/
|
|
29
29
|
export interface AgentWireEventPayload {
|
|
30
30
|
event_type: AgentWireEventType;
|
|
@@ -35,7 +35,7 @@ export type AgentWireCompactAssistantMessageEvent = AssistantMessageEvent extend
|
|
|
35
35
|
} ? Omit<TEvent, "partial" | "message" | "error"> : never : never;
|
|
36
36
|
export interface AgentWireCompactMessageUpdatePayload {
|
|
37
37
|
event_type: "message_update";
|
|
38
|
-
/** Compact
|
|
38
|
+
/** Compact opt-in payload: delta-only update plus minimal routing metadata. */
|
|
39
39
|
compact: true;
|
|
40
40
|
message_id: string | null;
|
|
41
41
|
content_index: number | null;
|
|
@@ -66,7 +66,7 @@ export interface AgentWireOwnerObservation {
|
|
|
66
66
|
eventType?: AgentWireEventType;
|
|
67
67
|
/** Set when this observation derives from a non-event wire frame. */
|
|
68
68
|
frameType?: string;
|
|
69
|
-
/** Owner event kind (
|
|
69
|
+
/** Owner event kind (for example, a tool-started observation). */
|
|
70
70
|
kind: string;
|
|
71
71
|
/** Bounded observed signal, or null when the frame carries no signal. */
|
|
72
72
|
signal: AgentWireObservedSignal | null;
|
|
@@ -21,9 +21,6 @@ export declare class AgentWireFrameSequencer {
|
|
|
21
21
|
/** Build the next envelope of the given type with a fresh seq + frame id. */
|
|
22
22
|
next<TType extends AgentWireFrameType, TPayload>(type: TType, payload: TPayload, correlationId?: string): AgentWireFrameEnvelope<TType, TPayload>;
|
|
23
23
|
}
|
|
24
|
-
/** Back-compat alias for {@link AgentWireFrameSequencer}. */
|
|
25
|
-
export declare const BridgeFrameSequencer: typeof AgentWireFrameSequencer;
|
|
26
|
-
export type BridgeFrameSequencer = AgentWireFrameSequencer;
|
|
27
24
|
/** Serialize a single `AgentSessionEvent` into a canonical `event` wire frame. */
|
|
28
25
|
export declare function toAgentWireEventFrame(event: AgentSessionEvent, sequencer: AgentWireFrameSequencer): AgentWireEventFrame;
|
|
29
26
|
/** Build the rich event payload (renderer-facing) for an `AgentSessionEvent`. */
|
|
@@ -35,13 +32,13 @@ export interface AgentWireCompactMessageUpdateOptions {
|
|
|
35
32
|
checkpointInterval?: number;
|
|
36
33
|
}
|
|
37
34
|
/**
|
|
38
|
-
* Stateful compact event serializer for opt-in
|
|
35
|
+
* Stateful compact event serializer for opt-in wire clients (e.g. the SDK).
|
|
39
36
|
*
|
|
40
37
|
* Only `message_update` changes shape: it carries the immutable provider delta
|
|
41
38
|
* plus message/content identifiers, with periodic full-message checkpoints that
|
|
42
39
|
* are cloned synchronously before the caller returns to the event loop. All other
|
|
43
|
-
* event variants remain canonical full event frames so
|
|
44
|
-
*
|
|
40
|
+
* event variants remain canonical full event frames so downstream consumers and
|
|
41
|
+
* terminal `message_end` reconstruction are unchanged.
|
|
45
42
|
*/
|
|
46
43
|
export declare class AgentWireCompactEventEncoder {
|
|
47
44
|
#private;
|
|
@@ -49,12 +46,10 @@ export declare class AgentWireCompactEventEncoder {
|
|
|
49
46
|
frame(event: AgentSessionEvent): AgentWireCompactEventFrame;
|
|
50
47
|
}
|
|
51
48
|
export declare function toAgentWireCompactEventFrame(event: AgentSessionEvent, encoder: AgentWireCompactEventEncoder): AgentWireCompactEventFrame;
|
|
52
|
-
/** Back-compat alias for {@link toAgentWireEventFrame}. */
|
|
53
|
-
export declare const toBridgeEventFrame: typeof toAgentWireEventFrame;
|
|
54
49
|
/**
|
|
55
50
|
* Serialize a `workflow_gate` event into a sequenced wire frame (#321). The
|
|
56
51
|
* gate_id is stamped as the correlation id so the answer (posted to the
|
|
57
52
|
* ui-responses endpoint) can be matched, and the monotonic `seq` gives replay
|
|
58
53
|
* while `frame_id` + gate_id give idempotency.
|
|
59
54
|
*/
|
|
60
|
-
export declare function
|
|
55
|
+
export declare function toAgentWireWorkflowGateFrame(gate: import("./workflow-gate-types").WorkflowGate, sequencer: AgentWireFrameSequencer): AgentWireFrameEnvelope<"workflow_gate", import("./workflow-gate-types").WorkflowGate>;
|
|
@@ -34,4 +34,4 @@ export declare function observeAgentWireEventPayload(payload: AgentWireEventPayl
|
|
|
34
34
|
* frames delegate to {@link observeAgentWireEventPayload}; non-event frames are
|
|
35
35
|
* mapped here so owners never re-parse protocol semantics privately.
|
|
36
36
|
*/
|
|
37
|
-
export declare function
|
|
37
|
+
export declare function observeAgentWireFrame(frame: Record<string, unknown>): AgentWireOwnerObservation | null;
|