@gajae-code/coding-agent 0.18.11 → 0.19.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 +760 -0
- package/dist/types/async/job-manager.d.ts +7 -3
- package/dist/types/async/result-formatting.d.ts +2 -0
- package/dist/types/autoresearch/git.d.ts +1 -1
- package/dist/types/capability/fs.d.ts +2 -2
- package/dist/types/capability/rule.d.ts +7 -2
- package/dist/types/cli/accounts-cli.d.ts +2 -2
- package/dist/types/cli/append-system-prompt.d.ts +6 -0
- package/dist/types/cli/args.d.ts +7 -2
- package/dist/types/cli/customize-doctor-precedence.d.ts +16 -0
- package/dist/types/cli/customize-doctor.d.ts +4 -3
- package/dist/types/cli/doctor/install-repairs.d.ts +4 -1
- package/dist/types/cli/install-activation.d.ts +10 -4
- package/dist/types/cli/public-command-errors.d.ts +2 -0
- package/dist/types/cli/root-flags.d.ts +0 -12
- package/dist/types/cli/update-cli.d.ts +21 -3
- package/dist/types/cli-main.d.ts +0 -6
- package/dist/types/cli-ordinary.d.ts +2 -2
- package/dist/types/commands/accounts.d.ts +2 -1
- package/dist/types/commands/launch.d.ts +0 -6
- package/dist/types/commands/migrate.d.ts +1 -1
- package/dist/types/commands/sdk.d.ts +13 -0
- package/dist/types/commit/changelog/index.d.ts +1 -0
- package/dist/types/commit/map-reduce/index.d.ts +4 -4
- package/dist/types/config/autorouting-tier-map.d.ts +53 -1
- package/dist/types/config/config-hot-reload-trust.d.ts +12 -0
- package/dist/types/config/config-hot-reload.d.ts +44 -0
- package/dist/types/config/file-lock.d.ts +52 -3
- package/dist/types/config/model-discovery-manager.d.ts +2 -0
- package/dist/types/config/model-profile-activation.d.ts +79 -9
- package/dist/types/config/model-registry.d.ts +72 -8
- package/dist/types/config/model-resolver.d.ts +7 -4
- package/dist/types/config/models-config-schema.d.ts +10 -0
- package/dist/types/config/settings-schema.d.ts +57 -4
- package/dist/types/config/settings.d.ts +33 -1
- package/dist/types/coordinator-mcp/server.d.ts +4 -0
- package/dist/types/customization/import.d.ts +2 -0
- package/dist/types/customization/types.d.ts +1 -1
- package/dist/types/dap/config.d.ts +8 -4
- package/dist/types/dap/session.d.ts +11 -2
- package/dist/types/debug/system-info.d.ts +6 -1
- package/dist/types/discovery/helpers.d.ts +7 -2
- package/dist/types/discovery/mcp-compat.d.ts +3 -1
- package/dist/types/edit/index.d.ts +5 -0
- package/dist/types/edit/modes/patch.d.ts +14 -0
- package/dist/types/edit/modes/replace.d.ts +3 -0
- package/dist/types/eval/py/runtime.d.ts +9 -0
- package/dist/types/exec/bash-executor.d.ts +12 -0
- package/dist/types/export/ttsr.d.ts +19 -0
- package/dist/types/extensibility/extensions/types.d.ts +5 -1
- package/dist/types/extensibility/slash-commands.d.ts +1 -0
- package/dist/types/gjc-runtime/managed-owner-admission.d.ts +3 -0
- package/dist/types/gjc-runtime/ralplan-current-final.d.ts +54 -0
- package/dist/types/gjc-runtime/ralplan-runtime.d.ts +5 -0
- package/dist/types/gjc-runtime/session-state-lock.d.ts +2 -0
- package/dist/types/gjc-runtime/state-runtime.d.ts +0 -2
- package/dist/types/gjc-runtime/tmux-sessions.d.ts +24 -0
- package/dist/types/gjc-runtime/ultragoal-change-set.d.ts +6 -0
- package/dist/types/gjc-runtime/ultragoal-runtime.d.ts +1 -0
- package/dist/types/harness-control-plane/receipt-spool.d.ts +4 -0
- package/dist/types/hindsight/content.d.ts +5 -6
- package/dist/types/internal-urls/types.d.ts +2 -0
- package/dist/types/lsp/clients/swiftlint-client.d.ts +0 -4
- package/dist/types/main.d.ts +23 -18
- package/dist/types/migrate/action-planner.d.ts +10 -1
- package/dist/types/migrate/adapters/codex.d.ts +2 -1
- package/dist/types/migrate/adapters/index.d.ts +42 -1
- package/dist/types/migrate/executor.d.ts +3 -1
- package/dist/types/migrate/hook-module.d.ts +23 -0
- package/dist/types/migrate/report.d.ts +2 -1
- package/dist/types/migrate/types.d.ts +82 -3
- package/dist/types/modes/components/agent-dashboard.d.ts +1 -1
- package/dist/types/modes/components/model-selector.d.ts +43 -0
- package/dist/types/modes/components/settings-selector.d.ts +6 -0
- package/dist/types/modes/controllers/selector-controller.d.ts +2 -0
- package/dist/types/modes/prompt-suggestion-controller.d.ts +1 -1
- package/dist/types/modes/theme/theme.d.ts +1 -0
- package/dist/types/modes/utils/host-status.d.ts +15 -11
- package/dist/types/runtime-mcp/content-limits.d.ts +4 -0
- package/dist/types/runtime-mcp/manager.d.ts +7 -0
- package/dist/types/runtime-mcp/plugin-mcp-name-filter.d.ts +22 -0
- package/dist/types/runtime-mcp/project-host-values.d.ts +11 -5
- package/dist/types/runtime-mcp/tool-bridge.d.ts +4 -0
- package/dist/types/sdk/broker/broker-exit.d.ts +3 -3
- package/dist/types/sdk/broker/broker.d.ts +29 -2
- package/dist/types/sdk/broker/daemon-entry.d.ts +11 -1
- package/dist/types/sdk/broker/doctor-restart.d.ts +1 -1
- package/dist/types/sdk/broker/ensure.d.ts +141 -9
- package/dist/types/sdk/broker/hop.d.ts +45 -0
- package/dist/types/sdk/broker/lifecycle-ledger.d.ts +18 -10
- package/dist/types/sdk/broker/lifecycle.d.ts +22 -0
- package/dist/types/sdk/broker/lock-host-identity.d.ts +5 -0
- package/dist/types/sdk/broker/session-index.d.ts +6 -1
- package/dist/types/sdk/broker/transport.d.ts +2 -0
- package/dist/types/sdk/bus/chat-command-policy.d.ts +2 -1
- package/dist/types/sdk/bus/index.d.ts +44 -0
- package/dist/types/sdk/bus/reconciliation-store.d.ts +10 -0
- package/dist/types/sdk/bus/telegram-daemon-contract.d.ts +9 -1
- package/dist/types/sdk/bus/telegram-daemon.d.ts +2 -0
- package/dist/types/sdk/bus/threaded-render.d.ts +2 -1
- package/dist/types/sdk/cli/session-cli.d.ts +0 -1
- package/dist/types/sdk/host/control/operations.d.ts +5 -1
- package/dist/types/sdk/host/events.d.ts +4 -0
- package/dist/types/sdk/host/host.d.ts +2 -1
- package/dist/types/sdk/host/prompt-image-upload.d.ts +43 -0
- package/dist/types/sdk/host/session-runtime.d.ts +40 -8
- package/dist/types/sdk/host/surface-policy.d.ts +2 -1
- package/dist/types/sdk/lifecycle/service.d.ts +12 -0
- package/dist/types/sdk/prompt-deadline-flush.d.ts +42 -4
- package/dist/types/sdk/prompt-deadline-manager.d.ts +2 -0
- package/dist/types/sdk/prompt-status.d.ts +11 -4
- package/dist/types/sdk/protocol/adapter-validation.d.ts +10 -4
- package/dist/types/sdk/reconciliation-extensions.d.ts +1 -1
- package/dist/types/sdk/session-list.d.ts +1 -1
- package/dist/types/session/agent-session.d.ts +107 -9
- package/dist/types/session/internal/managed-session-scope.d.ts +2 -2
- package/dist/types/session/internal/managed-session-storage.d.ts +1 -1
- package/dist/types/session/internal/native-publish-outcome.d.ts +1 -1
- package/dist/types/session/messages.d.ts +5 -1
- package/dist/types/session/session-manager.d.ts +29 -3
- package/dist/types/session/startup-auth-config.d.ts +24 -2
- package/dist/types/session/streaming-output.d.ts +11 -0
- package/dist/types/session/terminal-abort.d.ts +3 -1
- package/dist/types/session-import/service.d.ts +1 -1
- package/dist/types/skill-state/workflow-mutation-guard.d.ts +20 -4
- package/dist/types/slash-commands/helpers/mcp.d.ts +5 -0
- package/dist/types/slash-commands/helpers/provider-auth-status.d.ts +8 -0
- package/dist/types/ssh/ssh-executor.d.ts +8 -1
- package/dist/types/system-prompt.d.ts +3 -2
- package/dist/types/task/executor.d.ts +19 -2
- package/dist/types/task/role-body.d.ts +11 -0
- package/dist/types/tools/ast-edit-write-path.d.ts +10 -0
- package/dist/types/tools/atomic-file-write.d.ts +9 -7
- package/dist/types/tools/awaiting-input.d.ts +28 -0
- package/dist/types/tools/bash-allowed-prefixes.d.ts +17 -0
- package/dist/types/tools/bash-skill-urls.d.ts +4 -0
- package/dist/types/tools/bash.d.ts +7 -0
- package/dist/types/tools/descriptors.d.ts +15 -2
- package/dist/types/tools/fetch.d.ts +7 -1
- package/dist/types/tools/index.d.ts +2 -0
- package/dist/types/tools/irc.d.ts +5 -3
- package/dist/types/tools/python.d.ts +1 -1
- package/dist/types/tools/report-issue.d.ts +41 -0
- package/dist/types/tools/subagent.d.ts +23 -0
- package/dist/types/tools/tmux-self-injection-guard.d.ts +2 -0
- package/dist/types/tools/ultragoal-ask-guard.d.ts +1 -1
- package/dist/types/tools/write.d.ts +2 -0
- package/dist/types/utils/file-mentions.d.ts +5 -0
- package/dist/types/utils/image-limits.d.ts +7 -0
- package/dist/types/utils/image-loading.d.ts +0 -1
- package/dist/types/utils/open.d.ts +0 -1
- package/dist/types/utils/pasted-image-loading.d.ts +1 -5
- package/dist/types/utils/prompt-suggestion.d.ts +2 -2
- package/dist/types/utils/shell-snapshot.d.ts +2 -0
- package/dist/types/utils/title-generator.d.ts +13 -3
- package/dist/types/web/scrapers/types.d.ts +8 -1
- package/dist/types/web/search/providers/codex.d.ts +6 -7
- package/dist/types/web/search/providers/insane.d.ts +7 -1
- package/dist/types/web/search/providers/searxng.d.ts +5 -0
- package/package.json +10 -9
- package/scripts/acp-conformance-agent.ts +12 -2
- package/scripts/build-binary.ts +2 -1
- package/scripts/capture-subagent-compact-panel-showcase.ts +105 -0
- package/scripts/generate-docs-index.ts +8 -1
- package/scripts/generate-sdk-operation-inventory.ts +38 -4
- package/src/async/job-manager.ts +356 -56
- package/src/async/result-formatting.ts +40 -0
- package/src/autoresearch/git.ts +9 -2
- package/src/autoresearch/prompts/prompt-setup.md +1 -1
- package/src/capability/fs.ts +58 -22
- package/src/capability/index.ts +2 -2
- package/src/capability/rule.ts +11 -2
- package/src/cli/accounts-cli.ts +176 -8
- package/src/cli/append-system-prompt.ts +12 -0
- package/src/cli/args.ts +11 -7
- package/src/cli/auth-broker-cli.ts +21 -11
- package/src/cli/customize-doctor-precedence.ts +31 -0
- package/src/cli/customize-doctor.ts +49 -39
- package/src/cli/doctor/install-repairs.ts +35 -5
- package/src/cli/fast-help.ts +1 -3
- package/src/cli/install-activation.ts +47 -4
- package/src/cli/migrate-cli.ts +19 -6
- package/src/cli/public-command-errors.ts +6 -0
- package/src/cli/root-flags.ts +2 -4
- package/src/cli/stats-cli.ts +9 -5
- package/src/cli/update-cli.ts +471 -13
- package/src/cli-ordinary.ts +7 -2
- package/src/commands/accounts.ts +10 -5
- package/src/commands/harness.ts +25 -15
- package/src/commands/migrate.ts +3 -3
- package/src/commands/sdk.ts +277 -50
- package/src/commands/ultragoal.ts +16 -8
- package/src/commit/agentic/agent.ts +6 -6
- package/src/commit/analysis/conventional.ts +14 -5
- package/src/commit/changelog/index.ts +39 -1
- package/src/commit/map-reduce/index.ts +7 -7
- package/src/commit/message.ts +10 -3
- package/src/commit/pipeline.ts +12 -12
- package/src/config/autorouting-tier-map.ts +50 -1
- package/src/config/config-file.ts +106 -3
- package/src/config/config-hot-reload-trust.ts +148 -0
- package/src/config/config-hot-reload.ts +742 -0
- package/src/config/file-lock.ts +1615 -328
- package/src/config/keybindings.ts +154 -7
- package/src/config/model-bindings-applier.ts +85 -47
- package/src/config/model-discovery-manager.ts +10 -0
- package/src/config/model-profile-activation.ts +889 -148
- package/src/config/model-registry.ts +1706 -205
- package/src/config/model-resolver.ts +52 -22
- package/src/config/models-config-schema.ts +6 -0
- package/src/config/settings-schema.ts +73 -4
- package/src/config/settings.ts +460 -24
- package/src/coordinator-mcp/policy.ts +26 -1
- package/src/coordinator-mcp/server.ts +37 -2
- package/src/crash/sanitize.ts +7 -1
- package/src/customization/import.ts +279 -8
- package/src/customization/inventory.ts +24 -8
- package/src/customization/types.ts +1 -0
- package/src/dap/client.ts +3 -2
- package/src/dap/config.ts +31 -11
- package/src/dap/defaults.json +1 -1
- package/src/dap/session.ts +161 -36
- package/src/debug/crash-diagnostics.ts +89 -6
- package/src/debug/report-bundle.ts +90 -2
- package/src/debug/system-info.ts +8 -3
- package/src/defaults/gjc/extensions/grok-cli-vendor/src/shared/base-url.ts +21 -7
- package/src/discovery/agents-md.ts +1 -1
- package/src/discovery/builtin.ts +4 -3
- package/src/discovery/helpers.ts +25 -16
- package/src/discovery/mcp-compat.ts +120 -17
- package/src/edit/apply-patch/index.ts +12 -1
- package/src/edit/index.ts +204 -22
- package/src/edit/modes/patch.ts +214 -8
- package/src/edit/modes/replace.ts +136 -0
- package/src/eval/js/context-manager.ts +29 -3
- package/src/eval/js/worker-entry.ts +51 -18
- package/src/eval/py/executor.ts +14 -4
- package/src/eval/py/runner.py +144 -5
- package/src/eval/py/runtime.ts +44 -4
- package/src/exec/bash-executor.ts +81 -4
- package/src/exec/bash-shell-guardian.ts +4 -1
- package/src/exec/bash-shell-supervisor.ts +8 -4
- package/src/exec/isolated-shell.ts +5 -1
- package/src/exec/non-interactive-env.ts +0 -1
- package/src/export/html/index.ts +86 -6
- package/src/export/ttsr.ts +176 -1
- package/src/extensibility/custom-tools/wrapper.ts +3 -1
- package/src/extensibility/extensions/loader.ts +10 -1
- package/src/extensibility/extensions/ouroboros-ooo-bridge.ts +63 -1
- package/src/extensibility/extensions/types.ts +5 -1
- package/src/extensibility/hooks/loader.ts +10 -2
- package/src/extensibility/plugins/marketplace/fetcher.ts +2 -2
- package/src/extensibility/plugins/marketplace/manager.ts +36 -10
- package/src/extensibility/slash-commands.ts +5 -0
- package/src/gjc-runtime/gc-runtime.ts +37 -7
- package/src/gjc-runtime/launch-tmux.ts +30 -15
- package/src/gjc-runtime/launch-worktree.test.ts +148 -0
- package/src/gjc-runtime/launch-worktree.ts +101 -14
- package/src/gjc-runtime/managed-owner-admission.ts +46 -2
- package/src/gjc-runtime/ralplan-current-final.ts +294 -0
- package/src/gjc-runtime/ralplan-runtime.ts +95 -1
- package/src/gjc-runtime/session-resolution.ts +38 -6
- package/src/gjc-runtime/session-state-lock.ts +59 -14
- package/src/gjc-runtime/state-runtime.ts +23 -19
- package/src/gjc-runtime/state-writer.ts +109 -5
- package/src/gjc-runtime/tmux-sessions.ts +93 -13
- package/src/gjc-runtime/ultragoal-change-set.ts +90 -11
- package/src/gjc-runtime/ultragoal-guard.ts +9 -1
- package/src/gjc-runtime/ultragoal-runtime.ts +15 -5
- package/src/harness-control-plane/finalize.ts +11 -0
- package/src/harness-control-plane/receipt-spool.ts +105 -28
- package/src/harness-control-plane/storage.ts +124 -6
- package/src/hindsight/content.ts +116 -16
- package/src/hindsight/mental-models.ts +22 -10
- package/src/hindsight/state.ts +7 -4
- package/src/hooks/native-skill-hook.ts +17 -12
- package/src/internal-urls/artifact-protocol.ts +3 -1
- package/src/internal-urls/docs-index.generated.ts +23 -22
- package/src/internal-urls/local-protocol.ts +167 -8
- package/src/internal-urls/types.ts +2 -0
- package/src/lsp/client.ts +2 -1
- package/src/lsp/clients/biome-client.ts +2 -0
- package/src/lsp/clients/swiftlint-client.ts +2 -0
- package/src/lsp/index.ts +29 -0
- package/src/lsp/workspace-path.ts +23 -0
- package/src/main.ts +330 -92
- package/src/memories/index.ts +25 -2
- package/src/migrate/action-planner.ts +574 -2
- package/src/migrate/adapters/claude-code.ts +162 -5
- package/src/migrate/adapters/codex.ts +77 -7
- package/src/migrate/adapters/index.ts +258 -5
- package/src/migrate/adapters/opencode.ts +10 -1
- package/src/migrate/executor.ts +222 -7
- package/src/migrate/hook-module.ts +193 -0
- package/src/migrate/report.ts +63 -2
- package/src/migrate/types.ts +84 -4
- package/src/modes/DESIGN.md +51 -0
- package/src/modes/acp/acp-agent.ts +10 -1
- package/src/modes/acp/permission-mode.ts +18 -1
- package/src/modes/components/agent-dashboard.ts +20 -4
- package/src/modes/components/assistant-message.ts +55 -1
- package/src/modes/components/customization/customization-dashboard.ts +7 -0
- package/src/modes/components/customization/import-wizard.ts +29 -3
- package/src/modes/components/model-selector.ts +157 -103
- package/src/modes/components/settings-selector.ts +103 -37
- package/src/modes/components/welcome.ts +3 -1
- package/src/modes/controllers/command-controller.ts +300 -9
- package/src/modes/controllers/event-controller.ts +1 -1
- package/src/modes/controllers/extension-ui-controller.ts +31 -1
- package/src/modes/controllers/goal-mode-controller.ts +79 -10
- package/src/modes/controllers/input-controller.ts +2 -0
- package/src/modes/controllers/plan-mode-controller.ts +66 -11
- package/src/modes/controllers/runtime-mcp-command-controller.ts +7 -6
- package/src/modes/controllers/selector-controller.ts +76 -7
- package/src/modes/interactive-mode.ts +123 -4
- package/src/modes/prompt-suggestion-controller.ts +1 -1
- package/src/modes/runtime-init.ts +5 -1
- package/src/modes/theme/theme.ts +15 -0
- package/src/modes/utils/host-status.ts +21 -10
- package/src/prompts/agent-fragments/browser-aside.md +2 -2
- package/src/prompts/system/irc-incoming.md +3 -1
- package/src/prompts/tools/debug.md +1 -1
- package/src/prompts/tools/irc.md +1 -1
- package/src/prompts/tools/read.md +1 -1
- package/src/prompts/tools/report-issue.md +13 -0
- package/src/prompts/tools/task.md +1 -1
- package/src/runtime-credential-selector.ts +2 -2
- package/src/runtime-mcp/content-limits.ts +7 -0
- package/src/runtime-mcp/manager-pool.test.ts +5 -4
- package/src/runtime-mcp/manager.ts +40 -3
- package/src/runtime-mcp/oauth-flow.ts +32 -6
- package/src/runtime-mcp/plugin-mcp-name-filter.ts +62 -0
- package/src/runtime-mcp/project-host-values.ts +12 -8
- package/src/runtime-mcp/render.ts +16 -1
- package/src/runtime-mcp/tool-bridge.ts +194 -21
- package/src/runtime-mcp/transports/stdio.ts +2 -1
- package/src/sdk/broker/broker-exit.ts +10 -5
- package/src/sdk/broker/broker.ts +484 -85
- package/src/sdk/broker/daemon-entry.ts +338 -116
- package/src/sdk/broker/doctor-restart.ts +2 -1
- package/src/sdk/broker/ensure.ts +1214 -268
- package/src/sdk/broker/hop.ts +286 -0
- package/src/sdk/broker/lifecycle-ledger.ts +38 -11
- package/src/sdk/broker/lifecycle.ts +102 -6
- package/src/sdk/broker/lock-host-identity.ts +29 -0
- package/src/sdk/broker/session-index.ts +91 -16
- package/src/sdk/broker/transport.ts +17 -1
- package/src/sdk/bus/chat-command-policy.ts +16 -3
- package/src/sdk/bus/chat-daemon-control.ts +2 -2
- package/src/sdk/bus/index.ts +460 -35
- package/src/sdk/bus/reconciliation-store.ts +201 -8
- package/src/sdk/bus/session-control.ts +2 -0
- package/src/sdk/bus/slack-daemon.ts +105 -9
- package/src/sdk/bus/telegram-daemon-contract.ts +9 -1
- package/src/sdk/bus/telegram-daemon.ts +10 -2
- package/src/sdk/bus/threaded-render.ts +20 -1
- package/src/sdk/cli/session-cli.ts +23 -6
- package/src/sdk/host/control/dispatch.ts +13 -1
- package/src/sdk/host/control/operations.ts +10 -1
- package/src/sdk/host/events.ts +67 -4
- package/src/sdk/host/host.ts +8 -2
- package/src/sdk/host/prompt-image-upload.ts +438 -0
- package/src/sdk/host/sdk-surface-parity.test.ts +15 -0
- package/src/sdk/host/session-runtime.test.ts +1737 -129
- package/src/sdk/host/session-runtime.ts +684 -83
- package/src/sdk/host/surface-policy.ts +4 -0
- package/src/sdk/host/websocket-transport.lifecycle.test.ts +90 -2
- package/src/sdk/host/websocket-transport.ts +19 -7
- package/src/sdk/lifecycle/service.ts +15 -1
- package/src/sdk/prompt-deadline-flush.ts +78 -5
- package/src/sdk/prompt-deadline-manager.ts +68 -14
- package/src/sdk/prompt-status.ts +6 -4
- package/src/sdk/protocol/adapter-validation.ts +81 -12
- package/src/sdk/protocol/operation-inventory.generated.json +261 -2
- package/src/sdk/protocol/operation-registry.ts +33 -3
- package/src/sdk/reconciliation-extensions.ts +1 -0
- package/src/sdk/session-list.ts +1 -0
- package/src/sdk/session.ts +237 -97
- package/src/session/agent-session.ts +2726 -479
- package/src/session/history-storage.ts +182 -12
- package/src/session/internal/managed-session-scope.ts +173 -57
- package/src/session/internal/managed-session-storage.ts +85 -12
- package/src/session/internal/native-publish-outcome.ts +5 -1
- package/src/session/messages.ts +47 -6
- package/src/session/session-manager.ts +326 -19
- package/src/session/startup-auth-config.ts +116 -8
- package/src/session/streaming-output.ts +262 -4
- package/src/session/terminal-abort.ts +14 -2
- package/src/session-import/redact.ts +53 -2
- package/src/session-import/service.ts +1 -0
- package/src/skill-state/workflow-mutation-guard.ts +2145 -206
- package/src/slash-commands/builtin-registry.ts +21 -6
- package/src/slash-commands/helpers/credential-switch.ts +10 -5
- package/src/slash-commands/helpers/mcp.ts +11 -3
- package/src/slash-commands/helpers/provider-auth-status.ts +456 -0
- package/src/ssh/ssh-executor.ts +9 -2
- package/src/stt/recorder.ts +26 -9
- package/src/system-prompt.ts +61 -16
- package/src/task/executor.ts +115 -20
- package/src/task/index.ts +389 -175
- package/src/task/role-body.ts +84 -0
- package/src/task/token-log-mode.test.ts +162 -0
- package/src/task/token-log.ts +91 -2
- package/src/tools/archive-reader.ts +650 -37
- package/src/tools/ask.ts +1 -0
- package/src/tools/ast-edit-write-path.ts +64 -0
- package/src/tools/ast-edit.ts +18 -1
- package/src/tools/ast-grep.ts +7 -2
- package/src/tools/atomic-file-write.ts +46 -15
- package/src/tools/auto-generated-guard.ts +15 -3
- package/src/tools/awaiting-input.ts +114 -0
- package/src/tools/bash-allowed-prefixes.ts +214 -6
- package/src/tools/bash-interactive.ts +14 -2
- package/src/tools/bash-skill-urls.ts +58 -5
- package/src/tools/bash.ts +113 -26
- package/src/tools/browser/tab-worker.ts +39 -13
- package/src/tools/browser.ts +17 -7
- package/src/tools/cron.ts +10 -1
- package/src/tools/debug.ts +16 -8
- package/src/tools/descriptors.test.ts +44 -0
- package/src/tools/descriptors.ts +50 -6
- package/src/tools/eval.ts +15 -0
- package/src/tools/fetch.ts +93 -4
- package/src/tools/gh.ts +27 -12
- package/src/tools/image-gen.ts +20 -6
- package/src/tools/index.ts +2 -0
- package/src/tools/irc.ts +5 -3
- package/src/tools/monitor.ts +9 -1
- package/src/tools/output-meta.ts +74 -5
- package/src/tools/python.ts +1 -1
- package/src/tools/read.ts +26 -37
- package/src/tools/recipe/runner.ts +23 -12
- package/src/tools/render-utils.ts +2 -2
- package/src/tools/report-issue.ts +184 -0
- package/src/tools/search.ts +3 -2
- package/src/tools/ssh.ts +274 -8
- package/src/tools/subagent-render.ts +114 -12
- package/src/tools/subagent.ts +118 -5
- package/src/tools/tmux-self-injection-guard.ts +3301 -122
- package/src/tools/todo-write.ts +41 -3
- package/src/tools/tool-catalog.generated.ts +32 -4
- package/src/tools/ultragoal-ask-guard.ts +13 -1
- package/src/tools/write.ts +42 -3
- package/src/tui/tree-list.ts +15 -1
- package/src/utils/commit-message-generator.ts +12 -4
- package/src/utils/external-editor.ts +21 -7
- package/src/utils/file-mentions.ts +75 -7
- package/src/utils/git.ts +38 -7
- package/src/utils/image-limits.ts +8 -0
- package/src/utils/image-loading.ts +1 -1
- package/src/utils/open.ts +73 -4
- package/src/utils/pasted-image-loading.ts +9 -8
- package/src/utils/prompt-suggestion.ts +5 -4
- package/src/utils/shell-snapshot.ts +9 -1
- package/src/utils/title-generator.ts +72 -22
- package/src/web/scrapers/index.ts +3 -1
- package/src/web/scrapers/types.ts +8 -0
- package/src/web/scrapers/youtube.ts +3 -2
- package/src/web/search/index.ts +2 -1
- package/src/web/search/providers/codex.ts +29 -32
- package/src/web/search/providers/insane.ts +91 -28
- package/src/web/search/providers/searxng.ts +62 -10
|
@@ -155,6 +155,8 @@ export interface SubagentRecord {
|
|
|
155
155
|
seq: number;
|
|
156
156
|
message?: string;
|
|
157
157
|
resumeToolCallId?: string;
|
|
158
|
+
admissionEndpointId?: string;
|
|
159
|
+
ownedRegistrationEndpointId?: string;
|
|
158
160
|
createdAt: number;
|
|
159
161
|
};
|
|
160
162
|
/** Last queued-resume seq for a CANCELLED queued resume (rec.queued is
|
|
@@ -187,7 +189,7 @@ export interface ResumeDescriptor {
|
|
|
187
189
|
* In-memory resume runner bound to the session that originally launched a
|
|
188
190
|
* subagent. Never serialized: process restart drops it so resume fails closed.
|
|
189
191
|
*/
|
|
190
|
-
export type ResumeRunner = (subagentId: string, message?: string, descriptor?: ResumeDescriptor, resumeToolCallId?: string) => string | undefined;
|
|
192
|
+
export type ResumeRunner = (subagentId: string, message?: string, descriptor?: ResumeDescriptor, resumeToolCallId?: string, admissionEndpointId?: string, ownedRegistrationEndpointId?: string) => string | undefined;
|
|
191
193
|
export interface AsyncJobManagerOptions {
|
|
192
194
|
onJobComplete: (jobId: string, text: string, job?: AsyncJob) => void | Promise<void>;
|
|
193
195
|
maxRunningJobs?: number;
|
|
@@ -361,7 +363,7 @@ export declare class AsyncJobManager {
|
|
|
361
363
|
* resume can neither resolve its lineage nor register its owned tuple
|
|
362
364
|
* (review thread P1). Returns TRUE when the mapping was moved (or no move
|
|
363
365
|
* was needed); returns FALSE when the successor endpoint is owned by a
|
|
364
|
-
|
|
366
|
+
/**
|
|
365
367
|
* BEFORE retiring predecessor state, because leaving this manager under
|
|
366
368
|
* the predecessor while tools resolve the successor to the foreign
|
|
367
369
|
* manager sends jobs to the wrong session and owned aborts lose their
|
|
@@ -447,7 +449,9 @@ export declare class AsyncJobManager {
|
|
|
447
449
|
cancelAndProveOwnerSubagents(lease: OwnerSubagentShutdownLease, options?: {
|
|
448
450
|
timeoutMs?: number;
|
|
449
451
|
}): Promise<OwnerSubagentShutdownProof>;
|
|
450
|
-
finishOwnerSubagentShutdown(lease: OwnerSubagentShutdownLease, outcome: "commit" | "release"
|
|
452
|
+
finishOwnerSubagentShutdown(lease: OwnerSubagentShutdownLease, outcome: "commit" | "release", options?: {
|
|
453
|
+
drainResumeQueue?: boolean;
|
|
454
|
+
}): void;
|
|
451
455
|
/** Request a graceful safe-boundary pause of a running subagent. */
|
|
452
456
|
pauseSubagent(subagentId: string, filter?: AsyncJobFilter): {
|
|
453
457
|
ok: boolean;
|
|
@@ -21,7 +21,7 @@ export declare function getCurrentAutoresearchBranch(workDir: string): Promise<s
|
|
|
21
21
|
* Mission state under `.gjc/**` is intentionally NOT listed here: it is
|
|
22
22
|
* runtime-owned and only the sanctioned `gjc autoresearch` CLI writes it.
|
|
23
23
|
*/
|
|
24
|
-
export declare function isAutoresearchAuthorizedResearchPath(
|
|
24
|
+
export declare function isAutoresearchAuthorizedResearchPath(cwd: string, rawPath: string): boolean;
|
|
25
25
|
/**
|
|
26
26
|
* Ensure the working tree is on an `autoresearch/*` branch when possible.
|
|
27
27
|
*
|
|
@@ -2,8 +2,8 @@ import * as fs from "node:fs";
|
|
|
2
2
|
/** Authority used when reading from an explicit-home discovery context. */
|
|
3
3
|
export type ReadScope = "project" | "user" | "native";
|
|
4
4
|
export interface FileIdentity {
|
|
5
|
-
readonly dev:
|
|
6
|
-
readonly ino:
|
|
5
|
+
readonly dev: bigint;
|
|
6
|
+
readonly ino: bigint;
|
|
7
7
|
}
|
|
8
8
|
export interface ReadFileOptions {
|
|
9
9
|
/** Canonicalize the file and enforce the supplied home/profile boundary. */
|
|
@@ -8,6 +8,8 @@ export interface RuleFrontmatter {
|
|
|
8
8
|
alwaysApply?: boolean;
|
|
9
9
|
/** New key for TTSR match conditions. */
|
|
10
10
|
condition?: string | string[];
|
|
11
|
+
/** AST-grep pattern(s) for TTSR AST matching (evaluated on completed tool args). */
|
|
12
|
+
astCondition?: string | string[];
|
|
11
13
|
/** New key for TTSR stream scope. */
|
|
12
14
|
scope?: string | string[];
|
|
13
15
|
/** Per-rule TTSR interrupt mode override. */
|
|
@@ -36,6 +38,8 @@ export interface Rule {
|
|
|
36
38
|
description?: string;
|
|
37
39
|
/** Regex condition(s) that can trigger TTSR interruption. */
|
|
38
40
|
condition?: string[];
|
|
41
|
+
/** AST-grep pattern(s) for TTSR AST matching (evaluated on completed tool args). */
|
|
42
|
+
astCondition?: string[];
|
|
39
43
|
/** Optional stream scope tokens (for example: text, thinking, tool:edit(*.ts)). */
|
|
40
44
|
scope?: string[];
|
|
41
45
|
/** Per-rule TTSR interrupt mode override (falls back to global ttsr.interruptMode). */
|
|
@@ -48,15 +52,16 @@ export interface Rule {
|
|
|
48
52
|
_source: SourceMeta;
|
|
49
53
|
}
|
|
50
54
|
/**
|
|
51
|
-
* Parse `condition`
|
|
55
|
+
* Parse `condition`, `astCondition`, and `scope` from rule frontmatter.
|
|
52
56
|
*
|
|
53
57
|
* - `condition` accepts string or string[]
|
|
58
|
+
* - `astCondition` accepts string or string[] (ast-grep patterns)
|
|
54
59
|
* - `scope` accepts string or string[]
|
|
55
60
|
* - legacy `ttsr_trigger` / `ttsrTrigger` are accepted as a `condition` fallback
|
|
56
61
|
* - condition tokens that look like file globs become scope shorthands:
|
|
57
62
|
* `*.rs` => `tool:edit(*.rs)`, `tool:write(*.rs)` and a catch-all condition `.*`
|
|
58
63
|
*/
|
|
59
|
-
export declare function parseRuleConditionAndScope(frontmatter: RuleFrontmatter): Pick<Rule, "condition" | "scope">;
|
|
64
|
+
export declare function parseRuleConditionAndScope(frontmatter: RuleFrontmatter): Pick<Rule, "condition" | "astCondition" | "scope">;
|
|
60
65
|
/**
|
|
61
66
|
* Process-global snapshot of rules the active session loaded.
|
|
62
67
|
* Read by internal URL protocol handlers (rule://).
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export declare const ACCOUNTS_ACTIONS: readonly ["list", "check", "pin", "logout"];
|
|
1
|
+
export declare const ACCOUNTS_ACTIONS: readonly ["list", "check", "pin", "prefer", "logout"];
|
|
2
2
|
export type AccountsAction = (typeof ACCOUNTS_ACTIONS)[number];
|
|
3
3
|
export interface AccountsCommandArgs {
|
|
4
4
|
action: AccountsAction;
|
|
5
5
|
provider?: string;
|
|
6
|
-
|
|
6
|
+
selectors?: readonly string[];
|
|
7
7
|
flags: {
|
|
8
8
|
json?: boolean;
|
|
9
9
|
persistent?: boolean;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export interface AppendSystemPromptCandidate {
|
|
2
|
+
level: "user" | "project";
|
|
3
|
+
path: string;
|
|
4
|
+
}
|
|
5
|
+
/** First user file. A repository copy is untrusted project text and is never selected. */
|
|
6
|
+
export declare function selectAppendSystemPromptFile(candidates: readonly AppendSystemPromptCandidate[]): string | undefined;
|
package/dist/types/cli/args.d.ts
CHANGED
|
@@ -6,8 +6,6 @@ export interface Args {
|
|
|
6
6
|
allowHome?: boolean;
|
|
7
7
|
provider?: string;
|
|
8
8
|
model?: string;
|
|
9
|
-
smol?: string;
|
|
10
|
-
slow?: string;
|
|
11
9
|
plan?: string;
|
|
12
10
|
mpreset?: string;
|
|
13
11
|
default?: boolean;
|
|
@@ -62,3 +60,10 @@ export interface Args {
|
|
|
62
60
|
export declare function parseArgs(args: string[], authority?: ParseArgsAuthority): Args;
|
|
63
61
|
/** Reject flags whose only owners are non-local startup consumers. */
|
|
64
62
|
export declare function assertLocalLaunchArgs(parsed: Args): void;
|
|
63
|
+
/**
|
|
64
|
+
* Resolve the ephemeral `plan` model-role override that plan mode switches to.
|
|
65
|
+
*
|
|
66
|
+
* Precedence is CLI `--plan` > `GJC_PLAN_MODEL` > legacy `PI_PLAN_MODEL`.
|
|
67
|
+
* `$pickenv` trims values and treats empty/whitespace as unset.
|
|
68
|
+
*/
|
|
69
|
+
export declare function resolvePlanModelOverride(parsed: Pick<Args, "plan">): string | undefined;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface DiscoveryPrecedenceCandidate {
|
|
2
|
+
key: string | undefined;
|
|
3
|
+
provider: string;
|
|
4
|
+
scope: "user" | "project" | "native";
|
|
5
|
+
eligible: boolean;
|
|
6
|
+
enabled: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface DiscoveryPrecedenceResult {
|
|
9
|
+
shadowed: boolean;
|
|
10
|
+
shadowedBy?: {
|
|
11
|
+
provider: string;
|
|
12
|
+
scope: DiscoveryPrecedenceCandidate["scope"];
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/** Resolve ordered discovery candidates without allowing ineligible or disabled entries to own keys. */
|
|
16
|
+
export declare function resolveDiscoveryPrecedence(candidates: readonly DiscoveryPrecedenceCandidate[]): DiscoveryPrecedenceResult[];
|
|
@@ -20,9 +20,10 @@ export type CustomizeSurfaceKind = "mcp" | "skill" | "hook" | "tool" | "extensio
|
|
|
20
20
|
*
|
|
21
21
|
* - `canonical`: project/global `.gjc` entries and GJC bundled defaults — the
|
|
22
22
|
* primary load path and the persisted authority for sessions.
|
|
23
|
-
* - `convention`: items
|
|
24
|
-
*
|
|
25
|
-
*
|
|
23
|
+
* - `convention`: items exposed by registered non-native discovery providers
|
|
24
|
+
* (claude-plugins, claude/codex hooks, agents, cursor, gemini, opencode,
|
|
25
|
+
* windsurf, cline, github, mcp-json, ssh). The item status identifies whether
|
|
26
|
+
* a discovered item is active, stored-only, or otherwise excluded at runtime.
|
|
26
27
|
* - `import-candidate`: Claude Code / Codex project (+ global) files on
|
|
27
28
|
* surfaces GJC deliberately never loads. Reported for provenance only; never
|
|
28
29
|
* active runtime authority. Candidates for a future import flow (#4291).
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* `reconcileActivationRecord`.
|
|
11
11
|
*/
|
|
12
12
|
import { type DirectoryIdentity, type FileIdentity } from "../install-activation";
|
|
13
|
+
import { InstallationAccessDeniedError } from "../update-cli";
|
|
13
14
|
export type InstallSourceKind = "standalone" | "source" | "npm-wrapper" | "unknown";
|
|
14
15
|
/**
|
|
15
16
|
* The trust anchor for "this target is the exact binary the current process
|
|
@@ -62,8 +63,10 @@ export interface InstallRepairResult {
|
|
|
62
63
|
readonly reason?: string;
|
|
63
64
|
readonly recordPath?: string;
|
|
64
65
|
readonly sideEffectStarted: boolean;
|
|
65
|
-
/**
|
|
66
|
+
/** Native Windows status returned by exact replacement. */
|
|
66
67
|
readonly windowsErrorCode?: string;
|
|
68
|
+
readonly stagingCleanupWarning?: string;
|
|
69
|
+
readonly retainedPaths?: InstallationAccessDeniedError["retainedPaths"];
|
|
67
70
|
readonly before?: {
|
|
68
71
|
readonly identity?: FileIdentity;
|
|
69
72
|
readonly digest?: string;
|
|
@@ -134,8 +134,12 @@ export interface ReconcileResult {
|
|
|
134
134
|
readonly record?: ActivationRecordV1;
|
|
135
135
|
readonly recordIdentity?: FileIdentity;
|
|
136
136
|
readonly reason?: string;
|
|
137
|
-
/** Present only for a pre-mutation Windows
|
|
137
|
+
/** Present only for a pre-mutation Windows exact-replacement failure. */
|
|
138
138
|
readonly windowsErrorCode?: string;
|
|
139
|
+
readonly detachedPath?: string;
|
|
140
|
+
readonly retainedSuccessorPath?: string;
|
|
141
|
+
readonly retainedPlaceholderPath?: string;
|
|
142
|
+
readonly retainedUnknownPath?: string;
|
|
139
143
|
}
|
|
140
144
|
/**
|
|
141
145
|
* Reconcile the activation record for `targetPath` against durable state.
|
|
@@ -148,9 +152,11 @@ export interface ReconcileResult {
|
|
|
148
152
|
* records are re-verified and advanced to `verified` once the target
|
|
149
153
|
* digest/identity matches the candidate. `verified` records are read-only
|
|
150
154
|
* re-confirmations. Anything else (target/parent drift, missing staged
|
|
151
|
-
* candidate, an already-occupied backup name
|
|
152
|
-
*
|
|
153
|
-
*
|
|
155
|
+
* candidate, an already-occupied backup name) is reported as `conflict` with
|
|
156
|
+
* the exact reason and never silently promoted. A pre-mutation Windows
|
|
157
|
+
* sharing violation becomes `pending_activation`; an access-denied result is
|
|
158
|
+
* also recorded as pending for safe reuse but remains a `conflict` so the
|
|
159
|
+
* caller reports the publication failure.
|
|
154
160
|
*/
|
|
155
161
|
export declare function reconcileActivationRecord(targetPath: string, options?: {
|
|
156
162
|
readonly allowPromotion?: boolean;
|
|
@@ -81,6 +81,8 @@ export declare const PUBLIC_COMMAND_DIAGNOSTICS: {
|
|
|
81
81
|
readonly router_cleanup_failed: "SDK session Router cleanup failed.";
|
|
82
82
|
readonly broker_cleanup_failed: "SDK broker client cleanup failed.";
|
|
83
83
|
readonly lifecycle_idempotency_conflict: "The broker reported an idempotency conflict. Reconcile existing lifecycle state before deciding whether another request is safe.";
|
|
84
|
+
readonly lifecycle_legacy_history_ambiguous: "The broker refused admission because legacy lifecycle history cannot prove this target is unrelated. This request was not dispatched; this refusal does not settle earlier effects. Preserve the ledger and original operation, request key, and target. For a prior session.create, use read-only session.lookup with its original key and create target; not_found is not proof of no effect. An empty transcript, stopped host, or fresh key does not resolve this fence. Do not edit the ledger, force deletion, or retry with another key; missing identity or terminal effect evidence requires operator investigation.";
|
|
85
|
+
readonly lifecycle_input_refused: "The broker refused the request as invalid input. Correct the request payload and reconcile existing lifecycle state before deciding whether another request is safe.";
|
|
84
86
|
readonly usage_transport_exclusive: "Specify exactly one of --stdio or --socket <path>.";
|
|
85
87
|
readonly usage_duplicate_option: "Each option on this command may occur at most once.";
|
|
86
88
|
readonly usage_unknown_argument: "An unrecognized argument was supplied; re-read the command help for its accepted grammar.";
|
|
@@ -6,12 +6,6 @@ export declare const ROOT_LAUNCH_FLAGS: {
|
|
|
6
6
|
model: FlagDescriptor<"string"> & {
|
|
7
7
|
description: string;
|
|
8
8
|
};
|
|
9
|
-
smol: FlagDescriptor<"string"> & {
|
|
10
|
-
description: string;
|
|
11
|
-
};
|
|
12
|
-
slow: FlagDescriptor<"string"> & {
|
|
13
|
-
description: string;
|
|
14
|
-
};
|
|
15
9
|
plan: FlagDescriptor<"string"> & {
|
|
16
10
|
description: string;
|
|
17
11
|
};
|
|
@@ -141,12 +135,6 @@ export declare const LAUNCH_PARSE_FLAGS: {
|
|
|
141
135
|
model: FlagDescriptor<"string"> & {
|
|
142
136
|
description: string;
|
|
143
137
|
};
|
|
144
|
-
smol: FlagDescriptor<"string"> & {
|
|
145
|
-
description: string;
|
|
146
|
-
};
|
|
147
|
-
slow: FlagDescriptor<"string"> & {
|
|
148
|
-
description: string;
|
|
149
|
-
};
|
|
150
138
|
plan: FlagDescriptor<"string"> & {
|
|
151
139
|
description: string;
|
|
152
140
|
};
|
|
@@ -10,7 +10,7 @@ import { type UpdateChannel } from "../config/update-channel";
|
|
|
10
10
|
import { type NotificationProvider } from "../sdk/bus/config";
|
|
11
11
|
import type { TelemetryDetails, TelemetryEventName } from "../telemetry";
|
|
12
12
|
import { type GithubReleaseLookupOptions } from "./github-release";
|
|
13
|
-
import { type DirectoryIdentity, type FileIdentity } from "./install-activation";
|
|
13
|
+
import { type DirectoryIdentity, type FileIdentity, type ReconcileResult } from "./install-activation";
|
|
14
14
|
import { offerMacosCommunityApp } from "./macos-community-app";
|
|
15
15
|
export interface UpdateCommandOptions {
|
|
16
16
|
force: boolean;
|
|
@@ -63,6 +63,19 @@ export interface BinaryReplacementOptions {
|
|
|
63
63
|
verifyStagedVersion?: (stagingPath: string, expectedVersion: string) => Promise<void>;
|
|
64
64
|
verifyInstalledVersion: (expectedVersion: string) => Promise<InstalledVersionVerification>;
|
|
65
65
|
}
|
|
66
|
+
export declare class InstallationAccessDeniedError extends Error {
|
|
67
|
+
readonly targetPath: string;
|
|
68
|
+
readonly windowsErrorCode?: string | undefined;
|
|
69
|
+
readonly stagingCleanupWarning?: string | undefined;
|
|
70
|
+
readonly retainedPaths?: Pick<ReconcileResult, "detachedPath" | "retainedSuccessorPath" | "retainedPlaceholderPath" | "retainedUnknownPath"> | undefined;
|
|
71
|
+
readonly code = "access_denied";
|
|
72
|
+
constructor(targetPath: string, windowsErrorCode?: string | undefined, stagingCleanupWarning?: string | undefined, retainedPaths?: Pick<ReconcileResult, "detachedPath" | "retainedSuccessorPath" | "retainedPlaceholderPath" | "retainedUnknownPath"> | undefined);
|
|
73
|
+
}
|
|
74
|
+
export declare class ActivationRetryCandidateRepointError extends Error {
|
|
75
|
+
readonly candidatePath: string;
|
|
76
|
+
readonly reasonCode: string;
|
|
77
|
+
constructor(candidatePath: string, cause: unknown);
|
|
78
|
+
}
|
|
66
79
|
/**
|
|
67
80
|
* Parse update subcommand arguments.
|
|
68
81
|
* Returns undefined if not an update command.
|
|
@@ -88,6 +101,9 @@ export type UpdateTarget = {
|
|
|
88
101
|
} | MigrationUpdateTarget;
|
|
89
102
|
type PathPlatform = NodeJS.Platform;
|
|
90
103
|
type PackageExists = (packageName: string, packageRoot: string) => boolean;
|
|
104
|
+
export declare function resolveProjectLocalPackageInstallForTest(ompPath: string, platform: PathPlatform): {
|
|
105
|
+
packageRoot: string;
|
|
106
|
+
} | undefined;
|
|
91
107
|
export declare function resolveUpdateMethodForTest(ompPath: string, bunBinDir: string | undefined): "bun" | "npm" | "binary";
|
|
92
108
|
export declare function resolveNpmManagedTargetForTest(ompPath: string, platform: PathPlatform, packageExists: PackageExists): PackageManagerTarget | undefined;
|
|
93
109
|
export declare function defaultUserBinaryPath(platform?: NodeJS.Platform, env?: NodeJS.ProcessEnv): string;
|
|
@@ -171,14 +187,16 @@ export interface BinaryUpdateFlow {
|
|
|
171
187
|
/** Called once fsync has succeeded, right before replacement begins. */
|
|
172
188
|
beforeReplace?(): void;
|
|
173
189
|
}
|
|
190
|
+
export declare function isUpdateStagingNameForTest(targetPath: string, name: string): boolean;
|
|
191
|
+
export declare function isUpdateBackupNameForTest(targetPath: string, name: string): boolean;
|
|
174
192
|
/**
|
|
175
193
|
* Orchestrate download → fsync → replace → verify with a strict ordering
|
|
176
194
|
* contract: the downloaded temp binary MUST be flushed to stable storage
|
|
177
195
|
* before it is published (renamed into place) or exec'd for verification.
|
|
178
196
|
*
|
|
179
197
|
* If fsync fails the temp bytes are not durable, so we abort before
|
|
180
|
-
* replacement/verification
|
|
181
|
-
*
|
|
198
|
+
* replacement/verification. Final cleanup removes the exact staging identity
|
|
199
|
+
* only when no activation record still owns it.
|
|
182
200
|
*/
|
|
183
201
|
export declare function runBinaryUpdateFlow(targetPath: string, url: string, expectedVersion: string, flow: BinaryUpdateFlow): Promise<InstalledVersionVerification>;
|
|
184
202
|
export declare function acquireBinaryUpdateLock(targetPath: string): Promise<() => Promise<void>>;
|
package/dist/types/cli-main.d.ts
CHANGED
|
@@ -27,12 +27,6 @@ export declare class RootHelpCommand extends Command {
|
|
|
27
27
|
model: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
28
28
|
description: string;
|
|
29
29
|
};
|
|
30
|
-
smol: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
31
|
-
description: string;
|
|
32
|
-
};
|
|
33
|
-
slow: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
34
|
-
description: string;
|
|
35
|
-
};
|
|
36
30
|
plan: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
37
31
|
description: string;
|
|
38
32
|
};
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* This module owns the effectful bootstrap (startup timing, stderr drainer,
|
|
4
4
|
* bash-shell worker protocol) plus the unchanged ordinary routing order:
|
|
5
5
|
* bash-shell workers -> darwin malloc re-exec -> internal smoke -> tmux owner
|
|
6
|
-
* isolation -> managed-owner supervisor/admission/recovery ->
|
|
7
|
-
* stderr drainer -> public family dispatch -> community app -> doctor worker /
|
|
6
|
+
* isolation -> managed-owner supervisor/admission/recovery -> broker hop ->
|
|
7
|
+
* private sdk stderr drainer -> public family dispatch -> community app -> doctor worker /
|
|
8
8
|
* probe / cli -> full registry. `cli.ts` imports it lazily, only after argv has
|
|
9
9
|
* been proven not to be a `sdk diagnostics` observation. */
|
|
10
10
|
import { commands } from "./cli-commands";
|
|
@@ -7,7 +7,7 @@ export default class Accounts extends Command {
|
|
|
7
7
|
action: import("@gajae-code/utils/cli").ArgDescriptor & {
|
|
8
8
|
description: string;
|
|
9
9
|
required: false;
|
|
10
|
-
options: ("check" | "list" | "logout" | "pin")[];
|
|
10
|
+
options: ("check" | "list" | "logout" | "pin" | "prefer")[];
|
|
11
11
|
};
|
|
12
12
|
provider: import("@gajae-code/utils/cli").ArgDescriptor & {
|
|
13
13
|
description: string;
|
|
@@ -16,6 +16,7 @@ export default class Accounts extends Command {
|
|
|
16
16
|
selector: import("@gajae-code/utils/cli").ArgDescriptor & {
|
|
17
17
|
description: string;
|
|
18
18
|
required: false;
|
|
19
|
+
multiple: true;
|
|
19
20
|
};
|
|
20
21
|
};
|
|
21
22
|
static flags: {
|
|
@@ -20,12 +20,6 @@ export default class Index extends Command {
|
|
|
20
20
|
model: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
21
21
|
description: string;
|
|
22
22
|
};
|
|
23
|
-
smol: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
24
|
-
description: string;
|
|
25
|
-
};
|
|
26
|
-
slow: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
27
|
-
description: string;
|
|
28
|
-
};
|
|
29
23
|
plan: import("@gajae-code/utils/cli").FlagDescriptor<"string"> & {
|
|
30
24
|
description: string;
|
|
31
25
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Import MCP servers and
|
|
2
|
+
* Import MCP servers, skills, slash commands, and instructions from other coding agents into GJC.
|
|
3
3
|
*/
|
|
4
4
|
import { Command } from "@gajae-code/utils/cli";
|
|
5
5
|
export default class Migrate extends Command {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Command } from "@gajae-code/utils/cli";
|
|
2
|
+
import { type ProjectEnvSnapshot } from "@gajae-code/utils/env-file";
|
|
2
3
|
import type { Args as ParsedArgs } from "../cli/args";
|
|
3
4
|
import { applyStartupModelProfiles } from "../main";
|
|
4
5
|
import { initializeExtensions } from "../modes/runtime-init";
|
|
@@ -115,6 +116,13 @@ export declare function openLifecycleSessionManager(request: SessionLifecycleLau
|
|
|
115
116
|
* logged and swallowed instead of surfacing as an unhandled rejection.
|
|
116
117
|
*/
|
|
117
118
|
export declare function startMemoryBackendAfterReadiness(start: () => Promise<void>): void;
|
|
119
|
+
/**
|
|
120
|
+
* Cwd-equality test seams accept only an operator value. A project dotenv line,
|
|
121
|
+
* including one Bun expands from `$PWD`, never arms the seam.
|
|
122
|
+
*/
|
|
123
|
+
export declare function sdkCwdEqualityTestSeamActive(name: string, cwd: string, env?: NodeJS.ProcessEnv, snapshots?: readonly ProjectEnvSnapshot[]): boolean;
|
|
124
|
+
/** Copy `env` without project-dotenv values for the four cwd-equality seams. */
|
|
125
|
+
export declare function omitUntrustedSdkCwdEqualitySeams(env: NodeJS.ProcessEnv, snapshots: readonly ProjectEnvSnapshot[]): NodeJS.ProcessEnv;
|
|
118
126
|
/** Runs the same persisted AgentSession bootstrap used by the production CLI. */
|
|
119
127
|
export declare function runSessionHost(timing?: {
|
|
120
128
|
now?: () => number;
|
|
@@ -150,3 +158,8 @@ export default class Sdk extends Command {
|
|
|
150
158
|
static delegateHelp: boolean;
|
|
151
159
|
run(): Promise<void>;
|
|
152
160
|
}
|
|
161
|
+
/** Captures and removes one-shot restart credentials before the broker forks descendants. */
|
|
162
|
+
export declare function consumeBrokerRestartEnvironment(environment: NodeJS.ProcessEnv): {
|
|
163
|
+
requestIdEnv: string | undefined;
|
|
164
|
+
restartDeadlineAt: number | undefined;
|
|
165
|
+
};
|
|
@@ -28,3 +28,4 @@ export declare function runChangelogFlow({ cwd, model, apiKey, thinkingLevel, st
|
|
|
28
28
|
* Apply changelog entries provided by the commit agent.
|
|
29
29
|
*/
|
|
30
30
|
export declare function applyChangelogProposals({ cwd, proposals, dryRun, onProgress, }: ChangelogProposalInput): Promise<string[]>;
|
|
31
|
+
export declare function redactChangelogEntry(text: string): string;
|
|
@@ -12,9 +12,9 @@ export interface MapReduceInput {
|
|
|
12
12
|
model: Model<Api>;
|
|
13
13
|
apiKey: string;
|
|
14
14
|
thinkingLevel?: ThinkingLevel;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
secondaryModel: Model<Api>;
|
|
16
|
+
secondaryApiKey: string;
|
|
17
|
+
secondaryThinkingLevel?: ThinkingLevel;
|
|
18
18
|
diff: string;
|
|
19
19
|
stat: string;
|
|
20
20
|
scopeCandidates: string;
|
|
@@ -23,6 +23,6 @@ export interface MapReduceInput {
|
|
|
23
23
|
}
|
|
24
24
|
export declare function shouldUseMapReduce(diff: string, settings?: MapReduceSettings): boolean;
|
|
25
25
|
/**
|
|
26
|
-
* Run map-reduce analysis for large diffs using
|
|
26
|
+
* Run map-reduce analysis for large diffs using the secondary (map) and primary (reduce) models.
|
|
27
27
|
*/
|
|
28
28
|
export declare function runMapReduceAnalysis(input: MapReduceInput): Promise<ConventionalAnalysis>;
|
|
@@ -29,10 +29,14 @@ export type AutoroutingCuratedTierMap = {
|
|
|
29
29
|
};
|
|
30
30
|
export declare const TIER_MAP_VERSION = 1;
|
|
31
31
|
export declare const CURATED_TIER_LABELS: {
|
|
32
|
-
readonly "anthropic/claude-haiku-
|
|
32
|
+
readonly "anthropic/claude-haiku-5-5": readonly [{
|
|
33
33
|
readonly tier: "fast";
|
|
34
34
|
readonly rank: 1;
|
|
35
35
|
}];
|
|
36
|
+
readonly "anthropic/claude-haiku-4-5": readonly [{
|
|
37
|
+
readonly tier: "fast";
|
|
38
|
+
readonly rank: 2;
|
|
39
|
+
}];
|
|
36
40
|
readonly "anthropic/claude-sonnet-5-5": readonly [{
|
|
37
41
|
readonly tier: "balanced";
|
|
38
42
|
readonly rank: 1;
|
|
@@ -132,15 +136,63 @@ export declare const CURATED_TIER_LABELS: {
|
|
|
132
136
|
};
|
|
133
137
|
/** Generated from packages/ai/src/models.json at feature land: 3936 in-scope baseline skips. */
|
|
134
138
|
export declare const TIER_MAP_SKIP_LIST: {
|
|
139
|
+
readonly "amazon-bedrock/anthropic.claude-haiku-5-5": {
|
|
140
|
+
readonly rationale: "Haiku 5.5 Bedrock catalog addition; not yet curated";
|
|
141
|
+
};
|
|
142
|
+
readonly "amazon-bedrock/au.anthropic.claude-haiku-5-5": {
|
|
143
|
+
readonly rationale: "Haiku 5.5 Bedrock catalog addition; not yet curated";
|
|
144
|
+
};
|
|
145
|
+
readonly "amazon-bedrock/eu.anthropic.claude-haiku-5-5": {
|
|
146
|
+
readonly rationale: "Haiku 5.5 Bedrock catalog addition; not yet curated";
|
|
147
|
+
};
|
|
148
|
+
readonly "amazon-bedrock/global.anthropic.claude-haiku-5-5": {
|
|
149
|
+
readonly rationale: "Haiku 5.5 Bedrock catalog addition; not yet curated";
|
|
150
|
+
};
|
|
151
|
+
readonly "amazon-bedrock/jp.anthropic.claude-haiku-5-5": {
|
|
152
|
+
readonly rationale: "Haiku 5.5 Bedrock catalog addition; not yet curated";
|
|
153
|
+
};
|
|
154
|
+
readonly "amazon-bedrock/us.anthropic.claude-haiku-5-5": {
|
|
155
|
+
readonly rationale: "Haiku 5.5 Bedrock catalog addition; not yet curated";
|
|
156
|
+
};
|
|
135
157
|
readonly "amazon-bedrock/au.anthropic.claude-sonnet-5-5": {
|
|
136
158
|
readonly rationale: "Sonnet 5.5 catalog addition (#6111); not yet curated";
|
|
137
159
|
};
|
|
160
|
+
readonly "amazon-bedrock/in.anthropic.claude-haiku-4-5-20251001-v1:0": {
|
|
161
|
+
readonly rationale: "India-region Bedrock Anthropic catalog addition (#6731); not yet curated";
|
|
162
|
+
};
|
|
163
|
+
readonly "amazon-bedrock/in.anthropic.claude-opus-5": {
|
|
164
|
+
readonly rationale: "India-region Bedrock Anthropic catalog addition (#6731); not yet curated";
|
|
165
|
+
};
|
|
166
|
+
readonly "amazon-bedrock/in.anthropic.claude-sonnet-5": {
|
|
167
|
+
readonly rationale: "India-region Bedrock Anthropic catalog addition (#6731); not yet curated";
|
|
168
|
+
};
|
|
138
169
|
readonly "amazon-bedrock/jp.anthropic.claude-sonnet-5-5": {
|
|
139
170
|
readonly rationale: "Sonnet 5.5 catalog addition (#6111); not yet curated";
|
|
140
171
|
};
|
|
141
172
|
readonly "amazon-bedrock/us.anthropic.claude-sonnet-5-5": {
|
|
142
173
|
readonly rationale: "Sonnet 5.5 catalog addition (#6111); not yet curated";
|
|
143
174
|
};
|
|
175
|
+
readonly "github-copilot/gemini-4-argon": {
|
|
176
|
+
readonly rationale: "Gemini 4 Argon provider catalog addition (#6731); not yet curated";
|
|
177
|
+
};
|
|
178
|
+
readonly "google/gemini-4-argon": {
|
|
179
|
+
readonly rationale: "Gemini 4 Argon catalog addition (#6731); tier ordering not yet reviewed";
|
|
180
|
+
};
|
|
181
|
+
readonly "kilo/google/gemini-4-argon": {
|
|
182
|
+
readonly rationale: "Gemini 4 Argon provider catalog addition (#6731); not yet curated";
|
|
183
|
+
};
|
|
184
|
+
readonly "opencode-zen/gemini-4-argon": {
|
|
185
|
+
readonly rationale: "Gemini 4 Argon provider catalog addition (#6731); not yet curated";
|
|
186
|
+
};
|
|
187
|
+
readonly "openrouter/google/gemini-4-argon": {
|
|
188
|
+
readonly rationale: "Gemini 4 Argon provider catalog addition (#6731); not yet curated";
|
|
189
|
+
};
|
|
190
|
+
readonly "openrouter/google/gemini-4-argon:batch": {
|
|
191
|
+
readonly rationale: "Gemini 4 Argon batch provider catalog addition (#6731); not yet curated";
|
|
192
|
+
};
|
|
193
|
+
readonly "vercel-ai-gateway/google/gemini-4-argon": {
|
|
194
|
+
readonly rationale: "Gemini 4 Argon provider catalog addition (#6731); not yet curated";
|
|
195
|
+
};
|
|
144
196
|
readonly "kiro/claude-opus-5-5": {
|
|
145
197
|
readonly rationale: "post-rebase catalog addition from dev; not yet curated";
|
|
146
198
|
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hot reload requires a privacy check that only Linux can perform: its
|
|
3
|
+
* directory modes include the POSIX ACL mask, so denying group/other access
|
|
4
|
+
* also denies named ACL grants. Node does not expose enough ACL state on other
|
|
5
|
+
* platforms to establish equivalent privacy, so they do not watch at all.
|
|
6
|
+
*/
|
|
7
|
+
export declare function isConfigHotReloadSupported(): boolean;
|
|
8
|
+
/** Returns whether both configuration paths live in private, safely owned directories. */
|
|
9
|
+
export declare function isConfigHotReloadTrusted(paths: {
|
|
10
|
+
readonly configPath: string;
|
|
11
|
+
readonly modelsPath: string;
|
|
12
|
+
}): Promise<boolean>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export interface ConfigHotReloadPaths {
|
|
2
|
+
readonly configPath: string;
|
|
3
|
+
readonly modelsPath: string;
|
|
4
|
+
}
|
|
5
|
+
export interface ConfigHotReloadFileSnapshot {
|
|
6
|
+
readonly path: string;
|
|
7
|
+
readonly text: string | null;
|
|
8
|
+
readonly identity: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ConfigHotReloadCandidate {
|
|
11
|
+
readonly revision: number;
|
|
12
|
+
readonly config: ConfigHotReloadFileSnapshot;
|
|
13
|
+
readonly models: ConfigHotReloadFileSnapshot;
|
|
14
|
+
}
|
|
15
|
+
export type ConfigHotReloadErrorOperation = "watch" | "read" | "validate" | "apply";
|
|
16
|
+
/** A path-free diagnostic for watcher, snapshot, and callback failures. */
|
|
17
|
+
export declare class ConfigHotReloadError extends Error {
|
|
18
|
+
readonly operation: ConfigHotReloadErrorOperation;
|
|
19
|
+
readonly code: string | undefined;
|
|
20
|
+
constructor(operation: ConfigHotReloadErrorOperation, code?: string);
|
|
21
|
+
}
|
|
22
|
+
export interface ConfigHotReloadWatcherOptions {
|
|
23
|
+
/** Validate the snapshots without mutating live state before a candidate may supersede queued work. */
|
|
24
|
+
readonly onValidate: (candidate: ConfigHotReloadCandidate) => void | Promise<void>;
|
|
25
|
+
/** Apply these text snapshots, not a second read of their paths, and honor abort before commit. */
|
|
26
|
+
readonly onCandidate: (candidate: ConfigHotReloadCandidate, signal: AbortSignal) => void | Promise<void>;
|
|
27
|
+
readonly onError: (error: ConfigHotReloadError) => void;
|
|
28
|
+
}
|
|
29
|
+
/** Watches resolved config and models files and delivers immutable source snapshots. */
|
|
30
|
+
export declare class ConfigHotReloadWatcher {
|
|
31
|
+
#private;
|
|
32
|
+
constructor(options: ConfigHotReloadWatcherOptions);
|
|
33
|
+
/** Establishes the initial fingerprint baseline without emitting a candidate. */
|
|
34
|
+
start(paths: ConfigHotReloadPaths): Promise<void>;
|
|
35
|
+
/** Rebinds after session or configuration-root changes, fencing old work. */
|
|
36
|
+
rebind(paths: ConfigHotReloadPaths): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Test-only: request the same scan an fs event would schedule. Tests that
|
|
39
|
+
* exercise the watcher cannot rely on platform fs-event delivery timing.
|
|
40
|
+
*/
|
|
41
|
+
__testRequestScan(): void;
|
|
42
|
+
/** Closes all watches and cancels or fences pending and in-flight callbacks. */
|
|
43
|
+
dispose(): void;
|
|
44
|
+
}
|