@dxos/app-framework 0.8.4-main.e8ec1fe → 0.8.4-main.ef1bc66f44

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 (472) hide show
  1. package/.storybook/main.mts +1 -1
  2. package/.storybook/preview.mts +2 -2
  3. package/dist/lib/browser/capability-7LE5X2NH.mjs +37 -0
  4. package/dist/lib/browser/capability-7LE5X2NH.mjs.map +7 -0
  5. package/dist/lib/browser/capability-DU35RXMD.mjs +34 -0
  6. package/dist/lib/browser/capability-DU35RXMD.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-4DQMLMGU.mjs +44 -0
  8. package/dist/lib/browser/chunk-4DQMLMGU.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-EIFGKQSA.mjs +170 -0
  10. package/dist/lib/browser/chunk-EIFGKQSA.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-FHQTHCX7.mjs +8 -0
  12. package/dist/lib/browser/chunk-FHQTHCX7.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-IGRQWMWW.mjs +80 -0
  14. package/dist/lib/browser/chunk-IGRQWMWW.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  16. package/dist/lib/browser/chunk-KWP6PKIU.mjs +145 -0
  17. package/dist/lib/browser/chunk-KWP6PKIU.mjs.map +7 -0
  18. package/dist/lib/browser/chunk-NPUEVX42.mjs +34 -0
  19. package/dist/lib/browser/chunk-NPUEVX42.mjs.map +7 -0
  20. package/dist/lib/browser/chunk-PKQT6C53.mjs +47 -0
  21. package/dist/lib/browser/chunk-PKQT6C53.mjs.map +7 -0
  22. package/dist/lib/browser/chunk-WGWEEBUV.mjs +807 -0
  23. package/dist/lib/browser/chunk-WGWEEBUV.mjs.map +7 -0
  24. package/dist/lib/browser/chunk-YAFEA4GV.mjs +1 -0
  25. package/dist/lib/browser/chunk-YZQ6NFG4.mjs +781 -0
  26. package/dist/lib/browser/chunk-YZQ6NFG4.mjs.map +7 -0
  27. package/dist/lib/browser/chunk-ZQO3UZ4R.mjs +77 -0
  28. package/dist/lib/browser/chunk-ZQO3UZ4R.mjs.map +7 -0
  29. package/dist/lib/browser/cli/index.mjs +89 -0
  30. package/dist/lib/browser/cli/index.mjs.map +7 -0
  31. package/dist/lib/browser/common/activation-events.mjs +23 -0
  32. package/dist/lib/browser/common/capabilities.mjs +45 -0
  33. package/dist/lib/browser/core/activation-event.mjs +20 -0
  34. package/dist/lib/browser/core/activation-event.mjs.map +7 -0
  35. package/dist/lib/browser/core/capability.mjs +28 -0
  36. package/dist/lib/browser/core/capability.mjs.map +7 -0
  37. package/dist/lib/browser/core/plugin-manager.mjs +15 -0
  38. package/dist/lib/browser/core/plugin-manager.mjs.map +7 -0
  39. package/dist/lib/browser/core/plugin.mjs +27 -0
  40. package/dist/lib/browser/core/plugin.mjs.map +7 -0
  41. package/dist/lib/browser/index.mjs +88 -121
  42. package/dist/lib/browser/index.mjs.map +4 -4
  43. package/dist/lib/browser/invoker-capability-7QW56NOM.mjs +36 -0
  44. package/dist/lib/browser/invoker-capability-7QW56NOM.mjs.map +7 -0
  45. package/dist/lib/browser/meta.json +1 -1
  46. package/dist/lib/browser/testing/index.mjs +72 -22
  47. package/dist/lib/browser/testing/index.mjs.map +4 -4
  48. package/dist/lib/browser/ui/index.mjs +49 -0
  49. package/dist/lib/browser/ui/index.mjs.map +7 -0
  50. package/dist/lib/node-esm/capability-OSVYGK4X.mjs +38 -0
  51. package/dist/lib/node-esm/capability-OSVYGK4X.mjs.map +7 -0
  52. package/dist/lib/node-esm/capability-SR2EIZFP.mjs +35 -0
  53. package/dist/lib/node-esm/capability-SR2EIZFP.mjs.map +7 -0
  54. package/dist/lib/node-esm/chunk-64IMLAS2.mjs +78 -0
  55. package/dist/lib/node-esm/chunk-64IMLAS2.mjs.map +7 -0
  56. package/dist/lib/node-esm/chunk-7OWSHPYK.mjs +48 -0
  57. package/dist/lib/node-esm/chunk-7OWSHPYK.mjs.map +7 -0
  58. package/dist/lib/node-esm/chunk-DHSHRYIB.mjs +171 -0
  59. package/dist/lib/node-esm/chunk-DHSHRYIB.mjs.map +7 -0
  60. package/dist/lib/node-esm/chunk-DZ2XLAGI.mjs +146 -0
  61. package/dist/lib/node-esm/chunk-DZ2XLAGI.mjs.map +7 -0
  62. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  63. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  64. package/dist/lib/node-esm/chunk-J2PHTRHC.mjs +45 -0
  65. package/dist/lib/node-esm/chunk-J2PHTRHC.mjs.map +7 -0
  66. package/dist/lib/node-esm/chunk-JAZVHID3.mjs +35 -0
  67. package/dist/lib/node-esm/chunk-JAZVHID3.mjs.map +7 -0
  68. package/dist/lib/node-esm/chunk-OQYHRZYF.mjs +81 -0
  69. package/dist/lib/node-esm/chunk-OQYHRZYF.mjs.map +7 -0
  70. package/dist/lib/node-esm/chunk-UEWJDI2L.mjs +10 -0
  71. package/dist/lib/node-esm/chunk-UEWJDI2L.mjs.map +7 -0
  72. package/dist/lib/node-esm/chunk-VV4YHPQQ.mjs +782 -0
  73. package/dist/lib/node-esm/chunk-VV4YHPQQ.mjs.map +7 -0
  74. package/dist/lib/node-esm/chunk-XHAKT6UD.mjs +808 -0
  75. package/dist/lib/node-esm/chunk-XHAKT6UD.mjs.map +7 -0
  76. package/dist/lib/node-esm/chunk-Z4TJPSMP.mjs +2 -0
  77. package/dist/lib/node-esm/chunk-Z4TJPSMP.mjs.map +7 -0
  78. package/dist/lib/node-esm/cli/index.mjs +90 -0
  79. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  80. package/dist/lib/node-esm/common/activation-events.mjs +24 -0
  81. package/dist/lib/node-esm/common/activation-events.mjs.map +7 -0
  82. package/dist/lib/node-esm/common/capabilities.mjs +46 -0
  83. package/dist/lib/node-esm/common/capabilities.mjs.map +7 -0
  84. package/dist/lib/node-esm/core/activation-event.mjs +21 -0
  85. package/dist/lib/node-esm/core/activation-event.mjs.map +7 -0
  86. package/dist/lib/node-esm/core/capability.mjs +29 -0
  87. package/dist/lib/node-esm/core/capability.mjs.map +7 -0
  88. package/dist/lib/node-esm/core/plugin-manager.mjs +16 -0
  89. package/dist/lib/node-esm/core/plugin-manager.mjs.map +7 -0
  90. package/dist/lib/node-esm/core/plugin.mjs +28 -0
  91. package/dist/lib/node-esm/core/plugin.mjs.map +7 -0
  92. package/dist/lib/node-esm/index.mjs +88 -121
  93. package/dist/lib/node-esm/index.mjs.map +4 -4
  94. package/dist/lib/node-esm/invoker-capability-CK4AMF2R.mjs +37 -0
  95. package/dist/lib/node-esm/invoker-capability-CK4AMF2R.mjs.map +7 -0
  96. package/dist/lib/node-esm/meta.json +1 -1
  97. package/dist/lib/node-esm/testing/index.mjs +72 -22
  98. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  99. package/dist/lib/node-esm/ui/index.mjs +50 -0
  100. package/dist/lib/node-esm/ui/index.mjs.map +7 -0
  101. package/dist/types/src/cli/cli.d.ts +39 -0
  102. package/dist/types/src/cli/cli.d.ts.map +1 -0
  103. package/dist/types/src/cli/index.d.ts +2 -0
  104. package/dist/types/src/cli/index.d.ts.map +1 -0
  105. package/dist/types/src/common/activation-events.d.ts +27 -0
  106. package/dist/types/src/common/activation-events.d.ts.map +1 -0
  107. package/dist/types/src/common/capabilities.d.ts +114 -194
  108. package/dist/types/src/common/capabilities.d.ts.map +1 -1
  109. package/dist/types/src/common/index.d.ts +4 -8
  110. package/dist/types/src/common/index.d.ts.map +1 -1
  111. package/dist/types/src/common/operations.d.ts +33 -0
  112. package/dist/types/src/common/operations.d.ts.map +1 -0
  113. package/dist/types/src/common/translations.d.ts +7 -7
  114. package/dist/types/src/common/translations.d.ts.map +1 -1
  115. package/dist/types/src/context.d.ts +5 -0
  116. package/dist/types/src/context.d.ts.map +1 -0
  117. package/dist/types/src/core/{events.d.ts → activation-event.d.ts} +6 -6
  118. package/dist/types/src/core/activation-event.d.ts.map +1 -0
  119. package/dist/types/src/core/capability-manager.d.ts +43 -0
  120. package/dist/types/src/core/capability-manager.d.ts.map +1 -0
  121. package/dist/types/src/core/capability-manager.test.d.ts +2 -0
  122. package/dist/types/src/core/capability-manager.test.d.ts.map +1 -0
  123. package/dist/types/src/core/capability.d.ts +150 -0
  124. package/dist/types/src/core/capability.d.ts.map +1 -0
  125. package/dist/types/src/core/index.d.ts +5 -4
  126. package/dist/types/src/core/index.d.ts.map +1 -1
  127. package/dist/types/src/core/plugin-manager.d.ts +66 -0
  128. package/dist/types/src/core/plugin-manager.d.ts.map +1 -0
  129. package/dist/types/src/core/plugin-manager.test.d.ts +2 -0
  130. package/dist/types/src/core/plugin-manager.test.d.ts.map +1 -0
  131. package/dist/types/src/core/plugin.d.ts +92 -34
  132. package/dist/types/src/core/plugin.d.ts.map +1 -1
  133. package/dist/types/src/index.d.ts +3 -2
  134. package/dist/types/src/index.d.ts.map +1 -1
  135. package/dist/types/src/plugin-operation/OperationPlugin.d.ts +3 -0
  136. package/dist/types/src/plugin-operation/OperationPlugin.d.ts.map +1 -0
  137. package/dist/types/src/plugin-operation/history/capability.d.ts +7 -0
  138. package/dist/types/src/plugin-operation/history/capability.d.ts.map +1 -0
  139. package/dist/types/src/plugin-operation/history/errors.d.ts +5 -0
  140. package/dist/types/src/plugin-operation/history/errors.d.ts.map +1 -0
  141. package/dist/types/src/plugin-operation/history/history-tracker.d.ts +18 -0
  142. package/dist/types/src/plugin-operation/history/history-tracker.d.ts.map +1 -0
  143. package/dist/types/src/plugin-operation/history/history-tracker.test.d.ts +2 -0
  144. package/dist/types/src/plugin-operation/history/history-tracker.test.d.ts.map +1 -0
  145. package/dist/types/src/plugin-operation/history/index.d.ts +6 -0
  146. package/dist/types/src/plugin-operation/history/index.d.ts.map +1 -0
  147. package/dist/types/src/plugin-operation/history/types.d.ts +13 -0
  148. package/dist/types/src/plugin-operation/history/types.d.ts.map +1 -0
  149. package/dist/types/src/plugin-operation/history/undo-mapping.d.ts +101 -0
  150. package/dist/types/src/plugin-operation/history/undo-mapping.d.ts.map +1 -0
  151. package/dist/types/src/plugin-operation/history/undo-registry.d.ts +23 -0
  152. package/dist/types/src/plugin-operation/history/undo-registry.d.ts.map +1 -0
  153. package/dist/types/src/plugin-operation/history/undo-registry.test.d.ts +2 -0
  154. package/dist/types/src/plugin-operation/history/undo-registry.test.d.ts.map +1 -0
  155. package/dist/types/src/plugin-operation/index.d.ts +3 -0
  156. package/dist/types/src/plugin-operation/index.d.ts.map +1 -0
  157. package/dist/types/src/plugin-operation/invoker-capability.d.ts +6 -0
  158. package/dist/types/src/plugin-operation/invoker-capability.d.ts.map +1 -0
  159. package/dist/types/src/plugin-operation/meta.d.ts +3 -0
  160. package/dist/types/src/plugin-operation/meta.d.ts.map +1 -0
  161. package/dist/types/src/plugin-operation/testing.d.ts +109 -0
  162. package/dist/types/src/plugin-operation/testing.d.ts.map +1 -0
  163. package/dist/types/src/plugin-runtime/RuntimePlugin.d.ts +3 -0
  164. package/dist/types/src/plugin-runtime/RuntimePlugin.d.ts.map +1 -0
  165. package/dist/types/src/plugin-runtime/capability.d.ts +6 -0
  166. package/dist/types/src/plugin-runtime/capability.d.ts.map +1 -0
  167. package/dist/types/src/plugin-runtime/index.d.ts +2 -0
  168. package/dist/types/src/plugin-runtime/index.d.ts.map +1 -0
  169. package/dist/types/src/plugin-runtime/meta.d.ts +3 -0
  170. package/dist/types/src/plugin-runtime/meta.d.ts.map +1 -0
  171. package/dist/types/src/testing/index.d.ts +1 -0
  172. package/dist/types/src/testing/index.d.ts.map +1 -1
  173. package/dist/types/src/testing/service.d.ts +8 -0
  174. package/dist/types/src/testing/service.d.ts.map +1 -0
  175. package/dist/types/src/testing/withPluginManager.d.ts +4 -4
  176. package/dist/types/src/testing/withPluginManager.d.ts.map +1 -1
  177. package/dist/types/src/ui/components/App.d.ts +8 -0
  178. package/dist/types/src/ui/components/App.d.ts.map +1 -0
  179. package/dist/types/src/ui/components/App.stories.d.ts.map +1 -0
  180. package/dist/types/src/ui/components/DefaultFallback.d.ts.map +1 -0
  181. package/dist/types/src/ui/components/ErrorBoundary.d.ts.map +1 -0
  182. package/dist/types/src/{playground/playground.stories.d.ts → ui/components/PluginManagerContext.stories.d.ts} +5 -3
  183. package/dist/types/src/ui/components/PluginManagerContext.stories.d.ts.map +1 -0
  184. package/dist/types/src/ui/components/PluginManagerProvider.d.ts +10 -0
  185. package/dist/types/src/ui/components/PluginManagerProvider.d.ts.map +1 -0
  186. package/dist/types/src/ui/components/index.d.ts +5 -0
  187. package/dist/types/src/ui/components/index.d.ts.map +1 -0
  188. package/dist/types/src/ui/components/surface/SurfaceComponent.d.ts +12 -0
  189. package/dist/types/src/ui/components/surface/SurfaceComponent.d.ts.map +1 -0
  190. package/dist/types/src/{react/Surface.stories.d.ts → ui/components/surface/SurfaceComponent.stories.d.ts} +1 -1
  191. package/dist/types/src/ui/components/surface/SurfaceComponent.stories.d.ts.map +1 -0
  192. package/dist/types/src/ui/components/surface/SurfaceInfo.d.ts +11 -0
  193. package/dist/types/src/ui/components/surface/SurfaceInfo.d.ts.map +1 -0
  194. package/dist/types/src/ui/components/surface/context.d.ts +5 -0
  195. package/dist/types/src/ui/components/surface/context.d.ts.map +1 -0
  196. package/dist/types/src/ui/components/surface/index.d.ts +5 -0
  197. package/dist/types/src/ui/components/surface/index.d.ts.map +1 -0
  198. package/dist/types/src/ui/components/surface/types.d.ts +94 -0
  199. package/dist/types/src/ui/components/surface/types.d.ts.map +1 -0
  200. package/dist/types/src/ui/hooks/index.d.ts +7 -0
  201. package/dist/types/src/ui/hooks/index.d.ts.map +1 -0
  202. package/dist/types/src/{react → ui/hooks}/useApp.d.ts +12 -6
  203. package/dist/types/src/ui/hooks/useApp.d.ts.map +1 -0
  204. package/dist/types/src/ui/hooks/useCapabilities.d.ts +31 -0
  205. package/dist/types/src/ui/hooks/useCapabilities.d.ts.map +1 -0
  206. package/dist/types/src/{react → ui/hooks}/useLoading.d.ts +1 -2
  207. package/dist/types/src/ui/hooks/useLoading.d.ts.map +1 -0
  208. package/dist/types/src/ui/hooks/useOperationResolver.d.ts +19 -0
  209. package/dist/types/src/ui/hooks/useOperationResolver.d.ts.map +1 -0
  210. package/dist/types/src/ui/hooks/useSettingsState.d.ts +10 -0
  211. package/dist/types/src/ui/hooks/useSettingsState.d.ts.map +1 -0
  212. package/dist/types/src/ui/hooks/useSurface.d.ts +3 -0
  213. package/dist/types/src/ui/hooks/useSurface.d.ts.map +1 -0
  214. package/dist/types/src/ui/index.d.ts +4 -0
  215. package/dist/types/src/ui/index.d.ts.map +1 -0
  216. package/dist/types/tsconfig.tsbuildinfo +1 -1
  217. package/moon.yml +10 -3
  218. package/package.json +112 -52
  219. package/src/cli/cli.ts +107 -0
  220. package/src/{playground/debug → cli}/index.ts +1 -1
  221. package/src/common/activation-events.ts +44 -0
  222. package/src/common/capabilities.ts +174 -210
  223. package/src/common/index.ts +4 -8
  224. package/src/common/operations.ts +38 -0
  225. package/src/common/translations.ts +17 -9
  226. package/src/context.ts +9 -0
  227. package/src/core/{events.ts → activation-event.ts} +5 -5
  228. package/src/core/capability-manager.test.ts +151 -0
  229. package/src/core/capability-manager.ts +171 -0
  230. package/src/core/capability.ts +236 -0
  231. package/src/core/index.ts +5 -4
  232. package/src/core/plugin-manager.test.ts +845 -0
  233. package/src/core/plugin-manager.ts +696 -0
  234. package/src/core/plugin.ts +221 -39
  235. package/src/index.ts +3 -2
  236. package/src/plugin-operation/OperationPlugin.ts +25 -0
  237. package/src/plugin-operation/history/capability.ts +37 -0
  238. package/src/plugin-operation/history/errors.ts +11 -0
  239. package/src/plugin-operation/history/history-tracker.test.ts +380 -0
  240. package/src/plugin-operation/history/history-tracker.ts +129 -0
  241. package/src/plugin-operation/history/index.ts +9 -0
  242. package/src/plugin-operation/history/types.ts +17 -0
  243. package/src/plugin-operation/history/undo-mapping.ts +135 -0
  244. package/src/plugin-operation/history/undo-registry.test.ts +73 -0
  245. package/src/plugin-operation/history/undo-registry.ts +54 -0
  246. package/src/plugin-operation/index.ts +6 -0
  247. package/src/plugin-operation/invoker-capability.ts +40 -0
  248. package/src/plugin-operation/meta.ts +11 -0
  249. package/src/plugin-operation/testing.ts +174 -0
  250. package/src/plugin-runtime/RuntimePlugin.ts +20 -0
  251. package/src/plugin-runtime/capability.ts +53 -0
  252. package/src/{playground/layout → plugin-runtime}/index.ts +1 -1
  253. package/src/plugin-runtime/meta.ts +11 -0
  254. package/src/testing/index.ts +1 -0
  255. package/src/testing/service.ts +52 -0
  256. package/src/testing/withPluginManager.stories.tsx +7 -7
  257. package/src/testing/withPluginManager.tsx +21 -23
  258. package/src/ui/components/App.stories.tsx +62 -0
  259. package/src/{react → ui/components}/App.tsx +9 -11
  260. package/src/ui/components/PluginManagerContext.stories.tsx +183 -0
  261. package/src/{react → ui/components}/PluginManagerProvider.ts +3 -3
  262. package/src/ui/components/index.ts +8 -0
  263. package/src/{react/Surface.stories.tsx → ui/components/surface/SurfaceComponent.stories.tsx} +36 -19
  264. package/src/ui/components/surface/SurfaceComponent.tsx +262 -0
  265. package/src/ui/components/surface/SurfaceInfo.tsx +107 -0
  266. package/src/ui/components/surface/context.ts +12 -0
  267. package/src/ui/components/surface/index.ts +8 -0
  268. package/src/ui/components/surface/types.ts +119 -0
  269. package/src/ui/hooks/index.ts +10 -0
  270. package/src/ui/hooks/useApp.tsx +215 -0
  271. package/src/ui/hooks/useCapabilities.ts +67 -0
  272. package/src/{react → ui/hooks}/useLoading.tsx +4 -6
  273. package/src/ui/hooks/useOperationResolver.ts +40 -0
  274. package/src/ui/hooks/useSettingsState.ts +26 -0
  275. package/src/ui/hooks/useSurface.ts +13 -0
  276. package/src/ui/index.ts +7 -0
  277. package/tsconfig.json +10 -31
  278. package/.swc/plugins/linux_x86_64_19.0.0/fce1bdb8e20a094e4af08bad09cc81497ed0e2e7c51223b07d371063cca18429.wasmer-v7 +0 -0
  279. package/dist/lib/browser/app-graph-builder-OIEZZC45.mjs +0 -138
  280. package/dist/lib/browser/app-graph-builder-OIEZZC45.mjs.map +0 -7
  281. package/dist/lib/browser/chunk-SCPE4ZO2.mjs +0 -35
  282. package/dist/lib/browser/chunk-SCPE4ZO2.mjs.map +0 -7
  283. package/dist/lib/browser/chunk-VFUKEZIN.mjs +0 -483
  284. package/dist/lib/browser/chunk-VFUKEZIN.mjs.map +0 -7
  285. package/dist/lib/browser/chunk-WPW5VVAX.mjs +0 -1651
  286. package/dist/lib/browser/chunk-WPW5VVAX.mjs.map +0 -7
  287. package/dist/lib/browser/intent-dispatcher-LZ4AE66E.mjs +0 -11
  288. package/dist/lib/browser/intent-resolver-QVCKRX6G.mjs +0 -39
  289. package/dist/lib/browser/intent-resolver-QVCKRX6G.mjs.map +0 -7
  290. package/dist/lib/browser/react/index.mjs +0 -34
  291. package/dist/lib/browser/store-CNPHOYTJ.mjs +0 -30
  292. package/dist/lib/browser/store-CNPHOYTJ.mjs.map +0 -7
  293. package/dist/lib/node-esm/app-graph-builder-EBU4NVWD.mjs +0 -139
  294. package/dist/lib/node-esm/app-graph-builder-EBU4NVWD.mjs.map +0 -7
  295. package/dist/lib/node-esm/chunk-IJOHO66N.mjs +0 -484
  296. package/dist/lib/node-esm/chunk-IJOHO66N.mjs.map +0 -7
  297. package/dist/lib/node-esm/chunk-XJZGUJ3H.mjs +0 -1653
  298. package/dist/lib/node-esm/chunk-XJZGUJ3H.mjs.map +0 -7
  299. package/dist/lib/node-esm/chunk-ZX63QUGE.mjs +0 -37
  300. package/dist/lib/node-esm/chunk-ZX63QUGE.mjs.map +0 -7
  301. package/dist/lib/node-esm/intent-dispatcher-MGOJ3CHD.mjs +0 -12
  302. package/dist/lib/node-esm/intent-resolver-URF3HN3G.mjs +0 -40
  303. package/dist/lib/node-esm/intent-resolver-URF3HN3G.mjs.map +0 -7
  304. package/dist/lib/node-esm/react/index.mjs +0 -35
  305. package/dist/lib/node-esm/store-RK5B4XEL.mjs +0 -31
  306. package/dist/lib/node-esm/store-RK5B4XEL.mjs.map +0 -7
  307. package/dist/types/src/common/collaboration.d.ts +0 -20
  308. package/dist/types/src/common/collaboration.d.ts.map +0 -1
  309. package/dist/types/src/common/events.d.ts +0 -52
  310. package/dist/types/src/common/events.d.ts.map +0 -1
  311. package/dist/types/src/common/file.d.ts +0 -14
  312. package/dist/types/src/common/file.d.ts.map +0 -1
  313. package/dist/types/src/common/graph.d.ts +0 -21
  314. package/dist/types/src/common/graph.d.ts.map +0 -1
  315. package/dist/types/src/common/layout.d.ts +0 -279
  316. package/dist/types/src/common/layout.d.ts.map +0 -1
  317. package/dist/types/src/common/surface.d.ts +0 -68
  318. package/dist/types/src/common/surface.d.ts.map +0 -1
  319. package/dist/types/src/core/capabilities.d.ts +0 -117
  320. package/dist/types/src/core/capabilities.d.ts.map +0 -1
  321. package/dist/types/src/core/capabilities.test.d.ts +0 -2
  322. package/dist/types/src/core/capabilities.test.d.ts.map +0 -1
  323. package/dist/types/src/core/events.d.ts.map +0 -1
  324. package/dist/types/src/core/manager.d.ts +0 -126
  325. package/dist/types/src/core/manager.d.ts.map +0 -1
  326. package/dist/types/src/core/manager.test.d.ts +0 -2
  327. package/dist/types/src/core/manager.test.d.ts.map +0 -1
  328. package/dist/types/src/playground/debug/Debug.d.ts +0 -6
  329. package/dist/types/src/playground/debug/Debug.d.ts.map +0 -1
  330. package/dist/types/src/playground/debug/index.d.ts +0 -2
  331. package/dist/types/src/playground/debug/index.d.ts.map +0 -1
  332. package/dist/types/src/playground/debug/plugin.d.ts +0 -2
  333. package/dist/types/src/playground/debug/plugin.d.ts.map +0 -1
  334. package/dist/types/src/playground/generator/Main.d.ts +0 -6
  335. package/dist/types/src/playground/generator/Main.d.ts.map +0 -1
  336. package/dist/types/src/playground/generator/Toolbar.d.ts +0 -6
  337. package/dist/types/src/playground/generator/Toolbar.d.ts.map +0 -1
  338. package/dist/types/src/playground/generator/generator.d.ts +0 -7
  339. package/dist/types/src/playground/generator/generator.d.ts.map +0 -1
  340. package/dist/types/src/playground/generator/index.d.ts +0 -3
  341. package/dist/types/src/playground/generator/index.d.ts.map +0 -1
  342. package/dist/types/src/playground/generator/plugin.d.ts +0 -2
  343. package/dist/types/src/playground/generator/plugin.d.ts.map +0 -1
  344. package/dist/types/src/playground/layout/Layout.d.ts +0 -8
  345. package/dist/types/src/playground/layout/Layout.d.ts.map +0 -1
  346. package/dist/types/src/playground/layout/index.d.ts +0 -2
  347. package/dist/types/src/playground/layout/index.d.ts.map +0 -1
  348. package/dist/types/src/playground/layout/plugin.d.ts +0 -2
  349. package/dist/types/src/playground/layout/plugin.d.ts.map +0 -1
  350. package/dist/types/src/playground/logger/Toolbar.d.ts +0 -6
  351. package/dist/types/src/playground/logger/Toolbar.d.ts.map +0 -1
  352. package/dist/types/src/playground/logger/index.d.ts +0 -2
  353. package/dist/types/src/playground/logger/index.d.ts.map +0 -1
  354. package/dist/types/src/playground/logger/plugin.d.ts +0 -2
  355. package/dist/types/src/playground/logger/plugin.d.ts.map +0 -1
  356. package/dist/types/src/playground/logger/schema.d.ts +0 -13
  357. package/dist/types/src/playground/logger/schema.d.ts.map +0 -1
  358. package/dist/types/src/playground/playground.stories.d.ts.map +0 -1
  359. package/dist/types/src/plugin-intent/IntentPlugin.d.ts +0 -2
  360. package/dist/types/src/plugin-intent/IntentPlugin.d.ts.map +0 -1
  361. package/dist/types/src/plugin-intent/actions.d.ts +0 -36
  362. package/dist/types/src/plugin-intent/actions.d.ts.map +0 -1
  363. package/dist/types/src/plugin-intent/errors.d.ts +0 -16
  364. package/dist/types/src/plugin-intent/errors.d.ts.map +0 -1
  365. package/dist/types/src/plugin-intent/index.d.ts +0 -6
  366. package/dist/types/src/plugin-intent/index.d.ts.map +0 -1
  367. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts +0 -139
  368. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts.map +0 -1
  369. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts +0 -2
  370. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts.map +0 -1
  371. package/dist/types/src/plugin-intent/intent.d.ts +0 -63
  372. package/dist/types/src/plugin-intent/intent.d.ts.map +0 -1
  373. package/dist/types/src/plugin-intent/meta.d.ts +0 -3
  374. package/dist/types/src/plugin-intent/meta.d.ts.map +0 -1
  375. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts +0 -2
  376. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts.map +0 -1
  377. package/dist/types/src/plugin-settings/actions.d.ts +0 -25
  378. package/dist/types/src/plugin-settings/actions.d.ts.map +0 -1
  379. package/dist/types/src/plugin-settings/app-graph-builder.d.ts +0 -4
  380. package/dist/types/src/plugin-settings/app-graph-builder.d.ts.map +0 -1
  381. package/dist/types/src/plugin-settings/index.d.ts +0 -3
  382. package/dist/types/src/plugin-settings/index.d.ts.map +0 -1
  383. package/dist/types/src/plugin-settings/intent-resolver.d.ts +0 -4
  384. package/dist/types/src/plugin-settings/intent-resolver.d.ts.map +0 -1
  385. package/dist/types/src/plugin-settings/meta.d.ts +0 -3
  386. package/dist/types/src/plugin-settings/meta.d.ts.map +0 -1
  387. package/dist/types/src/plugin-settings/store.d.ts +0 -5
  388. package/dist/types/src/plugin-settings/store.d.ts.map +0 -1
  389. package/dist/types/src/plugin-settings/translations.d.ts +0 -11
  390. package/dist/types/src/plugin-settings/translations.d.ts.map +0 -1
  391. package/dist/types/src/react/App.d.ts +0 -10
  392. package/dist/types/src/react/App.d.ts.map +0 -1
  393. package/dist/types/src/react/App.stories.d.ts.map +0 -1
  394. package/dist/types/src/react/DefaultFallback.d.ts.map +0 -1
  395. package/dist/types/src/react/ErrorBoundary.d.ts.map +0 -1
  396. package/dist/types/src/react/IntentContext.d.ts +0 -8
  397. package/dist/types/src/react/IntentContext.d.ts.map +0 -1
  398. package/dist/types/src/react/PluginManagerProvider.d.ts +0 -10
  399. package/dist/types/src/react/PluginManagerProvider.d.ts.map +0 -1
  400. package/dist/types/src/react/Surface.d.ts +0 -12
  401. package/dist/types/src/react/Surface.d.ts.map +0 -1
  402. package/dist/types/src/react/Surface.stories.d.ts.map +0 -1
  403. package/dist/types/src/react/common.d.ts +0 -13
  404. package/dist/types/src/react/common.d.ts.map +0 -1
  405. package/dist/types/src/react/index.d.ts +0 -9
  406. package/dist/types/src/react/index.d.ts.map +0 -1
  407. package/dist/types/src/react/types.d.ts +0 -14
  408. package/dist/types/src/react/types.d.ts.map +0 -1
  409. package/dist/types/src/react/useApp.d.ts.map +0 -1
  410. package/dist/types/src/react/useCapabilities.d.ts +0 -13
  411. package/dist/types/src/react/useCapabilities.d.ts.map +0 -1
  412. package/dist/types/src/react/useIntentResolver.d.ts +0 -3
  413. package/dist/types/src/react/useIntentResolver.d.ts.map +0 -1
  414. package/dist/types/src/react/useLoading.d.ts.map +0 -1
  415. package/src/common/collaboration.ts +0 -18
  416. package/src/common/events.ts +0 -79
  417. package/src/common/file.ts +0 -22
  418. package/src/common/graph.ts +0 -30
  419. package/src/common/layout.ts +0 -277
  420. package/src/common/surface.ts +0 -88
  421. package/src/core/capabilities.test.ts +0 -136
  422. package/src/core/capabilities.ts +0 -263
  423. package/src/core/manager.test.ts +0 -516
  424. package/src/core/manager.ts +0 -604
  425. package/src/playground/debug/Debug.tsx +0 -39
  426. package/src/playground/debug/plugin.ts +0 -16
  427. package/src/playground/generator/Main.tsx +0 -70
  428. package/src/playground/generator/Toolbar.tsx +0 -47
  429. package/src/playground/generator/generator.ts +0 -48
  430. package/src/playground/generator/index.ts +0 -6
  431. package/src/playground/generator/plugin.ts +0 -22
  432. package/src/playground/layout/Layout.tsx +0 -33
  433. package/src/playground/layout/plugin.ts +0 -18
  434. package/src/playground/logger/Toolbar.tsx +0 -30
  435. package/src/playground/logger/index.ts +0 -5
  436. package/src/playground/logger/plugin.ts +0 -41
  437. package/src/playground/logger/schema.ts +0 -12
  438. package/src/playground/playground.stories.tsx +0 -46
  439. package/src/plugin-intent/IntentPlugin.ts +0 -20
  440. package/src/plugin-intent/actions.ts +0 -31
  441. package/src/plugin-intent/errors.ts +0 -40
  442. package/src/plugin-intent/index.ts +0 -9
  443. package/src/plugin-intent/intent-dispatcher.test.ts +0 -286
  444. package/src/plugin-intent/intent-dispatcher.ts +0 -342
  445. package/src/plugin-intent/intent.ts +0 -154
  446. package/src/plugin-intent/meta.ts +0 -10
  447. package/src/plugin-settings/SettingsPlugin.ts +0 -34
  448. package/src/plugin-settings/actions.ts +0 -25
  449. package/src/plugin-settings/app-graph-builder.ts +0 -160
  450. package/src/plugin-settings/index.ts +0 -6
  451. package/src/plugin-settings/intent-resolver.ts +0 -35
  452. package/src/plugin-settings/meta.ts +0 -10
  453. package/src/plugin-settings/store.ts +0 -33
  454. package/src/plugin-settings/translations.ts +0 -19
  455. package/src/react/App.stories.tsx +0 -33
  456. package/src/react/IntentContext.tsx +0 -35
  457. package/src/react/Surface.tsx +0 -109
  458. package/src/react/common.ts +0 -13
  459. package/src/react/index.ts +0 -14
  460. package/src/react/types.ts +0 -37
  461. package/src/react/useApp.tsx +0 -165
  462. package/src/react/useCapabilities.ts +0 -31
  463. package/src/react/useIntentResolver.ts +0 -22
  464. /package/dist/lib/browser/{intent-dispatcher-LZ4AE66E.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  465. /package/dist/lib/browser/{react/index.mjs.map → chunk-YAFEA4GV.mjs.map} +0 -0
  466. /package/dist/lib/{node-esm/intent-dispatcher-MGOJ3CHD.mjs.map → browser/common/activation-events.mjs.map} +0 -0
  467. /package/dist/lib/{node-esm/react/index.mjs.map → browser/common/capabilities.mjs.map} +0 -0
  468. /package/dist/types/src/{react → ui/components}/App.stories.d.ts +0 -0
  469. /package/dist/types/src/{react → ui/components}/DefaultFallback.d.ts +0 -0
  470. /package/dist/types/src/{react → ui/components}/ErrorBoundary.d.ts +0 -0
  471. /package/src/{react → ui/components}/DefaultFallback.tsx +0 -0
  472. /package/src/{react → ui/components}/ErrorBoundary.tsx +0 -0
@@ -1,26 +1,77 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  useApp
4
- } from "../chunk-IJOHO66N.mjs";
4
+ } from "../chunk-VV4YHPQQ.mjs";
5
+ import "../chunk-UEWJDI2L.mjs";
6
+ import "../chunk-J2PHTRHC.mjs";
5
7
  import {
6
- Capabilities,
7
- Events,
8
- PluginManager,
9
- contributes,
10
- defineModule,
11
- definePlugin
12
- } from "../chunk-XJZGUJ3H.mjs";
8
+ capabilities_exports
9
+ } from "../chunk-OQYHRZYF.mjs";
10
+ import {
11
+ activation_events_exports
12
+ } from "../chunk-JAZVHID3.mjs";
13
+ import "../chunk-Z4TJPSMP.mjs";
14
+ import {
15
+ plugin_manager_exports
16
+ } from "../chunk-XHAKT6UD.mjs";
17
+ import "../chunk-7OWSHPYK.mjs";
18
+ import {
19
+ plugin_exports
20
+ } from "../chunk-DZ2XLAGI.mjs";
21
+ import {
22
+ capability_exports
23
+ } from "../chunk-64IMLAS2.mjs";
24
+ import "../chunk-HSLMI22Q.mjs";
25
+
26
+ // src/testing/service.ts
27
+ import * as Effect from "effect/Effect";
28
+ import * as Layer from "effect/Layer";
29
+ import { invariant } from "@dxos/invariant";
30
+ var __dxlog_file = "/__w/dxos/dxos/packages/sdk/app-framework/src/testing/service.ts";
31
+ var fromPlugins = (plugins) => Layer.effect(plugin_exports.Service, Effect.gen(function* () {
32
+ const pluginLoader = (id) => Effect.sync(() => {
33
+ const plugin = plugins.find((plugin2) => plugin2.meta.id === id);
34
+ invariant(plugin, `Plugin not found: ${id}`, {
35
+ F: __dxlog_file,
36
+ L: 26,
37
+ S: this,
38
+ A: [
39
+ "plugin",
40
+ "`Plugin not found: ${id}`"
41
+ ]
42
+ });
43
+ return plugin;
44
+ });
45
+ const manager = plugin_manager_exports.make({
46
+ pluginLoader,
47
+ plugins,
48
+ core: plugins.map((plugin) => plugin.meta.id)
49
+ });
50
+ manager.capabilities.contribute({
51
+ interface: capabilities_exports.PluginManager,
52
+ implementation: manager,
53
+ module: "dxos.org/app-framework/plugin-manager"
54
+ });
55
+ manager.capabilities.contribute({
56
+ interface: capabilities_exports.AtomRegistry,
57
+ implementation: manager.registry,
58
+ module: "dxos.org/app-framework/atom-registry"
59
+ });
60
+ yield* manager.activate(activation_events_exports.Startup);
61
+ return manager;
62
+ }));
13
63
 
14
64
  // src/testing/withPluginManager.tsx
65
+ import * as Effect2 from "effect/Effect";
15
66
  import React, { useEffect, useMemo } from "react";
16
67
  import { raise } from "@dxos/debug";
17
68
  import { useAsyncEffect } from "@dxos/react-hooks";
18
69
  import { getProviderValue } from "@dxos/util";
19
70
  var setupPluginManager = ({ capabilities, plugins = [], core = plugins.map(({ meta }) => meta.id), ...options } = {}) => {
20
- const pluginManager = new PluginManager({
71
+ const pluginManager = plugin_manager_exports.make({
21
72
  pluginLoader: () => raise(new Error("Not implemented")),
22
73
  plugins: [
23
- StoryPlugin(),
74
+ StoryPlugin,
24
75
  ...plugins
25
76
  ],
26
77
  core: [
@@ -30,8 +81,8 @@ var setupPluginManager = ({ capabilities, plugins = [], core = plugins.map(({ me
30
81
  ...options
31
82
  });
32
83
  if (capabilities) {
33
- getProviderValue(capabilities, pluginManager.context).forEach((capability) => {
34
- pluginManager.context.contributeCapability({
84
+ getProviderValue(capabilities, pluginManager.capabilities).forEach((capability) => {
85
+ pluginManager.capabilities.contribute({
35
86
  interface: capability.interface,
36
87
  implementation: capability.implementation,
37
88
  module: "story"
@@ -47,16 +98,16 @@ var withPluginManager = (init = {}) => {
47
98
  init
48
99
  ]);
49
100
  useEffect(() => {
50
- const capability = contributes(Capabilities.ReactRoot, {
101
+ const capability = capability_exports.contributes(capabilities_exports.ReactRoot, {
51
102
  id: context.id,
52
103
  root: () => /* @__PURE__ */ React.createElement(Story, null)
53
104
  });
54
- pluginManager.context.contributeCapability({
105
+ pluginManager.capabilities.contribute({
55
106
  ...capability,
56
107
  module: "dxos.org/app-framework/withPluginManager"
57
108
  });
58
109
  return () => {
59
- pluginManager.context.removeCapability(capability.interface, capability.implementation);
110
+ pluginManager.capabilities.remove(capability.interface, capability.implementation);
60
111
  };
61
112
  }, [
62
113
  pluginManager,
@@ -77,14 +128,13 @@ var storyMeta = {
77
128
  id: "dxos.org/app-framework/story",
78
129
  name: "Story"
79
130
  };
80
- var StoryPlugin = definePlugin(storyMeta, () => [
81
- defineModule({
82
- id: storyMeta.id,
83
- activatesOn: Events.Startup,
84
- activate: () => []
85
- })
86
- ]);
131
+ var StoryPlugin = plugin_exports.define(storyMeta).pipe(plugin_exports.addModule({
132
+ id: "Story",
133
+ activatesOn: activation_events_exports.Startup,
134
+ activate: () => Effect2.succeed([])
135
+ }), plugin_exports.make)();
87
136
  export {
137
+ fromPlugins,
88
138
  setupPluginManager,
89
139
  withPluginManager
90
140
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/testing/withPluginManager.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Decorator, type StoryContext } from '@storybook/react';\nimport React, { useEffect, useMemo } from 'react';\n\nimport { raise } from '@dxos/debug';\nimport { useAsyncEffect } from '@dxos/react-hooks';\nimport { type MaybeProvider, getProviderValue } from '@dxos/util';\n\nimport { Capabilities, Events } from '../common';\nimport {\n type ActivationEvent,\n type AnyCapability,\n type PluginContext,\n PluginManager,\n contributes,\n defineModule,\n definePlugin,\n} from '../core';\nimport { type UseAppOptions, useApp } from '../react';\n\n/**\n * @internal\n */\nexport const setupPluginManager = ({\n capabilities,\n plugins = [],\n core = plugins.map(({ meta }) => meta.id),\n ...options\n}: UseAppOptions & Pick<WithPluginManagerOptions, 'capabilities'> = {}) => {\n const pluginManager = new PluginManager({\n pluginLoader: () => raise(new Error('Not implemented')),\n plugins: [StoryPlugin(), ...plugins],\n core: [StoryPlugin.meta.id, ...core],\n ...options,\n });\n\n if (capabilities) {\n getProviderValue(capabilities, pluginManager.context).forEach((capability) => {\n pluginManager.context.contributeCapability({\n interface: capability.interface,\n implementation: capability.implementation,\n module: 'story',\n });\n });\n }\n\n return pluginManager;\n};\n\nexport type WithPluginManagerOptions = UseAppOptions & {\n /** @deprecated */\n capabilities?: MaybeProvider<AnyCapability[], PluginContext>;\n /** @deprecated */\n fireEvents?: (ActivationEvent | string)[];\n};\n\nexport type WithPluginManagerInitializer<Args = void> =\n | WithPluginManagerOptions\n | ((context: StoryContext<Args>) => WithPluginManagerOptions);\n\n/**\n * Wraps a story with a plugin manager.\n * NOTE: This builds up and tears down the plugin manager on every render.\n */\nexport const withPluginManager = <Args,>(init: WithPluginManagerInitializer<Args> = {}): Decorator => {\n return (Story, context) => {\n const options = typeof init === 'function' ? init(context as any) : init;\n const pluginManager = useMemo(() => setupPluginManager(options), [init]);\n\n // Set-up root capability.\n useEffect(() => {\n const capability = contributes(Capabilities.ReactRoot, {\n id: context.id,\n root: () => <Story />,\n });\n\n pluginManager.context.contributeCapability({\n ...capability,\n module: 'dxos.org/app-framework/withPluginManager',\n });\n\n return () => {\n pluginManager.context.removeCapability(capability.interface, capability.implementation);\n };\n }, [pluginManager, context]);\n\n // Fire events.\n useAsyncEffect(async () => {\n await Promise.all(options.fireEvents?.map((event) => pluginManager.activate(event)) ?? []);\n }, [pluginManager]);\n\n // Create app.\n const App = useApp({ pluginManager });\n\n return <App />;\n };\n};\n\nconst storyMeta = {\n id: 'dxos.org/app-framework/story',\n name: 'Story',\n};\n\n// No-op plugin to ensure there exists at least one plugin for the startup event.\n// This is necessary because `createApp` expects the startup event to complete before the app is ready.\nconst StoryPlugin = definePlugin(storyMeta, () => [\n defineModule({ id: storyMeta.id, activatesOn: Events.Startup, activate: () => [] }),\n]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;AAKA,OAAOA,SAASC,WAAWC,eAAe;AAE1C,SAASC,aAAa;AACtB,SAASC,sBAAsB;AAC/B,SAA6BC,wBAAwB;AAiB9C,IAAMC,qBAAqB,CAAC,EACjCC,cACAC,UAAU,CAAA,GACVC,OAAOD,QAAQE,IAAI,CAAC,EAAEC,KAAI,MAAOA,KAAKC,EAAE,GACxC,GAAGC,QAAAA,IAC+D,CAAC,MAAC;AACpE,QAAMC,gBAAgB,IAAIC,cAAc;IACtCC,cAAc,MAAMC,MAAM,IAAIC,MAAM,iBAAA,CAAA;IACpCV,SAAS;MAACW,YAAAA;SAAkBX;;IAC5BC,MAAM;MAACU,YAAYR,KAAKC;SAAOH;;IAC/B,GAAGI;EACL,CAAA;AAEA,MAAIN,cAAc;AAChBa,qBAAiBb,cAAcO,cAAcO,OAAO,EAAEC,QAAQ,CAACC,eAAAA;AAC7DT,oBAAcO,QAAQG,qBAAqB;QACzCC,WAAWF,WAAWE;QACtBC,gBAAgBH,WAAWG;QAC3BC,QAAQ;MACV,CAAA;IACF,CAAA;EACF;AAEA,SAAOb;AACT;AAiBO,IAAMc,oBAAoB,CAAQC,OAA2C,CAAC,MAAC;AACpF,SAAO,CAACC,OAAOT,YAAAA;AACb,UAAMR,UAAU,OAAOgB,SAAS,aAAaA,KAAKR,OAAAA,IAAkBQ;AACpE,UAAMf,gBAAgBiB,QAAQ,MAAMzB,mBAAmBO,OAAAA,GAAU;MAACgB;KAAK;AAGvEG,cAAU,MAAA;AACR,YAAMT,aAAaU,YAAYC,aAAaC,WAAW;QACrDvB,IAAIS,QAAQT;QACZwB,MAAM,MAAM,sBAAA,cAACN,OAAAA,IAAAA;MACf,CAAA;AAEAhB,oBAAcO,QAAQG,qBAAqB;QACzC,GAAGD;QACHI,QAAQ;MACV,CAAA;AAEA,aAAO,MAAA;AACLb,sBAAcO,QAAQgB,iBAAiBd,WAAWE,WAAWF,WAAWG,cAAc;MACxF;IACF,GAAG;MAACZ;MAAeO;KAAQ;AAG3BiB,mBAAe,YAAA;AACb,YAAMC,QAAQC,IAAI3B,QAAQ4B,YAAY/B,IAAI,CAACgC,UAAU5B,cAAc6B,SAASD,KAAAA,CAAAA,KAAW,CAAA,CAAE;IAC3F,GAAG;MAAC5B;KAAc;AAGlB,UAAM8B,MAAMC,OAAO;MAAE/B;IAAc,CAAA;AAEnC,WAAO,sBAAA,cAAC8B,KAAAA,IAAAA;EACV;AACF;AAEA,IAAME,YAAY;EAChBlC,IAAI;EACJmC,MAAM;AACR;AAIA,IAAM5B,cAAc6B,aAAaF,WAAW,MAAM;EAChDG,aAAa;IAAErC,IAAIkC,UAAUlC;IAAIsC,aAAaC,OAAOC;IAAST,UAAU,MAAM,CAAA;EAAG,CAAA;CAClF;",
6
- "names": ["React", "useEffect", "useMemo", "raise", "useAsyncEffect", "getProviderValue", "setupPluginManager", "capabilities", "plugins", "core", "map", "meta", "id", "options", "pluginManager", "PluginManager", "pluginLoader", "raise", "Error", "StoryPlugin", "getProviderValue", "context", "forEach", "capability", "contributeCapability", "interface", "implementation", "module", "withPluginManager", "init", "Story", "useMemo", "useEffect", "contributes", "Capabilities", "ReactRoot", "root", "removeCapability", "useAsyncEffect", "Promise", "all", "fireEvents", "event", "activate", "App", "useApp", "storyMeta", "name", "definePlugin", "defineModule", "activatesOn", "Events", "Startup"]
3
+ "sources": ["../../../../src/testing/service.ts", "../../../../src/testing/withPluginManager.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\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 { Plugin, PluginManager } from '../core';\n\n/**\n * Creates a Plugin.Service layer from a list of plugins.\n * This is primarily used for testing.\n */\nexport const fromPlugins = (plugins: Plugin.Plugin[]) =>\n Layer.effect(\n Plugin.Service,\n Effect.gen(function* () {\n // TODO(wittjosiah): Try to dedupe logic between here, createCliApp and useApp.\n\n const pluginLoader = (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\n const manager = PluginManager.make({\n pluginLoader,\n plugins,\n core: plugins.map((plugin) => plugin.meta.id),\n });\n\n manager.capabilities.contribute({\n interface: Capabilities.PluginManager,\n implementation: manager,\n module: 'dxos.org/app-framework/plugin-manager',\n });\n\n manager.capabilities.contribute({\n interface: Capabilities.AtomRegistry,\n implementation: manager.registry,\n module: 'dxos.org/app-framework/atom-registry',\n });\n\n yield* manager.activate(ActivationEvents.Startup);\n\n return manager;\n }),\n );\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Decorator, type StoryContext } from '@storybook/react';\nimport * as Effect from 'effect/Effect';\nimport React, { useEffect, useMemo } from 'react';\n\nimport { raise } from '@dxos/debug';\nimport { useAsyncEffect } from '@dxos/react-hooks';\nimport { type MaybeProvider, getProviderValue } from '@dxos/util';\n\nimport { ActivationEvents, Capabilities } from '../common';\nimport { type ActivationEvent, Capability, type CapabilityManager, Plugin, PluginManager } from '../core';\nimport { type UseAppOptions, useApp } from '../ui';\n\n/**\n * @internal\n */\nexport const setupPluginManager = ({\n capabilities,\n plugins = [],\n core = plugins.map(({ meta }) => meta.id),\n ...options\n}: UseAppOptions & Pick<WithPluginManagerOptions, 'capabilities'> = {}) => {\n const pluginManager = PluginManager.make({\n pluginLoader: () => raise(new Error('Not implemented')),\n plugins: [StoryPlugin, ...plugins],\n core: [StoryPlugin.meta.id, ...core],\n ...options,\n });\n\n if (capabilities) {\n getProviderValue(capabilities, pluginManager.capabilities).forEach((capability) => {\n pluginManager.capabilities.contribute({\n interface: capability.interface,\n implementation: capability.implementation,\n module: 'story',\n });\n });\n }\n\n return pluginManager;\n};\n\nexport type WithPluginManagerOptions = UseAppOptions & {\n /** @deprecated */\n capabilities?: MaybeProvider<Capability.Any[], CapabilityManager.CapabilityManager>;\n /** @deprecated */\n fireEvents?: (ActivationEvent.ActivationEvent | string)[];\n};\n\nexport type WithPluginManagerInitializer<Args = void> =\n | WithPluginManagerOptions\n | ((context: StoryContext<Args>) => WithPluginManagerOptions);\n\n/**\n * Wraps a story with a plugin manager.\n * NOTE: This builds up and tears down the plugin manager on every render.\n */\nexport const withPluginManager = <Args,>(init: WithPluginManagerInitializer<Args> = {}): Decorator => {\n return (Story, context) => {\n const options = typeof init === 'function' ? init(context as any) : init;\n const pluginManager = useMemo(() => setupPluginManager(options), [init]);\n\n // Set-up root capability.\n useEffect(() => {\n const capability = Capability.contributes(Capabilities.ReactRoot, {\n id: context.id,\n root: () => <Story />,\n });\n\n pluginManager.capabilities.contribute({\n ...capability,\n module: 'dxos.org/app-framework/withPluginManager',\n });\n\n return () => {\n pluginManager.capabilities.remove(capability.interface, capability.implementation);\n };\n }, [pluginManager, context]);\n\n // Fire events.\n useAsyncEffect(async () => {\n await Promise.all(options.fireEvents?.map((event) => pluginManager.activate(event)) ?? []);\n }, [pluginManager]);\n\n // Create app.\n const App = useApp({ pluginManager });\n\n return <App />;\n };\n};\n\nconst storyMeta = {\n id: 'dxos.org/app-framework/story',\n name: 'Story',\n};\n\n// No-op plugin to ensure there exists at least one plugin for the startup event.\n// This is necessary because `createApp` expects the startup event to complete before the app is ready.\nconst StoryPlugin = Plugin.define(storyMeta).pipe(\n Plugin.addModule({\n id: 'Story',\n activatesOn: ActivationEvents.Startup,\n activate: () => Effect.succeed([]),\n }),\n Plugin.make,\n)();\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,YAAYA,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,iBAAiB;;AASnB,IAAMC,cAAc,CAACC,YACpBC,aACJC,eAAOC,SACAC,WAAI,aAAA;AAGT,QAAMC,eAAe,CAACC,OACbC,YAAK,MAAA;AACV,UAAMC,SAASR,QAAQS,KAAK,CAACD,YAAWA,QAAOE,KAAKJ,OAAOA,EAAAA;AAC3DK,cAAUH,QAAQ,qBAAqBF,EAAAA,IAAI;;;;;;;;;AAC3C,WAAOE;EACT,CAAA;AAEF,QAAMI,UAAUC,uBAAcC,KAAK;IACjCT;IACAL;IACAe,MAAMf,QAAQgB,IAAI,CAACR,WAAWA,OAAOE,KAAKJ,EAAE;EAC9C,CAAA;AAEAM,UAAQK,aAAaC,WAAW;IAC9BC,WAAWC,qBAAaP;IACxBQ,gBAAgBT;IAChBU,QAAQ;EACV,CAAA;AAEAV,UAAQK,aAAaC,WAAW;IAC9BC,WAAWC,qBAAaG;IACxBF,gBAAgBT,QAAQY;IACxBF,QAAQ;EACV,CAAA;AAEA,SAAOV,QAAQa,SAASC,0BAAiBC,OAAO;AAEhD,SAAOf;AACT,CAAA,CAAA;;;AC7CJ,YAAYgB,aAAY;AACxB,OAAOC,SAASC,WAAWC,eAAe;AAE1C,SAASC,aAAa;AACtB,SAASC,sBAAsB;AAC/B,SAA6BC,wBAAwB;AAS9C,IAAMC,qBAAqB,CAAC,EACjCC,cACAC,UAAU,CAAA,GACVC,OAAOD,QAAQE,IAAI,CAAC,EAAEC,KAAI,MAAOA,KAAKC,EAAE,GACxC,GAAGC,QAAAA,IAC+D,CAAC,MAAC;AACpE,QAAMC,gBAAgBC,uBAAcC,KAAK;IACvCC,cAAc,MAAMC,MAAM,IAAIC,MAAM,iBAAA,CAAA;IACpCX,SAAS;MAACY;SAAgBZ;;IAC1BC,MAAM;MAACW,YAAYT,KAAKC;SAAOH;;IAC/B,GAAGI;EACL,CAAA;AAEA,MAAIN,cAAc;AAChBc,qBAAiBd,cAAcO,cAAcP,YAAY,EAAEe,QAAQ,CAACC,eAAAA;AAClET,oBAAcP,aAAaiB,WAAW;QACpCC,WAAWF,WAAWE;QACtBC,gBAAgBH,WAAWG;QAC3BC,QAAQ;MACV,CAAA;IACF,CAAA;EACF;AAEA,SAAOb;AACT;AAiBO,IAAMc,oBAAoB,CAAQC,OAA2C,CAAC,MAAC;AACpF,SAAO,CAACC,OAAOC,YAAAA;AACb,UAAMlB,UAAU,OAAOgB,SAAS,aAAaA,KAAKE,OAAAA,IAAkBF;AACpE,UAAMf,gBAAgBkB,QAAQ,MAAM1B,mBAAmBO,OAAAA,GAAU;MAACgB;KAAK;AAGvEI,cAAU,MAAA;AACR,YAAMV,aAAaW,mBAAWC,YAAYC,qBAAaC,WAAW;QAChEzB,IAAImB,QAAQnB;QACZ0B,MAAM,MAAM,sBAAA,cAACR,OAAAA,IAAAA;MACf,CAAA;AAEAhB,oBAAcP,aAAaiB,WAAW;QACpC,GAAGD;QACHI,QAAQ;MACV,CAAA;AAEA,aAAO,MAAA;AACLb,sBAAcP,aAAagC,OAAOhB,WAAWE,WAAWF,WAAWG,cAAc;MACnF;IACF,GAAG;MAACZ;MAAeiB;KAAQ;AAG3BS,mBAAe,YAAA;AACb,YAAMC,QAAQC,IAAI7B,QAAQ8B,YAAYjC,IAAI,CAACkC,UAAU9B,cAAc+B,SAASD,KAAAA,CAAAA,KAAW,CAAA,CAAE;IAC3F,GAAG;MAAC9B;KAAc;AAGlB,UAAMgC,MAAMC,OAAO;MAAEjC;IAAc,CAAA;AAEnC,WAAO,sBAAA,cAACgC,KAAAA,IAAAA;EACV;AACF;AAEA,IAAME,YAAY;EAChBpC,IAAI;EACJqC,MAAM;AACR;AAIA,IAAM7B,cAAc8B,eAAOC,OAAOH,SAAAA,EAAWI,KAC3CF,eAAOG,UAAU;EACfzC,IAAI;EACJ0C,aAAaC,0BAAiBC;EAC9BX,UAAU,MAAaY,gBAAQ,CAAA,CAAE;AACnC,CAAA,GACAP,eAAOlC,IAAI,EAAA;",
6
+ "names": ["Effect", "Layer", "invariant", "fromPlugins", "plugins", "effect", "Plugin", "Service", "gen", "pluginLoader", "id", "sync", "plugin", "find", "meta", "invariant", "manager", "PluginManager", "make", "core", "map", "capabilities", "contribute", "interface", "Capabilities", "implementation", "module", "AtomRegistry", "registry", "activate", "ActivationEvents", "Startup", "Effect", "React", "useEffect", "useMemo", "raise", "useAsyncEffect", "getProviderValue", "setupPluginManager", "capabilities", "plugins", "core", "map", "meta", "id", "options", "pluginManager", "PluginManager", "make", "pluginLoader", "raise", "Error", "StoryPlugin", "getProviderValue", "forEach", "capability", "contribute", "interface", "implementation", "module", "withPluginManager", "init", "Story", "context", "useMemo", "useEffect", "Capability", "contributes", "Capabilities", "ReactRoot", "root", "remove", "useAsyncEffect", "Promise", "all", "fireEvents", "event", "activate", "App", "useApp", "storyMeta", "name", "Plugin", "define", "pipe", "addModule", "activatesOn", "ActivationEvents", "Startup", "succeed"]
7
7
  }
@@ -0,0 +1,50 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ App,
4
+ DefaultFallback,
5
+ ErrorBoundary,
6
+ LoadingState,
7
+ PluginManagerProvider,
8
+ surface_exports,
9
+ useApp,
10
+ useAtomCapability,
11
+ useAtomCapabilityState,
12
+ useCapabilities,
13
+ useCapability,
14
+ useLoading,
15
+ useOperationInvoker,
16
+ useOperationResolver,
17
+ usePluginManager,
18
+ useSettingsState,
19
+ useSurface
20
+ } from "../chunk-VV4YHPQQ.mjs";
21
+ import "../chunk-UEWJDI2L.mjs";
22
+ import "../chunk-J2PHTRHC.mjs";
23
+ import "../chunk-OQYHRZYF.mjs";
24
+ import "../chunk-JAZVHID3.mjs";
25
+ import "../chunk-Z4TJPSMP.mjs";
26
+ import "../chunk-XHAKT6UD.mjs";
27
+ import "../chunk-7OWSHPYK.mjs";
28
+ import "../chunk-DZ2XLAGI.mjs";
29
+ import "../chunk-64IMLAS2.mjs";
30
+ import "../chunk-HSLMI22Q.mjs";
31
+ export {
32
+ App,
33
+ DefaultFallback,
34
+ ErrorBoundary,
35
+ LoadingState,
36
+ PluginManagerProvider,
37
+ surface_exports as Surface,
38
+ useApp,
39
+ useAtomCapability,
40
+ useAtomCapabilityState,
41
+ useCapabilities,
42
+ useCapability,
43
+ useLoading,
44
+ useOperationInvoker,
45
+ useOperationResolver,
46
+ usePluginManager,
47
+ useSettingsState,
48
+ useSurface
49
+ };
50
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,39 @@
1
+ import * as Command from '@effect/cli/Command';
2
+ import * as Effect from 'effect/Effect';
3
+ import * as Layer from 'effect/Layer';
4
+ import { Plugin, PluginManager } from '../core';
5
+ type SubCommands = [Command.Command<any, any, any, any>, ...Array<Command.Command<any, any, any, any>>];
6
+ export type CreateCliAppOptions = {
7
+ rootCommand: Command.Command<any, any, any, any>;
8
+ subCommands?: SubCommands;
9
+ pluginManager?: PluginManager.PluginManager;
10
+ pluginLoader?: PluginManager.ManagerOptions['pluginLoader'];
11
+ plugins?: Plugin.Plugin[];
12
+ core?: string[];
13
+ enabled?: string[];
14
+ safeMode?: boolean;
15
+ };
16
+ /**
17
+ * Creates a CLI application with plugin support.
18
+ * Similar to useApp but for CLI environments.
19
+ *
20
+ * @example
21
+ * const plugins = [ClientPluginCLI()];
22
+ * const manager = await createCliApp({ plugins });
23
+ * const commands = manager.capabilities.getAll(Capabilities.Command);
24
+ *
25
+ * @param options.pluginManager Optional existing PluginManager instance.
26
+ * @param options.pluginLoader Function to load plugins by ID.
27
+ * @param options.plugins All plugins available to the application.
28
+ * @param options.core Core plugins which will always be enabled.
29
+ * @param options.enabled Enabled plugins.
30
+ * @param options.safeMode Whether to enable safe mode, which disables optional plugins.
31
+ */
32
+ export declare const createCliApp: (args_0: CreateCliAppOptions) => Effect.Effect<{
33
+ command: Command.Command<any, any, any, {
34
+ [x: string]: any;
35
+ }>;
36
+ layer: Layer.Layer<any, any, never>;
37
+ }, Error, never>;
38
+ export {};
39
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../../src/cli/cli.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAKtC,OAAO,EAAc,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAW5D,KAAK,WAAW,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAExG,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACjD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC;IAC5C,YAAY,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,YAAY;;;;;gBAuDvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './cli';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/index.ts"],"names":[],"mappings":"AAIA,cAAc,OAAO,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { ActivationEvent as ActivationEvent$ } from '../core';
2
+ /**
3
+ * Fired when the app is started.
4
+ */
5
+ export declare const Startup: ActivationEvent$.ActivationEvent;
6
+ /**
7
+ * Fired to load any newly available surfaces.
8
+ */
9
+ export declare const SetupReactSurface: ActivationEvent$.ActivationEvent;
10
+ /**
11
+ * Fired before the operation invoker is activated.
12
+ */
13
+ export declare const SetupOperationResolver: ActivationEvent$.ActivationEvent;
14
+ /**
15
+ * Fired before the managed runtime is created.
16
+ * Plugins should contribute their Layer capabilities before this event.
17
+ */
18
+ export declare const SetupLayer: ActivationEvent$.ActivationEvent;
19
+ /**
20
+ * Fired after the operation invoker is ready.
21
+ */
22
+ export declare const OperationInvokerReady: ActivationEvent$.ActivationEvent;
23
+ /**
24
+ * Fired after the managed runtime is ready.
25
+ */
26
+ export declare const ManagedRuntimeReady: ActivationEvent$.ActivationEvent;
27
+ //# sourceMappingURL=activation-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activation-events.d.ts","sourceRoot":"","sources":["../../../../src/common/activation-events.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,OAAO,kCAAgE,CAAC;AAMrF;;GAEG;AACH,eAAO,MAAM,iBAAiB,kCAA4E,CAAC;AAE3G;;GAEG;AACH,eAAO,MAAM,sBAAsB,kCAAiF,CAAC;AAErH;;;GAGG;AACH,eAAO,MAAM,UAAU,kCAAoE,CAAC;AAM5F;;GAEG;AACH,eAAO,MAAM,qBAAqB,kCAAgF,CAAC;AAEnH;;GAEG;AACH,eAAO,MAAM,mBAAmB,kCAA8E,CAAC"}
@@ -1,195 +1,115 @@
1
- import { type Registry } from '@effect-atom/atom-react';
2
- import type * as Layer from 'effect/Layer';
3
- import type * as Schema from 'effect/Schema';
4
- import { type FC, type PropsWithChildren } from 'react';
5
- import { type AiService } from '@dxos/ai';
6
- import type * as AiServiceRouter from '@dxos/ai/AiServiceRouter';
7
- import { type BuilderExtensions, type GraphBuilder } from '@dxos/app-graph';
8
- import { type GenericToolkit } from '@dxos/assistant';
9
- import { type Blueprint } from '@dxos/blueprints';
10
- import { type Space } from '@dxos/client-protocol';
11
- import { type FunctionDefinition } from '@dxos/functions';
12
- import { type RootSettingsStore } from '@dxos/local-storage';
13
- import { type AnchoredTo } from '@dxos/types';
14
- import { type PluginManager } from '../core';
15
- import { type AnyIntentResolver, type IntentContext } from '../plugin-intent';
16
- import { type FileInfo } from './file';
17
- import { type NodeSerializer } from './graph';
18
- import { type SurfaceDefinition } from './surface';
19
- export declare namespace Capabilities {
20
- /**
21
- * @category Capability
22
- */
23
- const Null: import("..").InterfaceDef<null>;
24
- /**
25
- * @category Capability
26
- */
27
- const PluginManager: import("..").InterfaceDef<PluginManager>;
28
- /**
29
- * @category Capability
30
- */
31
- const AtomRegistry: import("..").InterfaceDef<Registry.Registry>;
32
- type ReactContext = Readonly<{
33
- id: string;
34
- dependsOn?: string[];
35
- context: FC<PropsWithChildren>;
36
- }>;
37
- /**
38
- * @category Capability
39
- */
40
- const ReactContext: import("..").InterfaceDef<Readonly<{
41
- id: string;
42
- dependsOn?: string[];
43
- context: FC<PropsWithChildren>;
44
- }>>;
45
- type ReactRoot = Readonly<{
46
- id: string;
47
- root: FC<PropsWithChildren>;
48
- }>;
49
- /**
50
- * @category Capability
51
- */
52
- const ReactRoot: import("..").InterfaceDef<Readonly<{
53
- id: string;
54
- root: FC<PropsWithChildren>;
55
- }>>;
56
- type ReactSurface = SurfaceDefinition | readonly SurfaceDefinition[];
57
- /**
58
- * @category Capability
59
- */
60
- const ReactSurface: import("..").InterfaceDef<ReactSurface>;
61
- type IntentResolver = AnyIntentResolver | readonly AnyIntentResolver[];
62
- /**
63
- * @category Capability
64
- */
65
- const IntentResolver: import("..").InterfaceDef<IntentResolver>;
66
- /**
67
- * @category Capability
68
- */
69
- const IntentDispatcher: import("..").InterfaceDef<IntentContext>;
70
- type Layout = Readonly<{
71
- mode: string;
72
- dialogOpen: boolean;
73
- sidebarOpen: boolean;
74
- complementarySidebarOpen: boolean;
75
- /**
76
- * The id of the active workspace, where a workspace is a set of active items.
77
- */
78
- workspace: string;
79
- /**
80
- * Identifiers of items which are currently active in the application.
81
- */
82
- active: string[];
83
- /**
84
- * Identifiers of items which were previously active in the application.
85
- */
86
- inactive: string[];
87
- /**
88
- * Identifier of the item which should be scrolled into view.
89
- */
90
- scrollIntoView: string | undefined;
91
- }>;
92
- /**
93
- * @category Capability
94
- */
95
- const Layout: import("..").InterfaceDef<Readonly<{
96
- mode: string;
97
- dialogOpen: boolean;
98
- sidebarOpen: boolean;
99
- complementarySidebarOpen: boolean;
100
- /**
101
- * The id of the active workspace, where a workspace is a set of active items.
102
- */
103
- workspace: string;
104
- /**
105
- * Identifiers of items which are currently active in the application.
106
- */
107
- active: string[];
108
- /**
109
- * Identifiers of items which were previously active in the application.
110
- */
111
- inactive: string[];
112
- /**
113
- * Identifier of the item which should be scrolled into view.
114
- */
115
- scrollIntoView: string | undefined;
116
- }>>;
117
- /**
118
- * @category Capability
119
- */
120
- const Translations: import("..").InterfaceDef<readonly {
121
- readonly [x: string]: {
122
- readonly [x: string]: string | {
123
- readonly [x: string]: any;
124
- };
125
- };
126
- }[]>;
127
- /**
128
- * @category Capability
129
- */
130
- const AppGraph: import("..").InterfaceDef<Readonly<Pick<GraphBuilder, "graph" | "explore">>>;
131
- /**
132
- * @category Capability
133
- */
134
- const AppGraphBuilder: import("..").InterfaceDef<BuilderExtensions>;
135
- /**
136
- * @category Capability
137
- */
138
- const AppGraphSerializer: import("..").InterfaceDef<NodeSerializer[]>;
139
- /**
140
- * @category Capability
141
- */
142
- const SettingsStore: import("..").InterfaceDef<RootSettingsStore>;
143
- type Settings = {
144
- prefix: string;
145
- schema: Schema.Schema.All;
146
- value?: Record<string, any>;
147
- };
148
- /**
149
- * @category Capability
150
- */
151
- const Settings: import("..").InterfaceDef<Settings>;
152
- type Metadata = Readonly<{
153
- id: string;
154
- metadata: Record<string, any>;
155
- }>;
156
- /**
157
- * @category Capability
158
- */
159
- const Metadata: import("..").InterfaceDef<Readonly<{
160
- id: string;
161
- metadata: Record<string, any>;
162
- }>>;
163
- /**
164
- * @category Capability
165
- */
166
- const Toolkit: import("..").InterfaceDef<GenericToolkit.GenericToolkit<never, never, never>>;
167
- /**
168
- * @category Capability
169
- */
170
- const BlueprintDefinition: import("..").InterfaceDef<Blueprint.Blueprint>;
171
- type AiServiceLayer = Layer.Layer<AiService.AiService>;
172
- const AiServiceLayer: import("..").InterfaceDef<AiServiceLayer>;
173
- /**
174
- * Plugins can contribute them to provide model resolvers.
175
- */
176
- const AiModelResolver: import("..").InterfaceDef<Layer.Layer<AiServiceRouter.AiModelResolver, never, never>>;
177
- /**
178
- * @category Capability
179
- */
180
- const Functions: import("..").InterfaceDef<FunctionDefinition.Any[]>;
181
- type FileUploader = (space: Space, file: File) => Promise<FileInfo | undefined>;
182
- /**
183
- * @category Capability
184
- */
185
- const FileUploader: import("..").InterfaceDef<FileUploader>;
186
- type AnchorSort = {
187
- key: string;
188
- sort: (anchorA: AnchoredTo.AnchoredTo, anchorB: AnchoredTo.AnchoredTo) => number;
189
- };
190
- /**
191
- * @category Capability
192
- */
193
- const AnchorSort: import("..").InterfaceDef<AnchorSort>;
194
- }
1
+ import type * as Command$ from '@effect/cli/Command';
2
+ import { type Atom, type Registry } from '@effect-atom/atom-react';
3
+ import * as Effect from 'effect/Effect';
4
+ import type * as Layer$ from 'effect/Layer';
5
+ import type * as ManagedRuntime$ from 'effect/ManagedRuntime';
6
+ import type { FC, PropsWithChildren } from 'react';
7
+ import type { OperationInvoker as OperationInvoker$, OperationResolver as OperationResolver$ } from '@dxos/operation';
8
+ import { Capability as Capability$, type PluginManager as PluginManager$ } from '../core';
9
+ import type { HistoryTracker as HistoryTracker$, UndoMapping as UndoMapping$, UndoRegistry as UndoRegistry$ } from '../plugin-operation';
10
+ import type { Surface } from '../ui';
11
+ /**
12
+ * Null capability.
13
+ * @category Capability
14
+ */
15
+ export declare const Null: Capability$.InterfaceDef<null>;
16
+ /**
17
+ * @category Capability
18
+ */
19
+ export declare const PluginManager: Capability$.InterfaceDef<PluginManager$.PluginManager>;
20
+ /**
21
+ * @category Capability
22
+ */
23
+ export declare const AtomRegistry: Capability$.InterfaceDef<Registry.Registry>;
24
+ export type ReactContext = Readonly<{
25
+ id: string;
26
+ dependsOn?: string[];
27
+ context: FC<PropsWithChildren>;
28
+ }>;
29
+ /**
30
+ * @category Capability
31
+ */
32
+ export declare const ReactContext: Capability$.InterfaceDef<Readonly<{
33
+ id: string;
34
+ dependsOn?: string[];
35
+ context: FC<PropsWithChildren>;
36
+ }>>;
37
+ export type ReactRoot = Readonly<{
38
+ id: string;
39
+ root: FC<PropsWithChildren>;
40
+ }>;
41
+ /**
42
+ * @category Capability
43
+ */
44
+ export declare const ReactRoot: Capability$.InterfaceDef<Readonly<{
45
+ id: string;
46
+ root: FC<PropsWithChildren>;
47
+ }>>;
48
+ /**
49
+ * Surface definitions that can be either React components or Web Components.
50
+ */
51
+ export type ReactSurface = Surface.Definition | readonly Surface.Definition[];
52
+ /**
53
+ * @category Capability
54
+ */
55
+ export declare const ReactSurface: Capability$.InterfaceDef<ReactSurface>;
56
+ export type AnyCommand = Command$.Command<any, any, any, any>;
57
+ /**
58
+ * @category Capability
59
+ */
60
+ export declare const Command: Capability$.InterfaceDef<AnyCommand>;
61
+ /**
62
+ * @category Capability
63
+ */
64
+ export declare const Layer: Capability$.InterfaceDef<Layer$.Layer<any, any, any>>;
65
+ export type ManagedRuntime = ManagedRuntime$.ManagedRuntime<any, any>;
66
+ /**
67
+ * @category Capability
68
+ */
69
+ export declare const ManagedRuntime: Capability$.InterfaceDef<ManagedRuntime>;
70
+ export type OperationResolver = OperationResolver$.OperationResolver<any, any, any, any>;
71
+ /**
72
+ * Handler registration for operations - contributed by plugins.
73
+ * @category Capability
74
+ */
75
+ export declare const OperationResolver: Capability$.InterfaceDef<OperationResolver[]>;
76
+ export type UndoMapping = UndoMapping$.UndoMapping;
77
+ /**
78
+ * Undo mapping registration - contributed by plugins.
79
+ * @category Capability
80
+ */
81
+ export declare const UndoMapping: Capability$.InterfaceDef<UndoMapping[]>;
82
+ export type OperationInvoker = OperationInvoker$.OperationInvoker;
83
+ /**
84
+ * Operation invoker - provided by OperationPlugin.
85
+ * @category Capability
86
+ */
87
+ export declare const OperationInvoker: Capability$.InterfaceDef<OperationInvoker$.OperationInvoker>;
88
+ export type UndoRegistry = UndoRegistry$.UndoRegistry;
89
+ /**
90
+ * Undo registry - provided by OperationPlugin.
91
+ * @category Capability
92
+ */
93
+ export declare const UndoRegistry: Capability$.InterfaceDef<UndoRegistry$.UndoRegistry>;
94
+ export type HistoryTracker = HistoryTracker$.HistoryTracker;
95
+ /**
96
+ * History tracker - provided by OperationPlugin.
97
+ * @category Capability
98
+ */
99
+ export declare const HistoryTracker: Capability$.InterfaceDef<HistoryTracker$.HistoryTracker>;
100
+ /**
101
+ * Get the current value of an atom capability.
102
+ * @example const settings = yield* Capabilities.getAtomValue(ThreadCapabilities.Settings);
103
+ */
104
+ export declare const getAtomValue: <T>(atomCapability: Capability$.InterfaceDef<Atom.Atom<T>>) => Effect.Effect<T, Error, Capability$.Service>;
105
+ /**
106
+ * Update an atom capability value (requires writable atom).
107
+ * @example yield* Capabilities.updateAtomValue(ThreadCapabilities.Settings, (s) => ({ ...s, foo: true }));
108
+ */
109
+ export declare const updateAtomValue: <T>(atomCapability: Capability$.InterfaceDef<Atom.Writable<T>>, fn: (current: T) => T) => Effect.Effect<void, Error, Capability$.Service>;
110
+ /**
111
+ * Subscribe to an atom capability.
112
+ * @example const unsubscribe = yield* Capabilities.subscribeAtom(ThreadCapabilities.Settings, (value) => ...);
113
+ */
114
+ export declare const subscribeAtom: <T>(atomCapability: Capability$.InterfaceDef<Atom.Atom<T>>, callback: (value: T) => void) => Effect.Effect<() => void, Error, Capability$.Service>;
195
115
  //# sourceMappingURL=capabilities.d.ts.map