@linxiraos/pi-tui 1.1.20 → 1.1.22
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 +398 -2
- package/THIRD-PARTY-NOTICES.txt +3 -40
- package/dist/types/app-keybindings.d.ts +2 -17
- package/dist/types/apps/git/git-tui.d.ts +2 -2
- package/dist/types/apps/ps-data.d.ts +1 -1
- package/dist/types/apps/ps-top.d.ts +1 -1
- package/dist/types/autocomplete.d.ts +18 -3
- package/dist/types/chat/chat-transcript-builder.d.ts +1 -1
- package/dist/types/chat/image-loading.d.ts +24 -0
- package/dist/types/chat/read-tool-group.d.ts +3 -3
- package/dist/types/chat/thinking-display.d.ts +2 -0
- package/dist/types/chat/transcript-entry.d.ts +9 -0
- package/dist/types/chat/user-message.d.ts +4 -1
- package/dist/types/chrome/keybinding-hints.d.ts +16 -10
- package/dist/types/chrome/transcript-container.d.ts +24 -3
- package/dist/types/components/editor.d.ts +16 -2
- package/dist/types/components/input.d.ts +16 -0
- package/dist/types/components/settings-list.d.ts +3 -12
- package/dist/types/glyph-protocol.d.ts +62 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/key-hint-format.d.ts +29 -0
- package/dist/types/keys.d.ts +2 -1
- package/dist/types/kitty-graphics.d.ts +1 -1
- package/dist/types/loop-watchdog.d.ts +9 -0
- package/dist/types/overlays/agent-hub.d.ts +2 -7
- package/dist/types/overlays/agent-transcript-viewer.d.ts +2 -2
- package/dist/types/overlays/agents-hub.d.ts +7 -4
- package/dist/types/overlays/annotation-overlay.d.ts +30 -0
- package/dist/types/overlays/annotation-types.d.ts +84 -0
- package/dist/types/overlays/btw-history-panel.d.ts +4 -1
- package/dist/types/overlays/btw-panel.d.ts +0 -1
- package/dist/types/overlays/copy-selector.d.ts +30 -2
- package/dist/types/overlays/copy-targets.d.ts +2 -0
- package/dist/types/overlays/history-search.d.ts +0 -2
- package/dist/types/overlays/login-dialog.d.ts +0 -1
- package/dist/types/overlays/logout-account-selector.d.ts +0 -1
- package/dist/types/overlays/model-browser.d.ts +24 -3
- package/dist/types/overlays/model-hub.d.ts +2 -2
- package/dist/types/overlays/model-picker.d.ts +3 -4
- package/dist/types/overlays/move-overlay.d.ts +7 -0
- package/dist/types/overlays/oauth-selector.d.ts +3 -6
- package/dist/types/overlays/reset-usage-selector.d.ts +14 -3
- package/dist/types/overlays/rewind-selector.d.ts +6 -3
- package/dist/types/overlays/settings-defs.d.ts +5 -0
- package/dist/types/overlays/tree-selector.d.ts +0 -2
- package/dist/types/overlays/usage-dashboard.d.ts +17 -2
- package/dist/types/overlays/usage-display.d.ts +16 -1
- package/dist/types/prompt/composer-attachments.d.ts +7 -0
- package/dist/types/prompt/composer-cache.d.ts +34 -16
- package/dist/types/prompt/composer-hints.d.ts +42 -0
- package/dist/types/prompt/composer.d.ts +30 -23
- package/dist/types/prompt/custom-editor.d.ts +13 -28
- package/dist/types/prompt/gradient-highlight.d.ts +2 -2
- package/dist/types/prompt/image-source.d.ts +27 -0
- package/dist/types/prompt/macos-spelling.d.ts +7 -16
- package/dist/types/prompt/magic-keywords.d.ts +49 -10
- package/dist/types/prompt/model-mention-autocomplete.d.ts +4 -1
- package/dist/types/prompt/prompt-action-autocomplete.d.ts +4 -1
- package/dist/types/prompt/prose-gate.d.ts +24 -0
- package/dist/types/prompt/video.d.ts +7 -11
- package/dist/types/prompt/welcome.d.ts +7 -29
- package/dist/types/prompt/word-completion.d.ts +46 -0
- package/dist/types/render/render-utils.d.ts +3 -1
- package/dist/types/render/width-aware-text.d.ts +6 -0
- package/dist/types/setup/scenes/glyph.d.ts +6 -1
- package/dist/types/setup/scenes/sign-in.d.ts +9 -9
- package/dist/types/setup/scenes/types.d.ts +0 -26
- package/dist/types/space-hold.d.ts +45 -0
- package/dist/types/status-line/component.d.ts +15 -4
- package/dist/types/status-line/context-usage.d.ts +3 -1
- package/dist/types/status-line/host.d.ts +2 -0
- package/dist/types/status-line/metrics.d.ts +0 -1
- package/dist/types/status-line/startup.d.ts +38 -0
- package/dist/types/status-line/types.d.ts +9 -2
- package/dist/types/stdin-buffer.d.ts +12 -0
- package/dist/types/terminal-capabilities.d.ts +19 -7
- package/dist/types/terminal.d.ts +32 -0
- package/dist/types/theme/active-symbols.d.ts +12 -0
- package/dist/types/theme/color.d.ts +1 -0
- package/dist/types/theme/mermaid-cache.d.ts +6 -8
- package/dist/types/theme/session-color.d.ts +3 -3
- package/dist/types/theme/shimmer.d.ts +1 -1
- package/dist/types/theme/symbols.d.ts +1 -1
- package/dist/types/theme/theme-class.d.ts +1 -2
- package/dist/types/tmux.d.ts +8 -0
- package/dist/types/tools/bash.d.ts +7 -0
- package/dist/types/tools/cfg-render.d.ts +37 -0
- package/dist/types/tools/cfg-url.d.ts +16 -0
- package/dist/types/tools/daemon.d.ts +46 -0
- package/dist/types/tools/eval.d.ts +16 -9
- package/dist/types/tools/find.d.ts +82 -0
- package/dist/types/tools/hub.d.ts +5 -1
- package/dist/types/tools/irc.d.ts +30 -0
- package/dist/types/tools/line-ranges.d.ts +1 -1
- package/dist/types/tools/mcp.d.ts +3 -1
- package/dist/types/tools/output-meta.d.ts +4 -1
- package/dist/types/tools/proc-render.d.ts +27 -0
- package/dist/types/tools/read.d.ts +18 -4
- package/dist/types/tools/result-card.d.ts +20 -0
- package/dist/types/tools/task-yield-assembly.d.ts +10 -2
- package/dist/types/tools/task.d.ts +8 -0
- package/dist/types/tools/url-scheme-host.d.ts +29 -0
- package/dist/types/tools/vibe.d.ts +4 -0
- package/dist/types/tools/wait.d.ts +131 -0
- package/dist/types/tools/web-search-types.d.ts +90 -0
- package/dist/types/tools/web-search.d.ts +1 -164
- package/dist/types/tools/write.d.ts +6 -0
- package/dist/types/tools/xd-url.d.ts +8 -0
- package/dist/types/tools/xdev.d.ts +9 -1
- package/dist/types/tui.d.ts +11 -5
- package/dist/types/utils.d.ts +2 -0
- package/dist/types/windows-altgr.d.ts +54 -0
- package/package.json +11 -10
- package/src/app-keybindings.d.ts +380 -0
- package/src/app-keybindings.ts +11 -104
- package/src/apps/autoresearch-dashboard.ts +10 -3
- package/src/apps/debug/log-viewer.ts +3 -2
- package/src/apps/debug/protocol-probe.ts +1 -1
- package/src/apps/debug/raw-sse.ts +2 -1
- package/src/apps/git/git-tui.ts +37 -128
- package/src/apps/live-visualizer.ts +2 -1
- package/src/apps/ps-data.ts +1 -1
- package/src/apps/ps-top.ts +35 -76
- package/src/autocomplete.d.ts +154 -0
- package/src/autocomplete.ts +42 -7
- package/src/bracketed-paste.d.ts +51 -0
- package/src/chat/advisor-message.d.ts +11 -0
- package/src/chat/assistant-message.d.ts +106 -0
- package/src/chat/assistant-message.ts +219 -61
- package/src/chat/background-tan-message.d.ts +9 -0
- package/src/chat/bash-execution.d.ts +47 -0
- package/src/chat/cache-invalidation-marker.d.ts +50 -0
- package/src/chat/chat-transcript-builder.d.ts +50 -0
- package/src/chat/chat-transcript-builder.ts +9 -5
- package/src/chat/collab-prompt-message.d.ts +10 -0
- package/src/chat/compaction-summary-message.d.ts +54 -0
- package/src/chat/compaction-summary-message.ts +13 -33
- package/src/chat/custom-message.d.ts +10 -0
- package/src/chat/display-preferences.d.ts +13 -0
- package/src/chat/eval-execution.d.ts +29 -0
- package/src/chat/execution-shared.d.ts +51 -0
- package/src/chat/execution-shared.ts +7 -11
- package/src/chat/extension-types.d.ts +28 -0
- package/src/chat/image-loading.d.ts +70 -0
- package/src/chat/image-loading.ts +81 -0
- package/src/chat/late-diagnostics-message.d.ts +21 -0
- package/src/chat/messages.d.ts +189 -0
- package/src/chat/reaction.d.ts +30 -0
- package/src/chat/read-tool-group.d.ts +67 -0
- package/src/chat/read-tool-group.ts +8 -9
- package/src/chat/served-model-marker.d.ts +47 -0
- package/src/chat/skill-message.d.ts +33 -0
- package/src/chat/skill-title-input.d.ts +14 -0
- package/src/chat/thinking-display.d.ts +14 -0
- package/src/chat/thinking-display.ts +73 -11
- package/src/chat/tool-execution.d.ts +138 -0
- package/src/chat/tool-execution.ts +81 -41
- package/src/chat/transcript-browser.d.ts +93 -0
- package/src/chat/transcript-entry.d.ts +54 -0
- package/src/chat/transcript-entry.ts +16 -0
- package/src/chat/transcript-outline.d.ts +86 -0
- package/src/chat/transcript-render-helpers.d.ts +92 -0
- package/src/chat/transcript-render-helpers.ts +3 -3
- package/src/chat/ttsr-notification.ts +4 -3
- package/src/chat/user-message.d.ts +55 -0
- package/src/chat/user-message.ts +18 -8
- package/src/chrome/context-thresholds.d.ts +10 -0
- package/src/chrome/diff.d.ts +14 -0
- package/src/chrome/dynamic-border.d.ts +16 -0
- package/src/chrome/error-block.d.ts +17 -0
- package/src/chrome/keybinding-hints.d.ts +46 -0
- package/src/chrome/keybinding-hints.ts +38 -13
- package/src/chrome/message-divider.d.ts +22 -0
- package/src/chrome/message-frame.d.ts +52 -0
- package/src/chrome/overlay-box.d.ts +74 -0
- package/src/chrome/tool-activity.d.ts +17 -0
- package/src/chrome/transcript-container.d.ts +150 -0
- package/src/chrome/transcript-container.ts +379 -98
- package/src/chrome/transcript-status.d.ts +12 -0
- package/src/chrome/visual-truncate.d.ts +19 -0
- package/src/components/box.d.ts +33 -0
- package/src/components/cancellable-loader.d.ts +23 -0
- package/src/components/composer/band.d.ts +2 -0
- package/src/components/composer/borderless.d.ts +8 -0
- package/src/components/composer/box.d.ts +2 -0
- package/src/components/composer/claude.d.ts +8 -0
- package/src/components/composer/field.d.ts +3 -0
- package/src/components/composer/index.d.ts +10 -0
- package/src/components/composer/pi.d.ts +2 -0
- package/src/components/composer/rail.d.ts +3 -0
- package/src/components/composer/registry.d.ts +19 -0
- package/src/components/composer/rule.d.ts +7 -0
- package/src/components/composer/types.d.ts +96 -0
- package/src/components/disclosure.d.ts +42 -0
- package/src/components/editor.d.ts +287 -0
- package/src/components/editor.ts +265 -89
- package/src/components/form.d.ts +130 -0
- package/src/components/image.d.ts +207 -0
- package/src/components/image.ts +25 -9
- package/src/components/input.d.ts +43 -0
- package/src/components/input.ts +103 -30
- package/src/components/key-value-list.d.ts +24 -0
- package/src/components/layout/geometry.d.ts +73 -0
- package/src/components/layout/row.d.ts +55 -0
- package/src/components/layout/split-pane.d.ts +80 -0
- package/src/components/layout/stack.d.ts +50 -0
- package/src/components/loader.d.ts +33 -0
- package/src/components/loader.ts +37 -17
- package/src/components/markdown.d.ts +112 -0
- package/src/components/markdown.ts +129 -63
- package/src/components/menu-selection.d.ts +71 -0
- package/src/components/metric.d.ts +44 -0
- package/src/components/progress-bar.d.ts +36 -0
- package/src/components/scroll-view.d.ts +98 -0
- package/src/components/scroll-viewport.d.ts +46 -0
- package/src/components/section.d.ts +19 -0
- package/src/components/select-list.d.ts +124 -0
- package/src/components/settings-list.d.ts +153 -0
- package/src/components/settings-list.ts +14 -40
- package/src/components/spacer.d.ts +13 -0
- package/src/components/tab-bar.d.ts +91 -0
- package/src/components/tab-bar.ts +2 -1
- package/src/components/table.d.ts +32 -0
- package/src/components/text.d.ts +29 -0
- package/src/components/tree-view.d.ts +130 -0
- package/src/components/truncated-text.d.ts +12 -0
- package/src/components/wizard-step.d.ts +60 -0
- package/src/debug-server.d.ts +27 -0
- package/src/debug-server.ts +4 -1
- package/src/deccara.d.ts +49 -0
- package/src/desktop-notify.d.ts +52 -0
- package/src/editor-component.d.ts +38 -0
- package/src/fuzzy.d.ts +48 -0
- package/src/glyph-protocol.d.ts +62 -0
- package/src/glyph-protocol.ts +143 -0
- package/src/hotkeys-markdown.ts +14 -17
- package/src/i18n.d.ts +32 -0
- package/src/index.d.ts +53 -0
- package/src/index.ts +2 -0
- package/src/key-hint-format.d.ts +29 -0
- package/src/key-hint-format.ts +122 -0
- package/src/keybinding-matchers.d.ts +35 -0
- package/src/keybindings.d.ts +202 -0
- package/src/keys.d.ts +211 -0
- package/src/keys.ts +2 -1
- package/src/kill-ring.d.ts +20 -0
- package/src/kitty-graphics.d.ts +76 -0
- package/src/kitty-graphics.ts +2 -2
- package/src/lang-from-path.d.ts +9 -0
- package/src/latex-block.d.ts +8 -0
- package/src/latex-to-unicode.d.ts +41 -0
- package/src/loop-watchdog.d.ts +58 -0
- package/src/loop-watchdog.ts +38 -10
- package/src/mouse.d.ts +72 -0
- package/src/overlays/advisor-config.ts +72 -112
- package/src/overlays/agent-hub.ts +78 -193
- package/src/overlays/agent-transcript-viewer.ts +18 -34
- package/src/overlays/agents-hub.ts +92 -249
- package/src/overlays/annotation-overlay.ts +1158 -0
- package/src/overlays/annotation-types.ts +78 -0
- package/src/overlays/ask-dialog.ts +33 -60
- package/src/overlays/bordered-loader.ts +2 -1
- package/src/overlays/btw-history-panel.ts +41 -102
- package/src/overlays/btw-panel.ts +17 -30
- package/src/overlays/cleanse-panel.ts +9 -19
- package/src/overlays/codex-reset-fireworks.ts +7 -13
- package/src/overlays/composer-shape-preview.ts +3 -1
- package/src/overlays/copy-selector.ts +76 -99
- package/src/overlays/copy-targets.ts +3 -3
- package/src/overlays/extensions/extension-dashboard.ts +7 -7
- package/src/overlays/history-search.ts +9 -29
- package/src/overlays/hook-editor.ts +7 -2
- package/src/overlays/hook-input.ts +2 -1
- package/src/overlays/hook-selector.ts +5 -1
- package/src/overlays/login-dialog.ts +20 -42
- package/src/overlays/logout-account-selector.ts +9 -14
- package/src/overlays/mcp-add-wizard.ts +121 -190
- package/src/overlays/model-browser.ts +147 -25
- package/src/overlays/model-hub.ts +269 -227
- package/src/overlays/model-picker.ts +43 -50
- package/src/overlays/move-overlay.ts +9 -14
- package/src/overlays/oauth-selector.ts +8 -14
- package/src/overlays/omfg-panel.ts +16 -39
- package/src/overlays/pause-screen.ts +15 -21
- package/src/overlays/plan-review-overlay.ts +257 -84
- package/src/overlays/plan-save-overlay.ts +5 -8
- package/src/overlays/plugin-settings.ts +41 -125
- package/src/overlays/reset-usage-selector.ts +87 -49
- package/src/overlays/rewind-selector.ts +245 -32
- package/src/overlays/session-info-overlay.ts +5 -8
- package/src/overlays/session-selector.ts +30 -45
- package/src/overlays/settings-defs.ts +7 -0
- package/src/overlays/settings-selector.ts +38 -68
- package/src/overlays/tree-selector.d.ts +92 -0
- package/src/overlays/tree-selector.ts +48 -78
- package/src/overlays/usage-dashboard.ts +247 -68
- package/src/overlays/usage-display.ts +74 -1
- package/src/overlays/usage-row.d.ts +17 -0
- package/src/prompt/composer-attachments.d.ts +78 -0
- package/src/prompt/composer-attachments.ts +54 -7
- package/src/prompt/composer-cache.ts +219 -197
- package/src/prompt/composer-hints.ts +75 -0
- package/src/prompt/composer.ts +136 -143
- package/src/prompt/custom-editor.ts +64 -149
- package/src/prompt/gradient-highlight.d.ts +32 -0
- package/src/prompt/gradient-highlight.ts +3 -3
- package/src/prompt/image-format.d.ts +4 -0
- package/src/prompt/image-references.d.ts +26 -0
- package/src/prompt/image-source.ts +52 -0
- package/src/prompt/macos-spelling.ts +24 -159
- package/src/prompt/magic-keywords.d.ts +65 -0
- package/src/prompt/magic-keywords.ts +120 -21
- package/src/prompt/markdown-prose.d.ts +15 -0
- package/src/prompt/markdown-prose.ts +2 -2
- package/src/prompt/model-mention-autocomplete.ts +22 -10
- package/src/prompt/model-mention-syntax.d.ts +24 -0
- package/src/prompt/orchestrate.ts +1 -1
- package/src/prompt/prompt-action-autocomplete.ts +9 -2
- package/src/prompt/prose-gate.ts +87 -0
- package/src/prompt/skill-tokens.d.ts +13 -0
- package/src/prompt/tips.txt +10 -8
- package/src/prompt/ultrathink.ts +1 -1
- package/src/prompt/video.ts +10 -20
- package/src/prompt/welcome.ts +94 -107
- package/src/prompt/word-completion.ts +205 -0
- package/src/prompt/workflow.ts +1 -1
- package/src/render/code-cell.d.ts +51 -0
- package/src/render/file-list.d.ts +22 -0
- package/src/render/hyperlink.d.ts +80 -0
- package/src/render/index.d.ts +16 -0
- package/src/render/output-block.d.ts +54 -0
- package/src/render/output-pane.d.ts +80 -0
- package/src/render/render-utils.d.ts +314 -0
- package/src/render/render-utils.ts +48 -27
- package/src/render/sixel.d.ts +21 -0
- package/src/render/status-line.d.ts +23 -0
- package/src/render/tool-card.d.ts +71 -0
- package/src/render/tree-list.d.ts +29 -0
- package/src/render/types.d.ts +17 -0
- package/src/render/utils.d.ts +43 -0
- package/src/render/width-aware-text.d.ts +29 -0
- package/src/render/width-aware-text.ts +9 -0
- package/src/setup/scenes/composer.ts +6 -13
- package/src/setup/scenes/glyph.ts +9 -2
- package/src/setup/scenes/model.ts +7 -14
- package/src/setup/scenes/sign-in.ts +33 -81
- package/src/setup/scenes/theme.ts +1 -0
- package/src/setup/scenes/types.ts +0 -27
- package/src/setup/wizard-overlay.ts +2 -0
- package/src/setup/wizard.ts +1 -1
- package/src/space-hold.d.ts +45 -0
- package/src/space-hold.ts +143 -0
- package/src/status-line/component.ts +379 -194
- package/src/status-line/context-usage.ts +15 -3
- package/src/status-line/host.ts +2 -0
- package/src/status-line/metrics.ts +3 -21
- package/src/status-line/segments.ts +98 -87
- package/src/status-line/startup.ts +181 -0
- package/src/status-line/types.ts +9 -2
- package/src/stdin-buffer.d.ts +81 -0
- package/src/stdin-buffer.ts +32 -4
- package/src/symbols.d.ts +25 -0
- package/src/terminal-capabilities.d.ts +405 -0
- package/src/terminal-capabilities.ts +73 -20
- package/src/terminal-multiplexer.d.ts +20 -0
- package/src/terminal.d.ts +312 -0
- package/src/terminal.ts +257 -22
- package/src/theme/active-symbols.d.ts +12 -0
- package/src/theme/active-symbols.ts +20 -0
- package/src/theme/color.d.ts +25 -0
- package/src/theme/color.ts +15 -0
- package/src/theme/defaults/index.d.ts +9489 -0
- package/src/theme/glyph-bundle.json +824 -0
- package/src/theme/index.d.ts +4 -0
- package/src/theme/loader.d.ts +23 -0
- package/src/theme/mermaid-cache.d.ts +24 -0
- package/src/theme/mermaid-cache.ts +97 -29
- package/src/theme/schema.d.ts +25 -0
- package/src/theme/session-color.d.ts +43 -0
- package/src/theme/session-color.ts +26 -4
- package/src/theme/shimmer.d.ts +44 -0
- package/src/theme/shimmer.ts +55 -76
- package/src/theme/symbols.d.ts +34 -0
- package/src/theme/symbols.ts +89 -8
- package/src/theme/theme-class.d.ts +298 -0
- package/src/theme/theme-class.ts +29 -13
- package/src/theme/theme.d.ts +111 -0
- package/src/theme/theme.ts +2 -0
- package/src/theme/tui-adapters.d.ts +30 -0
- package/src/theme/tui-adapters.ts +14 -1
- package/src/tmux.d.ts +14 -0
- package/src/tmux.ts +38 -0
- package/src/tools/agent-tree.d.ts +36 -0
- package/src/tools/ask.d.ts +67 -0
- package/src/tools/ast-edit.d.ts +53 -0
- package/src/tools/ast-grep.d.ts +52 -0
- package/src/tools/bash-interactive.ts +2 -1
- package/src/tools/bash.d.ts +110 -0
- package/src/tools/bash.ts +68 -15
- package/src/tools/cfg-render.d.ts +37 -0
- package/src/tools/cfg-render.ts +117 -0
- package/src/tools/cfg-url.d.ts +16 -0
- package/src/tools/cfg-url.ts +30 -0
- package/src/tools/daemon.d.ts +46 -0
- package/src/tools/daemon.ts +51 -0
- package/src/tools/debug.d.ts +60 -0
- package/src/tools/default-renderer.d.ts +24 -0
- package/src/tools/edit.d.ts +158 -0
- package/src/tools/edit.ts +110 -29
- package/src/tools/eval-format/index.d.ts +5 -0
- package/src/tools/eval-format/index.ts +1 -0
- package/src/tools/eval-format/javascript.d.ts +2 -0
- package/src/tools/eval-format/python.d.ts +2 -0
- package/src/tools/eval.d.ts +101 -0
- package/src/tools/eval.ts +31 -16
- package/src/tools/fetch.d.ts +42 -0
- package/src/tools/find.d.ts +82 -0
- package/src/tools/find.ts +269 -0
- package/src/tools/gh-format.d.ts +8 -0
- package/src/tools/github.d.ts +144 -0
- package/src/tools/glob.d.ts +44 -0
- package/src/tools/goal.d.ts +42 -0
- package/src/tools/grep.d.ts +64 -0
- package/src/tools/grouped-file-output.d.ts +71 -0
- package/src/tools/hashline-format.d.ts +28 -0
- package/src/tools/hub.ts +9 -3
- package/src/tools/index.d.ts +4 -0
- package/src/tools/index.ts +4 -2
- package/src/tools/irc.d.ts +30 -0
- package/src/tools/irc.ts +33 -0
- package/src/tools/json-tree.d.ts +59 -0
- package/src/tools/line-ranges.d.ts +29 -0
- package/src/tools/line-ranges.ts +13 -3
- package/src/tools/list-limit.d.ts +15 -0
- package/src/tools/lsp.d.ts +72 -0
- package/src/tools/mcp.d.ts +83 -0
- package/src/tools/mcp.ts +3 -1
- package/src/tools/memory.d.ts +67 -0
- package/src/tools/output-meta.d.ts +154 -0
- package/src/tools/output-meta.ts +13 -3
- package/src/tools/proc-render.d.ts +27 -0
- package/src/tools/proc-render.ts +270 -0
- package/src/tools/read.d.ts +153 -0
- package/src/tools/read.ts +118 -56
- package/src/tools/renderer.d.ts +98 -0
- package/src/tools/report-tool-issue.d.ts +8 -0
- package/src/tools/resolve.d.ts +47 -0
- package/src/tools/result-card.d.ts +20 -0
- package/src/tools/result-card.ts +36 -0
- package/src/tools/streaming-output.d.ts +282 -0
- package/src/tools/streaming-output.ts +79 -16
- package/src/tools/subprocess.d.ts +24 -0
- package/src/tools/task-repair-args.d.ts +53 -0
- package/src/tools/task-yield-assembly.d.ts +28 -0
- package/src/tools/task-yield-assembly.ts +34 -8
- package/src/tools/task.d.ts +433 -0
- package/src/tools/task.ts +40 -14
- package/src/tools/terminal-output.d.ts +8 -0
- package/src/tools/think.d.ts +13 -0
- package/src/tools/todo.d.ts +118 -0
- package/src/tools/tool-errors.d.ts +7 -0
- package/src/tools/url-scheme-host.d.ts +29 -0
- package/src/tools/url-scheme-host.ts +42 -0
- package/src/tools/vibe.d.ts +124 -0
- package/src/tools/vibe.ts +15 -2
- package/src/tools/wait.d.ts +131 -0
- package/src/tools/wait.ts +595 -0
- package/src/tools/web-search-types.d.ts +90 -0
- package/src/tools/web-search-types.ts +99 -0
- package/src/tools/web-search.d.ts +36 -0
- package/src/tools/web-search.ts +1 -166
- package/src/tools/write.d.ts +82 -0
- package/src/tools/write.ts +120 -1
- package/src/tools/xd-url.d.ts +21 -0
- package/src/tools/xd-url.ts +9 -0
- package/src/tools/xdev.d.ts +60 -0
- package/src/tools/xdev.ts +9 -1
- package/src/ttyid.d.ts +9 -0
- package/src/tui.d.ts +435 -0
- package/src/tui.ts +237 -165
- package/src/utils.d.ts +116 -0
- package/src/utils.ts +79 -0
- package/src/vim.d.ts +94 -0
- package/src/windows-altgr.d.ts +54 -0
- package/src/windows-altgr.ts +227 -0
- package/dist/types/chat/read-target.d.ts +0 -4
- package/dist/types/overlays/tiny-title-download-progress.d.ts +0 -21
- package/dist/types/setup/scenes/providers.d.ts +0 -3
- package/dist/types/setup/scenes/web-search.d.ts +0 -22
- package/src/chat/read-target.ts +0 -7
- package/src/overlays/tiny-title-download-progress.ts +0 -104
- package/src/setup/scenes/providers.ts +0 -120
- package/src/setup/scenes/web-search.ts +0 -182
package/CHANGELOG.md
CHANGED
|
@@ -2,9 +2,405 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
-
## [1.1.
|
|
5
|
+
## [1.1.22] - 2026-09-30
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- CLI bin 命名(zeta-c)相关键位提示文案对齐;组件 API 无破坏。
|
|
8
|
+
- header 支持 `setHeader` 扩展挂点(产品常驻入口圆角按钮),`theme.boxRound` 制表符绘制。
|
|
9
|
+
|
|
10
|
+
## [14.9.8] - 2026-05-12
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Added `Terminal.setProgress(active)` to emit OSC 9;4 progress sequences with a ~1s keepalive interval so Ghostty does not clear the indicator during long-running work (ports pi-mono `a900d251` + `76bc605a`)
|
|
15
|
+
- Added optional `argumentHint?: string` to `SlashCommand`; rendered before the description in the autocomplete dropdown (ports pi-mono `aa25726e`)
|
|
16
|
+
- Added `VirtualTerminal.waitForRender()` test helper for the throttled render pipeline (ports pi-mono `41377ee8`)
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- `ProcessTerminal` `columns`/`rows` getters consult `Bun.env.COLUMNS` / `Bun.env.LINES` before falling back to 80×24, so piped/non-TTY runs honour environment-provided dimensions (ports pi-mono `32f7fc6a`)
|
|
21
|
+
- `requestRender()` non-force calls are coalesced to a ~16ms frame budget; `requestRender(true)` still flushes immediately via `process.nextTick` (ports pi-mono `6f5f37f8`)
|
|
22
|
+
- `KNOWN_TERMINALS.base` / `KNOWN_TERMINALS.trueColor` default `hyperlinks: false`; tmux and screen (`TMUX` env or `TERM` starts with `tmux`/`screen`) force `hyperlinks: false` even when the outer terminal would advertise OSC 8 (adapts pi-mono `30a8a41f`)
|
|
23
|
+
- `SlashCommand.getArgumentCompletions()` may return a `Promise`; results are now awaited and non-array returns are ignored (ports pi-mono `a1e10789`)
|
|
24
|
+
- Fuzzy `@` autocomplete now follows symlinked directories via `ScanOptions.follow_links` plumbed through the native walker (ports pi-mono `780d5367`)
|
|
25
|
+
- Plain `@<query>` (no slash) fuzzy matches by basename only, so `@plan` no longer surfaces every file whose ancestor directories contain `plan` (ports pi-mono `968430f6`)
|
|
26
|
+
- Changed slash-command autocomplete list rendering to combine command hint and description in a single displayed suggestion text
|
|
27
|
+
- Changed render scheduling to throttle `requestRender` calls to roughly 60fps by batching updates
|
|
28
|
+
- Changed terminal input handling to process complete cell-size responses without buffering partial input
|
|
29
|
+
- Changed `KeyId` to accept super-modifier combinations and improve typed key-id validation
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- Fixed editor corruption on Thai Sara Am (U+0E33) and Lao AM (U+0EB3) vowels by normalizing to their compatibility decompositions on the terminal-write path while keeping editor content logically unchanged (ports pi-mono `bc668826` + `338ce3a3` + `20ca45d5`)
|
|
34
|
+
- Fixed cell-size detection (`CSI 6;h;w t` response) to consume only exact replies, so a bare `Escape` keystroke is no longer swallowed while waiting for terminal image metadata (ports pi-mono `49c0d860`)
|
|
35
|
+
- Fixed Kitty CSI-u printable input duplicating on layouts (e.g. Italian) where the terminal also emits the raw character: the immediately-following matching codepoint is now suppressed (ports pi-mono `bdb416cb`)
|
|
36
|
+
- Fixed bracketed-paste CSI-u `Ctrl+<letter>` re-encoding (tmux popup with `extended-keys-format=csi-u`) leaking literal `[<code>;5u` into the editor; control bytes are decoded back to their literal byte before per-char filtering (ports pi-mono `d06db09a`)
|
|
37
|
+
- Fixed xterm `modifyOtherKeys` shifted printable input so uppercase letters inserted via `CSI 27;mod;codepoint~` reach the editor correctly (ports pi-mono `6b55d685`)
|
|
38
|
+
- Fixed `super`-modified Kitty shortcuts (`super+k`, `ctrl+super+enter`, …) to parse and match via the new `KITTY_MOD_SUPER` mask (ports pi-mono `ddb8454c` + `5ed46003`)
|
|
39
|
+
- Fixed `ctrl+alt+<letter>` in tmux falling through to CSI-u / `modifyOtherKeys` when the legacy `ESC<ctrl-char>` form does not match (ports pi-mono `6cf5098f`)
|
|
40
|
+
- Fixed Markdown strikethrough requiring strict `~~text~~` delimiters with non-whitespace boundaries; single tildes no longer render strikethrough (ports pi-mono `db5274b4`)
|
|
41
|
+
- Allowed `SlashCommand.getArgumentCompletions` to return asynchronous results by accepting Promise-based completions
|
|
42
|
+
- Added `argumentHint` support to slash command definitions and displayed it in command suggestion descriptions
|
|
43
|
+
- Added support for xterm `modifyOtherKeys` printable key sequences by decoding `CSI 27;mod;key~` into text input
|
|
44
|
+
- Normalized line output during rendering to correct Thai/Lao AM glyph composition for displayed text
|
|
45
|
+
- Fixed duplicated Kitty key input emissions by dropping the matching unmodified follow-up sequence after a Kitty CSI-u printable-key event
|
|
46
|
+
|
|
47
|
+
## [14.9.5] - 2026-05-12
|
|
48
|
+
|
|
49
|
+
### Fixed
|
|
50
|
+
|
|
51
|
+
- Fixed rapidly blinking cursor artifact during task execution by consolidating cursor control sequences into the synchronized output buffer ([#992](https://github.com/can1357/oh-my-pi/issues/992))
|
|
52
|
+
|
|
53
|
+
## [14.5.7] - 2026-04-29
|
|
54
|
+
|
|
55
|
+
### Fixed
|
|
56
|
+
|
|
57
|
+
- Fixed editor Ctrl+Enter handling to recognize NumLock and keypad Enter variants.
|
|
58
|
+
|
|
59
|
+
## [14.3.0] - 2026-04-25
|
|
60
|
+
|
|
61
|
+
### Fixed
|
|
62
|
+
|
|
63
|
+
- Fixed shared Markdown Mermaid fenced-block rendering to resolve diagrams from fenced source text instead of external prerender state
|
|
64
|
+
|
|
65
|
+
## [14.1.1] - 2026-04-14
|
|
66
|
+
|
|
67
|
+
### Breaking Changes
|
|
68
|
+
|
|
69
|
+
- Removed the `searchDb` constructor argument from `CombinedAutocompleteProvider`, requiring callers to use the built-in search behavior
|
|
70
|
+
|
|
71
|
+
### Changed
|
|
72
|
+
|
|
73
|
+
- Changed truncation debug logging to run only when `debugRedraw` is enabled
|
|
74
|
+
|
|
75
|
+
## [14.0.5] - 2026-04-11
|
|
76
|
+
|
|
77
|
+
### Changed
|
|
78
|
+
|
|
79
|
+
- Updated hash computation to use `Bun.hash()` instead of `Bun.hash.xxHash64()`, which may return `number` in addition to `bigint`
|
|
80
|
+
- Simplified cache key computation in Box component by removing intermediate hash updates and consolidating hash operations
|
|
81
|
+
- Wrapped native text utility functions (`sliceWithWidth`, `truncateToWidth`, `wrapTextWithAnsi`, `extractSegments`) to automatically pass the current default tab width, simplifying the API for consumers
|
|
82
|
+
- Added `getIndentationNoescape` wrapper that uses `process.cwd()` as the project root for relative file paths
|
|
83
|
+
- Re-export `getDefaultTabWidth`, `getIndentation`, and `setDefaultTabWidth` from `@linxiraos/pi-utils`; native text helpers still receive tab width via wrappers that read the JS default
|
|
84
|
+
|
|
85
|
+
## [13.16.1] - 2026-03-27
|
|
86
|
+
|
|
87
|
+
### Added
|
|
88
|
+
|
|
89
|
+
- Support for optional SearchDb parameter in CombinedAutocompleteProvider constructor for improved fuzzy search performance
|
|
90
|
+
- Fuzzy matching filter for autocomplete suggestions to improve relevance of results
|
|
91
|
+
|
|
92
|
+
### Changed
|
|
93
|
+
|
|
94
|
+
- Fuzzy discovery now applies fuzzy matching filter to results for improved relevance of autocomplete suggestions
|
|
95
|
+
- Autocomplete fuzzy discovery now accepts optional SearchDb instance for faster searches
|
|
96
|
+
|
|
97
|
+
## [13.16.0] - 2026-03-27
|
|
98
|
+
|
|
99
|
+
### Changed
|
|
100
|
+
|
|
101
|
+
- Updated tab replacement in editor text sanitization to respect configured tab width setting
|
|
102
|
+
|
|
103
|
+
## [13.15.0] - 2026-03-23
|
|
104
|
+
|
|
105
|
+
### Added
|
|
106
|
+
|
|
107
|
+
- Added `renderInlineMarkdown()` function to render inline markdown (bold, italic, code, links, strikethrough) to styled strings
|
|
108
|
+
|
|
109
|
+
### Fixed
|
|
110
|
+
|
|
111
|
+
- Fixed editor consuming user-rebound copy keys, preventing custom keybindings from working in the editor
|
|
112
|
+
|
|
113
|
+
## [13.14.1] - 2026-03-21
|
|
114
|
+
|
|
115
|
+
### Added
|
|
116
|
+
|
|
117
|
+
- Added Ctrl+_ as an additional default shortcut for undo
|
|
118
|
+
|
|
119
|
+
### Fixed
|
|
120
|
+
|
|
121
|
+
- Ensured undo functionality respects user-configured keybindings
|
|
122
|
+
|
|
123
|
+
## [13.12.0] - 2026-03-14
|
|
124
|
+
|
|
125
|
+
### Added
|
|
126
|
+
|
|
127
|
+
- Added `moveToMessageStart()` and `moveToMessageEnd()` methods to move cursor to the beginning and end of the entire message
|
|
128
|
+
|
|
129
|
+
### Fixed
|
|
130
|
+
|
|
131
|
+
- Fixed autocomplete to preserve `./` prefix when completing relative file and directory paths
|
|
132
|
+
- Fixed paste marker expansion to handle special regex replacement tokens ($1, $2, $&, $$, $`, $') literally in pasted content
|
|
133
|
+
|
|
134
|
+
## [13.11.0] - 2026-03-12
|
|
135
|
+
|
|
136
|
+
### Fixed
|
|
137
|
+
|
|
138
|
+
- Fixed OSC 11 background color detection to correctly handle partial escape sequences that arrive mid-buffer, preventing user input from being swallowed
|
|
139
|
+
- Fixed race condition where overlapping OSC 11 queries would be incorrectly cancelled by DA1 sentinels from previous queries
|
|
140
|
+
|
|
141
|
+
## [13.7.5] - 2026-03-04
|
|
142
|
+
|
|
143
|
+
### Changed
|
|
144
|
+
|
|
145
|
+
- Extracted word navigation logic into reusable `moveWordLeft` and `moveWordRight` utility functions for consistent cursor movement across components
|
|
146
|
+
|
|
147
|
+
## [13.6.2] - 2026-03-03
|
|
148
|
+
|
|
149
|
+
### Fixed
|
|
150
|
+
|
|
151
|
+
- Fixed cursor positioning when content shrinks to empty without clearOnShrink enabled
|
|
152
|
+
|
|
153
|
+
## [13.5.4] - 2026-03-01
|
|
154
|
+
|
|
155
|
+
### Fixed
|
|
156
|
+
|
|
157
|
+
- Fixed viewport repaint scrollback accounting during resize oscillation to avoid double-scrolling on height shrink and added exact-row scrollback assertions in overlay regression coverage ([#228](https://github.com/can1357/oh-my-pi/issues/228), [#234](https://github.com/can1357/oh-my-pi/issues/234))
|
|
158
|
+
|
|
159
|
+
## [13.5.3] - 2026-03-01
|
|
160
|
+
|
|
161
|
+
### Fixed
|
|
162
|
+
|
|
163
|
+
- Fixed append rendering logic to correctly handle offscreen header changes during content overflow growth, preserving scroll history integrity
|
|
164
|
+
- Fixed visible tail line updates when appending new content during viewport overflow conditions
|
|
165
|
+
- Fixed cursor positioning instability when appending content under external cursor relocation by using absolute screen addressing instead of relative cursor movement
|
|
166
|
+
|
|
167
|
+
## [13.5.2] - 2026-03-01
|
|
168
|
+
|
|
169
|
+
### Breaking Changes
|
|
170
|
+
|
|
171
|
+
- Removed `getMermaidImage` callback from MarkdownTheme; replaced with `getMermaidAscii` that accepts ASCII string instead of image data
|
|
172
|
+
- Removed mermaid module exports (`renderMermaidToPng`, `extractMermaidBlocks`, `prerenderMermaidBlocks`, `MermaidImage` interface)
|
|
173
|
+
|
|
174
|
+
### Changed
|
|
175
|
+
|
|
176
|
+
- Mermaid diagrams now render as ASCII text instead of terminal graphics protocol images
|
|
177
|
+
|
|
178
|
+
## [13.5.1] - 2026-03-01
|
|
179
|
+
|
|
180
|
+
### Fixed
|
|
181
|
+
|
|
182
|
+
- Fixed viewport shift handling to prevent stale content when mixed updates remap screen rows
|
|
183
|
+
|
|
184
|
+
## [13.5.0] - 2026-03-01
|
|
185
|
+
|
|
186
|
+
### Breaking Changes
|
|
187
|
+
|
|
188
|
+
- Removed `PI_TUI_RESIZE_CLEAR_STRATEGY`; resize behavior is no longer configurable between viewport/scrollback modes. The renderer now uses fixed semantics: width changes perform a hard reset (`3J` + full content rewrite), while height changes and diff fallbacks use viewport-scoped repainting.
|
|
189
|
+
|
|
190
|
+
### Added
|
|
191
|
+
|
|
192
|
+
- Added a new terminal regression suite in `packages/tui/test/render-regressions.test.ts` covering no-op render stability, targeted middle-line diffs, shrink cleanup, width-resize truncation without ghost rows, shrink/grow viewport tail anchoring, scrollback deduplication across forced redraws, overlay restore behavior, and rapid mutation convergence.
|
|
193
|
+
- Expanded `packages/tui/test/overlay-scroll.test.ts` with stress coverage for overflow shrink/regrow cycles, resize oscillation, overlay toggle churn, no-op render loops, and hardware-cursor-only updates while bounding scrollback growth and blank-run artifacts.
|
|
194
|
+
|
|
195
|
+
### Changed
|
|
196
|
+
|
|
197
|
+
- Refactored render orchestration to explicit `hardReset` and `viewportRepaint` paths, with targeted fallbacks for offscreen diff ranges and unsafe row deltas.
|
|
198
|
+
- Switched startup to `requestRender(true)` so the first frame always initializes renderer state with a forced full path.
|
|
199
|
+
- Replaced legacy viewport bookkeeping (`previousViewportTop`) with `viewportTopRow` tracking and consistent screen-relative cursor calculations.
|
|
200
|
+
- Updated stop-sequence cursor placement to target the visible working area and clamp to terminal bounds before final newline emission.
|
|
201
|
+
- Documented the intentional performance policy of not forcing full repaint on every viewport-top shift, relying on narrower safety guards instead.
|
|
202
|
+
|
|
203
|
+
### Fixed
|
|
204
|
+
|
|
205
|
+
- Fixed stale/duplicated terminal cursor dedup state by synchronizing `#lastCursorSequence` in all render write paths (hard reset, viewport repaint, deleted-lines clear path, append fast path, and differential path).
|
|
206
|
+
- Fixed scroll overshoot on `stop()` when content fills the viewport by clamping target row movement to valid screen rows.
|
|
207
|
+
|
|
208
|
+
## [13.4.0] - 2026-03-01
|
|
209
|
+
|
|
210
|
+
### Added
|
|
211
|
+
|
|
212
|
+
- Added `PI_TUI_RESIZE_CLEAR_STRATEGY` environment variable to control terminal behavior on resize: `viewport` (default) clears/redraws the viewport while preserving scrollback, or `scrollback` clears all history
|
|
213
|
+
|
|
214
|
+
### Changed
|
|
215
|
+
|
|
216
|
+
- Changed resize redraw behavior to use configurable clear semantics (`viewport` vs `scrollback`) while keeping full content rendering for scrollback navigation
|
|
217
|
+
|
|
218
|
+
### Fixed
|
|
219
|
+
|
|
220
|
+
- Fixed loader component rendering lines wider than terminal width, preventing text overflow and display artifacts
|
|
221
|
+
|
|
222
|
+
## [13.3.11] - 2026-02-28
|
|
223
|
+
|
|
224
|
+
### Fixed
|
|
225
|
+
|
|
226
|
+
- Restored terminal image protocol override and fallback detection for image rendering, including `PI_FORCE_IMAGE_PROTOCOL` support and Kitty fallback for screen/tmux/ghostty-style TERM environments.
|
|
227
|
+
|
|
228
|
+
## [13.3.8] - 2026-02-28
|
|
229
|
+
|
|
230
|
+
### Breaking Changes
|
|
231
|
+
|
|
232
|
+
- Changed mermaid hash type from string to bigint in `getMermaidImage` callback and `extractMermaidBlocks` return type
|
|
233
|
+
- Removed `mime-types` and `@types/mime-types` from dependencies
|
|
234
|
+
- Removed `@xterm/xterm` from dependencies
|
|
235
|
+
|
|
236
|
+
### Changed
|
|
237
|
+
|
|
238
|
+
- Updated mermaid hash computation to use `Bun.hash.xxHash64()` instead of `Bun.hash().toString(16)`
|
|
239
|
+
|
|
240
|
+
## [12.19.0] - 2026-02-22
|
|
241
|
+
|
|
242
|
+
### Added
|
|
243
|
+
|
|
244
|
+
- Added `getTopBorderAvailableWidth()` method to calculate available width for top border content accounting for border characters and padding
|
|
245
|
+
|
|
246
|
+
### Fixed
|
|
247
|
+
|
|
248
|
+
- Fixed stale viewport rows appearing when terminal height increases by triggering full re-render on height changes
|
|
249
|
+
|
|
250
|
+
## [12.18.0] - 2026-02-21
|
|
251
|
+
|
|
252
|
+
### Fixed
|
|
253
|
+
|
|
254
|
+
- Fixed viewport synchronization issue by clearing scrollback when terminal state becomes desynced during full re-renders
|
|
255
|
+
|
|
256
|
+
## [12.12.2] - 2026-02-19
|
|
257
|
+
|
|
258
|
+
### Fixed
|
|
259
|
+
|
|
260
|
+
- Fixed non-forced full re-renders clearing terminal scrollback history during streaming updates by limiting scrollback clears to explicit forced re-renders.
|
|
261
|
+
|
|
262
|
+
## [12.12.0] - 2026-02-19
|
|
263
|
+
|
|
264
|
+
### Added
|
|
265
|
+
|
|
266
|
+
- Added PageUp/PageDown navigation for editor content and autocomplete selection to jump across long wrapped inputs faster.
|
|
267
|
+
|
|
268
|
+
### Fixed
|
|
269
|
+
|
|
270
|
+
- Fixed history-entry navigation anchoring (Up opens at top, Down opens at bottom) and preserved editor scroll context when max-height changes to keep cursor movement visible in long prompts ([#99](https://github.com/can1357/oh-my-pi/issues/99)).
|
|
271
|
+
|
|
272
|
+
## [12.11.3] - 2026-02-19
|
|
273
|
+
|
|
274
|
+
### Fixed
|
|
275
|
+
|
|
276
|
+
- Fixed differential deleted-line rendering when content shrinks to empty so stale first-row content is cleared reliably.
|
|
277
|
+
- Fixed incremental stale-row clearing to use erase-below semantics in synchronized output, reducing leftover-line artifacts after shrink operations.
|
|
278
|
+
|
|
279
|
+
## [12.9.0] - 2026-02-17
|
|
280
|
+
|
|
281
|
+
### Added
|
|
282
|
+
|
|
283
|
+
- Exported `getTerminalId()` function to get a stable identifier for the current terminal, with support for TTY device paths and terminal multiplexers
|
|
284
|
+
- Exported `getTtyPath()` function to resolve the TTY device path for stdin via POSIX `ttyname(3)`
|
|
285
|
+
|
|
286
|
+
## [12.5.0] - 2026-02-15
|
|
287
|
+
|
|
288
|
+
### Added
|
|
289
|
+
|
|
290
|
+
- Added `cursorOverride` and `cursorOverrideWidth` properties to customize the end-of-text cursor glyph with ANSI-styled strings
|
|
291
|
+
- Added `getUseTerminalCursor()` method to query the terminal cursor mode setting
|
|
292
|
+
|
|
293
|
+
## [11.10.0] - 2026-02-10
|
|
294
|
+
|
|
295
|
+
### Added
|
|
296
|
+
|
|
297
|
+
- Added `hint` property to autocomplete items to display dim ghost text after cursor when item is selected
|
|
298
|
+
- Added `getInlineHint()` method to `SlashCommand` interface for providing inline hint text based on argument state
|
|
299
|
+
- Added `getInlineHint()` method to `AutocompleteProvider` interface for displaying dim ghost text after cursor
|
|
300
|
+
- Added `hintStyle` theme option to customize styling of inline hint/ghost text in editor
|
|
301
|
+
|
|
302
|
+
### Changed
|
|
303
|
+
|
|
304
|
+
- Updated editor to render inline hint text as dim ghost text after cursor when autocomplete suggestions are active or provider supplies hints
|
|
305
|
+
|
|
306
|
+
## [11.8.0] - 2026-02-10
|
|
307
|
+
|
|
308
|
+
### Added
|
|
309
|
+
|
|
310
|
+
- Added Alt+Y keybinding to cycle through kill ring entries (yank-pop)
|
|
311
|
+
- Added undo support to Input component with Ctrl+Z keybinding
|
|
312
|
+
- Added kill ring support to Input component for Emacs-style kill/yank operations
|
|
313
|
+
- Added yank (Ctrl+Y) and yank-pop (Alt+Y) support to Input component
|
|
314
|
+
|
|
315
|
+
### Changed
|
|
316
|
+
|
|
317
|
+
- Changed Editor kill ring implementation to use dedicated KillRing class for better state management
|
|
318
|
+
- Changed Editor undo stack to use generic UndoStack class with automatic state cloning
|
|
319
|
+
- Changed kill/yank behavior to properly accumulate consecutive kill operations
|
|
320
|
+
- Changed Input component deletion methods to record killed text in kill ring
|
|
321
|
+
- Changed undo coalescing in Input component to group consecutive word typing into single undo units
|
|
322
|
+
|
|
323
|
+
## [11.4.1] - 2026-02-06
|
|
324
|
+
|
|
325
|
+
### Fixed
|
|
326
|
+
|
|
327
|
+
- Fixed terminal scrolling when displaying overlays after rendering large content, preventing hundreds of blank lines from being output
|
|
328
|
+
|
|
329
|
+
## [11.3.0] - 2026-02-06
|
|
330
|
+
|
|
331
|
+
### Breaking Changes
|
|
332
|
+
|
|
333
|
+
- Removed `getCursorPosition()` method from Component interface and implementations, eliminating hardware cursor positioning support
|
|
334
|
+
|
|
335
|
+
### Added
|
|
336
|
+
|
|
337
|
+
- Added sticky column behavior for vertical cursor movement, preserving target column when navigating through lines of varying lengths
|
|
338
|
+
- Added `drainInput()` method to Terminal interface to prevent Kitty key release events from leaking to parent shell over slow SSH connections
|
|
339
|
+
- Added `setClearOnShrink()` method to control whether full re-render occurs when content shrinks below working area
|
|
340
|
+
- Added support for hidden paths (e.g., `.pi`, `.github`) in autocomplete while excluding `.git` directories
|
|
341
|
+
|
|
342
|
+
### Changed
|
|
343
|
+
|
|
344
|
+
- Changed default value of `PI_HARDWARE_CURSOR` environment variable from implicit true to explicit `"1"` for clarity
|
|
345
|
+
- Changed default value of `PI_CLEAR_ON_SHRINK` environment variable from implicit false to explicit `"0"` for clarity
|
|
346
|
+
- Changed TUI to clear screen on startup to prevent shell prompts and status messages from bleeding into the first rendered frame
|
|
347
|
+
- Refactored full-render logic into reusable helper function to reduce code duplication across multiple render paths
|
|
348
|
+
- Changed autocomplete to include hidden paths but filter out `.git` and its contents
|
|
349
|
+
- Changed Input component to properly handle surrogate pairs in Unicode text, preventing cursor display corruption with emoji and multi-byte characters
|
|
350
|
+
- Changed Editor to use `setCursorCol()` for all cursor column updates, enabling sticky column tracking
|
|
351
|
+
- Changed Editor's vertical navigation to implement sticky column logic via `moveToVisualLine()` and `computeVerticalMoveColumn()`
|
|
352
|
+
- Changed Editor's Enter key handling to extract submit logic into `submitValue()` method for better code organization
|
|
353
|
+
- Changed SettingsList to truncate long lines to viewport width, preventing text overflow
|
|
354
|
+
- Changed Terminal's `stop()` method to drain stdin before restoring raw mode, fixing race condition where Ctrl+D could close parent shell over SSH
|
|
355
|
+
- Changed TUI rendering to add `clearOnShrink` option (controlled by `PI_CLEAR_ON_SHRINK` env var) for reducing redraws on slower terminals
|
|
356
|
+
- Changed TUI rendering to detect when extra lines exceed viewport height and trigger full re-render instead of incremental updates
|
|
357
|
+
|
|
358
|
+
### Fixed
|
|
359
|
+
|
|
360
|
+
- Fixed rendering of extra blank lines when content shrinks by improving cursor positioning logic during line deletion
|
|
361
|
+
- Fixed cursor display position in Input component when scrolling horizontally through long text
|
|
362
|
+
- Fixed Kitty keyboard protocol disable sequence to use safe write method, preventing potential output buffering issues
|
|
363
|
+
- Fixed unnecessary full-screen redraws when changes occur in out-of-view components (e.g., spinners), reducing terminal scroll events and improving performance on slower connections
|
|
364
|
+
- Fixed scrollback clearing behavior to only clear screen instead of scrollback when resizing or shrinking content, preventing loss of terminal history
|
|
365
|
+
- Fixed `.git` directory appearing in autocomplete suggestions when filtering by prefix
|
|
366
|
+
- Fixed cursor position corruption in Input component when displaying text with emoji and combining characters
|
|
367
|
+
- Fixed `.git` directory appearing in autocomplete suggestions
|
|
368
|
+
- Fixed race condition where Kitty key release events could leak to parent shell after TUI exit over slow SSH connections
|
|
369
|
+
- Fixed Editor's word movement (Ctrl+Left/Right) to properly reset sticky column for subsequent vertical navigation
|
|
370
|
+
- Fixed Editor's undo operation to reset sticky column state when restoring cursor position
|
|
371
|
+
- Fixed Editor's right arrow key at end of last line to set sticky column for subsequent up/down navigation
|
|
372
|
+
- Fixed TUI rendering to correctly detect viewport changes and avoid false full-redraws after content shrinks
|
|
373
|
+
- Fixed Kitty protocol key parsing to prefer codepoint over base layout for Latin letters and symbols, fixing keyboard layout issues (e.g., Dvorak)
|
|
374
|
+
|
|
375
|
+
## [11.0.0] - 2026-02-05
|
|
376
|
+
|
|
377
|
+
### Added
|
|
378
|
+
|
|
379
|
+
- Introduced `terminal-capabilities.ts` module consolidating terminal detection and image protocol support
|
|
380
|
+
- Added `TerminalInfo` class with methods for detecting image lines and formatting notifications
|
|
381
|
+
- Added `NotifyProtocol` enum supporting Bell, OSC 99, and OSC 9 notification protocols
|
|
382
|
+
- Added `isNotificationSuppressed()` function to check `OMP_NOTIFICATIONS` environment variable
|
|
383
|
+
- Added `TERMINAL` constant providing detected terminal capabilities at runtime
|
|
384
|
+
|
|
385
|
+
### Changed
|
|
386
|
+
|
|
387
|
+
- Changed notification suppression environment variable from `OMP_NOTIFICATIONS` to `PI_NOTIFICATIONS`
|
|
388
|
+
- Changed TUI write log environment variable from `OMP_TUI_WRITE_LOG` to `PI_TUI_WRITE_LOG`
|
|
389
|
+
- Changed hardware cursor environment variable from `OMP_HARDWARE_CURSOR` to `PI_HARDWARE_CURSOR`
|
|
390
|
+
- Updated environment variable access to use `getEnv()` utility function from `@linxiraos/pi-utils` for consistent handling
|
|
391
|
+
- Renamed `TERMINAL_INFO` export to `TERMINAL` for clearer API semantics
|
|
392
|
+
- Reorganized terminal image exports from `terminal-image` to `terminal-capabilities` module
|
|
393
|
+
- Updated all internal references to use `TERMINAL` instead of `TERMINAL_INFO`
|
|
394
|
+
|
|
395
|
+
### Removed
|
|
396
|
+
|
|
397
|
+
- Removed `terminal-image` module exports from public API (functionality migrated to `terminal-capabilities`)
|
|
398
|
+
|
|
399
|
+
## [10.5.0] - 2026-02-04
|
|
400
|
+
|
|
401
|
+
### Fixed
|
|
402
|
+
|
|
403
|
+
- Treated inline image lines with cursor-move prefixes as image sequences to prevent width overflow crashes
|
|
8
404
|
|
|
9
405
|
## [9.8.0] - 2026-02-01
|
|
10
406
|
|
package/THIRD-PARTY-NOTICES.txt
CHANGED
|
@@ -78,8 +78,8 @@ below.
|
|
|
78
78
|
uutils coreutils (https://github.com/uutils/coreutils), MIT
|
|
79
79
|
--------------------------------------------------------------------------------
|
|
80
80
|
Covers: base32, base64, basename, cat, cksum (shared checksum machinery),
|
|
81
|
-
b2sum, md5sum, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum, comm,
|
|
82
|
-
date, dirname, head, hostname, ln, ls, mkdir, mktemp, mv, nproc, paste,
|
|
81
|
+
b2sum, md5sum, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum, comm, cp,
|
|
82
|
+
cut, date, dirname, head, hostname, ln, ls, mkdir, mktemp, mv, nproc, paste,
|
|
83
83
|
printenv, readlink, realpath, rm, seq, sort, stat, tac, tail, tee, touch, tr,
|
|
84
84
|
truncate, uname, uniq, wc, whoami, yes.
|
|
85
85
|
|
|
@@ -293,7 +293,7 @@ MIT License
|
|
|
293
293
|
Copyright (c) 2026 Sander Land
|
|
294
294
|
(measured tokenizer vocabulary data, reconstruction model, and reference
|
|
295
295
|
implementation: https://github.com/sanderland/ctok)
|
|
296
|
-
Copyright (c) 2026 Can Bölük and the
|
|
296
|
+
Copyright (c) 2026 Can Bölük and the omp contributors
|
|
297
297
|
Copyright (c) 2026 Stencil Labs, Inc.
|
|
298
298
|
(Rust implementation and the compact binary vocabulary encoding in
|
|
299
299
|
crates/pi-natives/src/utok/claude)
|
|
@@ -335,43 +335,6 @@ This license allows the work and adaptations of it to be shared and used
|
|
|
335
335
|
commercially, as long as it is attributed to Poppy Works. The font is bundled
|
|
336
336
|
here (crates/pi-natives/src/fonts/Silver.ttf) as a CJK/Unicode bitmap fallback.
|
|
337
337
|
|
|
338
|
-
-------------------------------------------------------------------------------
|
|
339
|
-
packages/utils/src/vendor/mermaid-ascii/NOTICE
|
|
340
|
-
|
|
341
|
-
This directory contains an in-house Mermaid-diagram-to-ASCII renderer adapted
|
|
342
|
-
from beautiful-mermaid (https://github.com/lukilabs/beautiful-mermaid), used
|
|
343
|
-
under the MIT License.
|
|
344
|
-
|
|
345
|
-
Copyright (c) 2026 Craft Docs
|
|
346
|
-
|
|
347
|
-
Only the ASCII rendering pipeline is ported (flowchart/state, sequence, class,
|
|
348
|
-
ER, and xychart diagrams); the SVG renderer and its `elkjs` graph-layout
|
|
349
|
-
dependency, the browser entry point, and the SVG theme/style modules were
|
|
350
|
-
dropped. Terminal display width is reimplemented on `Bun.stringWidth`, and
|
|
351
|
-
inline label formatting (HTML tags, markdown emphasis) is reduced to plain text
|
|
352
|
-
for ASCII output. Layout and edge-routing logic is preserved faithfully so
|
|
353
|
-
ASCII output matches the upstream package.
|
|
354
|
-
|
|
355
|
-
MIT License
|
|
356
|
-
|
|
357
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
358
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
359
|
-
in the Software without restriction, including without limitation the rights
|
|
360
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
361
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
362
|
-
furnished to do so, subject to the following conditions:
|
|
363
|
-
|
|
364
|
-
The above copyright notice and this permission notice shall be included in all
|
|
365
|
-
copies or substantial portions of the Software.
|
|
366
|
-
|
|
367
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
368
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
369
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
370
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
371
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
372
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
373
|
-
SOFTWARE.
|
|
374
|
-
|
|
375
338
|
-------------------------------------------------------------------------------
|
|
376
339
|
packages/coding-agent/src/markit/NOTICE
|
|
377
340
|
|
|
@@ -372,24 +372,9 @@ export declare class KeybindingsManager extends TuiKeybindingsManager {
|
|
|
372
372
|
* Get the effective resolved bindings (defaults + user overrides).
|
|
373
373
|
*/
|
|
374
374
|
getEffectiveConfig(): KeybindingsConfig;
|
|
375
|
-
/**
|
|
376
|
-
* Get display string for a keybinding (e.g., "ctrl+c/escape").
|
|
377
|
-
*/
|
|
375
|
+
/** Display string for a keybinding's keys (see {@link formatKeyHints}); empty when unbound. */
|
|
378
376
|
getDisplayString(keybinding: Keybinding): string;
|
|
379
377
|
}
|
|
380
|
-
|
|
381
|
-
export declare function setKeyHintPlatform(platform: NodeJS.Platform | undefined): void;
|
|
382
|
-
/** Platform currently used for key-hint rendering. */
|
|
383
|
-
export declare function keyHintPlatform(): NodeJS.Platform;
|
|
384
|
-
type Modifier = "ctrl" | "shift" | "alt" | "super";
|
|
385
|
-
/**
|
|
386
|
-
* Human label for a modifier, using each platform's own key names. `ctrl` and
|
|
387
|
-
* `shift` are the same everywhere; `alt`/`super` become `Option`/`Cmd` on macOS.
|
|
388
|
-
*/
|
|
389
|
-
export declare function modifierLabel(mod: Modifier, platform?: NodeJS.Platform): string;
|
|
390
|
-
/** Format a key chord with human-readable, platform-aware modifier labels. */
|
|
391
|
-
export declare function formatKeyHint(key: KeyId): string;
|
|
392
|
-
/** Format alternative key chords as slash-separated human-readable hints. */
|
|
393
|
-
export declare function formatKeyHints(keys: KeyId | KeyId[]): string;
|
|
378
|
+
export * from "./key-hint-format.js";
|
|
394
379
|
export type { Keybinding, KeybindingsConfig, KeyId };
|
|
395
380
|
export { migrateKeybindingsConfigFile };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `
|
|
2
|
+
* `omp git` — fullscreen repository TUI.
|
|
3
3
|
*
|
|
4
4
|
* Layout: header (file path, encoding, stage-file button, close), toolbar
|
|
5
5
|
* (scope chip, file/diff toggle, hunk navigation, hunk/inline/split view
|
|
@@ -62,5 +62,5 @@ export interface GitTuiHost {
|
|
|
62
62
|
* slash command). Resolves when the user closes it; the caller restores focus.
|
|
63
63
|
*/
|
|
64
64
|
export declare function showGitOverlay(ui: TUI, host: GitTuiHost): Promise<void>;
|
|
65
|
-
/** Run the fullscreen git TUI standalone (`
|
|
65
|
+
/** Run the fullscreen git TUI standalone (`omp git`) until the user quits. */
|
|
66
66
|
export declare function runGitTui(host: GitTuiHost): Promise<void>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DaemonSnapshot, DaemonSpec, DaemonState } from "../tools/
|
|
1
|
+
import type { DaemonSnapshot, DaemonSpec, DaemonState } from "../tools/daemon.js";
|
|
2
2
|
/** One broker scope: a project runtime dir or a machine-global service dir. */
|
|
3
3
|
export interface PsScope {
|
|
4
4
|
kind: "project" | "global";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Component, TUI } from "../tui.js";
|
|
2
|
-
import type { DaemonSnapshot, DaemonSpec } from "../tools/
|
|
2
|
+
import type { DaemonSnapshot, DaemonSpec } from "../tools/daemon.js";
|
|
3
3
|
import { type PsScope, type PsScopeReport, type PsTarget } from "./ps-data.js";
|
|
4
4
|
/** Options accepted by the interactive monitor: scope selection from the list flags. */
|
|
5
5
|
export interface PsTopOptions extends PsTarget {
|
|
@@ -15,6 +15,12 @@ export declare function findTrailingSlashCommandStart(text: string): number | nu
|
|
|
15
15
|
export declare function isDirectoryCompletionValue(value: string): boolean;
|
|
16
16
|
/** Ranked-tier subsequence match ("wig" ~ "skill:wig"); distinct from fuzzy.ts's word-local engine. */
|
|
17
17
|
export declare function subsequenceMatch(query: string, target: string): boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Whether an `@` file completion `value` still fits the live `@` token.
|
|
20
|
+
* The editor narrows a stale `@` list with this while a fresh search runs;
|
|
21
|
+
* mirrors the subsequence filter `getSuggestions` applies to fuzzy results.
|
|
22
|
+
*/
|
|
23
|
+
export declare function atCompletionMatches(token: string, value: string): boolean;
|
|
18
24
|
/** Ranked-tier subsequence score (100/80/60/40−gaps·5); higher is better, 0 is no match. */
|
|
19
25
|
export declare function subsequenceScore(query: string, target: string): number;
|
|
20
26
|
export interface AutocompleteItem {
|
|
@@ -43,8 +49,14 @@ export interface SlashCommand {
|
|
|
43
49
|
getInlineHint?(argumentText: string): string | null;
|
|
44
50
|
}
|
|
45
51
|
export interface AutocompleteProvider {
|
|
46
|
-
/**
|
|
47
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Get autocomplete suggestions for current text/cursor position. Expensive providers SHOULD stop when `signal` aborts.
|
|
54
|
+
* Slow providers MAY report interim suggestions through `onPartial` before resolving; the resolved value supersedes them.
|
|
55
|
+
*/
|
|
56
|
+
getSuggestions(lines: string[], cursorLine: number, cursorCol: number, signal?: AbortSignal, onPartial?: (suggestions: {
|
|
57
|
+
items: AutocompleteItem[];
|
|
58
|
+
prefix: string;
|
|
59
|
+
}) => void): Promise<{
|
|
48
60
|
items: AutocompleteItem[];
|
|
49
61
|
prefix: string;
|
|
50
62
|
} | null>;
|
|
@@ -114,7 +126,10 @@ export declare function midPromptSkillTokenMatches(lowerToken: string, name: str
|
|
|
114
126
|
export declare class CombinedAutocompleteProvider implements AutocompleteProvider {
|
|
115
127
|
#private;
|
|
116
128
|
constructor(commands?: CommandEntry[], basePath?: string, options?: CombinedAutocompleteOptions);
|
|
117
|
-
getSuggestions(lines: string[], cursorLine: number, cursorCol: number, signal?: AbortSignal
|
|
129
|
+
getSuggestions(lines: string[], cursorLine: number, cursorCol: number, signal?: AbortSignal, onPartial?: (suggestions: {
|
|
130
|
+
items: AutocompleteItem[];
|
|
131
|
+
prefix: string;
|
|
132
|
+
}) => void): Promise<{
|
|
118
133
|
items: AutocompleteItem[];
|
|
119
134
|
prefix: string;
|
|
120
135
|
} | null>;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* viewer ({@link AgentTranscriptViewer}) to render a parked subagent / advisor /
|
|
6
6
|
* collab-guest transcript that has no live session.
|
|
7
7
|
*
|
|
8
|
-
* Unlike
|
|
8
|
+
* Unlike incremental transcript sync, {@link ChatTranscriptBuilder.rebuild}
|
|
9
9
|
* always discards prior components and rebuilds the whole transcript from the
|
|
10
10
|
* supplied entries. Re-rendering a growing transcript is therefore O(n) in the
|
|
11
11
|
* entry count, but it cannot duplicate or misorder rows the way incremental
|
|
@@ -43,4 +43,28 @@ export declare class InvalidImageDataError extends Error {
|
|
|
43
43
|
export declare function imageDecodeFailureReason(image: ImageContent): Promise<string | null>;
|
|
44
44
|
/** Converts an image to PNG, rejecting when the runtime cannot decode or encode it. */
|
|
45
45
|
export declare function convertImageToPng(image: ImageContent): Promise<ImageContent>;
|
|
46
|
+
/**
|
|
47
|
+
* Content-addressed identity of an image payload, stable across components and
|
|
48
|
+
* transcript rebuilds. Callers key their own per-image state by this instead of
|
|
49
|
+
* positional ids like `${toolCallId}:${index}`, which go stale when the images
|
|
50
|
+
* behind a position are replaced.
|
|
51
|
+
*/
|
|
52
|
+
export declare function imagePayloadKey(image: ImageContent): string;
|
|
53
|
+
/**
|
|
54
|
+
* The PNG conversion of `image` when one is still resident, else `undefined`.
|
|
55
|
+
* Synchronous so renderers can use an already-converted image on the spot
|
|
56
|
+
* instead of scheduling another async re-render.
|
|
57
|
+
*/
|
|
58
|
+
export declare function cachedPngConversion(image: ImageContent): ImageContent | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* Converts `image` to PNG at most once per distinct payload: concurrent callers
|
|
61
|
+
* share one in-flight conversion and later callers hit {@link pngCache}.
|
|
62
|
+
* Kitty-graphics renderers use this because `convertImageToPng` is a full
|
|
63
|
+
* decode plus re-encode, and the same image is delivered repeatedly (read-result
|
|
64
|
+
* replay) and rebuilt from scratch on resume, rewind, and `/tree` navigation.
|
|
65
|
+
*
|
|
66
|
+
* Rejections are not cached — a payload that failed to decode is retried by the
|
|
67
|
+
* next caller, matching {@link convertImageToPng}'s contract.
|
|
68
|
+
*/
|
|
69
|
+
export declare function convertImageToPngShared(image: ImageContent): Promise<ImageContent>;
|
|
46
70
|
export declare function ensureSupportedImageInput(image: ImageContent): Promise<ImageContent | null>;
|
|
@@ -7,9 +7,9 @@ export declare function readArgsHaveTarget(args: unknown): boolean;
|
|
|
7
7
|
/**
|
|
8
8
|
* Whether a read collapses into the compact {@link ReadToolGroupComponent}
|
|
9
9
|
* rather than a full tool execution. Filesystem/external targets always
|
|
10
|
-
* collapse;
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* collapse; registered internal-URL schemes render full so their resolved
|
|
11
|
+
* content is visible, unless their spec declares `compactTranscript`
|
|
12
|
+
* (device listings/docs read better in the compact grouped view).
|
|
13
13
|
*/
|
|
14
14
|
export declare function readArgsCollapseIntoGroup(args: unknown): boolean;
|
|
15
15
|
/**
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { AgentMessage } from "@linxiraos/pi-agent-core";
|
|
2
|
+
/** Drop every memo slot so the next call recomputes from scratch. Tests only. */
|
|
3
|
+
export declare function resetThinkingDisplayCacheForTests(): void;
|
|
2
4
|
export declare function canonicalizeMessage(text: string | null | undefined): string;
|
|
3
5
|
/**
|
|
4
6
|
* Thinking text prepared for display. Both modes drop empty `<!-- -->`
|
|
@@ -31,6 +31,15 @@ export declare function transcriptEntryMessage(entry: TranscriptEntryLike): Agen
|
|
|
31
31
|
export declare function isUserRequestEntry(entry: TranscriptEntryLike | {
|
|
32
32
|
type: string;
|
|
33
33
|
}): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Recent transcript tail starting at a user-request boundary, so tool calls
|
|
36
|
+
* and results stay together. ChatTranscriptBuilder drops a tool result whose
|
|
37
|
+
* initiating call was sliced away, so a tail of orphaned results can leave
|
|
38
|
+
* the picker without any target.
|
|
39
|
+
*
|
|
40
|
+
* A whole user turn may exceed `limit`; paginate rendering if one turn grows too large.
|
|
41
|
+
*/
|
|
42
|
+
export declare function recentTranscriptEntries(entries: TranscriptEntryLike[], limit?: number): TranscriptEntryLike[];
|
|
34
43
|
/** Editable user request text, preserving skill invocation syntax. */
|
|
35
44
|
export declare function userTurnDraft(entry: TranscriptEntryLike): string | undefined;
|
|
36
45
|
/** Extract text blocks verbatim, optionally separating block boundaries. */
|