@dxos/plugin-client 0.8.4-main.c85a9c8dae → 0.8.4-main.d05673bc65
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/{DevicesContainer-46MEG3F5.mjs → DevicesContainer-3N7ANEJ7.mjs} +3 -3
- package/dist/lib/browser/{JoinDialog-2RCYK4O5.mjs → JoinDialog-VTTK7NHO.mjs} +3 -3
- package/dist/lib/browser/{ProfileContainer-XYRCOQ5I.mjs → ProfileContainer-XV7OXJC2.mjs} +2 -2
- package/dist/lib/browser/{RecoveryCodeDialog-EX2CLFND.mjs → RecoveryCodeDialog-WO34OZEJ.mjs} +2 -2
- package/dist/lib/browser/{RecoveryCredentialsContainer-RWTEIHOB.mjs → RecoveryCredentialsContainer-G22FSTIX.mjs} +4 -4
- package/dist/lib/browser/{RecoveryCredentialsContainer-RWTEIHOB.mjs.map → RecoveryCredentialsContainer-G22FSTIX.mjs.map} +1 -1
- package/dist/lib/browser/{app-graph-builder-QJWFLYZE.mjs → app-graph-builder-GGJKFY3X.mjs} +4 -4
- package/dist/lib/browser/{app-graph-builder-QJWFLYZE.mjs.map → app-graph-builder-GGJKFY3X.mjs.map} +1 -1
- package/dist/lib/browser/{chunk-DPAXDXMK.mjs → chunk-FVEKZBM7.mjs} +31 -31
- package/dist/lib/browser/{chunk-DPAXDXMK.mjs.map → chunk-FVEKZBM7.mjs.map} +1 -1
- package/dist/lib/browser/{chunk-4XYOOXAH.mjs → chunk-GSVYEYVS.mjs} +4 -4
- package/dist/lib/browser/chunk-HSFDKP5D.mjs +15 -0
- package/dist/lib/browser/{chunk-VYX3ROUX.mjs.map → chunk-HSFDKP5D.mjs.map} +1 -1
- package/dist/lib/browser/{chunk-N2GMSVDQ.mjs → chunk-JHSBBOCI.mjs} +2 -2
- package/dist/lib/browser/{chunk-N2GMSVDQ.mjs.map → chunk-JHSBBOCI.mjs.map} +1 -1
- package/dist/lib/browser/cli/index.mjs +35 -27
- package/dist/lib/browser/cli/index.mjs.map +3 -3
- package/dist/lib/browser/{client-Z25GQ5YC.mjs → client-BXCP3EUE.mjs} +3 -3
- package/dist/lib/browser/index.mjs +7 -7
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{migrations-HLHRMOW6.mjs → migrations-GKUA2ARL.mjs} +3 -3
- package/dist/lib/browser/{operation-resolver-6QW3BKA5.mjs → operation-resolver-VSWA74RS.mjs} +14 -14
- package/dist/lib/browser/operation-resolver-VSWA74RS.mjs.map +7 -0
- package/dist/lib/browser/{react-context-E7TAJMDK.mjs → react-context-GZ3T5UON.mjs} +3 -3
- package/dist/lib/browser/{react-surface-L5A2LBFE.mjs → react-surface-5VZP34X3.mjs} +9 -9
- package/dist/lib/browser/{schema-defs-5WDZWVEI.mjs → schema-defs-KAG6HQMI.mjs} +3 -3
- package/dist/lib/browser/types/index.mjs +2 -2
- package/dist/lib/node-esm/{DevicesContainer-WQ3DQA45.mjs → DevicesContainer-V7HEUPO7.mjs} +3 -3
- package/dist/lib/node-esm/{JoinDialog-KLTNJY5F.mjs → JoinDialog-XVKW4SLT.mjs} +3 -3
- package/dist/lib/node-esm/{ProfileContainer-XI425QK5.mjs → ProfileContainer-B5LJ6TMU.mjs} +2 -2
- package/dist/lib/node-esm/{RecoveryCodeDialog-AISRNJUM.mjs → RecoveryCodeDialog-YIRGXM7N.mjs} +2 -2
- package/dist/lib/node-esm/{RecoveryCredentialsContainer-3TKQRPQK.mjs → RecoveryCredentialsContainer-MVJEFNXX.mjs} +4 -4
- package/dist/lib/node-esm/{RecoveryCredentialsContainer-3TKQRPQK.mjs.map → RecoveryCredentialsContainer-MVJEFNXX.mjs.map} +1 -1
- package/dist/lib/node-esm/{app-graph-builder-6JD6BZAI.mjs → app-graph-builder-PTNZ46NN.mjs} +4 -4
- package/dist/lib/node-esm/{app-graph-builder-6JD6BZAI.mjs.map → app-graph-builder-PTNZ46NN.mjs.map} +1 -1
- package/dist/lib/node-esm/{chunk-RGULICLJ.mjs → chunk-BOTJSPCT.mjs} +2 -2
- package/dist/lib/node-esm/{chunk-RGULICLJ.mjs.map → chunk-BOTJSPCT.mjs.map} +1 -1
- package/dist/lib/node-esm/{chunk-VEUNEDN5.mjs → chunk-DT2ZNOGU.mjs} +31 -31
- package/dist/lib/node-esm/{chunk-VEUNEDN5.mjs.map → chunk-DT2ZNOGU.mjs.map} +1 -1
- package/dist/lib/node-esm/{chunk-H2CCMM4Z.mjs → chunk-OFJUOKY7.mjs} +4 -4
- package/dist/lib/node-esm/chunk-VLNCZYIC.mjs +16 -0
- package/dist/lib/node-esm/{chunk-HKSNTZF5.mjs.map → chunk-VLNCZYIC.mjs.map} +1 -1
- package/dist/lib/node-esm/cli/index.mjs +35 -27
- package/dist/lib/node-esm/cli/index.mjs.map +3 -3
- package/dist/lib/node-esm/{client-5AIPYSBT.mjs → client-EGZHGRRC.mjs} +3 -3
- package/dist/lib/node-esm/index.mjs +7 -7
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{migrations-O5KG2GGN.mjs → migrations-4NEKCBGU.mjs} +3 -3
- package/dist/lib/node-esm/{operation-resolver-GSH7AOTZ.mjs → operation-resolver-4GWB3YZG.mjs} +14 -14
- package/dist/lib/node-esm/operation-resolver-4GWB3YZG.mjs.map +7 -0
- package/dist/lib/node-esm/{react-context-OMJSBS23.mjs → react-context-T2ORT5CC.mjs} +3 -3
- package/dist/lib/node-esm/{react-surface-N3BSPMMX.mjs → react-surface-B65OUZYI.mjs} +9 -9
- package/dist/lib/node-esm/{schema-defs-ENOYSDP3.mjs → schema-defs-GXQ47JZN.mjs} +3 -3
- package/dist/lib/node-esm/types/index.mjs +2 -2
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
- package/dist/types/src/cli/commands/profile/create.d.ts +2 -1
- package/dist/types/src/cli/commands/profile/create.d.ts.map +1 -1
- package/dist/types/src/cli/commands/profile/delete.d.ts +1 -1
- package/dist/types/src/cli/commands/profile/delete.d.ts.map +1 -1
- package/dist/types/src/cli/commands/profile/list.d.ts.map +1 -1
- package/dist/types/src/containers/DevicesContainer/DevicesContainer.stories.d.ts +1 -1
- package/dist/types/src/types/schema.d.ts +30 -30
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +28 -28
- package/src/capabilities/app-graph-builder/app-graph-builder.ts +1 -1
- package/src/capabilities/operation-resolver/operation-resolver.ts +5 -3
- package/src/cli/commands/profile/create.ts +9 -6
- package/src/cli/commands/profile/delete.ts +5 -2
- package/src/cli/commands/profile/list.ts +13 -11
- package/src/constants.ts +3 -3
- package/src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.tsx +1 -1
- package/src/meta.ts +1 -1
- package/src/types/capabilities.ts +3 -3
- package/src/types/events.ts +5 -5
- package/src/types/schema.ts +21 -21
- package/dist/lib/browser/chunk-VYX3ROUX.mjs +0 -15
- package/dist/lib/browser/operation-resolver-6QW3BKA5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HKSNTZF5.mjs +0 -16
- package/dist/lib/node-esm/operation-resolver-GSH7AOTZ.mjs.map +0 -7
- /package/dist/lib/browser/{DevicesContainer-46MEG3F5.mjs.map → DevicesContainer-3N7ANEJ7.mjs.map} +0 -0
- /package/dist/lib/browser/{JoinDialog-2RCYK4O5.mjs.map → JoinDialog-VTTK7NHO.mjs.map} +0 -0
- /package/dist/lib/browser/{ProfileContainer-XYRCOQ5I.mjs.map → ProfileContainer-XV7OXJC2.mjs.map} +0 -0
- /package/dist/lib/browser/{RecoveryCodeDialog-EX2CLFND.mjs.map → RecoveryCodeDialog-WO34OZEJ.mjs.map} +0 -0
- /package/dist/lib/browser/{chunk-4XYOOXAH.mjs.map → chunk-GSVYEYVS.mjs.map} +0 -0
- /package/dist/lib/browser/{client-Z25GQ5YC.mjs.map → client-BXCP3EUE.mjs.map} +0 -0
- /package/dist/lib/browser/{migrations-HLHRMOW6.mjs.map → migrations-GKUA2ARL.mjs.map} +0 -0
- /package/dist/lib/browser/{react-context-E7TAJMDK.mjs.map → react-context-GZ3T5UON.mjs.map} +0 -0
- /package/dist/lib/browser/{react-surface-L5A2LBFE.mjs.map → react-surface-5VZP34X3.mjs.map} +0 -0
- /package/dist/lib/browser/{schema-defs-5WDZWVEI.mjs.map → schema-defs-KAG6HQMI.mjs.map} +0 -0
- /package/dist/lib/node-esm/{DevicesContainer-WQ3DQA45.mjs.map → DevicesContainer-V7HEUPO7.mjs.map} +0 -0
- /package/dist/lib/node-esm/{JoinDialog-KLTNJY5F.mjs.map → JoinDialog-XVKW4SLT.mjs.map} +0 -0
- /package/dist/lib/node-esm/{ProfileContainer-XI425QK5.mjs.map → ProfileContainer-B5LJ6TMU.mjs.map} +0 -0
- /package/dist/lib/node-esm/{RecoveryCodeDialog-AISRNJUM.mjs.map → RecoveryCodeDialog-YIRGXM7N.mjs.map} +0 -0
- /package/dist/lib/node-esm/{chunk-H2CCMM4Z.mjs.map → chunk-OFJUOKY7.mjs.map} +0 -0
- /package/dist/lib/node-esm/{client-5AIPYSBT.mjs.map → client-EGZHGRRC.mjs.map} +0 -0
- /package/dist/lib/node-esm/{migrations-O5KG2GGN.mjs.map → migrations-4NEKCBGU.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-context-OMJSBS23.mjs.map → react-context-T2ORT5CC.mjs.map} +0 -0
- /package/dist/lib/node-esm/{react-surface-N3BSPMMX.mjs.map → react-surface-B65OUZYI.mjs.map} +0 -0
- /package/dist/lib/node-esm/{schema-defs-ENOYSDP3.mjs.map → schema-defs-GXQ47JZN.mjs.map} +0 -0
package/dist/lib/browser/{operation-resolver-6QW3BKA5.mjs → operation-resolver-VSWA74RS.mjs}
RENAMED
|
@@ -2,19 +2,19 @@ import {
|
|
|
2
2
|
JOIN_DIALOG,
|
|
3
3
|
RECOVERY_CODE_DIALOG,
|
|
4
4
|
RESET_DIALOG
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-HSFDKP5D.mjs";
|
|
6
6
|
import {
|
|
7
7
|
Account,
|
|
8
8
|
ClientCapabilities,
|
|
9
9
|
ClientEvents,
|
|
10
10
|
ClientOperation
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-FVEKZBM7.mjs";
|
|
12
|
+
import "./chunk-JHSBBOCI.mjs";
|
|
13
13
|
|
|
14
14
|
// src/capabilities/operation-resolver/operation-resolver.ts
|
|
15
15
|
import * as Effect from "effect/Effect";
|
|
16
16
|
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
17
|
-
import { LayoutOperation } from "@dxos/app-toolkit";
|
|
17
|
+
import { LayoutOperation, getSpacePath } from "@dxos/app-toolkit";
|
|
18
18
|
import { PublicKey } from "@dxos/client";
|
|
19
19
|
import { runAndForwardErrors } from "@dxos/effect";
|
|
20
20
|
import { invariant } from "@dxos/invariant";
|
|
@@ -64,11 +64,11 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
64
64
|
operation: ClientOperation.ShareIdentity,
|
|
65
65
|
handler: Effect.fnUntraced(function* () {
|
|
66
66
|
yield* Operation.invoke(LayoutOperation.SwitchWorkspace, {
|
|
67
|
-
subject: Account.id
|
|
67
|
+
subject: getSpacePath(Account.id)
|
|
68
68
|
});
|
|
69
69
|
yield* Operation.invoke(LayoutOperation.Open, {
|
|
70
70
|
subject: [
|
|
71
|
-
Account.Profile
|
|
71
|
+
`${getSpacePath(Account.id)}/${Account.Profile}`
|
|
72
72
|
]
|
|
73
73
|
});
|
|
74
74
|
yield* Operation.schedule(ObservabilityOperation.SendEvent, {
|
|
@@ -115,7 +115,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
115
115
|
const client = yield* Capability.get(ClientCapabilities.Client);
|
|
116
116
|
invariant(client.services.services.EdgeAgentService, "Missing EdgeAgentService", {
|
|
117
117
|
F: __dxlog_file,
|
|
118
|
-
L:
|
|
118
|
+
L: 115,
|
|
119
119
|
S: this,
|
|
120
120
|
A: [
|
|
121
121
|
"client.services.services.EdgeAgentService",
|
|
@@ -136,7 +136,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
136
136
|
const client = yield* Capability.get(ClientCapabilities.Client);
|
|
137
137
|
invariant(client.services.services.IdentityService, "IdentityService not available", {
|
|
138
138
|
F: __dxlog_file,
|
|
139
|
-
L:
|
|
139
|
+
L: 129,
|
|
140
140
|
S: this,
|
|
141
141
|
A: [
|
|
142
142
|
"client.services.services.IdentityService",
|
|
@@ -164,7 +164,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
164
164
|
const identity = client.halo.identity.get();
|
|
165
165
|
invariant(identity, "Identity not available", {
|
|
166
166
|
F: __dxlog_file,
|
|
167
|
-
L:
|
|
167
|
+
L: 150,
|
|
168
168
|
S: this,
|
|
169
169
|
A: [
|
|
170
170
|
"identity",
|
|
@@ -202,7 +202,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
202
202
|
}));
|
|
203
203
|
invariant(credential, "Credential not available", {
|
|
204
204
|
F: __dxlog_file,
|
|
205
|
-
L:
|
|
205
|
+
L: 175,
|
|
206
206
|
S: this,
|
|
207
207
|
A: [
|
|
208
208
|
"credential",
|
|
@@ -213,7 +213,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
213
213
|
const algorithm = credential.response.getPublicKeyAlgorithm() === -7 ? "ES256" : "ED25519";
|
|
214
214
|
invariant(client.services.services.IdentityService, "IdentityService not available", {
|
|
215
215
|
F: __dxlog_file,
|
|
216
|
-
L:
|
|
216
|
+
L: 179,
|
|
217
217
|
S: this,
|
|
218
218
|
A: [
|
|
219
219
|
"client.services.services.IdentityService",
|
|
@@ -238,7 +238,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
238
238
|
const client = yield* Capability.get(ClientCapabilities.Client);
|
|
239
239
|
invariant(client.services.services.IdentityService, "IdentityService not available", {
|
|
240
240
|
F: __dxlog_file,
|
|
241
|
-
L:
|
|
241
|
+
L: 199,
|
|
242
242
|
S: this,
|
|
243
243
|
A: [
|
|
244
244
|
"client.services.services.IdentityService",
|
|
@@ -277,7 +277,7 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
277
277
|
const client = yield* Capability.get(ClientCapabilities.Client);
|
|
278
278
|
invariant(client.services.services.IdentityService, "IdentityService not available", {
|
|
279
279
|
F: __dxlog_file,
|
|
280
|
-
L:
|
|
280
|
+
L: 238,
|
|
281
281
|
S: this,
|
|
282
282
|
A: [
|
|
283
283
|
"client.services.services.IdentityService",
|
|
@@ -296,4 +296,4 @@ var operation_resolver_default = Capability.makeModule(Effect.fnUntraced(functio
|
|
|
296
296
|
export {
|
|
297
297
|
operation_resolver_default as default
|
|
298
298
|
};
|
|
299
|
-
//# sourceMappingURL=operation-resolver-
|
|
299
|
+
//# sourceMappingURL=operation-resolver-VSWA74RS.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/operation-resolver/operation-resolver.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { LayoutOperation, getSpacePath } from '@dxos/app-toolkit';\nimport { PublicKey } from '@dxos/client';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { invariant } from '@dxos/invariant';\nimport { OperationResolver } from '@dxos/operation';\nimport { Operation } from '@dxos/operation';\nimport { ObservabilityOperation } from '@dxos/plugin-observability/types';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport { JOIN_DIALOG, RECOVERY_CODE_DIALOG, RESET_DIALOG } from '../../constants';\nimport { ClientEvents } from '../../types';\nimport { Account, ClientCapabilities, ClientOperation } from '../../types';\n\ntype OperationResolverOptions = {\n appName?: string;\n};\n\nconst RECOVER_IDENTITY_RPC_TIMEOUT = 20_000;\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* ({ appName = 'Composer' }: OperationResolverOptions = {}) {\n return Capability.contributes(Capabilities.OperationResolver, [\n //\n // CreateIdentity\n //\n OperationResolver.make({\n operation: ClientOperation.CreateIdentity,\n handler: Effect.fnUntraced(function* (profile) {\n const manager = yield* Capability.get(Capabilities.PluginManager);\n const client = yield* Capability.get(ClientCapabilities.Client);\n const data = yield* Effect.promise(() => client.halo.createIdentity(profile));\n yield* Effect.promise(() => runAndForwardErrors(manager.activate(ClientEvents.IdentityCreated)));\n yield* Operation.schedule(ObservabilityOperation.SendEvent, { name: 'identity.create' });\n return data;\n }),\n }),\n\n //\n // JoinIdentity\n //\n OperationResolver.make({\n operation: ClientOperation.JoinIdentity,\n handler: Effect.fnUntraced(function* (data) {\n yield* Operation.invoke(LayoutOperation.UpdateDialog, {\n subject: JOIN_DIALOG,\n blockAlign: 'start',\n props: {\n initialInvitationCode: data.invitationCode,\n initialDisposition: 'accept-halo-invitation',\n },\n });\n }),\n }),\n\n //\n // ShareIdentity\n //\n OperationResolver.make({\n operation: ClientOperation.ShareIdentity,\n handler: Effect.fnUntraced(function* () {\n yield* Operation.invoke(LayoutOperation.SwitchWorkspace, { subject: getSpacePath(Account.id) });\n yield* Operation.invoke(LayoutOperation.Open, {\n subject: [`${getSpacePath(Account.id)}/${Account.Profile}`],\n });\n yield* Operation.schedule(ObservabilityOperation.SendEvent, { name: 'identity.share' });\n }),\n }),\n\n //\n // RecoverIdentity\n //\n OperationResolver.make({\n operation: ClientOperation.RecoverIdentity,\n handler: Effect.fnUntraced(function* () {\n yield* Operation.invoke(LayoutOperation.UpdateDialog, {\n subject: JOIN_DIALOG,\n blockAlign: 'start',\n props: {\n initialDisposition: 'recover-identity',\n } satisfies Partial<JoinPanelProps>,\n });\n }),\n }),\n\n //\n // ResetStorage\n //\n OperationResolver.make({\n operation: ClientOperation.ResetStorage,\n handler: Effect.fnUntraced(function* (data) {\n yield* Operation.invoke(LayoutOperation.UpdateDialog, {\n subject: RESET_DIALOG,\n blockAlign: 'start',\n props: {\n mode: data.mode ?? 'reset storage',\n },\n });\n }),\n }),\n\n //\n // CreateAgent\n //\n OperationResolver.make({\n operation: ClientOperation.CreateAgent,\n handler: Effect.fnUntraced(function* () {\n const client = yield* Capability.get(ClientCapabilities.Client);\n invariant(client.services.services.EdgeAgentService, 'Missing EdgeAgentService');\n yield* Effect.promise(() =>\n client.services.services.EdgeAgentService!.createAgent(undefined, { timeout: 10_000 }),\n );\n }),\n }),\n\n //\n // CreateRecoveryCode\n //\n OperationResolver.make({\n operation: ClientOperation.CreateRecoveryCode,\n handler: Effect.fnUntraced(function* () {\n const client = yield* Capability.get(ClientCapabilities.Client);\n invariant(client.services.services.IdentityService, 'IdentityService not available');\n const { recoveryCode } = yield* Effect.promise(() =>\n client.services.services.IdentityService!.createRecoveryCredential({}),\n );\n yield* Operation.invoke(LayoutOperation.UpdateDialog, {\n subject: RECOVERY_CODE_DIALOG,\n blockAlign: 'start',\n type: 'alert',\n props: { code: recoveryCode },\n });\n }),\n }),\n\n //\n // CreatePasskey\n //\n OperationResolver.make({\n operation: ClientOperation.CreatePasskey,\n handler: Effect.fnUntraced(function* () {\n const client = yield* Capability.get(ClientCapabilities.Client);\n const identity = client.halo.identity.get();\n invariant(identity, 'Identity not available');\n\n const lookupKey = PublicKey.random();\n const credential = yield* Effect.promise(() =>\n navigator.credentials.create({\n publicKey: {\n challenge: new Uint8Array(),\n rp: { id: location.hostname, name: appName },\n user: {\n id: lookupKey.asUint8Array() as Uint8Array<ArrayBuffer>,\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 authenticatorSelection: {\n residentKey: 'required',\n requireResidentKey: true,\n },\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 yield* Effect.promise(() =>\n client.services.services.IdentityService!.createRecoveryCredential({\n data: {\n recoveryKey,\n algorithm,\n lookupKey,\n },\n }),\n );\n }),\n }),\n\n //\n // RedeemPasskey\n //\n OperationResolver.make({\n operation: ClientOperation.RedeemPasskey,\n handler: Effect.fnUntraced(function* () {\n const client = yield* Capability.get(ClientCapabilities.Client);\n invariant(client.services.services.IdentityService, 'IdentityService not available');\n const { deviceKey, controlFeedKey, challenge } = yield* Effect.promise(() =>\n client.services.services.IdentityService!.requestRecoveryChallenge(),\n );\n const credential = yield* Effect.promise(() =>\n navigator.credentials.get({\n publicKey: {\n challenge: Buffer.from(challenge, 'base64'),\n rpId: location.hostname,\n userVerification: 'required',\n },\n }),\n );\n const lookupKey = PublicKey.from(new Uint8Array((credential as any).response.userHandle));\n yield* Effect.promise(() =>\n client.services.services.IdentityService!.recoverIdentity(\n {\n external: {\n lookupKey,\n deviceKey,\n controlFeedKey,\n signature: Buffer.from((credential as any).response.signature),\n clientDataJson: Buffer.from((credential as any).response.clientDataJSON),\n authenticatorData: Buffer.from((credential as any).response.authenticatorData),\n },\n },\n { timeout: RECOVER_IDENTITY_RPC_TIMEOUT },\n ),\n );\n }),\n }),\n\n //\n // RedeemToken\n //\n OperationResolver.make({\n operation: ClientOperation.RedeemToken,\n handler: Effect.fnUntraced(function* (data) {\n const client = yield* Capability.get(ClientCapabilities.Client);\n invariant(client.services.services.IdentityService, 'IdentityService not available');\n yield* Effect.promise(() =>\n client.services.services.IdentityService!.recoverIdentity(\n { token: data.token },\n { timeout: RECOVER_IDENTITY_RPC_TIMEOUT },\n ),\n );\n }),\n }),\n ]);\n }),\n);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Effect", "Capabilities", "Capability", "LayoutOperation", "getSpacePath", "PublicKey", "runAndForwardErrors", "invariant", "OperationResolver", "Operation", "ObservabilityOperation", "RECOVER_IDENTITY_RPC_TIMEOUT", "Capability", "makeModule", "fnUntraced", "appName", "contributes", "Capabilities", "OperationResolver", "make", "operation", "ClientOperation", "CreateIdentity", "handler", "profile", "manager", "get", "PluginManager", "client", "ClientCapabilities", "Client", "data", "promise", "halo", "createIdentity", "runAndForwardErrors", "activate", "ClientEvents", "IdentityCreated", "Operation", "schedule", "ObservabilityOperation", "SendEvent", "name", "JoinIdentity", "invoke", "LayoutOperation", "UpdateDialog", "subject", "JOIN_DIALOG", "blockAlign", "props", "initialInvitationCode", "invitationCode", "initialDisposition", "ShareIdentity", "SwitchWorkspace", "getSpacePath", "Account", "id", "Open", "Profile", "RecoverIdentity", "ResetStorage", "RESET_DIALOG", "mode", "CreateAgent", "invariant", "services", "EdgeAgentService", "createAgent", "undefined", "timeout", "CreateRecoveryCode", "IdentityService", "recoveryCode", "createRecoveryCredential", "RECOVERY_CODE_DIALOG", "type", "code", "CreatePasskey", "identity", "lookupKey", "PublicKey", "random", "credential", "navigator", "credentials", "create", "publicKey", "challenge", "Uint8Array", "rp", "location", "hostname", "user", "asUint8Array", "did", "displayName", "pubKeyCredParams", "alg", "authenticatorSelection", "residentKey", "requireResidentKey", "recoveryKey", "from", "response", "getPublicKey", "algorithm", "getPublicKeyAlgorithm", "RedeemPasskey", "deviceKey", "controlFeedKey", "requestRecoveryChallenge", "Buffer", "rpId", "userVerification", "userHandle", "recoverIdentity", "external", "signature", "clientDataJson", "clientDataJSON", "authenticatorData", "RedeemToken", "token"]
|
|
7
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ClientCapabilities
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FVEKZBM7.mjs";
|
|
4
4
|
import {
|
|
5
5
|
meta
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-JHSBBOCI.mjs";
|
|
7
7
|
|
|
8
8
|
// src/capabilities/react-context/react-context.tsx
|
|
9
9
|
import * as Effect from "effect/Effect";
|
|
@@ -23,4 +23,4 @@ var react_context_default = Capability.makeModule(() => Effect.succeed(Capabilit
|
|
|
23
23
|
export {
|
|
24
24
|
react_context_default as default
|
|
25
25
|
};
|
|
26
|
-
//# sourceMappingURL=react-context-
|
|
26
|
+
//# sourceMappingURL=react-context-GZ3T5UON.mjs.map
|
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
JOIN_DIALOG,
|
|
3
3
|
RECOVERY_CODE_DIALOG,
|
|
4
4
|
RESET_DIALOG
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-HSFDKP5D.mjs";
|
|
6
6
|
import {
|
|
7
7
|
Account
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-FVEKZBM7.mjs";
|
|
9
|
+
import "./chunk-JHSBBOCI.mjs";
|
|
10
10
|
|
|
11
11
|
// src/capabilities/react-surface/react-surface.tsx
|
|
12
12
|
import * as Effect from "effect/Effect";
|
|
@@ -16,11 +16,11 @@ import { Surface } from "@dxos/app-framework/ui";
|
|
|
16
16
|
|
|
17
17
|
// src/containers/index.ts
|
|
18
18
|
import { lazy } from "react";
|
|
19
|
-
var DevicesContainer = lazy(() => import("./DevicesContainer-
|
|
20
|
-
var JoinDialog = lazy(() => import("./JoinDialog-
|
|
21
|
-
var ProfileContainer = lazy(() => import("./ProfileContainer-
|
|
22
|
-
var RecoveryCodeDialog = lazy(() => import("./RecoveryCodeDialog-
|
|
23
|
-
var RecoveryCredentialsContainer = lazy(() => import("./RecoveryCredentialsContainer-
|
|
19
|
+
var DevicesContainer = lazy(() => import("./DevicesContainer-3N7ANEJ7.mjs"));
|
|
20
|
+
var JoinDialog = lazy(() => import("./JoinDialog-VTTK7NHO.mjs"));
|
|
21
|
+
var ProfileContainer = lazy(() => import("./ProfileContainer-XV7OXJC2.mjs"));
|
|
22
|
+
var RecoveryCodeDialog = lazy(() => import("./RecoveryCodeDialog-WO34OZEJ.mjs"));
|
|
23
|
+
var RecoveryCredentialsContainer = lazy(() => import("./RecoveryCredentialsContainer-G22FSTIX.mjs"));
|
|
24
24
|
var ResetDialog = lazy(() => import("./ResetDialog-W24FOWBQ.mjs"));
|
|
25
25
|
|
|
26
26
|
// src/capabilities/react-surface/react-surface.tsx
|
|
@@ -74,4 +74,4 @@ var react_surface_default = Capability.makeModule(Effect.fnUntraced(function* ({
|
|
|
74
74
|
export {
|
|
75
75
|
react_surface_default as default
|
|
76
76
|
};
|
|
77
|
-
//# sourceMappingURL=react-surface-
|
|
77
|
+
//# sourceMappingURL=react-surface-5VZP34X3.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ClientCapabilities
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-FVEKZBM7.mjs";
|
|
4
|
+
import "./chunk-JHSBBOCI.mjs";
|
|
5
5
|
|
|
6
6
|
// src/capabilities/schema-defs/schema-defs.ts
|
|
7
7
|
import * as Effect from "effect/Effect";
|
|
@@ -25,4 +25,4 @@ var schema_defs_default = Capability.makeModule(Effect.fnUntraced(function* () {
|
|
|
25
25
|
export {
|
|
26
26
|
schema_defs_default as default
|
|
27
27
|
};
|
|
28
|
-
//# sourceMappingURL=schema-defs-
|
|
28
|
+
//# sourceMappingURL=schema-defs-KAG6HQMI.mjs.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
ClientOperation
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-DT2ZNOGU.mjs";
|
|
5
5
|
import {
|
|
6
6
|
meta
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-BOTJSPCT.mjs";
|
|
8
8
|
|
|
9
9
|
// src/containers/DevicesContainer/DevicesContainer.tsx
|
|
10
10
|
import React, { useCallback, useEffect, useState } from "react";
|
|
@@ -266,4 +266,4 @@ var DevicesContainer_default = DevicesContainer;
|
|
|
266
266
|
export {
|
|
267
267
|
DevicesContainer_default as default
|
|
268
268
|
};
|
|
269
|
-
//# sourceMappingURL=DevicesContainer-
|
|
269
|
+
//# sourceMappingURL=DevicesContainer-V7HEUPO7.mjs.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
ClientOperation
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-DT2ZNOGU.mjs";
|
|
5
5
|
import {
|
|
6
6
|
meta
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-BOTJSPCT.mjs";
|
|
8
8
|
|
|
9
9
|
// src/containers/JoinDialog/JoinDialog.tsx
|
|
10
10
|
import React, { useCallback } from "react";
|
|
@@ -57,4 +57,4 @@ var JoinDialog_default = JoinDialog;
|
|
|
57
57
|
export {
|
|
58
58
|
JoinDialog_default as default
|
|
59
59
|
};
|
|
60
|
-
//# sourceMappingURL=JoinDialog-
|
|
60
|
+
//# sourceMappingURL=JoinDialog-XVKW4SLT.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
meta
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-BOTJSPCT.mjs";
|
|
5
5
|
|
|
6
6
|
// src/containers/ProfileContainer/ProfileContainer.tsx
|
|
7
7
|
import * as Schema from "effect/Schema";
|
|
@@ -169,4 +169,4 @@ var ProfileContainer_default = ProfileContainer;
|
|
|
169
169
|
export {
|
|
170
170
|
ProfileContainer_default as default
|
|
171
171
|
};
|
|
172
|
-
//# sourceMappingURL=ProfileContainer-
|
|
172
|
+
//# sourceMappingURL=ProfileContainer-B5LJ6TMU.mjs.map
|
package/dist/lib/node-esm/{RecoveryCodeDialog-AISRNJUM.mjs → RecoveryCodeDialog-YIRGXM7N.mjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
meta
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-BOTJSPCT.mjs";
|
|
5
5
|
|
|
6
6
|
// src/containers/RecoveryCodeDialog/RecoveryCodeDialog.tsx
|
|
7
7
|
import React, { useCallback, useState } from "react";
|
|
@@ -58,4 +58,4 @@ export {
|
|
|
58
58
|
RecoveryCodeDialog,
|
|
59
59
|
RecoveryCodeDialog_default as default
|
|
60
60
|
};
|
|
61
|
-
//# sourceMappingURL=RecoveryCodeDialog-
|
|
61
|
+
//# sourceMappingURL=RecoveryCodeDialog-YIRGXM7N.mjs.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
ClientOperation
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-DT2ZNOGU.mjs";
|
|
5
5
|
import {
|
|
6
6
|
meta
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-BOTJSPCT.mjs";
|
|
8
8
|
|
|
9
9
|
// src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.tsx
|
|
10
10
|
import React from "react";
|
|
@@ -12,7 +12,7 @@ import { useOperationInvoker } from "@dxos/app-framework/ui";
|
|
|
12
12
|
import { useCredentials } from "@dxos/react-client/halo";
|
|
13
13
|
import { Icon, IconButton, List, ListItem, Message, useTranslation } from "@dxos/react-ui";
|
|
14
14
|
import { Settings } from "@dxos/react-ui-form";
|
|
15
|
-
var MANAGE_CREDENTIALS_DIALOG = `${meta.id}
|
|
15
|
+
var MANAGE_CREDENTIALS_DIALOG = `${meta.id}.ManageCredentialsDialog`;
|
|
16
16
|
var RecoveryCredentialsContainer = () => {
|
|
17
17
|
const { t } = useTranslation(meta.id);
|
|
18
18
|
const { invokePromise } = useOperationInvoker();
|
|
@@ -55,4 +55,4 @@ var RecoveryCredentialsContainer_default = RecoveryCredentialsContainer;
|
|
|
55
55
|
export {
|
|
56
56
|
RecoveryCredentialsContainer_default as default
|
|
57
57
|
};
|
|
58
|
-
//# sourceMappingURL=RecoveryCredentialsContainer-
|
|
58
|
+
//# sourceMappingURL=RecoveryCredentialsContainer-MVJEFNXX.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/containers/RecoveryCredentialsContainer/RecoveryCredentialsContainer.tsx", "../../../src/containers/RecoveryCredentialsContainer/index.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { useCredentials } from '@dxos/react-client/halo';\nimport { Icon, IconButton, List, ListItem, Message, useTranslation } from '@dxos/react-ui';\nimport { Settings } from '@dxos/react-ui-form';\n\nimport { meta } from '../../meta';\nimport { ClientOperation } from '../../types';\n\nexport const MANAGE_CREDENTIALS_DIALOG = `${meta.id}
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport React from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { useCredentials } from '@dxos/react-client/halo';\nimport { Icon, IconButton, List, ListItem, Message, useTranslation } from '@dxos/react-ui';\nimport { Settings } from '@dxos/react-ui-form';\n\nimport { meta } from '../../meta';\nimport { ClientOperation } from '../../types';\n\nexport const MANAGE_CREDENTIALS_DIALOG = `${meta.id}.ManageCredentialsDialog`;\n\nexport const RecoveryCredentialsContainer = () => {\n const { t } = useTranslation(meta.id);\n const { invokePromise } = useOperationInvoker();\n const credentials = useCredentials();\n const recoveryCredentials = credentials.filter(\n (credential) => credential.subject.assertion['@type'] === 'dxos.halo.credentials.IdentityRecovery',\n );\n\n return (\n <Settings.Root>\n <Settings.Section title={t('recovery setup dialog title')} description={t('recovery setup dialog description')}>\n <Settings.Group>\n <Settings.Item title={t('create passkey label')} description={t('create passkey description')}>\n <IconButton\n label={t('create passkey label')}\n icon='ph--key--duotone'\n variant='primary'\n onClick={() => invokePromise(ClientOperation.CreatePasskey)}\n />\n </Settings.Item>\n <Settings.Item title={t('create recovery code label')} description={t('create recovery code description')}>\n <IconButton\n label={t('create recovery code label')}\n icon='ph--receipt--duotone'\n variant='default'\n onClick={() => invokePromise(ClientOperation.CreateRecoveryCode)}\n />\n </Settings.Item>\n </Settings.Group>\n </Settings.Section>\n <Settings.Section title={t('credentials list label')}>\n {recoveryCredentials.length < 1 ? (\n <Message.Root valence='error'>\n <Message.Title icon='ph--shield-warning--duotone'>{t('no credentials title')}</Message.Title>\n <Message.Content>{t('no credentials message')}</Message.Content>\n </Message.Root>\n ) : (\n <List>\n {recoveryCredentials.map((credential) => (\n <ListItem.Root key={credential.id?.toHex()}>\n <ListItem.Endcap>\n <Icon icon='ph--key--regular' />\n </ListItem.Endcap>\n <ListItem.Heading>{credential.issuanceDate.toLocaleString()}</ListItem.Heading>\n </ListItem.Root>\n ))}\n </List>\n )}\n </Settings.Section>\n </Settings.Root>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { RecoveryCredentialsContainer } from './RecoveryCredentialsContainer';\n\nexport default RecoveryCredentialsContainer;\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;AAIA,OAAOA,WAAW;AAElB,SAASC,2BAA2B;AACpC,SAASC,sBAAsB;AAC/B,SAASC,MAAMC,YAAYC,MAAMC,UAAUC,SAASC,sBAAsB;AAC1E,SAASC,gBAAgB;AAKlB,IAAMC,4BAA4B,GAAGC,KAAKC,EAAE;AAE5C,IAAMC,+BAA+B,MAAA;AAC1C,QAAM,EAAEC,EAAC,IAAKC,eAAeJ,KAAKC,EAAE;AACpC,QAAM,EAAEI,cAAa,IAAKC,oBAAAA;AAC1B,QAAMC,cAAcC,eAAAA;AACpB,QAAMC,sBAAsBF,YAAYG,OACtC,CAACC,eAAeA,WAAWC,QAAQC,UAAU,OAAA,MAAa,wCAAA;AAG5D,SACE,sBAAA,cAACC,SAASC,MAAI,MACZ,sBAAA,cAACD,SAASE,SAAO;IAACC,OAAOd,EAAE,6BAAA;IAAgCe,aAAaf,EAAE,mCAAA;KACxE,sBAAA,cAACW,SAASK,OAAK,MACb,sBAAA,cAACL,SAASM,MAAI;IAACH,OAAOd,EAAE,sBAAA;IAAyBe,aAAaf,EAAE,4BAAA;KAC9D,sBAAA,cAACkB,YAAAA;IACCC,OAAOnB,EAAE,sBAAA;IACToB,MAAK;IACLC,SAAQ;IACRC,SAAS,MAAMpB,cAAcqB,gBAAgBC,aAAa;OAG9D,sBAAA,cAACb,SAASM,MAAI;IAACH,OAAOd,EAAE,4BAAA;IAA+Be,aAAaf,EAAE,kCAAA;KACpE,sBAAA,cAACkB,YAAAA;IACCC,OAAOnB,EAAE,4BAAA;IACToB,MAAK;IACLC,SAAQ;IACRC,SAAS,MAAMpB,cAAcqB,gBAAgBE,kBAAkB;SAKvE,sBAAA,cAACd,SAASE,SAAO;IAACC,OAAOd,EAAE,wBAAA;KACxBM,oBAAoBoB,SAAS,IAC5B,sBAAA,cAACC,QAAQf,MAAI;IAACgB,SAAQ;KACpB,sBAAA,cAACD,QAAQE,OAAK;IAACT,MAAK;KAA+BpB,EAAE,sBAAA,CAAA,GACrD,sBAAA,cAAC2B,QAAQG,SAAO,MAAE9B,EAAE,wBAAA,CAAA,CAAA,IAGtB,sBAAA,cAAC+B,MAAAA,MACEzB,oBAAoB0B,IAAI,CAACxB,eACxB,sBAAA,cAACyB,SAASrB,MAAI;IAACsB,KAAK1B,WAAWV,IAAIqC,MAAAA;KACjC,sBAAA,cAACF,SAASG,QAAM,MACd,sBAAA,cAACC,MAAAA;IAAKjB,MAAK;OAEb,sBAAA,cAACa,SAASK,SAAO,MAAE9B,WAAW+B,aAAaC,eAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAQzE;;;AC7DA,IAAA,uCAAeC;",
|
|
6
6
|
"names": ["React", "useOperationInvoker", "useCredentials", "Icon", "IconButton", "List", "ListItem", "Message", "useTranslation", "Settings", "MANAGE_CREDENTIALS_DIALOG", "meta", "id", "RecoveryCredentialsContainer", "t", "useTranslation", "invokePromise", "useOperationInvoker", "credentials", "useCredentials", "recoveryCredentials", "filter", "credential", "subject", "assertion", "Settings", "Root", "Section", "title", "description", "Group", "Item", "IconButton", "label", "icon", "variant", "onClick", "ClientOperation", "CreatePasskey", "CreateRecoveryCode", "length", "Message", "valence", "Title", "Content", "List", "map", "ListItem", "key", "toHex", "Endcap", "Icon", "Heading", "issuanceDate", "toLocaleString", "RecoveryCredentialsContainer"]
|
|
7
7
|
}
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
Account,
|
|
4
4
|
ClientCapabilities,
|
|
5
5
|
ClientOperation
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-DT2ZNOGU.mjs";
|
|
7
7
|
import {
|
|
8
8
|
meta
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-BOTJSPCT.mjs";
|
|
10
10
|
|
|
11
11
|
// src/capabilities/app-graph-builder/app-graph-builder.ts
|
|
12
12
|
import * as Effect from "effect/Effect";
|
|
@@ -21,7 +21,7 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
|
|
|
21
21
|
match: NodeMatcher.whenRoot,
|
|
22
22
|
actions: () => Effect.succeed([
|
|
23
23
|
{
|
|
24
|
-
id: `${meta.id}
|
|
24
|
+
id: `${meta.id}.open-user-account`,
|
|
25
25
|
data: () => Operation.invoke(ClientOperation.ShareIdentity),
|
|
26
26
|
properties: {
|
|
27
27
|
label: [
|
|
@@ -119,4 +119,4 @@ var app_graph_builder_default = Capability.makeModule(Effect.fnUntraced(function
|
|
|
119
119
|
export {
|
|
120
120
|
app_graph_builder_default as default
|
|
121
121
|
};
|
|
122
|
-
//# sourceMappingURL=app-graph-builder-
|
|
122
|
+
//# sourceMappingURL=app-graph-builder-PTNZ46NN.mjs.map
|
package/dist/lib/node-esm/{app-graph-builder-6JD6BZAI.mjs.map → app-graph-builder-PTNZ46NN.mjs.map}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/capabilities/app-graph-builder/app-graph-builder.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/operation';\nimport { CreateAtom, GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';\nimport { ConnectionState } from '@dxos/react-client/mesh';\n\nimport { meta } from '../../meta';\nimport { Account, ClientCapabilities, ClientOperation } from '../../types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const extensions = yield* GraphBuilder.createExtension({\n id: meta.id,\n match: NodeMatcher.whenRoot,\n actions: () =>\n Effect.succeed([\n {\n id: `${meta.id}
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { Operation } from '@dxos/operation';\nimport { CreateAtom, GraphBuilder, NodeMatcher } from '@dxos/plugin-graph';\nimport { ConnectionState } from '@dxos/react-client/mesh';\n\nimport { meta } from '../../meta';\nimport { Account, ClientCapabilities, ClientOperation } from '../../types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n const extensions = yield* GraphBuilder.createExtension({\n id: meta.id,\n match: NodeMatcher.whenRoot,\n actions: () =>\n Effect.succeed([\n {\n id: `${meta.id}.open-user-account`,\n data: () => Operation.invoke(ClientOperation.ShareIdentity),\n properties: {\n label: ['open user account label', { ns: meta.id }],\n icon: 'ph--user--regular',\n disposition: 'menu',\n keyBinding: {\n macos: 'meta+shift+.',\n // TODO(wittjosiah): Test on windows to see if it behaves the same as linux.\n windows: 'alt+shift+.',\n linux: 'alt+shift+>',\n },\n },\n },\n ]),\n connector: Effect.fnUntraced(function* (node, get) {\n const client = yield* Capability.get(ClientCapabilities.Client);\n const identity = get(CreateAtom.fromObservable(client.halo.identity));\n const status = get(CreateAtom.fromObservable(client.mesh.networkStatus));\n\n return [\n {\n id: Account.id,\n type: meta.id,\n properties: {\n label: ['account label', { ns: meta.id }],\n icon: 'ph--user--regular',\n disposition: 'user-account',\n testId: 'clientPlugin.account',\n // NOTE: This currently needs to be the identity key because the fallback is generated from hex.\n userId: identity?.identityKey.toHex(),\n hue: identity?.profile?.data?.hue,\n emoji: identity?.profile?.data?.emoji,\n status: status.swarm === ConnectionState.OFFLINE ? 'error' : 'active',\n },\n nodes: [\n {\n id: Account.Profile,\n data: Account.Profile,\n type: meta.id,\n properties: {\n label: ['profile label', { ns: meta.id }],\n icon: 'ph--user--regular',\n },\n },\n {\n id: Account.Devices,\n data: Account.Devices,\n type: meta.id,\n properties: {\n label: ['devices label', { ns: meta.id }],\n icon: 'ph--devices--regular',\n testId: 'clientPlugin.devices',\n },\n },\n {\n id: Account.Security,\n data: Account.Security,\n type: meta.id,\n properties: {\n label: ['security label', { ns: meta.id }],\n icon: 'ph--key--regular',\n },\n },\n ],\n },\n ];\n }),\n });\n\n return Capability.contributes(AppCapabilities.AppGraphBuilder, extensions);\n }),\n);\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,uBAAuB;AAChC,SAASC,iBAAiB;AAC1B,SAASC,YAAYC,cAAcC,mBAAmB;AACtD,SAASC,uBAAuB;AAKhC,IAAA,4BAAeC,WAAWC,WACjBC,kBAAW,aAAA;AAChB,QAAMC,aAAa,OAAOC,aAAaC,gBAAgB;IACrDC,IAAIC,KAAKD;IACTE,OAAOC,YAAYC;IACnBC,SAAS,MACAC,eAAQ;MACb;QACEN,IAAI,GAAGC,KAAKD,EAAE;QACdO,MAAM,MAAMC,UAAUC,OAAOC,gBAAgBC,aAAa;QAC1DC,YAAY;UACVC,OAAO;YAAC;YAA2B;cAAEC,IAAIb,KAAKD;YAAG;;UACjDe,MAAM;UACNC,aAAa;UACbC,YAAY;YACVC,OAAO;;YAEPC,SAAS;YACTC,OAAO;UACT;QACF;MACF;KACD;IACHC,WAAkBzB,kBAAW,WAAW0B,MAAMC,KAAG;AAC/C,YAAMC,SAAS,OAAO9B,WAAW6B,IAAIE,mBAAmBC,MAAM;AAC9D,YAAMC,WAAWJ,IAAIK,WAAWC,eAAeL,OAAOM,KAAKH,QAAQ,CAAA;AACnE,YAAMI,SAASR,IAAIK,WAAWC,eAAeL,OAAOQ,KAAKC,aAAa,CAAA;AAEtE,aAAO;QACL;UACEjC,IAAIkC,QAAQlC;UACZmC,MAAMlC,KAAKD;UACXY,YAAY;YACVC,OAAO;cAAC;cAAiB;gBAAEC,IAAIb,KAAKD;cAAG;;YACvCe,MAAM;YACNC,aAAa;YACboB,QAAQ;;YAERC,QAAQV,UAAUW,YAAYC,MAAAA;YAC9BC,KAAKb,UAAUc,SAASlC,MAAMiC;YAC9BE,OAAOf,UAAUc,SAASlC,MAAMmC;YAChCX,QAAQA,OAAOY,UAAUC,gBAAgBC,UAAU,UAAU;UAC/D;UACAC,OAAO;YACL;cACE9C,IAAIkC,QAAQa;cACZxC,MAAM2B,QAAQa;cACdZ,MAAMlC,KAAKD;cACXY,YAAY;gBACVC,OAAO;kBAAC;kBAAiB;oBAAEC,IAAIb,KAAKD;kBAAG;;gBACvCe,MAAM;cACR;YACF;YACA;cACEf,IAAIkC,QAAQc;cACZzC,MAAM2B,QAAQc;cACdb,MAAMlC,KAAKD;cACXY,YAAY;gBACVC,OAAO;kBAAC;kBAAiB;oBAAEC,IAAIb,KAAKD;kBAAG;;gBACvCe,MAAM;gBACNqB,QAAQ;cACV;YACF;YACA;cACEpC,IAAIkC,QAAQe;cACZ1C,MAAM2B,QAAQe;cACdd,MAAMlC,KAAKD;cACXY,YAAY;gBACVC,OAAO;kBAAC;kBAAkB;oBAAEC,IAAIb,KAAKD;kBAAG;;gBACxCe,MAAM;cACR;YACF;;QAEJ;;IAEJ,CAAA;EACF,CAAA;AAEA,SAAOrB,WAAWwD,YAAYC,gBAAgBC,iBAAiBvD,UAAAA;AACjE,CAAA,CAAA;",
|
|
6
6
|
"names": ["Effect", "Capability", "AppCapabilities", "Operation", "CreateAtom", "GraphBuilder", "NodeMatcher", "ConnectionState", "Capability", "makeModule", "fnUntraced", "extensions", "GraphBuilder", "createExtension", "id", "meta", "match", "NodeMatcher", "whenRoot", "actions", "succeed", "data", "Operation", "invoke", "ClientOperation", "ShareIdentity", "properties", "label", "ns", "icon", "disposition", "keyBinding", "macos", "windows", "linux", "connector", "node", "get", "client", "ClientCapabilities", "Client", "identity", "CreateAtom", "fromObservable", "halo", "status", "mesh", "networkStatus", "Account", "type", "testId", "userId", "identityKey", "toHex", "hue", "profile", "emoji", "swarm", "ConnectionState", "OFFLINE", "nodes", "Profile", "Devices", "Security", "contributes", "AppCapabilities", "AppGraphBuilder"]
|
|
7
7
|
}
|
|
@@ -3,7 +3,7 @@ import { createRequire } from 'node:module';const require = createRequire(import
|
|
|
3
3
|
// src/meta.ts
|
|
4
4
|
import { trim } from "@dxos/util";
|
|
5
5
|
var meta = {
|
|
6
|
-
id: "dxos.
|
|
6
|
+
id: "org.dxos.plugin.client",
|
|
7
7
|
name: "Client",
|
|
8
8
|
description: trim`
|
|
9
9
|
Core client connectivity and peer-to-peer networking infrastructure.
|
|
@@ -14,4 +14,4 @@ var meta = {
|
|
|
14
14
|
export {
|
|
15
15
|
meta
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=chunk-
|
|
17
|
+
//# sourceMappingURL=chunk-BOTJSPCT.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/meta.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'dxos.
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.client',\n name: 'Client',\n description: trim`\n Core client connectivity and peer-to-peer networking infrastructure.\n Manages identity, authentication, and real-time synchronization across devices.\n `,\n};\n"],
|
|
5
5
|
"mappings": ";;;AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;AAIf;",
|
|
6
6
|
"names": ["trim", "meta", "id", "name", "description", "trim"]
|
|
7
7
|
}
|