@dxos/app-framework 0.8.4-main.ae835ea → 0.8.4-main.bc674ce

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 (420) hide show
  1. package/.storybook/main.mts +1 -1
  2. package/.storybook/preview.mts +2 -2
  3. package/dist/lib/browser/app-graph-builder-M2VPYQC6.mjs +149 -0
  4. package/dist/lib/browser/app-graph-builder-M2VPYQC6.mjs.map +7 -0
  5. package/dist/lib/browser/capability-7PCNSWBT.mjs +33 -0
  6. package/dist/lib/browser/capability-7PCNSWBT.mjs.map +7 -0
  7. package/dist/lib/browser/capability-KP3PFEXD.mjs +31 -0
  8. package/dist/lib/browser/capability-KP3PFEXD.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-6Y7PZV72.mjs +77 -0
  10. package/dist/lib/browser/chunk-6Y7PZV72.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-7IQHKD4U.mjs +170 -0
  12. package/dist/lib/browser/chunk-7IQHKD4U.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-BLQJSGL3.mjs +732 -0
  14. package/dist/lib/browser/chunk-BLQJSGL3.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-FHQTHCX7.mjs +8 -0
  16. package/dist/lib/browser/chunk-FHQTHCX7.mjs.map +7 -0
  17. package/dist/lib/browser/chunk-FMZN33N4.mjs +807 -0
  18. package/dist/lib/browser/chunk-FMZN33N4.mjs.map +7 -0
  19. package/dist/lib/browser/chunk-H4WPA7U7.mjs +77 -0
  20. package/dist/lib/browser/chunk-H4WPA7U7.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  22. package/dist/lib/browser/chunk-PKQT6C53.mjs +47 -0
  23. package/dist/lib/browser/chunk-PKQT6C53.mjs.map +7 -0
  24. package/dist/lib/browser/chunk-TCLLRCS3.mjs +145 -0
  25. package/dist/lib/browser/chunk-TCLLRCS3.mjs.map +7 -0
  26. package/dist/lib/browser/chunk-XYNO72GQ.mjs +746 -0
  27. package/dist/lib/browser/chunk-XYNO72GQ.mjs.map +7 -0
  28. package/dist/lib/browser/common/index.mjs +38 -0
  29. package/dist/lib/browser/core/activation-event.mjs +20 -0
  30. package/dist/lib/browser/core/capability.mjs +28 -0
  31. package/dist/lib/browser/core/plugin-manager.mjs +15 -0
  32. package/dist/lib/browser/core/plugin-manager.mjs.map +7 -0
  33. package/dist/lib/browser/core/plugin.mjs +27 -0
  34. package/dist/lib/browser/core/plugin.mjs.map +7 -0
  35. package/dist/lib/browser/index.mjs +162 -128
  36. package/dist/lib/browser/index.mjs.map +4 -4
  37. package/dist/lib/browser/invoker-capability-SZRSTHEH.mjs +32 -0
  38. package/dist/lib/browser/invoker-capability-SZRSTHEH.mjs.map +7 -0
  39. package/dist/lib/browser/meta.json +1 -1
  40. package/dist/lib/browser/operation-resolver-6MP2MYOY.mjs +64 -0
  41. package/dist/lib/browser/operation-resolver-6MP2MYOY.mjs.map +7 -0
  42. package/dist/lib/browser/react/index.mjs +46 -0
  43. package/dist/lib/browser/react/index.mjs.map +7 -0
  44. package/dist/lib/browser/testing/index.mjs +68 -22
  45. package/dist/lib/browser/testing/index.mjs.map +4 -4
  46. package/dist/lib/node-esm/app-graph-builder-LROHGJEM.mjs +150 -0
  47. package/dist/lib/node-esm/app-graph-builder-LROHGJEM.mjs.map +7 -0
  48. package/dist/lib/node-esm/capability-CFLQ2QQU.mjs +34 -0
  49. package/dist/lib/node-esm/capability-CFLQ2QQU.mjs.map +7 -0
  50. package/dist/lib/node-esm/capability-RCUNM2M7.mjs +32 -0
  51. package/dist/lib/node-esm/capability-RCUNM2M7.mjs.map +7 -0
  52. package/dist/lib/node-esm/chunk-663A54LQ.mjs +171 -0
  53. package/dist/lib/node-esm/chunk-663A54LQ.mjs.map +7 -0
  54. package/dist/lib/node-esm/chunk-6WXBT3EC.mjs +747 -0
  55. package/dist/lib/node-esm/chunk-6WXBT3EC.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-GQEBIGKD.mjs +733 -0
  59. package/dist/lib/node-esm/chunk-GQEBIGKD.mjs.map +7 -0
  60. package/dist/lib/node-esm/chunk-GT6OKM5I.mjs +146 -0
  61. package/dist/lib/node-esm/chunk-GT6OKM5I.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-STMXUEPO.mjs +78 -0
  65. package/dist/lib/node-esm/chunk-STMXUEPO.mjs.map +7 -0
  66. package/dist/lib/node-esm/chunk-UEWJDI2L.mjs +10 -0
  67. package/dist/lib/node-esm/chunk-UEWJDI2L.mjs.map +7 -0
  68. package/dist/lib/node-esm/chunk-XR6NMKEP.mjs +78 -0
  69. package/dist/lib/node-esm/chunk-XR6NMKEP.mjs.map +7 -0
  70. package/dist/lib/node-esm/chunk-XYQTBFPA.mjs +808 -0
  71. package/dist/lib/node-esm/chunk-XYQTBFPA.mjs.map +7 -0
  72. package/dist/lib/node-esm/common/index.mjs +39 -0
  73. package/dist/lib/node-esm/common/index.mjs.map +7 -0
  74. package/dist/lib/node-esm/core/activation-event.mjs +21 -0
  75. package/dist/lib/node-esm/core/activation-event.mjs.map +7 -0
  76. package/dist/lib/node-esm/core/capability.mjs +29 -0
  77. package/dist/lib/node-esm/core/capability.mjs.map +7 -0
  78. package/dist/lib/node-esm/core/plugin-manager.mjs +16 -0
  79. package/dist/lib/node-esm/core/plugin-manager.mjs.map +7 -0
  80. package/dist/lib/node-esm/core/plugin.mjs +28 -0
  81. package/dist/lib/node-esm/core/plugin.mjs.map +7 -0
  82. package/dist/lib/node-esm/index.mjs +162 -128
  83. package/dist/lib/node-esm/index.mjs.map +4 -4
  84. package/dist/lib/node-esm/invoker-capability-PNMA5JOS.mjs +33 -0
  85. package/dist/lib/node-esm/invoker-capability-PNMA5JOS.mjs.map +7 -0
  86. package/dist/lib/node-esm/meta.json +1 -1
  87. package/dist/lib/node-esm/operation-resolver-7YWDMTNU.mjs +65 -0
  88. package/dist/lib/node-esm/operation-resolver-7YWDMTNU.mjs.map +7 -0
  89. package/dist/lib/node-esm/react/index.mjs +47 -0
  90. package/dist/lib/node-esm/react/index.mjs.map +7 -0
  91. package/dist/lib/node-esm/testing/index.mjs +68 -22
  92. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  93. package/dist/types/src/cli.d.ts +39 -0
  94. package/dist/types/src/cli.d.ts.map +1 -0
  95. package/dist/types/src/common/activation-event.d.ts +66 -0
  96. package/dist/types/src/common/activation-event.d.ts.map +1 -0
  97. package/dist/types/src/common/capability.d.ts +265 -0
  98. package/dist/types/src/common/capability.d.ts.map +1 -0
  99. package/dist/types/src/common/collaboration.d.ts +23 -17
  100. package/dist/types/src/common/collaboration.d.ts.map +1 -1
  101. package/dist/types/src/common/graph.d.ts +2 -2
  102. package/dist/types/src/common/graph.d.ts.map +1 -1
  103. package/dist/types/src/common/index.d.ts +4 -3
  104. package/dist/types/src/common/index.d.ts.map +1 -1
  105. package/dist/types/src/common/operations.d.ts +380 -0
  106. package/dist/types/src/common/operations.d.ts.map +1 -0
  107. package/dist/types/src/common/plugin.d.ts +201 -0
  108. package/dist/types/src/common/plugin.d.ts.map +1 -0
  109. package/dist/types/src/common/surface.d.ts +48 -13
  110. package/dist/types/src/common/surface.d.ts.map +1 -1
  111. package/dist/types/src/common/translations.d.ts +9 -0
  112. package/dist/types/src/common/translations.d.ts.map +1 -1
  113. package/dist/types/src/context.d.ts +5 -0
  114. package/dist/types/src/context.d.ts.map +1 -0
  115. package/dist/types/src/core/{events.d.ts → activation-event.d.ts} +6 -6
  116. package/dist/types/src/core/activation-event.d.ts.map +1 -0
  117. package/dist/types/src/core/capability-manager.d.ts +43 -0
  118. package/dist/types/src/core/capability-manager.d.ts.map +1 -0
  119. package/dist/types/src/core/capability-manager.test.d.ts +2 -0
  120. package/dist/types/src/core/capability-manager.test.d.ts.map +1 -0
  121. package/dist/types/src/core/capability.d.ts +150 -0
  122. package/dist/types/src/core/capability.d.ts.map +1 -0
  123. package/dist/types/src/core/index.d.ts +5 -4
  124. package/dist/types/src/core/index.d.ts.map +1 -1
  125. package/dist/types/src/core/plugin-manager.d.ts +66 -0
  126. package/dist/types/src/core/plugin-manager.d.ts.map +1 -0
  127. package/dist/types/src/core/plugin-manager.test.d.ts +2 -0
  128. package/dist/types/src/core/plugin-manager.test.d.ts.map +1 -0
  129. package/dist/types/src/core/plugin.d.ts +92 -34
  130. package/dist/types/src/core/plugin.d.ts.map +1 -1
  131. package/dist/types/src/index.d.ts +5 -4
  132. package/dist/types/src/index.d.ts.map +1 -1
  133. package/dist/types/src/playground/debug/Debug.d.ts +4 -2
  134. package/dist/types/src/playground/debug/Debug.d.ts.map +1 -1
  135. package/dist/types/src/playground/debug/plugin.d.ts +2 -1
  136. package/dist/types/src/playground/debug/plugin.d.ts.map +1 -1
  137. package/dist/types/src/playground/generator/Main.d.ts +4 -2
  138. package/dist/types/src/playground/generator/Main.d.ts.map +1 -1
  139. package/dist/types/src/playground/generator/Toolbar.d.ts +4 -2
  140. package/dist/types/src/playground/generator/Toolbar.d.ts.map +1 -1
  141. package/dist/types/src/playground/generator/generator.d.ts +17 -5
  142. package/dist/types/src/playground/generator/generator.d.ts.map +1 -1
  143. package/dist/types/src/playground/generator/plugin.d.ts +2 -1
  144. package/dist/types/src/playground/generator/plugin.d.ts.map +1 -1
  145. package/dist/types/src/playground/layout/Layout.d.ts +4 -2
  146. package/dist/types/src/playground/layout/Layout.d.ts.map +1 -1
  147. package/dist/types/src/playground/layout/plugin.d.ts +2 -1
  148. package/dist/types/src/playground/layout/plugin.d.ts.map +1 -1
  149. package/dist/types/src/playground/logger/Toolbar.d.ts +4 -2
  150. package/dist/types/src/playground/logger/Toolbar.d.ts.map +1 -1
  151. package/dist/types/src/playground/logger/plugin.d.ts +2 -1
  152. package/dist/types/src/playground/logger/plugin.d.ts.map +1 -1
  153. package/dist/types/src/playground/logger/schema.d.ts +14 -0
  154. package/dist/types/src/playground/logger/schema.d.ts.map +1 -1
  155. package/dist/types/src/playground/playground.stories.d.ts.map +1 -1
  156. package/dist/types/src/plugin-operation/OperationPlugin.d.ts +3 -0
  157. package/dist/types/src/plugin-operation/OperationPlugin.d.ts.map +1 -0
  158. package/dist/types/src/plugin-operation/history/capability.d.ts +7 -0
  159. package/dist/types/src/plugin-operation/history/capability.d.ts.map +1 -0
  160. package/dist/types/src/plugin-operation/history/errors.d.ts +5 -0
  161. package/dist/types/src/plugin-operation/history/errors.d.ts.map +1 -0
  162. package/dist/types/src/plugin-operation/history/history-tracker.d.ts +18 -0
  163. package/dist/types/src/plugin-operation/history/history-tracker.d.ts.map +1 -0
  164. package/dist/types/src/plugin-operation/history/history-tracker.test.d.ts +2 -0
  165. package/dist/types/src/plugin-operation/history/history-tracker.test.d.ts.map +1 -0
  166. package/dist/types/src/plugin-operation/history/index.d.ts +6 -0
  167. package/dist/types/src/plugin-operation/history/index.d.ts.map +1 -0
  168. package/dist/types/src/plugin-operation/history/types.d.ts +13 -0
  169. package/dist/types/src/plugin-operation/history/types.d.ts.map +1 -0
  170. package/dist/types/src/plugin-operation/history/undo-mapping.d.ts +93 -0
  171. package/dist/types/src/plugin-operation/history/undo-mapping.d.ts.map +1 -0
  172. package/dist/types/src/plugin-operation/history/undo-registry.d.ts +23 -0
  173. package/dist/types/src/plugin-operation/history/undo-registry.d.ts.map +1 -0
  174. package/dist/types/src/plugin-operation/history/undo-registry.test.d.ts +2 -0
  175. package/dist/types/src/plugin-operation/history/undo-registry.test.d.ts.map +1 -0
  176. package/dist/types/src/plugin-operation/index.d.ts +3 -0
  177. package/dist/types/src/plugin-operation/index.d.ts.map +1 -0
  178. package/dist/types/src/plugin-operation/invoker-capability.d.ts +6 -0
  179. package/dist/types/src/plugin-operation/invoker-capability.d.ts.map +1 -0
  180. package/dist/types/src/plugin-operation/meta.d.ts +3 -0
  181. package/dist/types/src/plugin-operation/meta.d.ts.map +1 -0
  182. package/dist/types/src/plugin-operation/testing.d.ts +109 -0
  183. package/dist/types/src/plugin-operation/testing.d.ts.map +1 -0
  184. package/dist/types/src/plugin-runtime/RuntimePlugin.d.ts +3 -0
  185. package/dist/types/src/plugin-runtime/RuntimePlugin.d.ts.map +1 -0
  186. package/dist/types/src/plugin-runtime/capability.d.ts +6 -0
  187. package/dist/types/src/plugin-runtime/capability.d.ts.map +1 -0
  188. package/dist/types/src/plugin-runtime/index.d.ts +2 -0
  189. package/dist/types/src/plugin-runtime/index.d.ts.map +1 -0
  190. package/dist/types/src/plugin-runtime/meta.d.ts +3 -0
  191. package/dist/types/src/plugin-runtime/meta.d.ts.map +1 -0
  192. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts +2 -1
  193. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts.map +1 -1
  194. package/dist/types/src/plugin-settings/actions.d.ts +36 -0
  195. package/dist/types/src/plugin-settings/actions.d.ts.map +1 -1
  196. package/dist/types/src/plugin-settings/app-graph-builder.d.ts +4 -2
  197. package/dist/types/src/plugin-settings/app-graph-builder.d.ts.map +1 -1
  198. package/dist/types/src/plugin-settings/meta.d.ts +2 -2
  199. package/dist/types/src/plugin-settings/meta.d.ts.map +1 -1
  200. package/dist/types/src/plugin-settings/operation-resolver.d.ts +6 -0
  201. package/dist/types/src/plugin-settings/operation-resolver.d.ts.map +1 -0
  202. package/dist/types/src/react/App.d.ts +8 -0
  203. package/dist/types/src/react/App.d.ts.map +1 -0
  204. package/dist/types/src/react/App.stories.d.ts.map +1 -0
  205. package/dist/types/src/react/DefaultFallback.d.ts.map +1 -0
  206. package/dist/types/src/react/PluginManagerContext.stories.d.ts +13 -0
  207. package/dist/types/src/react/PluginManagerContext.stories.d.ts.map +1 -0
  208. package/dist/types/src/react/PluginManagerProvider.d.ts +2 -2
  209. package/dist/types/src/react/PluginManagerProvider.d.ts.map +1 -1
  210. package/dist/types/src/react/Surface.d.ts +8 -6
  211. package/dist/types/src/react/Surface.d.ts.map +1 -1
  212. package/dist/types/src/react/Surface.stories.d.ts +3 -6
  213. package/dist/types/src/react/Surface.stories.d.ts.map +1 -1
  214. package/dist/types/src/react/SurfaceInfo.d.ts +11 -0
  215. package/dist/types/src/react/SurfaceInfo.d.ts.map +1 -0
  216. package/dist/types/src/react/common.d.ts +13 -12
  217. package/dist/types/src/react/common.d.ts.map +1 -1
  218. package/dist/types/src/react/index.d.ts +3 -1
  219. package/dist/types/src/react/index.d.ts.map +1 -1
  220. package/dist/types/src/react/types.d.ts +12 -0
  221. package/dist/types/src/react/types.d.ts.map +1 -0
  222. package/dist/types/src/{components → react}/useApp.d.ts +7 -6
  223. package/dist/types/src/react/useApp.d.ts.map +1 -0
  224. package/dist/types/src/react/useCapabilities.d.ts +16 -3
  225. package/dist/types/src/react/useCapabilities.d.ts.map +1 -1
  226. package/dist/types/src/{components → react}/useLoading.d.ts +1 -2
  227. package/dist/types/src/react/useLoading.d.ts.map +1 -0
  228. package/dist/types/src/react/useOperationResolver.d.ts +19 -0
  229. package/dist/types/src/react/useOperationResolver.d.ts.map +1 -0
  230. package/dist/types/src/testing/index.d.ts +1 -0
  231. package/dist/types/src/testing/index.d.ts.map +1 -1
  232. package/dist/types/src/testing/service.d.ts +8 -0
  233. package/dist/types/src/testing/service.d.ts.map +1 -0
  234. package/dist/types/src/testing/withPluginManager.d.ts +4 -4
  235. package/dist/types/src/testing/withPluginManager.d.ts.map +1 -1
  236. package/dist/types/tsconfig.tsbuildinfo +1 -1
  237. package/moon.yml +6 -2
  238. package/package.json +101 -45
  239. package/src/cli.ts +107 -0
  240. package/src/common/activation-event.ts +99 -0
  241. package/src/common/capability.ts +343 -0
  242. package/src/common/collaboration.ts +23 -10
  243. package/src/common/graph.ts +2 -2
  244. package/src/common/index.ts +4 -3
  245. package/src/common/operations.ts +412 -0
  246. package/src/common/plugin.ts +364 -0
  247. package/src/common/surface.ts +56 -19
  248. package/src/common/translations.ts +20 -0
  249. package/src/context.ts +9 -0
  250. package/src/core/{events.ts → activation-event.ts} +5 -5
  251. package/src/core/capability-manager.test.ts +151 -0
  252. package/src/core/capability-manager.ts +171 -0
  253. package/src/core/capability.ts +236 -0
  254. package/src/core/index.ts +5 -4
  255. package/src/core/plugin-manager.test.ts +845 -0
  256. package/src/core/plugin-manager.ts +696 -0
  257. package/src/core/plugin.ts +221 -39
  258. package/src/index.ts +5 -4
  259. package/src/playground/debug/Debug.tsx +26 -16
  260. package/src/playground/debug/plugin.ts +8 -8
  261. package/src/playground/generator/Main.tsx +20 -11
  262. package/src/playground/generator/Toolbar.tsx +26 -16
  263. package/src/playground/generator/generator.ts +27 -27
  264. package/src/playground/generator/plugin.ts +11 -12
  265. package/src/playground/layout/Layout.tsx +11 -7
  266. package/src/playground/layout/plugin.ts +8 -8
  267. package/src/playground/logger/Toolbar.tsx +19 -16
  268. package/src/playground/logger/plugin.ts +24 -23
  269. package/src/playground/logger/schema.ts +10 -0
  270. package/src/playground/playground.stories.tsx +14 -6
  271. package/src/plugin-operation/OperationPlugin.ts +25 -0
  272. package/src/plugin-operation/history/capability.ts +37 -0
  273. package/src/plugin-operation/history/errors.ts +11 -0
  274. package/src/plugin-operation/history/history-tracker.test.ts +380 -0
  275. package/src/plugin-operation/history/history-tracker.ts +129 -0
  276. package/src/plugin-operation/history/index.ts +9 -0
  277. package/src/plugin-operation/history/types.ts +17 -0
  278. package/src/plugin-operation/history/undo-mapping.ts +132 -0
  279. package/src/plugin-operation/history/undo-registry.test.ts +73 -0
  280. package/src/plugin-operation/history/undo-registry.ts +54 -0
  281. package/src/plugin-operation/index.ts +6 -0
  282. package/src/plugin-operation/invoker-capability.ts +40 -0
  283. package/src/plugin-operation/meta.ts +11 -0
  284. package/src/plugin-operation/testing.ts +174 -0
  285. package/src/plugin-runtime/RuntimePlugin.ts +20 -0
  286. package/src/plugin-runtime/capability.ts +53 -0
  287. package/src/{components → plugin-runtime}/index.ts +1 -1
  288. package/src/plugin-runtime/meta.ts +11 -0
  289. package/src/plugin-settings/SettingsPlugin.ts +11 -26
  290. package/src/plugin-settings/actions.ts +39 -0
  291. package/src/plugin-settings/app-graph-builder.ts +122 -142
  292. package/src/plugin-settings/meta.ts +2 -2
  293. package/src/plugin-settings/operation-resolver.ts +55 -0
  294. package/src/plugin-settings/translations.ts +1 -1
  295. package/src/react/App.stories.tsx +63 -0
  296. package/src/{components → react}/App.tsx +11 -10
  297. package/src/{components → react}/DefaultFallback.tsx +1 -1
  298. package/src/react/PluginManagerContext.stories.tsx +184 -0
  299. package/src/react/PluginManagerProvider.ts +2 -2
  300. package/src/react/Surface.stories.tsx +91 -51
  301. package/src/react/Surface.tsx +226 -45
  302. package/src/react/SurfaceInfo.tsx +107 -0
  303. package/src/react/common.ts +29 -5
  304. package/src/react/index.ts +5 -1
  305. package/src/react/types.ts +27 -0
  306. package/src/react/useApp.tsx +209 -0
  307. package/src/react/useCapabilities.ts +37 -5
  308. package/src/{components → react}/useLoading.tsx +4 -6
  309. package/src/react/useOperationResolver.ts +40 -0
  310. package/src/testing/index.ts +1 -0
  311. package/src/testing/service.ts +52 -0
  312. package/src/testing/withPluginManager.stories.tsx +5 -5
  313. package/src/testing/withPluginManager.tsx +21 -23
  314. package/tsconfig.json +25 -7
  315. package/.swc/plugins/linux_x86_64_19.0.0/fce1bdb8e20a094e4af08bad09cc81497ed0e2e7c51223b07d371063cca18429.wasmer-v7 +0 -0
  316. package/dist/lib/browser/app-graph-builder-PSA3RESL.mjs +0 -138
  317. package/dist/lib/browser/app-graph-builder-PSA3RESL.mjs.map +0 -7
  318. package/dist/lib/browser/chunk-2VZ4RF4A.mjs +0 -1608
  319. package/dist/lib/browser/chunk-2VZ4RF4A.mjs.map +0 -7
  320. package/dist/lib/browser/chunk-CPVYIS24.mjs +0 -451
  321. package/dist/lib/browser/chunk-CPVYIS24.mjs.map +0 -7
  322. package/dist/lib/browser/chunk-SCPE4ZO2.mjs +0 -35
  323. package/dist/lib/browser/chunk-SCPE4ZO2.mjs.map +0 -7
  324. package/dist/lib/browser/intent-dispatcher-BND6IF4U.mjs +0 -11
  325. package/dist/lib/browser/intent-resolver-27FJAJDE.mjs +0 -39
  326. package/dist/lib/browser/intent-resolver-27FJAJDE.mjs.map +0 -7
  327. package/dist/lib/browser/store-F545UOIR.mjs +0 -30
  328. package/dist/lib/browser/store-F545UOIR.mjs.map +0 -7
  329. package/dist/lib/browser/worker.mjs +0 -77
  330. package/dist/lib/node-esm/app-graph-builder-VJGZ6KH7.mjs +0 -139
  331. package/dist/lib/node-esm/app-graph-builder-VJGZ6KH7.mjs.map +0 -7
  332. package/dist/lib/node-esm/chunk-3RRWO5TD.mjs +0 -1610
  333. package/dist/lib/node-esm/chunk-3RRWO5TD.mjs.map +0 -7
  334. package/dist/lib/node-esm/chunk-MN37WUJ2.mjs +0 -452
  335. package/dist/lib/node-esm/chunk-MN37WUJ2.mjs.map +0 -7
  336. package/dist/lib/node-esm/chunk-ZX63QUGE.mjs +0 -37
  337. package/dist/lib/node-esm/chunk-ZX63QUGE.mjs.map +0 -7
  338. package/dist/lib/node-esm/intent-dispatcher-254AZ6EE.mjs +0 -12
  339. package/dist/lib/node-esm/intent-resolver-NPMOPNFL.mjs +0 -40
  340. package/dist/lib/node-esm/intent-resolver-NPMOPNFL.mjs.map +0 -7
  341. package/dist/lib/node-esm/store-CINC4R4L.mjs +0 -31
  342. package/dist/lib/node-esm/store-CINC4R4L.mjs.map +0 -7
  343. package/dist/lib/node-esm/worker.mjs +0 -78
  344. package/dist/types/src/common/capabilities.d.ts +0 -201
  345. package/dist/types/src/common/capabilities.d.ts.map +0 -1
  346. package/dist/types/src/common/events.d.ts +0 -52
  347. package/dist/types/src/common/events.d.ts.map +0 -1
  348. package/dist/types/src/common/layout.d.ts +0 -279
  349. package/dist/types/src/common/layout.d.ts.map +0 -1
  350. package/dist/types/src/components/App.d.ts +0 -10
  351. package/dist/types/src/components/App.d.ts.map +0 -1
  352. package/dist/types/src/components/App.stories.d.ts.map +0 -1
  353. package/dist/types/src/components/DefaultFallback.d.ts.map +0 -1
  354. package/dist/types/src/components/index.d.ts +0 -2
  355. package/dist/types/src/components/index.d.ts.map +0 -1
  356. package/dist/types/src/components/useApp.d.ts.map +0 -1
  357. package/dist/types/src/components/useLoading.d.ts.map +0 -1
  358. package/dist/types/src/core/capabilities.d.ts +0 -117
  359. package/dist/types/src/core/capabilities.d.ts.map +0 -1
  360. package/dist/types/src/core/capabilities.test.d.ts +0 -2
  361. package/dist/types/src/core/capabilities.test.d.ts.map +0 -1
  362. package/dist/types/src/core/events.d.ts.map +0 -1
  363. package/dist/types/src/core/manager.d.ts +0 -126
  364. package/dist/types/src/core/manager.d.ts.map +0 -1
  365. package/dist/types/src/core/manager.test.d.ts +0 -2
  366. package/dist/types/src/core/manager.test.d.ts.map +0 -1
  367. package/dist/types/src/plugin-intent/IntentPlugin.d.ts +0 -2
  368. package/dist/types/src/plugin-intent/IntentPlugin.d.ts.map +0 -1
  369. package/dist/types/src/plugin-intent/actions.d.ts +0 -36
  370. package/dist/types/src/plugin-intent/actions.d.ts.map +0 -1
  371. package/dist/types/src/plugin-intent/errors.d.ts +0 -16
  372. package/dist/types/src/plugin-intent/errors.d.ts.map +0 -1
  373. package/dist/types/src/plugin-intent/index.d.ts +0 -6
  374. package/dist/types/src/plugin-intent/index.d.ts.map +0 -1
  375. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts +0 -139
  376. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts.map +0 -1
  377. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts +0 -2
  378. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts.map +0 -1
  379. package/dist/types/src/plugin-intent/intent.d.ts +0 -63
  380. package/dist/types/src/plugin-intent/intent.d.ts.map +0 -1
  381. package/dist/types/src/plugin-intent/meta.d.ts +0 -3
  382. package/dist/types/src/plugin-intent/meta.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/store.d.ts +0 -5
  386. package/dist/types/src/plugin-settings/store.d.ts.map +0 -1
  387. package/dist/types/src/react/IntentContext.d.ts +0 -8
  388. package/dist/types/src/react/IntentContext.d.ts.map +0 -1
  389. package/dist/types/src/react/useIntentResolver.d.ts +0 -3
  390. package/dist/types/src/react/useIntentResolver.d.ts.map +0 -1
  391. package/dist/types/src/worker.d.ts +0 -4
  392. package/dist/types/src/worker.d.ts.map +0 -1
  393. package/src/common/capabilities.ts +0 -217
  394. package/src/common/events.ts +0 -79
  395. package/src/common/layout.ts +0 -277
  396. package/src/components/App.stories.tsx +0 -33
  397. package/src/components/useApp.tsx +0 -164
  398. package/src/core/capabilities.test.ts +0 -136
  399. package/src/core/capabilities.ts +0 -263
  400. package/src/core/manager.test.ts +0 -516
  401. package/src/core/manager.ts +0 -604
  402. package/src/plugin-intent/IntentPlugin.ts +0 -20
  403. package/src/plugin-intent/actions.ts +0 -31
  404. package/src/plugin-intent/errors.ts +0 -40
  405. package/src/plugin-intent/index.ts +0 -9
  406. package/src/plugin-intent/intent-dispatcher.test.ts +0 -286
  407. package/src/plugin-intent/intent-dispatcher.ts +0 -337
  408. package/src/plugin-intent/intent.ts +0 -154
  409. package/src/plugin-intent/meta.ts +0 -10
  410. package/src/plugin-settings/intent-resolver.ts +0 -35
  411. package/src/plugin-settings/store.ts +0 -33
  412. package/src/react/IntentContext.tsx +0 -35
  413. package/src/react/useIntentResolver.ts +0 -22
  414. package/src/worker.ts +0 -11
  415. /package/dist/lib/browser/{intent-dispatcher-BND6IF4U.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  416. /package/dist/lib/browser/{worker.mjs.map → common/index.mjs.map} +0 -0
  417. /package/dist/lib/{node-esm/intent-dispatcher-254AZ6EE.mjs.map → browser/core/activation-event.mjs.map} +0 -0
  418. /package/dist/lib/{node-esm/worker.mjs.map → browser/core/capability.mjs.map} +0 -0
  419. /package/dist/types/src/{components → react}/App.stories.d.ts +0 -0
  420. /package/dist/types/src/{components → react}/DefaultFallback.d.ts +0 -0
@@ -1,26 +1,73 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  useApp
4
- } from "../chunk-MN37WUJ2.mjs";
4
+ } from "../chunk-6WXBT3EC.mjs";
5
+ import "../chunk-UEWJDI2L.mjs";
5
6
  import {
6
- Capabilities,
7
- Events,
8
- PluginManager,
9
- contributes,
10
- defineModule,
11
- definePlugin
12
- } from "../chunk-3RRWO5TD.mjs";
7
+ ActivationEvent,
8
+ Capability
9
+ } from "../chunk-GQEBIGKD.mjs";
10
+ import {
11
+ plugin_manager_exports
12
+ } from "../chunk-XYQTBFPA.mjs";
13
+ import "../chunk-7OWSHPYK.mjs";
14
+ import {
15
+ plugin_exports
16
+ } from "../chunk-GT6OKM5I.mjs";
17
+ import {
18
+ capability_exports
19
+ } from "../chunk-STMXUEPO.mjs";
20
+ import "../chunk-HSLMI22Q.mjs";
21
+
22
+ // src/testing/service.ts
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/testing/service.ts";
27
+ var fromPlugins = (plugins) => Layer.effect(plugin_exports.Service, Effect.gen(function* () {
28
+ const pluginLoader = (id) => Effect.sync(() => {
29
+ const plugin = plugins.find((plugin2) => plugin2.meta.id === id);
30
+ invariant(plugin, `Plugin not found: ${id}`, {
31
+ F: __dxlog_file,
32
+ L: 26,
33
+ S: this,
34
+ A: [
35
+ "plugin",
36
+ "`Plugin not found: ${id}`"
37
+ ]
38
+ });
39
+ return plugin;
40
+ });
41
+ const manager = plugin_manager_exports.make({
42
+ pluginLoader,
43
+ plugins,
44
+ core: plugins.map((plugin) => plugin.meta.id)
45
+ });
46
+ manager.capabilities.contribute({
47
+ interface: Capability.PluginManager,
48
+ implementation: manager,
49
+ module: "dxos.org/app-framework/plugin-manager"
50
+ });
51
+ manager.capabilities.contribute({
52
+ interface: Capability.AtomRegistry,
53
+ implementation: manager.registry,
54
+ module: "dxos.org/app-framework/atom-registry"
55
+ });
56
+ yield* manager.activate(ActivationEvent.Startup);
57
+ return manager;
58
+ }));
13
59
 
14
60
  // src/testing/withPluginManager.tsx
61
+ import * as Effect2 from "effect/Effect";
15
62
  import React, { useEffect, useMemo } from "react";
16
63
  import { raise } from "@dxos/debug";
17
64
  import { useAsyncEffect } from "@dxos/react-hooks";
18
65
  import { getProviderValue } from "@dxos/util";
19
66
  var setupPluginManager = ({ capabilities, plugins = [], core = plugins.map(({ meta }) => meta.id), ...options } = {}) => {
20
- const pluginManager = new PluginManager({
67
+ const pluginManager = plugin_manager_exports.make({
21
68
  pluginLoader: () => raise(new Error("Not implemented")),
22
69
  plugins: [
23
- StoryPlugin(),
70
+ StoryPlugin,
24
71
  ...plugins
25
72
  ],
26
73
  core: [
@@ -30,8 +77,8 @@ var setupPluginManager = ({ capabilities, plugins = [], core = plugins.map(({ me
30
77
  ...options
31
78
  });
32
79
  if (capabilities) {
33
- getProviderValue(capabilities, pluginManager.context).forEach((capability) => {
34
- pluginManager.context.contributeCapability({
80
+ getProviderValue(capabilities, pluginManager.capabilities).forEach((capability) => {
81
+ pluginManager.capabilities.contribute({
35
82
  interface: capability.interface,
36
83
  implementation: capability.implementation,
37
84
  module: "story"
@@ -47,16 +94,16 @@ var withPluginManager = (init = {}) => {
47
94
  init
48
95
  ]);
49
96
  useEffect(() => {
50
- const capability = contributes(Capabilities.ReactRoot, {
97
+ const capability = capability_exports.contributes(Capability.ReactRoot, {
51
98
  id: context.id,
52
99
  root: () => /* @__PURE__ */ React.createElement(Story, null)
53
100
  });
54
- pluginManager.context.contributeCapability({
101
+ pluginManager.capabilities.contribute({
55
102
  ...capability,
56
103
  module: "dxos.org/app-framework/withPluginManager"
57
104
  });
58
105
  return () => {
59
- pluginManager.context.removeCapability(capability.interface, capability.implementation);
106
+ pluginManager.capabilities.remove(capability.interface, capability.implementation);
60
107
  };
61
108
  }, [
62
109
  pluginManager,
@@ -77,14 +124,13 @@ var storyMeta = {
77
124
  id: "dxos.org/app-framework/story",
78
125
  name: "Story"
79
126
  };
80
- var StoryPlugin = definePlugin(storyMeta, () => [
81
- defineModule({
82
- id: storyMeta.id,
83
- activatesOn: Events.Startup,
84
- activate: () => []
85
- })
86
- ]);
127
+ var StoryPlugin = plugin_exports.define(storyMeta).pipe(plugin_exports.addModule({
128
+ id: "Story",
129
+ activatesOn: ActivationEvent.Startup,
130
+ activate: () => Effect2.succeed([])
131
+ }), plugin_exports.make)();
87
132
  export {
133
+ fromPlugins,
88
134
  setupPluginManager,
89
135
  withPluginManager
90
136
  };
@@ -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 { type UseAppOptions, useApp } from '../components';\nimport {\n type ActivationEvent,\n type AnyCapability,\n type PluginContext,\n PluginManager,\n contributes,\n defineModule,\n definePlugin,\n} from '../core';\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 * as Common 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: Common.Capability.PluginManager,\n implementation: manager,\n module: 'dxos.org/app-framework/plugin-manager',\n });\n\n manager.capabilities.contribute({\n interface: Common.Capability.AtomRegistry,\n implementation: manager.registry,\n module: 'dxos.org/app-framework/atom-registry',\n });\n\n yield* manager.activate(Common.ActivationEvent.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 * as Common from '../common';\nimport { type ActivationEvent, Capability, type CapabilityManager, Plugin, PluginManager } 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 = 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(Common.Capability.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: Common.ActivationEvent.Startup,\n activate: () => Effect.succeed([]),\n }),\n Plugin.make,\n)();\n"],
5
+ "mappings": "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",
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", "Capability", "implementation", "module", "AtomRegistry", "registry", "activate", "ActivationEvent", "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", "ReactRoot", "root", "remove", "useAsyncEffect", "Promise", "all", "fireEvents", "event", "activate", "App", "useApp", "storyMeta", "name", "Plugin", "define", "pipe", "addModule", "activatesOn", "ActivationEvent", "Startup", "succeed"]
7
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(Common.Capability.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.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,QAAQ,CAAC;AAW3D,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,66 @@
1
+ import { ActivationEvent as ActivationEvent$ } from '../core';
2
+ export declare namespace ActivationEvent {
3
+ /**
4
+ * Fired when the app is started.
5
+ */
6
+ const Startup: ActivationEvent$.ActivationEvent;
7
+ /**
8
+ * Fired to load any newly available surfaces.
9
+ */
10
+ const SetupReactSurface: ActivationEvent$.ActivationEvent;
11
+ /**
12
+ * Fired to load any newly available metadata.
13
+ */
14
+ const SetupMetadata: ActivationEvent$.ActivationEvent;
15
+ /**
16
+ * Fired before the operation invoker is activated.
17
+ */
18
+ const SetupOperationResolver: ActivationEvent$.ActivationEvent;
19
+ /**
20
+ * Fired before the managed runtime is created.
21
+ * Plugins should contribute their Layer capabilities before this event.
22
+ */
23
+ const SetupLayer: ActivationEvent$.ActivationEvent;
24
+ /**
25
+ * Fired before the settings store is activated.
26
+ */
27
+ const SetupSettings: ActivationEvent$.ActivationEvent;
28
+ /**
29
+ * Fired before the graph is created.
30
+ */
31
+ const SetupAppGraph: ActivationEvent$.ActivationEvent;
32
+ /**
33
+ * Fired before the translations provider is created.
34
+ */
35
+ const SetupTranslations: ActivationEvent$.ActivationEvent;
36
+ /**
37
+ * Fired before the schema is created.
38
+ */
39
+ const SetupSchema: ActivationEvent$.ActivationEvent;
40
+ /**
41
+ * Fired to load any newly available artifacts definitions.
42
+ */
43
+ const SetupArtifactDefinition: ActivationEvent$.ActivationEvent;
44
+ /**
45
+ * Fired after the operation invoker is ready.
46
+ */
47
+ const OperationInvokerReady: ActivationEvent$.ActivationEvent;
48
+ /**
49
+ * Fired after the managed runtime is ready.
50
+ */
51
+ const ManagedRuntimeReady: ActivationEvent$.ActivationEvent;
52
+ /**
53
+ * Fired when the graph is ready.
54
+ */
55
+ const AppGraphReady: ActivationEvent$.ActivationEvent;
56
+ /**
57
+ * Fired when plugin state is ready.
58
+ */
59
+ const createStateEvent: (specifier: string) => ActivationEvent$.ActivationEvent;
60
+ const LayoutReady: ActivationEvent$.ActivationEvent;
61
+ /**
62
+ * Fired when a specific settings capability is ready.
63
+ */
64
+ const createSettingsEvent: (specifier: string) => ActivationEvent$.ActivationEvent;
65
+ }
66
+ //# sourceMappingURL=activation-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activation-event.d.ts","sourceRoot":"","sources":["../../../../src/common/activation-event.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI9D,yBAAiB,eAAe,CAAC;IAC/B;;OAEG;IACI,MAAM,OAAO,kCAAgE,CAAC;IAMrF;;OAEG;IACI,MAAM,iBAAiB,kCAA4E,CAAC;IAE3G;;OAEG;IACI,MAAM,aAAa,kCAAuE,CAAC;IAElG;;OAEG;IACI,MAAM,sBAAsB,kCAAiF,CAAC;IAErH;;;OAGG;IACI,MAAM,UAAU,kCAAoE,CAAC;IAE5F;;OAEG;IACI,MAAM,aAAa,kCAAuE,CAAC;IAElG;;OAEG;IACI,MAAM,aAAa,kCAAoE,CAAC;IAE/F;;OAEG;IACI,MAAM,iBAAiB,kCAA2E,CAAC;IAE1G;;OAEG;IACI,MAAM,WAAW,kCAAqE,CAAC;IAE9F;;OAEG;IAEI,MAAM,uBAAuB,kCAEnC,CAAC;IAMF;;OAEG;IACI,MAAM,qBAAqB,kCAAgF,CAAC;IAEnH;;OAEG;IACI,MAAM,mBAAmB,kCAA8E,CAAC;IAE/G;;OAEG;IACI,MAAM,aAAa,kCAAoE,CAAC;IAE/F;;OAEG;IACI,MAAM,gBAAgB,GAAI,WAAW,MAAM,qCACsB,CAAC;IAClE,MAAM,WAAW,kCAAiD,CAAC;IAE1E;;OAEG;IACI,MAAM,mBAAmB,GAAI,WAAW,MAAM,qCACsB,CAAC;CAC7E"}
@@ -0,0 +1,265 @@
1
+ import type * as Command$ from '@effect/cli/Command';
2
+ import { 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 * as Schema$ from 'effect/Schema';
7
+ import type { FC, PropsWithChildren } from 'react';
8
+ import type { AiModelResolver as AiModelResolver$, AiService as AiService$ } from '@dxos/ai';
9
+ import type { BuilderExtensions, GraphBuilder } from '@dxos/app-graph';
10
+ import type { GenericToolkit } from '@dxos/assistant';
11
+ import type { Blueprint } from '@dxos/blueprints';
12
+ import type { Database, Type } from '@dxos/echo';
13
+ import type { FunctionDefinition } from '@dxos/functions';
14
+ import type { OperationInvoker as OperationInvoker$, OperationResolver as OperationResolver$ } from '@dxos/operation';
15
+ import type { AnchoredTo } from '@dxos/types';
16
+ import { Capability as Capability$, type PluginManager as PluginManager$ } from '../core';
17
+ import type { HistoryTracker as HistoryTracker$, UndoMapping as UndoMapping$, UndoRegistry as UndoRegistry$ } from '../plugin-operation';
18
+ import type { FileInfo } from './file';
19
+ import type { NodeSerializer } from './graph';
20
+ import type { SurfaceDefinition } from './surface';
21
+ export declare namespace Capability {
22
+ /**
23
+ * @category Capability
24
+ */
25
+ const Null: Capability$.InterfaceDef<null>;
26
+ /**
27
+ * @category Capability
28
+ */
29
+ const PluginManager: Capability$.InterfaceDef<PluginManager$.PluginManager>;
30
+ /**
31
+ * @category Capability
32
+ */
33
+ const AtomRegistry: Capability$.InterfaceDef<Registry.Registry>;
34
+ type ReactContext = Readonly<{
35
+ id: string;
36
+ dependsOn?: string[];
37
+ context: FC<PropsWithChildren>;
38
+ }>;
39
+ /**
40
+ * @category Capability
41
+ */
42
+ const ReactContext: Capability$.InterfaceDef<Readonly<{
43
+ id: string;
44
+ dependsOn?: string[];
45
+ context: FC<PropsWithChildren>;
46
+ }>>;
47
+ type ReactRoot = Readonly<{
48
+ id: string;
49
+ root: FC<PropsWithChildren>;
50
+ }>;
51
+ /**
52
+ * @category Capability
53
+ */
54
+ const ReactRoot: Capability$.InterfaceDef<Readonly<{
55
+ id: string;
56
+ root: FC<PropsWithChildren>;
57
+ }>>;
58
+ /**
59
+ * Surface definitions that can be either React components or Web Components.
60
+ */
61
+ type ReactSurface = SurfaceDefinition | readonly SurfaceDefinition[];
62
+ /**
63
+ * @category Capability
64
+ */
65
+ const ReactSurface: Capability$.InterfaceDef<ReactSurface>;
66
+ type Layout = Readonly<{
67
+ mode: string;
68
+ dialogOpen: boolean;
69
+ sidebarOpen: boolean;
70
+ complementarySidebarOpen: boolean;
71
+ /**
72
+ * The id of the active workspace, where a workspace is a set of active items.
73
+ */
74
+ workspace: string;
75
+ /**
76
+ * Identifiers of items which are currently active in the application.
77
+ */
78
+ active: string[];
79
+ /**
80
+ * Identifiers of items which were previously active in the application.
81
+ */
82
+ inactive: string[];
83
+ /**
84
+ * Identifier of the item which should be scrolled into view.
85
+ */
86
+ scrollIntoView: string | undefined;
87
+ }>;
88
+ /**
89
+ * Layout capability - provides reactive access to the current layout state.
90
+ * Use `useAtomValue(layoutAtom)` in React or `registry.get(layoutAtom)` in Effects.
91
+ * @category Capability
92
+ */
93
+ const Layout: Capability$.InterfaceDef<Atom.Atom<Readonly<{
94
+ mode: string;
95
+ dialogOpen: boolean;
96
+ sidebarOpen: boolean;
97
+ complementarySidebarOpen: boolean;
98
+ /**
99
+ * The id of the active workspace, where a workspace is a set of active items.
100
+ */
101
+ workspace: string;
102
+ /**
103
+ * Identifiers of items which are currently active in the application.
104
+ */
105
+ active: string[];
106
+ /**
107
+ * Identifiers of items which were previously active in the application.
108
+ */
109
+ inactive: string[];
110
+ /**
111
+ * Identifier of the item which should be scrolled into view.
112
+ */
113
+ scrollIntoView: string | undefined;
114
+ }>>>;
115
+ /**
116
+ * @category Capability
117
+ */
118
+ const Translations: Capability$.InterfaceDef<readonly {
119
+ readonly [x: string]: {
120
+ readonly [x: string]: string | {
121
+ readonly [x: string]: any;
122
+ };
123
+ };
124
+ }[]>;
125
+ type AppGraph = Readonly<{
126
+ graph: GraphBuilder.GraphBuilder['graph'];
127
+ explore: typeof GraphBuilder.explore;
128
+ }>;
129
+ /**
130
+ * @category Capability
131
+ */
132
+ const AppGraph: Capability$.InterfaceDef<Readonly<{
133
+ graph: GraphBuilder.GraphBuilder["graph"];
134
+ explore: typeof GraphBuilder.explore;
135
+ }>>;
136
+ /**
137
+ * @category Capability
138
+ */
139
+ const AppGraphBuilder: Capability$.InterfaceDef<BuilderExtensions>;
140
+ /**
141
+ * @category Capability
142
+ */
143
+ const AppGraphSerializer: Capability$.InterfaceDef<NodeSerializer[]>;
144
+ type Settings = {
145
+ prefix: string;
146
+ schema: Schema$.Schema.All;
147
+ atom: Atom.Writable<any>;
148
+ };
149
+ /**
150
+ * Type guard to check if a value is a Settings object.
151
+ */
152
+ const isSettings: (value: unknown) => value is Settings;
153
+ /**
154
+ * @category Capability
155
+ */
156
+ const Settings: Capability$.InterfaceDef<Settings>;
157
+ type Metadata = Readonly<{
158
+ id: string;
159
+ metadata: Record<string, any>;
160
+ }>;
161
+ /**
162
+ * @category Capability
163
+ */
164
+ const Metadata: Capability$.InterfaceDef<Readonly<{
165
+ id: string;
166
+ metadata: Record<string, any>;
167
+ }>>;
168
+ type Schema = ReadonlyArray<Type.Entity.Any>;
169
+ /**
170
+ * @category Capability
171
+ */
172
+ const Schema: Capability$.InterfaceDef<Schema>;
173
+ type Toolkit = GenericToolkit.GenericToolkit;
174
+ /**
175
+ * @category Capability
176
+ */
177
+ const Toolkit: Capability$.InterfaceDef<Toolkit>;
178
+ /**
179
+ * @category Capability
180
+ */
181
+ const BlueprintDefinition: Capability$.InterfaceDef<Blueprint.Blueprint>;
182
+ type AiServiceLayer = Layer$.Layer<AiService$.AiService>;
183
+ const AiServiceLayer: Capability$.InterfaceDef<AiServiceLayer>;
184
+ /**
185
+ * Plugins can contribute them to provide model resolvers.
186
+ */
187
+ const AiModelResolver: Capability$.InterfaceDef<Layer$.Layer<AiModelResolver$.AiModelResolver, never, never>>;
188
+ /**
189
+ * @category Capability
190
+ */
191
+ const Functions: Capability$.InterfaceDef<FunctionDefinition.Any[]>;
192
+ type FileUploader = (db: Database.Database, file: File) => Promise<FileInfo | undefined>;
193
+ /**
194
+ * @category Capability
195
+ */
196
+ const FileUploader: Capability$.InterfaceDef<FileUploader>;
197
+ type AnchorSort = {
198
+ key: string;
199
+ sort: (anchorA: AnchoredTo.AnchoredTo, anchorB: AnchoredTo.AnchoredTo) => number;
200
+ };
201
+ /**
202
+ * @category Capability
203
+ */
204
+ const AnchorSort: Capability$.InterfaceDef<AnchorSort>;
205
+ type AnyCommand = Command$.Command<any, any, any, any>;
206
+ /**
207
+ * @category Capability
208
+ */
209
+ const Command: Capability$.InterfaceDef<AnyCommand>;
210
+ /**
211
+ * @category Capability
212
+ */
213
+ const Layer: Capability$.InterfaceDef<Layer$.Layer<any, any, any>>;
214
+ type ManagedRuntime = ManagedRuntime$.ManagedRuntime<any, any>;
215
+ /**
216
+ * @category Capability
217
+ */
218
+ const ManagedRuntime: Capability$.InterfaceDef<ManagedRuntime>;
219
+ type OperationResolver = OperationResolver$.OperationResolver<any, any, any, any>;
220
+ /**
221
+ * Handler registration for operations - contributed by plugins.
222
+ * @category Capability
223
+ */
224
+ const OperationResolver: Capability$.InterfaceDef<OperationResolver[]>;
225
+ type UndoMapping = UndoMapping$.UndoMapping;
226
+ /**
227
+ * Undo mapping registration - contributed by plugins.
228
+ * @category Capability
229
+ */
230
+ const UndoMapping: Capability$.InterfaceDef<UndoMapping[]>;
231
+ type OperationInvoker = OperationInvoker$.OperationInvoker;
232
+ /**
233
+ * Operation invoker - provided by OperationPlugin.
234
+ * @category Capability
235
+ */
236
+ const OperationInvoker: Capability$.InterfaceDef<OperationInvoker$.OperationInvoker>;
237
+ type UndoRegistry = UndoRegistry$.UndoRegistry;
238
+ /**
239
+ * Undo registry - provided by OperationPlugin.
240
+ * @category Capability
241
+ */
242
+ const UndoRegistry: Capability$.InterfaceDef<UndoRegistry$.UndoRegistry>;
243
+ type HistoryTracker = HistoryTracker$.HistoryTracker;
244
+ /**
245
+ * History tracker - provided by OperationPlugin.
246
+ * @category Capability
247
+ */
248
+ const HistoryTracker: Capability$.InterfaceDef<HistoryTracker$.HistoryTracker>;
249
+ /**
250
+ * Get the current value of an atom capability.
251
+ * @example const settings = yield* Common.Capability.getAtomValue(ThreadCapabilities.Settings);
252
+ */
253
+ const getAtomValue: <T>(atomCapability: Capability$.InterfaceDef<Atom.Atom<T>>) => Effect.Effect<T, Error, Capability$.Service>;
254
+ /**
255
+ * Update an atom capability value (requires writable atom).
256
+ * @example yield* Common.Capability.updateAtomValue(ThreadCapabilities.Settings, (s) => ({ ...s, foo: true }));
257
+ */
258
+ const updateAtomValue: <T>(atomCapability: Capability$.InterfaceDef<Atom.Writable<T>>, fn: (current: T) => T) => Effect.Effect<void, Error, Capability$.Service>;
259
+ /**
260
+ * Subscribe to an atom capability.
261
+ * @example const unsubscribe = yield* Common.Capability.subscribeAtom(ThreadCapabilities.Settings, (value) => ...);
262
+ */
263
+ const subscribeAtom: <T>(atomCapability: Capability$.InterfaceDef<Atom.Atom<T>>, callback: (value: T) => void) => Effect.Effect<() => void, Error, Capability$.Service>;
264
+ }
265
+ //# sourceMappingURL=capability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../../../src/common/capability.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,26 @@
1
1
  import * as Schema from 'effect/Schema';
2
- export declare namespace CollaborationActions {
3
- const AcceptProposal_base: Schema.TaggedClass<AcceptProposal, "collaboration/accept-proposal", {
4
- readonly _tag: Schema.tag<"collaboration/accept-proposal">;
5
- } & {
6
- input: Schema.Struct<{
7
- subject: typeof Schema.Any;
8
- anchor: typeof Schema.String;
9
- proposal: Schema.mutable<Schema.TaggedStruct<"proposal", {
10
- pending: Schema.optional<typeof Schema.Boolean>;
11
- text: typeof Schema.String;
12
- }>>;
13
- }>;
14
- output: typeof Schema.Void;
15
- }>;
16
- export class AcceptProposal extends AcceptProposal_base {
17
- }
18
- export {};
2
+ import { Capability } from '../core';
3
+ export declare namespace CollaborationOperation {
4
+ const AcceptProposal: Omit<{
5
+ readonly meta: {
6
+ readonly key: "dxos.org/app-framework/collaboration/operation/accept-proposal";
7
+ readonly name: "Accept Proposal";
8
+ readonly description: "Accept a proposal from a collaborator.";
9
+ };
10
+ readonly services: readonly [typeof Capability.Service];
11
+ readonly schema: {
12
+ readonly input: Schema.Struct<{
13
+ subject: typeof Schema.Any;
14
+ anchor: typeof Schema.String;
15
+ proposal: Schema.TaggedStruct<"proposal", {
16
+ pending: Schema.optional<typeof Schema.Boolean>;
17
+ text: typeof Schema.String;
18
+ }>;
19
+ }>;
20
+ readonly output: typeof Schema.Void;
21
+ };
22
+ }, "executionMode"> & import("effect/Pipeable").Pipeable & {
23
+ readonly executionMode: "sync" | "async";
24
+ };
19
25
  }
20
26
  //# sourceMappingURL=collaboration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collaboration.d.ts","sourceRoot":"","sources":["../../../../src/common/collaboration.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,yBAAiB,oBAAoB,CAAC;;;;;;;;;;;;;;IACpC,MAAM,OAAO,cAAe,SAAQ,mBAOlC;KAAG;;CACN"}
1
+ {"version":3,"file":"collaboration.d.ts","sourceRoot":"","sources":["../../../../src/common/collaboration.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIrC,yBAAiB,sBAAsB,CAAC;IAC/B,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;KAezB,CAAC;CACJ"}
@@ -1,4 +1,4 @@
1
- import type { Node } from '@dxos/app-graph';
1
+ import { type Node } from '@dxos/app-graph';
2
2
  import { type MaybePromise, type Position } from '@dxos/util';
3
3
  export type SerializedNode = {
4
4
  name: string;
@@ -12,7 +12,7 @@ export type NodeSerializer<T = any> = {
12
12
  /**
13
13
  * Takes a node and serializes it into a format that can be stored.
14
14
  */
15
- serialize: (node: Node<T>) => MaybePromise<SerializedNode>;
15
+ serialize: (node: Node.Node<T>) => MaybePromise<SerializedNode>;
16
16
  /**
17
17
  * Takes a serialized node and deserializes it into the application.
18
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../src/common/graph.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG9D,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,GAAG,IAAI;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,cAAc,CAAC,CAAC;IAE3D;;OAEG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;CAC9E,CAAC"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../../../src/common/graph.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG9D,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,GAAG,IAAI;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,cAAc,CAAC,CAAC;IAEhE;;OAEG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;CAC9E,CAAC"}