@dxos/app-framework 0.8.4-main.f9ba587 → 0.8.4-main.fcc0d83b33

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 (727) hide show
  1. package/.storybook/main.mts +9 -0
  2. package/.storybook/preview.mts +8 -0
  3. package/dist/lib/browser/capability-FU2RXY4V.mjs +38 -0
  4. package/dist/lib/browser/capability-FU2RXY4V.mjs.map +7 -0
  5. package/dist/lib/browser/capability-UZNIX34E.mjs +35 -0
  6. package/dist/lib/browser/capability-UZNIX34E.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-2F5RSEOR.mjs +80 -0
  8. package/dist/lib/browser/chunk-2F5RSEOR.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-2FUSTGNO.mjs +828 -0
  10. package/dist/lib/browser/chunk-2FUSTGNO.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-45CHLTBV.mjs +34 -0
  12. package/dist/lib/browser/chunk-45CHLTBV.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-5GNRIKCE.mjs +42 -0
  14. package/dist/lib/browser/chunk-5GNRIKCE.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-66IXTIVK.mjs +48 -0
  16. package/dist/lib/browser/chunk-66IXTIVK.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-ASHDB736.mjs +584 -0
  18. package/dist/lib/browser/chunk-ASHDB736.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-EV4VOV4X.mjs +142 -0
  20. package/dist/lib/browser/chunk-EV4VOV4X.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-FJ4765WW.mjs +8 -0
  22. package/dist/lib/browser/chunk-FJ4765WW.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-G7SDBRKH.mjs +1 -0
  24. package/dist/lib/browser/chunk-GUJTQEK7.mjs +140 -0
  25. package/dist/lib/browser/chunk-GUJTQEK7.mjs.map +7 -0
  26. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  27. package/dist/lib/browser/chunk-TZGMTFCT.mjs +79 -0
  28. package/dist/lib/browser/chunk-TZGMTFCT.mjs.map +7 -0
  29. package/dist/lib/browser/chunk-UNGY3SDY.mjs +354 -0
  30. package/dist/lib/browser/chunk-UNGY3SDY.mjs.map +7 -0
  31. package/dist/lib/browser/chunk-WSKPCXZC.mjs +467 -0
  32. package/dist/lib/browser/chunk-WSKPCXZC.mjs.map +7 -0
  33. package/dist/lib/browser/cli/index.mjs +74 -0
  34. package/dist/lib/browser/cli/index.mjs.map +7 -0
  35. package/dist/lib/browser/common/activation-events.mjs +24 -0
  36. package/dist/lib/browser/common/capabilities.mjs +46 -0
  37. package/dist/lib/browser/core/activation-event.mjs +20 -0
  38. package/dist/lib/browser/core/activation-event.mjs.map +7 -0
  39. package/dist/lib/browser/core/capability.mjs +30 -0
  40. package/dist/lib/browser/core/capability.mjs.map +7 -0
  41. package/dist/lib/browser/core/plugin-manager.mjs +15 -0
  42. package/dist/lib/browser/core/plugin-manager.mjs.map +7 -0
  43. package/dist/lib/browser/core/plugin.mjs +29 -0
  44. package/dist/lib/browser/core/plugin.mjs.map +7 -0
  45. package/dist/lib/browser/core/url-loader.mjs +20 -0
  46. package/dist/lib/browser/core/url-loader.mjs.map +7 -0
  47. package/dist/lib/browser/index.mjs +95 -156
  48. package/dist/lib/browser/index.mjs.map +4 -4
  49. package/dist/lib/browser/invoker-capability-GQJP42KT.mjs +43 -0
  50. package/dist/lib/browser/invoker-capability-GQJP42KT.mjs.map +7 -0
  51. package/dist/lib/browser/meta.json +1 -1
  52. package/dist/lib/browser/testing/index.mjs +232 -51
  53. package/dist/lib/browser/testing/index.mjs.map +4 -4
  54. package/dist/lib/browser/testing/react.mjs +78 -0
  55. package/dist/lib/browser/testing/react.mjs.map +7 -0
  56. package/dist/lib/browser/ui/index.mjs +48 -0
  57. package/dist/lib/browser/ui/index.mjs.map +7 -0
  58. package/dist/lib/node-esm/capability-4URDTXWH.mjs +36 -0
  59. package/dist/lib/node-esm/capability-4URDTXWH.mjs.map +7 -0
  60. package/dist/lib/node-esm/capability-HLUG6SDI.mjs +39 -0
  61. package/dist/lib/node-esm/capability-HLUG6SDI.mjs.map +7 -0
  62. package/dist/lib/node-esm/chunk-37Z53PXZ.mjs +10 -0
  63. package/dist/lib/node-esm/chunk-37Z53PXZ.mjs.map +7 -0
  64. package/dist/lib/node-esm/chunk-6XW6LET6.mjs +35 -0
  65. package/dist/lib/node-esm/chunk-6XW6LET6.mjs.map +7 -0
  66. package/dist/lib/node-esm/chunk-ATESWMED.mjs +585 -0
  67. package/dist/lib/node-esm/chunk-ATESWMED.mjs.map +7 -0
  68. package/dist/lib/node-esm/chunk-FZLRFRYV.mjs +81 -0
  69. package/dist/lib/node-esm/chunk-FZLRFRYV.mjs.map +7 -0
  70. package/dist/lib/node-esm/chunk-GLBO7FJP.mjs +141 -0
  71. package/dist/lib/node-esm/chunk-GLBO7FJP.mjs.map +7 -0
  72. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  73. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  74. package/dist/lib/node-esm/chunk-IEAO4CAC.mjs +829 -0
  75. package/dist/lib/node-esm/chunk-IEAO4CAC.mjs.map +7 -0
  76. package/dist/lib/node-esm/chunk-KLDFWTG3.mjs +355 -0
  77. package/dist/lib/node-esm/chunk-KLDFWTG3.mjs.map +7 -0
  78. package/dist/lib/node-esm/chunk-MEX6YYWJ.mjs +43 -0
  79. package/dist/lib/node-esm/chunk-MEX6YYWJ.mjs.map +7 -0
  80. package/dist/lib/node-esm/chunk-OZ7DZA5Z.mjs +2 -0
  81. package/dist/lib/node-esm/chunk-OZ7DZA5Z.mjs.map +7 -0
  82. package/dist/lib/node-esm/chunk-TC5FX6VR.mjs +80 -0
  83. package/dist/lib/node-esm/chunk-TC5FX6VR.mjs.map +7 -0
  84. package/dist/lib/node-esm/chunk-X7AFIYKJ.mjs +143 -0
  85. package/dist/lib/node-esm/chunk-X7AFIYKJ.mjs.map +7 -0
  86. package/dist/lib/node-esm/chunk-XOCUANHO.mjs +49 -0
  87. package/dist/lib/node-esm/chunk-XOCUANHO.mjs.map +7 -0
  88. package/dist/lib/node-esm/chunk-Y7QUMO53.mjs +468 -0
  89. package/dist/lib/node-esm/chunk-Y7QUMO53.mjs.map +7 -0
  90. package/dist/lib/node-esm/cli/index.mjs +75 -0
  91. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  92. package/dist/lib/node-esm/common/activation-events.mjs +25 -0
  93. package/dist/lib/node-esm/common/activation-events.mjs.map +7 -0
  94. package/dist/lib/node-esm/common/capabilities.mjs +47 -0
  95. package/dist/lib/node-esm/common/capabilities.mjs.map +7 -0
  96. package/dist/lib/node-esm/core/activation-event.mjs +21 -0
  97. package/dist/lib/node-esm/core/activation-event.mjs.map +7 -0
  98. package/dist/lib/node-esm/core/capability.mjs +31 -0
  99. package/dist/lib/node-esm/core/capability.mjs.map +7 -0
  100. package/dist/lib/node-esm/core/plugin-manager.mjs +16 -0
  101. package/dist/lib/node-esm/core/plugin-manager.mjs.map +7 -0
  102. package/dist/lib/node-esm/core/plugin.mjs +30 -0
  103. package/dist/lib/node-esm/core/plugin.mjs.map +7 -0
  104. package/dist/lib/node-esm/core/url-loader.mjs +21 -0
  105. package/dist/lib/node-esm/core/url-loader.mjs.map +7 -0
  106. package/dist/lib/node-esm/index.mjs +95 -156
  107. package/dist/lib/node-esm/index.mjs.map +4 -4
  108. package/dist/lib/node-esm/invoker-capability-O4OTEP24.mjs +44 -0
  109. package/dist/lib/node-esm/invoker-capability-O4OTEP24.mjs.map +7 -0
  110. package/dist/lib/node-esm/meta.json +1 -1
  111. package/dist/lib/node-esm/testing/index.mjs +232 -51
  112. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  113. package/dist/lib/node-esm/testing/react.mjs +79 -0
  114. package/dist/lib/node-esm/testing/react.mjs.map +7 -0
  115. package/dist/lib/node-esm/ui/index.mjs +49 -0
  116. package/dist/lib/node-esm/ui/index.mjs.map +7 -0
  117. package/dist/plugin/node-esm/index.mjs +819 -0
  118. package/dist/plugin/node-esm/index.mjs.map +7 -0
  119. package/dist/plugin/node-esm/meta.json +1 -0
  120. package/dist/types/src/cli/cli.d.ts +39 -0
  121. package/dist/types/src/cli/cli.d.ts.map +1 -0
  122. package/dist/types/src/cli/index.d.ts +2 -0
  123. package/dist/types/src/cli/index.d.ts.map +1 -0
  124. package/dist/types/src/common/activation-events.d.ts +27 -0
  125. package/dist/types/src/common/activation-events.d.ts.map +1 -0
  126. package/dist/types/src/common/capabilities.d.ts +109 -121
  127. package/dist/types/src/common/capabilities.d.ts.map +1 -1
  128. package/dist/types/src/common/index.d.ts +4 -8
  129. package/dist/types/src/common/index.d.ts.map +1 -1
  130. package/dist/types/src/common/operations.d.ts +19 -0
  131. package/dist/types/src/common/operations.d.ts.map +1 -0
  132. package/dist/types/src/common/translations.d.ts +8 -8
  133. package/dist/types/src/common/translations.d.ts.map +1 -1
  134. package/dist/types/src/context.d.ts +5 -0
  135. package/dist/types/src/context.d.ts.map +1 -0
  136. package/dist/types/src/core/{events.d.ts → activation-event.d.ts} +11 -11
  137. package/dist/types/src/core/activation-event.d.ts.map +1 -0
  138. package/dist/types/src/core/capability-manager.d.ts +48 -0
  139. package/dist/types/src/core/capability-manager.d.ts.map +1 -0
  140. package/dist/types/src/core/capability-manager.test.d.ts +2 -0
  141. package/dist/types/src/core/capability-manager.test.d.ts.map +1 -0
  142. package/dist/types/src/core/capability.d.ts +156 -0
  143. package/dist/types/src/core/capability.d.ts.map +1 -0
  144. package/dist/types/src/core/index.d.ts +8 -4
  145. package/dist/types/src/core/index.d.ts.map +1 -1
  146. package/dist/types/src/core/plugin-asset-cache.d.ts +71 -0
  147. package/dist/types/src/core/plugin-asset-cache.d.ts.map +1 -0
  148. package/dist/types/src/core/plugin-manager.d.ts +84 -0
  149. package/dist/types/src/core/plugin-manager.d.ts.map +1 -0
  150. package/dist/types/src/core/plugin-manager.test.d.ts +2 -0
  151. package/dist/types/src/core/plugin-manager.test.d.ts.map +1 -0
  152. package/dist/types/src/core/plugin-manifest.d.ts +76 -0
  153. package/dist/types/src/core/plugin-manifest.d.ts.map +1 -0
  154. package/dist/types/src/core/plugin-manifest.test.d.ts +2 -0
  155. package/dist/types/src/core/plugin-manifest.test.d.ts.map +1 -0
  156. package/dist/types/src/core/plugin.d.ts +128 -37
  157. package/dist/types/src/core/plugin.d.ts.map +1 -1
  158. package/dist/types/src/core/url-loader.d.ts +101 -0
  159. package/dist/types/src/core/url-loader.d.ts.map +1 -0
  160. package/dist/types/src/core/url-loader.test.d.ts +2 -0
  161. package/dist/types/src/core/url-loader.test.d.ts.map +1 -0
  162. package/dist/types/src/helpers.d.ts.map +1 -1
  163. package/dist/types/src/index.d.ts +3 -4
  164. package/dist/types/src/index.d.ts.map +1 -1
  165. package/dist/types/src/plugin-operation/OperationPlugin.d.ts +3 -0
  166. package/dist/types/src/plugin-operation/OperationPlugin.d.ts.map +1 -0
  167. package/dist/types/src/plugin-operation/history/capability.d.ts +7 -0
  168. package/dist/types/src/plugin-operation/history/capability.d.ts.map +1 -0
  169. package/dist/types/src/plugin-operation/history/errors.d.ts +32 -0
  170. package/dist/types/src/plugin-operation/history/errors.d.ts.map +1 -0
  171. package/dist/types/src/plugin-operation/history/history-tracker.d.ts +18 -0
  172. package/dist/types/src/plugin-operation/history/history-tracker.d.ts.map +1 -0
  173. package/dist/types/src/plugin-operation/history/history-tracker.test.d.ts +2 -0
  174. package/dist/types/src/plugin-operation/history/history-tracker.test.d.ts.map +1 -0
  175. package/dist/types/src/plugin-operation/history/index.d.ts +6 -0
  176. package/dist/types/src/plugin-operation/history/index.d.ts.map +1 -0
  177. package/dist/types/src/plugin-operation/history/types.d.ts +13 -0
  178. package/dist/types/src/plugin-operation/history/types.d.ts.map +1 -0
  179. package/dist/types/src/plugin-operation/history/undo-mapping.d.ts +101 -0
  180. package/dist/types/src/plugin-operation/history/undo-mapping.d.ts.map +1 -0
  181. package/dist/types/src/plugin-operation/history/undo-registry.d.ts +23 -0
  182. package/dist/types/src/plugin-operation/history/undo-registry.d.ts.map +1 -0
  183. package/dist/types/src/plugin-operation/history/undo-registry.test.d.ts +2 -0
  184. package/dist/types/src/plugin-operation/history/undo-registry.test.d.ts.map +1 -0
  185. package/dist/types/src/plugin-operation/index.d.ts +3 -0
  186. package/dist/types/src/plugin-operation/index.d.ts.map +1 -0
  187. package/dist/types/src/plugin-operation/invoker-capability.d.ts +6 -0
  188. package/dist/types/src/plugin-operation/invoker-capability.d.ts.map +1 -0
  189. package/dist/types/src/plugin-operation/meta.d.ts +3 -0
  190. package/dist/types/src/plugin-operation/meta.d.ts.map +1 -0
  191. package/dist/types/src/plugin-operation/testing.d.ts +58 -0
  192. package/dist/types/src/plugin-operation/testing.d.ts.map +1 -0
  193. package/dist/types/src/plugin-runtime/RuntimePlugin.d.ts +3 -0
  194. package/dist/types/src/plugin-runtime/RuntimePlugin.d.ts.map +1 -0
  195. package/dist/types/src/plugin-runtime/capability.d.ts +6 -0
  196. package/dist/types/src/plugin-runtime/capability.d.ts.map +1 -0
  197. package/dist/types/src/plugin-runtime/index.d.ts +2 -0
  198. package/dist/types/src/plugin-runtime/index.d.ts.map +1 -0
  199. package/dist/types/src/plugin-runtime/meta.d.ts +3 -0
  200. package/dist/types/src/plugin-runtime/meta.d.ts.map +1 -0
  201. package/dist/types/src/testing/harness.d.ts +67 -0
  202. package/dist/types/src/testing/harness.d.ts.map +1 -0
  203. package/dist/types/src/testing/index.d.ts +2 -0
  204. package/dist/types/src/testing/index.d.ts.map +1 -1
  205. package/dist/types/src/testing/react.d.ts +27 -0
  206. package/dist/types/src/testing/react.d.ts.map +1 -0
  207. package/dist/types/src/testing/react.test.d.ts +2 -0
  208. package/dist/types/src/testing/react.test.d.ts.map +1 -0
  209. package/dist/types/src/testing/service.d.ts +8 -0
  210. package/dist/types/src/testing/service.d.ts.map +1 -0
  211. package/dist/types/src/testing/withPluginManager.d.ts +11 -10
  212. package/dist/types/src/testing/withPluginManager.d.ts.map +1 -1
  213. package/dist/types/src/testing/withPluginManager.stories.d.ts +9 -3
  214. package/dist/types/src/testing/withPluginManager.stories.d.ts.map +1 -1
  215. package/dist/types/src/ui/components/App/App.d.ts +9 -0
  216. package/dist/types/src/ui/components/App/App.d.ts.map +1 -0
  217. package/dist/types/src/ui/components/App/App.stories.d.ts +19 -0
  218. package/dist/types/src/ui/components/App/App.stories.d.ts.map +1 -0
  219. package/dist/types/src/ui/components/App/index.d.ts +2 -0
  220. package/dist/types/src/ui/components/App/index.d.ts.map +1 -0
  221. package/dist/types/src/ui/components/Placeholder/Placeholder.d.ts +64 -0
  222. package/dist/types/src/ui/components/Placeholder/Placeholder.d.ts.map +1 -0
  223. package/dist/types/src/ui/components/Placeholder/Placeholder.stories.d.ts +19 -0
  224. package/dist/types/src/ui/components/Placeholder/Placeholder.stories.d.ts.map +1 -0
  225. package/dist/types/src/ui/components/Placeholder/index.d.ts +2 -0
  226. package/dist/types/src/ui/components/Placeholder/index.d.ts.map +1 -0
  227. package/dist/types/src/ui/components/PluginManager/PluginManagerContext.stories.d.ts +13 -0
  228. package/dist/types/src/ui/components/PluginManager/PluginManagerContext.stories.d.ts.map +1 -0
  229. package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts +10 -0
  230. package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts.map +1 -0
  231. package/dist/types/src/ui/components/PluginManager/index.d.ts +2 -0
  232. package/dist/types/src/ui/components/PluginManager/index.d.ts.map +1 -0
  233. package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts +24 -0
  234. package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts.map +1 -0
  235. package/dist/types/src/ui/components/Surface/SurfaceComponent.stories.d.ts +14 -0
  236. package/dist/types/src/ui/components/Surface/SurfaceComponent.stories.d.ts.map +1 -0
  237. package/dist/types/src/ui/components/Surface/SurfaceInfo.d.ts +11 -0
  238. package/dist/types/src/ui/components/Surface/SurfaceInfo.d.ts.map +1 -0
  239. package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts +48 -0
  240. package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts.map +1 -0
  241. package/dist/types/src/ui/components/Surface/context.d.ts +5 -0
  242. package/dist/types/src/ui/components/Surface/context.d.ts.map +1 -0
  243. package/dist/types/src/ui/components/Surface/index.d.ts +36 -0
  244. package/dist/types/src/ui/components/Surface/index.d.ts.map +1 -0
  245. package/dist/types/src/ui/components/Surface/types.d.ts +197 -0
  246. package/dist/types/src/ui/components/Surface/types.d.ts.map +1 -0
  247. package/dist/types/src/ui/components/Surface/types.test.d.ts +2 -0
  248. package/dist/types/src/ui/components/Surface/types.test.d.ts.map +1 -0
  249. package/dist/types/src/ui/components/index.d.ts +5 -0
  250. package/dist/types/src/ui/components/index.d.ts.map +1 -0
  251. package/dist/types/src/ui/hooks/index.d.ts +6 -0
  252. package/dist/types/src/ui/hooks/index.d.ts.map +1 -0
  253. package/dist/types/src/ui/hooks/useApp.d.ts +88 -0
  254. package/dist/types/src/ui/hooks/useApp.d.ts.map +1 -0
  255. package/dist/types/src/ui/hooks/useApp.test.d.ts +2 -0
  256. package/dist/types/src/ui/hooks/useApp.test.d.ts.map +1 -0
  257. package/dist/types/src/ui/hooks/useCapabilities.d.ts +31 -0
  258. package/dist/types/src/ui/hooks/useCapabilities.d.ts.map +1 -0
  259. package/dist/types/src/ui/hooks/useLoading.d.ts +18 -0
  260. package/dist/types/src/ui/hooks/useLoading.d.ts.map +1 -0
  261. package/dist/types/src/ui/hooks/useSettingsState.d.ts +10 -0
  262. package/dist/types/src/ui/hooks/useSettingsState.d.ts.map +1 -0
  263. package/dist/types/src/ui/hooks/useSurface.d.ts +3 -0
  264. package/dist/types/src/ui/hooks/useSurface.d.ts.map +1 -0
  265. package/dist/types/src/ui/index.d.ts +3 -0
  266. package/dist/types/src/ui/index.d.ts.map +1 -0
  267. package/dist/types/src/vite-plugin/boot-loader/BootLoader.stories.d.ts +34 -0
  268. package/dist/types/src/vite-plugin/boot-loader/BootLoader.stories.d.ts.map +1 -0
  269. package/dist/types/src/vite-plugin/boot-loader/index.d.ts +52 -0
  270. package/dist/types/src/vite-plugin/boot-loader/index.d.ts.map +1 -0
  271. package/dist/types/src/vite-plugin/composer/index.d.ts +34 -0
  272. package/dist/types/src/vite-plugin/composer/index.d.ts.map +1 -0
  273. package/dist/types/src/vite-plugin/import-map/index.d.ts +16 -0
  274. package/dist/types/src/vite-plugin/import-map/index.d.ts.map +1 -0
  275. package/dist/types/src/vite-plugin/index.d.ts +5 -0
  276. package/dist/types/src/vite-plugin/index.d.ts.map +1 -0
  277. package/dist/types/src/vite-plugin/manifest.d.ts +37 -0
  278. package/dist/types/src/vite-plugin/manifest.d.ts.map +1 -0
  279. package/dist/types/src/vite-plugin/manifest.test.d.ts +2 -0
  280. package/dist/types/src/vite-plugin/manifest.test.d.ts.map +1 -0
  281. package/dist/types/src/vite-plugin/packages.d.ts +13 -0
  282. package/dist/types/src/vite-plugin/packages.d.ts.map +1 -0
  283. package/dist/types/tsconfig.tsbuildinfo +1 -1
  284. package/moon.yml +26 -3
  285. package/package.json +113 -52
  286. package/src/cli/cli.ts +107 -0
  287. package/src/{playground/layout → cli}/index.ts +1 -1
  288. package/src/common/activation-events.ts +44 -0
  289. package/src/common/capabilities.ts +168 -109
  290. package/src/common/index.ts +4 -8
  291. package/src/common/operations.ts +35 -0
  292. package/src/common/translations.ts +18 -10
  293. package/src/context.ts +9 -0
  294. package/src/core/{events.ts → activation-event.ts} +10 -7
  295. package/src/core/capability-manager.test.ts +151 -0
  296. package/src/core/capability-manager.ts +192 -0
  297. package/src/core/capability.ts +247 -0
  298. package/src/core/index.ts +8 -4
  299. package/src/core/plugin-asset-cache.ts +60 -0
  300. package/src/core/plugin-manager.test.ts +1142 -0
  301. package/src/core/plugin-manager.ts +932 -0
  302. package/src/core/plugin-manifest.test.ts +48 -0
  303. package/src/core/plugin-manifest.ts +102 -0
  304. package/src/core/plugin.ts +266 -43
  305. package/src/core/url-loader.test.ts +178 -0
  306. package/src/core/url-loader.ts +308 -0
  307. package/src/helpers.test.ts +1 -1
  308. package/src/index.ts +3 -4
  309. package/src/plugin-operation/OperationPlugin.ts +24 -0
  310. package/src/plugin-operation/history/capability.ts +36 -0
  311. package/src/plugin-operation/history/errors.ts +7 -0
  312. package/src/plugin-operation/history/history-tracker.test.ts +373 -0
  313. package/src/plugin-operation/history/history-tracker.ts +128 -0
  314. package/src/plugin-operation/history/index.ts +9 -0
  315. package/src/plugin-operation/history/types.ts +17 -0
  316. package/src/plugin-operation/history/undo-mapping.ts +135 -0
  317. package/src/plugin-operation/history/undo-registry.test.ts +72 -0
  318. package/src/plugin-operation/history/undo-registry.ts +54 -0
  319. package/src/plugin-operation/index.ts +6 -0
  320. package/src/plugin-operation/invoker-capability.ts +54 -0
  321. package/src/plugin-operation/meta.ts +11 -0
  322. package/src/plugin-operation/testing.ts +154 -0
  323. package/src/plugin-runtime/RuntimePlugin.ts +19 -0
  324. package/src/plugin-runtime/capability.ts +53 -0
  325. package/src/plugin-runtime/index.ts +5 -0
  326. package/src/plugin-runtime/meta.ts +11 -0
  327. package/src/testing/harness.ts +229 -0
  328. package/src/testing/index.ts +2 -0
  329. package/src/testing/react.test.tsx +48 -0
  330. package/src/testing/react.tsx +113 -0
  331. package/src/testing/service.ts +52 -0
  332. package/src/testing/withPluginManager.stories.tsx +15 -12
  333. package/src/testing/withPluginManager.tsx +78 -54
  334. package/src/ui/components/App/App.stories.tsx +92 -0
  335. package/src/ui/components/App/App.tsx +81 -0
  336. package/src/{playground/logger → ui/components/App}/index.ts +1 -1
  337. package/src/ui/components/Placeholder/Placeholder.stories.tsx +77 -0
  338. package/src/ui/components/Placeholder/Placeholder.tsx +155 -0
  339. package/src/{playground/debug → ui/components/Placeholder}/index.ts +1 -1
  340. package/src/ui/components/PluginManager/PluginManagerContext.stories.tsx +185 -0
  341. package/src/{react → ui/components/PluginManager}/PluginManagerProvider.ts +3 -3
  342. package/src/ui/components/PluginManager/index.ts +5 -0
  343. package/src/ui/components/Surface/SurfaceComponent.stories.tsx +144 -0
  344. package/src/ui/components/Surface/SurfaceComponent.tsx +303 -0
  345. package/src/ui/components/Surface/SurfaceInfo.tsx +107 -0
  346. package/src/ui/components/Surface/SurfaceProfilerContext.tsx +207 -0
  347. package/src/ui/components/Surface/context.ts +12 -0
  348. package/src/ui/components/Surface/index.ts +54 -0
  349. package/src/ui/components/Surface/types.test.ts +126 -0
  350. package/src/ui/components/Surface/types.ts +269 -0
  351. package/src/ui/components/index.ts +8 -0
  352. package/src/ui/hooks/index.ts +9 -0
  353. package/src/ui/hooks/useApp.test.tsx +159 -0
  354. package/src/ui/hooks/useApp.tsx +413 -0
  355. package/src/ui/hooks/useCapabilities.ts +67 -0
  356. package/src/ui/hooks/useLoading.tsx +76 -0
  357. package/src/ui/hooks/useSettingsState.ts +26 -0
  358. package/src/ui/hooks/useSurface.ts +13 -0
  359. package/src/ui/index.ts +6 -0
  360. package/src/vite-plugin/boot-loader/BootLoader.stories.tsx +263 -0
  361. package/src/vite-plugin/boot-loader/boot-loader.css +294 -0
  362. package/src/vite-plugin/boot-loader/boot-loader.js +274 -0
  363. package/src/vite-plugin/boot-loader/index.ts +112 -0
  364. package/src/vite-plugin/composer/index.ts +277 -0
  365. package/src/vite-plugin/import-map/index.ts +499 -0
  366. package/src/vite-plugin/index.ts +10 -0
  367. package/src/vite-plugin/manifest.test.ts +24 -0
  368. package/src/vite-plugin/manifest.ts +50 -0
  369. package/src/vite-plugin/packages.ts +188 -0
  370. package/tsconfig.json +18 -22
  371. package/tsconfig.node.json +2 -4
  372. package/typedoc.json +2 -4
  373. package/vitest.config.ts +8 -6
  374. package/.eslintrc.cjs +0 -9
  375. package/.swc/plugins/v7_linux_x86_64_13.0.0/f45bdff002284d9e8f9ef3f0be909de12da36c049cbcf261ac78fc00abb09a2d +0 -0
  376. package/.swc/plugins/v7_linux_x86_64_13.0.0/fce1bdb8e20a094e4af08bad09cc81497ed0e2e7c51223b07d371063cca18429 +0 -0
  377. package/dist/lib/browser/app-graph-builder-BGGXLD6T.mjs +0 -137
  378. package/dist/lib/browser/app-graph-builder-BGGXLD6T.mjs.map +0 -7
  379. package/dist/lib/browser/chunk-2636QSIK.mjs +0 -1518
  380. package/dist/lib/browser/chunk-2636QSIK.mjs.map +0 -7
  381. package/dist/lib/browser/chunk-DHZB7HG7.mjs +0 -413
  382. package/dist/lib/browser/chunk-DHZB7HG7.mjs.map +0 -7
  383. package/dist/lib/browser/chunk-ORWHM7CO.mjs +0 -32
  384. package/dist/lib/browser/chunk-ORWHM7CO.mjs.map +0 -7
  385. package/dist/lib/browser/intent-dispatcher-TWKB22NI.mjs +0 -11
  386. package/dist/lib/browser/intent-resolver-O67UANYP.mjs +0 -39
  387. package/dist/lib/browser/intent-resolver-O67UANYP.mjs.map +0 -7
  388. package/dist/lib/browser/store-LFKDWHUQ.mjs +0 -30
  389. package/dist/lib/browser/store-LFKDWHUQ.mjs.map +0 -7
  390. package/dist/lib/browser/worker.mjs +0 -79
  391. package/dist/lib/node-esm/app-graph-builder-QHIJUYYW.mjs +0 -138
  392. package/dist/lib/node-esm/app-graph-builder-QHIJUYYW.mjs.map +0 -7
  393. package/dist/lib/node-esm/chunk-NJAFK626.mjs +0 -414
  394. package/dist/lib/node-esm/chunk-NJAFK626.mjs.map +0 -7
  395. package/dist/lib/node-esm/chunk-UMZQERLE.mjs +0 -34
  396. package/dist/lib/node-esm/chunk-UMZQERLE.mjs.map +0 -7
  397. package/dist/lib/node-esm/chunk-VSKRV3NW.mjs +0 -1520
  398. package/dist/lib/node-esm/chunk-VSKRV3NW.mjs.map +0 -7
  399. package/dist/lib/node-esm/intent-dispatcher-5PRM3KGH.mjs +0 -12
  400. package/dist/lib/node-esm/intent-resolver-K3D4BXQQ.mjs +0 -40
  401. package/dist/lib/node-esm/intent-resolver-K3D4BXQQ.mjs.map +0 -7
  402. package/dist/lib/node-esm/store-53XDUBMD.mjs +0 -31
  403. package/dist/lib/node-esm/store-53XDUBMD.mjs.map +0 -7
  404. package/dist/lib/node-esm/worker.mjs +0 -80
  405. package/dist/types/src/App.d.ts +0 -43
  406. package/dist/types/src/App.d.ts.map +0 -1
  407. package/dist/types/src/common/collaboration.d.ts +0 -19
  408. package/dist/types/src/common/collaboration.d.ts.map +0 -1
  409. package/dist/types/src/common/events.d.ts +0 -52
  410. package/dist/types/src/common/events.d.ts.map +0 -1
  411. package/dist/types/src/common/file.d.ts +0 -14
  412. package/dist/types/src/common/file.d.ts.map +0 -1
  413. package/dist/types/src/common/graph.d.ts +0 -21
  414. package/dist/types/src/common/graph.d.ts.map +0 -1
  415. package/dist/types/src/common/layout.d.ts +0 -281
  416. package/dist/types/src/common/layout.d.ts.map +0 -1
  417. package/dist/types/src/common/surface.d.ts +0 -65
  418. package/dist/types/src/common/surface.d.ts.map +0 -1
  419. package/dist/types/src/core/capabilities.d.ts +0 -114
  420. package/dist/types/src/core/capabilities.d.ts.map +0 -1
  421. package/dist/types/src/core/capabilities.test.d.ts +0 -2
  422. package/dist/types/src/core/capabilities.test.d.ts.map +0 -1
  423. package/dist/types/src/core/events.d.ts.map +0 -1
  424. package/dist/types/src/core/manager.d.ts +0 -122
  425. package/dist/types/src/core/manager.d.ts.map +0 -1
  426. package/dist/types/src/core/manager.test.d.ts +0 -2
  427. package/dist/types/src/core/manager.test.d.ts.map +0 -1
  428. package/dist/types/src/playground/debug/Debug.d.ts +0 -6
  429. package/dist/types/src/playground/debug/Debug.d.ts.map +0 -1
  430. package/dist/types/src/playground/debug/index.d.ts +0 -2
  431. package/dist/types/src/playground/debug/index.d.ts.map +0 -1
  432. package/dist/types/src/playground/debug/plugin.d.ts +0 -2
  433. package/dist/types/src/playground/debug/plugin.d.ts.map +0 -1
  434. package/dist/types/src/playground/generator/Main.d.ts +0 -6
  435. package/dist/types/src/playground/generator/Main.d.ts.map +0 -1
  436. package/dist/types/src/playground/generator/Toolbar.d.ts +0 -6
  437. package/dist/types/src/playground/generator/Toolbar.d.ts.map +0 -1
  438. package/dist/types/src/playground/generator/generator.d.ts +0 -7
  439. package/dist/types/src/playground/generator/generator.d.ts.map +0 -1
  440. package/dist/types/src/playground/generator/index.d.ts +0 -3
  441. package/dist/types/src/playground/generator/index.d.ts.map +0 -1
  442. package/dist/types/src/playground/generator/plugin.d.ts +0 -2
  443. package/dist/types/src/playground/generator/plugin.d.ts.map +0 -1
  444. package/dist/types/src/playground/layout/Layout.d.ts +0 -8
  445. package/dist/types/src/playground/layout/Layout.d.ts.map +0 -1
  446. package/dist/types/src/playground/layout/index.d.ts +0 -2
  447. package/dist/types/src/playground/layout/index.d.ts.map +0 -1
  448. package/dist/types/src/playground/layout/plugin.d.ts +0 -2
  449. package/dist/types/src/playground/layout/plugin.d.ts.map +0 -1
  450. package/dist/types/src/playground/logger/Toolbar.d.ts +0 -6
  451. package/dist/types/src/playground/logger/Toolbar.d.ts.map +0 -1
  452. package/dist/types/src/playground/logger/index.d.ts +0 -2
  453. package/dist/types/src/playground/logger/index.d.ts.map +0 -1
  454. package/dist/types/src/playground/logger/plugin.d.ts +0 -2
  455. package/dist/types/src/playground/logger/plugin.d.ts.map +0 -1
  456. package/dist/types/src/playground/logger/schema.d.ts +0 -13
  457. package/dist/types/src/playground/logger/schema.d.ts.map +0 -1
  458. package/dist/types/src/playground/playground.stories.d.ts +0 -10
  459. package/dist/types/src/playground/playground.stories.d.ts.map +0 -1
  460. package/dist/types/src/plugin-intent/IntentPlugin.d.ts +0 -2
  461. package/dist/types/src/plugin-intent/IntentPlugin.d.ts.map +0 -1
  462. package/dist/types/src/plugin-intent/actions.d.ts +0 -38
  463. package/dist/types/src/plugin-intent/actions.d.ts.map +0 -1
  464. package/dist/types/src/plugin-intent/errors.d.ts +0 -16
  465. package/dist/types/src/plugin-intent/errors.d.ts.map +0 -1
  466. package/dist/types/src/plugin-intent/index.d.ts +0 -5
  467. package/dist/types/src/plugin-intent/index.d.ts.map +0 -1
  468. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts +0 -139
  469. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts.map +0 -1
  470. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts +0 -2
  471. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts.map +0 -1
  472. package/dist/types/src/plugin-intent/intent.d.ts +0 -63
  473. package/dist/types/src/plugin-intent/intent.d.ts.map +0 -1
  474. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts +0 -2
  475. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts.map +0 -1
  476. package/dist/types/src/plugin-settings/actions.d.ts +0 -27
  477. package/dist/types/src/plugin-settings/actions.d.ts.map +0 -1
  478. package/dist/types/src/plugin-settings/app-graph-builder.d.ts +0 -4
  479. package/dist/types/src/plugin-settings/app-graph-builder.d.ts.map +0 -1
  480. package/dist/types/src/plugin-settings/index.d.ts +0 -3
  481. package/dist/types/src/plugin-settings/index.d.ts.map +0 -1
  482. package/dist/types/src/plugin-settings/intent-resolver.d.ts +0 -4
  483. package/dist/types/src/plugin-settings/intent-resolver.d.ts.map +0 -1
  484. package/dist/types/src/plugin-settings/store.d.ts +0 -5
  485. package/dist/types/src/plugin-settings/store.d.ts.map +0 -1
  486. package/dist/types/src/plugin-settings/translations.d.ts +0 -10
  487. package/dist/types/src/plugin-settings/translations.d.ts.map +0 -1
  488. package/dist/types/src/react/ErrorBoundary.d.ts +0 -31
  489. package/dist/types/src/react/ErrorBoundary.d.ts.map +0 -1
  490. package/dist/types/src/react/IntentContext.d.ts +0 -8
  491. package/dist/types/src/react/IntentContext.d.ts.map +0 -1
  492. package/dist/types/src/react/PluginManagerProvider.d.ts +0 -10
  493. package/dist/types/src/react/PluginManagerProvider.d.ts.map +0 -1
  494. package/dist/types/src/react/Surface.d.ts +0 -12
  495. package/dist/types/src/react/Surface.d.ts.map +0 -1
  496. package/dist/types/src/react/Surface.stories.d.ts +0 -16
  497. package/dist/types/src/react/Surface.stories.d.ts.map +0 -1
  498. package/dist/types/src/react/common.d.ts +0 -13
  499. package/dist/types/src/react/common.d.ts.map +0 -1
  500. package/dist/types/src/react/index.d.ts +0 -7
  501. package/dist/types/src/react/index.d.ts.map +0 -1
  502. package/dist/types/src/react/useCapabilities.d.ts +0 -13
  503. package/dist/types/src/react/useCapabilities.d.ts.map +0 -1
  504. package/dist/types/src/react/useIntentResolver.d.ts +0 -3
  505. package/dist/types/src/react/useIntentResolver.d.ts.map +0 -1
  506. package/dist/types/src/worker.d.ts +0 -4
  507. package/dist/types/src/worker.d.ts.map +0 -1
  508. package/src/App.tsx +0 -276
  509. package/src/common/collaboration.ts +0 -21
  510. package/src/common/events.ts +0 -77
  511. package/src/common/file.ts +0 -22
  512. package/src/common/graph.ts +0 -30
  513. package/src/common/layout.ts +0 -278
  514. package/src/common/surface.ts +0 -86
  515. package/src/core/capabilities.test.ts +0 -136
  516. package/src/core/capabilities.ts +0 -254
  517. package/src/core/manager.test.ts +0 -515
  518. package/src/core/manager.ts +0 -519
  519. package/src/playground/debug/Debug.tsx +0 -39
  520. package/src/playground/debug/plugin.ts +0 -17
  521. package/src/playground/generator/Main.tsx +0 -71
  522. package/src/playground/generator/Toolbar.tsx +0 -46
  523. package/src/playground/generator/generator.ts +0 -48
  524. package/src/playground/generator/index.ts +0 -6
  525. package/src/playground/generator/plugin.ts +0 -23
  526. package/src/playground/layout/Layout.tsx +0 -33
  527. package/src/playground/layout/plugin.ts +0 -17
  528. package/src/playground/logger/Toolbar.tsx +0 -29
  529. package/src/playground/logger/plugin.ts +0 -36
  530. package/src/playground/logger/schema.ts +0 -12
  531. package/src/playground/playground.stories.tsx +0 -42
  532. package/src/plugin-intent/IntentPlugin.ts +0 -20
  533. package/src/plugin-intent/actions.ts +0 -33
  534. package/src/plugin-intent/errors.ts +0 -39
  535. package/src/plugin-intent/index.ts +0 -8
  536. package/src/plugin-intent/intent-dispatcher.test.ts +0 -279
  537. package/src/plugin-intent/intent-dispatcher.ts +0 -333
  538. package/src/plugin-intent/intent.ts +0 -154
  539. package/src/plugin-settings/SettingsPlugin.ts +0 -35
  540. package/src/plugin-settings/actions.ts +0 -29
  541. package/src/plugin-settings/app-graph-builder.ts +0 -157
  542. package/src/plugin-settings/index.ts +0 -6
  543. package/src/plugin-settings/intent-resolver.ts +0 -34
  544. package/src/plugin-settings/store.ts +0 -33
  545. package/src/plugin-settings/translations.ts +0 -19
  546. package/src/react/ErrorBoundary.tsx +0 -45
  547. package/src/react/IntentContext.tsx +0 -34
  548. package/src/react/Surface.stories.tsx +0 -96
  549. package/src/react/Surface.tsx +0 -77
  550. package/src/react/common.ts +0 -12
  551. package/src/react/index.ts +0 -10
  552. package/src/react/useCapabilities.ts +0 -30
  553. package/src/react/useIntentResolver.ts +0 -22
  554. package/src/worker.ts +0 -11
  555. package/typedoc/.nojekyll +0 -1
  556. package/typedoc/assets/hierarchy.js +0 -1
  557. package/typedoc/assets/highlight.css +0 -106
  558. package/typedoc/assets/icons.js +0 -18
  559. package/typedoc/assets/icons.svg +0 -1
  560. package/typedoc/assets/main.js +0 -60
  561. package/typedoc/assets/navigation.js +0 -1
  562. package/typedoc/assets/search.js +0 -1
  563. package/typedoc/assets/style.css +0 -1640
  564. package/typedoc/classes/CollaborationActions.InsertContent.html +0 -421
  565. package/typedoc/classes/ErrorBoundary.html +0 -125
  566. package/typedoc/classes/IntentAction.ShowUndo.html +0 -227
  567. package/typedoc/classes/IntentAction.Track.html +0 -266
  568. package/typedoc/classes/LayoutAction.AddToast.html +0 -265
  569. package/typedoc/classes/LayoutAction.Close.html +0 -382
  570. package/typedoc/classes/LayoutAction.Expose.html +0 -265
  571. package/typedoc/classes/LayoutAction.Open.html +0 -1123
  572. package/typedoc/classes/LayoutAction.RevertWorkspace.html +0 -343
  573. package/typedoc/classes/LayoutAction.ScrollIntoView.html +0 -460
  574. package/typedoc/classes/LayoutAction.Set.html +0 -460
  575. package/typedoc/classes/LayoutAction.SetLayoutMode.html +0 -499
  576. package/typedoc/classes/LayoutAction.SwitchWorkspace.html +0 -265
  577. package/typedoc/classes/LayoutAction.UpdateComplementary.html +0 -616
  578. package/typedoc/classes/LayoutAction.UpdateDialog.html +0 -1123
  579. package/typedoc/classes/LayoutAction.UpdateLayout.html +0 -461
  580. package/typedoc/classes/LayoutAction.UpdatePopover.html +0 -1435
  581. package/typedoc/classes/LayoutAction.UpdateSidebar.html +0 -616
  582. package/typedoc/classes/Plugin.html +0 -6
  583. package/typedoc/classes/PluginContext.html +0 -38
  584. package/typedoc/classes/PluginManager.html +0 -43
  585. package/typedoc/classes/PluginModule.html +0 -18
  586. package/typedoc/classes/SettingsAction.Open.html +0 -226
  587. package/typedoc/classes/SettingsAction.OpenPluginRegistry.html +0 -265
  588. package/typedoc/functions/Events.createStateEvent.html +0 -2
  589. package/typedoc/functions/IntentPlugin.html +0 -1
  590. package/typedoc/functions/SettingsPlugin.html +0 -1
  591. package/typedoc/functions/allOf.html +0 -2
  592. package/typedoc/functions/chain.html +0 -3
  593. package/typedoc/functions/contributes.html +0 -2
  594. package/typedoc/functions/createDispatcher.html +0 -3
  595. package/typedoc/functions/createIntent.html +0 -6
  596. package/typedoc/functions/createResolver.html +0 -2
  597. package/typedoc/functions/createSurface.html +0 -2
  598. package/typedoc/functions/defineCapability.html +0 -2
  599. package/typedoc/functions/defineEvent.html +0 -2
  600. package/typedoc/functions/defineModule.html +0 -2
  601. package/typedoc/functions/definePlugin.html +0 -2
  602. package/typedoc/functions/eventKey.html +0 -2
  603. package/typedoc/functions/getEvents.html +0 -2
  604. package/typedoc/functions/isAllOf.html +0 -2
  605. package/typedoc/functions/isOneOf.html +0 -2
  606. package/typedoc/functions/isSurfaceAvailable.html +0 -2
  607. package/typedoc/functions/lazy.html +0 -2
  608. package/typedoc/functions/oneOf.html +0 -2
  609. package/typedoc/functions/useApp.html +0 -6
  610. package/typedoc/functions/useAppGraph.html +0 -1
  611. package/typedoc/functions/useCapabilities.html +0 -3
  612. package/typedoc/functions/useCapability.html +0 -4
  613. package/typedoc/functions/useIntentDispatcher.html +0 -1
  614. package/typedoc/functions/useIntentResolver.html +0 -1
  615. package/typedoc/functions/useLayout.html +0 -1
  616. package/typedoc/functions/usePluginManager.html +0 -2
  617. package/typedoc/hierarchy.html +0 -1
  618. package/typedoc/index.html +0 -12
  619. package/typedoc/interfaces/LayoutAction.Toast.html +0 -10
  620. package/typedoc/media/LICENSE +0 -8
  621. package/typedoc/modules/Capabilities.html +0 -1
  622. package/typedoc/modules/CollaborationActions.html +0 -1
  623. package/typedoc/modules/Events.html +0 -1
  624. package/typedoc/modules/IntentAction.html +0 -1
  625. package/typedoc/modules/LayoutAction.html +0 -2
  626. package/typedoc/modules/SettingsAction.html +0 -1
  627. package/typedoc/modules.html +0 -1
  628. package/typedoc/types/ActivationEvent.html +0 -8
  629. package/typedoc/types/ActivationEvents.html +0 -2
  630. package/typedoc/types/AnyCapability.html +0 -1
  631. package/typedoc/types/AnyIntent.html +0 -1
  632. package/typedoc/types/AnyIntentChain.html +0 -1
  633. package/typedoc/types/AnyIntentEffectResult.html +0 -1
  634. package/typedoc/types/AnyIntentResolver.html +0 -1
  635. package/typedoc/types/AnyIntentResult.html +0 -1
  636. package/typedoc/types/Capabilities.FileUploader.html +0 -1
  637. package/typedoc/types/Capabilities.IntentResolver.html +0 -1
  638. package/typedoc/types/Capabilities.Layout.html +0 -1
  639. package/typedoc/types/Capabilities.Metadata.html +0 -1
  640. package/typedoc/types/Capabilities.ReactContext.html +0 -1
  641. package/typedoc/types/Capabilities.ReactRoot.html +0 -1
  642. package/typedoc/types/Capabilities.ReactSurface.html +0 -1
  643. package/typedoc/types/Capabilities.Settings.html +0 -4
  644. package/typedoc/types/Capability.html +0 -9
  645. package/typedoc/types/CreateAppOptions.html +0 -10
  646. package/typedoc/types/FileInfo.html +0 -1
  647. package/typedoc/types/Intent.html +0 -10
  648. package/typedoc/types/IntentChain.html +0 -6
  649. package/typedoc/types/IntentContext.html +0 -5
  650. package/typedoc/types/IntentData.html +0 -1
  651. package/typedoc/types/IntentDispatcher.html +0 -2
  652. package/typedoc/types/IntentDispatcherResult.html +0 -2
  653. package/typedoc/types/IntentEffectDefinition.html +0 -2
  654. package/typedoc/types/IntentEffectResult.html +0 -15
  655. package/typedoc/types/IntentParams.html +0 -3
  656. package/typedoc/types/IntentResolver.html +0 -2
  657. package/typedoc/types/IntentResultData.html +0 -1
  658. package/typedoc/types/IntentSchema.html +0 -1
  659. package/typedoc/types/IntentUndo.html +0 -2
  660. package/typedoc/types/InterfaceDef.html +0 -4
  661. package/typedoc/types/Label.html +0 -1
  662. package/typedoc/types/NodeSerializer.html +0 -8
  663. package/typedoc/types/PluginManagerOptions.html +0 -6
  664. package/typedoc/types/PluginMeta.html +0 -21
  665. package/typedoc/types/PromiseIntentDispatcher.html +0 -2
  666. package/typedoc/types/PromiseIntentUndo.html +0 -2
  667. package/typedoc/types/Resource.html +0 -1
  668. package/typedoc/types/ResourceKey.html +0 -1
  669. package/typedoc/types/ResourceLanguage.html +0 -1
  670. package/typedoc/types/SerializedNode.html +0 -4
  671. package/typedoc/types/SurfaceComponent.html +0 -2
  672. package/typedoc/types/SurfaceDefinition.html +0 -2
  673. package/typedoc/types/SurfaceProps.html +0 -4
  674. package/typedoc/variables/Capabilities.AnchorSort.html +0 -1
  675. package/typedoc/variables/Capabilities.AppGraph.html +0 -1
  676. package/typedoc/variables/Capabilities.AppGraphBuilder.html +0 -1
  677. package/typedoc/variables/Capabilities.AppGraphSerializer.html +0 -1
  678. package/typedoc/variables/Capabilities.ArtifactDefinition.html +0 -1
  679. package/typedoc/variables/Capabilities.FileUploader.html +0 -1
  680. package/typedoc/variables/Capabilities.IntentDispatcher.html +0 -1
  681. package/typedoc/variables/Capabilities.IntentResolver.html +0 -1
  682. package/typedoc/variables/Capabilities.Layout.html +0 -1
  683. package/typedoc/variables/Capabilities.Metadata.html +0 -1
  684. package/typedoc/variables/Capabilities.Null.html +0 -1
  685. package/typedoc/variables/Capabilities.PluginManager.html +0 -1
  686. package/typedoc/variables/Capabilities.ReactContext.html +0 -1
  687. package/typedoc/variables/Capabilities.ReactRoot.html +0 -1
  688. package/typedoc/variables/Capabilities.ReactSurface.html +0 -1
  689. package/typedoc/variables/Capabilities.RxRegistry.html +0 -1
  690. package/typedoc/variables/Capabilities.Settings.html +0 -1
  691. package/typedoc/variables/Capabilities.SettingsStore.html +0 -1
  692. package/typedoc/variables/Capabilities.Tools.html +0 -1
  693. package/typedoc/variables/Capabilities.Translations.html +0 -1
  694. package/typedoc/variables/Events.AppGraphReady.html +0 -2
  695. package/typedoc/variables/Events.DispatcherReady.html +0 -2
  696. package/typedoc/variables/Events.LayoutReady.html +0 -1
  697. package/typedoc/variables/Events.SettingsReady.html +0 -2
  698. package/typedoc/variables/Events.SetupAppGraph.html +0 -2
  699. package/typedoc/variables/Events.SetupArtifactDefinition.html +0 -2
  700. package/typedoc/variables/Events.SetupIntentResolver.html +0 -2
  701. package/typedoc/variables/Events.SetupMetadata.html +0 -2
  702. package/typedoc/variables/Events.SetupReactSurface.html +0 -2
  703. package/typedoc/variables/Events.SetupSettings.html +0 -2
  704. package/typedoc/variables/Events.SetupTranslations.html +0 -2
  705. package/typedoc/variables/Events.Startup.html +0 -2
  706. package/typedoc/variables/FileInfoSchema.html +0 -1
  707. package/typedoc/variables/INTENT_ACTION.html +0 -1
  708. package/typedoc/variables/INTENT_PLUGIN.html +0 -1
  709. package/typedoc/variables/LAYOUT_ACTION.html +0 -1
  710. package/typedoc/variables/LAYOUT_PLUGIN.html +0 -1
  711. package/typedoc/variables/Label.html +0 -1
  712. package/typedoc/variables/LayoutAction.Toast.html +0 -1
  713. package/typedoc/variables/LayoutAction.UPDATE_LAYOUT.html +0 -1
  714. package/typedoc/variables/PluginManagerProvider.html +0 -2
  715. package/typedoc/variables/Resource.html +0 -2
  716. package/typedoc/variables/ResourceKey.html +0 -1
  717. package/typedoc/variables/ResourceLanguage.html +0 -1
  718. package/typedoc/variables/SETTINGS_ACTION.html +0 -1
  719. package/typedoc/variables/SETTINGS_ID.html +0 -1
  720. package/typedoc/variables/SETTINGS_KEY.html +0 -1
  721. package/typedoc/variables/SETTINGS_PLUGIN.html +0 -1
  722. package/typedoc/variables/Surface.html +0 -2
  723. package/typedoc/variables/defaultFileTypes.html +0 -1
  724. /package/dist/lib/browser/{intent-dispatcher-TWKB22NI.mjs.map → chunk-G7SDBRKH.mjs.map} +0 -0
  725. /package/dist/lib/browser/{worker.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  726. /package/dist/lib/{node-esm/intent-dispatcher-5PRM3KGH.mjs.map → browser/common/activation-events.mjs.map} +0 -0
  727. /package/dist/lib/{node-esm/worker.mjs.map → browser/common/capabilities.mjs.map} +0 -0
@@ -0,0 +1,19 @@
1
+ import { Operation } from '@dxos/compute';
2
+ import { Capability } from '../core';
3
+ /**
4
+ * Operations related to undo/history functionality.
5
+ */
6
+ export declare namespace UndoOperation {
7
+ /**
8
+ * Show an undo toast notification.
9
+ * Fired by HistoryTracker when an undoable operation is tracked.
10
+ */
11
+ const ShowUndo: Operation.Definition<{
12
+ readonly message?: string | [string, {
13
+ ns: string;
14
+ count?: number | undefined;
15
+ defaultValue?: string | undefined;
16
+ }] | undefined;
17
+ }, void, Capability.Service>;
18
+ }
19
+ //# sourceMappingURL=operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../src/common/operations.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAKrC;;GAEG;AACH,yBAAiB,aAAa,CAAC,CAAC;IAC9B;;;OAGG;IACI,MAAM,QAAQ;;;;;;gCAYnB,CAAC;CACJ"}
@@ -1,11 +1,11 @@
1
- import { Schema } from 'effect';
2
- export declare const ResourceKey: Schema.Union<[typeof Schema.String, Schema.Record$<typeof Schema.String, typeof Schema.Any>]>;
3
- export type ResourceKey = Schema.Schema.Type<typeof ResourceKey>;
4
- export declare const ResourceLanguage: Schema.Record$<typeof Schema.String, Schema.Union<[typeof Schema.String, Schema.Record$<typeof Schema.String, typeof Schema.Any>]>>;
5
- export type ResourceLanguage = Schema.Schema.Type<typeof ResourceLanguage>;
1
+ import * as Schema from 'effect/Schema';
6
2
  /**
7
- * A resource is a collection of translations for a language.
3
+ * A Label represents translatable text - either a simple string or a tuple of [key, options].
8
4
  */
9
- export declare const Resource: Schema.Record$<typeof Schema.String, Schema.Record$<typeof Schema.String, Schema.Union<[typeof Schema.String, Schema.Record$<typeof Schema.String, typeof Schema.Any>]>>>;
10
- export type Resource = Schema.Schema.Type<typeof Resource>;
5
+ export declare const Label: Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
6
+ ns: typeof Schema.String;
7
+ count: Schema.optional<typeof Schema.Number>;
8
+ defaultValue: Schema.optional<typeof Schema.String>;
9
+ }>>>>]>;
10
+ export type Label = Schema.Schema.Type<typeof Label>;
11
11
  //# sourceMappingURL=translations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../../src/common/translations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,eAAO,MAAM,WAAW,+FAAwF,CAAC;AACjH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;AAEjE,eAAO,MAAM,gBAAgB,qIAA4D,CAAC;AAC1F,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,QAAQ,2KAAiE,CAAC;AACvF,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../../src/common/translations.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,KAAK;;;;OAcjB,CAAC;AACF,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type PluginManager } from './core';
2
+ export declare const PluginManagerContext: {
3
+ __context__: PluginManager.PluginManager;
4
+ };
5
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/context.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,eAAO,MAAM,oBAAoB;;CAAsF,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * A unique string identifier representing an event.
3
3
  * This is expected to be a URI, where initial parts are often the id of the plugin whose package defines the event.
4
4
  *
5
- * @example dxos.org/plugin/example/event/ready
5
+ * @example org.dxos.plugin.example.event.ready
6
6
  */
7
7
  export type ActivationEvent = {
8
8
  id: string;
@@ -11,7 +11,7 @@ export type ActivationEvent = {
11
11
  /**
12
12
  * An activation event that can be a single event, or a combination of events.
13
13
  */
14
- export type ActivationEvents = ActivationEvent | {
14
+ export type Events = ActivationEvent | {
15
15
  type: 'one-of';
16
16
  events: ActivationEvent[];
17
17
  } | {
@@ -21,7 +21,7 @@ export type ActivationEvents = ActivationEvent | {
21
21
  /**
22
22
  * Helper to define an activation event.
23
23
  */
24
- export declare const defineEvent: (id: string, specifier?: string) => ActivationEvent;
24
+ export declare const make: (id: string, specifier?: string) => ActivationEvent;
25
25
  /**
26
26
  * Helper to create an activation event key.
27
27
  */
@@ -30,32 +30,32 @@ export declare const eventKey: (event: ActivationEvent) => string;
30
30
  * Helper to create an activation event that triggers when any of the given events are activated.
31
31
  */
32
32
  export declare const oneOf: (...events: ActivationEvent[]) => {
33
- type: "one-of";
33
+ type: 'one-of';
34
34
  events: ActivationEvent[];
35
35
  };
36
36
  /**
37
37
  * Helper to create an activation event that triggers when all of the given events are activated.
38
38
  */
39
39
  export declare const allOf: (...events: ActivationEvent[]) => {
40
- type: "all-of";
40
+ type: 'all-of';
41
41
  events: ActivationEvent[];
42
42
  };
43
43
  /**
44
44
  * Helper to check if an activation event is a one-of event.
45
45
  */
46
- export declare const isOneOf: (events: ActivationEvents) => events is {
47
- type: "one-of";
46
+ export declare const isOneOf: (events: Events) => events is {
47
+ type: 'one-of';
48
48
  events: ActivationEvent[];
49
49
  };
50
50
  /**
51
51
  * Helper to check if an activation event is an all-of event.
52
52
  */
53
- export declare const isAllOf: (events: ActivationEvents) => events is {
54
- type: "all-of";
53
+ export declare const isAllOf: (events: Events) => events is {
54
+ type: 'all-of';
55
55
  events: ActivationEvent[];
56
56
  };
57
57
  /**
58
58
  * Helper to get the events from an activation event.
59
59
  */
60
- export declare const getEvents: (events: ActivationEvents) => ActivationEvent[];
61
- //# sourceMappingURL=events.d.ts.map
60
+ export declare const getEvents: (events: Events) => ActivationEvent[];
61
+ //# sourceMappingURL=activation-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activation-event.d.ts","sourceRoot":"","sources":["../../../../src/core/activation-event.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,MAAM,GACd,eAAe,GACf;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAAE,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,IAAI,OAAQ,MAAM,cAAc,MAAM,KACrB,eAC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,UAAW,eAAe,WACuB,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,KAAK,cAAe,eAAe,EAAE;UAAc,QAAQ;;CAAoB,CAAC;AAE7F;;GAEG;AACH,eAAO,MAAM,KAAK,cAAe,eAAe,EAAE;UAAc,QAAQ;;CAAoB,CAAC;AAE7F;;GAEG;AACH,eAAO,MAAM,OAAO,WAAY,MAAM,KAAG,MAAM,IAAI;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAChD,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,OAAO,WAAY,MAAM,KAAG,MAAM,IAAI;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAChD,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,SAAS,WAAY,MAAM,sBAAkD,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { Atom } from '@effect-atom/atom-react';
2
+ import * as Effect from 'effect/Effect';
3
+ import type * as Capability from './capability';
4
+ /**
5
+ * Interface for the Capability Manager.
6
+ * Provides methods for contributing, removing, and accessing capabilities.
7
+ */
8
+ export interface CapabilityManager {
9
+ contribute<T>(args: {
10
+ module: string;
11
+ interface: Capability.InterfaceDef<T>;
12
+ implementation: T;
13
+ }): void;
14
+ remove<T>(interfaceDef: Capability.InterfaceDef<T>, implementation: T): void;
15
+ /**
16
+ * Get the Atom reference to the available capabilities for a given interface.
17
+ * Primarily useful for deriving other Atom values based on the capabilities or
18
+ * for subscribing to changes in the capabilities.
19
+ * @returns An atom reference to the available capabilities.
20
+ */
21
+ atom<T>(interfaceDef: Capability.InterfaceDef<T>): Atom.Atom<T[]>;
22
+ /**
23
+ * Get capabilities from the capability manager.
24
+ * @returns An array of capabilities.
25
+ */
26
+ getAll<T>(interfaceDef: Capability.InterfaceDef<T>): T[];
27
+ /**
28
+ * Requests a single capability from the capability manager.
29
+ * @returns The capability.
30
+ * @throws If no capability is found.
31
+ */
32
+ get<T>(interfaceDef: Capability.InterfaceDef<T>): T;
33
+ /**
34
+ * Waits for a capability to be available.
35
+ * @returns The capability.
36
+ */
37
+ waitFor<T>(interfaceDef: Capability.InterfaceDef<T>): Effect.Effect<T, Error>;
38
+ /**
39
+ * Get capabilities grouped by the module that contributed them.
40
+ * @returns An atom containing a record from module ID to capability implementations.
41
+ */
42
+ atomByModule<T>(interfaceDef: Capability.InterfaceDef<T>): Atom.Atom<Record<string, T[]>>;
43
+ }
44
+ /**
45
+ * Creates a new Capability Manager instance.
46
+ */
47
+ export declare const make: (options: CapabilityManagerOptions) => CapabilityManager;
48
+ //# sourceMappingURL=capability-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/capability-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAiB,MAAM,yBAAyB,CAAC;AAE9D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,KAAK,KAAK,UAAU,MAAM,cAAc,CAAC;AAehD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAAC,cAAc,EAAE,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IAExG,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,IAAI,CAAC;IAE7E;;;;;OAKG;IACH,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAElE;;;OAGG;IACH,MAAM,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAEzD;;;;OAIG;IACH,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAEpD;;;OAGG;IACH,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAE9E;;;OAGG;IACH,YAAY,CAAC,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;CAC3F;AAyHD;;GAEG;AACH,eAAO,MAAM,IAAI,YAAa,wBAAwB,KAAG,iBAAuD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=capability-manager.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability-manager.test.d.ts","sourceRoot":"","sources":["../../../../src/core/capability-manager.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,156 @@
1
+ import { type Atom } from '@effect-atom/atom-react';
2
+ import * as Context from 'effect/Context';
3
+ import * as Effect from 'effect/Effect';
4
+ import type * as CapabilityManager from './capability-manager';
5
+ import type * as Plugin from './plugin';
6
+ declare const Service_base: Context.TagClass<Service, "@dxos/app-framework/CapabilityManager", CapabilityManager.CapabilityManager>;
7
+ /**
8
+ * Effect Context.Tag for accessing CapabilityManager via the Effect layer system.
9
+ * This allows capability modules to access the capability manager without having it passed as an argument.
10
+ */
11
+ export declare class Service extends Service_base {
12
+ }
13
+ /**
14
+ * Get a single capability from the capability manager.
15
+ * @param interfaceDef The interface definition of the capability.
16
+ * @returns The capability implementation.
17
+ * @throws If no capability is found.
18
+ */
19
+ export declare const get: <T>(interfaceDef: InterfaceDef<T>) => Effect.Effect<T, Error, Service>;
20
+ /**
21
+ * Get all capabilities from the capability manager for a given interface.
22
+ * @param interfaceDef The interface definition of the capability.
23
+ * @returns An array of capability implementations.
24
+ */
25
+ export declare const getAll: <T>(interfaceDef: InterfaceDef<T>) => Effect.Effect<T[], never, Service>;
26
+ /**
27
+ * Wait for a capability to be available.
28
+ * @param interfaceDef The interface definition of the capability.
29
+ * @returns The capability implementation once available.
30
+ */
31
+ export declare const waitFor: <T>(interfaceDef: InterfaceDef<T>) => Effect.Effect<T, Error, Service>;
32
+ /**
33
+ * Get the Atom reference to capabilities for reactive access.
34
+ * @param interfaceDef The interface definition of the capability.
35
+ * @returns An Atom containing the array of capability implementations.
36
+ */
37
+ export declare const atom: <T>(interfaceDef: InterfaceDef<T>) => Effect.Effect<Atom.Atom<T[]>, never, Service>;
38
+ /**
39
+ * Get capabilities grouped by the module that contributed them.
40
+ * @param interfaceDef The interface definition of the capability.
41
+ * @returns An Atom containing a record from module ID to capability implementations.
42
+ */
43
+ export declare const atomByModule: <T>(interfaceDef: InterfaceDef<T>) => Effect.Effect<Atom.Atom<Record<string, T[]>>, never, Service>;
44
+ declare const InterfaceDefTypeId: unique symbol;
45
+ /**
46
+ * Symbol used to tag lazy capability functions with their module ID.
47
+ */
48
+ export declare const ModuleTag: unique symbol;
49
+ /**
50
+ * The interface definition of a capability.
51
+ */
52
+ export type InterfaceDef<T> = {
53
+ [InterfaceDefTypeId]: T;
54
+ identifier: string;
55
+ };
56
+ export declare namespace InterfaceDef {
57
+ type Implementation<I extends InterfaceDef<any>> = I extends InterfaceDef<infer T> ? T : never;
58
+ }
59
+ /**
60
+ * Helper to define the interface of a capability.
61
+ */
62
+ export declare const make: <T>(identifier: string) => InterfaceDef<T>;
63
+ /**
64
+ * A unique string identifier with a Typescript type associated with it.
65
+ * When a capability is contributed to the application an implementation of the interface is provided.
66
+ */
67
+ export type Capability<T> = {
68
+ /**
69
+ * The interface definition of the capability.
70
+ */
71
+ readonly interface: InterfaceDef<T>;
72
+ /**
73
+ * The implementation of the capability.
74
+ */
75
+ readonly implementation: T;
76
+ /**
77
+ * Called when the capability is deactivated.
78
+ */
79
+ readonly deactivate?: () => Effect.Effect<void, Error>;
80
+ };
81
+ export type Any = Capability<any>;
82
+ /**
83
+ * Union type representing all valid return types for a capability module.
84
+ * Supports single capabilities, arrays, and tuples of different capability types.
85
+ */
86
+ export type ModuleReturn = void | Any | Any[] | readonly Any[] | [Any, ...Any[]] | readonly [Any, ...Any[]];
87
+ /**
88
+ * Helper to define the implementation of a capability.
89
+ */
90
+ export declare const contributes: <I extends InterfaceDef<any>>(interfaceDef: I, implementation: Capability<InterfaceDef.Implementation<I>>['implementation'], deactivate?: Capability<InterfaceDef.Implementation<I>>['deactivate']) => Capability<I>;
91
+ type LoadCapability<Props, Capabilities extends ModuleReturn = ModuleReturn> = () => Promise<{
92
+ default: (props: Props) => Effect.Effect<Capabilities, Error, Service | Plugin.Service | never>;
93
+ }>;
94
+ type LoadCapabilities<Props, Capabilities extends ModuleReturn = ModuleReturn> = () => Promise<{
95
+ default: (props: Props) => Effect.Effect<Capabilities, Error, Service | Plugin.Service | never>;
96
+ }>;
97
+ type NormalizeReturn<R> = R extends readonly (infer A)[] ? A[] : R extends (infer A)[] ? A[] : R extends Any ? [R] : Any[];
98
+ export type LazyCapability<Props = void, Capabilities extends ModuleReturn = ModuleReturn, E extends Error = Error> = (props: Props) => Effect.Effect<NormalizeReturn<Capabilities>, E, Service | Plugin.Service | never>;
99
+ /**
100
+ * Helper to define a lazily loaded implementation of a capability.
101
+ * Supports single capabilities, arrays, and tuples of different capability types.
102
+ * @param name The export name (e.g., 'AppGraphBuilder') - used to auto-compute module IDs.
103
+ * @param loader The lazy loader function.
104
+ * @returns A lazy capability function with ModuleTag symbol attached.
105
+ */
106
+ export declare const lazy: <T = void, R extends ModuleReturn = ModuleReturn>(name: string, c: LoadCapability<T, R> | LoadCapabilities<T, R>) => LazyCapability<T, R>;
107
+ /**
108
+ * Gets the module tag (export name) from a lazy capability function.
109
+ * @param capability The lazy capability function.
110
+ * @returns The module tag if present, undefined otherwise.
111
+ */
112
+ export declare const getModuleTag: (capability: unknown) => string | undefined;
113
+ /**
114
+ * Helper to define a capability module with explicit typing.
115
+ * Wraps the default export function to provide better type inference and make the pattern explicit.
116
+ *
117
+ * This helper provides explicit typing for the module activation function,
118
+ * making it clear that the function should:
119
+ * - Access CapabilityManager via the Effect layer system (Capability.get, Capability.getAll, etc.)
120
+ * - Return a capability, array of capabilities, or tuple of different capability types (sync or async)
121
+ *
122
+ * Supports returning multiple capabilities of different types as a tuple, which will be normalized
123
+ * to an array at runtime for compatibility with the plugin system.
124
+ *
125
+ * @example
126
+ * ```ts
127
+ * // Module without options - single capability
128
+ * export default Capability.makeModule(
129
+ * Effect.fnUntraced(function* () {
130
+ * const client = yield* Capability.get(ClientCapabilities.Client);
131
+ * return contributes(Capabilities.SettingsStore, store);
132
+ * })
133
+ * );
134
+ *
135
+ * // Module with multiple capabilities
136
+ * export default Capability.makeModule(
137
+ * Effect.fnUntraced(function* () {
138
+ * return [
139
+ * contributes(Capabilities.SettingsStore, store),
140
+ * contributes(Capabilities.Translations, translations),
141
+ * ];
142
+ * })
143
+ * );
144
+ *
145
+ * // Module with required options (context accessed via layer)
146
+ * export default Capability.makeModule(
147
+ * Effect.fnUntraced(function* (props: { observability: boolean }) {
148
+ * const invoker = yield* Capability.get(Capabilities.OperationInvoker);
149
+ * return contributes(Capabilities.IntentResolver, ...);
150
+ * })
151
+ * );
152
+ * ```
153
+ */
154
+ export declare const makeModule: <TProps = void, TReturn extends ModuleReturn = ModuleReturn, E extends Error = Error, R extends Service | Plugin.Service | never = Service>(fn: (props: TProps) => Effect.Effect<TReturn, E, R>) => ((props: TProps) => Effect.Effect<TReturn, E, R>);
155
+ export {};
156
+ //# sourceMappingURL=capability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../../../src/core/capability.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
- export * from './capabilities';
2
- export * from './events';
3
- export * from './manager';
4
- export * from './plugin';
1
+ export * as ActivationEvent from './activation-event';
2
+ export * as Capability from './capability';
3
+ export * as CapabilityManager from './capability-manager';
4
+ export * as Plugin from './plugin';
5
+ export * as PluginAssetCache from './plugin-asset-cache';
6
+ export * as PluginManager from './plugin-manager';
7
+ export * as PluginManifest from './plugin-manifest';
8
+ export * as UrlLoader from './url-loader';
5
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,eAAe,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,iBAAiB,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,gBAAgB,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,cAAc,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC"}
@@ -0,0 +1,71 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { BaseError } from '@dxos/errors';
3
+ declare const PluginAssetCacheError_base: {
4
+ new (options?: import("@dxos/errors").BaseErrorOptions): {
5
+ cause?: unknown;
6
+ stack?: string;
7
+ name: "PluginAssetCacheError";
8
+ context: Record<string, unknown>;
9
+ readonly message: string;
10
+ readonly _tag: "PluginAssetCacheError";
11
+ };
12
+ isError(error: unknown): error is Error;
13
+ name: "PluginAssetCacheError";
14
+ is(error: unknown): error is BaseError;
15
+ wrap(options?: Omit<import("@dxos/errors").BaseErrorOptions, 'cause'> & {
16
+ ifTypeDiffers?: boolean;
17
+ }): (error: unknown) => {
18
+ cause?: unknown;
19
+ stack?: string;
20
+ name: "PluginAssetCacheError";
21
+ context: Record<string, unknown>;
22
+ readonly message: string;
23
+ readonly _tag: "PluginAssetCacheError";
24
+ };
25
+ extend<Name extends string = string>(name: Name, message?: string): any;
26
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
27
+ prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
28
+ stackTraceLimit: number;
29
+ };
30
+ /**
31
+ * Tagged error for cache operations. Construction sites supply `context.operation`
32
+ * (one of `'cache' | 'evict' | 'resolve' | 'list'`) and `context.pluginId` so
33
+ * downstream handlers can route on the failed call without scanning the message.
34
+ */
35
+ export declare class PluginAssetCacheError extends PluginAssetCacheError_base {
36
+ }
37
+ /**
38
+ * Per-platform offline cache for third-party plugin assets.
39
+ *
40
+ * Implementations live alongside their platform glue (composer-app's
41
+ * `asset-cache/{tauri,service-worker}.ts`); the no-op default is for tests
42
+ * and unsupported environments.
43
+ */
44
+ export interface Cache {
45
+ /**
46
+ * Persist all listed URLs under the namespace of `pluginId`. Idempotent.
47
+ * The order of `urls` is significant — the first entry is treated as the entry module.
48
+ */
49
+ cache(pluginId: string, urls: readonly string[]): Effect.Effect<void, PluginAssetCacheError>;
50
+ /**
51
+ * Drop all assets for a plugin (uninstall).
52
+ */
53
+ evict(pluginId: string): Effect.Effect<void, PluginAssetCacheError>;
54
+ /**
55
+ * Resolves a plugin asset URL to a platform-specific cached URL when one is available.
56
+ * Returns the original URL when no cached copy exists or the platform serves cached
57
+ * responses transparently (e.g. service worker fetch interception on web).
58
+ */
59
+ resolve(pluginId: string, url: string): Effect.Effect<string, PluginAssetCacheError>;
60
+ /**
61
+ * List currently cached plugin ids (diagnostic).
62
+ */
63
+ list(): Effect.Effect<readonly string[], PluginAssetCacheError>;
64
+ }
65
+ /**
66
+ * No-op implementation. Used when no platform cache is registered (tests, unsupported environments).
67
+ * Plugins still load — they just have no offline guarantee.
68
+ */
69
+ export declare const noop: () => Cache;
70
+ export {};
71
+ //# sourceMappingURL=plugin-asset-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-asset-cache.d.ts","sourceRoot":"","sources":["../../../../src/core/plugin-asset-cache.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEzC;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,0BAG1C;CAAG;AAEJ;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IACpB;;;OAGG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAE7F;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;IAEpE;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAErF;;OAEG;IACH,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC;CACjE;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,QAAO,KAKtB,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { Atom, Registry } from '@effect-atom/atom-react';
2
+ import * as Effect from 'effect/Effect';
3
+ import * as PubSub from 'effect/PubSub';
4
+ import * as ActivationEvent from './activation-event';
5
+ import * as CapabilityManager from './capability-manager';
6
+ import * as Plugin from './plugin';
7
+ /**
8
+ * Identifier denoting a Manager.
9
+ */
10
+ export declare const ManagerTypeId: unique symbol;
11
+ export type ManagerTypeId = typeof ManagerTypeId;
12
+ export type ManagerOptions = {
13
+ pluginLoader: (id: string) => Effect.Effect<Plugin.Plugin, Error>;
14
+ plugins?: Plugin.Plugin[];
15
+ core?: string[];
16
+ enabled?: string[];
17
+ registry?: Registry.Registry;
18
+ /**
19
+ * Hook called when a plugin is removed via {@link PluginManager.remove}. Used by the
20
+ * host app to clean up persisted state (e.g. evict offline-cached plugin assets).
21
+ * Failures are logged and swallowed; removal still succeeds even if the hook fails.
22
+ */
23
+ onRemove?: (id: string) => Effect.Effect<void, unknown>;
24
+ };
25
+ export type ActivationMessage = {
26
+ event: string;
27
+ state: 'activating' | 'activated' | 'error';
28
+ /** Module ID when the message pertains to a specific module activation. */
29
+ module?: string;
30
+ error?: Error;
31
+ };
32
+ /**
33
+ * Interface for the Plugin Manager.
34
+ */
35
+ export interface PluginManager {
36
+ readonly [ManagerTypeId]: ManagerTypeId;
37
+ readonly activation: PubSub.PubSub<ActivationMessage>;
38
+ readonly capabilities: CapabilityManager.CapabilityManager;
39
+ readonly registry: Registry.Registry;
40
+ readonly plugins: Atom.Atom<readonly Plugin.Plugin[]>;
41
+ readonly core: Atom.Atom<readonly string[]>;
42
+ readonly enabled: Atom.Atom<readonly string[]>;
43
+ readonly modules: Atom.Atom<readonly Plugin.PluginModule[]>;
44
+ readonly active: Atom.Atom<readonly string[]>;
45
+ readonly eventsFired: Atom.Atom<readonly string[]>;
46
+ readonly pendingReset: Atom.Atom<readonly string[]>;
47
+ getPlugins(): readonly Plugin.Plugin[];
48
+ getCore(): readonly string[];
49
+ getEnabled(): readonly string[];
50
+ getModules(): readonly Plugin.PluginModule[];
51
+ getActive(): readonly string[];
52
+ getEventsFired(): readonly string[];
53
+ getPendingReset(): readonly string[];
54
+ /**
55
+ * Loads a plugin via the plugin loader and registers it without enabling it.
56
+ * Returns the loaded plugin so callers can enable it by its canonical id
57
+ * (which may differ from the locator used to load it, e.g. URL loaders).
58
+ */
59
+ add(id: string): Effect.Effect<Plugin.Plugin, Error>;
60
+ enable(id: string): Effect.Effect<boolean, Error>;
61
+ remove(id: string): Effect.Effect<boolean, Error>;
62
+ disable(id: string): Effect.Effect<boolean, Error>;
63
+ activate(event: ActivationEvent.ActivationEvent | string, params?: {
64
+ before?: string;
65
+ after?: string;
66
+ }): Effect.Effect<boolean, Error>;
67
+ deactivate(id: string): Effect.Effect<boolean, Error>;
68
+ reset(event: ActivationEvent.ActivationEvent | string): Effect.Effect<boolean, Error>;
69
+ /**
70
+ * Shuts down the manager by deactivating all active modules in reverse activation order,
71
+ * clearing all capabilities, and resetting lifecycle bookkeeping.
72
+ * Plugins, core, enabled, and modules remain intact so the manager can be reused.
73
+ */
74
+ shutdown(): Effect.Effect<boolean, Error>;
75
+ }
76
+ /**
77
+ * Type guard to check if a value is a PluginManager.
78
+ */
79
+ export declare const isManager: (value: unknown) => value is PluginManager;
80
+ /**
81
+ * Creates a new Plugin Manager instance.
82
+ */
83
+ export declare const make: (options: ManagerOptions) => PluginManager;
84
+ //# sourceMappingURL=plugin-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/plugin-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=plugin-manager.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-manager.test.d.ts","sourceRoot":"","sources":["../../../../src/core/plugin-manager.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,76 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import * as Schema from 'effect/Schema';
3
+ import { BaseError } from '@dxos/errors';
4
+ declare const PluginManifestError_base: {
5
+ new (options?: import("@dxos/errors").BaseErrorOptions): {
6
+ cause?: unknown;
7
+ stack?: string;
8
+ name: "PluginManifestError";
9
+ context: Record<string, unknown>;
10
+ readonly message: string;
11
+ readonly _tag: "PluginManifestError";
12
+ };
13
+ isError(error: unknown): error is Error;
14
+ name: "PluginManifestError";
15
+ is(error: unknown): error is BaseError;
16
+ wrap(options?: Omit<import("@dxos/errors").BaseErrorOptions, 'cause'> & {
17
+ ifTypeDiffers?: boolean;
18
+ }): (error: unknown) => {
19
+ cause?: unknown;
20
+ stack?: string;
21
+ name: "PluginManifestError";
22
+ context: Record<string, unknown>;
23
+ readonly message: string;
24
+ readonly _tag: "PluginManifestError";
25
+ };
26
+ extend<Name extends string = string>(name: Name, message?: string): any;
27
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
28
+ prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
29
+ stackTraceLimit: number;
30
+ };
31
+ /**
32
+ * Tagged error for manifest fetch / parse failures. Construction sites set
33
+ * `context.manifestUrl` and `context.reason` (one of `'fetch-failed' |
34
+ * 'http-error' | 'parse-failed' | 'invalid'`) so handlers can route on the
35
+ * specific failure mode.
36
+ */
37
+ export declare class PluginManifestError extends PluginManifestError_base {
38
+ }
39
+ /**
40
+ * Schema for a third-party plugin manifest.
41
+ *
42
+ * The manifest is published as a sibling of the plugin's entry module
43
+ * ({@link PLUGIN_ENTRY_FILENAME}) and advertises every file the plugin needs at
44
+ * runtime so the host can eagerly cache them for offline use.
45
+ */
46
+ export declare const Manifest: Schema.Struct<{
47
+ id: typeof Schema.String;
48
+ name: typeof Schema.String;
49
+ version: typeof Schema.String;
50
+ assets: Schema.Array$<typeof Schema.String>;
51
+ }>;
52
+ export type Manifest = Schema.Schema.Type<typeof Manifest>;
53
+ /**
54
+ * Resolved manifest with all asset paths converted to absolute URLs.
55
+ */
56
+ export type ResolvedManifest = {
57
+ id: string;
58
+ name: string;
59
+ version: string;
60
+ entryUrl: string;
61
+ assetUrls: readonly string[];
62
+ };
63
+ /**
64
+ * Synchronous decode + validate + resolve for an in-memory manifest payload. Used
65
+ * by tests and tooling that have the manifest body already loaded; the runtime
66
+ * path goes through {@link fetchManifest}.
67
+ */
68
+ export declare const parse: (manifestUrl: string, payload: unknown) => ResolvedManifest;
69
+ /**
70
+ * Fetches and parses a manifest from the given URL via Effect's HTTP client and
71
+ * Schema-driven JSON decoding. All failure modes surface as a single tagged
72
+ * {@link PluginManifestError}; callers route on `error.context.reason`.
73
+ */
74
+ export declare const fetchManifest: (manifestUrl: string) => Effect.Effect<ResolvedManifest, PluginManifestError>;
75
+ export {};
76
+ //# sourceMappingURL=plugin-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-manifest.d.ts","sourceRoot":"","sources":["../../../../src/core/plugin-manifest.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGzC;;;;;GAKG;AACH,qBAAa,mBAAoB,SAAQ,wBAAqE;CAAG;AAEjH;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ;;;;;EAKnB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,CAAC;AAaF;;;;GAIG;AACH,eAAO,MAAM,KAAK,gBAAiB,MAAM,WAAW,OAAO,KAAG,gBAM7D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,gBAAiB,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAuBxC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=plugin-manifest.test.d.ts.map