@dxos/app-solid 0.8.4-main.bc674ce → 0.8.4-main.d05673bc65

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,13 +53,13 @@ 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);
56
+ var useOperationInvoker = () => useCapability(Capabilities.OperationInvoker);
57
+ var useAppGraph = () => useCapability(AppCapabilities.AppGraph);
58
+ var useLayout = () => useCapability(AppCapabilities.Layout);
58
59
 
59
60
  // src/useOperationResolver.ts
60
61
  import { createEffect, onCleanup } from "solid-js";
61
- import { Common as Common2 } from "@dxos/app-framework";
62
+ import { Capabilities as Capabilities2 } from "@dxos/app-framework";
62
63
  var useOperationResolver = (module, resolver) => {
63
64
  const manager = usePluginManager();
64
65
  createEffect(() => {
@@ -67,11 +68,11 @@ var useOperationResolver = (module, resolver) => {
67
68
  ];
68
69
  manager.capabilities.contribute({
69
70
  module,
70
- interface: Common2.Capability.OperationResolver,
71
+ interface: Capabilities2.OperationResolver,
71
72
  implementation
72
73
  });
73
74
  onCleanup(() => {
74
- manager.capabilities.remove(Common2.Capability.OperationResolver, implementation);
75
+ manager.capabilities.remove(Capabilities2.OperationResolver, implementation);
75
76
  });
76
77
  });
77
78
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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"]
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 { 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", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { createEffect, onCleanup } from 'solid-js';\n\nimport { Capabilities } 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: Capabilities.OperationResolver,\n implementation,\n });\n\n onCleanup(() => {\n manager.capabilities.remove(Capabilities.OperationResolver, implementation);\n });\n });\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;;;AGZnE,SAASC,cAAcC,iBAAiB;AAExC,SAASC,gBAAAA,qBAAoB;AAKtB,IAAMC,uBAAuB,CAACC,QAAgBC,aAAAA;AACnD,QAAMC,UAAUC,iBAAAA;AAEhBC,eAAa,MAAA;AACX,UAAMC,iBAAiB;MAACJ;;AAExBC,YAAQI,aAAaC,WAAW;MAC9BP;MACAQ,WAAWC,cAAaC;MACxBL;IACF,CAAA;AAEAM,cAAU,MAAA;AACRT,cAAQI,aAAaM,OAAOH,cAAaC,mBAAmBL,cAAAA;IAC9D,CAAA;EACF,CAAA;AACF;",
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", "createEffect", "onCleanup", "Capabilities", "useOperationResolver", "module", "resolver", "manager", "usePluginManager", "createEffect", "implementation", "capabilities", "contribute", "interface", "Capabilities", "OperationResolver", "onCleanup", "remove"]
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/useOperationResolver.ts":{"bytes":2717,"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":5212},"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},{"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":309},"src/useCapabilities.ts":{"bytesInOutput":777},"src/usePluginManager.ts":{"bytesInOutput":561},"src/useOperationResolver.ts":{"bytesInOutput":538}},"bytes":2565}}}
@@ -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,13 +55,13 @@ 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);
58
+ var useOperationInvoker = () => useCapability(Capabilities.OperationInvoker);
59
+ var useAppGraph = () => useCapability(AppCapabilities.AppGraph);
60
+ var useLayout = () => useCapability(AppCapabilities.Layout);
60
61
 
61
62
  // src/useOperationResolver.ts
62
63
  import { createEffect, onCleanup } from "solid-js";
63
- import { Common as Common2 } from "@dxos/app-framework";
64
+ import { Capabilities as Capabilities2 } from "@dxos/app-framework";
64
65
  var useOperationResolver = (module, resolver) => {
65
66
  const manager = usePluginManager();
66
67
  createEffect(() => {
@@ -69,11 +70,11 @@ var useOperationResolver = (module, resolver) => {
69
70
  ];
70
71
  manager.capabilities.contribute({
71
72
  module,
72
- interface: Common2.Capability.OperationResolver,
73
+ interface: Capabilities2.OperationResolver,
73
74
  implementation
74
75
  });
75
76
  onCleanup(() => {
76
- manager.capabilities.remove(Common2.Capability.OperationResolver, implementation);
77
+ manager.capabilities.remove(Capabilities2.OperationResolver, implementation);
77
78
  });
78
79
  });
79
80
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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"]
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 { 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", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { createEffect, onCleanup } from 'solid-js';\n\nimport { Capabilities } 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: Capabilities.OperationResolver,\n implementation,\n });\n\n onCleanup(() => {\n manager.capabilities.remove(Capabilities.OperationResolver, implementation);\n });\n });\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;;;AGZnE,SAASC,cAAcC,iBAAiB;AAExC,SAASC,gBAAAA,qBAAoB;AAKtB,IAAMC,uBAAuB,CAACC,QAAgBC,aAAAA;AACnD,QAAMC,UAAUC,iBAAAA;AAEhBC,eAAa,MAAA;AACX,UAAMC,iBAAiB;MAACJ;;AAExBC,YAAQI,aAAaC,WAAW;MAC9BP;MACAQ,WAAWC,cAAaC;MACxBL;IACF,CAAA;AAEAM,cAAU,MAAA;AACRT,cAAQI,aAAaM,OAAOH,cAAaC,mBAAmBL,cAAAA;IAC9D,CAAA;EACF,CAAA;AACF;",
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", "createEffect", "onCleanup", "Capabilities", "useOperationResolver", "module", "resolver", "manager", "usePluginManager", "createEffect", "implementation", "capabilities", "contribute", "interface", "Capabilities", "OperationResolver", "onCleanup", "remove"]
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/useOperationResolver.ts":{"bytes":2717,"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":5214},"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},{"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":309},"src/useCapabilities.ts":{"bytesInOutput":777},"src/usePluginManager.ts":{"bytesInOutput":561},"src/useOperationResolver.ts":{"bytesInOutput":538}},"bytes":2658}}}
@@ -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"}