@dxos/plugin-debug 0.12.0-next-73daef452f1464b62efdbca75fb0067c1066f264 → 0.13.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 (501) hide show
  1. package/PLUGIN.mdl +241 -3
  2. package/README.md +27 -3
  3. package/dist/lib/Debug.mjs.map +1 -1
  4. package/dist/lib/DebugNodes.mjs +21 -2
  5. package/dist/lib/DebugNodes.mjs.map +1 -1
  6. package/dist/lib/DebugOperation.mjs +166 -2
  7. package/dist/lib/DebugOperation.mjs.map +1 -1
  8. package/dist/lib/DebugPlugin.mjs.map +1 -1
  9. package/dist/lib/DebugSurface.mjs +7 -2
  10. package/dist/lib/DebugSurface.mjs.map +1 -1
  11. package/dist/lib/IncidentSpace.mjs +2 -0
  12. package/dist/lib/PipelineSpace.mjs +2 -0
  13. package/dist/lib/ReviewSpace.mjs +2 -0
  14. package/dist/lib/StockfishSpace.mjs +2 -0
  15. package/dist/lib/TidepoolSpace.mjs +2 -0
  16. package/dist/lib/WeatherSpace.mjs +2 -0
  17. package/dist/lib/WorkerSpace.mjs +2 -0
  18. package/dist/lib/capabilities.browser.mjs +71 -0
  19. package/dist/lib/capabilities.browser.mjs.map +1 -0
  20. package/dist/lib/capabilities.mjs +17 -7
  21. package/dist/lib/capabilities.mjs.map +1 -1
  22. package/dist/lib/capabilities.node.mjs +13 -3
  23. package/dist/lib/capabilities.node.mjs.map +1 -1
  24. package/dist/lib/capabilities.tauri.mjs +71 -0
  25. package/dist/lib/capabilities.tauri.mjs.map +1 -0
  26. package/dist/lib/capabilities.workerd.mjs +3 -1
  27. package/dist/lib/capabilities.workerd.mjs.map +1 -1
  28. package/dist/lib/chunk-DebugConsole.mjs +241 -0
  29. package/dist/lib/chunk-DebugConsole.mjs.map +1 -0
  30. package/dist/lib/chunk-DebugObjectPanel.mjs +12 -16
  31. package/dist/lib/chunk-DebugObjectPanel.mjs.map +1 -1
  32. package/dist/lib/chunk-DebugPanelDrawer.mjs +48 -0
  33. package/dist/lib/chunk-DebugPanelDrawer.mjs.map +1 -0
  34. package/dist/lib/chunk-DebugPanelHeader.mjs +280 -0
  35. package/dist/lib/chunk-DebugPanelHeader.mjs.map +1 -0
  36. package/dist/lib/chunk-DebugPanelStatus.mjs +127 -0
  37. package/dist/lib/chunk-DebugPanelStatus.mjs.map +1 -0
  38. package/dist/lib/chunk-DebugSettings.mjs +81 -70
  39. package/dist/lib/chunk-DebugSettings.mjs.map +1 -1
  40. package/dist/lib/chunk-DebugSpaceObjectsPanel.mjs +21 -12
  41. package/dist/lib/chunk-DebugSpaceObjectsPanel.mjs.map +1 -1
  42. package/dist/lib/chunk-DebugStatus.mjs +12 -12
  43. package/dist/lib/chunk-DebugStatus.mjs.map +1 -1
  44. package/dist/lib/chunk-IncidentSpace.mjs +269 -0
  45. package/dist/lib/chunk-IncidentSpace.mjs.map +1 -0
  46. package/dist/lib/chunk-LoggerPanel.mjs +18 -0
  47. package/dist/lib/chunk-LoggerPanel.mjs.map +1 -0
  48. package/dist/lib/chunk-PLUGIN.mjs +6 -0
  49. package/dist/lib/chunk-PLUGIN.mjs.map +1 -0
  50. package/dist/lib/chunk-PipelineSpace.mjs +378 -0
  51. package/dist/lib/chunk-PipelineSpace.mjs.map +1 -0
  52. package/dist/lib/chunk-ReviewSpace.mjs +356 -0
  53. package/dist/lib/chunk-ReviewSpace.mjs.map +1 -0
  54. package/dist/lib/chunk-SpaceGenerator.mjs +107 -73
  55. package/dist/lib/chunk-SpaceGenerator.mjs.map +1 -1
  56. package/dist/lib/chunk-StatsPanel.mjs +28 -35
  57. package/dist/lib/chunk-StatsPanel.mjs.map +1 -1
  58. package/dist/lib/chunk-StockfishSpace.mjs +563 -0
  59. package/dist/lib/chunk-StockfishSpace.mjs.map +1 -0
  60. package/dist/lib/chunk-TidepoolSpace.mjs +544 -0
  61. package/dist/lib/chunk-TidepoolSpace.mjs.map +1 -0
  62. package/dist/lib/chunk-WeatherSpace.mjs +206 -0
  63. package/dist/lib/chunk-WeatherSpace.mjs.map +1 -0
  64. package/dist/lib/chunk-Wireframe.mjs +6 -6
  65. package/dist/lib/chunk-Wireframe.mjs.map +1 -1
  66. package/dist/lib/chunk-WorkerSpace.mjs +177 -0
  67. package/dist/lib/chunk-WorkerSpace.mjs.map +1 -0
  68. package/dist/lib/chunk-app-graph-builder.mjs +72 -40
  69. package/dist/lib/chunk-app-graph-builder.mjs.map +1 -1
  70. package/dist/lib/chunk-create-space-from-template.mjs +55 -0
  71. package/dist/lib/chunk-create-space-from-template.mjs.map +1 -0
  72. package/dist/lib/chunk-errors.mjs +13 -0
  73. package/dist/lib/chunk-errors.mjs.map +1 -0
  74. package/dist/lib/chunk-graph-retention.mjs +14 -0
  75. package/dist/lib/chunk-graph-retention.mjs.map +1 -0
  76. package/dist/lib/chunk-insert-lorem-ipsum.mjs +2 -2
  77. package/dist/lib/chunk-log-recording.mjs +29 -1
  78. package/dist/lib/chunk-log-recording.mjs.map +1 -1
  79. package/dist/lib/chunk-open-page.mjs +29 -0
  80. package/dist/lib/chunk-open-page.mjs.map +1 -0
  81. package/dist/lib/chunk-operation-handler.mjs +5 -0
  82. package/dist/lib/chunk-operation-handler.mjs.map +1 -1
  83. package/dist/lib/chunk-react-surface.mjs +73 -71
  84. package/dist/lib/chunk-react-surface.mjs.map +1 -1
  85. package/dist/lib/chunk-settings.mjs +2 -2
  86. package/dist/lib/chunk-settings.mjs.map +1 -1
  87. package/dist/lib/chunk-snapshot.mjs +170 -0
  88. package/dist/lib/chunk-snapshot.mjs.map +1 -0
  89. package/dist/lib/chunk-space-templates.mjs +21 -0
  90. package/dist/lib/chunk-space-templates.mjs.map +1 -0
  91. package/dist/lib/chunk-stats-panel.mjs +1 -1
  92. package/dist/lib/chunk-stats-panel.mjs.map +1 -1
  93. package/dist/lib/chunk-undo.mjs +17 -0
  94. package/dist/lib/chunk-undo.mjs.map +1 -0
  95. package/dist/lib/chunk-view-state.mjs +37 -0
  96. package/dist/lib/chunk-view-state.mjs.map +1 -0
  97. package/dist/lib/components.mjs +68 -28
  98. package/dist/lib/components.mjs.map +1 -1
  99. package/dist/lib/containers.mjs +5 -2
  100. package/dist/lib/containers.mjs.map +1 -1
  101. package/dist/lib/index.mjs +8 -2
  102. package/dist/lib/meta.mjs +3 -2
  103. package/dist/lib/meta.mjs.map +1 -1
  104. package/dist/lib/operations.mjs +7 -1
  105. package/dist/lib/operations.mjs.map +1 -1
  106. package/dist/lib/plugin.mjs +2 -2
  107. package/dist/lib/plugin.mjs.map +1 -1
  108. package/dist/lib/translations.mjs +13 -4
  109. package/dist/lib/translations.mjs.map +1 -1
  110. package/dist/types/scripts/build-template-archive.d.ts +2 -0
  111. package/dist/types/scripts/build-template-archive.d.ts.map +1 -0
  112. package/dist/types/src/DebugPlugin.d.ts +2 -2
  113. package/dist/types/src/DebugPlugin.d.ts.map +1 -1
  114. package/dist/types/src/capabilities/DebugSurfaces.d.ts +4 -5
  115. package/dist/types/src/capabilities/DebugSurfaces.d.ts.map +1 -1
  116. package/dist/types/src/capabilities/app-graph-builder.d.ts +31 -0
  117. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  118. package/dist/types/src/capabilities/app-graph-builder.test.d.ts +2 -0
  119. package/dist/types/src/capabilities/app-graph-builder.test.d.ts.map +1 -0
  120. package/dist/types/src/capabilities/gen/browser.d.ts +14 -0
  121. package/dist/types/src/capabilities/gen/browser.d.ts.map +1 -0
  122. package/dist/types/src/capabilities/gen/node.d.ts +2 -0
  123. package/dist/types/src/capabilities/gen/node.d.ts.map +1 -1
  124. package/dist/types/src/capabilities/gen/tauri.d.ts +14 -0
  125. package/dist/types/src/capabilities/gen/tauri.d.ts.map +1 -0
  126. package/dist/types/src/capabilities/gen/workerd.d.ts +2 -0
  127. package/dist/types/src/capabilities/gen/workerd.d.ts.map +1 -1
  128. package/dist/types/src/capabilities/graph-retention.d.ts +5 -0
  129. package/dist/types/src/capabilities/graph-retention.d.ts.map +1 -0
  130. package/dist/types/src/capabilities/index.d.ts +2 -0
  131. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  132. package/dist/types/src/capabilities/log-recording.d.ts +4 -0
  133. package/dist/types/src/capabilities/log-recording.d.ts.map +1 -1
  134. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  135. package/dist/types/src/capabilities/space-templates.d.ts +14 -0
  136. package/dist/types/src/capabilities/space-templates.d.ts.map +1 -0
  137. package/dist/types/src/components/SchemaTable/SchemaTable.d.ts +4 -3
  138. package/dist/types/src/components/SchemaTable/SchemaTable.d.ts.map +1 -1
  139. package/dist/types/src/components/SchemaTable/index.d.ts +1 -1
  140. package/dist/types/src/components/SchemaTable/index.d.ts.map +1 -1
  141. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts +2 -1
  142. package/dist/types/src/components/SpaceGenerator/ObjectGenerator.d.ts.map +1 -1
  143. package/dist/types/src/components/SpaceGenerator/index.d.ts +2 -2
  144. package/dist/types/src/components/SpaceGenerator/index.d.ts.map +1 -1
  145. package/dist/types/src/components/SpaceGenerator/presets.d.ts +1 -1
  146. package/dist/types/src/components/SpaceGenerator/presets.d.ts.map +1 -1
  147. package/dist/types/src/components/index.d.ts +2 -2
  148. package/dist/types/src/components/index.d.ts.map +1 -1
  149. package/dist/types/src/containers/DebugConsole/DebugConsole.d.ts +12 -0
  150. package/dist/types/src/containers/DebugConsole/DebugConsole.d.ts.map +1 -0
  151. package/dist/types/src/containers/DebugConsole/DebugConsole.stories.d.ts +103 -0
  152. package/dist/types/src/containers/DebugConsole/DebugConsole.stories.d.ts.map +1 -0
  153. package/dist/types/src/containers/DebugConsole/cli.d.ts +24 -0
  154. package/dist/types/src/containers/DebugConsole/cli.d.ts.map +1 -0
  155. package/dist/types/src/containers/DebugConsole/index.d.ts +2 -0
  156. package/dist/types/src/containers/DebugConsole/index.d.ts.map +1 -0
  157. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts +1 -1
  158. package/dist/types/src/containers/DebugObjectPanel/DebugObjectPanel.d.ts.map +1 -1
  159. package/dist/types/src/containers/DebugObjectPanel/index.d.ts +1 -1
  160. package/dist/types/src/containers/DebugObjectPanel/index.d.ts.map +1 -1
  161. package/dist/types/src/containers/DebugPanel/DebugPanel.d.ts +30 -0
  162. package/dist/types/src/containers/DebugPanel/DebugPanel.d.ts.map +1 -0
  163. package/dist/types/src/containers/DebugPanel/DebugPanel.stories.d.ts +126 -0
  164. package/dist/types/src/containers/DebugPanel/DebugPanel.stories.d.ts.map +1 -0
  165. package/dist/types/src/containers/DebugPanel/DebugPanelContext.d.ts +16 -0
  166. package/dist/types/src/containers/DebugPanel/DebugPanelContext.d.ts.map +1 -0
  167. package/dist/types/src/containers/DebugPanel/DebugPanelHeader.d.ts +14 -0
  168. package/dist/types/src/containers/DebugPanel/DebugPanelHeader.d.ts.map +1 -0
  169. package/dist/types/src/containers/DebugPanel/DebugPanelMain.d.ts +6 -0
  170. package/dist/types/src/containers/DebugPanel/DebugPanelMain.d.ts.map +1 -0
  171. package/dist/types/src/containers/DebugPanel/DebugPanelSidebar.d.ts +6 -0
  172. package/dist/types/src/containers/DebugPanel/DebugPanelSidebar.d.ts.map +1 -0
  173. package/dist/types/src/containers/DebugPanel/index.d.ts +7 -0
  174. package/dist/types/src/containers/DebugPanel/index.d.ts.map +1 -0
  175. package/dist/types/src/containers/DebugPanel/view-state.d.ts +46 -0
  176. package/dist/types/src/containers/DebugPanel/view-state.d.ts.map +1 -0
  177. package/dist/types/src/containers/DebugPanelDrawer/DebugPanelDrawer.d.ts +10 -0
  178. package/dist/types/src/containers/DebugPanelDrawer/DebugPanelDrawer.d.ts.map +1 -0
  179. package/dist/types/src/containers/DebugPanelDrawer/DebugPanelDrawer.stories.d.ts +114 -0
  180. package/dist/types/src/containers/DebugPanelDrawer/DebugPanelDrawer.stories.d.ts.map +1 -0
  181. package/dist/types/src/containers/DebugPanelDrawer/index.d.ts +2 -0
  182. package/dist/types/src/containers/DebugPanelDrawer/index.d.ts.map +1 -0
  183. package/dist/types/src/containers/DebugPanelStatus/DebugPanelStatus.d.ts +11 -0
  184. package/dist/types/src/containers/DebugPanelStatus/DebugPanelStatus.d.ts.map +1 -0
  185. package/dist/types/src/containers/DebugPanelStatus/DebugPanelStatus.stories.d.ts +107 -0
  186. package/dist/types/src/containers/DebugPanelStatus/DebugPanelStatus.stories.d.ts.map +1 -0
  187. package/dist/types/src/containers/DebugPanelStatus/index.d.ts +2 -0
  188. package/dist/types/src/containers/DebugPanelStatus/index.d.ts.map +1 -0
  189. package/dist/types/src/containers/DebugPortSettings/DebugPortSettings.d.ts.map +1 -1
  190. package/dist/types/src/containers/DebugPortSettings/DebugPortSettings.stories.d.ts +13 -4
  191. package/dist/types/src/containers/DebugPortSettings/DebugPortSettings.stories.d.ts.map +1 -1
  192. package/dist/types/src/containers/DebugPortSettings/index.d.ts +1 -1
  193. package/dist/types/src/containers/DebugPortSettings/index.d.ts.map +1 -1
  194. package/dist/types/src/containers/DebugSettings/DebugSettings.d.ts +2 -2
  195. package/dist/types/src/containers/DebugSettings/DebugSettings.d.ts.map +1 -1
  196. package/dist/types/src/containers/DebugSettings/DebugSettings.stories.d.ts +14 -5
  197. package/dist/types/src/containers/DebugSettings/DebugSettings.stories.d.ts.map +1 -1
  198. package/dist/types/src/containers/DebugSettings/index.d.ts +1 -1
  199. package/dist/types/src/containers/DebugSettings/index.d.ts.map +1 -1
  200. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts +1 -1
  201. package/dist/types/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.d.ts.map +1 -1
  202. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts +1 -1
  203. package/dist/types/src/containers/DebugSpaceObjectsPanel/index.d.ts.map +1 -1
  204. package/dist/types/src/containers/DebugStatus/index.d.ts +1 -1
  205. package/dist/types/src/containers/DebugStatus/index.d.ts.map +1 -1
  206. package/dist/types/src/containers/LoggerPanel/LoggerPanel.d.ts +6 -0
  207. package/dist/types/src/containers/LoggerPanel/LoggerPanel.d.ts.map +1 -0
  208. package/dist/types/src/containers/LoggerPanel/LoggerPanel.stories.d.ts +107 -0
  209. package/dist/types/src/containers/LoggerPanel/LoggerPanel.stories.d.ts.map +1 -0
  210. package/dist/types/src/containers/LoggerPanel/index.d.ts +2 -0
  211. package/dist/types/src/containers/LoggerPanel/index.d.ts.map +1 -0
  212. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.d.ts.map +1 -1
  213. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.stories.d.ts +13 -4
  214. package/dist/types/src/containers/SpaceGenerator/SpaceGenerator.stories.d.ts.map +1 -1
  215. package/dist/types/src/containers/SpaceGenerator/index.d.ts +1 -1
  216. package/dist/types/src/containers/SpaceGenerator/index.d.ts.map +1 -1
  217. package/dist/types/src/containers/StatsPanel/StatsPanel.d.ts +5 -1
  218. package/dist/types/src/containers/StatsPanel/StatsPanel.d.ts.map +1 -1
  219. package/dist/types/src/containers/StatsPanel/index.d.ts +1 -1
  220. package/dist/types/src/containers/StatsPanel/index.d.ts.map +1 -1
  221. package/dist/types/src/containers/Wireframe/Wireframe.d.ts +2 -2
  222. package/dist/types/src/containers/Wireframe/Wireframe.d.ts.map +1 -1
  223. package/dist/types/src/containers/Wireframe/index.d.ts +1 -1
  224. package/dist/types/src/containers/Wireframe/index.d.ts.map +1 -1
  225. package/dist/types/src/containers/index.d.ts +7 -1
  226. package/dist/types/src/containers/index.d.ts.map +1 -1
  227. package/dist/types/src/errors.d.ts +123 -0
  228. package/dist/types/src/errors.d.ts.map +1 -0
  229. package/dist/types/src/index.d.ts +2 -2
  230. package/dist/types/src/index.d.ts.map +1 -1
  231. package/dist/types/src/operations/DebugOperationHandlerSet.d.ts.map +1 -1
  232. package/dist/types/src/operations/create-space-from-template.d.ts +5 -0
  233. package/dist/types/src/operations/create-space-from-template.d.ts.map +1 -0
  234. package/dist/types/src/operations/errors.d.ts +33 -0
  235. package/dist/types/src/operations/errors.d.ts.map +1 -0
  236. package/dist/types/src/operations/index.d.ts +1 -1
  237. package/dist/types/src/operations/index.d.ts.map +1 -1
  238. package/dist/types/src/operations/open-page.d.ts +5 -0
  239. package/dist/types/src/operations/open-page.d.ts.map +1 -0
  240. package/dist/types/src/operations/snapshot.d.ts +5 -0
  241. package/dist/types/src/operations/snapshot.d.ts.map +1 -0
  242. package/dist/types/src/operations/snapshot.test.d.ts +2 -0
  243. package/dist/types/src/operations/snapshot.test.d.ts.map +1 -0
  244. package/dist/types/src/operations/undo.d.ts +5 -0
  245. package/dist/types/src/operations/undo.d.ts.map +1 -0
  246. package/dist/types/src/operations/undo.test.d.ts +2 -0
  247. package/dist/types/src/operations/undo.test.d.ts.map +1 -0
  248. package/dist/types/src/plugin.d.ts.map +1 -1
  249. package/dist/types/src/samples/crm/PipelineSpace.d.ts +21 -0
  250. package/dist/types/src/samples/crm/PipelineSpace.d.ts.map +1 -0
  251. package/dist/types/src/samples/crm/PipelineSpace.test.d.ts +2 -0
  252. package/dist/types/src/samples/crm/PipelineSpace.test.d.ts.map +1 -0
  253. package/dist/types/src/samples/crm/accounts.d.ts +55 -0
  254. package/dist/types/src/samples/crm/accounts.d.ts.map +1 -0
  255. package/dist/types/src/samples/crm/inbox.d.ts +14 -0
  256. package/dist/types/src/samples/crm/inbox.d.ts.map +1 -0
  257. package/dist/types/src/samples/crm/pipeline.d.ts +9 -0
  258. package/dist/types/src/samples/crm/pipeline.d.ts.map +1 -0
  259. package/dist/types/src/samples/crm/util.d.ts +14 -0
  260. package/dist/types/src/samples/crm/util.d.ts.map +1 -0
  261. package/dist/types/src/samples/incident/IncidentSpace.d.ts +21 -0
  262. package/dist/types/src/samples/incident/IncidentSpace.d.ts.map +1 -0
  263. package/dist/types/src/samples/incident/IncidentSpace.test.d.ts +2 -0
  264. package/dist/types/src/samples/incident/IncidentSpace.test.d.ts.map +1 -0
  265. package/dist/types/src/samples/incident/docs.d.ts +14 -0
  266. package/dist/types/src/samples/incident/docs.d.ts.map +1 -0
  267. package/dist/types/src/samples/incident/project.d.ts +16 -0
  268. package/dist/types/src/samples/incident/project.d.ts.map +1 -0
  269. package/dist/types/src/samples/incident/tasks.d.ts +9 -0
  270. package/dist/types/src/samples/incident/tasks.d.ts.map +1 -0
  271. package/dist/types/src/samples/incident/util.d.ts +32 -0
  272. package/dist/types/src/samples/incident/util.d.ts.map +1 -0
  273. package/dist/types/src/samples/index.d.ts +8 -0
  274. package/dist/types/src/samples/index.d.ts.map +1 -0
  275. package/dist/types/src/samples/review/ReviewSpace.d.ts +19 -0
  276. package/dist/types/src/samples/review/ReviewSpace.d.ts.map +1 -0
  277. package/dist/types/src/samples/review/ReviewSpace.test.d.ts +2 -0
  278. package/dist/types/src/samples/review/ReviewSpace.test.d.ts.map +1 -0
  279. package/dist/types/src/samples/review/assets.d.ts +19 -0
  280. package/dist/types/src/samples/review/assets.d.ts.map +1 -0
  281. package/dist/types/src/samples/review/util.d.ts +4 -0
  282. package/dist/types/src/samples/review/util.d.ts.map +1 -0
  283. package/dist/types/src/samples/review/work.d.ts +15 -0
  284. package/dist/types/src/samples/review/work.d.ts.map +1 -0
  285. package/dist/types/src/samples/stockfish/StockfishSpace.d.ts +27 -0
  286. package/dist/types/src/samples/stockfish/StockfishSpace.d.ts.map +1 -0
  287. package/dist/types/src/samples/stockfish/StockfishSpace.test.d.ts +2 -0
  288. package/dist/types/src/samples/stockfish/StockfishSpace.test.d.ts.map +1 -0
  289. package/dist/types/src/samples/stockfish/docs.d.ts +8 -0
  290. package/dist/types/src/samples/stockfish/docs.d.ts.map +1 -0
  291. package/dist/types/src/samples/stockfish/game.d.ts +10 -0
  292. package/dist/types/src/samples/stockfish/game.d.ts.map +1 -0
  293. package/dist/types/src/samples/stockfish/project.d.ts +31 -0
  294. package/dist/types/src/samples/stockfish/project.d.ts.map +1 -0
  295. package/dist/types/src/samples/stockfish/run.test.d.ts +2 -0
  296. package/dist/types/src/samples/stockfish/run.test.d.ts.map +1 -0
  297. package/dist/types/src/samples/stockfish/skill.d.ts +8 -0
  298. package/dist/types/src/samples/stockfish/skill.d.ts.map +1 -0
  299. package/dist/types/src/samples/stockfish/tasks.d.ts +12 -0
  300. package/dist/types/src/samples/stockfish/tasks.d.ts.map +1 -0
  301. package/dist/types/src/samples/stockfish/util.d.ts +14 -0
  302. package/dist/types/src/samples/stockfish/util.d.ts.map +1 -0
  303. package/dist/types/src/samples/tidepool/TidepoolSpace.d.ts +22 -0
  304. package/dist/types/src/samples/tidepool/TidepoolSpace.d.ts.map +1 -0
  305. package/dist/types/src/samples/tidepool/TidepoolSpace.test.d.ts +2 -0
  306. package/dist/types/src/samples/tidepool/TidepoolSpace.test.d.ts.map +1 -0
  307. package/dist/types/src/samples/tidepool/docs.d.ts +12 -0
  308. package/dist/types/src/samples/tidepool/docs.d.ts.map +1 -0
  309. package/dist/types/src/samples/tidepool/project.d.ts +20 -0
  310. package/dist/types/src/samples/tidepool/project.d.ts.map +1 -0
  311. package/dist/types/src/samples/tidepool/tasks.d.ts +14 -0
  312. package/dist/types/src/samples/tidepool/tasks.d.ts.map +1 -0
  313. package/dist/types/src/samples/tidepool/team.d.ts +9 -0
  314. package/dist/types/src/samples/tidepool/team.d.ts.map +1 -0
  315. package/dist/types/src/samples/tidepool/util.d.ts +14 -0
  316. package/dist/types/src/samples/tidepool/util.d.ts.map +1 -0
  317. package/dist/types/src/samples/weather/WeatherSpace.d.ts +21 -0
  318. package/dist/types/src/samples/weather/WeatherSpace.d.ts.map +1 -0
  319. package/dist/types/src/samples/weather/WeatherSpace.test.d.ts +2 -0
  320. package/dist/types/src/samples/weather/WeatherSpace.test.d.ts.map +1 -0
  321. package/dist/types/src/samples/weather/project.d.ts +20 -0
  322. package/dist/types/src/samples/weather/project.d.ts.map +1 -0
  323. package/dist/types/src/samples/weather/skill.d.ts +12 -0
  324. package/dist/types/src/samples/weather/skill.d.ts.map +1 -0
  325. package/dist/types/src/samples/weather/tasks.d.ts +9 -0
  326. package/dist/types/src/samples/weather/tasks.d.ts.map +1 -0
  327. package/dist/types/src/samples/weather/util.d.ts +16 -0
  328. package/dist/types/src/samples/weather/util.d.ts.map +1 -0
  329. package/dist/types/src/samples/worker/WorkerSpace.d.ts +22 -0
  330. package/dist/types/src/samples/worker/WorkerSpace.d.ts.map +1 -0
  331. package/dist/types/src/samples/worker/WorkerSpace.test.d.ts +2 -0
  332. package/dist/types/src/samples/worker/WorkerSpace.test.d.ts.map +1 -0
  333. package/dist/types/src/samples/worker/project.d.ts +18 -0
  334. package/dist/types/src/samples/worker/project.d.ts.map +1 -0
  335. package/dist/types/src/samples/worker/tasks.d.ts +9 -0
  336. package/dist/types/src/samples/worker/tasks.d.ts.map +1 -0
  337. package/dist/types/src/samples/worker/util.d.ts +14 -0
  338. package/dist/types/src/samples/worker/util.d.ts.map +1 -0
  339. package/dist/types/src/stories/SpaceTemplates.stories.d.ts +114 -0
  340. package/dist/types/src/stories/SpaceTemplates.stories.d.ts.map +1 -0
  341. package/dist/types/src/testing/index.d.ts +3 -0
  342. package/dist/types/src/testing/index.d.ts.map +1 -0
  343. package/dist/types/src/testing/stub-drawer-plugin.d.ts +8 -0
  344. package/dist/types/src/testing/stub-drawer-plugin.d.ts.map +1 -0
  345. package/dist/types/src/testing/stub-tools-plugin.d.ts +19 -0
  346. package/dist/types/src/testing/stub-tools-plugin.d.ts.map +1 -0
  347. package/dist/types/src/translations.d.ts +13 -4
  348. package/dist/types/src/translations.d.ts.map +1 -1
  349. package/dist/types/src/types/Debug.d.ts +2 -2
  350. package/dist/types/src/types/Debug.d.ts.map +1 -1
  351. package/dist/types/src/types/DebugNodes.d.ts +13 -1
  352. package/dist/types/src/types/DebugNodes.d.ts.map +1 -1
  353. package/dist/types/src/types/DebugOperation.d.ts +119 -0
  354. package/dist/types/src/types/DebugOperation.d.ts.map +1 -1
  355. package/dist/types/src/types/DebugSurface.d.ts +7 -0
  356. package/dist/types/src/types/DebugSurface.d.ts.map +1 -1
  357. package/dist/types/src/types/index.d.ts +6 -6
  358. package/dist/types/src/types/index.d.ts.map +1 -1
  359. package/dist/types/tsconfig.tsbuildinfo +1 -1
  360. package/dx.config.ts +3 -2
  361. package/package.json +129 -73
  362. package/scripts/build-template-archive.ts +65 -0
  363. package/src/DebugPlugin.ts +1 -1
  364. package/src/capabilities/DebugSurfaces.tsx +85 -71
  365. package/src/capabilities/app-graph-builder.test.ts +45 -0
  366. package/src/capabilities/app-graph-builder.ts +83 -46
  367. package/src/capabilities/gen/browser.ts +85 -0
  368. package/src/capabilities/gen/node.ts +15 -8
  369. package/src/capabilities/gen/tauri.ts +85 -0
  370. package/src/capabilities/gen/workerd.ts +11 -4
  371. package/src/capabilities/graph-retention.ts +23 -0
  372. package/src/capabilities/index.ts +18 -10
  373. package/src/capabilities/log-recording.ts +20 -1
  374. package/src/capabilities/operation-handler.ts +9 -0
  375. package/src/capabilities/react-surface.ts +33 -29
  376. package/src/capabilities/settings.ts +2 -2
  377. package/src/capabilities/space-templates.ts +25 -0
  378. package/src/capabilities/stats-panel.ts +1 -1
  379. package/src/components/SchemaTable/SchemaTable.tsx +44 -10
  380. package/src/components/SchemaTable/index.ts +1 -1
  381. package/src/components/SpaceGenerator/ObjectGenerator.tsx +22 -2
  382. package/src/components/SpaceGenerator/index.ts +2 -2
  383. package/src/components/SpaceGenerator/presets.ts +4 -4
  384. package/src/components/index.ts +2 -2
  385. package/src/containers/DebugConsole/DebugConsole.stories.tsx +29 -0
  386. package/src/containers/DebugConsole/DebugConsole.tsx +94 -0
  387. package/src/containers/DebugConsole/cli.ts +296 -0
  388. package/src/containers/DebugConsole/index.ts +5 -0
  389. package/src/containers/DebugObjectPanel/DebugObjectPanel.tsx +44 -44
  390. package/src/containers/DebugObjectPanel/index.ts +1 -1
  391. package/src/containers/DebugPanel/DebugPanel.stories.tsx +118 -0
  392. package/src/containers/DebugPanel/DebugPanel.tsx +72 -0
  393. package/src/containers/DebugPanel/DebugPanelContext.ts +33 -0
  394. package/src/containers/DebugPanel/DebugPanelHeader.tsx +54 -0
  395. package/src/containers/DebugPanel/DebugPanelMain.tsx +116 -0
  396. package/src/containers/DebugPanel/DebugPanelSidebar.tsx +123 -0
  397. package/src/containers/DebugPanel/index.ts +10 -0
  398. package/src/containers/DebugPanel/view-state.ts +60 -0
  399. package/src/containers/DebugPanelDrawer/DebugPanelDrawer.stories.tsx +92 -0
  400. package/src/containers/DebugPanelDrawer/DebugPanelDrawer.tsx +72 -0
  401. package/src/containers/DebugPanelDrawer/index.ts +5 -0
  402. package/src/containers/DebugPanelStatus/DebugPanelStatus.stories.tsx +119 -0
  403. package/src/containers/DebugPanelStatus/DebugPanelStatus.tsx +167 -0
  404. package/src/containers/DebugPanelStatus/index.ts +5 -0
  405. package/src/containers/DebugPortSettings/DebugPortSettings.stories.tsx +2 -2
  406. package/src/containers/DebugPortSettings/DebugPortSettings.tsx +33 -40
  407. package/src/containers/DebugPortSettings/index.ts +1 -1
  408. package/src/containers/DebugSettings/DebugSettings.stories.tsx +1 -1
  409. package/src/containers/DebugSettings/DebugSettings.tsx +71 -64
  410. package/src/containers/DebugSettings/index.ts +1 -1
  411. package/src/containers/DebugSpaceObjectsPanel/DebugSpaceObjectsPanel.tsx +39 -28
  412. package/src/containers/DebugSpaceObjectsPanel/index.ts +1 -1
  413. package/src/containers/DebugStatus/DebugStatus.tsx +10 -10
  414. package/src/containers/DebugStatus/index.ts +1 -1
  415. package/src/containers/LoggerPanel/LoggerPanel.stories.tsx +62 -0
  416. package/src/containers/LoggerPanel/LoggerPanel.tsx +28 -0
  417. package/src/containers/LoggerPanel/index.ts +5 -0
  418. package/src/containers/SpaceGenerator/SpaceGenerator.stories.tsx +8 -8
  419. package/src/containers/SpaceGenerator/SpaceGenerator.tsx +102 -73
  420. package/src/containers/SpaceGenerator/index.ts +1 -1
  421. package/src/containers/StatsPanel/StatsPanel.tsx +32 -31
  422. package/src/containers/StatsPanel/index.ts +1 -1
  423. package/src/containers/Wireframe/Wireframe.tsx +8 -7
  424. package/src/containers/Wireframe/index.ts +1 -1
  425. package/src/containers/index.ts +22 -9
  426. package/src/errors.ts +23 -0
  427. package/src/index.ts +2 -2
  428. package/src/meta.ts +1 -1
  429. package/src/operations/DebugOperationHandlerSet.ts +5 -1
  430. package/src/operations/create-space-from-template.ts +57 -0
  431. package/src/operations/errors.ts +8 -0
  432. package/src/operations/index.ts +1 -1
  433. package/src/operations/open-page.ts +51 -0
  434. package/src/operations/snapshot.test.ts +57 -0
  435. package/src/operations/snapshot.ts +243 -0
  436. package/src/operations/undo.test.ts +19 -0
  437. package/src/operations/undo.ts +28 -0
  438. package/src/plugin.tsx +4 -0
  439. package/src/samples/crm/PipelineSpace.test.ts +55 -0
  440. package/src/samples/crm/PipelineSpace.ts +52 -0
  441. package/src/samples/crm/accounts.ts +153 -0
  442. package/src/samples/crm/inbox.ts +158 -0
  443. package/src/samples/crm/pipeline.ts +70 -0
  444. package/src/samples/crm/util.ts +18 -0
  445. package/src/samples/incident/IncidentSpace.test.ts +68 -0
  446. package/src/samples/incident/IncidentSpace.ts +61 -0
  447. package/src/samples/incident/docs.ts +111 -0
  448. package/src/samples/incident/project.ts +61 -0
  449. package/src/samples/incident/tasks.ts +101 -0
  450. package/src/samples/incident/util.ts +24 -0
  451. package/src/samples/index.ts +11 -0
  452. package/src/samples/review/ReviewSpace.test.ts +89 -0
  453. package/src/samples/review/ReviewSpace.ts +47 -0
  454. package/src/samples/review/assets.ts +123 -0
  455. package/src/samples/review/util.ts +10 -0
  456. package/src/samples/review/work.ts +249 -0
  457. package/src/samples/stockfish/StockfishSpace.test.ts +129 -0
  458. package/src/samples/stockfish/StockfishSpace.ts +70 -0
  459. package/src/samples/stockfish/docs.ts +65 -0
  460. package/src/samples/stockfish/game.ts +47 -0
  461. package/src/samples/stockfish/project.ts +87 -0
  462. package/src/samples/stockfish/run.test.ts +193 -0
  463. package/src/samples/stockfish/skill.ts +154 -0
  464. package/src/samples/stockfish/tasks.ts +306 -0
  465. package/src/samples/stockfish/util.ts +17 -0
  466. package/src/samples/tidepool/TidepoolSpace.test.ts +61 -0
  467. package/src/samples/tidepool/TidepoolSpace.ts +65 -0
  468. package/src/samples/tidepool/docs.ts +140 -0
  469. package/src/samples/tidepool/project.ts +57 -0
  470. package/src/samples/tidepool/tasks.ts +252 -0
  471. package/src/samples/tidepool/team.ts +87 -0
  472. package/src/samples/tidepool/util.ts +18 -0
  473. package/src/samples/weather/WeatherSpace.test.ts +93 -0
  474. package/src/samples/weather/WeatherSpace.ts +59 -0
  475. package/src/samples/weather/project.ts +76 -0
  476. package/src/samples/weather/skill.ts +45 -0
  477. package/src/samples/weather/tasks.ts +98 -0
  478. package/src/samples/weather/util.ts +21 -0
  479. package/src/samples/worker/WorkerSpace.test.ts +102 -0
  480. package/src/samples/worker/WorkerSpace.ts +56 -0
  481. package/src/samples/worker/project.ts +72 -0
  482. package/src/samples/worker/tasks.ts +119 -0
  483. package/src/samples/worker/util.ts +17 -0
  484. package/src/stories/SpaceTemplates.stories.tsx +105 -0
  485. package/src/testing/index.ts +6 -0
  486. package/src/testing/stub-drawer-plugin.ts +65 -0
  487. package/src/testing/stub-tools-plugin.tsx +95 -0
  488. package/src/translations.ts +15 -6
  489. package/src/types/Debug.ts +2 -2
  490. package/src/types/DebugNodes.ts +21 -1
  491. package/src/types/DebugOperation.ts +206 -0
  492. package/src/types/DebugSurface.ts +7 -0
  493. package/src/types/index.ts +6 -6
  494. package/dist/lib/chunk-LogStatus.mjs +0 -44
  495. package/dist/lib/chunk-LogStatus.mjs.map +0 -1
  496. package/dist/types/src/containers/LogStatus/LogStatus.d.ts +0 -6
  497. package/dist/types/src/containers/LogStatus/LogStatus.d.ts.map +0 -1
  498. package/dist/types/src/containers/LogStatus/index.d.ts +0 -2
  499. package/dist/types/src/containers/LogStatus/index.d.ts.map +0 -1
  500. package/src/containers/LogStatus/LogStatus.tsx +0 -51
  501. package/src/containers/LogStatus/index.ts +0 -5
@@ -2,7 +2,6 @@ import * as Capability from "@dxos/app-framework/Capability";
2
2
  import * as AppCapabilities from "@dxos/app-toolkit/AppCapabilities";
3
3
  import { DebugNodes } from "#types";
4
4
  import { meta } from "#meta";
5
- import { Position } from "@dxos/util";
6
5
  import * as Effect from "effect/Effect";
7
6
  import * as AppGraphBuilder from "@dxos/app-graph/AppGraphBuilder";
8
7
  import * as AppGraphNode from "@dxos/app-graph/AppGraphNode";
@@ -10,37 +9,79 @@ import * as AppNode from "@dxos/app-toolkit/AppNode";
10
9
  import * as AppNodeMatcher from "@dxos/app-toolkit/AppNodeMatcher";
11
10
  import * as GraphPath from "@dxos/app-toolkit/GraphPath";
12
11
  import * as GraphNodeMatcher from "@dxos/graph/GraphNodeMatcher";
12
+ import * as Position from "@dxos/util/Position";
13
13
  //#region src/capabilities/app-graph-builder.ts
14
+ /** The hidden category every developer tool hangs off: a root child the main navtree filters out. */
15
+ var createDebugRootExtension = () => AppGraphBuilder.createExtension({
16
+ id: "debugRoot",
17
+ match: GraphNodeMatcher.whenRoot,
18
+ connector: () => Effect.succeed([AppGraphNode.make({
19
+ id: GraphPath.GroupSegments.debug,
20
+ type: GraphPath.GroupTypes.debug,
21
+ data: null,
22
+ properties: {
23
+ label: ["debug-panel.title", { ns: meta.profile.key }],
24
+ icon: "ph--bug--regular",
25
+ disposition: "hidden",
26
+ draggable: false,
27
+ droppable: false
28
+ }
29
+ })])
30
+ });
31
+ /** The Debug node: the console and log viewer first (what the panel opened on as tabs), then the generator. */
32
+ var createDebugExtension = () => AppGraphBuilder.createExtension({
33
+ id: "debug",
34
+ match: AppNodeMatcher.whenDebugGroup,
35
+ connector: () => Effect.succeed([AppGraphNode.make({
36
+ id: DebugNodes.nodeId(DebugNodes.id),
37
+ data: null,
38
+ type: DebugNodes.id,
39
+ properties: {
40
+ label: ["debug.label", { ns: meta.profile.key }],
41
+ icon: "ph--bug--regular",
42
+ position: 0
43
+ },
44
+ nodes: [
45
+ AppGraphNode.make({
46
+ id: DebugNodes.nodeId(DebugNodes.Console),
47
+ type: DebugNodes.Console,
48
+ data: DebugNodes.Console,
49
+ properties: {
50
+ label: ["console.tab.label", { ns: meta.profile.key }],
51
+ icon: "ph--terminal-window--regular",
52
+ position: 0
53
+ }
54
+ }),
55
+ AppGraphNode.make({
56
+ id: DebugNodes.nodeId(DebugNodes.Logs),
57
+ type: DebugNodes.Logs,
58
+ data: DebugNodes.Logs,
59
+ properties: {
60
+ label: ["logs.tab.label", { ns: meta.profile.key }],
61
+ icon: "ph--list-bullets--regular",
62
+ position: 1
63
+ }
64
+ }),
65
+ AppGraphNode.make({
66
+ id: DebugNodes.nodeId(DebugNodes.SpaceType),
67
+ type: DebugNodes.SpaceType,
68
+ data: DebugNodes.SpaceType,
69
+ properties: {
70
+ label: ["generate-objects.label", { ns: meta.profile.key }],
71
+ icon: "ph--dice-five--regular",
72
+ position: 2
73
+ }
74
+ })
75
+ ]
76
+ })])
77
+ });
14
78
  var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function* () {
15
79
  const extensions = yield* Effect.all([
16
- AppGraphBuilder.createExtension({
17
- id: "debug",
18
- match: AppNodeMatcher.whenNavTreeGroup(GraphPath.GroupTypes.system),
19
- connector: (space) => Effect.succeed([AppGraphNode.make({
20
- id: DebugNodes.nodeId(DebugNodes.id),
21
- data: null,
22
- type: DebugNodes.id,
23
- properties: {
24
- label: ["debug.label", { ns: meta.profile.key }],
25
- icon: "ph--bug--regular",
26
- position: Position.last
27
- },
28
- nodes: [AppGraphNode.make({
29
- id: DebugNodes.nodeId(DebugNodes.SpaceType),
30
- type: DebugNodes.SpaceType,
31
- data: {
32
- space,
33
- type: DebugNodes.SpaceType
34
- },
35
- properties: {
36
- label: ["generate-objects.label", { ns: meta.profile.key }],
37
- icon: "ph--dice-five--regular"
38
- }
39
- })]
40
- })])
41
- }),
80
+ createDebugRootExtension(),
81
+ createDebugExtension(),
42
82
  AppGraphBuilder.createExtension({
43
83
  id: "debugObject",
84
+ relation: AppNode.companion,
44
85
  match: AppNodeMatcher.whenEchoObject,
45
86
  connector: () => Effect.succeed([AppNode.makeCompanion({
46
87
  variant: "debug",
@@ -52,30 +93,21 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
52
93
  }),
53
94
  AppGraphBuilder.createExtension({
54
95
  id: "spaceObjects",
96
+ relation: AppNode.companion,
55
97
  match: GraphNodeMatcher.whenRoot,
56
98
  connector: () => Effect.succeed([AppNode.makeDeckCompanion({
57
99
  id: "spaceObjects",
58
100
  label: ["space-objects.label", { ns: meta.profile.key }],
59
101
  icon: "ph--cube--regular",
60
102
  data: "space-objects",
61
- position: Position.last
62
- })])
63
- }),
64
- AppGraphBuilder.createExtension({
65
- id: "logs",
66
- match: GraphNodeMatcher.whenRoot,
67
- connector: () => Effect.succeed([AppNode.makeDeckCompanion({
68
- id: "logs",
69
- label: ["logs.label", { ns: meta.profile.key }],
70
- icon: "ph--list-magnifying-glass--regular",
71
- data: "logs",
72
- position: Position.last
103
+ position: Position.last,
104
+ mount: "open"
73
105
  })])
74
106
  })
75
107
  ]);
76
108
  return Capability.contribute(AppCapabilities.AppGraphBuilder, extensions);
77
109
  }));
78
110
  //#endregion
79
- export { app_graph_builder_default as default };
111
+ export { createDebugExtension, createDebugRootExtension, app_graph_builder_default as default };
80
112
 
81
113
  //# sourceMappingURL=chunk-app-graph-builder.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-app-graph-builder.mjs","names":[],"sources":["../../src/capabilities/app-graph-builder.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport * as Capability from '@dxos/app-framework/Capability';\nimport * as AppGraphBuilder from '@dxos/app-graph/AppGraphBuilder';\nimport * as AppGraphNode from '@dxos/app-graph/AppGraphNode';\nimport * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';\nimport * as AppNode from '@dxos/app-toolkit/AppNode';\nimport * as AppNodeMatcher from '@dxos/app-toolkit/AppNodeMatcher';\nimport * as GraphPath from '@dxos/app-toolkit/GraphPath';\nimport * as GraphNodeMatcher from '@dxos/graph/GraphNodeMatcher';\nimport { type Space } from '@dxos/react-client/echo';\nimport { Position } from '@dxos/util';\n\nimport { meta } from '#meta';\nimport { DebugNodes } from '#types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const extensions = yield* Effect.all([\n // Top-level Debug node (sibling of DevTools under SYSTEM); only present when a space is active.\n AppGraphBuilder.createExtension({\n id: 'debug',\n match: AppNodeMatcher.whenNavTreeGroup(GraphPath.GroupTypes.system),\n connector: (space: Space) =>\n Effect.succeed([\n AppGraphNode.make({\n id: DebugNodes.nodeId(DebugNodes.id),\n data: null,\n type: DebugNodes.id,\n properties: {\n label: ['debug.label', { ns: meta.profile.key }],\n icon: 'ph--bug--regular',\n position: Position.last,\n },\n nodes: [\n AppGraphNode.make({\n id: DebugNodes.nodeId(DebugNodes.SpaceType),\n type: DebugNodes.SpaceType,\n data: { space, type: DebugNodes.SpaceType },\n properties: {\n label: ['generate-objects.label', { ns: meta.profile.key }],\n icon: 'ph--dice-five--regular',\n },\n }),\n ],\n }),\n ]),\n }),\n\n // Debug object companion.\n AppGraphBuilder.createExtension({\n id: 'debugObject',\n match: AppNodeMatcher.whenEchoObject,\n connector: () =>\n Effect.succeed([\n AppNode.makeCompanion({\n variant: 'debug',\n label: ['debug.label', { ns: meta.profile.key }],\n icon: 'ph--bug--regular',\n data: 'debug',\n position: Position.last,\n }),\n ]),\n }),\n\n // Object explorer deck companion.\n AppGraphBuilder.createExtension({\n id: 'spaceObjects',\n match: GraphNodeMatcher.whenRoot,\n connector: () =>\n Effect.succeed([\n AppNode.makeDeckCompanion({\n id: 'spaceObjects',\n label: ['space-objects.label', { ns: meta.profile.key }],\n icon: 'ph--cube--regular',\n data: 'space-objects' as const,\n position: Position.last,\n }),\n ]),\n }),\n\n // Log panel deck companion.\n AppGraphBuilder.createExtension({\n id: 'logs',\n match: GraphNodeMatcher.whenRoot,\n connector: () =>\n Effect.succeed([\n AppNode.makeDeckCompanion({\n id: 'logs',\n label: ['logs.label', { ns: meta.profile.key }],\n icon: 'ph--list-magnifying-glass--regular',\n data: 'logs' as const,\n position: Position.last,\n }),\n ]),\n }),\n ]);\n\n return Capability.contribute(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],"mappings":";;;;;;;;;;;;;AAoBA,IAAA,4BAAe,WAAW,WACxB,OAAO,WAAW,aAAa;CAC7B,MAAM,aAAa,OAAO,OAAO,IAAI;EAEnC,gBAAgB,gBAAgB;GAC9B,IAAI;GACJ,OAAO,eAAe,iBAAiB,UAAU,WAAW,MAAM;GAClE,YAAY,UACV,OAAO,QAAQ,CACb,aAAa,KAAK;IAChB,IAAI,WAAW,OAAO,WAAW,EAAE;IACnC,MAAM;IACN,MAAM,WAAW;IACjB,YAAY;KACV,OAAO,CAAC,eAAe,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;KAC/C,MAAM;KACN,UAAU,SAAS;IACrB;IACA,OAAO,CACL,aAAa,KAAK;KAChB,IAAI,WAAW,OAAO,WAAW,SAAS;KAC1C,MAAM,WAAW;KACjB,MAAM;MAAE;MAAO,MAAM,WAAW;KAAU;KAC1C,YAAY;MACV,OAAO,CAAC,0BAA0B,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;MAC1D,MAAM;KACR;IACF,CAAC,CACH;GACF,CAAC,CACH,CAAC;EACL,CAAC;EAGD,gBAAgB,gBAAgB;GAC9B,IAAI;GACJ,OAAO,eAAe;GACtB,iBACE,OAAO,QAAQ,CACb,QAAQ,cAAc;IACpB,SAAS;IACT,OAAO,CAAC,eAAe,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;IAC/C,MAAM;IACN,MAAM;IACN,UAAU,SAAS;GACrB,CAAC,CACH,CAAC;EACL,CAAC;EAGD,gBAAgB,gBAAgB;GAC9B,IAAI;GACJ,OAAO,iBAAiB;GACxB,iBACE,OAAO,QAAQ,CACb,QAAQ,kBAAkB;IACxB,IAAI;IACJ,OAAO,CAAC,uBAAuB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;IACvD,MAAM;IACN,MAAM;IACN,UAAU,SAAS;GACrB,CAAC,CACH,CAAC;EACL,CAAC;EAGD,gBAAgB,gBAAgB;GAC9B,IAAI;GACJ,OAAO,iBAAiB;GACxB,iBACE,OAAO,QAAQ,CACb,QAAQ,kBAAkB;IACxB,IAAI;IACJ,OAAO,CAAC,cAAc,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;IAC9C,MAAM;IACN,MAAM;IACN,UAAU,SAAS;GACrB,CAAC,CACH,CAAC;EACL,CAAC;CACH,CAAC;CAED,OAAO,WAAW,WAAW,gBAAgB,iBAAiB,UAAU;AAC1E,CAAC,CACH"}
1
+ {"version":3,"file":"chunk-app-graph-builder.mjs","names":[],"sources":["../../src/capabilities/app-graph-builder.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport * as Capability from '@dxos/app-framework/Capability';\nimport * as AppGraphBuilder from '@dxos/app-graph/AppGraphBuilder';\nimport * as AppGraphNode from '@dxos/app-graph/AppGraphNode';\nimport * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';\nimport * as AppNode from '@dxos/app-toolkit/AppNode';\nimport * as AppNodeMatcher from '@dxos/app-toolkit/AppNodeMatcher';\nimport * as GraphPath from '@dxos/app-toolkit/GraphPath';\nimport * as GraphNodeMatcher from '@dxos/graph/GraphNodeMatcher';\nimport * as Position from '@dxos/util/Position';\n\nimport { meta } from '#meta';\nimport { DebugNodes } from '#types';\n\n/** The hidden category every developer tool hangs off: a root child the main navtree filters out. */\nexport const createDebugRootExtension = () =>\n AppGraphBuilder.createExtension({\n id: 'debugRoot',\n match: GraphNodeMatcher.whenRoot,\n connector: () =>\n Effect.succeed([\n AppGraphNode.make({\n id: GraphPath.GroupSegments.debug,\n type: GraphPath.GroupTypes.debug,\n data: null,\n properties: {\n label: ['debug-panel.title', { ns: meta.profile.key }],\n icon: 'ph--bug--regular',\n disposition: 'hidden',\n draggable: false,\n droppable: false,\n },\n }),\n ]),\n });\n\n/** The Debug node: the console and log viewer first (what the panel opened on as tabs), then the generator. */\nexport const createDebugExtension = () =>\n AppGraphBuilder.createExtension({\n id: 'debug',\n match: AppNodeMatcher.whenDebugGroup,\n connector: () =>\n Effect.succeed([\n AppGraphNode.make({\n id: DebugNodes.nodeId(DebugNodes.id),\n data: null,\n type: DebugNodes.id,\n properties: {\n label: ['debug.label', { ns: meta.profile.key }],\n icon: 'ph--bug--regular',\n // Before DevTools (10), whichever plugin registers first: the panel's own pages lead the tree.\n position: 0,\n },\n nodes: [\n AppGraphNode.make({\n id: DebugNodes.nodeId(DebugNodes.Console),\n type: DebugNodes.Console,\n data: DebugNodes.Console,\n properties: {\n label: ['console.tab.label', { ns: meta.profile.key }],\n icon: 'ph--terminal-window--regular',\n // Explicit (not Position.first): -Infinity + 1 collapses back to -Infinity, tying with logs.\n position: 0,\n },\n }),\n AppGraphNode.make({\n id: DebugNodes.nodeId(DebugNodes.Logs),\n type: DebugNodes.Logs,\n data: DebugNodes.Logs,\n properties: {\n label: ['logs.tab.label', { ns: meta.profile.key }],\n icon: 'ph--list-bullets--regular',\n position: 1,\n },\n }),\n AppGraphNode.make({\n id: DebugNodes.nodeId(DebugNodes.SpaceType),\n type: DebugNodes.SpaceType,\n data: DebugNodes.SpaceType,\n properties: {\n label: ['generate-objects.label', { ns: meta.profile.key }],\n icon: 'ph--dice-five--regular',\n position: 2,\n },\n }),\n ],\n }),\n ]),\n });\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const extensions = yield* Effect.all([\n // The hidden root/debug category.\n createDebugRootExtension(),\n\n // The Debug node, under the debug category: the panel's own pages, then the generator.\n createDebugExtension(),\n // Debug object companion.\n AppGraphBuilder.createExtension({\n id: 'debugObject',\n relation: AppNode.companion,\n match: AppNodeMatcher.whenEchoObject,\n connector: () =>\n Effect.succeed([\n AppNode.makeCompanion({\n variant: 'debug',\n label: ['debug.label', { ns: meta.profile.key }],\n icon: 'ph--bug--regular',\n data: 'debug',\n position: Position.last,\n }),\n ]),\n }),\n\n // Object explorer deck companion.\n AppGraphBuilder.createExtension({\n id: 'spaceObjects',\n relation: AppNode.companion,\n match: GraphNodeMatcher.whenRoot,\n connector: () =>\n Effect.succeed([\n AppNode.makeDeckCompanion({\n id: 'spaceObjects',\n label: ['space-objects.label', { ns: meta.profile.key }],\n icon: 'ph--cube--regular',\n data: 'space-objects' as const,\n position: Position.last,\n mount: 'open',\n }),\n ]),\n }),\n ]);\n\n return Capability.contribute(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],"mappings":";;;;;;;;;;;;;;AAoBA,IAAa,iCACX,gBAAgB,gBAAgB;CAC9B,IAAI;CACJ,OAAO,iBAAiB;CACxB,iBACE,OAAO,QAAQ,CACb,aAAa,KAAK;EAChB,IAAI,UAAU,cAAc;EAC5B,MAAM,UAAU,WAAW;EAC3B,MAAM;EACN,YAAY;GACV,OAAO,CAAC,qBAAqB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;GACrD,MAAM;GACN,aAAa;GACb,WAAW;GACX,WAAW;EACb;CACF,CAAC,CACH,CAAC;AACL,CAAC;;AAGH,IAAa,6BACX,gBAAgB,gBAAgB;CAC9B,IAAI;CACJ,OAAO,eAAe;CACtB,iBACE,OAAO,QAAQ,CACb,aAAa,KAAK;EAChB,IAAI,WAAW,OAAO,WAAW,EAAE;EACnC,MAAM;EACN,MAAM,WAAW;EACjB,YAAY;GACV,OAAO,CAAC,eAAe,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;GAC/C,MAAM;GAEN,UAAU;EACZ;EACA,OAAO;GACL,aAAa,KAAK;IAChB,IAAI,WAAW,OAAO,WAAW,OAAO;IACxC,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,YAAY;KACV,OAAO,CAAC,qBAAqB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;KACrD,MAAM;KAEN,UAAU;IACZ;GACF,CAAC;GACD,aAAa,KAAK;IAChB,IAAI,WAAW,OAAO,WAAW,IAAI;IACrC,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,YAAY;KACV,OAAO,CAAC,kBAAkB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;KAClD,MAAM;KACN,UAAU;IACZ;GACF,CAAC;GACD,aAAa,KAAK;IAChB,IAAI,WAAW,OAAO,WAAW,SAAS;IAC1C,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,YAAY;KACV,OAAO,CAAC,0BAA0B,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;KAC1D,MAAM;KACN,UAAU;IACZ;GACF,CAAC;EACH;CACF,CAAC,CACH,CAAC;AACL,CAAC;AAEH,IAAA,4BAAe,WAAW,WACxB,OAAO,WAAW,aAAa;CAC7B,MAAM,aAAa,OAAO,OAAO,IAAI;EAEnC,yBAAyB;EAGzB,qBAAqB;EAErB,gBAAgB,gBAAgB;GAC9B,IAAI;GACJ,UAAU,QAAQ;GAClB,OAAO,eAAe;GACtB,iBACE,OAAO,QAAQ,CACb,QAAQ,cAAc;IACpB,SAAS;IACT,OAAO,CAAC,eAAe,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;IAC/C,MAAM;IACN,MAAM;IACN,UAAU,SAAS;GACrB,CAAC,CACH,CAAC;EACL,CAAC;EAGD,gBAAgB,gBAAgB;GAC9B,IAAI;GACJ,UAAU,QAAQ;GAClB,OAAO,iBAAiB;GACxB,iBACE,OAAO,QAAQ,CACb,QAAQ,kBAAkB;IACxB,IAAI;IACJ,OAAO,CAAC,uBAAuB,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC;IACvD,MAAM;IACN,MAAM;IACN,UAAU,SAAS;IACnB,OAAO;GACT,CAAC,CACH,CAAC;EACL,CAAC;CACH,CAAC;CAED,OAAO,WAAW,WAAW,gBAAgB,iBAAiB,UAAU;AAC1E,CAAC,CACH"}
@@ -0,0 +1,55 @@
1
+ import { n as SpaceTemplateApplyError, r as SpaceTemplateNotFoundError } from "./chunk-errors.mjs";
2
+ import * as Capability from "@dxos/app-framework/Capability";
3
+ import * as AppCapabilities from "@dxos/app-toolkit/AppCapabilities";
4
+ import { DebugOperation } from "#types";
5
+ import * as ActivationEvents from "@dxos/app-framework/ActivationEvents";
6
+ import * as Plugin from "@dxos/app-framework/Plugin";
7
+ import * as Effect from "effect/Effect";
8
+ import * as Operation from "@dxos/compute/Operation";
9
+ import * as SpaceOperation from "@dxos/plugin-space/SpaceOperation";
10
+ import * as AppSpace from "@dxos/app-toolkit/AppSpace";
11
+ import * as ClientCapabilities from "@dxos/plugin-client/ClientCapabilities";
12
+ //#region src/operations/create-space-from-template.ts
13
+ var summarize = ({ id, label, description }) => ({
14
+ id,
15
+ label,
16
+ description
17
+ });
18
+ var handler = DebugOperation.CreateSpaceFromTemplate.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ id }) {
19
+ yield* Plugin.activate(ActivationEvents.SpaceTemplatesRequested);
20
+ const templates = yield* Capability.getAll(AppCapabilities.SpaceTemplate);
21
+ const available = templates.map(summarize);
22
+ if (!id) return { available };
23
+ const template = templates.find((template) => template.id === id);
24
+ if (!template) return yield* Effect.fail(new SpaceTemplateNotFoundError({ context: {
25
+ id,
26
+ available: available.map(({ id }) => id)
27
+ } }));
28
+ const { space, subject } = yield* Operation.invoke(SpaceOperation.Create, {
29
+ name: template.label,
30
+ icon: template.icon,
31
+ hue: template.hue
32
+ });
33
+ const client = yield* Capability.get(ClientCapabilities.Client);
34
+ AppSpace.setSpaceTemplateId(space, template.id);
35
+ yield* Effect.tryPromise({
36
+ try: () => template.apply({
37
+ client,
38
+ space
39
+ }),
40
+ catch: (cause) => new SpaceTemplateApplyError({
41
+ context: { id: template.id },
42
+ cause
43
+ })
44
+ }).pipe(Effect.tapError(() => Effect.ignore(Operation.invoke(SpaceOperation.Delete, { space }))));
45
+ return {
46
+ applied: summarize(template),
47
+ spaceId: space.id,
48
+ subject,
49
+ available
50
+ };
51
+ })));
52
+ //#endregion
53
+ export { handler as default };
54
+
55
+ //# sourceMappingURL=chunk-create-space-from-template.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-create-space-from-template.mjs","names":[],"sources":["../../src/operations/create-space-from-template.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport * as ActivationEvents from '@dxos/app-framework/ActivationEvents';\nimport * as Capability from '@dxos/app-framework/Capability';\nimport * as Plugin from '@dxos/app-framework/Plugin';\nimport * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';\nimport * as AppSpace from '@dxos/app-toolkit/AppSpace';\nimport * as Operation from '@dxos/compute/Operation';\nimport * as ClientCapabilities from '@dxos/plugin-client/ClientCapabilities';\nimport * as SpaceOperation from '@dxos/plugin-space/SpaceOperation';\n\nimport { DebugOperation } from '#types';\n\nimport { SpaceTemplateApplyError, SpaceTemplateNotFoundError } from '../errors.ts';\n\nconst summarize = ({ id, label, description }: AppCapabilities.SpaceTemplate) => ({ id, label, description });\n\nconst handler: Operation.WithHandler<typeof DebugOperation.CreateSpaceFromTemplate> =\n DebugOperation.CreateSpaceFromTemplate.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ id }) {\n yield* Plugin.activate(ActivationEvents.SpaceTemplatesRequested);\n const templates = yield* Capability.getAll(AppCapabilities.SpaceTemplate);\n const available = templates.map(summarize);\n if (!id) {\n return { available };\n }\n\n const template = templates.find((template) => template.id === id);\n if (!template) {\n return yield* Effect.fail(\n new SpaceTemplateNotFoundError({ context: { id, available: available.map(({ id }) => id) } }),\n );\n }\n\n const { space, subject } = yield* Operation.invoke(SpaceOperation.Create, {\n name: template.label,\n icon: template.icon,\n hue: template.hue,\n });\n const client = yield* Capability.get(ClientCapabilities.Client);\n AppSpace.setSpaceTemplateId(space, template.id);\n yield* Effect.tryPromise({\n try: () => template.apply({ client, space }),\n catch: (cause) => new SpaceTemplateApplyError({ context: { id: template.id }, cause }),\n }).pipe(Effect.tapError(() => Effect.ignore(Operation.invoke(SpaceOperation.Delete, { space }))));\n\n return { applied: summarize(template), spaceId: space.id, subject, available };\n }),\n ),\n );\n\nexport default handler;\n"],"mappings":";;;;;;;;;;;;AAmBA,IAAM,aAAa,EAAE,IAAI,OAAO,mBAAkD;CAAE;CAAI;CAAO;AAAY;AAE3G,IAAM,UACJ,eAAe,wBAAwB,KACrC,UAAU,YACR,OAAO,WAAW,WAAW,EAAE,MAAM;CACnC,OAAO,OAAO,SAAS,iBAAiB,uBAAuB;CAC/D,MAAM,YAAY,OAAO,WAAW,OAAO,gBAAgB,aAAa;CACxE,MAAM,YAAY,UAAU,IAAI,SAAS;CACzC,IAAI,CAAC,IACH,OAAO,EAAE,UAAU;CAGrB,MAAM,WAAW,UAAU,MAAM,aAAa,SAAS,OAAO,EAAE;CAChE,IAAI,CAAC,UACH,OAAO,OAAO,OAAO,KACnB,IAAI,2BAA2B,EAAE,SAAS;EAAE;EAAI,WAAW,UAAU,KAAK,EAAE,SAAS,EAAE;CAAE,EAAE,CAAC,CAC9F;CAGF,MAAM,EAAE,OAAO,YAAY,OAAO,UAAU,OAAO,eAAe,QAAQ;EACxE,MAAM,SAAS;EACf,MAAM,SAAS;EACf,KAAK,SAAS;CAChB,CAAC;CACD,MAAM,SAAS,OAAO,WAAW,IAAI,mBAAmB,MAAM;CAC9D,SAAS,mBAAmB,OAAO,SAAS,EAAE;CAC9C,OAAO,OAAO,WAAW;EACvB,WAAW,SAAS,MAAM;GAAE;GAAQ;EAAM,CAAC;EAC3C,QAAQ,UAAU,IAAI,wBAAwB;GAAE,SAAS,EAAE,IAAI,SAAS,GAAG;GAAG;EAAM,CAAC;CACvF,CAAC,CAAC,CAAC,KAAK,OAAO,eAAe,OAAO,OAAO,UAAU,OAAO,eAAe,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CAEhG,OAAO;EAAE,SAAS,UAAU,QAAQ;EAAG,SAAS,MAAM;EAAI;EAAS;CAAU;AAC/E,CAAC,CACH,CACF"}
@@ -0,0 +1,13 @@
1
+ import { BaseError } from "@dxos/errors";
2
+ //#region src/errors.ts
3
+ /** The requested template id matches nothing contributed; the operation's listing names the valid ids. */
4
+ var SpaceTemplateNotFoundError = class extends BaseError.extend("SpaceTemplateNotFoundError", "No space template is registered under that id.") {};
5
+ BaseError.extend("SpaceNotFoundError", "No space with that id.");
6
+ /** Applying a template failed part-way; the cause carries what the phase actually threw. */
7
+ var SpaceTemplateApplyError = class extends BaseError.extend("SpaceTemplateApplyError", "Failed to apply the space template.") {};
8
+ /** The history tracker has no undoable operation to revert. */
9
+ var NothingToUndoError = class extends BaseError.extend("NothingToUndoError", "Nothing to undo.") {};
10
+ //#endregion
11
+ export { SpaceTemplateApplyError as n, SpaceTemplateNotFoundError as r, NothingToUndoError as t };
12
+
13
+ //# sourceMappingURL=chunk-errors.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-errors.mjs","names":[],"sources":["../../src/errors.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport { BaseError } from '@dxos/errors';\n\n/** The requested template id matches nothing contributed; the operation's listing names the valid ids. */\nexport class SpaceTemplateNotFoundError extends BaseError.extend(\n 'SpaceTemplateNotFoundError',\n 'No space template is registered under that id.',\n) {}\n\n/** The requested space id resolves to no space on this client. */\nexport class SpaceNotFoundError extends BaseError.extend('SpaceNotFoundError', 'No space with that id.') {}\n\n/** Applying a template failed part-way; the cause carries what the phase actually threw. */\nexport class SpaceTemplateApplyError extends BaseError.extend(\n 'SpaceTemplateApplyError',\n 'Failed to apply the space template.',\n) {}\n\n/** The history tracker has no undoable operation to revert. */\nexport class NothingToUndoError extends BaseError.extend('NothingToUndoError', 'Nothing to undo.') {}\n"],"mappings":";;;AAOA,IAAa,6BAAb,cAAgD,UAAU,OACxD,8BACA,gDACF,CAAC,CAAC,CAAC;AAGqC,UAAU,OAAO,sBAAsB,wBAAwB;;AAGvG,IAAa,0BAAb,cAA6C,UAAU,OACrD,2BACA,qCACF,CAAC,CAAC,CAAC;;AAGH,IAAa,qBAAb,cAAwC,UAAU,OAAO,sBAAsB,kBAAkB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import * as Capability from "@dxos/app-framework/Capability";
2
+ import * as AppCapabilities from "@dxos/app-toolkit/AppCapabilities";
3
+ import { DebugNodes } from "#types";
4
+ import * as Effect from "effect/Effect";
5
+ import * as Atom from "effect/reactivity/Atom";
6
+ //#region src/capabilities/graph-retention.ts
7
+ var graph_retention_default = Capability.makeModule(Effect.fnUntraced(function* () {
8
+ const retention = { retained: Atom.make([{ id: DebugNodes.DEBUG_ROOT_ID }]) };
9
+ return Capability.contribute(AppCapabilities.AppGraphRetention, retention);
10
+ }));
11
+ //#endregion
12
+ export { graph_retention_default as default };
13
+
14
+ //# sourceMappingURL=chunk-graph-retention.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-graph-retention.mjs","names":[],"sources":["../../src/capabilities/graph-retention.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Atom from 'effect/reactivity/Atom';\n\nimport * as Capability from '@dxos/app-framework/Capability';\nimport * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';\n\nimport { DebugNodes } from '#types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n // Neither host of the panel — the deck's drawer nor the floating window — owns this subtree.\n // TODO(wittjosiah): Release it when no host is showing it.\n const retention: AppCapabilities.AppGraphRetention = {\n retained: Atom.make([{ id: DebugNodes.DEBUG_ROOT_ID }]),\n };\n\n return Capability.contribute(AppCapabilities.AppGraphRetention, retention);\n }),\n);\n"],"mappings":";;;;;;AAYA,IAAA,0BAAe,WAAW,WACxB,OAAO,WAAW,aAAa;CAG7B,MAAM,YAA+C,EACnD,UAAU,KAAK,KAAK,CAAC,EAAE,IAAI,WAAW,cAAc,CAAC,CAAC,EACxD;CAEA,OAAO,WAAW,WAAW,gBAAgB,mBAAmB,SAAS;AAC3E,CAAC,CACH"}
@@ -1,10 +1,10 @@
1
1
  import * as Capability from "@dxos/app-framework/Capability";
2
2
  import * as MarkdownCapabilities from "@dxos/plugin-markdown/MarkdownCapabilities";
3
3
  import { DebugOperation } from "#types";
4
- import * as Operation from "@dxos/compute/Operation";
5
- import { random } from "@dxos/random";
6
4
  import * as Effect from "effect/Effect";
7
5
  import { log } from "@dxos/log";
6
+ import * as Operation from "@dxos/compute/Operation";
7
+ import { random } from "@dxos/random";
8
8
  import { insertAtCursor } from "@dxos/ui-editor";
9
9
  //#region src/operations/insert-lorem-ipsum.ts
10
10
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-debug/src/operations/insert-lorem-ipsum.ts";
@@ -1,15 +1,43 @@
1
1
  import * as Capability from "@dxos/app-framework/Capability";
2
2
  import * as Effect from "effect/Effect";
3
+ import { log } from "@dxos/log";
3
4
  import { logBuffer } from "@dxos/react-ui-debug/log-buffer";
4
5
  //#region src/capabilities/log-recording.ts
6
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-debug/src/capabilities/log-recording.ts";
5
7
  /**
6
8
  * Start recording into the process-wide log buffer at startup, so the log companion shows what
7
9
  * happened before it was opened. Recording deliberately does not follow the panel's mount: the
8
10
  * entries worth reading are usually the ones from before you went looking.
11
+ *
12
+ * Uncaught errors and unhandled rejections bypass the log pipeline, so they are forwarded into it
13
+ * here: the buffer, and the snapshot operation reading it, are then the one record of what went
14
+ * wrong in the page.
9
15
  */
10
16
  var log_recording_default = Capability.makeModule(Effect.fnUntraced(function* () {
11
17
  logBuffer.start();
12
- yield* Effect.addFinalizer(() => Effect.sync(() => logBuffer.stop()));
18
+ const onError = (event) => log.error("uncaught error", { error: event.error ?? event.message }, {
19
+ "~LogMeta": "~LogMeta",
20
+ F: __dxlog_file,
21
+ L: 25,
22
+ S: this
23
+ });
24
+ const onRejection = (event) => log.error("unhandled rejection", { error: event.reason }, {
25
+ "~LogMeta": "~LogMeta",
26
+ F: __dxlog_file,
27
+ L: 26,
28
+ S: this
29
+ });
30
+ if (typeof window !== "undefined") {
31
+ window.addEventListener("error", onError);
32
+ window.addEventListener("unhandledrejection", onRejection);
33
+ }
34
+ yield* Effect.addFinalizer(() => Effect.sync(() => {
35
+ if (typeof window !== "undefined") {
36
+ window.removeEventListener("error", onError);
37
+ window.removeEventListener("unhandledrejection", onRejection);
38
+ }
39
+ logBuffer.stop();
40
+ }));
13
41
  return [];
14
42
  }));
15
43
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-log-recording.mjs","names":[],"sources":["../../src/capabilities/log-recording.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport * as Capability from '@dxos/app-framework/Capability';\n// UI-free subpath: the root barrel reaches the panel components, which would pull React into the\n// headless barrels this module is carried into.\nimport { logBuffer } from '@dxos/react-ui-debug/log-buffer';\n\n/**\n * Start recording into the process-wide log buffer at startup, so the log companion shows what\n * happened before it was opened. Recording deliberately does not follow the panel's mount: the\n * entries worth reading are usually the ones from before you went looking.\n */\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n logBuffer.start();\n yield* Effect.addFinalizer(() => Effect.sync(() => logBuffer.stop()));\n return [];\n }),\n);\n"],"mappings":";;;;;;;;;AAgBA,IAAA,wBAAe,WAAW,WACxB,OAAO,WAAW,aAAa;CAC7B,UAAU,MAAM;CAChB,OAAO,OAAO,mBAAmB,OAAO,WAAW,UAAU,KAAK,CAAC,CAAC;CACpE,OAAO,CAAC;AACV,CAAC,CACH"}
1
+ {"version":3,"file":"chunk-log-recording.mjs","names":[],"sources":["../../src/capabilities/log-recording.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport * as Capability from '@dxos/app-framework/Capability';\nimport { log } from '@dxos/log';\n// UI-free subpath: the root barrel reaches the panel components, which would pull React into the\n// headless barrels this module is carried into.\nimport { logBuffer } from '@dxos/react-ui-debug/log-buffer';\n\n/**\n * Start recording into the process-wide log buffer at startup, so the log companion shows what\n * happened before it was opened. Recording deliberately does not follow the panel's mount: the\n * entries worth reading are usually the ones from before you went looking.\n *\n * Uncaught errors and unhandled rejections bypass the log pipeline, so they are forwarded into it\n * here: the buffer, and the snapshot operation reading it, are then the one record of what went\n * wrong in the page.\n */\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n logBuffer.start();\n const onError = (event: ErrorEvent) => log.error('uncaught error', { error: event.error ?? event.message });\n const onRejection = (event: PromiseRejectionEvent) => log.error('unhandled rejection', { error: event.reason });\n if (typeof window !== 'undefined') {\n window.addEventListener('error', onError);\n window.addEventListener('unhandledrejection', onRejection);\n }\n yield* Effect.addFinalizer(() =>\n Effect.sync(() => {\n if (typeof window !== 'undefined') {\n window.removeEventListener('error', onError);\n window.removeEventListener('unhandledrejection', onRejection);\n }\n logBuffer.stop();\n }),\n );\n return [];\n }),\n);\n"],"mappings":";;;;;;;;;;;;;;;AAqBA,IAAA,wBAAe,WAAW,WACxB,OAAO,WAAW,aAAa;CAC7B,UAAU,MAAM;CAChB,MAAM,WAAW,UAAsB,IAAI,MAAM,kBAAkB,EAAE,OAAO,MAAM,SAAS,MAAM,QAAQ,GAAA;EAAA,YAAA;EAAA,GAAA;EAAA,GAAA;EAAA,GAAA;CAAA,CAAC;CAC1G,MAAM,eAAe,UAAiC,IAAI,MAAM,uBAAuB,EAAE,OAAO,MAAM,OAAO,GAAA;EAAA,YAAA;EAAA,GAAA;EAAA,GAAA;EAAA,GAAA;CAAA,CAAC;CAC9G,IAAI,OAAO,WAAW,aAAa;EACjC,OAAO,iBAAiB,SAAS,OAAO;EACxC,OAAO,iBAAiB,sBAAsB,WAAW;CAC3D;CACA,OAAO,OAAO,mBACZ,OAAO,WAAW;EAChB,IAAI,OAAO,WAAW,aAAa;GACjC,OAAO,oBAAoB,SAAS,OAAO;GAC3C,OAAO,oBAAoB,sBAAsB,WAAW;EAC9D;EACA,UAAU,KAAK;CACjB,CAAC,CACH;CACA,OAAO,CAAC;AACV,CAAC,CACH"}
@@ -0,0 +1,29 @@
1
+ import { n as debugPanelAspect, t as DEBUG_PANEL_CONTEXT } from "./chunk-view-state.mjs";
2
+ import * as Capability from "@dxos/app-framework/Capability";
3
+ import * as AppCapabilities from "@dxos/app-toolkit/AppCapabilities";
4
+ import { DebugNodes, DebugOperation } from "#types";
5
+ import * as Effect from "effect/Effect";
6
+ import * as Operation from "@dxos/compute/Operation";
7
+ import * as LayoutOperation from "@dxos/app-toolkit/LayoutOperation";
8
+ import * as AppGraph from "@dxos/app-graph/AppGraph";
9
+ import * as AttentionCapabilities from "@dxos/plugin-attention/AttentionCapabilities";
10
+ import { Path } from "@dxos/react-ui-list/util";
11
+ //#region src/operations/open-page.ts
12
+ var handler = DebugOperation.OpenPage.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ nodeId }) {
13
+ const { graph } = yield* Capability.get(AppCapabilities.AppGraph);
14
+ const viewState = yield* Capability.get(AttentionCapabilities.ViewState);
15
+ AppGraph.expandPath(graph, nodeId);
16
+ const segments = nodeId.split("/");
17
+ const ancestors = segments.slice(0, -1).map((_, index) => segments.slice(0, index + 1).join("/")).filter((id) => id.startsWith(DebugNodes.DEBUG_ROOT_ID) && id !== DebugNodes.DEBUG_ROOT_ID);
18
+ const branches = ancestors.map((_, index) => Path.create(DebugNodes.DEBUG_ROOT_ID, DEBUG_PANEL_CONTEXT, ...ancestors.slice(0, index + 1)));
19
+ viewState.update(debugPanelAspect, DEBUG_PANEL_CONTEXT, (prev) => ({
20
+ ...prev,
21
+ nodeId,
22
+ open: [.../* @__PURE__ */ new Set([...prev.open, ...branches])]
23
+ }));
24
+ if ((viewState.get(debugPanelAspect, "debug-panel").mode ?? "docked") === "docked") yield* Operation.invoke(LayoutOperation.UpdateDrawer, { state: "open" });
25
+ })));
26
+ //#endregion
27
+ export { handler as default };
28
+
29
+ //# sourceMappingURL=chunk-open-page.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-open-page.mjs","names":[],"sources":["../../src/operations/open-page.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport * as Capability from '@dxos/app-framework/Capability';\nimport * as AppGraph from '@dxos/app-graph/AppGraph';\nimport * as AppCapabilities from '@dxos/app-toolkit/AppCapabilities';\nimport * as LayoutOperation from '@dxos/app-toolkit/LayoutOperation';\nimport * as Operation from '@dxos/compute/Operation';\nimport * as AttentionCapabilities from '@dxos/plugin-attention/AttentionCapabilities';\nimport { Path } from '@dxos/react-ui-list/util';\n\nimport { DebugNodes, DebugOperation } from '#types';\n\nimport { DEBUG_PANEL_CONTEXT, debugPanelAspect } from '../containers/DebugPanel/view-state.ts';\n\nconst handler: Operation.WithHandler<typeof DebugOperation.OpenPage> = DebugOperation.OpenPage.pipe(\n Operation.withHandler(\n Effect.fnUntraced(function* ({ nodeId }) {\n const { graph } = yield* Capability.get(AppCapabilities.AppGraph);\n const viewState = yield* Capability.get(AttentionCapabilities.ViewState);\n\n // The page's ancestors are built by connectors that run only on expansion.\n AppGraph.expandPath(graph, nodeId);\n\n // Tree paths run root, tree id, then each ancestor's qualified id; open every branch above the page.\n const segments = nodeId.split('/');\n const ancestors = segments\n .slice(0, -1)\n .map((_, index) => segments.slice(0, index + 1).join('/'))\n .filter((id) => id.startsWith(DebugNodes.DEBUG_ROOT_ID) && id !== DebugNodes.DEBUG_ROOT_ID);\n const branches = ancestors.map((_, index) =>\n Path.create(DebugNodes.DEBUG_ROOT_ID, DEBUG_PANEL_CONTEXT, ...ancestors.slice(0, index + 1)),\n );\n viewState.update(debugPanelAspect, DEBUG_PANEL_CONTEXT, (prev) => ({\n ...prev,\n nodeId,\n open: [...new Set([...prev.open, ...branches])],\n }));\n\n // A floating panel is opened by its own status-bar trigger; it shows the page when next opened.\n if ((viewState.get(debugPanelAspect, DEBUG_PANEL_CONTEXT).mode ?? 'docked') === 'docked') {\n yield* Operation.invoke(LayoutOperation.UpdateDrawer, { state: 'open' });\n }\n }),\n ),\n);\n\nexport default handler;\n"],"mappings":";;;;;;;;;;;AAkBA,IAAM,UAAiE,eAAe,SAAS,KAC7F,UAAU,YACR,OAAO,WAAW,WAAW,EAAE,UAAU;CACvC,MAAM,EAAE,UAAU,OAAO,WAAW,IAAI,gBAAgB,QAAQ;CAChE,MAAM,YAAY,OAAO,WAAW,IAAI,sBAAsB,SAAS;CAGvE,SAAS,WAAW,OAAO,MAAM;CAGjC,MAAM,WAAW,OAAO,MAAM,GAAG;CACjC,MAAM,YAAY,SACf,MAAM,GAAG,EAAE,CAAA,CACX,KAAK,GAAG,UAAU,SAAS,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAA,CACxD,QAAQ,OAAO,GAAG,WAAW,WAAW,aAAa,KAAK,OAAO,WAAW,aAAa;CAC5F,MAAM,WAAW,UAAU,KAAK,GAAG,UACjC,KAAK,OAAO,WAAW,eAAe,qBAAqB,GAAG,UAAU,MAAM,GAAG,QAAQ,CAAC,CAAC,CAC7F;CACA,UAAU,OAAO,kBAAkB,sBAAsB,UAAU;EACjE,GAAG;EACH;EACA,MAAM,CAAC,mBAAG,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,GAAG,QAAQ,CAAC,CAAC;CAChD,EAAE;CAGF,KAAK,UAAU,IAAI,kBAAA,aAAqC,CAAC,CAAC,QAAQ,cAAc,UAC9E,OAAO,UAAU,OAAO,gBAAgB,cAAc,EAAE,OAAO,OAAO,CAAC;AAE3E,CAAC,CACH,CACF"}
@@ -4,8 +4,13 @@ import * as Effect from "effect/Effect";
4
4
  import { DebugOperationHandlerSet } from "#operations";
5
5
  //#region src/capabilities/operation-handler.ts
6
6
  var operation_handler_default = Capability.makeModule(Effect.fnUntraced(function* () {
7
+ setupDevtools();
7
8
  return Capability.contribute(Capabilities.OperationHandler, DebugOperationHandlerSet.handlers);
8
9
  }));
10
+ var setupDevtools = () => {
11
+ const composer = globalThis.composer ??= {};
12
+ composer.snapshot = (input = {}) => composer.invoke?.("org.dxos.operation.debug.snapshot", input);
13
+ };
9
14
  //#endregion
10
15
  export { operation_handler_default as default };
11
16
 
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-operation-handler.mjs","names":[],"sources":["../../src/capabilities/operation-handler.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport * as Capabilities from '@dxos/app-framework/Capabilities';\nimport * as Capability from '@dxos/app-framework/Capability';\n\nimport { DebugOperationHandlerSet } from '#operations';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n return Capability.contribute(Capabilities.OperationHandler, DebugOperationHandlerSet.handlers);\n }),\n);\n"],"mappings":";;;;;AAWA,IAAA,4BAAe,WAAW,WACxB,OAAO,WAAW,aAAa;CAC7B,OAAO,WAAW,WAAW,aAAa,kBAAkB,yBAAyB,QAAQ;AAC/F,CAAC,CACH"}
1
+ {"version":3,"file":"chunk-operation-handler.mjs","names":[],"sources":["../../src/capabilities/operation-handler.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport * as Capabilities from '@dxos/app-framework/Capabilities';\nimport * as Capability from '@dxos/app-framework/Capability';\nimport type * as Devtools from '@dxos/app-framework/Devtools';\n\nimport { DebugOperationHandlerSet } from '#operations';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n setupDevtools();\n return Capability.contribute(Capabilities.OperationHandler, DebugOperationHandlerSet.handlers);\n }),\n);\n\n// Console sugar for the snapshot operation (see app-framework/docs/INTROSPECTION.md §3.1).\nconst setupDevtools = () => {\n const composer: Devtools.ComposerDevtools = (globalThis.composer ??= {});\n // `input` passes through, so a caller can scope the error window (`{ since }`).\n composer.snapshot = (input: { since?: number } = {}) => composer.invoke?.('org.dxos.operation.debug.snapshot', input);\n};\n"],"mappings":";;;;;AAYA,IAAA,4BAAe,WAAW,WACxB,OAAO,WAAW,aAAa;CAC7B,cAAc;CACd,OAAO,WAAW,WAAW,aAAa,kBAAkB,yBAAyB,QAAQ;AAC/F,CAAC,CACH;AAGA,IAAM,sBAAsB;CAC1B,MAAM,WAAuC,WAAW,aAAa,CAAC;CAEtE,SAAS,YAAY,QAA4B,CAAC,MAAM,SAAS,SAAS,qCAAqC,KAAK;AACtH"}