@dxos/app-framework 0.8.4-main.d05673bc65 → 0.8.4-main.dfabb4ec29

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