@dxos/plugin-registry 0.8.2-main.fbd8ed0 → 0.8.2-staging.7ac8446

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.
@@ -5,18 +5,17 @@ import {
5
5
  } from "./chunk-ISC56E5F.mjs";
6
6
 
7
7
  // packages/plugins/plugin-registry/src/capabilities/app-graph-builder.ts
8
- import { Rx } from "@effect-rx/rx-react";
9
- import { Option, pipe } from "effect";
10
8
  import { Capabilities, contributes, createIntent, SettingsAction } from "@dxos/app-framework";
11
9
  import { createExtension } from "@dxos/plugin-graph";
12
10
  var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, [
13
11
  createExtension({
14
12
  id: REGISTRY_PLUGIN,
15
- actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === "root" ? Option.some(node2) : Option.none()), Option.map((node2) => [
13
+ filter: (node) => node.id === "root",
14
+ actions: () => [
16
15
  {
17
16
  id: REGISTRY_PLUGIN,
18
17
  data: async () => {
19
- const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
18
+ const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
20
19
  await dispatch(createIntent(SettingsAction.OpenPluginRegistry));
21
20
  },
22
21
  properties: {
@@ -26,15 +25,15 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
26
25
  ns: REGISTRY_PLUGIN
27
26
  }
28
27
  ],
29
- icon: "ph--squares-four--regular",
30
- disposition: "menu"
28
+ icon: "ph--squares-four--regular"
31
29
  }
32
30
  }
33
- ]), Option.getOrElse(() => [])))
31
+ ]
34
32
  }),
35
33
  createExtension({
36
34
  id: REGISTRY_PLUGIN,
37
- connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === "root" ? Option.some(node2) : Option.none()), Option.map((node2) => [
35
+ filter: (node) => node.id === "root",
36
+ connector: () => [
38
37
  {
39
38
  id: REGISTRY_ID,
40
39
  type: REGISTRY_PLUGIN,
@@ -116,11 +115,12 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
116
115
  }
117
116
  ]
118
117
  }
119
- ]), Option.getOrElse(() => [])))
118
+ ]
120
119
  }),
121
120
  createExtension({
122
121
  id: `${REGISTRY_PLUGIN}/actions`,
123
- actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === REGISTRY_ID ? Option.some(node2) : Option.none()), Option.map(() => [
122
+ filter: (node) => node.id === REGISTRY_ID,
123
+ actions: () => [
124
124
  {
125
125
  id: `${REGISTRY_PLUGIN}/load-by-url`,
126
126
  data: async () => {
@@ -136,10 +136,29 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
136
136
  disabled: true
137
137
  }
138
138
  }
139
- ]), Option.getOrElse(() => [])))
139
+ ]
140
+ }),
141
+ createExtension({
142
+ id: `${REGISTRY_PLUGIN}/plugins`,
143
+ resolver: ({ id }) => {
144
+ const manager = context.requestCapability(Capabilities.PluginManager);
145
+ const plugin = manager.plugins.find((plugin2) => plugin2.meta.id === id.replaceAll(":", "/"));
146
+ if (!plugin) {
147
+ return;
148
+ }
149
+ return {
150
+ id,
151
+ type: "dxos.org/plugin",
152
+ data: plugin,
153
+ properties: {
154
+ label: plugin.meta.name ?? plugin.meta.id,
155
+ icon: plugin.meta.icon ?? "ph--circle--regular"
156
+ }
157
+ };
158
+ }
140
159
  })
141
160
  ]);
142
161
  export {
143
162
  app_graph_builder_default as default
144
163
  };
145
- //# sourceMappingURL=app-graph-builder-BTBWTZHK.mjs.map
164
+ //# sourceMappingURL=app-graph-builder-V6VVFXFC.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, contributes, createIntent, SettingsAction, type PluginsContext } from '@dxos/app-framework';\nimport { createExtension, type Node } from '@dxos/plugin-graph';\n\nimport { REGISTRY_ID, REGISTRY_KEY, REGISTRY_PLUGIN } from '../meta';\n\nexport default (context: PluginsContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: REGISTRY_PLUGIN,\n filter: (node): node is Node<null> => node.id === 'root',\n actions: () => [\n {\n id: REGISTRY_PLUGIN,\n data: async () => {\n const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SettingsAction.OpenPluginRegistry));\n },\n properties: {\n label: ['open plugin registry label', { ns: REGISTRY_PLUGIN }],\n icon: 'ph--squares-four--regular',\n },\n },\n ],\n }),\n createExtension({\n id: REGISTRY_PLUGIN,\n filter: (node): node is Node<null> => node.id === 'root',\n connector: () => [\n {\n id: REGISTRY_ID,\n type: REGISTRY_PLUGIN,\n properties: {\n label: ['plugin registry label', { ns: REGISTRY_PLUGIN }],\n icon: 'ph--squares-four--regular',\n disposition: 'pin-end',\n testId: 'treeView.pluginRegistry',\n },\n nodes: [\n {\n id: `${REGISTRY_KEY}+all`,\n type: 'category',\n data: `${REGISTRY_KEY}+all`,\n properties: {\n label: ['all plugins label', { ns: REGISTRY_PLUGIN }],\n icon: 'ph--squares-four--regular',\n key: REGISTRY_KEY,\n testId: 'pluginRegistry.all',\n },\n },\n {\n id: `${REGISTRY_KEY}+installed`,\n type: 'category',\n data: `${REGISTRY_KEY}+installed`,\n properties: {\n label: ['installed plugins label', { ns: REGISTRY_PLUGIN }],\n icon: 'ph--check--regular',\n key: REGISTRY_KEY,\n testId: 'pluginRegistry.installed',\n },\n },\n {\n id: `${REGISTRY_KEY}+recommended`,\n type: 'category',\n data: `${REGISTRY_KEY}+recommended`,\n properties: {\n label: ['recommended plugins label', { ns: REGISTRY_PLUGIN }],\n icon: 'ph--star--regular',\n key: REGISTRY_KEY,\n testId: 'pluginRegistry.recommended',\n },\n },\n {\n id: `${REGISTRY_KEY}+experimental`,\n type: 'category',\n data: `${REGISTRY_KEY}+experimental`,\n properties: {\n label: ['experimental plugins label', { ns: REGISTRY_PLUGIN }],\n icon: 'ph--flask--regular',\n key: REGISTRY_KEY,\n testId: 'pluginRegistry.experimental',\n },\n },\n ],\n },\n ],\n }),\n createExtension({\n id: `${REGISTRY_PLUGIN}/actions`,\n filter: (node): node is Node<null> => node.id === REGISTRY_ID,\n actions: () => [\n {\n id: `${REGISTRY_PLUGIN}/load-by-url`,\n data: async () => {},\n properties: {\n label: ['load by url label', { ns: REGISTRY_PLUGIN }],\n icon: 'ph--cloud-arrow-down--regular',\n disabled: true,\n },\n },\n ],\n }),\n createExtension({\n id: `${REGISTRY_PLUGIN}/plugins`,\n resolver: ({ id }) => {\n const manager = context.requestCapability(Capabilities.PluginManager);\n const plugin = manager.plugins.find((plugin) => plugin.meta.id === id.replaceAll(':', '/'));\n if (!plugin) {\n return;\n }\n\n return {\n id,\n type: 'dxos.org/plugin',\n data: plugin,\n properties: {\n label: plugin.meta.name ?? plugin.meta.id,\n icon: plugin.meta.icon ?? 'ph--circle--regular',\n },\n };\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;AAIA,SAASA,cAAcC,aAAaC,cAAcC,sBAA2C;AAC7F,SAASC,uBAAkC;AAI3C,IAAA,4BAAe,CAACC,YACdC,YAAYC,aAAaC,iBAAiB;EACxCC,gBAAgB;IACdC,IAAIC;IACJC,QAAQ,CAACC,SAA6BA,KAAKH,OAAO;IAClDI,SAAS,MAAM;MACb;QACEJ,IAAIC;QACJI,MAAM,YAAA;AACJ,gBAAM,EAAEC,iBAAiBC,SAAQ,IAAKZ,QAAQa,kBAAkBX,aAAaY,gBAAgB;AAC7F,gBAAMF,SAASG,aAAaC,eAAeC,kBAAkB,CAAA;QAC/D;QACAC,YAAY;UACVC,OAAO;YAAC;YAA8B;cAAEC,IAAId;YAAgB;;UAC5De,MAAM;QACR;MACF;;EAEJ,CAAA;EACAjB,gBAAgB;IACdC,IAAIC;IACJC,QAAQ,CAACC,SAA6BA,KAAKH,OAAO;IAClDiB,WAAW,MAAM;MACf;QACEjB,IAAIkB;QACJC,MAAMlB;QACNY,YAAY;UACVC,OAAO;YAAC;YAAyB;cAAEC,IAAId;YAAgB;;UACvDe,MAAM;UACNI,aAAa;UACbC,QAAQ;QACV;QACAC,OAAO;UACL;YACEtB,IAAI,GAAGuB,YAAAA;YACPJ,MAAM;YACNd,MAAM,GAAGkB,YAAAA;YACTV,YAAY;cACVC,OAAO;gBAAC;gBAAqB;kBAAEC,IAAId;gBAAgB;;cACnDe,MAAM;cACNQ,KAAKD;cACLF,QAAQ;YACV;UACF;UACA;YACErB,IAAI,GAAGuB,YAAAA;YACPJ,MAAM;YACNd,MAAM,GAAGkB,YAAAA;YACTV,YAAY;cACVC,OAAO;gBAAC;gBAA2B;kBAAEC,IAAId;gBAAgB;;cACzDe,MAAM;cACNQ,KAAKD;cACLF,QAAQ;YACV;UACF;UACA;YACErB,IAAI,GAAGuB,YAAAA;YACPJ,MAAM;YACNd,MAAM,GAAGkB,YAAAA;YACTV,YAAY;cACVC,OAAO;gBAAC;gBAA6B;kBAAEC,IAAId;gBAAgB;;cAC3De,MAAM;cACNQ,KAAKD;cACLF,QAAQ;YACV;UACF;UACA;YACErB,IAAI,GAAGuB,YAAAA;YACPJ,MAAM;YACNd,MAAM,GAAGkB,YAAAA;YACTV,YAAY;cACVC,OAAO;gBAAC;gBAA8B;kBAAEC,IAAId;gBAAgB;;cAC5De,MAAM;cACNQ,KAAKD;cACLF,QAAQ;YACV;UACF;;MAEJ;;EAEJ,CAAA;EACAtB,gBAAgB;IACdC,IAAI,GAAGC,eAAAA;IACPC,QAAQ,CAACC,SAA6BA,KAAKH,OAAOkB;IAClDd,SAAS,MAAM;MACb;QACEJ,IAAI,GAAGC,eAAAA;QACPI,MAAM,YAAA;QAAa;QACnBQ,YAAY;UACVC,OAAO;YAAC;YAAqB;cAAEC,IAAId;YAAgB;;UACnDe,MAAM;UACNS,UAAU;QACZ;MACF;;EAEJ,CAAA;EACA1B,gBAAgB;IACdC,IAAI,GAAGC,eAAAA;IACPyB,UAAU,CAAC,EAAE1B,GAAE,MAAE;AACf,YAAM2B,UAAUhC,QAAQa,kBAAkBX,aAAa+B,aAAa;AACpE,YAAMC,SAASF,QAAQG,QAAQC,KAAK,CAACF,YAAWA,QAAOG,KAAKhC,OAAOA,GAAGiC,WAAW,KAAK,GAAA,CAAA;AACtF,UAAI,CAACJ,QAAQ;AACX;MACF;AAEA,aAAO;QACL7B;QACAmB,MAAM;QACNd,MAAMwB;QACNhB,YAAY;UACVC,OAAOe,OAAOG,KAAKE,QAAQL,OAAOG,KAAKhC;UACvCgB,MAAMa,OAAOG,KAAKhB,QAAQ;QAC5B;MACF;IACF;EACF,CAAA;CACD;",
6
+ "names": ["Capabilities", "contributes", "createIntent", "SettingsAction", "createExtension", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "REGISTRY_PLUGIN", "filter", "node", "actions", "data", "dispatchPromise", "dispatch", "requestCapability", "IntentDispatcher", "createIntent", "SettingsAction", "OpenPluginRegistry", "properties", "label", "ns", "icon", "connector", "REGISTRY_ID", "type", "disposition", "testId", "nodes", "REGISTRY_KEY", "key", "disabled", "resolver", "manager", "PluginManager", "plugin", "plugins", "find", "meta", "replaceAll", "name"]
7
+ }
@@ -10,9 +10,9 @@ import { Capabilities, contributes, defineModule, definePlugin, Events } from "@
10
10
 
11
11
  // packages/plugins/plugin-registry/src/capabilities/index.ts
12
12
  import { lazy } from "@dxos/app-framework";
13
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-BTBWTZHK.mjs"));
13
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-V6VVFXFC.mjs"));
14
14
  var IntentResolver = lazy(() => import("./intent-resolver-AQJNBUT3.mjs"));
15
- var ReactSurface = lazy(() => import("./react-surface-PNR23BFI.mjs"));
15
+ var ReactSurface = lazy(() => import("./react-surface-3FJ5KLF6.mjs"));
16
16
 
17
17
  // packages/plugins/plugin-registry/src/translations.ts
18
18
  var translations_default = [
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-registry/src/meta.ts":{"bytes":1946,"imports":[],"format":"esm"},"packages/plugins/plugin-registry/src/capabilities/app-graph-builder.ts":{"bytes":19421,"imports":[{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-registry/src/capabilities/intent-resolver.ts":{"bytes":2456,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-registry/src/components/PluginDetail.tsx":{"bytes":7465,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-registry/src/components/PluginItem.tsx":{"bytes":11414,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-registry/src/components/PluginList.tsx":{"bytes":2529,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/components/PluginItem.tsx","kind":"import-statement","original":"./PluginItem"}],"format":"esm"},"packages/plugins/plugin-registry/src/components/RegistryContainer.tsx":{"bytes":8951,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/components/PluginList.tsx","kind":"import-statement","original":"./PluginList"}],"format":"esm"},"packages/plugins/plugin-registry/src/components/index.ts":{"bytes":734,"imports":[{"path":"packages/plugins/plugin-registry/src/components/PluginDetail.tsx","kind":"import-statement","original":"./PluginDetail"},{"path":"packages/plugins/plugin-registry/src/components/PluginList.tsx","kind":"import-statement","original":"./PluginList"},{"path":"packages/plugins/plugin-registry/src/components/RegistryContainer.tsx","kind":"import-statement","original":"./RegistryContainer"}],"format":"esm"},"packages/plugins/plugin-registry/src/capabilities/react-surface.tsx":{"bytes":12636,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-registry/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-registry/src/capabilities/index.ts":{"bytes":1351,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/plugin-registry/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-registry/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-registry/src/translations.ts":{"bytes":3670,"imports":[{"path":"packages/plugins/plugin-registry/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-registry/src/RegistryPlugin.tsx":{"bytes":4127,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-registry/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-registry/src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/plugins/plugin-registry/src/index.ts":{"bytes":602,"imports":[{"path":"packages/plugins/plugin-registry/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-registry/src/RegistryPlugin.tsx","kind":"import-statement","original":"./RegistryPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-registry/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4042},"packages/plugins/plugin-registry/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-registry/dist/lib/browser/chunk-ISC56E5F.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/dist/lib/browser/app-graph-builder-BTBWTZHK.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-registry/dist/lib/browser/intent-resolver-AQJNBUT3.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-registry/dist/lib/browser/react-surface-PNR23BFI.mjs","kind":"dynamic-import"}],"exports":["REGISTRY_ID","REGISTRY_KEY","REGISTRY_PLUGIN","RegistryPlugin","meta"],"entryPoint":"packages/plugins/plugin-registry/src/index.ts","inputs":{"packages/plugins/plugin-registry/src/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-registry/src/RegistryPlugin.tsx":{"bytesInOutput":758},"packages/plugins/plugin-registry/src/capabilities/index.ts":{"bytesInOutput":268},"packages/plugins/plugin-registry/src/translations.ts":{"bytesInOutput":1029}},"bytes":2514},"packages/plugins/plugin-registry/dist/lib/browser/app-graph-builder-BTBWTZHK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8435},"packages/plugins/plugin-registry/dist/lib/browser/app-graph-builder-BTBWTZHK.mjs":{"imports":[{"path":"packages/plugins/plugin-registry/dist/lib/browser/chunk-ISC56E5F.mjs","kind":"import-statement"},{"path":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-registry/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/plugin-registry/src/capabilities/app-graph-builder.ts":{"bytesInOutput":4193}},"bytes":4464},"packages/plugins/plugin-registry/dist/lib/browser/intent-resolver-AQJNBUT3.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1265},"packages/plugins/plugin-registry/dist/lib/browser/intent-resolver-AQJNBUT3.mjs":{"imports":[{"path":"packages/plugins/plugin-registry/dist/lib/browser/chunk-ISC56E5F.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-registry/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-registry/src/capabilities/intent-resolver.ts":{"bytesInOutput":461}},"bytes":691},"packages/plugins/plugin-registry/dist/lib/browser/react-surface-PNR23BFI.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":21820},"packages/plugins/plugin-registry/dist/lib/browser/react-surface-PNR23BFI.mjs":{"imports":[{"path":"packages/plugins/plugin-registry/dist/lib/browser/chunk-ISC56E5F.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-registry/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-registry/src/capabilities/react-surface.tsx":{"bytesInOutput":3171},"packages/plugins/plugin-registry/src/components/PluginDetail.tsx":{"bytesInOutput":2192},"packages/plugins/plugin-registry/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-registry/src/components/PluginList.tsx":{"bytesInOutput":486},"packages/plugins/plugin-registry/src/components/PluginItem.tsx":{"bytesInOutput":3262},"packages/plugins/plugin-registry/src/components/RegistryContainer.tsx":{"bytesInOutput":2072}},"bytes":11844},"packages/plugins/plugin-registry/dist/lib/browser/chunk-ISC56E5F.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":869},"packages/plugins/plugin-registry/dist/lib/browser/chunk-ISC56E5F.mjs":{"imports":[],"exports":["REGISTRY_ID","REGISTRY_KEY","REGISTRY_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-registry/src/meta.ts":{"bytesInOutput":188}},"bytes":350}}}
1
+ {"inputs":{"packages/plugins/plugin-registry/src/meta.ts":{"bytes":1946,"imports":[],"format":"esm"},"packages/plugins/plugin-registry/src/capabilities/app-graph-builder.ts":{"bytes":16999,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-registry/src/capabilities/intent-resolver.ts":{"bytes":2456,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-registry/src/components/PluginDetail.tsx":{"bytes":7465,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-registry/src/components/PluginItem.tsx":{"bytes":11392,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-registry/src/components/PluginList.tsx":{"bytes":2529,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/components/PluginItem.tsx","kind":"import-statement","original":"./PluginItem"}],"format":"esm"},"packages/plugins/plugin-registry/src/components/RegistryContainer.tsx":{"bytes":8951,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/components/PluginList.tsx","kind":"import-statement","original":"./PluginList"}],"format":"esm"},"packages/plugins/plugin-registry/src/components/index.ts":{"bytes":734,"imports":[{"path":"packages/plugins/plugin-registry/src/components/PluginDetail.tsx","kind":"import-statement","original":"./PluginDetail"},{"path":"packages/plugins/plugin-registry/src/components/PluginList.tsx","kind":"import-statement","original":"./PluginList"},{"path":"packages/plugins/plugin-registry/src/components/RegistryContainer.tsx","kind":"import-statement","original":"./RegistryContainer"}],"format":"esm"},"packages/plugins/plugin-registry/src/capabilities/react-surface.tsx":{"bytes":12636,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-registry/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-registry/src/capabilities/index.ts":{"bytes":1351,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/plugin-registry/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-registry/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-registry/src/translations.ts":{"bytes":3670,"imports":[{"path":"packages/plugins/plugin-registry/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-registry/src/RegistryPlugin.tsx":{"bytes":4127,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-registry/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-registry/src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/plugins/plugin-registry/src/index.ts":{"bytes":602,"imports":[{"path":"packages/plugins/plugin-registry/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-registry/src/RegistryPlugin.tsx","kind":"import-statement","original":"./RegistryPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-registry/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4042},"packages/plugins/plugin-registry/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-registry/dist/lib/browser/chunk-ISC56E5F.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-registry/dist/lib/browser/app-graph-builder-V6VVFXFC.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-registry/dist/lib/browser/intent-resolver-AQJNBUT3.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-registry/dist/lib/browser/react-surface-3FJ5KLF6.mjs","kind":"dynamic-import"}],"exports":["REGISTRY_ID","REGISTRY_KEY","REGISTRY_PLUGIN","RegistryPlugin","meta"],"entryPoint":"packages/plugins/plugin-registry/src/index.ts","inputs":{"packages/plugins/plugin-registry/src/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-registry/src/RegistryPlugin.tsx":{"bytesInOutput":758},"packages/plugins/plugin-registry/src/capabilities/index.ts":{"bytesInOutput":268},"packages/plugins/plugin-registry/src/translations.ts":{"bytesInOutput":1029}},"bytes":2514},"packages/plugins/plugin-registry/dist/lib/browser/app-graph-builder-V6VVFXFC.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6986},"packages/plugins/plugin-registry/dist/lib/browser/app-graph-builder-V6VVFXFC.mjs":{"imports":[{"path":"packages/plugins/plugin-registry/dist/lib/browser/chunk-ISC56E5F.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-registry/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/plugin-registry/src/capabilities/app-graph-builder.ts":{"bytesInOutput":4246}},"bytes":4517},"packages/plugins/plugin-registry/dist/lib/browser/intent-resolver-AQJNBUT3.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1265},"packages/plugins/plugin-registry/dist/lib/browser/intent-resolver-AQJNBUT3.mjs":{"imports":[{"path":"packages/plugins/plugin-registry/dist/lib/browser/chunk-ISC56E5F.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-registry/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-registry/src/capabilities/intent-resolver.ts":{"bytesInOutput":461}},"bytes":691},"packages/plugins/plugin-registry/dist/lib/browser/react-surface-3FJ5KLF6.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":21806},"packages/plugins/plugin-registry/dist/lib/browser/react-surface-3FJ5KLF6.mjs":{"imports":[{"path":"packages/plugins/plugin-registry/dist/lib/browser/chunk-ISC56E5F.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-registry/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-registry/src/capabilities/react-surface.tsx":{"bytesInOutput":3171},"packages/plugins/plugin-registry/src/components/PluginDetail.tsx":{"bytesInOutput":2192},"packages/plugins/plugin-registry/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-registry/src/components/PluginList.tsx":{"bytesInOutput":486},"packages/plugins/plugin-registry/src/components/PluginItem.tsx":{"bytesInOutput":3260},"packages/plugins/plugin-registry/src/components/RegistryContainer.tsx":{"bytesInOutput":2072}},"bytes":11842},"packages/plugins/plugin-registry/dist/lib/browser/chunk-ISC56E5F.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":869},"packages/plugins/plugin-registry/dist/lib/browser/chunk-ISC56E5F.mjs":{"imports":[],"exports":["REGISTRY_ID","REGISTRY_KEY","REGISTRY_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-registry/src/meta.ts":{"bytesInOutput":188}},"bytes":350}}}
@@ -138,7 +138,7 @@ var PluginItem = ({ plugin, enabled = [], onClick, onChange, hasSettings: _hasSe
138
138
  }, hasSettings && /* @__PURE__ */ React2.createElement(IconButton, {
139
139
  "aria-describedby": descriptionId,
140
140
  classNames: "text-sm text-description cursor-pointer",
141
- icon: "ph--faders--regular",
141
+ icon: "ph--gear--regular",
142
142
  label: t("settings label"),
143
143
  iconOnly: true,
144
144
  size: 4,
@@ -302,4 +302,4 @@ var react_surface_default = () => contributes(Capabilities2.ReactSurface, [
302
302
  export {
303
303
  react_surface_default as default
304
304
  };
305
- //# sourceMappingURL=react-surface-PNR23BFI.mjs.map
305
+ //# sourceMappingURL=react-surface-3FJ5KLF6.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/PluginDetail.tsx", "../../../src/components/PluginList.tsx", "../../../src/components/PluginItem.tsx", "../../../src/components/RegistryContainer.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { Capabilities, contributes, createSurface, Plugin, usePluginManager } from '@dxos/app-framework';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { PluginDetail, RegistryContainer } from '../components';\nimport { REGISTRY_KEY, REGISTRY_PLUGIN } from '../meta';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${REGISTRY_PLUGIN}/all`,\n role: 'article',\n filter: (data): data is any => data.subject === `${REGISTRY_KEY}+all`,\n component: () => {\n const manager = usePluginManager();\n const filtered = useMemo(() => manager.plugins.filter(({ meta }) => !manager.core.includes(meta.id)), []);\n\n return <RegistryContainer id={`${REGISTRY_KEY}+all`} plugins={filtered} />;\n },\n }),\n createSurface({\n id: `${REGISTRY_PLUGIN}/installed`,\n role: 'article',\n filter: (data): data is any => data.subject === `${REGISTRY_KEY}+installed`,\n component: () => {\n const manager = usePluginManager();\n const filtered = useMemo(\n () =>\n manager.plugins\n .filter(({ meta }) => !manager.core.includes(meta.id))\n .filter(({ meta }) => manager.enabled.includes(meta.id)),\n [],\n );\n\n return <RegistryContainer id={`${REGISTRY_KEY}+installed`} plugins={filtered} />;\n },\n }),\n createSurface({\n id: `${REGISTRY_PLUGIN}/recommended`,\n role: 'article',\n filter: (data): data is any => data.subject === `${REGISTRY_KEY}+recommended`,\n component: () => {\n const manager = usePluginManager();\n const filtered = useMemo(\n () =>\n manager.plugins\n .filter(({ meta }) => !manager.core.includes(meta.id))\n .filter(({ meta }) => !meta.tags?.includes('experimental')),\n [],\n );\n\n return <RegistryContainer id={`${REGISTRY_KEY}+recommended`} plugins={filtered} />;\n },\n }),\n createSurface({\n id: `${REGISTRY_PLUGIN}/experimental`,\n role: 'article',\n filter: (data): data is any => data.subject === `${REGISTRY_KEY}+experimental`,\n component: () => {\n const manager = usePluginManager();\n const filtered = useMemo(() => manager.plugins.filter(({ meta }) => meta.tags?.includes('experimental')), []);\n\n return <RegistryContainer id={`${REGISTRY_KEY}+experimental`} plugins={filtered} />;\n },\n }),\n createSurface({\n id: `${REGISTRY_PLUGIN}/plugin-details`,\n role: 'article',\n filter: (data): data is { subject: Plugin } => data.subject instanceof Plugin,\n component: ({ data: { subject } }) => {\n const manager = usePluginManager();\n const enabled = manager.enabled.includes(subject.meta.id);\n const handleEnable = useCallback(\n () => (enabled ? manager.disable(subject.meta.id) : manager.enable(subject.meta.id)),\n [manager, subject.meta.id, enabled],\n );\n\n return (\n <StackItem.Content role='article'>\n <PluginDetail plugin={subject} enabled={enabled} onEnable={handleEnable} />\n </StackItem.Content>\n );\n },\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { Icon, Input, Link, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormContainer } from '@dxos/react-ui-form';\n\nimport { REGISTRY_PLUGIN } from '../meta';\n\nexport type PluginDetailProps = {\n plugin: Plugin;\n enabled?: boolean;\n onEnable?: () => void;\n};\n\nexport const PluginDetail = ({ plugin, enabled, onEnable }: PluginDetailProps) => {\n const { t } = useTranslation(REGISTRY_PLUGIN);\n const { id, name, description, homePage, source, screenshots } = plugin.meta;\n\n return (\n <DeprecatedFormContainer classNames='gap-6'>\n <div role='none' className='flex justify-between items-center'>\n <p>{id}</p>\n <Input.Root>\n <Input.Switch classNames='self-center' checked={enabled} onClick={onEnable} />\n </Input.Root>\n </div>\n\n {screenshots && screenshots.length > 0 && (\n <div role='none'>\n <h1 className='text-lg mb-2'>Preview</h1>\n <img src={screenshots[0]} alt={name} className='aspect-video object-fit' />\n </div>\n )}\n\n <div role='none'>\n <p>{description}</p>\n </div>\n\n <div role='none'>\n <h1 className='text-lg mb-2'>Resources</h1>\n <div className='flex gap-2'>\n {homePage && (\n <Link href={homePage} target='_blank' rel='noreferrer' classNames='text-sm text-description'>\n {t('home page label')}\n <Icon icon='ph--arrow-square-out--bold' size={3} classNames='inline-block leading-none mli-1' />\n </Link>\n )}\n\n {source && (\n <Link href={source} target='_blank' rel='noreferrer' classNames='text-sm text-description'>\n {t('source label')}\n <Icon icon='ph--arrow-square-out--bold' size={3} classNames='inline-block leading-none mli-1' />\n </Link>\n )}\n </div>\n </div>\n </DeprecatedFormContainer>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { List } from '@dxos/react-ui';\n\nimport { PluginItem, type PluginItemProps } from './PluginItem';\n\nexport type PluginListProps = Omit<PluginItemProps, 'plugin'> & {\n plugins?: readonly Plugin[];\n};\n\nexport const PluginList = ({ plugins = [], ...props }: PluginListProps) => {\n return (\n <List classNames='grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] auto-rows-[10rem] gap-3 p-3'>\n {plugins.map((plugin) => (\n <div key={plugin.meta.id} className='flex'>\n <PluginItem plugin={plugin} {...props} />\n </div>\n ))}\n </List>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback } from 'react';\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { Icon, IconButton, Input, Link, ListItem, useTranslation } from '@dxos/react-ui';\nimport { descriptionText, mx } from '@dxos/react-ui-theme';\n\nimport { REGISTRY_PLUGIN } from '../meta';\n\nexport type PluginItemProps = {\n plugin: Plugin;\n installed?: readonly string[];\n enabled?: readonly string[];\n onClick?: (id: string) => void;\n onChange?: (id: string, enabled: boolean) => void;\n hasSettings?: (id: string) => boolean;\n onSettings?: (id: string) => void;\n};\n\nexport const PluginItem = ({\n plugin,\n enabled = [],\n onClick,\n onChange,\n hasSettings: _hasSettings,\n onSettings,\n}: PluginItemProps) => {\n const { t } = useTranslation(REGISTRY_PLUGIN);\n const { id, name, description, icon = 'ph--circle--regular' } = plugin.meta;\n const isEnabled = enabled.includes(id);\n const inputId = `${id}-input`;\n const labelId = `${id}-label`;\n const descriptionId = `${id}-description`;\n const handleClick = useCallback(() => onClick?.(id), [id, onClick]);\n\n const handleChange = useCallback(\n (event: React.MouseEvent) => {\n event.stopPropagation();\n onChange?.(id, !isEnabled);\n },\n [id, isEnabled, onChange],\n );\n\n const hasSettings = _hasSettings?.(id) ?? false;\n const handleSettings = useCallback(() => onSettings?.(id), [id, onSettings]);\n\n return (\n <ListItem.Root\n key={id}\n labelId={labelId}\n data-testid={`pluginList.${id}`}\n aria-describedby={descriptionId}\n // TODO(burdon): Use Rail vars.\n classNames='w-full h-full grid grid-cols-[48px_1fr_48px] grid-rows-[40px_1fr_32px] p-1 border border-separator rounded-md'\n >\n {/* Header. */}\n <div className='flex justify-center items-center'>\n <Icon icon={icon} size={6} onClick={handleClick} classNames='text-subdued cursor-pointer' />\n </div>\n <div className='flex items-center overflow-hidden cursor-pointer' onClick={handleClick}>\n <span className='truncate'>{name ?? id}</span>\n </div>\n <div className='flex justify-center items-center'>\n <Input.Root id={inputId}>\n <Input.Switch classNames='self-center' checked={isEnabled} onClick={handleChange} />\n </Input.Root>\n </div>\n\n {/* Body. */}\n <div />\n <div id={descriptionId} className='col-span-2 pb-3'>\n <p className={mx(descriptionText, 'line-clamp-3 min-w-0 pie-4')}>{description}</p>\n </div>\n\n {/* Footer. */}\n <div />\n <div className='flex gap-2 items-center pie-1'>\n <Link\n aria-describedby={descriptionId}\n classNames='text-sm text-description cursor-pointer'\n onClick={handleClick}\n >\n {t('details label')}\n </Link>\n\n <div className='flex-1' />\n </div>\n <div className='flex justify-center items-center'>\n {hasSettings && (\n <IconButton\n aria-describedby={descriptionId}\n classNames='text-sm text-description cursor-pointer'\n icon='ph--gear--regular'\n label={t('settings label')}\n iconOnly\n size={4}\n onClick={handleSettings}\n />\n )}\n </div>\n </ListItem.Root>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport {\n Capabilities,\n createIntent,\n LayoutAction,\n type Plugin,\n SettingsAction,\n useCapability,\n useIntentDispatcher,\n usePluginManager,\n} from '@dxos/app-framework';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { PluginList } from './PluginList';\n\nconst sortByPluginMeta = ({ meta: { name: a = '' } }: Plugin, { meta: { name: b = '' } }: Plugin) => a.localeCompare(b);\n\nexport const RegistryContainer = ({ id, plugins: _plugins }: { id: string; plugins: Plugin[] }) => {\n const manager = usePluginManager();\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const plugins = useMemo(() => _plugins.sort(sortByPluginMeta), [_plugins]);\n const settingsStore = useCapability(Capabilities.SettingsStore);\n\n // TODO(wittjosiah): Factor out to an intent?\n const handleChange = useCallback(\n async (id: string, enabled: boolean) => {\n if (enabled) {\n await manager.enable(id);\n } else {\n await manager.disable(id);\n }\n\n await dispatch(\n createIntent(ObservabilityAction.SendEvent, {\n name: 'plugins.toggle',\n properties: {\n plugin: id,\n enabled,\n },\n }),\n );\n },\n [dispatch, manager],\n );\n\n const handleClick = useCallback(\n (pluginId: string) =>\n dispatch(\n createIntent(LayoutAction.Open, {\n part: 'main',\n // TODO(wittjosiah): `/` currently is not supported in ids.\n subject: [pluginId.replaceAll('/', ':')],\n options: { pivotId: id, positioning: 'end' },\n }),\n ),\n [dispatch, id],\n );\n\n const hasSettings = useCallback((pluginId: string) => !!settingsStore.getStore(pluginId), [settingsStore]);\n\n const handleSettings = useCallback(\n (pluginId: string) => dispatch(createIntent(SettingsAction.Open, { plugin: pluginId })),\n [dispatch],\n );\n\n return (\n <StackItem.Content classNames='min-bs-0 overflow-y-auto scrollbar-thin contain-layout'>\n <PluginList\n plugins={plugins}\n enabled={manager.enabled}\n onClick={handleClick}\n onChange={handleChange}\n hasSettings={hasSettings}\n onSettings={handleSettings}\n />\n </StackItem.Content>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useCallback", "useMemo", "Capabilities", "contributes", "createSurface", "Plugin", "usePluginManager", "StackItem", "React", "Icon", "Input", "Link", "useTranslation", "DeprecatedFormContainer", "PluginDetail", "plugin", "enabled", "onEnable", "t", "useTranslation", "REGISTRY_PLUGIN", "id", "name", "description", "homePage", "source", "screenshots", "meta", "DeprecatedFormContainer", "classNames", "div", "role", "className", "p", "Input", "Root", "Switch", "checked", "onClick", "length", "h1", "img", "src", "alt", "Link", "href", "target", "rel", "Icon", "icon", "size", "React", "List", "React", "useCallback", "Icon", "IconButton", "Input", "Link", "ListItem", "useTranslation", "descriptionText", "mx", "PluginItem", "plugin", "enabled", "onClick", "onChange", "hasSettings", "_hasSettings", "onSettings", "t", "useTranslation", "REGISTRY_PLUGIN", "id", "name", "description", "icon", "meta", "isEnabled", "includes", "inputId", "labelId", "descriptionId", "handleClick", "useCallback", "handleChange", "event", "stopPropagation", "handleSettings", "React", "ListItem", "Root", "key", "data-testid", "aria-describedby", "classNames", "div", "className", "Icon", "size", "span", "Input", "Switch", "checked", "p", "mx", "descriptionText", "Link", "IconButton", "label", "iconOnly", "PluginList", "plugins", "props", "React", "List", "classNames", "map", "plugin", "div", "key", "meta", "id", "className", "PluginItem", "React", "useCallback", "useMemo", "Capabilities", "createIntent", "LayoutAction", "SettingsAction", "useCapability", "useIntentDispatcher", "usePluginManager", "ObservabilityAction", "StackItem", "sortByPluginMeta", "meta", "name", "a", "b", "localeCompare", "RegistryContainer", "id", "plugins", "_plugins", "manager", "usePluginManager", "dispatchPromise", "dispatch", "useIntentDispatcher", "useMemo", "sort", "settingsStore", "useCapability", "Capabilities", "SettingsStore", "handleChange", "useCallback", "enabled", "enable", "disable", "createIntent", "ObservabilityAction", "SendEvent", "properties", "plugin", "handleClick", "pluginId", "LayoutAction", "Open", "part", "subject", "replaceAll", "options", "pivotId", "positioning", "hasSettings", "getStore", "handleSettings", "SettingsAction", "React", "StackItem", "Content", "classNames", "PluginList", "onClick", "onChange", "onSettings", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "REGISTRY_PLUGIN", "role", "filter", "data", "subject", "REGISTRY_KEY", "component", "manager", "usePluginManager", "filtered", "useMemo", "plugins", "meta", "core", "includes", "React", "RegistryContainer", "enabled", "tags", "Plugin", "handleEnable", "useCallback", "disable", "enable", "StackItem", "Content", "PluginDetail", "plugin", "onEnable"]
7
+ }
@@ -1,4 +1,181 @@
1
- import { type PluginContext } from '@dxos/app-framework';
2
- declare const _default: (context: PluginContext) => import("@dxos/app-framework").Capability<import("@dxos/app-graph").BuilderExtensions>;
1
+ import { type PluginsContext } from '@dxos/app-framework';
2
+ import { type Node } from '@dxos/plugin-graph';
3
+ declare const _default: (context: PluginsContext) => import("@dxos/app-framework").Capability<Readonly<{
4
+ id: string;
5
+ position: import("@dxos/util").Position;
6
+ resolver?: import("@dxos/app-graph").ResolverExtension;
7
+ connector?: import("@dxos/app-graph").ConnectorExtension;
8
+ relation?: import("@dxos/app-graph").Relation;
9
+ type?: string;
10
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
11
+ }> | Readonly<{
12
+ id: string;
13
+ position: import("@dxos/util").Position;
14
+ resolver?: import("@dxos/app-graph").ResolverExtension;
15
+ connector?: import("@dxos/app-graph").ConnectorExtension;
16
+ relation?: import("@dxos/app-graph").Relation;
17
+ type?: string;
18
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
19
+ }>[] | (Readonly<{
20
+ id: string;
21
+ position: import("@dxos/util").Position;
22
+ resolver?: import("@dxos/app-graph").ResolverExtension;
23
+ connector?: import("@dxos/app-graph").ConnectorExtension;
24
+ relation?: import("@dxos/app-graph").Relation;
25
+ type?: string;
26
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
27
+ }> | Readonly<{
28
+ id: string;
29
+ position: import("@dxos/util").Position;
30
+ resolver?: import("@dxos/app-graph").ResolverExtension;
31
+ connector?: import("@dxos/app-graph").ConnectorExtension;
32
+ relation?: import("@dxos/app-graph").Relation;
33
+ type?: string;
34
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
35
+ }>[] | (Readonly<{
36
+ id: string;
37
+ position: import("@dxos/util").Position;
38
+ resolver?: import("@dxos/app-graph").ResolverExtension;
39
+ connector?: import("@dxos/app-graph").ConnectorExtension;
40
+ relation?: import("@dxos/app-graph").Relation;
41
+ type?: string;
42
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
43
+ }> | Readonly<{
44
+ id: string;
45
+ position: import("@dxos/util").Position;
46
+ resolver?: import("@dxos/app-graph").ResolverExtension;
47
+ connector?: import("@dxos/app-graph").ConnectorExtension;
48
+ relation?: import("@dxos/app-graph").Relation;
49
+ type?: string;
50
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
51
+ }>[] | (Readonly<{
52
+ id: string;
53
+ position: import("@dxos/util").Position;
54
+ resolver?: import("@dxos/app-graph").ResolverExtension;
55
+ connector?: import("@dxos/app-graph").ConnectorExtension;
56
+ relation?: import("@dxos/app-graph").Relation;
57
+ type?: string;
58
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
59
+ }> | Readonly<{
60
+ id: string;
61
+ position: import("@dxos/util").Position;
62
+ resolver?: import("@dxos/app-graph").ResolverExtension;
63
+ connector?: import("@dxos/app-graph").ConnectorExtension;
64
+ relation?: import("@dxos/app-graph").Relation;
65
+ type?: string;
66
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
67
+ }>[] | (Readonly<{
68
+ id: string;
69
+ position: import("@dxos/util").Position;
70
+ resolver?: import("@dxos/app-graph").ResolverExtension;
71
+ connector?: import("@dxos/app-graph").ConnectorExtension;
72
+ relation?: import("@dxos/app-graph").Relation;
73
+ type?: string;
74
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
75
+ }> | Readonly<{
76
+ id: string;
77
+ position: import("@dxos/util").Position;
78
+ resolver?: import("@dxos/app-graph").ResolverExtension;
79
+ connector?: import("@dxos/app-graph").ConnectorExtension;
80
+ relation?: import("@dxos/app-graph").Relation;
81
+ type?: string;
82
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
83
+ }>[] | (Readonly<{
84
+ id: string;
85
+ position: import("@dxos/util").Position;
86
+ resolver?: import("@dxos/app-graph").ResolverExtension;
87
+ connector?: import("@dxos/app-graph").ConnectorExtension;
88
+ relation?: import("@dxos/app-graph").Relation;
89
+ type?: string;
90
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
91
+ }> | Readonly<{
92
+ id: string;
93
+ position: import("@dxos/util").Position;
94
+ resolver?: import("@dxos/app-graph").ResolverExtension;
95
+ connector?: import("@dxos/app-graph").ConnectorExtension;
96
+ relation?: import("@dxos/app-graph").Relation;
97
+ type?: string;
98
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
99
+ }>[] | (Readonly<{
100
+ id: string;
101
+ position: import("@dxos/util").Position;
102
+ resolver?: import("@dxos/app-graph").ResolverExtension;
103
+ connector?: import("@dxos/app-graph").ConnectorExtension;
104
+ relation?: import("@dxos/app-graph").Relation;
105
+ type?: string;
106
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
107
+ }> | Readonly<{
108
+ id: string;
109
+ position: import("@dxos/util").Position;
110
+ resolver?: import("@dxos/app-graph").ResolverExtension;
111
+ connector?: import("@dxos/app-graph").ConnectorExtension;
112
+ relation?: import("@dxos/app-graph").Relation;
113
+ type?: string;
114
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
115
+ }>[] | (Readonly<{
116
+ id: string;
117
+ position: import("@dxos/util").Position;
118
+ resolver?: import("@dxos/app-graph").ResolverExtension;
119
+ connector?: import("@dxos/app-graph").ConnectorExtension;
120
+ relation?: import("@dxos/app-graph").Relation;
121
+ type?: string;
122
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
123
+ }> | Readonly<{
124
+ id: string;
125
+ position: import("@dxos/util").Position;
126
+ resolver?: import("@dxos/app-graph").ResolverExtension;
127
+ connector?: import("@dxos/app-graph").ConnectorExtension;
128
+ relation?: import("@dxos/app-graph").Relation;
129
+ type?: string;
130
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
131
+ }>[] | (Readonly<{
132
+ id: string;
133
+ position: import("@dxos/util").Position;
134
+ resolver?: import("@dxos/app-graph").ResolverExtension;
135
+ connector?: import("@dxos/app-graph").ConnectorExtension;
136
+ relation?: import("@dxos/app-graph").Relation;
137
+ type?: string;
138
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
139
+ }> | Readonly<{
140
+ id: string;
141
+ position: import("@dxos/util").Position;
142
+ resolver?: import("@dxos/app-graph").ResolverExtension;
143
+ connector?: import("@dxos/app-graph").ConnectorExtension;
144
+ relation?: import("@dxos/app-graph").Relation;
145
+ type?: string;
146
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
147
+ }>[] | (Readonly<{
148
+ id: string;
149
+ position: import("@dxos/util").Position;
150
+ resolver?: import("@dxos/app-graph").ResolverExtension;
151
+ connector?: import("@dxos/app-graph").ConnectorExtension;
152
+ relation?: import("@dxos/app-graph").Relation;
153
+ type?: string;
154
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
155
+ }> | Readonly<{
156
+ id: string;
157
+ position: import("@dxos/util").Position;
158
+ resolver?: import("@dxos/app-graph").ResolverExtension;
159
+ connector?: import("@dxos/app-graph").ConnectorExtension;
160
+ relation?: import("@dxos/app-graph").Relation;
161
+ type?: string;
162
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
163
+ }>[] | (any[] | Readonly<{
164
+ id: string;
165
+ position: import("@dxos/util").Position;
166
+ resolver?: import("@dxos/app-graph").ResolverExtension;
167
+ connector?: import("@dxos/app-graph").ConnectorExtension;
168
+ relation?: import("@dxos/app-graph").Relation;
169
+ type?: string;
170
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
171
+ }> | Readonly<{
172
+ id: string;
173
+ position: import("@dxos/util").Position;
174
+ resolver?: import("@dxos/app-graph").ResolverExtension;
175
+ connector?: import("@dxos/app-graph").ConnectorExtension;
176
+ relation?: import("@dxos/app-graph").Relation;
177
+ type?: string;
178
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
179
+ }>[])[])[])[])[])[])[])[])[])[])[]>;
3
180
  export default _default;
4
181
  //# sourceMappingURL=app-graph-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAOA,OAAO,EAA2D,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;yBAKlG,SAAS,aAAa;AAAtC,wBA0IK"}
1
+ {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2D,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACnH,OAAO,EAAmB,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;kCAIvC,cAAc;;qBA0FnB,YAAY;sBACb,iBACX;uBAIO,iBACL;sBACS,iBACd;;2BAAkE,iBAC9D;;;qBAAqF,YACzF;sBAEG,iBAEA;uBAEiB,iBAClB;sBAEK,iBAAY;;2BACW,iBAAiB;;;qBAMpB,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;AArH1mO,wBAoHK"}
@@ -1,4 +1,180 @@
1
- export declare const AppGraphBuilder: (props?: import("@dxos/app-framework").PluginContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-graph").BuilderExtensions> | import("@dxos/app-framework").AnyCapability[]>>;
1
+ export declare const AppGraphBuilder: (props?: import("@dxos/app-framework").PluginsContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<Readonly<{
2
+ id: string;
3
+ position: import("@dxos/util").Position;
4
+ resolver?: import("@dxos/app-graph").ResolverExtension;
5
+ connector?: import("@dxos/app-graph").ConnectorExtension;
6
+ relation?: import("@dxos/app-graph").Relation;
7
+ type?: string;
8
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
9
+ }> | Readonly<{
10
+ id: string;
11
+ position: import("@dxos/util").Position;
12
+ resolver?: import("@dxos/app-graph").ResolverExtension;
13
+ connector?: import("@dxos/app-graph").ConnectorExtension;
14
+ relation?: import("@dxos/app-graph").Relation;
15
+ type?: string;
16
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
17
+ }>[] | (Readonly<{
18
+ id: string;
19
+ position: import("@dxos/util").Position;
20
+ resolver?: import("@dxos/app-graph").ResolverExtension;
21
+ connector?: import("@dxos/app-graph").ConnectorExtension;
22
+ relation?: import("@dxos/app-graph").Relation;
23
+ type?: string;
24
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
25
+ }> | Readonly<{
26
+ id: string;
27
+ position: import("@dxos/util").Position;
28
+ resolver?: import("@dxos/app-graph").ResolverExtension;
29
+ connector?: import("@dxos/app-graph").ConnectorExtension;
30
+ relation?: import("@dxos/app-graph").Relation;
31
+ type?: string;
32
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
33
+ }>[] | (Readonly<{
34
+ id: string;
35
+ position: import("@dxos/util").Position;
36
+ resolver?: import("@dxos/app-graph").ResolverExtension;
37
+ connector?: import("@dxos/app-graph").ConnectorExtension;
38
+ relation?: import("@dxos/app-graph").Relation;
39
+ type?: string;
40
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
41
+ }> | Readonly<{
42
+ id: string;
43
+ position: import("@dxos/util").Position;
44
+ resolver?: import("@dxos/app-graph").ResolverExtension;
45
+ connector?: import("@dxos/app-graph").ConnectorExtension;
46
+ relation?: import("@dxos/app-graph").Relation;
47
+ type?: string;
48
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
49
+ }>[] | (Readonly<{
50
+ id: string;
51
+ position: import("@dxos/util").Position;
52
+ resolver?: import("@dxos/app-graph").ResolverExtension;
53
+ connector?: import("@dxos/app-graph").ConnectorExtension;
54
+ relation?: import("@dxos/app-graph").Relation;
55
+ type?: string;
56
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
57
+ }> | Readonly<{
58
+ id: string;
59
+ position: import("@dxos/util").Position;
60
+ resolver?: import("@dxos/app-graph").ResolverExtension;
61
+ connector?: import("@dxos/app-graph").ConnectorExtension;
62
+ relation?: import("@dxos/app-graph").Relation;
63
+ type?: string;
64
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
65
+ }>[] | (Readonly<{
66
+ id: string;
67
+ position: import("@dxos/util").Position;
68
+ resolver?: import("@dxos/app-graph").ResolverExtension;
69
+ connector?: import("@dxos/app-graph").ConnectorExtension;
70
+ relation?: import("@dxos/app-graph").Relation;
71
+ type?: string;
72
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
73
+ }> | Readonly<{
74
+ id: string;
75
+ position: import("@dxos/util").Position;
76
+ resolver?: import("@dxos/app-graph").ResolverExtension;
77
+ connector?: import("@dxos/app-graph").ConnectorExtension;
78
+ relation?: import("@dxos/app-graph").Relation;
79
+ type?: string;
80
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
81
+ }>[] | (Readonly<{
82
+ id: string;
83
+ position: import("@dxos/util").Position;
84
+ resolver?: import("@dxos/app-graph").ResolverExtension;
85
+ connector?: import("@dxos/app-graph").ConnectorExtension;
86
+ relation?: import("@dxos/app-graph").Relation;
87
+ type?: string;
88
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
89
+ }> | Readonly<{
90
+ id: string;
91
+ position: import("@dxos/util").Position;
92
+ resolver?: import("@dxos/app-graph").ResolverExtension;
93
+ connector?: import("@dxos/app-graph").ConnectorExtension;
94
+ relation?: import("@dxos/app-graph").Relation;
95
+ type?: string;
96
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
97
+ }>[] | (Readonly<{
98
+ id: string;
99
+ position: import("@dxos/util").Position;
100
+ resolver?: import("@dxos/app-graph").ResolverExtension;
101
+ connector?: import("@dxos/app-graph").ConnectorExtension;
102
+ relation?: import("@dxos/app-graph").Relation;
103
+ type?: string;
104
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
105
+ }> | Readonly<{
106
+ id: string;
107
+ position: import("@dxos/util").Position;
108
+ resolver?: import("@dxos/app-graph").ResolverExtension;
109
+ connector?: import("@dxos/app-graph").ConnectorExtension;
110
+ relation?: import("@dxos/app-graph").Relation;
111
+ type?: string;
112
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
113
+ }>[] | (Readonly<{
114
+ id: string;
115
+ position: import("@dxos/util").Position;
116
+ resolver?: import("@dxos/app-graph").ResolverExtension;
117
+ connector?: import("@dxos/app-graph").ConnectorExtension;
118
+ relation?: import("@dxos/app-graph").Relation;
119
+ type?: string;
120
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
121
+ }> | Readonly<{
122
+ id: string;
123
+ position: import("@dxos/util").Position;
124
+ resolver?: import("@dxos/app-graph").ResolverExtension;
125
+ connector?: import("@dxos/app-graph").ConnectorExtension;
126
+ relation?: import("@dxos/app-graph").Relation;
127
+ type?: string;
128
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
129
+ }>[] | (Readonly<{
130
+ id: string;
131
+ position: import("@dxos/util").Position;
132
+ resolver?: import("@dxos/app-graph").ResolverExtension;
133
+ connector?: import("@dxos/app-graph").ConnectorExtension;
134
+ relation?: import("@dxos/app-graph").Relation;
135
+ type?: string;
136
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
137
+ }> | Readonly<{
138
+ id: string;
139
+ position: import("@dxos/util").Position;
140
+ resolver?: import("@dxos/app-graph").ResolverExtension;
141
+ connector?: import("@dxos/app-graph").ConnectorExtension;
142
+ relation?: import("@dxos/app-graph").Relation;
143
+ type?: string;
144
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
145
+ }>[] | (Readonly<{
146
+ id: string;
147
+ position: import("@dxos/util").Position;
148
+ resolver?: import("@dxos/app-graph").ResolverExtension;
149
+ connector?: import("@dxos/app-graph").ConnectorExtension;
150
+ relation?: import("@dxos/app-graph").Relation;
151
+ type?: string;
152
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
153
+ }> | Readonly<{
154
+ id: string;
155
+ position: import("@dxos/util").Position;
156
+ resolver?: import("@dxos/app-graph").ResolverExtension;
157
+ connector?: import("@dxos/app-graph").ConnectorExtension;
158
+ relation?: import("@dxos/app-graph").Relation;
159
+ type?: string;
160
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
161
+ }>[] | (any[] | Readonly<{
162
+ id: string;
163
+ position: import("@dxos/util").Position;
164
+ resolver?: import("@dxos/app-graph").ResolverExtension;
165
+ connector?: import("@dxos/app-graph").ConnectorExtension;
166
+ relation?: import("@dxos/app-graph").Relation;
167
+ type?: string;
168
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
169
+ }> | Readonly<{
170
+ id: string;
171
+ position: import("@dxos/util").Position;
172
+ resolver?: import("@dxos/app-graph").ResolverExtension;
173
+ connector?: import("@dxos/app-graph").ConnectorExtension;
174
+ relation?: import("@dxos/app-graph").Relation;
175
+ type?: string;
176
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
177
+ }>[])[])[])[])[])[])[])[])[])[])[]> | import("@dxos/app-framework").AnyCapability[]>>;
2
178
  export declare const IntentResolver: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.IntentResolver> | import("@dxos/app-framework").AnyCapability[]>>;
3
179
  export declare const ReactSurface: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.ReactSurface> | import("@dxos/app-framework").AnyCapability[]>>;
4
180
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,oOAA4C,CAAC;AACzE,eAAO,MAAM,cAAc,kMAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,gMAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe;;qBAGklG,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;qFAH70V,CAAC;AACzE,eAAO,MAAM,cAAc,kMAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,gMAAwC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PluginDetail.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginDetail.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAMlD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,+BAA+B,iBAAiB,sBA4C5E,CAAC"}
1
+ {"version":3,"file":"PluginDetail.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginDetail.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAMlD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,YAAY,kCAAmC,iBAAiB,sBA4C5E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PluginItem.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAE5D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAMlD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,gFAOxB,eAAe,sBA4EjB,CAAC"}
1
+ {"version":3,"file":"PluginItem.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAMlD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,UAAU,mFAOpB,eAAe,sBA4EjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PluginList.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginList.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,GAAG;IAC9D,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,uBAA4B,eAAe,sBAUrE,CAAC"}
1
+ {"version":3,"file":"PluginList.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginList.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,GAAG;IAC9D,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,UAAU,0BAAgC,eAAe,sBAUrE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RegistryContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/RegistryContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,EAIL,KAAK,MAAM,EAKZ,MAAM,qBAAqB,CAAC;AAQ7B,eAAO,MAAM,iBAAiB,GAAI,2BAA2B;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,sBA4D7F,CAAC"}
1
+ {"version":3,"file":"RegistryContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/RegistryContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,EAIL,KAAK,MAAM,EAKZ,MAAM,qBAAqB,CAAC;AAQ7B,eAAO,MAAM,iBAAiB,8BAA+B;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,sBA4D7F,CAAC"}
@@ -1,6 +1,6 @@
1
- import { Schema } from 'effect';
2
- export declare const RegistrySettingsSchema: Schema.mutable<Schema.Struct<{
3
- experimental: Schema.optional<typeof Schema.Boolean>;
1
+ import { S } from '@dxos/echo-schema';
2
+ export declare const RegistrySettingsSchema: S.mutable<S.Struct<{
3
+ experimental: S.optional<typeof S.Boolean>;
4
4
  }>>;
5
- export type RegistrySettings = Schema.Schema.Type<typeof RegistrySettingsSchema>;
5
+ export type RegistrySettings = S.Schema.Type<typeof RegistrySettingsSchema>;
6
6
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,eAAO,MAAM,sBAAsB;;GAIlC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAEtC,eAAO,MAAM,sBAAsB;;GAIlC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":"5.8.3"}
1
+ {"version":"5.7.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-registry",
3
- "version": "0.8.2-main.fbd8ed0",
3
+ "version": "0.8.2-staging.7ac8446",
4
4
  "description": "Braneframe plugin gallery",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -23,41 +23,34 @@
23
23
  "src"
24
24
  ],
25
25
  "dependencies": {
26
- "@dxos/app-framework": "0.8.2-main.fbd8ed0",
27
- "@dxos/echo": "0.8.2-main.fbd8ed0",
28
- "@dxos/echo-schema": "0.8.2-main.fbd8ed0",
29
- "@dxos/invariant": "0.8.2-main.fbd8ed0",
30
- "@dxos/live-object": "0.8.2-main.fbd8ed0",
31
- "@dxos/plugin-graph": "0.8.2-main.fbd8ed0",
32
- "@dxos/plugin-observability": "0.8.2-main.fbd8ed0",
33
- "@dxos/react-ui-form": "0.8.2-main.fbd8ed0",
34
- "@dxos/react-ui-stack": "0.8.2-main.fbd8ed0",
35
- "@dxos/util": "0.8.2-main.fbd8ed0"
26
+ "@dxos/app-framework": "0.8.2-staging.7ac8446",
27
+ "@dxos/echo-schema": "0.8.2-staging.7ac8446",
28
+ "@dxos/invariant": "0.8.2-staging.7ac8446",
29
+ "@dxos/live-object": "0.8.2-staging.7ac8446",
30
+ "@dxos/react-ui-form": "0.8.2-staging.7ac8446",
31
+ "@dxos/plugin-graph": "0.8.2-staging.7ac8446",
32
+ "@dxos/react-ui-stack": "0.8.2-staging.7ac8446",
33
+ "@dxos/plugin-observability": "0.8.2-staging.7ac8446",
34
+ "@dxos/util": "0.8.2-staging.7ac8446"
36
35
  },
37
36
  "devDependencies": {
38
- "@effect-rx/rx-react": "^0.34.1",
39
- "@effect/platform": "0.80.12",
40
37
  "@phosphor-icons/react": "^2.1.5",
41
38
  "@types/react": "~18.2.0",
42
39
  "@types/react-dom": "~18.2.0",
43
- "effect": "^3.13.3",
44
40
  "react": "~18.2.0",
45
41
  "react-dom": "~18.2.0",
46
42
  "vite": "5.4.7",
47
- "@dxos/react-ui": "0.8.2-main.fbd8ed0",
48
- "@dxos/random": "0.8.2-main.fbd8ed0",
49
- "@dxos/react-ui-theme": "0.8.2-main.fbd8ed0",
50
- "@dxos/storybook-utils": "0.8.2-main.fbd8ed0"
43
+ "@dxos/random": "0.8.2-staging.7ac8446",
44
+ "@dxos/react-ui": "0.8.2-staging.7ac8446",
45
+ "@dxos/react-ui-theme": "0.8.2-staging.7ac8446",
46
+ "@dxos/storybook-utils": "0.8.2-staging.7ac8446"
51
47
  },
52
48
  "peerDependencies": {
53
- "@effect-rx/rx-react": "^0.34.1",
54
- "@effect/platform": "0.80.12",
55
49
  "@phosphor-icons/react": "^2.1.5",
56
- "effect": "^3.13.3",
57
50
  "react": "~18.2.0",
58
51
  "react-dom": "~18.2.0",
59
- "@dxos/react-ui": "0.8.2-main.fbd8ed0",
60
- "@dxos/react-ui-theme": "0.8.2-main.fbd8ed0"
52
+ "@dxos/react-ui-theme": "0.8.2-staging.7ac8446",
53
+ "@dxos/react-ui": "0.8.2-staging.7ac8446"
61
54
  },
62
55
  "publishConfig": {
63
56
  "access": "public"
@@ -2,150 +2,125 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Rx } from '@effect-rx/rx-react';
6
- import { Option, pipe } from 'effect';
7
-
8
- import { Capabilities, contributes, createIntent, SettingsAction, type PluginContext } from '@dxos/app-framework';
9
- import { createExtension } from '@dxos/plugin-graph';
5
+ import { Capabilities, contributes, createIntent, SettingsAction, type PluginsContext } from '@dxos/app-framework';
6
+ import { createExtension, type Node } from '@dxos/plugin-graph';
10
7
 
11
8
  import { REGISTRY_ID, REGISTRY_KEY, REGISTRY_PLUGIN } from '../meta';
12
9
 
13
- export default (context: PluginContext) =>
10
+ export default (context: PluginsContext) =>
14
11
  contributes(Capabilities.AppGraphBuilder, [
15
12
  createExtension({
16
13
  id: REGISTRY_PLUGIN,
17
- actions: (node) =>
18
- Rx.make((get) =>
19
- pipe(
20
- get(node),
21
- Option.flatMap((node) => (node.id === 'root' ? Option.some(node) : Option.none())),
22
- Option.map((node) => [
23
- {
24
- id: REGISTRY_PLUGIN,
25
- data: async () => {
26
- const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
27
- await dispatch(createIntent(SettingsAction.OpenPluginRegistry));
28
- },
29
- properties: {
30
- label: ['open plugin registry label', { ns: REGISTRY_PLUGIN }],
31
- icon: 'ph--squares-four--regular',
32
- disposition: 'menu',
33
- },
34
- },
35
- ]),
36
- Option.getOrElse(() => []),
37
- ),
38
- ),
14
+ filter: (node): node is Node<null> => node.id === 'root',
15
+ actions: () => [
16
+ {
17
+ id: REGISTRY_PLUGIN,
18
+ data: async () => {
19
+ const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
20
+ await dispatch(createIntent(SettingsAction.OpenPluginRegistry));
21
+ },
22
+ properties: {
23
+ label: ['open plugin registry label', { ns: REGISTRY_PLUGIN }],
24
+ icon: 'ph--squares-four--regular',
25
+ },
26
+ },
27
+ ],
39
28
  }),
40
29
  createExtension({
41
30
  id: REGISTRY_PLUGIN,
42
- connector: (node) =>
43
- Rx.make((get) =>
44
- pipe(
45
- get(node),
46
- Option.flatMap((node) => (node.id === 'root' ? Option.some(node) : Option.none())),
47
- Option.map((node) => [
48
- {
49
- id: REGISTRY_ID,
50
- type: REGISTRY_PLUGIN,
51
- properties: {
52
- label: ['plugin registry label', { ns: REGISTRY_PLUGIN }],
53
- icon: 'ph--squares-four--regular',
54
- disposition: 'pin-end',
55
- testId: 'treeView.pluginRegistry',
56
- },
57
- nodes: [
58
- {
59
- id: `${REGISTRY_KEY}+all`,
60
- type: 'category',
61
- data: `${REGISTRY_KEY}+all`,
62
- properties: {
63
- label: ['all plugins label', { ns: REGISTRY_PLUGIN }],
64
- icon: 'ph--squares-four--regular',
65
- key: REGISTRY_KEY,
66
- testId: 'pluginRegistry.all',
67
- },
68
- },
69
- {
70
- id: `${REGISTRY_KEY}+installed`,
71
- type: 'category',
72
- data: `${REGISTRY_KEY}+installed`,
73
- properties: {
74
- label: ['installed plugins label', { ns: REGISTRY_PLUGIN }],
75
- icon: 'ph--check--regular',
76
- key: REGISTRY_KEY,
77
- testId: 'pluginRegistry.installed',
78
- },
79
- },
80
- {
81
- id: `${REGISTRY_KEY}+recommended`,
82
- type: 'category',
83
- data: `${REGISTRY_KEY}+recommended`,
84
- properties: {
85
- label: ['recommended plugins label', { ns: REGISTRY_PLUGIN }],
86
- icon: 'ph--star--regular',
87
- key: REGISTRY_KEY,
88
- testId: 'pluginRegistry.recommended',
89
- },
90
- },
91
- {
92
- id: `${REGISTRY_KEY}+experimental`,
93
- type: 'category',
94
- data: `${REGISTRY_KEY}+experimental`,
95
- properties: {
96
- label: ['experimental plugins label', { ns: REGISTRY_PLUGIN }],
97
- icon: 'ph--flask--regular',
98
- key: REGISTRY_KEY,
99
- testId: 'pluginRegistry.experimental',
100
- },
101
- },
102
- ],
31
+ filter: (node): node is Node<null> => node.id === 'root',
32
+ connector: () => [
33
+ {
34
+ id: REGISTRY_ID,
35
+ type: REGISTRY_PLUGIN,
36
+ properties: {
37
+ label: ['plugin registry label', { ns: REGISTRY_PLUGIN }],
38
+ icon: 'ph--squares-four--regular',
39
+ disposition: 'pin-end',
40
+ testId: 'treeView.pluginRegistry',
41
+ },
42
+ nodes: [
43
+ {
44
+ id: `${REGISTRY_KEY}+all`,
45
+ type: 'category',
46
+ data: `${REGISTRY_KEY}+all`,
47
+ properties: {
48
+ label: ['all plugins label', { ns: REGISTRY_PLUGIN }],
49
+ icon: 'ph--squares-four--regular',
50
+ key: REGISTRY_KEY,
51
+ testId: 'pluginRegistry.all',
52
+ },
53
+ },
54
+ {
55
+ id: `${REGISTRY_KEY}+installed`,
56
+ type: 'category',
57
+ data: `${REGISTRY_KEY}+installed`,
58
+ properties: {
59
+ label: ['installed plugins label', { ns: REGISTRY_PLUGIN }],
60
+ icon: 'ph--check--regular',
61
+ key: REGISTRY_KEY,
62
+ testId: 'pluginRegistry.installed',
63
+ },
64
+ },
65
+ {
66
+ id: `${REGISTRY_KEY}+recommended`,
67
+ type: 'category',
68
+ data: `${REGISTRY_KEY}+recommended`,
69
+ properties: {
70
+ label: ['recommended plugins label', { ns: REGISTRY_PLUGIN }],
71
+ icon: 'ph--star--regular',
72
+ key: REGISTRY_KEY,
73
+ testId: 'pluginRegistry.recommended',
103
74
  },
104
- ]),
105
- Option.getOrElse(() => []),
106
- ),
107
- ),
75
+ },
76
+ {
77
+ id: `${REGISTRY_KEY}+experimental`,
78
+ type: 'category',
79
+ data: `${REGISTRY_KEY}+experimental`,
80
+ properties: {
81
+ label: ['experimental plugins label', { ns: REGISTRY_PLUGIN }],
82
+ icon: 'ph--flask--regular',
83
+ key: REGISTRY_KEY,
84
+ testId: 'pluginRegistry.experimental',
85
+ },
86
+ },
87
+ ],
88
+ },
89
+ ],
108
90
  }),
109
91
  createExtension({
110
92
  id: `${REGISTRY_PLUGIN}/actions`,
111
- actions: (node) =>
112
- Rx.make((get) =>
113
- pipe(
114
- get(node),
115
- Option.flatMap((node) => (node.id === REGISTRY_ID ? Option.some(node) : Option.none())),
116
- Option.map(() => [
117
- {
118
- id: `${REGISTRY_PLUGIN}/load-by-url`,
119
- data: async () => {},
120
- properties: {
121
- label: ['load by url label', { ns: REGISTRY_PLUGIN }],
122
- icon: 'ph--cloud-arrow-down--regular',
123
- disabled: true,
124
- },
125
- },
126
- ]),
127
- Option.getOrElse(() => []),
128
- ),
129
- ),
93
+ filter: (node): node is Node<null> => node.id === REGISTRY_ID,
94
+ actions: () => [
95
+ {
96
+ id: `${REGISTRY_PLUGIN}/load-by-url`,
97
+ data: async () => {},
98
+ properties: {
99
+ label: ['load by url label', { ns: REGISTRY_PLUGIN }],
100
+ icon: 'ph--cloud-arrow-down--regular',
101
+ disabled: true,
102
+ },
103
+ },
104
+ ],
130
105
  }),
131
- // createExtension({
132
- // id: `${REGISTRY_PLUGIN}/plugins`,
133
- // resolver: ({ id }) => {
134
- // const manager = context.requestCapability(Capabilities.PluginManager);
135
- // const plugin = manager.plugins.find((plugin) => plugin.meta.id === id.replaceAll(':', '/'));
136
- // if (!plugin) {
137
- // return;
138
- // }
106
+ createExtension({
107
+ id: `${REGISTRY_PLUGIN}/plugins`,
108
+ resolver: ({ id }) => {
109
+ const manager = context.requestCapability(Capabilities.PluginManager);
110
+ const plugin = manager.plugins.find((plugin) => plugin.meta.id === id.replaceAll(':', '/'));
111
+ if (!plugin) {
112
+ return;
113
+ }
139
114
 
140
- // return {
141
- // id,
142
- // type: 'dxos.org/plugin',
143
- // data: plugin,
144
- // properties: {
145
- // label: plugin.meta.name ?? plugin.meta.id,
146
- // icon: plugin.meta.icon ?? 'ph--circle--regular',
147
- // },
148
- // };
149
- // },
150
- // }),
115
+ return {
116
+ id,
117
+ type: 'dxos.org/plugin',
118
+ data: plugin,
119
+ properties: {
120
+ label: plugin.meta.name ?? plugin.meta.id,
121
+ icon: plugin.meta.icon ?? 'ph--circle--regular',
122
+ },
123
+ };
124
+ },
125
+ }),
151
126
  ]);
@@ -2,7 +2,7 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import React, { type MouseEvent, useCallback } from 'react';
5
+ import React, { useCallback } from 'react';
6
6
 
7
7
  import { type Plugin } from '@dxos/app-framework';
8
8
  import { Icon, IconButton, Input, Link, ListItem, useTranslation } from '@dxos/react-ui';
@@ -37,7 +37,7 @@ export const PluginItem = ({
37
37
  const handleClick = useCallback(() => onClick?.(id), [id, onClick]);
38
38
 
39
39
  const handleChange = useCallback(
40
- (event: MouseEvent) => {
40
+ (event: React.MouseEvent) => {
41
41
  event.stopPropagation();
42
42
  onChange?.(id, !isEnabled);
43
43
  },
@@ -93,7 +93,7 @@ export const PluginItem = ({
93
93
  <IconButton
94
94
  aria-describedby={descriptionId}
95
95
  classNames='text-sm text-description cursor-pointer'
96
- icon='ph--faders--regular'
96
+ icon='ph--gear--regular'
97
97
  label={t('settings label')}
98
98
  iconOnly
99
99
  size={4}
@@ -65,7 +65,7 @@ const meta: Meta = {
65
65
  title: 'plugins/plugin-registry/PluginList',
66
66
  component: PluginList,
67
67
  render: DefaultStory,
68
- decorators: [withTheme, withLayout({ fullscreen: true, classNames: 'justify-center' })],
68
+ decorators: [withTheme, withLayout({ tooltips: true, fullscreen: true, classNames: 'justify-center' })],
69
69
  parameters: {
70
70
  translations,
71
71
  },
package/src/types.ts CHANGED
@@ -2,12 +2,12 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Schema } from 'effect';
5
+ import { S } from '@dxos/echo-schema';
6
6
 
7
- export const RegistrySettingsSchema = Schema.mutable(
8
- Schema.Struct({
9
- experimental: Schema.optional(Schema.Boolean),
7
+ export const RegistrySettingsSchema = S.mutable(
8
+ S.Struct({
9
+ experimental: S.optional(S.Boolean),
10
10
  }),
11
11
  );
12
12
 
13
- export type RegistrySettings = Schema.Schema.Type<typeof RegistrySettingsSchema>;
13
+ export type RegistrySettings = S.Schema.Type<typeof RegistrySettingsSchema>;
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/app-graph-builder.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport { Option, pipe } from 'effect';\n\nimport { Capabilities, contributes, createIntent, SettingsAction, type PluginContext } from '@dxos/app-framework';\nimport { createExtension } from '@dxos/plugin-graph';\n\nimport { REGISTRY_ID, REGISTRY_KEY, REGISTRY_PLUGIN } from '../meta';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.AppGraphBuilder, [\n createExtension({\n id: REGISTRY_PLUGIN,\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === 'root' ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: REGISTRY_PLUGIN,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(SettingsAction.OpenPluginRegistry));\n },\n properties: {\n label: ['open plugin registry label', { ns: REGISTRY_PLUGIN }],\n icon: 'ph--squares-four--regular',\n disposition: 'menu',\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n createExtension({\n id: REGISTRY_PLUGIN,\n connector: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === 'root' ? Option.some(node) : Option.none())),\n Option.map((node) => [\n {\n id: REGISTRY_ID,\n type: REGISTRY_PLUGIN,\n properties: {\n label: ['plugin registry label', { ns: REGISTRY_PLUGIN }],\n icon: 'ph--squares-four--regular',\n disposition: 'pin-end',\n testId: 'treeView.pluginRegistry',\n },\n nodes: [\n {\n id: `${REGISTRY_KEY}+all`,\n type: 'category',\n data: `${REGISTRY_KEY}+all`,\n properties: {\n label: ['all plugins label', { ns: REGISTRY_PLUGIN }],\n icon: 'ph--squares-four--regular',\n key: REGISTRY_KEY,\n testId: 'pluginRegistry.all',\n },\n },\n {\n id: `${REGISTRY_KEY}+installed`,\n type: 'category',\n data: `${REGISTRY_KEY}+installed`,\n properties: {\n label: ['installed plugins label', { ns: REGISTRY_PLUGIN }],\n icon: 'ph--check--regular',\n key: REGISTRY_KEY,\n testId: 'pluginRegistry.installed',\n },\n },\n {\n id: `${REGISTRY_KEY}+recommended`,\n type: 'category',\n data: `${REGISTRY_KEY}+recommended`,\n properties: {\n label: ['recommended plugins label', { ns: REGISTRY_PLUGIN }],\n icon: 'ph--star--regular',\n key: REGISTRY_KEY,\n testId: 'pluginRegistry.recommended',\n },\n },\n {\n id: `${REGISTRY_KEY}+experimental`,\n type: 'category',\n data: `${REGISTRY_KEY}+experimental`,\n properties: {\n label: ['experimental plugins label', { ns: REGISTRY_PLUGIN }],\n icon: 'ph--flask--regular',\n key: REGISTRY_KEY,\n testId: 'pluginRegistry.experimental',\n },\n },\n ],\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n createExtension({\n id: `${REGISTRY_PLUGIN}/actions`,\n actions: (node) =>\n Rx.make((get) =>\n pipe(\n get(node),\n Option.flatMap((node) => (node.id === REGISTRY_ID ? Option.some(node) : Option.none())),\n Option.map(() => [\n {\n id: `${REGISTRY_PLUGIN}/load-by-url`,\n data: async () => {},\n properties: {\n label: ['load by url label', { ns: REGISTRY_PLUGIN }],\n icon: 'ph--cloud-arrow-down--regular',\n disabled: true,\n },\n },\n ]),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n // createExtension({\n // id: `${REGISTRY_PLUGIN}/plugins`,\n // resolver: ({ id }) => {\n // const manager = context.requestCapability(Capabilities.PluginManager);\n // const plugin = manager.plugins.find((plugin) => plugin.meta.id === id.replaceAll(':', '/'));\n // if (!plugin) {\n // return;\n // }\n\n // return {\n // id,\n // type: 'dxos.org/plugin',\n // data: plugin,\n // properties: {\n // label: plugin.meta.name ?? plugin.meta.id,\n // icon: plugin.meta.icon ?? 'ph--circle--regular',\n // },\n // };\n // },\n // }),\n ]);\n"],
5
- "mappings": "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",
6
- "names": ["Rx", "Option", "pipe", "Capabilities", "contributes", "createIntent", "SettingsAction", "createExtension", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "REGISTRY_PLUGIN", "actions", "node", "Rx", "make", "get", "pipe", "Option", "flatMap", "some", "none", "map", "data", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "createIntent", "SettingsAction", "OpenPluginRegistry", "properties", "label", "ns", "icon", "disposition", "getOrElse", "connector", "REGISTRY_ID", "type", "testId", "nodes", "REGISTRY_KEY", "key", "disabled"]
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/PluginDetail.tsx", "../../../src/components/PluginList.tsx", "../../../src/components/PluginItem.tsx", "../../../src/components/RegistryContainer.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { Capabilities, contributes, createSurface, Plugin, usePluginManager } from '@dxos/app-framework';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { PluginDetail, RegistryContainer } from '../components';\nimport { REGISTRY_KEY, REGISTRY_PLUGIN } from '../meta';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${REGISTRY_PLUGIN}/all`,\n role: 'article',\n filter: (data): data is any => data.subject === `${REGISTRY_KEY}+all`,\n component: () => {\n const manager = usePluginManager();\n const filtered = useMemo(() => manager.plugins.filter(({ meta }) => !manager.core.includes(meta.id)), []);\n\n return <RegistryContainer id={`${REGISTRY_KEY}+all`} plugins={filtered} />;\n },\n }),\n createSurface({\n id: `${REGISTRY_PLUGIN}/installed`,\n role: 'article',\n filter: (data): data is any => data.subject === `${REGISTRY_KEY}+installed`,\n component: () => {\n const manager = usePluginManager();\n const filtered = useMemo(\n () =>\n manager.plugins\n .filter(({ meta }) => !manager.core.includes(meta.id))\n .filter(({ meta }) => manager.enabled.includes(meta.id)),\n [],\n );\n\n return <RegistryContainer id={`${REGISTRY_KEY}+installed`} plugins={filtered} />;\n },\n }),\n createSurface({\n id: `${REGISTRY_PLUGIN}/recommended`,\n role: 'article',\n filter: (data): data is any => data.subject === `${REGISTRY_KEY}+recommended`,\n component: () => {\n const manager = usePluginManager();\n const filtered = useMemo(\n () =>\n manager.plugins\n .filter(({ meta }) => !manager.core.includes(meta.id))\n .filter(({ meta }) => !meta.tags?.includes('experimental')),\n [],\n );\n\n return <RegistryContainer id={`${REGISTRY_KEY}+recommended`} plugins={filtered} />;\n },\n }),\n createSurface({\n id: `${REGISTRY_PLUGIN}/experimental`,\n role: 'article',\n filter: (data): data is any => data.subject === `${REGISTRY_KEY}+experimental`,\n component: () => {\n const manager = usePluginManager();\n const filtered = useMemo(() => manager.plugins.filter(({ meta }) => meta.tags?.includes('experimental')), []);\n\n return <RegistryContainer id={`${REGISTRY_KEY}+experimental`} plugins={filtered} />;\n },\n }),\n createSurface({\n id: `${REGISTRY_PLUGIN}/plugin-details`,\n role: 'article',\n filter: (data): data is { subject: Plugin } => data.subject instanceof Plugin,\n component: ({ data: { subject } }) => {\n const manager = usePluginManager();\n const enabled = manager.enabled.includes(subject.meta.id);\n const handleEnable = useCallback(\n () => (enabled ? manager.disable(subject.meta.id) : manager.enable(subject.meta.id)),\n [manager, subject.meta.id, enabled],\n );\n\n return (\n <StackItem.Content role='article'>\n <PluginDetail plugin={subject} enabled={enabled} onEnable={handleEnable} />\n </StackItem.Content>\n );\n },\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { Icon, Input, Link, useTranslation } from '@dxos/react-ui';\nimport { DeprecatedFormContainer } from '@dxos/react-ui-form';\n\nimport { REGISTRY_PLUGIN } from '../meta';\n\nexport type PluginDetailProps = {\n plugin: Plugin;\n enabled?: boolean;\n onEnable?: () => void;\n};\n\nexport const PluginDetail = ({ plugin, enabled, onEnable }: PluginDetailProps) => {\n const { t } = useTranslation(REGISTRY_PLUGIN);\n const { id, name, description, homePage, source, screenshots } = plugin.meta;\n\n return (\n <DeprecatedFormContainer classNames='gap-6'>\n <div role='none' className='flex justify-between items-center'>\n <p>{id}</p>\n <Input.Root>\n <Input.Switch classNames='self-center' checked={enabled} onClick={onEnable} />\n </Input.Root>\n </div>\n\n {screenshots && screenshots.length > 0 && (\n <div role='none'>\n <h1 className='text-lg mb-2'>Preview</h1>\n <img src={screenshots[0]} alt={name} className='aspect-video object-fit' />\n </div>\n )}\n\n <div role='none'>\n <p>{description}</p>\n </div>\n\n <div role='none'>\n <h1 className='text-lg mb-2'>Resources</h1>\n <div className='flex gap-2'>\n {homePage && (\n <Link href={homePage} target='_blank' rel='noreferrer' classNames='text-sm text-description'>\n {t('home page label')}\n <Icon icon='ph--arrow-square-out--bold' size={3} classNames='inline-block leading-none mli-1' />\n </Link>\n )}\n\n {source && (\n <Link href={source} target='_blank' rel='noreferrer' classNames='text-sm text-description'>\n {t('source label')}\n <Icon icon='ph--arrow-square-out--bold' size={3} classNames='inline-block leading-none mli-1' />\n </Link>\n )}\n </div>\n </div>\n </DeprecatedFormContainer>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { List } from '@dxos/react-ui';\n\nimport { PluginItem, type PluginItemProps } from './PluginItem';\n\nexport type PluginListProps = Omit<PluginItemProps, 'plugin'> & {\n plugins?: readonly Plugin[];\n};\n\nexport const PluginList = ({ plugins = [], ...props }: PluginListProps) => {\n return (\n <List classNames='grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] auto-rows-[10rem] gap-3 p-3'>\n {plugins.map((plugin) => (\n <div key={plugin.meta.id} className='flex'>\n <PluginItem plugin={plugin} {...props} />\n </div>\n ))}\n </List>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type MouseEvent, useCallback } from 'react';\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { Icon, IconButton, Input, Link, ListItem, useTranslation } from '@dxos/react-ui';\nimport { descriptionText, mx } from '@dxos/react-ui-theme';\n\nimport { REGISTRY_PLUGIN } from '../meta';\n\nexport type PluginItemProps = {\n plugin: Plugin;\n installed?: readonly string[];\n enabled?: readonly string[];\n onClick?: (id: string) => void;\n onChange?: (id: string, enabled: boolean) => void;\n hasSettings?: (id: string) => boolean;\n onSettings?: (id: string) => void;\n};\n\nexport const PluginItem = ({\n plugin,\n enabled = [],\n onClick,\n onChange,\n hasSettings: _hasSettings,\n onSettings,\n}: PluginItemProps) => {\n const { t } = useTranslation(REGISTRY_PLUGIN);\n const { id, name, description, icon = 'ph--circle--regular' } = plugin.meta;\n const isEnabled = enabled.includes(id);\n const inputId = `${id}-input`;\n const labelId = `${id}-label`;\n const descriptionId = `${id}-description`;\n const handleClick = useCallback(() => onClick?.(id), [id, onClick]);\n\n const handleChange = useCallback(\n (event: MouseEvent) => {\n event.stopPropagation();\n onChange?.(id, !isEnabled);\n },\n [id, isEnabled, onChange],\n );\n\n const hasSettings = _hasSettings?.(id) ?? false;\n const handleSettings = useCallback(() => onSettings?.(id), [id, onSettings]);\n\n return (\n <ListItem.Root\n key={id}\n labelId={labelId}\n data-testid={`pluginList.${id}`}\n aria-describedby={descriptionId}\n // TODO(burdon): Use Rail vars.\n classNames='w-full h-full grid grid-cols-[48px_1fr_48px] grid-rows-[40px_1fr_32px] p-1 border border-separator rounded-md'\n >\n {/* Header. */}\n <div className='flex justify-center items-center'>\n <Icon icon={icon} size={6} onClick={handleClick} classNames='text-subdued cursor-pointer' />\n </div>\n <div className='flex items-center overflow-hidden cursor-pointer' onClick={handleClick}>\n <span className='truncate'>{name ?? id}</span>\n </div>\n <div className='flex justify-center items-center'>\n <Input.Root id={inputId}>\n <Input.Switch classNames='self-center' checked={isEnabled} onClick={handleChange} />\n </Input.Root>\n </div>\n\n {/* Body. */}\n <div />\n <div id={descriptionId} className='col-span-2 pb-3'>\n <p className={mx(descriptionText, 'line-clamp-3 min-w-0 pie-4')}>{description}</p>\n </div>\n\n {/* Footer. */}\n <div />\n <div className='flex gap-2 items-center pie-1'>\n <Link\n aria-describedby={descriptionId}\n classNames='text-sm text-description cursor-pointer'\n onClick={handleClick}\n >\n {t('details label')}\n </Link>\n\n <div className='flex-1' />\n </div>\n <div className='flex justify-center items-center'>\n {hasSettings && (\n <IconButton\n aria-describedby={descriptionId}\n classNames='text-sm text-description cursor-pointer'\n icon='ph--faders--regular'\n label={t('settings label')}\n iconOnly\n size={4}\n onClick={handleSettings}\n />\n )}\n </div>\n </ListItem.Root>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport {\n Capabilities,\n createIntent,\n LayoutAction,\n type Plugin,\n SettingsAction,\n useCapability,\n useIntentDispatcher,\n usePluginManager,\n} from '@dxos/app-framework';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { PluginList } from './PluginList';\n\nconst sortByPluginMeta = ({ meta: { name: a = '' } }: Plugin, { meta: { name: b = '' } }: Plugin) => a.localeCompare(b);\n\nexport const RegistryContainer = ({ id, plugins: _plugins }: { id: string; plugins: Plugin[] }) => {\n const manager = usePluginManager();\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const plugins = useMemo(() => _plugins.sort(sortByPluginMeta), [_plugins]);\n const settingsStore = useCapability(Capabilities.SettingsStore);\n\n // TODO(wittjosiah): Factor out to an intent?\n const handleChange = useCallback(\n async (id: string, enabled: boolean) => {\n if (enabled) {\n await manager.enable(id);\n } else {\n await manager.disable(id);\n }\n\n await dispatch(\n createIntent(ObservabilityAction.SendEvent, {\n name: 'plugins.toggle',\n properties: {\n plugin: id,\n enabled,\n },\n }),\n );\n },\n [dispatch, manager],\n );\n\n const handleClick = useCallback(\n (pluginId: string) =>\n dispatch(\n createIntent(LayoutAction.Open, {\n part: 'main',\n // TODO(wittjosiah): `/` currently is not supported in ids.\n subject: [pluginId.replaceAll('/', ':')],\n options: { pivotId: id, positioning: 'end' },\n }),\n ),\n [dispatch, id],\n );\n\n const hasSettings = useCallback((pluginId: string) => !!settingsStore.getStore(pluginId), [settingsStore]);\n\n const handleSettings = useCallback(\n (pluginId: string) => dispatch(createIntent(SettingsAction.Open, { plugin: pluginId })),\n [dispatch],\n );\n\n return (\n <StackItem.Content classNames='min-bs-0 overflow-y-auto scrollbar-thin contain-layout'>\n <PluginList\n plugins={plugins}\n enabled={manager.enabled}\n onClick={handleClick}\n onChange={handleChange}\n hasSettings={hasSettings}\n onSettings={handleSettings}\n />\n </StackItem.Content>\n );\n};\n"],
5
- "mappings": "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",
6
- "names": ["React", "useCallback", "useMemo", "Capabilities", "contributes", "createSurface", "Plugin", "usePluginManager", "StackItem", "React", "Icon", "Input", "Link", "useTranslation", "DeprecatedFormContainer", "PluginDetail", "plugin", "enabled", "onEnable", "t", "useTranslation", "REGISTRY_PLUGIN", "id", "name", "description", "homePage", "source", "screenshots", "meta", "DeprecatedFormContainer", "classNames", "div", "role", "className", "p", "Input", "Root", "Switch", "checked", "onClick", "length", "h1", "img", "src", "alt", "Link", "href", "target", "rel", "Icon", "icon", "size", "React", "List", "React", "useCallback", "Icon", "IconButton", "Input", "Link", "ListItem", "useTranslation", "descriptionText", "mx", "PluginItem", "plugin", "enabled", "onClick", "onChange", "hasSettings", "_hasSettings", "onSettings", "t", "useTranslation", "REGISTRY_PLUGIN", "id", "name", "description", "icon", "meta", "isEnabled", "includes", "inputId", "labelId", "descriptionId", "handleClick", "useCallback", "handleChange", "event", "stopPropagation", "handleSettings", "React", "ListItem", "Root", "key", "data-testid", "aria-describedby", "classNames", "div", "className", "Icon", "size", "span", "Input", "Switch", "checked", "p", "mx", "descriptionText", "Link", "IconButton", "label", "iconOnly", "PluginList", "plugins", "props", "React", "List", "classNames", "map", "plugin", "div", "key", "meta", "id", "className", "PluginItem", "React", "useCallback", "useMemo", "Capabilities", "createIntent", "LayoutAction", "SettingsAction", "useCapability", "useIntentDispatcher", "usePluginManager", "ObservabilityAction", "StackItem", "sortByPluginMeta", "meta", "name", "a", "b", "localeCompare", "RegistryContainer", "id", "plugins", "_plugins", "manager", "usePluginManager", "dispatchPromise", "dispatch", "useIntentDispatcher", "useMemo", "sort", "settingsStore", "useCapability", "Capabilities", "SettingsStore", "handleChange", "useCallback", "enabled", "enable", "disable", "createIntent", "ObservabilityAction", "SendEvent", "properties", "plugin", "handleClick", "pluginId", "LayoutAction", "Open", "part", "subject", "replaceAll", "options", "pivotId", "positioning", "hasSettings", "getStore", "handleSettings", "SettingsAction", "React", "StackItem", "Content", "classNames", "PluginList", "onClick", "onChange", "onSettings", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "REGISTRY_PLUGIN", "role", "filter", "data", "subject", "REGISTRY_KEY", "component", "manager", "usePluginManager", "filtered", "useMemo", "plugins", "meta", "core", "includes", "React", "RegistryContainer", "enabled", "tags", "Plugin", "handleEnable", "useCallback", "disable", "enable", "StackItem", "Content", "PluginDetail", "plugin", "onEnable"]
7
- }