@dxos/app-framework 0.9.0 → 0.9.1-staging.ee54ba693a

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 (224) hide show
  1. package/dist/lib/browser/{capability-BOPAKKWG.mjs → capability-S44TE2H7.mjs} +9 -9
  2. package/dist/lib/browser/{chunk-66IXTIVK.mjs → chunk-3NQLTQCP.mjs} +6 -7
  3. package/dist/lib/browser/chunk-3NQLTQCP.mjs.map +7 -0
  4. package/dist/lib/browser/chunk-53HJHMS5.mjs +7 -0
  5. package/dist/lib/browser/chunk-53HJHMS5.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-Y66ELD4U.mjs → chunk-KRJ4KK2W.mjs} +36 -7
  7. package/dist/lib/browser/chunk-KRJ4KK2W.mjs.map +7 -0
  8. package/dist/lib/browser/{chunk-KZUDO43J.mjs → chunk-LUH4Y5F2.mjs} +31 -23
  9. package/dist/lib/browser/chunk-LUH4Y5F2.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-CO3XLNUX.mjs → chunk-NKVRSMFN.mjs} +18 -18
  11. package/dist/lib/browser/chunk-NKVRSMFN.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-DC3WRPBV.mjs → chunk-OO53M5UK.mjs} +45 -12
  13. package/dist/lib/browser/chunk-OO53M5UK.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-IW44C7UL.mjs → chunk-OPTS3ZSN.mjs} +1 -1
  15. package/dist/lib/browser/chunk-OPTS3ZSN.mjs.map +7 -0
  16. package/dist/lib/browser/{chunk-HFLKXMT7.mjs → chunk-U5MESPM5.mjs} +61 -45
  17. package/dist/lib/browser/chunk-U5MESPM5.mjs.map +7 -0
  18. package/dist/lib/browser/{chunk-XHS5KDNX.mjs → chunk-UGYCLOXE.mjs} +25 -25
  19. package/dist/lib/browser/chunk-UGYCLOXE.mjs.map +7 -0
  20. package/dist/lib/browser/{chunk-5GY3YOEL.mjs → chunk-VF37YTXJ.mjs} +5 -5
  21. package/dist/lib/browser/chunk-VF37YTXJ.mjs.map +7 -0
  22. package/dist/lib/browser/{chunk-FO3IYSLV.mjs → chunk-YUVQIOTB.mjs} +29 -37
  23. package/dist/lib/browser/chunk-YUVQIOTB.mjs.map +7 -0
  24. package/dist/lib/browser/cli/index.mjs +9 -9
  25. package/dist/lib/browser/cli/index.mjs.map +2 -2
  26. package/dist/lib/browser/common/activation-events.mjs +7 -7
  27. package/dist/lib/browser/common/capabilities.mjs +7 -7
  28. package/dist/lib/browser/config/index.mjs +8 -0
  29. package/dist/lib/browser/config/index.mjs.map +7 -0
  30. package/dist/lib/browser/core/activation-event.mjs +1 -1
  31. package/dist/lib/browser/core/capability.mjs +1 -1
  32. package/dist/lib/browser/core/plugin-manager.mjs +4 -4
  33. package/dist/lib/browser/core/plugin.mjs +12 -2
  34. package/dist/lib/browser/core/url-loader.mjs +3 -3
  35. package/dist/lib/browser/index.mjs +14 -10
  36. package/dist/lib/browser/index.mjs.map +1 -1
  37. package/dist/lib/browser/meta.json +1 -1
  38. package/dist/lib/browser/{process-manager-capability-GXNUO7AR.mjs → process-manager-capability-QK4BMKMN.mjs} +9 -9
  39. package/dist/lib/browser/testing/index.mjs +15 -15
  40. package/dist/lib/browser/testing/index.mjs.map +3 -3
  41. package/dist/lib/browser/testing/react.mjs +11 -11
  42. package/dist/lib/browser/testing/react.mjs.map +3 -3
  43. package/dist/lib/browser/ui/index.mjs +18 -10
  44. package/dist/lib/node-esm/{capability-KZWRTX7R.mjs → capability-3YRF77LV.mjs} +9 -9
  45. package/dist/lib/node-esm/chunk-2UPUZXGU.mjs +9 -0
  46. package/dist/lib/node-esm/chunk-2UPUZXGU.mjs.map +7 -0
  47. package/dist/lib/node-esm/{chunk-XIGPWXCQ.mjs → chunk-4SE7SX7N.mjs} +45 -12
  48. package/dist/lib/node-esm/chunk-4SE7SX7N.mjs.map +7 -0
  49. package/dist/lib/node-esm/{chunk-XOCUANHO.mjs → chunk-BMW6P6QA.mjs} +6 -7
  50. package/dist/lib/node-esm/chunk-BMW6P6QA.mjs.map +7 -0
  51. package/dist/lib/node-esm/{chunk-A5CHGAZE.mjs → chunk-DRT75WGD.mjs} +61 -45
  52. package/dist/lib/node-esm/chunk-DRT75WGD.mjs.map +7 -0
  53. package/dist/lib/node-esm/{chunk-XGBUKRCK.mjs → chunk-FKMVORZN.mjs} +31 -23
  54. package/dist/lib/node-esm/chunk-FKMVORZN.mjs.map +7 -0
  55. package/dist/lib/node-esm/{chunk-CTKEZHKF.mjs → chunk-GLH4LGHZ.mjs} +1 -1
  56. package/dist/lib/node-esm/chunk-GLH4LGHZ.mjs.map +7 -0
  57. package/dist/lib/node-esm/{chunk-SX5NVETP.mjs → chunk-IL7O7IRX.mjs} +25 -25
  58. package/dist/lib/node-esm/chunk-IL7O7IRX.mjs.map +7 -0
  59. package/dist/lib/node-esm/{chunk-FSVGKTF6.mjs → chunk-ND2HETHD.mjs} +36 -7
  60. package/dist/lib/node-esm/chunk-ND2HETHD.mjs.map +7 -0
  61. package/dist/lib/node-esm/{chunk-KFZEB6BV.mjs → chunk-TLKYZKPW.mjs} +5 -5
  62. package/dist/lib/node-esm/chunk-TLKYZKPW.mjs.map +7 -0
  63. package/dist/lib/node-esm/{chunk-WK7OIQKI.mjs → chunk-VCPGX7WN.mjs} +29 -37
  64. package/dist/lib/node-esm/chunk-VCPGX7WN.mjs.map +7 -0
  65. package/dist/lib/node-esm/{chunk-NULBHQYS.mjs → chunk-XSZMX53L.mjs} +18 -18
  66. package/dist/lib/node-esm/chunk-XSZMX53L.mjs.map +7 -0
  67. package/dist/lib/node-esm/cli/index.mjs +9 -9
  68. package/dist/lib/node-esm/cli/index.mjs.map +2 -2
  69. package/dist/lib/node-esm/common/activation-events.mjs +7 -7
  70. package/dist/lib/node-esm/common/capabilities.mjs +7 -7
  71. package/dist/lib/node-esm/config/index.mjs +9 -0
  72. package/dist/lib/node-esm/config/index.mjs.map +7 -0
  73. package/dist/lib/node-esm/core/activation-event.mjs +1 -1
  74. package/dist/lib/node-esm/core/capability.mjs +1 -1
  75. package/dist/lib/node-esm/core/plugin-manager.mjs +4 -4
  76. package/dist/lib/node-esm/core/plugin.mjs +12 -2
  77. package/dist/lib/node-esm/core/url-loader.mjs +3 -3
  78. package/dist/lib/node-esm/index.mjs +14 -10
  79. package/dist/lib/node-esm/index.mjs.map +1 -1
  80. package/dist/lib/node-esm/meta.json +1 -1
  81. package/dist/lib/node-esm/{process-manager-capability-TX5TA6YN.mjs → process-manager-capability-5S7WZ2JR.mjs} +9 -9
  82. package/dist/lib/node-esm/testing/index.mjs +15 -15
  83. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  84. package/dist/lib/node-esm/testing/react.mjs +11 -11
  85. package/dist/lib/node-esm/testing/react.mjs.map +3 -3
  86. package/dist/lib/node-esm/ui/index.mjs +18 -10
  87. package/dist/plugin/node-esm/index.mjs +414 -81
  88. package/dist/plugin/node-esm/index.mjs.map +4 -4
  89. package/dist/plugin/node-esm/meta.json +1 -1
  90. package/dist/types/src/cli/cli.d.ts +1 -1
  91. package/dist/types/src/common/activation-events.d.ts.map +1 -1
  92. package/dist/types/src/common/capabilities.d.ts +2 -2
  93. package/dist/types/src/common/capabilities.d.ts.map +1 -1
  94. package/dist/types/src/config/index.d.ts +2 -0
  95. package/dist/types/src/config/index.d.ts.map +1 -0
  96. package/dist/types/src/core/activation-event.d.ts +9 -6
  97. package/dist/types/src/core/activation-event.d.ts.map +1 -1
  98. package/dist/types/src/core/capability.d.ts +9 -3
  99. package/dist/types/src/core/capability.d.ts.map +1 -1
  100. package/dist/types/src/core/edge-registry-plugin-provider.d.ts +6 -11
  101. package/dist/types/src/core/edge-registry-plugin-provider.d.ts.map +1 -1
  102. package/dist/types/src/core/plugin-manager.d.ts.map +1 -1
  103. package/dist/types/src/core/plugin-manifest.d.ts +25 -7
  104. package/dist/types/src/core/plugin-manifest.d.ts.map +1 -1
  105. package/dist/types/src/core/plugin.d.ts +89 -91
  106. package/dist/types/src/core/plugin.d.ts.map +1 -1
  107. package/dist/types/src/core/registry.d.ts +17 -57
  108. package/dist/types/src/core/registry.d.ts.map +1 -1
  109. package/dist/types/src/core/url-loader.d.ts +2 -2
  110. package/dist/types/src/core/url-loader.d.ts.map +1 -1
  111. package/dist/types/src/index.d.ts +1 -0
  112. package/dist/types/src/index.d.ts.map +1 -1
  113. package/dist/types/src/plugin-process-manager/history/capability.d.ts +1 -3
  114. package/dist/types/src/plugin-process-manager/history/capability.d.ts.map +1 -1
  115. package/dist/types/src/plugin-process-manager/meta.d.ts +32 -2
  116. package/dist/types/src/plugin-process-manager/meta.d.ts.map +1 -1
  117. package/dist/types/src/plugin-process-manager/process-manager-capability.d.ts +1 -4
  118. package/dist/types/src/plugin-process-manager/process-manager-capability.d.ts.map +1 -1
  119. package/dist/types/src/testing/harness.d.ts +1 -1
  120. package/dist/types/src/testing/harness.d.ts.map +1 -1
  121. package/dist/types/src/testing/react.d.ts +6 -5
  122. package/dist/types/src/testing/react.d.ts.map +1 -1
  123. package/dist/types/src/testing/withPluginManager.d.ts.map +1 -1
  124. package/dist/types/src/testing/withPluginManager.stories.d.ts.map +1 -1
  125. package/dist/types/src/ui/components/App/App.stories.d.ts +2 -2
  126. package/dist/types/src/ui/components/App/App.stories.d.ts.map +1 -1
  127. package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts +6 -0
  128. package/dist/types/src/ui/components/PluginManager/PluginManagerProvider.d.ts.map +1 -1
  129. package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts +6 -10
  130. package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts.map +1 -1
  131. package/dist/types/src/ui/components/Surface/SurfaceComponent.stories.d.ts.map +1 -1
  132. package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts +1 -1
  133. package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts.map +1 -1
  134. package/dist/types/src/ui/components/Surface/context.d.ts +6 -2
  135. package/dist/types/src/ui/components/Surface/context.d.ts.map +1 -1
  136. package/dist/types/src/ui/components/Surface/index.d.ts +11 -4
  137. package/dist/types/src/ui/components/Surface/index.d.ts.map +1 -1
  138. package/dist/types/src/ui/components/Surface/types.d.ts +52 -72
  139. package/dist/types/src/ui/components/Surface/types.d.ts.map +1 -1
  140. package/dist/types/src/ui/hooks/useApp.d.ts +1 -1
  141. package/dist/types/src/ui/hooks/useCapabilities.d.ts +17 -1
  142. package/dist/types/src/ui/hooks/useCapabilities.d.ts.map +1 -1
  143. package/dist/types/src/vite-plugin/composer/index.d.ts +11 -4
  144. package/dist/types/src/vite-plugin/composer/index.d.ts.map +1 -1
  145. package/dist/types/src/vite-plugin/import-map/index.d.ts.map +1 -1
  146. package/dist/types/src/vite-plugin/index.d.ts +1 -0
  147. package/dist/types/src/vite-plugin/index.d.ts.map +1 -1
  148. package/dist/types/src/vite-plugin/load.d.ts +16 -0
  149. package/dist/types/src/vite-plugin/load.d.ts.map +1 -0
  150. package/dist/types/src/vite-plugin/manifest.d.ts +16 -4
  151. package/dist/types/src/vite-plugin/manifest.d.ts.map +1 -1
  152. package/dist/types/src/vite-plugin/packages.d.ts.map +1 -1
  153. package/dist/types/tsconfig.tsbuildinfo +1 -1
  154. package/docs/registry-spec.md +331 -0
  155. package/moon.yml +1 -0
  156. package/package.json +50 -39
  157. package/src/cli/cli.ts +2 -2
  158. package/src/common/activation-events.ts +3 -3
  159. package/src/common/capabilities.ts +18 -18
  160. package/src/config/index.ts +5 -0
  161. package/src/core/activation-event.ts +15 -8
  162. package/src/core/capability.ts +18 -6
  163. package/src/core/edge-registry-plugin-provider.ts +41 -42
  164. package/src/core/plugin-manager.test.ts +133 -137
  165. package/src/core/plugin-manager.ts +25 -19
  166. package/src/core/plugin-manifest.test.ts +5 -5
  167. package/src/core/plugin-manifest.ts +13 -10
  168. package/src/core/plugin.ts +58 -114
  169. package/src/core/registry.ts +20 -60
  170. package/src/core/url-loader.test.ts +2 -2
  171. package/src/core/url-loader.ts +23 -19
  172. package/src/index.ts +1 -0
  173. package/src/testing/harness.ts +5 -3
  174. package/src/testing/react.test.tsx +4 -2
  175. package/src/testing/react.tsx +10 -9
  176. package/src/testing/service.ts +2 -2
  177. package/src/testing/withPluginManager.stories.tsx +4 -2
  178. package/src/testing/withPluginManager.tsx +3 -1
  179. package/src/ui/components/App/App.stories.tsx +2 -2
  180. package/src/ui/components/PluginManager/PluginManagerProvider.ts +7 -0
  181. package/src/ui/components/Surface/SurfaceComponent.stories.tsx +22 -22
  182. package/src/ui/components/Surface/SurfaceComponent.tsx +90 -79
  183. package/src/ui/components/Surface/SurfaceProfilerContext.tsx +1 -1
  184. package/src/ui/components/Surface/context.ts +6 -4
  185. package/src/ui/components/Surface/index.ts +14 -3
  186. package/src/ui/components/Surface/types.test.ts +43 -51
  187. package/src/ui/components/Surface/types.ts +99 -64
  188. package/src/ui/hooks/useApp.test.tsx +1 -1
  189. package/src/ui/hooks/useApp.tsx +2 -2
  190. package/src/ui/hooks/useCapabilities.ts +49 -2
  191. package/src/vite-plugin/boot-loader/BootLoader.solid-stories.tsx +11 -11
  192. package/src/vite-plugin/boot-loader/loader.ts +3 -3
  193. package/src/vite-plugin/composer/index.ts +134 -61
  194. package/src/vite-plugin/import-map/index.ts +23 -7
  195. package/src/vite-plugin/index.ts +1 -0
  196. package/src/vite-plugin/load.ts +57 -0
  197. package/src/vite-plugin/manifest.test.ts +3 -3
  198. package/src/vite-plugin/manifest.ts +21 -10
  199. package/src/vite-plugin/packages.ts +0 -2
  200. package/tsconfig.json +5 -2
  201. package/dist/lib/browser/chunk-5GY3YOEL.mjs.map +0 -7
  202. package/dist/lib/browser/chunk-66IXTIVK.mjs.map +0 -7
  203. package/dist/lib/browser/chunk-CO3XLNUX.mjs.map +0 -7
  204. package/dist/lib/browser/chunk-DC3WRPBV.mjs.map +0 -7
  205. package/dist/lib/browser/chunk-FO3IYSLV.mjs.map +0 -7
  206. package/dist/lib/browser/chunk-HFLKXMT7.mjs.map +0 -7
  207. package/dist/lib/browser/chunk-IW44C7UL.mjs.map +0 -7
  208. package/dist/lib/browser/chunk-KZUDO43J.mjs.map +0 -7
  209. package/dist/lib/browser/chunk-XHS5KDNX.mjs.map +0 -7
  210. package/dist/lib/browser/chunk-Y66ELD4U.mjs.map +0 -7
  211. package/dist/lib/node-esm/chunk-A5CHGAZE.mjs.map +0 -7
  212. package/dist/lib/node-esm/chunk-CTKEZHKF.mjs.map +0 -7
  213. package/dist/lib/node-esm/chunk-FSVGKTF6.mjs.map +0 -7
  214. package/dist/lib/node-esm/chunk-KFZEB6BV.mjs.map +0 -7
  215. package/dist/lib/node-esm/chunk-NULBHQYS.mjs.map +0 -7
  216. package/dist/lib/node-esm/chunk-SX5NVETP.mjs.map +0 -7
  217. package/dist/lib/node-esm/chunk-WK7OIQKI.mjs.map +0 -7
  218. package/dist/lib/node-esm/chunk-XGBUKRCK.mjs.map +0 -7
  219. package/dist/lib/node-esm/chunk-XIGPWXCQ.mjs.map +0 -7
  220. package/dist/lib/node-esm/chunk-XOCUANHO.mjs.map +0 -7
  221. /package/dist/lib/browser/{capability-BOPAKKWG.mjs.map → capability-S44TE2H7.mjs.map} +0 -0
  222. /package/dist/lib/browser/{process-manager-capability-GXNUO7AR.mjs.map → process-manager-capability-QK4BMKMN.mjs.map} +0 -0
  223. /package/dist/lib/node-esm/{capability-KZWRTX7R.mjs.map → capability-3YRF77LV.mjs.map} +0 -0
  224. /package/dist/lib/node-esm/{process-manager-capability-TX5TA6YN.mjs.map → process-manager-capability-5S7WZ2JR.mjs.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  activation_event_exports
3
- } from "./chunk-66IXTIVK.mjs";
3
+ } from "./chunk-3NQLTQCP.mjs";
4
4
  import {
5
5
  __export
6
6
  } from "./chunk-J5LGTIGS.mjs";
@@ -14,9 +14,9 @@ __export(activation_events_exports, {
14
14
  Startup: () => Startup
15
15
  });
16
16
  var Startup = activation_event_exports.make("org.dxos.app-framework.event.startup");
17
- var SetupReactSurface = activation_event_exports.make("org.dxos.app-framework.event.setup-react-surface");
18
- var SetupProcessManager = activation_event_exports.make("org.dxos.app-framework.event.setup-process-manager");
19
- var ProcessManagerReady = activation_event_exports.make("org.dxos.app-framework.event.process-manager-ready");
17
+ var SetupReactSurface = activation_event_exports.make("org.dxos.app-framework.event.setupReactSurface");
18
+ var SetupProcessManager = activation_event_exports.make("org.dxos.app-framework.event.setupProcessManager");
19
+ var ProcessManagerReady = activation_event_exports.make("org.dxos.app-framework.event.processManagerReady");
20
20
 
21
21
  export {
22
22
  Startup,
@@ -25,4 +25,4 @@ export {
25
25
  ProcessManagerReady,
26
26
  activation_events_exports
27
27
  };
28
- //# sourceMappingURL=chunk-5GY3YOEL.mjs.map
28
+ //# sourceMappingURL=chunk-VF37YTXJ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/common/activation-events.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { ActivationEvent as ActivationEvent$ } from '../core';\n\n/**\n * Fired when the app is started.\n */\nexport const Startup = ActivationEvent$.make('org.dxos.app-framework.event.startup');\n\n//\n// Dependent Events\n//\n\n/**\n * Fired to load any newly available surfaces.\n */\nexport const SetupReactSurface = ActivationEvent$.make('org.dxos.app-framework.event.setupReactSurface');\n\n/**\n * Fired before the process manager is created.\n * Plugins should contribute their {@link Capabilities.LayerSpec} entries and\n * {@link Capabilities.OperationHandler} sets before this event fires so the\n * process manager's {@link ServiceResolver} and {@link OperationInvoker} pick\n * them up at construction time.\n */\nexport const SetupProcessManager = ActivationEvent$.make('org.dxos.app-framework.event.setupProcessManager');\n\n//\n// Triggered Events\n//\n\n/**\n * Fired after the process manager runtime is ready and its derived capabilities\n * (`ProcessManagerRuntime`, `ServiceResolver`, `ProcessMonitor`, `OperationInvoker`)\n * have been contributed.\n */\nexport const ProcessManagerReady = ActivationEvent$.make('org.dxos.app-framework.event.processManagerReady');\n"],
5
+ "mappings": ";;;;;;;;AAAA;;;;;;;AASO,IAAMA,UAAUC,yBAAiBC,KAAK,sCAAA;AAStC,IAAMC,oBAAoBF,yBAAiBC,KAAK,gDAAA;AAShD,IAAME,sBAAsBH,yBAAiBC,KAAK,kDAAA;AAWlD,IAAMG,sBAAsBJ,yBAAiBC,KAAK,kDAAA;",
6
+ "names": ["Startup", "ActivationEvent$", "make", "SetupReactSurface", "SetupProcessManager", "ProcessManagerReady"]
7
+ }
@@ -2,61 +2,53 @@
2
2
  import * as Effect from "effect/Effect";
3
3
  import { Context } from "@dxos/context";
4
4
  var __dxlog_file = "/__w/dxos/dxos/packages/sdk/app-framework/src/core/edge-registry-plugin-provider.ts";
5
- var toRegistryPlugin = (entry) => ({
6
- id: entry.meta.id,
7
- name: entry.meta.name,
8
- description: entry.meta.description,
9
- homePage: entry.meta.homePage,
10
- source: entry.meta.source,
11
- screenshots: entry.meta.screenshots ? [
12
- ...entry.meta.screenshots
13
- ] : void 0,
14
- tags: entry.meta.tags ? [
15
- ...entry.meta.tags
16
- ] : void 0,
17
- icon: entry.meta.icon,
18
- iconHue: entry.meta.iconHue,
19
- moduleUrl: entry.moduleUrl,
20
- repo: entry.repo,
21
- version: entry.releaseTag
22
- });
5
+ var toRegistryPlugin = (entry) => {
6
+ if (!entry.releases?.length) {
7
+ return null;
8
+ }
9
+ const latestRelease = entry.releases.find((release) => release.version === entry.latestVersion) ?? entry.releases[0];
10
+ return {
11
+ profile: {
12
+ ...entry.profile,
13
+ // Provenance: the verified publisher is the author (handle preferred, DID fallback).
14
+ author: entry.handle ?? entry.did
15
+ },
16
+ release: latestRelease
17
+ };
18
+ };
23
19
  var EdgeRegistryPluginProvider = class {
24
20
  _client;
25
21
  // Cached on first load so getPlugin/listVersions can resolve without re-fetching.
26
22
  #cachedPlugins = [];
23
+ #cachedEntries = [];
27
24
  constructor(_client) {
28
25
  this._client = _client;
29
26
  }
30
27
  listPlugins() {
31
28
  return Effect.tryPromise({
32
- try: () => this._client.getRegistryPlugins(Context.default(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 56 })),
29
+ try: () => this._client.getRegistryPlugins(Context.default(void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 48 })),
33
30
  catch: (error) => error instanceof Error ? error : new Error(String(error))
34
31
  }).pipe(Effect.map((body) => {
35
- const plugins = body.plugins.filter((entry) => entry.health === "ok").map(toRegistryPlugin);
32
+ this.#cachedEntries = body.plugins;
33
+ const plugins = body.plugins.map(toRegistryPlugin).filter((entry) => entry !== null);
36
34
  this.#cachedPlugins = plugins;
37
35
  return plugins;
38
36
  }));
39
37
  }
40
- listVersions(repo) {
41
- const plugin = this.#cachedPlugins.find((candidate) => candidate.repo === repo);
42
- if (!plugin) {
43
- return Effect.fail(new Error(`Plugin not found in catalog: ${repo}`));
38
+ listVersions(id) {
39
+ const entry = this.#cachedEntries.find((candidate) => candidate.profile.key === id);
40
+ if (!entry) {
41
+ return Effect.fail(new Error(`Plugin not found in catalog: ${id}`));
44
42
  }
45
- const version = {
46
- tag: plugin.version,
47
- moduleUrl: plugin.moduleUrl
48
- };
49
- return Effect.succeed([
50
- version
51
- ]);
43
+ return Effect.succeed(entry.releases);
52
44
  }
53
- getPlugin(repo, version) {
54
- const plugin = this.#cachedPlugins.find((p) => p.repo === repo);
45
+ getPlugin(id, version) {
46
+ const plugin = this.#cachedPlugins.find((candidate) => candidate.profile.key === id);
55
47
  if (!plugin) {
56
- return Effect.fail(new Error(`Plugin not found in catalog: ${repo}`));
48
+ return Effect.fail(new Error(`Plugin not found in catalog: ${id}`));
57
49
  }
58
- if (version && version !== plugin.version) {
59
- return Effect.fail(new Error(`Version ${version} not available for ${repo}; only ${plugin.version} is cached`));
50
+ if (version && version !== plugin.release?.version) {
51
+ return Effect.fail(new Error(`Version ${version} not available for ${id}; only ${plugin.release?.version} is cached`));
60
52
  }
61
53
  return Effect.succeed(plugin);
62
54
  }
@@ -65,4 +57,4 @@ var EdgeRegistryPluginProvider = class {
65
57
  export {
66
58
  EdgeRegistryPluginProvider
67
59
  };
68
- //# sourceMappingURL=chunk-FO3IYSLV.mjs.map
60
+ //# sourceMappingURL=chunk-YUVQIOTB.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/core/edge-registry-plugin-provider.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Context } from '@dxos/context';\nimport { type EdgeHttpClient } from '@dxos/edge-client';\nimport { type PluginView } from '@dxos/protocols';\n\nimport type * as Plugin from './plugin';\nimport * as Registry from './registry';\n\n/**\n * Maps a wire-format `PluginView` (from `@dxos/protocols`) to a runtime `Plugin.Meta`: the nested\n * `profile` (the view's profile plus the resolved provenance `author`) and the latest `release`.\n *\n * This is the one translation seam between the nested wire view and the resolved runtime manifest.\n * `profile.key` is the composer plugin id — a valid NSID — so `DXN.make(profile.key, release.version)`\n * reconstructs the canonical plugin DXN.\n */\nconst toRegistryPlugin = (entry: PluginView): Plugin.Meta | null => {\n if (!entry.releases?.length) {\n return null;\n }\n const latestRelease = entry.releases.find((release) => release.version === entry.latestVersion) ?? entry.releases[0];\n return {\n profile: {\n ...entry.profile,\n // Provenance: the verified publisher is the author (handle preferred, DID fallback).\n author: entry.handle ?? entry.did,\n },\n release: latestRelease,\n };\n};\n\n/**\n * Implements `Registry.PluginProvider` against the Edge `/registry` HTTP endpoints.\n *\n * Lives in app-framework (rather than the more obvious home of `@dxos/edge-client`)\n * because edge-client doesn't depend on app-framework; siting the implementation\n * here keeps the dependency arrow `app-framework → edge-client` and avoids a\n * cycle. The class needs only the public `EdgeHttpClient` type, so a one-way\n * type-import is enough.\n *\n * `listVersions` is served directly from the `releases` array inlined on each\n * entry — no separate endpoint is needed.\n */\nexport class EdgeRegistryPluginProvider implements Registry.PluginProvider {\n // Cached on first load so getPlugin/listVersions can resolve without re-fetching.\n #cachedPlugins: readonly Plugin.Meta[] = [];\n #cachedEntries: readonly PluginView[] = [];\n\n constructor(private readonly _client: EdgeHttpClient) {}\n\n listPlugins(): Effect.Effect<readonly Plugin.Meta[], Error> {\n return Effect.tryPromise({\n try: () => this._client.getRegistryPlugins(Context.default()),\n catch: (error) => (error instanceof Error ? error : new Error(String(error))),\n }).pipe(\n Effect.map((body) => {\n this.#cachedEntries = body.plugins;\n const plugins = body.plugins.map(toRegistryPlugin).filter((entry): entry is Plugin.Meta => entry !== null);\n this.#cachedPlugins = plugins;\n return plugins;\n }),\n );\n }\n\n listVersions(id: string): Effect.Effect<readonly Plugin.Release[], Error> {\n const entry = this.#cachedEntries.find((candidate) => candidate.profile.key === id);\n if (!entry) {\n return Effect.fail(new Error(`Plugin not found in catalog: ${id}`));\n }\n // Releases are already `PluginRelease`-shaped on the wire view; serve them directly.\n return Effect.succeed(entry.releases);\n }\n\n getPlugin(id: string, version?: string): Effect.Effect<Plugin.Meta, Error> {\n const plugin = this.#cachedPlugins.find((candidate) => candidate.profile.key === id);\n if (!plugin) {\n return Effect.fail(new Error(`Plugin not found in catalog: ${id}`));\n }\n if (version && version !== plugin.release?.version) {\n return Effect.fail(\n new Error(`Version ${version} not available for ${id}; only ${plugin.release?.version} is cached`),\n );\n }\n return Effect.succeed(plugin);\n }\n}\n"],
5
+ "mappings": ";AAIA,YAAYA,YAAY;AAExB,SAASC,eAAe;AAOxB,IAAA,eAAA;IAUI,mBAAO,CAAA,UAAA;AACT,MAAA,CAAA,MAAA,UAAA,QAAA;AACA,WAAMC;EACN;QACEC,gBAAS,MAAA,SAAA,KAAA,CAAA,YAAA,QAAA,YAAA,MAAA,aAAA,KAAA,MAAA,SAAA,CAAA;;aAEP;MACAC,GAAAA,MAAQC;;MAEVC,QAASJ,MAAAA,UAAAA,MAAAA;IACX;IACF,SAAA;EAEA;;AAaE,IAAA,6BAAA,MAAA;EACA;;EAGA,iBAA6BK,CAAAA;mBAAAA,CAAAA;EAA0B,YAAA,SAAA;AAEvDC,SAAAA,UAA4D;;gBAEnD;WACGC,kBAAWA;MAClBC,KACDV,MAAAA,KAAU,QAAEW,mBAAAA,QAAAA,QAAAA,QAAAA,EAAAA,YAAAA,YAAAA,GAAAA,cAAAA,GAAAA,GAAAA,CAAAA,CAAAA;MACV,OAAK,CAAA,UAAA,iBAAsBC,QAAO,QAAA,IAAA,MAAA,OAAA,KAAA,CAAA;YAC5BA,WAAAA,CAAUD,SAAKC;AACrB,WAAK,iBAAiBA,KAAAA;AACtB,YAAA,UAAOA,KAAAA,QAAAA,IAAAA,gBAAAA,EAAAA,OAAAA,CAAAA,UAAAA,UAAAA,IAAAA;AACT,WAAA,iBAAA;AAEJ,aAAA;IAEAC,CAAAA,CAAAA;;eAEOR,IAAO;UACV,QAAOL,KAAOc,eAAgB,KAAA,CAAA,cAAA,UAAA,QAAmC,QAAA,EAAA;AACnE,QAAA,CAAA,OAAA;AACA,aAAA,YAAA,IAAA,MAAA,gCAAA,EAAA,EAAA,CAAA;IACA;AAGFC,WAAsBC,eAAqD,MAAA,QAAA;;YAEpEC,IAAAA,SAAQ;UACX,SAAOjB,KAAOc,eAAgB,KAAA,CAAA,cAAA,UAA6B,QAAM,QAAA,EAAA;AACnE,QAAA,CAAA,QAAA;AACIE,aAAWA,YAAAA,IAAYC,MAAAA,gCAAyB,EAAA,EAAA,CAAA;;AAIpD,QAAA,WAAA,YAAA,OAAA,SAAA,SAAA;AACA,aAAcC,YAAQD,IAAAA,MAAAA,WAAAA,OAAAA,sBAAAA,EAAAA,UAAAA,OAAAA,SAAAA,OAAAA,YAAAA,CAAAA;IACxB;AACF,WAAA,eAAA,MAAA;;;",
6
+ "names": ["Effect", "Context", "latestRelease", "profile", "author", "entry", "release", "_client", "listPlugins", "error", "pipe", "body", "plugins", "listVersions", "fail", "getPlugin", "version", "plugin", "succeed"]
7
+ }
@@ -1,22 +1,22 @@
1
1
  import "../chunk-Q2GLJTVV.mjs";
2
2
  import {
3
3
  capabilities_exports
4
- } from "../chunk-CO3XLNUX.mjs";
4
+ } from "../chunk-NKVRSMFN.mjs";
5
5
  import {
6
6
  activation_events_exports
7
- } from "../chunk-5GY3YOEL.mjs";
8
- import "../chunk-FO3IYSLV.mjs";
9
- import "../chunk-KZUDO43J.mjs";
7
+ } from "../chunk-VF37YTXJ.mjs";
8
+ import "../chunk-YUVQIOTB.mjs";
9
+ import "../chunk-LUH4Y5F2.mjs";
10
10
  import {
11
11
  plugin_manager_exports
12
- } from "../chunk-XHS5KDNX.mjs";
13
- import "../chunk-66IXTIVK.mjs";
12
+ } from "../chunk-UGYCLOXE.mjs";
13
+ import "../chunk-3NQLTQCP.mjs";
14
14
  import {
15
15
  plugin_exports
16
- } from "../chunk-DC3WRPBV.mjs";
16
+ } from "../chunk-OO53M5UK.mjs";
17
17
  import {
18
18
  capability_exports
19
- } from "../chunk-IW44C7UL.mjs";
19
+ } from "../chunk-OPTS3ZSN.mjs";
20
20
  import "../chunk-J5LGTIGS.mjs";
21
21
 
22
22
  // src/cli/cli.ts
@@ -26,7 +26,7 @@ import * as Layer from "effect/Layer";
26
26
  import { invariant } from "@dxos/invariant";
27
27
  var __dxlog_file = "/__w/dxos/dxos/packages/sdk/app-framework/src/cli/cli.ts";
28
28
  var defaultPluginLoader = (plugins) => (id) => Effect.sync(() => {
29
- const plugin = plugins.find((plugin2) => plugin2.meta.id === id);
29
+ const plugin = plugins.find((plugin2) => plugin2.meta.profile.key === id);
30
30
  invariant(plugin, `Plugin not found: ${id}`, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 12, S: void 0, A: ["plugin", "`Plugin not found: ${id}`"] });
31
31
  return {
32
32
  plugin
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/cli/cli.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\n\nimport { invariant } from '@dxos/invariant';\n\nimport { ActivationEvents, Capabilities } from '../common';\nimport { Capability, Plugin, PluginManager } from '../core';\n\nconst defaultPluginLoader =\n (plugins: Plugin.Plugin[]): PluginManager.ManagerOptions['pluginLoader'] =>\n (id: string) =>\n Effect.sync(() => {\n const plugin = plugins.find((plugin) => plugin.meta.id === id);\n invariant(plugin, `Plugin not found: ${id}`);\n return { plugin };\n });\n\ntype SubCommands = [Command.Command<any, any, any, any>, ...Array<Command.Command<any, any, any, any>>];\n\nexport type CreateCliAppOptions = {\n rootCommand: Command.Command<any, any, any, any>;\n subCommands?: SubCommands;\n pluginManager?: PluginManager.PluginManager;\n pluginLoader?: PluginManager.ManagerOptions['pluginLoader'];\n plugins?: Plugin.Plugin[];\n enabled?: string[];\n safeMode?: boolean;\n};\n\n/**\n * Creates a CLI application with plugin support.\n * Similar to useApp but for CLI environments.\n *\n * @example\n * const plugins = [ClientPluginCLI()];\n * const manager = await createCliApp({ plugins });\n * const commands = manager.capabilities.getAll(Capabilities.Command);\n *\n * @param options.pluginManager Optional existing PluginManager instance.\n * @param options.pluginLoader Function to load plugins by ID.\n * @param options.plugins All plugins available to the application. Plugins whose `meta.tags` includes `'system'` are treated as core.\n * @param options.enabled Enabled plugins.\n * @param options.safeMode Whether to enable safe mode, which disables optional plugins.\n */\nexport const createCliApp = Effect.fn(function* ({\n rootCommand,\n subCommands: subCommandsProp,\n pluginManager: pluginManagerProp,\n pluginLoader: pluginLoaderProp,\n plugins: pluginsProp = [],\n enabled: enabledProp = [],\n safeMode = false,\n}: CreateCliAppOptions) {\n const plugins = pluginsProp;\n const pluginLoader = pluginLoaderProp ?? defaultPluginLoader(plugins);\n const enabled = safeMode ? [] : enabledProp;\n const manager =\n pluginManagerProp ??\n PluginManager.make({\n pluginLoader,\n plugins,\n enabled,\n });\n\n manager.capabilities.contribute({\n interface: Capabilities.PluginManager,\n implementation: manager,\n module: 'org.dxos.app-framework.plugin-manager',\n });\n\n manager.capabilities.contribute({\n interface: Capabilities.AtomRegistry,\n implementation: manager.registry,\n module: 'org.dxos.app-framework.atom-registry',\n });\n\n // Activate startup event to load CLI commands and Effect layers.\n yield* manager.activate(ActivationEvents.Startup);\n\n // Gather all layers and merge them into a single layer.\n const layers = manager.capabilities.getAll(Capabilities.Layer);\n const capabilityServiceLayer = Layer.succeed(Capability.Service, manager.capabilities);\n const pluginServiceLayer = Layer.succeed(Plugin.Service, manager);\n const layer = (Layer.mergeAll as (...args: Layer.Layer<any, any, any>[]) => Layer.Layer<any, any, never>)(\n capabilityServiceLayer,\n pluginServiceLayer,\n ...layers,\n );\n\n // Gather all commands and provide them to the root command.\n const pluginCommands = manager.capabilities.getAll(Capabilities.Command);\n const subCommands = subCommandsProp ? [...subCommandsProp, ...pluginCommands] : pluginCommands;\n invariant(subCommands.length > 0, 'No subcommands provided');\n const command = rootCommand.pipe(Command.withSubcommands(subCommands as SubCommands));\n\n return { command, layer };\n});\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAIA,YAAYA,aAAa;AACzB,YAAYC,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,iBAAiB;AAK1B,IAAA,eAAMC;0BAKUC,CAAAA,YAAS,CAAA,OAAoBC,YAAI,MAAA;AAC3C,QAAA,SAAO,QAAA,KAAA,CAAAD,YAAAA,QAAA,KAAA,OAAA,EAAA;YAAEA,QAAAA,qBAAAA,EAAAA,IAAAA,EAAAA,YAAAA,YAAAA,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,QAAAA,GAAAA,CAAAA,UAAAA,2BAAAA,EAAAA,CAAAA;AAAO,SAAA;IAClB;EAcJ;;AAyBQE,IAAAA,eAAeC,UAAAA,WAAoBJ,EAAAA,aAAoBK,aAAAA,iBAAAA,eAAAA,mBAAAA,cAAAA,kBAAAA,SAAAA,cAAAA,CAAAA,GAAAA,SAAAA,cAAAA,CAAAA,GAAAA,WAAAA,MAAAA,GAAAA;AAC7D,QAAMC,UAAUC;AAChB,QAAMC,eACJC,oBACAC,oBAAmB,OAAA;QACjBP,UAAAA,WAAAA,CAAAA,IAAAA;QACAE,UAAAA,qBAAAA,uBAAAA,KAAAA;IACAC;IACF;IAEFE;;UAEEG,aAAgBH,WAAAA;IAChBI,WAAQ,qBAAA;IACV,gBAAA;IAEAJ,QAAQK;;UAENF,aAAgBH,WAAQM;IACxBF,WAAQ,qBAAA;IACV,gBAAA,QAAA;IAEA,QAAA;EACA,CAAA;AAGA,SAAMG,QAASP,SAAQK,0BAAaG,OAAOC;AAE3C,QAAMC,SAAAA,QAAAA,aAA2BC,OAAQC,qBAAc,KAAEZ;AACzD,QAAMa,yBACJC,cAAAA,mBACAJ,SAAAA,QAAAA,YACGH;AAGL,QAAA,qBAAA,cAAA,eAAA,SAAA,OAA4D;AAC5D,QAAMQ,QAAAA,eAAiBf,wBAA4BS,oBAAoB,GAAA,MAAA;yBAC7BO,QAAAA,aAAAA,OAAAA,qBAAAA,OAAAA;sBAAoBD,kBAAAA;IAAkBA,GAAAA;IAChFE,GAAAA;EACA,IAAA;AAEA,YAAO,YAAA,SAAA,GAAA,2BAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,0BAAA,2BAAA,EAAA,CAAA;QAAEC,UAAAA,YAAAA,KAAAA,wBAAAA,WAAAA,CAAAA;SAASL;IAAM;IACvB;;;",
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Command from '@effect/cli/Command';\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\n\nimport { invariant } from '@dxos/invariant';\n\nimport { ActivationEvents, Capabilities } from '../common';\nimport { Capability, Plugin, PluginManager } from '../core';\n\nconst defaultPluginLoader =\n (plugins: Plugin.Plugin[]): PluginManager.ManagerOptions['pluginLoader'] =>\n (id: string) =>\n Effect.sync(() => {\n const plugin = plugins.find((plugin) => plugin.meta.profile.key === id);\n invariant(plugin, `Plugin not found: ${id}`);\n return { plugin };\n });\n\ntype SubCommands = [Command.Command<any, any, any, any>, ...Array<Command.Command<any, any, any, any>>];\n\nexport type CreateCliAppOptions = {\n rootCommand: Command.Command<any, any, any, any>;\n subCommands?: SubCommands;\n pluginManager?: PluginManager.PluginManager;\n pluginLoader?: PluginManager.ManagerOptions['pluginLoader'];\n plugins?: Plugin.Plugin[];\n enabled?: string[];\n safeMode?: boolean;\n};\n\n/**\n * Creates a CLI application with plugin support.\n * Similar to useApp but for CLI environments.\n *\n * @example\n * const plugins = [ClientPluginCLI()];\n * const manager = await createCliApp({ plugins });\n * const commands = manager.capabilities.getAll(Capabilities.Command);\n *\n * @param options.pluginManager Optional existing PluginManager instance.\n * @param options.pluginLoader Function to load plugins by ID.\n * @param options.plugins All plugins available to the application. Plugins whose `meta.profile.tags` includes `'system'` are treated as core.\n * @param options.enabled Enabled plugins.\n * @param options.safeMode Whether to enable safe mode, which disables optional plugins.\n */\nexport const createCliApp = Effect.fn(function* ({\n rootCommand,\n subCommands: subCommandsProp,\n pluginManager: pluginManagerProp,\n pluginLoader: pluginLoaderProp,\n plugins: pluginsProp = [],\n enabled: enabledProp = [],\n safeMode = false,\n}: CreateCliAppOptions) {\n const plugins = pluginsProp;\n const pluginLoader = pluginLoaderProp ?? defaultPluginLoader(plugins);\n const enabled = safeMode ? [] : enabledProp;\n const manager =\n pluginManagerProp ??\n PluginManager.make({\n pluginLoader,\n plugins,\n enabled,\n });\n\n manager.capabilities.contribute({\n interface: Capabilities.PluginManager,\n implementation: manager,\n module: 'org.dxos.app-framework.plugin-manager',\n });\n\n manager.capabilities.contribute({\n interface: Capabilities.AtomRegistry,\n implementation: manager.registry,\n module: 'org.dxos.app-framework.atom-registry',\n });\n\n // Activate startup event to load CLI commands and Effect layers.\n yield* manager.activate(ActivationEvents.Startup);\n\n // Gather all layers and merge them into a single layer.\n const layers = manager.capabilities.getAll(Capabilities.Layer);\n const capabilityServiceLayer = Layer.succeed(Capability.Service, manager.capabilities);\n const pluginServiceLayer = Layer.succeed(Plugin.Service, manager);\n const layer = (Layer.mergeAll as (...args: Layer.Layer<any, any, any>[]) => Layer.Layer<any, any, never>)(\n capabilityServiceLayer,\n pluginServiceLayer,\n ...layers,\n );\n\n // Gather all commands and provide them to the root command.\n const pluginCommands = manager.capabilities.getAll(Capabilities.Command);\n const subCommands = subCommandsProp ? [...subCommandsProp, ...pluginCommands] : pluginCommands;\n invariant(subCommands.length > 0, 'No subcommands provided');\n const command = rootCommand.pipe(Command.withSubcommands(subCommands as SubCommands));\n\n return { command, layer };\n});\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAIA,YAAYA,aAAa;AACzB,YAAYC,YAAY;AACxB,YAAYC,WAAW;AAEvB,SAASC,iBAAiB;AAK1B,IAAA,eAAMC;0BAKUC,CAAAA,YAAS,CAAA,OAAoBC,YAAI,MAAA;AAC3C,QAAA,SAAO,QAAA,KAAA,CAAAD,YAAAA,QAAA,KAAA,QAAA,QAAA,EAAA;YAAEA,QAAAA,qBAAAA,EAAAA,IAAAA,EAAAA,YAAAA,YAAAA,GAAAA,cAAAA,GAAAA,IAAAA,GAAAA,QAAAA,GAAAA,CAAAA,UAAAA,2BAAAA,EAAAA,CAAAA;AAAO,SAAA;IAClB;EAcJ;;AAyBQE,IAAAA,eAAeC,UAAAA,WAAoBJ,EAAAA,aAAoBK,aAAAA,iBAAAA,eAAAA,mBAAAA,cAAAA,kBAAAA,SAAAA,cAAAA,CAAAA,GAAAA,SAAAA,cAAAA,CAAAA,GAAAA,WAAAA,MAAAA,GAAAA;AAC7D,QAAMC,UAAUC;AAChB,QAAMC,eACJC,oBACAC,oBAAmB,OAAA;QACjBP,UAAAA,WAAAA,CAAAA,IAAAA;QACAE,UAAAA,qBAAAA,uBAAAA,KAAAA;IACAC;IACF;IAEFE;;UAEEG,aAAgBH,WAAAA;IAChBI,WAAQ,qBAAA;IACV,gBAAA;IAEAJ,QAAQK;;UAENF,aAAgBH,WAAQM;IACxBF,WAAQ,qBAAA;IACV,gBAAA,QAAA;IAEA,QAAA;EACA,CAAA;AAGA,SAAMG,QAASP,SAAQK,0BAAaG,OAAOC;AAE3C,QAAMC,SAAAA,QAAAA,aAA2BC,OAAQC,qBAAc,KAAEZ;AACzD,QAAMa,yBACJC,cAAAA,mBACAJ,SAAAA,QAAAA,YACGH;AAGL,QAAA,qBAAA,cAAA,eAAA,SAAA,OAA4D;AAC5D,QAAMQ,QAAAA,eAAiBf,wBAA4BS,oBAAoB,GAAA,MAAA;yBAC7BO,QAAAA,aAAAA,OAAAA,qBAAAA,OAAAA;sBAAoBD,kBAAAA;IAAkBA,GAAAA;IAChFE,GAAAA;EACA,IAAA;AAEA,YAAO,YAAA,SAAA,GAAA,2BAAA,EAAA,YAAA,YAAA,GAAA,cAAA,GAAA,IAAA,GAAA,MAAA,GAAA,CAAA,0BAAA,2BAAA,EAAA,CAAA;QAAEC,UAAAA,YAAAA,KAAAA,wBAAAA,WAAAA,CAAAA;SAASL;IAAM;IACvB;;;",
6
6
  "names": ["Command", "Effect", "Layer", "invariant", "defaultPluginLoader", "plugin", "id", "pluginLoader", "pluginLoaderProp", "plugins", "enabled", "safeMode", "manager", "pluginManagerProp", "PluginManager", "implementation", "module", "capabilities", "registry", "layers", "getAll", "Capabilities", "pluginServiceLayer", "succeed", "Plugin", "layer", "capabilityServiceLayer", "pluginCommands", "subCommandsProp", "invariant", "command"]
7
7
  }
@@ -3,13 +3,13 @@ import {
3
3
  SetupProcessManager,
4
4
  SetupReactSurface,
5
5
  Startup
6
- } from "../chunk-5GY3YOEL.mjs";
7
- import "../chunk-FO3IYSLV.mjs";
8
- import "../chunk-KZUDO43J.mjs";
9
- import "../chunk-XHS5KDNX.mjs";
10
- import "../chunk-66IXTIVK.mjs";
11
- import "../chunk-DC3WRPBV.mjs";
12
- import "../chunk-IW44C7UL.mjs";
6
+ } from "../chunk-VF37YTXJ.mjs";
7
+ import "../chunk-YUVQIOTB.mjs";
8
+ import "../chunk-LUH4Y5F2.mjs";
9
+ import "../chunk-UGYCLOXE.mjs";
10
+ import "../chunk-3NQLTQCP.mjs";
11
+ import "../chunk-OO53M5UK.mjs";
12
+ import "../chunk-OPTS3ZSN.mjs";
13
13
  import "../chunk-J5LGTIGS.mjs";
14
14
  export {
15
15
  ProcessManagerReady,
@@ -21,13 +21,13 @@ import {
21
21
  getAtomValue,
22
22
  subscribeAtom,
23
23
  updateAtomValue
24
- } from "../chunk-CO3XLNUX.mjs";
25
- import "../chunk-FO3IYSLV.mjs";
26
- import "../chunk-KZUDO43J.mjs";
27
- import "../chunk-XHS5KDNX.mjs";
28
- import "../chunk-66IXTIVK.mjs";
29
- import "../chunk-DC3WRPBV.mjs";
30
- import "../chunk-IW44C7UL.mjs";
24
+ } from "../chunk-NKVRSMFN.mjs";
25
+ import "../chunk-YUVQIOTB.mjs";
26
+ import "../chunk-LUH4Y5F2.mjs";
27
+ import "../chunk-UGYCLOXE.mjs";
28
+ import "../chunk-3NQLTQCP.mjs";
29
+ import "../chunk-OO53M5UK.mjs";
30
+ import "../chunk-OPTS3ZSN.mjs";
31
31
  import "../chunk-J5LGTIGS.mjs";
32
32
  export {
33
33
  AtomRegistry,
@@ -0,0 +1,8 @@
1
+ import {
2
+ Config2
3
+ } from "../chunk-53HJHMS5.mjs";
4
+ import "../chunk-J5LGTIGS.mjs";
5
+ export {
6
+ Config2
7
+ };
8
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -6,7 +6,7 @@ import {
6
6
  isOneOf,
7
7
  make,
8
8
  oneOf
9
- } from "../chunk-66IXTIVK.mjs";
9
+ } from "../chunk-3NQLTQCP.mjs";
10
10
  import "../chunk-J5LGTIGS.mjs";
11
11
  export {
12
12
  allOf,
@@ -12,7 +12,7 @@ import {
12
12
  make,
13
13
  makeModule,
14
14
  waitFor
15
- } from "../chunk-IW44C7UL.mjs";
15
+ } from "../chunk-OPTS3ZSN.mjs";
16
16
  import "../chunk-J5LGTIGS.mjs";
17
17
  export {
18
18
  ModuleTag,
@@ -4,10 +4,10 @@ import {
4
4
  PluginTimeoutError,
5
5
  isManager,
6
6
  make
7
- } from "../chunk-XHS5KDNX.mjs";
8
- import "../chunk-66IXTIVK.mjs";
9
- import "../chunk-DC3WRPBV.mjs";
10
- import "../chunk-IW44C7UL.mjs";
7
+ } from "../chunk-UGYCLOXE.mjs";
8
+ import "../chunk-3NQLTQCP.mjs";
9
+ import "../chunk-OO53M5UK.mjs";
10
+ import "../chunk-OPTS3ZSN.mjs";
11
11
  import "../chunk-J5LGTIGS.mjs";
12
12
  export {
13
13
  ManagerTypeId,
@@ -1,12 +1,17 @@
1
1
  import {
2
2
  LazyPluginError,
3
+ Meta,
3
4
  PluginDependencyError,
4
5
  PluginModuleTypeId,
5
6
  PluginTypeId,
7
+ Profile,
8
+ Release,
6
9
  Service,
7
10
  activate,
8
11
  addModule,
9
12
  define,
13
+ getMetaFromConfig,
14
+ getURI,
10
15
  isLazy,
11
16
  isPlugin,
12
17
  isPluginModule,
@@ -16,18 +21,23 @@ import {
16
21
  reset,
17
22
  resolveLazy,
18
23
  shutdown
19
- } from "../chunk-DC3WRPBV.mjs";
20
- import "../chunk-IW44C7UL.mjs";
24
+ } from "../chunk-OO53M5UK.mjs";
25
+ import "../chunk-OPTS3ZSN.mjs";
21
26
  import "../chunk-J5LGTIGS.mjs";
22
27
  export {
23
28
  LazyPluginError,
29
+ Meta,
24
30
  PluginDependencyError,
25
31
  PluginModuleTypeId,
26
32
  PluginTypeId,
33
+ Profile,
34
+ Release,
27
35
  Service,
28
36
  activate,
29
37
  addModule,
30
38
  define,
39
+ getMetaFromConfig,
40
+ getURI,
31
41
  isLazy,
32
42
  isPlugin,
33
43
  isPluginModule,
@@ -7,9 +7,9 @@ import {
7
7
  preload,
8
8
  setInstalledVersion,
9
9
  uninstall
10
- } from "../chunk-KZUDO43J.mjs";
11
- import "../chunk-DC3WRPBV.mjs";
12
- import "../chunk-IW44C7UL.mjs";
10
+ } from "../chunk-LUH4Y5F2.mjs";
11
+ import "../chunk-OO53M5UK.mjs";
12
+ import "../chunk-OPTS3ZSN.mjs";
13
13
  import "../chunk-J5LGTIGS.mjs";
14
14
  export {
15
15
  RemotePluginLoadError,
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  PluginManagerContext
3
3
  } from "./chunk-FJ4765WW.mjs";
4
+ import {
5
+ Config2
6
+ } from "./chunk-53HJHMS5.mjs";
4
7
  import {
5
8
  EmptyHistoryError,
6
9
  history_tracker_exports,
@@ -12,33 +15,33 @@ import {
12
15
  } from "./chunk-Q2GLJTVV.mjs";
13
16
  import {
14
17
  capabilities_exports
15
- } from "./chunk-CO3XLNUX.mjs";
18
+ } from "./chunk-NKVRSMFN.mjs";
16
19
  import {
17
20
  activation_events_exports
18
- } from "./chunk-5GY3YOEL.mjs";
21
+ } from "./chunk-VF37YTXJ.mjs";
19
22
  import {
20
23
  EdgeRegistryPluginProvider
21
- } from "./chunk-FO3IYSLV.mjs";
24
+ } from "./chunk-YUVQIOTB.mjs";
22
25
  import {
23
26
  PLUGIN_DEV_SERVER_PORT,
24
27
  plugin_asset_cache_exports,
25
28
  plugin_manifest_exports,
26
29
  url_loader_exports
27
- } from "./chunk-KZUDO43J.mjs";
30
+ } from "./chunk-LUH4Y5F2.mjs";
28
31
  import {
29
32
  capability_manager_exports,
30
33
  plugin_manager_exports,
31
34
  registry_exports
32
- } from "./chunk-XHS5KDNX.mjs";
35
+ } from "./chunk-UGYCLOXE.mjs";
33
36
  import {
34
37
  activation_event_exports
35
- } from "./chunk-66IXTIVK.mjs";
38
+ } from "./chunk-3NQLTQCP.mjs";
36
39
  import {
37
40
  plugin_exports
38
- } from "./chunk-DC3WRPBV.mjs";
41
+ } from "./chunk-OO53M5UK.mjs";
39
42
  import {
40
43
  capability_exports
41
- } from "./chunk-IW44C7UL.mjs";
44
+ } from "./chunk-OPTS3ZSN.mjs";
42
45
  import "./chunk-J5LGTIGS.mjs";
43
46
 
44
47
  // src/plugin-process-manager/meta.ts
@@ -54,8 +57,8 @@ var meta = plugin_exports.makeMeta({
54
57
  });
55
58
 
56
59
  // src/plugin-process-manager/ProcessManagerPlugin.ts
57
- var ProcessManagerCapability = capability_exports.lazy("ProcessManager", () => import("./process-manager-capability-GXNUO7AR.mjs"));
58
- var HistoryCapabilities = capability_exports.lazy("HistoryCapabilities", () => import("./capability-BOPAKKWG.mjs"));
60
+ var ProcessManagerCapability = capability_exports.lazy("ProcessManager", () => import("./process-manager-capability-QK4BMKMN.mjs"));
61
+ var HistoryCapabilities = capability_exports.lazy("HistoryCapabilities", () => import("./capability-S44TE2H7.mjs"));
59
62
  var ProcessManagerPlugin = plugin_exports.define(meta).pipe(plugin_exports.addModule({
60
63
  activatesOn: activation_events_exports.Startup,
61
64
  firesBeforeActivation: [
@@ -75,6 +78,7 @@ export {
75
78
  capabilities_exports as Capabilities,
76
79
  capability_exports as Capability,
77
80
  capability_manager_exports as CapabilityManager,
81
+ Config2,
78
82
  EdgeRegistryPluginProvider,
79
83
  EmptyHistoryError,
80
84
  history_tracker_exports as HistoryTracker,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/plugin-process-manager/meta.ts", "../../../src/plugin-process-manager/ProcessManagerPlugin.ts"],
4
4
  "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { DXN } from '@dxos/keys';\n\nimport { Plugin } from '../core';\n\nexport const meta = Plugin.makeMeta({\n key: DXN.make('org.dxos.plugin.processManager'),\n name: 'Process Manager Plugin',\n author: 'DXOS',\n description:\n 'Hosts the process-manager runtime that composes contributed layer specs into a service resolver, exposes the operation invoker built on top of it, and registers undo/history tracking.',\n tags: ['system'],\n});\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { ActivationEvents } from '../common';\nimport { Capability, Plugin } from '../core';\nimport { meta } from './meta';\n\nconst ProcessManagerCapability = Capability.lazy('ProcessManager', () => import('./process-manager-capability'));\nconst HistoryCapabilities = Capability.lazy('HistoryCapabilities', () => import('./history/capability'));\n\nexport const ProcessManagerPlugin = Plugin.define(meta).pipe(\n Plugin.addModule({\n activatesOn: ActivationEvents.Startup,\n firesBeforeActivation: [ActivationEvents.SetupProcessManager],\n firesAfterActivation: [ActivationEvents.ProcessManagerReady],\n activate: ProcessManagerCapability,\n }),\n Plugin.addModule({\n activatesOn: ActivationEvents.ProcessManagerReady,\n activate: HistoryCapabilities,\n }),\n Plugin.make,\n);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,WAAW;AAIb,IAAMC,OAAOC,eAAOC,SAAS;EAClCC,KAAKC,IAAIC,KAAK,gCAAA;EACdC,MAAM;EACNC,QAAQ;EACRC,aACE;EACFC,MAAM;IAAC;;AACT,CAAA;;;ACPA,IAAMC,2BAA2BC,mBAAWC,KAAK,kBAAkB,MAAM,OAAO,2CAAA,CAAA;AAChF,IAAMC,sBAAsBF,mBAAWC,KAAK,uBAAuB,MAAM,OAAO,2BAAA,CAAA;AAEzE,IAAME,uBAAuBC,eAAOC,OAAOC,IAAAA,EAAMC,KACtDH,eAAOI,UAAU;EACfC,aAAaC,0BAAiBC;EAC9BC,uBAAuB;IAACF,0BAAiBG;;EACzCC,sBAAsB;IAACJ,0BAAiBK;;EACxCC,UAAUjB;AACZ,CAAA,GACAK,eAAOI,UAAU;EACfC,aAAaC,0BAAiBK;EAC9BC,UAAUd;AACZ,CAAA,GACAE,eAAOa,IAAI;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,WAAW;AAIb,IAAMC,OAAOC,eAAOC,SAAS;EAClCC,KAAKC,IAAIC,KAAK,gCAAA;EACdC,MAAM;EACNC,QAAQ;EACRC,aACE;EACFC,MAAM;IAAC;;AACT,CAAA;;;ACPA,IAAMC,2BAA2BC,mBAAWC,KAAK,kBAAkB,MAAM,OAAO,2CAAA,CAAA;AAChF,IAAMC,sBAAsBF,mBAAWC,KAAK,uBAAuB,MAAM,OAAO,2BAAA,CAAA;AAEzE,IAAME,uBAAuBC,eAAOC,OAAOC,IAAAA,EAAMC,KACtDH,eAAOI,UAAU;EACfC,aAAaC,0BAAiBC;EAC9BC,uBAAuB;IAACF,0BAAiBG;;EACzCC,sBAAsB;IAACJ,0BAAiBK;;EACxCC,UAAUjB;AACZ,CAAA,GACAK,eAAOI,UAAU;EACfC,aAAaC,0BAAiBK;EAC9BC,UAAUd;AACZ,CAAA,GACAE,eAAOa,IAAI;",
6
6
  "names": ["DXN", "meta", "Plugin", "makeMeta", "key", "DXN", "make", "name", "author", "description", "tags", "ProcessManagerCapability", "Capability", "lazy", "HistoryCapabilities", "ProcessManagerPlugin", "Plugin", "define", "meta", "pipe", "addModule", "activatesOn", "ActivationEvents", "Startup", "firesBeforeActivation", "SetupProcessManager", "firesAfterActivation", "ProcessManagerReady", "activate", "make"]
7
7
  }