@dxos/app-framework 0.8.1-main.ba2dec9 → 0.8.1-staging.5be625a

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 (76) hide show
  1. package/dist/lib/browser/{app-graph-builder-IAEV7KKF.mjs → app-graph-builder-OD3G2J2U.mjs} +2 -2
  2. package/dist/lib/browser/{chunk-PWAAJE2Z.mjs → chunk-CESGLKOM.mjs} +4 -3
  3. package/dist/lib/browser/{chunk-PWAAJE2Z.mjs.map → chunk-CESGLKOM.mjs.map} +3 -3
  4. package/dist/lib/browser/{chunk-CIP4C47B.mjs → chunk-KP6FVIAA.mjs} +7 -6
  5. package/dist/lib/browser/chunk-KP6FVIAA.mjs.map +7 -0
  6. package/dist/lib/browser/index.mjs +7 -6
  7. package/dist/lib/browser/index.mjs.map +3 -3
  8. package/dist/lib/browser/{intent-dispatcher-UR566RVO.mjs → intent-dispatcher-RTXTATZJ.mjs} +2 -2
  9. package/dist/lib/browser/{intent-resolver-LEJ3X6CP.mjs → intent-resolver-ZL6WBF2L.mjs} +2 -2
  10. package/dist/lib/browser/meta.json +1 -1
  11. package/dist/lib/browser/{store-5TN4OLFQ.mjs → store-JIKLP4JL.mjs} +2 -2
  12. package/dist/lib/browser/testing/index.mjs +4 -3
  13. package/dist/lib/browser/testing/index.mjs.map +3 -3
  14. package/dist/lib/browser/worker.mjs +1 -1
  15. package/dist/lib/node/{app-graph-builder-3RWOZENP.cjs → app-graph-builder-S3ER53EH.cjs} +12 -12
  16. package/dist/lib/node/{chunk-JLQABYHB.cjs → chunk-4YBMWZR3.cjs} +23 -22
  17. package/dist/lib/node/chunk-4YBMWZR3.cjs.map +7 -0
  18. package/dist/lib/node/{chunk-XP4TI5DS.cjs → chunk-KRK7EH6Z.cjs} +7 -6
  19. package/dist/lib/node/{chunk-XP4TI5DS.cjs.map → chunk-KRK7EH6Z.cjs.map} +2 -2
  20. package/dist/lib/node/index.cjs +68 -67
  21. package/dist/lib/node/index.cjs.map +3 -3
  22. package/dist/lib/node/{intent-dispatcher-EDW7NFJ4.cjs → intent-dispatcher-TBTSYYGJ.cjs} +8 -8
  23. package/dist/lib/node/{intent-dispatcher-EDW7NFJ4.cjs.map → intent-dispatcher-TBTSYYGJ.cjs.map} +2 -2
  24. package/dist/lib/node/{intent-resolver-34J5IM27.cjs → intent-resolver-IYW254AY.cjs} +8 -8
  25. package/dist/lib/node/meta.json +1 -1
  26. package/dist/lib/node/{store-3I3UFH5D.cjs → store-KGQB37IW.cjs} +7 -7
  27. package/dist/lib/node/testing/index.cjs +10 -9
  28. package/dist/lib/node/testing/index.cjs.map +3 -3
  29. package/dist/lib/node/worker.cjs +37 -37
  30. package/dist/lib/node/worker.cjs.map +1 -1
  31. package/dist/lib/node-esm/{app-graph-builder-RG3DT2OD.mjs → app-graph-builder-UP3LWWYO.mjs} +2 -2
  32. package/dist/lib/node-esm/{chunk-T2URISUU.mjs → chunk-MZCAK52M.mjs} +7 -6
  33. package/dist/lib/node-esm/chunk-MZCAK52M.mjs.map +7 -0
  34. package/dist/lib/node-esm/{chunk-NIVSBD3D.mjs → chunk-RQWO2T4E.mjs} +4 -3
  35. package/dist/lib/node-esm/{chunk-NIVSBD3D.mjs.map → chunk-RQWO2T4E.mjs.map} +3 -3
  36. package/dist/lib/node-esm/index.mjs +7 -6
  37. package/dist/lib/node-esm/index.mjs.map +3 -3
  38. package/dist/lib/node-esm/{intent-dispatcher-7GCMKMSQ.mjs → intent-dispatcher-7UNJKY3C.mjs} +2 -2
  39. package/dist/lib/node-esm/{intent-resolver-7T6UOQOS.mjs → intent-resolver-6MHZSVCT.mjs} +2 -2
  40. package/dist/lib/node-esm/meta.json +1 -1
  41. package/dist/lib/node-esm/{store-PTKVELJP.mjs → store-YSFTF2GM.mjs} +2 -2
  42. package/dist/lib/node-esm/testing/index.mjs +4 -3
  43. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  44. package/dist/lib/node-esm/worker.mjs +1 -1
  45. package/dist/types/src/common/surface.d.ts +4 -7
  46. package/dist/types/src/common/surface.d.ts.map +1 -1
  47. package/dist/types/src/core/plugin.d.ts +1 -1
  48. package/dist/types/src/core/plugin.d.ts.map +1 -1
  49. package/dist/types/src/react/Surface.d.ts.map +1 -1
  50. package/package.json +18 -18
  51. package/src/common/surface.ts +6 -1
  52. package/src/core/manager.test.ts +30 -30
  53. package/src/core/plugin.ts +1 -1
  54. package/src/playground/debug/plugin.ts +1 -1
  55. package/src/playground/generator/generator.ts +1 -1
  56. package/src/playground/generator/plugin.ts +1 -1
  57. package/src/playground/layout/plugin.ts +1 -1
  58. package/src/playground/logger/plugin.ts +1 -1
  59. package/src/plugin-intent/IntentPlugin.tsx +1 -1
  60. package/src/plugin-settings/SettingsPlugin.ts +1 -1
  61. package/src/react/Surface.tsx +5 -3
  62. package/src/testing/withPluginManager.tsx +1 -1
  63. package/dist/lib/browser/chunk-CIP4C47B.mjs.map +0 -7
  64. package/dist/lib/node/chunk-JLQABYHB.cjs.map +0 -7
  65. package/dist/lib/node-esm/chunk-T2URISUU.mjs.map +0 -7
  66. /package/dist/lib/browser/{app-graph-builder-IAEV7KKF.mjs.map → app-graph-builder-OD3G2J2U.mjs.map} +0 -0
  67. /package/dist/lib/browser/{intent-dispatcher-UR566RVO.mjs.map → intent-dispatcher-RTXTATZJ.mjs.map} +0 -0
  68. /package/dist/lib/browser/{intent-resolver-LEJ3X6CP.mjs.map → intent-resolver-ZL6WBF2L.mjs.map} +0 -0
  69. /package/dist/lib/browser/{store-5TN4OLFQ.mjs.map → store-JIKLP4JL.mjs.map} +0 -0
  70. /package/dist/lib/node/{app-graph-builder-3RWOZENP.cjs.map → app-graph-builder-S3ER53EH.cjs.map} +0 -0
  71. /package/dist/lib/node/{intent-resolver-34J5IM27.cjs.map → intent-resolver-IYW254AY.cjs.map} +0 -0
  72. /package/dist/lib/node/{store-3I3UFH5D.cjs.map → store-KGQB37IW.cjs.map} +0 -0
  73. /package/dist/lib/node-esm/{app-graph-builder-RG3DT2OD.mjs.map → app-graph-builder-UP3LWWYO.mjs.map} +0 -0
  74. /package/dist/lib/node-esm/{intent-dispatcher-7GCMKMSQ.mjs.map → intent-dispatcher-7UNJKY3C.mjs.map} +0 -0
  75. /package/dist/lib/node-esm/{intent-resolver-7T6UOQOS.mjs.map → intent-resolver-6MHZSVCT.mjs.map} +0 -0
  76. /package/dist/lib/node-esm/{store-PTKVELJP.mjs.map → store-YSFTF2GM.mjs.map} +0 -0
@@ -2,7 +2,7 @@ import {
2
2
  Capabilities,
3
3
  Events,
4
4
  PluginManager
5
- } from "./chunk-PWAAJE2Z.mjs";
5
+ } from "./chunk-CESGLKOM.mjs";
6
6
 
7
7
  // packages/sdk/app-framework/src/react/PluginManagerProvider.ts
8
8
  import { createContext, useContext } from "react";
@@ -71,9 +71,10 @@ var ErrorBoundary = class extends Component {
71
71
  };
72
72
 
73
73
  // packages/sdk/app-framework/src/react/Surface.tsx
74
- import React2, { memo, forwardRef, Suspense, useMemo as useMemo2 } from "react";
74
+ import React2, { memo, forwardRef, Suspense, useMemo as useMemo2, Fragment } from "react";
75
75
  import { useDefaultValue } from "@dxos/react-hooks";
76
76
  import { byPosition } from "@dxos/util";
77
+ var DEFAULT_PLACEHOLDER = /* @__PURE__ */ React2.createElement(Fragment, null);
77
78
  var useSurfaces = () => {
78
79
  const surfaces = useCapabilities(Capabilities.ReactSurface);
79
80
  return useMemo2(() => surfaces.flat(), [
@@ -91,7 +92,7 @@ var isSurfaceAvailable = (context, { role, data }) => {
91
92
  });
92
93
  return candidates.length > 0;
93
94
  };
94
- var Surface = /* @__PURE__ */ memo(/* @__PURE__ */ forwardRef(({ id: _id, role, data: _data, limit, fallback, placeholder, ...rest }, forwardedRef) => {
95
+ var Surface = /* @__PURE__ */ memo(/* @__PURE__ */ forwardRef(({ id: _id, role, data: _data, limit, fallback, placeholder = DEFAULT_PLACEHOLDER, ...rest }, forwardedRef) => {
95
96
  const surfaces = useSurfaces();
96
97
  const data = useDefaultValue(_data, () => ({}));
97
98
  const definitions = findCandidates(surfaces, {
@@ -108,9 +109,9 @@ var Surface = /* @__PURE__ */ memo(/* @__PURE__ */ forwardRef(({ id: _id, role,
108
109
  limit,
109
110
  ...rest
110
111
  }));
111
- const suspense = placeholder ? /* @__PURE__ */ React2.createElement(Suspense, {
112
+ const suspense = /* @__PURE__ */ React2.createElement(Suspense, {
112
113
  fallback: placeholder
113
- }, nodes) : nodes;
114
+ }, nodes);
114
115
  return fallback ? /* @__PURE__ */ React2.createElement(ErrorBoundary, {
115
116
  data,
116
117
  fallback
@@ -282,4 +283,4 @@ export {
282
283
  useIntentResolver,
283
284
  createApp
284
285
  };
285
- //# sourceMappingURL=chunk-CIP4C47B.mjs.map
286
+ //# sourceMappingURL=chunk-KP6FVIAA.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/react/PluginManagerProvider.ts", "../../../src/react/useCapabilities.ts", "../../../src/react/common.ts", "../../../src/react/ErrorBoundary.tsx", "../../../src/react/Surface.tsx", "../../../src/react/useIntentResolver.ts", "../../../src/App.tsx", "../../../src/helpers.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport { createContext, useContext } from 'react';\n\nimport { raise } from '@dxos/debug';\n\nimport { type PluginManager } from '../core';\n\nconst PluginManagerContext = createContext<PluginManager | undefined>(undefined);\n\n/**\n * Get the plugin manager.\n */\nexport const usePluginManager = (): PluginManager =>\n useContext(PluginManagerContext) ?? raise(new Error('Missing PluginManagerContext'));\n\n/**\n * Context provider for a plugin manager.\n */\nexport const PluginManagerProvider = PluginManagerContext.Provider;\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { computed } from '@preact/signals-core';\nimport { useMemo } from 'react';\n\nimport { usePluginManager } from './PluginManagerProvider';\nimport { type InterfaceDef } from '../core';\n\n/**\n * Hook to request capabilities from the plugin context.\n * @returns An array of capabilities.\n */\nexport const useCapabilities = <T, U extends T = T>(\n interfaceDef: InterfaceDef<T>,\n filter?: (capability: T, moduleId: string) => capability is U,\n) => {\n const manager = usePluginManager();\n const signal = useMemo(\n () => computed(() => manager.context.requestCapabilities(interfaceDef, filter)),\n [interfaceDef],\n );\n\n return signal.value;\n};\n\n/**\n * Hook to request a capability from the plugin context.\n * @returns The capability.\n * @throws If no capability is found.\n */\nexport const useCapability = <T, U extends T = T>(\n interfaceDef: InterfaceDef<T>,\n filter?: (capability: T, moduleId: string) => capability is U,\n) => {\n const manager = usePluginManager();\n const signal = useMemo(() => computed(() => manager.context.requestCapability(interfaceDef, filter)), [interfaceDef]);\n return signal.value;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCapability } from './useCapabilities';\nimport { Capabilities } from '../common';\n\nexport const useIntentDispatcher = () => useCapability(Capabilities.IntentDispatcher);\n\nexport const useAppGraph = () => useCapability(Capabilities.AppGraph);\n\nexport const useLayout = () => useCapability(Capabilities.Layout);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { Component, type FC, type PropsWithChildren } from 'react';\n\ntype Props = PropsWithChildren<{ data?: any; fallback: FC<{ data?: any; error: Error; reset: () => void }> }>;\ntype State = { error: Error | undefined };\n\n/**\n * Surface error boundary.\n *\n * For basic usage prefer providing a fallback component to `Surface`.\n *\n * For more information on error boundaries, see:\n * https://react.dev/reference/react/Component#catching-rendering-errors-with-an-error-boundary\n */\nexport class ErrorBoundary extends Component<Props, State> {\n constructor(props: Props) {\n super(props);\n this.state = { error: undefined };\n }\n\n static getDerivedStateFromError(error: Error) {\n return { error };\n }\n\n override componentDidUpdate(prevProps: Props): void {\n if (prevProps.data !== this.props.data) {\n this.resetError();\n }\n }\n\n override render() {\n if (this.state.error) {\n return <this.props.fallback data={this.props.data} error={this.state.error} reset={this.resetError} />;\n }\n\n return this.props.children;\n }\n\n private resetError() {\n this.setState({ error: undefined });\n }\n}\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { memo, forwardRef, Suspense, useMemo, Fragment } from 'react';\n\nimport { useDefaultValue } from '@dxos/react-hooks';\nimport { byPosition } from '@dxos/util';\n\nimport { ErrorBoundary } from './ErrorBoundary';\nimport { useCapabilities } from './useCapabilities';\nimport { Capabilities, type SurfaceDefinition, type SurfaceProps } from '../common';\nimport { type PluginsContext } from '../core';\n\nconst DEFAULT_PLACEHOLDER = <Fragment />;\n\n/**\n * @internal\n */\nexport const useSurfaces = () => {\n const surfaces = useCapabilities(Capabilities.ReactSurface);\n return useMemo(() => surfaces.flat(), [surfaces]);\n};\n\nconst findCandidates = (surfaces: SurfaceDefinition[], { role, data }: Pick<SurfaceProps, 'role' | 'data'>) => {\n return Object.values(surfaces)\n .filter((definition) =>\n Array.isArray(definition.role) ? definition.role.includes(role) : definition.role === role,\n )\n .filter(({ filter }) => (filter ? filter(data ?? {}) : true))\n .toSorted(byPosition);\n};\n\n/**\n * @returns `true` if there is a contributed surface which matches the specified role & data, `false` otherwise.\n */\nexport const isSurfaceAvailable = (context: PluginsContext, { role, data }: Pick<SurfaceProps, 'role' | 'data'>) => {\n const surfaces = context.requestCapabilities(Capabilities.ReactSurface);\n const candidates = findCandidates(surfaces.flat(), { role, data });\n return candidates.length > 0;\n};\n\n/**\n * A surface is a named region of the screen that can be populated by plugins.\n */\nexport const Surface = memo(\n forwardRef<HTMLElement, SurfaceProps>(\n ({ id: _id, role, data: _data, limit, fallback, placeholder = DEFAULT_PLACEHOLDER, ...rest }, forwardedRef) => {\n // TODO(wittjosiah): This will make all surfaces depend on a single signal.\n // This isn't ideal because it means that any change to the data will cause all surfaces to re-render.\n // This effectively means that plugin modules which contribute surfaces need to all be activated at startup.\n // This should be fine for now because it's how it worked prior to capabilities api anyways.\n // In the future, it would be nice to be able to bucket the surface contributions by role.\n const surfaces = useSurfaces();\n const data = useDefaultValue(_data, () => ({}));\n\n // NOTE: Memoizing the candidates makes the surface not re-render based on reactivity within data.\n const definitions = findCandidates(surfaces, { role, data });\n const candidates = limit ? definitions.slice(0, limit) : definitions;\n const nodes = candidates.map(({ component: Component, id }) => (\n <Component ref={forwardedRef} key={id} id={id} role={role} data={data} limit={limit} {...rest} />\n ));\n\n const suspense = <Suspense fallback={placeholder}>{nodes}</Suspense>;\n\n return fallback ? (\n <ErrorBoundary data={data} fallback={fallback}>\n {suspense}\n </ErrorBoundary>\n ) : (\n suspense\n );\n },\n ),\n);\n\nSurface.displayName = 'Surface';\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { useEffect } from 'react';\n\nimport { Capabilities } from '../common';\nimport { type AnyIntentResolver } from '../plugin-intent';\nimport { usePluginManager } from '../react';\n\nexport const useIntentResolver = (module: string, resolver: AnyIntentResolver) => {\n const manager = usePluginManager();\n useEffect(() => {\n manager.context.contributeCapability({\n module,\n interface: Capabilities.IntentResolver,\n implementation: resolver,\n });\n\n return () => manager.context.removeCapability(Capabilities.IntentResolver, resolver);\n }, [module, resolver]);\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\nimport React, { type PropsWithChildren, type ReactNode } from 'react';\n\nimport { invariant } from '@dxos/invariant';\nimport { create } from '@dxos/live-object';\n\nimport { Capabilities, Events } from './common';\nimport { PluginManager, type PluginManagerOptions, type Plugin } from './core';\nimport { topologicalSort } from './helpers';\nimport { ErrorBoundary, PluginManagerProvider, useCapabilities } from './react';\n\nconst ENABLED_KEY = 'dxos.org/app-framework/enabled';\n\nexport type CreateAppOptions = {\n pluginManager?: PluginManager;\n pluginLoader?: PluginManagerOptions['pluginLoader'];\n plugins?: Plugin[];\n core?: string[];\n defaults?: string[];\n placeholder?: ReactNode;\n fallback?: ErrorBoundary['props']['fallback'];\n cacheEnabled?: boolean;\n};\n\n/**\n * Expected usage is for this to be the entrypoint of the application.\n * Initializes plugins and renders the root components.\n *\n * @example\n * const plugins = [LayoutPlugin(), MyPlugin()];\n * const core = [LayoutPluginId];\n * const default = [MyPluginId];\n * const fallback = <div>Initializing Plugins...</div>;\n * const App = createApp({ plugins, core, default, fallback });\n * createRoot(document.getElementById('root')!).render(\n * <StrictMode>\n * <App />\n * </StrictMode>,\n * );\n *\n * @param params.pluginLoader A function which loads new plugins.\n * @param params.plugins All plugins available to the application.\n * @param params.core Core plugins which will always be enabled.\n * @param params.defaults Default plugins are enabled by default but can be disabled by the user.\n * @param params.placeholder Placeholder component to render during startup.\n * @param params.fallback Fallback component to render if an error occurs during startup.\n * @param params.cacheEnabled Whether to cache enabled plugins in localStorage.\n */\nexport const createApp = ({\n pluginManager,\n pluginLoader: _pluginLoader,\n plugins = [],\n core = plugins.map(({ meta }) => meta.id),\n defaults = [],\n placeholder = null,\n fallback = DefaultFallback,\n cacheEnabled = false,\n}: CreateAppOptions) => {\n // TODO(wittjosiah): Provide a custom plugin loader which supports loading via url.\n const pluginLoader =\n _pluginLoader ??\n ((id: string) => {\n const plugin = plugins.find((plugin) => plugin.meta.id === id);\n invariant(plugin, `Plugin not found: ${id}`);\n return plugin;\n });\n\n const state = create({ ready: false, error: null });\n const cached: string[] = JSON.parse(localStorage.getItem(ENABLED_KEY) ?? '[]');\n const enabled = cacheEnabled && cached.length > 0 ? cached : defaults;\n const manager = pluginManager ?? new PluginManager({ pluginLoader, plugins, core, enabled });\n\n manager.activation.on(({ event, state: _state, error }) => {\n // Once the app is ready the first time, don't show the fallback again.\n if (!state.ready && event === Events.Startup.id) {\n state.ready = _state === 'activated';\n }\n\n if (error && !state.ready && !state.error) {\n state.error = error;\n }\n });\n\n effect(() => {\n cacheEnabled && localStorage.setItem(ENABLED_KEY, JSON.stringify(manager.enabled));\n });\n\n manager.context.contributeCapability({\n interface: Capabilities.PluginManager,\n implementation: manager,\n module: 'dxos.org/app-framework/plugin-manager',\n });\n\n setupDevtools(manager);\n\n // TODO(wittjosiah): Factor out such that this could be called per surface role when attempting to render.\n void manager.activate(Events.SetupReactSurface);\n void manager.activate(Events.Startup);\n\n return () => (\n <ErrorBoundary fallback={fallback}>\n <PluginManagerProvider value={manager}>\n <App placeholder={placeholder} state={state} />\n </PluginManagerProvider>\n </ErrorBoundary>\n );\n};\n\ntype AppProps = Required<Pick<CreateAppOptions, 'placeholder'>> & {\n state: { ready: boolean; error: unknown };\n};\n\nconst App = ({ placeholder, state }: AppProps) => {\n const reactContexts = useCapabilities(Capabilities.ReactContext);\n const reactRoots = useCapabilities(Capabilities.ReactRoot);\n\n if (state.error) {\n // This trigger the error boundary to provide UI feedback for the startup error.\n throw state.error;\n }\n\n // TODO(wittjosiah): Consider using Suspense instead?\n if (!state.ready) {\n return <>{placeholder}</>;\n }\n\n const ComposedContext = composeContexts(reactContexts);\n return (\n <ComposedContext>\n {reactRoots.map(({ id, root: Component }) => (\n <Component key={id} />\n ))}\n </ComposedContext>\n );\n};\n\n// Default fallback does not use tailwind or theme.\nconst DefaultFallback = ({ error }: { error: Error }) => {\n return (\n <div style={{ padding: '1rem' }}>\n {/* TODO(wittjosiah): Link to docs for replacing default. */}\n <h1 style={{ fontSize: '1.2rem', fontWeight: 700, margin: '0.5rem 0' }}>{error.message}</h1>\n <pre>{error.stack}</pre>\n </div>\n );\n};\n\nconst composeContexts = (contexts: Capabilities.ReactContext[]) => {\n if (contexts.length === 0) {\n return ({ children }: PropsWithChildren) => <>{children}</>;\n }\n\n return topologicalSort(contexts)\n .map(({ context }) => context)\n .reduce((Acc, Next) => ({ children }) => (\n <Acc>\n <Next>{children}</Next>\n </Acc>\n ));\n};\n\nconst setupDevtools = (manager: PluginManager) => {\n (globalThis as any).composer ??= {};\n (globalThis as any).composer.manager = manager;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\ntype DependencyNode = {\n id: string;\n dependsOn?: string[];\n};\n\n/**\n * Topologically sorts a list of nodes based on their dependencies.\n */\n// TODO(wittjosiah): Factor out?\nexport const topologicalSort = <T extends DependencyNode>(nodes: T[]): T[] => {\n const getDependencies = (nodeId: string, seen = new Set<string>(), path = new Set<string>()): string[] => {\n if (path.has(nodeId)) {\n throw new Error(`Circular dependency detected involving ${nodeId}`);\n }\n if (seen.has(nodeId)) {\n return [];\n }\n\n const node = nodes.find((n) => n.id === nodeId);\n if (!node) {\n throw new Error(`Node ${nodeId} not found but is listed as a dependency`);\n }\n\n const newPath = new Set([...path, nodeId]);\n const newSeen = new Set([...seen, nodeId]);\n\n const dependsOn = node.dependsOn ?? [];\n return [...dependsOn.flatMap((depId) => getDependencies(depId, newSeen, newPath)), nodeId];\n };\n\n // Get all unique dependencies.\n const allDependencies = nodes\n .map((node) => node.id)\n .flatMap((id) => getDependencies(id))\n .filter((id, index, self) => self.indexOf(id) === index);\n\n // Map back to original nodes\n return allDependencies\n .map((id) => nodes.find((node) => node.id === id))\n .filter((node): node is T => node !== undefined);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["createContext", "useContext", "raise", "PluginManagerContext", "createContext", "undefined", "usePluginManager", "useContext", "raise", "Error", "PluginManagerProvider", "Provider", "computed", "useMemo", "useCapabilities", "interfaceDef", "filter", "manager", "usePluginManager", "signal", "useMemo", "computed", "context", "requestCapabilities", "value", "useCapability", "requestCapability", "useIntentDispatcher", "useCapability", "Capabilities", "IntentDispatcher", "useAppGraph", "AppGraph", "useLayout", "Layout", "React", "Component", "ErrorBoundary", "Component", "constructor", "props", "state", "error", "undefined", "getDerivedStateFromError", "componentDidUpdate", "prevProps", "data", "resetError", "render", "this", "fallback", "reset", "children", "setState", "React", "memo", "forwardRef", "Suspense", "useMemo", "Fragment", "useDefaultValue", "byPosition", "DEFAULT_PLACEHOLDER", "React", "Fragment", "useSurfaces", "surfaces", "useCapabilities", "Capabilities", "ReactSurface", "useMemo", "flat", "findCandidates", "role", "data", "Object", "values", "filter", "definition", "Array", "isArray", "includes", "toSorted", "byPosition", "isSurfaceAvailable", "context", "requestCapabilities", "candidates", "length", "Surface", "memo", "forwardRef", "id", "_id", "_data", "limit", "fallback", "placeholder", "rest", "forwardedRef", "useDefaultValue", "definitions", "slice", "nodes", "map", "component", "Component", "ref", "key", "suspense", "Suspense", "ErrorBoundary", "displayName", "useEffect", "useIntentResolver", "module", "resolver", "manager", "usePluginManager", "useEffect", "context", "contributeCapability", "interface", "Capabilities", "IntentResolver", "implementation", "removeCapability", "effect", "React", "invariant", "create", "topologicalSort", "nodes", "getDependencies", "nodeId", "seen", "Set", "path", "has", "Error", "node", "find", "n", "id", "newPath", "newSeen", "dependsOn", "flatMap", "depId", "allDependencies", "map", "filter", "index", "self", "indexOf", "undefined", "ENABLED_KEY", "createApp", "pluginManager", "pluginLoader", "_pluginLoader", "plugins", "core", "map", "meta", "id", "defaults", "placeholder", "fallback", "DefaultFallback", "cacheEnabled", "plugin", "find", "invariant", "state", "create", "ready", "error", "cached", "JSON", "parse", "localStorage", "getItem", "enabled", "length", "manager", "PluginManager", "activation", "on", "event", "_state", "Events", "Startup", "effect", "setItem", "stringify", "context", "contributeCapability", "interface", "Capabilities", "implementation", "module", "setupDevtools", "activate", "SetupReactSurface", "React", "ErrorBoundary", "PluginManagerProvider", "value", "App", "reactContexts", "useCapabilities", "ReactContext", "reactRoots", "ReactRoot", "ComposedContext", "composeContexts", "root", "Component", "key", "div", "style", "padding", "h1", "fontSize", "fontWeight", "margin", "message", "pre", "stack", "contexts", "children", "topologicalSort", "reduce", "Acc", "Next", "globalThis", "composer"]
7
+ }
@@ -12,7 +12,7 @@ import {
12
12
  useLayout,
13
13
  usePluginManager,
14
14
  useSurfaces
15
- } from "./chunk-CIP4C47B.mjs";
15
+ } from "./chunk-KP6FVIAA.mjs";
16
16
  import {
17
17
  SETTINGS_ACTION,
18
18
  SETTINGS_ID,
@@ -57,7 +57,7 @@ import {
57
57
  isOneOf,
58
58
  lazy,
59
59
  oneOf
60
- } from "./chunk-PWAAJE2Z.mjs";
60
+ } from "./chunk-CESGLKOM.mjs";
61
61
 
62
62
  // packages/sdk/app-framework/src/plugin-settings/translations.ts
63
63
  var translations_default = [
@@ -74,7 +74,8 @@ var translations_default = [
74
74
 
75
75
  // packages/sdk/app-framework/src/plugin-settings/SettingsPlugin.ts
76
76
  var SettingsPlugin = () => definePlugin({
77
- id: SETTINGS_PLUGIN
77
+ id: SETTINGS_PLUGIN,
78
+ name: "Settings"
78
79
  }, [
79
80
  defineModule({
80
81
  id: `${SETTINGS_PLUGIN}/module/store`,
@@ -85,7 +86,7 @@ var SettingsPlugin = () => definePlugin({
85
86
  activatesAfter: [
86
87
  Events.SettingsReady
87
88
  ],
88
- activate: lazy(() => import("./store-5TN4OLFQ.mjs"))
89
+ activate: lazy(() => import("./store-JIKLP4JL.mjs"))
89
90
  }),
90
91
  defineModule({
91
92
  id: `${SETTINGS_PLUGIN}/module/translations`,
@@ -95,12 +96,12 @@ var SettingsPlugin = () => definePlugin({
95
96
  defineModule({
96
97
  id: `${SETTINGS_PLUGIN}/module/intent-resolver`,
97
98
  activatesOn: Events.SetupIntentResolver,
98
- activate: lazy(() => import("./intent-resolver-LEJ3X6CP.mjs"))
99
+ activate: lazy(() => import("./intent-resolver-ZL6WBF2L.mjs"))
99
100
  }),
100
101
  defineModule({
101
102
  id: `${SETTINGS_PLUGIN}/module/app-graph-builder`,
102
103
  activatesOn: Events.SetupAppGraph,
103
- activate: lazy(() => import("./app-graph-builder-IAEV7KKF.mjs"))
104
+ activate: lazy(() => import("./app-graph-builder-OD3G2J2U.mjs"))
104
105
  })
105
106
  ]);
106
107
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/plugin-settings/translations.ts", "../../../src/plugin-settings/SettingsPlugin.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { SETTINGS_PLUGIN } from './actions';\n\nexport default [\n {\n 'en-US': {\n [SETTINGS_PLUGIN]: {\n 'open settings label': 'Open settings',\n 'app settings label': 'Settings',\n 'custom plugins label': 'Plugins',\n },\n },\n },\n];\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { SETTINGS_PLUGIN } from './actions';\nimport translations from './translations';\nimport { Capabilities, Events } from '../common';\nimport { contributes, defineModule, definePlugin, lazy } from '../core';\n\n// TODO(wittjosiah): Add options to exclude some modules.\nexport const SettingsPlugin = () =>\n definePlugin({ id: SETTINGS_PLUGIN }, [\n defineModule({\n id: `${SETTINGS_PLUGIN}/module/store`,\n activatesOn: Events.Startup,\n activatesBefore: [Events.SetupSettings],\n activatesAfter: [Events.SettingsReady],\n activate: lazy(() => import('./store')),\n }),\n defineModule({\n id: `${SETTINGS_PLUGIN}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${SETTINGS_PLUGIN}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: lazy(() => import('./intent-resolver')),\n }),\n defineModule({\n id: `${SETTINGS_PLUGIN}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: lazy(() => import('./app-graph-builder')),\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACA,eAAAA,GAAkB;QACjB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;MAC1B;IACF;EACF;;;;ACLK,IAAMC,iBAAiB,MAC5BC,aAAa;EAAEC,IAAIC;AAAgB,GAAG;EACpCC,aAAa;IACXF,IAAI,GAAGC,eAAAA;IACPE,aAAaC,OAAOC;IACpBC,iBAAiB;MAACF,OAAOG;;IACzBC,gBAAgB;MAACJ,OAAOK;;IACxBC,UAAUC,KAAK,MAAM,OAAO,sBAAA,CAAA;EAC9B,CAAA;EACAT,aAAa;IACXF,IAAI,GAAGC,eAAAA;IACPE,aAAaC,OAAOQ;IACpBF,UAAU,MAAMG,YAAYC,aAAaC,cAAcC,oBAAAA;EACzD,CAAA;EACAd,aAAa;IACXF,IAAI,GAAGC,eAAAA;IACPE,aAAaC,OAAOa;IACpBP,UAAUC,KAAK,MAAM,OAAO,gCAAA,CAAA;EAC9B,CAAA;EACAT,aAAa;IACXF,IAAI,GAAGC,eAAAA;IACPE,aAAaC,OAAOc;IACpBR,UAAUC,KAAK,MAAM,OAAO,kCAAA,CAAA;EAC9B,CAAA;CACD;",
6
- "names": ["SETTINGS_PLUGIN", "SettingsPlugin", "definePlugin", "id", "SETTINGS_PLUGIN", "defineModule", "activatesOn", "Events", "Startup", "activatesBefore", "SetupSettings", "activatesAfter", "SettingsReady", "activate", "lazy", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "SetupIntentResolver", "SetupAppGraph"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { SETTINGS_PLUGIN } from './actions';\n\nexport default [\n {\n 'en-US': {\n [SETTINGS_PLUGIN]: {\n 'open settings label': 'Open settings',\n 'app settings label': 'Settings',\n 'custom plugins label': 'Plugins',\n },\n },\n },\n];\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { SETTINGS_PLUGIN } from './actions';\nimport translations from './translations';\nimport { Capabilities, Events } from '../common';\nimport { contributes, defineModule, definePlugin, lazy } from '../core';\n\n// TODO(wittjosiah): Add options to exclude some modules.\nexport const SettingsPlugin = () =>\n definePlugin({ id: SETTINGS_PLUGIN, name: 'Settings' }, [\n defineModule({\n id: `${SETTINGS_PLUGIN}/module/store`,\n activatesOn: Events.Startup,\n activatesBefore: [Events.SetupSettings],\n activatesAfter: [Events.SettingsReady],\n activate: lazy(() => import('./store')),\n }),\n defineModule({\n id: `${SETTINGS_PLUGIN}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${SETTINGS_PLUGIN}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: lazy(() => import('./intent-resolver')),\n }),\n defineModule({\n id: `${SETTINGS_PLUGIN}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: lazy(() => import('./app-graph-builder')),\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACA,eAAAA,GAAkB;QACjB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;MAC1B;IACF;EACF;;;;ACLK,IAAMC,iBAAiB,MAC5BC,aAAa;EAAEC,IAAIC;EAAiBC,MAAM;AAAW,GAAG;EACtDC,aAAa;IACXH,IAAI,GAAGC,eAAAA;IACPG,aAAaC,OAAOC;IACpBC,iBAAiB;MAACF,OAAOG;;IACzBC,gBAAgB;MAACJ,OAAOK;;IACxBC,UAAUC,KAAK,MAAM,OAAO,sBAAA,CAAA;EAC9B,CAAA;EACAT,aAAa;IACXH,IAAI,GAAGC,eAAAA;IACPG,aAAaC,OAAOQ;IACpBF,UAAU,MAAMG,YAAYC,aAAaC,cAAcC,oBAAAA;EACzD,CAAA;EACAd,aAAa;IACXH,IAAI,GAAGC,eAAAA;IACPG,aAAaC,OAAOa;IACpBP,UAAUC,KAAK,MAAM,OAAO,gCAAA,CAAA;EAC9B,CAAA;EACAT,aAAa;IACXH,IAAI,GAAGC,eAAAA;IACPG,aAAaC,OAAOc;IACpBR,UAAUC,KAAK,MAAM,OAAO,kCAAA,CAAA;EAC9B,CAAA;CACD;",
6
+ "names": ["SETTINGS_PLUGIN", "SettingsPlugin", "definePlugin", "id", "SETTINGS_PLUGIN", "name", "defineModule", "activatesOn", "Events", "Startup", "activatesBefore", "SetupSettings", "activatesAfter", "SettingsReady", "activate", "lazy", "SetupTranslations", "contributes", "Capabilities", "Translations", "translations", "SetupIntentResolver", "SetupAppGraph"]
7
7
  }
@@ -2,10 +2,10 @@ import {
2
2
  createDispatcher,
3
3
  createResolver,
4
4
  intent_dispatcher_default
5
- } from "./chunk-PWAAJE2Z.mjs";
5
+ } from "./chunk-CESGLKOM.mjs";
6
6
  export {
7
7
  createDispatcher,
8
8
  createResolver,
9
9
  intent_dispatcher_default as default
10
10
  };
11
- //# sourceMappingURL=intent-dispatcher-UR566RVO.mjs.map
11
+ //# sourceMappingURL=intent-dispatcher-RTXTATZJ.mjs.map
@@ -10,7 +10,7 @@ import {
10
10
  contributes,
11
11
  createIntent,
12
12
  createResolver
13
- } from "./chunk-PWAAJE2Z.mjs";
13
+ } from "./chunk-CESGLKOM.mjs";
14
14
 
15
15
  // packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts
16
16
  import { pipe } from "effect";
@@ -36,4 +36,4 @@ var intent_resolver_default = () => contributes(Capabilities.IntentResolver, cre
36
36
  export {
37
37
  intent_resolver_default as default
38
38
  };
39
- //# sourceMappingURL=intent-resolver-LEJ3X6CP.mjs.map
39
+ //# sourceMappingURL=intent-resolver-ZL6WBF2L.mjs.map
@@ -1 +1 @@
1
- {"inputs":{"packages/sdk/app-framework/src/core/capabilities.ts":{"bytes":19658,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/core/events.ts":{"bytes":5043,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/core/manager.ts":{"bytes":54827,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/core/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/core/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"packages/sdk/app-framework/src/core/plugin.ts":{"bytes":7200,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/core/index.ts":{"bytes":770,"imports":[{"path":"packages/sdk/app-framework/src/core/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/core/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/sdk/app-framework/src/core/manager.ts","kind":"import-statement","original":"./manager"},{"path":"packages/sdk/app-framework/src/core/plugin.ts","kind":"import-statement","original":"./plugin"}],"format":"esm"},"packages/sdk/app-framework/src/common/capabilities.ts":{"bytes":9304,"imports":[{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/common/events.ts":{"bytes":6715,"imports":[{"path":"packages/sdk/app-framework/src/common/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/common/file.ts":{"bytes":2506,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/common/graph.ts":{"bytes":1434,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/intent.ts":{"bytes":9977,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/actions.ts":{"bytes":2307,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/errors.ts":{"bytes":3874,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts":{"bytes":29634,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-intent/errors.ts","kind":"import-statement","original":"./errors"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/IntentPlugin.tsx":{"bytes":2997,"imports":[{"path":"packages/sdk/app-framework/src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts","kind":"dynamic-import","original":"./intent-dispatcher"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/index.ts":{"bytes":810,"imports":[{"path":"packages/sdk/app-framework/src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts","kind":"import-statement","original":"./intent-dispatcher"},{"path":"packages/sdk/app-framework/src/plugin-intent/IntentPlugin.tsx","kind":"import-statement","original":"./IntentPlugin"}],"format":"esm"},"packages/sdk/app-framework/src/common/layout.ts":{"bytes":37552,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"packages/sdk/app-framework/src/common/surface.ts":{"bytes":4002,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/common/translations.ts":{"bytes":2172,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/common/index.ts":{"bytes":1037,"imports":[{"path":"packages/sdk/app-framework/src/common/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/common/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/sdk/app-framework/src/common/file.ts","kind":"import-statement","original":"./file"},{"path":"packages/sdk/app-framework/src/common/graph.ts","kind":"import-statement","original":"./graph"},{"path":"packages/sdk/app-framework/src/common/layout.ts","kind":"import-statement","original":"./layout"},{"path":"packages/sdk/app-framework/src/common/surface.ts","kind":"import-statement","original":"./surface"},{"path":"packages/sdk/app-framework/src/common/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/sdk/app-framework/src/helpers.ts":{"bytes":5078,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/react/PluginManagerProvider.ts":{"bytes":2070,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/react/useCapabilities.ts":{"bytes":3774,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/react/PluginManagerProvider.ts","kind":"import-statement","original":"./PluginManagerProvider"}],"format":"esm"},"packages/sdk/app-framework/src/react/common.ts":{"bytes":1609,"imports":[{"path":"packages/sdk/app-framework/src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"}],"format":"esm"},"packages/sdk/app-framework/src/react/ErrorBoundary.tsx":{"bytes":4327,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/react/Surface.tsx":{"bytes":10288,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/react/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"packages/sdk/app-framework/src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"}],"format":"esm"},"packages/sdk/app-framework/src/react/useIntentResolver.ts":{"bytes":2530,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/react/index.ts","kind":"import-statement","original":"../react"}],"format":"esm"},"packages/sdk/app-framework/src/react/index.ts":{"bytes":1035,"imports":[{"path":"packages/sdk/app-framework/src/react/common.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/react/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"packages/sdk/app-framework/src/react/PluginManagerProvider.ts","kind":"import-statement","original":"./PluginManagerProvider"},{"path":"packages/sdk/app-framework/src/react/Surface.tsx","kind":"import-statement","original":"./Surface"},{"path":"packages/sdk/app-framework/src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"packages/sdk/app-framework/src/react/useIntentResolver.ts","kind":"import-statement","original":"./useIntentResolver"}],"format":"esm"},"packages/sdk/app-framework/src/App.tsx":{"bytes":18283,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"packages/sdk/app-framework/src/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"packages/sdk/app-framework/src/react/index.ts","kind":"import-statement","original":"./react"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/actions.ts":{"bytes":3102,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/translations.ts":{"bytes":1354,"imports":[{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/store.ts":{"bytes":3782,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts":{"bytes":3862,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts":{"bytes":16314,"imports":[{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/SettingsPlugin.ts":{"bytes":4886,"imports":[{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-settings/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-settings/store.ts","kind":"dynamic-import","original":"./store"},{"path":"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/index.ts":{"bytes":619,"imports":[{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-settings/SettingsPlugin.ts","kind":"import-statement","original":"./SettingsPlugin"}],"format":"esm"},"packages/sdk/app-framework/src/index.ts":{"bytes":944,"imports":[{"path":"packages/sdk/app-framework/src/App.tsx","kind":"import-statement","original":"./App"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"./plugin-intent"},{"path":"packages/sdk/app-framework/src/plugin-settings/index.ts","kind":"import-statement","original":"./plugin-settings"},{"path":"packages/sdk/app-framework/src/react/index.ts","kind":"import-statement","original":"./react"}],"format":"esm"},"packages/sdk/app-framework/src/testing/withPluginManager.tsx":{"bytes":8781,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/App.tsx","kind":"import-statement","original":"../App"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/testing/index.ts":{"bytes":531,"imports":[{"path":"packages/sdk/app-framework/src/testing/withPluginManager.tsx","kind":"import-statement","original":"./withPluginManager"}],"format":"esm"},"packages/sdk/app-framework/src/worker.ts":{"bytes":1287,"imports":[{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"./plugin-intent"}],"format":"esm"}},"outputs":{"packages/sdk/app-framework/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2794},"packages/sdk/app-framework/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-CIP4C47B.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-CB3W6T5E.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-PWAAJE2Z.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/store-5TN4OLFQ.mjs","kind":"dynamic-import"},{"path":"packages/sdk/app-framework/dist/lib/browser/intent-resolver-LEJ3X6CP.mjs","kind":"dynamic-import"},{"path":"packages/sdk/app-framework/dist/lib/browser/app-graph-builder-IAEV7KKF.mjs","kind":"dynamic-import"}],"exports":["Capabilities","ErrorBoundary","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginManager","PluginManagerProvider","PluginModule","PluginsContext","Resource","ResourceKey","ResourceLanguage","SETTINGS_ACTION","SETTINGS_ID","SETTINGS_KEY","SETTINGS_PLUGIN","SettingsAction","SettingsPlugin","Surface","allOf","chain","contributes","createApp","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","isAllOf","isOneOf","isSurfaceAvailable","lazy","oneOf","useAppGraph","useCapabilities","useCapability","useIntentDispatcher","useIntentResolver","useLayout","usePluginManager","useSurfaces"],"entryPoint":"packages/sdk/app-framework/src/index.ts","inputs":{"packages/sdk/app-framework/src/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugin-settings/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugin-settings/translations.ts":{"bytesInOutput":228},"packages/sdk/app-framework/src/plugin-settings/SettingsPlugin.ts":{"bytesInOutput":912}},"bytes":3157},"packages/sdk/app-framework/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4446},"packages/sdk/app-framework/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-CIP4C47B.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-PWAAJE2Z.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"exports":["setupPluginManager","withPluginManager"],"entryPoint":"packages/sdk/app-framework/src/testing/index.ts","inputs":{"packages/sdk/app-framework/src/testing/withPluginManager.tsx":{"bytesInOutput":1725},"packages/sdk/app-framework/src/testing/index.ts":{"bytesInOutput":0}},"bytes":2062},"packages/sdk/app-framework/dist/lib/browser/chunk-CIP4C47B.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":23575},"packages/sdk/app-framework/dist/lib/browser/chunk-CIP4C47B.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-PWAAJE2Z.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["ErrorBoundary","PluginManagerProvider","Surface","createApp","isSurfaceAvailable","useAppGraph","useCapabilities","useCapability","useIntentDispatcher","useIntentResolver","useLayout","usePluginManager","useSurfaces"],"inputs":{"packages/sdk/app-framework/src/react/PluginManagerProvider.ts":{"bytesInOutput":312},"packages/sdk/app-framework/src/react/useCapabilities.ts":{"bytesInOutput":568},"packages/sdk/app-framework/src/react/common.ts":{"bytesInOutput":198},"packages/sdk/app-framework/src/react/ErrorBoundary.tsx":{"bytesInOutput":705},"packages/sdk/app-framework/src/react/Surface.tsx":{"bytesInOutput":1746},"packages/sdk/app-framework/src/react/useIntentResolver.ts":{"bytesInOutput":414},"packages/sdk/app-framework/src/react/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/App.tsx":{"bytesInOutput":3525},"packages/sdk/app-framework/src/helpers.ts":{"bytesInOutput":1049}},"bytes":9369},"packages/sdk/app-framework/dist/lib/browser/worker.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/browser/worker.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-PWAAJE2Z.mjs","kind":"import-statement"}],"exports":["Capabilities","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginManager","PluginModule","PluginsContext","Resource","ResourceKey","ResourceLanguage","allOf","chain","contributes","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","isAllOf","isOneOf","lazy","oneOf"],"entryPoint":"packages/sdk/app-framework/src/worker.ts","inputs":{"packages/sdk/app-framework/src/worker.ts":{"bytesInOutput":0}},"bytes":1150},"packages/sdk/app-framework/dist/lib/browser/intent-dispatcher-UR566RVO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/browser/intent-dispatcher-UR566RVO.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-PWAAJE2Z.mjs","kind":"import-statement"}],"exports":["createDispatcher","createResolver","default"],"entryPoint":"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts","inputs":{},"bytes":251},"packages/sdk/app-framework/dist/lib/browser/store-5TN4OLFQ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2000},"packages/sdk/app-framework/dist/lib/browser/store-5TN4OLFQ.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-PWAAJE2Z.mjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/sdk/app-framework/src/plugin-settings/store.ts","inputs":{"packages/sdk/app-framework/src/plugin-settings/store.ts":{"bytesInOutput":782}},"bytes":995},"packages/sdk/app-framework/dist/lib/browser/intent-resolver-LEJ3X6CP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1819},"packages/sdk/app-framework/dist/lib/browser/intent-resolver-LEJ3X6CP.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-CB3W6T5E.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-PWAAJE2Z.mjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts","inputs":{"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts":{"bytesInOutput":577}},"bytes":967},"packages/sdk/app-framework/dist/lib/browser/app-graph-builder-IAEV7KKF.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7443},"packages/sdk/app-framework/dist/lib/browser/app-graph-builder-IAEV7KKF.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-CB3W6T5E.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-PWAAJE2Z.mjs","kind":"import-statement"},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts","inputs":{"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts":{"bytesInOutput":3625}},"bytes":3997},"packages/sdk/app-framework/dist/lib/browser/chunk-CB3W6T5E.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1514},"packages/sdk/app-framework/dist/lib/browser/chunk-CB3W6T5E.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true}],"exports":["SETTINGS_ACTION","SETTINGS_ID","SETTINGS_KEY","SETTINGS_PLUGIN","SettingsAction"],"inputs":{"packages/sdk/app-framework/src/plugin-settings/actions.ts":{"bytesInOutput":696}},"bytes":900},"packages/sdk/app-framework/dist/lib/browser/chunk-PWAAJE2Z.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":99351},"packages/sdk/app-framework/dist/lib/browser/chunk-PWAAJE2Z.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/dist/lib/browser/intent-dispatcher-UR566RVO.mjs","kind":"dynamic-import"},{"path":"effect","kind":"import-statement","external":true}],"exports":["Capabilities","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginManager","PluginModule","PluginsContext","Resource","ResourceKey","ResourceLanguage","allOf","chain","contributes","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","intent_dispatcher_default","isAllOf","isOneOf","lazy","oneOf"],"inputs":{"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts":{"bytesInOutput":5325},"packages/sdk/app-framework/src/plugin-intent/actions.ts":{"bytesInOutput":412},"packages/sdk/app-framework/src/plugin-intent/intent.ts":{"bytesInOutput":790},"packages/sdk/app-framework/src/plugin-intent/errors.ts":{"bytesInOutput":662},"packages/sdk/app-framework/src/core/capabilities.ts":{"bytesInOutput":4123},"packages/sdk/app-framework/src/core/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/core/events.ts":{"bytesInOutput":512},"packages/sdk/app-framework/src/core/manager.ts":{"bytesInOutput":14797},"packages/sdk/app-framework/src/core/plugin.ts":{"bytesInOutput":516},"packages/sdk/app-framework/src/common/capabilities.ts":{"bytesInOutput":1852},"packages/sdk/app-framework/src/common/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/common/events.ts":{"bytesInOutput":1232},"packages/sdk/app-framework/src/common/file.ts":{"bytesInOutput":368},"packages/sdk/app-framework/src/common/layout.ts":{"bytesInOutput":10581},"packages/sdk/app-framework/src/plugin-intent/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugin-intent/IntentPlugin.tsx":{"bytesInOutput":602},"packages/sdk/app-framework/src/common/surface.ts":{"bytesInOutput":48},"packages/sdk/app-framework/src/common/translations.ts":{"bytesInOutput":281}},"bytes":43743}}}
1
+ {"inputs":{"packages/sdk/app-framework/src/core/capabilities.ts":{"bytes":19658,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/core/events.ts":{"bytes":5043,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/core/manager.ts":{"bytes":54827,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/core/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/core/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"packages/sdk/app-framework/src/core/plugin.ts":{"bytes":7200,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/core/index.ts":{"bytes":770,"imports":[{"path":"packages/sdk/app-framework/src/core/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/core/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/sdk/app-framework/src/core/manager.ts","kind":"import-statement","original":"./manager"},{"path":"packages/sdk/app-framework/src/core/plugin.ts","kind":"import-statement","original":"./plugin"}],"format":"esm"},"packages/sdk/app-framework/src/common/capabilities.ts":{"bytes":9304,"imports":[{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/common/events.ts":{"bytes":6715,"imports":[{"path":"packages/sdk/app-framework/src/common/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/common/file.ts":{"bytes":2506,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/common/graph.ts":{"bytes":1434,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/intent.ts":{"bytes":9977,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/actions.ts":{"bytes":2307,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/errors.ts":{"bytes":3874,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts":{"bytes":29634,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-intent/errors.ts","kind":"import-statement","original":"./errors"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/IntentPlugin.tsx":{"bytes":3069,"imports":[{"path":"packages/sdk/app-framework/src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts","kind":"dynamic-import","original":"./intent-dispatcher"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/index.ts":{"bytes":810,"imports":[{"path":"packages/sdk/app-framework/src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts","kind":"import-statement","original":"./intent-dispatcher"},{"path":"packages/sdk/app-framework/src/plugin-intent/IntentPlugin.tsx","kind":"import-statement","original":"./IntentPlugin"}],"format":"esm"},"packages/sdk/app-framework/src/common/layout.ts":{"bytes":37552,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"packages/sdk/app-framework/src/common/surface.ts":{"bytes":4159,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/common/translations.ts":{"bytes":2172,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/common/index.ts":{"bytes":1037,"imports":[{"path":"packages/sdk/app-framework/src/common/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/common/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/sdk/app-framework/src/common/file.ts","kind":"import-statement","original":"./file"},{"path":"packages/sdk/app-framework/src/common/graph.ts","kind":"import-statement","original":"./graph"},{"path":"packages/sdk/app-framework/src/common/layout.ts","kind":"import-statement","original":"./layout"},{"path":"packages/sdk/app-framework/src/common/surface.ts","kind":"import-statement","original":"./surface"},{"path":"packages/sdk/app-framework/src/common/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/sdk/app-framework/src/helpers.ts":{"bytes":5078,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/react/PluginManagerProvider.ts":{"bytes":2070,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/react/useCapabilities.ts":{"bytes":3774,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/react/PluginManagerProvider.ts","kind":"import-statement","original":"./PluginManagerProvider"}],"format":"esm"},"packages/sdk/app-framework/src/react/common.ts":{"bytes":1609,"imports":[{"path":"packages/sdk/app-framework/src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"}],"format":"esm"},"packages/sdk/app-framework/src/react/ErrorBoundary.tsx":{"bytes":4327,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/react/Surface.tsx":{"bytes":10541,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/react/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"packages/sdk/app-framework/src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"}],"format":"esm"},"packages/sdk/app-framework/src/react/useIntentResolver.ts":{"bytes":2530,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/react/index.ts","kind":"import-statement","original":"../react"}],"format":"esm"},"packages/sdk/app-framework/src/react/index.ts":{"bytes":1035,"imports":[{"path":"packages/sdk/app-framework/src/react/common.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/react/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"packages/sdk/app-framework/src/react/PluginManagerProvider.ts","kind":"import-statement","original":"./PluginManagerProvider"},{"path":"packages/sdk/app-framework/src/react/Surface.tsx","kind":"import-statement","original":"./Surface"},{"path":"packages/sdk/app-framework/src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"packages/sdk/app-framework/src/react/useIntentResolver.ts","kind":"import-statement","original":"./useIntentResolver"}],"format":"esm"},"packages/sdk/app-framework/src/App.tsx":{"bytes":18283,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"packages/sdk/app-framework/src/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"packages/sdk/app-framework/src/react/index.ts","kind":"import-statement","original":"./react"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/actions.ts":{"bytes":3102,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/translations.ts":{"bytes":1354,"imports":[{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/store.ts":{"bytes":3782,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts":{"bytes":3862,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts":{"bytes":16314,"imports":[{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/SettingsPlugin.ts":{"bytes":4960,"imports":[{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-settings/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-settings/store.ts","kind":"dynamic-import","original":"./store"},{"path":"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/index.ts":{"bytes":619,"imports":[{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-settings/SettingsPlugin.ts","kind":"import-statement","original":"./SettingsPlugin"}],"format":"esm"},"packages/sdk/app-framework/src/index.ts":{"bytes":944,"imports":[{"path":"packages/sdk/app-framework/src/App.tsx","kind":"import-statement","original":"./App"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"./plugin-intent"},{"path":"packages/sdk/app-framework/src/plugin-settings/index.ts","kind":"import-statement","original":"./plugin-settings"},{"path":"packages/sdk/app-framework/src/react/index.ts","kind":"import-statement","original":"./react"}],"format":"esm"},"packages/sdk/app-framework/src/testing/withPluginManager.tsx":{"bytes":8852,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/App.tsx","kind":"import-statement","original":"../App"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/testing/index.ts":{"bytes":531,"imports":[{"path":"packages/sdk/app-framework/src/testing/withPluginManager.tsx","kind":"import-statement","original":"./withPluginManager"}],"format":"esm"},"packages/sdk/app-framework/src/worker.ts":{"bytes":1287,"imports":[{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"./plugin-intent"}],"format":"esm"}},"outputs":{"packages/sdk/app-framework/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2831},"packages/sdk/app-framework/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-KP6FVIAA.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-CB3W6T5E.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-CESGLKOM.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/store-JIKLP4JL.mjs","kind":"dynamic-import"},{"path":"packages/sdk/app-framework/dist/lib/browser/intent-resolver-ZL6WBF2L.mjs","kind":"dynamic-import"},{"path":"packages/sdk/app-framework/dist/lib/browser/app-graph-builder-OD3G2J2U.mjs","kind":"dynamic-import"}],"exports":["Capabilities","ErrorBoundary","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginManager","PluginManagerProvider","PluginModule","PluginsContext","Resource","ResourceKey","ResourceLanguage","SETTINGS_ACTION","SETTINGS_ID","SETTINGS_KEY","SETTINGS_PLUGIN","SettingsAction","SettingsPlugin","Surface","allOf","chain","contributes","createApp","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","isAllOf","isOneOf","isSurfaceAvailable","lazy","oneOf","useAppGraph","useCapabilities","useCapability","useIntentDispatcher","useIntentResolver","useLayout","usePluginManager","useSurfaces"],"entryPoint":"packages/sdk/app-framework/src/index.ts","inputs":{"packages/sdk/app-framework/src/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugin-settings/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugin-settings/translations.ts":{"bytesInOutput":228},"packages/sdk/app-framework/src/plugin-settings/SettingsPlugin.ts":{"bytesInOutput":932}},"bytes":3177},"packages/sdk/app-framework/dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4480},"packages/sdk/app-framework/dist/lib/browser/testing/index.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-KP6FVIAA.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-CESGLKOM.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"exports":["setupPluginManager","withPluginManager"],"entryPoint":"packages/sdk/app-framework/src/testing/index.ts","inputs":{"packages/sdk/app-framework/src/testing/withPluginManager.tsx":{"bytesInOutput":1742},"packages/sdk/app-framework/src/testing/index.ts":{"bytesInOutput":0}},"bytes":2079},"packages/sdk/app-framework/dist/lib/browser/chunk-KP6FVIAA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":23736},"packages/sdk/app-framework/dist/lib/browser/chunk-KP6FVIAA.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-CESGLKOM.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["ErrorBoundary","PluginManagerProvider","Surface","createApp","isSurfaceAvailable","useAppGraph","useCapabilities","useCapability","useIntentDispatcher","useIntentResolver","useLayout","usePluginManager","useSurfaces"],"inputs":{"packages/sdk/app-framework/src/react/PluginManagerProvider.ts":{"bytesInOutput":312},"packages/sdk/app-framework/src/react/useCapabilities.ts":{"bytesInOutput":568},"packages/sdk/app-framework/src/react/common.ts":{"bytesInOutput":198},"packages/sdk/app-framework/src/react/ErrorBoundary.tsx":{"bytesInOutput":705},"packages/sdk/app-framework/src/react/Surface.tsx":{"bytesInOutput":1836},"packages/sdk/app-framework/src/react/useIntentResolver.ts":{"bytesInOutput":414},"packages/sdk/app-framework/src/react/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/App.tsx":{"bytesInOutput":3525},"packages/sdk/app-framework/src/helpers.ts":{"bytesInOutput":1049}},"bytes":9459},"packages/sdk/app-framework/dist/lib/browser/worker.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/browser/worker.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-CESGLKOM.mjs","kind":"import-statement"}],"exports":["Capabilities","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginManager","PluginModule","PluginsContext","Resource","ResourceKey","ResourceLanguage","allOf","chain","contributes","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","isAllOf","isOneOf","lazy","oneOf"],"entryPoint":"packages/sdk/app-framework/src/worker.ts","inputs":{"packages/sdk/app-framework/src/worker.ts":{"bytesInOutput":0}},"bytes":1150},"packages/sdk/app-framework/dist/lib/browser/intent-dispatcher-RTXTATZJ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/browser/intent-dispatcher-RTXTATZJ.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-CESGLKOM.mjs","kind":"import-statement"}],"exports":["createDispatcher","createResolver","default"],"entryPoint":"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts","inputs":{},"bytes":251},"packages/sdk/app-framework/dist/lib/browser/store-JIKLP4JL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2000},"packages/sdk/app-framework/dist/lib/browser/store-JIKLP4JL.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-CESGLKOM.mjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/sdk/app-framework/src/plugin-settings/store.ts","inputs":{"packages/sdk/app-framework/src/plugin-settings/store.ts":{"bytesInOutput":782}},"bytes":995},"packages/sdk/app-framework/dist/lib/browser/intent-resolver-ZL6WBF2L.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1819},"packages/sdk/app-framework/dist/lib/browser/intent-resolver-ZL6WBF2L.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-CB3W6T5E.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-CESGLKOM.mjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts","inputs":{"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts":{"bytesInOutput":577}},"bytes":967},"packages/sdk/app-framework/dist/lib/browser/app-graph-builder-OD3G2J2U.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7443},"packages/sdk/app-framework/dist/lib/browser/app-graph-builder-OD3G2J2U.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-CB3W6T5E.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/browser/chunk-CESGLKOM.mjs","kind":"import-statement"},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts","inputs":{"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts":{"bytesInOutput":3625}},"bytes":3997},"packages/sdk/app-framework/dist/lib/browser/chunk-CB3W6T5E.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1514},"packages/sdk/app-framework/dist/lib/browser/chunk-CB3W6T5E.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true}],"exports":["SETTINGS_ACTION","SETTINGS_ID","SETTINGS_KEY","SETTINGS_PLUGIN","SettingsAction"],"inputs":{"packages/sdk/app-framework/src/plugin-settings/actions.ts":{"bytesInOutput":696}},"bytes":900},"packages/sdk/app-framework/dist/lib/browser/chunk-CESGLKOM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":99458},"packages/sdk/app-framework/dist/lib/browser/chunk-CESGLKOM.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/dist/lib/browser/intent-dispatcher-RTXTATZJ.mjs","kind":"dynamic-import"},{"path":"effect","kind":"import-statement","external":true}],"exports":["Capabilities","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginManager","PluginModule","PluginsContext","Resource","ResourceKey","ResourceLanguage","allOf","chain","contributes","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","intent_dispatcher_default","isAllOf","isOneOf","lazy","oneOf"],"inputs":{"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts":{"bytesInOutput":5325},"packages/sdk/app-framework/src/plugin-intent/actions.ts":{"bytesInOutput":412},"packages/sdk/app-framework/src/plugin-intent/intent.ts":{"bytesInOutput":790},"packages/sdk/app-framework/src/plugin-intent/errors.ts":{"bytesInOutput":662},"packages/sdk/app-framework/src/core/capabilities.ts":{"bytesInOutput":4123},"packages/sdk/app-framework/src/core/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/core/events.ts":{"bytesInOutput":512},"packages/sdk/app-framework/src/core/manager.ts":{"bytesInOutput":14797},"packages/sdk/app-framework/src/core/plugin.ts":{"bytesInOutput":516},"packages/sdk/app-framework/src/common/capabilities.ts":{"bytesInOutput":1852},"packages/sdk/app-framework/src/common/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/common/events.ts":{"bytesInOutput":1232},"packages/sdk/app-framework/src/common/file.ts":{"bytesInOutput":368},"packages/sdk/app-framework/src/common/layout.ts":{"bytesInOutput":10581},"packages/sdk/app-framework/src/plugin-intent/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugin-intent/IntentPlugin.tsx":{"bytesInOutput":620},"packages/sdk/app-framework/src/common/surface.ts":{"bytesInOutput":48},"packages/sdk/app-framework/src/common/translations.ts":{"bytesInOutput":281}},"bytes":43761}}}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Capabilities,
3
3
  contributes
4
- } from "./chunk-PWAAJE2Z.mjs";
4
+ } from "./chunk-CESGLKOM.mjs";
5
5
 
6
6
  // packages/sdk/app-framework/src/plugin-settings/store.ts
7
7
  import { effect } from "@preact/signals-core";
@@ -26,4 +26,4 @@ var store_default = (context) => {
26
26
  export {
27
27
  store_default as default
28
28
  };
29
- //# sourceMappingURL=store-5TN4OLFQ.mjs.map
29
+ //# sourceMappingURL=store-JIKLP4JL.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createApp
3
- } from "../chunk-CIP4C47B.mjs";
3
+ } from "../chunk-KP6FVIAA.mjs";
4
4
  import {
5
5
  Capabilities,
6
6
  Events,
@@ -8,7 +8,7 @@ import {
8
8
  contributes,
9
9
  defineModule,
10
10
  definePlugin
11
- } from "../chunk-PWAAJE2Z.mjs";
11
+ } from "../chunk-CESGLKOM.mjs";
12
12
 
13
13
  // packages/sdk/app-framework/src/testing/withPluginManager.tsx
14
14
  import React, { useEffect } from "react";
@@ -62,7 +62,8 @@ var withPluginManager = (options = {}) => {
62
62
  };
63
63
  var STORY_PLUGIN = "dxos.org/app-framework/story";
64
64
  var StoryPlugin = () => definePlugin({
65
- id: STORY_PLUGIN
65
+ id: STORY_PLUGIN,
66
+ name: "Story"
66
67
  }, [
67
68
  defineModule({
68
69
  id: STORY_PLUGIN,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/testing/withPluginManager.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Decorator } from '@storybook/react';\nimport React, { useEffect } from 'react';\n\nimport { raise } from '@dxos/debug';\n\nimport { createApp, type CreateAppOptions } from '../App';\nimport { Capabilities, Events } from '../common';\nimport {\n type ActivationEvent,\n type AnyCapability,\n contributes,\n defineModule,\n definePlugin,\n PluginManager,\n} from '../core';\n\n/**\n * @internal\n */\nexport const setupPluginManager = ({\n capabilities,\n plugins = [],\n core = plugins.map(({ meta }) => meta.id),\n ...options\n}: CreateAppOptions & { capabilities?: AnyCapability[] } = {}) => {\n const pluginManager = new PluginManager({\n pluginLoader: () => raise(new Error('Not implemented')),\n plugins: [StoryPlugin(), ...plugins],\n core: [STORY_PLUGIN, ...core],\n ...options,\n });\n\n if (capabilities) {\n capabilities.forEach((capability) => {\n pluginManager.context.contributeCapability({\n interface: capability.interface,\n implementation: capability.implementation,\n module: 'story',\n });\n });\n }\n\n return pluginManager;\n};\n\nexport type WithPluginManagerOptions = CreateAppOptions & {\n capabilities?: AnyCapability[];\n fireEvents?: (ActivationEvent | string)[];\n};\n\n/**\n * Wraps a story with a plugin manager.\n */\nexport const withPluginManager = (options: WithPluginManagerOptions = {}): Decorator => {\n const pluginManager = setupPluginManager(options);\n const App = createApp({ pluginManager });\n\n options.fireEvents?.forEach((event) => {\n void pluginManager.activate(event);\n });\n\n return (Story, context) => {\n useEffect(() => {\n const capability = contributes(Capabilities.ReactRoot, {\n id: context.id,\n root: () => <Story />,\n });\n\n pluginManager.context.contributeCapability({\n ...capability,\n module: 'dxos.org/app-framework/withPluginManager',\n });\n\n return () => pluginManager.context.removeCapability(capability.interface, capability.implementation);\n }, []);\n\n return <App />;\n };\n};\n\n// No-op plugin to ensure there exists at least one plugin for the startup event.\n// This is necessary because `createApp` expects the startup event to complete before the app is ready.\nconst STORY_PLUGIN = 'dxos.org/app-framework/story';\nconst StoryPlugin = () =>\n definePlugin({ id: STORY_PLUGIN }, [\n defineModule({ id: STORY_PLUGIN, activatesOn: Events.Startup, activate: () => [] }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;AAKA,OAAOA,SAASC,iBAAiB;AAEjC,SAASC,aAAa;AAgBf,IAAMC,qBAAqB,CAAC,EACjCC,cACAC,UAAU,CAAA,GACVC,OAAOD,QAAQE,IAAI,CAAC,EAAEC,KAAI,MAAOA,KAAKC,EAAE,GACxC,GAAGC,QAAAA,IACsD,CAAC,MAAC;AAC3D,QAAMC,gBAAgB,IAAIC,cAAc;IACtCC,cAAc,MAAMC,MAAM,IAAIC,MAAM,iBAAA,CAAA;IACpCV,SAAS;MAACW,YAAAA;SAAkBX;;IAC5BC,MAAM;MAACW;SAAiBX;;IACxB,GAAGI;EACL,CAAA;AAEA,MAAIN,cAAc;AAChBA,iBAAac,QAAQ,CAACC,eAAAA;AACpBR,oBAAcS,QAAQC,qBAAqB;QACzCC,WAAWH,WAAWG;QACtBC,gBAAgBJ,WAAWI;QAC3BC,QAAQ;MACV,CAAA;IACF,CAAA;EACF;AAEA,SAAOb;AACT;AAUO,IAAMc,oBAAoB,CAACf,UAAoC,CAAC,MAAC;AACtE,QAAMC,gBAAgBR,mBAAmBO,OAAAA;AACzC,QAAMgB,MAAMC,UAAU;IAAEhB;EAAc,CAAA;AAEtCD,UAAQkB,YAAYV,QAAQ,CAACW,UAAAA;AAC3B,SAAKlB,cAAcmB,SAASD,KAAAA;EAC9B,CAAA;AAEA,SAAO,CAACE,OAAOX,YAAAA;AACbY,cAAU,MAAA;AACR,YAAMb,aAAac,YAAYC,aAAaC,WAAW;QACrD1B,IAAIW,QAAQX;QACZ2B,MAAM,MAAM,sBAAA,cAACL,OAAAA,IAAAA;MACf,CAAA;AAEApB,oBAAcS,QAAQC,qBAAqB;QACzC,GAAGF;QACHK,QAAQ;MACV,CAAA;AAEA,aAAO,MAAMb,cAAcS,QAAQiB,iBAAiBlB,WAAWG,WAAWH,WAAWI,cAAc;IACrG,GAAG,CAAA,CAAE;AAEL,WAAO,sBAAA,cAACG,KAAAA,IAAAA;EACV;AACF;AAIA,IAAMT,eAAe;AACrB,IAAMD,cAAc,MAClBsB,aAAa;EAAE7B,IAAIQ;AAAa,GAAG;EACjCsB,aAAa;IAAE9B,IAAIQ;IAAcuB,aAAaC,OAAOC;IAASZ,UAAU,MAAM,CAAA;EAAG,CAAA;CAClF;",
6
- "names": ["React", "useEffect", "raise", "setupPluginManager", "capabilities", "plugins", "core", "map", "meta", "id", "options", "pluginManager", "PluginManager", "pluginLoader", "raise", "Error", "StoryPlugin", "STORY_PLUGIN", "forEach", "capability", "context", "contributeCapability", "interface", "implementation", "module", "withPluginManager", "App", "createApp", "fireEvents", "event", "activate", "Story", "useEffect", "contributes", "Capabilities", "ReactRoot", "root", "removeCapability", "definePlugin", "defineModule", "activatesOn", "Events", "Startup"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Decorator } from '@storybook/react';\nimport React, { useEffect } from 'react';\n\nimport { raise } from '@dxos/debug';\n\nimport { createApp, type CreateAppOptions } from '../App';\nimport { Capabilities, Events } from '../common';\nimport {\n type ActivationEvent,\n type AnyCapability,\n contributes,\n defineModule,\n definePlugin,\n PluginManager,\n} from '../core';\n\n/**\n * @internal\n */\nexport const setupPluginManager = ({\n capabilities,\n plugins = [],\n core = plugins.map(({ meta }) => meta.id),\n ...options\n}: CreateAppOptions & { capabilities?: AnyCapability[] } = {}) => {\n const pluginManager = new PluginManager({\n pluginLoader: () => raise(new Error('Not implemented')),\n plugins: [StoryPlugin(), ...plugins],\n core: [STORY_PLUGIN, ...core],\n ...options,\n });\n\n if (capabilities) {\n capabilities.forEach((capability) => {\n pluginManager.context.contributeCapability({\n interface: capability.interface,\n implementation: capability.implementation,\n module: 'story',\n });\n });\n }\n\n return pluginManager;\n};\n\nexport type WithPluginManagerOptions = CreateAppOptions & {\n capabilities?: AnyCapability[];\n fireEvents?: (ActivationEvent | string)[];\n};\n\n/**\n * Wraps a story with a plugin manager.\n */\nexport const withPluginManager = (options: WithPluginManagerOptions = {}): Decorator => {\n const pluginManager = setupPluginManager(options);\n const App = createApp({ pluginManager });\n\n options.fireEvents?.forEach((event) => {\n void pluginManager.activate(event);\n });\n\n return (Story, context) => {\n useEffect(() => {\n const capability = contributes(Capabilities.ReactRoot, {\n id: context.id,\n root: () => <Story />,\n });\n\n pluginManager.context.contributeCapability({\n ...capability,\n module: 'dxos.org/app-framework/withPluginManager',\n });\n\n return () => pluginManager.context.removeCapability(capability.interface, capability.implementation);\n }, []);\n\n return <App />;\n };\n};\n\n// No-op plugin to ensure there exists at least one plugin for the startup event.\n// This is necessary because `createApp` expects the startup event to complete before the app is ready.\nconst STORY_PLUGIN = 'dxos.org/app-framework/story';\nconst StoryPlugin = () =>\n definePlugin({ id: STORY_PLUGIN, name: 'Story' }, [\n defineModule({ id: STORY_PLUGIN, activatesOn: Events.Startup, activate: () => [] }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;AAKA,OAAOA,SAASC,iBAAiB;AAEjC,SAASC,aAAa;AAgBf,IAAMC,qBAAqB,CAAC,EACjCC,cACAC,UAAU,CAAA,GACVC,OAAOD,QAAQE,IAAI,CAAC,EAAEC,KAAI,MAAOA,KAAKC,EAAE,GACxC,GAAGC,QAAAA,IACsD,CAAC,MAAC;AAC3D,QAAMC,gBAAgB,IAAIC,cAAc;IACtCC,cAAc,MAAMC,MAAM,IAAIC,MAAM,iBAAA,CAAA;IACpCV,SAAS;MAACW,YAAAA;SAAkBX;;IAC5BC,MAAM;MAACW;SAAiBX;;IACxB,GAAGI;EACL,CAAA;AAEA,MAAIN,cAAc;AAChBA,iBAAac,QAAQ,CAACC,eAAAA;AACpBR,oBAAcS,QAAQC,qBAAqB;QACzCC,WAAWH,WAAWG;QACtBC,gBAAgBJ,WAAWI;QAC3BC,QAAQ;MACV,CAAA;IACF,CAAA;EACF;AAEA,SAAOb;AACT;AAUO,IAAMc,oBAAoB,CAACf,UAAoC,CAAC,MAAC;AACtE,QAAMC,gBAAgBR,mBAAmBO,OAAAA;AACzC,QAAMgB,MAAMC,UAAU;IAAEhB;EAAc,CAAA;AAEtCD,UAAQkB,YAAYV,QAAQ,CAACW,UAAAA;AAC3B,SAAKlB,cAAcmB,SAASD,KAAAA;EAC9B,CAAA;AAEA,SAAO,CAACE,OAAOX,YAAAA;AACbY,cAAU,MAAA;AACR,YAAMb,aAAac,YAAYC,aAAaC,WAAW;QACrD1B,IAAIW,QAAQX;QACZ2B,MAAM,MAAM,sBAAA,cAACL,OAAAA,IAAAA;MACf,CAAA;AAEApB,oBAAcS,QAAQC,qBAAqB;QACzC,GAAGF;QACHK,QAAQ;MACV,CAAA;AAEA,aAAO,MAAMb,cAAcS,QAAQiB,iBAAiBlB,WAAWG,WAAWH,WAAWI,cAAc;IACrG,GAAG,CAAA,CAAE;AAEL,WAAO,sBAAA,cAACG,KAAAA,IAAAA;EACV;AACF;AAIA,IAAMT,eAAe;AACrB,IAAMD,cAAc,MAClBsB,aAAa;EAAE7B,IAAIQ;EAAcsB,MAAM;AAAQ,GAAG;EAChDC,aAAa;IAAE/B,IAAIQ;IAAcwB,aAAaC,OAAOC;IAASb,UAAU,MAAM,CAAA;EAAG,CAAA;CAClF;",
6
+ "names": ["React", "useEffect", "raise", "setupPluginManager", "capabilities", "plugins", "core", "map", "meta", "id", "options", "pluginManager", "PluginManager", "pluginLoader", "raise", "Error", "StoryPlugin", "STORY_PLUGIN", "forEach", "capability", "context", "contributeCapability", "interface", "implementation", "module", "withPluginManager", "App", "createApp", "fireEvents", "event", "activate", "Story", "useEffect", "contributes", "Capabilities", "ReactRoot", "root", "removeCapability", "definePlugin", "name", "defineModule", "activatesOn", "Events", "Startup"]
7
7
  }
@@ -35,7 +35,7 @@ import {
35
35
  isOneOf,
36
36
  lazy,
37
37
  oneOf
38
- } from "./chunk-PWAAJE2Z.mjs";
38
+ } from "./chunk-CESGLKOM.mjs";
39
39
  export {
40
40
  Capabilities,
41
41
  Events,
@@ -16,16 +16,16 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var app_graph_builder_3RWOZENP_exports = {};
20
- __export(app_graph_builder_3RWOZENP_exports, {
19
+ var app_graph_builder_S3ER53EH_exports = {};
20
+ __export(app_graph_builder_S3ER53EH_exports, {
21
21
  default: () => app_graph_builder_default
22
22
  });
23
- module.exports = __toCommonJS(app_graph_builder_3RWOZENP_exports);
23
+ module.exports = __toCommonJS(app_graph_builder_S3ER53EH_exports);
24
24
  var import_chunk_SCHC4AZQ = require("./chunk-SCHC4AZQ.cjs");
25
- var import_chunk_XP4TI5DS = require("./chunk-XP4TI5DS.cjs");
25
+ var import_chunk_KRK7EH6Z = require("./chunk-KRK7EH6Z.cjs");
26
26
  var import_app_graph = require("@dxos/app-graph");
27
27
  var import_util = require("@dxos/util");
28
- var app_graph_builder_default = (context) => (0, import_chunk_XP4TI5DS.contributes)(import_chunk_XP4TI5DS.Capabilities.AppGraphBuilder, [
28
+ var app_graph_builder_default = (context) => (0, import_chunk_KRK7EH6Z.contributes)(import_chunk_KRK7EH6Z.Capabilities.AppGraphBuilder, [
29
29
  (0, import_app_graph.createExtension)({
30
30
  id: `${import_chunk_SCHC4AZQ.SETTINGS_PLUGIN}/action`,
31
31
  filter: (node) => node.id === "root",
@@ -33,8 +33,8 @@ var app_graph_builder_default = (context) => (0, import_chunk_XP4TI5DS.contribut
33
33
  {
34
34
  id: import_chunk_SCHC4AZQ.SETTINGS_PLUGIN,
35
35
  data: async () => {
36
- const { dispatchPromise: dispatch } = context.requestCapability(import_chunk_XP4TI5DS.Capabilities.IntentDispatcher);
37
- await dispatch((0, import_chunk_XP4TI5DS.createIntent)(import_chunk_SCHC4AZQ.SettingsAction.Open));
36
+ const { dispatchPromise: dispatch } = context.requestCapability(import_chunk_KRK7EH6Z.Capabilities.IntentDispatcher);
37
+ await dispatch((0, import_chunk_KRK7EH6Z.createIntent)(import_chunk_SCHC4AZQ.SettingsAction.Open));
38
38
  },
39
39
  properties: {
40
40
  label: [
@@ -78,8 +78,8 @@ var app_graph_builder_default = (context) => (0, import_chunk_XP4TI5DS.contribut
78
78
  id: `${import_chunk_SCHC4AZQ.SETTINGS_PLUGIN}/core-plugins`,
79
79
  filter: (node) => node.id === import_chunk_SCHC4AZQ.SETTINGS_ID,
80
80
  connector: () => {
81
- const manager = context.requestCapability(import_chunk_XP4TI5DS.Capabilities.PluginManager);
82
- const [settingsStore] = context.requestCapabilities(import_chunk_XP4TI5DS.Capabilities.SettingsStore);
81
+ const manager = context.requestCapability(import_chunk_KRK7EH6Z.Capabilities.PluginManager);
82
+ const [settingsStore] = context.requestCapabilities(import_chunk_KRK7EH6Z.Capabilities.SettingsStore);
83
83
  return [
84
84
  ...manager.plugins.filter((plugin) => manager.core.includes(plugin.meta.id)).map((plugin) => {
85
85
  const settings = settingsStore?.getStore(plugin.meta.id);
@@ -120,8 +120,8 @@ var app_graph_builder_default = (context) => (0, import_chunk_XP4TI5DS.contribut
120
120
  id: `${import_chunk_SCHC4AZQ.SETTINGS_PLUGIN}/custom-plugins`,
121
121
  filter: (node) => node.id === `${import_chunk_SCHC4AZQ.SETTINGS_KEY}:custom-plugins`,
122
122
  connector: () => {
123
- const manager = context.requestCapability(import_chunk_XP4TI5DS.Capabilities.PluginManager);
124
- const [settingsStore] = context.requestCapabilities(import_chunk_XP4TI5DS.Capabilities.SettingsStore);
123
+ const manager = context.requestCapability(import_chunk_KRK7EH6Z.Capabilities.PluginManager);
124
+ const [settingsStore] = context.requestCapabilities(import_chunk_KRK7EH6Z.Capabilities.SettingsStore);
125
125
  return manager.plugins.filter((plugin) => !manager.core.includes(plugin.meta.id)).map((plugin) => {
126
126
  const settings = settingsStore?.getStore(plugin.meta.id);
127
127
  if (!settings) {
@@ -143,4 +143,4 @@ var app_graph_builder_default = (context) => (0, import_chunk_XP4TI5DS.contribut
143
143
  }
144
144
  })
145
145
  ]);
146
- //# sourceMappingURL=app-graph-builder-3RWOZENP.cjs.map
146
+ //# sourceMappingURL=app-graph-builder-S3ER53EH.cjs.map