@dxos/plugin-registry 0.8.2-main.f081794 → 0.8.2-main.fbd8ed0

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,17 +5,18 @@ 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";
8
10
  import { Capabilities, contributes, createIntent, SettingsAction } from "@dxos/app-framework";
9
11
  import { createExtension } from "@dxos/plugin-graph";
10
12
  var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, [
11
13
  createExtension({
12
14
  id: REGISTRY_PLUGIN,
13
- filter: (node) => node.id === "root",
14
- actions: () => [
15
+ actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === "root" ? Option.some(node2) : Option.none()), Option.map((node2) => [
15
16
  {
16
17
  id: REGISTRY_PLUGIN,
17
18
  data: async () => {
18
- const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
19
+ const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
19
20
  await dispatch(createIntent(SettingsAction.OpenPluginRegistry));
20
21
  },
21
22
  properties: {
@@ -25,15 +26,15 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
25
26
  ns: REGISTRY_PLUGIN
26
27
  }
27
28
  ],
28
- icon: "ph--squares-four--regular"
29
+ icon: "ph--squares-four--regular",
30
+ disposition: "menu"
29
31
  }
30
32
  }
31
- ]
33
+ ]), Option.getOrElse(() => [])))
32
34
  }),
33
35
  createExtension({
34
36
  id: REGISTRY_PLUGIN,
35
- filter: (node) => node.id === "root",
36
- connector: () => [
37
+ connector: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === "root" ? Option.some(node2) : Option.none()), Option.map((node2) => [
37
38
  {
38
39
  id: REGISTRY_ID,
39
40
  type: REGISTRY_PLUGIN,
@@ -115,12 +116,11 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
115
116
  }
116
117
  ]
117
118
  }
118
- ]
119
+ ]), Option.getOrElse(() => [])))
119
120
  }),
120
121
  createExtension({
121
122
  id: `${REGISTRY_PLUGIN}/actions`,
122
- filter: (node) => node.id === REGISTRY_ID,
123
- actions: () => [
123
+ actions: (node) => Rx.make((get) => pipe(get(node), Option.flatMap((node2) => node2.id === REGISTRY_ID ? Option.some(node2) : Option.none()), Option.map(() => [
124
124
  {
125
125
  id: `${REGISTRY_PLUGIN}/load-by-url`,
126
126
  data: async () => {
@@ -136,29 +136,10 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
136
136
  disabled: true
137
137
  }
138
138
  }
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
- }
139
+ ]), Option.getOrElse(() => [])))
159
140
  })
160
141
  ]);
161
142
  export {
162
143
  app_graph_builder_default as default
163
144
  };
164
- //# sourceMappingURL=app-graph-builder-V6VVFXFC.mjs.map
145
+ //# sourceMappingURL=app-graph-builder-BTBWTZHK.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 { 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
+ }
@@ -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-V6VVFXFC.mjs"));
13
+ var AppGraphBuilder = lazy(() => import("./app-graph-builder-BTBWTZHK.mjs"));
14
14
  var IntentResolver = lazy(() => import("./intent-resolver-AQJNBUT3.mjs"));
15
- var ReactSurface = lazy(() => import("./react-surface-WNOSUMRN.mjs"));
15
+ var ReactSurface = lazy(() => import("./react-surface-PNR23BFI.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":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":11398,"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-WNOSUMRN.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-WNOSUMRN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":21808},"packages/plugins/plugin-registry/dist/lib/browser/react-surface-WNOSUMRN.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":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}}}
@@ -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-WNOSUMRN.mjs.map
305
+ //# sourceMappingURL=react-surface-PNR23BFI.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, { 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
+ }
@@ -1,181 +1,4 @@
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
- }>[])[])[])[])[])[])[])[])[])[])[]>;
1
+ import { type PluginContext } from '@dxos/app-framework';
2
+ declare const _default: (context: PluginContext) => import("@dxos/app-framework").Capability<import("@dxos/app-graph").BuilderExtensions>;
180
3
  export default _default;
181
4
  //# 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":"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
+ {"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,180 +1,4 @@
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[]>>;
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[]>>;
178
2
  export declare const IntentResolver: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.IntentResolver> | import("@dxos/app-framework").AnyCapability[]>>;
179
3
  export declare const ReactSurface: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.ReactSurface> | import("@dxos/app-framework").AnyCapability[]>>;
180
4
  //# 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;;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
+ {"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 +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,kCAAmC,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,GAAI,+BAA+B,iBAAiB,sBA4C5E,CAAC"}
@@ -1 +1 @@
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
+ {"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 +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,0BAAgC,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,GAAI,uBAA4B,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,8BAA+B;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,GAAI,2BAA2B;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,sBA4D7F,CAAC"}
@@ -1,6 +1,6 @@
1
- import { S } from '@dxos/echo-schema';
2
- export declare const RegistrySettingsSchema: S.mutable<S.Struct<{
3
- experimental: S.optional<typeof S.Boolean>;
1
+ import { Schema } from 'effect';
2
+ export declare const RegistrySettingsSchema: Schema.mutable<Schema.Struct<{
3
+ experimental: Schema.optional<typeof Schema.Boolean>;
4
4
  }>>;
5
- export type RegistrySettings = S.Schema.Type<typeof RegistrySettingsSchema>;
5
+ export type RegistrySettings = Schema.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,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
+ {"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 +1 @@
1
- {"version":"5.7.3"}
1
+ {"version":"5.8.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-registry",
3
- "version": "0.8.2-main.f081794",
3
+ "version": "0.8.2-main.fbd8ed0",
4
4
  "description": "Braneframe plugin gallery",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -23,34 +23,41 @@
23
23
  "src"
24
24
  ],
25
25
  "dependencies": {
26
- "@dxos/app-framework": "0.8.2-main.f081794",
27
- "@dxos/invariant": "0.8.2-main.f081794",
28
- "@dxos/echo-schema": "0.8.2-main.f081794",
29
- "@dxos/live-object": "0.8.2-main.f081794",
30
- "@dxos/plugin-graph": "0.8.2-main.f081794",
31
- "@dxos/plugin-observability": "0.8.2-main.f081794",
32
- "@dxos/react-ui-stack": "0.8.2-main.f081794",
33
- "@dxos/util": "0.8.2-main.f081794",
34
- "@dxos/react-ui-form": "0.8.2-main.f081794"
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"
35
36
  },
36
37
  "devDependencies": {
38
+ "@effect-rx/rx-react": "^0.34.1",
39
+ "@effect/platform": "0.80.12",
37
40
  "@phosphor-icons/react": "^2.1.5",
38
41
  "@types/react": "~18.2.0",
39
42
  "@types/react-dom": "~18.2.0",
43
+ "effect": "^3.13.3",
40
44
  "react": "~18.2.0",
41
45
  "react-dom": "~18.2.0",
42
46
  "vite": "5.4.7",
43
- "@dxos/random": "0.8.2-main.f081794",
44
- "@dxos/react-ui": "0.8.2-main.f081794",
45
- "@dxos/react-ui-theme": "0.8.2-main.f081794",
46
- "@dxos/storybook-utils": "0.8.2-main.f081794"
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"
47
51
  },
48
52
  "peerDependencies": {
53
+ "@effect-rx/rx-react": "^0.34.1",
54
+ "@effect/platform": "0.80.12",
49
55
  "@phosphor-icons/react": "^2.1.5",
56
+ "effect": "^3.13.3",
50
57
  "react": "~18.2.0",
51
58
  "react-dom": "~18.2.0",
52
- "@dxos/react-ui": "0.8.2-main.f081794",
53
- "@dxos/react-ui-theme": "0.8.2-main.f081794"
59
+ "@dxos/react-ui": "0.8.2-main.fbd8ed0",
60
+ "@dxos/react-ui-theme": "0.8.2-main.fbd8ed0"
54
61
  },
55
62
  "publishConfig": {
56
63
  "access": "public"
@@ -2,125 +2,150 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { Capabilities, contributes, createIntent, SettingsAction, type PluginsContext } from '@dxos/app-framework';
6
- import { createExtension, type Node } from '@dxos/plugin-graph';
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';
7
10
 
8
11
  import { REGISTRY_ID, REGISTRY_KEY, REGISTRY_PLUGIN } from '../meta';
9
12
 
10
- export default (context: PluginsContext) =>
13
+ export default (context: PluginContext) =>
11
14
  contributes(Capabilities.AppGraphBuilder, [
12
15
  createExtension({
13
16
  id: REGISTRY_PLUGIN,
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
- ],
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
+ ),
28
39
  }),
29
40
  createExtension({
30
41
  id: REGISTRY_PLUGIN,
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',
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
+ ],
74
103
  },
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
- ],
104
+ ]),
105
+ Option.getOrElse(() => []),
106
+ ),
107
+ ),
90
108
  }),
91
109
  createExtension({
92
110
  id: `${REGISTRY_PLUGIN}/actions`,
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
- ],
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
+ ),
105
130
  }),
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
- }
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
+ // }
114
139
 
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
- }),
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
+ // }),
126
151
  ]);
@@ -2,7 +2,7 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import React, { useCallback } from 'react';
5
+ import React, { type MouseEvent, 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: React.MouseEvent) => {
40
+ (event: MouseEvent) => {
41
41
  event.stopPropagation();
42
42
  onChange?.(id, !isEnabled);
43
43
  },
@@ -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({ tooltips: true, fullscreen: true, classNames: 'justify-center' })],
68
+ decorators: [withTheme, withLayout({ 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 { S } from '@dxos/echo-schema';
5
+ import { Schema } from 'effect';
6
6
 
7
- export const RegistrySettingsSchema = S.mutable(
8
- S.Struct({
9
- experimental: S.optional(S.Boolean),
7
+ export const RegistrySettingsSchema = Schema.mutable(
8
+ Schema.Struct({
9
+ experimental: Schema.optional(Schema.Boolean),
10
10
  }),
11
11
  );
12
12
 
13
- export type RegistrySettings = S.Schema.Type<typeof RegistrySettingsSchema>;
13
+ export type RegistrySettings = Schema.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 { 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
- }
@@ -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, { 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--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
- }