@dxos/app-framework 0.8.4-main.c85a9c8dae → 0.8.4-main.cb12b3f963

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 (325) hide show
  1. package/dist/lib/browser/{capability-7RLVE42K.mjs → capability-5RRH3WIB.mjs} +11 -10
  2. package/dist/lib/browser/capability-5RRH3WIB.mjs.map +7 -0
  3. package/dist/lib/browser/{capability-2GL5JAGJ.mjs → capability-LUKGKUQH.mjs} +10 -9
  4. package/dist/lib/browser/{chunk-5RJNZV7K.mjs → chunk-23D4SJUE.mjs} +11 -13
  5. package/dist/lib/browser/{chunk-5RJNZV7K.mjs.map → chunk-23D4SJUE.mjs.map} +3 -3
  6. package/dist/lib/browser/{chunk-YNFPIQGB.mjs → chunk-3JWJXGLK.mjs} +5 -2
  7. package/dist/lib/browser/chunk-3JWJXGLK.mjs.map +7 -0
  8. package/dist/lib/browser/chunk-45CHLTBV.mjs +34 -0
  9. package/dist/lib/browser/chunk-45CHLTBV.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-PKQT6C53.mjs → chunk-66IXTIVK.mjs} +3 -2
  11. package/dist/lib/browser/chunk-66IXTIVK.mjs.map +7 -0
  12. package/dist/lib/browser/chunk-CZ4BIAHH.mjs +422 -0
  13. package/dist/lib/browser/chunk-CZ4BIAHH.mjs.map +7 -0
  14. package/dist/lib/browser/chunk-FJ4765WW.mjs +8 -0
  15. package/dist/lib/browser/{chunk-FHQTHCX7.mjs.map → chunk-FJ4765WW.mjs.map} +3 -3
  16. package/dist/lib/browser/chunk-FO3IYSLV.mjs +68 -0
  17. package/dist/lib/browser/chunk-FO3IYSLV.mjs.map +7 -0
  18. package/dist/lib/browser/chunk-MX5DKEJH.mjs +584 -0
  19. package/dist/lib/browser/chunk-MX5DKEJH.mjs.map +7 -0
  20. package/dist/lib/browser/chunk-NBXPP7JR.mjs +1174 -0
  21. package/dist/lib/browser/chunk-NBXPP7JR.mjs.map +7 -0
  22. package/dist/lib/browser/chunk-PC4NOADA.mjs +471 -0
  23. package/dist/lib/browser/chunk-PC4NOADA.mjs.map +7 -0
  24. package/dist/lib/browser/{chunk-REORGDJT.mjs → chunk-WBHCSOBW.mjs} +18 -18
  25. package/dist/lib/browser/chunk-WBHCSOBW.mjs.map +7 -0
  26. package/dist/lib/browser/{chunk-FNKT2QQ2.mjs → chunk-Z55LVAGN.mjs} +85 -17
  27. package/dist/lib/browser/chunk-Z55LVAGN.mjs.map +7 -0
  28. package/dist/lib/browser/{chunk-ZRWBPIZG.mjs → chunk-ZGJAZSNE.mjs} +9 -37
  29. package/dist/lib/browser/chunk-ZGJAZSNE.mjs.map +7 -0
  30. package/dist/lib/browser/cli/index.mjs +16 -29
  31. package/dist/lib/browser/cli/index.mjs.map +3 -3
  32. package/dist/lib/browser/common/activation-events.mjs +9 -8
  33. package/dist/lib/browser/common/capabilities.mjs +9 -8
  34. package/dist/lib/browser/core/activation-event.mjs +1 -1
  35. package/dist/lib/browser/core/capability.mjs +3 -1
  36. package/dist/lib/browser/core/plugin-manager.mjs +8 -4
  37. package/dist/lib/browser/core/plugin.mjs +14 -4
  38. package/dist/lib/browser/core/url-loader.mjs +24 -0
  39. package/dist/lib/browser/index.mjs +37 -22
  40. package/dist/lib/browser/index.mjs.map +3 -3
  41. package/dist/lib/browser/{invoker-capability-BNLVNYHU.mjs → invoker-capability-K4GHUFXF.mjs} +22 -14
  42. package/dist/lib/browser/invoker-capability-K4GHUFXF.mjs.map +7 -0
  43. package/dist/lib/browser/meta.json +1 -1
  44. package/dist/lib/browser/testing/index.mjs +184 -49
  45. package/dist/lib/browser/testing/index.mjs.map +4 -4
  46. package/dist/lib/browser/testing/react.mjs +78 -0
  47. package/dist/lib/browser/testing/react.mjs.map +7 -0
  48. package/dist/lib/browser/ui/index.mjs +18 -15
  49. package/dist/lib/node-esm/{capability-CHIMU6LX.mjs → capability-FCGZVIEG.mjs} +10 -9
  50. package/dist/lib/{browser/capability-2GL5JAGJ.mjs.map → node-esm/capability-FCGZVIEG.mjs.map} +1 -1
  51. package/dist/lib/node-esm/{capability-EVZK4REM.mjs → capability-JOIQ2MQE.mjs} +11 -10
  52. package/dist/lib/node-esm/capability-JOIQ2MQE.mjs.map +7 -0
  53. package/dist/lib/node-esm/{chunk-UEWJDI2L.mjs → chunk-37Z53PXZ.mjs} +2 -2
  54. package/dist/lib/node-esm/{chunk-UEWJDI2L.mjs.map → chunk-37Z53PXZ.mjs.map} +3 -3
  55. package/dist/lib/node-esm/chunk-42J2ZUQQ.mjs +472 -0
  56. package/dist/lib/node-esm/chunk-42J2ZUQQ.mjs.map +7 -0
  57. package/dist/lib/node-esm/chunk-6XW6LET6.mjs +35 -0
  58. package/dist/lib/node-esm/chunk-6XW6LET6.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-2A4PRBIX.mjs → chunk-D347W3KO.mjs} +9 -37
  60. package/dist/lib/node-esm/chunk-D347W3KO.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-CJCQS2YL.mjs → chunk-HTBJU5FX.mjs} +85 -17
  62. package/dist/lib/node-esm/chunk-HTBJU5FX.mjs.map +7 -0
  63. package/dist/lib/node-esm/chunk-M3HKPRPO.mjs +423 -0
  64. package/dist/lib/node-esm/chunk-M3HKPRPO.mjs.map +7 -0
  65. package/dist/lib/node-esm/chunk-MUVUQC3G.mjs +1175 -0
  66. package/dist/lib/node-esm/chunk-MUVUQC3G.mjs.map +7 -0
  67. package/dist/lib/node-esm/{chunk-VUIUFIGT.mjs → chunk-SBS2YMPT.mjs} +11 -13
  68. package/dist/lib/node-esm/{chunk-VUIUFIGT.mjs.map → chunk-SBS2YMPT.mjs.map} +3 -3
  69. package/dist/lib/node-esm/{chunk-SB5ODNPX.mjs → chunk-SDJ4B2LU.mjs} +5 -2
  70. package/dist/lib/node-esm/chunk-SDJ4B2LU.mjs.map +7 -0
  71. package/dist/lib/node-esm/{chunk-UFW652GS.mjs → chunk-WFSRZKBP.mjs} +18 -18
  72. package/dist/lib/node-esm/chunk-WFSRZKBP.mjs.map +7 -0
  73. package/dist/lib/node-esm/chunk-WK7OIQKI.mjs +70 -0
  74. package/dist/lib/node-esm/chunk-WK7OIQKI.mjs.map +7 -0
  75. package/dist/lib/node-esm/chunk-WKTLE7MG.mjs +585 -0
  76. package/dist/lib/node-esm/chunk-WKTLE7MG.mjs.map +7 -0
  77. package/dist/lib/node-esm/{chunk-7OWSHPYK.mjs → chunk-XOCUANHO.mjs} +3 -2
  78. package/dist/lib/node-esm/chunk-XOCUANHO.mjs.map +7 -0
  79. package/dist/lib/node-esm/cli/index.mjs +16 -29
  80. package/dist/lib/node-esm/cli/index.mjs.map +3 -3
  81. package/dist/lib/node-esm/common/activation-events.mjs +9 -8
  82. package/dist/lib/node-esm/common/capabilities.mjs +9 -8
  83. package/dist/lib/node-esm/core/activation-event.mjs +1 -1
  84. package/dist/lib/node-esm/core/capability.mjs +3 -1
  85. package/dist/lib/node-esm/core/plugin-manager.mjs +8 -4
  86. package/dist/lib/node-esm/core/plugin.mjs +14 -4
  87. package/dist/lib/node-esm/core/url-loader.mjs +25 -0
  88. package/dist/lib/node-esm/index.mjs +37 -22
  89. package/dist/lib/node-esm/index.mjs.map +3 -3
  90. package/dist/lib/node-esm/{invoker-capability-VF6SP44V.mjs → invoker-capability-XEPW5LMJ.mjs} +22 -14
  91. package/dist/lib/node-esm/invoker-capability-XEPW5LMJ.mjs.map +7 -0
  92. package/dist/lib/node-esm/meta.json +1 -1
  93. package/dist/lib/node-esm/testing/index.mjs +184 -49
  94. package/dist/lib/node-esm/testing/index.mjs.map +4 -4
  95. package/dist/lib/node-esm/testing/react.mjs +79 -0
  96. package/dist/lib/node-esm/testing/react.mjs.map +7 -0
  97. package/dist/lib/node-esm/ui/index.mjs +18 -15
  98. package/dist/plugin/node-esm/index.mjs +875 -0
  99. package/dist/plugin/node-esm/index.mjs.map +7 -0
  100. package/dist/plugin/node-esm/meta.json +1 -0
  101. package/dist/types/src/common/activation-events.d.ts +1 -1
  102. package/dist/types/src/common/activation-events.d.ts.map +1 -1
  103. package/dist/types/src/common/annotations.d.ts +1 -0
  104. package/dist/types/src/common/annotations.d.ts.map +1 -0
  105. package/dist/types/src/common/capabilities.d.ts +4 -8
  106. package/dist/types/src/common/capabilities.d.ts.map +1 -1
  107. package/dist/types/src/common/operations.d.ts +8 -22
  108. package/dist/types/src/common/operations.d.ts.map +1 -1
  109. package/dist/types/src/core/activation-event.d.ts +5 -5
  110. package/dist/types/src/core/activation-event.d.ts.map +1 -1
  111. package/dist/types/src/core/capability-manager.d.ts +5 -0
  112. package/dist/types/src/core/capability-manager.d.ts.map +1 -1
  113. package/dist/types/src/core/capability.d.ts +8 -2
  114. package/dist/types/src/core/capability.d.ts.map +1 -1
  115. package/dist/types/src/core/edge-registry-plugin-provider.d.ts +30 -0
  116. package/dist/types/src/core/edge-registry-plugin-provider.d.ts.map +1 -0
  117. package/dist/types/src/core/index.d.ts +6 -0
  118. package/dist/types/src/core/index.d.ts.map +1 -1
  119. package/dist/types/src/core/plugin-asset-cache.d.ts +71 -0
  120. package/dist/types/src/core/plugin-asset-cache.d.ts.map +1 -0
  121. package/dist/types/src/core/plugin-manager.d.ts +177 -4
  122. package/dist/types/src/core/plugin-manager.d.ts.map +1 -1
  123. package/dist/types/src/core/plugin-manifest.d.ts +101 -0
  124. package/dist/types/src/core/plugin-manifest.d.ts.map +1 -0
  125. package/dist/types/src/core/plugin-manifest.test.d.ts +2 -0
  126. package/dist/types/src/core/plugin-manifest.test.d.ts.map +1 -0
  127. package/dist/types/src/core/plugin.d.ts +113 -7
  128. package/dist/types/src/core/plugin.d.ts.map +1 -1
  129. package/dist/types/src/core/registry.d.ts +101 -0
  130. package/dist/types/src/core/registry.d.ts.map +1 -0
  131. package/dist/types/src/core/url-loader.d.ts +127 -0
  132. package/dist/types/src/core/url-loader.d.ts.map +1 -0
  133. package/dist/types/src/core/url-loader.test.d.ts +2 -0
  134. package/dist/types/src/core/url-loader.test.d.ts.map +1 -0
  135. package/dist/types/src/helpers.d.ts.map +1 -1
  136. package/dist/types/src/plugin-operation/OperationPlugin.d.ts.map +1 -1
  137. package/dist/types/src/plugin-operation/history/capability.d.ts.map +1 -1
  138. package/dist/types/src/plugin-operation/history/errors.d.ts +30 -3
  139. package/dist/types/src/plugin-operation/history/errors.d.ts.map +1 -1
  140. package/dist/types/src/plugin-operation/history/history-tracker.d.ts +1 -1
  141. package/dist/types/src/plugin-operation/history/history-tracker.d.ts.map +1 -1
  142. package/dist/types/src/plugin-operation/history/types.d.ts +1 -1
  143. package/dist/types/src/plugin-operation/history/types.d.ts.map +1 -1
  144. package/dist/types/src/plugin-operation/history/undo-mapping.d.ts +1 -1
  145. package/dist/types/src/plugin-operation/history/undo-mapping.d.ts.map +1 -1
  146. package/dist/types/src/plugin-operation/history/undo-registry.d.ts +1 -1
  147. package/dist/types/src/plugin-operation/history/undo-registry.d.ts.map +1 -1
  148. package/dist/types/src/plugin-operation/invoker-capability.d.ts +1 -1
  149. package/dist/types/src/plugin-operation/invoker-capability.d.ts.map +1 -1
  150. package/dist/types/src/plugin-operation/testing.d.ts +27 -77
  151. package/dist/types/src/plugin-operation/testing.d.ts.map +1 -1
  152. package/dist/types/src/plugin-runtime/RuntimePlugin.d.ts.map +1 -1
  153. package/dist/types/src/plugin-runtime/capability.d.ts +1 -1
  154. package/dist/types/src/plugin-runtime/capability.d.ts.map +1 -1
  155. package/dist/types/src/testing/harness.d.ts +67 -0
  156. package/dist/types/src/testing/harness.d.ts.map +1 -0
  157. package/dist/types/src/testing/index.d.ts +1 -0
  158. package/dist/types/src/testing/index.d.ts.map +1 -1
  159. package/dist/types/src/testing/react.d.ts +27 -0
  160. package/dist/types/src/testing/react.d.ts.map +1 -0
  161. package/dist/types/src/testing/react.test.d.ts +2 -0
  162. package/dist/types/src/testing/react.test.d.ts.map +1 -0
  163. package/dist/types/src/testing/service.d.ts.map +1 -1
  164. package/dist/types/src/testing/withPluginManager.d.ts.map +1 -1
  165. package/dist/types/src/testing/withPluginManager.stories.d.ts.map +1 -1
  166. package/dist/types/src/ui/components/App/App.d.ts +3 -2
  167. package/dist/types/src/ui/components/App/App.d.ts.map +1 -1
  168. package/dist/types/src/ui/components/App/App.stories.d.ts +2 -2
  169. package/dist/types/src/ui/components/App/App.stories.d.ts.map +1 -1
  170. package/dist/types/src/ui/components/Placeholder/Placeholder.d.ts +64 -0
  171. package/dist/types/src/ui/components/Placeholder/Placeholder.d.ts.map +1 -0
  172. package/dist/types/src/ui/components/Placeholder/Placeholder.stories.d.ts +19 -0
  173. package/dist/types/src/ui/components/Placeholder/Placeholder.stories.d.ts.map +1 -0
  174. package/dist/types/src/ui/components/Placeholder/index.d.ts +2 -0
  175. package/dist/types/src/ui/components/Placeholder/index.d.ts.map +1 -0
  176. package/dist/types/src/ui/components/PluginManager/PluginManagerContext.stories.d.ts.map +1 -1
  177. package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts +16 -4
  178. package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts.map +1 -1
  179. package/dist/types/src/ui/components/Surface/SurfaceComponent.stories.d.ts.map +1 -1
  180. package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts +48 -0
  181. package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts.map +1 -0
  182. package/dist/types/src/ui/components/Surface/index.d.ts +22 -6
  183. package/dist/types/src/ui/components/Surface/index.d.ts.map +1 -1
  184. package/dist/types/src/ui/components/Surface/types.d.ts +110 -9
  185. package/dist/types/src/ui/components/Surface/types.d.ts.map +1 -1
  186. package/dist/types/src/ui/components/Surface/types.test.d.ts +2 -0
  187. package/dist/types/src/ui/components/Surface/types.test.d.ts.map +1 -0
  188. package/dist/types/src/ui/components/index.d.ts +1 -0
  189. package/dist/types/src/ui/components/index.d.ts.map +1 -1
  190. package/dist/types/src/ui/hooks/index.d.ts +0 -1
  191. package/dist/types/src/ui/hooks/index.d.ts.map +1 -1
  192. package/dist/types/src/ui/hooks/useApp.d.ts +43 -4
  193. package/dist/types/src/ui/hooks/useApp.d.ts.map +1 -1
  194. package/dist/types/src/ui/hooks/useApp.test.d.ts +2 -0
  195. package/dist/types/src/ui/hooks/useApp.test.d.ts.map +1 -0
  196. package/dist/types/src/ui/hooks/useCapabilities.d.ts.map +1 -1
  197. package/dist/types/src/ui/hooks/useLoading.d.ts.map +1 -1
  198. package/dist/types/src/ui/hooks/useSettingsState.d.ts.map +1 -1
  199. package/dist/types/src/vite-plugin/boot-loader/BootLoader.stories.d.ts +34 -0
  200. package/dist/types/src/vite-plugin/boot-loader/BootLoader.stories.d.ts.map +1 -0
  201. package/dist/types/src/vite-plugin/boot-loader/index.d.ts +52 -0
  202. package/dist/types/src/vite-plugin/boot-loader/index.d.ts.map +1 -0
  203. package/dist/types/src/vite-plugin/composer/index.d.ts +34 -0
  204. package/dist/types/src/vite-plugin/composer/index.d.ts.map +1 -0
  205. package/dist/types/src/vite-plugin/import-map/index.d.ts +28 -0
  206. package/dist/types/src/vite-plugin/import-map/index.d.ts.map +1 -0
  207. package/dist/types/src/vite-plugin/index.d.ts +5 -0
  208. package/dist/types/src/vite-plugin/index.d.ts.map +1 -0
  209. package/dist/types/src/vite-plugin/manifest.d.ts +41 -0
  210. package/dist/types/src/vite-plugin/manifest.d.ts.map +1 -0
  211. package/dist/types/src/vite-plugin/manifest.test.d.ts +2 -0
  212. package/dist/types/src/vite-plugin/manifest.test.d.ts.map +1 -0
  213. package/dist/types/src/vite-plugin/packages.d.ts +13 -0
  214. package/dist/types/src/vite-plugin/packages.d.ts.map +1 -0
  215. package/dist/types/tsconfig.tsbuildinfo +1 -1
  216. package/moon.yml +15 -0
  217. package/package.json +48 -53
  218. package/src/cli/cli.ts +3 -3
  219. package/src/common/activation-events.ts +6 -6
  220. package/src/common/annotations.ts +3 -0
  221. package/src/common/capabilities.ts +18 -23
  222. package/src/common/operations.ts +7 -10
  223. package/src/context.ts +1 -1
  224. package/src/core/activation-event.ts +5 -2
  225. package/src/core/capability-manager.test.ts +1 -1
  226. package/src/core/capability-manager.ts +22 -1
  227. package/src/core/capability.ts +13 -2
  228. package/src/core/edge-registry-plugin-provider.ts +92 -0
  229. package/src/core/index.ts +6 -0
  230. package/src/core/plugin-asset-cache.ts +60 -0
  231. package/src/core/plugin-manager.test.ts +855 -29
  232. package/src/core/plugin-manager.ts +808 -188
  233. package/src/core/plugin-manifest.test.ts +75 -0
  234. package/src/core/plugin-manifest.ts +134 -0
  235. package/src/core/plugin.ts +144 -12
  236. package/src/core/registry.ts +157 -0
  237. package/src/core/url-loader.test.ts +221 -0
  238. package/src/core/url-loader.ts +388 -0
  239. package/src/plugin-operation/OperationPlugin.ts +2 -3
  240. package/src/plugin-operation/history/capability.ts +1 -2
  241. package/src/plugin-operation/history/errors.ts +2 -6
  242. package/src/plugin-operation/history/history-tracker.test.ts +37 -43
  243. package/src/plugin-operation/history/history-tracker.ts +1 -2
  244. package/src/plugin-operation/history/types.ts +1 -1
  245. package/src/plugin-operation/history/undo-mapping.ts +1 -1
  246. package/src/plugin-operation/history/undo-registry.test.ts +3 -4
  247. package/src/plugin-operation/history/undo-registry.ts +1 -1
  248. package/src/plugin-operation/invoker-capability.ts +19 -4
  249. package/src/plugin-operation/meta.ts +1 -1
  250. package/src/plugin-operation/testing.ts +26 -45
  251. package/src/plugin-runtime/RuntimePlugin.ts +2 -3
  252. package/src/plugin-runtime/meta.ts +1 -1
  253. package/src/testing/harness.ts +229 -0
  254. package/src/testing/index.ts +1 -0
  255. package/src/testing/react.test.tsx +48 -0
  256. package/src/testing/react.tsx +113 -0
  257. package/src/testing/service.ts +3 -3
  258. package/src/testing/withPluginManager.stories.tsx +1 -2
  259. package/src/testing/withPluginManager.tsx +40 -18
  260. package/src/ui/components/App/App.stories.tsx +5 -5
  261. package/src/ui/components/App/App.tsx +29 -5
  262. package/src/ui/components/Placeholder/Placeholder.stories.tsx +77 -0
  263. package/src/ui/components/Placeholder/Placeholder.tsx +155 -0
  264. package/src/ui/components/Placeholder/index.ts +5 -0
  265. package/src/ui/components/PluginManager/PluginManagerContext.stories.tsx +8 -6
  266. package/src/ui/components/Surface/SurfaceComponent.stories.tsx +16 -15
  267. package/src/ui/components/Surface/SurfaceComponent.tsx +109 -53
  268. package/src/ui/components/Surface/SurfaceProfilerContext.tsx +207 -0
  269. package/src/ui/components/Surface/index.ts +35 -1
  270. package/src/ui/components/Surface/types.test.ts +126 -0
  271. package/src/ui/components/Surface/types.ts +164 -12
  272. package/src/ui/components/index.ts +1 -0
  273. package/src/ui/hooks/index.ts +0 -1
  274. package/src/ui/hooks/useApp.test.tsx +159 -0
  275. package/src/ui/hooks/useApp.tsx +226 -15
  276. package/src/ui/hooks/useLoading.tsx +14 -6
  277. package/src/vite-plugin/boot-loader/BootLoader.stories.tsx +263 -0
  278. package/src/vite-plugin/boot-loader/boot-loader.css +294 -0
  279. package/src/vite-plugin/boot-loader/boot-loader.js +274 -0
  280. package/src/vite-plugin/boot-loader/index.ts +112 -0
  281. package/src/vite-plugin/composer/index.ts +306 -0
  282. package/src/vite-plugin/import-map/index.ts +524 -0
  283. package/src/vite-plugin/index.ts +10 -0
  284. package/src/vite-plugin/manifest.test.ts +46 -0
  285. package/src/vite-plugin/manifest.ts +57 -0
  286. package/src/vite-plugin/packages.ts +188 -0
  287. package/tsconfig.json +19 -1
  288. package/tsconfig.node.json +1 -1
  289. package/vitest.config.ts +1 -1
  290. package/.swc/plugins/linux_x86_64_19.0.0/727453fb3a62f7f1d952a41e051ca8a6f88cadc45cee43c6a4d1aa45f9b75665.wasmer-v7 +0 -0
  291. package/dist/lib/browser/capability-7RLVE42K.mjs.map +0 -7
  292. package/dist/lib/browser/chunk-4CTRO67U.mjs +0 -703
  293. package/dist/lib/browser/chunk-4CTRO67U.mjs.map +0 -7
  294. package/dist/lib/browser/chunk-FHQTHCX7.mjs +0 -8
  295. package/dist/lib/browser/chunk-FNKT2QQ2.mjs.map +0 -7
  296. package/dist/lib/browser/chunk-HE27PNNQ.mjs +0 -824
  297. package/dist/lib/browser/chunk-HE27PNNQ.mjs.map +0 -7
  298. package/dist/lib/browser/chunk-NPUEVX42.mjs +0 -34
  299. package/dist/lib/browser/chunk-NPUEVX42.mjs.map +0 -7
  300. package/dist/lib/browser/chunk-PKQT6C53.mjs.map +0 -7
  301. package/dist/lib/browser/chunk-REORGDJT.mjs.map +0 -7
  302. package/dist/lib/browser/chunk-YAFEA4GV.mjs +0 -1
  303. package/dist/lib/browser/chunk-YNFPIQGB.mjs.map +0 -7
  304. package/dist/lib/browser/chunk-ZRWBPIZG.mjs.map +0 -7
  305. package/dist/lib/browser/invoker-capability-BNLVNYHU.mjs.map +0 -7
  306. package/dist/lib/node-esm/capability-EVZK4REM.mjs.map +0 -7
  307. package/dist/lib/node-esm/chunk-2A4PRBIX.mjs.map +0 -7
  308. package/dist/lib/node-esm/chunk-7CPNAEGV.mjs +0 -704
  309. package/dist/lib/node-esm/chunk-7CPNAEGV.mjs.map +0 -7
  310. package/dist/lib/node-esm/chunk-7OWSHPYK.mjs.map +0 -7
  311. package/dist/lib/node-esm/chunk-CJCQS2YL.mjs.map +0 -7
  312. package/dist/lib/node-esm/chunk-DTCHT2X2.mjs +0 -825
  313. package/dist/lib/node-esm/chunk-DTCHT2X2.mjs.map +0 -7
  314. package/dist/lib/node-esm/chunk-JAZVHID3.mjs +0 -35
  315. package/dist/lib/node-esm/chunk-JAZVHID3.mjs.map +0 -7
  316. package/dist/lib/node-esm/chunk-SB5ODNPX.mjs.map +0 -7
  317. package/dist/lib/node-esm/chunk-UFW652GS.mjs.map +0 -7
  318. package/dist/lib/node-esm/chunk-Z4TJPSMP.mjs +0 -2
  319. package/dist/lib/node-esm/invoker-capability-VF6SP44V.mjs.map +0 -7
  320. package/dist/types/src/ui/hooks/useOperationResolver.d.ts +0 -19
  321. package/dist/types/src/ui/hooks/useOperationResolver.d.ts.map +0 -1
  322. package/src/ui/hooks/useOperationResolver.ts +0 -40
  323. /package/dist/lib/{node-esm/capability-CHIMU6LX.mjs.map → browser/capability-LUKGKUQH.mjs.map} +0 -0
  324. /package/dist/lib/browser/{chunk-YAFEA4GV.mjs.map → core/url-loader.mjs.map} +0 -0
  325. /package/dist/lib/node-esm/{chunk-Z4TJPSMP.mjs.map → core/url-loader.mjs.map} +0 -0
@@ -1,824 +0,0 @@
1
- import {
2
- eventKey,
3
- getEvents,
4
- isAllOf
5
- } from "./chunk-PKQT6C53.mjs";
6
- import {
7
- Service as Service2
8
- } from "./chunk-FNKT2QQ2.mjs";
9
- import {
10
- Service
11
- } from "./chunk-YNFPIQGB.mjs";
12
- import {
13
- __export
14
- } from "./chunk-J5LGTIGS.mjs";
15
-
16
- // src/core/plugin-manager.ts
17
- var plugin_manager_exports = {};
18
- __export(plugin_manager_exports, {
19
- ManagerTypeId: () => ManagerTypeId,
20
- isManager: () => isManager,
21
- make: () => make5
22
- });
23
- import { Atom as Atom2, Registry } from "@effect-atom/atom-react";
24
- import * as Array from "effect/Array";
25
- import * as Cause from "effect/Cause";
26
- import * as Deferred2 from "effect/Deferred";
27
- import * as Duration from "effect/Duration";
28
- import * as Effect2 from "effect/Effect";
29
- import * as Fiber from "effect/Fiber";
30
- import * as Function from "effect/Function";
31
- import * as HashSet from "effect/HashSet";
32
- import * as PubSub from "effect/PubSub";
33
- import * as Ref from "effect/Ref";
34
- import { runAndForwardErrors } from "@dxos/effect";
35
- import { Performance } from "@dxos/effect";
36
- import { log as log2 } from "@dxos/log";
37
-
38
- // src/core/capability-manager.ts
39
- var capability_manager_exports = {};
40
- __export(capability_manager_exports, {
41
- make: () => make2
42
- });
43
- import { Atom } from "@effect-atom/atom-react";
44
- import * as Deferred from "effect/Deferred";
45
- import * as Effect from "effect/Effect";
46
- import { invariant } from "@dxos/invariant";
47
- import { log } from "@dxos/log";
48
- var __dxlog_file = "/__w/dxos/dxos/packages/sdk/app-framework/src/core/capability-manager.ts";
49
- var CapabilityManagerImpl = class {
50
- _registry;
51
- _capabilityEntries = Atom.family(() => {
52
- return Atom.make([]).pipe(Atom.keepAlive);
53
- });
54
- _capabilities = Atom.family((id) => {
55
- return Atom.make((get) => {
56
- const current = get(this._capabilityEntries(id));
57
- return current.map((c) => c.implementation);
58
- });
59
- });
60
- _capability = Atom.family((id) => {
61
- return Atom.make((get) => {
62
- const current = get(this._capabilities(id));
63
- invariant(current.length > 0, `No capability found for ${id}`, {
64
- F: __dxlog_file,
65
- L: 84,
66
- S: this,
67
- A: [
68
- "current.length > 0",
69
- "`No capability found for ${id}`"
70
- ]
71
- });
72
- return current[0];
73
- });
74
- });
75
- constructor({ registry }) {
76
- this._registry = registry;
77
- }
78
- contribute({ module: moduleId, interface: interfaceDef, implementation }) {
79
- const current = this._registry.get(this._capabilityEntries(interfaceDef.identifier));
80
- const isDuplicate = current.some((c) => c.moduleId === moduleId && c.implementation === implementation);
81
- if (isDuplicate) {
82
- log("capability already contributed, skipping", {
83
- id: interfaceDef.identifier,
84
- moduleId
85
- }, {
86
- F: __dxlog_file,
87
- L: 105,
88
- S: this,
89
- C: (f, a) => f(...a)
90
- });
91
- return;
92
- }
93
- const entry = {
94
- moduleId,
95
- implementation
96
- };
97
- this._registry.set(this._capabilityEntries(interfaceDef.identifier), [
98
- ...current,
99
- entry
100
- ]);
101
- log("capability contributed", {
102
- id: interfaceDef.identifier,
103
- moduleId,
104
- count: current.length
105
- }, {
106
- F: __dxlog_file,
107
- L: 111,
108
- S: this,
109
- C: (f, a) => f(...a)
110
- });
111
- }
112
- remove(interfaceDef, implementation) {
113
- const current = this._registry.get(this._capabilityEntries(interfaceDef.identifier));
114
- if (current.length === 0) {
115
- return;
116
- }
117
- const next = current.filter((c) => c.implementation !== implementation);
118
- if (next.length !== current.length) {
119
- this._registry.set(this._capabilityEntries(interfaceDef.identifier), next);
120
- log("capability removed", {
121
- id: interfaceDef.identifier,
122
- count: current.length
123
- }, {
124
- F: __dxlog_file,
125
- L: 127,
126
- S: this,
127
- C: (f, a) => f(...a)
128
- });
129
- } else {
130
- log.warn("capability not removed", {
131
- id: interfaceDef.identifier
132
- }, {
133
- F: __dxlog_file,
134
- L: 129,
135
- S: this,
136
- C: (f, a) => f(...a)
137
- });
138
- }
139
- }
140
- atom(interfaceDef) {
141
- return this._capabilities(interfaceDef.identifier);
142
- }
143
- getAll(interfaceDef) {
144
- return this._registry.get(this.atom(interfaceDef));
145
- }
146
- get(interfaceDef) {
147
- const capabilities = this.getAll(interfaceDef);
148
- invariant(capabilities.length > 0, `No capability found for ${interfaceDef.identifier}`, {
149
- F: __dxlog_file,
150
- L: 144,
151
- S: this,
152
- A: [
153
- "capabilities.length > 0",
154
- "`No capability found for ${interfaceDef.identifier}`"
155
- ]
156
- });
157
- return capabilities[0];
158
- }
159
- waitFor(interfaceDef) {
160
- return Effect.gen(this, function* () {
161
- const [capability] = this.getAll(interfaceDef);
162
- if (capability) {
163
- return capability;
164
- }
165
- const deferred = yield* Deferred.make();
166
- const cancel = this._registry.subscribe(this.atom(interfaceDef), (capabilities) => {
167
- if (capabilities.length > 0) {
168
- Effect.runSync(Deferred.succeed(deferred, capabilities[0]));
169
- }
170
- });
171
- const result = yield* Deferred.await(deferred);
172
- cancel();
173
- return result;
174
- });
175
- }
176
- };
177
- var make2 = (options) => new CapabilityManagerImpl(options);
178
-
179
- // src/core/plugin-manager.ts
180
- var __dxlog_file2 = "/__w/dxos/dxos/packages/sdk/app-framework/src/core/plugin-manager.ts";
181
- var ManagerTypeId = /* @__PURE__ */ Symbol.for("@dxos/app-framework/Manager");
182
- var isManager = (value) => {
183
- return typeof value === "object" && value !== null && ManagerTypeId in value;
184
- };
185
- var ManagerImpl = class {
186
- [ManagerTypeId] = ManagerTypeId;
187
- activation = Effect2.runSync(PubSub.unbounded());
188
- capabilities;
189
- registry;
190
- _pluginsAtom;
191
- _coreAtom;
192
- _enabledAtom;
193
- _modulesAtom;
194
- _activeAtom;
195
- _eventsFiredAtom;
196
- _pendingResetAtom;
197
- _pluginLoader;
198
- _capabilities = /* @__PURE__ */ new Map();
199
- _moduleMemoMap = /* @__PURE__ */ new Map();
200
- _moduleSemaphores = /* @__PURE__ */ new Map();
201
- _activatingEvents = Effect2.runSync(Ref.make([]));
202
- _activatingModules = Effect2.runSync(Ref.make([]));
203
- constructor({ pluginLoader, plugins = [], core = plugins.map(({ meta }) => meta.id), enabled = [], registry }) {
204
- this.registry = registry ?? Registry.make();
205
- this.capabilities = make2({
206
- registry: this.registry
207
- });
208
- this._pluginLoader = pluginLoader;
209
- this._pluginsAtom = Atom2.make(plugins).pipe(Atom2.keepAlive);
210
- this._coreAtom = Atom2.make(core).pipe(Atom2.keepAlive);
211
- this._enabledAtom = Atom2.make(enabled).pipe(Atom2.keepAlive);
212
- this._modulesAtom = Atom2.make([]).pipe(Atom2.keepAlive);
213
- this._activeAtom = Atom2.make([]).pipe(Atom2.keepAlive);
214
- this._eventsFiredAtom = Atom2.make([]).pipe(Atom2.keepAlive);
215
- this._pendingResetAtom = Atom2.make([]).pipe(Atom2.keepAlive);
216
- plugins.forEach((plugin) => this._addPlugin(plugin));
217
- void Effect2.all([
218
- ...core,
219
- ...enabled
220
- ].map((id) => this.enable(id))).pipe(runAndForwardErrors);
221
- }
222
- get plugins() {
223
- return this._pluginsAtom;
224
- }
225
- get core() {
226
- return this._coreAtom;
227
- }
228
- /**
229
- * Ids of plugins that are currently enabled.
230
- */
231
- get enabled() {
232
- return this._enabledAtom;
233
- }
234
- /**
235
- * Modules of plugins which are currently enabled.
236
- */
237
- get modules() {
238
- return this._modulesAtom;
239
- }
240
- /**
241
- * Ids of modules which are currently active.
242
- */
243
- get active() {
244
- return this._activeAtom;
245
- }
246
- /**
247
- * Ids of events which have been fired.
248
- */
249
- get eventsFired() {
250
- return this._eventsFiredAtom;
251
- }
252
- /**
253
- * Ids of modules which are pending reset.
254
- */
255
- get pendingReset() {
256
- return this._pendingResetAtom;
257
- }
258
- getPlugins() {
259
- return this._get(this._pluginsAtom);
260
- }
261
- getCore() {
262
- return this._get(this._coreAtom);
263
- }
264
- getEnabled() {
265
- return this._get(this._enabledAtom);
266
- }
267
- getModules() {
268
- return this._get(this._modulesAtom);
269
- }
270
- getActive() {
271
- return this._get(this._activeAtom);
272
- }
273
- getEventsFired() {
274
- return this._get(this._eventsFiredAtom);
275
- }
276
- getPendingReset() {
277
- return this._get(this._pendingResetAtom);
278
- }
279
- /**
280
- * Adds a plugin to the manager via the plugin loader.
281
- * @param id The id of the plugin.
282
- */
283
- add(id) {
284
- return Effect2.gen(this, function* () {
285
- log2("add plugin", {
286
- id
287
- }, {
288
- F: __dxlog_file2,
289
- L: 211,
290
- S: this,
291
- C: (f, a) => f(...a)
292
- });
293
- const plugin = yield* this._pluginLoader(id);
294
- this._addPlugin(plugin);
295
- return yield* this.enable(id);
296
- });
297
- }
298
- /**
299
- * Enables a plugin.
300
- * @param id The id of the plugin.
301
- */
302
- enable(id) {
303
- return Effect2.gen(this, function* () {
304
- log2("enable plugin", {
305
- id
306
- }, {
307
- F: __dxlog_file2,
308
- L: 224,
309
- S: this,
310
- C: (f, a) => f(...a)
311
- });
312
- const plugin = this._getPlugin(id);
313
- if (!plugin) {
314
- return false;
315
- }
316
- this._update(this._enabledAtom, (enabled) => enabled.includes(id) ? enabled : [
317
- ...enabled,
318
- id
319
- ]);
320
- plugin.modules.forEach((module) => {
321
- this._addModule(module);
322
- this._setPendingResetByModule(module);
323
- });
324
- log2("pending reset", {
325
- events: [
326
- ...this.getPendingReset()
327
- ]
328
- }, {
329
- F: __dxlog_file2,
330
- L: 237,
331
- S: this,
332
- C: (f, a) => f(...a)
333
- });
334
- yield* Effect2.all(this.getPendingReset().map((event) => this.activate(event)), {
335
- concurrency: "unbounded"
336
- });
337
- return true;
338
- });
339
- }
340
- /**
341
- * Removes a plugin from the manager.
342
- * @param id The id of the plugin.
343
- */
344
- remove(id) {
345
- log2("remove plugin", {
346
- id
347
- }, {
348
- F: __dxlog_file2,
349
- L: 252,
350
- S: this,
351
- C: (f, a) => f(...a)
352
- });
353
- const result = this.disable(id);
354
- if (!result) {
355
- return false;
356
- }
357
- this._removePlugin(id);
358
- return true;
359
- }
360
- /**
361
- * Disables a plugin.
362
- * @param id The id of the plugin.
363
- */
364
- disable(id) {
365
- return Effect2.gen(this, function* () {
366
- log2("disable plugin", {
367
- id
368
- }, {
369
- F: __dxlog_file2,
370
- L: 268,
371
- S: this,
372
- C: (f, a) => f(...a)
373
- });
374
- if (this._get(this._coreAtom).includes(id)) {
375
- return false;
376
- }
377
- const plugin = this._getPlugin(id);
378
- if (!plugin) {
379
- return false;
380
- }
381
- const enabledIndex = this._get(this._enabledAtom).findIndex((enabled) => enabled === id);
382
- if (enabledIndex !== -1) {
383
- this._update(this._enabledAtom, (enabled) => enabled.filter((item) => item !== id));
384
- yield* this.deactivate(id);
385
- plugin.modules.forEach((module) => {
386
- this._removeModule(module.id);
387
- });
388
- }
389
- return true;
390
- });
391
- }
392
- /**
393
- * Activates plugins based on the activation event.
394
- * @param event The activation event.
395
- * @returns Whether the activation was successful.
396
- */
397
- activate(event, params) {
398
- const key = typeof event === "string" ? event : eventKey(event);
399
- return Effect2.gen(this, function* () {
400
- log2("activating", {
401
- key,
402
- ...params
403
- }, {
404
- F: __dxlog_file2,
405
- L: 303,
406
- S: this,
407
- C: (f, a) => f(...a)
408
- });
409
- yield* Ref.update(this._activatingEvents, (activating) => Array.append(activating, key));
410
- const pendingIndex = this._get(this._pendingResetAtom).findIndex((event2) => event2 === key);
411
- if (pendingIndex !== -1) {
412
- this._update(this._pendingResetAtom, (pending) => pending.filter((event2) => event2 !== key));
413
- }
414
- const activatingEvents = yield* this._activatingEvents;
415
- const activatingModules = yield* this._activatingModules;
416
- const modules = this._getInactiveModulesByEvent(key).filter((module) => {
417
- const allOf = isAllOf(module.activatesOn);
418
- if (!allOf) {
419
- return true;
420
- }
421
- const events = getEvents(module.activatesOn).filter((event2) => eventKey(event2) !== key);
422
- return events.every((event2) => this._get(this._eventsFiredAtom).includes(eventKey(event2)) || activatingEvents.includes(eventKey(event2))) && !activatingModules.includes(module.id);
423
- });
424
- yield* Ref.update(this._activatingModules, (activating) => Array.appendAll(activating, modules.map((module) => module.id)));
425
- if (modules.length === 0) {
426
- log2("no modules to activate", {
427
- key
428
- }, {
429
- F: __dxlog_file2,
430
- L: 338,
431
- S: this,
432
- C: (f, a) => f(...a)
433
- });
434
- if (!this._get(this._eventsFiredAtom).includes(key)) {
435
- this._update(this._eventsFiredAtom, (events) => [
436
- ...events,
437
- key
438
- ]);
439
- }
440
- return false;
441
- }
442
- log2("activating modules", {
443
- key,
444
- modules: modules.map((module) => module.id)
445
- }, {
446
- F: __dxlog_file2,
447
- L: 345,
448
- S: this,
449
- C: (f, a) => f(...a)
450
- });
451
- yield* PubSub.publish(this.activation, {
452
- event: key,
453
- state: "activating"
454
- });
455
- const beforeEvents = Function.pipe(modules, Array.flatMap((module) => module.activatesBefore ?? []), HashSet.fromIterable, HashSet.toValues, Array.filter((event2) => !activatingEvents.includes(eventKey(event2))));
456
- yield* Function.pipe(beforeEvents, Array.map((event2) => this.activate(event2, {
457
- before: key
458
- })), Effect2.allWith({
459
- concurrency: "unbounded"
460
- }), together(Effect2.sleep(Duration.seconds(10)).pipe(Effect2.andThen(Effect2.sync(() => log2.warn("activatesBefore is taking a long time", {
461
- event: key,
462
- beforeEvents: beforeEvents.map(eventKey)
463
- }, {
464
- F: __dxlog_file2,
465
- L: 364,
466
- S: this,
467
- C: (f, a) => f(...a)
468
- }))))));
469
- const getCapabilities = yield* Function.pipe(modules, Array.map((mod) => this._loadModule(mod)), Effect2.allWith({
470
- concurrency: "unbounded"
471
- }), Effect2.catchAll((error) => {
472
- return Effect2.gen(this, function* () {
473
- yield* PubSub.publish(this.activation, {
474
- event: key,
475
- state: "error",
476
- error
477
- });
478
- return yield* Effect2.fail(error);
479
- });
480
- }));
481
- yield* Function.pipe(
482
- modules,
483
- Array.zip(getCapabilities),
484
- Array.map(([module, capabilities]) => this._contributeCapabilities(module, capabilities)),
485
- Effect2.all
486
- );
487
- const afterEvents = Function.pipe(modules, Array.flatMap((module) => module.activatesAfter ?? []), HashSet.fromIterable, HashSet.toValues, Array.filter((event2) => !activatingEvents.includes(eventKey(event2))));
488
- yield* Function.pipe(afterEvents, Array.map((event2) => this.activate(event2, {
489
- after: key
490
- })), Effect2.allWith({
491
- concurrency: "unbounded"
492
- }), together(Effect2.sleep(Duration.seconds(10)).pipe(Effect2.andThen(Effect2.sync(() => log2.warn("activatesAfter is taking a long time", {
493
- event: key,
494
- afterEvents: afterEvents.map(eventKey)
495
- }, {
496
- F: __dxlog_file2,
497
- L: 413,
498
- S: this,
499
- C: (f, a) => f(...a)
500
- }))))));
501
- yield* Ref.update(this._activatingEvents, (activating) => Array.filter(activating, (event2) => event2 !== key));
502
- yield* Ref.update(this._activatingModules, (activating) => Array.filter(activating, (module) => !modules.map((module2) => module2.id).includes(module)));
503
- if (!this._get(this._eventsFiredAtom).includes(key)) {
504
- this._update(this._eventsFiredAtom, (events) => [
505
- ...events,
506
- key
507
- ]);
508
- }
509
- yield* PubSub.publish(this.activation, {
510
- event: key,
511
- state: "activated"
512
- });
513
- log2("activated", {
514
- key
515
- }, {
516
- F: __dxlog_file2,
517
- L: 433,
518
- S: this,
519
- C: (f, a) => f(...a)
520
- });
521
- return true;
522
- }).pipe(together(Effect2.sleep(Duration.seconds(15)).pipe(Effect2.andThen(Effect2.sync(() => log2.warn("event activation is taking a long time", {
523
- event: key
524
- }, {
525
- F: __dxlog_file2,
526
- L: 439,
527
- S: this,
528
- C: (f, a) => f(...a)
529
- }))))), Performance.addTrackEntry({
530
- name: typeof event === "string" ? event : eventKey(event),
531
- devtools: {
532
- dataType: "track-entry",
533
- track: "Event Activation",
534
- trackGroup: "Composer",
535
- color: "primary"
536
- }
537
- }));
538
- }
539
- /**
540
- * Deactivates all of the modules for a plugin.
541
- * @param id The id of the plugin.
542
- * @returns Whether the deactivation was successful.
543
- */
544
- deactivate(id) {
545
- return Effect2.gen(this, function* () {
546
- const plugin = this._getPlugin(id);
547
- if (!plugin) {
548
- return false;
549
- }
550
- const modules = plugin.modules;
551
- const results = yield* Effect2.all(modules.map((module) => this._deactivateModule(module)), {
552
- concurrency: "unbounded"
553
- });
554
- return results.every((result) => result);
555
- });
556
- }
557
- /**
558
- * Re-activates the modules that were activated by the event.
559
- * @param event The activation event.
560
- * @returns Whether the reset was successful.
561
- */
562
- reset(event) {
563
- return Effect2.gen(this, function* () {
564
- const key = typeof event === "string" ? event : eventKey(event);
565
- log2("reset", {
566
- key
567
- }, {
568
- F: __dxlog_file2,
569
- L: 483,
570
- S: this,
571
- C: (f, a) => f(...a)
572
- });
573
- const modules = this._getActiveModulesByEvent(key);
574
- const results = yield* Effect2.all(modules.map((module) => this._deactivateModule(module)), {
575
- concurrency: "unbounded"
576
- });
577
- if (results.every((result) => result)) {
578
- return yield* this.activate(key);
579
- } else {
580
- return false;
581
- }
582
- });
583
- }
584
- _get(atom) {
585
- return this.registry.get(atom);
586
- }
587
- _set(atom, value) {
588
- this.registry.set(atom, value);
589
- }
590
- _update(atom, updater) {
591
- this._set(atom, updater(this._get(atom)));
592
- }
593
- _addPlugin(plugin) {
594
- log2("add plugin", {
595
- id: plugin.meta.id
596
- }, {
597
- F: __dxlog_file2,
598
- L: 511,
599
- S: this,
600
- C: (f, a) => f(...a)
601
- });
602
- this._update(this._pluginsAtom, (plugins) => plugins.includes(plugin) ? plugins : [
603
- ...plugins,
604
- plugin
605
- ]);
606
- }
607
- _removePlugin(id) {
608
- log2("remove plugin", {
609
- id
610
- }, {
611
- F: __dxlog_file2,
612
- L: 517,
613
- S: this,
614
- C: (f, a) => f(...a)
615
- });
616
- this._update(this._pluginsAtom, (plugins) => plugins.filter((plugin) => plugin.meta.id !== id));
617
- }
618
- _addModule(module) {
619
- log2("add module", {
620
- id: module.id
621
- }, {
622
- F: __dxlog_file2,
623
- L: 522,
624
- S: this,
625
- C: (f, a) => f(...a)
626
- });
627
- this._update(this._modulesAtom, (modules) => modules.includes(module) ? modules : [
628
- ...modules,
629
- module
630
- ]);
631
- }
632
- _removeModule(id) {
633
- log2("remove module", {
634
- id
635
- }, {
636
- F: __dxlog_file2,
637
- L: 528,
638
- S: this,
639
- C: (f, a) => f(...a)
640
- });
641
- this._update(this._modulesAtom, (modules) => modules.filter((module) => module.id !== id));
642
- }
643
- _getPlugin(id) {
644
- return this._get(this._pluginsAtom).find((plugin) => plugin.meta.id === id);
645
- }
646
- _getActiveModules() {
647
- const active = this._get(this._activeAtom);
648
- return this._get(this._modulesAtom).filter((module) => active.includes(module.id));
649
- }
650
- _getInactiveModules() {
651
- const active = this._get(this._activeAtom);
652
- return this._get(this._modulesAtom).filter((module) => !active.includes(module.id));
653
- }
654
- _getActiveModulesByEvent(key) {
655
- return this._getActiveModules().filter((module) => getEvents(module.activatesOn).map(eventKey).includes(key));
656
- }
657
- _getInactiveModulesByEvent(key) {
658
- return this._getInactiveModules().filter((module) => getEvents(module.activatesOn).map(eventKey).includes(key));
659
- }
660
- _setPendingResetByModule(module) {
661
- const activationEvents = getEvents(module.activatesOn).map(eventKey).filter((key) => this._get(this._eventsFiredAtom).includes(key));
662
- const pendingReset = Array.fromIterable(new Set(activationEvents)).filter((event) => {
663
- const pending = this._get(this._pendingResetAtom);
664
- return !pending.includes(event);
665
- });
666
- if (pendingReset.length > 0) {
667
- log2("pending reset", {
668
- events: pendingReset
669
- }, {
670
- F: __dxlog_file2,
671
- L: 568,
672
- S: this,
673
- C: (f, a) => f(...a)
674
- });
675
- this._update(this._pendingResetAtom, (current) => [
676
- ...current,
677
- ...pendingReset
678
- ]);
679
- }
680
- }
681
- _getModuleSemaphore(moduleId) {
682
- let semaphore = this._moduleSemaphores.get(moduleId);
683
- if (!semaphore) {
684
- semaphore = Effect2.runSync(Effect2.makeSemaphore(1));
685
- this._moduleSemaphores.set(moduleId, semaphore);
686
- }
687
- return semaphore;
688
- }
689
- _loadModule = (module) => Effect2.gen(this, function* () {
690
- const semaphore = this._getModuleSemaphore(module.id);
691
- const deferredToAwait = yield* Effect2.gen(this, function* () {
692
- const existing = this._moduleMemoMap.get(module.id);
693
- if (existing) {
694
- return existing;
695
- }
696
- const deferred = yield* Deferred2.make();
697
- this._moduleMemoMap.set(module.id, deferred);
698
- const loadEffect = Effect2.gen(this, function* () {
699
- log2("loading module", {
700
- module: module.id
701
- }, {
702
- F: __dxlog_file2,
703
- L: 598,
704
- S: this,
705
- C: (f, a) => f(...a)
706
- });
707
- const [duration, capabilities] = yield* module.activate().pipe(Effect2.provideService(Service, this.capabilities), Effect2.provideService(Service2, this), Effect2.timed);
708
- const normalized = capabilities == null ? [] : Array.isArray(capabilities) ? capabilities : [
709
- capabilities
710
- ];
711
- log2("loaded module", {
712
- module: module.id,
713
- elapsed: Duration.toMillis(duration),
714
- failed: false
715
- }, {
716
- F: __dxlog_file2,
717
- L: 607,
718
- S: this,
719
- C: (f, a) => f(...a)
720
- });
721
- return normalized;
722
- }).pipe(Effect2.withSpan("PluginManager._loadModule"), together(Effect2.sleep(Duration.seconds(10)).pipe(Effect2.andThen(Effect2.sync(() => log2.warn(`module is taking a long time to activate`, {
723
- module: module.id
724
- }, {
725
- F: __dxlog_file2,
726
- L: 618,
727
- S: this,
728
- C: (f, a) => f(...a)
729
- }))))), Performance.addTrackEntry({
730
- name: module.id,
731
- devtools: {
732
- dataType: "track-entry",
733
- track: "Module Activation",
734
- trackGroup: "Composer",
735
- color: "primary"
736
- }
737
- }));
738
- yield* Effect2.forkDaemon(loadEffect.pipe(Effect2.tap((result) => Deferred2.succeed(deferred, result)), Effect2.catchAllCause((cause) => {
739
- const error = Cause.squash(cause);
740
- log2.error("module failed to activate", {
741
- module: module.id,
742
- error: error instanceof Error ? error.message : String(error),
743
- stack: error instanceof Error ? error.stack : void 0,
744
- isDefect: !Cause.isFailure(cause)
745
- }, {
746
- F: __dxlog_file2,
747
- L: 639,
748
- S: this,
749
- C: (f, a) => f(...a)
750
- });
751
- return Deferred2.fail(deferred, error instanceof Error ? error : new Error(String(error)));
752
- })));
753
- return deferred;
754
- }).pipe(semaphore.withPermits(1));
755
- return yield* Deferred2.await(deferredToAwait);
756
- });
757
- _contributeCapabilities(module, capabilities) {
758
- return Effect2.gen(this, function* () {
759
- capabilities.forEach((capability) => {
760
- this.capabilities.contribute({
761
- module: module.id,
762
- ...capability
763
- });
764
- });
765
- this._update(this._activeAtom, (active) => [
766
- ...active,
767
- module.id
768
- ]);
769
- this._capabilities.set(module.id, capabilities);
770
- });
771
- }
772
- _deactivateModule(module) {
773
- return Effect2.gen(this, function* () {
774
- const id = module.id;
775
- log2("deactivating", {
776
- id
777
- }, {
778
- F: __dxlog_file2,
779
- L: 673,
780
- S: this,
781
- C: (f, a) => f(...a)
782
- });
783
- this._moduleMemoMap.delete(id);
784
- const capabilities = this._capabilities.get(id);
785
- if (capabilities) {
786
- for (const capability of capabilities) {
787
- this.capabilities.remove(capability.interface, capability.implementation);
788
- const program = capability.deactivate?.() ?? Effect2.succeed(void 0);
789
- yield* program;
790
- }
791
- this._capabilities.delete(id);
792
- }
793
- const activeIndex = this._get(this._activeAtom).findIndex((event) => event === id);
794
- if (activeIndex !== -1) {
795
- this._update(this._activeAtom, (active) => active.filter((event) => event !== id));
796
- }
797
- log2("deactivated", {
798
- id
799
- }, {
800
- F: __dxlog_file2,
801
- L: 691,
802
- S: this,
803
- C: (f, a) => f(...a)
804
- });
805
- return true;
806
- });
807
- }
808
- };
809
- var make5 = (options) => new ManagerImpl(options);
810
- var together = (togetherEffect) => (effect) => Effect2.gen(function* () {
811
- const togetherFiber = yield* Effect2.fork(togetherEffect);
812
- const result = yield* effect;
813
- yield* Fiber.interrupt(togetherFiber);
814
- return result;
815
- });
816
-
817
- export {
818
- capability_manager_exports,
819
- ManagerTypeId,
820
- isManager,
821
- make5 as make,
822
- plugin_manager_exports
823
- };
824
- //# sourceMappingURL=chunk-HE27PNNQ.mjs.map