@dxos/plugin-client 0.7.5-labs.a279d8c → 0.7.5-labs.f5080a1

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 (141) hide show
  1. package/dist/lib/browser/{app-graph-builder-6LOTDB4T.mjs → app-graph-builder-ZC2XASZM.mjs} +2 -2
  2. package/dist/lib/browser/chunk-BL7RMTCN.mjs +271 -0
  3. package/dist/lib/browser/chunk-BL7RMTCN.mjs.map +7 -0
  4. package/dist/lib/browser/{chunk-SVBQRT7I.mjs → chunk-MSK3TLIH.mjs} +1 -1
  5. package/dist/lib/browser/{chunk-SVBQRT7I.mjs.map → chunk-MSK3TLIH.mjs.map} +2 -2
  6. package/dist/lib/browser/{chunk-R4Q6H7RD.mjs → chunk-RGMLBYIF.mjs} +2 -2
  7. package/dist/lib/browser/{chunk-R4Q6H7RD.mjs.map → chunk-RGMLBYIF.mjs.map} +2 -2
  8. package/dist/lib/browser/{chunk-E3OUNOEL.mjs → chunk-S5RA7VCJ.mjs} +7 -1
  9. package/dist/lib/browser/{chunk-E3OUNOEL.mjs.map → chunk-S5RA7VCJ.mjs.map} +3 -3
  10. package/dist/lib/browser/{client-25GYH6TN.mjs → client-BY3RGW3H.mjs} +4 -13
  11. package/dist/lib/browser/client-BY3RGW3H.mjs.map +7 -0
  12. package/dist/lib/browser/index.mjs +27 -14
  13. package/dist/lib/browser/index.mjs.map +3 -3
  14. package/dist/lib/browser/intent-resolver-JWBGBN5W.mjs +229 -0
  15. package/dist/lib/browser/intent-resolver-JWBGBN5W.mjs.map +7 -0
  16. package/dist/lib/browser/meta.json +1 -1
  17. package/dist/lib/browser/{react-context-M3RT6SSG.mjs → react-context-PHX2CVI7.mjs} +2 -2
  18. package/dist/lib/browser/{react-surface-XXONPG5T.mjs → react-surface-BYR3FEBZ.mjs} +23 -7
  19. package/dist/lib/browser/react-surface-BYR3FEBZ.mjs.map +7 -0
  20. package/dist/lib/browser/schema-AL34NY2M.mjs +33 -0
  21. package/dist/lib/browser/schema-AL34NY2M.mjs.map +7 -0
  22. package/dist/lib/browser/types.mjs +1 -1
  23. package/dist/lib/node/{app-graph-builder-JCND3P6G.cjs → app-graph-builder-KJRHSGZI.cjs} +6 -6
  24. package/dist/lib/node/chunk-JXRPLNW4.cjs +299 -0
  25. package/dist/lib/node/chunk-JXRPLNW4.cjs.map +7 -0
  26. package/dist/lib/node/{chunk-IXVWJCYB.cjs → chunk-XPC4JOPP.cjs} +5 -5
  27. package/dist/lib/node/{chunk-IXVWJCYB.cjs.map → chunk-XPC4JOPP.cjs.map} +2 -2
  28. package/dist/lib/node/{chunk-3OB25QN2.cjs → chunk-ZI7AV5RP.cjs} +4 -4
  29. package/dist/lib/node/{chunk-3OB25QN2.cjs.map → chunk-ZI7AV5RP.cjs.map} +2 -2
  30. package/dist/lib/node/{chunk-NVYWMDF3.cjs → chunk-ZZQOY2DR.cjs} +10 -4
  31. package/dist/lib/node/{chunk-NVYWMDF3.cjs.map → chunk-ZZQOY2DR.cjs.map} +3 -3
  32. package/dist/lib/node/{client-52L4TUYU.cjs → client-JCI7A3IV.cjs} +9 -18
  33. package/dist/lib/node/client-JCI7A3IV.cjs.map +7 -0
  34. package/dist/lib/node/index.cjs +29 -16
  35. package/dist/lib/node/index.cjs.map +3 -3
  36. package/dist/lib/node/intent-resolver-MXB5UAG2.cjs +237 -0
  37. package/dist/lib/node/intent-resolver-MXB5UAG2.cjs.map +7 -0
  38. package/dist/lib/node/meta.json +1 -1
  39. package/dist/lib/node/{react-context-B2DNULH4.cjs → react-context-WMOFXPT4.cjs} +6 -6
  40. package/dist/lib/node/{react-surface-7USN5NOO.cjs → react-surface-XRKRQ6SU.cjs} +28 -16
  41. package/dist/lib/node/react-surface-XRKRQ6SU.cjs.map +7 -0
  42. package/dist/lib/node/schema-HW4W3QYU.cjs +49 -0
  43. package/dist/lib/node/schema-HW4W3QYU.cjs.map +7 -0
  44. package/dist/lib/node/types.cjs +2 -2
  45. package/dist/lib/node/types.cjs.map +1 -1
  46. package/dist/lib/node-esm/{app-graph-builder-ZLGKFBLY.mjs → app-graph-builder-BUQOWBIC.mjs} +2 -2
  47. package/dist/lib/node-esm/chunk-3MN2GGX3.mjs +272 -0
  48. package/dist/lib/node-esm/chunk-3MN2GGX3.mjs.map +7 -0
  49. package/dist/lib/node-esm/{chunk-OBGRL3DF.mjs → chunk-B73LKPGU.mjs} +1 -1
  50. package/dist/lib/node-esm/{chunk-OBGRL3DF.mjs.map → chunk-B73LKPGU.mjs.map} +2 -2
  51. package/dist/lib/node-esm/{chunk-74T33KTB.mjs → chunk-HWAZ7QK3.mjs} +7 -1
  52. package/dist/lib/node-esm/{chunk-74T33KTB.mjs.map → chunk-HWAZ7QK3.mjs.map} +3 -3
  53. package/dist/lib/node-esm/{chunk-73M5MK5Q.mjs → chunk-QR72BXJK.mjs} +2 -2
  54. package/dist/lib/node-esm/{chunk-73M5MK5Q.mjs.map → chunk-QR72BXJK.mjs.map} +2 -2
  55. package/dist/lib/node-esm/{client-K52NWOUN.mjs → client-XWK653HB.mjs} +4 -13
  56. package/dist/lib/node-esm/client-XWK653HB.mjs.map +7 -0
  57. package/dist/lib/node-esm/index.mjs +27 -14
  58. package/dist/lib/node-esm/index.mjs.map +3 -3
  59. package/dist/lib/node-esm/intent-resolver-IVP2U2NS.mjs +230 -0
  60. package/dist/lib/node-esm/intent-resolver-IVP2U2NS.mjs.map +7 -0
  61. package/dist/lib/node-esm/meta.json +1 -1
  62. package/dist/lib/node-esm/{react-context-IGEHJQK5.mjs → react-context-EEGDXBWA.mjs} +2 -2
  63. package/dist/lib/node-esm/{react-surface-CXLBCMPN.mjs → react-surface-JB3PGT5D.mjs} +23 -7
  64. package/dist/lib/node-esm/react-surface-JB3PGT5D.mjs.map +7 -0
  65. package/dist/lib/node-esm/schema-74LVJ3EU.mjs +34 -0
  66. package/dist/lib/node-esm/schema-74LVJ3EU.mjs.map +7 -0
  67. package/dist/lib/node-esm/types.mjs +1 -1
  68. package/dist/types/src/ClientPlugin.d.ts.map +1 -1
  69. package/dist/types/src/capabilities/app-graph-builder.d.ts +22 -22
  70. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  71. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  72. package/dist/types/src/capabilities/client.d.ts.map +1 -1
  73. package/dist/types/src/capabilities/index.d.ts +31 -29
  74. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  75. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -1
  76. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  77. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  78. package/dist/types/src/capabilities/schema.d.ts +4 -0
  79. package/dist/types/src/capabilities/schema.d.ts.map +1 -0
  80. package/dist/types/src/components/IdentityDialog.d.ts.map +1 -1
  81. package/dist/types/src/components/ManageCredentialsDialog.d.ts +4 -0
  82. package/dist/types/src/components/ManageCredentialsDialog.d.ts.map +1 -0
  83. package/dist/types/src/components/ManageCredentialsDialog.stories.d.ts +8 -0
  84. package/dist/types/src/components/ManageCredentialsDialog.stories.d.ts.map +1 -0
  85. package/dist/types/src/components/RecoveryCodeDialog.d.ts.map +1 -1
  86. package/dist/types/src/components/RecoverySetupDialog.d.ts +4 -0
  87. package/dist/types/src/components/RecoverySetupDialog.d.ts.map +1 -0
  88. package/dist/types/src/components/RecoverySetupDialog.stories.d.ts +8 -0
  89. package/dist/types/src/components/RecoverySetupDialog.stories.d.ts.map +1 -0
  90. package/dist/types/src/components/index.d.ts +1 -0
  91. package/dist/types/src/components/index.d.ts.map +1 -1
  92. package/dist/types/src/events.d.ts +1 -1
  93. package/dist/types/src/translations.d.ts +7 -0
  94. package/dist/types/src/translations.d.ts.map +1 -1
  95. package/dist/types/src/types.d.ts +8 -0
  96. package/dist/types/src/types.d.ts.map +1 -1
  97. package/dist/types/tsconfig.tsbuildinfo +1 -1
  98. package/package.json +22 -17
  99. package/src/ClientPlugin.ts +10 -5
  100. package/src/capabilities/capabilities.ts +1 -0
  101. package/src/capabilities/client.ts +1 -9
  102. package/src/capabilities/index.ts +1 -0
  103. package/src/capabilities/intent-resolver.ts +136 -67
  104. package/src/capabilities/react-surface.tsx +21 -6
  105. package/src/capabilities/schema.ts +36 -0
  106. package/src/components/IdentityDialog.tsx +15 -3
  107. package/src/components/JoinDialog.tsx +1 -1
  108. package/src/components/ManageCredentialsDialog.stories.tsx +57 -0
  109. package/src/components/ManageCredentialsDialog.tsx +64 -0
  110. package/src/components/RecoveryCodeDialog.stories.tsx +5 -5
  111. package/src/components/RecoveryCodeDialog.tsx +2 -1
  112. package/src/components/RecoverySetupDialog.stories.tsx +77 -0
  113. package/src/components/RecoverySetupDialog.tsx +52 -0
  114. package/src/components/index.ts +1 -0
  115. package/src/events.ts +1 -1
  116. package/src/translations.ts +10 -1
  117. package/src/types.ts +5 -0
  118. package/dist/lib/browser/chunk-6IF6PREG.mjs +0 -158
  119. package/dist/lib/browser/chunk-6IF6PREG.mjs.map +0 -7
  120. package/dist/lib/browser/client-25GYH6TN.mjs.map +0 -7
  121. package/dist/lib/browser/intent-resolver-IWWLWOZD.mjs +0 -132
  122. package/dist/lib/browser/intent-resolver-IWWLWOZD.mjs.map +0 -7
  123. package/dist/lib/browser/react-surface-XXONPG5T.mjs.map +0 -7
  124. package/dist/lib/node/chunk-N3U7KVO3.cjs +0 -186
  125. package/dist/lib/node/chunk-N3U7KVO3.cjs.map +0 -7
  126. package/dist/lib/node/client-52L4TUYU.cjs.map +0 -7
  127. package/dist/lib/node/intent-resolver-H3Y64MIP.cjs +0 -140
  128. package/dist/lib/node/intent-resolver-H3Y64MIP.cjs.map +0 -7
  129. package/dist/lib/node/react-surface-7USN5NOO.cjs.map +0 -7
  130. package/dist/lib/node-esm/chunk-EHGD3UJH.mjs +0 -159
  131. package/dist/lib/node-esm/chunk-EHGD3UJH.mjs.map +0 -7
  132. package/dist/lib/node-esm/client-K52NWOUN.mjs.map +0 -7
  133. package/dist/lib/node-esm/intent-resolver-JCKD6R6L.mjs +0 -133
  134. package/dist/lib/node-esm/intent-resolver-JCKD6R6L.mjs.map +0 -7
  135. package/dist/lib/node-esm/react-surface-CXLBCMPN.mjs.map +0 -7
  136. /package/dist/lib/browser/{app-graph-builder-6LOTDB4T.mjs.map → app-graph-builder-ZC2XASZM.mjs.map} +0 -0
  137. /package/dist/lib/browser/{react-context-M3RT6SSG.mjs.map → react-context-PHX2CVI7.mjs.map} +0 -0
  138. /package/dist/lib/node/{app-graph-builder-JCND3P6G.cjs.map → app-graph-builder-KJRHSGZI.cjs.map} +0 -0
  139. /package/dist/lib/node/{react-context-B2DNULH4.cjs.map → react-context-WMOFXPT4.cjs.map} +0 -0
  140. /package/dist/lib/node-esm/{app-graph-builder-ZLGKFBLY.mjs.map → app-graph-builder-BUQOWBIC.mjs.map} +0 -0
  141. /package/dist/lib/node-esm/{react-context-IGEHJQK5.mjs.map → react-context-EEGDXBWA.mjs.map} +0 -0
@@ -0,0 +1,229 @@
1
+ import {
2
+ ClientEvents
3
+ } from "./chunk-RGMLBYIF.mjs";
4
+ import {
5
+ IDENTITY_DIALOG,
6
+ JOIN_DIALOG,
7
+ RECOVER_CODE_DIALOG
8
+ } from "./chunk-BL7RMTCN.mjs";
9
+ import {
10
+ ClientAction
11
+ } from "./chunk-S5RA7VCJ.mjs";
12
+ import {
13
+ ClientCapabilities
14
+ } from "./chunk-MSK3TLIH.mjs";
15
+ import "./chunk-NHIL4T3L.mjs";
16
+
17
+ // packages/plugins/plugin-client/src/capabilities/intent-resolver.ts
18
+ import { Capabilities, contributes, createIntent, createResolver, LayoutAction } from "@dxos/app-framework";
19
+ import { invariant } from "@dxos/invariant";
20
+ import { ObservabilityAction } from "@dxos/plugin-observability/types";
21
+ import { PublicKey } from "@dxos/react-client";
22
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-client/src/capabilities/intent-resolver.ts";
23
+ var intent_resolver_default = ({ context, appName = "Composer", onReset }) => contributes(Capabilities.IntentResolver, [
24
+ createResolver({
25
+ intent: ClientAction.CreateIdentity,
26
+ resolve: async () => {
27
+ const manager = context.requestCapability(Capabilities.PluginManager);
28
+ const client = context.requestCapability(ClientCapabilities.Client);
29
+ const data = await client.halo.createIdentity();
30
+ await manager.activate(ClientEvents.IdentityCreated);
31
+ return {
32
+ data,
33
+ intents: [
34
+ createIntent(ObservabilityAction.SendEvent, {
35
+ name: "identity.create"
36
+ })
37
+ ]
38
+ };
39
+ }
40
+ }),
41
+ createResolver({
42
+ intent: ClientAction.JoinIdentity,
43
+ resolve: async (data) => {
44
+ return {
45
+ intents: [
46
+ createIntent(LayoutAction.UpdateDialog, {
47
+ part: "dialog",
48
+ subject: JOIN_DIALOG,
49
+ options: {
50
+ blockAlign: "start",
51
+ props: {
52
+ initialInvitationCode: data.invitationCode,
53
+ initialDisposition: "accept-halo-invitation"
54
+ }
55
+ }
56
+ })
57
+ ]
58
+ };
59
+ }
60
+ }),
61
+ createResolver({
62
+ intent: ClientAction.ShareIdentity,
63
+ resolve: async () => {
64
+ return {
65
+ intents: [
66
+ createIntent(LayoutAction.UpdateDialog, {
67
+ part: "dialog",
68
+ subject: IDENTITY_DIALOG,
69
+ options: {
70
+ blockAlign: "start"
71
+ }
72
+ }),
73
+ createIntent(ObservabilityAction.SendEvent, {
74
+ name: "identity.share"
75
+ })
76
+ ]
77
+ };
78
+ }
79
+ }),
80
+ createResolver({
81
+ intent: ClientAction.RecoverIdentity,
82
+ resolve: async () => {
83
+ return {
84
+ intents: [
85
+ createIntent(LayoutAction.UpdateDialog, {
86
+ part: "dialog",
87
+ subject: JOIN_DIALOG,
88
+ options: {
89
+ blockAlign: "start",
90
+ props: {
91
+ initialDisposition: "recover-identity"
92
+ }
93
+ }
94
+ })
95
+ ]
96
+ };
97
+ }
98
+ }),
99
+ createResolver({
100
+ intent: ClientAction.ResetStorage,
101
+ resolve: async (data) => {
102
+ await onReset?.({
103
+ target: data.target
104
+ });
105
+ }
106
+ }),
107
+ createResolver({
108
+ intent: ClientAction.CreateAgent,
109
+ resolve: async () => {
110
+ const client = context.requestCapability(ClientCapabilities.Client);
111
+ invariant(client.services.services.EdgeAgentService, "Missing EdgeAgentService", {
112
+ F: __dxlog_file,
113
+ L: 106,
114
+ S: void 0,
115
+ A: [
116
+ "client.services.services.EdgeAgentService",
117
+ "'Missing EdgeAgentService'"
118
+ ]
119
+ });
120
+ await client.services.services.EdgeAgentService.createAgent(null, {
121
+ timeout: 1e4
122
+ });
123
+ }
124
+ }),
125
+ createResolver({
126
+ intent: ClientAction.CreateRecoveryCode,
127
+ resolve: async () => {
128
+ const client = context.requestCapability(ClientCapabilities.Client);
129
+ invariant(client.services.services.IdentityService, "IdentityService not available", {
130
+ F: __dxlog_file,
131
+ L: 114,
132
+ S: void 0,
133
+ A: [
134
+ "client.services.services.IdentityService",
135
+ "'IdentityService not available'"
136
+ ]
137
+ });
138
+ const { recoveryCode } = await client.services.services.IdentityService.createRecoveryCredential({});
139
+ return {
140
+ intents: [
141
+ createIntent(LayoutAction.UpdateDialog, {
142
+ part: "dialog",
143
+ subject: RECOVER_CODE_DIALOG,
144
+ options: {
145
+ blockAlign: "start",
146
+ type: "alert",
147
+ props: {
148
+ code: recoveryCode
149
+ }
150
+ }
151
+ })
152
+ ]
153
+ };
154
+ }
155
+ }),
156
+ createResolver({
157
+ intent: ClientAction.CreatePasskey,
158
+ resolve: async () => {
159
+ const client = context.requestCapability(ClientCapabilities.Client);
160
+ const identity = client.halo.identity.get();
161
+ invariant(identity, "Identity not available", {
162
+ F: __dxlog_file,
163
+ L: 137,
164
+ S: void 0,
165
+ A: [
166
+ "identity",
167
+ "'Identity not available'"
168
+ ]
169
+ });
170
+ const credential = await navigator.credentials.create({
171
+ publicKey: {
172
+ challenge: new Uint8Array(),
173
+ rp: {
174
+ id: location.hostname,
175
+ name: appName
176
+ },
177
+ user: {
178
+ id: new TextEncoder().encode(identity.did),
179
+ name: identity.did,
180
+ displayName: identity.profile?.displayName ?? ""
181
+ },
182
+ pubKeyCredParams: [
183
+ {
184
+ type: "public-key",
185
+ alg: -8
186
+ },
187
+ {
188
+ type: "public-key",
189
+ alg: -7
190
+ }
191
+ ],
192
+ // https://web.dev/articles/webauthn-discoverable-credentials#resident-key
193
+ authenticatorSelection: {
194
+ residentKey: "required",
195
+ requireResidentKey: true
196
+ }
197
+ }
198
+ });
199
+ invariant(credential, "Credential not available", {
200
+ F: __dxlog_file,
201
+ L: 161,
202
+ S: void 0,
203
+ A: [
204
+ "credential",
205
+ "'Credential not available'"
206
+ ]
207
+ });
208
+ const recoveryKey = PublicKey.from(new Uint8Array(credential.response.getPublicKey()));
209
+ const algorithm = credential.response.getPublicKeyAlgorithm() === -7 ? "ES256" : "ED25519";
210
+ invariant(client.services.services.IdentityService, "IdentityService not available", {
211
+ F: __dxlog_file,
212
+ L: 165,
213
+ S: void 0,
214
+ A: [
215
+ "client.services.services.IdentityService",
216
+ "'IdentityService not available'"
217
+ ]
218
+ });
219
+ await client.services.services.IdentityService.createRecoveryCredential({
220
+ recoveryKey,
221
+ algorithm
222
+ });
223
+ }
224
+ })
225
+ ]);
226
+ export {
227
+ intent_resolver_default as default
228
+ };
229
+ //# sourceMappingURL=intent-resolver-JWBGBN5W.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport {\n Capabilities,\n contributes,\n createIntent,\n createResolver,\n LayoutAction,\n type PluginsContext,\n} from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { PublicKey } from '@dxos/react-client';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport { ClientCapabilities } from './capabilities';\nimport { IDENTITY_DIALOG, JOIN_DIALOG, RECOVER_CODE_DIALOG } from '../components';\nimport { ClientEvents } from '../events';\nimport { ClientAction, type ClientPluginOptions } from '../types';\n\ntype IntentResolverOptions = Pick<ClientPluginOptions, 'onReset'> & {\n context: PluginsContext;\n appName?: string;\n};\n\nexport default ({ context, appName = 'Composer', onReset }: IntentResolverOptions) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: ClientAction.CreateIdentity,\n resolve: async () => {\n const manager = context.requestCapability(Capabilities.PluginManager);\n const client = context.requestCapability(ClientCapabilities.Client);\n const data = await client.halo.createIdentity();\n await manager.activate(ClientEvents.IdentityCreated);\n return { data, intents: [createIntent(ObservabilityAction.SendEvent, { name: 'identity.create' })] };\n },\n }),\n createResolver({\n intent: ClientAction.JoinIdentity,\n resolve: async (data) => {\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: JOIN_DIALOG,\n options: {\n blockAlign: 'start',\n props: {\n initialInvitationCode: data.invitationCode,\n initialDisposition: 'accept-halo-invitation',\n },\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: ClientAction.ShareIdentity,\n resolve: async () => {\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: IDENTITY_DIALOG,\n options: {\n blockAlign: 'start',\n },\n }),\n createIntent(ObservabilityAction.SendEvent, { name: 'identity.share' }),\n ],\n };\n },\n }),\n createResolver({\n intent: ClientAction.RecoverIdentity,\n resolve: async () => {\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: JOIN_DIALOG,\n options: {\n blockAlign: 'start',\n props: {\n initialDisposition: 'recover-identity',\n } satisfies Partial<JoinPanelProps>,\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: ClientAction.ResetStorage,\n resolve: async (data) => {\n await onReset?.({ target: data.target });\n },\n }),\n createResolver({\n intent: ClientAction.CreateAgent,\n resolve: async () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n invariant(client.services.services.EdgeAgentService, 'Missing EdgeAgentService');\n await client.services.services.EdgeAgentService.createAgent(null as any, { timeout: 10_000 });\n },\n }),\n createResolver({\n intent: ClientAction.CreateRecoveryCode,\n resolve: async () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n invariant(client.services.services.IdentityService, 'IdentityService not available');\n // TODO(wittjosiah): This needs a proper api.\n const { recoveryCode } = await client.services.services.IdentityService.createRecoveryCredential({});\n return {\n intents: [\n createIntent(LayoutAction.UpdateDialog, {\n part: 'dialog',\n subject: RECOVER_CODE_DIALOG,\n options: {\n blockAlign: 'start',\n type: 'alert',\n props: { code: recoveryCode },\n },\n }),\n ],\n };\n },\n }),\n createResolver({\n intent: ClientAction.CreatePasskey,\n resolve: async () => {\n const client = context.requestCapability(ClientCapabilities.Client);\n const identity = client.halo.identity.get();\n invariant(identity, 'Identity not available');\n\n // TODO(wittjosiah): Consider factoring out passkey creation to the halo api.\n const credential = await navigator.credentials.create({\n publicKey: {\n challenge: new Uint8Array(),\n rp: { id: location.hostname, name: appName },\n user: {\n id: new TextEncoder().encode(identity.did),\n name: identity.did,\n displayName: identity.profile?.displayName ?? '',\n },\n pubKeyCredParams: [\n { type: 'public-key', alg: -8 }, // Ed25519 (not yet supported across all browsers)\n { type: 'public-key', alg: -7 }, // ES256\n ],\n // https://web.dev/articles/webauthn-discoverable-credentials#resident-key\n authenticatorSelection: {\n residentKey: 'required',\n requireResidentKey: true,\n },\n },\n });\n\n invariant(credential, 'Credential not available');\n const recoveryKey = PublicKey.from(new Uint8Array((credential as any).response.getPublicKey()));\n const algorithm = (credential as any).response.getPublicKeyAlgorithm() === -7 ? 'ES256' : 'ED25519';\n\n invariant(client.services.services.IdentityService, 'IdentityService not available');\n // TODO(wittjosiah): This needs a proper api.\n await client.services.services.IdentityService.createRecoveryCredential({ recoveryKey, algorithm });\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAIA,SACEA,cACAC,aACAC,cACAC,gBACAC,oBAEK;AACP,SAASC,iBAAiB;AAC1B,SAASC,2BAA2B;AACpC,SAASC,iBAAiB;;AAa1B,IAAA,0BAAe,CAAC,EAAEC,SAASC,UAAU,YAAYC,QAAO,MACtDC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,aAAaC;IACrBC,SAAS,YAAA;AACP,YAAMC,UAAUX,QAAQY,kBAAkBR,aAAaS,aAAa;AACpE,YAAMC,SAASd,QAAQY,kBAAkBG,mBAAmBC,MAAM;AAClE,YAAMC,OAAO,MAAMH,OAAOI,KAAKC,eAAc;AAC7C,YAAMR,QAAQS,SAASC,aAAaC,eAAe;AACnD,aAAO;QAAEL;QAAMM,SAAS;UAACC,aAAaC,oBAAoBC,WAAW;YAAEC,MAAM;UAAkB,CAAA;;MAAI;IACrG;EACF,CAAA;EACArB,eAAe;IACbC,QAAQC,aAAaoB;IACrBlB,SAAS,OAAOO,SAAAA;AACd,aAAO;QACLM,SAAS;UACPC,aAAaK,aAAaC,cAAc;YACtCC,MAAM;YACNC,SAASC;YACTC,SAAS;cACPC,YAAY;cACZC,OAAO;gBACLC,uBAAuBpB,KAAKqB;gBAC5BC,oBAAoB;cACtB;YACF;UACF,CAAA;;MAEJ;IACF;EACF,CAAA;EACAjC,eAAe;IACbC,QAAQC,aAAagC;IACrB9B,SAAS,YAAA;AACP,aAAO;QACLa,SAAS;UACPC,aAAaK,aAAaC,cAAc;YACtCC,MAAM;YACNC,SAASS;YACTP,SAAS;cACPC,YAAY;YACd;UACF,CAAA;UACAX,aAAaC,oBAAoBC,WAAW;YAAEC,MAAM;UAAiB,CAAA;;MAEzE;IACF;EACF,CAAA;EACArB,eAAe;IACbC,QAAQC,aAAakC;IACrBhC,SAAS,YAAA;AACP,aAAO;QACLa,SAAS;UACPC,aAAaK,aAAaC,cAAc;YACtCC,MAAM;YACNC,SAASC;YACTC,SAAS;cACPC,YAAY;cACZC,OAAO;gBACLG,oBAAoB;cACtB;YACF;UACF,CAAA;;MAEJ;IACF;EACF,CAAA;EACAjC,eAAe;IACbC,QAAQC,aAAamC;IACrBjC,SAAS,OAAOO,SAAAA;AACd,YAAMf,UAAU;QAAE0C,QAAQ3B,KAAK2B;MAAO,CAAA;IACxC;EACF,CAAA;EACAtC,eAAe;IACbC,QAAQC,aAAaqC;IACrBnC,SAAS,YAAA;AACP,YAAMI,SAASd,QAAQY,kBAAkBG,mBAAmBC,MAAM;AAClE8B,gBAAUhC,OAAOiC,SAASA,SAASC,kBAAkB,4BAAA;;;;;;;;;AACrD,YAAMlC,OAAOiC,SAASA,SAASC,iBAAiBC,YAAY,MAAa;QAAEC,SAAS;MAAO,CAAA;IAC7F;EACF,CAAA;EACA5C,eAAe;IACbC,QAAQC,aAAa2C;IACrBzC,SAAS,YAAA;AACP,YAAMI,SAASd,QAAQY,kBAAkBG,mBAAmBC,MAAM;AAClE8B,gBAAUhC,OAAOiC,SAASA,SAASK,iBAAiB,iCAAA;;;;;;;;;AAEpD,YAAM,EAAEC,aAAY,IAAK,MAAMvC,OAAOiC,SAASA,SAASK,gBAAgBE,yBAAyB,CAAC,CAAA;AAClG,aAAO;QACL/B,SAAS;UACPC,aAAaK,aAAaC,cAAc;YACtCC,MAAM;YACNC,SAASuB;YACTrB,SAAS;cACPC,YAAY;cACZqB,MAAM;cACNpB,OAAO;gBAAEqB,MAAMJ;cAAa;YAC9B;UACF,CAAA;;MAEJ;IACF;EACF,CAAA;EACA/C,eAAe;IACbC,QAAQC,aAAakD;IACrBhD,SAAS,YAAA;AACP,YAAMI,SAASd,QAAQY,kBAAkBG,mBAAmBC,MAAM;AAClE,YAAM2C,WAAW7C,OAAOI,KAAKyC,SAASC,IAAG;AACzCd,gBAAUa,UAAU,0BAAA;;;;;;;;;AAGpB,YAAME,aAAa,MAAMC,UAAUC,YAAYC,OAAO;QACpDC,WAAW;UACTC,WAAW,IAAIC,WAAAA;UACfC,IAAI;YAAEC,IAAIC,SAASC;YAAU5C,MAAM1B;UAAQ;UAC3CuE,MAAM;YACJH,IAAI,IAAII,YAAAA,EAAcC,OAAOf,SAASgB,GAAG;YACzChD,MAAMgC,SAASgB;YACfC,aAAajB,SAASkB,SAASD,eAAe;UAChD;UACAE,kBAAkB;YAChB;cAAEtB,MAAM;cAAcuB,KAAK;YAAG;YAC9B;cAAEvB,MAAM;cAAcuB,KAAK;YAAG;;;UAGhCC,wBAAwB;YACtBC,aAAa;YACbC,oBAAoB;UACtB;QACF;MACF,CAAA;AAEApC,gBAAUe,YAAY,4BAAA;;;;;;;;;AACtB,YAAMsB,cAAcC,UAAUC,KAAK,IAAIlB,WAAYN,WAAmByB,SAASC,aAAY,CAAA,CAAA;AAC3F,YAAMC,YAAa3B,WAAmByB,SAASG,sBAAqB,MAAO,KAAK,UAAU;AAE1F3C,gBAAUhC,OAAOiC,SAASA,SAASK,iBAAiB,iCAAA;;;;;;;;;AAEpD,YAAMtC,OAAOiC,SAASA,SAASK,gBAAgBE,yBAAyB;QAAE6B;QAAaK;MAAU,CAAA;IACnG;EACF,CAAA;CACD;",
6
+ "names": ["Capabilities", "contributes", "createIntent", "createResolver", "LayoutAction", "invariant", "ObservabilityAction", "PublicKey", "context", "appName", "onReset", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "ClientAction", "CreateIdentity", "resolve", "manager", "requestCapability", "PluginManager", "client", "ClientCapabilities", "Client", "data", "halo", "createIdentity", "activate", "ClientEvents", "IdentityCreated", "intents", "createIntent", "ObservabilityAction", "SendEvent", "name", "JoinIdentity", "LayoutAction", "UpdateDialog", "part", "subject", "JOIN_DIALOG", "options", "blockAlign", "props", "initialInvitationCode", "invitationCode", "initialDisposition", "ShareIdentity", "IDENTITY_DIALOG", "RecoverIdentity", "ResetStorage", "target", "CreateAgent", "invariant", "services", "EdgeAgentService", "createAgent", "timeout", "CreateRecoveryCode", "IdentityService", "recoveryCode", "createRecoveryCredential", "RECOVER_CODE_DIALOG", "type", "code", "CreatePasskey", "identity", "get", "credential", "navigator", "credentials", "create", "publicKey", "challenge", "Uint8Array", "rp", "id", "location", "hostname", "user", "TextEncoder", "encode", "did", "displayName", "profile", "pubKeyCredParams", "alg", "authenticatorSelection", "residentKey", "requireResidentKey", "recoveryKey", "PublicKey", "from", "response", "getPublicKey", "algorithm", "getPublicKeyAlgorithm"]
7
+ }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytes":975,"imports":[],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/capabilities.ts":{"bytes":2096,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/types.ts":{"bytes":8847,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts":{"bytes":5039,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/events.ts":{"bytes":2078,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/client.ts":{"bytes":6283,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/config","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"../events"}],"format":"esm"},"packages/plugins/plugin-client/src/components/IdentityDialog.tsx":{"bytes":6849,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/JoinDialog.tsx":{"bytes":6207,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx":{"bytes":8973,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/components/index.ts":{"bytes":739,"imports":[{"path":"packages/plugins/plugin-client/src/components/IdentityDialog.tsx","kind":"import-statement","original":"./IdentityDialog"},{"path":"packages/plugins/plugin-client/src/components/JoinDialog.tsx","kind":"import-statement","original":"./JoinDialog"},{"path":"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx","kind":"import-statement","original":"./RecoveryCodeDialog"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytes":14201,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"../events"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/react-context.tsx":{"bytes":2461,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/react-surface.tsx":{"bytes":4827,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/components/index.ts","kind":"import-statement","original":"../components"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/index.ts":{"bytes":1968,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/plugin-client/src/capabilities/client.ts","kind":"dynamic-import","original":"./client"},{"path":"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-client/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"},{"path":"packages/plugins/plugin-client/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-client/src/translations.ts":{"bytes":2699,"imports":[{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/ClientPlugin.ts":{"bytes":7810,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-client/src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/plugins/plugin-client/src/index.ts":{"bytes":944,"imports":[{"path":"packages/plugins/plugin-client/src/ClientPlugin.ts","kind":"import-statement","original":"./ClientPlugin"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-client/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-client/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5694},"packages/plugins/plugin-client/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-R4Q6H7RD.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-SVBQRT7I.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/dist/lib/browser/app-graph-builder-6LOTDB4T.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/client-25GYH6TN.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/intent-resolver-IWWLWOZD.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/react-context-M3RT6SSG.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/react-surface-XXONPG5T.mjs","kind":"dynamic-import"}],"exports":["CLIENT_PLUGIN","ClientCapabilities","ClientEvents","ClientPlugin","meta"],"entryPoint":"packages/plugins/plugin-client/src/index.ts","inputs":{"packages/plugins/plugin-client/src/ClientPlugin.ts":{"bytesInOutput":1649},"packages/plugins/plugin-client/src/capabilities/index.ts":{"bytesInOutput":427},"packages/plugins/plugin-client/src/translations.ts":{"bytesInOutput":758},"packages/plugins/plugin-client/src/index.ts":{"bytesInOutput":0}},"bytes":3365},"packages/plugins/plugin-client/dist/lib/browser/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-client/dist/lib/browser/types.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-E3OUNOEL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"}],"exports":["ClientAction"],"entryPoint":"packages/plugins/plugin-client/src/types.ts","inputs":{},"bytes":148},"packages/plugins/plugin-client/dist/lib/browser/app-graph-builder-6LOTDB4T.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2382},"packages/plugins/plugin-client/dist/lib/browser/app-graph-builder-6LOTDB4T.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-E3OUNOEL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts":{"bytesInOutput":1065}},"bytes":1356},"packages/plugins/plugin-client/dist/lib/browser/client-25GYH6TN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3400},"packages/plugins/plugin-client/dist/lib/browser/client-25GYH6TN.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-R4Q6H7RD.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-SVBQRT7I.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/config","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/client.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/client.ts":{"bytesInOutput":1222}},"bytes":1516},"packages/plugins/plugin-client/dist/lib/browser/intent-resolver-IWWLWOZD.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6634},"packages/plugins/plugin-client/dist/lib/browser/intent-resolver-IWWLWOZD.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-R4Q6H7RD.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-SVBQRT7I.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-6IF6PREG.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-E3OUNOEL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytesInOutput":3531}},"bytes":4003},"packages/plugins/plugin-client/dist/lib/browser/chunk-R4Q6H7RD.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":978},"packages/plugins/plugin-client/dist/lib/browser/chunk-R4Q6H7RD.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ClientEvents"],"inputs":{"packages/plugins/plugin-client/src/events.ts":{"bytesInOutput":473}},"bytes":650},"packages/plugins/plugin-client/dist/lib/browser/react-context-M3RT6SSG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1225},"packages/plugins/plugin-client/dist/lib/browser/react-context-M3RT6SSG.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-SVBQRT7I.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-client/src/capabilities/react-context.tsx":{"bytesInOutput":452}},"bytes":738},"packages/plugins/plugin-client/dist/lib/browser/chunk-SVBQRT7I.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1030},"packages/plugins/plugin-client/dist/lib/browser/chunk-SVBQRT7I.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ClientCapabilities"],"inputs":{"packages/plugins/plugin-client/src/capabilities/capabilities.ts":{"bytesInOutput":440}},"bytes":642},"packages/plugins/plugin-client/dist/lib/browser/react-surface-XXONPG5T.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2456},"packages/plugins/plugin-client/dist/lib/browser/react-surface-XXONPG5T.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-6IF6PREG.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-E3OUNOEL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-client/src/capabilities/react-surface.tsx":{"bytesInOutput":918}},"bytes":1299},"packages/plugins/plugin-client/dist/lib/browser/chunk-6IF6PREG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":11527},"packages/plugins/plugin-client/dist/lib/browser/chunk-6IF6PREG.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-E3OUNOEL.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true}],"exports":["IDENTITY_DIALOG","IdentityDialog","JOIN_DIALOG","JoinDialog","RECOVER_CODE_DIALOG","RecoveryCodeDialog"],"inputs":{"packages/plugins/plugin-client/src/components/IdentityDialog.tsx":{"bytesInOutput":1654},"packages/plugins/plugin-client/src/components/JoinDialog.tsx":{"bytesInOutput":1552},"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx":{"bytesInOutput":2774},"packages/plugins/plugin-client/src/components/index.ts":{"bytesInOutput":0}},"bytes":6465},"packages/plugins/plugin-client/dist/lib/browser/chunk-E3OUNOEL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4636},"packages/plugins/plugin-client/dist/lib/browser/chunk-E3OUNOEL.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["ClientAction"],"inputs":{"packages/plugins/plugin-client/src/types.ts":{"bytesInOutput":1957}},"bytes":2133},"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":462},"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs":{"imports":[],"exports":["CLIENT_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytesInOutput":100}},"bytes":227}}}
1
+ {"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytes":975,"imports":[],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/capabilities.ts":{"bytes":2318,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/types.ts":{"bytes":9477,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts":{"bytes":5039,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/events.ts":{"bytes":2078,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/client.ts":{"bytes":4478,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"../events"}],"format":"esm"},"packages/plugins/plugin-client/src/components/ManageCredentialsDialog.tsx":{"bytes":8888,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/IdentityDialog.tsx":{"bytes":8421,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/components/ManageCredentialsDialog.tsx","kind":"import-statement","original":"./ManageCredentialsDialog"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/JoinDialog.tsx":{"bytes":6324,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx":{"bytes":9086,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/components/RecoverySetupDialog.tsx":{"bytes":7223,"imports":[{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/components/index.ts":{"bytes":858,"imports":[{"path":"packages/plugins/plugin-client/src/components/IdentityDialog.tsx","kind":"import-statement","original":"./IdentityDialog"},{"path":"packages/plugins/plugin-client/src/components/JoinDialog.tsx","kind":"import-statement","original":"./JoinDialog"},{"path":"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx","kind":"import-statement","original":"./RecoveryCodeDialog"},{"path":"packages/plugins/plugin-client/src/components/RecoverySetupDialog.tsx","kind":"import-statement","original":"./RecoverySetupDialog"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytes":23933,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"../events"},{"path":"packages/plugins/plugin-client/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/react-context.tsx":{"bytes":2461,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/react-surface.tsx":{"bytes":6816,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-client/src/components/ManageCredentialsDialog.tsx","kind":"import-statement","original":"../components/ManageCredentialsDialog"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/schema.ts":{"bytes":4656,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"}],"format":"esm"},"packages/plugins/plugin-client/src/capabilities/index.ts":{"bytes":2186,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"},{"path":"packages/plugins/plugin-client/src/capabilities/client.ts","kind":"dynamic-import","original":"./client"},{"path":"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-client/src/capabilities/react-context.tsx","kind":"dynamic-import","original":"./react-context"},{"path":"packages/plugins/plugin-client/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"packages/plugins/plugin-client/src/capabilities/schema.ts","kind":"dynamic-import","original":"./schema"}],"format":"esm"},"packages/plugins/plugin-client/src/translations.ts":{"bytes":4585,"imports":[{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-client/src/ClientPlugin.ts":{"bytes":8527,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-client/src/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/plugins/plugin-client/src/index.ts":{"bytes":944,"imports":[{"path":"packages/plugins/plugin-client/src/ClientPlugin.ts","kind":"import-statement","original":"./ClientPlugin"},{"path":"packages/plugins/plugin-client/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-client/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-client/src/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-client/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6981},"packages/plugins/plugin-client/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-RGMLBYIF.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-client/dist/lib/browser/app-graph-builder-ZC2XASZM.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/client-BY3RGW3H.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/intent-resolver-JWBGBN5W.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/react-context-PHX2CVI7.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/react-surface-BYR3FEBZ.mjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-client/dist/lib/browser/schema-AL34NY2M.mjs","kind":"dynamic-import"}],"exports":["CLIENT_PLUGIN","ClientCapabilities","ClientEvents","ClientPlugin","meta"],"entryPoint":"packages/plugins/plugin-client/src/index.ts","inputs":{"packages/plugins/plugin-client/src/ClientPlugin.ts":{"bytesInOutput":1824},"packages/plugins/plugin-client/src/capabilities/index.ts":{"bytesInOutput":491},"packages/plugins/plugin-client/src/translations.ts":{"bytesInOutput":1468},"packages/plugins/plugin-client/src/index.ts":{"bytesInOutput":0}},"bytes":4314},"packages/plugins/plugin-client/dist/lib/browser/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-client/dist/lib/browser/types.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-S5RA7VCJ.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"}],"exports":["ClientAction"],"entryPoint":"packages/plugins/plugin-client/src/types.ts","inputs":{},"bytes":148},"packages/plugins/plugin-client/dist/lib/browser/app-graph-builder-ZC2XASZM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2382},"packages/plugins/plugin-client/dist/lib/browser/app-graph-builder-ZC2XASZM.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-S5RA7VCJ.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/app-graph-builder.ts":{"bytesInOutput":1065}},"bytes":1356},"packages/plugins/plugin-client/dist/lib/browser/client-BY3RGW3H.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2341},"packages/plugins/plugin-client/dist/lib/browser/client-BY3RGW3H.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-RGMLBYIF.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/client.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/client.ts":{"bytesInOutput":773}},"bytes":1067},"packages/plugins/plugin-client/dist/lib/browser/intent-resolver-JWBGBN5W.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10558},"packages/plugins/plugin-client/dist/lib/browser/intent-resolver-JWBGBN5W.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-RGMLBYIF.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-BL7RMTCN.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-S5RA7VCJ.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/intent-resolver.ts":{"bytesInOutput":6198}},"bytes":6670},"packages/plugins/plugin-client/dist/lib/browser/chunk-RGMLBYIF.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":978},"packages/plugins/plugin-client/dist/lib/browser/chunk-RGMLBYIF.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ClientEvents"],"inputs":{"packages/plugins/plugin-client/src/events.ts":{"bytesInOutput":473}},"bytes":650},"packages/plugins/plugin-client/dist/lib/browser/react-context-PHX2CVI7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1225},"packages/plugins/plugin-client/dist/lib/browser/react-context-PHX2CVI7.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/react-context.tsx","inputs":{"packages/plugins/plugin-client/src/capabilities/react-context.tsx":{"bytesInOutput":452}},"bytes":738},"packages/plugins/plugin-client/dist/lib/browser/react-surface-BYR3FEBZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3395},"packages/plugins/plugin-client/dist/lib/browser/react-surface-BYR3FEBZ.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-BL7RMTCN.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-S5RA7VCJ.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-client/src/capabilities/react-surface.tsx":{"bytesInOutput":1368}},"bytes":1852},"packages/plugins/plugin-client/dist/lib/browser/chunk-BL7RMTCN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20549},"packages/plugins/plugin-client/dist/lib/browser/chunk-BL7RMTCN.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-S5RA7VCJ.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/halo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-observability/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/shell/react","kind":"import-statement","external":true}],"exports":["IDENTITY_DIALOG","IdentityDialog","JOIN_DIALOG","JoinDialog","MANAGE_CREDENTIALS_DIALOG","ManageCredentialsDialog","RECOVER_CODE_DIALOG","RECOVER_SETUP_DIALOG","RecoveryCodeDialog","RecoverySetupDialog"],"inputs":{"packages/plugins/plugin-client/src/components/ManageCredentialsDialog.tsx":{"bytesInOutput":2202},"packages/plugins/plugin-client/src/components/IdentityDialog.tsx":{"bytesInOutput":2086},"packages/plugins/plugin-client/src/components/JoinDialog.tsx":{"bytesInOutput":1587},"packages/plugins/plugin-client/src/components/RecoveryCodeDialog.tsx":{"bytesInOutput":2781},"packages/plugins/plugin-client/src/components/RecoverySetupDialog.tsx":{"bytesInOutput":1952},"packages/plugins/plugin-client/src/components/index.ts":{"bytesInOutput":0}},"bytes":11348},"packages/plugins/plugin-client/dist/lib/browser/chunk-S5RA7VCJ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4943},"packages/plugins/plugin-client/dist/lib/browser/chunk-S5RA7VCJ.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true}],"exports":["ClientAction"],"inputs":{"packages/plugins/plugin-client/src/types.ts":{"bytesInOutput":2136}},"bytes":2312},"packages/plugins/plugin-client/dist/lib/browser/schema-AL34NY2M.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2516},"packages/plugins/plugin-client/dist/lib/browser/schema-AL34NY2M.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs","kind":"import-statement"},{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-client/src/capabilities/schema.ts","inputs":{"packages/plugins/plugin-client/src/capabilities/schema.ts":{"bytesInOutput":982}},"bytes":1221},"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1117},"packages/plugins/plugin-client/dist/lib/browser/chunk-MSK3TLIH.mjs":{"imports":[{"path":"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["ClientCapabilities"],"inputs":{"packages/plugins/plugin-client/src/capabilities/capabilities.ts":{"bytesInOutput":440}},"bytes":642},"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":462},"packages/plugins/plugin-client/dist/lib/browser/chunk-NHIL4T3L.mjs":{"imports":[],"exports":["CLIENT_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-client/src/meta.ts":{"bytesInOutput":100}},"bytes":227}}}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ClientCapabilities
3
- } from "./chunk-SVBQRT7I.mjs";
3
+ } from "./chunk-MSK3TLIH.mjs";
4
4
  import {
5
5
  CLIENT_PLUGIN
6
6
  } from "./chunk-NHIL4T3L.mjs";
@@ -21,4 +21,4 @@ var react_context_default = () => contributes(Capabilities.ReactContext, {
21
21
  export {
22
22
  react_context_default as default
23
23
  };
24
- //# sourceMappingURL=react-context-M3RT6SSG.mjs.map
24
+ //# sourceMappingURL=react-context-PHX2CVI7.mjs.map
@@ -3,10 +3,14 @@ import {
3
3
  IdentityDialog,
4
4
  JOIN_DIALOG,
5
5
  JoinDialog,
6
+ MANAGE_CREDENTIALS_DIALOG,
7
+ ManageCredentialsDialog,
6
8
  RECOVER_CODE_DIALOG,
7
- RecoveryCodeDialog
8
- } from "./chunk-6IF6PREG.mjs";
9
- import "./chunk-E3OUNOEL.mjs";
9
+ RECOVER_SETUP_DIALOG,
10
+ RecoveryCodeDialog,
11
+ RecoverySetupDialog
12
+ } from "./chunk-BL7RMTCN.mjs";
13
+ import "./chunk-S5RA7VCJ.mjs";
10
14
  import "./chunk-NHIL4T3L.mjs";
11
15
 
12
16
  // packages/plugins/plugin-client/src/capabilities/react-surface.tsx
@@ -18,7 +22,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
18
22
  role: "dialog",
19
23
  filter: (data) => data.component === IDENTITY_DIALOG,
20
24
  component: ({ data }) => /* @__PURE__ */ React.createElement(IdentityDialog, {
21
- ...data.subject,
25
+ ...data.props,
22
26
  createInvitationUrl
23
27
  })
24
28
  }),
@@ -26,16 +30,28 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
26
30
  id: JOIN_DIALOG,
27
31
  role: "dialog",
28
32
  filter: (data) => data.component === JOIN_DIALOG,
29
- component: ({ data }) => /* @__PURE__ */ React.createElement(JoinDialog, data.subject)
33
+ component: ({ data }) => /* @__PURE__ */ React.createElement(JoinDialog, data.props)
30
34
  }),
31
35
  createSurface({
32
36
  id: RECOVER_CODE_DIALOG,
33
37
  role: "dialog",
34
38
  filter: (data) => data.component === RECOVER_CODE_DIALOG,
35
- component: ({ data }) => /* @__PURE__ */ React.createElement(RecoveryCodeDialog, data.subject)
39
+ component: ({ data }) => /* @__PURE__ */ React.createElement(RecoveryCodeDialog, data.props)
40
+ }),
41
+ createSurface({
42
+ id: RECOVER_SETUP_DIALOG,
43
+ role: "dialog",
44
+ filter: (data) => data.component === RECOVER_SETUP_DIALOG,
45
+ component: () => /* @__PURE__ */ React.createElement(RecoverySetupDialog, null)
46
+ }),
47
+ createSurface({
48
+ id: MANAGE_CREDENTIALS_DIALOG,
49
+ role: "dialog",
50
+ filter: (data) => data.component === MANAGE_CREDENTIALS_DIALOG,
51
+ component: () => /* @__PURE__ */ React.createElement(ManageCredentialsDialog, null)
36
52
  })
37
53
  ]);
38
54
  export {
39
55
  react_surface_default as default
40
56
  };
41
- //# sourceMappingURL=react-surface-XXONPG5T.mjs.map
57
+ //# sourceMappingURL=react-surface-BYR3FEBZ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { createSurface, Capabilities, contributes } from '@dxos/app-framework';\nimport { type IdentityPanelProps, type JoinPanelProps } from '@dxos/shell/react';\n\nimport {\n IDENTITY_DIALOG,\n IdentityDialog,\n JOIN_DIALOG,\n JoinDialog,\n RECOVER_CODE_DIALOG,\n RECOVER_SETUP_DIALOG,\n RecoveryCodeDialog,\n RecoverySetupDialog,\n type RecoveryCodeDialogProps,\n} from '../components';\nimport { MANAGE_CREDENTIALS_DIALOG, ManageCredentialsDialog } from '../components/ManageCredentialsDialog';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nexport default ({ createInvitationUrl }: ReactSurfaceOptions) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: IDENTITY_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: IdentityPanelProps } => data.component === IDENTITY_DIALOG,\n component: ({ data }) => <IdentityDialog {...data.props} createInvitationUrl={createInvitationUrl} />,\n }),\n createSurface({\n id: JOIN_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,\n component: ({ data }) => <JoinDialog {...data.props} />,\n }),\n createSurface({\n id: RECOVER_CODE_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: RecoveryCodeDialogProps } => data.component === RECOVER_CODE_DIALOG,\n component: ({ data }) => <RecoveryCodeDialog {...data.props} />,\n }),\n createSurface({\n id: RECOVER_SETUP_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === RECOVER_SETUP_DIALOG,\n component: () => <RecoverySetupDialog />,\n }),\n createSurface({\n id: MANAGE_CREDENTIALS_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === MANAGE_CREDENTIALS_DIALOG,\n component: () => <ManageCredentialsDialog />,\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,eAAeC,cAAcC,mBAAmB;AAoBzD,IAAA,wBAAe,CAAC,EAAEC,oBAAmB,MACnCC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAIC;IACJC,MAAM;IACNC,QAAQ,CAACC,SAAgDA,KAAKC,cAAcJ;IAC5EI,WAAW,CAAC,EAAED,KAAI,MAAO,sBAAA,cAACE,gBAAAA;MAAgB,GAAGF,KAAKG;MAAOZ;;EAC3D,CAAA;EACAI,cAAc;IACZC,IAAIQ;IACJN,MAAM;IACNC,QAAQ,CAACC,SAA4CA,KAAKC,cAAcG;IACxEH,WAAW,CAAC,EAAED,KAAI,MAAO,sBAAA,cAACK,YAAeL,KAAKG,KAAK;EACrD,CAAA;EACAR,cAAc;IACZC,IAAIU;IACJR,MAAM;IACNC,QAAQ,CAACC,SAAqDA,KAAKC,cAAcK;IACjFL,WAAW,CAAC,EAAED,KAAI,MAAO,sBAAA,cAACO,oBAAuBP,KAAKG,KAAK;EAC7D,CAAA;EACAR,cAAc;IACZC,IAAIY;IACJV,MAAM;IACNC,QAAQ,CAACC,SAAsBA,KAAKC,cAAcO;IAClDP,WAAW,MAAM,sBAAA,cAACQ,qBAAAA,IAAAA;EACpB,CAAA;EACAd,cAAc;IACZC,IAAIc;IACJZ,MAAM;IACNC,QAAQ,CAACC,SAAsBA,KAAKC,cAAcS;IAClDT,WAAW,MAAM,sBAAA,cAACU,yBAAAA,IAAAA;EACpB,CAAA;CACD;",
6
+ "names": ["React", "createSurface", "Capabilities", "contributes", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "IDENTITY_DIALOG", "role", "filter", "data", "component", "IdentityDialog", "props", "JOIN_DIALOG", "JoinDialog", "RECOVER_CODE_DIALOG", "RecoveryCodeDialog", "RECOVER_SETUP_DIALOG", "RecoverySetupDialog", "MANAGE_CREDENTIALS_DIALOG", "ManageCredentialsDialog"]
7
+ }
@@ -0,0 +1,33 @@
1
+ import {
2
+ ClientCapabilities
3
+ } from "./chunk-MSK3TLIH.mjs";
4
+ import "./chunk-NHIL4T3L.mjs";
5
+
6
+ // packages/plugins/plugin-client/src/capabilities/schema.ts
7
+ import { effect } from "@preact/signals-core";
8
+ import { Capabilities, contributes } from "@dxos/app-framework";
9
+ var schema_default = (context) => {
10
+ const client = context.requestCapability(ClientCapabilities.Client);
11
+ let previousSystem = [];
12
+ const unsubscribeSystem = effect(() => {
13
+ const systemSchemas = Array.from(new Set(context.requestCapabilities(ClientCapabilities.SystemSchema).flat()));
14
+ const newSchemas = systemSchemas.filter((schema) => !previousSystem.includes(schema));
15
+ previousSystem = systemSchemas;
16
+ client.addTypes(newSchemas);
17
+ });
18
+ let previous = [];
19
+ const unsubscribe = effect(() => {
20
+ const schemas = Array.from(new Set(context.requestCapabilities(ClientCapabilities.Schema).flat()));
21
+ const newSchemas = schemas.filter((schema) => !previous.includes(schema));
22
+ previous = schemas;
23
+ client.addTypes(newSchemas);
24
+ });
25
+ return contributes(Capabilities.Null, null, () => {
26
+ unsubscribeSystem();
27
+ unsubscribe();
28
+ });
29
+ };
30
+ export {
31
+ schema_default as default
32
+ };
33
+ //# sourceMappingURL=schema-AL34NY2M.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/schema.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\n\nimport { Capabilities, contributes, type PluginsContext } from '@dxos/app-framework';\nimport { type TypedObject } from '@dxos/echo-schema';\n\nimport { ClientCapabilities } from './capabilities';\n\n// TODO(wittjosiah): Remove types?\nexport default (context: PluginsContext) => {\n const client = context.requestCapability(ClientCapabilities.Client);\n\n let previousSystem: TypedObject[] = [];\n const unsubscribeSystem = effect(() => {\n const systemSchemas = Array.from(new Set(context.requestCapabilities(ClientCapabilities.SystemSchema).flat()));\n const newSchemas = systemSchemas.filter((schema) => !previousSystem.includes(schema));\n previousSystem = systemSchemas;\n client.addTypes(newSchemas);\n });\n\n let previous: TypedObject[] = [];\n const unsubscribe = effect(() => {\n const schemas = Array.from(new Set(context.requestCapabilities(ClientCapabilities.Schema).flat()));\n const newSchemas = schemas.filter((schema) => !previous.includes(schema));\n previous = schemas;\n client.addTypes(newSchemas);\n });\n\n return contributes(Capabilities.Null, null, () => {\n unsubscribeSystem();\n unsubscribe();\n });\n};\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,cAAc;AAEvB,SAASC,cAAcC,mBAAwC;AAM/D,IAAA,iBAAe,CAACC,YAAAA;AACd,QAAMC,SAASD,QAAQE,kBAAkBC,mBAAmBC,MAAM;AAElE,MAAIC,iBAAgC,CAAA;AACpC,QAAMC,oBAAoBC,OAAO,MAAA;AAC/B,UAAMC,gBAAgBC,MAAMC,KAAK,IAAIC,IAAIX,QAAQY,oBAAoBT,mBAAmBU,YAAY,EAAEC,KAAI,CAAA,CAAA;AAC1G,UAAMC,aAAaP,cAAcQ,OAAO,CAACC,WAAW,CAACZ,eAAea,SAASD,MAAAA,CAAAA;AAC7EZ,qBAAiBG;AACjBP,WAAOkB,SAASJ,UAAAA;EAClB,CAAA;AAEA,MAAIK,WAA0B,CAAA;AAC9B,QAAMC,cAAcd,OAAO,MAAA;AACzB,UAAMe,UAAUb,MAAMC,KAAK,IAAIC,IAAIX,QAAQY,oBAAoBT,mBAAmBoB,MAAM,EAAET,KAAI,CAAA,CAAA;AAC9F,UAAMC,aAAaO,QAAQN,OAAO,CAACC,WAAW,CAACG,SAASF,SAASD,MAAAA,CAAAA;AACjEG,eAAWE;AACXrB,WAAOkB,SAASJ,UAAAA;EAClB,CAAA;AAEA,SAAOS,YAAYC,aAAaC,MAAM,MAAM,MAAA;AAC1CpB,sBAAAA;AACAe,gBAAAA;EACF,CAAA;AACF;",
6
+ "names": ["effect", "Capabilities", "contributes", "context", "client", "requestCapability", "ClientCapabilities", "Client", "previousSystem", "unsubscribeSystem", "effect", "systemSchemas", "Array", "from", "Set", "requestCapabilities", "SystemSchema", "flat", "newSchemas", "filter", "schema", "includes", "addTypes", "previous", "unsubscribe", "schemas", "Schema", "contributes", "Capabilities", "Null"]
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ClientAction
3
- } from "./chunk-E3OUNOEL.mjs";
3
+ } from "./chunk-S5RA7VCJ.mjs";
4
4
  import "./chunk-NHIL4T3L.mjs";
5
5
  export {
6
6
  ClientAction
@@ -16,12 +16,12 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var app_graph_builder_JCND3P6G_exports = {};
20
- __export(app_graph_builder_JCND3P6G_exports, {
19
+ var app_graph_builder_KJRHSGZI_exports = {};
20
+ __export(app_graph_builder_KJRHSGZI_exports, {
21
21
  default: () => app_graph_builder_default
22
22
  });
23
- module.exports = __toCommonJS(app_graph_builder_JCND3P6G_exports);
24
- var import_chunk_NVYWMDF3 = require("./chunk-NVYWMDF3.cjs");
23
+ module.exports = __toCommonJS(app_graph_builder_KJRHSGZI_exports);
24
+ var import_chunk_ZZQOY2DR = require("./chunk-ZZQOY2DR.cjs");
25
25
  var import_chunk_OIFPM5ZW = require("./chunk-OIFPM5ZW.cjs");
26
26
  var import_app_framework = require("@dxos/app-framework");
27
27
  var import_app_framework2 = require("@dxos/app-framework");
@@ -34,7 +34,7 @@ var app_graph_builder_default = (context) => (0, import_app_framework2.contribut
34
34
  id: `${import_chunk_OIFPM5ZW.CLIENT_PLUGIN}/open-shell`,
35
35
  data: async () => {
36
36
  const { dispatchPromise: dispatch } = context.requestCapability(import_app_framework2.Capabilities.IntentDispatcher);
37
- await dispatch((0, import_app_framework.createIntent)(import_chunk_NVYWMDF3.ClientAction.ShareIdentity));
37
+ await dispatch((0, import_app_framework.createIntent)(import_chunk_ZZQOY2DR.ClientAction.ShareIdentity));
38
38
  },
39
39
  properties: {
40
40
  label: [
@@ -55,4 +55,4 @@ var app_graph_builder_default = (context) => (0, import_app_framework2.contribut
55
55
  }
56
56
  ]
57
57
  }));
58
- //# sourceMappingURL=app-graph-builder-JCND3P6G.cjs.map
58
+ //# sourceMappingURL=app-graph-builder-KJRHSGZI.cjs.map