@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,129 @@
|
|
|
1
|
+
import type { AgentMessage, ThinkingLevel } from "@oh-my-pi/pi-agent-core";
|
|
2
|
+
import type { Tool, UsageLimit, UsageReport } from "@oh-my-pi/pi-ai";
|
|
3
|
+
import type { Model } from "@oh-my-pi/pi-catalog/types";
|
|
4
|
+
import type { CompactionBoundaries } from "./context-usage.js";
|
|
5
|
+
import type { StatusLineSettings } from "./types.js";
|
|
6
|
+
export interface StatusAccountIdentity {
|
|
7
|
+
accountId?: string;
|
|
8
|
+
email?: string;
|
|
9
|
+
projectId?: string;
|
|
10
|
+
orgId?: string;
|
|
11
|
+
}
|
|
12
|
+
/** Nested repository selected as the active workspace context. */
|
|
13
|
+
export interface ActiveRepoContext {
|
|
14
|
+
cwd: string;
|
|
15
|
+
repoRoot: string;
|
|
16
|
+
relativeRepoRoot: string;
|
|
17
|
+
source: "single-direct-child-repo";
|
|
18
|
+
}
|
|
19
|
+
export interface StatusLineSession {
|
|
20
|
+
state: {
|
|
21
|
+
model?: Model;
|
|
22
|
+
thinkingLevel?: ThinkingLevel;
|
|
23
|
+
messages: readonly AgentMessage[];
|
|
24
|
+
};
|
|
25
|
+
model?: Model;
|
|
26
|
+
messages?: readonly AgentMessage[];
|
|
27
|
+
sessionFile?: string;
|
|
28
|
+
isStreaming: boolean;
|
|
29
|
+
isAutoThinking: boolean;
|
|
30
|
+
contextUsageRevision?: number;
|
|
31
|
+
systemPrompt?: readonly string[];
|
|
32
|
+
agent?: {
|
|
33
|
+
state?: {
|
|
34
|
+
tools?: readonly Pick<Tool, "name" | "description" | "parameters">[];
|
|
35
|
+
};
|
|
36
|
+
tokenizer?: unknown;
|
|
37
|
+
};
|
|
38
|
+
skills?: readonly unknown[];
|
|
39
|
+
compactionSpeculation?: "idle" | "running" | "armed";
|
|
40
|
+
sessionManager: {
|
|
41
|
+
getSessionName(): string | undefined;
|
|
42
|
+
getSessionId(): string;
|
|
43
|
+
getUsageStatistics(): {
|
|
44
|
+
input: number;
|
|
45
|
+
output: number;
|
|
46
|
+
cacheRead: number;
|
|
47
|
+
cacheWrite: number;
|
|
48
|
+
totalTokens: number;
|
|
49
|
+
orchestrationInput: number;
|
|
50
|
+
orchestrationOutput: number;
|
|
51
|
+
orchestrationCacheRead: number;
|
|
52
|
+
premiumRequests: number;
|
|
53
|
+
cost: number;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
modelRegistry: {
|
|
57
|
+
isUsingOAuth(model: Model): boolean;
|
|
58
|
+
};
|
|
59
|
+
getContextUsage(): {
|
|
60
|
+
tokens: number;
|
|
61
|
+
contextWindow: number;
|
|
62
|
+
percent: number | null;
|
|
63
|
+
} | undefined;
|
|
64
|
+
autoResolvedThinkingLevel(): string | undefined;
|
|
65
|
+
isFastModeActive(): boolean;
|
|
66
|
+
getPrewalkState?(): unknown;
|
|
67
|
+
getAsyncJobSnapshot(): {
|
|
68
|
+
running: readonly {
|
|
69
|
+
type: string;
|
|
70
|
+
agentId?: string;
|
|
71
|
+
}[];
|
|
72
|
+
} | null | undefined;
|
|
73
|
+
getGoalModeState(): {
|
|
74
|
+
goal?: {
|
|
75
|
+
status: string;
|
|
76
|
+
tokensUsed: number;
|
|
77
|
+
tokenBudget?: number;
|
|
78
|
+
};
|
|
79
|
+
} | undefined;
|
|
80
|
+
getAdvisorStatusOverview?(): {
|
|
81
|
+
configured: boolean;
|
|
82
|
+
advisors: readonly {
|
|
83
|
+
status: string;
|
|
84
|
+
yielded: boolean;
|
|
85
|
+
}[];
|
|
86
|
+
};
|
|
87
|
+
getAdvisorCost?(): number;
|
|
88
|
+
isAdvisorUsingSubscription?(): boolean;
|
|
89
|
+
}
|
|
90
|
+
export interface FooterSession {
|
|
91
|
+
state: Pick<StatusLineSession["state"], "model" | "thinkingLevel">;
|
|
92
|
+
isAutoThinking: boolean;
|
|
93
|
+
autoResolvedThinkingLevel(): string | undefined;
|
|
94
|
+
getContextUsage: StatusLineSession["getContextUsage"];
|
|
95
|
+
modelRegistry: Pick<StatusLineSession["modelRegistry"], "isUsingOAuth">;
|
|
96
|
+
sessionManager: {
|
|
97
|
+
getEntries(): readonly {
|
|
98
|
+
type: string;
|
|
99
|
+
message?: AgentMessage;
|
|
100
|
+
}[];
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Runtime services stay in the host; renderers only consume these capabilities.
|
|
105
|
+
* `TSession` is the host's concrete session type (a structural superset of {@link StatusLineSession}).
|
|
106
|
+
*/
|
|
107
|
+
export interface StatusLineHost<TSession extends StatusLineSession = StatusLineSession> {
|
|
108
|
+
getSettings(): StatusLineSettings;
|
|
109
|
+
gitEnabled(): boolean;
|
|
110
|
+
codexResetFireworksEnabled(): boolean;
|
|
111
|
+
getSettingsRevision(): number;
|
|
112
|
+
getSessionSettingsIdentity(session: TSession): unknown;
|
|
113
|
+
getSessionSettingsRevision(session: TSession): number;
|
|
114
|
+
goalStatusInFooter(session: TSession): boolean;
|
|
115
|
+
activeAccount(session: TSession, provider: string): StatusAccountIdentity | undefined;
|
|
116
|
+
canFetchUsageReports(session: TSession): boolean;
|
|
117
|
+
fetchUsageReports(session: TSession, signal: AbortSignal): Promise<unknown>;
|
|
118
|
+
resolveActiveRepo(cwd: string): ActiveRepoContext | null;
|
|
119
|
+
lookupPullRequest(cwd: string): Promise<{
|
|
120
|
+
stdout: string;
|
|
121
|
+
exitCode: number;
|
|
122
|
+
}>;
|
|
123
|
+
calculateTokensPerSecond(messages: readonly AgentMessage[], isStreaming: boolean): number | null;
|
|
124
|
+
limitMatchesActiveAccount(report: UsageReport, limit: UsageLimit, identity: StatusAccountIdentity): boolean;
|
|
125
|
+
computeCompactionBoundaries(session: TSession, contextWindow: number, model?: Model): CompactionBoundaries | null;
|
|
126
|
+
}
|
|
127
|
+
export interface FooterHost {
|
|
128
|
+
gitEnabled(): boolean;
|
|
129
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** A `/loop --while` / `/loop --until` continue-condition. */
|
|
2
|
+
export interface LoopConditionConfig {
|
|
3
|
+
/** Shell command line, run through the user's configured shell. */
|
|
4
|
+
command: string;
|
|
5
|
+
/** `--until`: continue while the command *fails*. `--while`: while it succeeds. */
|
|
6
|
+
until: boolean;
|
|
7
|
+
}
|
|
8
|
+
export type LoopLimitRuntime = {
|
|
9
|
+
kind: "iterations";
|
|
10
|
+
initial: number;
|
|
11
|
+
remaining: number;
|
|
12
|
+
} | {
|
|
13
|
+
kind: "duration";
|
|
14
|
+
durationMs: number;
|
|
15
|
+
deadlineMs: number;
|
|
16
|
+
};
|
|
17
|
+
/** Compact status-line form: `until: bun test`. */
|
|
18
|
+
export declare function summarizeLoopCondition(condition: LoopConditionConfig, maxWidth: number): string;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Theme } from "../theme/index.js";
|
|
2
|
+
/** Inputs whose differences are intentionally preserved between current status segments and the legacy footer. */
|
|
3
|
+
export interface BillingSummaryOptions {
|
|
4
|
+
readonly cost: number;
|
|
5
|
+
readonly usingSubscription: boolean;
|
|
6
|
+
readonly premiumRequests: number;
|
|
7
|
+
readonly fractionDigits: number;
|
|
8
|
+
readonly startupPlaceholder?: boolean;
|
|
9
|
+
readonly pricingPeriod?: "peak" | "off-peak";
|
|
10
|
+
readonly advisor?: {
|
|
11
|
+
readonly cost: number;
|
|
12
|
+
readonly usingSubscription: boolean;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/** Round premium-request counters without losing legitimate fractional requests. */
|
|
16
|
+
export declare function normalizePremiumRequests(value: number): number;
|
|
17
|
+
/**
|
|
18
|
+
* Shared billing metric presentation. Callers select precision explicitly so
|
|
19
|
+
* the legacy footer keeps three decimals while current status segments keep two.
|
|
20
|
+
*/
|
|
21
|
+
export declare function formatBillingSummary(options: BillingSummaryOptions, uiTheme: Theme): string | undefined;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Status line segment identifiers accepted by custom status-line settings. */
|
|
2
|
+
export declare const STATUS_LINE_SEGMENT_IDS: readonly ["pi", "status", "model", "mode", "path", "git", "pr", "subagents", "token_in", "token_out", "token_total", "token_rate", "cost", "context_pct", "context_total", "time_spent", "time", "session", "hostname", "cache_read", "cache_write", "cache_hit", "session_name", "usage", "collab", "stream", "vim"];
|
|
3
|
+
/** One identifier from the supported status-line segment catalog. */
|
|
4
|
+
export type StatusLineSegmentId = (typeof STATUS_LINE_SEGMENT_IDS)[number];
|
|
5
|
+
/** Baseline segments used when Custom is selected without segment overrides. */
|
|
6
|
+
export declare const CUSTOM_STATUS_LINE_DEFAULTS: {
|
|
7
|
+
readonly left: StatusLineSegmentId[];
|
|
8
|
+
readonly right: StatusLineSegmentId[];
|
|
9
|
+
};
|
|
10
|
+
export declare const CONTEXT_LINE_MODE_VALUES: readonly ["off", "percentage", "annotated", "embedded"];
|
|
11
|
+
export type ContextLineMode = (typeof CONTEXT_LINE_MODE_VALUES)[number];
|
|
12
|
+
export declare const STATUS_LINE_PRESET_VALUES: readonly ["default", "minimal", "compact", "full", "nerd", "ascii", "custom"];
|
|
13
|
+
export type StatusLinePreset = (typeof STATUS_LINE_PRESET_VALUES)[number];
|
|
14
|
+
export declare const STATUS_LINE_SEPARATOR_VALUES: readonly ["powerline", "powerline-thin", "slash", "pipe", "block", "none", "ascii"];
|
|
15
|
+
export type StatusLineSeparatorStyle = (typeof STATUS_LINE_SEPARATOR_VALUES)[number];
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { RenderedSegment, SegmentContext, StatusLineSegment, StatusLineSegmentId } from "./types.js";
|
|
2
|
+
export type { SegmentContext } from "./types.js";
|
|
3
|
+
export declare const SEGMENTS: Record<StatusLineSegmentId, StatusLineSegment>;
|
|
4
|
+
export declare function renderSegment(id: StatusLineSegmentId, ctx: SegmentContext): RenderedSegment;
|
|
5
|
+
export declare const ALL_SEGMENT_IDS: StatusLineSegmentId[];
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import type { Model } from "@oh-my-pi/pi-ai";
|
|
2
|
+
import type { SessionState } from "@oh-my-pi/pi-wire";
|
|
3
|
+
import type { ContextLineMode, StatusLinePreset, StatusLineSegmentId, StatusLineSeparatorStyle } from "./schema.js";
|
|
4
|
+
import type { ActiveRepoContext, StatusLineSession } from "./host.js";
|
|
5
|
+
import type { LoopConditionConfig, LoopLimitRuntime } from "./loop.js";
|
|
6
|
+
export type { ContextLineMode, StatusLinePreset, StatusLineSegmentId, StatusLineSeparatorStyle };
|
|
7
|
+
/** Context-window occupancy shown by the status line and exposed to extensions. */
|
|
8
|
+
export interface ContextUsage {
|
|
9
|
+
/** Estimated context tokens. */
|
|
10
|
+
tokens: number;
|
|
11
|
+
contextWindow: number;
|
|
12
|
+
/** Context usage as percentage of context window. */
|
|
13
|
+
percent: number;
|
|
14
|
+
}
|
|
15
|
+
/** Debounced footer snapshot a collab host broadcasts to guests. */
|
|
16
|
+
export type CollabSessionState = SessionState & {
|
|
17
|
+
/**
|
|
18
|
+
* Host model (full catalog object). Guests apply it to their replica
|
|
19
|
+
* agent state so model display and context-window math are native.
|
|
20
|
+
*/
|
|
21
|
+
model?: Model;
|
|
22
|
+
/** Host status-line context numbers (guest system prompt/tools differ, so local estimates drift). */
|
|
23
|
+
contextUsage?: ContextUsage;
|
|
24
|
+
};
|
|
25
|
+
/** Collab session indicator + (guest-only) host-state override for segments. */
|
|
26
|
+
export interface CollabStatus {
|
|
27
|
+
role: "host" | "guest";
|
|
28
|
+
participantCount: number;
|
|
29
|
+
/** Guest only: host footer snapshot that overrides locally computed values. */
|
|
30
|
+
stateOverride?: CollabSessionState | null;
|
|
31
|
+
}
|
|
32
|
+
export interface StatusLineSegmentOptions {
|
|
33
|
+
model?: {
|
|
34
|
+
showThinkingLevel?: boolean;
|
|
35
|
+
};
|
|
36
|
+
path?: {
|
|
37
|
+
abbreviate?: boolean;
|
|
38
|
+
maxLength?: number;
|
|
39
|
+
stripWorkPrefix?: boolean;
|
|
40
|
+
};
|
|
41
|
+
git?: {
|
|
42
|
+
showBranch?: boolean;
|
|
43
|
+
showStaged?: boolean;
|
|
44
|
+
showUnstaged?: boolean;
|
|
45
|
+
showUntracked?: boolean;
|
|
46
|
+
};
|
|
47
|
+
time?: {
|
|
48
|
+
format?: "12h" | "24h";
|
|
49
|
+
showSeconds?: boolean;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export interface StatusLineSettings {
|
|
53
|
+
preset?: StatusLinePreset;
|
|
54
|
+
leftSegments?: StatusLineSegmentId[];
|
|
55
|
+
rightSegments?: StatusLineSegmentId[];
|
|
56
|
+
separator?: StatusLineSeparatorStyle;
|
|
57
|
+
segmentOptions?: StatusLineSegmentOptions;
|
|
58
|
+
showHookStatus?: boolean;
|
|
59
|
+
sessionAccent?: boolean;
|
|
60
|
+
/** Drop the theme's `statusLineBg` fill and powerline caps so the bar
|
|
61
|
+
* inherits the terminal's default background. */
|
|
62
|
+
transparent?: boolean;
|
|
63
|
+
/** Replace the model-segment icon with the thinking-level glyph and drop the
|
|
64
|
+
* " · <level>" suffix, so the thinking level reads as a single compact icon. */
|
|
65
|
+
compactThinkingLevel?: boolean;
|
|
66
|
+
/** How the gap line between the left and right groups reacts to context
|
|
67
|
+
* usage. `embedded` moves configured context segments into the annotated
|
|
68
|
+
* gauge as percentage and window labels. Box composer only. */
|
|
69
|
+
contextLine?: ContextLineMode;
|
|
70
|
+
}
|
|
71
|
+
export type EffectiveStatusLineSettings = Required<Pick<StatusLineSettings, "leftSegments" | "rightSegments" | "separator" | "segmentOptions">> & StatusLineSettings;
|
|
72
|
+
export type RGB = readonly [number, number, number];
|
|
73
|
+
export interface SegmentContext {
|
|
74
|
+
session: StatusLineSession;
|
|
75
|
+
/** Deterministic wall clock for previews/tests; production omits it. */
|
|
76
|
+
now?: Date;
|
|
77
|
+
/** Deterministic host label for previews/tests; production omits it. */
|
|
78
|
+
hostname?: string;
|
|
79
|
+
/** Focused subagent id while the view is proxied at its session, undefined otherwise. */
|
|
80
|
+
focusedAgentId?: string | undefined;
|
|
81
|
+
/** Effective `statusLine.sessionAccent`; `false` disables hash-derived accent colors, while `true` or omission enables them. */
|
|
82
|
+
sessionAccent?: boolean;
|
|
83
|
+
/** Stand-in session title for previews; `session_name` renders it when the session is unnamed. */
|
|
84
|
+
previewTitle?: string;
|
|
85
|
+
/** Replace dynamic values with ellipses while preserving each segment's icon, color, and static text. */
|
|
86
|
+
startupPlaceholder?: boolean;
|
|
87
|
+
activeRepo: ActiveRepoContext | null;
|
|
88
|
+
width: number;
|
|
89
|
+
options: StatusLineSegmentOptions;
|
|
90
|
+
/** Render the model segment's thinking level as a compact leading glyph. */
|
|
91
|
+
compactThinkingLevel: boolean;
|
|
92
|
+
/** Key-sorted extension/hook status values. Segment renderers sanitize before display. */
|
|
93
|
+
hookStatuses?: readonly string[];
|
|
94
|
+
planMode: {
|
|
95
|
+
enabled: boolean;
|
|
96
|
+
paused: boolean;
|
|
97
|
+
} | null;
|
|
98
|
+
prewalk: {
|
|
99
|
+
enabled: boolean;
|
|
100
|
+
} | null;
|
|
101
|
+
loopMode: {
|
|
102
|
+
state: "waiting" | "running" | "paused";
|
|
103
|
+
limit?: LoopLimitRuntime;
|
|
104
|
+
condition?: LoopConditionConfig;
|
|
105
|
+
} | null;
|
|
106
|
+
goalStatusInFooter?: boolean;
|
|
107
|
+
goalMode: {
|
|
108
|
+
enabled: boolean;
|
|
109
|
+
paused: boolean;
|
|
110
|
+
} | null;
|
|
111
|
+
vibeMode: {
|
|
112
|
+
enabled: boolean;
|
|
113
|
+
} | null;
|
|
114
|
+
/** Modal editing state, or null when `tui.vimMode` is off. */
|
|
115
|
+
vim: {
|
|
116
|
+
mode: "insert" | "normal" | "visual" | "visual-line";
|
|
117
|
+
/** Half-typed operator/count (`"2d"`), empty when nothing is pending. */
|
|
118
|
+
pending: string;
|
|
119
|
+
/** Lines spanned by the active Visual selection; 0 outside Visual modes. */
|
|
120
|
+
selectedLines: number;
|
|
121
|
+
/** `tui.vimModeDisplay`: how the mode renders in the status line. */
|
|
122
|
+
display: "text" | "icon" | "none";
|
|
123
|
+
} | null;
|
|
124
|
+
collab: CollabStatus | null;
|
|
125
|
+
stream: {
|
|
126
|
+
viewers: number;
|
|
127
|
+
} | null;
|
|
128
|
+
usageStats: {
|
|
129
|
+
input: number;
|
|
130
|
+
output: number;
|
|
131
|
+
cacheRead: number;
|
|
132
|
+
cacheWrite: number;
|
|
133
|
+
totalTokens: number;
|
|
134
|
+
orchestrationInput: number;
|
|
135
|
+
orchestrationOutput: number;
|
|
136
|
+
orchestrationCacheRead: number;
|
|
137
|
+
premiumRequests: number;
|
|
138
|
+
cost: number;
|
|
139
|
+
tokensPerSecond: number | null;
|
|
140
|
+
};
|
|
141
|
+
/** Context usage percent, or null when unknown (e.g. right after compaction). */
|
|
142
|
+
contextPercent: number | null;
|
|
143
|
+
contextTokens: number;
|
|
144
|
+
contextWindow: number;
|
|
145
|
+
autoCompactEnabled: boolean;
|
|
146
|
+
/** Background speculative-compaction state (async compaction). */
|
|
147
|
+
compactionSpeculation: "idle" | "running" | "armed";
|
|
148
|
+
/** Blink phase for the running-speculation pulse; toggled by the component's timer. */
|
|
149
|
+
speculationBlinkOn: boolean;
|
|
150
|
+
subagentCount: number;
|
|
151
|
+
/**
|
|
152
|
+
* Active processing time accumulated this session, in ms — the union of
|
|
153
|
+
* every `agent_start`→`agent_end` window plus the currently-streaming
|
|
154
|
+
* window if the agent is running. Idle wall-clock never contributes, so
|
|
155
|
+
* this is what {@link StatusLineSegmentId.time_spent} renders instead of
|
|
156
|
+
* `Date.now() - sessionStart`.
|
|
157
|
+
*/
|
|
158
|
+
activeMs: number;
|
|
159
|
+
/**
|
|
160
|
+
* Elapsed ms of the currently-running turn (the open `agent_start` window),
|
|
161
|
+
* or null when the agent is idle. Drives the `pi` segment's working
|
|
162
|
+
* spinner + turn timer.
|
|
163
|
+
*/
|
|
164
|
+
turnElapsedMs: number | null;
|
|
165
|
+
/**
|
|
166
|
+
* Sampled foreground ANSI for the `pi` brand segment — tweened between dim
|
|
167
|
+
* gray (idle) and the accent (working) across turn edges (rust omp's
|
|
168
|
+
* status-band brand fade). Absent in direct-segment fixtures and previews,
|
|
169
|
+
* which fall back to the static dim color.
|
|
170
|
+
*/
|
|
171
|
+
brandFgAnsi?: string;
|
|
172
|
+
git: {
|
|
173
|
+
branch: string | null;
|
|
174
|
+
status: {
|
|
175
|
+
staged: number;
|
|
176
|
+
unstaged: number;
|
|
177
|
+
untracked: number;
|
|
178
|
+
} | null;
|
|
179
|
+
pr: {
|
|
180
|
+
number: number;
|
|
181
|
+
url: string;
|
|
182
|
+
} | null;
|
|
183
|
+
};
|
|
184
|
+
/**
|
|
185
|
+
* Set when the path cwd is a *linked* git worktree, naming the shared
|
|
186
|
+
* primary checkout (the project). Lets the path segment collapse the
|
|
187
|
+
* base-prefixed `<base>/<project>/<worktree>` path to the project name —
|
|
188
|
+
* the worktree/branch is already shown by the git segment.
|
|
189
|
+
*/
|
|
190
|
+
worktree: {
|
|
191
|
+
projectName: string;
|
|
192
|
+
worktreeName: string;
|
|
193
|
+
} | null;
|
|
194
|
+
usage: {
|
|
195
|
+
tier?: string;
|
|
196
|
+
fiveHour?: {
|
|
197
|
+
percent: number;
|
|
198
|
+
resetMinutes?: number;
|
|
199
|
+
};
|
|
200
|
+
daily?: {
|
|
201
|
+
percent: number;
|
|
202
|
+
resetMinutes?: number;
|
|
203
|
+
};
|
|
204
|
+
sevenDay?: {
|
|
205
|
+
percent: number;
|
|
206
|
+
resetHours?: number;
|
|
207
|
+
};
|
|
208
|
+
monthly?: {
|
|
209
|
+
percent: number;
|
|
210
|
+
resetHours?: number;
|
|
211
|
+
};
|
|
212
|
+
} | null;
|
|
213
|
+
}
|
|
214
|
+
export interface RenderedSegment {
|
|
215
|
+
content: string;
|
|
216
|
+
visible: boolean;
|
|
217
|
+
}
|
|
218
|
+
export interface StatusLineSegment {
|
|
219
|
+
id: StatusLineSegmentId;
|
|
220
|
+
render(ctx: SegmentContext): RenderedSegment;
|
|
221
|
+
}
|
|
222
|
+
export interface SeparatorDef {
|
|
223
|
+
left: string;
|
|
224
|
+
right: string;
|
|
225
|
+
endCaps?: {
|
|
226
|
+
left: string;
|
|
227
|
+
right: string;
|
|
228
|
+
useBgAsFg: boolean;
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
export interface PresetDef {
|
|
232
|
+
leftSegments: StatusLineSegmentId[];
|
|
233
|
+
rightSegments: StatusLineSegmentId[];
|
|
234
|
+
separator: StatusLineSeparatorStyle;
|
|
235
|
+
segmentOptions?: StatusLineSegmentOptions;
|
|
236
|
+
}
|
|
@@ -17,6 +17,10 @@
|
|
|
17
17
|
* MIT License - Copyright (c) 2025 opentui
|
|
18
18
|
*/
|
|
19
19
|
import { EventEmitter } from "events";
|
|
20
|
+
/** Terminal bracketed-paste open marker wrapping pasted input. */
|
|
21
|
+
export declare const BRACKETED_PASTE_START = "\u001B[200~";
|
|
22
|
+
/** Terminal bracketed-paste close marker wrapping pasted input. */
|
|
23
|
+
export declare const BRACKETED_PASTE_END = "\u001B[201~";
|
|
20
24
|
export type StdinBufferOptions = {
|
|
21
25
|
/**
|
|
22
26
|
* Maximum time to wait for sequence completion (default: 75ms).
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ColorMode, ColorValue } from "./schema.js";
|
|
2
|
+
/** SGR reset for the foreground color only, leaving other attributes intact. */
|
|
3
|
+
export declare const FG_RESET = "\u001B[39m";
|
|
4
|
+
/** SGR reset for the background color only, leaving other attributes intact. */
|
|
5
|
+
export declare const BG_RESET = "\u001B[49m";
|
|
6
|
+
/** Resolve theme color depth from the shared terminal capability model. */
|
|
7
|
+
export declare function detectColorMode(env?: NodeJS.ProcessEnv): ColorMode;
|
|
8
|
+
export declare function colorToAnsi(color: string, mode: ColorMode): string;
|
|
9
|
+
export declare function fgAnsi(color: string | number, mode: ColorMode): string;
|
|
10
|
+
export declare function bgAnsi(color: string | number, mode: ColorMode): string;
|
|
11
|
+
export declare function resolveVarRefs(value: ColorValue, vars: Record<string, ColorValue>, visited?: Set<string>): string | number;
|
|
12
|
+
export declare function resolveThemeColors<T extends Record<string, ColorValue>>(colors: T, vars?: Record<string, ColorValue>): Record<keyof T, string | number>;
|
|
13
|
+
/**
|
|
14
|
+
* Resolve a theme color value (hex string or 256-color index) to a CSS hex string.
|
|
15
|
+
* Empty string represents the default terminal color.
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolveToHex(value: string | number, isLight: boolean): string;
|
|
18
|
+
/**
|
|
19
|
+
* Convert a 256-color index to hex string.
|
|
20
|
+
* Indices 0-15: basic colors (approximate)
|
|
21
|
+
* Indices 16-231: 6x6x6 color cube
|
|
22
|
+
* Indices 232-255: grayscale ramp
|
|
23
|
+
*/
|
|
24
|
+
export declare function ansi256ToHex(index: number): string;
|