@oh-my-pi/pi-coding-agent 15.1.1 → 15.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +54 -0
- package/dist/types/async/index.d.ts +2 -0
- package/dist/types/async/job-manager.d.ts +87 -0
- package/dist/types/async/support.d.ts +2 -0
- package/dist/types/autoresearch/dashboard.d.ts +4 -0
- package/dist/types/autoresearch/git.d.ts +36 -0
- package/dist/types/autoresearch/helpers.d.ts +24 -0
- package/dist/types/autoresearch/index.d.ts +2 -0
- package/dist/types/autoresearch/state.d.ts +17 -0
- package/dist/types/autoresearch/storage.d.ts +142 -0
- package/dist/types/autoresearch/tools/init-experiment.d.ts +31 -0
- package/dist/types/autoresearch/tools/log-experiment.d.ts +23 -0
- package/dist/types/autoresearch/tools/run-experiment.d.ts +8 -0
- package/dist/types/autoresearch/tools/update-notes.d.ts +12 -0
- package/dist/types/autoresearch/types.d.ts +154 -0
- package/dist/types/capability/context-file.d.ts +17 -0
- package/dist/types/capability/extension-module.d.ts +15 -0
- package/dist/types/capability/extension.d.ts +28 -0
- package/dist/types/capability/fs.d.ts +20 -0
- package/dist/types/capability/hook.d.ts +19 -0
- package/dist/types/capability/index.d.ts +80 -0
- package/dist/types/capability/instruction.d.ts +17 -0
- package/dist/types/capability/mcp.d.ts +45 -0
- package/dist/types/capability/prompt.d.ts +15 -0
- package/dist/types/capability/rule.d.ts +61 -0
- package/dist/types/capability/settings.d.ts +15 -0
- package/dist/types/capability/skill.d.ts +36 -0
- package/dist/types/capability/slash-command.d.ts +17 -0
- package/dist/types/capability/ssh.d.ts +23 -0
- package/dist/types/capability/system-prompt.d.ts +15 -0
- package/dist/types/capability/tool.d.ts +19 -0
- package/dist/types/capability/types.d.ts +154 -0
- package/dist/types/cli/agents-cli.d.ts +12 -0
- package/dist/types/cli/args.d.ts +52 -0
- package/dist/types/cli/auth-broker-cli.d.ts +25 -0
- package/dist/types/cli/auth-gateway-cli.d.ts +18 -0
- package/dist/types/cli/classify-install-target.d.ts +18 -0
- package/dist/types/cli/commands/init-xdg.d.ts +1 -0
- package/dist/types/cli/config-cli.d.ts +22 -0
- package/dist/types/cli/file-processor.d.ts +11 -0
- package/dist/types/cli/grep-cli.d.ts +17 -0
- package/dist/types/cli/grievances-cli.d.ts +37 -0
- package/dist/types/cli/initial-message.d.ts +17 -0
- package/dist/types/cli/list-models.d.ts +30 -0
- package/dist/types/cli/plugin-cli.d.ts +32 -0
- package/dist/types/cli/read-cli.d.ts +4 -0
- package/dist/types/cli/session-picker.d.ts +3 -0
- package/dist/types/cli/setup-cli.d.ts +24 -0
- package/dist/types/cli/shell-cli.d.ts +8 -0
- package/dist/types/cli/ssh-cli.d.ts +21 -0
- package/dist/types/cli/stats-cli.d.ts +17 -0
- package/dist/types/cli/update-cli.d.ts +20 -0
- package/dist/types/cli/web-search-cli.d.ts +20 -0
- package/dist/types/cli.d.ts +3 -0
- package/dist/types/commands/acp.d.ts +12 -0
- package/dist/types/commands/agents.d.ts +34 -0
- package/dist/types/commands/auth-broker.d.ts +54 -0
- package/dist/types/commands/auth-gateway.d.ts +32 -0
- package/dist/types/commands/commit.d.ts +27 -0
- package/dist/types/commands/config.d.ts +30 -0
- package/dist/types/commands/grep.d.ts +42 -0
- package/dist/types/commands/grievances.d.ts +40 -0
- package/dist/types/commands/launch.d.ts +118 -0
- package/dist/types/commands/plugin.d.ts +52 -0
- package/dist/types/commands/read.d.ts +15 -0
- package/dist/types/commands/setup.d.ts +25 -0
- package/dist/types/commands/shell.d.ts +21 -0
- package/dist/types/commands/ssh.d.ts +48 -0
- package/dist/types/commands/stats.d.ts +25 -0
- package/dist/types/commands/update.d.ts +20 -0
- package/dist/types/commands/web-search.d.ts +33 -0
- package/dist/types/commit/agentic/agent.d.ts +31 -0
- package/dist/types/commit/agentic/fallback.d.ts +5 -0
- package/dist/types/commit/agentic/index.d.ts +2 -0
- package/dist/types/commit/agentic/state.d.ts +58 -0
- package/dist/types/commit/agentic/tools/analyze-file.d.ts +19 -0
- package/dist/types/commit/agentic/tools/git-file-diff.d.ts +10 -0
- package/dist/types/commit/agentic/tools/git-hunk.d.ts +9 -0
- package/dist/types/commit/agentic/tools/git-overview.d.ts +9 -0
- package/dist/types/commit/agentic/tools/index.d.ts +16 -0
- package/dist/types/commit/agentic/tools/propose-changelog.d.ts +28 -0
- package/dist/types/commit/agentic/tools/propose-commit.d.ts +36 -0
- package/dist/types/commit/agentic/tools/recent-commits.d.ts +7 -0
- package/dist/types/commit/agentic/tools/schemas.d.ts +27 -0
- package/dist/types/commit/agentic/tools/split-commit.d.ts +53 -0
- package/dist/types/commit/agentic/topo-sort.d.ts +4 -0
- package/dist/types/commit/agentic/trivial.d.ts +7 -0
- package/dist/types/commit/agentic/validation.d.ts +20 -0
- package/dist/types/commit/analysis/conventional.d.ts +22 -0
- package/dist/types/commit/analysis/index.d.ts +4 -0
- package/dist/types/commit/analysis/scope.d.ts +6 -0
- package/dist/types/commit/analysis/summary.d.ts +19 -0
- package/dist/types/commit/analysis/validation.d.ts +8 -0
- package/dist/types/commit/changelog/detect.d.ts +2 -0
- package/dist/types/commit/changelog/generate.d.ts +30 -0
- package/dist/types/commit/changelog/index.d.ts +30 -0
- package/dist/types/commit/changelog/parse.d.ts +2 -0
- package/dist/types/commit/cli.d.ts +3 -0
- package/dist/types/commit/git/diff.d.ts +5 -0
- package/dist/types/commit/index.d.ts +4 -0
- package/dist/types/commit/map-reduce/index.d.ts +28 -0
- package/dist/types/commit/map-reduce/map-phase.d.ts +17 -0
- package/dist/types/commit/map-reduce/reduce-phase.d.ts +13 -0
- package/dist/types/commit/map-reduce/utils.d.ts +2 -0
- package/dist/types/commit/message.d.ts +2 -0
- package/dist/types/commit/model-selection.d.ts +15 -0
- package/dist/types/commit/pipeline.d.ts +5 -0
- package/dist/types/commit/shared-llm.d.ts +54 -0
- package/dist/types/commit/types.d.ts +78 -0
- package/dist/types/commit/utils/exclusions.d.ts +4 -0
- package/dist/types/commit/utils.d.ts +20 -0
- package/dist/types/config/config-file.d.ts +58 -0
- package/dist/types/config/file-lock.d.ts +6 -0
- package/dist/types/config/keybindings.d.ts +334 -0
- package/dist/types/config/model-equivalence.d.ts +24 -0
- package/dist/types/config/model-registry.d.ts +363 -0
- package/dist/types/config/model-resolver.d.ts +230 -0
- package/dist/types/config/models-config-schema.d.ts +503 -0
- package/dist/types/config/prompt-templates.d.ts +32 -0
- package/dist/types/config/resolve-config-value.d.ts +17 -0
- package/dist/types/config/settings-schema.d.ts +3361 -0
- package/dist/types/config/settings.d.ts +126 -0
- package/dist/types/config.d.ts +66 -0
- package/dist/types/cursor.d.ts +22 -0
- package/dist/types/dap/client.d.ts +38 -0
- package/dist/types/dap/config.d.ts +6 -0
- package/dist/types/dap/index.d.ts +4 -0
- package/dist/types/dap/session.d.ts +108 -0
- package/dist/types/dap/types.d.ts +524 -0
- package/dist/types/debug/index.d.ts +15 -0
- package/dist/types/debug/log-formatting.d.ts +4 -0
- package/dist/types/debug/log-viewer.d.ts +68 -0
- package/dist/types/debug/profiler.d.ts +24 -0
- package/dist/types/debug/raw-sse-buffer.d.ts +44 -0
- package/dist/types/debug/raw-sse.d.ts +16 -0
- package/dist/types/debug/report-bundle.d.ts +55 -0
- package/dist/types/debug/system-info.d.ts +26 -0
- package/dist/types/discovery/agents-md.d.ts +1 -0
- package/dist/types/discovery/agents.d.ts +12 -0
- package/dist/types/discovery/builtin.d.ts +1 -0
- package/dist/types/discovery/claude-plugins.d.ts +1 -0
- package/dist/types/discovery/claude.d.ts +1 -0
- package/dist/types/discovery/cline.d.ts +1 -0
- package/dist/types/discovery/codex.d.ts +1 -0
- package/dist/types/discovery/cursor.d.ts +16 -0
- package/dist/types/discovery/gemini.d.ts +1 -0
- package/dist/types/discovery/github.d.ts +1 -0
- package/dist/types/discovery/helpers.d.ts +267 -0
- package/dist/types/discovery/index.d.ts +51 -0
- package/dist/types/discovery/mcp-json.d.ts +1 -0
- package/dist/types/discovery/opencode.d.ts +1 -0
- package/dist/types/discovery/plugin-dir-roots.d.ts +15 -0
- package/dist/types/discovery/ssh.d.ts +1 -0
- package/dist/types/discovery/substitute-plugin-root.d.ts +5 -0
- package/dist/types/discovery/vscode.d.ts +1 -0
- package/dist/types/discovery/windsurf.d.ts +13 -0
- package/dist/types/edit/apply-patch/index.d.ts +35 -0
- package/dist/types/edit/apply-patch/parser.d.ts +34 -0
- package/dist/types/edit/diff.d.ts +59 -0
- package/dist/types/edit/file-read-cache.d.ts +25 -0
- package/dist/types/edit/index.d.ts +58 -0
- package/dist/types/edit/modes/apply-patch.d.ts +24 -0
- package/dist/types/edit/modes/patch.d.ts +99 -0
- package/dist/types/edit/modes/replace.d.ts +142 -0
- package/dist/types/edit/normalize.d.ts +43 -0
- package/dist/types/edit/notebook.d.ts +23 -0
- package/dist/types/edit/read-file.d.ts +2 -0
- package/dist/types/edit/renderer.d.ts +110 -0
- package/dist/types/edit/streaming.d.ts +59 -0
- package/dist/types/eval/backend.d.ts +40 -0
- package/dist/types/eval/index.d.ts +4 -0
- package/dist/types/eval/js/context-manager.d.ts +24 -0
- package/dist/types/eval/js/executor.d.ts +28 -0
- package/dist/types/eval/js/index.d.ts +10 -0
- package/dist/types/eval/js/shared/helpers.d.ts +38 -0
- package/dist/types/eval/js/shared/indirect-eval.d.ts +14 -0
- package/dist/types/eval/js/shared/prelude.d.ts +1 -0
- package/dist/types/eval/js/shared/rewrite-imports.d.ts +6 -0
- package/dist/types/eval/js/shared/runtime.d.ts +47 -0
- package/dist/types/eval/js/shared/types.d.ts +24 -0
- package/dist/types/eval/js/tool-bridge.d.ts +18 -0
- package/dist/types/eval/js/worker-core.d.ts +5 -0
- package/dist/types/eval/js/worker-entry.d.ts +1 -0
- package/dist/types/eval/js/worker-protocol.d.ts +77 -0
- package/dist/types/eval/py/display.d.ts +25 -0
- package/dist/types/eval/py/executor.d.ts +83 -0
- package/dist/types/eval/py/index.d.ts +10 -0
- package/dist/types/eval/py/kernel.d.ts +55 -0
- package/dist/types/eval/py/prelude.d.ts +1 -0
- package/dist/types/eval/py/runtime.d.ts +21 -0
- package/dist/types/eval/py/tool-bridge.d.ts +20 -0
- package/dist/types/eval/types.d.ts +52 -0
- package/dist/types/exa/factory.d.ts +13 -0
- package/dist/types/exa/index.d.ts +20 -0
- package/dist/types/exa/mcp-client.d.ts +45 -0
- package/dist/types/exa/render.d.ts +19 -0
- package/dist/types/exa/researcher.d.ts +9 -0
- package/dist/types/exa/search.d.ts +9 -0
- package/dist/types/exa/types.d.ts +155 -0
- package/dist/types/exa/websets.d.ts +9 -0
- package/dist/types/exec/bash-executor.d.ts +41 -0
- package/dist/types/exec/exec.d.ts +25 -0
- package/dist/types/exec/idle-timeout-watchdog.d.ts +18 -0
- package/dist/types/exec/non-interactive-env.d.ts +1 -0
- package/dist/types/export/custom-share.d.ts +20 -0
- package/dist/types/export/html/index.d.ts +10 -0
- package/dist/types/export/html/template.generated.d.ts +1 -0
- package/dist/types/export/html/template.macro.d.ts +5 -0
- package/dist/types/export/ttsr.d.ts +44 -0
- package/dist/types/extensibility/custom-commands/bundled/ci-green/index.d.ts +9 -0
- package/dist/types/extensibility/custom-commands/bundled/review/index.d.ts +10 -0
- package/dist/types/extensibility/custom-commands/index.d.ts +2 -0
- package/dist/types/extensibility/custom-commands/loader.d.ts +29 -0
- package/dist/types/extensibility/custom-commands/types.d.ts +106 -0
- package/dist/types/extensibility/custom-tools/index.d.ts +6 -0
- package/dist/types/extensibility/custom-tools/loader.d.ts +69 -0
- package/dist/types/extensibility/custom-tools/types.d.ts +226 -0
- package/dist/types/extensibility/custom-tools/wrapper.d.ts +23 -0
- package/dist/types/extensibility/extensions/compact-handler.d.ts +26 -0
- package/dist/types/extensibility/extensions/get-commands-handler.d.ts +29 -0
- package/dist/types/extensibility/extensions/index.d.ts +8 -0
- package/dist/types/extensibility/extensions/loader.d.ts +43 -0
- package/dist/types/extensibility/extensions/runner.d.ts +134 -0
- package/dist/types/extensibility/extensions/types.d.ts +864 -0
- package/dist/types/extensibility/extensions/wrapper.d.ts +54 -0
- package/dist/types/extensibility/hooks/index.d.ts +5 -0
- package/dist/types/extensibility/hooks/loader.d.ts +89 -0
- package/dist/types/extensibility/hooks/runner.d.ts +126 -0
- package/dist/types/extensibility/hooks/tool-wrapper.d.ts +25 -0
- package/dist/types/extensibility/hooks/types.d.ts +431 -0
- package/dist/types/extensibility/plugins/doctor.d.ts +3 -0
- package/dist/types/extensibility/plugins/git-url.d.ts +34 -0
- package/dist/types/extensibility/plugins/index.d.ts +7 -0
- package/dist/types/extensibility/plugins/installer.d.ts +5 -0
- package/dist/types/extensibility/plugins/legacy-pi-compat.d.ts +2 -0
- package/dist/types/extensibility/plugins/loader.d.ts +31 -0
- package/dist/types/extensibility/plugins/manager.d.ts +65 -0
- package/dist/types/extensibility/plugins/marketplace/cache.d.ts +41 -0
- package/dist/types/extensibility/plugins/marketplace/fetcher.d.ts +48 -0
- package/dist/types/extensibility/plugins/marketplace/index.d.ts +6 -0
- package/dist/types/extensibility/plugins/marketplace/manager.d.ts +57 -0
- package/dist/types/extensibility/plugins/marketplace/registry.d.ts +34 -0
- package/dist/types/extensibility/plugins/marketplace/source-resolver.d.ts +28 -0
- package/dist/types/extensibility/plugins/marketplace/types.d.ts +130 -0
- package/dist/types/extensibility/plugins/parser.d.ts +52 -0
- package/dist/types/extensibility/plugins/types.d.ts +149 -0
- package/dist/types/extensibility/shared-events.d.ts +279 -0
- package/dist/types/extensibility/skills.d.ts +57 -0
- package/dist/types/extensibility/slash-commands.d.ts +48 -0
- package/dist/types/extensibility/tool-proxy.d.ts +4 -0
- package/dist/types/extensibility/typebox.d.ts +155 -0
- package/dist/types/extensibility/utils.d.ts +12 -0
- package/dist/types/goals/index.d.ts +3 -0
- package/dist/types/goals/runtime.d.ts +63 -0
- package/dist/types/goals/state.d.ts +35 -0
- package/dist/types/goals/tools/goal-tool.d.ts +62 -0
- package/dist/types/hashline/anchors.d.ts +20 -0
- package/dist/types/hashline/apply.d.ts +14 -0
- package/dist/types/hashline/constants.d.ts +21 -0
- package/dist/types/hashline/diff-preview.d.ts +2 -0
- package/dist/types/hashline/diff.d.ts +17 -0
- package/dist/types/hashline/execute.d.ts +4 -0
- package/dist/types/hashline/hash.d.ts +149 -0
- package/dist/types/hashline/index.d.ts +13 -0
- package/dist/types/hashline/input.d.ts +11 -0
- package/dist/types/hashline/parser.d.ts +7 -0
- package/dist/types/hashline/prefixes.d.ts +7 -0
- package/dist/types/hashline/recovery.d.ts +22 -0
- package/dist/types/hashline/stream.d.ts +2 -0
- package/dist/types/hashline/types.d.ts +77 -0
- package/dist/types/hindsight/backend.d.ts +13 -0
- package/dist/types/hindsight/bank.d.ts +54 -0
- package/dist/types/hindsight/client.d.ts +224 -0
- package/dist/types/hindsight/config.d.ts +51 -0
- package/dist/types/hindsight/content.d.ts +70 -0
- package/dist/types/hindsight/index.d.ts +8 -0
- package/dist/types/hindsight/mental-models.d.ts +125 -0
- package/dist/types/hindsight/state.d.ts +99 -0
- package/dist/types/hindsight/transcript.d.ts +28 -0
- package/dist/types/index.d.ts +33 -0
- package/dist/types/internal-urls/agent-protocol.d.ts +12 -0
- package/dist/types/internal-urls/artifact-protocol.d.ts +6 -0
- package/dist/types/internal-urls/docs-index.generated.d.ts +2 -0
- package/dist/types/internal-urls/index.d.ts +22 -0
- package/dist/types/internal-urls/issue-pr-protocol.d.ts +17 -0
- package/dist/types/internal-urls/json-query.d.ts +30 -0
- package/dist/types/internal-urls/local-protocol.d.ts +39 -0
- package/dist/types/internal-urls/mcp-protocol.d.ts +12 -0
- package/dist/types/internal-urls/memory-protocol.d.ts +17 -0
- package/dist/types/internal-urls/omp-protocol.d.ts +12 -0
- package/dist/types/internal-urls/parse.d.ts +19 -0
- package/dist/types/internal-urls/registry-helpers.d.ts +10 -0
- package/dist/types/internal-urls/router.d.ts +14 -0
- package/dist/types/internal-urls/rule-protocol.d.ts +6 -0
- package/dist/types/internal-urls/skill-protocol.d.ts +13 -0
- package/dist/types/internal-urls/types.d.ts +105 -0
- package/dist/types/lsp/client.d.ts +65 -0
- package/dist/types/lsp/clients/biome-client.d.ts +16 -0
- package/dist/types/lsp/clients/index.d.ts +19 -0
- package/dist/types/lsp/clients/lsp-linter-client.d.ts +16 -0
- package/dist/types/lsp/clients/swiftlint-client.d.ts +20 -0
- package/dist/types/lsp/config.d.ts +65 -0
- package/dist/types/lsp/edits.d.ts +16 -0
- package/dist/types/lsp/index.d.ts +130 -0
- package/dist/types/lsp/lspmux.d.ts +58 -0
- package/dist/types/lsp/render.d.ts +32 -0
- package/dist/types/lsp/startup-events.d.ts +11 -0
- package/dist/types/lsp/types.d.ts +302 -0
- package/dist/types/lsp/utils.d.ts +108 -0
- package/dist/types/main.d.ts +17 -0
- package/dist/types/mcp/client.d.ts +74 -0
- package/dist/types/mcp/config-writer.d.ts +53 -0
- package/dist/types/mcp/config.d.ts +75 -0
- package/dist/types/mcp/discoverable-tool-metadata.d.ts +7 -0
- package/dist/types/mcp/index.d.ts +18 -0
- package/dist/types/mcp/json-rpc.d.ts +22 -0
- package/dist/types/mcp/loader.d.ts +43 -0
- package/dist/types/mcp/manager.d.ts +193 -0
- package/dist/types/mcp/oauth-discovery.d.ts +40 -0
- package/dist/types/mcp/oauth-flow.d.ts +59 -0
- package/dist/types/mcp/render.d.ts +25 -0
- package/dist/types/mcp/smithery-auth.d.ts +16 -0
- package/dist/types/mcp/smithery-connect.d.ts +38 -0
- package/dist/types/mcp/smithery-registry.d.ts +51 -0
- package/dist/types/mcp/tool-bridge.d.ts +86 -0
- package/dist/types/mcp/tool-cache.d.ts +8 -0
- package/dist/types/mcp/transports/http.d.ts +36 -0
- package/dist/types/mcp/transports/index.d.ts +5 -0
- package/dist/types/mcp/transports/stdio.d.ts +32 -0
- package/dist/types/mcp/types.d.ts +333 -0
- package/dist/types/memories/index.d.ts +28 -0
- package/dist/types/memories/storage.d.ts +110 -0
- package/dist/types/memory-backend/index.d.ts +4 -0
- package/dist/types/memory-backend/local-backend.d.ts +9 -0
- package/dist/types/memory-backend/off-backend.d.ts +7 -0
- package/dist/types/memory-backend/resolve.d.ts +15 -0
- package/dist/types/memory-backend/types.d.ts +61 -0
- package/dist/types/modes/acp/acp-agent.d.ts +61 -0
- package/dist/types/modes/acp/acp-client-bridge.d.ts +9 -0
- package/dist/types/modes/acp/acp-event-mapper.d.ts +20 -0
- package/dist/types/modes/acp/acp-mode.d.ts +3 -0
- package/dist/types/modes/acp/index.d.ts +2 -0
- package/dist/types/modes/acp/terminal-auth.d.ts +6 -0
- package/dist/types/modes/components/agent-dashboard.d.ts +21 -0
- package/dist/types/modes/components/assistant-message.d.ts +16 -0
- package/dist/types/modes/components/bash-execution.d.ts +29 -0
- package/dist/types/modes/components/bordered-loader.d.ts +11 -0
- package/dist/types/modes/components/branch-summary-message.d.ts +13 -0
- package/dist/types/modes/components/btw-panel.d.ts +16 -0
- package/dist/types/modes/components/compaction-summary-message.d.ts +13 -0
- package/dist/types/modes/components/countdown-timer.d.ts +14 -0
- package/dist/types/modes/components/custom-editor.d.ts +47 -0
- package/dist/types/modes/components/custom-message.d.ts +15 -0
- package/dist/types/modes/components/diff.d.ts +11 -0
- package/dist/types/modes/components/dynamic-border.d.ts +14 -0
- package/dist/types/modes/components/eval-execution.d.ts +23 -0
- package/dist/types/modes/components/execution-shared.d.ts +46 -0
- package/dist/types/modes/components/extensions/extension-dashboard.d.ts +26 -0
- package/dist/types/modes/components/extensions/extension-list.d.ts +39 -0
- package/dist/types/modes/components/extensions/index.d.ts +8 -0
- package/dist/types/modes/components/extensions/inspector-panel.d.ts +8 -0
- package/dist/types/modes/components/extensions/state-manager.d.ts +50 -0
- package/dist/types/modes/components/extensions/types.d.ts +151 -0
- package/dist/types/modes/components/footer.d.ts +30 -0
- package/dist/types/modes/components/history-search.d.ts +7 -0
- package/dist/types/modes/components/hook-editor.d.ts +18 -0
- package/dist/types/modes/components/hook-input.d.ts +15 -0
- package/dist/types/modes/components/hook-message.d.ts +15 -0
- package/dist/types/modes/components/hook-selector.d.ts +23 -0
- package/dist/types/modes/components/index.d.ts +35 -0
- package/dist/types/modes/components/keybinding-hints.d.ts +40 -0
- package/dist/types/modes/components/login-dialog.d.ts +32 -0
- package/dist/types/modes/components/mcp-add-wizard.d.ts +25 -0
- package/dist/types/modes/components/message-frame.d.ts +42 -0
- package/dist/types/modes/components/model-selector.d.ts +26 -0
- package/dist/types/modes/components/oauth-selector.d.ts +14 -0
- package/dist/types/modes/components/plugin-selector.d.ts +26 -0
- package/dist/types/modes/components/plugin-settings.d.ts +66 -0
- package/dist/types/modes/components/queue-mode-selector.d.ts +9 -0
- package/dist/types/modes/components/read-tool-group.d.ts +30 -0
- package/dist/types/modes/components/session-observer-overlay.d.ts +11 -0
- package/dist/types/modes/components/session-selector.d.ts +30 -0
- package/dist/types/modes/components/settings-defs.d.ts +50 -0
- package/dist/types/modes/components/settings-selector.d.ts +54 -0
- package/dist/types/modes/components/show-images-selector.d.ts +9 -0
- package/dist/types/modes/components/skill-message.d.ts +9 -0
- package/dist/types/modes/components/status-line/context-thresholds.d.ts +4 -0
- package/dist/types/modes/components/status-line/git-utils.d.ts +22 -0
- package/dist/types/modes/components/status-line/index.d.ts +4 -0
- package/dist/types/modes/components/status-line/presets.d.ts +3 -0
- package/dist/types/modes/components/status-line/segments.d.ts +5 -0
- package/dist/types/modes/components/status-line/separators.d.ts +3 -0
- package/dist/types/modes/components/status-line/token-rate.d.ts +10 -0
- package/dist/types/modes/components/status-line/types.d.ts +70 -0
- package/dist/types/modes/components/status-line-segment-editor.d.ts +24 -0
- package/dist/types/modes/components/status-line.d.ts +61 -0
- package/dist/types/modes/components/theme-selector.d.ts +10 -0
- package/dist/types/modes/components/thinking-selector.d.ts +10 -0
- package/dist/types/modes/components/todo-reminder.d.ts +13 -0
- package/dist/types/modes/components/tool-execution.d.ts +53 -0
- package/dist/types/modes/components/tree-selector.d.ts +31 -0
- package/dist/types/modes/components/ttsr-notification.d.ts +13 -0
- package/dist/types/modes/components/user-message-selector.d.ts +28 -0
- package/dist/types/modes/components/user-message.d.ts +8 -0
- package/dist/types/modes/components/visual-truncate.d.ts +19 -0
- package/dist/types/modes/components/welcome.d.ts +33 -0
- package/dist/types/modes/controllers/btw-controller.d.ts +10 -0
- package/dist/types/modes/controllers/command-controller-shared.d.ts +47 -0
- package/dist/types/modes/controllers/command-controller.d.ts +36 -0
- package/dist/types/modes/controllers/event-controller.d.ts +12 -0
- package/dist/types/modes/controllers/extension-ui-controller.d.ts +80 -0
- package/dist/types/modes/controllers/input-controller.d.ts +35 -0
- package/dist/types/modes/controllers/mcp-command-controller.d.ts +10 -0
- package/dist/types/modes/controllers/selector-controller.d.ts +45 -0
- package/dist/types/modes/controllers/ssh-command-controller.d.ts +10 -0
- package/dist/types/modes/controllers/todo-command-controller.d.ts +7 -0
- package/dist/types/modes/emoji-autocomplete.d.ts +16 -0
- package/dist/types/modes/index.d.ts +9 -0
- package/dist/types/modes/interactive-mode.d.ts +267 -0
- package/dist/types/modes/loop-limit.d.ts +22 -0
- package/dist/types/modes/oauth-manual-input.d.ts +8 -0
- package/dist/types/modes/print-mode.d.ts +27 -0
- package/dist/types/modes/prompt-action-autocomplete.d.ts +46 -0
- package/dist/types/modes/rpc/host-tools.d.ts +16 -0
- package/dist/types/modes/rpc/host-uris.d.ts +38 -0
- package/dist/types/modes/rpc/rpc-client.d.ts +249 -0
- package/dist/types/modes/rpc/rpc-mode.d.ts +17 -0
- package/dist/types/modes/rpc/rpc-types.d.ts +586 -0
- package/dist/types/modes/runtime-init.d.ts +21 -0
- package/dist/types/modes/session-observer-registry.d.ts +26 -0
- package/dist/types/modes/shared.d.ts +6 -0
- package/dist/types/modes/theme/defaults/index.d.ts +9436 -0
- package/dist/types/modes/theme/mermaid-cache.d.ts +9 -0
- package/dist/types/modes/theme/theme.d.ts +273 -0
- package/dist/types/modes/types.d.ts +274 -0
- package/dist/types/modes/utils/context-usage.d.ts +30 -0
- package/dist/types/modes/utils/hotkeys-markdown.d.ts +5 -0
- package/dist/types/modes/utils/keybinding-matchers.d.ts +10 -0
- package/dist/types/modes/utils/tools-markdown.d.ts +5 -0
- package/dist/types/modes/utils/ui-helpers.d.ts +49 -0
- package/dist/types/plan-mode/approved-plan.d.ts +29 -0
- package/dist/types/plan-mode/state.d.ts +6 -0
- package/dist/types/registry/agent-registry.d.ts +62 -0
- package/dist/types/sdk.d.ts +253 -0
- package/dist/types/secrets/index.d.ts +9 -0
- package/dist/types/secrets/obfuscator.d.ts +23 -0
- package/dist/types/secrets/regex.d.ts +2 -0
- package/dist/types/session/agent-session.d.ts +898 -0
- package/dist/types/session/agent-storage.d.ts +93 -0
- package/dist/types/session/artifacts.d.ts +61 -0
- package/dist/types/session/auth-broker-config.d.ts +13 -0
- package/dist/types/session/auth-storage.d.ts +6 -0
- package/dist/types/session/blob-store.d.ts +63 -0
- package/dist/types/session/client-bridge.d.ts +84 -0
- package/dist/types/session/history-storage.d.ts +16 -0
- package/dist/types/session/messages.d.ts +162 -0
- package/dist/types/session/session-dump-format.d.ts +22 -0
- package/dist/types/session/session-manager.d.ts +539 -0
- package/dist/types/session/session-storage.d.ts +82 -0
- package/dist/types/session/streaming-output.d.ts +185 -0
- package/dist/types/session/tool-choice-queue.d.ts +78 -0
- package/dist/types/slash-commands/acp-builtins.d.ts +18 -0
- package/dist/types/slash-commands/builtin-registry.d.ts +23 -0
- package/dist/types/slash-commands/helpers/context-report.d.ts +7 -0
- package/dist/types/slash-commands/helpers/format.d.ts +7 -0
- package/dist/types/slash-commands/helpers/marketplace-manager.d.ts +8 -0
- package/dist/types/slash-commands/helpers/mcp.d.ts +3 -0
- package/dist/types/slash-commands/helpers/parse.d.ts +33 -0
- package/dist/types/slash-commands/helpers/ssh.d.ts +3 -0
- package/dist/types/slash-commands/helpers/todo.d.ts +3 -0
- package/dist/types/slash-commands/helpers/usage-report.d.ts +7 -0
- package/dist/types/slash-commands/marketplace-install-parser.d.ts +33 -0
- package/dist/types/slash-commands/types.d.ts +119 -0
- package/dist/types/ssh/config-writer.d.ts +49 -0
- package/dist/types/ssh/connection-manager.d.ts +33 -0
- package/dist/types/ssh/ssh-executor.d.ts +37 -0
- package/dist/types/ssh/sshfs-mount.d.ts +6 -0
- package/dist/types/ssh/utils.d.ts +2 -0
- package/dist/types/stt/downloader.d.ts +9 -0
- package/dist/types/stt/index.d.ts +3 -0
- package/dist/types/stt/recorder.d.ts +13 -0
- package/dist/types/stt/setup.d.ts +18 -0
- package/dist/types/stt/stt-controller.d.ts +16 -0
- package/dist/types/stt/transcriber.d.ts +16 -0
- package/dist/types/system-prompt.d.ts +93 -0
- package/dist/types/task/agents.d.ts +28 -0
- package/dist/types/task/commands.d.ts +35 -0
- package/dist/types/task/discovery.d.ts +18 -0
- package/dist/types/task/executor.d.ts +106 -0
- package/dist/types/task/index.d.ts +38 -0
- package/dist/types/task/name-generator.d.ts +16 -0
- package/dist/types/task/omp-command.d.ts +7 -0
- package/dist/types/task/output-manager.d.ts +36 -0
- package/dist/types/task/parallel.d.ts +34 -0
- package/dist/types/task/render.d.ts +22 -0
- package/dist/types/task/simple-mode.d.ts +8 -0
- package/dist/types/task/subprocess-tool-registry.d.ts +72 -0
- package/dist/types/task/types.d.ts +251 -0
- package/dist/types/task/worktree.d.ts +95 -0
- package/dist/types/thinking.d.ts +30 -0
- package/dist/types/tool-discovery/tool-index.d.ts +107 -0
- package/dist/types/tools/archive-reader.d.ts +40 -0
- package/dist/types/tools/ask.d.ts +109 -0
- package/dist/types/tools/ast-edit.d.ts +72 -0
- package/dist/types/tools/ast-grep.d.ts +64 -0
- package/dist/types/tools/auto-generated-guard.d.ts +17 -0
- package/dist/types/tools/bash-command-fixup.d.ts +16 -0
- package/dist/types/tools/bash-interactive.d.ts +16 -0
- package/dist/types/tools/bash-interceptor.d.ts +24 -0
- package/dist/types/tools/bash-pty-selection.d.ts +7 -0
- package/dist/types/tools/bash-skill-urls.d.ts +31 -0
- package/dist/types/tools/bash.d.ts +130 -0
- package/dist/types/tools/browser/attach.d.ts +34 -0
- package/dist/types/tools/browser/launch.d.ts +60 -0
- package/dist/types/tools/browser/readable.d.ts +17 -0
- package/dist/types/tools/browser/registry.d.ts +42 -0
- package/dist/types/tools/browser/render.d.ts +50 -0
- package/dist/types/tools/browser/tab-protocol.d.ts +144 -0
- package/dist/types/tools/browser/tab-supervisor.d.ts +63 -0
- package/dist/types/tools/browser/tab-worker-entry.d.ts +1 -0
- package/dist/types/tools/browser/tab-worker.d.ts +19 -0
- package/dist/types/tools/browser.d.ts +114 -0
- package/dist/types/tools/calculator.d.ts +76 -0
- package/dist/types/tools/checkpoint.d.ts +63 -0
- package/dist/types/tools/conflict-detect.d.ts +205 -0
- package/dist/types/tools/context.d.ts +19 -0
- package/dist/types/tools/debug.d.ts +209 -0
- package/dist/types/tools/eval.d.ts +108 -0
- package/dist/types/tools/fetch.d.ts +61 -0
- package/dist/types/tools/file-recorder.d.ts +13 -0
- package/dist/types/tools/find.d.ts +88 -0
- package/dist/types/tools/fs-cache-invalidation.d.ts +15 -0
- package/dist/types/tools/gh-format.d.ts +6 -0
- package/dist/types/tools/gh-renderer.d.ts +25 -0
- package/dist/types/tools/gh.d.ts +356 -0
- package/dist/types/tools/github-cache.d.ts +103 -0
- package/dist/types/tools/grouped-file-output.d.ts +36 -0
- package/dist/types/tools/hindsight-recall.d.ts +23 -0
- package/dist/types/tools/hindsight-reflect.d.ts +25 -0
- package/dist/types/tools/hindsight-retain.d.ts +29 -0
- package/dist/types/tools/image-gen.d.ts +78 -0
- package/dist/types/tools/index.d.ts +244 -0
- package/dist/types/tools/inspect-image-renderer.d.ts +26 -0
- package/dist/types/tools/inspect-image.d.ts +31 -0
- package/dist/types/tools/irc.d.ts +79 -0
- package/dist/types/tools/job.d.ts +65 -0
- package/dist/types/tools/json-tree.d.ts +23 -0
- package/dist/types/tools/jtd-to-json-schema.d.ts +29 -0
- package/dist/types/tools/jtd-to-typescript.d.ts +26 -0
- package/dist/types/tools/jtd-utils.d.ts +42 -0
- package/dist/types/tools/list-limit.d.ts +12 -0
- package/dist/types/tools/match-line-format.d.ts +11 -0
- package/dist/types/tools/output-meta.d.ts +204 -0
- package/dist/types/tools/path-utils.d.ts +125 -0
- package/dist/types/tools/plan-mode-guard.d.ts +18 -0
- package/dist/types/tools/read.d.ts +85 -0
- package/dist/types/tools/recipe/index.d.ts +45 -0
- package/dist/types/tools/recipe/render.d.ts +36 -0
- package/dist/types/tools/recipe/runner.d.ts +60 -0
- package/dist/types/tools/recipe/runners/cargo.d.ts +16 -0
- package/dist/types/tools/recipe/runners/index.d.ts +2 -0
- package/dist/types/tools/recipe/runners/just.d.ts +2 -0
- package/dist/types/tools/recipe/runners/make.d.ts +2 -0
- package/dist/types/tools/recipe/runners/pkg.d.ts +2 -0
- package/dist/types/tools/recipe/runners/task.d.ts +2 -0
- package/dist/types/tools/render-mermaid.d.ts +37 -0
- package/dist/types/tools/render-utils.d.ts +148 -0
- package/dist/types/tools/renderers.d.ts +26 -0
- package/dist/types/tools/report-tool-issue.d.ts +123 -0
- package/dist/types/tools/resolve.d.ts +85 -0
- package/dist/types/tools/review.d.ts +50 -0
- package/dist/types/tools/search-tool-bm25.d.ts +65 -0
- package/dist/types/tools/search.d.ts +90 -0
- package/dist/types/tools/sqlite-reader.d.ts +93 -0
- package/dist/types/tools/ssh.d.ts +67 -0
- package/dist/types/tools/todo-write.d.ts +120 -0
- package/dist/types/tools/tool-errors.d.ts +33 -0
- package/dist/types/tools/tool-result.d.ts +30 -0
- package/dist/types/tools/tool-timeouts.d.ts +51 -0
- package/dist/types/tools/vim.d.ts +58 -0
- package/dist/types/tools/write.d.ts +59 -0
- package/dist/types/tools/yield.d.ts +25 -0
- package/dist/types/tui/code-cell.d.ts +32 -0
- package/dist/types/tui/file-list.d.ts +16 -0
- package/dist/types/tui/index.d.ts +10 -0
- package/dist/types/tui/output-block.d.ts +28 -0
- package/dist/types/tui/status-line.d.ts +18 -0
- package/dist/types/tui/tree-list.d.ts +19 -0
- package/dist/types/tui/types.d.ts +13 -0
- package/dist/types/tui/utils.d.ts +36 -0
- package/dist/types/utils/changelog.d.ts +20 -0
- package/dist/types/utils/clipboard.d.ts +20 -0
- package/dist/types/utils/command-args.d.ts +9 -0
- package/dist/types/utils/commit-message-generator.d.ts +7 -0
- package/dist/types/utils/edit-mode.d.ts +13 -0
- package/dist/types/utils/event-bus.d.ts +6 -0
- package/dist/types/utils/external-editor.d.ts +17 -0
- package/dist/types/utils/file-display-mode.d.ts +27 -0
- package/dist/types/utils/file-mentions.d.ts +11 -0
- package/dist/types/utils/git.d.ts +360 -0
- package/dist/types/utils/image-loading.d.ts +26 -0
- package/dist/types/utils/image-resize.d.ts +36 -0
- package/dist/types/utils/lang-from-path.d.ts +8 -0
- package/dist/types/utils/markit.d.ts +7 -0
- package/dist/types/utils/open.d.ts +2 -0
- package/dist/types/utils/session-color.d.ts +10 -0
- package/dist/types/utils/shell-snapshot.d.ts +5 -0
- package/dist/types/utils/sixel.d.ts +21 -0
- package/dist/types/utils/title-generator.d.ts +31 -0
- package/dist/types/utils/tool-choice.d.ts +6 -0
- package/dist/types/utils/tools-manager.d.ts +9 -0
- package/dist/types/vim/buffer.d.ts +41 -0
- package/dist/types/vim/commands.d.ts +6 -0
- package/dist/types/vim/engine.d.ts +47 -0
- package/dist/types/vim/parser.d.ts +3 -0
- package/dist/types/vim/render.d.ts +25 -0
- package/dist/types/vim/types.d.ts +182 -0
- package/dist/types/web/kagi.d.ts +21 -0
- package/dist/types/web/parallel.d.ts +57 -0
- package/dist/types/web/scrapers/artifacthub.d.ts +6 -0
- package/dist/types/web/scrapers/arxiv.d.ts +5 -0
- package/dist/types/web/scrapers/aur.d.ts +5 -0
- package/dist/types/web/scrapers/biorxiv.d.ts +5 -0
- package/dist/types/web/scrapers/bluesky.d.ts +5 -0
- package/dist/types/web/scrapers/brew.d.ts +5 -0
- package/dist/types/web/scrapers/cheatsh.d.ts +8 -0
- package/dist/types/web/scrapers/chocolatey.d.ts +5 -0
- package/dist/types/web/scrapers/choosealicense.d.ts +2 -0
- package/dist/types/web/scrapers/cisa-kev.d.ts +5 -0
- package/dist/types/web/scrapers/clojars.d.ts +5 -0
- package/dist/types/web/scrapers/coingecko.d.ts +5 -0
- package/dist/types/web/scrapers/crates-io.d.ts +5 -0
- package/dist/types/web/scrapers/crossref.d.ts +2 -0
- package/dist/types/web/scrapers/devto.d.ts +5 -0
- package/dist/types/web/scrapers/discogs.d.ts +8 -0
- package/dist/types/web/scrapers/discourse.d.ts +5 -0
- package/dist/types/web/scrapers/dockerhub.d.ts +5 -0
- package/dist/types/web/scrapers/docs-rs.d.ts +2 -0
- package/dist/types/web/scrapers/fdroid.d.ts +5 -0
- package/dist/types/web/scrapers/firefox-addons.d.ts +2 -0
- package/dist/types/web/scrapers/flathub.d.ts +2 -0
- package/dist/types/web/scrapers/github-gist.d.ts +5 -0
- package/dist/types/web/scrapers/github.d.ts +12 -0
- package/dist/types/web/scrapers/gitlab.d.ts +5 -0
- package/dist/types/web/scrapers/go-pkg.d.ts +5 -0
- package/dist/types/web/scrapers/hackage.d.ts +5 -0
- package/dist/types/web/scrapers/hackernews.d.ts +2 -0
- package/dist/types/web/scrapers/hex.d.ts +5 -0
- package/dist/types/web/scrapers/huggingface.d.ts +2 -0
- package/dist/types/web/scrapers/iacr.d.ts +5 -0
- package/dist/types/web/scrapers/index.d.ts +84 -0
- package/dist/types/web/scrapers/jetbrains-marketplace.d.ts +2 -0
- package/dist/types/web/scrapers/lemmy.d.ts +2 -0
- package/dist/types/web/scrapers/lobsters.d.ts +5 -0
- package/dist/types/web/scrapers/mastodon.d.ts +5 -0
- package/dist/types/web/scrapers/maven.d.ts +6 -0
- package/dist/types/web/scrapers/mdn.d.ts +2 -0
- package/dist/types/web/scrapers/metacpan.d.ts +5 -0
- package/dist/types/web/scrapers/musicbrainz.d.ts +5 -0
- package/dist/types/web/scrapers/npm.d.ts +5 -0
- package/dist/types/web/scrapers/nuget.d.ts +5 -0
- package/dist/types/web/scrapers/nvd.d.ts +5 -0
- package/dist/types/web/scrapers/ollama.d.ts +2 -0
- package/dist/types/web/scrapers/open-vsx.d.ts +5 -0
- package/dist/types/web/scrapers/opencorporates.d.ts +5 -0
- package/dist/types/web/scrapers/openlibrary.d.ts +5 -0
- package/dist/types/web/scrapers/orcid.d.ts +5 -0
- package/dist/types/web/scrapers/osv.d.ts +5 -0
- package/dist/types/web/scrapers/packagist.d.ts +5 -0
- package/dist/types/web/scrapers/pub-dev.d.ts +5 -0
- package/dist/types/web/scrapers/pubmed.d.ts +5 -0
- package/dist/types/web/scrapers/pypi.d.ts +5 -0
- package/dist/types/web/scrapers/rawg.d.ts +2 -0
- package/dist/types/web/scrapers/readthedocs.d.ts +2 -0
- package/dist/types/web/scrapers/reddit.d.ts +5 -0
- package/dist/types/web/scrapers/repology.d.ts +5 -0
- package/dist/types/web/scrapers/rfc.d.ts +5 -0
- package/dist/types/web/scrapers/rubygems.d.ts +5 -0
- package/dist/types/web/scrapers/searchcode.d.ts +2 -0
- package/dist/types/web/scrapers/sec-edgar.d.ts +5 -0
- package/dist/types/web/scrapers/semantic-scholar.d.ts +2 -0
- package/dist/types/web/scrapers/snapcraft.d.ts +2 -0
- package/dist/types/web/scrapers/sourcegraph.d.ts +2 -0
- package/dist/types/web/scrapers/spdx.d.ts +5 -0
- package/dist/types/web/scrapers/spotify.d.ts +8 -0
- package/dist/types/web/scrapers/stackoverflow.d.ts +6 -0
- package/dist/types/web/scrapers/terraform.d.ts +5 -0
- package/dist/types/web/scrapers/tldr.d.ts +7 -0
- package/dist/types/web/scrapers/twitter.d.ts +5 -0
- package/dist/types/web/scrapers/types.d.ts +77 -0
- package/dist/types/web/scrapers/utils.d.ts +26 -0
- package/dist/types/web/scrapers/vimeo.d.ts +5 -0
- package/dist/types/web/scrapers/vscode-marketplace.d.ts +5 -0
- package/dist/types/web/scrapers/w3c.d.ts +2 -0
- package/dist/types/web/scrapers/wikidata.d.ts +5 -0
- package/dist/types/web/scrapers/wikipedia.d.ts +5 -0
- package/dist/types/web/scrapers/youtube.d.ts +5 -0
- package/dist/types/web/search/index.d.ts +76 -0
- package/dist/types/web/search/provider.d.ts +20 -0
- package/dist/types/web/search/providers/anthropic.d.ts +27 -0
- package/dist/types/web/search/providers/base.d.ts +35 -0
- package/dist/types/web/search/providers/brave.d.ts +20 -0
- package/dist/types/web/search/providers/codex.d.ts +31 -0
- package/dist/types/web/search/providers/exa.d.ts +43 -0
- package/dist/types/web/search/providers/gemini.d.ts +60 -0
- package/dist/types/web/search/providers/jina.d.ts +25 -0
- package/dist/types/web/search/providers/kagi.d.ts +21 -0
- package/dist/types/web/search/providers/kimi.d.ts +18 -0
- package/dist/types/web/search/providers/parallel.d.ts +14 -0
- package/dist/types/web/search/providers/perplexity.d.ts +35 -0
- package/dist/types/web/search/providers/searxng.d.ts +43 -0
- package/dist/types/web/search/providers/synthetic.d.ts +24 -0
- package/dist/types/web/search/providers/tavily.d.ts +22 -0
- package/dist/types/web/search/providers/utils.d.ts +24 -0
- package/dist/types/web/search/providers/zai.d.ts +19 -0
- package/dist/types/web/search/render.d.ts +35 -0
- package/dist/types/web/search/types.d.ts +344 -0
- package/dist/types/web/search/utils.d.ts +4 -0
- package/dist/types/workspace-tree.d.ts +42 -0
- package/examples/custom-tools/README.md +3 -12
- package/examples/extensions/README.md +2 -15
- package/examples/extensions/api-demo.ts +1 -7
- package/package.json +124 -123
- package/src/autoresearch/tools/init-experiment.ts +11 -33
- package/src/autoresearch/tools/log-experiment.ts +10 -24
- package/src/autoresearch/tools/run-experiment.ts +1 -1
- package/src/autoresearch/tools/update-notes.ts +2 -9
- package/src/cli/auth-broker-cli.ts +746 -0
- package/src/cli/auth-gateway-cli.ts +342 -0
- package/src/cli/grievances-cli.ts +109 -16
- package/src/cli.ts +4 -2
- package/src/commands/auth-broker.ts +96 -0
- package/src/commands/auth-gateway.ts +61 -0
- package/src/commands/grievances.ts +13 -8
- package/src/commands/launch.ts +1 -1
- package/src/commit/agentic/agent.ts +2 -0
- package/src/commit/agentic/tools/analyze-file.ts +2 -2
- package/src/commit/agentic/tools/git-file-diff.ts +2 -2
- package/src/commit/agentic/tools/git-hunk.ts +3 -3
- package/src/commit/agentic/tools/git-overview.ts +2 -2
- package/src/commit/agentic/tools/propose-changelog.ts +1 -3
- package/src/commit/agentic/tools/recent-commits.ts +1 -1
- package/src/commit/agentic/tools/schemas.ts +1 -9
- package/src/config/mcp-schema.json +1 -1
- package/src/config/model-equivalence.ts +279 -174
- package/src/config/model-registry.ts +37 -6
- package/src/config/model-resolver.ts +13 -8
- package/src/config/models-config-schema.ts +8 -0
- package/src/config/settings-schema.ts +52 -0
- package/src/cursor.ts +1 -1
- package/src/debug/log-formatting.ts +1 -1
- package/src/debug/log-viewer.ts +1 -1
- package/src/debug/profiler.ts +4 -0
- package/src/debug/raw-sse-buffer.ts +100 -59
- package/src/debug/raw-sse.ts +1 -1
- package/src/discovery/agents.ts +15 -4
- package/src/edit/modes/apply-patch.ts +1 -5
- package/src/edit/modes/patch.ts +5 -5
- package/src/edit/modes/replace.ts +5 -5
- package/src/edit/normalize.ts +1 -1
- package/src/edit/renderer.ts +2 -1
- package/src/edit/streaming.ts +1 -1
- package/src/eval/index.ts +0 -2
- package/src/eval/js/shared/runtime.ts +25 -0
- package/src/eval/py/kernel.ts +1 -1
- package/src/exa/researcher.ts +4 -4
- package/src/exa/search.ts +10 -22
- package/src/exa/websets.ts +33 -33
- package/src/extensibility/typebox.ts +1 -1
- package/src/goals/tools/goal-tool.ts +3 -3
- package/src/hashline/index.ts +0 -1
- package/src/hashline/input.ts +8 -11
- package/src/hashline/parser.ts +6 -8
- package/src/index.ts +0 -3
- package/src/internal-urls/docs-index.generated.ts +21 -18
- package/src/internal-urls/index.ts +1 -1
- package/src/internal-urls/{pi-protocol.ts → omp-protocol.ts} +10 -10
- package/src/internal-urls/router.ts +3 -3
- package/src/internal-urls/types.ts +1 -1
- package/src/lsp/types.ts +8 -11
- package/src/main.ts +3 -0
- package/src/mcp/tool-bridge.ts +3 -3
- package/src/modes/acp/acp-agent.ts +89 -25
- package/src/modes/components/bash-execution.ts +1 -1
- package/src/modes/components/diff.ts +1 -2
- package/src/modes/components/eval-execution.ts +1 -1
- package/src/modes/components/oauth-selector.ts +38 -2
- package/src/modes/components/tool-execution.ts +1 -2
- package/src/modes/controllers/command-controller.ts +96 -34
- package/src/modes/controllers/input-controller.ts +4 -3
- package/src/modes/controllers/ssh-command-controller.ts +2 -0
- package/src/modes/data/emojis.json +1 -0
- package/src/modes/emoji-autocomplete.ts +285 -0
- package/src/modes/interactive-mode.ts +92 -19
- package/src/modes/print-mode.ts +3 -3
- package/src/modes/prompt-action-autocomplete.ts +14 -0
- package/src/modes/theme/theme-schema.json +1 -1
- package/src/plan-mode/approved-plan.ts +9 -0
- package/src/prompts/system/system-prompt.md +1 -1
- package/src/prompts/system/ttsr-tool-reminder.md +5 -0
- package/src/prompts/tools/eval.md +25 -26
- package/src/prompts/tools/hashline.md +1 -0
- package/src/prompts/tools/read.md +2 -2
- package/src/prompts/tools/resolve.md +1 -1
- package/src/prompts/tools/search.md +1 -1
- package/src/prompts/tools/web-search.md +1 -1
- package/src/sdk.ts +92 -7
- package/src/session/agent-session.ts +225 -77
- package/src/session/agent-storage.ts +7 -2
- package/src/session/auth-broker-config.ts +102 -0
- package/src/session/auth-storage.ts +7 -1
- package/src/session/streaming-output.ts +1 -1
- package/src/slash-commands/builtin-registry.ts +2 -0
- package/src/slash-commands/helpers/ssh.ts +2 -0
- package/src/ssh/connection-manager.ts +28 -7
- package/src/task/types.ts +10 -35
- package/src/tools/bash-interactive.ts +5 -2
- package/src/tools/bash-pty-selection.ts +14 -0
- package/src/tools/bash.ts +5 -4
- package/src/tools/browser.ts +12 -20
- package/src/tools/eval.ts +77 -100
- package/src/tools/gh.ts +21 -45
- package/src/tools/hindsight-recall.ts +1 -1
- package/src/tools/hindsight-reflect.ts +2 -2
- package/src/tools/hindsight-retain.ts +3 -7
- package/src/tools/index.ts +8 -1
- package/src/tools/inspect-image.ts +4 -1
- package/src/tools/irc.ts +4 -12
- package/src/tools/job.ts +3 -11
- package/src/tools/path-utils.ts +2 -2
- package/src/tools/read.ts +7 -4
- package/src/tools/report-tool-issue.ts +462 -17
- package/src/tools/resolve.ts +2 -7
- package/src/tools/search.ts +7 -0
- package/src/tools/todo-write.ts +8 -15
- package/src/tools/yield.ts +17 -5
- package/src/tui/code-cell.ts +18 -3
- package/src/utils/title-generator.ts +3 -0
- package/src/web/scrapers/searchcode.ts +1 -2
- package/src/web/search/index.ts +6 -6
- package/src/eval/eval.lark +0 -36
- package/src/eval/parse.ts +0 -407
- package/src/eval/sniff.ts +0 -28
- package/src/hashline/utils.ts +0 -3
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Rule } from "../capability/rule";
|
|
2
|
+
import type { TtsrSettings } from "../config/settings";
|
|
3
|
+
export type TtsrMatchSource = "text" | "thinking" | "tool";
|
|
4
|
+
/** Context about the stream content currently being checked against TTSR rules. */
|
|
5
|
+
export interface TtsrMatchContext {
|
|
6
|
+
source: TtsrMatchSource;
|
|
7
|
+
/** Tool name for tool argument deltas, e.g. "edit" or "write". */
|
|
8
|
+
toolName?: string;
|
|
9
|
+
/** Candidate file paths associated with the current stream chunk. */
|
|
10
|
+
filePaths?: string[];
|
|
11
|
+
/** Stable key to isolate buffering (for example a tool call ID). */
|
|
12
|
+
streamKey?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare class TtsrManager {
|
|
15
|
+
#private;
|
|
16
|
+
constructor(settings?: TtsrSettings);
|
|
17
|
+
/** Add a TTSR rule to be monitored. */
|
|
18
|
+
addRule(rule: Rule): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Add a stream chunk to its scoped buffer and return matching rules.
|
|
21
|
+
*
|
|
22
|
+
* Buffers are isolated by source/tool key so matches don't bleed across
|
|
23
|
+
* assistant prose, thinking text, and unrelated tool argument streams.
|
|
24
|
+
*/
|
|
25
|
+
checkDelta(delta: string, context: TtsrMatchContext): Rule[];
|
|
26
|
+
/** Mark rules as injected (won't trigger again until conditions allow). */
|
|
27
|
+
markInjected(rulesToMark: Rule[]): void;
|
|
28
|
+
/** Mark rule names as injected (won't trigger again until conditions allow). */
|
|
29
|
+
markInjectedByNames(ruleNames: string[]): void;
|
|
30
|
+
/** Get names of all injected rules (for persistence). */
|
|
31
|
+
getInjectedRuleNames(): string[];
|
|
32
|
+
/** Restore injected state from a list of rule names. */
|
|
33
|
+
restoreInjected(ruleNames: string[]): void;
|
|
34
|
+
/** Reset stream buffers (called on new turn). */
|
|
35
|
+
resetBuffer(): void;
|
|
36
|
+
/** Check if any TTSR rules are registered. */
|
|
37
|
+
hasRules(): boolean;
|
|
38
|
+
/** Increment message counter (call after each turn). */
|
|
39
|
+
incrementMessageCount(): void;
|
|
40
|
+
/** Get current message count. */
|
|
41
|
+
getMessageCount(): number;
|
|
42
|
+
/** Get settings. */
|
|
43
|
+
getSettings(): Required<TtsrSettings>;
|
|
44
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CustomCommand, CustomCommandAPI } from "../../../../extensibility/custom-commands/types";
|
|
2
|
+
import type { HookCommandContext } from "../../../../extensibility/hooks/types";
|
|
3
|
+
export declare class GreenCommand implements CustomCommand {
|
|
4
|
+
private api;
|
|
5
|
+
name: string;
|
|
6
|
+
description: string;
|
|
7
|
+
constructor(api: CustomCommandAPI);
|
|
8
|
+
execute(_args: string[], _ctx: HookCommandContext): Promise<string>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CustomCommand, CustomCommandAPI } from "../../../../extensibility/custom-commands/types";
|
|
2
|
+
import type { HookCommandContext } from "../../../../extensibility/hooks/types";
|
|
3
|
+
export declare class ReviewCommand implements CustomCommand {
|
|
4
|
+
private api;
|
|
5
|
+
name: string;
|
|
6
|
+
description: string;
|
|
7
|
+
constructor(api: CustomCommandAPI);
|
|
8
|
+
execute(args: string[], ctx: HookCommandContext): Promise<string | undefined>;
|
|
9
|
+
}
|
|
10
|
+
export default ReviewCommand;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { CustomCommandSource, CustomCommandsLoadResult } from "./types";
|
|
2
|
+
export interface DiscoverCustomCommandsOptions {
|
|
3
|
+
/** Current working directory. Default: getProjectDir() */
|
|
4
|
+
cwd?: string;
|
|
5
|
+
/** Agent config directory. Default: from getAgentDir() */
|
|
6
|
+
agentDir?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface DiscoverCustomCommandsResult {
|
|
9
|
+
/** Paths to command modules */
|
|
10
|
+
paths: Array<{
|
|
11
|
+
path: string;
|
|
12
|
+
source: CustomCommandSource;
|
|
13
|
+
}>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Discover custom command modules (TypeScript slash commands).
|
|
17
|
+
* Markdown slash commands are handled by core/slash-commands.ts.
|
|
18
|
+
*/
|
|
19
|
+
export declare function discoverCustomCommands(options?: DiscoverCustomCommandsOptions): Promise<DiscoverCustomCommandsResult>;
|
|
20
|
+
export interface LoadCustomCommandsOptions {
|
|
21
|
+
/** Current working directory. Default: getProjectDir() */
|
|
22
|
+
cwd?: string;
|
|
23
|
+
/** Agent config directory. Default: from getAgentDir() */
|
|
24
|
+
agentDir?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Discover and load custom commands from standard locations.
|
|
28
|
+
*/
|
|
29
|
+
export declare function loadCustomCommands(options?: LoadCustomCommandsOptions): Promise<CustomCommandsLoadResult>;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom command types.
|
|
3
|
+
*
|
|
4
|
+
* Custom commands are TypeScript modules that define executable slash commands.
|
|
5
|
+
* Unlike markdown commands which expand to prompts, custom commands can execute
|
|
6
|
+
* arbitrary logic with full access to the hook context.
|
|
7
|
+
*/
|
|
8
|
+
import type { ExecOptions, ExecResult, HookCommandContext } from "../../extensibility/hooks/types";
|
|
9
|
+
export type { ExecOptions, ExecResult, HookCommandContext };
|
|
10
|
+
/**
|
|
11
|
+
* API passed to custom command factory.
|
|
12
|
+
* Similar to HookAPI but focused on command needs.
|
|
13
|
+
*/
|
|
14
|
+
export interface CustomCommandAPI {
|
|
15
|
+
/** Current working directory */
|
|
16
|
+
cwd: string;
|
|
17
|
+
/** Execute a shell command */
|
|
18
|
+
exec(command: string, args: string[], options?: ExecOptions): Promise<ExecResult>;
|
|
19
|
+
/** Injected zod-backed typebox shim (legacy/compat). */
|
|
20
|
+
typebox: typeof import("../typebox");
|
|
21
|
+
/** Injected zod module for Zod-authored custom commands. */
|
|
22
|
+
zod: typeof import("zod/v4");
|
|
23
|
+
/** Injected pi-coding-agent exports */
|
|
24
|
+
pi: typeof import("../..");
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Custom command definition.
|
|
28
|
+
*
|
|
29
|
+
* Commands can either:
|
|
30
|
+
* - Return a string to be sent to the LLM as a prompt
|
|
31
|
+
* - Return void/undefined to do nothing (fire-and-forget)
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const factory: CustomCommandFactory = (pi) => ({
|
|
36
|
+
* name: "deploy",
|
|
37
|
+
* description: "Deploy current branch to staging",
|
|
38
|
+
* async execute(args, ctx) {
|
|
39
|
+
* const env = args[0] || "staging";
|
|
40
|
+
* const confirmed = await ctx.ui.confirm("Deploy", `Deploy to ${env}?`);
|
|
41
|
+
* if (!confirmed) return;
|
|
42
|
+
*
|
|
43
|
+
* const result = await pi.exec("./deploy.sh", [env]);
|
|
44
|
+
* if (result.exitCode !== 0) {
|
|
45
|
+
* ctx.ui.notify(`Deploy failed: ${result.stderr}`, "error");
|
|
46
|
+
* return;
|
|
47
|
+
* }
|
|
48
|
+
*
|
|
49
|
+
* ctx.ui.notify("Deploy successful!", "info");
|
|
50
|
+
* // No return = no prompt sent to LLM
|
|
51
|
+
* }
|
|
52
|
+
* });
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typescript
|
|
57
|
+
* // Return a prompt to send to the LLM
|
|
58
|
+
* const factory: CustomCommandFactory = (pi) => ({
|
|
59
|
+
* name: "git:status",
|
|
60
|
+
* description: "Show git status and suggest actions",
|
|
61
|
+
* async execute(args, ctx) {
|
|
62
|
+
* const result = await pi.exec("git", ["status", "--porcelain"]);
|
|
63
|
+
* return `Here's the git status:\n\`\`\`\n${result.stdout}\`\`\`\nSuggest what to do next.`;
|
|
64
|
+
* }
|
|
65
|
+
* });
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export interface CustomCommand {
|
|
69
|
+
/** Command name (can include namespace like "git:commit") */
|
|
70
|
+
name: string;
|
|
71
|
+
/** Description shown in command autocomplete */
|
|
72
|
+
description: string;
|
|
73
|
+
/**
|
|
74
|
+
* Execute the command.
|
|
75
|
+
* @param args - Parsed command arguments
|
|
76
|
+
* @param ctx - Command context with UI and session control
|
|
77
|
+
* @returns String to send as prompt, or void for fire-and-forget
|
|
78
|
+
*/
|
|
79
|
+
execute(args: string[], ctx: HookCommandContext): Promise<string | undefined> | string | undefined;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Factory function that creates custom command(s).
|
|
83
|
+
* Can return a single command or an array of commands.
|
|
84
|
+
*/
|
|
85
|
+
export type CustomCommandFactory = (api: CustomCommandAPI) => CustomCommand | CustomCommand[] | Promise<CustomCommand | CustomCommand[]>;
|
|
86
|
+
/** Source of a loaded custom command */
|
|
87
|
+
export type CustomCommandSource = "bundled" | "user" | "project";
|
|
88
|
+
/** Loaded custom command with metadata */
|
|
89
|
+
export interface LoadedCustomCommand {
|
|
90
|
+
/** Original path to the command module */
|
|
91
|
+
path: string;
|
|
92
|
+
/** Resolved absolute path */
|
|
93
|
+
resolvedPath: string;
|
|
94
|
+
/** The command definition */
|
|
95
|
+
command: CustomCommand;
|
|
96
|
+
/** Where the command was loaded from */
|
|
97
|
+
source: CustomCommandSource;
|
|
98
|
+
}
|
|
99
|
+
/** Result from loading custom commands */
|
|
100
|
+
export interface CustomCommandsLoadResult {
|
|
101
|
+
commands: LoadedCustomCommand[];
|
|
102
|
+
errors: Array<{
|
|
103
|
+
path: string;
|
|
104
|
+
error: string;
|
|
105
|
+
}>;
|
|
106
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { AgentToolResult } from "@oh-my-pi/pi-agent-core";
|
|
2
|
+
import type { HookUIContext } from "../../extensibility/hooks/types";
|
|
3
|
+
import type { LoadedCustomTool, ToolLoadError } from "./types";
|
|
4
|
+
/** Tool path with optional source metadata */
|
|
5
|
+
interface ToolPathWithSource {
|
|
6
|
+
path: string;
|
|
7
|
+
source?: {
|
|
8
|
+
provider: string;
|
|
9
|
+
providerName: string;
|
|
10
|
+
level: "user" | "project";
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Loads custom tools from paths with conflict detection and error handling.
|
|
15
|
+
*
|
|
16
|
+
* Manages a shared API instance passed to all tool factories, providing access to
|
|
17
|
+
* execution context, UI, logger, and injected dependencies. The UI context can be
|
|
18
|
+
* updated after loading via setUIContext().
|
|
19
|
+
*/
|
|
20
|
+
export declare class CustomToolLoader {
|
|
21
|
+
#private;
|
|
22
|
+
tools: LoadedCustomTool[];
|
|
23
|
+
errors: ToolLoadError[];
|
|
24
|
+
constructor(pi: typeof import("@oh-my-pi/pi-coding-agent"), cwd: string, builtInToolNames: string[], pushPendingAction?: (action: {
|
|
25
|
+
label: string;
|
|
26
|
+
sourceToolName: string;
|
|
27
|
+
apply(reason: string): Promise<AgentToolResult<unknown>>;
|
|
28
|
+
reject?(reason: string): Promise<AgentToolResult<unknown> | undefined>;
|
|
29
|
+
}) => void);
|
|
30
|
+
load(pathsWithSources: ToolPathWithSource[]): Promise<void>;
|
|
31
|
+
setUIContext(uiContext: HookUIContext, hasUI: boolean): void;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Load all tools from configuration.
|
|
35
|
+
* @param pathsWithSources - Array of tool paths with optional source metadata
|
|
36
|
+
* @param cwd - Current working directory for resolving relative paths
|
|
37
|
+
* @param builtInToolNames - Names of built-in tools to check for conflicts
|
|
38
|
+
*/
|
|
39
|
+
export declare function loadCustomTools(pathsWithSources: ToolPathWithSource[], cwd: string, builtInToolNames: string[], pushPendingAction?: (action: {
|
|
40
|
+
label: string;
|
|
41
|
+
sourceToolName: string;
|
|
42
|
+
apply(reason: string): Promise<AgentToolResult<unknown>>;
|
|
43
|
+
reject?(reason: string): Promise<AgentToolResult<unknown> | undefined>;
|
|
44
|
+
}) => void): Promise<{
|
|
45
|
+
tools: LoadedCustomTool<import("@oh-my-pi/pi-ai").TSchema, any>[];
|
|
46
|
+
errors: ToolLoadError[];
|
|
47
|
+
setUIContext: (uiContext: HookUIContext, hasUI: boolean) => void;
|
|
48
|
+
}>;
|
|
49
|
+
/**
|
|
50
|
+
* Discover and load tools from standard locations via capability system:
|
|
51
|
+
* 1. User and project tools discovered by capability providers
|
|
52
|
+
* 2. Installed plugins (~/.omp/plugins/node_modules/*)
|
|
53
|
+
* 3. Explicitly configured paths from settings or CLI
|
|
54
|
+
*
|
|
55
|
+
* @param configuredPaths - Explicit paths from settings.json and CLI --tool flags
|
|
56
|
+
* @param cwd - Current working directory
|
|
57
|
+
* @param builtInToolNames - Names of built-in tools to check for conflicts
|
|
58
|
+
*/
|
|
59
|
+
export declare function discoverAndLoadCustomTools(configuredPaths: string[], cwd: string, builtInToolNames: string[], pushPendingAction?: (action: {
|
|
60
|
+
label: string;
|
|
61
|
+
sourceToolName: string;
|
|
62
|
+
apply(reason: string): Promise<AgentToolResult<unknown>>;
|
|
63
|
+
reject?(reason: string): Promise<AgentToolResult<unknown> | undefined>;
|
|
64
|
+
}) => void): Promise<{
|
|
65
|
+
tools: LoadedCustomTool<import("@oh-my-pi/pi-ai").TSchema, any>[];
|
|
66
|
+
errors: ToolLoadError[];
|
|
67
|
+
setUIContext: (uiContext: HookUIContext, hasUI: boolean) => void;
|
|
68
|
+
}>;
|
|
69
|
+
export {};
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom tool types.
|
|
3
|
+
*
|
|
4
|
+
* Custom tools are TypeScript modules that define additional tools for the agent.
|
|
5
|
+
* They can provide custom rendering for tool calls and results in the TUI.
|
|
6
|
+
*/
|
|
7
|
+
import type { AgentToolResult, AgentToolUpdateCallback } from "@oh-my-pi/pi-agent-core";
|
|
8
|
+
import type { CompactionResult } from "@oh-my-pi/pi-agent-core/compaction";
|
|
9
|
+
import type { Model, Static, TSchema } from "@oh-my-pi/pi-ai";
|
|
10
|
+
import type { Component } from "@oh-my-pi/pi-tui";
|
|
11
|
+
import type { Rule } from "../../capability/rule";
|
|
12
|
+
import type { ModelRegistry } from "../../config/model-registry";
|
|
13
|
+
import type { Settings } from "../../config/settings";
|
|
14
|
+
import type { ExecOptions, ExecResult } from "../../exec/exec";
|
|
15
|
+
import type { HookUIContext } from "../../extensibility/hooks/types";
|
|
16
|
+
import type { Theme } from "../../modes/theme/theme";
|
|
17
|
+
import type { ReadonlySessionManager } from "../../session/session-manager";
|
|
18
|
+
import type { TodoItem } from "../../tools/todo-write";
|
|
19
|
+
/** Alias for clarity */
|
|
20
|
+
export type CustomToolUIContext = HookUIContext;
|
|
21
|
+
export type { ExecOptions, ExecResult } from "../../exec/exec";
|
|
22
|
+
/** Re-export for custom tools to use in execute signature */
|
|
23
|
+
export type { AgentToolResult, AgentToolUpdateCallback };
|
|
24
|
+
/** Pending action entry consumed by the hidden resolve tool */
|
|
25
|
+
export interface CustomToolPendingAction {
|
|
26
|
+
/** Human-readable preview label shown in resolve flow */
|
|
27
|
+
label: string;
|
|
28
|
+
/** Apply callback invoked when resolve(action="apply") is called */
|
|
29
|
+
apply(reason: string): Promise<AgentToolResult<unknown>>;
|
|
30
|
+
/** Optional reject callback invoked when resolve(action="discard") is called */
|
|
31
|
+
reject?(reason: string): Promise<AgentToolResult<unknown> | undefined>;
|
|
32
|
+
/** Optional details metadata stored with the pending action */
|
|
33
|
+
details?: unknown;
|
|
34
|
+
/** Optional source tool name shown by resolve renderer (defaults to "custom_tool") */
|
|
35
|
+
sourceToolName?: string;
|
|
36
|
+
}
|
|
37
|
+
/** API passed to custom tool factory (stable across session changes) */
|
|
38
|
+
export interface CustomToolAPI {
|
|
39
|
+
/** Current working directory */
|
|
40
|
+
cwd: string;
|
|
41
|
+
/** Execute a command */
|
|
42
|
+
exec(command: string, args: string[], options?: ExecOptions): Promise<ExecResult>;
|
|
43
|
+
/** UI methods for user interaction (select, confirm, input, notify, custom) */
|
|
44
|
+
ui: CustomToolUIContext;
|
|
45
|
+
/** Whether UI is available (false in print/RPC mode) */
|
|
46
|
+
hasUI: boolean;
|
|
47
|
+
/** File logger for error/warning/debug messages */
|
|
48
|
+
logger: typeof import("@oh-my-pi/pi-utils").logger;
|
|
49
|
+
/** Injected zod-backed typebox shim (legacy/compat — Zod-authored tools are preferred). */
|
|
50
|
+
typebox: typeof import("../typebox");
|
|
51
|
+
/** Injected zod module for Zod-authored custom tools. */
|
|
52
|
+
zod: typeof import("zod/v4");
|
|
53
|
+
/** Injected pi-coding-agent exports */
|
|
54
|
+
pi: typeof import("../..");
|
|
55
|
+
/** Push a preview action that can later be resolved with the hidden resolve tool */
|
|
56
|
+
pushPendingAction(action: CustomToolPendingAction): void;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Context passed to tool execute and onSession callbacks.
|
|
60
|
+
* Provides access to session state and model information.
|
|
61
|
+
*/
|
|
62
|
+
export interface CustomToolContext {
|
|
63
|
+
/** Session manager (read-only) */
|
|
64
|
+
sessionManager: ReadonlySessionManager;
|
|
65
|
+
/** Model registry - use for API key resolution and model retrieval */
|
|
66
|
+
modelRegistry: ModelRegistry;
|
|
67
|
+
/** Current model (may be undefined if no model is selected yet) */
|
|
68
|
+
model: Model | undefined;
|
|
69
|
+
/** Whether the agent is idle (not streaming) */
|
|
70
|
+
isIdle(): boolean;
|
|
71
|
+
/** Whether there are queued messages waiting to be processed */
|
|
72
|
+
hasQueuedMessages(): boolean;
|
|
73
|
+
/** Abort the current agent operation (fire-and-forget, does not wait) */
|
|
74
|
+
abort(): void;
|
|
75
|
+
/** Settings instance for the current session. Prefer over the global singleton. */
|
|
76
|
+
settings?: Settings;
|
|
77
|
+
}
|
|
78
|
+
/** Session event passed to onSession callback */
|
|
79
|
+
export type CustomToolSessionEvent = {
|
|
80
|
+
/** Reason for the session event */
|
|
81
|
+
reason: "start" | "switch" | "branch" | "tree" | "shutdown";
|
|
82
|
+
/** Previous session file path, or undefined for "start" and "shutdown" */
|
|
83
|
+
previousSessionFile: string | undefined;
|
|
84
|
+
} | {
|
|
85
|
+
reason: "auto_compaction_start";
|
|
86
|
+
trigger: "threshold" | "overflow" | "idle";
|
|
87
|
+
action: "context-full" | "handoff";
|
|
88
|
+
} | {
|
|
89
|
+
reason: "auto_compaction_end";
|
|
90
|
+
action: "context-full" | "handoff";
|
|
91
|
+
result: CompactionResult | undefined;
|
|
92
|
+
aborted: boolean;
|
|
93
|
+
willRetry: boolean;
|
|
94
|
+
errorMessage?: string;
|
|
95
|
+
} | {
|
|
96
|
+
reason: "auto_retry_start";
|
|
97
|
+
attempt: number;
|
|
98
|
+
maxAttempts: number;
|
|
99
|
+
delayMs: number;
|
|
100
|
+
errorMessage: string;
|
|
101
|
+
} | {
|
|
102
|
+
reason: "auto_retry_end";
|
|
103
|
+
success: boolean;
|
|
104
|
+
attempt: number;
|
|
105
|
+
finalError?: string;
|
|
106
|
+
} | {
|
|
107
|
+
reason: "ttsr_triggered";
|
|
108
|
+
rules: Rule[];
|
|
109
|
+
} | {
|
|
110
|
+
reason: "todo_reminder";
|
|
111
|
+
todos: TodoItem[];
|
|
112
|
+
attempt: number;
|
|
113
|
+
maxAttempts: number;
|
|
114
|
+
};
|
|
115
|
+
/** Rendering options passed to renderResult */
|
|
116
|
+
export interface RenderResultOptions {
|
|
117
|
+
/** Whether the result view is expanded */
|
|
118
|
+
expanded: boolean;
|
|
119
|
+
/** Whether this is a partial/streaming result */
|
|
120
|
+
isPartial: boolean;
|
|
121
|
+
/** Current spinner frame index for animated elements (0-9, only provided during partial results) */
|
|
122
|
+
spinnerFrame?: number;
|
|
123
|
+
}
|
|
124
|
+
export type CustomToolResult<TDetails = any> = AgentToolResult<TDetails>;
|
|
125
|
+
/**
|
|
126
|
+
* Custom tool definition.
|
|
127
|
+
*
|
|
128
|
+
* Custom tools are standalone - they don't extend AgentTool directly.
|
|
129
|
+
* When loaded, they are wrapped in an AgentTool for the agent to use.
|
|
130
|
+
*
|
|
131
|
+
* The execute callback receives a ToolContext with access to session state,
|
|
132
|
+
* model registry, and current model.
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```typescript
|
|
136
|
+
* const factory: CustomToolFactory = (pi) => ({
|
|
137
|
+
* name: "my_tool",
|
|
138
|
+
* label: "My Tool",
|
|
139
|
+
* description: "Does something useful",
|
|
140
|
+
* parameters: Type.Object({ input: Type.String() }),
|
|
141
|
+
*
|
|
142
|
+
* async execute(toolCallId, params, onUpdate, ctx, signal) {
|
|
143
|
+
* // Access session state via ctx.sessionManager
|
|
144
|
+
* // Access model registry via ctx.modelRegistry
|
|
145
|
+
* // Current model via ctx.model
|
|
146
|
+
* return { content: [{ type: "text", text: "Done" }] };
|
|
147
|
+
* },
|
|
148
|
+
*
|
|
149
|
+
* onSession(event, ctx) {
|
|
150
|
+
* if (event.reason === "shutdown") {
|
|
151
|
+
* // Cleanup
|
|
152
|
+
* }
|
|
153
|
+
* // Reconstruct state from ctx.sessionManager.getEntries()
|
|
154
|
+
* }
|
|
155
|
+
* });
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
export interface CustomTool<TParams extends TSchema = TSchema, TDetails = any> {
|
|
159
|
+
/** Tool name (used in LLM tool calls) */
|
|
160
|
+
name: string;
|
|
161
|
+
/** Human-readable label for UI */
|
|
162
|
+
label: string;
|
|
163
|
+
/** If true, tool is strictly typed and validated against the parameters schema before execution */
|
|
164
|
+
strict?: boolean;
|
|
165
|
+
/** Description for LLM */
|
|
166
|
+
description: string;
|
|
167
|
+
/** Parameter schema (Zod or TypeBox; TypeBox is auto-lifted to Zod at registration). */
|
|
168
|
+
parameters: TParams;
|
|
169
|
+
/** If true, tool is excluded unless explicitly listed in --tools or agent's tools field */
|
|
170
|
+
hidden?: boolean;
|
|
171
|
+
/** If true, tool may stage deferred changes that require explicit resolve/discard. */
|
|
172
|
+
deferrable?: boolean;
|
|
173
|
+
/** MCP server name for discovery/search metadata when this tool fronts an MCP server. */
|
|
174
|
+
mcpServerName?: string;
|
|
175
|
+
/** Original MCP tool name for discovery/search metadata. */
|
|
176
|
+
mcpToolName?: string;
|
|
177
|
+
/**
|
|
178
|
+
* Execute the tool.
|
|
179
|
+
* @param toolCallId - Unique ID for this tool call
|
|
180
|
+
* @param params - Parsed parameters matching the schema
|
|
181
|
+
* @param onUpdate - Callback for streaming partial results (for UI, not LLM)
|
|
182
|
+
* @param ctx - Context with session manager, model registry, and current model
|
|
183
|
+
* @param signal - Optional abort signal for cancellation
|
|
184
|
+
*/
|
|
185
|
+
execute(toolCallId: string, params: Static<TParams>, onUpdate: AgentToolUpdateCallback<TDetails, TParams> | undefined, ctx: CustomToolContext, signal?: AbortSignal): Promise<AgentToolResult<TDetails, TParams>>;
|
|
186
|
+
/** Called on session lifecycle events - use to reconstruct state or cleanup resources */
|
|
187
|
+
onSession?: (event: CustomToolSessionEvent, ctx: CustomToolContext) => void | Promise<void>;
|
|
188
|
+
/** Custom rendering for tool call display - return a Component */
|
|
189
|
+
renderCall?: (args: Static<TParams>, options: RenderResultOptions, theme: Theme) => Component;
|
|
190
|
+
/** Custom rendering for tool result display - return a Component */
|
|
191
|
+
renderResult?: (result: CustomToolResult<TDetails>, options: RenderResultOptions, theme: Theme, args?: Static<TParams>) => Component;
|
|
192
|
+
}
|
|
193
|
+
/** Factory function that creates a custom tool or array of tools */
|
|
194
|
+
export type CustomToolFactory = (pi: CustomToolAPI) => CustomTool<any, any> | CustomTool<any, any>[] | Promise<CustomTool<any, any> | CustomTool<any, any>[]>;
|
|
195
|
+
/** Loaded custom tool with metadata and wrapped AgentTool */
|
|
196
|
+
export interface LoadedCustomTool<TParams extends TSchema = TSchema, TDetails = any> {
|
|
197
|
+
/** Original path (as specified) */
|
|
198
|
+
path: string;
|
|
199
|
+
/** Resolved absolute path */
|
|
200
|
+
resolvedPath: string;
|
|
201
|
+
/** The original custom tool instance */
|
|
202
|
+
tool: CustomTool<TParams, TDetails>;
|
|
203
|
+
/** Source metadata (provider and level) */
|
|
204
|
+
source?: {
|
|
205
|
+
provider: string;
|
|
206
|
+
providerName: string;
|
|
207
|
+
level: "user" | "project";
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
/** Error with source metadata */
|
|
211
|
+
export interface ToolLoadError {
|
|
212
|
+
path: string;
|
|
213
|
+
error: string;
|
|
214
|
+
source?: {
|
|
215
|
+
provider: string;
|
|
216
|
+
providerName: string;
|
|
217
|
+
level: "user" | "project";
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
/** Result from loading custom tools */
|
|
221
|
+
export interface CustomToolsLoadResult {
|
|
222
|
+
tools: LoadedCustomTool[];
|
|
223
|
+
errors: ToolLoadError[];
|
|
224
|
+
/** Update the UI context for all loaded tools. Call when mode initializes. */
|
|
225
|
+
setUIContext(uiContext: CustomToolUIContext, hasUI: boolean): void;
|
|
226
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CustomToolAdapter wraps CustomTool instances into AgentTool for use with the agent.
|
|
3
|
+
*/
|
|
4
|
+
import type { AgentTool, AgentToolUpdateCallback } from "@oh-my-pi/pi-agent-core";
|
|
5
|
+
import type { Static, TSchema } from "@oh-my-pi/pi-ai";
|
|
6
|
+
import type { Theme } from "../../modes/theme/theme";
|
|
7
|
+
import type { CustomTool, CustomToolContext } from "./types";
|
|
8
|
+
export declare class CustomToolAdapter<TParams extends TSchema = TSchema, TDetails = any, TTheme extends Theme = Theme> implements AgentTool<TParams, TDetails, TTheme> {
|
|
9
|
+
private tool;
|
|
10
|
+
private getContext;
|
|
11
|
+
name: string;
|
|
12
|
+
label: string;
|
|
13
|
+
description: string;
|
|
14
|
+
parameters: TParams;
|
|
15
|
+
readonly strict: boolean | undefined;
|
|
16
|
+
constructor(tool: CustomTool<TParams, TDetails>, getContext: () => CustomToolContext);
|
|
17
|
+
execute(toolCallId: string, params: Static<TParams>, signal?: AbortSignal, onUpdate?: AgentToolUpdateCallback<TDetails, TParams>, context?: CustomToolContext): Promise<import("@oh-my-pi/pi-agent-core").AgentToolResult<TDetails, TParams>>;
|
|
18
|
+
/**
|
|
19
|
+
* Backward-compatible export of factory function for existing callers.
|
|
20
|
+
* Prefer CustomToolAdapter constructor directly.
|
|
21
|
+
*/
|
|
22
|
+
static wrap<TParams extends TSchema = TSchema, TDetails = any, TTheme extends Theme = Theme>(tool: CustomTool<TParams, TDetails>, getContext: () => CustomToolContext): AgentTool<TParams, TDetails, TTheme>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper for wiring the `compact` action of an {@link ExtensionContext}.
|
|
3
|
+
*
|
|
4
|
+
* Extension-facing APIs accept `string | CompactOptions`, but `AgentSession.compact`
|
|
5
|
+
* takes two positional arguments `(instructions, options)`. This helper splits the
|
|
6
|
+
* union so the same adapter can be reused by print-mode, rpc-mode, and the executor.
|
|
7
|
+
*/
|
|
8
|
+
import type { Model } from "@oh-my-pi/pi-ai";
|
|
9
|
+
import type { CompactOptions } from "./types";
|
|
10
|
+
interface CompactableSession {
|
|
11
|
+
compact(instructions?: string, options?: CompactOptions): Promise<unknown>;
|
|
12
|
+
}
|
|
13
|
+
export declare function runExtensionCompact(session: CompactableSession, instructionsOrOptions: string | CompactOptions | undefined): Promise<void>;
|
|
14
|
+
interface SetModelCapableSession {
|
|
15
|
+
modelRegistry: {
|
|
16
|
+
getApiKey(model: Model): Promise<string | undefined>;
|
|
17
|
+
};
|
|
18
|
+
setModel(model: Model): Promise<unknown>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Helper for wiring the `setModel` action of an {@link ExtensionContext}.
|
|
22
|
+
*
|
|
23
|
+
* Returns false when no API key is available for the requested model.
|
|
24
|
+
*/
|
|
25
|
+
export declare function runExtensionSetModel(session: SetModelCapableSession, model: Model): Promise<boolean>;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper for wiring the `getCommands` action of {@link ExtensionAPI}.
|
|
3
|
+
*
|
|
4
|
+
* Centralizes the union over the three slash-command sources the runtime
|
|
5
|
+
* exposes so the five wiring sites (interactive UI, ACP, RPC, print, child
|
|
6
|
+
* task executor) cannot drift:
|
|
7
|
+
* - extension-registered hook commands (`source: "extension"`)
|
|
8
|
+
* - prompt commands loaded as `LoadedCustomCommand` — user/project/bundled
|
|
9
|
+
* custom commands and MCP prompts (`source: "prompt"`)
|
|
10
|
+
* - skill commands derived from `session.skills`, gated on
|
|
11
|
+
* `skillsSettings.enableSkillCommands` (`source: "skill"`)
|
|
12
|
+
*
|
|
13
|
+
* Built-in slash commands are intentionally excluded; `getCommands()` is the
|
|
14
|
+
* surface extensions use to discover dynamic commands they did not register
|
|
15
|
+
* themselves. Each frontend (interactive-mode, ACP) prepends its own builtins.
|
|
16
|
+
*/
|
|
17
|
+
import type { SkillsSettings } from "../../config/settings";
|
|
18
|
+
import type { LoadedCustomCommand } from "../custom-commands";
|
|
19
|
+
import { type Skill } from "../skills";
|
|
20
|
+
import type { SlashCommandInfo } from "../slash-commands";
|
|
21
|
+
import type { ExtensionRunner } from "./runner";
|
|
22
|
+
interface CommandsCapableSession {
|
|
23
|
+
readonly extensionRunner?: ExtensionRunner;
|
|
24
|
+
readonly customCommands: ReadonlyArray<LoadedCustomCommand>;
|
|
25
|
+
readonly skills: ReadonlyArray<Skill>;
|
|
26
|
+
readonly skillsSettings?: SkillsSettings;
|
|
27
|
+
}
|
|
28
|
+
export declare function getSessionSlashCommands(session: CommandsCapableSession): SlashCommandInfo[];
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extension system for lifecycle events and custom tools.
|
|
3
|
+
*/
|
|
4
|
+
export type { SlashCommandInfo, SlashCommandLocation, SlashCommandSource } from "../slash-commands";
|
|
5
|
+
export { discoverAndLoadExtensions, ExtensionRuntimeNotInitializedError, loadExtensionFromFactory, loadExtensions, } from "./loader";
|
|
6
|
+
export * from "./runner";
|
|
7
|
+
export * from "./types";
|
|
8
|
+
export * from "./wrapper";
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { ThinkingLevel } from "@oh-my-pi/pi-agent-core";
|
|
2
|
+
import { EventBus } from "../../utils/event-bus";
|
|
3
|
+
import type { Extension, ExtensionFactory, ExtensionRuntime as IExtensionRuntime, LoadExtensionsResult } from "./types";
|
|
4
|
+
export declare class ExtensionRuntimeNotInitializedError extends Error {
|
|
5
|
+
constructor();
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Extension runtime with throwing stubs for action methods.
|
|
9
|
+
* These are replaced with real implementations during initialization.
|
|
10
|
+
*/
|
|
11
|
+
export declare class ExtensionRuntime implements IExtensionRuntime {
|
|
12
|
+
flagValues: Map<string, string | boolean>;
|
|
13
|
+
pendingProviderRegistrations: Array<{
|
|
14
|
+
name: string;
|
|
15
|
+
config: import("./types").ProviderConfig;
|
|
16
|
+
sourceId: string;
|
|
17
|
+
}>;
|
|
18
|
+
sendMessage(): void;
|
|
19
|
+
sendUserMessage(): void;
|
|
20
|
+
appendEntry(): void;
|
|
21
|
+
setLabel(): void;
|
|
22
|
+
getActiveTools(): string[];
|
|
23
|
+
getAllTools(): string[];
|
|
24
|
+
setActiveTools(): Promise<void>;
|
|
25
|
+
getCommands(): never;
|
|
26
|
+
setModel(): Promise<boolean>;
|
|
27
|
+
getThinkingLevel(): ThinkingLevel;
|
|
28
|
+
setThinkingLevel(): void;
|
|
29
|
+
getSessionName(): string | undefined;
|
|
30
|
+
setSessionName(): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Create an Extension from an inline factory function.
|
|
34
|
+
*/
|
|
35
|
+
export declare function loadExtensionFromFactory(factory: ExtensionFactory, cwd: string, eventBus: EventBus, runtime: IExtensionRuntime, name?: string): Promise<Extension>;
|
|
36
|
+
/**
|
|
37
|
+
* Load extensions from paths.
|
|
38
|
+
*/
|
|
39
|
+
export declare function loadExtensions(paths: string[], cwd: string, eventBus?: EventBus): Promise<LoadExtensionsResult>;
|
|
40
|
+
/**
|
|
41
|
+
* Discover and load extensions from standard locations.
|
|
42
|
+
*/
|
|
43
|
+
export declare function discoverAndLoadExtensions(configuredPaths: string[], cwd: string, eventBus?: EventBus, disabledExtensionIds?: string[]): Promise<LoadExtensionsResult>;
|