@dxos/plugin-registry 0.9.1-staging.ee54ba693a → 0.11.0

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 (127) hide show
  1. package/dist/lib/RegistryPlugin.mjs +15 -0
  2. package/dist/lib/RegistryPlugin.mjs.map +1 -0
  3. package/dist/lib/RegistryPlugin.node.mjs +770 -0
  4. package/dist/lib/RegistryPlugin.node.mjs.map +1 -0
  5. package/dist/lib/RegistryPlugin.workerd.mjs +8 -0
  6. package/dist/lib/RegistryPlugin.workerd.mjs.map +1 -0
  7. package/dist/lib/capabilities.mjs +11 -0
  8. package/dist/lib/capabilities.mjs.map +1 -0
  9. package/dist/lib/chunk-BaseRegistryArticle.mjs +103 -0
  10. package/dist/lib/chunk-BaseRegistryArticle.mjs.map +1 -0
  11. package/dist/lib/chunk-LoadPluginDialog.mjs +2 -0
  12. package/dist/lib/chunk-PluginArticle.mjs +87 -0
  13. package/dist/lib/chunk-PluginArticle.mjs.map +1 -0
  14. package/dist/lib/chunk-PublicRegistryArticle.mjs +152 -0
  15. package/dist/lib/chunk-PublicRegistryArticle.mjs.map +1 -0
  16. package/dist/lib/chunk-RegistryArticle.mjs +29 -0
  17. package/dist/lib/chunk-RegistryArticle.mjs.map +1 -0
  18. package/dist/lib/chunk-RegistrySettingsContainer.mjs +37 -0
  19. package/dist/lib/chunk-RegistrySettingsContainer.mjs.map +1 -0
  20. package/dist/lib/chunk-app-graph-builder.mjs +202 -0
  21. package/dist/lib/chunk-app-graph-builder.mjs.map +1 -0
  22. package/dist/lib/chunk-categories.mjs +23 -0
  23. package/dist/lib/chunk-categories.mjs.map +1 -0
  24. package/dist/lib/chunk-components.mjs +537 -0
  25. package/dist/lib/chunk-components.mjs.map +1 -0
  26. package/dist/lib/chunk-containers.mjs +80 -0
  27. package/dist/lib/chunk-containers.mjs.map +1 -0
  28. package/dist/lib/chunk-dev-plugin-loader.mjs +40 -0
  29. package/dist/lib/chunk-dev-plugin-loader.mjs.map +1 -0
  30. package/dist/lib/chunk-hooks.mjs +345 -0
  31. package/dist/lib/chunk-hooks.mjs.map +1 -0
  32. package/dist/lib/chunk-meta.mjs +40 -0
  33. package/dist/lib/chunk-meta.mjs.map +1 -0
  34. package/dist/lib/chunk-open-plugin-registry.mjs +12 -0
  35. package/dist/lib/chunk-open-plugin-registry.mjs.map +1 -0
  36. package/dist/lib/chunk-operation-handler.mjs +11 -0
  37. package/dist/lib/chunk-operation-handler.mjs.map +1 -0
  38. package/dist/lib/chunk-react-surface.mjs +109 -0
  39. package/dist/lib/chunk-react-surface.mjs.map +1 -0
  40. package/dist/lib/chunk-settings.mjs +24 -0
  41. package/dist/lib/chunk-settings.mjs.map +1 -0
  42. package/dist/lib/chunk-storage.mjs +36 -0
  43. package/dist/lib/chunk-storage.mjs.map +1 -0
  44. package/dist/lib/components.mjs +2 -0
  45. package/dist/lib/containers.mjs +2 -0
  46. package/dist/lib/index.mjs +3 -0
  47. package/dist/lib/meta.mjs +2 -0
  48. package/dist/lib/operations.mjs +7 -0
  49. package/dist/lib/operations.mjs.map +1 -0
  50. package/dist/lib/plugin.mjs +9 -0
  51. package/dist/lib/plugin.mjs.map +1 -0
  52. package/dist/lib/translations.mjs +66 -0
  53. package/dist/lib/translations.mjs.map +1 -0
  54. package/dist/lib/types.mjs +29 -0
  55. package/dist/lib/types.mjs.map +1 -0
  56. package/dist/types/src/capabilities/RegistryCategoryArticle.d.ts +11 -0
  57. package/dist/types/src/capabilities/RegistryCategoryArticle.d.ts.map +1 -0
  58. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  59. package/dist/types/src/capabilities/dev-plugin-loader.d.ts +1 -1
  60. package/dist/types/src/capabilities/operation-handler.d.ts +1 -1
  61. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  62. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  63. package/dist/types/src/capabilities/settings.d.ts +1 -1
  64. package/dist/types/src/categories.d.ts.map +1 -1
  65. package/dist/types/src/categories.test.d.ts +2 -0
  66. package/dist/types/src/categories.test.d.ts.map +1 -0
  67. package/dist/types/src/commands/registry/util.d.ts.map +1 -1
  68. package/dist/types/src/components/PluginDetail/PluginDetail.d.ts +1 -1
  69. package/dist/types/src/components/PluginDetail/PluginDetail.d.ts.map +1 -1
  70. package/dist/types/src/components/PluginDetail/PluginDetail.stories.d.ts +1 -1
  71. package/dist/types/src/containers/BaseRegistryArticle/BaseRegistryArticle.d.ts +1 -1
  72. package/dist/types/src/containers/BaseRegistryArticle/BaseRegistryArticle.d.ts.map +1 -1
  73. package/dist/types/src/containers/LoadPluginDialog/LoadPluginDialog.d.ts +4 -1
  74. package/dist/types/src/containers/LoadPluginDialog/LoadPluginDialog.d.ts.map +1 -1
  75. package/dist/types/src/containers/PluginArticle/PluginArticle.d.ts +4 -1
  76. package/dist/types/src/containers/PluginArticle/PluginArticle.d.ts.map +1 -1
  77. package/dist/types/src/containers/PublicRegistryArticle/PublicRegistryArticle.d.ts +1 -1
  78. package/dist/types/src/containers/PublicRegistryArticle/PublicRegistryArticle.d.ts.map +1 -1
  79. package/dist/types/src/containers/RegistryArticle/RegistryArticle.d.ts +1 -1
  80. package/dist/types/src/containers/RegistryArticle/RegistryArticle.d.ts.map +1 -1
  81. package/dist/types/src/containers/RegistrySettingsContainer/RegistrySettingsContainer.d.ts +4 -7
  82. package/dist/types/src/containers/RegistrySettingsContainer/RegistrySettingsContainer.d.ts.map +1 -1
  83. package/dist/types/src/hooks/usePluginActions.d.ts.map +1 -1
  84. package/dist/types/src/meta.d.ts +0 -3
  85. package/dist/types/src/meta.d.ts.map +1 -1
  86. package/dist/types/src/operations/open-plugin-registry.d.ts.map +1 -1
  87. package/dist/types/src/types.d.ts +2 -2
  88. package/dist/types/src/types.d.ts.map +1 -1
  89. package/dist/types/tsconfig.tsbuildinfo +1 -1
  90. package/package.json +38 -37
  91. package/src/capabilities/RegistryCategoryArticle.tsx +46 -0
  92. package/src/capabilities/app-graph-builder.ts +80 -74
  93. package/src/capabilities/react-surface.ts +85 -0
  94. package/src/categories.test.ts +45 -0
  95. package/src/categories.ts +10 -7
  96. package/src/commands/registry/util.ts +1 -1
  97. package/src/components/PluginList/PluginItem.tsx +5 -3
  98. package/src/components/PluginList/PluginList.stories.tsx +1 -1
  99. package/src/components/RegistrySettings/RegistrySettings.tsx +2 -2
  100. package/src/containers/BaseRegistryArticle/BaseRegistryArticle.tsx +2 -2
  101. package/src/containers/LoadPluginDialog/LoadPluginDialog.tsx +2 -0
  102. package/src/containers/PluginArticle/PluginArticle.tsx +5 -1
  103. package/src/containers/RegistrySettingsContainer/RegistrySettingsContainer.tsx +2 -0
  104. package/src/hooks/usePluginActions.ts +8 -4
  105. package/src/meta.ts +5 -8
  106. package/src/operations/open-plugin-registry.ts +2 -2
  107. package/src/types.ts +2 -1
  108. package/dist/lib/neutral/RegistryPlugin.mjs +0 -27
  109. package/dist/lib/neutral/RegistryPlugin.mjs.map +0 -7
  110. package/dist/lib/neutral/RegistryPlugin.node.mjs +0 -844
  111. package/dist/lib/neutral/RegistryPlugin.node.mjs.map +0 -7
  112. package/dist/lib/neutral/RegistryPlugin.workerd.mjs +0 -10
  113. package/dist/lib/neutral/RegistryPlugin.workerd.mjs.map +0 -7
  114. package/dist/lib/neutral/chunk-XK2JMH3H.mjs +0 -33
  115. package/dist/lib/neutral/chunk-XK2JMH3H.mjs.map +0 -7
  116. package/dist/lib/neutral/chunk-ZY37XLVF.mjs +0 -46
  117. package/dist/lib/neutral/chunk-ZY37XLVF.mjs.map +0 -7
  118. package/dist/lib/neutral/index.mjs +0 -25
  119. package/dist/lib/neutral/index.mjs.map +0 -7
  120. package/dist/lib/neutral/meta.json +0 -1
  121. package/dist/lib/neutral/open-plugin-registry-ID7LV3SF.mjs +0 -15
  122. package/dist/lib/neutral/open-plugin-registry-ID7LV3SF.mjs.map +0 -7
  123. package/dist/lib/neutral/plugin.mjs +0 -18
  124. package/dist/lib/neutral/plugin.mjs.map +0 -7
  125. package/dist/lib/neutral/translations.mjs +0 -72
  126. package/dist/lib/neutral/translations.mjs.map +0 -7
  127. package/src/capabilities/react-surface.tsx +0 -123
@@ -0,0 +1,109 @@
1
+ import { t as getCategoryPredicate } from "./chunk-categories.mjs";
2
+ import { c as useRegistryPlugins, l as useAutoTags, u as useRemotePluginIds } from "./chunk-hooks.mjs";
3
+ import { Capabilities, Capability, Plugin } from "@dxos/app-framework";
4
+ import * as Effect from "effect/Effect";
5
+ import { DISABLE_DEPENDENTS_DIALOG, meta } from "#meta";
6
+ import { useMemo } from "react";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import { Surface, usePluginManager } from "@dxos/app-framework/ui";
9
+ import { AppSurface } from "@dxos/app-toolkit/ui";
10
+ import { DisableDependentsAlert } from "#components";
11
+ import { LOAD_PLUGIN_DIALOG, LoadPluginDialog, PluginArticle, PublicRegistryArticle, RegistryArticle, RegistrySettingsContainer } from "#containers";
12
+ //#region src/capabilities/RegistryCategoryArticle.tsx
13
+ /**
14
+ * Resolves the {@link PluginPredicate} for a registry category against the live plugin list.
15
+ * Shared with the graph builder via {@link getCategoryPredicate} so the category lists and their counts agree.
16
+ */
17
+ var useCategoryPredicate = (category) => {
18
+ const manager = usePluginManager();
19
+ const remoteIds = useRemotePluginIds();
20
+ const core = useMemo(() => manager.getCore(), [manager]);
21
+ const enabled = useMemo(() => manager.getEnabled(), [manager]);
22
+ return useMemo(() => getCategoryPredicate(category, {
23
+ core,
24
+ enabled,
25
+ remoteIds
26
+ }), [
27
+ category,
28
+ core,
29
+ enabled,
30
+ remoteIds
31
+ ]);
32
+ };
33
+ /**
34
+ * Renders the {@link RegistryArticle} surface for one registry category. Centralises the
35
+ * `usePluginManager` + `useRegistryPlugins` + `useAutoTags` wiring shared by every category surface,
36
+ * none of which can live in a surface's `props` mapper.
37
+ */
38
+ var RegistryCategoryArticle = ({ category }) => {
39
+ const manager = usePluginManager();
40
+ const filter = useCategoryPredicate(category);
41
+ const { entries } = useRegistryPlugins();
42
+ const extraTagsById = useAutoTags(entries);
43
+ return /* @__PURE__ */ jsx(RegistryArticle, {
44
+ id: category,
45
+ plugins: useMemo(() => manager.getPlugins().filter(filter), [manager, filter]),
46
+ extraTagsById
47
+ });
48
+ };
49
+ //#endregion
50
+ //#region src/capabilities/react-surface.ts
51
+ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(Capabilities.ReactSurface, [
52
+ Surface.create({
53
+ id: "bundled",
54
+ filter: AppSurface.literal(AppSurface.Article, "bundled"),
55
+ component: RegistryCategoryArticle,
56
+ props: () => ({ category: "bundled" })
57
+ }),
58
+ Surface.create({
59
+ id: "installed",
60
+ filter: AppSurface.literal(AppSurface.Article, "installed"),
61
+ component: RegistryCategoryArticle,
62
+ props: () => ({ category: "installed" })
63
+ }),
64
+ Surface.create({
65
+ id: "recommended",
66
+ filter: AppSurface.literal(AppSurface.Article, "recommended"),
67
+ component: RegistryCategoryArticle,
68
+ props: () => ({ category: "recommended" })
69
+ }),
70
+ Surface.create({
71
+ id: "labs",
72
+ filter: AppSurface.literal(AppSurface.Article, "labs"),
73
+ component: RegistryCategoryArticle,
74
+ props: () => ({ category: "labs" })
75
+ }),
76
+ Surface.create({
77
+ id: "registry",
78
+ filter: AppSurface.literal(AppSurface.Article, "registry"),
79
+ component: PublicRegistryArticle,
80
+ props: () => ({ id: "registry" })
81
+ }),
82
+ Surface.create({
83
+ id: "pluginDetails",
84
+ filter: AppSurface.subject(AppSurface.Article, Plugin.isPlugin),
85
+ component: PluginArticle,
86
+ props: ({ data: { subject } }) => ({ subject })
87
+ }),
88
+ Surface.create({
89
+ id: LOAD_PLUGIN_DIALOG,
90
+ filter: AppSurface.component(AppSurface.Dialog, LOAD_PLUGIN_DIALOG),
91
+ component: LoadPluginDialog
92
+ }),
93
+ Surface.create({
94
+ id: DISABLE_DEPENDENTS_DIALOG,
95
+ filter: AppSurface.component(AppSurface.Dialog, DISABLE_DEPENDENTS_DIALOG),
96
+ component: DisableDependentsAlert,
97
+ props: ({ data: { props } }) => ({ ...props })
98
+ }),
99
+ Surface.create({
100
+ id: "pluginSettings",
101
+ filter: AppSurface.settings(AppSurface.Article, meta.profile.key),
102
+ component: RegistrySettingsContainer,
103
+ props: ({ data: { subject } }) => ({ subject })
104
+ })
105
+ ])));
106
+ //#endregion
107
+ export { react_surface_default as default };
108
+
109
+ //# sourceMappingURL=chunk-react-surface.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-react-surface.mjs","names":[],"sources":["../../src/capabilities/RegistryCategoryArticle.tsx","../../src/capabilities/react-surface.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useMemo } from 'react';\n\nimport { usePluginManager } from '@dxos/app-framework/ui';\n\nimport { RegistryArticle } from '#containers';\n\nimport { type PluginPredicate, getCategoryPredicate } from '../categories';\nimport { useAutoTags, useRegistryPlugins, useRemotePluginIds } from '../hooks';\n\n/**\n * Resolves the {@link PluginPredicate} for a registry category against the live plugin list.\n * Shared with the graph builder via {@link getCategoryPredicate} so the category lists and their counts agree.\n */\nconst useCategoryPredicate = (category: string): PluginPredicate => {\n const manager = usePluginManager();\n const remoteIds = useRemotePluginIds();\n const core = useMemo(() => manager.getCore(), [manager]);\n const enabled = useMemo(() => manager.getEnabled(), [manager]);\n return useMemo(\n () => getCategoryPredicate(category, { core, enabled, remoteIds }),\n [category, core, enabled, remoteIds],\n );\n};\n\nexport type RegistryCategoryArticleProps = {\n category: string;\n};\n\n/**\n * Renders the {@link RegistryArticle} surface for one registry category. Centralises the\n * `usePluginManager` + `useRegistryPlugins` + `useAutoTags` wiring shared by every category surface,\n * none of which can live in a surface's `props` mapper.\n */\nexport const RegistryCategoryArticle = ({ category }: RegistryCategoryArticleProps) => {\n const manager = usePluginManager();\n const filter = useCategoryPredicate(category);\n const { entries } = useRegistryPlugins();\n const extraTagsById = useAutoTags(entries);\n const filtered = useMemo(() => manager.getPlugins().filter(filter), [manager, filter]);\n\n return <RegistryArticle id={category} plugins={filtered} extraTagsById={extraTagsById} />;\n};\n","//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport { type ComponentProps } from 'react';\n\nimport { Capabilities, Capability, Plugin } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { AppSurface } from '@dxos/app-toolkit/ui';\n\nimport { DisableDependentsAlert } from '#components';\nimport {\n LOAD_PLUGIN_DIALOG,\n LoadPluginDialog,\n PluginArticle,\n PublicRegistryArticle,\n RegistrySettingsContainer,\n} from '#containers';\nimport { DISABLE_DEPENDENTS_DIALOG, meta } from '#meta';\n\nimport { RegistryCategoryArticle } from './RegistryCategoryArticle';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: 'bundled',\n filter: AppSurface.literal(AppSurface.Article, 'bundled'),\n component: RegistryCategoryArticle,\n props: () => ({ category: 'bundled' }),\n }),\n Surface.create({\n id: 'installed',\n filter: AppSurface.literal(AppSurface.Article, 'installed'),\n component: RegistryCategoryArticle,\n props: () => ({ category: 'installed' }),\n }),\n Surface.create({\n id: 'recommended',\n filter: AppSurface.literal(AppSurface.Article, 'recommended'),\n component: RegistryCategoryArticle,\n props: () => ({ category: 'recommended' }),\n }),\n Surface.create({\n id: 'labs',\n filter: AppSurface.literal(AppSurface.Article, 'labs'),\n component: RegistryCategoryArticle,\n props: () => ({ category: 'labs' }),\n }),\n Surface.create({\n id: 'registry',\n filter: AppSurface.literal(AppSurface.Article, 'registry'),\n component: PublicRegistryArticle,\n props: () => ({ id: 'registry' }),\n }),\n Surface.create({\n id: 'pluginDetails',\n filter: AppSurface.subject(AppSurface.Article, Plugin.isPlugin),\n component: PluginArticle,\n props: ({ data: { subject } }) => ({ subject }),\n }),\n Surface.create({\n id: LOAD_PLUGIN_DIALOG,\n filter: AppSurface.component(AppSurface.Dialog, LOAD_PLUGIN_DIALOG),\n component: LoadPluginDialog,\n }),\n Surface.create({\n id: DISABLE_DEPENDENTS_DIALOG,\n filter: AppSurface.component<ComponentProps<typeof DisableDependentsAlert>>(\n AppSurface.Dialog,\n DISABLE_DEPENDENTS_DIALOG,\n ),\n component: DisableDependentsAlert,\n props: ({ data: { props } }) => ({ ...props }),\n }),\n Surface.create({\n id: 'pluginSettings',\n filter: AppSurface.settings(AppSurface.Article, meta.profile.key),\n component: RegistrySettingsContainer,\n props: ({ data: { subject } }) => ({ subject }),\n }),\n ]),\n ),\n);\n"],"mappings":";;;;;;;;;;;;;;;;AAiBA,IAAM,wBAAwB,aAAsC;CAClE,MAAM,UAAU,iBAAiB;CACjC,MAAM,YAAY,mBAAmB;CACrC,MAAM,OAAO,cAAc,QAAQ,QAAQ,GAAG,CAAC,OAAO,CAAC;CACvD,MAAM,UAAU,cAAc,QAAQ,WAAW,GAAG,CAAC,OAAO,CAAC;CAC7D,OAAO,cACC,qBAAqB,UAAU;EAAE;EAAM;EAAS;CAAU,CAAC,GACjE;EAAC;EAAU;EAAM;EAAS;CAAS,CACrC;AACF;;;;;;AAWA,IAAa,2BAA2B,EAAE,eAA6C;CACrF,MAAM,UAAU,iBAAiB;CACjC,MAAM,SAAS,qBAAqB,QAAQ;CAC5C,MAAM,EAAE,YAAY,mBAAmB;CACvC,MAAM,gBAAgB,YAAY,OAAO;CAGzC,OAAO,oBAAC,iBAAD;EAAiB,IAAI;EAAU,SAFrB,cAAc,QAAQ,WAAW,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,SAAS,MAAM,CAErC;EAAyB;CAAgB,CAAA;AAC1F;;;ACtBA,IAAA,wBAAe,WAAW,iBACxB,OAAO,QACL,WAAW,YAAY,aAAa,cAAc;CAChD,QAAQ,OAAO;EACb,IAAI;EACJ,QAAQ,WAAW,QAAQ,WAAW,SAAS,SAAS;EACxD,WAAW;EACX,cAAc,EAAE,UAAU,UAAU;CACtC,CAAC;CACD,QAAQ,OAAO;EACb,IAAI;EACJ,QAAQ,WAAW,QAAQ,WAAW,SAAS,WAAW;EAC1D,WAAW;EACX,cAAc,EAAE,UAAU,YAAY;CACxC,CAAC;CACD,QAAQ,OAAO;EACb,IAAI;EACJ,QAAQ,WAAW,QAAQ,WAAW,SAAS,aAAa;EAC5D,WAAW;EACX,cAAc,EAAE,UAAU,cAAc;CAC1C,CAAC;CACD,QAAQ,OAAO;EACb,IAAI;EACJ,QAAQ,WAAW,QAAQ,WAAW,SAAS,MAAM;EACrD,WAAW;EACX,cAAc,EAAE,UAAU,OAAO;CACnC,CAAC;CACD,QAAQ,OAAO;EACb,IAAI;EACJ,QAAQ,WAAW,QAAQ,WAAW,SAAS,UAAU;EACzD,WAAW;EACX,cAAc,EAAE,IAAI,WAAW;CACjC,CAAC;CACD,QAAQ,OAAO;EACb,IAAI;EACJ,QAAQ,WAAW,QAAQ,WAAW,SAAS,OAAO,QAAQ;EAC9D,WAAW;EACX,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ;CAC/C,CAAC;CACD,QAAQ,OAAO;EACb,IAAI;EACJ,QAAQ,WAAW,UAAU,WAAW,QAAQ,kBAAkB;EAClE,WAAW;CACb,CAAC;CACD,QAAQ,OAAO;EACb,IAAI;EACJ,QAAQ,WAAW,UACjB,WAAW,QACX,yBACF;EACA,WAAW;EACX,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM;CAC9C,CAAC;CACD,QAAQ,OAAO;EACb,IAAI;EACJ,QAAQ,WAAW,SAAS,WAAW,SAAS,KAAK,QAAQ,GAAG;EAChE,WAAW;EACX,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ;CAC/C,CAAC;AACH,CAAC,CACH,CACF"}
@@ -0,0 +1,24 @@
1
+ import { RegistryCapabilities, RegistrySettingsSchema } from "./types.mjs";
2
+ import { Capability, PLUGIN_DEV_SERVER_PORT } from "@dxos/app-framework";
3
+ import { AppCapabilities } from "@dxos/app-toolkit";
4
+ import * as Effect from "effect/Effect";
5
+ import { meta } from "#meta";
6
+ import { createKvsStore } from "@dxos/effect";
7
+ //#region src/capabilities/settings.ts
8
+ var DEFAULT_DEV_PLUGIN_URL = `http://localhost:${PLUGIN_DEV_SERVER_PORT}/manifest.json`;
9
+ var settings_default = Capability.makeModule(() => Effect.sync(() => {
10
+ const settingsAtom = createKvsStore({
11
+ key: meta.profile.key,
12
+ schema: RegistrySettingsSchema,
13
+ defaultValue: () => ({ devPluginUrl: DEFAULT_DEV_PLUGIN_URL })
14
+ });
15
+ return [Capability.contributes(RegistryCapabilities.Settings, settingsAtom), Capability.contributes(AppCapabilities.Settings, {
16
+ prefix: meta.profile.key,
17
+ schema: RegistrySettingsSchema,
18
+ atom: settingsAtom
19
+ })];
20
+ }));
21
+ //#endregion
22
+ export { settings_default as default };
23
+
24
+ //# sourceMappingURL=chunk-settings.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-settings.mjs","names":[],"sources":["../../src/capabilities/settings.ts"],"sourcesContent":["//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability, PLUGIN_DEV_SERVER_PORT } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { createKvsStore } from '@dxos/effect';\n\nimport { meta } from '#meta';\n\nimport { RegistryCapabilities, RegistrySettingsSchema } from '../types';\n\nconst DEFAULT_DEV_PLUGIN_URL = `http://localhost:${PLUGIN_DEV_SERVER_PORT}/manifest.json`;\n\nexport default Capability.makeModule(() =>\n Effect.sync(() => {\n const settingsAtom = createKvsStore({\n key: meta.profile.key,\n schema: RegistrySettingsSchema,\n defaultValue: () => ({ devPluginUrl: DEFAULT_DEV_PLUGIN_URL }),\n });\n\n return [\n Capability.contributes(RegistryCapabilities.Settings, settingsAtom),\n Capability.contributes(AppCapabilities.Settings, {\n prefix: meta.profile.key,\n schema: RegistrySettingsSchema,\n atom: settingsAtom,\n }),\n ];\n }),\n);\n"],"mappings":";;;;;;;AAcA,IAAM,yBAAyB,oBAAoB,uBAAuB;AAE1E,IAAA,mBAAe,WAAW,iBACxB,OAAO,WAAW;CAChB,MAAM,eAAe,eAAe;EAClC,KAAK,KAAK,QAAQ;EAClB,QAAQ;EACR,qBAAqB,EAAE,cAAc,uBAAuB;CAC9D,CAAC;CAED,OAAO,CACL,WAAW,YAAY,qBAAqB,UAAU,YAAY,GAClE,WAAW,YAAY,gBAAgB,UAAU;EAC/C,QAAQ,KAAK,QAAQ;EACrB,QAAQ;EACR,MAAM;CACR,CAAC,CACH;AACF,CAAC,CACH"}
@@ -0,0 +1,36 @@
1
+ import * as FileSystem from "@effect/platform/FileSystem";
2
+ import * as Path from "@effect/platform/Path";
3
+ import * as Effect from "effect/Effect";
4
+ import * as Schema from "effect/Schema";
5
+ import * as Yaml from "yaml";
6
+ import { DX_CONFIG } from "@dxos/client-protocol";
7
+ //#region src/storage.ts
8
+ var PluginsSchema = Schema.Array(Schema.String);
9
+ /** CLI-only: path to plugins/<profile>.yml (sibling to profile/). */
10
+ var getPluginsConfigPath = (profile) => `${DX_CONFIG}/plugins/${profile}.yml`;
11
+ /**
12
+ * Load enabled plugins from plugins/<profile>.yml (sibling to profile/).
13
+ * Returns the list of enabled plugin IDs, or an empty array if the file doesn't exist.
14
+ */
15
+ var loadEnabledPlugins = Effect.fn(function* ({ profile }) {
16
+ const fs = yield* FileSystem.FileSystem;
17
+ const pluginsPath = getPluginsConfigPath(profile);
18
+ const content = yield* fs.readFileString(pluginsPath).pipe(Effect.catchTag("SystemError", () => Effect.succeed("[]")));
19
+ const raw = Yaml.parse(content);
20
+ return yield* Schema.decodeUnknown(PluginsSchema)(raw ?? []).pipe(Effect.catchAll(() => Effect.succeed([])));
21
+ });
22
+ /**
23
+ * Save enabled plugins to plugins/<profile>.yml.
24
+ */
25
+ var saveEnabledPlugins = Effect.fn(function* ({ profile, enabled }) {
26
+ const fs = yield* FileSystem.FileSystem;
27
+ const path = yield* Path.Path;
28
+ const pluginsPath = getPluginsConfigPath(profile);
29
+ yield* fs.makeDirectory(path.dirname(pluginsPath), { recursive: true });
30
+ const encoded = Yaml.stringify(enabled);
31
+ yield* fs.writeFileString(pluginsPath, encoded);
32
+ });
33
+ //#endregion
34
+ export { saveEnabledPlugins as n, loadEnabledPlugins as t };
35
+
36
+ //# sourceMappingURL=chunk-storage.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-storage.mjs","names":[],"sources":["../../src/storage.ts"],"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"],"mappings":";;;;;;;AAcA,IAAM,gBAAgB,OAAO,MAAM,OAAO,MAAM;;AAGhD,IAAM,wBAAwB,YAAoB,GAAG,UAAU,WAAW,QAAQ;;;;;AAMlF,IAAa,qBAAqB,OAAO,GAAG,WAAW,EAAE,WAAgC;CACvF,MAAM,KAAK,OAAO,WAAW;CAC7B,MAAM,cAAc,qBAAqB,OAAO;CAEhD,MAAM,UAAU,OAAO,GACpB,eAAe,WAAW,CAAA,CAC1B,KAAK,OAAO,SAAS,qBAAqB,OAAO,QAAQ,IAAI,CAAC,CAAC;CAElE,MAAM,MAAM,KAAK,MAAM,OAAO;CAK9B,OAAO,OAJe,OAAO,cAAc,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KACnE,OAAO,eAAe,OAAO,QAAQ,CAAC,CAAa,CAAC,CACtD;AAGF,CAAC;;;;AAKD,IAAa,qBAAqB,OAAO,GAAG,WAAW,EAAE,SAAS,WAAmD;CACnH,MAAM,KAAK,OAAO,WAAW;CAC7B,MAAM,OAAO,OAAO,KAAK;CACzB,MAAM,cAAc,qBAAqB,OAAO;CAChD,OAAO,GAAG,cAAc,KAAK,QAAQ,WAAW,GAAG,EAAE,WAAW,KAAK,CAAC;CACtE,MAAM,UAAU,KAAK,UAAU,OAAO;CACtC,OAAO,GAAG,gBAAgB,aAAa,OAAO;AAChD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { a as DisableDependentsAlert, i as PluginFailureBadge, n as PluginList, r as PluginDetail, t as RegistrySettings } from "./chunk-components.mjs";
2
+ export { DisableDependentsAlert, PluginDetail, PluginFailureBadge, PluginList, RegistrySettings };
@@ -0,0 +1,2 @@
1
+ import { a as RegistrySettingsContainer, i as RegistryArticle, n as PluginArticle, o as LOAD_PLUGIN_DIALOG, r as PublicRegistryArticle, t as LoadPluginDialog } from "./chunk-containers.mjs";
2
+ export { LOAD_PLUGIN_DIALOG, LoadPluginDialog, PluginArticle, PublicRegistryArticle, RegistryArticle, RegistrySettingsContainer };
@@ -0,0 +1,3 @@
1
+ import { a as meta, i as getPluginSpecPath, n as REGISTRY_ID, r as getPluginPath, t as DISABLE_DEPENDENTS_DIALOG } from "./chunk-meta.mjs";
2
+ import { n as saveEnabledPlugins, t as loadEnabledPlugins } from "./chunk-storage.mjs";
3
+ export { DISABLE_DEPENDENTS_DIALOG, REGISTRY_ID, getPluginPath, getPluginSpecPath, loadEnabledPlugins, meta, saveEnabledPlugins };
@@ -0,0 +1,2 @@
1
+ import { a as meta, i as getPluginSpecPath, n as REGISTRY_ID, r as getPluginPath, t as DISABLE_DEPENDENTS_DIALOG } from "./chunk-meta.mjs";
2
+ export { DISABLE_DEPENDENTS_DIALOG, REGISTRY_ID, getPluginPath, getPluginSpecPath, meta };
@@ -0,0 +1,7 @@
1
+ import { OperationHandlerSet } from "@dxos/compute";
2
+ //#region src/operations/index.ts
3
+ var RegistryOperationHandlerSet = OperationHandlerSet.lazy(() => import("./chunk-open-plugin-registry.mjs"));
4
+ //#endregion
5
+ export { RegistryOperationHandlerSet };
6
+
7
+ //# sourceMappingURL=operations.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.mjs","names":[],"sources":["../../src/operations/index.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport { OperationHandlerSet } from '@dxos/compute';\n\nexport const RegistryOperationHandlerSet = OperationHandlerSet.lazy(() => import('./open-plugin-registry'));\n"],"mappings":";;AAMA,IAAa,8BAA8B,oBAAoB,WAAW,OAAO,mCAAyB"}
@@ -0,0 +1,9 @@
1
+ import { a as meta } from "./chunk-meta.mjs";
2
+ import { RegistryOperationHandlerSet } from "./operations.mjs";
3
+ import { Plugin } from "@dxos/app-framework";
4
+ //#region src/plugin.ts
5
+ var RegistryPlugin = Plugin.lazy(meta, () => import("#plugin"));
6
+ //#endregion
7
+ export { RegistryOperationHandlerSet, RegistryPlugin };
8
+
9
+ //# sourceMappingURL=plugin.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.mjs","names":[],"sources":["../../src/plugin.ts"],"sourcesContent":["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport const RegistryPlugin = Plugin.lazy(meta, () => import('#plugin'));\n\nexport { RegistryOperationHandlerSet } from './operations';\n"],"mappings":";;;;AAQA,IAAa,iBAAiB,OAAO,KAAK,YAAY,OAAO,UAAU"}
@@ -0,0 +1,66 @@
1
+ import { meta } from "#meta";
2
+ //#region src/translations.ts
3
+ var translations = [{ "en-US": { [meta.profile.key]: {
4
+ "plugin.name": "Registry",
5
+ "details.label": "Details",
6
+ "description.label": "Description",
7
+ "preview.label": "Preview",
8
+ "home-page.label": "Website",
9
+ "source.label": "Source",
10
+ "resources.label": "Resources",
11
+ "plugin-registry.label": "Plugins",
12
+ "plugin-settings.label": "Plugin Settings",
13
+ "bundled-plugins.label": "Bundled",
14
+ "installed-plugins.label": "Enabled",
15
+ "recommended-plugins.label": "Recommended",
16
+ "labs-plugins.label": "Labs",
17
+ "registry-plugins.label": "Registry",
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
+ "filter.label": "Filter plugins",
24
+ "filter.placeholder": "Filter…",
25
+ "registry.loading.label": "Loading registry plugins…",
26
+ "registry.error.label": "Failed to load registry plugins: {{message}}",
27
+ "registry.empty.label": "No registry plugins available.",
28
+ "dev-plugin.section.title": "Dev Server",
29
+ "dev-plugin.description": "Load a plugin from a local Vite dev server (the `composerPlugin` defaults to port 3967). Composer re-attaches it on every reload, surviving HMR — useful when iterating on a community plugin against a live registry version.",
30
+ "dev-plugin.url.label": "Manifest URL",
31
+ "dev-plugin.url.description": "Defaults to the local dev server. Edit if your dev server runs on a different port.",
32
+ "dev-plugin.toggle.label": "Dev plugin",
33
+ "dev-plugin.toggle.description": "Stays on across reloads. If the dev server is offline at boot, a warning is logged and the next reload retries.",
34
+ "dev-plugin.enable.label": "Enable",
35
+ "dev-plugin.disable.label": "Disable",
36
+ "dev-plugin.busy.label": "Loading…",
37
+ "dev-plugin.not-loaded.message": "Dev plugin is enabled but not currently loaded. Check that the dev server is running, then reload.",
38
+ "coming-soon.label": "Coming soon!",
39
+ "open-plugin-registry.label": "Open plugin registry",
40
+ "install.label": "Install",
41
+ "installing.label": "Installing…",
42
+ "uninstall.label": "Uninstall",
43
+ "update.label": "Update",
44
+ "updating.label": "Updating…",
45
+ "versions.label": "Versions",
46
+ "installed.label": "installed",
47
+ "install-version.label": "Install version",
48
+ "failure-badge.label": "Plugin failure details",
49
+ "failure-title.label": "Plugin {{phase}} failed ({{reason}})",
50
+ "failure-phase-load.label": "load",
51
+ "failure-phase-activation.label": "activation",
52
+ "failure-reason-timeout.label": "Timed out",
53
+ "failure-reason-error.label": "Error",
54
+ "dependencies.label": "Dependencies",
55
+ "dependents.label": "Required by",
56
+ "spec.label": "Specification",
57
+ "open-spec.label": "Open Specification",
58
+ "disable-dependents-dialog.title": "Disable dependent plugins?",
59
+ "disable-dependents-dialog.description": "Disabling {{plugin}} will also disable the following plugins that depend on it:",
60
+ "disable-dependents-dialog.confirm.label": "Disable",
61
+ "cancel.label": "Cancel"
62
+ } } }];
63
+ //#endregion
64
+ export { translations };
65
+
66
+ //# sourceMappingURL=translations.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translations.mjs","names":[],"sources":["../../src/translations.ts"],"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.profile.key]: {\n 'plugin.name': 'Registry',\n 'details.label': 'Details',\n 'description.label': 'Description',\n 'preview.label': 'Preview',\n 'home-page.label': 'Website',\n 'source.label': 'Source',\n 'resources.label': 'Resources',\n 'plugin-registry.label': 'Plugins',\n 'plugin-settings.label': 'Plugin Settings',\n 'bundled-plugins.label': 'Bundled',\n 'installed-plugins.label': 'Enabled',\n 'recommended-plugins.label': 'Recommended',\n 'labs-plugins.label': 'Labs',\n 'registry-plugins.label': 'Registry',\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 'filter.label': 'Filter plugins',\n 'filter.placeholder': 'Filter…',\n 'registry.loading.label': 'Loading registry plugins…',\n 'registry.error.label': 'Failed to load registry plugins: {{message}}',\n 'registry.empty.label': 'No registry plugins available.',\n 'dev-plugin.section.title': 'Dev Server',\n 'dev-plugin.description':\n 'Load a plugin from a local Vite dev server (the `composerPlugin` defaults to port 3967). Composer re-attaches it on every reload, surviving HMR — useful when iterating on a community plugin against a live registry version.',\n 'dev-plugin.url.label': 'Manifest URL',\n 'dev-plugin.url.description':\n 'Defaults to the local dev server. Edit if your dev server runs on a different port.',\n 'dev-plugin.toggle.label': 'Dev plugin',\n 'dev-plugin.toggle.description':\n 'Stays on across reloads. If the dev server is offline at boot, a warning is logged and the next reload retries.',\n 'dev-plugin.enable.label': 'Enable',\n 'dev-plugin.disable.label': 'Disable',\n 'dev-plugin.busy.label': 'Loading…',\n 'dev-plugin.not-loaded.message':\n 'Dev plugin is enabled but not currently loaded. Check that the dev server is running, then reload.',\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 'update.label': 'Update',\n 'updating.label': 'Updating…',\n 'versions.label': 'Versions',\n 'installed.label': 'installed',\n 'install-version.label': 'Install version',\n 'failure-badge.label': 'Plugin failure details',\n 'failure-title.label': 'Plugin {{phase}} failed ({{reason}})',\n 'failure-phase-load.label': 'load',\n 'failure-phase-activation.label': 'activation',\n 'failure-reason-timeout.label': 'Timed out',\n 'failure-reason-error.label': 'Error',\n 'dependencies.label': 'Dependencies',\n 'dependents.label': 'Required by',\n 'spec.label': 'Specification',\n 'open-spec.label': 'Open Specification',\n 'disable-dependents-dialog.title': 'Disable dependent plugins?',\n 'disable-dependents-dialog.description':\n 'Disabling {{plugin}} will also disable the following plugins that depend on it:',\n 'disable-dependents-dialog.confirm.label': 'Disable',\n 'cancel.label': 'Cancel',\n },\n },\n },\n] as const satisfies Resource[];\n"],"mappings":";;AAQA,IAAa,eAAe,CAC1B,EACE,SAAS,GACN,KAAK,QAAQ,MAAM;CAClB,eAAe;CACf,iBAAiB;CACjB,qBAAqB;CACrB,iBAAiB;CACjB,mBAAmB;CACnB,gBAAgB;CAChB,mBAAmB;CACnB,yBAAyB;CACzB,yBAAyB;CACzB,yBAAyB;CACzB,2BAA2B;CAC3B,6BAA6B;CAC7B,sBAAsB;CACtB,0BAA0B;CAC1B,qBAAqB;CACrB,4BAA4B;CAC5B,oBAAoB;CACpB,qBAAqB;CACrB,iBAAiB;CACjB,gBAAgB;CAChB,sBAAsB;CACtB,0BAA0B;CAC1B,wBAAwB;CACxB,wBAAwB;CACxB,4BAA4B;CAC5B,0BACE;CACF,wBAAwB;CACxB,8BACE;CACF,2BAA2B;CAC3B,iCACE;CACF,2BAA2B;CAC3B,4BAA4B;CAC5B,yBAAyB;CACzB,iCACE;CACF,qBAAqB;CACrB,8BAA8B;CAC9B,iBAAiB;CACjB,oBAAoB;CACpB,mBAAmB;CACnB,gBAAgB;CAChB,kBAAkB;CAClB,kBAAkB;CAClB,mBAAmB;CACnB,yBAAyB;CACzB,uBAAuB;CACvB,uBAAuB;CACvB,4BAA4B;CAC5B,kCAAkC;CAClC,gCAAgC;CAChC,8BAA8B;CAC9B,sBAAsB;CACtB,oBAAoB;CACpB,cAAc;CACd,mBAAmB;CACnB,mCAAmC;CACnC,yCACE;CACF,2CAA2C;CAC3C,gBAAgB;AAClB,EACF,EACF,CACF"}
@@ -0,0 +1,29 @@
1
+ import { a as meta } from "./chunk-meta.mjs";
2
+ import { Capability } from "@dxos/app-framework";
3
+ import * as Schema from "effect/Schema";
4
+ //#region src/types.ts
5
+ var RegistrySettingsSchema = Schema.mutable(Schema.Struct({
6
+ experimental: Schema.optional(Schema.Boolean),
7
+ /**
8
+ * Manifest URL for a plugin served by a local Vite dev server. The
9
+ * registry settings panel pre-fills this with `localhost:3967`; authors
10
+ * iterating on a different port can edit it.
11
+ */
12
+ devPluginUrl: Schema.optional(Schema.String),
13
+ /**
14
+ * When true, the registry plugin attempts to load `devPluginUrl` on every
15
+ * app boot. Failures (dev server offline, manifest 404) are logged and
16
+ * the flag stays on so the next boot retries — the user explicitly turns
17
+ * it off when they're done iterating.
18
+ */
19
+ devPluginEnabled: Schema.optional(Schema.Boolean)
20
+ }));
21
+ var RegistryCapabilities;
22
+ (function(_RegistryCapabilities) {
23
+ _RegistryCapabilities.Settings = Capability.make(`${meta.profile.key}.capability.settings`);
24
+ })(RegistryCapabilities || (RegistryCapabilities = {}));
25
+ var RegistryTagType = Schema.Literal("new", "beta", "alpha", "labs", "popular", "featured", "experimental", "registry", "local");
26
+ //#endregion
27
+ export { RegistryCapabilities, RegistrySettingsSchema, RegistryTagType };
28
+
29
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","names":[],"sources":["../../src/types.ts"],"sourcesContent":["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Atom } from '@effect-atom/atom';\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport const RegistrySettingsSchema = Schema.mutable(\n Schema.Struct({\n experimental: Schema.optional(Schema.Boolean),\n /**\n * Manifest URL for a plugin served by a local Vite dev server. The\n * registry settings panel pre-fills this with `localhost:3967`; authors\n * iterating on a different port can edit it.\n */\n devPluginUrl: Schema.optional(Schema.String),\n /**\n * When true, the registry plugin attempts to load `devPluginUrl` on every\n * app boot. Failures (dev server offline, manifest 404) are logged and\n * the flag stays on so the next boot retries — the user explicitly turns\n * it off when they're done iterating.\n */\n devPluginEnabled: Schema.optional(Schema.Boolean),\n }),\n);\n\nexport type RegistrySettings = Schema.Schema.Type<typeof RegistrySettingsSchema>;\n\n/**\n * Per-plugin capabilities exposed by `@dxos/plugin-registry`.\n */\nexport namespace RegistryCapabilities {\n export const Settings = Capability.make<Atom.Writable<RegistrySettings>>(`${meta.profile.key}.capability.settings`);\n}\n\nexport const RegistryTagType = Schema.Literal(\n 'new',\n 'beta',\n 'alpha',\n 'labs',\n 'popular',\n 'featured',\n 'experimental',\n 'registry',\n 'local',\n);\n\nexport type RegistryTagType = Schema.Schema.Type<typeof RegistryTagType>;\n"],"mappings":";;;;AAWA,IAAa,yBAAyB,OAAO,QAC3C,OAAO,OAAO;CACZ,cAAc,OAAO,SAAS,OAAO,OAAO;;;;;;CAM5C,cAAc,OAAO,SAAS,OAAO,MAAM;;;;;;;CAO3C,kBAAkB,OAAO,SAAS,OAAO,OAAO;AAClD,CAAC,CACH;AAOO,IAAA;;CACQ,sBAAA,WAAW,WAAW,KAAsC,GAAG,KAAK,QAAQ,IAAI,qBAAqB;GACpH,yBAAA,uBAAA,CAAA,EAAA;AAEA,IAAa,kBAAkB,OAAO,QACpC,OACA,QACA,SACA,QACA,WACA,YACA,gBACA,YACA,OACF"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ export type RegistryCategoryArticleProps = {
3
+ category: string;
4
+ };
5
+ /**
6
+ * Renders the {@link RegistryArticle} surface for one registry category. Centralises the
7
+ * `usePluginManager` + `useRegistryPlugins` + `useAutoTags` wiring shared by every category surface,
8
+ * none of which can live in a surface's `props` mapper.
9
+ */
10
+ export declare const RegistryCategoryArticle: ({ category }: RegistryCategoryArticleProps) => React.JSX.Element;
11
+ //# sourceMappingURL=RegistryCategoryArticle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegistryCategoryArticle.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/RegistryCategoryArticle.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAwBvC,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,iBAAkB,4BAA4B,sBAQjF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import * as Effect from 'effect/Effect';
2
2
  import { Capability } from '@dxos/app-framework';
3
- declare const _default: (props: void) => Effect.Effect<Capability.Any, never, Capability.Service>;
3
+ declare const _default: (props: void) => Effect.Effect<Capability.Any, never, import("effect/Scope").Scope | Capability.Service>;
4
4
  export default _default;
5
5
  //# sourceMappingURL=app-graph-builder.d.ts.map
@@ -6,6 +6,6 @@ import { Capability } from '@dxos/app-framework';
6
6
  * timeout) are logged and swallowed so a stale dev URL never blocks app boot —
7
7
  * the toggle stays on, the next reload retries.
8
8
  */
9
- declare const _default: (props: void) => Effect.Effect<[], Error, Capability.Service>;
9
+ declare const _default: (props: void) => Effect.Effect<[], Error, import("effect/Scope").Scope | Capability.Service>;
10
10
  export default _default;
11
11
  //# sourceMappingURL=dev-plugin-loader.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import * as Effect from 'effect/Effect';
2
2
  import { Capability } from '@dxos/app-framework';
3
3
  import type { OperationHandlerSet } from '@dxos/compute';
4
- declare const _default: (props: OperationHandlerSet.OperationHandlerSet) => Effect.Effect<Capability.ModuleReturn, Error, Capability.Service>;
4
+ declare const _default: (props: OperationHandlerSet.OperationHandlerSet) => Effect.Effect<Capability.ModuleReturn, Error, import("effect/Scope").Scope | Capability.Service>;
5
5
  export default _default;
6
6
  //# sourceMappingURL=operation-handler.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import * as Effect from 'effect/Effect';
2
2
  import { Capability } from '@dxos/app-framework';
3
- declare const _default: (props: void) => Effect.Effect<Capability.Any, never, never>;
3
+ declare const _default: (props: void) => Effect.Effect<Capability.Any, never, import("effect/Scope").Scope>;
4
4
  export default _default;
5
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":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAgB,UAAU,EAAU,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAgB,UAAU,EAAU,MAAM,qBAAqB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import * as Effect from 'effect/Effect';
2
2
  import { Capability } from '@dxos/app-framework';
3
- declare const _default: (props: void) => Effect.Effect<[Capability.Any, Capability.Any], never, never>;
3
+ declare const _default: (props: void) => Effect.Effect<[Capability.Any, Capability.Any], never, import("effect/Scope").Scope>;
4
4
  export default _default;
5
5
  //# sourceMappingURL=settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../src/categories.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,qBAAqB,CAAC;AAI7D,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC;AAEjE,MAAM,MAAM,qBAAqB,GAAG;IAClC,4CAA4C;IAC5C,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,0BAA0B;IAC1B,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,yDAAyD;IACzD,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,aACrB,MAAM,gCACc,qBAAqB,KAClD,eAcF,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,QAAO,WAAW,CAAC,MAAM,CACQ,CAAC"}
1
+ {"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../src/categories.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,qBAAqB,CAAC;AAE7D,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC;AAKjE,MAAM,MAAM,qBAAqB,GAAG;IAClC,4CAA4C;IAC5C,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,0BAA0B;IAC1B,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,yDAAyD;IACzD,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,aACrB,MAAM,gCACc,qBAAqB,KAClD,eAgBF,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,QAAO,WAAW,CAAC,MAAM,CACQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=categories.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"categories.test.d.ts","sourceRoot":"","sources":["../../../src/categories.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/commands/registry/util.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAI1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AA+C3B,QAAA,MAAM,uBAAuB;;;EAG3B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEnF,QAAA,MAAM,sBAAsB;;;;EAI1B,CAAC;AAKH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,sBAAsB,CAAC,CAAC;AA4CjF,gFAAgF;AAChF,eAAO,MAAM,aAAa,WAAY,MAAM,uJAGzC,CAAC;AAEJ,+FAA+F;AAC/F,eAAO,MAAM,UAAU,QAAS,MAAM,+JAqBlC,CAAC;AAcL,yDAAyD;AACzD,KAAK,kBAAkB,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,qGAAqG;AACrG,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,aAAa,WAAY,MAAM,eAAe,MAAM;;;;;;2LAiB7D,CAAC;AAEL,MAAM,MAAM,qBAAqB,GAAG;IAClC,sCAAsC;IACtC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,4CAA4C;IAC5C,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,YAAa,qBAAqB;;;;;;;;;;;;;;;;sOAyBzD,CAAC;AAiFL,2EAA2E;AAC3E,eAAO,MAAM,SAAS,YAAa,OAAO,cAAc,MAAM,QAAQ,MAAM,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;mLAW5G,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,YAAY,YAAa,OAAO,cAAc,MAAM,QAAQ,MAAM,4MAO9E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,YACb,OAAO,cACJ,MAAM,YACT;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;mLAe7C,CAAC;AAMF,eAAO,MAAM,wBAAwB;aACnC,MAAM,EACJ,iHAAiH;aACnH,WAAW;CAGH,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/commands/registry/util.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAC;AAI1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AA+C3B,QAAA,MAAM,uBAAuB;;;EAG3B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEnF,QAAA,MAAM,sBAAsB;;;;EAI1B,CAAC;AAKH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,sBAAsB,CAAC,CAAC;AA4CjF,gFAAgF;AAChF,eAAO,MAAM,aAAa,WAAY,MAAM,uJAGzC,CAAC;AAEJ,+FAA+F;AAC/F,eAAO,MAAM,UAAU,QAAS,MAAM,+JAqBlC,CAAC;AAcL,yDAAyD;AACzD,KAAK,kBAAkB,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,qGAAqG;AACrG,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,aAAa,WAAY,MAAM,eAAe,MAAM;;;;;;2LAiB7D,CAAC;AAEL,MAAM,MAAM,qBAAqB,GAAG;IAClC,sCAAsC;IACtC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,4CAA4C;IAC5C,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,YAAa,qBAAqB;;;;;;;;;;;;;;;;sOAyBzD,CAAC;AAiFL,2EAA2E;AAC3E,eAAO,MAAM,SAAS,YAAa,OAAO,cAAc,MAAM,QAAQ,MAAM,UAAU,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;mLAW5G,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,YAAY,YAAa,OAAO,cAAc,MAAM,QAAQ,MAAM,4MAO9E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,YACb,OAAO,cACJ,MAAM,YACT;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;mLAe7C,CAAC;AAMF,eAAO,MAAM,wBAAwB;aACnC,MAAM,EACJ,iHAAiH;aACnH,WAAW;CAGH,CAAC"}
@@ -78,5 +78,5 @@ export type PluginDetailProps = {
78
78
  };
79
79
  export declare const PluginDetail: React.ForwardRefExoticComponent<Omit<PluginDetailProps, "className"> & {
80
80
  classNames?: import("@dxos/ui-types").ClassNameValue;
81
- } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
81
+ } & Pick<React.HTMLAttributes<Element>, "children" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
82
82
  //# sourceMappingURL=PluginDetail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginDetail.d.ts","sourceRoot":"","sources":["../../../../../src/components/PluginDetail/PluginDetail.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAiC,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAsBtE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qGAAqG;IACrG,QAAQ,CAAC,EAAE,SAAS,MAAM,CAAC,OAAO,EAAE,CAAC;IACrC;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC;IACtC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,YAAY;;2HAqNxB,CAAC"}
1
+ {"version":3,"file":"PluginDetail.d.ts","sourceRoot":"","sources":["../../../../../src/components/PluginDetail/PluginDetail.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAiC,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAsBtE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qGAAqG;IACrG,QAAQ,CAAC,EAAE,SAAS,MAAM,CAAC,OAAO,EAAE,CAAC;IACrC;;;;OAIG;IACH,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC;IACtC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,eAAO,MAAM,YAAY;;6GAqNxB,CAAC"}
@@ -3,7 +3,7 @@ declare const meta: {
3
3
  title: string;
4
4
  component: import("react").ForwardRefExoticComponent<Omit<import("./PluginDetail").PluginDetailProps, "className"> & {
5
5
  classNames?: import("@dxos/ui-types").ClassNameValue;
6
- } & Pick<import("react").HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & import("react").RefAttributes<HTMLDivElement>>;
6
+ } & Pick<import("react").HTMLAttributes<Element>, "children" | "role" | "style"> & import("react").RefAttributes<HTMLDivElement>>;
7
7
  decorators: import("@storybook/react").Decorator[];
8
8
  parameters: {
9
9
  layout: string;
@@ -16,5 +16,5 @@ export type BaseRegistryArticleProps = {
16
16
  } & Pick<PluginListProps, 'installed' | 'installing' | 'updating' | 'updateAvailableIds' | 'extraTagsById' | 'failuresById' | 'onInstall' | 'onUpdate'>;
17
17
  export declare const BaseRegistryArticle: React.ForwardRefExoticComponent<Omit<BaseRegistryArticleProps, "className"> & {
18
18
  classNames?: import("@dxos/ui-types").ClassNameValue;
19
- } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
19
+ } & Pick<React.HTMLAttributes<Element>, "children" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
20
20
  //# sourceMappingURL=BaseRegistryArticle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseRegistryArticle.d.ts","sourceRoot":"","sources":["../../../../../src/containers/BaseRegistryArticle/BaseRegistryArticle.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAkC,MAAM,OAAO,CAAC;AAE9E,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAQlD,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAU/D,MAAM,MAAM,wBAAwB,GAAG;IACrC,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,GAAG,IAAI,CACN,eAAe,EACb,WAAW,GACX,YAAY,GACZ,UAAU,GACV,oBAAoB,GACpB,eAAe,GACf,cAAc,GACd,WAAW,GACX,UAAU,CACb,CAAC;AAEF,eAAO,MAAM,mBAAmB;;2HA6H/B,CAAC"}
1
+ {"version":3,"file":"BaseRegistryArticle.d.ts","sourceRoot":"","sources":["../../../../../src/containers/BaseRegistryArticle/BaseRegistryArticle.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAkC,MAAM,OAAO,CAAC;AAE9E,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAQlD,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAU/D,MAAM,MAAM,wBAAwB,GAAG;IACrC,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,OAAO,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,GAAG,IAAI,CACN,eAAe,EACb,WAAW,GACX,YAAY,GACZ,UAAU,GACV,oBAAoB,GACpB,eAAe,GACf,cAAc,GACd,WAAW,GACX,UAAU,CACb,CAAC;AAEF,eAAO,MAAM,mBAAmB;;6GA6H/B,CAAC"}
@@ -1,5 +1,8 @@
1
1
  import React from 'react';
2
2
  import { DXN } from '@dxos/keys';
3
3
  export declare const LOAD_PLUGIN_DIALOG: DXN.DXN;
4
- export declare const LoadPluginDialog: () => React.JSX.Element;
4
+ export declare function LoadPluginDialog(): React.JSX.Element;
5
+ export declare namespace LoadPluginDialog {
6
+ var displayName: string;
7
+ }
5
8
  //# sourceMappingURL=LoadPluginDialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoadPluginDialog.d.ts","sourceRoot":"","sources":["../../../../../src/containers/LoadPluginDialog/LoadPluginDialog.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAI7D,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAKjC,eAAO,MAAM,kBAAkB,SAAmD,CAAC;AAEnF,eAAO,MAAM,gBAAgB,yBAuE5B,CAAC"}
1
+ {"version":3,"file":"LoadPluginDialog.d.ts","sourceRoot":"","sources":["../../../../../src/containers/LoadPluginDialog/LoadPluginDialog.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAI7D,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAKjC,eAAO,MAAM,kBAAkB,SAAmD,CAAC"}
@@ -3,5 +3,8 @@ import { type Plugin } from '@dxos/app-framework';
3
3
  export type PluginArticleProps = {
4
4
  subject: Plugin.Plugin;
5
5
  };
6
- export declare const PluginArticle: ({ subject: plugin }: PluginArticleProps) => React.JSX.Element;
6
+ export declare function PluginArticle({ subject: plugin }: PluginArticleProps): React.JSX.Element;
7
+ export declare namespace PluginArticle {
8
+ var displayName: string;
9
+ }
7
10
  //# sourceMappingURL=PluginArticle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginArticle.d.ts","sourceRoot":"","sources":["../../../../../src/containers/PluginArticle/PluginArticle.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAgBlD,MAAM,MAAM,kBAAkB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAA;CAAE,CAAC;AAE5D,eAAO,MAAM,aAAa,wBAAyB,kBAAkB,sBA6FpE,CAAC"}
1
+ {"version":3,"file":"PluginArticle.d.ts","sourceRoot":"","sources":["../../../../../src/containers/PluginArticle/PluginArticle.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAgBlD,MAAM,MAAM,kBAAkB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAA;CAAE,CAAC;sCAE9B,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,kBAAkB"}
@@ -4,5 +4,5 @@ export type PublicRegistryArticleProps = {
4
4
  };
5
5
  export declare const PublicRegistryArticle: React.ForwardRefExoticComponent<Omit<PublicRegistryArticleProps, "className"> & {
6
6
  classNames?: import("@dxos/ui-types").ClassNameValue;
7
- } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
7
+ } & Pick<React.HTMLAttributes<Element>, "children" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
8
8
  //# sourceMappingURL=PublicRegistryArticle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublicRegistryArticle.d.ts","sourceRoot":"","sources":["../../../../../src/containers/PublicRegistryArticle/PublicRegistryArticle.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAyC,MAAM,OAAO,CAAC;AA2C9D,MAAM,MAAM,0BAA0B,GAAG;IACvC,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,eAAO,MAAM,qBAAqB;;2HAgJjC,CAAC"}
1
+ {"version":3,"file":"PublicRegistryArticle.d.ts","sourceRoot":"","sources":["../../../../../src/containers/PublicRegistryArticle/PublicRegistryArticle.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAyC,MAAM,OAAO,CAAC;AA2C9D,MAAM,MAAM,0BAA0B,GAAG;IACvC,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,eAAO,MAAM,qBAAqB;;6GAgJjC,CAAC"}
@@ -10,5 +10,5 @@ export type RegistryArticleProps = {
10
10
  };
11
11
  export declare const RegistryArticle: React.ForwardRefExoticComponent<Omit<RegistryArticleProps, "className"> & {
12
12
  classNames?: import("@dxos/ui-types").ClassNameValue;
13
- } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
13
+ } & Pick<React.HTMLAttributes<Element>, "children" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
14
14
  //# sourceMappingURL=RegistryArticle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RegistryArticle.d.ts","sourceRoot":"","sources":["../../../../../src/containers/RegistryArticle/RegistryArticle.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,MAAM,EAAsB,MAAM,qBAAqB,CAAC;AAStE,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACzB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,eAAe;;2HAyB3B,CAAC"}
1
+ {"version":3,"file":"RegistryArticle.d.ts","sourceRoot":"","sources":["../../../../../src/containers/RegistryArticle/RegistryArticle.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,MAAM,EAAsB,MAAM,qBAAqB,CAAC;AAStE,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACzB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,eAAe;;6GAyB3B,CAAC"}
@@ -3,11 +3,8 @@ import { type AppCapabilities } from '@dxos/app-toolkit';
3
3
  export type RegistrySettingsContainerProps = {
4
4
  subject: AppCapabilities.Settings;
5
5
  };
6
- /**
7
- * Wires the {@link RegistrySettings} presentational component to the plugin
8
- * manager and the settings atom: subscribes to `manager.devPluginIds` for the
9
- * "currently loaded" indicator and exposes enable/disable callbacks that drive
10
- * the manager's add/enable/remove flow.
11
- */
12
- export declare const RegistrySettingsContainer: ({ subject }: RegistrySettingsContainerProps) => React.JSX.Element;
6
+ export declare function RegistrySettingsContainer({ subject }: RegistrySettingsContainerProps): React.JSX.Element;
7
+ export declare namespace RegistrySettingsContainer {
8
+ var displayName: string;
9
+ }
13
10
  //# sourceMappingURL=RegistrySettingsContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RegistrySettingsContainer.d.ts","sourceRoot":"","sources":["../../../../../src/containers/RegistrySettingsContainer/RegistrySettingsContainer.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAG3C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMzD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC;CACnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,gBAAiB,8BAA8B,sBAiCpF,CAAC"}
1
+ {"version":3,"file":"RegistrySettingsContainer.d.ts","sourceRoot":"","sources":["../../../../../src/containers/RegistrySettingsContainer/RegistrySettingsContainer.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAG3C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMzD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC;CACnC,CAAC;kDAQwC,EAAE,OAAO,EAAE,EAAE,8BAA8B"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePluginActions.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePluginActions.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAa,MAAM,qBAAqB,CAAC;AAWjF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;IACtC,cAAc,EAAE,SAAS,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1C,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,oBAAoB,EAAE,MAAM,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,2HAS1B,kBAAkB,KAAG,aAoHvB,CAAC"}
1
+ {"version":3,"file":"usePluginActions.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePluginActions.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAa,MAAM,qBAAqB,CAAC;AAWjF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;IACtC,cAAc,EAAE,SAAS,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1C,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,oBAAoB,EAAE,MAAM,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,2HAS1B,kBAAkB,KAAG,aAwHvB,CAAC"}