@ashlr/hub 3.11.3 → 3.12.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.
Files changed (558) hide show
  1. package/CHANGELOG.md +104 -0
  2. package/README.md +44 -18
  3. package/dist/authority-surface.json +74 -59
  4. package/dist/build-identity.json +2 -2
  5. package/dist/cli/authority.d.ts +39 -0
  6. package/dist/cli/authority.js +222 -55
  7. package/dist/cli/authority.js.map +1 -1
  8. package/dist/cli/help.js +1 -1
  9. package/dist/cli/help.js.map +1 -1
  10. package/dist/cli/verse.d.ts +3 -0
  11. package/dist/cli/verse.js +10 -0
  12. package/dist/cli/verse.js.map +1 -1
  13. package/dist/core/authority/trust-roots.js +7 -1
  14. package/dist/core/authority/trust-roots.js.map +1 -1
  15. package/dist/core/authority/types.d.ts +2 -2
  16. package/dist/core/cloud/cloud-api.js +1 -1
  17. package/dist/core/cloud/cloud-api.js.map +1 -1
  18. package/dist/core/cloud/delivery-contract.d.ts +1 -1
  19. package/dist/core/cloud/delivery-contract.js +25 -15
  20. package/dist/core/cloud/delivery-contract.js.map +1 -1
  21. package/dist/core/cloud/store.js +6 -0
  22. package/dist/core/cloud/store.js.map +1 -1
  23. package/dist/core/cloud/tracker.d.ts +2 -0
  24. package/dist/core/cloud/tracker.js +140 -37
  25. package/dist/core/cloud/tracker.js.map +1 -1
  26. package/dist/core/cloud/types.d.ts +9 -1
  27. package/dist/core/cloud/types.js.map +1 -1
  28. package/dist/core/comms/dispatch.d.ts +5 -0
  29. package/dist/core/comms/dispatch.js +12 -1
  30. package/dist/core/comms/dispatch.js.map +1 -1
  31. package/dist/core/comms/requests.d.ts +27 -1
  32. package/dist/core/comms/requests.js +50 -1
  33. package/dist/core/comms/requests.js.map +1 -1
  34. package/dist/core/daemon/loop.d.ts +14 -0
  35. package/dist/core/daemon/loop.js +35 -0
  36. package/dist/core/daemon/loop.js.map +1 -1
  37. package/dist/core/fabric/claude-usage.js +23 -1
  38. package/dist/core/fabric/claude-usage.js.map +1 -1
  39. package/dist/core/fleet/dispatch-router.d.ts +7 -0
  40. package/dist/core/fleet/dispatch-router.js +4 -1
  41. package/dist/core/fleet/dispatch-router.js.map +1 -1
  42. package/dist/core/fleet/tick-hooks-live.d.ts +5 -1
  43. package/dist/core/fleet/tick-hooks-live.js +10 -1
  44. package/dist/core/fleet/tick-hooks-live.js.map +1 -1
  45. package/dist/core/local-runtime/llama/config.d.ts +14 -0
  46. package/dist/core/local-runtime/llama/config.js +20 -2
  47. package/dist/core/local-runtime/llama/config.js.map +1 -1
  48. package/dist/core/local-runtime/llama/process.d.ts +19 -0
  49. package/dist/core/local-runtime/llama/process.js +67 -17
  50. package/dist/core/local-runtime/llama/process.js.map +1 -1
  51. package/dist/core/local-runtime/llama/supervisor.js +14 -3
  52. package/dist/core/local-runtime/llama/supervisor.js.map +1 -1
  53. package/dist/core/observability/rollup.d.ts +12 -0
  54. package/dist/core/observability/rollup.js +37 -2
  55. package/dist/core/observability/rollup.js.map +1 -1
  56. package/dist/core/observability/usage-source.js +49 -1
  57. package/dist/core/observability/usage-source.js.map +1 -1
  58. package/dist/core/resources/connection-monitor.js +47 -4
  59. package/dist/core/resources/connection-monitor.js.map +1 -1
  60. package/dist/core/resources/engineering-mission-store.d.ts +1 -1
  61. package/dist/core/routing/headroom.js +7 -2
  62. package/dist/core/routing/headroom.js.map +1 -1
  63. package/dist/core/routing/router.d.ts +48 -0
  64. package/dist/core/routing/router.js +129 -13
  65. package/dist/core/routing/router.js.map +1 -1
  66. package/dist/core/run/best-of-n.d.ts +7 -0
  67. package/dist/core/run/best-of-n.js +3 -0
  68. package/dist/core/run/best-of-n.js.map +1 -1
  69. package/dist/core/run/harness-dispatch.d.ts +147 -0
  70. package/dist/core/run/harness-dispatch.js +234 -0
  71. package/dist/core/run/harness-dispatch.js.map +1 -0
  72. package/dist/core/run/orchestrator.js +3 -0
  73. package/dist/core/run/orchestrator.js.map +1 -1
  74. package/dist/core/run/provider-client.d.ts +8 -0
  75. package/dist/core/run/provider-client.js +4 -0
  76. package/dist/core/run/provider-client.js.map +1 -1
  77. package/dist/core/run/sandboxed-engine.d.ts +8 -0
  78. package/dist/core/run/sandboxed-engine.js +60 -7
  79. package/dist/core/run/sandboxed-engine.js.map +1 -1
  80. package/dist/core/types.d.ts +14 -0
  81. package/dist/core/types.js.map +1 -1
  82. package/dist/core/universe/builtins/preparation/manifest.json +1 -1
  83. package/dist/core/universe/builtins/preparation/preparation-bridge.mjs +188 -6
  84. package/dist/core/universe/builtins/preparation/preparation-verification-fixtures.mjs +187 -5
  85. package/dist/core/universe/firm-demo.d.ts +1 -1
  86. package/dist/core/universe/firm-graph.d.ts +2 -2
  87. package/dist/core/util/scrub.js +16 -3
  88. package/dist/core/util/scrub.js.map +1 -1
  89. package/dist/core/verse/accounts.d.ts +9 -1
  90. package/dist/core/verse/accounts.js +52 -11
  91. package/dist/core/verse/accounts.js.map +1 -1
  92. package/dist/core/verse/apps-api.d.ts +12 -0
  93. package/dist/core/verse/apps-api.js +22 -4
  94. package/dist/core/verse/apps-api.js.map +1 -1
  95. package/dist/core/verse/apps.js +22 -12
  96. package/dist/core/verse/apps.js.map +1 -1
  97. package/dist/core/verse/local-models.js +3 -7
  98. package/dist/core/verse/local-models.js.map +1 -1
  99. package/dist/core/verse/model-display-name.d.ts +34 -0
  100. package/dist/core/verse/model-display-name.js +125 -0
  101. package/dist/core/verse/model-display-name.js.map +1 -0
  102. package/dist/core/verse/seats.d.ts +11 -2
  103. package/dist/core/verse/seats.js +42 -18
  104. package/dist/core/verse/seats.js.map +1 -1
  105. package/dist/core/verse/transient-events.d.ts +21 -0
  106. package/dist/core/verse/transient-events.js +12 -0
  107. package/dist/core/verse/transient-events.js.map +1 -0
  108. package/dist/core/verse/types.d.ts +6 -13
  109. package/dist/core/verse/types.js +5 -36
  110. package/dist/core/verse/types.js.map +1 -1
  111. package/dist/core/web/public/next/assets/ActionMenu-B4-39f2S.js +2 -0
  112. package/dist/core/web/public/next/assets/{ActionMenu-FxXeRbPx.js.map → ActionMenu-B4-39f2S.js.map} +1 -1
  113. package/dist/core/web/public/next/assets/Advanced-B-LqYXvd.js +2 -0
  114. package/dist/core/web/public/next/assets/Advanced-B-LqYXvd.js.map +1 -0
  115. package/dist/core/web/public/next/assets/App-E2zCDRxm.js +7 -0
  116. package/dist/core/web/public/next/assets/App-E2zCDRxm.js.map +1 -0
  117. package/dist/core/web/public/next/assets/AppsSection-8wXPPhZb.js +2 -0
  118. package/dist/core/web/public/next/assets/AppsSection-8wXPPhZb.js.map +1 -0
  119. package/dist/core/web/public/next/assets/AreaTrend-BFimExYn.js +2 -0
  120. package/dist/core/web/public/next/assets/{AreaTrend-CDxrQU4b.js.map → AreaTrend-BFimExYn.js.map} +1 -1
  121. package/dist/core/web/public/next/assets/AutonomyOffState-B5eEkmiz.js +2 -0
  122. package/dist/core/web/public/next/assets/AutonomyOffState-B5eEkmiz.js.map +1 -0
  123. package/dist/core/web/public/next/assets/AutonomyOffState-DmbE71vI.css +1 -0
  124. package/dist/core/web/public/next/assets/AutonomySection-B46igJKR.js +2 -0
  125. package/dist/core/web/public/next/assets/{AutonomySection-DuQkHGD_.js.map → AutonomySection-B46igJKR.js.map} +1 -1
  126. package/dist/core/web/public/next/assets/BranchBar-BRkrEQGs.js +2 -0
  127. package/dist/core/web/public/next/assets/{BranchBar-CLsvOcyK.js.map → BranchBar-BRkrEQGs.js.map} +1 -1
  128. package/dist/core/web/public/next/assets/BudgetControl-T_RjPrw9.js +2 -0
  129. package/dist/core/web/public/next/assets/{BudgetControl-TL3FeZ1D.js.map → BudgetControl-T_RjPrw9.js.map} +1 -1
  130. package/dist/core/web/public/next/assets/{Button-HHXgoXGr.js → Button-BhO-WKPp.js} +2 -2
  131. package/dist/core/web/public/next/assets/{Button-HHXgoXGr.js.map → Button-BhO-WKPp.js.map} +1 -1
  132. package/dist/core/web/public/next/assets/CapacityStrip-CkFz5vq2.js +2 -0
  133. package/dist/core/web/public/next/assets/{CapacityStrip-qReu0RaF.js.map → CapacityStrip-CkFz5vq2.js.map} +1 -1
  134. package/dist/core/web/public/next/assets/{useChartWidth-BW6SwYIK.css → ChartFrame-BVuBe6RP.css} +1 -1
  135. package/dist/core/web/public/next/assets/ChartFrame-SygZ7B3x.js +2 -0
  136. package/dist/core/web/public/next/assets/ChartFrame-SygZ7B3x.js.map +1 -0
  137. package/dist/core/web/public/next/assets/ChatSection-D6WybBpB.js +3 -0
  138. package/dist/core/web/public/next/assets/ChatSection-D6WybBpB.js.map +1 -0
  139. package/dist/core/web/public/next/assets/CloudBudgetForm-Bd91iStN.js +2 -0
  140. package/dist/core/web/public/next/assets/CloudBudgetForm-Bd91iStN.js.map +1 -0
  141. package/dist/core/web/public/next/assets/CommandPalette-B6SgDJH-.js +2 -0
  142. package/dist/core/web/public/next/assets/CommandPalette-B6SgDJH-.js.map +1 -0
  143. package/dist/core/web/public/next/assets/CommandSection-CvAVd1w4.css +1 -0
  144. package/dist/core/web/public/next/assets/CommandSection-DgMGoepd.js +2 -0
  145. package/dist/core/web/public/next/assets/CommandSection-DgMGoepd.js.map +1 -0
  146. package/dist/core/web/public/next/assets/ConfirmDialog-Bv4hdK2T.js +2 -0
  147. package/dist/core/web/public/next/assets/{ConfirmDialog-DLrLKM0c.js.map → ConfirmDialog-Bv4hdK2T.js.map} +1 -1
  148. package/dist/core/web/public/next/assets/DeleteChatDialog-CH1Ix8Eh.js +2 -0
  149. package/dist/core/web/public/next/assets/DeleteChatDialog-CH1Ix8Eh.js.map +1 -0
  150. package/dist/core/web/public/next/assets/Dialog-BSsIFNqD.js +2 -0
  151. package/dist/core/web/public/next/assets/{Dialog-BS9Dxi3G.js.map → Dialog-BSsIFNqD.js.map} +1 -1
  152. package/dist/core/web/public/next/assets/DiffPane-BpNuJmth.js +2 -0
  153. package/dist/core/web/public/next/assets/{DiffPane-TOmUf3b2.js.map → DiffPane-BpNuJmth.js.map} +1 -1
  154. package/dist/core/web/public/next/assets/DiffViewer-CJarUvs0.js +2 -0
  155. package/dist/core/web/public/next/assets/{DiffViewer-BpH56302.js.map → DiffViewer-CJarUvs0.js.map} +1 -1
  156. package/dist/core/web/public/next/assets/DockHost-DW9q0NdR.js +2 -0
  157. package/dist/core/web/public/next/assets/DockHost-DW9q0NdR.js.map +1 -0
  158. package/dist/core/web/public/next/assets/{EmptyState-BqR5YAmf.js → EmptyState-DPrd2aak.js} +2 -2
  159. package/dist/core/web/public/next/assets/{EmptyState-BqR5YAmf.js.map → EmptyState-DPrd2aak.js.map} +1 -1
  160. package/dist/core/web/public/next/assets/{Epistemic-dhvDTwAZ.js → Epistemic-D7MxSmED.js} +2 -2
  161. package/dist/core/web/public/next/assets/{Epistemic-dhvDTwAZ.js.map → Epistemic-D7MxSmED.js.map} +1 -1
  162. package/dist/core/web/public/next/assets/FleetSection-BdZN6rGS.js +3 -0
  163. package/dist/core/web/public/next/assets/FleetSection-BdZN6rGS.js.map +1 -0
  164. package/dist/core/web/public/next/assets/Funnel-BeNQZWv2.js +2 -0
  165. package/dist/core/web/public/next/assets/{Funnel-D2u7Wlzc.js.map → Funnel-BeNQZWv2.js.map} +1 -1
  166. package/dist/core/web/public/next/assets/GearTray-CIPtzeIx.js +2 -0
  167. package/dist/core/web/public/next/assets/{GearTray-Cb2npoxM.js.map → GearTray-CIPtzeIx.js.map} +1 -1
  168. package/dist/core/web/public/next/assets/GrowthSection-iiQg6wvK.js +2 -0
  169. package/dist/core/web/public/next/assets/{GrowthSection-C5aDPs8B.js.map → GrowthSection-iiQg6wvK.js.map} +1 -1
  170. package/dist/core/web/public/next/assets/HandoffDialog-DrQ6ofuy.js +2 -0
  171. package/dist/core/web/public/next/assets/{HandoffDialog-BF3AYg-X.js.map → HandoffDialog-DrQ6ofuy.js.map} +1 -1
  172. package/dist/core/web/public/next/assets/Input-C0MQxEM6.js +2 -0
  173. package/dist/core/web/public/next/assets/{Input-B5dmGLZx.js.map → Input-C0MQxEM6.js.map} +1 -1
  174. package/dist/core/web/public/next/assets/LeaderCard-BRr3_yE-.js +2 -0
  175. package/dist/core/web/public/next/assets/LeaderCard-BRr3_yE-.js.map +1 -0
  176. package/dist/core/web/public/next/assets/MatrixHeatmap-DZvZeWXL.js +2 -0
  177. package/dist/core/web/public/next/assets/{MatrixHeatmap-BgEUs2Eu.js.map → MatrixHeatmap-DZvZeWXL.js.map} +1 -1
  178. package/dist/core/web/public/next/assets/McpSection-BRuCcTjT.js +2 -0
  179. package/dist/core/web/public/next/assets/{McpSection-DZkiOuoq.js.map → McpSection-BRuCcTjT.js.map} +1 -1
  180. package/dist/core/web/public/next/assets/MessageMarkdown-bRvD5nSc.js +3 -0
  181. package/dist/core/web/public/next/assets/{MessageMarkdown-BauY8ZTY.js.map → MessageMarkdown-bRvD5nSc.js.map} +1 -1
  182. package/dist/core/web/public/next/assets/{MessageMarkdownRenderer-DLBNLfsn.js → MessageMarkdownRenderer-FjjkPKA2.js} +4 -4
  183. package/dist/core/web/public/next/assets/{MessageMarkdownRenderer-DLBNLfsn.js.map → MessageMarkdownRenderer-FjjkPKA2.js.map} +1 -1
  184. package/dist/core/web/public/next/assets/{Meter-DNeocJnD.js → Meter-CFNLpwA-.js} +2 -2
  185. package/dist/core/web/public/next/assets/{Meter-DNeocJnD.js.map → Meter-CFNLpwA-.js.map} +1 -1
  186. package/dist/core/web/public/next/assets/MindSection-BTIiQS8P.js +2 -0
  187. package/dist/core/web/public/next/assets/MindSection-BTIiQS8P.js.map +1 -0
  188. package/dist/core/web/public/next/assets/MutationTokenDialog-T7gv3a9r.js +2 -0
  189. package/dist/core/web/public/next/assets/{MutationTokenDialog-mxrw0Yvy.js.map → MutationTokenDialog-T7gv3a9r.js.map} +1 -1
  190. package/dist/core/web/public/next/assets/NeedsYouDrawer-lYN4G_aM.js +2 -0
  191. package/dist/core/web/public/next/assets/{NeedsYouDrawer-CO-Balfp.js.map → NeedsYouDrawer-lYN4G_aM.js.map} +1 -1
  192. package/dist/core/web/public/next/assets/NeedsYouList-BgH8ezqf.js +2 -0
  193. package/dist/core/web/public/next/assets/{NeedsYouList-CzDZbzRD.js.map → NeedsYouList-BgH8ezqf.js.map} +1 -1
  194. package/dist/core/web/public/next/assets/NewChatDialog-Db5Xjrk8.js +3 -0
  195. package/dist/core/web/public/next/assets/NewChatDialog-Db5Xjrk8.js.map +1 -0
  196. package/dist/core/web/public/next/assets/OnboardingFlow-HUNQGQuU.css +1 -0
  197. package/dist/core/web/public/next/assets/OnboardingFlow-LoY-zuSe.js +2 -0
  198. package/dist/core/web/public/next/assets/OnboardingFlow-LoY-zuSe.js.map +1 -0
  199. package/dist/core/web/public/next/assets/OnboardingGate-C4VXn7BJ.js +3 -0
  200. package/dist/core/web/public/next/assets/OnboardingGate-C4VXn7BJ.js.map +1 -0
  201. package/dist/core/web/public/next/assets/PreviewPane-BPBbcROb.js +2 -0
  202. package/dist/core/web/public/next/assets/{PreviewPane-BS-CleCd.js.map → PreviewPane-BPBbcROb.js.map} +1 -1
  203. package/dist/core/web/public/next/assets/{ProviderLogo-C5mBg8i0.js → ProviderLogo-CT2cSfkg.js} +2 -2
  204. package/dist/core/web/public/next/assets/{ProviderLogo-C5mBg8i0.js.map → ProviderLogo-CT2cSfkg.js.map} +1 -1
  205. package/dist/core/web/public/next/assets/RailStatus-Vgl0GYtd.js +2 -0
  206. package/dist/core/web/public/next/assets/{RailStatus-cPRyOmrk.js.map → RailStatus-Vgl0GYtd.js.map} +1 -1
  207. package/dist/core/web/public/next/assets/{RefreshIndicator-CMwSCiz5.js → RefreshIndicator-CSyqpY_q.js} +2 -2
  208. package/dist/core/web/public/next/assets/{RefreshIndicator-CMwSCiz5.js.map → RefreshIndicator-CSyqpY_q.js.map} +1 -1
  209. package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-BFi1opsC.js → ResourcePoolConsoleApp-BX2nkdmZ.js} +4 -4
  210. package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-BFi1opsC.js.map → ResourcePoolConsoleApp-BX2nkdmZ.js.map} +1 -1
  211. package/dist/core/web/public/next/assets/ResourcesChrome-B2U2lO1H.js +3 -0
  212. package/dist/core/web/public/next/assets/ResourcesChrome-B2U2lO1H.js.map +1 -0
  213. package/dist/core/web/public/next/assets/ResourcesDrawer-BCFJ2Uq8.css +1 -0
  214. package/dist/core/web/public/next/assets/ResourcesDrawer-DlUKOjl9.js +2 -0
  215. package/dist/core/web/public/next/assets/ResourcesDrawer-DlUKOjl9.js.map +1 -0
  216. package/dist/core/web/public/next/assets/RouteErrorBoundary-BaC7YVzR.js +2 -0
  217. package/dist/core/web/public/next/assets/{RouteErrorBoundary-DYtwc2ja.js.map → RouteErrorBoundary-BaC7YVzR.js.map} +1 -1
  218. package/dist/core/web/public/next/assets/RunInCloudAction-D5PDHJPE.js +2 -0
  219. package/dist/core/web/public/next/assets/{RunInCloudAction-BEGEEM8O.js.map → RunInCloudAction-D5PDHJPE.js.map} +1 -1
  220. package/dist/core/web/public/next/assets/SeatSelector-Cg75LInq.js +3 -0
  221. package/dist/core/web/public/next/assets/{SeatSelector-CYHRR7Wp.js.map → SeatSelector-Cg75LInq.js.map} +1 -1
  222. package/dist/core/web/public/next/assets/Segmented-CametjLt.js +2 -0
  223. package/dist/core/web/public/next/assets/{Segmented-BE53BenI.js.map → Segmented-CametjLt.js.map} +1 -1
  224. package/dist/core/web/public/next/assets/Select-De52fghU.js +2 -0
  225. package/dist/core/web/public/next/assets/{Select-BwSGkHCS.js.map → Select-De52fghU.js.map} +1 -1
  226. package/dist/core/web/public/next/assets/SessionGate-CzlcNq3O.js +2 -0
  227. package/dist/core/web/public/next/assets/{SessionGate-e0dFJm9d.js.map → SessionGate-CzlcNq3O.js.map} +1 -1
  228. package/dist/core/web/public/next/assets/SessionInsightChip-Bk_Owa7u.js +2 -0
  229. package/dist/core/web/public/next/assets/{SessionInsightChip-CxlSyueJ.js.map → SessionInsightChip-Bk_Owa7u.js.map} +1 -1
  230. package/dist/core/web/public/next/assets/SessionSearch-C6C8DHN8.js +2 -0
  231. package/dist/core/web/public/next/assets/{SessionSearch-_yp7S2TP.js.map → SessionSearch-C6C8DHN8.js.map} +1 -1
  232. package/dist/core/web/public/next/assets/SettingsSection-mI9wQYZg.js +2 -0
  233. package/dist/core/web/public/next/assets/SettingsSection-mI9wQYZg.js.map +1 -0
  234. package/dist/core/web/public/next/assets/Sheet-CJhK9Dqv.js +2 -0
  235. package/dist/core/web/public/next/assets/{Sheet-DVP2Mgy6.js.map → Sheet-CJhK9Dqv.js.map} +1 -1
  236. package/dist/core/web/public/next/assets/ShortcutsOverlay-DDW-i9Fc.js +2 -0
  237. package/dist/core/web/public/next/assets/{ShortcutsOverlay-BcIcoClX.js.map → ShortcutsOverlay-DDW-i9Fc.js.map} +1 -1
  238. package/dist/core/web/public/next/assets/Sidebar-DT7ykaqS.js +3 -0
  239. package/dist/core/web/public/next/assets/Sidebar-DT7ykaqS.js.map +1 -0
  240. package/dist/core/web/public/next/assets/Slider-Bwd9HfXl.js +2 -0
  241. package/dist/core/web/public/next/assets/{Slider-BypUWjpH.js.map → Slider-Bwd9HfXl.js.map} +1 -1
  242. package/dist/core/web/public/next/assets/StatTile-DPZ5yyaU.js +2 -0
  243. package/dist/core/web/public/next/assets/StatTile-DPZ5yyaU.js.map +1 -0
  244. package/dist/core/web/public/next/assets/{StatusBadge-HCZp416_.js → StatusBadge-DHKRtttH.js} +2 -2
  245. package/dist/core/web/public/next/assets/{StatusBadge-HCZp416_.js.map → StatusBadge-DHKRtttH.js.map} +1 -1
  246. package/dist/core/web/public/next/assets/StepBand-DQykLkk_.js +2 -0
  247. package/dist/core/web/public/next/assets/{StepBand-Duz1PUes.js.map → StepBand-DQykLkk_.js.map} +1 -1
  248. package/dist/core/web/public/next/assets/Surface-D--LXgQm.js +2 -0
  249. package/dist/core/web/public/next/assets/Surface-D--LXgQm.js.map +1 -0
  250. package/dist/core/web/public/next/assets/Surface-e1z6GdZt.css +1 -0
  251. package/dist/core/web/public/next/assets/Swimlane-BzH6OCee.js +2 -0
  252. package/dist/core/web/public/next/assets/{Swimlane-DGcIcnNA.js.map → Swimlane-BzH6OCee.js.map} +1 -1
  253. package/dist/core/web/public/next/assets/{Switch-iveI-8NY.js → Switch-PMixU6b0.js} +2 -2
  254. package/dist/core/web/public/next/assets/{Switch-iveI-8NY.js.map → Switch-PMixU6b0.js.map} +1 -1
  255. package/dist/core/web/public/next/assets/{Tag-DH15CUJp.js → Tag-fordBsrJ.js} +2 -2
  256. package/dist/core/web/public/next/assets/{Tag-DH15CUJp.js.map → Tag-fordBsrJ.js.map} +1 -1
  257. package/dist/core/web/public/next/assets/TerminalPane-BSnGdUuF.js +7 -0
  258. package/dist/core/web/public/next/assets/TerminalPane-BSnGdUuF.js.map +1 -0
  259. package/dist/core/web/public/next/assets/UniverseConsoleApp-DtXFhAhw.js +2 -0
  260. package/dist/core/web/public/next/assets/{UniverseConsoleApp-C8yQ0AaR.js.map → UniverseConsoleApp-DtXFhAhw.js.map} +1 -1
  261. package/dist/core/web/public/next/assets/{UniverseView-_nPURPqe.js → UniverseView-sWm3pnTW.js} +3 -3
  262. package/dist/core/web/public/next/assets/{UniverseView-_nPURPqe.js.map → UniverseView-sWm3pnTW.js.map} +1 -1
  263. package/dist/core/web/public/next/assets/UsageSection-CiD1DbuF.js +3 -0
  264. package/dist/core/web/public/next/assets/UsageSection-CiD1DbuF.js.map +1 -0
  265. package/dist/core/web/public/next/assets/VerseConsoleApp-BCY5uSok.js +3 -0
  266. package/dist/core/web/public/next/assets/VerseConsoleApp-BCY5uSok.js.map +1 -0
  267. package/dist/core/web/public/next/assets/Workspace-BQSZFSeO.js +10 -0
  268. package/dist/core/web/public/next/assets/Workspace-BQSZFSeO.js.map +1 -0
  269. package/dist/core/web/public/next/assets/actions-BmIf9avl.css +1 -0
  270. package/dist/core/web/public/next/assets/actions-Ci6I4C0l.js +2 -0
  271. package/dist/core/web/public/next/assets/actions-Ci6I4C0l.js.map +1 -0
  272. package/dist/core/web/public/next/assets/apps-model-DlwnfqwJ.js +2 -0
  273. package/dist/core/web/public/next/assets/apps-model-DlwnfqwJ.js.map +1 -0
  274. package/dist/core/web/public/next/assets/authority-model-BFuPezSo.js +2 -0
  275. package/dist/core/web/public/next/assets/authority-model-BFuPezSo.js.map +1 -0
  276. package/dist/core/web/public/next/assets/binding-left-DZpq5sLf.js +2 -0
  277. package/dist/core/web/public/next/assets/binding-left-DZpq5sLf.js.map +1 -0
  278. package/dist/core/web/public/next/assets/{budget-queries-V3wcJVK_.js → budget-queries-DsAjH8ac.js} +2 -2
  279. package/dist/core/web/public/next/assets/{budget-queries-V3wcJVK_.js.map → budget-queries-DsAjH8ac.js.map} +1 -1
  280. package/dist/core/web/public/next/assets/capacity-strip-model-Dn1cNOhz.js +2 -0
  281. package/dist/core/web/public/next/assets/capacity-strip-model-Dn1cNOhz.js.map +1 -0
  282. package/dist/core/web/public/next/assets/charts-C_xJbJiw.js +2 -0
  283. package/dist/core/web/public/next/assets/charts-C_xJbJiw.js.map +1 -0
  284. package/dist/core/web/public/next/assets/charts-DhKTrQLw.css +1 -0
  285. package/dist/core/web/public/next/assets/clipboard-DkZdqlxf.js +2 -0
  286. package/dist/core/web/public/next/assets/clipboard-DkZdqlxf.js.map +1 -0
  287. package/dist/core/web/public/next/assets/cloud-D-HXms6q.css +1 -0
  288. package/dist/core/web/public/next/assets/cloud-model-CX407gPY.js +2 -0
  289. package/dist/core/web/public/next/assets/cloud-model-CX407gPY.js.map +1 -0
  290. package/dist/core/web/public/next/assets/cloud-queries-QAhpExlz.js +2 -0
  291. package/dist/core/web/public/next/assets/cloud-queries-QAhpExlz.js.map +1 -0
  292. package/dist/core/web/public/next/assets/cloud.module-DOP-N4Ch.js +2 -0
  293. package/dist/core/web/public/next/assets/cloud.module-DOP-N4Ch.js.map +1 -0
  294. package/dist/core/web/public/next/assets/command-catalog-CF0cQQac.js +2 -0
  295. package/dist/core/web/public/next/assets/command-catalog-CF0cQQac.js.map +1 -0
  296. package/dist/core/web/public/next/assets/context-model-Co4wh3SM.js +2 -0
  297. package/dist/core/web/public/next/assets/context-model-Co4wh3SM.js.map +1 -0
  298. package/dist/core/web/public/next/assets/context-model-DV1zCfAm.js +3 -0
  299. package/dist/core/web/public/next/assets/context-model-DV1zCfAm.js.map +1 -0
  300. package/dist/core/web/public/next/assets/{context-queries-CrPcHWTz.js → context-queries-CktFQqSS.js} +2 -2
  301. package/dist/core/web/public/next/assets/{context-queries-CrPcHWTz.js.map → context-queries-CktFQqSS.js.map} +1 -1
  302. package/dist/core/web/public/next/assets/{control-queries-CmgBgKV7.js → control-queries-DAvlh_YM.js} +2 -2
  303. package/dist/core/web/public/next/assets/{control-queries-CmgBgKV7.js.map → control-queries-DAvlh_YM.js.map} +1 -1
  304. package/dist/core/web/public/next/assets/copy-setup-CqRSfELB.js +2 -0
  305. package/dist/core/web/public/next/assets/copy-setup-CqRSfELB.js.map +1 -0
  306. package/dist/core/web/public/next/assets/dock-icons-BFuBbqJl.js +2 -0
  307. package/dist/core/web/public/next/assets/{dock-icons-CUh8dOxJ.js.map → dock-icons-BFuBbqJl.js.map} +1 -1
  308. package/dist/core/web/public/next/assets/fleet-model-Dfd5JyLR.js +2 -0
  309. package/dist/core/web/public/next/assets/fleet-model-Dfd5JyLR.js.map +1 -0
  310. package/dist/core/web/public/next/assets/fleet-queries-RtMTd5rR.js +2 -0
  311. package/dist/core/web/public/next/assets/fleet-queries-RtMTd5rR.js.map +1 -0
  312. package/dist/core/web/public/next/assets/{focus-trap-HtcoXeEq.js → focus-trap-BdrbWfC4.js} +2 -2
  313. package/dist/core/web/public/next/assets/{focus-trap-HtcoXeEq.js.map → focus-trap-BdrbWfC4.js.map} +1 -1
  314. package/dist/core/web/public/next/assets/format-Dk4Fmxax.js +2 -0
  315. package/dist/core/web/public/next/assets/format-Dk4Fmxax.js.map +1 -0
  316. package/dist/core/web/public/next/assets/{git-model-bk_RXh3y.js → git-model-_BnI_Ogh.js} +2 -2
  317. package/dist/core/web/public/next/assets/{git-model-bk_RXh3y.js.map → git-model-_BnI_Ogh.js.map} +1 -1
  318. package/dist/core/web/public/next/assets/global-CNNGMril.js +2 -0
  319. package/dist/core/web/public/next/assets/{global-oEl9Qj8u.js.map → global-CNNGMril.js.map} +1 -1
  320. package/dist/core/web/public/next/assets/{guarded-runners-LHLXmXIk.js → guarded-runners-DPh2d32e.js} +2 -2
  321. package/dist/core/web/public/next/assets/{guarded-runners-LHLXmXIk.js.map → guarded-runners-DPh2d32e.js.map} +1 -1
  322. package/dist/core/web/public/next/assets/icons-0haWy6nh.js +2 -0
  323. package/dist/core/web/public/next/assets/icons-0haWy6nh.js.map +1 -0
  324. package/dist/core/web/public/next/assets/{index-BVxOlseC.js → index-QesfXBsb.js} +3 -3
  325. package/dist/core/web/public/next/assets/{index-BVxOlseC.js.map → index-QesfXBsb.js.map} +1 -1
  326. package/dist/core/web/public/next/assets/live-model-De-q0ZFK.js +2 -0
  327. package/dist/core/web/public/next/assets/live-model-De-q0ZFK.js.map +1 -0
  328. package/dist/core/web/public/next/assets/local-model-C9xNi9fN.js +2 -0
  329. package/dist/core/web/public/next/assets/local-model-C9xNi9fN.js.map +1 -0
  330. package/dist/core/web/public/next/assets/mind.module-BrK2nFOL.js +2 -0
  331. package/dist/core/web/public/next/assets/{mind.module-gTGAuJt1.js.map → mind.module-BrK2nFOL.js.map} +1 -1
  332. package/dist/core/web/public/next/assets/mutations-DTCtKCn_.js +2 -0
  333. package/dist/core/web/public/next/assets/{mutations-C5S7okTW.js.map → mutations-DTCtKCn_.js.map} +1 -1
  334. package/dist/core/web/public/next/assets/nav-KmGX0CVz.js +2 -0
  335. package/dist/core/web/public/next/assets/{nav-NVtnuG7A.js.map → nav-KmGX0CVz.js.map} +1 -1
  336. package/dist/core/web/public/next/assets/{overnight-queries-DGm3qL1b.js → overnight-queries-mlO0xzsr.js} +2 -2
  337. package/dist/core/web/public/next/assets/{overnight-queries-DGm3qL1b.js.map → overnight-queries-mlO0xzsr.js.map} +1 -1
  338. package/dist/core/web/public/next/assets/primitives-D0Fb3TtS.js +1 -0
  339. package/dist/core/web/public/next/assets/{queries-CYisSAAB.js → queries-CyBE8nsW.js} +2 -2
  340. package/dist/core/web/public/next/assets/{queries-CYisSAAB.js.map → queries-CyBE8nsW.js.map} +1 -1
  341. package/dist/core/web/public/next/assets/reasoning-pref-CaoA4_Vl.js +2 -0
  342. package/dist/core/web/public/next/assets/{reasoning-pref-BUcFF_5G.js.map → reasoning-pref-CaoA4_Vl.js.map} +1 -1
  343. package/dist/core/web/public/next/assets/{reveal-anchor-D-tV8xau.js → reveal-anchor-BP1VqnPU.js} +2 -2
  344. package/dist/core/web/public/next/assets/{reveal-anchor-D-tV8xau.js.map → reveal-anchor-BP1VqnPU.js.map} +1 -1
  345. package/dist/core/web/public/next/assets/seat-subscription-C5Tvr0WQ.js +2 -0
  346. package/dist/core/web/public/next/assets/{seat-subscription-B-f9ViU2.js.map → seat-subscription-C5Tvr0WQ.js.map} +1 -1
  347. package/dist/core/web/public/next/assets/{sidebar-model-DQ-FyBHW.js → sidebar-model-B5Qk95k_.js} +2 -2
  348. package/dist/core/web/public/next/assets/{sidebar-model-DQ-FyBHW.js.map → sidebar-model-B5Qk95k_.js.map} +1 -1
  349. package/dist/core/web/public/next/assets/slots-DHKQDoE6.js +3 -0
  350. package/dist/core/web/public/next/assets/{slots-BhP8b8tf.js.map → slots-DHKQDoE6.js.map} +1 -1
  351. package/dist/core/web/public/next/assets/surface-data-CchClvHo.js +2 -0
  352. package/dist/core/web/public/next/assets/surface-data-CchClvHo.js.map +1 -0
  353. package/dist/core/web/public/next/assets/surface-prefetch-BWr0LBQn.js +2 -0
  354. package/dist/core/web/public/next/assets/surface-prefetch-BWr0LBQn.js.map +1 -0
  355. package/dist/core/web/public/next/assets/{tasks-model-BKDNqmmt.js → tasks-model-D6WFVULI.js} +2 -2
  356. package/dist/core/web/public/next/assets/{tasks-model-BKDNqmmt.js.map → tasks-model-D6WFVULI.js.map} +1 -1
  357. package/dist/core/web/public/next/assets/{terminal-icons-D2xe-aM1.js → terminal-icons-BvCvuXk2.js} +2 -2
  358. package/dist/core/web/public/next/assets/{terminal-icons-D2xe-aM1.js.map → terminal-icons-BvCvuXk2.js.map} +1 -1
  359. package/dist/core/web/public/next/assets/transient-events-nTLhMBND.js +2 -0
  360. package/dist/core/web/public/next/assets/transient-events-nTLhMBND.js.map +1 -0
  361. package/dist/core/web/public/next/assets/types-D5XOdyw8.js.map +1 -1
  362. package/dist/core/web/public/next/assets/{usage-queries-BZuAANlI.js → usage-queries-D1SU1t7r.js} +2 -2
  363. package/dist/core/web/public/next/assets/{usage-queries-BZuAANlI.js.map → usage-queries-D1SU1t7r.js.map} +1 -1
  364. package/dist/core/web/public/next/assets/{use-guarded-action-Cf4MeNBa.js → use-guarded-action-BZmBv7CJ.js} +2 -2
  365. package/dist/core/web/public/next/assets/{use-guarded-action-Cf4MeNBa.js.map → use-guarded-action-BZmBv7CJ.js.map} +1 -1
  366. package/dist/core/web/public/next/assets/{use-ticker-D9yi49my.js → use-ticker-CkJ4-0wU.js} +2 -2
  367. package/dist/core/web/public/next/assets/{use-ticker-D9yi49my.js.map → use-ticker-CkJ4-0wU.js.map} +1 -1
  368. package/dist/core/web/public/next/assets/{use-token-gate-DqrSXdX6.js → use-token-gate-CYcfk_GS.js} +2 -2
  369. package/dist/core/web/public/next/assets/{use-token-gate-DqrSXdX6.js.map → use-token-gate-CYcfk_GS.js.map} +1 -1
  370. package/dist/core/web/public/next/assets/useOnboarding-CujRS6PK.js +2 -0
  371. package/dist/core/web/public/next/assets/useOnboarding-CujRS6PK.js.map +1 -0
  372. package/dist/core/web/public/next/assets/useSeatsRefresh-BEaQdkZs.js +2 -0
  373. package/dist/core/web/public/next/assets/useSeatsRefresh-BEaQdkZs.js.map +1 -0
  374. package/dist/core/web/public/next/assets/useVerseTranscript-BQ0J6Xhx.js +2 -0
  375. package/dist/core/web/public/next/assets/{useVerseTranscript-CDYrrWOO.js.map → useVerseTranscript-BQ0J6Xhx.js.map} +1 -1
  376. package/dist/core/web/public/next/assets/verse-icons-DndgEgKS.js +2 -0
  377. package/dist/core/web/public/next/assets/verse-icons-DndgEgKS.js.map +1 -0
  378. package/dist/core/web/public/next/assets/verse-model-MMySehjj.js +2 -0
  379. package/dist/core/web/public/next/assets/verse-model-MMySehjj.js.map +1 -0
  380. package/dist/core/web/public/next/assets/verse-store-DNVRuiJL.js +2 -0
  381. package/dist/core/web/public/next/assets/verse-store-DNVRuiJL.js.map +1 -0
  382. package/dist/core/web/public/next/assets/warmup-CNEH_-be.js +3 -0
  383. package/dist/core/web/public/next/assets/{warmup-HG5vYbsN.js.map → warmup-CNEH_-be.js.map} +1 -1
  384. package/dist/core/web/public/next/assets/why-seat-model-jlDTwYSc.js +2 -0
  385. package/dist/core/web/public/next/assets/why-seat-model-jlDTwYSc.js.map +1 -0
  386. package/dist/core/web/public/next/assets/{workspace-model-CbhdPhei.js → workspace-model-Dukb2wwv.js} +2 -2
  387. package/dist/core/web/public/next/assets/{workspace-model-CbhdPhei.js.map → workspace-model-Dukb2wwv.js.map} +1 -1
  388. package/dist/core/web/public/next/index.html +1 -1
  389. package/dist/release-dependency-inventory.json +1 -1
  390. package/docs/README.md +2 -1
  391. package/package.json +1 -1
  392. package/dist/core/web/public/next/assets/ActionMenu-FxXeRbPx.js +0 -2
  393. package/dist/core/web/public/next/assets/Advanced-D_eS4472.js +0 -2
  394. package/dist/core/web/public/next/assets/Advanced-D_eS4472.js.map +0 -1
  395. package/dist/core/web/public/next/assets/App-Cj4zKbG3.js +0 -7
  396. package/dist/core/web/public/next/assets/App-Cj4zKbG3.js.map +0 -1
  397. package/dist/core/web/public/next/assets/AppsSection-Ddu_RCQE.js +0 -2
  398. package/dist/core/web/public/next/assets/AppsSection-Ddu_RCQE.js.map +0 -1
  399. package/dist/core/web/public/next/assets/AreaTrend-CDxrQU4b.js +0 -2
  400. package/dist/core/web/public/next/assets/AutonomySection-DuQkHGD_.js +0 -2
  401. package/dist/core/web/public/next/assets/BranchBar-CLsvOcyK.js +0 -2
  402. package/dist/core/web/public/next/assets/BudgetControl-TL3FeZ1D.js +0 -2
  403. package/dist/core/web/public/next/assets/BurnDown-sFXkUGdB.js +0 -2
  404. package/dist/core/web/public/next/assets/BurnDown-sFXkUGdB.js.map +0 -1
  405. package/dist/core/web/public/next/assets/CapacityStrip-qReu0RaF.js +0 -2
  406. package/dist/core/web/public/next/assets/ChatSection-DZuZfTaC.js +0 -3
  407. package/dist/core/web/public/next/assets/ChatSection-DZuZfTaC.js.map +0 -1
  408. package/dist/core/web/public/next/assets/CloudBudgetForm-DJbiT1wi.js +0 -2
  409. package/dist/core/web/public/next/assets/CloudBudgetForm-DJbiT1wi.js.map +0 -1
  410. package/dist/core/web/public/next/assets/CommandPalette-zYLFZRnj.js +0 -2
  411. package/dist/core/web/public/next/assets/CommandPalette-zYLFZRnj.js.map +0 -1
  412. package/dist/core/web/public/next/assets/CommandSection-rIeMK5Ch.js +0 -2
  413. package/dist/core/web/public/next/assets/CommandSection-rIeMK5Ch.js.map +0 -1
  414. package/dist/core/web/public/next/assets/ConfirmDialog-DLrLKM0c.js +0 -2
  415. package/dist/core/web/public/next/assets/Dialog-BS9Dxi3G.js +0 -2
  416. package/dist/core/web/public/next/assets/DiffPane-TOmUf3b2.js +0 -2
  417. package/dist/core/web/public/next/assets/DiffViewer-BpH56302.js +0 -2
  418. package/dist/core/web/public/next/assets/DockHost-DzkzR-HD.js +0 -2
  419. package/dist/core/web/public/next/assets/DockHost-DzkzR-HD.js.map +0 -1
  420. package/dist/core/web/public/next/assets/FleetSection-ViAb549H.js +0 -3
  421. package/dist/core/web/public/next/assets/FleetSection-ViAb549H.js.map +0 -1
  422. package/dist/core/web/public/next/assets/Funnel-D2u7Wlzc.js +0 -2
  423. package/dist/core/web/public/next/assets/GearTray-Cb2npoxM.js +0 -2
  424. package/dist/core/web/public/next/assets/GrowthSection-C5aDPs8B.js +0 -2
  425. package/dist/core/web/public/next/assets/HandoffDialog-BF3AYg-X.js +0 -2
  426. package/dist/core/web/public/next/assets/Input-B5dmGLZx.js +0 -2
  427. package/dist/core/web/public/next/assets/LeaderCard-DZrmjDbI.js +0 -2
  428. package/dist/core/web/public/next/assets/LeaderCard-DZrmjDbI.js.map +0 -1
  429. package/dist/core/web/public/next/assets/MatrixHeatmap-BgEUs2Eu.js +0 -2
  430. package/dist/core/web/public/next/assets/McpSection-DZkiOuoq.js +0 -2
  431. package/dist/core/web/public/next/assets/MessageMarkdown-BauY8ZTY.js +0 -3
  432. package/dist/core/web/public/next/assets/MindSection-BvJXFjyX.js +0 -2
  433. package/dist/core/web/public/next/assets/MindSection-BvJXFjyX.js.map +0 -1
  434. package/dist/core/web/public/next/assets/MutationTokenDialog-mxrw0Yvy.js +0 -2
  435. package/dist/core/web/public/next/assets/NeedsYouDrawer-CO-Balfp.js +0 -2
  436. package/dist/core/web/public/next/assets/NeedsYouList-CzDZbzRD.js +0 -2
  437. package/dist/core/web/public/next/assets/NewChatDialog-B8eJjlFf.js +0 -3
  438. package/dist/core/web/public/next/assets/NewChatDialog-B8eJjlFf.js.map +0 -1
  439. package/dist/core/web/public/next/assets/OnboardingFlow-Cij6KWat.js +0 -2
  440. package/dist/core/web/public/next/assets/OnboardingFlow-Cij6KWat.js.map +0 -1
  441. package/dist/core/web/public/next/assets/OnboardingFlow-DSpPj8UE.css +0 -1
  442. package/dist/core/web/public/next/assets/PreviewPane-BS-CleCd.js +0 -2
  443. package/dist/core/web/public/next/assets/RailStatus-cPRyOmrk.js +0 -2
  444. package/dist/core/web/public/next/assets/ResourcesChrome-BJCauW_t.js +0 -3
  445. package/dist/core/web/public/next/assets/ResourcesChrome-BJCauW_t.js.map +0 -1
  446. package/dist/core/web/public/next/assets/ResourcesDrawer-BDecg6nO.js +0 -2
  447. package/dist/core/web/public/next/assets/ResourcesDrawer-BDecg6nO.js.map +0 -1
  448. package/dist/core/web/public/next/assets/ResourcesDrawer-CSKIO_wZ.css +0 -1
  449. package/dist/core/web/public/next/assets/RouteErrorBoundary-DYtwc2ja.js +0 -2
  450. package/dist/core/web/public/next/assets/RunInCloudAction-BEGEEM8O.js +0 -2
  451. package/dist/core/web/public/next/assets/SeatSelector-CYHRR7Wp.js +0 -3
  452. package/dist/core/web/public/next/assets/Segmented-BE53BenI.js +0 -2
  453. package/dist/core/web/public/next/assets/Select-BwSGkHCS.js +0 -2
  454. package/dist/core/web/public/next/assets/SessionGate-e0dFJm9d.js +0 -2
  455. package/dist/core/web/public/next/assets/SessionInsightChip-CxlSyueJ.js +0 -2
  456. package/dist/core/web/public/next/assets/SessionSearch-_yp7S2TP.js +0 -2
  457. package/dist/core/web/public/next/assets/SettingsSection-wGnpWeGW.js +0 -2
  458. package/dist/core/web/public/next/assets/SettingsSection-wGnpWeGW.js.map +0 -1
  459. package/dist/core/web/public/next/assets/Sheet-DVP2Mgy6.js +0 -2
  460. package/dist/core/web/public/next/assets/ShortcutsOverlay-BcIcoClX.js +0 -2
  461. package/dist/core/web/public/next/assets/Sidebar-DjQOqPbm.js +0 -3
  462. package/dist/core/web/public/next/assets/Sidebar-DjQOqPbm.js.map +0 -1
  463. package/dist/core/web/public/next/assets/Slider-BypUWjpH.js +0 -2
  464. package/dist/core/web/public/next/assets/StepBand-Duz1PUes.js +0 -2
  465. package/dist/core/web/public/next/assets/Surface-B75lVfzm.js +0 -2
  466. package/dist/core/web/public/next/assets/Surface-B75lVfzm.js.map +0 -1
  467. package/dist/core/web/public/next/assets/Surface-DMca0gAe.css +0 -1
  468. package/dist/core/web/public/next/assets/Swimlane-DGcIcnNA.js +0 -2
  469. package/dist/core/web/public/next/assets/TerminalPane-MQT-veKZ.js +0 -7
  470. package/dist/core/web/public/next/assets/TerminalPane-MQT-veKZ.js.map +0 -1
  471. package/dist/core/web/public/next/assets/UniverseConsoleApp-C8yQ0AaR.js +0 -2
  472. package/dist/core/web/public/next/assets/UsageSection-CqxRGJ40.js +0 -2
  473. package/dist/core/web/public/next/assets/UsageSection-CqxRGJ40.js.map +0 -1
  474. package/dist/core/web/public/next/assets/VerseConsoleApp-DTjDpGCd.js +0 -3
  475. package/dist/core/web/public/next/assets/VerseConsoleApp-DTjDpGCd.js.map +0 -1
  476. package/dist/core/web/public/next/assets/Workspace-DfcFGzME.js +0 -10
  477. package/dist/core/web/public/next/assets/Workspace-DfcFGzME.js.map +0 -1
  478. package/dist/core/web/public/next/assets/actions-Ddfg2iLl.css +0 -1
  479. package/dist/core/web/public/next/assets/actions-tWevL9HV.js +0 -2
  480. package/dist/core/web/public/next/assets/actions-tWevL9HV.js.map +0 -1
  481. package/dist/core/web/public/next/assets/apps-model-CDFvmsQV.js +0 -2
  482. package/dist/core/web/public/next/assets/apps-model-CDFvmsQV.js.map +0 -1
  483. package/dist/core/web/public/next/assets/capacity-strip-model-BDbmQ3e3.js +0 -2
  484. package/dist/core/web/public/next/assets/capacity-strip-model-BDbmQ3e3.js.map +0 -1
  485. package/dist/core/web/public/next/assets/charts-CfAjuKMv.js +0 -2
  486. package/dist/core/web/public/next/assets/charts-CfAjuKMv.js.map +0 -1
  487. package/dist/core/web/public/next/assets/charts-uSX6xVYN.css +0 -1
  488. package/dist/core/web/public/next/assets/cloud-C1KPNRHC.css +0 -1
  489. package/dist/core/web/public/next/assets/cloud-queries-Br_r0UAz.js +0 -2
  490. package/dist/core/web/public/next/assets/cloud-queries-Br_r0UAz.js.map +0 -1
  491. package/dist/core/web/public/next/assets/cloud.module-ascz58c3.js +0 -2
  492. package/dist/core/web/public/next/assets/cloud.module-ascz58c3.js.map +0 -1
  493. package/dist/core/web/public/next/assets/command-bus-xYZoK9nQ.js +0 -2
  494. package/dist/core/web/public/next/assets/command-bus-xYZoK9nQ.js.map +0 -1
  495. package/dist/core/web/public/next/assets/command-catalog-Bb_PxC5w.js +0 -2
  496. package/dist/core/web/public/next/assets/command-catalog-Bb_PxC5w.js.map +0 -1
  497. package/dist/core/web/public/next/assets/composer-keys-su0g1h9o.js +0 -2
  498. package/dist/core/web/public/next/assets/composer-keys-su0g1h9o.js.map +0 -1
  499. package/dist/core/web/public/next/assets/context-model-BC-HOmPo.js +0 -2
  500. package/dist/core/web/public/next/assets/context-model-BC-HOmPo.js.map +0 -1
  501. package/dist/core/web/public/next/assets/context-model-CIBmSugV.js +0 -2
  502. package/dist/core/web/public/next/assets/context-model-CIBmSugV.js.map +0 -1
  503. package/dist/core/web/public/next/assets/dark-since-DOMvtB_G.js +0 -2
  504. package/dist/core/web/public/next/assets/dark-since-DOMvtB_G.js.map +0 -1
  505. package/dist/core/web/public/next/assets/dock-icons-CUh8dOxJ.js +0 -2
  506. package/dist/core/web/public/next/assets/dock-store-B2vlxqPu.js +0 -2
  507. package/dist/core/web/public/next/assets/dock-store-B2vlxqPu.js.map +0 -1
  508. package/dist/core/web/public/next/assets/fleet-model-7i-FbzKI.js +0 -2
  509. package/dist/core/web/public/next/assets/fleet-model-7i-FbzKI.js.map +0 -1
  510. package/dist/core/web/public/next/assets/fleet-queries-DzGoqq8X.js +0 -2
  511. package/dist/core/web/public/next/assets/fleet-queries-DzGoqq8X.js.map +0 -1
  512. package/dist/core/web/public/next/assets/format-BkWdOQDL.js +0 -2
  513. package/dist/core/web/public/next/assets/format-BkWdOQDL.js.map +0 -1
  514. package/dist/core/web/public/next/assets/global-oEl9Qj8u.js +0 -2
  515. package/dist/core/web/public/next/assets/guarded-action-OzqcPjmh.js +0 -3
  516. package/dist/core/web/public/next/assets/guarded-action-OzqcPjmh.js.map +0 -1
  517. package/dist/core/web/public/next/assets/icon-base-DvM1eI5V.js +0 -2
  518. package/dist/core/web/public/next/assets/icon-base-DvM1eI5V.js.map +0 -1
  519. package/dist/core/web/public/next/assets/icons-DEQa2rTx.js +0 -2
  520. package/dist/core/web/public/next/assets/icons-DEQa2rTx.js.map +0 -1
  521. package/dist/core/web/public/next/assets/live-model-bmsJgnYD.js +0 -2
  522. package/dist/core/web/public/next/assets/live-model-bmsJgnYD.js.map +0 -1
  523. package/dist/core/web/public/next/assets/local-model-DFyjKX0b.js +0 -2
  524. package/dist/core/web/public/next/assets/local-model-DFyjKX0b.js.map +0 -1
  525. package/dist/core/web/public/next/assets/mind.module-gTGAuJt1.js +0 -2
  526. package/dist/core/web/public/next/assets/mutations-C5S7okTW.js +0 -2
  527. package/dist/core/web/public/next/assets/nav-NVtnuG7A.js +0 -2
  528. package/dist/core/web/public/next/assets/preloaded-Cwf9rsnZ.js +0 -2
  529. package/dist/core/web/public/next/assets/preloaded-Cwf9rsnZ.js.map +0 -1
  530. package/dist/core/web/public/next/assets/primitives-DyCKYSBG.js +0 -1
  531. package/dist/core/web/public/next/assets/reasoning-pref-BUcFF_5G.js +0 -2
  532. package/dist/core/web/public/next/assets/seat-subscription-B-f9ViU2.js +0 -2
  533. package/dist/core/web/public/next/assets/section-visibility-Yctxu-if.js +0 -2
  534. package/dist/core/web/public/next/assets/section-visibility-Yctxu-if.js.map +0 -1
  535. package/dist/core/web/public/next/assets/slots-BhP8b8tf.js +0 -3
  536. package/dist/core/web/public/next/assets/surface-data-DTI7LjvH.js +0 -2
  537. package/dist/core/web/public/next/assets/surface-data-DTI7LjvH.js.map +0 -1
  538. package/dist/core/web/public/next/assets/surface-prefetch-CdUEBFrl.js +0 -2
  539. package/dist/core/web/public/next/assets/surface-prefetch-CdUEBFrl.js.map +0 -1
  540. package/dist/core/web/public/next/assets/useChartWidth-owwodNVz.js +0 -2
  541. package/dist/core/web/public/next/assets/useChartWidth-owwodNVz.js.map +0 -1
  542. package/dist/core/web/public/next/assets/useSeatsRefresh-DgFy-Ph4.js +0 -2
  543. package/dist/core/web/public/next/assets/useSeatsRefresh-DgFy-Ph4.js.map +0 -1
  544. package/dist/core/web/public/next/assets/useVerseTranscript-CDYrrWOO.js +0 -2
  545. package/dist/core/web/public/next/assets/verse-icons-F9VwX07_.js +0 -2
  546. package/dist/core/web/public/next/assets/verse-icons-F9VwX07_.js.map +0 -1
  547. package/dist/core/web/public/next/assets/verse-model-DyCwZF-M.js +0 -2
  548. package/dist/core/web/public/next/assets/verse-model-DyCwZF-M.js.map +0 -1
  549. package/dist/core/web/public/next/assets/verse-store-b_Lek_c5.js +0 -3
  550. package/dist/core/web/public/next/assets/verse-store-b_Lek_c5.js.map +0 -1
  551. package/dist/core/web/public/next/assets/verse-ui-store-62DxpVHS.js +0 -3
  552. package/dist/core/web/public/next/assets/verse-ui-store-62DxpVHS.js.map +0 -1
  553. package/dist/core/web/public/next/assets/viewport-nTubFCwf.js +0 -2
  554. package/dist/core/web/public/next/assets/viewport-nTubFCwf.js.map +0 -1
  555. package/dist/core/web/public/next/assets/warmup-HG5vYbsN.js +0 -3
  556. package/dist/core/web/public/next/assets/workbench-types-DzN-5trg.js +0 -2
  557. package/dist/core/web/public/next/assets/workbench-types-DzN-5trg.js.map +0 -1
  558. /package/dist/core/web/public/next/assets/{BurnDown-BuLMsJMx.css → StatTile-BuLMsJMx.css} +0 -0
@@ -1,10 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunInCloudAction-BEGEEM8O.js","assets/index-BVxOlseC.js","assets/global-oEl9Qj8u.js","assets/global-BlI2BYa1.css","assets/MutationTokenDialog-mxrw0Yvy.js","assets/Dialog-BS9Dxi3G.js","assets/focus-trap-HtcoXeEq.js","assets/Dialog-tQ8kFulD.css","assets/MutationTokenDialog-CrfJ0PdD.css","assets/RouteErrorBoundary-DYtwc2ja.js","assets/RouteErrorBoundary-DdxhTdZ6.css","assets/VerseConsoleApp-DTjDpGCd.js","assets/command-catalog-Bb_PxC5w.js","assets/workbench-types-DzN-5trg.js","assets/guarded-action-OzqcPjmh.js","assets/preloaded-Cwf9rsnZ.js","assets/viewport-nTubFCwf.js","assets/verse-ui-store-62DxpVHS.js","assets/dock-store-B2vlxqPu.js","assets/composer-keys-su0g1h9o.js","assets/command-bus-xYZoK9nQ.js","assets/section-visibility-Yctxu-if.js","assets/icon-base-DvM1eI5V.js","assets/VerseConsoleApp-Cxqr-3qc.css","assets/verse-store-b_Lek_c5.js","assets/compaction-point-VL9oegWS.js","assets/Button-HHXgoXGr.js","assets/Button-DrnKsvnQ.css","assets/icons-DEQa2rTx.js","assets/use-token-gate-DqrSXdX6.js","assets/format-BkWdOQDL.js","assets/format-DKrNjdwD.js","assets/verse-model-DyCwZF-M.js","assets/cloud.module-ascz58c3.js","assets/context-model-BC-HOmPo.js","assets/types-D5XOdyw8.js","assets/cloud-C1KPNRHC.css","assets/cloud-queries-Br_r0UAz.js","assets/ChatSection-DZuZfTaC.js","assets/ChatSection-C9obUsLL.css","assets/BudgetControl-TL3FeZ1D.js","assets/Segmented-BE53BenI.js","assets/Segmented-BnjHbKzH.css","assets/Tag-DH15CUJp.js","assets/Tag-D0rAEciH.css","assets/budget-queries-V3wcJVK_.js","assets/capacity-strip-model-BDbmQ3e3.js","assets/seat-subscription-B-f9ViU2.js","assets/Slider-BypUWjpH.js","assets/Slider-AgAdMFpo.css","assets/Switch-iveI-8NY.js","assets/Switch-CU044EaE.css","assets/BudgetControl-CmG1JOWK.css","assets/HandoffDialog-BF3AYg-X.js","assets/context-queries-CrPcHWTz.js","assets/context-model-CIBmSugV.js","assets/SeatSelector-CYHRR7Wp.js","assets/Composer.module-C8U73KdQ.js","assets/Composer-ByzxOJK6.css","assets/workspace-model-CbhdPhei.js","assets/context.module-BijAfoJw.js","assets/context-DiToyj6s.css"])))=>i.map(i=>d[i]);
2
- import{a as e,i as t,n,s as r,t as i}from"./index-BVxOlseC.js";import{B as a,L as o,R as s,i as c,p as l,z as u}from"./global-oEl9Qj8u.js";import{t as d}from"./focus-trap-HtcoXeEq.js";import{t as f}from"./Dialog-BS9Dxi3G.js";import{t as p}from"./MutationTokenDialog-mxrw0Yvy.js";import{t as m}from"./ProviderLogo-C5mBg8i0.js";import{n as h,r as g,t as _}from"./highlight-CMCZK9jW.js";import{t as v}from"./DiffViewer-BpH56302.js";import{c as y,r as b,s as x}from"./command-catalog-Bb_PxC5w.js";import{l as S}from"./workbench-types-DzN-5trg.js";import{n as C}from"./viewport-nTubFCwf.js";import{a as w,h as T,m as E,o as ee,p as D,s as te}from"./dock-store-B2vlxqPu.js";import{d as O,l as k,v as ne}from"./verse-ui-store-62DxpVHS.js";import{n as re,r as ie,t as ae}from"./composer-keys-su0g1h9o.js";import{E as A,M as j,Z as oe,d as se}from"./VerseConsoleApp-DTjDpGCd.js";import{n as M,t as N}from"./MessageMarkdown-BauY8ZTY.js";import{C as P,D as F,E as I,I as ce,L as le,M as ue,O as de,P as fe,R as pe,S as L,T as me,_ as he,a as R,g as ge,h as _e,k as z,n as ve,o as ye,p as be,r as xe,t as Se,v as Ce,x as we,y as Te}from"./verse-model-DyCwZF-M.js";import{c as Ee,d as De,r as B}from"./verse-store-b_Lek_c5.js";import{b as Oe,x as ke}from"./format-BkWdOQDL.js";import{s as Ae}from"./context-queries-CrPcHWTz.js";import{i as je,n as Me,r as Ne}from"./seat-subscription-B-f9ViU2.js";import{t as V}from"./Composer.module-C8U73KdQ.js";import{n as Pe}from"./budget-queries-V3wcJVK_.js";import{a as Fe,i as Ie,n as H,t as Le}from"./useSeatsRefresh-DgFy-Ph4.js";import{d as U,f as Re,i as ze,l as Be,u as Ve}from"./capacity-strip-model-BDbmQ3e3.js";import{t as W}from"./Button-HHXgoXGr.js";import{n as He,t as Ue}from"./ActionMenu-FxXeRbPx.js";import{i as We,n as Ge,o as Ke,r as qe,s as Je}from"./tool-semantics-GX8ScuSH.js";import{a as Ye,c as Xe,d as Ze,f as Qe,g as $e,i as et,m as G,o as tt,p as nt,r as rt,u as it}from"./dock-icons-CUh8dOxJ.js";import{c as at,g as ot,h as st,o as ct,t as lt,x as ut}from"./icons-DEQa2rTx.js";import{n as dt,o as ft,r as pt,s as mt,t as ht}from"./verse-icons-F9VwX07_.js";import{countTasks as gt,currentTurnTasks as _t,describeTaskCounts as K}from"./tasks-model-BKDNqmmt.js";import{a as vt,c as yt,d as bt,f as xt,h as St,i as Ct,l as wt,m as Tt,o as Et,u as Dt}from"./reasoning-pref-BUcFF_5G.js";import{n as Ot,t as kt}from"./use-token-gate-DqrSXdX6.js";import{i as At,o as jt,t as Mt}from"./slots-BhP8b8tf.js";import{i as Nt,n as Pt,r as Ft,t as It}from"./useVerseTranscript-CDYrrWOO.js";import"./Meter-DNeocJnD.js";import{a as Lt,c as Rt,i as zt,l as Bt,o as Vt,r as Ht,u as Ut}from"./ChatSection-DZuZfTaC.js";var q=r(e(),1),Wt={slot:`_slot_ka933_6`,list:`_list_ka933_18`,notice:`_notice_ka933_29`,"notice-in":`_notice-in_ka933_1`,more:`_more_ka933_34`},J=n(),Gt={"seat-health":0,engine:1,context:2,compact:3};function Kt(e,t=null){return e.map((e,t)=>({c:e,i:t})).sort((e,n)=>{if(t!==null){if(e.c.id===t&&n.c.id!==t)return-1;if(n.c.id===t&&e.c.id!==t)return 1}return Gt[e.c.kind]-Gt[n.c.kind]||e.i-n.i}).map(({c:e})=>e)}function qt({notices:e,pinnedId:t=null}){let n=Kt(e,t),[r,i]=(0,q.useState)(!1),a=(0,q.useId)(),o=n.length-1;if((0,q.useEffect)(()=>{o<=0&&r&&i(!1)},[o,r]),n.length===0)return null;let s=r?n:n.slice(0,1),c=n.slice(1).map(e=>e.label).join(`, `);return(0,J.jsxs)(`section`,{className:Wt.slot,"aria-label":`Notices`,"data-count":n.length,children:[(0,J.jsx)(`div`,{id:a,className:Wt.list,children:s.map(e=>(0,J.jsx)(`div`,{className:Wt.notice,"data-kind":e.kind,children:e.render()},e.id))}),o>0?(0,J.jsx)(`button`,{type:`button`,className:Wt.more,"aria-expanded":r,"aria-controls":a,"aria-label":r?void 0:`+${o} more: ${c}`,title:r?void 0:c,onClick:()=>i(e=>!e),children:r?`Show fewer`:`+${o} more`}):null]})}var Jt={tray:`_tray_10ld6_5`,ring:`_ring_10ld6_27`,"tray-turn":`_tray-turn_10ld6_1`,count:`_count_10ld6_34`,word:`_word_10ld6_48`};function Yt({counts:e,onOpen:t,active:n=!1}){return e.total===0?null:(0,J.jsxs)(`button`,{type:`button`,className:Jt.tray,onClick:t,"aria-pressed":n,"aria-label":`${K(e)}. Open the Tasks pane.`,title:`Open the Tasks pane`,children:[(0,J.jsx)(`span`,{className:Jt.ring,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:Jt.count,children:e.total}),(0,J.jsxs)(`span`,{className:Jt.word,children:[`running task`,e.total===1?``:`s`]})]})}var Xt=r(t(),1);function Zt(e){let t=e.trim();return t.length===0?0:Math.max(1,Math.ceil(t.length/4))}function Qt(e,t){let n=Zt(e);if(n===0)return null;let r=typeof t.contextWindow==`number`&&t.contextWindow>0?t.contextWindow:null;if(r===null)return null;let i=typeof t.contextTokens==`number`&&Number.isFinite(t.contextTokens)?Math.max(0,t.contextTokens):0,a=pe({contextTokens:i+n,contextWindow:r,autoCompactAt:t.autoCompactAt??null,contextTokensExact:t.exact});return a.tone===`ok`||a.tone===`unknown`?null:{draftTokens:n,projectedTokens:a.tokens,projectedPercent:Math.min(999,Math.round((a.ofWindow??0)*100)),autoCompactAt:a.autoCompactAt,pastCompaction:a.ofCompaction!==null&&a.ofCompaction>=1,tone:a.tone,exact:a.exact}}var $t=120;function en(e,t){if(t<0||t>e.length)return null;let n=e.slice(0,t),r=/^\/([a-z-]*)$/i.exec(n);if(r){let n=/^[a-z-]*/i.exec(e.slice(t))?.[0]??``;return{kind:`command`,query:r[1].toLowerCase(),start:0,end:t+n.length}}let i=/(^|\s)@([^\s@]*)$/.exec(n);if(i){let n=i[2];return n.length>$t?null:{kind:`mention`,query:n,start:t-n.length-1,end:t+(/^[^\s@]*/.exec(e.slice(t))?.[0]??``).length}}return null}function tn(e,t,n){let r=e.slice(t.end),i=r.startsWith(` `)||n.endsWith(` `)?``:` `;return{text:`${e.slice(0,t.start)}${n}${i}${r}`,caret:t.start+n.length+i.length}}function nn(e,t){let n=t!==null&&e.root===t?e.path:`${e.root.replace(/\/+$/,``)}/${e.path}`;return/\s/.test(n)?`@"${n}"`:`@${n}`}var rn=[{id:`handoff`,title:`/handoff`,description:`Continue in a fresh chat with a handoff note`},{id:`compact`,title:`/compact`,description:`Summarise earlier turns to free context (sent as a turn)`},{id:`new`,title:`/new`,description:`Start a new chat on this seat`},{id:`plan`,title:`/plan`,description:`Switch this chat to Plan mode — nothing is edited`},{id:`effort`,title:`/effort`,description:`Choose the reasoning effort`},{id:`model`,title:`/model`,description:`Choose the model`}];function an(e){let t=e.toLowerCase();if(!t)return[...rn];let n=rn.filter(e=>e.id.startsWith(t)),r=rn.filter(e=>!e.id.startsWith(t)&&(e.id.includes(t)||e.description.toLowerCase().includes(t)));return[...n,...r]}function on(e,t,n=null){if(n===null||n<0||n>e.length){let n=`${e}${e.length===0||/\s$/.test(e)?``:` `}${t} `;return{text:n,caret:n.length}}let r=e.slice(0,n),i=e.slice(n),a=r.length===0||/\s$/.test(r)?``:` `,o=i.startsWith(` `)?``:` `;return{text:`${r}${a}${t}${o}${i}`,caret:r.length+a.length+t.length+o.length}}function sn(e,t){return t?e.split(`${t} `).join(``).split(t).join(``).replace(/ {2,}/g,` `):e}function cn(e){return!Number.isFinite(e)||e<0?`—`:e<1024?`${e} B`:e<1048576?`${Math.round(e/1024)} KB`:`${(e/1048576).toFixed(1)} MB`}function ln(e){return new Promise((t,n)=>{let r=new FileReader;r.onerror=()=>n(r.error??Error(`the file could not be read`)),r.onload=()=>{let e=typeof r.result==`string`?r.result:``;t(e.slice(e.indexOf(`,`)+1))},r.readAsDataURL(e)})}var Y={footer:`_footer_hpc1p_15`,footerLeft:`_footerLeft_hpc1p_16`,footerRight:`_footerRight_hpc1p_17`,iconButton:`_iconButton_hpc1p_21`,iconButtonDanger:`_iconButtonDanger_hpc1p_37`,boxDragging:`_boxDragging_hpc1p_39`,boxBypass:`_boxBypass_hpc1p_41`,composerCompact:`_composerCompact_hpc1p_46`,controlWrap:`_controlWrap_hpc1p_51`,control:`_control_hpc1p_51`,controlDanger:`_controlDanger_hpc1p_69`,controlIconOnly:`_controlIconOnly_hpc1p_72`,controlIcon:`_controlIcon_hpc1p_72`,controlText:`_controlText_hpc1p_75`,caret:`_caret_hpc1p_76`,controlStatic:`_controlStatic_hpc1p_87`,menu:`_menu_hpc1p_99`,menuWide:`_menuWide_hpc1p_119`,menuHeading:`_menuHeading_hpc1p_120`,menuKbd:`_menuKbd_hpc1p_132`,menuNote:`_menuNote_hpc1p_140`,menuItem:`_menuItem_hpc1p_146`,menuLabel:`_menuLabel_hpc1p_163`,menuItemDanger:`_menuItemDanger_hpc1p_165`,menuCheck:`_menuCheck_hpc1p_166`,menuDesc:`_menuDesc_hpc1p_167`,menuText:`_menuText_hpc1p_177`,menuSeparator:`_menuSeparator_hpc1p_180`,controlList:`_controlList_hpc1p_183`,"engine-claude":`_engine-claude_hpc1p_198`,"engine-codex":`_engine-codex_hpc1p_199`,"engine-grok":`_engine-grok_hpc1p_200`,"engine-local":`_engine-local_hpc1p_201`,seatChipWrap:`_seatChipWrap_hpc1p_202`,seatChip:`_seatChip_hpc1p_202`,seatChipCompact:`_seatChipCompact_hpc1p_218`,seatChipText:`_seatChipText_hpc1p_219`,monogram:`_monogram_hpc1p_220`,ring:`_ring_hpc1p_238`,ringTrack:`_ringTrack_hpc1p_239`,ringFill:`_ringFill_hpc1p_240`,seatTip:`_seatTip_hpc1p_245`,tip:`_tip_hpc1p_262`,tipMuted:`_tipMuted_hpc1p_264`,budgetDialog:`_budgetDialog_hpc1p_266`,contextRing:`_contextRing_hpc1p_270`,contextFill:`_contextFill_hpc1p_285`,contextTick:`_contextTick_hpc1p_290`,contextText:`_contextText_hpc1p_301`,sendKey:`_sendKey_hpc1p_304`,queue:`_queue_hpc1p_307`,queueHeld:`_queueHeld_hpc1p_316`,queueHeading:`_queueHeading_hpc1p_317`,queueList:`_queueList_hpc1p_324`,queueItem:`_queueItem_hpc1p_325`,queueIndex:`_queueIndex_hpc1p_326`,queueText:`_queueText_hpc1p_334`,queueActions:`_queueActions_hpc1p_343`,queueButton:`_queueButton_hpc1p_344`,queueButtonPrimary:`_queueButtonPrimary_hpc1p_353`,queueRemove:`_queueRemove_hpc1p_355`,chips:`_chips_hpc1p_367`,chip:`_chip_hpc1p_367`,chipThumb:`_chipThumb_hpc1p_379`,chipExt:`_chipExt_hpc1p_380`,chipText:`_chipText_hpc1p_397`,chipName:`_chipName_hpc1p_398`,chipMeta:`_chipMeta_hpc1p_399`,chipSpinner:`_chipSpinner_hpc1p_401`,"composer-spin":`_composer-spin_hpc1p_1`,chipRemove:`_chipRemove_hpc1p_409`,suggest:`_suggest_hpc1p_422`,suggestHeading:`_suggestHeading_hpc1p_436`,suggestList:`_suggestList_hpc1p_446`,suggestItem:`_suggestItem_hpc1p_447`,suggestPrimary:`_suggestPrimary_hpc1p_457`,suggestSecondary:`_suggestSecondary_hpc1p_467`,suggestStatus:`_suggestStatus_hpc1p_476`,bypassList:`_bypassList_hpc1p_479`,bypassActions:`_bypassActions_hpc1p_493`,sheetBackdrop:`_sheetBackdrop_hpc1p_496`,sheet:`_sheet_hpc1p_496`,"composer-rise":`_composer-rise_hpc1p_1`,sheetHeader:`_sheetHeader_hpc1p_516`,sheetTitle:`_sheetTitle_hpc1p_517`,sheetClose:`_sheetClose_hpc1p_518`,sheetNote:`_sheetNote_hpc1p_526`,sheetBody:`_sheetBody_hpc1p_527`};function un(e){let t=e.lastIndexOf(`.`),n=t>0?e.slice(t+1):``;return n?n.slice(0,4).toUpperCase():`FILE`}function dn({drafts:e,onRemove:t,disabled:n=!1}){return e.length===0?null:(0,J.jsx)(`ul`,{className:Y.chips,"aria-label":`Attachments`,children:e.map(e=>{let r=e.status===`uploading`?`uploading`:e.status===`error`?e.error??`not attached`:cn(e.bytes);return(0,J.jsxs)(`li`,{className:Y.chip,"data-status":e.status,children:[e.previewUrl?(0,J.jsx)(`img`,{className:Y.chipThumb,src:e.previewUrl,alt:``}):(0,J.jsx)(`span`,{className:Y.chipExt,"aria-hidden":`true`,children:un(e.name)}),(0,J.jsxs)(`span`,{className:Y.chipText,children:[(0,J.jsx)(`span`,{className:Y.chipName,title:e.name,children:e.name}),(0,J.jsxs)(`span`,{className:Y.chipMeta,role:e.status===`error`?`alert`:void 0,children:[e.status===`uploading`?(0,J.jsx)(`span`,{className:Y.chipSpinner,"aria-hidden":`true`}):null,r]})]}),(0,J.jsx)(`button`,{type:`button`,className:Y.chipRemove,disabled:n&&e.status!==`error`,"aria-label":`Remove ${e.name}`,onClick:()=>t(e.key),children:(0,J.jsx)(ut,{width:12,height:12,"aria-hidden":`true`})})]},e.key)})})}function fn({open:e,chatLabel:t,running:n,onCancel:r,onConfirm:i}){let a=(0,q.useId)(),o=(0,q.useRef)(null);return(0,J.jsxs)(f,{open:e,onClose:r,titleId:a,title:`Bypass permissions for this chat?`,initialFocusRef:o,description:(0,J.jsxs)(J.Fragment,{children:[`The agent in `,(0,J.jsx)(`strong`,{children:t}),` will run every command and edit every file without asking — including outside the project.`]}),children:[(0,J.jsxs)(`ul`,{className:Y.bypassList,children:[(0,J.jsxs)(`li`,{children:[`Applies to this chat only`,n?`, from the next turn`:``,`. New chats never inherit it.`]}),(0,J.jsxs)(`li`,{children:[`Switch back any time from the Permission menu`,ie(`composer.permission`)?(0,J.jsxs)(J.Fragment,{children:[` (`,(0,J.jsx)(`kbd`,{children:ie(`composer.permission`)}),`)`]}):null,`.`]}),(0,J.jsx)(`li`,{children:`Use it in a sandbox or a throwaway worktree, not on work you can’t lose.`})]}),(0,J.jsxs)(`div`,{className:Y.bypassActions,children:[(0,J.jsx)(W,{ref:o,variant:`subtle`,onClick:r,children:`Cancel`}),(0,J.jsx)(W,{variant:`danger`,onClick:i,children:`Bypass for this chat`})]})]})}var X={workspace:`_workspace_c3ra8_1`,header:`_header_c3ra8_14`,headerSpacer:`_headerSpacer_c3ra8_14`,identity:`_identity_c3ra8_41`,eyebrow:`_eyebrow_c3ra8_50`,eyebrowSkeleton:`_eyebrowSkeleton_c3ra8_60`,title:`_title_c3ra8_68`,titleStatic:`_titleStatic_c3ra8_69`,titleButton:`_titleButton_c3ra8_94`,titleInput:`_titleInput_c3ra8_123`,titleSkeleton:`_titleSkeleton_c3ra8_141`,seatPill:`_seatPill_c3ra8_153`,engineDot:`_engineDot_c3ra8_174`,seatText:`_seatText_c3ra8_157`,"engine-claude":`_engine-claude_c3ra8_190`,"engine-codex":`_engine-codex_c3ra8_191`,"engine-grok":`_engine-grok_c3ra8_192`,"engine-local":`_engine-local_c3ra8_193`,streamState:`_streamState_c3ra8_195`,actions:`_actions_c3ra8_203`,actionDivider:`_actionDivider_c3ra8_212`,toggles:`_toggles_c3ra8_221`,ghost:`_ghost_c3ra8_228`,ghostIcon:`_ghostIcon_c3ra8_229`,danger:`_danger_c3ra8_230`,confirm:`_confirm_c3ra8_262`,confirmText:`_confirmText_c3ra8_263`,meter:`_meter_c3ra8_274`,ring:`_ring_c3ra8_275`,"meter-warn":`_meter-warn_c3ra8_285`,"meter-danger":`_meter-danger_c3ra8_286`,"meter-unknown":`_meter-unknown_c3ra8_287`,"meter-over":`_meter-over_c3ra8_290`,meterTrack:`_meterTrack_c3ra8_293`,meterFill:`_meterFill_c3ra8_301`,meterTick:`_meterTick_c3ra8_310`,meterInline:`_meterInline_c3ra8_320`,meterText:`_meterText_c3ra8_328`,meterTokens:`_meterTokens_c3ra8_337`,meterCompact:`_meterCompact_c3ra8_338`,meterPercent:`_meterPercent_c3ra8_342`,modeWrap:`_modeWrap_c3ra8_348`,modeChip:`_modeChip_c3ra8_349`,modeMenu:`_modeMenu_c3ra8_366`,modeMenuHeading:`_modeMenuHeading_c3ra8_387`,modeItem:`_modeItem_c3ra8_393`,modeItemPrimary:`_modeItemPrimary_c3ra8_408`,modeItemSecondary:`_modeItemSecondary_c3ra8_409`,modeMenuNote:`_modeMenuNote_c3ra8_410`,modeMenuWarn:`_modeMenuWarn_c3ra8_418`,modeMenuError:`_modeMenuError_c3ra8_426`,advice:`_advice_c3ra8_436`,adviceNote:`_adviceNote_c3ra8_448`,compactForm:`_compactForm_c3ra8_462`,compactLabel:`_compactLabel_c3ra8_463`,compactInput:`_compactInput_c3ra8_464`,modeItemAction:`_modeItemAction_c3ra8_476`,adviceBody:`_adviceBody_c3ra8_477`,adviceTitle:`_adviceTitle_c3ra8_478`,adviceReasons:`_adviceReasons_c3ra8_479`,adviceFine:`_adviceFine_c3ra8_487`,adviceActions:`_adviceActions_c3ra8_488`,adviceAction:`_adviceAction_c3ra8_488`,adviceStatus:`_adviceStatus_c3ra8_507`,emptyState:`_emptyState_c3ra8_516`,emptyMark:`_emptyMark_c3ra8_527`,emptyTitle:`_emptyTitle_c3ra8_528`,emptyBody:`_emptyBody_c3ra8_535`,emptyButton:`_emptyButton_c3ra8_536`,emptyWarn:`_emptyWarn_c3ra8_552`,ringSvg:`_ringSvg_c3ra8_640`,ringTrack:`_ringTrack_c3ra8_641`,ringFill:`_ringFill_c3ra8_642`,ringTick:`_ringTick_c3ra8_649`,ringText:`_ringText_c3ra8_650`,adviceStack:`_adviceStack_c3ra8_663`,crumbSep:`_crumbSep_c3ra8_670`,crumbBranch:`_crumbBranch_c3ra8_671`,engineTick:`_engineTick_c3ra8_678`,monogram:`_monogram_c3ra8_685`,modeError:`_modeError_c3ra8_694`,queueHost:`_queueHost_c3ra8_709`,liveRow:`_liveRow_c3ra8_722`,liveSpacer:`_liveSpacer_c3ra8_738`,engineNotice:`_engineNotice_c3ra8_741`,engineNoticeWord:`_engineNoticeWord_c3ra8_755`,paneToggle:`_paneToggle_c3ra8_768`};Math.round(de*100),Math.round(F*100);var pn={standard:`Standard`,expansive:`Expansive`},mn={claude:`Claude Code`,local:`Claude Code (driving the local model)`,codex:`Codex`,grok:`Grok`};function hn(e){return Math.round(e).toLocaleString(`en-US`)}function gn(e){let t=pe({contextTokens:typeof e.contextTokens==`number`&&Number.isFinite(e.contextTokens)?e.contextTokens:0,contextWindow:e.contextWindow??null,autoCompactAt:e.autoCompactAt??null,contextTokensExact:e.exact}),n=t.exact?``:`≤`,r=!t.exact&&t.untilCompaction===0,i=`${n}${B(t.tokens)} / ${t.window===null?`n/a`:B(t.window)}`,a=t.autoCompactAt===null?null:`compacts ≈${B(t.autoCompactAt)}`,o=t.ofWindow===null?null:Math.round(t.ofWindow*100),s=t.window!==null&&t.autoCompactAt!==null&&t.autoCompactAt<t.window?t.autoCompactAt/t.window*100:null,c=t.ofWindow===null?0:Math.min(100,Math.max(0,t.ofWindow*100)),l=[];l.push(t.window===null?`Context: ${n}${hn(t.tokens)} tokens — the window is unknown, so no percentage is shown.`:`Context: ${n}${hn(t.tokens)} of ${hn(t.window)} tokens (${o}%).`),t.exact||l.push(`Upper bound: this CLI reported only the turn total so far; the exact last-call size replaces it once its session log is read.`),t.tone===`over`&&l.push(`Past the window: the next turn will fail or force the CLI to compact first. Continue in a fresh chat.`);let u=e.mode?` (${pn[e.mode]} mode)`:``;if(t.autoCompactAt!==null){let e=r?`the upper bound is past that point, which does not mean the real prompt is`:t.untilCompaction===0?`at or past that point now`:`${t.exact?``:`at least `}≈${hn(t.untilCompaction??0)} left`;l.push(`Auto-compacts at ≈${hn(t.autoCompactAt)} tokens${u} — ${e}.`)}else t.window!==null&&l.push(`The compaction point is unknown${u}; the colour is measured against the whole window.`);let d=[...l];if(t.autoCompactAt!==null){let t=e.engine?mn[e.engine]:`The CLI`;l.push(`When it compacts, ${t} replaces the earlier conversation with a summary and carries on; early detail then survives only as that summary.`)}if((e.compactionCount??0)>0){let t=e.compactionCount??0;l.push(`Compacted ${t} time${t===1?``:`s`} so far.`)}return t.window!==null&&l.push(`Window: ${e.source?me(e.source,e.engine):`source not recorded (an older session)`}.`),{tone:t.tone,label:i,compactLabel:a,percent:o,percentLabel:o===null?`n/a`:`${n}${o}%`,tickPercent:s,fillPercent:c,summary:d,title:l.join(`
3
- `)}}var _n=6,vn=2*Math.PI*_n;function yn({fillPercent:e,tickPercent:t,classes:n}){let r=t===null?null:(t/100*360-90)*(Math.PI/180),i=e=>r===null?null:{x:8+Math.cos(r)*e,y:8+Math.sin(r)*e},a=i(3.5),o=i(7.5);return(0,J.jsxs)(`svg`,{className:n.svg,width:`16`,height:`16`,viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:[(0,J.jsx)(`circle`,{className:n.track,cx:`8`,cy:`8`,r:_n}),(0,J.jsx)(`circle`,{className:n.fill,cx:`8`,cy:`8`,r:_n,strokeDasharray:`${e/100*vn} ${vn}`,transform:`rotate(-90 8 8)`}),a&&o?(0,J.jsx)(`line`,{className:n.tick,"data-testid":`compaction-tick`,x1:a.x,y1:a.y,x2:o.x,y2:o.y}):null]})}function bn({variant:e=`header`,...t}){let n=gn(t),r=n.percent===null?void 0:Math.min(100,n.percent),i=`${n.label} (${n.percentLabel})${n.compactLabel?`, ${n.compactLabel.replace(`≈`,`at about `)}`:``}${n.tone===`over`?`, past the window`:``}`;return e===`ring`?(0,J.jsxs)(`div`,{className:`${X.ring} ${X[`meter-${n.tone}`]??``}`,role:`meter`,"aria-label":`Context window`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":r,"aria-valuetext":i,title:n.title,"data-tone":n.tone,"data-exact":t.exact===!1?`false`:void 0,children:[(0,J.jsx)(yn,{fillPercent:n.fillPercent,tickPercent:n.tickPercent,classes:{svg:X.ringSvg,track:X.ringTrack,fill:X.ringFill,tick:X.ringTick}}),(0,J.jsx)(`span`,{className:X.ringText,children:n.percentLabel})]}):(0,J.jsxs)(`div`,{className:`${X.meter} ${X[`meter-${n.tone}`]??``} ${e===`inline`?X.meterInline:``}`,role:`meter`,"aria-label":`Context window`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":r,"aria-valuetext":i,title:n.title,"data-tone":n.tone,"data-exact":t.exact===!1?`false`:void 0,children:[(0,J.jsxs)(`div`,{className:X.meterTrack,"aria-hidden":`true`,children:[(0,J.jsx)(`div`,{className:X.meterFill,style:{width:`${n.fillPercent}%`}}),n.tickPercent===null?null:(0,J.jsx)(`div`,{className:X.meterTick,"data-testid":`compaction-tick`,style:{left:`${n.tickPercent}%`}})]}),(0,J.jsxs)(`span`,{className:X.meterText,children:[(0,J.jsx)(`span`,{className:X.meterTokens,children:n.label}),n.compactLabel?(0,J.jsxs)(`span`,{className:X.meterCompact,children:[`· `,n.compactLabel]}):null,(0,J.jsx)(`span`,{className:X.meterPercent,children:n.percentLabel})]})]})}function xn(e){let t=z(e,`standard`),n=z(e,`expansive`);if(!t||!n)return null;let r=t.autoCompactAt??t.contextWindow,i=n.autoCompactAt??n.contextWindow;return r<=0||i<=r?null:Math.round(i/r*10)/10}function Sn(e,t){let n=xn(e),r=z(e,`standard`),i=r?B(r.autoCompactAt??r.contextWindow):null,a=t===`codex`,o=n!==null&&i!==null?`Every turn re-sends the whole context, so once it grows past ≈${i} each turn costs more usage — up to ≈${n}×${a?` by size alone`:``} near the expansive limit — and recall of early detail weakens with length.`:`Every turn re-sends the whole context, so a larger budget means more usage per turn as it grows.`;return a?`${o} ${Se}`:o}function Cn(e,t,n){if(t!==`expansive`||!n)return null;let r=z(e,`standard`);if(!r)return null;let i=r.autoCompactAt??r.contextWindow;return n.contextTokens<i?null:{point:i,tokens:n.contextTokens,definite:n.exact}}var wn=6e4;function Tn(e,t){let[n,r]=(0,q.useState)(()=>t??Date.now());return(0,q.useEffect)(()=>{if(t!==void 0){r(t);return}let n=setInterval(()=>r(Date.now()),e);return()=>clearInterval(n)},[e,t]),n}function En(e,t,n,r=null){return ce({usage:{...e.usage,contextTokens:t.contextTokens,contextWindow:t.contextWindow,autoCompactAt:t.autoCompactAt,contextTokensExact:t.exact},compactionCount:e.compactionCount??0,lastActivityAt:e.status===`running`?null:r,now:n})}function Dn(e,t,n,r,i=null){let a=En(e,t,r,i),o=e.compactionCount??0;return a.level!==`none`&&!O(e.id,`handoff:${a.level}:${o}`)?!0:n?fe({session:e,option:t.option}).suggest&&!O(e.id,`expansive:${o}`):!1}function On({session:e,budget:t,modesAvailable:n,dispatchEnabled:r,modeBusy:i=!1,onHandoff:a,onSwitchExpansive:o,onCompact:s,lastTurnAt:c=null,now:l,embedded:u=!1,onDismiss:d}){let f=Tn(wn,l),[,p]=(0,q.useState)(0),m=En(e,t,f,c),h=n?fe({session:e,option:t.option}):{suggest:!1,reason:null},g=e.compactionCount??0,_=`handoff:${m.level}:${g}`,v=`expansive:${g}`,y=m.level!==`none`&&!O(e.id,_),b=h.suggest&&!O(e.id,v);if(!y&&!b)return null;let x=e.status===`running`,S=t=>{k(e.id,t),p(e=>e+1),d?.()},C=c&&!x?f-Date.parse(c)>=I:!1;return(0,J.jsxs)(`div`,{className:u?X.adviceStack:X.advice,children:[y?(0,J.jsxs)(`section`,{className:X.adviceNote,"data-level":m.level,"aria-label":`Context advice`,children:[(0,J.jsxs)(`div`,{className:X.adviceBody,children:[(0,J.jsx)(`p`,{className:X.adviceTitle,children:m.level===`urge`?`Time to continue in a fresh chat`:`Consider continuing in a fresh chat`}),(0,J.jsx)(`ul`,{className:X.adviceReasons,children:m.reasons.map(e=>(0,J.jsx)(`li`,{children:e},e))}),(0,J.jsxs)(`p`,{className:X.adviceFine,children:[`Verse drafts a handoff note from this chat's log — free. Nothing is sent until you press Send in the new chat.`,C?` Continuing here instead re-reads the whole context at full cost.`:``]})]}),(0,J.jsxs)(`div`,{className:X.adviceActions,children:[(0,J.jsx)(`button`,{type:`button`,className:X.adviceAction,onClick:a,disabled:!r||x,title:x?`Available when the current turn finishes`:r?void 0:`Sending is disabled on this server`,children:`Continue in a fresh chat…`}),s?(0,J.jsx)(`button`,{type:`button`,className:X.ghost,onClick:s,disabled:!r||x||e.turnCount===0,title:x?`Available when the current turn finishes`:r?`Summarize this chat in place instead`:`Sending is disabled on this server`,children:`Compact now…`}):null,(0,J.jsx)(`button`,{type:`button`,className:X.ghost,onClick:()=>S(_),children:`Not now`})]})]}):null,b?(0,J.jsxs)(`section`,{className:X.adviceNote,"data-level":`suggest`,"data-kind":`expansive`,"aria-label":`Expansive mode suggestion`,children:[(0,J.jsxs)(`div`,{className:X.adviceBody,children:[(0,J.jsx)(`p`,{className:X.adviceTitle,children:`Expansive mode could help`}),(0,J.jsxs)(`p`,{className:X.adviceFine,children:[h.reason,` `,Sn(t.option,e.engine)]})]}),(0,J.jsxs)(`div`,{className:X.adviceActions,children:[(0,J.jsx)(`button`,{type:`button`,className:X.adviceAction,onClick:o,disabled:!r||i||x,title:x?`Available when the current turn finishes`:void 0,children:i?`Switching…`:`Switch to expansive`}),(0,J.jsx)(`button`,{type:`button`,className:X.ghost,onClick:()=>S(v),children:`Not now`})]})]}):null]})}function kn(e){return e===`claude`||e===`local`}function An(e){let t=e.replace(/\s+/g,` `).trim().slice(0,500).trim();return t?`/compact ${t}`:`/compact`}function jn(e,t){return e===`local`?`Free — it runs on the local model — but summarizing ${t} tokens runs at that model's speed and can take minutes; the chat is busy until it finishes.`:`Spends usage on this seat: one summarization call that reads the whole current context (${t} tokens) and writes the summary.`}function Mn({engine:e,budget:t,running:n,dispatchEnabled:r,empty:i,onSend:a,onClose:o,autoFocus:s=!0}){let[c,l]=(0,q.useState)(``),[u,d]=(0,q.useState)(!1),f=(0,q.useId)(),p=(0,q.useRef)(null);(0,q.useEffect)(()=>{if(!s)return;let e=document.activeElement instanceof HTMLElement&&document.activeElement!==document.body?document.activeElement:null;return p.current?.focus(),()=>{let t=document.activeElement;(t===null||t===document.body||!t.isConnected)&&e?.isConnected&&e.focus()}},[s]);let m=mn[e],h=`${t.exact?`≈`:`≤`}${B(t.contextTokens)}`,g=n?`Available when the current turn finishes.`:r?i?`Nothing to compact yet — this chat has no turns.`:null:`Sending is disabled: this server was started without dispatch.`;async function _(e){if(e.preventDefault(),!(g||u)){d(!0);try{await a(An(c))&&o()}finally{d(!1)}}}return(0,J.jsx)(`section`,{className:X.adviceNote,"data-level":`suggest`,"data-kind":`compact`,"aria-label":`Compact this chat`,children:(0,J.jsxs)(`form`,{className:X.compactForm,onSubmit:e=>{_(e)},children:[(0,J.jsxs)(`div`,{className:X.adviceBody,children:[(0,J.jsx)(`p`,{className:X.adviceTitle,children:`Compact this chat now`}),(0,J.jsxs)(`p`,{className:X.adviceFine,children:[m,` replaces the conversation so far with a summary it writes, then carries on from it — what it does on its own`,t.autoCompactAt===null?` at its compaction point`:` at ≈${B(t.autoCompactAt)}`,`, done now instead. Early detail then survives only as that summary.`]}),(0,J.jsx)(`p`,{className:X.adviceFine,children:jn(e,h)}),(0,J.jsx)(`label`,{className:X.compactLabel,htmlFor:f,children:`Keep in focus (optional)`}),(0,J.jsx)(`input`,{ref:p,id:f,className:X.compactInput,value:c,maxLength:500,placeholder:`e.g. the login fix and its open TODOs`,onChange:e=>l(e.target.value)}),(0,J.jsxs)(`p`,{className:X.adviceFine,children:[`Sent as the message `,(0,J.jsx)(`code`,{children:An(c)}),`, so it shows in the transcript like any turn.`]}),g?(0,J.jsx)(`p`,{className:X.adviceFine,role:`status`,children:g}):null]}),(0,J.jsxs)(`div`,{className:X.adviceActions,children:[(0,J.jsx)(`button`,{type:`submit`,className:X.adviceAction,disabled:g!==null||u,children:u?`Sending…`:`Compact now`}),(0,J.jsx)(`button`,{type:`button`,className:X.ghost,onClick:o,children:`Cancel`})]})]})})}function Nn({contextTokens:e,contextWindow:t,autoCompactAt:n,exact:r,engine:i=null}){let a=e!==null,o=gn({contextTokens:e,contextWindow:t,autoCompactAt:n,exact:r,engine:i}),[s=``,c=`n/a`]=o.label.split(` / `),l=a?o.percent===null?`Context ${s} tokens — the window is unknown`:`Context ${o.percentLabel} — ${s} of ${c} tokens${o.compactLabel?`, ${o.compactLabel}`:``}`:`Context — not measured yet`;return(0,J.jsx)(oe,{placement:`top`,content:(0,J.jsx)(`span`,{className:Y.tip,children:a?o.summary.map(e=>(0,J.jsx)(`span`,{children:e},e)):(0,J.jsx)(`span`,{children:`Context — not measured yet`})}),children:(0,J.jsxs)(`span`,{className:Y.contextRing,role:`img`,"aria-label":l,tabIndex:0,"data-tone":a?o.tone:`unknown`,"data-exact":r?void 0:`false`,children:[(0,J.jsx)(yn,{fillPercent:a?o.fillPercent:0,tickPercent:a?o.tickPercent:null,classes:{track:Y.ringTrack,fill:Y.contextFill,tick:Y.contextTick}}),(0,J.jsx)(`span`,{className:Y.contextText,"aria-hidden":`true`,children:a?o.percentLabel:`—`})]})})}function Pn({label:e,valueLabel:t,valueTitle:n=t,options:r,value:i,onChange:a,defaultOption:o=null,disabled:s=!1,disabledReason:c=null,shortcut:l,openRequest:u,icon:d,danger:f=!1,note:p=null,variant:m=`menu`,iconOnly:h=!1,tooltipPlacement:g=`left`,onOpenChange:_}){let[v,y]=(0,q.useState)(!1),b=(0,q.useRef)(null),x=(0,q.useRef)(null),S=(0,q.useId)(),C=(0,q.useRef)(u),w=(0,q.useRef)(v);w.current=v;let T=(0,q.useRef)(_);T.current=_;let E=(0,q.useCallback)(e=>{y(e),_?.(e)},[_]);(0,q.useEffect)(()=>()=>{w.current&&T.current?.(!1)},[]);let ee=(0,q.useCallback)(e=>{E(!1),e&&x.current?.focus()},[E]);(0,q.useEffect)(()=>{u!==void 0&&u!==C.current&&(C.current=u,!s&&m===`menu`&&E(!0))},[u,s,m,E]),(0,q.useEffect)(()=>{if(!v)return;let e=Array.from(b.current?.querySelectorAll(`[role="menuitemradio"]`)??[]);(e.find(e=>e.getAttribute(`aria-checked`)===`true`)??e[0])?.focus()},[v]),(0,q.useEffect)(()=>{if(!v)return;let e=e=>{b.current&&!b.current.contains(e.target)&&ee(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[v,ee]);function D(e){e.available&&(m===`menu`&&ee(!0),a(e.id))}function te(e){let t=Array.from(b.current?.querySelectorAll(`[role="menuitemradio"]`)??[]);if(t.length===0)return;let n=t.indexOf(document.activeElement),r=e=>t[(e+t.length)%t.length]?.focus();switch(e.key){case`ArrowDown`:e.preventDefault(),r(n+1);return;case`ArrowUp`:e.preventDefault(),r(n-1);return;case`Home`:e.preventDefault(),r(0);return;case`End`:e.preventDefault(),r(t.length-1);return;case`Escape`:m===`menu`&&(e.preventDefault(),e.stopPropagation(),ee(!0));return;case`Tab`:m===`menu`&&ee(!1);return;default:if(e.key.length===1&&/\S/.test(e.key)&&!e.metaKey&&!e.ctrlKey&&!e.altKey){let r=e.key.toLowerCase();for(let i=1;i<=t.length;i++){let a=t[(n+i)%t.length];if((a.dataset.label??``).toLowerCase().startsWith(r)){e.preventDefault(),a.focus();return}}}}}let O=m===`list`?(i===null?o?`__default`:null:i)??(o?`__default`:r[0]?.id??null):null,k=(0,J.jsxs)(J.Fragment,{children:[o?(0,J.jsx)(Fn,{label:o.label,description:o.description??null,checked:i===null,available:!0,danger:!1,tabbable:O===`__default`,onSelect:()=>{m===`menu`&&ee(!0),o.onSelect()}}):null,r.map(e=>(0,J.jsx)(Fn,{label:e.label,description:e.available?e.danger?`Skips every permission check — confirmed for this chat only`:null:e.reason??`Unavailable on this seat`,checked:i===e.id,available:e.available,danger:e.danger===!0,tabbable:O===e.id,onSelect:()=>D(e)},e.id))]});return m===`list`?(0,J.jsxs)(`div`,{ref:b,className:Y.controlList,role:`menu`,"aria-label":e,onKeyDown:te,children:[(0,J.jsx)(`p`,{className:Y.menuHeading,children:e}),k]}):(0,J.jsxs)(`div`,{ref:b,className:Y.controlWrap,children:[(0,J.jsx)(oe,{label:s&&c?c:`${e}: ${n}`,shortcut:s?void 0:l,placement:g,children:(0,J.jsxs)(`button`,{ref:x,type:`button`,className:`${Y.control} ${f?Y.controlDanger:``} ${h?Y.controlIconOnly:``}`,"aria-haspopup":`menu`,"aria-expanded":v,"aria-controls":v?S:void 0,"aria-label":`${e}: ${n}`,disabled:s,onClick:()=>E(!v),onKeyDown:e=>{(e.key===`ArrowUp`||e.key===`ArrowDown`)&&!v&&(e.preventDefault(),E(!0))},children:[d?(0,J.jsx)(`span`,{className:Y.controlIcon,"aria-hidden":`true`,children:d}):null,h?null:(0,J.jsx)(`span`,{className:Y.controlText,children:t}),(0,J.jsx)(`span`,{className:Y.caret,"aria-hidden":`true`})]})}),v?(0,J.jsxs)(`div`,{id:S,role:`menu`,"aria-label":e,className:Y.menu,onKeyDown:te,children:[(0,J.jsxs)(`p`,{className:Y.menuHeading,children:[(0,J.jsx)(`span`,{children:e}),l?(0,J.jsx)(`kbd`,{className:Y.menuKbd,children:l}):null]}),p?(0,J.jsx)(`p`,{className:Y.menuNote,children:p}):null,k]}):null]})}function Fn({tabbable:e=!1,label:t,description:n,checked:r,available:i,danger:a,onSelect:o}){let s=(0,q.useId)();return(0,J.jsxs)(`div`,{role:`menuitemradio`,tabIndex:e?0:-1,"aria-checked":r,"aria-disabled":!i||void 0,"aria-describedby":n?s:void 0,"data-label":t,className:`${Y.menuItem} ${a?Y.menuItemDanger:``}`,onClick:()=>{i&&o()},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),i&&o())},children:[(0,J.jsx)(`span`,{className:Y.menuCheck,"aria-hidden":`true`,children:r?`✓`:``}),(0,J.jsxs)(`span`,{className:Y.menuText,children:[(0,J.jsx)(`span`,{className:Y.menuLabel,children:t}),n?(0,J.jsx)(`span`,{id:s,className:Y.menuDesc,children:n}):null]})]})}var In=(0,q.lazy)(()=>i(()=>import(`./RunInCloudAction-BEGEEM8O.js`).then(e=>({default:e.RunInCloudAction})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39])));function Ln({open:e,onClose:t,children:n}){let r=(0,q.useRef)(null),i=(0,q.useRef)(null),a=(0,q.useId)();return d({open:e,containerRef:r,onClose:t,initialFocusRef:i}),e?(0,Xt.createPortal)((0,J.jsx)(`div`,{className:Y.sheetBackdrop,onMouseDown:e=>{e.target===e.currentTarget&&t()},children:(0,J.jsxs)(`div`,{ref:r,className:Y.sheet,role:`dialog`,"aria-modal":`true`,"aria-labelledby":a,tabIndex:-1,children:[(0,J.jsxs)(`div`,{className:Y.sheetHeader,children:[(0,J.jsx)(`h2`,{id:a,className:Y.sheetTitle,children:`Chat settings`}),(0,J.jsx)(`button`,{ref:i,type:`button`,className:Y.sheetClose,onClick:t,children:`Done`})]}),(0,J.jsx)(`p`,{className:Y.sheetNote,children:`Changes apply from the next turn.`}),(0,J.jsxs)(`div`,{className:Y.sheetBody,children:[n,(0,J.jsx)(q.Suspense,{fallback:null,children:(0,J.jsx)(In,{})})]})]})}),document.body):null}function Rn(e){let t=e.replace(/\s+/g,` `).trim();return t.length>140?`${t.slice(0,139)}…`:t}function zn({queue:e,running:t,disabled:n=!1,onEdit:r,onSendNow:i,onRemove:a}){if(!e||e.items.length===0)return null;let o=e.held,s=e.items.length,c=o?`Held — ${e.heldReason??`the last turn did not finish cleanly.`}`:t?`Queued · sends when this turn ends`:`Queued · sending next`;return(0,J.jsxs)(`section`,{className:`${Y.queue} ${o?Y.queueHeld:``}`,"aria-label":`${s} queued follow-up${s===1?``:`s`}`,children:[(0,J.jsx)(`p`,{className:Y.queueHeading,role:`status`,children:c}),(0,J.jsx)(`ol`,{className:Y.queueList,children:e.items.map((e,o)=>(0,J.jsxs)(`li`,{className:Y.queueItem,children:[(0,J.jsx)(`span`,{className:Y.queueIndex,"aria-hidden":`true`,children:o+1}),(0,J.jsx)(`span`,{className:Y.queueText,title:e.text,children:Rn(e.text)}),(0,J.jsxs)(`span`,{className:Y.queueActions,children:[(0,J.jsx)(`button`,{type:`button`,className:Y.queueButton,disabled:n,"aria-label":`Edit queued message ${o+1}`,onClick:()=>r(e.id,e.text),children:`Edit`}),(0,J.jsx)(`button`,{type:`button`,className:`${Y.queueButton} ${Y.queueButtonPrimary}`,disabled:n,"aria-label":t?`Stop the turn and send queued message ${o+1} now`:`Send queued message ${o+1} now`,onClick:()=>i(e.id),children:`Send now`}),(0,J.jsx)(`button`,{type:`button`,className:Y.queueRemove,disabled:n,"aria-label":`Remove queued message ${o+1}`,onClick:()=>a(e.id),children:(0,J.jsx)(ut,{width:12,height:12,"aria-hidden":`true`})})]})]},e.id))})]})}var Bn=(0,q.lazy)(async()=>({default:(await i(async()=>{let{BudgetControl:e}=await import(`./BudgetControl-TL3FeZ1D.js`).then(e=>e.n);return{BudgetControl:e}},__vite__mapDeps([40,1,2,3,4,5,6,7,8,41,42,30,31,11,9,10,12,13,14,15,16,17,18,19,20,21,22,23,32,25,43,44,45,46,47,34,24,29,48,49,50,51,52]))).BudgetControl}));function Vn(e){let t=e?.capacity?.windows??[];return t.length>0?t:(e?.health.windows??[]).map(e=>({id:e.id,usedPercent:typeof e.usedPercent==`number`&&Number.isFinite(e.usedPercent)?e.usedPercent:null,resetsAt:e.resetsAt,resetDescription:null,limitReached:!1,measured:typeof e.usedPercent==`number`}))}function Hn(e){let t=Vn(e).filter(e=>e.usedPercent!==null||e.limitReached);return t.find(e=>e.id===`five_hour`)||(e?.capacity?.binding?e.capacity.binding:t.reduce((e,t)=>e===null||(t.usedPercent??100)>(e.usedPercent??100)?t:e,null))}function Un(e){return e?.limitReached?`limit`:!e||e.usedPercent===null?`unknown`:e.usedPercent>=100?`limit`:e.usedPercent>=85?`tight`:`ok`}function Wn(e,t){return t!==`local`&&Un(Hn(e))!==`unknown`}function Gn({window:e,size:t=14}){let n=(t-3)/2,r=2*Math.PI*n,i=e?.limitReached?100:e?.usedPercent??null,a=i===null?0:Math.max(0,Math.min(100,i));return(0,J.jsxs)(`svg`,{className:Y.ring,"data-tone":Un(e),width:t,height:t,viewBox:`0 0 ${t} ${t}`,"aria-hidden":`true`,children:[(0,J.jsx)(`circle`,{className:Y.ringTrack,cx:t/2,cy:t/2,r:n,fill:`none`,strokeWidth:`2`}),i===null?null:(0,J.jsx)(`circle`,{className:Y.ringFill,cx:t/2,cy:t/2,r:n,fill:`none`,strokeWidth:`2`,strokeDasharray:`${a/100*r} ${r}`,transform:`rotate(-90 ${t/2} ${t/2})`,strokeLinecap:`round`})]})}function Kn(e){let t=we(e.id),n=e.limitReached?`limit reached`:e.usedPercent===null?`no reading`:`${A(e.usedPercent)} used`,r=e.resetDescription??(e.resetsAt?`resets ${new Date(e.resetsAt).toLocaleString(void 0,{weekday:`short`,hour:`numeric`,minute:`2-digit`})}`:null);return`${t}: ${n}${r?` · ${r}`:``}`}function qn(e,t,n){let r=e?.effective?.[t];if(!r)return{text:n===`error`?`Budget: no reading`:`Budget: loading…`,muted:!0};if(!r.enabled)return{text:`Autonomy never uses this seat — it is all yours.`,muted:!1};let i=Math.max(0,Math.min(100,Math.round(r.reservePercent)));return{text:`Autonomy may use ${100-i}% · ${i}% reserved for you`,muted:!1}}function Jn({seats:e,seat:t,label:n}){let r=l(Pe),i=H(),a=t?ze(e,t.id,{health:i.data?.seats??null,budget:r.data??null}):null,o=a?a.windows.map(e=>({id:e.id,line:Be({label:``},e,e.binding?a.reserve?.percent??null:null).trimStart()})):Vn(t).map(e=>({id:e.id,line:Kn(e)})),s=t&&t.engine!==`local`?qn(r.data??null,t.id,r.status):null;return(0,J.jsxs)(`span`,{className:Y.tip,children:[(0,J.jsx)(`strong`,{children:n}),a?.plan??t?.capacity?.planType?(0,J.jsxs)(`span`,{children:[`Plan: `,a?.plan??t?.capacity?.planType]}):null,o.length>0?o.map(e=>(0,J.jsx)(`span`,{children:e.line},e.id)):(0,J.jsx)(`span`,{className:Y.tipMuted,children:`No capacity reading yet`}),a?(0,J.jsxs)(`span`,{children:[`Health: `,a.word,a.connection&&a.connection.connection!==`connected`&&a.connection.connection!==`unknown`?` · ${a.connection.word}`:``,a.summary?` — ${a.summary}`:``]}):null,s?(0,J.jsx)(`span`,{className:s.muted?Y.tipMuted:void 0,children:s.text}):null,t&&t.engine===`local`?(0,J.jsx)(`span`,{children:`Local — no usage limits`}):null]})}function Yn({seats:e,seat:t,engine:n,label:r,name:i=r,disabled:a=!1,compact:o=!1,onContinueOn:s,onNewChat:c}){let[l,u]=(0,q.useState)(!1),[d,p]=(0,q.useState)(!1),[h,g]=(0,q.useState)(!1),_=(0,q.useRef)(null),v=(0,q.useId)(),y=(0,q.useRef)(null),b=(0,q.useRef)(null),x=(0,q.useId)(),S=(0,q.useId)(),C=e.find(e=>e.id===t.seatId),w=n===`local`?null:Hn(C),T=e.filter(e=>e.id!==t.seatId&&e.health.state!==`unavailable`&&R(e)!==null),E=w&&(w.usedPercent!==null||w.limitReached)?`${we(w.id)} ${w.limitReached?`limit reached`:`${A(w.usedPercent??0)} used`}`:n===`local`?`no usage limits`:`no capacity reading`;(0,q.useEffect)(()=>()=>{_.current&&clearTimeout(_.current)},[]);function ee(e){if(_.current&&clearTimeout(_.current),!e){g(!0);return}_.current=setTimeout(()=>g(!0),200)}function D(){_.current&&clearTimeout(_.current),_.current=null,g(!1)}(0,q.useEffect)(()=>{if(!l)return;let e=e=>{y.current&&!y.current.contains(e.target)&&u(!1)};return document.addEventListener(`pointerdown`,e),y.current?.querySelector(`[role="menuitem"]`)?.focus(),()=>document.removeEventListener(`pointerdown`,e)},[l]);function te(e){let t=Array.from(y.current?.querySelectorAll(`[role="menuitem"]`)??[]),n=t.indexOf(document.activeElement);e.key===`Escape`?(e.preventDefault(),e.stopPropagation(),u(!1),b.current?.focus()):e.key===`ArrowDown`||e.key===`ArrowUp`?(e.preventDefault(),t[((e.key===`ArrowDown`?n+1:n-1)+t.length)%t.length]?.focus()):e.key===`Home`||e.key===`End`?(e.preventDefault(),(e.key===`Home`?t[0]:t[t.length-1])?.focus()):e.key===`Tab`&&u(!1)}function O(e){u(!1),e()}return(0,J.jsxs)(`div`,{ref:y,className:`${Y.seatChipWrap} ${Y[`engine-${n}`]??``}`,children:[(0,J.jsxs)(`button`,{ref:b,type:`button`,className:`${Y.seatChip} ${o?Y.seatChipCompact:``}`,"aria-haspopup":`menu`,"aria-expanded":l,"aria-controls":l?x:void 0,disabled:a,"aria-label":`Seat: ${i}, ${E}`,"aria-describedby":h&&!l?v:void 0,onMouseEnter:()=>ee(!0),onMouseLeave:D,onFocus:e=>{e.currentTarget.matches(`:focus-visible`)&&ee(!1)},onBlur:D,onKeyDown:e=>{e.key===`Escape`&&h&&!l&&(e.stopPropagation(),D())},onClick:()=>{D(),u(e=>!e)},children:[(0,J.jsx)(`span`,{className:Y.monogram,"aria-hidden":`true`,children:(0,J.jsx)(m,{engine:n,size:13})}),o?null:(0,J.jsx)(`span`,{className:Y.seatChipText,children:i}),Wn(C,n)?(0,J.jsx)(Gn,{window:w}):null]}),h&&!l?(0,J.jsx)(`span`,{id:v,role:`tooltip`,className:Y.seatTip,children:(0,J.jsx)(Jn,{seats:e,seat:C,label:r})}):null,l?(0,J.jsxs)(`div`,{id:x,role:`menu`,"aria-label":`Seat`,className:`${Y.menu} ${Y.menuWide}`,onKeyDown:te,children:[(0,J.jsx)(`p`,{className:Y.menuHeading,children:(0,J.jsxs)(`span`,{children:[`This chat runs on `,(0,J.jsx)(`strong`,{children:r})]})}),T.map(e=>{let t=R(e),n=Ce(e);return(0,J.jsxs)(`button`,{type:`button`,role:`menuitem`,className:`${Y.menuItem} ${Y[`engine-${e.engine}`]??``}`,"data-capacity":n.cls,onClick:()=>O(()=>(s??c)({seatId:e.id,model:t.id})),children:[(0,J.jsx)(`span`,{className:Y.monogram,"aria-hidden":`true`,children:(0,J.jsx)(m,{engine:e.engine,size:13})}),(0,J.jsxs)(`span`,{className:Y.menuText,children:[(0,J.jsxs)(`span`,{className:Y.menuLabel,children:[s?`Continue on`:`New chat on`,` `,e.label]}),(0,J.jsxs)(`span`,{className:Y.menuDesc,children:[t.label,n.cls===`unread`?``:` · ${xe[n.cls]}, ${n.text}`]})]})]},e.id)}),T.length===0?(0,J.jsx)(`p`,{className:Y.menuNote,children:`No other seat can take this chat right now.`}):null,(0,J.jsx)(`div`,{className:Y.menuSeparator,role:`separator`}),(0,J.jsxs)(`button`,{type:`button`,role:`menuitem`,className:Y.menuItem,onClick:()=>O(()=>c({seatId:t.seatId,model:t.model})),children:[(0,J.jsx)(`span`,{className:Y.menuCheck,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:Y.menuText,children:(0,J.jsx)(`span`,{className:Y.menuLabel,children:`New chat on this seat`})})]}),n===`local`?null:(0,J.jsxs)(`button`,{type:`button`,role:`menuitem`,className:Y.menuItem,onClick:()=>O(()=>p(!0)),children:[(0,J.jsx)(`span`,{className:Y.menuCheck,"aria-hidden":`true`}),(0,J.jsxs)(`span`,{className:Y.menuText,children:[(0,J.jsx)(`span`,{className:Y.menuLabel,children:`Budget mode…`}),(0,J.jsx)(`span`,{className:Y.menuDesc,children:`How much of this seat autonomy may use`})]})]})]}):null,(0,J.jsx)(f,{open:d,onClose:()=>p(!1),titleId:S,title:`Budget mode`,widthClassName:Y.budgetDialog,description:`What autonomy may spend on each seat, and what stays reserved for your own chats.`,children:d?(0,J.jsx)(q.Suspense,{fallback:(0,J.jsx)(`p`,{className:Y.menuNote,children:`Loading budget…`}),children:(0,J.jsx)(Bn,{})}):null})]})}function Xn(e,t){return`${e}-opt-${t}`}function Zn({id:e,label:t,items:n,activeIndex:r,status:i=null,onPick:a,onHover:o}){return(0,J.jsxs)(`div`,{className:Y.suggest,children:[(0,J.jsx)(`p`,{className:Y.suggestHeading,children:t}),n.length===0?(0,J.jsx)(`p`,{className:Y.suggestStatus,role:`status`,children:i??`Nothing matches`}):(0,J.jsx)(`ul`,{id:e,role:`listbox`,"aria-label":t,className:Y.suggestList,children:n.map((t,n)=>(0,J.jsxs)(`li`,{id:Xn(e,n),role:`option`,"aria-selected":n===r,"aria-disabled":t.disabledReason?!0:void 0,className:Y.suggestItem,onMouseDown:e=>e.preventDefault(),onMouseEnter:()=>o(n),onClick:()=>a(n),children:[(0,J.jsx)(`span`,{className:Y.suggestPrimary,children:t.primary}),t.disabledReason?(0,J.jsx)(`span`,{className:Y.suggestSecondary,children:t.disabledReason}):t.secondary?(0,J.jsx)(`span`,{className:Y.suggestSecondary,children:t.secondary}):null]},t.id))}),n.length>0&&i?(0,J.jsx)(`p`,{className:Y.suggestStatus,role:`status`,children:i}):null]})}function Qn(e,t,n){let[r,i]=(0,q.useState)(null),[a,o]=(0,q.useState)(e!==null),[s,c]=(0,q.useState)(null),[l,u]=(0,q.useState)(!1);return(0,q.useEffect)(()=>{if(!e){i(null),o(!1);return}let t=new AbortController;return wt(e,t.signal).then(e=>{i(e),c(null)}).catch(e=>{t.signal.aborted||(i(null),c(kt(e)))}).finally(()=>{t.signal.aborted||o(!1)}),()=>t.abort()},[e,t]),{view:r,loading:a,error:s,pending:l,update:(0,q.useCallback)(async(t,r)=>{if(!e)return!1;u(!0),c(null);try{let a=await n(r,()=>Tt(e,t));return a?(i(a),!0):!1}catch(e){return c(kt(e)),!1}finally{u(!1)}},[e,n])}}function $n(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e;if(!Array.isArray(t.items))return null;let n=t.items.filter(e=>{if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.id==`string`&&typeof t.text==`string`});return{...t,sessionId:typeof t.sessionId==`string`?t.sessionId:``,items:n,held:t.held===!0,heldReason:typeof t.heldReason==`string`?t.heldReason:null}}function er(e,t,n){let[r,i]=(0,q.useState)(null),[a,o]=(0,q.useState)(null),[s,c]=(0,q.useState)(0);(0,q.useEffect)(()=>{if(!e){i(null);return}let t=new AbortController;return yt(e,t.signal).then(e=>{t.signal.aborted||i($n(e))}).catch(()=>{t.signal.aborted||i(null)}),()=>t.abort()},[e,t,s]);let l=(0,q.useCallback)(async(e,t)=>{o(null);try{let r=await n(e,t);if(r===null)return null;let a=$n(r);return a&&i(a),a??r}catch(e){return o(kt(e)),null}},[n]);return{queue:r,error:a,enqueue:(0,q.useCallback)((t,n={})=>e?l(n.sendNow?`Stop the running turn and send this next.`:`Queue this message to send when the turn ends.`,()=>Et(e,t,n)):Promise.resolve(null),[e,l]),remove:(0,q.useCallback)(async t=>e?await l(`Remove this queued message.`,()=>Dt(e,t))!==null:!1,[e,l]),sendNow:(0,q.useCallback)(async t=>e?await l(`Send this queued message now.`,()=>xt(e,t))!==null:!1,[e,l]),refresh:(0,q.useCallback)(()=>c(e=>e+1),[]),clearError:(0,q.useCallback)(()=>o(null),[])}}var tr=0;function nr(e,t){let[n,r]=(0,q.useState)([]),i=(0,q.useRef)(new Set);(0,q.useEffect)(()=>()=>{for(let e of i.current)URL.revokeObjectURL(e);i.current.clear()},[]);let a=(0,q.useCallback)((e,t)=>{r(n=>n.map(n=>n.key===e?{...n,...t}:n))},[]);return{drafts:n,add:(0,q.useCallback)((n,o)=>{if(e)for(let s of n){tr+=1;let n=`att-${tr}`,c=s.type.startsWith(`image/`),l=null;c&&typeof URL.createObjectURL==`function`&&(l=URL.createObjectURL(s),i.current.add(l));let u=s.name||(c?`pasted-image.png`:`attachment`),d=s.type||`application/octet-stream`,f={key:n,name:u,mime:d,bytes:s.size,status:`uploading`,previewUrl:l,error:null,attachment:null};if(r(e=>[...e,f]),s.size>8388608){a(n,{status:`error`,error:`${cn(s.size)} — each file must be ${cn(S)} or smaller`});continue}if(s.size===0){a(n,{status:`error`,error:`The file is empty.`});continue}(async()=>{try{let r=await ln(s),i=await t(`Attach this file to the chat.`,()=>St(e,{name:u,mime:d,dataBase64:r}));if(!i){a(n,{status:`error`,error:`Not attached — the chat is locked.`});return}a(n,{status:`ready`,attachment:i,name:i.name}),o(i.ref)}catch(e){a(n,{status:`error`,error:kt(e)})}})()}},[e,t,a]),remove:(0,q.useCallback)(async a=>{let o=n.find(e=>e.key===a);if(!o)return null;if(r(e=>e.filter(e=>e.key!==a)),o.previewUrl&&(URL.revokeObjectURL(o.previewUrl),i.current.delete(o.previewUrl)),o.attachment&&e){let n=o.attachment;try{await t(`Remove this attachment.`,()=>vt(e,n.id))}catch{}return n.ref}return null},[n,e,t]),reset:(0,q.useCallback)(()=>{r(e=>{for(let t of e)t.previewUrl&&(URL.revokeObjectURL(t.previewUrl),i.current.delete(t.previewUrl));return[]})},[]),uploading:n.some(e=>e.status===`uploading`)}}function rr(e,t){if(e.moving)return;e.moving=!0;let n=typeof document>`u`?null:document.activeElement;e.focusBefore=n&&t.contains(n)?n:null}function ir(e,t,n){let r=t;for(;r>0;){let t=e[r-1];if(t===void 0||t>n)break;--r}return r}function ar(e,t,n={}){let{hold:r=!1,onSettle:i}=n,[a,o]=(0,q.useState)(0),[s,c]=(0,q.useState)(0),[l,u]=(0,q.useState)(0),d=(0,q.useRef)({key:null,latest:``,widths:[],width:0,fold:0,hold:!1,moving:!1,focusBefore:null}),f=(0,q.useRef)(i);f.current=i;let p=`${l}|${t}`;return(0,q.useLayoutEffect)(()=>{let t=d.current;t.fold=a,t.hold=r,t.latest=p;let n=e.current,i=n?.clientWidth??0;if(n&&!r&&i>0){if(t.key!==p){if(t.key=p,t.widths=[],t.width=i,a!==0){rr(t,n),o(0);return}}else if(i!==t.width){t.width=i;let e=ir(t.widths,a,i);if(e!==a){rr(t,n),o(e);return}}let e=n.scrollWidth;if(e>i&&(t.widths[a]=e,a<4)){rr(t,n),o(a+1);return}}let s=t.focusBefore;t.moving=!1,t.focusBefore=null,f.current?.(a,s)},[e,p,r,a,s]),(0,q.useEffect)(()=>{let t=e.current;if(!t||typeof ResizeObserver>`u`)return;let n=new ResizeObserver(()=>{let e=d.current,n=t.clientWidth;if(e.hold||n===0)return;if(e.key!==e.latest){(0,Xt.flushSync)(()=>c(e=>e+1));return}if(n===e.width)return;e.width=n;let r=ir(e.widths,e.fold,n);r===e.fold&&t.scrollWidth>n&&(e.widths[e.fold]=t.scrollWidth,r=Math.min(e.fold+1,4)),r!==e.fold&&(rr(e,t),(0,Xt.flushSync)(()=>o(r)))});return n.observe(t),()=>n.disconnect()},[e]),(0,q.useEffect)(()=>{let e=typeof document>`u`?void 0:document.fonts;if(!e||typeof e.addEventListener!=`function`)return;let t=()=>u(e=>e+1);return e.addEventListener(`loadingdone`,t),()=>e.removeEventListener(`loadingdone`,t)},[]),a}var or=`Use Wispr Flow / Superwhisper — system dictation works in this box`;function sr(){let e=globalThis;return e.SpeechRecognition??e.webkitSpeechRecognition??null}function cr({disabled:e=!1,onInterim:t,onFinal:n,onListeningChange:r}){let i=sr(),[a,o]=(0,q.useState)(!1),[s,c]=(0,q.useState)(null),l=(0,q.useRef)(null),u=(0,q.useRef)({onInterim:t,onFinal:n,onListeningChange:r});u.current={onInterim:t,onFinal:n,onListeningChange:r};let d=(0,q.useCallback)(()=>{let e=l.current;if(l.current=null,e){e.onresult=null,e.onend=null,e.onerror=null;try{e.stop()}catch{}}o(!1),u.current.onInterim(``),u.current.onListeningChange?.(!1)},[]),f=(0,q.useCallback)(()=>{if(!i||l.current)return;let e;try{e=new i}catch{c(`Dictation could not start in this browser.`);return}e.lang=navigator.language||`en-US`,e.continuous=!0,e.interimResults=!0,e.onresult=e=>{let t=``,n=``;for(let r=e.resultIndex;r<e.results.length;r+=1){let i=e.results[r];if(!i)continue;let a=i[0]?.transcript??``;i.isFinal?n+=a:t+=a}n&&u.current.onFinal(n.trim()),u.current.onInterim(t)},e.onerror=e=>{let t=e.error??`unknown`;t===`not-allowed`||t===`service-not-allowed`?c(`Microphone access was denied.`):t!==`aborted`&&t!==`no-speech`&&c(`Dictation stopped (${t}).`),d()},e.onend=()=>{l.current===e&&d()},l.current=e,c(null);try{e.start()}catch{l.current=null,c(`Dictation could not start in this browser.`);return}o(!0),u.current.onListeningChange?.(!0)},[i,d]);return(0,q.useEffect)(()=>{if(!a)return;function e(e){e.key===`Escape`&&(e.preventDefault(),d())}return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a,d]),(0,q.useEffect)(()=>()=>{let e=l.current;l.current=null;try{e?.abort()}catch{}},[]),i?(0,J.jsxs)(`span`,{className:V.dictationWrap,children:[(0,J.jsx)(oe,{label:a?`Stop dictation`:`Dictate`,shortcut:a?`Esc`:void 0,placement:`top`,children:(0,J.jsxs)(`button`,{type:`button`,className:`${V.dictation} ${a?V.dictationLive:``}`,disabled:e&&!a,"aria-pressed":a,"aria-label":a?`Stop dictation (Esc)`:`Start dictation`,onClick:()=>a?d():f(),children:[(0,J.jsx)(lr,{}),a?(0,J.jsx)(`span`,{className:V.dictationPulse,"aria-hidden":`true`}):null]})}),s?(0,J.jsx)(`span`,{role:`alert`,className:V.dictationError,children:s}):null]}):(0,J.jsx)(`span`,{className:V.dictationWrap,children:(0,J.jsx)(oe,{label:or,placement:`top`,children:(0,J.jsxs)(`button`,{type:`button`,className:V.dictation,disabled:!0,"aria-disabled":`true`,children:[(0,J.jsx)(lr,{}),(0,J.jsx)(`span`,{className:`visually-hidden`,children:`Dictation unavailable`})]})})})}function lr(){return(0,J.jsxs)(`svg`,{viewBox:`0 0 20 20`,width:`16`,height:`16`,"aria-hidden":`true`,focusable:`false`,children:[(0,J.jsx)(`rect`,{x:`7`,y:`2`,width:`6`,height:`10`,rx:`3`,fill:`currentColor`}),(0,J.jsx)(`path`,{d:`M4.5 9.5a5.5 5.5 0 0 0 11 0M10 15v3M7 18h6`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.6`,strokeLinecap:`round`})]})}var Z={banner:`_banner_tv0om_4`,head:`_head_tv0om_22`,headline:`_headline_tv0om_29`,list:`_list_tv0om_36`,row:`_row_tv0om_44`,rowHead:`_rowHead_tv0om_50`,dot:`_dot_tv0om_57`,label:`_label_tv0om_70`,word:`_word_tv0om_72`,reset:`_reset_tv0om_76`,detail:`_detail_tv0om_81`,actions:`_actions_tv0om_88`,command:`_command_tv0om_95`,status:`_status_tv0om_105`,block:`_block_tv0om_114`,blockReason:`_blockReason_tv0om_126`,alternatives:`_alternatives_tv0om_132`,alternativesLabel:`_alternativesLabel_tv0om_139`},ur=3;function dr({seats:e,seatId:t,reports:n=null,onSeatChange:r,onReconnect:i=Ie,now:a=Date.now()}){let[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(null),u=e.find(e=>e.id===t)??null;if(u===null)return null;let d=n?.find(e=>e.seatId===t)??null,f=ke(u,d,a);if(f===null)return null;let p=Oe(t,e,n,a).map(t=>e.find(e=>e.id===t)).filter(e=>e!==void 0).slice(0,ur),m=async()=>{s(!0),l(null);try{await i(t),l({text:`Sign-in opened in Terminal. Send again once you have finished there.`,error:!1})}catch(e){l({text:e instanceof Error&&e.message?e.message:`The sign-in window could not be opened.`,error:!0})}finally{s(!1)}};return(0,J.jsxs)(`div`,{className:Z.block,role:`alert`,"data-connection":f.connection,children:[(0,J.jsx)(`p`,{className:Z.blockReason,children:f.reason}),(0,J.jsxs)(`div`,{className:Z.alternatives,children:[f.connection===`signed-out`?(0,J.jsxs)(W,{size:`sm`,variant:`primary`,icon:(0,J.jsx)(at,{}),busy:o,onClick:()=>{m()},children:[`Reconnect `,u.label]}):null,p.length>0?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:Z.alternativesLabel,children:`Continue in a new chat on`}),p.map(e=>{let t=R(e);return t===null?null:(0,J.jsx)(W,{size:`sm`,variant:`subtle`,onClick:()=>r({seatId:e.id,model:t.id}),children:e.label},e.id)})]}):(0,J.jsx)(`span`,{className:Z.alternativesLabel,children:`No other seat is ready right now.`})]}),c===null?null:(0,J.jsx)(`p`,{className:Z.status,"aria-live":`polite`,"data-error":c.error?`true`:void 0,children:c.text})]})}function fr({active:e=!0,...t}){let n=H(e);return(0,J.jsx)(dr,{...t,reports:n.data?.seats??null})}var pr=65536,mr=400,hr=120,gr=.4,_r=320;function vr({children:e}){return(0,J.jsx)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:1.5,strokeLinecap:`round`,strokeLinejoin:`round`,focusable:`false`,"aria-hidden":`true`,children:e})}var yr={plan:(0,J.jsx)(vr,{children:(0,J.jsx)(`path`,{d:`M8 2.2 13.8 8 8 13.8 2.2 8Z`})}),"accept-edits":(0,J.jsxs)(vr,{children:[(0,J.jsx)(`path`,{d:`M10.6 2.9 13.1 5.4 5.6 12.9 2.6 13.4 3.1 10.4Z`}),(0,J.jsx)(`path`,{d:`M9.2 4.3 11.7 6.8`})]}),auto:(0,J.jsxs)(vr,{children:[(0,J.jsx)(`path`,{d:`M13.2 7.2a5.2 5.2 0 1 0-.7 3.5`}),(0,J.jsx)(`path`,{d:`M13.5 3.4v3.9h-3.9`})]}),bypass:(0,J.jsxs)(vr,{children:[(0,J.jsx)(`path`,{d:`M8 2.6 14.2 13H1.8L8 2.6Z`}),(0,J.jsx)(`path`,{d:`M8 6.6v3`}),(0,J.jsx)(`circle`,{cx:`8`,cy:`11.3`,r:`0.75`,fill:`currentColor`,stroke:`none`})]})},br={plan:`Plan`,"accept-edits":`Accept edits`,auto:`Auto`,bypass:`Bypass`},xr=(0,J.jsx)(vr,{children:(0,J.jsx)(`path`,{d:`M3.5 12.5v-2.5M8 12.5V7.5M12.5 12.5v-8`})}),Sr=(0,J.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`currentColor`,focusable:`false`,"aria-hidden":`true`,children:[(0,J.jsx)(`circle`,{cx:`3.5`,cy:`8`,r:`1.25`}),(0,J.jsx)(`circle`,{cx:`8`,cy:`8`,r:`1.25`}),(0,J.jsx)(`circle`,{cx:`12.5`,cy:`8`,r:`1.25`})]});function Cr({sessionId:e=null,seats:t,seat:n,engine:r,running:i,disabled:c,disabledReason:l,locked:d,hintSeen:f=!1,contextTokens:m=null,contextWindow:h=null,autoCompactAt:g=null,contextExact:_=!0,handoffDraft:v=!1,onSend:y,onStop:x,onSeatChange:S,onContinueOn:w,onHandoff:T,handoffDisabledReason:E=null,queueSlot:ee=null,insertRequest:D=null,autoFocus:te=!1}){let{compact:O}=C(),k=Ot(),ne=k.run,A=Qn(c?null:e,i,ne),j=er(c?null:e,i,ne),se=nr(c?null:e,ne),[M,N]=(0,q.useState)(()=>o(e)),[P,F]=(0,q.useState)(``),[I,ce]=(0,q.useState)(!1),[le,ue]=(0,q.useState)(!1),[de,fe]=(0,q.useState)(!1),[pe,L]=(0,q.useState)(null),[me,he]=(0,q.useState)(-1),[R]=(0,q.useState)(()=>s(e)),ge=(0,q.useRef)(R),_e=(0,q.useRef)(``),z=(0,q.useRef)(null),ye=(0,q.useRef)(null),xe=(0,q.useRef)(null),Se=(0,q.useRef)(null),Ce=(0,q.useRef)(!1),we=(0,q.useId)(),Ee=(0,q.useId)(),[De,Oe]=(0,q.useState)(null),[ke,Ae]=(0,q.useState)(null),[je,Me]=(0,q.useState)(0),[Ne,Pe]=(0,q.useState)(null),[Fe,Ie]=(0,q.useState)(null),[H,Le]=(0,q.useState)({permission:0,model:0,effort:0}),[U,Re]=(0,q.useState)({permission:!1,model:!1,effort:!1}),[ze,Be]=(0,q.useState)(!1),[Ve,W]=(0,q.useState)(!1),[He,Ue]=(0,q.useState)(!1),We=P?`${M}${M&&!M.endsWith(` `)?` `:``}${P}`:M,Ge=(0,q.useMemo)(()=>new TextEncoder().encode(We).length>pr,[We]),Ke=j.queue,qe=Ke!==null,Je=(Ke?.items.length??0)>=3,Ye=We.trim().length>0,Xe=se.uploading,Ze=!c&&!I&&Ye&&!Ge&&!Xe&&(!i||qe&&!Je),Qe=!f&&!de,$e=v&&!de&&Ye,et=(0,q.useMemo)(()=>Qt(We,{contextTokens:m,contextWindow:h,autoCompactAt:g,exact:_}),[We,m,h,g,_]),G=A.view,tt=r??t.find(e=>e.id===n.seatId)?.engine??`claude`,nt=Te(t,{seatId:n.seatId,engine:tt,model:G?.controls.model??n.model}),rt=tt===`local`?ve.local:t.find(e=>e.id===n.seatId)?.label??ve[tt],it=G?Tr(G.options.models,G.controls.model):be(t,n),at=G?.options.efforts.some(e=>e.available)===!0,ot=G?.controls.effort?Tr(G.options.efforts,G.controls.effort):`Default`,ct=(0,q.useRef)(null),lt=Wn(t.find(e=>e.id===n.seatId),tt),ut=Object.values(U).some(Boolean),dt=ar(ct,[rt,it,at&&ot,G?.controls.permissionMode,i,qe,Je,d,c,lt,O].join(`|`),{hold:ze||ut,onSettle:(e,t)=>{let n=document.activeElement,r=n===null||n===document.body,i=Ce.current;Ce.current=!1,r&&(i||t!==null&&!t.isConnected)&&((O||e>=4?Se.current:null)??z.current)?.focus()}}),ft=O||dt>=4,pt=tt===`grok`?`Grok can only open files inside the project folder, so it can’t read attachments.`:null,mt=(0,q.useRef)(M),ht=(0,q.useRef)(M);ht.current=M;let gt=(0,q.useCallback)(()=>{mt.current!==ht.current&&(mt.current=ht.current,a(e,ht.current))},[e]);(0,q.useEffect)(()=>{if(mt.current===M)return;let e=setTimeout(gt,mr);return()=>clearTimeout(e)},[M,gt]),(0,q.useEffect)(()=>(window.addEventListener(`beforeunload`,gt),()=>{window.removeEventListener(`beforeunload`,gt),gt()}),[gt]),(0,q.useEffect)(()=>{te&&z.current?.focus()},[te]);let _t=(0,q.useRef)(D?.nonce??null);(0,q.useEffect)(()=>{if(!D||D.nonce===_t.current)return;_t.current=D.nonce;let e=D.text.replace(/\s+$/,``);e&&(N(t=>t.trim()?`${t.replace(/\s+$/,``)}\n\n${e}`:e),Et(2**53-1))},[D]),(0,q.useEffect)(()=>{if(!i)return;let e=e=>{e.key!==`.`||!e.metaKey&&!e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),x())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[i,x]),(0,q.useEffect)(()=>{if(i||!te)return;let e=document.activeElement,t=e!==null&&e!==z.current&&ye.current?.contains(e)===!0;(e===null||e===document.body||!e.isConnected||t)&&z.current?.focus()},[i,te]),(0,q.useEffect)(()=>{let e=z.current;if(!e)return;let t=typeof window>`u`?0:window.innerHeight,n=t>0?Math.round(t*gr):_r;e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,n)}px`},[We]);let K=(0,q.useMemo)(()=>{if(c||P||De===null)return null;let t=en(M,De);return!t||t.start===ke||t.kind===`mention`&&!e?null:t},[M,De,c,P,ke,e]);(0,q.useEffect)(()=>{if(K?.kind!==`mention`||!e){Ie(null);return}let t=new AbortController,n=setTimeout(()=>{bt(e,K.query,t.signal).then(e=>{Pe({query:e.query,files:e.files,primaryRoot:e.primaryRoot??null}),Ie(null)}).catch(()=>{t.signal.aborted||Ie(`Files could not be listed.`)})},hr);return()=>{clearTimeout(n),t.abort()}},[K?.kind,K?.query,e]);let vt=K?.kind===`command`?an(K.query):[],yt=(0,q.useCallback)(e=>e===`handoff`&&!T?`Use Hand off in the chat header’s Chat actions menu`:e===`handoff`&&E?E:(e===`plan`||e===`effort`||e===`model`)&&!G?`This server has no session controls yet`:e===`plan`&&G&&!G.options.permissionModes.find(e=>e.id===`plan`)?.available?`This seat has no plan mode`:null,[T,E,G]),xt=K?.kind===`command`?vt.map(e=>({id:e.id,primary:e.title,secondary:e.description,disabledReason:yt(e.id)})):K?.kind===`mention`?(Ne?.files??[]).slice(0,12).map(e=>({id:`${e.root}:${e.path}`,primary:e.path,secondary:Ne?.primaryRoot===e.root?null:e.root})):[],St=K!==null,Ct=K?.kind===`mention`?Fe??(Ne===null||Ne.query!==K.query?`Searching…`:xt.length===0?`No files match`:null):null,wt=xt.length===0?0:Math.min(je,xt.length-1);(0,q.useEffect)(()=>{Me(0)},[K?.kind,K?.query]);function Tt(){let e=z.current;e&&Oe(e.selectionStart===e.selectionEnd?e.selectionStart:null)}function Et(e){requestAnimationFrame(()=>{let t=z.current;if(!t)return;let n=Math.min(e,t.value.length);t.focus(),t.setSelectionRange(n,n),Oe(n)})}let Dt=(0,q.useCallback)(e=>{if(ft){Be(!0);return}Le(t=>({...t,[e]:t[e]+1}))},[ft]);function kt(e){if(!K)return;let t=yt(e.id);if(t){L({text:t,error:!1});return}let r=`${M.slice(0,K.start)}${M.slice(K.end)}`.replace(/^\s+/,``);switch(e.id){case`compact`:{let e=tn(M,K,`/compact`);N(e.text),Et(e.caret);return}case`new`:N(r),S({seatId:n.seatId,model:G?.controls.model??n.model});return;case`handoff`:N(r),T?.();return;case`plan`:N(r),Et(0),jt(`plan`);return;case`effort`:case`model`:N(r),Dt(e.id);return}}function At(e){if(!K)return;if(K.kind===`command`){let t=vt[e];t&&kt(t);return}let t=Ne?.files[e];if(!t)return;let n=tn(M,K,nn(t,Ne?.primaryRoot??null));N(n.text),Et(n.caret)}let jt=(0,q.useCallback)(async e=>{if(e===`bypass`){W(!0);return}await A.update({permissionMode:e},`Change this chat’s permission mode.`)&&L({text:i?`Permission mode changes from the next turn.`:`Permission mode: ${Tr(G?.options.permissionModes,e)}.`,error:!1})},[A,i,G]),Mt=(0,q.useCallback)(async e=>{await A.update({model:e},`Change this chat’s model.`)&&L({text:i?`The new model takes over from the next turn.`:`Model: ${Tr(G?.options.models,e)}.`,error:!1})},[A,i,G]),Nt=(0,q.useCallback)(async e=>{await A.update({effort:e},`Change this chat’s reasoning effort.`)&&L({text:i?`Effort changes from the next turn.`:`Effort: ${e?Tr(G?.options.efforts,e):`the CLI default`}.`,error:!1})},[A,i,G]);async function Pt(){W(!1),await A.update({permissionMode:`bypass`,confirmBypass:!0},`Bypass permissions for this chat.`)&&L({text:`Bypass is on for this chat — every check is skipped.`,error:!1}),z.current?.focus()}let Ft=(0,q.useCallback)(e=>{if(!(e.length===0||c)){if(pt){L({text:pt,error:!0});return}se.add(e,e=>{N(t=>on(t,e).text)})}},[se,pt,c]);async function It(e){let t=await se.remove(e);t&&N(e=>sn(e,t))}function Lt(e){let t=Array.from(e.clipboardData?.files??[]);t.length!==0&&(e.preventDefault(),Ft(t))}function Rt(e){Ue(!1);let t=Array.from(e.dataTransfer?.files??[]);t.length!==0&&(e.preventDefault(),Ft(t))}let zt=(0,q.useCallback)(()=>{if(!c){if(pt){L({text:pt,error:!0});return}xe.current?.click()}},[c,pt]),Bt=(0,q.useCallback)(t=>{ge.current[ge.current.length-1]!==t&&(ge.current=[...ge.current,t]),u(e,t),he(-1),_e.current=``,N(``),mt.current=``,ht.current=``,a(e,``),F(``),fe(!0),se.reset()},[e,se]),Vt=(0,q.useCallback)(async(e=`send`)=>{if(c||I||Ge)return;let t=We.trim();if(t){if(Xe){L({text:`Wait for the attachments to finish uploading.`,error:!1});return}ce(!0),L(null);try{if(i&&qe){if(e!==`stop-and-send`&&Je){L({text:`Up to 3 follow-ups can wait — send or remove one first.`,error:!0});return}await j.enqueue(t,{sendNow:e===`stop-and-send`})&&(Bt(t),e===`stop-and-send`&&L({text:`Stopping the turn — this message goes next.`,error:!1}));return}if(i)return;await y(t)&&Bt(t)}finally{ce(!1),z.current?.focus()}}},[c,I,Ge,We,Xe,i,qe,Je,j,Bt,y]);async function Ht(e,t){await j.remove(e)&&(N(e=>e.trim()?`${e.replace(/\s+$/,``)}\n\n${t}`:t),Et(2**53-1))}let Ut=St||ut||ze&&G!==null||Ve||k.dialog.open,Wt=(0,q.useCallback)(e=>{switch(e){case`composer.permission`:Dt(`permission`);return;case`composer.model`:Dt(`model`);return;case`composer.effort`:Dt(`effort`);return;case`composer.attach`:zt();return;case`composer.send`:Vt(`send`);return;case`composer.stop-and-send`:Vt(`stop-and-send`);return;case`composer.stop`:i&&x();return}},[Dt,zt,Vt,i,x]);(0,q.useEffect)(()=>{if(c)return;let e=e=>{if(!(e.defaultPrevented||document.querySelector(`[role="dialog"][aria-modal="true"]`))){for(let t of[`composer.permission`,`composer.model`,`composer.effort`,`composer.attach`])if(re(e,t)){e.preventDefault(),Wt(t);return}}},t=e=>{let t=e.detail?.id;typeof t==`string`&&ae.includes(t)&&Wt(t)};return document.addEventListener(`keydown`,e),window.addEventListener(b,t),()=>{document.removeEventListener(`keydown`,e),window.removeEventListener(b,t)}},[c,Wt]);function Gt(e){let t=ge.current;if(t.length===0)return!1;if(me===-1){if(e>0)return!1;_e.current=M;let n=t.length-1;return he(n),N(t[n]),F(``),!0}let n=me+e;return n<0?!0:n>=t.length?(he(-1),N(_e.current),!0):(he(n),N(t[n]),!0)}function Kt(e){let t=e.currentTarget,n=t.selectionStart===t.selectionEnd,r=e.nativeEvent.isComposing;if(St&&!r){if(e.key===`ArrowDown`||e.key===`ArrowUp`){if(xt.length>0){e.preventDefault();let t=e.key===`ArrowDown`?1:-1;Me((wt+t+xt.length)%xt.length)}return}if(e.key===`Enter`&&!e.shiftKey&&!e.metaKey&&!e.ctrlKey||e.key===`Tab`){if(xt.length>0){e.preventDefault(),At(wt);return}if(e.key===`Tab`)return}if(e.key===`Escape`){e.preventDefault(),e.stopPropagation(),Ae(K?.start??null);return}}if(!r&&re(e,`composer.stop-and-send`)){e.preventDefault(),Vt(`stop-and-send`);return}if(e.key===`Enter`&&!e.shiftKey&&!r){e.preventDefault(),Vt(`send`);return}if(!r&&e.key===`Escape`&&!e.metaKey&&!e.ctrlKey&&!e.shiftKey&&!e.altKey){i&&!Ye&&!Ut&&(e.preventDefault(),x());return}if(e.key===`ArrowUp`&&n&&(me!==-1||t.selectionStart===0&&!P)){Gt(-1)&&e.preventDefault();return}e.key===`ArrowDown`&&n&&me!==-1&&Gt(1)&&e.preventDefault()}let qt=c?l??`Sending is disabled`:i?qe?`Queue a follow-up — it sends when this turn ends…`:`Draft your next message…`:`Ask anything — @ to add files, / for commands`,Jt=(G?.controls.permissionMode??null)===`bypass`,Yt=i?`Changes apply from the next turn.`:null,Xt=G?e=>({permission:(0,J.jsx)(Pn,{label:`Permission mode`,variant:e,valueLabel:br[G.controls.permissionMode],valueTitle:Tr(G.options.permissionModes,G.controls.permissionMode),iconOnly:dt>=3,options:G.options.permissionModes,value:G.controls.permissionMode,onChange:e=>{jt(e)},disabled:A.pending,shortcut:ie(`composer.permission`),openRequest:H.permission,icon:yr[G.controls.permissionMode],danger:Jt,note:Yt,onOpenChange:e=>Re(t=>({...t,permission:e}))},`permission`),model:(0,J.jsx)(Pn,{label:`Model`,variant:e,valueLabel:it,options:G.options.models,value:G.controls.model,onChange:e=>{Mt(e)},disabled:A.pending,shortcut:ie(`composer.model`),openRequest:H.model,note:Yt,onOpenChange:e=>Re(t=>({...t,model:e}))},`model`),effort:at?(0,J.jsx)(Pn,{label:`Effort`,variant:e,valueLabel:dt>=1?ot:`Effort: ${ot}`,valueTitle:ot,icon:dt>=1?xr:void 0,options:G.options.efforts,value:G.controls.effort,defaultOption:{label:`Default`,description:`The CLI decides`,onSelect:()=>{Nt(null)}},onChange:e=>{Nt(e)},disabled:A.pending,shortcut:ie(`composer.effort`),openRequest:H.effort,note:Yt,onOpenChange:e=>Re(t=>({...t,effort:e}))},`effort`):null}):null,Zt=Xt?.(`menu`)??null,$t=i?Je?`Queue full`:`Queue`:d?`Unlock & send`:`Send`,rn=(0,J.jsx)(`span`,{className:Y.sendKey,"aria-hidden":`true`,children:`⏎`});return(0,J.jsxs)(`form`,{ref:ye,className:`${V.composer} ${ft?Y.composerCompact:``}`,onSubmit:e=>{e.preventDefault(),Vt(`send`)},"aria-describedby":we,onDragOver:e=>{!c&&Array.from(e.dataTransfer?.types??[]).includes(`Files`)&&(e.preventDefault(),Ue(!0))},onDragLeave:e=>{e.currentTarget.contains(e.relatedTarget)||Ue(!1)},onDrop:Rt,children:[c?null:(0,J.jsx)(fr,{seats:t,seatId:n.seatId,onSeatChange:S}),wr(ee,(0,J.jsx)(zn,{queue:Ke,running:i,disabled:c,onEdit:(e,t)=>{Ht(e,t)},onSendNow:e=>{j.sendNow(e)},onRemove:e=>{j.remove(e)}})),(0,J.jsxs)(`div`,{className:`${V.box} ${le?V.boxListening:``} ${He?Y.boxDragging:``} ${Jt?Y.boxBypass:``}`,children:[St?(0,J.jsx)(Zn,{id:Ee,label:K?.kind===`command`?`Commands`:`Files in this chat’s folders`,items:xt,activeIndex:wt,status:Ct,onPick:At,onHover:Me}):null,(0,J.jsx)(dn,{drafts:se.drafts,onRemove:e=>{It(e)},disabled:c}),(0,J.jsx)(`textarea`,{ref:z,className:V.textarea,value:We,rows:1,placeholder:qt,"aria-label":`Message`,disabled:c,"aria-autocomplete":St?`list`:void 0,"aria-controls":St&&xt.length>0?Ee:void 0,"aria-expanded":St?!0:void 0,"aria-activedescendant":St&&xt.length>0?Xn(Ee,wt):void 0,onChange:e=>{F(``),he(-1),N(e.target.value),Ae(null),Oe(e.target.selectionStart===e.target.selectionEnd?e.target.selectionStart:null)},onSelect:Tt,onClick:Tt,onKeyUp:e=>{(e.key.startsWith(`Arrow`)||e.key===`Home`||e.key===`End`)&&Tt()},onBlur:()=>Oe(null),onFocus:Tt,onPaste:Lt,onKeyDown:Kt}),(0,J.jsx)(`input`,{ref:xe,type:`file`,multiple:!0,hidden:!0,tabIndex:-1,"aria-hidden":`true`,onChange:e=>{Ft(Array.from(e.target.files??[])),e.target.value=``}}),(0,J.jsxs)(`div`,{ref:ct,className:`${V.row} ${Y.footer}`,children:[(0,J.jsxs)(`div`,{className:Y.footerLeft,children:[(0,J.jsx)(oe,{label:pt??`Attach files — or paste, or drop`,shortcut:pt?void 0:ie(`composer.attach`),children:(0,J.jsx)(`button`,{type:`button`,className:Y.iconButton,"aria-label":`Attach files`,"aria-disabled":pt?!0:void 0,disabled:c,onClick:zt,children:(0,J.jsx)(st,{width:16,height:16,"aria-hidden":`true`})})}),(0,J.jsx)(cr,{disabled:c,onInterim:F,onFinal:e=>N(t=>t&&!t.endsWith(` `)?`${t} ${e}`:`${t}${e}`),onListeningChange:ue}),!ft&&Zt?Zt.permission:null]}),(0,J.jsxs)(`div`,{className:Y.footerRight,children:[(0,J.jsx)(Yn,{seats:t,seat:{seatId:n.seatId,model:G?.controls.model??n.model},engine:tt,label:nt,name:rt,disabled:c,compact:ft||dt>=2,...w?{onContinueOn:w}:{},onNewChat:S}),ft?null:Zt?Zt.model:(0,J.jsx)(`span`,{className:Y.controlStatic,title:`Model: ${it}`,children:it}),!ft&&Zt?Zt.effort:null,ft?null:(0,J.jsx)(Nn,{contextTokens:m,contextWindow:h,autoCompactAt:g,exact:_,engine:tt}),ft&&G?(0,J.jsx)(`button`,{ref:Se,type:`button`,className:`${Y.iconButton} ${Jt?Y.iconButtonDanger:``}`,"aria-haspopup":`dialog`,"aria-label":`Chat settings: ${Tr(G.options.permissionModes,G.controls.permissionMode)}, ${it}`,title:`Chat settings`,onClick:()=>Be(!0),disabled:c,children:Sr}):null,i?(0,J.jsx)(oe,{label:`Stop the running turn — or Esc from an empty box`,shortcut:`⌘.`,children:(0,J.jsx)(`button`,{type:`button`,className:`${Y.iconButton} ${V.stop}`,onClick:x,"aria-label":`Stop the running turn`,children:(0,J.jsx)(`span`,{className:V.stopIcon,"aria-hidden":`true`})},`stop`)}):null,i&&!qe?null:(0,J.jsxs)(`button`,{type:`submit`,className:V.send,disabled:!Ze,"aria-busy":I||void 0,"aria-label":i?Je?`Queue is full`:`Queue this message — it sends when the turn ends`:d?`Send (unlocks first)`:`Send message`,children:[$t,rn]},i?`queue`:`send`)]})]})]}),et?(0,J.jsxs)(`p`,{className:V.cost,"data-tone":et.tone,role:`status`,children:[(0,J.jsxs)(`span`,{className:V.costFigure,children:[`≈`,B(et.draftTokens)]}),` tokens for this message — sending would reach `,(0,J.jsxs)(`span`,{className:V.costFigure,children:[et.projectedPercent,`%`]}),` of the context window.`,Er(et),(0,J.jsx)(`span`,{className:`visually-hidden`,children:` This is an estimate; the provider counts the real total.`})]}):null,(0,J.jsx)(`p`,{id:we,className:`${V.help} ${Qe||Ge||le||i||c||me!==-1||$e||pe||A.error||j.error?``:V.helpQuiet}`,children:Ge?(0,J.jsx)(`span`,{role:`alert`,className:V.helpError,children:`Message is over 64 KB — trim it before sending.`}):j.error?(0,J.jsx)(`span`,{role:`alert`,className:V.helpError,children:j.error}):A.error&&G?(0,J.jsx)(`span`,{role:`alert`,className:V.helpError,children:A.error}):pe?(0,J.jsx)(`span`,{role:pe.error?`alert`:`status`,className:pe.error?V.helpError:void 0,children:pe.text}):le?`Listening… Esc stops dictation.`:c&&l?l:i?qe?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`kbd`,{children:`Enter`}),` queues (sends when this turn ends) · `,(0,J.jsx)(`kbd`,{children:ie(`composer.stop-and-send`)}),` stops and sends · `,(0,J.jsx)(`kbd`,{children:`Esc`}),` stops`]}):(0,J.jsxs)(J.Fragment,{children:[`Reply in progress — your draft stays here · `,(0,J.jsx)(`kbd`,{children:`⌘.`}),` or Stop interrupts the turn`]}):$e?(0,J.jsx)(J.Fragment,{children:`Handoff note drafted from the previous chat — review or edit it; nothing is spent until you press Send.`}):me===-1?Qe?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`kbd`,{children:`Enter`}),` sends · `,(0,J.jsx)(`kbd`,{children:`Shift`}),`+`,(0,J.jsx)(`kbd`,{children:`Enter`}),` new line · `,(0,J.jsx)(`kbd`,{children:`@`}),` files · `,(0,J.jsx)(`kbd`,{children:`/`}),` commands · `,(0,J.jsx)(`kbd`,{children:`↑`}),` recalls`]}):null:(0,J.jsxs)(J.Fragment,{children:[`Recalled message `,me+1,` of `,ge.current.length,` · `,(0,J.jsx)(`kbd`,{children:`↓`}),` returns to your draft`]})}),Xt?(0,J.jsx)(Ln,{open:ze,onClose:()=>{Ce.current=!0,Be(!1)},children:(()=>{let e=Xt(`list`);return(0,J.jsxs)(J.Fragment,{children:[e.permission,e.model,e.effort]})})()}):null,(0,J.jsx)(fn,{open:Ve,chatLabel:nt,running:i,onCancel:()=>{W(!1),z.current?.focus()},onConfirm:()=>{Pt()}}),(0,J.jsx)(p,{...k.dialog,tokenLabel:`Mutation token`,tokenHelp:`the mutation token ashlr verse printed`})]})}function wr(e,t){return e?(0,Xt.createPortal)(t,e):t}function Tr(e,t){return e?.find(e=>e.id===t)?.label??String(t)}function Er(e){let t=e.exact?``:` (The current size is an upper bound, so this may overstate it.)`;if(e.tone===`over`)return` That is past the whole window — the CLI must compact first, or the turn fails. Continue in a fresh chat.${t}`;if(e.pastCompaction)return` That reaches the auto-compaction point, so the CLI will summarise earlier turns during this reply. Continue in a fresh chat to keep full detail.${t}`;if(e.autoCompactAt!==null){let n=Math.max(0,e.autoCompactAt-e.projectedTokens);return` About ${B(n)} left before the CLI auto-compacts.${e.tone===`danger`?` Start a new chat to keep the agent sharp.`:``}${t}`}return`${e.tone===`danger`?` Start a new chat to keep the agent sharp.`:``}${t}`}var Dr=[{action:`command`,verb:`ran`,noun:`command`,plural:`commands`},{action:`read`,verb:`read`,noun:`file`,plural:`files`},{action:`edit`,verb:`edited`,noun:`file`,plural:`files`},{action:`create`,verb:`created`,noun:`file`,plural:`files`},{action:`delete`,verb:`deleted`,noun:`file`,plural:`files`},{action:`search`,verb:`searched`,noun:`time`,plural:`times`},{action:`web`,verb:`fetched`,noun:`page`,plural:`pages`},{action:`task`,verb:`ran`,noun:`subagent`,plural:`subagents`},{action:`other`,verb:`used`,noun:`other tool`,plural:`other tools`}],Or=` · `;function kr(){return{read:0,edit:0,create:0,delete:0,command:0,search:0,task:0,web:0,other:0}}function Ar(e){return e.length===0?e:`${e[0].toUpperCase()}${e.slice(1)}`}function jr(e,t){return t?.get(e.toolUseId)?.action??Ge(e.name)}function Mr(e,t=null){return e.kind!==`tool`||e.result===null?!1:e.result.isError||t?.get(e.toolUseId)?.failed===!0}function Nr(e){return e.kind===`tool`&&e.result===null}function Pr(e,t=Or){let n=[];for(let t of Dr){let r=e[t.action];r<=0||n.push(`${t.verb} ${r} ${r===1?t.noun:t.plural}`)}return Ar(n.join(t))}function Fr(e,t=null){let n=kr(),r=0,i=0,a=0;for(let o of e.items)o.kind===`tool`&&(a+=1,n[jr(o,t)]+=1,Nr(o)?i+=1:Mr(o,t)&&(r+=1));let o=Pr(n),s=[];r>0&&s.push(`${r} failed`),i>0&&s.push(`${i} running`);let c=s.join(`, `),l=e.spanMs!==null&&e.spanMs>0?e.spanMs:null,u=[Pr(n,`, `),c,l!==null&&i===0?ye(l):``].filter(e=>e.length>0).join(`; `);return{counts:n,toolCount:a,failed:r,running:i,spanMs:l,work:o,state:c,sentence:u}}function Ir(e){return e.failed>0||e.running>0?`focus`:`collapsed`}function Lr(e,t=null){let n=e.items.filter(e=>Nr(e)||Mr(e,t));return{shown:n,hidden:e.items.length-n.length}}var Q={group:`_group_12xsh_9`,line:`_line_12xsh_13`,chevron:`_chevron_12xsh_37`,work:`_work_12xsh_50`,state:`_state_12xsh_58`,failed:`_failed_12xsh_70`,sep:`_sep_12xsh_71`,running:`_running_12xsh_72`,pulse:`_pulse_12xsh_78`,"activity-pulse":`_activity-pulse_12xsh_1`,time:`_time_12xsh_86`,body:`_body_12xsh_98`,list:`_list_12xsh_106`,more:`_more_12xsh_116`},Rr=new Set;function zr(e){let t=!1;for(let n of[...Rr])n(e)&&(t=!0);return t}function Br({item:e,facts:t,renderMember:n}){let r=(0,q.useMemo)(()=>Fr(e,t),[e,t]),[i,a]=(0,q.useState)(null),o=i??Ir(r),s=(0,q.useId)(),c=(0,q.useMemo)(()=>Lr(e,t),[e,t]),l=o===`focus`&&c.shown.length===0?`collapsed`:o,u=l===`all`?e.items:l===`focus`?c.shown:[];function d(){a(l===`collapsed`?c.shown.length>0?`focus`:`all`:`collapsed`)}(0,q.useEffect)(()=>{let t=t=>{let n=e.items.some(e=>e.kind===`tool`&&Je(e.toolUseId)===t);return n&&a(`all`),n};return Rr.add(t),()=>{Rr.delete(t)}},[e]);let f=r.running>0,p=e.items[0]?.at??null,m=r.sentence||`${r.toolCount} tool calls`;return(0,J.jsxs)(`div`,{className:Q.group,"data-view":l,"data-failed":r.failed>0||void 0,"data-running":f||void 0,"data-state-key":`activity:${e.key}`,children:[(0,J.jsxs)(`button`,{type:`button`,className:Q.line,"aria-expanded":l!==`collapsed`,"aria-controls":s,"aria-label":m,onClick:d,children:[(0,J.jsx)(`span`,{className:Q.chevron,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:Q.work,"aria-hidden":`true`,children:r.work||`${r.toolCount} tool calls`}),r.state?(0,J.jsxs)(`span`,{className:Q.state,"aria-hidden":`true`,children:[r.failed>0?(0,J.jsxs)(`span`,{className:Q.failed,children:[r.failed,` failed`]}):null,r.failed>0&&f?(0,J.jsx)(`span`,{className:Q.sep,children:`, `}):null,f?(0,J.jsxs)(`span`,{className:Q.running,children:[(0,J.jsx)(`span`,{className:Q.pulse}),r.running,` running`]}):null]}):null,(0,J.jsx)(`span`,{className:Q.time,"aria-hidden":`true`,children:f?(0,J.jsx)(Ze,{since:p}):r.spanMs===null?null:ye(r.spanMs)})]}),(0,J.jsx)(`div`,{id:s,className:Q.body,hidden:l===`collapsed`,children:l===`collapsed`?null:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`ol`,{className:Q.list,children:u.map(e=>(0,J.jsx)(`li`,{"data-member":e.kind,children:n(e)},e.key))}),l===`focus`&&c.hidden>0?(0,J.jsxs)(`button`,{type:`button`,className:Q.more,onClick:()=>a(`all`),children:[`Show `,c.hidden,` more`]}):null,l===`all`&&c.shown.length>0&&c.hidden>0?(0,J.jsxs)(`button`,{type:`button`,className:Q.more,onClick:()=>a(`focus`),children:[`Show only `,r.failed>0?`failures`:`running`]}):null]})})]})}(0,q.memo)(Br);function Vr(){return{facts:new Map,counts:new Map,toolText:new Map}}function Hr(e,t){let n=t?.facts.get(e.toolUseId);if(n&&!(n.pending&&e.result!==null))return n;let r=Ke({name:e.name,input:e.input,result:e.result});return t&&(t.facts.set(e.toolUseId,r),t.counts.delete(e.toolUseId),t.toolText.delete(e.toolUseId)),r}function Ur(e){return`verse-note-${e.replace(/[^A-Za-z0-9_-]/g,``)}`}function Wr(e){return`verse-turn-${e.replace(/[^A-Za-z0-9_-]/g,``)}`}var Gr={read:0,edit:1,create:2,delete:3};function Kr(e){let t=0,n=0;for(let r of g(e).files)t+=r.additions,n+=r.deletions;return{additions:t,deletions:n}}function qr(e,t,n){let r=n?.counts.get(e);if(r)return r;let i=Kr(t);return n?.counts.set(e,i),i}function Jr(e){return e.kind===`tool`?[e]:e.kind===`toolGroup`?e.items.filter(e=>e.kind===`tool`):[]}function Yr(e,t=null){let n=new Map,r=[],i=[],a=[],o=()=>{a.length!==0&&(i.push(Xr(a,n,r,t)),a=[])},s;for(let t of e){let e=`turnId`in t?t.turnId:null;(t.kind===`user`||s!==void 0&&e!==null&&e!==s)&&o(),(t.kind===`user`||s===void 0||e!==null)&&(s=e),a.push(t)}return o(),{turns:i,facts:n,errorAnchors:r}}function Xr(e,t,n,r){let i=e[0],a=new Map,o=0,s=0,c=0,l=null,u=`running`,d=null,f=null,p=e=>{c++,l||=e,n.push(e)};for(let n of e){n.kind===`user`&&f===null&&(f=n.text);for(let e of Jr(n)){o++;let n=Hr(e,r);t.set(e.toolUseId,n),n.action===`command`&&s++,n.failed&&p(`verse-tool-${e.toolUseId.replace(/[^A-Za-z0-9_-]/g,``)}`);let i=n.action;if(i!==`read`&&i!==`edit`&&i!==`create`&&i!==`delete`)continue;let c=n.diff?qr(e.toolUseId,n.diff.text,r):{additions:0,deletions:0};for(let t of n.paths){let r=a.get(t)??{path:t,reads:0,edits:0,creates:0,deletes:0,action:i,anchorToolUseId:e.toolUseId,additions:0,deletions:0,failed:!1};i===`read`?r.reads++:i===`edit`?r.edits++:i===`create`?r.creates++:r.deletes++,Gr[i]>Gr[r.action]&&(r.action=i,r.anchorToolUseId=e.toolUseId),i!==`read`&&(r.additions+=c.additions,r.deletions+=c.deletions),n.failed&&(r.failed=!0),a.set(t,r)}}switch(n.kind){case`error`:p(Ur(n.key)),u=`error`;break;case`cancelled`:u=`stopped`;break;case`turn-done`:d=n.durationMs>0?n.durationMs:d,n.ok?u=u===`running`?`ok`:u:u===`running`&&(u=`error`,p(Ur(n.key)))}}return{key:i.key,turnId:`turnId`in i?i.turnId:null,items:e,prompt:f,at:i.at,files:[...a.values()].sort((e,t)=>Gr[t.action]-Gr[e.action]||t.additions+t.deletions-(e.additions+e.deletions)||e.path.localeCompare(t.path)),toolCount:o,commandCount:s,errorCount:c,firstErrorAnchor:l,status:u,durationMs:d}}function Zr(e){if(e.length===0)return``;let t={edited:0,created:0,deleted:0,read:0};for(let n of e)n.action===`edit`?t.edited++:n.action===`create`?t.created++:n.action===`delete`?t.deleted++:t.read++;let n=[];return t.created&&n.push(`${t.created} created`),t.edited&&n.push(`${t.edited} edited`),t.deleted&&n.push(`${t.deleted} deleted`),t.read&&n.push(`${t.read} read`),n.join(`, `)}var Qr=new WeakMap,$r=4e3;function ei(e,t){let n=t?.toolText.get(e.toolUseId);if(n!==void 0)return n;let r=[e.name];if(typeof e.input==`string`)r.push(e.input.slice(0,$r));else if(e.input)try{r.push(JSON.stringify(e.input).slice(0,$r))}catch{}e.result&&r.push(e.result.output.slice(0,$r));let i=r.join(`
4
- `);return t&&e.result&&t.toolText.set(e.toolUseId,i),i}function ti(e,t=null){let n=Qr.get(e);if(n!==void 0)return n;let r=[],i=e=>{switch(e.kind){case`user`:case`assistant`:case`thinking`:r.push(e.text);break;case`error`:r.push(e.message);break;case`tool`:r.push(ei(e,t));break;case`toolGroup`:for(let t of e.items)i(t)}};for(let t of e.items)i(t);let a=r.join(`
5
- `);return Qr.set(e,a),a}var ni=48;function ri(e,t,n=null){let r=t.trim().toLowerCase();if(r.length===0)return[];let i=[];for(let t of e){let e=ti(t,n),a=e.toLowerCase().indexOf(r);if(a===-1)continue;let o=Math.max(0,a-ni),s=Math.min(e.length,a+r.length+ni),c=`${o>0?`…`:``}${e.slice(o,s).replace(/\s+/g,` `).trim()}${s<e.length?`…`:``}`;i.push({turnKey:t.key,snippet:c})}return i}function ii(e,t=72){let n=e.prompt?.replace(/\s+/g,` `).trim();return n?n.length>t?`${n.slice(0,t-1)}…`:n:e.toolCount>0?`${e.toolCount} tool call${e.toolCount===1?``:`s`}`:`Session note`}function ai(e){let t=[];for(let n of e.items)n.kind===`compaction`?t.push(`compaction`):n.kind===`recovered`&&t.push(`recovered`);return t}function oi(e,t={}){let n=[],r=[],i={failed:0,running:0,compactions:0,recoveries:0};for(let t of e){let e=[...r,...ai(t)];for(let e of ai(t))e===`compaction`?i.compactions+=1:e===`recovered`&&(i.recoveries+=1);if(t.prompt===null){r=e;continue}r=[],t.status===`error`&&(i.failed+=1),t.status===`running`&&(i.running+=1),n.push({turnKey:t.key,index:n.length,status:t.status,title:ii(t,120),position:0,markers:e})}r.length>0&&n.length>0&&n[n.length-1].markers.push(...r);let a=n.length;for(let e of n)e.position=a<=1?0:e.index/(a-1);return{ticks:n,handoff:t.handoff===!0,counts:i}}var si={running:`running`,ok:`done`,error:`failed`,stopped:`stopped`},ci={compaction:`context compacted`,recovered:`recovered`,handoff:`continued from another chat`};function li(e,t){let n=e.markers.length>0?` (${[...new Set(e.markers)].map(e=>ci[e]).join(`, `)})`:``;return`Turn ${e.index+1} of ${t}, ${si[e.status]}: ${e.title}${n}`}var ui=new WeakMap;function di(e){let t=ui.get(e);if(t!==void 0)return t;let n=0;for(let t of e.items)(t.kind===`compaction`||t.kind===`recovered`)&&(n+=1);let r=`${e.key}:${e.status}:${n}:${e.prompt===null?0:e.prompt.length}`;return e.status!==`running`&&ui.set(e,r),r}function fi(e,t){let n=t?`h`:`-`;for(let t of e)n+=`|${di(t)}`;return n}var pi={rail:`_rail_99z8l_7`,handoff:`_handoff_99z8l_20`,track:`_track_99z8l_28`,tick:`_tick_99z8l_36`,bar:`_bar_99z8l_55`,"rail-pulse":`_rail-pulse_99z8l_1`,markers:`_markers_99z8l_72`,marker:`_marker_99z8l_72`,card:`_card_99z8l_88`,cardMeta:`_cardMeta_99z8l_103`,cardTitle:`_cardTitle_99z8l_110`,markerIcon:`_markerIcon_99z8l_133`},mi={compaction:(0,J.jsx)(`path`,{d:`M8 2.5 13.5 8 8 13.5 2.5 8Z`,fill:`currentColor`}),recovered:(0,J.jsx)(`path`,{d:`M4.2 5.2A5 5 0 1 1 3 8.5M4.2 1.8v3.4h3.4`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`}),handoff:(0,J.jsx)(`path`,{d:`M4 2.5V9a2 2 0 0 0 2 2h7M10.5 8.5 13 11l-2.5 2.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`})};function hi({kind:e}){return(0,J.jsx)(`svg`,{className:pi.markerIcon,viewBox:`0 0 16 16`,width:`1em`,height:`1em`,"aria-hidden":`true`,focusable:`false`,children:mi[e]})}var gi=(0,q.memo)(function({model:e,onJumpTurn:t}){let[n,r]=(0,q.useState)(-1),[i,a]=(0,q.useState)(null),o=(0,q.useRef)(new Map),s=(0,q.useId)(),c=e.ticks.length,l=n>=0&&n<c?n:c-1,u=(0,q.useCallback)(e=>{let t=Math.max(0,Math.min(c-1,e));r(t),a(t),o.current.get(t)?.focus()},[c]);function d(e){let t=l,n=null;e.key===`ArrowDown`||e.key===`ArrowRight`?n=t+1:e.key===`ArrowUp`||e.key===`ArrowLeft`?n=t-1:e.key===`Home`?n=0:e.key===`End`&&(n=c-1),n!==null&&(e.preventDefault(),u(n))}if(c===0)return null;let f=i===null?null:e.ticks[i]??null;return(0,J.jsxs)(`div`,{className:pi.rail,role:`toolbar`,"aria-orientation":`vertical`,"aria-label":`Chapters`,onKeyDown:d,onMouseLeave:()=>a(null),children:[e.handoff?(0,J.jsx)(`span`,{className:pi.handoff,role:`img`,"aria-label":`Continued from another chat`,title:`Continued from another chat`,children:(0,J.jsx)(hi,{kind:`handoff`})}):null,(0,J.jsx)(`div`,{className:pi.track,children:e.ticks.map(e=>{let n=li(e,c),u=[...new Set(e.markers)];return(0,J.jsxs)(`button`,{ref:t=>{t?o.current.set(e.index,t):o.current.delete(e.index)},type:`button`,className:pi.tick,"data-status":e.status,style:{top:`${e.position*100}%`},tabIndex:e.index===l?0:-1,"aria-label":n,"aria-describedby":i===e.index?s:void 0,onMouseEnter:()=>a(e.index),onFocus:()=>{r(e.index),a(e.index)},onBlur:()=>a(t=>t===e.index?null:t),onClick:()=>{r(e.index),t(e.turnKey)},children:[(0,J.jsx)(`span`,{className:pi.bar,"aria-hidden":`true`}),u.length>0?(0,J.jsx)(`span`,{className:pi.markers,"aria-hidden":`true`,children:u.map(e=>(0,J.jsx)(`span`,{className:pi.marker,"data-marker":e,children:(0,J.jsx)(hi,{kind:e})},e))}):null]},e.turnKey)})}),f?(0,J.jsxs)(`div`,{id:s,className:pi.card,role:`tooltip`,style:{top:`${f.position*100}%`},children:[(0,J.jsxs)(`span`,{className:pi.cardMeta,children:[`Turn `,f.index+1,` of `,c,f.status===`error`?` · failed`:f.status===`running`?` · running`:``]}),(0,J.jsx)(`span`,{className:pi.cardTitle,children:f.title})]}):null]})}),$={diff:`_diff_1x50e_30`,visuallyHidden:`_visuallyHidden_1x50e_46`,diffMulti:`_diffMulti_1x50e_58`,diffHead:`_diffHead_1x50e_60`,diffPath:`_diffPath_1x50e_68`,diffOldPath:`_diffOldPath_1x50e_83`,diffStatus:`_diffStatus_1x50e_101`,diffStats:`_diffStats_1x50e_110`,diffAdd:`_diffAdd_1x50e_118`,diffDel:`_diffDel_1x50e_119`,diffNotice:`_diffNotice_1x50e_121`,diffEmpty:`_diffEmpty_1x50e_130`,diffTable:`_diffTable_1x50e_136`,diffNo:`_diffNo_1x50e_121`,diffMarker:`_diffMarker_1x50e_30`,diffText:`_diffText_1x50e_159`,diffCode:`_diffCode_1x50e_179`,diffRow_add:`_diffRow_add_1x50e_181`,diffRow_del:`_diffRow_del_1x50e_182`,diffRow_context:`_diffRow_context_1x50e_183`,diffHunkRow:`_diffHunkRow_1x50e_185`,diffHunkHead:`_diffHunkHead_1x50e_192`,diffMore:`_diffMore_1x50e_200`,commandMore:`_commandMore_1x50e_201`,activityMore:`_activityMore_1x50e_202`,diffUnanchored:`_diffUnanchored_1x50e_221`,tok_plain:`_tok_plain_1x50e_232`,tok_comment:`_tok_comment_1x50e_233`,tok_string:`_tok_string_1x50e_234`,tok_number:`_tok_number_1x50e_235`,tok_keyword:`_tok_keyword_1x50e_236`,command:`_command_1x50e_201`,commandLine:`_commandLine_1x50e_250`,commandPrompt:`_commandPrompt_1x50e_257`,commandText:`_commandText_1x50e_264`,commandStatus:`_commandStatus_1x50e_275`,commandStatusText:`_commandStatusText_1x50e_283`,commandMeta:`_commandMeta_1x50e_293`,commandPre:`_commandPre_1x50e_298`,commandPending:`_commandPending_1x50e_310`,activity:`_activity_1x50e_202`,activityHead:`_activityHead_1x50e_330`,activityLabel:`_activityLabel_1x50e_340`,activityBreakdown:`_activityBreakdown_1x50e_345`,activityList:`_activityList_1x50e_350`,activityRow:`_activityRow_1x50e_363`,activityRule:`_activityRule_1x50e_385`,activityVerb:`_activityVerb_1x50e_380`,activityFailed:`_activityFailed_1x50e_384`,activityPath:`_activityPath_1x50e_411`,activityName:`_activityName_1x50e_419`,activityDir:`_activityDir_1x50e_420`,activityTimes:`_activityTimes_1x50e_430`,activityDelta:`_activityDelta_1x50e_431`,activityAdd:`_activityAdd_1x50e_439`,activityDel:`_activityDel_1x50e_431`,nav:`_nav_1x50e_446`,navSpacer:`_navSpacer_1x50e_457`,navOutlineButton:`_navOutlineButton_1x50e_459`,navChevron:`_navChevron_1x50e_473`,navCount:`_navCount_1x50e_475`,navWord:`_navWord_1x50e_481`,navSearch:`_navSearch_1x50e_488`,navSearchIcon:`_navSearchIcon_1x50e_512`,navMatches:`_navMatches_1x50e_525`,navStep:`_navStep_1x50e_532`,navError:`_navError_1x50e_545`,navErrorGlyph:`_navErrorGlyph_1x50e_563`,outline:`_outline_1x50e_568`,outlineEmpty:`_outlineEmpty_1x50e_582`,outlineList:`_outlineList_1x50e_587`,outlineRow:`_outlineRow_1x50e_588`,outlineIndex:`_outlineIndex_1x50e_602`,outlineBody:`_outlineBody_1x50e_609`,outlineTitle:`_outlineTitle_1x50e_610`,outlineSnippet:`_outlineSnippet_1x50e_617`,outlineMeta:`_outlineMeta_1x50e_627`,outlineStatus:`_outlineStatus_1x50e_631`,commandRun:`_commandRun_1x50e_646`},_i=8,vi={read:`read`,edit:`edited`,create:`created`,delete:`deleted`};function yi({files:e,onJump:t}){let[n,r]=(0,q.useState)(!1),i=$e();if(e.length===0)return null;let a=n||e.length<=_i?e:e.slice(0,_i),o=e.length-a.length;return(0,J.jsxs)(`section`,{className:$.activity,"aria-label":`Files this turn touched`,children:[(0,J.jsxs)(`h3`,{className:$.activityHead,children:[(0,J.jsxs)(`span`,{className:$.activityLabel,children:[e.length,` file`,e.length===1?``:`s`]}),(0,J.jsx)(`span`,{className:$.activityBreakdown,children:Zr(e)})]}),(0,J.jsx)(`ul`,{className:$.activityList,children:a.map(e=>{let n=e.reads+e.edits+e.creates+e.deletes,r=i(e.path),a=`${vi[e.action]} ${r}${n>1?`, ${n} calls`:``}${e.additions||e.deletions?`, +${e.additions} −${e.deletions}`:``}${e.failed?`, a call on this file failed`:``}`;return(0,J.jsx)(`li`,{children:(0,J.jsx)(oe,{label:e.path,placement:`right`,children:(0,J.jsxs)(`button`,{type:`button`,className:$.activityRow,"data-action":e.action,"data-failed":e.failed?`true`:void 0,onClick:()=>t(e.anchorToolUseId),"aria-label":a,children:[(0,J.jsx)(`span`,{className:$.activityRule,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:$.activityVerb,children:vi[e.action]}),(0,J.jsxs)(`span`,{className:$.activityPath,children:[(0,J.jsx)(`span`,{className:$.activityName,children:qe(r)}),(0,J.jsx)(`span`,{className:$.activityDir,children:We(r)})]}),e.failed?(0,J.jsx)(`span`,{className:$.activityFailed,"aria-hidden":`true`,children:`! failed`}):null,n>1?(0,J.jsxs)(`span`,{className:$.activityTimes,children:[`×`,n]}):null,(0,J.jsxs)(`span`,{className:$.activityDelta,children:[e.additions>0?(0,J.jsxs)(`span`,{className:$.activityAdd,children:[`+`,e.additions]}):null,e.deletions>0?(0,J.jsxs)(`span`,{className:$.activityDel,children:[`−`,e.deletions]}):null]})]})})},e.path)})}),o>0||n?(0,J.jsx)(`button`,{type:`button`,className:$.activityMore,"aria-expanded":n,onClick:()=>r(e=>!e),children:n?`Show fewer files`:`Show ${o} more file${o===1?``:`s`}`}):null]})}var bi={thinking:`_thinking_lm3ty_11`,summary:`_summary_lm3ty_18`,line:`_line_lm3ty_19`,chevron:`_chevron_lm3ty_40`,glyph:`_glyph_lm3ty_55`,"thinking-breathe":`_thinking-breathe_lm3ty_1`,label:`_label_lm3ty_64`,kind:`_kind_lm3ty_73`,hidden:`_hidden_lm3ty_74`,body:`_body_lm3ty_85`};function xi(e){let t=Math.max(0,Math.round(e));return t<1e3?`~${t} tok`:t<1e4?`~${(t/1e3).toFixed(1).replace(/\.0$/,``)}k tok`:t<1e6?`~${Math.round(t/1e3)}k tok`:`~${(t/1e6).toFixed(1).replace(/\.0$/,``)}M tok`}function Si(e){if(!Number.isFinite(e)||e<0)return``;if(e<1e3)return`<1s`;let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60);return n<60?`${n}m ${t%60}s`:`${Math.floor(n/60)}h ${n%60}m`}var Ci=4;function wi(e,t){if(typeof t==`number`&&Number.isFinite(t)&&t>0)return t;let n=e.trim().length;return n>0?Math.ceil(n/Ci):null}function Ti(e){let t=[e.streaming?`Thinking`:`Thought`],n=e.elapsedMs===null?``:Si(e.elapsedMs);return e.streaming?n&&t.push(n):n&&(t[0]=`Thought ${n}`),e.tokens!==null&&t.push(xi(e.tokens)),t.join(` · `)}function Ei(e){let[t,n]=(0,q.useState)(()=>Date.now());return(0,q.useEffect)(()=>{if(!e)return;n(Date.now());let t=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(t)},[e]),t}var Di=24,Oi=(0,q.memo)(function({text:e,streaming:t=!1,startedAt:n=null,redacted:r=!1,durationMs:i=null,estimatedTokens:a=null,kind:o=null,defaultOpen:s=!1,stateKey:c}){let[l,u]=(0,q.useState)(s),d=(0,q.useRef)(!1),[f,p]=(0,q.useState)(!1),m=(0,q.useRef)(null),h=(0,q.useRef)(!0),g=Ei(t&&n!==null),_=Ti({streaming:t,elapsedMs:t?n===null?null:Math.max(0,g-n):i,tokens:wi(e,a)}),v=e.trim().length>0,y=t&&l&&!f;(0,q.useLayoutEffect)(()=>{let e=m.current;e&&(y&&e.scrollHeight>e.clientHeight+1?e.setAttribute(`data-clipped`,``):e.removeAttribute(`data-clipped`),t&&(h.current||y)&&(e.scrollTop=e.scrollHeight))},[e,t,l,y]);function b(){let e=m.current;e&&(h.current=e.scrollHeight-e.scrollTop-e.clientHeight<=Di)}(0,q.useEffect)(()=>{d.current||u(s)},[s]);function x(e){y&&(e.preventDefault(),d.current=!0,p(!0))}function S(e){let t=e.currentTarget.open;t!==l&&(d.current=!0),u(t)}return v?(0,J.jsxs)(`details`,{className:bi.thinking,open:l,onToggle:S,"data-state-key":c,"data-streaming":t||void 0,"data-thinking-kind":o??void 0,children:[(0,J.jsxs)(`summary`,{className:bi.summary,onClick:x,"aria-label":y?`${_} — show all`:void 0,children:[(0,J.jsx)(`span`,{className:bi.chevron,"aria-hidden":`true`}),t?(0,J.jsx)(`span`,{className:bi.glyph,"aria-hidden":`true`}):null,(0,J.jsx)(`span`,{className:bi.label,children:_}),o===`summary`?(0,J.jsx)(`span`,{className:bi.kind,title:`A summary the provider wrote of the model's reasoning, not its raw chain of thought.`,children:`summary`}):null]}),(0,J.jsx)(`div`,{ref:m,className:bi.body,onScroll:b,"data-window":y||void 0,onClick:y?()=>{d.current=!0,p(!0)}:void 0,children:e})]}):(0,J.jsx)(`div`,{className:bi.thinking,"data-streaming":t||void 0,"data-redacted":r||void 0,"data-thinking-kind":o??void 0,children:(0,J.jsxs)(`span`,{className:bi.line,children:[t?(0,J.jsx)(`span`,{className:bi.glyph,"aria-hidden":`true`}):null,(0,J.jsx)(`span`,{className:bi.label,children:_}),r?(0,J.jsx)(`span`,{className:bi.hidden,title:`The provider returned this reasoning without its text; only how long it took is known.`,children:`reasoning hidden by the provider`}):null]})})}),ki={running:`•`,ok:``,error:`!`,stopped:`×`},Ai={running:`running`,ok:`completed`,error:`failed`,stopped:`stopped`};function ji(e){let{turns:t,query:n,onQuery:r,matches:i,matchIndex:a,onStepMatch:o,errorCount:s,onJumpError:c,onJumpTurn:l,focusToken:u}=e,[d,f]=(0,q.useState)(!1),p=(0,q.useRef)(null),m=(0,q.useId)(),h=(0,q.useId)(),g=n.trim().length>0;(0,q.useEffect)(()=>{u>0&&(p.current?.focus(),p.current?.select())},[u]),(0,q.useEffect)(()=>{if(!d)return;let e=e=>{e.key===`Escape`&&f(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[d]);let _=g?t.filter(e=>i.some(t=>t.turnKey===e.key)):t,v=e=>i.find(t=>t.turnKey===e)?.snippet??null;return(0,J.jsxs)(`div`,{className:$.nav,children:[(0,J.jsxs)(`button`,{type:`button`,className:$.navOutlineButton,"aria-expanded":d,"aria-controls":d?m:void 0,onClick:()=>f(e=>!e),children:[(0,J.jsx)(`span`,{className:$.navChevron,"data-open":d?`true`:void 0,"aria-hidden":`true`,children:(0,J.jsx)(dt,{size:12})}),(0,J.jsx)(`span`,{className:$.navCount,children:t.length}),(0,J.jsxs)(`span`,{className:$.navWord,children:[`turn`,t.length===1?``:`s`]})]}),(0,J.jsxs)(`label`,{className:$.navSearch,htmlFor:h,children:[(0,J.jsx)(`span`,{className:$.navSearchIcon,"aria-hidden":`true`,children:(0,J.jsx)(ft,{size:12})}),(0,J.jsx)(`span`,{className:`visually-hidden`,children:`Search this chat`}),(0,J.jsx)(`input`,{ref:p,id:h,type:`search`,value:n,placeholder:`Find in chat`,autoComplete:`off`,onChange:e=>r(e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),o(e.shiftKey?-1:1)):e.key===`Escape`&&(e.preventDefault(),r(``))}})]}),g?(0,J.jsx)(`span`,{className:$.navMatches,role:`status`,children:i.length===0?`no matches`:`${a<0?1:a+1} of ${i.length}`}):null,g&&i.length>0?(0,J.jsxs)(`span`,{className:$.navStep,children:[(0,J.jsx)(`button`,{type:`button`,onClick:()=>o(-1),"aria-label":`Previous match`,title:`Previous match (Shift+Enter)`,children:`↑`}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>o(1),"aria-label":`Next match`,title:`Next match (Enter)`,children:`↓`})]}):null,(0,J.jsx)(`span`,{className:$.navSpacer}),s>0?(0,J.jsxs)(`button`,{type:`button`,className:$.navError,onClick:c,children:[(0,J.jsx)(`span`,{className:$.navErrorGlyph,"aria-hidden":`true`,children:`!`}),s,` error`,s===1?``:`s`,(0,J.jsx)(`span`,{className:`visually-hidden`,children:` — jump to the first one`})]}):null,d?(0,J.jsx)(`div`,{id:m,className:$.outline,role:`group`,"aria-label":`Turns in this chat`,children:_.length===0?(0,J.jsxs)(`p`,{className:$.outlineEmpty,children:[`No turn matches “`,n.trim(),`”.`]}):(0,J.jsx)(`ol`,{className:$.outlineList,children:_.map(e=>{let n=t.indexOf(e)+1,r=v(e.key);return(0,J.jsx)(`li`,{children:(0,J.jsxs)(`button`,{type:`button`,className:$.outlineRow,"data-status":e.status,onClick:()=>{f(!1),l(e.key)},children:[(0,J.jsx)(`span`,{className:$.outlineIndex,children:n}),(0,J.jsxs)(`span`,{className:$.outlineBody,children:[(0,J.jsx)(`span`,{className:$.outlineTitle,children:ii(e)}),r?(0,J.jsx)(`span`,{className:$.outlineSnippet,children:r}):null,(0,J.jsxs)(`span`,{className:$.outlineMeta,children:[e.toolCount>0?`${e.toolCount} tool${e.toolCount===1?``:`s`}`:`no tools`,e.files.length>0?` · ${e.files.length} file${e.files.length===1?``:`s`}`:``,e.status===`ok`?``:` · ${Ai[e.status]}`]})]}),ki[e.status]?(0,J.jsx)(`span`,{className:$.outlineStatus,"aria-hidden":`true`,children:ki[e.status]}):null]})},e.key)})})}):null]})}var Mi=`\xA0`,Ni={ok:`Turn finished.`,error:`Turn failed.`,stopped:`Turn stopped.`};function Pi(e,t){return e===null?null:!e.running&&t.running?`Turn started.`:e.running&&!t.running?t.lastStatus===null||t.lastStatus===`running`?`Turn finished.`:Ni[t.lastStatus]:null}function Fi({running:e,lastStatus:t,lastKey:n}){let[r,i]=(0,q.useState)(``),a=(0,q.useRef)(null);return(0,q.useEffect)(()=>{let r=Pi(a.current,{running:e,lastStatus:t,lastKey:n});a.current={running:e,lastKey:n},r!==null&&i(e=>e===r?`${r}${Mi}`:r)},[e,t,n]),(0,J.jsx)(`div`,{className:`visually-hidden`,role:`status`,"aria-live":`polite`,"aria-atomic":`true`,"data-testid":`turn-announcer`,children:r})}var Ii=/\u001B\[[0-9;:?]*[ -/]*[@-~]/g,Li=/\u001B\][\s\S]*?(?:\u0007|\u001B\\)/g,Ri=/\u001B[@-Z\\-_]/g,zi=/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g;function Bi(e){return e.includes(`\x1B`)}function Vi(e){return e.replace(Li,``).replace(Ii,``).replace(Ri,``).replace(zi,``)}function Hi(e){return e.includes(`\r`)?e.split(`
6
- `).map(e=>{if(!e.includes(`\r`))return e;let t=``;for(let n of e.split(`\r`))t=n.length>=t.length?n:n+t.slice(n.length);return t}).join(`
7
- `):e}function Ui(e){return Hi(Vi(e)).replace(/[ \t]+$/gm,``).replace(/\n+$/,``)}function Wi(e){if(e.length===0)return 0;let t=1;for(let n=0;n<e.length;n++)e.charCodeAt(n)===10&&t++;return t}function Gi(e,t){let n=e.split(`
8
- `);return n.length<=t?{head:e,hidden:0}:{head:n.slice(0,t).join(`
9
- `),hidden:n.length-t}}var Ki=20,qi=2e5;function Ji({command:e,output:t,isError:n,pending:r,body:i,terminalAvailable:a=jt(`terminal-pane`)}){let[o,s]=(0,q.useState)(!1),c=(0,q.useMemo)(()=>{let e=Ui(t);return e.length>qi?`${e.slice(0,qi)}\n… (${e.length-qi} more characters not shown)`:e},[t]),{head:l,hidden:u}=(0,q.useMemo)(()=>Gi(c,Ki),[c]),d=o?c:l,f=e?.exitCode??null;return(0,J.jsxs)(`div`,{className:$.command,"data-failed":n?`true`:void 0,children:[e?(0,J.jsxs)(`div`,{className:$.commandLine,children:[(0,J.jsx)(`span`,{className:$.commandPrompt,"aria-hidden":`true`,children:`$`}),(0,J.jsx)(`code`,{className:$.commandText,children:e.command}),a&&e.command.trim()?(0,J.jsx)(`button`,{type:`button`,className:$.commandRun,title:`Opens the Terminal with this command typed at the prompt. It does not run until you press Enter.`,onClick:()=>te({paste:e.command}),children:`Run in terminal`}):null]}):null,(0,J.jsxs)(`div`,{className:$.commandStatus,children:[(0,J.jsx)(`span`,{className:$.commandStatusText,"data-tone":r?`pending`:n?`bad`:`ok`,children:r?`running…`:f===null?n?`failed — no exit code reported`:`completed — no exit code reported`:`exit ${f}`}),!r&&!i&&c.length===0?(0,J.jsx)(`span`,{className:$.commandMeta,children:`no output`}):null,!r&&!i&&c.length>0?(0,J.jsxs)(`span`,{className:$.commandMeta,children:[Wi(c),` line`,Wi(c)===1?``:`s`,Bi(t)?` · colour codes stripped`:``]}):null]}),r?(0,J.jsx)(`p`,{className:$.commandPending,children:`Waiting for the command to finish…`}):i||(c.length>0?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`pre`,{className:$.commandPre,children:d}),u>0?(0,J.jsx)(`button`,{type:`button`,className:$.commandMore,"aria-expanded":o,onClick:()=>s(e=>!e),children:o?`Collapse output`:`Show ${u} more line${u===1?``:`s`}`}):null]}):null)]})}var Yi=28,Xi=18,Zi=4e3;function Qi({diff:e,path:t=null}){let n=(0,q.useMemo)(()=>g(e.text),[e.text]);if(n.files.length===0)return null;if(e.multiFile||n.files.length>1)return(0,J.jsx)(`div`,{className:$.diffMulti,children:(0,J.jsx)(v,{diff:e.text,proposalKind:`tool call`})});let r=n.files[0];return(0,J.jsx)(ea,{file:r,anchored:e.anchored,path:t??r.displayPath})}function $i(e){switch(e.status){case`renamed`:return`Renamed. The contents did not change, so there are no lines to show.`;case`added`:return`New file. It was added with no contents to diff against.`;case`deleted`:return`Deleted. The file is gone, so there are no lines to show.`;default:return null}}function ea({file:e,anchored:t,path:n}){let[r,i]=(0,q.useState)(!1),a=_(n),o=(0,q.useMemo)(()=>ta(e.hunks),[e.hunks]),s=o.length>Yi,c=s&&!r?o.slice(0,Xi):o,l=o.length-c.length,u=e.status===`renamed`?e.oldPath:null,d=$i(e),f=$e();return(0,J.jsxs)(`div`,{className:$.diff,"data-anchored":t?`true`:`false`,"data-status":e.status,children:[(0,J.jsxs)(`div`,{className:$.diffHead,children:[u?(0,J.jsxs)(`span`,{className:$.diffOldPath,title:u,children:[f(u),(0,J.jsx)(`span`,{className:$.visuallyHidden,children:` renamed to`})]}):null,(0,J.jsx)(`span`,{className:$.diffPath,title:n,children:f(n)}),e.status===`modified`?null:(0,J.jsx)(`span`,{className:$.diffStatus,children:e.status}),(0,J.jsxs)(`span`,{className:$.diffStats,children:[e.additions>0?(0,J.jsxs)(`span`,{className:$.diffAdd,children:[`+`,e.additions]}):null,e.deletions>0?(0,J.jsxs)(`span`,{className:$.diffDel,children:[`−`,e.deletions]}):null]})]}),e.unparsedNotice?(0,J.jsx)(`pre`,{className:$.diffNotice,children:e.unparsedNotice}):null,o.length===0?(0,J.jsx)(`p`,{className:$.diffEmpty,children:d??`No line-level changes in this call.`}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`table`,{className:$.diffTable,children:(0,J.jsx)(`tbody`,{children:c.map(e=>e.kind===`hunk`?(0,J.jsxs)(`tr`,{className:$.diffHunkRow,children:[t?(0,J.jsx)(`td`,{className:$.diffNo,"aria-hidden":`true`}):null,(0,J.jsx)(`td`,{className:$.diffMarker,"aria-hidden":`true`}),(0,J.jsx)(`td`,{className:$.diffHunkHead,children:e.label})]},e.key):(0,J.jsxs)(`tr`,{className:$[`diffRow_${e.line.kind}`],children:[t?(0,J.jsx)(`td`,{className:$.diffNo,children:e.line.newLineNo??e.line.oldLineNo??``}):null,(0,J.jsx)(`td`,{className:$.diffMarker,"aria-hidden":`true`,children:e.line.kind===`add`?`+`:e.line.kind===`del`?`−`:``}),(0,J.jsx)(`td`,{className:$.diffText,children:(0,J.jsx)(na,{text:e.line.text,lang:a})})]},e.key))})}),s?(0,J.jsx)(`button`,{type:`button`,className:$.diffMore,onClick:()=>i(e=>!e),"aria-expanded":r,children:r?`Collapse diff`:`Show ${l} more line${l===1?``:`s`}`}):null]}),t?null:(0,J.jsx)(`p`,{className:$.diffUnanchored,children:`Line numbers are not shown — this tool call reported what it replaced, not where in the file.`})]})}function ta(e){let t=[],n=!1;return e.forEach((r,i)=>{if(n)return;let a=r.header.replace(/^@@[^@]*@@/,``).trim();(a||e.length>1)&&t.push({kind:`hunk`,key:`h${i}`,label:a||`hunk ${i+1}`});for(let e=0;e<r.lines.length;e++){if(t.length>=Zi){n=!0,t.push({kind:`hunk`,key:`truncated`,label:`diff truncated at ${Zi} lines`});return}t.push({kind:`line`,key:`h${i}l${e}`,line:r.lines[e]})}}),t}function na({text:e,lang:t}){let n=h(e,t);return(0,J.jsx)(`code`,{className:$.diffCode,children:n.map((e,t)=>(0,J.jsx)(`span`,{className:$[`tok_${e.kind}`],children:e.text},t))})}var ra=2e4;function ia({name:e,input:t,result:n,toolUseId:r,durationMs:i=null,facts:a,startedAt:o=null}){let s=(0,q.useMemo)(()=>a??Ke({name:e,input:t,result:n}),[a,e,t,n]),c=$e(),l=s.command?null:s.paths[0]??null,u=l===null?P(t):`${c(l)}${s.paths.length>1?` +${s.paths.length-1}`:``}`,d=s.failed||n?.isError===!0,f=n===null,p=f?`running`:d?`error`:i!==null&&i>0?ye(i):`done`,m=(0,q.useMemo)(()=>s.diff?Kr(s.diff.text):null,[s.diff]),h=n?n.output.length>ra?`${n.output.slice(0,ra)}\n… (${n.output.length-ra} more characters)`:n.output:``;return(0,J.jsxs)(`details`,{id:Je(r),className:`${M.tool} ${d?M.toolFailed:``}`,"data-state-key":`tool:${r}`,"data-action":s.action,children:[(0,J.jsxs)(`summary`,{className:M.toolLine,"aria-label":`${e}${u?`: ${u}`:``} (${p})`,children:[(0,J.jsx)(`span`,{className:M.toolGlyph,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:M.toolName,children:e}),u?(0,J.jsx)(`span`,{className:M.toolArg,title:l??u,children:u}):null,m&&(m.additions>0||m.deletions>0)?(0,J.jsxs)(`span`,{className:M.toolDelta,"aria-hidden":`true`,children:[m.additions>0?(0,J.jsxs)(`span`,{className:M.toolAdd,children:[`+`,m.additions]}):null,m.deletions>0?(0,J.jsxs)(`span`,{className:M.toolDel,children:[`−`,m.deletions]}):null]}):null,(0,J.jsx)(`span`,{className:M.toolState,children:f&&o?(0,J.jsxs)(J.Fragment,{children:[`running `,(0,J.jsx)(Ze,{since:o})]}):p})]}),(0,J.jsx)(`div`,{className:M.toolBody,children:(0,J.jsx)(aa,{input:t,output:h,facts:s,pending:f,isError:d})})]})}function aa({input:e,output:t,facts:n,pending:r,isError:i}){let a=$e();return n.command?(0,J.jsx)(Ji,{command:n.command,output:t,isError:i,pending:r,body:n.diff?(0,J.jsx)(Qi,{diff:n.diff,path:n.paths[0]??null}):void 0}):n.diff?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Qi,{diff:n.diff,path:n.paths[0]??null}),r?(0,J.jsx)(`p`,{className:M.toolPending,children:`Waiting for the tool to finish…`}):null,i&&t?(0,J.jsxs)(`section`,{children:[(0,J.jsx)(`h4`,{className:M.toolLabel,children:`Error`}),(0,J.jsx)(`pre`,{className:M.toolPre,children:t})]}):null]}):n.written?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`section`,{children:[(0,J.jsxs)(`h4`,{className:M.toolLabel,children:[`Contents written to `,(0,J.jsx)(`span`,{className:M.toolLabelPath,title:n.written.path,children:a(n.written.path)})]}),(0,J.jsx)(`pre`,{className:M.toolPre,children:n.written.text}),(0,J.jsx)(`p`,{className:M.toolNote,children:`The previous contents were not in this tool call, so there is nothing to diff against.`})]}),(0,J.jsxs)(`section`,{children:[(0,J.jsx)(`h4`,{className:M.toolLabel,children:i?`Error`:`Result`}),r?(0,J.jsx)(`p`,{className:M.toolPending,children:`Waiting for the tool to finish…`}):(0,J.jsx)(`pre`,{className:M.toolPre,children:t||`(empty)`})]})]}):(0,J.jsxs)(J.Fragment,{children:[e==null?null:(0,J.jsxs)(`section`,{children:[(0,J.jsx)(`h4`,{className:M.toolLabel,children:`Input`}),(0,J.jsx)(`pre`,{className:M.toolPre,children:_e(e)})]}),(0,J.jsxs)(`section`,{children:[(0,J.jsx)(`h4`,{className:M.toolLabel,children:i?`Error`:`Result`}),r?(0,J.jsx)(`p`,{className:M.toolPending,children:`Waiting for the tool to finish…`}):(0,J.jsx)(`pre`,{className:M.toolPre,children:t||`(empty)`})]})]})}function oa(e,t){let n=e.trigger===`manual`?`Compacted on request`:`Auto-compacted`,r=e.durationMs!==null&&e.durationMs>0?` in ${ye(e.durationMs)}`:``;return e.preTokens!==null&&e.postTokens!==null?`${n} ${B(e.preTokens)} → ${B(e.postTokens)}${r}`:e.preTokens===null?`${t?ve[t]:`The CLI`} compacted its context${r}`:`${n} at ${B(e.preTokens)}${r}`}function sa(e){switch(e){case`native-thread-missing`:return`The CLI no longer has this chat’s saved conversation (it may have expired). Continue in a fresh chat — the transcript here is intact.`;case`session-in-use`:return`The CLI says this chat’s native session is still held by another process. Wait for it to finish, or continue in a fresh chat.`;default:return null}}var ca=48,la=3,ua=1400;function da(e){let t=new Set,n=null;for(let r of e)r.kind!==`compaction`&&(r.kind===`turn-done`&&!r.ok&&n&&n.turnId===r.turnId&&(n.kind===`cancelled`||n.kind===`error`)&&t.add(r.key),n={turnId:r.turnId,kind:r.kind});return t}function fa(e,t){let n=Yr(Pt(e.items),t);return{turns:n.turns,facts:n.facts,errorAnchors:n.errorAnchors,explained:da(e.items)}}function pa({transcript:e,loaded:t,loadError:n,onRetry:r,emptyHint:i,engine:a,handoffFrom:o=null,onOpenSession:s,live:l=null,projectRoots:u}){let d=Ct(),f=(0,q.useContext)(G),p=(0,q.useRef)(null),m=(0,q.useRef)(new Map),h=(0,q.useRef)(null),[g,_]=(0,q.useState)(!0),[v,y]=(0,q.useState)(!1),[b,x]=(0,q.useState)(``),[S,C]=(0,q.useState)(-1),[w,T]=(0,q.useState)(0),E=(0,q.useRef)(``),ee=(0,q.useRef)(Vr()),D=(0,q.useRef)(new WeakMap),te=(0,q.useMemo)(()=>e.segments??[{key:`all`,items:e.items}],[e]),O=(0,q.useMemo)(()=>te.map(e=>{let t=D.current.get(e);return t||(t=fa(e,ee.current),D.current.set(e,t)),t}),[te]),k=(0,q.useMemo)(()=>O.flatMap(e=>e.turns),[O]),ne=(0,q.useMemo)(()=>{let e=[],t=0;for(let n of O)e.push(t),t+=n.turns.length;return e},[O]),re=(0,q.useMemo)(()=>O.flatMap(e=>e.errorAnchors),[O]),ie=(0,q.useRef)(k);ie.current=k;let ae=fi(k,o!==null),A=(0,q.useMemo)(()=>oi(ie.current,{handoff:o!==null}),[ae]),j=(0,q.useMemo)(()=>ri(k,b,ee.current),[k,b]),oe=(0,q.useMemo)(()=>new Set(j.map(e=>e.turnKey)),[j]),se=(0,q.useCallback)((e=`auto`)=>{let t=p.current;t&&(typeof t.scrollTo==`function`?t.scrollTo({top:t.scrollHeight,behavior:e}):t.scrollTop=t.scrollHeight)},[]);function N(){let e=p.current;if(!e)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<=ca;_(t),t&&y(!1)}let P=(0,q.useCallback)(e=>{e&&(_(!1),typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`center`,behavior:`smooth`}),typeof e.focus==`function`&&e.focus({preventScroll:!0}),e.setAttribute(`data-flash`,`true`),h.current&&clearTimeout(h.current),h.current=setTimeout(()=>e.removeAttribute(`data-flash`),ua))},[]);(0,q.useEffect)(()=>()=>{h.current&&clearTimeout(h.current)},[]);let F=(0,q.useCallback)(e=>{P(m.current.get(e)??null)},[P]),I=(0,q.useCallback)((e,t=!1)=>{let n=p.current?.ownerDocument?.getElementById(e)??null;if(!n)return!t&&zr(e)?(requestAnimationFrame(()=>{I(e,!0)}),!0):!1;for(let e=n;e&&(e instanceof HTMLDetailsElement&&(e.open=!0),e!==p.current);e=e.parentElement);return P(n),!0},[P]);(0,q.useEffect)(()=>Lt(e=>I(e)),[I]);let ce=k.length>=la;(0,q.useEffect)(()=>zt(()=>ce?(T(e=>e+1),!0):!1),[ce]);let le=(0,q.useCallback)(e=>I(Je(e)),[I]),ue=(0,q.useCallback)(()=>{let e=re[0];e&&I(e)},[re,I]),de=(0,q.useCallback)((e,t)=>{t?m.current.set(e,t):m.current.delete(e)},[]),fe=(0,q.useCallback)(e=>{if(j.length===0)return;let t=S<0?e>0?0:j.length-1:(S+e+j.length)%j.length;C(t),F(j[t].turnKey)},[j,S,F]);(0,q.useEffect)(()=>{C(-1)},[b]);let pe=(0,q.useRef)(k);pe.current=k;let L=(0,q.useCallback)(e=>{let t=pe.current;if(t.length===0)return;let n=p.current?.ownerDocument?.activeElement,r=n instanceof HTMLElement?n.getAttribute(`data-turn-key`):null,i=r?t.findIndex(e=>e.key===r):-1,a=i<0?e>0?0:t.length-1:Math.max(0,Math.min(t.length-1,i+e));F(t[a].key)},[F]);(0,q.useEffect)(()=>Vt(e=>pe.current.length!==0&&(L(e),!0)),[L]),(0,q.useEffect)(()=>{if(k.length===0)return;let e=e=>{if(e.defaultPrevented)return;let t=e.target,n=t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement||t?.isContentEditable===!0;if((e.metaKey||e.ctrlKey)&&!e.shiftKey&&!e.altKey&&e.key.toLowerCase()===`f`){if(k.length<la)return;e.preventDefault(),T(e=>e+1);return}e.altKey&&!e.metaKey&&!e.ctrlKey&&!n&&(e.key===`ArrowDown`?(e.preventDefault(),L(1)):e.key===`ArrowUp`&&(e.preventDefault(),L(-1)))};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[k.length,L]);function me(e){e.target?.hasAttribute(`data-turn-key`)&&(e.key===`ArrowDown`?(e.preventDefault(),L(1)):e.key===`ArrowUp`?(e.preventDefault(),L(-1)):e.key===`Home`?(e.preventDefault(),F(k[0].key)):e.key===`End`&&(e.preventDefault(),F(k[k.length-1].key)))}let he=e.live,R=he&&d!==`hidden`&&l?.thinking&&l.thinking.turnId===l.turnId?l.thinking:null,ge=k.length>0?k[k.length-1]:null,_e=e.items[e.items.length-1],z=`${e.items.length}:${_e?.kind===`assistant`?_e.text.length:0}:${R?.text.length??-1}:${+!!he}`;if((0,q.useLayoutEffect)(()=>{z!==E.current&&(E.current=z,g?se():y(!0))},[z,g,se]),(0,q.useEffect)(()=>{t&&se()},[t,se]),!t&&!n)return(0,J.jsx)(`div`,{className:M.transcript,"aria-busy":`true`,children:(0,J.jsxs)(`div`,{className:M.skeleton,children:[(0,J.jsx)(`div`,{className:M.skeletonUser,children:(0,J.jsx)(c,{width:`42%`})}),(0,J.jsx)(c,{width:`88%`}),(0,J.jsx)(c,{width:`72%`}),(0,J.jsx)(c,{width:`80%`}),(0,J.jsx)(`div`,{className:M.skeletonUser,children:(0,J.jsx)(c,{width:`30%`})}),(0,J.jsx)(c,{width:`64%`})]})});if(n)return(0,J.jsx)(`div`,{className:M.transcript,children:(0,J.jsxs)(`div`,{role:`alert`,className:M.loadError,children:[(0,J.jsxs)(`p`,{children:[(0,J.jsx)(`span`,{className:M.noteLead,children:`Couldn’t load this chat.`}),` `,n]}),r?(0,J.jsx)(`button`,{type:`button`,onClick:r,children:`Retry`}):null]})});let ve=S>=0?j[S]?.turnKey??null:null;return(0,J.jsx)(G.Provider,{value:u??f,children:(0,J.jsxs)(`div`,{className:M.transcriptWrap,children:[k.length>=la?(0,J.jsx)(ji,{turns:k,query:b,onQuery:x,matches:j,matchIndex:S,onStepMatch:fe,errorCount:re.length,onJumpError:ue,onJumpTurn:F,focusToken:w}):null,(0,J.jsx)(Fi,{running:he,lastStatus:ge?.status??null,lastKey:ge?.key??null}),(0,J.jsxs)(`div`,{className:M.scrollArea,children:[(0,J.jsxs)(`div`,{ref:p,className:M.transcript,onScroll:N,role:`log`,"aria-live":`off`,"aria-label":`Conversation`,"data-has-rail":k.length>=la||void 0,children:[o?(0,J.jsxs)(`p`,{className:M.continued,"data-kind":`handoff-from`,children:[(0,J.jsx)(`span`,{className:M.continuedLabel,children:`Continued from`}),` `,s?(0,J.jsx)(`button`,{type:`button`,className:M.continuedLink,onClick:()=>s(o.sessionId),title:`Open the chat this one continues`,children:o.title||`Untitled chat`}):(0,J.jsx)(`span`,{className:M.continuedTitle,children:o.title||`Untitled chat`})]}):null,e.items.length===0&&!he?(0,J.jsxs)(`div`,{className:M.empty,children:[(0,J.jsx)(`p`,{className:M.emptyTitle,children:o?`Review the handoff, then send it.`:`Say something to begin.`}),(0,J.jsx)(`p`,{className:M.emptyBody,children:i??(o?`The note in the message box was drafted from the previous chat's log. Edit it freely — nothing is sent until you press Send.`:`The agent can read and edit this project. Ask for a change, a review, or an explanation.`)})]}):null,(0,J.jsxs)(`ol`,{className:M.list,onKeyDown:me,children:[O.map((e,t)=>e.turns.map((n,r)=>(0,J.jsx)(ma,{turn:n,index:ne[t]+r,facts:e.facts,explained:e.explained,engine:a,match:oe.has(n.key)?n.key===ve?`active`:`true`:void 0,reasoning:d,onJumpTool:le,onJumpAnchor:I,registerNode:de},n.key))),R?(0,J.jsx)(`li`,{className:M.item,"data-kind":`thinking-live`,children:(0,J.jsx)(Oi,{text:R.text,streaming:!0,startedAt:R.startedAt,estimatedTokens:R.estimatedTokens,defaultOpen:!0},`live-${R.startedAt}`)}):null]})]}),k.length>=la?(0,J.jsx)(gi,{model:A,onJumpTurn:F}):null]}),g?null:(0,J.jsxs)(`button`,{type:`button`,className:`${M.jump} ${v?M.jumpUnseen:``}`,onClick:()=>{_(!0),y(!1),se(`smooth`)},children:[(0,J.jsx)(ht,{size:12}),` Jump to latest`]})]})})}var ma=(0,q.memo)(function({turn:e,index:t,facts:n,explained:r,engine:i,match:a,reasoning:o,onJumpTool:s,onJumpAnchor:c,registerNode:l}){let u=e.status===`running`,d=u?null:e.durationMs,f=e.errorCount>0&&e.firstErrorAnchor?e.firstErrorAnchor:null;return(0,J.jsxs)(`li`,{id:Wr(e.key),ref:t=>l(e.key,t),className:`${M.turn} ${u?``:M.turnSettled}`,"data-turn-key":e.key,"data-status":e.status,"data-match":a,tabIndex:-1,"aria-label":`Turn ${t+1}`,children:[(0,J.jsx)(`ol`,{className:M.turnItems,children:e.items.map(e=>ga(e,n,r,o,i))}),e.files.length>0?(0,J.jsx)(yi,{files:e.files,onJump:s}):null,d!==null||f?(0,J.jsxs)(`footer`,{className:M.turnFoot,"data-kind":`turn-meta`,children:[d===null?null:(0,J.jsxs)(`span`,{children:[(0,J.jsx)(`span`,{className:`visually-hidden`,children:`Turn took `}),(0,J.jsx)(`span`,{children:ye(d)})]}),f?(0,J.jsxs)(`button`,{type:`button`,className:M.turnErrorJump,onClick:()=>c(f),children:[e.errorCount,` failure`,e.errorCount===1?``:`s`,` in this turn — jump to the first`]}):null]}):null]})}),ha=(0,q.memo)(ia,(e,t)=>e.name===t.name&&e.input===t.input&&e.toolUseId===t.toolUseId&&e.durationMs===t.durationMs&&e.facts===t.facts&&e.result?.output===t.result?.output&&e.result?.isError===t.result?.isError&&e.result===null==(t.result===null));function ga(e,t,n,r,i){switch(e.kind){case`user`:return(0,J.jsx)(`li`,{className:`${M.item} ${M.user}`,"data-kind":`user`,children:(0,J.jsx)(`div`,{className:M.userText,children:e.text})},e.key);case`assistant`:return(0,J.jsx)(`li`,{className:`${M.item} ${M.assistant}`,"data-kind":`assistant`,"data-streaming":e.streaming||void 0,children:(0,J.jsx)(N,{text:e.text,streaming:e.streaming})},e.key);case`thinking`:return r===`hidden`?null:(0,J.jsx)(`li`,{className:M.item,"data-kind":`thinking`,children:(0,J.jsx)(Oi,{text:e.text,redacted:e.redacted,durationMs:e.durationMs,estimatedTokens:e.estimatedTokens,kind:e.thinkingKind,defaultOpen:r===`expanded`,stateKey:`thinking:${e.key}`})},e.key);case`tool`:return(0,J.jsx)(`li`,{className:M.item,"data-kind":`tool`,children:(0,J.jsx)(ha,{name:e.name,input:e.input,result:e.result,toolUseId:e.toolUseId,durationMs:e.durationMs,facts:t.get(e.toolUseId),startedAt:e.at})},e.key);case`toolGroup`:return(0,J.jsx)(`li`,{className:M.item,"data-kind":`tool-group`,children:(0,J.jsx)(ya,{item:e,facts:t,reasoning:r})},e.key);case`error`:{let t=sa(e.code);return(0,J.jsx)(`li`,{className:M.item,"data-kind":`error`,"data-code":e.code??void 0,children:(0,J.jsxs)(`div`,{id:Ur(e.key),role:`alert`,className:`${M.note} ${M.noteError}`,children:[/^error\b/i.test(e.message)?null:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:M.noteLead,children:`Error`}),` `]}),e.message,t?(0,J.jsx)(`span`,{className:M.noteHint,children:t}):null]})},e.key)}case`compaction`:return(0,J.jsxs)(`li`,{className:`${M.item} ${M.compaction}`,"data-kind":`compaction`,children:[(0,J.jsx)(`span`,{className:M.compactionRule,"aria-hidden":`true`}),(0,J.jsxs)(`span`,{className:M.compactionText,children:[(0,J.jsx)(`span`,{className:M.compactionTitle,children:oa(e,i)}),(0,J.jsx)(`span`,{className:M.compactionNote,children:`Earlier turns now reach the agent only as a summary; the full transcript stays here.`})]}),(0,J.jsx)(`span`,{className:M.compactionRule,"aria-hidden":`true`})]},e.key);case`truncated`:return(0,J.jsxs)(`li`,{className:`${M.item} ${M.compaction}`,"data-kind":`history-truncated`,children:[(0,J.jsx)(`span`,{className:M.compactionRule,"aria-hidden":`true`}),(0,J.jsxs)(`span`,{className:M.compactionText,children:[(0,J.jsx)(`span`,{className:M.compactionTitle,children:`Older history trimmed`}),(0,J.jsx)(`span`,{className:M.compactionNote,children:`This chat’s log reached its size cap, so its oldest turns were dropped here. The agent’s own conversation is unaffected.`})]}),(0,J.jsx)(`span`,{className:M.compactionRule,"aria-hidden":`true`})]},e.key);case`recovered`:return(0,J.jsx)(`li`,{className:M.item,"data-kind":`recovered`,children:(0,J.jsxs)(`div`,{className:`${M.note} ${M.noteRecovered}`,role:`status`,children:[(0,J.jsx)(`span`,{className:M.noteLead,children:e.how===`handoff`?`Recovered from the handoff note`:`Recovered in a new session`}),` — `,e.message]})},e.key);case`cancelled`:return(0,J.jsx)(`li`,{className:M.item,"data-kind":`cancelled`,children:(0,J.jsx)(`div`,{className:M.note,children:`Stopped.`})},e.key);case`turn-done`:return e.ok||n.has(e.key)?null:(0,J.jsx)(`li`,{className:M.item,"data-kind":`turn-done`,children:(0,J.jsxs)(`div`,{id:Ur(e.key),className:`${M.note} ${M.noteError}`,children:[(0,J.jsx)(`span`,{className:M.noteLead,children:`Failed`}),` Turn ended without a result.`]})},e.key);default:return null}}function _a(e,t,n,r){if(e===t)return n===r||e.items.every(e=>e.kind!==`tool`||n.get(e.toolUseId)===r.get(e.toolUseId));if(e.key!==t.key||e.items.length!==t.items.length||e.errorCount!==t.errorCount||e.pending!==t.pending||e.spanMs!==t.spanMs||e.summary!==t.summary)return!1;for(let i=0;i<e.items.length;i+=1){let a=e.items[i],o=t.items[i];if(a.key!==o.key||a.kind!==o.kind)return!1;if(a.kind===`tool`&&o.kind===`tool`){if(a.result?.output!==o.result?.output||a.result?.isError!==o.result?.isError||a.durationMs!==o.durationMs||n.get(a.toolUseId)!==r.get(o.toolUseId))return!1}else if(a.kind===`thinking`&&o.kind===`thinking`&&(a.text!==o.text||a.durationMs!==o.durationMs||a.estimatedTokens!==o.estimatedTokens))return!1}return!0}function va(e,t,n){return e.kind===`tool`?(0,J.jsx)(ha,{name:e.name,input:e.input,result:e.result,toolUseId:e.toolUseId,durationMs:e.durationMs,facts:t.get(e.toolUseId),startedAt:e.at}):n===`hidden`?null:(0,J.jsx)(Oi,{text:e.text,redacted:e.redacted,durationMs:e.durationMs,estimatedTokens:e.estimatedTokens,kind:e.thinkingKind,defaultOpen:n===`expanded`,stateKey:`thinking:${e.key}`})}var ya=(0,q.memo)(function({item:e,facts:t,reasoning:n}){let r=(0,q.useCallback)(e=>va(e,t,n),[t,n]);return(0,J.jsx)(Br,{item:e,facts:t,renderMember:r})},(e,t)=>e.reasoning===t.reasoning&&_a(e.item,t.item,e.facts,t.facts)),ba={chip:`_chip_15tdd_8`,chipGlyph:`_chipGlyph_15tdd_22`,window:`_window_15tdd_36`,windowLead:`_windowLead_15tdd_37`,windowLabel:`_windowLabel_15tdd_44`,pct:`_pct_15tdd_45`,flag:`_flag_15tdd_61`,unknownHead:`_unknownHead_15tdd_70`,unknownValue:`_unknownValue_15tdd_77`,unknownRule:`_unknownRule_15tdd_86`,reset:`_reset_15tdd_94`,note:`_note_15tdd_105`,noteHead:`_noteHead_15tdd_111`,plan:`_plan_15tdd_118`,noteSummary:`_noteSummary_15tdd_131`,credits:`_credits_15tdd_138`},xa={ready:`✓`,tight:`◑`,blocked:`▮`,unread:`?`};function Sa({view:e,title:t}){return(0,J.jsxs)(`span`,{className:ba.chip,"data-capacity":e.cls,title:t??e.summary,children:[(0,J.jsx)(`span`,{className:ba.chipGlyph,"aria-hidden":`true`,children:xa[e.cls]}),e.word]})}function Ca(e,t){return e instanceof Error&&e.message?e.message:t}function wa({issue:e,onReconnect:t}){let[n,r]=(0,q.useState)(!1),[i,a]=(0,q.useState)(null),{report:o}=e,s=o.fix.command&&o.fix.command.length>0?Re(o.fix.command):null,c=async()=>{r(!0),a(null);try{await t(o.seatId),a({text:`Sign-in opened in Terminal. Finish there, then choose Check again.`,error:!1})}catch(e){a({text:Ca(e,`The sign-in window could not be opened.`),error:!0})}finally{r(!1)}},l=async()=>{if(s!==null)try{await navigator.clipboard.writeText(s),a({text:`Command copied.`,error:!1})}catch{a({text:`Copy failed — select the command and copy it by hand.`,error:!0})}};return(0,J.jsxs)(`li`,{className:Z.row,"data-tone":e.tone,"data-seat":o.seatId,children:[(0,J.jsxs)(`div`,{className:Z.rowHead,children:[(0,J.jsx)(`span`,{className:Z.dot,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:Z.label,children:e.label}),(0,J.jsx)(`span`,{className:Z.word,children:e.word}),e.reset===null?null:(0,J.jsxs)(`span`,{className:Z.reset,children:[e.reset,e.usableAgain===null?null:` · ${e.usableAgain}`]})]}),e.detail===null?null:(0,J.jsx)(`p`,{className:Z.detail,children:e.detail}),o.fix.kind===`reauth`||s!==null?(0,J.jsxs)(`div`,{className:Z.actions,children:[o.fix.kind===`reauth`?(0,J.jsx)(W,{size:`sm`,variant:`primary`,icon:(0,J.jsx)(at,{}),busy:n,onClick:()=>{c()},"aria-label":`Reconnect ${e.label}`,children:`Reconnect`}):null,s===null?null:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`code`,{className:Z.command,children:s}),(0,J.jsx)(W,{size:`sm`,variant:`subtle`,icon:(0,J.jsx)(ct,{}),onClick:()=>{l()},"aria-label":`Copy the repin command for ${e.label}`,children:`Copy`})]})]}):null,(0,J.jsx)(`p`,{className:Z.status,"aria-live":`polite`,"data-error":i?.error?`true`:void 0,children:i?.text??``})]})}function Ta({reports:e,seats:t=[],onReconnect:n=Ie,onRefresh:r=Fe,now:i}){let[a,o]=(0,q.useState)(!1),[s,c]=(0,q.useState)(null),l=U(e,t,i);if(l.length===0)return null;let u=l[0].tone,d=async()=>{o(!0),c(null);try{await r()}catch(e){c(Ca(e,`The check could not run.`))}finally{o(!1)}};return(0,J.jsxs)(`section`,{className:Z.banner,"data-tone":u,"aria-label":`Seat health`,children:[(0,J.jsxs)(`div`,{className:Z.head,children:[(0,J.jsx)(lt,{}),(0,J.jsx)(`span`,{className:Z.headline,children:Ve(l)}),(0,J.jsx)(W,{size:`sm`,variant:`ghost`,icon:(0,J.jsx)(ot,{}),busy:a,onClick:()=>{d()},children:`Check again`})]}),(0,J.jsx)(`ul`,{className:Z.list,children:l.map(e=>(0,J.jsx)(wa,{issue:e,onReconnect:n},e.report.seatId))}),s===null?null:(0,J.jsx)(`p`,{className:Z.status,"data-error":`true`,role:`status`,children:s})]})}var Ea=(0,q.lazy)(()=>i(()=>import(`./HandoffDialog-BF3AYg-X.js`).then(e=>({default:e.HandoffDialog})),__vite__mapDeps([53,1,2,3,5,6,7,4,8,17,13,18,16,11,9,10,12,14,15,19,20,21,22,23,32,25,41,42,24,30,31,54,55,56,47,57,58,34,59,29,60,61])));function Da(e){let{view:t,seats:n,projects:r,dispatchEnabled:i,locked:o,hasAnySessions:s,onSend:c,onStop:l,onRename:u,onRequestDelete:d,onSeatChange:f,onNew:h,onRetry:g,sidebarCollapsed:_,onToggleSidebar:v,onOpenSession:y,handoffOpen:b,onHandoffOpenChange:x,otherRunning:S}=e,C=t.session,[w,T]=(0,q.useState)(!1),[E,D]=(0,q.useState)(``),[te,O]=(0,q.useState)(!1),[k,re]=(0,q.useState)({busy:!1,error:null}),[ie,ae]=(0,q.useState)(!1),[A,M]=(0,q.useState)(null),[N,P]=(0,q.useState)(null),[F,I]=(0,q.useState)(null),[ce,de]=(0,q.useState)(!1),[fe,pe]=(0,q.useState)(null),[me,R]=(0,q.useState)(null),[_e,z]=(0,q.useState)(null),ve=(0,q.useRef)(null),ye=(0,q.useId)();Le();let be=Rt(C);(0,q.useEffect)(()=>{T(!1),re({busy:!1,error:null}),ae(!1),P(null),M(null),I(null),pe(null),R(null)},[t.sessionId]);let xe=t.session?.id??null,Se=(0,q.useRef)(0);(0,q.useEffect)(()=>{fe&&(Se.current=fe.nonce)},[fe]),(0,q.useEffect)(()=>{if(xe&&i)return Ut(xe,e=>{pe(t=>({nonce:(t?.nonce??0)+1,text:t!==null&&t.nonce>Se.current?Bt(t.text,e):e}))})},[xe,i]);let Ce=Ot(),we=Ce.run,Oe=t.session?.id??null,ke=(0,q.useCallback)(async e=>{if(Oe){re({busy:!0,error:null});try{let t=await we(`Changing the context mode changes the compaction flag this chat runs with from its next turn.`,()=>Ae(Oe,e));t&&De(t.id,t),re({busy:!1,error:null})}catch(e){re({busy:!1,error:kt(e)})}}},[Oe,we]),V=(0,q.useCallback)((e,t)=>{a(e.id,t),ne(e.projectPath,{seatId:e.seatId,model:e.model}),De(e.id,e),se(),x(!1),y?y(e.id):(P({title:e.title}),M(`handoff-created`))},[y,x]);(0,q.useEffect)(()=>{w&&(ve.current?.focus(),ve.current?.select())},[w]);let Pe=(0,q.useMemo)(()=>Ee(t.events),[t.events]);if(!t.sessionId)return(0,J.jsxs)(`section`,{className:X.workspace,"aria-label":`Chat`,children:[(0,J.jsxs)(`header`,{className:X.header,"data-app-region":`drag`,children:[(0,J.jsx)(Pa,{eyebrow:(0,J.jsx)(`span`,{className:X.eyebrow,children:`Chat`}),title:(0,J.jsx)(`span`,{className:X.titleStatic,"data-state":`empty`,children:s?`No chat selected`:`No chats yet`})}),(0,J.jsx)(`div`,{className:X.headerSpacer}),(0,J.jsx)(`div`,{className:X.actions,children:(0,J.jsx)(La,{sidebarCollapsed:_,onToggleSidebar:v,hasSession:!1})})]}),(0,J.jsx)(Na,{seats:n}),(0,J.jsxs)(`div`,{className:X.emptyState,children:[(0,J.jsx)(`span`,{className:X.emptyMark,"aria-hidden":`true`,children:(0,J.jsx)(j,{size:36})}),(0,J.jsx)(`h1`,{className:X.emptyTitle,children:s?`Pick a chat, or start a new one`:`No chats yet — ⌘N`}),(0,J.jsx)(`p`,{className:X.emptyBody,children:`Open a project, choose a seat — a Claude or Codex account, Grok, or a local Ollama model — and talk to an agent that can edit that project.`}),(0,J.jsxs)(`button`,{type:`button`,className:X.emptyButton,onClick:h,children:[`New chat `,(0,J.jsx)(`kbd`,{children:`⌘N`})]}),i?null:(0,J.jsxs)(`p`,{className:X.emptyWarn,role:`status`,children:[`This server was started without dispatch, so chats are read-only here. Run `,(0,J.jsx)(`code`,{children:`ashlr verse`}),` to enable sending.`]})]})]});async function Fe(){let e=E.trim();if(T(!1),C&&e&&e!==C.title){O(!0);try{await u(e)}finally{O(!1)}}}function Ie(e){e.key===`Enter`?(e.preventDefault(),Fe()):e.key===`Escape`&&(e.preventDefault(),T(!1))}let H=C?.status===`running`,U=C?L(n,C):null,Re=C?.contextMode??`standard`,ze=C!==null&&U!==null&&ue(C.engine)&&(le(U.option)||Re===`expansive`),Be=C?he(n,C.seatId)??null:null,Ve=Be===null?null:Me(Be),W=Ve!==null&&je(Ve.cls)?Ve:null,We=Be===null||Ve===null?null:Ne(Be,Ve).replace(`${Be.label} · `,``),Ge=C===null?``:`Runs on ${Te(n,C)}${We?` — ${We}`:``}`,Ke=i?null:`Sending is disabled: this server was started without dispatch.`,qe=`Available when the current turn finishes.`,Je=C!==null&&kn(C.engine),Ze=Je?()=>{P(null),ae(!0),M(`compact`)}:void 0,Qe=C!==null&&C.turnCount===0?`Nothing to compact yet — this chat has no turns.`:null,$e=Ke??(H?qe:null),et=()=>{P(null),R(null),x(!0)},nt=e=>{if($e!==null){f(e);return}P(null),R(e),x(!0)},at=C?ge(C.projectPath,r):``,ot=C===null?``:C.status===`running`?`Running`:C.status===`error`?`Last turn failed`:i?`Ready`:`Read-only`,st=[];if(C){if(ze&&U){let e=Re===`standard`?`expansive`:`standard`,t=e===`standard`?Cn(U.option,Re,U):null,n=t===null?null:t.definite?`This chat holds ≈${B(t.tokens)}, past Standard's ≈${B(t.point)} compaction point — it compacts on the next turn.`:`This chat holds up to ≈${B(t.tokens)}; past ≈${B(t.point)} it compacts on the next turn.`,r=i?H?`The mode cannot change mid-turn. `+qe:k.busy?`Switching…`:null:Ke;st.push({id:`mode`,label:`Context: switch to ${pn[e]}`,icon:(0,J.jsx)(`span`,{"aria-hidden":`true`,children:`◔`}),description:e===`expansive`?Sn(U.option,C.engine):n??`Now ${pn[Re]}. Applies from the next turn.`,disabled:r!==null,reason:r,onSelect:()=>{ke(e)}})}if(Je){let e=Ke??(H?qe:Qe);st.push({id:`compact`,label:`Compact now…`,disabled:e!==null,reason:e,onSelect:()=>Ze?.()})}st.push({id:`handoff`,label:`Continue in a fresh chat…`,icon:(0,J.jsx)(Ye,{size:14}),disabled:$e!==null,reason:$e,onSelect:et}),st.push({id:`rename`,label:`Rename`,icon:(0,J.jsx)(Xe,{size:14}),disabled:!i,reason:Ke,onSelect:()=>{D(C.title),T(!0)}}),st.push({id:`copy-id`,label:ce?`Copied`:`Copy chat id`,icon:(0,J.jsx)(rt,{size:14}),onSelect:()=>{navigator.clipboard?.writeText(C.id).then(()=>{de(!0),setTimeout(()=>de(!1),1200)},()=>void 0)}}),st.push({id:`delete`,label:`Delete chat…`,icon:(0,J.jsx)(it,{size:14}),danger:!0,separated:!0,disabled:!i||H,reason:H?`Stop the turn before deleting.`:Ke,onSelect:d})}return(0,J.jsx)(G.Provider,{value:be.roots,children:(0,J.jsxs)(`section`,{className:X.workspace,"aria-labelledby":ye,children:[(0,J.jsxs)(`header`,{className:X.header,"data-app-region":`drag`,children:[(0,J.jsx)(Pa,{eyebrow:C?(0,J.jsxs)(`span`,{className:X.eyebrow,title:C.projectPath,"data-testid":`chat-breadcrumb`,children:[at,be.branch?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:X.crumbSep,"aria-hidden":`true`,children:` › `}),(0,J.jsx)(`span`,{className:`visually-hidden`,children:` on branch `}),(0,J.jsx)(`span`,{className:X.crumbBranch,children:be.branch})]}):null]}):(0,J.jsx)(`span`,{className:`${X.eyebrow} skeleton ${X.eyebrowSkeleton}`,"aria-hidden":`true`}),title:C?w?(0,J.jsx)(`input`,{ref:ve,className:X.titleInput,value:E,"aria-label":`Chat title`,onChange:e=>D(e.target.value),onBlur:()=>{Fe()},onKeyDown:Ie,maxLength:120}):(0,J.jsx)(`h1`,{id:ye,className:X.title,children:(0,J.jsx)(`button`,{type:`button`,className:X.titleButton,title:`Rename chat`,disabled:te||!i,onClick:()=>{D(C.title),T(!0)},children:C.title||`Untitled chat`})}):(0,J.jsx)(`h1`,{id:ye,className:`${X.titleStatic} skeleton ${X.titleSkeleton}`,"aria-label":`Loading chat`})}),C?(0,J.jsx)(oe,{label:Ge,placement:`bottom`,children:(0,J.jsxs)(`span`,{className:`${X.seatPill} ${X[`engine-${C.engine}`]??``}`,"data-engine":C.engine,tabIndex:0,role:`group`,"aria-label":`Chat status: ${ot}${W?`, ${W.word}`:``}`,"data-status":C.status,"data-testid":`chat-status`,"data-seat-capacity":W?.cls,children:[(0,J.jsx)(`span`,{className:X.engineTick,"aria-hidden":`true`}),(0,J.jsx)(`span`,{className:X.monogram,"aria-hidden":`true`,children:(0,J.jsx)(m,{engine:C.engine,size:13})}),(0,J.jsx)(`span`,{className:X.seatText,children:ot}),W?(0,J.jsx)(Sa,{view:W}):null]})}):null,C?(0,J.jsx)(At,{sessionId:C.id}):null,(0,J.jsx)(`div`,{className:X.headerSpacer}),(0,J.jsxs)(`div`,{className:X.actions,children:[t.stream===`reconnecting`?(0,J.jsx)(`span`,{className:X.streamState,role:`status`,children:`reconnecting…`}):null,C&&U?(0,J.jsx)(bn,{variant:`ring`,contextTokens:U.contextTokens,contextWindow:U.contextWindow,autoCompactAt:U.autoCompactAt,exact:U.exact,source:U.source,mode:ze?Re:null,engine:C.engine,compactionCount:C.compactionCount??0}):null,k.error?(0,J.jsx)(`span`,{className:X.modeError,role:`alert`,children:k.error}):null,C?(0,J.jsx)(oe,{label:`Chat actions`,placement:`bottom`,children:(0,J.jsx)(`button`,{type:`button`,className:X.ghostIcon,"aria-label":`Chat actions`,"aria-haspopup":`menu`,"aria-expanded":F!==null,onClick:e=>I(F?null:{anchor:He(e.currentTarget,`end`,260),from:e.currentTarget}),children:(0,J.jsx)(tt,{})})}):null,(0,J.jsx)(`span`,{className:X.actionDivider,"aria-hidden":`true`}),(0,J.jsx)(La,{sidebarCollapsed:_,onToggleSidebar:v,hasSession:C!==null})]})]}),(0,J.jsx)(Oa,{sessionId:t.sessionId,transcriptOverride:t.transcript,loaded:t.loaded,loadError:t.loadError,onRetry:g,engine:C?.engine,handoffFrom:C?.handoffFrom??null,onOpenSession:y},t.sessionId),C&&U?(0,J.jsx)(Ma,{session:C,seats:n,budget:U,modesAvailable:ze,dispatchEnabled:i,modeBusy:k.busy,lastTurnAt:Pe,compactOpen:Je&&ie,running:H,onSend:c,onCloseCompact:()=>{ae(!1),M(null)},onHandoff:et,onSwitchExpansive:()=>{ke(`expansive`)},onCompact:Ze,handoffCreated:N,onDismissHandoffCreated:()=>P(null),pinnedId:A}):null,C?(0,J.jsx)(`div`,{ref:z,className:X.queueHost,"data-testid":`queue-slot`}):null,C?(0,J.jsx)(ka,{sessionId:C.id,running:H,otherRunning:S,onStop:l}):null,C?(0,J.jsx)(Mt,{sessionId:C.id,roots:be.roots,onOpenDiff:ee}):null,C?(0,J.jsx)(Cr,{sessionId:C.id,seats:n,seat:{seatId:C.seatId,model:C.model},engine:C.engine,running:H,disabled:!i,disabledReason:Ke,locked:o,hintSeen:C.turnCount>0,contextTokens:U?.contextTokens??null,contextWindow:U?.contextWindow??null,autoCompactAt:U?.autoCompactAt??null,contextExact:U?.exact??!0,handoffDraft:C.handoffFrom!==void 0&&C.turnCount===0,onSend:c,onStop:l,onSeatChange:f,onHandoff:et,handoffDisabledReason:$e,onContinueOn:nt,insertRequest:fe,queueSlot:_e,autoFocus:!0},C.id):null,F&&C?(0,J.jsx)(Ue,{label:`Chat actions`,items:st,anchor:F.anchor,returnFocus:F.from,onClose:()=>I(null)}):null,C&&b?(0,J.jsx)(q.Suspense,{fallback:null,children:(0,J.jsx)(Ea,{session:C,seats:n,open:!0,onClose:()=>{R(null),x(!1)},onCreated:V,initialTarget:me??void 0})}):null,(0,J.jsx)(p,{...Ce.dialog,tokenLabel:`Mutation token`,tokenHelp:`the mutation token ashlr verse printed`})]})})}function Oa({sessionId:e,transcriptOverride:t,...n}){let r=It(e),i=Ht(e);return(0,J.jsx)(pa,{...n,transcript:t??r,live:i})}function ka({sessionId:e,running:t,otherRunning:n,onStop:r}){let i=It(e),a=Ht(e),o=T(),s=i.segments,c=s&&s.length>0?s[s.length-1].items:i.items,l=a.thinking&&a.thinking.turnId===a.turnId?a.thinking:null,u=(0,q.useMemo)(()=>nt(c,{thinking:l}),[c,l]),d=(0,q.useMemo)(()=>_t(c),[c]),f=(0,q.useMemo)(()=>gt(t?d:[],n),[t,d,n]),p=t&&i.live;if(!p&&f.total===0)return null;let m=o.state.open&&(o.state.active===`tasks`||o.state.splitWith===`tasks`);return(0,J.jsxs)(`div`,{className:X.liveRow,"data-running":p||void 0,children:[p?(0,J.jsx)(Qe,{live:a,derived:u,onStop:r,showNotice:!1}):(0,J.jsx)(`span`,{className:X.liveSpacer}),(0,J.jsx)(Yt,{counts:f,active:m,onOpen:()=>w(`tasks`)})]})}var Aa={retry:`Retrying`,preflight:`Preflight`,watchdog:`Still running`},ja=6e4;function Ma(e){let{session:t,seats:n,budget:r,modesAvailable:i,dispatchEnabled:a,modeBusy:o,lastTurnAt:s,compactOpen:c,running:l,onSend:u,onCloseCompact:d,onHandoff:f,onSwitchExpansive:p,onCompact:m,handoffCreated:h,onDismissHandoffCreated:g,pinnedId:_}=e,v=H(),y=Ht(t.id),[b,x]=(0,q.useState)(()=>Date.now()),[,S]=(0,q.useState)(0);(0,q.useEffect)(()=>{let e=setInterval(()=>x(Date.now()),ja);return()=>clearInterval(e)},[]);let C=v.data?.seats??[],w=[];U(C,n).length>0&&w.push({id:`seat-health`,kind:`seat-health`,label:`Seat health`,render:()=>(0,J.jsx)(Ta,{reports:C,seats:n})});let T=l&&y.notice?y.notice:null;return T&&w.push({id:`engine:${T.kind}`,kind:`engine`,label:Aa[T.kind],render:()=>(0,J.jsxs)(`p`,{className:X.engineNotice,"data-kind":T.kind,role:`status`,children:[(0,J.jsx)(`span`,{className:X.engineNoticeWord,children:Aa[T.kind]}),(0,J.jsx)(`span`,{children:T.message})]})}),Dn(t,r,i,Math.max(b,Date.now()),s)&&w.push({id:`context-advice`,kind:`context`,label:`Context advice`,render:()=>(0,J.jsx)(On,{embedded:!0,session:t,budget:r,modesAvailable:i,dispatchEnabled:a,modeBusy:o,onHandoff:f,onSwitchExpansive:p,onCompact:m,lastTurnAt:s,onDismiss:()=>S(e=>e+1)})}),h&&w.push({id:`handoff-created`,kind:`context`,label:`Handoff started`,render:()=>(0,J.jsxs)(`p`,{className:X.adviceStatus,role:`status`,children:[`Started “`,h.title,`” — open it from the chat list; the handoff note is waiting in its message box.`,(0,J.jsx)(`button`,{type:`button`,className:X.ghost,onClick:g,children:`Dismiss`})]})}),c&&w.push({id:`compact`,kind:`compact`,label:`Compact now`,render:()=>(0,J.jsx)(Mn,{engine:t.engine,budget:r,running:l,dispatchEnabled:a,empty:t.turnCount===0,onSend:u,onClose:d})}),(0,J.jsx)(qt,{notices:w,pinnedId:_})}function Na({seats:e}){let t=H().data?.seats??[];return U(t,e).length===0?null:(0,J.jsx)(`div`,{className:X.advice,children:(0,J.jsx)(Ta,{reports:t,seats:e})})}function Pa({eyebrow:e,title:t}){return(0,J.jsxs)(`div`,{className:X.identity,children:[e,t]})}function Fa(e){let t=x(e)?.keys[0];return t?y(t):null}var Ia={terminal:`dock.terminal`,preview:`dock.preview`,diff:`dock.diff`};function La({sidebarCollapsed:e,onToggleSidebar:t,hasSession:n}){let{state:r}=T(),i=e=>r.open&&(r.active===e||r.splitWith===e),a=[`terminal`,`preview`,`diff`].filter(e=>n&&Nt(e)),o=Fa(`dock.toggle`),s=Fa(`chat.sidebar`);return(0,J.jsxs)(`div`,{className:X.toggles,role:`group`,"aria-label":`Panels`,children:[a.map(e=>{let t=et[e],n=Fa(Ia[e]),r=i(e);return(0,J.jsx)(oe,{label:`${r?`Hide`:`Show`} ${Ft[e]}`,shortcut:n??void 0,placement:`bottom`,children:(0,J.jsx)(`button`,{type:`button`,className:`${X.ghostIcon} ${X.paneToggle}`,"aria-pressed":r,"aria-label":Ft[e],onClick:()=>E(e),children:(0,J.jsx)(t,{})})},e)}),a.length>0?(0,J.jsx)(`span`,{className:`${X.actionDivider} ${X.paneToggle}`,"aria-hidden":`true`}):null,(0,J.jsx)(oe,{label:`${e?`Show`:`Hide`} chat list`,shortcut:s??void 0,placement:`bottom`,children:(0,J.jsx)(`button`,{type:`button`,className:X.ghostIcon,onClick:t,"aria-pressed":!e,"aria-label":e?`Show chat list`:`Chat list`,children:(0,J.jsx)(mt,{})})}),(0,J.jsx)(oe,{label:`${r.open?`Hide`:`Show`} the dock`,shortcut:o??void 0,placement:`bottom`,children:(0,J.jsx)(`button`,{type:`button`,className:X.ghostIcon,onClick:D,"aria-pressed":r.open,"aria-label":`Dock`,children:(0,J.jsx)(pt,{})})})]})}export{Da as Workspace};
10
- //# sourceMappingURL=Workspace-DfcFGzME.js.map