@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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/plugin-client",
|
|
3
|
-
"version": "0.8.4-main.
|
|
3
|
+
"version": "0.8.4-main.d05673bc65",
|
|
4
4
|
"description": "DXOS Surface plugin for DXOS Client",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -49,28 +49,28 @@
|
|
|
49
49
|
"effect": "3.19.16",
|
|
50
50
|
"react-qr-rounded": "^1.0.0",
|
|
51
51
|
"yaml": "^2.7.0",
|
|
52
|
-
"@dxos/app-framework": "0.8.4-main.
|
|
53
|
-
"@dxos/app-toolkit": "0.8.4-main.
|
|
54
|
-
"@dxos/
|
|
55
|
-
"@dxos/
|
|
56
|
-
"@dxos/
|
|
57
|
-
"@dxos/
|
|
58
|
-
"@dxos/
|
|
59
|
-
"@dxos/
|
|
60
|
-
"@dxos/
|
|
61
|
-
"@dxos/
|
|
62
|
-
"@dxos/
|
|
63
|
-
"@dxos/
|
|
64
|
-
"@dxos/
|
|
65
|
-
"@dxos/plugin-graph": "0.8.4-main.
|
|
66
|
-
"@dxos/protocols": "0.8.4-main.
|
|
67
|
-
"@dxos/
|
|
68
|
-
"@dxos/react-
|
|
69
|
-
"@dxos/
|
|
70
|
-
"@dxos/
|
|
71
|
-
"@dxos/react-ui-
|
|
72
|
-
"@dxos/
|
|
73
|
-
"@dxos/
|
|
52
|
+
"@dxos/app-framework": "0.8.4-main.d05673bc65",
|
|
53
|
+
"@dxos/app-toolkit": "0.8.4-main.d05673bc65",
|
|
54
|
+
"@dxos/async": "0.8.4-main.d05673bc65",
|
|
55
|
+
"@dxos/client": "0.8.4-main.d05673bc65",
|
|
56
|
+
"@dxos/cli-util": "0.8.4-main.d05673bc65",
|
|
57
|
+
"@dxos/client-protocol": "0.8.4-main.d05673bc65",
|
|
58
|
+
"@dxos/client-services": "0.8.4-main.d05673bc65",
|
|
59
|
+
"@dxos/config": "0.8.4-main.d05673bc65",
|
|
60
|
+
"@dxos/effect": "0.8.4-main.d05673bc65",
|
|
61
|
+
"@dxos/echo": "0.8.4-main.d05673bc65",
|
|
62
|
+
"@dxos/log": "0.8.4-main.d05673bc65",
|
|
63
|
+
"@dxos/operation": "0.8.4-main.d05673bc65",
|
|
64
|
+
"@dxos/invariant": "0.8.4-main.d05673bc65",
|
|
65
|
+
"@dxos/plugin-graph": "0.8.4-main.d05673bc65",
|
|
66
|
+
"@dxos/protocols": "0.8.4-main.d05673bc65",
|
|
67
|
+
"@dxos/plugin-observability": "0.8.4-main.d05673bc65",
|
|
68
|
+
"@dxos/react-client": "0.8.4-main.d05673bc65",
|
|
69
|
+
"@dxos/react-ui-form": "0.8.4-main.d05673bc65",
|
|
70
|
+
"@dxos/util": "0.8.4-main.d05673bc65",
|
|
71
|
+
"@dxos/react-ui-pickers": "0.8.4-main.d05673bc65",
|
|
72
|
+
"@dxos/react-ui-stack": "0.8.4-main.d05673bc65",
|
|
73
|
+
"@dxos/shell": "0.8.4-main.d05673bc65"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"@effect-atom/atom-react": "^0.5.0",
|
|
@@ -81,9 +81,9 @@
|
|
|
81
81
|
"react": "~19.2.3",
|
|
82
82
|
"react-dom": "~19.2.3",
|
|
83
83
|
"vite": "^7.1.11",
|
|
84
|
-
"@dxos/
|
|
85
|
-
"@dxos/
|
|
86
|
-
"@dxos/
|
|
84
|
+
"@dxos/react-ui": "0.8.4-main.d05673bc65",
|
|
85
|
+
"@dxos/ui-theme": "0.8.4-main.d05673bc65",
|
|
86
|
+
"@dxos/storybook-utils": "0.8.4-main.d05673bc65"
|
|
87
87
|
},
|
|
88
88
|
"peerDependencies": {
|
|
89
89
|
"@effect-atom/atom-react": "^0.5.0",
|
|
@@ -91,8 +91,8 @@
|
|
|
91
91
|
"effect": "3.19.16",
|
|
92
92
|
"react": "~19.2.3",
|
|
93
93
|
"react-dom": "~19.2.3",
|
|
94
|
-
"@dxos/react-ui": "0.8.4-main.
|
|
95
|
-
"@dxos/ui-theme": "0.8.4-main.
|
|
94
|
+
"@dxos/react-ui": "0.8.4-main.d05673bc65",
|
|
95
|
+
"@dxos/ui-theme": "0.8.4-main.d05673bc65"
|
|
96
96
|
},
|
|
97
97
|
"publishConfig": {
|
|
98
98
|
"access": "public"
|
|
@@ -21,7 +21,7 @@ export default Capability.makeModule(
|
|
|
21
21
|
actions: () =>
|
|
22
22
|
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: ['open user account label', { ns: meta.id }],
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import * as Effect from 'effect/Effect';
|
|
6
6
|
|
|
7
7
|
import { Capabilities, Capability } from '@dxos/app-framework';
|
|
8
|
-
import { LayoutOperation } from '@dxos/app-toolkit';
|
|
8
|
+
import { LayoutOperation, getSpacePath } from '@dxos/app-toolkit';
|
|
9
9
|
import { PublicKey } from '@dxos/client';
|
|
10
10
|
import { runAndForwardErrors } from '@dxos/effect';
|
|
11
11
|
import { invariant } from '@dxos/invariant';
|
|
@@ -65,8 +65,10 @@ export default Capability.makeModule(
|
|
|
65
65
|
OperationResolver.make({
|
|
66
66
|
operation: ClientOperation.ShareIdentity,
|
|
67
67
|
handler: Effect.fnUntraced(function* () {
|
|
68
|
-
yield* Operation.invoke(LayoutOperation.SwitchWorkspace, { subject: Account.id });
|
|
69
|
-
yield* Operation.invoke(LayoutOperation.Open, {
|
|
68
|
+
yield* Operation.invoke(LayoutOperation.SwitchWorkspace, { subject: getSpacePath(Account.id) });
|
|
69
|
+
yield* Operation.invoke(LayoutOperation.Open, {
|
|
70
|
+
subject: [`${getSpacePath(Account.id)}/${Account.Profile}`],
|
|
71
|
+
});
|
|
70
72
|
yield* Operation.schedule(ObservabilityOperation.SendEvent, { name: 'identity.share' });
|
|
71
73
|
}),
|
|
72
74
|
}),
|
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
import * as Command from '@effect/cli/Command';
|
|
6
6
|
import * as Options from '@effect/cli/Options';
|
|
7
7
|
import * as FileSystem from '@effect/platform/FileSystem';
|
|
8
|
+
import * as Path from '@effect/platform/Path';
|
|
8
9
|
import * as Console from 'effect/Console';
|
|
9
10
|
import * as Effect from 'effect/Effect';
|
|
10
11
|
import * as Option from 'effect/Option';
|
|
11
12
|
import * as Record from 'effect/Record';
|
|
12
13
|
|
|
13
14
|
import { CommandConfig, print } from '@dxos/cli-util';
|
|
14
|
-
import { DX_CONFIG,
|
|
15
|
+
import { DX_CONFIG, getProfileConfigPath } from '@dxos/client-protocol';
|
|
15
16
|
import { trim } from '@dxos/util';
|
|
16
17
|
|
|
17
18
|
import { printProfileCreated } from './util';
|
|
@@ -71,17 +72,19 @@ export const create = Command.make(
|
|
|
71
72
|
Effect.fnUntraced(function* ({ template, name }) {
|
|
72
73
|
const { json } = yield* CommandConfig;
|
|
73
74
|
const fs = yield* FileSystem.FileSystem;
|
|
75
|
+
const path = yield* Path.Path;
|
|
74
76
|
const profileName = name.pipe(Option.getOrElse(() => template));
|
|
75
|
-
const
|
|
76
|
-
if (yield* fs.exists(
|
|
77
|
+
const configPath = getProfileConfigPath(DX_CONFIG, profileName);
|
|
78
|
+
if (yield* fs.exists(configPath)) {
|
|
77
79
|
throw new Error(`Profile ${profileName} already exists`);
|
|
78
80
|
}
|
|
79
81
|
|
|
80
|
-
yield* fs.
|
|
82
|
+
yield* fs.makeDirectory(path.dirname(configPath), { recursive: true });
|
|
83
|
+
yield* fs.writeFileString(configPath, TEMPLATES[template]);
|
|
81
84
|
if (json) {
|
|
82
|
-
yield* Console.log(JSON.stringify({ name: profileName, path:
|
|
85
|
+
yield* Console.log(JSON.stringify({ name: profileName, path: configPath }, null, 2));
|
|
83
86
|
} else {
|
|
84
|
-
yield* Console.log(print(printProfileCreated(profileName,
|
|
87
|
+
yield* Console.log(print(printProfileCreated(profileName, configPath)));
|
|
85
88
|
}
|
|
86
89
|
}),
|
|
87
90
|
);
|
|
@@ -10,7 +10,7 @@ import * as Effect from 'effect/Effect';
|
|
|
10
10
|
import * as Option from 'effect/Option';
|
|
11
11
|
|
|
12
12
|
import { CommandConfig, print } from '@dxos/cli-util';
|
|
13
|
-
import { DX_CONFIG,
|
|
13
|
+
import { DX_CONFIG, getProfileConfigPath } from '@dxos/client-protocol';
|
|
14
14
|
|
|
15
15
|
import { printProfileDeleted } from './util';
|
|
16
16
|
|
|
@@ -23,7 +23,10 @@ export const del = Command.make(
|
|
|
23
23
|
const { json } = yield* CommandConfig;
|
|
24
24
|
const fs = yield* FileSystem.FileSystem;
|
|
25
25
|
const profileName = name.pipe(Option.getOrElse(() => 'default'));
|
|
26
|
-
|
|
26
|
+
const configPath = getProfileConfigPath(DX_CONFIG, profileName);
|
|
27
|
+
const pluginsPath = `${DX_CONFIG}/plugins/${profileName}.yml`;
|
|
28
|
+
yield* fs.remove(configPath).pipe(Effect.ignore);
|
|
29
|
+
yield* fs.remove(pluginsPath).pipe(Effect.ignore);
|
|
27
30
|
if (json) {
|
|
28
31
|
yield* Console.log(JSON.stringify({ name: profileName, deleted: true }, null, 2));
|
|
29
32
|
} else {
|
|
@@ -7,6 +7,7 @@ import * as FileSystem from '@effect/platform/FileSystem';
|
|
|
7
7
|
import * as Path from '@effect/platform/Path';
|
|
8
8
|
import * as Console from 'effect/Console';
|
|
9
9
|
import * as Effect from 'effect/Effect';
|
|
10
|
+
import * as Option from 'effect/Option';
|
|
10
11
|
import * as Yaml from 'yaml';
|
|
11
12
|
|
|
12
13
|
import { CommandConfig, printList } from '@dxos/cli-util';
|
|
@@ -23,21 +24,22 @@ export const list = Command.make(
|
|
|
23
24
|
const fs = yield* FileSystem.FileSystem;
|
|
24
25
|
const path = yield* Path.Path;
|
|
25
26
|
const profileDir = path.join(DX_CONFIG, 'profile');
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
Effect.
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
27
|
+
const entries = yield* fs.readDirectory(profileDir);
|
|
28
|
+
const profileFiles = entries.filter((entry) => entry.endsWith('.yml'));
|
|
29
|
+
const profiles = yield* Effect.forEach(profileFiles, (filename) =>
|
|
30
|
+
Effect.gen(function* () {
|
|
31
|
+
const name = filename.slice(0, -4);
|
|
32
|
+
const configPath = path.join(profileDir, filename);
|
|
33
|
+
const configContent = yield* fs
|
|
34
|
+
.readFileString(configPath)
|
|
35
|
+
.pipe(Effect.catchTag('SystemError', () => Effect.succeed('{}')));
|
|
36
|
+
const configValues = Yaml.parse(configContent) ?? {};
|
|
35
37
|
const config = new Config(configValues);
|
|
36
38
|
return {
|
|
37
39
|
name,
|
|
38
40
|
isCurrent: name === currentProfile,
|
|
39
|
-
fullPath,
|
|
40
|
-
storagePath: getProfilePath(configValues?.runtime?.client?.storage
|
|
41
|
+
fullPath: configPath,
|
|
42
|
+
storagePath: getProfilePath(configValues?.runtime?.client?.storage?.dataRoot ?? DX_DATA, name),
|
|
41
43
|
edge: config.values.runtime?.services?.edge?.url,
|
|
42
44
|
};
|
|
43
45
|
}),
|
package/src/constants.ts
CHANGED
|
@@ -4,6 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
import { meta } from './meta';
|
|
6
6
|
|
|
7
|
-
export const JOIN_DIALOG = `${meta.id}
|
|
8
|
-
export const RECOVERY_CODE_DIALOG = `${meta.id}
|
|
9
|
-
export const RESET_DIALOG = `${meta.id}
|
|
7
|
+
export const JOIN_DIALOG = `${meta.id}.JoinDialog`;
|
|
8
|
+
export const RECOVERY_CODE_DIALOG = `${meta.id}.RecoveryCodeDialog`;
|
|
9
|
+
export const RESET_DIALOG = `${meta.id}.ResetDialog`;
|
|
@@ -12,7 +12,7 @@ import { Settings } from '@dxos/react-ui-form';
|
|
|
12
12
|
import { meta } from '../../meta';
|
|
13
13
|
import { ClientOperation } from '../../types';
|
|
14
14
|
|
|
15
|
-
export const MANAGE_CREDENTIALS_DIALOG = `${meta.id}
|
|
15
|
+
export const MANAGE_CREDENTIALS_DIALOG = `${meta.id}.ManageCredentialsDialog`;
|
|
16
16
|
|
|
17
17
|
export const RecoveryCredentialsContainer = () => {
|
|
18
18
|
const { t } = useTranslation(meta.id);
|
package/src/meta.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { type Plugin } from '@dxos/app-framework';
|
|
|
6
6
|
import { trim } from '@dxos/util';
|
|
7
7
|
|
|
8
8
|
export const meta: Plugin.Meta = {
|
|
9
|
-
id: 'dxos.
|
|
9
|
+
id: 'org.dxos.plugin.client',
|
|
10
10
|
name: 'Client',
|
|
11
11
|
description: trim`
|
|
12
12
|
Core client connectivity and peer-to-peer networking infrastructure.
|
|
@@ -10,7 +10,7 @@ import { type Type } from '@dxos/echo';
|
|
|
10
10
|
import { meta } from '../meta';
|
|
11
11
|
|
|
12
12
|
export namespace ClientCapabilities {
|
|
13
|
-
export const Client = Capability.make<Client>(`${meta.id}
|
|
14
|
-
export const Schema = Capability.make<Type.AnyEntity[]>(`${meta.id}
|
|
15
|
-
export const Migration = Capability.make<ObjectMigration[]>(`${meta.id}
|
|
13
|
+
export const Client = Capability.make<Client>(`${meta.id}.capability.client`);
|
|
14
|
+
export const Schema = Capability.make<Type.AnyEntity[]>(`${meta.id}.capability.schema`);
|
|
15
|
+
export const Migration = Capability.make<ObjectMigration[]>(`${meta.id}.capability.migration`);
|
|
16
16
|
}
|
package/src/types/events.ts
CHANGED
|
@@ -7,9 +7,9 @@ import { ActivationEvent } from '@dxos/app-framework';
|
|
|
7
7
|
import { meta } from '../meta';
|
|
8
8
|
|
|
9
9
|
export namespace ClientEvents {
|
|
10
|
-
export const ClientReady = ActivationEvent.make(`${meta.id}
|
|
11
|
-
export const SetupSchema = ActivationEvent.make(`${meta.id}
|
|
12
|
-
export const SetupMigration = ActivationEvent.make(`${meta.id}
|
|
13
|
-
export const IdentityCreated = ActivationEvent.make(`${meta.id}
|
|
14
|
-
export const SpacesReady = ActivationEvent.make(`${meta.id}
|
|
10
|
+
export const ClientReady = ActivationEvent.make(`${meta.id}.event.client-ready`);
|
|
11
|
+
export const SetupSchema = ActivationEvent.make(`${meta.id}.event.setup-schema`);
|
|
12
|
+
export const SetupMigration = ActivationEvent.make(`${meta.id}.event.setup-migration`);
|
|
13
|
+
export const IdentityCreated = ActivationEvent.make(`${meta.id}.event.identity-created`);
|
|
14
|
+
export const SpacesReady = ActivationEvent.make(`${meta.id}.event.spaces-ready`);
|
|
15
15
|
}
|
package/src/types/schema.ts
CHANGED
|
@@ -31,59 +31,59 @@ export namespace ClientAction {
|
|
|
31
31
|
data: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Any })),
|
|
32
32
|
});
|
|
33
33
|
|
|
34
|
-
export class CreateIdentity extends Schema.TaggedClass<CreateIdentity>()(`${meta.id}
|
|
34
|
+
export class CreateIdentity extends Schema.TaggedClass<CreateIdentity>()(`${meta.id}.action.create-identity`, {
|
|
35
35
|
input: ProfileSchema,
|
|
36
36
|
output: IdentitySchema,
|
|
37
37
|
}) {}
|
|
38
38
|
|
|
39
|
-
export class JoinIdentity extends Schema.TaggedClass<JoinIdentity>()(`${meta.id}
|
|
39
|
+
export class JoinIdentity extends Schema.TaggedClass<JoinIdentity>()(`${meta.id}.action.join-identity`, {
|
|
40
40
|
input: Schema.Struct({
|
|
41
41
|
invitationCode: Schema.optional(Schema.String),
|
|
42
42
|
}),
|
|
43
43
|
output: Schema.Void,
|
|
44
44
|
}) {}
|
|
45
45
|
|
|
46
|
-
export class ShareIdentity extends Schema.TaggedClass<ShareIdentity>()(`${meta.id}
|
|
46
|
+
export class ShareIdentity extends Schema.TaggedClass<ShareIdentity>()(`${meta.id}.action.share-identity`, {
|
|
47
47
|
input: Schema.Void,
|
|
48
48
|
output: Schema.Void,
|
|
49
49
|
}) {}
|
|
50
50
|
|
|
51
|
-
export class RecoverIdentity extends Schema.TaggedClass<RecoverIdentity>()(`${meta.id}
|
|
51
|
+
export class RecoverIdentity extends Schema.TaggedClass<RecoverIdentity>()(`${meta.id}.action.recover-identity`, {
|
|
52
52
|
input: Schema.Void,
|
|
53
53
|
output: Schema.Void,
|
|
54
54
|
}) {}
|
|
55
55
|
|
|
56
|
-
export class ResetStorage extends Schema.TaggedClass<ResetStorage>()(`${meta.id}
|
|
56
|
+
export class ResetStorage extends Schema.TaggedClass<ResetStorage>()(`${meta.id}.action.reset-storage`, {
|
|
57
57
|
input: Schema.Struct({
|
|
58
58
|
mode: Schema.optional(Schema.String),
|
|
59
59
|
}),
|
|
60
60
|
output: Schema.Void,
|
|
61
61
|
}) {}
|
|
62
62
|
|
|
63
|
-
export class CreateAgent extends Schema.TaggedClass<CreateAgent>()(`${meta.id}
|
|
63
|
+
export class CreateAgent extends Schema.TaggedClass<CreateAgent>()(`${meta.id}.action.create-agent`, {
|
|
64
64
|
input: Schema.Void,
|
|
65
65
|
output: Schema.Void,
|
|
66
66
|
}) {}
|
|
67
67
|
|
|
68
68
|
export class CreateRecoveryCode extends Schema.TaggedClass<CreateRecoveryCode>()(
|
|
69
|
-
`${meta.id}
|
|
69
|
+
`${meta.id}.action.create-recovery-code`,
|
|
70
70
|
{
|
|
71
71
|
input: Schema.Void,
|
|
72
72
|
output: Schema.Void,
|
|
73
73
|
},
|
|
74
74
|
) {}
|
|
75
75
|
|
|
76
|
-
export class CreatePasskey extends Schema.TaggedClass<CreatePasskey>()(`${meta.id}
|
|
76
|
+
export class CreatePasskey extends Schema.TaggedClass<CreatePasskey>()(`${meta.id}.action.create-passkey`, {
|
|
77
77
|
input: Schema.Void,
|
|
78
78
|
output: Schema.Void,
|
|
79
79
|
}) {}
|
|
80
80
|
|
|
81
|
-
export class RedeemPasskey extends Schema.TaggedClass<RedeemPasskey>()(`${meta.id}
|
|
81
|
+
export class RedeemPasskey extends Schema.TaggedClass<RedeemPasskey>()(`${meta.id}.action.redeem-passkey`, {
|
|
82
82
|
input: Schema.Void,
|
|
83
83
|
output: Schema.Void,
|
|
84
84
|
}) {}
|
|
85
85
|
|
|
86
|
-
export class RedeemToken extends Schema.TaggedClass<RedeemToken>()(`${meta.id}
|
|
86
|
+
export class RedeemToken extends Schema.TaggedClass<RedeemToken>()(`${meta.id}.action.redeem-token`, {
|
|
87
87
|
input: Schema.Struct({
|
|
88
88
|
token: Schema.String,
|
|
89
89
|
}),
|
|
@@ -91,7 +91,7 @@ export namespace ClientAction {
|
|
|
91
91
|
}) {}
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
const CLIENT_OPERATION = `${meta.id}
|
|
94
|
+
const CLIENT_OPERATION = `${meta.id}.operation`;
|
|
95
95
|
|
|
96
96
|
/**
|
|
97
97
|
* Operations for the Client plugin.
|
|
@@ -104,7 +104,7 @@ export namespace ClientOperation {
|
|
|
104
104
|
});
|
|
105
105
|
|
|
106
106
|
export const CreateIdentity = Operation.make({
|
|
107
|
-
meta: { key: `${CLIENT_OPERATION}
|
|
107
|
+
meta: { key: `${CLIENT_OPERATION}.create-identity`, name: 'Create Identity' },
|
|
108
108
|
services: [Capability.Service],
|
|
109
109
|
schema: {
|
|
110
110
|
input: ProfileSchema,
|
|
@@ -113,7 +113,7 @@ export namespace ClientOperation {
|
|
|
113
113
|
});
|
|
114
114
|
|
|
115
115
|
export const JoinIdentity = Operation.make({
|
|
116
|
-
meta: { key: `${CLIENT_OPERATION}
|
|
116
|
+
meta: { key: `${CLIENT_OPERATION}.join-identity`, name: 'Join Identity' },
|
|
117
117
|
services: [Capability.Service],
|
|
118
118
|
schema: {
|
|
119
119
|
input: Schema.Struct({
|
|
@@ -124,7 +124,7 @@ export namespace ClientOperation {
|
|
|
124
124
|
});
|
|
125
125
|
|
|
126
126
|
export const ShareIdentity = Operation.make({
|
|
127
|
-
meta: { key: `${CLIENT_OPERATION}
|
|
127
|
+
meta: { key: `${CLIENT_OPERATION}.share-identity`, name: 'Share Identity' },
|
|
128
128
|
services: [Capability.Service],
|
|
129
129
|
schema: {
|
|
130
130
|
input: Schema.Void,
|
|
@@ -133,7 +133,7 @@ export namespace ClientOperation {
|
|
|
133
133
|
});
|
|
134
134
|
|
|
135
135
|
export const RecoverIdentity = Operation.make({
|
|
136
|
-
meta: { key: `${CLIENT_OPERATION}
|
|
136
|
+
meta: { key: `${CLIENT_OPERATION}.recover-identity`, name: 'Recover Identity' },
|
|
137
137
|
services: [Capability.Service],
|
|
138
138
|
schema: {
|
|
139
139
|
input: Schema.Void,
|
|
@@ -142,7 +142,7 @@ export namespace ClientOperation {
|
|
|
142
142
|
});
|
|
143
143
|
|
|
144
144
|
export const ResetStorage = Operation.make({
|
|
145
|
-
meta: { key: `${CLIENT_OPERATION}
|
|
145
|
+
meta: { key: `${CLIENT_OPERATION}.reset-storage`, name: 'Reset Storage' },
|
|
146
146
|
services: [Capability.Service],
|
|
147
147
|
schema: {
|
|
148
148
|
input: Schema.Struct({
|
|
@@ -153,7 +153,7 @@ export namespace ClientOperation {
|
|
|
153
153
|
});
|
|
154
154
|
|
|
155
155
|
export const CreateAgent = Operation.make({
|
|
156
|
-
meta: { key: `${CLIENT_OPERATION}
|
|
156
|
+
meta: { key: `${CLIENT_OPERATION}.create-agent`, name: 'Create Agent' },
|
|
157
157
|
services: [Capability.Service],
|
|
158
158
|
schema: {
|
|
159
159
|
input: Schema.Void,
|
|
@@ -162,7 +162,7 @@ export namespace ClientOperation {
|
|
|
162
162
|
});
|
|
163
163
|
|
|
164
164
|
export const CreateRecoveryCode = Operation.make({
|
|
165
|
-
meta: { key: `${CLIENT_OPERATION}
|
|
165
|
+
meta: { key: `${CLIENT_OPERATION}.create-recovery-code`, name: 'Create Recovery Code' },
|
|
166
166
|
services: [Capability.Service],
|
|
167
167
|
schema: {
|
|
168
168
|
input: Schema.Void,
|
|
@@ -171,7 +171,7 @@ export namespace ClientOperation {
|
|
|
171
171
|
});
|
|
172
172
|
|
|
173
173
|
export const CreatePasskey = Operation.make({
|
|
174
|
-
meta: { key: `${CLIENT_OPERATION}
|
|
174
|
+
meta: { key: `${CLIENT_OPERATION}.create-passkey`, name: 'Create Passkey' },
|
|
175
175
|
services: [Capability.Service],
|
|
176
176
|
schema: {
|
|
177
177
|
input: Schema.Void,
|
|
@@ -180,7 +180,7 @@ export namespace ClientOperation {
|
|
|
180
180
|
});
|
|
181
181
|
|
|
182
182
|
export const RedeemPasskey = Operation.make({
|
|
183
|
-
meta: { key: `${CLIENT_OPERATION}
|
|
183
|
+
meta: { key: `${CLIENT_OPERATION}.redeem-passkey`, name: 'Redeem Passkey' },
|
|
184
184
|
services: [Capability.Service],
|
|
185
185
|
schema: {
|
|
186
186
|
input: Schema.Void,
|
|
@@ -189,7 +189,7 @@ export namespace ClientOperation {
|
|
|
189
189
|
});
|
|
190
190
|
|
|
191
191
|
export const RedeemToken = Operation.make({
|
|
192
|
-
meta: { key: `${CLIENT_OPERATION}
|
|
192
|
+
meta: { key: `${CLIENT_OPERATION}.redeem-token`, name: 'Redeem Token' },
|
|
193
193
|
services: [Capability.Service],
|
|
194
194
|
schema: {
|
|
195
195
|
input: Schema.Struct({
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
meta
|
|
3
|
-
} from "./chunk-N2GMSVDQ.mjs";
|
|
4
|
-
|
|
5
|
-
// src/constants.ts
|
|
6
|
-
var JOIN_DIALOG = `${meta.id}/JoinDialog`;
|
|
7
|
-
var RECOVERY_CODE_DIALOG = `${meta.id}/RecoveryCodeDialog`;
|
|
8
|
-
var RESET_DIALOG = `${meta.id}/ResetDialog`;
|
|
9
|
-
|
|
10
|
-
export {
|
|
11
|
-
JOIN_DIALOG,
|
|
12
|
-
RECOVERY_CODE_DIALOG,
|
|
13
|
-
RESET_DIALOG
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=chunk-VYX3ROUX.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
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 } 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: Account.id });\n yield* Operation.invoke(LayoutOperation.Open, { subject: [Account.Profile] });\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", "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", "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,16 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
-
import {
|
|
3
|
-
meta
|
|
4
|
-
} from "./chunk-RGULICLJ.mjs";
|
|
5
|
-
|
|
6
|
-
// src/constants.ts
|
|
7
|
-
var JOIN_DIALOG = `${meta.id}/JoinDialog`;
|
|
8
|
-
var RECOVERY_CODE_DIALOG = `${meta.id}/RecoveryCodeDialog`;
|
|
9
|
-
var RESET_DIALOG = `${meta.id}/ResetDialog`;
|
|
10
|
-
|
|
11
|
-
export {
|
|
12
|
-
JOIN_DIALOG,
|
|
13
|
-
RECOVERY_CODE_DIALOG,
|
|
14
|
-
RESET_DIALOG
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=chunk-HKSNTZF5.mjs.map
|
|
@@ -1,7 +0,0 @@
|
|
|
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 } 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: Account.id });\n yield* Operation.invoke(LayoutOperation.Open, { subject: [Account.Profile] });\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", "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", "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
|
-
}
|
/package/dist/lib/browser/{DevicesContainer-46MEG3F5.mjs.map → DevicesContainer-3N7ANEJ7.mjs.map}
RENAMED
|
File without changes
|
|
File without changes
|
/package/dist/lib/browser/{ProfileContainer-XYRCOQ5I.mjs.map → ProfileContainer-XV7OXJC2.mjs.map}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/lib/node-esm/{DevicesContainer-WQ3DQA45.mjs.map → DevicesContainer-V7HEUPO7.mjs.map}
RENAMED
|
File without changes
|
|
File without changes
|
/package/dist/lib/node-esm/{ProfileContainer-XI425QK5.mjs.map → ProfileContainer-B5LJ6TMU.mjs.map}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/dist/lib/node-esm/{react-context-OMJSBS23.mjs.map → react-context-T2ORT5CC.mjs.map}
RENAMED
|
File without changes
|
/package/dist/lib/node-esm/{react-surface-N3BSPMMX.mjs.map → react-surface-B65OUZYI.mjs.map}
RENAMED
|
File without changes
|
|
File without changes
|