@dxos/client-services 0.1.53-main.b6f5d87 → 0.1.53-main.bb44a18
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-CPSUVMSC.mjs → chunk-F4BHRFH4.mjs} +876 -716
- package/dist/lib/browser/chunk-F4BHRFH4.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +115 -173
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/packlets/testing/index.mjs +24 -7
- package/dist/lib/browser/packlets/testing/index.mjs.map +3 -3
- package/dist/lib/node/index.cjs +965 -866
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node/packlets/testing/index.cjs +846 -721
- package/dist/lib/node/packlets/testing/index.cjs.map +4 -4
- package/dist/types/src/packlets/identity/authenticator.d.ts.map +1 -1
- package/dist/types/src/packlets/identity/identity.d.ts.map +1 -1
- package/dist/types/src/packlets/services/index.d.ts +1 -0
- package/dist/types/src/packlets/services/index.d.ts.map +1 -1
- package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
- package/dist/types/src/packlets/services/service-host.d.ts +7 -1
- package/dist/types/src/packlets/services/service-host.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/data-space.d.ts +11 -2
- package/dist/types/src/packlets/spaces/data-space.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/notarization-plugin.d.ts +2 -1
- package/dist/types/src/packlets/spaces/notarization-plugin.d.ts.map +1 -1
- package/dist/types/src/packlets/spaces/spaces-service.d.ts +2 -2
- package/dist/types/src/packlets/spaces/spaces-service.d.ts.map +1 -1
- package/dist/types/src/packlets/testing/test-builder.d.ts +7 -1
- package/dist/types/src/packlets/testing/test-builder.d.ts.map +1 -1
- package/dist/types/src/packlets/vault/iframe-host-runtime.d.ts +1 -1
- package/dist/types/src/packlets/vault/iframe-host-runtime.d.ts.map +1 -1
- package/dist/types/src/packlets/vault/iframe-proxy-runtime.d.ts +1 -1
- package/dist/types/src/packlets/vault/iframe-proxy-runtime.d.ts.map +1 -1
- package/dist/types/src/packlets/vault/shell-runtime.d.ts +1 -21
- package/dist/types/src/packlets/vault/shell-runtime.d.ts.map +1 -1
- package/dist/types/src/packlets/vault/worker-session.d.ts.map +1 -1
- package/package.json +33 -32
- package/src/packlets/identity/authenticator.ts +4 -2
- package/src/packlets/identity/identity-manager.test.ts +1 -1
- package/src/packlets/identity/identity-manager.ts +8 -8
- package/src/packlets/identity/identity-service.ts +2 -2
- package/src/packlets/identity/identity.test.ts +1 -1
- package/src/packlets/identity/identity.ts +22 -27
- package/src/packlets/invitations/device-invitation-protocol.ts +4 -4
- package/src/packlets/invitations/invitation-extension.ts +5 -5
- package/src/packlets/invitations/invitations-handler.ts +6 -6
- package/src/packlets/invitations/invitations-service.ts +3 -3
- package/src/packlets/invitations/space-invitation-protocol.ts +9 -9
- package/src/packlets/locks/node.ts +2 -2
- package/src/packlets/logging/logging-service.ts +4 -4
- package/src/packlets/services/index.ts +1 -0
- package/src/packlets/services/service-context.test.ts +1 -1
- package/src/packlets/services/service-context.ts +12 -10
- package/src/packlets/services/service-host.test.ts +50 -2
- package/src/packlets/services/service-host.ts +25 -9
- package/src/packlets/spaces/data-space-manager.test.ts +75 -119
- package/src/packlets/spaces/data-space-manager.ts +18 -9
- package/src/packlets/spaces/data-space.ts +66 -20
- package/src/packlets/spaces/notarization-plugin.test.ts +1 -1
- package/src/packlets/spaces/notarization-plugin.ts +9 -5
- package/src/packlets/spaces/spaces-service.test.ts +5 -3
- package/src/packlets/spaces/spaces-service.ts +46 -32
- package/src/packlets/testing/invitation-utils.ts +2 -2
- package/src/packlets/testing/test-builder.ts +36 -4
- package/src/packlets/vault/iframe-host-runtime.ts +2 -2
- package/src/packlets/vault/iframe-proxy-runtime.ts +2 -2
- package/src/packlets/vault/shell-runtime.ts +3 -49
- package/src/packlets/vault/worker-runtime.ts +1 -1
- package/src/packlets/vault/worker-session.ts +7 -6
- package/dist/lib/browser/chunk-CPSUVMSC.mjs.map +0 -7
package/dist/lib/node/index.cjs
CHANGED
|
@@ -30,6 +30,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
30
30
|
// packages/sdk/client-services/src/index.ts
|
|
31
31
|
var src_exports = {};
|
|
32
32
|
__export(src_exports, {
|
|
33
|
+
ClientRpcServer: () => ClientRpcServer,
|
|
33
34
|
ClientServicesHost: () => ClientServicesHost,
|
|
34
35
|
DataSpace: () => DataSpace,
|
|
35
36
|
DataSpaceManager: () => DataSpaceManager,
|
|
@@ -44,7 +45,6 @@ __export(src_exports, {
|
|
|
44
45
|
InvitationsHandler: () => InvitationsHandler,
|
|
45
46
|
InvitationsServiceImpl: () => InvitationsServiceImpl,
|
|
46
47
|
Lock: () => Lock,
|
|
47
|
-
MemoryShellRuntime: () => MemoryShellRuntime,
|
|
48
48
|
ServiceContext: () => ServiceContext,
|
|
49
49
|
ServiceRegistry: () => ServiceRegistry,
|
|
50
50
|
ShellRuntimeImpl: () => ShellRuntimeImpl,
|
|
@@ -54,6 +54,7 @@ __export(src_exports, {
|
|
|
54
54
|
WorkerRuntime: () => WorkerRuntime,
|
|
55
55
|
WorkerSession: () => WorkerSession,
|
|
56
56
|
createAuthProvider: () => createAuthProvider,
|
|
57
|
+
createDefaultModelFactory: () => createDefaultModelFactory,
|
|
57
58
|
createStorageObjects: () => createStorageObjects,
|
|
58
59
|
getNetworkPeers: () => getNetworkPeers,
|
|
59
60
|
isLocked: () => isLocked,
|
|
@@ -419,6 +420,8 @@ var import_context2 = require("@dxos/context");
|
|
|
419
420
|
var import_credentials = require("@dxos/credentials");
|
|
420
421
|
var import_log = require("@dxos/log");
|
|
421
422
|
var import_protocols = require("@dxos/protocols");
|
|
423
|
+
var __dxlog_file = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/identity/authenticator.ts";
|
|
424
|
+
var Credential = import_protocols.schema.getCodecForType("dxos.halo.credentials.Credential");
|
|
422
425
|
var createAuthProvider = (signer) => async (nonce) => {
|
|
423
426
|
const credential = await signer.createCredential({
|
|
424
427
|
assertion: {
|
|
@@ -427,7 +430,7 @@ var createAuthProvider = (signer) => async (nonce) => {
|
|
|
427
430
|
subject: signer.getIssuer(),
|
|
428
431
|
nonce
|
|
429
432
|
});
|
|
430
|
-
return
|
|
433
|
+
return Credential.encode(credential);
|
|
431
434
|
};
|
|
432
435
|
var TrustedKeySetAuthVerifier = class {
|
|
433
436
|
// prettier-ignore
|
|
@@ -440,24 +443,24 @@ var TrustedKeySetAuthVerifier = class {
|
|
|
440
443
|
}
|
|
441
444
|
get verifier() {
|
|
442
445
|
return async (nonce, auth) => {
|
|
443
|
-
const credential =
|
|
446
|
+
const credential = Credential.decode(auth);
|
|
444
447
|
(0, import_log.log)("authenticating...", {
|
|
445
448
|
credential
|
|
446
449
|
}, {
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
450
|
+
F: __dxlog_file,
|
|
451
|
+
L: 59,
|
|
452
|
+
S: this,
|
|
453
|
+
C: (f, a) => f(...a)
|
|
451
454
|
});
|
|
452
455
|
const result = await (0, import_credentials.verifyCredential)(credential);
|
|
453
456
|
if (result.kind === "fail") {
|
|
454
457
|
(0, import_log.log)("Invalid credential", {
|
|
455
458
|
result
|
|
456
459
|
}, {
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
460
|
+
F: __dxlog_file,
|
|
461
|
+
L: 63,
|
|
462
|
+
S: this,
|
|
463
|
+
C: (f, a) => f(...a)
|
|
461
464
|
});
|
|
462
465
|
return false;
|
|
463
466
|
}
|
|
@@ -466,10 +469,10 @@ var TrustedKeySetAuthVerifier = class {
|
|
|
466
469
|
nonce,
|
|
467
470
|
credential
|
|
468
471
|
}, {
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
472
|
+
F: __dxlog_file,
|
|
473
|
+
L: 68,
|
|
474
|
+
S: this,
|
|
475
|
+
C: (f, a) => f(...a)
|
|
473
476
|
});
|
|
474
477
|
return false;
|
|
475
478
|
}
|
|
@@ -477,10 +480,10 @@ var TrustedKeySetAuthVerifier = class {
|
|
|
477
480
|
(0, import_log.log)("key is not currently in trusted set, waiting...", {
|
|
478
481
|
key: credential.issuer
|
|
479
482
|
}, {
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
483
|
+
F: __dxlog_file,
|
|
484
|
+
L: 73,
|
|
485
|
+
S: this,
|
|
486
|
+
C: (f, a) => f(...a)
|
|
484
487
|
});
|
|
485
488
|
return true;
|
|
486
489
|
}
|
|
@@ -493,20 +496,20 @@ var TrustedKeySetAuthVerifier = class {
|
|
|
493
496
|
(0, import_log.log)("auth success", {
|
|
494
497
|
key: credential.issuer
|
|
495
498
|
}, {
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
499
|
+
F: __dxlog_file,
|
|
500
|
+
L: 84,
|
|
501
|
+
S: this,
|
|
502
|
+
C: (f, a) => f(...a)
|
|
500
503
|
});
|
|
501
504
|
trigger.wake(true);
|
|
502
505
|
} else {
|
|
503
506
|
(0, import_log.log)("key is not currently in trusted set, waiting...", {
|
|
504
507
|
key: credential.issuer
|
|
505
508
|
}, {
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
509
|
+
F: __dxlog_file,
|
|
510
|
+
L: 87,
|
|
511
|
+
S: this,
|
|
512
|
+
C: (f, a) => f(...a)
|
|
510
513
|
});
|
|
511
514
|
}
|
|
512
515
|
});
|
|
@@ -528,7 +531,7 @@ var TrustedKeySetAuthVerifier = class {
|
|
|
528
531
|
};
|
|
529
532
|
|
|
530
533
|
// packages/sdk/client-services/src/packlets/identity/identity.ts
|
|
531
|
-
var
|
|
534
|
+
var import_tiny_invariant = __toESM(require("tiny-invariant"));
|
|
532
535
|
var import_async5 = require("@dxos/async");
|
|
533
536
|
var import_client_protocol = require("@dxos/client-protocol");
|
|
534
537
|
var import_credentials2 = require("@dxos/credentials");
|
|
@@ -536,6 +539,7 @@ var import_debug = require("@dxos/debug");
|
|
|
536
539
|
var import_feed_store2 = require("@dxos/feed-store");
|
|
537
540
|
var import_log2 = require("@dxos/log");
|
|
538
541
|
var import_credentials3 = require("@dxos/protocols/proto/dxos/halo/credentials");
|
|
542
|
+
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/identity/identity.ts";
|
|
539
543
|
var Identity = class {
|
|
540
544
|
constructor({ space, signer, identityKey, deviceKey }) {
|
|
541
545
|
this.stateUpdate = new import_async5.Event();
|
|
@@ -543,15 +547,15 @@ var Identity = class {
|
|
|
543
547
|
this._signer = signer;
|
|
544
548
|
this.identityKey = identityKey;
|
|
545
549
|
this.deviceKey = deviceKey;
|
|
546
|
-
this._deviceStateMachine =
|
|
550
|
+
this._deviceStateMachine = new import_credentials2.DeviceStateMachine({
|
|
547
551
|
identityKey: this.identityKey,
|
|
548
552
|
deviceKey: this.deviceKey,
|
|
549
553
|
onUpdate: () => this.stateUpdate.emit()
|
|
550
|
-
})
|
|
551
|
-
this._profileStateMachine =
|
|
554
|
+
});
|
|
555
|
+
this._profileStateMachine = new import_credentials2.ProfileStateMachine({
|
|
552
556
|
identityKey: this.identityKey,
|
|
553
557
|
onUpdate: () => this.stateUpdate.emit()
|
|
554
|
-
})
|
|
558
|
+
});
|
|
555
559
|
this.authVerifier = new TrustedKeySetAuthVerifier({
|
|
556
560
|
trustedKeysProvider: () => this.authorizedDeviceKeys,
|
|
557
561
|
update: this.stateUpdate,
|
|
@@ -560,27 +564,27 @@ var Identity = class {
|
|
|
560
564
|
}
|
|
561
565
|
// TODO(burdon): Expose state object?
|
|
562
566
|
get authorizedDeviceKeys() {
|
|
563
|
-
return this._deviceStateMachine.
|
|
567
|
+
return this._deviceStateMachine.authorizedDeviceKeys;
|
|
564
568
|
}
|
|
565
569
|
async open() {
|
|
566
|
-
await this.
|
|
567
|
-
await this.
|
|
570
|
+
await this.space.spaceState.addCredentialProcessor(this._deviceStateMachine);
|
|
571
|
+
await this.space.spaceState.addCredentialProcessor(this._profileStateMachine);
|
|
568
572
|
await this.space.open();
|
|
569
573
|
}
|
|
570
574
|
async close() {
|
|
571
575
|
await this.authVerifier.close();
|
|
572
|
-
await this.
|
|
573
|
-
await this.
|
|
576
|
+
await this.space.spaceState.removeCredentialProcessor(this._profileStateMachine);
|
|
577
|
+
await this.space.spaceState.removeCredentialProcessor(this._deviceStateMachine);
|
|
574
578
|
await this.space.close();
|
|
575
579
|
}
|
|
576
580
|
async ready() {
|
|
577
|
-
await this._deviceStateMachine.
|
|
581
|
+
await this._deviceStateMachine.deviceChainReady.wait();
|
|
578
582
|
await this.controlPipeline.state.waitUntilReachedTargetTimeframe({
|
|
579
583
|
timeout: import_client_protocol.LOAD_CONTROL_FEEDS_TIMEOUT
|
|
580
584
|
});
|
|
581
585
|
}
|
|
582
586
|
get profileDocument() {
|
|
583
|
-
return this._profileStateMachine.
|
|
587
|
+
return this._profileStateMachine.profile;
|
|
584
588
|
}
|
|
585
589
|
/**
|
|
586
590
|
* @test-only
|
|
@@ -595,7 +599,7 @@ var Identity = class {
|
|
|
595
599
|
return this.space.genesisFeedKey;
|
|
596
600
|
}
|
|
597
601
|
get deviceCredentialChain() {
|
|
598
|
-
return this._deviceStateMachine.
|
|
602
|
+
return this._deviceStateMachine.deviceCredentialChain;
|
|
599
603
|
}
|
|
600
604
|
getAdmissionCredentials() {
|
|
601
605
|
var _a, _b;
|
|
@@ -610,8 +614,8 @@ var Identity = class {
|
|
|
610
614
|
* Requires identity to be ready.
|
|
611
615
|
*/
|
|
612
616
|
getIdentityCredentialSigner() {
|
|
613
|
-
(0,
|
|
614
|
-
return (0, import_credentials2.createCredentialSignerWithChain)(this._signer, this._deviceStateMachine.
|
|
617
|
+
(0, import_tiny_invariant.default)(this._deviceStateMachine.deviceCredentialChain, "Device credential chain is not ready.");
|
|
618
|
+
return (0, import_credentials2.createCredentialSignerWithChain)(this._signer, this._deviceStateMachine.deviceCredentialChain, this.deviceKey);
|
|
615
619
|
}
|
|
616
620
|
/**
|
|
617
621
|
* Issues credentials as device.
|
|
@@ -627,10 +631,10 @@ var Identity = class {
|
|
|
627
631
|
controlFeedKey,
|
|
628
632
|
dataFeedKey
|
|
629
633
|
}, {
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
+
F: __dxlog_file2,
|
|
635
|
+
L: 151,
|
|
636
|
+
S: this,
|
|
637
|
+
C: (f, a) => f(...a)
|
|
634
638
|
});
|
|
635
639
|
const signer = this.getIdentityCredentialSigner();
|
|
636
640
|
await (0, import_feed_store2.writeMessages)(this.controlPipeline.writer, [
|
|
@@ -671,7 +675,7 @@ var Identity = class {
|
|
|
671
675
|
};
|
|
672
676
|
|
|
673
677
|
// packages/sdk/client-services/src/packlets/identity/identity-manager.ts
|
|
674
|
-
var
|
|
678
|
+
var import_tiny_invariant2 = __toESM(require("tiny-invariant"));
|
|
675
679
|
var import_async6 = require("@dxos/async");
|
|
676
680
|
var import_credentials4 = require("@dxos/credentials");
|
|
677
681
|
var import_keys4 = require("@dxos/keys");
|
|
@@ -679,6 +683,7 @@ var import_log3 = require("@dxos/log");
|
|
|
679
683
|
var import_protocols2 = require("@dxos/protocols");
|
|
680
684
|
var import_credentials5 = require("@dxos/protocols/proto/dxos/halo/credentials");
|
|
681
685
|
var import_util2 = require("@dxos/util");
|
|
686
|
+
var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/identity/identity-manager.ts";
|
|
682
687
|
var IdentityManager = class {
|
|
683
688
|
// TODO(burdon): IdentityManagerParams.
|
|
684
689
|
// TODO(dmaretskyi): Perhaps this should take/generate the peerKey outside of an initialized identity.
|
|
@@ -698,20 +703,20 @@ var IdentityManager = class {
|
|
|
698
703
|
import_log3.log.trace("dxos.halo.identity-manager.open", import_protocols2.trace.begin({
|
|
699
704
|
id: traceId
|
|
700
705
|
}), {
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
706
|
+
F: __dxlog_file3,
|
|
707
|
+
L: 70,
|
|
708
|
+
S: this,
|
|
709
|
+
C: (f, a) => f(...a)
|
|
705
710
|
});
|
|
706
711
|
await this._metadataStore.load();
|
|
707
712
|
const identityRecord = this._metadataStore.getIdentityRecord();
|
|
708
713
|
(0, import_log3.log)("identity record", {
|
|
709
714
|
identityRecord
|
|
710
715
|
}, {
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
716
|
+
F: __dxlog_file3,
|
|
717
|
+
L: 74,
|
|
718
|
+
S: this,
|
|
719
|
+
C: (f, a) => f(...a)
|
|
715
720
|
});
|
|
716
721
|
if (identityRecord) {
|
|
717
722
|
this._identity = await this._constructIdentity(identityRecord);
|
|
@@ -721,20 +726,20 @@ var IdentityManager = class {
|
|
|
721
726
|
identityKey: identityRecord.identityKey,
|
|
722
727
|
displayName: (_a = this._identity.profileDocument) == null ? void 0 : _a.displayName
|
|
723
728
|
}, {
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
729
|
+
F: __dxlog_file3,
|
|
730
|
+
L: 79,
|
|
731
|
+
S: this,
|
|
732
|
+
C: (f, a) => f(...a)
|
|
728
733
|
});
|
|
729
734
|
this.stateUpdate.emit();
|
|
730
735
|
}
|
|
731
736
|
import_log3.log.trace("dxos.halo.identity-manager.open", import_protocols2.trace.end({
|
|
732
737
|
id: traceId
|
|
733
738
|
}), {
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
739
|
+
F: __dxlog_file3,
|
|
740
|
+
L: 85,
|
|
741
|
+
S: this,
|
|
742
|
+
C: (f, a) => f(...a)
|
|
738
743
|
});
|
|
739
744
|
}
|
|
740
745
|
async close() {
|
|
@@ -743,12 +748,12 @@ var IdentityManager = class {
|
|
|
743
748
|
}
|
|
744
749
|
async createIdentity({ displayName } = {}) {
|
|
745
750
|
var _a;
|
|
746
|
-
(0,
|
|
747
|
-
(0, import_log3.log)("creating identity...",
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
751
|
+
(0, import_tiny_invariant2.default)(!this._identity, "Identity already exists.");
|
|
752
|
+
(0, import_log3.log)("creating identity...", void 0, {
|
|
753
|
+
F: __dxlog_file3,
|
|
754
|
+
L: 94,
|
|
755
|
+
S: this,
|
|
756
|
+
C: (f, a) => f(...a)
|
|
752
757
|
});
|
|
753
758
|
const controlFeedKey = await this._keyring.createKey();
|
|
754
759
|
const identityRecord = {
|
|
@@ -765,8 +770,8 @@ var IdentityManager = class {
|
|
|
765
770
|
await identity.open();
|
|
766
771
|
{
|
|
767
772
|
const generator = new import_credentials4.CredentialGenerator(this._keyring, identityRecord.identityKey, identityRecord.deviceKey);
|
|
768
|
-
(0,
|
|
769
|
-
(0,
|
|
773
|
+
(0, import_tiny_invariant2.default)(identityRecord.haloSpace.genesisFeedKey, "Genesis feed key is required.");
|
|
774
|
+
(0, import_tiny_invariant2.default)(identityRecord.haloSpace.dataFeedKey, "Data feed key is required.");
|
|
770
775
|
const credentials = [
|
|
771
776
|
// Space genesis.
|
|
772
777
|
...await generator.createSpaceGenesis(identityRecord.haloSpace.key, identityRecord.haloSpace.genesisFeedKey),
|
|
@@ -794,20 +799,20 @@ var IdentityManager = class {
|
|
|
794
799
|
identityKey: identityRecord.identityKey,
|
|
795
800
|
displayName: (_a = this._identity.profileDocument) == null ? void 0 : _a.displayName
|
|
796
801
|
}, {
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
802
|
+
F: __dxlog_file3,
|
|
803
|
+
L: 149,
|
|
804
|
+
S: this,
|
|
805
|
+
C: (f, a) => f(...a)
|
|
801
806
|
});
|
|
802
807
|
this.stateUpdate.emit();
|
|
803
808
|
(0, import_log3.log)("created identity", {
|
|
804
809
|
identityKey: identity.identityKey,
|
|
805
810
|
deviceKey: identity.deviceKey
|
|
806
811
|
}, {
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
812
|
+
F: __dxlog_file3,
|
|
813
|
+
L: 155,
|
|
814
|
+
S: this,
|
|
815
|
+
C: (f, a) => f(...a)
|
|
811
816
|
});
|
|
812
817
|
return identity;
|
|
813
818
|
}
|
|
@@ -819,12 +824,12 @@ var IdentityManager = class {
|
|
|
819
824
|
(0, import_log3.log)("accepting identity", {
|
|
820
825
|
params
|
|
821
826
|
}, {
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
827
|
+
F: __dxlog_file3,
|
|
828
|
+
L: 163,
|
|
829
|
+
S: this,
|
|
830
|
+
C: (f, a) => f(...a)
|
|
826
831
|
});
|
|
827
|
-
(0,
|
|
832
|
+
(0, import_tiny_invariant2.default)(!this._identity, "Identity already exists.");
|
|
828
833
|
const identityRecord = {
|
|
829
834
|
identityKey: params.identityKey,
|
|
830
835
|
deviceKey: params.deviceKey,
|
|
@@ -845,38 +850,38 @@ var IdentityManager = class {
|
|
|
845
850
|
identityKey: identityRecord.identityKey,
|
|
846
851
|
displayName: (_a = this._identity.profileDocument) == null ? void 0 : _a.displayName
|
|
847
852
|
}, {
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
853
|
+
F: __dxlog_file3,
|
|
854
|
+
L: 183,
|
|
855
|
+
S: this,
|
|
856
|
+
C: (f, a) => f(...a)
|
|
852
857
|
});
|
|
853
858
|
this.stateUpdate.emit();
|
|
854
859
|
(0, import_log3.log)("accepted identity", {
|
|
855
860
|
identityKey: identity.identityKey,
|
|
856
861
|
deviceKey: identity.deviceKey
|
|
857
862
|
}, {
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
863
|
+
F: __dxlog_file3,
|
|
864
|
+
L: 189,
|
|
865
|
+
S: this,
|
|
866
|
+
C: (f, a) => f(...a)
|
|
862
867
|
});
|
|
863
868
|
return identity;
|
|
864
869
|
}
|
|
865
870
|
async _constructIdentity(identityRecord) {
|
|
866
|
-
(0,
|
|
871
|
+
(0, import_tiny_invariant2.default)(!this._identity);
|
|
867
872
|
(0, import_log3.log)("constructing identity", {
|
|
868
873
|
identityRecord
|
|
869
874
|
}, {
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
875
|
+
F: __dxlog_file3,
|
|
876
|
+
L: 195,
|
|
877
|
+
S: this,
|
|
878
|
+
C: (f, a) => f(...a)
|
|
874
879
|
});
|
|
875
|
-
(0,
|
|
880
|
+
(0, import_tiny_invariant2.default)(identityRecord.haloSpace.controlFeedKey);
|
|
876
881
|
const controlFeed = await this._feedStore.openFeed(identityRecord.haloSpace.controlFeedKey, {
|
|
877
882
|
writable: true
|
|
878
883
|
});
|
|
879
|
-
(0,
|
|
884
|
+
(0, import_tiny_invariant2.default)(identityRecord.haloSpace.dataFeedKey);
|
|
880
885
|
const dataFeed = await this._feedStore.openFeed(identityRecord.haloSpace.dataFeedKey, {
|
|
881
886
|
writable: true,
|
|
882
887
|
sparse: true
|
|
@@ -901,10 +906,10 @@ var IdentityManager = class {
|
|
|
901
906
|
(0, import_log3.log)("done", {
|
|
902
907
|
identityKey: identityRecord.identityKey
|
|
903
908
|
}, {
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
909
|
+
F: __dxlog_file3,
|
|
910
|
+
L: 226,
|
|
911
|
+
S: this,
|
|
912
|
+
C: (f, a) => f(...a)
|
|
908
913
|
});
|
|
909
914
|
if (identityRecord.haloSpace.controlTimeframe) {
|
|
910
915
|
identity.controlPipeline.state.setTargetTimeframe(identityRecord.haloSpace.controlTimeframe);
|
|
@@ -921,11 +926,11 @@ var IdentityManager = class {
|
|
|
921
926
|
onNetworkConnection: () => {
|
|
922
927
|
},
|
|
923
928
|
onAuthFailure: () => {
|
|
924
|
-
import_log3.log.warn("auth failure",
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
+
import_log3.log.warn("auth failure", void 0, {
|
|
930
|
+
F: __dxlog_file3,
|
|
931
|
+
L: 245,
|
|
932
|
+
S: this,
|
|
933
|
+
C: (f, a) => f(...a)
|
|
929
934
|
});
|
|
930
935
|
},
|
|
931
936
|
memberKey: identityKey
|
|
@@ -934,7 +939,7 @@ var IdentityManager = class {
|
|
|
934
939
|
};
|
|
935
940
|
|
|
936
941
|
// packages/sdk/client-services/src/packlets/identity/identity-service.ts
|
|
937
|
-
var
|
|
942
|
+
var import_tiny_invariant3 = __toESM(require("tiny-invariant"));
|
|
938
943
|
var import_codec_protobuf7 = require("@dxos/codec-protobuf");
|
|
939
944
|
var import_credentials6 = require("@dxos/credentials");
|
|
940
945
|
var import_debug2 = require("@dxos/debug");
|
|
@@ -970,7 +975,7 @@ var IdentityServiceImpl = class {
|
|
|
970
975
|
};
|
|
971
976
|
}
|
|
972
977
|
async signPresentation({ presentation, nonce }) {
|
|
973
|
-
(0,
|
|
978
|
+
(0, import_tiny_invariant3.default)(this._serviceContext.identityManager.identity, "Identity not initialized.");
|
|
974
979
|
return await (0, import_credentials6.signPresentation)({
|
|
975
980
|
presentation,
|
|
976
981
|
signer: this._serviceContext.keyring,
|
|
@@ -982,7 +987,7 @@ var IdentityServiceImpl = class {
|
|
|
982
987
|
};
|
|
983
988
|
|
|
984
989
|
// packages/sdk/client-services/src/packlets/invitations/device-invitation-protocol.ts
|
|
985
|
-
var
|
|
990
|
+
var import_tiny_invariant4 = __toESM(require("tiny-invariant"));
|
|
986
991
|
var import_services = require("@dxos/protocols/proto/dxos/client/services");
|
|
987
992
|
var DeviceInvitationProtocol = class {
|
|
988
993
|
constructor(_keyring, _getIdentity, _acceptIdentity) {
|
|
@@ -999,7 +1004,7 @@ var DeviceInvitationProtocol = class {
|
|
|
999
1004
|
};
|
|
1000
1005
|
}
|
|
1001
1006
|
async admit(request) {
|
|
1002
|
-
(0,
|
|
1007
|
+
(0, import_tiny_invariant4.default)(request.device);
|
|
1003
1008
|
const identity = this._getIdentity();
|
|
1004
1009
|
await identity.admitDevice(request.device);
|
|
1005
1010
|
return {
|
|
@@ -1027,9 +1032,9 @@ var DeviceInvitationProtocol = class {
|
|
|
1027
1032
|
};
|
|
1028
1033
|
}
|
|
1029
1034
|
async accept(response, request) {
|
|
1030
|
-
(0,
|
|
1035
|
+
(0, import_tiny_invariant4.default)(response.device);
|
|
1031
1036
|
const { identityKey, haloSpaceKey, genesisFeedKey, controlTimeframe } = response.device;
|
|
1032
|
-
(0,
|
|
1037
|
+
(0, import_tiny_invariant4.default)(request.device);
|
|
1033
1038
|
const { deviceKey, controlFeedKey, dataFeedKey } = request.device;
|
|
1034
1039
|
await this._acceptIdentity({
|
|
1035
1040
|
identityKey,
|
|
@@ -1047,7 +1052,7 @@ var DeviceInvitationProtocol = class {
|
|
|
1047
1052
|
};
|
|
1048
1053
|
|
|
1049
1054
|
// packages/sdk/client-services/src/packlets/invitations/invitations-handler.ts
|
|
1050
|
-
var
|
|
1055
|
+
var import_tiny_invariant6 = __toESM(require("tiny-invariant"));
|
|
1051
1056
|
var import_async8 = require("@dxos/async");
|
|
1052
1057
|
var import_client_protocol2 = require("@dxos/client-protocol");
|
|
1053
1058
|
var import_context4 = require("@dxos/context");
|
|
@@ -1061,7 +1066,7 @@ var import_services3 = require("@dxos/protocols/proto/dxos/client/services");
|
|
|
1061
1066
|
var import_invitations2 = require("@dxos/protocols/proto/dxos/halo/invitations");
|
|
1062
1067
|
|
|
1063
1068
|
// packages/sdk/client-services/src/packlets/invitations/invitation-extension.ts
|
|
1064
|
-
var
|
|
1069
|
+
var import_tiny_invariant5 = __toESM(require("tiny-invariant"));
|
|
1065
1070
|
var import_async7 = require("@dxos/async");
|
|
1066
1071
|
var import_context3 = require("@dxos/context");
|
|
1067
1072
|
var import_errors = require("@dxos/errors");
|
|
@@ -1071,6 +1076,7 @@ var import_protocols3 = require("@dxos/protocols");
|
|
|
1071
1076
|
var import_services2 = require("@dxos/protocols/proto/dxos/client/services");
|
|
1072
1077
|
var import_invitations = require("@dxos/protocols/proto/dxos/halo/invitations");
|
|
1073
1078
|
var import_teleport = require("@dxos/teleport");
|
|
1079
|
+
var __dxlog_file4 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/invitations/invitation-extension.ts";
|
|
1074
1080
|
var OPTIONS_TIMEOUT = 1e4;
|
|
1075
1081
|
var MAX_OTP_ATTEMPTS = 3;
|
|
1076
1082
|
var InvitationHostExtension = class extends import_teleport.RpcExtension {
|
|
@@ -1098,7 +1104,7 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
|
|
|
1098
1104
|
// Perhaps in the future we will have more complex logic here.
|
|
1099
1105
|
InvitationHostService: {
|
|
1100
1106
|
options: async (options) => {
|
|
1101
|
-
(0,
|
|
1107
|
+
(0, import_tiny_invariant5.default)(!this._remoteOptions, "Remote options already set.");
|
|
1102
1108
|
this._remoteOptions = options;
|
|
1103
1109
|
this._remoteOptionsTrigger.wake();
|
|
1104
1110
|
},
|
|
@@ -1108,20 +1114,20 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
|
|
|
1108
1114
|
import_log4.log.trace("dxos.sdk.invitation-handler.host.introduce", import_protocols3.trace.begin({
|
|
1109
1115
|
id: traceId
|
|
1110
1116
|
}), {
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1117
|
+
F: __dxlog_file4,
|
|
1118
|
+
L: 98,
|
|
1119
|
+
S: this,
|
|
1120
|
+
C: (f, a) => f(...a)
|
|
1115
1121
|
});
|
|
1116
1122
|
const invitation = await this._callbacks.resolveInvitation(request);
|
|
1117
1123
|
if (!invitation) {
|
|
1118
1124
|
import_log4.log.warn("invitation not found", {
|
|
1119
1125
|
invitationId
|
|
1120
1126
|
}, {
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1127
|
+
F: __dxlog_file4,
|
|
1128
|
+
L: 102,
|
|
1129
|
+
S: this,
|
|
1130
|
+
C: (f, a) => f(...a)
|
|
1125
1131
|
});
|
|
1126
1132
|
this._callbacks.onError(new Error("Invitation not found."));
|
|
1127
1133
|
return {
|
|
@@ -1132,10 +1138,10 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
|
|
|
1132
1138
|
(0, import_log4.log)("guest introduced itself", {
|
|
1133
1139
|
guestProfile: profile
|
|
1134
1140
|
}, {
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1141
|
+
F: __dxlog_file4,
|
|
1142
|
+
L: 111,
|
|
1143
|
+
S: this,
|
|
1144
|
+
C: (f, a) => f(...a)
|
|
1139
1145
|
});
|
|
1140
1146
|
this.guestProfile = profile;
|
|
1141
1147
|
this._callbacks.onStateUpdate({
|
|
@@ -1145,10 +1151,10 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
|
|
|
1145
1151
|
import_log4.log.trace("dxos.sdk.invitation-handler.host.introduce", import_protocols3.trace.end({
|
|
1146
1152
|
id: traceId
|
|
1147
1153
|
}), {
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1154
|
+
F: __dxlog_file4,
|
|
1155
|
+
L: 118,
|
|
1156
|
+
S: this,
|
|
1157
|
+
C: (f, a) => f(...a)
|
|
1152
1158
|
});
|
|
1153
1159
|
return {
|
|
1154
1160
|
spaceKey: this.invitation.authMethod === import_services2.Invitation.AuthMethod.NONE ? this.invitation.spaceKey : void 0,
|
|
@@ -1160,28 +1166,28 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
|
|
|
1160
1166
|
import_log4.log.trace("dxos.sdk.invitation-handler.host.authenticate", import_protocols3.trace.begin({
|
|
1161
1167
|
id: traceId
|
|
1162
1168
|
}), {
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1169
|
+
F: __dxlog_file4,
|
|
1170
|
+
L: 127,
|
|
1171
|
+
S: this,
|
|
1172
|
+
C: (f, a) => f(...a)
|
|
1167
1173
|
});
|
|
1168
1174
|
(0, import_log4.log)("received authentication request", {
|
|
1169
1175
|
authCode: code
|
|
1170
1176
|
}, {
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1177
|
+
F: __dxlog_file4,
|
|
1178
|
+
L: 128,
|
|
1179
|
+
S: this,
|
|
1180
|
+
C: (f, a) => f(...a)
|
|
1175
1181
|
});
|
|
1176
1182
|
let status = import_invitations.AuthenticationResponse.Status.OK;
|
|
1177
|
-
(0,
|
|
1183
|
+
(0, import_tiny_invariant5.default)(this.invitation, "Invitation is not set.");
|
|
1178
1184
|
switch (this.invitation.authMethod) {
|
|
1179
1185
|
case import_services2.Invitation.AuthMethod.NONE: {
|
|
1180
|
-
(0, import_log4.log)("authentication not required",
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1186
|
+
(0, import_log4.log)("authentication not required", void 0, {
|
|
1187
|
+
F: __dxlog_file4,
|
|
1188
|
+
L: 134,
|
|
1189
|
+
S: this,
|
|
1190
|
+
C: (f, a) => f(...a)
|
|
1185
1191
|
});
|
|
1186
1192
|
return {
|
|
1187
1193
|
status: import_invitations.AuthenticationResponse.Status.OK
|
|
@@ -1203,10 +1209,10 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
|
|
|
1203
1209
|
import_log4.log.error("invalid authentication method", {
|
|
1204
1210
|
authMethod: this.invitation.authMethod
|
|
1205
1211
|
}, {
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1212
|
+
F: __dxlog_file4,
|
|
1213
|
+
L: 152,
|
|
1214
|
+
S: this,
|
|
1215
|
+
C: (f, a) => f(...a)
|
|
1210
1216
|
});
|
|
1211
1217
|
status = import_invitations.AuthenticationResponse.Status.INTERNAL_ERROR;
|
|
1212
1218
|
break;
|
|
@@ -1218,10 +1224,10 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
|
|
|
1218
1224
|
status
|
|
1219
1225
|
}
|
|
1220
1226
|
}), {
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1227
|
+
F: __dxlog_file4,
|
|
1228
|
+
L: 158,
|
|
1229
|
+
S: this,
|
|
1230
|
+
C: (f, a) => f(...a)
|
|
1225
1231
|
});
|
|
1226
1232
|
return {
|
|
1227
1233
|
status
|
|
@@ -1232,13 +1238,13 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
|
|
|
1232
1238
|
import_log4.log.trace("dxos.sdk.invitation-handler.host.admit", import_protocols3.trace.begin({
|
|
1233
1239
|
id: traceId
|
|
1234
1240
|
}), {
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1241
|
+
F: __dxlog_file4,
|
|
1242
|
+
L: 164,
|
|
1243
|
+
S: this,
|
|
1244
|
+
C: (f, a) => f(...a)
|
|
1239
1245
|
});
|
|
1240
1246
|
try {
|
|
1241
|
-
(0,
|
|
1247
|
+
(0, import_tiny_invariant5.default)(this.invitation, "Invitation is not set.");
|
|
1242
1248
|
if (isAuthenticationRequired(this.invitation) && !this.authenticationPassed) {
|
|
1243
1249
|
throw new Error("Not authenticated");
|
|
1244
1250
|
}
|
|
@@ -1246,10 +1252,10 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
|
|
|
1246
1252
|
import_log4.log.trace("dxos.sdk.invitation-handler.host.admit", import_protocols3.trace.end({
|
|
1247
1253
|
id: traceId
|
|
1248
1254
|
}), {
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1255
|
+
F: __dxlog_file4,
|
|
1256
|
+
L: 175,
|
|
1257
|
+
S: this,
|
|
1258
|
+
C: (f, a) => f(...a)
|
|
1253
1259
|
});
|
|
1254
1260
|
return response;
|
|
1255
1261
|
} catch (err) {
|
|
@@ -1303,7 +1309,7 @@ var InvitationGuestExtension = class extends import_teleport.RpcExtension {
|
|
|
1303
1309
|
return {
|
|
1304
1310
|
InvitationHostService: {
|
|
1305
1311
|
options: async (options) => {
|
|
1306
|
-
(0,
|
|
1312
|
+
(0, import_tiny_invariant5.default)(!this._remoteOptions, "Remote options already set.");
|
|
1307
1313
|
this._remoteOptions = options;
|
|
1308
1314
|
this._remoteOptionsTrigger.wake();
|
|
1309
1315
|
},
|
|
@@ -1323,11 +1329,11 @@ var InvitationGuestExtension = class extends import_teleport.RpcExtension {
|
|
|
1323
1329
|
var _a;
|
|
1324
1330
|
await super.onOpen(context);
|
|
1325
1331
|
try {
|
|
1326
|
-
(0, import_log4.log)("begin options",
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1332
|
+
(0, import_log4.log)("begin options", void 0, {
|
|
1333
|
+
F: __dxlog_file4,
|
|
1334
|
+
L: 263,
|
|
1335
|
+
S: this,
|
|
1336
|
+
C: (f, a) => f(...a)
|
|
1331
1337
|
});
|
|
1332
1338
|
await (0, import_context3.cancelWithContext)(this._ctx, this.rpc.InvitationHostService.options({
|
|
1333
1339
|
role: import_invitations.Options.Role.GUEST
|
|
@@ -1335,11 +1341,11 @@ var InvitationGuestExtension = class extends import_teleport.RpcExtension {
|
|
|
1335
1341
|
await (0, import_context3.cancelWithContext)(this._ctx, this._remoteOptionsTrigger.wait({
|
|
1336
1342
|
timeout: OPTIONS_TIMEOUT
|
|
1337
1343
|
}));
|
|
1338
|
-
(0, import_log4.log)("end options",
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1344
|
+
(0, import_log4.log)("end options", void 0, {
|
|
1345
|
+
F: __dxlog_file4,
|
|
1346
|
+
L: 266,
|
|
1347
|
+
S: this,
|
|
1348
|
+
C: (f, a) => f(...a)
|
|
1343
1349
|
});
|
|
1344
1350
|
if (((_a = this._remoteOptions) == null ? void 0 : _a.role) !== import_invitations.Options.Role.HOST) {
|
|
1345
1351
|
throw new import_errors.InvalidInvitationExtensionRoleError(void 0, {
|
|
@@ -1350,20 +1356,20 @@ var InvitationGuestExtension = class extends import_teleport.RpcExtension {
|
|
|
1350
1356
|
this._callbacks.onOpen(this._ctx);
|
|
1351
1357
|
} catch (err) {
|
|
1352
1358
|
(0, import_log4.log)("openError", err, {
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1359
|
+
F: __dxlog_file4,
|
|
1360
|
+
L: 276,
|
|
1361
|
+
S: this,
|
|
1362
|
+
C: (f, a) => f(...a)
|
|
1357
1363
|
});
|
|
1358
1364
|
this._callbacks.onError(err);
|
|
1359
1365
|
}
|
|
1360
1366
|
}
|
|
1361
1367
|
async onClose() {
|
|
1362
|
-
(0, import_log4.log)("onClose",
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1368
|
+
(0, import_log4.log)("onClose", void 0, {
|
|
1369
|
+
F: __dxlog_file4,
|
|
1370
|
+
L: 282,
|
|
1371
|
+
S: this,
|
|
1372
|
+
C: (f, a) => f(...a)
|
|
1367
1373
|
});
|
|
1368
1374
|
await this._ctx.dispose();
|
|
1369
1375
|
}
|
|
@@ -1371,6 +1377,7 @@ var InvitationGuestExtension = class extends import_teleport.RpcExtension {
|
|
|
1371
1377
|
var isAuthenticationRequired = (invitation) => invitation.authMethod !== import_services2.Invitation.AuthMethod.NONE;
|
|
1372
1378
|
|
|
1373
1379
|
// packages/sdk/client-services/src/packlets/invitations/invitations-handler.ts
|
|
1380
|
+
var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/invitations/invitations-handler.ts";
|
|
1374
1381
|
var InvitationsHandler = class {
|
|
1375
1382
|
/**
|
|
1376
1383
|
* @internal
|
|
@@ -1382,7 +1389,7 @@ var InvitationsHandler = class {
|
|
|
1382
1389
|
var _a;
|
|
1383
1390
|
const { invitationId = import_keys6.PublicKey.random().toHex(), type = import_services3.Invitation.Type.INTERACTIVE, authMethod = import_services3.Invitation.AuthMethod.SHARED_SECRET, state = import_services3.Invitation.State.INIT, timeout = import_client_protocol2.INVITATION_TIMEOUT, swarmKey = import_keys6.PublicKey.random() } = options != null ? options : {};
|
|
1384
1391
|
const authCode = (_a = options == null ? void 0 : options.authCode) != null ? _a : authMethod === import_services3.Invitation.AuthMethod.SHARED_SECRET ? (0, import_credentials7.generatePasscode)(import_client_protocol2.AUTHENTICATION_CODE_LENGTH) : void 0;
|
|
1385
|
-
(0,
|
|
1392
|
+
(0, import_tiny_invariant6.default)(protocol);
|
|
1386
1393
|
const invitation = {
|
|
1387
1394
|
invitationId,
|
|
1388
1395
|
type,
|
|
@@ -1404,10 +1411,10 @@ var InvitationsHandler = class {
|
|
|
1404
1411
|
(0, import_log5.log)("complete", {
|
|
1405
1412
|
...protocol.toJSON()
|
|
1406
1413
|
}, {
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1414
|
+
F: __dxlog_file5,
|
|
1415
|
+
L: 99,
|
|
1416
|
+
S: this,
|
|
1417
|
+
C: (f, a) => f(...a)
|
|
1411
1418
|
});
|
|
1412
1419
|
stream.complete();
|
|
1413
1420
|
});
|
|
@@ -1429,7 +1436,7 @@ var InvitationsHandler = class {
|
|
|
1429
1436
|
var _a2, _b, _c;
|
|
1430
1437
|
try {
|
|
1431
1438
|
const deviceKey = (_c = (_a2 = admissionRequest.device) == null ? void 0 : _a2.deviceKey) != null ? _c : (_b = admissionRequest.space) == null ? void 0 : _b.deviceKey;
|
|
1432
|
-
(0,
|
|
1439
|
+
(0, import_tiny_invariant6.default)(deviceKey);
|
|
1433
1440
|
const admissionResponse = await protocol.admit(admissionRequest, extension.guestProfile);
|
|
1434
1441
|
extension.completedTrigger.wake(deviceKey);
|
|
1435
1442
|
return admissionResponse;
|
|
@@ -1445,18 +1452,18 @@ var InvitationsHandler = class {
|
|
|
1445
1452
|
import_log5.log.trace("dxos.sdk.invitations-handler.host.onOpen", import_protocols4.trace.begin({
|
|
1446
1453
|
id: traceId
|
|
1447
1454
|
}), {
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1455
|
+
F: __dxlog_file5,
|
|
1456
|
+
L: 138,
|
|
1457
|
+
S: this,
|
|
1458
|
+
C: (f, a) => f(...a)
|
|
1452
1459
|
});
|
|
1453
1460
|
(0, import_log5.log)("connected", {
|
|
1454
1461
|
...protocol.toJSON()
|
|
1455
1462
|
}, {
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1463
|
+
F: __dxlog_file5,
|
|
1464
|
+
L: 139,
|
|
1465
|
+
S: this,
|
|
1466
|
+
C: (f, a) => f(...a)
|
|
1460
1467
|
});
|
|
1461
1468
|
stream.next({
|
|
1462
1469
|
...invitation,
|
|
@@ -1469,10 +1476,10 @@ var InvitationsHandler = class {
|
|
|
1469
1476
|
guest: deviceKey,
|
|
1470
1477
|
...protocol.toJSON()
|
|
1471
1478
|
}, {
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1479
|
+
F: __dxlog_file5,
|
|
1480
|
+
L: 142,
|
|
1481
|
+
S: this,
|
|
1482
|
+
C: (f, a) => f(...a)
|
|
1476
1483
|
});
|
|
1477
1484
|
stream.next({
|
|
1478
1485
|
...invitation,
|
|
@@ -1481,20 +1488,20 @@ var InvitationsHandler = class {
|
|
|
1481
1488
|
import_log5.log.trace("dxos.sdk.invitations-handler.host.onOpen", import_protocols4.trace.end({
|
|
1482
1489
|
id: traceId
|
|
1483
1490
|
}), {
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1491
|
+
F: __dxlog_file5,
|
|
1492
|
+
L: 144,
|
|
1493
|
+
S: this,
|
|
1494
|
+
C: (f, a) => f(...a)
|
|
1488
1495
|
});
|
|
1489
1496
|
} catch (err) {
|
|
1490
1497
|
if (err instanceof import_async8.TimeoutError) {
|
|
1491
1498
|
(0, import_log5.log)("timeout", {
|
|
1492
1499
|
...protocol.toJSON()
|
|
1493
1500
|
}, {
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1497
|
-
|
|
1501
|
+
F: __dxlog_file5,
|
|
1502
|
+
L: 147,
|
|
1503
|
+
S: this,
|
|
1504
|
+
C: (f, a) => f(...a)
|
|
1498
1505
|
});
|
|
1499
1506
|
stream.next({
|
|
1500
1507
|
...invitation,
|
|
@@ -1502,10 +1509,10 @@ var InvitationsHandler = class {
|
|
|
1502
1509
|
});
|
|
1503
1510
|
} else {
|
|
1504
1511
|
import_log5.log.error("failed", err, {
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1512
|
+
F: __dxlog_file5,
|
|
1513
|
+
L: 150,
|
|
1514
|
+
S: this,
|
|
1515
|
+
C: (f, a) => f(...a)
|
|
1509
1516
|
});
|
|
1510
1517
|
stream.error(err);
|
|
1511
1518
|
}
|
|
@@ -1513,10 +1520,10 @@ var InvitationsHandler = class {
|
|
|
1513
1520
|
id: traceId,
|
|
1514
1521
|
error: err
|
|
1515
1522
|
}), {
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1523
|
+
F: __dxlog_file5,
|
|
1524
|
+
L: 153,
|
|
1525
|
+
S: this,
|
|
1526
|
+
C: (f, a) => f(...a)
|
|
1520
1527
|
});
|
|
1521
1528
|
} finally {
|
|
1522
1529
|
if (type !== import_services3.Invitation.Type.MULTIUSE) {
|
|
@@ -1534,10 +1541,10 @@ var InvitationsHandler = class {
|
|
|
1534
1541
|
(0, import_log5.log)("timeout", {
|
|
1535
1542
|
...protocol.toJSON()
|
|
1536
1543
|
}, {
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1544
|
+
F: __dxlog_file5,
|
|
1545
|
+
L: 168,
|
|
1546
|
+
S: this,
|
|
1547
|
+
C: (f, a) => f(...a)
|
|
1541
1548
|
});
|
|
1542
1549
|
stream.next({
|
|
1543
1550
|
...invitation,
|
|
@@ -1545,10 +1552,10 @@ var InvitationsHandler = class {
|
|
|
1545
1552
|
});
|
|
1546
1553
|
} else {
|
|
1547
1554
|
import_log5.log.error("failed", err, {
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1555
|
+
F: __dxlog_file5,
|
|
1556
|
+
L: 171,
|
|
1557
|
+
S: this,
|
|
1558
|
+
C: (f, a) => f(...a)
|
|
1552
1559
|
});
|
|
1553
1560
|
stream.error(err);
|
|
1554
1561
|
}
|
|
@@ -1588,13 +1595,13 @@ var InvitationsHandler = class {
|
|
|
1588
1595
|
}
|
|
1589
1596
|
acceptInvitation(protocol, invitation) {
|
|
1590
1597
|
const { timeout = import_client_protocol2.INVITATION_TIMEOUT } = invitation;
|
|
1591
|
-
(0,
|
|
1598
|
+
(0, import_tiny_invariant6.default)(protocol);
|
|
1592
1599
|
const authenticated = new import_async8.Trigger();
|
|
1593
1600
|
let admitted = false;
|
|
1594
1601
|
let currentState;
|
|
1595
1602
|
const stream = new import_async8.PushStream();
|
|
1596
1603
|
const setState = (newData) => {
|
|
1597
|
-
(0,
|
|
1604
|
+
(0, import_tiny_invariant6.default)(newData.state !== void 0);
|
|
1598
1605
|
currentState = newData.state;
|
|
1599
1606
|
stream.next({
|
|
1600
1607
|
...invitation,
|
|
@@ -1607,20 +1614,20 @@ var InvitationsHandler = class {
|
|
|
1607
1614
|
(0, import_log5.log)("timeout", {
|
|
1608
1615
|
...protocol.toJSON()
|
|
1609
1616
|
}, {
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1617
|
+
F: __dxlog_file5,
|
|
1618
|
+
L: 230,
|
|
1619
|
+
S: this,
|
|
1620
|
+
C: (f, a) => f(...a)
|
|
1614
1621
|
});
|
|
1615
1622
|
setState({
|
|
1616
1623
|
state: import_services3.Invitation.State.TIMEOUT
|
|
1617
1624
|
});
|
|
1618
1625
|
} else {
|
|
1619
1626
|
import_log5.log.warn("auth failed", err, {
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1627
|
+
F: __dxlog_file5,
|
|
1628
|
+
L: 233,
|
|
1629
|
+
S: this,
|
|
1630
|
+
C: (f, a) => f(...a)
|
|
1624
1631
|
});
|
|
1625
1632
|
stream.error(err);
|
|
1626
1633
|
}
|
|
@@ -1631,10 +1638,10 @@ var InvitationsHandler = class {
|
|
|
1631
1638
|
(0, import_log5.log)("complete", {
|
|
1632
1639
|
...protocol.toJSON()
|
|
1633
1640
|
}, {
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1641
|
+
F: __dxlog_file5,
|
|
1642
|
+
L: 241,
|
|
1643
|
+
S: this,
|
|
1644
|
+
C: (f, a) => f(...a)
|
|
1638
1645
|
});
|
|
1639
1646
|
stream.complete();
|
|
1640
1647
|
});
|
|
@@ -1646,10 +1653,10 @@ var InvitationsHandler = class {
|
|
|
1646
1653
|
(0, import_log5.log)("extension disposed", {
|
|
1647
1654
|
currentState
|
|
1648
1655
|
}, {
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1656
|
+
F: __dxlog_file5,
|
|
1657
|
+
L: 251,
|
|
1658
|
+
S: this,
|
|
1659
|
+
C: (f, a) => f(...a)
|
|
1653
1660
|
});
|
|
1654
1661
|
if (!admitted) {
|
|
1655
1662
|
stream.error(new Error("Remote peer disconnected."));
|
|
@@ -1661,10 +1668,10 @@ var InvitationsHandler = class {
|
|
|
1661
1668
|
import_log5.log.trace("dxos.sdk.invitations-handler.guest.onOpen", import_protocols4.trace.begin({
|
|
1662
1669
|
id: traceId
|
|
1663
1670
|
}), {
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1671
|
+
F: __dxlog_file5,
|
|
1672
|
+
L: 260,
|
|
1673
|
+
S: this,
|
|
1674
|
+
C: (f, a) => f(...a)
|
|
1668
1675
|
});
|
|
1669
1676
|
if (++connectionCount > 1) {
|
|
1670
1677
|
throw new Error(`multiple connections detected: ${connectionCount}`);
|
|
@@ -1673,10 +1680,10 @@ var InvitationsHandler = class {
|
|
|
1673
1680
|
(0, import_log5.log)("connected", {
|
|
1674
1681
|
...protocol.toJSON()
|
|
1675
1682
|
}, {
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1683
|
+
F: __dxlog_file5,
|
|
1684
|
+
L: 268,
|
|
1685
|
+
S: this,
|
|
1686
|
+
C: (f, a) => f(...a)
|
|
1680
1687
|
});
|
|
1681
1688
|
setState({
|
|
1682
1689
|
state: import_services3.Invitation.State.CONNECTED
|
|
@@ -1684,20 +1691,20 @@ var InvitationsHandler = class {
|
|
|
1684
1691
|
(0, import_log5.log)("introduce", {
|
|
1685
1692
|
...protocol.toJSON()
|
|
1686
1693
|
}, {
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1694
|
+
F: __dxlog_file5,
|
|
1695
|
+
L: 272,
|
|
1696
|
+
S: this,
|
|
1697
|
+
C: (f, a) => f(...a)
|
|
1691
1698
|
});
|
|
1692
1699
|
const introductionResponse = await extension.rpc.InvitationHostService.introduce(protocol.createIntroduction());
|
|
1693
1700
|
(0, import_log5.log)("introduce response", {
|
|
1694
1701
|
...protocol.toJSON(),
|
|
1695
1702
|
response: introductionResponse
|
|
1696
1703
|
}, {
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1704
|
+
F: __dxlog_file5,
|
|
1705
|
+
L: 276,
|
|
1706
|
+
S: this,
|
|
1707
|
+
C: (f, a) => f(...a)
|
|
1701
1708
|
});
|
|
1702
1709
|
invitation.authMethod = introductionResponse.authMethod;
|
|
1703
1710
|
if (introductionResponse.spaceKey) {
|
|
@@ -1705,11 +1712,11 @@ var InvitationsHandler = class {
|
|
|
1705
1712
|
}
|
|
1706
1713
|
if (isAuthenticationRequired(invitation)) {
|
|
1707
1714
|
for (let attempt = 1; attempt <= MAX_OTP_ATTEMPTS; attempt++) {
|
|
1708
|
-
(0, import_log5.log)("guest waiting for authentication code...",
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1715
|
+
(0, import_log5.log)("guest waiting for authentication code...", void 0, {
|
|
1716
|
+
F: __dxlog_file5,
|
|
1717
|
+
L: 285,
|
|
1718
|
+
S: this,
|
|
1719
|
+
C: (f, a) => f(...a)
|
|
1713
1720
|
});
|
|
1714
1721
|
setState({
|
|
1715
1722
|
state: import_services3.Invitation.State.READY_FOR_AUTHENTICATION
|
|
@@ -1717,11 +1724,11 @@ var InvitationsHandler = class {
|
|
|
1717
1724
|
const authCode = await authenticated.wait({
|
|
1718
1725
|
timeout
|
|
1719
1726
|
});
|
|
1720
|
-
(0, import_log5.log)("sending authentication request",
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1727
|
+
(0, import_log5.log)("sending authentication request", void 0, {
|
|
1728
|
+
F: __dxlog_file5,
|
|
1729
|
+
L: 289,
|
|
1730
|
+
S: this,
|
|
1731
|
+
C: (f, a) => f(...a)
|
|
1725
1732
|
});
|
|
1726
1733
|
setState({
|
|
1727
1734
|
state: import_services3.Invitation.State.AUTHENTICATING
|
|
@@ -1739,10 +1746,10 @@ var InvitationsHandler = class {
|
|
|
1739
1746
|
(0, import_log5.log)("retrying invalid code", {
|
|
1740
1747
|
attempt
|
|
1741
1748
|
}, {
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1749
|
+
F: __dxlog_file5,
|
|
1750
|
+
L: 300,
|
|
1751
|
+
S: this,
|
|
1752
|
+
C: (f, a) => f(...a)
|
|
1746
1753
|
});
|
|
1747
1754
|
authenticated.reset();
|
|
1748
1755
|
}
|
|
@@ -1756,10 +1763,10 @@ var InvitationsHandler = class {
|
|
|
1756
1763
|
(0, import_log5.log)("request admission", {
|
|
1757
1764
|
...protocol.toJSON()
|
|
1758
1765
|
}, {
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1766
|
+
F: __dxlog_file5,
|
|
1767
|
+
L: 311,
|
|
1768
|
+
S: this,
|
|
1769
|
+
C: (f, a) => f(...a)
|
|
1763
1770
|
});
|
|
1764
1771
|
const admissionRequest = await protocol.createAdmissionRequest();
|
|
1765
1772
|
const admissionResponse = await extension.rpc.InvitationHostService.admit(admissionRequest);
|
|
@@ -1768,10 +1775,10 @@ var InvitationsHandler = class {
|
|
|
1768
1775
|
(0, import_log5.log)("admitted by host", {
|
|
1769
1776
|
...protocol.toJSON()
|
|
1770
1777
|
}, {
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1778
|
+
F: __dxlog_file5,
|
|
1779
|
+
L: 322,
|
|
1780
|
+
S: this,
|
|
1781
|
+
C: (f, a) => f(...a)
|
|
1775
1782
|
});
|
|
1776
1783
|
setState({
|
|
1777
1784
|
...result,
|
|
@@ -1780,30 +1787,30 @@ var InvitationsHandler = class {
|
|
|
1780
1787
|
import_log5.log.trace("dxos.sdk.invitations-handler.guest.onOpen", import_protocols4.trace.end({
|
|
1781
1788
|
id: traceId
|
|
1782
1789
|
}), {
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1790
|
+
F: __dxlog_file5,
|
|
1791
|
+
L: 324,
|
|
1792
|
+
S: this,
|
|
1793
|
+
C: (f, a) => f(...a)
|
|
1787
1794
|
});
|
|
1788
1795
|
} catch (err) {
|
|
1789
1796
|
if (err instanceof import_async8.TimeoutError) {
|
|
1790
1797
|
(0, import_log5.log)("timeout", {
|
|
1791
1798
|
...protocol.toJSON()
|
|
1792
1799
|
}, {
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1800
|
+
F: __dxlog_file5,
|
|
1801
|
+
L: 327,
|
|
1802
|
+
S: this,
|
|
1803
|
+
C: (f, a) => f(...a)
|
|
1797
1804
|
});
|
|
1798
1805
|
setState({
|
|
1799
1806
|
state: import_services3.Invitation.State.TIMEOUT
|
|
1800
1807
|
});
|
|
1801
1808
|
} else {
|
|
1802
1809
|
(0, import_log5.log)("auth failed", err, {
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1810
|
+
F: __dxlog_file5,
|
|
1811
|
+
L: 330,
|
|
1812
|
+
S: this,
|
|
1813
|
+
C: (f, a) => f(...a)
|
|
1807
1814
|
});
|
|
1808
1815
|
stream.error(err);
|
|
1809
1816
|
}
|
|
@@ -1811,10 +1818,10 @@ var InvitationsHandler = class {
|
|
|
1811
1818
|
id: traceId,
|
|
1812
1819
|
error: err
|
|
1813
1820
|
}), {
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1821
|
+
F: __dxlog_file5,
|
|
1822
|
+
L: 333,
|
|
1823
|
+
S: this,
|
|
1824
|
+
C: (f, a) => f(...a)
|
|
1818
1825
|
});
|
|
1819
1826
|
} finally {
|
|
1820
1827
|
await ctx.dispose();
|
|
@@ -1829,20 +1836,20 @@ var InvitationsHandler = class {
|
|
|
1829
1836
|
(0, import_log5.log)("timeout", {
|
|
1830
1837
|
...protocol.toJSON()
|
|
1831
1838
|
}, {
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1839
|
+
F: __dxlog_file5,
|
|
1840
|
+
L: 344,
|
|
1841
|
+
S: this,
|
|
1842
|
+
C: (f, a) => f(...a)
|
|
1836
1843
|
});
|
|
1837
1844
|
setState({
|
|
1838
1845
|
state: import_services3.Invitation.State.TIMEOUT
|
|
1839
1846
|
});
|
|
1840
1847
|
} else {
|
|
1841
1848
|
(0, import_log5.log)("auth failed", err, {
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1849
|
+
F: __dxlog_file5,
|
|
1850
|
+
L: 347,
|
|
1851
|
+
S: this,
|
|
1852
|
+
C: (f, a) => f(...a)
|
|
1846
1853
|
});
|
|
1847
1854
|
stream.error(err);
|
|
1848
1855
|
}
|
|
@@ -1851,7 +1858,7 @@ var InvitationsHandler = class {
|
|
|
1851
1858
|
return extension;
|
|
1852
1859
|
};
|
|
1853
1860
|
(0, import_async8.scheduleTask)(ctx, async () => {
|
|
1854
|
-
(0,
|
|
1861
|
+
(0, import_tiny_invariant6.default)(invitation.swarmKey);
|
|
1855
1862
|
const topic = invitation.swarmKey;
|
|
1856
1863
|
const swarmConnection = await this._networkManager.joinSwarm({
|
|
1857
1864
|
topic,
|
|
@@ -1884,11 +1891,12 @@ var InvitationsHandler = class {
|
|
|
1884
1891
|
};
|
|
1885
1892
|
|
|
1886
1893
|
// packages/sdk/client-services/src/packlets/invitations/invitations-service.ts
|
|
1887
|
-
var
|
|
1894
|
+
var import_tiny_invariant7 = __toESM(require("tiny-invariant"));
|
|
1888
1895
|
var import_async9 = require("@dxos/async");
|
|
1889
1896
|
var import_codec_protobuf8 = require("@dxos/codec-protobuf");
|
|
1890
1897
|
var import_log6 = require("@dxos/log");
|
|
1891
1898
|
var import_services4 = require("@dxos/protocols/proto/dxos/client/services");
|
|
1899
|
+
var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/invitations/invitations-service.ts";
|
|
1892
1900
|
var InvitationsServiceImpl = class {
|
|
1893
1901
|
constructor(_invitationsHandler, _getHandler) {
|
|
1894
1902
|
this._invitationsHandler = _invitationsHandler;
|
|
@@ -1949,35 +1957,35 @@ var InvitationsServiceImpl = class {
|
|
|
1949
1957
|
});
|
|
1950
1958
|
}
|
|
1951
1959
|
async authenticate({ invitationId, authCode }) {
|
|
1952
|
-
(0, import_log6.log)("authenticating...",
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1960
|
+
(0, import_log6.log)("authenticating...", void 0, {
|
|
1961
|
+
F: __dxlog_file6,
|
|
1962
|
+
L: 103,
|
|
1963
|
+
S: this,
|
|
1964
|
+
C: (f, a) => f(...a)
|
|
1957
1965
|
});
|
|
1958
|
-
(0,
|
|
1966
|
+
(0, import_tiny_invariant7.default)(invitationId);
|
|
1959
1967
|
const observable = this._acceptInvitations.get(invitationId);
|
|
1960
1968
|
if (!observable) {
|
|
1961
1969
|
import_log6.log.warn("invalid invitation", {
|
|
1962
1970
|
invitationId
|
|
1963
1971
|
}, {
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1972
|
+
F: __dxlog_file6,
|
|
1973
|
+
L: 107,
|
|
1974
|
+
S: this,
|
|
1975
|
+
C: (f, a) => f(...a)
|
|
1968
1976
|
});
|
|
1969
1977
|
} else {
|
|
1970
1978
|
await observable.authenticate(authCode);
|
|
1971
1979
|
}
|
|
1972
1980
|
}
|
|
1973
1981
|
async cancelInvitation({ invitationId }) {
|
|
1974
|
-
(0, import_log6.log)("deleting...",
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1982
|
+
(0, import_log6.log)("deleting...", void 0, {
|
|
1983
|
+
F: __dxlog_file6,
|
|
1984
|
+
L: 114,
|
|
1985
|
+
S: this,
|
|
1986
|
+
C: (f, a) => f(...a)
|
|
1979
1987
|
});
|
|
1980
|
-
(0,
|
|
1988
|
+
(0, import_tiny_invariant7.default)(invitationId);
|
|
1981
1989
|
const created = this._createInvitations.get(invitationId);
|
|
1982
1990
|
const accepted = this._acceptInvitations.get(invitationId);
|
|
1983
1991
|
if (created) {
|
|
@@ -1992,10 +2000,10 @@ var InvitationsServiceImpl = class {
|
|
|
1992
2000
|
import_log6.log.warn("invalid invitation", {
|
|
1993
2001
|
invitationId
|
|
1994
2002
|
}, {
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
2003
|
+
F: __dxlog_file6,
|
|
2004
|
+
L: 127,
|
|
2005
|
+
S: this,
|
|
2006
|
+
C: (f, a) => f(...a)
|
|
1999
2007
|
});
|
|
2000
2008
|
}
|
|
2001
2009
|
}
|
|
@@ -2052,11 +2060,12 @@ var InvitationsServiceImpl = class {
|
|
|
2052
2060
|
};
|
|
2053
2061
|
|
|
2054
2062
|
// packages/sdk/client-services/src/packlets/invitations/space-invitation-protocol.ts
|
|
2055
|
-
var
|
|
2063
|
+
var import_tiny_invariant8 = __toESM(require("tiny-invariant"));
|
|
2056
2064
|
var import_credentials8 = require("@dxos/credentials");
|
|
2057
2065
|
var import_feed_store3 = require("@dxos/feed-store");
|
|
2058
2066
|
var import_log7 = require("@dxos/log");
|
|
2059
2067
|
var import_services5 = require("@dxos/protocols/proto/dxos/client/services");
|
|
2068
|
+
var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/invitations/space-invitation-protocol.ts";
|
|
2060
2069
|
var SpaceInvitationProtocol = class {
|
|
2061
2070
|
constructor(_spaceManager, _signingContext, _keyring, _spaceKey) {
|
|
2062
2071
|
this._spaceManager = _spaceManager;
|
|
@@ -2078,24 +2087,24 @@ var SpaceInvitationProtocol = class {
|
|
|
2078
2087
|
}
|
|
2079
2088
|
async admit(request, guestProfile) {
|
|
2080
2089
|
var _a;
|
|
2081
|
-
(0,
|
|
2090
|
+
(0, import_tiny_invariant8.default)(this._spaceKey);
|
|
2082
2091
|
const space = await this._spaceManager.spaces.get(this._spaceKey);
|
|
2083
|
-
(0,
|
|
2084
|
-
(0,
|
|
2092
|
+
(0, import_tiny_invariant8.default)(space);
|
|
2093
|
+
(0, import_tiny_invariant8.default)(request.space);
|
|
2085
2094
|
const { identityKey, deviceKey } = request.space;
|
|
2086
2095
|
(0, import_log7.log)("writing guest credentials", {
|
|
2087
2096
|
host: this._signingContext.deviceKey,
|
|
2088
2097
|
guest: deviceKey
|
|
2089
2098
|
}, {
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2099
|
+
F: __dxlog_file7,
|
|
2100
|
+
L: 50,
|
|
2101
|
+
S: this,
|
|
2102
|
+
C: (f, a) => f(...a)
|
|
2094
2103
|
});
|
|
2095
2104
|
const credentials = await (0, import_credentials8.createAdmissionCredentials)(this._signingContext.credentialSigner, identityKey, space.key, space.inner.genesisFeedKey, guestProfile);
|
|
2096
|
-
(0,
|
|
2105
|
+
(0, import_tiny_invariant8.default)(credentials[0].credential);
|
|
2097
2106
|
const spaceMemberCredential = credentials[0].credential.credential;
|
|
2098
|
-
(0,
|
|
2107
|
+
(0, import_tiny_invariant8.default)((0, import_credentials8.getCredentialAssertion)(spaceMemberCredential)["@type"] === "dxos.halo.credentials.SpaceMember");
|
|
2099
2108
|
await (0, import_feed_store3.writeMessages)(space.inner.controlPipeline.writer, credentials);
|
|
2100
2109
|
return {
|
|
2101
2110
|
space: {
|
|
@@ -2123,11 +2132,11 @@ var SpaceInvitationProtocol = class {
|
|
|
2123
2132
|
};
|
|
2124
2133
|
}
|
|
2125
2134
|
async accept(response) {
|
|
2126
|
-
(0,
|
|
2135
|
+
(0, import_tiny_invariant8.default)(response.space);
|
|
2127
2136
|
const { credential, controlTimeframe, dataTimeframe } = response.space;
|
|
2128
2137
|
const assertion = (0, import_credentials8.getCredentialAssertion)(credential);
|
|
2129
|
-
(0,
|
|
2130
|
-
(0,
|
|
2138
|
+
(0, import_tiny_invariant8.default)(assertion["@type"] === "dxos.halo.credentials.SpaceMember", "Invalid credential");
|
|
2139
|
+
(0, import_tiny_invariant8.default)(credential.subject.id.equals(this._signingContext.identityKey));
|
|
2131
2140
|
await this._spaceManager.acceptSpace({
|
|
2132
2141
|
spaceKey: assertion.spaceKey,
|
|
2133
2142
|
genesisFeedKey: assertion.genesisFeedKey,
|
|
@@ -2141,11 +2150,64 @@ var SpaceInvitationProtocol = class {
|
|
|
2141
2150
|
}
|
|
2142
2151
|
};
|
|
2143
2152
|
|
|
2153
|
+
// packages/sdk/client-services/src/packlets/services/client-rpc-server.ts
|
|
2154
|
+
var import_codec_protobuf9 = require("@dxos/codec-protobuf");
|
|
2155
|
+
var import_debug3 = require("@dxos/debug");
|
|
2156
|
+
var import_rpc = require("@dxos/rpc");
|
|
2157
|
+
var ClientRpcServer = class {
|
|
2158
|
+
constructor(params) {
|
|
2159
|
+
this._handlerCache = /* @__PURE__ */ new Map();
|
|
2160
|
+
const { serviceRegistry, handleCall, handleStream, ...rpcOptions } = params;
|
|
2161
|
+
this._handleCall = handleCall;
|
|
2162
|
+
this._handleStream = handleStream;
|
|
2163
|
+
this._serviceRegistry = serviceRegistry;
|
|
2164
|
+
this._rpcPeer = new import_rpc.RpcPeer({
|
|
2165
|
+
...rpcOptions,
|
|
2166
|
+
callHandler: (method, params2) => {
|
|
2167
|
+
const [serviceName, methodName] = (0, import_rpc.parseMethodName)(method);
|
|
2168
|
+
const handler = (method2, params3) => this._getServiceHandler(serviceName).call(method2, params3);
|
|
2169
|
+
if (this._handleCall) {
|
|
2170
|
+
return this._handleCall(methodName, params2, handler);
|
|
2171
|
+
} else {
|
|
2172
|
+
return handler(methodName, params2);
|
|
2173
|
+
}
|
|
2174
|
+
},
|
|
2175
|
+
streamHandler: (method, params2) => {
|
|
2176
|
+
const [serviceName, methodName] = (0, import_rpc.parseMethodName)(method);
|
|
2177
|
+
const handler = (method2, params3) => this._getServiceHandler(serviceName).callStream(method2, params3);
|
|
2178
|
+
if (this._handleStream) {
|
|
2179
|
+
return import_codec_protobuf9.Stream.unwrapPromise(this._handleStream(methodName, params2, handler));
|
|
2180
|
+
} else {
|
|
2181
|
+
return handler(methodName, params2);
|
|
2182
|
+
}
|
|
2183
|
+
}
|
|
2184
|
+
});
|
|
2185
|
+
}
|
|
2186
|
+
async open() {
|
|
2187
|
+
await this._rpcPeer.open();
|
|
2188
|
+
}
|
|
2189
|
+
async close() {
|
|
2190
|
+
await this._rpcPeer.close();
|
|
2191
|
+
}
|
|
2192
|
+
_getServiceHandler(serviceName) {
|
|
2193
|
+
var _a;
|
|
2194
|
+
if (!this._handlerCache.has(serviceName)) {
|
|
2195
|
+
const [key, descriptor] = (_a = Object.entries(this._serviceRegistry.descriptors).find(([key2, descriptor2]) => descriptor2.name === serviceName)) != null ? _a : (0, import_debug3.raise)(new Error(`Service not available: ${serviceName}`));
|
|
2196
|
+
const service = this._serviceRegistry.services[key];
|
|
2197
|
+
if (!service) {
|
|
2198
|
+
throw new Error(`Service not available: ${serviceName}`);
|
|
2199
|
+
}
|
|
2200
|
+
this._handlerCache.set(serviceName, descriptor.createServer(service));
|
|
2201
|
+
}
|
|
2202
|
+
return this._handlerCache.get(serviceName);
|
|
2203
|
+
}
|
|
2204
|
+
};
|
|
2205
|
+
|
|
2144
2206
|
// packages/sdk/client-services/src/packlets/services/service-context.ts
|
|
2145
|
-
var
|
|
2207
|
+
var import_tiny_invariant11 = __toESM(require("tiny-invariant"));
|
|
2146
2208
|
var import_async14 = require("@dxos/async");
|
|
2147
2209
|
var import_credentials13 = require("@dxos/credentials");
|
|
2148
|
-
var
|
|
2210
|
+
var import_debug7 = require("@dxos/debug");
|
|
2149
2211
|
var import_echo_pipeline3 = require("@dxos/echo-pipeline");
|
|
2150
2212
|
var import_feed_store4 = require("@dxos/feed-store");
|
|
2151
2213
|
var import_keyring = require("@dxos/keyring");
|
|
@@ -2156,7 +2218,7 @@ var import_services9 = require("@dxos/protocols/proto/dxos/client/services");
|
|
|
2156
2218
|
var import_teleport_extension_object_sync = require("@dxos/teleport-extension-object-sync");
|
|
2157
2219
|
|
|
2158
2220
|
// packages/sdk/client-services/src/packlets/spaces/data-space-manager.ts
|
|
2159
|
-
var
|
|
2221
|
+
var import_tiny_invariant10 = __toESM(require("tiny-invariant"));
|
|
2160
2222
|
var import_async12 = require("@dxos/async");
|
|
2161
2223
|
var import_context7 = require("@dxos/context");
|
|
2162
2224
|
var import_credentials12 = require("@dxos/credentials");
|
|
@@ -2171,7 +2233,7 @@ var import_util5 = require("@dxos/util");
|
|
|
2171
2233
|
var import_async11 = require("@dxos/async");
|
|
2172
2234
|
var import_client_protocol3 = require("@dxos/client-protocol");
|
|
2173
2235
|
var import_context6 = require("@dxos/context");
|
|
2174
|
-
var
|
|
2236
|
+
var import_debug4 = require("@dxos/debug");
|
|
2175
2237
|
var import_echo_pipeline = require("@dxos/echo-pipeline");
|
|
2176
2238
|
var import_errors3 = require("@dxos/errors");
|
|
2177
2239
|
var import_keys8 = require("@dxos/keys");
|
|
@@ -2182,7 +2244,7 @@ var import_timeframe = require("@dxos/timeframe");
|
|
|
2182
2244
|
var import_util4 = require("@dxos/util");
|
|
2183
2245
|
|
|
2184
2246
|
// packages/sdk/client-services/src/packlets/spaces/notarization-plugin.ts
|
|
2185
|
-
var
|
|
2247
|
+
var import_tiny_invariant9 = __toESM(require("tiny-invariant"));
|
|
2186
2248
|
var import_async10 = require("@dxos/async");
|
|
2187
2249
|
var import_context5 = require("@dxos/context");
|
|
2188
2250
|
var import_keys7 = require("@dxos/keys");
|
|
@@ -2190,6 +2252,7 @@ var import_log8 = require("@dxos/log");
|
|
|
2190
2252
|
var import_protocols5 = require("@dxos/protocols");
|
|
2191
2253
|
var import_teleport2 = require("@dxos/teleport");
|
|
2192
2254
|
var import_util3 = require("@dxos/util");
|
|
2255
|
+
var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/spaces/notarization-plugin.ts";
|
|
2193
2256
|
var DEFAULT_RETRY_TIMEOUT = 1e3;
|
|
2194
2257
|
var DEFAULT_SUCCESS_DELAY = 1e3;
|
|
2195
2258
|
var DEFAULT_NOTARIZE_TIMEOUT = 1e4;
|
|
@@ -2202,6 +2265,9 @@ var NotarizationPlugin = class {
|
|
|
2202
2265
|
this._processedCredentials = new import_util3.ComplexSet(import_keys7.PublicKey.hash);
|
|
2203
2266
|
this._processCredentialsTriggers = new import_util3.ComplexMap(import_keys7.PublicKey.hash);
|
|
2204
2267
|
}
|
|
2268
|
+
get hasWriter() {
|
|
2269
|
+
return !!this._writer;
|
|
2270
|
+
}
|
|
2205
2271
|
async open() {
|
|
2206
2272
|
}
|
|
2207
2273
|
async close() {
|
|
@@ -2214,22 +2280,22 @@ var NotarizationPlugin = class {
|
|
|
2214
2280
|
(0, import_log8.log)("notarize", {
|
|
2215
2281
|
credentials
|
|
2216
2282
|
}, {
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2283
|
+
F: __dxlog_file8,
|
|
2284
|
+
L: 91,
|
|
2285
|
+
S: this,
|
|
2286
|
+
C: (f, a) => f(...a)
|
|
2221
2287
|
});
|
|
2222
|
-
(0,
|
|
2288
|
+
(0, import_tiny_invariant9.default)(credentials.every((credential) => credential.id), "Credentials must have an id");
|
|
2223
2289
|
const errors = new import_async10.Trigger();
|
|
2224
2290
|
const ctx = this._ctx.derive({
|
|
2225
2291
|
onError: (err) => {
|
|
2226
2292
|
import_log8.log.warn("Notarization error", {
|
|
2227
2293
|
err
|
|
2228
2294
|
}, {
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2295
|
+
F: __dxlog_file8,
|
|
2296
|
+
L: 100,
|
|
2297
|
+
S: this,
|
|
2298
|
+
C: (f, a) => f(...a)
|
|
2233
2299
|
});
|
|
2234
2300
|
void ctx.dispose();
|
|
2235
2301
|
errors.throw(err);
|
|
@@ -2242,10 +2308,10 @@ var NotarizationPlugin = class {
|
|
|
2242
2308
|
timeout,
|
|
2243
2309
|
peers: Array.from(this._extensions).map((extension) => extension.remotePeerId)
|
|
2244
2310
|
}, {
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2311
|
+
F: __dxlog_file8,
|
|
2312
|
+
L: 112,
|
|
2313
|
+
S: this,
|
|
2314
|
+
C: (f, a) => f(...a)
|
|
2249
2315
|
});
|
|
2250
2316
|
void ctx.dispose();
|
|
2251
2317
|
errors.throw(new import_async10.TimeoutError(timeout, "Notarization timed out"));
|
|
@@ -2265,10 +2331,10 @@ var NotarizationPlugin = class {
|
|
|
2265
2331
|
import_log8.log.warn("Exhausted all peers to notarize with", {
|
|
2266
2332
|
retryIn: retryTimeout
|
|
2267
2333
|
}, {
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
|
|
2271
|
-
|
|
2334
|
+
F: __dxlog_file8,
|
|
2335
|
+
L: 137,
|
|
2336
|
+
S: this,
|
|
2337
|
+
C: (f, a) => f(...a)
|
|
2272
2338
|
});
|
|
2273
2339
|
peersTried.clear();
|
|
2274
2340
|
(0, import_async10.scheduleTask)(ctx, () => notarizeTask.schedule(), retryTimeout);
|
|
@@ -2279,28 +2345,28 @@ var NotarizationPlugin = class {
|
|
|
2279
2345
|
peer: peer.localPeerId,
|
|
2280
2346
|
credentialId: credentials.map((credential) => credential.id)
|
|
2281
2347
|
}, {
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2348
|
+
F: __dxlog_file8,
|
|
2349
|
+
L: 144,
|
|
2350
|
+
S: this,
|
|
2351
|
+
C: (f, a) => f(...a)
|
|
2286
2352
|
});
|
|
2287
2353
|
await peer.rpc.NotarizationService.notarize({
|
|
2288
2354
|
credentials: credentials.filter((credential) => !this._processedCredentials.has(credential.id))
|
|
2289
2355
|
});
|
|
2290
|
-
(0, import_log8.log)("success",
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2356
|
+
(0, import_log8.log)("success", void 0, {
|
|
2357
|
+
F: __dxlog_file8,
|
|
2358
|
+
L: 148,
|
|
2359
|
+
S: this,
|
|
2360
|
+
C: (f, a) => f(...a)
|
|
2295
2361
|
});
|
|
2296
2362
|
await (0, import_async10.sleep)(successDelay);
|
|
2297
2363
|
} catch (err) {
|
|
2298
2364
|
if (!ctx.disposed && !err.message.includes(WRITER_NOT_SET_ERROR_CODE)) {
|
|
2299
2365
|
import_log8.log.warn("error notarizing (recoverable)", err, {
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2366
|
+
F: __dxlog_file8,
|
|
2367
|
+
L: 152,
|
|
2368
|
+
S: this,
|
|
2369
|
+
C: (f, a) => f(...a)
|
|
2304
2370
|
});
|
|
2305
2371
|
}
|
|
2306
2372
|
notarizeTask.schedule();
|
|
@@ -2314,11 +2380,11 @@ var NotarizationPlugin = class {
|
|
|
2314
2380
|
allNotarized,
|
|
2315
2381
|
errors.wait()
|
|
2316
2382
|
]);
|
|
2317
|
-
(0, import_log8.log)("done",
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2383
|
+
(0, import_log8.log)("done", void 0, {
|
|
2384
|
+
F: __dxlog_file8,
|
|
2385
|
+
L: 163,
|
|
2386
|
+
S: this,
|
|
2387
|
+
C: (f, a) => f(...a)
|
|
2322
2388
|
});
|
|
2323
2389
|
} finally {
|
|
2324
2390
|
await ctx.dispose();
|
|
@@ -2327,7 +2393,7 @@ var NotarizationPlugin = class {
|
|
|
2327
2393
|
/**
|
|
2328
2394
|
* Called with credentials arriving from the control pipeline.
|
|
2329
2395
|
*/
|
|
2330
|
-
async
|
|
2396
|
+
async processCredential(credential) {
|
|
2331
2397
|
var _a;
|
|
2332
2398
|
if (!credential.id) {
|
|
2333
2399
|
return;
|
|
@@ -2337,7 +2403,7 @@ var NotarizationPlugin = class {
|
|
|
2337
2403
|
this._processCredentialsTriggers.delete(credential.id);
|
|
2338
2404
|
}
|
|
2339
2405
|
setWriter(writer) {
|
|
2340
|
-
(0,
|
|
2406
|
+
(0, import_tiny_invariant9.default)(!this._writer, "Writer already set.");
|
|
2341
2407
|
this._writer = writer;
|
|
2342
2408
|
}
|
|
2343
2409
|
async _waitUntilProcessed(id) {
|
|
@@ -2355,7 +2421,7 @@ var NotarizationPlugin = class {
|
|
|
2355
2421
|
throw new Error(WRITER_NOT_SET_ERROR_CODE);
|
|
2356
2422
|
}
|
|
2357
2423
|
for (const credential of (_a = request.credentials) != null ? _a : []) {
|
|
2358
|
-
(0,
|
|
2424
|
+
(0, import_tiny_invariant9.default)(credential.id, "Credential must have an id");
|
|
2359
2425
|
if (this._processedCredentials.has(credential.id)) {
|
|
2360
2426
|
continue;
|
|
2361
2427
|
}
|
|
@@ -2368,10 +2434,10 @@ var NotarizationPlugin = class {
|
|
|
2368
2434
|
(0, import_log8.log)("extension opened", {
|
|
2369
2435
|
peer: extension.localPeerId
|
|
2370
2436
|
}, {
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2437
|
+
F: __dxlog_file8,
|
|
2438
|
+
L: 212,
|
|
2439
|
+
S: this,
|
|
2440
|
+
C: (f, a) => f(...a)
|
|
2375
2441
|
});
|
|
2376
2442
|
this._extensions.add(extension);
|
|
2377
2443
|
this._extensionOpened.emit();
|
|
@@ -2380,10 +2446,10 @@ var NotarizationPlugin = class {
|
|
|
2380
2446
|
(0, import_log8.log)("extension closed", {
|
|
2381
2447
|
peer: extension.localPeerId
|
|
2382
2448
|
}, {
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2449
|
+
F: __dxlog_file8,
|
|
2450
|
+
L: 217,
|
|
2451
|
+
S: this,
|
|
2452
|
+
C: (f, a) => f(...a)
|
|
2387
2453
|
});
|
|
2388
2454
|
this._extensions.delete(extension);
|
|
2389
2455
|
},
|
|
@@ -2424,7 +2490,7 @@ var NotarizationTeleportExtension = class extends import_teleport2.RpcExtension
|
|
|
2424
2490
|
};
|
|
2425
2491
|
|
|
2426
2492
|
// packages/sdk/client-services/src/packlets/spaces/data-space.ts
|
|
2427
|
-
|
|
2493
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
2428
2494
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2429
2495
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
2430
2496
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -2433,10 +2499,12 @@ var __decorate = function(decorators, target, key, desc) {
|
|
|
2433
2499
|
if (d = decorators[i])
|
|
2434
2500
|
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
2435
2501
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2436
|
-
}
|
|
2502
|
+
}
|
|
2503
|
+
var __dxlog_file9 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/spaces/data-space.ts";
|
|
2437
2504
|
var DataSpace = class DataSpace2 {
|
|
2438
2505
|
constructor(params) {
|
|
2439
2506
|
this._ctx = new import_context6.Context();
|
|
2507
|
+
this._notarizationPlugin = new NotarizationPlugin();
|
|
2440
2508
|
this._state = import_services6.SpaceState.CLOSED;
|
|
2441
2509
|
/**
|
|
2442
2510
|
* Error for _state === SpaceState.ERROR.
|
|
@@ -2459,8 +2527,8 @@ var DataSpace = class DataSpace2 {
|
|
|
2459
2527
|
update: this._inner.stateUpdate,
|
|
2460
2528
|
authTimeout: import_client_protocol3.AUTH_TIMEOUT
|
|
2461
2529
|
});
|
|
2462
|
-
this._notarizationPluginConsumer = this._inner.spaceState.registerProcessor(new NotarizationPlugin());
|
|
2463
2530
|
this._cache = params.cache;
|
|
2531
|
+
this._state = params.initialState;
|
|
2464
2532
|
}
|
|
2465
2533
|
get key() {
|
|
2466
2534
|
return this._inner.key;
|
|
@@ -2482,25 +2550,36 @@ var DataSpace = class DataSpace2 {
|
|
|
2482
2550
|
return this._presence;
|
|
2483
2551
|
}
|
|
2484
2552
|
get notarizationPlugin() {
|
|
2485
|
-
return this.
|
|
2553
|
+
return this._notarizationPlugin;
|
|
2486
2554
|
}
|
|
2487
2555
|
get cache() {
|
|
2488
2556
|
return this._cache;
|
|
2489
2557
|
}
|
|
2490
2558
|
async open() {
|
|
2491
|
-
await this.
|
|
2492
|
-
|
|
2559
|
+
await this._open();
|
|
2560
|
+
}
|
|
2561
|
+
async _open() {
|
|
2562
|
+
await this._notarizationPlugin.open();
|
|
2563
|
+
await this._inner.spaceState.addCredentialProcessor(this._notarizationPlugin);
|
|
2493
2564
|
await this._inner.open();
|
|
2494
|
-
this._state = import_services6.SpaceState.
|
|
2565
|
+
this._state = import_services6.SpaceState.CONTROL_ONLY;
|
|
2566
|
+
this.stateUpdate.emit();
|
|
2567
|
+
this.metrics = {};
|
|
2495
2568
|
this.metrics.open = new Date();
|
|
2496
2569
|
}
|
|
2497
2570
|
async close() {
|
|
2571
|
+
await this._close();
|
|
2572
|
+
}
|
|
2573
|
+
async _close() {
|
|
2574
|
+
var _a, _b;
|
|
2575
|
+
await ((_b = (_a = this._callbacks).beforeClose) == null ? void 0 : _b.call(_a));
|
|
2498
2576
|
this._state = import_services6.SpaceState.CLOSED;
|
|
2499
2577
|
await this._ctx.dispose();
|
|
2578
|
+
this._ctx = new import_context6.Context();
|
|
2500
2579
|
await this.authVerifier.close();
|
|
2501
2580
|
await this._inner.close();
|
|
2502
|
-
await this.
|
|
2503
|
-
await this.
|
|
2581
|
+
await this._inner.spaceState.removeCredentialProcessor(this._notarizationPlugin);
|
|
2582
|
+
await this._notarizationPlugin.close();
|
|
2504
2583
|
await this._presence.destroy();
|
|
2505
2584
|
}
|
|
2506
2585
|
async postMessage(channel, message) {
|
|
@@ -2520,18 +2599,18 @@ var DataSpace = class DataSpace2 {
|
|
|
2520
2599
|
} catch (err) {
|
|
2521
2600
|
if (err instanceof import_errors3.CancelledError) {
|
|
2522
2601
|
(0, import_log9.log)("Data pipeline initialization cancelled", err, {
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2602
|
+
F: __dxlog_file9,
|
|
2603
|
+
L: 193,
|
|
2604
|
+
S: this,
|
|
2605
|
+
C: (f, a) => f(...a)
|
|
2527
2606
|
});
|
|
2528
2607
|
return;
|
|
2529
2608
|
}
|
|
2530
2609
|
import_log9.log.error("Error initializing data pipeline", err, {
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2610
|
+
F: __dxlog_file9,
|
|
2611
|
+
L: 197,
|
|
2612
|
+
S: this,
|
|
2613
|
+
C: (f, a) => f(...a)
|
|
2535
2614
|
});
|
|
2536
2615
|
this._state = import_services6.SpaceState.ERROR;
|
|
2537
2616
|
this.error = err;
|
|
@@ -2543,7 +2622,7 @@ var DataSpace = class DataSpace2 {
|
|
|
2543
2622
|
}
|
|
2544
2623
|
async initializeDataPipeline() {
|
|
2545
2624
|
var _a, _b, _c, _d;
|
|
2546
|
-
if (this._state !== import_services6.SpaceState.
|
|
2625
|
+
if (this._state !== import_services6.SpaceState.CONTROL_ONLY) {
|
|
2547
2626
|
throw new import_errors3.SystemError("Invalid operation");
|
|
2548
2627
|
}
|
|
2549
2628
|
this._state = import_services6.SpaceState.INITIALIZING;
|
|
@@ -2553,37 +2632,39 @@ var DataSpace = class DataSpace2 {
|
|
|
2553
2632
|
});
|
|
2554
2633
|
this.metrics.controlPipelineReady = new Date();
|
|
2555
2634
|
await this._createWritableFeeds();
|
|
2556
|
-
(0, import_log9.log)("Writable feeds created",
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2635
|
+
(0, import_log9.log)("Writable feeds created", void 0, {
|
|
2636
|
+
F: __dxlog_file9,
|
|
2637
|
+
L: 221,
|
|
2638
|
+
S: this,
|
|
2639
|
+
C: (f, a) => f(...a)
|
|
2561
2640
|
});
|
|
2562
2641
|
this.stateUpdate.emit();
|
|
2563
|
-
this.notarizationPlugin.
|
|
2564
|
-
credential
|
|
2565
|
-
credential
|
|
2566
|
-
|
|
2567
|
-
|
|
2642
|
+
if (!this.notarizationPlugin.hasWriter) {
|
|
2643
|
+
this.notarizationPlugin.setWriter((0, import_echo_pipeline.createMappedFeedWriter)((credential) => ({
|
|
2644
|
+
credential: {
|
|
2645
|
+
credential
|
|
2646
|
+
}
|
|
2647
|
+
}), this._inner.controlPipeline.writer));
|
|
2648
|
+
}
|
|
2568
2649
|
await this._inner.initializeDataPipeline();
|
|
2569
2650
|
this.metrics.dataPipelineOpen = new Date();
|
|
2570
2651
|
await (0, import_context6.cancelWithContext)(this._ctx, this._inner.dataPipeline.ensureEpochInitialized());
|
|
2571
|
-
(0, import_log9.log)("waiting for data pipeline to reach target timeframe",
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2652
|
+
(0, import_log9.log)("waiting for data pipeline to reach target timeframe", void 0, {
|
|
2653
|
+
F: __dxlog_file9,
|
|
2654
|
+
L: 242,
|
|
2655
|
+
S: this,
|
|
2656
|
+
C: (f, a) => f(...a)
|
|
2576
2657
|
});
|
|
2577
2658
|
await this._inner.dataPipeline.pipelineState.waitUntilReachedTargetTimeframe({
|
|
2578
2659
|
ctx: this._ctx,
|
|
2579
2660
|
breakOnStall: false
|
|
2580
2661
|
});
|
|
2581
2662
|
this.metrics.dataPipelineReady = new Date();
|
|
2582
|
-
(0, import_log9.log)("data pipeline ready",
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2663
|
+
(0, import_log9.log)("data pipeline ready", void 0, {
|
|
2664
|
+
F: __dxlog_file9,
|
|
2665
|
+
L: 251,
|
|
2666
|
+
S: this,
|
|
2667
|
+
C: (f, a) => f(...a)
|
|
2587
2668
|
});
|
|
2588
2669
|
await ((_b = (_a = this._callbacks).beforeReady) == null ? void 0 : _b.call(_a));
|
|
2589
2670
|
this._state = import_services6.SpaceState.READY;
|
|
@@ -2661,17 +2742,46 @@ var DataSpace = class DataSpace2 {
|
|
|
2661
2742
|
}
|
|
2662
2743
|
}
|
|
2663
2744
|
}
|
|
2745
|
+
async activate() {
|
|
2746
|
+
if (this._state !== import_services6.SpaceState.INACTIVE) {
|
|
2747
|
+
throw new import_errors3.SystemError("Invalid operation");
|
|
2748
|
+
}
|
|
2749
|
+
await this._metadataStore.setSpaceState(this.key, import_services6.SpaceState.ACTIVE);
|
|
2750
|
+
await this._open();
|
|
2751
|
+
this.initializeDataPipelineAsync();
|
|
2752
|
+
}
|
|
2753
|
+
async deactivate() {
|
|
2754
|
+
if (this._state === import_services6.SpaceState.INACTIVE) {
|
|
2755
|
+
throw new import_errors3.SystemError("Invalid operation");
|
|
2756
|
+
}
|
|
2757
|
+
await this._metadataStore.setSpaceState(this.key, import_services6.SpaceState.INACTIVE);
|
|
2758
|
+
await this._close();
|
|
2759
|
+
this._state = import_services6.SpaceState.INACTIVE;
|
|
2760
|
+
this.stateUpdate.emit();
|
|
2761
|
+
}
|
|
2664
2762
|
};
|
|
2665
|
-
|
|
2666
|
-
|
|
2763
|
+
_ts_decorate([
|
|
2764
|
+
import_async11.synchronized
|
|
2765
|
+
], DataSpace.prototype, "open", null);
|
|
2766
|
+
_ts_decorate([
|
|
2767
|
+
import_async11.synchronized
|
|
2768
|
+
], DataSpace.prototype, "close", null);
|
|
2769
|
+
_ts_decorate([
|
|
2770
|
+
(0, import_debug4.timed)(1e4)
|
|
2667
2771
|
], DataSpace.prototype, "_createWritableFeeds", null);
|
|
2668
|
-
|
|
2772
|
+
_ts_decorate([
|
|
2773
|
+
import_async11.synchronized
|
|
2774
|
+
], DataSpace.prototype, "activate", null);
|
|
2775
|
+
_ts_decorate([
|
|
2776
|
+
import_async11.synchronized
|
|
2777
|
+
], DataSpace.prototype, "deactivate", null);
|
|
2778
|
+
DataSpace = _ts_decorate([
|
|
2669
2779
|
(0, import_async11.trackLeaks)("open", "close")
|
|
2670
2780
|
], DataSpace);
|
|
2671
2781
|
|
|
2672
2782
|
// packages/sdk/client-services/src/packlets/spaces/genesis.ts
|
|
2673
2783
|
var import_credentials10 = require("@dxos/credentials");
|
|
2674
|
-
var
|
|
2784
|
+
var import_debug5 = require("@dxos/debug");
|
|
2675
2785
|
var import_credentials11 = require("@dxos/protocols/proto/dxos/halo/credentials");
|
|
2676
2786
|
var import_timeframe2 = require("@dxos/timeframe");
|
|
2677
2787
|
var spaceGenesis = async (keyring, signingContext, space) => {
|
|
@@ -2695,11 +2805,11 @@ var spaceGenesis = async (keyring, signingContext, space) => {
|
|
|
2695
2805
|
spaceKey: space.key,
|
|
2696
2806
|
role: import_credentials11.SpaceMember.Role.ADMIN,
|
|
2697
2807
|
profile: signingContext.profile,
|
|
2698
|
-
genesisFeedKey: (_a = space.controlFeedKey) != null ? _a : (0,
|
|
2808
|
+
genesisFeedKey: (_a = space.controlFeedKey) != null ? _a : (0, import_debug5.failUndefined)()
|
|
2699
2809
|
}
|
|
2700
2810
|
}),
|
|
2701
2811
|
await signingContext.credentialSigner.createCredential({
|
|
2702
|
-
subject: (_b = space.controlFeedKey) != null ? _b : (0,
|
|
2812
|
+
subject: (_b = space.controlFeedKey) != null ? _b : (0, import_debug5.failUndefined)(),
|
|
2703
2813
|
assertion: {
|
|
2704
2814
|
"@type": "dxos.halo.credentials.AdmittedFeed",
|
|
2705
2815
|
spaceKey: space.key,
|
|
@@ -2709,7 +2819,7 @@ var spaceGenesis = async (keyring, signingContext, space) => {
|
|
|
2709
2819
|
}
|
|
2710
2820
|
}),
|
|
2711
2821
|
await signingContext.credentialSigner.createCredential({
|
|
2712
|
-
subject: (_c = space.dataFeedKey) != null ? _c : (0,
|
|
2822
|
+
subject: (_c = space.dataFeedKey) != null ? _c : (0, import_debug5.failUndefined)(),
|
|
2713
2823
|
assertion: {
|
|
2714
2824
|
"@type": "dxos.halo.credentials.AdmittedFeed",
|
|
2715
2825
|
spaceKey: space.key,
|
|
@@ -2719,7 +2829,7 @@ var spaceGenesis = async (keyring, signingContext, space) => {
|
|
|
2719
2829
|
}
|
|
2720
2830
|
}),
|
|
2721
2831
|
await signingContext.credentialSigner.createCredential({
|
|
2722
|
-
subject: (_d = space.key) != null ? _d : (0,
|
|
2832
|
+
subject: (_d = space.key) != null ? _d : (0, import_debug5.failUndefined)(),
|
|
2723
2833
|
assertion: {
|
|
2724
2834
|
"@type": "dxos.halo.credentials.Epoch",
|
|
2725
2835
|
number: 0,
|
|
@@ -2740,7 +2850,7 @@ var spaceGenesis = async (keyring, signingContext, space) => {
|
|
|
2740
2850
|
};
|
|
2741
2851
|
|
|
2742
2852
|
// packages/sdk/client-services/src/packlets/spaces/data-space-manager.ts
|
|
2743
|
-
|
|
2853
|
+
function _ts_decorate2(decorators, target, key, desc) {
|
|
2744
2854
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2745
2855
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
2746
2856
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -2749,7 +2859,8 @@ var __decorate2 = function(decorators, target, key, desc) {
|
|
|
2749
2859
|
if (d = decorators[i])
|
|
2750
2860
|
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
2751
2861
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2752
|
-
}
|
|
2862
|
+
}
|
|
2863
|
+
var __dxlog_file10 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/spaces/data-space-manager.ts";
|
|
2753
2864
|
var DataSpaceManager = class DataSpaceManager2 {
|
|
2754
2865
|
constructor(_spaceManager, _metadataStore, _dataServiceSubscriptions, _keyring, _signingContext, _feedStore) {
|
|
2755
2866
|
this._spaceManager = _spaceManager;
|
|
@@ -2769,50 +2880,52 @@ var DataSpaceManager = class DataSpaceManager2 {
|
|
|
2769
2880
|
return this._spaces;
|
|
2770
2881
|
}
|
|
2771
2882
|
async open() {
|
|
2772
|
-
(0, import_log10.log)("open",
|
|
2773
|
-
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
|
|
2883
|
+
(0, import_log10.log)("open", void 0, {
|
|
2884
|
+
F: __dxlog_file10,
|
|
2885
|
+
L: 80,
|
|
2886
|
+
S: this,
|
|
2887
|
+
C: (f, a) => f(...a)
|
|
2777
2888
|
});
|
|
2778
2889
|
import_log10.log.trace("dxos.echo.data-space-manager.open", import_protocols6.trace.begin({
|
|
2779
2890
|
id: this._instanceId
|
|
2780
2891
|
}), {
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2892
|
+
F: __dxlog_file10,
|
|
2893
|
+
L: 81,
|
|
2894
|
+
S: this,
|
|
2895
|
+
C: (f, a) => f(...a)
|
|
2785
2896
|
});
|
|
2786
2897
|
await this._metadataStore.load();
|
|
2787
2898
|
(0, import_log10.log)("metadata loaded", {
|
|
2788
2899
|
spaces: this._metadataStore.spaces.length
|
|
2789
2900
|
}, {
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2901
|
+
F: __dxlog_file10,
|
|
2902
|
+
L: 83,
|
|
2903
|
+
S: this,
|
|
2904
|
+
C: (f, a) => f(...a)
|
|
2794
2905
|
});
|
|
2795
2906
|
for (const spaceMetadata of this._metadataStore.spaces) {
|
|
2796
2907
|
try {
|
|
2797
2908
|
(0, import_log10.log)("load space", {
|
|
2798
2909
|
spaceMetadata
|
|
2799
2910
|
}, {
|
|
2800
|
-
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2911
|
+
F: __dxlog_file10,
|
|
2912
|
+
L: 87,
|
|
2913
|
+
S: this,
|
|
2914
|
+
C: (f, a) => f(...a)
|
|
2804
2915
|
});
|
|
2805
2916
|
const space = await this._constructSpace(spaceMetadata);
|
|
2806
|
-
|
|
2917
|
+
if (spaceMetadata.state !== import_services7.SpaceState.INACTIVE) {
|
|
2918
|
+
space.initializeDataPipelineAsync();
|
|
2919
|
+
}
|
|
2807
2920
|
} catch (err) {
|
|
2808
2921
|
import_log10.log.error("Error loading space", {
|
|
2809
2922
|
spaceMetadata,
|
|
2810
2923
|
err
|
|
2811
2924
|
}, {
|
|
2812
|
-
|
|
2813
|
-
|
|
2814
|
-
|
|
2815
|
-
|
|
2925
|
+
F: __dxlog_file10,
|
|
2926
|
+
L: 93,
|
|
2927
|
+
S: this,
|
|
2928
|
+
C: (f, a) => f(...a)
|
|
2816
2929
|
});
|
|
2817
2930
|
}
|
|
2818
2931
|
}
|
|
@@ -2821,18 +2934,18 @@ var DataSpaceManager = class DataSpaceManager2 {
|
|
|
2821
2934
|
import_log10.log.trace("dxos.echo.data-space-manager.open", import_protocols6.trace.end({
|
|
2822
2935
|
id: this._instanceId
|
|
2823
2936
|
}), {
|
|
2824
|
-
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
-
|
|
2937
|
+
F: __dxlog_file10,
|
|
2938
|
+
L: 99,
|
|
2939
|
+
S: this,
|
|
2940
|
+
C: (f, a) => f(...a)
|
|
2828
2941
|
});
|
|
2829
2942
|
}
|
|
2830
2943
|
async close() {
|
|
2831
|
-
(0, import_log10.log)("close",
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2944
|
+
(0, import_log10.log)("close", void 0, {
|
|
2945
|
+
F: __dxlog_file10,
|
|
2946
|
+
L: 104,
|
|
2947
|
+
S: this,
|
|
2948
|
+
C: (f, a) => f(...a)
|
|
2836
2949
|
});
|
|
2837
2950
|
this._isOpen = false;
|
|
2838
2951
|
await this._ctx.dispose();
|
|
@@ -2844,7 +2957,7 @@ var DataSpaceManager = class DataSpaceManager2 {
|
|
|
2844
2957
|
* Creates a new space writing the genesis credentials to the control feed.
|
|
2845
2958
|
*/
|
|
2846
2959
|
async createSpace() {
|
|
2847
|
-
(0,
|
|
2960
|
+
(0, import_tiny_invariant10.default)(this._isOpen, "Not open.");
|
|
2848
2961
|
const spaceKey = await this._keyring.createKey();
|
|
2849
2962
|
const controlFeedKey = await this._keyring.createKey();
|
|
2850
2963
|
const dataFeedKey = await this._keyring.createKey();
|
|
@@ -2852,21 +2965,22 @@ var DataSpaceManager = class DataSpaceManager2 {
|
|
|
2852
2965
|
key: spaceKey,
|
|
2853
2966
|
genesisFeedKey: controlFeedKey,
|
|
2854
2967
|
controlFeedKey,
|
|
2855
|
-
dataFeedKey
|
|
2968
|
+
dataFeedKey,
|
|
2969
|
+
state: import_services7.SpaceState.ACTIVE
|
|
2856
2970
|
};
|
|
2857
2971
|
(0, import_log10.log)("creating space...", {
|
|
2858
2972
|
spaceKey
|
|
2859
2973
|
}, {
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
|
|
2974
|
+
F: __dxlog_file10,
|
|
2975
|
+
L: 129,
|
|
2976
|
+
S: this,
|
|
2977
|
+
C: (f, a) => f(...a)
|
|
2864
2978
|
});
|
|
2865
2979
|
const space = await this._constructSpace(metadata);
|
|
2866
2980
|
const credentials = await spaceGenesis(this._keyring, this._signingContext, space.inner);
|
|
2867
2981
|
await this._metadataStore.addSpace(metadata);
|
|
2868
2982
|
const memberCredential = credentials[1];
|
|
2869
|
-
(0,
|
|
2983
|
+
(0, import_tiny_invariant10.default)((0, import_credentials12.getCredentialAssertion)(memberCredential)["@type"] === "dxos.halo.credentials.SpaceMember");
|
|
2870
2984
|
await this._signingContext.recordCredential(memberCredential);
|
|
2871
2985
|
await space.initializeDataPipeline();
|
|
2872
2986
|
this.updated.emit();
|
|
@@ -2877,13 +2991,13 @@ var DataSpaceManager = class DataSpaceManager2 {
|
|
|
2877
2991
|
(0, import_log10.log)("accept space", {
|
|
2878
2992
|
opts
|
|
2879
2993
|
}, {
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2994
|
+
F: __dxlog_file10,
|
|
2995
|
+
L: 148,
|
|
2996
|
+
S: this,
|
|
2997
|
+
C: (f, a) => f(...a)
|
|
2884
2998
|
});
|
|
2885
|
-
(0,
|
|
2886
|
-
(0,
|
|
2999
|
+
(0, import_tiny_invariant10.default)(this._isOpen, "Not open.");
|
|
3000
|
+
(0, import_tiny_invariant10.default)(!this._spaces.has(opts.spaceKey), "Space already exists.");
|
|
2887
3001
|
const metadata = {
|
|
2888
3002
|
key: opts.spaceKey,
|
|
2889
3003
|
genesisFeedKey: opts.genesisFeedKey,
|
|
@@ -2911,10 +3025,10 @@ var DataSpaceManager = class DataSpaceManager2 {
|
|
|
2911
3025
|
(0, import_log10.log)("construct space", {
|
|
2912
3026
|
metadata
|
|
2913
3027
|
}, {
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
3028
|
+
F: __dxlog_file10,
|
|
3029
|
+
L: 183,
|
|
3030
|
+
S: this,
|
|
3031
|
+
C: (f, a) => f(...a)
|
|
2918
3032
|
});
|
|
2919
3033
|
const gossip = new import_teleport_extension_gossip.Gossip({
|
|
2920
3034
|
localPeerId: this._signingContext.deviceKey
|
|
@@ -2946,11 +3060,11 @@ var DataSpaceManager = class DataSpaceManager2 {
|
|
|
2946
3060
|
session.addExtension("dxos.mesh.teleport.notarization", dataSpace.notarizationPlugin.createExtension());
|
|
2947
3061
|
},
|
|
2948
3062
|
onAuthFailure: () => {
|
|
2949
|
-
import_log10.log.warn("auth failure",
|
|
2950
|
-
|
|
2951
|
-
|
|
2952
|
-
|
|
2953
|
-
|
|
3063
|
+
import_log10.log.warn("auth failure", void 0, {
|
|
3064
|
+
F: __dxlog_file10,
|
|
3065
|
+
L: 214,
|
|
3066
|
+
S: this,
|
|
3067
|
+
C: (f, a) => f(...a)
|
|
2954
3068
|
});
|
|
2955
3069
|
},
|
|
2956
3070
|
memberKey: this._signingContext.identityKey
|
|
@@ -2959,6 +3073,7 @@ var DataSpaceManager = class DataSpaceManager2 {
|
|
|
2959
3073
|
dataFeed && space.setDataFeed(dataFeed);
|
|
2960
3074
|
const dataSpace = new DataSpace({
|
|
2961
3075
|
inner: space,
|
|
3076
|
+
initialState: metadata.state === import_services7.SpaceState.INACTIVE ? import_services7.SpaceState.INACTIVE : import_services7.SpaceState.CLOSED,
|
|
2962
3077
|
metadataStore: this._metadataStore,
|
|
2963
3078
|
gossip,
|
|
2964
3079
|
presence,
|
|
@@ -2970,31 +3085,44 @@ var DataSpaceManager = class DataSpaceManager2 {
|
|
|
2970
3085
|
(0, import_log10.log)("before space ready", {
|
|
2971
3086
|
space: space.key
|
|
2972
3087
|
}, {
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
3088
|
+
F: __dxlog_file10,
|
|
3089
|
+
L: 232,
|
|
3090
|
+
S: this,
|
|
3091
|
+
C: (f, a) => f(...a)
|
|
2977
3092
|
});
|
|
2978
|
-
this._dataServiceSubscriptions.registerSpace(space.key, dataSpace.dataPipeline.databaseHost.createDataServiceHost());
|
|
3093
|
+
await this._dataServiceSubscriptions.registerSpace(space.key, dataSpace.dataPipeline.databaseHost.createDataServiceHost());
|
|
2979
3094
|
},
|
|
2980
3095
|
afterReady: async () => {
|
|
2981
3096
|
(0, import_log10.log)("after space ready", {
|
|
2982
3097
|
space: space.key,
|
|
2983
3098
|
open: this._isOpen
|
|
2984
3099
|
}, {
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
3100
|
+
F: __dxlog_file10,
|
|
3101
|
+
L: 239,
|
|
3102
|
+
S: this,
|
|
3103
|
+
C: (f, a) => f(...a)
|
|
2989
3104
|
});
|
|
2990
3105
|
if (this._isOpen) {
|
|
2991
3106
|
this.updated.emit();
|
|
2992
3107
|
}
|
|
3108
|
+
},
|
|
3109
|
+
beforeClose: async () => {
|
|
3110
|
+
(0, import_log10.log)("before space close", {
|
|
3111
|
+
space: space.key
|
|
3112
|
+
}, {
|
|
3113
|
+
F: __dxlog_file10,
|
|
3114
|
+
L: 245,
|
|
3115
|
+
S: this,
|
|
3116
|
+
C: (f, a) => f(...a)
|
|
3117
|
+
});
|
|
3118
|
+
await this._dataServiceSubscriptions.unregisterSpace(space.key);
|
|
2993
3119
|
}
|
|
2994
3120
|
},
|
|
2995
3121
|
cache: metadata.cache
|
|
2996
3122
|
});
|
|
2997
|
-
|
|
3123
|
+
if (metadata.state !== import_services7.SpaceState.INACTIVE) {
|
|
3124
|
+
await dataSpace.open();
|
|
3125
|
+
}
|
|
2998
3126
|
if (metadata.controlTimeframe) {
|
|
2999
3127
|
dataSpace.inner.controlPipeline.state.setTargetTimeframe(metadata.controlTimeframe);
|
|
3000
3128
|
}
|
|
@@ -3005,32 +3133,33 @@ var DataSpaceManager = class DataSpaceManager2 {
|
|
|
3005
3133
|
return dataSpace;
|
|
3006
3134
|
}
|
|
3007
3135
|
};
|
|
3008
|
-
|
|
3136
|
+
_ts_decorate2([
|
|
3009
3137
|
import_async12.synchronized
|
|
3010
3138
|
], DataSpaceManager.prototype, "open", null);
|
|
3011
|
-
|
|
3139
|
+
_ts_decorate2([
|
|
3012
3140
|
import_async12.synchronized
|
|
3013
3141
|
], DataSpaceManager.prototype, "close", null);
|
|
3014
|
-
|
|
3142
|
+
_ts_decorate2([
|
|
3015
3143
|
import_async12.synchronized
|
|
3016
3144
|
], DataSpaceManager.prototype, "createSpace", null);
|
|
3017
|
-
|
|
3145
|
+
_ts_decorate2([
|
|
3018
3146
|
import_async12.synchronized
|
|
3019
3147
|
], DataSpaceManager.prototype, "acceptSpace", null);
|
|
3020
|
-
DataSpaceManager =
|
|
3148
|
+
DataSpaceManager = _ts_decorate2([
|
|
3021
3149
|
(0, import_async12.trackLeaks)("open", "close")
|
|
3022
3150
|
], DataSpaceManager);
|
|
3023
3151
|
|
|
3024
3152
|
// packages/sdk/client-services/src/packlets/spaces/spaces-service.ts
|
|
3025
3153
|
var import_async13 = require("@dxos/async");
|
|
3026
|
-
var
|
|
3027
|
-
var
|
|
3154
|
+
var import_codec_protobuf10 = require("@dxos/codec-protobuf");
|
|
3155
|
+
var import_debug6 = require("@dxos/debug");
|
|
3028
3156
|
var import_echo_pipeline2 = require("@dxos/echo-pipeline");
|
|
3157
|
+
var import_errors4 = require("@dxos/errors");
|
|
3029
3158
|
var import_log11 = require("@dxos/log");
|
|
3030
3159
|
var import_protocols7 = require("@dxos/protocols");
|
|
3031
3160
|
var import_services8 = require("@dxos/protocols/proto/dxos/client/services");
|
|
3032
3161
|
var import_util6 = require("@dxos/util");
|
|
3033
|
-
var
|
|
3162
|
+
var __dxlog_file11 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/spaces/spaces-service.ts";
|
|
3034
3163
|
var SpacesServiceImpl = class {
|
|
3035
3164
|
constructor(_identityManager, _spaceManager, _dataServiceSubscriptions, _getDataSpaceManager) {
|
|
3036
3165
|
this._identityManager = _identityManager;
|
|
@@ -3044,28 +3173,44 @@ var SpacesServiceImpl = class {
|
|
|
3044
3173
|
}
|
|
3045
3174
|
const dataSpaceManager = await this._getDataSpaceManager();
|
|
3046
3175
|
const space = await dataSpaceManager.createSpace();
|
|
3047
|
-
return this.
|
|
3176
|
+
return this._serializeSpace(space);
|
|
3048
3177
|
}
|
|
3049
|
-
async updateSpace(
|
|
3050
|
-
|
|
3178
|
+
async updateSpace({ spaceKey, state }) {
|
|
3179
|
+
var _a;
|
|
3180
|
+
const dataSpaceManager = await this._getDataSpaceManager();
|
|
3181
|
+
const space = (_a = dataSpaceManager.spaces.get(spaceKey)) != null ? _a : (0, import_debug6.raise)(new import_echo_pipeline2.SpaceNotFoundError(spaceKey));
|
|
3182
|
+
if (state) {
|
|
3183
|
+
switch (state) {
|
|
3184
|
+
case import_services8.SpaceState.ACTIVE:
|
|
3185
|
+
await space.activate();
|
|
3186
|
+
break;
|
|
3187
|
+
case import_services8.SpaceState.INACTIVE:
|
|
3188
|
+
await space.deactivate();
|
|
3189
|
+
break;
|
|
3190
|
+
default:
|
|
3191
|
+
throw new import_errors4.ApiError("Invalid space state");
|
|
3192
|
+
}
|
|
3193
|
+
}
|
|
3051
3194
|
}
|
|
3052
3195
|
querySpaces() {
|
|
3053
|
-
return new
|
|
3054
|
-
const
|
|
3196
|
+
return new import_codec_protobuf10.Stream(({ next, ctx }) => {
|
|
3197
|
+
const scheduler = new import_async13.UpdateScheduler(ctx, async () => {
|
|
3055
3198
|
const dataSpaceManager = await this._getDataSpaceManager();
|
|
3056
|
-
const spaces = Array.from(dataSpaceManager.spaces.values()).map((space) => this.
|
|
3199
|
+
const spaces = Array.from(dataSpaceManager.spaces.values()).map((space) => this._serializeSpace(space));
|
|
3057
3200
|
(0, import_log11.log)("update", {
|
|
3058
3201
|
spaces
|
|
3059
3202
|
}, {
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
3203
|
+
F: __dxlog_file11,
|
|
3204
|
+
L: 78,
|
|
3205
|
+
S: this,
|
|
3206
|
+
C: (f, a) => f(...a)
|
|
3064
3207
|
});
|
|
3065
3208
|
next({
|
|
3066
3209
|
spaces
|
|
3067
3210
|
});
|
|
3068
|
-
}
|
|
3211
|
+
}, {
|
|
3212
|
+
maxFrequency: 2
|
|
3213
|
+
});
|
|
3069
3214
|
(0, import_async13.scheduleTask)(ctx, async () => {
|
|
3070
3215
|
const dataSpaceManager = await this._getDataSpaceManager();
|
|
3071
3216
|
const subscriptions = new import_async13.EventSubscriptions();
|
|
@@ -3073,21 +3218,21 @@ var SpacesServiceImpl = class {
|
|
|
3073
3218
|
const subscribeSpaces = () => {
|
|
3074
3219
|
subscriptions.clear();
|
|
3075
3220
|
for (const space of dataSpaceManager.spaces.values()) {
|
|
3076
|
-
subscriptions.add(space.stateUpdate.on(ctx,
|
|
3077
|
-
subscriptions.add(space.presence.updated.on(ctx,
|
|
3078
|
-
subscriptions.add(space.dataPipeline.onNewEpoch.on(ctx,
|
|
3079
|
-
space.inner.controlPipeline.state.timeframeUpdate.
|
|
3221
|
+
subscriptions.add(space.stateUpdate.on(ctx, () => scheduler.trigger()));
|
|
3222
|
+
subscriptions.add(space.presence.updated.on(ctx, () => scheduler.trigger()));
|
|
3223
|
+
subscriptions.add(space.dataPipeline.onNewEpoch.on(ctx, () => scheduler.trigger()));
|
|
3224
|
+
space.inner.controlPipeline.state.timeframeUpdate.on(ctx, () => scheduler.trigger());
|
|
3080
3225
|
if (space.dataPipeline.pipelineState) {
|
|
3081
|
-
subscriptions.add(space.dataPipeline.pipelineState.timeframeUpdate.
|
|
3226
|
+
subscriptions.add(space.dataPipeline.pipelineState.timeframeUpdate.on(ctx, () => scheduler.trigger()));
|
|
3082
3227
|
}
|
|
3083
3228
|
}
|
|
3084
3229
|
};
|
|
3085
3230
|
dataSpaceManager.updated.on(ctx, () => {
|
|
3086
3231
|
subscribeSpaces();
|
|
3087
|
-
|
|
3232
|
+
scheduler.trigger();
|
|
3088
3233
|
});
|
|
3089
3234
|
subscribeSpaces();
|
|
3090
|
-
|
|
3235
|
+
scheduler.trigger();
|
|
3091
3236
|
});
|
|
3092
3237
|
if (!this._identityManager.identity) {
|
|
3093
3238
|
next({
|
|
@@ -3099,15 +3244,15 @@ var SpacesServiceImpl = class {
|
|
|
3099
3244
|
async postMessage({ spaceKey, channel, message }) {
|
|
3100
3245
|
var _a;
|
|
3101
3246
|
const dataSpaceManager = await this._getDataSpaceManager();
|
|
3102
|
-
const space = (_a = dataSpaceManager.spaces.get(spaceKey)) != null ? _a : (0,
|
|
3247
|
+
const space = (_a = dataSpaceManager.spaces.get(spaceKey)) != null ? _a : (0, import_debug6.raise)(new import_echo_pipeline2.SpaceNotFoundError(spaceKey));
|
|
3103
3248
|
await space.postMessage(getChannelId(channel), message);
|
|
3104
3249
|
}
|
|
3105
3250
|
subscribeMessages({ spaceKey, channel }) {
|
|
3106
|
-
return new
|
|
3251
|
+
return new import_codec_protobuf10.Stream(({ ctx, next }) => {
|
|
3107
3252
|
(0, import_async13.scheduleTask)(ctx, async () => {
|
|
3108
3253
|
var _a;
|
|
3109
3254
|
const dataSpaceManager = await this._getDataSpaceManager();
|
|
3110
|
-
const space = (_a = dataSpaceManager.spaces.get(spaceKey)) != null ? _a : (0,
|
|
3255
|
+
const space = (_a = dataSpaceManager.spaces.get(spaceKey)) != null ? _a : (0, import_debug6.raise)(new import_echo_pipeline2.SpaceNotFoundError(spaceKey));
|
|
3111
3256
|
const handle = space.listen(getChannelId(channel), (message) => {
|
|
3112
3257
|
next(message);
|
|
3113
3258
|
});
|
|
@@ -3116,21 +3261,21 @@ var SpacesServiceImpl = class {
|
|
|
3116
3261
|
});
|
|
3117
3262
|
}
|
|
3118
3263
|
queryCredentials({ spaceKey }) {
|
|
3119
|
-
return new
|
|
3264
|
+
return new import_codec_protobuf10.Stream(({ ctx, next }) => {
|
|
3120
3265
|
var _a;
|
|
3121
|
-
const space = (_a = this._spaceManager.spaces.get(spaceKey)) != null ? _a : (0,
|
|
3122
|
-
const processor =
|
|
3123
|
-
|
|
3266
|
+
const space = (_a = this._spaceManager.spaces.get(spaceKey)) != null ? _a : (0, import_debug6.raise)(new import_echo_pipeline2.SpaceNotFoundError(spaceKey));
|
|
3267
|
+
const processor = {
|
|
3268
|
+
processCredential: async (credential) => {
|
|
3124
3269
|
next(credential);
|
|
3125
3270
|
}
|
|
3126
|
-
}
|
|
3127
|
-
ctx.onDispose(() =>
|
|
3128
|
-
(0, import_async13.scheduleTask)(ctx, () =>
|
|
3271
|
+
};
|
|
3272
|
+
ctx.onDispose(() => space.spaceState.removeCredentialProcessor(processor));
|
|
3273
|
+
(0, import_async13.scheduleTask)(ctx, () => space.spaceState.addCredentialProcessor(processor));
|
|
3129
3274
|
});
|
|
3130
3275
|
}
|
|
3131
3276
|
async writeCredentials({ spaceKey, credentials }) {
|
|
3132
3277
|
var _a;
|
|
3133
|
-
const space = (_a = this._spaceManager.spaces.get(spaceKey)) != null ? _a : (0,
|
|
3278
|
+
const space = (_a = this._spaceManager.spaces.get(spaceKey)) != null ? _a : (0, import_debug6.raise)(new import_echo_pipeline2.SpaceNotFoundError(spaceKey));
|
|
3134
3279
|
for (const credential of credentials != null ? credentials : []) {
|
|
3135
3280
|
await space.controlPipeline.writer.write({
|
|
3136
3281
|
credential: {
|
|
@@ -3142,10 +3287,10 @@ var SpacesServiceImpl = class {
|
|
|
3142
3287
|
async createEpoch({ spaceKey }) {
|
|
3143
3288
|
var _a;
|
|
3144
3289
|
const dataSpaceManager = await this._getDataSpaceManager();
|
|
3145
|
-
const space = (_a = dataSpaceManager.spaces.get(spaceKey)) != null ? _a : (0,
|
|
3290
|
+
const space = (_a = dataSpaceManager.spaces.get(spaceKey)) != null ? _a : (0, import_debug6.raise)(new import_echo_pipeline2.SpaceNotFoundError(spaceKey));
|
|
3146
3291
|
await space.createEpoch();
|
|
3147
3292
|
}
|
|
3148
|
-
|
|
3293
|
+
_serializeSpace(space) {
|
|
3149
3294
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
3150
3295
|
return {
|
|
3151
3296
|
spaceKey: space.key,
|
|
@@ -3185,6 +3330,7 @@ var SpacesServiceImpl = class {
|
|
|
3185
3330
|
var getChannelId = (channel) => `user-channel/${channel}`;
|
|
3186
3331
|
|
|
3187
3332
|
// packages/sdk/client-services/src/packlets/services/service-context.ts
|
|
3333
|
+
var __dxlog_file12 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/services/service-context.ts";
|
|
3188
3334
|
var ServiceContext = class {
|
|
3189
3335
|
// prettier-ignore
|
|
3190
3336
|
constructor(storage, networkManager, signalManager, modelFactory) {
|
|
@@ -3221,24 +3367,24 @@ var ServiceContext = class {
|
|
|
3221
3367
|
this.invitations = new InvitationsHandler(this.networkManager);
|
|
3222
3368
|
this._handlerFactories.set(import_services9.Invitation.Kind.DEVICE, () => new DeviceInvitationProtocol(this.keyring, () => {
|
|
3223
3369
|
var _a;
|
|
3224
|
-
return (_a = this.identityManager.identity) != null ? _a : (0,
|
|
3370
|
+
return (_a = this.identityManager.identity) != null ? _a : (0, import_debug7.failUndefined)();
|
|
3225
3371
|
}, this._acceptIdentity.bind(this)));
|
|
3226
3372
|
}
|
|
3227
3373
|
async open() {
|
|
3228
3374
|
import_log12.log.trace("dxos.sdk.service-context.open", import_protocols8.trace.begin({
|
|
3229
3375
|
id: this._instanceId
|
|
3230
3376
|
}), {
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3377
|
+
F: __dxlog_file12,
|
|
3378
|
+
L: 126,
|
|
3379
|
+
S: this,
|
|
3380
|
+
C: (f, a) => f(...a)
|
|
3235
3381
|
});
|
|
3236
3382
|
await this._checkStorageVersion();
|
|
3237
|
-
(0, import_log12.log)("opening...",
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3383
|
+
(0, import_log12.log)("opening...", void 0, {
|
|
3384
|
+
F: __dxlog_file12,
|
|
3385
|
+
L: 130,
|
|
3386
|
+
S: this,
|
|
3387
|
+
C: (f, a) => f(...a)
|
|
3242
3388
|
});
|
|
3243
3389
|
await this.signalManager.open();
|
|
3244
3390
|
await this.networkManager.open();
|
|
@@ -3247,42 +3393,44 @@ var ServiceContext = class {
|
|
|
3247
3393
|
if (this.identityManager.identity) {
|
|
3248
3394
|
await this._initialize();
|
|
3249
3395
|
}
|
|
3250
|
-
(0, import_log12.log)("opened",
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3396
|
+
(0, import_log12.log)("opened", void 0, {
|
|
3397
|
+
F: __dxlog_file12,
|
|
3398
|
+
L: 138,
|
|
3399
|
+
S: this,
|
|
3400
|
+
C: (f, a) => f(...a)
|
|
3255
3401
|
});
|
|
3256
3402
|
import_log12.log.trace("dxos.sdk.service-context.open", import_protocols8.trace.end({
|
|
3257
3403
|
id: this._instanceId
|
|
3258
3404
|
}), {
|
|
3259
|
-
|
|
3260
|
-
|
|
3261
|
-
|
|
3262
|
-
|
|
3405
|
+
F: __dxlog_file12,
|
|
3406
|
+
L: 139,
|
|
3407
|
+
S: this,
|
|
3408
|
+
C: (f, a) => f(...a)
|
|
3263
3409
|
});
|
|
3264
3410
|
}
|
|
3265
3411
|
async close() {
|
|
3266
|
-
var _a
|
|
3267
|
-
(0, import_log12.log)("closing...",
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
});
|
|
3273
|
-
|
|
3274
|
-
|
|
3412
|
+
var _a;
|
|
3413
|
+
(0, import_log12.log)("closing...", void 0, {
|
|
3414
|
+
F: __dxlog_file12,
|
|
3415
|
+
L: 143,
|
|
3416
|
+
S: this,
|
|
3417
|
+
C: (f, a) => f(...a)
|
|
3418
|
+
});
|
|
3419
|
+
if (this._deviceSpaceSync && this.identityManager.identity) {
|
|
3420
|
+
await this.identityManager.identity.space.spaceState.removeCredentialProcessor(this._deviceSpaceSync);
|
|
3421
|
+
}
|
|
3422
|
+
await ((_a = this.dataSpaceManager) == null ? void 0 : _a.close());
|
|
3275
3423
|
await this.identityManager.close();
|
|
3276
3424
|
await this.spaceManager.close();
|
|
3277
3425
|
await this.feedStore.close();
|
|
3278
3426
|
await this.networkManager.close();
|
|
3279
3427
|
await this.signalManager.close();
|
|
3280
3428
|
this.dataServiceSubscriptions.clear();
|
|
3281
|
-
(0, import_log12.log)("closed",
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3429
|
+
(0, import_log12.log)("closed", void 0, {
|
|
3430
|
+
F: __dxlog_file12,
|
|
3431
|
+
L: 154,
|
|
3432
|
+
S: this,
|
|
3433
|
+
C: (f, a) => f(...a)
|
|
3286
3434
|
});
|
|
3287
3435
|
}
|
|
3288
3436
|
async createIdentity(params = {}) {
|
|
@@ -3292,7 +3440,7 @@ var ServiceContext = class {
|
|
|
3292
3440
|
}
|
|
3293
3441
|
getInvitationHandler(invitation) {
|
|
3294
3442
|
const factory = this._handlerFactories.get(invitation.kind);
|
|
3295
|
-
(0,
|
|
3443
|
+
(0, import_tiny_invariant11.default)(factory, `Unknown invitation kind: ${invitation.kind}`);
|
|
3296
3444
|
return factory(invitation);
|
|
3297
3445
|
}
|
|
3298
3446
|
async _acceptIdentity(params) {
|
|
@@ -3309,13 +3457,13 @@ var ServiceContext = class {
|
|
|
3309
3457
|
// Called when identity is created.
|
|
3310
3458
|
async _initialize() {
|
|
3311
3459
|
var _a;
|
|
3312
|
-
(0, import_log12.log)("initializing spaces...",
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3460
|
+
(0, import_log12.log)("initializing spaces...", void 0, {
|
|
3461
|
+
F: __dxlog_file12,
|
|
3462
|
+
L: 187,
|
|
3463
|
+
S: this,
|
|
3464
|
+
C: (f, a) => f(...a)
|
|
3317
3465
|
});
|
|
3318
|
-
const identity = (_a = this.identityManager.identity) != null ? _a : (0,
|
|
3466
|
+
const identity = (_a = this.identityManager.identity) != null ? _a : (0, import_debug7.failUndefined)();
|
|
3319
3467
|
const signingContext = {
|
|
3320
3468
|
credentialSigner: identity.getIdentityCredentialSigner(),
|
|
3321
3469
|
identityKey: identity.identityKey,
|
|
@@ -3332,12 +3480,12 @@ var ServiceContext = class {
|
|
|
3332
3480
|
this.dataSpaceManager = new DataSpaceManager(this.spaceManager, this.metadataStore, this.dataServiceSubscriptions, this.keyring, signingContext, this.feedStore);
|
|
3333
3481
|
await this.dataSpaceManager.open();
|
|
3334
3482
|
this._handlerFactories.set(import_services9.Invitation.Kind.SPACE, (invitation) => {
|
|
3335
|
-
(0,
|
|
3483
|
+
(0, import_tiny_invariant11.default)(this.dataSpaceManager, "dataSpaceManager not initialized yet");
|
|
3336
3484
|
return new SpaceInvitationProtocol(this.dataSpaceManager, signingContext, this.keyring, invitation.spaceKey);
|
|
3337
3485
|
});
|
|
3338
3486
|
this.initialized.wake();
|
|
3339
|
-
this._deviceSpaceSync =
|
|
3340
|
-
|
|
3487
|
+
this._deviceSpaceSync = {
|
|
3488
|
+
processCredential: async (credential) => {
|
|
3341
3489
|
const assertion = (0, import_credentials13.getCredentialAssertion)(credential);
|
|
3342
3490
|
if (assertion["@type"] !== "dxos.halo.credentials.SpaceMember") {
|
|
3343
3491
|
return;
|
|
@@ -3349,10 +3497,10 @@ var ServiceContext = class {
|
|
|
3349
3497
|
(0, import_log12.log)("dataSpaceManager not initialized yet, ignoring space admission", {
|
|
3350
3498
|
details: assertion
|
|
3351
3499
|
}, {
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3500
|
+
F: __dxlog_file12,
|
|
3501
|
+
L: 226,
|
|
3502
|
+
S: this,
|
|
3503
|
+
C: (f, a) => f(...a)
|
|
3356
3504
|
});
|
|
3357
3505
|
return;
|
|
3358
3506
|
}
|
|
@@ -3360,10 +3508,10 @@ var ServiceContext = class {
|
|
|
3360
3508
|
(0, import_log12.log)("space already exists, ignoring space admission", {
|
|
3361
3509
|
details: assertion
|
|
3362
3510
|
}, {
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
|
|
3511
|
+
F: __dxlog_file12,
|
|
3512
|
+
L: 230,
|
|
3513
|
+
S: this,
|
|
3514
|
+
C: (f, a) => f(...a)
|
|
3367
3515
|
});
|
|
3368
3516
|
return;
|
|
3369
3517
|
}
|
|
@@ -3371,44 +3519,47 @@ var ServiceContext = class {
|
|
|
3371
3519
|
(0, import_log12.log)("accepting space recorded in halo", {
|
|
3372
3520
|
details: assertion
|
|
3373
3521
|
}, {
|
|
3374
|
-
|
|
3375
|
-
|
|
3376
|
-
|
|
3377
|
-
|
|
3522
|
+
F: __dxlog_file12,
|
|
3523
|
+
L: 235,
|
|
3524
|
+
S: this,
|
|
3525
|
+
C: (f, a) => f(...a)
|
|
3378
3526
|
});
|
|
3379
3527
|
await this.dataSpaceManager.acceptSpace({
|
|
3380
3528
|
spaceKey: assertion.spaceKey,
|
|
3381
3529
|
genesisFeedKey: assertion.genesisFeedKey
|
|
3382
3530
|
});
|
|
3383
3531
|
} catch (err) {
|
|
3384
|
-
import_log12.log.catch(err,
|
|
3385
|
-
|
|
3386
|
-
|
|
3387
|
-
|
|
3388
|
-
|
|
3532
|
+
import_log12.log.catch(err, void 0, {
|
|
3533
|
+
F: __dxlog_file12,
|
|
3534
|
+
L: 241,
|
|
3535
|
+
S: this,
|
|
3536
|
+
C: (f, a) => f(...a)
|
|
3389
3537
|
});
|
|
3390
3538
|
}
|
|
3391
3539
|
}
|
|
3392
|
-
}
|
|
3393
|
-
await this._deviceSpaceSync
|
|
3540
|
+
};
|
|
3541
|
+
await identity.space.spaceState.addCredentialProcessor(this._deviceSpaceSync);
|
|
3394
3542
|
}
|
|
3395
3543
|
};
|
|
3396
3544
|
|
|
3397
3545
|
// packages/sdk/client-services/src/packlets/services/service-host.ts
|
|
3398
|
-
var
|
|
3546
|
+
var import_tiny_invariant13 = __toESM(require("tiny-invariant"));
|
|
3399
3547
|
var import_async17 = require("@dxos/async");
|
|
3400
3548
|
var import_client_protocol5 = require("@dxos/client-protocol");
|
|
3549
|
+
var import_document_model = require("@dxos/document-model");
|
|
3401
3550
|
var import_echo_pipeline4 = require("@dxos/echo-pipeline");
|
|
3402
3551
|
var import_keys11 = require("@dxos/keys");
|
|
3403
3552
|
var import_log15 = require("@dxos/log");
|
|
3404
3553
|
var import_messaging = require("@dxos/messaging");
|
|
3554
|
+
var import_model_factory = require("@dxos/model-factory");
|
|
3405
3555
|
var import_network_manager2 = require("@dxos/network-manager");
|
|
3406
3556
|
var import_protocols9 = require("@dxos/protocols");
|
|
3407
3557
|
var import_services12 = require("@dxos/protocols/proto/dxos/client/services");
|
|
3558
|
+
var import_text_model = require("@dxos/text-model");
|
|
3408
3559
|
|
|
3409
3560
|
// packages/sdk/client-services/src/packlets/devices/devices-service.ts
|
|
3410
3561
|
var import_async15 = require("@dxos/async");
|
|
3411
|
-
var
|
|
3562
|
+
var import_codec_protobuf11 = require("@dxos/codec-protobuf");
|
|
3412
3563
|
var import_services10 = require("@dxos/protocols/proto/dxos/client/services");
|
|
3413
3564
|
var DevicesServiceImpl = class {
|
|
3414
3565
|
constructor(_identityManager) {
|
|
@@ -3418,7 +3569,7 @@ var DevicesServiceImpl = class {
|
|
|
3418
3569
|
throw new Error("Method not implemented.");
|
|
3419
3570
|
}
|
|
3420
3571
|
queryDevices() {
|
|
3421
|
-
return new
|
|
3572
|
+
return new import_codec_protobuf11.Stream(({ next }) => {
|
|
3422
3573
|
const update = () => {
|
|
3423
3574
|
var _a;
|
|
3424
3575
|
const deviceKeys = (_a = this._identityManager.identity) == null ? void 0 : _a.authorizedDeviceKeys;
|
|
@@ -3454,10 +3605,10 @@ var DevicesServiceImpl = class {
|
|
|
3454
3605
|
};
|
|
3455
3606
|
|
|
3456
3607
|
// packages/sdk/client-services/src/packlets/locks/node.ts
|
|
3457
|
-
var
|
|
3608
|
+
var import_tiny_invariant12 = __toESM(require("tiny-invariant"));
|
|
3458
3609
|
var import_lock_file = require("@dxos/lock-file");
|
|
3459
3610
|
var import_log13 = require("@dxos/log");
|
|
3460
|
-
|
|
3611
|
+
function _ts_decorate3(decorators, target, key, desc) {
|
|
3461
3612
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3462
3613
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
3463
3614
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -3466,7 +3617,8 @@ var __decorate3 = function(decorators, target, key, desc) {
|
|
|
3466
3617
|
if (d = decorators[i])
|
|
3467
3618
|
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
3468
3619
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
3469
|
-
}
|
|
3620
|
+
}
|
|
3621
|
+
var __dxlog_file13 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/locks/node.ts";
|
|
3470
3622
|
var Lock = class {
|
|
3471
3623
|
constructor({ lockKey: lockPath, onAcquire, onRelease }) {
|
|
3472
3624
|
this._lockPath = lockPath;
|
|
@@ -3478,36 +3630,36 @@ var Lock = class {
|
|
|
3478
3630
|
}
|
|
3479
3631
|
async acquire() {
|
|
3480
3632
|
var _a;
|
|
3481
|
-
(0, import_log13.log)("acquiring lock...",
|
|
3482
|
-
|
|
3483
|
-
|
|
3484
|
-
|
|
3485
|
-
|
|
3633
|
+
(0, import_log13.log)("acquiring lock...", void 0, {
|
|
3634
|
+
F: __dxlog_file13,
|
|
3635
|
+
L: 32,
|
|
3636
|
+
S: this,
|
|
3637
|
+
C: (f, a) => f(...a)
|
|
3486
3638
|
});
|
|
3487
3639
|
this._fileHandle = await import_lock_file.LockFile.acquire(this._lockPath);
|
|
3488
3640
|
await ((_a = this._onAcquire) == null ? void 0 : _a.call(this));
|
|
3489
|
-
(0, import_log13.log)("acquired lock",
|
|
3490
|
-
|
|
3491
|
-
|
|
3492
|
-
|
|
3493
|
-
|
|
3641
|
+
(0, import_log13.log)("acquired lock", void 0, {
|
|
3642
|
+
F: __dxlog_file13,
|
|
3643
|
+
L: 37,
|
|
3644
|
+
S: this,
|
|
3645
|
+
C: (f, a) => f(...a)
|
|
3494
3646
|
});
|
|
3495
3647
|
}
|
|
3496
3648
|
async release() {
|
|
3497
3649
|
var _a;
|
|
3498
3650
|
await ((_a = this._onRelease) == null ? void 0 : _a.call(this));
|
|
3499
|
-
(0,
|
|
3651
|
+
(0, import_tiny_invariant12.default)(this._fileHandle, "Lock is not acquired");
|
|
3500
3652
|
await import_lock_file.LockFile.release(this._fileHandle);
|
|
3501
3653
|
}
|
|
3502
3654
|
};
|
|
3503
|
-
|
|
3655
|
+
_ts_decorate3([
|
|
3504
3656
|
import_log13.logInfo
|
|
3505
3657
|
], Lock.prototype, "lockKey", null);
|
|
3506
3658
|
var isLocked = (lockPath) => import_lock_file.LockFile.isLocked(lockPath);
|
|
3507
3659
|
|
|
3508
3660
|
// packages/sdk/client-services/src/packlets/logging/logging-service.ts
|
|
3509
3661
|
var import_async16 = require("@dxos/async");
|
|
3510
|
-
var
|
|
3662
|
+
var import_codec_protobuf12 = require("@dxos/codec-protobuf");
|
|
3511
3663
|
var import_log14 = require("@dxos/log");
|
|
3512
3664
|
var import_services11 = require("@dxos/protocols/proto/dxos/client/services");
|
|
3513
3665
|
var import_util7 = require("@dxos/util");
|
|
@@ -3526,13 +3678,13 @@ var LoggingServiceImpl = class {
|
|
|
3526
3678
|
import_log14.log.runtimeConfig.processors.splice(index, 1);
|
|
3527
3679
|
}
|
|
3528
3680
|
queryLogs(request) {
|
|
3529
|
-
return new
|
|
3681
|
+
return new import_codec_protobuf12.Stream(({ ctx, next }) => {
|
|
3530
3682
|
const handler = (entry2) => {
|
|
3531
3683
|
var _a, _b, _c, _d, _e;
|
|
3532
3684
|
if (LOG_PROCESSING > 0) {
|
|
3533
3685
|
return;
|
|
3534
3686
|
}
|
|
3535
|
-
if (((_a = entry2.meta) == null ? void 0 : _a.
|
|
3687
|
+
if (((_a = entry2.meta) == null ? void 0 : _a.F.includes("logging-service")) || entry2.context && Object.values(entry2.context).some((value) => typeof value === "string" && value.includes("LoggingService"))) {
|
|
3536
3688
|
return;
|
|
3537
3689
|
}
|
|
3538
3690
|
if (!shouldLog(entry2, request)) {
|
|
@@ -3544,8 +3696,8 @@ var LoggingServiceImpl = class {
|
|
|
3544
3696
|
timestamp: new Date(),
|
|
3545
3697
|
meta: {
|
|
3546
3698
|
// TODO(dmaretskyi): Fix proto.
|
|
3547
|
-
file: (_c = (_b = entry2.meta) == null ? void 0 : _b.
|
|
3548
|
-
line: (_e = (_d = entry2.meta) == null ? void 0 : _d.
|
|
3699
|
+
file: (_c = (_b = entry2.meta) == null ? void 0 : _b.F) != null ? _c : "",
|
|
3700
|
+
line: (_e = (_d = entry2.meta) == null ? void 0 : _d.L) != null ? _e : 0
|
|
3549
3701
|
}
|
|
3550
3702
|
};
|
|
3551
3703
|
try {
|
|
@@ -3575,21 +3727,21 @@ var shouldLog = (entry2, request) => {
|
|
|
3575
3727
|
} else {
|
|
3576
3728
|
return request.filters.some((filter) => {
|
|
3577
3729
|
var _a2, _b;
|
|
3578
|
-
return matchFilter(filter, entry2.level, (_b = (_a2 = entry2.meta) == null ? void 0 : _a2.
|
|
3730
|
+
return matchFilter(filter, entry2.level, (_b = (_a2 = entry2.meta) == null ? void 0 : _a2.F) != null ? _b : "", options);
|
|
3579
3731
|
});
|
|
3580
3732
|
}
|
|
3581
3733
|
};
|
|
3582
3734
|
var LOG_PROCESSING = 0;
|
|
3583
3735
|
|
|
3584
3736
|
// packages/sdk/client-services/src/packlets/network/network-service.ts
|
|
3585
|
-
var
|
|
3737
|
+
var import_codec_protobuf13 = require("@dxos/codec-protobuf");
|
|
3586
3738
|
var NetworkServiceImpl = class {
|
|
3587
3739
|
constructor(networkManager, signalManager) {
|
|
3588
3740
|
this.networkManager = networkManager;
|
|
3589
3741
|
this.signalManager = signalManager;
|
|
3590
3742
|
}
|
|
3591
3743
|
queryStatus() {
|
|
3592
|
-
return new
|
|
3744
|
+
return new import_codec_protobuf13.Stream(({ next }) => {
|
|
3593
3745
|
const update = () => {
|
|
3594
3746
|
next({
|
|
3595
3747
|
swarm: this.networkManager.connectionState,
|
|
@@ -3615,7 +3767,7 @@ var NetworkServiceImpl = class {
|
|
|
3615
3767
|
|
|
3616
3768
|
// packages/sdk/client-services/src/packlets/storage/storage.ts
|
|
3617
3769
|
var import_client_protocol4 = require("@dxos/client-protocol");
|
|
3618
|
-
var
|
|
3770
|
+
var import_errors5 = require("@dxos/errors");
|
|
3619
3771
|
var import_config = require("@dxos/protocols/proto/dxos/config");
|
|
3620
3772
|
var import_random_access_storage = require("@dxos/random-access-storage");
|
|
3621
3773
|
var import_util8 = require("@dxos/util");
|
|
@@ -3623,16 +3775,16 @@ var StorageDriver = import_config.Runtime.Client.Storage.StorageDriver;
|
|
|
3623
3775
|
var createStorageObjects = (config) => {
|
|
3624
3776
|
const { path = (0, import_util8.isNode)() ? import_client_protocol4.DX_DATA : "dxos/storage", storageType, keyStorage, persistent = false } = config != null ? config : {};
|
|
3625
3777
|
if (persistent && storageType === StorageDriver.RAM) {
|
|
3626
|
-
throw new
|
|
3778
|
+
throw new import_errors5.InvalidConfigError("RAM storage cannot be used in persistent mode.");
|
|
3627
3779
|
}
|
|
3628
3780
|
if (!persistent && storageType !== void 0 && storageType !== StorageDriver.RAM) {
|
|
3629
|
-
throw new
|
|
3781
|
+
throw new import_errors5.InvalidConfigError("Cannot use a persistent storage in not persistent mode.");
|
|
3630
3782
|
}
|
|
3631
3783
|
if (persistent && keyStorage === StorageDriver.RAM) {
|
|
3632
|
-
throw new
|
|
3784
|
+
throw new import_errors5.InvalidConfigError("RAM key storage cannot be used in persistent mode.");
|
|
3633
3785
|
}
|
|
3634
3786
|
if (!persistent && keyStorage !== StorageDriver.RAM && keyStorage !== void 0) {
|
|
3635
|
-
throw new
|
|
3787
|
+
throw new import_errors5.InvalidConfigError("Cannot use a persistent key storage in not persistent mode.");
|
|
3636
3788
|
}
|
|
3637
3789
|
return {
|
|
3638
3790
|
storage: (0, import_random_access_storage.createStorage)({
|
|
@@ -3663,7 +3815,7 @@ var toStorageType = (type) => {
|
|
|
3663
3815
|
};
|
|
3664
3816
|
|
|
3665
3817
|
// packages/sdk/client-services/src/packlets/system/system-service.ts
|
|
3666
|
-
var
|
|
3818
|
+
var import_codec_protobuf14 = require("@dxos/codec-protobuf");
|
|
3667
3819
|
var SystemServiceImpl = class {
|
|
3668
3820
|
constructor({ config, statusUpdate, onUpdateStatus, getCurrentStatus, onReset }) {
|
|
3669
3821
|
this._config = config;
|
|
@@ -3680,7 +3832,7 @@ var SystemServiceImpl = class {
|
|
|
3680
3832
|
await this._onUpdateStatus(status);
|
|
3681
3833
|
}
|
|
3682
3834
|
queryStatus() {
|
|
3683
|
-
return new
|
|
3835
|
+
return new import_codec_protobuf14.Stream(({ next }) => {
|
|
3684
3836
|
const update = () => {
|
|
3685
3837
|
next({
|
|
3686
3838
|
status: this._getCurrentStatus()
|
|
@@ -3725,7 +3877,7 @@ var ServiceRegistry = class {
|
|
|
3725
3877
|
};
|
|
3726
3878
|
|
|
3727
3879
|
// packages/sdk/client-services/src/packlets/services/service-host.ts
|
|
3728
|
-
|
|
3880
|
+
function _ts_decorate4(decorators, target, key, desc) {
|
|
3729
3881
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3730
3882
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
3731
3883
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -3734,24 +3886,30 @@ var __decorate4 = function(decorators, target, key, desc) {
|
|
|
3734
3886
|
if (d = decorators[i])
|
|
3735
3887
|
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
3736
3888
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
3889
|
+
}
|
|
3890
|
+
var __dxlog_file14 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/services/service-host.ts";
|
|
3891
|
+
var createDefaultModelFactory = () => {
|
|
3892
|
+
return new import_model_factory.ModelFactory().registerModel(import_document_model.DocumentModel).registerModel(import_text_model.TextModel);
|
|
3737
3893
|
};
|
|
3738
3894
|
var ClientServicesHost = class {
|
|
3739
3895
|
constructor({
|
|
3740
3896
|
config,
|
|
3741
|
-
modelFactory =
|
|
3897
|
+
modelFactory = createDefaultModelFactory(),
|
|
3742
3898
|
// TODO(burdon): Create ApolloLink abstraction (see Client).
|
|
3743
3899
|
transportFactory,
|
|
3744
3900
|
signalManager,
|
|
3745
3901
|
connectionLog,
|
|
3746
3902
|
storage,
|
|
3747
3903
|
// TODO(wittjosiah): Turn this on by default.
|
|
3748
|
-
lockKey
|
|
3904
|
+
lockKey,
|
|
3905
|
+
callbacks
|
|
3749
3906
|
} = {}) {
|
|
3750
3907
|
this._statusUpdate = new import_async17.Event();
|
|
3751
3908
|
this._opening = false;
|
|
3752
3909
|
this._open = false;
|
|
3753
3910
|
this._storage = storage;
|
|
3754
3911
|
this._modelFactory = modelFactory;
|
|
3912
|
+
this._callbacks = callbacks;
|
|
3755
3913
|
if (config) {
|
|
3756
3914
|
this.initialize({
|
|
3757
3915
|
config,
|
|
@@ -3810,9 +3968,9 @@ var ClientServicesHost = class {
|
|
|
3810
3968
|
*/
|
|
3811
3969
|
initialize({ config, ...options }) {
|
|
3812
3970
|
var _a, _b, _c;
|
|
3813
|
-
(0,
|
|
3971
|
+
(0, import_tiny_invariant13.default)(!this._open, "service host is open");
|
|
3814
3972
|
if (config) {
|
|
3815
|
-
(0,
|
|
3973
|
+
(0, import_tiny_invariant13.default)(!this._config, "config already set");
|
|
3816
3974
|
this._config = config;
|
|
3817
3975
|
if (!this._storage) {
|
|
3818
3976
|
this._storage = createStorageObjects(config.get("runtime.client.storage", {})).storage;
|
|
@@ -3822,7 +3980,7 @@ var ClientServicesHost = class {
|
|
|
3822
3980
|
iceServers: (_a = this._config) == null ? void 0 : _a.get("runtime.services.ice")
|
|
3823
3981
|
}), signalManager = new import_messaging.WebsocketSignalManager((_c = (_b = this._config) == null ? void 0 : _b.get("runtime.services.signaling")) != null ? _c : []) } = options;
|
|
3824
3982
|
this._signalManager = signalManager;
|
|
3825
|
-
(0,
|
|
3983
|
+
(0, import_tiny_invariant13.default)(!this._networkManager, "network manager already set");
|
|
3826
3984
|
this._networkManager = new import_network_manager2.NetworkManager({
|
|
3827
3985
|
log: connectionLog,
|
|
3828
3986
|
transportFactory,
|
|
@@ -3838,23 +3996,23 @@ var ClientServicesHost = class {
|
|
|
3838
3996
|
import_log15.log.trace("dxos.sdk.client-services-host.open", import_protocols9.trace.begin({
|
|
3839
3997
|
id: traceId
|
|
3840
3998
|
}), {
|
|
3841
|
-
|
|
3842
|
-
|
|
3843
|
-
|
|
3844
|
-
|
|
3845
|
-
});
|
|
3846
|
-
(0,
|
|
3847
|
-
(0,
|
|
3848
|
-
(0,
|
|
3849
|
-
(0,
|
|
3999
|
+
F: __dxlog_file14,
|
|
4000
|
+
L: 203,
|
|
4001
|
+
S: this,
|
|
4002
|
+
C: (f, a) => f(...a)
|
|
4003
|
+
});
|
|
4004
|
+
(0, import_tiny_invariant13.default)(this._config, "config not set");
|
|
4005
|
+
(0, import_tiny_invariant13.default)(this._storage, "storage not set");
|
|
4006
|
+
(0, import_tiny_invariant13.default)(this._signalManager, "signal manager not set");
|
|
4007
|
+
(0, import_tiny_invariant13.default)(this._networkManager, "network manager not set");
|
|
3850
4008
|
this._opening = true;
|
|
3851
4009
|
(0, import_log15.log)("opening...", {
|
|
3852
4010
|
lockKey: (_a = this._resourceLock) == null ? void 0 : _a.lockKey
|
|
3853
4011
|
}, {
|
|
3854
|
-
|
|
3855
|
-
|
|
3856
|
-
|
|
3857
|
-
|
|
4012
|
+
F: __dxlog_file14,
|
|
4013
|
+
L: 211,
|
|
4014
|
+
S: this,
|
|
4015
|
+
C: (f, a) => f(...a)
|
|
3858
4016
|
});
|
|
3859
4017
|
await ((_b = this._resourceLock) == null ? void 0 : _b.acquire());
|
|
3860
4018
|
await this._loggingService.open();
|
|
@@ -3886,18 +4044,18 @@ var ClientServicesHost = class {
|
|
|
3886
4044
|
(0, import_log15.log)("opened", {
|
|
3887
4045
|
deviceKey
|
|
3888
4046
|
}, {
|
|
3889
|
-
|
|
3890
|
-
|
|
3891
|
-
|
|
3892
|
-
|
|
4047
|
+
F: __dxlog_file14,
|
|
4048
|
+
L: 266,
|
|
4049
|
+
S: this,
|
|
4050
|
+
C: (f, a) => f(...a)
|
|
3893
4051
|
});
|
|
3894
4052
|
import_log15.log.trace("dxos.sdk.client-services-host.open", import_protocols9.trace.end({
|
|
3895
4053
|
id: traceId
|
|
3896
4054
|
}), {
|
|
3897
|
-
|
|
3898
|
-
|
|
3899
|
-
|
|
3900
|
-
|
|
4055
|
+
F: __dxlog_file14,
|
|
4056
|
+
L: 267,
|
|
4057
|
+
S: this,
|
|
4058
|
+
C: (f, a) => f(...a)
|
|
3901
4059
|
});
|
|
3902
4060
|
}
|
|
3903
4061
|
async close() {
|
|
@@ -3909,10 +4067,10 @@ var ClientServicesHost = class {
|
|
|
3909
4067
|
(0, import_log15.log)("closing...", {
|
|
3910
4068
|
deviceKey
|
|
3911
4069
|
}, {
|
|
3912
|
-
|
|
3913
|
-
|
|
3914
|
-
|
|
3915
|
-
|
|
4070
|
+
F: __dxlog_file14,
|
|
4071
|
+
L: 277,
|
|
4072
|
+
S: this,
|
|
4073
|
+
C: (f, a) => f(...a)
|
|
3916
4074
|
});
|
|
3917
4075
|
this._serviceRegistry.setServices({
|
|
3918
4076
|
SystemService: this._systemService
|
|
@@ -3924,51 +4082,52 @@ var ClientServicesHost = class {
|
|
|
3924
4082
|
(0, import_log15.log)("closed", {
|
|
3925
4083
|
deviceKey
|
|
3926
4084
|
}, {
|
|
3927
|
-
|
|
3928
|
-
|
|
3929
|
-
|
|
3930
|
-
|
|
4085
|
+
F: __dxlog_file14,
|
|
4086
|
+
L: 283,
|
|
4087
|
+
S: this,
|
|
4088
|
+
C: (f, a) => f(...a)
|
|
3931
4089
|
});
|
|
3932
4090
|
}
|
|
3933
4091
|
async reset() {
|
|
3934
|
-
var _a;
|
|
4092
|
+
var _a, _b, _c;
|
|
3935
4093
|
const traceId = import_keys11.PublicKey.random().toHex();
|
|
3936
4094
|
import_log15.log.trace("dxos.sdk.client-services-host.reset", import_protocols9.trace.begin({
|
|
3937
4095
|
id: traceId
|
|
3938
4096
|
}), {
|
|
3939
|
-
|
|
3940
|
-
|
|
3941
|
-
|
|
3942
|
-
|
|
4097
|
+
F: __dxlog_file14,
|
|
4098
|
+
L: 288,
|
|
4099
|
+
S: this,
|
|
4100
|
+
C: (f, a) => f(...a)
|
|
3943
4101
|
});
|
|
3944
|
-
(0, import_log15.log)("resetting...",
|
|
3945
|
-
|
|
3946
|
-
|
|
3947
|
-
|
|
3948
|
-
|
|
4102
|
+
(0, import_log15.log)("resetting...", void 0, {
|
|
4103
|
+
F: __dxlog_file14,
|
|
4104
|
+
L: 290,
|
|
4105
|
+
S: this,
|
|
4106
|
+
C: (f, a) => f(...a)
|
|
3949
4107
|
});
|
|
3950
4108
|
await ((_a = this._serviceContext) == null ? void 0 : _a.close());
|
|
3951
4109
|
await this._storage.reset();
|
|
3952
|
-
(0, import_log15.log)("reset",
|
|
3953
|
-
|
|
3954
|
-
|
|
3955
|
-
|
|
3956
|
-
|
|
4110
|
+
(0, import_log15.log)("reset", void 0, {
|
|
4111
|
+
F: __dxlog_file14,
|
|
4112
|
+
L: 293,
|
|
4113
|
+
S: this,
|
|
4114
|
+
C: (f, a) => f(...a)
|
|
3957
4115
|
});
|
|
3958
4116
|
import_log15.log.trace("dxos.sdk.client-services-host.reset", import_protocols9.trace.end({
|
|
3959
4117
|
id: traceId
|
|
3960
4118
|
}), {
|
|
3961
|
-
|
|
3962
|
-
|
|
3963
|
-
|
|
3964
|
-
|
|
4119
|
+
F: __dxlog_file14,
|
|
4120
|
+
L: 294,
|
|
4121
|
+
S: this,
|
|
4122
|
+
C: (f, a) => f(...a)
|
|
3965
4123
|
});
|
|
4124
|
+
await ((_c = (_b = this._callbacks) == null ? void 0 : _b.onReset) == null ? void 0 : _c.call(_b));
|
|
3966
4125
|
}
|
|
3967
4126
|
};
|
|
3968
|
-
|
|
4127
|
+
_ts_decorate4([
|
|
3969
4128
|
import_async17.synchronized
|
|
3970
4129
|
], ClientServicesHost.prototype, "open", null);
|
|
3971
|
-
|
|
4130
|
+
_ts_decorate4([
|
|
3972
4131
|
import_async17.synchronized
|
|
3973
4132
|
], ClientServicesHost.prototype, "close", null);
|
|
3974
4133
|
|
|
@@ -3980,61 +4139,8 @@ var import_messaging2 = require("@dxos/messaging");
|
|
|
3980
4139
|
var import_network_manager3 = require("@dxos/network-manager");
|
|
3981
4140
|
var import_util9 = require("@dxos/util");
|
|
3982
4141
|
|
|
3983
|
-
// packages/sdk/client-services/src/packlets/services/client-rpc-server.ts
|
|
3984
|
-
var import_codec_protobuf14 = require("@dxos/codec-protobuf");
|
|
3985
|
-
var import_debug7 = require("@dxos/debug");
|
|
3986
|
-
var import_rpc = require("@dxos/rpc");
|
|
3987
|
-
var ClientRpcServer = class {
|
|
3988
|
-
constructor(params) {
|
|
3989
|
-
this._handlerCache = /* @__PURE__ */ new Map();
|
|
3990
|
-
const { serviceRegistry, handleCall, handleStream, ...rpcOptions } = params;
|
|
3991
|
-
this._handleCall = handleCall;
|
|
3992
|
-
this._handleStream = handleStream;
|
|
3993
|
-
this._serviceRegistry = serviceRegistry;
|
|
3994
|
-
this._rpcPeer = new import_rpc.RpcPeer({
|
|
3995
|
-
...rpcOptions,
|
|
3996
|
-
callHandler: (method, params2) => {
|
|
3997
|
-
const [serviceName, methodName] = (0, import_rpc.parseMethodName)(method);
|
|
3998
|
-
const handler = (method2, params3) => this._getServiceHandler(serviceName).call(method2, params3);
|
|
3999
|
-
if (this._handleCall) {
|
|
4000
|
-
return this._handleCall(methodName, params2, handler);
|
|
4001
|
-
} else {
|
|
4002
|
-
return handler(methodName, params2);
|
|
4003
|
-
}
|
|
4004
|
-
},
|
|
4005
|
-
streamHandler: (method, params2) => {
|
|
4006
|
-
const [serviceName, methodName] = (0, import_rpc.parseMethodName)(method);
|
|
4007
|
-
const handler = (method2, params3) => this._getServiceHandler(serviceName).callStream(method2, params3);
|
|
4008
|
-
if (this._handleStream) {
|
|
4009
|
-
return import_codec_protobuf14.Stream.unwrapPromise(this._handleStream(methodName, params2, handler));
|
|
4010
|
-
} else {
|
|
4011
|
-
return handler(methodName, params2);
|
|
4012
|
-
}
|
|
4013
|
-
}
|
|
4014
|
-
});
|
|
4015
|
-
}
|
|
4016
|
-
async open() {
|
|
4017
|
-
await this._rpcPeer.open();
|
|
4018
|
-
}
|
|
4019
|
-
async close() {
|
|
4020
|
-
await this._rpcPeer.close();
|
|
4021
|
-
}
|
|
4022
|
-
_getServiceHandler(serviceName) {
|
|
4023
|
-
var _a;
|
|
4024
|
-
if (!this._handlerCache.has(serviceName)) {
|
|
4025
|
-
const [key, descriptor] = (_a = Object.entries(this._serviceRegistry.descriptors).find(([key2, descriptor2]) => descriptor2.name === serviceName)) != null ? _a : (0, import_debug7.raise)(new Error(`Service not available: ${serviceName}`));
|
|
4026
|
-
const service = this._serviceRegistry.services[key];
|
|
4027
|
-
if (!service) {
|
|
4028
|
-
throw new Error(`Service not available: ${serviceName}`);
|
|
4029
|
-
}
|
|
4030
|
-
this._handlerCache.set(serviceName, descriptor.createServer(service));
|
|
4031
|
-
}
|
|
4032
|
-
return this._handlerCache.get(serviceName);
|
|
4033
|
-
}
|
|
4034
|
-
};
|
|
4035
|
-
|
|
4036
4142
|
// packages/sdk/client-services/src/packlets/vault/shell-runtime.ts
|
|
4037
|
-
var
|
|
4143
|
+
var import_tiny_invariant14 = __toESM(require("tiny-invariant"));
|
|
4038
4144
|
var import_async18 = require("@dxos/async");
|
|
4039
4145
|
var import_client_protocol6 = require("@dxos/client-protocol");
|
|
4040
4146
|
var import_iframe = require("@dxos/protocols/proto/dxos/iframe");
|
|
@@ -4064,7 +4170,7 @@ var ShellRuntimeImpl = class {
|
|
|
4064
4170
|
});
|
|
4065
4171
|
}
|
|
4066
4172
|
async setAppContext(context) {
|
|
4067
|
-
(0,
|
|
4173
|
+
(0, import_tiny_invariant14.default)(this._appRpc, "runtime not open");
|
|
4068
4174
|
await this._appRpc.rpc.AppService.setContext(context);
|
|
4069
4175
|
}
|
|
4070
4176
|
async open() {
|
|
@@ -4091,39 +4197,9 @@ var ShellRuntimeImpl = class {
|
|
|
4091
4197
|
this._appRpc = void 0;
|
|
4092
4198
|
}
|
|
4093
4199
|
};
|
|
4094
|
-
var MemoryShellRuntime = class {
|
|
4095
|
-
constructor({ layout, invitationCode, spaceKey } = {}) {
|
|
4096
|
-
this.layoutUpdate = new import_async18.Event();
|
|
4097
|
-
this.contextUpdate = new import_async18.Event();
|
|
4098
|
-
this._layout = layout != null ? layout : import_iframe.ShellLayout.DEFAULT;
|
|
4099
|
-
this._invitationCode = invitationCode;
|
|
4100
|
-
this._spaceKey = spaceKey;
|
|
4101
|
-
}
|
|
4102
|
-
get layout() {
|
|
4103
|
-
return this._layout;
|
|
4104
|
-
}
|
|
4105
|
-
get invitationCode() {
|
|
4106
|
-
return this._invitationCode;
|
|
4107
|
-
}
|
|
4108
|
-
get spaceKey() {
|
|
4109
|
-
return this._spaceKey;
|
|
4110
|
-
}
|
|
4111
|
-
setLayout(layout, options = {}) {
|
|
4112
|
-
this._layout = layout;
|
|
4113
|
-
this._invitationCode = options.invitationCode;
|
|
4114
|
-
this._spaceKey = options.spaceKey;
|
|
4115
|
-
this.layoutUpdate.emit({
|
|
4116
|
-
layout,
|
|
4117
|
-
...options
|
|
4118
|
-
});
|
|
4119
|
-
}
|
|
4120
|
-
async setAppContext(context) {
|
|
4121
|
-
this.contextUpdate.emit(context);
|
|
4122
|
-
}
|
|
4123
|
-
};
|
|
4124
4200
|
|
|
4125
4201
|
// packages/sdk/client-services/src/packlets/vault/iframe-host-runtime.ts
|
|
4126
|
-
|
|
4202
|
+
function _ts_decorate5(decorators, target, key, desc) {
|
|
4127
4203
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4128
4204
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
4129
4205
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -4132,7 +4208,8 @@ var __decorate5 = function(decorators, target, key, desc) {
|
|
|
4132
4208
|
if (d = decorators[i])
|
|
4133
4209
|
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
4134
4210
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
4135
|
-
}
|
|
4211
|
+
}
|
|
4212
|
+
var __dxlog_file15 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/vault/iframe-host-runtime.ts";
|
|
4136
4213
|
var LOCK_KEY = "DXOS_RESOURCE_LOCK";
|
|
4137
4214
|
var IFrameHostRuntime = class {
|
|
4138
4215
|
constructor({ config, origin, appPort, shellPort }) {
|
|
@@ -4153,11 +4230,11 @@ var IFrameHostRuntime = class {
|
|
|
4153
4230
|
}
|
|
4154
4231
|
async start() {
|
|
4155
4232
|
var _a;
|
|
4156
|
-
(0, import_log16.log)("starting...",
|
|
4157
|
-
|
|
4158
|
-
|
|
4159
|
-
|
|
4160
|
-
|
|
4233
|
+
(0, import_log16.log)("starting...", void 0, {
|
|
4234
|
+
F: __dxlog_file15,
|
|
4235
|
+
L: 70,
|
|
4236
|
+
S: this,
|
|
4237
|
+
C: (f, a) => f(...a)
|
|
4161
4238
|
});
|
|
4162
4239
|
try {
|
|
4163
4240
|
this._config = await (0, import_util9.getAsyncValue)(this._configProvider);
|
|
@@ -4202,53 +4279,54 @@ var IFrameHostRuntime = class {
|
|
|
4202
4279
|
(_a = this._shellRuntime) == null ? void 0 : _a.open()
|
|
4203
4280
|
]);
|
|
4204
4281
|
this._ready.wake(void 0);
|
|
4205
|
-
(0, import_log16.log)("started",
|
|
4206
|
-
|
|
4207
|
-
|
|
4208
|
-
|
|
4209
|
-
|
|
4282
|
+
(0, import_log16.log)("started", void 0, {
|
|
4283
|
+
F: __dxlog_file15,
|
|
4284
|
+
L: 113,
|
|
4285
|
+
S: this,
|
|
4286
|
+
C: (f, a) => f(...a)
|
|
4210
4287
|
});
|
|
4211
4288
|
} catch (err) {
|
|
4212
4289
|
this._ready.wake(err);
|
|
4213
|
-
import_log16.log.catch(err,
|
|
4214
|
-
|
|
4215
|
-
|
|
4216
|
-
|
|
4217
|
-
|
|
4290
|
+
import_log16.log.catch(err, void 0, {
|
|
4291
|
+
F: __dxlog_file15,
|
|
4292
|
+
L: 116,
|
|
4293
|
+
S: this,
|
|
4294
|
+
C: (f, a) => f(...a)
|
|
4218
4295
|
});
|
|
4219
4296
|
}
|
|
4220
4297
|
}
|
|
4221
4298
|
async stop() {
|
|
4222
4299
|
var _a;
|
|
4223
|
-
(0, import_log16.log)("stopping...",
|
|
4224
|
-
|
|
4225
|
-
|
|
4226
|
-
|
|
4227
|
-
|
|
4300
|
+
(0, import_log16.log)("stopping...", void 0, {
|
|
4301
|
+
F: __dxlog_file15,
|
|
4302
|
+
L: 121,
|
|
4303
|
+
S: this,
|
|
4304
|
+
C: (f, a) => f(...a)
|
|
4228
4305
|
});
|
|
4229
4306
|
await this._clientRpc.close();
|
|
4230
4307
|
await this._clientServices.close();
|
|
4231
4308
|
await ((_a = this._shellRuntime) == null ? void 0 : _a.close());
|
|
4232
|
-
(0, import_log16.log)("stopped",
|
|
4233
|
-
|
|
4234
|
-
|
|
4235
|
-
|
|
4236
|
-
|
|
4309
|
+
(0, import_log16.log)("stopped", void 0, {
|
|
4310
|
+
F: __dxlog_file15,
|
|
4311
|
+
L: 125,
|
|
4312
|
+
S: this,
|
|
4313
|
+
C: (f, a) => f(...a)
|
|
4237
4314
|
});
|
|
4238
4315
|
}
|
|
4239
4316
|
};
|
|
4240
|
-
|
|
4317
|
+
_ts_decorate5([
|
|
4241
4318
|
import_log16.logInfo
|
|
4242
4319
|
], IFrameHostRuntime.prototype, "origin", void 0);
|
|
4243
4320
|
|
|
4244
4321
|
// packages/sdk/client-services/src/packlets/vault/iframe-proxy-runtime.ts
|
|
4245
4322
|
var import_async20 = require("@dxos/async");
|
|
4246
4323
|
var import_client_protocol8 = require("@dxos/client-protocol");
|
|
4247
|
-
var
|
|
4324
|
+
var import_errors6 = require("@dxos/errors");
|
|
4248
4325
|
var import_log17 = require("@dxos/log");
|
|
4249
4326
|
var import_network_manager4 = require("@dxos/network-manager");
|
|
4250
4327
|
var import_rpc3 = require("@dxos/rpc");
|
|
4251
4328
|
var import_util10 = require("@dxos/util");
|
|
4329
|
+
var __dxlog_file16 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/vault/iframe-proxy-runtime.ts";
|
|
4252
4330
|
var IFrameProxyRuntime = class {
|
|
4253
4331
|
constructor({ config, systemPort, shellPort }) {
|
|
4254
4332
|
this._id = String(Math.floor(Math.random() * 1e6));
|
|
@@ -4296,13 +4374,13 @@ var IFrameProxyRuntime = class {
|
|
|
4296
4374
|
lockKey
|
|
4297
4375
|
});
|
|
4298
4376
|
} catch (err) {
|
|
4299
|
-
import_log17.log.catch(err,
|
|
4300
|
-
|
|
4301
|
-
|
|
4302
|
-
|
|
4303
|
-
|
|
4377
|
+
import_log17.log.catch(err, void 0, {
|
|
4378
|
+
F: __dxlog_file16,
|
|
4379
|
+
L: 85,
|
|
4380
|
+
S: this,
|
|
4381
|
+
C: (f, a) => f(...a)
|
|
4304
4382
|
});
|
|
4305
|
-
throw new
|
|
4383
|
+
throw new import_errors6.RemoteServiceConnectionError("Failed to connect to worker");
|
|
4306
4384
|
}
|
|
4307
4385
|
await ((_a = this._shellRuntime) == null ? void 0 : _a.open());
|
|
4308
4386
|
}
|
|
@@ -4325,13 +4403,13 @@ var import_messaging3 = require("@dxos/messaging");
|
|
|
4325
4403
|
var import_network_manager5 = require("@dxos/network-manager");
|
|
4326
4404
|
|
|
4327
4405
|
// packages/sdk/client-services/src/packlets/vault/worker-session.ts
|
|
4328
|
-
var
|
|
4406
|
+
var import_tiny_invariant15 = __toESM(require("tiny-invariant"));
|
|
4329
4407
|
var import_async21 = require("@dxos/async");
|
|
4330
4408
|
var import_client_protocol9 = require("@dxos/client-protocol");
|
|
4331
4409
|
var import_log18 = require("@dxos/log");
|
|
4332
4410
|
var import_rpc4 = require("@dxos/rpc");
|
|
4333
4411
|
var import_util11 = require("@dxos/util");
|
|
4334
|
-
|
|
4412
|
+
function _ts_decorate6(decorators, target, key, desc) {
|
|
4335
4413
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4336
4414
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
4337
4415
|
r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -4340,12 +4418,13 @@ var __decorate6 = function(decorators, target, key, desc) {
|
|
|
4340
4418
|
if (d = decorators[i])
|
|
4341
4419
|
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
4342
4420
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
4343
|
-
}
|
|
4421
|
+
}
|
|
4422
|
+
var __dxlog_file17 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/vault/worker-session.ts";
|
|
4344
4423
|
var WorkerSession = class {
|
|
4345
4424
|
constructor({ serviceHost, systemPort, appPort, shellPort, readySignal }) {
|
|
4346
4425
|
this._startTrigger = new import_async21.Trigger();
|
|
4347
4426
|
this.onClose = new import_util11.Callback();
|
|
4348
|
-
(0,
|
|
4427
|
+
(0, import_tiny_invariant15.default)(serviceHost);
|
|
4349
4428
|
this._serviceHost = serviceHost;
|
|
4350
4429
|
const middleware = {
|
|
4351
4430
|
handleCall: async (method, params, handler) => {
|
|
@@ -4392,11 +4471,11 @@ var WorkerSession = class {
|
|
|
4392
4471
|
try {
|
|
4393
4472
|
await this.close();
|
|
4394
4473
|
} catch (err) {
|
|
4395
|
-
import_log18.log.catch(err,
|
|
4396
|
-
|
|
4397
|
-
|
|
4398
|
-
|
|
4399
|
-
|
|
4474
|
+
import_log18.log.catch(err, void 0, {
|
|
4475
|
+
F: __dxlog_file17,
|
|
4476
|
+
L: 99,
|
|
4477
|
+
S: this,
|
|
4478
|
+
C: (f, a) => f(...a)
|
|
4400
4479
|
});
|
|
4401
4480
|
}
|
|
4402
4481
|
});
|
|
@@ -4409,11 +4488,11 @@ var WorkerSession = class {
|
|
|
4409
4488
|
this.bridgeService = this._iframeRpc.rpc.BridgeService;
|
|
4410
4489
|
}
|
|
4411
4490
|
async open() {
|
|
4412
|
-
import_log18.log.info("opening
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
|
|
4491
|
+
import_log18.log.info("opening...", void 0, {
|
|
4492
|
+
F: __dxlog_file17,
|
|
4493
|
+
L: 113,
|
|
4494
|
+
S: this,
|
|
4495
|
+
C: (f, a) => f(...a)
|
|
4417
4496
|
});
|
|
4418
4497
|
await Promise.all([
|
|
4419
4498
|
this._clientRpc.open(),
|
|
@@ -4426,38 +4505,50 @@ var WorkerSession = class {
|
|
|
4426
4505
|
if (this.lockKey) {
|
|
4427
4506
|
void this._afterLockReleases(this.lockKey, () => this.close());
|
|
4428
4507
|
}
|
|
4508
|
+
import_log18.log.info("opened", void 0, {
|
|
4509
|
+
F: __dxlog_file17,
|
|
4510
|
+
L: 120,
|
|
4511
|
+
S: this,
|
|
4512
|
+
C: (f, a) => f(...a)
|
|
4513
|
+
});
|
|
4429
4514
|
}
|
|
4430
4515
|
async close() {
|
|
4431
|
-
import_log18.log.info("closing
|
|
4432
|
-
|
|
4433
|
-
|
|
4434
|
-
|
|
4435
|
-
|
|
4516
|
+
import_log18.log.info("closing...", void 0, {
|
|
4517
|
+
F: __dxlog_file17,
|
|
4518
|
+
L: 124,
|
|
4519
|
+
S: this,
|
|
4520
|
+
C: (f, a) => f(...a)
|
|
4436
4521
|
});
|
|
4437
4522
|
try {
|
|
4438
4523
|
await this.onClose.callIfSet();
|
|
4439
4524
|
} catch (err) {
|
|
4440
|
-
import_log18.log.catch(err,
|
|
4441
|
-
|
|
4442
|
-
|
|
4443
|
-
|
|
4444
|
-
|
|
4525
|
+
import_log18.log.catch(err, void 0, {
|
|
4526
|
+
F: __dxlog_file17,
|
|
4527
|
+
L: 128,
|
|
4528
|
+
S: this,
|
|
4529
|
+
C: (f, a) => f(...a)
|
|
4445
4530
|
});
|
|
4446
4531
|
}
|
|
4447
4532
|
await Promise.all([
|
|
4448
4533
|
this._clientRpc.close(),
|
|
4449
4534
|
this._iframeRpc.close()
|
|
4450
4535
|
]);
|
|
4536
|
+
import_log18.log.info("closed", void 0, {
|
|
4537
|
+
F: __dxlog_file17,
|
|
4538
|
+
L: 132,
|
|
4539
|
+
S: this,
|
|
4540
|
+
C: (f, a) => f(...a)
|
|
4541
|
+
});
|
|
4451
4542
|
}
|
|
4452
4543
|
async _maybeOpenShell() {
|
|
4453
4544
|
try {
|
|
4454
4545
|
await (0, import_async21.asyncTimeout)(this._shellClientRpc.open(), 1e3);
|
|
4455
4546
|
} catch (e) {
|
|
4456
|
-
import_log18.log.info("No shell connected.",
|
|
4457
|
-
|
|
4458
|
-
|
|
4459
|
-
|
|
4460
|
-
|
|
4547
|
+
import_log18.log.info("No shell connected.", void 0, {
|
|
4548
|
+
F: __dxlog_file17,
|
|
4549
|
+
L: 139,
|
|
4550
|
+
S: this,
|
|
4551
|
+
C: (f, a) => f(...a)
|
|
4461
4552
|
});
|
|
4462
4553
|
}
|
|
4463
4554
|
}
|
|
@@ -4466,14 +4557,15 @@ var WorkerSession = class {
|
|
|
4466
4557
|
}).then(callback);
|
|
4467
4558
|
}
|
|
4468
4559
|
};
|
|
4469
|
-
|
|
4560
|
+
_ts_decorate6([
|
|
4470
4561
|
import_log18.logInfo
|
|
4471
4562
|
], WorkerSession.prototype, "origin", void 0);
|
|
4472
|
-
|
|
4563
|
+
_ts_decorate6([
|
|
4473
4564
|
import_log18.logInfo
|
|
4474
4565
|
], WorkerSession.prototype, "lockKey", void 0);
|
|
4475
4566
|
|
|
4476
4567
|
// packages/sdk/client-services/src/packlets/vault/worker-runtime.ts
|
|
4568
|
+
var __dxlog_file18 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/vault/worker-runtime.ts";
|
|
4477
4569
|
var WorkerRuntime = class {
|
|
4478
4570
|
// prettier-ignore
|
|
4479
4571
|
constructor(_configProvider) {
|
|
@@ -4481,17 +4573,23 @@ var WorkerRuntime = class {
|
|
|
4481
4573
|
this._transportFactory = new import_network_manager5.WebRTCTransportProxyFactory();
|
|
4482
4574
|
this._ready = new import_async22.Trigger();
|
|
4483
4575
|
this.sessions = /* @__PURE__ */ new Set();
|
|
4484
|
-
this._clientServices = new ClientServicesHost(
|
|
4576
|
+
this._clientServices = new ClientServicesHost({
|
|
4577
|
+
callbacks: {
|
|
4578
|
+
onReset: async () => {
|
|
4579
|
+
self.close();
|
|
4580
|
+
}
|
|
4581
|
+
}
|
|
4582
|
+
});
|
|
4485
4583
|
}
|
|
4486
4584
|
get host() {
|
|
4487
4585
|
return this._clientServices;
|
|
4488
4586
|
}
|
|
4489
4587
|
async start() {
|
|
4490
|
-
(0, import_log19.log)("starting...",
|
|
4491
|
-
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4588
|
+
(0, import_log19.log)("starting...", void 0, {
|
|
4589
|
+
F: __dxlog_file18,
|
|
4590
|
+
L: 48,
|
|
4591
|
+
S: this,
|
|
4592
|
+
C: (f, a) => f(...a)
|
|
4495
4593
|
});
|
|
4496
4594
|
try {
|
|
4497
4595
|
this._config = await this._configProvider();
|
|
@@ -4503,19 +4601,19 @@ var WorkerRuntime = class {
|
|
|
4503
4601
|
});
|
|
4504
4602
|
await this._clientServices.open();
|
|
4505
4603
|
this._ready.wake(void 0);
|
|
4506
|
-
(0, import_log19.log)("started",
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4510
|
-
|
|
4604
|
+
(0, import_log19.log)("started", void 0, {
|
|
4605
|
+
F: __dxlog_file18,
|
|
4606
|
+
L: 62,
|
|
4607
|
+
S: this,
|
|
4608
|
+
C: (f, a) => f(...a)
|
|
4511
4609
|
});
|
|
4512
4610
|
} catch (err) {
|
|
4513
4611
|
this._ready.wake(err);
|
|
4514
|
-
import_log19.log.catch(err,
|
|
4515
|
-
|
|
4516
|
-
|
|
4517
|
-
|
|
4518
|
-
|
|
4612
|
+
import_log19.log.catch(err, void 0, {
|
|
4613
|
+
F: __dxlog_file18,
|
|
4614
|
+
L: 65,
|
|
4615
|
+
S: this,
|
|
4616
|
+
C: (f, a) => f(...a)
|
|
4519
4617
|
});
|
|
4520
4618
|
}
|
|
4521
4619
|
}
|
|
@@ -4545,11 +4643,11 @@ var WorkerRuntime = class {
|
|
|
4545
4643
|
* Selects one of the existing session fro WebRTC networking.
|
|
4546
4644
|
*/
|
|
4547
4645
|
_reconnectWebrtc() {
|
|
4548
|
-
(0, import_log19.log)("reconnecting webrtc...",
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
|
|
4552
|
-
|
|
4646
|
+
(0, import_log19.log)("reconnecting webrtc...", void 0, {
|
|
4647
|
+
F: __dxlog_file18,
|
|
4648
|
+
L: 102,
|
|
4649
|
+
S: this,
|
|
4650
|
+
C: (f, a) => f(...a)
|
|
4553
4651
|
});
|
|
4554
4652
|
if (this._sessionForNetworking) {
|
|
4555
4653
|
if (!this.sessions.has(this._sessionForNetworking)) {
|
|
@@ -4569,6 +4667,7 @@ var WorkerRuntime = class {
|
|
|
4569
4667
|
};
|
|
4570
4668
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4571
4669
|
0 && (module.exports = {
|
|
4670
|
+
ClientRpcServer,
|
|
4572
4671
|
ClientServicesHost,
|
|
4573
4672
|
DataSpace,
|
|
4574
4673
|
DataSpaceManager,
|
|
@@ -4583,7 +4682,6 @@ var WorkerRuntime = class {
|
|
|
4583
4682
|
InvitationsHandler,
|
|
4584
4683
|
InvitationsServiceImpl,
|
|
4585
4684
|
Lock,
|
|
4586
|
-
MemoryShellRuntime,
|
|
4587
4685
|
ServiceContext,
|
|
4588
4686
|
ServiceRegistry,
|
|
4589
4687
|
ShellRuntimeImpl,
|
|
@@ -4593,6 +4691,7 @@ var WorkerRuntime = class {
|
|
|
4593
4691
|
WorkerRuntime,
|
|
4594
4692
|
WorkerSession,
|
|
4595
4693
|
createAuthProvider,
|
|
4694
|
+
createDefaultModelFactory,
|
|
4596
4695
|
createStorageObjects,
|
|
4597
4696
|
getNetworkPeers,
|
|
4598
4697
|
isLocked,
|