@oh-my-pi/pi-coding-agent 16.3.5 → 16.3.7
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 +78 -0
- package/dist/cli.js +3625 -3596
- package/dist/types/advisor/index.d.ts +6 -6
- package/dist/types/advisor/runtime.d.ts +1 -1
- package/dist/types/advisor/watchdog.d.ts +1 -1
- package/dist/types/async/index.d.ts +1 -1
- package/dist/types/auto-thinking/classifier.d.ts +2 -2
- package/dist/types/autolearn/controller.d.ts +2 -2
- package/dist/types/autoresearch/dashboard.d.ts +2 -2
- package/dist/types/autoresearch/git.d.ts +1 -1
- package/dist/types/autoresearch/helpers.d.ts +1 -1
- package/dist/types/autoresearch/index.d.ts +1 -1
- package/dist/types/autoresearch/state.d.ts +3 -3
- package/dist/types/autoresearch/storage.d.ts +1 -1
- package/dist/types/autoresearch/tools/init-experiment.d.ts +2 -2
- package/dist/types/autoresearch/tools/log-experiment.d.ts +2 -2
- package/dist/types/autoresearch/tools/run-experiment.d.ts +2 -2
- package/dist/types/autoresearch/tools/update-notes.d.ts +2 -2
- package/dist/types/autoresearch/types.d.ts +3 -3
- package/dist/types/capability/context-file.d.ts +2 -2
- package/dist/types/capability/extension-module.d.ts +2 -2
- package/dist/types/capability/extension.d.ts +3 -3
- package/dist/types/capability/hook.d.ts +2 -2
- package/dist/types/capability/index.d.ts +3 -3
- package/dist/types/capability/instruction.d.ts +2 -2
- package/dist/types/capability/mcp.d.ts +2 -2
- package/dist/types/capability/prompt.d.ts +2 -2
- package/dist/types/capability/rule-buckets.d.ts +2 -2
- package/dist/types/capability/rule.d.ts +2 -2
- package/dist/types/capability/settings.d.ts +2 -2
- package/dist/types/capability/skill.d.ts +2 -2
- package/dist/types/capability/slash-command.d.ts +2 -2
- package/dist/types/capability/ssh.d.ts +2 -2
- package/dist/types/capability/system-prompt.d.ts +2 -2
- package/dist/types/capability/tool.d.ts +2 -2
- package/dist/types/cli/args.d.ts +1 -1
- package/dist/types/cli/bench-cli.d.ts +2 -2
- package/dist/types/cli/dry-balance-cli.d.ts +1 -1
- package/dist/types/cli/extension-flags.d.ts +1 -1
- package/dist/types/cli/flag-tables.d.ts +2 -2
- package/dist/types/cli/gallery-cli.d.ts +1 -1
- package/dist/types/cli/gallery-fixtures/agentic.d.ts +1 -1
- package/dist/types/cli/gallery-fixtures/codeintel.d.ts +1 -1
- package/dist/types/cli/gallery-fixtures/edit.d.ts +1 -1
- package/dist/types/cli/gallery-fixtures/fs.d.ts +1 -1
- package/dist/types/cli/gallery-fixtures/index.d.ts +2 -2
- package/dist/types/cli/gallery-fixtures/interaction.d.ts +1 -1
- package/dist/types/cli/gallery-fixtures/memory.d.ts +1 -1
- package/dist/types/cli/gallery-fixtures/misc.d.ts +1 -1
- package/dist/types/cli/gallery-fixtures/search.d.ts +1 -1
- package/dist/types/cli/gallery-fixtures/shell.d.ts +1 -1
- package/dist/types/cli/gallery-fixtures/types.d.ts +1 -1
- package/dist/types/cli/gallery-fixtures/web.d.ts +1 -1
- package/dist/types/cli/gallery-screenshot.d.ts +1 -1
- package/dist/types/cli/initial-message.d.ts +1 -1
- package/dist/types/cli/models-cli.d.ts +1 -1
- package/dist/types/cli/plugin-cli.d.ts +1 -1
- package/dist/types/cli/session-picker.d.ts +1 -1
- package/dist/types/cli/startup-cwd.d.ts +1 -1
- package/dist/types/cli/tiny-models-cli.d.ts +1 -1
- package/dist/types/cli/web-search-cli.d.ts +1 -1
- package/dist/types/collab/crypto.d.ts +1 -1
- package/dist/types/collab/display-name.d.ts +1 -1
- package/dist/types/collab/guest.d.ts +4 -4
- package/dist/types/collab/host.d.ts +2 -2
- package/dist/types/collab/protocol.d.ts +3 -3
- package/dist/types/collab/relay-client.d.ts +1 -1
- package/dist/types/commands/auth-broker.d.ts +1 -1
- package/dist/types/commands/auth-gateway.d.ts +1 -1
- package/dist/types/commands/config.d.ts +1 -1
- package/dist/types/commands/plugin.d.ts +1 -1
- package/dist/types/commands/setup.d.ts +2 -2
- package/dist/types/commands/ssh.d.ts +1 -1
- package/dist/types/commands/tiny-models.d.ts +1 -1
- package/dist/types/commands/ttsr.d.ts +2 -2
- package/dist/types/commit/agentic/agent.d.ts +4 -4
- package/dist/types/commit/agentic/fallback.d.ts +2 -2
- package/dist/types/commit/agentic/index.d.ts +1 -1
- package/dist/types/commit/agentic/state.d.ts +1 -1
- package/dist/types/commit/agentic/tools/analyze-file.d.ts +5 -5
- package/dist/types/commit/agentic/tools/git-file-diff.d.ts +2 -2
- package/dist/types/commit/agentic/tools/git-hunk.d.ts +1 -1
- package/dist/types/commit/agentic/tools/git-overview.d.ts +2 -2
- package/dist/types/commit/agentic/tools/index.d.ts +5 -5
- package/dist/types/commit/agentic/tools/propose-changelog.d.ts +2 -2
- package/dist/types/commit/agentic/tools/propose-commit.d.ts +2 -2
- package/dist/types/commit/agentic/tools/recent-commits.d.ts +1 -1
- package/dist/types/commit/agentic/tools/split-commit.d.ts +2 -2
- package/dist/types/commit/agentic/topo-sort.d.ts +1 -1
- package/dist/types/commit/agentic/trivial.d.ts +1 -1
- package/dist/types/commit/agentic/validation.d.ts +1 -1
- package/dist/types/commit/analysis/conventional.d.ts +1 -1
- package/dist/types/commit/analysis/index.d.ts +4 -4
- package/dist/types/commit/analysis/scope.d.ts +1 -1
- package/dist/types/commit/analysis/summary.d.ts +1 -1
- package/dist/types/commit/analysis/validation.d.ts +1 -1
- package/dist/types/commit/changelog/detect.d.ts +1 -1
- package/dist/types/commit/changelog/generate.d.ts +1 -1
- package/dist/types/commit/changelog/parse.d.ts +1 -1
- package/dist/types/commit/cli.d.ts +1 -1
- package/dist/types/commit/git/diff.d.ts +1 -1
- package/dist/types/commit/index.d.ts +1 -1
- package/dist/types/commit/map-reduce/index.d.ts +1 -1
- package/dist/types/commit/map-reduce/map-phase.d.ts +1 -1
- package/dist/types/commit/map-reduce/reduce-phase.d.ts +1 -1
- package/dist/types/commit/message.d.ts +1 -1
- package/dist/types/commit/model-selection.d.ts +3 -3
- package/dist/types/commit/pipeline.d.ts +1 -1
- package/dist/types/commit/shared-llm.d.ts +1 -1
- package/dist/types/commit/utils.d.ts +1 -1
- package/dist/types/config/model-discovery.d.ts +1 -1
- package/dist/types/config/model-registry.d.ts +3 -3
- package/dist/types/config/model-resolver.d.ts +4 -4
- package/dist/types/config/model-roles.d.ts +2 -2
- package/dist/types/config/models-config.d.ts +2 -2
- package/dist/types/config/service-tier.d.ts +1 -1
- package/dist/types/config/settings-schema.d.ts +7 -13
- package/dist/types/config/settings.d.ts +7 -7
- package/dist/types/config.d.ts +1 -1
- package/dist/types/dap/client.d.ts +1 -1
- package/dist/types/dap/config.d.ts +1 -1
- package/dist/types/dap/index.d.ts +4 -4
- package/dist/types/dap/session.d.ts +3 -3
- package/dist/types/debug/index.d.ts +1 -1
- package/dist/types/debug/log-viewer.d.ts +1 -1
- package/dist/types/debug/raw-sse.d.ts +1 -1
- package/dist/types/debug/report-bundle.d.ts +1 -1
- package/dist/types/discovery/agents.d.ts +1 -1
- package/dist/types/discovery/helpers.d.ts +4 -4
- package/dist/types/discovery/index.d.ts +47 -47
- package/dist/types/discovery/omp-extension-roots.d.ts +1 -1
- package/dist/types/edit/apply-patch/index.d.ts +2 -2
- package/dist/types/edit/apply-patch/parser.d.ts +1 -1
- package/dist/types/edit/diff.d.ts +1 -1
- package/dist/types/edit/file-snapshot-store.d.ts +4 -2
- package/dist/types/edit/hashline/execute.d.ts +4 -4
- package/dist/types/edit/hashline/filesystem.d.ts +3 -3
- package/dist/types/edit/hashline/index.d.ts +5 -5
- package/dist/types/edit/index.d.ts +19 -19
- package/dist/types/edit/modes/apply-patch.d.ts +1 -1
- package/dist/types/edit/modes/patch.d.ts +3 -3
- package/dist/types/edit/modes/replace.d.ts +3 -3
- package/dist/types/edit/renderer.d.ts +15 -16
- package/dist/types/edit/snapshot-details.d.ts +1 -1
- package/dist/types/edit/streaming.d.ts +2 -2
- package/dist/types/eval/agent-bridge.d.ts +4 -4
- package/dist/types/eval/backend-helpers.d.ts +3 -3
- package/dist/types/eval/backend.d.ts +2 -2
- package/dist/types/eval/bridge-timeout.d.ts +1 -1
- package/dist/types/eval/budget-bridge.d.ts +2 -2
- package/dist/types/eval/completion-bridge.d.ts +2 -2
- package/dist/types/eval/concurrency-bridge.d.ts +2 -2
- package/dist/types/eval/executor-base.d.ts +3 -3
- package/dist/types/eval/index.d.ts +6 -6
- package/dist/types/eval/jl/executor.d.ts +4 -4
- package/dist/types/eval/jl/index.d.ts +2 -2
- package/dist/types/eval/jl/kernel.d.ts +5 -5
- package/dist/types/eval/js/context-manager.d.ts +4 -4
- package/dist/types/eval/js/executor.d.ts +3 -3
- package/dist/types/eval/js/index.d.ts +2 -2
- package/dist/types/eval/js/shared/helpers.d.ts +1 -1
- package/dist/types/eval/js/shared/runtime.d.ts +2 -2
- package/dist/types/eval/js/tool-bridge.d.ts +5 -5
- package/dist/types/eval/js/worker-core.d.ts +1 -1
- package/dist/types/eval/js/worker-protocol.d.ts +2 -2
- package/dist/types/eval/kernel-base.d.ts +1 -1
- package/dist/types/eval/py/executor.d.ts +3 -3
- package/dist/types/eval/py/index.d.ts +2 -2
- package/dist/types/eval/py/kernel.d.ts +5 -5
- package/dist/types/eval/py/tool-bridge.d.ts +2 -2
- package/dist/types/eval/rb/executor.d.ts +3 -3
- package/dist/types/eval/rb/index.d.ts +2 -2
- package/dist/types/eval/rb/kernel.d.ts +6 -6
- package/dist/types/eval/session-id.d.ts +1 -1
- package/dist/types/eval/types.d.ts +1 -1
- package/dist/types/exa/index.d.ts +2 -2
- package/dist/types/exa/mcp-client.d.ts +3 -3
- package/dist/types/exec/bash-executor.d.ts +1 -1
- package/dist/types/export/html/index.d.ts +2 -2
- package/dist/types/export/share.d.ts +3 -3
- package/dist/types/export/ttsr.d.ts +2 -2
- package/dist/types/extensibility/custom-commands/bundled/ci-green/index.d.ts +2 -2
- package/dist/types/extensibility/custom-commands/bundled/review/index.d.ts +2 -2
- package/dist/types/extensibility/custom-commands/index.d.ts +2 -2
- package/dist/types/extensibility/custom-commands/loader.d.ts +1 -1
- package/dist/types/extensibility/custom-commands/types.d.ts +3 -3
- package/dist/types/extensibility/custom-tools/index.d.ts +3 -3
- package/dist/types/extensibility/custom-tools/loader.d.ts +3 -3
- package/dist/types/extensibility/custom-tools/types.d.ts +13 -11
- package/dist/types/extensibility/custom-tools/wrapper.d.ts +2 -2
- package/dist/types/extensibility/extensions/compact-handler.d.ts +1 -1
- package/dist/types/extensibility/extensions/get-commands-handler.d.ts +5 -5
- package/dist/types/extensibility/extensions/index.d.ts +5 -5
- package/dist/types/extensibility/extensions/loader.d.ts +2 -2
- package/dist/types/extensibility/extensions/model-api.d.ts +3 -3
- package/dist/types/extensibility/extensions/runner.d.ts +6 -6
- package/dist/types/extensibility/extensions/types.d.ts +43 -31
- package/dist/types/extensibility/extensions/wrapper.d.ts +2 -2
- package/dist/types/extensibility/hooks/index.d.ts +6 -6
- package/dist/types/extensibility/hooks/loader.d.ts +4 -4
- package/dist/types/extensibility/hooks/runner.d.ts +5 -5
- package/dist/types/extensibility/hooks/tool-wrapper.d.ts +1 -1
- package/dist/types/extensibility/hooks/types.d.ts +18 -18
- package/dist/types/extensibility/legacy-pi-ai-shim.d.ts +12 -4
- package/dist/types/extensibility/legacy-pi-coding-agent-shim.d.ts +194 -5
- package/dist/types/extensibility/plugins/doctor.d.ts +1 -1
- package/dist/types/extensibility/plugins/index.d.ts +7 -7
- package/dist/types/extensibility/plugins/installer.d.ts +1 -1
- package/dist/types/extensibility/plugins/legacy-pi-compat.d.ts +1 -1
- package/dist/types/extensibility/plugins/loader.d.ts +1 -1
- package/dist/types/extensibility/plugins/manager.d.ts +1 -1
- package/dist/types/extensibility/plugins/marketplace/fetcher.d.ts +1 -1
- package/dist/types/extensibility/plugins/marketplace/index.d.ts +6 -6
- package/dist/types/extensibility/plugins/marketplace/manager.d.ts +1 -1
- package/dist/types/extensibility/plugins/marketplace/registry.d.ts +1 -1
- package/dist/types/extensibility/plugins/marketplace/source-resolver.d.ts +1 -1
- package/dist/types/extensibility/plugins/runtime-config.d.ts +1 -1
- package/dist/types/extensibility/session-handler-types.d.ts +1 -1
- package/dist/types/extensibility/shared-events.d.ts +12 -5
- package/dist/types/extensibility/skills.d.ts +3 -3
- package/dist/types/extensibility/slash-commands.d.ts +1 -1
- package/dist/types/extensibility/typebox.d.ts +1 -1
- package/dist/types/extensibility/utils.d.ts +1 -1
- package/dist/types/goals/guided-setup.d.ts +1 -1
- package/dist/types/goals/index.d.ts +3 -3
- package/dist/types/goals/runtime.d.ts +1 -1
- package/dist/types/goals/state.d.ts +1 -1
- package/dist/types/goals/tools/goal-tool.d.ts +4 -4
- package/dist/types/hindsight/backend.d.ts +2 -2
- package/dist/types/hindsight/bank.d.ts +2 -2
- package/dist/types/hindsight/client.d.ts +1 -1
- package/dist/types/hindsight/config.d.ts +1 -1
- package/dist/types/hindsight/index.d.ts +8 -8
- package/dist/types/hindsight/mental-models.d.ts +3 -3
- package/dist/types/hindsight/state.d.ts +5 -5
- package/dist/types/hindsight/transcript.d.ts +2 -2
- package/dist/types/index.d.ts +38 -38
- package/dist/types/internal-urls/agent-protocol.d.ts +1 -1
- package/dist/types/internal-urls/artifact-protocol.d.ts +1 -1
- package/dist/types/internal-urls/filesystem-resource.d.ts +1 -1
- package/dist/types/internal-urls/history-protocol.d.ts +1 -1
- package/dist/types/internal-urls/index.d.ts +16 -16
- package/dist/types/internal-urls/issue-pr-protocol.d.ts +1 -1
- package/dist/types/internal-urls/local-protocol.d.ts +1 -1
- package/dist/types/internal-urls/mcp-protocol.d.ts +1 -1
- package/dist/types/internal-urls/memory-protocol.d.ts +1 -1
- package/dist/types/internal-urls/omp-protocol.d.ts +1 -1
- package/dist/types/internal-urls/parse.d.ts +1 -1
- package/dist/types/internal-urls/router.d.ts +1 -1
- package/dist/types/internal-urls/rule-protocol.d.ts +1 -1
- package/dist/types/internal-urls/skill-protocol.d.ts +1 -1
- package/dist/types/internal-urls/ssh-protocol.d.ts +1 -1
- package/dist/types/internal-urls/types.d.ts +2 -2
- package/dist/types/internal-urls/vault-protocol.d.ts +1 -1
- package/dist/types/irc/bus.d.ts +2 -2
- package/dist/types/lib/xai-http.d.ts +1 -1
- package/dist/types/lsp/client.d.ts +23 -1
- package/dist/types/lsp/clients/biome-client.d.ts +1 -1
- package/dist/types/lsp/clients/index.d.ts +4 -4
- package/dist/types/lsp/clients/lsp-linter-client.d.ts +1 -1
- package/dist/types/lsp/clients/swiftlint-client.d.ts +1 -1
- package/dist/types/lsp/config.d.ts +1 -1
- package/dist/types/lsp/diagnostics-ledger.d.ts +1 -1
- package/dist/types/lsp/edits.d.ts +1 -1
- package/dist/types/lsp/index.d.ts +6 -6
- package/dist/types/lsp/render.d.ts +2 -2
- package/dist/types/lsp/startup-events.d.ts +1 -1
- package/dist/types/lsp/utils.d.ts +2 -2
- package/dist/types/main.d.ts +12 -12
- package/dist/types/markit/converters/docx.d.ts +1 -1
- package/dist/types/markit/converters/epub.d.ts +1 -1
- package/dist/types/markit/converters/pdf/columns.d.ts +1 -1
- package/dist/types/markit/converters/pdf/extract.d.ts +1 -1
- package/dist/types/markit/converters/pdf/grid.d.ts +1 -1
- package/dist/types/markit/converters/pdf/headers.d.ts +1 -1
- package/dist/types/markit/converters/pdf/index.d.ts +1 -1
- package/dist/types/markit/converters/pdf/render.d.ts +1 -1
- package/dist/types/markit/converters/pptx.d.ts +1 -1
- package/dist/types/markit/converters/xlsx.d.ts +1 -1
- package/dist/types/markit/index.d.ts +2 -2
- package/dist/types/markit/registry.d.ts +1 -1
- package/dist/types/mcp/client.d.ts +1 -1
- package/dist/types/mcp/config-writer.d.ts +1 -1
- package/dist/types/mcp/config.d.ts +2 -2
- package/dist/types/mcp/index.d.ts +12 -12
- package/dist/types/mcp/loader.d.ts +5 -5
- package/dist/types/mcp/manager.d.ts +7 -7
- package/dist/types/mcp/oauth-credentials.d.ts +3 -3
- package/dist/types/mcp/oauth-flow.d.ts +1 -1
- package/dist/types/mcp/render.d.ts +3 -3
- package/dist/types/mcp/smithery-registry.d.ts +1 -1
- package/dist/types/mcp/tool-bridge.d.ts +5 -5
- package/dist/types/mcp/tool-cache.d.ts +2 -2
- package/dist/types/mcp/transports/http.d.ts +1 -1
- package/dist/types/mcp/transports/index.d.ts +3 -3
- package/dist/types/mcp/transports/sse.d.ts +1 -1
- package/dist/types/mcp/transports/stdio.d.ts +1 -1
- package/dist/types/mcp/types.d.ts +1 -1
- package/dist/types/memories/index.d.ts +4 -4
- package/dist/types/memory-backend/index.d.ts +7 -7
- package/dist/types/memory-backend/local-backend.d.ts +1 -1
- package/dist/types/memory-backend/off-backend.d.ts +1 -1
- package/dist/types/memory-backend/resolve.d.ts +2 -2
- package/dist/types/memory-backend/runtime.d.ts +2 -2
- package/dist/types/memory-backend/types.d.ts +5 -5
- package/dist/types/mnemopi/backend.d.ts +2 -2
- package/dist/types/mnemopi/config.d.ts +1 -1
- package/dist/types/mnemopi/embed-client.d.ts +2 -2
- package/dist/types/mnemopi/embed-worker.d.ts +1 -1
- package/dist/types/mnemopi/index.d.ts +3 -3
- package/dist/types/mnemopi/state.d.ts +38 -2
- package/dist/types/modes/acp/acp-agent.d.ts +2 -2
- package/dist/types/modes/acp/acp-client-bridge.d.ts +1 -1
- package/dist/types/modes/acp/acp-event-mapper.d.ts +1 -1
- package/dist/types/modes/acp/acp-mode.d.ts +1 -1
- package/dist/types/modes/acp/index.d.ts +2 -2
- package/dist/types/modes/components/advisor-config.d.ts +3 -3
- package/dist/types/modes/components/advisor-message.d.ts +2 -2
- package/dist/types/modes/components/agent-dashboard.d.ts +2 -2
- package/dist/types/modes/components/agent-hub.d.ts +11 -9
- package/dist/types/modes/components/agent-transcript-viewer.d.ts +6 -6
- package/dist/types/modes/components/assistant-message.d.ts +17 -12
- package/dist/types/modes/components/background-tan-message.d.ts +2 -2
- package/dist/types/modes/components/bash-execution.d.ts +7 -1
- package/dist/types/modes/components/bordered-loader.d.ts +1 -1
- package/dist/types/modes/components/chat-transcript-builder.d.ts +3 -3
- package/dist/types/modes/components/collab-prompt-message.d.ts +2 -2
- package/dist/types/modes/components/compaction-summary-message.d.ts +1 -1
- package/dist/types/modes/components/copy-selector.d.ts +1 -1
- package/dist/types/modes/components/custom-editor.d.ts +1 -1
- package/dist/types/modes/components/custom-message.d.ts +2 -2
- package/dist/types/modes/components/eval-execution.d.ts +7 -1
- package/dist/types/modes/components/execution-shared.d.ts +1 -1
- package/dist/types/modes/components/extensions/extension-dashboard.d.ts +2 -2
- package/dist/types/modes/components/extensions/extension-list.d.ts +1 -1
- package/dist/types/modes/components/extensions/index.d.ts +5 -5
- package/dist/types/modes/components/extensions/inspector-panel.d.ts +1 -1
- package/dist/types/modes/components/extensions/state-manager.d.ts +1 -1
- package/dist/types/modes/components/extensions/types.d.ts +1 -1
- package/dist/types/modes/components/footer.d.ts +1 -1
- package/dist/types/modes/components/history-search.d.ts +1 -1
- package/dist/types/modes/components/hook-message.d.ts +2 -2
- package/dist/types/modes/components/index.d.ts +38 -38
- package/dist/types/modes/components/keybinding-hints.d.ts +1 -1
- package/dist/types/modes/components/logout-account-selector.d.ts +1 -1
- package/dist/types/modes/components/mcp-add-wizard.d.ts +1 -1
- package/dist/types/modes/components/message-frame.d.ts +1 -1
- package/dist/types/modes/components/model-selector.d.ts +3 -3
- package/dist/types/modes/components/oauth-selector.d.ts +1 -1
- package/dist/types/modes/components/plan-review-overlay.d.ts +1 -1
- package/dist/types/modes/components/plugin-settings.d.ts +3 -3
- package/dist/types/modes/components/read-tool-group.d.ts +1 -1
- package/dist/types/modes/components/reset-usage-selector.d.ts +1 -1
- package/dist/types/modes/components/segment-track.d.ts +1 -1
- package/dist/types/modes/components/session-selector.d.ts +1 -1
- package/dist/types/modes/components/settings-defs.d.ts +1 -1
- package/dist/types/modes/components/settings-selector.d.ts +2 -2
- package/dist/types/modes/components/skill-message.d.ts +1 -1
- package/dist/types/modes/components/status-line/component.d.ts +2 -2
- package/dist/types/modes/components/status-line/context-thresholds.d.ts +1 -1
- package/dist/types/modes/components/status-line/index.d.ts +5 -5
- package/dist/types/modes/components/status-line/presets.d.ts +1 -1
- package/dist/types/modes/components/status-line/segments.d.ts +2 -2
- package/dist/types/modes/components/status-line/separators.d.ts +2 -2
- package/dist/types/modes/components/status-line/types.d.ts +8 -4
- package/dist/types/modes/components/tiny-title-download-progress.d.ts +2 -2
- package/dist/types/modes/components/todo-reminder.d.ts +1 -1
- package/dist/types/modes/components/tool-execution.d.ts +4 -14
- package/dist/types/modes/components/transcript-container.d.ts +26 -28
- package/dist/types/modes/components/tree-selector.d.ts +2 -2
- package/dist/types/modes/components/ttsr-notification.d.ts +1 -1
- package/dist/types/modes/controllers/btw-controller.d.ts +1 -1
- package/dist/types/modes/controllers/command-controller-shared.d.ts +2 -2
- package/dist/types/modes/controllers/command-controller.d.ts +7 -7
- package/dist/types/modes/controllers/event-controller.d.ts +3 -3
- package/dist/types/modes/controllers/extension-ui-controller.d.ts +5 -5
- package/dist/types/modes/controllers/extension-ui-controller.test.d.ts +1 -0
- package/dist/types/modes/controllers/input-controller.d.ts +2 -2
- package/dist/types/modes/controllers/mcp-command-controller.d.ts +1 -1
- package/dist/types/modes/controllers/omfg-controller.d.ts +1 -1
- package/dist/types/modes/controllers/omfg-rule.d.ts +1 -1
- package/dist/types/modes/controllers/selector-controller.d.ts +2 -2
- package/dist/types/modes/controllers/session-focus-controller.d.ts +4 -4
- package/dist/types/modes/controllers/ssh-command-controller.d.ts +1 -1
- package/dist/types/modes/controllers/streaming-reveal.d.ts +11 -3
- package/dist/types/modes/controllers/tan-command-controller.d.ts +1 -1
- package/dist/types/modes/controllers/todo-command-controller.d.ts +1 -1
- package/dist/types/modes/controllers/tool-args-reveal.d.ts +6 -2
- package/dist/types/modes/image-references.d.ts +1 -1
- package/dist/types/modes/index.d.ts +3 -3
- package/dist/types/modes/interactive-mode.d.ts +34 -34
- package/dist/types/modes/orchestrate.d.ts +1 -1
- package/dist/types/modes/print-mode.d.ts +1 -1
- package/dist/types/modes/prompt-action-autocomplete.d.ts +1 -1
- package/dist/types/modes/rpc/host-tools.d.ts +1 -1
- package/dist/types/modes/rpc/host-uris.d.ts +3 -3
- package/dist/types/modes/rpc/rpc-client.d.ts +3 -3
- package/dist/types/modes/rpc/rpc-mode.d.ts +6 -6
- package/dist/types/modes/rpc/rpc-subagents.d.ts +3 -3
- package/dist/types/modes/rpc/rpc-types.d.ts +7 -7
- package/dist/types/modes/running-subagent-badge.d.ts +1 -1
- package/dist/types/modes/runtime-init.d.ts +2 -2
- package/dist/types/modes/session-observer-registry.d.ts +2 -2
- package/dist/types/modes/setup-wizard/index.d.ts +6 -6
- package/dist/types/modes/setup-wizard/lazy.d.ts +1 -1
- package/dist/types/modes/setup-wizard/scenes/glyph.d.ts +1 -1
- package/dist/types/modes/setup-wizard/scenes/providers.d.ts +1 -1
- package/dist/types/modes/setup-wizard/scenes/sign-in.d.ts +1 -1
- package/dist/types/modes/setup-wizard/scenes/theme.d.ts +1 -1
- package/dist/types/modes/setup-wizard/scenes/types.d.ts +1 -1
- package/dist/types/modes/setup-wizard/scenes/web-search.d.ts +1 -1
- package/dist/types/modes/setup-wizard/startup-splash.d.ts +1 -1
- package/dist/types/modes/setup-wizard/wizard-overlay.d.ts +2 -2
- package/dist/types/modes/shared.d.ts +1 -1
- package/dist/types/modes/skill-command.d.ts +2 -2
- package/dist/types/modes/theme/shimmer.d.ts +1 -1
- package/dist/types/modes/theme/theme.d.ts +1 -1
- package/dist/types/modes/types.d.ts +31 -31
- package/dist/types/modes/ultrathink.d.ts +1 -1
- package/dist/types/modes/utils/context-usage.d.ts +5 -5
- package/dist/types/modes/utils/hotkeys-markdown.d.ts +1 -1
- package/dist/types/modes/utils/interactive-context-helpers.d.ts +2 -2
- package/dist/types/modes/utils/tools-markdown.d.ts +1 -1
- package/dist/types/modes/utils/transcript-render-helpers.d.ts +25 -8
- package/dist/types/modes/utils/transcript-render-helpers.test.d.ts +1 -0
- package/dist/types/modes/utils/ui-helpers.d.ts +2 -2
- package/dist/types/modes/workflow.d.ts +1 -1
- package/dist/types/plan-mode/plan-handoff.d.ts +1 -1
- package/dist/types/registry/agent-lifecycle.d.ts +2 -2
- package/dist/types/registry/agent-registry.d.ts +1 -1
- package/dist/types/sdk.d.ts +40 -36
- package/dist/types/secrets/index.d.ts +2 -2
- package/dist/types/secrets/obfuscator.d.ts +1 -1
- package/dist/types/session/agent-session.d.ts +57 -41
- package/dist/types/session/agent-storage.d.ts +1 -1
- package/dist/types/session/auth-broker-config.d.ts +1 -1
- package/dist/types/session/codex-auto-reset.d.ts +1 -1
- package/dist/types/session/exit-diagnostics.d.ts +1 -1
- package/dist/types/session/indexed-session-storage.d.ts +2 -2
- package/dist/types/session/messages.d.ts +22 -3
- package/dist/types/session/redis-session-storage.d.ts +1 -1
- package/dist/types/session/session-context.d.ts +1 -1
- package/dist/types/session/session-entries.d.ts +4 -0
- package/dist/types/session/session-listing.d.ts +1 -1
- package/dist/types/session/session-loader.d.ts +4 -4
- package/dist/types/session/session-manager.d.ts +9 -8
- package/dist/types/session/session-migrations.d.ts +1 -1
- package/dist/types/session/session-paths.d.ts +1 -1
- package/dist/types/session/session-persistence.d.ts +2 -2
- package/dist/types/session/session-storage.d.ts +1 -1
- package/dist/types/session/session-title-slot.d.ts +1 -1
- package/dist/types/session/settings-stream-fn.d.ts +1 -1
- package/dist/types/session/sql-session-storage.d.ts +1 -1
- package/dist/types/session/unexpected-stop-classifier.d.ts +2 -2
- package/dist/types/slash-commands/acp-builtins.d.ts +2 -2
- package/dist/types/slash-commands/available-commands.d.ts +5 -5
- package/dist/types/slash-commands/builtin-registry.d.ts +2 -2
- package/dist/types/slash-commands/helpers/active-oauth-account.d.ts +1 -1
- package/dist/types/slash-commands/helpers/context-report.d.ts +1 -1
- package/dist/types/slash-commands/helpers/format.d.ts +1 -1
- package/dist/types/slash-commands/helpers/logout.d.ts +1 -1
- package/dist/types/slash-commands/helpers/marketplace-manager.d.ts +2 -2
- package/dist/types/slash-commands/helpers/mcp.d.ts +1 -1
- package/dist/types/slash-commands/helpers/parse.d.ts +1 -1
- package/dist/types/slash-commands/helpers/reset-usage.d.ts +1 -1
- package/dist/types/slash-commands/helpers/ssh.d.ts +1 -1
- package/dist/types/slash-commands/helpers/todo.d.ts +1 -1
- package/dist/types/slash-commands/helpers/usage-report.d.ts +1 -1
- package/dist/types/slash-commands/types.d.ts +6 -4
- package/dist/types/ssh/file-transfer.d.ts +1 -1
- package/dist/types/ssh/ssh-executor.d.ts +1 -1
- package/dist/types/ssh/sshfs-mount.d.ts +1 -1
- package/dist/types/stt/asr-client.d.ts +3 -3
- package/dist/types/stt/asr-protocol.d.ts +1 -1
- package/dist/types/stt/asr-worker.d.ts +1 -1
- package/dist/types/stt/downloader.d.ts +1 -1
- package/dist/types/stt/index.d.ts +8 -8
- package/dist/types/stt/models.d.ts +1 -1
- package/dist/types/system-prompt.d.ts +4 -4
- package/dist/types/task/agents.d.ts +1 -1
- package/dist/types/task/discovery.d.ts +1 -1
- package/dist/types/task/executor.d.ts +20 -20
- package/dist/types/task/index.d.ts +11 -11
- package/dist/types/task/isolation-runner.d.ts +7 -6
- package/dist/types/task/persisted-revive.d.ts +5 -5
- package/dist/types/task/provider-concurrency.d.ts +2 -2
- package/dist/types/task/render.d.ts +3 -3
- package/dist/types/task/renderer.d.ts +1 -1
- package/dist/types/task/repair-args.d.ts +1 -1
- package/dist/types/task/subprocess-tool-registry.d.ts +1 -1
- package/dist/types/task/types.d.ts +2 -2
- package/dist/types/task/yield-assembly.d.ts +1 -1
- package/dist/types/tiny/title-client.d.ts +2 -2
- package/dist/types/tiny/title-protocol.d.ts +1 -1
- package/dist/types/tiny/worker.d.ts +1 -1
- package/dist/types/tool-discovery/mode.d.ts +2 -2
- package/dist/types/tools/__tests__/glob.test.d.ts +1 -0
- package/dist/types/tools/acp-bridge.d.ts +2 -2
- package/dist/types/tools/ask.d.ts +3 -3
- package/dist/types/tools/ast-edit.d.ts +4 -4
- package/dist/types/tools/ast-grep.d.ts +4 -4
- package/dist/types/tools/bash-command-fixup.d.ts +3 -11
- package/dist/types/tools/bash-interactive.d.ts +1 -1
- package/dist/types/tools/bash-interceptor.d.ts +1 -1
- package/dist/types/tools/bash-skill-urls.d.ts +3 -3
- package/dist/types/tools/bash.d.ts +4 -6
- package/dist/types/tools/browser/cmux/cmux-tab.d.ts +6 -6
- package/dist/types/tools/browser/cmux/rpc.d.ts +1 -1
- package/dist/types/tools/browser/registry.d.ts +3 -3
- package/dist/types/tools/browser/render.d.ts +3 -3
- package/dist/types/tools/browser/tab-supervisor.d.ts +14 -4
- package/dist/types/tools/browser/tab-worker.d.ts +1 -1
- package/dist/types/tools/browser.d.ts +9 -9
- package/dist/types/tools/checkpoint.d.ts +2 -2
- package/dist/types/tools/conflict-detect.d.ts +1 -1
- package/dist/types/tools/context.d.ts +2 -2
- package/dist/types/tools/debug.d.ts +4 -4
- package/dist/types/tools/eval-backends.d.ts +1 -1
- package/dist/types/tools/eval-render.d.ts +3 -5
- package/dist/types/tools/eval.d.ts +3 -3
- package/dist/types/tools/fetch.d.ts +7 -7
- package/dist/types/tools/gh-renderer.d.ts +3 -3
- package/dist/types/tools/gh.d.ts +5 -5
- package/dist/types/tools/github-cache.d.ts +1 -1
- package/dist/types/tools/glob.d.ts +7 -5
- package/dist/types/tools/grep.d.ts +5 -5
- package/dist/types/tools/image-gen.d.ts +2 -2
- package/dist/types/tools/index.d.ts +70 -70
- package/dist/types/tools/inspect-image-renderer.d.ts +2 -2
- package/dist/types/tools/inspect-image.d.ts +2 -2
- package/dist/types/tools/irc.d.ts +5 -5
- package/dist/types/tools/job.d.ts +3 -3
- package/dist/types/tools/json-tree.d.ts +1 -1
- package/dist/types/tools/learn.d.ts +1 -1
- package/dist/types/tools/list-limit.d.ts +1 -1
- package/dist/types/tools/manage-skill.d.ts +1 -1
- package/dist/types/tools/memory-edit.d.ts +1 -1
- package/dist/types/tools/memory-recall.d.ts +1 -1
- package/dist/types/tools/memory-reflect.d.ts +1 -1
- package/dist/types/tools/memory-render.d.ts +2 -2
- package/dist/types/tools/memory-retain.d.ts +1 -1
- package/dist/types/tools/output-meta.d.ts +3 -3
- package/dist/types/tools/path-utils.d.ts +2 -2
- package/dist/types/tools/plan-mode-guard.d.ts +1 -1
- package/dist/types/tools/read.d.ts +7 -7
- package/dist/types/tools/render-utils.d.ts +3 -3
- package/dist/types/tools/renderers.d.ts +2 -22
- package/dist/types/tools/report-tool-issue.d.ts +2 -2
- package/dist/types/tools/resolve.d.ts +3 -3
- package/dist/types/tools/review.d.ts +2 -2
- package/dist/types/tools/search-tool-bm25.d.ts +4 -4
- package/dist/types/tools/ssh.d.ts +5 -7
- package/dist/types/tools/todo.d.ts +4 -4
- package/dist/types/tools/tool-result.d.ts +2 -2
- package/dist/types/tools/tts.d.ts +1 -1
- package/dist/types/tools/write.d.ts +8 -8
- package/dist/types/tools/yield.d.ts +1 -1
- package/dist/types/tts/index.d.ts +10 -10
- package/dist/types/tts/models.d.ts +1 -1
- package/dist/types/tts/speech-enhancer.d.ts +2 -2
- package/dist/types/tts/streaming-player.d.ts +1 -1
- package/dist/types/tts/tts-client.d.ts +2 -2
- package/dist/types/tts/tts-protocol.d.ts +1 -1
- package/dist/types/tts/tts-worker.d.ts +1 -1
- package/dist/types/tts/vocalizer.d.ts +7 -1
- package/dist/types/tui/code-cell.d.ts +1 -1
- package/dist/types/tui/file-list.d.ts +1 -1
- package/dist/types/tui/index.d.ts +9 -9
- package/dist/types/tui/output-block.d.ts +2 -2
- package/dist/types/tui/status-line.d.ts +2 -2
- package/dist/types/tui/tree-list.d.ts +2 -2
- package/dist/types/tui/types.d.ts +1 -1
- package/dist/types/tui/utils.d.ts +2 -2
- package/dist/types/utils/changelog.d.ts +1 -1
- package/dist/types/utils/commit-message-generator.d.ts +2 -2
- package/dist/types/utils/git.d.ts +1 -1
- package/dist/types/utils/image-loading.d.ts +1 -1
- package/dist/types/utils/image-vision-fallback.d.ts +3 -3
- package/dist/types/utils/markit.d.ts +1 -1
- package/dist/types/utils/title-generator.d.ts +2 -2
- package/dist/types/web/parallel.d.ts +1 -1
- package/dist/types/web/scrapers/artifacthub.d.ts +1 -1
- package/dist/types/web/scrapers/arxiv.d.ts +1 -1
- package/dist/types/web/scrapers/aur.d.ts +1 -1
- package/dist/types/web/scrapers/biorxiv.d.ts +1 -1
- package/dist/types/web/scrapers/bluesky.d.ts +1 -1
- package/dist/types/web/scrapers/brew.d.ts +1 -1
- package/dist/types/web/scrapers/cheatsh.d.ts +1 -1
- package/dist/types/web/scrapers/chocolatey.d.ts +1 -1
- package/dist/types/web/scrapers/choosealicense.d.ts +1 -1
- package/dist/types/web/scrapers/cisa-kev.d.ts +1 -1
- package/dist/types/web/scrapers/clojars.d.ts +1 -1
- package/dist/types/web/scrapers/coingecko.d.ts +1 -1
- package/dist/types/web/scrapers/crates-io.d.ts +1 -1
- package/dist/types/web/scrapers/crossref.d.ts +1 -1
- package/dist/types/web/scrapers/devto.d.ts +1 -1
- package/dist/types/web/scrapers/discogs.d.ts +1 -1
- package/dist/types/web/scrapers/discourse.d.ts +1 -1
- package/dist/types/web/scrapers/dockerhub.d.ts +1 -1
- package/dist/types/web/scrapers/docs-rs.d.ts +8 -1
- package/dist/types/web/scrapers/fdroid.d.ts +1 -1
- package/dist/types/web/scrapers/firefox-addons.d.ts +1 -1
- package/dist/types/web/scrapers/flathub.d.ts +1 -1
- package/dist/types/web/scrapers/github-gist.d.ts +1 -1
- package/dist/types/web/scrapers/github.d.ts +1 -1
- package/dist/types/web/scrapers/gitlab.d.ts +1 -1
- package/dist/types/web/scrapers/go-pkg.d.ts +1 -1
- package/dist/types/web/scrapers/hackage.d.ts +1 -1
- package/dist/types/web/scrapers/hackernews.d.ts +1 -1
- package/dist/types/web/scrapers/hex.d.ts +1 -1
- package/dist/types/web/scrapers/huggingface.d.ts +1 -1
- package/dist/types/web/scrapers/iacr.d.ts +1 -1
- package/dist/types/web/scrapers/index.d.ts +77 -77
- package/dist/types/web/scrapers/jetbrains-marketplace.d.ts +1 -1
- package/dist/types/web/scrapers/lemmy.d.ts +1 -1
- package/dist/types/web/scrapers/lobsters.d.ts +1 -1
- package/dist/types/web/scrapers/mastodon.d.ts +1 -1
- package/dist/types/web/scrapers/maven.d.ts +1 -1
- package/dist/types/web/scrapers/mdn.d.ts +1 -1
- package/dist/types/web/scrapers/metacpan.d.ts +1 -1
- package/dist/types/web/scrapers/musicbrainz.d.ts +1 -1
- package/dist/types/web/scrapers/npm.d.ts +1 -1
- package/dist/types/web/scrapers/nuget.d.ts +1 -1
- package/dist/types/web/scrapers/nvd.d.ts +1 -1
- package/dist/types/web/scrapers/ollama.d.ts +1 -1
- package/dist/types/web/scrapers/open-vsx.d.ts +1 -1
- package/dist/types/web/scrapers/opencorporates.d.ts +1 -1
- package/dist/types/web/scrapers/openlibrary.d.ts +1 -1
- package/dist/types/web/scrapers/orcid.d.ts +1 -1
- package/dist/types/web/scrapers/osv.d.ts +1 -1
- package/dist/types/web/scrapers/packagist.d.ts +1 -1
- package/dist/types/web/scrapers/pub-dev.d.ts +1 -1
- package/dist/types/web/scrapers/pubmed.d.ts +1 -1
- package/dist/types/web/scrapers/pypi.d.ts +1 -1
- package/dist/types/web/scrapers/rawg.d.ts +1 -1
- package/dist/types/web/scrapers/readthedocs.d.ts +1 -1
- package/dist/types/web/scrapers/reddit.d.ts +1 -1
- package/dist/types/web/scrapers/repology.d.ts +1 -1
- package/dist/types/web/scrapers/rfc.d.ts +1 -1
- package/dist/types/web/scrapers/rubygems.d.ts +1 -1
- package/dist/types/web/scrapers/searchcode.d.ts +1 -1
- package/dist/types/web/scrapers/sec-edgar.d.ts +1 -1
- package/dist/types/web/scrapers/semantic-scholar.d.ts +1 -1
- package/dist/types/web/scrapers/snapcraft.d.ts +1 -1
- package/dist/types/web/scrapers/sourcegraph.d.ts +1 -1
- package/dist/types/web/scrapers/spdx.d.ts +1 -1
- package/dist/types/web/scrapers/spotify.d.ts +1 -1
- package/dist/types/web/scrapers/stackoverflow.d.ts +1 -1
- package/dist/types/web/scrapers/terraform.d.ts +1 -1
- package/dist/types/web/scrapers/tldr.d.ts +1 -1
- package/dist/types/web/scrapers/twitter.d.ts +1 -1
- package/dist/types/web/scrapers/types.d.ts +1 -1
- package/dist/types/web/scrapers/vimeo.d.ts +1 -1
- package/dist/types/web/scrapers/vscode-marketplace.d.ts +1 -1
- package/dist/types/web/scrapers/w3c.d.ts +1 -1
- package/dist/types/web/scrapers/wikidata.d.ts +1 -1
- package/dist/types/web/scrapers/wikipedia.d.ts +1 -1
- package/dist/types/web/scrapers/youtube.d.ts +1 -1
- package/dist/types/web/search/index.d.ts +7 -7
- package/dist/types/web/search/provider.d.ts +5 -5
- package/dist/types/web/search/providers/anthropic.d.ts +3 -3
- package/dist/types/web/search/providers/base.d.ts +1 -1
- package/dist/types/web/search/providers/brave.d.ts +3 -3
- package/dist/types/web/search/providers/codex.d.ts +3 -3
- package/dist/types/web/search/providers/duckduckgo.d.ts +3 -3
- package/dist/types/web/search/providers/exa.d.ts +3 -3
- package/dist/types/web/search/providers/firecrawl.d.ts +3 -3
- package/dist/types/web/search/providers/gemini.d.ts +3 -3
- package/dist/types/web/search/providers/jina.d.ts +3 -3
- package/dist/types/web/search/providers/kagi.d.ts +3 -3
- package/dist/types/web/search/providers/kimi.d.ts +3 -3
- package/dist/types/web/search/providers/parallel.d.ts +3 -3
- package/dist/types/web/search/providers/perplexity.d.ts +3 -3
- package/dist/types/web/search/providers/searxng.d.ts +3 -3
- package/dist/types/web/search/providers/synthetic.d.ts +3 -3
- package/dist/types/web/search/providers/tavily.d.ts +3 -3
- package/dist/types/web/search/providers/tinyfish.d.ts +3 -3
- package/dist/types/web/search/providers/utils.d.ts +2 -2
- package/dist/types/web/search/providers/xai.d.ts +3 -3
- package/dist/types/web/search/providers/zai.d.ts +3 -3
- package/dist/types/web/search/render.d.ts +3 -3
- package/package.json +12 -12
- package/src/advisor/__tests__/advisor.test.ts +59 -0
- package/src/auto-thinking/classifier.ts +6 -5
- package/src/collab/relay-client.ts +73 -7
- package/src/config/model-registry.ts +43 -2
- package/src/config/model-resolver.ts +1 -1
- package/src/config/settings-schema.ts +5 -12
- package/src/config/settings.ts +25 -5
- package/src/edit/file-snapshot-store.ts +5 -2
- package/src/edit/hashline/filesystem.ts +19 -1
- package/src/edit/modes/patch.ts +9 -1
- package/src/edit/modes/replace.ts +1 -1
- package/src/edit/renderer.ts +42 -35
- package/src/eval/__tests__/agent-bridge.test.ts +19 -0
- package/src/eval/__tests__/budget-bridge.test.ts +12 -1
- package/src/eval/agent-bridge.ts +27 -19
- package/src/eval/js/context-manager.ts +3 -0
- package/src/export/ttsr.ts +10 -0
- package/src/extensibility/custom-tools/types.ts +2 -0
- package/src/extensibility/extensions/loader.ts +2 -2
- package/src/extensibility/extensions/types.ts +16 -4
- package/src/extensibility/hooks/loader.ts +3 -3
- package/src/extensibility/hooks/types.ts +4 -4
- package/src/extensibility/legacy-pi-ai-shim.ts +17 -4
- package/src/extensibility/legacy-pi-coding-agent-shim.ts +554 -2
- package/src/extensibility/plugins/legacy-pi-compat.ts +190 -58
- package/src/extensibility/shared-events.ts +9 -1
- package/src/internal-urls/docs-index.generated.txt +1 -1
- package/src/internal-urls/memory-protocol.ts +105 -3
- package/src/lsp/client.ts +70 -0
- package/src/lsp/index.ts +65 -12
- package/src/main.ts +5 -3
- package/src/markit/converters/pdf/extract.ts +26 -2
- package/src/mnemopi/state.ts +76 -0
- package/src/modes/acp/acp-agent.ts +5 -1
- package/src/modes/components/agent-hub.ts +27 -9
- package/src/modes/components/assistant-message.ts +134 -82
- package/src/modes/components/bash-execution.ts +9 -0
- package/src/modes/components/chat-transcript-builder.ts +15 -7
- package/src/modes/components/copy-selector.ts +16 -4
- package/src/modes/components/eval-execution.ts +9 -0
- package/src/modes/components/model-selector.ts +17 -17
- package/src/modes/components/session-selector.ts +12 -4
- package/src/modes/components/status-line/component.ts +4 -0
- package/src/modes/components/status-line/segments.ts +6 -5
- package/src/modes/components/status-line/types.ts +4 -0
- package/src/modes/components/tool-execution.ts +12 -53
- package/src/modes/components/transcript-container.ts +82 -432
- package/src/modes/components/tree-selector.ts +9 -3
- package/src/modes/controllers/command-controller.ts +10 -3
- package/src/modes/controllers/event-controller.ts +78 -17
- package/src/modes/controllers/extension-ui-controller.test.ts +58 -0
- package/src/modes/controllers/extension-ui-controller.ts +12 -7
- package/src/modes/controllers/input-controller.ts +12 -10
- package/src/modes/controllers/selector-controller.ts +18 -9
- package/src/modes/controllers/streaming-reveal.ts +12 -5
- package/src/modes/controllers/tool-args-reveal.ts +13 -6
- package/src/modes/interactive-mode.ts +66 -36
- package/src/modes/prompt-action-autocomplete.ts +18 -0
- package/src/modes/theme/shimmer.ts +37 -1
- package/src/modes/utils/transcript-render-helpers.test.ts +38 -0
- package/src/modes/utils/transcript-render-helpers.ts +54 -13
- package/src/modes/utils/ui-helpers.ts +17 -8
- package/src/prompts/system/workflow-notice.md +1 -1
- package/src/prompts/tools/bash.md +9 -7
- package/src/prompts/tools/grep.md +1 -1
- package/src/prompts/tools/memory-edit.md +2 -0
- package/src/prompts/tools/recall.md +2 -0
- package/src/sdk.ts +113 -12
- package/src/session/agent-session.ts +350 -61
- package/src/session/messages.ts +102 -2
- package/src/session/session-context.ts +67 -10
- package/src/session/session-entries.ts +4 -0
- package/src/session/session-history-format.ts +12 -0
- package/src/session/session-manager.ts +129 -10
- package/src/session/settings-stream-fn.ts +1 -0
- package/src/session/unexpected-stop-classifier.ts +6 -3
- package/src/slash-commands/builtin-registry.ts +7 -4
- package/src/slash-commands/helpers/usage-report.ts +3 -0
- package/src/slash-commands/types.ts +2 -0
- package/src/task/executor.ts +23 -3
- package/src/task/isolation-runner.ts +38 -9
- package/src/tools/__tests__/glob.test.ts +37 -0
- package/src/tools/acp-bridge.ts +11 -1
- package/src/tools/bash-command-fixup.ts +3 -36
- package/src/tools/bash.ts +4 -17
- package/src/tools/browser/render.ts +6 -4
- package/src/tools/browser/tab-supervisor.ts +47 -3
- package/src/tools/eval-render.ts +0 -20
- package/src/tools/glob.ts +11 -1
- package/src/tools/index.ts +1 -1
- package/src/tools/inspect-image-renderer.ts +5 -4
- package/src/tools/read.ts +76 -28
- package/src/tools/render-utils.ts +4 -1
- package/src/tools/renderers.ts +0 -20
- package/src/tools/ssh.ts +0 -16
- package/src/tools/write.ts +22 -13
- package/src/tts/speech-enhancer.ts +7 -5
- package/src/tts/vocalizer.ts +9 -0
- package/src/utils/commit-message-generator.ts +7 -5
- package/src/utils/shell-snapshot.ts +10 -0
- package/src/utils/title-generator.ts +12 -7
- package/src/web/scrapers/docs-rs.ts +12 -1
- package/src/web/search/providers/xai.ts +43 -47
package/src/edit/renderer.ts
CHANGED
|
@@ -108,8 +108,8 @@ export interface EditToolDetails {
|
|
|
108
108
|
// ═══════════════════════════════════════════════════════════════════════════
|
|
109
109
|
|
|
110
110
|
interface EditRenderArgs {
|
|
111
|
-
path?:
|
|
112
|
-
file_path?:
|
|
111
|
+
path?: unknown;
|
|
112
|
+
file_path?: unknown;
|
|
113
113
|
oldText?: string;
|
|
114
114
|
newText?: string;
|
|
115
115
|
patch?: string;
|
|
@@ -118,7 +118,7 @@ interface EditRenderArgs {
|
|
|
118
118
|
all?: boolean;
|
|
119
119
|
// Patch mode fields
|
|
120
120
|
op?: Operation;
|
|
121
|
-
rename?:
|
|
121
|
+
rename?: unknown;
|
|
122
122
|
diff?: string;
|
|
123
123
|
/**
|
|
124
124
|
* Computed preview diff (used when tool args don't include a diff, e.g. hashline mode).
|
|
@@ -130,9 +130,9 @@ interface EditRenderArgs {
|
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
type EditRenderEntry = {
|
|
133
|
-
path?:
|
|
134
|
-
rename?:
|
|
135
|
-
move?:
|
|
133
|
+
path?: unknown;
|
|
134
|
+
rename?: unknown;
|
|
135
|
+
move?: unknown;
|
|
136
136
|
op?: Operation;
|
|
137
137
|
};
|
|
138
138
|
|
|
@@ -192,8 +192,11 @@ const CALL_TEXT_PREVIEW_LINES = 6;
|
|
|
192
192
|
const CALL_TEXT_PREVIEW_WIDTH = 80;
|
|
193
193
|
|
|
194
194
|
/** Extract file path from an edit entry. */
|
|
195
|
-
function filePathFromEditEntry(p:
|
|
196
|
-
|
|
195
|
+
function filePathFromEditEntry(p: unknown): string | undefined {
|
|
196
|
+
if (typeof p !== "string") {
|
|
197
|
+
return undefined;
|
|
198
|
+
}
|
|
199
|
+
return p;
|
|
197
200
|
}
|
|
198
201
|
|
|
199
202
|
function decodePartialJsonStringFragment(fragment: string): string {
|
|
@@ -696,11 +699,6 @@ function wrapEditRendererLine(line: string, width: number): string[] {
|
|
|
696
699
|
|
|
697
700
|
export const editToolRenderer = {
|
|
698
701
|
mergeCallAndResult: true,
|
|
699
|
-
// Pending preview is a TAIL window of the streamed diff ("… N more lines
|
|
700
|
-
// above" + last rows); the result render re-anchors the block top-first, so
|
|
701
|
-
// committing the preview's settled head would strand a stale call-box
|
|
702
|
-
// fragment in native scrollback.
|
|
703
|
-
provisionalPendingPreview: true,
|
|
704
702
|
|
|
705
703
|
renderCall(
|
|
706
704
|
args: EditRenderArgs,
|
|
@@ -716,18 +714,20 @@ export const editToolRenderer = {
|
|
|
716
714
|
// Extract path from first edit entry when top-level path is absent (new schema)
|
|
717
715
|
const firstEdit = Array.isArray(editArgs.edits) && editArgs.edits.length > 0 ? editArgs.edits[0] : undefined;
|
|
718
716
|
const rawPath =
|
|
719
|
-
editArgs.file_path
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
717
|
+
typeof editArgs.file_path === "string"
|
|
718
|
+
? editArgs.file_path
|
|
719
|
+
: typeof editArgs.path === "string"
|
|
720
|
+
? editArgs.path
|
|
721
|
+
: (filePathFromEditEntry(firstEdit?.path) ??
|
|
722
|
+
getPartialJsonEditPath(editArgs) ??
|
|
723
|
+
firstHashlineInputEntry?.path ??
|
|
724
|
+
firstApplyPatchEntry?.path ??
|
|
725
|
+
"");
|
|
726
726
|
const rename =
|
|
727
|
-
editArgs.rename
|
|
728
|
-
firstEdit?.rename
|
|
729
|
-
firstEdit?.move
|
|
730
|
-
firstApplyPatchEntry?.rename
|
|
727
|
+
(typeof editArgs.rename === "string" ? editArgs.rename : undefined) ??
|
|
728
|
+
filePathFromEditEntry(firstEdit?.rename) ??
|
|
729
|
+
filePathFromEditEntry(firstEdit?.move) ??
|
|
730
|
+
firstApplyPatchEntry?.rename ??
|
|
731
731
|
firstHashlineInputEntry?.rename;
|
|
732
732
|
const op = editArgs.op || firstEdit?.op || firstApplyPatchEntry?.op || firstHashlineInputEntry?.op;
|
|
733
733
|
let fileCount = hashlineInputSummary?.entries.length ?? applyPatchSummary?.entries.length ?? 0;
|
|
@@ -786,8 +786,9 @@ export const editToolRenderer = {
|
|
|
786
786
|
uiTheme: Theme,
|
|
787
787
|
args?: EditRenderArgs,
|
|
788
788
|
): Component {
|
|
789
|
+
const edits = Array.isArray(args?.edits) ? args.edits : undefined;
|
|
789
790
|
const perFileResults = result.details?.perFileResults;
|
|
790
|
-
const totalFiles =
|
|
791
|
+
const totalFiles = edits ? countEditFiles(edits) : 0;
|
|
791
792
|
if (perFileResults && (perFileResults.length > 1 || totalFiles > 1)) {
|
|
792
793
|
return renderMultiFileResult(perFileResults, totalFiles, options, uiTheme);
|
|
793
794
|
}
|
|
@@ -807,20 +808,26 @@ function renderSingleFileResult(
|
|
|
807
808
|
): Component {
|
|
808
809
|
const details = result.details;
|
|
809
810
|
const isError = result.isError ?? (details && "isError" in details ? details.isError : false);
|
|
810
|
-
const
|
|
811
|
+
const edits = Array.isArray(args?.edits) ? args.edits : undefined;
|
|
812
|
+
const firstEdit = edits?.[0];
|
|
811
813
|
const hashlineInputSummary = getHashlineInputRenderSummary(args ?? {}, options.renderContext?.editMode);
|
|
812
814
|
const firstHashlineInputEntry = hashlineInputSummary?.entries[0];
|
|
813
|
-
const moveSource =
|
|
815
|
+
const moveSource =
|
|
816
|
+
details && "sourcePath" in details && typeof details.sourcePath === "string" ? details.sourcePath : undefined;
|
|
817
|
+
const detailPath = details && "path" in details && typeof details.path === "string" ? details.path : undefined;
|
|
814
818
|
const rawPath =
|
|
815
|
-
moveSource
|
|
816
|
-
args?.file_path
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
"";
|
|
819
|
+
moveSource ??
|
|
820
|
+
(typeof args?.file_path === "string"
|
|
821
|
+
? args.file_path
|
|
822
|
+
: typeof args?.path === "string"
|
|
823
|
+
? args.path
|
|
824
|
+
: (filePathFromEditEntry(firstEdit?.path) ?? detailPath ?? firstHashlineInputEntry?.path ?? ""));
|
|
822
825
|
const op = args?.op || firstEdit?.op || details?.op;
|
|
823
|
-
const rename =
|
|
826
|
+
const rename =
|
|
827
|
+
(typeof args?.rename === "string" ? args.rename : undefined) ??
|
|
828
|
+
filePathFromEditEntry(firstEdit?.rename) ??
|
|
829
|
+
filePathFromEditEntry(firstEdit?.move) ??
|
|
830
|
+
(details && "move" in details && typeof details.move === "string" ? details.move : undefined);
|
|
824
831
|
|
|
825
832
|
const displayErrorText = isError && details && "displayErrorText" in details ? details.displayErrorText : undefined;
|
|
826
833
|
const errorText = isError
|
|
@@ -1172,6 +1172,25 @@ describe("runEvalAgent isolation", () => {
|
|
|
1172
1172
|
).rejects.toThrow(/isolated apply failed.*Patch apply failed.*Captured patch preserved at \/artifacts\//s);
|
|
1173
1173
|
});
|
|
1174
1174
|
|
|
1175
|
+
it("surfaces the preserved patch path when branch-mode transfer fails before merge runs", async () => {
|
|
1176
|
+
mockAgents();
|
|
1177
|
+
mockIsolationContext();
|
|
1178
|
+
vi.spyOn(isolationRunner, "runIsolatedSubprocess").mockImplementation(async opts =>
|
|
1179
|
+
singleResult(opts.baseOptions, {
|
|
1180
|
+
output: "ran",
|
|
1181
|
+
patchPath: `/artifacts/${opts.agentId}.patch`,
|
|
1182
|
+
error: "Merge failed: remote: garbage at end of loose object '4de7bad'",
|
|
1183
|
+
}),
|
|
1184
|
+
);
|
|
1185
|
+
const mergeSpy = vi.spyOn(isolationRunner, "mergeIsolatedChanges");
|
|
1186
|
+
|
|
1187
|
+
const session = isolatedSession({ "task.isolation.merge": "branch" });
|
|
1188
|
+
await expect(runEvalAgent({ prompt: "scout", isolated: true }, { session })).rejects.toThrow(
|
|
1189
|
+
/Merge failed.*garbage at end of loose object.*Captured patch preserved at \/artifacts\//s,
|
|
1190
|
+
);
|
|
1191
|
+
expect(mergeSpy).not.toHaveBeenCalled();
|
|
1192
|
+
});
|
|
1193
|
+
|
|
1175
1194
|
it("throws on apply failure for non-schema callers too instead of burying the warning in text", async () => {
|
|
1176
1195
|
mockAgents();
|
|
1177
1196
|
mockIsolationContext();
|
|
@@ -23,7 +23,18 @@ function goalState(extra: Partial<GoalModeState["goal"]>): GoalModeState {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
function usage(output: number): UsageStatistics {
|
|
26
|
-
return {
|
|
26
|
+
return {
|
|
27
|
+
input: 0,
|
|
28
|
+
output,
|
|
29
|
+
cacheRead: 0,
|
|
30
|
+
cacheWrite: 0,
|
|
31
|
+
totalTokens: output,
|
|
32
|
+
orchestrationInput: 0,
|
|
33
|
+
orchestrationOutput: 0,
|
|
34
|
+
orchestrationCacheRead: 0,
|
|
35
|
+
premiumRequests: 0,
|
|
36
|
+
cost: 0,
|
|
37
|
+
};
|
|
27
38
|
}
|
|
28
39
|
|
|
29
40
|
describe("runEvalBudget", () => {
|
package/src/eval/agent-bridge.ts
CHANGED
|
@@ -240,6 +240,25 @@ async function persistNestedPatches(
|
|
|
240
240
|
return written;
|
|
241
241
|
}
|
|
242
242
|
|
|
243
|
+
/**
|
|
244
|
+
* Assemble the "captured X preserved at Y" recovery hint appended to
|
|
245
|
+
* isolated-run failure messages. Persists nested-repo patches to
|
|
246
|
+
* `artifactsDir` when present so their paths can be surfaced. Returns an
|
|
247
|
+
* empty string when the result carries no salvageable artifacts.
|
|
248
|
+
*/
|
|
249
|
+
async function buildIsolationRecoveryHint(result: SingleResult, artifactsDir: string): Promise<string> {
|
|
250
|
+
const parts: string[] = [];
|
|
251
|
+
if (result.patchPath) parts.push(`Captured patch preserved at ${result.patchPath}.`);
|
|
252
|
+
if (result.branchName) parts.push(`Captured branch preserved as ${result.branchName}.`);
|
|
253
|
+
if (result.nestedPatches?.length) {
|
|
254
|
+
const nestedPaths = await persistNestedPatches(artifactsDir, result.id, result.nestedPatches);
|
|
255
|
+
parts.push(
|
|
256
|
+
`Captured nested repository patches (${result.nestedPatches.length}) preserved at: ${nestedPaths.join(", ")}.`,
|
|
257
|
+
);
|
|
258
|
+
}
|
|
259
|
+
return parts.length > 0 ? ` ${parts.join(" ")}` : "";
|
|
260
|
+
}
|
|
261
|
+
|
|
243
262
|
function plainIsolationSummary(summary: string): string {
|
|
244
263
|
return summary.replace(/<\/?system-notification>/g, "").trim();
|
|
245
264
|
}
|
|
@@ -481,7 +500,9 @@ export async function runEvalAgent(args: unknown, options: EvalAgentBridgeOption
|
|
|
481
500
|
})();
|
|
482
501
|
|
|
483
502
|
if (result.exitCode !== 0 || result.error || result.aborted) {
|
|
484
|
-
|
|
503
|
+
const failureMessage = buildSubagentFailureMessage(agentName, result);
|
|
504
|
+
const recoveryHint = isIsolated ? await buildIsolationRecoveryHint(result, artifactsDir) : "";
|
|
505
|
+
throw new ToolError(`${failureMessage}${recoveryHint}`);
|
|
485
506
|
}
|
|
486
507
|
|
|
487
508
|
let mergeSummary = "";
|
|
@@ -497,16 +518,7 @@ export async function runEvalAgent(args: unknown, options: EvalAgentBridgeOption
|
|
|
497
518
|
changesApplied = outcome.changesApplied;
|
|
498
519
|
if (outcome.changesApplied === false) {
|
|
499
520
|
const summaryText = outcome.summary.trim();
|
|
500
|
-
const
|
|
501
|
-
if (result.patchPath) recoveryParts.push(`Captured patch preserved at ${result.patchPath}.`);
|
|
502
|
-
if (result.branchName) recoveryParts.push(`Captured branch preserved as ${result.branchName}.`);
|
|
503
|
-
if (result.nestedPatches?.length) {
|
|
504
|
-
const nestedPaths = await persistNestedPatches(artifactsDir, result.id, result.nestedPatches);
|
|
505
|
-
recoveryParts.push(
|
|
506
|
-
`Captured nested repository patches (${result.nestedPatches.length}) preserved at: ${nestedPaths.join(", ")}.`,
|
|
507
|
-
);
|
|
508
|
-
}
|
|
509
|
-
const recoveryHint = recoveryParts.length > 0 ? ` ${recoveryParts.join(" ")}` : "";
|
|
521
|
+
const recoveryHint = await buildIsolationRecoveryHint(result, artifactsDir);
|
|
510
522
|
throw new ToolError(
|
|
511
523
|
`agent() isolated apply failed for ${result.id}${summaryText ? `: ${summaryText}` : ""}${recoveryHint}`,
|
|
512
524
|
);
|
|
@@ -522,14 +534,10 @@ export async function runEvalAgent(args: unknown, options: EvalAgentBridgeOption
|
|
|
522
534
|
});
|
|
523
535
|
mergeSummary += nestedSummary;
|
|
524
536
|
if (structured && nestedSummary.trim()) {
|
|
525
|
-
const
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
`Captured nested repository patches (${result.nestedPatches.length}) preserved at: ${nestedPaths.join(", ")}.`,
|
|
530
|
-
);
|
|
531
|
-
}
|
|
532
|
-
const recoveryHint = recoveryParts.length > 0 ? ` ${recoveryParts.join(" ")}` : "";
|
|
537
|
+
const recoveryHint = await buildIsolationRecoveryHint(
|
|
538
|
+
{ ...result, patchPath: undefined, branchName: undefined },
|
|
539
|
+
artifactsDir,
|
|
540
|
+
);
|
|
533
541
|
throw new ToolError(
|
|
534
542
|
`agent() isolated nested patch apply failed for ${result.id}: ${plainIsolationSummary(nestedSummary)}${recoveryHint}`,
|
|
535
543
|
);
|
|
@@ -509,11 +509,14 @@ function wrapBunWorker(worker: Worker): WorkerHandle {
|
|
|
509
509
|
const onError = (event: ErrorEvent): void => handler(errorFromWorkerEvent(event));
|
|
510
510
|
const onMessageError = (event: MessageEvent): void =>
|
|
511
511
|
handler(new ToolError(`JS eval worker message error: ${String(event.data)}`));
|
|
512
|
+
const onClose = (): void => handler(new Error("JS eval worker exited"));
|
|
512
513
|
worker.addEventListener("error", onError);
|
|
513
514
|
worker.addEventListener("messageerror", onMessageError);
|
|
515
|
+
worker.addEventListener("close", onClose);
|
|
514
516
|
return () => {
|
|
515
517
|
worker.removeEventListener("error", onError);
|
|
516
518
|
worker.removeEventListener("messageerror", onMessageError);
|
|
519
|
+
worker.removeEventListener("close", onClose);
|
|
517
520
|
};
|
|
518
521
|
},
|
|
519
522
|
async close() {
|
package/src/export/ttsr.ts
CHANGED
|
@@ -77,6 +77,8 @@ export class TtsrManager {
|
|
|
77
77
|
/** Last snapshot evaluated for AST conditions, keyed by stream key, to dedupe matcher runs. */
|
|
78
78
|
readonly #lastAstSnapshots = new Map<string, string>();
|
|
79
79
|
#messageCount = 0;
|
|
80
|
+
#canMatchText = false;
|
|
81
|
+
#canMatchThinking = false;
|
|
80
82
|
|
|
81
83
|
constructor(settings?: TtsrSettings) {
|
|
82
84
|
this.#settings = { ...DEFAULT_SETTINGS, ...settings };
|
|
@@ -329,6 +331,8 @@ export class TtsrManager {
|
|
|
329
331
|
scope,
|
|
330
332
|
globalPathGlobs,
|
|
331
333
|
});
|
|
334
|
+
if (scope.allowText) this.#canMatchText = true;
|
|
335
|
+
if (scope.allowThinking) this.#canMatchThinking = true;
|
|
332
336
|
|
|
333
337
|
logger.debug("TTSR rule registered", {
|
|
334
338
|
ruleName: rule.name,
|
|
@@ -348,6 +352,12 @@ export class TtsrManager {
|
|
|
348
352
|
* assistant prose, thinking text, and unrelated tool argument streams.
|
|
349
353
|
*/
|
|
350
354
|
checkDelta(delta: string, context: TtsrMatchContext): Rule[] {
|
|
355
|
+
if (context.source === "text" && !this.#canMatchText) {
|
|
356
|
+
return [];
|
|
357
|
+
}
|
|
358
|
+
if (context.source === "thinking" && !this.#canMatchThinking) {
|
|
359
|
+
return [];
|
|
360
|
+
}
|
|
351
361
|
const bufferKey = this.#bufferKey(context);
|
|
352
362
|
const nextBuffer = `${this.#buffers.get(bufferKey) ?? ""}${delta}`;
|
|
353
363
|
this.#buffers.set(bufferKey, nextBuffer);
|
|
@@ -26,6 +26,7 @@ import type * as PiCodingAgent from "../../index";
|
|
|
26
26
|
import type { Theme } from "../../modes/theme/theme";
|
|
27
27
|
import type { ReadonlySessionManager } from "../../session/session-manager";
|
|
28
28
|
import type { TodoItem } from "../../tools/todo";
|
|
29
|
+
import type { RecoveredRetryError } from "../shared-events";
|
|
29
30
|
import type * as TypeBox from "../typebox";
|
|
30
31
|
|
|
31
32
|
/** Alias for clarity */
|
|
@@ -133,6 +134,7 @@ export type CustomToolSessionEvent =
|
|
|
133
134
|
success: boolean;
|
|
134
135
|
attempt: number;
|
|
135
136
|
finalError?: string;
|
|
137
|
+
recoveredErrors?: RecoveredRetryError[];
|
|
136
138
|
}
|
|
137
139
|
| {
|
|
138
140
|
reason: "ttsr_triggered";
|
|
@@ -18,7 +18,7 @@ import type { ExecOptions } from "../../exec/exec";
|
|
|
18
18
|
import { execCommand } from "../../exec/exec";
|
|
19
19
|
// Runtime self-reference: dereference this namespace only inside loader functions to keep the index.ts cycle safe.
|
|
20
20
|
import * as PiCodingAgent from "../../index";
|
|
21
|
-
import type {
|
|
21
|
+
import type { CustomMessagePayload } from "../../session/messages";
|
|
22
22
|
import { EventBus } from "../../utils/event-bus";
|
|
23
23
|
import { installLegacyPiSpecifierShim, loadLegacyPiModule } from "../plugins/legacy-pi-compat";
|
|
24
24
|
import { getAllPluginExtensionPaths } from "../plugins/loader";
|
|
@@ -203,7 +203,7 @@ class ConcreteExtensionAPI implements ExtensionAPI, IExtensionRuntime {
|
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
sendMessage<T = unknown>(
|
|
206
|
-
message:
|
|
206
|
+
message: CustomMessagePayload<T>,
|
|
207
207
|
options?: { triggerTurn?: boolean; deliverAs?: "steer" | "followUp" | "nextTurn" },
|
|
208
208
|
): void {
|
|
209
209
|
this.runtime.sendMessage(message, options);
|
|
@@ -45,7 +45,7 @@ import type { MemoryRuntimeContext } from "../../memory-backend";
|
|
|
45
45
|
import type { CustomEditor } from "../../modes/components/custom-editor";
|
|
46
46
|
import type { Theme } from "../../modes/theme/theme";
|
|
47
47
|
import type { CompactMode } from "../../session/compact-modes";
|
|
48
|
-
import type { CustomMessage } from "../../session/messages";
|
|
48
|
+
import type { CustomMessage, CustomMessagePayload } from "../../session/messages";
|
|
49
49
|
import type { ReadonlySessionManager, SessionManager } from "../../session/session-manager";
|
|
50
50
|
import type {
|
|
51
51
|
BashToolDetails,
|
|
@@ -294,6 +294,18 @@ export interface CompactOptions {
|
|
|
294
294
|
* subcommands: `soft` | `remote` | `snapcompact`). Omitted = configured behavior.
|
|
295
295
|
*/
|
|
296
296
|
mode?: CompactMode;
|
|
297
|
+
/**
|
|
298
|
+
* Internal summarizer guidance — piped only to native summarization, never
|
|
299
|
+
* exposed as `customInstructions` on the `session_before_compact` extension
|
|
300
|
+
* hook. Used by plan-mode "Approve and compact context" so extensions that
|
|
301
|
+
* treat `customInstructions` as user focus don't mistake plan-mode
|
|
302
|
+
* boilerplate for the operator's intent (issue #4359).
|
|
303
|
+
*
|
|
304
|
+
* When both `customInstructions` and `internalGuidance` are set, the
|
|
305
|
+
* summarizer uses `internalGuidance`; the hook still sees only the public
|
|
306
|
+
* `customInstructions`.
|
|
307
|
+
*/
|
|
308
|
+
internalGuidance?: string;
|
|
297
309
|
}
|
|
298
310
|
|
|
299
311
|
/**
|
|
@@ -881,7 +893,7 @@ export interface UserPythonEventResult {
|
|
|
881
893
|
export type { ToolResultEventResult } from "../shared-events";
|
|
882
894
|
|
|
883
895
|
export interface BeforeAgentStartEventResult {
|
|
884
|
-
message?:
|
|
896
|
+
message?: CustomMessagePayload;
|
|
885
897
|
/** Replace the system prompt for this turn. If multiple extensions return this, they are chained. */
|
|
886
898
|
systemPrompt?: string[];
|
|
887
899
|
}
|
|
@@ -1091,7 +1103,7 @@ export interface ExtensionAPI {
|
|
|
1091
1103
|
* an internal continuation that consumes the message on the next turn.
|
|
1092
1104
|
*/
|
|
1093
1105
|
sendMessage<T = unknown>(
|
|
1094
|
-
message:
|
|
1106
|
+
message: CustomMessagePayload<T>,
|
|
1095
1107
|
options?: { triggerTurn?: boolean; deliverAs?: "steer" | "followUp" | "nextTurn" },
|
|
1096
1108
|
): void;
|
|
1097
1109
|
|
|
@@ -1277,7 +1289,7 @@ export interface ExtensionShortcut {
|
|
|
1277
1289
|
type HandlerFn = (...args: unknown[]) => Promise<unknown>;
|
|
1278
1290
|
|
|
1279
1291
|
export type SendMessageHandler = <T = unknown>(
|
|
1280
|
-
message:
|
|
1292
|
+
message: CustomMessagePayload<T>,
|
|
1281
1293
|
/**
|
|
1282
1294
|
* `deliverAs: "nextTurn"` queues hidden custom context for the next turn.
|
|
1283
1295
|
* When paired with `triggerTurn: true` during prompt teardown, the session schedules
|
|
@@ -10,7 +10,7 @@ import type { Hook } from "../../discovery";
|
|
|
10
10
|
import { loadCapability } from "../../discovery";
|
|
11
11
|
// Runtime self-reference: dereference this namespace only inside loader functions to keep the index.ts cycle safe.
|
|
12
12
|
import * as PiCodingAgent from "../../index";
|
|
13
|
-
import type {
|
|
13
|
+
import type { CustomMessagePayload } from "../../session/messages";
|
|
14
14
|
import * as typebox from "../typebox";
|
|
15
15
|
import { resolvePath, withExitGuard } from "../utils";
|
|
16
16
|
import { execCommand } from "./runner";
|
|
@@ -25,7 +25,7 @@ type HandlerFn = (...args: unknown[]) => Promise<unknown>;
|
|
|
25
25
|
* Send message handler type for pi.sendMessage().
|
|
26
26
|
*/
|
|
27
27
|
export type SendMessageHandler = <T = unknown>(
|
|
28
|
-
message:
|
|
28
|
+
message: CustomMessagePayload<T>,
|
|
29
29
|
options?: { triggerTurn?: boolean; deliverAs?: "steer" | "followUp" },
|
|
30
30
|
) => void;
|
|
31
31
|
|
|
@@ -97,7 +97,7 @@ async function createHookAPI(
|
|
|
97
97
|
handlers.get(event)!.push(handler);
|
|
98
98
|
},
|
|
99
99
|
sendMessage<T = unknown>(
|
|
100
|
-
message:
|
|
100
|
+
message: CustomMessagePayload<T>,
|
|
101
101
|
options?: { triggerTurn?: boolean; deliverAs?: "steer" | "followUp" },
|
|
102
102
|
): void {
|
|
103
103
|
if (!sendMessageHandler) {
|
|
@@ -8,7 +8,7 @@ import type { EditToolDetails } from "../../edit";
|
|
|
8
8
|
import type { ExecOptions, ExecResult } from "../../exec/exec";
|
|
9
9
|
import type * as PiCodingAgent from "../../index";
|
|
10
10
|
import type { Theme } from "../../modes/theme/theme";
|
|
11
|
-
import type { HookMessage } from "../../session/messages";
|
|
11
|
+
import type { CustomMessagePayload, HookMessage } from "../../session/messages";
|
|
12
12
|
import type { ReadonlySessionManager, SessionManager } from "../../session/session-manager";
|
|
13
13
|
import type { BashToolDetails, GlobToolDetails, GrepToolDetails, ReadToolDetails } from "../../tools";
|
|
14
14
|
import type {
|
|
@@ -425,7 +425,7 @@ export type { ToolCallEventResult, ToolResultEventResult } from "../shared-event
|
|
|
425
425
|
*/
|
|
426
426
|
export interface BeforeAgentStartEventResult {
|
|
427
427
|
/** Message to inject into context (persisted to session, visible in TUI) */
|
|
428
|
-
message?:
|
|
428
|
+
message?: CustomMessagePayload;
|
|
429
429
|
}
|
|
430
430
|
|
|
431
431
|
export type {
|
|
@@ -519,7 +519,7 @@ export interface HookAPI {
|
|
|
519
519
|
* Use this when you want the LLM to see the message content.
|
|
520
520
|
* For hook state that should NOT be sent to the LLM, use appendEntry() instead.
|
|
521
521
|
*
|
|
522
|
-
* @param message - The message to send
|
|
522
|
+
* @param message - The message object to send, or a string shorthand for visible message content
|
|
523
523
|
* @param message.customType - Identifier for your hook (used for filtering on reload)
|
|
524
524
|
* @param message.content - Message content (string or TextContent/ImageContent array)
|
|
525
525
|
* @param message.display - Whether to show in TUI (true = styled display, false = hidden)
|
|
@@ -530,7 +530,7 @@ export interface HookAPI {
|
|
|
530
530
|
* @param options.deliverAs - How to deliver the message: "steer" or "followUp".
|
|
531
531
|
*/
|
|
532
532
|
sendMessage<T = unknown>(
|
|
533
|
-
message:
|
|
533
|
+
message: CustomMessagePayload<T>,
|
|
534
534
|
options?: { triggerTurn?: boolean; deliverAs?: "steer" | "followUp" },
|
|
535
535
|
): void;
|
|
536
536
|
|
|
@@ -19,7 +19,13 @@
|
|
|
19
19
|
* `types.ts` via the `export *` below — pi-ai still exports both as types,
|
|
20
20
|
* only the runtime `Type` builder and `StringEnum()` helper were removed.
|
|
21
21
|
*/
|
|
22
|
-
import {
|
|
22
|
+
import {
|
|
23
|
+
calculateCost,
|
|
24
|
+
getBundledModel,
|
|
25
|
+
getBundledModels,
|
|
26
|
+
getBundledProviders,
|
|
27
|
+
modelsAreEqual,
|
|
28
|
+
} from "@oh-my-pi/pi-catalog/models";
|
|
23
29
|
import { type TSchema, Type } from "./typebox";
|
|
24
30
|
|
|
25
31
|
export interface StringEnumOptions<T extends string> {
|
|
@@ -66,8 +72,15 @@ export function StringEnum<T extends string | number>(
|
|
|
66
72
|
}
|
|
67
73
|
|
|
68
74
|
export * from "@oh-my-pi/pi-ai";
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
75
|
+
/**
|
|
76
|
+
* Compatibility re-exports for catalog symbols that pi-ai historically exposed
|
|
77
|
+
* from its own barrel prior to the `refactor(catalog)!: split model catalog
|
|
78
|
+
* from pi-ai` change. Legacy extensions still import these from the pi-ai
|
|
79
|
+
* root, so the shim bridges them through to their new home in
|
|
80
|
+
* `@oh-my-pi/pi-catalog/models`. `getModel`/`getModels` are the historical
|
|
81
|
+
* pi-ai names for `getBundledModel`/`getBundledModels`; the remaining symbols
|
|
82
|
+
* kept their names across the move.
|
|
83
|
+
*/
|
|
84
|
+
export { calculateCost, getBundledModel, getBundledModels, getBundledProviders, modelsAreEqual, Type };
|
|
72
85
|
export const getModel = getBundledModel;
|
|
73
86
|
export const getModels = getBundledModels;
|