@dxos/plugin-registry 0.7.5-main.9d2a38b → 0.7.5-main.e94eead

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/app-graph-builder-Z6FZXJWI.mjs +164 -0
  2. package/dist/lib/browser/app-graph-builder-Z6FZXJWI.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-CMDU7LPH.mjs → chunk-H6GNIIDK.mjs} +5 -1
  4. package/dist/lib/browser/chunk-H6GNIIDK.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +33 -12
  6. package/dist/lib/browser/index.mjs.map +3 -3
  7. package/dist/lib/browser/intent-resolver-QW333HWJ.mjs +23 -0
  8. package/dist/lib/browser/intent-resolver-QW333HWJ.mjs.map +7 -0
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/react-surface-6JN3QJEF.mjs +324 -0
  11. package/dist/lib/browser/react-surface-6JN3QJEF.mjs.map +7 -0
  12. package/dist/types/src/RegistryPlugin.d.ts.map +1 -1
  13. package/dist/types/src/capabilities/app-graph-builder.d.ts +181 -0
  14. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
  15. package/dist/types/src/capabilities/index.d.ts +179 -2
  16. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  17. package/dist/types/src/capabilities/{settings.d.ts → intent-resolver.d.ts} +2 -2
  18. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  19. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  20. package/dist/types/src/components/PluginDetail.d.ts +8 -0
  21. package/dist/types/src/components/PluginDetail.d.ts.map +1 -0
  22. package/dist/types/src/components/PluginDetail.stories.d.ts +8 -0
  23. package/dist/types/src/components/PluginDetail.stories.d.ts.map +1 -0
  24. package/dist/types/src/components/PluginItem.d.ts +12 -0
  25. package/dist/types/src/components/PluginItem.d.ts.map +1 -0
  26. package/dist/types/src/components/PluginList.d.ts +5 -9
  27. package/dist/types/src/components/PluginList.d.ts.map +1 -1
  28. package/dist/types/src/components/PluginList.stories.d.ts +6 -1
  29. package/dist/types/src/components/PluginList.stories.d.ts.map +1 -1
  30. package/dist/types/src/components/RegistryContainer.d.ts +6 -0
  31. package/dist/types/src/components/RegistryContainer.d.ts.map +1 -0
  32. package/dist/types/src/components/index.d.ts +2 -1
  33. package/dist/types/src/components/index.d.ts.map +1 -1
  34. package/dist/types/src/meta.d.ts +2 -0
  35. package/dist/types/src/meta.d.ts.map +1 -1
  36. package/dist/types/src/translations.d.ts +11 -0
  37. package/dist/types/src/translations.d.ts.map +1 -1
  38. package/package.json +17 -15
  39. package/src/RegistryPlugin.tsx +12 -7
  40. package/src/capabilities/app-graph-builder.ts +126 -0
  41. package/src/capabilities/index.ts +2 -1
  42. package/src/capabilities/intent-resolver.ts +27 -0
  43. package/src/capabilities/react-surface.tsx +76 -10
  44. package/src/components/PluginDetail.stories.tsx +45 -0
  45. package/src/components/PluginDetail.tsx +63 -0
  46. package/src/components/PluginItem.tsx +128 -0
  47. package/src/components/PluginList.stories.tsx +30 -21
  48. package/src/components/PluginList.tsx +13 -90
  49. package/src/components/RegistryContainer.tsx +81 -0
  50. package/src/components/index.ts +2 -1
  51. package/src/meta.ts +4 -0
  52. package/src/translations.ts +13 -2
  53. package/dist/lib/browser/chunk-CMDU7LPH.mjs.map +0 -7
  54. package/dist/lib/browser/react-surface-HKWZP7OW.mjs +0 -179
  55. package/dist/lib/browser/react-surface-HKWZP7OW.mjs.map +0 -7
  56. package/dist/lib/browser/settings-7LOHS2IV.mjs +0 -27
  57. package/dist/lib/browser/settings-7LOHS2IV.mjs.map +0 -7
  58. package/dist/types/src/capabilities/settings.d.ts.map +0 -1
  59. package/dist/types/src/components/PluginSettings.d.ts +0 -6
  60. package/dist/types/src/components/PluginSettings.d.ts.map +0 -1
  61. package/src/capabilities/settings.ts +0 -19
  62. package/src/components/PluginSettings.tsx +0 -112
@@ -1,3 +1,180 @@
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>>;
1
+ export declare const AppGraphBuilder: (props?: import("@dxos/app-framework").PluginsContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<Readonly<{
2
+ id: string;
3
+ position: import("@dxos/util").Position;
4
+ resolver?: import("@dxos/app-graph").ResolverExtension;
5
+ connector?: import("@dxos/app-graph").ConnectorExtension;
6
+ relation?: import("@dxos/app-graph").Relation;
7
+ type?: string;
8
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
9
+ }> | Readonly<{
10
+ id: string;
11
+ position: import("@dxos/util").Position;
12
+ resolver?: import("@dxos/app-graph").ResolverExtension;
13
+ connector?: import("@dxos/app-graph").ConnectorExtension;
14
+ relation?: import("@dxos/app-graph").Relation;
15
+ type?: string;
16
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
17
+ }>[] | (Readonly<{
18
+ id: string;
19
+ position: import("@dxos/util").Position;
20
+ resolver?: import("@dxos/app-graph").ResolverExtension;
21
+ connector?: import("@dxos/app-graph").ConnectorExtension;
22
+ relation?: import("@dxos/app-graph").Relation;
23
+ type?: string;
24
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
25
+ }> | Readonly<{
26
+ id: string;
27
+ position: import("@dxos/util").Position;
28
+ resolver?: import("@dxos/app-graph").ResolverExtension;
29
+ connector?: import("@dxos/app-graph").ConnectorExtension;
30
+ relation?: import("@dxos/app-graph").Relation;
31
+ type?: string;
32
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
33
+ }>[] | (Readonly<{
34
+ id: string;
35
+ position: import("@dxos/util").Position;
36
+ resolver?: import("@dxos/app-graph").ResolverExtension;
37
+ connector?: import("@dxos/app-graph").ConnectorExtension;
38
+ relation?: import("@dxos/app-graph").Relation;
39
+ type?: string;
40
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
41
+ }> | Readonly<{
42
+ id: string;
43
+ position: import("@dxos/util").Position;
44
+ resolver?: import("@dxos/app-graph").ResolverExtension;
45
+ connector?: import("@dxos/app-graph").ConnectorExtension;
46
+ relation?: import("@dxos/app-graph").Relation;
47
+ type?: string;
48
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
49
+ }>[] | (Readonly<{
50
+ id: string;
51
+ position: import("@dxos/util").Position;
52
+ resolver?: import("@dxos/app-graph").ResolverExtension;
53
+ connector?: import("@dxos/app-graph").ConnectorExtension;
54
+ relation?: import("@dxos/app-graph").Relation;
55
+ type?: string;
56
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
57
+ }> | Readonly<{
58
+ id: string;
59
+ position: import("@dxos/util").Position;
60
+ resolver?: import("@dxos/app-graph").ResolverExtension;
61
+ connector?: import("@dxos/app-graph").ConnectorExtension;
62
+ relation?: import("@dxos/app-graph").Relation;
63
+ type?: string;
64
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
65
+ }>[] | (Readonly<{
66
+ id: string;
67
+ position: import("@dxos/util").Position;
68
+ resolver?: import("@dxos/app-graph").ResolverExtension;
69
+ connector?: import("@dxos/app-graph").ConnectorExtension;
70
+ relation?: import("@dxos/app-graph").Relation;
71
+ type?: string;
72
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
73
+ }> | Readonly<{
74
+ id: string;
75
+ position: import("@dxos/util").Position;
76
+ resolver?: import("@dxos/app-graph").ResolverExtension;
77
+ connector?: import("@dxos/app-graph").ConnectorExtension;
78
+ relation?: import("@dxos/app-graph").Relation;
79
+ type?: string;
80
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
81
+ }>[] | (Readonly<{
82
+ id: string;
83
+ position: import("@dxos/util").Position;
84
+ resolver?: import("@dxos/app-graph").ResolverExtension;
85
+ connector?: import("@dxos/app-graph").ConnectorExtension;
86
+ relation?: import("@dxos/app-graph").Relation;
87
+ type?: string;
88
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
89
+ }> | Readonly<{
90
+ id: string;
91
+ position: import("@dxos/util").Position;
92
+ resolver?: import("@dxos/app-graph").ResolverExtension;
93
+ connector?: import("@dxos/app-graph").ConnectorExtension;
94
+ relation?: import("@dxos/app-graph").Relation;
95
+ type?: string;
96
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
97
+ }>[] | (Readonly<{
98
+ id: string;
99
+ position: import("@dxos/util").Position;
100
+ resolver?: import("@dxos/app-graph").ResolverExtension;
101
+ connector?: import("@dxos/app-graph").ConnectorExtension;
102
+ relation?: import("@dxos/app-graph").Relation;
103
+ type?: string;
104
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
105
+ }> | Readonly<{
106
+ id: string;
107
+ position: import("@dxos/util").Position;
108
+ resolver?: import("@dxos/app-graph").ResolverExtension;
109
+ connector?: import("@dxos/app-graph").ConnectorExtension;
110
+ relation?: import("@dxos/app-graph").Relation;
111
+ type?: string;
112
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
113
+ }>[] | (Readonly<{
114
+ id: string;
115
+ position: import("@dxos/util").Position;
116
+ resolver?: import("@dxos/app-graph").ResolverExtension;
117
+ connector?: import("@dxos/app-graph").ConnectorExtension;
118
+ relation?: import("@dxos/app-graph").Relation;
119
+ type?: string;
120
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
121
+ }> | Readonly<{
122
+ id: string;
123
+ position: import("@dxos/util").Position;
124
+ resolver?: import("@dxos/app-graph").ResolverExtension;
125
+ connector?: import("@dxos/app-graph").ConnectorExtension;
126
+ relation?: import("@dxos/app-graph").Relation;
127
+ type?: string;
128
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
129
+ }>[] | (Readonly<{
130
+ id: string;
131
+ position: import("@dxos/util").Position;
132
+ resolver?: import("@dxos/app-graph").ResolverExtension;
133
+ connector?: import("@dxos/app-graph").ConnectorExtension;
134
+ relation?: import("@dxos/app-graph").Relation;
135
+ type?: string;
136
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
137
+ }> | Readonly<{
138
+ id: string;
139
+ position: import("@dxos/util").Position;
140
+ resolver?: import("@dxos/app-graph").ResolverExtension;
141
+ connector?: import("@dxos/app-graph").ConnectorExtension;
142
+ relation?: import("@dxos/app-graph").Relation;
143
+ type?: string;
144
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
145
+ }>[] | (Readonly<{
146
+ id: string;
147
+ position: import("@dxos/util").Position;
148
+ resolver?: import("@dxos/app-graph").ResolverExtension;
149
+ connector?: import("@dxos/app-graph").ConnectorExtension;
150
+ relation?: import("@dxos/app-graph").Relation;
151
+ type?: string;
152
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
153
+ }> | Readonly<{
154
+ id: string;
155
+ position: import("@dxos/util").Position;
156
+ resolver?: import("@dxos/app-graph").ResolverExtension;
157
+ connector?: import("@dxos/app-graph").ConnectorExtension;
158
+ relation?: import("@dxos/app-graph").Relation;
159
+ type?: string;
160
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
161
+ }>[] | (any[] | Readonly<{
162
+ id: string;
163
+ position: import("@dxos/util").Position;
164
+ resolver?: import("@dxos/app-graph").ResolverExtension;
165
+ connector?: import("@dxos/app-graph").ConnectorExtension;
166
+ relation?: import("@dxos/app-graph").Relation;
167
+ type?: string;
168
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
169
+ }> | Readonly<{
170
+ id: string;
171
+ position: import("@dxos/util").Position;
172
+ resolver?: import("@dxos/app-graph").ResolverExtension;
173
+ connector?: import("@dxos/app-graph").ConnectorExtension;
174
+ relation?: import("@dxos/app-graph").Relation;
175
+ type?: string;
176
+ filter?: (node: import("@dxos/app-graph").Node) => boolean;
177
+ }>[])[])[])[])[])[])[])[])[])[])[]> | import("@dxos/app-framework").AnyCapability[]>>;
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[]>>;
3
180
  //# 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,YAAY,iIAAwC,CAAC;AAClE,eAAO,MAAM,gBAAgB,6HAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe;;qBAG0lG,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAwF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;;;qBAAqF,YAAY;sBAAsC,iBAAiB;uBAAgD,iBAAiB;sBAAgD,iBAAiB;;2BAAkE,iBAAiB;qFAHr1V,CAAC;AACzE,eAAO,MAAM,cAAc,kMAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,gMAAwC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { Capabilities } from '@dxos/app-framework';
2
- declare const _default: () => import("@dxos/app-framework").Capability<Capabilities.Settings>;
2
+ declare const _default: () => import("@dxos/app-framework").Capability<Capabilities.IntentResolver>;
3
3
  export default _default;
4
- //# sourceMappingURL=settings.d.ts.map
4
+ //# sourceMappingURL=intent-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/intent-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAKL,YAAY,EAEb,MAAM,qBAAqB,CAAC;;AAI7B,wBAWI"}
@@ -1 +1 @@
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
+ {"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"}
@@ -0,0 +1,8 @@
1
+ import { type Plugin } from '@dxos/app-framework';
2
+ export type PluginDetailProps = {
3
+ plugin: Plugin;
4
+ enabled?: boolean;
5
+ onEnable?: () => void;
6
+ };
7
+ export declare const PluginDetail: ({ plugin, enabled, onEnable }: PluginDetailProps) => import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=PluginDetail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginDetail.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginDetail.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAMlD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,YAAY,kCAAmC,iBAAiB,4CA4C5E,CAAC"}
@@ -0,0 +1,8 @@
1
+ import '@dxos-theme';
2
+ import { type StoryObj, type Meta } from '@storybook/react';
3
+ import { type PluginDetailProps } from './PluginDetail';
4
+ declare const meta: Meta<PluginDetailProps>;
5
+ export default meta;
6
+ type Story = StoryObj<PluginDetailProps>;
7
+ export declare const Default: Story;
8
+ //# sourceMappingURL=PluginDetail.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginDetail.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginDetail.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAK5D,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGtE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAOjC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAEzC,eAAO,MAAM,OAAO,EAAE,KAiBrB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type Plugin } from '@dxos/app-framework';
2
+ export type PluginItemProps = {
3
+ plugin: Plugin;
4
+ installed?: readonly string[];
5
+ enabled?: readonly string[];
6
+ onClick?: (id: string) => void;
7
+ onChange?: (id: string, enabled: boolean) => void;
8
+ hasSettings?: (id: string) => boolean;
9
+ onSettings?: (id: string) => void;
10
+ };
11
+ export declare const PluginItem: ({ plugin, enabled, onClick, onChange, hasSettings: _hasSettings, onSettings, }: PluginItemProps) => import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=PluginItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PluginItem.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginItem.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAMlD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,UAAU,mFAOpB,eAAe,4CAkGjB,CAAC"}
@@ -1,11 +1,7 @@
1
- import React from 'react';
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;
1
+ import { type Plugin } from '@dxos/app-framework';
2
+ import { type PluginItemProps } from './PluginItem';
3
+ export type PluginListProps = Omit<PluginItemProps, 'plugin'> & {
4
+ plugins?: readonly Plugin[];
9
5
  };
10
- export declare const PluginList: ({ plugins, installed, enabled, onChange, onReload }: PluginListProps) => React.JSX.Element;
6
+ export declare const PluginList: ({ plugins, ...props }: PluginListProps) => import("react/jsx-runtime").JSX.Element;
11
7
  //# sourceMappingURL=PluginList.d.ts.map
@@ -1 +1 @@
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
+ {"version":3,"file":"PluginList.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginList.tsx"],"names":[],"mappings":"AAMA,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,4CAUrE,CAAC"}
@@ -1,6 +1,11 @@
1
1
  import '@dxos-theme';
2
2
  import { type Meta } from '@storybook/react';
3
- export declare const Default: {};
4
3
  declare const meta: Meta;
5
4
  export default meta;
5
+ export declare const Default: {};
6
+ export declare const Column: {
7
+ args: {
8
+ classNames: string;
9
+ };
10
+ };
6
11
  //# 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;AAgD7C,eAAO,MAAM,OAAO,IAAK,CAAC;AAE1B,QAAA,MAAM,IAAI,EAAE,IAQX,CAAC;AAEF,eAAe,IAAI,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;AAsD7C,QAAA,MAAM,IAAI,EAAE,IAKX,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,IAAK,CAAC;AAE1B,eAAO,MAAM,MAAM;;;;CAIlB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type Plugin } from '@dxos/app-framework';
2
+ export declare const RegistryContainer: ({ id, plugins: _plugins }: {
3
+ id: string;
4
+ plugins: Plugin[];
5
+ }) => import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=RegistryContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RegistryContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/RegistryContainer.tsx"],"names":[],"mappings":"AAMA,OAAO,EAIL,KAAK,MAAM,EAKZ,MAAM,qBAAqB,CAAC;AAQ7B,eAAO,MAAM,iBAAiB,8BAA+B;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,4CAyD7F,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from './PluginDetail';
1
2
  export * from './PluginList';
2
- export * from './PluginSettings';
3
+ export * from './RegistryContainer';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
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,4 +1,6 @@
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";
2
4
  export declare const meta: {
3
5
  id: string;
4
6
  name: string;
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAG1D,eAAO,MAAM,WAAW,0BAA0B,CAAC;AACnD,eAAO,MAAM,YAAY,oBAAoB,CAAC;AAE9C,eAAO,MAAM,IAAI;;;CAGK,CAAC"}
@@ -7,8 +7,19 @@ declare const _default: {
7
7
  'settings section installed label': string;
8
8
  'settings section recommended label': string;
9
9
  'settings section experimental label': string;
10
+ 'details label': string;
10
11
  'home page label': string;
11
12
  'source label': string;
13
+ 'plugin registry label': string;
14
+ 'all plugins label': string;
15
+ 'installed plugins label': string;
16
+ 'recommended plugins label': string;
17
+ 'experimental plugins label': string;
18
+ 'community plugins label': string;
19
+ 'load by url label': string;
20
+ 'coming soon label': string;
21
+ 'open plugin registry label': string;
22
+ 'settings label': string;
12
23
  };
13
24
  };
14
25
  }[];
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAMA,wBAeE"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAMA,wBA0BE"}
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@dxos/plugin-registry",
3
- "version": "0.7.5-main.9d2a38b",
3
+ "version": "0.7.5-main.e94eead",
4
4
  "description": "Braneframe plugin gallery",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
7
7
  "license": "MIT",
8
8
  "author": "DXOS.org",
9
9
  "sideEffects": true,
10
+ "type": "module",
10
11
  "exports": {
11
12
  ".": {
12
13
  "types": "./dist/types/src/index.d.ts",
@@ -22,12 +23,15 @@
22
23
  "src"
23
24
  ],
24
25
  "dependencies": {
25
- "@dxos/app-framework": "0.7.5-main.9d2a38b",
26
- "@dxos/live-object": "0.7.5-main.9d2a38b",
27
- "@dxos/plugin-observability": "0.7.5-main.9d2a38b",
28
- "@dxos/react-ui-form": "0.7.5-main.9d2a38b",
29
- "@dxos/util": "0.7.5-main.9d2a38b",
30
- "@dxos/echo-schema": "0.7.5-main.9d2a38b"
26
+ "@dxos/app-framework": "0.7.5-main.e94eead",
27
+ "@dxos/echo-schema": "0.7.5-main.e94eead",
28
+ "@dxos/invariant": "0.7.5-main.e94eead",
29
+ "@dxos/live-object": "0.7.5-main.e94eead",
30
+ "@dxos/plugin-observability": "0.7.5-main.e94eead",
31
+ "@dxos/plugin-graph": "0.7.5-main.e94eead",
32
+ "@dxos/util": "0.7.5-main.e94eead",
33
+ "@dxos/react-ui-stack": "0.7.5-main.e94eead",
34
+ "@dxos/react-ui-form": "0.7.5-main.e94eead"
31
35
  },
32
36
  "devDependencies": {
33
37
  "@phosphor-icons/react": "^2.1.5",
@@ -36,19 +40,17 @@
36
40
  "react": "~18.2.0",
37
41
  "react-dom": "~18.2.0",
38
42
  "vite": "5.4.7",
39
- "@dxos/random": "0.7.5-main.9d2a38b",
40
- "@dxos/react-ui": "0.7.5-main.9d2a38b",
41
- "@dxos/storybook-utils": "0.7.5-main.9d2a38b",
42
- "@dxos/react-ui-theme": "0.7.5-main.9d2a38b",
43
- "@dxos/react-ui-mosaic": "0.7.5-main.9d2a38b"
43
+ "@dxos/random": "0.7.5-main.e94eead",
44
+ "@dxos/react-ui": "0.7.5-main.e94eead",
45
+ "@dxos/react-ui-theme": "0.7.5-main.e94eead",
46
+ "@dxos/storybook-utils": "0.7.5-main.e94eead"
44
47
  },
45
48
  "peerDependencies": {
46
49
  "@phosphor-icons/react": "^2.1.5",
47
50
  "react": "~18.2.0",
48
51
  "react-dom": "~18.2.0",
49
- "@dxos/react-ui-mosaic": "0.7.5-main.9d2a38b",
50
- "@dxos/react-ui-theme": "0.7.5-main.9d2a38b",
51
- "@dxos/react-ui": "0.7.5-main.9d2a38b"
52
+ "@dxos/react-ui-theme": "0.7.5-main.e94eead",
53
+ "@dxos/react-ui": "0.7.5-main.e94eead"
52
54
  },
53
55
  "publishConfig": {
54
56
  "access": "public"
@@ -4,17 +4,12 @@
4
4
 
5
5
  import { Capabilities, contributes, defineModule, definePlugin, Events } from '@dxos/app-framework';
6
6
 
7
- import { ReactSurface, RegistrySettings } from './capabilities';
7
+ import { AppGraphBuilder, IntentResolver, ReactSurface } 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
- }),
18
13
  defineModule({
19
14
  id: `${meta.id}/module/translations`,
20
15
  activatesOn: Events.SetupTranslations,
@@ -22,7 +17,17 @@ export const RegistryPlugin = () =>
22
17
  }),
23
18
  defineModule({
24
19
  id: `${meta.id}/module/react-surface`,
25
- activatesOn: Events.Startup,
20
+ activatesOn: Events.SetupReactSurface,
26
21
  activate: ReactSurface,
27
22
  }),
23
+ defineModule({
24
+ id: `${meta.id}/module/intent-resolver`,
25
+ activatesOn: Events.SetupIntentResolver,
26
+ activate: IntentResolver,
27
+ }),
28
+ defineModule({
29
+ id: `${meta.id}/module/app-graph-builder`,
30
+ activatesOn: Events.SetupAppGraph,
31
+ activate: AppGraphBuilder,
32
+ }),
28
33
  ]);
@@ -0,0 +1,126 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { Capabilities, contributes, createIntent, SettingsAction, type PluginsContext } from '@dxos/app-framework';
6
+ import { createExtension, type Node } from '@dxos/plugin-graph';
7
+
8
+ import { REGISTRY_ID, REGISTRY_KEY, REGISTRY_PLUGIN } from '../meta';
9
+
10
+ export default (context: PluginsContext) =>
11
+ contributes(Capabilities.AppGraphBuilder, [
12
+ createExtension({
13
+ id: REGISTRY_PLUGIN,
14
+ filter: (node): node is Node<null> => node.id === 'root',
15
+ actions: () => [
16
+ {
17
+ id: REGISTRY_PLUGIN,
18
+ data: async () => {
19
+ const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
20
+ await dispatch(createIntent(SettingsAction.OpenPluginRegistry));
21
+ },
22
+ properties: {
23
+ label: ['open plugin registry label', { ns: REGISTRY_PLUGIN }],
24
+ icon: 'ph--squares-four--regular',
25
+ },
26
+ },
27
+ ],
28
+ }),
29
+ createExtension({
30
+ id: REGISTRY_PLUGIN,
31
+ filter: (node): node is Node<null> => node.id === 'root',
32
+ connector: () => [
33
+ {
34
+ id: REGISTRY_ID,
35
+ type: REGISTRY_PLUGIN,
36
+ properties: {
37
+ label: ['plugin registry label', { ns: REGISTRY_PLUGIN }],
38
+ icon: 'ph--squares-four--regular',
39
+ disposition: 'pin-end',
40
+ testId: 'treeView.pluginRegistry',
41
+ },
42
+ nodes: [
43
+ {
44
+ id: `${REGISTRY_KEY}+all`,
45
+ type: 'category',
46
+ data: `${REGISTRY_KEY}+all`,
47
+ properties: {
48
+ label: ['all plugins label', { ns: REGISTRY_PLUGIN }],
49
+ icon: 'ph--squares-four--regular',
50
+ key: REGISTRY_KEY,
51
+ testId: 'pluginRegistry.all',
52
+ },
53
+ },
54
+ {
55
+ id: `${REGISTRY_KEY}+installed`,
56
+ type: 'category',
57
+ data: `${REGISTRY_KEY}+installed`,
58
+ properties: {
59
+ label: ['installed plugins label', { ns: REGISTRY_PLUGIN }],
60
+ icon: 'ph--check--regular',
61
+ key: REGISTRY_KEY,
62
+ testId: 'pluginRegistry.installed',
63
+ },
64
+ },
65
+ {
66
+ id: `${REGISTRY_KEY}+recommended`,
67
+ type: 'category',
68
+ data: `${REGISTRY_KEY}+recommended`,
69
+ properties: {
70
+ label: ['recommended plugins label', { ns: REGISTRY_PLUGIN }],
71
+ icon: 'ph--star--regular',
72
+ key: REGISTRY_KEY,
73
+ testId: 'pluginRegistry.recommended',
74
+ },
75
+ },
76
+ {
77
+ id: `${REGISTRY_KEY}+experimental`,
78
+ type: 'category',
79
+ data: `${REGISTRY_KEY}+experimental`,
80
+ properties: {
81
+ label: ['experimental plugins label', { ns: REGISTRY_PLUGIN }],
82
+ icon: 'ph--flask--regular',
83
+ key: REGISTRY_KEY,
84
+ testId: 'pluginRegistry.experimental',
85
+ },
86
+ },
87
+ ],
88
+ },
89
+ ],
90
+ }),
91
+ createExtension({
92
+ id: `${REGISTRY_PLUGIN}/actions`,
93
+ filter: (node): node is Node<null> => node.id === REGISTRY_ID,
94
+ actions: () => [
95
+ {
96
+ id: `${REGISTRY_PLUGIN}/load-by-url`,
97
+ data: async () => {},
98
+ properties: {
99
+ label: ['load by url label', { ns: REGISTRY_PLUGIN }],
100
+ icon: 'ph--cloud-arrow-down--regular',
101
+ disabled: true,
102
+ },
103
+ },
104
+ ],
105
+ }),
106
+ createExtension({
107
+ id: `${REGISTRY_PLUGIN}/plugins`,
108
+ resolver: ({ id }) => {
109
+ const manager = context.requestCapability(Capabilities.PluginManager);
110
+ const plugin = manager.plugins.find((plugin) => plugin.meta.id === id.replaceAll(':', '/'));
111
+ if (!plugin) {
112
+ return;
113
+ }
114
+
115
+ return {
116
+ id,
117
+ type: 'dxos.org/plugin',
118
+ data: plugin,
119
+ properties: {
120
+ label: plugin.meta.name ?? plugin.meta.id,
121
+ icon: plugin.meta.icon ?? 'ph--circle--regular',
122
+ },
123
+ };
124
+ },
125
+ }),
126
+ ]);
@@ -4,5 +4,6 @@
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'));
7
9
  export const ReactSurface = lazy(() => import('./react-surface'));
8
- export const RegistrySettings = lazy(() => import('./settings'));
@@ -0,0 +1,27 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import {
6
+ contributes,
7
+ SettingsAction,
8
+ createResolver,
9
+ LayoutAction,
10
+ Capabilities,
11
+ createIntent,
12
+ } from '@dxos/app-framework';
13
+
14
+ import { REGISTRY_ID } from '../meta';
15
+
16
+ export default () =>
17
+ contributes(
18
+ Capabilities.IntentResolver,
19
+ createResolver({
20
+ intent: SettingsAction.OpenPluginRegistry,
21
+ resolve: () => {
22
+ return {
23
+ intents: [createIntent(LayoutAction.SwitchWorkspace, { part: 'workspace', subject: REGISTRY_ID })],
24
+ };
25
+ },
26
+ }),
27
+ );