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

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 (701) hide show
  1. package/.storybook/main.mts +9 -0
  2. package/.storybook/preview.mts +8 -0
  3. package/.swc/plugins/linux_x86_64_19.0.0/727453fb3a62f7f1d952a41e051ca8a6f88cadc45cee43c6a4d1aa45f9b75665.wasmer-v7 +0 -0
  4. package/dist/lib/browser/capability-EYY7KYU5.mjs +35 -0
  5. package/dist/lib/browser/capability-EYY7KYU5.mjs.map +7 -0
  6. package/dist/lib/browser/capability-W7NPZR6A.mjs +38 -0
  7. package/dist/lib/browser/capability-W7NPZR6A.mjs.map +7 -0
  8. package/dist/lib/browser/chunk-2CKCJ6PN.mjs +79 -0
  9. package/dist/lib/browser/chunk-2CKCJ6PN.mjs.map +7 -0
  10. package/dist/lib/browser/chunk-4D6YAWLP.mjs +393 -0
  11. package/dist/lib/browser/chunk-4D6YAWLP.mjs.map +7 -0
  12. package/dist/lib/browser/chunk-56CEL32L.mjs +963 -0
  13. package/dist/lib/browser/chunk-56CEL32L.mjs.map +7 -0
  14. package/dist/lib/browser/chunk-F7FW2RK2.mjs +167 -0
  15. package/dist/lib/browser/chunk-F7FW2RK2.mjs.map +7 -0
  16. package/dist/lib/browser/chunk-I34GF4NG.mjs +34 -0
  17. package/dist/lib/browser/chunk-I34GF4NG.mjs.map +7 -0
  18. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  19. package/dist/lib/browser/chunk-JKWMHZP6.mjs +80 -0
  20. package/dist/lib/browser/chunk-JKWMHZP6.mjs.map +7 -0
  21. package/dist/lib/browser/chunk-QRTB4Q3U.mjs +594 -0
  22. package/dist/lib/browser/chunk-QRTB4Q3U.mjs.map +7 -0
  23. package/dist/lib/browser/chunk-QSXYHXCE.mjs +48 -0
  24. package/dist/lib/browser/chunk-QSXYHXCE.mjs.map +7 -0
  25. package/dist/lib/browser/chunk-RFSO3JRG.mjs +1 -0
  26. package/dist/lib/browser/chunk-RHQGPRWN.mjs +174 -0
  27. package/dist/lib/browser/chunk-RHQGPRWN.mjs.map +7 -0
  28. package/dist/lib/browser/chunk-T3Y4AEKX.mjs +42 -0
  29. package/dist/lib/browser/chunk-T3Y4AEKX.mjs.map +7 -0
  30. package/dist/lib/browser/chunk-TGX63LTL.mjs +8 -0
  31. package/dist/lib/browser/chunk-TGX63LTL.mjs.map +7 -0
  32. package/dist/lib/browser/chunk-ZBA6IH6L.mjs +148 -0
  33. package/dist/lib/browser/chunk-ZBA6IH6L.mjs.map +7 -0
  34. package/dist/lib/browser/cli/index.mjs +90 -0
  35. package/dist/lib/browser/cli/index.mjs.map +7 -0
  36. package/dist/lib/browser/common/activation-events.mjs +24 -0
  37. package/dist/lib/browser/common/capabilities.mjs +46 -0
  38. package/dist/lib/browser/core/activation-event.mjs +20 -0
  39. package/dist/lib/browser/core/activation-event.mjs.map +7 -0
  40. package/dist/lib/browser/core/capability.mjs +30 -0
  41. package/dist/lib/browser/core/capability.mjs.map +7 -0
  42. package/dist/lib/browser/core/plugin-manager.mjs +15 -0
  43. package/dist/lib/browser/core/plugin-manager.mjs.map +7 -0
  44. package/dist/lib/browser/core/plugin.mjs +29 -0
  45. package/dist/lib/browser/core/plugin.mjs.map +7 -0
  46. package/dist/lib/browser/core/url-loader.mjs +16 -0
  47. package/dist/lib/browser/core/url-loader.mjs.map +7 -0
  48. package/dist/lib/browser/index.mjs +91 -156
  49. package/dist/lib/browser/index.mjs.map +4 -4
  50. package/dist/lib/browser/invoker-capability-35BJSGXJ.mjs +43 -0
  51. package/dist/lib/browser/invoker-capability-35BJSGXJ.mjs.map +7 -0
  52. package/dist/lib/browser/meta.json +1 -1
  53. package/dist/lib/browser/testing/index.mjs +248 -51
  54. package/dist/lib/browser/testing/index.mjs.map +4 -4
  55. package/dist/lib/browser/testing/react.mjs +78 -0
  56. package/dist/lib/browser/testing/react.mjs.map +7 -0
  57. package/dist/lib/browser/ui/index.mjs +46 -0
  58. package/dist/lib/browser/ui/index.mjs.map +7 -0
  59. package/dist/lib/node-esm/capability-IY3YIHIO.mjs +39 -0
  60. package/dist/lib/node-esm/capability-IY3YIHIO.mjs.map +7 -0
  61. package/dist/lib/node-esm/capability-RDCTCARS.mjs +36 -0
  62. package/dist/lib/node-esm/capability-RDCTCARS.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-42KBWDE4.mjs +80 -0
  64. package/dist/lib/node-esm/chunk-42KBWDE4.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-DAYWQOOQ.mjs +149 -0
  66. package/dist/lib/node-esm/chunk-DAYWQOOQ.mjs.map +7 -0
  67. package/dist/lib/node-esm/chunk-DER2JDBT.mjs +175 -0
  68. package/dist/lib/node-esm/chunk-DER2JDBT.mjs.map +7 -0
  69. package/dist/lib/node-esm/chunk-EL3R25OQ.mjs +2 -0
  70. package/dist/lib/node-esm/chunk-EL3R25OQ.mjs.map +7 -0
  71. package/dist/lib/node-esm/chunk-FKE4Z3D6.mjs +10 -0
  72. package/dist/lib/node-esm/chunk-FKE4Z3D6.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-G3RTFSNG.mjs +81 -0
  74. package/dist/lib/node-esm/chunk-G3RTFSNG.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  76. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  77. package/dist/lib/node-esm/chunk-JPWVIQ5I.mjs +595 -0
  78. package/dist/lib/node-esm/chunk-JPWVIQ5I.mjs.map +7 -0
  79. package/dist/lib/node-esm/chunk-LX6YJOSO.mjs +394 -0
  80. package/dist/lib/node-esm/chunk-LX6YJOSO.mjs.map +7 -0
  81. package/dist/lib/node-esm/chunk-URWHJQT2.mjs +168 -0
  82. package/dist/lib/node-esm/chunk-URWHJQT2.mjs.map +7 -0
  83. package/dist/lib/node-esm/chunk-VKHGNEDB.mjs +43 -0
  84. package/dist/lib/node-esm/chunk-VKHGNEDB.mjs.map +7 -0
  85. package/dist/lib/node-esm/chunk-W4K4RU4S.mjs +964 -0
  86. package/dist/lib/node-esm/chunk-W4K4RU4S.mjs.map +7 -0
  87. package/dist/lib/node-esm/chunk-WZCSOX5Q.mjs +35 -0
  88. package/dist/lib/node-esm/chunk-WZCSOX5Q.mjs.map +7 -0
  89. package/dist/lib/node-esm/chunk-ZZ7CKK6W.mjs +49 -0
  90. package/dist/lib/node-esm/chunk-ZZ7CKK6W.mjs.map +7 -0
  91. package/dist/lib/node-esm/cli/index.mjs +91 -0
  92. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  93. package/dist/lib/node-esm/common/activation-events.mjs +25 -0
  94. package/dist/lib/node-esm/common/activation-events.mjs.map +7 -0
  95. package/dist/lib/node-esm/common/capabilities.mjs +47 -0
  96. package/dist/lib/node-esm/common/capabilities.mjs.map +7 -0
  97. package/dist/lib/node-esm/core/activation-event.mjs +21 -0
  98. package/dist/lib/node-esm/core/activation-event.mjs.map +7 -0
  99. package/dist/lib/node-esm/core/capability.mjs +31 -0
  100. package/dist/lib/node-esm/core/capability.mjs.map +7 -0
  101. package/dist/lib/node-esm/core/plugin-manager.mjs +16 -0
  102. package/dist/lib/node-esm/core/plugin-manager.mjs.map +7 -0
  103. package/dist/lib/node-esm/core/plugin.mjs +30 -0
  104. package/dist/lib/node-esm/core/plugin.mjs.map +7 -0
  105. package/dist/lib/node-esm/core/url-loader.mjs +17 -0
  106. package/dist/lib/node-esm/core/url-loader.mjs.map +7 -0
  107. package/dist/lib/node-esm/index.mjs +91 -156
  108. package/dist/lib/node-esm/index.mjs.map +4 -4
  109. package/dist/lib/node-esm/invoker-capability-3QWBSM5Q.mjs +44 -0
  110. package/dist/lib/node-esm/invoker-capability-3QWBSM5Q.mjs.map +7 -0
  111. package/dist/lib/node-esm/meta.json +1 -1
  112. package/dist/lib/node-esm/testing/index.mjs +248 -51
  113. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  114. package/dist/lib/node-esm/testing/react.mjs +79 -0
  115. package/dist/lib/node-esm/testing/react.mjs.map +7 -0
  116. package/dist/lib/node-esm/ui/index.mjs +47 -0
  117. package/dist/lib/node-esm/ui/index.mjs.map +7 -0
  118. package/dist/plugin/node-esm/index.mjs +730 -0
  119. package/dist/plugin/node-esm/index.mjs.map +7 -0
  120. package/dist/plugin/node-esm/meta.json +1 -0
  121. package/dist/types/src/cli/cli.d.ts +39 -0
  122. package/dist/types/src/cli/cli.d.ts.map +1 -0
  123. package/dist/types/src/cli/index.d.ts +2 -0
  124. package/dist/types/src/cli/index.d.ts.map +1 -0
  125. package/dist/types/src/common/activation-events.d.ts +27 -0
  126. package/dist/types/src/common/activation-events.d.ts.map +1 -0
  127. package/dist/types/src/common/capabilities.d.ts +109 -121
  128. package/dist/types/src/common/capabilities.d.ts.map +1 -1
  129. package/dist/types/src/common/index.d.ts +4 -8
  130. package/dist/types/src/common/index.d.ts.map +1 -1
  131. package/dist/types/src/common/operations.d.ts +19 -0
  132. package/dist/types/src/common/operations.d.ts.map +1 -0
  133. package/dist/types/src/common/translations.d.ts +8 -8
  134. package/dist/types/src/common/translations.d.ts.map +1 -1
  135. package/dist/types/src/context.d.ts +5 -0
  136. package/dist/types/src/context.d.ts.map +1 -0
  137. package/dist/types/src/core/{events.d.ts → activation-event.d.ts} +7 -7
  138. package/dist/types/src/core/activation-event.d.ts.map +1 -0
  139. package/dist/types/src/core/capability-manager.d.ts +48 -0
  140. package/dist/types/src/core/capability-manager.d.ts.map +1 -0
  141. package/dist/types/src/core/capability-manager.test.d.ts +2 -0
  142. package/dist/types/src/core/capability-manager.test.d.ts.map +1 -0
  143. package/dist/types/src/core/capability.d.ts +156 -0
  144. package/dist/types/src/core/capability.d.ts.map +1 -0
  145. package/dist/types/src/core/index.d.ts +6 -4
  146. package/dist/types/src/core/index.d.ts.map +1 -1
  147. package/dist/types/src/core/plugin-manager.d.ts +73 -0
  148. package/dist/types/src/core/plugin-manager.d.ts.map +1 -0
  149. package/dist/types/src/core/plugin-manager.test.d.ts +2 -0
  150. package/dist/types/src/core/plugin-manager.test.d.ts.map +1 -0
  151. package/dist/types/src/core/plugin.d.ts +124 -37
  152. package/dist/types/src/core/plugin.d.ts.map +1 -1
  153. package/dist/types/src/core/url-loader.d.ts +42 -0
  154. package/dist/types/src/core/url-loader.d.ts.map +1 -0
  155. package/dist/types/src/core/url-loader.test.d.ts +2 -0
  156. package/dist/types/src/core/url-loader.test.d.ts.map +1 -0
  157. package/dist/types/src/index.d.ts +3 -4
  158. package/dist/types/src/index.d.ts.map +1 -1
  159. package/dist/types/src/plugin-operation/OperationPlugin.d.ts +3 -0
  160. package/dist/types/src/plugin-operation/OperationPlugin.d.ts.map +1 -0
  161. package/dist/types/src/plugin-operation/history/capability.d.ts +7 -0
  162. package/dist/types/src/plugin-operation/history/capability.d.ts.map +1 -0
  163. package/dist/types/src/plugin-operation/history/errors.d.ts +32 -0
  164. package/dist/types/src/plugin-operation/history/errors.d.ts.map +1 -0
  165. package/dist/types/src/plugin-operation/history/history-tracker.d.ts +18 -0
  166. package/dist/types/src/plugin-operation/history/history-tracker.d.ts.map +1 -0
  167. package/dist/types/src/plugin-operation/history/history-tracker.test.d.ts +2 -0
  168. package/dist/types/src/plugin-operation/history/history-tracker.test.d.ts.map +1 -0
  169. package/dist/types/src/plugin-operation/history/index.d.ts +6 -0
  170. package/dist/types/src/plugin-operation/history/index.d.ts.map +1 -0
  171. package/dist/types/src/plugin-operation/history/types.d.ts +13 -0
  172. package/dist/types/src/plugin-operation/history/types.d.ts.map +1 -0
  173. package/dist/types/src/plugin-operation/history/undo-mapping.d.ts +101 -0
  174. package/dist/types/src/plugin-operation/history/undo-mapping.d.ts.map +1 -0
  175. package/dist/types/src/plugin-operation/history/undo-registry.d.ts +23 -0
  176. package/dist/types/src/plugin-operation/history/undo-registry.d.ts.map +1 -0
  177. package/dist/types/src/plugin-operation/history/undo-registry.test.d.ts +2 -0
  178. package/dist/types/src/plugin-operation/history/undo-registry.test.d.ts.map +1 -0
  179. package/dist/types/src/plugin-operation/index.d.ts +3 -0
  180. package/dist/types/src/plugin-operation/index.d.ts.map +1 -0
  181. package/dist/types/src/plugin-operation/invoker-capability.d.ts +6 -0
  182. package/dist/types/src/plugin-operation/invoker-capability.d.ts.map +1 -0
  183. package/dist/types/src/plugin-operation/meta.d.ts +3 -0
  184. package/dist/types/src/plugin-operation/meta.d.ts.map +1 -0
  185. package/dist/types/src/plugin-operation/testing.d.ts +58 -0
  186. package/dist/types/src/plugin-operation/testing.d.ts.map +1 -0
  187. package/dist/types/src/plugin-runtime/RuntimePlugin.d.ts +3 -0
  188. package/dist/types/src/plugin-runtime/RuntimePlugin.d.ts.map +1 -0
  189. package/dist/types/src/plugin-runtime/capability.d.ts +6 -0
  190. package/dist/types/src/plugin-runtime/capability.d.ts.map +1 -0
  191. package/dist/types/src/plugin-runtime/index.d.ts +2 -0
  192. package/dist/types/src/plugin-runtime/index.d.ts.map +1 -0
  193. package/dist/types/src/plugin-runtime/meta.d.ts +3 -0
  194. package/dist/types/src/plugin-runtime/meta.d.ts.map +1 -0
  195. package/dist/types/src/testing/harness.d.ts +67 -0
  196. package/dist/types/src/testing/harness.d.ts.map +1 -0
  197. package/dist/types/src/testing/index.d.ts +2 -0
  198. package/dist/types/src/testing/index.d.ts.map +1 -1
  199. package/dist/types/src/testing/react.d.ts +27 -0
  200. package/dist/types/src/testing/react.d.ts.map +1 -0
  201. package/dist/types/src/testing/react.test.d.ts +2 -0
  202. package/dist/types/src/testing/react.test.d.ts.map +1 -0
  203. package/dist/types/src/testing/service.d.ts +8 -0
  204. package/dist/types/src/testing/service.d.ts.map +1 -0
  205. package/dist/types/src/testing/withPluginManager.d.ts +11 -10
  206. package/dist/types/src/testing/withPluginManager.d.ts.map +1 -1
  207. package/dist/types/src/testing/withPluginManager.stories.d.ts +9 -3
  208. package/dist/types/src/testing/withPluginManager.stories.d.ts.map +1 -1
  209. package/dist/types/src/ui/components/App/App.d.ts +9 -0
  210. package/dist/types/src/ui/components/App/App.d.ts.map +1 -0
  211. package/dist/types/src/ui/components/App/App.stories.d.ts +19 -0
  212. package/dist/types/src/ui/components/App/App.stories.d.ts.map +1 -0
  213. package/dist/types/src/ui/components/App/index.d.ts +2 -0
  214. package/dist/types/src/ui/components/App/index.d.ts.map +1 -0
  215. package/dist/types/src/ui/components/PluginManager/PluginManagerContext.stories.d.ts +13 -0
  216. package/dist/types/src/ui/components/PluginManager/PluginManagerContext.stories.d.ts.map +1 -0
  217. package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts +10 -0
  218. package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts.map +1 -0
  219. package/dist/types/src/ui/components/PluginManager/index.d.ts +2 -0
  220. package/dist/types/src/ui/components/PluginManager/index.d.ts.map +1 -0
  221. package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts +24 -0
  222. package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts.map +1 -0
  223. package/dist/types/src/ui/components/Surface/SurfaceComponent.stories.d.ts +14 -0
  224. package/dist/types/src/ui/components/Surface/SurfaceComponent.stories.d.ts.map +1 -0
  225. package/dist/types/src/ui/components/Surface/SurfaceInfo.d.ts +11 -0
  226. package/dist/types/src/ui/components/Surface/SurfaceInfo.d.ts.map +1 -0
  227. package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts +48 -0
  228. package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts.map +1 -0
  229. package/dist/types/src/ui/components/Surface/context.d.ts +5 -0
  230. package/dist/types/src/ui/components/Surface/context.d.ts.map +1 -0
  231. package/dist/types/src/ui/components/Surface/index.d.ts +36 -0
  232. package/dist/types/src/ui/components/Surface/index.d.ts.map +1 -0
  233. package/dist/types/src/ui/components/Surface/types.d.ts +197 -0
  234. package/dist/types/src/ui/components/Surface/types.d.ts.map +1 -0
  235. package/dist/types/src/ui/components/Surface/types.test.d.ts +2 -0
  236. package/dist/types/src/ui/components/Surface/types.test.d.ts.map +1 -0
  237. package/dist/types/src/ui/components/index.d.ts +4 -0
  238. package/dist/types/src/ui/components/index.d.ts.map +1 -0
  239. package/dist/types/src/ui/hooks/index.d.ts +6 -0
  240. package/dist/types/src/ui/hooks/index.d.ts.map +1 -0
  241. package/dist/types/src/ui/hooks/useApp.d.ts +62 -0
  242. package/dist/types/src/ui/hooks/useApp.d.ts.map +1 -0
  243. package/dist/types/src/ui/hooks/useApp.test.d.ts +2 -0
  244. package/dist/types/src/ui/hooks/useApp.test.d.ts.map +1 -0
  245. package/dist/types/src/ui/hooks/useCapabilities.d.ts +31 -0
  246. package/dist/types/src/ui/hooks/useCapabilities.d.ts.map +1 -0
  247. package/dist/types/src/ui/hooks/useLoading.d.ts +18 -0
  248. package/dist/types/src/ui/hooks/useLoading.d.ts.map +1 -0
  249. package/dist/types/src/ui/hooks/useSettingsState.d.ts +10 -0
  250. package/dist/types/src/ui/hooks/useSettingsState.d.ts.map +1 -0
  251. package/dist/types/src/ui/hooks/useSurface.d.ts +3 -0
  252. package/dist/types/src/ui/hooks/useSurface.d.ts.map +1 -0
  253. package/dist/types/src/ui/index.d.ts +3 -0
  254. package/dist/types/src/ui/index.d.ts.map +1 -0
  255. package/dist/types/src/vite-plugin/composer-plugin.d.ts +34 -0
  256. package/dist/types/src/vite-plugin/composer-plugin.d.ts.map +1 -0
  257. package/dist/types/src/vite-plugin/import-map-plugin.d.ts +16 -0
  258. package/dist/types/src/vite-plugin/import-map-plugin.d.ts.map +1 -0
  259. package/dist/types/src/vite-plugin/index.d.ts +4 -0
  260. package/dist/types/src/vite-plugin/index.d.ts.map +1 -0
  261. package/dist/types/src/vite-plugin/manifest.d.ts +16 -0
  262. package/dist/types/src/vite-plugin/manifest.d.ts.map +1 -0
  263. package/dist/types/src/vite-plugin/manifest.test.d.ts +2 -0
  264. package/dist/types/src/vite-plugin/manifest.test.d.ts.map +1 -0
  265. package/dist/types/src/vite-plugin/packages.d.ts +13 -0
  266. package/dist/types/src/vite-plugin/packages.d.ts.map +1 -0
  267. package/dist/types/tsconfig.tsbuildinfo +1 -1
  268. package/moon.yml +26 -3
  269. package/package.json +144 -44
  270. package/src/cli/cli.ts +107 -0
  271. package/src/{playground/layout → cli}/index.ts +1 -1
  272. package/src/common/activation-events.ts +44 -0
  273. package/src/common/capabilities.ts +168 -109
  274. package/src/common/index.ts +4 -8
  275. package/src/common/operations.ts +35 -0
  276. package/src/common/translations.ts +18 -10
  277. package/src/context.ts +9 -0
  278. package/src/core/{events.ts → activation-event.ts} +10 -7
  279. package/src/core/capability-manager.test.ts +151 -0
  280. package/src/core/capability-manager.ts +192 -0
  281. package/src/core/capability.ts +247 -0
  282. package/src/core/index.ts +6 -4
  283. package/src/core/plugin-manager.test.ts +1113 -0
  284. package/src/core/plugin-manager.ts +883 -0
  285. package/src/core/plugin.ts +261 -43
  286. package/src/core/url-loader.test.ts +112 -0
  287. package/src/core/url-loader.ts +178 -0
  288. package/src/helpers.test.ts +1 -1
  289. package/src/index.ts +3 -4
  290. package/src/plugin-operation/OperationPlugin.ts +24 -0
  291. package/src/plugin-operation/history/capability.ts +36 -0
  292. package/src/plugin-operation/history/errors.ts +7 -0
  293. package/src/plugin-operation/history/history-tracker.test.ts +373 -0
  294. package/src/plugin-operation/history/history-tracker.ts +128 -0
  295. package/src/plugin-operation/history/index.ts +9 -0
  296. package/src/plugin-operation/history/types.ts +17 -0
  297. package/src/plugin-operation/history/undo-mapping.ts +135 -0
  298. package/src/plugin-operation/history/undo-registry.test.ts +72 -0
  299. package/src/plugin-operation/history/undo-registry.ts +54 -0
  300. package/src/plugin-operation/index.ts +6 -0
  301. package/src/plugin-operation/invoker-capability.ts +54 -0
  302. package/src/plugin-operation/meta.ts +11 -0
  303. package/src/plugin-operation/testing.ts +154 -0
  304. package/src/plugin-runtime/RuntimePlugin.ts +19 -0
  305. package/src/plugin-runtime/capability.ts +53 -0
  306. package/src/{playground/debug → plugin-runtime}/index.ts +1 -1
  307. package/src/plugin-runtime/meta.ts +11 -0
  308. package/src/testing/harness.ts +229 -0
  309. package/src/testing/index.ts +2 -0
  310. package/src/testing/react.test.tsx +48 -0
  311. package/src/testing/react.tsx +113 -0
  312. package/src/testing/service.ts +52 -0
  313. package/src/testing/withPluginManager.stories.tsx +14 -11
  314. package/src/testing/withPluginManager.tsx +78 -54
  315. package/src/ui/components/App/App.stories.tsx +92 -0
  316. package/src/ui/components/App/App.tsx +58 -0
  317. package/src/{playground/logger → ui/components/App}/index.ts +1 -1
  318. package/src/ui/components/PluginManager/PluginManagerContext.stories.tsx +183 -0
  319. package/src/{react → ui/components/PluginManager}/PluginManagerProvider.ts +3 -3
  320. package/src/ui/components/PluginManager/index.ts +5 -0
  321. package/src/ui/components/Surface/SurfaceComponent.stories.tsx +144 -0
  322. package/src/ui/components/Surface/SurfaceComponent.tsx +303 -0
  323. package/src/ui/components/Surface/SurfaceInfo.tsx +107 -0
  324. package/src/ui/components/Surface/SurfaceProfilerContext.tsx +207 -0
  325. package/src/ui/components/Surface/context.ts +12 -0
  326. package/src/ui/components/Surface/index.ts +54 -0
  327. package/src/ui/components/Surface/types.test.ts +126 -0
  328. package/src/ui/components/Surface/types.ts +269 -0
  329. package/src/ui/components/index.ts +7 -0
  330. package/src/ui/hooks/index.ts +9 -0
  331. package/src/ui/hooks/useApp.test.tsx +159 -0
  332. package/src/ui/hooks/useApp.tsx +289 -0
  333. package/src/ui/hooks/useCapabilities.ts +67 -0
  334. package/src/ui/hooks/useLoading.tsx +68 -0
  335. package/src/ui/hooks/useSettingsState.ts +26 -0
  336. package/src/ui/hooks/useSurface.ts +13 -0
  337. package/src/ui/index.ts +6 -0
  338. package/src/vite-plugin/composer-plugin.ts +284 -0
  339. package/src/vite-plugin/import-map-plugin.ts +490 -0
  340. package/src/vite-plugin/index.ts +7 -0
  341. package/src/vite-plugin/manifest.test.ts +23 -0
  342. package/src/vite-plugin/manifest.ts +20 -0
  343. package/src/vite-plugin/packages.ts +181 -0
  344. package/tsconfig.json +15 -25
  345. package/tsconfig.node.json +2 -4
  346. package/typedoc.json +2 -4
  347. package/vitest.config.ts +8 -6
  348. package/.eslintrc.cjs +0 -9
  349. package/.swc/plugins/v7_linux_x86_64_13.0.0/f45bdff002284d9e8f9ef3f0be909de12da36c049cbcf261ac78fc00abb09a2d +0 -0
  350. package/.swc/plugins/v7_linux_x86_64_13.0.0/fce1bdb8e20a094e4af08bad09cc81497ed0e2e7c51223b07d371063cca18429 +0 -0
  351. package/dist/lib/browser/app-graph-builder-BGGXLD6T.mjs +0 -137
  352. package/dist/lib/browser/app-graph-builder-BGGXLD6T.mjs.map +0 -7
  353. package/dist/lib/browser/chunk-2636QSIK.mjs +0 -1518
  354. package/dist/lib/browser/chunk-2636QSIK.mjs.map +0 -7
  355. package/dist/lib/browser/chunk-DHZB7HG7.mjs +0 -413
  356. package/dist/lib/browser/chunk-DHZB7HG7.mjs.map +0 -7
  357. package/dist/lib/browser/chunk-ORWHM7CO.mjs +0 -32
  358. package/dist/lib/browser/chunk-ORWHM7CO.mjs.map +0 -7
  359. package/dist/lib/browser/intent-dispatcher-TWKB22NI.mjs +0 -11
  360. package/dist/lib/browser/intent-resolver-O67UANYP.mjs +0 -39
  361. package/dist/lib/browser/intent-resolver-O67UANYP.mjs.map +0 -7
  362. package/dist/lib/browser/store-LFKDWHUQ.mjs +0 -30
  363. package/dist/lib/browser/store-LFKDWHUQ.mjs.map +0 -7
  364. package/dist/lib/browser/worker.mjs +0 -79
  365. package/dist/lib/node-esm/app-graph-builder-QHIJUYYW.mjs +0 -138
  366. package/dist/lib/node-esm/app-graph-builder-QHIJUYYW.mjs.map +0 -7
  367. package/dist/lib/node-esm/chunk-NJAFK626.mjs +0 -414
  368. package/dist/lib/node-esm/chunk-NJAFK626.mjs.map +0 -7
  369. package/dist/lib/node-esm/chunk-UMZQERLE.mjs +0 -34
  370. package/dist/lib/node-esm/chunk-UMZQERLE.mjs.map +0 -7
  371. package/dist/lib/node-esm/chunk-VSKRV3NW.mjs +0 -1520
  372. package/dist/lib/node-esm/chunk-VSKRV3NW.mjs.map +0 -7
  373. package/dist/lib/node-esm/intent-dispatcher-5PRM3KGH.mjs +0 -12
  374. package/dist/lib/node-esm/intent-resolver-K3D4BXQQ.mjs +0 -40
  375. package/dist/lib/node-esm/intent-resolver-K3D4BXQQ.mjs.map +0 -7
  376. package/dist/lib/node-esm/store-53XDUBMD.mjs +0 -31
  377. package/dist/lib/node-esm/store-53XDUBMD.mjs.map +0 -7
  378. package/dist/lib/node-esm/worker.mjs +0 -80
  379. package/dist/types/src/App.d.ts +0 -43
  380. package/dist/types/src/App.d.ts.map +0 -1
  381. package/dist/types/src/common/collaboration.d.ts +0 -19
  382. package/dist/types/src/common/collaboration.d.ts.map +0 -1
  383. package/dist/types/src/common/events.d.ts +0 -52
  384. package/dist/types/src/common/events.d.ts.map +0 -1
  385. package/dist/types/src/common/file.d.ts +0 -14
  386. package/dist/types/src/common/file.d.ts.map +0 -1
  387. package/dist/types/src/common/graph.d.ts +0 -21
  388. package/dist/types/src/common/graph.d.ts.map +0 -1
  389. package/dist/types/src/common/layout.d.ts +0 -281
  390. package/dist/types/src/common/layout.d.ts.map +0 -1
  391. package/dist/types/src/common/surface.d.ts +0 -65
  392. package/dist/types/src/common/surface.d.ts.map +0 -1
  393. package/dist/types/src/core/capabilities.d.ts +0 -114
  394. package/dist/types/src/core/capabilities.d.ts.map +0 -1
  395. package/dist/types/src/core/capabilities.test.d.ts +0 -2
  396. package/dist/types/src/core/capabilities.test.d.ts.map +0 -1
  397. package/dist/types/src/core/events.d.ts.map +0 -1
  398. package/dist/types/src/core/manager.d.ts +0 -122
  399. package/dist/types/src/core/manager.d.ts.map +0 -1
  400. package/dist/types/src/core/manager.test.d.ts +0 -2
  401. package/dist/types/src/core/manager.test.d.ts.map +0 -1
  402. package/dist/types/src/playground/debug/Debug.d.ts +0 -6
  403. package/dist/types/src/playground/debug/Debug.d.ts.map +0 -1
  404. package/dist/types/src/playground/debug/index.d.ts +0 -2
  405. package/dist/types/src/playground/debug/index.d.ts.map +0 -1
  406. package/dist/types/src/playground/debug/plugin.d.ts +0 -2
  407. package/dist/types/src/playground/debug/plugin.d.ts.map +0 -1
  408. package/dist/types/src/playground/generator/Main.d.ts +0 -6
  409. package/dist/types/src/playground/generator/Main.d.ts.map +0 -1
  410. package/dist/types/src/playground/generator/Toolbar.d.ts +0 -6
  411. package/dist/types/src/playground/generator/Toolbar.d.ts.map +0 -1
  412. package/dist/types/src/playground/generator/generator.d.ts +0 -7
  413. package/dist/types/src/playground/generator/generator.d.ts.map +0 -1
  414. package/dist/types/src/playground/generator/index.d.ts +0 -3
  415. package/dist/types/src/playground/generator/index.d.ts.map +0 -1
  416. package/dist/types/src/playground/generator/plugin.d.ts +0 -2
  417. package/dist/types/src/playground/generator/plugin.d.ts.map +0 -1
  418. package/dist/types/src/playground/layout/Layout.d.ts +0 -8
  419. package/dist/types/src/playground/layout/Layout.d.ts.map +0 -1
  420. package/dist/types/src/playground/layout/index.d.ts +0 -2
  421. package/dist/types/src/playground/layout/index.d.ts.map +0 -1
  422. package/dist/types/src/playground/layout/plugin.d.ts +0 -2
  423. package/dist/types/src/playground/layout/plugin.d.ts.map +0 -1
  424. package/dist/types/src/playground/logger/Toolbar.d.ts +0 -6
  425. package/dist/types/src/playground/logger/Toolbar.d.ts.map +0 -1
  426. package/dist/types/src/playground/logger/index.d.ts +0 -2
  427. package/dist/types/src/playground/logger/index.d.ts.map +0 -1
  428. package/dist/types/src/playground/logger/plugin.d.ts +0 -2
  429. package/dist/types/src/playground/logger/plugin.d.ts.map +0 -1
  430. package/dist/types/src/playground/logger/schema.d.ts +0 -13
  431. package/dist/types/src/playground/logger/schema.d.ts.map +0 -1
  432. package/dist/types/src/playground/playground.stories.d.ts +0 -10
  433. package/dist/types/src/playground/playground.stories.d.ts.map +0 -1
  434. package/dist/types/src/plugin-intent/IntentPlugin.d.ts +0 -2
  435. package/dist/types/src/plugin-intent/IntentPlugin.d.ts.map +0 -1
  436. package/dist/types/src/plugin-intent/actions.d.ts +0 -38
  437. package/dist/types/src/plugin-intent/actions.d.ts.map +0 -1
  438. package/dist/types/src/plugin-intent/errors.d.ts +0 -16
  439. package/dist/types/src/plugin-intent/errors.d.ts.map +0 -1
  440. package/dist/types/src/plugin-intent/index.d.ts +0 -5
  441. package/dist/types/src/plugin-intent/index.d.ts.map +0 -1
  442. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts +0 -139
  443. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts.map +0 -1
  444. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts +0 -2
  445. package/dist/types/src/plugin-intent/intent-dispatcher.test.d.ts.map +0 -1
  446. package/dist/types/src/plugin-intent/intent.d.ts +0 -63
  447. package/dist/types/src/plugin-intent/intent.d.ts.map +0 -1
  448. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts +0 -2
  449. package/dist/types/src/plugin-settings/SettingsPlugin.d.ts.map +0 -1
  450. package/dist/types/src/plugin-settings/actions.d.ts +0 -27
  451. package/dist/types/src/plugin-settings/actions.d.ts.map +0 -1
  452. package/dist/types/src/plugin-settings/app-graph-builder.d.ts +0 -4
  453. package/dist/types/src/plugin-settings/app-graph-builder.d.ts.map +0 -1
  454. package/dist/types/src/plugin-settings/index.d.ts +0 -3
  455. package/dist/types/src/plugin-settings/index.d.ts.map +0 -1
  456. package/dist/types/src/plugin-settings/intent-resolver.d.ts +0 -4
  457. package/dist/types/src/plugin-settings/intent-resolver.d.ts.map +0 -1
  458. package/dist/types/src/plugin-settings/store.d.ts +0 -5
  459. package/dist/types/src/plugin-settings/store.d.ts.map +0 -1
  460. package/dist/types/src/plugin-settings/translations.d.ts +0 -10
  461. package/dist/types/src/plugin-settings/translations.d.ts.map +0 -1
  462. package/dist/types/src/react/ErrorBoundary.d.ts +0 -31
  463. package/dist/types/src/react/ErrorBoundary.d.ts.map +0 -1
  464. package/dist/types/src/react/IntentContext.d.ts +0 -8
  465. package/dist/types/src/react/IntentContext.d.ts.map +0 -1
  466. package/dist/types/src/react/PluginManagerProvider.d.ts +0 -10
  467. package/dist/types/src/react/PluginManagerProvider.d.ts.map +0 -1
  468. package/dist/types/src/react/Surface.d.ts +0 -12
  469. package/dist/types/src/react/Surface.d.ts.map +0 -1
  470. package/dist/types/src/react/Surface.stories.d.ts +0 -16
  471. package/dist/types/src/react/Surface.stories.d.ts.map +0 -1
  472. package/dist/types/src/react/common.d.ts +0 -13
  473. package/dist/types/src/react/common.d.ts.map +0 -1
  474. package/dist/types/src/react/index.d.ts +0 -7
  475. package/dist/types/src/react/index.d.ts.map +0 -1
  476. package/dist/types/src/react/useCapabilities.d.ts +0 -13
  477. package/dist/types/src/react/useCapabilities.d.ts.map +0 -1
  478. package/dist/types/src/react/useIntentResolver.d.ts +0 -3
  479. package/dist/types/src/react/useIntentResolver.d.ts.map +0 -1
  480. package/dist/types/src/worker.d.ts +0 -4
  481. package/dist/types/src/worker.d.ts.map +0 -1
  482. package/src/App.tsx +0 -276
  483. package/src/common/collaboration.ts +0 -21
  484. package/src/common/events.ts +0 -77
  485. package/src/common/file.ts +0 -22
  486. package/src/common/graph.ts +0 -30
  487. package/src/common/layout.ts +0 -278
  488. package/src/common/surface.ts +0 -86
  489. package/src/core/capabilities.test.ts +0 -136
  490. package/src/core/capabilities.ts +0 -254
  491. package/src/core/manager.test.ts +0 -515
  492. package/src/core/manager.ts +0 -519
  493. package/src/playground/debug/Debug.tsx +0 -39
  494. package/src/playground/debug/plugin.ts +0 -17
  495. package/src/playground/generator/Main.tsx +0 -71
  496. package/src/playground/generator/Toolbar.tsx +0 -46
  497. package/src/playground/generator/generator.ts +0 -48
  498. package/src/playground/generator/index.ts +0 -6
  499. package/src/playground/generator/plugin.ts +0 -23
  500. package/src/playground/layout/Layout.tsx +0 -33
  501. package/src/playground/layout/plugin.ts +0 -17
  502. package/src/playground/logger/Toolbar.tsx +0 -29
  503. package/src/playground/logger/plugin.ts +0 -36
  504. package/src/playground/logger/schema.ts +0 -12
  505. package/src/playground/playground.stories.tsx +0 -42
  506. package/src/plugin-intent/IntentPlugin.ts +0 -20
  507. package/src/plugin-intent/actions.ts +0 -33
  508. package/src/plugin-intent/errors.ts +0 -39
  509. package/src/plugin-intent/index.ts +0 -8
  510. package/src/plugin-intent/intent-dispatcher.test.ts +0 -279
  511. package/src/plugin-intent/intent-dispatcher.ts +0 -333
  512. package/src/plugin-intent/intent.ts +0 -154
  513. package/src/plugin-settings/SettingsPlugin.ts +0 -35
  514. package/src/plugin-settings/actions.ts +0 -29
  515. package/src/plugin-settings/app-graph-builder.ts +0 -157
  516. package/src/plugin-settings/index.ts +0 -6
  517. package/src/plugin-settings/intent-resolver.ts +0 -34
  518. package/src/plugin-settings/store.ts +0 -33
  519. package/src/plugin-settings/translations.ts +0 -19
  520. package/src/react/ErrorBoundary.tsx +0 -45
  521. package/src/react/IntentContext.tsx +0 -34
  522. package/src/react/Surface.stories.tsx +0 -96
  523. package/src/react/Surface.tsx +0 -77
  524. package/src/react/common.ts +0 -12
  525. package/src/react/index.ts +0 -10
  526. package/src/react/useCapabilities.ts +0 -30
  527. package/src/react/useIntentResolver.ts +0 -22
  528. package/src/worker.ts +0 -11
  529. package/typedoc/.nojekyll +0 -1
  530. package/typedoc/assets/hierarchy.js +0 -1
  531. package/typedoc/assets/highlight.css +0 -106
  532. package/typedoc/assets/icons.js +0 -18
  533. package/typedoc/assets/icons.svg +0 -1
  534. package/typedoc/assets/main.js +0 -60
  535. package/typedoc/assets/navigation.js +0 -1
  536. package/typedoc/assets/search.js +0 -1
  537. package/typedoc/assets/style.css +0 -1640
  538. package/typedoc/classes/CollaborationActions.InsertContent.html +0 -421
  539. package/typedoc/classes/ErrorBoundary.html +0 -125
  540. package/typedoc/classes/IntentAction.ShowUndo.html +0 -227
  541. package/typedoc/classes/IntentAction.Track.html +0 -266
  542. package/typedoc/classes/LayoutAction.AddToast.html +0 -265
  543. package/typedoc/classes/LayoutAction.Close.html +0 -382
  544. package/typedoc/classes/LayoutAction.Expose.html +0 -265
  545. package/typedoc/classes/LayoutAction.Open.html +0 -1123
  546. package/typedoc/classes/LayoutAction.RevertWorkspace.html +0 -343
  547. package/typedoc/classes/LayoutAction.ScrollIntoView.html +0 -460
  548. package/typedoc/classes/LayoutAction.Set.html +0 -460
  549. package/typedoc/classes/LayoutAction.SetLayoutMode.html +0 -499
  550. package/typedoc/classes/LayoutAction.SwitchWorkspace.html +0 -265
  551. package/typedoc/classes/LayoutAction.UpdateComplementary.html +0 -616
  552. package/typedoc/classes/LayoutAction.UpdateDialog.html +0 -1123
  553. package/typedoc/classes/LayoutAction.UpdateLayout.html +0 -461
  554. package/typedoc/classes/LayoutAction.UpdatePopover.html +0 -1435
  555. package/typedoc/classes/LayoutAction.UpdateSidebar.html +0 -616
  556. package/typedoc/classes/Plugin.html +0 -6
  557. package/typedoc/classes/PluginContext.html +0 -38
  558. package/typedoc/classes/PluginManager.html +0 -43
  559. package/typedoc/classes/PluginModule.html +0 -18
  560. package/typedoc/classes/SettingsAction.Open.html +0 -226
  561. package/typedoc/classes/SettingsAction.OpenPluginRegistry.html +0 -265
  562. package/typedoc/functions/Events.createStateEvent.html +0 -2
  563. package/typedoc/functions/IntentPlugin.html +0 -1
  564. package/typedoc/functions/SettingsPlugin.html +0 -1
  565. package/typedoc/functions/allOf.html +0 -2
  566. package/typedoc/functions/chain.html +0 -3
  567. package/typedoc/functions/contributes.html +0 -2
  568. package/typedoc/functions/createDispatcher.html +0 -3
  569. package/typedoc/functions/createIntent.html +0 -6
  570. package/typedoc/functions/createResolver.html +0 -2
  571. package/typedoc/functions/createSurface.html +0 -2
  572. package/typedoc/functions/defineCapability.html +0 -2
  573. package/typedoc/functions/defineEvent.html +0 -2
  574. package/typedoc/functions/defineModule.html +0 -2
  575. package/typedoc/functions/definePlugin.html +0 -2
  576. package/typedoc/functions/eventKey.html +0 -2
  577. package/typedoc/functions/getEvents.html +0 -2
  578. package/typedoc/functions/isAllOf.html +0 -2
  579. package/typedoc/functions/isOneOf.html +0 -2
  580. package/typedoc/functions/isSurfaceAvailable.html +0 -2
  581. package/typedoc/functions/lazy.html +0 -2
  582. package/typedoc/functions/oneOf.html +0 -2
  583. package/typedoc/functions/useApp.html +0 -6
  584. package/typedoc/functions/useAppGraph.html +0 -1
  585. package/typedoc/functions/useCapabilities.html +0 -3
  586. package/typedoc/functions/useCapability.html +0 -4
  587. package/typedoc/functions/useIntentDispatcher.html +0 -1
  588. package/typedoc/functions/useIntentResolver.html +0 -1
  589. package/typedoc/functions/useLayout.html +0 -1
  590. package/typedoc/functions/usePluginManager.html +0 -2
  591. package/typedoc/hierarchy.html +0 -1
  592. package/typedoc/index.html +0 -12
  593. package/typedoc/interfaces/LayoutAction.Toast.html +0 -10
  594. package/typedoc/media/LICENSE +0 -8
  595. package/typedoc/modules/Capabilities.html +0 -1
  596. package/typedoc/modules/CollaborationActions.html +0 -1
  597. package/typedoc/modules/Events.html +0 -1
  598. package/typedoc/modules/IntentAction.html +0 -1
  599. package/typedoc/modules/LayoutAction.html +0 -2
  600. package/typedoc/modules/SettingsAction.html +0 -1
  601. package/typedoc/modules.html +0 -1
  602. package/typedoc/types/ActivationEvent.html +0 -8
  603. package/typedoc/types/ActivationEvents.html +0 -2
  604. package/typedoc/types/AnyCapability.html +0 -1
  605. package/typedoc/types/AnyIntent.html +0 -1
  606. package/typedoc/types/AnyIntentChain.html +0 -1
  607. package/typedoc/types/AnyIntentEffectResult.html +0 -1
  608. package/typedoc/types/AnyIntentResolver.html +0 -1
  609. package/typedoc/types/AnyIntentResult.html +0 -1
  610. package/typedoc/types/Capabilities.FileUploader.html +0 -1
  611. package/typedoc/types/Capabilities.IntentResolver.html +0 -1
  612. package/typedoc/types/Capabilities.Layout.html +0 -1
  613. package/typedoc/types/Capabilities.Metadata.html +0 -1
  614. package/typedoc/types/Capabilities.ReactContext.html +0 -1
  615. package/typedoc/types/Capabilities.ReactRoot.html +0 -1
  616. package/typedoc/types/Capabilities.ReactSurface.html +0 -1
  617. package/typedoc/types/Capabilities.Settings.html +0 -4
  618. package/typedoc/types/Capability.html +0 -9
  619. package/typedoc/types/CreateAppOptions.html +0 -10
  620. package/typedoc/types/FileInfo.html +0 -1
  621. package/typedoc/types/Intent.html +0 -10
  622. package/typedoc/types/IntentChain.html +0 -6
  623. package/typedoc/types/IntentContext.html +0 -5
  624. package/typedoc/types/IntentData.html +0 -1
  625. package/typedoc/types/IntentDispatcher.html +0 -2
  626. package/typedoc/types/IntentDispatcherResult.html +0 -2
  627. package/typedoc/types/IntentEffectDefinition.html +0 -2
  628. package/typedoc/types/IntentEffectResult.html +0 -15
  629. package/typedoc/types/IntentParams.html +0 -3
  630. package/typedoc/types/IntentResolver.html +0 -2
  631. package/typedoc/types/IntentResultData.html +0 -1
  632. package/typedoc/types/IntentSchema.html +0 -1
  633. package/typedoc/types/IntentUndo.html +0 -2
  634. package/typedoc/types/InterfaceDef.html +0 -4
  635. package/typedoc/types/Label.html +0 -1
  636. package/typedoc/types/NodeSerializer.html +0 -8
  637. package/typedoc/types/PluginManagerOptions.html +0 -6
  638. package/typedoc/types/PluginMeta.html +0 -21
  639. package/typedoc/types/PromiseIntentDispatcher.html +0 -2
  640. package/typedoc/types/PromiseIntentUndo.html +0 -2
  641. package/typedoc/types/Resource.html +0 -1
  642. package/typedoc/types/ResourceKey.html +0 -1
  643. package/typedoc/types/ResourceLanguage.html +0 -1
  644. package/typedoc/types/SerializedNode.html +0 -4
  645. package/typedoc/types/SurfaceComponent.html +0 -2
  646. package/typedoc/types/SurfaceDefinition.html +0 -2
  647. package/typedoc/types/SurfaceProps.html +0 -4
  648. package/typedoc/variables/Capabilities.AnchorSort.html +0 -1
  649. package/typedoc/variables/Capabilities.AppGraph.html +0 -1
  650. package/typedoc/variables/Capabilities.AppGraphBuilder.html +0 -1
  651. package/typedoc/variables/Capabilities.AppGraphSerializer.html +0 -1
  652. package/typedoc/variables/Capabilities.ArtifactDefinition.html +0 -1
  653. package/typedoc/variables/Capabilities.FileUploader.html +0 -1
  654. package/typedoc/variables/Capabilities.IntentDispatcher.html +0 -1
  655. package/typedoc/variables/Capabilities.IntentResolver.html +0 -1
  656. package/typedoc/variables/Capabilities.Layout.html +0 -1
  657. package/typedoc/variables/Capabilities.Metadata.html +0 -1
  658. package/typedoc/variables/Capabilities.Null.html +0 -1
  659. package/typedoc/variables/Capabilities.PluginManager.html +0 -1
  660. package/typedoc/variables/Capabilities.ReactContext.html +0 -1
  661. package/typedoc/variables/Capabilities.ReactRoot.html +0 -1
  662. package/typedoc/variables/Capabilities.ReactSurface.html +0 -1
  663. package/typedoc/variables/Capabilities.RxRegistry.html +0 -1
  664. package/typedoc/variables/Capabilities.Settings.html +0 -1
  665. package/typedoc/variables/Capabilities.SettingsStore.html +0 -1
  666. package/typedoc/variables/Capabilities.Tools.html +0 -1
  667. package/typedoc/variables/Capabilities.Translations.html +0 -1
  668. package/typedoc/variables/Events.AppGraphReady.html +0 -2
  669. package/typedoc/variables/Events.DispatcherReady.html +0 -2
  670. package/typedoc/variables/Events.LayoutReady.html +0 -1
  671. package/typedoc/variables/Events.SettingsReady.html +0 -2
  672. package/typedoc/variables/Events.SetupAppGraph.html +0 -2
  673. package/typedoc/variables/Events.SetupArtifactDefinition.html +0 -2
  674. package/typedoc/variables/Events.SetupIntentResolver.html +0 -2
  675. package/typedoc/variables/Events.SetupMetadata.html +0 -2
  676. package/typedoc/variables/Events.SetupReactSurface.html +0 -2
  677. package/typedoc/variables/Events.SetupSettings.html +0 -2
  678. package/typedoc/variables/Events.SetupTranslations.html +0 -2
  679. package/typedoc/variables/Events.Startup.html +0 -2
  680. package/typedoc/variables/FileInfoSchema.html +0 -1
  681. package/typedoc/variables/INTENT_ACTION.html +0 -1
  682. package/typedoc/variables/INTENT_PLUGIN.html +0 -1
  683. package/typedoc/variables/LAYOUT_ACTION.html +0 -1
  684. package/typedoc/variables/LAYOUT_PLUGIN.html +0 -1
  685. package/typedoc/variables/Label.html +0 -1
  686. package/typedoc/variables/LayoutAction.Toast.html +0 -1
  687. package/typedoc/variables/LayoutAction.UPDATE_LAYOUT.html +0 -1
  688. package/typedoc/variables/PluginManagerProvider.html +0 -2
  689. package/typedoc/variables/Resource.html +0 -2
  690. package/typedoc/variables/ResourceKey.html +0 -1
  691. package/typedoc/variables/ResourceLanguage.html +0 -1
  692. package/typedoc/variables/SETTINGS_ACTION.html +0 -1
  693. package/typedoc/variables/SETTINGS_ID.html +0 -1
  694. package/typedoc/variables/SETTINGS_KEY.html +0 -1
  695. package/typedoc/variables/SETTINGS_PLUGIN.html +0 -1
  696. package/typedoc/variables/Surface.html +0 -2
  697. package/typedoc/variables/defaultFileTypes.html +0 -1
  698. /package/dist/lib/browser/{intent-dispatcher-TWKB22NI.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  699. /package/dist/lib/browser/{worker.mjs.map → chunk-RFSO3JRG.mjs.map} +0 -0
  700. /package/dist/lib/{node-esm/intent-dispatcher-5PRM3KGH.mjs.map → browser/common/activation-events.mjs.map} +0 -0
  701. /package/dist/lib/{node-esm/worker.mjs.map → browser/common/capabilities.mjs.map} +0 -0
@@ -1,1520 +0,0 @@
1
- import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
-
3
- // src/plugin-intent/intent-dispatcher.ts
4
- import { Effect as Effect3, Option, pipe as pipe2, Ref as Ref2 } from "effect";
5
- import { live as live2 } from "@dxos/live-object";
6
- import { log as log3 } from "@dxos/log";
7
- import { byPosition } from "@dxos/util";
8
-
9
- // src/plugin-intent/actions.ts
10
- import { Schema as Schema2 } from "effect";
11
-
12
- // src/plugin-intent/intent.ts
13
- import { Schema } from "effect";
14
- var createIntent = (schema, data = {}, params = {}) => {
15
- const _ = Schema.validateSync(schema.fields.input)(data);
16
- const intent = {
17
- ...params,
18
- _schema: schema,
19
- id: schema._tag,
20
- data
21
- };
22
- return {
23
- first: intent,
24
- last: intent,
25
- all: [
26
- intent
27
- ]
28
- };
29
- };
30
- var chain = (schema, data = {}, params = {}) => (intent) => {
31
- const intents = "all" in intent ? intent.all : [
32
- intent
33
- ];
34
- const first = intents[0];
35
- const last = {
36
- ...params,
37
- _schema: schema,
38
- id: schema._tag,
39
- data
40
- };
41
- return {
42
- first,
43
- last,
44
- all: [
45
- ...intents,
46
- last
47
- ]
48
- };
49
- };
50
- var Label = Schema.Union(Schema.String, Schema.mutable(Schema.Tuple(Schema.String, Schema.mutable(Schema.Struct({
51
- ns: Schema.String,
52
- count: Schema.optional(Schema.Number),
53
- defaultValue: Schema.optional(Schema.String)
54
- })))));
55
-
56
- // src/plugin-intent/actions.ts
57
- var INTENT_PLUGIN = "dxos.org/plugin/intent";
58
- var INTENT_ACTION = `${INTENT_PLUGIN}/action`;
59
- (function(IntentAction2) {
60
- class Track extends Schema2.TaggedClass()(`${INTENT_ACTION}/track`, {
61
- input: Schema2.Struct({
62
- intents: Schema2.Array(Schema2.String),
63
- error: Schema2.optional(Schema2.String)
64
- }),
65
- output: Schema2.Void
66
- }) {
67
- }
68
- IntentAction2.Track = Track;
69
- class ShowUndo extends Schema2.TaggedClass()(`${INTENT_ACTION}/show-undo`, {
70
- input: Schema2.Struct({
71
- message: Label
72
- }),
73
- output: Schema2.Void
74
- }) {
75
- }
76
- IntentAction2.ShowUndo = ShowUndo;
77
- })(IntentAction || (IntentAction = {}));
78
- var IntentAction;
79
-
80
- // src/plugin-intent/errors.ts
81
- var BaseError = class extends Error {
82
- constructor(code, message, context) {
83
- super(message ?? code, {
84
- cause: context
85
- }), this.code = code, this.context = context;
86
- this.name = code;
87
- Object.setPrototypeOf(this, new.target.prototype);
88
- }
89
- };
90
- var NoResolversError = class extends BaseError {
91
- constructor(action) {
92
- super("NO_RESOLVERS", "No resolvers were found for the action", {
93
- action
94
- });
95
- }
96
- };
97
- var CycleDetectedError = class extends BaseError {
98
- constructor(context) {
99
- super("CYCLE_DETECTED", "Intent execution limit exceeded. This is likely due to an infinite loop within intent resolvers.", context);
100
- }
101
- };
102
-
103
- // src/core/capabilities.ts
104
- import { Rx } from "@effect-rx/rx-react";
105
- import { Effect } from "effect";
106
- import { Trigger } from "@dxos/async";
107
- import { invariant } from "@dxos/invariant";
108
- import { log } from "@dxos/log";
109
- var __dxlog_file = "/__w/dxos/dxos/packages/sdk/app-framework/src/core/capabilities.ts";
110
- var InterfaceDefTypeId = Symbol.for("InterfaceDefTypeId");
111
- var defineCapability = (identifier) => {
112
- return {
113
- identifier
114
- };
115
- };
116
- var CapabilityImpl = class {
117
- constructor(moduleId, implementation) {
118
- this.moduleId = moduleId;
119
- this.implementation = implementation;
120
- }
121
- };
122
- var contributes = (interfaceDef, implementation, deactivate) => {
123
- return {
124
- interface: interfaceDef,
125
- implementation,
126
- deactivate
127
- };
128
- };
129
- var lazy = (c) => async (props) => {
130
- const { default: getCapability } = await c();
131
- return async () => getCapability(props);
132
- };
133
- var PluginContext = class {
134
- constructor({ registry, activate, reset }) {
135
- this._capabilityImpls = Rx.family(() => {
136
- return Rx.make([]).pipe(Rx.keepAlive);
137
- });
138
- this._capabilities = Rx.family((id) => {
139
- return Rx.make((get) => {
140
- const current = get(this._capabilityImpls(id));
141
- return current.map((c) => c.implementation);
142
- });
143
- });
144
- this._capability = Rx.family((id) => {
145
- return Rx.make((get) => {
146
- const current = get(this._capabilities(id));
147
- invariant(current.length > 0, `No capability found for ${id}`, {
148
- F: __dxlog_file,
149
- L: 117,
150
- S: this,
151
- A: [
152
- "current.length > 0",
153
- "`No capability found for ${id}`"
154
- ]
155
- });
156
- return current[0];
157
- });
158
- });
159
- this._registry = registry;
160
- this.activate = activate;
161
- this.reset = reset;
162
- }
163
- /**
164
- * @internal
165
- */
166
- contributeCapability({ module: moduleId, interface: interfaceDef, implementation }) {
167
- const current = this._registry.get(this._capabilityImpls(interfaceDef.identifier));
168
- const capability = new CapabilityImpl(moduleId, implementation);
169
- if (current.includes(capability)) {
170
- return;
171
- }
172
- this._registry.set(this._capabilityImpls(interfaceDef.identifier), [
173
- ...current,
174
- capability
175
- ]);
176
- log("capability contributed", {
177
- id: interfaceDef.identifier,
178
- moduleId,
179
- count: current.length
180
- }, {
181
- F: __dxlog_file,
182
- L: 161,
183
- S: this,
184
- C: (f, a) => f(...a)
185
- });
186
- }
187
- /**
188
- * @internal
189
- */
190
- removeCapability(interfaceDef, implementation) {
191
- const current = this._registry.get(this._capabilityImpls(interfaceDef.identifier));
192
- if (current.length === 0) {
193
- return;
194
- }
195
- const next = current.filter((c) => c.implementation !== implementation);
196
- if (next.length !== current.length) {
197
- this._registry.set(this._capabilityImpls(interfaceDef.identifier), next);
198
- log("capability removed", {
199
- id: interfaceDef.identifier,
200
- count: current.length
201
- }, {
202
- F: __dxlog_file,
203
- L: 180,
204
- S: this,
205
- C: (f, a) => f(...a)
206
- });
207
- } else {
208
- log.warn("capability not removed", {
209
- id: interfaceDef.identifier
210
- }, {
211
- F: __dxlog_file,
212
- L: 182,
213
- S: this,
214
- C: (f, a) => f(...a)
215
- });
216
- }
217
- }
218
- /**
219
- * Get the Rx reference to the available capabilities for a given interface.
220
- * Primarily useful for deriving other Rx values based on the capabilities or
221
- * for subscribing to changes in the capabilities.
222
- * @returns An Rx reference to the available capabilities.
223
- */
224
- capabilities(interfaceDef) {
225
- return this._capabilities(interfaceDef.identifier);
226
- }
227
- /**
228
- * Get the Rx reference to the available capabilities for a given interface.
229
- * Primarily useful for deriving other Rx values based on the capability or
230
- * for subscribing to changes in the capability.
231
- * @returns An Rx reference to the available capability.
232
- * @throws If no capability is found.
233
- */
234
- capability(interfaceDef) {
235
- return this._capability(interfaceDef.identifier);
236
- }
237
- /**
238
- * Get capabilities from the plugin context.
239
- * @returns An array of capabilities.
240
- */
241
- getCapabilities(interfaceDef) {
242
- return this._registry.get(this.capabilities(interfaceDef));
243
- }
244
- /**
245
- * Requests a single capability from the plugin context.
246
- * @returns The capability.
247
- * @throws If no capability is found.
248
- */
249
- getCapability(interfaceDef) {
250
- return this._registry.get(this.capability(interfaceDef));
251
- }
252
- /**
253
- * Waits for a capability to be available.
254
- * @returns The capability.
255
- */
256
- async waitForCapability(interfaceDef) {
257
- const [capability] = this.getCapabilities(interfaceDef);
258
- if (capability) {
259
- return capability;
260
- }
261
- const trigger = new Trigger();
262
- const cancel = this._registry.subscribe(this.capabilities(interfaceDef), (capabilities) => {
263
- if (capabilities.length > 0) {
264
- trigger.wake(capabilities[0]);
265
- }
266
- });
267
- const result = await trigger.wait();
268
- cancel();
269
- return result;
270
- }
271
- async activatePromise(event) {
272
- return this.activate(event).pipe(Effect.runPromise);
273
- }
274
- async resetPromise(event) {
275
- return this.reset(event).pipe(Effect.runPromise);
276
- }
277
- };
278
-
279
- // src/core/events.ts
280
- var defineEvent = (id, specifier) => {
281
- return {
282
- id,
283
- specifier
284
- };
285
- };
286
- var eventKey = (event) => event.specifier ? `${event.id}:${event.specifier}` : event.id;
287
- var oneOf = (...events) => ({
288
- type: "one-of",
289
- events
290
- });
291
- var allOf = (...events) => ({
292
- type: "all-of",
293
- events
294
- });
295
- var isOneOf = (events) => "type" in events && events.type === "one-of";
296
- var isAllOf = (events) => "type" in events && events.type === "all-of";
297
- var getEvents = (events) => "type" in events ? events.events : [
298
- events
299
- ];
300
-
301
- // src/core/manager.ts
302
- import { Registry } from "@effect-rx/rx-react";
303
- import { untracked } from "@preact/signals-core";
304
- import { Array as A, Effect as Effect2, Either, Match, pipe } from "effect";
305
- import { Event } from "@dxos/async";
306
- import { live } from "@dxos/live-object";
307
- import { log as log2 } from "@dxos/log";
308
- var __dxlog_file2 = "/__w/dxos/dxos/packages/sdk/app-framework/src/core/manager.ts";
309
- var isPromise = (value) => {
310
- return value !== null && typeof value === "object" && "then" in value;
311
- };
312
- var PluginManager = class {
313
- constructor({ pluginLoader, plugins = [], core = plugins.map(({ meta }) => meta.id), enabled = [], registry }) {
314
- this.activation = new Event();
315
- this._capabilities = /* @__PURE__ */ new Map();
316
- this.registry = registry ?? Registry.make();
317
- this.context = new PluginContext({
318
- registry: this.registry,
319
- activate: (event) => this._activate(event),
320
- reset: (id) => this._reset(id)
321
- });
322
- this._pluginLoader = pluginLoader;
323
- this._state = live({
324
- plugins,
325
- core,
326
- enabled,
327
- modules: [],
328
- active: [],
329
- pendingReset: [],
330
- eventsFired: []
331
- });
332
- plugins.forEach((plugin) => this._addPlugin(plugin));
333
- core.forEach((id) => this.enable(id));
334
- enabled.forEach((id) => this.enable(id));
335
- }
336
- /**
337
- * Plugins that are currently registered.
338
- *
339
- * @reactive
340
- */
341
- get plugins() {
342
- return this._state.plugins;
343
- }
344
- /**
345
- * Ids of plugins that are core and cannot be removed.
346
- *
347
- * @reactive
348
- */
349
- get core() {
350
- return this._state.core;
351
- }
352
- /**
353
- * Ids of plugins that are currently enabled.
354
- *
355
- * @reactive
356
- */
357
- get enabled() {
358
- return this._state.enabled;
359
- }
360
- /**
361
- * Modules of plugins which are currently enabled.
362
- *
363
- * @reactive
364
- */
365
- get modules() {
366
- return this._state.modules;
367
- }
368
- /**
369
- * Ids of modules which are currently active.
370
- *
371
- * @reactive
372
- */
373
- get active() {
374
- return this._state.active;
375
- }
376
- /**
377
- * Ids of events which have been fired.
378
- *
379
- * @reactive
380
- */
381
- get eventsFired() {
382
- return this._state.eventsFired;
383
- }
384
- /**
385
- * Ids of modules which are pending reset.
386
- *
387
- * @reactive
388
- */
389
- get pendingReset() {
390
- return this._state.pendingReset;
391
- }
392
- /**
393
- * Adds a plugin to the manager via the plugin loader.
394
- * @param id The id of the plugin.
395
- */
396
- async add(id) {
397
- return untracked(async () => {
398
- log2("add plugin", {
399
- id
400
- }, {
401
- F: __dxlog_file2,
402
- L: 154,
403
- S: this,
404
- C: (f, a) => f(...a)
405
- });
406
- const plugin = await this._pluginLoader(id);
407
- this._addPlugin(plugin);
408
- return this.enable(id);
409
- });
410
- }
411
- /**
412
- * Enables a plugin.
413
- * @param id The id of the plugin.
414
- */
415
- enable(id) {
416
- return untracked(async () => {
417
- log2("enable plugin", {
418
- id
419
- }, {
420
- F: __dxlog_file2,
421
- L: 167,
422
- S: this,
423
- C: (f, a) => f(...a)
424
- });
425
- const plugin = this._getPlugin(id);
426
- if (!plugin) {
427
- return false;
428
- }
429
- if (!this._state.enabled.includes(id)) {
430
- this._state.enabled.push(id);
431
- }
432
- plugin.modules.forEach((module) => {
433
- this._addModule(module);
434
- this._setPendingResetByModule(module);
435
- });
436
- log2("pending reset", {
437
- events: [
438
- ...this.pendingReset
439
- ]
440
- }, {
441
- F: __dxlog_file2,
442
- L: 182,
443
- S: this,
444
- C: (f, a) => f(...a)
445
- });
446
- await Effect2.runPromise(Effect2.all(this.pendingReset.map((event) => this._activate(event)), {
447
- concurrency: "unbounded"
448
- }));
449
- return true;
450
- });
451
- }
452
- /**
453
- * Removes a plugin from the manager.
454
- * @param id The id of the plugin.
455
- */
456
- remove(id) {
457
- return untracked(() => {
458
- log2("remove plugin", {
459
- id
460
- }, {
461
- F: __dxlog_file2,
462
- L: 200,
463
- S: this,
464
- C: (f, a) => f(...a)
465
- });
466
- const result = this.disable(id);
467
- if (!result) {
468
- return false;
469
- }
470
- this._removePlugin(id);
471
- return true;
472
- });
473
- }
474
- /**
475
- * Disables a plugin.
476
- * @param id The id of the plugin.
477
- */
478
- disable(id) {
479
- return untracked(async () => {
480
- log2("disable plugin", {
481
- id
482
- }, {
483
- F: __dxlog_file2,
484
- L: 217,
485
- S: this,
486
- C: (f, a) => f(...a)
487
- });
488
- if (this._state.core.includes(id)) {
489
- return false;
490
- }
491
- const plugin = this._getPlugin(id);
492
- if (!plugin) {
493
- return false;
494
- }
495
- const enabledIndex = this._state.enabled.findIndex((enabled) => enabled === id);
496
- if (enabledIndex !== -1) {
497
- this._state.enabled.splice(enabledIndex, 1);
498
- await Effect2.runPromise(this._deactivate(id));
499
- plugin.modules.forEach((module) => {
500
- this._removeModule(module.id);
501
- });
502
- }
503
- return true;
504
- });
505
- }
506
- /**
507
- * Activates plugins based on the activation event.
508
- * @param event The activation event.
509
- * @returns Whether the activation was successful.
510
- */
511
- activate(event) {
512
- return untracked(() => Effect2.runPromise(this._activate(event)));
513
- }
514
- /**
515
- * Deactivates all of the modules for a plugin.
516
- * @param id The id of the plugin.
517
- * @returns Whether the deactivation was successful.
518
- */
519
- deactivate(id) {
520
- return untracked(() => Effect2.runPromise(this._deactivate(id)));
521
- }
522
- /**
523
- * Re-activates the modules that were activated by the event.
524
- * @param event The activation event.
525
- * @returns Whether the reset was successful.
526
- */
527
- reset(event) {
528
- return untracked(() => Effect2.runPromise(this._reset(event)));
529
- }
530
- _addPlugin(plugin) {
531
- untracked(() => {
532
- log2("add plugin", {
533
- id: plugin.meta.id
534
- }, {
535
- F: __dxlog_file2,
536
- L: 270,
537
- S: this,
538
- C: (f, a) => f(...a)
539
- });
540
- if (!this._state.plugins.includes(plugin)) {
541
- this._state.plugins.push(plugin);
542
- }
543
- });
544
- }
545
- _removePlugin(id) {
546
- untracked(() => {
547
- log2("remove plugin", {
548
- id
549
- }, {
550
- F: __dxlog_file2,
551
- L: 279,
552
- S: this,
553
- C: (f, a) => f(...a)
554
- });
555
- const pluginIndex = this._state.plugins.findIndex((plugin) => plugin.meta.id === id);
556
- if (pluginIndex !== -1) {
557
- this._state.plugins.splice(pluginIndex, 1);
558
- }
559
- });
560
- }
561
- _addModule(module) {
562
- untracked(() => {
563
- log2("add module", {
564
- id: module.id
565
- }, {
566
- F: __dxlog_file2,
567
- L: 289,
568
- S: this,
569
- C: (f, a) => f(...a)
570
- });
571
- if (!this._state.modules.includes(module)) {
572
- this._state.modules.push(module);
573
- }
574
- });
575
- }
576
- _removeModule(id) {
577
- untracked(() => {
578
- log2("remove module", {
579
- id
580
- }, {
581
- F: __dxlog_file2,
582
- L: 298,
583
- S: this,
584
- C: (f, a) => f(...a)
585
- });
586
- const moduleIndex = this._state.modules.findIndex((module) => module.id === id);
587
- if (moduleIndex !== -1) {
588
- this._state.modules.splice(moduleIndex, 1);
589
- }
590
- });
591
- }
592
- _getPlugin(id) {
593
- return this._state.plugins.find((plugin) => plugin.meta.id === id);
594
- }
595
- _getActiveModules() {
596
- return this._state.modules.filter((module) => this._state.active.includes(module.id));
597
- }
598
- _getInactiveModules() {
599
- return this._state.modules.filter((module) => !this._state.active.includes(module.id));
600
- }
601
- _getActiveModulesByEvent(key) {
602
- return this._getActiveModules().filter((module) => getEvents(module.activatesOn).map(eventKey).includes(key));
603
- }
604
- _getInactiveModulesByEvent(key) {
605
- return this._getInactiveModules().filter((module) => getEvents(module.activatesOn).map(eventKey).includes(key));
606
- }
607
- _setPendingResetByModule(module) {
608
- return untracked(() => {
609
- const activationEvents = getEvents(module.activatesOn).map(eventKey).filter((key) => this._state.eventsFired.includes(key));
610
- const pendingReset = Array.from(new Set(activationEvents)).filter((event) => !this._state.pendingReset.includes(event));
611
- if (pendingReset.length > 0) {
612
- log2("pending reset", {
613
- events: pendingReset
614
- }, {
615
- F: __dxlog_file2,
616
- L: 336,
617
- S: this,
618
- C: (f, a) => f(...a)
619
- });
620
- this._state.pendingReset.push(...pendingReset);
621
- }
622
- });
623
- }
624
- /**
625
- * @internal
626
- */
627
- // TODO(wittjosiah): Improve error typing.
628
- _activate(event) {
629
- return Effect2.gen(this, function* () {
630
- const key = typeof event === "string" ? event : eventKey(event);
631
- log2("activating", {
632
- key
633
- }, {
634
- F: __dxlog_file2,
635
- L: 349,
636
- S: this,
637
- C: (f, a) => f(...a)
638
- });
639
- const pendingIndex = this._state.pendingReset.findIndex((event2) => event2 === key);
640
- if (pendingIndex !== -1) {
641
- this._state.pendingReset.splice(pendingIndex, 1);
642
- }
643
- const modules = this._getInactiveModulesByEvent(key).filter((module) => {
644
- const allOf2 = isAllOf(module.activatesOn);
645
- if (!allOf2) {
646
- return true;
647
- }
648
- const events = module.activatesOn.events.filter((event2) => eventKey(event2) !== key);
649
- return events.every((event2) => this._state.eventsFired.includes(eventKey(event2)));
650
- });
651
- if (modules.length === 0) {
652
- log2("no modules to activate", {
653
- key
654
- }, {
655
- F: __dxlog_file2,
656
- L: 365,
657
- S: this,
658
- C: (f, a) => f(...a)
659
- });
660
- if (!this._state.eventsFired.includes(key)) {
661
- this._state.eventsFired.push(key);
662
- }
663
- return false;
664
- }
665
- log2("activating modules", {
666
- key,
667
- modules: modules.map((module) => module.id)
668
- }, {
669
- F: __dxlog_file2,
670
- L: 372,
671
- S: this,
672
- C: (f, a) => f(...a)
673
- });
674
- this.activation.emit({
675
- event: key,
676
- state: "activating"
677
- });
678
- const getCapabilities = yield* Effect2.all(modules.map(({ activate }) => Effect2.tryPromise({
679
- try: async () => activate(this.context),
680
- catch: (error) => error
681
- })), {
682
- concurrency: "unbounded"
683
- });
684
- const result = yield* pipe(
685
- modules,
686
- A.zip(getCapabilities),
687
- A.map(([module, getCapabilities2]) => this._activateModule(module, getCapabilities2)),
688
- // TODO(wittjosiah): This currently can't be run in parallel.
689
- // Running this with concurrency causes races with `allOf` activation events.
690
- Effect2.all,
691
- Effect2.either
692
- );
693
- if (Either.isLeft(result)) {
694
- this.activation.emit({
695
- event: key,
696
- state: "error",
697
- error: result.left
698
- });
699
- yield* Effect2.fail(result.left);
700
- }
701
- if (!this._state.eventsFired.includes(key)) {
702
- this._state.eventsFired.push(key);
703
- }
704
- this.activation.emit({
705
- event: key,
706
- state: "activated"
707
- });
708
- log2("activated", {
709
- key
710
- }, {
711
- F: __dxlog_file2,
712
- L: 406,
713
- S: this,
714
- C: (f, a) => f(...a)
715
- });
716
- return true;
717
- });
718
- }
719
- _activateModule(module, getCapabilities) {
720
- return Effect2.gen(this, function* () {
721
- yield* Effect2.all(module.activatesBefore?.map((event) => this._activate(event)) ?? [], {
722
- concurrency: "unbounded"
723
- });
724
- log2("activating module...", {
725
- module: module.id
726
- }, {
727
- F: __dxlog_file2,
728
- L: 421,
729
- S: this,
730
- C: (f, a) => f(...a)
731
- });
732
- const maybeCapabilities = typeof getCapabilities === "function" ? getCapabilities() : getCapabilities;
733
- const resolvedCapabilities = yield* Match.value(maybeCapabilities).pipe(
734
- // TODO(wittjosiah): Activate with an effect?
735
- // Match.when(Effect.isEffect, (effect) => effect),
736
- Match.when(isPromise, (promise) => Effect2.tryPromise({
737
- try: () => promise,
738
- catch: (error) => error
739
- })),
740
- Match.orElse((program) => Effect2.succeed(program))
741
- );
742
- const capabilities = Match.value(resolvedCapabilities).pipe(Match.when(Array.isArray, (array) => array), Match.orElse((value) => [
743
- value
744
- ]));
745
- capabilities.forEach((capability) => {
746
- this.context.contributeCapability({
747
- module: module.id,
748
- ...capability
749
- });
750
- });
751
- this._state.active.push(module.id);
752
- this._capabilities.set(module.id, capabilities);
753
- log2("activated module", {
754
- module: module.id
755
- }, {
756
- F: __dxlog_file2,
757
- L: 444,
758
- S: this,
759
- C: (f, a) => f(...a)
760
- });
761
- yield* Effect2.all(module.activatesAfter?.map((event) => this._activate(event)) ?? [], {
762
- concurrency: "unbounded"
763
- });
764
- });
765
- }
766
- _deactivate(id) {
767
- return Effect2.gen(this, function* () {
768
- const plugin = this._getPlugin(id);
769
- if (!plugin) {
770
- return false;
771
- }
772
- const modules = plugin.modules;
773
- const results = yield* Effect2.all(modules.map((module) => this._deactivateModule(module)), {
774
- concurrency: "unbounded"
775
- });
776
- return results.every((result) => result);
777
- });
778
- }
779
- _deactivateModule(module) {
780
- return Effect2.gen(this, function* () {
781
- const id = module.id;
782
- log2("deactivating", {
783
- id
784
- }, {
785
- F: __dxlog_file2,
786
- L: 471,
787
- S: this,
788
- C: (f, a) => f(...a)
789
- });
790
- const capabilities = this._capabilities.get(id);
791
- if (capabilities) {
792
- for (const capability of capabilities) {
793
- this.context.removeCapability(capability.interface, capability.implementation);
794
- const program = capability.deactivate?.();
795
- yield* Match.value(program).pipe(Match.when(Effect2.isEffect, (effect) => effect), Match.when(isPromise, (promise) => Effect2.tryPromise({
796
- try: () => promise,
797
- catch: (error) => error
798
- })), Match.orElse((program2) => Effect2.succeed(program2)));
799
- }
800
- this._capabilities.delete(id);
801
- }
802
- const activeIndex = this._state.active.findIndex((event) => event === id);
803
- if (activeIndex !== -1) {
804
- this._state.active.splice(activeIndex, 1);
805
- }
806
- log2("deactivated", {
807
- id
808
- }, {
809
- F: __dxlog_file2,
810
- L: 497,
811
- S: this,
812
- C: (f, a) => f(...a)
813
- });
814
- return true;
815
- });
816
- }
817
- _reset(event) {
818
- return Effect2.gen(this, function* () {
819
- const key = typeof event === "string" ? event : eventKey(event);
820
- log2("reset", {
821
- key
822
- }, {
823
- F: __dxlog_file2,
824
- L: 505,
825
- S: this,
826
- C: (f, a) => f(...a)
827
- });
828
- const modules = this._getActiveModulesByEvent(key);
829
- const results = yield* Effect2.all(modules.map((module) => this._deactivateModule(module)), {
830
- concurrency: "unbounded"
831
- });
832
- if (results.every((result) => result)) {
833
- return yield* this._activate(key);
834
- } else {
835
- return false;
836
- }
837
- });
838
- }
839
- };
840
-
841
- // src/core/plugin.ts
842
- var PluginModule = class {
843
- constructor(options) {
844
- this.id = options.id;
845
- this.activatesOn = options.activatesOn;
846
- this.activatesBefore = options.activatesBefore;
847
- this.activatesAfter = options.activatesAfter;
848
- this.activate = options.activate;
849
- }
850
- };
851
- var defineModule = (options) => new PluginModule(options);
852
- var Plugin = class {
853
- constructor(meta, modules) {
854
- this.meta = meta;
855
- this.modules = modules;
856
- }
857
- };
858
- var definePlugin = (meta, modules) => {
859
- return new Plugin(meta, modules);
860
- };
861
-
862
- // src/common/capabilities.ts
863
- (function(Capabilities2) {
864
- Capabilities2.PluginManager = defineCapability("dxos.org/app-framework/capability/plugin-manager");
865
- Capabilities2.Null = defineCapability("dxos.org/app-framework/capability/null");
866
- Capabilities2.RxRegistry = defineCapability("dxos.org/app-framework/capability/rx-registry");
867
- Capabilities2.ReactContext = defineCapability("dxos.org/app-framework/capability/react-context");
868
- Capabilities2.ReactRoot = defineCapability("dxos.org/app-framework/capability/react-root");
869
- Capabilities2.ReactSurface = defineCapability("dxos.org/app-framework/common/react-surface");
870
- Capabilities2.IntentResolver = defineCapability("dxos.org/app-framework/capability/intent-resolver");
871
- Capabilities2.IntentDispatcher = defineCapability("dxos.org/app-framework/capability/intent-dispatcher");
872
- Capabilities2.Layout = defineCapability("dxos.org/app-framework/capability/layout");
873
- Capabilities2.Translations = defineCapability("dxos.org/app-framework/capability/translations");
874
- Capabilities2.AppGraph = defineCapability("dxos.org/app-framework/capability/app-graph");
875
- Capabilities2.AppGraphBuilder = defineCapability("dxos.org/app-framework/capability/app-graph-builder");
876
- Capabilities2.AppGraphSerializer = defineCapability("dxos.org/app-framework/capability/app-graph-serializer");
877
- Capabilities2.SettingsStore = defineCapability("dxos.org/app-framework/capability/settings-store");
878
- Capabilities2.Settings = defineCapability("dxos.org/app-framework/capability/settings");
879
- Capabilities2.Metadata = defineCapability("dxos.org/app-framework/capability/metadata");
880
- Capabilities2.Tools = defineCapability("dxos.org/app-framework/capability/tools");
881
- Capabilities2.ArtifactDefinition = defineCapability("dxos.org/app-framework/capability/artifact-definition");
882
- Capabilities2.FileUploader = defineCapability("dxos.org/app-framework/capability/file-uploader");
883
- Capabilities2.AnchorSort = defineCapability("dxos.org/app-framework/capability/anchor-sort");
884
- })(Capabilities || (Capabilities = {}));
885
- var Capabilities;
886
-
887
- // src/common/collaboration.ts
888
- import { Schema as Schema3 } from "effect";
889
- import { Expando, Ref } from "@dxos/echo-schema";
890
- (function(CollaborationActions2) {
891
- class InsertContent extends Schema3.TaggedClass()("assistant/intent-content", {
892
- input: Schema3.Struct({
893
- target: Expando,
894
- object: Ref(Expando),
895
- at: Schema3.optional(Schema3.String),
896
- label: Schema3.String.pipe(Schema3.optional)
897
- }).annotations({
898
- description: "Enables plugins to inject content blocks or references into a related entity."
899
- }),
900
- output: Schema3.Void
901
- }) {
902
- }
903
- CollaborationActions2.InsertContent = InsertContent;
904
- })(CollaborationActions || (CollaborationActions = {}));
905
- var CollaborationActions;
906
-
907
- // src/common/events.ts
908
- (function(Events2) {
909
- Events2.Startup = defineEvent("dxos.org/app-framework/event/startup");
910
- Events2.SetupReactSurface = defineEvent("dxos.org/app-framework/event/setup-react-surface");
911
- Events2.SetupMetadata = defineEvent("dxos.org/app-framework/event/setup-metadata");
912
- Events2.SetupIntentResolver = defineEvent("dxos.org/app-framework/event/setup-intent-resolver");
913
- Events2.SetupSettings = defineEvent("dxos.org/app-framework/event/setup-settings");
914
- Events2.SetupAppGraph = defineEvent("dxos.org/app-framework/event/setup-graph");
915
- Events2.SetupTranslations = defineEvent("dxos.org/app-framework/event/setup-translations");
916
- Events2.SetupArtifactDefinition = defineEvent("dxos.org/app-framework/event/setup-artifact-definition");
917
- Events2.DispatcherReady = defineEvent("dxos.org/app-framework/event/dispatcher-ready");
918
- Events2.SettingsReady = defineEvent("dxos.org/app-framework/event/settings-ready");
919
- Events2.AppGraphReady = defineEvent("dxos.org/app-framework/event/graph-ready");
920
- Events2.createStateEvent = (specifier) => defineEvent("dxos.org/app-framework/event/state", specifier);
921
- Events2.LayoutReady = Events2.createStateEvent(Capabilities.Layout.identifier);
922
- })(Events || (Events = {}));
923
- var Events;
924
-
925
- // src/common/file.ts
926
- import { Schema as Schema4 } from "effect";
927
- var defaultFileTypes = {
928
- images: [
929
- "png",
930
- "jpg",
931
- "jpeg",
932
- "gif"
933
- ],
934
- media: [
935
- "mp3",
936
- "mp4",
937
- "mov",
938
- "avi"
939
- ],
940
- text: [
941
- "pdf",
942
- "txt",
943
- "md"
944
- ]
945
- };
946
- var FileInfoSchema = Schema4.Struct({
947
- name: Schema4.String,
948
- type: Schema4.String,
949
- url: Schema4.optional(Schema4.String),
950
- cid: Schema4.optional(Schema4.String)
951
- });
952
-
953
- // src/common/layout.ts
954
- import { Schema as Schema5 } from "effect";
955
-
956
- // src/plugin-intent/IntentPlugin.ts
957
- var IntentPlugin = () => definePlugin({
958
- id: INTENT_PLUGIN,
959
- name: "Intent"
960
- }, [
961
- defineModule({
962
- id: `${INTENT_PLUGIN}/module/dispatcher`,
963
- // TODO(wittjosiah): This will mean that startup needs to be reset when intents are added or removed.
964
- // This is fine for now because it's how it worked prior to capabilities api anyways.
965
- // In the future, the intent dispatcher should be able to be reset without resetting the entire app.
966
- activatesOn: Events.Startup,
967
- activatesAfter: [
968
- Events.DispatcherReady
969
- ],
970
- activate: lazy(() => import("./intent-dispatcher-5PRM3KGH.mjs"))
971
- })
972
- ]);
973
-
974
- // src/common/layout.ts
975
- var LAYOUT_PLUGIN = "dxos.org/plugin/layout";
976
- var LAYOUT_ACTION = `${LAYOUT_PLUGIN}/action`;
977
- (function(LayoutAction2) {
978
- LayoutAction2.UPDATE_LAYOUT = `${LAYOUT_ACTION}/update-layout`;
979
- class UpdateLayout extends Schema5.TaggedClass()(LayoutAction2.UPDATE_LAYOUT, {
980
- input: Schema5.Struct({
981
- part: Schema5.String.annotations({
982
- description: "The part of the layout to mutate."
983
- }),
984
- subject: Schema5.optional(Schema5.Any.annotations({
985
- description: "The subject of the layout update."
986
- })),
987
- options: Schema5.optional(Schema5.Record({
988
- key: Schema5.String,
989
- value: Schema5.Any
990
- }).annotations({
991
- description: "Additional options for the layout action."
992
- }))
993
- }),
994
- output: Schema5.Void
995
- }) {
996
- }
997
- LayoutAction2.UpdateLayout = UpdateLayout;
998
- class SetLayoutMode extends Schema5.TaggedClass()(LayoutAction2.UPDATE_LAYOUT, {
999
- input: Schema5.Struct({
1000
- part: Schema5.Literal("mode").annotations({
1001
- description: "Setting the layout mode."
1002
- }),
1003
- subject: Schema5.optional(Schema5.String.annotations({
1004
- description: "Item which is the subject of the new layout mode."
1005
- })),
1006
- options: Schema5.Union(Schema5.Struct({
1007
- mode: Schema5.String.annotations({
1008
- description: "The new layout mode."
1009
- })
1010
- }), Schema5.Struct({
1011
- revert: Schema5.Boolean.annotations({
1012
- description: "Revert to the previous layout mode."
1013
- })
1014
- }))
1015
- }),
1016
- output: Schema5.Void
1017
- }) {
1018
- }
1019
- LayoutAction2.SetLayoutMode = SetLayoutMode;
1020
- class UpdateSidebar extends Schema5.TaggedClass()(LayoutAction2.UPDATE_LAYOUT, {
1021
- input: Schema5.Struct({
1022
- part: Schema5.Literal("sidebar").annotations({
1023
- description: "Updating the sidebar."
1024
- }),
1025
- subject: Schema5.optional(Schema5.String.annotations({
1026
- description: "URI of the component to display in the sidebar."
1027
- })),
1028
- options: Schema5.optional(Schema5.Struct({
1029
- state: Schema5.Literal("closed", "collapsed", "expanded").annotations({
1030
- description: "Whether the sidebar is closed, collapsed, or expanded."
1031
- })
1032
- }))
1033
- }),
1034
- output: Schema5.Void
1035
- }) {
1036
- }
1037
- LayoutAction2.UpdateSidebar = UpdateSidebar;
1038
- class UpdateComplementary extends Schema5.TaggedClass()(LayoutAction2.UPDATE_LAYOUT, {
1039
- input: Schema5.Struct({
1040
- part: Schema5.Literal("complementary").annotations({
1041
- description: "Updating the complementary sidebar."
1042
- }),
1043
- subject: Schema5.optional(Schema5.String.annotations({
1044
- description: "URI of the component to display in the complementary area."
1045
- })),
1046
- options: Schema5.optional(Schema5.Struct({
1047
- state: Schema5.Literal("closed", "collapsed", "expanded").annotations({
1048
- description: "Whether the complementary sidebar is closed, collapsed, or expanded."
1049
- })
1050
- }))
1051
- }),
1052
- output: Schema5.Void
1053
- }) {
1054
- }
1055
- LayoutAction2.UpdateComplementary = UpdateComplementary;
1056
- class UpdateDialog extends Schema5.TaggedClass()(LayoutAction2.UPDATE_LAYOUT, {
1057
- input: Schema5.Struct({
1058
- part: Schema5.Literal("dialog").annotations({
1059
- description: "Updating the dialog."
1060
- }),
1061
- subject: Schema5.optional(Schema5.String.annotations({
1062
- description: "URI of the component to display in the dialog."
1063
- })),
1064
- options: Schema5.Struct({
1065
- state: Schema5.optional(Schema5.Boolean.annotations({
1066
- description: "Whether the dialog is open or closed."
1067
- })),
1068
- type: Schema5.optional(Schema5.Literal("default", "alert").annotations({
1069
- description: "The type of dialog."
1070
- })),
1071
- blockAlign: Schema5.optional(Schema5.Literal("start", "center", "end").annotations({
1072
- description: "The alignment of the dialog."
1073
- })),
1074
- overlayClasses: Schema5.optional(Schema5.String.annotations({
1075
- description: "Additional classes for the dialog overlay."
1076
- })),
1077
- overlayStyle: Schema5.optional(Schema5.Record({
1078
- key: Schema5.String,
1079
- value: Schema5.Any
1080
- }).annotations({
1081
- description: "Additional styles for the dialog overlay."
1082
- })),
1083
- props: Schema5.optional(Schema5.Record({
1084
- key: Schema5.String,
1085
- value: Schema5.Any
1086
- }).annotations({
1087
- description: "Additional props for the dialog."
1088
- }))
1089
- })
1090
- }),
1091
- output: Schema5.Void
1092
- }) {
1093
- }
1094
- LayoutAction2.UpdateDialog = UpdateDialog;
1095
- class UpdatePopover extends Schema5.TaggedClass()(LayoutAction2.UPDATE_LAYOUT, {
1096
- input: Schema5.Struct({
1097
- part: Schema5.Literal("popover").annotations({
1098
- description: "Updating the popover."
1099
- }),
1100
- subject: Schema5.optional(Schema5.Any.annotations({
1101
- description: "URI of the component to display in the popover or data to pass to the popover."
1102
- })),
1103
- options: Schema5.Struct({
1104
- side: Schema5.optional(Schema5.Literal("top", "right", "bottom", "left").annotations({
1105
- description: "The side of the anchor."
1106
- })),
1107
- state: Schema5.optional(Schema5.Boolean.annotations({
1108
- description: "Whether the popover is open or closed."
1109
- })),
1110
- props: Schema5.optional(Schema5.Record({
1111
- key: Schema5.String,
1112
- value: Schema5.Any
1113
- }).annotations({
1114
- description: "Additional props for the popover."
1115
- }))
1116
- }).pipe(Schema5.extend(Schema5.Union(Schema5.Struct({
1117
- variant: Schema5.Literal("virtual"),
1118
- anchor: Schema5.Any.annotations({
1119
- description: "The DOM element to anchor the popover to."
1120
- })
1121
- }), Schema5.Struct({
1122
- variant: Schema5.optional(Schema5.Literal("react")),
1123
- anchorId: Schema5.String.annotations({
1124
- description: "An id that can be used to determine whether to render the anchor subcomponent."
1125
- })
1126
- }))))
1127
- }),
1128
- output: Schema5.Void
1129
- }) {
1130
- }
1131
- LayoutAction2.UpdatePopover = UpdatePopover;
1132
- LayoutAction2.Toast = Schema5.Struct({
1133
- id: Schema5.String.annotations({
1134
- description: "The id of the toast."
1135
- }),
1136
- title: Schema5.optional(Label.annotations({
1137
- description: "The title of the toast."
1138
- })),
1139
- description: Schema5.optional(Label.annotations({
1140
- description: "The description of the toast."
1141
- })),
1142
- icon: Schema5.optional(Schema5.String.annotations({
1143
- description: "The icon of the toast."
1144
- })),
1145
- duration: Schema5.optional(Schema5.Number.annotations({
1146
- description: "The duration of the toast."
1147
- })),
1148
- closeLabel: Schema5.optional(Label.annotations({
1149
- description: "The label of the close button."
1150
- })),
1151
- actionLabel: Schema5.optional(Label.annotations({
1152
- description: "The label of the action button."
1153
- })),
1154
- actionAlt: Schema5.optional(Label.annotations({
1155
- description: "The alt text of the action button."
1156
- })),
1157
- onAction: Schema5.optional(Schema5.Any.annotations({
1158
- description: "The action to perform when the action button is clicked."
1159
- }))
1160
- });
1161
- class AddToast extends Schema5.TaggedClass()(LayoutAction2.UPDATE_LAYOUT, {
1162
- input: Schema5.Struct({
1163
- part: Schema5.Literal("toast").annotations({
1164
- description: "Adding a toast."
1165
- }),
1166
- subject: LayoutAction2.Toast.annotations({
1167
- description: "The toast to add."
1168
- })
1169
- }),
1170
- output: Schema5.Void
1171
- }) {
1172
- }
1173
- LayoutAction2.AddToast = AddToast;
1174
- class SwitchWorkspace extends Schema5.TaggedClass()(LayoutAction2.UPDATE_LAYOUT, {
1175
- input: Schema5.Struct({
1176
- part: Schema5.Literal("workspace").annotations({
1177
- description: "Switching the workspace."
1178
- }),
1179
- subject: Schema5.String.annotations({
1180
- description: "The id of the workspace to switch to."
1181
- })
1182
- }),
1183
- output: Schema5.Void
1184
- }) {
1185
- }
1186
- LayoutAction2.SwitchWorkspace = SwitchWorkspace;
1187
- class RevertWorkspace extends Schema5.TaggedClass()(LayoutAction2.UPDATE_LAYOUT, {
1188
- input: Schema5.Struct({
1189
- part: Schema5.Literal("workspace").annotations({
1190
- description: "Switching the workspace."
1191
- }),
1192
- options: Schema5.Struct({
1193
- revert: Schema5.Literal(true).annotations({
1194
- description: "Revert to the previous workspace."
1195
- })
1196
- })
1197
- }),
1198
- output: Schema5.Void
1199
- }) {
1200
- }
1201
- LayoutAction2.RevertWorkspace = RevertWorkspace;
1202
- class Open extends Schema5.TaggedClass()(LayoutAction2.UPDATE_LAYOUT, {
1203
- input: Schema5.Struct({
1204
- part: Schema5.Literal("main").annotations({
1205
- description: "Opening an item in the main content area."
1206
- }),
1207
- subject: Schema5.Array(Schema5.String.annotations({
1208
- description: "Ids of the items to open."
1209
- })),
1210
- options: Schema5.optional(Schema5.Struct({
1211
- state: Schema5.optional(Schema5.Literal(true).annotations({
1212
- description: "The items are being added."
1213
- })),
1214
- variant: Schema5.optional(Schema5.String.annotations({
1215
- description: "The variant of the item to open."
1216
- })),
1217
- key: Schema5.optional(Schema5.String.annotations({
1218
- description: "If provided, will replace item with a matching key (id prefix)."
1219
- })),
1220
- workspace: Schema5.optional(Schema5.String.annotations({
1221
- description: "The workspace to open the items in."
1222
- })),
1223
- scrollIntoView: Schema5.optional(Schema5.Boolean.annotations({
1224
- description: "Scroll the items into view."
1225
- })),
1226
- pivotId: Schema5.optional(Schema5.String.annotations({
1227
- description: "The id of the item to place new items next to."
1228
- })),
1229
- positioning: Schema5.optional(Schema5.Union(Schema5.Literal("start").annotations({
1230
- description: "The items are being added before the pivot item."
1231
- }), Schema5.Literal("end").annotations({
1232
- description: "The items are being added after the pivot item."
1233
- })))
1234
- }))
1235
- }),
1236
- output: Schema5.Void
1237
- }) {
1238
- }
1239
- LayoutAction2.Open = Open;
1240
- class Set2 extends Schema5.TaggedClass()(LayoutAction2.UPDATE_LAYOUT, {
1241
- input: Schema5.Struct({
1242
- part: Schema5.Literal("main").annotations({
1243
- description: "Setting items in the main content area."
1244
- }),
1245
- subject: Schema5.Array(Schema5.String.annotations({
1246
- description: "Ids of the items to set."
1247
- })),
1248
- options: Schema5.Struct({
1249
- override: Schema5.Literal(true).annotations({
1250
- description: "Override the current items in the main content area."
1251
- })
1252
- })
1253
- }),
1254
- output: Schema5.Void
1255
- }) {
1256
- }
1257
- LayoutAction2.Set = Set2;
1258
- class Close extends Schema5.TaggedClass()(LayoutAction2.UPDATE_LAYOUT, {
1259
- input: Schema5.Struct({
1260
- part: Schema5.Literal("main").annotations({
1261
- description: "Closing items in the main content area."
1262
- }),
1263
- subject: Schema5.Array(Schema5.String.annotations({
1264
- description: "Ids of the items to close."
1265
- })),
1266
- options: Schema5.Struct({
1267
- state: Schema5.Literal(false).annotations({
1268
- description: "The items are being removed."
1269
- })
1270
- })
1271
- }),
1272
- output: Schema5.Void
1273
- }) {
1274
- }
1275
- LayoutAction2.Close = Close;
1276
- class ScrollIntoView extends Schema5.TaggedClass()(LayoutAction2.UPDATE_LAYOUT, {
1277
- input: Schema5.Struct({
1278
- part: Schema5.Literal("current").annotations({
1279
- description: "Setting the current item"
1280
- }),
1281
- subject: Schema5.optional(Schema5.String.annotations({
1282
- description: "The id of the item to set as current."
1283
- })),
1284
- options: Schema5.optional(Schema5.Record({
1285
- key: Schema5.String,
1286
- value: Schema5.Any
1287
- }).annotations({
1288
- description: "Additional options for the scroll into view."
1289
- }))
1290
- }),
1291
- output: Schema5.Void
1292
- }) {
1293
- }
1294
- LayoutAction2.ScrollIntoView = ScrollIntoView;
1295
- class Expose extends Schema5.TaggedClass()(LayoutAction2.UPDATE_LAYOUT, {
1296
- input: Schema5.Struct({
1297
- part: Schema5.Literal("navigation").annotations({
1298
- description: "Exposing an item in the navigation area."
1299
- }),
1300
- subject: Schema5.String.annotations({
1301
- description: "The id of the item to expose."
1302
- })
1303
- }),
1304
- output: Schema5.Void
1305
- }) {
1306
- }
1307
- LayoutAction2.Expose = Expose;
1308
- })(LayoutAction || (LayoutAction = {}));
1309
- var LayoutAction;
1310
-
1311
- // src/common/surface.ts
1312
- var createSurface = (definition) => definition;
1313
-
1314
- // src/common/translations.ts
1315
- import { Schema as Schema6 } from "effect";
1316
- var ResourceKey = Schema6.Union(Schema6.String, Schema6.Record({
1317
- key: Schema6.String,
1318
- value: Schema6.Any
1319
- }));
1320
- var ResourceLanguage = Schema6.Record({
1321
- key: Schema6.String,
1322
- value: ResourceKey
1323
- });
1324
- var Resource = Schema6.Record({
1325
- key: Schema6.String,
1326
- value: ResourceLanguage
1327
- });
1328
-
1329
- // src/plugin-intent/intent-dispatcher.ts
1330
- var __dxlog_file3 = "/__w/dxos/dxos/packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts";
1331
- var EXECUTION_LIMIT = 100;
1332
- var HISTORY_LIMIT = 100;
1333
- var createResolver = (resolver) => resolver;
1334
- var isUndoable = (historyEntry) => historyEntry.length > 0 && historyEntry.every(({ undoable }) => !!undoable);
1335
- var createDispatcher = (getResolvers, { executionLimit = EXECUTION_LIMIT, historyLimit = HISTORY_LIMIT } = {}) => {
1336
- const historyRef = Effect3.runSync(Ref2.make([]));
1337
- const handleIntent = (intent) => Effect3.gen(function* () {
1338
- const candidates = getResolvers().filter((resolver) => resolver.intent._tag === intent.id).filter((resolver) => !resolver.filter || resolver.filter(intent.data)).toSorted(byPosition);
1339
- if (candidates.length === 0) {
1340
- yield* Effect3.fail(new NoResolversError(intent.id));
1341
- }
1342
- const effect = candidates[0].resolve(intent.data, intent.undo ?? false);
1343
- const result = Effect3.isEffect(effect) ? yield* effect : yield* Effect3.promise(async () => effect);
1344
- return {
1345
- _intent: intent,
1346
- ...result
1347
- };
1348
- });
1349
- const dispatch = (intentChain, depth = 0) => {
1350
- return Effect3.gen(function* () {
1351
- if (depth > executionLimit) {
1352
- yield* Effect3.fail(new CycleDetectedError());
1353
- }
1354
- const resultsRef = yield* Ref2.make([]);
1355
- for (const intent of intentChain.all) {
1356
- const { data: prev } = (yield* resultsRef.get)[0] ?? {};
1357
- const result2 = yield* handleIntent({
1358
- ...intent,
1359
- data: {
1360
- ...intent.data,
1361
- ...prev
1362
- }
1363
- });
1364
- yield* Ref2.update(resultsRef, (results2) => [
1365
- result2,
1366
- ...results2
1367
- ]);
1368
- if (result2.intents) {
1369
- for (const intent2 of result2.intents) {
1370
- yield* dispatch(intent2, depth + 1);
1371
- }
1372
- }
1373
- if (result2.error) {
1374
- yield* Effect3.fail(result2.error);
1375
- }
1376
- }
1377
- const results = yield* resultsRef.get;
1378
- const result = results[0];
1379
- yield* Ref2.update(historyRef, (history) => {
1380
- const next = [
1381
- ...history,
1382
- results
1383
- ];
1384
- if (next.length > historyLimit) {
1385
- next.splice(0, next.length - historyLimit);
1386
- }
1387
- return next;
1388
- });
1389
- if (result.undoable && isUndoable(results)) {
1390
- yield* pipe2(dispatch(createIntent(IntentAction.ShowUndo, {
1391
- message: result.undoable.message
1392
- })), Effect3.catchSome((err) => err instanceof NoResolversError ? Option.some(Effect3.succeed(void 0)) : Option.none()));
1393
- }
1394
- return result.data;
1395
- });
1396
- };
1397
- const dispatchPromise = (intentChain) => {
1398
- return Effect3.runPromise(dispatch(intentChain)).then((data) => ({
1399
- data
1400
- })).catch((error) => {
1401
- log3.catch(error, void 0, {
1402
- F: __dxlog_file3,
1403
- L: 270,
1404
- S: void 0,
1405
- C: (f, a) => f(...a)
1406
- });
1407
- return {
1408
- error
1409
- };
1410
- });
1411
- };
1412
- const undo = () => {
1413
- return Effect3.gen(function* () {
1414
- const history = yield* historyRef.get;
1415
- const last = history.findLastIndex(isUndoable);
1416
- const result = last !== -1 ? history[last] : void 0;
1417
- if (result) {
1418
- const all = result.map(({ _intent, undoable }) => {
1419
- const data = _intent.data;
1420
- const undoData = undoable?.data ?? {};
1421
- return {
1422
- ..._intent,
1423
- data: {
1424
- ...data,
1425
- ...undoData
1426
- },
1427
- undo: true
1428
- };
1429
- });
1430
- const intent = {
1431
- first: all[0],
1432
- last: all.at(-1),
1433
- all
1434
- };
1435
- yield* Ref2.update(historyRef, (h) => h.filter((_, index) => index !== last));
1436
- return yield* dispatch(intent);
1437
- }
1438
- });
1439
- };
1440
- const undoPromise = () => {
1441
- return Effect3.runPromise(undo()).then((data) => ({
1442
- data
1443
- })).catch((error) => ({
1444
- error
1445
- }));
1446
- };
1447
- return {
1448
- dispatch,
1449
- dispatchPromise,
1450
- undo,
1451
- undoPromise
1452
- };
1453
- };
1454
- var defaultEffect = () => Effect3.fail(new Error("Intent runtime not ready"));
1455
- var defaultPromise = () => Effect3.runPromise(defaultEffect());
1456
- var intent_dispatcher_default = (context) => {
1457
- const state = live2({
1458
- dispatch: defaultEffect,
1459
- dispatchPromise: defaultPromise,
1460
- undo: defaultEffect,
1461
- undoPromise: defaultPromise
1462
- });
1463
- const { dispatch, dispatchPromise, undo, undoPromise } = createDispatcher(() => context.getCapabilities(Capabilities.IntentResolver).flat());
1464
- const manager = context.getCapability(Capabilities.PluginManager);
1465
- state.dispatch = (intentChain, depth) => {
1466
- return Effect3.gen(function* () {
1467
- yield* manager._activate(Events.SetupIntentResolver);
1468
- return yield* dispatch(intentChain, depth);
1469
- });
1470
- };
1471
- state.dispatchPromise = async (intentChain) => {
1472
- await manager.activate(Events.SetupIntentResolver);
1473
- return await dispatchPromise(intentChain);
1474
- };
1475
- state.undo = undo;
1476
- state.undoPromise = undoPromise;
1477
- return contributes(Capabilities.IntentDispatcher, state);
1478
- };
1479
-
1480
- export {
1481
- defineCapability,
1482
- contributes,
1483
- lazy,
1484
- PluginContext,
1485
- defineEvent,
1486
- eventKey,
1487
- oneOf,
1488
- allOf,
1489
- isOneOf,
1490
- isAllOf,
1491
- getEvents,
1492
- PluginManager,
1493
- PluginModule,
1494
- defineModule,
1495
- Plugin,
1496
- definePlugin,
1497
- Capabilities,
1498
- CollaborationActions,
1499
- Events,
1500
- defaultFileTypes,
1501
- FileInfoSchema,
1502
- createIntent,
1503
- chain,
1504
- Label,
1505
- INTENT_PLUGIN,
1506
- INTENT_ACTION,
1507
- IntentAction,
1508
- createResolver,
1509
- createDispatcher,
1510
- intent_dispatcher_default,
1511
- IntentPlugin,
1512
- LAYOUT_PLUGIN,
1513
- LAYOUT_ACTION,
1514
- LayoutAction,
1515
- createSurface,
1516
- ResourceKey,
1517
- ResourceLanguage,
1518
- Resource
1519
- };
1520
- //# sourceMappingURL=chunk-VSKRV3NW.mjs.map