@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,185 @@
|
|
|
1
|
+
import type { AgentToolUpdateCallback } from "@oh-my-pi/pi-agent-core";
|
|
2
|
+
export declare const DEFAULT_MAX_LINES = 3000;
|
|
3
|
+
export declare const DEFAULT_MAX_BYTES: number;
|
|
4
|
+
export declare const DEFAULT_MAX_COLUMN = 1024;
|
|
5
|
+
export interface OutputSummary {
|
|
6
|
+
output: string;
|
|
7
|
+
truncated: boolean;
|
|
8
|
+
totalLines: number;
|
|
9
|
+
totalBytes: number;
|
|
10
|
+
outputLines: number;
|
|
11
|
+
outputBytes: number;
|
|
12
|
+
/** Bytes elided from the middle when head-retain mode is active. */
|
|
13
|
+
elidedBytes?: number;
|
|
14
|
+
/** Lines elided from the middle when head-retain mode is active. */
|
|
15
|
+
elidedLines?: number;
|
|
16
|
+
/** Bytes dropped by the per-line column cap (sum across all lines). */
|
|
17
|
+
columnDroppedBytes?: number;
|
|
18
|
+
/** Number of distinct lines that hit the per-line column cap. */
|
|
19
|
+
columnTruncatedLines?: number;
|
|
20
|
+
/** Artifact ID for internal URL access (artifact://<id>) when truncated */
|
|
21
|
+
artifactId?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface OutputSinkOptions {
|
|
24
|
+
artifactPath?: string;
|
|
25
|
+
artifactId?: string;
|
|
26
|
+
/** Tail buffer budget (bytes). Default DEFAULT_MAX_BYTES. */
|
|
27
|
+
spillThreshold?: number;
|
|
28
|
+
/**
|
|
29
|
+
* When > 0, the sink keeps the first `headBytes` of output in addition to
|
|
30
|
+
* the rolling tail window. Output between the two windows is elided
|
|
31
|
+
* (middle elision). Default 0 = tail-only behavior.
|
|
32
|
+
*/
|
|
33
|
+
headBytes?: number;
|
|
34
|
+
/**
|
|
35
|
+
* Per-line byte cap. When > 0, lines wider than `maxColumns` bytes are
|
|
36
|
+
* truncated with an ellipsis at write time; remaining bytes up to the next
|
|
37
|
+
* `\n` are dropped. Cap state persists across chunks so split-mid-line
|
|
38
|
+
* writes still respect the budget. Default 0 = no per-line cap.
|
|
39
|
+
*/
|
|
40
|
+
maxColumns?: number;
|
|
41
|
+
onChunk?: (chunk: string) => void;
|
|
42
|
+
/** Minimum ms between onChunk calls. 0 = every chunk (default). */
|
|
43
|
+
chunkThrottleMs?: number;
|
|
44
|
+
}
|
|
45
|
+
export interface TruncationResult {
|
|
46
|
+
content: string;
|
|
47
|
+
truncated?: boolean;
|
|
48
|
+
truncatedBy?: "lines" | "bytes" | "middle";
|
|
49
|
+
totalLines: number;
|
|
50
|
+
totalBytes: number;
|
|
51
|
+
outputLines?: number;
|
|
52
|
+
outputBytes?: number;
|
|
53
|
+
/** Bytes elided from the middle (truncateMiddle only). */
|
|
54
|
+
elidedBytes?: number;
|
|
55
|
+
/** Lines elided from the middle (truncateMiddle only). */
|
|
56
|
+
elidedLines?: number;
|
|
57
|
+
lastLinePartial?: boolean;
|
|
58
|
+
firstLineExceedsLimit?: boolean;
|
|
59
|
+
}
|
|
60
|
+
export interface TruncationOptions {
|
|
61
|
+
/** Maximum number of lines (default: 3000) */
|
|
62
|
+
maxLines?: number;
|
|
63
|
+
/** Maximum number of bytes (default: 50KB) */
|
|
64
|
+
maxBytes?: number;
|
|
65
|
+
/**
|
|
66
|
+
* For `truncateMiddle`: bytes reserved for the head window. The tail
|
|
67
|
+
* window receives `maxBytes - maxHeadBytes`. Default `floor(maxBytes/2)`.
|
|
68
|
+
*/
|
|
69
|
+
maxHeadBytes?: number;
|
|
70
|
+
/**
|
|
71
|
+
* For `truncateMiddle`: lines reserved for the head window. The tail
|
|
72
|
+
* window receives `maxLines - maxHeadLines`. Default `floor(maxLines/2)`.
|
|
73
|
+
*/
|
|
74
|
+
maxHeadLines?: number;
|
|
75
|
+
}
|
|
76
|
+
/** Result from byte-level truncation helpers. */
|
|
77
|
+
export interface ByteTruncationResult {
|
|
78
|
+
text: string;
|
|
79
|
+
bytes: number;
|
|
80
|
+
}
|
|
81
|
+
export interface TailTruncationNoticeOptions {
|
|
82
|
+
fullOutputPath?: string;
|
|
83
|
+
originalContent?: string;
|
|
84
|
+
suffix?: string;
|
|
85
|
+
}
|
|
86
|
+
export interface HeadTruncationNoticeOptions {
|
|
87
|
+
startLine?: number;
|
|
88
|
+
totalFileLines?: number;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Truncate a string/buffer to fit within a byte limit, keeping the tail.
|
|
92
|
+
* Handles multi-byte UTF-8 boundaries correctly.
|
|
93
|
+
*/
|
|
94
|
+
export declare function truncateTailBytes(data: string | Uint8Array, maxBytes: number): ByteTruncationResult;
|
|
95
|
+
/**
|
|
96
|
+
* Truncate a string/buffer to fit within a byte limit, keeping the head.
|
|
97
|
+
* Handles multi-byte UTF-8 boundaries correctly.
|
|
98
|
+
*/
|
|
99
|
+
export declare function truncateHeadBytes(data: string | Uint8Array, maxBytes: number): ByteTruncationResult;
|
|
100
|
+
/**
|
|
101
|
+
* Truncate a single line to max characters, appending '…' if truncated.
|
|
102
|
+
*/
|
|
103
|
+
export declare function truncateLine(line: string, maxChars?: number): {
|
|
104
|
+
text: string;
|
|
105
|
+
wasTruncated: boolean;
|
|
106
|
+
};
|
|
107
|
+
/** Shared helper to build a no-truncation result. */
|
|
108
|
+
export declare function noTruncResult(content: string, totalLines?: number, totalBytes?: number): TruncationResult;
|
|
109
|
+
/**
|
|
110
|
+
* Truncate content from the head (keep first N lines/bytes).
|
|
111
|
+
* Never returns partial lines. If the first line exceeds the byte limit,
|
|
112
|
+
* returns empty content with firstLineExceedsLimit=true.
|
|
113
|
+
*
|
|
114
|
+
* This implementation avoids Buffer.from(content) for the whole input.
|
|
115
|
+
* It only computes UTF-8 byteLength for candidate lines that can still fit.
|
|
116
|
+
*/
|
|
117
|
+
export declare function truncateHead(content: string, options?: TruncationOptions): TruncationResult;
|
|
118
|
+
/**
|
|
119
|
+
* Truncate content from the tail (keep last N lines/bytes).
|
|
120
|
+
* May return a partial first line if the last line exceeds the byte limit.
|
|
121
|
+
*
|
|
122
|
+
* Also avoids Buffer.from(content) for the whole input.
|
|
123
|
+
*/
|
|
124
|
+
export declare function truncateTail(content: string, options?: TruncationOptions): TruncationResult;
|
|
125
|
+
/**
|
|
126
|
+
* Format the inline marker substituted for the elided middle region.
|
|
127
|
+
* Returned without surrounding newlines so callers can position it freely.
|
|
128
|
+
*/
|
|
129
|
+
export declare function formatMiddleElisionMarker(elidedLines: number, elidedBytes: number): string;
|
|
130
|
+
/**
|
|
131
|
+
* Truncate content keeping a head window and a tail window, eliding the middle.
|
|
132
|
+
*
|
|
133
|
+
* The combined output is `<head>\n<marker>\n<tail>` when truncation is needed.
|
|
134
|
+
* `maxHeadBytes` defaults to `floor(maxBytes / 2)`; the tail receives the
|
|
135
|
+
* remainder. Falls back to `truncateTail` / `truncateHead` if either side's
|
|
136
|
+
* budget is empty or the content already fits.
|
|
137
|
+
*/
|
|
138
|
+
export declare function truncateMiddle(content: string, options?: TruncationOptions): TruncationResult;
|
|
139
|
+
export declare class TailBuffer {
|
|
140
|
+
#private;
|
|
141
|
+
readonly maxBytes: number;
|
|
142
|
+
constructor(maxBytes: number);
|
|
143
|
+
append(text: string): void;
|
|
144
|
+
text(): string;
|
|
145
|
+
bytes(): number;
|
|
146
|
+
}
|
|
147
|
+
export declare class OutputSink {
|
|
148
|
+
#private;
|
|
149
|
+
constructor(options?: OutputSinkOptions);
|
|
150
|
+
/**
|
|
151
|
+
* Push a chunk of output. The buffer management and onChunk callback run
|
|
152
|
+
* synchronously. File sink writes are deferred and serialized internally.
|
|
153
|
+
*/
|
|
154
|
+
push(chunk: string): void;
|
|
155
|
+
createInput(): WritableStream<Uint8Array | string>;
|
|
156
|
+
/**
|
|
157
|
+
* Replace the in-memory buffer with the given text. Used when an upstream
|
|
158
|
+
* minimizer rewrites the captured output after the raw bytes have already
|
|
159
|
+
* been streamed.
|
|
160
|
+
*
|
|
161
|
+
* After this call the buffer is authoritative: streaming counters realign
|
|
162
|
+
* to the replacement, the retained head window is cleared, and head
|
|
163
|
+
* retention is disabled so subsequent `push()` calls append directly to the
|
|
164
|
+
* tail buffer instead of repopulating the (now meaningless) head window
|
|
165
|
+
* — which would otherwise reorder content and trip the middle-elision
|
|
166
|
+
* branch in `dump()` against stale totals.
|
|
167
|
+
*/
|
|
168
|
+
replace(text: string): void;
|
|
169
|
+
dump(notice?: string): Promise<OutputSummary>;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Format a truncation notice for tail-truncated output (bash, python, ssh).
|
|
173
|
+
* Returns empty string if not truncated.
|
|
174
|
+
*/
|
|
175
|
+
export declare function formatTailTruncationNotice(truncation: TruncationResult, options?: TailTruncationNoticeOptions): string;
|
|
176
|
+
/**
|
|
177
|
+
* Format a truncation notice for head-truncated output (read tool).
|
|
178
|
+
* Returns empty string if not truncated.
|
|
179
|
+
*/
|
|
180
|
+
export declare function formatHeadTruncationNotice(truncation: TruncationResult, options?: HeadTruncationNoticeOptions): string;
|
|
181
|
+
/**
|
|
182
|
+
* Build an onChunk handler that appends to a TailBuffer and emits a streaming
|
|
183
|
+
* update (when `onUpdate` is defined) with the buffer's current text.
|
|
184
|
+
*/
|
|
185
|
+
export declare function streamTailUpdates<TDetails, TInput = unknown>(tailBuffer: TailBuffer, onUpdate: AgentToolUpdateCallback<TDetails, TInput> | undefined): (chunk: string) => void;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { ToolChoice } from "@oh-my-pi/pi-ai";
|
|
2
|
+
export interface ResolveInfo {
|
|
3
|
+
/** The ToolChoice that was served to the LLM. */
|
|
4
|
+
choice: ToolChoice;
|
|
5
|
+
}
|
|
6
|
+
export interface RejectInfo {
|
|
7
|
+
/** The ToolChoice that was yielded but never (or unsuccessfully) served. */
|
|
8
|
+
choice: ToolChoice;
|
|
9
|
+
reason: "aborted" | "error" | "cleared" | "removed";
|
|
10
|
+
}
|
|
11
|
+
/** "requeue" replays the lost yield next turn; "drop" (or void/undefined) discards it. */
|
|
12
|
+
export type RejectOutcome = "requeue" | "drop";
|
|
13
|
+
export interface DirectiveCallbacks {
|
|
14
|
+
/** Fires when the yield was served (LLM call completed). The directive is consumed. */
|
|
15
|
+
onResolved?: (info: ResolveInfo) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Fires when the yield is being discarded. Return "requeue" to replay the
|
|
18
|
+
* same value at the head of the queue for the next turn. Default: "drop".
|
|
19
|
+
*/
|
|
20
|
+
onRejected?: (info: RejectInfo) => RejectOutcome | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Handler invoked when the model actually calls the forced tool. The queue
|
|
23
|
+
* directive carries the real execution logic; the tool's own execute() is
|
|
24
|
+
* bypassed. Returns the tool result directly.
|
|
25
|
+
*/
|
|
26
|
+
onInvoked?: (input: unknown) => Promise<unknown> | unknown;
|
|
27
|
+
}
|
|
28
|
+
export interface ToolChoiceDirective {
|
|
29
|
+
generator: Iterator<ToolChoice>;
|
|
30
|
+
/** Stable label for targeted removal and debugging (e.g. "user-force"). */
|
|
31
|
+
label: string;
|
|
32
|
+
callbacks: DirectiveCallbacks;
|
|
33
|
+
}
|
|
34
|
+
export interface PushOptions {
|
|
35
|
+
/** Prepend to head instead of appending to tail. Default: false. */
|
|
36
|
+
now?: boolean;
|
|
37
|
+
label?: string;
|
|
38
|
+
/** Lifecycle callbacks for this directive. */
|
|
39
|
+
onResolved?: DirectiveCallbacks["onResolved"];
|
|
40
|
+
onRejected?: DirectiveCallbacks["onRejected"];
|
|
41
|
+
onInvoked?: DirectiveCallbacks["onInvoked"];
|
|
42
|
+
}
|
|
43
|
+
export declare function onceGen(choice: ToolChoice): Generator<ToolChoice, void, unknown>;
|
|
44
|
+
export declare class ToolChoiceQueue {
|
|
45
|
+
#private;
|
|
46
|
+
pushOnce(choice: ToolChoice, options?: PushOptions): void;
|
|
47
|
+
pushSequence(choices: ToolChoice[], options?: PushOptions): void;
|
|
48
|
+
push(generator: Iterable<ToolChoice>, options?: PushOptions): void;
|
|
49
|
+
/**
|
|
50
|
+
* Advance the head directive and return its next yield. Records the value
|
|
51
|
+
* as in-flight until resolve() or reject() is called.
|
|
52
|
+
*/
|
|
53
|
+
nextToolChoice(): ToolChoice | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* The in-flight yield was served — the LLM call completed normally.
|
|
56
|
+
* Fires onResolved, then clears in-flight state. The directive's generator
|
|
57
|
+
* remains in the queue if it has more values to yield.
|
|
58
|
+
*/
|
|
59
|
+
resolve(): void;
|
|
60
|
+
/**
|
|
61
|
+
* The in-flight yield was not served, or the turn aborted/errored.
|
|
62
|
+
* Fires onRejected to let the caller decide: "requeue" replays the exact
|
|
63
|
+
* lost value at the head of the queue; anything else drops it.
|
|
64
|
+
*/
|
|
65
|
+
reject(reason: RejectInfo["reason"]): void;
|
|
66
|
+
/** True if there is an in-flight yield that hasn't been resolved or rejected. */
|
|
67
|
+
get hasInFlight(): boolean;
|
|
68
|
+
/** Peek the in-flight directive's onInvoked handler, if any. */
|
|
69
|
+
peekInFlightInvoker(): ((input: unknown) => Promise<unknown> | unknown) | undefined;
|
|
70
|
+
/** Remove all directives with the given label. Rejects in-flight if it matches. */
|
|
71
|
+
removeByLabel(label: string): void;
|
|
72
|
+
/** Empty the queue and reject any in-flight yield. */
|
|
73
|
+
clear(): void;
|
|
74
|
+
/** Return the label of the most recently resolved directive, then clear it. */
|
|
75
|
+
consumeLastServedLabel(): string | undefined;
|
|
76
|
+
/** For tests/debug: labels of currently queued directives in order. */
|
|
77
|
+
inspect(): readonly string[];
|
|
78
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AvailableCommand } from "@agentclientprotocol/sdk";
|
|
2
|
+
import type { AcpBuiltinCommandRuntime, AcpBuiltinSlashCommandResult } from "./types";
|
|
3
|
+
export type { AcpBuiltinCommandRuntime, AcpBuiltinSlashCommandResult } from "./types";
|
|
4
|
+
/**
|
|
5
|
+
* Commands advertised to ACP clients. Entries without a text-mode `handle`
|
|
6
|
+
* (e.g. `/quit`, `/login`, dashboards) are filtered out so the client doesn't
|
|
7
|
+
* see commands it cannot drive.
|
|
8
|
+
*/
|
|
9
|
+
export declare const ACP_BUILTIN_SLASH_COMMANDS: AvailableCommand[];
|
|
10
|
+
/**
|
|
11
|
+
* Dispatch a slash command in ACP/text mode. Returns:
|
|
12
|
+
* - `false` when no builtin matched (or matched a TUI-only entry); the caller
|
|
13
|
+
* should forward the input as a prompt.
|
|
14
|
+
* - `{ consumed: true }` when the command handled the input entirely.
|
|
15
|
+
* - `{ prompt }` when the command was handled but a residual prompt should be
|
|
16
|
+
* sent to the model.
|
|
17
|
+
*/
|
|
18
|
+
export declare function executeAcpBuiltinSlashCommand(text: string, runtime: AcpBuiltinCommandRuntime): Promise<AcpBuiltinSlashCommandResult>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { BuiltinSlashCommand, ParsedSlashCommand, SlashCommandResult, SlashCommandRuntime, SlashCommandSpec, TuiSlashCommandRuntime } from "./types";
|
|
2
|
+
export type { BuiltinSlashCommand, SubcommandDef } from "./types";
|
|
3
|
+
/** TUI-specific runtime accepted by `executeBuiltinSlashCommand`. */
|
|
4
|
+
export type BuiltinSlashCommandRuntime = TuiSlashCommandRuntime;
|
|
5
|
+
/** Builtin command metadata used for slash-command autocomplete and help text. */
|
|
6
|
+
export declare const BUILTIN_SLASH_COMMAND_DEFS: ReadonlyArray<BuiltinSlashCommand>;
|
|
7
|
+
/**
|
|
8
|
+
* Unified registry exposed for cross-mode tooling. Each spec carries at least
|
|
9
|
+
* one of `handle` / `handleTui`. The TUI dispatcher prefers `handleTui`; the
|
|
10
|
+
* ACP dispatcher requires `handle` and skips TUI-only entries.
|
|
11
|
+
*/
|
|
12
|
+
export declare const BUILTIN_SLASH_COMMANDS_INTERNAL: ReadonlyArray<SlashCommandSpec>;
|
|
13
|
+
/**
|
|
14
|
+
* Execute a builtin slash command in the interactive TUI.
|
|
15
|
+
*
|
|
16
|
+
* Returns `false` when no builtin matched. Returns `true` when a command
|
|
17
|
+
* consumed the input entirely. Returns a `string` when the command was handled
|
|
18
|
+
* but remaining text should be sent as a prompt.
|
|
19
|
+
*/
|
|
20
|
+
export declare function executeBuiltinSlashCommand(text: string, runtime: BuiltinSlashCommandRuntime): Promise<string | boolean>;
|
|
21
|
+
/** Look up a unified spec by name or alias. Used by the ACP dispatcher. */
|
|
22
|
+
export declare function lookupBuiltinSlashCommand(name: string): SlashCommandSpec | undefined;
|
|
23
|
+
export type { ParsedSlashCommand, SlashCommandResult, SlashCommandRuntime, SlashCommandSpec, TuiSlashCommandRuntime };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SlashCommandRuntime } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Build the `/context` ACP-mode text. Tries the rich breakdown first
|
|
4
|
+
* (categories + auto-compact buffer + free slack) and falls back to the
|
|
5
|
+
* minimal "window/used" lines when the breakdown helper throws.
|
|
6
|
+
*/
|
|
7
|
+
export declare function buildContextReportText(runtime: SlashCommandRuntime): string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Format a millisecond duration as a coarse-grained human label. */
|
|
2
|
+
export declare function formatDuration(ms: number): string;
|
|
3
|
+
/**
|
|
4
|
+
* Render an ASCII progress bar with a trailing percent label.
|
|
5
|
+
* `fraction` is clamped to `[0, 1]`. `undefined` renders a dotted placeholder.
|
|
6
|
+
*/
|
|
7
|
+
export declare function renderAsciiBar(fraction: number | undefined, width?: number): string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MarketplaceManager } from "../../extensibility/plugins/marketplace";
|
|
2
|
+
import type { SlashCommandRuntime } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* Build a `MarketplaceManager` wired up with the active project's registry
|
|
5
|
+
* paths and the shared plugin-root cache invalidator. Reused by both `/plugins`
|
|
6
|
+
* and `/marketplace` handlers so cache invalidation stays consistent.
|
|
7
|
+
*/
|
|
8
|
+
export declare function createMarketplaceManager(runtime: SlashCommandRuntime): Promise<MarketplaceManager>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ParsedSlashCommand, SlashCommandResult, SlashCommandRuntime } from "../types";
|
|
2
|
+
/** ACP/text-mode `/mcp` handler. Shared by both dispatchers via the spec. */
|
|
3
|
+
export declare function handleMcpAcp(command: ParsedSlashCommand, runtime: SlashCommandRuntime): Promise<SlashCommandResult>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ParsedSlashCommand, SlashCommandResult, SlashCommandRuntime } from "../types";
|
|
2
|
+
export interface ParsedSubcommand {
|
|
3
|
+
verb: string;
|
|
4
|
+
rest: string;
|
|
5
|
+
}
|
|
6
|
+
export type ConfigScope = "user" | "project";
|
|
7
|
+
export interface NamedScopeArgs {
|
|
8
|
+
name?: string;
|
|
9
|
+
scope: ConfigScope;
|
|
10
|
+
error?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Parse a slash-invocation string into `name`/`args`.
|
|
14
|
+
*
|
|
15
|
+
* The separator is the earliest whitespace or `:` character so that both
|
|
16
|
+
* `/foo bar` and `/foo:bar` map to `{ name: "foo", args: "bar" }`.
|
|
17
|
+
*/
|
|
18
|
+
export declare function parseSlashCommand(text: string): ParsedSlashCommand | null;
|
|
19
|
+
/** Mark a command as fully consumed in the ACP shape. */
|
|
20
|
+
export declare function commandConsumed(): {
|
|
21
|
+
consumed: true;
|
|
22
|
+
};
|
|
23
|
+
/** Emit a usage/error message and consume the command. */
|
|
24
|
+
export declare function usage(text: string, runtime: SlashCommandRuntime): Promise<SlashCommandResult>;
|
|
25
|
+
/** Split `<verb> <rest>` on the first whitespace; lowercases `verb`. */
|
|
26
|
+
export declare function parseSubcommand(input: string): ParsedSubcommand;
|
|
27
|
+
export declare function errorMessage(error: unknown): string;
|
|
28
|
+
/**
|
|
29
|
+
* Parse `<name?> [--scope project|user]`-style argument strings used by
|
|
30
|
+
* remove/rm-style subcommands. `name` is optional so callers can surface
|
|
31
|
+
* "name required" diagnostics with their own messaging.
|
|
32
|
+
*/
|
|
33
|
+
export declare function parseNamedScopeArgs(rest: string, invalidScopeMessage: string): NamedScopeArgs;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ParsedSlashCommand, SlashCommandResult, SlashCommandRuntime } from "../types";
|
|
2
|
+
/** ACP/text-mode `/ssh` handler. Shared by both dispatchers via the spec. */
|
|
3
|
+
export declare function handleSshAcp(command: ParsedSlashCommand, runtime: SlashCommandRuntime): Promise<SlashCommandResult>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ParsedSlashCommand, SlashCommandResult, SlashCommandRuntime } from "../types";
|
|
2
|
+
/** ACP/text-mode `/todo` handler. Shared by both dispatchers via the spec. */
|
|
3
|
+
export declare function handleTodoAcp(command: ParsedSlashCommand, runtime: SlashCommandRuntime): Promise<SlashCommandResult>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SlashCommandRuntime } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* Build the `/usage` ACP-mode text. Prefers provider-reported limits when the
|
|
4
|
+
* session exposes `fetchUsageReports`; otherwise falls back to the local
|
|
5
|
+
* session-manager tallies.
|
|
6
|
+
*/
|
|
7
|
+
export declare function buildUsageReportText(runtime: SlashCommandRuntime): Promise<string>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface MarketplaceInstallArgs {
|
|
2
|
+
force: boolean;
|
|
3
|
+
scope: "user" | "project";
|
|
4
|
+
installSpec: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Parse the argument string following `/marketplace install`.
|
|
8
|
+
*
|
|
9
|
+
* Returns either the parsed args or an `{ error }` object whose message is
|
|
10
|
+
* suitable for direct display to the user via `ctx.showStatus`.
|
|
11
|
+
*
|
|
12
|
+
* Accepted flags (any order):
|
|
13
|
+
* --force Force-reinstall even if already installed
|
|
14
|
+
* --scope user|project Installation scope (default: user)
|
|
15
|
+
*
|
|
16
|
+
* Exactly one positional argument is required: `name@marketplace`.
|
|
17
|
+
*/
|
|
18
|
+
export declare function parseMarketplaceInstallArgs(rest: string): MarketplaceInstallArgs | {
|
|
19
|
+
error: string;
|
|
20
|
+
};
|
|
21
|
+
export interface PluginScopeArgs {
|
|
22
|
+
pluginId: string;
|
|
23
|
+
scope?: "user" | "project";
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Parse `[--scope user|project] <name@marketplace>` for commands that accept a
|
|
27
|
+
* single plugin ID and an optional scope flag.
|
|
28
|
+
*
|
|
29
|
+
* Returns parsed args or `{ error }` ready for `ctx.showStatus`.
|
|
30
|
+
*/
|
|
31
|
+
export declare function parsePluginScopeArgs(rest: string, usageHint: string): PluginScopeArgs | {
|
|
32
|
+
error: string;
|
|
33
|
+
};
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import type { Settings } from "../config/settings";
|
|
2
|
+
import type { InteractiveModeContext } from "../modes/types";
|
|
3
|
+
import type { AgentSession } from "../session/agent-session";
|
|
4
|
+
import type { SessionManager } from "../session/session-manager";
|
|
5
|
+
/** Declarative subcommand definition for commands like /mcp. */
|
|
6
|
+
export interface SubcommandDef {
|
|
7
|
+
name: string;
|
|
8
|
+
description: string;
|
|
9
|
+
/** Usage hint shown as dim ghost text, e.g. "<name> [--scope project|user]". */
|
|
10
|
+
usage?: string;
|
|
11
|
+
}
|
|
12
|
+
/** Declarative builtin slash command metadata used by autocomplete and help UI. */
|
|
13
|
+
export interface BuiltinSlashCommand {
|
|
14
|
+
name: string;
|
|
15
|
+
description: string;
|
|
16
|
+
/** Subcommands for dropdown completion (e.g. /mcp add, /mcp list). */
|
|
17
|
+
subcommands?: SubcommandDef[];
|
|
18
|
+
/** Static inline hint when command takes a simple argument (no subcommands). */
|
|
19
|
+
inlineHint?: string;
|
|
20
|
+
}
|
|
21
|
+
/** Parsed slash-command text after stripping the leading "/". */
|
|
22
|
+
export interface ParsedSlashCommand {
|
|
23
|
+
name: string;
|
|
24
|
+
args: string;
|
|
25
|
+
text: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Result returned by a slash-command handler.
|
|
29
|
+
*
|
|
30
|
+
* - `void` / `undefined` — command was handled and consumed; no further input.
|
|
31
|
+
* - `{ consumed: true }` — explicit equivalent of the above (ACP shape).
|
|
32
|
+
* - `{ prompt: string }` — command handled, pass `prompt` through as the new
|
|
33
|
+
* user input (e.g. `/force <tool> <prompt>` keeps `<prompt>` as the message).
|
|
34
|
+
*/
|
|
35
|
+
export type SlashCommandResult = undefined | {
|
|
36
|
+
consumed: true;
|
|
37
|
+
} | {
|
|
38
|
+
prompt: string;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Runtime visible to slash-command handlers that run in text/ACP mode.
|
|
42
|
+
*
|
|
43
|
+
* Both the TUI dispatcher (when invoking a `handle` via its adapter) and the
|
|
44
|
+
* ACP dispatcher pass this shape. Implementations MUST NOT depend on TUI-only
|
|
45
|
+
* state (editor, selectors, status line).
|
|
46
|
+
*/
|
|
47
|
+
export interface SlashCommandRuntime {
|
|
48
|
+
session: AgentSession;
|
|
49
|
+
sessionManager: SessionManager;
|
|
50
|
+
settings: Settings;
|
|
51
|
+
cwd: string;
|
|
52
|
+
/** Emit text to the operator. TUI maps to `ctx.showStatus`, ACP to `sessionUpdate`. */
|
|
53
|
+
output: (text: string) => Promise<void> | void;
|
|
54
|
+
/** Re-advertise the available command list (no-op outside ACP). */
|
|
55
|
+
refreshCommands: () => Promise<void> | void;
|
|
56
|
+
/**
|
|
57
|
+
* Reload plugin state (caches, slash command registry, project registries)
|
|
58
|
+
* and re-emit available commands. Used by `/reload-plugins`, `/move`, and
|
|
59
|
+
* `/marketplace`/`/plugins` mutations so the session sees a consistent view
|
|
60
|
+
* after plugin or project-scope changes.
|
|
61
|
+
*/
|
|
62
|
+
reloadPlugins: () => Promise<void>;
|
|
63
|
+
notifyTitleChanged?: () => Promise<void> | void;
|
|
64
|
+
notifyConfigChanged?: () => Promise<void> | void;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Runtime visible to TUI-only handlers (`handleTui`). Carries the interactive
|
|
68
|
+
* mode context plus the background-detach hook. Intentionally narrower than
|
|
69
|
+
* `SlashCommandRuntime` so existing callers can keep building it from just
|
|
70
|
+
* `{ ctx, handleBackgroundCommand }`; when the TUI dispatcher needs to invoke
|
|
71
|
+
* a `handle` (no `handleTui` override), it synthesizes a `SlashCommandRuntime`
|
|
72
|
+
* from `ctx`.
|
|
73
|
+
*/
|
|
74
|
+
export interface TuiSlashCommandRuntime {
|
|
75
|
+
ctx: InteractiveModeContext;
|
|
76
|
+
handleBackgroundCommand: () => void;
|
|
77
|
+
}
|
|
78
|
+
/** Unified slash-command spec consumed by both TUI and ACP dispatchers. */
|
|
79
|
+
export interface SlashCommandSpec extends BuiltinSlashCommand {
|
|
80
|
+
aliases?: string[];
|
|
81
|
+
/** When false, the dispatcher refuses to handle invocations that include arguments. */
|
|
82
|
+
allowArgs?: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* ACP-specific override for `description`. Used by `ACP_BUILTIN_SLASH_COMMANDS`
|
|
85
|
+
* when building `available_commands_update` payloads so the client receives
|
|
86
|
+
* mode-appropriate copy (e.g. `/dump` advertises "Return full transcript as
|
|
87
|
+
* plain text" in ACP rather than the TUI's clipboard-centric copy).
|
|
88
|
+
*/
|
|
89
|
+
acpDescription?: string;
|
|
90
|
+
/**
|
|
91
|
+
* ACP-specific override for the advertised input hint. `subcommands`-only
|
|
92
|
+
* specs that historically advertised `<subcommand>` / `[on|off|status]` /
|
|
93
|
+
* `info|delete` to ACP clients carry the hint here so the unification does
|
|
94
|
+
* not silently drop it from `available_commands_update`.
|
|
95
|
+
*/
|
|
96
|
+
acpInputHint?: string;
|
|
97
|
+
/**
|
|
98
|
+
* Text/ACP-mode handler. The same body is invoked from the ACP dispatcher
|
|
99
|
+
* and, via the TUI adapter, when no `handleTui` override is provided.
|
|
100
|
+
*/
|
|
101
|
+
handle?: (command: ParsedSlashCommand, runtime: SlashCommandRuntime) => Promise<SlashCommandResult> | SlashCommandResult;
|
|
102
|
+
/**
|
|
103
|
+
* TUI-only handler that supersedes `handle` when both are present. Use for
|
|
104
|
+
* selectors, wizards, dashboards, and anything else that requires
|
|
105
|
+
* `InteractiveModeContext`.
|
|
106
|
+
*/
|
|
107
|
+
handleTui?: (command: ParsedSlashCommand, runtime: TuiSlashCommandRuntime) => Promise<SlashCommandResult> | SlashCommandResult;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* @deprecated Use `SlashCommandRuntime` directly. Retained as an alias so
|
|
111
|
+
* downstream code that imported the ACP-specific name keeps compiling.
|
|
112
|
+
*/
|
|
113
|
+
export type AcpBuiltinCommandRuntime = SlashCommandRuntime;
|
|
114
|
+
/** Result returned by `executeAcpBuiltinSlashCommand`. */
|
|
115
|
+
export type AcpBuiltinSlashCommandResult = false | {
|
|
116
|
+
consumed: true;
|
|
117
|
+
} | {
|
|
118
|
+
prompt: string;
|
|
119
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export interface SSHHostConfig {
|
|
2
|
+
host: string;
|
|
3
|
+
username?: string;
|
|
4
|
+
port?: number;
|
|
5
|
+
keyPath?: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
compat?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface SSHConfigFile {
|
|
10
|
+
hosts?: Record<string, SSHHostConfig>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Read an SSH config file.
|
|
14
|
+
* Returns empty config if file doesn't exist.
|
|
15
|
+
*/
|
|
16
|
+
export declare function readSSHConfigFile(filePath: string): Promise<SSHConfigFile>;
|
|
17
|
+
/**
|
|
18
|
+
* Write an SSH config file atomically.
|
|
19
|
+
* Creates parent directories if they don't exist.
|
|
20
|
+
*/
|
|
21
|
+
export declare function writeSSHConfigFile(filePath: string, config: SSHConfigFile): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Validate host name.
|
|
24
|
+
* @returns Error message if invalid, undefined if valid
|
|
25
|
+
*/
|
|
26
|
+
export declare function validateHostName(name: string): string | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Add an SSH host to a config file.
|
|
29
|
+
*
|
|
30
|
+
* @throws Error if host name already exists or validation fails
|
|
31
|
+
*/
|
|
32
|
+
export declare function addSSHHost(filePath: string, name: string, hostConfig: SSHHostConfig): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Update an existing SSH host in a config file.
|
|
35
|
+
* If the host doesn't exist, this will add it.
|
|
36
|
+
*
|
|
37
|
+
* @throws Error if validation fails
|
|
38
|
+
*/
|
|
39
|
+
export declare function updateSSHHost(filePath: string, name: string, hostConfig: SSHHostConfig): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Remove an SSH host from a config file.
|
|
42
|
+
*
|
|
43
|
+
* @throws Error if host doesn't exist
|
|
44
|
+
*/
|
|
45
|
+
export declare function removeSSHHost(filePath: string, name: string): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* List all host names in a config file.
|
|
48
|
+
*/
|
|
49
|
+
export declare function listSSHHosts(filePath: string): Promise<string[]>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface SSHConnectionTarget {
|
|
2
|
+
name: string;
|
|
3
|
+
host: string;
|
|
4
|
+
username?: string;
|
|
5
|
+
port?: number;
|
|
6
|
+
keyPath?: string;
|
|
7
|
+
compat?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export type SSHHostOs = "windows" | "linux" | "macos" | "unknown";
|
|
10
|
+
export type SSHHostShell = "cmd" | "powershell" | "bash" | "zsh" | "sh" | "unknown";
|
|
11
|
+
export type SshPlatform = typeof process.platform;
|
|
12
|
+
export declare function supportsSshControlMaster(platform?: SshPlatform): boolean;
|
|
13
|
+
export interface SSHHostInfo {
|
|
14
|
+
version: number;
|
|
15
|
+
os: SSHHostOs;
|
|
16
|
+
shell: SSHHostShell;
|
|
17
|
+
compatShell?: "bash" | "sh";
|
|
18
|
+
compatEnabled: boolean;
|
|
19
|
+
}
|
|
20
|
+
interface SSHArgsOptions {
|
|
21
|
+
platform?: SshPlatform;
|
|
22
|
+
}
|
|
23
|
+
export declare function getHostInfo(hostName: string): Promise<SSHHostInfo | undefined>;
|
|
24
|
+
export declare function getHostInfoForHost(host: SSHConnectionTarget): Promise<SSHHostInfo | undefined>;
|
|
25
|
+
export declare function ensureHostInfo(host: SSHConnectionTarget): Promise<SSHHostInfo>;
|
|
26
|
+
export declare function buildRemoteCommand(host: SSHConnectionTarget, command: string, options?: SSHArgsOptions): Promise<string[]>;
|
|
27
|
+
export declare function ensureConnection(host: SSHConnectionTarget): Promise<void>;
|
|
28
|
+
export declare function invalidateHostMetadata(hostNames: Iterable<string>): Promise<void>;
|
|
29
|
+
export declare function closeConnection(hostName: string): Promise<void>;
|
|
30
|
+
export declare function closeAllConnections(): Promise<void>;
|
|
31
|
+
export declare function getControlPathTemplate(): string;
|
|
32
|
+
export declare function getControlDir(): string;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type SSHConnectionTarget } from "./connection-manager";
|
|
2
|
+
export interface SSHExecutorOptions {
|
|
3
|
+
/** Timeout in milliseconds */
|
|
4
|
+
timeout?: number;
|
|
5
|
+
/** Callback for streaming output chunks (already sanitized) */
|
|
6
|
+
onChunk?: (chunk: string) => void;
|
|
7
|
+
/** AbortSignal for cancellation */
|
|
8
|
+
signal?: AbortSignal;
|
|
9
|
+
/** Remote path to mount when sshfs is available */
|
|
10
|
+
remotePath?: string;
|
|
11
|
+
/** Wrap commands in a POSIX shell for compat mode */
|
|
12
|
+
compatEnabled?: boolean;
|
|
13
|
+
/** Artifact path/id for full output storage */
|
|
14
|
+
artifactPath?: string;
|
|
15
|
+
artifactId?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface SSHResult {
|
|
18
|
+
/** Combined stdout + stderr output (sanitized, possibly truncated) */
|
|
19
|
+
output: string;
|
|
20
|
+
/** Process exit code (undefined if killed/cancelled) */
|
|
21
|
+
exitCode: number | undefined;
|
|
22
|
+
/** Whether the command was cancelled via signal */
|
|
23
|
+
cancelled: boolean;
|
|
24
|
+
/** Whether the output was truncated */
|
|
25
|
+
truncated: boolean;
|
|
26
|
+
/** Total number of lines in the output stream */
|
|
27
|
+
totalLines: number;
|
|
28
|
+
/** Total number of bytes in the output stream */
|
|
29
|
+
totalBytes: number;
|
|
30
|
+
/** Number of lines included in the output text */
|
|
31
|
+
outputLines: number;
|
|
32
|
+
/** Number of bytes included in the output text */
|
|
33
|
+
outputBytes: number;
|
|
34
|
+
/** Artifact ID if full output was saved to artifact storage */
|
|
35
|
+
artifactId?: string;
|
|
36
|
+
}
|
|
37
|
+
export declare function executeSSH(host: SSHConnectionTarget, command: string, options?: SSHExecutorOptions): Promise<SSHResult>;
|