@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,42 @@
|
|
|
1
|
+
import type { Component } from "../tui.js";
|
|
2
|
+
import type { Theme } from "../theme/theme.js";
|
|
3
|
+
import type { RenderResultOptions } from "./renderer.js";
|
|
4
|
+
/** Lifecycle state of a tracked goal. */
|
|
5
|
+
export type GoalStatus = "active" | "paused" | "budget-limited" | "complete" | "dropped";
|
|
6
|
+
/** Serializable goal progress and resource budget. */
|
|
7
|
+
export interface Goal {
|
|
8
|
+
id: string;
|
|
9
|
+
objective: string;
|
|
10
|
+
status: GoalStatus;
|
|
11
|
+
tokenBudget?: number;
|
|
12
|
+
tokensUsed: number;
|
|
13
|
+
timeUsedSeconds: number;
|
|
14
|
+
createdAt: number;
|
|
15
|
+
updatedAt: number;
|
|
16
|
+
}
|
|
17
|
+
/** Goal operation outcome displayed in the transcript. */
|
|
18
|
+
export interface GoalToolDetails {
|
|
19
|
+
op: "create" | "get" | "complete" | "resume" | "drop";
|
|
20
|
+
goal?: Goal | null;
|
|
21
|
+
remainingTokens?: number | null;
|
|
22
|
+
completionBudgetReport?: string | null;
|
|
23
|
+
}
|
|
24
|
+
interface GoalRenderArgs {
|
|
25
|
+
op?: GoalToolDetails["op"];
|
|
26
|
+
objective?: string;
|
|
27
|
+
token_budget?: number;
|
|
28
|
+
}
|
|
29
|
+
/** Renders goal creation, status, and lifecycle results. */
|
|
30
|
+
export declare const goalToolRenderer: {
|
|
31
|
+
renderCall(args: GoalRenderArgs, _options: RenderResultOptions, uiTheme: Theme): Component;
|
|
32
|
+
renderResult(result: {
|
|
33
|
+
content: Array<{
|
|
34
|
+
type: string;
|
|
35
|
+
text?: string;
|
|
36
|
+
}>;
|
|
37
|
+
details?: GoalToolDetails;
|
|
38
|
+
isError?: boolean;
|
|
39
|
+
}, _options: RenderResultOptions, uiTheme: Theme, args?: GoalRenderArgs): Component;
|
|
40
|
+
mergeCallAndResult: true;
|
|
41
|
+
};
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { Component } from "../tui.js";
|
|
2
|
+
import type { RenderResultOptions } from "./renderer.js";
|
|
3
|
+
import { type Theme } from "../theme/theme.js";
|
|
4
|
+
import type { OutputMeta } from "./output-meta.js";
|
|
5
|
+
import type { TruncationResult } from "./streaming-output.js";
|
|
6
|
+
/** Display metadata for grep tool results. */
|
|
7
|
+
export interface GrepToolDetails {
|
|
8
|
+
truncation?: TruncationResult;
|
|
9
|
+
fileLimitReached?: number;
|
|
10
|
+
perFileLimitReached?: number;
|
|
11
|
+
linesTruncated?: boolean;
|
|
12
|
+
meta?: OutputMeta;
|
|
13
|
+
scopePath?: string;
|
|
14
|
+
matchCount?: number;
|
|
15
|
+
fileCount?: number;
|
|
16
|
+
files?: string[];
|
|
17
|
+
fileMatches?: Array<{
|
|
18
|
+
path: string;
|
|
19
|
+
count: number;
|
|
20
|
+
}>;
|
|
21
|
+
truncated?: boolean;
|
|
22
|
+
error?: string;
|
|
23
|
+
/** Pre-formatted text for the user-visible TUI render. Mirrors the model-facing
|
|
24
|
+
* `result.text` lines but uses a `│` gutter and `*` to mark match lines (vs space for
|
|
25
|
+
* context). The TUI uses this directly so it never parses model-facing hashline anchors. */
|
|
26
|
+
displayContent?: string;
|
|
27
|
+
/** Filesystem hyperlink targets resolved for internal URL headers at execution time. */
|
|
28
|
+
displayTargets?: Record<string, string>;
|
|
29
|
+
/** Absolute base directory used during search. Used by the renderer to resolve
|
|
30
|
+
* display-relative paths to absolute paths for OSC 8 hyperlinks. */
|
|
31
|
+
searchPath?: string;
|
|
32
|
+
/** Session cwd at search time. The renderer resolves the display-relative
|
|
33
|
+
* (cwd-relative) header/match paths against this for OSC 8 hyperlinks;
|
|
34
|
+
* `searchPath` is the scope label target, not the display-path base. */
|
|
35
|
+
cwd?: string;
|
|
36
|
+
/** User-supplied paths whose base directory was missing on disk. The tool
|
|
37
|
+
* skipped these and continued with the surviving entries; surfaced as a
|
|
38
|
+
* non-fatal warning in the renderer and in the model-facing text. */
|
|
39
|
+
missingPaths?: string[];
|
|
40
|
+
}
|
|
41
|
+
interface GrepRenderArgs {
|
|
42
|
+
pattern: string;
|
|
43
|
+
path?: string | string[];
|
|
44
|
+
/** Legacy pre-`path` argument name; kept so historical transcripts still render a scope. */
|
|
45
|
+
paths?: string | string[];
|
|
46
|
+
case?: boolean;
|
|
47
|
+
gitignore?: boolean;
|
|
48
|
+
skip?: number;
|
|
49
|
+
}
|
|
50
|
+
/** Render grep calls and results in the transcript. */
|
|
51
|
+
export declare const grepToolRenderer: {
|
|
52
|
+
inline: true;
|
|
53
|
+
renderCall(args: GrepRenderArgs, _options: RenderResultOptions, uiTheme: Theme): Component;
|
|
54
|
+
renderResult(result: {
|
|
55
|
+
content: Array<{
|
|
56
|
+
type: string;
|
|
57
|
+
text?: string;
|
|
58
|
+
}>;
|
|
59
|
+
details?: GrepToolDetails;
|
|
60
|
+
isError?: boolean;
|
|
61
|
+
}, options: RenderResultOptions, uiTheme: Theme, args?: GrepRenderArgs): Component;
|
|
62
|
+
mergeCallAndResult: true;
|
|
63
|
+
};
|
|
64
|
+
export {};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One file's contribution to a grouped file output. The header itself is generated
|
|
3
|
+
* by `formatGroupedFiles` (one `#` per nesting level); use `headerSuffix` to tack
|
|
4
|
+
* on extras like ` (1 replacement)`.
|
|
5
|
+
*/
|
|
6
|
+
export interface GroupedFileSection {
|
|
7
|
+
/** Optional suffix appended to the file header. */
|
|
8
|
+
headerSuffix?: string;
|
|
9
|
+
/** Body lines emitted into the textual model output. */
|
|
10
|
+
modelLines: string[];
|
|
11
|
+
/** Body lines emitted into the display output. Defaults to `modelLines`. */
|
|
12
|
+
displayLines?: string[];
|
|
13
|
+
/** When true, the file (and its header) is omitted entirely. */
|
|
14
|
+
skip?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/** Parallel model-facing and display-facing lines for grouped files. */
|
|
17
|
+
export interface GroupedFilesOutput {
|
|
18
|
+
model: string[];
|
|
19
|
+
display: string[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Render a list of files as a multi-level, prefix-folded directory tree shared by
|
|
23
|
+
* grep, ast-grep, ast-edit, and the LSP diagnostic formatter.
|
|
24
|
+
*
|
|
25
|
+
* Layout (one `#` per level; the shared prefix folds into the top header):
|
|
26
|
+
* # packages/pkg/src/
|
|
27
|
+
* ## root.ts
|
|
28
|
+
* …body…
|
|
29
|
+
* ## nested/
|
|
30
|
+
* ### child.ts
|
|
31
|
+
* …body…
|
|
32
|
+
*
|
|
33
|
+
* Files in the (folded) project root become single-`#` headers with no parent
|
|
34
|
+
* directory line. A blank line precedes every directory header and every
|
|
35
|
+
* root-level file so the renderers can split the output into collapsible groups.
|
|
36
|
+
*/
|
|
37
|
+
export declare function formatGroupedFiles(files: string[], renderFile: (filePath: string) => GroupedFileSection): GroupedFilesOutput;
|
|
38
|
+
/** Per-line classification of grouped output, used by renderers for hyperlinks. */
|
|
39
|
+
export interface GroupedLineContext {
|
|
40
|
+
/** Directory header, file header, or any non-header body/content line. */
|
|
41
|
+
kind: "dir" | "file" | "content";
|
|
42
|
+
/** Number of leading `#` for headers; 0 for content lines. */
|
|
43
|
+
depth: number;
|
|
44
|
+
/** Resolved absolute path of the dir/file a header points at (when resolvable). */
|
|
45
|
+
headerPath?: string;
|
|
46
|
+
/** For content lines, the absolute path of the owning file (line hyperlinks). */
|
|
47
|
+
filePath?: string;
|
|
48
|
+
/** Header is an internal/url-like target the caller resolves itself. */
|
|
49
|
+
isUrl?: boolean;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Walk grouped output lines, tracking a directory stack keyed by header depth, so
|
|
53
|
+
* each header and body line can be linked back to its absolute filesystem path.
|
|
54
|
+
* Reconstruction is stack-based (not per-blank-group) so nested directory headers
|
|
55
|
+
* resolve correctly across the whole output.
|
|
56
|
+
*
|
|
57
|
+
* `headerBase` is the directory the displayed (folded) header paths are relative
|
|
58
|
+
* to — for grep/ast tools that is the session cwd, since display paths are
|
|
59
|
+
* formatted relative to cwd regardless of the (sub)directory the search was
|
|
60
|
+
* scoped to. `fileScope` is the initial owning file for body lines that appear
|
|
61
|
+
* before any header (single-file scopes have no `#` headers); it defaults to
|
|
62
|
+
* `headerBase` and should be passed the scoped file's absolute path.
|
|
63
|
+
*/
|
|
64
|
+
export declare function classifyGroupedLines(lines: readonly string[], headerBase: string | undefined, fileScope?: string | undefined): GroupedLineContext[];
|
|
65
|
+
/**
|
|
66
|
+
* Split line indices into blank-line-separated groups, mirroring
|
|
67
|
+
* `splitGroupsByBlankLine`: when any blank line is present, break on runs of
|
|
68
|
+
* blanks; otherwise return a single group of the non-empty lines. Returning
|
|
69
|
+
* indices lets callers slice parallel arrays (raw lines, styled lines, contexts).
|
|
70
|
+
*/
|
|
71
|
+
export declare function groupLineIndicesByBlank(rawLines: readonly string[]): number[][];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** Opening delimiter of a hashline file header. */
|
|
2
|
+
export declare const HL_FILE_PREFIX = "[";
|
|
3
|
+
/** Closing delimiter of a hashline file header. */
|
|
4
|
+
export declare const HL_FILE_SUFFIX = "]";
|
|
5
|
+
/** Separator between the file path and content hash. */
|
|
6
|
+
export declare const HL_FILE_HASH_SEP = "#";
|
|
7
|
+
/** Number of characters in a displayed file hash. */
|
|
8
|
+
export declare const HL_FILE_HASH_LENGTH = 4;
|
|
9
|
+
/** Keyword identifying a file move operation. */
|
|
10
|
+
export declare const HL_MOVE_KEYWORD = "MV";
|
|
11
|
+
/** Keyword identifying a file removal operation. */
|
|
12
|
+
export declare const HL_REM_KEYWORD = "REM";
|
|
13
|
+
/** Separator between a line number and its body. */
|
|
14
|
+
export declare const HL_LINE_BODY_SEP = ":";
|
|
15
|
+
/** Format a file path and content hash as a hashline header. */
|
|
16
|
+
export declare function formatHashlineHeader(path: string, tag: string): string;
|
|
17
|
+
/** Prefix each addressable line with its file line number. */
|
|
18
|
+
export declare function formatNumberedLines(text: string, startLine?: number): string;
|
|
19
|
+
/** Prefix one line with its file line number. */
|
|
20
|
+
export declare function formatNumberedLine(lineNumber: number, line: string): string;
|
|
21
|
+
/** Split file lines without treating a trailing newline as an empty address. */
|
|
22
|
+
export declare function splitAddressableFileLines(text: string): string[];
|
|
23
|
+
/** Remove model-facing hashline anchors from copied file content. */
|
|
24
|
+
export declare function stripHashlinePrefixes(lines: string[]): string[];
|
|
25
|
+
/** Whether a row is a truncation notice emitted by `read`. */
|
|
26
|
+
export declare function isReadTruncationNotice(line: string): boolean;
|
|
27
|
+
/** Compute the native hashline content fingerprint. */
|
|
28
|
+
export declare function computeFileHash(text: string): string;
|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
import type { Component } from "../tui.js";
|
|
2
|
+
import type { Theme } from "../theme/theme.js";
|
|
3
|
+
import { type OutputMeta } from "./output-meta.js";
|
|
4
|
+
import { type ConfiguredThinkingLevel } from "../render/render-utils.js";
|
|
5
|
+
import type { StructuredSubagentOutput } from "./task.js";
|
|
6
|
+
import type { RenderResultOptions, ToolActivitySummary } from "./renderer.js";
|
|
7
|
+
/** Whether a wait snapshot contains only running jobs and no cancellations. */
|
|
8
|
+
export declare function isWaitingPollDetails(details: unknown): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Hub operations: messaging (`send`/`wait`/`inbox`/`list`), jobs
|
|
11
|
+
* (`wait`/`cancel`/`jobs`), and process supervision (`start`/`ps`/`logs`/
|
|
12
|
+
* `stop`/`restart`/`describe`, plus `send`/`wait` when they carry `name`).
|
|
13
|
+
*/
|
|
14
|
+
export type HubOp = "send" | "wait" | "inbox" | "list" | "jobs" | "cancel" | "start" | "ps" | "logs" | "stop" | "restart" | "describe";
|
|
15
|
+
/** Peer row surfaced by `op:"list"`. */
|
|
16
|
+
export interface HubPeerInfo {
|
|
17
|
+
id: string;
|
|
18
|
+
displayName: string;
|
|
19
|
+
kind: string;
|
|
20
|
+
status: string;
|
|
21
|
+
parentId?: string;
|
|
22
|
+
unread: number;
|
|
23
|
+
lastActivity: number;
|
|
24
|
+
activity?: string;
|
|
25
|
+
}
|
|
26
|
+
/** Status values `op:"list"` can filter on. Advisor is a kind, not a status. */
|
|
27
|
+
export type HubListStatus = "running" | "idle" | "parked";
|
|
28
|
+
/** Model-facing roster bounds shared by the hub schema and executor. */
|
|
29
|
+
export declare const DEFAULT_HUB_LIST_LIMIT = 32;
|
|
30
|
+
/** Maximum number of peers in a hub roster page. */
|
|
31
|
+
export declare const MAX_HUB_LIST_LIMIT = 100;
|
|
32
|
+
/** Addressable roster tallies always returned by `op:"list"`. */
|
|
33
|
+
export interface HubRosterCounts {
|
|
34
|
+
running: number;
|
|
35
|
+
idle: number;
|
|
36
|
+
parked: number;
|
|
37
|
+
shown: number;
|
|
38
|
+
truncated: number;
|
|
39
|
+
}
|
|
40
|
+
/** Background-job row surfaced by `wait`/`cancel`/`jobs` results. */
|
|
41
|
+
export interface JobSnapshot {
|
|
42
|
+
id: string;
|
|
43
|
+
type: "bash" | "task" | "eval";
|
|
44
|
+
status: "running" | "completed" | "failed" | "cancelled";
|
|
45
|
+
label: string;
|
|
46
|
+
durationMs: number;
|
|
47
|
+
/** Effective task model selector, including an explicit reasoning suffix when configured. */
|
|
48
|
+
resolvedModel?: string;
|
|
49
|
+
/** Provider/id including routing, with no added thinking suffix. */
|
|
50
|
+
resolvedModelIdentity?: string;
|
|
51
|
+
/** Explicit thinking metadata, independent of the model identity. */
|
|
52
|
+
resolvedThinkingLevel?: ConfiguredThinkingLevel;
|
|
53
|
+
/** True when the task progress reports an attached live advisor. */
|
|
54
|
+
advisor?: boolean;
|
|
55
|
+
resultText?: string;
|
|
56
|
+
errorText?: string;
|
|
57
|
+
/** Source-output metadata retained for per-job warnings and persisted row rendering. */
|
|
58
|
+
meta?: OutputMeta;
|
|
59
|
+
/** Capture error in historical snapshots; new snapshots store source metadata in `meta`. */
|
|
60
|
+
artifactError?: OutputMeta["artifactError"];
|
|
61
|
+
structured?: StructuredSubagentOutput;
|
|
62
|
+
/**
|
|
63
|
+
* `agent://<id>` handle backing this job's artifacts — the job-row's
|
|
64
|
+
* registry `agentId` when the manager disambiguated a requested job id
|
|
65
|
+
* on collision, else the job id itself. See {@link AsyncJob.agentId}.
|
|
66
|
+
*/
|
|
67
|
+
agentUrlId?: string;
|
|
68
|
+
}
|
|
69
|
+
/** Outcome of cancelling one background job. */
|
|
70
|
+
export type CancelStatus = "cancelled" | "not_found" | "already_completed";
|
|
71
|
+
/** Cancellation outcome and its model-facing explanation. */
|
|
72
|
+
export interface CancelOutcome {
|
|
73
|
+
id: string;
|
|
74
|
+
status: CancelStatus;
|
|
75
|
+
message: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* A live subagent from the AgentRegistry that has no backing job in the
|
|
79
|
+
* AsyncJobManager — e.g. an idle agent woken (or a parked agent revived) via
|
|
80
|
+
* a hub message, or a spawn owned by another agent. Surfaced by `jobs` and
|
|
81
|
+
* empty-wait snapshots so the hub's picture matches the UI's running-agent
|
|
82
|
+
* count.
|
|
83
|
+
*/
|
|
84
|
+
export interface AgentActivitySnapshot {
|
|
85
|
+
id: string;
|
|
86
|
+
parentId?: string;
|
|
87
|
+
/** Latest activity gist recorded by the registry (display-only). */
|
|
88
|
+
activity?: string;
|
|
89
|
+
/** Time since the agent was registered. */
|
|
90
|
+
ageMs: number;
|
|
91
|
+
/**
|
|
92
|
+
* Whether an attached session corroborates the `running` claim. False marks
|
|
93
|
+
* a ref that says `running` with no turn in flight — either a spawn still
|
|
94
|
+
* wiring up or a stale registration that `hub cancel <id>` clears (#8634).
|
|
95
|
+
*/
|
|
96
|
+
live: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Acceptance time of the agent's final result, when the registry recorded
|
|
99
|
+
* one. With `live: false` this is an accepted run the parent may cancel
|
|
100
|
+
* instead of waiting on (#11079).
|
|
101
|
+
*/
|
|
102
|
+
acceptedAt?: number;
|
|
103
|
+
}
|
|
104
|
+
/** Result details for messaging and job ops; fields are disjoint per op. */
|
|
105
|
+
export interface CoordinationDetails {
|
|
106
|
+
meta?: OutputMeta;
|
|
107
|
+
op: HubOp;
|
|
108
|
+
from?: string;
|
|
109
|
+
to?: string;
|
|
110
|
+
receipts?: IrcDeliveryReceipt[];
|
|
111
|
+
/** Message consumed by `wait` / `send await:true`; null when the wait timed out. */
|
|
112
|
+
waited?: IrcMessage | null;
|
|
113
|
+
inbox?: IrcMessage[];
|
|
114
|
+
peers?: HubPeerInfo[];
|
|
115
|
+
/** Present on `op:"list"`: addressable running/idle/parked plus page size. */
|
|
116
|
+
counts?: HubRosterCounts;
|
|
117
|
+
jobs?: JobSnapshot[];
|
|
118
|
+
cancelled?: {
|
|
119
|
+
id: string;
|
|
120
|
+
status: CancelStatus;
|
|
121
|
+
}[];
|
|
122
|
+
/** Running subagents not represented by a job row in this result. */
|
|
123
|
+
agents?: AgentActivitySnapshot[];
|
|
124
|
+
}
|
|
125
|
+
/** Hub result details: coordination snapshots or launch (process) state. */
|
|
126
|
+
export type HubDetails = CoordinationDetails | LaunchToolDetails;
|
|
127
|
+
/** Partially-streamed hub call arguments, as seen by the renderers. */
|
|
128
|
+
export type HubRenderArgs = {
|
|
129
|
+
op?: string;
|
|
130
|
+
to?: string;
|
|
131
|
+
message?: string;
|
|
132
|
+
replyTo?: string;
|
|
133
|
+
await?: boolean;
|
|
134
|
+
from?: string;
|
|
135
|
+
peek?: boolean;
|
|
136
|
+
ids?: string[];
|
|
137
|
+
} & Partial<Omit<LaunchParams, "op">>;
|
|
138
|
+
/** Stable lifecycle states exposed by the launch tool. */
|
|
139
|
+
export type DaemonState = "starting" | "running" | "ready" | "restarting" | "stopping" | "exited" | "failed";
|
|
140
|
+
/** Restart behavior applied after an unexpected daemon exit. */
|
|
141
|
+
export type DaemonRestartPolicy = "no" | "on-failure" | "always";
|
|
142
|
+
/** Readiness conditions; every configured condition must pass. */
|
|
143
|
+
export interface DaemonReadySpec {
|
|
144
|
+
log?: string;
|
|
145
|
+
port?: number;
|
|
146
|
+
host?: string;
|
|
147
|
+
timeoutMs: number;
|
|
148
|
+
}
|
|
149
|
+
/** Immutable launch specification retained for restart and inspection. */
|
|
150
|
+
export interface DaemonSpec {
|
|
151
|
+
name: string;
|
|
152
|
+
application: string;
|
|
153
|
+
args: string[];
|
|
154
|
+
env: Record<string, string>;
|
|
155
|
+
cwd: string;
|
|
156
|
+
pty: boolean;
|
|
157
|
+
ready?: DaemonReadySpec;
|
|
158
|
+
restart: DaemonRestartPolicy;
|
|
159
|
+
persist: boolean;
|
|
160
|
+
detached: boolean;
|
|
161
|
+
}
|
|
162
|
+
/** Serializable daemon state visible to every client in one broker scope. */
|
|
163
|
+
export interface DaemonSnapshot {
|
|
164
|
+
name: string;
|
|
165
|
+
id: string;
|
|
166
|
+
state: DaemonState;
|
|
167
|
+
pid?: number;
|
|
168
|
+
createdAt: number;
|
|
169
|
+
startedAt: number;
|
|
170
|
+
readyAt?: number;
|
|
171
|
+
exitedAt?: number;
|
|
172
|
+
exitCode?: number;
|
|
173
|
+
exitReason?: string;
|
|
174
|
+
restartCount: number;
|
|
175
|
+
outputBytes: number;
|
|
176
|
+
owner?: string;
|
|
177
|
+
readyMatch?: string;
|
|
178
|
+
/** Readiness conditions still unmet while `state` is `starting`; absent once ready or without a ready spec. */
|
|
179
|
+
readyPending?: ("log" | "port")[];
|
|
180
|
+
persist: boolean;
|
|
181
|
+
detached: boolean;
|
|
182
|
+
}
|
|
183
|
+
/** Serializable peer message retained in hub result snapshots. */
|
|
184
|
+
export interface IrcMessage {
|
|
185
|
+
id: string;
|
|
186
|
+
/** Sender agent id. */
|
|
187
|
+
from: string;
|
|
188
|
+
/** Recipient agent id (resolved; "all" is expanded by the tool, not stored). */
|
|
189
|
+
to: string;
|
|
190
|
+
body: string;
|
|
191
|
+
ts: number;
|
|
192
|
+
/** Message id being answered. */
|
|
193
|
+
replyTo?: string;
|
|
194
|
+
/**
|
|
195
|
+
* Automated wake-turn relay of a woken subagent's stop output (task executor
|
|
196
|
+
* `relayWakeTurnOutput`). Relays are answers, never wake sources: the
|
|
197
|
+
* recipient's own wake-turn relay must skip them or two idle peers
|
|
198
|
+
* ping-pong forever.
|
|
199
|
+
*/
|
|
200
|
+
wakeRelay?: boolean;
|
|
201
|
+
}
|
|
202
|
+
/** Delivery outcome for one peer recipient. */
|
|
203
|
+
export interface IrcDeliveryReceipt {
|
|
204
|
+
to: string;
|
|
205
|
+
outcome: "injected" | "woken" | "revived" | "failed";
|
|
206
|
+
error?: string;
|
|
207
|
+
}
|
|
208
|
+
/** Broker-facing launch parameters; the hub adapts its `ps` op to `list` before calling in. */
|
|
209
|
+
export interface LaunchParams {
|
|
210
|
+
op: "start" | "list" | "logs" | "wait" | "send" | "stop" | "restart" | "describe";
|
|
211
|
+
name?: string;
|
|
212
|
+
application?: string;
|
|
213
|
+
args?: string[];
|
|
214
|
+
env?: Record<string, string>;
|
|
215
|
+
cwd?: string;
|
|
216
|
+
pty?: boolean;
|
|
217
|
+
ready?: {
|
|
218
|
+
log?: string;
|
|
219
|
+
port?: number;
|
|
220
|
+
host?: string;
|
|
221
|
+
timeout?: number;
|
|
222
|
+
};
|
|
223
|
+
restart?: "no" | "on-failure" | "always";
|
|
224
|
+
persist?: boolean;
|
|
225
|
+
detached?: boolean;
|
|
226
|
+
lines?: number;
|
|
227
|
+
head?: boolean;
|
|
228
|
+
grep?: string;
|
|
229
|
+
follow?: boolean;
|
|
230
|
+
cursor?: number;
|
|
231
|
+
for?: "ready" | "exit";
|
|
232
|
+
pattern?: string;
|
|
233
|
+
text?: string;
|
|
234
|
+
enter?: boolean;
|
|
235
|
+
keys?: string[];
|
|
236
|
+
signal?: "SIGINT" | "SIGTERM" | "SIGHUP" | "SIGQUIT" | "SIGKILL";
|
|
237
|
+
timeout?: number;
|
|
238
|
+
}
|
|
239
|
+
/** Structured launch state retained for compact TUI rendering. */
|
|
240
|
+
export interface LaunchToolDetails {
|
|
241
|
+
op: LaunchParams["op"];
|
|
242
|
+
daemon?: DaemonSnapshot;
|
|
243
|
+
daemons?: DaemonSnapshot[];
|
|
244
|
+
cursor?: number;
|
|
245
|
+
timedOut?: boolean;
|
|
246
|
+
/** logs: daemon lifecycle state at read time. */
|
|
247
|
+
state?: DaemonState;
|
|
248
|
+
/** logs: virtual terminal rows for display; model-facing content remains sanitized text. */
|
|
249
|
+
terminalRows?: string[];
|
|
250
|
+
/** wait: output line that satisfied the pattern. */
|
|
251
|
+
matched?: string;
|
|
252
|
+
/** describe: immutable launch spec backing the command/cwd detail lines. */
|
|
253
|
+
spec?: DaemonSpec;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Human sentences for the readiness conditions still unmet, e.g.
|
|
257
|
+
* `port 5173 on 127.0.0.1 never accepted connections`. `ready` (from the start
|
|
258
|
+
* params) adds the concrete pattern/port; absent it falls back to generic labels.
|
|
259
|
+
*/
|
|
260
|
+
export declare function readyPendingSummary(daemon: DaemonSnapshot, ready?: LaunchParams["ready"]): string[];
|
|
261
|
+
/**
|
|
262
|
+
* What a timed-out `wait` was actually blocked on: the output `pattern`, the
|
|
263
|
+
* process exiting (`for: "exit"`, the default), or the unmet readiness
|
|
264
|
+
* conditions (`for: "ready"`). Never reports readiness for an exit/pattern
|
|
265
|
+
* wait — the process may well be ready and simply still running.
|
|
266
|
+
*/
|
|
267
|
+
export declare function waitPendingSummary(daemon: DaemonSnapshot, params: Pick<LaunchParams, "for" | "pattern">): string[];
|
|
268
|
+
/** Hub roster ordering (running before idle before parked) shared with the child prompt's live-row cap. */
|
|
269
|
+
export declare const LIST_STATUS_ORDER: Record<string, number>;
|
|
270
|
+
/** Pending-call frame for job ops (wait/cancel/jobs). */
|
|
271
|
+
export declare function jobsRenderCall(args: HubRenderArgs, _options: RenderResultOptions, uiTheme: Theme): Component;
|
|
272
|
+
/** Result frame for job snapshots (wait/cancel/jobs and the agents roster). */
|
|
273
|
+
export declare function jobsRenderResult(result: {
|
|
274
|
+
content: Array<{
|
|
275
|
+
type: string;
|
|
276
|
+
text?: string;
|
|
277
|
+
}>;
|
|
278
|
+
details?: CoordinationDetails;
|
|
279
|
+
isError?: boolean;
|
|
280
|
+
}, options: RenderResultOptions, uiTheme: Theme, hubArgs?: HubRenderArgs): Component;
|
|
281
|
+
/** Args shape visible to the renderer, possibly mid-stream (every field optional). */
|
|
282
|
+
export type LaunchRenderArgs = Partial<Omit<LaunchParams, "op">> & {
|
|
283
|
+
op?: string;
|
|
284
|
+
};
|
|
285
|
+
/** Pending-call frame for launch ops; consumes the spinner while the broker call is live. */
|
|
286
|
+
export declare function launchRenderCall(args: LaunchRenderArgs, options: RenderResultOptions, theme: Theme): Component;
|
|
287
|
+
/** Result frame: one status header per op, meta from structured details, capped body lines. */
|
|
288
|
+
export declare function launchRenderResult(result: {
|
|
289
|
+
content: Array<{
|
|
290
|
+
type: string;
|
|
291
|
+
text?: string;
|
|
292
|
+
}>;
|
|
293
|
+
details?: LaunchToolDetails;
|
|
294
|
+
isError?: boolean;
|
|
295
|
+
}, options: RenderResultOptions, theme: Theme, args?: LaunchRenderArgs): Component;
|
|
296
|
+
/**
|
|
297
|
+
* Display-only transcript card for live IRC traffic: `irc:incoming` DMs
|
|
298
|
+
* delivered to this session, `irc:autoreply` side-channel replies sent on
|
|
299
|
+
* this session's behalf, and `irc:relay` observations of agent↔agent
|
|
300
|
+
* traffic. Shares the tool renderer's glyph + quote-border conventions so
|
|
301
|
+
* cards and hub messaging output look identical in the transcript.
|
|
302
|
+
*/
|
|
303
|
+
export declare function createIrcMessageCard(card: {
|
|
304
|
+
kind: "incoming" | "autoreply" | "relay" | "workpool";
|
|
305
|
+
from?: string;
|
|
306
|
+
to?: string;
|
|
307
|
+
body?: string;
|
|
308
|
+
replyTo?: string;
|
|
309
|
+
timestamp?: number;
|
|
310
|
+
pool?: string;
|
|
311
|
+
mode?: string;
|
|
312
|
+
}, getExpanded: () => boolean, uiTheme: Theme): Component;
|
|
313
|
+
/** Pending-call frame for messaging ops (send/wait-from/inbox/list). */
|
|
314
|
+
export declare function messagingRenderCall(args: HubRenderArgs, _options: RenderResultOptions, uiTheme: Theme): Component;
|
|
315
|
+
/** Result frame for messaging ops and message-carrying `wait` results. */
|
|
316
|
+
export declare function messagingRenderResult(result: {
|
|
317
|
+
content: Array<{
|
|
318
|
+
type: string;
|
|
319
|
+
text?: string;
|
|
320
|
+
}>;
|
|
321
|
+
details?: CoordinationDetails;
|
|
322
|
+
isError?: boolean;
|
|
323
|
+
}, options: RenderResultOptions, uiTheme: Theme, args?: HubRenderArgs): Component;
|
|
324
|
+
/** Renders hub messaging, jobs, and supervised processes. */
|
|
325
|
+
export declare const hubToolRenderer: {
|
|
326
|
+
inline: true;
|
|
327
|
+
mergeCallAndResult: true;
|
|
328
|
+
/** Compact one-line activity: op plus its peer, process, or job target. */
|
|
329
|
+
activitySummary(args: unknown): ToolActivitySummary;
|
|
330
|
+
animatedPendingPreview: (args: unknown) => boolean;
|
|
331
|
+
renderCall(args: HubRenderArgs, options: RenderResultOptions, uiTheme: Theme): Component;
|
|
332
|
+
renderResult(result: {
|
|
333
|
+
content: Array<{
|
|
334
|
+
type: string;
|
|
335
|
+
text?: string;
|
|
336
|
+
}>;
|
|
337
|
+
details?: HubDetails;
|
|
338
|
+
isError?: boolean;
|
|
339
|
+
}, options: RenderResultOptions, uiTheme: Theme, args?: HubRenderArgs): Component;
|
|
340
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { Theme } from "../theme/theme.js";
|
|
2
|
+
/** Max depth for JSON tree rendering */
|
|
3
|
+
export declare const JSON_TREE_MAX_DEPTH_COLLAPSED = 2;
|
|
4
|
+
/** Maximum expanded JSON tree depth. */
|
|
5
|
+
export declare const JSON_TREE_MAX_DEPTH_EXPANDED = 6;
|
|
6
|
+
/** Maximum collapsed JSON tree rows. */
|
|
7
|
+
export declare const JSON_TREE_MAX_LINES_COLLAPSED = 6;
|
|
8
|
+
/** Maximum expanded JSON tree rows. */
|
|
9
|
+
export declare const JSON_TREE_MAX_LINES_EXPANDED = 200;
|
|
10
|
+
/** Maximum collapsed JSON scalar width. */
|
|
11
|
+
export declare const JSON_TREE_SCALAR_LEN_COLLAPSED = 60;
|
|
12
|
+
/** Maximum expanded JSON scalar width. */
|
|
13
|
+
export declare const JSON_TREE_SCALAR_LEN_EXPANDED = 2000;
|
|
14
|
+
/** Sanitization, string summary, and budgeting policy for inline JSON. */
|
|
15
|
+
export interface InlineFormatOptions {
|
|
16
|
+
sanitizeText?: (text: string) => string;
|
|
17
|
+
multilineSummary?: boolean;
|
|
18
|
+
/** Character-count output budget, retaining the first pair even when oversized. */
|
|
19
|
+
characterBudget?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** Format a scalar with optional sanitized multiline summaries. */
|
|
22
|
+
export declare function formatScalar(value: unknown, maxLen: number, options?: InlineFormatOptions): string;
|
|
23
|
+
/** Format args inline with either display-cell or legacy output character budgeting. */
|
|
24
|
+
export declare function formatArgsInline(args: Record<string, unknown>, maxWidth: number, options?: InlineFormatOptions): string;
|
|
25
|
+
/** Summarize a task's structured output without expanding its JSON tree. */
|
|
26
|
+
export declare function formatOutputInline(data: unknown, maxWidth?: number): string;
|
|
27
|
+
/** JSON hierarchy policy accepted by {@link renderJsonTreeLines}. */
|
|
28
|
+
export interface JsonTreeRenderOptions {
|
|
29
|
+
maxDepth: number;
|
|
30
|
+
maxLines: number;
|
|
31
|
+
maxScalarLen: number;
|
|
32
|
+
/** Sanitize object keys and string/scalar text before styling. */
|
|
33
|
+
sanitizeText?: (text: string) => string;
|
|
34
|
+
/** Root object keys omitted from display. Defaults to internal tool argument metadata. */
|
|
35
|
+
hiddenRootKeys?: readonly string[];
|
|
36
|
+
/** Preserve embedded newlines as continuation rows. Defaults to true. */
|
|
37
|
+
multilineStrings?: boolean;
|
|
38
|
+
/** Escape inline tabs/newlines as JSON-style sequences. Defaults to true. */
|
|
39
|
+
escapeStringWhitespace?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Root row gutter. `hooked` (default) attaches the tree to the block above:
|
|
42
|
+
* the first root draws `└ •`, the rest ` •`, and nested rows branch from
|
|
43
|
+
* under the bullet. `siblings` draws standard `├─`/`└─` root connectors.
|
|
44
|
+
*/
|
|
45
|
+
rootConnectors?: "hooked" | "siblings";
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Render a JSON value as bounded tree lines. The positional form remains the
|
|
49
|
+
* public tool-renderer contract; the options form exposes sanitization and root
|
|
50
|
+
* connector policy for specialized adapters such as nested task output.
|
|
51
|
+
*/
|
|
52
|
+
export declare function renderJsonTreeLines(value: unknown, theme: Theme, maxDepth: number, maxLines: number, maxScalarLen: number): {
|
|
53
|
+
lines: string[];
|
|
54
|
+
truncated: boolean;
|
|
55
|
+
};
|
|
56
|
+
export declare function renderJsonTreeLines(value: unknown, theme: Theme, options: JsonTreeRenderOptions): {
|
|
57
|
+
lines: string[];
|
|
58
|
+
truncated: boolean;
|
|
59
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inclusive line range describing one selector segment (e.g. `50-100`,
|
|
3
|
+
* `301-`, or `50+10`). `endLine` is `undefined` for open-ended ranges.
|
|
4
|
+
*/
|
|
5
|
+
export interface LineRange {
|
|
6
|
+
startLine: number;
|
|
7
|
+
endLine: number | undefined;
|
|
8
|
+
}
|
|
9
|
+
/** Shared line-range grammar for selector recognition and parsing. */
|
|
10
|
+
export declare const LINE_RANGE_CHUNK_SOURCE: string;
|
|
11
|
+
/** Parse a single `N`, `N-M`, `N-`, `N+K`, or `..`-aliased (`N..M`, `N..`) chunk. Throws via {@link ToolError} on invalid bounds. */
|
|
12
|
+
export declare function parseLineRangeChunk(sel: string): LineRange | null;
|
|
13
|
+
/**
|
|
14
|
+
* Parse a comma-separated list of line ranges (e.g. `5-16,960-973`). Returns
|
|
15
|
+
* the ranges in ascending order with overlapping/adjacent ranges merged so
|
|
16
|
+
* downstream consumers can stream the file in a single forward pass per range.
|
|
17
|
+
*/
|
|
18
|
+
export declare function parseLineRanges(sel: string): [LineRange, ...LineRange[]] | null;
|
|
19
|
+
/**
|
|
20
|
+
* Extract the line-range component from a read-tool selector that may also
|
|
21
|
+
* carry a verbatim/index display mode (`raw`, `conflicts`) — alone or compounded
|
|
22
|
+
* with a range (`raw:50-100`, `50-100:raw`). Returns the parsed ranges when the
|
|
23
|
+
* selector names any, otherwise `undefined` (pure `raw`/`conflicts`/none).
|
|
24
|
+
*
|
|
25
|
+
* Used by content search, which honors line ranges as a match filter but has no
|
|
26
|
+
* use for verbatim/conflict display modes — so those selectors are accepted and
|
|
27
|
+
* treated as an unfiltered, whole-resource search rather than rejected.
|
|
28
|
+
*/
|
|
29
|
+
export declare function selectorLineRanges(sel: string | undefined): [LineRange, ...LineRange[]] | undefined;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { LimitsMeta } from "./output-meta.js";
|
|
2
|
+
/** Items retained after applying output limits and their metadata. */
|
|
3
|
+
export interface ListLimitResult<T> {
|
|
4
|
+
items: T[];
|
|
5
|
+
limitReached?: number;
|
|
6
|
+
meta: Partial<LimitsMeta>;
|
|
7
|
+
}
|
|
8
|
+
/** Limits applied to result lists and display previews. */
|
|
9
|
+
export interface ListLimitOptions {
|
|
10
|
+
limit?: number;
|
|
11
|
+
headLimit?: number;
|
|
12
|
+
limitType?: "match" | "result";
|
|
13
|
+
}
|
|
14
|
+
/** Apply result and preview limits while retaining truncation metadata. */
|
|
15
|
+
export declare function applyListLimit<T>(items: T[], options: ListLimitOptions): ListLimitResult<T>;
|