@oh-my-pi/pi-tui 18.2.4 → 18.2.6
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 +23 -0
- package/README.md +43 -0
- package/dist/types/app-keybindings.d.ts +395 -0
- package/dist/types/apps/autoresearch-dashboard.d.ts +43 -0
- package/dist/types/apps/autoresearch-data.d.ts +15 -0
- package/dist/types/apps/cleanse-board.d.ts +66 -0
- package/dist/types/apps/cleanse-picker.d.ts +23 -0
- package/dist/types/apps/debug/log-formatting.d.ts +6 -0
- package/dist/types/apps/debug/log-viewer.d.ts +81 -0
- package/dist/types/apps/debug/protocol-probe.d.ts +42 -0
- package/dist/types/apps/debug/raw-sse-buffer.d.ts +58 -0
- package/dist/types/apps/debug/raw-sse.d.ts +26 -0
- package/dist/types/apps/debug/terminal-info.d.ts +34 -0
- package/dist/types/apps/debug/viewer-frame.d.ts +52 -0
- package/dist/types/apps/git/avatar.d.ts +9 -0
- package/dist/types/apps/git/colors.d.ts +49 -0
- package/dist/types/apps/git/diff-pane.d.ts +188 -0
- package/dist/types/apps/git/git-tui.d.ts +66 -0
- package/dist/types/apps/git/sidebar.d.ts +149 -0
- package/dist/types/apps/git/state.d.ts +117 -0
- package/dist/types/apps/if-bench-board.d.ts +75 -0
- package/dist/types/apps/live-visualizer.d.ts +33 -0
- package/dist/types/apps/ps-data.d.ts +51 -0
- package/dist/types/apps/ps-top.d.ts +33 -0
- package/dist/types/apps/session-picker.d.ts +26 -0
- package/dist/types/apps/setup-model-picker.d.ts +13 -0
- package/dist/types/apps/standalone-picker.d.ts +42 -0
- package/dist/types/autocomplete.d.ts +4 -0
- package/dist/types/chat/advisor-message.d.ts +11 -0
- package/dist/types/chat/assistant-message.d.ts +106 -0
- package/dist/types/chat/background-tan-message.d.ts +9 -0
- package/dist/types/chat/bash-execution.d.ts +47 -0
- package/dist/types/chat/cache-invalidation-marker.d.ts +50 -0
- package/dist/types/chat/chat-transcript-builder.d.ts +50 -0
- package/dist/types/chat/collab-prompt-message.d.ts +10 -0
- package/dist/types/chat/compaction-summary-message.d.ts +54 -0
- package/dist/types/chat/custom-message.d.ts +10 -0
- package/dist/types/chat/display-preferences.d.ts +13 -0
- package/dist/types/chat/eval-execution.d.ts +29 -0
- package/dist/types/chat/execution-shared.d.ts +51 -0
- package/dist/types/chat/extension-types.d.ts +28 -0
- package/dist/types/chat/hook-message.d.ts +10 -0
- package/dist/types/chat/image-loading.d.ts +46 -0
- package/dist/types/chat/late-diagnostics-message.d.ts +21 -0
- package/dist/types/chat/messages.d.ts +189 -0
- package/dist/types/chat/reaction.d.ts +30 -0
- package/dist/types/chat/read-target.d.ts +4 -0
- package/dist/types/chat/read-tool-group.d.ts +67 -0
- package/dist/types/chat/served-model-marker.d.ts +47 -0
- package/dist/types/chat/skill-message.d.ts +33 -0
- package/dist/types/chat/skill-title-input.d.ts +14 -0
- package/dist/types/chat/stripped-tool-calls-placeholder.d.ts +12 -0
- package/dist/types/chat/thinking-display.d.ts +12 -0
- package/dist/types/chat/todo-reminder.d.ts +13 -0
- package/dist/types/chat/tool-execution.d.ts +138 -0
- package/dist/types/chat/transcript-browser.d.ts +93 -0
- package/dist/types/chat/transcript-entry.d.ts +45 -0
- package/dist/types/chat/transcript-outline.d.ts +86 -0
- package/dist/types/chat/transcript-render-helpers.d.ts +92 -0
- package/dist/types/chat/ttsr-notification.d.ts +23 -0
- package/dist/types/chat/user-message.d.ts +52 -0
- package/dist/types/chrome/chat-block.d.ts +64 -0
- package/dist/types/chrome/collab-qrcode.d.ts +28 -0
- package/dist/types/chrome/context-thresholds.d.ts +10 -0
- package/dist/types/chrome/countdown-timer.d.ts +14 -0
- package/dist/types/chrome/diff.d.ts +14 -0
- package/dist/types/chrome/dynamic-border.d.ts +16 -0
- package/dist/types/chrome/error-block.d.ts +17 -0
- package/dist/types/chrome/form-theme.d.ts +3 -0
- package/dist/types/chrome/format.d.ts +12 -0
- package/dist/types/chrome/index.d.ts +20 -0
- package/dist/types/chrome/keybinding-hints.d.ts +40 -0
- package/dist/types/chrome/live-board.d.ts +23 -0
- package/dist/types/chrome/local-date.d.ts +4 -0
- package/dist/types/chrome/message-divider.d.ts +22 -0
- package/dist/types/chrome/message-frame.d.ts +52 -0
- package/dist/types/chrome/message-notice.d.ts +35 -0
- package/dist/types/chrome/overlay-box.d.ts +74 -0
- package/dist/types/chrome/qrcode.d.ts +48 -0
- package/dist/types/chrome/segment-track.d.ts +27 -0
- package/dist/types/chrome/select-list-mouse-routing.d.ts +4 -0
- package/dist/types/chrome/selector-helpers.d.ts +52 -0
- package/dist/types/chrome/shared.d.ts +5 -0
- package/dist/types/chrome/streaming-panel.d.ts +19 -0
- package/dist/types/chrome/tool-activity.d.ts +17 -0
- package/dist/types/chrome/transcript-container.d.ts +129 -0
- package/dist/types/chrome/transcript-status.d.ts +12 -0
- package/dist/types/chrome/visual-truncate.d.ts +19 -0
- package/dist/types/components/disclosure.d.ts +42 -0
- package/dist/types/components/form.d.ts +130 -0
- package/dist/types/components/key-value-list.d.ts +24 -0
- package/dist/types/components/layout/geometry.d.ts +73 -0
- package/dist/types/components/layout/row.d.ts +55 -0
- package/dist/types/components/layout/split-pane.d.ts +80 -0
- package/dist/types/components/layout/stack.d.ts +50 -0
- package/dist/types/components/menu-selection.d.ts +71 -0
- package/dist/types/components/metric.d.ts +44 -0
- package/dist/types/components/progress-bar.d.ts +36 -0
- package/dist/types/components/scroll-view.d.ts +53 -19
- package/dist/types/components/scroll-viewport.d.ts +46 -0
- package/dist/types/components/section.d.ts +19 -0
- package/dist/types/components/select-list.d.ts +46 -2
- package/dist/types/components/settings-list.d.ts +20 -0
- package/dist/types/components/table.d.ts +32 -0
- package/dist/types/components/tree-view.d.ts +130 -0
- package/dist/types/components/wizard-step.d.ts +60 -0
- package/dist/types/hotkeys-markdown.d.ts +7 -0
- package/dist/types/index.d.ts +17 -0
- package/dist/types/keybinding-matchers.d.ts +35 -0
- package/dist/types/keys.d.ts +2 -2
- package/dist/types/lang-from-path.d.ts +9 -0
- package/dist/types/overlays/advisor-config.d.ts +114 -0
- package/dist/types/overlays/agent-activity.d.ts +41 -0
- package/dist/types/overlays/agent-hub-projection.d.ts +33 -0
- package/dist/types/overlays/agent-hub-renderer.d.ts +53 -0
- package/dist/types/overlays/agent-hub-types.d.ts +99 -0
- package/dist/types/overlays/agent-hub.d.ts +126 -0
- package/dist/types/overlays/agent-transcript-viewer.d.ts +71 -0
- package/dist/types/overlays/agents-hub.d.ts +72 -0
- package/dist/types/overlays/ask-dialog.d.ts +88 -0
- package/dist/types/overlays/bordered-loader.d.ts +11 -0
- package/dist/types/overlays/btw-history-panel.d.ts +29 -0
- package/dist/types/overlays/btw-history.d.ts +17 -0
- package/dist/types/overlays/btw-panel.d.ts +26 -0
- package/dist/types/overlays/cleanse-panel.d.ts +36 -0
- package/dist/types/overlays/codex-reset-fireworks.d.ts +52 -0
- package/dist/types/overlays/composer-shape-preview.d.ts +47 -0
- package/dist/types/overlays/composer-shape-registry.d.ts +50 -0
- package/dist/types/overlays/copy-selector.d.ts +48 -0
- package/dist/types/overlays/copy-targets.d.ts +63 -0
- package/dist/types/overlays/error-banner.d.ts +13 -0
- package/dist/types/overlays/extensions/display-text.d.ts +10 -0
- package/dist/types/overlays/extensions/extension-dashboard.d.ts +63 -0
- package/dist/types/overlays/extensions/extension-list.d.ts +54 -0
- package/dist/types/overlays/extensions/inspector-model.d.ts +109 -0
- package/dist/types/overlays/extensions/inspector-panel.d.ts +17 -0
- package/dist/types/overlays/extensions/live-tool-session.d.ts +28 -0
- package/dist/types/overlays/extensions/mcp-runtime.d.ts +107 -0
- package/dist/types/overlays/extensions/state-manager.d.ts +42 -0
- package/dist/types/overlays/extensions/types.d.ts +165 -0
- package/dist/types/overlays/history-search.d.ts +16 -0
- package/dist/types/overlays/hook-editor.d.ts +44 -0
- package/dist/types/overlays/hook-input.d.ts +20 -0
- package/dist/types/overlays/hook-selector.d.ts +71 -0
- package/dist/types/overlays/hub-frame.d.ts +77 -0
- package/dist/types/overlays/login-dialog.d.ts +43 -0
- package/dist/types/overlays/logout-account-selector.d.ts +15 -0
- package/dist/types/overlays/mcp-add-wizard.d.ts +87 -0
- package/dist/types/overlays/model-browser.d.ts +213 -0
- package/dist/types/overlays/model-hub.d.ts +72 -0
- package/dist/types/overlays/model-picker.d.ts +74 -0
- package/dist/types/overlays/model-selector.d.ts +52 -0
- package/dist/types/overlays/move-overlay.d.ts +39 -0
- package/dist/types/overlays/oauth-selector.d.ts +41 -0
- package/dist/types/overlays/omfg-panel.d.ts +20 -0
- package/dist/types/overlays/pause-screen.d.ts +43 -0
- package/dist/types/overlays/plan-review-overlay.d.ts +89 -0
- package/dist/types/overlays/plan-save-overlay.d.ts +19 -0
- package/dist/types/overlays/plan-toc.d.ts +41 -0
- package/dist/types/overlays/plugin-selector.d.ts +28 -0
- package/dist/types/overlays/plugin-settings.d.ts +180 -0
- package/dist/types/overlays/queue-mode-selector.d.ts +11 -0
- package/dist/types/overlays/reset-usage-selector.d.ts +23 -0
- package/dist/types/overlays/rewind-selector.d.ts +61 -0
- package/dist/types/overlays/running-subagent-badge.d.ts +6 -0
- package/dist/types/overlays/session-account-selector.d.ts +24 -0
- package/dist/types/overlays/session-info-overlay.d.ts +17 -0
- package/dist/types/overlays/session-observer-registry.d.ts +77 -0
- package/dist/types/overlays/session-selector.d.ts +131 -0
- package/dist/types/overlays/settings-defs.d.ts +119 -0
- package/dist/types/overlays/settings-selector.d.ts +73 -0
- package/dist/types/overlays/show-images-selector.d.ts +11 -0
- package/dist/types/overlays/snapcompact-shape-preview.d.ts +31 -0
- package/dist/types/overlays/theme-selector.d.ts +12 -0
- package/dist/types/overlays/thinking-selector.d.ts +12 -0
- package/dist/types/overlays/tiny-title-download-progress.d.ts +21 -0
- package/dist/types/overlays/tree-selector.d.ts +92 -0
- package/dist/types/overlays/usage-dashboard.d.ts +94 -0
- package/dist/types/overlays/usage-display.d.ts +5 -0
- package/dist/types/overlays/usage-row.d.ts +17 -0
- package/dist/types/prompt/attachment-chips.d.ts +19 -0
- package/dist/types/prompt/composer-attachments.d.ts +71 -0
- package/dist/types/prompt/composer-cache.d.ts +37 -0
- package/dist/types/prompt/composer.d.ts +159 -0
- package/dist/types/prompt/custom-editor.d.ts +261 -0
- package/dist/types/prompt/editor-top-gap.d.ts +18 -0
- package/dist/types/prompt/emoji-autocomplete.d.ts +16 -0
- package/dist/types/prompt/github-ref-autocomplete.d.ts +35 -0
- package/dist/types/prompt/gradient-highlight.d.ts +32 -0
- package/dist/types/prompt/image-format.d.ts +4 -0
- package/dist/types/prompt/image-references.d.ts +26 -0
- package/dist/types/prompt/interactive-context-helpers.d.ts +43 -0
- package/dist/types/prompt/internal-url-autocomplete.d.ts +56 -0
- package/dist/types/prompt/macos-spelling.d.ts +44 -0
- package/dist/types/prompt/magic-keyword-boundary.d.ts +9 -0
- package/dist/types/prompt/magic-keywords.d.ts +26 -0
- package/dist/types/prompt/markdown-prose.d.ts +15 -0
- package/dist/types/prompt/model-mention-autocomplete.d.ts +25 -0
- package/dist/types/prompt/model-mention-syntax.d.ts +24 -0
- package/dist/types/prompt/orchestrate.d.ts +13 -0
- package/dist/types/prompt/prompt-action-autocomplete.d.ts +56 -0
- package/dist/types/prompt/queue-input.d.ts +8 -0
- package/dist/types/prompt/skill-tokens.d.ts +13 -0
- package/dist/types/prompt/tools-markdown.d.ts +12 -0
- package/dist/types/prompt/ultrathink.d.ts +13 -0
- package/dist/types/prompt/usage-amounts.d.ts +26 -0
- package/dist/types/prompt/video.d.ts +18 -0
- package/dist/types/prompt/welcome.d.ts +83 -0
- package/dist/types/prompt/workflow.d.ts +13 -0
- package/dist/types/render/code-cell.d.ts +51 -0
- package/dist/types/render/file-list.d.ts +22 -0
- package/dist/types/render/hyperlink.d.ts +80 -0
- package/dist/types/render/index.d.ts +16 -0
- package/dist/types/render/output-block.d.ts +54 -0
- package/dist/types/render/output-pane.d.ts +80 -0
- package/dist/types/render/render-utils.d.ts +312 -0
- package/dist/types/render/sixel.d.ts +21 -0
- package/dist/types/render/status-line.d.ts +23 -0
- package/dist/types/render/tool-card.d.ts +71 -0
- package/dist/types/render/tree-list.d.ts +29 -0
- package/dist/types/render/types.d.ts +17 -0
- package/dist/types/render/utils.d.ts +43 -0
- package/dist/types/render/width-aware-text.d.ts +23 -0
- package/dist/types/setup/lazy.d.ts +3 -0
- package/dist/types/setup/scenes/composer.d.ts +3 -0
- package/dist/types/setup/scenes/glyph.d.ts +3 -0
- package/dist/types/setup/scenes/model.d.ts +3 -0
- package/dist/types/setup/scenes/outro.d.ts +2 -0
- package/dist/types/setup/scenes/providers.d.ts +3 -0
- package/dist/types/setup/scenes/sign-in.d.ts +21 -0
- package/dist/types/setup/scenes/splash.d.ts +11 -0
- package/dist/types/setup/scenes/theme.d.ts +3 -0
- package/dist/types/setup/scenes/types.d.ts +110 -0
- package/dist/types/setup/scenes/web-search.d.ts +22 -0
- package/dist/types/setup/setup-version.d.ts +11 -0
- package/dist/types/setup/startup-splash.d.ts +9 -0
- package/dist/types/setup/wizard-overlay.d.ts +16 -0
- package/dist/types/setup/wizard.d.ts +25 -0
- package/dist/types/status-line/component.d.ts +182 -0
- package/dist/types/status-line/context-usage.d.ts +156 -0
- package/dist/types/status-line/footer.d.ts +30 -0
- package/dist/types/status-line/git-utils.d.ts +22 -0
- package/dist/types/status-line/host.d.ts +129 -0
- package/dist/types/status-line/index.d.ts +6 -0
- package/dist/types/status-line/loop.d.ts +18 -0
- package/dist/types/status-line/metrics.d.ts +21 -0
- package/dist/types/status-line/presets.d.ts +3 -0
- package/dist/types/status-line/schema.d.ts +15 -0
- package/dist/types/status-line/segments.d.ts +5 -0
- package/dist/types/status-line/separators.d.ts +3 -0
- package/dist/types/status-line/types.d.ts +236 -0
- package/dist/types/stdin-buffer.d.ts +4 -0
- package/dist/types/theme/color.d.ts +24 -0
- package/dist/types/theme/defaults/index.d.ts +9489 -0
- package/dist/types/theme/index.d.ts +4 -0
- package/dist/types/theme/loader.d.ts +23 -0
- package/dist/types/theme/mermaid-cache.d.ts +26 -0
- package/dist/types/theme/schema-validation.d.ts +3 -0
- package/dist/types/theme/schema.d.ts +25 -0
- package/dist/types/theme/session-color.d.ts +43 -0
- package/dist/types/theme/shimmer.d.ts +44 -0
- package/dist/types/theme/symbols.d.ts +34 -0
- package/dist/types/theme/theme-class.d.ts +299 -0
- package/dist/types/theme/theme.d.ts +111 -0
- package/dist/types/theme/tui-adapters.d.ts +30 -0
- package/dist/types/thinking.d.ts +165 -0
- package/dist/types/tools/agent-tree.d.ts +36 -0
- package/dist/types/tools/ask.d.ts +67 -0
- package/dist/types/tools/ast-edit.d.ts +53 -0
- package/dist/types/tools/ast-grep.d.ts +52 -0
- package/dist/types/tools/autoresearch.d.ts +156 -0
- package/dist/types/tools/bash-interactive.d.ts +28 -0
- package/dist/types/tools/bash.d.ts +103 -0
- package/dist/types/tools/conflict-detect.d.ts +43 -0
- package/dist/types/tools/debug.d.ts +60 -0
- package/dist/types/tools/default-renderer.d.ts +24 -0
- package/dist/types/tools/edit.d.ts +158 -0
- package/dist/types/tools/eval-format/code-mode-declarations.d.ts +5 -0
- package/dist/types/tools/eval-format/index.d.ts +5 -0
- package/dist/types/tools/eval-format/javascript.d.ts +2 -0
- package/dist/types/tools/eval-format/python.d.ts +2 -0
- package/dist/types/tools/eval.d.ts +94 -0
- package/dist/types/tools/fetch.d.ts +42 -0
- package/dist/types/tools/gh-format.d.ts +8 -0
- package/dist/types/tools/github.d.ts +144 -0
- package/dist/types/tools/glob.d.ts +44 -0
- package/dist/types/tools/goal.d.ts +42 -0
- package/dist/types/tools/grep.d.ts +64 -0
- package/dist/types/tools/grouped-file-output.d.ts +71 -0
- package/dist/types/tools/hashline-format.d.ts +28 -0
- package/dist/types/tools/hub.d.ts +340 -0
- package/dist/types/tools/index.d.ts +4 -0
- package/dist/types/tools/json-tree.d.ts +59 -0
- package/dist/types/tools/line-ranges.d.ts +29 -0
- package/dist/types/tools/list-limit.d.ts +15 -0
- package/dist/types/tools/lsp.d.ts +72 -0
- package/dist/types/tools/match-line-format.d.ts +11 -0
- package/dist/types/tools/mcp.d.ts +81 -0
- package/dist/types/tools/memory.d.ts +67 -0
- package/dist/types/tools/output-meta.d.ts +151 -0
- package/dist/types/tools/read.d.ts +139 -0
- package/dist/types/tools/renderer.d.ts +98 -0
- package/dist/types/tools/report-tool-issue.d.ts +8 -0
- package/dist/types/tools/resolve.d.ts +47 -0
- package/dist/types/tools/streaming-output.d.ts +282 -0
- package/dist/types/tools/subprocess.d.ts +24 -0
- package/dist/types/tools/task-repair-args.d.ts +53 -0
- package/dist/types/tools/task-yield-assembly.d.ts +20 -0
- package/dist/types/tools/task.d.ts +425 -0
- package/dist/types/tools/terminal-output.d.ts +8 -0
- package/dist/types/tools/think.d.ts +13 -0
- package/dist/types/tools/todo.d.ts +118 -0
- package/dist/types/tools/tool-errors.d.ts +7 -0
- package/dist/types/tools/vibe.d.ts +120 -0
- package/dist/types/tools/web-search.d.ts +195 -0
- package/dist/types/tools/write.d.ts +76 -0
- package/dist/types/tools/xd-url.d.ts +13 -0
- package/dist/types/tools/xdev.d.ts +52 -0
- package/dist/types/tui.d.ts +18 -0
- package/dist/types/utils.d.ts +2 -0
- package/package.json +37 -3
- package/src/app-keybindings.ts +760 -0
- package/src/apps/autoresearch-dashboard.ts +500 -0
- package/src/apps/autoresearch-data.ts +64 -0
- package/src/apps/cleanse-board.ts +341 -0
- package/src/apps/cleanse-picker.ts +57 -0
- package/src/apps/debug/log-formatting.ts +53 -0
- package/src/apps/debug/log-viewer.ts +868 -0
- package/src/apps/debug/protocol-probe.ts +267 -0
- package/src/apps/debug/raw-sse-buffer.ts +449 -0
- package/src/apps/debug/raw-sse.ts +282 -0
- package/src/apps/debug/terminal-info.ts +115 -0
- package/src/apps/debug/viewer-frame.ts +174 -0
- package/src/apps/git/avatar.ts +52 -0
- package/src/apps/git/colors.ts +109 -0
- package/src/apps/git/diff-pane.ts +1512 -0
- package/src/apps/git/git-tui.ts +889 -0
- package/src/apps/git/sidebar.ts +1204 -0
- package/src/apps/git/state.ts +113 -0
- package/src/apps/if-bench-board.ts +324 -0
- package/src/apps/live-visualizer.ts +238 -0
- package/src/apps/ps-data.ts +116 -0
- package/src/apps/ps-top.ts +422 -0
- package/src/apps/session-picker.ts +95 -0
- package/src/apps/setup-model-picker.ts +21 -0
- package/src/apps/standalone-picker.ts +111 -0
- package/src/autocomplete.ts +9 -13
- package/src/chat/advisor-message.ts +175 -0
- package/src/chat/assistant-message.ts +1214 -0
- package/src/chat/background-tan-message.ts +35 -0
- package/src/chat/bash-execution.ts +394 -0
- package/src/chat/cache-invalidation-marker.ts +94 -0
- package/src/chat/chat-transcript-builder.ts +593 -0
- package/src/chat/collab-prompt-message.ts +34 -0
- package/src/chat/compaction-summary-message.ts +261 -0
- package/src/chat/custom-message.ts +23 -0
- package/src/chat/display-preferences.ts +24 -0
- package/src/chat/eval-execution.ts +172 -0
- package/src/chat/execution-shared.ts +113 -0
- package/src/chat/extension-types.ts +46 -0
- package/src/chat/hook-message.ts +20 -0
- package/src/chat/image-loading.ts +122 -0
- package/src/chat/late-diagnostics-message.ts +92 -0
- package/src/chat/messages.ts +305 -0
- package/src/chat/reaction.ts +65 -0
- package/src/chat/read-target.ts +7 -0
- package/src/chat/read-tool-group.ts +873 -0
- package/src/chat/served-model-marker.ts +91 -0
- package/src/chat/skill-message.ts +220 -0
- package/src/chat/skill-title-input.ts +41 -0
- package/src/chat/stripped-tool-calls-placeholder.ts +35 -0
- package/src/chat/thinking-display.ts +312 -0
- package/src/chat/todo-reminder.ts +33 -0
- package/src/chat/tool-execution.ts +1395 -0
- package/src/chat/transcript-browser.ts +268 -0
- package/src/chat/transcript-entry.ts +96 -0
- package/src/chat/transcript-outline.ts +260 -0
- package/src/chat/transcript-render-helpers.ts +315 -0
- package/src/chat/ttsr-notification.ts +123 -0
- package/src/chat/user-message.ts +287 -0
- package/src/chrome/chat-block.ts +110 -0
- package/src/chrome/collab-qrcode.ts +74 -0
- package/src/chrome/context-thresholds.ts +85 -0
- package/src/chrome/countdown-timer.ts +74 -0
- package/src/chrome/diff.ts +266 -0
- package/src/chrome/dynamic-border.ts +36 -0
- package/src/chrome/error-block.ts +63 -0
- package/src/chrome/form-theme.ts +10 -0
- package/src/chrome/format.ts +66 -0
- package/src/chrome/index.ts +21 -0
- package/src/chrome/keybinding-hints.ts +55 -0
- package/src/chrome/live-board.ts +123 -0
- package/src/chrome/local-date.ts +20 -0
- package/src/chrome/message-divider.ts +51 -0
- package/src/chrome/message-frame.ts +164 -0
- package/src/chrome/message-notice.ts +103 -0
- package/src/chrome/overlay-box.ts +301 -0
- package/src/chrome/qrcode.ts +539 -0
- package/src/chrome/segment-track.ts +86 -0
- package/src/chrome/select-list-mouse-routing.ts +11 -0
- package/src/chrome/selector-helpers.ts +119 -0
- package/src/chrome/shared.ts +27 -0
- package/src/chrome/streaming-panel.ts +72 -0
- package/src/chrome/tool-activity.ts +44 -0
- package/src/chrome/transcript-container.ts +902 -0
- package/src/chrome/transcript-status.ts +27 -0
- package/src/chrome/visual-truncate.ts +70 -0
- package/src/components/disclosure.ts +235 -0
- package/src/components/editor.ts +10 -12
- package/src/components/form.ts +566 -0
- package/src/components/input.ts +6 -27
- package/src/components/key-value-list.ts +88 -0
- package/src/components/layout/geometry.ts +202 -0
- package/src/components/layout/row.ts +283 -0
- package/src/components/layout/split-pane.ts +349 -0
- package/src/components/layout/stack.ts +261 -0
- package/src/components/markdown.ts +16 -12
- package/src/components/menu-selection.ts +248 -0
- package/src/components/metric.ts +132 -0
- package/src/components/progress-bar.ts +140 -0
- package/src/components/scroll-view.ts +372 -70
- package/src/components/scroll-viewport.ts +154 -0
- package/src/components/section.ts +77 -0
- package/src/components/select-list.ts +238 -159
- package/src/components/settings-list.ts +103 -80
- package/src/components/table.ts +127 -0
- package/src/components/tree-view.ts +481 -0
- package/src/components/wizard-step.ts +229 -0
- package/src/deccara.ts +1 -3
- package/src/hotkeys-markdown.ts +100 -0
- package/src/index.ts +18 -0
- package/src/keybinding-matchers.ts +99 -0
- package/src/keys.ts +2 -2
- package/src/lang-from-path.ts +252 -0
- package/src/overlays/advisor-config.ts +761 -0
- package/src/overlays/agent-activity.ts +113 -0
- package/src/overlays/agent-hub-projection.ts +250 -0
- package/src/overlays/agent-hub-renderer.ts +281 -0
- package/src/overlays/agent-hub-types.ts +74 -0
- package/src/overlays/agent-hub.ts +1562 -0
- package/src/overlays/agent-transcript-viewer.ts +669 -0
- package/src/overlays/agents-hub.ts +1203 -0
- package/src/overlays/ask-dialog.ts +1202 -0
- package/src/overlays/bordered-loader.ts +41 -0
- package/src/overlays/btw-history-panel.ts +591 -0
- package/src/overlays/btw-history.ts +33 -0
- package/src/overlays/btw-panel.ts +167 -0
- package/src/overlays/cleanse-panel.ts +167 -0
- package/src/overlays/codex-reset-fireworks.ts +375 -0
- package/src/overlays/composer-shape-preview.ts +137 -0
- package/src/overlays/composer-shape-registry.ts +82 -0
- package/src/overlays/copy-selector.ts +618 -0
- package/src/overlays/copy-targets.ts +210 -0
- package/src/overlays/error-banner.ts +39 -0
- package/src/overlays/extensions/display-text.ts +39 -0
- package/src/overlays/extensions/extension-dashboard.ts +645 -0
- package/src/overlays/extensions/extension-list.ts +667 -0
- package/src/overlays/extensions/inspector-model.ts +484 -0
- package/src/overlays/extensions/inspector-panel.ts +669 -0
- package/src/overlays/extensions/live-tool-session.ts +67 -0
- package/src/overlays/extensions/mcp-runtime.ts +289 -0
- package/src/overlays/extensions/state-manager.ts +337 -0
- package/src/overlays/extensions/types.ts +208 -0
- package/src/overlays/history-search.ts +268 -0
- package/src/overlays/hook-editor.ts +272 -0
- package/src/overlays/hook-input.ts +84 -0
- package/src/overlays/hook-selector.ts +635 -0
- package/src/overlays/hub-frame.ts +262 -0
- package/src/overlays/login-dialog.ts +231 -0
- package/src/overlays/logout-account-selector.ts +115 -0
- package/src/overlays/mcp-add-wizard.ts +1436 -0
- package/src/overlays/model-browser.ts +1176 -0
- package/src/overlays/model-hub.ts +2279 -0
- package/src/overlays/model-picker.ts +285 -0
- package/src/overlays/model-selector.ts +107 -0
- package/src/overlays/move-overlay.ts +197 -0
- package/src/overlays/oauth-selector.ts +446 -0
- package/src/overlays/omfg-panel.ts +136 -0
- package/src/overlays/pause-screen.ts +198 -0
- package/src/overlays/plan-review-overlay.ts +1227 -0
- package/src/overlays/plan-save-overlay.ts +74 -0
- package/src/overlays/plan-toc.ts +139 -0
- package/src/overlays/plugin-selector.ts +97 -0
- package/src/overlays/plugin-settings.ts +839 -0
- package/src/overlays/queue-mode-selector.ts +55 -0
- package/src/overlays/reset-usage-selector.ts +170 -0
- package/src/overlays/rewind-selector.ts +499 -0
- package/src/overlays/running-subagent-badge.ts +19 -0
- package/src/overlays/session-account-selector.ts +68 -0
- package/src/overlays/session-info-overlay.ts +96 -0
- package/src/overlays/session-observer-registry.ts +289 -0
- package/src/overlays/session-selector.ts +1137 -0
- package/src/overlays/settings-defs.ts +315 -0
- package/src/overlays/settings-selector.ts +1415 -0
- package/src/overlays/show-images-selector.ts +44 -0
- package/src/overlays/snapcompact-shape-preview-doc.md +14 -0
- package/src/overlays/snapcompact-shape-preview.ts +192 -0
- package/src/overlays/theme-selector.ts +62 -0
- package/src/overlays/thinking-selector.ts +51 -0
- package/src/overlays/tiny-title-download-progress.ts +102 -0
- package/src/overlays/tree-selector.ts +1121 -0
- package/src/overlays/usage-dashboard.ts +629 -0
- package/src/overlays/usage-display.ts +45 -0
- package/src/overlays/usage-row.ts +118 -0
- package/src/prompt/attachment-chips.ts +201 -0
- package/src/prompt/composer-attachments.ts +280 -0
- package/src/prompt/composer-cache.ts +304 -0
- package/src/prompt/composer.ts +934 -0
- package/src/prompt/custom-editor.ts +1392 -0
- package/src/prompt/data/emojis.json +1 -0
- package/src/prompt/editor-top-gap.ts +28 -0
- package/src/prompt/emoji-autocomplete.ts +285 -0
- package/src/prompt/github-ref-autocomplete.ts +75 -0
- package/src/prompt/gradient-highlight.ts +101 -0
- package/src/prompt/image-format.ts +28 -0
- package/src/prompt/image-references.ts +102 -0
- package/src/prompt/interactive-context-helpers.ts +126 -0
- package/src/prompt/internal-url-autocomplete.ts +155 -0
- package/src/prompt/macos-spelling.ts +456 -0
- package/src/prompt/magic-keyword-boundary.ts +23 -0
- package/src/prompt/magic-keywords.ts +42 -0
- package/src/prompt/markdown-prose.ts +245 -0
- package/src/prompt/model-mention-autocomplete.ts +94 -0
- package/src/prompt/model-mention-syntax.ts +41 -0
- package/src/prompt/orchestrate.ts +26 -0
- package/src/prompt/prompt-action-autocomplete.ts +337 -0
- package/src/prompt/queue-input.ts +132 -0
- package/src/prompt/skill-tokens.ts +36 -0
- package/src/prompt/tips.txt +27 -0
- package/src/prompt/tools-markdown.ts +29 -0
- package/src/prompt/ultrathink.ts +26 -0
- package/src/prompt/usage-amounts.ts +99 -0
- package/src/prompt/video.ts +47 -0
- package/src/prompt/welcome.ts +605 -0
- package/src/prompt/workflow.ts +26 -0
- package/src/render/code-cell.ts +244 -0
- package/src/render/file-list.ts +58 -0
- package/src/render/hyperlink.ts +192 -0
- package/src/render/index.ts +17 -0
- package/src/render/output-block.ts +267 -0
- package/src/render/output-pane.ts +299 -0
- package/src/render/render-utils.ts +1182 -0
- package/src/render/sixel.ts +69 -0
- package/src/render/status-line.ts +55 -0
- package/src/render/tool-card.ts +272 -0
- package/src/render/tree-list.ts +188 -0
- package/src/render/types.ts +19 -0
- package/src/render/utils.ts +109 -0
- package/src/render/width-aware-text.ts +60 -0
- package/src/setup/lazy.ts +17 -0
- package/src/setup/scenes/composer.ts +127 -0
- package/src/setup/scenes/glyph.ts +120 -0
- package/src/setup/scenes/model.ts +138 -0
- package/src/setup/scenes/outro.ts +24 -0
- package/src/setup/scenes/providers.ts +107 -0
- package/src/setup/scenes/sign-in.ts +373 -0
- package/src/setup/scenes/splash.ts +192 -0
- package/src/setup/scenes/theme.ts +343 -0
- package/src/setup/scenes/types.ts +111 -0
- package/src/setup/scenes/web-search.ts +165 -0
- package/src/setup/setup-version.ts +11 -0
- package/src/setup/startup-splash.ts +107 -0
- package/src/setup/wizard-overlay.ts +319 -0
- package/src/setup/wizard.ts +101 -0
- package/src/status-line/component.ts +3003 -0
- package/src/status-line/context-usage.ts +688 -0
- package/src/status-line/footer.ts +323 -0
- package/src/status-line/git-utils.ts +42 -0
- package/src/status-line/host.ts +97 -0
- package/src/status-line/index.ts +6 -0
- package/src/status-line/loop.ts +28 -0
- package/src/status-line/metrics.ts +94 -0
- package/src/status-line/presets.ts +107 -0
- package/src/status-line/schema.ts +57 -0
- package/src/status-line/segments.ts +934 -0
- package/src/status-line/separators.ts +55 -0
- package/src/status-line/types.ts +227 -0
- package/src/stdin-buffer.ts +4 -2
- package/src/theme/color.ts +95 -0
- package/src/theme/dark.json +95 -0
- package/src/theme/defaults/alabaster.json +93 -0
- package/src/theme/defaults/amethyst.json +96 -0
- package/src/theme/defaults/anthracite.json +93 -0
- package/src/theme/defaults/basalt.json +91 -0
- package/src/theme/defaults/birch.json +95 -0
- package/src/theme/defaults/dark-abyss.json +91 -0
- package/src/theme/defaults/dark-arctic.json +104 -0
- package/src/theme/defaults/dark-aurora.json +95 -0
- package/src/theme/defaults/dark-catppuccin.json +107 -0
- package/src/theme/defaults/dark-cavern.json +91 -0
- package/src/theme/defaults/dark-celestial.json +106 -0
- package/src/theme/defaults/dark-copper.json +95 -0
- package/src/theme/defaults/dark-cosmos.json +90 -0
- package/src/theme/defaults/dark-cyberpunk.json +102 -0
- package/src/theme/defaults/dark-dracula.json +98 -0
- package/src/theme/defaults/dark-eclipse.json +91 -0
- package/src/theme/defaults/dark-ember.json +95 -0
- package/src/theme/defaults/dark-equinox.json +90 -0
- package/src/theme/defaults/dark-forest.json +96 -0
- package/src/theme/defaults/dark-github.json +105 -0
- package/src/theme/defaults/dark-gruvbox.json +112 -0
- package/src/theme/defaults/dark-lavender.json +95 -0
- package/src/theme/defaults/dark-lunar.json +89 -0
- package/src/theme/defaults/dark-midnight.json +95 -0
- package/src/theme/defaults/dark-monochrome.json +94 -0
- package/src/theme/defaults/dark-monokai.json +98 -0
- package/src/theme/defaults/dark-nebula.json +90 -0
- package/src/theme/defaults/dark-nord.json +98 -0
- package/src/theme/defaults/dark-ocean.json +101 -0
- package/src/theme/defaults/dark-one.json +100 -0
- package/src/theme/defaults/dark-poimandres.json +115 -0
- package/src/theme/defaults/dark-rainforest.json +91 -0
- package/src/theme/defaults/dark-reef.json +91 -0
- package/src/theme/defaults/dark-retro.json +92 -0
- package/src/theme/defaults/dark-rose-pine.json +96 -0
- package/src/theme/defaults/dark-sakura.json +95 -0
- package/src/theme/defaults/dark-slate.json +95 -0
- package/src/theme/defaults/dark-solarized.json +97 -0
- package/src/theme/defaults/dark-solstice.json +90 -0
- package/src/theme/defaults/dark-starfall.json +91 -0
- package/src/theme/defaults/dark-sunset.json +99 -0
- package/src/theme/defaults/dark-swamp.json +90 -0
- package/src/theme/defaults/dark-synthwave.json +103 -0
- package/src/theme/defaults/dark-taiga.json +91 -0
- package/src/theme/defaults/dark-terminal.json +95 -0
- package/src/theme/defaults/dark-tokyo-night.json +101 -0
- package/src/theme/defaults/dark-tundra.json +91 -0
- package/src/theme/defaults/dark-twilight.json +91 -0
- package/src/theme/defaults/dark-volcanic.json +91 -0
- package/src/theme/defaults/graphite.json +92 -0
- package/src/theme/defaults/index.ts +201 -0
- package/src/theme/defaults/light-arctic.json +107 -0
- package/src/theme/defaults/light-aurora-day.json +91 -0
- package/src/theme/defaults/light-canyon.json +91 -0
- package/src/theme/defaults/light-catppuccin.json +106 -0
- package/src/theme/defaults/light-cirrus.json +90 -0
- package/src/theme/defaults/light-coral.json +95 -0
- package/src/theme/defaults/light-cyberpunk.json +96 -0
- package/src/theme/defaults/light-dawn.json +90 -0
- package/src/theme/defaults/light-dunes.json +91 -0
- package/src/theme/defaults/light-eucalyptus.json +95 -0
- package/src/theme/defaults/light-forest.json +100 -0
- package/src/theme/defaults/light-frost.json +95 -0
- package/src/theme/defaults/light-github.json +115 -0
- package/src/theme/defaults/light-glacier.json +91 -0
- package/src/theme/defaults/light-gruvbox.json +108 -0
- package/src/theme/defaults/light-haze.json +90 -0
- package/src/theme/defaults/light-honeycomb.json +95 -0
- package/src/theme/defaults/light-lagoon.json +91 -0
- package/src/theme/defaults/light-lavender.json +95 -0
- package/src/theme/defaults/light-meadow.json +91 -0
- package/src/theme/defaults/light-mint.json +95 -0
- package/src/theme/defaults/light-monochrome.json +101 -0
- package/src/theme/defaults/light-ocean.json +99 -0
- package/src/theme/defaults/light-one.json +99 -0
- package/src/theme/defaults/light-opal.json +91 -0
- package/src/theme/defaults/light-orchard.json +91 -0
- package/src/theme/defaults/light-paper.json +95 -0
- package/src/theme/defaults/light-poimandres.json +115 -0
- package/src/theme/defaults/light-prism.json +90 -0
- package/src/theme/defaults/light-retro.json +98 -0
- package/src/theme/defaults/light-sand.json +95 -0
- package/src/theme/defaults/light-savanna.json +91 -0
- package/src/theme/defaults/light-solarized.json +102 -0
- package/src/theme/defaults/light-soleil.json +90 -0
- package/src/theme/defaults/light-sunset.json +99 -0
- package/src/theme/defaults/light-synthwave.json +98 -0
- package/src/theme/defaults/light-tokyo-night.json +111 -0
- package/src/theme/defaults/light-wetland.json +91 -0
- package/src/theme/defaults/light-zenith.json +89 -0
- package/src/theme/defaults/limestone.json +94 -0
- package/src/theme/defaults/mahogany.json +97 -0
- package/src/theme/defaults/marble.json +93 -0
- package/src/theme/defaults/obsidian.json +91 -0
- package/src/theme/defaults/onyx.json +91 -0
- package/src/theme/defaults/pearl.json +93 -0
- package/src/theme/defaults/porcelain.json +91 -0
- package/src/theme/defaults/quartz.json +96 -0
- package/src/theme/defaults/sandstone.json +95 -0
- package/src/theme/defaults/titanium.json +90 -0
- package/src/theme/index.ts +5 -0
- package/src/theme/light.json +93 -0
- package/src/theme/loader.ts +200 -0
- package/src/theme/mermaid-cache.ts +92 -0
- package/src/theme/schema-validation.ts +119 -0
- package/src/theme/schema.ts +168 -0
- package/src/theme/session-color.ts +253 -0
- package/src/theme/shimmer.ts +307 -0
- package/src/theme/symbols.ts +1433 -0
- package/src/theme/theme-class.ts +787 -0
- package/src/theme/theme-schema.json +463 -0
- package/src/theme/theme.ts +810 -0
- package/src/theme/tui-adapters.ts +339 -0
- package/src/thinking.ts +380 -0
- package/src/tools/agent-tree.ts +128 -0
- package/src/tools/ask.ts +482 -0
- package/src/tools/ast-edit.ts +210 -0
- package/src/tools/ast-grep.ts +171 -0
- package/src/tools/autoresearch.ts +287 -0
- package/src/tools/bash-interactive.ts +295 -0
- package/src/tools/bash.ts +468 -0
- package/src/tools/conflict-detect.ts +77 -0
- package/src/tools/debug.ts +167 -0
- package/src/tools/default-renderer.ts +172 -0
- package/src/tools/edit.ts +1258 -0
- package/src/tools/eval-format/code-mode-declarations.ts +61 -0
- package/src/tools/eval-format/index.ts +16 -0
- package/src/tools/eval-format/javascript.ts +952 -0
- package/src/tools/eval-format/python.ts +544 -0
- package/src/tools/eval.ts +835 -0
- package/src/tools/fetch.ts +226 -0
- package/src/tools/gh-format.ts +18 -0
- package/src/tools/github.ts +686 -0
- package/src/tools/glob.ts +213 -0
- package/src/tools/goal.ts +153 -0
- package/src/tools/grep.ts +385 -0
- package/src/tools/grouped-file-output.ts +211 -0
- package/src/tools/hashline-format.ts +59 -0
- package/src/tools/hub.ts +1488 -0
- package/src/tools/index.ts +71 -0
- package/src/tools/json-tree.ts +388 -0
- package/src/tools/line-ranges.ts +98 -0
- package/src/tools/list-limit.ts +43 -0
- package/src/tools/lsp.ts +702 -0
- package/src/tools/match-line-format.ts +20 -0
- package/src/tools/mcp.ts +309 -0
- package/src/tools/memory.ts +220 -0
- package/src/tools/output-meta.ts +367 -0
- package/src/tools/read.ts +628 -0
- package/src/tools/renderer.ts +107 -0
- package/src/tools/report-tool-issue.ts +13 -0
- package/src/tools/resolve.ts +139 -0
- package/src/tools/streaming-output.ts +1576 -0
- package/src/tools/subprocess.ts +39 -0
- package/src/tools/task-repair-args.ts +118 -0
- package/src/tools/task-yield-assembly.ts +147 -0
- package/src/tools/task.ts +2110 -0
- package/src/tools/terminal-output.ts +153 -0
- package/src/tools/think.ts +28 -0
- package/src/tools/todo.ts +580 -0
- package/src/tools/tool-errors.ts +15 -0
- package/src/tools/vibe.ts +420 -0
- package/src/tools/web-search.ts +409 -0
- package/src/tools/write.ts +511 -0
- package/src/tools/xd-url.ts +28 -0
- package/src/tools/xdev.ts +201 -0
- package/src/tui.ts +57 -4
- package/src/utils.ts +8 -0
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
import type { AgentToolUpdateCallback } from "@oh-my-pi/pi-agent-core";
|
|
2
|
+
/** Default maximum number of inline output lines. */
|
|
3
|
+
export declare const DEFAULT_MAX_LINES = 3000;
|
|
4
|
+
/** Default inline output budget in UTF-8 bytes. */
|
|
5
|
+
export declare const DEFAULT_MAX_BYTES: number;
|
|
6
|
+
/** Default UTF-8 byte budget per match line. */
|
|
7
|
+
export declare const DEFAULT_MAX_COLUMN = 512;
|
|
8
|
+
/**
|
|
9
|
+
* Default artifact-on-disk cap for {@link OutputSink}.
|
|
10
|
+
*
|
|
11
|
+
* `0` means unbounded: by default, `artifact://<id>` references preserve the
|
|
12
|
+
* complete raw stream instead of a capped head/tail sample.
|
|
13
|
+
*/
|
|
14
|
+
export declare const ARTIFACT_DEFAULT_MAX_BYTES = 0;
|
|
15
|
+
/** Default head budget; the remainder becomes the rolling tail window. */
|
|
16
|
+
export declare const ARTIFACT_DEFAULT_HEAD_BYTES: number;
|
|
17
|
+
/** First failed artifact I/O operation; safe to persist without exposing filesystem errors. */
|
|
18
|
+
export type OutputArtifactError = "open" | "write" | "flush" | "end";
|
|
19
|
+
/** Captured output with inline truncation and artifact storage metadata. */
|
|
20
|
+
export interface OutputSummary {
|
|
21
|
+
output: string;
|
|
22
|
+
truncated: boolean;
|
|
23
|
+
totalLines: number;
|
|
24
|
+
totalBytes: number;
|
|
25
|
+
outputLines: number;
|
|
26
|
+
outputBytes: number;
|
|
27
|
+
/** Bytes elided from the middle when head-retain mode is active. */
|
|
28
|
+
elidedBytes?: number;
|
|
29
|
+
/** Lines elided from the middle when head-retain mode is active. */
|
|
30
|
+
elidedLines?: number;
|
|
31
|
+
/** Bytes dropped by the per-line column cap (sum across all lines). */
|
|
32
|
+
columnDroppedBytes?: number;
|
|
33
|
+
/** Number of distinct lines that hit the per-line column cap. */
|
|
34
|
+
columnTruncatedLines?: number;
|
|
35
|
+
/** Configured per-line column cap in effect (UTF-8 bytes), when > 0. */
|
|
36
|
+
columnMax?: number;
|
|
37
|
+
/** Artifact ID for internal URL access (artifact://<id>) when truncated */
|
|
38
|
+
artifactId?: string;
|
|
39
|
+
/** Full raw output was not completely saved; artifactId is unavailable. */
|
|
40
|
+
artifactError?: OutputArtifactError;
|
|
41
|
+
}
|
|
42
|
+
/** Inline capture, artifact storage, and streaming callback options. */
|
|
43
|
+
export interface OutputSinkOptions {
|
|
44
|
+
artifactPath?: string;
|
|
45
|
+
artifactId?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Total inline body budget (bytes). Default DEFAULT_MAX_BYTES. The head
|
|
48
|
+
* window and rolling tail window share this budget, so a composed
|
|
49
|
+
* `dump()` body never exceeds it (plus the elision marker).
|
|
50
|
+
*/
|
|
51
|
+
spillThreshold?: number;
|
|
52
|
+
/**
|
|
53
|
+
* When > 0, the sink keeps the first `headBytes` of output in addition to
|
|
54
|
+
* the rolling tail window. Output between the two windows is elided
|
|
55
|
+
* (middle elision). Clamped to `spillThreshold / 2` so the tail keeps at
|
|
56
|
+
* least half the inline budget. Default 0 = tail-only behavior.
|
|
57
|
+
*/
|
|
58
|
+
headBytes?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Per-line byte cap. When > 0, lines wider than `maxColumns` bytes are
|
|
61
|
+
* truncated with an ellipsis at write time; remaining bytes up to the next
|
|
62
|
+
* `\n` are dropped. Cap state persists across chunks so split-mid-line
|
|
63
|
+
* writes still respect the budget. Default 0 = no per-line cap.
|
|
64
|
+
*/
|
|
65
|
+
maxColumns?: number;
|
|
66
|
+
onChunk?: (chunk: string) => void;
|
|
67
|
+
/** Minimum ms between onChunk calls. 0 = every chunk (default). */
|
|
68
|
+
chunkThrottleMs?: number;
|
|
69
|
+
/**
|
|
70
|
+
* Optional cap on bytes written to the artifact-on-disk file. When the cap
|
|
71
|
+
* is hit, the head window is preserved verbatim and subsequent output feeds
|
|
72
|
+
* a rolling tail window; on close, the sink writes a single
|
|
73
|
+
* `[ARTIFACT TRUNCATED: …]` notice between them. Default
|
|
74
|
+
* {@link ARTIFACT_DEFAULT_MAX_BYTES} (unbounded).
|
|
75
|
+
*/
|
|
76
|
+
artifactMaxBytes?: number;
|
|
77
|
+
/**
|
|
78
|
+
* Bytes reserved for the head window of the capped artifact file. The
|
|
79
|
+
* tail window receives `artifactMaxBytes - artifactHeadBytes`. Default
|
|
80
|
+
* {@link ARTIFACT_DEFAULT_HEAD_BYTES}; clamped to `[0, artifactMaxBytes]`.
|
|
81
|
+
*/
|
|
82
|
+
artifactHeadBytes?: number;
|
|
83
|
+
}
|
|
84
|
+
/** Retained text and measurements describing a truncated output window. */
|
|
85
|
+
export interface TruncationResult {
|
|
86
|
+
content: string;
|
|
87
|
+
truncated?: boolean;
|
|
88
|
+
truncatedBy?: "lines" | "bytes" | "middle";
|
|
89
|
+
totalLines: number;
|
|
90
|
+
totalBytes: number;
|
|
91
|
+
outputLines?: number;
|
|
92
|
+
outputBytes?: number;
|
|
93
|
+
/** Bytes elided from the middle (truncateMiddle only). */
|
|
94
|
+
elidedBytes?: number;
|
|
95
|
+
/** Lines elided from the middle (truncateMiddle only). */
|
|
96
|
+
elidedLines?: number;
|
|
97
|
+
/** Exact source-line counts retained before/after the middle marker. */
|
|
98
|
+
headLines?: number;
|
|
99
|
+
tailLines?: number;
|
|
100
|
+
/** True when either retained side is a partial byte range of a source line. */
|
|
101
|
+
partialByteWindows?: boolean;
|
|
102
|
+
/** True when the retained suffix ends with a partial final source line. */
|
|
103
|
+
lastLinePartial?: boolean;
|
|
104
|
+
firstLineExceedsLimit?: boolean;
|
|
105
|
+
}
|
|
106
|
+
/** Line and byte budgets for head, tail, or middle truncation. */
|
|
107
|
+
export interface TruncationOptions {
|
|
108
|
+
/** Maximum number of lines (default: 3000) */
|
|
109
|
+
maxLines?: number;
|
|
110
|
+
/** Maximum number of bytes (default: 50KB) */
|
|
111
|
+
maxBytes?: number;
|
|
112
|
+
/**
|
|
113
|
+
* For `truncateMiddle`: bytes reserved for the head window. The tail
|
|
114
|
+
* window receives `maxBytes - maxHeadBytes`. Default `floor(maxBytes/2)`.
|
|
115
|
+
*/
|
|
116
|
+
maxHeadBytes?: number;
|
|
117
|
+
/**
|
|
118
|
+
* For `truncateMiddle`: lines reserved for the head window. The tail
|
|
119
|
+
* window receives `maxLines - maxHeadLines`. Default `floor(maxLines/2)`.
|
|
120
|
+
*/
|
|
121
|
+
maxHeadLines?: number;
|
|
122
|
+
}
|
|
123
|
+
/** Result from byte-level truncation helpers. */
|
|
124
|
+
export interface ByteTruncationResult {
|
|
125
|
+
text: string;
|
|
126
|
+
bytes: number;
|
|
127
|
+
}
|
|
128
|
+
/** Context included in a notice for tail-retained output. */
|
|
129
|
+
export interface TailTruncationNoticeOptions {
|
|
130
|
+
fullOutputPath?: string;
|
|
131
|
+
originalContent?: string;
|
|
132
|
+
suffix?: string;
|
|
133
|
+
}
|
|
134
|
+
/** File coordinates included in a notice for head-retained output. */
|
|
135
|
+
export interface HeadTruncationNoticeOptions {
|
|
136
|
+
startLine?: number;
|
|
137
|
+
totalFileLines?: number;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Truncate a string/buffer to fit within a byte limit, keeping the tail.
|
|
141
|
+
* Handles multi-byte UTF-8 boundaries correctly.
|
|
142
|
+
*/
|
|
143
|
+
export declare function truncateTailBytes(data: string | Uint8Array, maxBytes: number): ByteTruncationResult;
|
|
144
|
+
/**
|
|
145
|
+
* Truncate a string/buffer to fit within a byte limit, keeping the head.
|
|
146
|
+
* Handles multi-byte UTF-8 boundaries correctly.
|
|
147
|
+
*/
|
|
148
|
+
export declare function truncateHeadBytes(data: string | Uint8Array, maxBytes: number): ByteTruncationResult;
|
|
149
|
+
/**
|
|
150
|
+
* Truncate a single line to max characters, appending '…' if truncated.
|
|
151
|
+
*/
|
|
152
|
+
export declare function truncateLine(line: string, maxChars?: number): {
|
|
153
|
+
text: string;
|
|
154
|
+
wasTruncated: boolean;
|
|
155
|
+
};
|
|
156
|
+
/**
|
|
157
|
+
* Truncate a single line to a UTF-8 byte budget, appending '…' if truncated.
|
|
158
|
+
* Mirrors the native grep `truncate_line` (reserves 3 bytes for the marker and
|
|
159
|
+
* cuts on a char boundary) so JS-side virtual-resource matches truncate in the
|
|
160
|
+
* same unit as on-disk matches from the Rust searcher.
|
|
161
|
+
*/
|
|
162
|
+
export declare function truncateLineBytes(line: string, maxBytes?: number): {
|
|
163
|
+
text: string;
|
|
164
|
+
wasTruncated: boolean;
|
|
165
|
+
};
|
|
166
|
+
/** Shared helper to build a no-truncation result. */
|
|
167
|
+
export declare function noTruncResult(content: string, totalLines?: number, totalBytes?: number): TruncationResult;
|
|
168
|
+
/**
|
|
169
|
+
* Truncate content from the head (keep first N lines/bytes).
|
|
170
|
+
* Never returns partial lines. If the first line exceeds the byte limit,
|
|
171
|
+
* returns empty content with firstLineExceedsLimit=true.
|
|
172
|
+
*
|
|
173
|
+
* This implementation avoids Buffer.from(content) for the whole input.
|
|
174
|
+
* It only computes UTF-8 byteLength for candidate lines that can still fit.
|
|
175
|
+
*/
|
|
176
|
+
export declare function truncateHead(content: string, options?: TruncationOptions): TruncationResult;
|
|
177
|
+
/**
|
|
178
|
+
* Truncate content from the tail (keep last N lines/bytes).
|
|
179
|
+
* May return a partial first line if the last line exceeds the byte limit.
|
|
180
|
+
*
|
|
181
|
+
* Also avoids Buffer.from(content) for the whole input.
|
|
182
|
+
*/
|
|
183
|
+
export declare function truncateTail(content: string, options?: TruncationOptions): TruncationResult;
|
|
184
|
+
/**
|
|
185
|
+
* Format the inline marker substituted for the elided middle region.
|
|
186
|
+
* Returned without surrounding newlines so callers can position it freely.
|
|
187
|
+
*/
|
|
188
|
+
export declare function formatMiddleElisionMarker(elidedLines: number, elidedBytes: number): string;
|
|
189
|
+
/**
|
|
190
|
+
* Truncate content keeping a head window and a tail window, eliding the middle.
|
|
191
|
+
*
|
|
192
|
+
* The combined output is `<head>\n<marker>\n<tail>` when truncation is needed.
|
|
193
|
+
* `maxHeadBytes` defaults to `floor(maxBytes / 2)`; the tail receives the
|
|
194
|
+
* remainder. Falls back to `truncateTail` / `truncateHead` if either side's
|
|
195
|
+
* budget is empty or the content already fits.
|
|
196
|
+
*/
|
|
197
|
+
export declare function truncateMiddle(content: string, options?: TruncationOptions): TruncationResult;
|
|
198
|
+
/** Options for {@link enforceInlineByteCap}. */
|
|
199
|
+
export interface InlineByteCapOptions {
|
|
200
|
+
/** Inline byte budget. Defaults to {@link DEFAULT_MAX_BYTES}. */
|
|
201
|
+
maxBytes?: number;
|
|
202
|
+
/**
|
|
203
|
+
* Persist the full text as a session artifact. When an artifact id is
|
|
204
|
+
* returned, a `[raw output: artifact://<id>]` footer is appended so the
|
|
205
|
+
* elided bytes stay recoverable.
|
|
206
|
+
*/
|
|
207
|
+
saveArtifact?: (full: string) => string | undefined | Promise<string | undefined>;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Final-defense inline size guard for tool results.
|
|
211
|
+
*
|
|
212
|
+
* No-op when `text` fits within `maxBytes` (the common path). Otherwise keeps
|
|
213
|
+
* ~60% of the budget from the head and ~25% from the tail — cut on line
|
|
214
|
+
* boundaries, never splitting a multi-byte UTF-8 sequence — with an elision
|
|
215
|
+
* marker between. The remaining ~15% is slack for the marker and the optional
|
|
216
|
+
* `[raw output: artifact://<id>]` footer, so the result stays under `maxBytes`.
|
|
217
|
+
*/
|
|
218
|
+
export declare function enforceInlineByteCap(text: string, options: InlineByteCapOptions): Promise<string>;
|
|
219
|
+
/** Byte-bounded rolling text window with lazy chunk joining. */
|
|
220
|
+
export declare class TailBuffer {
|
|
221
|
+
#private;
|
|
222
|
+
readonly maxBytes: number;
|
|
223
|
+
constructor(maxBytes: number);
|
|
224
|
+
append(text: string): void;
|
|
225
|
+
text(): string;
|
|
226
|
+
bytes(): number;
|
|
227
|
+
}
|
|
228
|
+
/** Captures bounded inline output while optionally preserving a full artifact. */
|
|
229
|
+
export declare class OutputSink {
|
|
230
|
+
#private;
|
|
231
|
+
constructor(options?: OutputSinkOptions);
|
|
232
|
+
/**
|
|
233
|
+
* Push a chunk of output. The buffer management and onChunk callback run
|
|
234
|
+
* synchronously. File sink writes are deferred and serialized internally.
|
|
235
|
+
*
|
|
236
|
+
* `inline` substitutes a bounded representation for the in-memory buffer and
|
|
237
|
+
* live preview while the complete chunk is mirrored to the artifact.
|
|
238
|
+
* `emitInline: false` keeps that representation out of the live callback.
|
|
239
|
+
*/
|
|
240
|
+
push(chunk: string, options?: {
|
|
241
|
+
inline?: string;
|
|
242
|
+
emitInline?: boolean;
|
|
243
|
+
}): void;
|
|
244
|
+
createInput(): WritableStream<Uint8Array | string>;
|
|
245
|
+
/**
|
|
246
|
+
* Replace the in-memory buffer with the given text. Used when an upstream
|
|
247
|
+
* minimizer rewrites the captured output after the raw bytes have already
|
|
248
|
+
* been streamed.
|
|
249
|
+
*
|
|
250
|
+
* After this call the buffer is authoritative: streaming counters realign
|
|
251
|
+
* to the replacement, the retained head window is cleared, and head
|
|
252
|
+
* retention is disabled so subsequent `push()` calls append directly to the
|
|
253
|
+
* tail buffer instead of repopulating the (now meaningless) head window
|
|
254
|
+
* — which would otherwise reorder content and trip the middle-elision
|
|
255
|
+
* branch in `dump()` against stale totals.
|
|
256
|
+
*/
|
|
257
|
+
replace(text: string): void;
|
|
258
|
+
dump(notice?: string): Promise<OutputSummary>;
|
|
259
|
+
/**
|
|
260
|
+
* Release the artifact spill descriptor on an exit path that skips
|
|
261
|
+
* {@link dump} — a thrown error or abort. Idempotent and safe in a
|
|
262
|
+
* `finally`: if {@link dump} already ran this is a no-op, otherwise it
|
|
263
|
+
* flushes the capped tail and closes the sink so the descriptor is not
|
|
264
|
+
* leaked until a later unrelated read hits `EMFILE` (issue #6463).
|
|
265
|
+
*/
|
|
266
|
+
dispose(): Promise<void>;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Format a truncation notice for tail-truncated output (bash, python, ssh).
|
|
270
|
+
* Returns empty string if not truncated.
|
|
271
|
+
*/
|
|
272
|
+
export declare function formatTailTruncationNotice(truncation: TruncationResult, options?: TailTruncationNoticeOptions): string;
|
|
273
|
+
/**
|
|
274
|
+
* Format a truncation notice for head-truncated output (read tool).
|
|
275
|
+
* Returns empty string if not truncated.
|
|
276
|
+
*/
|
|
277
|
+
export declare function formatHeadTruncationNotice(truncation: TruncationResult, options?: HeadTruncationNoticeOptions): string;
|
|
278
|
+
/**
|
|
279
|
+
* Build an onChunk handler that appends to a TailBuffer and emits a streaming
|
|
280
|
+
* update (when `onUpdate` is defined) with the buffer's current text.
|
|
281
|
+
*/
|
|
282
|
+
export declare function streamTailUpdates<TDetails, TInput = unknown>(tailBuffer: TailBuffer, onUpdate: AgentToolUpdateCallback<TDetails, TInput> | undefined): (chunk: string) => void;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Component } from "../tui.js";
|
|
2
|
+
import type { Theme } from "../theme/theme.js";
|
|
3
|
+
import { type TaskToolDetails } from "./task.js";
|
|
4
|
+
/** Display callbacks for structured data extracted from a child agent tool. */
|
|
5
|
+
export interface SubprocessToolRenderer<TData = unknown> {
|
|
6
|
+
/**
|
|
7
|
+
* Render a single data item inline during streaming progress.
|
|
8
|
+
* Called for each tool execution end event.
|
|
9
|
+
*/
|
|
10
|
+
renderInline?: (data: TData, theme: Theme) => Component;
|
|
11
|
+
/**
|
|
12
|
+
* Render accumulated data in the final result view.
|
|
13
|
+
* Called once with all accumulated data for this tool.
|
|
14
|
+
*/
|
|
15
|
+
renderFinal?: (allData: TData[], theme: Theme, expanded: boolean) => Component;
|
|
16
|
+
}
|
|
17
|
+
/** Renders nested task results extracted from child agents. */
|
|
18
|
+
export declare const taskSubprocessRenderer: {
|
|
19
|
+
renderFinal(allData: TaskToolDetails[], theme: Theme, expanded: boolean): Component;
|
|
20
|
+
};
|
|
21
|
+
/** Registers the display callbacks for a subprocess tool without its execution handler. */
|
|
22
|
+
export declare function registerSubprocessToolRenderer<T>(toolName: string, renderer: SubprocessToolRenderer<T>): void;
|
|
23
|
+
/** Looks up the display callbacks for a subprocess tool. */
|
|
24
|
+
export declare function getSubprocessToolRenderer(toolName: string): SubprocessToolRenderer | undefined;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Repair double-encoded JSON string arguments for the task tool.
|
|
3
|
+
*
|
|
4
|
+
* Models occasionally JSON-escape a string value twice when emitting a
|
|
5
|
+
* `task` tool call, so a `task` field that should read
|
|
6
|
+
*
|
|
7
|
+
* # Role
|
|
8
|
+
* You are a judge … "describe this" … return —
|
|
9
|
+
*
|
|
10
|
+
* arrives — after the one JSON decode the provider already applied — as the
|
|
11
|
+
* literal text
|
|
12
|
+
*
|
|
13
|
+
* # Role\nYou are a judge … \"describe this\" … return \u2014
|
|
14
|
+
*
|
|
15
|
+
* i.e. every newline, quote, and unicode character is still backslash-escaped.
|
|
16
|
+
* The subagent then receives that garbled prompt, and the call preview renders
|
|
17
|
+
* one long blob with visible `\n` / `\"` / `\uXXXX`.
|
|
18
|
+
*
|
|
19
|
+
* The *whole-arguments* form of this quirk (the entire `arguments` blob is a
|
|
20
|
+
* JSON string) is already auto-corrected by the validator's JSON-string
|
|
21
|
+
* coercion. This module handles the *per-field* form, where the object parses
|
|
22
|
+
* fine but an individual string value is double-encoded — the validator never
|
|
23
|
+
* fires there because a double-encoded string is still a structurally valid
|
|
24
|
+
* string.
|
|
25
|
+
*
|
|
26
|
+
* This is deliberately scoped to the task tool's natural-language fields
|
|
27
|
+
* (`task`, shared `context`); identifier fields (`name`, `agent`)
|
|
28
|
+
* are never repaired. It is NOT applied to code-bearing
|
|
29
|
+
* tools (write/edit/bash/search), where a backslash or quote is load-bearing
|
|
30
|
+
* and a false-positive unescape would silently corrupt a file or command.
|
|
31
|
+
*/
|
|
32
|
+
import type { TaskParams } from "./task.js";
|
|
33
|
+
/**
|
|
34
|
+
* Return the once-unescaped string when `value` is uniformly double-encoded
|
|
35
|
+
* JSON (a well-formed JSON string body that decodes to a different string);
|
|
36
|
+
* otherwise return `value` unchanged.
|
|
37
|
+
*
|
|
38
|
+
* The `JSON.parse(\`"${value}"\`)` round-trip is the safety net: it only
|
|
39
|
+
* succeeds when *every* backslash begins a valid JSON escape and no bare
|
|
40
|
+
* double-quote exists — exactly the signature of double-encoding. Genuine
|
|
41
|
+
* prose with a Windows path (`C:\Users`), a regex (`\d+`), an embedded quote,
|
|
42
|
+
* or a real (already-decoded) newline makes the parse throw, so the value is
|
|
43
|
+
* returned untouched.
|
|
44
|
+
*/
|
|
45
|
+
export declare function repairDoubleEncodedJsonString(value: string): string;
|
|
46
|
+
/**
|
|
47
|
+
* Repair double-encoded prose in task-tool params (flat `task`, shared
|
|
48
|
+
* `context`, and each batch task item's `task`). Returns the same reference
|
|
49
|
+
* when nothing changed so callers can cheaply skip work. Defensive against
|
|
50
|
+
* partially-streamed args (missing/undefined fields, partial task arrays) so
|
|
51
|
+
* it is safe on the render path as well as on execution.
|
|
52
|
+
*/
|
|
53
|
+
export declare function repairTaskParams(params: TaskParams): TaskParams;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { YieldItem } from "./task.js";
|
|
2
|
+
/** Outcome of folding a run's yield calls into one payload, with provenance flags. */
|
|
3
|
+
interface AssembledYieldResult {
|
|
4
|
+
data: unknown;
|
|
5
|
+
schemaOverridden: boolean;
|
|
6
|
+
rawText: boolean;
|
|
7
|
+
missingData: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Assemble typed yield calls into the final payload consumed by schema validation.
|
|
11
|
+
*
|
|
12
|
+
* A non-empty array `type` contributes an incremental section and never decides
|
|
13
|
+
* termination by itself. A string `type` with omitted `data` makes the last
|
|
14
|
+
* assistant turn the raw terminal result. Other string-typed yields contribute
|
|
15
|
+
* the terminal labelled section. Untyped terminal yields keep the historical
|
|
16
|
+
* "last yield wins" behavior unless no terminal yield exists, in which case
|
|
17
|
+
* accumulated typed sections finalize on idle.
|
|
18
|
+
*/
|
|
19
|
+
export declare function assembleYieldResult(yieldItems: YieldItem[], lastAssistantText?: string, arrayLabels?: ReadonlySet<string>): AssembledYieldResult | undefined;
|
|
20
|
+
export {};
|