@gajae-code/coding-agent 0.13.3 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +184 -2
- package/README.md +2 -0
- package/bin/gajaessi.js +4 -0
- package/dist/types/async/job-manager.d.ts +55 -2
- package/dist/types/async/support.d.ts +14 -0
- package/dist/types/capability/mcp.d.ts +6 -0
- package/dist/types/capability/types.d.ts +6 -0
- package/dist/types/cli/accounts-cli.d.ts +19 -0
- package/dist/types/cli/args.d.ts +3 -0
- package/dist/types/cli/config-cli.d.ts +6 -0
- package/dist/types/cli/crash-cli.d.ts +10 -0
- package/dist/types/cli/customize-doctor.d.ts +145 -0
- package/dist/types/cli/daemon-cli.d.ts +3 -1
- package/dist/types/cli/mcp-cli.d.ts +11 -0
- package/dist/types/cli/notify-cli.d.ts +1 -1
- package/dist/types/cli/root-flags.d.ts +12 -0
- package/dist/types/cli/setup-cli.d.ts +3 -1
- package/dist/types/cli/skills-cli.d.ts +2 -1
- package/dist/types/cli/update-cli.d.ts +19 -1
- package/dist/types/cli.d.ts +6 -0
- package/dist/types/commands/accounts.d.ts +40 -0
- package/dist/types/commands/crash.d.ts +24 -0
- package/dist/types/commands/customize.d.ts +22 -0
- package/dist/types/commands/daemon.d.ts +1 -1
- package/dist/types/commands/launch.d.ts +6 -0
- package/dist/types/commands/setup.d.ts +6 -0
- package/dist/types/commands/skills.d.ts +6 -1
- package/dist/types/commands/update.d.ts +7 -0
- package/dist/types/config/atomic-yaml-patch-worker.d.ts +25 -0
- package/dist/types/config/atomic-yaml-patch.d.ts +62 -2
- package/dist/types/config/config-schema-version.d.ts +10 -0
- package/dist/types/config/file-lock.d.ts +18 -0
- package/dist/types/config/model-profile-activation.d.ts +3 -1
- package/dist/types/config/model-registry.d.ts +9 -1
- package/dist/types/config/models-config-schema.d.ts +2 -0
- package/dist/types/config/settings-schema.d.ts +70 -6
- package/dist/types/config/settings.d.ts +63 -0
- package/dist/types/config/skill-settings-defaults.d.ts +26 -0
- package/dist/types/config/task-delegation.d.ts +39 -0
- package/dist/types/config/update-channel.d.ts +10 -0
- package/dist/types/coordinator-mcp/server.d.ts +5 -1
- package/dist/types/crash/index-store.d.ts +87 -0
- package/dist/types/crash/nudge.d.ts +50 -0
- package/dist/types/crash/record-loader.d.ts +17 -0
- package/dist/types/crash/report.d.ts +134 -0
- package/dist/types/crash/sanitize.d.ts +25 -0
- package/dist/types/cursor.d.ts +13 -2
- package/dist/types/customization/import.d.ts +37 -0
- package/dist/types/customization/index.d.ts +4 -0
- package/dist/types/customization/inventory.d.ts +25 -0
- package/dist/types/customization/mutations.d.ts +32 -0
- package/dist/types/customization/types.d.ts +115 -0
- package/dist/types/daemon/control-types.d.ts +8 -1
- package/dist/types/daemon/operator-contract.d.ts +4 -4
- package/dist/types/discovery/claude.d.ts +39 -1
- package/dist/types/discovery/codex.d.ts +39 -1
- package/dist/types/discovery/index.d.ts +2 -0
- package/dist/types/discovery/mcp-compat.d.ts +30 -0
- package/dist/types/edit/renderer.d.ts +23 -0
- package/dist/types/extensibility/extensions/runner.d.ts +3 -0
- package/dist/types/extensibility/extensions/types.d.ts +21 -4
- package/dist/types/extensibility/gjc-plugins/observability.d.ts +6 -1
- package/dist/types/extensibility/gjc-plugins/registry.d.ts +8 -1
- package/dist/types/extensibility/hooks/loader.d.ts +19 -5
- package/dist/types/extensibility/runtime-skill-discovery.d.ts +22 -1
- package/dist/types/extensibility/skill-management.d.ts +107 -0
- package/dist/types/gjc-runtime/deep-interview-runtime.d.ts +3 -1
- package/dist/types/gjc-runtime/launch-worktree.d.ts +8 -0
- package/dist/types/gjc-runtime/linux-proc.d.ts +3 -0
- package/dist/types/gjc-runtime/ralplan-runtime.d.ts +10 -6
- package/dist/types/gjc-runtime/session-state-lock.d.ts +104 -0
- package/dist/types/gjc-runtime/session-state-sidecar.d.ts +120 -2
- package/dist/types/gjc-runtime/state-writer.d.ts +10 -1
- package/dist/types/gjc-runtime/ultragoal-guard.d.ts +4 -2
- package/dist/types/gjc-runtime/ultragoal-runtime.d.ts +8 -6
- package/dist/types/gjc-runtime/workflow-settings.d.ts +109 -0
- package/dist/types/hooks/events.d.ts +60 -0
- package/dist/types/hooks/normalize.d.ts +83 -0
- package/dist/types/hooks/skill-state.d.ts +9 -2
- package/dist/types/main.d.ts +1 -1
- package/dist/types/modes/acp/abort-scope.d.ts +13 -0
- package/dist/types/modes/acp/acp-agent.d.ts +7 -4
- package/dist/types/modes/components/customization/customization-dashboard.d.ts +44 -0
- package/dist/types/modes/components/customization/import-wizard.d.ts +21 -0
- package/dist/types/modes/components/customization/index.d.ts +1 -0
- package/dist/types/modes/components/gajae-pet-widget.d.ts +8 -30
- package/dist/types/modes/components/irc-sidebar.d.ts +1 -0
- package/dist/types/modes/components/iterm-pet-transport.d.ts +122 -0
- package/dist/types/modes/components/oauth-selector.d.ts +10 -4
- package/dist/types/modes/components/pet-capability.d.ts +11 -25
- package/dist/types/modes/components/status-line/gh.d.ts +6 -2
- package/dist/types/modes/controllers/extension-ui-controller.d.ts +1 -1
- package/dist/types/modes/controllers/selector-controller.d.ts +7 -8
- package/dist/types/modes/controllers/stt-controller.d.ts +1 -1
- package/dist/types/modes/interactive-mode.d.ts +1 -0
- package/dist/types/modes/types.d.ts +1 -0
- package/dist/types/modes/utils/injected-user-submission.d.ts +10 -0
- package/dist/types/runtime-mcp/config.d.ts +9 -0
- package/dist/types/runtime-mcp/manager.d.ts +26 -1
- package/dist/types/runtime-mcp/oauth-discovery.d.ts +4 -0
- package/dist/types/runtime-mcp/oauth-flow.d.ts +24 -1
- package/dist/types/runtime-mcp/pool-key.d.ts +2 -0
- package/dist/types/runtime-mcp/protocol.d.ts +278 -0
- package/dist/types/runtime-mcp/scope-config.d.ts +29 -0
- package/dist/types/runtime-mcp/tool-bridge.d.ts +15 -13
- package/dist/types/runtime-mcp/transports/http.d.ts +9 -0
- package/dist/types/runtime-mcp/types.d.ts +102 -10
- package/dist/types/sdk/acp/adapter.d.ts +26 -5
- package/dist/types/sdk/broker/broker.d.ts +3 -55
- package/dist/types/sdk/broker/lifecycle.d.ts +18 -12
- package/dist/types/sdk/broker/session-index.d.ts +14 -5
- package/dist/types/sdk/broker/startup-failure.d.ts +16 -1
- package/dist/types/sdk/bus/chat-daemon-control.d.ts +51 -1
- package/dist/types/sdk/bus/chat-daemon-runtime.d.ts +4 -41
- package/dist/types/sdk/bus/config.d.ts +11 -0
- package/dist/types/sdk/bus/conversation-store.d.ts +0 -1
- package/dist/types/sdk/bus/daemon-paths.d.ts +6 -0
- package/dist/types/sdk/bus/discord-conversation.d.ts +2 -0
- package/dist/types/sdk/bus/discord-daemon.d.ts +17 -12
- package/dist/types/sdk/bus/existing-thread-readiness.d.ts +4 -34
- package/dist/types/sdk/bus/inbound-reaction-ordering.d.ts +61 -0
- package/dist/types/sdk/bus/index.d.ts +85 -99
- package/dist/types/sdk/bus/kind-aware-reconciliation.d.ts +29 -7
- package/dist/types/sdk/bus/managed-daemon.d.ts +2 -32
- package/dist/types/sdk/bus/notification-service.d.ts +52 -0
- package/dist/types/sdk/bus/operator-runtime.d.ts +1 -1
- package/dist/types/sdk/bus/prompt-reconciliation.d.ts +16 -5
- package/dist/types/sdk/bus/reconciliation-store.d.ts +113 -5
- package/dist/types/sdk/bus/session-control.d.ts +25 -1
- package/dist/types/sdk/bus/slack-conversation.d.ts +4 -0
- package/dist/types/sdk/bus/slack-daemon.d.ts +9 -17
- package/dist/types/sdk/bus/slack-live-provider.d.ts +3 -1
- package/dist/types/sdk/bus/slack-provider.d.ts +4 -0
- package/dist/types/sdk/bus/slack-thread-binding.d.ts +6 -40
- package/dist/types/sdk/bus/telegram-adoption-intent.d.ts +30 -104
- package/dist/types/sdk/bus/telegram-daemon-cli.d.ts +10 -0
- package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +262 -19
- package/dist/types/sdk/bus/telegram-daemon-orphan-reap.d.ts +125 -0
- package/dist/types/sdk/bus/telegram-daemon-owner-registry.d.ts +22 -0
- package/dist/types/sdk/bus/telegram-daemon.d.ts +119 -310
- package/dist/types/sdk/bus/telegram-reference.d.ts +1 -47
- package/dist/types/sdk/bus/threaded-render.d.ts +1 -0
- package/dist/types/sdk/bus/topic-registry.d.ts +33 -17
- package/dist/types/sdk/cli/rows.d.ts +2 -11
- package/dist/types/sdk/cli/session-cli.d.ts +15 -25
- package/dist/types/sdk/client/client.d.ts +97 -1
- package/dist/types/sdk/host/control/dispatch.d.ts +0 -7
- package/dist/types/sdk/host/control/index.d.ts +1 -1
- package/dist/types/sdk/host/control/operations.d.ts +18 -5
- package/dist/types/sdk/host/control/runtime-gate.d.ts +19 -0
- package/dist/types/sdk/host/host.d.ts +15 -1
- package/dist/types/sdk/host/query/handlers.d.ts +5 -0
- package/dist/types/sdk/host/reverse-leases.d.ts +1 -1
- package/dist/types/sdk/host/session-runtime.d.ts +127 -7
- package/dist/types/sdk/host/types.d.ts +1 -1
- package/dist/types/sdk/host/websocket-transport.d.ts +1 -1
- package/dist/types/sdk/index.d.ts +2 -1
- package/dist/types/sdk/lifecycle/broker-client.d.ts +8 -0
- package/dist/types/sdk/lifecycle/client.d.ts +59 -0
- package/dist/types/sdk/lifecycle/index.d.ts +3 -0
- package/dist/types/sdk/lifecycle/service.d.ts +232 -0
- package/dist/types/sdk/mcp/server.d.ts +9 -6
- package/dist/types/sdk/prompt-deadline-lease.d.ts +43 -0
- package/dist/types/sdk/prompt-deadline-manager.d.ts +28 -0
- package/dist/types/sdk/prompt-status.d.ts +10 -3
- package/dist/types/sdk/protocol/operation-registry.d.ts +5 -0
- package/dist/types/sdk/receipt-state.d.ts +17 -0
- package/dist/types/sdk/reconciliation-extensions.d.ts +2 -0
- package/dist/types/sdk/router/index.d.ts +1 -0
- package/dist/types/sdk/router/session-router.d.ts +152 -0
- package/dist/types/sdk/session-list.d.ts +22 -0
- package/dist/types/sdk/session-reconnect.d.ts +43 -1
- package/dist/types/sdk/session.d.ts +34 -1
- package/dist/types/sdk/transport/serve-cli.d.ts +1 -4
- package/dist/types/session/account-inventory.d.ts +86 -0
- package/dist/types/session/agent-session.d.ts +145 -6
- package/dist/types/session/agent-storage.d.ts +10 -0
- package/dist/types/session/coordinator-tool-label.d.ts +28 -0
- package/dist/types/session/internal/managed-session-storage.d.ts +23 -4
- package/dist/types/session/messages.d.ts +1 -1
- package/dist/types/session/secure-token-file.d.ts +3 -0
- package/dist/types/session/session-manager.d.ts +40 -1
- package/dist/types/session/startup-auth-config.d.ts +44 -0
- package/dist/types/session/terminal-abort.d.ts +378 -0
- package/dist/types/session/yield-queue.d.ts +7 -0
- package/dist/types/session-import/claude.d.ts +26 -0
- package/dist/types/session-import/codex.d.ts +88 -0
- package/dist/types/session-import/command.d.ts +35 -0
- package/dist/types/session-import/detect.d.ts +22 -0
- package/dist/types/session-import/index.d.ts +7 -0
- package/dist/types/session-import/provider-codex.d.ts +22 -0
- package/dist/types/session-import/provider-service.d.ts +38 -0
- package/dist/types/session-import/redact.d.ts +23 -0
- package/dist/types/session-import/service.d.ts +47 -0
- package/dist/types/session-import/types.d.ts +120 -0
- package/dist/types/setup/paseo/check.d.ts +16 -0
- package/dist/types/setup/paseo/install-saga.d.ts +115 -0
- package/dist/types/setup/paseo/json-publisher.d.ts +76 -0
- package/dist/types/setup/paseo/orchestration-preferences.d.ts +24 -0
- package/dist/types/setup/paseo/paseo-ownership.d.ts +87 -0
- package/dist/types/setup/paseo/paseo-setup.d.ts +29 -0
- package/dist/types/setup/paseo/provider-config.d.ts +35 -0
- package/dist/types/setup/paseo/remove.d.ts +14 -0
- package/dist/types/setup/paseo/result-types.d.ts +59 -0
- package/dist/types/setup/paseo/setup-deps.d.ts +73 -0
- package/dist/types/setup/paseo/skills-bridge.d.ts +44 -0
- package/dist/types/skill-state/active-state.d.ts +5 -1
- package/dist/types/slash-commands/acp-builtins.d.ts +5 -1
- package/dist/types/slash-commands/builtin-registry.d.ts +2 -0
- package/dist/types/slash-commands/helpers/credential-switch.d.ts +12 -0
- package/dist/types/slash-commands/helpers/usage-report.d.ts +5 -6
- package/dist/types/slash-commands/types.d.ts +7 -1
- package/dist/types/task/executor.d.ts +10 -0
- package/dist/types/task/index.d.ts +3 -1
- package/dist/types/tools/ask-answer-registry.d.ts +6 -3
- package/dist/types/tools/bash-sleep-advisory.d.ts +14 -0
- package/dist/types/tools/bash.d.ts +2 -6
- package/dist/types/tools/browser/attach.d.ts +11 -0
- package/dist/types/tools/browser/launch.d.ts +20 -0
- package/dist/types/tools/browser/profile-discovery.d.ts +6 -0
- package/dist/types/tools/browser/render.d.ts +1 -0
- package/dist/types/tools/browser.d.ts +3 -1
- package/dist/types/tools/image-gen.d.ts +9 -2
- package/dist/types/tools/index.d.ts +8 -0
- package/dist/types/tools/monitor.d.ts +1 -1
- package/dist/types/tools/skill-discovery.d.ts +8 -1
- package/dist/types/tools/subagent.d.ts +2 -0
- package/dist/types/tools/ultragoal-ask-guard.d.ts +2 -2
- package/dist/types/utils/herdr-pane.d.ts +76 -0
- package/package.json +19 -9
- package/scripts/build-binary.ts +2 -1
- package/scripts/build-sdk-package-smoke.ts +2 -13
- package/scripts/capture-sticky-viewport-showcase.ts +0 -1
- package/scripts/compile-args.ts +2 -0
- package/scripts/generate-sdk-adapter-parity-manifest.ts +31 -16
- package/scripts/generate-sdk-operation-inventory.ts +28 -0
- package/scripts/generate-telegram-baseline-manifest.ts +1 -0
- package/scripts/generate-tool-catalog.ts +6 -4
- package/scripts/verify-gjc-sdk-canonicalization.ts +5 -39
- package/src/async/job-manager.ts +352 -17
- package/src/async/support.ts +25 -0
- package/src/autoresearch/dashboard.ts +28 -13
- package/src/capability/index.ts +3 -1
- package/src/capability/mcp.ts +6 -0
- package/src/capability/types.ts +6 -0
- package/src/cli/accounts-cli.ts +395 -0
- package/src/cli/args.ts +23 -0
- package/src/cli/auth-broker-cli.ts +136 -66
- package/src/cli/auth-gateway-cli.ts +94 -70
- package/src/cli/config-cli.ts +27 -2
- package/src/cli/crash-cli.ts +78 -0
- package/src/cli/customize-doctor.ts +1605 -0
- package/src/cli/daemon-cli.ts +12 -3
- package/src/cli/fast-help.ts +1 -0
- package/src/cli/mcp-cli.ts +128 -60
- package/src/cli/notify-cli.ts +8 -14
- package/src/cli/root-flags.ts +8 -0
- package/src/cli/setup-cli.ts +145 -0
- package/src/cli/skills-cli.ts +38 -2
- package/src/cli/update-cli.ts +167 -12
- package/src/cli.ts +4 -0
- package/src/commands/accounts.ts +71 -0
- package/src/commands/crash.ts +35 -0
- package/src/commands/customize.ts +84 -0
- package/src/commands/daemon.ts +2 -2
- package/src/commands/deep-interview.ts +2 -0
- package/src/commands/launch.ts +1 -0
- package/src/commands/mcp.ts +12 -7
- package/src/commands/ralplan.ts +2 -0
- package/src/commands/sdk.ts +65 -32
- package/src/commands/setup.ts +5 -0
- package/src/commands/skills.ts +14 -4
- package/src/commands/ultragoal.ts +10 -1
- package/src/commands/update.ts +26 -15
- package/src/config/atomic-yaml-patch-worker.ts +57 -0
- package/src/config/atomic-yaml-patch.ts +769 -29
- package/src/config/config-schema-version.ts +10 -0
- package/src/config/file-lock.ts +70 -1
- package/src/config/mcp-schema.json +52 -14
- package/src/config/model-profile-activation.ts +20 -1
- package/src/config/model-profiles.ts +29 -19
- package/src/config/model-registry.ts +132 -21
- package/src/config/models-config-schema.ts +1 -1
- package/src/config/settings-schema.ts +76 -6
- package/src/config/settings.ts +4038 -199
- package/src/config/skill-settings-defaults.ts +41 -3
- package/src/config/task-delegation.ts +87 -0
- package/src/config/update-channel.ts +23 -0
- package/src/coordinator-mcp/server.ts +377 -308
- package/src/crash/index-store.ts +723 -0
- package/src/crash/nudge.ts +89 -0
- package/src/crash/record-loader.ts +149 -0
- package/src/crash/report.ts +551 -0
- package/src/crash/sanitize.ts +129 -0
- package/src/cursor.ts +36 -10
- package/src/customization/import.ts +946 -0
- package/src/customization/index.ts +4 -0
- package/src/customization/inventory.ts +335 -0
- package/src/customization/mutations.ts +141 -0
- package/src/customization/types.ts +223 -0
- package/src/daemon/control-types.ts +8 -1
- package/src/daemon/operator-contract.ts +6 -6
- package/src/defaults/gjc/skills/deep-interview/SKILL.md +11 -22
- package/src/defaults/gjc/skills/ralplan/SKILL.md +36 -23
- package/src/defaults/gjc/skills/ultragoal/SKILL.md +16 -0
- package/src/discovery/claude-hooks.ts +38 -0
- package/src/discovery/claude.ts +142 -209
- package/src/discovery/codex-hooks.ts +38 -0
- package/src/discovery/codex.ts +132 -198
- package/src/discovery/helpers.ts +8 -1
- package/src/discovery/index.ts +2 -0
- package/src/discovery/mcp-compat.ts +234 -0
- package/src/discovery/mcp-json.ts +6 -0
- package/src/edit/renderer.ts +40 -0
- package/src/edit/streaming.ts +4 -2
- package/src/exec/bash-executor.ts +24 -20
- package/src/export/html/index.ts +51 -2
- package/src/extensibility/extensions/loader.ts +9 -1
- package/src/extensibility/extensions/runner.ts +17 -4
- package/src/extensibility/extensions/types.ts +31 -6
- package/src/extensibility/gjc-plugins/constrained-hooks.ts +33 -0
- package/src/extensibility/gjc-plugins/installer.ts +9 -5
- package/src/extensibility/gjc-plugins/observability.ts +8 -2
- package/src/extensibility/gjc-plugins/registry.ts +13 -2
- package/src/extensibility/gjc-plugins/runtime-adapters.ts +3 -1
- package/src/extensibility/gjc-plugins/schema.ts +222 -39
- package/src/extensibility/hooks/loader.ts +154 -10
- package/src/extensibility/runtime-skill-discovery.ts +257 -60
- package/src/extensibility/skill-management.ts +368 -0
- package/src/extensibility/skills.ts +52 -16
- package/src/gjc-runtime/deep-interview-runtime.ts +45 -61
- package/src/gjc-runtime/launch-worktree.ts +56 -2
- package/src/gjc-runtime/linux-proc.ts +7 -1
- package/src/gjc-runtime/ralplan-runtime.ts +100 -164
- package/src/gjc-runtime/session-state-lock.ts +992 -0
- package/src/gjc-runtime/session-state-sidecar.ts +644 -142
- package/src/gjc-runtime/state-writer.ts +39 -14
- package/src/gjc-runtime/tmux-owner-isolation.ts +5 -4
- package/src/gjc-runtime/ultragoal-guard.ts +11 -4
- package/src/gjc-runtime/ultragoal-runtime.ts +44 -41
- package/src/gjc-runtime/workflow-settings.ts +596 -0
- package/src/goals/tools/goal-tool.ts +6 -1
- package/src/hooks/events.ts +291 -0
- package/src/hooks/native-skill-hook.ts +4 -0
- package/src/hooks/normalize.ts +369 -0
- package/src/hooks/skill-state.ts +165 -46
- package/src/internal-urls/docs-index.generated.ts +40 -32
- package/src/main.ts +32 -5
- package/src/migrate/mcp-mapper.ts +25 -2
- package/src/modes/acp/abort-scope.ts +29 -0
- package/src/modes/acp/acp-agent.ts +423 -98
- package/src/modes/components/assistant-message.ts +6 -1
- package/src/modes/components/customization/customization-dashboard.ts +443 -0
- package/src/modes/components/customization/import-wizard.ts +372 -0
- package/src/modes/components/customization/index.ts +1 -0
- package/src/modes/components/gajae-pet-widget.ts +539 -213
- package/src/modes/components/irc-sidebar.ts +11 -0
- package/src/modes/components/iterm-pet-transport.ts +585 -0
- package/src/modes/components/oauth-selector.ts +277 -86
- package/src/modes/components/pet-capability.ts +39 -40
- package/src/modes/components/settings-selector.ts +9 -0
- package/src/modes/components/status-line/gh.ts +45 -1
- package/src/modes/components/status-line/segments.ts +16 -1
- package/src/modes/components/tool-status-header.ts +13 -3
- package/src/modes/controllers/command-controller.ts +20 -8
- package/src/modes/controllers/extension-ui-controller.ts +56 -257
- package/src/modes/controllers/input-controller.ts +10 -0
- package/src/modes/controllers/runtime-mcp-command-controller.ts +16 -3
- package/src/modes/controllers/selector-controller.ts +177 -72
- package/src/modes/controllers/stt-controller.ts +3 -3
- package/src/modes/interactive-mode.ts +88 -16
- package/src/modes/print-mode.ts +35 -6
- package/src/modes/runtime-init.ts +21 -68
- package/src/modes/types.ts +1 -0
- package/src/modes/utils/injected-user-submission.ts +25 -0
- package/src/modes/utils/terminal-bell.ts +15 -1
- package/src/prompts/agent-fragments/ralplan-persistence.md +1 -1
- package/src/prompts/agent-fragments/restricted-bash.md +1 -1
- package/src/prompts/agents/critic.md +1 -1
- package/src/prompts/system/rlm-research.md +1 -1
- package/src/prompts/system/system-prompt.md +0 -2
- package/src/prompts/tools/bash.md +7 -1
- package/src/prompts/tools/browser.md +1 -1
- package/src/prompts/tools/cron.md +6 -6
- package/src/prompts/tools/read.md +0 -2
- package/src/prompts/tools/skill-discovery.md +4 -2
- package/src/runtime-mcp/client.ts +427 -23
- package/src/runtime-mcp/config.ts +37 -5
- package/src/runtime-mcp/manager-pool.test.ts +56 -0
- package/src/runtime-mcp/manager.ts +52 -2
- package/src/runtime-mcp/oauth-discovery.ts +13 -0
- package/src/runtime-mcp/oauth-flow.ts +46 -1
- package/src/runtime-mcp/pool-key.ts +5 -1
- package/src/runtime-mcp/pool.test.ts +9 -0
- package/src/runtime-mcp/protocol.test.ts +353 -0
- package/src/runtime-mcp/protocol.ts +624 -0
- package/src/runtime-mcp/scope-config.ts +78 -0
- package/src/runtime-mcp/tool-bridge.ts +44 -10
- package/src/runtime-mcp/transports/http.ts +84 -13
- package/src/runtime-mcp/types.ts +123 -12
- package/src/sdk/acp/adapter.ts +328 -97
- package/src/sdk/broker/broker.ts +160 -741
- package/src/sdk/broker/ensure.ts +9 -1
- package/src/sdk/broker/lifecycle.ts +510 -116
- package/src/sdk/broker/operation-receipt-ledger.ts +11 -2
- package/src/sdk/broker/process-incarnation.ts +19 -0
- package/src/sdk/broker/session-index.ts +516 -117
- package/src/sdk/broker/startup-failure.ts +28 -5
- package/src/sdk/broker/transport.ts +1 -13
- package/src/sdk/bus/chat-daemon-cli.ts +4 -2
- package/src/sdk/bus/chat-daemon-control.ts +67 -6
- package/src/sdk/bus/chat-daemon-runtime.ts +183 -859
- package/src/sdk/bus/config.ts +13 -0
- package/src/sdk/bus/conversation-store.ts +59 -171
- package/src/sdk/bus/daemon-paths.ts +20 -0
- package/src/sdk/bus/discord-conversation.ts +2 -0
- package/src/sdk/bus/discord-daemon.ts +524 -126
- package/src/sdk/bus/discord-live-provider.ts +206 -79
- package/src/sdk/bus/existing-thread-readiness.ts +4 -97
- package/src/sdk/bus/inbound-reaction-ordering.ts +122 -0
- package/src/sdk/bus/index.ts +2480 -456
- package/src/sdk/bus/kind-aware-reconciliation.ts +204 -34
- package/src/sdk/bus/lifecycle-commands.ts +2 -2
- package/src/sdk/bus/managed-daemon.ts +2 -145
- package/src/sdk/bus/notification-service.ts +196 -0
- package/src/sdk/bus/operator-runtime.ts +1 -1
- package/src/sdk/bus/prompt-reconciliation.ts +24 -15
- package/src/sdk/bus/reconciliation-store.ts +553 -24
- package/src/sdk/bus/session-control.ts +49 -3
- package/src/sdk/bus/slack-conversation.ts +4 -0
- package/src/sdk/bus/slack-daemon.ts +733 -134
- package/src/sdk/bus/slack-live-provider.ts +65 -15
- package/src/sdk/bus/slack-provider.ts +4 -0
- package/src/sdk/bus/slack-thread-binding.ts +9 -104
- package/src/sdk/bus/telegram-adoption-intent.ts +299 -209
- package/src/sdk/bus/telegram-daemon-cli.ts +194 -7
- package/src/sdk/bus/telegram-daemon-contract.ts +265 -19
- package/src/sdk/bus/telegram-daemon-control.ts +3 -13
- package/src/sdk/bus/telegram-daemon-orphan-reap.ts +498 -0
- package/src/sdk/bus/telegram-daemon-owner-registry.ts +176 -0
- package/src/sdk/bus/telegram-daemon.ts +2552 -2280
- package/src/sdk/bus/telegram-reference.ts +1 -226
- package/src/sdk/bus/telegram-setup.ts +2 -2
- package/src/sdk/bus/threaded-render.ts +1 -0
- package/src/sdk/bus/topic-registry.ts +279 -146
- package/src/sdk/cli/rows.ts +2 -35
- package/src/sdk/cli/session-cli.ts +776 -700
- package/src/sdk/client/client.ts +892 -1
- package/src/sdk/host/control/dispatch.ts +93 -58
- package/src/sdk/host/control/index.ts +1 -1
- package/src/sdk/host/control/operations.ts +18 -10
- package/src/sdk/host/control/runtime-gate.ts +40 -0
- package/src/sdk/host/host.ts +63 -12
- package/src/sdk/host/query/handlers.ts +66 -7
- package/src/sdk/host/reverse-leases.ts +2 -2
- package/src/sdk/host/sdk-surface-parity.test.ts +1 -1
- package/src/sdk/host/session-runtime.test.ts +2787 -34
- package/src/sdk/host/session-runtime.ts +1489 -101
- package/src/sdk/host/surface-policy.ts +12 -8
- package/src/sdk/host/types.ts +1 -1
- package/src/sdk/host/websocket-transport.lifecycle.test.ts +31 -59
- package/src/sdk/host/websocket-transport.ts +85 -50
- package/src/sdk/index.ts +2 -1
- package/src/sdk/lifecycle/broker-client.ts +53 -0
- package/src/sdk/lifecycle/client.ts +234 -0
- package/src/sdk/lifecycle/index.ts +3 -0
- package/src/sdk/{bus/recent-activity.ts → lifecycle/recent-sessions.ts} +5 -2
- package/src/sdk/lifecycle/service.ts +720 -0
- package/src/sdk/mcp/server.ts +226 -188
- package/src/sdk/prompt-deadline-lease.ts +55 -0
- package/src/sdk/prompt-deadline-manager.ts +148 -0
- package/src/sdk/prompt-status.ts +11 -3
- package/src/sdk/protocol/operation-inventory.generated.json +272 -129
- package/src/sdk/protocol/operation-registry.ts +71 -8
- package/src/sdk/receipt-state.ts +43 -0
- package/src/sdk/reconciliation-extensions.ts +14 -0
- package/src/sdk/router/index.ts +1 -0
- package/src/sdk/router/session-router.ts +1658 -0
- package/src/sdk/session-list.ts +93 -0
- package/src/sdk/session-reconnect.ts +45 -1
- package/src/sdk/session.ts +716 -120
- package/src/sdk/transport/serve-cli.ts +18 -34
- package/src/session/account-inventory.ts +603 -0
- package/src/session/agent-session.ts +2857 -582
- package/src/session/agent-storage.ts +35 -0
- package/src/session/blob-store.ts +32 -1
- package/src/session/coordinator-tool-label.ts +40 -0
- package/src/session/internal/managed-session-scope.ts +4 -0
- package/src/session/internal/managed-session-storage.ts +173 -12
- package/src/session/messages.ts +1 -1
- package/src/session/secure-token-file.ts +80 -0
- package/src/session/session-manager.ts +730 -58
- package/src/session/session-storage.ts +25 -16
- package/src/session/startup-auth-config.ts +297 -0
- package/src/session/terminal-abort.ts +1253 -0
- package/src/session/yield-queue.ts +57 -15
- package/src/session-import/claude.ts +334 -0
- package/src/session-import/codex.ts +1033 -0
- package/src/session-import/command.ts +77 -0
- package/src/session-import/detect.ts +133 -0
- package/src/session-import/index.ts +7 -0
- package/src/session-import/provider-codex.ts +327 -0
- package/src/session-import/provider-service.ts +457 -0
- package/src/session-import/redact.ts +128 -0
- package/src/session-import/service.ts +1264 -0
- package/src/session-import/types.ts +148 -0
- package/src/setup/paseo/check.ts +213 -0
- package/src/setup/paseo/install-saga.ts +293 -0
- package/src/setup/paseo/json-publisher.ts +263 -0
- package/src/setup/paseo/orchestration-preferences.ts +86 -0
- package/src/setup/paseo/paseo-ownership.ts +224 -0
- package/src/setup/paseo/paseo-setup.ts +253 -0
- package/src/setup/paseo/provider-config.ts +139 -0
- package/src/setup/paseo/remove.ts +183 -0
- package/src/setup/paseo/result-types.ts +79 -0
- package/src/setup/paseo/setup-deps.ts +175 -0
- package/src/setup/paseo/skills-bridge.ts +260 -0
- package/src/skill-state/active-state.ts +21 -11
- package/src/slash-commands/acp-builtins.ts +9 -1
- package/src/slash-commands/builtin-registry.ts +98 -16
- package/src/slash-commands/helpers/credential-switch.ts +143 -0
- package/src/slash-commands/helpers/mcp.ts +9 -3
- package/src/slash-commands/helpers/usage-report.ts +61 -56
- package/src/slash-commands/types.ts +7 -2
- package/src/task/executor.ts +30 -11
- package/src/task/index.ts +66 -7
- package/src/task/render.ts +23 -9
- package/src/tools/ask-answer-registry.ts +23 -7
- package/src/tools/ask.ts +8 -4
- package/src/tools/bash-sleep-advisory.ts +115 -0
- package/src/tools/bash.ts +98 -18
- package/src/tools/browser/attach.ts +71 -3
- package/src/tools/browser/launch.ts +86 -13
- package/src/tools/browser/profile-discovery.ts +57 -7
- package/src/tools/browser/render.ts +8 -1
- package/src/tools/browser.ts +130 -21
- package/src/tools/computer.enforcement.test.ts +1 -1
- package/src/tools/computer.ts +3 -2
- package/src/tools/cron.ts +12 -1
- package/src/tools/image-gen.ts +27 -16
- package/src/tools/index.ts +8 -0
- package/src/tools/job.ts +33 -6
- package/src/tools/monitor.ts +41 -2
- package/src/tools/skill-discovery.ts +21 -29
- package/src/tools/subagent.ts +142 -24
- package/src/tools/tool-catalog.generated.ts +6 -6
- package/src/tools/ultragoal-ask-guard.ts +10 -3
- package/src/utils/herdr-pane.ts +345 -0
- package/src/utils/title-generator.ts +2 -0
- package/src/web/scrapers/index.ts +6 -4
- package/dist/types/cli/malloc-env-guard.test.d.ts +0 -1
- package/dist/types/defaults/gjc-defaults.test.d.ts +0 -1
- package/dist/types/memory-backend/lazy-loading.test.d.ts +0 -1
- package/dist/types/runtime/boot-ordering.test.d.ts +0 -1
- package/dist/types/runtime/lazy-service.test.d.ts +0 -1
- package/dist/types/runtime/network-prewarm-service.test.d.ts +0 -1
- package/dist/types/runtime/workspace-tree-service.test.d.ts +0 -1
- package/dist/types/runtime-mcp/config.test.d.ts +0 -1
- package/dist/types/runtime-mcp/http.test.d.ts +0 -1
- package/dist/types/runtime-mcp/manager-pool.test.d.ts +0 -1
- package/dist/types/runtime-mcp/pool-key.test.d.ts +0 -1
- package/dist/types/runtime-mcp/pool.test.d.ts +0 -1
- package/dist/types/sdk/bus/lifecycle-control-runtime.d.ts +0 -117
- package/dist/types/sdk/bus/lifecycle-orchestrator.d.ts +0 -141
- package/dist/types/sdk/bus/telegram-cli.d.ts +0 -31
- package/dist/types/sdk/elevation/allowlist.d.ts +0 -20
- package/dist/types/sdk/elevation/audit.d.ts +0 -93
- package/dist/types/sdk/elevation/capability.d.ts +0 -3
- package/dist/types/sdk/elevation/digest.d.ts +0 -72
- package/dist/types/sdk/elevation/dispatch-receipt.d.ts +0 -85
- package/dist/types/sdk/elevation/grant-ledger.d.ts +0 -163
- package/dist/types/sdk/elevation/owner.d.ts +0 -48
- package/dist/types/sdk/host/import-graph.test.d.ts +0 -1
- package/dist/types/sdk/host/sdk-surface-parity.test.d.ts +0 -1
- package/dist/types/sdk/host/session-runtime.test.d.ts +0 -1
- package/dist/types/sdk/host/websocket-transport.lifecycle.test.d.ts +0 -1
- package/dist/types/session/auth-broker-config.d.ts +0 -13
- package/dist/types/session/heap-eviction-artifacts.test.d.ts +0 -1
- package/dist/types/skills/skills.test.d.ts +0 -1
- package/dist/types/slash-commands/notify-command.test.d.ts +0 -1
- package/dist/types/task/token-log.test.d.ts +0 -1
- package/dist/types/tools/computer.enforcement.test.d.ts +0 -1
- package/dist/types/tools/descriptors.test.d.ts +0 -1
- package/scripts/g005-daemon-smoke.ts +0 -180
- package/scripts/g011-daemon-path-smoke.ts +0 -153
- package/src/sdk/bus/lifecycle-control-runtime.ts +0 -1733
- package/src/sdk/bus/lifecycle-orchestrator.ts +0 -489
- package/src/sdk/bus/telegram-cli.ts +0 -212
- package/src/sdk/elevation/allowlist.ts +0 -54
- package/src/sdk/elevation/audit.ts +0 -208
- package/src/sdk/elevation/capability.ts +0 -41
- package/src/sdk/elevation/digest.ts +0 -129
- package/src/sdk/elevation/dispatch-receipt.ts +0 -184
- package/src/sdk/elevation/grant-ledger.ts +0 -1142
- package/src/sdk/elevation/owner.ts +0 -109
- package/src/session/auth-broker-config.ts +0 -109
- /package/dist/types/{ai-core-import-gate.test.d.ts → discovery/claude-hooks.d.ts} +0 -0
- /package/dist/types/{cli/fixture-report.test.d.ts → discovery/codex-hooks.d.ts} +0 -0
- /package/dist/types/sdk/{bus/recent-activity.d.ts → lifecycle/recent-sessions.d.ts} +0 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/** The five Paseo skills this setup links. `context-search` is deliberately excluded. */
|
|
2
|
+
export declare const INSTALL_SKILL_NAMES: readonly ["paseo", "paseo-advisor", "paseo-committee", "paseo-handoff", "paseo-loop"];
|
|
3
|
+
export type InstallSkillName = (typeof INSTALL_SKILL_NAMES)[number];
|
|
4
|
+
/** Prefix used to enumerate Paseo-owned skills when scanning for drift. */
|
|
5
|
+
export declare const PASEO_SKILL_PREFIX = "paseo";
|
|
6
|
+
/** Base provider key written into `agents.providers`. */
|
|
7
|
+
export declare const PROVIDER_KEY = "gjc";
|
|
8
|
+
/** Paseo's undocumented provider inheritance contract, reverse-engineered from a hand-written config. */
|
|
9
|
+
export declare const PROVIDER_EXTENDS = "acp";
|
|
10
|
+
/**
|
|
11
|
+
* Role keys Paseo stores under `providers` in `orchestration-preferences.json`.
|
|
12
|
+
*
|
|
13
|
+
* Verified against a live file: the roles are nested, not top-level, and the
|
|
14
|
+
* sibling `preferences` array belongs to the user.
|
|
15
|
+
*/
|
|
16
|
+
export declare const ORCHESTRATION_ROLE_KEYS: readonly ["impl", "ui", "research", "planning", "audit"];
|
|
17
|
+
export interface PaseoPaths {
|
|
18
|
+
/** `~/.paseo/config.json` */
|
|
19
|
+
readonly configJson: string;
|
|
20
|
+
/** `~/.paseo/orchestration-preferences.json` */
|
|
21
|
+
readonly orchestrationPreferences: string;
|
|
22
|
+
/** `~/.agents/skills` -- READ-ONLY, never written by this setup. */
|
|
23
|
+
readonly agentsSkillsDir: string;
|
|
24
|
+
/** `<agentDir>/paseo-skills` -- the bridge directory this setup owns. */
|
|
25
|
+
readonly bridgeDir: string;
|
|
26
|
+
/** `<agentDir>/paseo/provenance.json` -- GJC-side ownership ledger. */
|
|
27
|
+
readonly provenanceLedger: string;
|
|
28
|
+
/** `<agentDir>/paseo/intent.json` -- durable crash-recovery intent record. */
|
|
29
|
+
readonly intentRecord: string;
|
|
30
|
+
/** `<agentDir>/skills` -- second protected tree, never written by this setup. */
|
|
31
|
+
readonly gjcSkillsDir: string;
|
|
32
|
+
}
|
|
33
|
+
/** A provider row as `paseo provider ls --json` reports it. */
|
|
34
|
+
export interface PaseoProviderRow {
|
|
35
|
+
readonly id: string;
|
|
36
|
+
/** Paseo reports `"available"` for a provider it can actually reach. */
|
|
37
|
+
readonly status?: string;
|
|
38
|
+
}
|
|
39
|
+
/** Distinct outcomes of probing `paseo provider ls --json`. Never collapsed into a boolean. */
|
|
40
|
+
export type PaseoLsOutcome = {
|
|
41
|
+
readonly kind: "ok";
|
|
42
|
+
readonly providerIds: readonly string[];
|
|
43
|
+
readonly rows: readonly PaseoProviderRow[];
|
|
44
|
+
} | {
|
|
45
|
+
readonly kind: "unavailable";
|
|
46
|
+
readonly detail: string;
|
|
47
|
+
} | {
|
|
48
|
+
readonly kind: "timeout";
|
|
49
|
+
readonly timeoutMs: number;
|
|
50
|
+
} | {
|
|
51
|
+
readonly kind: "malformed";
|
|
52
|
+
readonly detail: string;
|
|
53
|
+
} | {
|
|
54
|
+
readonly kind: "nonzero-exit";
|
|
55
|
+
readonly exitCode: number;
|
|
56
|
+
readonly detail: string;
|
|
57
|
+
};
|
|
58
|
+
export interface PaseoSetupDependencies {
|
|
59
|
+
readonly paths: PaseoPaths;
|
|
60
|
+
/** Bounded probe of the Paseo daemon. MUST enforce `timeoutMs` and kill the child on expiry. */
|
|
61
|
+
runProviderLs(timeoutMs: number): Promise<PaseoLsOutcome>;
|
|
62
|
+
now(): Date;
|
|
63
|
+
}
|
|
64
|
+
export declare function createDefaultPaseoPaths(agentDir?: string, home?: string): PaseoPaths;
|
|
65
|
+
/**
|
|
66
|
+
* Parse `paseo provider ls --json`.
|
|
67
|
+
*
|
|
68
|
+
* The measured shape is an array of `{ provider, label, status, ... }` rows.
|
|
69
|
+
* `id` and `name` are also accepted because the key is undocumented and has no
|
|
70
|
+
* stability guarantee, and a bare string array is accepted for the same reason.
|
|
71
|
+
*/
|
|
72
|
+
export declare function parseProviderLs(stdout: string): PaseoLsOutcome;
|
|
73
|
+
export declare function createDefaultPaseoSetupDependencies(): PaseoSetupDependencies;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { CasReceipt } from "../../config/atomic-yaml-patch";
|
|
2
|
+
import type { Settings } from "../../config/settings";
|
|
3
|
+
import type { DriftReason } from "./result-types";
|
|
4
|
+
import { type InstallSkillName, type PaseoSetupDependencies } from "./setup-deps";
|
|
5
|
+
type BridgeEntryAction = "create" | "noop" | "prune-and-recreate";
|
|
6
|
+
type BridgeEntryPlan = {
|
|
7
|
+
readonly name: InstallSkillName;
|
|
8
|
+
readonly action: BridgeEntryAction;
|
|
9
|
+
readonly linkPath: string;
|
|
10
|
+
readonly targetPath: string;
|
|
11
|
+
/** The dangling link text captured during preflight, used as an unlink guard. */
|
|
12
|
+
readonly danglingTarget?: string;
|
|
13
|
+
};
|
|
14
|
+
/** Immutable preflight evidence consumed by the install saga and its inverse. */
|
|
15
|
+
export interface SkillsBridgePreflight {
|
|
16
|
+
readonly bridgeDir: string;
|
|
17
|
+
readonly bridgeDirCreated: boolean;
|
|
18
|
+
readonly entries: Readonly<Record<InstallSkillName, BridgeEntryPlan>>;
|
|
19
|
+
}
|
|
20
|
+
/** What the forward operation actually created, rather than what preflight intended to create. */
|
|
21
|
+
export interface SkillsBridgeInstallResult {
|
|
22
|
+
readonly createdEntries: readonly InstallSkillName[];
|
|
23
|
+
readonly bridgeDirCreated: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare class SkillsBridgeError extends Error {
|
|
26
|
+
constructor(message: string);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Classify every allowlisted bridge entry without mutating either skill tree.
|
|
30
|
+
* All conflicts are accumulated so the caller can report them together.
|
|
31
|
+
*/
|
|
32
|
+
export declare function preflightSkillsBridge(deps: PaseoSetupDependencies): Promise<SkillsBridgePreflight>;
|
|
33
|
+
/** Create only preflight-approved bridge links; symlink publication never replaces an existing entry. */
|
|
34
|
+
export declare function installSkillsBridge(preflight: SkillsBridgePreflight): Promise<SkillsBridgeInstallResult>;
|
|
35
|
+
/**
|
|
36
|
+
* Undo exactly the links this run created. A changed link is reported as a
|
|
37
|
+
* conflict rather than being deleted; this makes compensation safe after edits.
|
|
38
|
+
*/
|
|
39
|
+
export declare function inverseSkillsBridge(deps: PaseoSetupDependencies, result: SkillsBridgeInstallResult): Promise<void>;
|
|
40
|
+
/** Find Paseo-prefixed bridge or source entries that the locked install allowlist does not repair. */
|
|
41
|
+
export declare function scanSkillsBridgeDrift(deps: PaseoSetupDependencies): Promise<readonly DriftReason[]>;
|
|
42
|
+
/** Append the bridge directory without discarding concurrent user config changes. */
|
|
43
|
+
export declare function registerSkillsBridgeDirectory(settings: Settings, bridgeDir: string): Promise<CasReceipt>;
|
|
44
|
+
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type GuardedWriteResult } from "../gjc-runtime/state-writer";
|
|
1
2
|
import { CANONICAL_GJC_WORKFLOW_SKILLS, type CanonicalGjcWorkflowSkill } from "./canonical-skills";
|
|
2
3
|
import type { WorkflowStateReceipt } from "./workflow-state-contract";
|
|
3
4
|
export declare const SKILL_ACTIVE_STATE_FILE = "skill-active-state.json";
|
|
@@ -95,6 +96,8 @@ export interface SyncSkillActiveStateOptions {
|
|
|
95
96
|
handoff_at?: string;
|
|
96
97
|
active_subskills?: ActiveSubskillEntry[];
|
|
97
98
|
sourceRevision?: number;
|
|
99
|
+
/** Internal seed path: retain the authoritative entry receipt if snapshot rebuilding fails. */
|
|
100
|
+
bestEffortSnapshot?: boolean;
|
|
98
101
|
}
|
|
99
102
|
export declare function normalizeWorkflowHudSummary(raw: unknown): WorkflowHudSummary | undefined;
|
|
100
103
|
export declare function isCanonicalGjcWorkflowSkill(skill: string): skill is CanonicalGjcWorkflowSkill;
|
|
@@ -111,6 +114,7 @@ export declare function isWorkflowContinuationInert(skill: string, phase: string
|
|
|
111
114
|
export declare function listActiveSkills(raw: unknown): SkillActiveEntry[];
|
|
112
115
|
export declare function normalizeSkillActiveState(raw: unknown): SkillActiveState | null;
|
|
113
116
|
export declare function getSkillActiveStatePaths(cwd: string, sessionId?: string): SkillActiveStatePaths;
|
|
117
|
+
export declare function upstreamPlanningPipelineSkills(skill: string): string[];
|
|
114
118
|
export declare function collapsePlanningPipeline(entries: readonly SkillActiveEntry[]): SkillActiveEntry[];
|
|
115
119
|
export type VisibleSkillActiveStateCacheTier = "security" | "hud";
|
|
116
120
|
export interface ReadVisibleSkillActiveStateOptions {
|
|
@@ -132,7 +136,7 @@ interface ActiveStateSignature {
|
|
|
132
136
|
export declare function computeActiveStateSignature(cwd: string, sessionId: string): Promise<ActiveStateSignature>;
|
|
133
137
|
export declare function invalidateVisibleSkillActiveStateCache(cwd?: string, sessionId?: string): void;
|
|
134
138
|
export declare function readVisibleSkillActiveState(cwd: string, sessionId?: string, opts?: ReadVisibleSkillActiveStateOptions): Promise<SkillActiveState | null>;
|
|
135
|
-
export declare function syncSkillActiveState(options: SyncSkillActiveStateOptions): Promise<
|
|
139
|
+
export declare function syncSkillActiveState(options: SyncSkillActiveStateOptions): Promise<GuardedWriteResult | undefined>;
|
|
136
140
|
export interface ApplyHandoffOptions {
|
|
137
141
|
cwd: string;
|
|
138
142
|
caller: SyncSkillActiveStateOptions;
|
|
@@ -14,5 +14,9 @@ export declare const ACP_BUILTIN_SLASH_COMMANDS: AvailableCommand[];
|
|
|
14
14
|
* - `{ consumed: true }` when the command handled the input entirely.
|
|
15
15
|
* - `{ prompt }` when the command was handled but a residual prompt should be
|
|
16
16
|
* sent to the model.
|
|
17
|
+
* When `disabledOnly` is set, ACP-enabled builtins also return `false` so a
|
|
18
|
+
* transport can apply only the unavailable-over-ACP policy before forwarding.
|
|
17
19
|
*/
|
|
18
|
-
export declare function executeAcpBuiltinSlashCommand(text: string, runtime: AcpBuiltinCommandRuntime
|
|
20
|
+
export declare function executeAcpBuiltinSlashCommand(text: string, runtime: AcpBuiltinCommandRuntime, options?: {
|
|
21
|
+
disabledOnly?: boolean;
|
|
22
|
+
}): Promise<AcpBuiltinSlashCommandResult>;
|
|
@@ -36,6 +36,8 @@ export declare const BUILTIN_SLASH_COMMANDS_INTERNAL: ReadonlyArray<SlashCommand
|
|
|
36
36
|
* but remaining text should be sent as a prompt.
|
|
37
37
|
*/
|
|
38
38
|
export declare function executeBuiltinSlashCommand(text: string, runtime: BuiltinSlashCommandRuntime): Promise<string | boolean>;
|
|
39
|
+
/** Dispatch a command explicitly authorized for trusted local non-interactive mode. */
|
|
40
|
+
export declare function executeLocalHeadlessBuiltinSlashCommand(text: string, runtime: SlashCommandRuntime): Promise<false | Exclude<SlashCommandResult, undefined>>;
|
|
39
41
|
/** Look up a unified spec by name or alias. Used by the ACP dispatcher. */
|
|
40
42
|
export declare function lookupBuiltinSlashCommand(name: string): SlashCommandSpec | undefined;
|
|
41
43
|
export type { ParsedSlashCommand, SlashCommandResult, SlashCommandRuntime, SlashCommandSpec, TuiSlashCommandRuntime };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SlashCommandRuntime } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* List every provider's stored OAuth accounts, marking which row each
|
|
4
|
+
* currently-tracked session is using.
|
|
5
|
+
*/
|
|
6
|
+
export declare function buildCredentialListText(runtime: SlashCommandRuntime): Promise<string>;
|
|
7
|
+
/**
|
|
8
|
+
* Switch the running session's stored OAuth credential for a provider,
|
|
9
|
+
* independent of quota state. Returns the confirmation/error text to show
|
|
10
|
+
* the user; never throws.
|
|
11
|
+
*/
|
|
12
|
+
export declare function switchSessionCredentialCommand(runtime: SlashCommandRuntime, args: string): Promise<string>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { SlashCommandRuntime } from "../types";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export declare function buildUsageReportText(runtime: SlashCommandRuntime): Promise<string>;
|
|
2
|
+
export interface UsageReportOptions {
|
|
3
|
+
check?: boolean;
|
|
4
|
+
}
|
|
5
|
+
/** Build `/usage`; plain mode is cache-only and never fetches or probes. */
|
|
6
|
+
export declare function buildUsageReportText(runtime: SlashCommandRuntime, options?: UsageReportOptions): Promise<string>;
|
|
@@ -30,12 +30,14 @@ export interface ParsedSlashCommand {
|
|
|
30
30
|
* Result returned by a slash-command handler.
|
|
31
31
|
*
|
|
32
32
|
* - `void` / `undefined` — command was handled and consumed; no further input.
|
|
33
|
-
* - `{ consumed: true }` — explicit equivalent of the above
|
|
33
|
+
* - `{ consumed: true, exitCode?: number }` — explicit equivalent of the above;
|
|
34
|
+
* trusted local headless mode applies an optional non-zero process status.
|
|
34
35
|
* - `{ prompt: string }` — command handled, pass `prompt` through as the new
|
|
35
36
|
* user input (e.g. `/force <tool> <prompt>` keeps `<prompt>` as the message).
|
|
36
37
|
*/
|
|
37
38
|
export type SlashCommandResult = undefined | {
|
|
38
39
|
consumed: true;
|
|
40
|
+
exitCode?: number;
|
|
39
41
|
} | {
|
|
40
42
|
prompt: string;
|
|
41
43
|
};
|
|
@@ -95,6 +97,10 @@ export interface SlashCommandSpec extends BuiltinSlashCommand {
|
|
|
95
97
|
* not silently drop it from `available_commands_update`.
|
|
96
98
|
*/
|
|
97
99
|
acpInputHint?: string;
|
|
100
|
+
/** Set false for trusted local commands that must never be advertised or dispatched through ACP. */
|
|
101
|
+
acp?: boolean;
|
|
102
|
+
/** Explicitly authorizes this handler in trusted local non-interactive print mode. */
|
|
103
|
+
localHeadless?: boolean;
|
|
98
104
|
/**
|
|
99
105
|
* Text/ACP-mode handler. The same body is invoked from the ACP dispatcher
|
|
100
106
|
* and, via the TUI adapter, when no `handleTui` override is provided.
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { AgentTelemetryConfig, ThinkingLevel } from "@gajae-code/agent-core";
|
|
7
7
|
import { type Model, type ServiceTier } from "@gajae-code/ai/core";
|
|
8
|
+
import { AsyncJobManager } from "../async";
|
|
8
9
|
import { ModelRegistry } from "../config/model-registry";
|
|
9
10
|
import type { PromptTemplate } from "../config/prompt-templates";
|
|
10
11
|
import { Settings } from "../config/settings";
|
|
@@ -96,6 +97,15 @@ export interface ExecutorOptions {
|
|
|
96
97
|
*/
|
|
97
98
|
parentArtifactManager?: ArtifactManager;
|
|
98
99
|
managedPersistence?: ManagedTaskPersistence;
|
|
100
|
+
/**
|
|
101
|
+
* The parent session's ENDPOINT-owned AsyncJobManager (resolved by the
|
|
102
|
+
* TaskTool via forEndpoint(sessionId) ?? instance()). Model metadata and
|
|
103
|
+
* live-handle state for THIS subagent are recorded in the SAME manager the
|
|
104
|
+
* task job runs in — with concurrent top-level sessions the process-global
|
|
105
|
+
* instance belongs to a different session and would surface this subagent
|
|
106
|
+
* under the wrong session's record (review thread P1).
|
|
107
|
+
*/
|
|
108
|
+
asyncJobManager?: AsyncJobManager;
|
|
99
109
|
parentHindsightSessionState?: HindsightSessionState;
|
|
100
110
|
/**
|
|
101
111
|
* Parent agent's OpenTelemetry configuration. When defined, the subagent's
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AgentTool, AgentToolResult, AgentToolUpdateCallback } from "@gajae-code/agent-core";
|
|
2
2
|
import type { Model } from "@gajae-code/ai/core";
|
|
3
|
+
import { type SubagentRunOutcome } from "@gajae-code/coding-agent/async";
|
|
3
4
|
import type { ToolSession } from "..";
|
|
4
|
-
import { type SubagentRunOutcome } from "../async";
|
|
5
5
|
import type { Theme } from "../modes/theme/theme";
|
|
6
6
|
import { type SingleResult, type TaskToolDetails, type TaskToolSchemaInstance } from "./types";
|
|
7
7
|
import "../tools/review";
|
|
@@ -48,5 +48,7 @@ export declare class TaskTool implements AgentTool<TaskToolSchemaInstance, TaskT
|
|
|
48
48
|
* multi-repo workspaces fail closed prior to context/discovery (#2901).
|
|
49
49
|
*/
|
|
50
50
|
static create(session: ToolSession): Promise<TaskTool>;
|
|
51
|
+
/** Create catalog metadata from bundled agents only, without ambient filesystem discovery. */
|
|
52
|
+
static createForToolCatalog(session: ToolSession): Promise<TaskTool>;
|
|
51
53
|
execute(_toolCallId: string, rawParams: unknown, signal?: AbortSignal, onUpdate?: AgentToolUpdateCallback<TaskToolDetails>): Promise<AgentToolResult<TaskToolDetails>>;
|
|
52
54
|
}
|
|
@@ -3,15 +3,18 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Decouples the `ask` tool (which reads the source via `AgentSession`) from the
|
|
5
5
|
* notifications extension (which registers one), without threading a new method
|
|
6
|
-
* through the extension/runner/controller wiring. A session
|
|
7
|
-
* source
|
|
6
|
+
* through the extension/runner/controller wiring. A session may have multiple
|
|
7
|
+
* sources. A "protocol" source always takes precedence over an "interactive"
|
|
8
|
+
* source regardless of registration order; within the same kind, the most
|
|
9
|
+
* recently registered source wins. Registering returns a disposer.
|
|
8
10
|
*/
|
|
9
11
|
/** Error code a remote ask source uses to signal that its own timeout fired. */
|
|
10
12
|
export declare const GJC_ASK_TIMEOUT_CODE = "gjc.ask.timeout";
|
|
11
13
|
import type { WorkflowGateEmitter } from "../modes/shared/agent-wire/workflow-gate-broker";
|
|
12
14
|
import type { AskAnswerSource } from "./index";
|
|
15
|
+
export type AskAnswerSourceKind = "protocol" | "interactive";
|
|
13
16
|
/** Register `source` for `sessionId`. Returns a disposer that restores the prior source. */
|
|
14
|
-
export declare function registerAskAnswerSource(sessionId: string, source: AskAnswerSource): () => void;
|
|
17
|
+
export declare function registerAskAnswerSource(sessionId: string, source: AskAnswerSource, kind?: AskAnswerSourceKind): () => void;
|
|
15
18
|
/** The highest-priority answer source for `sessionId`, if one is registered. */
|
|
16
19
|
export declare function getAskAnswerSource(sessionId: string): AskAnswerSource | undefined;
|
|
17
20
|
/** Publish a session's current workflow-gate emitter after mode initialization. */
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detect a long blocking sleep in a bash command and return an advisory notice,
|
|
3
|
+
* or `undefined` if the command does not contain a qualifying sleep. The notice
|
|
4
|
+
* is appended to the bash result output; it never blocks execution.
|
|
5
|
+
*
|
|
6
|
+
* `timeoutSec` is the effective (already-clamped) execution timeout the command
|
|
7
|
+
* will run under, when known. The bash tool kills the command at this timeout
|
|
8
|
+
* whether the sleep fits inside it or not. Passing it lets the notice report
|
|
9
|
+
* the bounded effective silent wait the operator will actually observe, instead
|
|
10
|
+
* of the requested duration (which may be much longer and is never reached).
|
|
11
|
+
* When `timeoutSec` is `undefined` (no timeout known at the construction
|
|
12
|
+
* boundary), the notice reports only the requested duration and stays useful.
|
|
13
|
+
*/
|
|
14
|
+
export declare function longSleepAdvisory(command: string, timeoutSec?: number): string | undefined;
|
|
@@ -48,11 +48,6 @@ export interface BashToolDetails {
|
|
|
48
48
|
export declare function summarizeBashToolActivity(kind: "args" | "result", value: unknown): string | undefined;
|
|
49
49
|
export interface BashToolOptions {
|
|
50
50
|
}
|
|
51
|
-
/**
|
|
52
|
-
* Bash tool implementation.
|
|
53
|
-
*
|
|
54
|
-
* Executes bash commands with optional timeout and working directory.
|
|
55
|
-
*/
|
|
56
51
|
export declare class BashTool implements AgentTool<BashToolSchema, BashToolDetails> {
|
|
57
52
|
#private;
|
|
58
53
|
private readonly session;
|
|
@@ -83,6 +78,7 @@ export declare class BashTool implements AgentTool<BashToolSchema, BashToolDetai
|
|
|
83
78
|
ownerId?: string;
|
|
84
79
|
label?: string;
|
|
85
80
|
ctx?: AgentToolContext;
|
|
81
|
+
toolCallId?: string;
|
|
86
82
|
onRawLine?: (line: string, jobId: string) => void;
|
|
87
83
|
shouldAcceptRawLine?: (jobId: string) => boolean;
|
|
88
84
|
lifecycle?: import("../async").AsyncJobLifecycleCleanup;
|
|
@@ -91,7 +87,7 @@ export declare class BashTool implements AgentTool<BashToolSchema, BashToolDetai
|
|
|
91
87
|
label: string;
|
|
92
88
|
commandCwd: string;
|
|
93
89
|
}>;
|
|
94
|
-
execute(
|
|
90
|
+
execute(toolCallId: string, { command: rawCommand, env: rawEnv, timeout: rawTimeout, cwd, async: asyncRequested, pty, }: BashToolInput, signal?: AbortSignal, onUpdate?: AgentToolUpdateCallback<BashToolDetails>, ctx?: AgentToolContext): Promise<AgentToolResult<BashToolDetails>>;
|
|
95
91
|
}
|
|
96
92
|
export interface BashRenderArgs {
|
|
97
93
|
command?: string;
|
|
@@ -32,6 +32,16 @@ export declare function findRunningChromeProfile(exe: string, profile: {
|
|
|
32
32
|
userDataDir: string;
|
|
33
33
|
profileDirectory: string;
|
|
34
34
|
}, signal?: AbortSignal): Promise<RunningChromeProfile | null>;
|
|
35
|
+
interface ProfileProcessScanOptions {
|
|
36
|
+
platform?: NodeJS.Platform;
|
|
37
|
+
linuxPids?: readonly number[];
|
|
38
|
+
linuxExecutablePaths?: ReadonlyMap<number, string>;
|
|
39
|
+
signal?: AbortSignal;
|
|
40
|
+
}
|
|
41
|
+
export declare function findRunningChromeProfileForTest(exe: string, profile: {
|
|
42
|
+
userDataDir: string;
|
|
43
|
+
profileDirectory: string;
|
|
44
|
+
}, options: ProfileProcessScanOptions): Promise<RunningChromeProfile | null>;
|
|
35
45
|
/**
|
|
36
46
|
* Pick the best page target on an attached browser. Without a matcher, prefer
|
|
37
47
|
* a page that doesn't look like a helper window (devtools, request handler,
|
|
@@ -48,3 +58,4 @@ export declare function gracefulKillTreeOnce(pid: number, gracePeriodMs?: number
|
|
|
48
58
|
* (single-instance apps may keep an orphan around) and tear them all down.
|
|
49
59
|
*/
|
|
50
60
|
export declare function killExistingByPath(executablePath: string, signal?: AbortSignal): Promise<number>;
|
|
61
|
+
export {};
|
|
@@ -19,7 +19,27 @@ export declare function resolveBrowserEnvOverridesForTest(): {
|
|
|
19
19
|
proxy: string | undefined;
|
|
20
20
|
proxyBypassLoopback: boolean;
|
|
21
21
|
ignoreCertErrors: boolean;
|
|
22
|
+
programFiles: string | undefined;
|
|
23
|
+
programFilesX86: string | undefined;
|
|
24
|
+
localAppData: string | undefined;
|
|
22
25
|
};
|
|
26
|
+
/** True for a Microsoft Edge executable path (excluded from Chrome profile mode). */
|
|
27
|
+
export declare function isEdgeExecutable(candidate: string): boolean;
|
|
28
|
+
/** True only for executable names owned by Google Chrome or Chromium. */
|
|
29
|
+
export declare function isChromeProfileExecutable(candidate: string): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Validate the executable identity used for profile mode. Most symlinks are
|
|
32
|
+
* judged by their resolved target so a renamed cross-brand browser cannot pass
|
|
33
|
+
* by alias. Snap's canonical `/snap/bin/chromium` launcher is the exception:
|
|
34
|
+
* it resolves to the generic `/usr/bin/snap` dispatcher by design.
|
|
35
|
+
*/
|
|
36
|
+
export declare function isChromeProfileExecutableForLaunch(candidate: string, resolvedCandidate: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Installed Chrome/Chromium executable for saved-profile mode, or undefined when
|
|
39
|
+
* none is present. Edge is excluded on purpose: a discovered Chrome user data
|
|
40
|
+
* directory must never be opened by a different browser brand.
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveSystemChromeForProfile(): string | undefined;
|
|
23
43
|
export interface LaunchHeadlessOptions {
|
|
24
44
|
headless: boolean;
|
|
25
45
|
viewport?: {
|
|
@@ -14,6 +14,12 @@ export interface DiscoveryEnv {
|
|
|
14
14
|
exists: (p: string) => boolean;
|
|
15
15
|
/** Windows LOCALAPPDATA override (tests / non-default installs). */
|
|
16
16
|
localAppData?: string;
|
|
17
|
+
/** Linux Chrome-specific default user-data override. */
|
|
18
|
+
chromeUserDataDir?: string;
|
|
19
|
+
/** Linux Chrome config-home override (takes precedence over XDG_CONFIG_HOME). */
|
|
20
|
+
chromeConfigHome?: string;
|
|
21
|
+
/** Linux XDG config-home override. */
|
|
22
|
+
xdgConfigHome?: string;
|
|
17
23
|
}
|
|
18
24
|
/** Candidate Chrome user-data roots for the platform (most common first). */
|
|
19
25
|
export declare function chromeUserDataRoots(env: DiscoveryEnv): string[];
|
|
@@ -35,6 +35,7 @@ interface BrowserRenderContext {
|
|
|
35
35
|
expanded?: boolean;
|
|
36
36
|
previewLines?: number;
|
|
37
37
|
}
|
|
38
|
+
export declare function describeBrowserForTest(args: BrowserRenderArgs, details: BrowserToolDetails | undefined): string | undefined;
|
|
38
39
|
export declare const browserToolRenderer: {
|
|
39
40
|
renderCall(args: BrowserRenderArgs, options: RenderResultOptions, theme: Theme): Component;
|
|
40
41
|
renderResult(result: {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AgentTool, AgentToolContext, AgentToolResult, AgentToolUpdateCallback } from "@gajae-code/agent-core";
|
|
2
2
|
import * as z from "zod/v4";
|
|
3
3
|
import type { ToolSession } from "../sdk";
|
|
4
|
+
import { type DiscoveryEnv } from "./browser/profile-discovery";
|
|
4
5
|
import { type BrowserKind, type BrowserKindTag } from "./browser/registry";
|
|
5
6
|
import type { Observation, ScreenshotResult } from "./browser/tab-protocol";
|
|
6
7
|
import type { OutputMeta } from "./output-meta";
|
|
@@ -107,7 +108,8 @@ export interface BrowserToolDetails {
|
|
|
107
108
|
result?: string;
|
|
108
109
|
meta?: OutputMeta;
|
|
109
110
|
}
|
|
110
|
-
export declare function resolveBrowserKindForTest(params: BrowserParams, session: ToolSession): BrowserKind
|
|
111
|
+
export declare function resolveBrowserKindForTest(params: BrowserParams, session: ToolSession, signal?: AbortSignal, discoveryEnv?: DiscoveryEnv): Promise<BrowserKind>;
|
|
112
|
+
export declare function isDefaultChromeUserDataDirForTest(candidate: string, roots: readonly string[], platform?: NodeJS.Platform, signal?: AbortSignal): Promise<boolean>;
|
|
111
113
|
/**
|
|
112
114
|
* Browser tool: stateful, multi-tab. Three actions:
|
|
113
115
|
* - `open` → acquire/create a named tab on a browser kind (headless | spawned | connected) and optionally goto a url.
|
|
@@ -4,7 +4,14 @@ import { type ModelRegistry } from "../config/model-registry";
|
|
|
4
4
|
import type { Settings } from "../config/settings";
|
|
5
5
|
import type { CustomTool } from "../extensibility/custom-tools/types";
|
|
6
6
|
export declare function redactImageProviderText(value: unknown, activeApiKey?: string): string;
|
|
7
|
-
type ImageProvider = "alibaba" | "antigravity" | "gemini" | "openai" | "openai-codex" | "openrouter"
|
|
7
|
+
type ImageProvider = "alibaba" | "antigravity" | "gemini" | "openai" | "openai-codex" | "openrouter";
|
|
8
|
+
export declare class UnsupportedImageProviderError extends Error {
|
|
9
|
+
readonly provider: string;
|
|
10
|
+
readonly modelId: string;
|
|
11
|
+
readonly api: Model["api"];
|
|
12
|
+
readonly code: "unsupported_image_provider";
|
|
13
|
+
constructor(provider: string, modelId: string, api: Model["api"]);
|
|
14
|
+
}
|
|
8
15
|
declare const responseModalitySchema: z.ZodEnum<{
|
|
9
16
|
IMAGE: "IMAGE";
|
|
10
17
|
TEXT: "TEXT";
|
|
@@ -133,7 +140,7 @@ export declare function resolveImageRoleModel(settings: Settings, modelRegistry:
|
|
|
133
140
|
export declare function resolveImageModel(provider: string, modelOverride: string | null): string;
|
|
134
141
|
/** Test seam: the Google image key fallback as resolved from trusted env. */
|
|
135
142
|
export declare function googleImageApiKeyFromEnvForTest(): string | undefined;
|
|
136
|
-
export declare function isOpenAIHostedImageModel(model: Model | undefined):
|
|
143
|
+
export declare function isOpenAIHostedImageModel(model: Model | undefined): boolean;
|
|
137
144
|
/** Test seam: the image-request base URL as resolved from trusted env. */
|
|
138
145
|
export declare function getOpenAIImageBaseUrlForTest(model: Model, authCredentialType?: "api_key" | "oauth"): string;
|
|
139
146
|
export declare const imageGenTool: CustomTool<typeof imageGenSchema, ImageGenToolDetails>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AgentTelemetryConfig, AgentTool } from "@gajae-code/agent-core";
|
|
2
2
|
import type { Model, ServiceTier, ToolChoice } from "@gajae-code/ai/core";
|
|
3
|
+
import type { AsyncJobManager } from "../async";
|
|
3
4
|
import type { PromptTemplate } from "../config/prompt-templates";
|
|
4
5
|
import type { Settings } from "../config/settings";
|
|
5
6
|
import type { Skill } from "../extensibility/skills";
|
|
@@ -169,6 +170,8 @@ export interface ToolSession {
|
|
|
169
170
|
hasForegroundBashBackgroundRequestHandler?: () => boolean;
|
|
170
171
|
/** Request that the active managed foreground bash call fold into a background job, if supported. */
|
|
171
172
|
requestForegroundBashBackground?: () => boolean;
|
|
173
|
+
/** Get the session-owned or inherited async job manager. */
|
|
174
|
+
getAsyncJobManager?: () => AsyncJobManager | undefined;
|
|
172
175
|
/** Get session ID */
|
|
173
176
|
getSessionId?: () => string | null;
|
|
174
177
|
/** Get credential-selection session identity. */
|
|
@@ -234,6 +237,11 @@ export interface ToolSession {
|
|
|
234
237
|
agentOutputManager?: AgentOutputManager;
|
|
235
238
|
/** Settings instance for passing to subagents */
|
|
236
239
|
settings: Settings;
|
|
240
|
+
/**
|
|
241
|
+
* The session's REQUESTED effective agent directory, independent of the
|
|
242
|
+
* global Settings singleton (which can be reused across sessions).
|
|
243
|
+
*/
|
|
244
|
+
getSessionAgentDir?: () => string;
|
|
237
245
|
/** Live service-tier intent of the parent session, inherited by `inherit` subagents. */
|
|
238
246
|
serviceTier?: ServiceTier;
|
|
239
247
|
/** Whether the effective subagent tier grants fast mode for a resolved provider. */
|
|
@@ -49,6 +49,6 @@ export declare class MonitorTool implements AgentTool<typeof monitorSchema, Moni
|
|
|
49
49
|
readonly loadMode = "discoverable";
|
|
50
50
|
constructor(session: ToolSession);
|
|
51
51
|
static createIf(session: ToolSession): MonitorTool | null;
|
|
52
|
-
execute(
|
|
52
|
+
execute(toolCallId: string, params: MonitorParams, _signal?: AbortSignal, _onUpdate?: AgentToolUpdateCallback<MonitorToolDetails>, context?: AgentToolContext): Promise<AgentToolResult<MonitorToolDetails>>;
|
|
53
53
|
}
|
|
54
54
|
export {};
|
|
@@ -17,11 +17,18 @@ export interface SkillDiscoveryToolDetails {
|
|
|
17
17
|
count: number;
|
|
18
18
|
/**
|
|
19
19
|
* Present only when zero candidates were returned AND discovery config gates
|
|
20
|
-
* (`skills.enabled` / `skills.
|
|
20
|
+
* (`skills.enabled` / `skills.trustProjectSkills` / `skills.trustUserSkills`)
|
|
21
21
|
* prevented some or all of the requested scope from being searched. Without
|
|
22
22
|
* this, a disabled config is indistinguishable from "no skills exist".
|
|
23
23
|
*/
|
|
24
24
|
notice?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Human-readable diagnostics for skills that were scanned but not
|
|
27
|
+
* advertised (protected-name collisions with bundled workflow skills,
|
|
28
|
+
* include/ignore/disable policy filters, invalid frontmatter, shadowing,
|
|
29
|
+
* scan failures). Bounded; empty when nothing was filtered.
|
|
30
|
+
*/
|
|
31
|
+
diagnostics?: string[];
|
|
25
32
|
}
|
|
26
33
|
export declare class SkillDiscoveryTool implements AgentTool<typeof skillDiscoverySchema, SkillDiscoveryToolDetails> {
|
|
27
34
|
#private;
|
|
@@ -114,6 +114,8 @@ export declare class SubagentTool implements AgentTool<typeof subagentSchema, Su
|
|
|
114
114
|
}, z.core.$strip>;
|
|
115
115
|
readonly strict = true;
|
|
116
116
|
readonly loadMode = "discoverable";
|
|
117
|
+
/** Test-only seam: substitute the liveness clock. Returns a restore function. */
|
|
118
|
+
withLivenessClock(nowMs: () => number): () => void;
|
|
117
119
|
constructor(session: ToolSession);
|
|
118
120
|
execute(_toolCallId: string, params: SubagentParams, signal?: AbortSignal, onUpdate?: AgentToolUpdateCallback<SubagentToolDetails>, _context?: AgentToolContext): Promise<AgentToolResult<SubagentToolDetails>>;
|
|
119
121
|
}
|
|
@@ -8,5 +8,5 @@ export interface UltragoalAskGuardContext {
|
|
|
8
8
|
sessionId?: string | null;
|
|
9
9
|
}
|
|
10
10
|
export declare function formatUltragoalAskBlockMessage(diagnostic: UltragoalAskBlockDiagnostic): string;
|
|
11
|
-
export declare function assertUltragoalAskAllowed(cwd: string, context?: UltragoalAskGuardContext): Promise<void>;
|
|
12
|
-
export declare function guardToolForUltragoalAsk<T extends AgentTool>(tool: T, getCwd: () => string, getContext?: () => UltragoalAskGuardContext): T;
|
|
11
|
+
export declare function assertUltragoalAskAllowed(cwd: string, context?: UltragoalAskGuardContext, agentDir?: string): Promise<void>;
|
|
12
|
+
export declare function guardToolForUltragoalAsk<T extends AgentTool>(tool: T, getCwd: () => string, getContext?: () => UltragoalAskGuardContext, getSessionAgentDir?: () => string | undefined): T;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
export type HerdrAgentState = "idle" | "working" | "blocked";
|
|
2
|
+
export interface HerdrPaneEnvironment {
|
|
3
|
+
paneId: string;
|
|
4
|
+
binPath: string;
|
|
5
|
+
}
|
|
6
|
+
export interface HerdrReportProcess {
|
|
7
|
+
exited: Promise<number>;
|
|
8
|
+
kill(): void;
|
|
9
|
+
unref(): void;
|
|
10
|
+
}
|
|
11
|
+
export interface HerdrReporterOptions {
|
|
12
|
+
env?: NodeJS.ProcessEnv;
|
|
13
|
+
which?: (command: string) => string | null;
|
|
14
|
+
spawn?: (command: string[], options: {
|
|
15
|
+
env: NodeJS.ProcessEnv;
|
|
16
|
+
stdin: "ignore";
|
|
17
|
+
stdout: "ignore";
|
|
18
|
+
stderr: "ignore";
|
|
19
|
+
}) => HerdrReportProcess;
|
|
20
|
+
}
|
|
21
|
+
/** Session event shape consumed by the reporter. Narrow on purpose: the state
|
|
22
|
+
* machine is driven only by lifecycle transitions, never by message content. */
|
|
23
|
+
export interface HerdrSessionEvent {
|
|
24
|
+
type: string;
|
|
25
|
+
toolName?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface HerdrReporter {
|
|
28
|
+
/** Report a new agent state. Deduplicated against the last reported state. */
|
|
29
|
+
report(state: HerdrAgentState): void;
|
|
30
|
+
/** Release this pane's lifecycle authority and stop listening. Idempotent. */
|
|
31
|
+
release(): void;
|
|
32
|
+
/** Current reported state, for tests and diagnostics. */
|
|
33
|
+
readonly state: HerdrAgentState | null;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Resolve the pane environment. Returns null unless gjc is demonstrably inside
|
|
37
|
+
* a Herdr pane AND a herdr binary is resolvable.
|
|
38
|
+
*
|
|
39
|
+
* `HERDR_BIN_PATH` is honored first because Herdr sets it for its own panes;
|
|
40
|
+
* otherwise the binary is resolved from PATH. No home-directory guessing: an
|
|
41
|
+
* unverified path scavenged from an install layout is a command this process
|
|
42
|
+
* would execute, and PATH/`HERDR_BIN_PATH` are the trust boundary Herdr itself
|
|
43
|
+
* documents.
|
|
44
|
+
*/
|
|
45
|
+
export declare function resolveHerdrPaneEnvironment(options?: HerdrReporterOptions): HerdrPaneEnvironment | null;
|
|
46
|
+
/** Build the argv for a state report. Exported for tests. */
|
|
47
|
+
export declare function buildHerdrReportArgs(paneId: string, state: HerdrAgentState, seq: number): string[];
|
|
48
|
+
/** Build the argv for an authority release. Exported for tests. */
|
|
49
|
+
export declare function buildHerdrReleaseArgs(paneId: string, seq: number): string[];
|
|
50
|
+
/**
|
|
51
|
+
* Collapse a session name into a single-line pane title. Control characters are
|
|
52
|
+
* removed rather than escaped: the value reaches a terminal surface, and a
|
|
53
|
+
* model-generated session name must never be able to inject escapes.
|
|
54
|
+
*/
|
|
55
|
+
export declare function sanitizeHerdrPaneTitle(title: string | undefined): string | undefined;
|
|
56
|
+
/** Build the argv for a pane title report. Exported for tests. */
|
|
57
|
+
export declare function buildHerdrTitleArgs(paneId: string, title: string, seq: number): string[];
|
|
58
|
+
/** Build the argv that retracts a previously reported pane title. Exported for tests. */
|
|
59
|
+
export declare function buildHerdrClearTitleArgs(paneId: string, seq: number): string[];
|
|
60
|
+
/**
|
|
61
|
+
* Report the current session title for this pane. No-op outside a Herdr pane or
|
|
62
|
+
* when the session has no usable name, so a pane keeps the last real title
|
|
63
|
+
* instead of flickering to a placeholder during startup or a rename.
|
|
64
|
+
*/
|
|
65
|
+
export declare function syncHerdrPaneTitle(sessionName: string | undefined, options?: HerdrReporterOptions): void;
|
|
66
|
+
/**
|
|
67
|
+
* Create a reporter bound to a pane. `subscribe` supplies the session event
|
|
68
|
+
* stream and is parameterized so the state machine is testable without a live
|
|
69
|
+
* session.
|
|
70
|
+
*/
|
|
71
|
+
export declare function createHerdrReporter(paneEnv: HerdrPaneEnvironment, subscribe: (listener: (event: HerdrSessionEvent) => void) => () => void, options?: HerdrReporterOptions): HerdrReporter;
|
|
72
|
+
/**
|
|
73
|
+
* Install the Herdr reporter for a running session. No-op outside a Herdr pane.
|
|
74
|
+
* Returns the reporter so callers can release it deterministically, or null.
|
|
75
|
+
*/
|
|
76
|
+
export declare function installHerdrReporter(subscribe: (listener: (event: HerdrSessionEvent) => void) => () => void, options?: HerdrReporterOptions): HerdrReporter | null;
|