@dxos/app-framework 0.8.4-main.7ace549 → 0.8.4-main.937b3ca

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 (397) 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/activation-event.mjs.map +7 -0
  31. package/dist/lib/browser/core/capability.mjs +28 -0
  32. package/dist/lib/browser/core/capability.mjs.map +7 -0
  33. package/dist/lib/browser/core/plugin-manager.mjs +15 -0
  34. package/dist/lib/browser/core/plugin-manager.mjs.map +7 -0
  35. package/dist/lib/browser/core/plugin.mjs +27 -0
  36. package/dist/lib/browser/core/plugin.mjs.map +7 -0
  37. package/dist/lib/browser/index.mjs +163 -101
  38. package/dist/lib/browser/index.mjs.map +4 -4
  39. package/dist/lib/browser/invoker-capability-SZRSTHEH.mjs +32 -0
  40. package/dist/lib/browser/invoker-capability-SZRSTHEH.mjs.map +7 -0
  41. package/dist/lib/browser/meta.json +1 -1
  42. package/dist/lib/browser/operation-resolver-6MP2MYOY.mjs +64 -0
  43. package/dist/lib/browser/operation-resolver-6MP2MYOY.mjs.map +7 -0
  44. package/dist/lib/browser/react/index.mjs +20 -8
  45. package/dist/lib/browser/testing/index.mjs +68 -22
  46. package/dist/lib/browser/testing/index.mjs.map +4 -4
  47. package/dist/lib/node-esm/app-graph-builder-LROHGJEM.mjs +150 -0
  48. package/dist/lib/node-esm/app-graph-builder-LROHGJEM.mjs.map +7 -0
  49. package/dist/lib/node-esm/capability-CFLQ2QQU.mjs +34 -0
  50. package/dist/lib/node-esm/capability-CFLQ2QQU.mjs.map +7 -0
  51. package/dist/lib/node-esm/capability-RCUNM2M7.mjs +32 -0
  52. package/dist/lib/node-esm/capability-RCUNM2M7.mjs.map +7 -0
  53. package/dist/lib/node-esm/chunk-663A54LQ.mjs +171 -0
  54. package/dist/lib/node-esm/chunk-663A54LQ.mjs.map +7 -0
  55. package/dist/lib/node-esm/chunk-6WXBT3EC.mjs +747 -0
  56. package/dist/lib/node-esm/chunk-6WXBT3EC.mjs.map +7 -0
  57. package/dist/lib/node-esm/chunk-7OWSHPYK.mjs +48 -0
  58. package/dist/lib/node-esm/chunk-7OWSHPYK.mjs.map +7 -0
  59. package/dist/lib/node-esm/chunk-GQEBIGKD.mjs +733 -0
  60. package/dist/lib/node-esm/chunk-GQEBIGKD.mjs.map +7 -0
  61. package/dist/lib/node-esm/chunk-GT6OKM5I.mjs +146 -0
  62. package/dist/lib/node-esm/chunk-GT6OKM5I.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  64. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-STMXUEPO.mjs +78 -0
  66. package/dist/lib/node-esm/chunk-STMXUEPO.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-UEWJDI2L.mjs +10 -0
  68. package/dist/lib/node-esm/chunk-UEWJDI2L.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-XR6NMKEP.mjs +78 -0
  70. package/dist/lib/node-esm/chunk-XR6NMKEP.mjs.map +7 -0
  71. package/dist/lib/node-esm/chunk-XYQTBFPA.mjs +808 -0
  72. package/dist/lib/node-esm/chunk-XYQTBFPA.mjs.map +7 -0
  73. package/dist/lib/node-esm/common/index.mjs +39 -0
  74. package/dist/lib/node-esm/common/index.mjs.map +7 -0
  75. package/dist/lib/node-esm/core/activation-event.mjs +21 -0
  76. package/dist/lib/node-esm/core/activation-event.mjs.map +7 -0
  77. package/dist/lib/node-esm/core/capability.mjs +29 -0
  78. package/dist/lib/node-esm/core/capability.mjs.map +7 -0
  79. package/dist/lib/node-esm/core/plugin-manager.mjs +16 -0
  80. package/dist/lib/node-esm/core/plugin-manager.mjs.map +7 -0
  81. package/dist/lib/node-esm/core/plugin.mjs +28 -0
  82. package/dist/lib/node-esm/core/plugin.mjs.map +7 -0
  83. package/dist/lib/node-esm/index.mjs +163 -101
  84. package/dist/lib/node-esm/index.mjs.map +4 -4
  85. package/dist/lib/node-esm/invoker-capability-PNMA5JOS.mjs +33 -0
  86. package/dist/lib/node-esm/invoker-capability-PNMA5JOS.mjs.map +7 -0
  87. package/dist/lib/node-esm/meta.json +1 -1
  88. package/dist/lib/node-esm/operation-resolver-7YWDMTNU.mjs +65 -0
  89. package/dist/lib/node-esm/operation-resolver-7YWDMTNU.mjs.map +7 -0
  90. package/dist/lib/node-esm/react/index.mjs +20 -8
  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 +35 -9
  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 -2
  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 +3 -5
  203. package/dist/types/src/react/App.d.ts.map +1 -1
  204. package/dist/types/src/react/App.stories.d.ts.map +1 -1
  205. package/dist/types/src/react/PluginManagerContext.stories.d.ts +13 -0
  206. package/dist/types/src/react/PluginManagerContext.stories.d.ts.map +1 -0
  207. package/dist/types/src/react/PluginManagerProvider.d.ts +2 -2
  208. package/dist/types/src/react/PluginManagerProvider.d.ts.map +1 -1
  209. package/dist/types/src/react/Surface.d.ts +6 -4
  210. package/dist/types/src/react/Surface.d.ts.map +1 -1
  211. package/dist/types/src/react/Surface.stories.d.ts.map +1 -1
  212. package/dist/types/src/react/SurfaceInfo.d.ts +11 -0
  213. package/dist/types/src/react/SurfaceInfo.d.ts.map +1 -0
  214. package/dist/types/src/react/common.d.ts +13 -12
  215. package/dist/types/src/react/common.d.ts.map +1 -1
  216. package/dist/types/src/react/index.d.ts +1 -1
  217. package/dist/types/src/react/index.d.ts.map +1 -1
  218. package/dist/types/src/react/types.d.ts +5 -7
  219. package/dist/types/src/react/types.d.ts.map +1 -1
  220. package/dist/types/src/react/useApp.d.ts +6 -5
  221. package/dist/types/src/react/useApp.d.ts.map +1 -1
  222. package/dist/types/src/react/useCapabilities.d.ts +16 -3
  223. package/dist/types/src/react/useCapabilities.d.ts.map +1 -1
  224. package/dist/types/src/react/useLoading.d.ts +1 -2
  225. package/dist/types/src/react/useLoading.d.ts.map +1 -1
  226. package/dist/types/src/react/useOperationResolver.d.ts +19 -0
  227. package/dist/types/src/react/useOperationResolver.d.ts.map +1 -0
  228. package/dist/types/src/testing/index.d.ts +1 -0
  229. package/dist/types/src/testing/index.d.ts.map +1 -1
  230. package/dist/types/src/testing/service.d.ts +8 -0
  231. package/dist/types/src/testing/service.d.ts.map +1 -0
  232. package/dist/types/src/testing/withPluginManager.d.ts +3 -3
  233. package/dist/types/src/testing/withPluginManager.d.ts.map +1 -1
  234. package/dist/types/tsconfig.tsbuildinfo +1 -1
  235. package/moon.yml +5 -1
  236. package/package.json +92 -39
  237. package/src/cli.ts +107 -0
  238. package/src/common/activation-event.ts +99 -0
  239. package/src/common/capability.ts +343 -0
  240. package/src/common/collaboration.ts +22 -9
  241. package/src/common/graph.ts +2 -2
  242. package/src/common/index.ts +4 -3
  243. package/src/common/operations.ts +412 -0
  244. package/src/common/plugin.ts +364 -0
  245. package/src/common/surface.ts +45 -13
  246. package/src/common/translations.ts +20 -0
  247. package/src/context.ts +9 -0
  248. package/src/core/{events.ts → activation-event.ts} +5 -5
  249. package/src/core/capability-manager.test.ts +151 -0
  250. package/src/core/capability-manager.ts +171 -0
  251. package/src/core/capability.ts +236 -0
  252. package/src/core/index.ts +5 -4
  253. package/src/core/plugin-manager.test.ts +845 -0
  254. package/src/core/plugin-manager.ts +696 -0
  255. package/src/core/plugin.ts +221 -39
  256. package/src/index.ts +5 -2
  257. package/src/playground/debug/Debug.tsx +26 -16
  258. package/src/playground/debug/plugin.ts +8 -8
  259. package/src/playground/generator/Main.tsx +20 -10
  260. package/src/playground/generator/Toolbar.tsx +26 -16
  261. package/src/playground/generator/generator.ts +27 -27
  262. package/src/playground/generator/plugin.ts +11 -12
  263. package/src/playground/layout/Layout.tsx +11 -7
  264. package/src/playground/layout/plugin.ts +8 -8
  265. package/src/playground/logger/Toolbar.tsx +19 -16
  266. package/src/playground/logger/plugin.ts +24 -23
  267. package/src/playground/logger/schema.ts +10 -0
  268. package/src/playground/playground.stories.tsx +13 -5
  269. package/src/plugin-operation/OperationPlugin.ts +25 -0
  270. package/src/plugin-operation/history/capability.ts +37 -0
  271. package/src/plugin-operation/history/errors.ts +11 -0
  272. package/src/plugin-operation/history/history-tracker.test.ts +380 -0
  273. package/src/plugin-operation/history/history-tracker.ts +129 -0
  274. package/src/plugin-operation/history/index.ts +9 -0
  275. package/src/plugin-operation/history/types.ts +17 -0
  276. package/src/plugin-operation/history/undo-mapping.ts +132 -0
  277. package/src/plugin-operation/history/undo-registry.test.ts +73 -0
  278. package/src/plugin-operation/history/undo-registry.ts +54 -0
  279. package/src/plugin-operation/index.ts +6 -0
  280. package/src/plugin-operation/invoker-capability.ts +40 -0
  281. package/src/plugin-operation/meta.ts +11 -0
  282. package/src/plugin-operation/testing.ts +174 -0
  283. package/src/plugin-runtime/RuntimePlugin.ts +20 -0
  284. package/src/plugin-runtime/capability.ts +53 -0
  285. package/src/plugin-runtime/index.ts +5 -0
  286. package/src/plugin-runtime/meta.ts +11 -0
  287. package/src/plugin-settings/SettingsPlugin.ts +11 -26
  288. package/src/plugin-settings/actions.ts +39 -0
  289. package/src/plugin-settings/app-graph-builder.ts +122 -142
  290. package/src/plugin-settings/meta.ts +2 -2
  291. package/src/plugin-settings/operation-resolver.ts +55 -0
  292. package/src/react/App.stories.tsx +30 -0
  293. package/src/react/App.tsx +10 -9
  294. package/src/react/PluginManagerContext.stories.tsx +184 -0
  295. package/src/react/PluginManagerProvider.ts +2 -2
  296. package/src/react/Surface.stories.tsx +33 -17
  297. package/src/react/Surface.tsx +199 -41
  298. package/src/react/SurfaceInfo.tsx +107 -0
  299. package/src/react/common.ts +29 -5
  300. package/src/react/index.ts +1 -1
  301. package/src/react/types.ts +9 -20
  302. package/src/react/useApp.tsx +99 -55
  303. package/src/react/useCapabilities.ts +37 -5
  304. package/src/react/useLoading.tsx +4 -6
  305. package/src/react/useOperationResolver.ts +40 -0
  306. package/src/testing/index.ts +1 -0
  307. package/src/testing/service.ts +52 -0
  308. package/src/testing/withPluginManager.stories.tsx +5 -5
  309. package/src/testing/withPluginManager.tsx +20 -22
  310. package/tsconfig.json +17 -8
  311. package/.swc/plugins/linux_x86_64_19.0.0/fce1bdb8e20a094e4af08bad09cc81497ed0e2e7c51223b07d371063cca18429.wasmer-v7 +0 -0
  312. package/dist/lib/browser/app-graph-builder-OIEZZC45.mjs +0 -138
  313. package/dist/lib/browser/app-graph-builder-OIEZZC45.mjs.map +0 -7
  314. package/dist/lib/browser/chunk-6XKO24JP.mjs +0 -483
  315. package/dist/lib/browser/chunk-6XKO24JP.mjs.map +0 -7
  316. package/dist/lib/browser/chunk-SCPE4ZO2.mjs +0 -35
  317. package/dist/lib/browser/chunk-SCPE4ZO2.mjs.map +0 -7
  318. package/dist/lib/browser/chunk-WPW5VVAX.mjs +0 -1651
  319. package/dist/lib/browser/chunk-WPW5VVAX.mjs.map +0 -7
  320. package/dist/lib/browser/intent-dispatcher-LZ4AE66E.mjs +0 -11
  321. package/dist/lib/browser/intent-resolver-QVCKRX6G.mjs +0 -39
  322. package/dist/lib/browser/intent-resolver-QVCKRX6G.mjs.map +0 -7
  323. package/dist/lib/browser/store-CNPHOYTJ.mjs +0 -30
  324. package/dist/lib/browser/store-CNPHOYTJ.mjs.map +0 -7
  325. package/dist/lib/node-esm/app-graph-builder-EBU4NVWD.mjs +0 -139
  326. package/dist/lib/node-esm/app-graph-builder-EBU4NVWD.mjs.map +0 -7
  327. package/dist/lib/node-esm/chunk-3UPX5OIS.mjs +0 -484
  328. package/dist/lib/node-esm/chunk-3UPX5OIS.mjs.map +0 -7
  329. package/dist/lib/node-esm/chunk-XJZGUJ3H.mjs +0 -1653
  330. package/dist/lib/node-esm/chunk-XJZGUJ3H.mjs.map +0 -7
  331. package/dist/lib/node-esm/chunk-ZX63QUGE.mjs +0 -37
  332. package/dist/lib/node-esm/chunk-ZX63QUGE.mjs.map +0 -7
  333. package/dist/lib/node-esm/intent-dispatcher-MGOJ3CHD.mjs +0 -12
  334. package/dist/lib/node-esm/intent-resolver-URF3HN3G.mjs +0 -40
  335. package/dist/lib/node-esm/intent-resolver-URF3HN3G.mjs.map +0 -7
  336. package/dist/lib/node-esm/store-RK5B4XEL.mjs +0 -31
  337. package/dist/lib/node-esm/store-RK5B4XEL.mjs.map +0 -7
  338. package/dist/types/src/common/capabilities.d.ts +0 -195
  339. package/dist/types/src/common/capabilities.d.ts.map +0 -1
  340. package/dist/types/src/common/events.d.ts +0 -52
  341. package/dist/types/src/common/events.d.ts.map +0 -1
  342. package/dist/types/src/common/layout.d.ts +0 -279
  343. package/dist/types/src/common/layout.d.ts.map +0 -1
  344. package/dist/types/src/core/capabilities.d.ts +0 -117
  345. package/dist/types/src/core/capabilities.d.ts.map +0 -1
  346. package/dist/types/src/core/capabilities.test.d.ts +0 -2
  347. package/dist/types/src/core/capabilities.test.d.ts.map +0 -1
  348. package/dist/types/src/core/events.d.ts.map +0 -1
  349. package/dist/types/src/core/manager.d.ts +0 -126
  350. package/dist/types/src/core/manager.d.ts.map +0 -1
  351. package/dist/types/src/core/manager.test.d.ts +0 -2
  352. package/dist/types/src/core/manager.test.d.ts.map +0 -1
  353. package/dist/types/src/plugin-intent/IntentPlugin.d.ts +0 -2
  354. package/dist/types/src/plugin-intent/IntentPlugin.d.ts.map +0 -1
  355. package/dist/types/src/plugin-intent/actions.d.ts +0 -36
  356. package/dist/types/src/plugin-intent/actions.d.ts.map +0 -1
  357. package/dist/types/src/plugin-intent/errors.d.ts +0 -16
  358. package/dist/types/src/plugin-intent/errors.d.ts.map +0 -1
  359. package/dist/types/src/plugin-intent/index.d.ts +0 -6
  360. package/dist/types/src/plugin-intent/index.d.ts.map +0 -1
  361. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts +0 -139
  362. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts.map +0 -1
  363. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts +0 -2
  364. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts.map +0 -1
  365. package/dist/types/src/plugin-intent/intent.d.ts +0 -63
  366. package/dist/types/src/plugin-intent/intent.d.ts.map +0 -1
  367. package/dist/types/src/plugin-intent/meta.d.ts +0 -3
  368. package/dist/types/src/plugin-intent/meta.d.ts.map +0 -1
  369. package/dist/types/src/plugin-settings/intent-resolver.d.ts +0 -4
  370. package/dist/types/src/plugin-settings/intent-resolver.d.ts.map +0 -1
  371. package/dist/types/src/plugin-settings/store.d.ts +0 -5
  372. package/dist/types/src/plugin-settings/store.d.ts.map +0 -1
  373. package/dist/types/src/react/IntentContext.d.ts +0 -8
  374. package/dist/types/src/react/IntentContext.d.ts.map +0 -1
  375. package/dist/types/src/react/useIntentResolver.d.ts +0 -3
  376. package/dist/types/src/react/useIntentResolver.d.ts.map +0 -1
  377. package/src/common/capabilities.ts +0 -214
  378. package/src/common/events.ts +0 -79
  379. package/src/common/layout.ts +0 -277
  380. package/src/core/capabilities.test.ts +0 -136
  381. package/src/core/capabilities.ts +0 -263
  382. package/src/core/manager.test.ts +0 -516
  383. package/src/core/manager.ts +0 -604
  384. package/src/plugin-intent/IntentPlugin.ts +0 -20
  385. package/src/plugin-intent/actions.ts +0 -31
  386. package/src/plugin-intent/errors.ts +0 -40
  387. package/src/plugin-intent/index.ts +0 -9
  388. package/src/plugin-intent/intent-dispatcher.test.ts +0 -286
  389. package/src/plugin-intent/intent-dispatcher.ts +0 -342
  390. package/src/plugin-intent/intent.ts +0 -154
  391. package/src/plugin-intent/meta.ts +0 -10
  392. package/src/plugin-settings/intent-resolver.ts +0 -35
  393. package/src/plugin-settings/store.ts +0 -33
  394. package/src/react/IntentContext.tsx +0 -35
  395. package/src/react/useIntentResolver.ts +0 -22
  396. /package/dist/lib/browser/{intent-dispatcher-LZ4AE66E.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  397. /package/dist/lib/{node-esm/intent-dispatcher-MGOJ3CHD.mjs.map → browser/common/index.mjs.map} +0 -0
@@ -0,0 +1,380 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { Capability } from '../core';
3
+ /**
4
+ * Layout operations - Operation-based equivalents of LayoutAction intents.
5
+ * These mirror the LayoutAction namespace but use the Operation pattern.
6
+ */
7
+ export declare namespace LayoutOperation {
8
+ const UpdateSidebar: Omit<{
9
+ readonly meta: {
10
+ readonly key: "dxos.org/plugin/layout/operation/update-sidebar";
11
+ readonly name: "Update Sidebar";
12
+ readonly description: "Update the sidebar state.";
13
+ };
14
+ readonly executionMode: "sync";
15
+ readonly services: readonly [typeof Capability.Service];
16
+ readonly schema: {
17
+ readonly input: Schema.Struct<{
18
+ subject: Schema.optional<Schema.SchemaClass<string, string, never>>;
19
+ state: Schema.optional<Schema.Literal<["closed", "collapsed", "expanded"]>>;
20
+ }>;
21
+ readonly output: typeof Schema.Void;
22
+ };
23
+ }, "executionMode"> & import("effect/Pipeable").Pipeable & {
24
+ readonly executionMode: "sync" | "async";
25
+ };
26
+ const UpdateComplementary: Omit<{
27
+ readonly meta: {
28
+ readonly key: "dxos.org/plugin/layout/operation/update-complementary";
29
+ readonly name: "Update Complementary Sidebar";
30
+ readonly description: "Update the complementary sidebar state.";
31
+ };
32
+ readonly executionMode: "sync";
33
+ readonly services: readonly [typeof Capability.Service];
34
+ readonly schema: {
35
+ readonly input: Schema.Struct<{
36
+ subject: Schema.optional<Schema.SchemaClass<string, string, never>>;
37
+ state: Schema.optional<Schema.Literal<["closed", "collapsed", "expanded"]>>;
38
+ }>;
39
+ readonly output: typeof Schema.Void;
40
+ };
41
+ }, "executionMode"> & import("effect/Pipeable").Pipeable & {
42
+ readonly executionMode: "sync" | "async";
43
+ };
44
+ const UpdateDialog: Omit<{
45
+ readonly meta: {
46
+ readonly key: "dxos.org/plugin/layout/operation/update-dialog";
47
+ readonly name: "Update Dialog";
48
+ readonly description: "Open, close, or update the dialog.";
49
+ };
50
+ readonly executionMode: "sync";
51
+ readonly services: readonly [typeof Capability.Service];
52
+ readonly schema: {
53
+ readonly input: Schema.Struct<{
54
+ subject: Schema.optional<Schema.SchemaClass<string, string, never>>;
55
+ state: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
56
+ type: Schema.optional<Schema.Literal<["default", "alert"]>>;
57
+ blockAlign: Schema.optional<Schema.Literal<["start", "center", "end"]>>;
58
+ overlayClasses: Schema.optional<Schema.SchemaClass<string, string, never>>;
59
+ overlayStyle: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
60
+ props: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
61
+ }>;
62
+ readonly output: typeof Schema.Void;
63
+ };
64
+ }, "executionMode"> & import("effect/Pipeable").Pipeable & {
65
+ readonly executionMode: "sync" | "async";
66
+ };
67
+ const UpdatePopover: Omit<{
68
+ readonly meta: {
69
+ readonly key: "dxos.org/plugin/layout/operation/update-popover";
70
+ readonly name: "Update Popover";
71
+ readonly description: "Open, close, or update a popover.";
72
+ };
73
+ readonly executionMode: "sync";
74
+ readonly services: readonly [typeof Capability.Service];
75
+ readonly schema: {
76
+ readonly input: Schema.Union<[Schema.extend<Schema.Union<[Schema.extend<Schema.Struct<{
77
+ subject: Schema.optional<Schema.SchemaClass<any, any, never>>;
78
+ side: Schema.optional<Schema.Literal<["top", "right", "bottom", "left"]>>;
79
+ state: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
80
+ props: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
81
+ }>, Schema.Struct<{
82
+ kind: Schema.optional<Schema.Literal<["base"]>>;
83
+ }>>, Schema.extend<Schema.Struct<{
84
+ subject: Schema.optional<Schema.SchemaClass<any, any, never>>;
85
+ side: Schema.optional<Schema.Literal<["top", "right", "bottom", "left"]>>;
86
+ state: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
87
+ props: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
88
+ }>, Schema.Struct<{
89
+ kind: Schema.Literal<["card"]>;
90
+ title: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
91
+ ns: typeof Schema.String;
92
+ count: Schema.optional<typeof Schema.Number>;
93
+ defaultValue: Schema.optional<typeof Schema.String>;
94
+ }>>>>]>>;
95
+ }>>]>, Schema.Struct<{
96
+ variant: Schema.Literal<["virtual"]>;
97
+ anchor: Schema.SchemaClass<any, any, never>;
98
+ }>>, Schema.extend<Schema.Union<[Schema.extend<Schema.Struct<{
99
+ subject: Schema.optional<Schema.SchemaClass<any, any, never>>;
100
+ side: Schema.optional<Schema.Literal<["top", "right", "bottom", "left"]>>;
101
+ state: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
102
+ props: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
103
+ }>, Schema.Struct<{
104
+ kind: Schema.optional<Schema.Literal<["base"]>>;
105
+ }>>, Schema.extend<Schema.Struct<{
106
+ subject: Schema.optional<Schema.SchemaClass<any, any, never>>;
107
+ side: Schema.optional<Schema.Literal<["top", "right", "bottom", "left"]>>;
108
+ state: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
109
+ props: Schema.optional<Schema.Record$<typeof Schema.String, typeof Schema.Any>>;
110
+ }>, Schema.Struct<{
111
+ kind: Schema.Literal<["card"]>;
112
+ title: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
113
+ ns: typeof Schema.String;
114
+ count: Schema.optional<typeof Schema.Number>;
115
+ defaultValue: Schema.optional<typeof Schema.String>;
116
+ }>>>>]>>;
117
+ }>>]>, Schema.Struct<{
118
+ variant: Schema.optional<Schema.Literal<["react"]>>;
119
+ anchorId: Schema.SchemaClass<string, string, never>;
120
+ }>>]>;
121
+ readonly output: typeof Schema.Void;
122
+ };
123
+ }, "executionMode"> & import("effect/Pipeable").Pipeable & {
124
+ readonly executionMode: "sync" | "async";
125
+ };
126
+ const Toast: Schema.Struct<{
127
+ id: Schema.SchemaClass<string, string, never>;
128
+ title: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
129
+ ns: typeof Schema.String;
130
+ count: Schema.optional<typeof Schema.Number>;
131
+ defaultValue: Schema.optional<typeof Schema.String>;
132
+ }>>>>]>>;
133
+ description: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
134
+ ns: typeof Schema.String;
135
+ count: Schema.optional<typeof Schema.Number>;
136
+ defaultValue: Schema.optional<typeof Schema.String>;
137
+ }>>>>]>>;
138
+ icon: Schema.optional<Schema.SchemaClass<string, string, never>>;
139
+ duration: Schema.optional<Schema.SchemaClass<number, number, never>>;
140
+ closeLabel: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
141
+ ns: typeof Schema.String;
142
+ count: Schema.optional<typeof Schema.Number>;
143
+ defaultValue: Schema.optional<typeof Schema.String>;
144
+ }>>>>]>>;
145
+ actionLabel: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
146
+ ns: typeof Schema.String;
147
+ count: Schema.optional<typeof Schema.Number>;
148
+ defaultValue: Schema.optional<typeof Schema.String>;
149
+ }>>>>]>>;
150
+ actionAlt: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
151
+ ns: typeof Schema.String;
152
+ count: Schema.optional<typeof Schema.Number>;
153
+ defaultValue: Schema.optional<typeof Schema.String>;
154
+ }>>>>]>>;
155
+ onAction: Schema.optional<Schema.SchemaClass<any, any, never>>;
156
+ }>;
157
+ interface Toast extends Omit<Schema.Schema.Type<typeof Toast>, 'onAction'> {
158
+ onAction?: () => void;
159
+ }
160
+ const AddToast: Omit<{
161
+ readonly meta: {
162
+ readonly key: "dxos.org/plugin/layout/operation/add-toast";
163
+ readonly name: "Add Toast";
164
+ readonly description: "Add a toast notification.";
165
+ };
166
+ readonly executionMode: "sync";
167
+ readonly services: readonly [typeof Capability.Service];
168
+ readonly schema: {
169
+ readonly input: Schema.Struct<{
170
+ id: Schema.SchemaClass<string, string, never>;
171
+ title: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
172
+ ns: typeof Schema.String;
173
+ count: Schema.optional<typeof Schema.Number>;
174
+ defaultValue: Schema.optional<typeof Schema.String>;
175
+ }>>>>]>>;
176
+ description: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
177
+ ns: typeof Schema.String;
178
+ count: Schema.optional<typeof Schema.Number>;
179
+ defaultValue: Schema.optional<typeof Schema.String>;
180
+ }>>>>]>>;
181
+ icon: Schema.optional<Schema.SchemaClass<string, string, never>>;
182
+ duration: Schema.optional<Schema.SchemaClass<number, number, never>>;
183
+ closeLabel: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
184
+ ns: typeof Schema.String;
185
+ count: Schema.optional<typeof Schema.Number>;
186
+ defaultValue: Schema.optional<typeof Schema.String>;
187
+ }>>>>]>>;
188
+ actionLabel: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
189
+ ns: typeof Schema.String;
190
+ count: Schema.optional<typeof Schema.Number>;
191
+ defaultValue: Schema.optional<typeof Schema.String>;
192
+ }>>>>]>>;
193
+ actionAlt: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
194
+ ns: typeof Schema.String;
195
+ count: Schema.optional<typeof Schema.Number>;
196
+ defaultValue: Schema.optional<typeof Schema.String>;
197
+ }>>>>]>>;
198
+ onAction: Schema.optional<Schema.SchemaClass<any, any, never>>;
199
+ }>;
200
+ readonly output: typeof Schema.Void;
201
+ };
202
+ }, "executionMode"> & import("effect/Pipeable").Pipeable & {
203
+ readonly executionMode: "sync" | "async";
204
+ };
205
+ const SetLayoutMode: Omit<{
206
+ readonly meta: {
207
+ readonly key: "dxos.org/plugin/layout/operation/set-layout-mode";
208
+ readonly name: "Set Layout Mode";
209
+ readonly description: "Set the layout mode (solo, deck, fullscreen, etc.).";
210
+ };
211
+ readonly executionMode: "sync";
212
+ readonly services: readonly [typeof Capability.Service];
213
+ readonly schema: {
214
+ readonly input: Schema.Union<[Schema.Struct<{
215
+ subject: Schema.optional<Schema.SchemaClass<string, string, never>>;
216
+ mode: Schema.SchemaClass<string, string, never>;
217
+ }>, Schema.Struct<{
218
+ revert: Schema.SchemaClass<boolean, boolean, never>;
219
+ }>]>;
220
+ readonly output: typeof Schema.Void;
221
+ };
222
+ }, "executionMode"> & import("effect/Pipeable").Pipeable & {
223
+ readonly executionMode: "sync" | "async";
224
+ };
225
+ const SwitchWorkspace: Omit<{
226
+ readonly meta: {
227
+ readonly key: "dxos.org/plugin/layout/operation/switch-workspace";
228
+ readonly name: "Switch Workspace";
229
+ readonly description: "Switch to a different workspace.";
230
+ };
231
+ readonly executionMode: "sync";
232
+ readonly services: readonly [typeof Capability.Service];
233
+ readonly schema: {
234
+ readonly input: Schema.Struct<{
235
+ subject: Schema.SchemaClass<string, string, never>;
236
+ }>;
237
+ readonly output: typeof Schema.Void;
238
+ };
239
+ }, "executionMode"> & import("effect/Pipeable").Pipeable & {
240
+ readonly executionMode: "sync" | "async";
241
+ };
242
+ const RevertWorkspace: Omit<{
243
+ readonly meta: {
244
+ readonly key: "dxos.org/plugin/layout/operation/revert-workspace";
245
+ readonly name: "Revert Workspace";
246
+ readonly description: "Revert to the previous workspace.";
247
+ };
248
+ readonly executionMode: "sync";
249
+ readonly services: readonly [typeof Capability.Service];
250
+ readonly schema: {
251
+ readonly input: typeof Schema.Void;
252
+ readonly output: typeof Schema.Void;
253
+ };
254
+ }, "executionMode"> & import("effect/Pipeable").Pipeable & {
255
+ readonly executionMode: "sync" | "async";
256
+ };
257
+ const Open: Omit<{
258
+ readonly meta: {
259
+ readonly key: "dxos.org/plugin/layout/operation/open";
260
+ readonly name: "Open";
261
+ readonly description: "Open items in the main content area.";
262
+ };
263
+ readonly executionMode: "sync";
264
+ readonly services: readonly [typeof Capability.Service];
265
+ readonly schema: {
266
+ readonly input: Schema.Struct<{
267
+ subject: Schema.Array$<Schema.SchemaClass<string, string, never>>;
268
+ state: Schema.optional<Schema.Literal<[true]>>;
269
+ variant: Schema.optional<Schema.SchemaClass<string, string, never>>;
270
+ key: Schema.optional<Schema.SchemaClass<string, string, never>>;
271
+ workspace: Schema.optional<Schema.SchemaClass<string, string, never>>;
272
+ scrollIntoView: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
273
+ pivotId: Schema.optional<Schema.SchemaClass<string, string, never>>;
274
+ positioning: Schema.optional<Schema.Union<[Schema.Literal<["start"]>, Schema.Literal<["end"]>]>>;
275
+ }>;
276
+ readonly output: typeof Schema.Void;
277
+ };
278
+ }, "executionMode"> & import("effect/Pipeable").Pipeable & {
279
+ readonly executionMode: "sync" | "async";
280
+ };
281
+ const Close: Omit<{
282
+ readonly meta: {
283
+ readonly key: "dxos.org/plugin/layout/operation/close";
284
+ readonly name: "Close";
285
+ readonly description: "Close items in the main content area.";
286
+ };
287
+ readonly executionMode: "sync";
288
+ readonly services: readonly [typeof Capability.Service];
289
+ readonly schema: {
290
+ readonly input: Schema.Struct<{
291
+ subject: Schema.Array$<Schema.SchemaClass<string, string, never>>;
292
+ }>;
293
+ readonly output: typeof Schema.Void;
294
+ };
295
+ }, "executionMode"> & import("effect/Pipeable").Pipeable & {
296
+ readonly executionMode: "sync" | "async";
297
+ };
298
+ const Set: Omit<{
299
+ readonly meta: {
300
+ readonly key: "dxos.org/plugin/layout/operation/set";
301
+ readonly name: "Set";
302
+ readonly description: "Override items in the main content area.";
303
+ };
304
+ readonly executionMode: "sync";
305
+ readonly services: readonly [typeof Capability.Service];
306
+ readonly schema: {
307
+ readonly input: Schema.Struct<{
308
+ subject: Schema.Array$<Schema.SchemaClass<string, string, never>>;
309
+ }>;
310
+ readonly output: typeof Schema.Void;
311
+ };
312
+ }, "executionMode"> & import("effect/Pipeable").Pipeable & {
313
+ readonly executionMode: "sync" | "async";
314
+ };
315
+ const ScrollIntoView: Omit<{
316
+ readonly meta: {
317
+ readonly key: "dxos.org/plugin/layout/operation/scroll-into-view";
318
+ readonly name: "Scroll Into View";
319
+ readonly description: "Scroll an item into view.";
320
+ };
321
+ readonly services: readonly [typeof Capability.Service];
322
+ readonly schema: {
323
+ readonly input: Schema.Struct<{
324
+ subject: Schema.optional<Schema.SchemaClass<string, string, never>>;
325
+ cursor: Schema.optional<Schema.SchemaClass<string, string, never>>;
326
+ ref: Schema.optional<Schema.SchemaClass<string, string, never>>;
327
+ }>;
328
+ readonly output: typeof Schema.Void;
329
+ };
330
+ }, "executionMode"> & import("effect/Pipeable").Pipeable & {
331
+ readonly executionMode: "sync" | "async";
332
+ };
333
+ const Expose: Omit<{
334
+ readonly meta: {
335
+ readonly key: "dxos.org/plugin/layout/operation/expose";
336
+ readonly name: "Expose";
337
+ readonly description: "Expose an item in the navigation area.";
338
+ };
339
+ readonly services: readonly [typeof Capability.Service];
340
+ readonly schema: {
341
+ readonly input: Schema.Struct<{
342
+ subject: Schema.SchemaClass<string, string, never>;
343
+ }>;
344
+ readonly output: typeof Schema.Void;
345
+ };
346
+ }, "executionMode"> & import("effect/Pipeable").Pipeable & {
347
+ readonly executionMode: "sync" | "async";
348
+ };
349
+ }
350
+ /**
351
+ * Operations related to undo/history functionality.
352
+ */
353
+ export declare namespace UndoOperation {
354
+ /**
355
+ * Show an undo toast notification.
356
+ * Fired by HistoryTracker when an undoable operation is tracked.
357
+ */
358
+ const ShowUndo: Omit<{
359
+ readonly meta: {
360
+ readonly key: "dxos.org/app-framework/undo/operation/show-undo";
361
+ readonly name: "Show Undo";
362
+ readonly description: "Show an undo toast notification.";
363
+ };
364
+ readonly executionMode: "sync";
365
+ readonly services: readonly [typeof Capability.Service];
366
+ readonly schema: {
367
+ readonly input: Schema.Struct<{
368
+ message: Schema.optional<Schema.Union<[typeof Schema.String, Schema.mutable<Schema.Tuple2<typeof Schema.String, Schema.mutable<Schema.Struct<{
369
+ ns: typeof Schema.String;
370
+ count: Schema.optional<typeof Schema.Number>;
371
+ defaultValue: Schema.optional<typeof Schema.String>;
372
+ }>>>>]>>;
373
+ }>;
374
+ readonly output: typeof Schema.Void;
375
+ };
376
+ }, "executionMode"> & import("effect/Pipeable").Pipeable & {
377
+ readonly executionMode: "sync" | "async";
378
+ };
379
+ }
380
+ //# sourceMappingURL=operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../../../src/common/operations.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAMrC;;;GAGG;AACH,yBAAiB,eAAe,CAAC;IAKxB,MAAM,aAAa;;;;;;;;;;;;;;;;;KAqBxB,CAAC;IAEI,MAAM,mBAAmB;;;;;;;;;;;;;;;;;KAqB9B,CAAC;IAMI,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;KAkCvB,CAAC;IAyCI,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+BxB,CAAC;IAMI,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAYhB,CAAC;IAEH,UAAiB,KAAM,SAAQ,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,UAAU,CAAC;QAC/E,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;KACvB;IAEM,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAYnB,CAAC;IAMI,MAAM,aAAa;;;;;;;;;;;;;;;;;;;KAsBxB,CAAC;IAMI,MAAM,eAAe;;;;;;;;;;;;;;;;KAc1B,CAAC;IAEI,MAAM,eAAe;;;;;;;;;;;;;;KAY1B,CAAC;IAMI,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;KAgCf,CAAC;IAEI,MAAM,KAAK;;;;;;;;;;;;;;;;KAchB,CAAC;IAEI,MAAM,GAAG;;;;;;;;;;;;;;;;KAcd,CAAC;IAMI,MAAM,cAAc;;;;;;;;;;;;;;;;;KAezB,CAAC;IAEI,MAAM,MAAM;;;;;;;;;;;;;;;KAajB,CAAC;CACJ;AAID;;GAEG;AACH,yBAAiB,aAAa,CAAC;IAC7B;;;OAGG;IACI,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;KAcnB,CAAC;CACJ"}
@@ -0,0 +1,201 @@
1
+ import type * as Command$ from '@effect/cli/Command';
2
+ import { type Type } from '@dxos/echo';
3
+ import { Plugin as Plugin$ } from '../core';
4
+ import { Capability } from './capability';
5
+ import { type Resource } from './translations';
6
+ type PluginModuleOptions = Partial<Pick<Plugin$.PluginModuleOptions, 'id' | 'activatesOn' | 'activatesBefore' | 'activatesAfter'>> & Pick<Plugin$.PluginModuleOptions, 'activate'>;
7
+ /**
8
+ * Helper functions for creating common plugin module patterns.
9
+ */
10
+ export declare namespace Plugin {
11
+ type OperationResolverModuleOptions = PluginModuleOptions;
12
+ /**
13
+ * Creates a module that contributes operation handlers.
14
+ *
15
+ * @param options Module options including the activate function and optional configuration
16
+ * @returns A function that can be used with Plugin.addModule() in a pipe chain
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * Plugin.define(meta).pipe(
21
+ * Common.Plugin.addOperationResolverModule({
22
+ * activate: (context) =>
23
+ * Capability.contributes(Common.Capability.OperationResolver, [{
24
+ * operation: MyOperation,
25
+ * handler: (input) => Effect.succeed(...)
26
+ * }])
27
+ * })
28
+ * )
29
+ * ```
30
+ */
31
+ function addOperationResolverModule<T = void>(options: OperationResolverModuleOptions): (builder: Plugin$.PluginBuilder<T>) => Plugin$.PluginBuilder<T>;
32
+ type SurfaceModuleOptions = PluginModuleOptions;
33
+ /**
34
+ * Creates a module that contributes React surfaces.
35
+ *
36
+ * @param options Module options including the activate function and optional configuration
37
+ * @returns A function that can be used with Plugin.addModule() in a pipe chain
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * Plugin.define(meta).pipe(
42
+ * Common.Plugin.addSurfaceModule({
43
+ * activate: (context) =>
44
+ * Capability.contributes(Common.Capability.ReactSurface, [
45
+ * Common.createSurface({ id: `${meta.id}/my-surface`, ... })
46
+ * ])
47
+ * })
48
+ * )
49
+ * ```
50
+ */
51
+ function addSurfaceModule<T = void>(options: SurfaceModuleOptions): (builder: Plugin$.PluginBuilder<T>) => Plugin$.PluginBuilder<T>;
52
+ type ReactRootModuleOptions = PluginModuleOptions;
53
+ /**
54
+ * Creates a module that contributes a React root.
55
+ */
56
+ function addReactRootModule<T = void>(options: ReactRootModuleOptions): (builder: Plugin$.PluginBuilder<T>) => Plugin$.PluginBuilder<T>;
57
+ type ReactContextModuleOptions = PluginModuleOptions;
58
+ /**
59
+ * Creates a module that contributes a React context.
60
+ */
61
+ function addReactContextModule<T = void>(options: ReactContextModuleOptions): (builder: Plugin$.PluginBuilder<T>) => Plugin$.PluginBuilder<T>;
62
+ type AppGraphModuleOptions = PluginModuleOptions;
63
+ /**
64
+ * Creates a module that contributes app graph builder extensions.
65
+ *
66
+ * @param options Module options including the activate function and optional configuration
67
+ * @returns A function that can be used with Plugin.addModule() in a pipe chain
68
+ *
69
+ * @example
70
+ * ```ts
71
+ * Plugin.define(meta).pipe(
72
+ * Common.Plugin.addAppGraphModule({
73
+ * activate: Effect.fnUntraced(function* () {
74
+ * const extensions = yield* GraphBuilder.createExtension({
75
+ * id: meta.id,
76
+ * match: NodeMatcher.whenRoot,
77
+ * // All callbacks must return Effects.
78
+ * actions: () => Effect.succeed([{
79
+ * id: 'my-action',
80
+ * // Action data returns Effect for automatic context access.
81
+ * data: Effect.fnUntraced(function* () {
82
+ * yield* Operation.invoke(MyOperation, { ... });
83
+ * }),
84
+ * properties: { label: 'My Action', icon: 'ph--icon' },
85
+ * }]),
86
+ * connector: (node, get) => Effect.succeed([{ id: 'child', ... }]),
87
+ * });
88
+ * return Capability.contributes(Common.Capability.AppGraphBuilder, extensions);
89
+ * })
90
+ * })
91
+ * )
92
+ * ```
93
+ */
94
+ function addAppGraphModule<T = void>(options: AppGraphModuleOptions): (builder: Plugin$.PluginBuilder<T>) => Plugin$.PluginBuilder<T>;
95
+ type TranslationsModuleOptions = Omit<PluginModuleOptions, 'activate'> & {
96
+ translations: Resource | Resource[];
97
+ };
98
+ /**
99
+ * Creates a module that contributes translations.
100
+ *
101
+ * @param options Module options including translations and optional configuration
102
+ * @returns A function that can be used with Plugin.addModule() in a pipe chain
103
+ *
104
+ * @example
105
+ * ```ts
106
+ * Plugin.define(meta).pipe(
107
+ * Common.Plugin.addTranslationsModule({
108
+ * translations: translations
109
+ * })
110
+ * )
111
+ * ```
112
+ */
113
+ function addTranslationsModule<T = void>(options: TranslationsModuleOptions): (builder: Plugin$.PluginBuilder<T>) => Plugin$.PluginBuilder<T>;
114
+ type MetadataModuleOptions = Omit<PluginModuleOptions, 'activate'> & {
115
+ metadata: Capability.Metadata | Capability.Metadata[];
116
+ };
117
+ /**
118
+ * Creates a module that contributes metadata.
119
+ *
120
+ * @param options Module options including metadata and optional configuration
121
+ * @returns A function that can be used with Plugin.addModule() in a pipe chain
122
+ *
123
+ * @example
124
+ * ```ts
125
+ * Plugin.define(meta).pipe(
126
+ * Common.Plugin.addMetadataModule({
127
+ * metadata: {
128
+ * id: MyType.typename,
129
+ * metadata: { icon: 'ph--icon', ... }
130
+ * }
131
+ * })
132
+ * )
133
+ * ```
134
+ */
135
+ function addMetadataModule<T = void>(options: MetadataModuleOptions): (builder: Plugin$.PluginBuilder<T>) => Plugin$.PluginBuilder<T>;
136
+ type SettingsModuleOptions = PluginModuleOptions;
137
+ /**
138
+ * Creates a module that contributes settings.
139
+ */
140
+ function addSettingsModule<T = void>(options: SettingsModuleOptions): (builder: Plugin$.PluginBuilder<T>) => Plugin$.PluginBuilder<T>;
141
+ type BlueprintDefinitionModuleOptions = PluginModuleOptions;
142
+ /**
143
+ * Creates a module that contributes blueprint definitions.
144
+ *
145
+ * @param options Module options including the activate function and optional configuration
146
+ * @returns A function that can be used with Plugin.addModule() in a pipe chain
147
+ *
148
+ * @example
149
+ * ```ts
150
+ * Plugin.define(meta).pipe(
151
+ * Common.Plugin.addBlueprintDefinitionModule({
152
+ * activate: (context) =>
153
+ * Capability.contributes(Common.Capability.BlueprintDefinition, [
154
+ * BlueprintDefinition.make({ key: 'my-blueprint', ... })
155
+ * ])
156
+ * })
157
+ * )
158
+ * ```
159
+ */
160
+ function addBlueprintDefinitionModule<T = void>(options: BlueprintDefinitionModuleOptions): (builder: Plugin$.PluginBuilder<T>) => Plugin$.PluginBuilder<T>;
161
+ type SchemaModuleOptions = Omit<PluginModuleOptions, 'activate'> & {
162
+ schema: ReadonlyArray<Type.Entity.Any>;
163
+ };
164
+ /**
165
+ * Creates a module that contributes schemas.
166
+ *
167
+ * @param options Module options including schema array and optional configuration
168
+ * @returns A function that can be used with Plugin.addModule() in a pipe chain
169
+ *
170
+ * @example
171
+ * ```ts
172
+ * Plugin.define(meta).pipe(
173
+ * Common.Plugin.addSchemaModule({
174
+ * schema: [MyType.Type, AnotherType.Type]
175
+ * })
176
+ * )
177
+ * ```
178
+ */
179
+ function addSchemaModule<T = void>(options: SchemaModuleOptions): (builder: Plugin$.PluginBuilder<T>) => Plugin$.PluginBuilder<T>;
180
+ type CommandModuleOptions = Omit<PluginModuleOptions, 'activate'> & {
181
+ commands: ReadonlyArray<Command$.Command<any, any, any, any>>;
182
+ };
183
+ /**
184
+ * Creates a module that contributes CLI commands.
185
+ *
186
+ * @param options Module options including commands and optional configuration
187
+ * @returns A function that can be used with Plugin.addModule() in a pipe chain
188
+ *
189
+ * @example
190
+ * ```ts
191
+ * Plugin.define(meta).pipe(
192
+ * Common.Plugin.addCommandModule({
193
+ * commands: [myCommand, anotherCommand]
194
+ * })
195
+ * )
196
+ * ```
197
+ */
198
+ function addCommandModule<T = void>(options: CommandModuleOptions): (builder: Plugin$.PluginBuilder<T>) => Plugin$.PluginBuilder<T>;
199
+ }
200
+ export {};
201
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../src/common/plugin.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { ComponentType, PropsWithChildren, ReactNode } from 'react';
2
- import { type MakeOptional, type Position } from '@dxos/util';
3
- import { type ErrorBoundary } from '../react';
1
+ import type { PropsWithChildren, ReactNode, RefCallback } from 'react';
2
+ import type { MakeOptional, Position } from '@dxos/util';
3
+ import type { ErrorBoundary } from '../react';
4
4
  /**
5
5
  * SurfaceProps are the props that are passed to the Surface component.
6
6
  */
@@ -46,15 +46,18 @@ export type CoreSurfaceProps<T extends Record<string, any> = Record<string, unkn
46
46
  */
47
47
  limit?: number | undefined;
48
48
  }>;
49
- export type SurfaceComponentProps<T extends Record<string, any> = Record<string, any>> = CoreSurfaceProps<T> & Record<string, any>;
49
+ export type SurfaceComponentProps<T extends Record<string, any> = Record<string, any>> = CoreSurfaceProps<T> & {
50
+ ref?: RefCallback<HTMLElement>;
51
+ } & Record<string, any>;
50
52
  /**
51
53
  * React component used to render a surface once is has matched.
52
54
  */
53
- export type SurfaceComponent<T extends Record<string, any> = Record<string, any>> = ComponentType<SurfaceComponentProps<T>>;
55
+ export type SurfaceComponent<T extends Record<string, any> = Record<string, any>> = (props: SurfaceComponentProps<T>) => ReactNode;
54
56
  /**
55
- * Definition of when a SurfaceComponent should be rendered.
57
+ * Definition of when a React SurfaceComponent should be rendered.
56
58
  */
57
- export type SurfaceDefinition<T extends Record<string, any> = any> = Readonly<{
59
+ export type ReactSurfaceDefinition<T extends Record<string, any> = any> = Readonly<{
60
+ kind: 'react';
58
61
  id: string;
59
62
  role: string | string[];
60
63
  position?: Position;
@@ -62,7 +65,30 @@ export type SurfaceDefinition<T extends Record<string, any> = any> = Readonly<{
62
65
  filter?: (data: Record<string, unknown>) => data is T;
63
66
  }>;
64
67
  /**
65
- * Creates a surface definition.
68
+ * Definition of when a Web Component surface should be rendered.
66
69
  */
67
- export declare const createSurface: <T extends Record<string, any> = any>(definition: SurfaceDefinition<T>) => SurfaceDefinition<T>;
70
+ export type WebComponentSurfaceDefinition<T extends Record<string, any> = any> = Readonly<{
71
+ kind: 'web-component';
72
+ id: string;
73
+ role: string | string[];
74
+ position?: Position;
75
+ /**
76
+ * The tag name of the Web Component to render.
77
+ * The Web Component will receive the same props as React surfaces via properties/attributes.
78
+ */
79
+ tagName: string;
80
+ filter?: (data: Record<string, unknown>) => data is T;
81
+ }>;
82
+ /**
83
+ * Definition of when a surface (React or Web Component) should be rendered.
84
+ */
85
+ export type SurfaceDefinition<T extends Record<string, any> = any> = ReactSurfaceDefinition<T> | WebComponentSurfaceDefinition<T>;
86
+ /**
87
+ * Creates a React surface definition.
88
+ */
89
+ export declare const createSurface: <T extends Record<string, any> = any>(definition: Omit<ReactSurfaceDefinition<T>, "kind">) => ReactSurfaceDefinition<T>;
90
+ /**
91
+ * Creates a Web Component surface definition.
92
+ */
93
+ export declare const createWebSurface: <T extends Record<string, any> = any>(definition: Omit<WebComponentSurfaceDefinition<T>, "kind">) => WebComponentSurfaceDefinition<T>;
68
94
  //# sourceMappingURL=surface.d.ts.map