@dxos/plugin-registry 0.7.5-labs.e27f9b9 → 0.7.5-main.2567c87

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 (62) hide show
  1. package/dist/lib/browser/{chunk-RGSIE33X.mjs → chunk-CMDU7LPH.mjs} +1 -5
  2. package/dist/lib/browser/chunk-CMDU7LPH.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +12 -31
  4. package/dist/lib/browser/index.mjs.map +3 -3
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/react-surface-HKWZP7OW.mjs +179 -0
  7. package/dist/lib/browser/react-surface-HKWZP7OW.mjs.map +7 -0
  8. package/dist/lib/browser/settings-7LOHS2IV.mjs +27 -0
  9. package/dist/lib/browser/settings-7LOHS2IV.mjs.map +7 -0
  10. package/dist/types/src/RegistryPlugin.d.ts.map +1 -1
  11. package/dist/types/src/capabilities/index.d.ts +2 -179
  12. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  13. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  14. package/dist/types/src/capabilities/{intent-resolver.d.ts → settings.d.ts} +2 -2
  15. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  16. package/dist/types/src/components/PluginList.d.ts +8 -5
  17. package/dist/types/src/components/PluginList.d.ts.map +1 -1
  18. package/dist/types/src/components/PluginList.stories.d.ts +1 -6
  19. package/dist/types/src/components/PluginList.stories.d.ts.map +1 -1
  20. package/dist/types/src/components/PluginSettings.d.ts +6 -0
  21. package/dist/types/src/components/PluginSettings.d.ts.map +1 -0
  22. package/dist/types/src/components/index.d.ts +1 -2
  23. package/dist/types/src/components/index.d.ts.map +1 -1
  24. package/dist/types/src/meta.d.ts +0 -2
  25. package/dist/types/src/meta.d.ts.map +1 -1
  26. package/dist/types/src/translations.d.ts +0 -9
  27. package/dist/types/src/translations.d.ts.map +1 -1
  28. package/package.json +15 -16
  29. package/src/RegistryPlugin.tsx +7 -12
  30. package/src/capabilities/index.ts +1 -2
  31. package/src/capabilities/react-surface.tsx +10 -76
  32. package/src/capabilities/settings.ts +19 -0
  33. package/src/components/PluginList.stories.tsx +21 -30
  34. package/src/components/PluginList.tsx +90 -13
  35. package/src/components/PluginSettings.tsx +112 -0
  36. package/src/components/index.ts +1 -2
  37. package/src/meta.ts +0 -4
  38. package/src/translations.ts +2 -11
  39. package/dist/lib/browser/app-graph-builder-PPWF5KP5.mjs +0 -164
  40. package/dist/lib/browser/app-graph-builder-PPWF5KP5.mjs.map +0 -7
  41. package/dist/lib/browser/chunk-RGSIE33X.mjs.map +0 -7
  42. package/dist/lib/browser/intent-resolver-2JQUQJI5.mjs +0 -23
  43. package/dist/lib/browser/intent-resolver-2JQUQJI5.mjs.map +0 -7
  44. package/dist/lib/browser/react-surface-HTHYQQF7.mjs +0 -295
  45. package/dist/lib/browser/react-surface-HTHYQQF7.mjs.map +0 -7
  46. package/dist/types/src/capabilities/app-graph-builder.d.ts +0 -181
  47. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +0 -1
  48. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  49. package/dist/types/src/components/PluginDetail.d.ts +0 -9
  50. package/dist/types/src/components/PluginDetail.d.ts.map +0 -1
  51. package/dist/types/src/components/PluginDetail.stories.d.ts +0 -8
  52. package/dist/types/src/components/PluginDetail.stories.d.ts.map +0 -1
  53. package/dist/types/src/components/PluginItem.d.ts +0 -11
  54. package/dist/types/src/components/PluginItem.d.ts.map +0 -1
  55. package/dist/types/src/components/RegistryContainer.d.ts +0 -7
  56. package/dist/types/src/components/RegistryContainer.d.ts.map +0 -1
  57. package/src/capabilities/app-graph-builder.ts +0 -126
  58. package/src/capabilities/intent-resolver.ts +0 -27
  59. package/src/components/PluginDetail.stories.tsx +0 -45
  60. package/src/components/PluginDetail.tsx +0 -63
  61. package/src/components/PluginItem.tsx +0 -100
  62. package/src/components/RegistryContainer.tsx +0 -51
@@ -1,180 +1,3 @@
1
- export declare const AppGraphBuilder: (props?: import("@dxos/app-framework").PluginsContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<Readonly<{
2
- id: string;
3
- position: import("packages/common/util/dist/types/src").Position;
4
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
5
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
6
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
7
- type?: string;
8
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
9
- }> | Readonly<{
10
- id: string;
11
- position: import("packages/common/util/dist/types/src").Position;
12
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
13
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
14
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
15
- type?: string;
16
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
17
- }>[] | (Readonly<{
18
- id: string;
19
- position: import("packages/common/util/dist/types/src").Position;
20
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
21
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
22
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
23
- type?: string;
24
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
25
- }> | Readonly<{
26
- id: string;
27
- position: import("packages/common/util/dist/types/src").Position;
28
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
29
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
30
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
31
- type?: string;
32
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
33
- }>[] | (Readonly<{
34
- id: string;
35
- position: import("packages/common/util/dist/types/src").Position;
36
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
37
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
38
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
39
- type?: string;
40
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
41
- }> | Readonly<{
42
- id: string;
43
- position: import("packages/common/util/dist/types/src").Position;
44
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
45
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
46
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
47
- type?: string;
48
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
49
- }>[] | (Readonly<{
50
- id: string;
51
- position: import("packages/common/util/dist/types/src").Position;
52
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
53
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
54
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
55
- type?: string;
56
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
57
- }> | Readonly<{
58
- id: string;
59
- position: import("packages/common/util/dist/types/src").Position;
60
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
61
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
62
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
63
- type?: string;
64
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
65
- }>[] | (Readonly<{
66
- id: string;
67
- position: import("packages/common/util/dist/types/src").Position;
68
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
69
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
70
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
71
- type?: string;
72
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
73
- }> | Readonly<{
74
- id: string;
75
- position: import("packages/common/util/dist/types/src").Position;
76
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
77
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
78
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
79
- type?: string;
80
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
81
- }>[] | (Readonly<{
82
- id: string;
83
- position: import("packages/common/util/dist/types/src").Position;
84
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
85
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
86
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
87
- type?: string;
88
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
89
- }> | Readonly<{
90
- id: string;
91
- position: import("packages/common/util/dist/types/src").Position;
92
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
93
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
94
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
95
- type?: string;
96
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
97
- }>[] | (Readonly<{
98
- id: string;
99
- position: import("packages/common/util/dist/types/src").Position;
100
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
101
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
102
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
103
- type?: string;
104
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
105
- }> | Readonly<{
106
- id: string;
107
- position: import("packages/common/util/dist/types/src").Position;
108
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
109
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
110
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
111
- type?: string;
112
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
113
- }>[] | (Readonly<{
114
- id: string;
115
- position: import("packages/common/util/dist/types/src").Position;
116
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
117
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
118
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
119
- type?: string;
120
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
121
- }> | Readonly<{
122
- id: string;
123
- position: import("packages/common/util/dist/types/src").Position;
124
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
125
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
126
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
127
- type?: string;
128
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
129
- }>[] | (Readonly<{
130
- id: string;
131
- position: import("packages/common/util/dist/types/src").Position;
132
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
133
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
134
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
135
- type?: string;
136
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
137
- }> | Readonly<{
138
- id: string;
139
- position: import("packages/common/util/dist/types/src").Position;
140
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
141
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
142
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
143
- type?: string;
144
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
145
- }>[] | (Readonly<{
146
- id: string;
147
- position: import("packages/common/util/dist/types/src").Position;
148
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
149
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
150
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
151
- type?: string;
152
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
153
- }> | Readonly<{
154
- id: string;
155
- position: import("packages/common/util/dist/types/src").Position;
156
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
157
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
158
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
159
- type?: string;
160
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
161
- }>[] | (any[] | Readonly<{
162
- id: string;
163
- position: import("packages/common/util/dist/types/src").Position;
164
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
165
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
166
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
167
- type?: string;
168
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
169
- }> | Readonly<{
170
- id: string;
171
- position: import("packages/common/util/dist/types/src").Position;
172
- resolver?: import("packages/sdk/app-graph/dist/types/src").ResolverExtension;
173
- connector?: import("packages/sdk/app-graph/dist/types/src").ConnectorExtension;
174
- relation?: import("packages/sdk/app-graph/dist/types/src").Relation;
175
- type?: string;
176
- filter?: (node: import("packages/sdk/app-graph/dist/types/src").Node) => boolean;
177
- }>[])[])[])[])[])[])[])[])[])[])[]> | import("@dxos/app-framework").AnyCapability[]>>;
178
- export declare const IntentResolver: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.IntentResolver> | import("@dxos/app-framework").AnyCapability[]>>;
179
- export declare const ReactSurface: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.ReactSurface> | import("@dxos/app-framework").AnyCapability[]>>;
1
+ export declare const ReactSurface: (props?: unknown) => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.ReactSurface>>;
2
+ export declare const RegistrySettings: (props?: unknown) => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.Settings>>;
180
3
  //# 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;;qBAG63F,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAwF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;qBAAqF,qCAAqC;sBAAsC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;qFAH9pW,CAAC;AACzE,eAAO,MAAM,cAAc,kMAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,gMAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY,iIAAwC,CAAC;AAClE,eAAO,MAAM,gBAAgB,6HAAmC,CAAC"}
@@ -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;;AAMzG,wBA6EK"}
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAA6C,MAAM,qBAAqB,CAAC;;AAM9F,wBAWK"}
@@ -1,4 +1,4 @@
1
1
  import { Capabilities } from '@dxos/app-framework';
2
- declare const _default: () => import("@dxos/app-framework").Capability<Capabilities.IntentResolver>;
2
+ declare const _default: () => import("@dxos/app-framework").Capability<Capabilities.Settings>;
3
3
  export default _default;
4
- //# sourceMappingURL=intent-resolver.d.ts.map
4
+ //# sourceMappingURL=settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/settings.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAe,MAAM,qBAAqB,CAAC;;AAMhE,wBAQE"}
@@ -1,8 +1,11 @@
1
1
  import React from 'react';
2
- import { type Plugin } from '@dxos/app-framework';
3
- import { type PluginItemProps } from './PluginItem';
4
- export type PluginListProps = Omit<PluginItemProps, 'plugin'> & {
5
- plugins?: readonly Plugin[];
2
+ import { type PluginMeta } from '@dxos/app-framework';
3
+ export type PluginListProps = {
4
+ plugins?: readonly PluginMeta[];
5
+ installed?: readonly string[];
6
+ enabled?: readonly string[];
7
+ onChange?: (id: string, enabled: boolean) => void;
8
+ onReload?: () => void;
6
9
  };
7
- export declare const PluginList: ({ plugins, ...props }: PluginListProps) => React.JSX.Element;
10
+ export declare const PluginList: ({ plugins, installed, enabled, onChange, onReload }: PluginListProps) => React.JSX.Element;
8
11
  //# sourceMappingURL=PluginList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginList.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginList.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,GAAG;IAC9D,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,UAAU,0BAAgC,eAAe,sBAUrE,CAAC"}
1
+ {"version":3,"file":"PluginList.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginList.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMtD,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,UAAU,wDAAwE,eAAe,sBAkF7G,CAAC"}
@@ -1,11 +1,6 @@
1
1
  import '@dxos-theme';
2
2
  import { type Meta } from '@storybook/react';
3
+ export declare const Default: {};
3
4
  declare const meta: Meta;
4
5
  export default meta;
5
- export declare const Default: {};
6
- export declare const Column: {
7
- args: {
8
- classNames: string;
9
- };
10
- };
11
6
  //# sourceMappingURL=PluginList.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginList.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginList.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAsD7C,QAAA,MAAM,IAAI,EAAE,IAKX,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,IAAK,CAAC;AAE1B,eAAO,MAAM,MAAM;;;;CAIlB,CAAC"}
1
+ {"version":3,"file":"PluginList.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginList.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAgD7C,eAAO,MAAM,OAAO,IAAK,CAAC;AAE1B,QAAA,MAAM,IAAI,EAAE,IAQX,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { type RegistrySettings } from '../types';
3
+ export declare const PluginSettings: ({ settings }: {
4
+ settings: RegistrySettings;
5
+ }) => React.JSX.Element;
6
+ //# sourceMappingURL=PluginSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginSettings.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginSettings.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAS/D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAIjD,eAAO,MAAM,cAAc,iBAAkB;IAAE,QAAQ,EAAE,gBAAgB,CAAA;CAAE,sBAqF1E,CAAC"}
@@ -1,4 +1,3 @@
1
- export * from './PluginDetail';
2
1
  export * from './PluginList';
3
- export * from './RegistryContainer';
2
+ export * from './PluginSettings';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
@@ -1,6 +1,4 @@
1
1
  export declare const REGISTRY_PLUGIN = "dxos.org/plugin/registry";
2
- export declare const REGISTRY_ID = "dxos:plugin-registry";
3
- export declare const REGISTRY_KEY = "plugin-registry";
4
2
  export declare const meta: {
5
3
  id: string;
6
4
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAG1D,eAAO,MAAM,WAAW,yBAAyB,CAAC;AAClD,eAAO,MAAM,YAAY,oBAAoB,CAAC;AAE9C,eAAO,MAAM,IAAI;;;CAGK,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAE1D,eAAO,MAAM,IAAI;;;CAGK,CAAC"}
@@ -9,15 +9,6 @@ declare const _default: {
9
9
  'settings section experimental label': string;
10
10
  'home page label': string;
11
11
  'source label': string;
12
- 'plugin registry label': string;
13
- 'all plugins label': string;
14
- 'installed plugins label': string;
15
- 'recommended plugins label': string;
16
- 'experimental plugins label': string;
17
- 'community plugins label': string;
18
- 'load by url label': string;
19
- 'coming soon label': string;
20
- 'open plugin registry label': string;
21
12
  };
22
13
  };
23
14
  }[];
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAMA,wBAwBE"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAMA,wBAeE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/plugin-registry",
3
- "version": "0.7.5-labs.e27f9b9",
3
+ "version": "0.7.5-main.2567c87",
4
4
  "description": "Braneframe plugin gallery",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -22,15 +22,12 @@
22
22
  "src"
23
23
  ],
24
24
  "dependencies": {
25
- "@dxos/app-framework": "0.7.5-labs.e27f9b9",
26
- "@dxos/echo-schema": "0.7.5-labs.e27f9b9",
27
- "@dxos/invariant": "0.7.5-labs.e27f9b9",
28
- "@dxos/live-object": "0.7.5-labs.e27f9b9",
29
- "@dxos/plugin-graph": "0.7.5-labs.e27f9b9",
30
- "@dxos/plugin-observability": "0.7.5-labs.e27f9b9",
31
- "@dxos/react-ui-form": "0.7.5-labs.e27f9b9",
32
- "@dxos/util": "0.7.5-labs.e27f9b9",
33
- "@dxos/react-ui-stack": "0.7.5-labs.e27f9b9"
25
+ "@dxos/echo-schema": "0.7.5-main.2567c87",
26
+ "@dxos/app-framework": "0.7.5-main.2567c87",
27
+ "@dxos/live-object": "0.7.5-main.2567c87",
28
+ "@dxos/plugin-observability": "0.7.5-main.2567c87",
29
+ "@dxos/react-ui-form": "0.7.5-main.2567c87",
30
+ "@dxos/util": "0.7.5-main.2567c87"
34
31
  },
35
32
  "devDependencies": {
36
33
  "@phosphor-icons/react": "^2.1.5",
@@ -39,17 +36,19 @@
39
36
  "react": "~18.2.0",
40
37
  "react-dom": "~18.2.0",
41
38
  "vite": "5.4.7",
42
- "@dxos/random": "0.7.5-labs.e27f9b9",
43
- "@dxos/react-ui": "0.7.5-labs.e27f9b9",
44
- "@dxos/react-ui-theme": "0.7.5-labs.e27f9b9",
45
- "@dxos/storybook-utils": "0.7.5-labs.e27f9b9"
39
+ "@dxos/random": "0.7.5-main.2567c87",
40
+ "@dxos/react-ui": "0.7.5-main.2567c87",
41
+ "@dxos/react-ui-theme": "0.7.5-main.2567c87",
42
+ "@dxos/react-ui-mosaic": "0.7.5-main.2567c87",
43
+ "@dxos/storybook-utils": "0.7.5-main.2567c87"
46
44
  },
47
45
  "peerDependencies": {
48
46
  "@phosphor-icons/react": "^2.1.5",
49
47
  "react": "~18.2.0",
50
48
  "react-dom": "~18.2.0",
51
- "@dxos/react-ui": "0.7.5-labs.e27f9b9",
52
- "@dxos/react-ui-theme": "0.7.5-labs.e27f9b9"
49
+ "@dxos/react-ui": "0.7.5-main.2567c87",
50
+ "@dxos/react-ui-mosaic": "0.7.5-main.2567c87",
51
+ "@dxos/react-ui-theme": "0.7.5-main.2567c87"
53
52
  },
54
53
  "publishConfig": {
55
54
  "access": "public"
@@ -4,12 +4,17 @@
4
4
 
5
5
  import { Capabilities, contributes, defineModule, definePlugin, Events } from '@dxos/app-framework';
6
6
 
7
- import { AppGraphBuilder, IntentResolver, ReactSurface } from './capabilities';
7
+ import { ReactSurface, RegistrySettings } from './capabilities';
8
8
  import { meta } from './meta';
9
9
  import translations from './translations';
10
10
 
11
11
  export const RegistryPlugin = () =>
12
12
  definePlugin(meta, [
13
+ defineModule({
14
+ id: `${meta.id}/module/settings`,
15
+ activatesOn: Events.SetupSettings,
16
+ activate: RegistrySettings,
17
+ }),
13
18
  defineModule({
14
19
  id: `${meta.id}/module/translations`,
15
20
  activatesOn: Events.SetupTranslations,
@@ -17,17 +22,7 @@ export const RegistryPlugin = () =>
17
22
  }),
18
23
  defineModule({
19
24
  id: `${meta.id}/module/react-surface`,
20
- activatesOn: Events.SetupSurfaces,
25
+ activatesOn: Events.Startup,
21
26
  activate: ReactSurface,
22
27
  }),
23
- defineModule({
24
- id: `${meta.id}/module/intent-resolver`,
25
- activatesOn: Events.SetupIntents,
26
- activate: IntentResolver,
27
- }),
28
- defineModule({
29
- id: `${meta.id}/module/app-graph-builder`,
30
- activatesOn: Events.SetupAppGraph,
31
- activate: AppGraphBuilder,
32
- }),
33
28
  ]);
@@ -4,6 +4,5 @@
4
4
 
5
5
  import { lazy } from '@dxos/app-framework';
6
6
 
7
- export const AppGraphBuilder = lazy(() => import('./app-graph-builder'));
8
- export const IntentResolver = lazy(() => import('./intent-resolver'));
9
7
  export const ReactSurface = lazy(() => import('./react-surface'));
8
+ export const RegistrySettings = lazy(() => import('./settings'));
@@ -2,89 +2,23 @@
2
2
  // Copyright 2025 DXOS.org
3
3
  //
4
4
 
5
- import React, { useCallback, useMemo } from 'react';
5
+ import React from 'react';
6
6
 
7
- import { Capabilities, contributes, createSurface, Plugin, usePluginManager } from '@dxos/app-framework';
8
- import { StackItem } from '@dxos/react-ui-stack';
7
+ import { Capabilities, contributes, createSurface, useCapability } from '@dxos/app-framework';
9
8
 
10
- import { PluginDetail, RegistryContainer } from '../components';
11
- import { REGISTRY_KEY, REGISTRY_PLUGIN } from '../meta';
9
+ import { PluginSettings } from '../components';
10
+ import { meta, REGISTRY_PLUGIN } from '../meta';
11
+ import { type RegistrySettings } from '../types';
12
12
 
13
13
  export default () =>
14
14
  contributes(Capabilities.ReactSurface, [
15
15
  createSurface({
16
- id: `${REGISTRY_PLUGIN}/all`,
17
- role: 'article',
18
- filter: (data): data is any => data.subject === `${REGISTRY_KEY}:all`,
16
+ id: meta.id,
17
+ role: 'settings',
18
+ filter: (data): data is any => data.subject === REGISTRY_PLUGIN,
19
19
  component: () => {
20
- const manager = usePluginManager();
21
- const filtered = useMemo(() => manager.plugins.filter(({ meta }) => !manager.core.includes(meta.id)), []);
22
-
23
- return <RegistryContainer id={`${REGISTRY_KEY}:all`} plugins={filtered} />;
24
- },
25
- }),
26
- createSurface({
27
- id: `${REGISTRY_PLUGIN}/installed`,
28
- role: 'article',
29
- filter: (data): data is any => data.subject === `${REGISTRY_KEY}:installed`,
30
- component: () => {
31
- const manager = usePluginManager();
32
- const filtered = useMemo(
33
- () =>
34
- manager.plugins
35
- .filter(({ meta }) => !manager.core.includes(meta.id))
36
- .filter(({ meta }) => manager.enabled.includes(meta.id)),
37
- [],
38
- );
39
-
40
- return <RegistryContainer id={`${REGISTRY_KEY}:installed`} plugins={filtered} />;
41
- },
42
- }),
43
- createSurface({
44
- id: `${REGISTRY_PLUGIN}/recommended`,
45
- role: 'article',
46
- filter: (data): data is any => data.subject === `${REGISTRY_KEY}:recommended`,
47
- component: () => {
48
- const manager = usePluginManager();
49
- const filtered = useMemo(
50
- () =>
51
- manager.plugins
52
- .filter(({ meta }) => !manager.core.includes(meta.id))
53
- .filter(({ meta }) => !meta.tags?.includes('experimental')),
54
- [],
55
- );
56
-
57
- return <RegistryContainer id={`${REGISTRY_KEY}:recommended`} plugins={filtered} />;
58
- },
59
- }),
60
- createSurface({
61
- id: `${REGISTRY_PLUGIN}/experimental`,
62
- role: 'article',
63
- filter: (data): data is any => data.subject === `${REGISTRY_KEY}:experimental`,
64
- component: () => {
65
- const manager = usePluginManager();
66
- const filtered = useMemo(() => manager.plugins.filter(({ meta }) => meta.tags?.includes('experimental')), []);
67
-
68
- return <RegistryContainer id={`${REGISTRY_KEY}:experimental`} plugins={filtered} />;
69
- },
70
- }),
71
- createSurface({
72
- id: `${REGISTRY_PLUGIN}/plugin-details`,
73
- role: 'article',
74
- filter: (data): data is { subject: Plugin } => data.subject instanceof Plugin,
75
- component: ({ data: { subject } }) => {
76
- const manager = usePluginManager();
77
- const enabled = manager.enabled.includes(subject.meta.id);
78
- const handleEnable = useCallback(
79
- () => (enabled ? manager.disable(subject.meta.id) : manager.enable(subject.meta.id)),
80
- [manager, subject.meta.id, enabled],
81
- );
82
-
83
- return (
84
- <StackItem.Content role='article' toolbar={false}>
85
- <PluginDetail plugin={subject} enabled={enabled} onEnable={handleEnable} />
86
- </StackItem.Content>
87
- );
20
+ const settings = useCapability(Capabilities.SettingsStore).getStore<RegistrySettings>(REGISTRY_PLUGIN)!.value;
21
+ return <PluginSettings settings={settings} />;
88
22
  },
89
23
  }),
90
24
  ]);
@@ -0,0 +1,19 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Capabilities, contributes } from '@dxos/app-framework';
6
+ import { create } from '@dxos/live-object';
7
+
8
+ import { REGISTRY_PLUGIN } from '../meta';
9
+ import { type RegistrySettings, RegistrySettingsSchema } from '../types';
10
+
11
+ export default () => {
12
+ const settings = create<RegistrySettings>({});
13
+
14
+ return contributes(Capabilities.Settings, {
15
+ schema: RegistrySettingsSchema,
16
+ prefix: REGISTRY_PLUGIN,
17
+ value: settings,
18
+ });
19
+ };
@@ -7,11 +7,9 @@ import '@dxos-theme';
7
7
  import { type Meta } from '@storybook/react';
8
8
  import React, { useState } from 'react';
9
9
 
10
- import { definePlugin, type Plugin } from '@dxos/app-framework';
10
+ import { type PluginMeta } from '@dxos/app-framework';
11
11
  import { faker } from '@dxos/random';
12
- import { type ThemedClassName } from '@dxos/react-ui';
13
- import { mx } from '@dxos/react-ui-theme';
14
- import { withTheme, withLayout } from '@dxos/storybook-utils';
12
+ import { withTheme } from '@dxos/storybook-utils';
15
13
 
16
14
  import { PluginList } from './PluginList';
17
15
 
@@ -26,22 +24,18 @@ const icons = [
26
24
  'ph--github-logo--regular',
27
25
  ];
28
26
 
29
- const Render = ({ classNames }: ThemedClassName<{}>) => {
30
- const [plugins] = useState<Plugin[]>(
27
+ const DefaultStory = () => {
28
+ const [plugins] = useState<PluginMeta[]>(
31
29
  faker.helpers.multiple(
32
- () =>
33
- definePlugin(
34
- {
35
- id: `dxos.org/plugin/plugin-${faker.string.uuid()}`,
36
- name: `${faker.commerce.productName()}`,
37
- description: faker.lorem.sentences(Math.ceil(Math.random() * 3)),
38
- tags: faker.datatype.boolean({ probability: 0.6 })
39
- ? [faker.helpers.arrayElement(['experimental', 'beta', 'alpha', 'stable', 'new', '新発売'])]
40
- : undefined,
41
- icon: faker.helpers.arrayElement(icons),
42
- },
43
- [],
44
- ),
30
+ () => ({
31
+ id: `dxos.org/plugin/plugin-${faker.string.uuid()}`,
32
+ name: `${faker.lorem.sentence(3)}`,
33
+ description: faker.datatype.boolean() ? `${faker.lorem.sentences()}` : undefined,
34
+ tags: faker.datatype.boolean({ probability: 0.6 })
35
+ ? [faker.helpers.arrayElement(['experimental', 'beta', 'alpha', 'stable', 'new', '新発売'])]
36
+ : undefined,
37
+ icon: faker.helpers.arrayElement(icons),
38
+ }),
45
39
  { count: 16 },
46
40
  ),
47
41
  );
@@ -52,25 +46,22 @@ const Render = ({ classNames }: ThemedClassName<{}>) => {
52
46
  };
53
47
 
54
48
  return (
55
- <div className={mx('flex overflow-hidden', classNames)}>
49
+ <div className={'flex w-[400px] overflow-hidden'}>
56
50
  <PluginList plugins={plugins} enabled={enabled} onChange={handleChange} />
57
51
  </div>
58
52
  );
59
53
  };
60
54
 
55
+ export const Default = {};
56
+
61
57
  const meta: Meta = {
62
58
  title: 'plugins/plugin-registry/PluginList',
63
59
  component: PluginList,
64
- render: Render,
65
- decorators: [withTheme, withLayout({ fullscreen: true, classNames: 'justify-center' })],
60
+ render: DefaultStory,
61
+ decorators: [withTheme],
62
+ parameters: {
63
+ layout: 'centered',
64
+ },
66
65
  };
67
66
 
68
67
  export default meta;
69
-
70
- export const Default = {};
71
-
72
- export const Column = {
73
- args: {
74
- classNames: 'w-[400px]',
75
- },
76
- };