@dxos/plugin-registry 0.8.4-main.a4bbb77 → 0.8.4-main.abd8ff62ef

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/dist/lib/browser/cli/index.mjs +32 -0
  2. package/dist/lib/browser/cli/index.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +23 -61
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/translations.mjs +35 -0
  7. package/dist/lib/browser/translations.mjs.map +7 -0
  8. package/dist/lib/node-esm/cli/index.mjs +34 -0
  9. package/dist/lib/node-esm/cli/index.mjs.map +7 -0
  10. package/dist/lib/node-esm/index.mjs +33 -0
  11. package/dist/lib/node-esm/index.mjs.map +7 -0
  12. package/dist/lib/node-esm/meta.json +1 -0
  13. package/dist/lib/node-esm/translations.mjs +37 -0
  14. package/dist/lib/node-esm/translations.mjs.map +7 -0
  15. package/dist/types/src/RegistryPlugin.d.ts +3 -1
  16. package/dist/types/src/RegistryPlugin.d.ts.map +1 -1
  17. package/dist/types/src/RegistryPlugin.node.d.ts +4 -0
  18. package/dist/types/src/RegistryPlugin.node.d.ts.map +1 -0
  19. package/dist/types/src/RegistryPlugin.test.d.ts +2 -0
  20. package/dist/types/src/RegistryPlugin.test.d.ts.map +1 -0
  21. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  22. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  23. package/dist/types/src/capabilities/index.d.ts +6 -3
  24. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  25. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  26. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  27. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  28. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  29. package/dist/types/src/capabilities/state.d.ts +7 -0
  30. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  31. package/dist/types/src/cli/index.d.ts +2 -0
  32. package/dist/types/src/cli/index.d.ts.map +1 -0
  33. package/dist/types/src/commands/disable.d.ts +11 -0
  34. package/dist/types/src/commands/disable.d.ts.map +1 -0
  35. package/dist/types/src/commands/enable.d.ts +11 -0
  36. package/dist/types/src/commands/enable.d.ts.map +1 -0
  37. package/dist/types/src/commands/index.d.ts +3 -0
  38. package/dist/types/src/commands/index.d.ts.map +1 -0
  39. package/dist/types/src/commands/list.d.ts +7 -0
  40. package/dist/types/src/commands/list.d.ts.map +1 -0
  41. package/dist/types/src/commands/util.d.ts +11 -0
  42. package/dist/types/src/commands/util.d.ts.map +1 -0
  43. package/dist/types/src/components/PluginDetail/PluginDetail.d.ts +22 -0
  44. package/dist/types/src/components/PluginDetail/PluginDetail.d.ts.map +1 -0
  45. package/dist/types/src/components/PluginDetail/PluginDetail.stories.d.ts +42 -0
  46. package/dist/types/src/components/PluginDetail/PluginDetail.stories.d.ts.map +1 -0
  47. package/dist/types/src/components/PluginDetail/index.d.ts +2 -0
  48. package/dist/types/src/components/PluginDetail/index.d.ts.map +1 -0
  49. package/dist/types/src/components/PluginList/PluginItem.d.ts +26 -0
  50. package/dist/types/src/components/PluginList/PluginItem.d.ts.map +1 -0
  51. package/dist/types/src/components/PluginList/PluginList.d.ts +13 -0
  52. package/dist/types/src/components/PluginList/PluginList.d.ts.map +1 -0
  53. package/dist/types/src/components/PluginList/PluginList.stories.d.ts +41 -0
  54. package/dist/types/src/components/PluginList/PluginList.stories.d.ts.map +1 -0
  55. package/dist/types/src/components/PluginList/index.d.ts +2 -0
  56. package/dist/types/src/components/PluginList/index.d.ts.map +1 -0
  57. package/dist/types/src/components/index.d.ts +0 -1
  58. package/dist/types/src/components/index.d.ts.map +1 -1
  59. package/dist/types/src/containers/CommunityRegistry/CommunityRegistry.d.ts +8 -0
  60. package/dist/types/src/containers/CommunityRegistry/CommunityRegistry.d.ts.map +1 -0
  61. package/dist/types/src/containers/CommunityRegistry/index.d.ts +2 -0
  62. package/dist/types/src/containers/CommunityRegistry/index.d.ts.map +1 -0
  63. package/dist/types/src/containers/LoadPluginDialog/LoadPluginDialog.d.ts +4 -0
  64. package/dist/types/src/containers/LoadPluginDialog/LoadPluginDialog.d.ts.map +1 -0
  65. package/dist/types/src/containers/LoadPluginDialog/index.d.ts +2 -0
  66. package/dist/types/src/containers/LoadPluginDialog/index.d.ts.map +1 -0
  67. package/dist/types/src/containers/PluginArticle/PluginArticle.d.ts +7 -0
  68. package/dist/types/src/containers/PluginArticle/PluginArticle.d.ts.map +1 -0
  69. package/dist/types/src/containers/PluginArticle/index.d.ts +2 -0
  70. package/dist/types/src/containers/PluginArticle/index.d.ts.map +1 -0
  71. package/dist/types/src/containers/PluginRegistry/PluginRegistry.d.ts +14 -0
  72. package/dist/types/src/containers/PluginRegistry/PluginRegistry.d.ts.map +1 -0
  73. package/dist/types/src/containers/PluginRegistry/index.d.ts +2 -0
  74. package/dist/types/src/containers/PluginRegistry/index.d.ts.map +1 -0
  75. package/dist/types/src/containers/index.d.ts +7 -0
  76. package/dist/types/src/containers/index.d.ts.map +1 -0
  77. package/dist/types/src/hooks/index.d.ts +3 -0
  78. package/dist/types/src/hooks/index.d.ts.map +1 -0
  79. package/dist/types/src/hooks/use-auto-tags.d.ts +20 -0
  80. package/dist/types/src/hooks/use-auto-tags.d.ts.map +1 -0
  81. package/dist/types/src/hooks/use-community-plugins.d.ts +16 -0
  82. package/dist/types/src/hooks/use-community-plugins.d.ts.map +1 -0
  83. package/dist/types/src/index.d.ts +2 -1
  84. package/dist/types/src/index.d.ts.map +1 -1
  85. package/dist/types/src/meta.d.ts +7 -3
  86. package/dist/types/src/meta.d.ts.map +1 -1
  87. package/dist/types/src/operations/index.d.ts +3 -0
  88. package/dist/types/src/operations/index.d.ts.map +1 -0
  89. package/dist/types/src/operations/open-plugin-registry.d.ts +5 -0
  90. package/dist/types/src/operations/open-plugin-registry.d.ts.map +1 -0
  91. package/dist/types/src/storage.d.ts +18 -0
  92. package/dist/types/src/storage.d.ts.map +1 -0
  93. package/dist/types/src/translations.d.ts +22 -16
  94. package/dist/types/src/translations.d.ts.map +1 -1
  95. package/dist/types/src/types.d.ts +14 -1
  96. package/dist/types/src/types.d.ts.map +1 -1
  97. package/dist/types/tsconfig.tsbuildinfo +1 -1
  98. package/package.json +77 -37
  99. package/src/RegistryPlugin.node.ts +19 -0
  100. package/src/RegistryPlugin.test.ts +24 -0
  101. package/src/RegistryPlugin.tsx +18 -25
  102. package/src/capabilities/app-graph-builder.ts +173 -135
  103. package/src/capabilities/index.ts +9 -4
  104. package/src/capabilities/operation-handler.ts +16 -0
  105. package/src/capabilities/react-surface.tsx +108 -73
  106. package/src/capabilities/state.ts +38 -0
  107. package/src/cli/index.ts +5 -0
  108. package/src/commands/disable.ts +47 -0
  109. package/src/commands/enable.ts +44 -0
  110. package/src/commands/index.ts +14 -0
  111. package/src/commands/list.ts +41 -0
  112. package/src/commands/util.ts +24 -0
  113. package/src/components/PluginDetail/PluginDetail.stories.tsx +44 -0
  114. package/src/components/PluginDetail/PluginDetail.tsx +106 -0
  115. package/src/components/PluginDetail/index.ts +5 -0
  116. package/src/components/PluginList/PluginItem.tsx +187 -0
  117. package/src/components/PluginList/PluginList.stories.tsx +87 -0
  118. package/src/components/PluginList/PluginList.tsx +29 -0
  119. package/src/components/PluginList/index.ts +5 -0
  120. package/src/components/index.ts +0 -1
  121. package/src/containers/CommunityRegistry/CommunityRegistry.tsx +181 -0
  122. package/src/containers/CommunityRegistry/index.ts +5 -0
  123. package/src/containers/LoadPluginDialog/LoadPluginDialog.tsx +86 -0
  124. package/src/containers/LoadPluginDialog/index.ts +5 -0
  125. package/src/containers/PluginArticle/PluginArticle.tsx +73 -0
  126. package/src/containers/PluginArticle/index.ts +5 -0
  127. package/src/containers/PluginRegistry/PluginRegistry.tsx +98 -0
  128. package/src/containers/PluginRegistry/index.ts +5 -0
  129. package/src/containers/index.ts +11 -0
  130. package/src/hooks/index.ts +6 -0
  131. package/src/hooks/use-auto-tags.ts +52 -0
  132. package/src/hooks/use-community-plugins.ts +35 -0
  133. package/src/index.ts +5 -1
  134. package/src/meta.ts +19 -7
  135. package/src/operations/index.ts +7 -0
  136. package/src/operations/open-plugin-registry.ts +21 -0
  137. package/src/storage.ts +50 -0
  138. package/src/translations.ts +22 -15
  139. package/src/types.ts +30 -1
  140. package/dist/lib/browser/app-graph-builder-YN3N2KW4.mjs +0 -161
  141. package/dist/lib/browser/app-graph-builder-YN3N2KW4.mjs.map +0 -7
  142. package/dist/lib/browser/chunk-MWZPWWWF.mjs +0 -14
  143. package/dist/lib/browser/chunk-MWZPWWWF.mjs.map +0 -7
  144. package/dist/lib/browser/intent-resolver-RUD6WFGT.mjs +0 -23
  145. package/dist/lib/browser/intent-resolver-RUD6WFGT.mjs.map +0 -7
  146. package/dist/lib/browser/react-surface-3CDFJHV3.mjs +0 -335
  147. package/dist/lib/browser/react-surface-3CDFJHV3.mjs.map +0 -7
  148. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  149. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  150. package/dist/types/src/components/Icon.stories.d.ts +0 -14
  151. package/dist/types/src/components/Icon.stories.d.ts.map +0 -1
  152. package/dist/types/src/components/PluginDetail.d.ts +0 -9
  153. package/dist/types/src/components/PluginDetail.d.ts.map +0 -1
  154. package/dist/types/src/components/PluginDetail.stories.d.ts +0 -33
  155. package/dist/types/src/components/PluginDetail.stories.d.ts.map +0 -1
  156. package/dist/types/src/components/PluginItem.d.ts +0 -13
  157. package/dist/types/src/components/PluginItem.d.ts.map +0 -1
  158. package/dist/types/src/components/PluginList.d.ts +0 -8
  159. package/dist/types/src/components/PluginList.d.ts.map +0 -1
  160. package/dist/types/src/components/PluginList.stories.d.ts +0 -37
  161. package/dist/types/src/components/PluginList.stories.d.ts.map +0 -1
  162. package/dist/types/src/components/RegistryContainer.d.ts +0 -7
  163. package/dist/types/src/components/RegistryContainer.d.ts.map +0 -1
  164. package/src/capabilities/intent-resolver.ts +0 -27
  165. package/src/components/Icon.stories.tsx +0 -110
  166. package/src/components/PluginDetail.stories.tsx +0 -45
  167. package/src/components/PluginDetail.tsx +0 -65
  168. package/src/components/PluginItem.tsx +0 -119
  169. package/src/components/PluginList.stories.tsx +0 -83
  170. package/src/components/PluginList.tsx +0 -26
  171. package/src/components/RegistryContainer.tsx +0 -84
@@ -0,0 +1,32 @@
1
+ // src/storage.ts
2
+ import * as FileSystem from "@effect/platform/FileSystem";
3
+ import * as Path from "@effect/platform/Path";
4
+ import * as Effect from "effect/Effect";
5
+ import * as Schema from "effect/Schema";
6
+ import * as Yaml from "yaml";
7
+ import { DX_CONFIG } from "@dxos/client-protocol";
8
+ var PluginsSchema = Schema.Array(Schema.String);
9
+ var getPluginsConfigPath = (profile) => `${DX_CONFIG}/plugins/${profile}.yml`;
10
+ var loadEnabledPlugins = Effect.fn(function* ({ profile }) {
11
+ const fs = yield* FileSystem.FileSystem;
12
+ const pluginsPath = getPluginsConfigPath(profile);
13
+ const content = yield* fs.readFileString(pluginsPath).pipe(Effect.catchTag("SystemError", () => Effect.succeed("[]")));
14
+ const raw = Yaml.parse(content);
15
+ const parsed = yield* Schema.decodeUnknown(PluginsSchema)(raw ?? []).pipe(Effect.catchAll(() => Effect.succeed([])));
16
+ return parsed;
17
+ });
18
+ var saveEnabledPlugins = Effect.fn(function* ({ profile, enabled }) {
19
+ const fs = yield* FileSystem.FileSystem;
20
+ const path = yield* Path.Path;
21
+ const pluginsPath = getPluginsConfigPath(profile);
22
+ yield* fs.makeDirectory(path.dirname(pluginsPath), {
23
+ recursive: true
24
+ });
25
+ const encoded = Yaml.stringify(enabled);
26
+ yield* fs.writeFileString(pluginsPath, encoded);
27
+ });
28
+ export {
29
+ loadEnabledPlugins,
30
+ saveEnabledPlugins
31
+ };
32
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/storage.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as FileSystem from '@effect/platform/FileSystem';\nimport * as Path from '@effect/platform/Path';\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\nimport * as Yaml from 'yaml';\n\nimport { DX_CONFIG } from '@dxos/client-protocol';\n\n// TODO(wittjosiah): Factor out to app-framework?\n\nconst PluginsSchema = Schema.Array(Schema.String);\n\n/** CLI-only: path to plugins/<profile>.yml (sibling to profile/). */\nconst getPluginsConfigPath = (profile: string) => `${DX_CONFIG}/plugins/${profile}.yml`;\n\n/**\n * Load enabled plugins from plugins/<profile>.yml (sibling to profile/).\n * Returns the list of enabled plugin IDs, or an empty array if the file doesn't exist.\n */\nexport const loadEnabledPlugins = Effect.fn(function* ({ profile }: { profile: string }) {\n const fs = yield* FileSystem.FileSystem;\n const pluginsPath = getPluginsConfigPath(profile);\n\n const content = yield* fs\n .readFileString(pluginsPath)\n .pipe(Effect.catchTag('SystemError', () => Effect.succeed('[]')));\n\n const raw = Yaml.parse(content);\n const parsed = yield* Schema.decodeUnknown(PluginsSchema)(raw ?? []).pipe(\n Effect.catchAll(() => Effect.succeed([] as string[])),\n );\n\n return parsed;\n});\n\n/**\n * Save enabled plugins to plugins/<profile>.yml.\n */\nexport const saveEnabledPlugins = Effect.fn(function* ({ profile, enabled }: { profile: string; enabled: string[] }) {\n const fs = yield* FileSystem.FileSystem;\n const path = yield* Path.Path;\n const pluginsPath = getPluginsConfigPath(profile);\n yield* fs.makeDirectory(path.dirname(pluginsPath), { recursive: true });\n const encoded = Yaml.stringify(enabled);\n yield* fs.writeFileString(pluginsPath, encoded);\n});\n"],
5
+ "mappings": ";AAIA,YAAYA,gBAAgB;AAC5B,YAAYC,UAAU;AACtB,YAAYC,YAAY;AACxB,YAAYC,YAAY;AACxB,YAAYC,UAAU;AAEtB,SAASC,iBAAiB;AAI1B,IAAMC,gBAAuBC,aAAaC,aAAM;AAGhD,IAAMC,uBAAuB,CAACC,YAAoB,GAAGL,SAAAA,YAAqBK,OAAAA;AAMnE,IAAMC,qBAA4BC,UAAG,WAAW,EAAEF,QAAO,GAAuB;AACrF,QAAMG,KAAK,OAAkBb;AAC7B,QAAMc,cAAcL,qBAAqBC,OAAAA;AAEzC,QAAMK,UAAU,OAAOF,GACpBG,eAAeF,WAAAA,EACfG,KAAYC,gBAAS,eAAe,MAAaC,eAAQ,IAAA,CAAA,CAAA;AAE5D,QAAMC,MAAWC,WAAMN,OAAAA;AACvB,QAAMO,SAAS,OAAcC,qBAAcjB,aAAAA,EAAec,OAAO,CAAA,CAAE,EAAEH,KAC5DO,gBAAS,MAAaL,eAAQ,CAAA,CAAE,CAAA,CAAA;AAGzC,SAAOG;AACT,CAAA;AAKO,IAAMG,qBAA4Bb,UAAG,WAAW,EAAEF,SAASgB,QAAO,GAA0C;AACjH,QAAMb,KAAK,OAAkBb;AAC7B,QAAM2B,OAAO,OAAY1B;AACzB,QAAMa,cAAcL,qBAAqBC,OAAAA;AACzC,SAAOG,GAAGe,cAAcD,KAAKE,QAAQf,WAAAA,GAAc;IAAEgB,WAAW;EAAK,CAAA;AACrE,QAAMC,UAAeC,eAAUN,OAAAA;AAC/B,SAAOb,GAAGoB,gBAAgBnB,aAAaiB,OAAAA;AACzC,CAAA;",
6
+ "names": ["FileSystem", "Path", "Effect", "Schema", "Yaml", "DX_CONFIG", "PluginsSchema", "Array", "String", "getPluginsConfigPath", "profile", "loadEnabledPlugins", "fn", "fs", "pluginsPath", "content", "readFileString", "pipe", "catchTag", "succeed", "raw", "parse", "parsed", "decodeUnknown", "catchAll", "saveEnabledPlugins", "enabled", "path", "makeDirectory", "dirname", "recursive", "encoded", "stringify", "writeFileString"]
7
+ }
@@ -1,69 +1,31 @@
1
- import {
2
- REGISTRY_ID,
3
- REGISTRY_KEY,
4
- meta
5
- } from "./chunk-MWZPWWWF.mjs";
6
-
7
- // src/RegistryPlugin.tsx
8
- import { Capabilities, Events, contributes, defineModule, definePlugin } from "@dxos/app-framework";
1
+ // src/index.ts
2
+ import { Plugin } from "@dxos/app-framework";
9
3
 
10
- // src/capabilities/index.ts
11
- import { lazy } from "@dxos/app-framework";
12
- var AppGraphBuilder = lazy(() => import("./app-graph-builder-YN3N2KW4.mjs"));
13
- var IntentResolver = lazy(() => import("./intent-resolver-RUD6WFGT.mjs"));
14
- var ReactSurface = lazy(() => import("./react-surface-3CDFJHV3.mjs"));
15
-
16
- // src/translations.ts
17
- var translations = [
18
- {
19
- "en-US": {
20
- [meta.id]: {
21
- "plugin name": "Registry",
22
- "details label": "Details",
23
- "home page label": "Website",
24
- "source label": "Source",
25
- "plugin registry label": "Plugin Registry",
26
- "all plugins label": "All",
27
- "installed plugins label": "Enabled",
28
- "recommended plugins label": "Recommended",
29
- "labs plugins label": "Labs",
30
- "community plugins label": "Community",
31
- "load by url label": "Load by URL (soon)",
32
- "coming soon label": "Coming soon!",
33
- "open plugin registry label": "Open plugin registry",
34
- "settings label": "Settings"
35
- }
36
- }
37
- }
38
- ];
4
+ // src/meta.ts
5
+ import { pinnedWorkspaceId } from "@dxos/app-toolkit";
6
+ import { trim } from "@dxos/util";
7
+ var REGISTRY_ID = pinnedWorkspaceId("dxos:plugin-registry");
8
+ var REGISTRY_KEY = "plugin-registry";
9
+ var CATEGORY_SEPARATOR = ">";
10
+ var registryCategoryId = (category) => `${REGISTRY_KEY}${CATEGORY_SEPARATOR}${category}`;
11
+ var getPluginPath = (pluginId) => `root/${REGISTRY_ID}/${pluginId}`;
12
+ var meta = {
13
+ id: "org.dxos.plugin.registry",
14
+ name: "Plugins",
15
+ description: trim`
16
+ Plugin management system for discovering, installing, and configuring workspace extensions.
17
+ Browse available plugins and customize your workspace capabilities.
18
+ `
19
+ };
39
20
 
40
- // src/RegistryPlugin.tsx
41
- var RegistryPlugin = definePlugin(meta, () => [
42
- defineModule({
43
- id: `${meta.id}/module/translations`,
44
- activatesOn: Events.SetupTranslations,
45
- activate: () => contributes(Capabilities.Translations, translations)
46
- }),
47
- defineModule({
48
- id: `${meta.id}/module/react-surface`,
49
- activatesOn: Events.SetupReactSurface,
50
- activate: ReactSurface
51
- }),
52
- defineModule({
53
- id: `${meta.id}/module/intent-resolver`,
54
- activatesOn: Events.SetupIntentResolver,
55
- activate: IntentResolver
56
- }),
57
- defineModule({
58
- id: `${meta.id}/module/app-graph-builder`,
59
- activatesOn: Events.SetupAppGraph,
60
- activate: AppGraphBuilder
61
- })
62
- ]);
21
+ // src/index.ts
22
+ var RegistryPlugin = Plugin.lazy(meta, () => import("#plugin"));
63
23
  export {
64
24
  REGISTRY_ID,
65
25
  REGISTRY_KEY,
66
26
  RegistryPlugin,
67
- meta
27
+ getPluginPath,
28
+ meta,
29
+ registryCategoryId
68
30
  };
69
31
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/RegistryPlugin.tsx", "../../../src/capabilities/index.ts", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Capabilities, Events, contributes, defineModule, definePlugin } from '@dxos/app-framework';\n\nimport { AppGraphBuilder, IntentResolver, ReactSurface } from './capabilities';\nimport { meta } from './meta';\nimport { translations } from './translations';\n\nexport const RegistryPlugin = definePlugin(meta, () => [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, translations),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/app-graph-builder`,\n activatesOn: Events.SetupAppGraph,\n activate: AppGraphBuilder,\n }),\n]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const AppGraphBuilder = lazy(() => import('./app-graph-builder'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\n 'plugin name': 'Registry',\n 'details label': 'Details',\n 'home page label': 'Website',\n 'source label': 'Source',\n 'plugin registry label': 'Plugin Registry',\n 'all plugins label': 'All',\n 'installed plugins label': 'Enabled',\n 'recommended plugins label': 'Recommended',\n 'labs plugins label': 'Labs',\n 'community plugins label': 'Community',\n 'load by url label': 'Load by URL (soon)',\n 'coming soon label': 'Coming soon!',\n 'open plugin registry label': 'Open plugin registry',\n 'settings label': 'Settings',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
- "mappings": ";;;;;;;AAIA,SAASA,cAAcC,QAAQC,aAAaC,cAAcC,oBAAoB;;;ACA9E,SAASC,YAAY;AAEd,IAAMC,kBAAkBC,KAAK,MAAM,OAAO,kCAAA,CAAA;AAC1C,IAAMC,iBAAiBD,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAME,eAAeF,KAAK,MAAM,OAAO,8BAAA,CAAA;;;ACAvC,IAAMG,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,KAAKC,EAAE,GAAG;QACT,eAAe;QACf,iBAAiB;QACjB,mBAAmB;QACnB,gBAAgB;QAChB,yBAAyB;QACzB,qBAAqB;QACrB,2BAA2B;QAC3B,6BAA6B;QAC7B,sBAAsB;QACtB,2BAA2B;QAC3B,qBAAqB;QACrB,qBAAqB;QACrB,8BAA8B;QAC9B,kBAAkB;MACpB;IACF;EACF;;;;AFlBK,IAAMC,iBAAiBC,aAAaC,MAAM,MAAM;EACrDC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAcC,YAAAA;EACzD,CAAA;EACAT,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOO;IACpBL,UAAUM;EACZ,CAAA;EACAX,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOS;IACpBP,UAAUQ;EACZ,CAAA;EACAb,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOW;IACpBT,UAAUU;EACZ,CAAA;CACD;",
6
- "names": ["Capabilities", "Events", "contributes", "defineModule", "definePlugin", "lazy", "AppGraphBuilder", "lazy", "IntentResolver", "ReactSurface", "translations", "meta", "id", "RegistryPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "SetupReactSurface", "ReactSurface", "SetupIntentResolver", "IntentResolver", "SetupAppGraph", "AppGraphBuilder"]
3
+ "sources": ["../../../src/index.ts", "../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport * from './meta';\nexport const RegistryPlugin = Plugin.lazy(meta, () => import('#plugin'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { pinnedWorkspaceId } from '@dxos/app-toolkit';\nimport { trim } from '@dxos/util';\n\nexport const REGISTRY_ID = pinnedWorkspaceId('dxos:plugin-registry');\nexport const REGISTRY_KEY = 'plugin-registry';\n\n// TODO(wittjosiah): Should this be a special separator or use the standard path separator?\nconst CATEGORY_SEPARATOR = '>';\n\n/** Build a registry category node ID. */\nexport const registryCategoryId = (category: string): string => `${REGISTRY_KEY}${CATEGORY_SEPARATOR}${category}`;\n\n/** Qualified graph path to a specific plugin node. */\nexport const getPluginPath = (pluginId: string): string => `root/${REGISTRY_ID}/${pluginId}`;\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.registry',\n name: 'Plugins',\n description: trim`\n Plugin management system for discovering, installing, and configuring workspace extensions.\n Browse available plugins and customize your workspace capabilities.\n `,\n};\n"],
5
+ "mappings": ";AAIA,SAASA,cAAc;;;ACCvB,SAASC,yBAAyB;AAClC,SAASC,YAAY;AAEd,IAAMC,cAAcF,kBAAkB,sBAAA;AACtC,IAAMG,eAAe;AAG5B,IAAMC,qBAAqB;AAGpB,IAAMC,qBAAqB,CAACC,aAA6B,GAAGH,YAAAA,GAAeC,kBAAAA,GAAqBE,QAAAA;AAGhG,IAAMC,gBAAgB,CAACC,aAA6B,QAAQN,WAAAA,IAAeM,QAAAA;AAE3E,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaX;;;;AAIf;;;ADlBO,IAAMY,iBAAiBC,OAAOC,KAAKC,MAAM,MAAM,OAAO,SAAA,CAAA;",
6
+ "names": ["Plugin", "pinnedWorkspaceId", "trim", "REGISTRY_ID", "REGISTRY_KEY", "CATEGORY_SEPARATOR", "registryCategoryId", "category", "getPluginPath", "pluginId", "meta", "id", "name", "description", "RegistryPlugin", "Plugin", "lazy", "meta"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"src/meta.ts":{"bytes":1709,"imports":[],"format":"esm"},"src/capabilities/app-graph-builder.ts":{"bytes":21134,"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":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/capabilities/intent-resolver.ts":{"bytes":2395,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/components/PluginDetail.tsx":{"bytes":8010,"imports":[{"path":"@preact-signals/safe-react/tracking","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-stack","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/components/PluginItem.tsx":{"bytes":13038,"imports":[{"path":"@preact-signals/safe-react/tracking","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":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/components/PluginList.tsx":{"bytes":2682,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"src/components/PluginItem.tsx","kind":"import-statement","original":"./PluginItem"}],"format":"esm"},"src/components/RegistryContainer.tsx":{"bytes":9236,"imports":[{"path":"@preact-signals/safe-react/tracking","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},{"path":"src/components/PluginList.tsx","kind":"import-statement","original":"./PluginList"}],"format":"esm"},"src/components/index.ts":{"bytes":689,"imports":[{"path":"src/components/PluginDetail.tsx","kind":"import-statement","original":"./PluginDetail"},{"path":"src/components/PluginList.tsx","kind":"import-statement","original":"./PluginList"},{"path":"src/components/RegistryContainer.tsx","kind":"import-statement","original":"./RegistryContainer"}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":11727,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1302,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"src/translations.ts":{"bytes":2832,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/RegistryPlugin.tsx":{"bytes":3978,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"src/index.ts":{"bytes":557,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/RegistryPlugin.tsx","kind":"import-statement","original":"./RegistryPlugin"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3697},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-MWZPWWWF.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/browser/app-graph-builder-YN3N2KW4.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/intent-resolver-RUD6WFGT.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/react-surface-3CDFJHV3.mjs","kind":"dynamic-import"}],"exports":["REGISTRY_ID","REGISTRY_KEY","RegistryPlugin","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/RegistryPlugin.tsx":{"bytesInOutput":750},"src/capabilities/index.ts":{"bytesInOutput":268},"src/translations.ts":{"bytesInOutput":690}},"bytes":1997},"dist/lib/browser/app-graph-builder-YN3N2KW4.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9204},"dist/lib/browser/app-graph-builder-YN3N2KW4.mjs":{"imports":[{"path":"dist/lib/browser/chunk-MWZPWWWF.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":"src/capabilities/app-graph-builder.ts","inputs":{"src/capabilities/app-graph-builder.ts":{"bytesInOutput":4731}},"bytes":4958},"dist/lib/browser/intent-resolver-RUD6WFGT.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1264},"dist/lib/browser/intent-resolver-RUD6WFGT.mjs":{"imports":[{"path":"dist/lib/browser/chunk-MWZPWWWF.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/intent-resolver.ts","inputs":{"src/capabilities/intent-resolver.ts":{"bytesInOutput":463}},"bytes":660},"dist/lib/browser/react-surface-3CDFJHV3.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":22392},"dist/lib/browser/react-surface-3CDFJHV3.mjs":{"imports":[{"path":"dist/lib/browser/chunk-MWZPWWWF.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","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-stack","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","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":"@preact-signals/safe-react/tracking","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":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":2984},"src/components/PluginDetail.tsx":{"bytesInOutput":2544},"src/components/index.ts":{"bytesInOutput":0},"src/components/PluginList.tsx":{"bytesInOutput":661},"src/components/PluginItem.tsx":{"bytesInOutput":3964},"src/components/RegistryContainer.tsx":{"bytesInOutput":2354}},"bytes":12926},"dist/lib/browser/chunk-MWZPWWWF.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":779},"dist/lib/browser/chunk-MWZPWWWF.mjs":{"imports":[],"exports":["REGISTRY_ID","REGISTRY_KEY","meta"],"inputs":{"src/meta.ts":{"bytesInOutput":149}},"bytes":259}}}
1
+ {"inputs":{"src/meta.ts":{"bytes":3282,"imports":[{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":941,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"#plugin","kind":"dynamic-import","external":true}],"format":"esm"},"src/storage.ts":{"bytes":6158,"imports":[{"path":"@effect/platform/FileSystem","kind":"import-statement","external":true},{"path":"@effect/platform/Path","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"yaml","kind":"import-statement","external":true},{"path":"@dxos/client-protocol","kind":"import-statement","external":true}],"format":"esm"},"src/cli/index.ts":{"bytes":376,"imports":[{"path":"src/storage.ts","kind":"import-statement","original":"../storage"}],"format":"esm"},"src/translations.ts":{"bytes":3690,"imports":[{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2006},"dist/lib/browser/index.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#plugin","kind":"dynamic-import","external":true}],"exports":["REGISTRY_ID","REGISTRY_KEY","RegistryPlugin","getPluginPath","meta","registryCategoryId"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":111},"src/meta.ts":{"bytesInOutput":640}},"bytes":942},"dist/lib/browser/cli/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3163},"dist/lib/browser/cli/index.mjs":{"imports":[{"path":"@effect/platform/FileSystem","kind":"import-statement","external":true},{"path":"@effect/platform/Path","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"yaml","kind":"import-statement","external":true},{"path":"@dxos/client-protocol","kind":"import-statement","external":true}],"exports":["loadEnabledPlugins","saveEnabledPlugins"],"entryPoint":"src/cli/index.ts","inputs":{"src/storage.ts":{"bytesInOutput":1230},"src/cli/index.ts":{"bytesInOutput":0}},"bytes":1338},"dist/lib/browser/translations.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1724},"dist/lib/browser/translations.mjs":{"imports":[{"path":"#meta","kind":"import-statement","external":true}],"exports":["translations"],"entryPoint":"src/translations.ts","inputs":{"src/translations.ts":{"bytesInOutput":1048}},"bytes":1140}}}
@@ -0,0 +1,35 @@
1
+ // src/translations.ts
2
+ import { meta } from "#meta";
3
+ var translations = [
4
+ {
5
+ "en-US": {
6
+ [meta.id]: {
7
+ "plugin.name": "Registry",
8
+ "details.label": "Details",
9
+ "home-page.label": "Website",
10
+ "source.label": "Source",
11
+ "plugin-registry.label": "Plugin Registry",
12
+ "plugin-settings.label": "Plugin Settings",
13
+ "official-plugins.label": "Official",
14
+ "installed-plugins.label": "Enabled",
15
+ "recommended-plugins.label": "Recommended",
16
+ "labs-plugins.label": "Labs",
17
+ "community-plugins.label": "Community",
18
+ "load-by-url.label": "Load from URL",
19
+ "load-by-url-dialog.title": "Load Plugin from URL",
20
+ "plugin-url.label": "Plugin URL",
21
+ "load-plugin.label": "Load Plugin",
22
+ "loading.label": "Loading...",
23
+ "coming-soon.label": "Coming soon!",
24
+ "open-plugin-registry.label": "Open plugin registry",
25
+ "install.label": "Install",
26
+ "installing.label": "Installing\u2026",
27
+ "uninstall.label": "Uninstall"
28
+ }
29
+ }
30
+ }
31
+ ];
32
+ export {
33
+ translations
34
+ };
35
+ //# sourceMappingURL=translations.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/translations.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from '#meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\n 'plugin.name': 'Registry',\n 'details.label': 'Details',\n 'home-page.label': 'Website',\n 'source.label': 'Source',\n 'plugin-registry.label': 'Plugin Registry',\n 'plugin-settings.label': 'Plugin Settings',\n 'official-plugins.label': 'Official',\n 'installed-plugins.label': 'Enabled',\n 'recommended-plugins.label': 'Recommended',\n 'labs-plugins.label': 'Labs',\n 'community-plugins.label': 'Community',\n 'load-by-url.label': 'Load from URL',\n 'load-by-url-dialog.title': 'Load Plugin from URL',\n 'plugin-url.label': 'Plugin URL',\n 'load-plugin.label': 'Load Plugin',\n 'loading.label': 'Loading...',\n 'coming-soon.label': 'Coming soon!',\n 'open-plugin-registry.label': 'Open plugin registry',\n 'install.label': 'Install',\n 'installing.label': 'Installing…',\n 'uninstall.label': 'Uninstall',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
+ "mappings": ";AAMA,SAASA,YAAY;AAEd,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACD,KAAKE,EAAE,GAAG;QACT,eAAe;QACf,iBAAiB;QACjB,mBAAmB;QACnB,gBAAgB;QAChB,yBAAyB;QACzB,yBAAyB;QACzB,0BAA0B;QAC1B,2BAA2B;QAC3B,6BAA6B;QAC7B,sBAAsB;QACtB,2BAA2B;QAC3B,qBAAqB;QACrB,4BAA4B;QAC5B,oBAAoB;QACpB,qBAAqB;QACrB,iBAAiB;QACjB,qBAAqB;QACrB,8BAA8B;QAC9B,iBAAiB;QACjB,oBAAoB;QACpB,mBAAmB;MACrB;IACF;EACF;;",
6
+ "names": ["meta", "translations", "id"]
7
+ }
@@ -0,0 +1,34 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+
3
+ // src/storage.ts
4
+ import * as FileSystem from "@effect/platform/FileSystem";
5
+ import * as Path from "@effect/platform/Path";
6
+ import * as Effect from "effect/Effect";
7
+ import * as Schema from "effect/Schema";
8
+ import * as Yaml from "yaml";
9
+ import { DX_CONFIG } from "@dxos/client-protocol";
10
+ var PluginsSchema = Schema.Array(Schema.String);
11
+ var getPluginsConfigPath = (profile) => `${DX_CONFIG}/plugins/${profile}.yml`;
12
+ var loadEnabledPlugins = Effect.fn(function* ({ profile }) {
13
+ const fs = yield* FileSystem.FileSystem;
14
+ const pluginsPath = getPluginsConfigPath(profile);
15
+ const content = yield* fs.readFileString(pluginsPath).pipe(Effect.catchTag("SystemError", () => Effect.succeed("[]")));
16
+ const raw = Yaml.parse(content);
17
+ const parsed = yield* Schema.decodeUnknown(PluginsSchema)(raw ?? []).pipe(Effect.catchAll(() => Effect.succeed([])));
18
+ return parsed;
19
+ });
20
+ var saveEnabledPlugins = Effect.fn(function* ({ profile, enabled }) {
21
+ const fs = yield* FileSystem.FileSystem;
22
+ const path = yield* Path.Path;
23
+ const pluginsPath = getPluginsConfigPath(profile);
24
+ yield* fs.makeDirectory(path.dirname(pluginsPath), {
25
+ recursive: true
26
+ });
27
+ const encoded = Yaml.stringify(enabled);
28
+ yield* fs.writeFileString(pluginsPath, encoded);
29
+ });
30
+ export {
31
+ loadEnabledPlugins,
32
+ saveEnabledPlugins
33
+ };
34
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/storage.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as FileSystem from '@effect/platform/FileSystem';\nimport * as Path from '@effect/platform/Path';\nimport * as Effect from 'effect/Effect';\nimport * as Schema from 'effect/Schema';\nimport * as Yaml from 'yaml';\n\nimport { DX_CONFIG } from '@dxos/client-protocol';\n\n// TODO(wittjosiah): Factor out to app-framework?\n\nconst PluginsSchema = Schema.Array(Schema.String);\n\n/** CLI-only: path to plugins/<profile>.yml (sibling to profile/). */\nconst getPluginsConfigPath = (profile: string) => `${DX_CONFIG}/plugins/${profile}.yml`;\n\n/**\n * Load enabled plugins from plugins/<profile>.yml (sibling to profile/).\n * Returns the list of enabled plugin IDs, or an empty array if the file doesn't exist.\n */\nexport const loadEnabledPlugins = Effect.fn(function* ({ profile }: { profile: string }) {\n const fs = yield* FileSystem.FileSystem;\n const pluginsPath = getPluginsConfigPath(profile);\n\n const content = yield* fs\n .readFileString(pluginsPath)\n .pipe(Effect.catchTag('SystemError', () => Effect.succeed('[]')));\n\n const raw = Yaml.parse(content);\n const parsed = yield* Schema.decodeUnknown(PluginsSchema)(raw ?? []).pipe(\n Effect.catchAll(() => Effect.succeed([] as string[])),\n );\n\n return parsed;\n});\n\n/**\n * Save enabled plugins to plugins/<profile>.yml.\n */\nexport const saveEnabledPlugins = Effect.fn(function* ({ profile, enabled }: { profile: string; enabled: string[] }) {\n const fs = yield* FileSystem.FileSystem;\n const path = yield* Path.Path;\n const pluginsPath = getPluginsConfigPath(profile);\n yield* fs.makeDirectory(path.dirname(pluginsPath), { recursive: true });\n const encoded = Yaml.stringify(enabled);\n yield* fs.writeFileString(pluginsPath, encoded);\n});\n"],
5
+ "mappings": ";;;AAIA,YAAYA,gBAAgB;AAC5B,YAAYC,UAAU;AACtB,YAAYC,YAAY;AACxB,YAAYC,YAAY;AACxB,YAAYC,UAAU;AAEtB,SAASC,iBAAiB;AAI1B,IAAMC,gBAAuBC,aAAaC,aAAM;AAGhD,IAAMC,uBAAuB,CAACC,YAAoB,GAAGL,SAAAA,YAAqBK,OAAAA;AAMnE,IAAMC,qBAA4BC,UAAG,WAAW,EAAEF,QAAO,GAAuB;AACrF,QAAMG,KAAK,OAAkBb;AAC7B,QAAMc,cAAcL,qBAAqBC,OAAAA;AAEzC,QAAMK,UAAU,OAAOF,GACpBG,eAAeF,WAAAA,EACfG,KAAYC,gBAAS,eAAe,MAAaC,eAAQ,IAAA,CAAA,CAAA;AAE5D,QAAMC,MAAWC,WAAMN,OAAAA;AACvB,QAAMO,SAAS,OAAcC,qBAAcjB,aAAAA,EAAec,OAAO,CAAA,CAAE,EAAEH,KAC5DO,gBAAS,MAAaL,eAAQ,CAAA,CAAE,CAAA,CAAA;AAGzC,SAAOG;AACT,CAAA;AAKO,IAAMG,qBAA4Bb,UAAG,WAAW,EAAEF,SAASgB,QAAO,GAA0C;AACjH,QAAMb,KAAK,OAAkBb;AAC7B,QAAM2B,OAAO,OAAY1B;AACzB,QAAMa,cAAcL,qBAAqBC,OAAAA;AACzC,SAAOG,GAAGe,cAAcD,KAAKE,QAAQf,WAAAA,GAAc;IAAEgB,WAAW;EAAK,CAAA;AACrE,QAAMC,UAAeC,eAAUN,OAAAA;AAC/B,SAAOb,GAAGoB,gBAAgBnB,aAAaiB,OAAAA;AACzC,CAAA;",
6
+ "names": ["FileSystem", "Path", "Effect", "Schema", "Yaml", "DX_CONFIG", "PluginsSchema", "Array", "String", "getPluginsConfigPath", "profile", "loadEnabledPlugins", "fn", "fs", "pluginsPath", "content", "readFileString", "pipe", "catchTag", "succeed", "raw", "parse", "parsed", "decodeUnknown", "catchAll", "saveEnabledPlugins", "enabled", "path", "makeDirectory", "dirname", "recursive", "encoded", "stringify", "writeFileString"]
7
+ }
@@ -0,0 +1,33 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+
3
+ // src/index.ts
4
+ import { Plugin } from "@dxos/app-framework";
5
+
6
+ // src/meta.ts
7
+ import { pinnedWorkspaceId } from "@dxos/app-toolkit";
8
+ import { trim } from "@dxos/util";
9
+ var REGISTRY_ID = pinnedWorkspaceId("dxos:plugin-registry");
10
+ var REGISTRY_KEY = "plugin-registry";
11
+ var CATEGORY_SEPARATOR = ">";
12
+ var registryCategoryId = (category) => `${REGISTRY_KEY}${CATEGORY_SEPARATOR}${category}`;
13
+ var getPluginPath = (pluginId) => `root/${REGISTRY_ID}/${pluginId}`;
14
+ var meta = {
15
+ id: "org.dxos.plugin.registry",
16
+ name: "Plugins",
17
+ description: trim`
18
+ Plugin management system for discovering, installing, and configuring workspace extensions.
19
+ Browse available plugins and customize your workspace capabilities.
20
+ `
21
+ };
22
+
23
+ // src/index.ts
24
+ var RegistryPlugin = Plugin.lazy(meta, () => import("#plugin"));
25
+ export {
26
+ REGISTRY_ID,
27
+ REGISTRY_KEY,
28
+ RegistryPlugin,
29
+ getPluginPath,
30
+ meta,
31
+ registryCategoryId
32
+ };
33
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/index.ts", "../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport * from './meta';\nexport const RegistryPlugin = Plugin.lazy(meta, () => import('#plugin'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { pinnedWorkspaceId } from '@dxos/app-toolkit';\nimport { trim } from '@dxos/util';\n\nexport const REGISTRY_ID = pinnedWorkspaceId('dxos:plugin-registry');\nexport const REGISTRY_KEY = 'plugin-registry';\n\n// TODO(wittjosiah): Should this be a special separator or use the standard path separator?\nconst CATEGORY_SEPARATOR = '>';\n\n/** Build a registry category node ID. */\nexport const registryCategoryId = (category: string): string => `${REGISTRY_KEY}${CATEGORY_SEPARATOR}${category}`;\n\n/** Qualified graph path to a specific plugin node. */\nexport const getPluginPath = (pluginId: string): string => `root/${REGISTRY_ID}/${pluginId}`;\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.registry',\n name: 'Plugins',\n description: trim`\n Plugin management system for discovering, installing, and configuring workspace extensions.\n Browse available plugins and customize your workspace capabilities.\n `,\n};\n"],
5
+ "mappings": ";;;AAIA,SAASA,cAAc;;;ACCvB,SAASC,yBAAyB;AAClC,SAASC,YAAY;AAEd,IAAMC,cAAcF,kBAAkB,sBAAA;AACtC,IAAMG,eAAe;AAG5B,IAAMC,qBAAqB;AAGpB,IAAMC,qBAAqB,CAACC,aAA6B,GAAGH,YAAAA,GAAeC,kBAAAA,GAAqBE,QAAAA;AAGhG,IAAMC,gBAAgB,CAACC,aAA6B,QAAQN,WAAAA,IAAeM,QAAAA;AAE3E,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaX;;;;AAIf;;;ADlBO,IAAMY,iBAAiBC,OAAOC,KAAKC,MAAM,MAAM,OAAO,SAAA,CAAA;",
6
+ "names": ["Plugin", "pinnedWorkspaceId", "trim", "REGISTRY_ID", "REGISTRY_KEY", "CATEGORY_SEPARATOR", "registryCategoryId", "category", "getPluginPath", "pluginId", "meta", "id", "name", "description", "RegistryPlugin", "Plugin", "lazy", "meta"]
7
+ }
@@ -0,0 +1 @@
1
+ {"inputs":{"src/meta.ts":{"bytes":3282,"imports":[{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":941,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"#plugin","kind":"dynamic-import","external":true}],"format":"esm"},"src/storage.ts":{"bytes":6158,"imports":[{"path":"@effect/platform/FileSystem","kind":"import-statement","external":true},{"path":"@effect/platform/Path","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"yaml","kind":"import-statement","external":true},{"path":"@dxos/client-protocol","kind":"import-statement","external":true}],"format":"esm"},"src/cli/index.ts":{"bytes":376,"imports":[{"path":"src/storage.ts","kind":"import-statement","original":"../storage"}],"format":"esm"},"src/translations.ts":{"bytes":3690,"imports":[{"path":"#meta","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2008},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"#plugin","kind":"dynamic-import","external":true}],"exports":["REGISTRY_ID","REGISTRY_KEY","RegistryPlugin","getPluginPath","meta","registryCategoryId"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":111},"src/meta.ts":{"bytesInOutput":640}},"bytes":1035},"dist/lib/node-esm/cli/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3165},"dist/lib/node-esm/cli/index.mjs":{"imports":[{"path":"@effect/platform/FileSystem","kind":"import-statement","external":true},{"path":"@effect/platform/Path","kind":"import-statement","external":true},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"yaml","kind":"import-statement","external":true},{"path":"@dxos/client-protocol","kind":"import-statement","external":true}],"exports":["loadEnabledPlugins","saveEnabledPlugins"],"entryPoint":"src/cli/index.ts","inputs":{"src/storage.ts":{"bytesInOutput":1230},"src/cli/index.ts":{"bytesInOutput":0}},"bytes":1431},"dist/lib/node-esm/translations.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1726},"dist/lib/node-esm/translations.mjs":{"imports":[{"path":"#meta","kind":"import-statement","external":true}],"exports":["translations"],"entryPoint":"src/translations.ts","inputs":{"src/translations.ts":{"bytesInOutput":1048}},"bytes":1233}}}
@@ -0,0 +1,37 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+
3
+ // src/translations.ts
4
+ import { meta } from "#meta";
5
+ var translations = [
6
+ {
7
+ "en-US": {
8
+ [meta.id]: {
9
+ "plugin.name": "Registry",
10
+ "details.label": "Details",
11
+ "home-page.label": "Website",
12
+ "source.label": "Source",
13
+ "plugin-registry.label": "Plugin Registry",
14
+ "plugin-settings.label": "Plugin Settings",
15
+ "official-plugins.label": "Official",
16
+ "installed-plugins.label": "Enabled",
17
+ "recommended-plugins.label": "Recommended",
18
+ "labs-plugins.label": "Labs",
19
+ "community-plugins.label": "Community",
20
+ "load-by-url.label": "Load from URL",
21
+ "load-by-url-dialog.title": "Load Plugin from URL",
22
+ "plugin-url.label": "Plugin URL",
23
+ "load-plugin.label": "Load Plugin",
24
+ "loading.label": "Loading...",
25
+ "coming-soon.label": "Coming soon!",
26
+ "open-plugin-registry.label": "Open plugin registry",
27
+ "install.label": "Install",
28
+ "installing.label": "Installing\u2026",
29
+ "uninstall.label": "Uninstall"
30
+ }
31
+ }
32
+ }
33
+ ];
34
+ export {
35
+ translations
36
+ };
37
+ //# sourceMappingURL=translations.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/translations.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from '#meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\n 'plugin.name': 'Registry',\n 'details.label': 'Details',\n 'home-page.label': 'Website',\n 'source.label': 'Source',\n 'plugin-registry.label': 'Plugin Registry',\n 'plugin-settings.label': 'Plugin Settings',\n 'official-plugins.label': 'Official',\n 'installed-plugins.label': 'Enabled',\n 'recommended-plugins.label': 'Recommended',\n 'labs-plugins.label': 'Labs',\n 'community-plugins.label': 'Community',\n 'load-by-url.label': 'Load from URL',\n 'load-by-url-dialog.title': 'Load Plugin from URL',\n 'plugin-url.label': 'Plugin URL',\n 'load-plugin.label': 'Load Plugin',\n 'loading.label': 'Loading...',\n 'coming-soon.label': 'Coming soon!',\n 'open-plugin-registry.label': 'Open plugin registry',\n 'install.label': 'Install',\n 'installing.label': 'Installing…',\n 'uninstall.label': 'Uninstall',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
+ "mappings": ";;;AAMA,SAASA,YAAY;AAEd,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACD,KAAKE,EAAE,GAAG;QACT,eAAe;QACf,iBAAiB;QACjB,mBAAmB;QACnB,gBAAgB;QAChB,yBAAyB;QACzB,yBAAyB;QACzB,0BAA0B;QAC1B,2BAA2B;QAC3B,6BAA6B;QAC7B,sBAAsB;QACtB,2BAA2B;QAC3B,qBAAqB;QACrB,4BAA4B;QAC5B,oBAAoB;QACpB,qBAAqB;QACrB,iBAAiB;QACjB,qBAAqB;QACrB,8BAA8B;QAC9B,iBAAiB;QACjB,oBAAoB;QACpB,mBAAmB;MACrB;IACF;EACF;;",
6
+ "names": ["meta", "translations", "id"]
7
+ }
@@ -1,2 +1,4 @@
1
- export declare const RegistryPlugin: import("@dxos/app-framework").PluginFactory<void>;
1
+ import { Plugin } from '@dxos/app-framework';
2
+ export declare const RegistryPlugin: Plugin.PluginFactory<void>;
3
+ export default RegistryPlugin;
2
4
  //# sourceMappingURL=RegistryPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RegistryPlugin.d.ts","sourceRoot":"","sources":["../../../src/RegistryPlugin.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,cAAc,mDAqBzB,CAAC"}
1
+ {"version":3,"file":"RegistryPlugin.d.ts","sourceRoot":"","sources":["../../../src/RegistryPlugin.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAQ7C,eAAO,MAAM,cAAc,4BAU1B,CAAC;eAEa,cAAc"}
@@ -0,0 +1,4 @@
1
+ import { Plugin } from '@dxos/app-framework';
2
+ export declare const RegistryPlugin: Plugin.PluginFactory<void>;
3
+ export default RegistryPlugin;
4
+ //# sourceMappingURL=RegistryPlugin.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegistryPlugin.node.d.ts","sourceRoot":"","sources":["../../../src/RegistryPlugin.node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAO7C,eAAO,MAAM,cAAc,4BAK1B,CAAC;eAEa,cAAc"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RegistryPlugin.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegistryPlugin.test.d.ts","sourceRoot":"","sources":["../../../src/RegistryPlugin.test.ts"],"names":[],"mappings":""}
@@ -1,4 +1,6 @@
1
- import { type PluginContext } from '@dxos/app-framework';
2
- declare const _default: (context: PluginContext) => import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<import("@dxos/app-graph").BuilderExtensions>>;
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capability } from '@dxos/app-framework';
3
+ import { GraphBuilder } from '@dxos/plugin-graph';
4
+ declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<GraphBuilder.BuilderExtensions>>, never, Capability.Service>;
3
5
  export default _default;
4
6
  //# sourceMappingURL=app-graph-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgB,KAAK,aAAa,EAA6C,MAAM,qBAAqB,CAAC;yBAKlG,SAAS,aAAa;AAAtC,wBA8IK"}
1
+ {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,UAAU,EAAU,MAAM,qBAAqB,CAAC;AAGvE,OAAO,EAAE,YAAY,EAAqB,MAAM,oBAAoB,CAAC"}
@@ -1,4 +1,7 @@
1
- export declare const AppGraphBuilder: (props?: import("@dxos/app-framework").PluginContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<import("@dxos/app-graph").BuilderExtensions>> | import("@dxos/app-framework").AnyCapability[]>>;
2
- export declare const IntentResolver: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<import("@dxos/app-framework").Capabilities.IntentResolver>> | import("@dxos/app-framework").AnyCapability[]>>;
3
- export declare const ReactSurface: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<import("@dxos/app-framework").Capabilities.ReactSurface>> | import("@dxos/app-framework").AnyCapability[]>>;
1
+ import { Capability } from '@dxos/app-framework';
2
+ import { OperationHandlerSet } from '@dxos/compute';
3
+ export declare const AppGraphBuilder: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-graph").BuilderExtensions>>, Error>;
4
+ export declare const OperationHandler: Capability.LazyCapability<OperationHandlerSet.OperationHandlerSet, Capability.ModuleReturn, Error>;
5
+ export declare const ReactSurface: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-framework/Capabilities").ReactSurface>>, Error>;
6
+ export declare const RegistryState: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<import("@effect-atom/atom/Atom").Atom<import("../types").CommunityPluginsState>>>, Error>;
4
7
  //# 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,gRAA4C,CAAC;AACzE,eAAO,MAAM,cAAc,8OAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,4OAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,eAAO,MAAM,eAAe,qIAA0E,CAAC;AACvG,eAAO,MAAM,gBAAgB,oGAG5B,CAAC;AACF,eAAO,MAAM,YAAY,iJAAmE,CAAC;AAC7F,eAAO,MAAM,aAAa,yKAA4D,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capability } from '@dxos/app-framework';
3
+ import type { OperationHandlerSet } from '@dxos/compute';
4
+ declare const _default: (props: OperationHandlerSet.OperationHandlerSet) => Effect.Effect<Capability.ModuleReturn, Error, Capability.Service>;
5
+ export default _default;
6
+ //# sourceMappingURL=operation-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-handler.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/operation-handler.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,4 +1,5 @@
1
- import { Capabilities } from '@dxos/app-framework';
2
- declare const _default: () => import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<Capabilities.ReactSurface>>;
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capabilities, Capability } from '@dxos/app-framework';
3
+ declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Capabilities.ReactSurface>>, never, never>;
3
4
  export default _default;
4
5
  //# sourceMappingURL=react-surface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAwD,MAAM,qBAAqB,CAAC;;AAKzG,wBAyEK"}
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAU,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { Atom } from '@effect-atom/atom-react';
2
+ import * as Effect from 'effect/Effect';
3
+ import { Capability } from '@dxos/app-framework';
4
+ import { type CommunityPluginsState } from '#types';
5
+ declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Atom.Atom<CommunityPluginsState>>>, Error, Capability.Service>;
6
+ export default _default;
7
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/state.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAI/D,OAAO,EAAwB,KAAK,qBAAqB,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from '../storage';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/index.ts"],"names":[],"mappings":"AAIA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,11 @@
1
+ import * as Command from '@effect/cli/Command';
2
+ import * as Effect from 'effect/Effect';
3
+ import { Plugin } from '@dxos/app-framework';
4
+ import { CommandConfig } from '@dxos/cli-util';
5
+ export declare const handler: (args_0: {
6
+ id: string;
7
+ }) => Effect.Effect<void, Error | import("@effect/platform/Error").PlatformError, CommandConfig | import("@effect/platform/FileSystem").FileSystem | import("@effect/platform/Path").Path | Plugin.Service>;
8
+ export declare const disable: Command.Command<"disable", CommandConfig | import("@effect/platform/FileSystem").FileSystem | import("@effect/platform/Path").Path | Plugin.Service, Error | import("@effect/platform/Error").PlatformError, {
9
+ readonly id: string;
10
+ }>;
11
+ //# sourceMappingURL=disable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disable.d.ts","sourceRoot":"","sources":["../../../../src/commands/disable.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAE/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAK/C,eAAO,MAAM,OAAO;QAAsC,MAAM;2MAuB9D,CAAC;AAEH,eAAO,MAAM,OAAO;;EAMgC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import * as Command from '@effect/cli/Command';
2
+ import * as Effect from 'effect/Effect';
3
+ import { Plugin } from '@dxos/app-framework';
4
+ import { CommandConfig } from '@dxos/cli-util';
5
+ export declare const handler: (args_0: {
6
+ id: string;
7
+ }) => Effect.Effect<void, Error | import("@effect/platform/Error").PlatformError, CommandConfig | import("@effect/platform/FileSystem").FileSystem | import("@effect/platform/Path").Path | Plugin.Service>;
8
+ export declare const enable: Command.Command<"enable", CommandConfig | import("@effect/platform/FileSystem").FileSystem | import("@effect/platform/Path").Path | Plugin.Service, Error | import("@effect/platform/Error").PlatformError, {
9
+ readonly id: string;
10
+ }>;
11
+ //# sourceMappingURL=enable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enable.d.ts","sourceRoot":"","sources":["../../../../src/commands/enable.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAE/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAK/C,eAAO,MAAM,OAAO;QAAsC,MAAM;2MAoB9D,CAAC;AAEH,eAAO,MAAM,MAAM;;EAMgC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import * as Command from '@effect/cli/Command';
2
+ export declare const plugin: Command.Command<any, any, any, any>;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAM/C,eAAO,MAAM,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAGtD,CAAC"}