@dxos/app-framework 0.8.4-main.7ace549 → 0.8.4-main.8360d9e660

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 (482) hide show
  1. package/.storybook/main.mts +2 -4
  2. package/.storybook/preview.mts +2 -2
  3. package/dist/lib/browser/capability-5OFLR7J4.mjs +34 -0
  4. package/dist/lib/browser/capability-5OFLR7J4.mjs.map +7 -0
  5. package/dist/lib/browser/capability-ZHQDZRP5.mjs +37 -0
  6. package/dist/lib/browser/capability-ZHQDZRP5.mjs.map +7 -0
  7. package/dist/lib/browser/chunk-272IPLHQ.mjs +47 -0
  8. package/dist/lib/browser/chunk-272IPLHQ.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-3VXJONTI.mjs +933 -0
  10. package/dist/lib/browser/chunk-3VXJONTI.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-7AL6SKIV.mjs +728 -0
  12. package/dist/lib/browser/chunk-7AL6SKIV.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-GH3M2LIW.mjs +148 -0
  14. package/dist/lib/browser/chunk-GH3M2LIW.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  16. package/dist/lib/browser/chunk-JGWCBVKJ.mjs +170 -0
  17. package/dist/lib/browser/chunk-JGWCBVKJ.mjs.map +7 -0
  18. package/dist/lib/browser/chunk-M5IC326L.mjs +34 -0
  19. package/dist/lib/browser/chunk-M5IC326L.mjs.map +7 -0
  20. package/dist/lib/browser/chunk-TGX63LTL.mjs +8 -0
  21. package/dist/lib/browser/chunk-TGX63LTL.mjs.map +7 -0
  22. package/dist/lib/browser/chunk-TIEBZMTF.mjs +44 -0
  23. package/dist/lib/browser/chunk-TIEBZMTF.mjs.map +7 -0
  24. package/dist/lib/browser/chunk-WEBSGU5L.mjs +80 -0
  25. package/dist/lib/browser/chunk-WEBSGU5L.mjs.map +7 -0
  26. package/dist/lib/browser/chunk-YAFEA4GV.mjs +1 -0
  27. package/dist/lib/browser/chunk-YNFPIQGB.mjs +76 -0
  28. package/dist/lib/browser/chunk-YNFPIQGB.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 +29 -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-YTTQ2OBB.mjs +36 -0
  44. package/dist/lib/browser/invoker-capability-YTTQ2OBB.mjs.map +7 -0
  45. package/dist/lib/browser/meta.json +1 -1
  46. package/dist/lib/browser/testing/index.mjs +107 -40
  47. package/dist/lib/browser/testing/index.mjs.map +4 -4
  48. package/dist/lib/browser/ui/index.mjs +45 -0
  49. package/dist/lib/browser/ui/index.mjs.map +7 -0
  50. package/dist/lib/node-esm/capability-CRHZKL6T.mjs +35 -0
  51. package/dist/lib/node-esm/capability-CRHZKL6T.mjs.map +7 -0
  52. package/dist/lib/node-esm/capability-W5C5464H.mjs +38 -0
  53. package/dist/lib/node-esm/capability-W5C5464H.mjs.map +7 -0
  54. package/dist/lib/node-esm/chunk-3D66SZHP.mjs +171 -0
  55. package/dist/lib/node-esm/chunk-3D66SZHP.mjs.map +7 -0
  56. package/dist/lib/node-esm/chunk-6REV5DE7.mjs +48 -0
  57. package/dist/lib/node-esm/chunk-6REV5DE7.mjs.map +7 -0
  58. package/dist/lib/node-esm/chunk-CMDON4NG.mjs +934 -0
  59. package/dist/lib/node-esm/chunk-CMDON4NG.mjs.map +7 -0
  60. package/dist/lib/node-esm/chunk-FKE4Z3D6.mjs +10 -0
  61. package/dist/lib/node-esm/chunk-FKE4Z3D6.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-I7FZT4A7.mjs +729 -0
  65. package/dist/lib/node-esm/chunk-I7FZT4A7.mjs.map +7 -0
  66. package/dist/lib/node-esm/chunk-LHCJGNXK.mjs +149 -0
  67. package/dist/lib/node-esm/chunk-LHCJGNXK.mjs.map +7 -0
  68. package/dist/lib/node-esm/chunk-NHXBSAQR.mjs +35 -0
  69. package/dist/lib/node-esm/chunk-NHXBSAQR.mjs.map +7 -0
  70. package/dist/lib/node-esm/chunk-SB5ODNPX.mjs +77 -0
  71. package/dist/lib/node-esm/chunk-SB5ODNPX.mjs.map +7 -0
  72. package/dist/lib/node-esm/chunk-SCDGIGGU.mjs +45 -0
  73. package/dist/lib/node-esm/chunk-SCDGIGGU.mjs.map +7 -0
  74. package/dist/lib/node-esm/chunk-SQICGJBW.mjs +81 -0
  75. package/dist/lib/node-esm/chunk-SQICGJBW.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 +30 -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-BU26474T.mjs +37 -0
  95. package/dist/lib/node-esm/invoker-capability-BU26474T.mjs.map +7 -0
  96. package/dist/lib/node-esm/meta.json +1 -1
  97. package/dist/lib/node-esm/testing/index.mjs +107 -40
  98. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  99. package/dist/lib/node-esm/ui/index.mjs +46 -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} +7 -7
  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 +72 -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 +98 -35
  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/App.d.ts +8 -0
  178. package/dist/types/src/ui/components/App/App.d.ts.map +1 -0
  179. package/dist/types/src/ui/components/App/App.stories.d.ts +19 -0
  180. package/dist/types/src/ui/components/App/App.stories.d.ts.map +1 -0
  181. package/dist/types/src/ui/components/App/index.d.ts +2 -0
  182. package/dist/types/src/ui/components/App/index.d.ts.map +1 -0
  183. package/dist/types/src/{react/Surface.stories.d.ts → ui/components/PluginManager/PluginManagerContext.stories.d.ts} +2 -3
  184. package/dist/types/src/ui/components/PluginManager/PluginManagerContext.stories.d.ts.map +1 -0
  185. package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts +10 -0
  186. package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts.map +1 -0
  187. package/dist/types/src/ui/components/PluginManager/index.d.ts +2 -0
  188. package/dist/types/src/ui/components/PluginManager/index.d.ts.map +1 -0
  189. package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts +12 -0
  190. package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts.map +1 -0
  191. package/dist/types/src/{react/App.stories.d.ts → ui/components/Surface/SurfaceComponent.stories.d.ts} +1 -1
  192. package/dist/types/src/ui/components/Surface/SurfaceComponent.stories.d.ts.map +1 -0
  193. package/dist/types/src/ui/components/Surface/SurfaceInfo.d.ts +11 -0
  194. package/dist/types/src/ui/components/Surface/SurfaceInfo.d.ts.map +1 -0
  195. package/dist/types/src/ui/components/Surface/context.d.ts +5 -0
  196. package/dist/types/src/ui/components/Surface/context.d.ts.map +1 -0
  197. package/dist/types/src/ui/components/Surface/index.d.ts +20 -0
  198. package/dist/types/src/ui/components/Surface/index.d.ts.map +1 -0
  199. package/dist/types/src/ui/components/Surface/types.d.ts +96 -0
  200. package/dist/types/src/ui/components/Surface/types.d.ts.map +1 -0
  201. package/dist/types/src/ui/components/index.d.ts +4 -0
  202. package/dist/types/src/ui/components/index.d.ts.map +1 -0
  203. package/dist/types/src/ui/hooks/index.d.ts +7 -0
  204. package/dist/types/src/ui/hooks/index.d.ts.map +1 -0
  205. package/dist/types/src/{react → ui/hooks}/useApp.d.ts +18 -12
  206. package/dist/types/src/ui/hooks/useApp.d.ts.map +1 -0
  207. package/dist/types/src/ui/hooks/useApp.test.d.ts +2 -0
  208. package/dist/types/src/ui/hooks/useApp.test.d.ts.map +1 -0
  209. package/dist/types/src/ui/hooks/useCapabilities.d.ts +31 -0
  210. package/dist/types/src/ui/hooks/useCapabilities.d.ts.map +1 -0
  211. package/dist/types/src/{react → ui/hooks}/useLoading.d.ts +1 -2
  212. package/dist/types/src/ui/hooks/useLoading.d.ts.map +1 -0
  213. package/dist/types/src/ui/hooks/useOperationResolver.d.ts +19 -0
  214. package/dist/types/src/ui/hooks/useOperationResolver.d.ts.map +1 -0
  215. package/dist/types/src/ui/hooks/useSettingsState.d.ts +10 -0
  216. package/dist/types/src/ui/hooks/useSettingsState.d.ts.map +1 -0
  217. package/dist/types/src/ui/hooks/useSurface.d.ts +3 -0
  218. package/dist/types/src/ui/hooks/useSurface.d.ts.map +1 -0
  219. package/dist/types/src/ui/index.d.ts +3 -0
  220. package/dist/types/src/ui/index.d.ts.map +1 -0
  221. package/dist/types/tsconfig.tsbuildinfo +1 -1
  222. package/moon.yml +10 -6
  223. package/package.json +111 -50
  224. package/src/cli/cli.ts +107 -0
  225. package/src/{playground/debug → cli}/index.ts +1 -1
  226. package/src/common/activation-events.ts +44 -0
  227. package/src/common/capabilities.ts +174 -210
  228. package/src/common/index.ts +4 -8
  229. package/src/common/operations.ts +38 -0
  230. package/src/common/translations.ts +17 -9
  231. package/src/context.ts +9 -0
  232. package/src/core/{events.ts → activation-event.ts} +6 -6
  233. package/src/core/capability-manager.test.ts +151 -0
  234. package/src/core/capability-manager.ts +171 -0
  235. package/src/core/capability.ts +236 -0
  236. package/src/core/index.ts +5 -4
  237. package/src/core/plugin-manager.test.ts +1093 -0
  238. package/src/core/plugin-manager.ts +868 -0
  239. package/src/core/plugin.ts +230 -40
  240. package/src/index.ts +3 -2
  241. package/src/plugin-operation/OperationPlugin.ts +25 -0
  242. package/src/plugin-operation/history/capability.ts +37 -0
  243. package/src/plugin-operation/history/errors.ts +11 -0
  244. package/src/plugin-operation/history/history-tracker.test.ts +380 -0
  245. package/src/plugin-operation/history/history-tracker.ts +129 -0
  246. package/src/plugin-operation/history/index.ts +9 -0
  247. package/src/plugin-operation/history/types.ts +17 -0
  248. package/src/plugin-operation/history/undo-mapping.ts +135 -0
  249. package/src/plugin-operation/history/undo-registry.test.ts +73 -0
  250. package/src/plugin-operation/history/undo-registry.ts +54 -0
  251. package/src/plugin-operation/index.ts +6 -0
  252. package/src/plugin-operation/invoker-capability.ts +40 -0
  253. package/src/plugin-operation/meta.ts +11 -0
  254. package/src/plugin-operation/testing.ts +174 -0
  255. package/src/plugin-runtime/RuntimePlugin.ts +20 -0
  256. package/src/plugin-runtime/capability.ts +53 -0
  257. package/src/{playground/logger → plugin-runtime}/index.ts +1 -1
  258. package/src/plugin-runtime/meta.ts +11 -0
  259. package/src/testing/index.ts +1 -0
  260. package/src/testing/service.ts +52 -0
  261. package/src/testing/withPluginManager.stories.tsx +7 -7
  262. package/src/testing/withPluginManager.tsx +63 -38
  263. package/src/ui/components/App/App.stories.tsx +92 -0
  264. package/src/{react → ui/components/App}/App.tsx +9 -11
  265. package/src/{playground/layout → ui/components/App}/index.ts +1 -1
  266. package/src/ui/components/PluginManager/PluginManagerContext.stories.tsx +183 -0
  267. package/src/{react → ui/components/PluginManager}/PluginManagerProvider.ts +3 -3
  268. package/src/ui/components/PluginManager/index.ts +5 -0
  269. package/src/{react/Surface.stories.tsx → ui/components/Surface/SurfaceComponent.stories.tsx} +41 -23
  270. package/src/ui/components/Surface/SurfaceComponent.tsx +247 -0
  271. package/src/ui/components/Surface/SurfaceInfo.tsx +107 -0
  272. package/src/ui/components/Surface/context.ts +12 -0
  273. package/src/ui/components/Surface/index.ts +20 -0
  274. package/src/ui/components/Surface/types.ts +117 -0
  275. package/src/ui/components/index.ts +7 -0
  276. package/src/ui/hooks/index.ts +10 -0
  277. package/src/ui/hooks/useApp.test.tsx +159 -0
  278. package/src/ui/hooks/useApp.tsx +219 -0
  279. package/src/ui/hooks/useCapabilities.ts +67 -0
  280. package/src/{react → ui/hooks}/useLoading.tsx +4 -6
  281. package/src/ui/hooks/useOperationResolver.ts +40 -0
  282. package/src/ui/hooks/useSettingsState.ts +26 -0
  283. package/src/ui/hooks/useSurface.ts +13 -0
  284. package/src/ui/index.ts +6 -0
  285. package/tsconfig.json +11 -29
  286. package/tsconfig.node.json +1 -3
  287. package/typedoc.json +2 -4
  288. package/vitest.config.ts +1 -1
  289. package/.swc/plugins/linux_x86_64_19.0.0/fce1bdb8e20a094e4af08bad09cc81497ed0e2e7c51223b07d371063cca18429.wasmer-v7 +0 -0
  290. package/dist/lib/browser/app-graph-builder-OIEZZC45.mjs +0 -138
  291. package/dist/lib/browser/app-graph-builder-OIEZZC45.mjs.map +0 -7
  292. package/dist/lib/browser/chunk-6XKO24JP.mjs +0 -483
  293. package/dist/lib/browser/chunk-6XKO24JP.mjs.map +0 -7
  294. package/dist/lib/browser/chunk-SCPE4ZO2.mjs +0 -35
  295. package/dist/lib/browser/chunk-SCPE4ZO2.mjs.map +0 -7
  296. package/dist/lib/browser/chunk-WPW5VVAX.mjs +0 -1651
  297. package/dist/lib/browser/chunk-WPW5VVAX.mjs.map +0 -7
  298. package/dist/lib/browser/intent-dispatcher-LZ4AE66E.mjs +0 -11
  299. package/dist/lib/browser/intent-resolver-QVCKRX6G.mjs +0 -39
  300. package/dist/lib/browser/intent-resolver-QVCKRX6G.mjs.map +0 -7
  301. package/dist/lib/browser/react/index.mjs +0 -34
  302. package/dist/lib/browser/store-CNPHOYTJ.mjs +0 -30
  303. package/dist/lib/browser/store-CNPHOYTJ.mjs.map +0 -7
  304. package/dist/lib/node-esm/app-graph-builder-EBU4NVWD.mjs +0 -139
  305. package/dist/lib/node-esm/app-graph-builder-EBU4NVWD.mjs.map +0 -7
  306. package/dist/lib/node-esm/chunk-3UPX5OIS.mjs +0 -484
  307. package/dist/lib/node-esm/chunk-3UPX5OIS.mjs.map +0 -7
  308. package/dist/lib/node-esm/chunk-XJZGUJ3H.mjs +0 -1653
  309. package/dist/lib/node-esm/chunk-XJZGUJ3H.mjs.map +0 -7
  310. package/dist/lib/node-esm/chunk-ZX63QUGE.mjs +0 -37
  311. package/dist/lib/node-esm/chunk-ZX63QUGE.mjs.map +0 -7
  312. package/dist/lib/node-esm/intent-dispatcher-MGOJ3CHD.mjs +0 -12
  313. package/dist/lib/node-esm/intent-resolver-URF3HN3G.mjs +0 -40
  314. package/dist/lib/node-esm/intent-resolver-URF3HN3G.mjs.map +0 -7
  315. package/dist/lib/node-esm/react/index.mjs +0 -35
  316. package/dist/lib/node-esm/store-RK5B4XEL.mjs +0 -31
  317. package/dist/lib/node-esm/store-RK5B4XEL.mjs.map +0 -7
  318. package/dist/types/src/common/collaboration.d.ts +0 -20
  319. package/dist/types/src/common/collaboration.d.ts.map +0 -1
  320. package/dist/types/src/common/events.d.ts +0 -52
  321. package/dist/types/src/common/events.d.ts.map +0 -1
  322. package/dist/types/src/common/file.d.ts +0 -14
  323. package/dist/types/src/common/file.d.ts.map +0 -1
  324. package/dist/types/src/common/graph.d.ts +0 -21
  325. package/dist/types/src/common/graph.d.ts.map +0 -1
  326. package/dist/types/src/common/layout.d.ts +0 -279
  327. package/dist/types/src/common/layout.d.ts.map +0 -1
  328. package/dist/types/src/common/surface.d.ts +0 -68
  329. package/dist/types/src/common/surface.d.ts.map +0 -1
  330. package/dist/types/src/core/capabilities.d.ts +0 -117
  331. package/dist/types/src/core/capabilities.d.ts.map +0 -1
  332. package/dist/types/src/core/capabilities.test.d.ts +0 -2
  333. package/dist/types/src/core/capabilities.test.d.ts.map +0 -1
  334. package/dist/types/src/core/events.d.ts.map +0 -1
  335. package/dist/types/src/core/manager.d.ts +0 -126
  336. package/dist/types/src/core/manager.d.ts.map +0 -1
  337. package/dist/types/src/core/manager.test.d.ts +0 -2
  338. package/dist/types/src/core/manager.test.d.ts.map +0 -1
  339. package/dist/types/src/playground/debug/Debug.d.ts +0 -6
  340. package/dist/types/src/playground/debug/Debug.d.ts.map +0 -1
  341. package/dist/types/src/playground/debug/index.d.ts +0 -2
  342. package/dist/types/src/playground/debug/index.d.ts.map +0 -1
  343. package/dist/types/src/playground/debug/plugin.d.ts +0 -2
  344. package/dist/types/src/playground/debug/plugin.d.ts.map +0 -1
  345. package/dist/types/src/playground/generator/Main.d.ts +0 -6
  346. package/dist/types/src/playground/generator/Main.d.ts.map +0 -1
  347. package/dist/types/src/playground/generator/Toolbar.d.ts +0 -6
  348. package/dist/types/src/playground/generator/Toolbar.d.ts.map +0 -1
  349. package/dist/types/src/playground/generator/generator.d.ts +0 -7
  350. package/dist/types/src/playground/generator/generator.d.ts.map +0 -1
  351. package/dist/types/src/playground/generator/index.d.ts +0 -3
  352. package/dist/types/src/playground/generator/index.d.ts.map +0 -1
  353. package/dist/types/src/playground/generator/plugin.d.ts +0 -2
  354. package/dist/types/src/playground/generator/plugin.d.ts.map +0 -1
  355. package/dist/types/src/playground/layout/Layout.d.ts +0 -8
  356. package/dist/types/src/playground/layout/Layout.d.ts.map +0 -1
  357. package/dist/types/src/playground/layout/index.d.ts +0 -2
  358. package/dist/types/src/playground/layout/index.d.ts.map +0 -1
  359. package/dist/types/src/playground/layout/plugin.d.ts +0 -2
  360. package/dist/types/src/playground/layout/plugin.d.ts.map +0 -1
  361. package/dist/types/src/playground/logger/Toolbar.d.ts +0 -6
  362. package/dist/types/src/playground/logger/Toolbar.d.ts.map +0 -1
  363. package/dist/types/src/playground/logger/index.d.ts +0 -2
  364. package/dist/types/src/playground/logger/index.d.ts.map +0 -1
  365. package/dist/types/src/playground/logger/plugin.d.ts +0 -2
  366. package/dist/types/src/playground/logger/plugin.d.ts.map +0 -1
  367. package/dist/types/src/playground/logger/schema.d.ts +0 -13
  368. package/dist/types/src/playground/logger/schema.d.ts.map +0 -1
  369. package/dist/types/src/playground/playground.stories.d.ts +0 -11
  370. package/dist/types/src/playground/playground.stories.d.ts.map +0 -1
  371. package/dist/types/src/plugin-intent/IntentPlugin.d.ts +0 -2
  372. package/dist/types/src/plugin-intent/IntentPlugin.d.ts.map +0 -1
  373. package/dist/types/src/plugin-intent/actions.d.ts +0 -36
  374. package/dist/types/src/plugin-intent/actions.d.ts.map +0 -1
  375. package/dist/types/src/plugin-intent/errors.d.ts +0 -16
  376. package/dist/types/src/plugin-intent/errors.d.ts.map +0 -1
  377. package/dist/types/src/plugin-intent/index.d.ts +0 -6
  378. package/dist/types/src/plugin-intent/index.d.ts.map +0 -1
  379. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts +0 -139
  380. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts.map +0 -1
  381. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts +0 -2
  382. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts.map +0 -1
  383. package/dist/types/src/plugin-intent/intent.d.ts +0 -63
  384. package/dist/types/src/plugin-intent/intent.d.ts.map +0 -1
  385. package/dist/types/src/plugin-intent/meta.d.ts +0 -3
  386. package/dist/types/src/plugin-intent/meta.d.ts.map +0 -1
  387. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts +0 -2
  388. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts.map +0 -1
  389. package/dist/types/src/plugin-settings/actions.d.ts +0 -25
  390. package/dist/types/src/plugin-settings/actions.d.ts.map +0 -1
  391. package/dist/types/src/plugin-settings/app-graph-builder.d.ts +0 -4
  392. package/dist/types/src/plugin-settings/app-graph-builder.d.ts.map +0 -1
  393. package/dist/types/src/plugin-settings/index.d.ts +0 -3
  394. package/dist/types/src/plugin-settings/index.d.ts.map +0 -1
  395. package/dist/types/src/plugin-settings/intent-resolver.d.ts +0 -4
  396. package/dist/types/src/plugin-settings/intent-resolver.d.ts.map +0 -1
  397. package/dist/types/src/plugin-settings/meta.d.ts +0 -3
  398. package/dist/types/src/plugin-settings/meta.d.ts.map +0 -1
  399. package/dist/types/src/plugin-settings/store.d.ts +0 -5
  400. package/dist/types/src/plugin-settings/store.d.ts.map +0 -1
  401. package/dist/types/src/plugin-settings/translations.d.ts +0 -11
  402. package/dist/types/src/plugin-settings/translations.d.ts.map +0 -1
  403. package/dist/types/src/react/App.d.ts +0 -10
  404. package/dist/types/src/react/App.d.ts.map +0 -1
  405. package/dist/types/src/react/App.stories.d.ts.map +0 -1
  406. package/dist/types/src/react/DefaultFallback.d.ts +0 -8
  407. package/dist/types/src/react/DefaultFallback.d.ts.map +0 -1
  408. package/dist/types/src/react/ErrorBoundary.d.ts +0 -30
  409. package/dist/types/src/react/ErrorBoundary.d.ts.map +0 -1
  410. package/dist/types/src/react/IntentContext.d.ts +0 -8
  411. package/dist/types/src/react/IntentContext.d.ts.map +0 -1
  412. package/dist/types/src/react/PluginManagerProvider.d.ts +0 -10
  413. package/dist/types/src/react/PluginManagerProvider.d.ts.map +0 -1
  414. package/dist/types/src/react/Surface.d.ts +0 -12
  415. package/dist/types/src/react/Surface.d.ts.map +0 -1
  416. package/dist/types/src/react/Surface.stories.d.ts.map +0 -1
  417. package/dist/types/src/react/common.d.ts +0 -13
  418. package/dist/types/src/react/common.d.ts.map +0 -1
  419. package/dist/types/src/react/index.d.ts +0 -9
  420. package/dist/types/src/react/index.d.ts.map +0 -1
  421. package/dist/types/src/react/types.d.ts +0 -14
  422. package/dist/types/src/react/types.d.ts.map +0 -1
  423. package/dist/types/src/react/useApp.d.ts.map +0 -1
  424. package/dist/types/src/react/useCapabilities.d.ts +0 -13
  425. package/dist/types/src/react/useCapabilities.d.ts.map +0 -1
  426. package/dist/types/src/react/useIntentResolver.d.ts +0 -3
  427. package/dist/types/src/react/useIntentResolver.d.ts.map +0 -1
  428. package/dist/types/src/react/useLoading.d.ts.map +0 -1
  429. package/src/common/collaboration.ts +0 -18
  430. package/src/common/events.ts +0 -79
  431. package/src/common/file.ts +0 -22
  432. package/src/common/graph.ts +0 -30
  433. package/src/common/layout.ts +0 -277
  434. package/src/common/surface.ts +0 -88
  435. package/src/core/capabilities.test.ts +0 -136
  436. package/src/core/capabilities.ts +0 -263
  437. package/src/core/manager.test.ts +0 -516
  438. package/src/core/manager.ts +0 -604
  439. package/src/playground/debug/Debug.tsx +0 -39
  440. package/src/playground/debug/plugin.ts +0 -16
  441. package/src/playground/generator/Main.tsx +0 -70
  442. package/src/playground/generator/Toolbar.tsx +0 -47
  443. package/src/playground/generator/generator.ts +0 -48
  444. package/src/playground/generator/index.ts +0 -6
  445. package/src/playground/generator/plugin.ts +0 -22
  446. package/src/playground/layout/Layout.tsx +0 -33
  447. package/src/playground/layout/plugin.ts +0 -18
  448. package/src/playground/logger/Toolbar.tsx +0 -30
  449. package/src/playground/logger/plugin.ts +0 -41
  450. package/src/playground/logger/schema.ts +0 -12
  451. package/src/playground/playground.stories.tsx +0 -46
  452. package/src/plugin-intent/IntentPlugin.ts +0 -20
  453. package/src/plugin-intent/actions.ts +0 -31
  454. package/src/plugin-intent/errors.ts +0 -40
  455. package/src/plugin-intent/index.ts +0 -9
  456. package/src/plugin-intent/intent-dispatcher.test.ts +0 -286
  457. package/src/plugin-intent/intent-dispatcher.ts +0 -342
  458. package/src/plugin-intent/intent.ts +0 -154
  459. package/src/plugin-intent/meta.ts +0 -10
  460. package/src/plugin-settings/SettingsPlugin.ts +0 -34
  461. package/src/plugin-settings/actions.ts +0 -25
  462. package/src/plugin-settings/app-graph-builder.ts +0 -160
  463. package/src/plugin-settings/index.ts +0 -6
  464. package/src/plugin-settings/intent-resolver.ts +0 -35
  465. package/src/plugin-settings/meta.ts +0 -10
  466. package/src/plugin-settings/store.ts +0 -33
  467. package/src/plugin-settings/translations.ts +0 -19
  468. package/src/react/App.stories.tsx +0 -33
  469. package/src/react/DefaultFallback.tsx +0 -26
  470. package/src/react/ErrorBoundary.tsx +0 -56
  471. package/src/react/IntentContext.tsx +0 -35
  472. package/src/react/Surface.tsx +0 -109
  473. package/src/react/common.ts +0 -13
  474. package/src/react/index.ts +0 -14
  475. package/src/react/types.ts +0 -38
  476. package/src/react/useApp.tsx +0 -165
  477. package/src/react/useCapabilities.ts +0 -31
  478. package/src/react/useIntentResolver.ts +0 -22
  479. /package/dist/lib/browser/{intent-dispatcher-LZ4AE66E.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  480. /package/dist/lib/browser/{react/index.mjs.map → chunk-YAFEA4GV.mjs.map} +0 -0
  481. /package/dist/lib/{node-esm/intent-dispatcher-MGOJ3CHD.mjs.map → browser/common/activation-events.mjs.map} +0 -0
  482. /package/dist/lib/{node-esm/react/index.mjs.map → browser/common/capabilities.mjs.map} +0 -0
@@ -0,0 +1,44 @@
1
+ import {
2
+ capability_exports
3
+ } from "./chunk-YNFPIQGB.mjs";
4
+
5
+ // src/common/translations.ts
6
+ import * as Schema from "effect/Schema";
7
+ var Label = Schema.Union(Schema.String, Schema.mutable(Schema.Tuple(Schema.String, Schema.mutable(Schema.Struct({
8
+ ns: Schema.String,
9
+ count: Schema.optional(Schema.Number),
10
+ defaultValue: Schema.optional(Schema.String)
11
+ })))));
12
+
13
+ // src/common/operations.ts
14
+ import * as Schema2 from "effect/Schema";
15
+ import { Operation } from "@dxos/operation";
16
+ var UNDO_NAMESPACE = "org.dxos.app-framework.undo";
17
+ (function(UndoOperation2) {
18
+ UndoOperation2.ShowUndo = Operation.make({
19
+ meta: {
20
+ key: `${UNDO_NAMESPACE}.operation.show-undo`,
21
+ name: "Show Undo",
22
+ description: "Show an undo toast notification."
23
+ },
24
+ executionMode: "sync",
25
+ services: [
26
+ capability_exports.Service
27
+ ],
28
+ schema: {
29
+ input: Schema2.Struct({
30
+ message: Schema2.optional(Label.annotations({
31
+ description: "The message to display in the undo toast."
32
+ }))
33
+ }),
34
+ output: Schema2.Void
35
+ }
36
+ });
37
+ })(UndoOperation || (UndoOperation = {}));
38
+ var UndoOperation;
39
+
40
+ export {
41
+ Label,
42
+ UndoOperation
43
+ };
44
+ //# sourceMappingURL=chunk-TIEBZMTF.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/common/translations.ts", "../../../src/common/operations.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\n/**\n * A Label represents translatable text - either a simple string or a tuple of [key, options].\n */\nexport const Label = Schema.Union(\n Schema.String,\n Schema.mutable(\n Schema.Tuple(\n Schema.String,\n Schema.mutable(\n Schema.Struct({\n ns: Schema.String,\n count: Schema.optional(Schema.Number),\n defaultValue: Schema.optional(Schema.String),\n }),\n ),\n ),\n ),\n);\nexport type Label = Schema.Schema.Type<typeof Label>;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Operation } from '@dxos/operation';\n\nimport { Capability } from '../core';\n\nimport { Label } from './translations';\n\nconst UNDO_NAMESPACE = 'org.dxos.app-framework.undo';\n\n/**\n * Operations related to undo/history functionality.\n */\nexport namespace UndoOperation {\n /**\n * Show an undo toast notification.\n * Fired by HistoryTracker when an undoable operation is tracked.\n */\n export const ShowUndo = Operation.make({\n meta: {\n key: `${UNDO_NAMESPACE}.operation.show-undo`,\n name: 'Show Undo',\n description: 'Show an undo toast notification.',\n },\n executionMode: 'sync',\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n message: Schema.optional(Label.annotations({ description: 'The message to display in the undo toast.' })),\n }),\n output: Schema.Void,\n },\n });\n}\n"],
5
+ "mappings": ";;;;;AAIA,YAAYA,YAAY;AAKjB,IAAMC,QAAeC,aACnBC,eACAC,eACEC,aACEF,eACAC,eACEE,cAAO;EACZC,IAAWJ;EACXK,OAAcC,gBAAgBC,aAAM;EACpCC,cAAqBF,gBAAgBN,aAAM;AAC7C,CAAA,CAAA,CAAA,CAAA,CAAA;;;ACfR,YAAYS,aAAY;AAExB,SAASC,iBAAiB;AAM1B,IAAMC,iBAAiB;UAKNC,gBAAAA;iBAKFC,WAAWC,UAAUC,KAAK;IACrCC,MAAM;MACJC,KAAK,GAAGN,cAAAA;MACRO,MAAM;MACNC,aAAa;IACf;IACAC,eAAe;IACfC,UAAU;MAACC,mBAAWC;;IACtBC,QAAQ;MACNC,OAAcC,eAAO;QACnBC,SAAgBC,iBAASC,MAAMC,YAAY;UAAEX,aAAa;QAA4C,CAAA,CAAA;MACxG,CAAA;MACAY,QAAeC;IACjB;EACF,CAAA;AACF,GApBiBpB,kBAAAA,gBAAAA,CAAAA,EAAAA;;",
6
+ "names": ["Schema", "Label", "Union", "String", "mutable", "Tuple", "Struct", "ns", "count", "optional", "Number", "defaultValue", "Schema", "Operation", "UNDO_NAMESPACE", "UndoOperation", "ShowUndo", "Operation", "make", "meta", "key", "name", "description", "executionMode", "services", "Capability", "Service", "schema", "input", "Struct", "message", "optional", "Label", "annotations", "output", "Void"]
7
+ }
@@ -0,0 +1,80 @@
1
+ import {
2
+ capability_exports
3
+ } from "./chunk-YNFPIQGB.mjs";
4
+ import {
5
+ __export
6
+ } from "./chunk-J5LGTIGS.mjs";
7
+
8
+ // src/common/capabilities.ts
9
+ var capabilities_exports = {};
10
+ __export(capabilities_exports, {
11
+ AtomRegistry: () => AtomRegistry,
12
+ Command: () => Command,
13
+ HistoryTracker: () => HistoryTracker,
14
+ Layer: () => Layer,
15
+ ManagedRuntime: () => ManagedRuntime,
16
+ Null: () => Null,
17
+ OperationInvoker: () => OperationInvoker,
18
+ OperationResolver: () => OperationResolver,
19
+ PluginManager: () => PluginManager,
20
+ ReactContext: () => ReactContext,
21
+ ReactRoot: () => ReactRoot,
22
+ ReactSurface: () => ReactSurface,
23
+ UndoMapping: () => UndoMapping,
24
+ UndoRegistry: () => UndoRegistry,
25
+ getAtomValue: () => getAtomValue,
26
+ subscribeAtom: () => subscribeAtom,
27
+ updateAtomValue: () => updateAtomValue
28
+ });
29
+ import * as Effect from "effect/Effect";
30
+ var Null = capability_exports.make("org.dxos.app-framework.capability.null");
31
+ var PluginManager = capability_exports.make("org.dxos.app-framework.capability.plugin-manager");
32
+ var AtomRegistry = capability_exports.make("org.dxos.app-framework.capability.atom-registry");
33
+ var ReactContext = capability_exports.make("org.dxos.app-framework.capability.react-context");
34
+ var ReactRoot = capability_exports.make("org.dxos.app-framework.capability.react-root");
35
+ var ReactSurface = capability_exports.make("org.dxos.app-framework.common.react-surface");
36
+ var Command = capability_exports.make("org.dxos.app-framework.capability.command");
37
+ var Layer = capability_exports.make("org.dxos.app-framework.capability.layer");
38
+ var ManagedRuntime = capability_exports.make("org.dxos.app-framework.capability.managed-runtime");
39
+ var OperationResolver = capability_exports.make("org.dxos.app-framework.capability.operation-resolver");
40
+ var UndoMapping = capability_exports.make("org.dxos.app-framework.capability.undo-mapping");
41
+ var OperationInvoker = capability_exports.make("org.dxos.app-framework.capability.operation-invoker");
42
+ var UndoRegistry = capability_exports.make("org.dxos.app-framework.capability.undo-registry");
43
+ var HistoryTracker = capability_exports.make("org.dxos.app-framework.capability.history-tracker");
44
+ var getAtomValue = (atomCapability) => Effect.gen(function* () {
45
+ const registry = yield* capability_exports.get(AtomRegistry);
46
+ const atom = yield* capability_exports.get(atomCapability);
47
+ return registry.get(atom);
48
+ });
49
+ var updateAtomValue = (atomCapability, fn) => Effect.gen(function* () {
50
+ const registry = yield* capability_exports.get(AtomRegistry);
51
+ const atom = yield* capability_exports.get(atomCapability);
52
+ registry.set(atom, fn(registry.get(atom)));
53
+ });
54
+ var subscribeAtom = (atomCapability, callback) => Effect.gen(function* () {
55
+ const registry = yield* capability_exports.get(AtomRegistry);
56
+ const atom = yield* capability_exports.get(atomCapability);
57
+ return registry.subscribe(atom, () => callback(registry.get(atom)));
58
+ });
59
+
60
+ export {
61
+ Null,
62
+ PluginManager,
63
+ AtomRegistry,
64
+ ReactContext,
65
+ ReactRoot,
66
+ ReactSurface,
67
+ Command,
68
+ Layer,
69
+ ManagedRuntime,
70
+ OperationResolver,
71
+ UndoMapping,
72
+ OperationInvoker,
73
+ UndoRegistry,
74
+ HistoryTracker,
75
+ getAtomValue,
76
+ updateAtomValue,
77
+ subscribeAtom,
78
+ capabilities_exports
79
+ };
80
+ //# sourceMappingURL=chunk-WEBSGU5L.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/common/capabilities.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport type * as Command$ from '@effect/cli/Command';\nimport { type Atom, type Registry } from '@effect-atom/atom-react';\nimport * as Effect from 'effect/Effect';\nimport type * as Layer$ from 'effect/Layer';\nimport type * as ManagedRuntime$ from 'effect/ManagedRuntime';\nimport type { FC, PropsWithChildren } from 'react';\n\nimport type { OperationInvoker as OperationInvoker$, OperationResolver as OperationResolver$ } from '@dxos/operation';\n\nimport { Capability as Capability$, type PluginManager as PluginManager$ } from '../core';\nimport type {\n HistoryTracker as HistoryTracker$,\n UndoMapping as UndoMapping$,\n UndoRegistry as UndoRegistry$,\n} from '../plugin-operation';\nimport type { Surface } from '../ui';\n\n/**\n * Null capability.\n * @category Capability\n */\nexport const Null = Capability$.make<null>('org.dxos.app-framework.capability.null');\n\n/**\n * @category Capability\n */\nexport const PluginManager = Capability$.make<PluginManager$.PluginManager>(\n 'org.dxos.app-framework.capability.plugin-manager',\n);\n\n/**\n * @category Capability\n */\nexport const AtomRegistry = Capability$.make<Registry.Registry>('org.dxos.app-framework.capability.atom-registry');\n\nexport type ReactContext = Readonly<{\n id: string;\n dependsOn?: string[];\n context: FC<PropsWithChildren>;\n}>;\n\n/**\n * @category Capability\n */\nexport const ReactContext = Capability$.make<ReactContext>('org.dxos.app-framework.capability.react-context');\n\nexport type ReactRoot = Readonly<{ id: string; root: FC<PropsWithChildren> }>;\n\n/**\n * @category Capability\n */\nexport const ReactRoot = Capability$.make<ReactRoot>('org.dxos.app-framework.capability.react-root');\n\n/**\n * Surface definitions that can be either React components or Web Components.\n */\nexport type ReactSurface = Surface.Definition | readonly Surface.Definition[];\n\n/**\n * @category Capability\n */\nexport const ReactSurface = Capability$.make<ReactSurface>('org.dxos.app-framework.common.react-surface');\n\nexport type AnyCommand = Command$.Command<any, any, any, any>;\n\n/**\n * @category Capability\n */\nexport const Command = Capability$.make<AnyCommand>('org.dxos.app-framework.capability.command');\n\n/**\n * @category Capability\n */\nexport const Layer = Capability$.make<Layer$.Layer<any, any, any>>('org.dxos.app-framework.capability.layer');\n\nexport type ManagedRuntime = ManagedRuntime$.ManagedRuntime<any, any>;\n\n/**\n * @category Capability\n */\nexport const ManagedRuntime = Capability$.make<ManagedRuntime>('org.dxos.app-framework.capability.managed-runtime');\n\n//\n// Operation System Capabilities\n//\n\nexport type OperationResolver = OperationResolver$.OperationResolver<any, any, any, any>;\n\n/**\n * Handler registration for operations - contributed by plugins.\n * @category Capability\n */\nexport const OperationResolver = Capability$.make<OperationResolver[]>(\n 'org.dxos.app-framework.capability.operation-resolver',\n);\n\nexport type UndoMapping = UndoMapping$.UndoMapping;\n\n/**\n * Undo mapping registration - contributed by plugins.\n * @category Capability\n */\nexport const UndoMapping = Capability$.make<UndoMapping[]>('org.dxos.app-framework.capability.undo-mapping');\n\nexport type OperationInvoker = OperationInvoker$.OperationInvoker;\n\n/**\n * Operation invoker - provided by OperationPlugin.\n * @category Capability\n */\nexport const OperationInvoker = Capability$.make<OperationInvoker>(\n 'org.dxos.app-framework.capability.operation-invoker',\n);\n\nexport type UndoRegistry = UndoRegistry$.UndoRegistry;\n\n/**\n * Undo registry - provided by OperationPlugin.\n * @category Capability\n */\nexport const UndoRegistry = Capability$.make<UndoRegistry>('org.dxos.app-framework.capability.undo-registry');\n\nexport type HistoryTracker = HistoryTracker$.HistoryTracker;\n\n/**\n * History tracker - provided by OperationPlugin.\n * @category Capability\n */\nexport const HistoryTracker = Capability$.make<HistoryTracker>('org.dxos.app-framework.capability.history-tracker');\n\n//\n// Atom Capability Helpers\n//\n\n/**\n * Get the current value of an atom capability.\n * @example const settings = yield* Capabilities.getAtomValue(ThreadCapabilities.Settings);\n */\nexport const getAtomValue = <T>(\n atomCapability: Capability$.InterfaceDef<Atom.Atom<T>>,\n): Effect.Effect<T, Error, Capability$.Service> =>\n Effect.gen(function* () {\n const registry = yield* Capability$.get(AtomRegistry);\n const atom = yield* Capability$.get(atomCapability);\n return registry.get(atom);\n });\n\n/**\n * Update an atom capability value (requires writable atom).\n * @example yield* Capabilities.updateAtomValue(ThreadCapabilities.Settings, (s) => ({ ...s, foo: true }));\n */\nexport const updateAtomValue = <T>(\n atomCapability: Capability$.InterfaceDef<Atom.Writable<T>>,\n fn: (current: T) => T,\n): Effect.Effect<void, Error, Capability$.Service> =>\n Effect.gen(function* () {\n const registry = yield* Capability$.get(AtomRegistry);\n const atom = yield* Capability$.get(atomCapability);\n registry.set(atom, fn(registry.get(atom)));\n });\n\n/**\n * Subscribe to an atom capability.\n * @example const unsubscribe = yield* Capabilities.subscribeAtom(ThreadCapabilities.Settings, (value) => ...);\n */\nexport const subscribeAtom = <T>(\n atomCapability: Capability$.InterfaceDef<Atom.Atom<T>>,\n callback: (value: T) => void,\n): Effect.Effect<() => void, Error, Capability$.Service> =>\n Effect.gen(function* () {\n const registry = yield* Capability$.get(AtomRegistry);\n const atom = yield* Capability$.get(atomCapability);\n return registry.subscribe(atom, () => callback(registry.get(atom)));\n });\n"],
5
+ "mappings": ";;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;AAMA,YAAYA,YAAY;AAmBjB,IAAMC,OAAOC,mBAAYC,KAAW,wCAAA;AAKpC,IAAMC,gBAAgBF,mBAAYC,KACvC,kDAAA;AAMK,IAAME,eAAeH,mBAAYC,KAAwB,iDAAA;AAWzD,IAAMG,eAAeJ,mBAAYC,KAAmB,iDAAA;AAOpD,IAAMI,YAAYL,mBAAYC,KAAgB,8CAAA;AAU9C,IAAMK,eAAeN,mBAAYC,KAAmB,6CAAA;AAOpD,IAAMM,UAAUP,mBAAYC,KAAiB,2CAAA;AAK7C,IAAMO,QAAQR,mBAAYC,KAAkC,yCAAA;AAO5D,IAAMQ,iBAAiBT,mBAAYC,KAAqB,mDAAA;AAYxD,IAAMS,oBAAoBV,mBAAYC,KAC3C,sDAAA;AASK,IAAMU,cAAcX,mBAAYC,KAAoB,gDAAA;AAQpD,IAAMW,mBAAmBZ,mBAAYC,KAC1C,qDAAA;AASK,IAAMY,eAAeb,mBAAYC,KAAmB,iDAAA;AAQpD,IAAMa,iBAAiBd,mBAAYC,KAAqB,mDAAA;AAUxD,IAAMc,eAAe,CAC1BC,mBAEOC,WAAI,aAAA;AACT,QAAMC,WAAW,OAAOlB,mBAAYmB,IAAIhB,YAAAA;AACxC,QAAMiB,OAAO,OAAOpB,mBAAYmB,IAAIH,cAAAA;AACpC,SAAOE,SAASC,IAAIC,IAAAA;AACtB,CAAA;AAMK,IAAMC,kBAAkB,CAC7BL,gBACAM,OAEOL,WAAI,aAAA;AACT,QAAMC,WAAW,OAAOlB,mBAAYmB,IAAIhB,YAAAA;AACxC,QAAMiB,OAAO,OAAOpB,mBAAYmB,IAAIH,cAAAA;AACpCE,WAASK,IAAIH,MAAME,GAAGJ,SAASC,IAAIC,IAAAA,CAAAA,CAAAA;AACrC,CAAA;AAMK,IAAMI,gBAAgB,CAC3BR,gBACAS,aAEOR,WAAI,aAAA;AACT,QAAMC,WAAW,OAAOlB,mBAAYmB,IAAIhB,YAAAA;AACxC,QAAMiB,OAAO,OAAOpB,mBAAYmB,IAAIH,cAAAA;AACpC,SAAOE,SAASQ,UAAUN,MAAM,MAAMK,SAASP,SAASC,IAAIC,IAAAA,CAAAA,CAAAA;AAC9D,CAAA;",
6
+ "names": ["Effect", "Null", "Capability$", "make", "PluginManager", "AtomRegistry", "ReactContext", "ReactRoot", "ReactSurface", "Command", "Layer", "ManagedRuntime", "OperationResolver", "UndoMapping", "OperationInvoker", "UndoRegistry", "HistoryTracker", "getAtomValue", "atomCapability", "gen", "registry", "get", "atom", "updateAtomValue", "fn", "set", "subscribeAtom", "callback", "subscribe"]
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-YAFEA4GV.mjs.map
@@ -0,0 +1,76 @@
1
+ import {
2
+ __export
3
+ } from "./chunk-J5LGTIGS.mjs";
4
+
5
+ // src/core/capability.ts
6
+ var capability_exports = {};
7
+ __export(capability_exports, {
8
+ ModuleTag: () => ModuleTag,
9
+ Service: () => Service,
10
+ atom: () => atom,
11
+ contributes: () => contributes,
12
+ get: () => get,
13
+ getAll: () => getAll,
14
+ getModuleTag: () => getModuleTag,
15
+ lazy: () => lazy,
16
+ make: () => make,
17
+ makeModule: () => makeModule,
18
+ waitFor: () => waitFor
19
+ });
20
+ import * as Context from "effect/Context";
21
+ import * as Effect from "effect/Effect";
22
+ var Service = class extends Context.Tag("@dxos/app-framework/CapabilityManager")() {
23
+ };
24
+ var get = (interfaceDef) => Effect.flatMap(Service, (manager) => Effect.try({
25
+ try: () => manager.get(interfaceDef),
26
+ catch: (error) => error instanceof Error ? error : new Error(String(error))
27
+ }));
28
+ var getAll = (interfaceDef) => Effect.map(Service, (manager) => manager.getAll(interfaceDef));
29
+ var waitFor = (interfaceDef) => Effect.flatMap(Service, (manager) => manager.waitFor(interfaceDef));
30
+ var atom = (interfaceDef) => Effect.map(Service, (manager) => manager.atom(interfaceDef));
31
+ var ModuleTag = /* @__PURE__ */ Symbol.for("@dxos/app-framework/ModuleTag");
32
+ var make = (identifier) => {
33
+ return {
34
+ identifier
35
+ };
36
+ };
37
+ var contributes = (interfaceDef, implementation, deactivate) => {
38
+ return {
39
+ interface: interfaceDef,
40
+ implementation,
41
+ deactivate
42
+ };
43
+ };
44
+ var lazy = (name, c) => {
45
+ const lazyFn = (props) => Effect.gen(function* () {
46
+ const { default: getCapability } = yield* Effect.tryPromise(() => c());
47
+ const result = yield* getCapability(props);
48
+ const normalized = result == null ? [] : Array.isArray(result) ? Array.from(result) : [
49
+ result
50
+ ];
51
+ return normalized;
52
+ });
53
+ return Object.assign(lazyFn, {
54
+ [ModuleTag]: name
55
+ });
56
+ };
57
+ var getModuleTag = (capability) => {
58
+ return capability && typeof capability === "function" && ModuleTag in capability ? String(capability[ModuleTag]) : void 0;
59
+ };
60
+ var makeModule = (fn) => fn;
61
+
62
+ export {
63
+ Service,
64
+ get,
65
+ getAll,
66
+ waitFor,
67
+ atom,
68
+ ModuleTag,
69
+ make,
70
+ contributes,
71
+ lazy,
72
+ getModuleTag,
73
+ makeModule,
74
+ capability_exports
75
+ };
76
+ //# sourceMappingURL=chunk-YNFPIQGB.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/core/capability.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Atom } from '@effect-atom/atom-react';\nimport * as Context from 'effect/Context';\nimport * as Effect from 'effect/Effect';\n\nimport type * as CapabilityManager from './capability-manager';\nimport type * as Plugin from './plugin';\n\n//\n// Capability Service Layer\n//\n\n/**\n * Effect Context.Tag for accessing CapabilityManager via the Effect layer system.\n * This allows capability modules to access the capability manager without having it passed as an argument.\n */\nexport class Service extends Context.Tag('@dxos/app-framework/CapabilityManager')<\n Service,\n CapabilityManager.CapabilityManager\n>() {}\n\n/**\n * Get a single capability from the capability manager.\n * @param interfaceDef The interface definition of the capability.\n * @returns The capability implementation.\n * @throws If no capability is found.\n */\n// TODO(wittjosiah): Add custom tagged errors (Data.TaggedError) for app-framework to enable\n// type-safe error handling with Effect. Consider CapabilityNotFoundError, ModuleActivationError, etc.\nexport const get = <T>(interfaceDef: InterfaceDef<T>): Effect.Effect<T, Error, Service> =>\n Effect.flatMap(Service, (manager) =>\n Effect.try({\n try: () => manager.get(interfaceDef),\n catch: (error) => (error instanceof Error ? error : new Error(String(error))),\n }),\n );\n\n/**\n * Get all capabilities from the capability manager for a given interface.\n * @param interfaceDef The interface definition of the capability.\n * @returns An array of capability implementations.\n */\nexport const getAll = <T>(interfaceDef: InterfaceDef<T>): Effect.Effect<T[], never, Service> =>\n Effect.map(Service, (manager) => manager.getAll(interfaceDef));\n\n/**\n * Wait for a capability to be available.\n * @param interfaceDef The interface definition of the capability.\n * @returns The capability implementation once available.\n */\nexport const waitFor = <T>(interfaceDef: InterfaceDef<T>): Effect.Effect<T, Error, Service> =>\n Effect.flatMap(Service, (manager) => manager.waitFor(interfaceDef));\n\n/**\n * Get the Atom reference to capabilities for reactive access.\n * @param interfaceDef The interface definition of the capability.\n * @returns An Atom containing the array of capability implementations.\n */\nexport const atom = <T>(interfaceDef: InterfaceDef<T>): Effect.Effect<Atom.Atom<T[]>, never, Service> =>\n Effect.map(Service, (manager) => manager.atom(interfaceDef));\n\nconst InterfaceDefTypeId: unique symbol = Symbol.for('InterfaceDefTypeId');\n\n/**\n * Symbol used to tag lazy capability functions with their module ID.\n */\nexport const ModuleTag: unique symbol = Symbol.for('@dxos/app-framework/ModuleTag');\n\n/**\n * The interface definition of a capability.\n */\nexport type InterfaceDef<T> = {\n [InterfaceDefTypeId]: T;\n identifier: string;\n};\n\nexport namespace InterfaceDef {\n export type Implementation<I extends InterfaceDef<any>> = I extends InterfaceDef<infer T> ? T : never;\n}\n\n/**\n * Helper to define the interface of a capability.\n */\nexport const make = <T>(identifier: string) => {\n return { identifier } as InterfaceDef<T>;\n};\n\n/**\n * A unique string identifier with a Typescript type associated with it.\n * When a capability is contributed to the application an implementation of the interface is provided.\n */\nexport type Capability<T> = {\n /**\n * The interface definition of the capability.\n */\n readonly interface: InterfaceDef<T>;\n\n /**\n * The implementation of the capability.\n */\n readonly implementation: T;\n\n /**\n * Called when the capability is deactivated.\n */\n readonly deactivate?: () => Effect.Effect<void, Error>;\n};\n\nexport type Any = Capability<any>;\n\n/**\n * Union type representing all valid return types for a capability module.\n * Supports single capabilities, arrays, and tuples of different capability types.\n */\nexport type ModuleReturn = void | Any | Any[] | readonly Any[] | [Any, ...Any[]] | readonly [Any, ...Any[]];\n\n/**\n * Helper to define the implementation of a capability.\n */\nexport const contributes = <I extends InterfaceDef<any>>(\n interfaceDef: I,\n implementation: Capability<InterfaceDef.Implementation<I>>['implementation'],\n deactivate?: Capability<InterfaceDef.Implementation<I>>['deactivate'],\n): Capability<I> => {\n return {\n interface: interfaceDef,\n implementation,\n deactivate,\n } satisfies Capability<I>;\n};\n\ntype LoadCapability<Props, Capabilities extends ModuleReturn = ModuleReturn> = () => Promise<{\n default: (props: Props) => Effect.Effect<Capabilities, Error, Service | Plugin.Service | never>;\n}>;\ntype LoadCapabilities<Props, Capabilities extends ModuleReturn = ModuleReturn> = () => Promise<{\n default: (props: Props) => Effect.Effect<Capabilities, Error, Service | Plugin.Service | never>;\n}>;\n\ntype NormalizeReturn<R> = R extends readonly (infer A)[]\n ? A[]\n : R extends (infer A)[]\n ? A[]\n : R extends Any\n ? [R]\n : Any[];\n\nexport type LazyCapability<Props = void, Capabilities extends ModuleReturn = ModuleReturn, E extends Error = Error> = (\n props: Props,\n) => Effect.Effect<NormalizeReturn<Capabilities>, E, Service | Plugin.Service | never>;\n\n/**\n * Helper to define a lazily loaded implementation of a capability.\n * Supports single capabilities, arrays, and tuples of different capability types.\n * @param name The export name (e.g., 'AppGraphBuilder') - used to auto-compute module IDs.\n * @param loader The lazy loader function.\n * @returns A lazy capability function with ModuleTag symbol attached.\n */\nexport const lazy = <T = void, R extends ModuleReturn = ModuleReturn>(\n name: string,\n c: LoadCapability<T, R> | LoadCapabilities<T, R>,\n): LazyCapability<T, R> => {\n const lazyFn: LazyCapability<T, R> = (props: T) =>\n Effect.gen(function* () {\n const { default: getCapability } = yield* Effect.tryPromise(() => c());\n const result = yield* getCapability(props);\n const normalized = result == null ? [] : Array.isArray(result) ? Array.from(result) : [result];\n return normalized as NormalizeReturn<R>;\n });\n\n return Object.assign(lazyFn, { [ModuleTag]: name });\n};\n\n/**\n * Gets the module tag (export name) from a lazy capability function.\n * @param capability The lazy capability function.\n * @returns The module tag if present, undefined otherwise.\n */\n// TODO(wittjosiah): Stricter type for capability.\nexport const getModuleTag = (capability: unknown): string | undefined => {\n return capability && typeof capability === 'function' && ModuleTag in capability\n ? String(capability[ModuleTag])\n : undefined;\n};\n\n/**\n * Helper to define a capability module with explicit typing.\n * Wraps the default export function to provide better type inference and make the pattern explicit.\n *\n * This helper provides explicit typing for the module activation function,\n * making it clear that the function should:\n * - Access CapabilityManager via the Effect layer system (Capability.get, Capability.getAll, etc.)\n * - Return a capability, array of capabilities, or tuple of different capability types (sync or async)\n *\n * Supports returning multiple capabilities of different types as a tuple, which will be normalized\n * to an array at runtime for compatibility with the plugin system.\n *\n * @example\n * ```ts\n * // Module without options - single capability\n * export default Capability.makeModule(\n * Effect.fnUntraced(function* () {\n * const client = yield* Capability.get(ClientCapabilities.Client);\n * return contributes(Capabilities.SettingsStore, store);\n * })\n * );\n *\n * // Module with multiple capabilities\n * export default Capability.makeModule(\n * Effect.fnUntraced(function* () {\n * return [\n * contributes(Capabilities.SettingsStore, store),\n * contributes(Capabilities.Translations, translations),\n * ];\n * })\n * );\n *\n * // Module with required options (context accessed via layer)\n * export default Capability.makeModule(\n * Effect.fnUntraced(function* (props: { observability: boolean }) {\n * const invoker = yield* Capability.get(Capabilities.OperationInvoker);\n * return contributes(Capabilities.IntentResolver, ...);\n * })\n * );\n * ```\n */\nexport const makeModule = <\n TProps = void,\n TReturn extends ModuleReturn = ModuleReturn,\n E extends Error = Error,\n R extends Service | Plugin.Service | never = Service,\n>(\n fn: (props: TProps) => Effect.Effect<TReturn, E, R>,\n): ((props: TProps) => Effect.Effect<TReturn, E, R>) => fn;\n"],
5
+ "mappings": ";;;;;AAAA;;;;;;;;;;;;;;AAKA,YAAYA,aAAa;AACzB,YAAYC,YAAY;AAajB,IAAMC,UAAN,cAA8BC,YAAI,uCAAA,EAAA,EAAA;AAGpC;AAUE,IAAMC,MAAM,CAAIC,iBACdC,eAAQJ,SAAS,CAACK,YAChBC,WAAI;EACTA,KAAK,MAAMD,QAAQH,IAAIC,YAAAA;EACvBI,OAAO,CAACC,UAAWA,iBAAiBC,QAAQD,QAAQ,IAAIC,MAAMC,OAAOF,KAAAA,CAAAA;AACvE,CAAA,CAAA;AAQG,IAAMG,SAAS,CAAIR,iBACjBS,WAAIZ,SAAS,CAACK,YAAYA,QAAQM,OAAOR,YAAAA,CAAAA;AAO3C,IAAMU,UAAU,CAAIV,iBAClBC,eAAQJ,SAAS,CAACK,YAAYA,QAAQQ,QAAQV,YAAAA,CAAAA;AAOhD,IAAMW,OAAO,CAAIX,iBACfS,WAAIZ,SAAS,CAACK,YAAYA,QAAQS,KAAKX,YAAAA,CAAAA;AAOzC,IAAMY,YAA2BC,uBAAOC,IAAI,+BAAA;AAiB5C,IAAMC,OAAO,CAAIC,eAAAA;AACtB,SAAO;IAAEA;EAAW;AACtB;AAkCO,IAAMC,cAAc,CACzBC,cACAC,gBACAC,eAAAA;AAEA,SAAO;IACLC,WAAWH;IACXC;IACAC;EACF;AACF;AA4BO,IAAME,OAAO,CAClBC,MACAC,MAAAA;AAEA,QAAMC,SAA+B,CAACC,UAC7BC,WAAI,aAAA;AACT,UAAM,EAAEC,SAASC,cAAa,IAAK,OAAcC,kBAAW,MAAMN,EAAAA,CAAAA;AAClE,UAAMO,SAAS,OAAOF,cAAcH,KAAAA;AACpC,UAAMM,aAAaD,UAAU,OAAO,CAAA,IAAKE,MAAMC,QAAQH,MAAAA,IAAUE,MAAME,KAAKJ,MAAAA,IAAU;MAACA;;AACvF,WAAOC;EACT,CAAA;AAEF,SAAOI,OAAOC,OAAOZ,QAAQ;IAAE,CAACb,SAAAA,GAAYW;EAAK,CAAA;AACnD;AAQO,IAAMe,eAAe,CAACC,eAAAA;AAC3B,SAAOA,cAAc,OAAOA,eAAe,cAAc3B,aAAa2B,aAClEC,OAAOD,WAAW3B,SAAAA,CAAU,IAC5B6B;AACN;AA2CO,IAAMC,aAAa,CAMxBC,OACsDA;",
6
+ "names": ["Context", "Effect", "Service", "Tag", "get", "interfaceDef", "flatMap", "manager", "try", "catch", "error", "Error", "String", "getAll", "map", "waitFor", "atom", "ModuleTag", "Symbol", "for", "make", "identifier", "contributes", "interfaceDef", "implementation", "deactivate", "interface", "lazy", "name", "c", "lazyFn", "props", "gen", "default", "getCapability", "tryPromise", "result", "normalized", "Array", "isArray", "from", "Object", "assign", "getModuleTag", "capability", "String", "undefined", "makeModule", "fn"]
7
+ }
@@ -0,0 +1,89 @@
1
+ import "../chunk-TIEBZMTF.mjs";
2
+ import {
3
+ capabilities_exports
4
+ } from "../chunk-WEBSGU5L.mjs";
5
+ import {
6
+ activation_events_exports
7
+ } from "../chunk-M5IC326L.mjs";
8
+ import "../chunk-YAFEA4GV.mjs";
9
+ import {
10
+ plugin_manager_exports
11
+ } from "../chunk-3VXJONTI.mjs";
12
+ import "../chunk-272IPLHQ.mjs";
13
+ import {
14
+ plugin_exports
15
+ } from "../chunk-GH3M2LIW.mjs";
16
+ import {
17
+ capability_exports
18
+ } from "../chunk-YNFPIQGB.mjs";
19
+ import "../chunk-J5LGTIGS.mjs";
20
+
21
+ // src/cli/cli.ts
22
+ import * as Command from "@effect/cli/Command";
23
+ import * as Effect from "effect/Effect";
24
+ import * as Layer from "effect/Layer";
25
+ import { invariant } from "@dxos/invariant";
26
+ var __dxlog_file = "/__w/dxos/dxos/packages/sdk/app-framework/src/cli/cli.ts";
27
+ var defaultPluginLoader = (plugins) => (id) => Effect.sync(() => {
28
+ const plugin = plugins.find((plugin2) => plugin2.meta.id === id);
29
+ invariant(plugin, `Plugin not found: ${id}`, {
30
+ F: __dxlog_file,
31
+ L: 19,
32
+ S: void 0,
33
+ A: [
34
+ "plugin",
35
+ "`Plugin not found: ${id}`"
36
+ ]
37
+ });
38
+ return plugin;
39
+ });
40
+ var createCliApp = Effect.fn(function* ({ rootCommand, subCommands: subCommandsProp, pluginManager: pluginManagerProp, pluginLoader: pluginLoaderProp, plugins: pluginsProp = [], core: coreProp, enabled: enabledProp = [], safeMode = false }) {
41
+ const plugins = pluginsProp;
42
+ const core = coreProp ?? plugins.map(({ meta }) => meta.id);
43
+ const pluginLoader = pluginLoaderProp ?? defaultPluginLoader(plugins);
44
+ const enabled = safeMode ? [] : enabledProp;
45
+ const manager = pluginManagerProp ?? plugin_manager_exports.make({
46
+ pluginLoader,
47
+ plugins,
48
+ core,
49
+ enabled
50
+ });
51
+ manager.capabilities.contribute({
52
+ interface: capabilities_exports.PluginManager,
53
+ implementation: manager,
54
+ module: "org.dxos.app-framework.plugin-manager"
55
+ });
56
+ manager.capabilities.contribute({
57
+ interface: capabilities_exports.AtomRegistry,
58
+ implementation: manager.registry,
59
+ module: "org.dxos.app-framework.atom-registry"
60
+ });
61
+ yield* manager.activate(activation_events_exports.Startup);
62
+ const layers = manager.capabilities.getAll(capabilities_exports.Layer);
63
+ const capabilityServiceLayer = Layer.succeed(capability_exports.Service, manager.capabilities);
64
+ const pluginServiceLayer = Layer.succeed(plugin_exports.Service, manager);
65
+ const layer = Layer.mergeAll(capabilityServiceLayer, pluginServiceLayer, ...layers);
66
+ const pluginCommands = manager.capabilities.getAll(capabilities_exports.Command);
67
+ const subCommands = subCommandsProp ? [
68
+ ...subCommandsProp,
69
+ ...pluginCommands
70
+ ] : pluginCommands;
71
+ invariant(subCommands.length > 0, "No subcommands provided", {
72
+ F: __dxlog_file,
73
+ L: 103,
74
+ S: this,
75
+ A: [
76
+ "subCommands.length > 0",
77
+ "'No subcommands provided'"
78
+ ]
79
+ });
80
+ const command = rootCommand.pipe(Command.withSubcommands(subCommands));
81
+ return {
82
+ command,
83
+ layer
84
+ };
85
+ });
86
+ export {
87
+ createCliApp
88
+ };
89
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/cli/cli.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\n\nimport { invariant } from '@dxos/invariant';\n\nimport { ActivationEvents, Capabilities } from '../common';\nimport { Capability, Plugin, PluginManager } from '../core';\n\nconst defaultPluginLoader =\n (plugins: Plugin.Plugin[]): PluginManager.ManagerOptions['pluginLoader'] =>\n (id: string) =>\n Effect.sync(() => {\n const plugin = plugins.find((plugin) => plugin.meta.id === id);\n invariant(plugin, `Plugin not found: ${id}`);\n return plugin;\n });\n\ntype SubCommands = [Command.Command<any, any, any, any>, ...Array<Command.Command<any, any, any, any>>];\n\nexport type CreateCliAppOptions = {\n rootCommand: Command.Command<any, any, any, any>;\n subCommands?: SubCommands;\n pluginManager?: PluginManager.PluginManager;\n pluginLoader?: PluginManager.ManagerOptions['pluginLoader'];\n plugins?: Plugin.Plugin[];\n core?: string[];\n enabled?: string[];\n safeMode?: boolean;\n};\n\n/**\n * Creates a CLI application with plugin support.\n * Similar to useApp but for CLI environments.\n *\n * @example\n * const plugins = [ClientPluginCLI()];\n * const manager = await createCliApp({ plugins });\n * const commands = manager.capabilities.getAll(Capabilities.Command);\n *\n * @param options.pluginManager Optional existing PluginManager instance.\n * @param options.pluginLoader Function to load plugins by ID.\n * @param options.plugins All plugins available to the application.\n * @param options.core Core plugins which will always be enabled.\n * @param options.enabled Enabled plugins.\n * @param options.safeMode Whether to enable safe mode, which disables optional plugins.\n */\nexport const createCliApp = Effect.fn(function* ({\n rootCommand,\n subCommands: subCommandsProp,\n pluginManager: pluginManagerProp,\n pluginLoader: pluginLoaderProp,\n plugins: pluginsProp = [],\n core: coreProp,\n enabled: enabledProp = [],\n safeMode = false,\n}: CreateCliAppOptions) {\n const plugins = pluginsProp;\n const core = coreProp ?? plugins.map(({ meta }) => meta.id);\n const pluginLoader = pluginLoaderProp ?? defaultPluginLoader(plugins);\n const enabled = safeMode ? [] : enabledProp;\n const manager =\n pluginManagerProp ??\n PluginManager.make({\n pluginLoader,\n plugins,\n core,\n enabled,\n });\n\n manager.capabilities.contribute({\n interface: Capabilities.PluginManager,\n implementation: manager,\n module: 'org.dxos.app-framework.plugin-manager',\n });\n\n manager.capabilities.contribute({\n interface: Capabilities.AtomRegistry,\n implementation: manager.registry,\n module: 'org.dxos.app-framework.atom-registry',\n });\n\n // Activate startup event to load CLI commands and Effect layers.\n yield* manager.activate(ActivationEvents.Startup);\n\n // Gather all layers and merge them into a single layer.\n const layers = manager.capabilities.getAll(Capabilities.Layer);\n const capabilityServiceLayer = Layer.succeed(Capability.Service, manager.capabilities);\n const pluginServiceLayer = Layer.succeed(Plugin.Service, manager);\n const layer = (Layer.mergeAll as (...args: Layer.Layer<any, any, any>[]) => Layer.Layer<any, any, never>)(\n capabilityServiceLayer,\n pluginServiceLayer,\n ...layers,\n );\n\n // Gather all commands and provide them to the root command.\n const pluginCommands = manager.capabilities.getAll(Capabilities.Command);\n const subCommands = subCommandsProp ? [...subCommandsProp, ...pluginCommands] : pluginCommands;\n invariant(subCommands.length > 0, 'No subcommands provided');\n const command = rootCommand.pipe(Command.withSubcommands(subCommands as SubCommands));\n\n return { command, layer };\n});\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;AAIA,YAAYA,aAAa;AACzB,YAAYC,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,iBAAiB;;AAK1B,IAAMC,sBACJ,CAACC,YACD,CAACC,OACQC,YAAK,MAAA;AACV,QAAMC,SAASH,QAAQI,KAAK,CAACD,YAAWA,QAAOE,KAAKJ,OAAOA,EAAAA;AAC3DK,YAAUH,QAAQ,qBAAqBF,EAAAA,IAAI;;;;;;;;;AAC3C,SAAOE;AACT,CAAA;AA+BG,IAAMI,eAAsBC,UAAG,WAAW,EAC/CC,aACAC,aAAaC,iBACbC,eAAeC,mBACfC,cAAcC,kBACdf,SAASgB,cAAc,CAAA,GACvBC,MAAMC,UACNC,SAASC,cAAc,CAAA,GACvBC,WAAW,MAAK,GACI;AACpB,QAAMrB,UAAUgB;AAChB,QAAMC,OAAOC,YAAYlB,QAAQsB,IAAI,CAAC,EAAEjB,KAAI,MAAOA,KAAKJ,EAAE;AAC1D,QAAMa,eAAeC,oBAAoBhB,oBAAoBC,OAAAA;AAC7D,QAAMmB,UAAUE,WAAW,CAAA,IAAKD;AAChC,QAAMG,UACJV,qBACAW,uBAAcC,KAAK;IACjBX;IACAd;IACAiB;IACAE;EACF,CAAA;AAEFI,UAAQG,aAAaC,WAAW;IAC9BC,WAAWC,qBAAaL;IACxBM,gBAAgBP;IAChBQ,QAAQ;EACV,CAAA;AAEAR,UAAQG,aAAaC,WAAW;IAC9BC,WAAWC,qBAAaG;IACxBF,gBAAgBP,QAAQU;IACxBF,QAAQ;EACV,CAAA;AAGA,SAAOR,QAAQW,SAASC,0BAAiBC,OAAO;AAGhD,QAAMC,SAASd,QAAQG,aAAaY,OAAOT,qBAAaU,KAAK;AAC7D,QAAMC,yBAA+BC,cAAQC,mBAAWC,SAASpB,QAAQG,YAAY;AACrF,QAAMkB,qBAA2BH,cAAQI,eAAOF,SAASpB,OAAAA;AACzD,QAAMuB,QAAeC,eACnBP,wBACAI,oBAAAA,GACGP,MAAAA;AAIL,QAAMW,iBAAiBzB,QAAQG,aAAaY,OAAOT,qBAAaoB,OAAO;AACvE,QAAMvC,cAAcC,kBAAkB;OAAIA;OAAoBqC;MAAkBA;AAChF1C,YAAUI,YAAYwC,SAAS,GAAG,2BAAA;;;;;;;;;AAClC,QAAMC,UAAU1C,YAAY2C,KAAaC,wBAAgB3C,WAAAA,CAAAA;AAEzD,SAAO;IAAEyC;IAASL;EAAM;AAC1B,CAAA;",
6
+ "names": ["Command", "Effect", "Layer", "invariant", "defaultPluginLoader", "plugins", "id", "sync", "plugin", "find", "meta", "invariant", "createCliApp", "fn", "rootCommand", "subCommands", "subCommandsProp", "pluginManager", "pluginManagerProp", "pluginLoader", "pluginLoaderProp", "pluginsProp", "core", "coreProp", "enabled", "enabledProp", "safeMode", "map", "manager", "PluginManager", "make", "capabilities", "contribute", "interface", "Capabilities", "implementation", "module", "AtomRegistry", "registry", "activate", "ActivationEvents", "Startup", "layers", "getAll", "Layer", "capabilityServiceLayer", "succeed", "Capability", "Service", "pluginServiceLayer", "Plugin", "layer", "mergeAll", "pluginCommands", "Command", "length", "command", "pipe", "withSubcommands"]
7
+ }
@@ -0,0 +1,23 @@
1
+ import {
2
+ ManagedRuntimeReady,
3
+ OperationInvokerReady,
4
+ SetupLayer,
5
+ SetupOperationResolver,
6
+ SetupReactSurface,
7
+ Startup
8
+ } from "../chunk-M5IC326L.mjs";
9
+ import "../chunk-YAFEA4GV.mjs";
10
+ import "../chunk-3VXJONTI.mjs";
11
+ import "../chunk-272IPLHQ.mjs";
12
+ import "../chunk-GH3M2LIW.mjs";
13
+ import "../chunk-YNFPIQGB.mjs";
14
+ import "../chunk-J5LGTIGS.mjs";
15
+ export {
16
+ ManagedRuntimeReady,
17
+ OperationInvokerReady,
18
+ SetupLayer,
19
+ SetupOperationResolver,
20
+ SetupReactSurface,
21
+ Startup
22
+ };
23
+ //# sourceMappingURL=activation-events.mjs.map
@@ -0,0 +1,45 @@
1
+ import {
2
+ AtomRegistry,
3
+ Command,
4
+ HistoryTracker,
5
+ Layer,
6
+ ManagedRuntime,
7
+ Null,
8
+ OperationInvoker,
9
+ OperationResolver,
10
+ PluginManager,
11
+ ReactContext,
12
+ ReactRoot,
13
+ ReactSurface,
14
+ UndoMapping,
15
+ UndoRegistry,
16
+ getAtomValue,
17
+ subscribeAtom,
18
+ updateAtomValue
19
+ } from "../chunk-WEBSGU5L.mjs";
20
+ import "../chunk-YAFEA4GV.mjs";
21
+ import "../chunk-3VXJONTI.mjs";
22
+ import "../chunk-272IPLHQ.mjs";
23
+ import "../chunk-GH3M2LIW.mjs";
24
+ import "../chunk-YNFPIQGB.mjs";
25
+ import "../chunk-J5LGTIGS.mjs";
26
+ export {
27
+ AtomRegistry,
28
+ Command,
29
+ HistoryTracker,
30
+ Layer,
31
+ ManagedRuntime,
32
+ Null,
33
+ OperationInvoker,
34
+ OperationResolver,
35
+ PluginManager,
36
+ ReactContext,
37
+ ReactRoot,
38
+ ReactSurface,
39
+ UndoMapping,
40
+ UndoRegistry,
41
+ getAtomValue,
42
+ subscribeAtom,
43
+ updateAtomValue
44
+ };
45
+ //# sourceMappingURL=capabilities.mjs.map
@@ -0,0 +1,20 @@
1
+ import {
2
+ allOf,
3
+ eventKey,
4
+ getEvents,
5
+ isAllOf,
6
+ isOneOf,
7
+ make,
8
+ oneOf
9
+ } from "../chunk-272IPLHQ.mjs";
10
+ import "../chunk-J5LGTIGS.mjs";
11
+ export {
12
+ allOf,
13
+ eventKey,
14
+ getEvents,
15
+ isAllOf,
16
+ isOneOf,
17
+ make,
18
+ oneOf
19
+ };
20
+ //# sourceMappingURL=activation-event.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,28 @@
1
+ import {
2
+ ModuleTag,
3
+ Service,
4
+ atom,
5
+ contributes,
6
+ get,
7
+ getAll,
8
+ getModuleTag,
9
+ lazy,
10
+ make,
11
+ makeModule,
12
+ waitFor
13
+ } from "../chunk-YNFPIQGB.mjs";
14
+ import "../chunk-J5LGTIGS.mjs";
15
+ export {
16
+ ModuleTag,
17
+ Service,
18
+ atom,
19
+ contributes,
20
+ get,
21
+ getAll,
22
+ getModuleTag,
23
+ lazy,
24
+ make,
25
+ makeModule,
26
+ waitFor
27
+ };
28
+ //# sourceMappingURL=capability.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,15 @@
1
+ import {
2
+ ManagerTypeId,
3
+ isManager,
4
+ make
5
+ } from "../chunk-3VXJONTI.mjs";
6
+ import "../chunk-272IPLHQ.mjs";
7
+ import "../chunk-GH3M2LIW.mjs";
8
+ import "../chunk-YNFPIQGB.mjs";
9
+ import "../chunk-J5LGTIGS.mjs";
10
+ export {
11
+ ManagerTypeId,
12
+ isManager,
13
+ make
14
+ };
15
+ //# sourceMappingURL=plugin-manager.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,29 @@
1
+ import {
2
+ PluginModuleTypeId,
3
+ PluginTypeId,
4
+ Service,
5
+ activate,
6
+ addModule,
7
+ define,
8
+ isPlugin,
9
+ isPluginModule,
10
+ make,
11
+ reset,
12
+ shutdown
13
+ } from "../chunk-GH3M2LIW.mjs";
14
+ import "../chunk-YNFPIQGB.mjs";
15
+ import "../chunk-J5LGTIGS.mjs";
16
+ export {
17
+ PluginModuleTypeId,
18
+ PluginTypeId,
19
+ Service,
20
+ activate,
21
+ addModule,
22
+ define,
23
+ isPlugin,
24
+ isPluginModule,
25
+ make,
26
+ reset,
27
+ shutdown
28
+ };
29
+ //# sourceMappingURL=plugin.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }