@pentoshi/clai 4.14.4 → 4.15.0
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/CONTRIBUTING.md +4 -0
- package/PROVIDERS.md +2 -0
- package/README.md +41 -5
- package/dist/agent/compaction-summary.d.ts +6 -1
- package/dist/agent/compaction-summary.js +46 -20
- package/dist/agent/compaction-summary.js.map +1 -1
- package/dist/agent/confirm-port.d.ts +3 -8
- package/dist/agent/confirm-port.js +9 -7
- package/dist/agent/confirm-port.js.map +1 -1
- package/dist/agent/context/compact-with-summary.js +55 -14
- package/dist/agent/context/compact-with-summary.js.map +1 -1
- package/dist/agent/context/compaction-recent-history.js +4 -2
- package/dist/agent/context/compaction-recent-history.js.map +1 -1
- package/dist/agent/context/compaction-user-instructions.d.ts +12 -0
- package/dist/agent/context/compaction-user-instructions.js +264 -0
- package/dist/agent/context/compaction-user-instructions.js.map +1 -0
- package/dist/agent/context/compaction-work-history.d.ts +13 -0
- package/dist/agent/context/compaction-work-history.js +150 -0
- package/dist/agent/context/compaction-work-history.js.map +1 -0
- package/dist/agent/context-manager.js +19 -5
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/plan-implement-compact.js +2 -1
- package/dist/agent/plan-implement-compact.js.map +1 -1
- package/dist/agent/subagents/read-only-tools.js +2 -2
- package/dist/agent/subagents/read-only-tools.js.map +1 -1
- package/dist/agent/turn/loop/stream-session.js +33 -27
- package/dist/agent/turn/loop/stream-session.js.map +1 -1
- package/dist/agent/turn/tool-execution/authorization.js +1 -1
- package/dist/agent/turn/tool-execution/authorization.js.map +1 -1
- package/dist/app/adapters/current-store-adapter.js +2 -2
- package/dist/app/adapters/current-store-adapter.js.map +1 -1
- package/dist/app/adapters/current-updates-adapter.d.ts +1 -1
- package/dist/app/adapters/current-updates-adapter.js +4 -13
- package/dist/app/adapters/current-updates-adapter.js.map +1 -1
- package/dist/app/commands/catalog.js +1 -0
- package/dist/app/commands/catalog.js.map +1 -1
- package/dist/app/controllers/session-changes.d.ts +24 -0
- package/dist/app/controllers/session-changes.js +75 -0
- package/dist/app/controllers/session-changes.js.map +1 -0
- package/dist/app/controllers/session-controller.d.ts +9 -0
- package/dist/app/controllers/session-controller.js +67 -7
- package/dist/app/controllers/session-controller.js.map +1 -1
- package/dist/app/ports/confirm-port.d.ts +4 -1
- package/dist/app/ports/persistence-port.d.ts +2 -0
- package/dist/app/ports/transcript-item.d.ts +2 -0
- package/dist/app/ports/updates-port.d.ts +1 -1
- package/dist/classic/app/ClassicApp.js +42 -33
- package/dist/classic/app/ClassicApp.js.map +1 -1
- package/dist/classic/app/action-handlers.js +7 -0
- package/dist/classic/app/action-handlers.js.map +1 -1
- package/dist/classic/app/app-wiring.d.ts +8 -1
- package/dist/classic/app/app-wiring.js +23 -4
- package/dist/classic/app/app-wiring.js.map +1 -1
- package/dist/classic/app/paint-pacing.d.ts +3 -1
- package/dist/classic/app/paint-pacing.js +9 -1
- package/dist/classic/app/paint-pacing.js.map +1 -1
- package/dist/classic/app/use-feed.js +8 -3
- package/dist/classic/app/use-feed.js.map +1 -1
- package/dist/classic/app/wiring-composer-pointer.d.ts +3 -0
- package/dist/classic/app/wiring-composer-pointer.js +22 -0
- package/dist/classic/app/wiring-composer-pointer.js.map +1 -0
- package/dist/classic/app/wiring-disclosure.d.ts +3 -0
- package/dist/classic/app/wiring-disclosure.js +31 -0
- package/dist/classic/app/wiring-disclosure.js.map +1 -0
- package/dist/classic/app/wiring-interactions.d.ts +1 -0
- package/dist/classic/app/wiring-interactions.js +16 -16
- package/dist/classic/app/wiring-interactions.js.map +1 -1
- package/dist/classic/app/wiring-jump-to-latest.d.ts +3 -0
- package/dist/classic/app/wiring-jump-to-latest.js +38 -0
- package/dist/classic/app/wiring-jump-to-latest.js.map +1 -0
- package/dist/classic/app/wiring-lifecycle.d.ts +1 -1
- package/dist/classic/app/wiring-lifecycle.js +19 -10
- package/dist/classic/app/wiring-lifecycle.js.map +1 -1
- package/dist/classic/app/wiring-selection.d.ts +1 -0
- package/dist/classic/app/wiring-selection.js +10 -1
- package/dist/classic/app/wiring-selection.js.map +1 -1
- package/dist/classic/app/wiring-types.d.ts +12 -1
- package/dist/classic/blocks/assistant-lines.js +1 -1
- package/dist/classic/blocks/assistant-lines.js.map +1 -1
- package/dist/classic/blocks/batch-lines.d.ts +1 -1
- package/dist/classic/blocks/batch-lines.js +47 -59
- package/dist/classic/blocks/batch-lines.js.map +1 -1
- package/dist/classic/blocks/block-context.d.ts +8 -1
- package/dist/classic/blocks/block-context.js.map +1 -1
- package/dist/classic/blocks/compacted-lines.d.ts +0 -1
- package/dist/classic/blocks/compacted-lines.js +12 -44
- package/dist/classic/blocks/compacted-lines.js.map +1 -1
- package/dist/classic/blocks/diff-lines.d.ts +3 -5
- package/dist/classic/blocks/diff-lines.js +113 -152
- package/dist/classic/blocks/diff-lines.js.map +1 -1
- package/dist/classic/blocks/disclosure-lines.d.ts +16 -0
- package/dist/classic/blocks/disclosure-lines.js +20 -0
- package/dist/classic/blocks/disclosure-lines.js.map +1 -0
- package/dist/classic/blocks/intro-lines.js +2 -0
- package/dist/classic/blocks/intro-lines.js.map +1 -1
- package/dist/classic/blocks/notice-lines.js +4 -16
- package/dist/classic/blocks/notice-lines.js.map +1 -1
- package/dist/classic/blocks/output-lines.d.ts +10 -0
- package/dist/classic/blocks/output-lines.js +35 -0
- package/dist/classic/blocks/output-lines.js.map +1 -0
- package/dist/classic/blocks/thinking-lines.d.ts +0 -1
- package/dist/classic/blocks/thinking-lines.js +15 -32
- package/dist/classic/blocks/thinking-lines.js.map +1 -1
- package/dist/classic/blocks/tool-label.d.ts +2 -0
- package/dist/classic/blocks/tool-label.js +8 -0
- package/dist/classic/blocks/tool-label.js.map +1 -0
- package/dist/classic/blocks/tool-lines.d.ts +3 -5
- package/dist/classic/blocks/tool-lines.js +90 -150
- package/dist/classic/blocks/tool-lines.js.map +1 -1
- package/dist/classic/blocks/turn-summary-lines.js +7 -1
- package/dist/classic/blocks/turn-summary-lines.js.map +1 -1
- package/dist/classic/blocks/user-lines.js +9 -15
- package/dist/classic/blocks/user-lines.js.map +1 -1
- package/dist/classic/bootstrap/start-classic.js +2 -0
- package/dist/classic/bootstrap/start-classic.js.map +1 -1
- package/dist/classic/chrome/Composer.d.ts +4 -2
- package/dist/classic/chrome/Composer.js +12 -6
- package/dist/classic/chrome/Composer.js.map +1 -1
- package/dist/classic/chrome/composer-controller.d.ts +3 -0
- package/dist/classic/chrome/composer-controller.js +15 -22
- package/dist/classic/chrome/composer-controller.js.map +1 -1
- package/dist/classic/chrome/composer-frame.d.ts +1 -1
- package/dist/classic/chrome/composer-frame.js +2 -1
- package/dist/classic/chrome/composer-frame.js.map +1 -1
- package/dist/classic/chrome/composer-mentions.d.ts +2 -0
- package/dist/classic/chrome/composer-mentions.js +16 -0
- package/dist/classic/chrome/composer-mentions.js.map +1 -0
- package/dist/classic/chrome/composer-pointer.d.ts +13 -0
- package/dist/classic/chrome/composer-pointer.js +22 -0
- package/dist/classic/chrome/composer-pointer.js.map +1 -0
- package/dist/classic/chrome/directory-row.d.ts +20 -2
- package/dist/classic/chrome/directory-row.js +45 -1
- package/dist/classic/chrome/directory-row.js.map +1 -1
- package/dist/classic/chrome/editor-view.js +6 -1
- package/dist/classic/chrome/editor-view.js.map +1 -1
- package/dist/classic/chrome/queue-rows.d.ts +1 -0
- package/dist/classic/chrome/queue-rows.js +12 -2
- package/dist/classic/chrome/queue-rows.js.map +1 -1
- package/dist/classic/chrome/status-rows.d.ts +1 -0
- package/dist/classic/chrome/status-rows.js +5 -4
- package/dist/classic/chrome/status-rows.js.map +1 -1
- package/dist/classic/chrome/toast-rows.js +7 -6
- package/dist/classic/chrome/toast-rows.js.map +1 -1
- package/dist/classic/feed/LiveTail.d.ts +4 -3
- package/dist/classic/feed/LiveTail.js +26 -15
- package/dist/classic/feed/LiveTail.js.map +1 -1
- package/dist/classic/feed/feed-blocks.d.ts +2 -0
- package/dist/classic/feed/feed-blocks.js +4 -2
- package/dist/classic/feed/feed-blocks.js.map +1 -1
- package/dist/classic/feed/transcript-disclosure.d.ts +6 -0
- package/dist/classic/feed/transcript-disclosure.js +9 -0
- package/dist/classic/feed/transcript-disclosure.js.map +1 -0
- package/dist/classic/feed/transcript-resources.d.ts +23 -0
- package/dist/classic/feed/transcript-resources.js +140 -0
- package/dist/classic/feed/transcript-resources.js.map +1 -0
- package/dist/classic/feed/transcript-window.js +43 -18
- package/dist/classic/feed/transcript-window.js.map +1 -1
- package/dist/classic/input/input-router.d.ts +2 -0
- package/dist/classic/input/input-router.js +6 -0
- package/dist/classic/input/input-router.js.map +1 -1
- package/dist/classic/input/raw-decoder.js +3 -2
- package/dist/classic/input/raw-decoder.js.map +1 -1
- package/dist/classic/panels/confirm-panel.js +17 -10
- package/dist/classic/panels/confirm-panel.js.map +1 -1
- package/dist/classic/panels/pager-panel.d.ts +6 -2
- package/dist/classic/panels/pager-panel.js +11 -4
- package/dist/classic/panels/pager-panel.js.map +1 -1
- package/dist/classic/panels/panel-controller.js +4 -1
- package/dist/classic/panels/panel-controller.js.map +1 -1
- package/dist/classic/panels/panel-host.js +1 -1
- package/dist/classic/panels/panel-host.js.map +1 -1
- package/dist/classic/panels/panel-wheel.js +1 -1
- package/dist/classic/panels/panel-wheel.js.map +1 -1
- package/dist/classic/render/shell-width.d.ts +0 -2
- package/dist/classic/render/shell-width.js +0 -6
- package/dist/classic/render/shell-width.js.map +1 -1
- package/dist/commands/update/detection.d.ts +20 -0
- package/dist/commands/update/detection.js +207 -0
- package/dist/commands/update/detection.js.map +1 -0
- package/dist/commands/update/download.d.ts +3 -0
- package/dist/commands/update/download.js +63 -0
- package/dist/commands/update/download.js.map +1 -0
- package/dist/commands/update/installers.d.ts +16 -5
- package/dist/commands/update/installers.js +12 -513
- package/dist/commands/update/installers.js.map +1 -1
- package/dist/commands/update/lock.d.ts +6 -0
- package/dist/commands/update/lock.js +86 -0
- package/dist/commands/update/lock.js.map +1 -0
- package/dist/commands/update/metadata.d.ts +6 -0
- package/dist/commands/update/metadata.js +36 -0
- package/dist/commands/update/metadata.js.map +1 -0
- package/dist/commands/update/native.d.ts +3 -0
- package/dist/commands/update/native.js +179 -0
- package/dist/commands/update/native.js.map +1 -0
- package/dist/commands/update/package-managers.d.ts +4 -0
- package/dist/commands/update/package-managers.js +158 -0
- package/dist/commands/update/package-managers.js.map +1 -0
- package/dist/commands/update/process.d.ts +17 -0
- package/dist/commands/update/process.js +114 -0
- package/dist/commands/update/process.js.map +1 -0
- package/dist/commands/update/source-worker.d.ts +2 -0
- package/dist/commands/update/source-worker.js +71 -0
- package/dist/commands/update/source-worker.js.map +1 -0
- package/dist/commands/update/source.d.ts +2 -0
- package/dist/commands/update/source.js +79 -0
- package/dist/commands/update/source.js.map +1 -0
- package/dist/commands/update/verification.d.ts +7 -0
- package/dist/commands/update/verification.js +73 -0
- package/dist/commands/update/verification.js.map +1 -0
- package/dist/commands/update/windows-stage.d.ts +21 -0
- package/dist/commands/update/windows-stage.js +186 -0
- package/dist/commands/update/windows-stage.js.map +1 -0
- package/dist/commands/update-install.d.ts +4 -13
- package/dist/commands/update-install.js +20 -152
- package/dist/commands/update-install.js.map +1 -1
- package/dist/commands/update.d.ts +4 -9
- package/dist/commands/update.js +51 -103
- package/dist/commands/update.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/instructions/record.d.ts +1 -1
- package/dist/instructions/record.js +3 -3
- package/dist/llm/free-client.d.ts +2 -0
- package/dist/llm/free-client.js +52 -0
- package/dist/llm/free-client.js.map +1 -0
- package/dist/llm/free.d.ts +1 -0
- package/dist/llm/free.js +77 -176
- package/dist/llm/free.js.map +1 -1
- package/dist/llm/key-rotation.d.ts +1 -0
- package/dist/llm/key-rotation.js +13 -2
- package/dist/llm/key-rotation.js.map +1 -1
- package/dist/llm/reasoning-errors.js +1 -1
- package/dist/llm/reasoning-errors.js.map +1 -1
- package/dist/llm/responses-error.d.ts +3 -0
- package/dist/llm/responses-error.js +37 -0
- package/dist/llm/responses-error.js.map +1 -0
- package/dist/llm/responses-http.js +5 -2
- package/dist/llm/responses-http.js.map +1 -1
- package/dist/llm/responses-replay.d.ts +2 -0
- package/dist/llm/responses-replay.js +37 -1
- package/dist/llm/responses-replay.js.map +1 -1
- package/dist/llm/responses-stream-events.js +3 -20
- package/dist/llm/responses-stream-events.js.map +1 -1
- package/dist/llm/responses-stream.js +2 -0
- package/dist/llm/responses-stream.js.map +1 -1
- package/dist/llm/wire/reasoning-artifacts.js +1 -1
- package/dist/llm/wire/reasoning-artifacts.js.map +1 -1
- package/dist/noninteractive/stdio-confirm-port.js +4 -3
- package/dist/noninteractive/stdio-confirm-port.js.map +1 -1
- package/dist/os/bun-runtime.js +2 -1
- package/dist/os/bun-runtime.js.map +1 -1
- package/dist/os/update-origin.d.ts +7 -0
- package/dist/os/update-origin.js +30 -0
- package/dist/os/update-origin.js.map +1 -0
- package/dist/prompts/embedded.js +2 -2
- package/dist/prompts/embedded.js.map +1 -1
- package/dist/prompts/index.js +25 -22
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/system.agent.md +7 -1
- package/dist/prompts/system.ask.md +1 -1
- package/dist/safety/filesystem-permissions.d.ts +8 -0
- package/dist/safety/filesystem-permissions.js +38 -18
- package/dist/safety/filesystem-permissions.js.map +1 -1
- package/dist/safety/patterns.d.ts +1 -1
- package/dist/safety/patterns.js +7 -7
- package/dist/safety/patterns.js.map +1 -1
- package/dist/safety/permission-mode.js +1 -1
- package/dist/safety/permission-mode.js.map +1 -1
- package/dist/safety/shell-classification.js +1 -1
- package/dist/safety/shell-classification.js.map +1 -1
- package/dist/session-runtime/client.js +2 -1
- package/dist/session-runtime/client.js.map +1 -1
- package/dist/session-runtime/view-manager.js +1 -1
- package/dist/session-runtime/view-manager.js.map +1 -1
- package/dist/store/history/jsonl-lock.js +10 -7
- package/dist/store/history/jsonl-lock.js.map +1 -1
- package/dist/store/history/recovery.d.ts +1 -0
- package/dist/store/history/recovery.js +2 -1
- package/dist/store/history/recovery.js.map +1 -1
- package/dist/store/history/sqlite-backend.js +2 -0
- package/dist/store/history/sqlite-backend.js.map +1 -1
- package/dist/store/history.d.ts +2 -2
- package/dist/store/history.js +8 -4
- package/dist/store/history.js.map +1 -1
- package/dist/store/session-prompts.d.ts +5 -0
- package/dist/store/session-prompts.js +60 -1
- package/dist/store/session-prompts.js.map +1 -1
- package/dist/tools/definitions/aggregate.js +7 -2
- package/dist/tools/definitions/aggregate.js.map +1 -1
- package/dist/tools/definitions/fs-read.js +1 -1
- package/dist/tools/definitions/fs-read.js.map +1 -1
- package/dist/tools/fs/read-input.d.ts +1 -1
- package/dist/tools/fs/read-input.js +2 -2
- package/dist/tools/fs/read-input.js.map +1 -1
- package/dist/tools/instructions.js +8 -1
- package/dist/tools/instructions.js.map +1 -1
- package/dist/tui-v2/app/App.js +18 -7
- package/dist/tui-v2/app/App.js.map +1 -1
- package/dist/tui-v2/bootstrap/frame-pacing.d.ts +4 -0
- package/dist/tui-v2/bootstrap/frame-pacing.js +5 -0
- package/dist/tui-v2/bootstrap/frame-pacing.js.map +1 -0
- package/dist/tui-v2/bootstrap/runtime-view.js +2 -0
- package/dist/tui-v2/bootstrap/runtime-view.js.map +1 -1
- package/dist/tui-v2/bootstrap/start-tui-v2.js +2 -0
- package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
- package/dist/tui-v2/components/modal/confirm-modal.d.ts +2 -0
- package/dist/tui-v2/components/modal/confirm-modal.js +21 -35
- package/dist/tui-v2/components/modal/confirm-modal.js.map +1 -1
- package/dist/tui-v2/components/overlay/overlay-host.js +1 -1
- package/dist/tui-v2/components/overlay/overlay-host.js.map +1 -1
- package/dist/tui-v2/components/pager/pager.js +4 -1
- package/dist/tui-v2/components/pager/pager.js.map +1 -1
- package/dist/tui-v2/components/plan/plan-interaction.d.ts +11 -0
- package/dist/tui-v2/components/plan/plan-interaction.js +56 -0
- package/dist/tui-v2/components/plan/plan-interaction.js.map +1 -0
- package/dist/tui-v2/components/plan/plan-view.d.ts +7 -1
- package/dist/tui-v2/components/plan/plan-view.js +78 -175
- package/dist/tui-v2/components/plan/plan-view.js.map +1 -1
- package/dist/tui-v2/components/plan/task-title.d.ts +9 -0
- package/dist/tui-v2/components/plan/task-title.js +17 -0
- package/dist/tui-v2/components/plan/task-title.js.map +1 -0
- package/dist/tui-v2/components/plan/use-task-disclosure.d.ts +25 -0
- package/dist/tui-v2/components/plan/use-task-disclosure.js +125 -0
- package/dist/tui-v2/components/plan/use-task-disclosure.js.map +1 -0
- package/dist/tui-v2/components/queue/queue-panel.js +2 -7
- package/dist/tui-v2/components/queue/queue-panel.js.map +1 -1
- package/dist/tui-v2/components/status/jump-to-latest.d.ts +7 -0
- package/dist/tui-v2/components/status/jump-to-latest.js +16 -0
- package/dist/tui-v2/components/status/jump-to-latest.js.map +1 -0
- package/dist/tui-v2/components/status/status-line.d.ts +1 -0
- package/dist/tui-v2/components/status/status-line.js +14 -4
- package/dist/tui-v2/components/status/status-line.js.map +1 -1
- package/dist/tui-v2/components/toast/toast-host.js +4 -7
- package/dist/tui-v2/components/toast/toast-host.js.map +1 -1
- package/dist/tui-v2/components/transcript/file-diff-card.d.ts +1 -0
- package/dist/tui-v2/components/transcript/file-diff-card.js +25 -11
- package/dist/tui-v2/components/transcript/file-diff-card.js.map +1 -1
- package/dist/tui-v2/components/transcript/tool-card.js +24 -20
- package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
- package/dist/tui-v2/components/transcript/transcript-row.js +6 -3
- package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
- package/dist/tui-v2/components/transcript/transcript-scroll-port.d.ts +1 -0
- package/dist/tui-v2/components/transcript/transcript-scroll-port.js +3 -1
- package/dist/tui-v2/components/transcript/transcript-scroll-port.js.map +1 -1
- package/dist/tui-v2/components/transcript/transcript-scrollbar.js +17 -11
- package/dist/tui-v2/components/transcript/transcript-scrollbar.js.map +1 -1
- package/dist/tui-v2/components/transcript/transcript-view.js +41 -21
- package/dist/tui-v2/components/transcript/transcript-view.js.map +1 -1
- package/dist/tui-v2/composer/composer-editor.js +17 -9
- package/dist/tui-v2/composer/composer-editor.js.map +1 -1
- package/dist/tui-v2/rendering/pager-markdown.d.ts +3 -0
- package/dist/tui-v2/rendering/pager-markdown.js +3 -0
- package/dist/tui-v2/rendering/pager-markdown.js.map +1 -1
- package/dist/types.d.ts +12 -0
- package/dist/types.js.map +1 -1
- package/dist/ui/mentions/file-suggestions.js +17 -8
- package/dist/ui/mentions/file-suggestions.js.map +1 -1
- package/dist/ui-core/actions/action-id.d.ts +1 -1
- package/dist/ui-core/actions/action-id.js +7 -0
- package/dist/ui-core/actions/action-id.js.map +1 -1
- package/dist/ui-core/actions/format-shortcuts.js +9 -0
- package/dist/ui-core/actions/format-shortcuts.js.map +1 -1
- package/dist/ui-core/bootstrap/overlay-ports.js +8 -3
- package/dist/ui-core/bootstrap/overlay-ports.js.map +1 -1
- package/dist/ui-core/bootstrap/session-resume.js +1 -0
- package/dist/ui-core/bootstrap/session-resume.js.map +1 -1
- package/dist/ui-core/commands/change-commands.d.ts +4 -0
- package/dist/ui-core/commands/change-commands.js +48 -0
- package/dist/ui-core/commands/change-commands.js.map +1 -0
- package/dist/ui-core/commands/command-handlers.js +2 -0
- package/dist/ui-core/commands/command-handlers.js.map +1 -1
- package/dist/ui-core/commands/config-commands.js +12 -6
- package/dist/ui-core/commands/config-commands.js.map +1 -1
- package/dist/ui-core/commands/prompt-commands.d.ts +1 -1
- package/dist/ui-core/commands/prompt-commands.js +12 -2
- package/dist/ui-core/commands/prompt-commands.js.map +1 -1
- package/dist/ui-core/composer/arrow-intent.js +2 -0
- package/dist/ui-core/composer/arrow-intent.js.map +1 -1
- package/dist/ui-core/composer/paste-placeholder.js +2 -2
- package/dist/ui-core/composer/paste-placeholder.js.map +1 -1
- package/dist/ui-core/composer/prompt-history.d.ts +12 -0
- package/dist/ui-core/composer/prompt-history.js +75 -1
- package/dist/ui-core/composer/prompt-history.js.map +1 -1
- package/dist/ui-core/composer/saved-prompt-history.d.ts +5 -0
- package/dist/ui-core/composer/saved-prompt-history.js +33 -0
- package/dist/ui-core/composer/saved-prompt-history.js.map +1 -0
- package/dist/ui-core/controllers/overlay-controller.d.ts +1 -0
- package/dist/ui-core/controllers/overlay-controller.js.map +1 -1
- package/dist/ui-core/controllers/toast-controller.js +4 -4
- package/dist/ui-core/controllers/toast-controller.js.map +1 -1
- package/dist/ui-core/react/use-transcript-store.js +4 -2
- package/dist/ui-core/react/use-transcript-store.js.map +1 -1
- package/dist/ui-core/rendering/artifact-pager-source.d.ts +3 -0
- package/dist/ui-core/rendering/artifact-pager-source.js.map +1 -1
- package/dist/ui-core/rendering/batch-sections.d.ts +3 -2
- package/dist/ui-core/rendering/batch-sections.js +5 -5
- package/dist/ui-core/rendering/batch-sections.js.map +1 -1
- package/dist/ui-core/rendering/card-style.d.ts +2 -0
- package/dist/ui-core/rendering/card-style.js +3 -0
- package/dist/ui-core/rendering/card-style.js.map +1 -0
- package/dist/ui-core/rendering/confirmation-preview.d.ts +9 -0
- package/dist/ui-core/rendering/confirmation-preview.js +33 -0
- package/dist/ui-core/rendering/confirmation-preview.js.map +1 -0
- package/dist/ui-core/rendering/duration.d.ts +2 -1
- package/dist/ui-core/rendering/duration.js +4 -6
- package/dist/ui-core/rendering/duration.js.map +1 -1
- package/dist/ui-core/rendering/intro-header.d.ts +1 -0
- package/dist/ui-core/rendering/intro-header.js +19 -15
- package/dist/ui-core/rendering/intro-header.js.map +1 -1
- package/dist/ui-core/rendering/jump-to-latest.d.ts +1 -0
- package/dist/ui-core/rendering/jump-to-latest.js +7 -0
- package/dist/ui-core/rendering/jump-to-latest.js.map +1 -0
- package/dist/ui-core/rendering/line-change-labels.d.ts +6 -0
- package/dist/ui-core/rendering/line-change-labels.js +12 -0
- package/dist/ui-core/rendering/line-change-labels.js.map +1 -0
- package/dist/ui-core/rendering/markdown.d.ts +5 -1
- package/dist/ui-core/rendering/markdown.js +20 -5
- package/dist/ui-core/rendering/markdown.js.map +1 -1
- package/dist/ui-core/rendering/plan-view.js +24 -12
- package/dist/ui-core/rendering/plan-view.js.map +1 -1
- package/dist/ui-core/rendering/render-markdown-lines.d.ts +3 -0
- package/dist/ui-core/rendering/render-markdown-lines.js +6 -1
- package/dist/ui-core/rendering/render-markdown-lines.js.map +1 -1
- package/dist/ui-core/rendering/session-prompts-pager-source.js +2 -0
- package/dist/ui-core/rendering/session-prompts-pager-source.js.map +1 -1
- package/dist/ui-core/rendering/status-segments.js +10 -5
- package/dist/ui-core/rendering/status-segments.js.map +1 -1
- package/dist/ui-core/rendering/subagent-presentation.js +39 -11
- package/dist/ui-core/rendering/subagent-presentation.js.map +1 -1
- package/dist/ui-core/rendering/subagent-source.js +11 -48
- package/dist/ui-core/rendering/subagent-source.js.map +1 -1
- package/dist/ui-core/rendering/subagent-tool-usage.d.ts +5 -0
- package/dist/ui-core/rendering/subagent-tool-usage.js +42 -0
- package/dist/ui-core/rendering/subagent-tool-usage.js.map +1 -0
- package/dist/ui-core/rendering/task-disclosure.d.ts +19 -0
- package/dist/ui-core/rendering/task-disclosure.js +70 -0
- package/dist/ui-core/rendering/task-disclosure.js.map +1 -0
- package/dist/ui-core/rendering/tool-diff-preview.d.ts +21 -0
- package/dist/ui-core/rendering/tool-diff-preview.js +27 -0
- package/dist/ui-core/rendering/tool-diff-preview.js.map +1 -0
- package/dist/ui-core/rendering/tool-presenter.d.ts +4 -2
- package/dist/ui-core/rendering/tool-presenter.js +19 -4
- package/dist/ui-core/rendering/tool-presenter.js.map +1 -1
- package/dist/ui-core/rendering/tool-usage-label.d.ts +2 -0
- package/dist/ui-core/rendering/tool-usage-label.js +42 -0
- package/dist/ui-core/rendering/tool-usage-label.js.map +1 -0
- package/dist/ui-core/state/hydrate/classic-transcript.js +2 -0
- package/dist/ui-core/state/hydrate/classic-transcript.js.map +1 -1
- package/dist/ui-core/state/transcript/apply-app-event.js +16 -5
- package/dist/ui-core/state/transcript/apply-app-event.js.map +1 -1
- package/dist/ui-core/state/transcript-hydrate.js +1 -0
- package/dist/ui-core/state/transcript-hydrate.js.map +1 -1
- package/dist/ui-core/state/transcript-types.d.ts +4 -0
- package/dist/ui-core/state/transcript-types.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/package.json +1 -1
- package/dist/classic/feed/ScrollbarGutter.d.ts +0 -9
- package/dist/classic/feed/ScrollbarGutter.js +0 -41
- package/dist/classic/feed/ScrollbarGutter.js.map +0 -1
- package/dist/classic/feed/scrollbar-rows.d.ts +0 -5
- package/dist/classic/feed/scrollbar-rows.js +0 -17
- package/dist/classic/feed/scrollbar-rows.js.map +0 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BoxRenderable, ScrollBoxRenderable } from "@opentui/core";
|
|
2
|
+
import { extend } from "@opentui/react";
|
|
3
|
+
export class TaskTitleRenderable extends BoxRenderable {
|
|
4
|
+
_getVisibleChildren() {
|
|
5
|
+
let ancestor = this.parent;
|
|
6
|
+
while (ancestor && !(ancestor instanceof ScrollBoxRenderable))
|
|
7
|
+
ancestor = ancestor.parent;
|
|
8
|
+
if (!ancestor)
|
|
9
|
+
return super._getVisibleChildren();
|
|
10
|
+
const viewport = ancestor.viewport;
|
|
11
|
+
const fits = this.height <= viewport.height;
|
|
12
|
+
const clipped = this.y < viewport.y || this.y + this.height > viewport.y + viewport.height;
|
|
13
|
+
return fits && clipped ? [] : super._getVisibleChildren();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
extend({ "task-title": TaskTitleRenderable });
|
|
17
|
+
//# sourceMappingURL=task-title.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-title.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/plan/task-title.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAmB,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IACjC,mBAAmB;QACpC,IAAI,QAAQ,GAAsB,IAAI,CAAC,MAAM,CAAC;QAC9C,OAAO,QAAQ,IAAI,CAAC,CAAC,QAAQ,YAAY,mBAAmB,CAAC;YAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC1F,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC3F,OAAO,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;IAC5D,CAAC;CACF;AAQD,MAAM,CAAC,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type Dispatch, type Ref, type RefObject, type SetStateAction } from "react";
|
|
2
|
+
import type { ScrollBoxRenderable } from "@opentui/core";
|
|
3
|
+
import type { PlanTask, SessionPlan } from "../../../store/plan.js";
|
|
4
|
+
import { type TaskDisclosureState } from "../../../ui-core/rendering/task-disclosure.js";
|
|
5
|
+
import type { PlanInteractionPort } from "./plan-interaction.js";
|
|
6
|
+
export interface TaskDisclosureBinding {
|
|
7
|
+
readonly state: TaskDisclosureState;
|
|
8
|
+
readonly tasks: readonly PlanTask[];
|
|
9
|
+
readonly setState: Dispatch<SetStateAction<TaskDisclosureState>>;
|
|
10
|
+
}
|
|
11
|
+
export declare function useTaskDisclosureBinding(plan: SessionPlan | undefined, inherited?: TaskDisclosureBinding): TaskDisclosureBinding;
|
|
12
|
+
export declare function revealTaskHeader(scroll: ScrollBoxRenderable | null, taskId: string): void;
|
|
13
|
+
export declare function useTaskDisclosure(plan: SessionPlan | undefined, scrollRef: RefObject<ScrollBoxRenderable | null>, interactionRef: Ref<PlanInteractionPort> | undefined, inherited?: TaskDisclosureBinding): {
|
|
14
|
+
tasks: readonly PlanTask[];
|
|
15
|
+
expanded: ReadonlySet<string>;
|
|
16
|
+
selectedId: string | undefined;
|
|
17
|
+
keyboardFocusVisible: boolean;
|
|
18
|
+
summary: {
|
|
19
|
+
readonly total: number;
|
|
20
|
+
readonly expanded: number;
|
|
21
|
+
};
|
|
22
|
+
toggleTask: (id: string) => void;
|
|
23
|
+
setAllExpanded: (expanded: boolean, keyboardFocusVisible?: boolean) => void;
|
|
24
|
+
hideKeyboardFocus: () => void;
|
|
25
|
+
};
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { useCallback, useEffect, useImperativeHandle, useMemo, useState } from "react";
|
|
2
|
+
import { moveTaskSelection, reconcileTaskDisclosure, setAllTaskDisclosure, setTaskDisclosure, taskDisclosureSummary, } from "../../../ui-core/rendering/task-disclosure.js";
|
|
3
|
+
import { orderPlanTasksForDisplay } from "../../../ui-core/rendering/plan-view.js";
|
|
4
|
+
export function useTaskDisclosureBinding(plan, inherited) {
|
|
5
|
+
const tasks = useMemo(() => inherited?.tasks ?? (plan ? orderPlanTasksForDisplay(plan.tasks) : []), [inherited?.tasks, plan?.tasks]);
|
|
6
|
+
const [stored, setStored] = useState(() => reconcileTaskDisclosure({ planKey: "", selectedId: undefined, expanded: new Set() }, plan, tasks));
|
|
7
|
+
const state = inherited?.state ?? reconcileTaskDisclosure(stored, plan, tasks);
|
|
8
|
+
if (!inherited && state !== stored)
|
|
9
|
+
setStored(state);
|
|
10
|
+
const setState = inherited?.setState ?? setStored;
|
|
11
|
+
return useMemo(() => ({ state, tasks, setState }), [state, tasks, setState]);
|
|
12
|
+
}
|
|
13
|
+
function taskHeaderBounds(scroll, taskId) {
|
|
14
|
+
const header = scroll.content.findDescendantById(`plan-task-${taskId}-header`);
|
|
15
|
+
if (!header)
|
|
16
|
+
return undefined;
|
|
17
|
+
let top = 0;
|
|
18
|
+
let current = header;
|
|
19
|
+
while (current && current !== scroll.content) {
|
|
20
|
+
top += current.getLayoutNode().getComputedTop();
|
|
21
|
+
current = current.parent;
|
|
22
|
+
}
|
|
23
|
+
return { top, height: header.getLayoutNode().getComputedHeight() };
|
|
24
|
+
}
|
|
25
|
+
export function revealTaskHeader(scroll, taskId) {
|
|
26
|
+
if (!scroll)
|
|
27
|
+
return;
|
|
28
|
+
const header = taskHeaderBounds(scroll, taskId);
|
|
29
|
+
if (!header)
|
|
30
|
+
return;
|
|
31
|
+
const bottom = header.top + Math.min(header.height, scroll.viewport.height);
|
|
32
|
+
if (header.top < scroll.scrollTop)
|
|
33
|
+
scroll.scrollTo(header.top);
|
|
34
|
+
else if (bottom > scroll.scrollTop + scroll.viewport.height)
|
|
35
|
+
scroll.scrollTo(bottom - scroll.viewport.height);
|
|
36
|
+
}
|
|
37
|
+
export function useTaskDisclosure(plan, scrollRef, interactionRef, inherited) {
|
|
38
|
+
const { state, tasks, setState } = useTaskDisclosureBinding(plan, inherited);
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
const scroll = scrollRef.current;
|
|
41
|
+
if (!scroll || state.expanded.size > 0)
|
|
42
|
+
return;
|
|
43
|
+
let previous = scroll.scrollTop;
|
|
44
|
+
let aligning = false;
|
|
45
|
+
const alignTitle = () => {
|
|
46
|
+
const position = scroll.scrollTop;
|
|
47
|
+
const down = position >= previous;
|
|
48
|
+
previous = position;
|
|
49
|
+
if (aligning || scroll.viewport.height <= 0)
|
|
50
|
+
return;
|
|
51
|
+
const headers = tasks.flatMap((task) => {
|
|
52
|
+
const header = taskHeaderBounds(scroll, task.id);
|
|
53
|
+
return header && header.height > 0 ? [header] : [];
|
|
54
|
+
});
|
|
55
|
+
const bottom = position + scroll.viewport.height;
|
|
56
|
+
if (headers.some((header) => header.height <= scroll.viewport.height
|
|
57
|
+
? header.top >= position && header.top + header.height <= bottom
|
|
58
|
+
: header.top < bottom && header.top + header.height > position))
|
|
59
|
+
return;
|
|
60
|
+
const target = down ? headers.find((header) => header.top >= position) ?? headers.at(-1)
|
|
61
|
+
: [...headers].reverse().find((header) => header.top < position) ?? headers[0];
|
|
62
|
+
if (!target)
|
|
63
|
+
return;
|
|
64
|
+
aligning = true;
|
|
65
|
+
scroll.scrollTo(target.top);
|
|
66
|
+
previous = scroll.scrollTop;
|
|
67
|
+
aligning = false;
|
|
68
|
+
};
|
|
69
|
+
scroll.verticalScrollBar.on("change", alignTitle);
|
|
70
|
+
scroll.viewport.on("resized", alignTitle);
|
|
71
|
+
scroll.content.on("resized", alignTitle);
|
|
72
|
+
alignTitle();
|
|
73
|
+
return () => {
|
|
74
|
+
scroll.verticalScrollBar.off("change", alignTitle);
|
|
75
|
+
scroll.viewport.off("resized", alignTitle);
|
|
76
|
+
scroll.content.off("resized", alignTitle);
|
|
77
|
+
};
|
|
78
|
+
}, [scrollRef, tasks, state.expanded.size]);
|
|
79
|
+
const update = useCallback((operation, keyboardFocusVisible) => {
|
|
80
|
+
setState((current) => {
|
|
81
|
+
const next = operation(reconcileTaskDisclosure(current, plan, tasks));
|
|
82
|
+
return next.keyboardFocusVisible === keyboardFocusVisible ? next : { ...next, keyboardFocusVisible };
|
|
83
|
+
});
|
|
84
|
+
}, [plan, tasks, setState]);
|
|
85
|
+
const toggleTask = useCallback((id) => {
|
|
86
|
+
const task = tasks.find((candidate) => candidate.id === id);
|
|
87
|
+
if (task)
|
|
88
|
+
update((current) => setTaskDisclosure(current, task), false);
|
|
89
|
+
}, [tasks, update]);
|
|
90
|
+
const setAllExpanded = useCallback((expanded, keyboardFocusVisible = false) => {
|
|
91
|
+
update((current) => setAllTaskDisclosure(current, tasks, expanded), keyboardFocusVisible);
|
|
92
|
+
}, [tasks, update]);
|
|
93
|
+
const hideKeyboardFocus = useCallback(() => update((current) => current, false), [update]);
|
|
94
|
+
useImperativeHandle(interactionRef, () => ({
|
|
95
|
+
moveSelection(delta) {
|
|
96
|
+
update((current) => moveTaskSelection(current, tasks, delta), true);
|
|
97
|
+
},
|
|
98
|
+
setSelectedExpanded(expanded) {
|
|
99
|
+
update((current) => {
|
|
100
|
+
const task = tasks.find((candidate) => candidate.id === current.selectedId);
|
|
101
|
+
return task ? setTaskDisclosure(current, task, expanded) : current;
|
|
102
|
+
}, true);
|
|
103
|
+
},
|
|
104
|
+
setAllExpanded(expanded) {
|
|
105
|
+
setAllExpanded(expanded, true);
|
|
106
|
+
},
|
|
107
|
+
page(delta) {
|
|
108
|
+
update((current) => current, true);
|
|
109
|
+
const scroll = scrollRef.current;
|
|
110
|
+
if (scroll)
|
|
111
|
+
scroll.scrollBy(delta * Math.max(1, scroll.viewport.height - 2));
|
|
112
|
+
},
|
|
113
|
+
}), [scrollRef, setAllExpanded, tasks, update]);
|
|
114
|
+
return {
|
|
115
|
+
tasks,
|
|
116
|
+
expanded: state.expanded,
|
|
117
|
+
selectedId: state.selectedId,
|
|
118
|
+
keyboardFocusVisible: state.keyboardFocusVisible === true,
|
|
119
|
+
summary: taskDisclosureSummary(tasks, state.expanded),
|
|
120
|
+
toggleTask,
|
|
121
|
+
setAllExpanded,
|
|
122
|
+
hideKeyboardFocus,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=use-task-disclosure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-task-disclosure.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/plan/use-task-disclosure.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,10 +22,7 @@ function QueuePanelImpl(props) {
|
|
|
22
22
|
const contentWidth = Math.max(24, width - 2);
|
|
23
23
|
const visible = queued.slice(0, MAX_VISIBLE);
|
|
24
24
|
const hidden = queued.length - visible.length;
|
|
25
|
-
const height = 2 +
|
|
26
|
-
1 +
|
|
27
|
-
visible.length +
|
|
28
|
-
(hidden > 0 ? 1 : 0);
|
|
25
|
+
const height = 2 + visible.length + (hidden > 0 ? 1 : 0);
|
|
29
26
|
return (_jsxs("box", { border: true, borderStyle: "rounded", title: " queued ", titleAlignment: "left", style: {
|
|
30
27
|
width: "100%",
|
|
31
28
|
height,
|
|
@@ -33,9 +30,7 @@ function QueuePanelImpl(props) {
|
|
|
33
30
|
borderColor: theme.queued,
|
|
34
31
|
backgroundColor: theme.statusBackground,
|
|
35
32
|
flexDirection: "column",
|
|
36
|
-
}, children: [
|
|
37
|
-
? ` ${queued.length} waiting · sends after completion · click Send now to interrupt`
|
|
38
|
-
: ` ${queued.length} waiting · Send now or Edit`, contentWidth), style: { fg: theme.muted, bg: theme.statusBackground } }), visible.map((text, index) => (_jsx(QueueRow, { index: index, text: text, width: contentWidth, theme: theme, onSendNow: () => services.session.sendQueuedNow(index), onEdit: () => {
|
|
33
|
+
}, children: [visible.map((text, index) => (_jsx(QueueRow, { index: index, text: text, width: contentWidth, theme: theme, onSendNow: () => services.session.sendQueuedNow(index), onEdit: () => {
|
|
39
34
|
const draft = services.session.takeQueued(index);
|
|
40
35
|
if (draft !== undefined)
|
|
41
36
|
onEdit(draft);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue-panel.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/queue/queue-panel.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AAEtC,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAS9E,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,SAAS,IAAI,CAAC,IAAY,EAAE,GAAW;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IACzB,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IAClC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AAClD,CAAC;AAED,SAAS,cAAc,CAAC,KAAsB;IAC5C,WAAW,CAAC,YAAY,CAAC,CAAC;IAC1B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACjD,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAErC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9C,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"queue-panel.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/queue/queue-panel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
2
|
+
import { TextAttributes } from "@opentui/core";
|
|
3
|
+
import { useClickWithoutDrag } from "../transcript/use-click-without-drag.js";
|
|
4
|
+
export function JumpToLatest(props) {
|
|
5
|
+
const { label, theme, onJump } = props;
|
|
6
|
+
const click = useClickWithoutDrag(onJump);
|
|
7
|
+
return createElement("text", {
|
|
8
|
+
id: "jump-to-latest",
|
|
9
|
+
selectable: false,
|
|
10
|
+
wrapMode: "none",
|
|
11
|
+
onMouseDown: click.onMouseDown,
|
|
12
|
+
onMouseUp: click.onMouseUp,
|
|
13
|
+
style: { height: 1, flexShrink: 0, fg: theme.cyan, bg: theme.chip, attributes: TextAttributes.BOLD },
|
|
14
|
+
}, label);
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=jump-to-latest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jump-to-latest.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/status/jump-to-latest.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAkB,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAE9E,MAAM,UAAU,YAAY,CAAC,KAI5B;IACC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACvC,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,aAAa,CAAC,MAAM,EAAE;QAC3B,EAAE,EAAE,gBAAgB;QACpB,UAAU,EAAE,KAAK;QACjB,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,IAAI,EAAE;KACrG,EAAE,KAAK,CAAC,CAAC;AACZ,CAAC"}
|
|
@@ -18,6 +18,7 @@ export interface StatusLineProps {
|
|
|
18
18
|
readonly onTogglePlan?: (() => void) | undefined;
|
|
19
19
|
readonly onJumpTop?: (() => void) | undefined;
|
|
20
20
|
readonly onJumpBottom?: (() => void) | undefined;
|
|
21
|
+
readonly allowJumpToLatest?: boolean;
|
|
21
22
|
readonly onCutDraft?: (() => void) | undefined;
|
|
22
23
|
readonly onClearDraft?: (() => void) | undefined;
|
|
23
24
|
readonly onOpenCommands?: (() => void) | undefined;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
|
|
2
2
|
/** @jsxImportSource @opentui/react */
|
|
3
|
-
import { memo, useEffect, useRef, useState } from "react";
|
|
3
|
+
import { memo, useEffect, useRef, useState, useSyncExternalStore } from "react";
|
|
4
|
+
import { transcriptScrollPort } from "../transcript/transcript-scroll-port.js";
|
|
5
|
+
import { jumpToLatestLabel } from "../../../ui-core/rendering/jump-to-latest.js";
|
|
6
|
+
import { JumpToLatest } from "./jump-to-latest.js";
|
|
4
7
|
import { countRender } from "../../perf/render-counters.js";
|
|
5
8
|
import { TextAttributes, } from "@opentui/core";
|
|
6
9
|
import { homedir } from "node:os";
|
|
@@ -165,7 +168,14 @@ export const StatusLine = memo(function StatusLine(props) {
|
|
|
165
168
|
}, []);
|
|
166
169
|
const queued = state.queued.length;
|
|
167
170
|
const density = statusDensityForWidth(width);
|
|
168
|
-
const
|
|
171
|
+
const awayFromLatest = useSyncExternalStore(transcriptScrollPort.onMetrics, () => transcriptScrollPort.metrics.linesBelow > 0 || Boolean(transcriptScrollPort.metrics.hasNewerContent), () => false);
|
|
172
|
+
const jumpLabel = jumpToLatestLabel(width >= 100 ? 20 : 10, true);
|
|
173
|
+
const showJump = awayFromLatest && props.allowJumpToLatest !== false && onJumpBottom !== undefined;
|
|
174
|
+
const jumpControl = showJump ? _jsx(JumpToLatest, { label: jumpLabel, theme: theme, onJump: () => {
|
|
175
|
+
onJumpBottom();
|
|
176
|
+
onFocusComposer?.();
|
|
177
|
+
} }) : null;
|
|
178
|
+
const cwdWidth = cwdViewportWidth(Math.max(0, width - (showJump ? renderColumns(jumpLabel) + 2 : 0)), density, renderColumns(cwdDisplay));
|
|
169
179
|
const busy = state.running || state.compacting;
|
|
170
180
|
const showTasks = (hasActivePlan || planVisible) && density !== "xs";
|
|
171
181
|
useEffect(() => {
|
|
@@ -214,7 +224,7 @@ export const StatusLine = memo(function StatusLine(props) {
|
|
|
214
224
|
flexShrink: 1,
|
|
215
225
|
minWidth: 0,
|
|
216
226
|
overflow: "hidden",
|
|
217
|
-
}, children: [_jsx(ModeBadge, { mode: mode, theme: theme }), sep(theme), _jsx("text", { selectable: false, content: `${SPINNER_FRAMES[frame]} `, style: { fg: theme.spinner, flexShrink: 0 } }), activityText ? (_jsx("text", { selectable: false, content: clip(activityText, activityMax), style: { fg: theme.activity, flexShrink: 1 } })) : null, cancelArmed || (density !== "xs" && !state.compacting) ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: cancelArmed ? armedCancelHint() : busyCancelHint(density).short, expand: cancelArmed ? armedCancelHint() : busyCancelHint(density).expand, active: cancelArmed, theme: theme, accent: true, onClick: onRequestCancel })] })) : null, showTasks ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: tasksToggleLabel(planVisible, density), expand: "Tasks", active: planVisible, theme: theme, onClick: onTogglePlan })] })) : null, queued > 0 && density !== "xs" ? (_jsxs(_Fragment, { children: [sep(theme), _jsx("text", { selectable: false, content: `${queued}q`, style: { fg: theme.mode, flexShrink: 0 } })] })) : null] }), _jsxs("box", { style: {
|
|
227
|
+
}, children: [_jsx(ModeBadge, { mode: mode, theme: theme }), sep(theme), _jsx("text", { selectable: false, content: `${SPINNER_FRAMES[frame]} `, style: { fg: theme.spinner, flexShrink: 0 } }), activityText ? (_jsx("text", { selectable: false, content: clip(activityText, activityMax), style: { fg: theme.activity, flexShrink: 1 } })) : null, cancelArmed || (density !== "xs" && !state.compacting) ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: cancelArmed ? armedCancelHint() : busyCancelHint(density).short, expand: cancelArmed ? armedCancelHint() : busyCancelHint(density).expand, active: cancelArmed, theme: theme, accent: true, onClick: onRequestCancel })] })) : null, showTasks ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: tasksToggleLabel(planVisible, density), expand: "Tasks", active: planVisible, theme: theme, onClick: onTogglePlan })] })) : null, queued > 0 && density !== "xs" ? (_jsxs(_Fragment, { children: [sep(theme), _jsx("text", { selectable: false, content: `${queued}q`, style: { fg: theme.mode, flexShrink: 0 } })] })) : null] }), jumpControl, _jsxs("box", { style: {
|
|
218
228
|
flexDirection: "row",
|
|
219
229
|
alignItems: "center",
|
|
220
230
|
flexShrink: 0,
|
|
@@ -236,7 +246,7 @@ export const StatusLine = memo(function StatusLine(props) {
|
|
|
236
246
|
flexShrink: 1,
|
|
237
247
|
minWidth: 0,
|
|
238
248
|
overflow: "hidden",
|
|
239
|
-
}, children: [_jsx(ModeBadge, { mode: mode, theme: theme }), cancelArmed ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: armedCancelHint(), expand: armedCancelHint(), active: true, theme: theme, accent: true, onClick: onRequestCancel })] })) : null, density !== "xs" ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "\u21E7\u21E5", expand: "cycle mode", active: false, theme: theme, onClick: onCycleMode })] })) : null, idleHints.includes("commands") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "/", expand: "/ commands", active: false, theme: theme, onClick: onOpenCommands })] })) : null, idleHints.includes("cut-draft") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "^X", expand: "cut draft (copy + clear)", active: false, theme: theme, onClick: onCutDraft })] })) : null, idleHints.includes("clear-draft") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "^Q", expand: "clear draft", active: false, theme: theme, onClick: onClearDraft })] })) : null, idleHints.includes("thinking") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "^T", expand: thinkingExpanded ? "hide thinking" : "show thinking", active: thinkingExpanded, theme: theme, onClick: onToggleThinking })] })) : null, idleHints.includes("output") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "^O", expand: outputExpanded ? "hide output" : "show output", active: outputExpanded, theme: theme, onClick: onToggleOutput })] })) : null, showTasks ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: tasksToggleLabel(planVisible, density), expand: "Tasks", active: planVisible, theme: theme, onClick: onTogglePlan })] })) : null, queued > 0 && density !== "xs" ? (_jsxs(_Fragment, { children: [sep(theme), _jsx("text", { selectable: false, content: density === "sm" ? `${queued}q` : `${queued} queued`, style: { fg: theme.mode, flexShrink: 0 } })] })) : null] }), _jsxs("box", { style: {
|
|
249
|
+
}, children: [_jsx(ModeBadge, { mode: mode, theme: theme }), cancelArmed ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: armedCancelHint(), expand: armedCancelHint(), active: true, theme: theme, accent: true, onClick: onRequestCancel })] })) : null, density !== "xs" ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "\u21E7\u21E5", expand: "cycle mode", active: false, theme: theme, onClick: onCycleMode })] })) : null, idleHints.includes("commands") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "/", expand: "/ commands", active: false, theme: theme, onClick: onOpenCommands })] })) : null, idleHints.includes("cut-draft") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "^X", expand: "cut draft (copy + clear)", active: false, theme: theme, onClick: onCutDraft })] })) : null, idleHints.includes("clear-draft") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "^Q", expand: "clear draft", active: false, theme: theme, onClick: onClearDraft })] })) : null, idleHints.includes("thinking") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "^T", expand: thinkingExpanded ? "hide thinking" : "show thinking", active: thinkingExpanded, theme: theme, onClick: onToggleThinking })] })) : null, idleHints.includes("output") ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: "^O", expand: outputExpanded ? "hide output" : "show output", active: outputExpanded, theme: theme, onClick: onToggleOutput })] })) : null, showTasks ? (_jsxs(_Fragment, { children: [sep(theme), _jsx(ClickableHint, { short: tasksToggleLabel(planVisible, density), expand: "Tasks", active: planVisible, theme: theme, onClick: onTogglePlan })] })) : null, queued > 0 && density !== "xs" ? (_jsxs(_Fragment, { children: [sep(theme), _jsx("text", { selectable: false, content: density === "sm" ? `${queued}q` : `${queued} queued`, style: { fg: theme.mode, flexShrink: 0 } })] })) : null] }), jumpControl, _jsxs("box", { style: {
|
|
240
250
|
flexDirection: "row",
|
|
241
251
|
alignItems: "center",
|
|
242
252
|
flexShrink: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-line.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/status/status-line.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"status-line.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/status/status-line.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { countRender } from "../../perf/render-counters.js";
|
|
|
5
5
|
import { TextAttributes } from "@opentui/core";
|
|
6
6
|
import { TOAST_ENTER_MS } from "../../../ui-core/controllers/toast-controller.js";
|
|
7
7
|
import { useToastState } from "../../../ui-core/react/use-toast.js";
|
|
8
|
-
import { fitOneLine } from "../../../ui-core/rendering/pager-chrome.js";
|
|
8
|
+
import { centerChromeRow, fitOneLine } from "../../../ui-core/rendering/pager-chrome.js";
|
|
9
9
|
import { overlaySize } from "../../../ui-core/layout/overlay-size.js";
|
|
10
10
|
import { TOAST_BOX_HEIGHT, toastAnimAt, } from "./toast-anim.js";
|
|
11
11
|
const TOAST_STACK_GAP = 1;
|
|
@@ -114,10 +114,7 @@ export function wrapToastBody(level, message, innerWidth) {
|
|
|
114
114
|
}
|
|
115
115
|
export function padToastLines(bodyLines, chipWidth) {
|
|
116
116
|
const inner = Math.max(1, chipWidth - H_PAD * 2);
|
|
117
|
-
return bodyLines.map((line) =>
|
|
118
|
-
const clipped = line.length > inner ? line.slice(0, inner) : line;
|
|
119
|
-
return `${" ".repeat(H_PAD)}${clipped.padEnd(inner)}${" ".repeat(H_PAD)}`;
|
|
120
|
-
});
|
|
117
|
+
return bodyLines.map((line) => centerChromeRow(fitOneLine([line.trim()], inner), chipWidth));
|
|
121
118
|
}
|
|
122
119
|
function ToastPill(props) {
|
|
123
120
|
const { item, theme, top, left, width, bodyLines, visibility } = props;
|
|
@@ -173,12 +170,12 @@ function ToastHostImpl(props) {
|
|
|
173
170
|
if (!size.marginY)
|
|
174
171
|
return null;
|
|
175
172
|
const item = items.at(-1);
|
|
176
|
-
return (_jsx("text", { selectable: false, content:
|
|
173
|
+
return (_jsx("text", { selectable: false, content: centerChromeRow(`${levelGlyph(item.level)} ${item.message.replace(/\s+/g, " ")}`, size.width), style: {
|
|
177
174
|
position: "absolute", top: 0, left: size.marginX, width: size.width, height: 1,
|
|
178
175
|
zIndex: 1000, fg: theme.white, bg: levelPlate(item.level, theme),
|
|
179
176
|
} }));
|
|
180
177
|
}
|
|
181
|
-
const maxWidth = Math.max(20, Math.min(termWidth - 4, Math.floor(termWidth * 0.85)));
|
|
178
|
+
const maxWidth = Math.min(Math.max(1, termWidth), Math.max(20, Math.min(termWidth - 4, Math.floor(termWidth * 0.85))));
|
|
182
179
|
const ordered = [...items].reverse();
|
|
183
180
|
const maxStack = Math.max(1, Math.min(3, Math.floor((termHeight - 4) / (TOAST_BOX_HEIGHT + TOAST_STACK_GAP))));
|
|
184
181
|
const visible = ordered.slice(0, maxStack);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast-host.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/toast/toast-host.tsx"],"names":[],"mappings":";AAAA,sCAAsC;AAEtC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAM/C,OAAO,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAElF,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"toast-host.js","sourceRoot":"","sources":["../../../../src/tui-v2/components/toast/toast-host.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export declare function FileDiffBody(props: {
|
|
|
11
11
|
changes: readonly FileChange[];
|
|
12
12
|
theme: Theme;
|
|
13
13
|
diffExpanded: boolean;
|
|
14
|
+
outputExpanded?: boolean;
|
|
14
15
|
onOpen: (change: FileChange) => void;
|
|
15
16
|
multiFilePreview?: boolean;
|
|
16
17
|
contentWidth?: number | undefined;
|
|
@@ -2,7 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
|
|
|
2
2
|
/** @jsxImportSource @opentui/react */
|
|
3
3
|
import { useMemo, useState } from "react";
|
|
4
4
|
import { TextAttributes } from "@opentui/core";
|
|
5
|
-
import { clipDiffCardText, collapsedFileChangesLabel, diffCardMaxLineChars, gutterWidth,
|
|
5
|
+
import { clipDiffCardText, collapsedFileChangesLabel, diffCardMaxLineChars, gutterWidth, relativeDisplayPath, rowBackground, syntaxColor, } from "../../../ui-core/rendering/file-diff-view.js";
|
|
6
|
+
import { presentToolDiffPreviews } from "../../../ui-core/rendering/tool-diff-preview.js";
|
|
6
7
|
import { useTerminalDimensionsContext } from "../../hooks/terminal-dimensions.js";
|
|
7
8
|
import { useClickWithoutDrag } from "./use-click-without-drag.js";
|
|
8
9
|
const SINGLE_FILE_PREVIEW_ROWS = 40;
|
|
@@ -70,7 +71,7 @@ function clipPresentedRow(row, max) {
|
|
|
70
71
|
return { ...row, displayText: clipped, spans: [{ kind: "plain", text: clipped }] };
|
|
71
72
|
}
|
|
72
73
|
function FileDiffHunks(props) {
|
|
73
|
-
const { change, showPath, theme, onOpen,
|
|
74
|
+
const { change, showPath, theme, onOpen, rows, paneWidth, } = props;
|
|
74
75
|
const open = useClickWithoutDrag(() => onOpen(change));
|
|
75
76
|
const mark = change.kind === "create" ? "+" : change.kind === "overwrite" ? "~" : "·";
|
|
76
77
|
const markFg = change.kind === "create"
|
|
@@ -80,8 +81,8 @@ function FileDiffHunks(props) {
|
|
|
80
81
|
: theme.toolOutput;
|
|
81
82
|
const gutterChars = useMemo(() => gutterWidth(change), [change]);
|
|
82
83
|
const maxLineChars = diffCardMaxLineChars(paneWidth, gutterChars);
|
|
83
|
-
const
|
|
84
|
-
return (_jsxs("box", { style: { flexDirection: "column", width: "100%" }, onMouseDown: open.onMouseDown, onMouseUp: open.onMouseUp, children: [showPath ? (_jsxs("text", { selectable: true, style: { height: 1 }, children: [_jsx("span", { style: { fg: markFg }, children: ` ${mark} ` }), _jsx("span", { style: { fg: theme.inputBorder }, children: clipDiffCardText(relativeDisplayPath(change.path), paneWidth - 7) })] })) : null,
|
|
84
|
+
const shownRows = useMemo(() => rows.map((row) => row.tone === "gap" || row.tone === "header" ? clipPresentedRow(row, maxLineChars) : row), [rows, maxLineChars]);
|
|
85
|
+
return (_jsxs("box", { style: { flexDirection: "column", width: "100%" }, onMouseDown: open.onMouseDown, onMouseUp: open.onMouseUp, children: [showPath ? (_jsxs("text", { selectable: true, style: { height: 1 }, children: [_jsx("span", { style: { fg: markFg }, children: ` ${mark} ` }), _jsx("span", { style: { fg: theme.inputBorder }, children: clipDiffCardText(relativeDisplayPath(change.path), paneWidth - 7) })] })) : null, shownRows.map((row, ri) => (_jsx(DiffCodeRow, { gutter: row.gutter, spans: row.spans, displayText: row.displayText, tone: row.tone, theme: theme }, ri)))] }));
|
|
85
86
|
}
|
|
86
87
|
function WriteManyCollapsedRow(props) {
|
|
87
88
|
const { change, theme, onOpen, paneWidth } = props;
|
|
@@ -95,7 +96,7 @@ function WriteManyCollapsedRow(props) {
|
|
|
95
96
|
return (_jsxs("text", { selectable: true, style: { height: 1 }, onMouseDown: open.onMouseDown, onMouseUp: open.onMouseUp, children: [_jsx("span", { style: { fg: markFg }, children: ` ${mark} ` }), _jsx("span", { style: { fg: theme.inputBorder }, children: clipDiffCardText(relativeDisplayPath(change.path), paneWidth - 7) })] }));
|
|
96
97
|
}
|
|
97
98
|
export function FileDiffBody(props) {
|
|
98
|
-
const { changes, theme, diffExpanded, onOpen, multiFilePreview = false, contentWidth, } = props;
|
|
99
|
+
const { changes, theme, diffExpanded, outputExpanded = false, onOpen, multiFilePreview = false, contentWidth, } = props;
|
|
99
100
|
const { width: termWidth } = useTerminalDimensionsContext();
|
|
100
101
|
const paneWidth = diffPaneWidth(contentWidth, termWidth);
|
|
101
102
|
const label = clipDiffCardText(collapsedFileChangesLabel(changes), paneWidth - 4);
|
|
@@ -104,9 +105,22 @@ export function FileDiffBody(props) {
|
|
|
104
105
|
onOpen(changes[0]);
|
|
105
106
|
});
|
|
106
107
|
const showHunks = diffExpanded;
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
const maxFiles = multiFilePreview ? Math.min(12, changes.length) : changes.length;
|
|
109
|
+
const listed = changes.slice(0, maxFiles);
|
|
110
|
+
const showPaths = multiFilePreview || changes.length > 1;
|
|
111
|
+
const preview = useMemo(() => {
|
|
112
|
+
if (!diffExpanded)
|
|
113
|
+
return { files: [], hiddenFiles: changes.length - maxFiles };
|
|
114
|
+
return presentToolDiffPreviews(changes, {
|
|
115
|
+
expanded: outputExpanded,
|
|
116
|
+
showPaths,
|
|
117
|
+
headerRows: Number(!multiFilePreview),
|
|
118
|
+
maxFiles,
|
|
119
|
+
maxRowsPerFile: multiFilePreview ? WRITE_MANY_PREVIEW_ROWS : SINGLE_FILE_PREVIEW_ROWS,
|
|
120
|
+
maxLineChars: (change) => diffCardMaxLineChars(paneWidth, gutterWidth(change)),
|
|
121
|
+
tabWidth: 0,
|
|
122
|
+
});
|
|
123
|
+
}, [changes, diffExpanded, outputExpanded, showPaths, multiFilePreview, maxFiles, paneWidth]);
|
|
110
124
|
return (_jsxs("box", { style: { flexDirection: "column", width: "100%", marginTop: 0 }, children: [!multiFilePreview ? (_jsx("box", { style: {
|
|
111
125
|
flexDirection: "row",
|
|
112
126
|
width: "100%",
|
|
@@ -117,9 +131,9 @@ export function FileDiffBody(props) {
|
|
|
117
131
|
fg: theme.foreground,
|
|
118
132
|
attributes: TextAttributes.BOLD,
|
|
119
133
|
}, children: label }) })) : null, showHunks
|
|
120
|
-
?
|
|
134
|
+
? preview.files.map(({ change, rows }, ci) => (_jsx(FileDiffHunks, { change: change, rows: rows, showPath: showPaths, theme: theme, onOpen: onOpen, paneWidth: paneWidth }, `${change.path}-${ci}`)))
|
|
121
135
|
: multiFilePreview
|
|
122
|
-
?
|
|
123
|
-
: null] }));
|
|
136
|
+
? listed.map((change, ci) => (_jsx(WriteManyCollapsedRow, { change: change, theme: theme, onOpen: onOpen, paneWidth: paneWidth }, `wm-c-${ci}`)))
|
|
137
|
+
: null, preview.hiddenFiles > 0 ? (_jsx("text", { selectable: true, content: clipDiffCardText(` ··· +${preview.hiddenFiles} more files · click for full ···`, paneWidth - 4), style: { fg: theme.muted, height: 1 } })) : null] }));
|
|
124
138
|
}
|
|
125
139
|
//# sourceMappingURL=file-diff-card.js.map
|