@hachej/boring-workspace 0.1.71 → 0.1.73

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 (325) hide show
  1. package/dist/{FileTree-B_fRS4Om.js → FileTree-C8JPlZtS.js} +1 -1
  2. package/dist/{MarkdownEditor-C55gVDyW.js → MarkdownEditor-B9wN6tGH.js} +14 -14
  3. package/dist/{WorkspaceLoadingState-D3i4X-eH.js → WorkspaceLoadingState-TgOWTNJC.js} +350 -203
  4. package/dist/{WorkspaceProvider-Ddx7GByq.js → WorkspaceProvider-DcOiZU24.js} +9 -9
  5. package/dist/app-front.d.ts +2 -883
  6. package/dist/app-front.js +1049 -1033
  7. package/dist/app-server.d.ts +4 -4
  8. package/dist/bridge-client.d.ts +2 -2
  9. package/dist/charts.d.ts +2 -119
  10. package/dist/plugin.d.ts +3 -3
  11. package/dist/{runtimeEnv-CU-c4kaV.d.ts → runtimeEnv-DKtVLBXo.d.ts} +2 -2
  12. package/dist/server.d.ts +6 -6
  13. package/dist/shared.d.ts +3 -3
  14. package/dist/src/__tests__/WorkspaceProvider.test.d.ts +1 -0
  15. package/dist/src/__tests__/exploration.property.test.d.ts +1 -0
  16. package/dist/src/__tests__/plugin-integration.test.d.ts +1 -0
  17. package/dist/src/__tests__/public-api.test.d.ts +1 -0
  18. package/dist/src/__tests__/publicFileStateApi.test.d.ts +1 -0
  19. package/dist/src/__tests__/theme-system.test.d.ts +1 -0
  20. package/dist/src/app/front/CloseLeftPaneOnAttention.d.ts +10 -0
  21. package/dist/src/app/front/PluginAppLeftHost.d.ts +18 -0
  22. package/dist/src/app/front/WorkspaceAgentFront.d.ts +174 -0
  23. package/dist/src/app/front/WorkspaceAgentStatusStates.d.ts +5 -0
  24. package/dist/src/app/front/WorkspaceBackgroundBoot.d.ts +10 -0
  25. package/dist/src/app/front/WorkspaceBootGate.d.ts +12 -0
  26. package/dist/src/app/front/WorkspaceFullPagePanel.d.ts +5 -0
  27. package/dist/src/app/front/WorkspaceShellCapabilitiesHost.d.ts +20 -0
  28. package/dist/src/app/front/WorkspaceUiStateSync.d.ts +9 -0
  29. package/dist/src/app/front/__tests__/WorkspaceAgentFront.test.d.ts +1 -0
  30. package/dist/src/app/front/__tests__/WorkspaceBackgroundBoot.test.d.ts +1 -0
  31. package/dist/src/app/front/__tests__/WorkspaceBootGate.test.d.ts +1 -0
  32. package/dist/src/app/front/__tests__/WorkspaceFullPagePanel.test.d.ts +1 -0
  33. package/dist/src/app/front/__tests__/chatPaneState.property.test.d.ts +1 -0
  34. package/dist/src/app/front/__tests__/useWorkspaceShellCapabilitiesController.test.d.ts +1 -0
  35. package/dist/src/app/front/__tests__/workspacePreload.test.d.ts +1 -0
  36. package/dist/src/app/front/chatPaneState.d.ts +8 -0
  37. package/dist/src/app/front/fullPageRoute.d.ts +10 -0
  38. package/dist/src/app/front/fullPageRouteErrors.d.ts +7 -0
  39. package/dist/src/app/front/index.d.ts +8 -0
  40. package/dist/src/app/front/localStorageSessions.d.ts +18 -0
  41. package/dist/src/app/front/useWorkspaceShellCapabilitiesController.d.ts +8 -0
  42. package/dist/src/app/front/workspaceBuiltinPlugins.d.ts +6 -0
  43. package/dist/src/app/front/workspacePreload.d.ts +64 -0
  44. package/dist/src/bridge-client/__tests__/client.test.d.ts +1 -0
  45. package/dist/src/bridge-client/index.d.ts +65 -0
  46. package/dist/src/front/agentPlugins/__tests__/registerAgentPlugin.test.d.ts +1 -0
  47. package/dist/src/front/agentPlugins/registerAgentPlugin.d.ts +26 -0
  48. package/dist/src/front/agentPlugins/reloadEvent.d.ts +7 -0
  49. package/dist/src/front/attention/WorkspaceAttentionProvider.d.ts +71 -0
  50. package/dist/src/front/attention/__tests__/WorkspaceAttentionProvider.test.d.ts +1 -0
  51. package/dist/src/front/attention/index.d.ts +2 -0
  52. package/dist/src/front/bridge/WorkspaceLink.d.ts +35 -0
  53. package/dist/src/front/bridge/__tests__/WorkspaceLink.test.d.ts +1 -0
  54. package/dist/src/front/bridge/__tests__/bridge.property.test.d.ts +1 -0
  55. package/dist/src/front/bridge/__tests__/bridge.test.d.ts +1 -0
  56. package/dist/src/front/bridge/__tests__/client.test.d.ts +1 -0
  57. package/dist/src/front/bridge/__tests__/uiCommandDispatcher.test.d.ts +1 -0
  58. package/dist/src/front/bridge/__tests__/uiCommandStream.test.d.ts +1 -0
  59. package/dist/src/front/bridge/client.d.ts +33 -0
  60. package/dist/src/front/bridge/createBridge.d.ts +8 -0
  61. package/dist/src/front/bridge/index.d.ts +12 -0
  62. package/dist/src/front/bridge/types.d.ts +92 -0
  63. package/dist/src/front/bridge/uiCommandBus.d.ts +3 -0
  64. package/dist/src/front/bridge/uiCommandDispatcher.d.ts +44 -0
  65. package/dist/src/front/bridge/uiCommandStream.d.ts +41 -0
  66. package/dist/src/front/bridge/validation.d.ts +66 -0
  67. package/dist/src/front/charts/__tests__/charts.test.d.ts +1 -0
  68. package/dist/src/front/charts/index.d.ts +92 -0
  69. package/dist/src/front/chrome/artifact-surface/ArtifactSurfacePane.d.ts +18 -0
  70. package/dist/src/front/chrome/artifact-surface/SurfaceShell.d.ts +84 -0
  71. package/dist/src/front/chrome/artifact-surface/__tests__/ArtifactSurfacePane.persistence.test.d.ts +1 -0
  72. package/dist/src/front/chrome/artifact-surface/__tests__/ArtifactSurfacePane.test.d.ts +1 -0
  73. package/dist/src/front/chrome/artifact-surface/__tests__/SurfaceShell.test.d.ts +1 -0
  74. package/dist/src/front/chrome/artifact-surface/__tests__/resolvePanelForPath.test.d.ts +1 -0
  75. package/dist/src/front/chrome/artifact-surface/definition.d.ts +12 -0
  76. package/dist/src/front/chrome/artifact-surface/surfaceShellHelpers.d.ts +10 -0
  77. package/dist/src/front/chrome/chat/ChatPanelHost.d.ts +16 -0
  78. package/dist/src/front/chrome/chat/DetachedChatPopover.d.ts +11 -0
  79. package/dist/src/front/chrome/chat/__tests__/ChatPanelHost.test.d.ts +1 -0
  80. package/dist/src/front/chrome/chat/composerStop.d.ts +19 -0
  81. package/dist/src/front/chrome/chat/definition.d.ts +16 -0
  82. package/dist/src/front/chrome/chat/types.d.ts +30 -0
  83. package/dist/src/front/chrome/empty-pane/EmptyPane.d.ts +5 -0
  84. package/dist/src/front/chrome/empty-pane/__tests__/EmptyPane.test.d.ts +1 -0
  85. package/dist/src/front/chrome/management/ManagementOverlaySurface.d.ts +16 -0
  86. package/dist/src/front/chrome/plugins/PluginsOverlay.d.ts +16 -0
  87. package/dist/src/front/chrome/session-list/SessionBrowser.d.ts +20 -0
  88. package/dist/src/front/chrome/session-list/__tests__/SessionBrowser.test.d.ts +1 -0
  89. package/dist/src/front/chrome/session-list/definition.d.ts +28 -0
  90. package/dist/src/front/chrome/skills/SkillsPage.d.ts +11 -0
  91. package/dist/src/front/chrome/skills/definition.d.ts +3 -0
  92. package/dist/src/front/chrome/workbench-left/WorkbenchLeftPane.d.ts +28 -0
  93. package/dist/src/front/chrome/workbench-left/__tests__/WorkbenchLeftPane.test.d.ts +1 -0
  94. package/dist/src/front/chrome/workbench-left/definition.d.ts +12 -0
  95. package/dist/src/front/chrome/workbench-left/useWorkspaceLeftPaneActions.d.ts +48 -0
  96. package/dist/src/front/components/CommandPalette.d.ts +21 -0
  97. package/dist/src/front/components/ControlTooltip.d.ts +12 -0
  98. package/dist/src/front/components/ErrorChip.d.ts +6 -0
  99. package/dist/src/front/components/PanelErrorBoundary.d.ts +22 -0
  100. package/dist/src/front/components/SessionList.d.ts +15 -0
  101. package/dist/src/front/components/WorkspaceLoadingState.d.ts +8 -0
  102. package/dist/src/front/components/__tests__/CommandPalette.test.d.ts +1 -0
  103. package/dist/src/front/components/__tests__/PanelErrorBoundary.test.d.ts +1 -0
  104. package/dist/src/front/components/__tests__/SessionList.test.d.ts +1 -0
  105. package/dist/src/front/components/__tests__/WorkspaceLoadingState.test.d.ts +1 -0
  106. package/dist/src/front/components/commandPaletteHelpers.d.ts +16 -0
  107. package/dist/src/front/components/recent/__tests__/migrate.test.d.ts +1 -0
  108. package/dist/src/front/components/recent/__tests__/recentStore.test.d.ts +1 -0
  109. package/dist/src/front/components/recent/index.d.ts +2 -0
  110. package/dist/src/front/components/recent/recentStore.d.ts +9 -0
  111. package/dist/src/front/components/recent/types.d.ts +23 -0
  112. package/dist/src/front/components/useCommandPaletteCatalogSearch.d.ts +7 -0
  113. package/dist/src/front/components/useCommandPaletteChrome.d.ts +14 -0
  114. package/dist/src/front/components/useCommandPaletteSelection.d.ts +15 -0
  115. package/dist/src/front/detached/DetachedPanelPopover.d.ts +2 -0
  116. package/dist/src/front/detached/detachedPanelTypes.d.ts +21 -0
  117. package/dist/src/front/detached/useDetachedPanelPosition.d.ts +10 -0
  118. package/dist/src/front/dock/DockviewShell.d.ts +6 -0
  119. package/dist/src/front/dock/PanelChrome.d.ts +16 -0
  120. package/dist/src/front/dock/ShadcnTab.d.ts +2 -0
  121. package/dist/src/front/dock/__tests__/dock.test.d.ts +1 -0
  122. package/dist/src/front/dock/index.d.ts +3 -0
  123. package/dist/src/front/dock/types.d.ts +69 -0
  124. package/dist/src/front/events/__tests__/agentBridge.test.d.ts +1 -0
  125. package/dist/src/front/events/__tests__/bus.test.d.ts +1 -0
  126. package/dist/src/front/events/__tests__/types.test.d.ts +1 -0
  127. package/dist/src/front/events/__tests__/useEvent.test.d.ts +1 -0
  128. package/dist/src/front/events/agentBridge.d.ts +1 -0
  129. package/dist/src/front/events/bus.d.ts +21 -0
  130. package/dist/src/front/events/index.d.ts +7 -0
  131. package/dist/src/front/events/types.d.ts +137 -0
  132. package/dist/src/front/events/useEvent.d.ts +7 -0
  133. package/dist/src/front/fullPage.d.ts +24 -0
  134. package/dist/src/front/hooks/__tests__/useArtifactPanels.test.d.ts +1 -0
  135. package/dist/src/front/hooks/__tests__/useArtifactRouting.test.d.ts +1 -0
  136. package/dist/src/front/hooks/__tests__/useEditorLifecycle.test.d.ts +1 -0
  137. package/dist/src/front/hooks/__tests__/useKeyboardShortcuts.test.d.ts +1 -0
  138. package/dist/src/front/hooks/__tests__/useViewportBreakpoint.test.d.ts +1 -0
  139. package/dist/src/front/hooks/index.d.ts +6 -0
  140. package/dist/src/front/hooks/useArtifactPanels.d.ts +14 -0
  141. package/dist/src/front/hooks/useArtifactRouting.d.ts +12 -0
  142. package/dist/src/front/hooks/useEditorLifecycle.d.ts +27 -0
  143. package/dist/src/front/hooks/useKeyboardShortcuts.d.ts +13 -0
  144. package/dist/src/front/hooks/useResponsiveSidebarCollapse.d.ts +6 -0
  145. package/dist/src/front/hooks/useViewportBreakpoint.d.ts +1 -0
  146. package/dist/src/front/layout/ChatLayout.d.ts +4 -0
  147. package/dist/src/front/layout/ChatPaneStage.d.ts +59 -0
  148. package/dist/src/front/layout/ChatPaneStageDock.d.ts +5 -0
  149. package/dist/src/front/layout/IdeLayout.d.ts +4 -0
  150. package/dist/src/front/layout/ResponsiveDockviewShell.d.ts +6 -0
  151. package/dist/src/front/layout/ThemeToggle.d.ts +10 -0
  152. package/dist/src/front/layout/TopBar.d.ts +17 -0
  153. package/dist/src/front/layout/__tests__/ChatPaneStageDock.test.d.ts +1 -0
  154. package/dist/src/front/layout/__tests__/TopBar.test.d.ts +1 -0
  155. package/dist/src/front/layout/__tests__/presets.test.d.ts +1 -0
  156. package/dist/src/front/layout/cornerChrome.d.ts +10 -0
  157. package/dist/src/front/layout/index.d.ts +9 -0
  158. package/dist/src/front/layout/mobileShell.d.ts +18 -0
  159. package/dist/src/front/layout/paneCollapseButton.d.ts +15 -0
  160. package/dist/src/front/layout/plugin-tabs/AppLeftOverlayChromeContext.d.ts +1 -0
  161. package/dist/src/front/layout/plugin-tabs/AppLeftPane.d.ts +75 -0
  162. package/dist/src/front/layout/plugin-tabs/AppLeftPaneActions.d.ts +13 -0
  163. package/dist/src/front/layout/plugin-tabs/AppLeftPaneHeader.d.ts +7 -0
  164. package/dist/src/front/layout/plugin-tabs/AppLeftPaneProjects.d.ts +18 -0
  165. package/dist/src/front/layout/plugin-tabs/AppLeftPaneSections.d.ts +6 -0
  166. package/dist/src/front/layout/plugin-tabs/AppLeftPaneSessionRow.d.ts +18 -0
  167. package/dist/src/front/layout/plugin-tabs/PluginTabsWorkspaceShell.d.ts +15 -0
  168. package/dist/src/front/layout/plugin-tabs/__tests__/AppLeftPane.test.d.ts +1 -0
  169. package/dist/src/front/layout/types.d.ts +40 -0
  170. package/dist/src/front/layout/useViewportWidth.d.ts +1 -0
  171. package/dist/src/front/lib/utils.d.ts +2 -0
  172. package/dist/src/front/lib/utils.test.d.ts +1 -0
  173. package/dist/src/front/lib/validation.d.ts +189 -0
  174. package/dist/src/front/plugin/PluginErrorBoundary.d.ts +21 -0
  175. package/dist/src/front/plugin/PluginErrorContext.d.ts +19 -0
  176. package/dist/src/front/plugin/PluginInspector.d.ts +8 -0
  177. package/dist/src/front/plugin/__tests__/CatalogRegistry.test.d.ts +1 -0
  178. package/dist/src/front/plugin/__tests__/PluginErrorBoundary.test.d.ts +1 -0
  179. package/dist/src/front/plugin/__tests__/PluginInspector.test.d.ts +1 -0
  180. package/dist/src/front/plugin/__tests__/useWorkspacePluginClient.test.d.ts +1 -0
  181. package/dist/src/front/plugin/index.d.ts +10 -0
  182. package/dist/src/front/plugin/useActivePanels.d.ts +2 -0
  183. package/dist/src/front/plugin/useCatalogs.d.ts +2 -0
  184. package/dist/src/front/plugin/useCommands.d.ts +2 -0
  185. package/dist/src/front/plugin/useWorkspacePluginClient.d.ts +29 -0
  186. package/dist/src/front/provider/WorkspaceProvider.d.ts +84 -0
  187. package/dist/src/front/provider/index.d.ts +9 -0
  188. package/dist/src/front/provider/workspaceTitle.d.ts +5 -0
  189. package/dist/src/front/registry/PanelRegistry.d.ts +39 -0
  190. package/dist/src/front/registry/PanelRenderStatusBoundary.d.ts +38 -0
  191. package/dist/src/front/registry/RegistryProvider.d.ts +21 -0
  192. package/dist/src/front/registry/WorkspaceSourceRegistry.d.ts +25 -0
  193. package/dist/src/front/registry/__tests__/registry.test.d.ts +1 -0
  194. package/dist/src/front/registry/__tests__/replaceByPluginId.test.d.ts +1 -0
  195. package/dist/src/front/registry/__tests__/subscribe.test.d.ts +1 -0
  196. package/dist/src/front/registry/coreRegistrations.d.ts +2 -0
  197. package/dist/src/front/registry/getFileIcon.d.ts +2 -0
  198. package/dist/src/front/registry/index.d.ts +7 -0
  199. package/dist/src/front/registry/types.d.ts +2 -0
  200. package/dist/src/front/shell/WorkspaceShellCapabilitiesContext.d.ts +1 -0
  201. package/dist/src/front/store/__tests__/store.property.test.d.ts +1 -0
  202. package/dist/src/front/store/__tests__/store.test.d.ts +1 -0
  203. package/dist/src/front/store/index.d.ts +35 -0
  204. package/dist/src/front/store/localStorageValues.d.ts +4 -0
  205. package/dist/src/front/store/selectors.d.ts +21 -0
  206. package/dist/src/front/store/types.d.ts +53 -0
  207. package/dist/src/front/testing/TestWorkspaceProvider.d.ts +13 -0
  208. package/dist/src/front/testing/__tests__/testing.test.d.ts +1 -0
  209. package/dist/src/front/testing/createLocalStorageSessions.d.ts +16 -0
  210. package/dist/src/front/testing/createMockBridge.d.ts +20 -0
  211. package/dist/src/front/testing/createMockPaneProps.d.ts +11 -0
  212. package/dist/src/front/testing/createMockRegistry.d.ts +7 -0
  213. package/dist/src/front/testing/createMockSessions.d.ts +24 -0
  214. package/dist/src/front/testing/e2e.d.ts +61 -0
  215. package/dist/src/front/testing/index.d.ts +17 -0
  216. package/dist/src/front/testing/mockApi.d.ts +9 -0
  217. package/dist/src/front/testing/renderPane.d.ts +20 -0
  218. package/dist/src/front/theme/codemirror-theme.d.ts +4 -0
  219. package/dist/src/front/theme/index.d.ts +1 -0
  220. package/dist/src/front/toast/__tests__/toast.test.d.ts +1 -0
  221. package/dist/src/front/toast/index.d.ts +1 -0
  222. package/dist/src/index.d.ts +90 -0
  223. package/dist/src/plugin.d.ts +19 -0
  224. package/dist/src/plugins/filesystemPlugin/front/ConflictBanner.d.ts +14 -0
  225. package/dist/src/plugins/filesystemPlugin/front/FilePaneShell.d.ts +73 -0
  226. package/dist/src/plugins/filesystemPlugin/front/__tests__/agentFileBridge.test.d.ts +1 -0
  227. package/dist/src/plugins/filesystemPlugin/front/__tests__/filePanelBinding.test.d.ts +1 -0
  228. package/dist/src/plugins/filesystemPlugin/front/__tests__/filesystemPlugin.test.d.ts +1 -0
  229. package/dist/src/plugins/filesystemPlugin/front/__tests__/search.test.d.ts +1 -0
  230. package/dist/src/plugins/filesystemPlugin/front/__tests__/useFilePane.test.d.ts +1 -0
  231. package/dist/src/plugins/filesystemPlugin/front/agentFileBridge.d.ts +12 -0
  232. package/dist/src/plugins/filesystemPlugin/front/catalogs.d.ts +9 -0
  233. package/dist/src/plugins/filesystemPlugin/front/code-editor/CodeEditor.d.ts +10 -0
  234. package/dist/src/plugins/filesystemPlugin/front/code-editor/CodeEditorPane.d.ts +8 -0
  235. package/dist/src/plugins/filesystemPlugin/front/code-editor/__tests__/CodeEditor.test.d.ts +1 -0
  236. package/dist/src/plugins/filesystemPlugin/front/code-editor/__tests__/CodeEditorPane.test.d.ts +1 -0
  237. package/dist/src/plugins/filesystemPlugin/front/data/DataProvider.d.ts +16 -0
  238. package/dist/src/plugins/filesystemPlugin/front/data/__tests__/fetchClient.integration.test.d.ts +1 -0
  239. package/dist/src/plugins/filesystemPlugin/front/data/__tests__/fetchClient.test.d.ts +1 -0
  240. package/dist/src/plugins/filesystemPlugin/front/data/__tests__/fileRecords.test.d.ts +1 -0
  241. package/dist/src/plugins/filesystemPlugin/front/data/__tests__/hooks.test.d.ts +1 -0
  242. package/dist/src/plugins/filesystemPlugin/front/data/__tests__/useFileEventInvalidation.test.d.ts +1 -0
  243. package/dist/src/plugins/filesystemPlugin/front/data/__tests__/useFileEventStream.test.d.ts +1 -0
  244. package/dist/src/plugins/filesystemPlugin/front/data/__tests__/useFileUpload.test.d.ts +1 -0
  245. package/dist/src/plugins/filesystemPlugin/front/data/fetchClient.d.ts +63 -0
  246. package/dist/src/plugins/filesystemPlugin/front/data/fileRecords.d.ts +34 -0
  247. package/dist/src/plugins/filesystemPlugin/front/data/filesystemErrorRedaction.d.ts +2 -0
  248. package/dist/src/plugins/filesystemPlugin/front/data/hooks.d.ts +48 -0
  249. package/dist/src/plugins/filesystemPlugin/front/data/index.d.ts +9 -0
  250. package/dist/src/plugins/filesystemPlugin/front/data/treePreloadCache.d.ts +3 -0
  251. package/dist/src/plugins/filesystemPlugin/front/data/types.d.ts +37 -0
  252. package/dist/src/plugins/filesystemPlugin/front/data/useFileEventInvalidation.d.ts +28 -0
  253. package/dist/src/plugins/filesystemPlugin/front/data/useFileEventStream.d.ts +27 -0
  254. package/dist/src/plugins/filesystemPlugin/front/data/useFileUpload.d.ts +12 -0
  255. package/dist/src/plugins/filesystemPlugin/front/empty-file-panel/EmptyFilePanel.d.ts +6 -0
  256. package/dist/src/plugins/filesystemPlugin/front/empty-file-panel/definition.d.ts +8 -0
  257. package/dist/src/plugins/filesystemPlugin/front/events.d.ts +6 -0
  258. package/dist/src/plugins/filesystemPlugin/front/file-tree/FileTree.d.ts +59 -0
  259. package/dist/src/plugins/filesystemPlugin/front/file-tree/FileTreeView.d.ts +83 -0
  260. package/dist/src/plugins/filesystemPlugin/front/file-tree/__tests__/FileTree.test.d.ts +1 -0
  261. package/dist/src/plugins/filesystemPlugin/front/file-tree/__tests__/FileTreePane.test.d.ts +1 -0
  262. package/dist/src/plugins/filesystemPlugin/front/file-tree/__tests__/copyToClipboard.test.d.ts +1 -0
  263. package/dist/src/plugins/filesystemPlugin/front/file-tree/clipboard.d.ts +6 -0
  264. package/dist/src/plugins/filesystemPlugin/front/file-tree/dndManager.d.ts +8 -0
  265. package/dist/src/plugins/filesystemPlugin/front/file-tree/treeModel.d.ts +20 -0
  266. package/dist/src/plugins/filesystemPlugin/front/filePanelBinding.d.ts +1 -0
  267. package/dist/src/plugins/filesystemPlugin/front/html-viewer/HtmlViewer.d.ts +18 -0
  268. package/dist/src/plugins/filesystemPlugin/front/html-viewer/HtmlViewer.test.d.ts +1 -0
  269. package/dist/src/plugins/filesystemPlugin/front/html-viewer/HtmlViewerPane.d.ts +7 -0
  270. package/dist/src/plugins/filesystemPlugin/front/index.d.ts +11 -0
  271. package/dist/src/plugins/filesystemPlugin/front/markdown-editor/MarkdownEditor.d.ts +44 -0
  272. package/dist/src/plugins/filesystemPlugin/front/markdown-editor/MarkdownEditorPane.d.ts +8 -0
  273. package/dist/src/plugins/filesystemPlugin/front/markdown-editor/ResizableImage.d.ts +10 -0
  274. package/dist/src/plugins/filesystemPlugin/front/markdown-editor/__tests__/MarkdownEditor.test.d.ts +1 -0
  275. package/dist/src/plugins/filesystemPlugin/front/markdown-editor/__tests__/MarkdownEditorPane.test.d.ts +1 -0
  276. package/dist/src/plugins/filesystemPlugin/front/media-viewer/MediaViewer.d.ts +9 -0
  277. package/dist/src/plugins/filesystemPlugin/front/media-viewer/MediaViewer.test.d.ts +1 -0
  278. package/dist/src/plugins/filesystemPlugin/front/media-viewer/MediaViewerPane.d.ts +8 -0
  279. package/dist/src/plugins/filesystemPlugin/front/media-viewer/useMediaViewerReload.d.ts +8 -0
  280. package/dist/src/plugins/filesystemPlugin/front/media-viewer/useMediaViewerReload.test.d.ts +1 -0
  281. package/dist/src/plugins/filesystemPlugin/front/search.d.ts +5 -0
  282. package/dist/src/plugins/filesystemPlugin/front/search.test.d.ts +1 -0
  283. package/dist/src/plugins/filesystemPlugin/front/surfaceResolver.d.ts +10 -0
  284. package/dist/src/plugins/filesystemPlugin/front/useFilePane.d.ts +61 -0
  285. package/dist/src/plugins/filesystemPlugin/shared/constants.d.ts +12 -0
  286. package/dist/src/plugins/filesystemPlugin/shared/events.d.ts +39 -0
  287. package/dist/src/shared/__tests__/filesystem.test.d.ts +1 -0
  288. package/dist/src/shared/__tests__/telemetry.test.d.ts +1 -0
  289. package/dist/src/shared/__tests__/workspaceBridgeRpc.test.d.ts +1 -0
  290. package/dist/src/shared/index.d.ts +25 -0
  291. package/dist/src/shared/plugins/CatalogRegistry.d.ts +28 -0
  292. package/dist/src/shared/plugins/CommandRegistry.d.ts +23 -0
  293. package/dist/src/shared/plugins/SurfaceResolverRegistry.d.ts +24 -0
  294. package/dist/src/shared/plugins/__tests__/bootstrap.test.d.ts +1 -0
  295. package/dist/src/shared/plugins/__tests__/frontFactory.test.d.ts +1 -0
  296. package/dist/src/shared/plugins/__tests__/manifest.test.d.ts +1 -0
  297. package/dist/src/shared/plugins/__tests__/uiBridgeRegistry.test.d.ts +1 -0
  298. package/dist/src/shared/plugins/appLeftOverlayChrome.d.ts +10 -0
  299. package/dist/src/shared/plugins/bootstrap.d.ts +41 -0
  300. package/dist/src/shared/plugins/errors.d.ts +5 -0
  301. package/dist/src/shared/plugins/frontFactory.d.ts +166 -0
  302. package/dist/src/shared/plugins/index.d.ts +5 -0
  303. package/dist/src/shared/plugins/manifest.d.ts +58 -0
  304. package/dist/src/shared/plugins/runtimePluginTypes.d.ts +51 -0
  305. package/dist/src/shared/plugins/types.d.ts +84 -0
  306. package/dist/src/shared/plugins/uiBridgeRegistry.d.ts +44 -0
  307. package/dist/src/shared/plugins/workspaceShellCapabilities.d.ts +44 -0
  308. package/dist/src/shared/telemetry.d.ts +11 -0
  309. package/dist/src/shared/types/agent-tool.d.ts +30 -0
  310. package/dist/src/shared/types/boring-core-front.d.ts +2 -0
  311. package/dist/src/shared/types/filesystem.d.ts +15 -0
  312. package/dist/src/shared/types/panel.d.ts +123 -0
  313. package/dist/src/shared/types/surface.d.ts +42 -0
  314. package/dist/src/shared/ui-bridge.d.ts +77 -0
  315. package/dist/src/shared/workspace-bridge-rpc.d.ts +122 -0
  316. package/dist/{surface-aLQ_Hryw.d.ts → surface-h6IgrsK5.d.ts} +1 -1
  317. package/dist/testing-e2e.d.ts +2 -73
  318. package/dist/testing.d.ts +2 -433
  319. package/dist/testing.js +11 -11
  320. package/dist/{ui-bridge-D2eO3epD.d.ts → ui-bridge-C4CyIrQA.d.ts} +1 -1
  321. package/dist/{workspace-bridge-rpc-A98RA5o6.d.ts → workspace-bridge-rpc-BHsOJMlW.d.ts} +1 -1
  322. package/dist/workspace.css +21 -0
  323. package/dist/workspace.d.ts +2 -2649
  324. package/dist/workspace.js +40 -40
  325. package/package.json +4 -4
@@ -1,39 +1,39 @@
1
- import { Bt as e, Gt as t, Rt as n, Ut as r, Y as i, _ as a, b as o, fn as s, it as c, o as l, pn as u, x as ee } from "./WorkspaceProvider-Ddx7GByq.js";
1
+ import { Kt as e, S as t, Vt as n, Wt as r, X as i, _ as a, at as o, mn as s, o as c, pn as l, v as u, x as ee, zt as te } from "./WorkspaceProvider-DcOiZU24.js";
2
2
  import { t as d } from "./utils-BRcxFdrz.js";
3
- import { Suspense as f, createContext as te, createElement as p, useCallback as m, useContext as ne, useEffect as h, useMemo as g, useRef as _, useState as v, useSyncExternalStore as y } from "react";
4
- import { Fragment as re, jsx as b, jsxs as x } from "react/jsx-runtime";
5
- import { Maximize2 as ie, MessageSquare as ae, Minimize2 as oe, PanelRightClose as se, PanelRightOpen as ce, Plus as S, Search as C } from "lucide-react";
6
- import { Button as le, IconButton as w, Kbd as T, LoadingState as E, ResizeHandle as ue } from "@hachej/boring-ui-kit";
3
+ import { Suspense as ne, createContext as f, createElement as p, useCallback as m, useContext as h, useEffect as g, useMemo as _, useRef as v, useState as y, useSyncExternalStore as re } from "react";
4
+ import { Fragment as ie, jsx as b, jsxs as x } from "react/jsx-runtime";
5
+ import { ArrowLeft as ae, Maximize2 as oe, MessageSquare as se, Minimize2 as ce, PanelRightClose as S, PanelRightOpen as C, Plus as le, Search as w } from "lucide-react";
6
+ import { Button as T, IconButton as E, Kbd as ue, LoadingState as de, ResizeHandle as D } from "@hachej/boring-ui-kit";
7
7
  //#region src/shared/plugins/appLeftOverlayChrome.ts
8
- var de = te({
8
+ var O = f({
9
9
  headerInsetStart: !1,
10
10
  headerInsetEnd: !1
11
11
  });
12
- function D({ value: e, children: t }) {
13
- return p(de.Provider, { value: e }, t);
12
+ function fe({ value: e, children: t }) {
13
+ return p(O.Provider, { value: e }, t);
14
14
  }
15
- function O() {
16
- return ne(de);
15
+ function k() {
16
+ return h(O);
17
17
  }
18
18
  //#endregion
19
19
  //#region src/shared/plugins/workspaceShellCapabilities.ts
20
- var k = (e) => ({
20
+ var pe = (e) => ({
21
21
  success: !1,
22
22
  reason: "open-failed",
23
23
  message: e
24
- }), A = te({
24
+ }), A = f({
25
25
  openArtifact: () => ({
26
26
  success: !1,
27
27
  reason: "no-artifact",
28
28
  message: "No artifact is available."
29
29
  }),
30
- openDetachedChat: () => k("Workspace shell capabilities are not available.")
30
+ openDetachedChat: () => pe("Workspace shell capabilities are not available.")
31
31
  });
32
32
  function j({ value: e, children: t }) {
33
33
  return p(A.Provider, { value: e }, t);
34
34
  }
35
35
  function M() {
36
- return ne(A);
36
+ return h(A);
37
37
  }
38
38
  //#endregion
39
39
  //#region src/front/store/localStorageValues.ts
@@ -46,12 +46,12 @@ function N(e, t, n = !0) {
46
46
  } catch {}
47
47
  return t;
48
48
  }
49
- function P(e, t, n = !0) {
49
+ function me(e, t, n = !0) {
50
50
  if (!(!n || typeof window > "u")) try {
51
51
  window.localStorage.setItem(e, t ? "1" : "0");
52
52
  } catch {}
53
53
  }
54
- function F(e, t, n = !0) {
54
+ function P(e, t, n = !0) {
55
55
  if (!n || typeof window > "u") return t;
56
56
  try {
57
57
  let n = window.localStorage.getItem(e);
@@ -61,20 +61,20 @@ function F(e, t, n = !0) {
61
61
  } catch {}
62
62
  return t;
63
63
  }
64
- function I(e, t, n = !0) {
64
+ function F(e, t, n = !0) {
65
65
  if (!(!n || typeof window > "u")) try {
66
66
  window.localStorage.setItem(e, String(Math.round(t)));
67
67
  } catch {}
68
68
  }
69
69
  //#endregion
70
70
  //#region src/front/layout/cornerChrome.tsx
71
- var fe = "pointer-events-auto relative border border-border/70 bg-muted text-muted-foreground transition-colors hover:bg-foreground/[0.06] hover:text-foreground", L = "border-border bg-foreground/[0.09] text-foreground";
71
+ var I = "pointer-events-auto relative border border-border/70 bg-muted text-muted-foreground transition-colors hover:bg-foreground/[0.06] hover:text-foreground", L = "border-border bg-foreground/[0.09] text-foreground";
72
72
  function R({ label: e, hint: t, side: n = "bottom", onClick: r, pressed: a, pulse: o = !1, children: s }) {
73
73
  return /* @__PURE__ */ b(i, {
74
74
  label: e,
75
75
  hint: t,
76
76
  side: n,
77
- children: /* @__PURE__ */ x(w, {
77
+ children: /* @__PURE__ */ x(E, {
78
78
  type: "button",
79
79
  variant: "ghost",
80
80
  size: "icon-xs",
@@ -82,7 +82,7 @@ function R({ label: e, hint: t, side: n = "bottom", onClick: r, pressed: a, puls
82
82
  "aria-label": e,
83
83
  "aria-pressed": a,
84
84
  title: e,
85
- className: d(fe, a && L),
85
+ className: d(I, a && L),
86
86
  children: [s, o ? /* @__PURE__ */ b("span", {
87
87
  className: "absolute right-1 top-1 h-1.5 w-1.5 rounded-full bg-[color:var(--accent)] ring-1 ring-background",
88
88
  "aria-hidden": "true"
@@ -91,6 +91,113 @@ function R({ label: e, hint: t, side: n = "bottom", onClick: r, pressed: a, puls
91
91
  });
92
92
  }
93
93
  //#endregion
94
+ //#region src/front/layout/mobileShell.tsx
95
+ function he({ pane: e, totalPanes: t, topActions: n, onClosePane: r, renderPane: i }) {
96
+ return /* @__PURE__ */ x("div", {
97
+ "data-boring-workspace-part": "mobile-chat-pane",
98
+ className: "flex h-full min-h-0 flex-col bg-background",
99
+ children: [/* @__PURE__ */ x("div", {
100
+ className: "flex min-h-11 items-center gap-2 border-b border-border px-3 py-2",
101
+ children: [
102
+ /* @__PURE__ */ x("div", {
103
+ className: "min-w-0 flex-1",
104
+ children: [/* @__PURE__ */ b("div", {
105
+ className: "truncate text-sm font-semibold",
106
+ children: u(e)
107
+ }), t > 1 ? /* @__PURE__ */ x("div", {
108
+ className: "text-[11px] font-medium text-muted-foreground",
109
+ children: [
110
+ "Showing 1 of ",
111
+ t,
112
+ " chats — split panes are disabled on mobile."
113
+ ]
114
+ }) : null]
115
+ }),
116
+ n ? /* @__PURE__ */ b("div", {
117
+ className: "flex shrink-0 items-center gap-1",
118
+ children: n
119
+ }) : null,
120
+ t > 1 && r ? /* @__PURE__ */ b("button", {
121
+ type: "button",
122
+ className: "min-h-9 rounded-full border border-border px-3 text-xs font-semibold text-muted-foreground",
123
+ onClick: () => r(e.id),
124
+ children: "Close"
125
+ }) : null
126
+ ]
127
+ }), /* @__PURE__ */ b("div", {
128
+ "data-boring-workspace-part": "chat-pane",
129
+ "data-boring-state": "active",
130
+ className: "min-h-0 flex-1 overflow-hidden",
131
+ children: i(e)
132
+ })]
133
+ });
134
+ }
135
+ function ge({ canOpenNav: e, canOpenWorkspace: t, onOpenNav: n, onOpenWorkspace: r }) {
136
+ return /* @__PURE__ */ x("div", {
137
+ "data-boring-workspace-part": "mobile-chat-bar",
138
+ className: "flex min-h-12 items-center gap-2 border-b border-border bg-background px-2 py-2",
139
+ style: { paddingLeft: "4rem" },
140
+ children: [
141
+ e ? /* @__PURE__ */ b("button", {
142
+ type: "button",
143
+ className: "inline-flex min-h-10 items-center rounded-full border border-border px-3 text-sm font-semibold text-foreground",
144
+ onClick: n,
145
+ children: "Sessions"
146
+ }) : null,
147
+ /* @__PURE__ */ x("div", {
148
+ className: "min-w-0 flex-1",
149
+ children: [/* @__PURE__ */ b("div", {
150
+ className: "truncate text-sm font-semibold",
151
+ children: "Chat"
152
+ }), /* @__PURE__ */ b("div", {
153
+ className: "truncate text-[11px] font-medium text-muted-foreground",
154
+ children: "One active thread on mobile"
155
+ })]
156
+ }),
157
+ t ? /* @__PURE__ */ b("button", {
158
+ type: "button",
159
+ className: "inline-flex min-h-10 items-center rounded-full border border-border px-3 text-sm font-semibold text-foreground",
160
+ onClick: r,
161
+ children: "Workspace"
162
+ }) : null
163
+ ]
164
+ });
165
+ }
166
+ function _e({ onBack: e }) {
167
+ return /* @__PURE__ */ x("div", {
168
+ "data-boring-workspace-part": "mobile-workspace-bar",
169
+ className: "flex min-h-12 items-center gap-2 border-b border-border bg-background px-2 py-2",
170
+ style: { paddingLeft: "4rem" },
171
+ children: [/* @__PURE__ */ x("button", {
172
+ type: "button",
173
+ className: "inline-flex min-h-10 items-center gap-1 rounded-full border border-border px-3 text-sm font-semibold text-foreground",
174
+ onClick: e,
175
+ children: [/* @__PURE__ */ b(ae, {
176
+ className: "size-4",
177
+ "aria-hidden": "true"
178
+ }), "Chat"]
179
+ }), /* @__PURE__ */ x("div", {
180
+ className: "min-w-0 flex-1",
181
+ children: [/* @__PURE__ */ b("div", {
182
+ className: "truncate text-sm font-semibold",
183
+ children: "Workspace"
184
+ }), /* @__PURE__ */ b("div", {
185
+ className: "truncate text-[11px] font-medium text-muted-foreground",
186
+ children: "One active panel on mobile"
187
+ })]
188
+ })]
189
+ });
190
+ }
191
+ //#endregion
192
+ //#region src/front/layout/useViewportWidth.ts
193
+ function ve() {
194
+ let [e, t] = y(() => typeof window > "u" ? 1200 : window.innerWidth);
195
+ return g(() => {
196
+ let e = () => t(window.innerWidth);
197
+ return window.addEventListener("resize", e), () => window.removeEventListener("resize", e);
198
+ }, []), e;
199
+ }
200
+ //#endregion
94
201
  //#region src/front/layout/ChatLayout.tsx
95
202
  function z(e = {}) {
96
203
  let { nav: t = "session-list", navParams: n, center: r = "chat", centerParams: i, surface: a, surfaceParams: o, sidebar: s, sidebarParams: c } = e, l = [];
@@ -137,58 +244,58 @@ function z(e = {}) {
137
244
  };
138
245
  }
139
246
  function B(i) {
140
- let l = i.nav !== null, u = i.surface !== void 0, f = !!i.surface, te = i.nav || "session-list", p = i.center ?? "chat", ne = i.surface || "artifact-surface", y = he(), [re, ie] = pe(i.storageKey ? `${i.storageKey}:drawerWidth` : void 0, 260), [ae, oe] = pe(i.storageKey ? `${i.storageKey}:surfaceWidth` : void 0, 680), [se, ce] = pe(i.storageKey ? `${i.storageKey}:sidebarWidth` : void 0, 280), [S, C] = me(i.storageKey ? `${i.storageKey}:chatCollapsed` : void 0, !1), [le, w] = v(!1), { blockers: T } = o(), E = i.activeChatPaneId ?? i.centerParams?.sessionId, ue = g(() => T.filter((e) => !e.sessionId || !E || e.sessionId === E), [E, T]), de = g(() => T.some((e) => !!e.sessionId && !!ee(e)), [T]), D = s(), O = V(re, 200, 360), k = V(se, 200, Math.max(240, Math.floor(y * .5))), A = Math.max(480, Math.floor(y * .72)), j = V(ae, 480, A), M = H(i.centerParams, "getSurface"), N = H(i.centerParams, "isWorkbenchOpen"), P = H(i.centerParams, "openWorkbench"), F = H(i.centerParams, "openWorkbenchSources"), I = H(i.centerParams, "closeWorkbench"), fe = _e(i.centerParams, "surfaceDispatch"), L = U(i.navParams, "onClose"), R = U(i.surfaceParams, "onClose"), z = U(i.sidebarParams, "onClose"), B = U(i.navParams, "onCreate"), G = i.chatPanes?.filter((e) => e.id.length > 0) ?? [], Se = G.length > 0, K = !!i.sidebar, q = l ? !!L : !!i.onOpenNav, J = f ? !!R : !!i.onOpenSurface, Y = K ? !!z : !!i.onOpenSidebar, X = m(() => {
141
- if (l) {
142
- L?.();
247
+ let s = i.nav !== null, c = i.surface !== void 0, u = !!i.surface, ne = i.nav || "session-list", f = i.center ?? "chat", p = i.surface || "artifact-surface", h = ve(), [re, ie] = ye(i.storageKey ? `${i.storageKey}:drawerWidth` : void 0, 260), [ae, oe] = ye(i.storageKey ? `${i.storageKey}:surfaceWidth` : void 0, 680), [se, ce] = ye(i.storageKey ? `${i.storageKey}:sidebarWidth` : void 0, 280), [S, C] = be(i.storageKey ? `${i.storageKey}:chatCollapsed` : void 0, !1), [le, w] = y(!1), { blockers: T } = ee(), E = i.activeChatPaneId ?? i.centerParams?.sessionId, ue = _(() => T.filter((e) => !e.sessionId || !E || e.sessionId === E), [E, T]), de = _(() => T.some((e) => !!e.sessionId && !!t(e)), [T]), D = l(), O = i.mobileShellEnabled === !0 && h < 640, fe = O ? Math.min(Math.max(280, Math.floor(h * .86)), 360) : V(re, 200, 360), k = O ? h : V(se, 200, Math.max(240, Math.floor(h * .5))), pe = O ? h : Math.max(480, Math.floor(h * .72)), A = O ? h : V(ae, 480, pe), j = H(i.centerParams, "getSurface"), M = H(i.centerParams, "isWorkbenchOpen"), N = H(i.centerParams, "openWorkbench"), me = H(i.centerParams, "openWorkbenchSources"), P = H(i.centerParams, "closeWorkbench"), F = Se(i.centerParams, "surfaceDispatch"), I = U(i.navParams, "onClose"), L = U(i.surfaceParams, "onClose"), R = U(i.sidebarParams, "onClose"), z = U(i.navParams, "onCreate"), B = i.chatPanes?.filter((e) => e.id.length > 0) ?? [], G = B.length > 0, De = G ? B.find((e) => e.id === i.activeChatPaneId) ?? B[0] : void 0, K = !!i.sidebar, q = s ? !!I : !!i.onOpenNav, J = u ? !!L : !!i.onOpenSurface, Y = K ? !!R : !!i.onOpenSidebar, X = m(() => {
248
+ if (s) {
249
+ I?.();
143
250
  return;
144
251
  }
145
252
  i.onOpenNav?.();
146
253
  }, [
147
- L,
148
- l,
254
+ I,
255
+ s,
149
256
  i.onOpenNav
150
257
  ]), Z = m(() => {
151
- if (f) {
152
- R?.();
258
+ if (u) {
259
+ L?.();
153
260
  return;
154
261
  }
155
262
  i.onOpenSurface?.();
156
263
  }, [
157
- R,
264
+ L,
158
265
  i.onOpenSurface,
159
- f
160
- ]), Q = m(() => {
266
+ u
267
+ ]), Oe = m(() => {
161
268
  if (K) {
162
- z?.();
269
+ R?.();
163
270
  return;
164
271
  }
165
272
  i.onOpenSidebar?.();
166
273
  }, [
167
- z,
274
+ R,
168
275
  i.onOpenSidebar,
169
276
  K
170
- ]), $ = m(() => {
171
- S && C(!1), l && L?.(), f && R?.(), ve(), ye();
277
+ ]), Q = m(() => {
278
+ S && C(!1), s && I?.(), u && L?.(), Ce(), we();
172
279
  }, [
173
280
  S,
281
+ I,
174
282
  L,
175
- R,
176
- l,
283
+ s,
177
284
  C,
178
- f
179
- ]), Ce = _(!1), we = m(() => {
180
- !S && i.chatOverlay && (Ce.current = !0), C((e) => {
285
+ u
286
+ ]), ke = v(!1), Ae = m(() => {
287
+ !S && i.chatOverlay && (ke.current = !0), C((e) => {
181
288
  let t = !e;
182
- return t && !f && i.onOpenSurface?.(), t;
289
+ return t && !u && i.onOpenSurface?.(), t;
183
290
  }), w(!1);
184
291
  }, [
185
292
  S,
186
293
  i.chatOverlay,
187
294
  i.onOpenSurface,
188
295
  C,
189
- f
296
+ u
190
297
  ]);
191
- c({ shortcuts: g(() => {
298
+ o({ shortcuts: _(() => {
192
299
  let e = [];
193
300
  return q && e.push({
194
301
  key: "1",
@@ -202,37 +309,37 @@ function B(i) {
202
309
  key: "3",
203
310
  mod: !0,
204
311
  allowInEditable: !0,
205
- handler: Q
206
- }), p === "chat" && (e.push({
312
+ handler: Oe
313
+ }), f === "chat" && (e.push({
207
314
  key: "Escape",
208
315
  allowInEditable: !0,
209
- handler: $
316
+ handler: Q
210
317
  }), e.push({
211
318
  key: "\\",
212
319
  mod: !0,
213
320
  allowInEditable: !0,
214
- handler: we
321
+ handler: Ae
215
322
  })), e;
216
323
  }, [
217
324
  q,
218
325
  Y,
219
326
  J,
220
- p,
221
- $,
222
- we,
223
- X,
327
+ f,
224
328
  Q,
329
+ Ae,
330
+ X,
331
+ Oe,
225
332
  Z
226
- ]) }), h(() => {
333
+ ]) }), g(() => {
227
334
  let e = "workspace:chat-layout", t = "agent:chat-layout";
228
335
  return D.unregisterByPluginId(e), D.unregisterByPluginId(t), D.registerCommand({
229
336
  id: "workspace:open-session-history",
230
- title: l ? "Close Session History" : "Open Session History",
337
+ title: s ? "Close Session History" : "Open Session History",
231
338
  keywords: [
232
339
  "sessions",
233
340
  "history",
234
341
  "drawer",
235
- l ? "close" : "open"
342
+ s ? "close" : "open"
236
343
  ],
237
344
  shortcut: "⌘1",
238
345
  pluginId: e,
@@ -240,13 +347,13 @@ function B(i) {
240
347
  run: X
241
348
  }), D.registerCommand({
242
349
  id: "workspace:open-workbench",
243
- title: f ? "Close Workbench" : "Open Workbench",
350
+ title: u ? "Close Workbench" : "Open Workbench",
244
351
  keywords: [
245
352
  "surface",
246
353
  "artifacts",
247
354
  "sources",
248
355
  "workbench",
249
- f ? "close" : "open"
356
+ u ? "close" : "open"
250
357
  ],
251
358
  shortcut: "⌘2",
252
359
  pluginId: e,
@@ -265,8 +372,8 @@ function B(i) {
265
372
  shortcut: "⌘3",
266
373
  pluginId: e,
267
374
  when: () => Y,
268
- run: Q
269
- }), p === "chat" && D.registerCommand({
375
+ run: Oe
376
+ }), f === "chat" && D.registerCommand({
270
377
  id: "agent:focus-chat",
271
378
  title: "Focus Chat",
272
379
  keywords: [
@@ -278,8 +385,8 @@ function B(i) {
278
385
  "focus"
279
386
  ],
280
387
  pluginId: t,
281
- run: $
282
- }), B && D.registerCommand({
388
+ run: Q
389
+ }), z && D.registerCommand({
283
390
  id: "agent:new-chat",
284
391
  title: "New Chat",
285
392
  keywords: [
@@ -289,16 +396,16 @@ function B(i) {
289
396
  "new"
290
397
  ],
291
398
  pluginId: t,
292
- run: B
399
+ run: z
293
400
  }), () => {
294
401
  D.unregisterByPluginId(e), D.unregisterByPluginId(t);
295
402
  };
296
403
  }, [
297
404
  D,
298
- l,
299
- p,
300
- u,
405
+ s,
301
406
  f,
407
+ c,
408
+ u,
302
409
  i.navParams,
303
410
  i.surfaceParams,
304
411
  i.onOpenNav,
@@ -307,67 +414,68 @@ function B(i) {
307
414
  q,
308
415
  J,
309
416
  Y,
417
+ I,
310
418
  L,
311
419
  R,
312
420
  z,
313
- B,
314
- $,
421
+ Q,
315
422
  K,
316
423
  X,
317
424
  Z,
318
- Q
319
- ]), h(() => {
320
- let e = fe ?? (M && N && P ? {
321
- surface: M,
322
- isWorkbenchOpen: N,
323
- openWorkbench: P,
324
- openWorkbenchSources: F,
325
- closeWorkbench: I,
425
+ Oe
426
+ ]), g(() => {
427
+ let t = F ?? (j && M && N ? {
428
+ surface: j,
429
+ isWorkbenchOpen: M,
430
+ openWorkbench: N,
431
+ openWorkbenchSources: me,
432
+ closeWorkbench: P,
326
433
  shouldOpenSurface: (e) => e.meta?.openOnlyWhenSessionOpen !== !0
327
434
  } : void 0);
328
- if (e) return n.on(r.uiCommand, ({ command: n }) => {
329
- t(n, e);
435
+ if (t) return te.on(r.uiCommand, ({ command: n }) => {
436
+ e(n, t);
330
437
  });
331
438
  }, [
332
- fe,
439
+ F,
440
+ j,
333
441
  M,
334
442
  N,
335
- P,
336
- F,
337
- I
338
- ]), e(r.agentData, () => {
443
+ me,
444
+ P
445
+ ]), n(r.agentData, () => {
339
446
  S && w(!0);
340
- }), h(() => {
447
+ }), g(() => {
341
448
  if (!S) {
342
449
  w(!1);
343
450
  return;
344
451
  }
345
- ue.length > 0 && (C(!1), w(!1), ye());
452
+ ue.length > 0 && (C(!1), w(!1), we());
346
453
  }, [
347
454
  ue.length,
348
455
  S,
349
456
  C
350
457
  ]);
351
- let Te = _(E);
352
- h(() => {
353
- let e = Te.current;
354
- Te.current = E, e !== void 0 && E !== void 0 && E !== e && S && C(!1);
458
+ let je = v(E);
459
+ g(() => {
460
+ let e = je.current;
461
+ je.current = E, e !== void 0 && E !== void 0 && E !== e && S && C(!1);
355
462
  }, [
356
463
  E,
357
464
  S,
358
465
  C
359
- ]), h(() => {
360
- !f || S || i.chatOverlay || y < 1180 && C(!0);
466
+ ]), g(() => {
467
+ O || !u || S || i.chatOverlay || h < 1180 && C(!0);
361
468
  }, [
362
469
  S,
470
+ O,
363
471
  i.chatOverlay,
364
472
  C,
365
- f,
366
- y
367
- ]), h(() => {
473
+ u,
474
+ h
475
+ ]), g(() => {
368
476
  if (!(!i.chatOverlay || !S)) {
369
- if (Ce.current) {
370
- Ce.current = !1;
477
+ if (ke.current) {
478
+ ke.current = !1;
371
479
  return;
372
480
  }
373
481
  C(!1);
@@ -377,38 +485,54 @@ function B(i) {
377
485
  i.chatOverlay,
378
486
  C
379
487
  ]);
380
- let Ee = _(f);
381
- return h(() => {
382
- let e = Ee.current;
383
- Ee.current = f, e && !f && S && C(!1);
488
+ let Me = v(u);
489
+ g(() => {
490
+ let e = Me.current;
491
+ Me.current = u, e && !u && S && C(!1);
384
492
  }, [
385
- f,
493
+ u,
386
494
  S,
387
495
  C
388
- ]), /* @__PURE__ */ x("div", {
496
+ ]);
497
+ let $ = S || O && u, Ne = O && u;
498
+ return /* @__PURE__ */ x("div", {
389
499
  "data-boring-workspace": "",
390
500
  "data-boring-workspace-part": "shell",
501
+ "data-boring-mobile-shell": i.mobileShellEnabled === !0 ? "" : void 0,
502
+ "data-mobile-shell": O ? "true" : "false",
391
503
  className: d("relative flex h-full min-h-0 w-full overflow-hidden bg-background", i.className),
392
504
  children: [
505
+ O && s && I ? /* @__PURE__ */ b("div", {
506
+ "aria-hidden": "true",
507
+ "data-boring-workspace-part": "session-drawer-mobile-scrim",
508
+ className: "absolute inset-0 z-40 bg-foreground/30",
509
+ onClick: I
510
+ }) : null,
511
+ O && K && R ? /* @__PURE__ */ b("div", {
512
+ "aria-hidden": "true",
513
+ "data-boring-workspace-part": "workbench-left-mobile-scrim",
514
+ className: "absolute inset-0 z-30 bg-foreground/30",
515
+ onClick: R
516
+ }) : null,
393
517
  /* @__PURE__ */ x("aside", {
394
518
  "data-boring-workspace-part": "session-drawer",
395
- "data-boring-state": l ? "expanded" : "collapsed",
519
+ "data-boring-state": s ? "expanded" : "collapsed",
396
520
  "aria-label": "Session browser",
397
- "aria-hidden": !l,
398
- className: d("relative h-full min-h-0 shrink-0 overflow-hidden bg-background", "transition-[width,min-width,max-width] duration-[280ms] ease-[cubic-bezier(0.22,1,0.36,1)]", l ? "z-30 border-r border-[color:oklch(from_var(--border)_l_c_h/0.6)]" : "pointer-events-none z-0"),
521
+ "aria-hidden": !s,
522
+ className: d(O ? "absolute inset-y-0 left-0 z-50 h-full shadow-2xl" : "relative h-full shrink-0", "min-h-0 overflow-hidden bg-background", "transition-[width,min-width,max-width] duration-[280ms] ease-[cubic-bezier(0.22,1,0.36,1)]", s ? "border-r border-[color:oklch(from_var(--border)_l_c_h/0.6)]" : "pointer-events-none z-0"),
399
523
  style: {
400
- width: l ? O : 0,
401
- minWidth: l ? O : 0,
402
- maxWidth: l ? O : 0,
524
+ width: s ? fe : 0,
525
+ minWidth: s ? fe : 0,
526
+ maxWidth: s ? fe : 0,
403
527
  willChange: "width"
404
528
  },
405
529
  children: [/* @__PURE__ */ b("div", {
406
- className: d("h-full min-h-0 overflow-hidden", "transition-opacity duration-[200ms] ease-[cubic-bezier(0.22,1,0.36,1)]", l ? "opacity-100" : "invisible pointer-events-none opacity-0"),
530
+ className: d("h-full min-h-0 overflow-hidden", "transition-opacity duration-[200ms] ease-[cubic-bezier(0.22,1,0.36,1)]", s ? "opacity-100" : "invisible pointer-events-none opacity-0"),
407
531
  children: /* @__PURE__ */ b(W, {
408
- id: te,
532
+ id: ne,
409
533
  params: i.navParams
410
534
  })
411
- }), l ? /* @__PURE__ */ b(ge, {
535
+ }), s && !O ? /* @__PURE__ */ b(xe, {
412
536
  side: "drawer-right",
413
537
  ariaLabel: "Resize sessions drawer",
414
538
  onResize: (e) => ie((t) => V(t + e, 200, 360))
@@ -419,7 +543,7 @@ function B(i) {
419
543
  "data-boring-state": K ? "expanded" : "collapsed",
420
544
  "aria-label": K ? "Workbench left panel" : void 0,
421
545
  "aria-hidden": !K,
422
- className: d("relative h-full min-h-0 shrink-0 overflow-hidden bg-background", "transition-[width,min-width,max-width] duration-[280ms] ease-[cubic-bezier(0.22,1,0.36,1)]", K && "border-r border-[color:oklch(from_var(--border)_l_c_h/0.6)]"),
546
+ className: d(O ? "absolute inset-0 z-40 h-full" : "relative h-full shrink-0", "min-h-0 overflow-hidden bg-background", "transition-[width,min-width,max-width] duration-[280ms] ease-[cubic-bezier(0.22,1,0.36,1)]", K && "border-r border-[color:oklch(from_var(--border)_l_c_h/0.6)]"),
423
547
  style: {
424
548
  width: K ? k : 0,
425
549
  minWidth: K ? k : 0,
@@ -432,87 +556,117 @@ function B(i) {
432
556
  id: i.sidebar ?? "workbench-left",
433
557
  params: i.sidebarParams
434
558
  }) : null
435
- }), K ? /* @__PURE__ */ b(ge, {
559
+ }), K && !O ? /* @__PURE__ */ b(xe, {
436
560
  side: "drawer-right",
437
561
  ariaLabel: "Resize workbench left panel",
438
- onResize: (e) => ce((t) => V(t + e, 200, Math.max(240, Math.floor(y * .5))))
562
+ onResize: (e) => ce((t) => V(t + e, 200, Math.max(240, Math.floor(h * .5))))
439
563
  }) : null]
440
564
  }),
441
565
  /* @__PURE__ */ x("div", {
442
566
  className: "relative flex h-full min-h-0 min-w-0 flex-1 overflow-hidden bg-background",
443
567
  children: [/* @__PURE__ */ x("main", {
444
568
  "data-boring-workspace-part": "chat-stage",
445
- "data-boring-state": S ? "collapsed" : "expanded",
446
- "aria-label": S ? "Collapsed chat" : "Chat",
447
- "aria-hidden": S,
448
- className: d("relative h-full min-h-0 min-w-0 overflow-hidden bg-background", "transition-[flex-grow,flex-basis,width,min-width,max-width] duration-[280ms] ease-[cubic-bezier(0.22,1,0.36,1)]", S ? "min-w-0 flex-[0_0_0px]" : "flex-1 border-r border-[color:oklch(from_var(--border)_l_c_h/0.6)]"),
449
- children: [/* @__PURE__ */ b("div", {
450
- className: d("h-full min-h-0 overflow-hidden", "transition-opacity duration-[200ms] ease-[cubic-bezier(0.22,1,0.36,1)]", S ? "opacity-0" : "opacity-100"),
451
- children: Se ? /* @__PURE__ */ b(a, {
452
- panes: G,
453
- topActions: i.chatTopActions,
454
- activePaneId: i.activeChatPaneId,
455
- onActivePaneChange: i.onActiveChatPaneChange,
456
- onClosePane: i.onCloseChatPane,
457
- flashPaneId: i.flashChatPaneId,
458
- storageKey: i.storageKey,
459
- onDropSession: i.onDropChatSession,
460
- renderPane: (e) => /* @__PURE__ */ b(W, {
461
- id: e.panel ?? p,
462
- params: e.params ?? i.centerParams
569
+ "data-boring-state": $ ? "collapsed" : "expanded",
570
+ "aria-label": $ ? "Collapsed chat" : "Chat",
571
+ "aria-hidden": $,
572
+ className: d("relative h-full min-h-0 min-w-0 overflow-hidden bg-background", O && !$ && "flex flex-col", "transition-[flex-grow,flex-basis,width,min-width,max-width] duration-[280ms] ease-[cubic-bezier(0.22,1,0.36,1)]", $ ? "min-w-0 flex-[0_0_0px]" : "flex-1 border-r border-[color:oklch(from_var(--border)_l_c_h/0.6)]"),
573
+ children: [
574
+ O && !$ ? /* @__PURE__ */ b(ge, {
575
+ canOpenNav: !!i.onOpenNav,
576
+ canOpenWorkspace: J,
577
+ onOpenNav: i.onOpenNav,
578
+ onOpenWorkspace: Z
579
+ }) : null,
580
+ /* @__PURE__ */ b("div", {
581
+ className: d(O && !$ ? "min-h-0 flex-1 overflow-hidden" : "h-full min-h-0 overflow-hidden", "transition-opacity duration-[200ms] ease-[cubic-bezier(0.22,1,0.36,1)]", $ ? "opacity-0" : "opacity-100"),
582
+ children: G && O && De ? /* @__PURE__ */ b(he, {
583
+ pane: De,
584
+ totalPanes: B.length,
585
+ topActions: i.chatTopActions,
586
+ onClosePane: i.onCloseChatPane,
587
+ renderPane: (e) => /* @__PURE__ */ b(W, {
588
+ id: e.panel ?? f,
589
+ params: e.params ?? i.centerParams
590
+ })
591
+ }) : G ? /* @__PURE__ */ b(a, {
592
+ panes: B,
593
+ topActions: i.chatTopActions,
594
+ activePaneId: i.activeChatPaneId,
595
+ onActivePaneChange: i.onActiveChatPaneChange,
596
+ onClosePane: i.onCloseChatPane,
597
+ flashPaneId: i.flashChatPaneId,
598
+ storageKey: i.storageKey,
599
+ onDropSession: i.onDropChatSession,
600
+ renderPane: (e) => /* @__PURE__ */ b(W, {
601
+ id: e.panel ?? f,
602
+ params: e.params ?? i.centerParams
603
+ })
604
+ }) : /* @__PURE__ */ b(W, {
605
+ id: f,
606
+ params: i.centerParams
463
607
  })
464
- }) : /* @__PURE__ */ b(W, {
465
- id: p,
466
- params: i.centerParams
467
- })
468
- }), i.chatOverlay ? /* @__PURE__ */ b("div", {
469
- "data-boring-workspace-part": "chat-left-overlay",
470
- "aria-hidden": S,
471
- className: "absolute inset-0 z-40 flex bg-background",
472
- children: /* @__PURE__ */ b("div", {
473
- className: "flex h-full w-full flex-col border-r border-border bg-background",
474
- children: i.chatOverlay
475
- })
476
- }) : null]
477
- }), u ? /* @__PURE__ */ x("aside", {
608
+ }),
609
+ i.chatOverlay ? /* @__PURE__ */ b("div", {
610
+ "data-boring-workspace-part": "chat-left-overlay",
611
+ "aria-hidden": S,
612
+ className: "absolute inset-0 z-40 flex bg-background",
613
+ children: /* @__PURE__ */ b("div", {
614
+ className: "flex h-full w-full flex-col border-r border-border bg-background",
615
+ children: i.chatOverlay
616
+ })
617
+ }) : null
618
+ ]
619
+ }), c ? /* @__PURE__ */ x("aside", {
478
620
  "data-boring-workspace-part": "workbench",
479
- "data-boring-state": f ? "expanded" : "collapsed",
480
- "aria-label": f ? "Surface" : void 0,
481
- "aria-hidden": !f,
482
- className: d("relative h-full min-h-0 overflow-hidden bg-background", S && f ? "min-w-0 flex-1" : "shrink-0", "transition-[flex-grow,flex-basis,width,min-width,max-width] duration-[280ms] ease-[cubic-bezier(0.22,1,0.36,1)]", f && "border-l border-[color:oklch(from_var(--border)_l_c_h/0.6)]"),
483
- style: S && f ? { willChange: "width" } : {
484
- width: f ? j : 0,
485
- minWidth: f ? j : 0,
486
- maxWidth: f ? j : 0,
621
+ "data-boring-state": u ? "expanded" : "collapsed",
622
+ "aria-label": u ? "Surface" : void 0,
623
+ "aria-hidden": !u,
624
+ className: d(O ? "absolute inset-0 z-40" : "relative", "h-full min-h-0 overflow-hidden bg-background", (S || Ne) && u ? "min-w-0 flex-1" : "shrink-0", "transition-[flex-grow,flex-basis,width,min-width,max-width] duration-[280ms] ease-[cubic-bezier(0.22,1,0.36,1)]", u && !O && "border-l border-[color:oklch(from_var(--border)_l_c_h/0.6)]"),
625
+ style: {
626
+ width: u ? A : 0,
627
+ minWidth: u ? A : 0,
628
+ maxWidth: u ? A : 0,
487
629
  willChange: "width"
488
630
  },
489
631
  children: [/* @__PURE__ */ b("div", {
490
- className: d("h-full min-h-0 overflow-hidden", "transition-[opacity,padding] duration-[200ms] ease-[cubic-bezier(0.22,1,0.36,1)]", f ? "opacity-100" : "opacity-0"),
491
- children: i.surfaceOverlay ? /* @__PURE__ */ b("div", {
632
+ className: d("h-full min-h-0 overflow-hidden", "transition-[opacity,padding] duration-[200ms] ease-[cubic-bezier(0.22,1,0.36,1)]", u ? "opacity-100" : "opacity-0"),
633
+ children: Ne ? /* @__PURE__ */ x("div", {
634
+ className: "flex h-full min-h-0 flex-col",
635
+ children: [/* @__PURE__ */ b(_e, { onBack: Q }), /* @__PURE__ */ b("div", {
636
+ className: "min-h-0 flex-1 overflow-hidden",
637
+ children: i.surfaceOverlay ? /* @__PURE__ */ b("div", {
638
+ className: "relative h-full min-h-0",
639
+ children: i.surfaceOverlay
640
+ }) : /* @__PURE__ */ b(W, {
641
+ id: p,
642
+ params: i.surfaceParams
643
+ })
644
+ })]
645
+ }) : i.surfaceOverlay ? /* @__PURE__ */ b("div", {
492
646
  className: "relative h-full min-h-0",
493
647
  children: i.surfaceOverlay
494
648
  }) : /* @__PURE__ */ b(W, {
495
- id: ne,
649
+ id: p,
496
650
  params: i.surfaceParams
497
651
  })
498
- }), f && !S ? /* @__PURE__ */ b(ge, {
652
+ }), u && !S && !O ? /* @__PURE__ */ b(xe, {
499
653
  side: "surface-left",
500
654
  ariaLabel: "Resize workbench",
501
- onResize: (e) => oe((t) => V(t - e, 480, A))
655
+ onResize: (e) => oe((t) => V(t - e, 480, pe))
502
656
  }) : null]
503
657
  }) : null]
504
658
  }),
505
- /* @__PURE__ */ b(be, {
506
- surfaceOpen: f,
659
+ O ? null : /* @__PURE__ */ b(Te, {
660
+ surfaceOpen: u,
507
661
  canToggleSurface: J,
508
662
  onToggleSurface: Z,
509
663
  chatCollapsed: S,
510
- canToggleChat: p === "chat" && (!u || f && !S),
511
- onToggleChat: we,
664
+ canToggleChat: f === "chat" && (!c || u && !S),
665
+ onToggleChat: Ae,
512
666
  chatPulse: le || T.length > 0,
513
- surfaceConfigured: u
667
+ surfaceConfigured: c
514
668
  }),
515
- !l && i.onOpenNav ? /* @__PURE__ */ b(xe, {
669
+ !O && !s && i.onOpenNav ? /* @__PURE__ */ b(Ee, {
516
670
  side: "left",
517
671
  icon: "sessions",
518
672
  onClick: i.onOpenNav,
@@ -520,11 +674,11 @@ function B(i) {
520
674
  hint: "⌘1",
521
675
  pulse: de
522
676
  }) : null,
523
- !S && !l && Se && i.onCreateChatPaneAfter ? /* @__PURE__ */ b(xe, {
677
+ !O && !S && !s && G && i.onCreateChatPaneAfter ? /* @__PURE__ */ b(Ee, {
524
678
  side: "left",
525
679
  icon: "plus",
526
680
  onClick: () => {
527
- let e = i.activeChatPaneId ?? G[G.length - 1]?.id;
681
+ let e = i.activeChatPaneId ?? B[B.length - 1]?.id;
528
682
  e && i.onCreateChatPaneAfter?.(e);
529
683
  },
530
684
  label: "New chat",
@@ -536,20 +690,20 @@ function B(i) {
536
690
  function V(e, t, n) {
537
691
  return Math.max(t, Math.min(n, e));
538
692
  }
539
- function pe(e, t) {
540
- let [n, r] = v(() => e ? F(e, t) : t);
541
- return h(() => {
542
- r(e ? F(e, t) : t);
693
+ function ye(e, t) {
694
+ let [n, r] = y(() => e ? P(e, t) : t);
695
+ return g(() => {
696
+ r(e ? P(e, t) : t);
543
697
  }, [e, t]), [n, m((t) => {
544
698
  r((n) => {
545
699
  let r = typeof t == "function" ? t(n) : t;
546
- return e && I(e, r), r;
700
+ return e && F(e, r), r;
547
701
  });
548
702
  }, [e])];
549
703
  }
550
- function me(e, t) {
551
- let [n, r] = v(() => !e || typeof window > "u" ? t : window.localStorage.getItem(e) === "1");
552
- return h(() => {
704
+ function be(e, t) {
705
+ let [n, r] = y(() => !e || typeof window > "u" ? t : window.localStorage.getItem(e) === "1");
706
+ return g(() => {
553
707
  if (!e || typeof window > "u") {
554
708
  r(t);
555
709
  return;
@@ -563,15 +717,8 @@ function me(e, t) {
563
717
  });
564
718
  }, [e])];
565
719
  }
566
- function he() {
567
- let [e, t] = v(() => typeof window < "u" ? window.innerWidth : 1200);
568
- return h(() => {
569
- let e = () => t(window.innerWidth);
570
- return window.addEventListener("resize", e), () => window.removeEventListener("resize", e);
571
- }, []), e;
572
- }
573
- function ge({ side: e, ariaLabel: t, onResize: n }) {
574
- let r = _(null), i = m((e) => {
720
+ function xe({ side: e, ariaLabel: t, onResize: n }) {
721
+ let r = v(null), i = m((e) => {
575
722
  e.preventDefault(), r.current = e.clientX, e.currentTarget.setPointerCapture(e.pointerId), document.body.style.cursor = "col-resize", document.body.style.userSelect = "none";
576
723
  }, []), a = m((e) => {
577
724
  if (r.current === null) return;
@@ -580,7 +727,7 @@ function ge({ side: e, ariaLabel: t, onResize: n }) {
580
727
  }, [n]), o = m((e) => {
581
728
  r.current !== null && (r.current = null, e.currentTarget.releasePointerCapture(e.pointerId), document.body.style.cursor = "", document.body.style.userSelect = "");
582
729
  }, []);
583
- return /* @__PURE__ */ b(ue, {
730
+ return /* @__PURE__ */ b(D, {
584
731
  "aria-label": t,
585
732
  orientation: "vertical",
586
733
  onResizeStart: i,
@@ -590,7 +737,7 @@ function ge({ side: e, ariaLabel: t, onResize: n }) {
590
737
  className: d("absolute -top-px -bottom-px z-20 w-3 bg-transparent hover:!bg-transparent active:!bg-transparent", "after:absolute after:inset-y-2 after:left-1/2 after:w-px after:-translate-x-1/2 after:rounded-full after:bg-border/55", "after:transition-[width,background-color] after:duration-150 hover:after:w-1 hover:after:bg-foreground/35 active:after:w-1 active:after:bg-foreground/50", e === "drawer-right" ? "right-0" : "-left-1.5")
591
738
  });
592
739
  }
593
- function _e(e, t) {
740
+ function Se(e, t) {
594
741
  let n = e?.[t];
595
742
  if (!n || typeof n != "object") return;
596
743
  let r = n;
@@ -603,18 +750,18 @@ function H(e, t) {
603
750
  function U(e, t) {
604
751
  return H(e, t);
605
752
  }
606
- function ve() {
753
+ function Ce() {
607
754
  typeof document > "u" || (document.querySelector("[data-boring-workspace-part=\"chat-pane\"][data-boring-state=\"active\"]") ?? document).querySelector("[data-boring-agent] textarea[name=\"message\"], textarea[name=\"message\"]")?.focus();
608
755
  }
609
- function ye() {
756
+ function we() {
610
757
  typeof window > "u" || window.requestAnimationFrame(() => {
611
- ve(), window.setTimeout(ve, 320);
758
+ Ce(), window.setTimeout(Ce, 320);
612
759
  });
613
760
  }
614
761
  function W({ id: e, params: t }) {
615
- let n = u(), { debug: r } = l(), i = g(() => n.getComponents(), [n, y(n.subscribe, n.getSnapshot, n.getSnapshot)])[e], a = g(() => G(e), [e]);
616
- return i ? /* @__PURE__ */ b(f, {
617
- fallback: /* @__PURE__ */ b(E, { centered: !0 }),
762
+ let n = s(), { debug: r } = c(), i = _(() => n.getComponents(), [n, re(n.subscribe, n.getSnapshot, n.getSnapshot)])[e], a = _(() => G(e), [e]);
763
+ return i ? /* @__PURE__ */ b(ne, {
764
+ fallback: /* @__PURE__ */ b(de, { centered: !0 }),
618
765
  children: /* @__PURE__ */ b(i, {
619
766
  params: {
620
767
  ...t,
@@ -646,7 +793,7 @@ function G(e) {
646
793
  onDidConstraintsChange: () => ({ dispose() {} })
647
794
  };
648
795
  }
649
- function be({ surfaceOpen: e, canToggleSurface: t, onToggleSurface: n, chatCollapsed: r, canToggleChat: i, onToggleChat: a, chatPulse: o, surfaceConfigured: s }) {
796
+ function Te({ surfaceOpen: e, canToggleSurface: t, onToggleSurface: n, chatCollapsed: r, canToggleChat: i, onToggleChat: a, chatPulse: o, surfaceConfigured: s }) {
650
797
  let c = t, l = i;
651
798
  return !c && !l ? null : /* @__PURE__ */ x("div", {
652
799
  className: "pointer-events-none absolute right-3 top-2.5 z-[70] flex items-center gap-1",
@@ -656,7 +803,7 @@ function be({ surfaceOpen: e, canToggleSurface: t, onToggleSurface: n, chatColla
656
803
  onClick: a,
657
804
  pressed: r,
658
805
  pulse: o,
659
- children: b(r ? oe : ie, {
806
+ children: b(r ? ce : oe, {
660
807
  className: "size-3",
661
808
  strokeWidth: 1.75
662
809
  })
@@ -665,20 +812,20 @@ function be({ surfaceOpen: e, canToggleSurface: t, onToggleSurface: n, chatColla
665
812
  hint: "⌘2",
666
813
  onClick: n,
667
814
  pressed: e,
668
- children: b(e ? se : ce, {
815
+ children: b(e ? S : C, {
669
816
  className: "size-3",
670
817
  strokeWidth: 1.75
671
818
  })
672
819
  }) : null]
673
820
  });
674
821
  }
675
- function xe({ side: e, icon: t, onClick: n, label: r, hint: a, bottomOffset: o, stackIndex: s = 0, pulse: c = !1 }) {
822
+ function Ee({ side: e, icon: t, onClick: n, label: r, hint: a, bottomOffset: o, stackIndex: s = 0, pulse: c = !1 }) {
676
823
  let l = e === "right" && o !== void 0, u = s * 44;
677
824
  return /* @__PURE__ */ b(i, {
678
825
  label: r,
679
826
  hint: a,
680
827
  side: e === "left" ? "right" : "left",
681
- children: /* @__PURE__ */ b(w, {
828
+ children: /* @__PURE__ */ b(E, {
682
829
  type: "button",
683
830
  variant: "ghost",
684
831
  size: "icon-sm",
@@ -713,7 +860,7 @@ function xe({ side: e, icon: t, onClick: n, label: r, hint: a, bottomOffset: o,
713
860
  }) : null]
714
861
  }) : t === "chat" ? /* @__PURE__ */ x("span", {
715
862
  className: "relative flex items-center justify-center",
716
- children: [/* @__PURE__ */ b(ae, {
863
+ children: [/* @__PURE__ */ b(se, {
717
864
  className: "h-[15px] w-[15px]",
718
865
  strokeWidth: 1.8,
719
866
  "aria-hidden": "true"
@@ -751,7 +898,7 @@ function xe({ side: e, icon: t, onClick: n, label: r, hint: a, bottomOffset: o,
751
898
  }
752
899
  //#endregion
753
900
  //#region src/front/layout/TopBar.tsx
754
- function Se({ appTitle: e = "Boring", sessionTitle: t, onCommandPalette: n, onNewChat: r, topBarLeft: i, topBarRight: a, className: o }) {
901
+ function De({ appTitle: e = "Boring", sessionTitle: t, onCommandPalette: n, onNewChat: r, topBarLeft: i, topBarRight: a, className: o }) {
755
902
  let s = a ?? null, c = t || e;
756
903
  return /* @__PURE__ */ x("header", {
757
904
  "data-boring-workspace-part": "topbar",
@@ -760,7 +907,7 @@ function Se({ appTitle: e = "Boring", sessionTitle: t, onCommandPalette: n, onNe
760
907
  children: [
761
908
  /* @__PURE__ */ b("div", {
762
909
  className: "flex min-w-0 flex-1 items-center gap-2.5 leading-none",
763
- children: i ?? /* @__PURE__ */ x(re, { children: [/* @__PURE__ */ b("span", {
910
+ children: i ?? /* @__PURE__ */ x(ie, { children: [/* @__PURE__ */ b("span", {
764
911
  "aria-hidden": "true",
765
912
  className: "grid size-[22px] shrink-0 place-items-center rounded-sm bg-foreground text-[11px] font-semibold leading-none tracking-tight text-background",
766
913
  children: (c?.[0] ?? "B").toUpperCase()
@@ -769,7 +916,7 @@ function Se({ appTitle: e = "Boring", sessionTitle: t, onCommandPalette: n, onNe
769
916
  children: c
770
917
  })] })
771
918
  }),
772
- /* @__PURE__ */ x(le, {
919
+ /* @__PURE__ */ x(T, {
773
920
  type: "button",
774
921
  variant: "ghost",
775
922
  size: "sm",
@@ -778,7 +925,7 @@ function Se({ appTitle: e = "Boring", sessionTitle: t, onCommandPalette: n, onNe
778
925
  "aria-label": "Search catalogs and commands",
779
926
  title: "Command palette (⌘K)",
780
927
  children: [
781
- /* @__PURE__ */ b(C, {
928
+ /* @__PURE__ */ b(w, {
782
929
  className: "h-3.5 w-3.5 shrink-0 opacity-80",
783
930
  strokeWidth: 1.75
784
931
  }),
@@ -786,7 +933,7 @@ function Se({ appTitle: e = "Boring", sessionTitle: t, onCommandPalette: n, onNe
786
933
  className: "font-normal tracking-tight",
787
934
  children: "Search"
788
935
  }),
789
- /* @__PURE__ */ b(T, {
936
+ /* @__PURE__ */ b(ue, {
790
937
  className: "ml-0.5 bg-muted/40 leading-none shadow-none",
791
938
  children: "⌘K"
792
939
  })
@@ -794,14 +941,14 @@ function Se({ appTitle: e = "Boring", sessionTitle: t, onCommandPalette: n, onNe
794
941
  }),
795
942
  /* @__PURE__ */ x("div", {
796
943
  className: "flex flex-1 shrink-0 items-center justify-end gap-1",
797
- children: [r && /* @__PURE__ */ b(w, {
944
+ children: [r && /* @__PURE__ */ b(E, {
798
945
  type: "button",
799
946
  variant: "ghost",
800
947
  size: "icon-sm",
801
948
  onClick: r,
802
949
  "aria-label": "New chat",
803
950
  title: "New chat",
804
- children: /* @__PURE__ */ b(S, { className: "h-4 w-4" })
951
+ children: /* @__PURE__ */ b(le, { className: "h-4 w-4" })
805
952
  }), s]
806
953
  })
807
954
  ]
@@ -844,4 +991,4 @@ function K({ title: e = "Loading workspace", description: t = "Preparing the wor
844
991
  });
845
992
  }
846
993
  //#endregion
847
- export { N as a, I as c, D as d, O as f, z as i, j as l, Se as n, F as o, B as r, P as s, K as t, M as u };
994
+ export { ve as a, me as c, M as d, fe as f, z as i, F as l, De as n, N as o, k as p, B as r, P as s, K as t, j as u };