@oh-my-pi/pi-coding-agent 15.1.1 → 15.1.2
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 +12 -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/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 +25 -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/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 +28 -0
- package/dist/types/commit/agentic/tools/recent-commits.d.ts +7 -0
- package/dist/types/commit/agentic/tools/schemas.d.ts +19 -0
- package/dist/types/commit/agentic/tools/split-commit.d.ts +45 -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 +360 -0
- package/dist/types/config/model-resolver.d.ts +230 -0
- package/dist/types/config/models-config-schema.d.ts +502 -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 +3315 -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 +1 -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 +107 -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 +6 -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/parse.d.ts +28 -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/sniff.d.ts +11 -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 +54 -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 +34 -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/parse.d.ts +19 -0
- package/dist/types/internal-urls/pi-protocol.d.ts +12 -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 +60 -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/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 +42 -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 +25 -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 +246 -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-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 +74 -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 +73 -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 +6 -0
- package/dist/types/tools/resolve.d.ts +79 -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/package.json +124 -123
- package/src/config/mcp-schema.json +1 -1
- package/src/edit/normalize.ts +1 -1
- package/src/extensibility/typebox.ts +1 -1
- package/src/hashline/index.ts +0 -1
- package/src/hashline/input.ts +8 -11
- package/src/hashline/parser.ts +6 -8
- package/src/modes/acp/acp-agent.ts +1 -0
- package/src/modes/controllers/command-controller.ts +1 -0
- package/src/modes/controllers/ssh-command-controller.ts +2 -0
- package/src/modes/theme/theme-schema.json +1 -1
- package/src/prompts/tools/hashline.md +1 -0
- package/src/prompts/tools/read.md +1 -1
- package/src/sdk.ts +14 -0
- package/src/session/agent-session.ts +49 -0
- 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/tools/bash-interactive.ts +1 -1
- package/src/tools/bash-pty-selection.ts +14 -0
- package/src/tools/bash.ts +5 -4
- package/src/tools/path-utils.ts +2 -2
- package/src/tools/read.ts +7 -4
- package/src/tools/search.ts +7 -0
- package/src/tools/yield.ts +17 -5
- package/src/tui/code-cell.ts +18 -3
- package/src/web/scrapers/searchcode.ts +1 -2
- package/src/hashline/utils.ts +0 -3
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import type { ImageContent, TextContent } from "@oh-my-pi/pi-ai";
|
|
2
|
+
export type Transferable = Bun.Transferable;
|
|
3
|
+
export interface ObservationEntry {
|
|
4
|
+
id: number;
|
|
5
|
+
role: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
value?: string | number;
|
|
8
|
+
description?: string;
|
|
9
|
+
keyshortcuts?: string;
|
|
10
|
+
states: string[];
|
|
11
|
+
}
|
|
12
|
+
export interface Observation {
|
|
13
|
+
url: string;
|
|
14
|
+
title?: string;
|
|
15
|
+
viewport: {
|
|
16
|
+
width: number;
|
|
17
|
+
height: number;
|
|
18
|
+
deviceScaleFactor?: number;
|
|
19
|
+
};
|
|
20
|
+
scroll: {
|
|
21
|
+
x: number;
|
|
22
|
+
y: number;
|
|
23
|
+
width: number;
|
|
24
|
+
height: number;
|
|
25
|
+
scrollWidth: number;
|
|
26
|
+
scrollHeight: number;
|
|
27
|
+
};
|
|
28
|
+
elements: ObservationEntry[];
|
|
29
|
+
}
|
|
30
|
+
export interface ScreenshotResult {
|
|
31
|
+
dest: string;
|
|
32
|
+
mimeType: string;
|
|
33
|
+
bytes: number;
|
|
34
|
+
width: number;
|
|
35
|
+
height: number;
|
|
36
|
+
}
|
|
37
|
+
export interface SessionSnapshot {
|
|
38
|
+
cwd: string;
|
|
39
|
+
browserScreenshotDir?: string;
|
|
40
|
+
}
|
|
41
|
+
export type WorkerInitPayload = {
|
|
42
|
+
mode: "headless";
|
|
43
|
+
browserWSEndpoint: string;
|
|
44
|
+
safeDir: string;
|
|
45
|
+
viewport?: {
|
|
46
|
+
width: number;
|
|
47
|
+
height: number;
|
|
48
|
+
deviceScaleFactor?: number;
|
|
49
|
+
};
|
|
50
|
+
dialogs?: "accept" | "dismiss";
|
|
51
|
+
url?: string;
|
|
52
|
+
waitUntil?: "load" | "domcontentloaded" | "networkidle0" | "networkidle2";
|
|
53
|
+
timeoutMs: number;
|
|
54
|
+
} | {
|
|
55
|
+
mode: "attach";
|
|
56
|
+
browserWSEndpoint: string;
|
|
57
|
+
safeDir: string;
|
|
58
|
+
targetId: string;
|
|
59
|
+
dialogs?: "accept" | "dismiss";
|
|
60
|
+
};
|
|
61
|
+
export type ToolReply = {
|
|
62
|
+
ok: true;
|
|
63
|
+
value: unknown;
|
|
64
|
+
} | {
|
|
65
|
+
ok: false;
|
|
66
|
+
error: RunErrorPayload;
|
|
67
|
+
};
|
|
68
|
+
export type WorkerInbound = {
|
|
69
|
+
type: "init";
|
|
70
|
+
payload: WorkerInitPayload;
|
|
71
|
+
} | {
|
|
72
|
+
type: "run";
|
|
73
|
+
id: string;
|
|
74
|
+
name: string;
|
|
75
|
+
code: string;
|
|
76
|
+
timeoutMs: number;
|
|
77
|
+
session: SessionSnapshot;
|
|
78
|
+
} | {
|
|
79
|
+
type: "abort";
|
|
80
|
+
id: string;
|
|
81
|
+
} | {
|
|
82
|
+
type: "tool-reply";
|
|
83
|
+
id: string;
|
|
84
|
+
reply: ToolReply;
|
|
85
|
+
} | {
|
|
86
|
+
type: "close";
|
|
87
|
+
};
|
|
88
|
+
export interface ReadyInfo {
|
|
89
|
+
url: string;
|
|
90
|
+
title?: string;
|
|
91
|
+
viewport: {
|
|
92
|
+
width: number;
|
|
93
|
+
height: number;
|
|
94
|
+
deviceScaleFactor?: number;
|
|
95
|
+
};
|
|
96
|
+
targetId: string;
|
|
97
|
+
}
|
|
98
|
+
export interface RunResultOk {
|
|
99
|
+
displays: Array<TextContent | ImageContent>;
|
|
100
|
+
returnValue: unknown;
|
|
101
|
+
screenshots: ScreenshotResult[];
|
|
102
|
+
}
|
|
103
|
+
export interface RunErrorPayload {
|
|
104
|
+
name: string;
|
|
105
|
+
message: string;
|
|
106
|
+
stack?: string;
|
|
107
|
+
isToolError: boolean;
|
|
108
|
+
isAbort: boolean;
|
|
109
|
+
}
|
|
110
|
+
export type WorkerOutbound = {
|
|
111
|
+
type: "ready";
|
|
112
|
+
info: ReadyInfo;
|
|
113
|
+
} | {
|
|
114
|
+
type: "init-failed";
|
|
115
|
+
error: RunErrorPayload;
|
|
116
|
+
} | {
|
|
117
|
+
type: "result";
|
|
118
|
+
id: string;
|
|
119
|
+
ok: true;
|
|
120
|
+
payload: RunResultOk;
|
|
121
|
+
} | {
|
|
122
|
+
type: "result";
|
|
123
|
+
id: string;
|
|
124
|
+
ok: false;
|
|
125
|
+
error: RunErrorPayload;
|
|
126
|
+
} | {
|
|
127
|
+
type: "tool-call";
|
|
128
|
+
id: string;
|
|
129
|
+
runId: string;
|
|
130
|
+
name: string;
|
|
131
|
+
args: unknown;
|
|
132
|
+
} | {
|
|
133
|
+
type: "log";
|
|
134
|
+
level: "debug" | "warn" | "error";
|
|
135
|
+
msg: string;
|
|
136
|
+
meta?: Record<string, unknown>;
|
|
137
|
+
} | {
|
|
138
|
+
type: "closed";
|
|
139
|
+
};
|
|
140
|
+
export interface Transport {
|
|
141
|
+
send(msg: WorkerOutbound | WorkerInbound, transferList?: Transferable[]): void;
|
|
142
|
+
onMessage(handler: (msg: WorkerOutbound | WorkerInbound) => void): () => void;
|
|
143
|
+
close(): void;
|
|
144
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { ToolSession } from "../../sdk";
|
|
2
|
+
import { type BrowserHandle, type BrowserKindTag } from "./registry";
|
|
3
|
+
import type { ReadyInfo, RunResultOk, Transferable, WorkerInbound, WorkerInitPayload, WorkerOutbound } from "./tab-protocol";
|
|
4
|
+
interface WorkerHandle {
|
|
5
|
+
send(msg: WorkerInbound, transferList?: Transferable[]): void;
|
|
6
|
+
onMessage(handler: (msg: WorkerOutbound) => void): () => void;
|
|
7
|
+
onError(handler: (error: Error) => void): () => void;
|
|
8
|
+
terminate(): Promise<void>;
|
|
9
|
+
readonly mode: "worker" | "inline";
|
|
10
|
+
}
|
|
11
|
+
export type DialogPolicy = "accept" | "dismiss";
|
|
12
|
+
export interface PendingRun {
|
|
13
|
+
resolve(result: RunResultOk): void;
|
|
14
|
+
reject(error: unknown): void;
|
|
15
|
+
session: ToolSession;
|
|
16
|
+
signal?: AbortSignal;
|
|
17
|
+
toolCalls: Map<string, AbortController>;
|
|
18
|
+
}
|
|
19
|
+
export interface TabSession {
|
|
20
|
+
name: string;
|
|
21
|
+
browser: BrowserHandle;
|
|
22
|
+
targetId: string;
|
|
23
|
+
worker: WorkerHandle;
|
|
24
|
+
state: "alive" | "dead";
|
|
25
|
+
info: ReadyInfo;
|
|
26
|
+
pending: Map<string, PendingRun>;
|
|
27
|
+
dialogPolicy?: DialogPolicy;
|
|
28
|
+
kindTag: BrowserKindTag;
|
|
29
|
+
}
|
|
30
|
+
export interface AcquireTabOptions {
|
|
31
|
+
url?: string;
|
|
32
|
+
waitUntil?: "load" | "domcontentloaded" | "networkidle0" | "networkidle2";
|
|
33
|
+
viewport?: {
|
|
34
|
+
width: number;
|
|
35
|
+
height: number;
|
|
36
|
+
deviceScaleFactor?: number;
|
|
37
|
+
};
|
|
38
|
+
target?: string;
|
|
39
|
+
signal?: AbortSignal;
|
|
40
|
+
timeoutMs: number;
|
|
41
|
+
dialogs?: DialogPolicy;
|
|
42
|
+
}
|
|
43
|
+
export interface AcquireTabResult {
|
|
44
|
+
tab: TabSession;
|
|
45
|
+
created: boolean;
|
|
46
|
+
}
|
|
47
|
+
export interface RunInTabOptions {
|
|
48
|
+
code: string;
|
|
49
|
+
timeoutMs: number;
|
|
50
|
+
signal?: AbortSignal;
|
|
51
|
+
session: ToolSession;
|
|
52
|
+
}
|
|
53
|
+
export interface ReleaseTabOptions {
|
|
54
|
+
kill?: boolean;
|
|
55
|
+
}
|
|
56
|
+
export declare function getTab(name: string): TabSession | undefined;
|
|
57
|
+
export declare function acquireTab(name: string, browser: BrowserHandle, opts: AcquireTabOptions): Promise<AcquireTabResult>;
|
|
58
|
+
export declare function runInTab(name: string, opts: RunInTabOptions): Promise<RunResultOk>;
|
|
59
|
+
export declare function releaseTab(name: string, opts?: ReleaseTabOptions): Promise<boolean>;
|
|
60
|
+
export declare function releaseAllTabs(opts?: ReleaseTabOptions): Promise<number>;
|
|
61
|
+
export declare function dropHeadlessTabs(): Promise<void>;
|
|
62
|
+
export declare function initializeTabWorkerForTest(worker: WorkerHandle, payload: WorkerInitPayload, timeoutMs: number): Promise<ReadyInfo>;
|
|
63
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { HTMLElement } from "linkedom";
|
|
2
|
+
import type { ElementHandle } from "puppeteer-core";
|
|
3
|
+
import type { Transport } from "./tab-protocol";
|
|
4
|
+
declare global {
|
|
5
|
+
interface Element extends HTMLElement {
|
|
6
|
+
}
|
|
7
|
+
function getComputedStyle(element: Element): Record<string, unknown>;
|
|
8
|
+
var innerWidth: number;
|
|
9
|
+
var innerHeight: number;
|
|
10
|
+
var document: {
|
|
11
|
+
elementFromPoint(x: number, y: number): Element | null;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export declare class WorkerCore {
|
|
15
|
+
#private;
|
|
16
|
+
constructor(transport: Transport);
|
|
17
|
+
nextElementId(): number;
|
|
18
|
+
cacheElement(id: number, handle: ElementHandle): void;
|
|
19
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import type { AgentTool, AgentToolContext, AgentToolResult, AgentToolUpdateCallback } from "@oh-my-pi/pi-agent-core";
|
|
2
|
+
import * as z from "zod/v4";
|
|
3
|
+
import type { ToolSession } from "../sdk";
|
|
4
|
+
import { type BrowserKindTag } from "./browser/registry";
|
|
5
|
+
import type { Observation, ScreenshotResult } from "./browser/tab-protocol";
|
|
6
|
+
import type { OutputMeta } from "./output-meta";
|
|
7
|
+
export { extractReadableFromHtml, type ReadableFormat, type ReadableResult } from "./browser/readable";
|
|
8
|
+
export type { Observation, ObservationEntry } from "./browser/tab-protocol";
|
|
9
|
+
declare const browserSchema: z.ZodObject<{
|
|
10
|
+
action: z.ZodEnum<{
|
|
11
|
+
close: "close";
|
|
12
|
+
open: "open";
|
|
13
|
+
run: "run";
|
|
14
|
+
}>;
|
|
15
|
+
name: z.ZodOptional<z.ZodString>;
|
|
16
|
+
url: z.ZodOptional<z.ZodString>;
|
|
17
|
+
app: z.ZodOptional<z.ZodObject<{
|
|
18
|
+
path: z.ZodOptional<z.ZodString>;
|
|
19
|
+
cdp_url: z.ZodOptional<z.ZodString>;
|
|
20
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
21
|
+
target: z.ZodOptional<z.ZodString>;
|
|
22
|
+
}, z.core.$strip>>;
|
|
23
|
+
viewport: z.ZodOptional<z.ZodObject<{
|
|
24
|
+
width: z.ZodNumber;
|
|
25
|
+
height: z.ZodNumber;
|
|
26
|
+
scale: z.ZodOptional<z.ZodNumber>;
|
|
27
|
+
}, z.core.$strip>>;
|
|
28
|
+
wait_until: z.ZodOptional<z.ZodEnum<{
|
|
29
|
+
domcontentloaded: "domcontentloaded";
|
|
30
|
+
load: "load";
|
|
31
|
+
networkidle0: "networkidle0";
|
|
32
|
+
networkidle2: "networkidle2";
|
|
33
|
+
}>>;
|
|
34
|
+
dialogs: z.ZodOptional<z.ZodEnum<{
|
|
35
|
+
accept: "accept";
|
|
36
|
+
dismiss: "dismiss";
|
|
37
|
+
}>>;
|
|
38
|
+
code: z.ZodOptional<z.ZodString>;
|
|
39
|
+
timeout: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
40
|
+
all: z.ZodOptional<z.ZodBoolean>;
|
|
41
|
+
kill: z.ZodOptional<z.ZodBoolean>;
|
|
42
|
+
}, z.core.$strip>;
|
|
43
|
+
/** Input schema for the browser tool. */
|
|
44
|
+
export type BrowserParams = z.infer<typeof browserSchema>;
|
|
45
|
+
/** Details describing a browser tool execution result (for renderers + transcript). */
|
|
46
|
+
export interface BrowserToolDetails {
|
|
47
|
+
action: BrowserParams["action"];
|
|
48
|
+
name?: string;
|
|
49
|
+
url?: string;
|
|
50
|
+
browser?: BrowserKindTag;
|
|
51
|
+
viewport?: {
|
|
52
|
+
width: number;
|
|
53
|
+
height: number;
|
|
54
|
+
deviceScaleFactor?: number;
|
|
55
|
+
};
|
|
56
|
+
observation?: Observation;
|
|
57
|
+
screenshots?: ScreenshotResult[];
|
|
58
|
+
result?: string;
|
|
59
|
+
meta?: OutputMeta;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Browser tool: stateful, multi-tab. Three actions:
|
|
63
|
+
* - `open` → acquire/create a named tab on a browser kind (headless | spawned | connected) and optionally goto a url.
|
|
64
|
+
* - `close` → release a named tab (or all tabs); dispose browser when refcount hits 0.
|
|
65
|
+
* - `run` → execute JS code against an existing tab with `page`/`browser`/`tab` helpers in scope.
|
|
66
|
+
*/
|
|
67
|
+
export declare class BrowserTool implements AgentTool<typeof browserSchema, BrowserToolDetails> {
|
|
68
|
+
#private;
|
|
69
|
+
private readonly session;
|
|
70
|
+
readonly name = "browser";
|
|
71
|
+
readonly label = "Browser";
|
|
72
|
+
readonly loadMode = "discoverable";
|
|
73
|
+
readonly summary = "Control a headless browser to navigate and interact with web pages";
|
|
74
|
+
readonly parameters: z.ZodObject<{
|
|
75
|
+
action: z.ZodEnum<{
|
|
76
|
+
close: "close";
|
|
77
|
+
open: "open";
|
|
78
|
+
run: "run";
|
|
79
|
+
}>;
|
|
80
|
+
name: z.ZodOptional<z.ZodString>;
|
|
81
|
+
url: z.ZodOptional<z.ZodString>;
|
|
82
|
+
app: z.ZodOptional<z.ZodObject<{
|
|
83
|
+
path: z.ZodOptional<z.ZodString>;
|
|
84
|
+
cdp_url: z.ZodOptional<z.ZodString>;
|
|
85
|
+
args: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
86
|
+
target: z.ZodOptional<z.ZodString>;
|
|
87
|
+
}, z.core.$strip>>;
|
|
88
|
+
viewport: z.ZodOptional<z.ZodObject<{
|
|
89
|
+
width: z.ZodNumber;
|
|
90
|
+
height: z.ZodNumber;
|
|
91
|
+
scale: z.ZodOptional<z.ZodNumber>;
|
|
92
|
+
}, z.core.$strip>>;
|
|
93
|
+
wait_until: z.ZodOptional<z.ZodEnum<{
|
|
94
|
+
domcontentloaded: "domcontentloaded";
|
|
95
|
+
load: "load";
|
|
96
|
+
networkidle0: "networkidle0";
|
|
97
|
+
networkidle2: "networkidle2";
|
|
98
|
+
}>>;
|
|
99
|
+
dialogs: z.ZodOptional<z.ZodEnum<{
|
|
100
|
+
accept: "accept";
|
|
101
|
+
dismiss: "dismiss";
|
|
102
|
+
}>>;
|
|
103
|
+
code: z.ZodOptional<z.ZodString>;
|
|
104
|
+
timeout: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
105
|
+
all: z.ZodOptional<z.ZodBoolean>;
|
|
106
|
+
kill: z.ZodOptional<z.ZodBoolean>;
|
|
107
|
+
}, z.core.$strip>;
|
|
108
|
+
readonly strict = true;
|
|
109
|
+
constructor(session: ToolSession);
|
|
110
|
+
get description(): string;
|
|
111
|
+
/** Restart browser to apply mode changes (e.g. headless toggle). Drops only headless browsers. */
|
|
112
|
+
restartForModeChange(): Promise<void>;
|
|
113
|
+
execute(_toolCallId: string, params: BrowserParams, signal?: AbortSignal, _onUpdate?: AgentToolUpdateCallback<BrowserToolDetails>, _ctx?: AgentToolContext): Promise<AgentToolResult<BrowserToolDetails>>;
|
|
114
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { AgentTool, AgentToolResult } from "@oh-my-pi/pi-agent-core";
|
|
2
|
+
import type { Component } from "@oh-my-pi/pi-tui";
|
|
3
|
+
import * as z from "zod/v4";
|
|
4
|
+
import type { RenderResultOptions } from "../extensibility/custom-tools/types";
|
|
5
|
+
import type { Theme } from "../modes/theme/theme";
|
|
6
|
+
import type { ToolSession } from ".";
|
|
7
|
+
declare const calculatorSchema: z.ZodObject<{
|
|
8
|
+
calculations: z.ZodArray<z.ZodObject<{
|
|
9
|
+
expression: z.ZodString;
|
|
10
|
+
prefix: z.ZodString;
|
|
11
|
+
suffix: z.ZodString;
|
|
12
|
+
}, z.core.$strip>>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export interface CalculatorToolDetails {
|
|
15
|
+
results: Array<{
|
|
16
|
+
expression: string;
|
|
17
|
+
value: number;
|
|
18
|
+
output: string;
|
|
19
|
+
}>;
|
|
20
|
+
}
|
|
21
|
+
type CalculatorParams = z.infer<typeof calculatorSchema>;
|
|
22
|
+
/**
|
|
23
|
+
* Calculator tool for evaluating mathematical expressions.
|
|
24
|
+
*
|
|
25
|
+
* Supports decimal, hex (0x), binary (0b), octal (0o) literals,
|
|
26
|
+
* standard arithmetic operators, and parentheses.
|
|
27
|
+
*/
|
|
28
|
+
export declare class CalculatorTool implements AgentTool<typeof calculatorSchema, CalculatorToolDetails> {
|
|
29
|
+
readonly name = "calc";
|
|
30
|
+
readonly label = "Calc";
|
|
31
|
+
readonly summary = "Evaluate a mathematical expression";
|
|
32
|
+
readonly loadMode = "discoverable";
|
|
33
|
+
readonly description: string;
|
|
34
|
+
readonly parameters: z.ZodObject<{
|
|
35
|
+
calculations: z.ZodArray<z.ZodObject<{
|
|
36
|
+
expression: z.ZodString;
|
|
37
|
+
prefix: z.ZodString;
|
|
38
|
+
suffix: z.ZodString;
|
|
39
|
+
}, z.core.$strip>>;
|
|
40
|
+
}, z.core.$strip>;
|
|
41
|
+
readonly strict = true;
|
|
42
|
+
constructor(_session: ToolSession);
|
|
43
|
+
execute(_toolCallId: string, { calculations }: CalculatorParams, signal?: AbortSignal): Promise<AgentToolResult<CalculatorToolDetails>>;
|
|
44
|
+
}
|
|
45
|
+
interface CalculatorRenderArgs {
|
|
46
|
+
calculations?: Array<{
|
|
47
|
+
expression: string;
|
|
48
|
+
prefix?: string;
|
|
49
|
+
suffix?: string;
|
|
50
|
+
}>;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* TUI renderer for calculator tool calls and results.
|
|
54
|
+
* Handles both collapsed (preview) and expanded (full) display modes.
|
|
55
|
+
*/
|
|
56
|
+
export declare const calculatorToolRenderer: {
|
|
57
|
+
/**
|
|
58
|
+
* Render the tool call header showing the first expression and count.
|
|
59
|
+
* Format: "Calc <expression> (N calcs)"
|
|
60
|
+
*/
|
|
61
|
+
renderCall(args: CalculatorRenderArgs, _options: RenderResultOptions, uiTheme: Theme): Component;
|
|
62
|
+
/**
|
|
63
|
+
* Render calculation results as a tree list.
|
|
64
|
+
* Collapsed mode shows first N items with expand hint; expanded shows all.
|
|
65
|
+
*/
|
|
66
|
+
renderResult(result: {
|
|
67
|
+
content: Array<{
|
|
68
|
+
type: string;
|
|
69
|
+
text?: string;
|
|
70
|
+
}>;
|
|
71
|
+
details?: CalculatorToolDetails;
|
|
72
|
+
isError?: boolean;
|
|
73
|
+
}, options: RenderResultOptions, uiTheme: Theme, args?: CalculatorRenderArgs): Component;
|
|
74
|
+
mergeCallAndResult: boolean;
|
|
75
|
+
};
|
|
76
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { AgentTool, AgentToolContext, AgentToolResult, AgentToolUpdateCallback } from "@oh-my-pi/pi-agent-core";
|
|
2
|
+
import * as z from "zod/v4";
|
|
3
|
+
import type { ToolSession } from ".";
|
|
4
|
+
import type { OutputMeta } from "./output-meta";
|
|
5
|
+
export interface CheckpointState {
|
|
6
|
+
/** Number of in-memory messages at checkpoint (AFTER checkpoint tool result is appended) */
|
|
7
|
+
checkpointMessageCount: number;
|
|
8
|
+
/** Session entry ID at checkpoint (for session tree branching) */
|
|
9
|
+
checkpointEntryId: string | null;
|
|
10
|
+
/** Timestamp */
|
|
11
|
+
startedAt: string;
|
|
12
|
+
}
|
|
13
|
+
declare const checkpointSchema: z.ZodObject<{
|
|
14
|
+
goal: z.ZodString;
|
|
15
|
+
}, z.core.$strip>;
|
|
16
|
+
type CheckpointParams = z.infer<typeof checkpointSchema>;
|
|
17
|
+
declare const rewindSchema: z.ZodObject<{
|
|
18
|
+
report: z.ZodString;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
type RewindParams = z.infer<typeof rewindSchema>;
|
|
21
|
+
export interface CheckpointToolDetails {
|
|
22
|
+
goal: string;
|
|
23
|
+
startedAt: string;
|
|
24
|
+
meta?: OutputMeta;
|
|
25
|
+
}
|
|
26
|
+
export interface RewindToolDetails {
|
|
27
|
+
report: string;
|
|
28
|
+
rewound: boolean;
|
|
29
|
+
meta?: OutputMeta;
|
|
30
|
+
}
|
|
31
|
+
export declare class CheckpointTool implements AgentTool<typeof checkpointSchema, CheckpointToolDetails> {
|
|
32
|
+
private readonly session;
|
|
33
|
+
readonly name = "checkpoint";
|
|
34
|
+
readonly label = "Checkpoint";
|
|
35
|
+
readonly summary = "Create a git-based checkpoint to save and restore session state";
|
|
36
|
+
readonly description: string;
|
|
37
|
+
readonly parameters: z.ZodObject<{
|
|
38
|
+
goal: z.ZodString;
|
|
39
|
+
}, z.core.$strip>;
|
|
40
|
+
readonly strict = true;
|
|
41
|
+
readonly loadMode = "discoverable";
|
|
42
|
+
readonly intent: (args: Partial<CheckpointParams>) => string;
|
|
43
|
+
constructor(session: ToolSession);
|
|
44
|
+
static createIf(session: ToolSession): CheckpointTool | null;
|
|
45
|
+
execute(_toolCallId: string, params: CheckpointParams, _signal?: AbortSignal, _onUpdate?: AgentToolUpdateCallback<CheckpointToolDetails>, _context?: AgentToolContext): Promise<AgentToolResult<CheckpointToolDetails>>;
|
|
46
|
+
}
|
|
47
|
+
export declare class RewindTool implements AgentTool<typeof rewindSchema, RewindToolDetails> {
|
|
48
|
+
private readonly session;
|
|
49
|
+
readonly name = "rewind";
|
|
50
|
+
readonly label = "Rewind";
|
|
51
|
+
readonly summary = "Rewind to a previously created checkpoint";
|
|
52
|
+
readonly description: string;
|
|
53
|
+
readonly parameters: z.ZodObject<{
|
|
54
|
+
report: z.ZodString;
|
|
55
|
+
}, z.core.$strip>;
|
|
56
|
+
readonly strict = true;
|
|
57
|
+
readonly loadMode = "discoverable";
|
|
58
|
+
readonly intent: () => string;
|
|
59
|
+
constructor(session: ToolSession);
|
|
60
|
+
static createIf(session: ToolSession): RewindTool | null;
|
|
61
|
+
execute(_toolCallId: string, params: RewindParams, _signal?: AbortSignal, _onUpdate?: AgentToolUpdateCallback<RewindToolDetails>, _context?: AgentToolContext): Promise<AgentToolResult<RewindToolDetails>>;
|
|
62
|
+
}
|
|
63
|
+
export {};
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detect and resolve unresolved git merge conflicts that surface in `read`
|
|
3
|
+
* output.
|
|
4
|
+
*
|
|
5
|
+
* Workflow:
|
|
6
|
+
* 1. `read` collects lines from disk as usual.
|
|
7
|
+
* 2. `scanConflictLines` inspects those lines (no extra I/O) for
|
|
8
|
+
* well-formed `<<<<<<<` / `=======` / `>>>>>>>` blocks.
|
|
9
|
+
* 3. Each completed block is registered with the session's
|
|
10
|
+
* `ConflictHistory`, which assigns it a stable id.
|
|
11
|
+
* 4. The read output is returned verbatim with a short footer naming
|
|
12
|
+
* every conflict id surfaced, and the agent calls
|
|
13
|
+
* `write({ path: "conflict://<id>", content })` to splice the
|
|
14
|
+
* recorded region with the chosen content.
|
|
15
|
+
*
|
|
16
|
+
* Marker shape is strict: only column-0 markers of the exact prefix length
|
|
17
|
+
* followed by either EOL or a single space + label count. Lines that
|
|
18
|
+
* merely start with `<` or `=` never match.
|
|
19
|
+
*/
|
|
20
|
+
import type { ToolSession } from "./index";
|
|
21
|
+
export interface ConflictBlock {
|
|
22
|
+
/** 1-indexed line of the `<<<<<<<` marker. */
|
|
23
|
+
startLine: number;
|
|
24
|
+
/** 1-indexed line of the `=======` separator. */
|
|
25
|
+
separatorLine: number;
|
|
26
|
+
/** 1-indexed line of the `>>>>>>>` marker. */
|
|
27
|
+
endLine: number;
|
|
28
|
+
/** 1-indexed line of the `|||||||` base marker (diff3 only). */
|
|
29
|
+
baseLine?: number;
|
|
30
|
+
oursLabel?: string;
|
|
31
|
+
baseLabel?: string;
|
|
32
|
+
theirsLabel?: string;
|
|
33
|
+
oursLines: string[];
|
|
34
|
+
baseLines?: string[];
|
|
35
|
+
theirsLines: string[];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Scan an already-collected array of file lines for completed conflict
|
|
39
|
+
* blocks. `firstLineNumber` is the 1-indexed line number of `lines[0]`
|
|
40
|
+
* (so a windowed read starting at line 200 passes `firstLineNumber: 200`).
|
|
41
|
+
*
|
|
42
|
+
* Only fully-closed blocks (opener + separator + closer all present in
|
|
43
|
+
* the window) are returned. A block whose closer is past the window's
|
|
44
|
+
* tail is dropped — the agent will see the open marker and can widen
|
|
45
|
+
* the read.
|
|
46
|
+
*/
|
|
47
|
+
export declare function scanConflictLines(lines: readonly string[], firstLineNumber: number): ConflictBlock[];
|
|
48
|
+
/**
|
|
49
|
+
* Scan a whole file for unresolved conflict blocks.
|
|
50
|
+
*
|
|
51
|
+
* Reads at most `maxBytes` (default 10 MB) so this stays cheap on
|
|
52
|
+
* pathological files. Files truncated by the cap report
|
|
53
|
+
* `scanTruncated: true`; only complete blocks within the scanned prefix
|
|
54
|
+
* are returned, so trailing partial markers never invent fake blocks.
|
|
55
|
+
*/
|
|
56
|
+
export declare function scanFileForConflicts(absolutePath: string, options?: {
|
|
57
|
+
maxBytes?: number;
|
|
58
|
+
}): Promise<{
|
|
59
|
+
blocks: ConflictBlock[];
|
|
60
|
+
scanTruncated: boolean;
|
|
61
|
+
}>;
|
|
62
|
+
/**
|
|
63
|
+
* Recorded conflict block keyed by a session-stable id. The history is
|
|
64
|
+
* append-only; ids stay valid even after later writes resolve other
|
|
65
|
+
* blocks in the same file, so retries don't depend on re-reading.
|
|
66
|
+
*/
|
|
67
|
+
export interface ConflictEntry extends ConflictBlock {
|
|
68
|
+
id: number;
|
|
69
|
+
absolutePath: string;
|
|
70
|
+
displayPath: string;
|
|
71
|
+
}
|
|
72
|
+
/** Per-session log of conflict regions surfaced by `read`. */
|
|
73
|
+
export declare class ConflictHistory {
|
|
74
|
+
#private;
|
|
75
|
+
/**
|
|
76
|
+
* Register a conflict block. Returns the (possibly pre-existing) entry
|
|
77
|
+
* — if the same `absolutePath`+`startLine` was registered before, the
|
|
78
|
+
* earlier id is reused so a re-read does not inflate the counter or
|
|
79
|
+
* orphan the prior id. The recorded region is overwritten on re-read
|
|
80
|
+
* so the splice always reflects the current marker positions on disk.
|
|
81
|
+
*/
|
|
82
|
+
register(input: Omit<ConflictEntry, "id">): ConflictEntry;
|
|
83
|
+
get(id: number): ConflictEntry | undefined;
|
|
84
|
+
/** Snapshot every registered entry in insertion (id) order. */
|
|
85
|
+
entries(): ConflictEntry[];
|
|
86
|
+
/** Drop a single entry by id. Used after a successful resolve. */
|
|
87
|
+
invalidate(id: number): void;
|
|
88
|
+
/** Drop every entry referencing `absolutePath`. Used after a successful resolve. */
|
|
89
|
+
invalidatePath(absolutePath: string): void;
|
|
90
|
+
}
|
|
91
|
+
/** Lazily attach a `ConflictHistory` to the session and return it. */
|
|
92
|
+
export declare function getConflictHistory(session: ToolSession): ConflictHistory;
|
|
93
|
+
/** A side of a conflict block that the `read` tool can render via `conflict://N/<scope>`. */
|
|
94
|
+
export type ConflictScope = "ours" | "theirs" | "base";
|
|
95
|
+
/** Parsed `conflict://<N>` / `conflict://<N>/<scope>` / `conflict://*` URI. */
|
|
96
|
+
export interface ParsedConflictUri {
|
|
97
|
+
/** `"*"` selects every currently-registered conflict (bulk write only). */
|
|
98
|
+
id: number | "*";
|
|
99
|
+
scope?: ConflictScope;
|
|
100
|
+
/**
|
|
101
|
+
* When `raw` was a malformed `<file-prefix>:conflict://…` path, the
|
|
102
|
+
* stripped prefix is preserved here so callers can surface a gentle
|
|
103
|
+
* "you don't need the file path" note. `undefined` for clean URIs.
|
|
104
|
+
*/
|
|
105
|
+
recoveredPrefix?: string;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Parse a `conflict://<N>`, `conflict://<N>/<scope>`, or `conflict://*` URI.
|
|
109
|
+
*
|
|
110
|
+
* Returns `null` for non-conflict paths; throws `ToolError` for a
|
|
111
|
+
* well-formed scheme with an invalid id or scope so the agent gets a
|
|
112
|
+
* clear actionable message rather than a confusing "not found" later.
|
|
113
|
+
*
|
|
114
|
+
* `*` is the bulk-write wildcard — only valid as `conflict://*` (no
|
|
115
|
+
* scope segment). Use it with `write({ path: "conflict://*", content })`
|
|
116
|
+
* to apply `content` (with optional `@ours` / `@theirs` / `@base` /
|
|
117
|
+
* `@both` shorthand) to every currently-registered conflict in one shot.
|
|
118
|
+
*/
|
|
119
|
+
export declare function parseConflictUri(raw: string): ParsedConflictUri | null;
|
|
120
|
+
/**
|
|
121
|
+
* Splice the conflict region recorded in `entry` out of `originalText`
|
|
122
|
+
* and replace it with `replacement` (markers and all sides included).
|
|
123
|
+
*
|
|
124
|
+
* Works like the edit tool's patch infra: locates the recorded marker
|
|
125
|
+
* block by content (anchored to `entry.startLine` as the preferred
|
|
126
|
+
* match), so out-of-band edits earlier in the file that shift line
|
|
127
|
+
* numbers don't break resolution. Throws clearly when the marker block
|
|
128
|
+
* has actually been altered or removed.
|
|
129
|
+
*/
|
|
130
|
+
export declare function spliceConflict(originalText: string, entry: ConflictEntry, replacement: string): string;
|
|
131
|
+
/**
|
|
132
|
+
* Expand `@ours` / `@theirs` / `@base` / `@both` line tokens against the
|
|
133
|
+
* recorded sections of `entry`. A token only triggers when it is the
|
|
134
|
+
* entire content of a line (after CRLF normalisation), so `@ours` inside
|
|
135
|
+
* actual code is left alone. Other lines pass through verbatim.
|
|
136
|
+
*
|
|
137
|
+
* - `@ours` → expands to the recorded `oursLines` (in order).
|
|
138
|
+
* - `@theirs` → expands to the recorded `theirsLines` (in order).
|
|
139
|
+
* - `@base` → expands to `baseLines`; throws if no base section was
|
|
140
|
+
* recorded (i.e. the conflict was 2-way, not diff3).
|
|
141
|
+
* - `@both` → expands to `oursLines` then `theirsLines`.
|
|
142
|
+
*/
|
|
143
|
+
export declare function expandContentTokens(content: string, entry: ConflictEntry): string;
|
|
144
|
+
/**
|
|
145
|
+
* Materialise a conflict block for `conflict://<N>` reads (and their
|
|
146
|
+
* `/ours` / `/theirs` / `/base` scopes).
|
|
147
|
+
*
|
|
148
|
+
* Returns:
|
|
149
|
+
* - `lines`: the lines to render, ordered top-to-bottom.
|
|
150
|
+
* - `startLine`: the 1-indexed file line number `lines[0]` corresponds
|
|
151
|
+
* to, so the read formatter can label hashline anchors with the
|
|
152
|
+
* original file positions.
|
|
153
|
+
*
|
|
154
|
+
* Bare (no scope) returns the full block including marker lines. A
|
|
155
|
+
* scoped view returns only that side's body — `base` throws when the
|
|
156
|
+
* recorded conflict is a 2-way merge with no base section.
|
|
157
|
+
*/
|
|
158
|
+
export declare function renderConflictRegion(entry: ConflictEntry, scope: ConflictScope | undefined): {
|
|
159
|
+
lines: string[];
|
|
160
|
+
startLine: number;
|
|
161
|
+
};
|
|
162
|
+
/**
|
|
163
|
+
* Build a compact diff-style footer describing the conflicts registered
|
|
164
|
+
* during a read. Designed to be appended after the file content.
|
|
165
|
+
*
|
|
166
|
+
* Format:
|
|
167
|
+
*
|
|
168
|
+
* ⚠ N unresolved conflicts detected
|
|
169
|
+
* - ours = HEAD
|
|
170
|
+
* - theirs = feature/x
|
|
171
|
+
* NOTICE: …
|
|
172
|
+
*
|
|
173
|
+
* ──── #1 L42-48 ────
|
|
174
|
+
* <<< ours
|
|
175
|
+
* …ours body…
|
|
176
|
+
* === base ≡ ours
|
|
177
|
+
* >>> theirs
|
|
178
|
+
* …theirs body…
|
|
179
|
+
*
|
|
180
|
+
* Labels are aggregated once at the top from the first entry that has
|
|
181
|
+
* them; when a section body equals another section's body the redundant
|
|
182
|
+
* body is collapsed to `≡ <other>`.
|
|
183
|
+
*/
|
|
184
|
+
export interface FormatConflictWarningOptions {
|
|
185
|
+
/**
|
|
186
|
+
* Total number of conflicts in the underlying file. If greater than
|
|
187
|
+
* `entries.length` the header notes how many are visible vs the total
|
|
188
|
+
* and points at `:conflicts` for the compact list.
|
|
189
|
+
*/
|
|
190
|
+
totalInFile?: number;
|
|
191
|
+
/** Display path used inside the `:conflicts` hint. */
|
|
192
|
+
displayPath?: string;
|
|
193
|
+
/** Whether the underlying file scan hit its byte cap. */
|
|
194
|
+
scanTruncated?: boolean;
|
|
195
|
+
}
|
|
196
|
+
export declare function formatConflictWarning(entries: readonly ConflictEntry[], options?: FormatConflictWarningOptions): string;
|
|
197
|
+
/**
|
|
198
|
+
* Render a single-line-per-block index of every conflict in a file.
|
|
199
|
+
* Used by the `<path>:conflicts` read selector to give the agent a cheap overview
|
|
200
|
+
* of a heavily-conflicted file without dumping every body.
|
|
201
|
+
*/
|
|
202
|
+
export declare function formatConflictSummary(entries: readonly ConflictEntry[], options?: {
|
|
203
|
+
displayPath: string;
|
|
204
|
+
scanTruncated?: boolean;
|
|
205
|
+
}): string;
|