@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
|
@@ -242,13 +242,14 @@ export const ModelsConfigFile = new ConfigFile<ModelsConfig>("models", ModelsCon
|
|
|
242
242
|
},
|
|
243
243
|
);
|
|
244
244
|
|
|
245
|
-
/** Provider override config (baseUrl, headers, apiKey, compat) without custom models */
|
|
245
|
+
/** Provider override config (baseUrl, headers, apiKey, compat, transport) without custom models */
|
|
246
246
|
interface ProviderOverride {
|
|
247
247
|
baseUrl?: string;
|
|
248
248
|
headers?: Record<string, string>;
|
|
249
249
|
apiKey?: string;
|
|
250
250
|
authHeader?: boolean;
|
|
251
251
|
compat?: Model<Api>["compat"];
|
|
252
|
+
transport?: Model<Api>["transport"];
|
|
252
253
|
}
|
|
253
254
|
|
|
254
255
|
interface DiscoveryProviderConfig {
|
|
@@ -792,6 +793,10 @@ export class ModelRegistry {
|
|
|
792
793
|
this.#customProviderApiKeys.clear();
|
|
793
794
|
this.#keylessProviders.clear();
|
|
794
795
|
this.#discoverableProviders = [];
|
|
796
|
+
// Drop config-sourced apiKeys from AuthStorage before reload; entries
|
|
797
|
+
// removed from models.yml must actually disappear from the resolver, not
|
|
798
|
+
// linger from the previous parse. The post-load setters below repopulate.
|
|
799
|
+
this.authStorage.clearConfigApiKeys();
|
|
795
800
|
// Restore runtime API keys before #loadModels — survives because
|
|
796
801
|
// #loadModels only calls .set() on #customProviderApiKeys, never reassigns it.
|
|
797
802
|
for (const [k, v] of this.#runtimeProviderApiKeys) {
|
|
@@ -1081,14 +1086,15 @@ export class ModelRegistry {
|
|
|
1081
1086
|
const configuredProviders = new Set(Object.keys(value.providers ?? {}));
|
|
1082
1087
|
|
|
1083
1088
|
for (const [providerName, providerConfig] of providerEntries) {
|
|
1084
|
-
// Always set overrides when baseUrl/headers/apiKey/authHeader/compat/disableStrictTools are present
|
|
1089
|
+
// Always set overrides when baseUrl/headers/apiKey/authHeader/compat/disableStrictTools/transport are present
|
|
1085
1090
|
if (
|
|
1086
1091
|
providerConfig.baseUrl ||
|
|
1087
1092
|
providerConfig.headers ||
|
|
1088
1093
|
providerConfig.apiKey ||
|
|
1089
1094
|
providerConfig.authHeader !== undefined ||
|
|
1090
1095
|
providerConfig.compat ||
|
|
1091
|
-
providerConfig.disableStrictTools
|
|
1096
|
+
providerConfig.disableStrictTools ||
|
|
1097
|
+
providerConfig.transport
|
|
1092
1098
|
) {
|
|
1093
1099
|
const disableStrictCompat = providerConfig.disableStrictTools ? { disableStrictTools: true } : undefined;
|
|
1094
1100
|
overrides.set(providerName, {
|
|
@@ -1097,6 +1103,7 @@ export class ModelRegistry {
|
|
|
1097
1103
|
apiKey: providerConfig.apiKey,
|
|
1098
1104
|
authHeader: providerConfig.authHeader,
|
|
1099
1105
|
compat: mergeCompat(providerConfig.compat, disableStrictCompat),
|
|
1106
|
+
transport: providerConfig.transport,
|
|
1100
1107
|
});
|
|
1101
1108
|
}
|
|
1102
1109
|
|
|
@@ -1117,9 +1124,14 @@ export class ModelRegistry {
|
|
|
1117
1124
|
});
|
|
1118
1125
|
}
|
|
1119
1126
|
|
|
1120
|
-
//
|
|
1127
|
+
// Store API key for fallback resolver AND register as config override
|
|
1128
|
+
// so it wins over OAuth tokens from the broker — when the user pins a
|
|
1129
|
+
// bearer in models.yml (e.g. for an auth-gateway baseUrl), that bearer
|
|
1130
|
+
// must authenticate the outbound request.
|
|
1121
1131
|
if (providerConfig.apiKey) {
|
|
1122
1132
|
this.#customProviderApiKeys.set(providerName, providerConfig.apiKey);
|
|
1133
|
+
const resolved = resolveApiKeyConfig(providerConfig.apiKey);
|
|
1134
|
+
if (resolved) this.authStorage.setConfigApiKey(providerName, resolved);
|
|
1123
1135
|
}
|
|
1124
1136
|
|
|
1125
1137
|
// Parse per-model overrides
|
|
@@ -1183,6 +1195,7 @@ export class ModelRegistry {
|
|
|
1183
1195
|
headers: providerOverride.headers
|
|
1184
1196
|
? { ...model.headers, ...providerOverride.headers }
|
|
1185
1197
|
: model.headers,
|
|
1198
|
+
...(providerOverride.transport !== undefined ? { transport: providerOverride.transport } : {}),
|
|
1186
1199
|
}
|
|
1187
1200
|
: model;
|
|
1188
1201
|
}),
|
|
@@ -1684,11 +1697,12 @@ export class ModelRegistry {
|
|
|
1684
1697
|
authHeader: override.authHeader ?? baseOverride?.authHeader,
|
|
1685
1698
|
headers: override.headers ? { ...(baseOverride?.headers ?? {}), ...override.headers } : baseOverride?.headers,
|
|
1686
1699
|
compat: override.compat ? mergeCompat(baseOverride?.compat, override.compat) : baseOverride?.compat,
|
|
1700
|
+
transport: override.transport ?? baseOverride?.transport,
|
|
1687
1701
|
};
|
|
1688
1702
|
}
|
|
1689
1703
|
#applyProviderTransportOverride<T extends { baseUrl?: string; headers?: Record<string, string> }>(
|
|
1690
1704
|
entry: T,
|
|
1691
|
-
override: Pick<ProviderOverride, "baseUrl" | "headers" | "authHeader" | "apiKey">,
|
|
1705
|
+
override: Pick<ProviderOverride, "baseUrl" | "headers" | "authHeader" | "apiKey" | "transport">,
|
|
1692
1706
|
): T {
|
|
1693
1707
|
const headers = mergeAuthHeader(
|
|
1694
1708
|
override.headers ? { ...entry.headers, ...override.headers } : entry.headers,
|
|
@@ -1699,6 +1713,9 @@ export class ModelRegistry {
|
|
|
1699
1713
|
...entry,
|
|
1700
1714
|
baseUrl: override.baseUrl ?? entry.baseUrl,
|
|
1701
1715
|
headers,
|
|
1716
|
+
// Preserve the model's existing transport when the override omits one;
|
|
1717
|
+
// providers without a `transport` field keep the default per-API dispatch.
|
|
1718
|
+
...(override.transport !== undefined ? { transport: override.transport } : {}),
|
|
1702
1719
|
};
|
|
1703
1720
|
}
|
|
1704
1721
|
#applyRuntimeProviderOverrides(models: Model<Api>[]): Model<Api>[] {
|
|
@@ -1766,6 +1783,8 @@ export class ModelRegistry {
|
|
|
1766
1783
|
if (modelDefs.length === 0) continue; // Override-only, no custom models
|
|
1767
1784
|
if (providerConfig.apiKey) {
|
|
1768
1785
|
this.#customProviderApiKeys.set(providerName, providerConfig.apiKey);
|
|
1786
|
+
const resolved = resolveApiKeyConfig(providerConfig.apiKey);
|
|
1787
|
+
if (resolved) this.authStorage.setConfigApiKey(providerName, resolved);
|
|
1769
1788
|
}
|
|
1770
1789
|
for (const modelDef of modelDefs) {
|
|
1771
1790
|
const providerCompat = providerConfig.disableStrictTools
|
|
@@ -2008,6 +2027,7 @@ export class ModelRegistry {
|
|
|
2008
2027
|
this.#runtimeProviderApiKeys.delete(providerName);
|
|
2009
2028
|
this.#runtimeProviderOverrides.delete(providerName);
|
|
2010
2029
|
this.#runtimeModelOverlays = this.#runtimeModelOverlays.filter(overlay => overlay.provider !== providerName);
|
|
2030
|
+
this.authStorage.removeConfigApiKey(providerName);
|
|
2011
2031
|
}
|
|
2012
2032
|
|
|
2013
2033
|
/**
|
|
@@ -2115,6 +2135,8 @@ export class ModelRegistry {
|
|
|
2115
2135
|
this.#customProviderApiKeys.set(providerName, config.apiKey);
|
|
2116
2136
|
// Persist runtime API keys so they survive #reloadStaticModels() cycles
|
|
2117
2137
|
this.#runtimeProviderApiKeys.set(providerName, config.apiKey);
|
|
2138
|
+
const resolved = resolveApiKeyConfig(config.apiKey);
|
|
2139
|
+
if (resolved) this.authStorage.setConfigApiKey(providerName, resolved);
|
|
2118
2140
|
}
|
|
2119
2141
|
|
|
2120
2142
|
if (config.models && config.models.length > 0) {
|
|
@@ -2168,12 +2190,19 @@ export class ModelRegistry {
|
|
|
2168
2190
|
return;
|
|
2169
2191
|
}
|
|
2170
2192
|
|
|
2171
|
-
if (
|
|
2193
|
+
if (
|
|
2194
|
+
config.baseUrl ||
|
|
2195
|
+
config.headers ||
|
|
2196
|
+
config.apiKey ||
|
|
2197
|
+
config.authHeader !== undefined ||
|
|
2198
|
+
config.transport !== undefined
|
|
2199
|
+
) {
|
|
2172
2200
|
const transportOverride = {
|
|
2173
2201
|
baseUrl: config.baseUrl,
|
|
2174
2202
|
headers: config.headers,
|
|
2175
2203
|
apiKey: config.apiKey,
|
|
2176
2204
|
authHeader: config.authHeader,
|
|
2205
|
+
transport: config.transport,
|
|
2177
2206
|
};
|
|
2178
2207
|
const nextRuntimeOverride = this.#mergeProviderOverride(
|
|
2179
2208
|
this.#runtimeProviderOverrides.get(providerName),
|
|
@@ -2221,6 +2250,8 @@ export interface ProviderConfigInput {
|
|
|
2221
2250
|
headers?: Record<string, string>;
|
|
2222
2251
|
compat?: Model<Api>["compat"];
|
|
2223
2252
|
authHeader?: boolean;
|
|
2253
|
+
/** Streaming transport override — see {@link Model.transport}. */
|
|
2254
|
+
transport?: Model<Api>["transport"];
|
|
2224
2255
|
oauth?: {
|
|
2225
2256
|
name: string;
|
|
2226
2257
|
login(callbacks: OAuthLoginCallbacks): Promise<OAuthCredentials | string>;
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
modelsAreEqual,
|
|
14
14
|
} from "@oh-my-pi/pi-ai";
|
|
15
15
|
import { fuzzyMatch } from "@oh-my-pi/pi-tui";
|
|
16
|
+
import { logger } from "@oh-my-pi/pi-utils";
|
|
16
17
|
import chalk from "chalk";
|
|
17
18
|
import MODEL_PRIO from "../priority.json" with { type: "json" };
|
|
18
19
|
import { parseThinkingLevel, resolveThinkingLevelForModel } from "../thinking";
|
|
@@ -116,12 +117,16 @@ function cloneModelWithRequestedId(model: Model<Api>, requestedId: string): Mode
|
|
|
116
117
|
};
|
|
117
118
|
}
|
|
118
119
|
|
|
119
|
-
const
|
|
120
|
+
const kProviderModelIndex = Symbol("model-resolver.providerIndex");
|
|
121
|
+
type ModelsWithProviderIndex = readonly Model<Api>[] & {
|
|
122
|
+
[kProviderModelIndex]?: Map<string, Model<Api> | null>;
|
|
123
|
+
};
|
|
120
124
|
|
|
121
125
|
function getProviderModelIndex(availableModels: readonly Model<Api>[]): Map<string, Model<Api> | null> {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
126
|
+
const tagged = availableModels as ModelsWithProviderIndex;
|
|
127
|
+
const cached = tagged[kProviderModelIndex];
|
|
128
|
+
if (cached) return cached;
|
|
129
|
+
const index = new Map<string, Model<Api> | null>();
|
|
125
130
|
for (const m of availableModels) {
|
|
126
131
|
const key = `${m.provider.toLowerCase()}\u0000${m.id.toLowerCase()}`;
|
|
127
132
|
if (index.has(key)) {
|
|
@@ -130,7 +135,7 @@ function getProviderModelIndex(availableModels: readonly Model<Api>[]): Map<stri
|
|
|
130
135
|
index.set(key, m);
|
|
131
136
|
}
|
|
132
137
|
}
|
|
133
|
-
|
|
138
|
+
tagged[kProviderModelIndex] = index;
|
|
134
139
|
return index;
|
|
135
140
|
}
|
|
136
141
|
|
|
@@ -887,7 +892,7 @@ export async function resolveModelScope(
|
|
|
887
892
|
});
|
|
888
893
|
|
|
889
894
|
if (matchingModels.length === 0) {
|
|
890
|
-
|
|
895
|
+
logger.warn(`No models match pattern "${pattern}"`);
|
|
891
896
|
continue;
|
|
892
897
|
}
|
|
893
898
|
|
|
@@ -930,11 +935,11 @@ export async function resolveModelScope(
|
|
|
930
935
|
);
|
|
931
936
|
|
|
932
937
|
if (warning) {
|
|
933
|
-
|
|
938
|
+
logger.warn(warning);
|
|
934
939
|
}
|
|
935
940
|
|
|
936
941
|
if (!model) {
|
|
937
|
-
|
|
942
|
+
logger.warn(`No models match pattern "${pattern}"`);
|
|
938
943
|
continue;
|
|
939
944
|
}
|
|
940
945
|
|
|
@@ -151,6 +151,14 @@ const ProviderConfigSchema = z.object({
|
|
|
151
151
|
models: z.array(ModelDefinitionSchema).optional(),
|
|
152
152
|
modelOverrides: z.record(z.string(), ModelOverrideSchema).optional(),
|
|
153
153
|
disableStrictTools: z.boolean().optional(),
|
|
154
|
+
/**
|
|
155
|
+
* Streaming transport override. When set to `"pi-native"`, omp dispatches
|
|
156
|
+
* every model under this provider via the auth-gateway's
|
|
157
|
+
* `POST /v1/pi/stream` endpoint instead of the per-provider SDK. The
|
|
158
|
+
* provider's `baseUrl` must point at a compatible `omp auth-gateway`
|
|
159
|
+
* and `apiKey` must carry the gateway bearer.
|
|
160
|
+
*/
|
|
161
|
+
transport: z.literal("pi-native").optional(),
|
|
154
162
|
});
|
|
155
163
|
|
|
156
164
|
const EquivalenceConfigSchema = z.object({
|
|
@@ -234,6 +234,13 @@ export const SETTINGS_SCHEMA = {
|
|
|
234
234
|
// ────────────────────────────────────────────────────────────────────────
|
|
235
235
|
lastChangelogVersion: { type: "string", default: undefined },
|
|
236
236
|
|
|
237
|
+
// Auth broker — credentials proxied through a remote `omp auth-broker serve`
|
|
238
|
+
// host. Hidden from the UI; populate via env vars or hand-edited config.yml.
|
|
239
|
+
// Env (`OMP_AUTH_BROKER_URL` / `OMP_AUTH_BROKER_TOKEN`) takes precedence so
|
|
240
|
+
// per-machine overrides remain trivial.
|
|
241
|
+
"auth.broker.url": { type: "string", default: undefined },
|
|
242
|
+
"auth.broker.token": { type: "string", default: undefined },
|
|
243
|
+
|
|
237
244
|
autoResume: {
|
|
238
245
|
type: "boolean",
|
|
239
246
|
default: false,
|
|
@@ -909,6 +916,16 @@ export const SETTINGS_SCHEMA = {
|
|
|
909
916
|
},
|
|
910
917
|
},
|
|
911
918
|
|
|
919
|
+
emojiAutocomplete: {
|
|
920
|
+
type: "boolean",
|
|
921
|
+
default: true,
|
|
922
|
+
ui: {
|
|
923
|
+
tab: "interaction",
|
|
924
|
+
label: "Emoji Autocomplete",
|
|
925
|
+
description: "Suggest emojis from `:name:` shortcodes and expand text emoticons like `:D` or `:-)`",
|
|
926
|
+
},
|
|
927
|
+
},
|
|
928
|
+
|
|
912
929
|
"startup.quiet": {
|
|
913
930
|
type: "boolean",
|
|
914
931
|
default: false,
|
|
@@ -2636,6 +2653,41 @@ export const SETTINGS_SCHEMA = {
|
|
|
2636
2653
|
},
|
|
2637
2654
|
},
|
|
2638
2655
|
|
|
2656
|
+
"dev.autoqaPush.endpoint": {
|
|
2657
|
+
type: "string",
|
|
2658
|
+
// Bundled QA collector — runs `/work/pi-www/autoqa` behind qa.omp.sh.
|
|
2659
|
+
// Override via `PI_AUTO_QA_PUSH_URL` or `dev.autoqaPush.endpoint`
|
|
2660
|
+
// in `config.yml` to point at a self-hosted instance.
|
|
2661
|
+
default: "https://qa.omp.sh/v1/grievances" as const,
|
|
2662
|
+
ui: {
|
|
2663
|
+
tab: "tools",
|
|
2664
|
+
label: "Auto QA Push Endpoint",
|
|
2665
|
+
description: "Full URL that receives the JSON payload (default ships to https://qa.omp.sh/v1/grievances)",
|
|
2666
|
+
},
|
|
2667
|
+
},
|
|
2668
|
+
|
|
2669
|
+
"dev.autoqaPush.token": {
|
|
2670
|
+
type: "string",
|
|
2671
|
+
default: undefined,
|
|
2672
|
+
},
|
|
2673
|
+
|
|
2674
|
+
/**
|
|
2675
|
+
* User decision on sharing automatic `report_tool_issue` grievances.
|
|
2676
|
+
*
|
|
2677
|
+
* - `"unset"` — never asked; the first `report_tool_issue` invocation
|
|
2678
|
+
* pops a consent dialog and persists the answer here.
|
|
2679
|
+
* - `"granted"` — record and (when push is configured) ship grievances.
|
|
2680
|
+
* - `"denied"` — silently no-op every `report_tool_issue` call.
|
|
2681
|
+
*
|
|
2682
|
+
* Owned by `packages/coding-agent/src/tools/report-tool-issue.ts` via the
|
|
2683
|
+
* process-global consent handler registered by `InteractiveMode`.
|
|
2684
|
+
*/
|
|
2685
|
+
"dev.autoqa.consent": {
|
|
2686
|
+
type: "enum",
|
|
2687
|
+
values: ["unset", "granted", "denied"] as const,
|
|
2688
|
+
default: "unset" as const,
|
|
2689
|
+
},
|
|
2690
|
+
|
|
2639
2691
|
"thinkingBudgets.minimal": { type: "number", default: 1024 },
|
|
2640
2692
|
|
|
2641
2693
|
"thinkingBudgets.low": { type: "number", default: 2048 },
|
package/src/cursor.ts
CHANGED
|
@@ -13,7 +13,7 @@ import type {
|
|
|
13
13
|
CursorExecHandlers as ICursorExecHandlers,
|
|
14
14
|
ToolResultMessage,
|
|
15
15
|
} from "@oh-my-pi/pi-ai";
|
|
16
|
-
import { sanitizeText } from "@oh-my-pi/pi-
|
|
16
|
+
import { sanitizeText } from "@oh-my-pi/pi-utils";
|
|
17
17
|
import { resolveToCwd } from "./tools/path-utils";
|
|
18
18
|
|
|
19
19
|
interface CursorExecBridgeOptions {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { sanitizeText } from "@oh-my-pi/pi-
|
|
1
|
+
import { sanitizeText } from "@oh-my-pi/pi-utils";
|
|
2
2
|
import { replaceTabs, truncateToWidth, wrapTextWithAnsi } from "../tools/render-utils";
|
|
3
3
|
|
|
4
4
|
export function formatDebugLogLine(line: string, maxWidth: number): string {
|
package/src/debug/log-viewer.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { sanitizeText } from "@oh-my-pi/pi-natives";
|
|
2
1
|
import {
|
|
3
2
|
type Component,
|
|
4
3
|
extractPrintableText,
|
|
@@ -8,6 +7,7 @@ import {
|
|
|
8
7
|
truncateToWidth,
|
|
9
8
|
visibleWidth,
|
|
10
9
|
} from "@oh-my-pi/pi-tui";
|
|
10
|
+
import { sanitizeText } from "@oh-my-pi/pi-utils";
|
|
11
11
|
import { theme } from "../modes/theme/theme";
|
|
12
12
|
import { copyToClipboard } from "../utils/clipboard";
|
|
13
13
|
import {
|
package/src/debug/profiler.ts
CHANGED
|
@@ -121,6 +121,10 @@ export async function startCpuProfile(): Promise<ProfilerSession> {
|
|
|
121
121
|
session.connect();
|
|
122
122
|
|
|
123
123
|
await session.post("Profiler.enable");
|
|
124
|
+
// Default CDP interval is 1ms, which mis-attributes await-resumption samples
|
|
125
|
+
// to the line after `await` (one sparse sample inherits the entire wait). 100µs
|
|
126
|
+
// scatters samples enough to keep CPU vs. async-wait attribution honest.
|
|
127
|
+
await session.post("Profiler.setSamplingInterval", { interval: 100 });
|
|
124
128
|
await session.post("Profiler.start");
|
|
125
129
|
|
|
126
130
|
return {
|
|
@@ -37,43 +37,50 @@ export interface RawSseDebugSnapshot {
|
|
|
37
37
|
lastUpdatedAt?: number;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function modelApi(model: Model | undefined): string | undefined {
|
|
49
|
-
return model?.api;
|
|
50
|
-
}
|
|
40
|
+
// Per-record char counts are stored in a parallel array (`#recordChars`) on
|
|
41
|
+
// the buffer rather than stamped onto each record via a symbol property.
|
|
42
|
+
// Stamping triggered hidden-class transitions in V8/JSC — the previous
|
|
43
|
+
// revision saw `trimRawLines` regress 4× (0.5s → 2.0s in a 50s profile)
|
|
44
|
+
// because every event-record allocation went through the slow dictionary
|
|
45
|
+
// path. The parallel array keeps records as plain monomorphic objects.
|
|
46
|
+
type TrimResult = { raw: string[]; truncated: boolean; originalChars: number; chars: number };
|
|
51
47
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
48
|
+
// Single-pass trim. Returns the final `chars` count using the historical
|
|
49
|
+
// formula `reduce(line.length + 1, init = 1)` so the new accounting matches
|
|
50
|
+
// the previous `countRecordChars` byte-for-byte (the trailing +1 covers the
|
|
51
|
+
// record-level newline that `rawRecordText` appends in `toRawText`).
|
|
52
|
+
//
|
|
53
|
+
// When the event fits within budget the input `raw` array is returned
|
|
54
|
+
// **by reference** — see the ownership contract documented at
|
|
55
|
+
// `RawSseDebugBuffer.recordEvent` below.
|
|
56
|
+
function trimRawLines(raw: string[]): TrimResult {
|
|
57
|
+
let originalChars = 0;
|
|
58
|
+
for (let i = 0; i < raw.length; i++) originalChars += raw[i].length + 1;
|
|
56
59
|
|
|
57
|
-
function trimRawLines(raw: string[]): { raw: string[]; truncated: boolean; originalChars: number } {
|
|
58
|
-
const originalChars = raw.reduce((sum, line) => sum + line.length + 1, 0);
|
|
59
60
|
if (originalChars <= MAX_RAW_SSE_EVENT_CHARS) {
|
|
60
|
-
return { raw
|
|
61
|
+
return { raw, truncated: false, originalChars, chars: originalChars + 1 };
|
|
61
62
|
}
|
|
62
63
|
|
|
63
64
|
const trimmed: string[] = [];
|
|
64
65
|
let remaining = MAX_RAW_SSE_EVENT_CHARS;
|
|
66
|
+
let chars = 1; // matches reduce(.., init = 1)
|
|
65
67
|
for (const line of raw) {
|
|
66
68
|
if (remaining <= 0) break;
|
|
67
69
|
if (line.length + 1 <= remaining) {
|
|
68
70
|
trimmed.push(line);
|
|
71
|
+
chars += line.length + 1;
|
|
69
72
|
remaining -= line.length + 1;
|
|
70
73
|
continue;
|
|
71
74
|
}
|
|
72
|
-
|
|
75
|
+
const slice = line.slice(0, Math.max(0, remaining));
|
|
76
|
+
trimmed.push(slice);
|
|
77
|
+
chars += slice.length + 1;
|
|
73
78
|
remaining = 0;
|
|
74
79
|
}
|
|
75
|
-
|
|
76
|
-
|
|
80
|
+
const tail = `: omp-debug-truncated originalChars=${originalChars}`;
|
|
81
|
+
trimmed.push(tail);
|
|
82
|
+
chars += tail.length + 1;
|
|
83
|
+
return { raw: trimmed, truncated: true, originalChars, chars };
|
|
77
84
|
}
|
|
78
85
|
|
|
79
86
|
export function formatRawSseIsoTime(timestamp: number): string {
|
|
@@ -110,6 +117,11 @@ function metadataTransport(response: ProviderResponseMetadata): string | undefin
|
|
|
110
117
|
|
|
111
118
|
export class RawSseDebugBuffer {
|
|
112
119
|
#records: RawSseDebugRecord[] = [];
|
|
120
|
+
// Parallel to `#records`: `#recordChars[i]` is the precomputed char count
|
|
121
|
+
// for `#records[i]`. Kept in lockstep by `#append` (push both) and
|
|
122
|
+
// `#enforceLimits` (shift both). See the comment above the class for why
|
|
123
|
+
// this is a sidecar array instead of a per-record property.
|
|
124
|
+
#recordChars: number[] = [];
|
|
113
125
|
#totalChars = 0;
|
|
114
126
|
#droppedRecords = 0;
|
|
115
127
|
#droppedChars = 0;
|
|
@@ -117,6 +129,7 @@ export class RawSseDebugBuffer {
|
|
|
117
129
|
#lastUpdatedAt: number | undefined;
|
|
118
130
|
#nextSequence = 1;
|
|
119
131
|
#listeners = new Set<() => void>();
|
|
132
|
+
#emitScheduled = false;
|
|
120
133
|
|
|
121
134
|
subscribe(listener: () => void): () => void {
|
|
122
135
|
this.#listeners.add(listener);
|
|
@@ -124,34 +137,46 @@ export class RawSseDebugBuffer {
|
|
|
124
137
|
}
|
|
125
138
|
|
|
126
139
|
recordResponse(response: ProviderResponseMetadata, model?: Model): void {
|
|
127
|
-
|
|
140
|
+
const record: RawSseDebugRecord = {
|
|
128
141
|
kind: "response",
|
|
129
142
|
sequence: this.#nextSequence++,
|
|
130
143
|
timestamp: Date.now(),
|
|
131
|
-
provider:
|
|
132
|
-
model:
|
|
133
|
-
api:
|
|
144
|
+
provider: model?.provider,
|
|
145
|
+
model: model?.id,
|
|
146
|
+
api: model?.api,
|
|
134
147
|
status: response.status,
|
|
135
148
|
requestId: response.requestId,
|
|
136
149
|
transport: metadataTransport(response),
|
|
137
|
-
}
|
|
150
|
+
};
|
|
151
|
+
this.#append(record, formatRawSseResponseComment(record).length + 1);
|
|
138
152
|
}
|
|
139
153
|
|
|
154
|
+
// Ownership contract for `event.raw`:
|
|
155
|
+
// The caller (either `notifyRawSseEvent` in `packages/ai/src/utils/sse-debug.ts`
|
|
156
|
+
// or `SseTeeParser.#dispatch` directly) hands us a freshly-allocated
|
|
157
|
+
// `string[]` per event and never retains, mutates, or re-dispatches it.
|
|
158
|
+
// That lets `trimRawLines` keep the array by reference instead of
|
|
159
|
+
// cloning on every chunk — a measurable savings on the streaming hot
|
|
160
|
+
// path. If a future observer-chain mutates the array, restore the
|
|
161
|
+
// `raw.slice()` defensive copy inside `trimRawLines`.
|
|
140
162
|
recordEvent(event: RawSseEvent, model?: Model): void {
|
|
141
163
|
const trimmed = trimRawLines(event.raw);
|
|
142
164
|
this.#totalEvents += 1;
|
|
143
|
-
this.#append(
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
165
|
+
this.#append(
|
|
166
|
+
{
|
|
167
|
+
kind: "event",
|
|
168
|
+
sequence: this.#nextSequence++,
|
|
169
|
+
timestamp: Date.now(),
|
|
170
|
+
provider: model?.provider,
|
|
171
|
+
model: model?.id,
|
|
172
|
+
api: model?.api,
|
|
173
|
+
event: event.event,
|
|
174
|
+
raw: trimmed.raw,
|
|
175
|
+
truncated: trimmed.truncated,
|
|
176
|
+
originalChars: trimmed.originalChars,
|
|
177
|
+
},
|
|
178
|
+
trimmed.chars,
|
|
179
|
+
);
|
|
155
180
|
}
|
|
156
181
|
|
|
157
182
|
snapshot(): RawSseDebugSnapshot {
|
|
@@ -165,12 +190,14 @@ export class RawSseDebugBuffer {
|
|
|
165
190
|
}
|
|
166
191
|
|
|
167
192
|
toRawText(): string {
|
|
193
|
+
// Reads the live array directly: `rawRecordText` only computes a string
|
|
194
|
+
// from each record, so no caller-visible mutation is possible.
|
|
168
195
|
return this.#records.map(rawRecordText).join("\n");
|
|
169
196
|
}
|
|
170
197
|
|
|
171
|
-
#append(record: RawSseDebugRecord): void {
|
|
172
|
-
const chars = countRecordChars(record);
|
|
198
|
+
#append(record: RawSseDebugRecord, chars: number): void {
|
|
173
199
|
this.#records.push(record);
|
|
200
|
+
this.#recordChars.push(chars);
|
|
174
201
|
this.#totalChars += chars;
|
|
175
202
|
this.#lastUpdatedAt = record.timestamp;
|
|
176
203
|
this.#enforceLimits();
|
|
@@ -179,9 +206,9 @@ export class RawSseDebugBuffer {
|
|
|
179
206
|
|
|
180
207
|
#enforceLimits(): void {
|
|
181
208
|
while (this.#records.length > MAX_RAW_SSE_EVENTS || this.#totalChars > MAX_RAW_SSE_CHARS) {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
const chars =
|
|
209
|
+
if (this.#records.length === 0) return;
|
|
210
|
+
this.#records.shift();
|
|
211
|
+
const chars = this.#recordChars.shift() ?? 0;
|
|
185
212
|
this.#totalChars = Math.max(0, this.#totalChars - chars);
|
|
186
213
|
this.#droppedRecords += 1;
|
|
187
214
|
this.#droppedChars += chars;
|
|
@@ -189,6 +216,26 @@ export class RawSseDebugBuffer {
|
|
|
189
216
|
}
|
|
190
217
|
|
|
191
218
|
#emit(): void {
|
|
219
|
+
const count = this.#listeners.size;
|
|
220
|
+
if (count === 0) return;
|
|
221
|
+
// With a single listener (the common case — RawSse debug viewer is the
|
|
222
|
+
// only subscriber), keep eager emit so per-event semantics are
|
|
223
|
+
// preserved. With multiple listeners, coalesce bursts of events into
|
|
224
|
+
// one microtask-deferred fan-out to avoid N×M listener invocations
|
|
225
|
+
// during a streaming response.
|
|
226
|
+
if (count === 1) {
|
|
227
|
+
this.#fanOut();
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
if (this.#emitScheduled) return;
|
|
231
|
+
this.#emitScheduled = true;
|
|
232
|
+
queueMicrotask(() => {
|
|
233
|
+
this.#emitScheduled = false;
|
|
234
|
+
this.#fanOut();
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
#fanOut(): void {
|
|
192
239
|
for (const listener of this.#listeners) {
|
|
193
240
|
try {
|
|
194
241
|
listener();
|
|
@@ -199,31 +246,25 @@ export class RawSseDebugBuffer {
|
|
|
199
246
|
}
|
|
200
247
|
}
|
|
201
248
|
|
|
202
|
-
const fallbackBuffers = new WeakMap<object, RawSseDebugBuffer>();
|
|
203
249
|
const globalFallbackBuffer = new RawSseDebugBuffer();
|
|
250
|
+
const kRawSseDebugBuffer = Symbol("debug.rawSseBuffer");
|
|
251
|
+
type OwnerWithBuffer = object & { rawSseDebugBuffer?: unknown; [kRawSseDebugBuffer]?: RawSseDebugBuffer };
|
|
204
252
|
|
|
205
253
|
export function resolveRawSseDebugBuffer(owner?: object): RawSseDebugBuffer {
|
|
206
254
|
if (!owner) return globalFallbackBuffer;
|
|
207
255
|
|
|
208
|
-
const
|
|
209
|
-
|
|
256
|
+
const tagged = owner as OwnerWithBuffer;
|
|
257
|
+
const declared = tagged.rawSseDebugBuffer;
|
|
258
|
+
if (declared instanceof RawSseDebugBuffer) return declared;
|
|
210
259
|
|
|
211
|
-
const existing =
|
|
260
|
+
const existing = tagged[kRawSseDebugBuffer];
|
|
212
261
|
if (existing) return existing;
|
|
213
262
|
|
|
214
263
|
const buffer = new RawSseDebugBuffer();
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
value: buffer,
|
|
220
|
-
configurable: true,
|
|
221
|
-
enumerable: false,
|
|
222
|
-
writable: true,
|
|
223
|
-
});
|
|
224
|
-
} catch {
|
|
225
|
-
// The WeakMap fallback remains usable if the session object rejects extension.
|
|
226
|
-
}
|
|
264
|
+
try {
|
|
265
|
+
tagged[kRawSseDebugBuffer] = buffer;
|
|
266
|
+
} catch {
|
|
267
|
+
// Non-extensible owner: caller gets a fresh buffer on each call.
|
|
227
268
|
}
|
|
228
269
|
return buffer;
|
|
229
270
|
}
|
package/src/debug/raw-sse.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { sanitizeText } from "@oh-my-pi/pi-natives";
|
|
2
1
|
import { type Component, matchesKey, padding, replaceTabs, truncateToWidth, visibleWidth } from "@oh-my-pi/pi-tui";
|
|
2
|
+
import { sanitizeText } from "@oh-my-pi/pi-utils";
|
|
3
3
|
import { theme } from "../modes/theme/theme";
|
|
4
4
|
import { copyToClipboard } from "../utils/clipboard";
|
|
5
5
|
import { formatRawSseIsoTime, type RawSseDebugBuffer, rawSseRecordLines } from "./raw-sse-buffer";
|
package/src/discovery/agents.ts
CHANGED
|
@@ -33,13 +33,24 @@ function getUserPathCandidates(ctx: LoadContext, ...segments: string[]): string[
|
|
|
33
33
|
return AGENT_DIR_CANDIDATES.map(baseDir => path.join(ctx.home, baseDir, ...segments));
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
/**
|
|
37
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Project-level paths: walk up from cwd to repoRoot, returning `.agent/<segments>`
|
|
38
|
+
* and `.agents/<segments>` at each ancestor.
|
|
39
|
+
*
|
|
40
|
+
* The user home directory is skipped: `~/.agent[s]/` is by definition
|
|
41
|
+
* user-level config and is already enumerated by {@link getUserPathCandidates}.
|
|
42
|
+
* Without this guard, any cwd under `$HOME` (with no closer git repoRoot) would
|
|
43
|
+
* walk up to home and yield duplicate project+user entries for the same
|
|
44
|
+
* directory — see https://github.com/can1357/oh-my-pi/issues/1116.
|
|
45
|
+
*/
|
|
46
|
+
export function getProjectPathCandidates(ctx: LoadContext, ...segments: string[]): string[] {
|
|
38
47
|
const paths: string[] = [];
|
|
39
48
|
let current = ctx.cwd;
|
|
40
49
|
while (true) {
|
|
41
|
-
|
|
42
|
-
|
|
50
|
+
if (current !== ctx.home) {
|
|
51
|
+
for (const baseDir of AGENT_DIR_CANDIDATES) {
|
|
52
|
+
paths.push(path.join(current, baseDir, ...segments));
|
|
53
|
+
}
|
|
43
54
|
}
|
|
44
55
|
if (current === (ctx.repoRoot ?? ctx.home)) break;
|
|
45
56
|
const parent = path.dirname(current);
|
|
@@ -14,11 +14,7 @@ import { ApplyPatchError } from "../diff";
|
|
|
14
14
|
import type { PatchEditEntry } from "./patch";
|
|
15
15
|
|
|
16
16
|
export const applyPatchSchema = z.object({
|
|
17
|
-
input: z
|
|
18
|
-
.string()
|
|
19
|
-
.describe(
|
|
20
|
-
"Full Codex apply_patch envelope, including '*** Begin Patch' and '*** End Patch'. Contains any mix of Add/Delete/Update (with optional Move to) file operations.",
|
|
21
|
-
),
|
|
17
|
+
input: z.string().describe("apply_patch envelope"),
|
|
22
18
|
});
|
|
23
19
|
|
|
24
20
|
export type ApplyPatchParams = z.infer<typeof applyPatchSchema>;
|