@dxos/app-solid 0.8.4-main.69d29f4 → 0.8.4-main.74a063c4e0

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.
@@ -2,7 +2,8 @@
2
2
  export * from "@dxos/app-framework";
3
3
 
4
4
  // src/common.ts
5
- import { Common } from "@dxos/app-framework";
5
+ import { Capabilities } from "@dxos/app-framework";
6
+ import { AppCapabilities } from "@dxos/app-toolkit";
6
7
 
7
8
  // src/useCapabilities.ts
8
9
  import { useAtomValue } from "@dxos/effect-atom-solid";
@@ -52,36 +53,15 @@ var useCapability = (interfaceDef) => {
52
53
  };
53
54
 
54
55
  // src/common.ts
55
- var useOperationInvoker = () => useCapability(Common.Capability.OperationInvoker);
56
- var useAppGraph = () => useCapability(Common.Capability.AppGraph);
57
- var useLayout = () => useCapability(Common.Capability.Layout);
58
-
59
- // src/useOperationResolver.ts
60
- import { createEffect, onCleanup } from "solid-js";
61
- import { Common as Common2 } from "@dxos/app-framework";
62
- var useOperationResolver = (module, resolver) => {
63
- const manager = usePluginManager();
64
- createEffect(() => {
65
- const implementation = [
66
- resolver
67
- ];
68
- manager.capabilities.contribute({
69
- module,
70
- interface: Common2.Capability.OperationResolver,
71
- implementation
72
- });
73
- onCleanup(() => {
74
- manager.capabilities.remove(Common2.Capability.OperationResolver, implementation);
75
- });
76
- });
77
- };
56
+ var useOperationInvoker = () => useCapability(Capabilities.OperationInvoker);
57
+ var useAppGraph = () => useCapability(AppCapabilities.AppGraph);
58
+ var useLayout = () => useCapability(AppCapabilities.Layout);
78
59
  export {
79
60
  useAppGraph,
80
61
  useCapabilities,
81
62
  useCapability,
82
63
  useLayout,
83
64
  useOperationInvoker,
84
- useOperationResolver,
85
65
  usePluginManager
86
66
  };
87
67
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/index.ts", "../../../src/common.ts", "../../../src/useCapabilities.ts", "../../../src/usePluginManager.ts", "../../../src/useOperationResolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nexport * from '@dxos/app-framework';\n\nexport * from './common';\nexport * from './useCapabilities';\nexport * from './useOperationResolver';\nexport * from './usePluginManager';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Accessor } from 'solid-js';\n\nimport { Common } from '@dxos/app-framework';\n\nimport { useCapability } from './useCapabilities';\n\nexport const useOperationInvoker = (): Accessor<Common.Capability.OperationInvoker> =>\n useCapability(Common.Capability.OperationInvoker);\n\nexport const useAppGraph = (): Accessor<Common.Capability.AppGraph> => useCapability(Common.Capability.AppGraph);\n\nexport const useLayout = () => useCapability(Common.Capability.Layout);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Accessor } from 'solid-js';\n\nimport { type Capability } from '@dxos/app-framework';\nimport { useAtomValue } from '@dxos/effect-atom-solid';\nimport { invariant } from '@dxos/invariant';\n\nimport { usePluginManager } from './usePluginManager';\n\n/**\n * Hook to request capabilities from the plugin context.\n * @returns An array of capabilities.\n */\nexport const useCapabilities = <T>(interfaceDef: Capability.InterfaceDef<T>): Accessor<T[]> => {\n const manager = usePluginManager();\n return useAtomValue(manager.capabilities.atom(interfaceDef));\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>(interfaceDef: Capability.InterfaceDef<T>): Accessor<T> => {\n const capabilities = useCapabilities(interfaceDef);\n return (() => {\n const caps = capabilities();\n invariant(caps.length > 0, `No capability found for ${interfaceDef.identifier}`);\n return caps[0];\n }) as Accessor<T>;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type PluginManager, PluginManagerContext } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { useWebComponentContext } from '@dxos/web-context-solid';\n\n/**\n * Hook to access the plugin manager.\n * @returns The plugin manager.\n */\nexport const usePluginManager = (): PluginManager.PluginManager => {\n const manager = useWebComponentContext(PluginManagerContext);\n const value = manager();\n invariant(value, 'PluginManager not found');\n return value;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { createEffect, onCleanup } from 'solid-js';\n\nimport { Common } from '@dxos/app-framework';\nimport { type OperationResolver } from '@dxos/operation';\n\nimport { usePluginManager } from './usePluginManager';\n\nexport const useOperationResolver = (module: string, resolver: OperationResolver.OperationResolver) => {\n const manager = usePluginManager();\n\n createEffect(() => {\n const implementation = [resolver];\n\n manager.capabilities.contribute({\n module,\n interface: Common.Capability.OperationResolver,\n implementation,\n });\n\n onCleanup(() => {\n manager.capabilities.remove(Common.Capability.OperationResolver, implementation);\n });\n });\n};\n"],
5
- "mappings": ";AAIA,cAAc;;;ACEd,SAASA,cAAc;;;ACCvB,SAASC,oBAAoB;AAC7B,SAASC,aAAAA,kBAAiB;;;ACJ1B,SAA6BC,4BAA4B;AACzD,SAASC,iBAAiB;AAC1B,SAASC,8BAA8B;;AAMhC,IAAMC,mBAAmB,MAAA;AAC9B,QAAMC,UAAUF,uBAAuBF,oBAAAA;AACvC,QAAMK,QAAQD,QAAAA;AACdH,YAAUI,OAAO,2BAAA;;;;;;;;;AACjB,SAAOA;AACT;;;;ADDO,IAAMC,kBAAkB,CAAIC,iBAAAA;AACjC,QAAMC,UAAUC,iBAAAA;AAChB,SAAOC,aAAaF,QAAQG,aAAaC,KAAKL,YAAAA,CAAAA;AAChD;AAOO,IAAMM,gBAAgB,CAAIN,iBAAAA;AAC/B,QAAMI,eAAeL,gBAAgBC,YAAAA;AACrC,SAAQ,MAAA;AACN,UAAMO,OAAOH,aAAAA;AACbI,IAAAA,WAAUD,KAAKE,SAAS,GAAG,2BAA2BT,aAAaU,UAAU,IAAE;;;;;;;;;AAC/E,WAAOH,KAAK,CAAA;EACd;AACF;;;ADvBO,IAAMI,sBAAsB,MACjCC,cAAcC,OAAOC,WAAWC,gBAAgB;AAE3C,IAAMC,cAAc,MAA4CJ,cAAcC,OAAOC,WAAWG,QAAQ;AAExG,IAAMC,YAAY,MAAMN,cAAcC,OAAOC,WAAWK,MAAM;;;AGXrE,SAASC,cAAcC,iBAAiB;AAExC,SAASC,UAAAA,eAAc;AAKhB,IAAMC,uBAAuB,CAACC,QAAgBC,aAAAA;AACnD,QAAMC,UAAUC,iBAAAA;AAEhBC,eAAa,MAAA;AACX,UAAMC,iBAAiB;MAACJ;;AAExBC,YAAQI,aAAaC,WAAW;MAC9BP;MACAQ,WAAWC,QAAOC,WAAWC;MAC7BN;IACF,CAAA;AAEAO,cAAU,MAAA;AACRV,cAAQI,aAAaO,OAAOJ,QAAOC,WAAWC,mBAAmBN,cAAAA;IACnE,CAAA;EACF,CAAA;AACF;",
6
- "names": ["Common", "useAtomValue", "invariant", "PluginManagerContext", "invariant", "useWebComponentContext", "usePluginManager", "manager", "value", "useCapabilities", "interfaceDef", "manager", "usePluginManager", "useAtomValue", "capabilities", "atom", "useCapability", "caps", "invariant", "length", "identifier", "useOperationInvoker", "useCapability", "Common", "Capability", "OperationInvoker", "useAppGraph", "AppGraph", "useLayout", "Layout", "createEffect", "onCleanup", "Common", "useOperationResolver", "module", "resolver", "manager", "usePluginManager", "createEffect", "implementation", "capabilities", "contribute", "interface", "Common", "Capability", "OperationResolver", "onCleanup", "remove"]
3
+ "sources": ["../../../src/index.ts", "../../../src/common.ts", "../../../src/useCapabilities.ts", "../../../src/usePluginManager.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nexport * from '@dxos/app-framework';\n\nexport * from './common';\nexport * from './useCapabilities';\nexport * from './usePluginManager';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Accessor } from 'solid-js';\n\nimport { Capabilities } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n\nimport { useCapability } from './useCapabilities';\n\nexport const useOperationInvoker = (): Accessor<Capabilities.OperationInvoker> =>\n useCapability(Capabilities.OperationInvoker);\n\nexport const useAppGraph = (): Accessor<AppCapabilities.AppGraph> => useCapability(AppCapabilities.AppGraph);\n\nexport const useLayout = () => useCapability(AppCapabilities.Layout);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Accessor } from 'solid-js';\n\nimport { type Capability } from '@dxos/app-framework';\nimport { useAtomValue } from '@dxos/effect-atom-solid';\nimport { invariant } from '@dxos/invariant';\n\nimport { usePluginManager } from './usePluginManager';\n\n/**\n * Hook to request capabilities from the plugin context.\n * @returns An array of capabilities.\n */\nexport const useCapabilities = <T>(interfaceDef: Capability.InterfaceDef<T>): Accessor<T[]> => {\n const manager = usePluginManager();\n return useAtomValue(manager.capabilities.atom(interfaceDef));\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>(interfaceDef: Capability.InterfaceDef<T>): Accessor<T> => {\n const capabilities = useCapabilities(interfaceDef);\n return (() => {\n const caps = capabilities();\n invariant(caps.length > 0, `No capability found for ${interfaceDef.identifier}`);\n return caps[0];\n }) as Accessor<T>;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type PluginManager, PluginManagerContext } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { useWebComponentContext } from '@dxos/web-context-solid';\n\n/**\n * Hook to access the plugin manager.\n * @returns The plugin manager.\n */\nexport const usePluginManager = (): PluginManager.PluginManager => {\n const manager = useWebComponentContext(PluginManagerContext);\n const value = manager();\n invariant(value, 'PluginManager not found');\n return value;\n};\n"],
5
+ "mappings": ";AAIA,cAAc;;;ACEd,SAASA,oBAAoB;AAC7B,SAASC,uBAAuB;;;ACAhC,SAASC,oBAAoB;AAC7B,SAASC,aAAAA,kBAAiB;;;ACJ1B,SAA6BC,4BAA4B;AACzD,SAASC,iBAAiB;AAC1B,SAASC,8BAA8B;;AAMhC,IAAMC,mBAAmB,MAAA;AAC9B,QAAMC,UAAUF,uBAAuBF,oBAAAA;AACvC,QAAMK,QAAQD,QAAAA;AACdH,YAAUI,OAAO,2BAAA;;;;;;;;;AACjB,SAAOA;AACT;;;;ADDO,IAAMC,kBAAkB,CAAIC,iBAAAA;AACjC,QAAMC,UAAUC,iBAAAA;AAChB,SAAOC,aAAaF,QAAQG,aAAaC,KAAKL,YAAAA,CAAAA;AAChD;AAOO,IAAMM,gBAAgB,CAAIN,iBAAAA;AAC/B,QAAMI,eAAeL,gBAAgBC,YAAAA;AACrC,SAAQ,MAAA;AACN,UAAMO,OAAOH,aAAAA;AACbI,IAAAA,WAAUD,KAAKE,SAAS,GAAG,2BAA2BT,aAAaU,UAAU,IAAE;;;;;;;;;AAC/E,WAAOH,KAAK,CAAA;EACd;AACF;;;ADtBO,IAAMI,sBAAsB,MACjCC,cAAcC,aAAaC,gBAAgB;AAEtC,IAAMC,cAAc,MAA0CH,cAAcI,gBAAgBC,QAAQ;AAEpG,IAAMC,YAAY,MAAMN,cAAcI,gBAAgBG,MAAM;",
6
+ "names": ["Capabilities", "AppCapabilities", "useAtomValue", "invariant", "PluginManagerContext", "invariant", "useWebComponentContext", "usePluginManager", "manager", "value", "useCapabilities", "interfaceDef", "manager", "usePluginManager", "useAtomValue", "capabilities", "atom", "useCapability", "caps", "invariant", "length", "identifier", "useOperationInvoker", "useCapability", "Capabilities", "OperationInvoker", "useAppGraph", "AppCapabilities", "AppGraph", "useLayout", "Layout"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"src/usePluginManager.ts":{"bytes":2090,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/web-context-solid","kind":"import-statement","external":true}],"format":"esm"},"src/useCapabilities.ts":{"bytes":3603,"imports":[{"path":"@dxos/effect-atom-solid","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"src/usePluginManager.ts","kind":"import-statement","original":"./usePluginManager"}],"format":"esm"},"src/common.ts":{"bytes":1833,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"}],"format":"esm"},"src/useOperationResolver.ts":{"bytes":2765,"imports":[{"path":"solid-js","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/usePluginManager.ts","kind":"import-statement","original":"./usePluginManager"}],"format":"esm"},"src/index.ts":{"bytes":895,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/common.ts","kind":"import-statement","original":"./common"},{"path":"src/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"src/useOperationResolver.ts","kind":"import-statement","original":"./useOperationResolver"},{"path":"src/usePluginManager.ts","kind":"import-statement","original":"./usePluginManager"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5140},"dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/effect-atom-solid","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/web-context-solid","kind":"import-statement","external":true},{"path":"solid-js","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["useAppGraph","useCapabilities","useCapability","useLayout","useOperationInvoker","useOperationResolver","usePluginManager"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":37},"src/common.ts":{"bytesInOutput":259},"src/useCapabilities.ts":{"bytesInOutput":777},"src/usePluginManager.ts":{"bytesInOutput":561},"src/useOperationResolver.ts":{"bytesInOutput":536}},"bytes":2513}}}
1
+ {"inputs":{"src/usePluginManager.ts":{"bytes":2090,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/web-context-solid","kind":"import-statement","external":true}],"format":"esm"},"src/useCapabilities.ts":{"bytes":3603,"imports":[{"path":"@dxos/effect-atom-solid","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"src/usePluginManager.ts","kind":"import-statement","original":"./usePluginManager"}],"format":"esm"},"src/common.ts":{"bytes":1955,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"src/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"}],"format":"esm"},"src/index.ts":{"bytes":775,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/common.ts","kind":"import-statement","original":"./common"},{"path":"src/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"src/usePluginManager.ts","kind":"import-statement","original":"./usePluginManager"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3815},"dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/effect-atom-solid","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/web-context-solid","kind":"import-statement","external":true}],"exports":["useAppGraph","useCapabilities","useCapability","useLayout","useOperationInvoker","usePluginManager"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":37},"src/common.ts":{"bytesInOutput":309},"src/useCapabilities.ts":{"bytesInOutput":777},"src/usePluginManager.ts":{"bytesInOutput":561}},"bytes":1971}}}
@@ -4,7 +4,8 @@ import { createRequire } from 'node:module';const require = createRequire(import
4
4
  export * from "@dxos/app-framework";
5
5
 
6
6
  // src/common.ts
7
- import { Common } from "@dxos/app-framework";
7
+ import { Capabilities } from "@dxos/app-framework";
8
+ import { AppCapabilities } from "@dxos/app-toolkit";
8
9
 
9
10
  // src/useCapabilities.ts
10
11
  import { useAtomValue } from "@dxos/effect-atom-solid";
@@ -54,36 +55,15 @@ var useCapability = (interfaceDef) => {
54
55
  };
55
56
 
56
57
  // src/common.ts
57
- var useOperationInvoker = () => useCapability(Common.Capability.OperationInvoker);
58
- var useAppGraph = () => useCapability(Common.Capability.AppGraph);
59
- var useLayout = () => useCapability(Common.Capability.Layout);
60
-
61
- // src/useOperationResolver.ts
62
- import { createEffect, onCleanup } from "solid-js";
63
- import { Common as Common2 } from "@dxos/app-framework";
64
- var useOperationResolver = (module, resolver) => {
65
- const manager = usePluginManager();
66
- createEffect(() => {
67
- const implementation = [
68
- resolver
69
- ];
70
- manager.capabilities.contribute({
71
- module,
72
- interface: Common2.Capability.OperationResolver,
73
- implementation
74
- });
75
- onCleanup(() => {
76
- manager.capabilities.remove(Common2.Capability.OperationResolver, implementation);
77
- });
78
- });
79
- };
58
+ var useOperationInvoker = () => useCapability(Capabilities.OperationInvoker);
59
+ var useAppGraph = () => useCapability(AppCapabilities.AppGraph);
60
+ var useLayout = () => useCapability(AppCapabilities.Layout);
80
61
  export {
81
62
  useAppGraph,
82
63
  useCapabilities,
83
64
  useCapability,
84
65
  useLayout,
85
66
  useOperationInvoker,
86
- useOperationResolver,
87
67
  usePluginManager
88
68
  };
89
69
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/index.ts", "../../../src/common.ts", "../../../src/useCapabilities.ts", "../../../src/usePluginManager.ts", "../../../src/useOperationResolver.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nexport * from '@dxos/app-framework';\n\nexport * from './common';\nexport * from './useCapabilities';\nexport * from './useOperationResolver';\nexport * from './usePluginManager';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Accessor } from 'solid-js';\n\nimport { Common } from '@dxos/app-framework';\n\nimport { useCapability } from './useCapabilities';\n\nexport const useOperationInvoker = (): Accessor<Common.Capability.OperationInvoker> =>\n useCapability(Common.Capability.OperationInvoker);\n\nexport const useAppGraph = (): Accessor<Common.Capability.AppGraph> => useCapability(Common.Capability.AppGraph);\n\nexport const useLayout = () => useCapability(Common.Capability.Layout);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Accessor } from 'solid-js';\n\nimport { type Capability } from '@dxos/app-framework';\nimport { useAtomValue } from '@dxos/effect-atom-solid';\nimport { invariant } from '@dxos/invariant';\n\nimport { usePluginManager } from './usePluginManager';\n\n/**\n * Hook to request capabilities from the plugin context.\n * @returns An array of capabilities.\n */\nexport const useCapabilities = <T>(interfaceDef: Capability.InterfaceDef<T>): Accessor<T[]> => {\n const manager = usePluginManager();\n return useAtomValue(manager.capabilities.atom(interfaceDef));\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>(interfaceDef: Capability.InterfaceDef<T>): Accessor<T> => {\n const capabilities = useCapabilities(interfaceDef);\n return (() => {\n const caps = capabilities();\n invariant(caps.length > 0, `No capability found for ${interfaceDef.identifier}`);\n return caps[0];\n }) as Accessor<T>;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type PluginManager, PluginManagerContext } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { useWebComponentContext } from '@dxos/web-context-solid';\n\n/**\n * Hook to access the plugin manager.\n * @returns The plugin manager.\n */\nexport const usePluginManager = (): PluginManager.PluginManager => {\n const manager = useWebComponentContext(PluginManagerContext);\n const value = manager();\n invariant(value, 'PluginManager not found');\n return value;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { createEffect, onCleanup } from 'solid-js';\n\nimport { Common } from '@dxos/app-framework';\nimport { type OperationResolver } from '@dxos/operation';\n\nimport { usePluginManager } from './usePluginManager';\n\nexport const useOperationResolver = (module: string, resolver: OperationResolver.OperationResolver) => {\n const manager = usePluginManager();\n\n createEffect(() => {\n const implementation = [resolver];\n\n manager.capabilities.contribute({\n module,\n interface: Common.Capability.OperationResolver,\n implementation,\n });\n\n onCleanup(() => {\n manager.capabilities.remove(Common.Capability.OperationResolver, implementation);\n });\n });\n};\n"],
5
- "mappings": ";;;AAIA,cAAc;;;ACEd,SAASA,cAAc;;;ACCvB,SAASC,oBAAoB;AAC7B,SAASC,aAAAA,kBAAiB;;;ACJ1B,SAA6BC,4BAA4B;AACzD,SAASC,iBAAiB;AAC1B,SAASC,8BAA8B;;AAMhC,IAAMC,mBAAmB,MAAA;AAC9B,QAAMC,UAAUF,uBAAuBF,oBAAAA;AACvC,QAAMK,QAAQD,QAAAA;AACdH,YAAUI,OAAO,2BAAA;;;;;;;;;AACjB,SAAOA;AACT;;;;ADDO,IAAMC,kBAAkB,CAAIC,iBAAAA;AACjC,QAAMC,UAAUC,iBAAAA;AAChB,SAAOC,aAAaF,QAAQG,aAAaC,KAAKL,YAAAA,CAAAA;AAChD;AAOO,IAAMM,gBAAgB,CAAIN,iBAAAA;AAC/B,QAAMI,eAAeL,gBAAgBC,YAAAA;AACrC,SAAQ,MAAA;AACN,UAAMO,OAAOH,aAAAA;AACbI,IAAAA,WAAUD,KAAKE,SAAS,GAAG,2BAA2BT,aAAaU,UAAU,IAAE;;;;;;;;;AAC/E,WAAOH,KAAK,CAAA;EACd;AACF;;;ADvBO,IAAMI,sBAAsB,MACjCC,cAAcC,OAAOC,WAAWC,gBAAgB;AAE3C,IAAMC,cAAc,MAA4CJ,cAAcC,OAAOC,WAAWG,QAAQ;AAExG,IAAMC,YAAY,MAAMN,cAAcC,OAAOC,WAAWK,MAAM;;;AGXrE,SAASC,cAAcC,iBAAiB;AAExC,SAASC,UAAAA,eAAc;AAKhB,IAAMC,uBAAuB,CAACC,QAAgBC,aAAAA;AACnD,QAAMC,UAAUC,iBAAAA;AAEhBC,eAAa,MAAA;AACX,UAAMC,iBAAiB;MAACJ;;AAExBC,YAAQI,aAAaC,WAAW;MAC9BP;MACAQ,WAAWC,QAAOC,WAAWC;MAC7BN;IACF,CAAA;AAEAO,cAAU,MAAA;AACRV,cAAQI,aAAaO,OAAOJ,QAAOC,WAAWC,mBAAmBN,cAAAA;IACnE,CAAA;EACF,CAAA;AACF;",
6
- "names": ["Common", "useAtomValue", "invariant", "PluginManagerContext", "invariant", "useWebComponentContext", "usePluginManager", "manager", "value", "useCapabilities", "interfaceDef", "manager", "usePluginManager", "useAtomValue", "capabilities", "atom", "useCapability", "caps", "invariant", "length", "identifier", "useOperationInvoker", "useCapability", "Common", "Capability", "OperationInvoker", "useAppGraph", "AppGraph", "useLayout", "Layout", "createEffect", "onCleanup", "Common", "useOperationResolver", "module", "resolver", "manager", "usePluginManager", "createEffect", "implementation", "capabilities", "contribute", "interface", "Common", "Capability", "OperationResolver", "onCleanup", "remove"]
3
+ "sources": ["../../../src/index.ts", "../../../src/common.ts", "../../../src/useCapabilities.ts", "../../../src/usePluginManager.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nexport * from '@dxos/app-framework';\n\nexport * from './common';\nexport * from './useCapabilities';\nexport * from './usePluginManager';\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Accessor } from 'solid-js';\n\nimport { Capabilities } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\n\nimport { useCapability } from './useCapabilities';\n\nexport const useOperationInvoker = (): Accessor<Capabilities.OperationInvoker> =>\n useCapability(Capabilities.OperationInvoker);\n\nexport const useAppGraph = (): Accessor<AppCapabilities.AppGraph> => useCapability(AppCapabilities.AppGraph);\n\nexport const useLayout = () => useCapability(AppCapabilities.Layout);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Accessor } from 'solid-js';\n\nimport { type Capability } from '@dxos/app-framework';\nimport { useAtomValue } from '@dxos/effect-atom-solid';\nimport { invariant } from '@dxos/invariant';\n\nimport { usePluginManager } from './usePluginManager';\n\n/**\n * Hook to request capabilities from the plugin context.\n * @returns An array of capabilities.\n */\nexport const useCapabilities = <T>(interfaceDef: Capability.InterfaceDef<T>): Accessor<T[]> => {\n const manager = usePluginManager();\n return useAtomValue(manager.capabilities.atom(interfaceDef));\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>(interfaceDef: Capability.InterfaceDef<T>): Accessor<T> => {\n const capabilities = useCapabilities(interfaceDef);\n return (() => {\n const caps = capabilities();\n invariant(caps.length > 0, `No capability found for ${interfaceDef.identifier}`);\n return caps[0];\n }) as Accessor<T>;\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { type PluginManager, PluginManagerContext } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { useWebComponentContext } from '@dxos/web-context-solid';\n\n/**\n * Hook to access the plugin manager.\n * @returns The plugin manager.\n */\nexport const usePluginManager = (): PluginManager.PluginManager => {\n const manager = useWebComponentContext(PluginManagerContext);\n const value = manager();\n invariant(value, 'PluginManager not found');\n return value;\n};\n"],
5
+ "mappings": ";;;AAIA,cAAc;;;ACEd,SAASA,oBAAoB;AAC7B,SAASC,uBAAuB;;;ACAhC,SAASC,oBAAoB;AAC7B,SAASC,aAAAA,kBAAiB;;;ACJ1B,SAA6BC,4BAA4B;AACzD,SAASC,iBAAiB;AAC1B,SAASC,8BAA8B;;AAMhC,IAAMC,mBAAmB,MAAA;AAC9B,QAAMC,UAAUF,uBAAuBF,oBAAAA;AACvC,QAAMK,QAAQD,QAAAA;AACdH,YAAUI,OAAO,2BAAA;;;;;;;;;AACjB,SAAOA;AACT;;;;ADDO,IAAMC,kBAAkB,CAAIC,iBAAAA;AACjC,QAAMC,UAAUC,iBAAAA;AAChB,SAAOC,aAAaF,QAAQG,aAAaC,KAAKL,YAAAA,CAAAA;AAChD;AAOO,IAAMM,gBAAgB,CAAIN,iBAAAA;AAC/B,QAAMI,eAAeL,gBAAgBC,YAAAA;AACrC,SAAQ,MAAA;AACN,UAAMO,OAAOH,aAAAA;AACbI,IAAAA,WAAUD,KAAKE,SAAS,GAAG,2BAA2BT,aAAaU,UAAU,IAAE;;;;;;;;;AAC/E,WAAOH,KAAK,CAAA;EACd;AACF;;;ADtBO,IAAMI,sBAAsB,MACjCC,cAAcC,aAAaC,gBAAgB;AAEtC,IAAMC,cAAc,MAA0CH,cAAcI,gBAAgBC,QAAQ;AAEpG,IAAMC,YAAY,MAAMN,cAAcI,gBAAgBG,MAAM;",
6
+ "names": ["Capabilities", "AppCapabilities", "useAtomValue", "invariant", "PluginManagerContext", "invariant", "useWebComponentContext", "usePluginManager", "manager", "value", "useCapabilities", "interfaceDef", "manager", "usePluginManager", "useAtomValue", "capabilities", "atom", "useCapability", "caps", "invariant", "length", "identifier", "useOperationInvoker", "useCapability", "Capabilities", "OperationInvoker", "useAppGraph", "AppCapabilities", "AppGraph", "useLayout", "Layout"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"src/usePluginManager.ts":{"bytes":2090,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/web-context-solid","kind":"import-statement","external":true}],"format":"esm"},"src/useCapabilities.ts":{"bytes":3603,"imports":[{"path":"@dxos/effect-atom-solid","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"src/usePluginManager.ts","kind":"import-statement","original":"./usePluginManager"}],"format":"esm"},"src/common.ts":{"bytes":1833,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"}],"format":"esm"},"src/useOperationResolver.ts":{"bytes":2765,"imports":[{"path":"solid-js","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/usePluginManager.ts","kind":"import-statement","original":"./usePluginManager"}],"format":"esm"},"src/index.ts":{"bytes":895,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/common.ts","kind":"import-statement","original":"./common"},{"path":"src/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"src/useOperationResolver.ts","kind":"import-statement","original":"./useOperationResolver"},{"path":"src/usePluginManager.ts","kind":"import-statement","original":"./usePluginManager"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5142},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/effect-atom-solid","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/web-context-solid","kind":"import-statement","external":true},{"path":"solid-js","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["useAppGraph","useCapabilities","useCapability","useLayout","useOperationInvoker","useOperationResolver","usePluginManager"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":37},"src/common.ts":{"bytesInOutput":259},"src/useCapabilities.ts":{"bytesInOutput":777},"src/usePluginManager.ts":{"bytesInOutput":561},"src/useOperationResolver.ts":{"bytesInOutput":536}},"bytes":2606}}}
1
+ {"inputs":{"src/usePluginManager.ts":{"bytes":2090,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/web-context-solid","kind":"import-statement","external":true}],"format":"esm"},"src/useCapabilities.ts":{"bytes":3603,"imports":[{"path":"@dxos/effect-atom-solid","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"src/usePluginManager.ts","kind":"import-statement","original":"./usePluginManager"}],"format":"esm"},"src/common.ts":{"bytes":1955,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"src/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"}],"format":"esm"},"src/index.ts":{"bytes":775,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/common.ts","kind":"import-statement","original":"./common"},{"path":"src/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"src/usePluginManager.ts","kind":"import-statement","original":"./usePluginManager"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3817},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/effect-atom-solid","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/web-context-solid","kind":"import-statement","external":true}],"exports":["useAppGraph","useCapabilities","useCapability","useLayout","useOperationInvoker","usePluginManager"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":37},"src/common.ts":{"bytesInOutput":309},"src/useCapabilities.ts":{"bytesInOutput":777},"src/usePluginManager.ts":{"bytesInOutput":561}},"bytes":2064}}}
@@ -1,7 +1,8 @@
1
1
  import { type Accessor } from 'solid-js';
2
- import { Common } from '@dxos/app-framework';
3
- export declare const useOperationInvoker: () => Accessor<Common.Capability.OperationInvoker>;
4
- export declare const useAppGraph: () => Accessor<Common.Capability.AppGraph>;
2
+ import { Capabilities } from '@dxos/app-framework';
3
+ import { AppCapabilities } from '@dxos/app-toolkit';
4
+ export declare const useOperationInvoker: () => Accessor<Capabilities.OperationInvoker>;
5
+ export declare const useAppGraph: () => Accessor<AppCapabilities.AppGraph>;
5
6
  export declare const useLayout: () => Accessor<import("@effect-atom/atom/Atom").Atom<Readonly<{
6
7
  mode: string;
7
8
  dialogOpen: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/common.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI7C,eAAO,MAAM,mBAAmB,QAAO,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAC/B,CAAC;AAEpD,eAAO,MAAM,WAAW,QAAO,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAA8C,CAAC;AAEjH,eAAO,MAAM,SAAS;;;;;;;;;IAAgD,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/common.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,eAAO,MAAM,mBAAmB,QAAO,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAC/B,CAAC;AAE/C,eAAO,MAAM,WAAW,QAAO,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAA4C,CAAC;AAE7G,eAAO,MAAM,SAAS;;;;;;;;;IAA8C,CAAC"}
@@ -1,6 +1,5 @@
1
1
  export * from '@dxos/app-framework';
2
2
  export * from './common';
3
3
  export * from './useCapabilities';
4
- export * from './useOperationResolver';
5
4
  export * from './usePluginManager';
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,qBAAqB,CAAC;AAEpC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,qBAAqB,CAAC;AAEpC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}