@dxos/app-framework 0.9.1-main.c7dcc2e112 → 0.10.0

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 (116) hide show
  1. package/dist/lib/browser/{capability-Z4MRP3CP.mjs → capability-S44TE2H7.mjs} +6 -6
  2. package/dist/lib/browser/{chunk-DFVSOBV2.mjs → chunk-KRJ4KK2W.mjs} +24 -5
  3. package/dist/lib/browser/{chunk-DFVSOBV2.mjs.map → chunk-KRJ4KK2W.mjs.map} +3 -3
  4. package/dist/lib/browser/{chunk-3UTDRCKX.mjs → chunk-LUH4Y5F2.mjs} +2 -2
  5. package/dist/lib/browser/{chunk-37PG7XJC.mjs → chunk-NKVRSMFN.mjs} +2 -2
  6. package/dist/lib/browser/{chunk-37PG7XJC.mjs.map → chunk-NKVRSMFN.mjs.map} +1 -1
  7. package/dist/lib/browser/{chunk-S2ZBYQPI.mjs → chunk-OO53M5UK.mjs} +2 -2
  8. package/dist/lib/browser/{chunk-CMINFVA5.mjs → chunk-OPTS3ZSN.mjs} +1 -1
  9. package/dist/lib/browser/{chunk-CMINFVA5.mjs.map → chunk-OPTS3ZSN.mjs.map} +2 -2
  10. package/dist/lib/browser/{chunk-SWECIICH.mjs → chunk-U5MESPM5.mjs} +6 -6
  11. package/dist/lib/browser/chunk-U5MESPM5.mjs.map +7 -0
  12. package/dist/lib/browser/{chunk-W4BHZING.mjs → chunk-UGYCLOXE.mjs} +3 -3
  13. package/dist/lib/browser/cli/index.mjs +5 -5
  14. package/dist/lib/browser/common/activation-events.mjs +4 -4
  15. package/dist/lib/browser/common/capabilities.mjs +5 -5
  16. package/dist/lib/browser/core/capability.mjs +1 -1
  17. package/dist/lib/browser/core/plugin-manager.mjs +3 -3
  18. package/dist/lib/browser/core/plugin.mjs +2 -2
  19. package/dist/lib/browser/core/url-loader.mjs +3 -3
  20. package/dist/lib/browser/index.mjs +7 -7
  21. package/dist/lib/browser/meta.json +1 -1
  22. package/dist/lib/browser/{process-manager-capability-RDROCCQD.mjs → process-manager-capability-QK4BMKMN.mjs} +6 -6
  23. package/dist/lib/browser/testing/index.mjs +7 -7
  24. package/dist/lib/browser/testing/react.mjs +6 -6
  25. package/dist/lib/browser/testing/react.mjs.map +2 -2
  26. package/dist/lib/browser/ui/index.mjs +9 -7
  27. package/dist/lib/node-esm/{capability-34Z6NPVR.mjs → capability-3YRF77LV.mjs} +6 -6
  28. package/dist/lib/node-esm/{chunk-WERVO5EK.mjs → chunk-4SE7SX7N.mjs} +2 -2
  29. package/dist/lib/node-esm/{chunk-H7T7XXLS.mjs → chunk-DRT75WGD.mjs} +6 -6
  30. package/dist/lib/node-esm/chunk-DRT75WGD.mjs.map +7 -0
  31. package/dist/lib/node-esm/{chunk-TEQSMP2O.mjs → chunk-FKMVORZN.mjs} +2 -2
  32. package/dist/lib/node-esm/{chunk-AIDZMJ3U.mjs → chunk-GLH4LGHZ.mjs} +1 -1
  33. package/dist/lib/node-esm/{chunk-AIDZMJ3U.mjs.map → chunk-GLH4LGHZ.mjs.map} +2 -2
  34. package/dist/lib/node-esm/{chunk-ZRTG4TSS.mjs → chunk-IL7O7IRX.mjs} +3 -3
  35. package/dist/lib/node-esm/{chunk-A4O42ZO3.mjs → chunk-ND2HETHD.mjs} +24 -5
  36. package/dist/lib/node-esm/{chunk-A4O42ZO3.mjs.map → chunk-ND2HETHD.mjs.map} +3 -3
  37. package/dist/lib/node-esm/{chunk-LUK3FCTH.mjs → chunk-XSZMX53L.mjs} +2 -2
  38. package/dist/lib/node-esm/{chunk-LUK3FCTH.mjs.map → chunk-XSZMX53L.mjs.map} +1 -1
  39. package/dist/lib/node-esm/cli/index.mjs +5 -5
  40. package/dist/lib/node-esm/common/activation-events.mjs +4 -4
  41. package/dist/lib/node-esm/common/capabilities.mjs +5 -5
  42. package/dist/lib/node-esm/core/capability.mjs +1 -1
  43. package/dist/lib/node-esm/core/plugin-manager.mjs +3 -3
  44. package/dist/lib/node-esm/core/plugin.mjs +2 -2
  45. package/dist/lib/node-esm/core/url-loader.mjs +3 -3
  46. package/dist/lib/node-esm/index.mjs +7 -7
  47. package/dist/lib/node-esm/meta.json +1 -1
  48. package/dist/lib/node-esm/{process-manager-capability-6OCXSKUW.mjs → process-manager-capability-5S7WZ2JR.mjs} +6 -6
  49. package/dist/lib/node-esm/testing/index.mjs +7 -7
  50. package/dist/lib/node-esm/testing/react.mjs +6 -6
  51. package/dist/lib/node-esm/testing/react.mjs.map +2 -2
  52. package/dist/lib/node-esm/ui/index.mjs +9 -7
  53. package/dist/plugin/node-esm/index.mjs +9 -11
  54. package/dist/plugin/node-esm/index.mjs.map +3 -3
  55. package/dist/plugin/node-esm/meta.json +1 -1
  56. package/dist/types/src/common/capabilities.d.ts +2 -2
  57. package/dist/types/src/common/capabilities.d.ts.map +1 -1
  58. package/dist/types/src/core/capability.d.ts +3 -1
  59. package/dist/types/src/core/capability.d.ts.map +1 -1
  60. package/dist/types/src/core/plugin.d.ts +8 -0
  61. package/dist/types/src/core/plugin.d.ts.map +1 -1
  62. package/dist/types/src/plugin-process-manager/history/capability.d.ts +1 -3
  63. package/dist/types/src/plugin-process-manager/history/capability.d.ts.map +1 -1
  64. package/dist/types/src/plugin-process-manager/meta.d.ts +4 -0
  65. package/dist/types/src/plugin-process-manager/meta.d.ts.map +1 -1
  66. package/dist/types/src/plugin-process-manager/process-manager-capability.d.ts +1 -4
  67. package/dist/types/src/plugin-process-manager/process-manager-capability.d.ts.map +1 -1
  68. package/dist/types/src/testing/react.d.ts.map +1 -1
  69. package/dist/types/src/ui/components/App/App.stories.d.ts +2 -2
  70. package/dist/types/src/ui/components/App/App.stories.d.ts.map +1 -1
  71. package/dist/types/src/ui/components/Surface/SurfaceComponent.d.ts.map +1 -1
  72. package/dist/types/src/ui/components/Surface/SurfaceComponent.stories.d.ts.map +1 -1
  73. package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts +1 -1
  74. package/dist/types/src/ui/components/Surface/SurfaceProfilerContext.d.ts.map +1 -1
  75. package/dist/types/src/ui/components/Surface/context.d.ts.map +1 -1
  76. package/dist/types/src/ui/components/Surface/index.d.ts +1 -1
  77. package/dist/types/src/ui/components/Surface/index.d.ts.map +1 -1
  78. package/dist/types/src/ui/components/Surface/types.d.ts +2 -2
  79. package/dist/types/src/ui/components/Surface/types.d.ts.map +1 -1
  80. package/dist/types/src/ui/hooks/useCapabilities.d.ts +6 -0
  81. package/dist/types/src/ui/hooks/useCapabilities.d.ts.map +1 -1
  82. package/dist/types/src/vite-plugin/import-map/index.d.ts.map +1 -1
  83. package/dist/types/src/vite-plugin/packages.d.ts.map +1 -1
  84. package/dist/types/tsconfig.tsbuildinfo +1 -1
  85. package/docs/registry-spec.md +26 -26
  86. package/package.json +44 -38
  87. package/src/common/capabilities.ts +2 -2
  88. package/src/core/capability.ts +3 -2
  89. package/src/testing/react.tsx +1 -1
  90. package/src/ui/components/App/App.stories.tsx +2 -2
  91. package/src/ui/components/Surface/SurfaceComponent.stories.tsx +11 -8
  92. package/src/ui/components/Surface/SurfaceComponent.tsx +6 -5
  93. package/src/ui/components/Surface/SurfaceProfilerContext.tsx +1 -1
  94. package/src/ui/components/Surface/context.ts +0 -1
  95. package/src/ui/components/Surface/index.ts +2 -2
  96. package/src/ui/components/Surface/types.test.ts +4 -2
  97. package/src/ui/components/Surface/types.ts +4 -4
  98. package/src/ui/hooks/useCapabilities.ts +25 -0
  99. package/src/vite-plugin/boot-loader/BootLoader.solid-stories.tsx +11 -11
  100. package/src/vite-plugin/boot-loader/loader.ts +3 -3
  101. package/src/vite-plugin/composer/index.ts +1 -1
  102. package/src/vite-plugin/import-map/index.ts +23 -7
  103. package/src/vite-plugin/packages.ts +0 -1
  104. package/tsconfig.json +5 -2
  105. package/dist/lib/browser/chunk-SWECIICH.mjs.map +0 -7
  106. package/dist/lib/node-esm/chunk-H7T7XXLS.mjs.map +0 -7
  107. /package/dist/lib/browser/{capability-Z4MRP3CP.mjs.map → capability-S44TE2H7.mjs.map} +0 -0
  108. /package/dist/lib/browser/{chunk-3UTDRCKX.mjs.map → chunk-LUH4Y5F2.mjs.map} +0 -0
  109. /package/dist/lib/browser/{chunk-S2ZBYQPI.mjs.map → chunk-OO53M5UK.mjs.map} +0 -0
  110. /package/dist/lib/browser/{chunk-W4BHZING.mjs.map → chunk-UGYCLOXE.mjs.map} +0 -0
  111. /package/dist/lib/browser/{process-manager-capability-RDROCCQD.mjs.map → process-manager-capability-QK4BMKMN.mjs.map} +0 -0
  112. /package/dist/lib/node-esm/{capability-34Z6NPVR.mjs.map → capability-3YRF77LV.mjs.map} +0 -0
  113. /package/dist/lib/node-esm/{chunk-WERVO5EK.mjs.map → chunk-4SE7SX7N.mjs.map} +0 -0
  114. /package/dist/lib/node-esm/{chunk-TEQSMP2O.mjs.map → chunk-FKMVORZN.mjs.map} +0 -0
  115. /package/dist/lib/node-esm/{chunk-ZRTG4TSS.mjs.map → chunk-IL7O7IRX.mjs.map} +0 -0
  116. /package/dist/lib/node-esm/{process-manager-capability-6OCXSKUW.mjs.map → process-manager-capability-5S7WZ2JR.mjs.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/testing/react.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport { RegistryContext } from '@effect-atom/atom-react';\nimport { render as rtlRender, type RenderOptions, type RenderResult } from '@testing-library/react';\nimport React, { type FC, Fragment, type PropsWithChildren, type ReactNode } from 'react';\n\nimport { ContextProtocolProvider } from '@dxos/web-context-react';\n\nimport { Capabilities } from '../common';\nimport { PluginManagerContext } from '../context';\nimport { topologicalSort } from '../helpers';\nimport { PluginManagerProvider } from '../ui/components/PluginManager/PluginManagerProvider';\nimport { SurfaceComponent } from '../ui/components/Surface/SurfaceComponent';\nimport { type RoleToken } from '../ui/components/Surface/types';\nimport { type TestHarness } from './harness';\n\nexport type HarnessRenderOptions = Omit<RenderOptions, 'wrapper'> & {\n /** Additional providers to wrap around the harness tree (applied innermost first). */\n reactContexts?: FC<PropsWithChildren>[];\n};\n\n/**\n * Renders `ui` wrapped in the same provider tree as `useApp` plus every contributed\n * `Capabilities.ReactContext`.\n */\nexport const render = (harness: TestHarness, ui: ReactNode, options?: HarnessRenderOptions): RenderResult => {\n const { reactContexts = [], ...rest } = options ?? {};\n const Wrapper = ({ children }: PropsWithChildren) => (\n <HarnessProviders harness={harness} extra={reactContexts}>\n {children}\n </HarnessProviders>\n );\n return rtlRender(<>{ui}</>, { ...rest, wrapper: Wrapper });\n};\n\nexport type RenderSurfaceProps<TToken extends RoleToken<any>> = {\n type: TToken;\n data?: TToken extends RoleToken<infer D> ? D : never;\n limit?: number;\n fallback?: FC<{ error: Error; data?: any }>;\n placeholder?: ReactNode;\n};\n\n/**\n * Renders a `Surface` with the given role token/data inside the harness provider tree.\n */\nexport const renderSurface = <TToken extends RoleToken<any>>(\n harness: TestHarness,\n props: RenderSurfaceProps<TToken>,\n options?: HarnessRenderOptions,\n): RenderResult => {\n const { type, data, limit, fallback, placeholder } = props;\n return render(\n harness,\n <SurfaceComponent type={type} data={data as any} limit={limit} fallback={fallback} placeholder={placeholder} />,\n options,\n );\n};\n\ntype HarnessProvidersProps = PropsWithChildren<{\n harness: TestHarness;\n extra: FC<PropsWithChildren>[];\n}>;\n\nconst HarnessProviders = ({ harness, extra, children }: HarnessProvidersProps) => {\n const contributed = harness.getAll(Capabilities.ReactContext);\n const ContributedContext = composeContexts(contributed);\n const ExtraContext = composeExtra(extra);\n return (\n <PluginManagerProvider value={harness.manager}>\n <ContextProtocolProvider value={harness.manager} context={PluginManagerContext}>\n <RegistryContext.Provider value={harness.registry}>\n <ContributedContext>\n <ExtraContext>{children}</ExtraContext>\n </ContributedContext>\n </RegistryContext.Provider>\n </ContextProtocolProvider>\n </PluginManagerProvider>\n );\n};\n\nconst composeContexts = (contexts: Capabilities.ReactContext[]): FC<PropsWithChildren> => {\n if (contexts.length === 0) {\n return Passthrough;\n }\n return topologicalSort(contexts)\n .map(({ context }) => context)\n .reduce((Acc, Next) => ({ children }: PropsWithChildren) => (\n <Acc>\n <Next>{children}</Next>\n </Acc>\n ));\n};\n\n// Composes in innermost-first order: the first context in the array wraps\n// `children` directly; subsequent contexts wrap the accumulator.\nconst composeExtra = (contexts: FC<PropsWithChildren>[]): FC<PropsWithChildren> => {\n if (contexts.length === 0) {\n return Passthrough;\n }\n return contexts.reduce<FC<PropsWithChildren>>(\n (Acc, Next) =>\n ({ children }: PropsWithChildren) => (\n <Next>\n <Acc>{children}</Acc>\n </Next>\n ),\n Passthrough,\n );\n};\n\nconst Passthrough: FC<PropsWithChildren> = ({ children }) => <Fragment>{children}</Fragment>;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,uBAAuB;AAChC,SAASC,UAAUC,iBAAwD;AAC3E,OAAOC,SAAkBC,gBAAwD;AAEjF,SAASC,+BAA+B;AAmBjC,IAAMC,SAAS,CAACC,SAAsBC,IAAeC,YAAAA;AAC1D,QAAM,EAAEC,gBAAgB,CAAA,GAAI,GAAGC,KAAAA,IAASF,WAAW,CAAC;AACpD,QAAMG,UAAU,CAAC,EAAEC,SAAQ,MACzB,sBAAA,cAACC,kBAAAA;IAAiBP;IAAkBQ,OAAOL;KACxCG,QAAAA;AAGL,SAAOG,UAAU,sBAAA,cAAA,MAAA,UAAA,MAAGR,EAAAA,GAAQ;IAAE,GAAGG;IAAMM,SAASL;EAAQ,CAAA;AAC1D;AAaO,IAAMM,gBAAgB,CAC3BX,SACAY,OACAV,YAAAA;AAEA,QAAM,EAAEW,MAAMC,MAAMC,OAAOC,UAAUC,YAAW,IAAKL;AACrD,SAAOb,OACLC,SACA,sBAAA,cAACkB,kBAAAA;IAAiBL;IAAYC;IAAmBC;IAAcC;IAAoBC;MACnFf,OAAAA;AAEJ;AAOA,IAAMK,mBAAmB,CAAC,EAAEP,SAASQ,OAAOF,SAAQ,MAAyB;AAC3E,QAAMa,cAAcnB,QAAQoB,OAAOC,qBAAaC,YAAY;AAC5D,QAAMC,qBAAqBC,gBAAgBL,WAAAA;AAC3C,QAAMM,eAAeC,aAAalB,KAAAA;AAClC,SACE,sBAAA,cAACmB,uBAAAA;IAAsBC,OAAO5B,QAAQ6B;KACpC,sBAAA,cAACC,yBAAAA;IAAwBF,OAAO5B,QAAQ6B;IAASE,SAASC;KACxD,sBAAA,cAACC,gBAAgBC,UAAQ;IAACN,OAAO5B,QAAQmC;KACvC,sBAAA,cAACZ,oBAAAA,MACC,sBAAA,cAACE,cAAAA,MAAcnB,QAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAM3B;AAEA,IAAMkB,kBAAkB,CAACY,aAAAA;AACvB,MAAIA,SAASC,WAAW,GAAG;AACzB,WAAOC;EACT;AACA,SAAOC,gBAAgBH,QAAAA,EACpBI,IAAI,CAAC,EAAET,QAAO,MAAOA,OAAAA,EACrBU,OAAO,CAACC,KAAKC,SAAS,CAAC,EAAErC,SAAQ,MAChC,sBAAA,cAACoC,KAAAA,MACC,sBAAA,cAACC,MAAAA,MAAMrC,QAAAA,CAAAA,CAAAA;AAGf;AAIA,IAAMoB,eAAe,CAACU,aAAAA;AACpB,MAAIA,SAASC,WAAW,GAAG;AACzB,WAAOC;EACT;AACA,SAAOF,SAASK,OACd,CAACC,KAAKC,SACJ,CAAC,EAAErC,SAAQ,MACT,sBAAA,cAACqC,MAAAA,MACC,sBAAA,cAACD,KAAAA,MAAKpC,QAAAA,CAAAA,GAGZgC,WAAAA;AAEJ;AAEA,IAAMA,cAAqC,CAAC,EAAEhC,SAAQ,MAAO,sBAAA,cAACsC,UAAAA,MAAUtC,QAAAA;",
4
+ "sourcesContent": ["//\n// Copyright 2026 DXOS.org\n//\n\nimport { RegistryContext } from '@effect-atom/atom-react';\nimport { type RenderOptions, type RenderResult, render as rtlRender } from '@testing-library/react';\nimport React, { type FC, Fragment, type PropsWithChildren, type ReactNode } from 'react';\n\nimport { ContextProtocolProvider } from '@dxos/web-context-react';\n\nimport { Capabilities } from '../common';\nimport { PluginManagerContext } from '../context';\nimport { topologicalSort } from '../helpers';\nimport { PluginManagerProvider } from '../ui/components/PluginManager/PluginManagerProvider';\nimport { SurfaceComponent } from '../ui/components/Surface/SurfaceComponent';\nimport { type RoleToken } from '../ui/components/Surface/types';\nimport { type TestHarness } from './harness';\n\nexport type HarnessRenderOptions = Omit<RenderOptions, 'wrapper'> & {\n /** Additional providers to wrap around the harness tree (applied innermost first). */\n reactContexts?: FC<PropsWithChildren>[];\n};\n\n/**\n * Renders `ui` wrapped in the same provider tree as `useApp` plus every contributed\n * `Capabilities.ReactContext`.\n */\nexport const render = (harness: TestHarness, ui: ReactNode, options?: HarnessRenderOptions): RenderResult => {\n const { reactContexts = [], ...rest } = options ?? {};\n const Wrapper = ({ children }: PropsWithChildren) => (\n <HarnessProviders harness={harness} extra={reactContexts}>\n {children}\n </HarnessProviders>\n );\n return rtlRender(<>{ui}</>, { ...rest, wrapper: Wrapper });\n};\n\nexport type RenderSurfaceProps<TToken extends RoleToken<any>> = {\n type: TToken;\n data?: TToken extends RoleToken<infer D> ? D : never;\n limit?: number;\n fallback?: FC<{ error: Error; data?: any }>;\n placeholder?: ReactNode;\n};\n\n/**\n * Renders a `Surface` with the given role token/data inside the harness provider tree.\n */\nexport const renderSurface = <TToken extends RoleToken<any>>(\n harness: TestHarness,\n props: RenderSurfaceProps<TToken>,\n options?: HarnessRenderOptions,\n): RenderResult => {\n const { type, data, limit, fallback, placeholder } = props;\n return render(\n harness,\n <SurfaceComponent type={type} data={data as any} limit={limit} fallback={fallback} placeholder={placeholder} />,\n options,\n );\n};\n\ntype HarnessProvidersProps = PropsWithChildren<{\n harness: TestHarness;\n extra: FC<PropsWithChildren>[];\n}>;\n\nconst HarnessProviders = ({ harness, extra, children }: HarnessProvidersProps) => {\n const contributed = harness.getAll(Capabilities.ReactContext);\n const ContributedContext = composeContexts(contributed);\n const ExtraContext = composeExtra(extra);\n return (\n <PluginManagerProvider value={harness.manager}>\n <ContextProtocolProvider value={harness.manager} context={PluginManagerContext}>\n <RegistryContext.Provider value={harness.registry}>\n <ContributedContext>\n <ExtraContext>{children}</ExtraContext>\n </ContributedContext>\n </RegistryContext.Provider>\n </ContextProtocolProvider>\n </PluginManagerProvider>\n );\n};\n\nconst composeContexts = (contexts: Capabilities.ReactContext[]): FC<PropsWithChildren> => {\n if (contexts.length === 0) {\n return Passthrough;\n }\n return topologicalSort(contexts)\n .map(({ context }) => context)\n .reduce((Acc, Next) => ({ children }: PropsWithChildren) => (\n <Acc>\n <Next>{children}</Next>\n </Acc>\n ));\n};\n\n// Composes in innermost-first order: the first context in the array wraps\n// `children` directly; subsequent contexts wrap the accumulator.\nconst composeExtra = (contexts: FC<PropsWithChildren>[]): FC<PropsWithChildren> => {\n if (contexts.length === 0) {\n return Passthrough;\n }\n return contexts.reduce<FC<PropsWithChildren>>(\n (Acc, Next) =>\n ({ children }: PropsWithChildren) => (\n <Next>\n <Acc>{children}</Acc>\n </Next>\n ),\n Passthrough,\n );\n};\n\nconst Passthrough: FC<PropsWithChildren> = ({ children }) => <Fragment>{children}</Fragment>;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,uBAAuB;AAChC,SAAgDC,UAAUC,iBAAiB;AAC3E,OAAOC,SAAkBC,gBAAwD;AAEjF,SAASC,+BAA+B;AAmBjC,IAAMC,SAAS,CAACC,SAAsBC,IAAeC,YAAAA;AAC1D,QAAM,EAAEC,gBAAgB,CAAA,GAAI,GAAGC,KAAAA,IAASF,WAAW,CAAC;AACpD,QAAMG,UAAU,CAAC,EAAEC,SAAQ,MACzB,sBAAA,cAACC,kBAAAA;IAAiBP;IAAkBQ,OAAOL;KACxCG,QAAAA;AAGL,SAAOG,UAAU,sBAAA,cAAA,MAAA,UAAA,MAAGR,EAAAA,GAAQ;IAAE,GAAGG;IAAMM,SAASL;EAAQ,CAAA;AAC1D;AAaO,IAAMM,gBAAgB,CAC3BX,SACAY,OACAV,YAAAA;AAEA,QAAM,EAAEW,MAAMC,MAAMC,OAAOC,UAAUC,YAAW,IAAKL;AACrD,SAAOb,OACLC,SACA,sBAAA,cAACkB,kBAAAA;IAAiBL;IAAYC;IAAmBC;IAAcC;IAAoBC;MACnFf,OAAAA;AAEJ;AAOA,IAAMK,mBAAmB,CAAC,EAAEP,SAASQ,OAAOF,SAAQ,MAAyB;AAC3E,QAAMa,cAAcnB,QAAQoB,OAAOC,qBAAaC,YAAY;AAC5D,QAAMC,qBAAqBC,gBAAgBL,WAAAA;AAC3C,QAAMM,eAAeC,aAAalB,KAAAA;AAClC,SACE,sBAAA,cAACmB,uBAAAA;IAAsBC,OAAO5B,QAAQ6B;KACpC,sBAAA,cAACC,yBAAAA;IAAwBF,OAAO5B,QAAQ6B;IAASE,SAASC;KACxD,sBAAA,cAACC,gBAAgBC,UAAQ;IAACN,OAAO5B,QAAQmC;KACvC,sBAAA,cAACZ,oBAAAA,MACC,sBAAA,cAACE,cAAAA,MAAcnB,QAAAA,CAAAA,CAAAA,CAAAA,CAAAA;AAM3B;AAEA,IAAMkB,kBAAkB,CAACY,aAAAA;AACvB,MAAIA,SAASC,WAAW,GAAG;AACzB,WAAOC;EACT;AACA,SAAOC,gBAAgBH,QAAAA,EACpBI,IAAI,CAAC,EAAET,QAAO,MAAOA,OAAAA,EACrBU,OAAO,CAACC,KAAKC,SAAS,CAAC,EAAErC,SAAQ,MAChC,sBAAA,cAACoC,KAAAA,MACC,sBAAA,cAACC,MAAAA,MAAMrC,QAAAA,CAAAA,CAAAA;AAGf;AAIA,IAAMoB,eAAe,CAACU,aAAAA;AACpB,MAAIA,SAASC,WAAW,GAAG;AACzB,WAAOC;EACT;AACA,SAAOF,SAASK,OACd,CAACC,KAAKC,SACJ,CAAC,EAAErC,SAAQ,MACT,sBAAA,cAACqC,MAAAA,MACC,sBAAA,cAACD,KAAAA,MAAKpC,QAAAA,CAAAA,GAGZgC,WAAAA;AAEJ;AAEA,IAAMA,cAAqC,CAAC,EAAEhC,SAAQ,MAAO,sBAAA,cAACsC,UAAAA,MAAUtC,QAAAA;",
6
6
  "names": ["RegistryContext", "render", "rtlRender", "React", "Fragment", "ContextProtocolProvider", "render", "harness", "ui", "options", "reactContexts", "rest", "Wrapper", "children", "HarnessProviders", "extra", "rtlRender", "wrapper", "renderSurface", "props", "type", "data", "limit", "fallback", "placeholder", "SurfaceComponent", "contributed", "getAll", "Capabilities", "ReactContext", "ContributedContext", "composeContexts", "ExtraContext", "composeExtra", "PluginManagerProvider", "value", "manager", "ContextProtocolProvider", "context", "PluginManagerContext", "RegistryContext", "Provider", "registry", "contexts", "length", "Passthrough", "topologicalSort", "map", "reduce", "Acc", "Next", "Fragment"]
7
7
  }
@@ -9,30 +9,31 @@ import {
9
9
  useCapability,
10
10
  useLoading,
11
11
  useOperationInvoker,
12
+ useOptionalAtomCapabilityState,
12
13
  useOptionalCapabilities,
13
14
  useOptionalCapability,
14
15
  useProcessManagerRuntime,
15
16
  useSettingsState,
16
17
  useSpaceCallback,
17
18
  useSpaceService
18
- } from "../chunk-A4O42ZO3.mjs";
19
+ } from "../chunk-ND2HETHD.mjs";
19
20
  import {
20
21
  PluginManagerProvider,
21
22
  Surface,
22
23
  useOptionalPluginManager,
23
24
  usePluginManager,
24
25
  useSurface
25
- } from "../chunk-H7T7XXLS.mjs";
26
+ } from "../chunk-DRT75WGD.mjs";
26
27
  import "../chunk-37Z53PXZ.mjs";
27
28
  import "../chunk-FPW45EZH.mjs";
28
- import "../chunk-LUK3FCTH.mjs";
29
+ import "../chunk-XSZMX53L.mjs";
29
30
  import "../chunk-TLKYZKPW.mjs";
30
31
  import "../chunk-VCPGX7WN.mjs";
31
- import "../chunk-TEQSMP2O.mjs";
32
- import "../chunk-ZRTG4TSS.mjs";
32
+ import "../chunk-FKMVORZN.mjs";
33
+ import "../chunk-IL7O7IRX.mjs";
33
34
  import "../chunk-BMW6P6QA.mjs";
34
- import "../chunk-WERVO5EK.mjs";
35
- import "../chunk-AIDZMJ3U.mjs";
35
+ import "../chunk-4SE7SX7N.mjs";
36
+ import "../chunk-GLH4LGHZ.mjs";
36
37
  import "../chunk-HSLMI22Q.mjs";
37
38
  export {
38
39
  App,
@@ -46,6 +47,7 @@ export {
46
47
  useCapability,
47
48
  useLoading,
48
49
  useOperationInvoker,
50
+ useOptionalAtomCapabilityState,
49
51
  useOptionalCapabilities,
50
52
  useOptionalCapability,
51
53
  useOptionalPluginManager,
@@ -160,8 +160,8 @@ var bootLoaderPlugin = ({ status, markSvg, include = [
160
160
  tag: "div",
161
161
  injectTo: "body-prepend",
162
162
  attrs: {
163
- id: rootId,
164
- role: "status",
163
+ "id": rootId,
164
+ "role": "status",
165
165
  "aria-live": "polite",
166
166
  "aria-label": "Initializing"
167
167
  },
@@ -637,7 +637,6 @@ var DEFAULT_PACKAGES = [
637
637
  "@dxos/react-ui-mosaic",
638
638
  "@dxos/react-ui-pickers",
639
639
  "@dxos/react-ui-list",
640
- "@dxos/react-ui-stack",
641
640
  "@dxos/react-ui-syntax-highlighter",
642
641
  "@dxos/react-ui-table",
643
642
  "@dxos/react-ui-tabs",
@@ -912,7 +911,7 @@ var composerPlugin = (options) => {
912
911
 
913
912
  // src/vite-plugin/import-map/index.ts
914
913
  import { init as initCjsLexer, parse as parseCjs } from "cjs-module-lexer";
915
- import { existsSync as existsSync2, readFileSync as readFileSync2, readdirSync, statSync } from "node:fs";
914
+ import { existsSync as existsSync2, readdirSync, readFileSync as readFileSync2, statSync } from "node:fs";
916
915
  import { createRequire as nodeCreateRequire } from "node:module";
917
916
  import path from "node:path";
918
917
  var require2 = nodeCreateRequire(import.meta.url);
@@ -989,9 +988,6 @@ var importMapExcludedSubpaths = {
989
988
  "@dxos/react-ui-mosaic": /* @__PURE__ */ new Set([
990
989
  "playwright"
991
990
  ]),
992
- "@dxos/react-ui-stack": /* @__PURE__ */ new Set([
993
- "playwright"
994
- ]),
995
991
  "@dxos/react-ui-table": /* @__PURE__ */ new Set([
996
992
  "playwright"
997
993
  ]),
@@ -1006,7 +1002,7 @@ var importMapExcludedSubpaths = {
1006
1002
  ]),
1007
1003
  // `effect` publishes `./.index` for bundler internals — maps to `effect/.index`, which Vite
1008
1004
  // often cannot resolve for the import map and is not part of the plugin-facing surface.
1009
- effect: /* @__PURE__ */ new Set([
1005
+ "effect": /* @__PURE__ */ new Set([
1010
1006
  ".index"
1011
1007
  ])
1012
1008
  };
@@ -1156,6 +1152,7 @@ var importMapPlugin = (options) => {
1156
1152
  let modules = [];
1157
1153
  let importMapIsDev = false;
1158
1154
  let base = "/";
1155
+ let root = process.cwd();
1159
1156
  return [
1160
1157
  // Phase 1: Resolve all package entrypoints and emit chunks.
1161
1158
  //
@@ -1174,6 +1171,7 @@ var importMapPlugin = (options) => {
1174
1171
  apply: "build",
1175
1172
  configResolved(config) {
1176
1173
  base = config.base ?? "/";
1174
+ root = config.root;
1177
1175
  },
1178
1176
  async buildStart() {
1179
1177
  importMapIsDev = this.environment.mode === "dev";
@@ -1195,7 +1193,7 @@ var importMapPlugin = (options) => {
1195
1193
  imports[specifier] = "data:text/javascript;charset=utf-8,export%20%7B%7D%3B";
1196
1194
  continue;
1197
1195
  }
1198
- const resolved = await this.resolve(specifier);
1196
+ const resolved = await this.resolve(specifier, path.join(root, "index.html"));
1199
1197
  if (!resolved) {
1200
1198
  this.warn(`Import map: unable to resolve "${specifier}"; omitting from import map.`);
1201
1199
  continue;
@@ -1247,12 +1245,12 @@ ${keepalive}
1247
1245
  if (isCjs) {
1248
1246
  const named = getCjsNamedExports(filePath);
1249
1247
  if (named.length > 0) {
1250
- return `export { default, ${named.join(", ")} } from ${JSON.stringify(specifier)};
1248
+ return `export { default, ${named.join(", ")} } from ${JSON.stringify(filePath)};
1251
1249
  ${keepalive}
1252
1250
  `;
1253
1251
  }
1254
1252
  }
1255
- return `export * from ${JSON.stringify(specifier)};
1253
+ return `export * from ${JSON.stringify(filePath)};
1256
1254
  ${keepalive}
1257
1255
  `;
1258
1256
  },