@dxos/plugin-client 0.7.5-main.9d26e3a → 0.7.5-main.9d2a38b
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.
- package/dist/lib/browser/app-graph-builder-6LOTDB4T.mjs +44 -0
- package/dist/lib/browser/app-graph-builder-6LOTDB4T.mjs.map +7 -0
- package/dist/lib/browser/chunk-6IF6PREG.mjs +158 -0
- package/dist/lib/browser/chunk-6IF6PREG.mjs.map +7 -0
- package/dist/lib/browser/{chunk-52IJQ35F.mjs → chunk-E3OUNOEL.mjs} +4 -6
- package/dist/lib/browser/chunk-E3OUNOEL.mjs.map +7 -0
- package/dist/lib/browser/{chunk-X4QUPYC6.mjs → chunk-NHIL4T3L.mjs} +3 -3
- package/dist/lib/browser/chunk-NHIL4T3L.mjs.map +7 -0
- package/dist/lib/browser/chunk-R4Q6H7RD.mjs +18 -0
- package/dist/lib/browser/chunk-R4Q6H7RD.mjs.map +7 -0
- package/dist/lib/browser/chunk-SVBQRT7I.mjs +17 -0
- package/dist/lib/browser/chunk-SVBQRT7I.mjs.map +7 -0
- package/dist/lib/browser/client-25GYH6TN.mjs +45 -0
- package/dist/lib/browser/client-25GYH6TN.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +69 -369
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/intent-resolver-IWWLWOZD.mjs +132 -0
- package/dist/lib/browser/intent-resolver-IWWLWOZD.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react-context-M3RT6SSG.mjs +24 -0
- package/dist/lib/browser/react-context-M3RT6SSG.mjs.map +7 -0
- package/dist/lib/browser/react-surface-XXONPG5T.mjs +41 -0
- package/dist/lib/browser/react-surface-XXONPG5T.mjs.map +7 -0
- package/dist/lib/browser/types.mjs +4 -6
- package/dist/lib/node/app-graph-builder-JCND3P6G.cjs +58 -0
- package/dist/lib/node/app-graph-builder-JCND3P6G.cjs.map +7 -0
- package/dist/lib/node/{meta.cjs → chunk-3OB25QN2.cjs} +14 -8
- package/dist/lib/node/chunk-3OB25QN2.cjs.map +7 -0
- package/dist/lib/node/chunk-IXVWJCYB.cjs +37 -0
- package/dist/lib/node/chunk-IXVWJCYB.cjs.map +7 -0
- package/dist/lib/node/chunk-N3U7KVO3.cjs +186 -0
- package/dist/lib/node/chunk-N3U7KVO3.cjs.map +7 -0
- package/dist/lib/node/{chunk-NFO3ADQC.cjs → chunk-NVYWMDF3.cjs} +8 -11
- package/dist/lib/node/chunk-NVYWMDF3.cjs.map +7 -0
- package/dist/lib/node/{chunk-RUA5KXVW.cjs → chunk-OIFPM5ZW.cjs} +7 -7
- package/dist/lib/node/chunk-OIFPM5ZW.cjs.map +7 -0
- package/dist/lib/node/client-52L4TUYU.cjs +59 -0
- package/dist/lib/node/client-52L4TUYU.cjs.map +7 -0
- package/dist/lib/node/index.cjs +66 -358
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/intent-resolver-H3Y64MIP.cjs +140 -0
- package/dist/lib/node/intent-resolver-H3Y64MIP.cjs.map +7 -0
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/react-context-B2DNULH4.cjs +48 -0
- package/dist/lib/node/react-context-B2DNULH4.cjs.map +7 -0
- package/dist/lib/node/react-surface-7USN5NOO.cjs +62 -0
- package/dist/lib/node/react-surface-7USN5NOO.cjs.map +7 -0
- package/dist/lib/node/types.cjs +4 -6
- package/dist/lib/node/types.cjs.map +2 -2
- package/dist/lib/node-esm/app-graph-builder-ZLGKFBLY.mjs +45 -0
- package/dist/lib/node-esm/app-graph-builder-ZLGKFBLY.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-73M5MK5Q.mjs +19 -0
- package/dist/lib/node-esm/chunk-73M5MK5Q.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-TI4GNGMM.mjs → chunk-74T33KTB.mjs} +4 -6
- package/dist/lib/node-esm/chunk-74T33KTB.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-EHGD3UJH.mjs +159 -0
- package/dist/lib/node-esm/chunk-EHGD3UJH.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-GMGRQ5Q7.mjs → chunk-HO7WDE7C.mjs} +3 -3
- package/dist/lib/node-esm/chunk-HO7WDE7C.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-OBGRL3DF.mjs +18 -0
- package/dist/lib/node-esm/chunk-OBGRL3DF.mjs.map +7 -0
- package/dist/lib/node-esm/client-K52NWOUN.mjs +46 -0
- package/dist/lib/node-esm/client-K52NWOUN.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +69 -369
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/intent-resolver-JCKD6R6L.mjs +133 -0
- package/dist/lib/node-esm/intent-resolver-JCKD6R6L.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/react-context-IGEHJQK5.mjs +25 -0
- package/dist/lib/node-esm/react-context-IGEHJQK5.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-CXLBCMPN.mjs +42 -0
- package/dist/lib/node-esm/react-surface-CXLBCMPN.mjs.map +7 -0
- package/dist/lib/node-esm/types.mjs +4 -6
- package/dist/types/src/ClientPlugin.d.ts +2 -3
- package/dist/types/src/ClientPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +181 -0
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -0
- package/dist/types/src/capabilities/capabilities.d.ts +8 -0
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -0
- package/dist/types/src/capabilities/client.d.ts +9 -0
- package/dist/types/src/capabilities/client.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +193 -0
- package/dist/types/src/capabilities/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/intent-resolver.d.ts +8 -0
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-context.d.ts +8 -0
- package/dist/types/src/capabilities/react-context.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface.d.ts +7 -0
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
- package/dist/types/src/events.d.ts +7 -0
- package/dist/types/src/events.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +3 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +1 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +5 -17
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +15 -22
- package/src/ClientPlugin.ts +59 -0
- package/src/capabilities/app-graph-builder.ts +39 -0
- package/src/capabilities/capabilities.ts +15 -0
- package/src/capabilities/client.ts +48 -0
- package/src/capabilities/index.ts +13 -0
- package/src/capabilities/intent-resolver.ts +101 -0
- package/src/capabilities/react-context.tsx +20 -0
- package/src/capabilities/react-surface.tsx +44 -0
- package/src/events.ts +14 -0
- package/src/index.ts +4 -4
- package/src/meta.ts +1 -1
- package/src/types.ts +5 -31
- package/dist/lib/browser/chunk-52IJQ35F.mjs.map +0 -7
- package/dist/lib/browser/chunk-X4QUPYC6.mjs.map +0 -7
- package/dist/lib/browser/meta.mjs +0 -9
- package/dist/lib/browser/meta.mjs.map +0 -7
- package/dist/lib/node/chunk-NFO3ADQC.cjs.map +0 -7
- package/dist/lib/node/chunk-RUA5KXVW.cjs.map +0 -7
- package/dist/lib/node/meta.cjs.map +0 -7
- package/dist/lib/node-esm/chunk-GMGRQ5Q7.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-TI4GNGMM.mjs.map +0 -7
- package/dist/lib/node-esm/meta.mjs +0 -10
- package/dist/lib/node-esm/meta.mjs.map +0 -7
- package/src/ClientPlugin.tsx +0 -227
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
export declare const AppGraphBuilder: (props?: import("@dxos/app-framework").PluginsContext | undefined) => Promise<import("@dxos/app-framework").Capability<Readonly<{
|
|
2
|
+
id: string;
|
|
3
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
disposition: import("packages/common/util/dist/types/src").Disposition;
|
|
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
|
+
}>[])[])[])[])[])[])[])[])[])[])[]>>;
|
|
178
|
+
export declare const Client: (props?: (Omit<import("../types").ClientPluginOptions, "appKey" | "invitationUrl" | "invitationParam" | "onReset"> & {
|
|
179
|
+
context: import("@dxos/app-framework").PluginsContext;
|
|
180
|
+
}) | undefined) => Promise<import("@dxos/app-framework").Capability<import("packages/sdk/client/dist/types/src").Client>>;
|
|
181
|
+
export declare const IntentResolver: (props?: (Pick<import("../types").ClientPluginOptions, "onReset"> & {
|
|
182
|
+
context: import("@dxos/app-framework").PluginsContext;
|
|
183
|
+
}) | undefined) => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.IntentResolver>>;
|
|
184
|
+
export declare const ReactContext: (props?: unknown) => Promise<import("@dxos/app-framework").Capability<Readonly<{
|
|
185
|
+
id: string;
|
|
186
|
+
dependsOn?: string[];
|
|
187
|
+
context: import("react").FC<import("react").PropsWithChildren>;
|
|
188
|
+
}>>>;
|
|
189
|
+
export declare const ReactSurface: (props?: {
|
|
190
|
+
createInvitationUrl: (invitationCode: string) => string;
|
|
191
|
+
} | undefined) => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.ReactSurface>>;
|
|
192
|
+
export * from './capabilities';
|
|
193
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe;;wBAOoxJ,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAAwF,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAA2F,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAAwF,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAA2F,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAAwF,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAA2F,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAAwF,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAA2F,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAAwF,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAA2F,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAAwF,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAA2F,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAAwF,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAA2F,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAAwF,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAA2F,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAAwF,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAA2F,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAAwF,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAA2F,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;;;wBAAwF,qCAAY;sBAAyC,uCAAiB;uBAAgD,uCAAiB;sBAAgD,uCAAiB;;2BAAkE,uCAAiB;oCAP1oZ,CAAC;AAC/E,eAAO,MAAM,MAAM;;yHAAuC,CAAC;AAC3D,eAAO,MAAM,cAAc;;+HAAgD,CAAC;AAC5E,eAAO,MAAM,YAAY;;;;IAA8C,CAAC;AACxE,eAAO,MAAM,YAAY;;4HAA8C,CAAC;AAExE,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Capabilities, type PluginsContext } from '@dxos/app-framework';
|
|
2
|
+
import { type ClientPluginOptions } from '../types';
|
|
3
|
+
type IntentResolverOptions = Pick<ClientPluginOptions, 'onReset'> & {
|
|
4
|
+
context: PluginsContext;
|
|
5
|
+
};
|
|
6
|
+
declare const _default: ({ context, onReset }: IntentResolverOptions) => import("@dxos/app-framework").Capability<Capabilities.IntentResolver>;
|
|
7
|
+
export default _default;
|
|
8
|
+
//# 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,EACL,YAAY,EAKZ,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAElE,KAAK,qBAAqB,GAAG,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,GAAG;IAClE,OAAO,EAAE,cAAc,CAAC;CACzB,CAAC;+CAEoC,qBAAqB;AAA3D,wBA2EK"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare const _default: () => import("@dxos/app-framework").Capability<Readonly<{
|
|
3
|
+
id: string;
|
|
4
|
+
dependsOn?: string[];
|
|
5
|
+
context: React.FC<React.PropsWithChildren>;
|
|
6
|
+
}>>;
|
|
7
|
+
export default _default;
|
|
8
|
+
//# sourceMappingURL=react-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-context.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-context.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;;;;;;AAQ1B,wBAOK"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Capabilities } from '@dxos/app-framework';
|
|
2
|
+
type ReactSurfaceOptions = {
|
|
3
|
+
createInvitationUrl: (invitationCode: string) => string;
|
|
4
|
+
};
|
|
5
|
+
declare const _default: ({ createInvitationUrl }: ReactSurfaceOptions) => import("@dxos/app-framework").Capability<Capabilities.ReactSurface>;
|
|
6
|
+
export default _default;
|
|
7
|
+
//# sourceMappingURL=react-surface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAiB,YAAY,EAAe,MAAM,qBAAqB,CAAC;AAa/E,KAAK,mBAAmB,GAAG;IACzB,mBAAmB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;CACzD,CAAC;kDAEuC,mBAAmB;AAA5D,wBAoBK"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare namespace ClientEvents {
|
|
2
|
+
const SetupClient: import("@dxos/app-framework").ActivationEvent;
|
|
3
|
+
const ClientReady: import("@dxos/app-framework").ActivationEvent;
|
|
4
|
+
const IdentityCreated: import("@dxos/app-framework").ActivationEvent;
|
|
5
|
+
const SpacesReady: import("@dxos/app-framework").ActivationEvent;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/events.ts"],"names":[],"mappings":"AAQA,yBAAiB,YAAY,CAAC;IACrB,MAAM,WAAW,+CAAqD,CAAC;IACvE,MAAM,WAAW,+CAAqD,CAAC;IACvE,MAAM,eAAe,+CAAyD,CAAC;IAC/E,MAAM,WAAW,+CAAqD,CAAC;CAC/E"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ClientPlugin } from './ClientPlugin';
|
|
2
|
-
export default ClientPlugin;
|
|
3
1
|
export * from './ClientPlugin';
|
|
2
|
+
export * from './meta';
|
|
3
|
+
export { ClientCapabilities } from './capabilities';
|
|
4
|
+
export { ClientEvents } from './events';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AAEvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/types/src/meta.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa,2BAA2B,CAAC
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa,2BAA2B,CAAC;AAEtD,eAAO,MAAM,IAAI;;;CAGK,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type PluginsContext } from '@dxos/app-framework';
|
|
2
2
|
import { S } from '@dxos/echo-schema';
|
|
3
|
-
import { Client, PublicKey, type ClientOptions } from '@dxos/react-client';
|
|
3
|
+
import { type Client, PublicKey, type ClientOptions } from '@dxos/react-client';
|
|
4
|
+
import { type MaybePromise } from '@dxos/util';
|
|
4
5
|
export declare namespace ClientAction {
|
|
5
6
|
const CreateIdentity_base: S.TaggedClass<CreateIdentity, "dxos.org/plugin/client/action/create-identity", {
|
|
6
7
|
readonly _tag: S.tag<"dxos.org/plugin/client/action/create-identity">;
|
|
@@ -75,10 +76,6 @@ export declare namespace ClientAction {
|
|
|
75
76
|
export {};
|
|
76
77
|
}
|
|
77
78
|
export type ClientPluginOptions = ClientOptions & {
|
|
78
|
-
/**
|
|
79
|
-
* Used to track app-specific state in spaces.
|
|
80
|
-
*/
|
|
81
|
-
appKey: string;
|
|
82
79
|
/**
|
|
83
80
|
* Base URL for the invitation link.
|
|
84
81
|
*/
|
|
@@ -90,21 +87,12 @@ export type ClientPluginOptions = ClientOptions & {
|
|
|
90
87
|
/**
|
|
91
88
|
* Run after the client has been initialized.
|
|
92
89
|
*/
|
|
93
|
-
onClientInitialized?: (client: Client) =>
|
|
94
|
-
/**
|
|
95
|
-
* Run after the identity has been successfully initialized.
|
|
96
|
-
* Run with client during plugin ready phase.
|
|
97
|
-
*/
|
|
98
|
-
onReady?: (client: Client, plugins: Plugin[]) => Promise<void>;
|
|
90
|
+
onClientInitialized?: (context: PluginsContext, client: Client) => MaybePromise<void>;
|
|
99
91
|
/**
|
|
100
92
|
* Called when the client is reset.
|
|
101
93
|
*/
|
|
102
94
|
onReset?: (params: {
|
|
103
95
|
target?: string;
|
|
104
|
-
}) =>
|
|
105
|
-
};
|
|
106
|
-
export type ClientPluginProvides = IntentResolverProvides & GraphBuilderProvides & SurfaceProvides & TranslationsProvides & {
|
|
107
|
-
client: Client;
|
|
96
|
+
}) => MaybePromise<void>;
|
|
108
97
|
};
|
|
109
|
-
export declare const parseClientPlugin: (plugin?: Plugin) => Plugin<ClientPluginProvides> | undefined;
|
|
110
98
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,KAAK,MAAM,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAkB/C,yBAAiB,YAAY,CAAC;;;;;;;;;;;;;;;;;IAC5B,MAAM,OAAO,cAAe,SAAQ,mBAKlC;KAAG;;;;;;;;;IAEL,MAAM,OAAO,YAAa,SAAQ,iBAKhC;KAAG;;;;;;;IAEL,MAAM,OAAO,aAAc,SAAQ,kBAGjC;KAAG;;;;;;;IAEL,MAAM,OAAO,eAAgB,SAAQ,oBAGnC;KAAG;;;;;;;;;IAEL,MAAM,OAAO,YAAa,SAAQ,iBAKhC;KAAG;;;;;;;IAEL,MAAM,OAAO,WAAY,SAAQ,gBAG/B;KAAG;;;;;;;IAEL,MAAM,OAAO,kBAAmB,SAAQ,uBAGtC;KAAG;;CACN;AAED,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAEtF;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;CAC/D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"5.7.
|
|
1
|
+
{"version":"5.7.3"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/plugin-client",
|
|
3
|
-
"version": "0.7.5-main.
|
|
3
|
+
"version": "0.7.5-main.9d2a38b",
|
|
4
4
|
"description": "DXOS Surface plugin for DXOS Client",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -13,11 +13,6 @@
|
|
|
13
13
|
"browser": "./dist/lib/browser/index.mjs",
|
|
14
14
|
"node": "./dist/lib/node-esm/index.mjs"
|
|
15
15
|
},
|
|
16
|
-
"./meta": {
|
|
17
|
-
"types": "./dist/types/src/meta.d.ts",
|
|
18
|
-
"browser": "./dist/lib/browser/meta.mjs",
|
|
19
|
-
"node": "./dist/lib/node-esm/meta.mjs"
|
|
20
|
-
},
|
|
21
16
|
"./types": {
|
|
22
17
|
"types": "./dist/types/src/types.d.ts",
|
|
23
18
|
"browser": "./dist/lib/browser/types.mjs",
|
|
@@ -27,9 +22,6 @@
|
|
|
27
22
|
"types": "dist/types/src/index.d.ts",
|
|
28
23
|
"typesVersions": {
|
|
29
24
|
"*": {
|
|
30
|
-
"meta": [
|
|
31
|
-
"dist/types/src/meta.d.ts"
|
|
32
|
-
],
|
|
33
25
|
"types": [
|
|
34
26
|
"dist/types/src/types.d.ts"
|
|
35
27
|
]
|
|
@@ -41,18 +33,19 @@
|
|
|
41
33
|
],
|
|
42
34
|
"dependencies": {
|
|
43
35
|
"@phosphor-icons/react": "^2.1.5",
|
|
44
|
-
"@dxos/app-framework": "0.7.5-main.
|
|
45
|
-
"@dxos/
|
|
46
|
-
"@dxos/echo-
|
|
47
|
-
"@dxos/
|
|
48
|
-
"@dxos/
|
|
49
|
-
"@dxos/
|
|
50
|
-
"@dxos/
|
|
51
|
-
"@dxos/plugin-
|
|
52
|
-
"@dxos/
|
|
53
|
-
"@dxos/
|
|
54
|
-
"@dxos/react-ui": "0.7.5-main.
|
|
55
|
-
"@dxos/
|
|
36
|
+
"@dxos/app-framework": "0.7.5-main.9d2a38b",
|
|
37
|
+
"@dxos/config": "0.7.5-main.9d2a38b",
|
|
38
|
+
"@dxos/echo-schema": "0.7.5-main.9d2a38b",
|
|
39
|
+
"@dxos/echo-signals": "0.7.5-main.9d2a38b",
|
|
40
|
+
"@dxos/log": "0.7.5-main.9d2a38b",
|
|
41
|
+
"@dxos/local-storage": "0.7.5-main.9d2a38b",
|
|
42
|
+
"@dxos/invariant": "0.7.5-main.9d2a38b",
|
|
43
|
+
"@dxos/plugin-graph": "0.7.5-main.9d2a38b",
|
|
44
|
+
"@dxos/plugin-observability": "0.7.5-main.9d2a38b",
|
|
45
|
+
"@dxos/react-client": "0.7.5-main.9d2a38b",
|
|
46
|
+
"@dxos/react-ui": "0.7.5-main.9d2a38b",
|
|
47
|
+
"@dxos/shell": "0.7.5-main.9d2a38b",
|
|
48
|
+
"@dxos/util": "0.7.5-main.9d2a38b"
|
|
56
49
|
},
|
|
57
50
|
"devDependencies": {
|
|
58
51
|
"@types/react": "~18.2.0",
|
|
@@ -60,7 +53,7 @@
|
|
|
60
53
|
"react": "~18.2.0",
|
|
61
54
|
"react-dom": "~18.2.0",
|
|
62
55
|
"vite": "5.4.7",
|
|
63
|
-
"@dxos/storybook-utils": "0.7.5-main.
|
|
56
|
+
"@dxos/storybook-utils": "0.7.5-main.9d2a38b"
|
|
64
57
|
},
|
|
65
58
|
"peerDependencies": {
|
|
66
59
|
"@phosphor-icons/react": "^2.1.5",
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { Capabilities, contributes, defineModule, definePlugin, Events } from '@dxos/app-framework';
|
|
6
|
+
|
|
7
|
+
import { Client, AppGraphBuilder, IntentResolver, ReactContext, ReactSurface } from './capabilities';
|
|
8
|
+
import { ClientEvents } from './events';
|
|
9
|
+
import { meta } from './meta';
|
|
10
|
+
import translations from './translations';
|
|
11
|
+
import { type ClientPluginOptions } from './types';
|
|
12
|
+
|
|
13
|
+
export const ClientPlugin = ({
|
|
14
|
+
invitationUrl = window.location.origin,
|
|
15
|
+
invitationParam = 'deviceInvitationCode',
|
|
16
|
+
onReset,
|
|
17
|
+
...options
|
|
18
|
+
}: ClientPluginOptions) => {
|
|
19
|
+
const createInvitationUrl = (invitationCode: string) => {
|
|
20
|
+
const baseUrl = new URL(invitationUrl);
|
|
21
|
+
baseUrl.searchParams.set(invitationParam, invitationCode);
|
|
22
|
+
return baseUrl.toString();
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
return definePlugin(meta, [
|
|
26
|
+
defineModule({
|
|
27
|
+
id: `${meta.id}/module/client`,
|
|
28
|
+
activatesOn: Events.Startup,
|
|
29
|
+
activatesBefore: [ClientEvents.SetupClient],
|
|
30
|
+
activatesAfter: [ClientEvents.ClientReady],
|
|
31
|
+
activate: (context) => Client({ ...options, context }),
|
|
32
|
+
}),
|
|
33
|
+
defineModule({
|
|
34
|
+
id: `${meta.id}/module/react-context`,
|
|
35
|
+
activatesOn: Events.Startup,
|
|
36
|
+
activate: ReactContext,
|
|
37
|
+
}),
|
|
38
|
+
defineModule({
|
|
39
|
+
id: `${meta.id}/module/react-surface`,
|
|
40
|
+
activatesOn: Events.Startup,
|
|
41
|
+
activate: () => ReactSurface({ createInvitationUrl }),
|
|
42
|
+
}),
|
|
43
|
+
defineModule({
|
|
44
|
+
id: `${meta.id}/module/app-graph-builder`,
|
|
45
|
+
activatesOn: Events.SetupAppGraph,
|
|
46
|
+
activate: AppGraphBuilder,
|
|
47
|
+
}),
|
|
48
|
+
defineModule({
|
|
49
|
+
id: `${meta.id}/module/intent-resolver`,
|
|
50
|
+
activatesOn: Events.SetupIntents,
|
|
51
|
+
activate: (context) => IntentResolver({ context, onReset }),
|
|
52
|
+
}),
|
|
53
|
+
defineModule({
|
|
54
|
+
id: `${meta.id}/module/translations`,
|
|
55
|
+
activatesOn: Events.SetupTranslations,
|
|
56
|
+
activate: () => contributes(Capabilities.Translations, translations),
|
|
57
|
+
}),
|
|
58
|
+
]);
|
|
59
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { createIntent } from '@dxos/app-framework';
|
|
6
|
+
import { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';
|
|
7
|
+
import { createExtension, type Node } from '@dxos/plugin-graph';
|
|
8
|
+
|
|
9
|
+
import { CLIENT_PLUGIN } from '../meta';
|
|
10
|
+
import { ClientAction } from '../types';
|
|
11
|
+
|
|
12
|
+
export default (context: PluginsContext) =>
|
|
13
|
+
contributes(
|
|
14
|
+
Capabilities.AppGraphBuilder,
|
|
15
|
+
createExtension({
|
|
16
|
+
id: CLIENT_PLUGIN,
|
|
17
|
+
filter: (node): node is Node<null> => node.id === 'root',
|
|
18
|
+
actions: () => [
|
|
19
|
+
{
|
|
20
|
+
id: `${CLIENT_PLUGIN}/open-shell`,
|
|
21
|
+
data: async () => {
|
|
22
|
+
const { dispatchPromise: dispatch } = context.requestCapability(Capabilities.IntentDispatcher);
|
|
23
|
+
await dispatch(createIntent(ClientAction.ShareIdentity));
|
|
24
|
+
},
|
|
25
|
+
properties: {
|
|
26
|
+
label: ['open shell label', { ns: CLIENT_PLUGIN }],
|
|
27
|
+
icon: 'ph--address-book--regular',
|
|
28
|
+
keyBinding: {
|
|
29
|
+
macos: 'meta+shift+.',
|
|
30
|
+
// TODO(wittjosiah): Test on windows to see if it behaves the same as linux.
|
|
31
|
+
windows: 'alt+shift+.',
|
|
32
|
+
linux: 'alt+shift+>',
|
|
33
|
+
},
|
|
34
|
+
testId: 'clientPlugin.openShell',
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
}),
|
|
39
|
+
);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { defineCapability } from '@dxos/app-framework';
|
|
6
|
+
import { type TypedObject } from '@dxos/echo-schema';
|
|
7
|
+
import { type Client } from '@dxos/react-client';
|
|
8
|
+
|
|
9
|
+
import { CLIENT_PLUGIN } from '../meta';
|
|
10
|
+
|
|
11
|
+
export namespace ClientCapabilities {
|
|
12
|
+
export const Client = defineCapability<Client>(`${CLIENT_PLUGIN}/capability/client`);
|
|
13
|
+
export const Schema = defineCapability<TypedObject[]>(`${CLIENT_PLUGIN}/capability/schema`);
|
|
14
|
+
export const SystemSchema = defineCapability<TypedObject[]>(`${CLIENT_PLUGIN}/capability/system-schema`);
|
|
15
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { contributes, type PluginsContext } from '@dxos/app-framework';
|
|
6
|
+
import { Config, Defaults, Envs, Local, Storage } from '@dxos/config';
|
|
7
|
+
import { Client } from '@dxos/react-client';
|
|
8
|
+
|
|
9
|
+
import { ClientCapabilities } from './capabilities';
|
|
10
|
+
import { ClientEvents } from '../events';
|
|
11
|
+
import { type ClientPluginOptions } from '../types';
|
|
12
|
+
|
|
13
|
+
type ClientCapabilityOptions = Omit<ClientPluginOptions, 'appKey' | 'invitationUrl' | 'invitationParam' | 'onReset'> & {
|
|
14
|
+
context: PluginsContext;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export default async ({ context, onClientInitialized, ...options }: ClientCapabilityOptions) => {
|
|
18
|
+
const config = new Config(await Storage(), Envs(), Local(), Defaults());
|
|
19
|
+
const client = new Client({ config, ...options });
|
|
20
|
+
|
|
21
|
+
await client.initialize();
|
|
22
|
+
await onClientInitialized?.(context, client);
|
|
23
|
+
|
|
24
|
+
const systemSchemas = Array.from(new Set(context.requestCapabilities(ClientCapabilities.SystemSchema).flat()));
|
|
25
|
+
const schemas = Array.from(new Set(context.requestCapabilities(ClientCapabilities.Schema).flat()));
|
|
26
|
+
client.addTypes(systemSchemas);
|
|
27
|
+
client.addTypes(schemas);
|
|
28
|
+
|
|
29
|
+
// TODO(wittjosiah): Remove. This is a hack to get the app to boot with the new identity after a reset.
|
|
30
|
+
client.reloaded.on(() => {
|
|
31
|
+
client.halo.identity.subscribe(async (identity) => {
|
|
32
|
+
if (identity) {
|
|
33
|
+
window.location.href = window.location.origin;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
const subscription = client.spaces.isReady.subscribe(async (ready) => {
|
|
39
|
+
if (ready) {
|
|
40
|
+
await context.activate(ClientEvents.SpacesReady);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
return contributes(ClientCapabilities.Client, client, async () => {
|
|
45
|
+
subscription.unsubscribe();
|
|
46
|
+
await client.destroy();
|
|
47
|
+
});
|
|
48
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright 2025 DXOS.org
|
|
3
|
+
//
|
|
4
|
+
|
|
5
|
+
import { lazy } from '@dxos/app-framework';
|
|
6
|
+
|
|
7
|
+
export const AppGraphBuilder = lazy(async () => import('./app-graph-builder'));
|
|
8
|
+
export const Client = lazy(async () => import('./client'));
|
|
9
|
+
export const IntentResolver = lazy(async () => import('./intent-resolver'));
|
|
10
|
+
export const ReactContext = lazy(async () => import('./react-context'));
|
|
11
|
+
export const ReactSurface = lazy(async () => import('./react-surface'));
|
|
12
|
+
|
|
13
|
+
export * from './capabilities';
|