@dxos/client-services 0.1.58-main.cbf3753 → 0.1.58-main.d483d07

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/lib/browser/{chunk-HBVO7V6N.mjs → chunk-MZTNVRVG.mjs} +253 -179
  2. package/dist/lib/browser/chunk-MZTNVRVG.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +11 -11
  4. package/dist/lib/browser/index.mjs.map +3 -3
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/packlets/testing/index.mjs +5 -5
  7. package/dist/lib/browser/packlets/testing/index.mjs.map +3 -3
  8. package/dist/lib/node/index.cjs +301 -227
  9. package/dist/lib/node/index.cjs.map +4 -4
  10. package/dist/lib/node/meta.json +1 -1
  11. package/dist/lib/node/packlets/testing/index.cjs +298 -224
  12. package/dist/lib/node/packlets/testing/index.cjs.map +4 -4
  13. package/dist/types/src/packlets/devtools/devtools.d.ts.map +1 -1
  14. package/dist/types/src/packlets/identity/authenticator.d.ts.map +1 -1
  15. package/dist/types/src/packlets/invitations/device-invitation-protocol.d.ts +1 -1
  16. package/dist/types/src/packlets/invitations/device-invitation-protocol.d.ts.map +1 -1
  17. package/dist/types/src/packlets/invitations/invitation-extension.d.ts.map +1 -1
  18. package/dist/types/src/packlets/invitations/invitations-handler.d.ts +3 -3
  19. package/dist/types/src/packlets/invitations/invitations-handler.d.ts.map +1 -1
  20. package/dist/types/src/packlets/invitations/invitations-service.d.ts.map +1 -1
  21. package/dist/types/src/packlets/invitations/space-invitation-protocol.d.ts +1 -1
  22. package/dist/types/src/packlets/invitations/space-invitation-protocol.d.ts.map +1 -1
  23. package/dist/types/src/packlets/services/diagnostics.d.ts.map +1 -1
  24. package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
  25. package/dist/types/src/packlets/services/service-host.d.ts +1 -0
  26. package/dist/types/src/packlets/services/service-host.d.ts.map +1 -1
  27. package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
  28. package/dist/types/src/packlets/spaces/data-space.d.ts +1 -1
  29. package/dist/types/src/packlets/spaces/data-space.d.ts.map +1 -1
  30. package/dist/types/src/packlets/spaces/spaces-service.d.ts +2 -2
  31. package/dist/types/src/packlets/spaces/spaces-service.d.ts.map +1 -1
  32. package/dist/types/src/packlets/testing/invitation-utils.d.ts +5 -5
  33. package/dist/types/src/packlets/testing/invitation-utils.d.ts.map +1 -1
  34. package/dist/types/src/packlets/testing/test-builder.d.ts +1 -1
  35. package/dist/types/src/packlets/testing/test-builder.d.ts.map +1 -1
  36. package/dist/types/src/packlets/vault/iframe-host-runtime.d.ts.map +1 -1
  37. package/dist/types/src/packlets/vault/shell-runtime.d.ts +1 -1
  38. package/dist/types/src/packlets/vault/shell-runtime.d.ts.map +1 -1
  39. package/dist/types/src/packlets/vault/worker-runtime.d.ts.map +1 -1
  40. package/dist/types/src/version.d.ts +1 -1
  41. package/package.json +35 -35
  42. package/src/packlets/devices/devices-service.test.ts +1 -1
  43. package/src/packlets/devtools/devtools.ts +1 -1
  44. package/src/packlets/identity/authenticator.ts +2 -5
  45. package/src/packlets/identity/identity-manager.test.ts +1 -1
  46. package/src/packlets/identity/identity-service.test.ts +1 -1
  47. package/src/packlets/identity/identity.test.ts +1 -1
  48. package/src/packlets/invitations/device-invitation-protocol.ts +1 -1
  49. package/src/packlets/invitations/invitation-extension.ts +1 -2
  50. package/src/packlets/invitations/invitations-handler.ts +7 -8
  51. package/src/packlets/invitations/invitations-service.ts +5 -5
  52. package/src/packlets/invitations/space-invitation-protocol.ts +1 -1
  53. package/src/packlets/network/network-service.test.ts +1 -1
  54. package/src/packlets/services/diagnostics.ts +2 -2
  55. package/src/packlets/services/service-context.ts +7 -13
  56. package/src/packlets/services/service-host.test.ts +3 -3
  57. package/src/packlets/services/service-host.ts +42 -6
  58. package/src/packlets/services/service-registry.test.ts +1 -1
  59. package/src/packlets/spaces/data-space-manager.test.ts +1 -1
  60. package/src/packlets/spaces/data-space-manager.ts +1 -1
  61. package/src/packlets/spaces/data-space.ts +11 -3
  62. package/src/packlets/spaces/spaces-service.test.ts +1 -1
  63. package/src/packlets/spaces/spaces-service.ts +31 -10
  64. package/src/packlets/storage/storage.ts +10 -10
  65. package/src/packlets/testing/invitation-utils.ts +9 -9
  66. package/src/packlets/testing/test-builder.ts +3 -3
  67. package/src/packlets/vault/iframe-host-runtime.ts +1 -1
  68. package/src/packlets/vault/iframe-proxy-runtime.ts +1 -1
  69. package/src/packlets/vault/shell-runtime.ts +4 -4
  70. package/src/packlets/vault/worker-runtime.ts +9 -6
  71. package/src/version.ts +1 -1
  72. package/dist/lib/browser/chunk-HBVO7V6N.mjs.map +0 -7
@@ -416,7 +416,6 @@ var createAuthProvider = (signer) => async (nonce) => {
416
416
  return Credential.encode(credential);
417
417
  };
418
418
  var TrustedKeySetAuthVerifier = class {
419
- // prettier-ignore
420
419
  constructor(_params) {
421
420
  this._params = _params;
422
421
  this._ctx = new import_context2.Context();
@@ -431,7 +430,7 @@ var TrustedKeySetAuthVerifier = class {
431
430
  credential
432
431
  }, {
433
432
  F: __dxlog_file,
434
- L: 59,
433
+ L: 56,
435
434
  S: this,
436
435
  C: (f, a) => f(...a)
437
436
  });
@@ -441,7 +440,7 @@ var TrustedKeySetAuthVerifier = class {
441
440
  result
442
441
  }, {
443
442
  F: __dxlog_file,
444
- L: 63,
443
+ L: 60,
445
444
  S: this,
446
445
  C: (f, a) => f(...a)
447
446
  });
@@ -453,7 +452,7 @@ var TrustedKeySetAuthVerifier = class {
453
452
  credential
454
453
  }, {
455
454
  F: __dxlog_file,
456
- L: 68,
455
+ L: 65,
457
456
  S: this,
458
457
  C: (f, a) => f(...a)
459
458
  });
@@ -464,7 +463,7 @@ var TrustedKeySetAuthVerifier = class {
464
463
  key: credential.issuer
465
464
  }, {
466
465
  F: __dxlog_file,
467
- L: 73,
466
+ L: 70,
468
467
  S: this,
469
468
  C: (f, a) => f(...a)
470
469
  });
@@ -480,7 +479,7 @@ var TrustedKeySetAuthVerifier = class {
480
479
  key: credential.issuer
481
480
  }, {
482
481
  F: __dxlog_file,
483
- L: 84,
482
+ L: 81,
484
483
  S: this,
485
484
  C: (f, a) => f(...a)
486
485
  });
@@ -490,7 +489,7 @@ var TrustedKeySetAuthVerifier = class {
490
489
  key: credential.issuer
491
490
  }, {
492
491
  F: __dxlog_file,
493
- L: 87,
492
+ L: 84,
494
493
  S: this,
495
494
  C: (f, a) => f(...a)
496
495
  });
@@ -1220,7 +1219,6 @@ var import_async8 = require("@dxos/async");
1220
1219
  var import_client_protocol2 = require("@dxos/client-protocol");
1221
1220
  var import_context5 = require("@dxos/context");
1222
1221
  var import_credentials7 = require("@dxos/credentials");
1223
- var import_errors2 = require("@dxos/errors");
1224
1222
  var import_invariant6 = require("@dxos/invariant");
1225
1223
  var import_keys6 = require("@dxos/keys");
1226
1224
  var import_log5 = require("@dxos/log");
@@ -1232,7 +1230,6 @@ var import_invitations2 = require("@dxos/protocols/proto/dxos/halo/invitations")
1232
1230
  // packages/sdk/client-services/src/packlets/invitations/invitation-extension.ts
1233
1231
  var import_async7 = require("@dxos/async");
1234
1232
  var import_context4 = require("@dxos/context");
1235
- var import_errors = require("@dxos/errors");
1236
1233
  var import_invariant5 = require("@dxos/invariant");
1237
1234
  var import_keys5 = require("@dxos/keys");
1238
1235
  var import_log4 = require("@dxos/log");
@@ -1270,7 +1267,7 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
1270
1267
  options: async (options) => {
1271
1268
  (0, import_invariant5.invariant)(!this._remoteOptions, "Remote options already set.", {
1272
1269
  F: __dxlog_file6,
1273
- L: 88,
1270
+ L: 87,
1274
1271
  S: this,
1275
1272
  A: [
1276
1273
  "!this._remoteOptions",
@@ -1287,7 +1284,7 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
1287
1284
  id: traceId
1288
1285
  }), {
1289
1286
  F: __dxlog_file6,
1290
- L: 97,
1287
+ L: 96,
1291
1288
  S: this,
1292
1289
  C: (f, a) => f(...a)
1293
1290
  });
@@ -1297,7 +1294,7 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
1297
1294
  invitationId
1298
1295
  }, {
1299
1296
  F: __dxlog_file6,
1300
- L: 101,
1297
+ L: 100,
1301
1298
  S: this,
1302
1299
  C: (f, a) => f(...a)
1303
1300
  });
@@ -1311,7 +1308,7 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
1311
1308
  guestProfile: profile
1312
1309
  }, {
1313
1310
  F: __dxlog_file6,
1314
- L: 110,
1311
+ L: 109,
1315
1312
  S: this,
1316
1313
  C: (f, a) => f(...a)
1317
1314
  });
@@ -1324,7 +1321,7 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
1324
1321
  id: traceId
1325
1322
  }), {
1326
1323
  F: __dxlog_file6,
1327
- L: 117,
1324
+ L: 116,
1328
1325
  S: this,
1329
1326
  C: (f, a) => f(...a)
1330
1327
  });
@@ -1339,7 +1336,7 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
1339
1336
  id: traceId
1340
1337
  }), {
1341
1338
  F: __dxlog_file6,
1342
- L: 126,
1339
+ L: 125,
1343
1340
  S: this,
1344
1341
  C: (f, a) => f(...a)
1345
1342
  });
@@ -1347,14 +1344,14 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
1347
1344
  authCode: code
1348
1345
  }, {
1349
1346
  F: __dxlog_file6,
1350
- L: 127,
1347
+ L: 126,
1351
1348
  S: this,
1352
1349
  C: (f, a) => f(...a)
1353
1350
  });
1354
1351
  let status = import_invitations.AuthenticationResponse.Status.OK;
1355
1352
  (0, import_invariant5.invariant)(this.invitation, "Invitation is not set.", {
1356
1353
  F: __dxlog_file6,
1357
- L: 130,
1354
+ L: 129,
1358
1355
  S: this,
1359
1356
  A: [
1360
1357
  "this.invitation",
@@ -1365,7 +1362,7 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
1365
1362
  case import_services2.Invitation.AuthMethod.NONE: {
1366
1363
  (0, import_log4.log)("authentication not required", void 0, {
1367
1364
  F: __dxlog_file6,
1368
- L: 133,
1365
+ L: 132,
1369
1366
  S: this,
1370
1367
  C: (f, a) => f(...a)
1371
1368
  });
@@ -1390,7 +1387,7 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
1390
1387
  authMethod: this.invitation.authMethod
1391
1388
  }, {
1392
1389
  F: __dxlog_file6,
1393
- L: 151,
1390
+ L: 150,
1394
1391
  S: this,
1395
1392
  C: (f, a) => f(...a)
1396
1393
  });
@@ -1405,7 +1402,7 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
1405
1402
  }
1406
1403
  }), {
1407
1404
  F: __dxlog_file6,
1408
- L: 157,
1405
+ L: 156,
1409
1406
  S: this,
1410
1407
  C: (f, a) => f(...a)
1411
1408
  });
@@ -1419,14 +1416,14 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
1419
1416
  id: traceId
1420
1417
  }), {
1421
1418
  F: __dxlog_file6,
1422
- L: 163,
1419
+ L: 162,
1423
1420
  S: this,
1424
1421
  C: (f, a) => f(...a)
1425
1422
  });
1426
1423
  try {
1427
1424
  (0, import_invariant5.invariant)(this.invitation, "Invitation is not set.", {
1428
1425
  F: __dxlog_file6,
1429
- L: 166,
1426
+ L: 165,
1430
1427
  S: this,
1431
1428
  A: [
1432
1429
  "this.invitation",
@@ -1441,7 +1438,7 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
1441
1438
  id: traceId
1442
1439
  }), {
1443
1440
  F: __dxlog_file6,
1444
- L: 174,
1441
+ L: 173,
1445
1442
  S: this,
1446
1443
  C: (f, a) => f(...a)
1447
1444
  });
@@ -1464,7 +1461,7 @@ var InvitationHostExtension = class extends import_teleport.RpcExtension {
1464
1461
  timeout: OPTIONS_TIMEOUT
1465
1462
  }));
1466
1463
  if (this._remoteOptions?.role !== import_invitations.Options.Role.GUEST) {
1467
- throw new import_errors.InvalidInvitationExtensionRoleError(void 0, {
1464
+ throw new import_protocols3.InvalidInvitationExtensionRoleError(void 0, {
1468
1465
  expected: import_invitations.Options.Role.GUEST,
1469
1466
  remoteOptions: this._remoteOptions
1470
1467
  });
@@ -1498,7 +1495,7 @@ var InvitationGuestExtension = class extends import_teleport.RpcExtension {
1498
1495
  options: async (options) => {
1499
1496
  (0, import_invariant5.invariant)(!this._remoteOptions, "Remote options already set.", {
1500
1497
  F: __dxlog_file6,
1501
- L: 241,
1498
+ L: 240,
1502
1499
  S: this,
1503
1500
  A: [
1504
1501
  "!this._remoteOptions",
@@ -1525,7 +1522,7 @@ var InvitationGuestExtension = class extends import_teleport.RpcExtension {
1525
1522
  try {
1526
1523
  (0, import_log4.log)("begin options", void 0, {
1527
1524
  F: __dxlog_file6,
1528
- L: 262,
1525
+ L: 261,
1529
1526
  S: this,
1530
1527
  C: (f, a) => f(...a)
1531
1528
  });
@@ -1537,12 +1534,12 @@ var InvitationGuestExtension = class extends import_teleport.RpcExtension {
1537
1534
  }));
1538
1535
  (0, import_log4.log)("end options", void 0, {
1539
1536
  F: __dxlog_file6,
1540
- L: 265,
1537
+ L: 264,
1541
1538
  S: this,
1542
1539
  C: (f, a) => f(...a)
1543
1540
  });
1544
1541
  if (this._remoteOptions?.role !== import_invitations.Options.Role.HOST) {
1545
- throw new import_errors.InvalidInvitationExtensionRoleError(void 0, {
1542
+ throw new import_protocols3.InvalidInvitationExtensionRoleError(void 0, {
1546
1543
  expected: import_invitations.Options.Role.HOST,
1547
1544
  remoteOptions: this._remoteOptions
1548
1545
  });
@@ -1551,7 +1548,7 @@ var InvitationGuestExtension = class extends import_teleport.RpcExtension {
1551
1548
  } catch (err) {
1552
1549
  (0, import_log4.log)("openError", err, {
1553
1550
  F: __dxlog_file6,
1554
- L: 275,
1551
+ L: 274,
1555
1552
  S: this,
1556
1553
  C: (f, a) => f(...a)
1557
1554
  });
@@ -1561,7 +1558,7 @@ var InvitationGuestExtension = class extends import_teleport.RpcExtension {
1561
1558
  async onClose() {
1562
1559
  (0, import_log4.log)("onClose", void 0, {
1563
1560
  F: __dxlog_file6,
1564
- L: 281,
1561
+ L: 280,
1565
1562
  S: this,
1566
1563
  C: (f, a) => f(...a)
1567
1564
  });
@@ -1584,7 +1581,7 @@ var InvitationsHandler = class {
1584
1581
  const authCode = options?.authCode ?? (authMethod === import_services3.Invitation.AuthMethod.SHARED_SECRET ? (0, import_credentials7.generatePasscode)(import_client_protocol2.AUTHENTICATION_CODE_LENGTH) : void 0);
1585
1582
  (0, import_invariant6.invariant)(protocol, void 0, {
1586
1583
  F: __dxlog_file7,
1587
- L: 76,
1584
+ L: 75,
1588
1585
  S: this,
1589
1586
  A: [
1590
1587
  "protocol",
@@ -1613,7 +1610,7 @@ var InvitationsHandler = class {
1613
1610
  ...protocol.toJSON()
1614
1611
  }, {
1615
1612
  F: __dxlog_file7,
1616
- L: 98,
1613
+ L: 97,
1617
1614
  S: this,
1618
1615
  C: (f, a) => f(...a)
1619
1616
  });
@@ -1638,7 +1635,7 @@ var InvitationsHandler = class {
1638
1635
  const deviceKey = admissionRequest.device?.deviceKey ?? admissionRequest.space?.deviceKey;
1639
1636
  (0, import_invariant6.invariant)(deviceKey, void 0, {
1640
1637
  F: __dxlog_file7,
1641
- L: 119,
1638
+ L: 118,
1642
1639
  S: this,
1643
1640
  A: [
1644
1641
  "deviceKey",
@@ -1661,7 +1658,7 @@ var InvitationsHandler = class {
1661
1658
  id: traceId
1662
1659
  }), {
1663
1660
  F: __dxlog_file7,
1664
- L: 137,
1661
+ L: 136,
1665
1662
  S: this,
1666
1663
  C: (f, a) => f(...a)
1667
1664
  });
@@ -1669,7 +1666,7 @@ var InvitationsHandler = class {
1669
1666
  ...protocol.toJSON()
1670
1667
  }, {
1671
1668
  F: __dxlog_file7,
1672
- L: 138,
1669
+ L: 137,
1673
1670
  S: this,
1674
1671
  C: (f, a) => f(...a)
1675
1672
  });
@@ -1685,7 +1682,7 @@ var InvitationsHandler = class {
1685
1682
  ...protocol.toJSON()
1686
1683
  }, {
1687
1684
  F: __dxlog_file7,
1688
- L: 141,
1685
+ L: 140,
1689
1686
  S: this,
1690
1687
  C: (f, a) => f(...a)
1691
1688
  });
@@ -1697,7 +1694,7 @@ var InvitationsHandler = class {
1697
1694
  id: traceId
1698
1695
  }), {
1699
1696
  F: __dxlog_file7,
1700
- L: 143,
1697
+ L: 142,
1701
1698
  S: this,
1702
1699
  C: (f, a) => f(...a)
1703
1700
  });
@@ -1707,7 +1704,7 @@ var InvitationsHandler = class {
1707
1704
  ...protocol.toJSON()
1708
1705
  }, {
1709
1706
  F: __dxlog_file7,
1710
- L: 146,
1707
+ L: 145,
1711
1708
  S: this,
1712
1709
  C: (f, a) => f(...a)
1713
1710
  });
@@ -1718,7 +1715,7 @@ var InvitationsHandler = class {
1718
1715
  } else {
1719
1716
  import_log5.log.error("failed", err, {
1720
1717
  F: __dxlog_file7,
1721
- L: 149,
1718
+ L: 148,
1722
1719
  S: this,
1723
1720
  C: (f, a) => f(...a)
1724
1721
  });
@@ -1729,7 +1726,7 @@ var InvitationsHandler = class {
1729
1726
  error: err
1730
1727
  }), {
1731
1728
  F: __dxlog_file7,
1732
- L: 152,
1729
+ L: 151,
1733
1730
  S: this,
1734
1731
  C: (f, a) => f(...a)
1735
1732
  });
@@ -1742,7 +1739,7 @@ var InvitationsHandler = class {
1742
1739
  });
1743
1740
  },
1744
1741
  onError: (err) => {
1745
- if (err instanceof import_errors2.InvalidInvitationExtensionRoleError) {
1742
+ if (err instanceof import_protocols4.InvalidInvitationExtensionRoleError) {
1746
1743
  return;
1747
1744
  }
1748
1745
  if (err instanceof import_async8.TimeoutError) {
@@ -1750,7 +1747,7 @@ var InvitationsHandler = class {
1750
1747
  ...protocol.toJSON()
1751
1748
  }, {
1752
1749
  F: __dxlog_file7,
1753
- L: 167,
1750
+ L: 166,
1754
1751
  S: this,
1755
1752
  C: (f, a) => f(...a)
1756
1753
  });
@@ -1761,7 +1758,7 @@ var InvitationsHandler = class {
1761
1758
  } else {
1762
1759
  import_log5.log.error("failed", err, {
1763
1760
  F: __dxlog_file7,
1764
- L: 170,
1761
+ L: 169,
1765
1762
  S: this,
1766
1763
  C: (f, a) => f(...a)
1767
1764
  });
@@ -1789,7 +1786,7 @@ var InvitationsHandler = class {
1789
1786
  state: import_services3.Invitation.State.CONNECTING
1790
1787
  });
1791
1788
  });
1792
- const observable = new import_client_protocol2.CancellableInvitationObservable({
1789
+ const observable = new import_client_protocol2.CancellableInvitation({
1793
1790
  initialInvitation: invitation,
1794
1791
  subscriber: stream.observable,
1795
1792
  onCancel: async () => {
@@ -1806,7 +1803,7 @@ var InvitationsHandler = class {
1806
1803
  const { timeout = import_client_protocol2.INVITATION_TIMEOUT } = invitation;
1807
1804
  (0, import_invariant6.invariant)(protocol, void 0, {
1808
1805
  F: __dxlog_file7,
1809
- L: 211,
1806
+ L: 210,
1810
1807
  S: this,
1811
1808
  A: [
1812
1809
  "protocol",
@@ -1820,7 +1817,7 @@ var InvitationsHandler = class {
1820
1817
  const setState = (newData) => {
1821
1818
  (0, import_invariant6.invariant)(newData.state !== void 0, void 0, {
1822
1819
  F: __dxlog_file7,
1823
- L: 222,
1820
+ L: 221,
1824
1821
  S: this,
1825
1822
  A: [
1826
1823
  "newData.state !== undefined",
@@ -1840,7 +1837,7 @@ var InvitationsHandler = class {
1840
1837
  ...protocol.toJSON()
1841
1838
  }, {
1842
1839
  F: __dxlog_file7,
1843
- L: 230,
1840
+ L: 229,
1844
1841
  S: this,
1845
1842
  C: (f, a) => f(...a)
1846
1843
  });
@@ -1850,7 +1847,7 @@ var InvitationsHandler = class {
1850
1847
  } else {
1851
1848
  import_log5.log.warn("auth failed", err, {
1852
1849
  F: __dxlog_file7,
1853
- L: 233,
1850
+ L: 232,
1854
1851
  S: this,
1855
1852
  C: (f, a) => f(...a)
1856
1853
  });
@@ -1864,7 +1861,7 @@ var InvitationsHandler = class {
1864
1861
  ...protocol.toJSON()
1865
1862
  }, {
1866
1863
  F: __dxlog_file7,
1867
- L: 241,
1864
+ L: 240,
1868
1865
  S: this,
1869
1866
  C: (f, a) => f(...a)
1870
1867
  });
@@ -1879,7 +1876,7 @@ var InvitationsHandler = class {
1879
1876
  currentState
1880
1877
  }, {
1881
1878
  F: __dxlog_file7,
1882
- L: 251,
1879
+ L: 250,
1883
1880
  S: this,
1884
1881
  C: (f, a) => f(...a)
1885
1882
  });
@@ -1894,7 +1891,7 @@ var InvitationsHandler = class {
1894
1891
  id: traceId
1895
1892
  }), {
1896
1893
  F: __dxlog_file7,
1897
- L: 260,
1894
+ L: 259,
1898
1895
  S: this,
1899
1896
  C: (f, a) => f(...a)
1900
1897
  });
@@ -1906,7 +1903,7 @@ var InvitationsHandler = class {
1906
1903
  ...protocol.toJSON()
1907
1904
  }, {
1908
1905
  F: __dxlog_file7,
1909
- L: 268,
1906
+ L: 267,
1910
1907
  S: this,
1911
1908
  C: (f, a) => f(...a)
1912
1909
  });
@@ -1917,7 +1914,7 @@ var InvitationsHandler = class {
1917
1914
  ...protocol.toJSON()
1918
1915
  }, {
1919
1916
  F: __dxlog_file7,
1920
- L: 272,
1917
+ L: 271,
1921
1918
  S: this,
1922
1919
  C: (f, a) => f(...a)
1923
1920
  });
@@ -1927,7 +1924,7 @@ var InvitationsHandler = class {
1927
1924
  response: introductionResponse
1928
1925
  }, {
1929
1926
  F: __dxlog_file7,
1930
- L: 276,
1927
+ L: 275,
1931
1928
  S: this,
1932
1929
  C: (f, a) => f(...a)
1933
1930
  });
@@ -1939,7 +1936,7 @@ var InvitationsHandler = class {
1939
1936
  for (let attempt = 1; attempt <= MAX_OTP_ATTEMPTS; attempt++) {
1940
1937
  (0, import_log5.log)("guest waiting for authentication code...", void 0, {
1941
1938
  F: __dxlog_file7,
1942
- L: 285,
1939
+ L: 284,
1943
1940
  S: this,
1944
1941
  C: (f, a) => f(...a)
1945
1942
  });
@@ -1951,7 +1948,7 @@ var InvitationsHandler = class {
1951
1948
  });
1952
1949
  (0, import_log5.log)("sending authentication request", void 0, {
1953
1950
  F: __dxlog_file7,
1954
- L: 289,
1951
+ L: 288,
1955
1952
  S: this,
1956
1953
  C: (f, a) => f(...a)
1957
1954
  });
@@ -1972,7 +1969,7 @@ var InvitationsHandler = class {
1972
1969
  attempt
1973
1970
  }, {
1974
1971
  F: __dxlog_file7,
1975
- L: 300,
1972
+ L: 299,
1976
1973
  S: this,
1977
1974
  C: (f, a) => f(...a)
1978
1975
  });
@@ -1989,7 +1986,7 @@ var InvitationsHandler = class {
1989
1986
  ...protocol.toJSON()
1990
1987
  }, {
1991
1988
  F: __dxlog_file7,
1992
- L: 311,
1989
+ L: 310,
1993
1990
  S: this,
1994
1991
  C: (f, a) => f(...a)
1995
1992
  });
@@ -2001,7 +1998,7 @@ var InvitationsHandler = class {
2001
1998
  ...protocol.toJSON()
2002
1999
  }, {
2003
2000
  F: __dxlog_file7,
2004
- L: 322,
2001
+ L: 321,
2005
2002
  S: this,
2006
2003
  C: (f, a) => f(...a)
2007
2004
  });
@@ -2013,7 +2010,7 @@ var InvitationsHandler = class {
2013
2010
  id: traceId
2014
2011
  }), {
2015
2012
  F: __dxlog_file7,
2016
- L: 324,
2013
+ L: 323,
2017
2014
  S: this,
2018
2015
  C: (f, a) => f(...a)
2019
2016
  });
@@ -2023,7 +2020,7 @@ var InvitationsHandler = class {
2023
2020
  ...protocol.toJSON()
2024
2021
  }, {
2025
2022
  F: __dxlog_file7,
2026
- L: 327,
2023
+ L: 326,
2027
2024
  S: this,
2028
2025
  C: (f, a) => f(...a)
2029
2026
  });
@@ -2033,7 +2030,7 @@ var InvitationsHandler = class {
2033
2030
  } else {
2034
2031
  (0, import_log5.log)("auth failed", err, {
2035
2032
  F: __dxlog_file7,
2036
- L: 330,
2033
+ L: 329,
2037
2034
  S: this,
2038
2035
  C: (f, a) => f(...a)
2039
2036
  });
@@ -2044,7 +2041,7 @@ var InvitationsHandler = class {
2044
2041
  error: err
2045
2042
  }), {
2046
2043
  F: __dxlog_file7,
2047
- L: 333,
2044
+ L: 332,
2048
2045
  S: this,
2049
2046
  C: (f, a) => f(...a)
2050
2047
  });
@@ -2054,7 +2051,7 @@ var InvitationsHandler = class {
2054
2051
  });
2055
2052
  },
2056
2053
  onError: (err) => {
2057
- if (err instanceof import_errors2.InvalidInvitationExtensionRoleError) {
2054
+ if (err instanceof import_protocols4.InvalidInvitationExtensionRoleError) {
2058
2055
  return;
2059
2056
  }
2060
2057
  if (err instanceof import_async8.TimeoutError) {
@@ -2062,7 +2059,7 @@ var InvitationsHandler = class {
2062
2059
  ...protocol.toJSON()
2063
2060
  }, {
2064
2061
  F: __dxlog_file7,
2065
- L: 344,
2062
+ L: 343,
2066
2063
  S: this,
2067
2064
  C: (f, a) => f(...a)
2068
2065
  });
@@ -2072,7 +2069,7 @@ var InvitationsHandler = class {
2072
2069
  } else {
2073
2070
  (0, import_log5.log)("auth failed", err, {
2074
2071
  F: __dxlog_file7,
2075
- L: 347,
2072
+ L: 346,
2076
2073
  S: this,
2077
2074
  C: (f, a) => f(...a)
2078
2075
  });
@@ -2085,7 +2082,7 @@ var InvitationsHandler = class {
2085
2082
  (0, import_async8.scheduleTask)(ctx, async () => {
2086
2083
  (0, import_invariant6.invariant)(invitation.swarmKey, void 0, {
2087
2084
  F: __dxlog_file7,
2088
- L: 357,
2085
+ L: 356,
2089
2086
  S: this,
2090
2087
  A: [
2091
2088
  "invitation.swarmKey",
@@ -2107,7 +2104,7 @@ var InvitationsHandler = class {
2107
2104
  state: import_services3.Invitation.State.CONNECTING
2108
2105
  });
2109
2106
  });
2110
- const observable = new import_client_protocol2.AuthenticatingInvitationObservable({
2107
+ const observable = new import_client_protocol2.AuthenticatingInvitation({
2111
2108
  initialInvitation: invitation,
2112
2109
  subscriber: stream.observable,
2113
2110
  onCancel: async () => {
@@ -2531,9 +2528,6 @@ var import_log8 = require("@dxos/log");
2531
2528
  var import_protocols5 = require("@dxos/protocols");
2532
2529
  var import_services6 = require("@dxos/protocols/proto/dxos/client/services");
2533
2530
 
2534
- // packages/sdk/client-services/src/version.ts
2535
- var DXOS_VERSION = "0.1.58-main.cbf3753";
2536
-
2537
2531
  // packages/sdk/client-services/src/packlets/services/platform.ts
2538
2532
  var getPlatform = () => {
2539
2533
  if (process.browser) {
@@ -2562,6 +2556,9 @@ var getPlatform = () => {
2562
2556
  }
2563
2557
  };
2564
2558
 
2559
+ // packages/sdk/client-services/src/version.ts
2560
+ var DXOS_VERSION = "0.1.58-main.d483d07";
2561
+
2565
2562
  // packages/sdk/client-services/src/packlets/services/diagnostics.ts
2566
2563
  var __dxlog_file10 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/services/diagnostics.ts";
2567
2564
  var DEFAULT_TIMEOUT = 1e3;
@@ -2685,13 +2682,13 @@ var import_async14 = require("@dxos/async");
2685
2682
  var import_context9 = require("@dxos/context");
2686
2683
  var import_credentials14 = require("@dxos/credentials");
2687
2684
  var import_debug7 = require("@dxos/debug");
2688
- var import_echo_pipeline3 = require("@dxos/echo-pipeline");
2685
+ var import_echo_pipeline2 = require("@dxos/echo-pipeline");
2689
2686
  var import_feed_store4 = require("@dxos/feed-store");
2690
- var import_invariant12 = require("@dxos/invariant");
2687
+ var import_invariant13 = require("@dxos/invariant");
2691
2688
  var import_keyring = require("@dxos/keyring");
2692
2689
  var import_keys10 = require("@dxos/keys");
2693
2690
  var import_log13 = require("@dxos/log");
2694
- var import_protocols9 = require("@dxos/protocols");
2691
+ var import_protocols10 = require("@dxos/protocols");
2695
2692
  var import_services10 = require("@dxos/protocols/proto/dxos/client/services");
2696
2693
  var import_teleport_extension_object_sync = require("@dxos/teleport-extension-object-sync");
2697
2694
  var import_tracing4 = require("@dxos/tracing");
@@ -2704,7 +2701,7 @@ var import_credentials13 = require("@dxos/credentials");
2704
2701
  var import_invariant11 = require("@dxos/invariant");
2705
2702
  var import_keys9 = require("@dxos/keys");
2706
2703
  var import_log11 = require("@dxos/log");
2707
- var import_protocols7 = require("@dxos/protocols");
2704
+ var import_protocols8 = require("@dxos/protocols");
2708
2705
  var import_services8 = require("@dxos/protocols/proto/dxos/client/services");
2709
2706
  var import_teleport_extension_gossip = require("@dxos/teleport-extension-gossip");
2710
2707
  var import_util5 = require("@dxos/util");
@@ -2715,9 +2712,9 @@ var import_client_protocol3 = require("@dxos/client-protocol");
2715
2712
  var import_context7 = require("@dxos/context");
2716
2713
  var import_debug4 = require("@dxos/debug");
2717
2714
  var import_echo_pipeline = require("@dxos/echo-pipeline");
2718
- var import_errors3 = require("@dxos/errors");
2719
2715
  var import_keys8 = require("@dxos/keys");
2720
2716
  var import_log10 = require("@dxos/log");
2717
+ var import_protocols7 = require("@dxos/protocols");
2721
2718
  var import_services7 = require("@dxos/protocols/proto/dxos/client/services");
2722
2719
  var import_credentials10 = require("@dxos/protocols/proto/dxos/halo/credentials");
2723
2720
  var import_timeframe2 = require("@dxos/timeframe");
@@ -3026,7 +3023,7 @@ var DataSpace = class DataSpace2 {
3026
3023
  this._signingContext = params.signingContext;
3027
3024
  this._callbacks = params.callbacks ?? {};
3028
3025
  this.authVerifier = new TrustedKeySetAuthVerifier({
3029
- trustedKeysProvider: () => new import_util4.ComplexSet(import_keys8.PublicKey.hash, Array.from(this._inner.spaceState.members.keys())),
3026
+ trustedKeysProvider: () => new import_util4.ComplexSet(import_keys8.PublicKey.hash, Array.from(this._inner.spaceState.members.values()).filter((member) => !member.removed).map((member) => member.key)),
3030
3027
  update: this._inner.stateUpdate,
3031
3028
  authTimeout: import_client_protocol3.AUTH_TIMEOUT
3032
3029
  });
@@ -3036,7 +3033,7 @@ var DataSpace = class DataSpace2 {
3036
3033
  state: import_services7.SpaceState[this._state]
3037
3034
  }, {
3038
3035
  F: __dxlog_file12,
3039
- L: 112,
3036
+ L: 118,
3040
3037
  S: this,
3041
3038
  C: (f, a) => f(...a)
3042
3039
  });
@@ -3070,6 +3067,7 @@ var DataSpace = class DataSpace2 {
3070
3067
  await this._open();
3071
3068
  }
3072
3069
  async _open() {
3070
+ await this._gossip.open();
3073
3071
  await this._notarizationPlugin.open();
3074
3072
  await this._inner.spaceState.addCredentialProcessor(this._notarizationPlugin);
3075
3073
  await this._inner.open(new import_context7.Context());
@@ -3078,7 +3076,7 @@ var DataSpace = class DataSpace2 {
3078
3076
  state: import_services7.SpaceState[this._state]
3079
3077
  }, {
3080
3078
  F: __dxlog_file12,
3081
- L: 158,
3079
+ L: 165,
3082
3080
  S: this,
3083
3081
  C: (f, a) => f(...a)
3084
3082
  });
@@ -3096,7 +3094,7 @@ var DataSpace = class DataSpace2 {
3096
3094
  state: import_services7.SpaceState[this._state]
3097
3095
  }, {
3098
3096
  F: __dxlog_file12,
3099
- L: 172,
3097
+ L: 179,
3100
3098
  S: this,
3101
3099
  C: (f, a) => f(...a)
3102
3100
  });
@@ -3107,6 +3105,7 @@ var DataSpace = class DataSpace2 {
3107
3105
  await this._inner.spaceState.removeCredentialProcessor(this._notarizationPlugin);
3108
3106
  await this._notarizationPlugin.close();
3109
3107
  await this._presence.destroy();
3108
+ await this._gossip.close();
3110
3109
  }
3111
3110
  async postMessage(channel, message) {
3112
3111
  return this._gossip.postMessage(channel, message);
@@ -3123,10 +3122,10 @@ var DataSpace = class DataSpace2 {
3123
3122
  this.metrics.pipelineInitBegin = /* @__PURE__ */ new Date();
3124
3123
  await this.initializeDataPipeline();
3125
3124
  } catch (err) {
3126
- if (err instanceof import_errors3.CancelledError) {
3125
+ if (err instanceof import_protocols7.CancelledError) {
3127
3126
  (0, import_log10.log)("data pipeline initialization cancelled", err, {
3128
3127
  F: __dxlog_file12,
3129
- L: 203,
3128
+ L: 211,
3130
3129
  S: this,
3131
3130
  C: (f, a) => f(...a)
3132
3131
  });
@@ -3134,7 +3133,7 @@ var DataSpace = class DataSpace2 {
3134
3133
  }
3135
3134
  import_log10.log.error("Error initializing data pipeline", err, {
3136
3135
  F: __dxlog_file12,
3137
- L: 207,
3136
+ L: 215,
3138
3137
  S: this,
3139
3138
  C: (f, a) => f(...a)
3140
3139
  });
@@ -3143,7 +3142,7 @@ var DataSpace = class DataSpace2 {
3143
3142
  state: import_services7.SpaceState[this._state]
3144
3143
  }, {
3145
3144
  F: __dxlog_file12,
3146
- L: 209,
3145
+ L: 217,
3147
3146
  S: this,
3148
3147
  C: (f, a) => f(...a)
3149
3148
  });
@@ -3156,14 +3155,14 @@ var DataSpace = class DataSpace2 {
3156
3155
  }
3157
3156
  async initializeDataPipeline() {
3158
3157
  if (this._state !== import_services7.SpaceState.CONTROL_ONLY) {
3159
- throw new import_errors3.SystemError("Invalid operation");
3158
+ throw new import_protocols7.SystemError("Invalid operation");
3160
3159
  }
3161
3160
  this._state = import_services7.SpaceState.INITIALIZING;
3162
3161
  (0, import_log10.log)("new state", {
3163
3162
  state: import_services7.SpaceState[this._state]
3164
3163
  }, {
3165
3164
  F: __dxlog_file12,
3166
- L: 225,
3165
+ L: 233,
3167
3166
  S: this,
3168
3167
  C: (f, a) => f(...a)
3169
3168
  });
@@ -3174,7 +3173,7 @@ var DataSpace = class DataSpace2 {
3174
3173
  await (0, import_context7.cancelWithContext)(this._ctx, this._inner.dataPipeline.ensureEpochInitialized());
3175
3174
  (0, import_log10.log)("waiting for data pipeline to reach target timeframe", void 0, {
3176
3175
  F: __dxlog_file12,
3177
- L: 239,
3176
+ L: 247,
3178
3177
  S: this,
3179
3178
  C: (f, a) => f(...a)
3180
3179
  });
@@ -3185,7 +3184,7 @@ var DataSpace = class DataSpace2 {
3185
3184
  this.metrics.dataPipelineReady = /* @__PURE__ */ new Date();
3186
3185
  (0, import_log10.log)("data pipeline ready", void 0, {
3187
3186
  F: __dxlog_file12,
3188
- L: 248,
3187
+ L: 256,
3189
3188
  S: this,
3190
3189
  C: (f, a) => f(...a)
3191
3190
  });
@@ -3195,7 +3194,7 @@ var DataSpace = class DataSpace2 {
3195
3194
  state: import_services7.SpaceState[this._state]
3196
3195
  }, {
3197
3196
  F: __dxlog_file12,
3198
- L: 252,
3197
+ L: 260,
3199
3198
  S: this,
3200
3199
  C: (f, a) => f(...a)
3201
3200
  });
@@ -3211,7 +3210,7 @@ var DataSpace = class DataSpace2 {
3211
3210
  await this._createWritableFeeds();
3212
3211
  (0, import_log10.log)("writable feeds created", void 0, {
3213
3212
  F: __dxlog_file12,
3214
- L: 268,
3213
+ L: 276,
3215
3214
  S: this,
3216
3215
  C: (f, a) => f(...a)
3217
3216
  });
@@ -3316,7 +3315,7 @@ var DataSpace = class DataSpace2 {
3316
3315
  state: import_services7.SpaceState[this._state]
3317
3316
  }, {
3318
3317
  F: __dxlog_file12,
3319
- L: 384,
3318
+ L: 392,
3320
3319
  S: this,
3321
3320
  C: (f, a) => f(...a)
3322
3321
  });
@@ -3458,7 +3457,7 @@ var DataSpaceManager = class DataSpaceManager2 {
3458
3457
  S: this,
3459
3458
  C: (f, a) => f(...a)
3460
3459
  });
3461
- import_log11.log.trace("dxos.echo.data-space-manager.open", import_protocols7.trace.begin({
3460
+ import_log11.log.trace("dxos.echo.data-space-manager.open", import_protocols8.trace.begin({
3462
3461
  id: this._instanceId
3463
3462
  }), {
3464
3463
  F: __dxlog_file13,
@@ -3504,7 +3503,7 @@ var DataSpaceManager = class DataSpaceManager2 {
3504
3503
  space.initializeDataPipelineAsync();
3505
3504
  }
3506
3505
  }
3507
- import_log11.log.trace("dxos.echo.data-space-manager.open", import_protocols7.trace.end({
3506
+ import_log11.log.trace("dxos.echo.data-space-manager.open", import_protocols8.trace.end({
3508
3507
  id: this._instanceId
3509
3508
  }), {
3510
3509
  F: __dxlog_file13,
@@ -3758,10 +3757,9 @@ DataSpaceManager = _ts_decorate4([
3758
3757
  var import_async13 = require("@dxos/async");
3759
3758
  var import_codec_protobuf11 = require("@dxos/codec-protobuf");
3760
3759
  var import_debug6 = require("@dxos/debug");
3761
- var import_echo_pipeline2 = require("@dxos/echo-pipeline");
3762
- var import_errors4 = require("@dxos/errors");
3760
+ var import_invariant12 = require("@dxos/invariant");
3763
3761
  var import_log12 = require("@dxos/log");
3764
- var import_protocols8 = require("@dxos/protocols");
3762
+ var import_protocols9 = require("@dxos/protocols");
3765
3763
  var import_services9 = require("@dxos/protocols/proto/dxos/client/services");
3766
3764
  var __dxlog_file14 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/spaces/spaces-service.ts";
3767
3765
  var SpacesServiceImpl = class {
@@ -3781,7 +3779,7 @@ var SpacesServiceImpl = class {
3781
3779
  }
3782
3780
  async updateSpace({ spaceKey, state }) {
3783
3781
  const dataSpaceManager = await this._getDataSpaceManager();
3784
- const space = dataSpaceManager.spaces.get(spaceKey) ?? (0, import_debug6.raise)(new import_echo_pipeline2.SpaceNotFoundError(spaceKey));
3782
+ const space = dataSpaceManager.spaces.get(spaceKey) ?? (0, import_debug6.raise)(new import_protocols9.SpaceNotFoundError(spaceKey));
3785
3783
  if (state) {
3786
3784
  switch (state) {
3787
3785
  case import_services9.SpaceState.ACTIVE:
@@ -3791,7 +3789,7 @@ var SpacesServiceImpl = class {
3791
3789
  await space.deactivate();
3792
3790
  break;
3793
3791
  default:
3794
- throw new import_errors4.ApiError("Invalid space state");
3792
+ throw new import_protocols9.ApiError("Invalid space state");
3795
3793
  }
3796
3794
  }
3797
3795
  }
@@ -3824,7 +3822,7 @@ var SpacesServiceImpl = class {
3824
3822
  subscriptions.add(space.stateUpdate.on(ctx, () => scheduler.forceTrigger()));
3825
3823
  subscriptions.add(space.presence.updated.on(ctx, () => scheduler.trigger()));
3826
3824
  subscriptions.add(space.dataPipeline.onNewEpoch.on(ctx, () => scheduler.trigger()));
3827
- space.inner.controlPipeline.state.timeframeUpdate.on(ctx, () => scheduler.trigger());
3825
+ subscriptions.add(space.inner.controlPipeline.state.timeframeUpdate.on(ctx, () => scheduler.trigger()));
3828
3826
  if (space.dataPipeline.pipelineState) {
3829
3827
  subscriptions.add(space.dataPipeline.pipelineState.timeframeUpdate.on(ctx, () => scheduler.trigger()));
3830
3828
  }
@@ -3846,14 +3844,14 @@ var SpacesServiceImpl = class {
3846
3844
  }
3847
3845
  async postMessage({ spaceKey, channel, message }) {
3848
3846
  const dataSpaceManager = await this._getDataSpaceManager();
3849
- const space = dataSpaceManager.spaces.get(spaceKey) ?? (0, import_debug6.raise)(new import_echo_pipeline2.SpaceNotFoundError(spaceKey));
3847
+ const space = dataSpaceManager.spaces.get(spaceKey) ?? (0, import_debug6.raise)(new import_protocols9.SpaceNotFoundError(spaceKey));
3850
3848
  await space.postMessage(getChannelId(channel), message);
3851
3849
  }
3852
3850
  subscribeMessages({ spaceKey, channel }) {
3853
3851
  return new import_codec_protobuf11.Stream(({ ctx, next }) => {
3854
3852
  (0, import_async13.scheduleTask)(ctx, async () => {
3855
3853
  const dataSpaceManager = await this._getDataSpaceManager();
3856
- const space = dataSpaceManager.spaces.get(spaceKey) ?? (0, import_debug6.raise)(new import_echo_pipeline2.SpaceNotFoundError(spaceKey));
3854
+ const space = dataSpaceManager.spaces.get(spaceKey) ?? (0, import_debug6.raise)(new import_protocols9.SpaceNotFoundError(spaceKey));
3857
3855
  const handle = space.listen(getChannelId(channel), (message) => {
3858
3856
  next(message);
3859
3857
  });
@@ -3861,38 +3859,83 @@ var SpacesServiceImpl = class {
3861
3859
  });
3862
3860
  });
3863
3861
  }
3864
- queryCredentials({ spaceKey }) {
3865
- return new import_codec_protobuf11.Stream(({ ctx, next }) => {
3866
- const space = this._spaceManager.spaces.get(spaceKey) ?? (0, import_debug6.raise)(new import_echo_pipeline2.SpaceNotFoundError(spaceKey));
3862
+ queryCredentials({ spaceKey, noTail }) {
3863
+ return new import_codec_protobuf11.Stream(({ ctx, next, close }) => {
3864
+ const space = this._spaceManager.spaces.get(spaceKey) ?? (0, import_debug6.raise)(new import_protocols9.SpaceNotFoundError(spaceKey));
3867
3865
  const processor = {
3868
3866
  processCredential: async (credential) => {
3869
3867
  next(credential);
3870
3868
  }
3871
3869
  };
3872
3870
  ctx.onDispose(() => space.spaceState.removeCredentialProcessor(processor));
3873
- (0, import_async13.scheduleTask)(ctx, () => space.spaceState.addCredentialProcessor(processor));
3871
+ (0, import_async13.scheduleTask)(ctx, async () => {
3872
+ await space.spaceState.addCredentialProcessor(processor);
3873
+ if (noTail) {
3874
+ close();
3875
+ }
3876
+ });
3874
3877
  });
3875
3878
  }
3876
3879
  async writeCredentials({ spaceKey, credentials }) {
3877
- const space = this._spaceManager.spaces.get(spaceKey) ?? (0, import_debug6.raise)(new import_echo_pipeline2.SpaceNotFoundError(spaceKey));
3880
+ const space = this._spaceManager.spaces.get(spaceKey) ?? (0, import_debug6.raise)(new import_protocols9.SpaceNotFoundError(spaceKey));
3878
3881
  for (const credential of credentials ?? []) {
3879
- await space.controlPipeline.writer.write({
3880
- credential: {
3881
- credential
3882
- }
3883
- });
3882
+ if (credential.proof) {
3883
+ await space.controlPipeline.writer.write({
3884
+ credential: {
3885
+ credential
3886
+ }
3887
+ });
3888
+ } else {
3889
+ (0, import_invariant12.invariant)(!credential.id, "Id on unsigned credentials is not allowed", {
3890
+ F: __dxlog_file14,
3891
+ L: 168,
3892
+ S: this,
3893
+ A: [
3894
+ "!credential.id",
3895
+ "'Id on unsigned credentials is not allowed'"
3896
+ ]
3897
+ });
3898
+ (0, import_invariant12.invariant)(this._identityManager.identity, "Identity is not available", {
3899
+ F: __dxlog_file14,
3900
+ L: 169,
3901
+ S: this,
3902
+ A: [
3903
+ "this._identityManager.identity",
3904
+ "'Identity is not available'"
3905
+ ]
3906
+ });
3907
+ const signer = this._identityManager.identity.getIdentityCredentialSigner();
3908
+ (0, import_invariant12.invariant)(credential.issuer.equals(signer.getIssuer()), void 0, {
3909
+ F: __dxlog_file14,
3910
+ L: 171,
3911
+ S: this,
3912
+ A: [
3913
+ "credential.issuer.equals(signer.getIssuer())",
3914
+ ""
3915
+ ]
3916
+ });
3917
+ const signedCredential = await signer.createCredential({
3918
+ subject: credential.subject.id,
3919
+ assertion: credential.subject.assertion
3920
+ });
3921
+ await space.controlPipeline.writer.write({
3922
+ credential: {
3923
+ credential: signedCredential
3924
+ }
3925
+ });
3926
+ }
3884
3927
  }
3885
3928
  }
3886
3929
  async createEpoch({ spaceKey }) {
3887
3930
  const dataSpaceManager = await this._getDataSpaceManager();
3888
- const space = dataSpaceManager.spaces.get(spaceKey) ?? (0, import_debug6.raise)(new import_echo_pipeline2.SpaceNotFoundError(spaceKey));
3931
+ const space = dataSpaceManager.spaces.get(spaceKey) ?? (0, import_debug6.raise)(new import_protocols9.SpaceNotFoundError(spaceKey));
3889
3932
  await space.createEpoch();
3890
3933
  }
3891
3934
  _serializeSpace(space) {
3892
3935
  return {
3893
3936
  spaceKey: space.key,
3894
3937
  state: space.state,
3895
- error: space.error ? (0, import_protocols8.encodeError)(space.error) : void 0,
3938
+ error: space.error ? (0, import_protocols9.encodeError)(space.error) : void 0,
3896
3939
  pipeline: {
3897
3940
  currentEpoch: space.dataPipeline.currentEpoch,
3898
3941
  appliedEpoch: space.dataPipeline.appliedEpoch,
@@ -3919,7 +3962,7 @@ var SpacesServiceImpl = class {
3919
3962
  displayName: member.assertion.profile?.displayName
3920
3963
  }
3921
3964
  },
3922
- presence: isMe || peers.length > 0 ? import_services9.SpaceMember.PresenceState.ONLINE : import_services9.SpaceMember.PresenceState.OFFLINE,
3965
+ presence: member.removed ? import_services9.SpaceMember.PresenceState.REMOVED : isMe || peers.length > 0 ? import_services9.SpaceMember.PresenceState.ONLINE : import_services9.SpaceMember.PresenceState.OFFLINE,
3923
3966
  peerStates: peers
3924
3967
  };
3925
3968
  }),
@@ -3944,18 +3987,17 @@ function _ts_decorate5(decorators, target, key, desc) {
3944
3987
  }
3945
3988
  var __dxlog_file15 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/services/service-context.ts";
3946
3989
  var ServiceContext = class ServiceContext2 {
3947
- // prettier-ignore
3948
3990
  constructor(storage, networkManager, signalManager, modelFactory) {
3949
3991
  this.storage = storage;
3950
3992
  this.networkManager = networkManager;
3951
3993
  this.signalManager = signalManager;
3952
3994
  this.modelFactory = modelFactory;
3953
3995
  this.initialized = new import_async14.Trigger();
3954
- this.dataServiceSubscriptions = new import_echo_pipeline3.DataServiceSubscriptions();
3996
+ this.dataServiceSubscriptions = new import_echo_pipeline2.DataServiceSubscriptions();
3955
3997
  this._handlerFactories = /* @__PURE__ */ new Map();
3956
3998
  this._instanceId = import_keys10.PublicKey.random().toHex();
3957
- this.metadataStore = new import_echo_pipeline3.MetadataStore(storage.createDirectory("metadata"));
3958
- this.snapshotStore = new import_echo_pipeline3.SnapshotStore(storage.createDirectory("snapshots"));
3999
+ this.metadataStore = new import_echo_pipeline2.MetadataStore(storage.createDirectory("metadata"));
4000
+ this.snapshotStore = new import_echo_pipeline2.SnapshotStore(storage.createDirectory("snapshots"));
3959
4001
  this.blobStore = new import_teleport_extension_object_sync.BlobStore(storage.createDirectory("blobs"));
3960
4002
  this.keyring = new import_keyring.Keyring(storage.createDirectory("keyring"));
3961
4003
  this.feedStore = new import_feed_store4.FeedStore({
@@ -3963,12 +4005,12 @@ var ServiceContext = class ServiceContext2 {
3963
4005
  root: storage.createDirectory("feeds"),
3964
4006
  signer: this.keyring,
3965
4007
  hypercore: {
3966
- valueEncoding: import_echo_pipeline3.valueEncoding,
4008
+ valueEncoding: import_echo_pipeline2.valueEncoding,
3967
4009
  stats: true
3968
4010
  }
3969
4011
  })
3970
4012
  });
3971
- this.spaceManager = new import_echo_pipeline3.SpaceManager({
4013
+ this.spaceManager = new import_echo_pipeline2.SpaceManager({
3972
4014
  feedStore: this.feedStore,
3973
4015
  networkManager: this.networkManager,
3974
4016
  blobStore: this.blobStore,
@@ -3984,15 +4026,15 @@ var ServiceContext = class ServiceContext2 {
3984
4026
  await this._checkStorageVersion();
3985
4027
  (0, import_log13.log)("opening...", void 0, {
3986
4028
  F: __dxlog_file15,
3987
- L: 135,
4029
+ L: 129,
3988
4030
  S: this,
3989
4031
  C: (f, a) => f(...a)
3990
4032
  });
3991
- import_log13.log.trace("dxos.sdk.service-context.open", import_protocols9.trace.begin({
4033
+ import_log13.log.trace("dxos.sdk.service-context.open", import_protocols10.trace.begin({
3992
4034
  id: this._instanceId
3993
4035
  }), {
3994
4036
  F: __dxlog_file15,
3995
- L: 136,
4037
+ L: 130,
3996
4038
  S: this,
3997
4039
  C: (f, a) => f(...a)
3998
4040
  });
@@ -4004,17 +4046,17 @@ var ServiceContext = class ServiceContext2 {
4004
4046
  if (this.identityManager.identity) {
4005
4047
  await this._initialize(ctx);
4006
4048
  }
4007
- import_log13.log.trace("dxos.sdk.service-context.open", import_protocols9.trace.end({
4049
+ import_log13.log.trace("dxos.sdk.service-context.open", import_protocols10.trace.end({
4008
4050
  id: this._instanceId
4009
4051
  }), {
4010
4052
  F: __dxlog_file15,
4011
- L: 146,
4053
+ L: 140,
4012
4054
  S: this,
4013
4055
  C: (f, a) => f(...a)
4014
4056
  });
4015
4057
  (0, import_log13.log)("opened", void 0, {
4016
4058
  F: __dxlog_file15,
4017
- L: 147,
4059
+ L: 141,
4018
4060
  S: this,
4019
4061
  C: (f, a) => f(...a)
4020
4062
  });
@@ -4022,7 +4064,7 @@ var ServiceContext = class ServiceContext2 {
4022
4064
  async close() {
4023
4065
  (0, import_log13.log)("closing...", void 0, {
4024
4066
  F: __dxlog_file15,
4025
- L: 151,
4067
+ L: 145,
4026
4068
  S: this,
4027
4069
  C: (f, a) => f(...a)
4028
4070
  });
@@ -4039,7 +4081,7 @@ var ServiceContext = class ServiceContext2 {
4039
4081
  await this.metadataStore.close();
4040
4082
  (0, import_log13.log)("closed", void 0, {
4041
4083
  F: __dxlog_file15,
4042
- L: 163,
4084
+ L: 157,
4043
4085
  S: this,
4044
4086
  C: (f, a) => f(...a)
4045
4087
  });
@@ -4051,9 +4093,9 @@ var ServiceContext = class ServiceContext2 {
4051
4093
  }
4052
4094
  getInvitationHandler(invitation) {
4053
4095
  const factory = this._handlerFactories.get(invitation.kind);
4054
- (0, import_invariant12.invariant)(factory, `Unknown invitation kind: ${invitation.kind}`, {
4096
+ (0, import_invariant13.invariant)(factory, `Unknown invitation kind: ${invitation.kind}`, {
4055
4097
  F: __dxlog_file15,
4056
- L: 174,
4098
+ L: 168,
4057
4099
  S: this,
4058
4100
  A: [
4059
4101
  "factory",
@@ -4069,15 +4111,15 @@ var ServiceContext = class ServiceContext2 {
4069
4111
  }
4070
4112
  async _checkStorageVersion() {
4071
4113
  await this.metadataStore.load();
4072
- if (this.metadataStore.version !== import_protocols9.STORAGE_VERSION) {
4073
- throw new Error(`Invalid storage version: current=${this.metadataStore.version}, expected=${import_protocols9.STORAGE_VERSION}`);
4114
+ if (this.metadataStore.version !== import_protocols10.STORAGE_VERSION) {
4115
+ throw new import_protocols10.InvalidStorageVersionError(import_protocols10.STORAGE_VERSION, this.metadataStore.version);
4074
4116
  }
4075
4117
  }
4076
4118
  // Called when identity is created.
4077
4119
  async _initialize(ctx) {
4078
4120
  (0, import_log13.log)("initializing spaces...", void 0, {
4079
4121
  F: __dxlog_file15,
4080
- L: 195,
4122
+ L: 189,
4081
4123
  S: this,
4082
4124
  C: (f, a) => f(...a)
4083
4125
  });
@@ -4098,9 +4140,9 @@ var ServiceContext = class ServiceContext2 {
4098
4140
  this.dataSpaceManager = new DataSpaceManager(this.spaceManager, this.metadataStore, this.dataServiceSubscriptions, this.keyring, signingContext, this.feedStore);
4099
4141
  await this.dataSpaceManager.open();
4100
4142
  this._handlerFactories.set(import_services10.Invitation.Kind.SPACE, (invitation) => {
4101
- (0, import_invariant12.invariant)(this.dataSpaceManager, "dataSpaceManager not initialized yet", {
4143
+ (0, import_invariant13.invariant)(this.dataSpaceManager, "dataSpaceManager not initialized yet", {
4102
4144
  F: __dxlog_file15,
4103
- L: 218,
4145
+ L: 212,
4104
4146
  S: this,
4105
4147
  A: [
4106
4148
  "this.dataSpaceManager",
@@ -4124,7 +4166,7 @@ var ServiceContext = class ServiceContext2 {
4124
4166
  details: assertion
4125
4167
  }, {
4126
4168
  F: __dxlog_file15,
4127
- L: 234,
4169
+ L: 228,
4128
4170
  S: this,
4129
4171
  C: (f, a) => f(...a)
4130
4172
  });
@@ -4135,7 +4177,7 @@ var ServiceContext = class ServiceContext2 {
4135
4177
  details: assertion
4136
4178
  }, {
4137
4179
  F: __dxlog_file15,
4138
- L: 238,
4180
+ L: 232,
4139
4181
  S: this,
4140
4182
  C: (f, a) => f(...a)
4141
4183
  });
@@ -4146,7 +4188,7 @@ var ServiceContext = class ServiceContext2 {
4146
4188
  details: assertion
4147
4189
  }, {
4148
4190
  F: __dxlog_file15,
4149
- L: 243,
4191
+ L: 237,
4150
4192
  S: this,
4151
4193
  C: (f, a) => f(...a)
4152
4194
  });
@@ -4157,7 +4199,7 @@ var ServiceContext = class ServiceContext2 {
4157
4199
  } catch (err) {
4158
4200
  import_log13.log.catch(err, void 0, {
4159
4201
  F: __dxlog_file15,
4160
- L: 249,
4202
+ L: 243,
4161
4203
  S: this,
4162
4204
  C: (f, a) => f(...a)
4163
4205
  });
@@ -4183,19 +4225,44 @@ var import_async17 = require("@dxos/async");
4183
4225
  var import_client_protocol5 = require("@dxos/client-protocol");
4184
4226
  var import_context10 = require("@dxos/context");
4185
4227
  var import_document_model2 = require("@dxos/document-model");
4186
- var import_echo_pipeline4 = require("@dxos/echo-pipeline");
4187
- var import_invariant14 = require("@dxos/invariant");
4228
+ var import_echo_pipeline3 = require("@dxos/echo-pipeline");
4229
+ var import_echo_schema = require("@dxos/echo-schema");
4230
+ var import_invariant15 = require("@dxos/invariant");
4188
4231
  var import_keys11 = require("@dxos/keys");
4189
4232
  var import_log16 = require("@dxos/log");
4190
4233
  var import_messaging = require("@dxos/messaging");
4191
4234
  var import_model_factory = require("@dxos/model-factory");
4192
4235
  var import_network_manager2 = require("@dxos/network-manager");
4193
- var import_protocols10 = require("@dxos/protocols");
4236
+ var import_protocols12 = require("@dxos/protocols");
4194
4237
  var import_services14 = require("@dxos/protocols/proto/dxos/client/services");
4195
4238
  var import_text_model = require("@dxos/text-model");
4196
4239
  var import_tracing5 = require("@dxos/tracing");
4197
4240
  var import_websocket_rpc = require("@dxos/websocket-rpc");
4198
4241
 
4242
+ // packages/sdk/client-services/src/packlets/services/service-registry.ts
4243
+ var ServiceRegistry = class {
4244
+ // prettier-ignore
4245
+ constructor(_serviceBundle, _handlers = {}) {
4246
+ this._serviceBundle = _serviceBundle;
4247
+ this._handlers = _handlers;
4248
+ }
4249
+ get descriptors() {
4250
+ return this._serviceBundle;
4251
+ }
4252
+ get services() {
4253
+ return this._handlers;
4254
+ }
4255
+ setServices(services) {
4256
+ this._handlers = services;
4257
+ }
4258
+ addService(name, service) {
4259
+ this._handlers[name] = service;
4260
+ }
4261
+ removeService(name) {
4262
+ delete this._handlers[name];
4263
+ }
4264
+ };
4265
+
4199
4266
  // packages/sdk/client-services/src/packlets/devices/devices-service.ts
4200
4267
  var import_async15 = require("@dxos/async");
4201
4268
  var import_codec_protobuf12 = require("@dxos/codec-protobuf");
@@ -4240,7 +4307,7 @@ var DevicesServiceImpl = class {
4240
4307
  };
4241
4308
 
4242
4309
  // packages/sdk/client-services/src/packlets/locks/node.ts
4243
- var import_invariant13 = require("@dxos/invariant");
4310
+ var import_invariant14 = require("@dxos/invariant");
4244
4311
  var import_lock_file = require("@dxos/lock-file");
4245
4312
  var import_log14 = require("@dxos/log");
4246
4313
  function _ts_decorate6(decorators, target, key, desc) {
@@ -4281,7 +4348,7 @@ var Lock = class {
4281
4348
  }
4282
4349
  async release() {
4283
4350
  await this._onRelease?.();
4284
- (0, import_invariant13.invariant)(this._fileHandle, "Lock is not acquired", {
4351
+ (0, import_invariant14.invariant)(this._fileHandle, "Lock is not acquired", {
4285
4352
  F: __dxlog_file16,
4286
4353
  L: 42,
4287
4354
  S: this,
@@ -4449,29 +4516,29 @@ var NetworkServiceImpl = class {
4449
4516
 
4450
4517
  // packages/sdk/client-services/src/packlets/storage/storage.ts
4451
4518
  var import_client_protocol4 = require("@dxos/client-protocol");
4452
- var import_errors5 = require("@dxos/errors");
4519
+ var import_protocols11 = require("@dxos/protocols");
4453
4520
  var import_config = require("@dxos/protocols/proto/dxos/config");
4454
4521
  var import_random_access_storage = require("@dxos/random-access-storage");
4455
4522
  var import_util8 = require("@dxos/util");
4456
4523
  var StorageDriver = import_config.Runtime.Client.Storage.StorageDriver;
4457
4524
  var createStorageObjects = (config) => {
4458
- const { path = (0, import_util8.isNode)() ? import_client_protocol4.DX_DATA : "dxos/storage", storageType, keyStorage, persistent = false } = config ?? {};
4459
- if (persistent && storageType === StorageDriver.RAM) {
4460
- throw new import_errors5.InvalidConfigError("RAM storage cannot be used in persistent mode.");
4525
+ const { persistent = false, keyStore, dataStore, dataRoot = (0, import_util8.isNode)() ? import_client_protocol4.DX_DATA : "dxos/storage" } = config ?? {};
4526
+ if (persistent && dataStore === StorageDriver.RAM) {
4527
+ throw new import_protocols11.InvalidConfigError("RAM storage cannot be used in persistent mode.");
4461
4528
  }
4462
- if (!persistent && storageType !== void 0 && storageType !== StorageDriver.RAM) {
4463
- throw new import_errors5.InvalidConfigError("Cannot use a persistent storage in not persistent mode.");
4529
+ if (!persistent && dataStore !== void 0 && dataStore !== StorageDriver.RAM) {
4530
+ throw new import_protocols11.InvalidConfigError("Cannot use a persistent storage in not persistent mode.");
4464
4531
  }
4465
- if (persistent && keyStorage === StorageDriver.RAM) {
4466
- throw new import_errors5.InvalidConfigError("RAM key storage cannot be used in persistent mode.");
4532
+ if (persistent && keyStore === StorageDriver.RAM) {
4533
+ throw new import_protocols11.InvalidConfigError("RAM key storage cannot be used in persistent mode.");
4467
4534
  }
4468
- if (!persistent && keyStorage !== StorageDriver.RAM && keyStorage !== void 0) {
4469
- throw new import_errors5.InvalidConfigError("Cannot use a persistent key storage in not persistent mode.");
4535
+ if (!persistent && keyStore !== StorageDriver.RAM && keyStore !== void 0) {
4536
+ throw new import_protocols11.InvalidConfigError("Cannot use a persistent key storage in not persistent mode.");
4470
4537
  }
4471
4538
  return {
4472
4539
  storage: (0, import_random_access_storage.createStorage)({
4473
- type: persistent ? toStorageType(storageType) : import_random_access_storage.StorageType.RAM,
4474
- root: `${path}/`
4540
+ type: persistent ? toStorageType(dataStore) : import_random_access_storage.StorageType.RAM,
4541
+ root: `${dataRoot}/`
4475
4542
  })
4476
4543
  };
4477
4544
  };
@@ -4550,30 +4617,6 @@ var SystemServiceImpl = class {
4550
4617
  }
4551
4618
  };
4552
4619
 
4553
- // packages/sdk/client-services/src/packlets/services/service-registry.ts
4554
- var ServiceRegistry = class {
4555
- // prettier-ignore
4556
- constructor(_serviceBundle, _handlers = {}) {
4557
- this._serviceBundle = _serviceBundle;
4558
- this._handlers = _handlers;
4559
- }
4560
- get descriptors() {
4561
- return this._serviceBundle;
4562
- }
4563
- get services() {
4564
- return this._handlers;
4565
- }
4566
- setServices(services) {
4567
- this._handlers = services;
4568
- }
4569
- addService(name, service) {
4570
- this._handlers[name] = service;
4571
- }
4572
- removeService(name) {
4573
- delete this._handlers[name];
4574
- }
4575
- };
4576
-
4577
4620
  // packages/sdk/client-services/src/packlets/services/service-host.ts
4578
4621
  function _ts_decorate7(decorators, target, key, desc) {
4579
4622
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -4589,6 +4632,18 @@ var __dxlog_file17 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/s
4589
4632
  var createDefaultModelFactory = () => {
4590
4633
  return new import_model_factory.ModelFactory().registerModel(import_document_model2.DocumentModel).registerModel(import_text_model.TextModel);
4591
4634
  };
4635
+ var createGenesisMutationFromTypedObject = (obj) => {
4636
+ const snapshot = obj[import_echo_schema.base]._createSnapshot();
4637
+ return {
4638
+ objectId: obj[import_echo_schema.base]._id,
4639
+ genesis: {
4640
+ modelType: obj[import_echo_schema.base]._modelConstructor.meta.type
4641
+ },
4642
+ snapshot: {
4643
+ model: snapshot
4644
+ }
4645
+ };
4646
+ };
4592
4647
  var ClientServicesHost = class ClientServicesHost2 {
4593
4648
  constructor({
4594
4649
  config,
@@ -4673,9 +4728,9 @@ var ClientServicesHost = class ClientServicesHost2 {
4673
4728
  * Can only be called once.
4674
4729
  */
4675
4730
  initialize({ config, ...options }) {
4676
- (0, import_invariant14.invariant)(!this._open, "service host is open", {
4731
+ (0, import_invariant15.invariant)(!this._open, "service host is open", {
4677
4732
  F: __dxlog_file17,
4678
- L: 184,
4733
+ L: 201,
4679
4734
  S: this,
4680
4735
  A: [
4681
4736
  "!this._open",
@@ -4684,14 +4739,14 @@ var ClientServicesHost = class ClientServicesHost2 {
4684
4739
  });
4685
4740
  (0, import_log16.log)("initializing...", void 0, {
4686
4741
  F: __dxlog_file17,
4687
- L: 185,
4742
+ L: 202,
4688
4743
  S: this,
4689
4744
  C: (f, a) => f(...a)
4690
4745
  });
4691
4746
  if (config) {
4692
- (0, import_invariant14.invariant)(!this._config, "config already set", {
4747
+ (0, import_invariant15.invariant)(!this._config, "config already set", {
4693
4748
  F: __dxlog_file17,
4694
- L: 188,
4749
+ L: 205,
4695
4750
  S: this,
4696
4751
  A: [
4697
4752
  "!this._config",
@@ -4707,9 +4762,9 @@ var ClientServicesHost = class ClientServicesHost2 {
4707
4762
  iceServers: this._config?.get("runtime.services.ice")
4708
4763
  }), signalManager = new import_messaging.WebsocketSignalManager(this._config?.get("runtime.services.signaling") ?? []) } = options;
4709
4764
  this._signalManager = signalManager;
4710
- (0, import_invariant14.invariant)(!this._networkManager, "network manager already set", {
4765
+ (0, import_invariant15.invariant)(!this._networkManager, "network manager already set", {
4711
4766
  F: __dxlog_file17,
4712
- L: 204,
4767
+ L: 221,
4713
4768
  S: this,
4714
4769
  A: [
4715
4770
  "!this._networkManager",
@@ -4723,7 +4778,7 @@ var ClientServicesHost = class ClientServicesHost2 {
4723
4778
  });
4724
4779
  (0, import_log16.log)("initialized", void 0, {
4725
4780
  F: __dxlog_file17,
4726
- L: 211,
4781
+ L: 228,
4727
4782
  S: this,
4728
4783
  C: (f, a) => f(...a)
4729
4784
  });
@@ -4733,44 +4788,44 @@ var ClientServicesHost = class ClientServicesHost2 {
4733
4788
  return;
4734
4789
  }
4735
4790
  const traceId = import_keys11.PublicKey.random().toHex();
4736
- import_log16.log.trace("dxos.client-services.host.open", import_protocols10.trace.begin({
4791
+ import_log16.log.trace("dxos.client-services.host.open", import_protocols12.trace.begin({
4737
4792
  id: traceId
4738
4793
  }), {
4739
4794
  F: __dxlog_file17,
4740
- L: 222,
4795
+ L: 239,
4741
4796
  S: this,
4742
4797
  C: (f, a) => f(...a)
4743
4798
  });
4744
- (0, import_invariant14.invariant)(this._config, "config not set", {
4799
+ (0, import_invariant15.invariant)(this._config, "config not set", {
4745
4800
  F: __dxlog_file17,
4746
- L: 224,
4801
+ L: 241,
4747
4802
  S: this,
4748
4803
  A: [
4749
4804
  "this._config",
4750
4805
  "'config not set'"
4751
4806
  ]
4752
4807
  });
4753
- (0, import_invariant14.invariant)(this._storage, "storage not set", {
4808
+ (0, import_invariant15.invariant)(this._storage, "storage not set", {
4754
4809
  F: __dxlog_file17,
4755
- L: 225,
4810
+ L: 242,
4756
4811
  S: this,
4757
4812
  A: [
4758
4813
  "this._storage",
4759
4814
  "'storage not set'"
4760
4815
  ]
4761
4816
  });
4762
- (0, import_invariant14.invariant)(this._signalManager, "signal manager not set", {
4817
+ (0, import_invariant15.invariant)(this._signalManager, "signal manager not set", {
4763
4818
  F: __dxlog_file17,
4764
- L: 226,
4819
+ L: 243,
4765
4820
  S: this,
4766
4821
  A: [
4767
4822
  "this._signalManager",
4768
4823
  "'signal manager not set'"
4769
4824
  ]
4770
4825
  });
4771
- (0, import_invariant14.invariant)(this._networkManager, "network manager not set", {
4826
+ (0, import_invariant15.invariant)(this._networkManager, "network manager not set", {
4772
4827
  F: __dxlog_file17,
4773
- L: 227,
4828
+ L: 244,
4774
4829
  S: this,
4775
4830
  A: [
4776
4831
  "this._networkManager",
@@ -4782,7 +4837,7 @@ var ClientServicesHost = class ClientServicesHost2 {
4782
4837
  lockKey: this._resourceLock?.lockKey
4783
4838
  }, {
4784
4839
  F: __dxlog_file17,
4785
- L: 230,
4840
+ L: 247,
4786
4841
  S: this,
4787
4842
  C: (f, a) => f(...a)
4788
4843
  });
@@ -4791,14 +4846,14 @@ var ClientServicesHost = class ClientServicesHost2 {
4791
4846
  this._serviceContext = new ServiceContext(this._storage, this._networkManager, this._signalManager, this._modelFactory);
4792
4847
  this._serviceRegistry.setServices({
4793
4848
  SystemService: this._systemService,
4794
- IdentityService: new IdentityServiceImpl((params) => this._serviceContext.createIdentity(params), this._serviceContext.identityManager, this._serviceContext.keyring),
4849
+ IdentityService: new IdentityServiceImpl((params) => this._createIdentity(params), this._serviceContext.identityManager, this._serviceContext.keyring),
4795
4850
  InvitationsService: new InvitationsServiceImpl(this._serviceContext.invitations, (invitation) => this._serviceContext.getInvitationHandler(invitation)),
4796
4851
  DevicesService: new DevicesServiceImpl(this._serviceContext.identityManager),
4797
4852
  SpacesService: new SpacesServiceImpl(this._serviceContext.identityManager, this._serviceContext.spaceManager, this._serviceContext.dataServiceSubscriptions, async () => {
4798
4853
  await this._serviceContext.initialized.wait();
4799
4854
  return this._serviceContext.dataSpaceManager;
4800
4855
  }),
4801
- DataService: new import_echo_pipeline4.DataServiceImpl(this._serviceContext.dataServiceSubscriptions),
4856
+ DataService: new import_echo_pipeline3.DataServiceImpl(this._serviceContext.dataServiceSubscriptions),
4802
4857
  NetworkService: new NetworkServiceImpl(this._serviceContext.networkManager, this._serviceContext.signalManager),
4803
4858
  LoggingService: this._loggingService,
4804
4859
  TracingService: this._tracingService,
@@ -4828,15 +4883,15 @@ var ClientServicesHost = class ClientServicesHost2 {
4828
4883
  deviceKey
4829
4884
  }, {
4830
4885
  F: __dxlog_file17,
4831
- L: 299,
4886
+ L: 316,
4832
4887
  S: this,
4833
4888
  C: (f, a) => f(...a)
4834
4889
  });
4835
- import_log16.log.trace("dxos.client-services.host.open", import_protocols10.trace.end({
4890
+ import_log16.log.trace("dxos.client-services.host.open", import_protocols12.trace.end({
4836
4891
  id: traceId
4837
4892
  }), {
4838
4893
  F: __dxlog_file17,
4839
- L: 300,
4894
+ L: 317,
4840
4895
  S: this,
4841
4896
  C: (f, a) => f(...a)
4842
4897
  });
@@ -4850,7 +4905,7 @@ var ClientServicesHost = class ClientServicesHost2 {
4850
4905
  deviceKey
4851
4906
  }, {
4852
4907
  F: __dxlog_file17,
4853
- L: 311,
4908
+ L: 328,
4854
4909
  S: this,
4855
4910
  C: (f, a) => f(...a)
4856
4911
  });
@@ -4866,24 +4921,24 @@ var ClientServicesHost = class ClientServicesHost2 {
4866
4921
  deviceKey
4867
4922
  }, {
4868
4923
  F: __dxlog_file17,
4869
- L: 318,
4924
+ L: 335,
4870
4925
  S: this,
4871
4926
  C: (f, a) => f(...a)
4872
4927
  });
4873
4928
  }
4874
4929
  async reset() {
4875
4930
  const traceId = import_keys11.PublicKey.random().toHex();
4876
- import_log16.log.trace("dxos.sdk.client-services-host.reset", import_protocols10.trace.begin({
4931
+ import_log16.log.trace("dxos.sdk.client-services-host.reset", import_protocols12.trace.begin({
4877
4932
  id: traceId
4878
4933
  }), {
4879
4934
  F: __dxlog_file17,
4880
- L: 323,
4935
+ L: 340,
4881
4936
  S: this,
4882
4937
  C: (f, a) => f(...a)
4883
4938
  });
4884
4939
  (0, import_log16.log)("resetting...", void 0, {
4885
4940
  F: __dxlog_file17,
4886
- L: 325,
4941
+ L: 342,
4887
4942
  S: this,
4888
4943
  C: (f, a) => f(...a)
4889
4944
  });
@@ -4891,20 +4946,39 @@ var ClientServicesHost = class ClientServicesHost2 {
4891
4946
  await this._storage.reset();
4892
4947
  (0, import_log16.log)("reset", void 0, {
4893
4948
  F: __dxlog_file17,
4894
- L: 328,
4949
+ L: 345,
4895
4950
  S: this,
4896
4951
  C: (f, a) => f(...a)
4897
4952
  });
4898
- import_log16.log.trace("dxos.sdk.client-services-host.reset", import_protocols10.trace.end({
4953
+ import_log16.log.trace("dxos.sdk.client-services-host.reset", import_protocols12.trace.end({
4899
4954
  id: traceId
4900
4955
  }), {
4901
4956
  F: __dxlog_file17,
4902
- L: 329,
4957
+ L: 346,
4903
4958
  S: this,
4904
4959
  C: (f, a) => f(...a)
4905
4960
  });
4906
4961
  await this._callbacks?.onReset?.();
4907
4962
  }
4963
+ async _createIdentity(params) {
4964
+ const identity = await this._serviceContext.createIdentity(params);
4965
+ await this._serviceContext.initialized.wait();
4966
+ const space = await this._serviceContext.dataSpaceManager.createSpace();
4967
+ const obj = new import_client_protocol5.Properties();
4968
+ obj[import_client_protocol5.defaultKey] = identity.identityKey.toHex();
4969
+ await this._serviceRegistry.services.DataService.write({
4970
+ spaceKey: space.key,
4971
+ batch: {
4972
+ objects: [
4973
+ createGenesisMutationFromTypedObject(obj)
4974
+ ]
4975
+ }
4976
+ });
4977
+ await this._serviceRegistry.services.DataService.flush({
4978
+ spaceKey: space.key
4979
+ });
4980
+ return identity;
4981
+ }
4908
4982
  };
4909
4983
  _ts_decorate7([
4910
4984
  import_tracing5.trace.info()
@@ -4936,7 +5010,7 @@ var import_util10 = require("@dxos/util");
4936
5010
  // packages/sdk/client-services/src/packlets/vault/shell-runtime.ts
4937
5011
  var import_async18 = require("@dxos/async");
4938
5012
  var import_client_protocol6 = require("@dxos/client-protocol");
4939
- var import_invariant15 = require("@dxos/invariant");
5013
+ var import_invariant16 = require("@dxos/invariant");
4940
5014
  var import_iframe = require("@dxos/protocols/proto/dxos/iframe");
4941
5015
  var import_rpc2 = require("@dxos/rpc");
4942
5016
  var __dxlog_file18 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/vault/shell-runtime.ts";
@@ -4955,17 +5029,18 @@ var ShellRuntimeImpl = class {
4955
5029
  get spaceKey() {
4956
5030
  return this._spaceKey;
4957
5031
  }
4958
- setLayout(layout, options = {}) {
5032
+ setLayout({ layout, invitationCode, spaceKey }) {
4959
5033
  this._layout = layout;
4960
- this._invitationCode = options.invitationCode;
4961
- this._spaceKey = options.spaceKey;
5034
+ this._invitationCode = invitationCode;
5035
+ this._spaceKey = spaceKey;
4962
5036
  this.layoutUpdate.emit({
4963
5037
  layout,
4964
- ...options
5038
+ invitationCode,
5039
+ spaceKey
4965
5040
  });
4966
5041
  }
4967
5042
  async setAppContext(context) {
4968
- (0, import_invariant15.invariant)(this._appRpc, "runtime not open", {
5043
+ (0, import_invariant16.invariant)(this._appRpc, "runtime not open", {
4969
5044
  F: __dxlog_file18,
4970
5045
  L: 44,
4971
5046
  S: this,
@@ -5121,9 +5196,9 @@ _ts_decorate8([
5121
5196
  // packages/sdk/client-services/src/packlets/vault/iframe-proxy-runtime.ts
5122
5197
  var import_async20 = require("@dxos/async");
5123
5198
  var import_client_protocol8 = require("@dxos/client-protocol");
5124
- var import_errors6 = require("@dxos/errors");
5125
5199
  var import_log18 = require("@dxos/log");
5126
5200
  var import_network_manager4 = require("@dxos/network-manager");
5201
+ var import_protocols13 = require("@dxos/protocols");
5127
5202
  var import_rpc3 = require("@dxos/rpc");
5128
5203
  var import_util11 = require("@dxos/util");
5129
5204
  var __dxlog_file20 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/vault/iframe-proxy-runtime.ts";
@@ -5179,7 +5254,7 @@ var IFrameProxyRuntime = class {
5179
5254
  S: this,
5180
5255
  C: (f, a) => f(...a)
5181
5256
  });
5182
- throw new import_errors6.RemoteServiceConnectionError("Failed to connect to worker");
5257
+ throw new import_protocols13.RemoteServiceConnectionError("Failed to connect to worker");
5183
5258
  }
5184
5259
  await this._shellRuntime?.open();
5185
5260
  }
@@ -5204,7 +5279,7 @@ var import_network_manager5 = require("@dxos/network-manager");
5204
5279
  // packages/sdk/client-services/src/packlets/vault/worker-session.ts
5205
5280
  var import_async21 = require("@dxos/async");
5206
5281
  var import_client_protocol9 = require("@dxos/client-protocol");
5207
- var import_invariant16 = require("@dxos/invariant");
5282
+ var import_invariant17 = require("@dxos/invariant");
5208
5283
  var import_log19 = require("@dxos/log");
5209
5284
  var import_rpc4 = require("@dxos/rpc");
5210
5285
  var import_util12 = require("@dxos/util");
@@ -5223,7 +5298,7 @@ var WorkerSession = class {
5223
5298
  constructor({ serviceHost, systemPort, appPort, shellPort, readySignal }) {
5224
5299
  this._startTrigger = new import_async21.Trigger();
5225
5300
  this.onClose = new import_util12.Callback();
5226
- (0, import_invariant16.invariant)(serviceHost, void 0, {
5301
+ (0, import_invariant17.invariant)(serviceHost, void 0, {
5227
5302
  F: __dxlog_file21,
5228
5303
  L: 49,
5229
5304
  S: this,
@@ -5374,7 +5449,6 @@ _ts_decorate9([
5374
5449
  // packages/sdk/client-services/src/packlets/vault/worker-runtime.ts
5375
5450
  var __dxlog_file22 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/vault/worker-runtime.ts";
5376
5451
  var WorkerRuntime = class {
5377
- // prettier-ignore
5378
5452
  constructor(_configProvider) {
5379
5453
  this._configProvider = _configProvider;
5380
5454
  this._transportFactory = new import_network_manager5.SimplePeerTransportProxyFactory();
@@ -5394,7 +5468,7 @@ var WorkerRuntime = class {
5394
5468
  async start() {
5395
5469
  (0, import_log20.log)("starting...", void 0, {
5396
5470
  F: __dxlog_file22,
5397
- L: 49,
5471
+ L: 52,
5398
5472
  S: this,
5399
5473
  C: (f, a) => f(...a)
5400
5474
  });
@@ -5410,7 +5484,7 @@ var WorkerRuntime = class {
5410
5484
  this._ready.wake(void 0);
5411
5485
  (0, import_log20.log)("started", void 0, {
5412
5486
  F: __dxlog_file22,
5413
- L: 63,
5487
+ L: 66,
5414
5488
  S: this,
5415
5489
  C: (f, a) => f(...a)
5416
5490
  });
@@ -5418,7 +5492,7 @@ var WorkerRuntime = class {
5418
5492
  this._ready.wake(err);
5419
5493
  import_log20.log.error("starting", err, {
5420
5494
  F: __dxlog_file22,
5421
- L: 66,
5495
+ L: 69,
5422
5496
  S: this,
5423
5497
  C: (f, a) => f(...a)
5424
5498
  });
@@ -5452,7 +5526,7 @@ var WorkerRuntime = class {
5452
5526
  _reconnectWebrtc() {
5453
5527
  (0, import_log20.log)("reconnecting webrtc...", void 0, {
5454
5528
  F: __dxlog_file22,
5455
- L: 103,
5529
+ L: 106,
5456
5530
  S: this,
5457
5531
  C: (f, a) => f(...a)
5458
5532
  });