@dxos/app-framework 0.8.3-staging.0fa589b → 0.8.4-main.03d5cd7b56

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 (761) hide show
  1. package/.storybook/main.mts +9 -0
  2. package/.storybook/preview.mts +8 -0
  3. package/README.md +0 -8
  4. package/dist/lib/browser/capability-5RRH3WIB.mjs +35 -0
  5. package/dist/lib/browser/capability-5RRH3WIB.mjs.map +7 -0
  6. package/dist/lib/browser/capability-LUKGKUQH.mjs +38 -0
  7. package/dist/lib/browser/capability-LUKGKUQH.mjs.map +7 -0
  8. package/dist/lib/browser/chunk-23D4SJUE.mjs +42 -0
  9. package/dist/lib/browser/chunk-23D4SJUE.mjs.map +7 -0
  10. package/dist/lib/browser/chunk-3JWJXGLK.mjs +79 -0
  11. package/dist/lib/browser/chunk-3JWJXGLK.mjs.map +7 -0
  12. package/dist/lib/browser/chunk-45CHLTBV.mjs +34 -0
  13. package/dist/lib/browser/chunk-45CHLTBV.mjs.map +7 -0
  14. package/dist/lib/browser/chunk-66IXTIVK.mjs +48 -0
  15. package/dist/lib/browser/chunk-66IXTIVK.mjs.map +7 -0
  16. package/dist/lib/browser/chunk-7VZJR2OA.mjs +581 -0
  17. package/dist/lib/browser/chunk-7VZJR2OA.mjs.map +7 -0
  18. package/dist/lib/browser/chunk-CZ4BIAHH.mjs +422 -0
  19. package/dist/lib/browser/chunk-CZ4BIAHH.mjs.map +7 -0
  20. package/dist/lib/browser/chunk-FJ4765WW.mjs +8 -0
  21. package/dist/lib/browser/chunk-FJ4765WW.mjs.map +7 -0
  22. package/dist/lib/browser/chunk-FO3IYSLV.mjs +68 -0
  23. package/dist/lib/browser/chunk-FO3IYSLV.mjs.map +7 -0
  24. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  25. package/dist/lib/browser/chunk-JD3Z5NEF.mjs +469 -0
  26. package/dist/lib/browser/chunk-JD3Z5NEF.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-NBXPP7JR.mjs +1174 -0
  28. package/dist/lib/browser/chunk-NBXPP7JR.mjs.map +7 -0
  29. package/dist/lib/browser/chunk-WBHCSOBW.mjs +80 -0
  30. package/dist/lib/browser/chunk-WBHCSOBW.mjs.map +7 -0
  31. package/dist/lib/browser/chunk-Z55LVAGN.mjs +213 -0
  32. package/dist/lib/browser/chunk-Z55LVAGN.mjs.map +7 -0
  33. package/dist/lib/browser/chunk-ZGJAZSNE.mjs +142 -0
  34. package/dist/lib/browser/chunk-ZGJAZSNE.mjs.map +7 -0
  35. package/dist/lib/browser/cli/index.mjs +76 -0
  36. package/dist/lib/browser/cli/index.mjs.map +7 -0
  37. package/dist/lib/browser/common/activation-events.mjs +24 -0
  38. package/dist/lib/browser/common/capabilities.mjs +46 -0
  39. package/dist/lib/browser/core/activation-event.mjs +20 -0
  40. package/dist/lib/browser/core/capability.mjs +30 -0
  41. package/dist/lib/browser/core/capability.mjs.map +7 -0
  42. package/dist/lib/browser/core/plugin-manager.mjs +19 -0
  43. package/dist/lib/browser/core/plugin-manager.mjs.map +7 -0
  44. package/dist/lib/browser/core/plugin.mjs +37 -0
  45. package/dist/lib/browser/core/plugin.mjs.map +7 -0
  46. package/dist/lib/browser/core/url-loader.mjs +24 -0
  47. package/dist/lib/browser/core/url-loader.mjs.map +7 -0
  48. package/dist/lib/browser/index.mjs +108 -156
  49. package/dist/lib/browser/index.mjs.map +4 -4
  50. package/dist/lib/browser/invoker-capability-K4GHUFXF.mjs +44 -0
  51. package/dist/lib/browser/invoker-capability-K4GHUFXF.mjs.map +7 -0
  52. package/dist/lib/browser/meta.json +1 -1
  53. package/dist/lib/browser/testing/index.mjs +237 -52
  54. package/dist/lib/browser/testing/index.mjs.map +4 -4
  55. package/dist/lib/browser/testing/react.mjs +78 -0
  56. package/dist/lib/browser/testing/react.mjs.map +7 -0
  57. package/dist/lib/browser/ui/index.mjs +48 -0
  58. package/dist/lib/browser/ui/index.mjs.map +7 -0
  59. package/dist/lib/node-esm/capability-FCGZVIEG.mjs +39 -0
  60. package/dist/lib/node-esm/capability-FCGZVIEG.mjs.map +7 -0
  61. package/dist/lib/node-esm/capability-JOIQ2MQE.mjs +36 -0
  62. package/dist/lib/node-esm/capability-JOIQ2MQE.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-37Z53PXZ.mjs +10 -0
  64. package/dist/lib/node-esm/chunk-37Z53PXZ.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-6XW6LET6.mjs +35 -0
  66. package/dist/lib/node-esm/chunk-6XW6LET6.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-D347W3KO.mjs +143 -0
  68. package/dist/lib/node-esm/chunk-D347W3KO.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-DRZKO5UZ.mjs +470 -0
  70. package/dist/lib/node-esm/chunk-DRZKO5UZ.mjs.map +7 -0
  71. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  72. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-HTBJU5FX.mjs +214 -0
  74. package/dist/lib/node-esm/chunk-HTBJU5FX.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-M3HKPRPO.mjs +423 -0
  76. package/dist/lib/node-esm/chunk-M3HKPRPO.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-MUVUQC3G.mjs +1175 -0
  78. package/dist/lib/node-esm/chunk-MUVUQC3G.mjs.map +7 -0
  79. package/dist/lib/node-esm/chunk-SBS2YMPT.mjs +43 -0
  80. package/dist/lib/node-esm/chunk-SBS2YMPT.mjs.map +7 -0
  81. package/dist/lib/node-esm/chunk-SDJ4B2LU.mjs +80 -0
  82. package/dist/lib/node-esm/chunk-SDJ4B2LU.mjs.map +7 -0
  83. package/dist/lib/node-esm/chunk-V24UWT36.mjs +582 -0
  84. package/dist/lib/node-esm/chunk-V24UWT36.mjs.map +7 -0
  85. package/dist/lib/node-esm/chunk-WFSRZKBP.mjs +81 -0
  86. package/dist/lib/node-esm/chunk-WFSRZKBP.mjs.map +7 -0
  87. package/dist/lib/node-esm/chunk-WK7OIQKI.mjs +70 -0
  88. package/dist/lib/node-esm/chunk-WK7OIQKI.mjs.map +7 -0
  89. package/dist/lib/node-esm/chunk-XOCUANHO.mjs +49 -0
  90. package/dist/lib/node-esm/chunk-XOCUANHO.mjs.map +7 -0
  91. package/dist/lib/node-esm/cli/index.mjs +77 -0
  92. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  93. package/dist/lib/node-esm/common/activation-events.mjs +25 -0
  94. package/dist/lib/node-esm/common/activation-events.mjs.map +7 -0
  95. package/dist/lib/node-esm/common/capabilities.mjs +47 -0
  96. package/dist/lib/node-esm/common/capabilities.mjs.map +7 -0
  97. package/dist/lib/node-esm/core/activation-event.mjs +21 -0
  98. package/dist/lib/node-esm/core/activation-event.mjs.map +7 -0
  99. package/dist/lib/node-esm/core/capability.mjs +31 -0
  100. package/dist/lib/node-esm/core/capability.mjs.map +7 -0
  101. package/dist/lib/node-esm/core/plugin-manager.mjs +20 -0
  102. package/dist/lib/node-esm/core/plugin-manager.mjs.map +7 -0
  103. package/dist/lib/node-esm/core/plugin.mjs +38 -0
  104. package/dist/lib/node-esm/core/plugin.mjs.map +7 -0
  105. package/dist/lib/node-esm/core/url-loader.mjs +25 -0
  106. package/dist/lib/node-esm/core/url-loader.mjs.map +7 -0
  107. package/dist/lib/node-esm/index.mjs +108 -156
  108. package/dist/lib/node-esm/index.mjs.map +4 -4
  109. package/dist/lib/node-esm/invoker-capability-XEPW5LMJ.mjs +45 -0
  110. package/dist/lib/node-esm/invoker-capability-XEPW5LMJ.mjs.map +7 -0
  111. package/dist/lib/node-esm/meta.json +1 -1
  112. package/dist/lib/node-esm/testing/index.mjs +237 -52
  113. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  114. package/dist/lib/node-esm/testing/react.mjs +79 -0
  115. package/dist/lib/node-esm/testing/react.mjs.map +7 -0
  116. package/dist/lib/node-esm/ui/index.mjs +49 -0
  117. package/dist/lib/node-esm/ui/index.mjs.map +7 -0
  118. package/dist/plugin/node-esm/index.mjs +893 -0
  119. package/dist/plugin/node-esm/index.mjs.map +7 -0
  120. package/dist/plugin/node-esm/meta.json +1 -0
  121. package/dist/types/src/cli/cli.d.ts +39 -0
  122. package/dist/types/src/cli/cli.d.ts.map +1 -0
  123. package/dist/types/src/cli/index.d.ts +2 -0
  124. package/dist/types/src/cli/index.d.ts.map +1 -0
  125. package/dist/types/src/common/activation-events.d.ts +27 -0
  126. package/dist/types/src/common/activation-events.d.ts.map +1 -0
  127. package/dist/types/src/common/annotations.d.ts +1 -0
  128. package/dist/types/src/common/annotations.d.ts.map +1 -0
  129. package/dist/types/src/common/capabilities.d.ts +110 -121
  130. package/dist/types/src/common/capabilities.d.ts.map +1 -1
  131. package/dist/types/src/common/index.d.ts +4 -8
  132. package/dist/types/src/common/index.d.ts.map +1 -1
  133. package/dist/types/src/common/operations.d.ts +19 -0
  134. package/dist/types/src/common/operations.d.ts.map +1 -0
  135. package/dist/types/src/common/translations.d.ts +8 -8
  136. package/dist/types/src/common/translations.d.ts.map +1 -1
  137. package/dist/types/src/context.d.ts +5 -0
  138. package/dist/types/src/context.d.ts.map +1 -0
  139. package/dist/types/src/core/{events.d.ts → activation-event.d.ts} +11 -11
  140. package/dist/types/src/core/activation-event.d.ts.map +1 -0
  141. package/dist/types/src/core/capability-manager.d.ts +48 -0
  142. package/dist/types/src/core/capability-manager.d.ts.map +1 -0
  143. package/dist/types/src/core/capability-manager.test.d.ts +2 -0
  144. package/dist/types/src/core/capability-manager.test.d.ts.map +1 -0
  145. package/dist/types/src/core/capability.d.ts +156 -0
  146. package/dist/types/src/core/capability.d.ts.map +1 -0
  147. package/dist/types/src/core/edge-registry-plugin-provider.d.ts +30 -0
  148. package/dist/types/src/core/edge-registry-plugin-provider.d.ts.map +1 -0
  149. package/dist/types/src/core/index.d.ts +11 -4
  150. package/dist/types/src/core/index.d.ts.map +1 -1
  151. package/dist/types/src/core/plugin-asset-cache.d.ts +71 -0
  152. package/dist/types/src/core/plugin-asset-cache.d.ts.map +1 -0
  153. package/dist/types/src/core/plugin-manager.d.ts +239 -0
  154. package/dist/types/src/core/plugin-manager.d.ts.map +1 -0
  155. package/dist/types/src/core/plugin-manager.test.d.ts +2 -0
  156. package/dist/types/src/core/plugin-manager.test.d.ts.map +1 -0
  157. package/dist/types/src/core/plugin-manifest.d.ts +101 -0
  158. package/dist/types/src/core/plugin-manifest.d.ts.map +1 -0
  159. package/dist/types/src/core/plugin-manifest.test.d.ts +2 -0
  160. package/dist/types/src/core/plugin-manifest.test.d.ts.map +1 -0
  161. package/dist/types/src/core/plugin.d.ts +208 -37
  162. package/dist/types/src/core/plugin.d.ts.map +1 -1
  163. package/dist/types/src/core/registry.d.ts +101 -0
  164. package/dist/types/src/core/registry.d.ts.map +1 -0
  165. package/dist/types/src/core/url-loader.d.ts +127 -0
  166. package/dist/types/src/core/url-loader.d.ts.map +1 -0
  167. package/dist/types/src/core/url-loader.test.d.ts +2 -0
  168. package/dist/types/src/core/url-loader.test.d.ts.map +1 -0
  169. package/dist/types/src/helpers.d.ts.map +1 -1
  170. package/dist/types/src/index.d.ts +3 -4
  171. package/dist/types/src/index.d.ts.map +1 -1
  172. package/dist/types/src/plugin-operation/OperationPlugin.d.ts +3 -0
  173. package/dist/types/src/plugin-operation/OperationPlugin.d.ts.map +1 -0
  174. package/dist/types/src/plugin-operation/history/capability.d.ts +7 -0
  175. package/dist/types/src/plugin-operation/history/capability.d.ts.map +1 -0
  176. package/dist/types/src/plugin-operation/history/errors.d.ts +32 -0
  177. package/dist/types/src/plugin-operation/history/errors.d.ts.map +1 -0
  178. package/dist/types/src/plugin-operation/history/history-tracker.d.ts +18 -0
  179. package/dist/types/src/plugin-operation/history/history-tracker.d.ts.map +1 -0
  180. package/dist/types/src/plugin-operation/history/history-tracker.test.d.ts +2 -0
  181. package/dist/types/src/plugin-operation/history/history-tracker.test.d.ts.map +1 -0
  182. package/dist/types/src/plugin-operation/history/index.d.ts +6 -0
  183. package/dist/types/src/plugin-operation/history/index.d.ts.map +1 -0
  184. package/dist/types/src/plugin-operation/history/types.d.ts +13 -0
  185. package/dist/types/src/plugin-operation/history/types.d.ts.map +1 -0
  186. package/dist/types/src/plugin-operation/history/undo-mapping.d.ts +101 -0
  187. package/dist/types/src/plugin-operation/history/undo-mapping.d.ts.map +1 -0
  188. package/dist/types/src/plugin-operation/history/undo-registry.d.ts +23 -0
  189. package/dist/types/src/plugin-operation/history/undo-registry.d.ts.map +1 -0
  190. package/dist/types/src/plugin-operation/history/undo-registry.test.d.ts +2 -0
  191. package/dist/types/src/plugin-operation/history/undo-registry.test.d.ts.map +1 -0
  192. package/dist/types/src/plugin-operation/index.d.ts +3 -0
  193. package/dist/types/src/plugin-operation/index.d.ts.map +1 -0
  194. package/dist/types/src/plugin-operation/invoker-capability.d.ts +6 -0
  195. package/dist/types/src/plugin-operation/invoker-capability.d.ts.map +1 -0
  196. package/dist/types/src/plugin-operation/meta.d.ts +3 -0
  197. package/dist/types/src/plugin-operation/meta.d.ts.map +1 -0
  198. package/dist/types/src/plugin-operation/testing.d.ts +59 -0
  199. package/dist/types/src/plugin-operation/testing.d.ts.map +1 -0
  200. package/dist/types/src/plugin-runtime/RuntimePlugin.d.ts +3 -0
  201. package/dist/types/src/plugin-runtime/RuntimePlugin.d.ts.map +1 -0
  202. package/dist/types/src/plugin-runtime/capability.d.ts +6 -0
  203. package/dist/types/src/plugin-runtime/capability.d.ts.map +1 -0
  204. package/dist/types/src/plugin-runtime/index.d.ts +2 -0
  205. package/dist/types/src/plugin-runtime/index.d.ts.map +1 -0
  206. package/dist/types/src/plugin-runtime/meta.d.ts +3 -0
  207. package/dist/types/src/plugin-runtime/meta.d.ts.map +1 -0
  208. package/dist/types/src/testing/harness.d.ts +67 -0
  209. package/dist/types/src/testing/harness.d.ts.map +1 -0
  210. package/dist/types/src/testing/index.d.ts +2 -0
  211. package/dist/types/src/testing/index.d.ts.map +1 -1
  212. package/dist/types/src/testing/react.d.ts +27 -0
  213. package/dist/types/src/testing/react.d.ts.map +1 -0
  214. package/dist/types/src/testing/react.test.d.ts +2 -0
  215. package/dist/types/src/testing/react.test.d.ts.map +1 -0
  216. package/dist/types/src/testing/service.d.ts +8 -0
  217. package/dist/types/src/testing/service.d.ts.map +1 -0
  218. package/dist/types/src/testing/withPluginManager.d.ts +11 -10
  219. package/dist/types/src/testing/withPluginManager.d.ts.map +1 -1
  220. package/dist/types/src/testing/withPluginManager.stories.d.ts +9 -3
  221. package/dist/types/src/testing/withPluginManager.stories.d.ts.map +1 -1
  222. package/dist/types/src/ui/components/App/App.d.ts +9 -0
  223. package/dist/types/src/ui/components/App/App.d.ts.map +1 -0
  224. package/dist/types/src/ui/components/App/App.stories.d.ts +19 -0
  225. package/dist/types/src/ui/components/App/App.stories.d.ts.map +1 -0
  226. package/dist/types/src/ui/components/App/index.d.ts +2 -0
  227. package/dist/types/src/ui/components/App/index.d.ts.map +1 -0
  228. package/dist/types/src/ui/components/Placeholder/Placeholder.d.ts +64 -0
  229. package/dist/types/src/ui/components/Placeholder/Placeholder.d.ts.map +1 -0
  230. package/dist/types/src/ui/components/Placeholder/Placeholder.stories.d.ts +19 -0
  231. package/dist/types/src/ui/components/Placeholder/Placeholder.stories.d.ts.map +1 -0
  232. package/dist/types/src/ui/components/Placeholder/index.d.ts +2 -0
  233. package/dist/types/src/ui/components/Placeholder/index.d.ts.map +1 -0
  234. package/dist/types/src/ui/components/PluginManager/PluginManagerContext.stories.d.ts +13 -0
  235. package/dist/types/src/ui/components/PluginManager/PluginManagerContext.stories.d.ts.map +1 -0
  236. package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts +10 -0
  237. package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts.map +1 -0
  238. package/dist/types/src/ui/components/PluginManager/index.d.ts +2 -0
  239. package/dist/types/src/ui/components/PluginManager/index.d.ts.map +1 -0
  240. package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts +24 -0
  241. package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts.map +1 -0
  242. package/dist/types/src/ui/components/Surface/SurfaceComponent.stories.d.ts +14 -0
  243. package/dist/types/src/ui/components/Surface/SurfaceComponent.stories.d.ts.map +1 -0
  244. package/dist/types/src/ui/components/Surface/SurfaceInfo.d.ts +11 -0
  245. package/dist/types/src/ui/components/Surface/SurfaceInfo.d.ts.map +1 -0
  246. package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts +48 -0
  247. package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts.map +1 -0
  248. package/dist/types/src/ui/components/Surface/context.d.ts +5 -0
  249. package/dist/types/src/ui/components/Surface/context.d.ts.map +1 -0
  250. package/dist/types/src/ui/components/Surface/index.d.ts +36 -0
  251. package/dist/types/src/ui/components/Surface/index.d.ts.map +1 -0
  252. package/dist/types/src/ui/components/Surface/types.d.ts +197 -0
  253. package/dist/types/src/ui/components/Surface/types.d.ts.map +1 -0
  254. package/dist/types/src/ui/components/Surface/types.test.d.ts +2 -0
  255. package/dist/types/src/ui/components/Surface/types.test.d.ts.map +1 -0
  256. package/dist/types/src/ui/components/index.d.ts +5 -0
  257. package/dist/types/src/ui/components/index.d.ts.map +1 -0
  258. package/dist/types/src/ui/hooks/index.d.ts +6 -0
  259. package/dist/types/src/ui/hooks/index.d.ts.map +1 -0
  260. package/dist/types/src/ui/hooks/useApp.d.ts +89 -0
  261. package/dist/types/src/ui/hooks/useApp.d.ts.map +1 -0
  262. package/dist/types/src/ui/hooks/useApp.test.d.ts +2 -0
  263. package/dist/types/src/ui/hooks/useApp.test.d.ts.map +1 -0
  264. package/dist/types/src/ui/hooks/useCapabilities.d.ts +31 -0
  265. package/dist/types/src/ui/hooks/useCapabilities.d.ts.map +1 -0
  266. package/dist/types/src/ui/hooks/useLoading.d.ts +18 -0
  267. package/dist/types/src/ui/hooks/useLoading.d.ts.map +1 -0
  268. package/dist/types/src/ui/hooks/useSettingsState.d.ts +10 -0
  269. package/dist/types/src/ui/hooks/useSettingsState.d.ts.map +1 -0
  270. package/dist/types/src/ui/hooks/useSurface.d.ts +3 -0
  271. package/dist/types/src/ui/hooks/useSurface.d.ts.map +1 -0
  272. package/dist/types/src/ui/index.d.ts +3 -0
  273. package/dist/types/src/ui/index.d.ts.map +1 -0
  274. package/dist/types/src/vite-plugin/boot-loader/BootLoader.stories.d.ts +34 -0
  275. package/dist/types/src/vite-plugin/boot-loader/BootLoader.stories.d.ts.map +1 -0
  276. package/dist/types/src/vite-plugin/boot-loader/index.d.ts +2 -0
  277. package/dist/types/src/vite-plugin/boot-loader/index.d.ts.map +1 -0
  278. package/dist/types/src/vite-plugin/boot-loader/loader.d.ts +51 -0
  279. package/dist/types/src/vite-plugin/boot-loader/loader.d.ts.map +1 -0
  280. package/dist/types/src/vite-plugin/composer/index.d.ts +34 -0
  281. package/dist/types/src/vite-plugin/composer/index.d.ts.map +1 -0
  282. package/dist/types/src/vite-plugin/import-map/index.d.ts +28 -0
  283. package/dist/types/src/vite-plugin/import-map/index.d.ts.map +1 -0
  284. package/dist/types/src/vite-plugin/index.d.ts +5 -0
  285. package/dist/types/src/vite-plugin/index.d.ts.map +1 -0
  286. package/dist/types/src/vite-plugin/manifest.d.ts +41 -0
  287. package/dist/types/src/vite-plugin/manifest.d.ts.map +1 -0
  288. package/dist/types/src/vite-plugin/manifest.test.d.ts +2 -0
  289. package/dist/types/src/vite-plugin/manifest.test.d.ts.map +1 -0
  290. package/dist/types/src/vite-plugin/packages.d.ts +13 -0
  291. package/dist/types/src/vite-plugin/packages.d.ts.map +1 -0
  292. package/dist/types/tsconfig.tsbuildinfo +1 -1
  293. package/moon.yml +37 -0
  294. package/package.json +116 -52
  295. package/src/cli/cli.ts +107 -0
  296. package/src/{playground/layout → cli}/index.ts +1 -1
  297. package/src/common/activation-events.ts +44 -0
  298. package/src/{playground/debug/index.ts → common/annotations.ts} +0 -2
  299. package/src/common/capabilities.ts +169 -108
  300. package/src/common/index.ts +4 -8
  301. package/src/common/operations.ts +35 -0
  302. package/src/common/translations.ts +18 -10
  303. package/src/context.ts +9 -0
  304. package/src/core/{events.ts → activation-event.ts} +10 -7
  305. package/src/core/capability-manager.test.ts +151 -0
  306. package/src/core/capability-manager.ts +192 -0
  307. package/src/core/capability.ts +247 -0
  308. package/src/core/edge-registry-plugin-provider.ts +92 -0
  309. package/src/core/index.ts +11 -4
  310. package/src/core/plugin-asset-cache.ts +60 -0
  311. package/src/core/plugin-manager.test.ts +1671 -0
  312. package/src/core/plugin-manager.ts +1335 -0
  313. package/src/core/plugin-manifest.test.ts +75 -0
  314. package/src/core/plugin-manifest.ts +134 -0
  315. package/src/core/plugin.ts +369 -43
  316. package/src/core/registry.ts +157 -0
  317. package/src/core/url-loader.test.ts +221 -0
  318. package/src/core/url-loader.ts +388 -0
  319. package/src/helpers.test.ts +1 -1
  320. package/src/index.ts +3 -4
  321. package/src/plugin-operation/OperationPlugin.ts +24 -0
  322. package/src/plugin-operation/history/capability.ts +36 -0
  323. package/src/plugin-operation/history/errors.ts +7 -0
  324. package/src/plugin-operation/history/history-tracker.test.ts +374 -0
  325. package/src/plugin-operation/history/history-tracker.ts +128 -0
  326. package/src/plugin-operation/history/index.ts +9 -0
  327. package/src/plugin-operation/history/types.ts +17 -0
  328. package/src/plugin-operation/history/undo-mapping.ts +135 -0
  329. package/src/plugin-operation/history/undo-registry.test.ts +72 -0
  330. package/src/plugin-operation/history/undo-registry.ts +54 -0
  331. package/src/plugin-operation/index.ts +6 -0
  332. package/src/plugin-operation/invoker-capability.ts +55 -0
  333. package/src/plugin-operation/meta.ts +12 -0
  334. package/src/plugin-operation/testing.ts +155 -0
  335. package/src/plugin-runtime/RuntimePlugin.ts +19 -0
  336. package/src/plugin-runtime/capability.ts +53 -0
  337. package/src/plugin-runtime/index.ts +5 -0
  338. package/src/plugin-runtime/meta.ts +12 -0
  339. package/src/testing/harness.ts +229 -0
  340. package/src/testing/index.ts +2 -0
  341. package/src/testing/react.test.tsx +48 -0
  342. package/src/testing/react.tsx +113 -0
  343. package/src/testing/service.ts +52 -0
  344. package/src/testing/withPluginManager.stories.tsx +15 -12
  345. package/src/testing/withPluginManager.tsx +78 -54
  346. package/src/ui/components/App/App.stories.tsx +88 -0
  347. package/src/ui/components/App/App.tsx +81 -0
  348. package/src/{playground/logger → ui/components/App}/index.ts +1 -1
  349. package/src/ui/components/Placeholder/Placeholder.stories.tsx +77 -0
  350. package/src/ui/components/Placeholder/Placeholder.tsx +155 -0
  351. package/src/ui/components/Placeholder/index.ts +5 -0
  352. package/src/ui/components/PluginManager/PluginManagerContext.stories.tsx +185 -0
  353. package/src/{react → ui/components/PluginManager}/PluginManagerProvider.ts +3 -3
  354. package/src/ui/components/PluginManager/index.ts +5 -0
  355. package/src/ui/components/Surface/SurfaceComponent.stories.tsx +144 -0
  356. package/src/ui/components/Surface/SurfaceComponent.tsx +303 -0
  357. package/src/ui/components/Surface/SurfaceInfo.tsx +106 -0
  358. package/src/ui/components/Surface/SurfaceProfilerContext.tsx +207 -0
  359. package/src/ui/components/Surface/context.ts +12 -0
  360. package/src/ui/components/Surface/index.ts +54 -0
  361. package/src/ui/components/Surface/types.test.ts +126 -0
  362. package/src/ui/components/Surface/types.ts +269 -0
  363. package/src/ui/components/index.ts +8 -0
  364. package/src/ui/hooks/index.ts +9 -0
  365. package/src/ui/hooks/useApp.test.tsx +159 -0
  366. package/src/ui/hooks/useApp.tsx +424 -0
  367. package/src/ui/hooks/useCapabilities.ts +67 -0
  368. package/src/ui/hooks/useLoading.tsx +76 -0
  369. package/src/ui/hooks/useSettingsState.ts +26 -0
  370. package/src/ui/hooks/useSurface.ts +13 -0
  371. package/src/ui/index.ts +6 -0
  372. package/src/vite-plugin/boot-loader/BootLoader.stories.tsx +270 -0
  373. package/src/vite-plugin/boot-loader/boot-loader.css +320 -0
  374. package/src/vite-plugin/boot-loader/boot-loader.js +325 -0
  375. package/src/vite-plugin/boot-loader/index.ts +5 -0
  376. package/src/vite-plugin/boot-loader/loader.ts +123 -0
  377. package/src/vite-plugin/composer/index.ts +306 -0
  378. package/src/vite-plugin/import-map/index.ts +527 -0
  379. package/src/vite-plugin/index.ts +10 -0
  380. package/src/vite-plugin/manifest.test.ts +46 -0
  381. package/src/vite-plugin/manifest.ts +57 -0
  382. package/src/vite-plugin/packages.ts +187 -0
  383. package/tsconfig.json +27 -22
  384. package/tsconfig.node.json +2 -4
  385. package/typedoc.json +2 -4
  386. package/vitest.config.ts +8 -3
  387. package/.eslintrc.cjs +0 -9
  388. package/README.yml +0 -5
  389. package/dist/lib/browser/app-graph-builder-BI4VVKSW.mjs +0 -137
  390. package/dist/lib/browser/app-graph-builder-BI4VVKSW.mjs.map +0 -7
  391. package/dist/lib/browser/chunk-DIBVO47Z.mjs +0 -406
  392. package/dist/lib/browser/chunk-DIBVO47Z.mjs.map +0 -7
  393. package/dist/lib/browser/chunk-EHM4UI3V.mjs +0 -1518
  394. package/dist/lib/browser/chunk-EHM4UI3V.mjs.map +0 -7
  395. package/dist/lib/browser/chunk-WWEJRWFX.mjs +0 -32
  396. package/dist/lib/browser/chunk-WWEJRWFX.mjs.map +0 -7
  397. package/dist/lib/browser/intent-dispatcher-XVBOMF2Y.mjs +0 -11
  398. package/dist/lib/browser/intent-resolver-3QMBXLIY.mjs +0 -39
  399. package/dist/lib/browser/intent-resolver-3QMBXLIY.mjs.map +0 -7
  400. package/dist/lib/browser/store-5H7XPJGA.mjs +0 -30
  401. package/dist/lib/browser/store-5H7XPJGA.mjs.map +0 -7
  402. package/dist/lib/browser/worker.mjs +0 -79
  403. package/dist/lib/node/app-graph-builder-H7QVE4MJ.cjs +0 -146
  404. package/dist/lib/node/app-graph-builder-H7QVE4MJ.cjs.map +0 -7
  405. package/dist/lib/node/chunk-G774ASXO.cjs +0 -58
  406. package/dist/lib/node/chunk-G774ASXO.cjs.map +0 -7
  407. package/dist/lib/node/chunk-VSOSVDQ3.cjs +0 -1551
  408. package/dist/lib/node/chunk-VSOSVDQ3.cjs.map +0 -7
  409. package/dist/lib/node/chunk-YGAY3H34.cjs +0 -429
  410. package/dist/lib/node/chunk-YGAY3H34.cjs.map +0 -7
  411. package/dist/lib/node/index.cjs +0 -193
  412. package/dist/lib/node/index.cjs.map +0 -7
  413. package/dist/lib/node/intent-dispatcher-C3SVKJ62.cjs +0 -32
  414. package/dist/lib/node/intent-dispatcher-C3SVKJ62.cjs.map +0 -7
  415. package/dist/lib/node/intent-resolver-IOJDYO34.cjs +0 -46
  416. package/dist/lib/node/intent-resolver-IOJDYO34.cjs.map +0 -7
  417. package/dist/lib/node/meta.json +0 -1
  418. package/dist/lib/node/store-ESF5VR57.cjs +0 -45
  419. package/dist/lib/node/store-ESF5VR57.cjs.map +0 -7
  420. package/dist/lib/node/testing/index.cjs +0 -119
  421. package/dist/lib/node/testing/index.cjs.map +0 -7
  422. package/dist/lib/node/worker.cjs +0 -101
  423. package/dist/lib/node/worker.cjs.map +0 -7
  424. package/dist/lib/node-esm/app-graph-builder-NROP6RPQ.mjs +0 -138
  425. package/dist/lib/node-esm/app-graph-builder-NROP6RPQ.mjs.map +0 -7
  426. package/dist/lib/node-esm/chunk-2J6FVECI.mjs +0 -1520
  427. package/dist/lib/node-esm/chunk-2J6FVECI.mjs.map +0 -7
  428. package/dist/lib/node-esm/chunk-FHNZZWP4.mjs +0 -407
  429. package/dist/lib/node-esm/chunk-FHNZZWP4.mjs.map +0 -7
  430. package/dist/lib/node-esm/chunk-I6BVZMAH.mjs +0 -34
  431. package/dist/lib/node-esm/chunk-I6BVZMAH.mjs.map +0 -7
  432. package/dist/lib/node-esm/intent-dispatcher-7JPGLCQ5.mjs +0 -12
  433. package/dist/lib/node-esm/intent-resolver-VY4X5UHN.mjs +0 -40
  434. package/dist/lib/node-esm/intent-resolver-VY4X5UHN.mjs.map +0 -7
  435. package/dist/lib/node-esm/store-UKD2R2KA.mjs +0 -31
  436. package/dist/lib/node-esm/store-UKD2R2KA.mjs.map +0 -7
  437. package/dist/lib/node-esm/worker.mjs +0 -80
  438. package/dist/types/src/App.d.ts +0 -43
  439. package/dist/types/src/App.d.ts.map +0 -1
  440. package/dist/types/src/common/collaboration.d.ts +0 -19
  441. package/dist/types/src/common/collaboration.d.ts.map +0 -1
  442. package/dist/types/src/common/events.d.ts +0 -52
  443. package/dist/types/src/common/events.d.ts.map +0 -1
  444. package/dist/types/src/common/file.d.ts +0 -14
  445. package/dist/types/src/common/file.d.ts.map +0 -1
  446. package/dist/types/src/common/graph.d.ts +0 -21
  447. package/dist/types/src/common/graph.d.ts.map +0 -1
  448. package/dist/types/src/common/layout.d.ts +0 -281
  449. package/dist/types/src/common/layout.d.ts.map +0 -1
  450. package/dist/types/src/common/surface.d.ts +0 -65
  451. package/dist/types/src/common/surface.d.ts.map +0 -1
  452. package/dist/types/src/core/capabilities.d.ts +0 -114
  453. package/dist/types/src/core/capabilities.d.ts.map +0 -1
  454. package/dist/types/src/core/capabilities.test.d.ts +0 -2
  455. package/dist/types/src/core/capabilities.test.d.ts.map +0 -1
  456. package/dist/types/src/core/events.d.ts.map +0 -1
  457. package/dist/types/src/core/manager.d.ts +0 -122
  458. package/dist/types/src/core/manager.d.ts.map +0 -1
  459. package/dist/types/src/core/manager.test.d.ts +0 -2
  460. package/dist/types/src/core/manager.test.d.ts.map +0 -1
  461. package/dist/types/src/playground/debug/Debug.d.ts +0 -6
  462. package/dist/types/src/playground/debug/Debug.d.ts.map +0 -1
  463. package/dist/types/src/playground/debug/index.d.ts +0 -2
  464. package/dist/types/src/playground/debug/index.d.ts.map +0 -1
  465. package/dist/types/src/playground/debug/plugin.d.ts +0 -2
  466. package/dist/types/src/playground/debug/plugin.d.ts.map +0 -1
  467. package/dist/types/src/playground/generator/Main.d.ts +0 -6
  468. package/dist/types/src/playground/generator/Main.d.ts.map +0 -1
  469. package/dist/types/src/playground/generator/Toolbar.d.ts +0 -6
  470. package/dist/types/src/playground/generator/Toolbar.d.ts.map +0 -1
  471. package/dist/types/src/playground/generator/generator.d.ts +0 -7
  472. package/dist/types/src/playground/generator/generator.d.ts.map +0 -1
  473. package/dist/types/src/playground/generator/index.d.ts +0 -3
  474. package/dist/types/src/playground/generator/index.d.ts.map +0 -1
  475. package/dist/types/src/playground/generator/plugin.d.ts +0 -2
  476. package/dist/types/src/playground/generator/plugin.d.ts.map +0 -1
  477. package/dist/types/src/playground/layout/Layout.d.ts +0 -8
  478. package/dist/types/src/playground/layout/Layout.d.ts.map +0 -1
  479. package/dist/types/src/playground/layout/index.d.ts +0 -2
  480. package/dist/types/src/playground/layout/index.d.ts.map +0 -1
  481. package/dist/types/src/playground/layout/plugin.d.ts +0 -2
  482. package/dist/types/src/playground/layout/plugin.d.ts.map +0 -1
  483. package/dist/types/src/playground/logger/Toolbar.d.ts +0 -6
  484. package/dist/types/src/playground/logger/Toolbar.d.ts.map +0 -1
  485. package/dist/types/src/playground/logger/index.d.ts +0 -2
  486. package/dist/types/src/playground/logger/index.d.ts.map +0 -1
  487. package/dist/types/src/playground/logger/plugin.d.ts +0 -2
  488. package/dist/types/src/playground/logger/plugin.d.ts.map +0 -1
  489. package/dist/types/src/playground/logger/schema.d.ts +0 -13
  490. package/dist/types/src/playground/logger/schema.d.ts.map +0 -1
  491. package/dist/types/src/playground/playground.stories.d.ts +0 -10
  492. package/dist/types/src/playground/playground.stories.d.ts.map +0 -1
  493. package/dist/types/src/plugin-intent/IntentPlugin.d.ts +0 -2
  494. package/dist/types/src/plugin-intent/IntentPlugin.d.ts.map +0 -1
  495. package/dist/types/src/plugin-intent/actions.d.ts +0 -38
  496. package/dist/types/src/plugin-intent/actions.d.ts.map +0 -1
  497. package/dist/types/src/plugin-intent/errors.d.ts +0 -16
  498. package/dist/types/src/plugin-intent/errors.d.ts.map +0 -1
  499. package/dist/types/src/plugin-intent/index.d.ts +0 -5
  500. package/dist/types/src/plugin-intent/index.d.ts.map +0 -1
  501. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts +0 -139
  502. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts.map +0 -1
  503. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts +0 -2
  504. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts.map +0 -1
  505. package/dist/types/src/plugin-intent/intent.d.ts +0 -63
  506. package/dist/types/src/plugin-intent/intent.d.ts.map +0 -1
  507. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts +0 -2
  508. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts.map +0 -1
  509. package/dist/types/src/plugin-settings/actions.d.ts +0 -27
  510. package/dist/types/src/plugin-settings/actions.d.ts.map +0 -1
  511. package/dist/types/src/plugin-settings/app-graph-builder.d.ts +0 -4
  512. package/dist/types/src/plugin-settings/app-graph-builder.d.ts.map +0 -1
  513. package/dist/types/src/plugin-settings/index.d.ts +0 -3
  514. package/dist/types/src/plugin-settings/index.d.ts.map +0 -1
  515. package/dist/types/src/plugin-settings/intent-resolver.d.ts +0 -4
  516. package/dist/types/src/plugin-settings/intent-resolver.d.ts.map +0 -1
  517. package/dist/types/src/plugin-settings/store.d.ts +0 -5
  518. package/dist/types/src/plugin-settings/store.d.ts.map +0 -1
  519. package/dist/types/src/plugin-settings/translations.d.ts +0 -11
  520. package/dist/types/src/plugin-settings/translations.d.ts.map +0 -1
  521. package/dist/types/src/react/ErrorBoundary.d.ts +0 -31
  522. package/dist/types/src/react/ErrorBoundary.d.ts.map +0 -1
  523. package/dist/types/src/react/IntentContext.d.ts +0 -8
  524. package/dist/types/src/react/IntentContext.d.ts.map +0 -1
  525. package/dist/types/src/react/PluginManagerProvider.d.ts +0 -10
  526. package/dist/types/src/react/PluginManagerProvider.d.ts.map +0 -1
  527. package/dist/types/src/react/Surface.d.ts +0 -12
  528. package/dist/types/src/react/Surface.d.ts.map +0 -1
  529. package/dist/types/src/react/Surface.stories.d.ts +0 -16
  530. package/dist/types/src/react/Surface.stories.d.ts.map +0 -1
  531. package/dist/types/src/react/common.d.ts +0 -13
  532. package/dist/types/src/react/common.d.ts.map +0 -1
  533. package/dist/types/src/react/index.d.ts +0 -7
  534. package/dist/types/src/react/index.d.ts.map +0 -1
  535. package/dist/types/src/react/useCapabilities.d.ts +0 -13
  536. package/dist/types/src/react/useCapabilities.d.ts.map +0 -1
  537. package/dist/types/src/react/useIntentResolver.d.ts +0 -3
  538. package/dist/types/src/react/useIntentResolver.d.ts.map +0 -1
  539. package/dist/types/src/worker.d.ts +0 -4
  540. package/dist/types/src/worker.d.ts.map +0 -1
  541. package/project.json +0 -29
  542. package/src/App.tsx +0 -276
  543. package/src/common/collaboration.ts +0 -21
  544. package/src/common/events.ts +0 -77
  545. package/src/common/file.ts +0 -22
  546. package/src/common/graph.ts +0 -30
  547. package/src/common/layout.ts +0 -278
  548. package/src/common/surface.ts +0 -86
  549. package/src/core/capabilities.test.ts +0 -136
  550. package/src/core/capabilities.ts +0 -254
  551. package/src/core/manager.test.ts +0 -516
  552. package/src/core/manager.ts +0 -519
  553. package/src/playground/debug/Debug.tsx +0 -39
  554. package/src/playground/debug/plugin.ts +0 -17
  555. package/src/playground/generator/Main.tsx +0 -71
  556. package/src/playground/generator/Toolbar.tsx +0 -46
  557. package/src/playground/generator/generator.ts +0 -48
  558. package/src/playground/generator/index.ts +0 -6
  559. package/src/playground/generator/plugin.ts +0 -23
  560. package/src/playground/layout/Layout.tsx +0 -33
  561. package/src/playground/layout/plugin.ts +0 -17
  562. package/src/playground/logger/Toolbar.tsx +0 -29
  563. package/src/playground/logger/plugin.ts +0 -36
  564. package/src/playground/logger/schema.ts +0 -12
  565. package/src/playground/playground.stories.tsx +0 -42
  566. package/src/plugin-intent/IntentPlugin.ts +0 -20
  567. package/src/plugin-intent/actions.ts +0 -33
  568. package/src/plugin-intent/errors.ts +0 -39
  569. package/src/plugin-intent/index.ts +0 -8
  570. package/src/plugin-intent/intent-dispatcher.test.ts +0 -279
  571. package/src/plugin-intent/intent-dispatcher.ts +0 -333
  572. package/src/plugin-intent/intent.ts +0 -154
  573. package/src/plugin-settings/SettingsPlugin.ts +0 -35
  574. package/src/plugin-settings/actions.ts +0 -29
  575. package/src/plugin-settings/app-graph-builder.ts +0 -157
  576. package/src/plugin-settings/index.ts +0 -6
  577. package/src/plugin-settings/intent-resolver.ts +0 -34
  578. package/src/plugin-settings/store.ts +0 -33
  579. package/src/plugin-settings/translations.ts +0 -17
  580. package/src/react/ErrorBoundary.tsx +0 -45
  581. package/src/react/IntentContext.tsx +0 -34
  582. package/src/react/Surface.stories.tsx +0 -96
  583. package/src/react/Surface.tsx +0 -77
  584. package/src/react/common.ts +0 -12
  585. package/src/react/index.ts +0 -10
  586. package/src/react/useCapabilities.ts +0 -30
  587. package/src/react/useIntentResolver.ts +0 -22
  588. package/src/worker.ts +0 -11
  589. package/typedoc/.nojekyll +0 -1
  590. package/typedoc/assets/hierarchy.js +0 -1
  591. package/typedoc/assets/highlight.css +0 -106
  592. package/typedoc/assets/icons.js +0 -18
  593. package/typedoc/assets/icons.svg +0 -1
  594. package/typedoc/assets/main.js +0 -60
  595. package/typedoc/assets/navigation.js +0 -1
  596. package/typedoc/assets/search.js +0 -1
  597. package/typedoc/assets/style.css +0 -1640
  598. package/typedoc/classes/CollaborationActions.InsertContent.html +0 -421
  599. package/typedoc/classes/ErrorBoundary.html +0 -125
  600. package/typedoc/classes/IntentAction.ShowUndo.html +0 -227
  601. package/typedoc/classes/IntentAction.Track.html +0 -266
  602. package/typedoc/classes/LayoutAction.AddToast.html +0 -265
  603. package/typedoc/classes/LayoutAction.Close.html +0 -382
  604. package/typedoc/classes/LayoutAction.Expose.html +0 -265
  605. package/typedoc/classes/LayoutAction.Open.html +0 -1123
  606. package/typedoc/classes/LayoutAction.RevertWorkspace.html +0 -343
  607. package/typedoc/classes/LayoutAction.ScrollIntoView.html +0 -460
  608. package/typedoc/classes/LayoutAction.Set.html +0 -460
  609. package/typedoc/classes/LayoutAction.SetLayoutMode.html +0 -499
  610. package/typedoc/classes/LayoutAction.SwitchWorkspace.html +0 -265
  611. package/typedoc/classes/LayoutAction.UpdateComplementary.html +0 -616
  612. package/typedoc/classes/LayoutAction.UpdateDialog.html +0 -1123
  613. package/typedoc/classes/LayoutAction.UpdateLayout.html +0 -461
  614. package/typedoc/classes/LayoutAction.UpdatePopover.html +0 -1435
  615. package/typedoc/classes/LayoutAction.UpdateSidebar.html +0 -616
  616. package/typedoc/classes/Plugin.html +0 -6
  617. package/typedoc/classes/PluginContext.html +0 -38
  618. package/typedoc/classes/PluginManager.html +0 -43
  619. package/typedoc/classes/PluginModule.html +0 -18
  620. package/typedoc/classes/SettingsAction.Open.html +0 -226
  621. package/typedoc/classes/SettingsAction.OpenPluginRegistry.html +0 -265
  622. package/typedoc/functions/Events.createStateEvent.html +0 -2
  623. package/typedoc/functions/IntentPlugin.html +0 -1
  624. package/typedoc/functions/SettingsPlugin.html +0 -1
  625. package/typedoc/functions/allOf.html +0 -2
  626. package/typedoc/functions/chain.html +0 -3
  627. package/typedoc/functions/contributes.html +0 -2
  628. package/typedoc/functions/createDispatcher.html +0 -3
  629. package/typedoc/functions/createIntent.html +0 -6
  630. package/typedoc/functions/createResolver.html +0 -2
  631. package/typedoc/functions/createSurface.html +0 -2
  632. package/typedoc/functions/defineCapability.html +0 -2
  633. package/typedoc/functions/defineEvent.html +0 -2
  634. package/typedoc/functions/defineModule.html +0 -2
  635. package/typedoc/functions/definePlugin.html +0 -2
  636. package/typedoc/functions/eventKey.html +0 -2
  637. package/typedoc/functions/getEvents.html +0 -2
  638. package/typedoc/functions/isAllOf.html +0 -2
  639. package/typedoc/functions/isOneOf.html +0 -2
  640. package/typedoc/functions/isSurfaceAvailable.html +0 -2
  641. package/typedoc/functions/lazy.html +0 -2
  642. package/typedoc/functions/oneOf.html +0 -2
  643. package/typedoc/functions/useApp.html +0 -6
  644. package/typedoc/functions/useAppGraph.html +0 -1
  645. package/typedoc/functions/useCapabilities.html +0 -3
  646. package/typedoc/functions/useCapability.html +0 -4
  647. package/typedoc/functions/useIntentDispatcher.html +0 -1
  648. package/typedoc/functions/useIntentResolver.html +0 -1
  649. package/typedoc/functions/useLayout.html +0 -1
  650. package/typedoc/functions/usePluginManager.html +0 -2
  651. package/typedoc/hierarchy.html +0 -1
  652. package/typedoc/index.html +0 -16
  653. package/typedoc/interfaces/LayoutAction.Toast.html +0 -10
  654. package/typedoc/media/LICENSE +0 -8
  655. package/typedoc/modules/Capabilities.html +0 -1
  656. package/typedoc/modules/CollaborationActions.html +0 -1
  657. package/typedoc/modules/Events.html +0 -1
  658. package/typedoc/modules/IntentAction.html +0 -1
  659. package/typedoc/modules/LayoutAction.html +0 -2
  660. package/typedoc/modules/SettingsAction.html +0 -1
  661. package/typedoc/modules.html +0 -1
  662. package/typedoc/types/ActivationEvent.html +0 -8
  663. package/typedoc/types/ActivationEvents.html +0 -2
  664. package/typedoc/types/AnyCapability.html +0 -1
  665. package/typedoc/types/AnyIntent.html +0 -1
  666. package/typedoc/types/AnyIntentChain.html +0 -1
  667. package/typedoc/types/AnyIntentEffectResult.html +0 -1
  668. package/typedoc/types/AnyIntentResolver.html +0 -1
  669. package/typedoc/types/AnyIntentResult.html +0 -1
  670. package/typedoc/types/Capabilities.FileUploader.html +0 -1
  671. package/typedoc/types/Capabilities.IntentResolver.html +0 -1
  672. package/typedoc/types/Capabilities.Layout.html +0 -1
  673. package/typedoc/types/Capabilities.Metadata.html +0 -1
  674. package/typedoc/types/Capabilities.ReactContext.html +0 -1
  675. package/typedoc/types/Capabilities.ReactRoot.html +0 -1
  676. package/typedoc/types/Capabilities.ReactSurface.html +0 -1
  677. package/typedoc/types/Capabilities.Settings.html +0 -4
  678. package/typedoc/types/Capability.html +0 -9
  679. package/typedoc/types/CreateAppOptions.html +0 -10
  680. package/typedoc/types/FileInfo.html +0 -1
  681. package/typedoc/types/Intent.html +0 -10
  682. package/typedoc/types/IntentChain.html +0 -6
  683. package/typedoc/types/IntentContext.html +0 -5
  684. package/typedoc/types/IntentData.html +0 -1
  685. package/typedoc/types/IntentDispatcher.html +0 -2
  686. package/typedoc/types/IntentDispatcherResult.html +0 -2
  687. package/typedoc/types/IntentEffectDefinition.html +0 -2
  688. package/typedoc/types/IntentEffectResult.html +0 -15
  689. package/typedoc/types/IntentParams.html +0 -3
  690. package/typedoc/types/IntentResolver.html +0 -2
  691. package/typedoc/types/IntentResultData.html +0 -1
  692. package/typedoc/types/IntentSchema.html +0 -1
  693. package/typedoc/types/IntentUndo.html +0 -2
  694. package/typedoc/types/InterfaceDef.html +0 -4
  695. package/typedoc/types/Label.html +0 -1
  696. package/typedoc/types/NodeSerializer.html +0 -8
  697. package/typedoc/types/PluginManagerOptions.html +0 -6
  698. package/typedoc/types/PluginMeta.html +0 -21
  699. package/typedoc/types/PromiseIntentDispatcher.html +0 -2
  700. package/typedoc/types/PromiseIntentUndo.html +0 -2
  701. package/typedoc/types/Resource.html +0 -1
  702. package/typedoc/types/ResourceKey.html +0 -1
  703. package/typedoc/types/ResourceLanguage.html +0 -1
  704. package/typedoc/types/SerializedNode.html +0 -4
  705. package/typedoc/types/SurfaceComponent.html +0 -2
  706. package/typedoc/types/SurfaceDefinition.html +0 -2
  707. package/typedoc/types/SurfaceProps.html +0 -4
  708. package/typedoc/variables/Capabilities.AnchorSort.html +0 -1
  709. package/typedoc/variables/Capabilities.AppGraph.html +0 -1
  710. package/typedoc/variables/Capabilities.AppGraphBuilder.html +0 -1
  711. package/typedoc/variables/Capabilities.AppGraphSerializer.html +0 -1
  712. package/typedoc/variables/Capabilities.ArtifactDefinition.html +0 -1
  713. package/typedoc/variables/Capabilities.FileUploader.html +0 -1
  714. package/typedoc/variables/Capabilities.IntentDispatcher.html +0 -1
  715. package/typedoc/variables/Capabilities.IntentResolver.html +0 -1
  716. package/typedoc/variables/Capabilities.Layout.html +0 -1
  717. package/typedoc/variables/Capabilities.Metadata.html +0 -1
  718. package/typedoc/variables/Capabilities.Null.html +0 -1
  719. package/typedoc/variables/Capabilities.PluginManager.html +0 -1
  720. package/typedoc/variables/Capabilities.ReactContext.html +0 -1
  721. package/typedoc/variables/Capabilities.ReactRoot.html +0 -1
  722. package/typedoc/variables/Capabilities.ReactSurface.html +0 -1
  723. package/typedoc/variables/Capabilities.RxRegistry.html +0 -1
  724. package/typedoc/variables/Capabilities.Settings.html +0 -1
  725. package/typedoc/variables/Capabilities.SettingsStore.html +0 -1
  726. package/typedoc/variables/Capabilities.Tools.html +0 -1
  727. package/typedoc/variables/Capabilities.Translations.html +0 -1
  728. package/typedoc/variables/Events.AppGraphReady.html +0 -2
  729. package/typedoc/variables/Events.DispatcherReady.html +0 -2
  730. package/typedoc/variables/Events.LayoutReady.html +0 -1
  731. package/typedoc/variables/Events.SettingsReady.html +0 -2
  732. package/typedoc/variables/Events.SetupAppGraph.html +0 -2
  733. package/typedoc/variables/Events.SetupArtifactDefinition.html +0 -2
  734. package/typedoc/variables/Events.SetupIntentResolver.html +0 -2
  735. package/typedoc/variables/Events.SetupMetadata.html +0 -2
  736. package/typedoc/variables/Events.SetupReactSurface.html +0 -2
  737. package/typedoc/variables/Events.SetupSettings.html +0 -2
  738. package/typedoc/variables/Events.SetupTranslations.html +0 -2
  739. package/typedoc/variables/Events.Startup.html +0 -2
  740. package/typedoc/variables/FileInfoSchema.html +0 -1
  741. package/typedoc/variables/INTENT_ACTION.html +0 -1
  742. package/typedoc/variables/INTENT_PLUGIN.html +0 -1
  743. package/typedoc/variables/LAYOUT_ACTION.html +0 -1
  744. package/typedoc/variables/LAYOUT_PLUGIN.html +0 -1
  745. package/typedoc/variables/Label.html +0 -1
  746. package/typedoc/variables/LayoutAction.Toast.html +0 -1
  747. package/typedoc/variables/LayoutAction.UPDATE_LAYOUT.html +0 -1
  748. package/typedoc/variables/PluginManagerProvider.html +0 -2
  749. package/typedoc/variables/Resource.html +0 -2
  750. package/typedoc/variables/ResourceKey.html +0 -1
  751. package/typedoc/variables/ResourceLanguage.html +0 -1
  752. package/typedoc/variables/SETTINGS_ACTION.html +0 -1
  753. package/typedoc/variables/SETTINGS_ID.html +0 -1
  754. package/typedoc/variables/SETTINGS_KEY.html +0 -1
  755. package/typedoc/variables/SETTINGS_PLUGIN.html +0 -1
  756. package/typedoc/variables/Surface.html +0 -2
  757. package/typedoc/variables/defaultFileTypes.html +0 -1
  758. /package/dist/lib/browser/{intent-dispatcher-XVBOMF2Y.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  759. /package/dist/lib/browser/{worker.mjs.map → common/activation-events.mjs.map} +0 -0
  760. /package/dist/lib/{node-esm/intent-dispatcher-7JPGLCQ5.mjs.map → browser/common/capabilities.mjs.map} +0 -0
  761. /package/dist/lib/{node-esm/worker.mjs.map → browser/core/activation-event.mjs.map} +0 -0
@@ -0,0 +1,142 @@
1
+ import {
2
+ UndoOperation
3
+ } from "./chunk-23D4SJUE.mjs";
4
+ import {
5
+ __export
6
+ } from "./chunk-J5LGTIGS.mjs";
7
+
8
+ // src/plugin-operation/history/errors.ts
9
+ import { BaseError } from "@dxos/errors";
10
+ var EmptyHistoryError = class extends BaseError.extend("EmptyHistoryError", "Cannot undo: history is empty.") {
11
+ };
12
+
13
+ // src/plugin-operation/history/undo-mapping.ts
14
+ var undo_mapping_exports = {};
15
+ __export(undo_mapping_exports, {
16
+ make: () => make,
17
+ resolveMessage: () => resolveMessage
18
+ });
19
+ var make = (props) => props;
20
+ var resolveMessage = (message, input, output) => {
21
+ if (message === void 0) {
22
+ return void 0;
23
+ }
24
+ if (typeof message === "function") {
25
+ return message(input, output);
26
+ }
27
+ return message;
28
+ };
29
+
30
+ // src/plugin-operation/history/undo-registry.ts
31
+ var undo_registry_exports = {};
32
+ __export(undo_registry_exports, {
33
+ make: () => make2
34
+ });
35
+ var make2 = (getMappings) => {
36
+ const lookup = (operation) => {
37
+ const mappings = getMappings();
38
+ const mapping = mappings.find((m) => m.operation.meta.key === operation.meta.key);
39
+ if (!mapping) {
40
+ return void 0;
41
+ }
42
+ return {
43
+ inverse: mapping.inverse,
44
+ deriveContext: mapping.deriveContext,
45
+ message: mapping.message
46
+ };
47
+ };
48
+ return {
49
+ lookup
50
+ };
51
+ };
52
+
53
+ // src/plugin-operation/history/history-tracker.ts
54
+ var history_tracker_exports = {};
55
+ __export(history_tracker_exports, {
56
+ make: () => make3
57
+ });
58
+ import * as Effect from "effect/Effect";
59
+ import * as Stream from "effect/Stream";
60
+ import { runAndForwardErrors } from "@dxos/effect";
61
+ import { log } from "@dxos/log";
62
+ var __dxlog_file = "/__w/dxos/dxos/packages/sdk/app-framework/src/plugin-operation/history/history-tracker.ts";
63
+ var HISTORY_LIMIT = 100;
64
+ var make3 = (invoker, undoRegistry) => {
65
+ const history = [];
66
+ const handleInvocation = (event) => {
67
+ const mapping = undoRegistry.lookup(event.operation);
68
+ if (!mapping) {
69
+ return;
70
+ }
71
+ const inverseInput = mapping.deriveContext(event.input, event.output);
72
+ if (inverseInput === void 0) {
73
+ log("operation not undoable", {
74
+ key: event.operation.meta.key
75
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 29, S: void 0 });
76
+ return;
77
+ }
78
+ const entry = {
79
+ operation: event.operation,
80
+ input: event.input,
81
+ output: event.output,
82
+ inverse: mapping.inverse,
83
+ inverseInput,
84
+ timestamp: event.timestamp
85
+ };
86
+ history.push(entry);
87
+ log("history entry added", {
88
+ key: event.operation.meta.key,
89
+ historyLength: history.length
90
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 43, S: void 0 });
91
+ if (history.length > HISTORY_LIMIT) {
92
+ history.splice(0, history.length - HISTORY_LIMIT);
93
+ }
94
+ const resolvedMessage = resolveMessage(mapping.message, event.input, event.output);
95
+ Effect.runFork(invoker.invoke(UndoOperation.ShowUndo, {
96
+ message: resolvedMessage
97
+ }));
98
+ };
99
+ Effect.runFork(Stream.fromPubSub(invoker.invocations).pipe(Stream.runForEach((event) => Effect.sync(() => handleInvocation(event)))));
100
+ const undo = () => {
101
+ return Effect.gen(function* () {
102
+ const entry = history.pop();
103
+ if (!entry) {
104
+ return yield* Effect.fail(new EmptyHistoryError());
105
+ }
106
+ log("undoing operation", {
107
+ key: entry.operation.meta.key,
108
+ inverseKey: entry.inverse.meta.key
109
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 65, S: this });
110
+ yield* invoker._invokeCore(entry.inverse, entry.inverseInput);
111
+ log("undo completed", {
112
+ key: entry.operation.meta.key
113
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 71, S: this });
114
+ });
115
+ };
116
+ const undoPromise = async () => {
117
+ return runAndForwardErrors(undo()).then(() => ({})).catch((error) => {
118
+ log.catch(error, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 78, S: void 0 });
119
+ return {
120
+ error
121
+ };
122
+ });
123
+ };
124
+ const canUndo = () => {
125
+ return history.length > 0;
126
+ };
127
+ return {
128
+ undo,
129
+ undoPromise,
130
+ canUndo
131
+ };
132
+ };
133
+
134
+ export {
135
+ EmptyHistoryError,
136
+ undo_mapping_exports,
137
+ make2 as make,
138
+ undo_registry_exports,
139
+ make3 as make2,
140
+ history_tracker_exports
141
+ };
142
+ //# sourceMappingURL=chunk-ZGJAZSNE.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugin-operation/history/errors.ts", "../../../src/plugin-operation/history/undo-mapping.ts", "../../../src/plugin-operation/history/undo-registry.ts", "../../../src/plugin-operation/history/history-tracker.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { BaseError } from '@dxos/errors';\n\nexport class EmptyHistoryError extends BaseError.extend('EmptyHistoryError', 'Cannot undo: history is empty.') {}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport type { Operation } from '@dxos/compute';\n\n/**\n * Label type for translatable text (canonical definition in @dxos/app-toolkit).\n */\ntype Label = string | [string, { ns: string; count?: number; defaultValue?: string }];\n\n/**\n * Extract the input type from an OperationDefinition.\n */\nexport type InputOf<T> = T extends Operation.Definition<infer I, any> ? I : never;\n\n/**\n * Extract the output type from an OperationDefinition.\n */\nexport type OutputOf<T> = T extends Operation.Definition<any, infer O> ? O : never;\n\n/**\n * Message provider for undo toast.\n * Can be a static Label or a function that derives the message from input/output.\n */\nexport type MessageProvider<Op extends Operation.Definition<any, any>> =\n | Label\n | ((input: InputOf<Op>, output: OutputOf<Op>) => Label);\n\n/**\n * Undo mapping that links a forward operation to its inverse.\n * Type parameters ensure deriveContext has correctly typed arguments.\n *\n * @template Op - The forward operation definition type.\n * @template Inv - The inverse operation definition type.\n */\nexport interface UndoMapping<\n Op extends Operation.Definition<any, any> = Operation.Definition<any, any>,\n Inv extends Operation.Definition<any, any> = Operation.Definition<any, any>,\n> {\n /** The forward operation. */\n readonly operation: Op;\n\n /** The inverse operation to invoke for undo. */\n readonly inverse: Inv;\n\n /**\n * Derives the input for the inverse operation from the forward operation's input and output.\n * @param input - The input that was passed to the forward operation.\n * @param output - The output that was returned by the forward operation.\n * @returns The input to pass to the inverse operation, or undefined to indicate the operation is not undoable.\n */\n readonly deriveContext: (input: InputOf<Op>, output: OutputOf<Op>) => InputOf<Inv> | undefined;\n\n /**\n * Optional message to show in the undo toast.\n * Can be a static Label or a function that derives the message from input/output.\n */\n readonly message?: MessageProvider<Op>;\n}\n\n/**\n * Props for creating an UndoMapping.\n */\nexport interface UndoMappingProps<\n Op extends Operation.Definition<any, any>,\n Inv extends Operation.Definition<any, any>,\n> {\n /** The forward operation. */\n operation: Op;\n\n /** The inverse operation to invoke for undo. */\n inverse: Inv;\n\n /**\n * Derives the input for the inverse operation from the forward operation's input and output.\n * Return undefined to indicate the operation is not undoable.\n */\n deriveContext: (input: InputOf<Op>, output: OutputOf<Op>) => InputOf<Inv> | undefined;\n\n /**\n * Optional message to show in the undo toast.\n * Can be a static Label or a function that derives the message from input/output.\n */\n message?: MessageProvider<Op>;\n}\n\n/**\n * Creates a type-safe undo mapping.\n *\n * @example\n * ```ts\n * // Static message\n * const mapping = UndoMapping.make({\n * operation: DeleteThread,\n * inverse: RestoreThread,\n * deriveContext: (input, output) => ({\n * thread: output.thread,\n * anchor: output.anchor,\n * }),\n * message: ['thread deleted label', { ns: '@dxos/plugin-thread' }],\n * });\n *\n * // Dynamic message based on input/output\n * const mapping = UndoMapping.make({\n * operation: RemoveObjects,\n * inverse: RestoreObjects,\n * deriveContext: (_input, output) => output,\n * message: (input, _output) =>\n * input.objects.length === 1\n * ? ['object deleted label', { ns: getTypename(input.objects[0]) }]\n * : ['objects deleted label', { ns: '@dxos/plugin-space' }],\n * });\n * ```\n */\nexport const make = <Op extends Operation.Definition<any, any>, Inv extends Operation.Definition<any, any>>(\n props: UndoMappingProps<Op, Inv>,\n): UndoMapping<Op, Inv> => props;\n\n/**\n * Resolves a message provider to a Label.\n */\nexport const resolveMessage = <Op extends Operation.Definition<any, any>>(\n message: MessageProvider<Op> | undefined,\n input: InputOf<Op>,\n output: OutputOf<Op>,\n): Label | undefined => {\n if (message === undefined) {\n return undefined;\n }\n if (typeof message === 'function') {\n return message(input, output);\n }\n return message;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport type { Operation } from '@dxos/compute';\n\nimport type * as UndoMapping from './undo-mapping';\n\n//\n// Public Interface\n//\n\n/**\n * Lookup result from UndoRegistry.\n */\nexport type UndoMappingResult = {\n inverse: Operation.Definition<any, any>;\n /** Returns undefined to indicate the operation is not undoable. */\n deriveContext: (input: any, output: any) => any | undefined;\n /** Message provider - may be a static Label or a function. */\n message?: UndoMapping.MessageProvider<Operation.Definition<any, any>>;\n};\n\n/**\n * UndoRegistry interface - looks up inverse operations.\n */\nexport interface UndoRegistry {\n lookup: (operation: Operation.Definition<any, any>) => UndoMappingResult | undefined;\n}\n\n//\n// Factory\n//\n\n/**\n * Creates an UndoRegistry that looks up inverse operations.\n */\nexport const make = (getMappings: () => UndoMapping.UndoMapping[]): UndoRegistry => {\n const lookup = (operation: Operation.Definition<any, any>): UndoMappingResult | undefined => {\n const mappings = getMappings();\n const mapping = mappings.find((m) => m.operation.meta.key === operation.meta.key);\n if (!mapping) {\n return undefined;\n }\n\n return {\n inverse: mapping.inverse,\n deriveContext: mapping.deriveContext,\n message: mapping.message,\n };\n };\n\n return { lookup };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Stream from 'effect/Stream';\n\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { log } from '@dxos/log';\nimport { OperationInvoker } from '@dxos/operation';\n\nimport { UndoOperation } from '../../common';\nimport { EmptyHistoryError } from './errors';\nimport type { HistoryEntry } from './types';\nimport { resolveMessage } from './undo-mapping';\nimport type { UndoRegistry } from './undo-registry';\n\nconst HISTORY_LIMIT = 100;\n\n//\n// Public Interface\n//\n\n/**\n * HistoryTracker interface - tracks operation history and provides undo.\n */\nexport interface HistoryTracker {\n undo: () => Effect.Effect<void, Error>;\n undoPromise: () => Promise<{ error?: Error }>;\n canUndo: () => boolean;\n}\n\n//\n// Factory\n//\n\n/**\n * Creates a HistoryTracker that subscribes to invocation events and provides undo.\n */\nexport const make = (\n invoker: OperationInvoker.OperationInvokerInternal,\n undoRegistry: UndoRegistry,\n): HistoryTracker => {\n const history: HistoryEntry[] = [];\n\n // Subscribe to invocation stream.\n const handleInvocation = (event: OperationInvoker.InvocationEvent) => {\n const mapping = undoRegistry.lookup(event.operation);\n if (!mapping) {\n // Operation is not undoable, skip.\n return;\n }\n\n const inverseInput = mapping.deriveContext(event.input, event.output);\n if (inverseInput === undefined) {\n // Operation is conditionally not undoable (deriveContext returned undefined).\n log('operation not undoable', { key: event.operation.meta.key });\n return;\n }\n\n const entry: HistoryEntry = {\n operation: event.operation,\n input: event.input,\n output: event.output,\n inverse: mapping.inverse,\n inverseInput,\n timestamp: event.timestamp,\n };\n\n history.push(entry);\n log('history entry added', { key: event.operation.meta.key, historyLength: history.length });\n\n // Trim history if it exceeds limit.\n if (history.length > HISTORY_LIMIT) {\n history.splice(0, history.length - HISTORY_LIMIT);\n }\n\n // Show undo toast (resolve message if it's a function).\n const resolvedMessage = resolveMessage(mapping.message, event.input, event.output);\n Effect.runFork(\n invoker.invoke(UndoOperation.ShowUndo, {\n message: resolvedMessage,\n }),\n );\n };\n\n // Fork a fiber to consume the invocation stream.\n Effect.runFork(\n Stream.fromPubSub(invoker.invocations).pipe(\n Stream.runForEach((event) => Effect.sync(() => handleInvocation(event))),\n ),\n );\n\n const undo = (): Effect.Effect<void, Error> => {\n return Effect.gen(function* () {\n const entry = history.pop();\n if (!entry) {\n return yield* Effect.fail(new EmptyHistoryError());\n }\n\n log('undoing operation', { key: entry.operation.meta.key, inverseKey: entry.inverse.meta.key });\n\n // Use _invokeCore to skip event emission (avoid undo-of-undo loops).\n yield* invoker._invokeCore(entry.inverse, entry.inverseInput);\n\n log('undo completed', { key: entry.operation.meta.key });\n });\n };\n\n const undoPromise = async (): Promise<{ error?: Error }> => {\n return runAndForwardErrors(undo())\n .then(() => ({}))\n .catch((error) => {\n log.catch(error);\n return { error };\n });\n };\n\n const canUndo = (): boolean => {\n return history.length > 0;\n };\n\n return {\n undo,\n undoPromise,\n canUndo,\n };\n};\n"],
5
+ "mappings": ";;;;;;;;AAIA,SAASA,iBAAiB;AAEnB,IAAMC,oBAAN,cAAgCD,UAAUE,OAAO,qBAAqB,gCAAA,EAAA;AAAmC;;;ACNhH;;;;;AAmHO,IAAMC,OAAO,CAClBC,UACyBA;AAKpB,IAAMC,iBAAiB,CAC5BC,SACAC,OACAC,WAAAA;AAEA,MAAIF,YAAYG,QAAW;AACzB,WAAOA;EACT;AACA,MAAI,OAAOH,YAAY,YAAY;AACjC,WAAOA,QAAQC,OAAOC,MAAAA;EACxB;AACA,SAAOF;AACT;;;ACtIA;;cAAAI;;AAqCO,IAAMA,QAAO,CAACC,gBAAAA;AACnB,QAAMC,SAAS,CAACC,cAAAA;AACd,UAAMC,WAAWH,YAAAA;AACjB,UAAMI,UAAUD,SAASE,KAAK,CAACC,MAAMA,EAAEJ,UAAUK,KAAKC,QAAQN,UAAUK,KAAKC,GAAG;AAChF,QAAI,CAACJ,SAAS;AACZ,aAAOK;IACT;AAEA,WAAO;MACLC,SAASN,QAAQM;MACjBC,eAAeP,QAAQO;MACvBC,SAASR,QAAQQ;IACnB;EACF;AAEA,SAAO;IAAEX;EAAO;AAClB;;;ACrDA;;cAAAY;;AAIA,YAAYC,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,2BAA2B;AACpC,SAASC,WAAW;AASpB,IAAA,eAAMC;AAgBN,IAAA,gBAAU;AAYR,IAAAC,QAAA,CAAA,SAAA,iBAAkC;AAClC,QAAMC,UAAAA,CAAAA;QAEJ,mBAAc,CAAA,UAAA;UACZ,UAAA,aAAA,OAAA,MAAmC,SAAA;QACnC,CAAA,SAAA;AAGF;IACA;UACE,eAAA,QAAA,cAAA,MAAA,OAAA,MAAA,MAAA;QACAC,iBAAI,QAAA;AAA0D,UAAA,0BAAA;QAC9D,KAAA,MAAA,UAAA,KAAA;MACF,GAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,OAAA,CAAA;AAEA;;UAEEC,QAAOC;MACPC,WAAQD,MAAMC;MACdC,OAAAA,MAASC;MACTC,QAAAA,MAAAA;MACAC,SAAAA,QAAiBA;MACnB;MAEAC,WAAaC,MAAAA;IACbT;YAA6BU,KAAKR,KAAMS;QAAoBC,uBAAuBC;MAAO,KAAA,MAAA,UAAA,KAAA;MAE1F,eAAA,QAAA;IACA,GAAA,EAAA,YAAYA,YAAShB,GAAAA,cAAe,GAAA,IAAA,GAAA,OAAA,CAAA;AAEpC,QAAA,QAAA,SAAA,eAAA;AAEA,cAAA,OAAA,GAAA,QAAA,SAAA,aAAA;IACA;UAGIiB,kBAASC,eAAAA,QAAAA,SAAAA,MAAAA,OAAAA,MAAAA,MAAAA;AACX,IAAA,eAAA,QAAA,OAAA,cAAA,UAAA;MAEJ,SAAA;IAEA,CAAA,CAAA;EACAC;EAOE,eAAkB,kBAAA,QAAA,WAAA,EAAA,KAAA,kBAAA,CAAA,UAAA,YAAA,MAAA,iBAAA,KAAA,CAAA,CAAA,CAAA,CAAA;eAChB,MAAMP;WACDA,WAAO,aAAA;YACV,QAAO,QAAOO,IAAOC;AACvB,UAAA,CAAA,OAAA;AAEI,eAAA,OAAqB,YAAA,IAAA,kBAAA,CAAA;;UAAiCC,qBAAkBd;QAAiB,KAAA,MAAA,UAAA,KAAA;QAE7F,YAAA,MAAA,QAAA,KAAA;MACA,GAAA,EAAA,YAAOe,YAAQC,GAAYX,cAAa,GAAEA,IAAAA,GAAAA,KAAMH,CAAAA;aAExBI,QAAWC,YAAUU,MAAQ,SAAA,MAAA,YAAA;AAAC,UAAA,kBAAA;QACxD,KAAA,MAAA,UAAA,KAAA;MACF,GAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,KAAA,CAAA;IAEA,CAAA;;sBAIgBC,YAAAA;WACV,oBAAO,KAAA,CAAA,EAAA,KAAA,OAAA,CAAA,EAAA,EAAA,MAAA,CAAA,UAAA;UAAEA,MAAAA,OAAAA,QAAAA,EAAAA,YAAAA,YAAAA,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,OAAAA,CAAAA;AAAM,aAAA;QACjB;MACJ;IAEA,CAAA;;AAEA,QAAA,UAAA,MAAA;AAEA,WAAO,QAAA,SAAA;;SAELC;IACAC;IACF;IACA;;;",
6
+ "names": ["BaseError", "EmptyHistoryError", "extend", "make", "props", "resolveMessage", "message", "input", "output", "undefined", "make", "getMappings", "lookup", "operation", "mappings", "mapping", "find", "m", "meta", "key", "undefined", "inverse", "deriveContext", "message", "make", "Effect", "Stream", "runAndForwardErrors", "log", "HISTORY_LIMIT", "make", "handleInvocation", "log", "input", "event", "output", "inverse", "mapping", "inverseInput", "timestamp", "history", "entry", "key", "operation", "historyLength", "length", "message", "resolvedMessage", "Effect", "fail", "inverseKey", "invoker", "_invokeCore", "meta", "error", "undoPromise", "canUndo"]
7
+ }
@@ -0,0 +1,76 @@
1
+ import "../chunk-23D4SJUE.mjs";
2
+ import {
3
+ capabilities_exports
4
+ } from "../chunk-WBHCSOBW.mjs";
5
+ import {
6
+ activation_events_exports
7
+ } from "../chunk-45CHLTBV.mjs";
8
+ import "../chunk-FO3IYSLV.mjs";
9
+ import "../chunk-CZ4BIAHH.mjs";
10
+ import {
11
+ plugin_manager_exports
12
+ } from "../chunk-NBXPP7JR.mjs";
13
+ import "../chunk-66IXTIVK.mjs";
14
+ import {
15
+ plugin_exports
16
+ } from "../chunk-Z55LVAGN.mjs";
17
+ import {
18
+ capability_exports
19
+ } from "../chunk-3JWJXGLK.mjs";
20
+ import "../chunk-J5LGTIGS.mjs";
21
+
22
+ // src/cli/cli.ts
23
+ import * as Command from "@effect/cli/Command";
24
+ import * as Effect from "effect/Effect";
25
+ import * as Layer from "effect/Layer";
26
+ import { invariant } from "@dxos/invariant";
27
+ var __dxlog_file = "/__w/dxos/dxos/packages/sdk/app-framework/src/cli/cli.ts";
28
+ var defaultPluginLoader = (plugins) => (id) => Effect.sync(() => {
29
+ const plugin = plugins.find((plugin2) => plugin2.meta.id === id);
30
+ invariant(plugin, `Plugin not found: ${id}`, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 12, S: void 0, A: ["plugin", "`Plugin not found: ${id}`"] });
31
+ return {
32
+ plugin
33
+ };
34
+ });
35
+ var createCliApp = Effect.fn(function* ({ rootCommand, subCommands: subCommandsProp, pluginManager: pluginManagerProp, pluginLoader: pluginLoaderProp, plugins: pluginsProp = [], core: coreProp, enabled: enabledProp = [], safeMode = false }) {
36
+ const plugins = pluginsProp;
37
+ const core = coreProp ?? plugins.map(({ meta }) => meta.id);
38
+ const pluginLoader = pluginLoaderProp ?? defaultPluginLoader(plugins);
39
+ const enabled = safeMode ? [] : enabledProp;
40
+ const manager = pluginManagerProp ?? plugin_manager_exports.make({
41
+ pluginLoader,
42
+ plugins,
43
+ core,
44
+ enabled
45
+ });
46
+ manager.capabilities.contribute({
47
+ interface: capabilities_exports.PluginManager,
48
+ implementation: manager,
49
+ module: "org.dxos.app-framework.plugin-manager"
50
+ });
51
+ manager.capabilities.contribute({
52
+ interface: capabilities_exports.AtomRegistry,
53
+ implementation: manager.registry,
54
+ module: "org.dxos.app-framework.atom-registry"
55
+ });
56
+ yield* manager.activate(activation_events_exports.Startup);
57
+ const layers = manager.capabilities.getAll(capabilities_exports.Layer);
58
+ const capabilityServiceLayer = Layer.succeed(capability_exports.Service, manager.capabilities);
59
+ const pluginServiceLayer = Layer.succeed(plugin_exports.Service, manager);
60
+ const layer = Layer.mergeAll(capabilityServiceLayer, pluginServiceLayer, ...layers);
61
+ const pluginCommands = manager.capabilities.getAll(capabilities_exports.Command);
62
+ const subCommands = subCommandsProp ? [
63
+ ...subCommandsProp,
64
+ ...pluginCommands
65
+ ] : pluginCommands;
66
+ invariant(subCommands.length > 0, "No subcommands provided", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 66, S: this, A: ["subCommands.length > 0", "'No subcommands provided'"] });
67
+ const command = rootCommand.pipe(Command.withSubcommands(subCommands));
68
+ return {
69
+ command,
70
+ layer
71
+ };
72
+ });
73
+ export {
74
+ createCliApp
75
+ };
76
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/cli/cli.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\n\nimport { invariant } from '@dxos/invariant';\n\nimport { ActivationEvents, Capabilities } from '../common';\nimport { Capability, Plugin, PluginManager } from '../core';\n\nconst defaultPluginLoader =\n (plugins: Plugin.Plugin[]): PluginManager.ManagerOptions['pluginLoader'] =>\n (id: string) =>\n Effect.sync(() => {\n const plugin = plugins.find((plugin) => plugin.meta.id === id);\n invariant(plugin, `Plugin not found: ${id}`);\n return { plugin };\n });\n\ntype SubCommands = [Command.Command<any, any, any, any>, ...Array<Command.Command<any, any, any, any>>];\n\nexport type CreateCliAppOptions = {\n rootCommand: Command.Command<any, any, any, any>;\n subCommands?: SubCommands;\n pluginManager?: PluginManager.PluginManager;\n pluginLoader?: PluginManager.ManagerOptions['pluginLoader'];\n plugins?: Plugin.Plugin[];\n core?: string[];\n enabled?: string[];\n safeMode?: boolean;\n};\n\n/**\n * Creates a CLI application with plugin support.\n * Similar to useApp but for CLI environments.\n *\n * @example\n * const plugins = [ClientPluginCLI()];\n * const manager = await createCliApp({ plugins });\n * const commands = manager.capabilities.getAll(Capabilities.Command);\n *\n * @param options.pluginManager Optional existing PluginManager instance.\n * @param options.pluginLoader Function to load plugins by ID.\n * @param options.plugins All plugins available to the application.\n * @param options.core Core plugins which will always be enabled.\n * @param options.enabled Enabled plugins.\n * @param options.safeMode Whether to enable safe mode, which disables optional plugins.\n */\nexport const createCliApp = Effect.fn(function* ({\n rootCommand,\n subCommands: subCommandsProp,\n pluginManager: pluginManagerProp,\n pluginLoader: pluginLoaderProp,\n plugins: pluginsProp = [],\n core: coreProp,\n enabled: enabledProp = [],\n safeMode = false,\n}: CreateCliAppOptions) {\n const plugins = pluginsProp;\n const core = coreProp ?? plugins.map(({ meta }) => meta.id);\n const pluginLoader = pluginLoaderProp ?? defaultPluginLoader(plugins);\n const enabled = safeMode ? [] : enabledProp;\n const manager =\n pluginManagerProp ??\n PluginManager.make({\n pluginLoader,\n plugins,\n core,\n enabled,\n });\n\n manager.capabilities.contribute({\n interface: Capabilities.PluginManager,\n implementation: manager,\n module: 'org.dxos.app-framework.plugin-manager',\n });\n\n manager.capabilities.contribute({\n interface: Capabilities.AtomRegistry,\n implementation: manager.registry,\n module: 'org.dxos.app-framework.atom-registry',\n });\n\n // Activate startup event to load CLI commands and Effect layers.\n yield* manager.activate(ActivationEvents.Startup);\n\n // Gather all layers and merge them into a single layer.\n const layers = manager.capabilities.getAll(Capabilities.Layer);\n const capabilityServiceLayer = Layer.succeed(Capability.Service, manager.capabilities);\n const pluginServiceLayer = Layer.succeed(Plugin.Service, manager);\n const layer = (Layer.mergeAll as (...args: Layer.Layer<any, any, any>[]) => Layer.Layer<any, any, never>)(\n capabilityServiceLayer,\n pluginServiceLayer,\n ...layers,\n );\n\n // Gather all commands and provide them to the root command.\n const pluginCommands = manager.capabilities.getAll(Capabilities.Command);\n const subCommands = subCommandsProp ? [...subCommandsProp, ...pluginCommands] : pluginCommands;\n invariant(subCommands.length > 0, 'No subcommands provided');\n const command = rootCommand.pipe(Command.withSubcommands(subCommands as SubCommands));\n\n return { command, layer };\n});\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAIA,YAAYA,aAAa;AACzB,YAAYC,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,iBAAiB;AAK1B,IAAA,eAAMC;0BAKUC,CAAAA,YAAS,CAAA,OAAoBC,YAAI,MAAA;AAC3C,QAAA,SAAO,QAAA,KAAA,CAAAD,YAAAA,QAAA,KAAA,OAAA,EAAA;YAAEA,QAAAA,qBAAAA,EAAAA,IAAAA,EAAAA,YAAAA,YAAAA,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,QAAAA,GAAAA,CAAAA,UAAAA,2BAAAA,EAAAA,CAAAA;AAAO,SAAA;IAClB;EAeJ;;AA2BQE,IAAOC,eAAoBC,UAAK,WAAQ,EAAKC,aAAO,aAAA,iBAAA,eAAA,mBAAA,cAAA,kBAAA,SAAA,cAAA,CAAA,GAAA,MAAA,UAAA,SAAA,cAAA,CAAA,GAAA,WAAA,MAAA,GAAA;AAC1D,QAAMC,UAAAA;AACN,QAAMC,OAAAA,YAAUC,QAAgBC,IAAAA,CAAAA,EAAAA,KAAAA,MAAAA,KAAAA,EAAAA;AAChC,QAAMC,eACJC,oBACAC,oBAAmB,OAAA;QACjBN,UAAAA,WAAAA,CAAAA,IAAAA;QACAO,UAAAA,qBAAAA,uBAAAA,KAAAA;IACAX;IACAK;IACF;IAEFG;;UAEEI,aAAgBJ,WAAAA;IAChBK,WAAQ,qBAAA;IACV,gBAAA;IAEAL,QAAQM;;UAENF,aAAgBJ,WAAQO;IACxBF,WAAQ,qBAAA;IACV,gBAAA,QAAA;IAEA,QAAA;EACA,CAAA;AAGA,SAAMG,QAASR,SAAQM,0BAAaG,OAAOC;AAE3C,QAAMC,SAAAA,QAAAA,aAA2BC,OAAQC,qBAAc,KAAEb;AACzD,QAAMc,yBACJC,cAAAA,mBACAJ,SAAAA,QAAAA,YACGH;AAGL,QAAA,qBAAA,cAAA,eAAA,SAAA,OAA4D;AAC5D,QAAMQ,QAAAA,eAAiBhB,wBAA4BU,oBAAoB,GAAA,MAAA;yBAC7BO,QAAAA,aAAAA,OAAAA,qBAAAA,OAAAA;sBAAoBD,kBAAAA;IAAkBA,GAAAA;IAChFE,GAAAA;EACA,IAAA;AAEA,YAAO,YAAA,SAAA,GAAA,2BAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,0BAAA,2BAAA,EAAA,CAAA;QAAEC,UAAAA,YAAAA,KAAAA,wBAAAA,WAAAA,CAAAA;SAASL;IAAM;IACvB;;;",
6
+ "names": ["Command", "Effect", "Layer", "invariant", "defaultPluginLoader", "plugin", "id", "core", "coreProp", "map", "meta", "pluginLoader", "enabled", "safeMode", "enabledProp", "manager", "pluginManagerProp", "PluginManager", "plugins", "implementation", "module", "capabilities", "registry", "layers", "getAll", "Capabilities", "pluginServiceLayer", "succeed", "Plugin", "layer", "capabilityServiceLayer", "pluginCommands", "subCommandsProp", "invariant", "command"]
7
+ }
@@ -0,0 +1,24 @@
1
+ import {
2
+ ManagedRuntimeReady,
3
+ OperationInvokerReady,
4
+ SetupLayer,
5
+ SetupOperationHandler,
6
+ SetupReactSurface,
7
+ Startup
8
+ } from "../chunk-45CHLTBV.mjs";
9
+ import "../chunk-FO3IYSLV.mjs";
10
+ import "../chunk-CZ4BIAHH.mjs";
11
+ import "../chunk-NBXPP7JR.mjs";
12
+ import "../chunk-66IXTIVK.mjs";
13
+ import "../chunk-Z55LVAGN.mjs";
14
+ import "../chunk-3JWJXGLK.mjs";
15
+ import "../chunk-J5LGTIGS.mjs";
16
+ export {
17
+ ManagedRuntimeReady,
18
+ OperationInvokerReady,
19
+ SetupLayer,
20
+ SetupOperationHandler,
21
+ SetupReactSurface,
22
+ Startup
23
+ };
24
+ //# sourceMappingURL=activation-events.mjs.map
@@ -0,0 +1,46 @@
1
+ import {
2
+ AtomRegistry,
3
+ Command,
4
+ HistoryTracker,
5
+ Layer,
6
+ ManagedRuntime,
7
+ Null,
8
+ OperationHandler,
9
+ OperationInvoker,
10
+ PluginManager,
11
+ ReactContext,
12
+ ReactRoot,
13
+ ReactSurface,
14
+ UndoMapping,
15
+ UndoRegistry,
16
+ getAtomValue,
17
+ subscribeAtom,
18
+ updateAtomValue
19
+ } from "../chunk-WBHCSOBW.mjs";
20
+ import "../chunk-FO3IYSLV.mjs";
21
+ import "../chunk-CZ4BIAHH.mjs";
22
+ import "../chunk-NBXPP7JR.mjs";
23
+ import "../chunk-66IXTIVK.mjs";
24
+ import "../chunk-Z55LVAGN.mjs";
25
+ import "../chunk-3JWJXGLK.mjs";
26
+ import "../chunk-J5LGTIGS.mjs";
27
+ export {
28
+ AtomRegistry,
29
+ Command,
30
+ HistoryTracker,
31
+ Layer,
32
+ ManagedRuntime,
33
+ Null,
34
+ OperationHandler,
35
+ OperationInvoker,
36
+ PluginManager,
37
+ ReactContext,
38
+ ReactRoot,
39
+ ReactSurface,
40
+ UndoMapping,
41
+ UndoRegistry,
42
+ getAtomValue,
43
+ subscribeAtom,
44
+ updateAtomValue
45
+ };
46
+ //# sourceMappingURL=capabilities.mjs.map
@@ -0,0 +1,20 @@
1
+ import {
2
+ allOf,
3
+ eventKey,
4
+ getEvents,
5
+ isAllOf,
6
+ isOneOf,
7
+ make,
8
+ oneOf
9
+ } from "../chunk-66IXTIVK.mjs";
10
+ import "../chunk-J5LGTIGS.mjs";
11
+ export {
12
+ allOf,
13
+ eventKey,
14
+ getEvents,
15
+ isAllOf,
16
+ isOneOf,
17
+ make,
18
+ oneOf
19
+ };
20
+ //# sourceMappingURL=activation-event.mjs.map
@@ -0,0 +1,30 @@
1
+ import {
2
+ ModuleTag,
3
+ Service,
4
+ atom,
5
+ atomByModule,
6
+ contributes,
7
+ get,
8
+ getAll,
9
+ getModuleTag,
10
+ lazy,
11
+ make,
12
+ makeModule,
13
+ waitFor
14
+ } from "../chunk-3JWJXGLK.mjs";
15
+ import "../chunk-J5LGTIGS.mjs";
16
+ export {
17
+ ModuleTag,
18
+ Service,
19
+ atom,
20
+ atomByModule,
21
+ contributes,
22
+ get,
23
+ getAll,
24
+ getModuleTag,
25
+ lazy,
26
+ make,
27
+ makeModule,
28
+ waitFor
29
+ };
30
+ //# sourceMappingURL=capability.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,19 @@
1
+ import {
2
+ ManagerTypeId,
3
+ PluginInitializationError,
4
+ PluginTimeoutError,
5
+ isManager,
6
+ make
7
+ } from "../chunk-NBXPP7JR.mjs";
8
+ import "../chunk-66IXTIVK.mjs";
9
+ import "../chunk-Z55LVAGN.mjs";
10
+ import "../chunk-3JWJXGLK.mjs";
11
+ import "../chunk-J5LGTIGS.mjs";
12
+ export {
13
+ ManagerTypeId,
14
+ PluginInitializationError,
15
+ PluginTimeoutError,
16
+ isManager,
17
+ make
18
+ };
19
+ //# sourceMappingURL=plugin-manager.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,37 @@
1
+ import {
2
+ LazyPluginError,
3
+ PluginModuleTypeId,
4
+ PluginTypeId,
5
+ Service,
6
+ activate,
7
+ addModule,
8
+ define,
9
+ isLazy,
10
+ isPlugin,
11
+ isPluginModule,
12
+ lazy,
13
+ make,
14
+ reset,
15
+ resolveLazy,
16
+ shutdown
17
+ } from "../chunk-Z55LVAGN.mjs";
18
+ import "../chunk-3JWJXGLK.mjs";
19
+ import "../chunk-J5LGTIGS.mjs";
20
+ export {
21
+ LazyPluginError,
22
+ PluginModuleTypeId,
23
+ PluginTypeId,
24
+ Service,
25
+ activate,
26
+ addModule,
27
+ define,
28
+ isLazy,
29
+ isPlugin,
30
+ isPluginModule,
31
+ lazy,
32
+ make,
33
+ reset,
34
+ resolveLazy,
35
+ shutdown
36
+ };
37
+ //# sourceMappingURL=plugin.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,24 @@
1
+ import {
2
+ RemotePluginLoadError,
3
+ getInstalledVersion,
4
+ getRemoteEntries,
5
+ isLocalUrl,
6
+ make,
7
+ preload,
8
+ setInstalledVersion,
9
+ uninstall
10
+ } from "../chunk-CZ4BIAHH.mjs";
11
+ import "../chunk-Z55LVAGN.mjs";
12
+ import "../chunk-3JWJXGLK.mjs";
13
+ import "../chunk-J5LGTIGS.mjs";
14
+ export {
15
+ RemotePluginLoadError,
16
+ getInstalledVersion,
17
+ getRemoteEntries,
18
+ isLocalUrl,
19
+ make,
20
+ preload,
21
+ setInstalledVersion,
22
+ uninstall
23
+ };
24
+ //# sourceMappingURL=url-loader.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }