@ashlr/hub 3.11.5 → 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 (271) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/dist/authority-surface.json +3 -3
  3. package/dist/build-identity.json +2 -2
  4. package/dist/core/authority/trust-roots.js +7 -1
  5. package/dist/core/authority/trust-roots.js.map +1 -1
  6. package/dist/core/universe/builtins/preparation/manifest.json +1 -1
  7. package/dist/core/universe/builtins/preparation/preparation-bridge.mjs +8 -2
  8. package/dist/core/universe/builtins/preparation/preparation-verification-fixtures.mjs +7 -1
  9. package/dist/core/web/public/next/assets/{ActionMenu-DffwPklw.js → ActionMenu-B4-39f2S.js} +2 -2
  10. package/dist/core/web/public/next/assets/{ActionMenu-DffwPklw.js.map → ActionMenu-B4-39f2S.js.map} +1 -1
  11. package/dist/core/web/public/next/assets/{Advanced-CxzE6ekM.js → Advanced-B-LqYXvd.js} +2 -2
  12. package/dist/core/web/public/next/assets/{Advanced-CxzE6ekM.js.map → Advanced-B-LqYXvd.js.map} +1 -1
  13. package/dist/core/web/public/next/assets/{App-DFlp-vdv.js → App-E2zCDRxm.js} +2 -2
  14. package/dist/core/web/public/next/assets/{App-DFlp-vdv.js.map → App-E2zCDRxm.js.map} +1 -1
  15. package/dist/core/web/public/next/assets/{AppsSection-Ct2O605-.js → AppsSection-8wXPPhZb.js} +2 -2
  16. package/dist/core/web/public/next/assets/{AppsSection-Ct2O605-.js.map → AppsSection-8wXPPhZb.js.map} +1 -1
  17. package/dist/core/web/public/next/assets/{AreaTrend-o-GLl2Is.js → AreaTrend-BFimExYn.js} +2 -2
  18. package/dist/core/web/public/next/assets/{AreaTrend-o-GLl2Is.js.map → AreaTrend-BFimExYn.js.map} +1 -1
  19. package/dist/core/web/public/next/assets/{AutonomyOffState-CXhXpsim.js → AutonomyOffState-B5eEkmiz.js} +2 -2
  20. package/dist/core/web/public/next/assets/{AutonomyOffState-CXhXpsim.js.map → AutonomyOffState-B5eEkmiz.js.map} +1 -1
  21. package/dist/core/web/public/next/assets/AutonomySection-B46igJKR.js +2 -0
  22. package/dist/core/web/public/next/assets/{AutonomySection-BTg7yVa1.js.map → AutonomySection-B46igJKR.js.map} +1 -1
  23. package/dist/core/web/public/next/assets/{BranchBar-BjPFtGsj.js → BranchBar-BRkrEQGs.js} +2 -2
  24. package/dist/core/web/public/next/assets/{BranchBar-BjPFtGsj.js.map → BranchBar-BRkrEQGs.js.map} +1 -1
  25. package/dist/core/web/public/next/assets/{BudgetControl-ng6swoZp.js → BudgetControl-T_RjPrw9.js} +2 -2
  26. package/dist/core/web/public/next/assets/{BudgetControl-ng6swoZp.js.map → BudgetControl-T_RjPrw9.js.map} +1 -1
  27. package/dist/core/web/public/next/assets/{Button-OjVJSrFq.js → Button-BhO-WKPp.js} +2 -2
  28. package/dist/core/web/public/next/assets/{Button-OjVJSrFq.js.map → Button-BhO-WKPp.js.map} +1 -1
  29. package/dist/core/web/public/next/assets/{CapacityStrip-Bx4c3dxD.js → CapacityStrip-CkFz5vq2.js} +2 -2
  30. package/dist/core/web/public/next/assets/{CapacityStrip-Bx4c3dxD.js.map → CapacityStrip-CkFz5vq2.js.map} +1 -1
  31. package/dist/core/web/public/next/assets/{ChartFrame-B_w2Siqg.js → ChartFrame-SygZ7B3x.js} +2 -2
  32. package/dist/core/web/public/next/assets/{ChartFrame-B_w2Siqg.js.map → ChartFrame-SygZ7B3x.js.map} +1 -1
  33. package/dist/core/web/public/next/assets/{ChatSection-Bisj9R6E.js → ChatSection-D6WybBpB.js} +3 -3
  34. package/dist/core/web/public/next/assets/{ChatSection-Bisj9R6E.js.map → ChatSection-D6WybBpB.js.map} +1 -1
  35. package/dist/core/web/public/next/assets/{CloudBudgetForm-5Gf4iAok.js → CloudBudgetForm-Bd91iStN.js} +2 -2
  36. package/dist/core/web/public/next/assets/{CloudBudgetForm-5Gf4iAok.js.map → CloudBudgetForm-Bd91iStN.js.map} +1 -1
  37. package/dist/core/web/public/next/assets/{CommandPalette-iTpk6I8r.js → CommandPalette-B6SgDJH-.js} +2 -2
  38. package/dist/core/web/public/next/assets/{CommandPalette-iTpk6I8r.js.map → CommandPalette-B6SgDJH-.js.map} +1 -1
  39. package/dist/core/web/public/next/assets/{CommandSection-D8ZihzvE.js → CommandSection-DgMGoepd.js} +2 -2
  40. package/dist/core/web/public/next/assets/{CommandSection-D8ZihzvE.js.map → CommandSection-DgMGoepd.js.map} +1 -1
  41. package/dist/core/web/public/next/assets/{ConfirmDialog-_S9iE-cJ.js → ConfirmDialog-Bv4hdK2T.js} +2 -2
  42. package/dist/core/web/public/next/assets/{ConfirmDialog-_S9iE-cJ.js.map → ConfirmDialog-Bv4hdK2T.js.map} +1 -1
  43. package/dist/core/web/public/next/assets/{DeleteChatDialog-KUYUygiA.js → DeleteChatDialog-CH1Ix8Eh.js} +2 -2
  44. package/dist/core/web/public/next/assets/{DeleteChatDialog-KUYUygiA.js.map → DeleteChatDialog-CH1Ix8Eh.js.map} +1 -1
  45. package/dist/core/web/public/next/assets/{Dialog-BuIaG6HF.js → Dialog-BSsIFNqD.js} +2 -2
  46. package/dist/core/web/public/next/assets/{Dialog-BuIaG6HF.js.map → Dialog-BSsIFNqD.js.map} +1 -1
  47. package/dist/core/web/public/next/assets/{DiffPane-De4IQt82.js → DiffPane-BpNuJmth.js} +2 -2
  48. package/dist/core/web/public/next/assets/{DiffPane-De4IQt82.js.map → DiffPane-BpNuJmth.js.map} +1 -1
  49. package/dist/core/web/public/next/assets/{DiffViewer-B75t6Ile.js → DiffViewer-CJarUvs0.js} +2 -2
  50. package/dist/core/web/public/next/assets/{DiffViewer-B75t6Ile.js.map → DiffViewer-CJarUvs0.js.map} +1 -1
  51. package/dist/core/web/public/next/assets/{DockHost-BPqyhtCP.js → DockHost-DW9q0NdR.js} +2 -2
  52. package/dist/core/web/public/next/assets/{DockHost-BPqyhtCP.js.map → DockHost-DW9q0NdR.js.map} +1 -1
  53. package/dist/core/web/public/next/assets/{EmptyState-DXkT4vhW.js → EmptyState-DPrd2aak.js} +2 -2
  54. package/dist/core/web/public/next/assets/{EmptyState-DXkT4vhW.js.map → EmptyState-DPrd2aak.js.map} +1 -1
  55. package/dist/core/web/public/next/assets/{Epistemic-CfqFe_aP.js → Epistemic-D7MxSmED.js} +2 -2
  56. package/dist/core/web/public/next/assets/{Epistemic-CfqFe_aP.js.map → Epistemic-D7MxSmED.js.map} +1 -1
  57. package/dist/core/web/public/next/assets/{FleetSection-B7f-XBiX.js → FleetSection-BdZN6rGS.js} +3 -3
  58. package/dist/core/web/public/next/assets/{FleetSection-B7f-XBiX.js.map → FleetSection-BdZN6rGS.js.map} +1 -1
  59. package/dist/core/web/public/next/assets/{Funnel-pXYySwXQ.js → Funnel-BeNQZWv2.js} +2 -2
  60. package/dist/core/web/public/next/assets/{Funnel-pXYySwXQ.js.map → Funnel-BeNQZWv2.js.map} +1 -1
  61. package/dist/core/web/public/next/assets/{GearTray-gj6lT7ba.js → GearTray-CIPtzeIx.js} +2 -2
  62. package/dist/core/web/public/next/assets/{GearTray-gj6lT7ba.js.map → GearTray-CIPtzeIx.js.map} +1 -1
  63. package/dist/core/web/public/next/assets/{GrowthSection-D8e9m9Wy.js → GrowthSection-iiQg6wvK.js} +2 -2
  64. package/dist/core/web/public/next/assets/{GrowthSection-D8e9m9Wy.js.map → GrowthSection-iiQg6wvK.js.map} +1 -1
  65. package/dist/core/web/public/next/assets/{HandoffDialog-VfKxKhxF.js → HandoffDialog-DrQ6ofuy.js} +2 -2
  66. package/dist/core/web/public/next/assets/{HandoffDialog-VfKxKhxF.js.map → HandoffDialog-DrQ6ofuy.js.map} +1 -1
  67. package/dist/core/web/public/next/assets/{Input-u1YR_Ogl.js → Input-C0MQxEM6.js} +2 -2
  68. package/dist/core/web/public/next/assets/{Input-u1YR_Ogl.js.map → Input-C0MQxEM6.js.map} +1 -1
  69. package/dist/core/web/public/next/assets/{LeaderCard-BDELBrnx.js → LeaderCard-BRr3_yE-.js} +2 -2
  70. package/dist/core/web/public/next/assets/{LeaderCard-BDELBrnx.js.map → LeaderCard-BRr3_yE-.js.map} +1 -1
  71. package/dist/core/web/public/next/assets/{MatrixHeatmap-NKLF2srR.js → MatrixHeatmap-DZvZeWXL.js} +2 -2
  72. package/dist/core/web/public/next/assets/{MatrixHeatmap-NKLF2srR.js.map → MatrixHeatmap-DZvZeWXL.js.map} +1 -1
  73. package/dist/core/web/public/next/assets/McpSection-BRuCcTjT.js +2 -0
  74. package/dist/core/web/public/next/assets/{McpSection-D1tDvlRa.js.map → McpSection-BRuCcTjT.js.map} +1 -1
  75. package/dist/core/web/public/next/assets/{MessageMarkdown-DlfLEJxu.js → MessageMarkdown-bRvD5nSc.js} +3 -3
  76. package/dist/core/web/public/next/assets/{MessageMarkdown-DlfLEJxu.js.map → MessageMarkdown-bRvD5nSc.js.map} +1 -1
  77. package/dist/core/web/public/next/assets/{MessageMarkdownRenderer-BYZzI115.js → MessageMarkdownRenderer-FjjkPKA2.js} +2 -2
  78. package/dist/core/web/public/next/assets/{MessageMarkdownRenderer-BYZzI115.js.map → MessageMarkdownRenderer-FjjkPKA2.js.map} +1 -1
  79. package/dist/core/web/public/next/assets/{Meter-BSVhU43Q.js → Meter-CFNLpwA-.js} +2 -2
  80. package/dist/core/web/public/next/assets/{Meter-BSVhU43Q.js.map → Meter-CFNLpwA-.js.map} +1 -1
  81. package/dist/core/web/public/next/assets/{MindSection-lqV2e_Sq.js → MindSection-BTIiQS8P.js} +2 -2
  82. package/dist/core/web/public/next/assets/{MindSection-lqV2e_Sq.js.map → MindSection-BTIiQS8P.js.map} +1 -1
  83. package/dist/core/web/public/next/assets/{MutationTokenDialog-CLGP72g6.js → MutationTokenDialog-T7gv3a9r.js} +2 -2
  84. package/dist/core/web/public/next/assets/{MutationTokenDialog-CLGP72g6.js.map → MutationTokenDialog-T7gv3a9r.js.map} +1 -1
  85. package/dist/core/web/public/next/assets/{NeedsYouDrawer-D992XTOn.js → NeedsYouDrawer-lYN4G_aM.js} +2 -2
  86. package/dist/core/web/public/next/assets/{NeedsYouDrawer-D992XTOn.js.map → NeedsYouDrawer-lYN4G_aM.js.map} +1 -1
  87. package/dist/core/web/public/next/assets/{NeedsYouList-eBOlJr0b.js → NeedsYouList-BgH8ezqf.js} +2 -2
  88. package/dist/core/web/public/next/assets/{NeedsYouList-eBOlJr0b.js.map → NeedsYouList-BgH8ezqf.js.map} +1 -1
  89. package/dist/core/web/public/next/assets/{NewChatDialog-DoYTH26M.js → NewChatDialog-Db5Xjrk8.js} +2 -2
  90. package/dist/core/web/public/next/assets/{NewChatDialog-DoYTH26M.js.map → NewChatDialog-Db5Xjrk8.js.map} +1 -1
  91. package/dist/core/web/public/next/assets/{OnboardingFlow-D3yfITK1.js → OnboardingFlow-LoY-zuSe.js} +2 -2
  92. package/dist/core/web/public/next/assets/{OnboardingFlow-D3yfITK1.js.map → OnboardingFlow-LoY-zuSe.js.map} +1 -1
  93. package/dist/core/web/public/next/assets/OnboardingGate-C4VXn7BJ.js +3 -0
  94. package/dist/core/web/public/next/assets/{OnboardingGate-DrDEVBqw.js.map → OnboardingGate-C4VXn7BJ.js.map} +1 -1
  95. package/dist/core/web/public/next/assets/{PreviewPane-ULN673zm.js → PreviewPane-BPBbcROb.js} +2 -2
  96. package/dist/core/web/public/next/assets/{PreviewPane-ULN673zm.js.map → PreviewPane-BPBbcROb.js.map} +1 -1
  97. package/dist/core/web/public/next/assets/{ProviderLogo-8WaUjTlN.js → ProviderLogo-CT2cSfkg.js} +2 -2
  98. package/dist/core/web/public/next/assets/{ProviderLogo-8WaUjTlN.js.map → ProviderLogo-CT2cSfkg.js.map} +1 -1
  99. package/dist/core/web/public/next/assets/{RailStatus-Ckw9nvYU.js → RailStatus-Vgl0GYtd.js} +2 -2
  100. package/dist/core/web/public/next/assets/{RailStatus-Ckw9nvYU.js.map → RailStatus-Vgl0GYtd.js.map} +1 -1
  101. package/dist/core/web/public/next/assets/{RefreshIndicator-DGubF4vR.js → RefreshIndicator-CSyqpY_q.js} +2 -2
  102. package/dist/core/web/public/next/assets/{RefreshIndicator-DGubF4vR.js.map → RefreshIndicator-CSyqpY_q.js.map} +1 -1
  103. package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-BahEaY4d.js → ResourcePoolConsoleApp-BX2nkdmZ.js} +2 -2
  104. package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-BahEaY4d.js.map → ResourcePoolConsoleApp-BX2nkdmZ.js.map} +1 -1
  105. package/dist/core/web/public/next/assets/{ResourcesChrome-C2ZrA7la.js → ResourcesChrome-B2U2lO1H.js} +3 -3
  106. package/dist/core/web/public/next/assets/{ResourcesChrome-C2ZrA7la.js.map → ResourcesChrome-B2U2lO1H.js.map} +1 -1
  107. package/dist/core/web/public/next/assets/{ResourcesDrawer-BC93fzwQ.js → ResourcesDrawer-DlUKOjl9.js} +2 -2
  108. package/dist/core/web/public/next/assets/{ResourcesDrawer-BC93fzwQ.js.map → ResourcesDrawer-DlUKOjl9.js.map} +1 -1
  109. package/dist/core/web/public/next/assets/{RouteErrorBoundary-BvhHNpE_.js → RouteErrorBoundary-BaC7YVzR.js} +2 -2
  110. package/dist/core/web/public/next/assets/{RouteErrorBoundary-BvhHNpE_.js.map → RouteErrorBoundary-BaC7YVzR.js.map} +1 -1
  111. package/dist/core/web/public/next/assets/{RunInCloudAction-Dywfnw0C.js → RunInCloudAction-D5PDHJPE.js} +2 -2
  112. package/dist/core/web/public/next/assets/{RunInCloudAction-Dywfnw0C.js.map → RunInCloudAction-D5PDHJPE.js.map} +1 -1
  113. package/dist/core/web/public/next/assets/{SeatSelector-CH7hTgwy.js → SeatSelector-Cg75LInq.js} +2 -2
  114. package/dist/core/web/public/next/assets/{SeatSelector-CH7hTgwy.js.map → SeatSelector-Cg75LInq.js.map} +1 -1
  115. package/dist/core/web/public/next/assets/{Segmented-Wynbg0F5.js → Segmented-CametjLt.js} +2 -2
  116. package/dist/core/web/public/next/assets/{Segmented-Wynbg0F5.js.map → Segmented-CametjLt.js.map} +1 -1
  117. package/dist/core/web/public/next/assets/{Select-DMyLCkId.js → Select-De52fghU.js} +2 -2
  118. package/dist/core/web/public/next/assets/{Select-DMyLCkId.js.map → Select-De52fghU.js.map} +1 -1
  119. package/dist/core/web/public/next/assets/{SessionGate-8RtQFWeZ.js → SessionGate-CzlcNq3O.js} +2 -2
  120. package/dist/core/web/public/next/assets/{SessionGate-8RtQFWeZ.js.map → SessionGate-CzlcNq3O.js.map} +1 -1
  121. package/dist/core/web/public/next/assets/{SessionInsightChip-zBJbKv2L.js → SessionInsightChip-Bk_Owa7u.js} +2 -2
  122. package/dist/core/web/public/next/assets/{SessionInsightChip-zBJbKv2L.js.map → SessionInsightChip-Bk_Owa7u.js.map} +1 -1
  123. package/dist/core/web/public/next/assets/{SessionSearch-DfJIcxxM.js → SessionSearch-C6C8DHN8.js} +2 -2
  124. package/dist/core/web/public/next/assets/{SessionSearch-DfJIcxxM.js.map → SessionSearch-C6C8DHN8.js.map} +1 -1
  125. package/dist/core/web/public/next/assets/{SettingsSection-Da9RYyH5.js → SettingsSection-mI9wQYZg.js} +2 -2
  126. package/dist/core/web/public/next/assets/{SettingsSection-Da9RYyH5.js.map → SettingsSection-mI9wQYZg.js.map} +1 -1
  127. package/dist/core/web/public/next/assets/{Sheet-DhXyIDmq.js → Sheet-CJhK9Dqv.js} +2 -2
  128. package/dist/core/web/public/next/assets/{Sheet-DhXyIDmq.js.map → Sheet-CJhK9Dqv.js.map} +1 -1
  129. package/dist/core/web/public/next/assets/{ShortcutsOverlay-Bi5f-wUw.js → ShortcutsOverlay-DDW-i9Fc.js} +2 -2
  130. package/dist/core/web/public/next/assets/{ShortcutsOverlay-Bi5f-wUw.js.map → ShortcutsOverlay-DDW-i9Fc.js.map} +1 -1
  131. package/dist/core/web/public/next/assets/{Sidebar-BuO3sViG.js → Sidebar-DT7ykaqS.js} +3 -3
  132. package/dist/core/web/public/next/assets/{Sidebar-BuO3sViG.js.map → Sidebar-DT7ykaqS.js.map} +1 -1
  133. package/dist/core/web/public/next/assets/{Slider-Bd9YFWEV.js → Slider-Bwd9HfXl.js} +2 -2
  134. package/dist/core/web/public/next/assets/{Slider-Bd9YFWEV.js.map → Slider-Bwd9HfXl.js.map} +1 -1
  135. package/dist/core/web/public/next/assets/{StatTile-DScTd3c-.js → StatTile-DPZ5yyaU.js} +2 -2
  136. package/dist/core/web/public/next/assets/{StatTile-DScTd3c-.js.map → StatTile-DPZ5yyaU.js.map} +1 -1
  137. package/dist/core/web/public/next/assets/{StatusBadge-DQ1UtQAJ.js → StatusBadge-DHKRtttH.js} +2 -2
  138. package/dist/core/web/public/next/assets/{StatusBadge-DQ1UtQAJ.js.map → StatusBadge-DHKRtttH.js.map} +1 -1
  139. package/dist/core/web/public/next/assets/{StepBand-BB3IJxhr.js → StepBand-DQykLkk_.js} +2 -2
  140. package/dist/core/web/public/next/assets/{StepBand-BB3IJxhr.js.map → StepBand-DQykLkk_.js.map} +1 -1
  141. package/dist/core/web/public/next/assets/{Surface-DWMtQe3Q.js → Surface-D--LXgQm.js} +2 -2
  142. package/dist/core/web/public/next/assets/{Surface-DWMtQe3Q.js.map → Surface-D--LXgQm.js.map} +1 -1
  143. package/dist/core/web/public/next/assets/{Swimlane-DcENqtdp.js → Swimlane-BzH6OCee.js} +2 -2
  144. package/dist/core/web/public/next/assets/{Swimlane-DcENqtdp.js.map → Swimlane-BzH6OCee.js.map} +1 -1
  145. package/dist/core/web/public/next/assets/{Switch-CenChEYf.js → Switch-PMixU6b0.js} +2 -2
  146. package/dist/core/web/public/next/assets/{Switch-CenChEYf.js.map → Switch-PMixU6b0.js.map} +1 -1
  147. package/dist/core/web/public/next/assets/{Tag-D4k5E3u0.js → Tag-fordBsrJ.js} +2 -2
  148. package/dist/core/web/public/next/assets/{Tag-D4k5E3u0.js.map → Tag-fordBsrJ.js.map} +1 -1
  149. package/dist/core/web/public/next/assets/{TerminalPane-DCQTukcE.js → TerminalPane-BSnGdUuF.js} +2 -2
  150. package/dist/core/web/public/next/assets/{TerminalPane-DCQTukcE.js.map → TerminalPane-BSnGdUuF.js.map} +1 -1
  151. package/dist/core/web/public/next/assets/{UniverseConsoleApp-DsuWT0pi.js → UniverseConsoleApp-DtXFhAhw.js} +2 -2
  152. package/dist/core/web/public/next/assets/{UniverseConsoleApp-DsuWT0pi.js.map → UniverseConsoleApp-DtXFhAhw.js.map} +1 -1
  153. package/dist/core/web/public/next/assets/{UniverseView-DyI5ApsA.js → UniverseView-sWm3pnTW.js} +2 -2
  154. package/dist/core/web/public/next/assets/{UniverseView-DyI5ApsA.js.map → UniverseView-sWm3pnTW.js.map} +1 -1
  155. package/dist/core/web/public/next/assets/{UsageSection-Imr28nwK.js → UsageSection-CiD1DbuF.js} +2 -2
  156. package/dist/core/web/public/next/assets/{UsageSection-Imr28nwK.js.map → UsageSection-CiD1DbuF.js.map} +1 -1
  157. package/dist/core/web/public/next/assets/{VerseConsoleApp-DeuBEvAO.js → VerseConsoleApp-BCY5uSok.js} +3 -3
  158. package/dist/core/web/public/next/assets/{VerseConsoleApp-DeuBEvAO.js.map → VerseConsoleApp-BCY5uSok.js.map} +1 -1
  159. package/dist/core/web/public/next/assets/{Workspace-CpxBO98E.js → Workspace-BQSZFSeO.js} +5 -5
  160. package/dist/core/web/public/next/assets/{Workspace-CpxBO98E.js.map → Workspace-BQSZFSeO.js.map} +1 -1
  161. package/dist/core/web/public/next/assets/{actions-DE8NoWV_.js → actions-Ci6I4C0l.js} +2 -2
  162. package/dist/core/web/public/next/assets/{actions-DE8NoWV_.js.map → actions-Ci6I4C0l.js.map} +1 -1
  163. package/dist/core/web/public/next/assets/{apps-model-CFGCUu9p.js → apps-model-DlwnfqwJ.js} +2 -2
  164. package/dist/core/web/public/next/assets/{apps-model-CFGCUu9p.js.map → apps-model-DlwnfqwJ.js.map} +1 -1
  165. package/dist/core/web/public/next/assets/{authority-model-CmnfJzmM.js → authority-model-BFuPezSo.js} +2 -2
  166. package/dist/core/web/public/next/assets/{authority-model-CmnfJzmM.js.map → authority-model-BFuPezSo.js.map} +1 -1
  167. package/dist/core/web/public/next/assets/{budget-queries-DjrPRFwl.js → budget-queries-DsAjH8ac.js} +2 -2
  168. package/dist/core/web/public/next/assets/{budget-queries-DjrPRFwl.js.map → budget-queries-DsAjH8ac.js.map} +1 -1
  169. package/dist/core/web/public/next/assets/{capacity-strip-model-C7cdQnuK.js → capacity-strip-model-Dn1cNOhz.js} +2 -2
  170. package/dist/core/web/public/next/assets/{capacity-strip-model-C7cdQnuK.js.map → capacity-strip-model-Dn1cNOhz.js.map} +1 -1
  171. package/dist/core/web/public/next/assets/{charts-DUD_jprE.js → charts-C_xJbJiw.js} +2 -2
  172. package/dist/core/web/public/next/assets/{charts-DUD_jprE.js.map → charts-C_xJbJiw.js.map} +1 -1
  173. package/dist/core/web/public/next/assets/{cloud-model-DoxBMDvx.js → cloud-model-CX407gPY.js} +2 -2
  174. package/dist/core/web/public/next/assets/{cloud-model-DoxBMDvx.js.map → cloud-model-CX407gPY.js.map} +1 -1
  175. package/dist/core/web/public/next/assets/{cloud-queries-CTGvO-k-.js → cloud-queries-QAhpExlz.js} +2 -2
  176. package/dist/core/web/public/next/assets/{cloud-queries-CTGvO-k-.js.map → cloud-queries-QAhpExlz.js.map} +1 -1
  177. package/dist/core/web/public/next/assets/{command-catalog-CmrHNFzh.js → command-catalog-CF0cQQac.js} +2 -2
  178. package/dist/core/web/public/next/assets/{command-catalog-CmrHNFzh.js.map → command-catalog-CF0cQQac.js.map} +1 -1
  179. package/dist/core/web/public/next/assets/{context-model-9xywbXxX.js → context-model-Co4wh3SM.js} +2 -2
  180. package/dist/core/web/public/next/assets/{context-model-9xywbXxX.js.map → context-model-Co4wh3SM.js.map} +1 -1
  181. package/dist/core/web/public/next/assets/{context-model-2Owp2jYF.js → context-model-DV1zCfAm.js} +2 -2
  182. package/dist/core/web/public/next/assets/{context-model-2Owp2jYF.js.map → context-model-DV1zCfAm.js.map} +1 -1
  183. package/dist/core/web/public/next/assets/{context-queries-wvcRnV-I.js → context-queries-CktFQqSS.js} +2 -2
  184. package/dist/core/web/public/next/assets/{context-queries-wvcRnV-I.js.map → context-queries-CktFQqSS.js.map} +1 -1
  185. package/dist/core/web/public/next/assets/{control-queries-DB6Kh7UN.js → control-queries-DAvlh_YM.js} +2 -2
  186. package/dist/core/web/public/next/assets/{control-queries-DB6Kh7UN.js.map → control-queries-DAvlh_YM.js.map} +1 -1
  187. package/dist/core/web/public/next/assets/{copy-setup-CJQhFl-4.js → copy-setup-CqRSfELB.js} +2 -2
  188. package/dist/core/web/public/next/assets/{copy-setup-CJQhFl-4.js.map → copy-setup-CqRSfELB.js.map} +1 -1
  189. package/dist/core/web/public/next/assets/{dock-icons-BBUGl4tE.js → dock-icons-BFuBbqJl.js} +2 -2
  190. package/dist/core/web/public/next/assets/{dock-icons-BBUGl4tE.js.map → dock-icons-BFuBbqJl.js.map} +1 -1
  191. package/dist/core/web/public/next/assets/{fleet-model-BRfRWkZl.js → fleet-model-Dfd5JyLR.js} +2 -2
  192. package/dist/core/web/public/next/assets/{fleet-model-BRfRWkZl.js.map → fleet-model-Dfd5JyLR.js.map} +1 -1
  193. package/dist/core/web/public/next/assets/{fleet-queries-tU6UEXN2.js → fleet-queries-RtMTd5rR.js} +2 -2
  194. package/dist/core/web/public/next/assets/{fleet-queries-tU6UEXN2.js.map → fleet-queries-RtMTd5rR.js.map} +1 -1
  195. package/dist/core/web/public/next/assets/{focus-trap-BGOceFvj.js → focus-trap-BdrbWfC4.js} +2 -2
  196. package/dist/core/web/public/next/assets/{focus-trap-BGOceFvj.js.map → focus-trap-BdrbWfC4.js.map} +1 -1
  197. package/dist/core/web/public/next/assets/{format-DEAaVF6X.js → format-Dk4Fmxax.js} +2 -2
  198. package/dist/core/web/public/next/assets/{format-DEAaVF6X.js.map → format-Dk4Fmxax.js.map} +1 -1
  199. package/dist/core/web/public/next/assets/{git-model-53iRLInY.js → git-model-_BnI_Ogh.js} +2 -2
  200. package/dist/core/web/public/next/assets/{git-model-53iRLInY.js.map → git-model-_BnI_Ogh.js.map} +1 -1
  201. package/dist/core/web/public/next/assets/{global-CXHHMz9o.js → global-CNNGMril.js} +2 -2
  202. package/dist/core/web/public/next/assets/{global-CXHHMz9o.js.map → global-CNNGMril.js.map} +1 -1
  203. package/dist/core/web/public/next/assets/{guarded-runners-B8zFVBVZ.js → guarded-runners-DPh2d32e.js} +2 -2
  204. package/dist/core/web/public/next/assets/{guarded-runners-B8zFVBVZ.js.map → guarded-runners-DPh2d32e.js.map} +1 -1
  205. package/dist/core/web/public/next/assets/{icons-D4s-jlxX.js → icons-0haWy6nh.js} +2 -2
  206. package/dist/core/web/public/next/assets/{icons-D4s-jlxX.js.map → icons-0haWy6nh.js.map} +1 -1
  207. package/dist/core/web/public/next/assets/{index-BG177cPN.js → index-QesfXBsb.js} +3 -3
  208. package/dist/core/web/public/next/assets/{index-BG177cPN.js.map → index-QesfXBsb.js.map} +1 -1
  209. package/dist/core/web/public/next/assets/{live-model-CEf01wrW.js → live-model-De-q0ZFK.js} +2 -2
  210. package/dist/core/web/public/next/assets/{live-model-CEf01wrW.js.map → live-model-De-q0ZFK.js.map} +1 -1
  211. package/dist/core/web/public/next/assets/{mind.module-D_xk6HIQ.js → mind.module-BrK2nFOL.js} +2 -2
  212. package/dist/core/web/public/next/assets/{mind.module-D_xk6HIQ.js.map → mind.module-BrK2nFOL.js.map} +1 -1
  213. package/dist/core/web/public/next/assets/{mutations-CbTSofVH.js → mutations-DTCtKCn_.js} +2 -2
  214. package/dist/core/web/public/next/assets/{mutations-CbTSofVH.js.map → mutations-DTCtKCn_.js.map} +1 -1
  215. package/dist/core/web/public/next/assets/{nav-CmZcbPFJ.js → nav-KmGX0CVz.js} +2 -2
  216. package/dist/core/web/public/next/assets/{nav-CmZcbPFJ.js.map → nav-KmGX0CVz.js.map} +1 -1
  217. package/dist/core/web/public/next/assets/{overnight-queries-CR0b_j-V.js → overnight-queries-mlO0xzsr.js} +2 -2
  218. package/dist/core/web/public/next/assets/{overnight-queries-CR0b_j-V.js.map → overnight-queries-mlO0xzsr.js.map} +1 -1
  219. package/dist/core/web/public/next/assets/primitives-D0Fb3TtS.js +1 -0
  220. package/dist/core/web/public/next/assets/{queries-rvRsAGW2.js → queries-CyBE8nsW.js} +2 -2
  221. package/dist/core/web/public/next/assets/{queries-rvRsAGW2.js.map → queries-CyBE8nsW.js.map} +1 -1
  222. package/dist/core/web/public/next/assets/{reasoning-pref-DMPQkujg.js → reasoning-pref-CaoA4_Vl.js} +2 -2
  223. package/dist/core/web/public/next/assets/{reasoning-pref-DMPQkujg.js.map → reasoning-pref-CaoA4_Vl.js.map} +1 -1
  224. package/dist/core/web/public/next/assets/{reveal-anchor-BKk2wZZZ.js → reveal-anchor-BP1VqnPU.js} +2 -2
  225. package/dist/core/web/public/next/assets/{reveal-anchor-BKk2wZZZ.js.map → reveal-anchor-BP1VqnPU.js.map} +1 -1
  226. package/dist/core/web/public/next/assets/{seat-subscription-CLn2ReSZ.js → seat-subscription-C5Tvr0WQ.js} +2 -2
  227. package/dist/core/web/public/next/assets/{seat-subscription-CLn2ReSZ.js.map → seat-subscription-C5Tvr0WQ.js.map} +1 -1
  228. package/dist/core/web/public/next/assets/{sidebar-model-CjQLvdag.js → sidebar-model-B5Qk95k_.js} +2 -2
  229. package/dist/core/web/public/next/assets/{sidebar-model-CjQLvdag.js.map → sidebar-model-B5Qk95k_.js.map} +1 -1
  230. package/dist/core/web/public/next/assets/{slots-DRxNosZg.js → slots-DHKQDoE6.js} +3 -3
  231. package/dist/core/web/public/next/assets/{slots-DRxNosZg.js.map → slots-DHKQDoE6.js.map} +1 -1
  232. package/dist/core/web/public/next/assets/{surface-data-DshUC_TU.js → surface-data-CchClvHo.js} +2 -2
  233. package/dist/core/web/public/next/assets/{surface-data-DshUC_TU.js.map → surface-data-CchClvHo.js.map} +1 -1
  234. package/dist/core/web/public/next/assets/surface-prefetch-BWr0LBQn.js +2 -0
  235. package/dist/core/web/public/next/assets/{surface-prefetch-DO8r4ttQ.js.map → surface-prefetch-BWr0LBQn.js.map} +1 -1
  236. package/dist/core/web/public/next/assets/{tasks-model-BKPFZAmZ.js → tasks-model-D6WFVULI.js} +2 -2
  237. package/dist/core/web/public/next/assets/{tasks-model-BKPFZAmZ.js.map → tasks-model-D6WFVULI.js.map} +1 -1
  238. package/dist/core/web/public/next/assets/{terminal-icons-DoeQkP3y.js → terminal-icons-BvCvuXk2.js} +2 -2
  239. package/dist/core/web/public/next/assets/{terminal-icons-DoeQkP3y.js.map → terminal-icons-BvCvuXk2.js.map} +1 -1
  240. package/dist/core/web/public/next/assets/{usage-queries-MnUeYzwp.js → usage-queries-D1SU1t7r.js} +2 -2
  241. package/dist/core/web/public/next/assets/{usage-queries-MnUeYzwp.js.map → usage-queries-D1SU1t7r.js.map} +1 -1
  242. package/dist/core/web/public/next/assets/{use-guarded-action-P12MfNwU.js → use-guarded-action-BZmBv7CJ.js} +2 -2
  243. package/dist/core/web/public/next/assets/{use-guarded-action-P12MfNwU.js.map → use-guarded-action-BZmBv7CJ.js.map} +1 -1
  244. package/dist/core/web/public/next/assets/{use-ticker-DIvAZ4Ey.js → use-ticker-CkJ4-0wU.js} +2 -2
  245. package/dist/core/web/public/next/assets/{use-ticker-DIvAZ4Ey.js.map → use-ticker-CkJ4-0wU.js.map} +1 -1
  246. package/dist/core/web/public/next/assets/{use-token-gate-DfEja7Wr.js → use-token-gate-CYcfk_GS.js} +2 -2
  247. package/dist/core/web/public/next/assets/{use-token-gate-DfEja7Wr.js.map → use-token-gate-CYcfk_GS.js.map} +1 -1
  248. package/dist/core/web/public/next/assets/{useOnboarding-CkOHadqC.js → useOnboarding-CujRS6PK.js} +2 -2
  249. package/dist/core/web/public/next/assets/{useOnboarding-CkOHadqC.js.map → useOnboarding-CujRS6PK.js.map} +1 -1
  250. package/dist/core/web/public/next/assets/{useSeatsRefresh-BDlbDlIU.js → useSeatsRefresh-BEaQdkZs.js} +2 -2
  251. package/dist/core/web/public/next/assets/{useSeatsRefresh-BDlbDlIU.js.map → useSeatsRefresh-BEaQdkZs.js.map} +1 -1
  252. package/dist/core/web/public/next/assets/{useVerseTranscript-BGtA55k2.js → useVerseTranscript-BQ0J6Xhx.js} +2 -2
  253. package/dist/core/web/public/next/assets/{useVerseTranscript-BGtA55k2.js.map → useVerseTranscript-BQ0J6Xhx.js.map} +1 -1
  254. package/dist/core/web/public/next/assets/{verse-icons-wOet9JZy.js → verse-icons-DndgEgKS.js} +2 -2
  255. package/dist/core/web/public/next/assets/{verse-icons-wOet9JZy.js.map → verse-icons-DndgEgKS.js.map} +1 -1
  256. package/dist/core/web/public/next/assets/{verse-model-CSzzdyu2.js → verse-model-MMySehjj.js} +2 -2
  257. package/dist/core/web/public/next/assets/{verse-model-CSzzdyu2.js.map → verse-model-MMySehjj.js.map} +1 -1
  258. package/dist/core/web/public/next/assets/{warmup-CecO_Nk0.js → warmup-CNEH_-be.js} +3 -3
  259. package/dist/core/web/public/next/assets/{warmup-CecO_Nk0.js.map → warmup-CNEH_-be.js.map} +1 -1
  260. package/dist/core/web/public/next/assets/{why-seat-model-D68ZA7G8.js → why-seat-model-jlDTwYSc.js} +2 -2
  261. package/dist/core/web/public/next/assets/{why-seat-model-D68ZA7G8.js.map → why-seat-model-jlDTwYSc.js.map} +1 -1
  262. package/dist/core/web/public/next/assets/{workspace-model-BdIVybKr.js → workspace-model-Dukb2wwv.js} +2 -2
  263. package/dist/core/web/public/next/assets/{workspace-model-BdIVybKr.js.map → workspace-model-Dukb2wwv.js.map} +1 -1
  264. package/dist/core/web/public/next/index.html +1 -1
  265. package/dist/release-dependency-inventory.json +1 -1
  266. package/package.json +1 -1
  267. package/dist/core/web/public/next/assets/AutonomySection-BTg7yVa1.js +0 -2
  268. package/dist/core/web/public/next/assets/McpSection-D1tDvlRa.js +0 -2
  269. package/dist/core/web/public/next/assets/OnboardingGate-DrDEVBqw.js +0 -3
  270. package/dist/core/web/public/next/assets/primitives-DNI-uJBd.js +0 -1
  271. package/dist/core/web/public/next/assets/surface-prefetch-DO8r4ttQ.js +0 -2
@@ -1,3 +1,3 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DockHost-BPqyhtCP.js","assets/MutationTokenDialog-CLGP72g6.js","assets/Dialog-BuIaG6HF.js","assets/focus-trap-BGOceFvj.js","assets/ProviderLogo-8WaUjTlN.js","assets/verse-model-CSzzdyu2.js","assets/format-DEAaVF6X.js","assets/format-DKrNjdwD.js","assets/context-queries-wvcRnV-I.js","assets/context-model-9xywbXxX.js","assets/context-model-2Owp2jYF.js","assets/workspace-model-BdIVybKr.js","assets/ActionMenu-DffwPklw.js","assets/tool-semantics-GX8ScuSH.js","assets/line-diff-B5Eonif2.js","assets/dock-icons-BBUGl4tE.js","assets/command-catalog-CmrHNFzh.js","assets/tasks-model-BKPFZAmZ.js","assets/sidebar-model-CjQLvdag.js","assets/use-token-gate-DfEja7Wr.js","assets/EmptyState-DXkT4vhW.js","assets/slots-DRxNosZg.js","assets/Button-OjVJSrFq.js","assets/useVerseTranscript-BGtA55k2.js","assets/Switch-CenChEYf.js","assets/context.module-BijAfoJw.js","assets/global-BlI2BYa1.css","assets/Dialog-tQ8kFulD.css","assets/MutationTokenDialog-CrfJ0PdD.css","assets/RouteErrorBoundary-DdxhTdZ6.css","assets/VerseConsoleApp-Cxqr-3qc.css","assets/ActionMenu-DPjsLU1g.css","assets/dock-icons-1w9hA2-h.css","assets/EmptyState-B3YUPGaa.css","assets/Button-DrnKsvnQ.css","assets/Switch-CU044EaE.css","assets/context-DiToyj6s.css","assets/DockHost-B4RaYOET.css","assets/NewChatDialog-DoYTH26M.js","assets/Segmented-Wynbg0F5.js","assets/git-model-53iRLInY.js","assets/SeatSelector-CH7hTgwy.js","assets/seat-subscription-CLn2ReSZ.js","assets/Composer.module-C8U73KdQ.js","assets/CapacityStrip-Bx4c3dxD.js","assets/Tag-D4k5E3u0.js","assets/budget-queries-DjrPRFwl.js","assets/capacity-strip-model-C7cdQnuK.js","assets/useSeatsRefresh-BDlbDlIU.js","assets/folder-picker-C8zo3A56.js","assets/Segmented-BnjHbKzH.css","assets/Composer-ByzxOJK6.css","assets/Tag-D0rAEciH.css","assets/CapacityStrip-Cc28CyWk.css","assets/NewChatDialog-yyQpA9p_.css","assets/Workspace-CpxBO98E.js","assets/highlight-CMCZK9jW.js","assets/DiffViewer-B75t6Ile.js","assets/MessageMarkdown-DlfLEJxu.js","assets/icons-D4s-jlxX.js","assets/verse-icons-wOet9JZy.js","assets/reasoning-pref-DMPQkujg.js","assets/Meter-BSVhU43Q.js","assets/DiffViewer-C8HHTnVE.css","assets/MessageMarkdown-Cgh5f1-Q.css","assets/Meter-CYt9KpM0.css","assets/Workspace-Dwri2jFJ.css","assets/Sidebar-BuO3sViG.js","assets/RefreshIndicator-DGubF4vR.js","assets/RefreshIndicator-CVv22U_j.css","assets/Sidebar-BRc1vGDF.css","assets/DeleteChatDialog-KUYUygiA.js","assets/turn-files-BPHQzYuH.js"])))=>i.map(i=>d[i]);
2
- import{a as e,c as t,n,s as r,t as i}from"./index-BG177cPN.js";import{C as a,D as o,F as s,T as c,f as l,h as u,i as d,m as f,o as p,p as m,s as h}from"./global-CXHHMz9o.js";import{r as ee}from"./RouteErrorBoundary-BvhHNpE_.js";import{C as g,Ct as te,Dt as ne,E as re,H as _,L as ie,N as ae,Nt as v,Ot as oe,Pt as se,R as ce,S as le,St as ue,T as de,Tt as fe,Y as pe,_t as me,a as he,b as y,bn as ge,c as _e,d as ve,et as ye,f as be,ft as xe,h as Se,i as Ce,it as we,lt as Te,m as Ee,o as De,p as Oe,st as ke,u as Ae,ut as b,v as je,w as x,wt as Me}from"./VerseConsoleApp-DeuBEvAO.js";import{a as Ne,c as Pe,d as S,f as Fe,i as C,l as Ie,m as w,n as Le,r as Re,s as ze,t as Be,u as Ve}from"./verse-store-DNVRuiJL.js";var T=t(e(),1),E=new Map;function D(e,t){return E.set(e,t),()=>{E.get(e)===t&&E.delete(e)}}function O(e,t){let n=t.replace(/\s+$/,``);return e.trim()?`${e.replace(/\s+$/,``)}\n\n${n}`:n}function He(e=document){let t=e.querySelector(`textarea[aria-label="Message"]`);return t instanceof HTMLTextAreaElement?t:null}function Ue(e,t){if(!t.trim())return!1;let n=E.get(e);if(n)return n(t),!0;let r=He();if(!r||r.disabled)return!1;let i=O(r.value,t),a=Object.getOwnPropertyDescriptor(HTMLTextAreaElement.prototype,`value`)?.set;a?a.call(r,i):r.value=i,r.dispatchEvent(new Event(`input`,{bubbles:!0})),r.focus();let o=r.value.length;try{r.setSelectionRange(o,o)}catch{}return!0}function k(e){return`verse-session-roots:${e}`}var A={key:`verse-session-roots:none`,fetch:async()=>null};function We(e){return e?[e.projectPath,...(e.extraRoots??[]).filter(t=>t!==e.projectPath)]:[]}function Ge(e){let t=e?.id??null,n=(0,T.useMemo)(()=>t?{key:k(t),fetch:e=>ve(t,e)}:A,[t]),r=m(n),i=f(n),a=e?.turnCount??0,o=(0,T.useRef)({id:t,turns:a});(0,T.useEffect)(()=>{let e=o.current;o.current={id:t,turns:a},e.id===t&&e.turns!==a&&t&&i()},[t,a,i]);let s=r.data??null,c=s!==null&&Array.isArray(s.roots)?s:null,l=(0,T.useMemo)(()=>We(e),[e?.projectPath,e?.extraRoots]),u=(0,T.useMemo)(()=>{if(!c||c.roots.length===0)return l;let e=c.roots.filter(e=>e.primary).map(e=>e.path),t=c.roots.filter(e=>!e.primary).map(e=>e.path);return[...e,...t]},[c,l]),d=c?.roots.find(e=>e.primary)??c?.roots[0]??null;return{data:c,error:r.status===`error`?r.error?.message??`could not read this chat’s folders`:null,roots:u,branch:d?.git?.branch??null}}var Ke=new Set;function qe(e){return Ke.add(e),()=>Ke.delete(e)}function j(e){let t=!1;for(let n of[...Ke])n(e)&&(t=!0);return t}var M=new Set;function N(e){return M.add(e),()=>M.delete(e)}function Je(){let e=!1;for(let t of[...M])t()&&(e=!0);return e}var P=new Set;function Ye(e){return P.add(e),()=>P.delete(e)}function Xe(e){let t=!1;for(let n of[...P])n(e)&&(t=!0);return t}var F=n(),Ze=[`user-message`,`turn-started`,`text-delta`,`assistant-message`,`thinking`,`tool-use`,`tool-result`,`usage`,`turn-done`,`error`,`cancelled`,`compaction`,`context`,`thinking-delta`,`thinking-progress`,`progress`,`status`,`recovered`,`history-truncated`];function I(e){return Math.min(1e3*2**e,15e3)}var L=e=>e===null||typeof e==`number`&&Number.isFinite(e)&&e>=0;function R(e){return e.type===`context`?typeof e.contextTokens==`number`&&Number.isFinite(e.contextTokens)&&e.contextTokens>=0&&typeof e.exact==`boolean`&&L(e.contextWindow)&&(e.autoCompactAt===void 0||L(e.autoCompactAt)):e.type!==`compaction`||(e.trigger===`auto`||e.trigger===`manual`)&&L(e.preTokens)&&L(e.postTokens)&&L(e.durationMs)}var Qe=e=>e===void 0||typeof e==`number`&&Number.isFinite(e)&&e>=0;function $e(e){switch(e.type){case`thinking-delta`:return typeof e.text==`string`;case`thinking-progress`:return e.estimatedTokens!==void 0&&Qe(e.estimatedTokens);case`progress`:return(e.phase===`thinking`||e.phase===`tool`||e.phase===`writing`||e.phase===`waiting`)&&typeof e.elapsedMs==`number`&&Number.isFinite(e.elapsedMs)&&e.elapsedMs>=0&&(e.tool===void 0||typeof e.tool==`string`)&&Qe(e.outTokens)&&Qe(e.tokPerSec);case`status`:return(e.kind===`retry`||e.kind===`preflight`||e.kind===`watchdog`)&&typeof e.message==`string`;case`history-truncated`:return typeof e.droppedBefore==`number`&&Number.isFinite(e.droppedBefore);default:return!0}}function et(e){try{let t=JSON.parse(e);if(!t||typeof t!=`object`)return null;let n=t;return typeof n.seq!=`number`||typeof n.type!=`string`||!R(t)||!$e(t)?null:t}catch{return null}}var tt=`verse-sessions`;function nt(e=!0){return`/api/events?${e?`topics=${tt}&`:``}client=${encodeURIComponent(o())}`}var z=!1;function rt(){let e=null,t=null,n=0,r=!1,i=!1,a=()=>{if(r||typeof EventSource>`u`||c().phase!==`authenticated`)return;let o=!z&&!i,s=new EventSource(nt(o),{withCredentials:!0}),l=!1;e=s,s.onopen=()=>{l=!0,n=0,i&&=(z=!0,!1)},s.addEventListener(`verse-sessions`,()=>be()),s.onerror=()=>{if(s.close(),e===s&&(e=null),!(r||c().phase!==`authenticated`)){if(!l&&o){i=!0,a();return}i=!1,t=setTimeout(()=>{t=null,n+=1,a()},I(n))}}};return a(),()=>{r=!0,t&&clearTimeout(t),t=null,e?.close(),e=null}}var it=9e4,at=250;function ot(e,t){let n=Number.isSafeInteger(t)&&t>0?`after=${t}&`:``;return`${x(e,`/events`)}?${n}client=${encodeURIComponent(o())}`}function st(e){return Math.min(1e3*2**e,15e3)}function ct(){return globalThis.IS_REACT_ACT_ENVIRONMENT===!0}var lt=e=>{let t=!1,n=()=>{t||(t=!0,r!==null&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(r),clearTimeout(i),e())},r=(typeof document>`u`||document.visibilityState!==`hidden`)&&typeof requestAnimationFrame==`function`?requestAnimationFrame(n):null,i=setTimeout(n,r===null?0:at);return()=>{t=!0,r!==null&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(r),clearTimeout(i)}};function ut(e){return ct()?(e(),null):lt(e)}var dt=class{sessionId;queue=[];cancel=null;scheduled=!1;constructor(e){this.sessionId=e}push(e){if(this.queue.push(e),this.scheduled)return;this.scheduled=!0;let t=ut(()=>this.flush());this.scheduled&&(this.cancel=t)}flush(){if(this.scheduled=!1,this.cancel?.(),this.cancel=null,this.queue.length===0)return;let e=this.queue;this.queue=[],Be(this.sessionId,e).settled&&be()}drop(){this.scheduled=!1,this.cancel?.(),this.cancel=null,this.queue=[]}},ft=!1,pt=0;function B(e){let t=null,n=null,r=0,i=!1,a=!1,o=new dt(e),s=()=>{if(i||typeof EventSource>`u`||c().phase!==`authenticated`)return;S(e,r===0?`connecting`:`reconnecting`);let l=ft||a?0:Ne(e).lastSeq,u=new EventSource(ot(e,l),{withCredentials:!0}),d=!1;t=u,u.onopen=()=>{d=!0,r=0,a&&=(ft=!0,!1),S(e,`open`)};for(let e of Ze)u.addEventListener(e,e=>{if(t!==u)return;let n=et(e.data);n&&o.push(n)});u.onerror=f=>{if(!(typeof MessageEvent<`u`&&f instanceof MessageEvent)&&(o.flush(),!i)){if(typeof u.readyState==`number`&&u.readyState===pt){S(e,`reconnecting`);return}if(u.close(),t===u&&(t=null),S(e,`reconnecting`),c().phase===`authenticated`){if(!d&&l>0&&!a){a=!0,s();return}a=!1,n=setTimeout(()=>{n=null,r+=1,s()},st(r))}}}},l=()=>{n&&clearTimeout(n),n=null,t?.close(),t=null};return s(),{close(){i||(i=!0,l(),o.flush(),o.drop(),S(e,`closed`))},restart(){i||(l(),o.flush(),r=0,s())}}}var V=new Map;function H(e){let t=V.get(e);t&&(V.delete(e),t.idleTimer&&clearTimeout(t.idleTimer),t.stream.close())}function U(){let e=[...V.entries()].filter(([,e])=>e.refs===0).sort((e,t)=>e[1].releasedAt-t[1].releasedAt);for(;e.length>1;)H(e.shift()[0])}function mt(e){let t=V.get(e);t?(t.refs+=1,t.idleTimer&&clearTimeout(t.idleTimer),t.idleTimer=null):(t={stream:B(e),refs:1,idleTimer:null,releasedAt:0},V.set(e,t));let n=t,r=!1;return()=>{r||(r=!0,V.get(e)===n&&(--n.refs,!(n.refs>0)&&(n.releasedAt=Date.now(),n.idleTimer=setTimeout(()=>{V.get(e)===n&&n.refs===0&&H(e)},it),U())))}}function ht(){for(let e of[...V.keys()])H(e)}w(e=>{e.kind===`reset`?ht():H(e.sessionId)});function gt(e,t={}){let n=new AbortController,r=null,i=!1,a=()=>{i||r||(r=mt(e))},o=Ne(e);return t.reload!==!0&&o.loaded&&o.loadError===null?a():(t.reload&&V.get(e)?.stream.restart(),Ae(e,n.signal).then(t=>{n.signal.aborted||(ze(e,t.session,t.events),a())}).catch(t=>{n.signal.aborted||Pe(e,t instanceof Error?t.message:`Could not load this chat.`)})),()=>{i=!0,n.abort(),r?.(),r=null}}var _t=()=>()=>{};function W(e){return(0,T.useCallback)(t=>e?Fe(e,t):_t(),[e])}function vt(e,t=0){let n=W(e),r=(0,T.useSyncExternalStore)(n,()=>C(e),()=>C(e)),i=(0,T.useRef)({sessionId:null,reload:t});return(0,T.useEffect)(()=>{let n=i.current;if(i.current={sessionId:e,reload:t},e)return gt(e,{reload:n.sessionId===e&&n.reload!==t})},[e,t]),r}function yt(e){let t=W(e);return(0,T.useSyncExternalStore)(t,()=>Re(e),()=>Re(e))}var G=5e3,K=new Map,bt=new Set;function xt(e){return bt.add(e),()=>bt.delete(e)}function St(){return K}function Ct(e,t){if(!((K.get(e)??-1)>=t)){K=new Map(K).set(e,t);for(let e of[...bt])e();Oe(e,t)}}function wt(){return(0,T.useSyncExternalStore)(xt,St,St)}function Tt(){let e=m(y,{freshMs:4500}),t=m(g),n=f(y),r=(0,T.useCallback)(()=>n(),[n]);ie(r,G);let i=wt();return{activity:e.data??null,meta:t.data??null,localSeen:i}}var q={sidebar:{min:220,max:420,def:264},resources:{min:240,max:520,def:320}},Et=1,Dt=`ashlr.verse.panels.v1`,Ot=`ashlr.verse.ui.v2`,kt={containerWidth:0,sidebarVisible:!0,resourcesVisible:!0};function J(e,t){let n=q[e],r=Number(t);return!Number.isFinite(r)||r<=0?n.def:Math.max(n.min,Math.min(n.max,Math.round(r)))}function At(e,t){let n=J(`sidebar`,e.sidebar),r=J(`resources`,e.resources);if(!Number.isFinite(t.containerWidth)||t.containerWidth<=0)return{sidebar:n,resources:r};let i=(t.sidebarVisible?Et:0)+(t.resourcesVisible?Et:0),a=t.containerWidth-480-i,o=(t.sidebarVisible?n:0)+(t.resourcesVisible?r:0)-a;if(o<=0)return{sidebar:n,resources:r};if(t.resourcesVisible){let e=Math.min(o,r-q.resources.min);r-=e,o-=e}if(o>0&&t.sidebarVisible){let e=Math.min(o,n-q.sidebar.min);n-=e}return{sidebar:n,resources:r}}function jt(){return{sidebar:q.sidebar.def,resources:q.resources.def}}function Mt(e){if(e===null||e===``)return null;let t;try{t=JSON.parse(e)}catch{return null}if(!t||typeof t!=`object`||Array.isArray(t))return null;let n=t,r=n.sidebar??n.sidebarWidth,i=n.resources??n.resourcesWidth;return r===void 0&&i===void 0?null:{sidebar:J(`sidebar`,r),resources:J(`resources`,i)}}function Nt(){try{return Mt(localStorage.getItem(Dt))||(Mt(localStorage.getItem(Ot))??jt())}catch{return jt()}}function Pt(e){try{localStorage.setItem(Dt,JSON.stringify({sidebar:e.sidebar,resources:e.resources}))}catch{}}var Y=Nt(),X=kt,Z={desired:Y,effective:At(Y,X)},Ft=new Set;function It(e,t){return e.sidebar===t.sidebar&&e.resources===t.resources}function Lt(){let e=At(Y,X);if(!(It(Z.desired,Y)&&It(Z.effective,e))){Z={desired:Y,effective:e};for(let e of Ft)e()}}function Rt(e){return Ft.add(e),()=>{Ft.delete(e)}}function zt(){return Z}function Bt(e){(X.containerWidth!==e.containerWidth||X.sidebarVisible!==e.sidebarVisible||X.resourcesVisible!==e.resourcesVisible)&&(X=e,Lt())}function Vt(e){It(Y,e)||(Y=e,Pt(Y),Lt())}function Q(e,t){Vt({...Y,[e]:J(e,t)})}function Ht(e,t){Q(e,Z.effective[e]+t)}function Ut(e){Q(e,q[e].def)}function Wt(){return(0,T.useSyncExternalStore)(Rt,zt,zt)}var Gt=`verseResizing`;function Kt(e){try{e?document.body.dataset[Gt]=`true`:delete document.body.dataset[Gt]}catch{}}function qt({side:e,label:t,className:n}){let r=Wt(),i=q[e],a=r.effective[e],o=(0,T.useRef)(null),[s,c]=(0,T.useState)(!1),l=(0,T.useCallback)(()=>{o.current&&(o.current=null,c(!1),Kt(!1))},[]),u=(0,T.useCallback)(e=>{if(e.button===0){e.preventDefault(),o.current={pointerId:e.pointerId,originX:e.clientX,startWidth:a},c(!0),Kt(!0);try{e.currentTarget.setPointerCapture?.(e.pointerId)}catch{}}},[a]);(0,T.useEffect)(()=>{if(!s)return;let t=t=>{let n=o.current;if(!n||t.pointerId!==n.pointerId)return;let r=t.clientX-n.originX;Q(e,e===`sidebar`?n.startWidth+r:n.startWidth-r)},n=e=>{let t=o.current;t&&e.pointerId!==t.pointerId||l()},r=t=>{let n=o.current;n&&t.key===`Escape`&&(Q(e,n.startWidth),l())},i=()=>l();return window.addEventListener(`pointermove`,t),window.addEventListener(`pointerup`,n),window.addEventListener(`pointercancel`,n),window.addEventListener(`keydown`,r),window.addEventListener(`blur`,i),()=>{window.removeEventListener(`pointermove`,t),window.removeEventListener(`pointerup`,n),window.removeEventListener(`pointercancel`,n),window.removeEventListener(`keydown`,r),window.removeEventListener(`blur`,i),Kt(!1)}},[s,e,l]);let d=(0,T.useCallback)(t=>{let n=t.shiftKey?64:16,r=e===`sidebar`?1:-1;switch(t.key){case`ArrowRight`:Ht(e,n*r);break;case`ArrowLeft`:Ht(e,-n*r);break;case`Home`:Q(e,i.min);break;case`End`:Q(e,i.max);break;case`Enter`:Ut(e);break;default:return}t.preventDefault()},[e,i.min,i.max]);return(0,F.jsx)(`div`,{className:n,"data-verse-resizer":e,"data-dragging":s?`true`:void 0,role:`separator`,"aria-orientation":`vertical`,"aria-label":t,"aria-valuemin":i.min,"aria-valuemax":i.max,"aria-valuenow":a,"aria-valuetext":`${a} pixels`,tabIndex:0,onPointerDown:u,onPointerUp:l,onPointerCancel:l,onLostPointerCapture:l,onKeyDown:d,onDoubleClick:()=>Ut(e)})}var $={chat:`_chat_14h0e_13`,main:`_main_14h0e_36`,banner:`_banner_14h0e_46`,bannerWarn:`_bannerWarn_14h0e_47`,resize:`_resize_14h0e_90`,scrim:`_scrim_14h0e_11`,dialogActions:`_dialogActions_14h0e_157`,sidebarSkeleton:`_sidebarSkeleton_14h0e_167`,workspaceSkeleton:`_workspaceSkeleton_14h0e_175`,skeletonHeader:`_skeletonHeader_14h0e_181`,skeletonBody:`_skeletonBody_14h0e_189`,skeletonComposer:`_skeletonComposer_14h0e_199`},Jt=r({ChatSection:()=>yn,describeChatError:()=>hn,preloadChatSurface:()=>un}),Yt=(0,T.lazy)(()=>i(()=>import(`./DockHost-BPqyhtCP.js`).then(e=>({default:e.DockHost})),__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]))),Xt=(0,T.lazy)(()=>i(()=>import(`./NewChatDialog-DoYTH26M.js`).then(e=>({default:e.NewChatDialog})),__vite__mapDeps([38,2,3,5,39,8,6,7,40,9,41,42,43,44,4,45,46,47,10,48,11,49,26,27,29,30,50,51,52,53,54]))),Zt=v(()=>i(()=>import(`./Workspace-CpxBO98E.js`).then(e=>e.Workspace),__vite__mapDeps([55,3,2,1,4,56,57,58,5,6,7,8,42,43,46,47,10,48,22,12,13,14,15,59,60,16,17,18,61,19,21,20,23,62,26,27,28,63,29,30,64,51,34,31,32,33,65,66]))),Qt=Zt.Slot,$t=v(()=>i(()=>import(`./Sidebar-BuO3sViG.js`).then(e=>e.Sidebar),__vite__mapDeps([67,2,3,68,5,42,6,7,11,49,22,12,15,13,14,18,60,59,16,26,27,69,29,30,34,31,32,70]))),en=$t.Slot,tn=v(()=>i(()=>import(`./DeleteChatDialog-KUYUygiA.js`).then(e=>e.DeleteChatDialog),__vite__mapDeps([71,2,3,22,27,34]))),nn=tn.Slot,rn=v(()=>i(()=>import(`./MutationTokenDialog-CLGP72g6.js`).then(e=>e.n).then(e=>e.MutationTokenDialog),__vite__mapDeps([1,2,3,26,27,28]))),an=rn.Slot,on=se(()=>Promise.all([i(()=>import(`./tasks-model-BKPFZAmZ.js`),__vite__mapDeps([17,5,13,14,18,26,29,30])),i(()=>import(`./turn-files-BPHQzYuH.js`),__vite__mapDeps([72,13,14]))]).then(([e,t])=>({otherRunningChats:e.otherRunningChats,lastTurnFiles:t.lastTurnFiles}))),sn=se(()=>i(()=>import(`./verse-model-CSzzdyu2.js`).then(e=>e.T).then(e=>({firstRunnableModel:e.firstRunnableModel,seatById:e.seatById})),__vite__mapDeps([5,26,29,30]))),cn=[],ln=[];function un(){return Promise.all([Zt.ready(),$t.ready(),tn.ready(),rn.ready(),on.ready(),sn.ready()])}function dn(){return(0,F.jsx)(`nav`,{className:$.sidebarSkeleton,"aria-busy":`true`,"aria-label":`Loading chat list`,children:[64,82,58,76,70].map(e=>(0,F.jsx)(d,{width:`${e}%`},e))})}function fn(){return(0,F.jsxs)(`div`,{className:$.workspaceSkeleton,role:`status`,"aria-label":`Loading chat`,children:[(0,F.jsx)(`div`,{className:$.skeletonHeader,children:(0,F.jsx)(d,{width:`32%`})}),(0,F.jsxs)(`div`,{className:$.skeletonBody,children:[(0,F.jsx)(d,{width:`72%`}),(0,F.jsx)(d,{width:`88%`}),(0,F.jsx)(d,{width:`64%`})]}),(0,F.jsx)(`div`,{className:$.skeletonComposer,children:(0,F.jsx)(d,{width:`100%`})})]})}var pn=`ashlr.verse.selected.v1`;function mn(){try{return localStorage.getItem(pn)}catch{return null}}function hn(e){return e instanceof h?"This server was started without dispatch — run `ashlr verse` to chat.":e instanceof p?e.code===`VERSE_MODEL_UNAVAILABLE`?`${(e.detail??`This chat's model cannot run on its seat.`).replace(/\.?$/,`.`)} Continue in a fresh chat on a model this seat can run, or re-pin the seat's CLI (\`ashlr resources profile repin\`).`:e.status===409&&(e.code===null||e.code===`VERSE_SESSION_BUSY`)?`A turn is already running in this chat. Stop it first.`:e.status===413?`That message is too large (64 KB max).`:e.status===401?`Mutation token was rejected. Unlock again with the token ashlr verse printed.`:e.detail??e.message:e instanceof Error?e.message:`Something went wrong.`}function gn(){let[e,t]=(0,T.useState)(()=>typeof window>`u`?1440:window.innerWidth||1440);return(0,T.useEffect)(()=>{let e=()=>t(window.innerWidth||1440);return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),e}function _n(){requestAnimationFrame(()=>{document.querySelector(`textarea[aria-label="Message"]`)?.focus()})}function vn(e){return e instanceof Element&&e.closest(`[role="dialog"], [role="menu"], [role="listbox"], [aria-modal="true"]`)!==null}function yn(){let e=m(le),t=m(de),n=u(de),r=u(le),i=l(),o=ee(),c=ae(),d=ce(),f=Me(),p=Tt(),h=gn(),[g,ie]=(0,T.useState)(mn),[v,se]=(0,T.useState)(``),[y,ve]=(0,T.useState)({open:!1}),[be,Oe]=(0,T.useState)(!1),[Ae,x]=(0,T.useState)(null),[Ne,Pe]=(0,T.useState)(0),[S,Fe]=(0,T.useState)({open:!1,reason:``}),[C,w]=(0,T.useState)(null),[Re,ze]=(0,T.useState)(null),[Be,E]=(0,T.useState)(0),D=(0,T.useRef)(null),O=(0,T.useRef)(null),He=Wt(),k=(0,T.useMemo)(()=>e.data?.seats??[],[e.data]),A=(0,T.useMemo)(()=>e.data?.projects??[],[e.data]),We=m(re),Ke=(0,T.useMemo)(()=>We.data?.workspaces??[],[We.data]),qe=e.data?.dispatchEnabled??!0,j=vt(g,Ne),M=Ge(j.session),N=(0,T.useMemo)(()=>{let n=t.data??e.data?.sessions??[];if(!j.session)return n;let r=j.session;return n.some(e=>e.id===r.id)?n.map(e=>e.id===r.id?r:e):[r,...n]},[t.data,e.data,j.session]),P=(0,T.useCallback)(e=>{ie(e);try{e?localStorage.setItem(pn,e):localStorage.removeItem(pn)}catch{}},[]);(0,T.useEffect)(()=>{g&&t.data&&!t.data.some(e=>e.id===g)&&!j.session&&P(null)},[g,t.data,j.session,P]),(0,T.useEffect)(()=>rt(),[]);let Ye=(0,T.useRef)(g);(0,T.useEffect)(()=>{ke(g),Ye.current!==g&&(Ye.current=g,xe())},[g]);let Ze=j.session?.turnCount??null;(0,T.useEffect)(()=>{d&&g&&Ze!==null&&(typeof document>`u`||document.visibilityState!==`hidden`)&&Ct(g,Ze)},[d,g,Ze]);let I=(0,T.useCallback)((e,t)=>i.hasHold?t():new Promise((n,r)=>{D.current={run:()=>{t().then(n,r)},cancel:()=>n(null)},Fe({open:!0,reason:e})}),[i.hasHold]),L=(0,T.useCallback)(e=>{e instanceof Ce||o.show(hn(e),`danger`)},[o]),R=(0,T.useCallback)((e={})=>{x(null);let t=j.session,n=e.projectPath===void 0?t?.projectPath??null:e.projectPath,r=t&&n===t.projectPath?{seatId:t.seatId,model:t.model}:null,i=e.seat??r??ye(n);ve({open:!0,projectPath:n,seat:i})},[j.session]),Qe=(0,T.useCallback)(async e=>{await I(`Starting a chat spawns an agent process for this project.`,async()=>{Oe(!0),x(null);try{let t=await De(e);we(t.projectPath,{seatId:t.seatId,model:t.model}),Ie(t.id,t),ve({open:!1}),P(t.id),o.show(`Started “${t.title}”`,`success`)}catch(e){x(hn(e))}finally{Oe(!1)}})},[I,P,o]),$e=(0,T.useCallback)(async e=>{let t=g;return t?await I(`Sending a message runs the agent against this project.`,async()=>{Ve(t,`running`);try{let n=await Se(t,e);return Ie(t,n.session,n.turnId),!0}catch(e){return Ve(t,`idle`),L(e),!1}})===!0:!1},[g,I,L]),et=(0,T.useCallback)((e=g)=>{e&&I(`Stopping the running turn.`,async()=>{try{await he(e)}catch(e){L(e)}})},[g,I,L]),tt=(0,T.useCallback)(async(e,t)=>await I(`Renaming a chat.`,async()=>{try{let n=await Ee(e,t);return Ie(e,n),!0}catch(e){return L(e),!1}})===!0,[I,L]),nt=(0,T.useCallback)(async e=>await I(`Deleting a chat removes its transcript from disk.`,async()=>{try{return await _e(e),Le(e),s(e),e===g&&P(null),o.show(`Chat deleted.`,`neutral`),!0}catch(e){return L(e),!1}})===!0,[I,L,P,o,g]),z=(0,T.useCallback)((e,t,n)=>{I(n,async()=>{try{await je(e,t)}catch(e){L(e)}})},[I,L]),it=(0,T.useCallback)(e=>{let t=j.session;t&&(R({projectPath:t.projectPath,seat:e}),o.show(`Chats are bound to one seat — starting a new chat on the same project.`,`neutral`))},[j.session,R,o]),at=(0,T.useCallback)(e=>{let t=N.find(t=>t.id===e)??null;t&&ze(t)},[N]),ot=(0,T.useCallback)(e=>{e!==g&&P(e),w(e)},[g,P]),st=(0,T.useCallback)(e=>{P(e),window.matchMedia?.(`(max-width: 760px)`)?.matches===!0&&b(!0)},[P]),ct=(0,T.useCallback)(()=>b(!c.sidebarCollapsed),[c.sidebarCollapsed]),lt=f.state.open&&(f.state.active===`terminal`||f.state.splitWith===`terminal`),ut=(0,T.useCallback)(()=>{lt?te(`terminal`):me({})},[lt]),dt=(0,T.useCallback)(()=>me({newTab:!0}),[]),ft=(0,T.useRef)(0),pt=sn.useLoaded();(0,T.useEffect)(()=>{let e=c.command;if(e&&e.nonce!==ft.current&&(e.name!==`new-chat`||pt)){switch(ft.current=e.nonce,e.name){case`open-session`:e.sessionId&&P(e.sessionId);break;case`focus-composer`:_n();break;case`new-chat`:{let{seatById:t,firstRunnableModel:n}=pt,r=e.seatId?t(k,e.seatId):void 0,i=ye(e.projectPath??null),a=r?i?.seatId===r.id?i.model:n(r)?.id:void 0;R({...e.projectPath===void 0?{}:{projectPath:e.projectPath},...r&&a?{seat:{seatId:r.id,model:a}}:{}});break}}pe()}},[c.command,R,k,P,pt]);let B=new Map([[`chat.sidebar`,ct],[`chat.find`,()=>Je()],[`chat.turn-prev`,()=>Xe(-1)],[`chat.turn-next`,()=>Xe(1)],[`dock.toggle`,ue],[`dock.terminal`,ut],[`dock.terminal-new`,dt],[`dock.preview`,()=>te(`preview`)],[`dock.diff`,()=>te(`diff`)]]);_(`chat.sidebar`,B.get(`chat.sidebar`)),_(`chat.find`,B.get(`chat.find`)),_(`chat.turn-prev`,B.get(`chat.turn-prev`)),_(`chat.turn-next`,B.get(`chat.turn-next`)),_(`dock.toggle`,B.get(`dock.toggle`)),_(`dock.terminal`,B.get(`dock.terminal`)),_(`dock.terminal-new`,B.get(`dock.terminal-new`)),_(`dock.preview`,B.get(`dock.preview`)),_(`dock.diff`,B.get(`dock.diff`));let V=(0,T.useRef)(B);V.current=B,(0,T.useEffect)(()=>{if(!d)return;let e=e=>{if(e.defaultPrevented||vn(e.target))return;let t=ge(e,[`chat`]);if(!t||t.scope!==`chat`||t.id===`chat.find`||t.id===`chat.turn-prev`||t.id===`chat.turn-next`)return;let n=V.current.get(t.id);n&&(e.preventDefault(),n())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[d]);let H=e.data?!e.data.dispatchEnabled:!1,U=c.sidebarCollapsed,mt=oe(h),ht=f.state.open&&f.state.tabs.length>0,gt=ht&&mt===`column`,_t=U?0:q.sidebar.min,W=gt?Math.max(fe.minWidth,Math.min(ne(f.state.width,h),Be>0?Be-480-_t:1/0)):0;(0,T.useEffect)(()=>{let e=O.current;if(!e)return;let t=()=>{E(e.clientWidth),Bt({containerWidth:Math.max(0,e.clientWidth-W),sidebarVisible:!U,resourcesVisible:!1})};t();let n=typeof ResizeObserver==`function`?new ResizeObserver(t):null;return n?.observe(e),window.addEventListener(`resize`,t),()=>{n?.disconnect(),window.removeEventListener(`resize`,t)}},[U,W]);let yt={"--verse-sidebar-width":`${He.effective.sidebar}px`,"--verse-dock-width":`${W}px`},G=on.useLoaded(),K=(0,T.useMemo)(()=>G?G.otherRunningChats(N,p.activity,g):cn,[G,N,p.activity,g]),bt=(0,T.useMemo)(()=>G?G.lastTurnFiles(j.events,M.roots):ln,[G,M.roots,j.events]),xt={setPinned:(e,t)=>z(e,{pinned:t},t?`Pinning a chat.`:`Unpinning a chat.`),setArchived:(e,t)=>z(e,{archived:t},t?`Archiving a chat.`:`Unarchiving a chat.`),rename:tt,handoff:ot,requestDelete:at,dispatchEnabled:qe};return(0,F.jsxs)(`div`,{ref:O,className:$.chat,style:yt,"data-sidebar":U?`collapsed`:`open`,"data-dock":gt?`open`:`closed`,children:[(0,F.jsx)(T.Suspense,{fallback:(0,F.jsx)(dn,{}),children:(0,F.jsx)(en,{sessions:N,sessionsStatus:t.status,sessionsError:t.error?.message??null,projects:A,seats:k,selectedId:g,query:v,onQuery:se,onSelect:st,onNew:()=>R(),onRetry:()=>{n(),r()},onCollapse:()=>b(!0),onDisconnect:()=>{a()},activity:p.activity,meta:p.meta,localSeen:p.localSeen,actions:xt})}),U?null:(0,F.jsx)(qt,{side:`sidebar`,label:`Resize chat list`,className:$.resize}),(0,F.jsx)(`button`,{type:`button`,className:$.scrim,"aria-label":`Close chat list`,tabIndex:-1,onClick:()=>b(!0)}),(0,F.jsxs)(`div`,{className:$.main,children:[e.status===`error`&&!e.data?(0,F.jsxs)(`div`,{role:`alert`,className:$.banner,children:[(0,F.jsx)(`span`,{children:e.error?.message??`Could not load Verse.`}),(0,F.jsx)(`button`,{type:`button`,onClick:r,children:`Retry`})]}):H?(0,F.jsxs)(`div`,{role:`status`,className:$.bannerWarn,children:[`Read-only: this server was started without dispatch. Run `,(0,F.jsx)(`code`,{children:`ashlr verse`}),` to send messages.`]}):null,(0,F.jsx)(T.Suspense,{fallback:(0,F.jsx)(fn,{}),children:(0,F.jsx)(Qt,{view:j,seats:k,projects:A,dispatchEnabled:qe,locked:!i.hasHold,hasAnySessions:N.length>0,onSend:$e,onStop:()=>et(),onRename:e=>g?tt(g,e):Promise.resolve(!1),onRequestDelete:()=>{g&&at(g)},onSeatChange:it,onNew:()=>R(),onRetry:()=>Pe(e=>e+1),sidebarCollapsed:U,onToggleSidebar:()=>b(!U),onOpenSession:P,handoffOpen:C!==null&&C===g,onHandoffOpenChange:e=>w(e?g:null),otherRunning:K})})]}),ht?(0,F.jsx)(T.Suspense,{fallback:null,children:(0,F.jsx)(Yt,{presentation:mt,windowWidth:h,columnWidth:W,session:j.session,seats:k,events:j.events,roots:M.roots,rootsData:M.data,rootsError:M.error,turnFiles:bt,otherRunning:K,dispatchEnabled:qe,onOpenSession:P,onHandoff:e=>w(e),onOpenAccounts:()=>Te(`apps`),onSendToChat:e=>{(!g||!Ue(g,e))&&o.show(`Open a chat to send this to it.`,`neutral`)},onAddToMessage:e=>{(!g||!Ue(g,e))&&o.show(`Open a chat to add this to its message.`,`neutral`)}})}):null,y.open?(0,F.jsx)(T.Suspense,{fallback:null,children:(0,F.jsx)(Xt,{open:!0,onClose:()=>ve({open:!1}),projects:A,seats:k,workspaces:Ke,initialProjectPath:y.projectPath??null,initialSeat:y.seat??null,busy:be,error:Ae,onCreate:Qe,runMutation:I})}):null,(0,F.jsxs)(T.Suspense,{fallback:null,children:[(0,F.jsx)(nn,{target:Re,onClose:()=>ze(null),onDelete:nt,actionsClassName:$.dialogActions}),(0,F.jsx)(an,{open:S.open,reason:S.reason,tokenLabel:`Mutation token`,tokenHelp:`the mutation token ashlr verse printed`,onClose:()=>{Fe({open:!1,reason:``});let e=D.current;e&&setTimeout(()=>{D.current===e&&(D.current=null,e.cancel())},0)},onUnlocked:()=>{let e=D.current;D.current=null,e?.run()}})]})]})}export{yn as ChatSection,qe as a,Ge as c,hn as describeChatError,N as i,O as l,W as n,Ye as o,un as preloadChatSurface,yt as r,j as s,Jt as t,D as u};
3
- //# sourceMappingURL=ChatSection-Bisj9R6E.js.map
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DockHost-DW9q0NdR.js","assets/MutationTokenDialog-T7gv3a9r.js","assets/Dialog-BSsIFNqD.js","assets/focus-trap-BdrbWfC4.js","assets/ProviderLogo-CT2cSfkg.js","assets/verse-model-MMySehjj.js","assets/format-Dk4Fmxax.js","assets/format-DKrNjdwD.js","assets/context-queries-CktFQqSS.js","assets/context-model-Co4wh3SM.js","assets/context-model-DV1zCfAm.js","assets/workspace-model-Dukb2wwv.js","assets/ActionMenu-B4-39f2S.js","assets/tool-semantics-GX8ScuSH.js","assets/line-diff-B5Eonif2.js","assets/dock-icons-BFuBbqJl.js","assets/command-catalog-CF0cQQac.js","assets/tasks-model-D6WFVULI.js","assets/sidebar-model-B5Qk95k_.js","assets/use-token-gate-CYcfk_GS.js","assets/EmptyState-DPrd2aak.js","assets/slots-DHKQDoE6.js","assets/Button-BhO-WKPp.js","assets/useVerseTranscript-BQ0J6Xhx.js","assets/Switch-PMixU6b0.js","assets/context.module-BijAfoJw.js","assets/global-BlI2BYa1.css","assets/Dialog-tQ8kFulD.css","assets/MutationTokenDialog-CrfJ0PdD.css","assets/RouteErrorBoundary-DdxhTdZ6.css","assets/VerseConsoleApp-Cxqr-3qc.css","assets/ActionMenu-DPjsLU1g.css","assets/dock-icons-1w9hA2-h.css","assets/EmptyState-B3YUPGaa.css","assets/Button-DrnKsvnQ.css","assets/Switch-CU044EaE.css","assets/context-DiToyj6s.css","assets/DockHost-B4RaYOET.css","assets/NewChatDialog-Db5Xjrk8.js","assets/Segmented-CametjLt.js","assets/git-model-_BnI_Ogh.js","assets/SeatSelector-Cg75LInq.js","assets/seat-subscription-C5Tvr0WQ.js","assets/Composer.module-C8U73KdQ.js","assets/CapacityStrip-CkFz5vq2.js","assets/Tag-fordBsrJ.js","assets/budget-queries-DsAjH8ac.js","assets/capacity-strip-model-Dn1cNOhz.js","assets/useSeatsRefresh-BEaQdkZs.js","assets/folder-picker-C8zo3A56.js","assets/Segmented-BnjHbKzH.css","assets/Composer-ByzxOJK6.css","assets/Tag-D0rAEciH.css","assets/CapacityStrip-Cc28CyWk.css","assets/NewChatDialog-yyQpA9p_.css","assets/Workspace-BQSZFSeO.js","assets/highlight-CMCZK9jW.js","assets/DiffViewer-CJarUvs0.js","assets/MessageMarkdown-bRvD5nSc.js","assets/icons-0haWy6nh.js","assets/verse-icons-DndgEgKS.js","assets/reasoning-pref-CaoA4_Vl.js","assets/Meter-CFNLpwA-.js","assets/DiffViewer-C8HHTnVE.css","assets/MessageMarkdown-Cgh5f1-Q.css","assets/Meter-CYt9KpM0.css","assets/Workspace-Dwri2jFJ.css","assets/Sidebar-DT7ykaqS.js","assets/RefreshIndicator-CSyqpY_q.js","assets/RefreshIndicator-CVv22U_j.css","assets/Sidebar-BRc1vGDF.css","assets/DeleteChatDialog-CH1Ix8Eh.js","assets/turn-files-BPHQzYuH.js"])))=>i.map(i=>d[i]);
2
+ import{a as e,c as t,n,s as r,t as i}from"./index-QesfXBsb.js";import{C as a,D as o,F as s,T as c,f as l,h as u,i as d,m as f,o as p,p as m,s as h}from"./global-CNNGMril.js";import{r as ee}from"./RouteErrorBoundary-BaC7YVzR.js";import{C as g,Ct as te,Dt as ne,E as re,H as _,L as ie,N as ae,Nt as v,Ot as oe,Pt as se,R as ce,S as le,St as ue,T as de,Tt as fe,Y as pe,_t as me,a as he,b as y,bn as ge,c as _e,d as ve,et as ye,f as be,ft as xe,h as Se,i as Ce,it as we,lt as Te,m as Ee,o as De,p as Oe,st as ke,u as Ae,ut as b,v as je,w as x,wt as Me}from"./VerseConsoleApp-BCY5uSok.js";import{a as Ne,c as Pe,d as S,f as Fe,i as C,l as Ie,m as w,n as Le,r as Re,s as ze,t as Be,u as Ve}from"./verse-store-DNVRuiJL.js";var T=t(e(),1),E=new Map;function D(e,t){return E.set(e,t),()=>{E.get(e)===t&&E.delete(e)}}function O(e,t){let n=t.replace(/\s+$/,``);return e.trim()?`${e.replace(/\s+$/,``)}\n\n${n}`:n}function He(e=document){let t=e.querySelector(`textarea[aria-label="Message"]`);return t instanceof HTMLTextAreaElement?t:null}function Ue(e,t){if(!t.trim())return!1;let n=E.get(e);if(n)return n(t),!0;let r=He();if(!r||r.disabled)return!1;let i=O(r.value,t),a=Object.getOwnPropertyDescriptor(HTMLTextAreaElement.prototype,`value`)?.set;a?a.call(r,i):r.value=i,r.dispatchEvent(new Event(`input`,{bubbles:!0})),r.focus();let o=r.value.length;try{r.setSelectionRange(o,o)}catch{}return!0}function k(e){return`verse-session-roots:${e}`}var A={key:`verse-session-roots:none`,fetch:async()=>null};function We(e){return e?[e.projectPath,...(e.extraRoots??[]).filter(t=>t!==e.projectPath)]:[]}function Ge(e){let t=e?.id??null,n=(0,T.useMemo)(()=>t?{key:k(t),fetch:e=>ve(t,e)}:A,[t]),r=m(n),i=f(n),a=e?.turnCount??0,o=(0,T.useRef)({id:t,turns:a});(0,T.useEffect)(()=>{let e=o.current;o.current={id:t,turns:a},e.id===t&&e.turns!==a&&t&&i()},[t,a,i]);let s=r.data??null,c=s!==null&&Array.isArray(s.roots)?s:null,l=(0,T.useMemo)(()=>We(e),[e?.projectPath,e?.extraRoots]),u=(0,T.useMemo)(()=>{if(!c||c.roots.length===0)return l;let e=c.roots.filter(e=>e.primary).map(e=>e.path),t=c.roots.filter(e=>!e.primary).map(e=>e.path);return[...e,...t]},[c,l]),d=c?.roots.find(e=>e.primary)??c?.roots[0]??null;return{data:c,error:r.status===`error`?r.error?.message??`could not read this chat’s folders`:null,roots:u,branch:d?.git?.branch??null}}var Ke=new Set;function qe(e){return Ke.add(e),()=>Ke.delete(e)}function j(e){let t=!1;for(let n of[...Ke])n(e)&&(t=!0);return t}var M=new Set;function N(e){return M.add(e),()=>M.delete(e)}function Je(){let e=!1;for(let t of[...M])t()&&(e=!0);return e}var P=new Set;function Ye(e){return P.add(e),()=>P.delete(e)}function Xe(e){let t=!1;for(let n of[...P])n(e)&&(t=!0);return t}var F=n(),Ze=[`user-message`,`turn-started`,`text-delta`,`assistant-message`,`thinking`,`tool-use`,`tool-result`,`usage`,`turn-done`,`error`,`cancelled`,`compaction`,`context`,`thinking-delta`,`thinking-progress`,`progress`,`status`,`recovered`,`history-truncated`];function I(e){return Math.min(1e3*2**e,15e3)}var L=e=>e===null||typeof e==`number`&&Number.isFinite(e)&&e>=0;function R(e){return e.type===`context`?typeof e.contextTokens==`number`&&Number.isFinite(e.contextTokens)&&e.contextTokens>=0&&typeof e.exact==`boolean`&&L(e.contextWindow)&&(e.autoCompactAt===void 0||L(e.autoCompactAt)):e.type!==`compaction`||(e.trigger===`auto`||e.trigger===`manual`)&&L(e.preTokens)&&L(e.postTokens)&&L(e.durationMs)}var Qe=e=>e===void 0||typeof e==`number`&&Number.isFinite(e)&&e>=0;function $e(e){switch(e.type){case`thinking-delta`:return typeof e.text==`string`;case`thinking-progress`:return e.estimatedTokens!==void 0&&Qe(e.estimatedTokens);case`progress`:return(e.phase===`thinking`||e.phase===`tool`||e.phase===`writing`||e.phase===`waiting`)&&typeof e.elapsedMs==`number`&&Number.isFinite(e.elapsedMs)&&e.elapsedMs>=0&&(e.tool===void 0||typeof e.tool==`string`)&&Qe(e.outTokens)&&Qe(e.tokPerSec);case`status`:return(e.kind===`retry`||e.kind===`preflight`||e.kind===`watchdog`)&&typeof e.message==`string`;case`history-truncated`:return typeof e.droppedBefore==`number`&&Number.isFinite(e.droppedBefore);default:return!0}}function et(e){try{let t=JSON.parse(e);if(!t||typeof t!=`object`)return null;let n=t;return typeof n.seq!=`number`||typeof n.type!=`string`||!R(t)||!$e(t)?null:t}catch{return null}}var tt=`verse-sessions`;function nt(e=!0){return`/api/events?${e?`topics=${tt}&`:``}client=${encodeURIComponent(o())}`}var z=!1;function rt(){let e=null,t=null,n=0,r=!1,i=!1,a=()=>{if(r||typeof EventSource>`u`||c().phase!==`authenticated`)return;let o=!z&&!i,s=new EventSource(nt(o),{withCredentials:!0}),l=!1;e=s,s.onopen=()=>{l=!0,n=0,i&&=(z=!0,!1)},s.addEventListener(`verse-sessions`,()=>be()),s.onerror=()=>{if(s.close(),e===s&&(e=null),!(r||c().phase!==`authenticated`)){if(!l&&o){i=!0,a();return}i=!1,t=setTimeout(()=>{t=null,n+=1,a()},I(n))}}};return a(),()=>{r=!0,t&&clearTimeout(t),t=null,e?.close(),e=null}}var it=9e4,at=250;function ot(e,t){let n=Number.isSafeInteger(t)&&t>0?`after=${t}&`:``;return`${x(e,`/events`)}?${n}client=${encodeURIComponent(o())}`}function st(e){return Math.min(1e3*2**e,15e3)}function ct(){return globalThis.IS_REACT_ACT_ENVIRONMENT===!0}var lt=e=>{let t=!1,n=()=>{t||(t=!0,r!==null&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(r),clearTimeout(i),e())},r=(typeof document>`u`||document.visibilityState!==`hidden`)&&typeof requestAnimationFrame==`function`?requestAnimationFrame(n):null,i=setTimeout(n,r===null?0:at);return()=>{t=!0,r!==null&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(r),clearTimeout(i)}};function ut(e){return ct()?(e(),null):lt(e)}var dt=class{sessionId;queue=[];cancel=null;scheduled=!1;constructor(e){this.sessionId=e}push(e){if(this.queue.push(e),this.scheduled)return;this.scheduled=!0;let t=ut(()=>this.flush());this.scheduled&&(this.cancel=t)}flush(){if(this.scheduled=!1,this.cancel?.(),this.cancel=null,this.queue.length===0)return;let e=this.queue;this.queue=[],Be(this.sessionId,e).settled&&be()}drop(){this.scheduled=!1,this.cancel?.(),this.cancel=null,this.queue=[]}},ft=!1,pt=0;function B(e){let t=null,n=null,r=0,i=!1,a=!1,o=new dt(e),s=()=>{if(i||typeof EventSource>`u`||c().phase!==`authenticated`)return;S(e,r===0?`connecting`:`reconnecting`);let l=ft||a?0:Ne(e).lastSeq,u=new EventSource(ot(e,l),{withCredentials:!0}),d=!1;t=u,u.onopen=()=>{d=!0,r=0,a&&=(ft=!0,!1),S(e,`open`)};for(let e of Ze)u.addEventListener(e,e=>{if(t!==u)return;let n=et(e.data);n&&o.push(n)});u.onerror=f=>{if(!(typeof MessageEvent<`u`&&f instanceof MessageEvent)&&(o.flush(),!i)){if(typeof u.readyState==`number`&&u.readyState===pt){S(e,`reconnecting`);return}if(u.close(),t===u&&(t=null),S(e,`reconnecting`),c().phase===`authenticated`){if(!d&&l>0&&!a){a=!0,s();return}a=!1,n=setTimeout(()=>{n=null,r+=1,s()},st(r))}}}},l=()=>{n&&clearTimeout(n),n=null,t?.close(),t=null};return s(),{close(){i||(i=!0,l(),o.flush(),o.drop(),S(e,`closed`))},restart(){i||(l(),o.flush(),r=0,s())}}}var V=new Map;function H(e){let t=V.get(e);t&&(V.delete(e),t.idleTimer&&clearTimeout(t.idleTimer),t.stream.close())}function U(){let e=[...V.entries()].filter(([,e])=>e.refs===0).sort((e,t)=>e[1].releasedAt-t[1].releasedAt);for(;e.length>1;)H(e.shift()[0])}function mt(e){let t=V.get(e);t?(t.refs+=1,t.idleTimer&&clearTimeout(t.idleTimer),t.idleTimer=null):(t={stream:B(e),refs:1,idleTimer:null,releasedAt:0},V.set(e,t));let n=t,r=!1;return()=>{r||(r=!0,V.get(e)===n&&(--n.refs,!(n.refs>0)&&(n.releasedAt=Date.now(),n.idleTimer=setTimeout(()=>{V.get(e)===n&&n.refs===0&&H(e)},it),U())))}}function ht(){for(let e of[...V.keys()])H(e)}w(e=>{e.kind===`reset`?ht():H(e.sessionId)});function gt(e,t={}){let n=new AbortController,r=null,i=!1,a=()=>{i||r||(r=mt(e))},o=Ne(e);return t.reload!==!0&&o.loaded&&o.loadError===null?a():(t.reload&&V.get(e)?.stream.restart(),Ae(e,n.signal).then(t=>{n.signal.aborted||(ze(e,t.session,t.events),a())}).catch(t=>{n.signal.aborted||Pe(e,t instanceof Error?t.message:`Could not load this chat.`)})),()=>{i=!0,n.abort(),r?.(),r=null}}var _t=()=>()=>{};function W(e){return(0,T.useCallback)(t=>e?Fe(e,t):_t(),[e])}function vt(e,t=0){let n=W(e),r=(0,T.useSyncExternalStore)(n,()=>C(e),()=>C(e)),i=(0,T.useRef)({sessionId:null,reload:t});return(0,T.useEffect)(()=>{let n=i.current;if(i.current={sessionId:e,reload:t},e)return gt(e,{reload:n.sessionId===e&&n.reload!==t})},[e,t]),r}function yt(e){let t=W(e);return(0,T.useSyncExternalStore)(t,()=>Re(e),()=>Re(e))}var G=5e3,K=new Map,bt=new Set;function xt(e){return bt.add(e),()=>bt.delete(e)}function St(){return K}function Ct(e,t){if(!((K.get(e)??-1)>=t)){K=new Map(K).set(e,t);for(let e of[...bt])e();Oe(e,t)}}function wt(){return(0,T.useSyncExternalStore)(xt,St,St)}function Tt(){let e=m(y,{freshMs:4500}),t=m(g),n=f(y),r=(0,T.useCallback)(()=>n(),[n]);ie(r,G);let i=wt();return{activity:e.data??null,meta:t.data??null,localSeen:i}}var q={sidebar:{min:220,max:420,def:264},resources:{min:240,max:520,def:320}},Et=1,Dt=`ashlr.verse.panels.v1`,Ot=`ashlr.verse.ui.v2`,kt={containerWidth:0,sidebarVisible:!0,resourcesVisible:!0};function J(e,t){let n=q[e],r=Number(t);return!Number.isFinite(r)||r<=0?n.def:Math.max(n.min,Math.min(n.max,Math.round(r)))}function At(e,t){let n=J(`sidebar`,e.sidebar),r=J(`resources`,e.resources);if(!Number.isFinite(t.containerWidth)||t.containerWidth<=0)return{sidebar:n,resources:r};let i=(t.sidebarVisible?Et:0)+(t.resourcesVisible?Et:0),a=t.containerWidth-480-i,o=(t.sidebarVisible?n:0)+(t.resourcesVisible?r:0)-a;if(o<=0)return{sidebar:n,resources:r};if(t.resourcesVisible){let e=Math.min(o,r-q.resources.min);r-=e,o-=e}if(o>0&&t.sidebarVisible){let e=Math.min(o,n-q.sidebar.min);n-=e}return{sidebar:n,resources:r}}function jt(){return{sidebar:q.sidebar.def,resources:q.resources.def}}function Mt(e){if(e===null||e===``)return null;let t;try{t=JSON.parse(e)}catch{return null}if(!t||typeof t!=`object`||Array.isArray(t))return null;let n=t,r=n.sidebar??n.sidebarWidth,i=n.resources??n.resourcesWidth;return r===void 0&&i===void 0?null:{sidebar:J(`sidebar`,r),resources:J(`resources`,i)}}function Nt(){try{return Mt(localStorage.getItem(Dt))||(Mt(localStorage.getItem(Ot))??jt())}catch{return jt()}}function Pt(e){try{localStorage.setItem(Dt,JSON.stringify({sidebar:e.sidebar,resources:e.resources}))}catch{}}var Y=Nt(),X=kt,Z={desired:Y,effective:At(Y,X)},Ft=new Set;function It(e,t){return e.sidebar===t.sidebar&&e.resources===t.resources}function Lt(){let e=At(Y,X);if(!(It(Z.desired,Y)&&It(Z.effective,e))){Z={desired:Y,effective:e};for(let e of Ft)e()}}function Rt(e){return Ft.add(e),()=>{Ft.delete(e)}}function zt(){return Z}function Bt(e){(X.containerWidth!==e.containerWidth||X.sidebarVisible!==e.sidebarVisible||X.resourcesVisible!==e.resourcesVisible)&&(X=e,Lt())}function Vt(e){It(Y,e)||(Y=e,Pt(Y),Lt())}function Q(e,t){Vt({...Y,[e]:J(e,t)})}function Ht(e,t){Q(e,Z.effective[e]+t)}function Ut(e){Q(e,q[e].def)}function Wt(){return(0,T.useSyncExternalStore)(Rt,zt,zt)}var Gt=`verseResizing`;function Kt(e){try{e?document.body.dataset[Gt]=`true`:delete document.body.dataset[Gt]}catch{}}function qt({side:e,label:t,className:n}){let r=Wt(),i=q[e],a=r.effective[e],o=(0,T.useRef)(null),[s,c]=(0,T.useState)(!1),l=(0,T.useCallback)(()=>{o.current&&(o.current=null,c(!1),Kt(!1))},[]),u=(0,T.useCallback)(e=>{if(e.button===0){e.preventDefault(),o.current={pointerId:e.pointerId,originX:e.clientX,startWidth:a},c(!0),Kt(!0);try{e.currentTarget.setPointerCapture?.(e.pointerId)}catch{}}},[a]);(0,T.useEffect)(()=>{if(!s)return;let t=t=>{let n=o.current;if(!n||t.pointerId!==n.pointerId)return;let r=t.clientX-n.originX;Q(e,e===`sidebar`?n.startWidth+r:n.startWidth-r)},n=e=>{let t=o.current;t&&e.pointerId!==t.pointerId||l()},r=t=>{let n=o.current;n&&t.key===`Escape`&&(Q(e,n.startWidth),l())},i=()=>l();return window.addEventListener(`pointermove`,t),window.addEventListener(`pointerup`,n),window.addEventListener(`pointercancel`,n),window.addEventListener(`keydown`,r),window.addEventListener(`blur`,i),()=>{window.removeEventListener(`pointermove`,t),window.removeEventListener(`pointerup`,n),window.removeEventListener(`pointercancel`,n),window.removeEventListener(`keydown`,r),window.removeEventListener(`blur`,i),Kt(!1)}},[s,e,l]);let d=(0,T.useCallback)(t=>{let n=t.shiftKey?64:16,r=e===`sidebar`?1:-1;switch(t.key){case`ArrowRight`:Ht(e,n*r);break;case`ArrowLeft`:Ht(e,-n*r);break;case`Home`:Q(e,i.min);break;case`End`:Q(e,i.max);break;case`Enter`:Ut(e);break;default:return}t.preventDefault()},[e,i.min,i.max]);return(0,F.jsx)(`div`,{className:n,"data-verse-resizer":e,"data-dragging":s?`true`:void 0,role:`separator`,"aria-orientation":`vertical`,"aria-label":t,"aria-valuemin":i.min,"aria-valuemax":i.max,"aria-valuenow":a,"aria-valuetext":`${a} pixels`,tabIndex:0,onPointerDown:u,onPointerUp:l,onPointerCancel:l,onLostPointerCapture:l,onKeyDown:d,onDoubleClick:()=>Ut(e)})}var $={chat:`_chat_14h0e_13`,main:`_main_14h0e_36`,banner:`_banner_14h0e_46`,bannerWarn:`_bannerWarn_14h0e_47`,resize:`_resize_14h0e_90`,scrim:`_scrim_14h0e_11`,dialogActions:`_dialogActions_14h0e_157`,sidebarSkeleton:`_sidebarSkeleton_14h0e_167`,workspaceSkeleton:`_workspaceSkeleton_14h0e_175`,skeletonHeader:`_skeletonHeader_14h0e_181`,skeletonBody:`_skeletonBody_14h0e_189`,skeletonComposer:`_skeletonComposer_14h0e_199`},Jt=r({ChatSection:()=>yn,describeChatError:()=>hn,preloadChatSurface:()=>un}),Yt=(0,T.lazy)(()=>i(()=>import(`./DockHost-DW9q0NdR.js`).then(e=>({default:e.DockHost})),__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]))),Xt=(0,T.lazy)(()=>i(()=>import(`./NewChatDialog-Db5Xjrk8.js`).then(e=>({default:e.NewChatDialog})),__vite__mapDeps([38,2,3,5,39,8,6,7,40,9,41,42,43,44,4,45,46,47,10,48,11,49,26,27,29,30,50,51,52,53,54]))),Zt=v(()=>i(()=>import(`./Workspace-BQSZFSeO.js`).then(e=>e.Workspace),__vite__mapDeps([55,3,2,1,4,56,57,58,5,6,7,8,42,43,46,47,10,48,22,12,13,14,15,59,60,16,17,18,61,19,21,20,23,62,26,27,28,63,29,30,64,51,34,31,32,33,65,66]))),Qt=Zt.Slot,$t=v(()=>i(()=>import(`./Sidebar-DT7ykaqS.js`).then(e=>e.Sidebar),__vite__mapDeps([67,2,3,68,5,42,6,7,11,49,22,12,15,13,14,18,60,59,16,26,27,69,29,30,34,31,32,70]))),en=$t.Slot,tn=v(()=>i(()=>import(`./DeleteChatDialog-CH1Ix8Eh.js`).then(e=>e.DeleteChatDialog),__vite__mapDeps([71,2,3,22,27,34]))),nn=tn.Slot,rn=v(()=>i(()=>import(`./MutationTokenDialog-T7gv3a9r.js`).then(e=>e.n).then(e=>e.MutationTokenDialog),__vite__mapDeps([1,2,3,26,27,28]))),an=rn.Slot,on=se(()=>Promise.all([i(()=>import(`./tasks-model-D6WFVULI.js`),__vite__mapDeps([17,5,13,14,18,26,29,30])),i(()=>import(`./turn-files-BPHQzYuH.js`),__vite__mapDeps([72,13,14]))]).then(([e,t])=>({otherRunningChats:e.otherRunningChats,lastTurnFiles:t.lastTurnFiles}))),sn=se(()=>i(()=>import(`./verse-model-MMySehjj.js`).then(e=>e.T).then(e=>({firstRunnableModel:e.firstRunnableModel,seatById:e.seatById})),__vite__mapDeps([5,26,29,30]))),cn=[],ln=[];function un(){return Promise.all([Zt.ready(),$t.ready(),tn.ready(),rn.ready(),on.ready(),sn.ready()])}function dn(){return(0,F.jsx)(`nav`,{className:$.sidebarSkeleton,"aria-busy":`true`,"aria-label":`Loading chat list`,children:[64,82,58,76,70].map(e=>(0,F.jsx)(d,{width:`${e}%`},e))})}function fn(){return(0,F.jsxs)(`div`,{className:$.workspaceSkeleton,role:`status`,"aria-label":`Loading chat`,children:[(0,F.jsx)(`div`,{className:$.skeletonHeader,children:(0,F.jsx)(d,{width:`32%`})}),(0,F.jsxs)(`div`,{className:$.skeletonBody,children:[(0,F.jsx)(d,{width:`72%`}),(0,F.jsx)(d,{width:`88%`}),(0,F.jsx)(d,{width:`64%`})]}),(0,F.jsx)(`div`,{className:$.skeletonComposer,children:(0,F.jsx)(d,{width:`100%`})})]})}var pn=`ashlr.verse.selected.v1`;function mn(){try{return localStorage.getItem(pn)}catch{return null}}function hn(e){return e instanceof h?"This server was started without dispatch — run `ashlr verse` to chat.":e instanceof p?e.code===`VERSE_MODEL_UNAVAILABLE`?`${(e.detail??`This chat's model cannot run on its seat.`).replace(/\.?$/,`.`)} Continue in a fresh chat on a model this seat can run, or re-pin the seat's CLI (\`ashlr resources profile repin\`).`:e.status===409&&(e.code===null||e.code===`VERSE_SESSION_BUSY`)?`A turn is already running in this chat. Stop it first.`:e.status===413?`That message is too large (64 KB max).`:e.status===401?`Mutation token was rejected. Unlock again with the token ashlr verse printed.`:e.detail??e.message:e instanceof Error?e.message:`Something went wrong.`}function gn(){let[e,t]=(0,T.useState)(()=>typeof window>`u`?1440:window.innerWidth||1440);return(0,T.useEffect)(()=>{let e=()=>t(window.innerWidth||1440);return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),e}function _n(){requestAnimationFrame(()=>{document.querySelector(`textarea[aria-label="Message"]`)?.focus()})}function vn(e){return e instanceof Element&&e.closest(`[role="dialog"], [role="menu"], [role="listbox"], [aria-modal="true"]`)!==null}function yn(){let e=m(le),t=m(de),n=u(de),r=u(le),i=l(),o=ee(),c=ae(),d=ce(),f=Me(),p=Tt(),h=gn(),[g,ie]=(0,T.useState)(mn),[v,se]=(0,T.useState)(``),[y,ve]=(0,T.useState)({open:!1}),[be,Oe]=(0,T.useState)(!1),[Ae,x]=(0,T.useState)(null),[Ne,Pe]=(0,T.useState)(0),[S,Fe]=(0,T.useState)({open:!1,reason:``}),[C,w]=(0,T.useState)(null),[Re,ze]=(0,T.useState)(null),[Be,E]=(0,T.useState)(0),D=(0,T.useRef)(null),O=(0,T.useRef)(null),He=Wt(),k=(0,T.useMemo)(()=>e.data?.seats??[],[e.data]),A=(0,T.useMemo)(()=>e.data?.projects??[],[e.data]),We=m(re),Ke=(0,T.useMemo)(()=>We.data?.workspaces??[],[We.data]),qe=e.data?.dispatchEnabled??!0,j=vt(g,Ne),M=Ge(j.session),N=(0,T.useMemo)(()=>{let n=t.data??e.data?.sessions??[];if(!j.session)return n;let r=j.session;return n.some(e=>e.id===r.id)?n.map(e=>e.id===r.id?r:e):[r,...n]},[t.data,e.data,j.session]),P=(0,T.useCallback)(e=>{ie(e);try{e?localStorage.setItem(pn,e):localStorage.removeItem(pn)}catch{}},[]);(0,T.useEffect)(()=>{g&&t.data&&!t.data.some(e=>e.id===g)&&!j.session&&P(null)},[g,t.data,j.session,P]),(0,T.useEffect)(()=>rt(),[]);let Ye=(0,T.useRef)(g);(0,T.useEffect)(()=>{ke(g),Ye.current!==g&&(Ye.current=g,xe())},[g]);let Ze=j.session?.turnCount??null;(0,T.useEffect)(()=>{d&&g&&Ze!==null&&(typeof document>`u`||document.visibilityState!==`hidden`)&&Ct(g,Ze)},[d,g,Ze]);let I=(0,T.useCallback)((e,t)=>i.hasHold?t():new Promise((n,r)=>{D.current={run:()=>{t().then(n,r)},cancel:()=>n(null)},Fe({open:!0,reason:e})}),[i.hasHold]),L=(0,T.useCallback)(e=>{e instanceof Ce||o.show(hn(e),`danger`)},[o]),R=(0,T.useCallback)((e={})=>{x(null);let t=j.session,n=e.projectPath===void 0?t?.projectPath??null:e.projectPath,r=t&&n===t.projectPath?{seatId:t.seatId,model:t.model}:null,i=e.seat??r??ye(n);ve({open:!0,projectPath:n,seat:i})},[j.session]),Qe=(0,T.useCallback)(async e=>{await I(`Starting a chat spawns an agent process for this project.`,async()=>{Oe(!0),x(null);try{let t=await De(e);we(t.projectPath,{seatId:t.seatId,model:t.model}),Ie(t.id,t),ve({open:!1}),P(t.id),o.show(`Started “${t.title}”`,`success`)}catch(e){x(hn(e))}finally{Oe(!1)}})},[I,P,o]),$e=(0,T.useCallback)(async e=>{let t=g;return t?await I(`Sending a message runs the agent against this project.`,async()=>{Ve(t,`running`);try{let n=await Se(t,e);return Ie(t,n.session,n.turnId),!0}catch(e){return Ve(t,`idle`),L(e),!1}})===!0:!1},[g,I,L]),et=(0,T.useCallback)((e=g)=>{e&&I(`Stopping the running turn.`,async()=>{try{await he(e)}catch(e){L(e)}})},[g,I,L]),tt=(0,T.useCallback)(async(e,t)=>await I(`Renaming a chat.`,async()=>{try{let n=await Ee(e,t);return Ie(e,n),!0}catch(e){return L(e),!1}})===!0,[I,L]),nt=(0,T.useCallback)(async e=>await I(`Deleting a chat removes its transcript from disk.`,async()=>{try{return await _e(e),Le(e),s(e),e===g&&P(null),o.show(`Chat deleted.`,`neutral`),!0}catch(e){return L(e),!1}})===!0,[I,L,P,o,g]),z=(0,T.useCallback)((e,t,n)=>{I(n,async()=>{try{await je(e,t)}catch(e){L(e)}})},[I,L]),it=(0,T.useCallback)(e=>{let t=j.session;t&&(R({projectPath:t.projectPath,seat:e}),o.show(`Chats are bound to one seat — starting a new chat on the same project.`,`neutral`))},[j.session,R,o]),at=(0,T.useCallback)(e=>{let t=N.find(t=>t.id===e)??null;t&&ze(t)},[N]),ot=(0,T.useCallback)(e=>{e!==g&&P(e),w(e)},[g,P]),st=(0,T.useCallback)(e=>{P(e),window.matchMedia?.(`(max-width: 760px)`)?.matches===!0&&b(!0)},[P]),ct=(0,T.useCallback)(()=>b(!c.sidebarCollapsed),[c.sidebarCollapsed]),lt=f.state.open&&(f.state.active===`terminal`||f.state.splitWith===`terminal`),ut=(0,T.useCallback)(()=>{lt?te(`terminal`):me({})},[lt]),dt=(0,T.useCallback)(()=>me({newTab:!0}),[]),ft=(0,T.useRef)(0),pt=sn.useLoaded();(0,T.useEffect)(()=>{let e=c.command;if(e&&e.nonce!==ft.current&&(e.name!==`new-chat`||pt)){switch(ft.current=e.nonce,e.name){case`open-session`:e.sessionId&&P(e.sessionId);break;case`focus-composer`:_n();break;case`new-chat`:{let{seatById:t,firstRunnableModel:n}=pt,r=e.seatId?t(k,e.seatId):void 0,i=ye(e.projectPath??null),a=r?i?.seatId===r.id?i.model:n(r)?.id:void 0;R({...e.projectPath===void 0?{}:{projectPath:e.projectPath},...r&&a?{seat:{seatId:r.id,model:a}}:{}});break}}pe()}},[c.command,R,k,P,pt]);let B=new Map([[`chat.sidebar`,ct],[`chat.find`,()=>Je()],[`chat.turn-prev`,()=>Xe(-1)],[`chat.turn-next`,()=>Xe(1)],[`dock.toggle`,ue],[`dock.terminal`,ut],[`dock.terminal-new`,dt],[`dock.preview`,()=>te(`preview`)],[`dock.diff`,()=>te(`diff`)]]);_(`chat.sidebar`,B.get(`chat.sidebar`)),_(`chat.find`,B.get(`chat.find`)),_(`chat.turn-prev`,B.get(`chat.turn-prev`)),_(`chat.turn-next`,B.get(`chat.turn-next`)),_(`dock.toggle`,B.get(`dock.toggle`)),_(`dock.terminal`,B.get(`dock.terminal`)),_(`dock.terminal-new`,B.get(`dock.terminal-new`)),_(`dock.preview`,B.get(`dock.preview`)),_(`dock.diff`,B.get(`dock.diff`));let V=(0,T.useRef)(B);V.current=B,(0,T.useEffect)(()=>{if(!d)return;let e=e=>{if(e.defaultPrevented||vn(e.target))return;let t=ge(e,[`chat`]);if(!t||t.scope!==`chat`||t.id===`chat.find`||t.id===`chat.turn-prev`||t.id===`chat.turn-next`)return;let n=V.current.get(t.id);n&&(e.preventDefault(),n())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[d]);let H=e.data?!e.data.dispatchEnabled:!1,U=c.sidebarCollapsed,mt=oe(h),ht=f.state.open&&f.state.tabs.length>0,gt=ht&&mt===`column`,_t=U?0:q.sidebar.min,W=gt?Math.max(fe.minWidth,Math.min(ne(f.state.width,h),Be>0?Be-480-_t:1/0)):0;(0,T.useEffect)(()=>{let e=O.current;if(!e)return;let t=()=>{E(e.clientWidth),Bt({containerWidth:Math.max(0,e.clientWidth-W),sidebarVisible:!U,resourcesVisible:!1})};t();let n=typeof ResizeObserver==`function`?new ResizeObserver(t):null;return n?.observe(e),window.addEventListener(`resize`,t),()=>{n?.disconnect(),window.removeEventListener(`resize`,t)}},[U,W]);let yt={"--verse-sidebar-width":`${He.effective.sidebar}px`,"--verse-dock-width":`${W}px`},G=on.useLoaded(),K=(0,T.useMemo)(()=>G?G.otherRunningChats(N,p.activity,g):cn,[G,N,p.activity,g]),bt=(0,T.useMemo)(()=>G?G.lastTurnFiles(j.events,M.roots):ln,[G,M.roots,j.events]),xt={setPinned:(e,t)=>z(e,{pinned:t},t?`Pinning a chat.`:`Unpinning a chat.`),setArchived:(e,t)=>z(e,{archived:t},t?`Archiving a chat.`:`Unarchiving a chat.`),rename:tt,handoff:ot,requestDelete:at,dispatchEnabled:qe};return(0,F.jsxs)(`div`,{ref:O,className:$.chat,style:yt,"data-sidebar":U?`collapsed`:`open`,"data-dock":gt?`open`:`closed`,children:[(0,F.jsx)(T.Suspense,{fallback:(0,F.jsx)(dn,{}),children:(0,F.jsx)(en,{sessions:N,sessionsStatus:t.status,sessionsError:t.error?.message??null,projects:A,seats:k,selectedId:g,query:v,onQuery:se,onSelect:st,onNew:()=>R(),onRetry:()=>{n(),r()},onCollapse:()=>b(!0),onDisconnect:()=>{a()},activity:p.activity,meta:p.meta,localSeen:p.localSeen,actions:xt})}),U?null:(0,F.jsx)(qt,{side:`sidebar`,label:`Resize chat list`,className:$.resize}),(0,F.jsx)(`button`,{type:`button`,className:$.scrim,"aria-label":`Close chat list`,tabIndex:-1,onClick:()=>b(!0)}),(0,F.jsxs)(`div`,{className:$.main,children:[e.status===`error`&&!e.data?(0,F.jsxs)(`div`,{role:`alert`,className:$.banner,children:[(0,F.jsx)(`span`,{children:e.error?.message??`Could not load Verse.`}),(0,F.jsx)(`button`,{type:`button`,onClick:r,children:`Retry`})]}):H?(0,F.jsxs)(`div`,{role:`status`,className:$.bannerWarn,children:[`Read-only: this server was started without dispatch. Run `,(0,F.jsx)(`code`,{children:`ashlr verse`}),` to send messages.`]}):null,(0,F.jsx)(T.Suspense,{fallback:(0,F.jsx)(fn,{}),children:(0,F.jsx)(Qt,{view:j,seats:k,projects:A,dispatchEnabled:qe,locked:!i.hasHold,hasAnySessions:N.length>0,onSend:$e,onStop:()=>et(),onRename:e=>g?tt(g,e):Promise.resolve(!1),onRequestDelete:()=>{g&&at(g)},onSeatChange:it,onNew:()=>R(),onRetry:()=>Pe(e=>e+1),sidebarCollapsed:U,onToggleSidebar:()=>b(!U),onOpenSession:P,handoffOpen:C!==null&&C===g,onHandoffOpenChange:e=>w(e?g:null),otherRunning:K})})]}),ht?(0,F.jsx)(T.Suspense,{fallback:null,children:(0,F.jsx)(Yt,{presentation:mt,windowWidth:h,columnWidth:W,session:j.session,seats:k,events:j.events,roots:M.roots,rootsData:M.data,rootsError:M.error,turnFiles:bt,otherRunning:K,dispatchEnabled:qe,onOpenSession:P,onHandoff:e=>w(e),onOpenAccounts:()=>Te(`apps`),onSendToChat:e=>{(!g||!Ue(g,e))&&o.show(`Open a chat to send this to it.`,`neutral`)},onAddToMessage:e=>{(!g||!Ue(g,e))&&o.show(`Open a chat to add this to its message.`,`neutral`)}})}):null,y.open?(0,F.jsx)(T.Suspense,{fallback:null,children:(0,F.jsx)(Xt,{open:!0,onClose:()=>ve({open:!1}),projects:A,seats:k,workspaces:Ke,initialProjectPath:y.projectPath??null,initialSeat:y.seat??null,busy:be,error:Ae,onCreate:Qe,runMutation:I})}):null,(0,F.jsxs)(T.Suspense,{fallback:null,children:[(0,F.jsx)(nn,{target:Re,onClose:()=>ze(null),onDelete:nt,actionsClassName:$.dialogActions}),(0,F.jsx)(an,{open:S.open,reason:S.reason,tokenLabel:`Mutation token`,tokenHelp:`the mutation token ashlr verse printed`,onClose:()=>{Fe({open:!1,reason:``});let e=D.current;e&&setTimeout(()=>{D.current===e&&(D.current=null,e.cancel())},0)},onUnlocked:()=>{let e=D.current;D.current=null,e?.run()}})]})]})}export{yn as ChatSection,qe as a,Ge as c,hn as describeChatError,N as i,O as l,W as n,Ye as o,un as preloadChatSurface,yt as r,j as s,Jt as t,D as u};
3
+ //# sourceMappingURL=ChatSection-D6WybBpB.js.map