@prometheus-ai/agent 0.5.4 → 0.5.8
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 +30 -0
- package/dist/cli.js +25110 -0
- package/dist/types/async/index.d.ts +0 -1
- package/dist/types/async/job-manager.d.ts +33 -0
- package/dist/types/autolearn/controller.d.ts +25 -0
- package/dist/types/autolearn/managed-skills.d.ts +45 -0
- package/dist/types/autoresearch/state.d.ts +1 -1
- package/dist/types/autoresearch/tools/init-experiment.d.ts +1 -1
- package/dist/types/autoresearch/tools/log-experiment.d.ts +1 -1
- package/dist/types/autoresearch/tools/run-experiment.d.ts +1 -1
- package/dist/types/autoresearch/tools/update-notes.d.ts +1 -1
- package/dist/types/autoresearch/types.d.ts +1 -1
- package/dist/types/capability/context-file.d.ts +0 -13
- package/dist/types/capability/mcp.d.ts +1 -0
- package/dist/types/capability/rule-buckets.d.ts +1 -1
- package/dist/types/capability/rule.d.ts +6 -1
- package/dist/types/capability/types.d.ts +0 -4
- package/dist/types/cli/args.d.ts +23 -3
- package/dist/types/cli/bench-cli.d.ts +78 -0
- package/dist/types/cli/claude-trace-cli.d.ts +7 -0
- package/dist/types/cli/dry-balance-cli.d.ts +16 -2
- package/dist/types/cli/gallery-cli.d.ts +43 -0
- package/dist/types/cli/gallery-fixtures/agentic.d.ts +2 -0
- package/dist/types/cli/gallery-fixtures/codeintel.d.ts +3 -0
- package/dist/types/cli/gallery-fixtures/edit.d.ts +3 -0
- package/dist/types/cli/gallery-fixtures/fs.d.ts +2 -0
- package/dist/types/cli/gallery-fixtures/index.d.ts +4 -0
- package/dist/types/cli/gallery-fixtures/interaction.d.ts +3 -0
- package/dist/types/cli/gallery-fixtures/memory.d.ts +2 -0
- package/dist/types/cli/gallery-fixtures/misc.d.ts +3 -0
- package/dist/types/cli/gallery-fixtures/search.d.ts +3 -0
- package/dist/types/cli/gallery-fixtures/shell.d.ts +3 -0
- package/dist/types/cli/gallery-fixtures/types.d.ts +55 -0
- package/dist/types/cli/gallery-fixtures/web.d.ts +2 -0
- package/dist/types/cli/gallery-screenshot.d.ts +35 -0
- package/dist/types/cli/grievances-cli.d.ts +1 -1
- package/dist/types/cli/list-models.d.ts +6 -14
- package/dist/types/cli/models-cli.d.ts +49 -0
- package/dist/types/cli/session-picker.d.ts +1 -1
- package/dist/types/cli/setup-cli.d.ts +1 -1
- package/dist/types/cli/setup-model-picker.d.ts +14 -0
- package/dist/types/cli/startup-cwd.d.ts +2 -0
- package/dist/types/cli/update-cli.d.ts +13 -40
- package/dist/types/cli/usage-cli.d.ts +81 -0
- package/dist/types/cli-commands.d.ts +12 -0
- package/dist/types/collab/crypto.d.ts +7 -0
- package/dist/types/collab/guest.d.ts +37 -0
- package/dist/types/collab/host.d.ts +29 -0
- package/dist/types/collab/protocol.d.ts +119 -0
- package/dist/types/collab/relay-client.d.ts +22 -0
- package/dist/types/commands/bench.d.ts +29 -0
- package/dist/types/commands/gallery.d.ts +47 -0
- package/dist/types/commands/install.d.ts +1 -1
- package/dist/types/commands/join.d.ts +12 -0
- package/dist/types/commands/launch.d.ts +8 -4
- package/dist/types/commands/models.d.ts +33 -0
- package/dist/types/commands/read.d.ts +1 -1
- package/dist/types/commands/say.d.ts +24 -0
- package/dist/types/commands/token.d.ts +25 -0
- package/dist/types/commands/usage.d.ts +34 -0
- package/dist/types/commit/agentic/tools/analyze-file.d.ts +1 -1
- package/dist/types/commit/agentic/tools/git-file-diff.d.ts +1 -1
- package/dist/types/commit/agentic/tools/git-hunk.d.ts +1 -1
- package/dist/types/commit/agentic/tools/git-overview.d.ts +1 -1
- package/dist/types/commit/agentic/tools/propose-changelog.d.ts +1 -1
- package/dist/types/commit/agentic/tools/propose-commit.d.ts +1 -1
- package/dist/types/commit/agentic/tools/recent-commits.d.ts +1 -1
- package/dist/types/commit/agentic/tools/schemas.d.ts +1 -1
- package/dist/types/commit/agentic/tools/split-commit.d.ts +1 -1
- package/dist/types/commit/analysis/conventional.d.ts +2 -2
- package/dist/types/commit/analysis/summary.d.ts +2 -2
- package/dist/types/commit/changelog/generate.d.ts +3 -3
- package/dist/types/commit/changelog/index.d.ts +2 -2
- package/dist/types/commit/map-reduce/index.d.ts +3 -3
- package/dist/types/commit/map-reduce/map-phase.d.ts +2 -2
- package/dist/types/commit/map-reduce/reduce-phase.d.ts +2 -2
- package/dist/types/commit/model-selection.d.ts +10 -4
- package/dist/types/commit/shared-llm.d.ts +1 -1
- package/dist/types/config/api-key-resolver.d.ts +43 -0
- package/dist/types/config/append-only-context-mode.d.ts +2 -1
- package/dist/types/config/keybindings.d.ts +12 -7
- package/dist/types/config/model-discovery.d.ts +57 -0
- package/dist/types/config/model-equivalence.d.ts +1 -1
- package/dist/types/config/model-registry.d.ts +86 -222
- package/dist/types/config/model-resolver.d.ts +43 -12
- package/dist/types/config/model-roles.d.ts +29 -0
- package/dist/types/config/models-config-schema.d.ts +536 -43
- package/dist/types/config/models-config.d.ts +391 -0
- package/dist/types/config/settings-schema.d.ts +1202 -324
- package/dist/types/config/settings.d.ts +15 -3
- package/dist/types/dap/config.d.ts +14 -1
- package/dist/types/dap/types.d.ts +10 -0
- 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 +3 -0
- package/dist/types/debug/terminal-info.d.ts +0 -1
- package/dist/types/discovery/at-imports.d.ts +15 -0
- package/dist/types/discovery/prometheus-extension-roots.d.ts +7 -7
- package/dist/types/edit/diff.d.ts +3 -2
- package/dist/types/edit/file-snapshot-store.d.ts +18 -0
- package/dist/types/edit/hashline/noop-loop-guard.d.ts +72 -0
- package/dist/types/edit/hashline/params.d.ts +1 -1
- package/dist/types/edit/index.d.ts +0 -1
- package/dist/types/edit/modes/apply-patch.d.ts +1 -1
- package/dist/types/edit/modes/patch.d.ts +1 -1
- package/dist/types/edit/modes/replace.d.ts +1 -1
- package/dist/types/edit/renderer.d.ts +1 -0
- package/dist/types/eval/__tests__/completion-bridge.test.d.ts +1 -0
- package/dist/types/eval/__tests__/helpers-local-roots.test.d.ts +1 -0
- package/dist/types/eval/__tests__/js-context-manager.test.d.ts +1 -0
- package/dist/types/eval/backend.d.ts +7 -2
- package/dist/types/eval/bridge-timeout.d.ts +1 -1
- package/dist/types/eval/completion-bridge.d.ts +25 -0
- package/dist/types/eval/idle-timeout.d.ts +1 -5
- package/dist/types/eval/js/context-manager.d.ts +1 -0
- package/dist/types/eval/js/executor.d.ts +2 -0
- package/dist/types/eval/js/index.d.ts +1 -1
- package/dist/types/eval/js/shared/helpers.d.ts +7 -1
- package/dist/types/eval/js/shared/rewrite-imports.d.ts +6 -6
- package/dist/types/eval/js/shared/runtime.d.ts +6 -1
- package/dist/types/eval/js/worker-protocol.d.ts +6 -0
- package/dist/types/eval/py/__tests__/prelude.test.d.ts +1 -0
- package/dist/types/eval/py/executor.d.ts +12 -0
- package/dist/types/eval/py/index.d.ts +1 -1
- package/dist/types/eval/py/kernel.d.ts +6 -1
- package/dist/types/eval/py/runtime.d.ts +9 -0
- package/dist/types/exa/index.d.ts +1 -19
- package/dist/types/exa/mcp-client.d.ts +10 -3
- package/dist/types/exa/types.d.ts +0 -83
- package/dist/types/exec/bash-executor.d.ts +7 -0
- package/dist/types/export/custom-share.d.ts +1 -2
- package/dist/types/export/html/index.d.ts +39 -0
- package/dist/types/export/html/template-js.d.ts +2 -0
- package/dist/types/export/share.d.ts +61 -0
- package/dist/types/export/ttsr.d.ts +14 -0
- package/dist/types/extensibility/custom-commands/types.d.ts +9 -4
- package/dist/types/extensibility/custom-tools/loader.d.ts +30 -4
- package/dist/types/extensibility/custom-tools/types.d.ts +16 -8
- package/dist/types/extensibility/extensions/index.d.ts +1 -1
- package/dist/types/extensibility/extensions/loader.d.ts +20 -1
- package/dist/types/extensibility/extensions/model-api.d.ts +17 -0
- package/dist/types/extensibility/extensions/runner.d.ts +5 -2
- package/dist/types/extensibility/extensions/types.d.ts +72 -11
- package/dist/types/extensibility/hooks/index.d.ts +2 -1
- package/dist/types/extensibility/hooks/loader.d.ts +1 -1
- package/dist/types/extensibility/hooks/types.d.ts +11 -5
- package/dist/types/extensibility/{legacy-pi-ai-shim.d.ts → legacy-package-ai-shim.d.ts} +2 -2
- package/dist/types/extensibility/plugins/{legacy-pi-compat.d.ts → legacy-package-compat.d.ts} +20 -3
- package/dist/types/extensibility/plugins/loader.d.ts +11 -0
- package/dist/types/extensibility/plugins/marketplace-auto-update.d.ts +8 -0
- package/dist/types/extensibility/plugins/types.d.ts +2 -2
- package/dist/types/extensibility/shared-events.d.ts +3 -3
- package/dist/types/extensibility/skills.d.ts +10 -0
- package/dist/types/extensibility/slash-commands.d.ts +1 -11
- package/dist/types/goals/guided-setup.d.ts +18 -0
- package/dist/types/goals/state.d.ts +1 -1
- package/dist/types/goals/tools/goal-tool.d.ts +1 -1
- package/dist/types/hindsight/mental-models.d.ts +17 -8
- package/dist/types/hindsight/transcript.d.ts +1 -1
- package/dist/types/index.d.ts +5 -0
- package/dist/types/internal-urls/artifact-protocol.d.ts +2 -2
- package/dist/types/internal-urls/history-protocol.d.ts +14 -0
- package/dist/types/internal-urls/index.d.ts +1 -0
- package/dist/types/internal-urls/local-protocol.d.ts +14 -2
- package/dist/types/internal-urls/types.d.ts +1 -1
- package/dist/types/irc/bus.d.ts +79 -0
- package/dist/types/lib/xai-http.d.ts +1 -1
- package/dist/types/lsp/client.d.ts +10 -0
- package/dist/types/lsp/config.d.ts +2 -2
- package/dist/types/lsp/edits.d.ts +9 -0
- package/dist/types/lsp/format-options.d.ts +32 -0
- package/dist/types/lsp/index.d.ts +2 -7
- package/dist/types/lsp/types.d.ts +13 -1
- package/dist/types/lsp/utils.d.ts +6 -2
- package/dist/types/main.d.ts +23 -8
- package/dist/types/mcp/json-rpc.d.ts +5 -0
- package/dist/types/mcp/manager.d.ts +8 -0
- package/dist/types/mcp/oauth-discovery.d.ts +6 -1
- package/dist/types/mcp/oauth-flow.d.ts +13 -3
- package/dist/types/mcp/startup-events.d.ts +11 -0
- package/dist/types/mcp/tool-bridge.d.ts +2 -0
- package/dist/types/mcp/transports/stdio.d.ts +13 -0
- package/dist/types/mcp/types.d.ts +2 -0
- package/dist/types/memories/index.d.ts +7 -15
- package/dist/types/memories/storage.d.ts +0 -10
- package/dist/types/memory-backend/index.d.ts +3 -1
- package/dist/types/memory-backend/local-backend.d.ts +4 -3
- package/dist/types/memory-backend/resolve.d.ts +2 -2
- package/dist/types/memory-backend/runtime.d.ts +4 -0
- package/dist/types/memory-backend/types.d.ts +67 -2
- package/dist/types/mnemopi/config.d.ts +31 -1
- package/dist/types/mnemopi/state.d.ts +40 -2
- package/dist/types/modes/acp/acp-agent.d.ts +1 -2
- package/dist/types/modes/components/agent-dashboard.d.ts +17 -1
- package/dist/types/modes/components/agent-hub.d.ts +82 -0
- package/dist/types/modes/components/assistant-message.d.ts +5 -12
- package/dist/types/modes/components/bash-execution.d.ts +1 -1
- package/dist/types/modes/components/chat-block.d.ts +64 -0
- package/dist/types/modes/components/collab-prompt-message.d.ts +10 -0
- package/dist/types/modes/components/compaction-summary-message.d.ts +25 -5
- package/dist/types/modes/components/copy-selector.d.ts +1 -1
- package/dist/types/modes/components/custom-editor.d.ts +49 -2
- package/dist/types/modes/components/custom-editor.test.d.ts +1 -0
- package/dist/types/modes/components/dynamic-border.d.ts +1 -1
- package/dist/types/modes/components/extensions/extension-dashboard.d.ts +1 -1
- package/dist/types/modes/components/extensions/extension-list.d.ts +1 -1
- package/dist/types/modes/components/extensions/inspector-panel.d.ts +1 -1
- package/dist/types/modes/components/footer.d.ts +1 -1
- package/dist/types/modes/components/hook-editor.d.ts +5 -0
- package/dist/types/modes/components/hook-input.d.ts +4 -0
- package/dist/types/modes/components/hook-selector.d.ts +5 -7
- package/dist/types/modes/components/index.d.ts +1 -0
- package/dist/types/modes/components/late-diagnostics-message.d.ts +20 -0
- package/dist/types/modes/components/logout-account-selector.d.ts +8 -0
- package/dist/types/modes/components/mcp-add-wizard.d.ts +2 -1
- package/dist/types/modes/components/model-selector.d.ts +1 -1
- package/dist/types/modes/components/oauth-selector.d.ts +10 -1
- package/dist/types/modes/components/overlay-box.d.ts +17 -0
- package/dist/types/modes/components/plan-review-overlay.d.ts +61 -0
- package/dist/types/modes/components/plan-toc.d.ts +41 -0
- package/dist/types/modes/components/read-tool-group.d.ts +8 -0
- package/dist/types/modes/components/reset-usage-selector.d.ts +12 -0
- package/dist/types/modes/components/segment-track.d.ts +11 -6
- package/dist/types/modes/components/session-selector.d.ts +18 -9
- package/dist/types/modes/components/settings-defs.d.ts +9 -2
- package/dist/types/modes/components/settings-selector.d.ts +17 -4
- package/dist/types/modes/components/snapcompact-shape-preview.d.ts +31 -0
- package/dist/types/modes/components/status-line/component.d.ts +61 -0
- package/dist/types/modes/components/status-line/index.d.ts +1 -0
- package/dist/types/modes/components/status-line/types.d.ts +47 -3
- package/dist/types/modes/components/tiny-title-download-progress.d.ts +1 -1
- package/dist/types/modes/components/tool-execution.d.ts +49 -2
- package/dist/types/modes/components/transcript-container.d.ts +76 -26
- package/dist/types/modes/components/tree-selector.d.ts +2 -2
- package/dist/types/modes/components/ttsr-notification.d.ts +5 -1
- package/dist/types/modes/components/usage-row.d.ts +3 -0
- package/dist/types/modes/components/user-message-selector.d.ts +1 -1
- package/dist/types/modes/components/user-message.d.ts +2 -1
- package/dist/types/modes/components/visual-truncate.d.ts +1 -1
- package/dist/types/modes/components/welcome.d.ts +12 -2
- package/dist/types/modes/controllers/command-controller.d.ts +3 -2
- package/dist/types/modes/controllers/event-controller.d.ts +7 -1
- package/dist/types/modes/controllers/extension-ui-controller.d.ts +0 -1
- package/dist/types/modes/controllers/input-controller.d.ts +25 -3
- package/dist/types/modes/controllers/mcp-command-controller.d.ts +8 -0
- package/dist/types/modes/controllers/selector-controller.d.ts +5 -2
- package/dist/types/modes/controllers/session-focus-controller.d.ts +31 -0
- package/dist/types/modes/controllers/streaming-reveal.d.ts +22 -0
- package/dist/types/modes/controllers/tan-command-controller.d.ts +6 -0
- package/dist/types/modes/controllers/tool-args-reveal.d.ts +43 -0
- package/dist/types/modes/gradient-highlight.d.ts +9 -4
- package/dist/types/modes/image-references.d.ts +14 -3
- package/dist/types/modes/index.d.ts +8 -7
- package/dist/types/modes/interactive-mode.d.ts +92 -16
- package/dist/types/modes/magic-keywords.d.ts +14 -2
- package/dist/types/modes/markdown-prose.d.ts +1 -1
- package/dist/types/modes/oauth-manual-input.d.ts +7 -0
- package/dist/types/modes/rpc/rpc-client.d.ts +48 -2
- package/dist/types/modes/rpc/rpc-mode.d.ts +67 -2
- package/dist/types/modes/rpc/rpc-subagents.d.ts +24 -0
- package/dist/types/modes/rpc/rpc-types.d.ts +113 -1
- package/dist/types/modes/runtime-init.d.ts +4 -0
- package/dist/types/modes/session-observer-registry.d.ts +9 -0
- package/dist/types/modes/setup-version.d.ts +11 -0
- package/dist/types/modes/setup-wizard/index.d.ts +7 -2
- package/dist/types/modes/setup-wizard/lazy.d.ts +2 -0
- package/dist/types/modes/setup-wizard/scenes/sign-in.d.ts +4 -1
- package/dist/types/modes/setup-wizard/scenes/types.d.ts +11 -2
- package/dist/types/modes/setup-wizard/scenes/web-search.d.ts +6 -2
- package/dist/types/modes/setup-wizard/wizard-overlay.d.ts +1 -1
- package/dist/types/modes/theme/theme.d.ts +42 -7
- package/dist/types/modes/types.d.ts +62 -13
- package/dist/types/modes/utils/context-usage.d.ts +6 -1
- package/dist/types/modes/utils/copy-targets.d.ts +21 -1
- package/dist/types/modes/utils/ui-helpers.d.ts +4 -4
- package/dist/types/modes/workflow.d.ts +3 -3
- package/dist/types/plan-mode/approved-plan.d.ts +27 -8
- package/dist/types/plan-mode/plan-protection.d.ts +4 -4
- package/dist/types/registry/agent-lifecycle.d.ts +51 -0
- package/dist/types/registry/agent-registry.d.ts +33 -5
- package/dist/types/sdk.d.ts +46 -4
- package/dist/types/secrets/index.d.ts +1 -1
- package/dist/types/secrets/obfuscator.d.ts +9 -3
- package/dist/types/session/agent-session.d.ts +136 -66
- package/dist/types/session/agent-storage.d.ts +2 -1
- package/dist/types/session/auth-broker-config.d.ts +4 -0
- package/dist/types/session/auth-storage.d.ts +1 -1
- package/dist/types/session/codex-auto-reset.d.ts +111 -0
- package/dist/types/session/indexed-session-storage.d.ts +3 -3
- package/dist/types/session/messages.d.ts +26 -15
- package/dist/types/session/session-context.d.ts +39 -0
- package/dist/types/session/session-entries.d.ts +159 -0
- package/dist/types/session/session-history-format.d.ts +12 -0
- package/dist/types/session/session-listing.d.ts +69 -0
- package/dist/types/session/session-loader.d.ts +16 -0
- package/dist/types/session/session-manager.d.ts +107 -440
- package/dist/types/session/session-migrations.d.ts +12 -0
- package/dist/types/session/session-paths.d.ts +25 -0
- package/dist/types/session/session-persistence.d.ts +8 -0
- package/dist/types/session/session-storage.d.ts +11 -7
- package/dist/types/session/snapcompact-inline.d.ts +145 -0
- package/dist/types/session/snapcompact-savings-journal.d.ts +46 -0
- package/dist/types/session/streaming-output.d.ts +46 -0
- package/dist/types/session/tool-choice-queue.d.ts +6 -6
- package/dist/types/session/yield-queue.d.ts +10 -1
- package/dist/types/slash-commands/acp-builtins.d.ts +16 -0
- package/dist/types/slash-commands/available-commands.d.ts +34 -0
- package/dist/types/slash-commands/builtin-registry.d.ts +10 -0
- package/dist/types/slash-commands/helpers/active-oauth-account.d.ts +14 -0
- package/dist/types/slash-commands/helpers/logout.d.ts +15 -0
- package/dist/types/slash-commands/helpers/reset-usage.d.ts +27 -0
- package/dist/types/slash-commands/helpers/stats-dashboard.d.ts +13 -0
- package/dist/types/slash-commands/types.d.ts +5 -9
- package/dist/types/ssh/connection-manager.d.ts +8 -0
- package/dist/types/stt/asr-client.d.ts +90 -0
- package/dist/types/stt/asr-protocol.d.ts +97 -0
- package/dist/types/stt/asr-worker.d.ts +2 -0
- package/dist/types/stt/downloader.d.ts +38 -0
- package/dist/types/stt/endpointer.d.ts +59 -0
- package/dist/types/stt/index.d.ts +5 -1
- package/dist/types/stt/models.d.ts +120 -0
- package/dist/types/stt/recorder.d.ts +17 -0
- package/dist/types/stt/stt-controller.d.ts +6 -0
- package/dist/types/stt/transcriber.d.ts +5 -7
- package/dist/types/stt/wav.d.ts +29 -0
- package/dist/types/system-prompt.d.ts +9 -1
- package/dist/types/task/commands.d.ts +1 -1
- package/dist/types/task/discovery.d.ts +1 -2
- package/dist/types/task/executor.d.ts +61 -2
- package/dist/types/task/index.d.ts +37 -6
- package/dist/types/task/output-manager.d.ts +0 -7
- package/dist/types/task/parallel.d.ts +2 -2
- package/dist/types/task/prometheus-command.d.ts +2 -2
- package/dist/types/task/render.d.ts +20 -7
- package/dist/types/task/repair-args.d.ts +8 -7
- package/dist/types/task/types.d.ts +109 -52
- package/dist/types/task/worktree.d.ts +2 -0
- package/dist/types/telemetry-export.d.ts +2 -2
- package/dist/types/thinking.d.ts +4 -0
- package/dist/types/tiny/models.d.ts +1 -1
- package/dist/types/tiny/title-client.d.ts +12 -1
- package/dist/types/tiny/title-protocol.d.ts +1 -0
- package/dist/types/tools/archive-reader.d.ts +5 -0
- package/dist/types/tools/ask.d.ts +6 -1
- package/dist/types/tools/ast-edit.d.ts +4 -1
- package/dist/types/tools/ast-grep.d.ts +4 -1
- package/dist/types/tools/bash.d.ts +5 -2
- package/dist/types/tools/browser/attach.d.ts +4 -4
- package/dist/types/tools/browser/cmux/cmux-tab.d.ts +202 -0
- package/dist/types/tools/browser/cmux/rpc.d.ts +70 -0
- package/dist/types/tools/browser/cmux/socket-client.d.ts +19 -0
- package/dist/types/tools/browser/registry.d.ts +17 -3
- package/dist/types/tools/browser/render.d.ts +2 -0
- package/dist/types/tools/browser/tab-protocol.d.ts +2 -0
- package/dist/types/tools/browser/tab-supervisor.d.ts +16 -4
- package/dist/types/tools/browser/tab-worker.d.ts +18 -1
- package/dist/types/tools/browser.d.ts +3 -1
- package/dist/types/tools/checkpoint.d.ts +1 -1
- package/dist/types/tools/conflict-detect.d.ts +16 -0
- package/dist/types/tools/debug.d.ts +1 -1
- package/dist/types/tools/eval-render.d.ts +1 -8
- package/dist/types/tools/eval.d.ts +9 -1
- package/dist/types/tools/fetch.d.ts +17 -8
- package/dist/types/tools/find.d.ts +1 -8
- package/dist/types/tools/gh-cache-invalidation.d.ts +6 -0
- package/dist/types/tools/gh.d.ts +4 -1
- package/dist/types/tools/github-cache.d.ts +19 -0
- package/dist/types/tools/grouped-file-output.d.ts +46 -12
- package/dist/types/tools/image-gen.d.ts +1 -1
- package/dist/types/tools/index.d.ts +89 -8
- package/dist/types/tools/inspect-image.d.ts +1 -1
- package/dist/types/tools/irc.d.ts +79 -39
- package/dist/types/tools/job.d.ts +8 -2
- package/dist/types/tools/learn.d.ts +51 -0
- package/dist/types/tools/manage-skill.d.ts +40 -0
- package/dist/types/tools/memory-edit.d.ts +2 -2
- 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 +4 -1
- package/dist/types/tools/memory-retain.d.ts +1 -1
- package/dist/types/tools/path-utils.d.ts +17 -5
- package/dist/types/tools/plan-mode-guard.d.ts +18 -9
- package/dist/types/tools/read.d.ts +3 -2
- package/dist/types/tools/render-mermaid.d.ts +1 -1
- package/dist/types/tools/render-utils.d.ts +47 -27
- package/dist/types/tools/renderers.d.ts +10 -2
- package/dist/types/tools/report-tool-issue.d.ts +6 -1
- package/dist/types/tools/resolve.d.ts +1 -1
- package/dist/types/tools/review.d.ts +1 -1
- package/dist/types/tools/search-tool-bm25.d.ts +1 -1
- package/dist/types/tools/search.d.ts +7 -3
- package/dist/types/tools/sqlite-reader.d.ts +4 -0
- package/dist/types/tools/ssh.d.ts +2 -1
- package/dist/types/tools/todo.d.ts +7 -15
- package/dist/types/tools/tool-result.d.ts +2 -0
- package/dist/types/tools/tool-timeouts.d.ts +1 -1
- package/dist/types/tools/tts.d.ts +26 -1
- package/dist/types/tools/write.d.ts +6 -3
- package/dist/types/tools/yield.d.ts +8 -0
- package/dist/types/tts/downloader.d.ts +20 -0
- package/dist/types/tts/index.d.ts +8 -0
- package/dist/types/tts/models.d.ts +82 -0
- package/dist/types/tts/player.d.ts +32 -0
- package/dist/types/tts/runtime.d.ts +6 -0
- package/dist/types/tts/streaming-player.d.ts +41 -0
- package/dist/types/tts/tts-client.d.ts +93 -0
- package/dist/types/tts/tts-protocol.d.ts +95 -0
- package/dist/types/tts/tts-worker.d.ts +2 -0
- package/dist/types/tts/vocalizer.d.ts +41 -0
- package/dist/types/tts/wav.d.ts +8 -0
- package/dist/types/tui/code-cell.d.ts +0 -2
- package/dist/types/tui/hyperlink.d.ts +13 -7
- package/dist/types/tui/output-block.d.ts +16 -22
- package/dist/types/tui/status-line.d.ts +3 -0
- package/dist/types/utils/block-context.d.ts +35 -0
- package/dist/types/utils/changelog.d.ts +8 -0
- package/dist/types/utils/clipboard.d.ts +4 -3
- package/dist/types/utils/enhanced-paste.d.ts +20 -0
- package/dist/types/utils/file-mentions.d.ts +7 -0
- package/dist/types/utils/git.d.ts +22 -3
- package/dist/types/utils/image-loading.d.ts +30 -1
- package/dist/types/utils/session-color.d.ts +15 -3
- package/dist/types/utils/thinking-display.d.ts +17 -0
- package/dist/types/utils/title-generator.d.ts +3 -2
- package/dist/types/utils/tool-choice.d.ts +8 -0
- package/dist/types/utils/tools-manager.d.ts +2 -1
- package/dist/types/web/kagi.d.ts +2 -2
- package/dist/types/web/parallel.d.ts +3 -0
- package/dist/types/web/scrapers/github.d.ts +22 -0
- package/dist/types/web/scrapers/readthedocs.d.ts +3 -0
- package/dist/types/web/scrapers/types.d.ts +12 -0
- package/dist/types/web/search/index.d.ts +1 -1
- package/dist/types/web/search/providers/anthropic.d.ts +2 -1
- package/dist/types/web/search/providers/base.d.ts +2 -1
- package/dist/types/web/search/providers/brave.d.ts +2 -1
- package/dist/types/web/search/providers/codex.d.ts +2 -1
- package/dist/types/web/search/providers/exa.d.ts +2 -1
- package/dist/types/web/search/providers/gemini.d.ts +10 -6
- package/dist/types/web/search/providers/jina.d.ts +7 -2
- package/dist/types/web/search/providers/kagi.d.ts +7 -2
- package/dist/types/web/search/providers/kimi.d.ts +7 -2
- package/dist/types/web/search/providers/parallel.d.ts +2 -1
- package/dist/types/web/search/providers/perplexity.d.ts +10 -2
- package/dist/types/web/search/providers/searxng.d.ts +2 -1
- package/dist/types/web/search/providers/synthetic.d.ts +7 -3
- package/dist/types/web/search/providers/tavily.d.ts +2 -1
- package/dist/types/web/search/providers/zai.d.ts +2 -1
- package/dist/types/web/search/types.d.ts +1 -1
- package/examples/extensions/api-demo.ts +2 -2
- package/package.json +41 -15
- package/scripts/bench-guard.ts +71 -0
- package/scripts/build-binary.ts +24 -25
- package/scripts/bundle-dist.ts +97 -0
- package/scripts/generate-share-viewer.ts +34 -0
- package/scripts/prometheus +42 -0
- package/scripts/prometheus.ts +20 -0
- package/src/async/index.ts +0 -1
- package/src/async/job-manager.ts +106 -3
- package/src/auto-thinking/classifier.ts +2 -1
- package/src/autolearn/controller.ts +139 -0
- package/src/autolearn/managed-skills.ts +257 -0
- package/src/autoresearch/dashboard.ts +1 -1
- package/src/autoresearch/prompt-setup.md +6 -6
- package/src/autoresearch/prompt.md +6 -6
- package/src/autoresearch/state.ts +1 -1
- package/src/autoresearch/storage.ts +2 -1
- package/src/autoresearch/tools/init-experiment.ts +1 -1
- package/src/autoresearch/tools/log-experiment.ts +1 -1
- package/src/autoresearch/tools/run-experiment.ts +1 -1
- package/src/autoresearch/tools/update-notes.ts +1 -1
- package/src/autoresearch/types.ts +1 -1
- package/src/capability/context-file.ts +0 -14
- package/src/capability/fs.ts +10 -0
- package/src/capability/index.ts +1 -6
- package/src/capability/mcp.ts +1 -0
- package/src/capability/rule-buckets.ts +4 -2
- package/src/capability/rule.ts +10 -1
- package/src/capability/types.ts +0 -4
- package/src/cli/args.ts +66 -13
- package/src/cli/auth-broker-cli.ts +6 -7
- package/src/cli/auth-gateway-cli.ts +8 -9
- package/src/cli/bench-cli.ts +437 -0
- package/src/cli/claude-trace-cli.ts +28 -50
- package/src/cli/completion-gen.ts +28 -28
- package/src/cli/dry-balance-cli.ts +56 -23
- package/src/cli/gallery-cli.ts +231 -0
- package/src/cli/gallery-fixtures/agentic.ts +407 -0
- package/src/cli/gallery-fixtures/codeintel.ts +187 -0
- package/src/cli/gallery-fixtures/edit.ts +194 -0
- package/src/cli/gallery-fixtures/fs.ts +220 -0
- package/src/cli/gallery-fixtures/index.ts +40 -0
- package/src/cli/gallery-fixtures/interaction.ts +49 -0
- package/src/cli/gallery-fixtures/memory.ts +81 -0
- package/src/cli/gallery-fixtures/misc.ts +250 -0
- package/src/cli/gallery-fixtures/search.ts +213 -0
- package/src/cli/gallery-fixtures/shell.ts +167 -0
- package/src/cli/gallery-fixtures/types.ts +57 -0
- package/src/cli/gallery-fixtures/web.ts +158 -0
- package/src/cli/gallery-screenshot.ts +279 -0
- package/src/cli/grievances-cli.ts +1 -1
- package/src/cli/list-models.ts +16 -174
- package/src/cli/models-cli.ts +429 -0
- package/src/cli/session-picker.ts +2 -1
- package/src/cli/setup-cli.ts +148 -47
- package/src/cli/setup-model-picker.ts +43 -0
- package/src/cli/startup-cwd.ts +68 -0
- package/src/cli/update-cli.ts +144 -272
- package/src/cli/usage-cli.ts +774 -0
- package/src/cli-commands.ts +36 -0
- package/src/cli.ts +141 -32
- package/src/collab/crypto.ts +63 -0
- package/src/collab/guest.ts +451 -0
- package/src/collab/host.ts +565 -0
- package/src/collab/protocol.ts +241 -0
- package/src/collab/relay-client.ts +216 -0
- package/src/commands/bench.ts +42 -0
- package/src/commands/complete.ts +1 -1
- package/src/commands/gallery.ts +52 -0
- package/src/commands/install.ts +1 -1
- package/src/commands/join.ts +39 -0
- package/src/commands/launch.ts +8 -4
- package/src/commands/models.ts +61 -0
- package/src/commands/read.ts +6 -3
- package/src/commands/say.ts +102 -0
- package/src/commands/setup.ts +1 -1
- package/src/commands/token.ts +89 -0
- package/src/commands/usage.ts +43 -0
- package/src/commit/agentic/agent.ts +2 -1
- package/src/commit/agentic/tools/analyze-file.ts +42 -20
- package/src/commit/agentic/tools/git-file-diff.ts +1 -1
- package/src/commit/agentic/tools/git-hunk.ts +1 -1
- package/src/commit/agentic/tools/git-overview.ts +1 -1
- package/src/commit/agentic/tools/propose-changelog.ts +1 -1
- package/src/commit/agentic/tools/propose-commit.ts +1 -1
- package/src/commit/agentic/tools/recent-commits.ts +1 -1
- package/src/commit/agentic/tools/schemas.ts +1 -1
- package/src/commit/agentic/tools/split-commit.ts +9 -2
- package/src/commit/analysis/conventional.ts +2 -2
- package/src/commit/analysis/summary.ts +3 -3
- package/src/commit/changelog/generate.ts +3 -3
- package/src/commit/changelog/index.ts +2 -2
- package/src/commit/map-reduce/index.ts +3 -3
- package/src/commit/map-reduce/map-phase.ts +2 -2
- package/src/commit/map-reduce/reduce-phase.ts +2 -2
- package/src/commit/model-selection.ts +35 -12
- package/src/commit/pipeline.ts +4 -4
- package/src/commit/shared-llm.ts +1 -1
- package/src/config/api-key-resolver.ts +67 -0
- package/src/config/append-only-context-mode.ts +6 -12
- package/src/config/keybindings.ts +9 -4
- package/src/config/mcp-schema.json +4 -0
- package/src/config/model-discovery.ts +574 -0
- package/src/config/model-equivalence.ts +5 -4
- package/src/config/model-registry.ts +659 -1093
- package/src/config/model-resolver.ts +374 -174
- package/src/config/model-roles.ts +88 -0
- package/src/config/models-config-schema.ts +61 -9
- package/src/config/models-config.ts +130 -0
- package/src/config/settings-schema.ts +1441 -387
- package/src/config/settings.ts +261 -69
- package/src/dap/client.ts +138 -53
- package/src/dap/config.ts +41 -2
- package/src/dap/defaults.json +1 -0
- package/src/dap/session.ts +263 -161
- package/src/dap/types.ts +10 -0
- package/src/debug/index.ts +50 -60
- package/src/debug/log-viewer.ts +1 -1
- package/src/debug/protocol-probe.ts +1 -1
- package/src/debug/raw-sse-buffer.ts +7 -4
- package/src/debug/raw-sse.ts +1 -1
- package/src/debug/report-bundle.ts +9 -0
- package/src/debug/terminal-info.ts +0 -3
- package/src/discovery/agents-md.ts +25 -21
- package/src/discovery/agents.ts +9 -15
- package/src/discovery/at-imports.ts +273 -0
- package/src/discovery/builtin-rules/index.ts +4 -0
- package/src/discovery/builtin-rules/ts-no-test-timers.md +55 -0
- package/src/discovery/builtin-rules/ts-redundant-clear-guard.md +75 -0
- package/src/discovery/builtin.ts +45 -23
- package/src/discovery/claude-plugins.ts +44 -5
- package/src/discovery/helpers.ts +50 -9
- package/src/discovery/prometheus-extension-roots.ts +10 -10
- package/src/discovery/prometheus-plugins.ts +10 -10
- package/src/edit/diff.ts +191 -4
- package/src/edit/file-snapshot-store.ts +34 -1
- package/src/edit/hashline/block-resolver.ts +20 -1
- package/src/edit/hashline/diff.ts +123 -2
- package/src/edit/hashline/execute.ts +60 -4
- package/src/edit/hashline/filesystem.ts +2 -1
- package/src/edit/hashline/noop-loop-guard.ts +99 -0
- package/src/edit/hashline/params.ts +1 -1
- package/src/edit/index.ts +47 -18
- package/src/edit/modes/apply-patch.ts +1 -1
- package/src/edit/modes/patch.ts +59 -3
- package/src/edit/modes/replace.ts +58 -24
- package/src/edit/notebook.ts +22 -2
- package/src/edit/renderer.ts +315 -151
- package/src/eval/__tests__/agent-bridge.test.ts +105 -39
- package/src/eval/__tests__/budget-bridge.test.ts +1 -1
- package/src/eval/__tests__/completion-bridge.test.ts +412 -0
- package/src/eval/__tests__/helpers-local-roots.test.ts +58 -0
- package/src/eval/__tests__/js-context-manager.test.ts +241 -0
- package/src/eval/__tests__/llm-bridge.test.ts +6 -4
- package/src/eval/__tests__/shared-executors.test.ts +34 -92
- package/src/eval/agent-bridge.ts +39 -23
- package/src/eval/backend.ts +15 -2
- package/src/eval/bridge-timeout.ts +1 -1
- package/src/eval/completion-bridge.ts +203 -0
- package/src/eval/idle-timeout.ts +3 -10
- package/src/eval/js/context-manager.ts +108 -31
- package/src/eval/js/executor.ts +9 -2
- package/src/eval/js/index.ts +7 -3
- package/src/eval/js/shared/helpers.ts +59 -13
- package/src/eval/js/shared/local-module-loader.ts +2 -2
- package/src/eval/js/shared/prelude.txt +167 -30
- package/src/eval/js/shared/rewrite-imports.ts +58 -34
- package/src/eval/js/shared/runtime.ts +24 -16
- package/src/eval/js/tool-bridge.ts +4 -0
- package/src/eval/js/worker-core.ts +1 -0
- package/src/eval/js/worker-entry.ts +6 -0
- package/src/eval/js/worker-protocol.ts +6 -0
- package/src/eval/llm-bridge.ts +2 -1
- package/src/eval/py/__tests__/prelude.test.ts +19 -0
- package/src/eval/py/executor.ts +70 -26
- package/src/eval/py/index.ts +13 -4
- package/src/eval/py/kernel.ts +48 -9
- package/src/eval/py/prelude.py +73 -24
- package/src/eval/py/runner.py +133 -28
- package/src/eval/py/runtime.ts +38 -1
- package/src/exa/index.ts +1 -26
- package/src/exa/mcp-client.ts +10 -10
- package/src/exa/types.ts +0 -97
- package/src/exec/bash-executor.ts +104 -7
- package/src/export/custom-share.ts +1 -1
- package/src/export/html/index.ts +119 -17
- package/src/export/html/share-loader.js +102 -0
- package/src/export/html/template-js.ts +6 -0
- package/src/export/html/template.css +745 -459
- package/src/export/html/template.css.d.ts +2 -0
- package/src/export/html/template.html +6 -3
- package/src/export/html/template.js +277 -891
- package/src/export/html/tool-views.generated.d.ts +2 -0
- package/src/export/html/tool-views.generated.js +38 -0
- package/src/export/share.ts +269 -0
- package/src/export/ttsr.ts +122 -1
- package/src/extensibility/custom-commands/loader.ts +7 -4
- package/src/extensibility/custom-commands/types.ts +9 -4
- package/src/extensibility/custom-tools/loader.ts +51 -23
- package/src/extensibility/custom-tools/types.ts +16 -8
- package/src/extensibility/extensions/get-commands-handler.ts +2 -1
- package/src/extensibility/extensions/index.ts +1 -0
- package/src/extensibility/extensions/loader.ts +70 -20
- package/src/extensibility/extensions/model-api.ts +41 -0
- package/src/extensibility/extensions/runner.ts +12 -2
- package/src/extensibility/extensions/types.ts +83 -11
- package/src/extensibility/extensions/wrapper.ts +41 -5
- package/src/extensibility/hooks/index.ts +2 -1
- package/src/extensibility/hooks/loader.ts +6 -3
- package/src/extensibility/hooks/types.ts +11 -5
- package/src/extensibility/{legacy-pi-ai-shim.ts → legacy-package-ai-shim.ts} +2 -2
- package/src/extensibility/plugins/doctor.ts +1 -2
- package/src/extensibility/plugins/installer.ts +2 -2
- package/src/extensibility/plugins/{legacy-pi-compat.ts → legacy-package-compat.ts} +165 -77
- package/src/extensibility/plugins/loader.ts +34 -23
- package/src/extensibility/plugins/manager.ts +226 -95
- package/src/extensibility/plugins/marketplace-auto-update.ts +49 -0
- package/src/extensibility/plugins/types.ts +3 -3
- package/src/extensibility/shared-events.ts +3 -3
- package/src/extensibility/skills.ts +113 -9
- package/src/extensibility/slash-commands.ts +1 -97
- package/src/goals/guided-setup.ts +133 -0
- package/src/goals/state.ts +1 -1
- package/src/goals/tools/goal-tool.ts +38 -28
- package/src/hindsight/bank.ts +17 -2
- package/src/hindsight/client.ts +27 -2
- package/src/hindsight/mental-models.ts +59 -12
- package/src/hindsight/state.ts +12 -3
- package/src/hindsight/transcript.ts +1 -1
- package/src/index.ts +5 -0
- package/src/internal-urls/artifact-protocol.ts +11 -2
- package/src/internal-urls/docs-index.generated.ts +9 -7
- package/src/internal-urls/history-protocol.ts +113 -0
- package/src/internal-urls/index.ts +1 -0
- package/src/internal-urls/issue-pr-protocol.ts +22 -9
- package/src/internal-urls/local-protocol.ts +42 -7
- package/src/internal-urls/memory-protocol.ts +4 -31
- package/src/internal-urls/router.ts +3 -1
- package/src/internal-urls/types.ts +1 -1
- package/src/irc/bus.ts +303 -0
- package/src/lib/xai-http.ts +3 -3
- package/src/lsp/client.ts +245 -104
- package/src/lsp/clients/biome-client.ts +101 -39
- package/src/lsp/clients/lsp-linter-client.ts +2 -10
- package/src/lsp/config.ts +15 -5
- package/src/lsp/defaults.json +6 -0
- package/src/lsp/edits.ts +143 -95
- package/src/lsp/format-options.ts +119 -0
- package/src/lsp/index.ts +233 -93
- package/src/lsp/render.ts +11 -35
- package/src/lsp/types.ts +13 -1
- package/src/lsp/utils.ts +31 -12
- package/src/main.ts +396 -216
- package/src/mcp/config-writer.ts +7 -3
- package/src/mcp/json-rpc.ts +35 -5
- package/src/mcp/manager.ts +31 -16
- package/src/mcp/oauth-discovery.ts +34 -4
- package/src/mcp/oauth-flow.ts +61 -8
- package/src/mcp/render.ts +7 -1
- package/src/mcp/startup-events.ts +21 -0
- package/src/mcp/tool-bridge.ts +2 -0
- package/src/mcp/transports/stdio.ts +224 -4
- package/src/mcp/types.ts +2 -0
- package/src/memories/index.ts +174 -1128
- package/src/memories/storage.ts +2 -41
- package/src/memory-backend/index.ts +14 -1
- package/src/memory-backend/local-backend.ts +18 -3
- package/src/memory-backend/off-backend.ts +9 -0
- package/src/memory-backend/resolve.ts +4 -6
- package/src/memory-backend/runtime.ts +66 -0
- package/src/memory-backend/types.ts +82 -2
- package/src/mnemopi/backend.ts +220 -28
- package/src/mnemopi/config.ts +138 -33
- package/src/mnemopi/state.ts +91 -11
- package/src/modes/acp/acp-agent.ts +149 -142
- package/src/modes/acp/acp-event-mapper.ts +5 -1
- package/src/modes/components/agent-dashboard.ts +17 -11
- package/src/modes/components/agent-hub.ts +1346 -0
- package/src/modes/components/assistant-message.ts +190 -80
- package/src/modes/components/bash-execution.ts +1 -1
- package/src/modes/components/btw-panel.ts +5 -1
- package/src/modes/components/chat-block.ts +111 -0
- package/src/modes/components/collab-prompt-message.ts +30 -0
- package/src/modes/components/compaction-summary-message.ts +168 -33
- package/src/modes/components/copy-selector.ts +2 -45
- package/src/modes/components/custom-editor.test.ts +96 -0
- package/src/modes/components/custom-editor.ts +405 -118
- package/src/modes/components/custom-message.ts +1 -3
- package/src/modes/components/diff.ts +13 -2
- package/src/modes/components/dynamic-border.ts +12 -3
- package/src/modes/components/execution-shared.ts +1 -2
- package/src/modes/components/extensions/extension-dashboard.ts +8 -5
- package/src/modes/components/extensions/extension-list.ts +1 -1
- package/src/modes/components/extensions/inspector-panel.ts +7 -3
- package/src/modes/components/extensions/state-manager.ts +36 -41
- package/src/modes/components/footer.ts +4 -2
- package/src/modes/components/history-search.ts +1 -1
- package/src/modes/components/hook-editor.ts +8 -0
- package/src/modes/components/hook-input.ts +8 -0
- package/src/modes/components/hook-message.ts +1 -3
- package/src/modes/components/hook-selector.ts +6 -7
- package/src/modes/components/index.ts +1 -0
- package/src/modes/components/late-diagnostics-message.ts +60 -0
- package/src/modes/components/login-dialog.ts +1 -1
- package/src/modes/components/logout-account-selector.ts +130 -0
- package/src/modes/components/mcp-add-wizard.ts +14 -1
- package/src/modes/components/model-selector.ts +177 -75
- package/src/modes/components/oauth-selector.ts +102 -16
- package/src/modes/components/overlay-box.ts +108 -0
- package/src/modes/components/plan-review-overlay.ts +845 -0
- package/src/modes/components/plan-toc.ts +138 -0
- package/src/modes/components/plugin-settings.ts +22 -5
- package/src/modes/components/read-tool-group.ts +442 -39
- package/src/modes/components/reset-usage-selector.ts +161 -0
- package/src/modes/components/segment-track.ts +44 -7
- package/src/modes/components/session-selector.ts +97 -37
- package/src/modes/components/settings-defs.ts +28 -6
- package/src/modes/components/settings-selector.ts +541 -93
- package/src/modes/components/skill-message.ts +0 -1
- package/src/modes/components/snapcompact-shape-preview-doc.md +11 -0
- package/src/modes/components/snapcompact-shape-preview.ts +193 -0
- package/src/modes/components/{status-line.ts → status-line/component.ts} +205 -168
- package/src/modes/components/status-line/index.ts +1 -0
- package/src/modes/components/status-line/presets.ts +3 -3
- package/src/modes/components/status-line/segments.ts +26 -7
- package/src/modes/components/status-line/types.ts +40 -9
- package/src/modes/components/tiny-title-download-progress.ts +1 -1
- package/src/modes/components/tips.txt +7 -3
- package/src/modes/components/todo-reminder.ts +0 -2
- package/src/modes/components/tool-execution.ts +236 -103
- package/src/modes/components/transcript-container.ts +724 -99
- package/src/modes/components/tree-selector.ts +19 -4
- package/src/modes/components/ttsr-notification.ts +72 -30
- package/src/modes/components/usage-row.ts +18 -0
- package/src/modes/components/user-message-selector.ts +1 -1
- package/src/modes/components/user-message.ts +28 -12
- package/src/modes/components/visual-truncate.ts +1 -1
- package/src/modes/components/welcome.ts +80 -22
- package/src/modes/controllers/command-controller-shared.ts +7 -6
- package/src/modes/controllers/command-controller.ts +210 -180
- package/src/modes/controllers/event-controller.ts +352 -142
- package/src/modes/controllers/extension-ui-controller.ts +167 -208
- package/src/modes/controllers/input-controller.ts +778 -162
- package/src/modes/controllers/mcp-command-controller.ts +232 -80
- package/src/modes/controllers/selector-controller.ts +284 -145
- package/src/modes/controllers/session-focus-controller.ts +112 -0
- package/src/modes/controllers/ssh-command-controller.ts +2 -2
- package/src/modes/controllers/streaming-reveal.ts +295 -0
- package/src/modes/controllers/tan-command-controller.ts +173 -0
- package/src/modes/controllers/tool-args-reveal.ts +174 -0
- package/src/modes/gradient-highlight.ts +21 -9
- package/src/modes/image-references.ts +33 -7
- package/src/modes/index.ts +8 -25
- package/src/modes/interactive-mode.ts +840 -186
- package/src/modes/magic-keywords.ts +28 -6
- package/src/modes/markdown-prose.ts +1 -1
- package/src/modes/oauth-manual-input.ts +30 -3
- package/src/modes/rpc/rpc-client.ts +186 -3
- package/src/modes/rpc/rpc-mode.ts +318 -24
- package/src/modes/rpc/rpc-subagents.ts +265 -0
- package/src/modes/rpc/rpc-types.ts +111 -2
- package/src/modes/runtime-init.ts +28 -3
- package/src/modes/session-observer-registry.ts +72 -3
- package/src/modes/setup-version.ts +11 -0
- package/src/modes/setup-wizard/index.ts +16 -4
- package/src/modes/setup-wizard/lazy.ts +16 -0
- package/src/modes/setup-wizard/scenes/glyph.ts +25 -7
- package/src/modes/setup-wizard/scenes/providers.ts +45 -12
- package/src/modes/setup-wizard/scenes/sign-in.ts +14 -13
- package/src/modes/setup-wizard/scenes/splash.ts +1 -1
- package/src/modes/setup-wizard/scenes/theme.ts +29 -2
- package/src/modes/setup-wizard/scenes/types.ts +11 -2
- package/src/modes/setup-wizard/scenes/web-search.ts +26 -9
- package/src/modes/setup-wizard/wizard-overlay.ts +40 -3
- package/src/modes/shared.ts +2 -0
- package/src/modes/theme/defaults/dark-poimandres.json +1 -1
- package/src/modes/theme/defaults/light-poimandres.json +1 -1
- package/src/modes/theme/shimmer.ts +20 -9
- package/src/modes/theme/theme-schema.json +1 -1
- package/src/modes/theme/theme.ts +342 -82
- package/src/modes/types.ts +60 -18
- package/src/modes/utils/context-usage.ts +88 -8
- package/src/modes/utils/copy-targets.ts +133 -27
- package/src/modes/utils/hotkeys-markdown.ts +3 -2
- package/src/modes/utils/ui-helpers.ts +191 -110
- package/src/modes/workflow.ts +10 -10
- package/src/plan-mode/approved-plan.ts +66 -43
- package/src/plan-mode/plan-protection.ts +4 -4
- package/src/priority.json +5 -1
- package/src/prompts/agents/designer.md +1 -1
- package/src/prompts/agents/explore.md +3 -3
- package/src/prompts/agents/librarian.md +2 -3
- package/src/prompts/agents/oracle.md +2 -2
- package/src/prompts/agents/plan.md +6 -6
- package/src/prompts/agents/reviewer.md +1 -1
- package/src/prompts/agents/task.md +6 -5
- package/src/prompts/bench.md +12 -0
- package/src/prompts/ci-green-request.md +5 -7
- package/src/prompts/goals/goal-budget-limit.md +2 -2
- package/src/prompts/goals/goal-continuation.md +4 -4
- package/src/prompts/goals/goal-mode-active.md +1 -1
- package/src/prompts/goals/guided-goal-interview.md +8 -0
- package/src/prompts/goals/guided-goal-system.md +12 -0
- package/src/prompts/memories/consolidation.md +2 -7
- package/src/prompts/memories/consolidation_system.md +4 -0
- package/src/prompts/memories/identity_review.md +2 -2
- package/src/prompts/memories/read-path.md +11 -10
- package/src/prompts/memories/stage_one_system.md +2 -2
- package/src/prompts/review-custom-request.md +1 -1
- package/src/prompts/system/agent-creation-architect.md +2 -2
- package/src/prompts/system/auto-continue.md +1 -1
- package/src/prompts/system/autolearn-guidance-learn.md +1 -0
- package/src/prompts/system/autolearn-guidance.md +7 -0
- package/src/prompts/system/autolearn-nudge.md +3 -0
- package/src/prompts/system/background-tan-dispatch.md +8 -0
- package/src/prompts/system/btw-user.md +2 -2
- package/src/prompts/system/commit-message-system.md +13 -1
- package/src/prompts/system/custom-system-prompt.md +1 -1
- package/src/prompts/system/eager-task.md +7 -0
- package/src/prompts/system/eager-todo.md +11 -6
- package/src/prompts/system/empty-stop-retry.md +4 -6
- package/src/prompts/system/irc-autoreply.md +6 -0
- package/src/prompts/system/irc-incoming.md +3 -4
- package/src/prompts/system/manual-continue.md +7 -0
- package/src/prompts/system/omfg-user.md +3 -4
- package/src/prompts/system/orchestrate-notice.md +10 -10
- package/src/prompts/system/personalities/default.md +26 -0
- package/src/prompts/system/personalities/friendly.md +17 -0
- package/src/prompts/system/personalities/pragmatic.md +15 -0
- package/src/prompts/system/plan-mode-active.md +70 -77
- package/src/prompts/system/plan-mode-approved.md +1 -1
- package/src/prompts/system/plan-mode-subagent.md +4 -5
- package/src/prompts/system/plan-mode-tool-decision-reminder.md +1 -1
- package/src/prompts/system/project-prompt.md +2 -2
- package/src/prompts/system/snapcompact-context-frames-note.md +1 -0
- package/src/prompts/system/snapcompact-context-stub.md +1 -0
- package/src/prompts/system/snapcompact-system-frames-note.md +1 -0
- package/src/prompts/system/snapcompact-system-stub.md +1 -0
- package/src/prompts/system/snapcompact-toolresult-note.md +1 -0
- package/src/prompts/system/subagent-system-prompt.md +7 -8
- package/src/prompts/system/system-prompt.md +28 -57
- package/src/prompts/system/tiny-title-system.md +1 -1
- package/src/prompts/system/title-marker-instruction.md +1 -0
- package/src/prompts/system/title-system-marker.md +16 -0
- package/src/prompts/system/title-system.md +16 -3
- package/src/prompts/system/ttsr-tool-reminder.md +1 -1
- package/src/prompts/system/workflow-notice.md +4 -4
- package/src/prompts/tools/ast-edit.md +1 -1
- package/src/prompts/tools/ast-grep.md +2 -2
- package/src/prompts/tools/bash.md +16 -8
- package/src/prompts/tools/browser.md +33 -43
- package/src/prompts/tools/debug.md +1 -1
- package/src/prompts/tools/eval.md +31 -51
- package/src/prompts/tools/find.md +0 -1
- package/src/prompts/tools/github.md +8 -7
- package/src/prompts/tools/goal.md +1 -1
- package/src/prompts/tools/image-gen.md +1 -1
- package/src/prompts/tools/inspect-image-system.md +1 -1
- package/src/prompts/tools/irc.md +39 -31
- package/src/prompts/tools/job.md +2 -1
- package/src/prompts/tools/learn.md +7 -0
- package/src/prompts/tools/lsp-late-diagnostic.md +8 -0
- package/src/prompts/tools/lsp.md +2 -2
- package/src/prompts/tools/manage-skill.md +9 -0
- package/src/prompts/tools/memory-edit.md +1 -1
- package/src/prompts/tools/patch.md +2 -2
- package/src/prompts/tools/read.md +31 -39
- package/src/prompts/tools/recall.md +1 -1
- package/src/prompts/tools/reflect.md +1 -1
- package/src/prompts/tools/render-mermaid.md +2 -2
- package/src/prompts/tools/replace.md +4 -10
- package/src/prompts/tools/rewind.md +2 -2
- package/src/prompts/tools/search-tool-bm25.md +1 -9
- package/src/prompts/tools/search.md +0 -1
- package/src/prompts/tools/ssh.md +0 -4
- package/src/prompts/tools/task-summary.md +5 -16
- package/src/prompts/tools/task.md +47 -31
- package/src/prompts/tools/todo.md +6 -3
- package/src/registry/agent-lifecycle.ts +218 -0
- package/src/registry/agent-registry.ts +46 -5
- package/src/sdk.ts +692 -219
- package/src/secrets/index.ts +8 -1
- package/src/secrets/obfuscator.ts +40 -19
- package/src/session/agent-session.ts +1577 -806
- package/src/session/agent-storage.ts +18 -9
- package/src/session/auth-broker-config.ts +30 -1
- package/src/session/auth-storage.ts +6 -0
- package/src/session/codex-auto-reset.ts +202 -0
- package/src/session/history-storage.ts +3 -2
- package/src/session/indexed-session-storage.ts +7 -10
- package/src/session/messages.ts +59 -95
- package/src/session/session-context.ts +352 -0
- package/src/session/session-dump-format.ts +12 -3
- package/src/session/session-entries.ts +194 -0
- package/src/session/session-history-format.ts +246 -0
- package/src/session/session-listing.ts +588 -0
- package/src/session/session-loader.ts +106 -0
- package/src/session/session-manager.ts +1003 -2920
- package/src/session/session-migrations.ts +78 -0
- package/src/session/session-paths.ts +193 -0
- package/src/session/session-persistence.ts +131 -0
- package/src/session/session-storage.ts +91 -30
- package/src/session/snapcompact-inline.ts +542 -0
- package/src/session/snapcompact-savings-journal.ts +113 -0
- package/src/session/streaming-output.ts +248 -11
- package/src/session/tool-choice-queue.ts +23 -11
- package/src/session/yield-queue.ts +20 -2
- package/src/slash-commands/acp-builtins.ts +25 -1
- package/src/slash-commands/available-commands.ts +105 -0
- package/src/slash-commands/builtin-registry.ts +575 -49
- package/src/slash-commands/helpers/active-oauth-account.ts +44 -0
- package/src/slash-commands/helpers/context-report.ts +28 -1
- package/src/slash-commands/helpers/logout.ts +88 -0
- package/src/slash-commands/helpers/reset-usage.ts +66 -0
- package/src/slash-commands/helpers/stats-dashboard.ts +85 -0
- package/src/slash-commands/helpers/usage-report.ts +38 -3
- package/src/slash-commands/types.ts +5 -9
- package/src/ssh/connection-manager.ts +27 -0
- package/src/ssh/ssh-executor.ts +60 -4
- package/src/stt/asr-client.ts +520 -0
- package/src/stt/asr-protocol.ts +65 -0
- package/src/stt/asr-worker.ts +790 -0
- package/src/stt/downloader.ts +107 -47
- package/src/stt/endpointer.ts +259 -0
- package/src/stt/index.ts +5 -1
- package/src/stt/models.ts +150 -0
- package/src/stt/recorder.ts +254 -67
- package/src/stt/stt-controller.ts +201 -22
- package/src/stt/transcriber.ts +37 -68
- package/src/stt/wav.ts +173 -0
- package/src/system-prompt.ts +52 -10
- package/src/task/agents.ts +3 -4
- package/src/task/commands.ts +3 -2
- package/src/task/discovery.ts +17 -24
- package/src/task/executor.ts +1054 -529
- package/src/task/index.ts +862 -757
- package/src/task/output-manager.ts +0 -11
- package/src/task/parallel.ts +3 -3
- package/src/task/prometheus-command.ts +2 -2
- package/src/task/render.ts +529 -182
- package/src/task/repair-args.ts +21 -9
- package/src/task/types.ts +144 -66
- package/src/task/worktree.ts +64 -56
- package/src/telemetry-export.ts +27 -9
- package/src/thinking.ts +9 -7
- package/src/tiny/models.ts +2 -2
- package/src/tiny/text.ts +5 -1
- package/src/tiny/title-client.ts +72 -20
- package/src/tiny/title-protocol.ts +1 -1
- package/src/tiny/worker.ts +23 -99
- package/src/tool-discovery/tool-index.ts +2 -0
- package/src/tools/archive-reader.ts +94 -2
- package/src/tools/ask.ts +234 -177
- package/src/tools/ast-edit.ts +136 -80
- package/src/tools/ast-grep.ts +41 -45
- package/src/tools/auto-generated-guard.ts +20 -3
- package/src/tools/bash-interactive.ts +28 -8
- package/src/tools/bash.ts +198 -35
- package/src/tools/browser/attach.ts +26 -7
- package/src/tools/browser/cmux/cmux-tab.ts +1264 -0
- package/src/tools/browser/cmux/rpc.ts +156 -0
- package/src/tools/browser/cmux/socket-client.ts +309 -0
- package/src/tools/browser/launch.ts +11 -2
- package/src/tools/browser/readable.ts +19 -2
- package/src/tools/browser/registry.ts +52 -5
- package/src/tools/browser/render.ts +13 -5
- package/src/tools/browser/tab-protocol.ts +2 -0
- package/src/tools/browser/tab-supervisor.ts +256 -34
- package/src/tools/browser/tab-worker.ts +259 -91
- package/src/tools/browser.ts +44 -2
- package/src/tools/checkpoint.ts +1 -1
- package/src/tools/conflict-detect.ts +50 -4
- package/src/tools/debug.ts +27 -12
- package/src/tools/eval-render.ts +32 -35
- package/src/tools/eval.ts +26 -12
- package/src/tools/fetch.ts +450 -99
- package/src/tools/find.ts +182 -142
- package/src/tools/gh-cache-invalidation.ts +255 -0
- package/src/tools/gh-renderer.ts +104 -51
- package/src/tools/gh.ts +232 -37
- package/src/tools/github-cache.ts +97 -7
- package/src/tools/grouped-file-output.ts +159 -52
- package/src/tools/image-gen.ts +237 -132
- package/src/tools/index.ts +147 -26
- package/src/tools/inspect-image-renderer.ts +74 -45
- package/src/tools/inspect-image.ts +12 -6
- package/src/tools/irc.ts +626 -173
- package/src/tools/job.ts +106 -29
- package/src/tools/learn.ts +144 -0
- package/src/tools/manage-skill.ts +104 -0
- package/src/tools/memory-edit.ts +4 -4
- package/src/tools/memory-recall.ts +7 -9
- package/src/tools/memory-reflect.ts +5 -9
- package/src/tools/memory-render.ts +23 -6
- package/src/tools/memory-retain.ts +4 -4
- package/src/tools/path-utils.ts +102 -48
- package/src/tools/plan-mode-guard.ts +101 -40
- package/src/tools/read.ts +475 -120
- package/src/tools/render-mermaid.ts +1 -1
- package/src/tools/render-utils.ts +132 -76
- package/src/tools/renderers.ts +12 -1
- package/src/tools/report-tool-issue.ts +14 -6
- package/src/tools/resolve.ts +20 -3
- package/src/tools/review.ts +2 -2
- package/src/tools/search-tool-bm25.ts +37 -24
- package/src/tools/search.ts +233 -115
- package/src/tools/sqlite-reader.ts +26 -17
- package/src/tools/ssh.ts +20 -14
- package/src/tools/todo.ts +197 -191
- package/src/tools/tool-result.ts +8 -0
- package/src/tools/tool-timeouts.ts +1 -1
- package/src/tools/tts.ts +205 -74
- package/src/tools/write.ts +291 -155
- package/src/tools/yield.ts +10 -1
- package/src/tts/downloader.ts +64 -0
- package/src/tts/index.ts +8 -0
- package/src/tts/models.ts +137 -0
- package/src/tts/player.ts +137 -0
- package/src/tts/runtime.ts +21 -0
- package/src/tts/streaming-player.ts +266 -0
- package/src/tts/tts-client.ts +647 -0
- package/src/tts/tts-protocol.ts +60 -0
- package/src/tts/tts-worker.ts +505 -0
- package/src/tts/vocalizer.ts +162 -0
- package/src/tts/wav.ts +58 -0
- package/src/tui/code-cell.ts +2 -7
- package/src/tui/hyperlink.ts +40 -26
- package/src/tui/output-block.ts +60 -108
- package/src/tui/status-line.ts +5 -1
- package/src/utils/block-context.ts +312 -0
- package/src/utils/changelog.ts +27 -1
- package/src/utils/clipboard.ts +91 -22
- package/src/utils/commit-message-generator.ts +8 -3
- package/src/utils/enhanced-paste.ts +230 -0
- package/src/utils/file-mentions.ts +3 -1
- package/src/utils/git.ts +315 -15
- package/src/utils/image-loading.ts +65 -4
- package/src/utils/session-color.ts +83 -9
- package/src/utils/thinking-display.ts +37 -0
- package/src/utils/title-generator.ts +73 -10
- package/src/utils/tool-choice.ts +16 -0
- package/src/utils/tools-manager.ts +19 -1
- package/src/web/kagi.ts +28 -26
- package/src/web/parallel.ts +7 -3
- package/src/web/scrapers/arxiv.ts +1 -1
- package/src/web/scrapers/github.ts +351 -3
- package/src/web/scrapers/go-pkg.ts +1 -1
- package/src/web/scrapers/iacr.ts +1 -1
- package/src/web/scrapers/readthedocs.ts +1 -1
- package/src/web/scrapers/twitter.ts +2 -1
- package/src/web/scrapers/types.ts +87 -8
- package/src/web/scrapers/wikipedia.ts +1 -1
- package/src/web/scrapers/youtube.ts +9 -3
- package/src/web/search/index.ts +15 -2
- package/src/web/search/providers/anthropic.ts +62 -21
- package/src/web/search/providers/base.ts +2 -1
- package/src/web/search/providers/brave.ts +5 -2
- package/src/web/search/providers/codex.ts +87 -51
- package/src/web/search/providers/exa.ts +101 -10
- package/src/web/search/providers/gemini.ts +49 -24
- package/src/web/search/providers/jina.ts +15 -5
- package/src/web/search/providers/kagi.ts +9 -2
- package/src/web/search/providers/kimi.ts +45 -20
- package/src/web/search/providers/parallel.ts +39 -24
- package/src/web/search/providers/perplexity.ts +226 -63
- package/src/web/search/providers/searxng.ts +19 -3
- package/src/web/search/providers/synthetic.ts +16 -11
- package/src/web/search/providers/tavily.ts +12 -9
- package/src/web/search/providers/zai.ts +22 -9
- package/src/web/search/render.ts +59 -64
- package/src/web/search/types.ts +5 -1
- package/dist/types/discovery/context-files.d.ts +0 -17
- package/dist/types/exa/factory.d.ts +0 -13
- package/dist/types/exa/render.d.ts +0 -19
- package/dist/types/exa/researcher.d.ts +0 -9
- package/dist/types/exa/search.d.ts +0 -9
- package/dist/types/exa/websets.d.ts +0 -9
- package/dist/types/export/html/template.generated.d.ts +0 -1
- package/dist/types/modes/components/session-observer-overlay.d.ts +0 -11
- package/dist/types/modes/components/status-line.d.ts +0 -77
- package/dist/types/slash-commands/headless-plan.d.ts +0 -3
- package/dist/types/stt/setup.d.ts +0 -18
- package/scripts/generate-template.ts +0 -33
- package/src/discovery/context-files.ts +0 -49
- package/src/exa/factory.ts +0 -60
- package/src/exa/render.ts +0 -244
- package/src/exa/researcher.ts +0 -36
- package/src/exa/search.ts +0 -47
- package/src/exa/websets.ts +0 -248
- package/src/export/html/template.generated.ts +0 -2
- package/src/modes/components/session-observer-overlay.ts +0 -852
- package/src/slash-commands/headless-plan.ts +0 -142
- package/src/stt/setup.ts +0 -52
- package/src/stt/transcribe.py +0 -70
- /package/dist/types/extensibility/{legacy-pi-coding-agent-shim.d.ts → legacy-package-agent-shim.d.ts} +0 -0
- /package/src/extensibility/{legacy-pi-coding-agent-shim.ts → legacy-package-agent-shim.ts} +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
2
|
import type { CustomTool } from "../extensibility/custom-tools/types";
|
|
3
3
|
type TtsCodec = "mp3" | "wav";
|
|
4
|
+
type TtsBackend = "local" | "xai";
|
|
4
5
|
declare const ttsSchema: z.ZodObject<{
|
|
5
6
|
text: z.ZodString;
|
|
6
7
|
voice_id: z.ZodDefault<z.ZodString>;
|
|
@@ -13,6 +14,30 @@ interface TtsToolDetails {
|
|
|
13
14
|
bytes: number;
|
|
14
15
|
voiceId: string;
|
|
15
16
|
codec: TtsCodec;
|
|
17
|
+
backend: TtsBackend;
|
|
16
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Pick the synthesis backend. Pure for testability.
|
|
21
|
+
*
|
|
22
|
+
* - `xai` / `local` are honored verbatim (the xAI path still surfaces its own
|
|
23
|
+
* "no credentials" error when creds are missing).
|
|
24
|
+
* - `auto` prefers the local on-device backend, except when the caller asked for
|
|
25
|
+
* an `.mp3` and xAI credentials exist — only the cloud path can emit MP3, so we
|
|
26
|
+
* route there to satisfy the requested container rather than substituting WAV.
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolveTtsBackend(opts: {
|
|
29
|
+
preference: string;
|
|
30
|
+
wantsMp3: boolean;
|
|
31
|
+
hasXaiCreds: boolean;
|
|
32
|
+
}): TtsBackend;
|
|
33
|
+
/**
|
|
34
|
+
* Resolve the on-disk path for local synthesis. Local output is always WAV (no
|
|
35
|
+
* MP3 encoder is bundled), so an `.mp3` (or any non-`.wav`) request is rewritten
|
|
36
|
+
* to a sibling `.wav` and flagged so the tool result can note the substitution.
|
|
37
|
+
*/
|
|
38
|
+
export declare function resolveLocalWavPath(outputPath: string): {
|
|
39
|
+
wavPath: string;
|
|
40
|
+
substituted: boolean;
|
|
41
|
+
};
|
|
17
42
|
export declare const ttsTool: CustomTool<typeof ttsSchema, TtsToolDetails>;
|
|
18
43
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AgentTool, AgentToolContext, AgentToolResult, AgentToolUpdateCallback } from "@prometheus-ai/agent-core";
|
|
2
2
|
import type { Component } from "@prometheus-ai/tui";
|
|
3
|
-
import
|
|
3
|
+
import { z } from "zod/v4";
|
|
4
4
|
import type { RenderResultOptions } from "../extensibility/custom-tools/types";
|
|
5
5
|
import { type FileDiagnosticsResult } from "../lsp";
|
|
6
6
|
import { type Theme } from "../modes/theme/theme";
|
|
@@ -17,6 +17,9 @@ export interface WriteToolDetails {
|
|
|
17
17
|
meta?: OutputMeta;
|
|
18
18
|
/** Set when the file was auto-chmod'd because content begins with a `#!` shebang. */
|
|
19
19
|
madeExecutable?: boolean;
|
|
20
|
+
/** Absolute filesystem path the write resolved to. Used by the renderer to wrap
|
|
21
|
+
* the (possibly cwd-relative) header path in an OSC 8 `file://` hyperlink. */
|
|
22
|
+
resolvedPath?: string;
|
|
20
23
|
}
|
|
21
24
|
type WriteParams = WriteToolInput;
|
|
22
25
|
/**
|
|
@@ -36,7 +39,6 @@ export declare class WriteTool implements AgentTool<typeof writeSchema, WriteToo
|
|
|
36
39
|
path: z.ZodString;
|
|
37
40
|
content: z.ZodString;
|
|
38
41
|
}, z.core.$strip>;
|
|
39
|
-
readonly nonAbortable = true;
|
|
40
42
|
readonly strict = true;
|
|
41
43
|
readonly concurrency = "exclusive";
|
|
42
44
|
readonly loadMode = "discoverable";
|
|
@@ -44,7 +46,7 @@ export declare class WriteTool implements AgentTool<typeof writeSchema, WriteToo
|
|
|
44
46
|
/** Stream matchers should see the real file content, not its JSON-escaped argument encoding. */
|
|
45
47
|
matcherDigest(args: unknown): string | undefined;
|
|
46
48
|
constructor(session: ToolSession);
|
|
47
|
-
execute(_toolCallId: string, { path, content }: WriteParams, signal?: AbortSignal, _onUpdate?: AgentToolUpdateCallback<WriteToolDetails>, context?: AgentToolContext): Promise<AgentToolResult<WriteToolDetails>>;
|
|
49
|
+
execute(_toolCallId: string, { path: rawPath, content }: WriteParams, signal?: AbortSignal, _onUpdate?: AgentToolUpdateCallback<WriteToolDetails>, context?: AgentToolContext): Promise<AgentToolResult<WriteToolDetails>>;
|
|
48
50
|
}
|
|
49
51
|
interface WriteRenderArgs {
|
|
50
52
|
path?: string;
|
|
@@ -59,6 +61,7 @@ export declare const writeToolRenderer: {
|
|
|
59
61
|
text?: string;
|
|
60
62
|
}>;
|
|
61
63
|
details?: WriteToolDetails;
|
|
64
|
+
isError?: boolean;
|
|
62
65
|
}, options: RenderResultOptions, uiTheme: Theme, args?: WriteRenderArgs): Component;
|
|
63
66
|
mergeCallAndResult: boolean;
|
|
64
67
|
};
|
|
@@ -10,6 +10,14 @@ export interface YieldDetails {
|
|
|
10
10
|
data: unknown;
|
|
11
11
|
status: "success" | "aborted";
|
|
12
12
|
error?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Set when the yield tool exhausted its in-tool schema-retry budget
|
|
15
|
+
* (MAX_SCHEMA_RETRIES) and accepted the data anyway. Surfaced so the
|
|
16
|
+
* executor's post-mortem finalizer can honor the override instead of
|
|
17
|
+
* re-rejecting the same payload with `schema_violation` — keeping the
|
|
18
|
+
* subagent's acceptance and the parent's view of the result in lockstep.
|
|
19
|
+
*/
|
|
20
|
+
schemaOverridden?: boolean;
|
|
13
21
|
}
|
|
14
22
|
export declare class YieldTool implements AgentTool<TSchema, YieldDetails> {
|
|
15
23
|
#private;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface TtsDownloadProgress {
|
|
2
|
+
stage: string;
|
|
3
|
+
/** Integer 0–100 download percent when known. */
|
|
4
|
+
percent?: number;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Whether the selected local TTS model and the side Kokoro runtime are already
|
|
8
|
+
* present. transformers.js stores `main`-revision files at
|
|
9
|
+
* `<cacheDir>/<repo>/...`, so any `.onnx` weight under the repo dir means the
|
|
10
|
+
* model weights can load without a network fetch; the Kokoro package runtime is
|
|
11
|
+
* version-keyed separately and must also exist before setup can report ready.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isTtsModelCached(modelKey: string): Promise<boolean>;
|
|
14
|
+
/**
|
|
15
|
+
* Ensure the selected local TTS model is downloaded into the transformers.js
|
|
16
|
+
* cache (and warm in the worker), streaming integer-percent Hub progress. The
|
|
17
|
+
* worker resolves the request once every model file is cached. Returns `false`
|
|
18
|
+
* if the worker is unavailable or the download failed.
|
|
19
|
+
*/
|
|
20
|
+
export declare function downloadTtsModel(modelKey: string, onProgress?: (progress: TtsDownloadProgress) => void, signal?: AbortSignal): Promise<boolean>;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { TinyModelDtype } from "../tiny/dtype";
|
|
2
|
+
/**
|
|
3
|
+
* Voice exposed by a local TTS model. Kokoro ships a fixed catalog of named
|
|
4
|
+
* voices; a voice is just a stable id (e.g. `af_heart`) plus a display label.
|
|
5
|
+
* Selection is purely on-device — generating with a different voice needs no
|
|
6
|
+
* extra network fetch once the model weights are cached.
|
|
7
|
+
*/
|
|
8
|
+
export interface TtsLocalVoiceSpec {
|
|
9
|
+
id: string;
|
|
10
|
+
label: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* A local (on-device, ONNX) text-to-speech model the worker can load. `repo` is
|
|
14
|
+
* the Hugging Face model id loaded through `kokoro-js`
|
|
15
|
+
* (`KokoroTTS.from_pretrained`), which runs on the same `@huggingface/transformers`
|
|
16
|
+
* + `onnxruntime` runtime as the rest of the tiny-model stack and bundles the
|
|
17
|
+
* misaki/espeak phonemizer Kokoro needs. `dtype` is the default ONNX precision
|
|
18
|
+
* (overridable via `providers.tinyModelDtype`/`PROMETHEUS_TINY_DTYPE`).
|
|
19
|
+
*/
|
|
20
|
+
export interface TtsLocalModelSpec {
|
|
21
|
+
key: string;
|
|
22
|
+
repo: string;
|
|
23
|
+
dtype: TinyModelDtype;
|
|
24
|
+
/** PCM sample rate the model emits; fallback only — the worker uses the value RawAudio reports. */
|
|
25
|
+
sampleRate: number;
|
|
26
|
+
label: string;
|
|
27
|
+
description: string;
|
|
28
|
+
/** First entry is the model's default voice. */
|
|
29
|
+
voices: readonly TtsLocalVoiceSpec[];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Curated Kokoro-82M voice catalog. Kokoro ships ~28 voices; we surface the
|
|
33
|
+
* higher-graded ones across American/British × female/male so the picker stays
|
|
34
|
+
* useful without listing every D/F-grade sample. `af_heart` (grade A) leads and
|
|
35
|
+
* is the default voice. Grades are Kokoro's own `overallGrade` ratings.
|
|
36
|
+
*/
|
|
37
|
+
export declare const KOKORO_VOICES: readonly TtsLocalVoiceSpec[];
|
|
38
|
+
/** Default voice within the default model — Kokoro's flagship grade-A voice. */
|
|
39
|
+
export declare const DEFAULT_TTS_VOICE = "af_heart";
|
|
40
|
+
/** Default local TTS model used when `tts.localModel` is unset. */
|
|
41
|
+
export declare const DEFAULT_TTS_LOCAL_MODEL_KEY = "kokoro";
|
|
42
|
+
/**
|
|
43
|
+
* Local TTS model registry. Kokoro-82M is the on-device SoTA tiny TTS (tops the
|
|
44
|
+
* TTS Arena leaderboard); the `onnx-community` ONNX export runs through
|
|
45
|
+
* `kokoro-js` on the shared transformers.js/onnxruntime worker. q8 keeps the
|
|
46
|
+
* weights ~100 MB and CPU inference fast while preserving quality. One model
|
|
47
|
+
* spans every voice/accent — language selection is a voice choice, not a
|
|
48
|
+
* separate download.
|
|
49
|
+
*/
|
|
50
|
+
export declare const TTS_LOCAL_MODELS: readonly [{
|
|
51
|
+
readonly key: "kokoro";
|
|
52
|
+
readonly repo: "onnx-community/Kokoro-82M-v1.0-ONNX";
|
|
53
|
+
readonly dtype: "q8";
|
|
54
|
+
readonly sampleRate: 24000;
|
|
55
|
+
readonly label: "Kokoro-82M";
|
|
56
|
+
readonly description: "Kokoro-82M neural TTS — SoTA on-device quality, multi-voice, fully local";
|
|
57
|
+
readonly voices: readonly TtsLocalVoiceSpec[];
|
|
58
|
+
}];
|
|
59
|
+
export type TtsLocalModelKey = (typeof TTS_LOCAL_MODELS)[number]["key"];
|
|
60
|
+
export declare const TTS_LOCAL_MODEL_VALUES: readonly ["kokoro"];
|
|
61
|
+
export declare const TTS_LOCAL_MODEL_OPTIONS: readonly [{
|
|
62
|
+
readonly value: "kokoro";
|
|
63
|
+
readonly label: "Kokoro-82M";
|
|
64
|
+
readonly description: "Kokoro-82M neural TTS — SoTA on-device quality, multi-voice, fully local";
|
|
65
|
+
}];
|
|
66
|
+
/** Voice options for the `tts.localVoice` setting picker (default model's catalog). */
|
|
67
|
+
export declare const TTS_LOCAL_VOICE_OPTIONS: ReadonlyArray<{
|
|
68
|
+
value: string;
|
|
69
|
+
label: string;
|
|
70
|
+
}>;
|
|
71
|
+
/** Accepted `tts.localVoice` values (default model's catalog) for schema validation. */
|
|
72
|
+
export declare const TTS_LOCAL_VOICE_VALUES: readonly string[];
|
|
73
|
+
export declare function getTtsLocalModelSpec(key: string): TtsLocalModelSpec | undefined;
|
|
74
|
+
export declare function isTtsLocalModelKey(value: string): value is TtsLocalModelKey;
|
|
75
|
+
/** Resolve a model key (or the default) to its Hugging Face repo id. */
|
|
76
|
+
export declare function resolveTtsRepo(modelKey: string | undefined): string;
|
|
77
|
+
/**
|
|
78
|
+
* Resolve a requested voice id to a concrete voice the model supports, falling
|
|
79
|
+
* back to the model's default voice (first entry) when the id is unknown or the
|
|
80
|
+
* legacy `"default"` sentinel. The returned id is always a valid Kokoro voice.
|
|
81
|
+
*/
|
|
82
|
+
export declare function resolveTtsVoice(modelKey: string | undefined, voice: string | undefined): string;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export interface PlayerCommand {
|
|
2
|
+
cmd: string;
|
|
3
|
+
args: string[];
|
|
4
|
+
}
|
|
5
|
+
/** Injection seam for {@link playerCommandsFor} — defaults to real PATH/tools lookups. */
|
|
6
|
+
export interface PlayerLookup {
|
|
7
|
+
which?: (bin: string) => string | null;
|
|
8
|
+
ffmpeg?: () => string | null;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Build the ordered list of playback commands to try for `filePath` on the
|
|
12
|
+
* given platform. Pure + injectable so the selection logic is testable without
|
|
13
|
+
* spawning anything.
|
|
14
|
+
*
|
|
15
|
+
* - darwin: `afplay` (always present on macOS).
|
|
16
|
+
* - win32: PowerShell `Media.SoundPlayer.PlaySync()` (no extra deps).
|
|
17
|
+
* - linux/other POSIX: `paplay` (PulseAudio) → `aplay` (ALSA) → the bundled
|
|
18
|
+
* static `ffmpeg` (`-f pulse` then `-f alsa`). Empty result means nothing is
|
|
19
|
+
* available and the caller should surface an install hint.
|
|
20
|
+
*/
|
|
21
|
+
export declare function playerCommandsFor(platform: NodeJS.Platform, filePath: string, lookup?: PlayerLookup): PlayerCommand[];
|
|
22
|
+
export interface PlayAudioOptions {
|
|
23
|
+
signal?: AbortSignal;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Play `filePath` through the speakers, trying each candidate command in order
|
|
27
|
+
* and returning on the first clean exit. Throws an actionable Error if no
|
|
28
|
+
* player exists or every candidate fails (with the collected stderr).
|
|
29
|
+
*/
|
|
30
|
+
export declare function playAudioFile(filePath: string, options?: PlayAudioOptions): Promise<void>;
|
|
31
|
+
/** Best-effort temp-file cleanup used by callers after playback. */
|
|
32
|
+
export declare function removeTempFile(filePath: string): Promise<void>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const KOKORO_PACKAGE = "kokoro-js";
|
|
2
|
+
export declare const KOKORO_VERSION = "1.2.1";
|
|
3
|
+
export declare const ONNXRUNTIME_NODE_PACKAGE = "onnxruntime-node";
|
|
4
|
+
export declare const ONNXRUNTIME_NODE_VERSION = "1.26.0";
|
|
5
|
+
export declare function getTtsRuntimeDir(): string;
|
|
6
|
+
export declare function isTtsRuntimeCached(): Promise<boolean>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type PlayerCommand } from "./player";
|
|
2
|
+
/** Output gain applied while ducked (the user is speaking over the assistant). */
|
|
3
|
+
export declare const DUCK_GAIN = 0.25;
|
|
4
|
+
/** Injection seam for {@link streamingPlayerCommandsFor} — defaults to real PATH/tools lookups. */
|
|
5
|
+
export interface StreamingPlayerLookup {
|
|
6
|
+
which?: (bin: string) => string | null;
|
|
7
|
+
ffmpeg?: () => string | null;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Ordered candidate commands for a persistent raw-PCM player on `platform`: each
|
|
11
|
+
* reads 32-bit-float little-endian mono PCM at `sampleRate` from stdin (`pipe:0`)
|
|
12
|
+
* and plays it to the default output device. An empty list means no streaming
|
|
13
|
+
* backend is available and the caller should fall back to per-file playback.
|
|
14
|
+
*
|
|
15
|
+
* - darwin: none; `afplay` is file-only, so macOS uses the interruptible
|
|
16
|
+
* per-file fallback.
|
|
17
|
+
* - linux/other POSIX: `ffmpeg` (`-f pulse` then `-f alsa`) → `paplay`/`aplay`
|
|
18
|
+
* raw fallbacks.
|
|
19
|
+
* - win32: none (PowerShell `SoundPlayer` is file-only).
|
|
20
|
+
*/
|
|
21
|
+
export declare function streamingPlayerCommandsFor(platform: NodeJS.Platform, sampleRate: number, lookup?: StreamingPlayerLookup): PlayerCommand[];
|
|
22
|
+
/**
|
|
23
|
+
* Single-session gapless player. Lifecycle: {@link start} once, {@link write}
|
|
24
|
+
* chunks in order, then {@link end} to drain or {@link stop} to abort. Not
|
|
25
|
+
* reusable after stop/end — create a new instance per utterance.
|
|
26
|
+
*/
|
|
27
|
+
export declare class StreamingAudioPlayer {
|
|
28
|
+
#private;
|
|
29
|
+
/** Pick a backend and begin draining. Idempotent; the first call's rate wins. */
|
|
30
|
+
start(sampleRate: number): void;
|
|
31
|
+
/** Queue a mono float32 PCM chunk for playback in arrival order. */
|
|
32
|
+
write(pcm: Float32Array): void;
|
|
33
|
+
/** Scale subsequent output (1 = normal, <1 = ducked). Applies within {@link LEAD_SECONDS}. */
|
|
34
|
+
setGain(gain: number): void;
|
|
35
|
+
/** Close the input; resolves once all queued audio has finished playing. */
|
|
36
|
+
end(): Promise<void>;
|
|
37
|
+
/** Stop immediately: kill the player, drop everything still queued. */
|
|
38
|
+
stop(): void;
|
|
39
|
+
}
|
|
40
|
+
/** Factory the vocalizer calls; a function so tests can stub it without spawning a player. */
|
|
41
|
+
export declare function createStreamingPlayer(): StreamingAudioPlayer;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { Subprocess } from "bun";
|
|
2
|
+
import type { TtsProgressEvent, TtsWorkerInbound, TtsWorkerOutbound } from "./tts-protocol";
|
|
3
|
+
/** Decoded PCM returned by a local synthesis request. */
|
|
4
|
+
export interface TtsAudio {
|
|
5
|
+
pcm: Float32Array;
|
|
6
|
+
sampleRate: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Abstraction over the TTS subprocess. The runtime implementation is a Bun child
|
|
10
|
+
* process so `onnxruntime-node`'s NAPI finalizer never runs inside the main agent
|
|
11
|
+
* address space — that destructor segfaults Bun during shutdown (issue #1606).
|
|
12
|
+
*/
|
|
13
|
+
interface WorkerHandle {
|
|
14
|
+
send(message: TtsWorkerInbound): void;
|
|
15
|
+
onMessage(handler: (message: TtsWorkerOutbound) => void): () => void;
|
|
16
|
+
onError(handler: (error: Error) => void): () => void;
|
|
17
|
+
/** Re-reference the subprocess so a pending request keeps the parent event loop alive. */
|
|
18
|
+
ref(): void;
|
|
19
|
+
/** Drop the reference once the worker is idle so it never blocks process exit. */
|
|
20
|
+
unref(): void;
|
|
21
|
+
terminate(): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
export interface TtsSynthesizeOptions {
|
|
24
|
+
voice?: string;
|
|
25
|
+
signal?: AbortSignal;
|
|
26
|
+
}
|
|
27
|
+
export interface TtsDownloadOptions {
|
|
28
|
+
signal?: AbortSignal;
|
|
29
|
+
onProgress?: (event: TtsProgressEvent) => void;
|
|
30
|
+
}
|
|
31
|
+
export interface TtsStreamOptions {
|
|
32
|
+
voice?: string;
|
|
33
|
+
signal?: AbortSignal;
|
|
34
|
+
}
|
|
35
|
+
/** One synthesized sentence of a streaming session, in emission order. */
|
|
36
|
+
export interface TtsAudioChunk {
|
|
37
|
+
index: number;
|
|
38
|
+
text: string;
|
|
39
|
+
pcm: Float32Array;
|
|
40
|
+
sampleRate: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* A live streaming-synthesis session. Feed text incrementally with {@link push}
|
|
44
|
+
* and close the input with {@link end}; `chunks` yields each synthesized
|
|
45
|
+
* sentence's audio as soon as it is ready, then completes once the worker
|
|
46
|
+
* finishes draining the closed input.
|
|
47
|
+
*/
|
|
48
|
+
export interface TtsStreamHandle {
|
|
49
|
+
push(text: string): void;
|
|
50
|
+
end(): void;
|
|
51
|
+
chunks: AsyncIterableIterator<TtsAudioChunk>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Hidden subcommand on the main CLI that boots the TTS worker in the spawned
|
|
55
|
+
* subprocess. Kept in sync with the dispatch in `cli.ts` (Main-owned).
|
|
56
|
+
*/
|
|
57
|
+
export declare const TTS_WORKER_ARG = "__prometheus_tts_worker";
|
|
58
|
+
interface SpawnedSubprocess {
|
|
59
|
+
proc: Subprocess<"ignore", "ignore", "ignore">;
|
|
60
|
+
inbound: Set<(message: TtsWorkerOutbound) => void>;
|
|
61
|
+
errors: Set<(error: Error) => void>;
|
|
62
|
+
/** Flipped to `true` right before the deliberate SIGKILL so `onExit` can tell it apart from a crash. */
|
|
63
|
+
intentionalExit: {
|
|
64
|
+
value: boolean;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Spawn the TTS worker as a subprocess. Exported for tests and the smoke probe;
|
|
69
|
+
* production callers go through {@link spawnTtsWorker}.
|
|
70
|
+
*/
|
|
71
|
+
export declare function createTtsSubprocess(): SpawnedSubprocess;
|
|
72
|
+
export declare class TtsClient {
|
|
73
|
+
#private;
|
|
74
|
+
constructor(spawnWorker?: () => WorkerHandle);
|
|
75
|
+
onProgress(listener: (event: TtsProgressEvent) => void): () => void;
|
|
76
|
+
synthesize(modelKey: string, text: string, options?: TtsSynthesizeOptions): Promise<TtsAudio | null>;
|
|
77
|
+
/**
|
|
78
|
+
* Open a streaming-synthesis session. Text is fed incrementally through the
|
|
79
|
+
* returned handle's `push`/`end`; audio is emitted one synthesized sentence at
|
|
80
|
+
* a time via `chunks`, so playback can begin before the full text is known.
|
|
81
|
+
* Returns an inert handle (immediately-ended `chunks`) for unknown models or
|
|
82
|
+
* an already-aborted signal, and fails the iterator if the worker cannot spawn.
|
|
83
|
+
*/
|
|
84
|
+
synthesizeStream(modelKey: string, options?: TtsStreamOptions): TtsStreamHandle;
|
|
85
|
+
downloadModel(modelKey: string, options?: TtsDownloadOptions): Promise<boolean>;
|
|
86
|
+
terminate(): Promise<void>;
|
|
87
|
+
}
|
|
88
|
+
export declare const ttsClient: TtsClient;
|
|
89
|
+
export declare function shutdownTtsClient(): Promise<void>;
|
|
90
|
+
export declare function smokeTestTtsWorker({ timeoutMs, }?: {
|
|
91
|
+
timeoutMs?: number;
|
|
92
|
+
}): Promise<void>;
|
|
93
|
+
export {};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { TtsLocalModelKey } from "./models";
|
|
2
|
+
export type TtsProgressStatus = "initiate" | "download" | "progress" | "progress_total" | "done" | "ready" | "error";
|
|
3
|
+
export interface TtsProgressFileState {
|
|
4
|
+
loaded: number;
|
|
5
|
+
total: number;
|
|
6
|
+
}
|
|
7
|
+
export interface TtsProgressEvent {
|
|
8
|
+
modelKey: TtsLocalModelKey;
|
|
9
|
+
status: TtsProgressStatus;
|
|
10
|
+
name?: string;
|
|
11
|
+
file?: string;
|
|
12
|
+
progress?: number;
|
|
13
|
+
loaded?: number;
|
|
14
|
+
total?: number;
|
|
15
|
+
files?: Record<string, TtsProgressFileState>;
|
|
16
|
+
task?: string;
|
|
17
|
+
model?: string;
|
|
18
|
+
}
|
|
19
|
+
export type TtsWorkerInbound = {
|
|
20
|
+
type: "ping";
|
|
21
|
+
id: string;
|
|
22
|
+
} | {
|
|
23
|
+
type: "synthesize";
|
|
24
|
+
id: string;
|
|
25
|
+
modelKey: TtsLocalModelKey;
|
|
26
|
+
text: string;
|
|
27
|
+
voice?: string;
|
|
28
|
+
} | {
|
|
29
|
+
type: "download";
|
|
30
|
+
id: string;
|
|
31
|
+
modelKey: TtsLocalModelKey;
|
|
32
|
+
} | {
|
|
33
|
+
type: "stream-start";
|
|
34
|
+
id: string;
|
|
35
|
+
modelKey: TtsLocalModelKey;
|
|
36
|
+
voice?: string;
|
|
37
|
+
} | {
|
|
38
|
+
type: "stream-push";
|
|
39
|
+
id: string;
|
|
40
|
+
text: string;
|
|
41
|
+
} | {
|
|
42
|
+
type: "stream-end";
|
|
43
|
+
id: string;
|
|
44
|
+
} | {
|
|
45
|
+
type: "stream-cancel";
|
|
46
|
+
id: string;
|
|
47
|
+
};
|
|
48
|
+
export type TtsWorkerOutbound = {
|
|
49
|
+
type: "pong";
|
|
50
|
+
id: string;
|
|
51
|
+
} | {
|
|
52
|
+
type: "audio";
|
|
53
|
+
id: string;
|
|
54
|
+
pcm: Float32Array;
|
|
55
|
+
sampleRate: number;
|
|
56
|
+
} | {
|
|
57
|
+
type: "downloaded";
|
|
58
|
+
id: string;
|
|
59
|
+
} | {
|
|
60
|
+
type: "error";
|
|
61
|
+
id: string;
|
|
62
|
+
error: string;
|
|
63
|
+
} | {
|
|
64
|
+
type: "progress";
|
|
65
|
+
id: string;
|
|
66
|
+
event: TtsProgressEvent;
|
|
67
|
+
} | {
|
|
68
|
+
type: "log";
|
|
69
|
+
level: "debug" | "warn" | "error";
|
|
70
|
+
msg: string;
|
|
71
|
+
meta?: Record<string, unknown>;
|
|
72
|
+
} | {
|
|
73
|
+
type: "audio-chunk";
|
|
74
|
+
id: string;
|
|
75
|
+
index: number;
|
|
76
|
+
text: string;
|
|
77
|
+
pcm: Float32Array;
|
|
78
|
+
sampleRate: number;
|
|
79
|
+
} | {
|
|
80
|
+
type: "stream-done";
|
|
81
|
+
id: string;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Wire transport between the parent (`TtsClient`) and the local TTS subprocess.
|
|
85
|
+
* The parent owns the subprocess lifecycle (graceful work, hard SIGKILL on
|
|
86
|
+
* shutdown); the protocol carries no explicit close handshake — once the parent
|
|
87
|
+
* decides to terminate, it signals the OS to reap the child so
|
|
88
|
+
* `onnxruntime-node`'s NAPI finalizer never runs in the main agent address
|
|
89
|
+
* space (it segfaults Bun on shutdown — issue #1606). See `tts-client.ts` for
|
|
90
|
+
* the spawn/kill glue.
|
|
91
|
+
*/
|
|
92
|
+
export interface TtsTransport {
|
|
93
|
+
send(message: TtsWorkerOutbound): void;
|
|
94
|
+
onMessage(handler: (message: TtsWorkerInbound) => void): () => void;
|
|
95
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
export interface VocalizerPlayer {
|
|
2
|
+
start(sampleRate: number): void;
|
|
3
|
+
write(pcm: Float32Array): void;
|
|
4
|
+
setGain(gain: number): void;
|
|
5
|
+
end(): Promise<void>;
|
|
6
|
+
stop(): void;
|
|
7
|
+
}
|
|
8
|
+
export declare class Vocalizer {
|
|
9
|
+
#private;
|
|
10
|
+
constructor(createPlayer?: () => VocalizerPlayer);
|
|
11
|
+
/**
|
|
12
|
+
* Stream a delta of assistant text into the engine. No-op when vocalization
|
|
13
|
+
* is disabled. The engine buffers the running text and emits audio for each
|
|
14
|
+
* complete sentence; the trailing partial is flushed by {@link flush}.
|
|
15
|
+
*/
|
|
16
|
+
pushDelta(text: string): void;
|
|
17
|
+
/**
|
|
18
|
+
* Close the current input stream (call at message/turn end). The engine
|
|
19
|
+
* flushes its trailing partial as a final chunk; the player keeps draining
|
|
20
|
+
* queued audio until it completes.
|
|
21
|
+
*/
|
|
22
|
+
flush(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Speak a complete piece of text in one shot (ask questions, yield-mode final
|
|
25
|
+
* message): stream it in and immediately close the input. No-op when disabled.
|
|
26
|
+
*/
|
|
27
|
+
speak(text: string): void;
|
|
28
|
+
/**
|
|
29
|
+
* Interrupt and drop the current session, killing in-flight playback and
|
|
30
|
+
* synthesis (new turn / user message / Esc interrupt). Audio stops at once.
|
|
31
|
+
*/
|
|
32
|
+
clear(): void;
|
|
33
|
+
/** Lower the volume while the user is speaking (push-to-talk), so speech doesn't drown them out. */
|
|
34
|
+
duck(): void;
|
|
35
|
+
/** Restore full volume once the user stops speaking. */
|
|
36
|
+
unduck(): void;
|
|
37
|
+
/** Resolve once the playback chain has drained (tests / shutdown). */
|
|
38
|
+
idle(): Promise<void>;
|
|
39
|
+
}
|
|
40
|
+
/** Process-level vocalizer shared by the event controller and the ask tool. */
|
|
41
|
+
export declare const vocalizer: Vocalizer;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assemble a mono PCM16 WAV byte buffer from Float32 PCM samples (the shape
|
|
3
|
+
* transformers.js `RawAudio` emits: normalized [-1, 1] amplitudes plus a sample
|
|
4
|
+
* rate). No external encoder is involved — we write a canonical 44-byte RIFF/
|
|
5
|
+
* WAVE header followed by little-endian signed 16-bit samples. Samples are
|
|
6
|
+
* clamped before quantization so out-of-range float values do not wrap.
|
|
7
|
+
*/
|
|
8
|
+
export declare function encodeWav(samples: Float32Array, sampleRate: number): Uint8Array;
|
|
@@ -18,8 +18,6 @@ export interface CodeCellOptions {
|
|
|
18
18
|
*/
|
|
19
19
|
codeTail?: boolean;
|
|
20
20
|
expanded?: boolean;
|
|
21
|
-
/** Animate the cell border with a sweeping segment while pending/running. */
|
|
22
|
-
animate?: boolean;
|
|
23
21
|
width: number;
|
|
24
22
|
}
|
|
25
23
|
export declare function renderCodeCell(options: CodeCellOptions, theme: Theme): string[];
|
|
@@ -20,20 +20,26 @@ export declare function uriHyperlink(uri: string, displayText: string): string;
|
|
|
20
20
|
*/
|
|
21
21
|
export declare function urlHyperlink(url: string, displayText: string): string;
|
|
22
22
|
/**
|
|
23
|
-
* Wrap `displayText` in an OSC 8 hyperlink pointing at
|
|
23
|
+
* Wrap `displayText` in an OSC 8 hyperlink pointing at an HTTP(S) URL,
|
|
24
|
+
* bypassing terminal capability auto-detection. Used for auth prompts where
|
|
25
|
+
* an inert "click" label blocks login on terminals whose capabilities are
|
|
26
|
+
* not advertised. Still returns plain text when the user has explicitly
|
|
27
|
+
* opted out via `tui.hyperlinks=off`.
|
|
28
|
+
*/
|
|
29
|
+
export declare function urlHyperlinkAlways(url: string, displayText: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Wrap `displayText` in an OSC 8 hyperlink pointing at a filesystem path.
|
|
24
32
|
*
|
|
25
33
|
* Returns `displayText` unchanged when hyperlinks are disabled or when
|
|
26
34
|
* the text already contains an OSC 8 sequence (prevents double-wrapping).
|
|
35
|
+
* Relative paths resolve against the current working directory before URI
|
|
36
|
+
* encoding so the OSC 8 target is always a valid `file://` URL.
|
|
27
37
|
*
|
|
28
|
-
*
|
|
29
|
-
* produce invalid `file://` URIs and are accepted silently to avoid runtime
|
|
30
|
-
* errors in renderer hot paths.
|
|
31
|
-
*
|
|
32
|
-
* @param absPath - Absolute filesystem path
|
|
38
|
+
* @param filePath - Filesystem path
|
|
33
39
|
* @param displayText - Text to render as the hyperlink anchor (may contain ANSI codes)
|
|
34
40
|
* @param opts - Optional line/col position appended as `?line=N&col=M` query params
|
|
35
41
|
*/
|
|
36
|
-
export declare function fileHyperlink(
|
|
42
|
+
export declare function fileHyperlink(filePath: string, displayText: string, opts?: {
|
|
37
43
|
line?: number;
|
|
38
44
|
col?: number;
|
|
39
45
|
}): string;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Bordered output container with optional header and sections.
|
|
3
3
|
*/
|
|
4
4
|
import type { Component } from "@prometheus-ai/tui";
|
|
5
|
-
import type { Theme } from "../modes/theme/theme";
|
|
5
|
+
import type { Theme, ThemeColor } from "../modes/theme/theme";
|
|
6
6
|
import type { State } from "./types";
|
|
7
7
|
export interface OutputBlockOptions {
|
|
8
8
|
header?: string;
|
|
@@ -10,12 +10,15 @@ export interface OutputBlockOptions {
|
|
|
10
10
|
state?: State;
|
|
11
11
|
sections?: Array<{
|
|
12
12
|
label?: string;
|
|
13
|
-
lines: string[];
|
|
13
|
+
lines: readonly string[];
|
|
14
|
+
separator?: boolean;
|
|
14
15
|
}>;
|
|
15
16
|
width: number;
|
|
16
17
|
applyBg?: boolean;
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
contentPaddingLeft?: number;
|
|
19
|
+
/** Override the state-derived border color. Used for muted "legacy" tool
|
|
20
|
+
* frames that should not visually compete with framed-output tools. */
|
|
21
|
+
borderColor?: ThemeColor;
|
|
19
22
|
}
|
|
20
23
|
declare const FRAMED_BLOCK_COMPONENT: unique symbol;
|
|
21
24
|
export type FramedBlockComponent = Component & {
|
|
@@ -23,22 +26,6 @@ export type FramedBlockComponent = Component & {
|
|
|
23
26
|
};
|
|
24
27
|
export declare function markFramedBlockComponent<T extends Component>(component: T): T & FramedBlockComponent;
|
|
25
28
|
export declare function isFramedBlockComponent(component: Component): boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Monotonic frame counter for animated borders, quantized to the TUI's ~16ms
|
|
28
|
-
* render cap so the cache key advances once per ~60fps frame — fine enough for a
|
|
29
|
-
* smooth segment sweep, coarse enough to coalesce multiple render passes that
|
|
30
|
-
* land inside the same frame.
|
|
31
|
-
*/
|
|
32
|
-
export declare function borderShimmerTick(): number;
|
|
33
|
-
/**
|
|
34
|
-
* Column of the travelling segment's center on the bottom edge for a box of
|
|
35
|
-
* inner width `W` at time `now`. The segment bounces left → right → left across
|
|
36
|
-
* the bottom border: a triangle wave over one full there-and-back cycle, eased
|
|
37
|
-
* per leg so it slows as it nears each wall before reversing. Position is
|
|
38
|
-
* derived from the wall clock against a fixed cycle, so a resize shifts the
|
|
39
|
-
* center proportionally — no reset.
|
|
40
|
-
*/
|
|
41
|
-
export declare function borderSegmentHeadCol(W: number, now: number): number;
|
|
42
29
|
export declare function renderOutputBlock(options: OutputBlockOptions, theme: Theme): string[];
|
|
43
30
|
/**
|
|
44
31
|
* Cached wrapper around `renderOutputBlock`.
|
|
@@ -49,9 +36,16 @@ export declare function renderOutputBlock(options: OutputBlockOptions, theme: Th
|
|
|
49
36
|
*/
|
|
50
37
|
export declare class CachedOutputBlock {
|
|
51
38
|
#private;
|
|
52
|
-
/** Render with caching. Returns cached
|
|
53
|
-
render(options: OutputBlockOptions, theme: Theme): string[];
|
|
39
|
+
/** Render with caching. Returns the cached (shared, caller-immutable) lines if options haven't changed. */
|
|
40
|
+
render(options: OutputBlockOptions, theme: Theme): readonly string[];
|
|
54
41
|
/** Invalidate the cache, forcing a rebuild on next render. */
|
|
55
42
|
invalidate(): void;
|
|
56
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Build a self-framing tool component backed by a cached output block. The
|
|
46
|
+
* `build` callback returns the block options for a given width; the cache
|
|
47
|
+
* dedupes re-renders. Pass `borderColor: "borderMuted"` for the dim "legacy"
|
|
48
|
+
* look that does not compete with the state-colored framed tools.
|
|
49
|
+
*/
|
|
50
|
+
export declare function framedBlock(theme: Theme, build: (width: number) => OutputBlockOptions): Component;
|
|
57
51
|
export {};
|
|
@@ -5,6 +5,9 @@ import type { Theme, ThemeColor } from "../modes/theme/theme";
|
|
|
5
5
|
import type { ToolUIStatus } from "../tools/render-utils";
|
|
6
6
|
export interface StatusLineOptions {
|
|
7
7
|
icon?: ToolUIStatus;
|
|
8
|
+
/** Pre-rendered glyph that replaces the status icon (e.g. a magnifier for
|
|
9
|
+
* search-family tools). Takes precedence over `icon`. */
|
|
10
|
+
iconOverride?: string;
|
|
8
11
|
spinnerFrame?: number;
|
|
9
12
|
title: string;
|
|
10
13
|
titleColor?: ThemeColor;
|