@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
@@ -10,9 +10,9 @@ import { useOperationInvoker } from '@dxos/app-framework/ui';
10
10
  import { LayoutOperation } from '@dxos/app-toolkit';
11
11
  import { useAppGraph } from '@dxos/app-toolkit/ui';
12
12
  import { EffectEx } from '@dxos/effect';
13
- import { useNode } from '@dxos/plugin-graph';
13
+ import { useNode } from '@dxos/plugin-graph/hooks';
14
14
 
15
- import { getPluginSpecPath } from '#meta';
15
+ import { getPluginPath, getPluginSpecPath } from '#meta';
16
16
 
17
17
  import { useDisableConfirmation } from './useDisableConfirmation';
18
18
 
@@ -74,8 +74,12 @@ export const usePluginActions = ({
74
74
  const specPath = getPluginSpecPath(pluginId);
75
75
  const hasSpecNode = !!useNode(graph, specPath);
76
76
  const handleOpenSpec = useCallback(() => {
77
- void invokePromise(LayoutOperation.Open, { subject: [specPath] });
78
- }, [invokePromise, specPath]);
77
+ void invokePromise(LayoutOperation.Open, {
78
+ subject: [specPath],
79
+ pivotId: getPluginPath(pluginId),
80
+ disposition: 'add',
81
+ });
82
+ }, [invokePromise, specPath, pluginId]);
79
83
 
80
84
  const handleEnableChange = useCallback(
81
85
  (enabled: boolean) => {
package/src/meta.ts CHANGED
@@ -3,19 +3,16 @@
3
3
  //
4
4
 
5
5
  import { Plugin } from '@dxos/app-framework';
6
- import { Paths } from '@dxos/app-toolkit';
6
+ import { GraphPath } from '@dxos/app-toolkit';
7
7
  import { DXN } from '@dxos/keys';
8
8
 
9
9
  import config from '../dx.config';
10
10
 
11
- export const REGISTRY_ID = Paths.pinnedWorkspaceId('dxos:plugin-registry');
12
- export const REGISTRY_KEY = 'plugin-registry';
11
+ export const REGISTRY_ID = GraphPath.pinnedWorkspaceId('dxos:plugin-registry');
13
12
 
14
- // TODO(wittjosiah): Should this be a special separator or use the standard path separator?
15
- const CATEGORY_SEPARATOR = '>';
16
-
17
- /** Build a registry category node ID. */
18
- export const registryCategoryId = (category: string): string => `${REGISTRY_KEY}${CATEGORY_SEPARATOR}${category}`;
13
+ // A registry category node id is the bare category name (e.g. `bundled`), which doubles as its URL
14
+ // segment (`category/<name>`); the graph builder, the category surfaces and `getCategoryPredicate` all
15
+ // use the name directly.
19
16
 
20
17
  /** Qualified graph path to a specific plugin node. */
21
18
  export const getPluginPath = (pluginId: string): string => `root/${REGISTRY_ID}/${pluginId}`;
@@ -4,7 +4,7 @@
4
4
 
5
5
  import * as Effect from 'effect/Effect';
6
6
 
7
- import { LayoutOperation, Paths, SettingsOperation } from '@dxos/app-toolkit';
7
+ import { GraphPath, LayoutOperation, SettingsOperation } from '@dxos/app-toolkit';
8
8
  import { Operation } from '@dxos/compute';
9
9
 
10
10
  import { REGISTRY_ID } from '#meta';
@@ -13,7 +13,7 @@ const handler: Operation.WithHandler<typeof SettingsOperation.OpenPluginRegistry
13
13
  SettingsOperation.OpenPluginRegistry.pipe(
14
14
  Operation.withHandler(
15
15
  Effect.fnUntraced(function* () {
16
- yield* Operation.invoke(LayoutOperation.SwitchWorkspace, { subject: Paths.getSpacePath(REGISTRY_ID) });
16
+ yield* Operation.invoke(LayoutOperation.SwitchWorkspace, { subject: GraphPath.getSpacePath(REGISTRY_ID) });
17
17
  }),
18
18
  ),
19
19
  );
package/src/types.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import { type Atom } from '@effect-atom/atom-react';
5
+ import { type Atom } from '@effect-atom/atom';
6
6
  import * as Schema from 'effect/Schema';
7
7
 
8
8
  import { Capability } from '@dxos/app-framework';
@@ -40,6 +40,7 @@ export namespace RegistryCapabilities {
40
40
  export const RegistryTagType = Schema.Literal(
41
41
  'new',
42
42
  'beta',
43
+ 'alpha',
43
44
  'labs',
44
45
  'popular',
45
46
  'featured',
@@ -1,27 +0,0 @@
1
- // src/RegistryPlugin.tsx
2
- import { ActivationEvents, Plugin } from "@dxos/app-framework";
3
- import { AppPlugin } from "@dxos/app-toolkit";
4
- import { AppGraphBuilder, DevPluginLoader, OperationHandler, ReactSurface, RegistrySettings } from "#capabilities";
5
- import { meta } from "#meta";
6
- import { translations } from "#translations";
7
- var RegistryPlugin = Plugin.define(meta).pipe(AppPlugin.addAppGraphModule({
8
- activate: AppGraphBuilder
9
- }), AppPlugin.addOperationHandlerModule({
10
- activate: OperationHandler
11
- }), AppPlugin.addSettingsModule({
12
- activate: RegistrySettings
13
- }), AppPlugin.addSurfaceModule({
14
- activate: ReactSurface
15
- }), AppPlugin.addTranslationsModule({
16
- translations
17
- }), Plugin.addModule({
18
- id: "dev-plugin-loader",
19
- activatesOn: ActivationEvents.Startup,
20
- activate: DevPluginLoader
21
- }), Plugin.make);
22
- var RegistryPlugin_default = RegistryPlugin;
23
- export {
24
- RegistryPlugin,
25
- RegistryPlugin_default as default
26
- };
27
- //# sourceMappingURL=RegistryPlugin.mjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/RegistryPlugin.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { ActivationEvents, Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\n\nimport { AppGraphBuilder, DevPluginLoader, OperationHandler, ReactSurface, RegistrySettings } from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\n\nexport const RegistryPlugin = Plugin.define(meta).pipe(\n AppPlugin.addAppGraphModule({ activate: AppGraphBuilder }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addSettingsModule({ activate: RegistrySettings }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.addModule({\n id: 'dev-plugin-loader',\n activatesOn: ActivationEvents.Startup,\n activate: DevPluginLoader,\n }),\n Plugin.make,\n);\n\nexport default RegistryPlugin;\n"],
5
- "mappings": ";AAIA,SAASA,kBAAkBC,cAAc;AACzC,SAASC,iBAAiB;AAE1B,SAASC,iBAAiBC,iBAAiBC,kBAAkBC,cAAcC,wBAAwB;AACnG,SAASC,YAAY;AACrB,SAASC,oBAAoB;AAEtB,IAAMC,iBAAiBT,OAAOU,OAAOH,IAAAA,EAAMI,KAChDV,UAAUW,kBAAkB;EAAEC,UAAUX;AAAgB,CAAA,GACxDD,UAAUa,0BAA0B;EAAED,UAAUT;AAAiB,CAAA,GACjEH,UAAUc,kBAAkB;EAAEF,UAAUP;AAAiB,CAAA,GACzDL,UAAUe,iBAAiB;EAAEH,UAAUR;AAAa,CAAA,GACpDJ,UAAUgB,sBAAsB;EAAET;AAAa,CAAA,GAC/CR,OAAOkB,UAAU;EACfC,IAAI;EACJC,aAAarB,iBAAiBsB;EAC9BR,UAAUV;AACZ,CAAA,GACAH,OAAOsB,IAAI;AAGb,IAAA,yBAAeb;",
6
- "names": ["ActivationEvents", "Plugin", "AppPlugin", "AppGraphBuilder", "DevPluginLoader", "OperationHandler", "ReactSurface", "RegistrySettings", "meta", "translations", "RegistryPlugin", "define", "pipe", "addAppGraphModule", "activate", "addOperationHandlerModule", "addSettingsModule", "addSurfaceModule", "addTranslationsModule", "addModule", "id", "activatesOn", "Startup", "make"]
7
- }