@dxos/client-services 0.3.11-main.cf6cc01 → 0.3.11-main.d46c1ca
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/{chunk-RCTGQMFJ.mjs → chunk-AJELNBEJ.mjs} +115 -75
- package/dist/lib/browser/chunk-AJELNBEJ.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +1 -1
- package/dist/lib/browser/index.mjs.map +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/packlets/testing/index.mjs +4 -11
- package/dist/lib/browser/packlets/testing/index.mjs.map +3 -3
- package/dist/lib/node/{chunk-H7IU7NBT.cjs → chunk-RU6S47BV.cjs} +172 -132
- package/dist/lib/node/chunk-RU6S47BV.cjs.map +7 -0
- package/dist/lib/node/index.cjs +37 -37
- package/dist/lib/node/index.cjs.map +1 -1
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/packlets/testing/index.cjs +11 -18
- package/dist/lib/node/packlets/testing/index.cjs.map +3 -3
- package/dist/types/src/packlets/identity/identity-service.d.ts +3 -3
- package/dist/types/src/packlets/identity/identity-service.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/device-invitation-protocol.d.ts +2 -0
- package/dist/types/src/packlets/invitations/device-invitation-protocol.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/invitation-protocol.d.ts +28 -3
- package/dist/types/src/packlets/invitations/invitation-protocol.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/invitations-handler.d.ts.map +1 -1
- package/dist/types/src/packlets/invitations/space-invitation-protocol.d.ts +2 -0
- package/dist/types/src/packlets/invitations/space-invitation-protocol.d.ts.map +1 -1
- package/dist/types/src/packlets/services/service-host.d.ts.map +1 -1
- package/dist/types/src/packlets/testing/invitation-utils.d.ts.map +1 -1
- package/dist/types/src/version.d.ts +1 -1
- package/package.json +35 -35
- package/src/packlets/identity/identity-service.test.ts +1 -1
- package/src/packlets/identity/identity-service.ts +6 -3
- package/src/packlets/invitations/device-invitation-protocol.test.ts +14 -0
- package/src/packlets/invitations/device-invitation-protocol.ts +14 -0
- package/src/packlets/invitations/invitation-protocol.ts +44 -6
- package/src/packlets/invitations/invitations-handler.ts +19 -17
- package/src/packlets/invitations/space-invitation-protocol.test.ts +28 -0
- package/src/packlets/invitations/space-invitation-protocol.ts +11 -0
- package/src/packlets/services/service-host.ts +27 -12
- package/src/packlets/testing/invitation-utils.ts +2 -10
- package/src/version.ts +1 -1
- package/dist/lib/browser/chunk-RCTGQMFJ.mjs.map +0 -7
- package/dist/lib/node/chunk-H7IU7NBT.cjs.map +0 -7
|
@@ -483,7 +483,7 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
483
483
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
484
484
|
}
|
|
485
485
|
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/identity/identity.ts";
|
|
486
|
-
var Identity = class
|
|
486
|
+
var Identity = class {
|
|
487
487
|
constructor({ space, signer, identityKey, deviceKey }) {
|
|
488
488
|
this.stateUpdate = new Event();
|
|
489
489
|
this.space = space;
|
|
@@ -665,7 +665,7 @@ function _ts_decorate2(decorators, target, key, desc) {
|
|
|
665
665
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
666
666
|
}
|
|
667
667
|
var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/identity/identity-manager.ts";
|
|
668
|
-
var IdentityManager = class
|
|
668
|
+
var IdentityManager = class {
|
|
669
669
|
// TODO(burdon): IdentityManagerParams.
|
|
670
670
|
// TODO(dmaretskyi): Perhaps this should take/generate the peerKey outside of an initialized identity.
|
|
671
671
|
constructor(_metadataStore, _keyring, _feedStore, _spaceManager) {
|
|
@@ -1025,6 +1025,7 @@ import { signPresentation } from "@dxos/credentials";
|
|
|
1025
1025
|
import { todo } from "@dxos/debug";
|
|
1026
1026
|
import { invariant as invariant3 } from "@dxos/invariant";
|
|
1027
1027
|
var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/identity/identity-service.ts";
|
|
1028
|
+
var CREATE_PROFILE_WITH_AUTOMERGE_DEFAULT = true;
|
|
1028
1029
|
var IdentityServiceImpl = class {
|
|
1029
1030
|
constructor(_createIdentity, _identityManager, _keyring, _onProfileUpdate) {
|
|
1030
1031
|
this._createIdentity = _createIdentity;
|
|
@@ -1033,7 +1034,7 @@ var IdentityServiceImpl = class {
|
|
|
1033
1034
|
this._onProfileUpdate = _onProfileUpdate;
|
|
1034
1035
|
}
|
|
1035
1036
|
async createIdentity(request) {
|
|
1036
|
-
await this._createIdentity(request);
|
|
1037
|
+
await this._createIdentity(request.profile ?? {}, request.useAutomerge ?? CREATE_PROFILE_WITH_AUTOMERGE_DEFAULT);
|
|
1037
1038
|
return this._getIdentity();
|
|
1038
1039
|
}
|
|
1039
1040
|
async recoverIdentity(request) {
|
|
@@ -1061,7 +1062,7 @@ var IdentityServiceImpl = class {
|
|
|
1061
1062
|
async updateProfile(profile) {
|
|
1062
1063
|
invariant3(this._identityManager.identity, "Identity not initialized.", {
|
|
1063
1064
|
F: __dxlog_file4,
|
|
1064
|
-
L:
|
|
1065
|
+
L: 63,
|
|
1065
1066
|
S: this,
|
|
1066
1067
|
A: [
|
|
1067
1068
|
"this._identityManager.identity",
|
|
@@ -1075,7 +1076,7 @@ var IdentityServiceImpl = class {
|
|
|
1075
1076
|
async signPresentation({ presentation, nonce }) {
|
|
1076
1077
|
invariant3(this._identityManager.identity, "Identity not initialized.", {
|
|
1077
1078
|
F: __dxlog_file4,
|
|
1078
|
-
L:
|
|
1079
|
+
L: 70,
|
|
1079
1080
|
S: this,
|
|
1080
1081
|
A: [
|
|
1081
1082
|
"this._identityManager.identity",
|
|
@@ -1094,6 +1095,7 @@ var IdentityServiceImpl = class {
|
|
|
1094
1095
|
|
|
1095
1096
|
// packages/sdk/client-services/src/packlets/invitations/device-invitation-protocol.ts
|
|
1096
1097
|
import { invariant as invariant4 } from "@dxos/invariant";
|
|
1098
|
+
import { AlreadyJoinedError } from "@dxos/protocols";
|
|
1097
1099
|
import { Invitation } from "@dxos/protocols/proto/dxos/client/services";
|
|
1098
1100
|
var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/invitations/device-invitation-protocol.ts";
|
|
1099
1101
|
var DeviceInvitationProtocol = class {
|
|
@@ -1113,7 +1115,7 @@ var DeviceInvitationProtocol = class {
|
|
|
1113
1115
|
async admit(request) {
|
|
1114
1116
|
invariant4(request.device, void 0, {
|
|
1115
1117
|
F: __dxlog_file5,
|
|
1116
|
-
L:
|
|
1118
|
+
L: 36,
|
|
1117
1119
|
S: this,
|
|
1118
1120
|
A: [
|
|
1119
1121
|
"request.device",
|
|
@@ -1131,6 +1133,15 @@ var DeviceInvitationProtocol = class {
|
|
|
1131
1133
|
}
|
|
1132
1134
|
};
|
|
1133
1135
|
}
|
|
1136
|
+
checkInvitation(invitation) {
|
|
1137
|
+
try {
|
|
1138
|
+
const identity = this._getIdentity();
|
|
1139
|
+
if (identity) {
|
|
1140
|
+
return new AlreadyJoinedError("Currently only one identity per client is supported.");
|
|
1141
|
+
}
|
|
1142
|
+
} catch {
|
|
1143
|
+
}
|
|
1144
|
+
}
|
|
1134
1145
|
createIntroduction() {
|
|
1135
1146
|
return {};
|
|
1136
1147
|
}
|
|
@@ -1149,7 +1160,7 @@ var DeviceInvitationProtocol = class {
|
|
|
1149
1160
|
async accept(response, request) {
|
|
1150
1161
|
invariant4(response.device, void 0, {
|
|
1151
1162
|
F: __dxlog_file5,
|
|
1152
|
-
L:
|
|
1163
|
+
L: 80,
|
|
1153
1164
|
S: this,
|
|
1154
1165
|
A: [
|
|
1155
1166
|
"response.device",
|
|
@@ -1159,7 +1170,7 @@ var DeviceInvitationProtocol = class {
|
|
|
1159
1170
|
const { identityKey, haloSpaceKey, genesisFeedKey, controlTimeframe } = response.device;
|
|
1160
1171
|
invariant4(request.device, void 0, {
|
|
1161
1172
|
F: __dxlog_file5,
|
|
1162
|
-
L:
|
|
1173
|
+
L: 83,
|
|
1163
1174
|
S: this,
|
|
1164
1175
|
A: [
|
|
1165
1176
|
"request.device",
|
|
@@ -1941,16 +1952,12 @@ var InvitationsHandler = class {
|
|
|
1941
1952
|
}
|
|
1942
1953
|
}
|
|
1943
1954
|
}
|
|
1944
|
-
} else {
|
|
1945
|
-
setState({
|
|
1946
|
-
state: Invitation3.State.READY_FOR_AUTHENTICATION
|
|
1947
|
-
});
|
|
1948
1955
|
}
|
|
1949
1956
|
log5("request admission", {
|
|
1950
1957
|
...protocol.toJSON()
|
|
1951
1958
|
}, {
|
|
1952
1959
|
F: __dxlog_file7,
|
|
1953
|
-
L:
|
|
1960
|
+
L: 309,
|
|
1954
1961
|
S: this,
|
|
1955
1962
|
C: (f, a) => f(...a)
|
|
1956
1963
|
});
|
|
@@ -1962,7 +1969,7 @@ var InvitationsHandler = class {
|
|
|
1962
1969
|
...protocol.toJSON()
|
|
1963
1970
|
}, {
|
|
1964
1971
|
F: __dxlog_file7,
|
|
1965
|
-
L:
|
|
1972
|
+
L: 320,
|
|
1966
1973
|
S: this,
|
|
1967
1974
|
C: (f, a) => f(...a)
|
|
1968
1975
|
});
|
|
@@ -1975,7 +1982,7 @@ var InvitationsHandler = class {
|
|
|
1975
1982
|
id: traceId
|
|
1976
1983
|
}), {
|
|
1977
1984
|
F: __dxlog_file7,
|
|
1978
|
-
L:
|
|
1985
|
+
L: 322,
|
|
1979
1986
|
S: this,
|
|
1980
1987
|
C: (f, a) => f(...a)
|
|
1981
1988
|
});
|
|
@@ -1985,7 +1992,7 @@ var InvitationsHandler = class {
|
|
|
1985
1992
|
...protocol.toJSON()
|
|
1986
1993
|
}, {
|
|
1987
1994
|
F: __dxlog_file7,
|
|
1988
|
-
L:
|
|
1995
|
+
L: 325,
|
|
1989
1996
|
S: this,
|
|
1990
1997
|
C: (f, a) => f(...a)
|
|
1991
1998
|
});
|
|
@@ -1995,7 +2002,7 @@ var InvitationsHandler = class {
|
|
|
1995
2002
|
} else {
|
|
1996
2003
|
log5("auth failed", err, {
|
|
1997
2004
|
F: __dxlog_file7,
|
|
1998
|
-
L:
|
|
2005
|
+
L: 328,
|
|
1999
2006
|
S: this,
|
|
2000
2007
|
C: (f, a) => f(...a)
|
|
2001
2008
|
});
|
|
@@ -2006,7 +2013,7 @@ var InvitationsHandler = class {
|
|
|
2006
2013
|
error: err
|
|
2007
2014
|
}), {
|
|
2008
2015
|
F: __dxlog_file7,
|
|
2009
|
-
L:
|
|
2016
|
+
L: 331,
|
|
2010
2017
|
S: this,
|
|
2011
2018
|
C: (f, a) => f(...a)
|
|
2012
2019
|
});
|
|
@@ -2024,7 +2031,7 @@ var InvitationsHandler = class {
|
|
|
2024
2031
|
...protocol.toJSON()
|
|
2025
2032
|
}, {
|
|
2026
2033
|
F: __dxlog_file7,
|
|
2027
|
-
L:
|
|
2034
|
+
L: 342,
|
|
2028
2035
|
S: this,
|
|
2029
2036
|
C: (f, a) => f(...a)
|
|
2030
2037
|
});
|
|
@@ -2034,7 +2041,7 @@ var InvitationsHandler = class {
|
|
|
2034
2041
|
} else {
|
|
2035
2042
|
log5("auth failed", err, {
|
|
2036
2043
|
F: __dxlog_file7,
|
|
2037
|
-
L:
|
|
2044
|
+
L: 345,
|
|
2038
2045
|
S: this,
|
|
2039
2046
|
C: (f, a) => f(...a)
|
|
2040
2047
|
});
|
|
@@ -2045,29 +2052,34 @@ var InvitationsHandler = class {
|
|
|
2045
2052
|
return extension;
|
|
2046
2053
|
};
|
|
2047
2054
|
scheduleTask2(ctx, async () => {
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2070
|
-
|
|
2055
|
+
const error = protocol.checkInvitation(invitation);
|
|
2056
|
+
if (error) {
|
|
2057
|
+
stream.error(error);
|
|
2058
|
+
} else {
|
|
2059
|
+
invariant6(invitation.swarmKey, void 0, {
|
|
2060
|
+
F: __dxlog_file7,
|
|
2061
|
+
L: 359,
|
|
2062
|
+
S: this,
|
|
2063
|
+
A: [
|
|
2064
|
+
"invitation.swarmKey",
|
|
2065
|
+
""
|
|
2066
|
+
]
|
|
2067
|
+
});
|
|
2068
|
+
const topic = invitation.swarmKey;
|
|
2069
|
+
const swarmConnection = await this._networkManager.joinSwarm({
|
|
2070
|
+
topic,
|
|
2071
|
+
peerId: PublicKey6.random(),
|
|
2072
|
+
protocolProvider: createTeleportProtocolFactory(async (teleport) => {
|
|
2073
|
+
teleport.addExtension("dxos.halo.invitations", createExtension());
|
|
2074
|
+
}),
|
|
2075
|
+
topology: new StarTopology(topic),
|
|
2076
|
+
label: "invitation guest"
|
|
2077
|
+
});
|
|
2078
|
+
ctx.onDispose(() => swarmConnection.close());
|
|
2079
|
+
setState({
|
|
2080
|
+
state: Invitation3.State.CONNECTING
|
|
2081
|
+
});
|
|
2082
|
+
}
|
|
2071
2083
|
});
|
|
2072
2084
|
const observable = new AuthenticatingInvitation({
|
|
2073
2085
|
initialInvitation: invitation,
|
|
@@ -2273,6 +2285,7 @@ import { createAdmissionCredentials, getCredentialAssertion } from "@dxos/creden
|
|
|
2273
2285
|
import { writeMessages as writeMessages2 } from "@dxos/feed-store";
|
|
2274
2286
|
import { invariant as invariant8 } from "@dxos/invariant";
|
|
2275
2287
|
import { log as log7 } from "@dxos/log";
|
|
2288
|
+
import { AlreadyJoinedError as AlreadyJoinedError2 } from "@dxos/protocols";
|
|
2276
2289
|
import { Invitation as Invitation5 } from "@dxos/protocols/proto/dxos/client/services";
|
|
2277
2290
|
var __dxlog_file9 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/invitations/space-invitation-protocol.ts";
|
|
2278
2291
|
var SpaceInvitationProtocol = class {
|
|
@@ -2297,7 +2310,7 @@ var SpaceInvitationProtocol = class {
|
|
|
2297
2310
|
async admit(request, guestProfile) {
|
|
2298
2311
|
invariant8(this._spaceKey, void 0, {
|
|
2299
2312
|
F: __dxlog_file9,
|
|
2300
|
-
L:
|
|
2313
|
+
L: 47,
|
|
2301
2314
|
S: this,
|
|
2302
2315
|
A: [
|
|
2303
2316
|
"this._spaceKey",
|
|
@@ -2307,7 +2320,7 @@ var SpaceInvitationProtocol = class {
|
|
|
2307
2320
|
const space = await this._spaceManager.spaces.get(this._spaceKey);
|
|
2308
2321
|
invariant8(space, void 0, {
|
|
2309
2322
|
F: __dxlog_file9,
|
|
2310
|
-
L:
|
|
2323
|
+
L: 49,
|
|
2311
2324
|
S: this,
|
|
2312
2325
|
A: [
|
|
2313
2326
|
"space",
|
|
@@ -2316,7 +2329,7 @@ var SpaceInvitationProtocol = class {
|
|
|
2316
2329
|
});
|
|
2317
2330
|
invariant8(request.space, void 0, {
|
|
2318
2331
|
F: __dxlog_file9,
|
|
2319
|
-
L:
|
|
2332
|
+
L: 51,
|
|
2320
2333
|
S: this,
|
|
2321
2334
|
A: [
|
|
2322
2335
|
"request.space",
|
|
@@ -2329,14 +2342,14 @@ var SpaceInvitationProtocol = class {
|
|
|
2329
2342
|
guest: deviceKey
|
|
2330
2343
|
}, {
|
|
2331
2344
|
F: __dxlog_file9,
|
|
2332
|
-
L:
|
|
2345
|
+
L: 54,
|
|
2333
2346
|
S: this,
|
|
2334
2347
|
C: (f, a) => f(...a)
|
|
2335
2348
|
});
|
|
2336
2349
|
const credentials = await createAdmissionCredentials(this._signingContext.credentialSigner, identityKey, space.key, space.inner.genesisFeedKey, guestProfile);
|
|
2337
2350
|
invariant8(credentials[0].credential, void 0, {
|
|
2338
2351
|
F: __dxlog_file9,
|
|
2339
|
-
L:
|
|
2352
|
+
L: 65,
|
|
2340
2353
|
S: this,
|
|
2341
2354
|
A: [
|
|
2342
2355
|
"credentials[0].credential",
|
|
@@ -2346,7 +2359,7 @@ var SpaceInvitationProtocol = class {
|
|
|
2346
2359
|
const spaceMemberCredential = credentials[0].credential.credential;
|
|
2347
2360
|
invariant8(getCredentialAssertion(spaceMemberCredential)["@type"] === "dxos.halo.credentials.SpaceMember", void 0, {
|
|
2348
2361
|
F: __dxlog_file9,
|
|
2349
|
-
L:
|
|
2362
|
+
L: 67,
|
|
2350
2363
|
S: this,
|
|
2351
2364
|
A: [
|
|
2352
2365
|
"getCredentialAssertion(spaceMemberCredential)['@type'] === 'dxos.halo.credentials.SpaceMember'",
|
|
@@ -2362,6 +2375,11 @@ var SpaceInvitationProtocol = class {
|
|
|
2362
2375
|
}
|
|
2363
2376
|
};
|
|
2364
2377
|
}
|
|
2378
|
+
checkInvitation(invitation) {
|
|
2379
|
+
if (invitation.spaceKey && this._spaceManager.spaces.has(invitation.spaceKey)) {
|
|
2380
|
+
return new AlreadyJoinedError2("Already joined space.");
|
|
2381
|
+
}
|
|
2382
|
+
}
|
|
2365
2383
|
createIntroduction() {
|
|
2366
2384
|
return {
|
|
2367
2385
|
profile: this._signingContext.getProfile()
|
|
@@ -2382,7 +2400,7 @@ var SpaceInvitationProtocol = class {
|
|
|
2382
2400
|
async accept(response) {
|
|
2383
2401
|
invariant8(response.space, void 0, {
|
|
2384
2402
|
F: __dxlog_file9,
|
|
2385
|
-
L:
|
|
2403
|
+
L: 108,
|
|
2386
2404
|
S: this,
|
|
2387
2405
|
A: [
|
|
2388
2406
|
"response.space",
|
|
@@ -2393,7 +2411,7 @@ var SpaceInvitationProtocol = class {
|
|
|
2393
2411
|
const assertion = getCredentialAssertion(credential);
|
|
2394
2412
|
invariant8(assertion["@type"] === "dxos.halo.credentials.SpaceMember", "Invalid credential", {
|
|
2395
2413
|
F: __dxlog_file9,
|
|
2396
|
-
L:
|
|
2414
|
+
L: 111,
|
|
2397
2415
|
S: this,
|
|
2398
2416
|
A: [
|
|
2399
2417
|
"assertion['@type'] === 'dxos.halo.credentials.SpaceMember'",
|
|
@@ -2402,13 +2420,16 @@ var SpaceInvitationProtocol = class {
|
|
|
2402
2420
|
});
|
|
2403
2421
|
invariant8(credential.subject.id.equals(this._signingContext.identityKey), void 0, {
|
|
2404
2422
|
F: __dxlog_file9,
|
|
2405
|
-
L:
|
|
2423
|
+
L: 112,
|
|
2406
2424
|
S: this,
|
|
2407
2425
|
A: [
|
|
2408
2426
|
"credential.subject.id.equals(this._signingContext.identityKey)",
|
|
2409
2427
|
""
|
|
2410
2428
|
]
|
|
2411
2429
|
});
|
|
2430
|
+
if (this._spaceManager.spaces.has(assertion.spaceKey)) {
|
|
2431
|
+
throw new AlreadyJoinedError2("Already joined space.");
|
|
2432
|
+
}
|
|
2412
2433
|
await this._spaceManager.acceptSpace({
|
|
2413
2434
|
spaceKey: assertion.spaceKey,
|
|
2414
2435
|
genesisFeedKey: assertion.genesisFeedKey,
|
|
@@ -2437,7 +2458,7 @@ function _ts_decorate3(decorators, target, key, desc) {
|
|
|
2437
2458
|
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
2438
2459
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2439
2460
|
}
|
|
2440
|
-
var ClientRpcServer = class
|
|
2461
|
+
var ClientRpcServer = class {
|
|
2441
2462
|
constructor(params) {
|
|
2442
2463
|
this._handlerCache = /* @__PURE__ */ new Map();
|
|
2443
2464
|
this._callMetrics = new MapCounter();
|
|
@@ -2542,7 +2563,7 @@ var getPlatform = () => {
|
|
|
2542
2563
|
};
|
|
2543
2564
|
|
|
2544
2565
|
// packages/sdk/client-services/src/version.ts
|
|
2545
|
-
var DXOS_VERSION = "0.3.11-main.
|
|
2566
|
+
var DXOS_VERSION = "0.3.11-main.d46c1ca";
|
|
2546
2567
|
|
|
2547
2568
|
// packages/sdk/client-services/src/packlets/services/diagnostics.ts
|
|
2548
2569
|
var __dxlog_file10 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/services/diagnostics.ts";
|
|
@@ -2981,7 +3002,7 @@ function _ts_decorate4(decorators, target, key, desc) {
|
|
|
2981
3002
|
}
|
|
2982
3003
|
var __dxlog_file12 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/spaces/data-space.ts";
|
|
2983
3004
|
var ENABLE_FEED_PURGE = false;
|
|
2984
|
-
var DataSpace = class
|
|
3005
|
+
var DataSpace = class {
|
|
2985
3006
|
constructor(params) {
|
|
2986
3007
|
this._ctx = new Context7();
|
|
2987
3008
|
this._notarizationPlugin = new NotarizationPlugin();
|
|
@@ -3470,7 +3491,7 @@ function _ts_decorate5(decorators, target, key, desc) {
|
|
|
3470
3491
|
var __dxlog_file13 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/spaces/data-space-manager.ts";
|
|
3471
3492
|
var PRESENCE_ANNOUNCE_INTERVAL = 1e4;
|
|
3472
3493
|
var PRESENCE_OFFLINE_TIMEOUT = 2e4;
|
|
3473
|
-
var DataSpaceManager = class
|
|
3494
|
+
var DataSpaceManager = class {
|
|
3474
3495
|
constructor(_spaceManager, _metadataStore, _dataServiceSubscriptions, _keyring, _signingContext, _feedStore, _automergeHost) {
|
|
3475
3496
|
this._spaceManager = _spaceManager;
|
|
3476
3497
|
this._metadataStore = _metadataStore;
|
|
@@ -4043,7 +4064,7 @@ function _ts_decorate6(decorators, target, key, desc) {
|
|
|
4043
4064
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
4044
4065
|
}
|
|
4045
4066
|
var __dxlog_file15 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/services/service-context.ts";
|
|
4046
|
-
var ServiceContext = class
|
|
4067
|
+
var ServiceContext = class {
|
|
4047
4068
|
constructor(storage, networkManager, signalManager, modelFactory) {
|
|
4048
4069
|
this.storage = storage;
|
|
4049
4070
|
this.networkManager = networkManager;
|
|
@@ -4344,7 +4365,7 @@ var Lock = class {
|
|
|
4344
4365
|
}
|
|
4345
4366
|
async acquire() {
|
|
4346
4367
|
this._broadcastChannel.postMessage({
|
|
4347
|
-
message:
|
|
4368
|
+
message: "acquiring"
|
|
4348
4369
|
});
|
|
4349
4370
|
try {
|
|
4350
4371
|
log14("aquiring lock...", void 0, {
|
|
@@ -4380,7 +4401,7 @@ var Lock = class {
|
|
|
4380
4401
|
this._releaseTrigger.wake();
|
|
4381
4402
|
}
|
|
4382
4403
|
_onMessage(event) {
|
|
4383
|
-
if (event.data.message ===
|
|
4404
|
+
if (event.data.message === "acquiring") {
|
|
4384
4405
|
this._releaseTrigger.wake();
|
|
4385
4406
|
}
|
|
4386
4407
|
}
|
|
@@ -4490,7 +4511,7 @@ import { clientServiceBundle, defaultKey, Properties } from "@dxos/client-protoc
|
|
|
4490
4511
|
import { Context as Context10 } from "@dxos/context";
|
|
4491
4512
|
import { DocumentModel as DocumentModel2 } from "@dxos/document-model";
|
|
4492
4513
|
import { DataServiceImpl } from "@dxos/echo-pipeline";
|
|
4493
|
-
import { base } from "@dxos/echo-schema";
|
|
4514
|
+
import { base, getRawDoc } from "@dxos/echo-schema";
|
|
4494
4515
|
import { invariant as invariant14 } from "@dxos/invariant";
|
|
4495
4516
|
import { PublicKey as PublicKey11 } from "@dxos/keys";
|
|
4496
4517
|
import { log as log16 } from "@dxos/log";
|
|
@@ -4777,7 +4798,7 @@ var createGenesisMutationFromTypedObject = (obj) => {
|
|
|
4777
4798
|
}
|
|
4778
4799
|
};
|
|
4779
4800
|
};
|
|
4780
|
-
var ClientServicesHost = class
|
|
4801
|
+
var ClientServicesHost = class {
|
|
4781
4802
|
constructor({
|
|
4782
4803
|
config,
|
|
4783
4804
|
modelFactory = createDefaultModelFactory(),
|
|
@@ -4979,7 +5000,7 @@ var ClientServicesHost = class ClientServicesHost2 {
|
|
|
4979
5000
|
this._serviceContext = new ServiceContext(this._storage, this._networkManager, this._signalManager, this._modelFactory);
|
|
4980
5001
|
this._serviceRegistry.setServices({
|
|
4981
5002
|
SystemService: this._systemService,
|
|
4982
|
-
IdentityService: new IdentityServiceImpl((params) => this._createIdentity(params), this._serviceContext.identityManager, this._serviceContext.keyring, (profile) => this._serviceContext.broadcastProfileUpdate(profile)),
|
|
5003
|
+
IdentityService: new IdentityServiceImpl((params, useAutomerge) => this._createIdentity(params, useAutomerge), this._serviceContext.identityManager, this._serviceContext.keyring, (profile) => this._serviceContext.broadcastProfileUpdate(profile)),
|
|
4983
5004
|
InvitationsService: new InvitationsServiceImpl(this._serviceContext.invitations, (invitation) => this._serviceContext.getInvitationHandler(invitation)),
|
|
4984
5005
|
DevicesService: new DevicesServiceImpl(this._serviceContext.identityManager),
|
|
4985
5006
|
SpacesService: new SpacesServiceImpl(this._serviceContext.identityManager, this._serviceContext.spaceManager, this._serviceContext.dataServiceSubscriptions, async () => {
|
|
@@ -5093,25 +5114,44 @@ var ClientServicesHost = class ClientServicesHost2 {
|
|
|
5093
5114
|
});
|
|
5094
5115
|
await this._callbacks?.onReset?.();
|
|
5095
5116
|
}
|
|
5096
|
-
async _createIdentity(params) {
|
|
5117
|
+
async _createIdentity(params, useAutomerge) {
|
|
5097
5118
|
const identity = await this._serviceContext.createIdentity(params);
|
|
5098
5119
|
await this._serviceContext.initialized.wait();
|
|
5099
5120
|
const space = await this._serviceContext.dataSpaceManager.createSpace();
|
|
5100
5121
|
const obj = new Properties(void 0, {
|
|
5101
|
-
automerge:
|
|
5122
|
+
automerge: useAutomerge
|
|
5102
5123
|
});
|
|
5103
5124
|
obj[defaultKey] = identity.identityKey.toHex();
|
|
5104
|
-
|
|
5105
|
-
|
|
5106
|
-
|
|
5107
|
-
|
|
5108
|
-
|
|
5125
|
+
if (!useAutomerge) {
|
|
5126
|
+
await this._serviceRegistry.services.DataService.write({
|
|
5127
|
+
spaceKey: space.key,
|
|
5128
|
+
batch: {
|
|
5129
|
+
objects: [
|
|
5130
|
+
createGenesisMutationFromTypedObject(obj)
|
|
5131
|
+
]
|
|
5132
|
+
}
|
|
5133
|
+
});
|
|
5134
|
+
await this._serviceRegistry.services.DataService.flush({
|
|
5135
|
+
spaceKey: space.key
|
|
5136
|
+
});
|
|
5137
|
+
} else {
|
|
5138
|
+
const automergeIndex = space.automergeSpaceState.rootUrl;
|
|
5139
|
+
invariant14(automergeIndex, void 0, {
|
|
5140
|
+
F: __dxlog_file17,
|
|
5141
|
+
L: 375,
|
|
5142
|
+
S: this,
|
|
5143
|
+
A: [
|
|
5144
|
+
"automergeIndex",
|
|
5145
|
+
""
|
|
5109
5146
|
]
|
|
5110
|
-
}
|
|
5111
|
-
|
|
5112
|
-
|
|
5113
|
-
|
|
5114
|
-
|
|
5147
|
+
});
|
|
5148
|
+
const document = await this._serviceContext.automergeHost.repo.find(automergeIndex);
|
|
5149
|
+
await document.whenReady();
|
|
5150
|
+
document.change((doc) => {
|
|
5151
|
+
doc.objects ??= {};
|
|
5152
|
+
doc.objects[obj[base]._id] = getRawDoc(obj).handle.docSync();
|
|
5153
|
+
});
|
|
5154
|
+
}
|
|
5115
5155
|
return identity;
|
|
5116
5156
|
}
|
|
5117
5157
|
};
|
|
@@ -5167,4 +5207,4 @@ export {
|
|
|
5167
5207
|
createDefaultModelFactory,
|
|
5168
5208
|
ClientServicesHost
|
|
5169
5209
|
};
|
|
5170
|
-
//# sourceMappingURL=chunk-
|
|
5210
|
+
//# sourceMappingURL=chunk-AJELNBEJ.mjs.map
|