@oh-my-pi/pi-coding-agent 15.1.1 → 15.1.3
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 +54 -0
- package/dist/types/async/index.d.ts +2 -0
- package/dist/types/async/job-manager.d.ts +87 -0
- package/dist/types/async/support.d.ts +2 -0
- package/dist/types/autoresearch/dashboard.d.ts +4 -0
- package/dist/types/autoresearch/git.d.ts +36 -0
- package/dist/types/autoresearch/helpers.d.ts +24 -0
- package/dist/types/autoresearch/index.d.ts +2 -0
- package/dist/types/autoresearch/state.d.ts +17 -0
- package/dist/types/autoresearch/storage.d.ts +142 -0
- package/dist/types/autoresearch/tools/init-experiment.d.ts +31 -0
- package/dist/types/autoresearch/tools/log-experiment.d.ts +23 -0
- package/dist/types/autoresearch/tools/run-experiment.d.ts +8 -0
- package/dist/types/autoresearch/tools/update-notes.d.ts +12 -0
- package/dist/types/autoresearch/types.d.ts +154 -0
- package/dist/types/capability/context-file.d.ts +17 -0
- package/dist/types/capability/extension-module.d.ts +15 -0
- package/dist/types/capability/extension.d.ts +28 -0
- package/dist/types/capability/fs.d.ts +20 -0
- package/dist/types/capability/hook.d.ts +19 -0
- package/dist/types/capability/index.d.ts +80 -0
- package/dist/types/capability/instruction.d.ts +17 -0
- package/dist/types/capability/mcp.d.ts +45 -0
- package/dist/types/capability/prompt.d.ts +15 -0
- package/dist/types/capability/rule.d.ts +61 -0
- package/dist/types/capability/settings.d.ts +15 -0
- package/dist/types/capability/skill.d.ts +36 -0
- package/dist/types/capability/slash-command.d.ts +17 -0
- package/dist/types/capability/ssh.d.ts +23 -0
- package/dist/types/capability/system-prompt.d.ts +15 -0
- package/dist/types/capability/tool.d.ts +19 -0
- package/dist/types/capability/types.d.ts +154 -0
- package/dist/types/cli/agents-cli.d.ts +12 -0
- package/dist/types/cli/args.d.ts +52 -0
- package/dist/types/cli/auth-broker-cli.d.ts +25 -0
- package/dist/types/cli/auth-gateway-cli.d.ts +18 -0
- package/dist/types/cli/classify-install-target.d.ts +18 -0
- package/dist/types/cli/commands/init-xdg.d.ts +1 -0
- package/dist/types/cli/config-cli.d.ts +22 -0
- package/dist/types/cli/file-processor.d.ts +11 -0
- package/dist/types/cli/grep-cli.d.ts +17 -0
- package/dist/types/cli/grievances-cli.d.ts +37 -0
- package/dist/types/cli/initial-message.d.ts +17 -0
- package/dist/types/cli/list-models.d.ts +30 -0
- package/dist/types/cli/plugin-cli.d.ts +32 -0
- package/dist/types/cli/read-cli.d.ts +4 -0
- package/dist/types/cli/session-picker.d.ts +3 -0
- package/dist/types/cli/setup-cli.d.ts +24 -0
- package/dist/types/cli/shell-cli.d.ts +8 -0
- package/dist/types/cli/ssh-cli.d.ts +21 -0
- package/dist/types/cli/stats-cli.d.ts +17 -0
- package/dist/types/cli/update-cli.d.ts +20 -0
- package/dist/types/cli/web-search-cli.d.ts +20 -0
- package/dist/types/cli.d.ts +3 -0
- package/dist/types/commands/acp.d.ts +12 -0
- package/dist/types/commands/agents.d.ts +34 -0
- package/dist/types/commands/auth-broker.d.ts +54 -0
- package/dist/types/commands/auth-gateway.d.ts +32 -0
- package/dist/types/commands/commit.d.ts +27 -0
- package/dist/types/commands/config.d.ts +30 -0
- package/dist/types/commands/grep.d.ts +42 -0
- package/dist/types/commands/grievances.d.ts +40 -0
- package/dist/types/commands/launch.d.ts +118 -0
- package/dist/types/commands/plugin.d.ts +52 -0
- package/dist/types/commands/read.d.ts +15 -0
- package/dist/types/commands/setup.d.ts +25 -0
- package/dist/types/commands/shell.d.ts +21 -0
- package/dist/types/commands/ssh.d.ts +48 -0
- package/dist/types/commands/stats.d.ts +25 -0
- package/dist/types/commands/update.d.ts +20 -0
- package/dist/types/commands/web-search.d.ts +33 -0
- package/dist/types/commit/agentic/agent.d.ts +31 -0
- package/dist/types/commit/agentic/fallback.d.ts +5 -0
- package/dist/types/commit/agentic/index.d.ts +2 -0
- package/dist/types/commit/agentic/state.d.ts +58 -0
- package/dist/types/commit/agentic/tools/analyze-file.d.ts +19 -0
- package/dist/types/commit/agentic/tools/git-file-diff.d.ts +10 -0
- package/dist/types/commit/agentic/tools/git-hunk.d.ts +9 -0
- package/dist/types/commit/agentic/tools/git-overview.d.ts +9 -0
- package/dist/types/commit/agentic/tools/index.d.ts +16 -0
- package/dist/types/commit/agentic/tools/propose-changelog.d.ts +28 -0
- package/dist/types/commit/agentic/tools/propose-commit.d.ts +36 -0
- package/dist/types/commit/agentic/tools/recent-commits.d.ts +7 -0
- package/dist/types/commit/agentic/tools/schemas.d.ts +27 -0
- package/dist/types/commit/agentic/tools/split-commit.d.ts +53 -0
- package/dist/types/commit/agentic/topo-sort.d.ts +4 -0
- package/dist/types/commit/agentic/trivial.d.ts +7 -0
- package/dist/types/commit/agentic/validation.d.ts +20 -0
- package/dist/types/commit/analysis/conventional.d.ts +22 -0
- package/dist/types/commit/analysis/index.d.ts +4 -0
- package/dist/types/commit/analysis/scope.d.ts +6 -0
- package/dist/types/commit/analysis/summary.d.ts +19 -0
- package/dist/types/commit/analysis/validation.d.ts +8 -0
- package/dist/types/commit/changelog/detect.d.ts +2 -0
- package/dist/types/commit/changelog/generate.d.ts +30 -0
- package/dist/types/commit/changelog/index.d.ts +30 -0
- package/dist/types/commit/changelog/parse.d.ts +2 -0
- package/dist/types/commit/cli.d.ts +3 -0
- package/dist/types/commit/git/diff.d.ts +5 -0
- package/dist/types/commit/index.d.ts +4 -0
- package/dist/types/commit/map-reduce/index.d.ts +28 -0
- package/dist/types/commit/map-reduce/map-phase.d.ts +17 -0
- package/dist/types/commit/map-reduce/reduce-phase.d.ts +13 -0
- package/dist/types/commit/map-reduce/utils.d.ts +2 -0
- package/dist/types/commit/message.d.ts +2 -0
- package/dist/types/commit/model-selection.d.ts +15 -0
- package/dist/types/commit/pipeline.d.ts +5 -0
- package/dist/types/commit/shared-llm.d.ts +54 -0
- package/dist/types/commit/types.d.ts +78 -0
- package/dist/types/commit/utils/exclusions.d.ts +4 -0
- package/dist/types/commit/utils.d.ts +20 -0
- package/dist/types/config/config-file.d.ts +58 -0
- package/dist/types/config/file-lock.d.ts +6 -0
- package/dist/types/config/keybindings.d.ts +334 -0
- package/dist/types/config/model-equivalence.d.ts +24 -0
- package/dist/types/config/model-registry.d.ts +363 -0
- package/dist/types/config/model-resolver.d.ts +230 -0
- package/dist/types/config/models-config-schema.d.ts +503 -0
- package/dist/types/config/prompt-templates.d.ts +32 -0
- package/dist/types/config/resolve-config-value.d.ts +17 -0
- package/dist/types/config/settings-schema.d.ts +3361 -0
- package/dist/types/config/settings.d.ts +126 -0
- package/dist/types/config.d.ts +66 -0
- package/dist/types/cursor.d.ts +22 -0
- package/dist/types/dap/client.d.ts +38 -0
- package/dist/types/dap/config.d.ts +6 -0
- package/dist/types/dap/index.d.ts +4 -0
- package/dist/types/dap/session.d.ts +108 -0
- package/dist/types/dap/types.d.ts +524 -0
- package/dist/types/debug/index.d.ts +15 -0
- package/dist/types/debug/log-formatting.d.ts +4 -0
- package/dist/types/debug/log-viewer.d.ts +68 -0
- package/dist/types/debug/profiler.d.ts +24 -0
- package/dist/types/debug/raw-sse-buffer.d.ts +44 -0
- package/dist/types/debug/raw-sse.d.ts +16 -0
- package/dist/types/debug/report-bundle.d.ts +55 -0
- package/dist/types/debug/system-info.d.ts +26 -0
- package/dist/types/discovery/agents-md.d.ts +1 -0
- package/dist/types/discovery/agents.d.ts +12 -0
- package/dist/types/discovery/builtin.d.ts +1 -0
- package/dist/types/discovery/claude-plugins.d.ts +1 -0
- package/dist/types/discovery/claude.d.ts +1 -0
- package/dist/types/discovery/cline.d.ts +1 -0
- package/dist/types/discovery/codex.d.ts +1 -0
- package/dist/types/discovery/cursor.d.ts +16 -0
- package/dist/types/discovery/gemini.d.ts +1 -0
- package/dist/types/discovery/github.d.ts +1 -0
- package/dist/types/discovery/helpers.d.ts +267 -0
- package/dist/types/discovery/index.d.ts +51 -0
- package/dist/types/discovery/mcp-json.d.ts +1 -0
- package/dist/types/discovery/opencode.d.ts +1 -0
- package/dist/types/discovery/plugin-dir-roots.d.ts +15 -0
- package/dist/types/discovery/ssh.d.ts +1 -0
- package/dist/types/discovery/substitute-plugin-root.d.ts +5 -0
- package/dist/types/discovery/vscode.d.ts +1 -0
- package/dist/types/discovery/windsurf.d.ts +13 -0
- package/dist/types/edit/apply-patch/index.d.ts +35 -0
- package/dist/types/edit/apply-patch/parser.d.ts +34 -0
- package/dist/types/edit/diff.d.ts +59 -0
- package/dist/types/edit/file-read-cache.d.ts +25 -0
- package/dist/types/edit/index.d.ts +58 -0
- package/dist/types/edit/modes/apply-patch.d.ts +24 -0
- package/dist/types/edit/modes/patch.d.ts +99 -0
- package/dist/types/edit/modes/replace.d.ts +142 -0
- package/dist/types/edit/normalize.d.ts +43 -0
- package/dist/types/edit/notebook.d.ts +23 -0
- package/dist/types/edit/read-file.d.ts +2 -0
- package/dist/types/edit/renderer.d.ts +110 -0
- package/dist/types/edit/streaming.d.ts +59 -0
- package/dist/types/eval/backend.d.ts +40 -0
- package/dist/types/eval/index.d.ts +4 -0
- package/dist/types/eval/js/context-manager.d.ts +24 -0
- package/dist/types/eval/js/executor.d.ts +28 -0
- package/dist/types/eval/js/index.d.ts +10 -0
- package/dist/types/eval/js/shared/helpers.d.ts +38 -0
- package/dist/types/eval/js/shared/indirect-eval.d.ts +14 -0
- package/dist/types/eval/js/shared/prelude.d.ts +1 -0
- package/dist/types/eval/js/shared/rewrite-imports.d.ts +6 -0
- package/dist/types/eval/js/shared/runtime.d.ts +47 -0
- package/dist/types/eval/js/shared/types.d.ts +24 -0
- package/dist/types/eval/js/tool-bridge.d.ts +18 -0
- package/dist/types/eval/js/worker-core.d.ts +5 -0
- package/dist/types/eval/js/worker-entry.d.ts +1 -0
- package/dist/types/eval/js/worker-protocol.d.ts +77 -0
- package/dist/types/eval/py/display.d.ts +25 -0
- package/dist/types/eval/py/executor.d.ts +83 -0
- package/dist/types/eval/py/index.d.ts +10 -0
- package/dist/types/eval/py/kernel.d.ts +55 -0
- package/dist/types/eval/py/prelude.d.ts +1 -0
- package/dist/types/eval/py/runtime.d.ts +21 -0
- package/dist/types/eval/py/tool-bridge.d.ts +20 -0
- package/dist/types/eval/types.d.ts +52 -0
- package/dist/types/exa/factory.d.ts +13 -0
- package/dist/types/exa/index.d.ts +20 -0
- package/dist/types/exa/mcp-client.d.ts +45 -0
- package/dist/types/exa/render.d.ts +19 -0
- package/dist/types/exa/researcher.d.ts +9 -0
- package/dist/types/exa/search.d.ts +9 -0
- package/dist/types/exa/types.d.ts +155 -0
- package/dist/types/exa/websets.d.ts +9 -0
- package/dist/types/exec/bash-executor.d.ts +41 -0
- package/dist/types/exec/exec.d.ts +25 -0
- package/dist/types/exec/idle-timeout-watchdog.d.ts +18 -0
- package/dist/types/exec/non-interactive-env.d.ts +1 -0
- package/dist/types/export/custom-share.d.ts +20 -0
- package/dist/types/export/html/index.d.ts +10 -0
- package/dist/types/export/html/template.generated.d.ts +1 -0
- package/dist/types/export/html/template.macro.d.ts +5 -0
- package/dist/types/export/ttsr.d.ts +44 -0
- package/dist/types/extensibility/custom-commands/bundled/ci-green/index.d.ts +9 -0
- package/dist/types/extensibility/custom-commands/bundled/review/index.d.ts +10 -0
- package/dist/types/extensibility/custom-commands/index.d.ts +2 -0
- package/dist/types/extensibility/custom-commands/loader.d.ts +29 -0
- package/dist/types/extensibility/custom-commands/types.d.ts +106 -0
- package/dist/types/extensibility/custom-tools/index.d.ts +6 -0
- package/dist/types/extensibility/custom-tools/loader.d.ts +69 -0
- package/dist/types/extensibility/custom-tools/types.d.ts +226 -0
- package/dist/types/extensibility/custom-tools/wrapper.d.ts +23 -0
- package/dist/types/extensibility/extensions/compact-handler.d.ts +26 -0
- package/dist/types/extensibility/extensions/get-commands-handler.d.ts +29 -0
- package/dist/types/extensibility/extensions/index.d.ts +8 -0
- package/dist/types/extensibility/extensions/loader.d.ts +43 -0
- package/dist/types/extensibility/extensions/runner.d.ts +134 -0
- package/dist/types/extensibility/extensions/types.d.ts +864 -0
- package/dist/types/extensibility/extensions/wrapper.d.ts +54 -0
- package/dist/types/extensibility/hooks/index.d.ts +5 -0
- package/dist/types/extensibility/hooks/loader.d.ts +89 -0
- package/dist/types/extensibility/hooks/runner.d.ts +126 -0
- package/dist/types/extensibility/hooks/tool-wrapper.d.ts +25 -0
- package/dist/types/extensibility/hooks/types.d.ts +431 -0
- package/dist/types/extensibility/plugins/doctor.d.ts +3 -0
- package/dist/types/extensibility/plugins/git-url.d.ts +34 -0
- package/dist/types/extensibility/plugins/index.d.ts +7 -0
- package/dist/types/extensibility/plugins/installer.d.ts +5 -0
- package/dist/types/extensibility/plugins/legacy-pi-compat.d.ts +2 -0
- package/dist/types/extensibility/plugins/loader.d.ts +31 -0
- package/dist/types/extensibility/plugins/manager.d.ts +65 -0
- package/dist/types/extensibility/plugins/marketplace/cache.d.ts +41 -0
- package/dist/types/extensibility/plugins/marketplace/fetcher.d.ts +48 -0
- package/dist/types/extensibility/plugins/marketplace/index.d.ts +6 -0
- package/dist/types/extensibility/plugins/marketplace/manager.d.ts +57 -0
- package/dist/types/extensibility/plugins/marketplace/registry.d.ts +34 -0
- package/dist/types/extensibility/plugins/marketplace/source-resolver.d.ts +28 -0
- package/dist/types/extensibility/plugins/marketplace/types.d.ts +130 -0
- package/dist/types/extensibility/plugins/parser.d.ts +52 -0
- package/dist/types/extensibility/plugins/types.d.ts +149 -0
- package/dist/types/extensibility/shared-events.d.ts +279 -0
- package/dist/types/extensibility/skills.d.ts +57 -0
- package/dist/types/extensibility/slash-commands.d.ts +48 -0
- package/dist/types/extensibility/tool-proxy.d.ts +4 -0
- package/dist/types/extensibility/typebox.d.ts +155 -0
- package/dist/types/extensibility/utils.d.ts +12 -0
- package/dist/types/goals/index.d.ts +3 -0
- package/dist/types/goals/runtime.d.ts +63 -0
- package/dist/types/goals/state.d.ts +35 -0
- package/dist/types/goals/tools/goal-tool.d.ts +62 -0
- package/dist/types/hashline/anchors.d.ts +20 -0
- package/dist/types/hashline/apply.d.ts +14 -0
- package/dist/types/hashline/constants.d.ts +21 -0
- package/dist/types/hashline/diff-preview.d.ts +2 -0
- package/dist/types/hashline/diff.d.ts +17 -0
- package/dist/types/hashline/execute.d.ts +4 -0
- package/dist/types/hashline/hash.d.ts +149 -0
- package/dist/types/hashline/index.d.ts +13 -0
- package/dist/types/hashline/input.d.ts +11 -0
- package/dist/types/hashline/parser.d.ts +7 -0
- package/dist/types/hashline/prefixes.d.ts +7 -0
- package/dist/types/hashline/recovery.d.ts +22 -0
- package/dist/types/hashline/stream.d.ts +2 -0
- package/dist/types/hashline/types.d.ts +77 -0
- package/dist/types/hindsight/backend.d.ts +13 -0
- package/dist/types/hindsight/bank.d.ts +54 -0
- package/dist/types/hindsight/client.d.ts +224 -0
- package/dist/types/hindsight/config.d.ts +51 -0
- package/dist/types/hindsight/content.d.ts +70 -0
- package/dist/types/hindsight/index.d.ts +8 -0
- package/dist/types/hindsight/mental-models.d.ts +125 -0
- package/dist/types/hindsight/state.d.ts +99 -0
- package/dist/types/hindsight/transcript.d.ts +28 -0
- package/dist/types/index.d.ts +33 -0
- package/dist/types/internal-urls/agent-protocol.d.ts +12 -0
- package/dist/types/internal-urls/artifact-protocol.d.ts +6 -0
- package/dist/types/internal-urls/docs-index.generated.d.ts +2 -0
- package/dist/types/internal-urls/index.d.ts +22 -0
- package/dist/types/internal-urls/issue-pr-protocol.d.ts +17 -0
- package/dist/types/internal-urls/json-query.d.ts +30 -0
- package/dist/types/internal-urls/local-protocol.d.ts +39 -0
- package/dist/types/internal-urls/mcp-protocol.d.ts +12 -0
- package/dist/types/internal-urls/memory-protocol.d.ts +17 -0
- package/dist/types/internal-urls/omp-protocol.d.ts +12 -0
- package/dist/types/internal-urls/parse.d.ts +19 -0
- package/dist/types/internal-urls/registry-helpers.d.ts +10 -0
- package/dist/types/internal-urls/router.d.ts +14 -0
- package/dist/types/internal-urls/rule-protocol.d.ts +6 -0
- package/dist/types/internal-urls/skill-protocol.d.ts +13 -0
- package/dist/types/internal-urls/types.d.ts +105 -0
- package/dist/types/lsp/client.d.ts +65 -0
- package/dist/types/lsp/clients/biome-client.d.ts +16 -0
- package/dist/types/lsp/clients/index.d.ts +19 -0
- package/dist/types/lsp/clients/lsp-linter-client.d.ts +16 -0
- package/dist/types/lsp/clients/swiftlint-client.d.ts +20 -0
- package/dist/types/lsp/config.d.ts +65 -0
- package/dist/types/lsp/edits.d.ts +16 -0
- package/dist/types/lsp/index.d.ts +130 -0
- package/dist/types/lsp/lspmux.d.ts +58 -0
- package/dist/types/lsp/render.d.ts +32 -0
- package/dist/types/lsp/startup-events.d.ts +11 -0
- package/dist/types/lsp/types.d.ts +302 -0
- package/dist/types/lsp/utils.d.ts +108 -0
- package/dist/types/main.d.ts +17 -0
- package/dist/types/mcp/client.d.ts +74 -0
- package/dist/types/mcp/config-writer.d.ts +53 -0
- package/dist/types/mcp/config.d.ts +75 -0
- package/dist/types/mcp/discoverable-tool-metadata.d.ts +7 -0
- package/dist/types/mcp/index.d.ts +18 -0
- package/dist/types/mcp/json-rpc.d.ts +22 -0
- package/dist/types/mcp/loader.d.ts +43 -0
- package/dist/types/mcp/manager.d.ts +193 -0
- package/dist/types/mcp/oauth-discovery.d.ts +40 -0
- package/dist/types/mcp/oauth-flow.d.ts +59 -0
- package/dist/types/mcp/render.d.ts +25 -0
- package/dist/types/mcp/smithery-auth.d.ts +16 -0
- package/dist/types/mcp/smithery-connect.d.ts +38 -0
- package/dist/types/mcp/smithery-registry.d.ts +51 -0
- package/dist/types/mcp/tool-bridge.d.ts +86 -0
- package/dist/types/mcp/tool-cache.d.ts +8 -0
- package/dist/types/mcp/transports/http.d.ts +36 -0
- package/dist/types/mcp/transports/index.d.ts +5 -0
- package/dist/types/mcp/transports/stdio.d.ts +32 -0
- package/dist/types/mcp/types.d.ts +333 -0
- package/dist/types/memories/index.d.ts +28 -0
- package/dist/types/memories/storage.d.ts +110 -0
- package/dist/types/memory-backend/index.d.ts +4 -0
- package/dist/types/memory-backend/local-backend.d.ts +9 -0
- package/dist/types/memory-backend/off-backend.d.ts +7 -0
- package/dist/types/memory-backend/resolve.d.ts +15 -0
- package/dist/types/memory-backend/types.d.ts +61 -0
- package/dist/types/modes/acp/acp-agent.d.ts +61 -0
- package/dist/types/modes/acp/acp-client-bridge.d.ts +9 -0
- package/dist/types/modes/acp/acp-event-mapper.d.ts +20 -0
- package/dist/types/modes/acp/acp-mode.d.ts +3 -0
- package/dist/types/modes/acp/index.d.ts +2 -0
- package/dist/types/modes/acp/terminal-auth.d.ts +6 -0
- package/dist/types/modes/components/agent-dashboard.d.ts +21 -0
- package/dist/types/modes/components/assistant-message.d.ts +16 -0
- package/dist/types/modes/components/bash-execution.d.ts +29 -0
- package/dist/types/modes/components/bordered-loader.d.ts +11 -0
- package/dist/types/modes/components/branch-summary-message.d.ts +13 -0
- package/dist/types/modes/components/btw-panel.d.ts +16 -0
- package/dist/types/modes/components/compaction-summary-message.d.ts +13 -0
- package/dist/types/modes/components/countdown-timer.d.ts +14 -0
- package/dist/types/modes/components/custom-editor.d.ts +47 -0
- package/dist/types/modes/components/custom-message.d.ts +15 -0
- package/dist/types/modes/components/diff.d.ts +11 -0
- package/dist/types/modes/components/dynamic-border.d.ts +14 -0
- package/dist/types/modes/components/eval-execution.d.ts +23 -0
- package/dist/types/modes/components/execution-shared.d.ts +46 -0
- package/dist/types/modes/components/extensions/extension-dashboard.d.ts +26 -0
- package/dist/types/modes/components/extensions/extension-list.d.ts +39 -0
- package/dist/types/modes/components/extensions/index.d.ts +8 -0
- package/dist/types/modes/components/extensions/inspector-panel.d.ts +8 -0
- package/dist/types/modes/components/extensions/state-manager.d.ts +50 -0
- package/dist/types/modes/components/extensions/types.d.ts +151 -0
- package/dist/types/modes/components/footer.d.ts +30 -0
- package/dist/types/modes/components/history-search.d.ts +7 -0
- package/dist/types/modes/components/hook-editor.d.ts +18 -0
- package/dist/types/modes/components/hook-input.d.ts +15 -0
- package/dist/types/modes/components/hook-message.d.ts +15 -0
- package/dist/types/modes/components/hook-selector.d.ts +23 -0
- package/dist/types/modes/components/index.d.ts +35 -0
- package/dist/types/modes/components/keybinding-hints.d.ts +40 -0
- package/dist/types/modes/components/login-dialog.d.ts +32 -0
- package/dist/types/modes/components/mcp-add-wizard.d.ts +25 -0
- package/dist/types/modes/components/message-frame.d.ts +42 -0
- package/dist/types/modes/components/model-selector.d.ts +26 -0
- package/dist/types/modes/components/oauth-selector.d.ts +14 -0
- package/dist/types/modes/components/plugin-selector.d.ts +26 -0
- package/dist/types/modes/components/plugin-settings.d.ts +66 -0
- package/dist/types/modes/components/queue-mode-selector.d.ts +9 -0
- package/dist/types/modes/components/read-tool-group.d.ts +30 -0
- package/dist/types/modes/components/session-observer-overlay.d.ts +11 -0
- package/dist/types/modes/components/session-selector.d.ts +30 -0
- package/dist/types/modes/components/settings-defs.d.ts +50 -0
- package/dist/types/modes/components/settings-selector.d.ts +54 -0
- package/dist/types/modes/components/show-images-selector.d.ts +9 -0
- package/dist/types/modes/components/skill-message.d.ts +9 -0
- package/dist/types/modes/components/status-line/context-thresholds.d.ts +4 -0
- package/dist/types/modes/components/status-line/git-utils.d.ts +22 -0
- package/dist/types/modes/components/status-line/index.d.ts +4 -0
- package/dist/types/modes/components/status-line/presets.d.ts +3 -0
- package/dist/types/modes/components/status-line/segments.d.ts +5 -0
- package/dist/types/modes/components/status-line/separators.d.ts +3 -0
- package/dist/types/modes/components/status-line/token-rate.d.ts +10 -0
- package/dist/types/modes/components/status-line/types.d.ts +70 -0
- package/dist/types/modes/components/status-line-segment-editor.d.ts +24 -0
- package/dist/types/modes/components/status-line.d.ts +61 -0
- package/dist/types/modes/components/theme-selector.d.ts +10 -0
- package/dist/types/modes/components/thinking-selector.d.ts +10 -0
- package/dist/types/modes/components/todo-reminder.d.ts +13 -0
- package/dist/types/modes/components/tool-execution.d.ts +53 -0
- package/dist/types/modes/components/tree-selector.d.ts +31 -0
- package/dist/types/modes/components/ttsr-notification.d.ts +13 -0
- package/dist/types/modes/components/user-message-selector.d.ts +28 -0
- package/dist/types/modes/components/user-message.d.ts +8 -0
- package/dist/types/modes/components/visual-truncate.d.ts +19 -0
- package/dist/types/modes/components/welcome.d.ts +33 -0
- package/dist/types/modes/controllers/btw-controller.d.ts +10 -0
- package/dist/types/modes/controllers/command-controller-shared.d.ts +47 -0
- package/dist/types/modes/controllers/command-controller.d.ts +36 -0
- package/dist/types/modes/controllers/event-controller.d.ts +12 -0
- package/dist/types/modes/controllers/extension-ui-controller.d.ts +80 -0
- package/dist/types/modes/controllers/input-controller.d.ts +35 -0
- package/dist/types/modes/controllers/mcp-command-controller.d.ts +10 -0
- package/dist/types/modes/controllers/selector-controller.d.ts +45 -0
- package/dist/types/modes/controllers/ssh-command-controller.d.ts +10 -0
- package/dist/types/modes/controllers/todo-command-controller.d.ts +7 -0
- package/dist/types/modes/emoji-autocomplete.d.ts +16 -0
- package/dist/types/modes/index.d.ts +9 -0
- package/dist/types/modes/interactive-mode.d.ts +267 -0
- package/dist/types/modes/loop-limit.d.ts +22 -0
- package/dist/types/modes/oauth-manual-input.d.ts +8 -0
- package/dist/types/modes/print-mode.d.ts +27 -0
- package/dist/types/modes/prompt-action-autocomplete.d.ts +46 -0
- package/dist/types/modes/rpc/host-tools.d.ts +16 -0
- package/dist/types/modes/rpc/host-uris.d.ts +38 -0
- package/dist/types/modes/rpc/rpc-client.d.ts +249 -0
- package/dist/types/modes/rpc/rpc-mode.d.ts +17 -0
- package/dist/types/modes/rpc/rpc-types.d.ts +586 -0
- package/dist/types/modes/runtime-init.d.ts +21 -0
- package/dist/types/modes/session-observer-registry.d.ts +26 -0
- package/dist/types/modes/shared.d.ts +6 -0
- package/dist/types/modes/theme/defaults/index.d.ts +9436 -0
- package/dist/types/modes/theme/mermaid-cache.d.ts +9 -0
- package/dist/types/modes/theme/theme.d.ts +273 -0
- package/dist/types/modes/types.d.ts +274 -0
- package/dist/types/modes/utils/context-usage.d.ts +30 -0
- package/dist/types/modes/utils/hotkeys-markdown.d.ts +5 -0
- package/dist/types/modes/utils/keybinding-matchers.d.ts +10 -0
- package/dist/types/modes/utils/tools-markdown.d.ts +5 -0
- package/dist/types/modes/utils/ui-helpers.d.ts +49 -0
- package/dist/types/plan-mode/approved-plan.d.ts +29 -0
- package/dist/types/plan-mode/state.d.ts +6 -0
- package/dist/types/registry/agent-registry.d.ts +62 -0
- package/dist/types/sdk.d.ts +253 -0
- package/dist/types/secrets/index.d.ts +9 -0
- package/dist/types/secrets/obfuscator.d.ts +23 -0
- package/dist/types/secrets/regex.d.ts +2 -0
- package/dist/types/session/agent-session.d.ts +898 -0
- package/dist/types/session/agent-storage.d.ts +93 -0
- package/dist/types/session/artifacts.d.ts +61 -0
- package/dist/types/session/auth-broker-config.d.ts +13 -0
- package/dist/types/session/auth-storage.d.ts +6 -0
- package/dist/types/session/blob-store.d.ts +63 -0
- package/dist/types/session/client-bridge.d.ts +84 -0
- package/dist/types/session/history-storage.d.ts +16 -0
- package/dist/types/session/messages.d.ts +162 -0
- package/dist/types/session/session-dump-format.d.ts +22 -0
- package/dist/types/session/session-manager.d.ts +539 -0
- package/dist/types/session/session-storage.d.ts +82 -0
- package/dist/types/session/streaming-output.d.ts +185 -0
- package/dist/types/session/tool-choice-queue.d.ts +78 -0
- package/dist/types/slash-commands/acp-builtins.d.ts +18 -0
- package/dist/types/slash-commands/builtin-registry.d.ts +23 -0
- package/dist/types/slash-commands/helpers/context-report.d.ts +7 -0
- package/dist/types/slash-commands/helpers/format.d.ts +7 -0
- package/dist/types/slash-commands/helpers/marketplace-manager.d.ts +8 -0
- package/dist/types/slash-commands/helpers/mcp.d.ts +3 -0
- package/dist/types/slash-commands/helpers/parse.d.ts +33 -0
- package/dist/types/slash-commands/helpers/ssh.d.ts +3 -0
- package/dist/types/slash-commands/helpers/todo.d.ts +3 -0
- package/dist/types/slash-commands/helpers/usage-report.d.ts +7 -0
- package/dist/types/slash-commands/marketplace-install-parser.d.ts +33 -0
- package/dist/types/slash-commands/types.d.ts +119 -0
- package/dist/types/ssh/config-writer.d.ts +49 -0
- package/dist/types/ssh/connection-manager.d.ts +33 -0
- package/dist/types/ssh/ssh-executor.d.ts +37 -0
- package/dist/types/ssh/sshfs-mount.d.ts +6 -0
- package/dist/types/ssh/utils.d.ts +2 -0
- package/dist/types/stt/downloader.d.ts +9 -0
- package/dist/types/stt/index.d.ts +3 -0
- package/dist/types/stt/recorder.d.ts +13 -0
- package/dist/types/stt/setup.d.ts +18 -0
- package/dist/types/stt/stt-controller.d.ts +16 -0
- package/dist/types/stt/transcriber.d.ts +16 -0
- package/dist/types/system-prompt.d.ts +93 -0
- package/dist/types/task/agents.d.ts +28 -0
- package/dist/types/task/commands.d.ts +35 -0
- package/dist/types/task/discovery.d.ts +18 -0
- package/dist/types/task/executor.d.ts +106 -0
- package/dist/types/task/index.d.ts +38 -0
- package/dist/types/task/name-generator.d.ts +16 -0
- package/dist/types/task/omp-command.d.ts +7 -0
- package/dist/types/task/output-manager.d.ts +36 -0
- package/dist/types/task/parallel.d.ts +34 -0
- package/dist/types/task/render.d.ts +22 -0
- package/dist/types/task/simple-mode.d.ts +8 -0
- package/dist/types/task/subprocess-tool-registry.d.ts +72 -0
- package/dist/types/task/types.d.ts +251 -0
- package/dist/types/task/worktree.d.ts +95 -0
- package/dist/types/thinking.d.ts +30 -0
- package/dist/types/tool-discovery/tool-index.d.ts +107 -0
- package/dist/types/tools/archive-reader.d.ts +40 -0
- package/dist/types/tools/ask.d.ts +109 -0
- package/dist/types/tools/ast-edit.d.ts +72 -0
- package/dist/types/tools/ast-grep.d.ts +64 -0
- package/dist/types/tools/auto-generated-guard.d.ts +17 -0
- package/dist/types/tools/bash-command-fixup.d.ts +16 -0
- package/dist/types/tools/bash-interactive.d.ts +16 -0
- package/dist/types/tools/bash-interceptor.d.ts +24 -0
- package/dist/types/tools/bash-pty-selection.d.ts +7 -0
- package/dist/types/tools/bash-skill-urls.d.ts +31 -0
- package/dist/types/tools/bash.d.ts +130 -0
- package/dist/types/tools/browser/attach.d.ts +34 -0
- package/dist/types/tools/browser/launch.d.ts +60 -0
- package/dist/types/tools/browser/readable.d.ts +17 -0
- package/dist/types/tools/browser/registry.d.ts +42 -0
- package/dist/types/tools/browser/render.d.ts +50 -0
- package/dist/types/tools/browser/tab-protocol.d.ts +144 -0
- package/dist/types/tools/browser/tab-supervisor.d.ts +63 -0
- package/dist/types/tools/browser/tab-worker-entry.d.ts +1 -0
- package/dist/types/tools/browser/tab-worker.d.ts +19 -0
- package/dist/types/tools/browser.d.ts +114 -0
- package/dist/types/tools/calculator.d.ts +76 -0
- package/dist/types/tools/checkpoint.d.ts +63 -0
- package/dist/types/tools/conflict-detect.d.ts +205 -0
- package/dist/types/tools/context.d.ts +19 -0
- package/dist/types/tools/debug.d.ts +209 -0
- package/dist/types/tools/eval.d.ts +108 -0
- package/dist/types/tools/fetch.d.ts +61 -0
- package/dist/types/tools/file-recorder.d.ts +13 -0
- package/dist/types/tools/find.d.ts +88 -0
- package/dist/types/tools/fs-cache-invalidation.d.ts +15 -0
- package/dist/types/tools/gh-format.d.ts +6 -0
- package/dist/types/tools/gh-renderer.d.ts +25 -0
- package/dist/types/tools/gh.d.ts +356 -0
- package/dist/types/tools/github-cache.d.ts +103 -0
- package/dist/types/tools/grouped-file-output.d.ts +36 -0
- package/dist/types/tools/hindsight-recall.d.ts +23 -0
- package/dist/types/tools/hindsight-reflect.d.ts +25 -0
- package/dist/types/tools/hindsight-retain.d.ts +29 -0
- package/dist/types/tools/image-gen.d.ts +78 -0
- package/dist/types/tools/index.d.ts +244 -0
- package/dist/types/tools/inspect-image-renderer.d.ts +26 -0
- package/dist/types/tools/inspect-image.d.ts +31 -0
- package/dist/types/tools/irc.d.ts +79 -0
- package/dist/types/tools/job.d.ts +65 -0
- package/dist/types/tools/json-tree.d.ts +23 -0
- package/dist/types/tools/jtd-to-json-schema.d.ts +29 -0
- package/dist/types/tools/jtd-to-typescript.d.ts +26 -0
- package/dist/types/tools/jtd-utils.d.ts +42 -0
- package/dist/types/tools/list-limit.d.ts +12 -0
- package/dist/types/tools/match-line-format.d.ts +11 -0
- package/dist/types/tools/output-meta.d.ts +204 -0
- package/dist/types/tools/path-utils.d.ts +125 -0
- package/dist/types/tools/plan-mode-guard.d.ts +18 -0
- package/dist/types/tools/read.d.ts +85 -0
- package/dist/types/tools/recipe/index.d.ts +45 -0
- package/dist/types/tools/recipe/render.d.ts +36 -0
- package/dist/types/tools/recipe/runner.d.ts +60 -0
- package/dist/types/tools/recipe/runners/cargo.d.ts +16 -0
- package/dist/types/tools/recipe/runners/index.d.ts +2 -0
- package/dist/types/tools/recipe/runners/just.d.ts +2 -0
- package/dist/types/tools/recipe/runners/make.d.ts +2 -0
- package/dist/types/tools/recipe/runners/pkg.d.ts +2 -0
- package/dist/types/tools/recipe/runners/task.d.ts +2 -0
- package/dist/types/tools/render-mermaid.d.ts +37 -0
- package/dist/types/tools/render-utils.d.ts +148 -0
- package/dist/types/tools/renderers.d.ts +26 -0
- package/dist/types/tools/report-tool-issue.d.ts +123 -0
- package/dist/types/tools/resolve.d.ts +85 -0
- package/dist/types/tools/review.d.ts +50 -0
- package/dist/types/tools/search-tool-bm25.d.ts +65 -0
- package/dist/types/tools/search.d.ts +90 -0
- package/dist/types/tools/sqlite-reader.d.ts +93 -0
- package/dist/types/tools/ssh.d.ts +67 -0
- package/dist/types/tools/todo-write.d.ts +120 -0
- package/dist/types/tools/tool-errors.d.ts +33 -0
- package/dist/types/tools/tool-result.d.ts +30 -0
- package/dist/types/tools/tool-timeouts.d.ts +51 -0
- package/dist/types/tools/vim.d.ts +58 -0
- package/dist/types/tools/write.d.ts +59 -0
- package/dist/types/tools/yield.d.ts +25 -0
- package/dist/types/tui/code-cell.d.ts +32 -0
- package/dist/types/tui/file-list.d.ts +16 -0
- package/dist/types/tui/index.d.ts +10 -0
- package/dist/types/tui/output-block.d.ts +28 -0
- package/dist/types/tui/status-line.d.ts +18 -0
- package/dist/types/tui/tree-list.d.ts +19 -0
- package/dist/types/tui/types.d.ts +13 -0
- package/dist/types/tui/utils.d.ts +36 -0
- package/dist/types/utils/changelog.d.ts +20 -0
- package/dist/types/utils/clipboard.d.ts +20 -0
- package/dist/types/utils/command-args.d.ts +9 -0
- package/dist/types/utils/commit-message-generator.d.ts +7 -0
- package/dist/types/utils/edit-mode.d.ts +13 -0
- package/dist/types/utils/event-bus.d.ts +6 -0
- package/dist/types/utils/external-editor.d.ts +17 -0
- package/dist/types/utils/file-display-mode.d.ts +27 -0
- package/dist/types/utils/file-mentions.d.ts +11 -0
- package/dist/types/utils/git.d.ts +360 -0
- package/dist/types/utils/image-loading.d.ts +26 -0
- package/dist/types/utils/image-resize.d.ts +36 -0
- package/dist/types/utils/lang-from-path.d.ts +8 -0
- package/dist/types/utils/markit.d.ts +7 -0
- package/dist/types/utils/open.d.ts +2 -0
- package/dist/types/utils/session-color.d.ts +10 -0
- package/dist/types/utils/shell-snapshot.d.ts +5 -0
- package/dist/types/utils/sixel.d.ts +21 -0
- package/dist/types/utils/title-generator.d.ts +31 -0
- package/dist/types/utils/tool-choice.d.ts +6 -0
- package/dist/types/utils/tools-manager.d.ts +9 -0
- package/dist/types/vim/buffer.d.ts +41 -0
- package/dist/types/vim/commands.d.ts +6 -0
- package/dist/types/vim/engine.d.ts +47 -0
- package/dist/types/vim/parser.d.ts +3 -0
- package/dist/types/vim/render.d.ts +25 -0
- package/dist/types/vim/types.d.ts +182 -0
- package/dist/types/web/kagi.d.ts +21 -0
- package/dist/types/web/parallel.d.ts +57 -0
- package/dist/types/web/scrapers/artifacthub.d.ts +6 -0
- package/dist/types/web/scrapers/arxiv.d.ts +5 -0
- package/dist/types/web/scrapers/aur.d.ts +5 -0
- package/dist/types/web/scrapers/biorxiv.d.ts +5 -0
- package/dist/types/web/scrapers/bluesky.d.ts +5 -0
- package/dist/types/web/scrapers/brew.d.ts +5 -0
- package/dist/types/web/scrapers/cheatsh.d.ts +8 -0
- package/dist/types/web/scrapers/chocolatey.d.ts +5 -0
- package/dist/types/web/scrapers/choosealicense.d.ts +2 -0
- package/dist/types/web/scrapers/cisa-kev.d.ts +5 -0
- package/dist/types/web/scrapers/clojars.d.ts +5 -0
- package/dist/types/web/scrapers/coingecko.d.ts +5 -0
- package/dist/types/web/scrapers/crates-io.d.ts +5 -0
- package/dist/types/web/scrapers/crossref.d.ts +2 -0
- package/dist/types/web/scrapers/devto.d.ts +5 -0
- package/dist/types/web/scrapers/discogs.d.ts +8 -0
- package/dist/types/web/scrapers/discourse.d.ts +5 -0
- package/dist/types/web/scrapers/dockerhub.d.ts +5 -0
- package/dist/types/web/scrapers/docs-rs.d.ts +2 -0
- package/dist/types/web/scrapers/fdroid.d.ts +5 -0
- package/dist/types/web/scrapers/firefox-addons.d.ts +2 -0
- package/dist/types/web/scrapers/flathub.d.ts +2 -0
- package/dist/types/web/scrapers/github-gist.d.ts +5 -0
- package/dist/types/web/scrapers/github.d.ts +12 -0
- package/dist/types/web/scrapers/gitlab.d.ts +5 -0
- package/dist/types/web/scrapers/go-pkg.d.ts +5 -0
- package/dist/types/web/scrapers/hackage.d.ts +5 -0
- package/dist/types/web/scrapers/hackernews.d.ts +2 -0
- package/dist/types/web/scrapers/hex.d.ts +5 -0
- package/dist/types/web/scrapers/huggingface.d.ts +2 -0
- package/dist/types/web/scrapers/iacr.d.ts +5 -0
- package/dist/types/web/scrapers/index.d.ts +84 -0
- package/dist/types/web/scrapers/jetbrains-marketplace.d.ts +2 -0
- package/dist/types/web/scrapers/lemmy.d.ts +2 -0
- package/dist/types/web/scrapers/lobsters.d.ts +5 -0
- package/dist/types/web/scrapers/mastodon.d.ts +5 -0
- package/dist/types/web/scrapers/maven.d.ts +6 -0
- package/dist/types/web/scrapers/mdn.d.ts +2 -0
- package/dist/types/web/scrapers/metacpan.d.ts +5 -0
- package/dist/types/web/scrapers/musicbrainz.d.ts +5 -0
- package/dist/types/web/scrapers/npm.d.ts +5 -0
- package/dist/types/web/scrapers/nuget.d.ts +5 -0
- package/dist/types/web/scrapers/nvd.d.ts +5 -0
- package/dist/types/web/scrapers/ollama.d.ts +2 -0
- package/dist/types/web/scrapers/open-vsx.d.ts +5 -0
- package/dist/types/web/scrapers/opencorporates.d.ts +5 -0
- package/dist/types/web/scrapers/openlibrary.d.ts +5 -0
- package/dist/types/web/scrapers/orcid.d.ts +5 -0
- package/dist/types/web/scrapers/osv.d.ts +5 -0
- package/dist/types/web/scrapers/packagist.d.ts +5 -0
- package/dist/types/web/scrapers/pub-dev.d.ts +5 -0
- package/dist/types/web/scrapers/pubmed.d.ts +5 -0
- package/dist/types/web/scrapers/pypi.d.ts +5 -0
- package/dist/types/web/scrapers/rawg.d.ts +2 -0
- package/dist/types/web/scrapers/readthedocs.d.ts +2 -0
- package/dist/types/web/scrapers/reddit.d.ts +5 -0
- package/dist/types/web/scrapers/repology.d.ts +5 -0
- package/dist/types/web/scrapers/rfc.d.ts +5 -0
- package/dist/types/web/scrapers/rubygems.d.ts +5 -0
- package/dist/types/web/scrapers/searchcode.d.ts +2 -0
- package/dist/types/web/scrapers/sec-edgar.d.ts +5 -0
- package/dist/types/web/scrapers/semantic-scholar.d.ts +2 -0
- package/dist/types/web/scrapers/snapcraft.d.ts +2 -0
- package/dist/types/web/scrapers/sourcegraph.d.ts +2 -0
- package/dist/types/web/scrapers/spdx.d.ts +5 -0
- package/dist/types/web/scrapers/spotify.d.ts +8 -0
- package/dist/types/web/scrapers/stackoverflow.d.ts +6 -0
- package/dist/types/web/scrapers/terraform.d.ts +5 -0
- package/dist/types/web/scrapers/tldr.d.ts +7 -0
- package/dist/types/web/scrapers/twitter.d.ts +5 -0
- package/dist/types/web/scrapers/types.d.ts +77 -0
- package/dist/types/web/scrapers/utils.d.ts +26 -0
- package/dist/types/web/scrapers/vimeo.d.ts +5 -0
- package/dist/types/web/scrapers/vscode-marketplace.d.ts +5 -0
- package/dist/types/web/scrapers/w3c.d.ts +2 -0
- package/dist/types/web/scrapers/wikidata.d.ts +5 -0
- package/dist/types/web/scrapers/wikipedia.d.ts +5 -0
- package/dist/types/web/scrapers/youtube.d.ts +5 -0
- package/dist/types/web/search/index.d.ts +76 -0
- package/dist/types/web/search/provider.d.ts +20 -0
- package/dist/types/web/search/providers/anthropic.d.ts +27 -0
- package/dist/types/web/search/providers/base.d.ts +35 -0
- package/dist/types/web/search/providers/brave.d.ts +20 -0
- package/dist/types/web/search/providers/codex.d.ts +31 -0
- package/dist/types/web/search/providers/exa.d.ts +43 -0
- package/dist/types/web/search/providers/gemini.d.ts +60 -0
- package/dist/types/web/search/providers/jina.d.ts +25 -0
- package/dist/types/web/search/providers/kagi.d.ts +21 -0
- package/dist/types/web/search/providers/kimi.d.ts +18 -0
- package/dist/types/web/search/providers/parallel.d.ts +14 -0
- package/dist/types/web/search/providers/perplexity.d.ts +35 -0
- package/dist/types/web/search/providers/searxng.d.ts +43 -0
- package/dist/types/web/search/providers/synthetic.d.ts +24 -0
- package/dist/types/web/search/providers/tavily.d.ts +22 -0
- package/dist/types/web/search/providers/utils.d.ts +24 -0
- package/dist/types/web/search/providers/zai.d.ts +19 -0
- package/dist/types/web/search/render.d.ts +35 -0
- package/dist/types/web/search/types.d.ts +344 -0
- package/dist/types/web/search/utils.d.ts +4 -0
- package/dist/types/workspace-tree.d.ts +42 -0
- package/examples/custom-tools/README.md +3 -12
- package/examples/extensions/README.md +2 -15
- package/examples/extensions/api-demo.ts +1 -7
- package/package.json +124 -123
- package/src/autoresearch/tools/init-experiment.ts +11 -33
- package/src/autoresearch/tools/log-experiment.ts +10 -24
- package/src/autoresearch/tools/run-experiment.ts +1 -1
- package/src/autoresearch/tools/update-notes.ts +2 -9
- package/src/cli/auth-broker-cli.ts +746 -0
- package/src/cli/auth-gateway-cli.ts +342 -0
- package/src/cli/grievances-cli.ts +109 -16
- package/src/cli.ts +4 -2
- package/src/commands/auth-broker.ts +96 -0
- package/src/commands/auth-gateway.ts +61 -0
- package/src/commands/grievances.ts +13 -8
- package/src/commands/launch.ts +1 -1
- package/src/commit/agentic/agent.ts +2 -0
- package/src/commit/agentic/tools/analyze-file.ts +2 -2
- package/src/commit/agentic/tools/git-file-diff.ts +2 -2
- package/src/commit/agentic/tools/git-hunk.ts +3 -3
- package/src/commit/agentic/tools/git-overview.ts +2 -2
- package/src/commit/agentic/tools/propose-changelog.ts +1 -3
- package/src/commit/agentic/tools/recent-commits.ts +1 -1
- package/src/commit/agentic/tools/schemas.ts +1 -9
- package/src/config/mcp-schema.json +1 -1
- package/src/config/model-equivalence.ts +279 -174
- package/src/config/model-registry.ts +37 -6
- package/src/config/model-resolver.ts +13 -8
- package/src/config/models-config-schema.ts +8 -0
- package/src/config/settings-schema.ts +52 -0
- package/src/cursor.ts +1 -1
- package/src/debug/log-formatting.ts +1 -1
- package/src/debug/log-viewer.ts +1 -1
- package/src/debug/profiler.ts +4 -0
- package/src/debug/raw-sse-buffer.ts +100 -59
- package/src/debug/raw-sse.ts +1 -1
- package/src/discovery/agents.ts +15 -4
- package/src/edit/modes/apply-patch.ts +1 -5
- package/src/edit/modes/patch.ts +5 -5
- package/src/edit/modes/replace.ts +5 -5
- package/src/edit/normalize.ts +1 -1
- package/src/edit/renderer.ts +2 -1
- package/src/edit/streaming.ts +1 -1
- package/src/eval/index.ts +0 -2
- package/src/eval/js/shared/runtime.ts +25 -0
- package/src/eval/py/kernel.ts +1 -1
- package/src/exa/researcher.ts +4 -4
- package/src/exa/search.ts +10 -22
- package/src/exa/websets.ts +33 -33
- package/src/extensibility/typebox.ts +1 -1
- package/src/goals/tools/goal-tool.ts +3 -3
- package/src/hashline/index.ts +0 -1
- package/src/hashline/input.ts +8 -11
- package/src/hashline/parser.ts +6 -8
- package/src/index.ts +0 -3
- package/src/internal-urls/docs-index.generated.ts +21 -18
- package/src/internal-urls/index.ts +1 -1
- package/src/internal-urls/{pi-protocol.ts → omp-protocol.ts} +10 -10
- package/src/internal-urls/router.ts +3 -3
- package/src/internal-urls/types.ts +1 -1
- package/src/lsp/types.ts +8 -11
- package/src/main.ts +3 -0
- package/src/mcp/tool-bridge.ts +3 -3
- package/src/modes/acp/acp-agent.ts +89 -25
- package/src/modes/components/bash-execution.ts +1 -1
- package/src/modes/components/diff.ts +1 -2
- package/src/modes/components/eval-execution.ts +1 -1
- package/src/modes/components/oauth-selector.ts +38 -2
- package/src/modes/components/tool-execution.ts +1 -2
- package/src/modes/controllers/command-controller.ts +96 -34
- package/src/modes/controllers/input-controller.ts +4 -3
- package/src/modes/controllers/ssh-command-controller.ts +2 -0
- package/src/modes/data/emojis.json +1 -0
- package/src/modes/emoji-autocomplete.ts +285 -0
- package/src/modes/interactive-mode.ts +92 -19
- package/src/modes/print-mode.ts +3 -3
- package/src/modes/prompt-action-autocomplete.ts +14 -0
- package/src/modes/theme/theme-schema.json +1 -1
- package/src/plan-mode/approved-plan.ts +9 -0
- package/src/prompts/system/system-prompt.md +1 -1
- package/src/prompts/system/ttsr-tool-reminder.md +5 -0
- package/src/prompts/tools/eval.md +25 -26
- package/src/prompts/tools/hashline.md +1 -0
- package/src/prompts/tools/read.md +2 -2
- package/src/prompts/tools/resolve.md +1 -1
- package/src/prompts/tools/search.md +1 -1
- package/src/prompts/tools/web-search.md +1 -1
- package/src/sdk.ts +92 -7
- package/src/session/agent-session.ts +225 -77
- package/src/session/agent-storage.ts +7 -2
- package/src/session/auth-broker-config.ts +102 -0
- package/src/session/auth-storage.ts +7 -1
- package/src/session/streaming-output.ts +1 -1
- package/src/slash-commands/builtin-registry.ts +2 -0
- package/src/slash-commands/helpers/ssh.ts +2 -0
- package/src/ssh/connection-manager.ts +28 -7
- package/src/task/types.ts +10 -35
- package/src/tools/bash-interactive.ts +5 -2
- package/src/tools/bash-pty-selection.ts +14 -0
- package/src/tools/bash.ts +5 -4
- package/src/tools/browser.ts +12 -20
- package/src/tools/eval.ts +77 -100
- package/src/tools/gh.ts +21 -45
- package/src/tools/hindsight-recall.ts +1 -1
- package/src/tools/hindsight-reflect.ts +2 -2
- package/src/tools/hindsight-retain.ts +3 -7
- package/src/tools/index.ts +8 -1
- package/src/tools/inspect-image.ts +4 -1
- package/src/tools/irc.ts +4 -12
- package/src/tools/job.ts +3 -11
- package/src/tools/path-utils.ts +2 -2
- package/src/tools/read.ts +7 -4
- package/src/tools/report-tool-issue.ts +462 -17
- package/src/tools/resolve.ts +2 -7
- package/src/tools/search.ts +7 -0
- package/src/tools/todo-write.ts +8 -15
- package/src/tools/yield.ts +17 -5
- package/src/tui/code-cell.ts +18 -3
- package/src/utils/title-generator.ts +3 -0
- package/src/web/scrapers/searchcode.ts +1 -2
- package/src/web/search/index.ts +6 -6
- package/src/eval/eval.lark +0 -36
- package/src/eval/parse.ts +0 -407
- package/src/eval/sniff.ts +0 -28
- package/src/hashline/utils.ts +0 -3
|
@@ -55,6 +55,16 @@ function getHostInfoPath(name: string): string {
|
|
|
55
55
|
return path.join(HOST_INFO_DIR, `${sanitizeHostName(name)}.json`);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
+
async function deleteHostInfoFromDisk(hostName: string): Promise<void> {
|
|
59
|
+
const path = getHostInfoPath(hostName);
|
|
60
|
+
try {
|
|
61
|
+
await fs.promises.unlink(path);
|
|
62
|
+
} catch (err) {
|
|
63
|
+
if (isEnoent(err)) return;
|
|
64
|
+
logger.warn("Failed to delete SSH host info", { host: hostName, error: String(err) });
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
58
68
|
async function validateKeyPermissions(keyPath?: string): Promise<void> {
|
|
59
69
|
if (!keyPath) return;
|
|
60
70
|
let stats: fs.Stats;
|
|
@@ -429,6 +439,23 @@ export async function ensureConnection(host: SSHConnectionTarget): Promise<void>
|
|
|
429
439
|
}
|
|
430
440
|
}
|
|
431
441
|
|
|
442
|
+
export async function invalidateHostMetadata(hostNames: Iterable<string>): Promise<void> {
|
|
443
|
+
const names = [...hostNames];
|
|
444
|
+
for (const hostName of names) {
|
|
445
|
+
hostInfoCache.delete(hostName);
|
|
446
|
+
await deleteHostInfoFromDisk(hostName);
|
|
447
|
+
}
|
|
448
|
+
for (const hostName of names) {
|
|
449
|
+
const activeHost = activeHosts.get(hostName);
|
|
450
|
+
if (activeHost) {
|
|
451
|
+
await closeConnectionInternal(activeHost);
|
|
452
|
+
activeHosts.delete(hostName);
|
|
453
|
+
continue;
|
|
454
|
+
}
|
|
455
|
+
await closeConnectionInternal({ name: hostName, host: hostName });
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
|
|
432
459
|
async function closeConnectionInternal(host: SSHConnectionTarget): Promise<void> {
|
|
433
460
|
if (!supportsSshControlMaster()) return;
|
|
434
461
|
const target = buildSshTarget(host.username, host.host);
|
|
@@ -436,13 +463,7 @@ async function closeConnectionInternal(host: SSHConnectionTarget): Promise<void>
|
|
|
436
463
|
}
|
|
437
464
|
|
|
438
465
|
export async function closeConnection(hostName: string): Promise<void> {
|
|
439
|
-
|
|
440
|
-
if (!host) {
|
|
441
|
-
await closeConnectionInternal({ name: hostName, host: hostName });
|
|
442
|
-
return;
|
|
443
|
-
}
|
|
444
|
-
await closeConnectionInternal(host);
|
|
445
|
-
activeHosts.delete(hostName);
|
|
466
|
+
await invalidateHostMetadata([hostName]);
|
|
446
467
|
}
|
|
447
468
|
|
|
448
469
|
export async function closeAllConnections(): Promise<void> {
|
package/src/task/types.ts
CHANGED
|
@@ -57,18 +57,13 @@ export interface SubagentLifecyclePayload {
|
|
|
57
57
|
index: number;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
const
|
|
61
|
-
"Complete per-task instructions the subagent executes. Must follow the Target/Change/Edge Cases/Acceptance structure. Only include per-task deltas — shared background belongs in `context`.";
|
|
62
|
-
const assignmentDescriptionForContextDisabled =
|
|
63
|
-
"Complete per-task instructions the subagent executes. Must follow the Target/Change/Edge Cases/Acceptance structure, and include any background that would otherwise live in `context` since shared context is disabled in this mode.";
|
|
60
|
+
const assignmentDescription = "per-task instructions; self-contained";
|
|
64
61
|
|
|
65
|
-
const createTaskItemSchema = (
|
|
62
|
+
const createTaskItemSchema = (_contextEnabled: boolean) =>
|
|
66
63
|
z.object({
|
|
67
|
-
id: z.string().max(48).describe("
|
|
68
|
-
description: z.string().describe("
|
|
69
|
-
assignment: z
|
|
70
|
-
.string()
|
|
71
|
-
.describe(contextEnabled ? assignmentDescriptionForContextEnabled : assignmentDescriptionForContextDisabled),
|
|
64
|
+
id: z.string().max(48).describe("camelcase identifier"),
|
|
65
|
+
description: z.string().describe("ui label, not seen by subagent"),
|
|
66
|
+
assignment: z.string().describe(assignmentDescription),
|
|
72
67
|
});
|
|
73
68
|
|
|
74
69
|
/** Single task item for parallel execution (default shape with context enabled). */
|
|
@@ -80,44 +75,24 @@ const createTaskSchema = (options: { isolationEnabled: boolean; simpleMode: Task
|
|
|
80
75
|
const itemSchema = createTaskItemSchema(contextEnabled);
|
|
81
76
|
|
|
82
77
|
let schema = z.object({
|
|
83
|
-
agent: z.string().describe("
|
|
84
|
-
tasks: z
|
|
85
|
-
.array(itemSchema)
|
|
86
|
-
.describe(
|
|
87
|
-
contextEnabled
|
|
88
|
-
? "Tasks to execute in parallel. Each must be small-scoped (3-5 files max) and self-contained given context + assignment."
|
|
89
|
-
: "Tasks to execute in parallel. Each must be small-scoped (3-5 files max) and fully self-contained inside assignment because shared context is disabled.",
|
|
90
|
-
),
|
|
78
|
+
agent: z.string().describe("agent type"),
|
|
79
|
+
tasks: z.array(itemSchema).describe("tasks to execute in parallel"),
|
|
91
80
|
});
|
|
92
|
-
|
|
93
81
|
if (contextEnabled) {
|
|
94
82
|
schema = schema.extend({
|
|
95
|
-
context: z
|
|
96
|
-
.string()
|
|
97
|
-
.optional()
|
|
98
|
-
.describe(
|
|
99
|
-
"Shared background prepended to every task's assignment. Put goal, non-goals, constraints, conventions, reference paths, API contracts, and global acceptance commands here once — instead of duplicating across assignments.",
|
|
100
|
-
),
|
|
83
|
+
context: z.string().optional().describe("shared background prepended to each assignment"),
|
|
101
84
|
});
|
|
102
85
|
}
|
|
103
86
|
|
|
104
87
|
if (customSchemaEnabled) {
|
|
105
88
|
schema = schema.extend({
|
|
106
|
-
schema: z
|
|
107
|
-
.string()
|
|
108
|
-
.optional()
|
|
109
|
-
.describe(
|
|
110
|
-
"JSON-encoded JTD schema defining expected response structure. Output format belongs here — never in context or assignment.",
|
|
111
|
-
),
|
|
89
|
+
schema: z.string().optional().describe("jtd schema for expected response shape"),
|
|
112
90
|
});
|
|
113
91
|
}
|
|
114
92
|
|
|
115
93
|
if (options.isolationEnabled) {
|
|
116
94
|
schema = schema.extend({
|
|
117
|
-
isolated: z
|
|
118
|
-
.boolean()
|
|
119
|
-
.optional()
|
|
120
|
-
.describe("Run in isolated environment; returns patches. Use when tasks edit overlapping files."),
|
|
95
|
+
isolated: z.boolean().optional().describe("run in isolated env; returns patches"),
|
|
121
96
|
});
|
|
122
97
|
}
|
|
123
98
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AgentToolContext } from "@oh-my-pi/pi-agent-core";
|
|
2
|
-
import { type PtyRunResult, PtySession
|
|
2
|
+
import { type PtyRunResult, PtySession } from "@oh-my-pi/pi-natives";
|
|
3
3
|
import {
|
|
4
4
|
type Component,
|
|
5
5
|
extractPrintableText,
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
truncateToWidth,
|
|
11
11
|
visibleWidth,
|
|
12
12
|
} from "@oh-my-pi/pi-tui";
|
|
13
|
+
import { sanitizeText } from "@oh-my-pi/pi-utils";
|
|
13
14
|
import type { Terminal as XtermTerminalType } from "@xterm/headless";
|
|
14
15
|
import xterm from "@xterm/headless";
|
|
15
16
|
import { Settings } from "../config/settings";
|
|
@@ -27,7 +28,7 @@ export interface BashInteractiveResult extends OutputSummary {
|
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
function normalizeCaptureChunk(chunk: string): string {
|
|
30
|
-
const normalized = chunk.replace(/\r\n
|
|
31
|
+
const normalized = chunk.replace(/\r\n?/gu, "\n");
|
|
31
32
|
return sanitizeWithOptionalSixelPassthrough(normalized, sanitizeText);
|
|
32
33
|
}
|
|
33
34
|
|
|
@@ -297,6 +298,7 @@ export async function runInteractiveBashPty(
|
|
|
297
298
|
},
|
|
298
299
|
): Promise<BashInteractiveResult> {
|
|
299
300
|
const settings = await Settings.init();
|
|
301
|
+
const { shell: resolvedShell } = settings.getShellConfig();
|
|
300
302
|
const sink = new OutputSink({
|
|
301
303
|
artifactPath: options.artifactPath,
|
|
302
304
|
artifactId: options.artifactId,
|
|
@@ -363,6 +365,7 @@ export async function runInteractiveBashPty(
|
|
|
363
365
|
signal: options.signal,
|
|
364
366
|
cols,
|
|
365
367
|
rows,
|
|
368
|
+
shell: resolvedShell,
|
|
366
369
|
},
|
|
367
370
|
(err, chunk) => {
|
|
368
371
|
if (finished || err || !chunk) return;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { $env } from "@oh-my-pi/pi-utils/env";
|
|
2
|
+
|
|
3
|
+
/** Minimal UI-capability fields needed to decide whether bash can use the local PTY overlay. */
|
|
4
|
+
export interface BashPtyContext {
|
|
5
|
+
hasUI?: boolean;
|
|
6
|
+
ui?: unknown;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/** Return whether a bash tool call should use the local interactive PTY overlay. */
|
|
10
|
+
export function canUseInteractiveBashPty(pty: boolean, ctx: BashPtyContext | undefined): boolean {
|
|
11
|
+
if (!pty) return false;
|
|
12
|
+
if ($env.PI_NO_PTY === "1") return false;
|
|
13
|
+
return ctx?.hasUI === true && ctx.ui !== undefined;
|
|
14
|
+
}
|
package/src/tools/bash.ts
CHANGED
|
@@ -2,7 +2,7 @@ import * as fs from "node:fs";
|
|
|
2
2
|
import type { AgentTool, AgentToolContext, AgentToolResult, AgentToolUpdateCallback } from "@oh-my-pi/pi-agent-core";
|
|
3
3
|
import type { Component } from "@oh-my-pi/pi-tui";
|
|
4
4
|
import { ImageProtocol, TERMINAL, Text } from "@oh-my-pi/pi-tui";
|
|
5
|
-
import {
|
|
5
|
+
import { getProjectDir, isEnoent, logger, prompt } from "@oh-my-pi/pi-utils";
|
|
6
6
|
import * as z from "zod/v4";
|
|
7
7
|
import { AsyncJobManager } from "../async";
|
|
8
8
|
import { type BashResult, executeBash } from "../exec/bash-executor";
|
|
@@ -20,6 +20,7 @@ import type { ToolSession } from ".";
|
|
|
20
20
|
import { applyBashFixups, formatBashFixupNotice } from "./bash-command-fixup";
|
|
21
21
|
import { type BashInteractiveResult, runInteractiveBashPty } from "./bash-interactive";
|
|
22
22
|
import { checkBashInterception } from "./bash-interceptor";
|
|
23
|
+
import { canUseInteractiveBashPty } from "./bash-pty-selection";
|
|
23
24
|
import { expandInternalUrls, type InternalUrlExpansionOptions } from "./bash-skill-urls";
|
|
24
25
|
import { formatStyledTruncationWarning, type OutputMeta, stripOutputNotice } from "./output-meta";
|
|
25
26
|
import { resolveToCwd } from "./path-utils";
|
|
@@ -807,9 +808,9 @@ export class BashTool implements AgentTool<BashToolSchema, BashToolDetails> {
|
|
|
807
808
|
// Allocate artifact for truncated output storage
|
|
808
809
|
const { path: artifactPath, id: artifactId } = (await this.session.allocateOutputArtifact?.("bash")) ?? {};
|
|
809
810
|
|
|
810
|
-
const
|
|
811
|
-
const result: BashResult | BashInteractiveResult =
|
|
812
|
-
? await runInteractiveBashPty(
|
|
811
|
+
const interactiveUi = canUseInteractiveBashPty(pty, ctx) ? ctx?.ui : undefined;
|
|
812
|
+
const result: BashResult | BashInteractiveResult = interactiveUi
|
|
813
|
+
? await runInteractiveBashPty(interactiveUi, {
|
|
813
814
|
command,
|
|
814
815
|
cwd: commandCwd,
|
|
815
816
|
timeoutMs,
|
package/src/tools/browser.ts
CHANGED
|
@@ -18,19 +18,16 @@ export type { Observation, ObservationEntry } from "./browser/tab-protocol";
|
|
|
18
18
|
const DEFAULT_TAB_NAME = "main";
|
|
19
19
|
|
|
20
20
|
const appSchema = z.object({
|
|
21
|
-
path: z.string().describe("
|
|
22
|
-
cdp_url: z.string().describe("existing
|
|
23
|
-
args: z.array(z.string()).describe("extra
|
|
24
|
-
target: z.string().describe("substring
|
|
21
|
+
path: z.string().describe("binary path to spawn").optional(),
|
|
22
|
+
cdp_url: z.string().describe("existing cdp endpoint").optional(),
|
|
23
|
+
args: z.array(z.string()).describe("extra cli args").optional(),
|
|
24
|
+
target: z.string().describe("substring to pick a window").optional(),
|
|
25
25
|
});
|
|
26
26
|
|
|
27
27
|
const browserSchema = z.object({
|
|
28
|
-
action: z.enum(["open", "close", "run"] as const).describe("
|
|
29
|
-
name: z
|
|
30
|
-
|
|
31
|
-
.describe("tab id; default 'main'. Multiple tabs can coexist; reusable across run() calls and subagents.")
|
|
32
|
-
.optional(),
|
|
33
|
-
url: z.string().describe("open: navigate after acquiring tab").optional(),
|
|
28
|
+
action: z.enum(["open", "close", "run"] as const).describe("operation"),
|
|
29
|
+
name: z.string().describe("tab id (default 'main')").optional(),
|
|
30
|
+
url: z.string().describe("url to open").optional(),
|
|
34
31
|
app: appSchema.optional(),
|
|
35
32
|
viewport: z
|
|
36
33
|
.object({
|
|
@@ -41,21 +38,16 @@ const browserSchema = z.object({
|
|
|
41
38
|
.optional(),
|
|
42
39
|
wait_until: z
|
|
43
40
|
.enum(["load", "domcontentloaded", "networkidle0", "networkidle2"] as const)
|
|
44
|
-
.describe("navigation wait condition
|
|
41
|
+
.describe("navigation wait condition")
|
|
45
42
|
.optional(),
|
|
46
43
|
dialogs: z
|
|
47
44
|
.enum(["accept", "dismiss"] as const)
|
|
48
|
-
.describe("
|
|
49
|
-
.optional(),
|
|
50
|
-
code: z
|
|
51
|
-
.string()
|
|
52
|
-
.describe(
|
|
53
|
-
"run: JS body executed with `page`, `browser`, `tab`, `display`, `assert`, `wait` in scope. Treated as the body of an async function. Use `display(value)` to attach text/JSON/images; the function's return value is JSON-serialized as a final block.",
|
|
54
|
-
)
|
|
45
|
+
.describe("auto-handle dialogs")
|
|
55
46
|
.optional(),
|
|
47
|
+
code: z.string().describe("js body to run in tab").optional(),
|
|
56
48
|
timeout: z.number().default(30).describe("timeout in seconds").optional(),
|
|
57
|
-
all: z.boolean().describe("close
|
|
58
|
-
kill: z.boolean().describe("
|
|
49
|
+
all: z.boolean().describe("close every tab").optional(),
|
|
50
|
+
kill: z.boolean().describe("also kill spawned-app browsers").optional(),
|
|
59
51
|
});
|
|
60
52
|
|
|
61
53
|
/** Input schema for the browser tool. */
|
package/src/tools/eval.ts
CHANGED
|
@@ -4,10 +4,8 @@ import type { Component } from "@oh-my-pi/pi-tui";
|
|
|
4
4
|
import { Markdown, Text } from "@oh-my-pi/pi-tui";
|
|
5
5
|
import { prompt } from "@oh-my-pi/pi-utils";
|
|
6
6
|
import * as z from "zod/v4";
|
|
7
|
-
import { jsBackend,
|
|
7
|
+
import { jsBackend, pythonBackend } from "../eval";
|
|
8
8
|
import type { ExecutorBackend } from "../eval/backend";
|
|
9
|
-
import evalGrammar from "../eval/eval.lark" with { type: "text" };
|
|
10
|
-
import { ABORT_WARNING, type ParsedEvalCell } from "../eval/parse";
|
|
11
9
|
import type { EvalCellResult, EvalDisplayOutput, EvalLanguage, EvalStatusEvent, EvalToolDetails } from "../eval/types";
|
|
12
10
|
import type { RenderResultOptions } from "../extensibility/custom-tools/types";
|
|
13
11
|
import { truncateToVisualLines } from "../modes/components/visual-truncate";
|
|
@@ -29,8 +27,27 @@ import { clampTimeout } from "./tool-timeouts";
|
|
|
29
27
|
|
|
30
28
|
export const EVAL_DEFAULT_PREVIEW_LINES = 10;
|
|
31
29
|
|
|
30
|
+
/**
|
|
31
|
+
* Per-cell input. Each cell runs in order; state persists within a language
|
|
32
|
+
* across cells and across tool calls.
|
|
33
|
+
*/
|
|
34
|
+
const evalCellSchema = z.object({
|
|
35
|
+
language: z.enum(["py", "js"]).describe('runtime: "py" for the IPython kernel, "js" for the persistent JS VM'),
|
|
36
|
+
code: z.string().describe("cell body, verbatim. Use top-level await freely."),
|
|
37
|
+
title: z.string().optional().describe('short label shown in transcript (e.g. "imports", "load config")'),
|
|
38
|
+
timeout: z.number().int().min(1).max(600).optional().describe("per-cell timeout in seconds (1-600, default 30)"),
|
|
39
|
+
reset: z
|
|
40
|
+
.boolean()
|
|
41
|
+
.optional()
|
|
42
|
+
.describe("wipe this cell's language kernel before running. Other languages are untouched."),
|
|
43
|
+
});
|
|
44
|
+
export type EvalCellInput = z.infer<typeof evalCellSchema>;
|
|
45
|
+
|
|
32
46
|
export const evalSchema = z.object({
|
|
33
|
-
|
|
47
|
+
cells: z
|
|
48
|
+
.array(evalCellSchema)
|
|
49
|
+
.min(1)
|
|
50
|
+
.describe("cells executed in order. State persists within each language across cells and tool calls."),
|
|
34
51
|
});
|
|
35
52
|
export type EvalToolParams = z.infer<typeof evalSchema>;
|
|
36
53
|
|
|
@@ -134,7 +151,6 @@ export interface EvalToolOptions {
|
|
|
134
151
|
|
|
135
152
|
interface ResolvedBackend {
|
|
136
153
|
backend: ExecutorBackend;
|
|
137
|
-
fallback: boolean;
|
|
138
154
|
notice?: string;
|
|
139
155
|
}
|
|
140
156
|
|
|
@@ -166,51 +182,21 @@ function timeoutSecondsFromMs(timeoutMs: number): number {
|
|
|
166
182
|
return clampTimeout("eval", timeoutMs / 1000);
|
|
167
183
|
}
|
|
168
184
|
|
|
169
|
-
async function resolveBackend(
|
|
170
|
-
session: ToolSession,
|
|
171
|
-
requested: EvalLanguage | undefined,
|
|
172
|
-
code: string,
|
|
173
|
-
): Promise<ResolvedBackend> {
|
|
185
|
+
async function resolveBackend(session: ToolSession, language: EvalLanguage): Promise<ResolvedBackend> {
|
|
174
186
|
const allowPy = (session.settings.get("eval.py") as boolean | undefined) ?? true;
|
|
175
187
|
const allowJs = (session.settings.get("eval.js") as boolean | undefined) ?? true;
|
|
176
188
|
|
|
177
|
-
if (
|
|
189
|
+
if (language === "python") {
|
|
178
190
|
if (!allowPy) throw new ToolError("Python backend is disabled (eval.py = false).");
|
|
179
191
|
if (!(await pythonBackend.isAvailable(session))) {
|
|
180
192
|
throw new ToolError(
|
|
181
193
|
'Python backend is unavailable in this session. Pass language: "js" or install the python kernel.',
|
|
182
194
|
);
|
|
183
195
|
}
|
|
184
|
-
return { backend: pythonBackend
|
|
185
|
-
}
|
|
186
|
-
if (requested === "js") {
|
|
187
|
-
if (!allowJs) throw new ToolError("JavaScript backend is disabled (eval.js = false).");
|
|
188
|
-
return { backend: jsBackend, fallback: false };
|
|
189
|
-
}
|
|
190
|
-
// Auto-detect.
|
|
191
|
-
const sniffed = sniffEvalLanguage(code);
|
|
192
|
-
if (sniffed === "python" && allowPy && (await pythonBackend.isAvailable(session))) {
|
|
193
|
-
return { backend: pythonBackend, fallback: false };
|
|
194
|
-
}
|
|
195
|
-
if (sniffed === "js" && allowJs) {
|
|
196
|
-
return { backend: jsBackend, fallback: false };
|
|
196
|
+
return { backend: pythonBackend };
|
|
197
197
|
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
// python when its kernel is up, else fall back to js.
|
|
201
|
-
if (allowPy && (await pythonBackend.isAvailable(session))) {
|
|
202
|
-
const notice =
|
|
203
|
-
sniffed === "js" ? "JavaScript markers detected but eval.js is disabled; using Python." : undefined;
|
|
204
|
-
return { backend: pythonBackend, fallback: false, notice };
|
|
205
|
-
}
|
|
206
|
-
if (allowJs) {
|
|
207
|
-
const notice =
|
|
208
|
-
sniffed === "python"
|
|
209
|
-
? "Python markers detected but the python kernel is unavailable; using JavaScript."
|
|
210
|
-
: undefined;
|
|
211
|
-
return { backend: jsBackend, fallback: true, notice };
|
|
212
|
-
}
|
|
213
|
-
throw new ToolError("No eval backend is available; enable eval.py or eval.js.");
|
|
198
|
+
if (!allowJs) throw new ToolError("JavaScript backend is disabled (eval.js = false).");
|
|
199
|
+
return { backend: jsBackend };
|
|
214
200
|
}
|
|
215
201
|
|
|
216
202
|
export class EvalTool implements AgentTool<typeof evalSchema> {
|
|
@@ -227,20 +213,15 @@ export class EvalTool implements AgentTool<typeof evalSchema> {
|
|
|
227
213
|
readonly concurrency = "exclusive";
|
|
228
214
|
readonly strict = true;
|
|
229
215
|
readonly intent = (args: Partial<z.infer<typeof evalSchema>>): string | undefined => {
|
|
230
|
-
const
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
}
|
|
237
|
-
return "evaluating";
|
|
216
|
+
const cells = Array.isArray(args.cells) ? args.cells : [];
|
|
217
|
+
const first = cells.find(c => c && typeof c === "object");
|
|
218
|
+
if (!first) return "evaluating";
|
|
219
|
+
const title = typeof first.title === "string" ? first.title : undefined;
|
|
220
|
+
const language = typeof first.language === "string" ? first.language : "?";
|
|
221
|
+
const label = title || `running ${language}`;
|
|
222
|
+
return cells.length > 1 ? `${label} (+${cells.length - 1})` : label;
|
|
238
223
|
};
|
|
239
224
|
|
|
240
|
-
get customFormat(): { syntax: "lark"; definition: string } {
|
|
241
|
-
return { syntax: "lark", definition: evalGrammar };
|
|
242
|
-
}
|
|
243
|
-
|
|
244
225
|
readonly #proxyExecutor?: EvalProxyExecutor;
|
|
245
226
|
|
|
246
227
|
constructor(
|
|
@@ -266,19 +247,17 @@ export class EvalTool implements AgentTool<typeof evalSchema> {
|
|
|
266
247
|
}
|
|
267
248
|
const session = this.session;
|
|
268
249
|
|
|
269
|
-
const parsedInput = parseEvalInput(params.input);
|
|
270
|
-
let previousRuntimeLanguage: EvalLanguage | undefined;
|
|
271
250
|
const cells: ResolvedEvalCell[] = [];
|
|
272
|
-
for (
|
|
273
|
-
const
|
|
274
|
-
const
|
|
275
|
-
|
|
251
|
+
for (let i = 0; i < params.cells.length; i++) {
|
|
252
|
+
const cell = params.cells[i];
|
|
253
|
+
const language: EvalLanguage = cell.language === "py" ? "python" : "js";
|
|
254
|
+
const resolved = await resolveBackend(session, language);
|
|
276
255
|
cells.push({
|
|
277
|
-
index:
|
|
256
|
+
index: i,
|
|
278
257
|
title: cell.title,
|
|
279
258
|
code: cell.code,
|
|
280
|
-
timeoutMs: cell.
|
|
281
|
-
reset: cell.reset,
|
|
259
|
+
timeoutMs: (cell.timeout ?? 30) * 1000,
|
|
260
|
+
reset: cell.reset ?? false,
|
|
282
261
|
resolved,
|
|
283
262
|
});
|
|
284
263
|
}
|
|
@@ -462,11 +441,10 @@ export class EvalTool implements AgentTool<typeof evalSchema> {
|
|
|
462
441
|
pushUpdate();
|
|
463
442
|
const errorMsg = result.output || "Command aborted";
|
|
464
443
|
const combinedOutput = cellOutputs.join("\n\n");
|
|
465
|
-
const abortSuffix = parsedInput.aborted ? `\n\n${ABORT_WARNING}` : "";
|
|
466
444
|
const outputText =
|
|
467
|
-
|
|
445
|
+
cells.length > 1
|
|
468
446
|
? `${combinedOutput}\n\nCell ${i + 1} aborted: ${errorMsg}`
|
|
469
|
-
: combinedOutput || errorMsg
|
|
447
|
+
: combinedOutput || errorMsg;
|
|
470
448
|
|
|
471
449
|
const summaryForMeta = await summarizeFinal(combinedOutput, finalizeOutput);
|
|
472
450
|
const details: EvalToolDetails = {
|
|
@@ -489,13 +467,12 @@ export class EvalTool implements AgentTool<typeof evalSchema> {
|
|
|
489
467
|
cellResult.status = "error";
|
|
490
468
|
pushUpdate();
|
|
491
469
|
const combinedOutput = cellOutputs.join("\n\n");
|
|
492
|
-
const abortSuffix = parsedInput.aborted ? `\n\n${ABORT_WARNING}` : "";
|
|
493
470
|
const outputText =
|
|
494
|
-
|
|
471
|
+
cells.length > 1
|
|
495
472
|
? `${combinedOutput}\n\nCell ${i + 1} failed (exit code ${result.exitCode}). Earlier cells succeeded—their state persists. Fix only cell ${i + 1}.`
|
|
496
473
|
: combinedOutput
|
|
497
474
|
? `${combinedOutput}\n\nCommand exited with code ${result.exitCode}`
|
|
498
|
-
: `Command exited with code ${result.exitCode}
|
|
475
|
+
: `Command exited with code ${result.exitCode}`;
|
|
499
476
|
|
|
500
477
|
const summaryForMeta = await summarizeFinal(combinedOutput, finalizeOutput);
|
|
501
478
|
const details: EvalToolDetails = {
|
|
@@ -519,13 +496,12 @@ export class EvalTool implements AgentTool<typeof evalSchema> {
|
|
|
519
496
|
}
|
|
520
497
|
|
|
521
498
|
const combinedOutput = cellOutputs.join("\n\n");
|
|
522
|
-
const abortSuffix = parsedInput.aborted ? `\n\n${ABORT_WARNING}` : "";
|
|
523
499
|
const hasImages = images.length > 0;
|
|
524
500
|
const outputText =
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
501
|
+
combinedOutput ||
|
|
502
|
+
(hasImages
|
|
503
|
+
? `(displayed ${images.length} image${images.length === 1 ? "" : "s"}; no text output)`
|
|
504
|
+
: "(no output)");
|
|
529
505
|
const summaryForMeta = await summarizeFinal(combinedOutput, finalizeOutput);
|
|
530
506
|
|
|
531
507
|
const details: EvalToolDetails = {
|
|
@@ -581,8 +557,14 @@ async function summarizeFinal(
|
|
|
581
557
|
};
|
|
582
558
|
}
|
|
583
559
|
|
|
560
|
+
interface EvalRenderCellArg {
|
|
561
|
+
language?: string;
|
|
562
|
+
code?: string;
|
|
563
|
+
title?: string;
|
|
564
|
+
}
|
|
565
|
+
|
|
584
566
|
interface EvalRenderArgs {
|
|
585
|
-
|
|
567
|
+
cells?: EvalRenderCellArg[];
|
|
586
568
|
__partialJson?: string;
|
|
587
569
|
}
|
|
588
570
|
|
|
@@ -593,27 +575,30 @@ interface EvalRenderContext {
|
|
|
593
575
|
timeout?: number;
|
|
594
576
|
}
|
|
595
577
|
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
try {
|
|
601
|
-
return JSON.parse(`"${text}"`) as string;
|
|
602
|
-
} catch {
|
|
603
|
-
return text;
|
|
604
|
-
}
|
|
578
|
+
interface EvalRenderCell {
|
|
579
|
+
language: EvalLanguage;
|
|
580
|
+
code: string;
|
|
581
|
+
title?: string;
|
|
605
582
|
}
|
|
606
583
|
|
|
607
|
-
function
|
|
608
|
-
|
|
609
|
-
const pattern = new RegExp(`"${key}"\\s*:\\s*"((?:\\\\.|[^"\\\\])*)`, "u");
|
|
610
|
-
const match = pattern.exec(partialJson);
|
|
611
|
-
if (!match) return undefined;
|
|
612
|
-
return decodePartialJsonStringFragment(match[1]);
|
|
584
|
+
function normalizeRenderLanguage(value: string | undefined): EvalLanguage {
|
|
585
|
+
return value === "js" ? "js" : "python";
|
|
613
586
|
}
|
|
614
587
|
|
|
615
|
-
function
|
|
616
|
-
|
|
588
|
+
function getRenderCells(args: EvalRenderArgs | undefined): EvalRenderCell[] {
|
|
589
|
+
const raw = args?.cells;
|
|
590
|
+
if (!Array.isArray(raw)) return [];
|
|
591
|
+
const out: EvalRenderCell[] = [];
|
|
592
|
+
for (const cell of raw) {
|
|
593
|
+
if (!cell || typeof cell !== "object") continue;
|
|
594
|
+
const code = typeof cell.code === "string" ? cell.code : "";
|
|
595
|
+
out.push({
|
|
596
|
+
language: normalizeRenderLanguage(typeof cell.language === "string" ? cell.language : undefined),
|
|
597
|
+
code,
|
|
598
|
+
title: typeof cell.title === "string" ? cell.title : undefined,
|
|
599
|
+
});
|
|
600
|
+
}
|
|
601
|
+
return out;
|
|
617
602
|
}
|
|
618
603
|
|
|
619
604
|
/** Format a status event as a single line for display. */
|
|
@@ -861,15 +846,7 @@ function formatCellOutputLines(
|
|
|
861
846
|
|
|
862
847
|
export const evalToolRenderer = {
|
|
863
848
|
renderCall(args: EvalRenderArgs, _options: RenderResultOptions, uiTheme: Theme): Component {
|
|
864
|
-
const
|
|
865
|
-
let cells: ParsedEvalCell[] = [];
|
|
866
|
-
if (input) {
|
|
867
|
-
try {
|
|
868
|
-
cells = parseEvalInput(input).cells;
|
|
869
|
-
} catch {
|
|
870
|
-
cells = [];
|
|
871
|
-
}
|
|
872
|
-
}
|
|
849
|
+
const cells = getRenderCells(args);
|
|
873
850
|
|
|
874
851
|
if (cells.length === 0) {
|
|
875
852
|
const promptSym = uiTheme.fg("accent", ">>>");
|
|
@@ -881,7 +858,7 @@ export const evalToolRenderer = {
|
|
|
881
858
|
|
|
882
859
|
return {
|
|
883
860
|
render: (width: number): string[] => {
|
|
884
|
-
const key = `${
|
|
861
|
+
const key = cells.map(c => `${c.language}:${c.title ?? ""}:${c.code.length}`).join("|");
|
|
885
862
|
if (cached && cached.key === key && cached.width === width) {
|
|
886
863
|
return cached.result;
|
|
887
864
|
}
|
package/src/tools/gh.ts
CHANGED
|
@@ -213,58 +213,34 @@ const githubSchema = z
|
|
|
213
213
|
"run_watch",
|
|
214
214
|
] as const)
|
|
215
215
|
.describe("github operation"),
|
|
216
|
-
repo: z.string().describe("owner/repo
|
|
217
|
-
branch: z.string().describe("branch
|
|
216
|
+
repo: z.string().describe("owner/repo").optional(),
|
|
217
|
+
branch: z.string().describe("branch").optional(),
|
|
218
218
|
pr: z
|
|
219
219
|
.union([z.string(), z.array(z.string())])
|
|
220
|
-
.describe(
|
|
221
|
-
"pr number, url, or branch (pr_checkout); pass an array to batch-process multiple pull requests in one call",
|
|
222
|
-
)
|
|
223
|
-
.optional(),
|
|
224
|
-
force: z.boolean().describe("reset existing local branch (pr_checkout)").optional(),
|
|
225
|
-
forceWithLease: z.boolean().describe("force-with-lease push (pr_push)").optional(),
|
|
226
|
-
title: z.string().describe("PR title (pr_create)").optional(),
|
|
227
|
-
body: z.string().describe("PR body markdown (pr_create); mutually exclusive with fill").optional(),
|
|
228
|
-
base: z.string().describe("PR base branch (pr_create); defaults to repo default branch").optional(),
|
|
229
|
-
head: z.string().describe("PR head branch (pr_create); defaults to current branch").optional(),
|
|
230
|
-
draft: z.boolean().describe("open PR as draft (pr_create)").optional(),
|
|
231
|
-
fill: z
|
|
232
|
-
.boolean()
|
|
233
|
-
.describe("auto-fill PR title/body from commits (pr_create); mutually exclusive with title/body")
|
|
234
|
-
.optional(),
|
|
235
|
-
reviewer: z.array(z.string()).describe("reviewers to request (pr_create); accepts users or org/team").optional(),
|
|
236
|
-
assignee: z.array(z.string()).describe("assignees (pr_create); use @me for the authenticated user").optional(),
|
|
237
|
-
label: z.array(z.string()).describe("labels to apply (pr_create)").optional(),
|
|
238
|
-
query: z
|
|
239
|
-
.string()
|
|
240
|
-
.describe("search query (search_issues, search_prs, search_code, search_commits, search_repos)")
|
|
241
|
-
.optional(),
|
|
242
|
-
since: z
|
|
243
|
-
.string()
|
|
244
|
-
.describe(
|
|
245
|
-
"lower-bound date for search_issues/search_prs/search_commits/search_repos. Accepts a relative duration (`<n><unit>` with unit `m`/`h`/`d`/`w`/`mo`/`y`, e.g. `3d`, `12h`, `2w`) or an ISO date (`YYYY-MM-DD`) / datetime. Translated to a `created:>=…` (or `committer-date:`/`pushed:`) qualifier; not supported by search_code.",
|
|
246
|
-
)
|
|
247
|
-
.optional(),
|
|
248
|
-
until: z
|
|
249
|
-
.string()
|
|
250
|
-
.describe(
|
|
251
|
-
"upper-bound date in the same format as `since`. With both, builds a `field:since..until` range qualifier.",
|
|
252
|
-
)
|
|
220
|
+
.describe("pr number, url, or branch")
|
|
253
221
|
.optional(),
|
|
222
|
+
force: z.boolean().describe("reset existing local branch").optional(),
|
|
223
|
+
forceWithLease: z.boolean().describe("force-with-lease push").optional(),
|
|
224
|
+
title: z.string().describe("pr title").optional(),
|
|
225
|
+
body: z.string().describe("pr body markdown").optional(),
|
|
226
|
+
base: z.string().describe("pr base branch").optional(),
|
|
227
|
+
head: z.string().describe("pr head branch").optional(),
|
|
228
|
+
draft: z.boolean().describe("open pr as draft").optional(),
|
|
229
|
+
fill: z.boolean().describe("auto-fill pr title/body from commits").optional(),
|
|
230
|
+
reviewer: z.array(z.string()).describe("reviewers").optional(),
|
|
231
|
+
assignee: z.array(z.string()).describe("assignees").optional(),
|
|
232
|
+
label: z.array(z.string()).describe("labels").optional(),
|
|
233
|
+
query: z.string().describe("search query").optional(),
|
|
234
|
+
since: z.string().describe("lower-bound date filter").optional(),
|
|
235
|
+
until: z.string().describe("upper-bound date filter").optional(),
|
|
254
236
|
dateField: z
|
|
255
237
|
.enum(["created", "updated"] as const)
|
|
256
|
-
.describe(
|
|
257
|
-
"date field used by `since`/`until`. issues/prs: `created` (default) or `updated`. repos: `created` (default) or `updated` (mapped to GitHub's `pushed:`). commits: ignored — always uses `committer-date`.",
|
|
258
|
-
)
|
|
238
|
+
.describe("date field")
|
|
259
239
|
.default("created")
|
|
260
240
|
.optional(),
|
|
261
|
-
limit: z
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
.describe("max results (search_issues, search_prs, search_code, search_commits, search_repos)")
|
|
265
|
-
.optional(),
|
|
266
|
-
run: z.string().describe("actions run id or url (run_watch)").optional(),
|
|
267
|
-
tail: z.number().default(15).describe("log lines per failed job (run_watch)").optional(),
|
|
241
|
+
limit: z.number().default(10).describe("max results").optional(),
|
|
242
|
+
run: z.string().describe("actions run id or url").optional(),
|
|
243
|
+
tail: z.number().default(15).describe("log lines per failed job").optional(),
|
|
268
244
|
})
|
|
269
245
|
.strict();
|
|
270
246
|
|
|
@@ -6,7 +6,7 @@ import recallDescription from "../prompts/tools/recall.md" with { type: "text" }
|
|
|
6
6
|
import type { ToolSession } from ".";
|
|
7
7
|
|
|
8
8
|
const hindsightRecallSchema = z.object({
|
|
9
|
-
query: z.string().describe("
|
|
9
|
+
query: z.string().describe("natural language search query"),
|
|
10
10
|
});
|
|
11
11
|
|
|
12
12
|
export type HindsightRecallParams = z.infer<typeof hindsightRecallSchema>;
|