@prestyj/cli 4.3.210 → 4.3.238
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/README.md +17 -9
- package/dist/cli/auth.d.ts +4 -0
- package/dist/cli/auth.d.ts.map +1 -0
- package/dist/cli/auth.js +344 -0
- package/dist/cli/auth.js.map +1 -0
- package/dist/cli/command-routing.d.ts +28 -0
- package/dist/cli/command-routing.d.ts.map +1 -0
- package/dist/cli/command-routing.js +53 -0
- package/dist/cli/command-routing.js.map +1 -0
- package/dist/cli/command-routing.test.d.ts +2 -0
- package/dist/cli/command-routing.test.d.ts.map +1 -0
- package/dist/cli/command-routing.test.js +60 -0
- package/dist/cli/command-routing.test.js.map +1 -0
- package/dist/cli/mcp.d.ts +2 -0
- package/dist/cli/mcp.d.ts.map +1 -0
- package/dist/cli/mcp.js +309 -0
- package/dist/cli/mcp.js.map +1 -0
- package/dist/cli/pixel.d.ts +27 -0
- package/dist/cli/pixel.d.ts.map +1 -0
- package/dist/cli/pixel.js +103 -0
- package/dist/cli/pixel.js.map +1 -0
- package/dist/cli/shared.d.ts +13 -0
- package/dist/cli/shared.d.ts.map +1 -0
- package/dist/cli/shared.js +82 -0
- package/dist/cli/shared.js.map +1 -0
- package/dist/cli.d.ts +4 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +174 -732
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +4 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +14 -1
- package/dist/config.js.map +1 -1
- package/dist/config.test.d.ts +2 -0
- package/dist/config.test.d.ts.map +1 -0
- package/dist/config.test.js +29 -0
- package/dist/config.test.js.map +1 -0
- package/dist/core/agent-session-compaction.test.d.ts +2 -0
- package/dist/core/agent-session-compaction.test.d.ts.map +1 -0
- package/dist/core/agent-session-compaction.test.js +114 -0
- package/dist/core/agent-session-compaction.test.js.map +1 -0
- package/dist/core/agent-session.d.ts +0 -23
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +6 -101
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/checkpoint-store.d.ts +93 -0
- package/dist/core/checkpoint-store.d.ts.map +1 -0
- package/dist/core/checkpoint-store.js +188 -0
- package/dist/core/checkpoint-store.js.map +1 -0
- package/dist/core/checkpoint-store.test.d.ts +2 -0
- package/dist/core/checkpoint-store.test.d.ts.map +1 -0
- package/dist/core/checkpoint-store.test.js +111 -0
- package/dist/core/checkpoint-store.test.js.map +1 -0
- package/dist/core/compaction/compactor.d.ts +4 -0
- package/dist/core/compaction/compactor.d.ts.map +1 -1
- package/dist/core/compaction/compactor.js +81 -28
- package/dist/core/compaction/compactor.js.map +1 -1
- package/dist/core/compaction/compactor.test.js +33 -9
- package/dist/core/compaction/compactor.test.js.map +1 -1
- package/dist/core/compaction/token-estimator.test.js +1 -1
- package/dist/core/continue-replay-inventory.test.d.ts +2 -0
- package/dist/core/continue-replay-inventory.test.d.ts.map +1 -0
- package/dist/core/continue-replay-inventory.test.js +42 -0
- package/dist/core/continue-replay-inventory.test.js.map +1 -0
- package/dist/core/goal-controller.d.ts +4 -0
- package/dist/core/goal-controller.d.ts.map +1 -1
- package/dist/core/goal-controller.js +223 -32
- package/dist/core/goal-controller.js.map +1 -1
- package/dist/core/goal-controller.test.js +387 -22
- package/dist/core/goal-controller.test.js.map +1 -1
- package/dist/core/goal-lifecycle-smoke.test.js +49 -8
- package/dist/core/goal-lifecycle-smoke.test.js.map +1 -1
- package/dist/core/goal-prerequisites.d.ts +23 -0
- package/dist/core/goal-prerequisites.d.ts.map +1 -0
- package/dist/core/goal-prerequisites.js +114 -0
- package/dist/core/goal-prerequisites.js.map +1 -0
- package/dist/core/goal-prerequisites.test.d.ts +2 -0
- package/dist/core/goal-prerequisites.test.d.ts.map +1 -0
- package/dist/core/goal-prerequisites.test.js +118 -0
- package/dist/core/goal-prerequisites.test.js.map +1 -0
- package/dist/core/goal-store.d.ts +12 -1
- package/dist/core/goal-store.d.ts.map +1 -1
- package/dist/core/goal-store.js +146 -40
- package/dist/core/goal-store.js.map +1 -1
- package/dist/core/goal-store.test.js +65 -8
- package/dist/core/goal-store.test.js.map +1 -1
- package/dist/core/goal-verifier.d.ts.map +1 -1
- package/dist/core/goal-verifier.js +4 -1
- package/dist/core/goal-verifier.js.map +1 -1
- package/dist/core/goal-verifier.test.js +43 -0
- package/dist/core/goal-verifier.test.js.map +1 -1
- package/dist/core/goal-worker.d.ts +2 -0
- package/dist/core/goal-worker.d.ts.map +1 -1
- package/dist/core/goal-worker.js +31 -7
- package/dist/core/goal-worker.js.map +1 -1
- package/dist/core/goal-worker.test.js +44 -0
- package/dist/core/goal-worker.test.js.map +1 -1
- package/dist/core/ideal-review.d.ts +20 -0
- package/dist/core/ideal-review.d.ts.map +1 -0
- package/dist/core/ideal-review.js +55 -0
- package/dist/core/ideal-review.js.map +1 -0
- package/dist/core/ideal-review.test.d.ts +2 -0
- package/dist/core/ideal-review.test.d.ts.map +1 -0
- package/dist/core/ideal-review.test.js +59 -0
- package/dist/core/ideal-review.test.js.map +1 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/loop-breaker.d.ts +46 -0
- package/dist/core/loop-breaker.d.ts.map +1 -0
- package/dist/core/loop-breaker.js +79 -0
- package/dist/core/loop-breaker.js.map +1 -0
- package/dist/core/loop-breaker.test.d.ts +2 -0
- package/dist/core/loop-breaker.test.d.ts.map +1 -0
- package/dist/core/loop-breaker.test.js +110 -0
- package/dist/core/loop-breaker.test.js.map +1 -0
- package/dist/core/mcp/client.d.ts +20 -0
- package/dist/core/mcp/client.d.ts.map +1 -1
- package/dist/core/mcp/client.js +55 -11
- package/dist/core/mcp/client.js.map +1 -1
- package/dist/core/mcp/defaults.d.ts +7 -0
- package/dist/core/mcp/defaults.d.ts.map +1 -1
- package/dist/core/mcp/defaults.js +14 -0
- package/dist/core/mcp/defaults.js.map +1 -1
- package/dist/core/mcp/index.d.ts +6 -1
- package/dist/core/mcp/index.d.ts.map +1 -1
- package/dist/core/mcp/index.js +3 -1
- package/dist/core/mcp/index.js.map +1 -1
- package/dist/core/mcp/parse-add-command.d.ts +25 -0
- package/dist/core/mcp/parse-add-command.d.ts.map +1 -0
- package/dist/core/mcp/parse-add-command.js +220 -0
- package/dist/core/mcp/parse-add-command.js.map +1 -0
- package/dist/core/mcp/parse-add-command.test.d.ts +2 -0
- package/dist/core/mcp/parse-add-command.test.d.ts.map +1 -0
- package/dist/core/mcp/parse-add-command.test.js +75 -0
- package/dist/core/mcp/parse-add-command.test.js.map +1 -0
- package/dist/core/mcp/store.d.ts +80 -0
- package/dist/core/mcp/store.d.ts.map +1 -0
- package/dist/core/mcp/store.js +157 -0
- package/dist/core/mcp/store.js.map +1 -0
- package/dist/core/mcp/store.test.d.ts +2 -0
- package/dist/core/mcp/store.test.d.ts.map +1 -0
- package/dist/core/mcp/store.test.js +101 -0
- package/dist/core/mcp/store.test.js.map +1 -0
- package/dist/core/model-registry.d.ts +2 -2
- package/dist/core/model-registry.js +4 -4
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-registry.test.js +1 -1
- package/dist/core/model-registry.test.js.map +1 -1
- package/dist/core/prompt-commands.d.ts.map +1 -1
- package/dist/core/prompt-commands.js +64 -894
- package/dist/core/prompt-commands.js.map +1 -1
- package/dist/core/prompt-commands.test.js +49 -41
- package/dist/core/prompt-commands.test.js.map +1 -1
- package/dist/core/regrounding.d.ts +23 -0
- package/dist/core/regrounding.d.ts.map +1 -0
- package/dist/core/regrounding.js +21 -0
- package/dist/core/regrounding.js.map +1 -0
- package/dist/core/regrounding.test.d.ts +2 -0
- package/dist/core/regrounding.test.d.ts.map +1 -0
- package/dist/core/regrounding.test.js +38 -0
- package/dist/core/regrounding.test.js.map +1 -0
- package/dist/core/runtime-mode.d.ts +23 -0
- package/dist/core/runtime-mode.d.ts.map +1 -0
- package/dist/core/runtime-mode.js +30 -0
- package/dist/core/runtime-mode.js.map +1 -0
- package/dist/core/session-manager.d.ts +4 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +20 -0
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-restore-display.test.d.ts +2 -0
- package/dist/core/session-restore-display.test.d.ts.map +1 -0
- package/dist/core/session-restore-display.test.js +78 -0
- package/dist/core/session-restore-display.test.js.map +1 -0
- package/dist/core/settings-manager.d.ts +4 -2
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +3 -6
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/slash-commands.d.ts +0 -2
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +10 -15
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/style-packs/index.js +1 -1
- package/dist/core/style-packs/index.js.map +1 -1
- package/dist/core/task-store.d.ts +26 -0
- package/dist/core/task-store.d.ts.map +1 -0
- package/dist/core/task-store.js +147 -0
- package/dist/core/task-store.js.map +1 -0
- package/dist/core/tasks-store.d.ts +24 -0
- package/dist/core/tasks-store.d.ts.map +1 -0
- package/dist/core/tasks-store.js +81 -0
- package/dist/core/tasks-store.js.map +1 -0
- package/dist/core/thinking-level.d.ts +5 -0
- package/dist/core/thinking-level.d.ts.map +1 -0
- package/dist/core/thinking-level.js +59 -0
- package/dist/core/thinking-level.js.map +1 -0
- package/dist/core/thinking-level.test.d.ts +2 -0
- package/dist/core/thinking-level.test.d.ts.map +1 -0
- package/dist/core/thinking-level.test.js +38 -0
- package/dist/core/thinking-level.test.js.map +1 -0
- package/dist/core/verify-commands.js +4 -4
- package/dist/core/verify-commands.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/interactive.d.ts.map +1 -1
- package/dist/interactive.js +3 -1
- package/dist/interactive.js.map +1 -1
- package/dist/system-prompt.d.ts +5 -1
- package/dist/system-prompt.d.ts.map +1 -1
- package/dist/system-prompt.js +76 -48
- package/dist/system-prompt.js.map +1 -1
- package/dist/system-prompt.test.js +98 -46
- package/dist/system-prompt.test.js.map +1 -1
- package/dist/tools/bash.d.ts +6 -1
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +21 -3
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/checkpoint-hook.test.d.ts +2 -0
- package/dist/tools/checkpoint-hook.test.d.ts.map +1 -0
- package/dist/tools/checkpoint-hook.test.js +65 -0
- package/dist/tools/checkpoint-hook.test.js.map +1 -0
- package/dist/tools/edit-diff.d.ts +17 -4
- package/dist/tools/edit-diff.d.ts.map +1 -1
- package/dist/tools/edit-diff.js +78 -16
- package/dist/tools/edit-diff.js.map +1 -1
- package/dist/tools/edit-diff.test.js +31 -1
- package/dist/tools/edit-diff.test.js.map +1 -1
- package/dist/tools/edit-robustness.test.d.ts +2 -0
- package/dist/tools/edit-robustness.test.d.ts.map +1 -0
- package/dist/tools/edit-robustness.test.js +415 -0
- package/dist/tools/edit-robustness.test.js.map +1 -0
- package/dist/tools/edit.d.ts +8 -2
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +48 -20
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/edit.test.js +23 -22
- package/dist/tools/edit.test.js.map +1 -1
- package/dist/tools/enter-plan.d.ts +1 -3
- package/dist/tools/enter-plan.d.ts.map +1 -1
- package/dist/tools/enter-plan.js +9 -21
- package/dist/tools/enter-plan.js.map +1 -1
- package/dist/tools/exit-plan.d.ts.map +1 -1
- package/dist/tools/exit-plan.js +8 -9
- package/dist/tools/exit-plan.js.map +1 -1
- package/dist/tools/goal-mode.test.d.ts +2 -0
- package/dist/tools/goal-mode.test.d.ts.map +1 -0
- package/dist/tools/goal-mode.test.js +121 -0
- package/dist/tools/goal-mode.test.js.map +1 -0
- package/dist/tools/goals.d.ts +14 -2
- package/dist/tools/goals.d.ts.map +1 -1
- package/dist/tools/goals.js +257 -26
- package/dist/tools/goals.js.map +1 -1
- package/dist/tools/goals.test.js +365 -1
- package/dist/tools/goals.test.js.map +1 -1
- package/dist/tools/html-extract.d.ts +58 -0
- package/dist/tools/html-extract.d.ts.map +1 -0
- package/dist/tools/html-extract.js +130 -0
- package/dist/tools/html-extract.js.map +1 -0
- package/dist/tools/html-extract.test.d.ts +2 -0
- package/dist/tools/html-extract.test.d.ts.map +1 -0
- package/dist/tools/html-extract.test.js +60 -0
- package/dist/tools/html-extract.test.js.map +1 -0
- package/dist/tools/index.d.ts +15 -12
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +12 -8
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/pdf-extract.d.ts +18 -0
- package/dist/tools/pdf-extract.d.ts.map +1 -0
- package/dist/tools/pdf-extract.js +43 -0
- package/dist/tools/pdf-extract.js.map +1 -0
- package/dist/tools/pdf-extract.test.d.ts +2 -0
- package/dist/tools/pdf-extract.test.d.ts.map +1 -0
- package/dist/tools/pdf-extract.test.js +15 -0
- package/dist/tools/pdf-extract.test.js.map +1 -0
- package/dist/tools/plan-mode.test.js +82 -243
- package/dist/tools/plan-mode.test.js.map +1 -1
- package/dist/tools/prompt-hints.d.ts.map +1 -1
- package/dist/tools/prompt-hints.js +6 -9
- package/dist/tools/prompt-hints.js.map +1 -1
- package/dist/tools/read-only-bash.d.ts +13 -0
- package/dist/tools/read-only-bash.d.ts.map +1 -0
- package/dist/tools/read-only-bash.js +155 -0
- package/dist/tools/read-only-bash.js.map +1 -0
- package/dist/tools/read-only-bash.test.d.ts +2 -0
- package/dist/tools/read-only-bash.test.d.ts.map +1 -0
- package/dist/tools/read-only-bash.test.js +47 -0
- package/dist/tools/read-only-bash.test.js.map +1 -0
- package/dist/tools/read.d.ts.map +1 -1
- package/dist/tools/read.js +14 -1
- package/dist/tools/read.js.map +1 -1
- package/dist/tools/read.test.js +4 -0
- package/dist/tools/read.test.js.map +1 -1
- package/dist/tools/screenshot.d.ts +25 -0
- package/dist/tools/screenshot.d.ts.map +1 -0
- package/dist/tools/screenshot.js +165 -0
- package/dist/tools/screenshot.js.map +1 -0
- package/dist/tools/screenshot.test.d.ts +2 -0
- package/dist/tools/screenshot.test.d.ts.map +1 -0
- package/dist/tools/screenshot.test.js +145 -0
- package/dist/tools/screenshot.test.js.map +1 -0
- package/dist/tools/subagent.d.ts +7 -2
- package/dist/tools/subagent.d.ts.map +1 -1
- package/dist/tools/subagent.js +31 -9
- package/dist/tools/subagent.js.map +1 -1
- package/dist/tools/tasks.d.ts.map +1 -1
- package/dist/tools/tasks.js +22 -58
- package/dist/tools/tasks.js.map +1 -1
- package/dist/tools/web-fetch.d.ts +16 -1
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +357 -45
- package/dist/tools/web-fetch.js.map +1 -1
- package/dist/tools/web-fetch.test.js +263 -2
- package/dist/tools/web-fetch.test.js.map +1 -1
- package/dist/tools/web-search.d.ts +14 -0
- package/dist/tools/web-search.d.ts.map +1 -1
- package/dist/tools/web-search.js +321 -35
- package/dist/tools/web-search.js.map +1 -1
- package/dist/tools/web-search.test.js +144 -1
- package/dist/tools/web-search.test.js.map +1 -1
- package/dist/tools/write.d.ts +8 -2
- package/dist/tools/write.d.ts.map +1 -1
- package/dist/tools/write.js +36 -9
- package/dist/tools/write.js.map +1 -1
- package/dist/tools/write.test.js +0 -16
- package/dist/tools/write.test.js.map +1 -1
- package/dist/ui/App.d.ts +52 -280
- package/dist/ui/App.d.ts.map +1 -1
- package/dist/ui/App.js +1608 -2235
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/activity-phrases.d.ts.map +1 -1
- package/dist/ui/activity-phrases.js +0 -2
- package/dist/ui/activity-phrases.js.map +1 -1
- package/dist/ui/app-items.d.ts +276 -0
- package/dist/ui/app-items.d.ts.map +1 -0
- package/dist/ui/app-items.js +52 -0
- package/dist/ui/app-items.js.map +1 -0
- package/dist/ui/app-items.test.d.ts +2 -0
- package/dist/ui/app-items.test.d.ts.map +1 -0
- package/dist/ui/app-items.test.js +38 -0
- package/dist/ui/app-items.test.js.map +1 -0
- package/dist/ui/app-state-persistence.test.js +45 -160
- package/dist/ui/app-state-persistence.test.js.map +1 -1
- package/dist/ui/assistant-stream-flush-parity.test.d.ts +2 -0
- package/dist/ui/assistant-stream-flush-parity.test.d.ts.map +1 -0
- package/dist/ui/assistant-stream-flush-parity.test.js +85 -0
- package/dist/ui/assistant-stream-flush-parity.test.js.map +1 -0
- package/dist/ui/chat-layout-pinning.test.d.ts +2 -0
- package/dist/ui/chat-layout-pinning.test.d.ts.map +1 -0
- package/dist/ui/chat-layout-pinning.test.js +525 -0
- package/dist/ui/chat-layout-pinning.test.js.map +1 -0
- package/dist/ui/components/ActivityIndicator.d.ts +1 -2
- package/dist/ui/components/ActivityIndicator.d.ts.map +1 -1
- package/dist/ui/components/ActivityIndicator.js +63 -94
- package/dist/ui/components/ActivityIndicator.js.map +1 -1
- package/dist/ui/components/AnimationContext.d.ts.map +1 -1
- package/dist/ui/components/AnimationContext.js +3 -5
- package/dist/ui/components/AnimationContext.js.map +1 -1
- package/dist/ui/components/AssistantMessage.d.ts +6 -2
- package/dist/ui/components/AssistantMessage.d.ts.map +1 -1
- package/dist/ui/components/AssistantMessage.js +9 -4
- package/dist/ui/components/AssistantMessage.js.map +1 -1
- package/dist/ui/components/AssistantMessage.test.d.ts +2 -0
- package/dist/ui/components/AssistantMessage.test.d.ts.map +1 -0
- package/dist/ui/components/AssistantMessage.test.js +387 -0
- package/dist/ui/components/AssistantMessage.test.js.map +1 -0
- package/dist/ui/components/BackgroundTasksBar.d.ts +1 -3
- package/dist/ui/components/BackgroundTasksBar.d.ts.map +1 -1
- package/dist/ui/components/BackgroundTasksBar.js +8 -10
- package/dist/ui/components/BackgroundTasksBar.js.map +1 -1
- package/dist/ui/components/Banner.d.ts +1 -2
- package/dist/ui/components/Banner.d.ts.map +1 -1
- package/dist/ui/components/Banner.js +9 -4
- package/dist/ui/components/Banner.js.map +1 -1
- package/dist/ui/components/ChatFooterPane.d.ts +25 -0
- package/dist/ui/components/ChatFooterPane.d.ts.map +1 -0
- package/dist/ui/components/ChatFooterPane.js +15 -0
- package/dist/ui/components/ChatFooterPane.js.map +1 -0
- package/dist/ui/components/ChatInputStack.d.ts +36 -0
- package/dist/ui/components/ChatInputStack.d.ts.map +1 -0
- package/dist/ui/components/ChatInputStack.js +10 -0
- package/dist/ui/components/ChatInputStack.js.map +1 -0
- package/dist/ui/components/ChatLayout.d.ts +37 -0
- package/dist/ui/components/ChatLayout.d.ts.map +1 -0
- package/dist/ui/components/ChatLayout.js +21 -0
- package/dist/ui/components/ChatLayout.js.map +1 -0
- package/dist/ui/components/ChatLivePane.d.ts +18 -0
- package/dist/ui/components/ChatLivePane.d.ts.map +1 -0
- package/dist/ui/components/ChatLivePane.js +22 -0
- package/dist/ui/components/ChatLivePane.js.map +1 -0
- package/dist/ui/components/ChatScreen.d.ts +136 -0
- package/dist/ui/components/ChatScreen.d.ts.map +1 -0
- package/dist/ui/components/ChatScreen.js +16 -0
- package/dist/ui/components/ChatScreen.js.map +1 -0
- package/dist/ui/components/ChatStatusRow.d.ts +34 -0
- package/dist/ui/components/ChatStatusRow.d.ts.map +1 -0
- package/dist/ui/components/ChatStatusRow.js +11 -0
- package/dist/ui/components/ChatStatusRow.js.map +1 -0
- package/dist/ui/components/CompactionNotice.d.ts +4 -2
- package/dist/ui/components/CompactionNotice.d.ts.map +1 -1
- package/dist/ui/components/CompactionNotice.js +4 -4
- package/dist/ui/components/CompactionNotice.js.map +1 -1
- package/dist/ui/components/Footer.d.ts +27 -6
- package/dist/ui/components/Footer.d.ts.map +1 -1
- package/dist/ui/components/Footer.js +75 -30
- package/dist/ui/components/Footer.js.map +1 -1
- package/dist/ui/components/FooterStatusRow.d.ts +20 -0
- package/dist/ui/components/FooterStatusRow.d.ts.map +1 -0
- package/dist/ui/components/FooterStatusRow.js +10 -0
- package/dist/ui/components/FooterStatusRow.js.map +1 -0
- package/dist/ui/components/FullScreenOverlayRouter.d.ts +19 -0
- package/dist/ui/components/FullScreenOverlayRouter.d.ts.map +1 -0
- package/dist/ui/components/FullScreenOverlayRouter.js +18 -0
- package/dist/ui/components/FullScreenOverlayRouter.js.map +1 -0
- package/dist/ui/components/GoalOverlay.d.ts +28 -20
- package/dist/ui/components/GoalOverlay.d.ts.map +1 -1
- package/dist/ui/components/GoalOverlay.js +283 -253
- package/dist/ui/components/GoalOverlay.js.map +1 -1
- package/dist/ui/components/GoalStatusBar.d.ts.map +1 -1
- package/dist/ui/components/GoalStatusBar.js +2 -1
- package/dist/ui/components/GoalStatusBar.js.map +1 -1
- package/dist/ui/components/IdealHookMessage.d.ts +14 -0
- package/dist/ui/components/IdealHookMessage.d.ts.map +1 -0
- package/dist/ui/components/IdealHookMessage.js +26 -0
- package/dist/ui/components/IdealHookMessage.js.map +1 -0
- package/dist/ui/components/InputArea.d.ts +31 -6
- package/dist/ui/components/InputArea.d.ts.map +1 -1
- package/dist/ui/components/InputArea.js +208 -50
- package/dist/ui/components/InputArea.js.map +1 -1
- package/dist/ui/components/InputArea.test.js +11 -1
- package/dist/ui/components/InputArea.test.js.map +1 -1
- package/dist/ui/components/LiveToolPanel.d.ts +30 -0
- package/dist/ui/components/LiveToolPanel.d.ts.map +1 -0
- package/dist/ui/components/LiveToolPanel.js +66 -0
- package/dist/ui/components/LiveToolPanel.js.map +1 -0
- package/dist/ui/components/Markdown.d.ts +11 -11
- package/dist/ui/components/Markdown.d.ts.map +1 -1
- package/dist/ui/components/Markdown.js +28 -198
- package/dist/ui/components/Markdown.js.map +1 -1
- package/dist/ui/components/ModelSelector.d.ts.map +1 -1
- package/dist/ui/components/ModelSelector.js +18 -18
- package/dist/ui/components/ModelSelector.js.map +1 -1
- package/dist/ui/components/PlanModeLogo.d.ts +3 -0
- package/dist/ui/components/PlanModeLogo.d.ts.map +1 -0
- package/dist/ui/components/PlanModeLogo.js +49 -0
- package/dist/ui/components/PlanModeLogo.js.map +1 -0
- package/dist/ui/components/PlanOverlay.d.ts +7 -0
- package/dist/ui/components/PlanOverlay.d.ts.map +1 -1
- package/dist/ui/components/PlanOverlay.js +17 -3
- package/dist/ui/components/PlanOverlay.js.map +1 -1
- package/dist/ui/components/PlanOverlay.test.d.ts +2 -0
- package/dist/ui/components/PlanOverlay.test.d.ts.map +1 -0
- package/dist/ui/components/PlanOverlay.test.js +24 -0
- package/dist/ui/components/PlanOverlay.test.js.map +1 -0
- package/dist/ui/components/QueueIndicator.d.ts +9 -0
- package/dist/ui/components/QueueIndicator.d.ts.map +1 -0
- package/dist/ui/components/QueueIndicator.js +9 -0
- package/dist/ui/components/QueueIndicator.js.map +1 -0
- package/dist/ui/components/RewindOverlay.d.ts +18 -0
- package/dist/ui/components/RewindOverlay.d.ts.map +1 -0
- package/dist/ui/components/RewindOverlay.js +52 -0
- package/dist/ui/components/RewindOverlay.js.map +1 -0
- package/dist/ui/components/SelectList.d.ts.map +1 -1
- package/dist/ui/components/SelectList.js +5 -0
- package/dist/ui/components/SelectList.js.map +1 -1
- package/dist/ui/components/ServerToolExecution.d.ts +2 -0
- package/dist/ui/components/ServerToolExecution.d.ts.map +1 -1
- package/dist/ui/components/ServerToolExecution.js +7 -23
- package/dist/ui/components/ServerToolExecution.js.map +1 -1
- package/dist/ui/components/SessionSummary.d.ts +5 -0
- package/dist/ui/components/SessionSummary.d.ts.map +1 -0
- package/dist/ui/components/SessionSummary.js +32 -0
- package/dist/ui/components/SessionSummary.js.map +1 -0
- package/dist/ui/components/SlashCommandMenu.d.ts +4 -3
- package/dist/ui/components/SlashCommandMenu.d.ts.map +1 -1
- package/dist/ui/components/SlashCommandMenu.js +38 -26
- package/dist/ui/components/SlashCommandMenu.js.map +1 -1
- package/dist/ui/components/SlashStyledSelectList.d.ts +21 -0
- package/dist/ui/components/SlashStyledSelectList.d.ts.map +1 -0
- package/dist/ui/components/SlashStyledSelectList.js +71 -0
- package/dist/ui/components/SlashStyledSelectList.js.map +1 -0
- package/dist/ui/components/StreamingArea.d.ts +11 -2
- package/dist/ui/components/StreamingArea.d.ts.map +1 -1
- package/dist/ui/components/StreamingArea.js +20 -23
- package/dist/ui/components/StreamingArea.js.map +1 -1
- package/dist/ui/components/StreamingArea.test.d.ts +2 -0
- package/dist/ui/components/StreamingArea.test.d.ts.map +1 -0
- package/dist/ui/components/StreamingArea.test.js +18 -0
- package/dist/ui/components/StreamingArea.test.js.map +1 -0
- package/dist/ui/components/SubAgentPanel.d.ts +2 -1
- package/dist/ui/components/SubAgentPanel.d.ts.map +1 -1
- package/dist/ui/components/SubAgentPanel.js +4 -3
- package/dist/ui/components/SubAgentPanel.js.map +1 -1
- package/dist/ui/components/TaskOverlay.d.ts.map +1 -1
- package/dist/ui/components/TaskOverlay.js +53 -82
- package/dist/ui/components/TaskOverlay.js.map +1 -1
- package/dist/ui/components/TaskPickerMenu.d.ts +9 -0
- package/dist/ui/components/TaskPickerMenu.d.ts.map +1 -0
- package/dist/ui/components/TaskPickerMenu.js +33 -0
- package/dist/ui/components/TaskPickerMenu.js.map +1 -0
- package/dist/ui/components/ThemeSelector.js +2 -2
- package/dist/ui/components/ThemeSelector.js.map +1 -1
- package/dist/ui/components/ToolExecution.d.ts +2 -0
- package/dist/ui/components/ToolExecution.d.ts.map +1 -1
- package/dist/ui/components/ToolExecution.js +18 -52
- package/dist/ui/components/ToolExecution.js.map +1 -1
- package/dist/ui/components/ToolGroupExecution.d.ts +6 -2
- package/dist/ui/components/ToolGroupExecution.d.ts.map +1 -1
- package/dist/ui/components/ToolGroupExecution.js +15 -147
- package/dist/ui/components/ToolGroupExecution.js.map +1 -1
- package/dist/ui/components/ToolUseLoader.d.ts +3 -1
- package/dist/ui/components/ToolUseLoader.d.ts.map +1 -1
- package/dist/ui/components/ToolUseLoader.js +2 -2
- package/dist/ui/components/ToolUseLoader.js.map +1 -1
- package/dist/ui/components/TranscriptViewport.d.ts +34 -0
- package/dist/ui/components/TranscriptViewport.d.ts.map +1 -0
- package/dist/ui/components/TranscriptViewport.js +45 -0
- package/dist/ui/components/TranscriptViewport.js.map +1 -0
- package/dist/ui/components/UserMessage.d.ts.map +1 -1
- package/dist/ui/components/UserMessage.js +15 -10
- package/dist/ui/components/UserMessage.js.map +1 -1
- package/dist/ui/components/UserMessage.test.d.ts +2 -0
- package/dist/ui/components/UserMessage.test.d.ts.map +1 -0
- package/dist/ui/components/UserMessage.test.js +39 -0
- package/dist/ui/components/UserMessage.test.js.map +1 -0
- package/dist/ui/components/index.d.ts +5 -0
- package/dist/ui/components/index.d.ts.map +1 -1
- package/dist/ui/components/index.js +5 -0
- package/dist/ui/components/index.js.map +1 -1
- package/dist/ui/duration-format.d.ts +2 -0
- package/dist/ui/duration-format.d.ts.map +1 -0
- package/dist/ui/duration-format.js +9 -0
- package/dist/ui/duration-format.js.map +1 -0
- package/dist/ui/duration-summary.d.ts +2 -0
- package/dist/ui/duration-summary.d.ts.map +1 -0
- package/dist/ui/duration-summary.js +66 -0
- package/dist/ui/duration-summary.js.map +1 -0
- package/dist/ui/error-item.d.ts +8 -0
- package/dist/ui/error-item.d.ts.map +1 -0
- package/dist/ui/error-item.js +32 -0
- package/dist/ui/error-item.js.map +1 -0
- package/dist/ui/footer-jump-regression.test.d.ts +2 -0
- package/dist/ui/footer-jump-regression.test.d.ts.map +1 -0
- package/dist/ui/footer-jump-regression.test.js +177 -0
- package/dist/ui/footer-jump-regression.test.js.map +1 -0
- package/dist/ui/footer-status-layout.test.js +22 -7
- package/dist/ui/footer-status-layout.test.js.map +1 -1
- package/dist/ui/goal-events.d.ts.map +1 -1
- package/dist/ui/goal-events.js +14 -6
- package/dist/ui/goal-events.js.map +1 -1
- package/dist/ui/goal-events.test.js +40 -2
- package/dist/ui/goal-events.test.js.map +1 -1
- package/dist/ui/goal-lifecycle-orchestration.test.d.ts +2 -0
- package/dist/ui/goal-lifecycle-orchestration.test.d.ts.map +1 -0
- package/dist/ui/goal-lifecycle-orchestration.test.js +512 -0
- package/dist/ui/goal-lifecycle-orchestration.test.js.map +1 -0
- package/dist/ui/goal-overlay.test.js +122 -44
- package/dist/ui/goal-overlay.test.js.map +1 -1
- package/dist/ui/goal-status-bar.test.js +29 -0
- package/dist/ui/goal-status-bar.test.js.map +1 -1
- package/dist/ui/goal-summary.d.ts +14 -0
- package/dist/ui/goal-summary.d.ts.map +1 -0
- package/dist/ui/goal-summary.js +194 -0
- package/dist/ui/goal-summary.js.map +1 -0
- package/dist/ui/hooks/useAgentLoop.d.ts +25 -4
- package/dist/ui/hooks/useAgentLoop.d.ts.map +1 -1
- package/dist/ui/hooks/useAgentLoop.js +197 -22
- package/dist/ui/hooks/useAgentLoop.js.map +1 -1
- package/dist/ui/hooks/useAgentLoop.test.d.ts +2 -0
- package/dist/ui/hooks/useAgentLoop.test.d.ts.map +1 -0
- package/dist/ui/hooks/useAgentLoop.test.js +8 -0
- package/dist/ui/hooks/useAgentLoop.test.js.map +1 -0
- package/dist/ui/hooks/useChatLayoutMeasurements.d.ts +45 -0
- package/dist/ui/hooks/useChatLayoutMeasurements.d.ts.map +1 -0
- package/dist/ui/hooks/useChatLayoutMeasurements.js +97 -0
- package/dist/ui/hooks/useChatLayoutMeasurements.js.map +1 -0
- package/dist/ui/hooks/useContextCompaction.d.ts +41 -0
- package/dist/ui/hooks/useContextCompaction.d.ts.map +1 -0
- package/dist/ui/hooks/useContextCompaction.js +149 -0
- package/dist/ui/hooks/useContextCompaction.js.map +1 -0
- package/dist/ui/hooks/useModeState.d.ts +56 -0
- package/dist/ui/hooks/useModeState.d.ts.map +1 -0
- package/dist/ui/hooks/useModeState.js +65 -0
- package/dist/ui/hooks/useModeState.js.map +1 -0
- package/dist/ui/hooks/usePixelFixFlow.d.ts +57 -0
- package/dist/ui/hooks/usePixelFixFlow.d.ts.map +1 -0
- package/dist/ui/hooks/usePixelFixFlow.js +102 -0
- package/dist/ui/hooks/usePixelFixFlow.js.map +1 -0
- package/dist/ui/hooks/useSessionPersistence.d.ts +34 -0
- package/dist/ui/hooks/useSessionPersistence.d.ts.map +1 -0
- package/dist/ui/hooks/useSessionPersistence.js +67 -0
- package/dist/ui/hooks/useSessionPersistence.js.map +1 -0
- package/dist/ui/hooks/useTaskPickerController.d.ts +19 -0
- package/dist/ui/hooks/useTaskPickerController.d.ts.map +1 -0
- package/dist/ui/hooks/useTaskPickerController.js +41 -0
- package/dist/ui/hooks/useTaskPickerController.js.map +1 -0
- package/dist/ui/hooks/useTerminalSize.d.ts +13 -10
- package/dist/ui/hooks/useTerminalSize.d.ts.map +1 -1
- package/dist/ui/hooks/useTerminalSize.js +21 -16
- package/dist/ui/hooks/useTerminalSize.js.map +1 -1
- package/dist/ui/hooks/useTranscriptHistory.d.ts +48 -0
- package/dist/ui/hooks/useTranscriptHistory.d.ts.map +1 -0
- package/dist/ui/hooks/useTranscriptHistory.js +113 -0
- package/dist/ui/hooks/useTranscriptHistory.js.map +1 -0
- package/dist/ui/hooks/useTranscriptHistory.test.d.ts +2 -0
- package/dist/ui/hooks/useTranscriptHistory.test.d.ts.map +1 -0
- package/dist/ui/hooks/useTranscriptHistory.test.js +61 -0
- package/dist/ui/hooks/useTranscriptHistory.test.js.map +1 -0
- package/dist/ui/hooks/useTranscriptScroll.d.ts +30 -0
- package/dist/ui/hooks/useTranscriptScroll.d.ts.map +1 -0
- package/dist/ui/hooks/useTranscriptScroll.js +44 -0
- package/dist/ui/hooks/useTranscriptScroll.js.map +1 -0
- package/dist/ui/hooks/useTranscriptScroll.test.d.ts +2 -0
- package/dist/ui/hooks/useTranscriptScroll.test.d.ts.map +1 -0
- package/dist/ui/hooks/useTranscriptScroll.test.js +119 -0
- package/dist/ui/hooks/useTranscriptScroll.test.js.map +1 -0
- package/dist/ui/item-helpers.d.ts +26 -0
- package/dist/ui/item-helpers.d.ts.map +1 -0
- package/dist/ui/item-helpers.js +114 -0
- package/dist/ui/item-helpers.js.map +1 -0
- package/dist/ui/layout-decisions.d.ts +81 -0
- package/dist/ui/layout-decisions.d.ts.map +1 -0
- package/dist/ui/layout-decisions.js +89 -0
- package/dist/ui/layout-decisions.js.map +1 -0
- package/dist/ui/live-area-clamp.test.d.ts +2 -0
- package/dist/ui/live-area-clamp.test.d.ts.map +1 -0
- package/dist/ui/live-area-clamp.test.js +88 -0
- package/dist/ui/live-area-clamp.test.js.map +1 -0
- package/dist/ui/live-area-height.d.ts +35 -0
- package/dist/ui/live-area-height.d.ts.map +1 -0
- package/dist/ui/live-area-height.js +80 -0
- package/dist/ui/live-area-height.js.map +1 -0
- package/dist/ui/live-area-height.test.d.ts +2 -0
- package/dist/ui/live-area-height.test.d.ts.map +1 -0
- package/dist/ui/live-area-height.test.js +67 -0
- package/dist/ui/live-area-height.test.js.map +1 -0
- package/dist/ui/live-frame-height.test.d.ts +2 -0
- package/dist/ui/live-frame-height.test.d.ts.map +1 -0
- package/dist/ui/live-frame-height.test.js +116 -0
- package/dist/ui/live-frame-height.test.js.map +1 -0
- package/dist/ui/live-item-flush.d.ts +2 -2
- package/dist/ui/live-item-flush.d.ts.map +1 -1
- package/dist/ui/live-item-flush.js +8 -4
- package/dist/ui/live-item-flush.js.map +1 -1
- package/dist/ui/login.js +1 -1
- package/dist/ui/long-prompt-regression-harness.test.d.ts +2 -0
- package/dist/ui/long-prompt-regression-harness.test.d.ts.map +1 -0
- package/dist/ui/long-prompt-regression-harness.test.js +195 -0
- package/dist/ui/long-prompt-regression-harness.test.js.map +1 -0
- package/dist/ui/mcp.d.ts +62 -0
- package/dist/ui/mcp.d.ts.map +1 -0
- package/dist/ui/mcp.js +306 -0
- package/dist/ui/mcp.js.map +1 -0
- package/dist/ui/plan-overlay.test.js +7 -29
- package/dist/ui/plan-overlay.test.js.map +1 -1
- package/dist/ui/prompt-routing.d.ts +11 -0
- package/dist/ui/prompt-routing.d.ts.map +1 -0
- package/dist/ui/prompt-routing.js +61 -0
- package/dist/ui/prompt-routing.js.map +1 -0
- package/dist/ui/queued-message.test.d.ts +2 -0
- package/dist/ui/queued-message.test.d.ts.map +1 -0
- package/dist/ui/queued-message.test.js +162 -0
- package/dist/ui/queued-message.test.js.map +1 -0
- package/dist/ui/render.d.ts +38 -42
- package/dist/ui/render.d.ts.map +1 -1
- package/dist/ui/render.js +128 -42
- package/dist/ui/render.js.map +1 -1
- package/dist/ui/render.test.d.ts +2 -0
- package/dist/ui/render.test.d.ts.map +1 -0
- package/dist/ui/render.test.js +16 -0
- package/dist/ui/render.test.js.map +1 -0
- package/dist/ui/scroll-stabilization.test.js +1 -7
- package/dist/ui/scroll-stabilization.test.js.map +1 -1
- package/dist/ui/session-summary.d.ts +63 -0
- package/dist/ui/session-summary.d.ts.map +1 -0
- package/dist/ui/session-summary.js +81 -0
- package/dist/ui/session-summary.js.map +1 -0
- package/dist/ui/slash-command-images.test.js +12 -11
- package/dist/ui/slash-command-images.test.js.map +1 -1
- package/dist/ui/stores/transcript-scroll-store.d.ts +27 -0
- package/dist/ui/stores/transcript-scroll-store.d.ts.map +1 -0
- package/dist/ui/stores/transcript-scroll-store.js +73 -0
- package/dist/ui/stores/transcript-scroll-store.js.map +1 -0
- package/dist/ui/stores/transcript-scroll-store.test.d.ts +2 -0
- package/dist/ui/stores/transcript-scroll-store.test.d.ts.map +1 -0
- package/dist/ui/stores/transcript-scroll-store.test.js +73 -0
- package/dist/ui/stores/transcript-scroll-store.test.js.map +1 -0
- package/dist/ui/streaming-flush-bounce.test.d.ts +2 -0
- package/dist/ui/streaming-flush-bounce.test.d.ts.map +1 -0
- package/dist/ui/streaming-flush-bounce.test.js +156 -0
- package/dist/ui/streaming-flush-bounce.test.js.map +1 -0
- package/dist/ui/submit-prompt-command.d.ts +49 -0
- package/dist/ui/submit-prompt-command.d.ts.map +1 -0
- package/dist/ui/submit-prompt-command.js +107 -0
- package/dist/ui/submit-prompt-command.js.map +1 -0
- package/dist/ui/submit-slash-commands.d.ts +12 -0
- package/dist/ui/submit-slash-commands.d.ts.map +1 -0
- package/dist/ui/submit-slash-commands.js +32 -0
- package/dist/ui/submit-slash-commands.js.map +1 -0
- package/dist/ui/terminal-history-format.d.ts +43 -0
- package/dist/ui/terminal-history-format.d.ts.map +1 -0
- package/dist/ui/terminal-history-format.js +133 -0
- package/dist/ui/terminal-history-format.js.map +1 -0
- package/dist/ui/terminal-history-retry-dedup.test.d.ts +2 -0
- package/dist/ui/terminal-history-retry-dedup.test.d.ts.map +1 -0
- package/dist/ui/terminal-history-retry-dedup.test.js +61 -0
- package/dist/ui/terminal-history-retry-dedup.test.js.map +1 -0
- package/dist/ui/terminal-history-spacing.d.ts +2 -0
- package/dist/ui/terminal-history-spacing.d.ts.map +1 -0
- package/dist/ui/terminal-history-spacing.js +2 -0
- package/dist/ui/terminal-history-spacing.js.map +1 -0
- package/dist/ui/terminal-history-status-renderers.d.ts +15 -0
- package/dist/ui/terminal-history-status-renderers.d.ts.map +1 -0
- package/dist/ui/terminal-history-status-renderers.js +99 -0
- package/dist/ui/terminal-history-status-renderers.js.map +1 -0
- package/dist/ui/terminal-history.d.ts +26 -0
- package/dist/ui/terminal-history.d.ts.map +1 -0
- package/dist/ui/terminal-history.js +916 -0
- package/dist/ui/terminal-history.js.map +1 -0
- package/dist/ui/terminal-history.test.d.ts +2 -0
- package/dist/ui/terminal-history.test.d.ts.map +1 -0
- package/dist/ui/terminal-history.test.js +550 -0
- package/dist/ui/terminal-history.test.js.map +1 -0
- package/dist/ui/testing/screen-recorder.d.ts +29 -0
- package/dist/ui/testing/screen-recorder.d.ts.map +1 -0
- package/dist/ui/testing/screen-recorder.js +179 -0
- package/dist/ui/testing/screen-recorder.js.map +1 -0
- package/dist/ui/thinking-level-cycle.test.d.ts +2 -0
- package/dist/ui/thinking-level-cycle.test.d.ts.map +1 -0
- package/dist/ui/thinking-level-cycle.test.js +45 -0
- package/dist/ui/thinking-level-cycle.test.js.map +1 -0
- package/dist/ui/thinking-level.d.ts +2 -0
- package/dist/ui/thinking-level.d.ts.map +1 -0
- package/dist/ui/thinking-level.js +2 -0
- package/dist/ui/thinking-level.js.map +1 -0
- package/dist/ui/tool-group-summary.d.ts +24 -0
- package/dist/ui/tool-group-summary.d.ts.map +1 -0
- package/dist/ui/tool-group-summary.js +233 -0
- package/dist/ui/tool-group-summary.js.map +1 -0
- package/dist/ui/tool-group-summary.test.d.ts +2 -0
- package/dist/ui/tool-group-summary.test.d.ts.map +1 -0
- package/dist/ui/tool-group-summary.test.js +79 -0
- package/dist/ui/tool-group-summary.test.js.map +1 -0
- package/dist/ui/tool-line-summary.d.ts +29 -0
- package/dist/ui/tool-line-summary.d.ts.map +1 -0
- package/dist/ui/tool-line-summary.js +153 -0
- package/dist/ui/tool-line-summary.js.map +1 -0
- package/dist/ui/transcript/MiscRows.d.ts +26 -0
- package/dist/ui/transcript/MiscRows.d.ts.map +1 -0
- package/dist/ui/transcript/MiscRows.js +68 -0
- package/dist/ui/transcript/MiscRows.js.map +1 -0
- package/dist/ui/transcript/StatusRow.d.ts +14 -0
- package/dist/ui/transcript/StatusRow.d.ts.map +1 -0
- package/dist/ui/transcript/StatusRow.js +14 -0
- package/dist/ui/transcript/StatusRow.js.map +1 -0
- package/dist/ui/transcript/ToolRows.d.ts +20 -0
- package/dist/ui/transcript/ToolRows.d.ts.map +1 -0
- package/dist/ui/transcript/ToolRows.js +25 -0
- package/dist/ui/transcript/ToolRows.js.map +1 -0
- package/dist/ui/transcript/TranscriptItemFrame.d.ts +8 -0
- package/dist/ui/transcript/TranscriptItemFrame.d.ts.map +1 -0
- package/dist/ui/transcript/TranscriptItemFrame.js +9 -0
- package/dist/ui/transcript/TranscriptItemFrame.js.map +1 -0
- package/dist/ui/transcript/TranscriptRenderer.d.ts +22 -0
- package/dist/ui/transcript/TranscriptRenderer.d.ts.map +1 -0
- package/dist/ui/transcript/TranscriptRenderer.js +111 -0
- package/dist/ui/transcript/TranscriptRenderer.js.map +1 -0
- package/dist/ui/transcript/presentation.d.ts +61 -0
- package/dist/ui/transcript/presentation.d.ts.map +1 -0
- package/dist/ui/transcript/presentation.js +86 -0
- package/dist/ui/transcript/presentation.js.map +1 -0
- package/dist/ui/transcript/spacing.d.ts +56 -0
- package/dist/ui/transcript/spacing.d.ts.map +1 -0
- package/dist/ui/transcript/spacing.js +129 -0
- package/dist/ui/transcript/spacing.js.map +1 -0
- package/dist/ui/transcript/spacing.test.d.ts +2 -0
- package/dist/ui/transcript/spacing.test.d.ts.map +1 -0
- package/dist/ui/transcript/spacing.test.js +193 -0
- package/dist/ui/transcript/spacing.test.js.map +1 -0
- package/dist/ui/transcript/tool-presentation.d.ts +12 -0
- package/dist/ui/transcript/tool-presentation.d.ts.map +1 -0
- package/dist/ui/transcript/tool-presentation.js +55 -0
- package/dist/ui/transcript/tool-presentation.js.map +1 -0
- package/dist/ui/transcript/transcript-lines.d.ts +32 -0
- package/dist/ui/transcript/transcript-lines.d.ts.map +1 -0
- package/dist/ui/transcript/transcript-lines.js +86 -0
- package/dist/ui/transcript/transcript-lines.js.map +1 -0
- package/dist/ui/transcript/transcript-lines.test.d.ts +2 -0
- package/dist/ui/transcript/transcript-lines.test.d.ts.map +1 -0
- package/dist/ui/transcript/transcript-lines.test.js +76 -0
- package/dist/ui/transcript/transcript-lines.test.js.map +1 -0
- package/dist/ui/transcript-viewport-pinning.test.d.ts +2 -0
- package/dist/ui/transcript-viewport-pinning.test.d.ts.map +1 -0
- package/dist/ui/transcript-viewport-pinning.test.js +148 -0
- package/dist/ui/transcript-viewport-pinning.test.js.map +1 -0
- package/dist/ui/tui-history-parity.test.d.ts +2 -0
- package/dist/ui/tui-history-parity.test.d.ts.map +1 -0
- package/dist/ui/tui-history-parity.test.js +381 -0
- package/dist/ui/tui-history-parity.test.js.map +1 -0
- package/dist/ui/tui-simulation.test.d.ts +2 -0
- package/dist/ui/tui-simulation.test.d.ts.map +1 -0
- package/dist/ui/tui-simulation.test.js +139 -0
- package/dist/ui/tui-simulation.test.js.map +1 -0
- package/dist/ui/tui-terminal-recorder.test.d.ts +2 -0
- package/dist/ui/tui-terminal-recorder.test.d.ts.map +1 -0
- package/dist/ui/tui-terminal-recorder.test.js +134 -0
- package/dist/ui/tui-terminal-recorder.test.js.map +1 -0
- package/dist/ui/utils/assistant-stream-split.d.ts +23 -0
- package/dist/ui/utils/assistant-stream-split.d.ts.map +1 -0
- package/dist/ui/utils/assistant-stream-split.js +41 -0
- package/dist/ui/utils/assistant-stream-split.js.map +1 -0
- package/dist/ui/utils/assistant-stream-split.test.d.ts +2 -0
- package/dist/ui/utils/assistant-stream-split.test.d.ts.map +1 -0
- package/dist/ui/utils/assistant-stream-split.test.js +40 -0
- package/dist/ui/utils/assistant-stream-split.test.js.map +1 -0
- package/dist/ui/utils/latex-to-unicode.d.ts +22 -0
- package/dist/ui/utils/latex-to-unicode.d.ts.map +1 -0
- package/dist/ui/utils/latex-to-unicode.js +538 -0
- package/dist/ui/utils/latex-to-unicode.js.map +1 -0
- package/dist/ui/utils/markdown-renderer.d.ts +20 -0
- package/dist/ui/utils/markdown-renderer.d.ts.map +1 -0
- package/dist/ui/utils/markdown-renderer.js +327 -0
- package/dist/ui/utils/markdown-renderer.js.map +1 -0
- package/dist/ui/utils/markdown-table.d.ts +9 -0
- package/dist/ui/utils/markdown-table.d.ts.map +1 -0
- package/dist/ui/utils/markdown-table.js +95 -0
- package/dist/ui/utils/markdown-table.js.map +1 -0
- package/dist/ui/utils/terminal-graphics.d.ts +16 -0
- package/dist/ui/utils/terminal-graphics.d.ts.map +1 -0
- package/dist/ui/utils/terminal-graphics.js +68 -0
- package/dist/ui/utils/terminal-graphics.js.map +1 -0
- package/dist/ui/utils/terminal-graphics.test.d.ts +2 -0
- package/dist/ui/utils/terminal-graphics.test.d.ts.map +1 -0
- package/dist/ui/utils/terminal-graphics.test.js +61 -0
- package/dist/ui/utils/terminal-graphics.test.js.map +1 -0
- package/dist/ui/utils/terminal-input.d.ts +3 -0
- package/dist/ui/utils/terminal-input.d.ts.map +1 -0
- package/dist/ui/utils/terminal-input.js +28 -0
- package/dist/ui/utils/terminal-input.js.map +1 -0
- package/dist/ui/utils/terminal-input.test.d.ts +2 -0
- package/dist/ui/utils/terminal-input.test.d.ts.map +1 -0
- package/dist/ui/utils/terminal-input.test.js +15 -0
- package/dist/ui/utils/terminal-input.test.js.map +1 -0
- package/dist/ui/utils/text-utils.d.ts +8 -0
- package/dist/ui/utils/text-utils.d.ts.map +1 -0
- package/dist/ui/utils/text-utils.js +16 -0
- package/dist/ui/utils/text-utils.js.map +1 -0
- package/dist/ui/utils/token-to-ansi.js +19 -9
- package/dist/ui/utils/token-to-ansi.js.map +1 -1
- package/dist/ui/utils/user-message-display.d.ts +7 -0
- package/dist/ui/utils/user-message-display.d.ts.map +1 -0
- package/dist/ui/utils/user-message-display.js +26 -0
- package/dist/ui/utils/user-message-display.js.map +1 -0
- package/dist/utils/format.js +7 -9
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/image.d.ts +9 -0
- package/dist/utils/image.d.ts.map +1 -1
- package/dist/utils/image.js +25 -0
- package/dist/utils/image.js.map +1 -1
- package/dist/utils/plan-steps.d.ts.map +1 -1
- package/dist/utils/plan-steps.js +5 -1
- package/dist/utils/plan-steps.js.map +1 -1
- package/dist/utils/plan-steps.test.d.ts +2 -0
- package/dist/utils/plan-steps.test.d.ts.map +1 -0
- package/dist/utils/plan-steps.test.js +16 -0
- package/dist/utils/plan-steps.test.js.map +1 -0
- package/package.json +50 -10
- package/dist/core/repomap-context.d.ts +0 -11
- package/dist/core/repomap-context.d.ts.map +0 -1
- package/dist/core/repomap-context.js +0 -68
- package/dist/core/repomap-context.js.map +0 -1
- package/dist/core/repomap-context.test.d.ts +0 -2
- package/dist/core/repomap-context.test.d.ts.map +0 -1
- package/dist/core/repomap-context.test.js +0 -47
- package/dist/core/repomap-context.test.js.map +0 -1
- package/dist/core/repomap.d.ts +0 -74
- package/dist/core/repomap.d.ts.map +0 -1
- package/dist/core/repomap.js +0 -906
- package/dist/core/repomap.js.map +0 -1
- package/dist/core/repomap.test.d.ts +0 -2
- package/dist/core/repomap.test.d.ts.map +0 -1
- package/dist/core/repomap.test.js +0 -494
- package/dist/core/repomap.test.js.map +0 -1
- package/dist/ui/components/EyesOverlay.d.ts +0 -10
- package/dist/ui/components/EyesOverlay.d.ts.map +0 -1
- package/dist/ui/components/EyesOverlay.js +0 -220
- package/dist/ui/components/EyesOverlay.js.map +0 -1
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { render, renderToString, Text } from "ink";
|
|
4
|
+
import { beforeEach, describe, expect, it } from "vitest";
|
|
5
|
+
import stripAnsi from "strip-ansi";
|
|
6
|
+
import { ChatControls, ChatLayout } from "./components/ChatLayout.js";
|
|
7
|
+
import { TranscriptViewport } from "./components/TranscriptViewport.js";
|
|
8
|
+
import { buildTranscriptLines } from "./transcript/transcript-lines.js";
|
|
9
|
+
import { loadTheme, ThemeContext } from "./theme/theme.js";
|
|
10
|
+
import { resetTranscriptScroll, scrollTranscriptByLines, setTranscriptScrollBounds, } from "./stores/transcript-scroll-store.js";
|
|
11
|
+
import { ScreenRecorder, makeRecordingStdout } from "./testing/screen-recorder.js";
|
|
12
|
+
const COLUMNS = 80;
|
|
13
|
+
const ROWS = 24;
|
|
14
|
+
const CONTROLS_ROWS = 6;
|
|
15
|
+
const VIEWPORT_ROWS = ROWS - CONTROLS_ROWS;
|
|
16
|
+
const theme = loadTheme("dark");
|
|
17
|
+
const context = {
|
|
18
|
+
theme,
|
|
19
|
+
columns: COLUMNS,
|
|
20
|
+
version: "sim",
|
|
21
|
+
model: "sim-model",
|
|
22
|
+
provider: "anthropic",
|
|
23
|
+
cwd: "/tmp/sim-project",
|
|
24
|
+
};
|
|
25
|
+
function FullscreenHarness({ history, liveItems, streamingText = "", }) {
|
|
26
|
+
const items = [...history, ...liveItems];
|
|
27
|
+
if (streamingText.length > 0) {
|
|
28
|
+
items.push({ kind: "assistant", text: streamingText, id: "__streaming__" });
|
|
29
|
+
}
|
|
30
|
+
const lines = buildTranscriptLines(items, context);
|
|
31
|
+
return (_jsx(ThemeContext.Provider, { value: theme, children: _jsxs(ChatLayout, { columns: COLUMNS, rows: ROWS, children: [_jsx(TranscriptViewport, { lines: lines, columns: COLUMNS, viewportRows: VIEWPORT_ROWS }), _jsxs(ChatControls, { controlsRef: () => { }, children: [_jsx(Text, { children: "SIM_STATUS" }), _jsx(Text, { children: "SIM_INPUT_TOP" }), _jsx(Text, { children: "SIM_INPUT_BODY" }), _jsx(Text, { children: "SIM_INPUT_BOTTOM" }), _jsx(Text, { children: "SIM_FOOTER" }), _jsx(Text, { children: "SIM_ACTIVITY_BAR" })] })] }) }));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Variant whose controls region can grow (simulating the slash-command menu /
|
|
35
|
+
* task picker opening below the input). The viewport must yield so the extra
|
|
36
|
+
* rows stay visible within the fixed-height frame instead of overflowing off
|
|
37
|
+
* the bottom of the (bottom-pinned) screen.
|
|
38
|
+
*/
|
|
39
|
+
function FullscreenHarnessWithMenu({ menuRows }) {
|
|
40
|
+
const lines = buildTranscriptLines([{ kind: "assistant", id: "a", text: longAssistant }], context);
|
|
41
|
+
return (_jsx(ThemeContext.Provider, { value: theme, children: _jsxs(ChatLayout, { columns: COLUMNS, rows: ROWS, children: [_jsx(TranscriptViewport, { lines: lines, columns: COLUMNS, viewportRows: VIEWPORT_ROWS }), _jsxs(ChatControls, { controlsRef: () => { }, children: [_jsx(Text, { children: "SIM_INPUT_TOP" }), _jsx(Text, { children: "SIM_INPUT_BODY" }), _jsx(Text, { children: "SIM_INPUT_BOTTOM" }), Array.from({ length: menuRows }, (_, i) => (_jsx(Text, { children: `SIM_MENU_ROW_${i + 1}` }, `menu-${i}`))), _jsx(Text, { children: "SIM_FOOTER" })] })] }) }));
|
|
42
|
+
}
|
|
43
|
+
function makeStdout(sink) {
|
|
44
|
+
return {
|
|
45
|
+
columns: COLUMNS,
|
|
46
|
+
rows: ROWS,
|
|
47
|
+
isTTY: true,
|
|
48
|
+
writable: true,
|
|
49
|
+
write(chunk, callback) {
|
|
50
|
+
sink.last += chunk;
|
|
51
|
+
callback?.(null);
|
|
52
|
+
return true;
|
|
53
|
+
},
|
|
54
|
+
on() { },
|
|
55
|
+
off() { },
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
async function settle() {
|
|
59
|
+
await new Promise((resolve) => setTimeout(resolve, 40));
|
|
60
|
+
}
|
|
61
|
+
const longAssistant = Array.from({ length: 40 }, (_, i) => `SIM_ASSISTANT_LINE_${i + 1}`).join("\n");
|
|
62
|
+
describe("fullscreen transcript viewport pinning", () => {
|
|
63
|
+
beforeEach(() => {
|
|
64
|
+
setTranscriptScrollBounds(0);
|
|
65
|
+
resetTranscriptScroll();
|
|
66
|
+
});
|
|
67
|
+
it("keeps the footer at the same row across stream → finalize → next submit", async () => {
|
|
68
|
+
// Apply writes cumulatively to a virtual terminal and read the resulting
|
|
69
|
+
// on-screen state. After the Ink 6.8 fullscreen patch (see render.ts /
|
|
70
|
+
// patches/ink@6.8.0.patch), steady fullscreen frames flow through the
|
|
71
|
+
// incremental line-diff renderer, so a single rerender no longer rewrites
|
|
72
|
+
// the whole frame — the footer line is only emitted when it actually moves.
|
|
73
|
+
// Inspecting the cumulative screen (what the user sees) is therefore the
|
|
74
|
+
// correct invariant, not the bytes of the last individual write.
|
|
75
|
+
const term = new ScreenRecorder({ columns: COLUMNS, rows: ROWS });
|
|
76
|
+
const stdout = makeRecordingStdout(term);
|
|
77
|
+
// Frame 1: active stream, response in flight (in liveItems / streaming).
|
|
78
|
+
const mounted = render(_jsx(FullscreenHarness, { history: [{ kind: "banner", id: "banner" }], liveItems: [], streamingText: longAssistant }), { stdout, patchConsole: false, maxFps: 1000 });
|
|
79
|
+
await settle();
|
|
80
|
+
const streamFooter = term.footerRow("SIM_FOOTER");
|
|
81
|
+
// Frame 2: response finalized into history, liveItems cleared.
|
|
82
|
+
mounted.rerender(_jsx(FullscreenHarness, { history: [
|
|
83
|
+
{ kind: "banner", id: "banner" },
|
|
84
|
+
{ kind: "assistant", id: "a1", text: longAssistant },
|
|
85
|
+
], liveItems: [] }));
|
|
86
|
+
await settle();
|
|
87
|
+
const doneFooter = term.footerRow("SIM_FOOTER");
|
|
88
|
+
// Frame 3: next prompt submitted — new user row appended to history.
|
|
89
|
+
mounted.rerender(_jsx(FullscreenHarness, { history: [
|
|
90
|
+
{ kind: "banner", id: "banner" },
|
|
91
|
+
{ kind: "assistant", id: "a1", text: longAssistant },
|
|
92
|
+
{ kind: "user", id: "u2", text: "follow up question" },
|
|
93
|
+
], liveItems: [] }));
|
|
94
|
+
await settle();
|
|
95
|
+
const submitFooter = term.footerRow("SIM_FOOTER");
|
|
96
|
+
mounted.unmount();
|
|
97
|
+
// The footer sits near the bottom of the full-height frame (FOOTER is the
|
|
98
|
+
// 5th of 6 controls rows, so row ROWS-2 with a 0-based index).
|
|
99
|
+
expect(streamFooter).toBe(ROWS - 2);
|
|
100
|
+
// The success criterion: the footer occupies the same row on every frame.
|
|
101
|
+
expect(doneFooter).toBe(streamFooter);
|
|
102
|
+
expect(submitFooter).toBe(streamFooter);
|
|
103
|
+
});
|
|
104
|
+
it("emits a constant viewport row count regardless of content length or scroll", () => {
|
|
105
|
+
// A stable total line count is what lets Ink's incremental renderer diff
|
|
106
|
+
// pure content and skip the controls region, eliminating scroll flicker.
|
|
107
|
+
const shortLines = buildTranscriptLines([{ kind: "assistant", id: "a", text: "hi" }], context);
|
|
108
|
+
const longLines = buildTranscriptLines([{ kind: "assistant", id: "a", text: longAssistant }], context);
|
|
109
|
+
const countRows = (frame) => stripAnsi(frame).replace(/\n+$/, "").split("\n").length;
|
|
110
|
+
resetTranscriptScroll();
|
|
111
|
+
setTranscriptScrollBounds(0);
|
|
112
|
+
const shortFrame = renderToString(_jsx(TranscriptViewport, { lines: shortLines, columns: COLUMNS, viewportRows: VIEWPORT_ROWS }));
|
|
113
|
+
const longFrame = renderToString(_jsx(TranscriptViewport, { lines: longLines, columns: COLUMNS, viewportRows: VIEWPORT_ROWS }));
|
|
114
|
+
// Scroll up 5 lines via the store, then render the same long content.
|
|
115
|
+
setTranscriptScrollBounds(longLines.length - VIEWPORT_ROWS);
|
|
116
|
+
scrollTranscriptByLines(5);
|
|
117
|
+
const scrolledFrame = renderToString(_jsx(TranscriptViewport, { lines: longLines, columns: COLUMNS, viewportRows: VIEWPORT_ROWS }));
|
|
118
|
+
resetTranscriptScroll();
|
|
119
|
+
expect(countRows(shortFrame)).toBe(VIEWPORT_ROWS);
|
|
120
|
+
expect(countRows(longFrame)).toBe(VIEWPORT_ROWS);
|
|
121
|
+
expect(countRows(scrolledFrame)).toBe(VIEWPORT_ROWS);
|
|
122
|
+
});
|
|
123
|
+
it("yields viewport height so an opened menu stays inside the frame and the footer stays visible", async () => {
|
|
124
|
+
const sink = { last: "" };
|
|
125
|
+
const stdout = makeStdout(sink);
|
|
126
|
+
// Tall menu: 12 extra rows below the input would overflow a rigid viewport.
|
|
127
|
+
const mounted = render(_jsx(FullscreenHarnessWithMenu, { menuRows: 12 }), {
|
|
128
|
+
stdout,
|
|
129
|
+
patchConsole: false,
|
|
130
|
+
maxFps: 1000,
|
|
131
|
+
});
|
|
132
|
+
await settle();
|
|
133
|
+
const frame = sink.last;
|
|
134
|
+
mounted.unmount();
|
|
135
|
+
const visible = stripAnsi(frame)
|
|
136
|
+
.split("\n")
|
|
137
|
+
.map((line) => line.trimEnd());
|
|
138
|
+
const footerIdx = visible.findIndex((line) => line.includes("SIM_FOOTER"));
|
|
139
|
+
const lastMenuIdx = visible.findIndex((line) => line.includes("SIM_MENU_ROW_12"));
|
|
140
|
+
// Both the last menu row and the footer rendered, and the footer is below
|
|
141
|
+
// the menu — nothing got pushed off the bottom of the fixed-height frame.
|
|
142
|
+
expect(lastMenuIdx).toBeGreaterThanOrEqual(0);
|
|
143
|
+
expect(footerIdx).toBeGreaterThan(lastMenuIdx);
|
|
144
|
+
// The whole frame fits within the terminal height.
|
|
145
|
+
expect(footerIdx).toBeLessThanOrEqual(ROWS - 1);
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
//# sourceMappingURL=transcript-viewport-pinning.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transcript-viewport-pinning.test.js","sourceRoot":"","sources":["../../src/ui/transcript-viewport-pinning.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tui-history-parity.test.d.ts","sourceRoot":"","sources":["../../src/ui/tui-history-parity.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { Box, Text, renderToString } from "ink";
|
|
4
|
+
import { describe, expect, it } from "vitest";
|
|
5
|
+
import stripAnsi from "strip-ansi";
|
|
6
|
+
import stringWidth from "string-width";
|
|
7
|
+
import { UPDATE_NOTICE_TEXT } from "./app-items.js";
|
|
8
|
+
import { serializeCompletedItemToTerminalHistory } from "./terminal-history.js";
|
|
9
|
+
import { loadTheme, ThemeContext } from "./theme/theme.js";
|
|
10
|
+
import { TerminalSizeProvider } from "./hooks/useTerminalSize.js";
|
|
11
|
+
import { ToolExecution } from "./components/ToolExecution.js";
|
|
12
|
+
import { ToolGroupExecution } from "./components/ToolGroupExecution.js";
|
|
13
|
+
import { ServerToolExecution } from "./components/ServerToolExecution.js";
|
|
14
|
+
import { SubAgentPanel } from "./components/SubAgentPanel.js";
|
|
15
|
+
import { CompactionDone, CompactionSpinner } from "./components/CompactionNotice.js";
|
|
16
|
+
import { LANGUAGE_DISPLAY_NAMES } from "../core/language-detector.js";
|
|
17
|
+
import { AssistantMessage } from "./components/AssistantMessage.js";
|
|
18
|
+
import { IdealHookMessage } from "./components/IdealHookMessage.js";
|
|
19
|
+
import { UserMessage } from "./components/UserMessage.js";
|
|
20
|
+
import { Banner } from "./components/Banner.js";
|
|
21
|
+
import { SessionSummaryDisplay } from "./components/SessionSummary.js";
|
|
22
|
+
import { PlanModeLogo } from "./components/PlanModeLogo.js";
|
|
23
|
+
import { GoalProgressRow } from "./transcript/MiscRows.js";
|
|
24
|
+
const TERMINAL_COLUMNS = 68;
|
|
25
|
+
const theme = loadTheme("dark");
|
|
26
|
+
const context = {
|
|
27
|
+
theme,
|
|
28
|
+
columns: TERMINAL_COLUMNS,
|
|
29
|
+
version: "test",
|
|
30
|
+
model: "test-model",
|
|
31
|
+
provider: "anthropic",
|
|
32
|
+
cwd: "/tmp/test",
|
|
33
|
+
};
|
|
34
|
+
function cleanLines(value) {
|
|
35
|
+
return stripAnsi(value)
|
|
36
|
+
.replace(/\r/g, "\n")
|
|
37
|
+
.split("\n")
|
|
38
|
+
.filter((line) => line.length > 0);
|
|
39
|
+
}
|
|
40
|
+
function renderLive(element) {
|
|
41
|
+
const originalColumns = process.stdout.columns;
|
|
42
|
+
const originalRows = process.stdout.rows;
|
|
43
|
+
process.stdout.columns = TERMINAL_COLUMNS;
|
|
44
|
+
process.stdout.rows = 20;
|
|
45
|
+
try {
|
|
46
|
+
return cleanLines(renderToString(_jsx(ThemeContext.Provider, { value: theme, children: _jsx(TerminalSizeProvider, { children: element }) }), { columns: TERMINAL_COLUMNS }));
|
|
47
|
+
}
|
|
48
|
+
finally {
|
|
49
|
+
process.stdout.columns = originalColumns;
|
|
50
|
+
process.stdout.rows = originalRows;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function renderHistory(item) {
|
|
54
|
+
return cleanLines(serializeCompletedItemToTerminalHistory(item, context));
|
|
55
|
+
}
|
|
56
|
+
function normalizeSessionSummaryLine(line) {
|
|
57
|
+
if (/^[\s╭╰─╮╯]+$/u.test(line))
|
|
58
|
+
return null;
|
|
59
|
+
const boxed = line.match(/│(.*)│/u)?.[1] ?? line;
|
|
60
|
+
const trimmed = boxed.trim();
|
|
61
|
+
if (!trimmed)
|
|
62
|
+
return null;
|
|
63
|
+
return trimmed.replace(/\s{2,}/gu, ": ").replace(/^([^:]+): (.+)$/u, "$1: $2");
|
|
64
|
+
}
|
|
65
|
+
function normalizeParityLines(kind, lines) {
|
|
66
|
+
if (kind === "user")
|
|
67
|
+
return lines.map((line) => line.trimEnd());
|
|
68
|
+
if (kind === "session_summary") {
|
|
69
|
+
return lines.map(normalizeSessionSummaryLine).filter((line) => line !== null);
|
|
70
|
+
}
|
|
71
|
+
if (kind === "style_pack" || kind === "setup_hint" || kind === "update_notice") {
|
|
72
|
+
return lines.map((line) => line.replace(/─/g, "").replace(/ +(?=│$)/u, ""));
|
|
73
|
+
}
|
|
74
|
+
return [...lines];
|
|
75
|
+
}
|
|
76
|
+
function renderQueuedLiveItem(item, itemTheme) {
|
|
77
|
+
const suffix = item.imageCount
|
|
78
|
+
? ` (+${item.imageCount} image${item.imageCount > 1 ? "s" : ""})`
|
|
79
|
+
: "";
|
|
80
|
+
return (_jsxs(Box, { flexDirection: "row", paddingLeft: 1, marginTop: 1, flexShrink: 1, children: [_jsx(Box, { width: 2, flexShrink: 0, children: _jsx(Text, { color: itemTheme.warning, bold: true, children: "• " }) }), _jsx(Box, { flexDirection: "column", flexGrow: 1, children: _jsxs(Text, { color: itemTheme.text, wrap: "wrap", children: [_jsx(Text, { color: itemTheme.textDim, children: "Queued: " }), item.text || "(empty)", suffix] }) })] }));
|
|
81
|
+
}
|
|
82
|
+
function renderStatusLive(glyph, content, glyphColor, itemTheme, options = {}) {
|
|
83
|
+
return (_jsxs(Box, { flexDirection: "row", paddingLeft: 1, marginTop: 1, flexShrink: 1, children: [_jsx(Box, { width: 2, flexShrink: 0, children: _jsx(Text, { color: glyphColor, bold: options.bold ?? true, children: glyph }) }), _jsx(Box, { flexDirection: "column", flexGrow: 1, children: _jsx(Text, { color: options.muted ? itemTheme.textDim : itemTheme.commandColor, bold: options.bold, wrap: "wrap", children: content }) })] }));
|
|
84
|
+
}
|
|
85
|
+
function renderStylePackLive(item, itemTheme) {
|
|
86
|
+
const names = item.added.map((id) => LANGUAGE_DISPLAY_NAMES[id]);
|
|
87
|
+
const headerLabel = item.added.length > 1 ? "STYLE PACKS ACTIVE" : "STYLE PACK ACTIVE";
|
|
88
|
+
return (_jsx(Box, { paddingLeft: 1, marginTop: 1, flexShrink: 1, children: _jsxs(Box, { flexShrink: 1, flexDirection: "column", borderStyle: "round", borderColor: itemTheme.language, paddingX: 1, children: [_jsxs(Text, { wrap: "wrap", children: [_jsx(Text, { color: itemTheme.language, bold: true, children: "◆ " }), _jsx(Text, { color: itemTheme.language, bold: true, children: headerLabel })] }), _jsx(Text, { color: itemTheme.text, bold: true, wrap: "wrap", children: names.join(", ") }), item.showSetupHint && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { wrap: "wrap", children: [_jsx(Text, { color: itemTheme.textMuted, children: "Tip: run " }), _jsx(Text, { color: itemTheme.language, bold: true, children: "/setup" }), _jsx(Text, { color: itemTheme.textMuted, children: " to audit this project against the active pack(s)" })] }) }))] }) }));
|
|
89
|
+
}
|
|
90
|
+
function renderSetupHintLive(itemTheme) {
|
|
91
|
+
return (_jsx(Box, { paddingLeft: 1, marginTop: 1, flexShrink: 1, children: _jsxs(Box, { flexShrink: 1, flexDirection: "column", borderStyle: "round", borderColor: itemTheme.language, paddingX: 1, children: [_jsxs(Text, { wrap: "wrap", children: [_jsx(Text, { color: itemTheme.language, bold: true, children: "◆ " }), _jsx(Text, { color: itemTheme.language, bold: true, children: "NO STYLE PACKS DETECTED" })] }), _jsx(Text, { color: itemTheme.textMuted, wrap: "wrap", children: "This directory has no recognized language manifest at its root." }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { wrap: "wrap", children: [_jsx(Text, { color: itemTheme.textMuted, children: "Tip: run " }), _jsx(Text, { color: itemTheme.language, bold: true, children: "/setup" }), _jsx(Text, { color: itemTheme.textMuted, children: " to audit project hygiene or bootstrap a new project from scratch" })] }) })] }) }));
|
|
92
|
+
}
|
|
93
|
+
function renderUpdateNoticeLive(_item, itemTheme) {
|
|
94
|
+
return (_jsx(Box, { paddingLeft: 1, marginTop: 1, flexShrink: 1, children: _jsx(Box, { flexShrink: 1, borderStyle: "round", borderColor: itemTheme.commandColor, paddingX: 1, children: _jsx(Text, { color: itemTheme.commandColor, bold: true, wrap: "wrap", children: UPDATE_NOTICE_TEXT }) }) }));
|
|
95
|
+
}
|
|
96
|
+
function assertNever(value) {
|
|
97
|
+
throw new Error(`Unhandled completed item in TUI parity test: ${JSON.stringify(value)}`);
|
|
98
|
+
}
|
|
99
|
+
function liveElementFor(item) {
|
|
100
|
+
switch (item.kind) {
|
|
101
|
+
case "banner":
|
|
102
|
+
return (_jsx(Banner, { version: context.version, model: context.model, provider: context.provider, cwd: context.cwd }));
|
|
103
|
+
case "user":
|
|
104
|
+
return (_jsx(UserMessage, { text: item.text, imageCount: item.imageCount, pasteInfo: item.pasteInfo }));
|
|
105
|
+
case "assistant":
|
|
106
|
+
return (_jsx(AssistantMessage, { text: item.text, thinking: item.thinking, thinkingMs: item.thinkingMs }));
|
|
107
|
+
case "ideal_hook":
|
|
108
|
+
return _jsx(IdealHookMessage, { text: item.text });
|
|
109
|
+
case "task":
|
|
110
|
+
return renderStatusLive("▸ ", _jsxs(_Fragment, { children: [_jsx(Text, { color: theme.textDim, children: "Task: " }), _jsx(Text, { color: theme.commandColor, bold: true, children: item.title })] }), theme.commandColor, theme, { bold: true });
|
|
111
|
+
case "goal_agent_transition":
|
|
112
|
+
return renderStatusLive("◆ ", item.text, theme.commandColor, theme, { bold: true });
|
|
113
|
+
case "goal_progress":
|
|
114
|
+
return (_jsx(Box, { paddingLeft: 1, flexShrink: 1, children: _jsx(GoalProgressRow, { item: item }) }));
|
|
115
|
+
case "queued":
|
|
116
|
+
return renderQueuedLiveItem(item, theme);
|
|
117
|
+
case "tool_start":
|
|
118
|
+
return (_jsx(ToolExecution, { status: "running", name: item.name, args: item.args, progressOutput: item.progressOutput, animateUntil: 0 }));
|
|
119
|
+
case "tool_done":
|
|
120
|
+
return (_jsx(ToolExecution, { status: "done", name: item.name, args: item.args, result: item.result, isError: item.isError, details: item.details }));
|
|
121
|
+
case "tool_group":
|
|
122
|
+
return _jsx(ToolGroupExecution, { tools: item.tools });
|
|
123
|
+
case "server_tool_start":
|
|
124
|
+
return (_jsx(ServerToolExecution, { status: "running", name: item.name, input: item.input, startedAt: 0, animateUntil: 0 }));
|
|
125
|
+
case "server_tool_done":
|
|
126
|
+
return (_jsx(ServerToolExecution, { status: "done", name: item.name, input: item.input, durationMs: item.durationMs, resultType: item.resultType }));
|
|
127
|
+
case "subagent_group":
|
|
128
|
+
return _jsx(SubAgentPanel, { agents: item.agents, aborted: item.aborted });
|
|
129
|
+
case "style_pack":
|
|
130
|
+
return renderStylePackLive(item, theme);
|
|
131
|
+
case "setup_hint":
|
|
132
|
+
return renderSetupHintLive(theme);
|
|
133
|
+
case "update_notice":
|
|
134
|
+
return renderUpdateNoticeLive(item, theme);
|
|
135
|
+
case "compacting":
|
|
136
|
+
return _jsx(CompactionSpinner, { staticDisplay: true });
|
|
137
|
+
case "compacted":
|
|
138
|
+
return (_jsx(CompactionDone, { originalCount: item.originalCount, newCount: item.newCount, tokensBefore: item.tokensBefore, tokensAfter: item.tokensAfter }));
|
|
139
|
+
case "error": {
|
|
140
|
+
const showMessage = item.message && item.message !== item.headline;
|
|
141
|
+
return (_jsxs(Box, { flexDirection: "row", paddingLeft: 1, marginTop: 1, flexShrink: 1, children: [_jsx(Box, { width: 2, flexShrink: 0, children: _jsx(Text, { color: theme.error, bold: true, children: "✗ " }) }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [_jsx(Text, { color: theme.error, wrap: "wrap", children: item.headline }), showMessage && (_jsx(Text, { color: theme.textDim, wrap: "wrap", children: item.message })), _jsx(Text, { color: theme.textDim, wrap: "wrap", children: `→ ${item.guidance}` })] })] }));
|
|
142
|
+
}
|
|
143
|
+
case "info":
|
|
144
|
+
return renderStatusLive("○ ", item.text, theme.commandColor, theme, { muted: true });
|
|
145
|
+
case "plan_transition":
|
|
146
|
+
return _jsx(PlanModeLogo, {});
|
|
147
|
+
case "model_transition":
|
|
148
|
+
return renderStatusLive("▸ ", _jsxs(_Fragment, { children: [_jsx(Text, { color: theme.textDim, children: "Switched to " }), _jsx(Text, { color: theme.commandColor, bold: true, children: item.modelName })] }), theme.commandColor, theme, { bold: true });
|
|
149
|
+
case "theme_transition":
|
|
150
|
+
return renderStatusLive("◐ ", _jsxs(_Fragment, { children: [_jsx(Text, { color: theme.textDim, children: "Theme switched to " }), _jsx(Text, { color: theme.commandColor, bold: true, children: item.themeName })] }), theme.commandColor, theme, { bold: true });
|
|
151
|
+
case "plan_event": {
|
|
152
|
+
const label = item.event === "approved"
|
|
153
|
+
? "Plan approved"
|
|
154
|
+
: item.event === "rejected"
|
|
155
|
+
? "Plan rejected"
|
|
156
|
+
: "Plan dismissed";
|
|
157
|
+
return renderStatusLive("○ ", _jsxs(_Fragment, { children: [_jsx(Text, { children: label }), item.detail ? _jsx(Text, { color: theme.textDim, children: ` — "${item.detail}"` }) : null] }), theme.commandColor, theme, { bold: true });
|
|
158
|
+
}
|
|
159
|
+
case "stopped":
|
|
160
|
+
return renderStatusLive("⊘ ", item.text.replace(/\\n/g, "\n").replace(/^\n+|\n+$/g, ""), theme.commandColor, theme, { bold: true });
|
|
161
|
+
case "step_done":
|
|
162
|
+
return (_jsx(Box, { paddingLeft: 1, marginTop: 1, flexShrink: 1, children: _jsxs(Text, { wrap: "wrap", children: [_jsx(Text, { color: theme.success, bold: true, children: "✓ " }), _jsx(Text, { color: theme.success, bold: true, children: `Step ${item.stepNum} done` }), item.description ? (_jsx(Text, { color: theme.textDim, children: ` — ${item.description}` })) : null] }) }));
|
|
163
|
+
case "duration":
|
|
164
|
+
return (_jsx(Box, { paddingLeft: 1, marginTop: 1, children: _jsx(Text, { color: theme.textDim, children: `✻ ${item.verb} 2m 3s` }) }));
|
|
165
|
+
case "session_summary":
|
|
166
|
+
return _jsx(SessionSummaryDisplay, { summary: item.summary });
|
|
167
|
+
case "tombstone":
|
|
168
|
+
return null;
|
|
169
|
+
default:
|
|
170
|
+
return assertNever(item);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
const parityCaseByKind = {
|
|
174
|
+
banner: { kind: "banner", id: "banner" },
|
|
175
|
+
user: { kind: "user", id: "user-1", text: "hello from user", imageCount: 1 },
|
|
176
|
+
assistant: { kind: "assistant", id: "assistant-1", text: "Hello **world** from assistant" },
|
|
177
|
+
ideal_hook: {
|
|
178
|
+
kind: "ideal_hook",
|
|
179
|
+
id: "ideal-hook-1",
|
|
180
|
+
text: "Hook engaged \u2014 running an ideal review before finalizing.",
|
|
181
|
+
},
|
|
182
|
+
task: { kind: "task", id: "task-1", title: "Restore task pane" },
|
|
183
|
+
goal_agent_transition: {
|
|
184
|
+
kind: "goal_agent_transition",
|
|
185
|
+
id: "goal-agent-transition-1",
|
|
186
|
+
text: "Goal setup is ready for review.",
|
|
187
|
+
},
|
|
188
|
+
goal_progress: {
|
|
189
|
+
kind: "goal_progress",
|
|
190
|
+
id: "goal-progress-1",
|
|
191
|
+
phase: "terminal",
|
|
192
|
+
title: "Goal passed: Restore workflow",
|
|
193
|
+
detail: "Verifier evidence and final audit passed.",
|
|
194
|
+
status: "passed",
|
|
195
|
+
summaryRows: [{ label: "Verifier", value: "pass", detail: ".ezcoder/goals/verifier.log" }],
|
|
196
|
+
},
|
|
197
|
+
queued: { kind: "queued", id: "queued-1", text: "next prompt with wrapping words" },
|
|
198
|
+
tool_start: {
|
|
199
|
+
kind: "tool_start",
|
|
200
|
+
id: "read-start",
|
|
201
|
+
toolCallId: "read-start",
|
|
202
|
+
name: "read",
|
|
203
|
+
args: { file_path: "src/a.ts" },
|
|
204
|
+
startedAt: 0,
|
|
205
|
+
animateUntil: 0,
|
|
206
|
+
},
|
|
207
|
+
tool_done: {
|
|
208
|
+
kind: "tool_done",
|
|
209
|
+
id: "read-done",
|
|
210
|
+
name: "read",
|
|
211
|
+
args: { file_path: "src/a.ts" },
|
|
212
|
+
result: "1\tconst a = 1;",
|
|
213
|
+
isError: false,
|
|
214
|
+
durationMs: 1000,
|
|
215
|
+
},
|
|
216
|
+
tool_group: {
|
|
217
|
+
kind: "tool_group",
|
|
218
|
+
id: "tool-group",
|
|
219
|
+
tools: [
|
|
220
|
+
{
|
|
221
|
+
toolCallId: "read-1",
|
|
222
|
+
name: "read",
|
|
223
|
+
args: { file_path: "src/a.ts" },
|
|
224
|
+
status: "done",
|
|
225
|
+
result: "ok",
|
|
226
|
+
},
|
|
227
|
+
],
|
|
228
|
+
},
|
|
229
|
+
server_tool_start: {
|
|
230
|
+
kind: "server_tool_start",
|
|
231
|
+
id: "server-start",
|
|
232
|
+
serverToolCallId: "server-start",
|
|
233
|
+
name: "web_search",
|
|
234
|
+
input: { query: "latest docs" },
|
|
235
|
+
startedAt: 0,
|
|
236
|
+
animateUntil: 0,
|
|
237
|
+
},
|
|
238
|
+
server_tool_done: {
|
|
239
|
+
kind: "server_tool_done",
|
|
240
|
+
id: "server-done",
|
|
241
|
+
name: "web_search",
|
|
242
|
+
input: { query: "latest docs" },
|
|
243
|
+
resultType: "search_result",
|
|
244
|
+
data: {},
|
|
245
|
+
durationMs: 2400,
|
|
246
|
+
},
|
|
247
|
+
subagent_group: {
|
|
248
|
+
kind: "subagent_group",
|
|
249
|
+
id: "subagent",
|
|
250
|
+
agents: [
|
|
251
|
+
{
|
|
252
|
+
toolCallId: "agent-1",
|
|
253
|
+
agentName: "bee",
|
|
254
|
+
task: "Inspect widgets",
|
|
255
|
+
status: "done",
|
|
256
|
+
toolUseCount: 2,
|
|
257
|
+
tokenUsage: { input: 1200, output: 300 },
|
|
258
|
+
durationMs: 1800,
|
|
259
|
+
},
|
|
260
|
+
],
|
|
261
|
+
},
|
|
262
|
+
style_pack: {
|
|
263
|
+
kind: "style_pack",
|
|
264
|
+
id: "style-pack",
|
|
265
|
+
added: ["typescript"],
|
|
266
|
+
showSetupHint: true,
|
|
267
|
+
},
|
|
268
|
+
setup_hint: { kind: "setup_hint", id: "setup-hint" },
|
|
269
|
+
update_notice: {
|
|
270
|
+
kind: "update_notice",
|
|
271
|
+
id: "update-notice",
|
|
272
|
+
text: "Ken just pushed a fresh update — 4.3.214 → 4.3.215! I'll grab it on next launch (or run npm install -g @prestyj/cli@latest if you can't wait).",
|
|
273
|
+
},
|
|
274
|
+
compacting: { kind: "compacting", id: "compacting" },
|
|
275
|
+
compacted: {
|
|
276
|
+
kind: "compacted",
|
|
277
|
+
id: "compacted",
|
|
278
|
+
originalCount: 279,
|
|
279
|
+
newCount: 39,
|
|
280
|
+
tokensBefore: 184000,
|
|
281
|
+
tokensAfter: 26000,
|
|
282
|
+
},
|
|
283
|
+
error: {
|
|
284
|
+
kind: "error",
|
|
285
|
+
id: "error",
|
|
286
|
+
headline: "Provider returned an error.",
|
|
287
|
+
message: "Rate limit exceeded.",
|
|
288
|
+
guidance: "Retry after a moment.",
|
|
289
|
+
},
|
|
290
|
+
info: { kind: "info", id: "info", text: "Configuration saved" },
|
|
291
|
+
plan_transition: { kind: "plan_transition", id: "plan", text: "Plan mode ON", active: true },
|
|
292
|
+
model_transition: { kind: "model_transition", id: "model", modelName: "Claude Sonnet" },
|
|
293
|
+
theme_transition: { kind: "theme_transition", id: "theme", themeName: "dark" },
|
|
294
|
+
plan_event: { kind: "plan_event", id: "plan-event", event: "approved", detail: "ship it" },
|
|
295
|
+
stopped: { kind: "stopped", id: "stopped", text: "Stopped" },
|
|
296
|
+
step_done: { kind: "step_done", id: "step-done", stepNum: 2, description: "Wire final renderer" },
|
|
297
|
+
duration: {
|
|
298
|
+
kind: "duration",
|
|
299
|
+
id: "duration",
|
|
300
|
+
durationMs: 123000,
|
|
301
|
+
toolsUsed: ["bash"],
|
|
302
|
+
verb: "Executed commands for",
|
|
303
|
+
},
|
|
304
|
+
session_summary: {
|
|
305
|
+
kind: "session_summary",
|
|
306
|
+
id: "session-summary",
|
|
307
|
+
summary: {
|
|
308
|
+
title: "EZ Coder is powering down. Goodbye!",
|
|
309
|
+
sessionId: "session.jsonl",
|
|
310
|
+
provider: "anthropic",
|
|
311
|
+
model: "claude-sonnet-4-5",
|
|
312
|
+
cwd: "/tmp/project",
|
|
313
|
+
wallDurationMs: 123000,
|
|
314
|
+
turns: 2,
|
|
315
|
+
usage: { inputTokens: 1000, outputTokens: 250, cacheRead: 50 },
|
|
316
|
+
tools: {
|
|
317
|
+
totalCalls: 2,
|
|
318
|
+
totalSuccess: 1,
|
|
319
|
+
totalFail: 1,
|
|
320
|
+
totalDurationMs: 3000,
|
|
321
|
+
byName: { bash: { calls: 2, success: 1, fail: 1, durationMs: 3000 } },
|
|
322
|
+
},
|
|
323
|
+
serverToolCalls: 0,
|
|
324
|
+
linesChanged: { added: 3, removed: 1 },
|
|
325
|
+
footer: "To resume this session: ezcoder --resume session.jsonl",
|
|
326
|
+
},
|
|
327
|
+
},
|
|
328
|
+
};
|
|
329
|
+
const supplementalParityCases = [
|
|
330
|
+
{
|
|
331
|
+
kind: "tool_start",
|
|
332
|
+
id: "bash-start",
|
|
333
|
+
toolCallId: "bash-start",
|
|
334
|
+
name: "bash",
|
|
335
|
+
args: { command: "printf hi" },
|
|
336
|
+
progressOutput: "first line\nsecond line",
|
|
337
|
+
startedAt: 0,
|
|
338
|
+
animateUntil: 0,
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
kind: "tool_done",
|
|
342
|
+
id: "bash-done",
|
|
343
|
+
name: "bash",
|
|
344
|
+
args: { command: "printf hi" },
|
|
345
|
+
result: "Exit code: 0\nhi",
|
|
346
|
+
isError: false,
|
|
347
|
+
durationMs: 1000,
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
kind: "tool_start",
|
|
351
|
+
id: "mcp-search-code-start",
|
|
352
|
+
toolCallId: "mcp-search-code-start",
|
|
353
|
+
name: "mcp__kencode-search__searchCode",
|
|
354
|
+
args: { query: "useState(", language: ["TypeScript"] },
|
|
355
|
+
startedAt: 0,
|
|
356
|
+
animateUntil: 0,
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
kind: "tool_done",
|
|
360
|
+
id: "mcp-search-code-done",
|
|
361
|
+
name: "mcp__kencode-search__searchCode",
|
|
362
|
+
args: { query: "useState(", language: ["TypeScript"] },
|
|
363
|
+
result: 'Repo: owner/project (★123, MIT)\nFile: src/App.tsx\nLink: https://github.com/owner/project/blob/main/src/App.tsx\n\n12 │ const [value, setValue] = useState("");',
|
|
364
|
+
isError: false,
|
|
365
|
+
durationMs: 1000,
|
|
366
|
+
},
|
|
367
|
+
];
|
|
368
|
+
const parityCases = [...Object.values(parityCaseByKind), ...supplementalParityCases];
|
|
369
|
+
describe("TUI live/history parity", () => {
|
|
370
|
+
it.each(parityCases.map((item) => [item.kind, item]))("keeps %s live rendering aligned with terminal history", (_kind, item) => {
|
|
371
|
+
const liveElement = liveElementFor(item);
|
|
372
|
+
expect(liveElement).not.toBeNull();
|
|
373
|
+
const liveLines = renderLive(liveElement);
|
|
374
|
+
const historyLines = renderHistory(item);
|
|
375
|
+
expect(normalizeParityLines(item.kind, liveLines), item.kind).toEqual(normalizeParityLines(item.kind, historyLines));
|
|
376
|
+
for (const line of liveLines) {
|
|
377
|
+
expect(stringWidth(line), `${item.kind}: ${line}`).toBeLessThanOrEqual(TERMINAL_COLUMNS);
|
|
378
|
+
}
|
|
379
|
+
});
|
|
380
|
+
});
|
|
381
|
+
//# sourceMappingURL=tui-history-parity.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tui-history-parity.test.js","sourceRoot":"","sources":["../../src/ui/tui-history-parity.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tui-simulation.test.d.ts","sourceRoot":"","sources":["../../src/ui/tui-simulation.test.tsx"],"names":[],"mappings":""}
|