@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
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Effort } from "@gajae-code/ai/model-thinking";
|
|
2
|
+
import { type CredentialPreferenceEntryValue } from "../session/startup-auth-config";
|
|
2
3
|
import { type EditMode } from "../utils/edit-mode";
|
|
3
4
|
import { type AutoroutingLocalIssue, type AutoroutingProvenance, type AutoroutingSetup, type AutoroutingTierMapInput } from "./autorouting-contract";
|
|
4
5
|
import { type DurableModelProfileOwnership } from "./model-profile-ownership";
|
|
@@ -122,7 +123,11 @@ type RecordValueDef = {
|
|
|
122
123
|
values: readonly string[];
|
|
123
124
|
} | {
|
|
124
125
|
type: "credential-selector";
|
|
126
|
+
} | {
|
|
127
|
+
type: "credential-preference-list";
|
|
125
128
|
};
|
|
129
|
+
/** A provider's `auth.credentialPreferences` value: one account or a non-empty ordered list of entries. */
|
|
130
|
+
export type CredentialPreferenceSettingValue = string | CredentialPreferenceEntryValue[];
|
|
126
131
|
interface ConstrainedRecordValueDef {
|
|
127
132
|
type: "autorouting-selector-value";
|
|
128
133
|
pattern: string;
|
|
@@ -198,6 +203,13 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
198
203
|
readonly type: "string";
|
|
199
204
|
readonly default: undefined;
|
|
200
205
|
};
|
|
206
|
+
readonly "auth.credentialPreferences": {
|
|
207
|
+
readonly type: "record";
|
|
208
|
+
readonly default: Record<string, CredentialPreferenceSettingValue>;
|
|
209
|
+
readonly valueSchema: {
|
|
210
|
+
readonly type: "credential-preference-list";
|
|
211
|
+
};
|
|
212
|
+
};
|
|
201
213
|
readonly "session.directoryMigration": {
|
|
202
214
|
readonly type: "enum";
|
|
203
215
|
readonly values: readonly ["copy-retain", "disabled"];
|
|
@@ -237,6 +249,12 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
237
249
|
readonly description: "Grace period before a master-spawned child orphaned by confirmed master loss is closed.";
|
|
238
250
|
readonly validate: (value: number) => boolean;
|
|
239
251
|
};
|
|
252
|
+
readonly "sdk.brokerAbandonedGraceMs": {
|
|
253
|
+
readonly type: "number";
|
|
254
|
+
readonly default: 120000;
|
|
255
|
+
readonly description: "Grace before a detached broker with no client connection, no live session host, and no open spawn authority exits on its own. A supervised `gjc sdk broker run` service never reaps itself.";
|
|
256
|
+
readonly validate: (value: number) => boolean;
|
|
257
|
+
};
|
|
240
258
|
readonly "notifications.enabled": {
|
|
241
259
|
readonly type: "boolean";
|
|
242
260
|
readonly default: false;
|
|
@@ -1565,12 +1583,12 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
1565
1583
|
};
|
|
1566
1584
|
readonly serviceTier: {
|
|
1567
1585
|
readonly type: "enum";
|
|
1568
|
-
readonly values: readonly ["none", "auto", "default", "flex", "scale", "priority", "openai-only", "claude-only"];
|
|
1586
|
+
readonly values: readonly ["none", "auto", "default", "flex", "scale", "priority", "ultrafast", "openai-only", "claude-only"];
|
|
1569
1587
|
readonly default: "none";
|
|
1570
1588
|
readonly ui: {
|
|
1571
1589
|
readonly tab: "model";
|
|
1572
1590
|
readonly label: "Service Tier";
|
|
1573
|
-
readonly description: 'Processing priority hint (none = omit). OpenAI accepts the tier values directly; Anthropic realizes `priority` as `speed: "fast"` on supported Opus models. Scoped values target one family.';
|
|
1591
|
+
readonly description: 'Processing priority hint (none = omit). OpenAI accepts the tier values directly; ultrafast is a 6x premium tier. Anthropic realizes `priority` as `speed: "fast"` on supported Opus models. Scoped values target one family.';
|
|
1574
1592
|
readonly options: readonly [{
|
|
1575
1593
|
readonly value: "none";
|
|
1576
1594
|
readonly label: "None";
|
|
@@ -1591,6 +1609,10 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
1591
1609
|
readonly value: "scale";
|
|
1592
1610
|
readonly label: "Scale";
|
|
1593
1611
|
readonly description: "Scale Tier credits when available (OpenAI)";
|
|
1612
|
+
}, {
|
|
1613
|
+
readonly value: "ultrafast";
|
|
1614
|
+
readonly label: "Ultrafast";
|
|
1615
|
+
readonly description: "Ultrafast processing at a 6x premium (OpenAI)";
|
|
1594
1616
|
}, {
|
|
1595
1617
|
readonly value: "priority";
|
|
1596
1618
|
readonly label: "Priority";
|
|
@@ -1608,7 +1630,7 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
1608
1630
|
};
|
|
1609
1631
|
readonly "task.serviceTier": {
|
|
1610
1632
|
readonly type: "enum";
|
|
1611
|
-
readonly values: readonly ["inherit", "none", "auto", "default", "flex", "scale", "priority", "openai-only", "claude-only"];
|
|
1633
|
+
readonly values: readonly ["inherit", "none", "auto", "default", "flex", "scale", "priority", "ultrafast", "openai-only", "claude-only"];
|
|
1612
1634
|
readonly default: "inherit";
|
|
1613
1635
|
readonly ui: {
|
|
1614
1636
|
readonly tab: "tasks";
|
|
@@ -1638,6 +1660,10 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
1638
1660
|
readonly value: "scale";
|
|
1639
1661
|
readonly label: "Scale";
|
|
1640
1662
|
readonly description: "Scale Tier credits when available (OpenAI)";
|
|
1663
|
+
}, {
|
|
1664
|
+
readonly value: "ultrafast";
|
|
1665
|
+
readonly label: "Ultrafast";
|
|
1666
|
+
readonly description: "Ultrafast processing at a 6x premium (OpenAI)";
|
|
1641
1667
|
}, {
|
|
1642
1668
|
readonly value: "priority";
|
|
1643
1669
|
readonly label: "Priority";
|
|
@@ -1882,7 +1908,7 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
1882
1908
|
readonly ui: {
|
|
1883
1909
|
readonly tab: "interaction";
|
|
1884
1910
|
readonly label: "Prompt Suggestions";
|
|
1885
|
-
readonly description: "Predict your likely next prompt after each turn (
|
|
1911
|
+
readonly description: "Predict your likely next prompt after each turn (one extra default-role model call) and show it as ghost text; Tab accepts";
|
|
1886
1912
|
};
|
|
1887
1913
|
};
|
|
1888
1914
|
readonly "startup.quiet": {
|
|
@@ -3143,6 +3169,10 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
3143
3169
|
readonly type: "string";
|
|
3144
3170
|
readonly default: undefined;
|
|
3145
3171
|
};
|
|
3172
|
+
readonly "shellMinimizer.settingsHash": {
|
|
3173
|
+
readonly type: "string";
|
|
3174
|
+
readonly default: undefined;
|
|
3175
|
+
};
|
|
3146
3176
|
readonly "shellMinimizer.only": {
|
|
3147
3177
|
readonly type: "array";
|
|
3148
3178
|
readonly default: string[];
|
|
@@ -3348,6 +3378,15 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
3348
3378
|
readonly description: "Enable the render_mermaid tool for Mermaid-to-ASCII rendering";
|
|
3349
3379
|
};
|
|
3350
3380
|
};
|
|
3381
|
+
readonly "reportIssue.enabled": {
|
|
3382
|
+
readonly type: "boolean";
|
|
3383
|
+
readonly default: false;
|
|
3384
|
+
readonly ui: {
|
|
3385
|
+
readonly tab: "tools";
|
|
3386
|
+
readonly label: "Tool issue reporting";
|
|
3387
|
+
readonly description: "Enable the report_issue tool: the model records tool behavior that contradicts the tool's description into the local ~/.gjc/tool-issues.db. Nothing is sent anywhere.";
|
|
3388
|
+
};
|
|
3389
|
+
};
|
|
3351
3390
|
readonly "debug.enabled": {
|
|
3352
3391
|
readonly type: "boolean";
|
|
3353
3392
|
readonly default: true;
|
|
@@ -3870,6 +3909,10 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
3870
3909
|
readonly type: "array";
|
|
3871
3910
|
readonly default: string[];
|
|
3872
3911
|
};
|
|
3912
|
+
readonly "mcp.discoveryDeferAutoload": {
|
|
3913
|
+
readonly type: "boolean";
|
|
3914
|
+
readonly default: false;
|
|
3915
|
+
};
|
|
3873
3916
|
readonly "mcp.notifications": {
|
|
3874
3917
|
readonly type: "boolean";
|
|
3875
3918
|
readonly default: false;
|
|
@@ -4101,6 +4144,15 @@ export declare const SETTINGS_SCHEMA: {
|
|
|
4101
4144
|
}];
|
|
4102
4145
|
};
|
|
4103
4146
|
};
|
|
4147
|
+
readonly "task.compactSubagentPanel": {
|
|
4148
|
+
readonly type: "boolean";
|
|
4149
|
+
readonly default: false;
|
|
4150
|
+
readonly ui: {
|
|
4151
|
+
readonly tab: "tasks";
|
|
4152
|
+
readonly label: "Compact Subagent Panel";
|
|
4153
|
+
readonly description: "Collapse awaited subagents into one summary line (expand tool output to see each one) and refresh only when the summary changes";
|
|
4154
|
+
};
|
|
4155
|
+
};
|
|
4104
4156
|
readonly "task.enableLsp": {
|
|
4105
4157
|
readonly type: "boolean";
|
|
4106
4158
|
readonly default: false;
|
|
@@ -4800,6 +4852,7 @@ export interface BashInterceptorRule {
|
|
|
4800
4852
|
export interface ShellMinimizerSettings {
|
|
4801
4853
|
enabled: boolean;
|
|
4802
4854
|
settingsPath: string | undefined;
|
|
4855
|
+
settingsHash: string | undefined;
|
|
4803
4856
|
only: string[];
|
|
4804
4857
|
except: string[];
|
|
4805
4858
|
maxCaptureBytes: number;
|
|
@@ -16,6 +16,7 @@ import { AgentStorage } from "../session/agent-storage";
|
|
|
16
16
|
import { type EditMode, type EditVariantMatch } from "../utils/edit-mode";
|
|
17
17
|
import { type CasReceipt } from "./atomic-yaml-patch";
|
|
18
18
|
import { type AutoroutingEffective } from "./autorouting-contract";
|
|
19
|
+
import type { ConfigHotReloadFileSnapshot } from "./config-hot-reload";
|
|
19
20
|
import { type ModelSelectorValue } from "./model-selector-value";
|
|
20
21
|
import { type BashInterceptorRule, type GroupPrefix, type GroupTypeMap, type SettingPath, type SettingsSchemaReport, type SettingValue } from "./settings-schema";
|
|
21
22
|
export type * from "./settings-schema";
|
|
@@ -24,6 +25,23 @@ export * from "./settings-schema";
|
|
|
24
25
|
export interface RawSettings {
|
|
25
26
|
[key: string]: unknown;
|
|
26
27
|
}
|
|
28
|
+
/** Validated candidate view. `get` includes local patches and effective overlays. */
|
|
29
|
+
export interface SettingsGlobalConfigCandidate {
|
|
30
|
+
readonly configPath: string;
|
|
31
|
+
readonly diagnostics: SettingsSchemaReport;
|
|
32
|
+
get<P extends SettingPath>(settingPath: P): SettingValue<P>;
|
|
33
|
+
/** Candidate global values include pending local patches, but exclude other layers. */
|
|
34
|
+
getGlobal<P extends SettingPath>(settingPath: P): SettingValue<P> | undefined;
|
|
35
|
+
}
|
|
36
|
+
export interface SettingsConfigReloadPublication {
|
|
37
|
+
finalize(): void;
|
|
38
|
+
rollback(): void;
|
|
39
|
+
}
|
|
40
|
+
export declare class SettingsGlobalConfigReloadError extends Error {
|
|
41
|
+
readonly configPath: string | null;
|
|
42
|
+
readonly diagnostics?: SettingsSchemaReport | undefined;
|
|
43
|
+
constructor(message: string, configPath: string | null, diagnostics?: SettingsSchemaReport | undefined);
|
|
44
|
+
}
|
|
27
45
|
/**
|
|
28
46
|
* Test-only seams for the config-root workflow migration. Production code
|
|
29
47
|
* never sets these; tests use them to interleave external filesystem changes
|
|
@@ -143,6 +161,18 @@ export declare class Settings implements NotificationSettingsReader {
|
|
|
143
161
|
/** Effective merged autorouting state shared by settings diagnostics and routing policy. */
|
|
144
162
|
getEffectiveAutorouting(): AutoroutingEffective;
|
|
145
163
|
onChanged(listener: (path: SettingPath) => void): () => void;
|
|
164
|
+
/** The resolved global config.yml path, or null for in-memory settings. */
|
|
165
|
+
getGlobalConfigPath(): string | null;
|
|
166
|
+
/**
|
|
167
|
+
* Validate the watcher's exact snapshot without writing or rereading it.
|
|
168
|
+
* Rebase pending local patches after prior durable operations settle.
|
|
169
|
+
*/
|
|
170
|
+
stageGlobalConfigReload(snapshot: ConfigHotReloadFileSnapshot): Promise<SettingsGlobalConfigCandidate>;
|
|
171
|
+
/**
|
|
172
|
+
* Publish a staged global config and its dependent synchronous model commit as
|
|
173
|
+
* one in-memory transaction. A thrown commit restores settings without hooks.
|
|
174
|
+
*/
|
|
175
|
+
publishGlobalConfigReload(candidate: SettingsGlobalConfigCandidate, commitSync?: () => void): SettingsConfigReloadPublication;
|
|
146
176
|
/** Whether durable settings mutations are permitted for the loaded configuration. */
|
|
147
177
|
canWriteDurableConfig(): boolean;
|
|
148
178
|
/** Whether this instance can publish a mutation to a durable config file. */
|
|
@@ -191,7 +221,9 @@ export declare class Settings implements NotificationSettingsReader {
|
|
|
191
221
|
getAgentDir(): string;
|
|
192
222
|
getPlansDirectory(): string;
|
|
193
223
|
/**
|
|
194
|
-
*
|
|
224
|
+
* Shell configuration for bash and the Python executor.
|
|
225
|
+
* `shellPath` comes from the user/global config only, so a project
|
|
226
|
+
* `.gjc/settings.json` cannot select the binary those executors run.
|
|
195
227
|
*/
|
|
196
228
|
getShellConfig(): import("@gajae-code/utils/shell-config").ShellConfig;
|
|
197
229
|
/**
|
|
@@ -125,6 +125,10 @@ interface CoordinatorEventInput {
|
|
|
125
125
|
payloadRef?: string | null;
|
|
126
126
|
metadata?: Record<string, unknown>;
|
|
127
127
|
}
|
|
128
|
+
/** Test-only access for generated normalization and truncation properties. */
|
|
129
|
+
export declare function webhookEventDiagnosticTokenForTest(eventId: string, maxLength: number): string;
|
|
130
|
+
/** Test-only access for diagnostic record boundary coverage. */
|
|
131
|
+
export declare function appendEventWebhookDiagnosticForTest(namespaceDir: string, eventId: string, error: unknown): Promise<void>;
|
|
128
132
|
/** Test-only helper that waits for startup replay and queued deliveries in a namespace. */
|
|
129
133
|
export declare function awaitEventWebhookDeliveriesForTest(namespaceDir: string): Promise<void>;
|
|
130
134
|
/** Test-only helper that waits for queued Codex wake publishes in a namespace. */
|
|
@@ -14,6 +14,8 @@ export interface BuildImportPreviewOptions {
|
|
|
14
14
|
* plan. Pure reads only — nothing is written until `applyImport`.
|
|
15
15
|
*/
|
|
16
16
|
export declare function buildImportPreview(options: BuildImportPreviewOptions): Promise<ImportPlan>;
|
|
17
|
+
/** Lexical shape of an import destination. Symlink checks are separate. */
|
|
18
|
+
export declare function importDestinationShapeAllowed(root: string, target: string): boolean;
|
|
17
19
|
/**
|
|
18
20
|
* Apply a confirmed plan. The transaction contract:
|
|
19
21
|
*
|
|
@@ -24,7 +24,7 @@ export declare const IMPORT_SOURCE_SCOPES: readonly ImportSourceScope[];
|
|
|
24
24
|
export declare function productLabel(product: ImportProduct): string;
|
|
25
25
|
export declare function sourceScopeLabel(scope: ImportSourceScope): string;
|
|
26
26
|
export declare function sourceConfigDir(product: ImportProduct, sourceScope: ImportSourceScope, projectCwd: string, homeDir: string): string;
|
|
27
|
-
export type InventoryStatus = "enabled" | "disabled" | "invalid" | "shadowed" | "quarantined" | "imported" | "restart-required";
|
|
27
|
+
export type InventoryStatus = "enabled" | "stored-only" | "disabled" | "invalid" | "shadowed" | "quarantined" | "imported" | "restart-required";
|
|
28
28
|
export interface InventoryRow {
|
|
29
29
|
/** Stable row identity: `<surface>:<scope>:<path>` */
|
|
30
30
|
id: string;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { DapAdapterConfig, DapResolvedAdapter } from "./types";
|
|
2
2
|
export declare function getAdapterConfigs(): Record<string, DapAdapterConfig>;
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
/**
|
|
4
|
+
* `trustCwds` are extra trust roots, such as the session workspace when the command
|
|
5
|
+
* cwd is a different directory. A command controlled by any of them is refused.
|
|
6
|
+
*/
|
|
7
|
+
export declare function resolveAdapter(adapterName: string, cwd: string, trustCwds?: readonly string[]): DapResolvedAdapter | null;
|
|
8
|
+
export declare function getAvailableAdapters(cwd: string, trustCwds?: readonly string[]): DapResolvedAdapter[];
|
|
9
|
+
export declare function selectLaunchAdapter(program: string, cwd: string, adapterName?: string, trustCwds?: readonly string[]): DapResolvedAdapter | null;
|
|
10
|
+
export declare function selectAttachAdapter(cwd: string, adapterName?: string, port?: number, trustCwds?: readonly string[]): DapResolvedAdapter | null;
|
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
import type { DapAttachSessionOptions, DapBreakpointRecord, DapCapabilities, DapContinueOutcome, DapDataBreakpointInfoResponse, DapDataBreakpointRecord, DapDisassembledInstruction, DapEvaluateArguments, DapEvaluateResponse, DapFunctionBreakpointRecord, DapInstructionBreakpointRecord, DapLaunchSessionOptions, DapModule, DapSessionSummary, DapSource, DapStackFrame, DapThread } from "./types";
|
|
2
|
+
/** Test seam: pauses after cwd containment and before the debuggee spawn. */
|
|
3
|
+
export declare const runInTerminalTestHooks: {
|
|
4
|
+
beforeSpawn?: () => Promise<void>;
|
|
5
|
+
};
|
|
2
6
|
export interface DapOutputSnapshot {
|
|
3
7
|
snapshot: DapSessionSummary;
|
|
4
8
|
output: string;
|
|
5
9
|
}
|
|
10
|
+
export declare function cwdEscapesWorkspace(root: string, candidate: string): boolean;
|
|
6
11
|
export declare class DapSessionManager {
|
|
7
12
|
#private;
|
|
8
13
|
constructor();
|
|
9
14
|
getActiveSession(): DapSessionSummary | null;
|
|
10
15
|
listSessions(): DapSessionSummary[];
|
|
11
16
|
getCapabilities(): DapCapabilities | null;
|
|
12
|
-
launch(options: DapLaunchSessionOptions
|
|
13
|
-
|
|
17
|
+
launch(options: DapLaunchSessionOptions & {
|
|
18
|
+
workspace?: string;
|
|
19
|
+
}, signal?: AbortSignal, timeoutMs?: number): Promise<DapSessionSummary>;
|
|
20
|
+
attach(options: DapAttachSessionOptions & {
|
|
21
|
+
workspace?: string;
|
|
22
|
+
}, signal?: AbortSignal, timeoutMs?: number): Promise<DapSessionSummary>;
|
|
14
23
|
setBreakpoint(file: string, line: number, condition?: string, signal?: AbortSignal, timeoutMs?: number): Promise<{
|
|
15
24
|
snapshot: DapSessionSummary;
|
|
16
25
|
breakpoints: DapBreakpointRecord[];
|
|
@@ -22,5 +22,10 @@ export interface SystemInfo {
|
|
|
22
22
|
export declare function collectSystemInfo(): Promise<SystemInfo>;
|
|
23
23
|
/** Format system info for display */
|
|
24
24
|
export declare function formatSystemInfo(info: SystemInfo): string;
|
|
25
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* Sanitize environment variables for a debug report.
|
|
27
|
+
* Sensitive names stay fully replaced. Other values keep their text, with the
|
|
28
|
+
* same credential shapes removed that crash records already scrub before they
|
|
29
|
+
* are written to disk.
|
|
30
|
+
*/
|
|
26
31
|
export declare function sanitizeEnv(env: Record<string, string | undefined>): Record<string, string>;
|
|
@@ -93,8 +93,12 @@ export declare function getUserSkillScanDirs(home: string, userAgentDir?: string
|
|
|
93
93
|
*/
|
|
94
94
|
export declare function getProjectPath(ctx: LoadContext, source: SourceId, subpath: string): string | null;
|
|
95
95
|
/** Build the filesystem authority for a provider read. */
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
type DiscoveryReadContext = Pick<LoadContext, "home" | "isolatedHome" | "userAgentDir" | "homeIdentity" | "userAgentIdentity" | "bypassCache"> & {
|
|
97
|
+
repoRoot?: string | null;
|
|
98
|
+
cwd?: string;
|
|
99
|
+
};
|
|
100
|
+
export declare function getReadOptions(ctx: DiscoveryReadContext, scope: ReadScope): ReadFileOptions | undefined;
|
|
101
|
+
export declare function getReadOptionsForContainment(ctx: DiscoveryReadContext, scope: ReadScope, containmentRoot?: string): Promise<ReadFileOptions | undefined>;
|
|
98
102
|
/**
|
|
99
103
|
* Create source metadata for an item.
|
|
100
104
|
*/
|
|
@@ -336,3 +340,4 @@ export declare function preloadPluginRoots(home: string, cwd?: string): Promise<
|
|
|
336
340
|
* Returns empty array if preloadPluginRoots() hasn't been called.
|
|
337
341
|
*/
|
|
338
342
|
export declare function getPreloadedPluginRoots(): readonly ClaudePluginRoot[];
|
|
343
|
+
export {};
|
|
@@ -20,7 +20,9 @@ export declare function normalizeClaudeMcpJson(content: string, sourcePath: stri
|
|
|
20
20
|
* Normalize a Codex `config.toml` file body into the internal MCP contract.
|
|
21
21
|
* Only the `[mcp_servers.*]` sections are read; everything else is ignored.
|
|
22
22
|
*/
|
|
23
|
-
export declare function normalizeCodexMcpToml(content: string, sourcePath: string, level?: "project" | "user"
|
|
23
|
+
export declare function normalizeCodexMcpToml(content: string, sourcePath: string, level?: "project" | "user", options?: {
|
|
24
|
+
omitEnvReferences?: boolean;
|
|
25
|
+
}): MCPCompatNormalizeResult;
|
|
24
26
|
/**
|
|
25
27
|
* Validate a normalized server against the internal MCP contract. Returns an
|
|
26
28
|
* error message, or undefined when the definition is importable. Callers use
|
|
@@ -41,6 +41,11 @@ export declare class EditTool implements AgentTool<TInput> {
|
|
|
41
41
|
get mode(): EditMode;
|
|
42
42
|
get description(): string;
|
|
43
43
|
get parameters(): TInput;
|
|
44
|
+
matcherDigest(args: unknown): string | undefined;
|
|
45
|
+
matcherEntries(args: unknown): readonly {
|
|
46
|
+
path: string;
|
|
47
|
+
digest: string;
|
|
48
|
+
}[] | undefined;
|
|
44
49
|
/**
|
|
45
50
|
* When in `apply_patch` mode, expose the OpenAI code backend Lark grammar so providers
|
|
46
51
|
* that support OpenAI-style custom tools can emit a grammar-constrained
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { AgentToolResult } from "@gajae-code/agent-core";
|
|
8
8
|
import * as z from "zod/v4";
|
|
9
|
+
import type { Settings } from "../../config/settings";
|
|
9
10
|
import { type WritethroughCallback, type WritethroughDeferredHandle } from "../../lsp";
|
|
10
11
|
import type { ToolSession } from "../../tools";
|
|
11
12
|
import type { EditToolDetails, LspBatchRequest } from "../renderer";
|
|
@@ -50,6 +51,17 @@ export interface ApplyPatchOptions {
|
|
|
50
51
|
* object identity is not a durable-lock capability probe.
|
|
51
52
|
*/
|
|
52
53
|
crossProcessLock?: boolean;
|
|
54
|
+
/** Explicit artifacts `local` root for this call. The caller session owns it. */
|
|
55
|
+
localRoot?: string;
|
|
56
|
+
signal?: AbortSignal;
|
|
57
|
+
/**
|
|
58
|
+
* Recheck a rename destination while this call holds the path mutation lock.
|
|
59
|
+
* The request preflight runs before that lock.
|
|
60
|
+
*/
|
|
61
|
+
destinationGuard?: {
|
|
62
|
+
settings: Pick<Settings, "get">;
|
|
63
|
+
displayPath: string;
|
|
64
|
+
};
|
|
53
65
|
}
|
|
54
66
|
/** Default filesystem implementation using Bun APIs */
|
|
55
67
|
export declare const defaultFileSystem: FileSystem;
|
|
@@ -61,6 +73,8 @@ export declare const defaultFileSystem: FileSystem;
|
|
|
61
73
|
* edits cannot silently overwrite each other (#2900).
|
|
62
74
|
*/
|
|
63
75
|
export declare function applyPatch(input: PatchInput, options: ApplyPatchOptions): Promise<ApplyPatchResult>;
|
|
76
|
+
/** Read-only mkdir check for one patch hunk. Does not create directories. */
|
|
77
|
+
export declare function preflightPatchMkdir(input: PatchInput, options: ApplyPatchOptions): Promise<void>;
|
|
64
78
|
/**
|
|
65
79
|
* Preview what changes a patch would make without applying it.
|
|
66
80
|
*/
|
|
@@ -121,3 +121,6 @@ export interface ExecuteReplaceSingleOptions {
|
|
|
121
121
|
beginDeferredDiagnosticsForPath: (path: string) => WritethroughDeferredHandle;
|
|
122
122
|
}
|
|
123
123
|
export declare function executeReplaceSingle(options: ExecuteReplaceSingleOptions): Promise<AgentToolResult<EditToolDetails, typeof replaceEditEntrySchema>>;
|
|
124
|
+
export declare function executeReplaceEntries(options: Omit<ExecuteReplaceSingleOptions, "params"> & {
|
|
125
|
+
edits: ReplaceEditEntry[];
|
|
126
|
+
}): Promise<AgentToolResult<EditToolDetails, typeof replaceEditSchema>>;
|
|
@@ -9,6 +9,15 @@ export interface PythonRuntimeLifecycleOptions {
|
|
|
9
9
|
signal?: AbortSignal;
|
|
10
10
|
deadlineMs?: number;
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* A workspace `.venv` or `venv` directory is repository content. Use it only when
|
|
14
|
+
* it is a real virtualenv (`pyvenv.cfg`) whose interpreter file resolves outside
|
|
15
|
+
* the project. An in-tree script or binary is not an interpreter.
|
|
16
|
+
*
|
|
17
|
+
* True when `candidate` is `root` or a descendant after `path.resolve`.
|
|
18
|
+
* A name such as `..payload` stays inside. Only `..` and a parent segment escape.
|
|
19
|
+
*/
|
|
20
|
+
export declare function workspacePathContained(root: string, candidate: string): boolean;
|
|
12
21
|
export interface PythonRuntime {
|
|
13
22
|
/** Path to python executable */
|
|
14
23
|
pythonPath: string;
|
|
@@ -111,6 +111,18 @@ export declare function getShellSessionCount(): number;
|
|
|
111
111
|
* shell resources, and is also callable directly (e.g. on owner teardown).
|
|
112
112
|
*/
|
|
113
113
|
export declare function disposeAllShellSessions(): Promise<void>;
|
|
114
|
+
type ShellMinimizerSource = {
|
|
115
|
+
getGroup(prefix: "shellMinimizer"): ShellMinimizerSettings;
|
|
116
|
+
getGlobal?(path: "shellMinimizer.settingsPath" | "shellMinimizer.settingsHash"): unknown;
|
|
117
|
+
getOverride?(path: "shellMinimizer.settingsPath"): unknown;
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* A repo `.gjc/settings.json` must not point the minimizer at a TOML file.
|
|
121
|
+
* The native gate loads that file only when `settingsHash` matches, and the
|
|
122
|
+
* pin is the user/global value. A user path or a runtime override is still
|
|
123
|
+
* passed through. A project path is passed only together with that pin.
|
|
124
|
+
*/
|
|
125
|
+
export declare function resolveTrustedShellMinimizer(settings: ShellMinimizerSource): ShellMinimizerSettings;
|
|
114
126
|
/** Translate `ShellMinimizerSettings` into native `MinimizerOptions`, or `undefined` when disabled. */
|
|
115
127
|
export declare function buildMinimizerOptions(group: ShellMinimizerSettings): MinimizerOptions | undefined;
|
|
116
128
|
export declare function executeBash(command: string, options?: BashExecutorOptions): Promise<BashResult>;
|
|
@@ -11,6 +11,13 @@ export interface TtsrMatchContext {
|
|
|
11
11
|
/** Stable key to isolate buffering (for example a tool call ID). */
|
|
12
12
|
streamKey?: string;
|
|
13
13
|
}
|
|
14
|
+
/** An astCondition pattern parse issue observed while checking a target language. */
|
|
15
|
+
export interface TtsrAstConditionDiagnostic {
|
|
16
|
+
ruleName: string;
|
|
17
|
+
lang: string;
|
|
18
|
+
patterns: string[];
|
|
19
|
+
parseErrors: string[];
|
|
20
|
+
}
|
|
14
21
|
/** Tracks when a rule was last injected (for repeat gating). */
|
|
15
22
|
export interface TtsrInjectionRecord {
|
|
16
23
|
name: string;
|
|
@@ -36,6 +43,12 @@ export declare class TtsrManager {
|
|
|
36
43
|
markInjectedByNames(ruleNames: string[]): void;
|
|
37
44
|
/** Get names of all injected rules (for persistence). */
|
|
38
45
|
getInjectedRuleNames(): string[];
|
|
46
|
+
/**
|
|
47
|
+
* Undo a provisional claim whose reminder was never delivered: restore the
|
|
48
|
+
* record the rule had before the claim, or forget it when it had none, so the
|
|
49
|
+
* rule is eligible again exactly as before.
|
|
50
|
+
*/
|
|
51
|
+
releaseInjected(ruleName: string, previous: TtsrInjectionRecord | undefined): void;
|
|
39
52
|
/** Get full injected rule records (for persistence). */
|
|
40
53
|
getInjectedRecords(): TtsrInjectionRecord[];
|
|
41
54
|
/** Restore injected state from legacy rule names or persisted records. */
|
|
@@ -52,4 +65,10 @@ export declare class TtsrManager {
|
|
|
52
65
|
restoreMessageCount(messageCount: number): void;
|
|
53
66
|
/** Get settings. */
|
|
54
67
|
getSettings(): Required<TtsrSettings>;
|
|
68
|
+
/** Check if any registered rule carries an `astCondition`. */
|
|
69
|
+
hasAstRules(): boolean;
|
|
70
|
+
/** Get observed astCondition pattern parse issues for rule diagnostics. */
|
|
71
|
+
getAstConditionDiagnostics(): TtsrAstConditionDiagnostic[];
|
|
72
|
+
/** Match the source introduced by finalized tool arguments, before execution. */
|
|
73
|
+
checkAstSnapshot(snapshot: string, context: TtsrMatchContext, signal?: AbortSignal): Promise<Rule[]>;
|
|
55
74
|
}
|
|
@@ -28,7 +28,7 @@ import type { CustomEditor } from "../../modes/components/custom-editor";
|
|
|
28
28
|
import type { WorkflowGateEmitter } from "../../modes/shared/agent-wire/workflow-gate-broker";
|
|
29
29
|
import type { Theme } from "../../modes/theme/theme";
|
|
30
30
|
import type { ProjectProgressSnapshot } from "../../progress/progress-contract";
|
|
31
|
-
import type { AgentSessionEventListener } from "../../session/agent-session";
|
|
31
|
+
import type { AgentSessionEventListener, QueuedRunStartFailure } from "../../session/agent-session";
|
|
32
32
|
import type { ClientBridge, ClientBridgePermissionOption, ClientBridgePermissionOutcome, ClientBridgePermissionToolCall } from "../../session/client-bridge";
|
|
33
33
|
import type { CustomMessage } from "../../session/messages";
|
|
34
34
|
import type { ReadonlySessionManager, SessionManager } from "../../session/session-manager";
|
|
@@ -864,6 +864,8 @@ export interface ExtensionAPI {
|
|
|
864
864
|
startsOwnRun?: boolean;
|
|
865
865
|
removed?: boolean;
|
|
866
866
|
}) => void;
|
|
867
|
+
/** Internal positive refusal before an exact queued invocation can start. */
|
|
868
|
+
onQueuedRunStartFailed?: (failure: QueuedRunStartFailure) => void;
|
|
867
869
|
onDispatchDisposition?: (promotion: {
|
|
868
870
|
startsOwnRun: boolean;
|
|
869
871
|
}) => void;
|
|
@@ -1052,6 +1054,8 @@ export type SendUserMessageHandler = (content: string | (TextContent | ImageCont
|
|
|
1052
1054
|
startsOwnRun?: boolean;
|
|
1053
1055
|
removed?: boolean;
|
|
1054
1056
|
}) => void;
|
|
1057
|
+
/** Internal positive refusal, not an inference from a dispatch error or missing event. */
|
|
1058
|
+
onQueuedRunStartFailed?: (failure: QueuedRunStartFailure) => void;
|
|
1055
1059
|
/**
|
|
1056
1060
|
* Fired synchronously when a plain prompt's dispatch resolves at queue
|
|
1057
1061
|
* time instead of run end (diverted into an in-flight run's steering).
|
|
@@ -18,6 +18,7 @@ export declare const BUILTIN_SLASH_COMMANDS: ReadonlyArray<BuiltinSlashCommand &
|
|
|
18
18
|
getArgumentCompletions?: (prefix: string) => AutocompleteItem[] | null;
|
|
19
19
|
getInlineHint?: (argumentText: string) => string | null;
|
|
20
20
|
}>;
|
|
21
|
+
export declare function getBuiltinSlashCommandsForSession(hasExactMcpControls: boolean): typeof BUILTIN_SLASH_COMMANDS;
|
|
21
22
|
/**
|
|
22
23
|
* Represents a custom slash command loaded from a file
|
|
23
24
|
*/
|
|
@@ -5,6 +5,9 @@ export declare const MANAGED_OWNER_PREDECESSOR_GENERATION_ENV = "GJC_MANAGED_OWN
|
|
|
5
5
|
export declare const MANAGED_OWNER_PREDECESSOR_RUN_ID_ENV = "GJC_MANAGED_OWNER_PREDECESSOR_RUN_ID";
|
|
6
6
|
export declare const MANAGED_OWNER_PREDECESSOR_INCARNATION_ENV = "GJC_MANAGED_OWNER_PREDECESSOR_INCARNATION";
|
|
7
7
|
export declare const MANAGED_OWNER_TRANSCRIPT_PATH_ENV = "GJC_MANAGED_OWNER_TRANSCRIPT_PATH";
|
|
8
|
+
export declare function trustedManagedOwnerTranscriptPath(env?: NodeJS.ProcessEnv, cwd?: string): string;
|
|
9
|
+
/** Session file forwarded to a replacement child. Same provenance rule. */
|
|
10
|
+
export declare function trustedManagedOwnerLaunchSessionFile(env: NodeJS.ProcessEnv, cwd: string): string;
|
|
8
11
|
export interface ManagedOwnerRecoveryContext {
|
|
9
12
|
root: string;
|
|
10
13
|
binding: ManagedOwnerBinding;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export interface RalplanIndexRow {
|
|
2
|
+
stage: string;
|
|
3
|
+
stageN: number;
|
|
4
|
+
path: string;
|
|
5
|
+
sha256: string;
|
|
6
|
+
}
|
|
7
|
+
export interface RalplanCurrentFinalDescriptor {
|
|
8
|
+
/** Run id the final belongs to. */
|
|
9
|
+
runId: string;
|
|
10
|
+
/** Absolute path of the final artifact. */
|
|
11
|
+
finalPath: string;
|
|
12
|
+
/** sha256 recorded for the final and re-verified against its bytes. */
|
|
13
|
+
finalSha256: string;
|
|
14
|
+
/** sha256 of the iteration-opening planner (or revision) artifact. */
|
|
15
|
+
plannerSha256: string;
|
|
16
|
+
/** Reviewer verdict hashes that joined this iteration. */
|
|
17
|
+
reviewerSha256: Record<string, string>;
|
|
18
|
+
/** Session that owns the run; a foreign session can never be granted. */
|
|
19
|
+
sessionId: string;
|
|
20
|
+
}
|
|
21
|
+
export type RalplanCurrentFinalRefusalCode = "missing_state" | "run_not_final" | "auto_handoff_enabled" | "missing_index" | "malformed_index" | "no_iteration_opener" | "final_not_last" | "missing_reviewers" | "artifact_missing" | "artifact_outside_run" | "hash_mismatch";
|
|
22
|
+
export interface RalplanCurrentFinalRefusal {
|
|
23
|
+
code: RalplanCurrentFinalRefusalCode;
|
|
24
|
+
/** Human-readable reason suitable for a guard error message. */
|
|
25
|
+
reason: string;
|
|
26
|
+
}
|
|
27
|
+
export type RalplanCurrentFinalResolution = {
|
|
28
|
+
ok: true;
|
|
29
|
+
descriptor: RalplanCurrentFinalDescriptor;
|
|
30
|
+
} | {
|
|
31
|
+
ok: false;
|
|
32
|
+
refusal: RalplanCurrentFinalRefusal;
|
|
33
|
+
};
|
|
34
|
+
export interface RalplanCurrentFinalInput {
|
|
35
|
+
cwd: string;
|
|
36
|
+
/** Caller session id; the run must belong to it. */
|
|
37
|
+
sessionId: string;
|
|
38
|
+
/** Optional agent dir for settings resolution. */
|
|
39
|
+
agentDir?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Whether the pending `ask` payload selects the ralplan execution-approval gate.
|
|
43
|
+
*
|
|
44
|
+
* This is a selector, not authority: it only decides which validation runs. The
|
|
45
|
+
* descriptor it leads to is the proof.
|
|
46
|
+
*/
|
|
47
|
+
export declare function selectsRalplanApprovalGate(pendingQuestions: unknown): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Resolve and verify the current ralplan final for `sessionId`.
|
|
50
|
+
*
|
|
51
|
+
* Fails closed: every check returns a refusal instead of degrading to a weaker
|
|
52
|
+
* proof, because the caller uses a success to lift the Ultragoal ask guard.
|
|
53
|
+
*/
|
|
54
|
+
export declare function resolveRalplanCurrentFinal(input: RalplanCurrentFinalInput): Promise<RalplanCurrentFinalResolution>;
|
|
@@ -160,6 +160,11 @@ interface RalplanTargetRoot {
|
|
|
160
160
|
}
|
|
161
161
|
export declare function resolveRalplanTargetRoot(args: readonly string[], invocationCwd: string): Promise<RalplanTargetRoot>;
|
|
162
162
|
export declare function assertExplicitTargetGjcNotSymlinked(root: string): Promise<void>;
|
|
163
|
+
/**
|
|
164
|
+
* Credential scrub for a ralplan stage body. The result is what
|
|
165
|
+
* `gjc ralplan --write` hashes and stores.
|
|
166
|
+
*/
|
|
167
|
+
export declare function scrubRalplanPersistedBody(stage: string, content: string): string;
|
|
163
168
|
export declare function runNativeRalplanCommand(args: string[], cwd?: string, options?: {
|
|
164
169
|
agentDir?: string;
|
|
165
170
|
}): Promise<RalplanCommandResult>;
|
|
@@ -72,6 +72,8 @@ export declare const SessionStateLockTestHooks: {
|
|
|
72
72
|
afterCurrentOwnerValidation?: (file: string) => void | Promise<void>;
|
|
73
73
|
/** @internal Fault seam immediately before a held owner record rewrite mutates bytes. */
|
|
74
74
|
beforeOwnerRecordRewrite?: (file: string) => void | Promise<void>;
|
|
75
|
+
/** @internal Fault seam immediately before the pre-rewrite fstat on the owner record handle. */
|
|
76
|
+
beforeOwnerRecordPrewriteStat?: (file: string) => void | Promise<void>;
|
|
75
77
|
/** @internal Fault seam immediately before final transition-generation validation. */
|
|
76
78
|
beforeTransitionReleaseLstat?: (transitionDir: string) => void | Promise<void>;
|
|
77
79
|
/** @internal Fault seam immediately before setup generation capture. */
|
|
@@ -47,8 +47,6 @@ export declare const DEEP_INTERVIEW_EXECUTION_APPROVAL_RECORD_FILE = "deep-inter
|
|
|
47
47
|
export declare const DEEP_INTERVIEW_EXECUTION_APPROVAL_MAX_AGE_MS: number;
|
|
48
48
|
export interface ExecutionApprovalTranscriptBoundary {
|
|
49
49
|
byte_length: number;
|
|
50
|
-
device: string;
|
|
51
|
-
inode: string;
|
|
52
50
|
leaf_id: string | null;
|
|
53
51
|
approval_tool_call_id: string;
|
|
54
52
|
}
|