@linxiraos/pi-tui 1.1.23 → 1.1.24
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 +2 -5
- package/THIRD-PARTY-NOTICES.txt +3 -3
- package/dist/types/apps/cleanse-board.d.ts +17 -0
- package/dist/types/apps/debug/log-viewer.d.ts +17 -0
- package/dist/types/apps/debug/raw-sse.d.ts +14 -0
- package/dist/types/apps/git/diff-pane.d.ts +1 -1
- package/dist/types/apps/git/help.d.ts +16 -0
- package/dist/types/apps/git/sidebar.d.ts +18 -0
- package/dist/types/apps/live-visualizer.d.ts +10 -0
- package/dist/types/apps/ps-top.d.ts +15 -0
- package/dist/types/apps/standalone-picker.d.ts +3 -0
- package/dist/types/autocomplete.d.ts +8 -0
- package/dist/types/chat/advisor-message.d.ts +12 -2
- package/dist/types/chat/assistant-message.d.ts +21 -0
- package/dist/types/chat/bash-execution.d.ts +9 -0
- package/dist/types/chat/chat-transcript-builder.d.ts +6 -1
- package/dist/types/chat/collab-prompt-message.d.ts +4 -0
- package/dist/types/chat/compaction-summary-message.d.ts +15 -0
- package/dist/types/chat/eval-execution.d.ts +8 -0
- package/dist/types/chat/execution-shared.d.ts +58 -0
- package/dist/types/chat/late-diagnostics-message.d.ts +15 -1
- package/dist/types/chat/messages.d.ts +4 -0
- package/dist/types/chat/read-tool-group.d.ts +15 -0
- package/dist/types/chat/recap-notice.d.ts +13 -0
- package/dist/types/chat/skill-message.d.ts +9 -0
- package/dist/types/chat/stripped-tool-calls-placeholder.d.ts +3 -0
- package/dist/types/chat/todo-reminder.d.ts +4 -1
- package/dist/types/chat/tool-execution.d.ts +25 -1
- package/dist/types/chat/transcript-actions.d.ts +37 -0
- package/dist/types/chat/transcript-entry.d.ts +3 -1
- package/dist/types/chat/user-message.d.ts +25 -0
- package/dist/types/chrome/collab-qrcode.d.ts +7 -0
- package/dist/types/chrome/context-thresholds.d.ts +11 -0
- package/dist/types/chrome/countdown-timer.d.ts +9 -3
- package/dist/types/chrome/diff.d.ts +12 -0
- package/dist/types/chrome/dynamic-border.d.ts +3 -0
- package/dist/types/chrome/format.d.ts +6 -0
- package/dist/types/chrome/message-divider.d.ts +13 -0
- package/dist/types/chrome/message-frame.d.ts +10 -0
- package/dist/types/chrome/message-notice.d.ts +23 -0
- package/dist/types/chrome/overlay-box.d.ts +11 -2
- package/dist/types/chrome/qrcode.d.ts +7 -0
- package/dist/types/chrome/segment-track.d.ts +7 -0
- package/dist/types/chrome/status-notice.d.ts +14 -0
- package/dist/types/chrome/streaming-panel.d.ts +3 -0
- package/dist/types/chrome/tool-activity.d.ts +3 -0
- package/dist/types/chrome/transcript-container.d.ts +20 -0
- package/dist/types/chrome/transcript-status.d.ts +15 -3
- package/dist/types/components/box.d.ts +7 -0
- package/dist/types/components/disclosure.d.ts +9 -0
- package/dist/types/components/editor.d.ts +49 -0
- package/dist/types/components/form.d.ts +14 -0
- package/dist/types/components/image.d.ts +7 -0
- package/dist/types/components/input.d.ts +30 -1
- package/dist/types/components/key-value-list.d.ts +3 -0
- package/dist/types/components/layout/geometry.d.ts +16 -0
- package/dist/types/components/layout/row.d.ts +7 -0
- package/dist/types/components/layout/split-pane.d.ts +8 -0
- package/dist/types/components/layout/stack.d.ts +6 -0
- package/dist/types/components/loader.d.ts +48 -0
- package/dist/types/components/markdown.d.ts +8 -4
- package/dist/types/components/metric.d.ts +7 -0
- package/dist/types/components/progress-bar.d.ts +3 -0
- package/dist/types/components/scroll-view.d.ts +6 -0
- package/dist/types/components/section.d.ts +3 -0
- package/dist/types/components/select-list.d.ts +33 -0
- package/dist/types/components/settings-list.d.ts +68 -0
- package/dist/types/components/spacer.d.ts +4 -0
- package/dist/types/components/tab-bar.d.ts +9 -0
- package/dist/types/components/table.d.ts +7 -0
- package/dist/types/components/text.d.ts +6 -0
- package/dist/types/components/tree-view.d.ts +9 -0
- package/dist/types/components/truncated-text.d.ts +3 -0
- package/dist/types/components/wizard-step.d.ts +6 -0
- package/dist/types/hotkeys-markdown.d.ts +24 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/latex-block.d.ts +7 -0
- package/dist/types/native/apply.d.ts +39 -0
- package/dist/types/native/backend.d.ts +103 -0
- package/dist/types/native/blobs.d.ts +29 -0
- package/dist/types/native/describe.d.ts +56 -0
- package/dist/types/native/encode.d.ts +54 -0
- package/dist/types/native/icons.d.ts +18 -0
- package/dist/types/native/memo.d.ts +27 -0
- package/dist/types/native/node.d.ts +182 -0
- package/dist/types/native/overlay.d.ts +64 -0
- package/dist/types/native/picker.d.ts +124 -0
- package/dist/types/native/reconcile.d.ts +46 -0
- package/dist/types/native/settle.d.ts +11 -0
- package/dist/types/native/spans.d.ts +21 -0
- package/dist/types/native/state.d.ts +6 -0
- package/dist/types/native/tone.d.ts +24 -0
- package/dist/types/overlays/advisor-config.d.ts +28 -0
- package/dist/types/overlays/agent-hub-projection.d.ts +9 -0
- package/dist/types/overlays/agent-hub-renderer.d.ts +27 -11
- package/dist/types/overlays/agent-hub.d.ts +10 -0
- package/dist/types/overlays/agent-transcript-viewer.d.ts +7 -0
- package/dist/types/overlays/agents-hub.d.ts +8 -0
- package/dist/types/overlays/annotation-overlay.d.ts +3 -0
- package/dist/types/overlays/ask-dialog.d.ts +32 -4
- package/dist/types/overlays/bordered-loader.d.ts +3 -0
- package/dist/types/overlays/btw-history-panel.d.ts +9 -0
- package/dist/types/overlays/btw-panel.d.ts +3 -0
- package/dist/types/overlays/cleanse-panel.d.ts +5 -2
- package/dist/types/overlays/composer-shape-preview.d.ts +7 -1
- package/dist/types/overlays/copy-selector.d.ts +15 -0
- package/dist/types/overlays/error-banner.d.ts +13 -1
- package/dist/types/overlays/extensions/extension-dashboard.d.ts +31 -0
- package/dist/types/overlays/extensions/extension-list.d.ts +38 -0
- package/dist/types/overlays/extensions/inspector-panel.d.ts +8 -0
- package/dist/types/overlays/history-search.d.ts +18 -0
- package/dist/types/overlays/hook-editor.d.ts +40 -1
- package/dist/types/overlays/hook-input.d.ts +3 -0
- package/dist/types/overlays/hook-selector.d.ts +10 -0
- package/dist/types/overlays/hub-frame.d.ts +18 -0
- package/dist/types/overlays/jobs-panel.d.ts +74 -0
- package/dist/types/overlays/login-dialog.d.ts +10 -0
- package/dist/types/overlays/logout-account-selector.d.ts +4 -0
- package/dist/types/overlays/mcp-add-wizard.d.ts +4 -0
- package/dist/types/overlays/model-browser.d.ts +71 -0
- package/dist/types/overlays/model-hub.d.ts +9 -0
- package/dist/types/overlays/model-picker.d.ts +7 -0
- package/dist/types/overlays/move-overlay.d.ts +3 -0
- package/dist/types/overlays/oauth-selector.d.ts +4 -0
- package/dist/types/overlays/omfg-panel.d.ts +3 -0
- package/dist/types/overlays/pause-screen.d.ts +12 -0
- package/dist/types/overlays/plan-review-overlay.d.ts +5 -0
- package/dist/types/overlays/plan-save-overlay.d.ts +10 -0
- package/dist/types/overlays/plugin-selector.d.ts +4 -0
- package/dist/types/overlays/plugin-settings.d.ts +30 -0
- package/dist/types/overlays/queue-mode-selector.d.ts +4 -0
- package/dist/types/overlays/reset-usage-selector.d.ts +8 -0
- package/dist/types/overlays/rewind-selector.d.ts +18 -0
- package/dist/types/overlays/session-info-overlay.d.ts +19 -1
- package/dist/types/overlays/session-selector.d.ts +64 -1
- package/dist/types/overlays/settings-defs.d.ts +14 -0
- package/dist/types/overlays/settings-selector.d.ts +21 -0
- package/dist/types/overlays/show-images-selector.d.ts +4 -0
- package/dist/types/overlays/snapcompact-shape-preview.d.ts +2 -0
- package/dist/types/overlays/stats-notice.d.ts +8 -0
- package/dist/types/overlays/theme-selector.d.ts +11 -0
- package/dist/types/overlays/thinking-selector.d.ts +4 -0
- package/dist/types/overlays/tree-selector.d.ts +60 -2
- package/dist/types/overlays/usage-dashboard.d.ts +26 -3
- package/dist/types/overlays/usage-row.d.ts +36 -2
- package/dist/types/prompt/attachment-chips.d.ts +8 -0
- package/dist/types/prompt/composer-attachments.d.ts +15 -3
- package/dist/types/prompt/composer.d.ts +23 -4
- package/dist/types/prompt/custom-editor.d.ts +58 -4
- package/dist/types/prompt/editor-top-gap.d.ts +2 -0
- package/dist/types/prompt/macos-spelling.d.ts +6 -0
- package/dist/types/prompt/magic-keywords.d.ts +11 -0
- package/dist/types/prompt/queued-messages.d.ts +23 -0
- package/dist/types/prompt/skill-tokens.d.ts +4 -2
- package/dist/types/prompt/welcome.d.ts +17 -1
- package/dist/types/prompt/word-completion.d.ts +12 -0
- package/dist/types/render/code-cell.d.ts +10 -0
- package/dist/types/render/file-list.d.ts +8 -0
- package/dist/types/render/hyperlink.d.ts +14 -0
- package/dist/types/render/output-block.d.ts +43 -0
- package/dist/types/render/output-pane.d.ts +17 -0
- package/dist/types/render/render-utils.d.ts +5 -0
- package/dist/types/render/tool-card.d.ts +8 -0
- package/dist/types/render/tree-list.d.ts +8 -0
- package/dist/types/render/width-aware-text.d.ts +7 -0
- package/dist/types/setup/scenes/outro.d.ts +7 -0
- package/dist/types/setup/scenes/sign-in.d.ts +7 -0
- package/dist/types/setup/scenes/splash.d.ts +8 -0
- package/dist/types/setup/scenes/types.d.ts +6 -1
- package/dist/types/setup/wizard-overlay.d.ts +9 -0
- package/dist/types/status-line/component.d.ts +51 -5
- package/dist/types/status-line/context-usage.d.ts +22 -0
- package/dist/types/status-line/footer.d.ts +8 -0
- package/dist/types/status-line/host.d.ts +2 -0
- package/dist/types/status-line/metrics.d.ts +5 -2
- package/dist/types/status-line/segments.d.ts +10 -1
- package/dist/types/status-line/types.d.ts +52 -3
- package/dist/types/terminal-capabilities.d.ts +6 -1
- package/dist/types/terminal.d.ts +34 -0
- package/dist/types/theme/defaults/index.d.ts +800 -0
- package/dist/types/theme/schema.d.ts +20 -0
- package/dist/types/theme/shimmer.d.ts +8 -0
- package/dist/types/theme/theme-class.d.ts +2 -0
- package/dist/types/theme/theme.d.ts +33 -1
- package/dist/types/tools/agent-tree.d.ts +2 -0
- package/dist/types/tools/ask.d.ts +3 -0
- package/dist/types/tools/ast-edit.d.ts +10 -1
- package/dist/types/tools/ast-grep.d.ts +10 -1
- package/dist/types/tools/autoresearch.d.ts +21 -4
- package/dist/types/tools/bash-interactive.d.ts +15 -0
- package/dist/types/tools/bash.d.ts +30 -1
- package/dist/types/tools/cfg-render.d.ts +5 -1
- package/dist/types/tools/debug.d.ts +3 -1
- package/dist/types/tools/default-renderer.d.ts +6 -1
- package/dist/types/tools/edit.d.ts +16 -1
- package/dist/types/tools/eval.d.ts +12 -1
- package/dist/types/tools/fetch.d.ts +16 -1
- package/dist/types/tools/find.d.ts +15 -1
- package/dist/types/tools/github.d.ts +3 -0
- package/dist/types/tools/glob.d.ts +14 -1
- package/dist/types/tools/goal.d.ts +3 -1
- package/dist/types/tools/grep.d.ts +14 -1
- package/dist/types/tools/grouped-file-output.d.ts +58 -0
- package/dist/types/tools/json-tree.d.ts +20 -0
- package/dist/types/tools/lsp.d.ts +3 -10
- package/dist/types/tools/mcp.d.ts +16 -1
- package/dist/types/tools/memory.d.ts +26 -0
- package/dist/types/tools/native-view.d.ts +90 -0
- package/dist/types/tools/output-meta.d.ts +8 -2
- package/dist/types/tools/proc-render.d.ts +7 -1
- package/dist/types/tools/read.d.ts +23 -1
- package/dist/types/tools/renderer.d.ts +57 -0
- package/dist/types/tools/report-tool-issue.d.ts +3 -0
- package/dist/types/tools/resolve.d.ts +14 -1
- package/dist/types/tools/streaming-output.d.ts +15 -10
- package/dist/types/tools/task.d.ts +12 -0
- package/dist/types/tools/think.d.ts +3 -0
- package/dist/types/tools/todo.d.ts +12 -0
- package/dist/types/tools/vibe.d.ts +3 -1
- package/dist/types/tools/wait.d.ts +5 -0
- package/dist/types/tools/web-search.d.ts +8 -0
- package/dist/types/tools/write.d.ts +17 -9
- package/dist/types/tools/xdev.d.ts +13 -0
- package/dist/types/tui.d.ts +64 -0
- package/dist/types/windows-input-mode.d.ts +37 -0
- package/package.json +9 -9
- package/src/apps/autoresearch-dashboard.ts +362 -4
- package/src/apps/cleanse-board.ts +219 -1
- package/src/apps/cleanse-picker.ts +9 -1
- package/src/apps/debug/log-viewer.ts +251 -17
- package/src/apps/debug/protocol-probe.ts +12 -21
- package/src/apps/debug/raw-sse.ts +212 -30
- package/src/apps/git/avatar.ts +2 -22
- package/src/apps/git/diff-pane.ts +1 -2
- package/src/apps/git/git-tui.ts +406 -59
- package/src/apps/git/help.ts +130 -0
- package/src/apps/git/sidebar.ts +504 -0
- package/src/apps/live-visualizer.ts +65 -0
- package/src/apps/ps-top.ts +448 -17
- package/src/apps/session-picker.ts +1 -0
- package/src/apps/setup-model-picker.ts +5 -1
- package/src/apps/standalone-picker.ts +55 -1
- package/src/autocomplete.d.ts +8 -0
- package/src/autocomplete.ts +44 -1
- package/src/chat/advisor-message.d.ts +12 -2
- package/src/chat/advisor-message.ts +76 -5
- package/src/chat/assistant-message.d.ts +21 -0
- package/src/chat/assistant-message.ts +344 -11
- package/src/chat/background-tan-message.ts +4 -4
- package/src/chat/bash-execution.d.ts +9 -0
- package/src/chat/bash-execution.ts +81 -0
- package/src/chat/cache-invalidation-marker.ts +8 -0
- package/src/chat/chat-transcript-builder.d.ts +6 -1
- package/src/chat/chat-transcript-builder.ts +38 -7
- package/src/chat/collab-prompt-message.d.ts +4 -0
- package/src/chat/collab-prompt-message.ts +15 -3
- package/src/chat/compaction-summary-message.d.ts +15 -0
- package/src/chat/compaction-summary-message.ts +74 -1
- package/src/chat/custom-message.ts +3 -1
- package/src/chat/eval-execution.d.ts +8 -0
- package/src/chat/eval-execution.ts +57 -0
- package/src/chat/execution-shared.d.ts +58 -0
- package/src/chat/execution-shared.ts +153 -1
- package/src/chat/hook-message.ts +1 -0
- package/src/chat/late-diagnostics-message.d.ts +15 -1
- package/src/chat/late-diagnostics-message.ts +86 -4
- package/src/chat/messages.d.ts +4 -0
- package/src/chat/messages.ts +4 -0
- package/src/chat/read-tool-group.d.ts +15 -0
- package/src/chat/read-tool-group.ts +341 -1
- package/src/chat/recap-notice.ts +30 -0
- package/src/chat/served-model-marker.ts +8 -0
- package/src/chat/skill-message.d.ts +9 -0
- package/src/chat/skill-message.ts +63 -0
- package/src/chat/stripped-tool-calls-placeholder.ts +18 -10
- package/src/chat/todo-reminder.ts +34 -1
- package/src/chat/tool-execution.d.ts +25 -1
- package/src/chat/tool-execution.ts +402 -11
- package/src/chat/transcript-actions.d.ts +37 -0
- package/src/chat/transcript-actions.ts +38 -0
- package/src/chat/transcript-browser.ts +2 -9
- package/src/chat/transcript-entry.d.ts +3 -1
- package/src/chat/transcript-entry.ts +10 -1
- package/src/chat/transcript-render-helpers.ts +16 -15
- package/src/chat/ttsr-notification.ts +38 -1
- package/src/chat/user-message.d.ts +25 -0
- package/src/chat/user-message.ts +171 -10
- package/src/chrome/collab-qrcode.ts +27 -2
- package/src/chrome/context-thresholds.d.ts +11 -0
- package/src/chrome/context-thresholds.ts +34 -0
- package/src/chrome/countdown-timer.ts +24 -1
- package/src/chrome/diff.d.ts +12 -0
- package/src/chrome/diff.ts +60 -1
- package/src/chrome/dynamic-border.d.ts +3 -0
- package/src/chrome/dynamic-border.ts +7 -0
- package/src/chrome/format.ts +12 -0
- package/src/chrome/message-divider.d.ts +13 -0
- package/src/chrome/message-divider.ts +33 -1
- package/src/chrome/message-frame.d.ts +10 -0
- package/src/chrome/message-frame.ts +53 -10
- package/src/chrome/message-notice.ts +71 -0
- package/src/chrome/overlay-box.d.ts +11 -2
- package/src/chrome/overlay-box.ts +45 -2
- package/src/chrome/qrcode.ts +28 -0
- package/src/chrome/segment-track.ts +26 -0
- package/src/chrome/status-notice.ts +46 -0
- package/src/chrome/streaming-panel.ts +25 -1
- package/src/chrome/tool-activity.d.ts +3 -0
- package/src/chrome/tool-activity.ts +20 -0
- package/src/chrome/transcript-container.d.ts +20 -0
- package/src/chrome/transcript-container.ts +50 -0
- package/src/chrome/transcript-status.d.ts +15 -3
- package/src/chrome/transcript-status.ts +40 -11
- package/src/components/box.d.ts +7 -0
- package/src/components/box.ts +51 -0
- package/src/components/disclosure.d.ts +9 -0
- package/src/components/disclosure.ts +33 -0
- package/src/components/editor.d.ts +49 -0
- package/src/components/editor.ts +326 -33
- package/src/components/form.d.ts +14 -0
- package/src/components/form.ts +93 -9
- package/src/components/image.d.ts +7 -0
- package/src/components/image.ts +30 -0
- package/src/components/input.d.ts +30 -1
- package/src/components/input.ts +133 -26
- package/src/components/key-value-list.d.ts +3 -0
- package/src/components/key-value-list.ts +18 -0
- package/src/components/layout/geometry.d.ts +16 -0
- package/src/components/layout/geometry.ts +44 -0
- package/src/components/layout/row.d.ts +7 -0
- package/src/components/layout/row.ts +30 -0
- package/src/components/layout/split-pane.d.ts +8 -0
- package/src/components/layout/split-pane.ts +65 -0
- package/src/components/layout/stack.d.ts +6 -0
- package/src/components/layout/stack.ts +27 -0
- package/src/components/loader.d.ts +48 -0
- package/src/components/loader.ts +183 -1
- package/src/components/markdown.d.ts +8 -4
- package/src/components/markdown.ts +116 -134
- package/src/components/metric.d.ts +7 -0
- package/src/components/metric.ts +39 -0
- package/src/components/progress-bar.d.ts +3 -0
- package/src/components/progress-bar.ts +28 -0
- package/src/components/scroll-view.d.ts +6 -0
- package/src/components/scroll-view.ts +23 -0
- package/src/components/section.d.ts +3 -0
- package/src/components/section.ts +16 -0
- package/src/components/select-list.d.ts +33 -0
- package/src/components/select-list.ts +174 -25
- package/src/components/settings-list.d.ts +68 -0
- package/src/components/settings-list.ts +264 -7
- package/src/components/spacer.d.ts +4 -0
- package/src/components/spacer.ts +17 -0
- package/src/components/tab-bar.d.ts +9 -0
- package/src/components/tab-bar.ts +42 -0
- package/src/components/table.d.ts +7 -0
- package/src/components/table.ts +34 -0
- package/src/components/text.d.ts +6 -0
- package/src/components/text.ts +23 -0
- package/src/components/tree-view.d.ts +9 -0
- package/src/components/tree-view.ts +65 -0
- package/src/components/truncated-text.d.ts +3 -0
- package/src/components/truncated-text.ts +14 -0
- package/src/components/wizard-step.d.ts +6 -0
- package/src/components/wizard-step.ts +18 -9
- package/src/debug-server.ts +14 -7
- package/src/hotkeys-markdown.ts +251 -69
- package/src/index.d.ts +5 -0
- package/src/index.ts +6 -0
- package/src/keys.ts +2 -4
- package/src/latex-block.d.ts +7 -0
- package/src/latex-block.ts +11 -0
- package/src/native/apply.d.ts +39 -0
- package/src/native/apply.ts +276 -0
- package/src/native/backend.d.ts +103 -0
- package/src/native/backend.ts +759 -0
- package/src/native/blobs.d.ts +29 -0
- package/src/native/blobs.ts +70 -0
- package/src/native/describe.d.ts +56 -0
- package/src/native/describe.ts +124 -0
- package/src/native/encode.d.ts +54 -0
- package/src/native/encode.ts +241 -0
- package/src/native/icons.d.ts +18 -0
- package/src/native/icons.ts +184 -0
- package/src/native/memo.d.ts +27 -0
- package/src/native/memo.ts +64 -0
- package/src/native/node.d.ts +182 -0
- package/src/native/node.ts +233 -0
- package/src/native/overlay.d.ts +64 -0
- package/src/native/overlay.ts +131 -0
- package/src/native/picker.d.ts +124 -0
- package/src/native/picker.ts +333 -0
- package/src/native/reconcile.d.ts +46 -0
- package/src/native/reconcile.ts +1091 -0
- package/src/native/settle.d.ts +11 -0
- package/src/native/settle.ts +23 -0
- package/src/native/spans.d.ts +21 -0
- package/src/native/spans.ts +308 -0
- package/src/native/state.d.ts +6 -0
- package/src/native/state.ts +28 -0
- package/src/native/tone.d.ts +24 -0
- package/src/native/tone.ts +79 -0
- package/src/overlays/advisor-config.ts +648 -2
- package/src/overlays/agent-hub-projection.d.ts +42 -0
- package/src/overlays/agent-hub-projection.ts +25 -0
- package/src/overlays/agent-hub-renderer.d.ts +69 -0
- package/src/overlays/agent-hub-renderer.ts +155 -18
- package/src/overlays/agent-hub-types.d.ts +99 -0
- package/src/overlays/agent-hub.ts +1041 -59
- package/src/overlays/agent-transcript-viewer.ts +129 -0
- package/src/overlays/agents-hub.ts +688 -53
- package/src/overlays/annotation-overlay.ts +391 -52
- package/src/overlays/ask-dialog.ts +452 -47
- package/src/overlays/bordered-loader.ts +17 -0
- package/src/overlays/btw-history-panel.ts +182 -0
- package/src/overlays/btw-panel.ts +68 -2
- package/src/overlays/cleanse-panel.ts +105 -15
- package/src/overlays/codex-reset-fireworks.ts +65 -5
- package/src/overlays/composer-shape-preview.ts +26 -1
- package/src/overlays/copy-selector.d.ts +91 -0
- package/src/overlays/copy-selector.ts +545 -23
- package/src/overlays/copy-targets.d.ts +65 -0
- package/src/overlays/error-banner.ts +56 -1
- package/src/overlays/extensions/display-text.d.ts +10 -0
- package/src/overlays/extensions/extension-dashboard.ts +275 -23
- package/src/overlays/extensions/extension-list.ts +296 -31
- package/src/overlays/extensions/inspector-panel.ts +368 -0
- package/src/overlays/history-search.ts +175 -33
- package/src/overlays/hook-editor.ts +170 -10
- package/src/overlays/hook-input.ts +22 -1
- package/src/overlays/hook-selector.ts +311 -22
- package/src/overlays/hub-frame.ts +80 -0
- package/src/overlays/jobs-panel.ts +368 -0
- package/src/overlays/login-dialog.ts +183 -1
- package/src/overlays/logout-account-selector.ts +102 -4
- package/src/overlays/mcp-add-wizard.ts +232 -53
- package/src/overlays/model-browser.ts +737 -29
- package/src/overlays/model-hub.ts +1497 -99
- package/src/overlays/model-picker.ts +175 -1
- package/src/overlays/move-overlay.ts +45 -0
- package/src/overlays/oauth-selector.ts +227 -24
- package/src/overlays/omfg-panel.ts +86 -2
- package/src/overlays/pause-screen.ts +55 -4
- package/src/overlays/plan-review-overlay.ts +352 -0
- package/src/overlays/plan-save-overlay.ts +45 -0
- package/src/overlays/plugin-selector.ts +21 -1
- package/src/overlays/plugin-settings.ts +195 -5
- package/src/overlays/queue-mode-selector.ts +19 -1
- package/src/overlays/reset-usage-selector.ts +110 -40
- package/src/overlays/rewind-selector.ts +362 -44
- package/src/overlays/session-account-selector.ts +1 -1
- package/src/overlays/session-info-overlay.ts +181 -1
- package/src/overlays/session-observer-registry.d.ts +77 -0
- package/src/overlays/session-selector.ts +806 -46
- package/src/overlays/settings-defs.ts +41 -0
- package/src/overlays/settings-selector.ts +583 -23
- package/src/overlays/show-images-selector.ts +18 -1
- package/src/overlays/snapcompact-shape-preview.ts +48 -3
- package/src/overlays/stats-notice.ts +31 -0
- package/src/overlays/theme-selector.ts +31 -1
- package/src/overlays/thinking-selector.ts +22 -1
- package/src/overlays/tree-selector.d.ts +60 -2
- package/src/overlays/tree-selector.ts +570 -110
- package/src/overlays/usage-dashboard.ts +592 -12
- package/src/overlays/usage-row.d.ts +36 -2
- package/src/overlays/usage-row.ts +161 -25
- package/src/prompt/attachment-chips.ts +61 -1
- package/src/prompt/composer-attachments.d.ts +15 -3
- package/src/prompt/composer-attachments.ts +31 -9
- package/src/prompt/composer-cache.ts +26 -3
- package/src/prompt/composer.ts +89 -11
- package/src/prompt/custom-editor.ts +397 -7
- package/src/prompt/editor-top-gap.ts +8 -0
- package/src/prompt/image-references.ts +1 -1
- package/src/prompt/macos-spelling.ts +24 -9
- package/src/prompt/magic-keywords.d.ts +11 -0
- package/src/prompt/magic-keywords.ts +22 -1
- package/src/prompt/model-mention-autocomplete.ts +1 -0
- package/src/prompt/queued-messages.ts +101 -0
- package/src/prompt/skill-tokens.d.ts +4 -2
- package/src/prompt/skill-tokens.ts +5 -3
- package/src/prompt/welcome.ts +212 -7
- package/src/prompt/word-completion.ts +31 -13
- package/src/render/code-cell.d.ts +10 -0
- package/src/render/code-cell.ts +103 -2
- package/src/render/file-list.d.ts +8 -0
- package/src/render/file-list.ts +29 -0
- package/src/render/hyperlink.d.ts +14 -0
- package/src/render/hyperlink.ts +32 -0
- package/src/render/output-block.d.ts +43 -0
- package/src/render/output-block.ts +110 -0
- package/src/render/output-pane.d.ts +17 -0
- package/src/render/output-pane.ts +37 -0
- package/src/render/render-utils.d.ts +5 -0
- package/src/render/render-utils.ts +51 -3
- package/src/render/tool-card.d.ts +8 -0
- package/src/render/tool-card.ts +137 -0
- package/src/render/tree-list.d.ts +8 -0
- package/src/render/tree-list.ts +39 -0
- package/src/render/width-aware-text.d.ts +7 -0
- package/src/render/width-aware-text.ts +20 -0
- package/src/setup/scenes/composer.ts +29 -0
- package/src/setup/scenes/glyph.ts +15 -0
- package/src/setup/scenes/model.ts +36 -8
- package/src/setup/scenes/outro.ts +28 -1
- package/src/setup/scenes/sign-in.ts +122 -13
- package/src/setup/scenes/splash.ts +33 -1
- package/src/setup/scenes/theme.ts +85 -0
- package/src/setup/scenes/types.ts +7 -1
- package/src/setup/startup-splash.ts +46 -9
- package/src/setup/wizard-overlay.ts +140 -27
- package/src/status-line/component.ts +434 -21
- package/src/status-line/context-usage.ts +297 -73
- package/src/status-line/footer.ts +97 -3
- package/src/status-line/host.ts +2 -0
- package/src/status-line/metrics.ts +38 -10
- package/src/status-line/segments.ts +478 -99
- package/src/status-line/separators.ts +3 -16
- package/src/status-line/types.ts +55 -3
- package/src/terminal-capabilities.d.ts +6 -1
- package/src/terminal-capabilities.ts +18 -3
- package/src/terminal.d.ts +34 -0
- package/src/terminal.ts +202 -15
- package/src/theme/dark.json +10 -0
- package/src/theme/defaults/alabaster.json +10 -0
- package/src/theme/defaults/amethyst.json +10 -0
- package/src/theme/defaults/anthracite.json +10 -0
- package/src/theme/defaults/basalt.json +10 -0
- package/src/theme/defaults/birch.json +10 -0
- package/src/theme/defaults/dark-abyss.json +10 -0
- package/src/theme/defaults/dark-arctic.json +10 -0
- package/src/theme/defaults/dark-aurora.json +10 -0
- package/src/theme/defaults/dark-catppuccin.json +10 -0
- package/src/theme/defaults/dark-cavern.json +10 -0
- package/src/theme/defaults/dark-celestial.json +10 -0
- package/src/theme/defaults/dark-copper.json +10 -0
- package/src/theme/defaults/dark-cosmos.json +10 -0
- package/src/theme/defaults/dark-cyberpunk.json +10 -0
- package/src/theme/defaults/dark-dracula.json +10 -0
- package/src/theme/defaults/dark-eclipse.json +10 -0
- package/src/theme/defaults/dark-ember.json +10 -0
- package/src/theme/defaults/dark-equinox.json +10 -0
- package/src/theme/defaults/dark-forest.json +10 -0
- package/src/theme/defaults/dark-github.json +10 -0
- package/src/theme/defaults/dark-gruvbox.json +10 -0
- package/src/theme/defaults/dark-lavender.json +10 -0
- package/src/theme/defaults/dark-lunar.json +10 -0
- package/src/theme/defaults/dark-midnight.json +10 -0
- package/src/theme/defaults/dark-monochrome.json +10 -0
- package/src/theme/defaults/dark-monokai.json +10 -0
- package/src/theme/defaults/dark-nebula.json +10 -0
- package/src/theme/defaults/dark-neon-noir.json +110 -0
- package/src/theme/defaults/dark-nord.json +10 -0
- package/src/theme/defaults/dark-ocean.json +10 -0
- package/src/theme/defaults/dark-one.json +10 -0
- package/src/theme/defaults/dark-poimandres.json +10 -0
- package/src/theme/defaults/dark-rainforest.json +10 -0
- package/src/theme/defaults/dark-reef.json +10 -0
- package/src/theme/defaults/dark-retro.json +10 -0
- package/src/theme/defaults/dark-rose-pine.json +10 -0
- package/src/theme/defaults/dark-sakura.json +10 -0
- package/src/theme/defaults/dark-slate.json +10 -0
- package/src/theme/defaults/dark-solarized.json +10 -0
- package/src/theme/defaults/dark-solstice.json +10 -0
- package/src/theme/defaults/dark-starfall.json +10 -0
- package/src/theme/defaults/dark-sunset.json +10 -0
- package/src/theme/defaults/dark-swamp.json +10 -0
- package/src/theme/defaults/dark-synthwave.json +10 -0
- package/src/theme/defaults/dark-taiga.json +10 -0
- package/src/theme/defaults/dark-terminal.json +10 -0
- package/src/theme/defaults/dark-tokyo-night.json +10 -0
- package/src/theme/defaults/dark-tundra.json +10 -0
- package/src/theme/defaults/dark-twilight.json +10 -0
- package/src/theme/defaults/dark-volcanic.json +10 -0
- package/src/theme/defaults/graphite.json +10 -0
- package/src/theme/defaults/index.d.ts +800 -0
- package/src/theme/defaults/index.ts +2 -0
- package/src/theme/defaults/light-arctic.json +10 -0
- package/src/theme/defaults/light-aurora-day.json +10 -0
- package/src/theme/defaults/light-canyon.json +10 -0
- package/src/theme/defaults/light-catppuccin.json +10 -0
- package/src/theme/defaults/light-cirrus.json +10 -0
- package/src/theme/defaults/light-coral.json +10 -0
- package/src/theme/defaults/light-cyberpunk.json +10 -0
- package/src/theme/defaults/light-dawn.json +10 -0
- package/src/theme/defaults/light-dunes.json +10 -0
- package/src/theme/defaults/light-eucalyptus.json +10 -0
- package/src/theme/defaults/light-forest.json +10 -0
- package/src/theme/defaults/light-frost.json +10 -0
- package/src/theme/defaults/light-github.json +10 -0
- package/src/theme/defaults/light-glacier.json +10 -0
- package/src/theme/defaults/light-gruvbox.json +10 -0
- package/src/theme/defaults/light-haze.json +10 -0
- package/src/theme/defaults/light-honeycomb.json +10 -0
- package/src/theme/defaults/light-lagoon.json +10 -0
- package/src/theme/defaults/light-lavender.json +10 -0
- package/src/theme/defaults/light-meadow.json +10 -0
- package/src/theme/defaults/light-mint.json +10 -0
- package/src/theme/defaults/light-monochrome.json +10 -0
- package/src/theme/defaults/light-ocean.json +10 -0
- package/src/theme/defaults/light-one.json +10 -0
- package/src/theme/defaults/light-opal.json +10 -0
- package/src/theme/defaults/light-orchard.json +10 -0
- package/src/theme/defaults/light-paper.json +10 -0
- package/src/theme/defaults/light-poimandres.json +10 -0
- package/src/theme/defaults/light-prism.json +15 -5
- package/src/theme/defaults/light-retro.json +10 -0
- package/src/theme/defaults/light-sand.json +10 -0
- package/src/theme/defaults/light-savanna.json +10 -0
- package/src/theme/defaults/light-solarized.json +10 -0
- package/src/theme/defaults/light-soleil.json +10 -0
- package/src/theme/defaults/light-sunset.json +10 -0
- package/src/theme/defaults/light-synthwave.json +10 -0
- package/src/theme/defaults/light-tokyo-night.json +10 -0
- package/src/theme/defaults/light-wetland.json +10 -0
- package/src/theme/defaults/light-zenith.json +10 -0
- package/src/theme/defaults/limestone.json +10 -0
- package/src/theme/defaults/mahogany.json +10 -0
- package/src/theme/defaults/marble.json +10 -0
- package/src/theme/defaults/obsidian.json +10 -0
- package/src/theme/defaults/onyx.json +72 -62
- package/src/theme/defaults/pearl.json +10 -0
- package/src/theme/defaults/porcelain.json +10 -0
- package/src/theme/defaults/quartz.json +10 -0
- package/src/theme/defaults/sandstone.json +10 -0
- package/src/theme/defaults/titanium.json +10 -0
- package/src/theme/light.json +10 -0
- package/src/theme/schema-validation.ts +7 -0
- package/src/theme/schema.d.ts +20 -0
- package/src/theme/schema.ts +33 -0
- package/src/theme/shimmer.d.ts +8 -0
- package/src/theme/shimmer.ts +33 -0
- package/src/theme/theme-class.d.ts +2 -0
- package/src/theme/theme-class.ts +24 -19
- package/src/theme/theme-schema.json +32 -2
- package/src/theme/theme.d.ts +33 -1
- package/src/theme/theme.ts +111 -9
- package/src/thinking.d.ts +165 -0
- package/src/tools/agent-tree.d.ts +2 -0
- package/src/tools/agent-tree.ts +5 -0
- package/src/tools/ask.d.ts +3 -0
- package/src/tools/ask.ts +157 -1
- package/src/tools/ast-edit.d.ts +10 -1
- package/src/tools/ast-edit.ts +174 -1
- package/src/tools/ast-grep.d.ts +10 -1
- package/src/tools/ast-grep.ts +82 -2
- package/src/tools/autoresearch.ts +149 -1
- package/src/tools/bash-interactive.ts +85 -16
- package/src/tools/bash.d.ts +30 -1
- package/src/tools/bash.ts +180 -49
- package/src/tools/cfg-render.d.ts +5 -1
- package/src/tools/cfg-render.ts +66 -1
- package/src/tools/debug.d.ts +3 -1
- package/src/tools/debug.ts +78 -1
- package/src/tools/default-renderer.d.ts +6 -1
- package/src/tools/default-renderer.ts +35 -1
- package/src/tools/edit.d.ts +16 -1
- package/src/tools/edit.ts +270 -2
- package/src/tools/eval.d.ts +12 -1
- package/src/tools/eval.ts +298 -1
- package/src/tools/fetch.d.ts +16 -1
- package/src/tools/fetch.ts +102 -3
- package/src/tools/find.d.ts +15 -1
- package/src/tools/find.ts +127 -1
- package/src/tools/github.d.ts +3 -0
- package/src/tools/github.ts +119 -10
- package/src/tools/glob.d.ts +14 -1
- package/src/tools/glob.ts +116 -1
- package/src/tools/goal.d.ts +3 -1
- package/src/tools/goal.ts +56 -1
- package/src/tools/grep.d.ts +14 -1
- package/src/tools/grep.ts +85 -4
- package/src/tools/grouped-file-output.d.ts +58 -0
- package/src/tools/grouped-file-output.ts +211 -0
- package/src/tools/json-tree.d.ts +20 -0
- package/src/tools/json-tree.ts +116 -1
- package/src/tools/lsp.d.ts +3 -10
- package/src/tools/lsp.ts +318 -1
- package/src/tools/mcp.d.ts +16 -1
- package/src/tools/mcp.ts +80 -1
- package/src/tools/memory.d.ts +26 -0
- package/src/tools/memory.ts +93 -11
- package/src/tools/native-view.d.ts +90 -0
- package/src/tools/native-view.ts +295 -0
- package/src/tools/output-meta.d.ts +8 -2
- package/src/tools/output-meta.ts +13 -5
- package/src/tools/proc-render.d.ts +7 -1
- package/src/tools/proc-render.ts +221 -1
- package/src/tools/read.d.ts +23 -1
- package/src/tools/read.ts +199 -4
- package/src/tools/renderer.d.ts +57 -0
- package/src/tools/renderer.ts +61 -0
- package/src/tools/report-tool-issue.d.ts +3 -0
- package/src/tools/report-tool-issue.ts +7 -1
- package/src/tools/resolve.d.ts +14 -1
- package/src/tools/resolve.ts +63 -1
- package/src/tools/streaming-output.d.ts +15 -10
- package/src/tools/streaming-output.ts +48 -23
- package/src/tools/task.d.ts +12 -0
- package/src/tools/task.ts +438 -7
- package/src/tools/think.d.ts +3 -0
- package/src/tools/think.ts +19 -1
- package/src/tools/todo.d.ts +12 -0
- package/src/tools/todo.ts +89 -0
- package/src/tools/vibe.d.ts +3 -1
- package/src/tools/vibe.ts +230 -2
- package/src/tools/wait.d.ts +5 -0
- package/src/tools/wait.ts +194 -12
- package/src/tools/web-search.d.ts +8 -0
- package/src/tools/web-search.ts +113 -1
- package/src/tools/write.d.ts +17 -9
- package/src/tools/write.ts +180 -6
- package/src/tools/xdev.d.ts +13 -0
- package/src/tools/xdev.ts +64 -1
- package/src/tui.d.ts +64 -0
- package/src/tui.ts +361 -17
- package/src/windows-input-mode.d.ts +37 -0
- package/src/windows-input-mode.ts +230 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,12 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
-
## [1.1.
|
|
5
|
+
## [1.1.24] - 2026-10-03
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
- CLI bin 命名(zeta-c)相关键位提示文案对齐;组件 API 无破坏。
|
|
10
|
-
- header 支持 `setHeader` 扩展挂点(产品常驻入口圆角按钮),`theme.boxRound` 制表符绘制。
|
|
7
|
+
- 语义角色清扫补全(omp.*→zeta.*,106 文件);agent-hub 空态提示还原 `omp-dev`;notifications OSC 99 对齐 zeta app id。
|
|
11
8
|
|
|
12
9
|
## [14.9.8] - 2026-05-12
|
|
13
10
|
|
package/THIRD-PARTY-NOTICES.txt
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
ZETA THIRD-PARTY NOTICES
|
|
2
2
|
=======================
|
|
3
3
|
|
|
4
|
-
This generated, self-contained aggregate accompanies
|
|
4
|
+
This generated, self-contained aggregate accompanies Zeta release artifacts.
|
|
5
5
|
It does not replace package-level license files. First-party licensing grants
|
|
6
6
|
no rights in third-party code, fonts, data, or marks identified below.
|
|
7
7
|
|
|
@@ -1046,7 +1046,7 @@ These packages participate only in generation/web build tooling and are not ship
|
|
|
1046
1046
|
|
|
1047
1047
|
SCOPED NON-PERMISSIVE PACKAGES
|
|
1048
1048
|
------------------------------
|
|
1049
|
-
The exact @img/sharp-libvips-* 1.2.4 all-target family is LGPL-3.0-or-later. It is not distributed in
|
|
1049
|
+
The exact @img/sharp-libvips-* 1.2.4 all-target family is LGPL-3.0-or-later. It is not distributed in Zeta npm bundles or standalone assets: @huggingface/transformers is always external, installed into a user-side versioned runtime on demand, and sharp is stubbed for speech/text. The dynamically loaded native library remains replaceable. Corresponding source is available from https://github.com/lovell/sharp-libvips.git and upstream libvips sources.
|
|
1050
1050
|
|
|
1051
1051
|
lightningcss 1.32.0 and its exact target leaves are MPL-2.0 build-only dependencies. MPL is not globally allowed and these packages are absent from runtime artifacts.
|
|
1052
1052
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type LiveBoardOutput } from "../chrome/live-board.js";
|
|
2
2
|
import type { AgentProgress } from "../tools/task.js";
|
|
3
|
+
import type { DescribeContext, NativeNode } from "../native/node.js";
|
|
3
4
|
/** Checker identity shown in live rows and verdicts. */
|
|
4
5
|
export interface CleanseCheckerDescriptor {
|
|
5
6
|
id: string;
|
|
@@ -59,6 +60,22 @@ export declare class CleanseBoardModel {
|
|
|
59
60
|
agentProgress(name: string, progress: AgentProgress): void;
|
|
60
61
|
/** Drop the agent's live row, advance the repair bar, and build its permanent outcome line. */
|
|
61
62
|
agentFinished(outcome: CleanseAgentOutcome, assignment: CleanseAssignment): string;
|
|
63
|
+
/**
|
|
64
|
+
* Semantic twin of the permanent line the most recent
|
|
65
|
+
* {@link checkerFinished}/{@link agentFinished} call returned, for native
|
|
66
|
+
* surfaces that log settled work as nodes.
|
|
67
|
+
*/
|
|
68
|
+
get lastSettled(): NativeNode | undefined;
|
|
69
|
+
/**
|
|
70
|
+
* Native live rows (NATIVE_REDESIGN §10): phase and checker spinners, the
|
|
71
|
+
* repair head with a `meter` of fixed lanes, and the running repair agents
|
|
72
|
+
* as a grid of lanes, one `agent` row each (status, current tool with its
|
|
73
|
+
* intent, tools, tokens, cost, timer). Terminals without `agent`/`meter`
|
|
74
|
+
* get the plain rows and a `progress` bar. Spinners and timers are
|
|
75
|
+
* terminal-clocked, so the node only changes when the board state does.
|
|
76
|
+
* `undefined` while nothing is live.
|
|
77
|
+
*/
|
|
78
|
+
describeLive(cx: DescribeContext): NativeNode | undefined;
|
|
62
79
|
/** Render the transient live rows for the current spinner frame. */
|
|
63
80
|
renderLive(spinner: string): string[];
|
|
64
81
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Component } from "../../tui.js";
|
|
2
|
+
import type { DescribeContext, NativeNode, NativeUiEvent } from "../../native/node.js";
|
|
2
3
|
/** Host capabilities for copying and fetching earlier log entries. */
|
|
3
4
|
export interface LogViewerDeps {
|
|
4
5
|
copyToClipboard(text: string): void;
|
|
@@ -76,6 +77,22 @@ export declare class DebugLogViewerComponent implements Component {
|
|
|
76
77
|
handleInput(keyData: string): void;
|
|
77
78
|
invalidate(): void;
|
|
78
79
|
dispose(): void;
|
|
80
|
+
/** A `picker` sheet floats over the transcript instead of taking the screen. */
|
|
81
|
+
nativeSheet(cx: DescribeContext): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* The logs as a picker sheet: the filter as its query, one row per entry
|
|
84
|
+
* (message, fields, time, pid, level dot) with the session boundary as a
|
|
85
|
+
* group head, the range selection checked, the entry under the cursor
|
|
86
|
+
* pretty-printed below, and the keys' actions in the bar. Without the
|
|
87
|
+
* `picker` kind it falls back to rows.
|
|
88
|
+
*/
|
|
89
|
+
describe(cx: DescribeContext): NativeNode | null;
|
|
90
|
+
/**
|
|
91
|
+
* Pointer actions run the keys' code: a row click moves the cursor there,
|
|
92
|
+
* a second click copies it (or loads older entries from that row), and the
|
|
93
|
+
* bar's buttons mirror their keys.
|
|
94
|
+
*/
|
|
95
|
+
handleNativeEvent(event: NativeUiEvent): void;
|
|
79
96
|
render(width: number): readonly string[];
|
|
80
97
|
}
|
|
81
98
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Component } from "../../tui.js";
|
|
2
|
+
import type { NativeNode, NativeScreen, NativeUiEvent } from "../../native/node.js";
|
|
2
3
|
import { type RawSseDebugBuffer } from "./raw-sse-buffer.js";
|
|
3
4
|
/** @internal Exported for tests. */
|
|
4
5
|
export declare function expandPrettyDataLines(raw: readonly string[]): string[];
|
|
@@ -23,4 +24,17 @@ export declare class RawSseViewerComponent implements Component {
|
|
|
23
24
|
handleInput(keyData: string): void;
|
|
24
25
|
invalidate(): void;
|
|
25
26
|
render(width: number): readonly string[];
|
|
27
|
+
/** The action bar's buttons run the same code as their keys. */
|
|
28
|
+
handleNativeEvent(event: NativeUiEvent): void;
|
|
29
|
+
/**
|
|
30
|
+
* The stream as a page of its own: the capture counters over the wire
|
|
31
|
+
* text, one `ansi` block that fills the page, scrolls itself and follows
|
|
32
|
+
* its tail until the user scrolls away (Tern-local, so no follow state
|
|
33
|
+
* here; the scroll keys reach it as `scroll` requests). The copy status
|
|
34
|
+
* and the buttons are this component's own node, docked under the page
|
|
35
|
+
* so they never scroll away.
|
|
36
|
+
*/
|
|
37
|
+
describeScreen(): NativeScreen;
|
|
38
|
+
/** The docked bar under the stream page: the copy status and the buttons. */
|
|
39
|
+
describe(): NativeNode;
|
|
26
40
|
}
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
* the visible viewport brightened; clicking it seeks. Long lines either pan
|
|
14
14
|
* horizontally (`←`/`→`) or soft-wrap when word wrap is enabled.
|
|
15
15
|
*/
|
|
16
|
-
import type { DiffStreamResult } from "@linxiraos/pi-natives";
|
|
17
16
|
import { type ImageBudget } from "../../components/image.js";
|
|
18
17
|
import { type FileAssetSide, type FileStreamUpdate } from "./state.js";
|
|
18
|
+
import { type DiffStreamResult } from "@linxiraos/pi-natives";
|
|
19
19
|
/** Column ranges (inclusive start, exclusive end) carrying intraline emphasis. */
|
|
20
20
|
type MarkRanges = readonly (readonly [number, number])[];
|
|
21
21
|
type RowKind = "context" | "change" | "add" | "del";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { NativeNode } from "../../native/node.js";
|
|
2
|
+
import type { Component } from "../../tui.js";
|
|
3
|
+
/** The shortcuts overlay; any of `?`, escape or `q` closes it. */
|
|
4
|
+
export declare class GitHelpSheet implements Component {
|
|
5
|
+
#private;
|
|
6
|
+
readonly nativeOverlay: {
|
|
7
|
+
readonly role: "zeta.overlay.hotkeys";
|
|
8
|
+
readonly head: "Keyboard shortcuts";
|
|
9
|
+
readonly size: "lg";
|
|
10
|
+
};
|
|
11
|
+
constructor(close: () => void);
|
|
12
|
+
handleInput(data: string): void;
|
|
13
|
+
describe(): NativeNode;
|
|
14
|
+
render(width: number): readonly string[];
|
|
15
|
+
invalidate(): void;
|
|
16
|
+
}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
import { Editor } from "../../components/editor.js";
|
|
14
14
|
import { TextFormField } from "../../components/form.js";
|
|
15
15
|
import { type ImageBudget } from "../../components/image.js";
|
|
16
|
+
import type { DescribeContext, NativeNode, NativeUiEvent } from "../../native/node.js";
|
|
16
17
|
import { type AvatarSource } from "./avatar.js";
|
|
17
18
|
import type { ChangedFile, GitViewState } from "./state.js";
|
|
18
19
|
/** Generated conventional commit fields shown in the commit form. */
|
|
@@ -138,6 +139,23 @@ export declare class Sidebar {
|
|
|
138
139
|
/** Select the commit summary input (the `c` shortcut). False on a clean tree. */
|
|
139
140
|
focusCommitForm(): boolean;
|
|
140
141
|
handleInput(data: string): void;
|
|
142
|
+
/**
|
|
143
|
+
* The changes sheet (NATIVE_REDESIGN §10): a head with the change count,
|
|
144
|
+
* the branch and a Path/Tree segmented control; one list per section under
|
|
145
|
+
* a quiet head whose `Stage all`/`Unstage all` show on hover; the commit
|
|
146
|
+
* composer docked below. A clean tree shows the HEAD commit instead. Text
|
|
147
|
+
* fields are live `input`/`editor` nodes only while they own the keys, so
|
|
148
|
+
* the terminal's caret follows the keyboard.
|
|
149
|
+
*/
|
|
150
|
+
describe(cx: DescribeContext): NativeNode;
|
|
151
|
+
/**
|
|
152
|
+
* Pointer actions on the changes sheet: list clicks select (a folder also
|
|
153
|
+
* folds, a second click on the selected file stages it, as the ANSI click
|
|
154
|
+
* does), double clicks activate, the segmented control switches Path/Tree,
|
|
155
|
+
* and the quiet buttons run their row's action; selection edits go to the
|
|
156
|
+
* text field being edited. False when not the sidebar's event.
|
|
157
|
+
*/
|
|
158
|
+
handleNativeEvent(event: NativeUiEvent): boolean;
|
|
141
159
|
/** Wheel scroll over the sidebar. */
|
|
142
160
|
handleWheel(delta: number): void;
|
|
143
161
|
/** Left click at sidebar-local coordinates. */
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Component } from "../tui.js";
|
|
2
2
|
import { type KeyId } from "../keys.js";
|
|
3
|
+
import type { DescribeContext, NativeNode, NativeUiEvent } from "../native/node.js";
|
|
3
4
|
/** Distinct states of a realtime call connection. */
|
|
4
5
|
export type LivePhase = "connecting" | "listening" | "working" | "speaking" | "muted" | "error";
|
|
5
6
|
/** Configuration callbacks for user interactions in the visualizer. */
|
|
@@ -28,6 +29,15 @@ export declare class LiveVisualizer implements Component {
|
|
|
28
29
|
handleInput(data: string): void;
|
|
29
30
|
/** Clears the render cache. */
|
|
30
31
|
invalidate(): void;
|
|
32
|
+
/** The call panel's buttons run the same code as their keys. */
|
|
33
|
+
handleNativeEvent(event: NativeUiEvent): void;
|
|
34
|
+
/**
|
|
35
|
+
* Native call panel: phase status (a spinner while working), the mic level
|
|
36
|
+
* as a `meter` (a `progress` bar on terminals without it), the streaming
|
|
37
|
+
* transcript and the Mute/End buttons. The spectrum animation is
|
|
38
|
+
* ANSI-only; frame ticks leave this node unchanged.
|
|
39
|
+
*/
|
|
40
|
+
describe(cx: DescribeContext): NativeNode;
|
|
31
41
|
/** Renders the microphone spectrum into a compact fixed-height panel. */
|
|
32
42
|
render(width: number): readonly string[];
|
|
33
43
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type Component, TUI } from "../tui.js";
|
|
2
|
+
import type { NativeNode, NativeUiEvent } from "../native/node.js";
|
|
2
3
|
import type { DaemonSnapshot, DaemonSpec } from "../tools/daemon.js";
|
|
3
4
|
import { type PsScope, type PsScopeReport, type PsTarget } from "./ps-data.js";
|
|
4
5
|
/** Options accepted by the interactive monitor: scope selection from the list flags. */
|
|
@@ -27,6 +28,20 @@ export declare class PsTopComponent implements Component {
|
|
|
27
28
|
run(): Promise<void>;
|
|
28
29
|
dispose(): void;
|
|
29
30
|
handleInput(data: string): void;
|
|
31
|
+
/**
|
|
32
|
+
* Pointer actions: a click selects a process, a double click opens its info
|
|
33
|
+
* (Enter); the scope control switches between the current and all scopes;
|
|
34
|
+
* the action bar runs the same code as the keys, except that a pointer
|
|
35
|
+
* `Kill` asks first (the `x` key stays immediate).
|
|
36
|
+
*/
|
|
37
|
+
handleNativeEvent(event: NativeUiEvent): void;
|
|
38
|
+
/**
|
|
39
|
+
* The process monitor as a native page: a head (title, counts, the scope
|
|
40
|
+
* control, freshness, close), one section per broker scope with a
|
|
41
|
+
* selectable process list, the transient status, and an action bar that
|
|
42
|
+
* mirrors the keys. Info and logs replace the list.
|
|
43
|
+
*/
|
|
44
|
+
describe(): NativeNode;
|
|
30
45
|
render(width: number): readonly string[];
|
|
31
46
|
}
|
|
32
47
|
/** Run the fullscreen interactive process monitor until the user quits. */
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* global theme.
|
|
9
9
|
*/
|
|
10
10
|
import type { SelectItem } from "../components/select-list.js";
|
|
11
|
+
import { type SelectPickerOptions } from "../native/picker.js";
|
|
11
12
|
import { TUI, type Component, type OverlayOptions } from "../tui.js";
|
|
12
13
|
/** Build context for a standalone prompt: the owned UI plus its resolver. */
|
|
13
14
|
export interface StandaloneTuiContext<T> {
|
|
@@ -29,6 +30,8 @@ export declare function runStandaloneTui<T>(build: (context: StandaloneTuiContex
|
|
|
29
30
|
export interface StandaloneSelectOptions {
|
|
30
31
|
currentValue?: string;
|
|
31
32
|
maxVisible?: number;
|
|
33
|
+
/** How the native picker sheet names and marks its items (`noun`, `icon`). */
|
|
34
|
+
picker?: Pick<SelectPickerOptions, "noun" | "icon" | "subtitle" | "confirm">;
|
|
32
35
|
}
|
|
33
36
|
/**
|
|
34
37
|
* Show a single-column item picker and resolve with the chosen item's value,
|
|
@@ -29,6 +29,12 @@ export interface AutocompleteItem {
|
|
|
29
29
|
description?: string;
|
|
30
30
|
/** Optional type-indicator glyph rendered in an aligned column before the label */
|
|
31
31
|
icon?: string;
|
|
32
|
+
/** Named icon for TSP terminals (`folder`, `file`, a slash-command icon name). */
|
|
33
|
+
iconName?: string;
|
|
34
|
+
/** Native detail when it differs from {@link description} (static text, parent dir). */
|
|
35
|
+
nativeDetail?: string;
|
|
36
|
+
/** Live state drawn right-aligned natively ("demo/demo", "off"). */
|
|
37
|
+
state?: string;
|
|
32
38
|
/** Dim hint text shown inline after cursor when this item is selected */
|
|
33
39
|
hint?: string;
|
|
34
40
|
}
|
|
@@ -39,6 +45,8 @@ export interface SlashCommand {
|
|
|
39
45
|
description?: string;
|
|
40
46
|
/** Optional type-indicator glyph shown before the command name in autocomplete */
|
|
41
47
|
icon?: string;
|
|
48
|
+
/** Named icon for TSP terminals, drawn instead of the {@link icon} glyph. */
|
|
49
|
+
iconName?: string;
|
|
42
50
|
argumentHint?: string;
|
|
43
51
|
/** Whether the command consumes argument text after the command name. False means the full input stays normal prompt text once args are present. */
|
|
44
52
|
allowArgs?: boolean;
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
import { type Component } from "../tui.js";
|
|
2
2
|
import type { AdvisorMessageDetails } from "./messages.js";
|
|
3
|
-
import type
|
|
3
|
+
import { type Theme } from "../theme/index.js";
|
|
4
|
+
import { type NativeUiEvent } from "../native/node.js";
|
|
5
|
+
/** The advisor card: shared by the controlled expansion getter and native toggles. */
|
|
6
|
+
export interface AdvisorMessageCard extends Component {
|
|
7
|
+
/** Transcript-wide expansion (`Ctrl+O`); clears a toggle made in the terminal. */
|
|
8
|
+
setExpanded(expanded: boolean): void;
|
|
9
|
+
handleNativeEvent(event: NativeUiEvent): void;
|
|
10
|
+
}
|
|
4
11
|
/**
|
|
5
12
|
* Display-only transcript card for advisor notes injected into the primary
|
|
6
13
|
* session. Styled as a distinct voice so notes never blend into thinking
|
|
7
14
|
* output (whose `thinkingText` color equals `toolOutput` in most themes):
|
|
8
15
|
* a bold `customMessageLabel` header tag (skill-card convention), a heavy
|
|
9
16
|
* rail tinted per-note severity, and the note body on the default text color.
|
|
17
|
+
*
|
|
18
|
+
* `getExpanded` owns expansion; a native toggle overrides it for this card
|
|
19
|
+
* until the next transcript-wide change.
|
|
10
20
|
*/
|
|
11
|
-
export declare function createAdvisorMessageCard(details: AdvisorMessageDetails | undefined, getExpanded: () => boolean, uiTheme: Theme):
|
|
21
|
+
export declare function createAdvisorMessageCard(details: AdvisorMessageDetails | undefined, getExpanded: () => boolean, uiTheme: Theme): AdvisorMessageCard;
|
|
@@ -2,9 +2,11 @@ import type { AssistantMessage, ImageContent } from "@linxiraos/pi-ai";
|
|
|
2
2
|
import { type Component, Container } from "../tui.js";
|
|
3
3
|
import { type ImageBudget } from "../components/image.js";
|
|
4
4
|
import type { AssistantThinkingRenderer } from "./extension-types.js";
|
|
5
|
+
import type { NativeNode, NativeUiEvent } from "../native/node.js";
|
|
5
6
|
import { type CacheInvalidation } from "./cache-invalidation-marker.js";
|
|
6
7
|
import { type ServedModelMismatch } from "./served-model-marker.js";
|
|
7
8
|
import { type TranscriptStableRow } from "../chrome/transcript-container.js";
|
|
9
|
+
import { type TurnUsageSummary } from "../overlays/usage-row.js";
|
|
8
10
|
/** Test-only: clear the shared gauge so observations don't leak across cases. */
|
|
9
11
|
export declare function resetThinkingSpeedTracker(): void;
|
|
10
12
|
/**
|
|
@@ -43,6 +45,8 @@ export declare class AssistantMessageComponent extends Container {
|
|
|
43
45
|
* against the previous turn's cache footprint.
|
|
44
46
|
*/
|
|
45
47
|
setCacheInvalidation(info: CacheInvalidation | undefined): void;
|
|
48
|
+
/** Mark this answer as the end of a turn with the turn's totals (native only: ANSI keeps them in the status line). */
|
|
49
|
+
setTurnUsage(summary: TurnUsageSummary | undefined): void;
|
|
46
50
|
/**
|
|
47
51
|
* Show or clear the trailing served-model divider. Set once the turn's
|
|
48
52
|
* signed thinking block (or router report) has named the model that actually
|
|
@@ -78,6 +82,23 @@ export declare class AssistantMessageComponent extends Container {
|
|
|
78
82
|
setExpanded(expanded: boolean): void;
|
|
79
83
|
isTranscriptBlockFinalized(): boolean;
|
|
80
84
|
render(width: number): readonly string[];
|
|
85
|
+
/**
|
|
86
|
+
* A `col` (role `zeta.assistant`) of `md` nodes keyed by content index, so
|
|
87
|
+
* streamed deltas reach the terminal as `text append` on the same node;
|
|
88
|
+
* the tail block carries `stream: true` until the message finalizes.
|
|
89
|
+
* Thinking blocks are quiet collapsible `section`s: a muted "Thinking…"
|
|
90
|
+
* shimmer while live, then "Thought for 12s"; tokens and rate ride in the
|
|
91
|
+
* head's `title`. With `hideThinkingBlock` only the live head shows (collapsed)
|
|
92
|
+
* and a finished thought emits nothing.
|
|
93
|
+
*/
|
|
94
|
+
describe(): NativeNode;
|
|
95
|
+
/**
|
|
96
|
+
* A TTSR rule rewound this partial answer: a native terminal dims it and
|
|
97
|
+
* tags it `↺ rewound` (the ANSI render leaves it as it stopped).
|
|
98
|
+
*/
|
|
99
|
+
markRewound(): void;
|
|
100
|
+
/** Mirrors a thinking section collapsed or expanded in the terminal. */
|
|
101
|
+
handleNativeEvent(event: NativeUiEvent): void;
|
|
81
102
|
/** Width-independent stable identities for the streamed leading thinking run. */
|
|
82
103
|
getTranscriptStableRows(): readonly TranscriptStableRow[];
|
|
83
104
|
/**
|
|
@@ -5,6 +5,7 @@ import type { ImageContent } from "@linxiraos/pi-ai";
|
|
|
5
5
|
import { Container, type TUI } from "../tui.js";
|
|
6
6
|
import type { OutputArtifactError } from "../tools/streaming-output.js";
|
|
7
7
|
import type { TruncationMeta } from "../tools/output-meta.js";
|
|
8
|
+
import { type DescribeContext, type NativeNode, type NativeUiEvent } from "../native/node.js";
|
|
8
9
|
/** PTY size for `!` commands: the execution frame's inner content area. */
|
|
9
10
|
export declare function bashPtyViewport(ui: TUI): {
|
|
10
11
|
cols: number;
|
|
@@ -25,6 +26,14 @@ export declare class BashExecutionComponent extends Container {
|
|
|
25
26
|
*/
|
|
26
27
|
setExpanded(expanded: boolean): void;
|
|
27
28
|
invalidate(): void;
|
|
29
|
+
handleNativeEvent(event: NativeUiEvent): void;
|
|
30
|
+
/**
|
|
31
|
+
* The agent's bash `tool` frame (role `zeta.bash`) with a `you` badge: the
|
|
32
|
+
* command in the head, the output as an `ansi` mini terminal following its
|
|
33
|
+
* tail. Terminals without the `tool` kind get a `card` headed by the
|
|
34
|
+
* command.
|
|
35
|
+
*/
|
|
36
|
+
describe(cx?: DescribeContext): NativeNode;
|
|
28
37
|
appendOutput(chunk: string): void;
|
|
29
38
|
/** Switch to PTY rendering and feed raw terminal bytes through the vterm replay. */
|
|
30
39
|
appendPtyChunk(chunk: string): void;
|
|
@@ -39,7 +39,12 @@ export declare class ChatTranscriptBuilder {
|
|
|
39
39
|
rebuild(entries: TranscriptEntry[]): void;
|
|
40
40
|
/** Append newly persisted entries without rebuilding already rendered rows. */
|
|
41
41
|
append(entries: TranscriptEntry[]): void;
|
|
42
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* Toggle tool-output expansion across every expandable component. Cards a
|
|
44
|
+
* TSP terminal collapsed or expanded locally mirror that into their own
|
|
45
|
+
* state, so this re-applies the transcript-wide state to every one of them
|
|
46
|
+
* even when it equals the previous value.
|
|
47
|
+
*/
|
|
43
48
|
setExpanded(expanded: boolean): void;
|
|
44
49
|
get expanded(): boolean;
|
|
45
50
|
/** Rendered row where a persisted entry begins, after the container has painted once. */
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { Container } from "../tui.js";
|
|
2
2
|
import type { CollabPromptDetails } from "./messages.js";
|
|
3
3
|
import type { CustomMessage } from "./messages.js";
|
|
4
|
+
import type { NativeNode } from "../native/node.js";
|
|
4
5
|
/**
|
|
5
6
|
* Renders a collab guest prompt on every participant's transcript: a
|
|
6
7
|
* user-message-styled bubble prefixed with the author's name.
|
|
7
8
|
*/
|
|
8
9
|
export declare class CollabPromptMessageComponent extends Container {
|
|
10
|
+
#private;
|
|
9
11
|
constructor(message: CustomMessage<CollabPromptDetails>);
|
|
12
|
+
/** A user-toned card headed by the guest's name, with the prompt as markdown. */
|
|
13
|
+
describe(): NativeNode;
|
|
10
14
|
}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { type Component } from "../tui.js";
|
|
2
2
|
import type { BranchSummaryMessage, CompactionSummaryMessage, CustomMessage } from "./messages.js";
|
|
3
|
+
import type { TspSpan } from "@linxiraos/pi-wire";
|
|
4
|
+
import { type NativeChild, type NativeNode, type NativeUiEvent } from "../native/node.js";
|
|
3
5
|
interface SummaryDividerOptions {
|
|
4
6
|
label: () => string;
|
|
7
|
+
/** Themed spans of the label for native terminals. */
|
|
8
|
+
nativeLabel: () => TspSpan[];
|
|
5
9
|
detailMarkdown: () => string;
|
|
10
|
+
/** Native body when it differs from the markdown detail. */
|
|
11
|
+
nativeDetail?: () => NativeChild[];
|
|
12
|
+
/** Semantic role of the native section. */
|
|
13
|
+
role: string;
|
|
6
14
|
}
|
|
7
15
|
/**
|
|
8
16
|
* Common summary/detail delegate behind the compaction, handoff, and branch
|
|
@@ -14,6 +22,13 @@ declare class SummaryMessageComponent implements Component {
|
|
|
14
22
|
#private;
|
|
15
23
|
constructor(options: SummaryDividerOptions);
|
|
16
24
|
setExpanded(expanded: boolean): void;
|
|
25
|
+
/**
|
|
26
|
+
* A collapsible `section` headed by the divider label, with the summary
|
|
27
|
+
* markdown as its body; expanding is terminal-local and mirrored back
|
|
28
|
+
* through {@link handleNativeEvent}.
|
|
29
|
+
*/
|
|
30
|
+
describe(): NativeNode;
|
|
31
|
+
handleNativeEvent(event: NativeUiEvent): void;
|
|
17
32
|
setIgnoreTight(ignore: boolean): this;
|
|
18
33
|
invalidate(): void;
|
|
19
34
|
dispose(): void;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { Container, type TUI } from "../tui.js";
|
|
6
6
|
import type { OutputArtifactError } from "../tools/streaming-output.js";
|
|
7
7
|
import type { TruncationMeta } from "../tools/output-meta.js";
|
|
8
|
+
import { type DescribeContext, type NativeNode, type NativeUiEvent } from "../native/node.js";
|
|
8
9
|
export type EvalExecutionLanguage = "python" | "js";
|
|
9
10
|
export declare class EvalExecutionComponent extends Container {
|
|
10
11
|
#private;
|
|
@@ -18,6 +19,13 @@ export declare class EvalExecutionComponent extends Container {
|
|
|
18
19
|
getTranscriptBlockVersion(): number;
|
|
19
20
|
setExpanded(expanded: boolean): void;
|
|
20
21
|
invalidate(): void;
|
|
22
|
+
handleNativeEvent(event: NativeUiEvent): void;
|
|
23
|
+
/**
|
|
24
|
+
* The agent's eval `tool` frame (role `zeta.eval`) with a `you` badge: the
|
|
25
|
+
* cell source in the head, its output as an `ansi` mini terminal. Terminals
|
|
26
|
+
* without the `tool` kind get a `card` with the cell as `code` over the output.
|
|
27
|
+
*/
|
|
28
|
+
describe(cx?: DescribeContext): NativeNode;
|
|
21
29
|
appendOutput(chunk: string): void;
|
|
22
30
|
setComplete(exitCode: number | undefined, cancelled: boolean, options?: {
|
|
23
31
|
output?: string;
|
|
@@ -11,6 +11,8 @@ import { Text } from "../components/text.js";
|
|
|
11
11
|
import { Container, type TUI } from "../tui.js";
|
|
12
12
|
import type { OutputArtifactError } from "../tools/streaming-output.js";
|
|
13
13
|
import { type TruncationMeta } from "../tools/output-meta.js";
|
|
14
|
+
import type { TspText } from "@linxiraos/pi-wire";
|
|
15
|
+
import type { NativeChild, NativeNode } from "../native/node.js";
|
|
14
16
|
/** Output rows shown while an execution is collapsed. */
|
|
15
17
|
export declare const PREVIEW_LINES = 20;
|
|
16
18
|
/** Maximum visible columns retained from an execution output line. */
|
|
@@ -44,6 +46,62 @@ export declare function buildStatusFooter(opts: {
|
|
|
44
46
|
/** Suppress the "… N more lines" hint (used when sixel passthrough renders the full output). */
|
|
45
47
|
suppressHiddenCount?: boolean;
|
|
46
48
|
}): Text | undefined;
|
|
49
|
+
/** Inputs for {@link describeExecutionCard}. */
|
|
50
|
+
export interface ExecutionCardInput {
|
|
51
|
+
readonly role: string;
|
|
52
|
+
readonly head: TspText;
|
|
53
|
+
/** Excluded from context (`!!`/`$$`): a muted card. */
|
|
54
|
+
readonly muted: boolean;
|
|
55
|
+
readonly status: ExecutionStatus;
|
|
56
|
+
/** `performance.now()` when the run started; drives the live elapsed timer. */
|
|
57
|
+
readonly startedAt: number;
|
|
58
|
+
readonly expanded: boolean;
|
|
59
|
+
/** Body nodes before the output (the eval cell's code). */
|
|
60
|
+
readonly lead?: readonly NativeChild[];
|
|
61
|
+
/** Raw terminal output. */
|
|
62
|
+
readonly output: string;
|
|
63
|
+
readonly images?: readonly NativeChild[];
|
|
64
|
+
readonly exitCode: number | undefined;
|
|
65
|
+
readonly truncation: TruncationMeta | undefined;
|
|
66
|
+
readonly artifactError?: OutputArtifactError;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Native card shared by user bash/eval runs: the head with a live `elapsed`
|
|
70
|
+
* while running, the output as an `ansi` mini terminal that follows its tail
|
|
71
|
+
* while running, a cancel hint spinner, then exit/truncation notes. The
|
|
72
|
+
* terminal clamps the collapsed body and owns the "N more lines" affordance.
|
|
73
|
+
*/
|
|
74
|
+
export declare function describeExecutionCard(input: ExecutionCardInput): NativeNode;
|
|
75
|
+
/** Inputs for {@link describeExecutionTool}. */
|
|
76
|
+
export interface ExecutionToolInput {
|
|
77
|
+
readonly role: string;
|
|
78
|
+
/** Tool name for the head icon (`bash`, `eval`). */
|
|
79
|
+
readonly name: string;
|
|
80
|
+
readonly title: string;
|
|
81
|
+
/** The command / cell source, shown once in the head. */
|
|
82
|
+
readonly command: string;
|
|
83
|
+
readonly lang: string;
|
|
84
|
+
/** Excluded from context (`!!`/`$$`). */
|
|
85
|
+
readonly excluded: boolean;
|
|
86
|
+
readonly status: ExecutionStatus;
|
|
87
|
+
/** `performance.now()` when the run started / ended. */
|
|
88
|
+
readonly startedAt: number;
|
|
89
|
+
readonly endedAt: number | undefined;
|
|
90
|
+
readonly expanded: boolean;
|
|
91
|
+
/** Raw terminal output. */
|
|
92
|
+
readonly output: string;
|
|
93
|
+
readonly images?: readonly NativeChild[];
|
|
94
|
+
readonly exitCode: number | undefined;
|
|
95
|
+
readonly truncation: TruncationMeta | undefined;
|
|
96
|
+
readonly artifactError?: OutputArtifactError;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* A user `!`/`$` run as the agent's `tool` frame (§6.6): the command in the
|
|
100
|
+
* head with a `you` badge (plus `not sent` when excluded from context), the
|
|
101
|
+
* timer, exit chip and cancelled note; the body is the output as an `ansi`
|
|
102
|
+
* mini terminal following its tail, then one quiet truncation line.
|
|
103
|
+
*/
|
|
104
|
+
export declare function describeExecutionTool(input: ExecutionToolInput): NativeNode;
|
|
47
105
|
/**
|
|
48
106
|
* Derive the post-run status from an exit code + cancellation flag using the
|
|
49
107
|
* same precedence both execution components apply.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Container } from "../tui.js";
|
|
1
|
+
import { type Component, Container } from "../tui.js";
|
|
2
|
+
import { type NativeNode, type NativeUiEvent } from "../native/node.js";
|
|
2
3
|
/** One file's worth of late LSP diagnostics, as carried on the transcript message. */
|
|
3
4
|
export interface LateDiagnosticsFile {
|
|
4
5
|
path?: string;
|
|
@@ -6,6 +7,13 @@ export interface LateDiagnosticsFile {
|
|
|
6
7
|
errored?: boolean;
|
|
7
8
|
messages?: string[];
|
|
8
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Native terminals append late diagnostics into the edit/write frame they
|
|
12
|
+
* belong to: each file goes to the most recent tool component in `blocks`
|
|
13
|
+
* that accepts it. Returns the files no frame took (all of them on the ANSI
|
|
14
|
+
* path), for the standalone {@link LateDiagnosticsMessageComponent}.
|
|
15
|
+
*/
|
|
16
|
+
export declare function routeLateDiagnostics(blocks: readonly Component[], files: readonly LateDiagnosticsFile[]): LateDiagnosticsFile[];
|
|
9
17
|
/**
|
|
10
18
|
* Renders late LSP diagnostics (arrived after edit/write returned) in the
|
|
11
19
|
* transcript, reusing the same tree renderer the edit/write tools use so the
|
|
@@ -17,5 +25,11 @@ export declare class LateDiagnosticsMessageComponent extends Container {
|
|
|
17
25
|
setExpanded(expanded: boolean): void;
|
|
18
26
|
setToolActivityVisible(visible: boolean): void;
|
|
19
27
|
render(width: number): readonly string[];
|
|
28
|
+
handleNativeEvent(event: NativeUiEvent): void;
|
|
29
|
+
/**
|
|
30
|
+
* A severity-toned card (role `zeta.diagnostics.late`) with one wrapped line
|
|
31
|
+
* per diagnostic, clamped by the terminal while collapsed.
|
|
32
|
+
*/
|
|
33
|
+
describe(): NativeNode;
|
|
20
34
|
invalidate(): void;
|
|
21
35
|
}
|
|
@@ -180,6 +180,10 @@ export interface AdvisorNote {
|
|
|
180
180
|
severity?: AdvisorSeverity;
|
|
181
181
|
/** Which configured advisor produced this note (omitted for the default advisor). */
|
|
182
182
|
advisor?: string;
|
|
183
|
+
/** Primary turns completed when note was emitted. */
|
|
184
|
+
turn?: number;
|
|
185
|
+
/** Primary turns elapsed before merged-batch delivery. */
|
|
186
|
+
turnsAgo?: number;
|
|
183
187
|
}
|
|
184
188
|
/** Details payload on the batched `advisor` custom message rendered in the transcript. */
|
|
185
189
|
export interface AdvisorMessageDetails {
|
|
@@ -3,6 +3,7 @@ import { type Component } from "../tui.js";
|
|
|
3
3
|
import { Container } from "../tui.js";
|
|
4
4
|
import { type ReadRenderArgs } from "../tools/read.js";
|
|
5
5
|
import type { ToolExecutionHandle } from "./tool-execution.js";
|
|
6
|
+
import { type DescribeContext, type NativeNode, type NativeUiEvent } from "../native/node.js";
|
|
6
7
|
export declare function readArgsHaveTarget(args: unknown): boolean;
|
|
7
8
|
/**
|
|
8
9
|
* Whether a read collapses into the compact {@link ReadToolGroupComponent}
|
|
@@ -63,5 +64,19 @@ export declare class ReadToolGroupComponent extends Container implements ToolExe
|
|
|
63
64
|
setExpanded(expanded: boolean): void;
|
|
64
65
|
setToolActivityVisible(visible: boolean): void;
|
|
65
66
|
getComponent(): Component;
|
|
67
|
+
/**
|
|
68
|
+
* Mirrors the terminal's toggles: the `tool` head (the group's root) is
|
|
69
|
+
* `Ctrl+O`'s expansion; a fallback preview card collapses on its own
|
|
70
|
+
* (`setExpanded` resets those).
|
|
71
|
+
*/
|
|
72
|
+
handleNativeEvent(event: NativeUiEvent): void;
|
|
73
|
+
/**
|
|
74
|
+
* The read run as one inline `tool` on terminals that list the kind, else
|
|
75
|
+
* the fallback: a bare `card` (role `zeta.tool.read`) with `Read <path>` or
|
|
76
|
+
* `Read (N)` in the head, a `list` of path items (status tone, link,
|
|
77
|
+
* correction and conflict detail, nested usage) and, with content previews
|
|
78
|
+
* on, a `code` block per read clamped by the card's preview while collapsed.
|
|
79
|
+
*/
|
|
80
|
+
describe(cx?: DescribeContext): NativeNode;
|
|
66
81
|
}
|
|
67
82
|
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { NativeNode } from "../native/node.js";
|
|
2
|
+
import { Container } from "../tui.js";
|
|
3
|
+
/**
|
|
4
|
+
* The idle recap (`recap.*`): where the session stands, written while the user
|
|
5
|
+
* was away. Stays in the transcript like a thought: a dim italic `※ recap:`
|
|
6
|
+
* line in ANSI, a history icon beside the italic thought-coloured text in a
|
|
7
|
+
* native terminal (`zeta.recap`).
|
|
8
|
+
*/
|
|
9
|
+
export declare class RecapNotice extends Container {
|
|
10
|
+
#private;
|
|
11
|
+
constructor(recap: string);
|
|
12
|
+
describe(): NativeNode;
|
|
13
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Container } from "../tui.js";
|
|
2
2
|
import type { CustomMessage, SkillPromptDetails } from "./messages.js";
|
|
3
|
+
import { type NativeNode, type NativeUiEvent } from "../native/node.js";
|
|
3
4
|
/**
|
|
4
5
|
* Transcript row for a user-invoked skill. Two layouts, chosen by where the
|
|
5
6
|
* `/skill:<name>` token sat in the submitted draft:
|
|
@@ -17,6 +18,14 @@ export declare class SkillMessageComponent extends Container {
|
|
|
17
18
|
#private;
|
|
18
19
|
constructor(message: CustomMessage<SkillPromptDetails>, imageLinks?: readonly (string | undefined)[]);
|
|
19
20
|
setExpanded(expanded: boolean): void;
|
|
21
|
+
handleNativeEvent(event: NativeUiEvent): void;
|
|
22
|
+
/**
|
|
23
|
+
* A user-toned card (role `zeta.skill`): the skill chip (linked to its
|
|
24
|
+
* SKILL.md) and prompt size in the head, the user's draft as markdown, and
|
|
25
|
+
* the loaded skill prompt, described only while expanded because it can
|
|
26
|
+
* be large.
|
|
27
|
+
*/
|
|
28
|
+
describe(): NativeNode;
|
|
20
29
|
/**
|
|
21
30
|
* Transcript finalization contract (see `FinalizableBlock`): an optimistic
|
|
22
31
|
* `/skill:` row reports `false` so the container keeps it live and removable
|