@dxos/client-services 0.1.58-main.ffbb8a1 → 0.1.58-next.6d0af18

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-YLR3BYMV.mjs → chunk-DJ4JCFP7.mjs} +271 -191
  2. package/dist/lib/browser/chunk-DJ4JCFP7.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 +313 -233
  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 +310 -230
  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 +11 -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-YLR3BYMV.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 () => {
@@ -2165,6 +2162,9 @@ var InvitationsServiceImpl = class {
2165
2162
  }, () => {
2166
2163
  close();
2167
2164
  this._createInvitations.delete(invitation.get().invitationId);
2165
+ if (invitation.get().type !== import_services4.Invitation.Type.MULTIUSE) {
2166
+ this._removedCreated.emit(invitation.get());
2167
+ }
2168
2168
  });
2169
2169
  });
2170
2170
  }
@@ -2187,19 +2187,22 @@ var InvitationsServiceImpl = class {
2187
2187
  }, () => {
2188
2188
  close();
2189
2189
  this._acceptInvitations.delete(invitation.get().invitationId);
2190
+ if (invitation.get().type !== import_services4.Invitation.Type.MULTIUSE) {
2191
+ this._removedAccepted.emit(invitation.get());
2192
+ }
2190
2193
  });
2191
2194
  });
2192
2195
  }
2193
2196
  async authenticate({ invitationId, authCode }) {
2194
2197
  (0, import_log6.log)("authenticating...", void 0, {
2195
2198
  F: __dxlog_file8,
2196
- L: 102,
2199
+ L: 108,
2197
2200
  S: this,
2198
2201
  C: (f, a) => f(...a)
2199
2202
  });
2200
2203
  (0, import_invariant7.invariant)(invitationId, void 0, {
2201
2204
  F: __dxlog_file8,
2202
- L: 103,
2205
+ L: 109,
2203
2206
  S: this,
2204
2207
  A: [
2205
2208
  "invitationId",
@@ -2212,7 +2215,7 @@ var InvitationsServiceImpl = class {
2212
2215
  invitationId
2213
2216
  }, {
2214
2217
  F: __dxlog_file8,
2215
- L: 106,
2218
+ L: 112,
2216
2219
  S: this,
2217
2220
  C: (f, a) => f(...a)
2218
2221
  });
@@ -2223,13 +2226,13 @@ var InvitationsServiceImpl = class {
2223
2226
  async cancelInvitation({ invitationId }) {
2224
2227
  (0, import_log6.log)("deleting...", void 0, {
2225
2228
  F: __dxlog_file8,
2226
- L: 113,
2229
+ L: 119,
2227
2230
  S: this,
2228
2231
  C: (f, a) => f(...a)
2229
2232
  });
2230
2233
  (0, import_invariant7.invariant)(invitationId, void 0, {
2231
2234
  F: __dxlog_file8,
2232
- L: 114,
2235
+ L: 120,
2233
2236
  S: this,
2234
2237
  A: [
2235
2238
  "invitationId",
@@ -2251,7 +2254,7 @@ var InvitationsServiceImpl = class {
2251
2254
  invitationId
2252
2255
  }, {
2253
2256
  F: __dxlog_file8,
2254
- L: 126,
2257
+ L: 132,
2255
2258
  S: this,
2256
2259
  C: (f, a) => f(...a)
2257
2260
  });
@@ -2525,9 +2528,6 @@ var import_log8 = require("@dxos/log");
2525
2528
  var import_protocols5 = require("@dxos/protocols");
2526
2529
  var import_services6 = require("@dxos/protocols/proto/dxos/client/services");
2527
2530
 
2528
- // packages/sdk/client-services/src/version.ts
2529
- var DXOS_VERSION = "0.1.58-main.ffbb8a1";
2530
-
2531
2531
  // packages/sdk/client-services/src/packlets/services/platform.ts
2532
2532
  var getPlatform = () => {
2533
2533
  if (process.browser) {
@@ -2556,6 +2556,9 @@ var getPlatform = () => {
2556
2556
  }
2557
2557
  };
2558
2558
 
2559
+ // packages/sdk/client-services/src/version.ts
2560
+ var DXOS_VERSION = "0.1.58-next.6d0af18";
2561
+
2559
2562
  // packages/sdk/client-services/src/packlets/services/diagnostics.ts
2560
2563
  var __dxlog_file10 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/services/diagnostics.ts";
2561
2564
  var DEFAULT_TIMEOUT = 1e3;
@@ -2679,13 +2682,13 @@ var import_async14 = require("@dxos/async");
2679
2682
  var import_context9 = require("@dxos/context");
2680
2683
  var import_credentials14 = require("@dxos/credentials");
2681
2684
  var import_debug7 = require("@dxos/debug");
2682
- var import_echo_pipeline3 = require("@dxos/echo-pipeline");
2685
+ var import_echo_pipeline2 = require("@dxos/echo-pipeline");
2683
2686
  var import_feed_store4 = require("@dxos/feed-store");
2684
- var import_invariant12 = require("@dxos/invariant");
2687
+ var import_invariant13 = require("@dxos/invariant");
2685
2688
  var import_keyring = require("@dxos/keyring");
2686
2689
  var import_keys10 = require("@dxos/keys");
2687
2690
  var import_log13 = require("@dxos/log");
2688
- var import_protocols9 = require("@dxos/protocols");
2691
+ var import_protocols10 = require("@dxos/protocols");
2689
2692
  var import_services10 = require("@dxos/protocols/proto/dxos/client/services");
2690
2693
  var import_teleport_extension_object_sync = require("@dxos/teleport-extension-object-sync");
2691
2694
  var import_tracing4 = require("@dxos/tracing");
@@ -2698,7 +2701,7 @@ var import_credentials13 = require("@dxos/credentials");
2698
2701
  var import_invariant11 = require("@dxos/invariant");
2699
2702
  var import_keys9 = require("@dxos/keys");
2700
2703
  var import_log11 = require("@dxos/log");
2701
- var import_protocols7 = require("@dxos/protocols");
2704
+ var import_protocols8 = require("@dxos/protocols");
2702
2705
  var import_services8 = require("@dxos/protocols/proto/dxos/client/services");
2703
2706
  var import_teleport_extension_gossip = require("@dxos/teleport-extension-gossip");
2704
2707
  var import_util5 = require("@dxos/util");
@@ -2709,9 +2712,9 @@ var import_client_protocol3 = require("@dxos/client-protocol");
2709
2712
  var import_context7 = require("@dxos/context");
2710
2713
  var import_debug4 = require("@dxos/debug");
2711
2714
  var import_echo_pipeline = require("@dxos/echo-pipeline");
2712
- var import_errors3 = require("@dxos/errors");
2713
2715
  var import_keys8 = require("@dxos/keys");
2714
2716
  var import_log10 = require("@dxos/log");
2717
+ var import_protocols7 = require("@dxos/protocols");
2715
2718
  var import_services7 = require("@dxos/protocols/proto/dxos/client/services");
2716
2719
  var import_credentials10 = require("@dxos/protocols/proto/dxos/halo/credentials");
2717
2720
  var import_timeframe2 = require("@dxos/timeframe");
@@ -3020,7 +3023,7 @@ var DataSpace = class DataSpace2 {
3020
3023
  this._signingContext = params.signingContext;
3021
3024
  this._callbacks = params.callbacks ?? {};
3022
3025
  this.authVerifier = new TrustedKeySetAuthVerifier({
3023
- 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)),
3024
3027
  update: this._inner.stateUpdate,
3025
3028
  authTimeout: import_client_protocol3.AUTH_TIMEOUT
3026
3029
  });
@@ -3030,7 +3033,7 @@ var DataSpace = class DataSpace2 {
3030
3033
  state: import_services7.SpaceState[this._state]
3031
3034
  }, {
3032
3035
  F: __dxlog_file12,
3033
- L: 112,
3036
+ L: 118,
3034
3037
  S: this,
3035
3038
  C: (f, a) => f(...a)
3036
3039
  });
@@ -3064,6 +3067,7 @@ var DataSpace = class DataSpace2 {
3064
3067
  await this._open();
3065
3068
  }
3066
3069
  async _open() {
3070
+ await this._gossip.open();
3067
3071
  await this._notarizationPlugin.open();
3068
3072
  await this._inner.spaceState.addCredentialProcessor(this._notarizationPlugin);
3069
3073
  await this._inner.open(new import_context7.Context());
@@ -3072,7 +3076,7 @@ var DataSpace = class DataSpace2 {
3072
3076
  state: import_services7.SpaceState[this._state]
3073
3077
  }, {
3074
3078
  F: __dxlog_file12,
3075
- L: 158,
3079
+ L: 165,
3076
3080
  S: this,
3077
3081
  C: (f, a) => f(...a)
3078
3082
  });
@@ -3090,7 +3094,7 @@ var DataSpace = class DataSpace2 {
3090
3094
  state: import_services7.SpaceState[this._state]
3091
3095
  }, {
3092
3096
  F: __dxlog_file12,
3093
- L: 172,
3097
+ L: 179,
3094
3098
  S: this,
3095
3099
  C: (f, a) => f(...a)
3096
3100
  });
@@ -3101,6 +3105,7 @@ var DataSpace = class DataSpace2 {
3101
3105
  await this._inner.spaceState.removeCredentialProcessor(this._notarizationPlugin);
3102
3106
  await this._notarizationPlugin.close();
3103
3107
  await this._presence.destroy();
3108
+ await this._gossip.close();
3104
3109
  }
3105
3110
  async postMessage(channel, message) {
3106
3111
  return this._gossip.postMessage(channel, message);
@@ -3117,10 +3122,10 @@ var DataSpace = class DataSpace2 {
3117
3122
  this.metrics.pipelineInitBegin = /* @__PURE__ */ new Date();
3118
3123
  await this.initializeDataPipeline();
3119
3124
  } catch (err) {
3120
- if (err instanceof import_errors3.CancelledError) {
3125
+ if (err instanceof import_protocols7.CancelledError) {
3121
3126
  (0, import_log10.log)("data pipeline initialization cancelled", err, {
3122
3127
  F: __dxlog_file12,
3123
- L: 203,
3128
+ L: 211,
3124
3129
  S: this,
3125
3130
  C: (f, a) => f(...a)
3126
3131
  });
@@ -3128,7 +3133,7 @@ var DataSpace = class DataSpace2 {
3128
3133
  }
3129
3134
  import_log10.log.error("Error initializing data pipeline", err, {
3130
3135
  F: __dxlog_file12,
3131
- L: 207,
3136
+ L: 215,
3132
3137
  S: this,
3133
3138
  C: (f, a) => f(...a)
3134
3139
  });
@@ -3137,7 +3142,7 @@ var DataSpace = class DataSpace2 {
3137
3142
  state: import_services7.SpaceState[this._state]
3138
3143
  }, {
3139
3144
  F: __dxlog_file12,
3140
- L: 209,
3145
+ L: 217,
3141
3146
  S: this,
3142
3147
  C: (f, a) => f(...a)
3143
3148
  });
@@ -3150,14 +3155,14 @@ var DataSpace = class DataSpace2 {
3150
3155
  }
3151
3156
  async initializeDataPipeline() {
3152
3157
  if (this._state !== import_services7.SpaceState.CONTROL_ONLY) {
3153
- throw new import_errors3.SystemError("Invalid operation");
3158
+ throw new import_protocols7.SystemError("Invalid operation");
3154
3159
  }
3155
3160
  this._state = import_services7.SpaceState.INITIALIZING;
3156
3161
  (0, import_log10.log)("new state", {
3157
3162
  state: import_services7.SpaceState[this._state]
3158
3163
  }, {
3159
3164
  F: __dxlog_file12,
3160
- L: 225,
3165
+ L: 233,
3161
3166
  S: this,
3162
3167
  C: (f, a) => f(...a)
3163
3168
  });
@@ -3168,7 +3173,7 @@ var DataSpace = class DataSpace2 {
3168
3173
  await (0, import_context7.cancelWithContext)(this._ctx, this._inner.dataPipeline.ensureEpochInitialized());
3169
3174
  (0, import_log10.log)("waiting for data pipeline to reach target timeframe", void 0, {
3170
3175
  F: __dxlog_file12,
3171
- L: 239,
3176
+ L: 247,
3172
3177
  S: this,
3173
3178
  C: (f, a) => f(...a)
3174
3179
  });
@@ -3179,7 +3184,7 @@ var DataSpace = class DataSpace2 {
3179
3184
  this.metrics.dataPipelineReady = /* @__PURE__ */ new Date();
3180
3185
  (0, import_log10.log)("data pipeline ready", void 0, {
3181
3186
  F: __dxlog_file12,
3182
- L: 248,
3187
+ L: 256,
3183
3188
  S: this,
3184
3189
  C: (f, a) => f(...a)
3185
3190
  });
@@ -3189,7 +3194,7 @@ var DataSpace = class DataSpace2 {
3189
3194
  state: import_services7.SpaceState[this._state]
3190
3195
  }, {
3191
3196
  F: __dxlog_file12,
3192
- L: 252,
3197
+ L: 260,
3193
3198
  S: this,
3194
3199
  C: (f, a) => f(...a)
3195
3200
  });
@@ -3205,7 +3210,7 @@ var DataSpace = class DataSpace2 {
3205
3210
  await this._createWritableFeeds();
3206
3211
  (0, import_log10.log)("writable feeds created", void 0, {
3207
3212
  F: __dxlog_file12,
3208
- L: 268,
3213
+ L: 276,
3209
3214
  S: this,
3210
3215
  C: (f, a) => f(...a)
3211
3216
  });
@@ -3310,7 +3315,7 @@ var DataSpace = class DataSpace2 {
3310
3315
  state: import_services7.SpaceState[this._state]
3311
3316
  }, {
3312
3317
  F: __dxlog_file12,
3313
- L: 384,
3318
+ L: 392,
3314
3319
  S: this,
3315
3320
  C: (f, a) => f(...a)
3316
3321
  });
@@ -3452,7 +3457,7 @@ var DataSpaceManager = class DataSpaceManager2 {
3452
3457
  S: this,
3453
3458
  C: (f, a) => f(...a)
3454
3459
  });
3455
- 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({
3456
3461
  id: this._instanceId
3457
3462
  }), {
3458
3463
  F: __dxlog_file13,
@@ -3498,7 +3503,7 @@ var DataSpaceManager = class DataSpaceManager2 {
3498
3503
  space.initializeDataPipelineAsync();
3499
3504
  }
3500
3505
  }
3501
- 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({
3502
3507
  id: this._instanceId
3503
3508
  }), {
3504
3509
  F: __dxlog_file13,
@@ -3752,10 +3757,9 @@ DataSpaceManager = _ts_decorate4([
3752
3757
  var import_async13 = require("@dxos/async");
3753
3758
  var import_codec_protobuf11 = require("@dxos/codec-protobuf");
3754
3759
  var import_debug6 = require("@dxos/debug");
3755
- var import_echo_pipeline2 = require("@dxos/echo-pipeline");
3756
- var import_errors4 = require("@dxos/errors");
3760
+ var import_invariant12 = require("@dxos/invariant");
3757
3761
  var import_log12 = require("@dxos/log");
3758
- var import_protocols8 = require("@dxos/protocols");
3762
+ var import_protocols9 = require("@dxos/protocols");
3759
3763
  var import_services9 = require("@dxos/protocols/proto/dxos/client/services");
3760
3764
  var __dxlog_file14 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/spaces/spaces-service.ts";
3761
3765
  var SpacesServiceImpl = class {
@@ -3775,7 +3779,7 @@ var SpacesServiceImpl = class {
3775
3779
  }
3776
3780
  async updateSpace({ spaceKey, state }) {
3777
3781
  const dataSpaceManager = await this._getDataSpaceManager();
3778
- 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));
3779
3783
  if (state) {
3780
3784
  switch (state) {
3781
3785
  case import_services9.SpaceState.ACTIVE:
@@ -3785,7 +3789,7 @@ var SpacesServiceImpl = class {
3785
3789
  await space.deactivate();
3786
3790
  break;
3787
3791
  default:
3788
- throw new import_errors4.ApiError("Invalid space state");
3792
+ throw new import_protocols9.ApiError("Invalid space state");
3789
3793
  }
3790
3794
  }
3791
3795
  }
@@ -3818,7 +3822,7 @@ var SpacesServiceImpl = class {
3818
3822
  subscriptions.add(space.stateUpdate.on(ctx, () => scheduler.forceTrigger()));
3819
3823
  subscriptions.add(space.presence.updated.on(ctx, () => scheduler.trigger()));
3820
3824
  subscriptions.add(space.dataPipeline.onNewEpoch.on(ctx, () => scheduler.trigger()));
3821
- space.inner.controlPipeline.state.timeframeUpdate.on(ctx, () => scheduler.trigger());
3825
+ subscriptions.add(space.inner.controlPipeline.state.timeframeUpdate.on(ctx, () => scheduler.trigger()));
3822
3826
  if (space.dataPipeline.pipelineState) {
3823
3827
  subscriptions.add(space.dataPipeline.pipelineState.timeframeUpdate.on(ctx, () => scheduler.trigger()));
3824
3828
  }
@@ -3840,14 +3844,14 @@ var SpacesServiceImpl = class {
3840
3844
  }
3841
3845
  async postMessage({ spaceKey, channel, message }) {
3842
3846
  const dataSpaceManager = await this._getDataSpaceManager();
3843
- 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));
3844
3848
  await space.postMessage(getChannelId(channel), message);
3845
3849
  }
3846
3850
  subscribeMessages({ spaceKey, channel }) {
3847
3851
  return new import_codec_protobuf11.Stream(({ ctx, next }) => {
3848
3852
  (0, import_async13.scheduleTask)(ctx, async () => {
3849
3853
  const dataSpaceManager = await this._getDataSpaceManager();
3850
- 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));
3851
3855
  const handle = space.listen(getChannelId(channel), (message) => {
3852
3856
  next(message);
3853
3857
  });
@@ -3855,38 +3859,83 @@ var SpacesServiceImpl = class {
3855
3859
  });
3856
3860
  });
3857
3861
  }
3858
- queryCredentials({ spaceKey }) {
3859
- return new import_codec_protobuf11.Stream(({ ctx, next }) => {
3860
- 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));
3861
3865
  const processor = {
3862
3866
  processCredential: async (credential) => {
3863
3867
  next(credential);
3864
3868
  }
3865
3869
  };
3866
3870
  ctx.onDispose(() => space.spaceState.removeCredentialProcessor(processor));
3867
- (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
+ });
3868
3877
  });
3869
3878
  }
3870
3879
  async writeCredentials({ spaceKey, credentials }) {
3871
- 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));
3872
3881
  for (const credential of credentials ?? []) {
3873
- await space.controlPipeline.writer.write({
3874
- credential: {
3875
- credential
3876
- }
3877
- });
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
+ }
3878
3927
  }
3879
3928
  }
3880
3929
  async createEpoch({ spaceKey }) {
3881
3930
  const dataSpaceManager = await this._getDataSpaceManager();
3882
- 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));
3883
3932
  await space.createEpoch();
3884
3933
  }
3885
3934
  _serializeSpace(space) {
3886
3935
  return {
3887
3936
  spaceKey: space.key,
3888
3937
  state: space.state,
3889
- error: space.error ? (0, import_protocols8.encodeError)(space.error) : void 0,
3938
+ error: space.error ? (0, import_protocols9.encodeError)(space.error) : void 0,
3890
3939
  pipeline: {
3891
3940
  currentEpoch: space.dataPipeline.currentEpoch,
3892
3941
  appliedEpoch: space.dataPipeline.appliedEpoch,
@@ -3913,7 +3962,7 @@ var SpacesServiceImpl = class {
3913
3962
  displayName: member.assertion.profile?.displayName
3914
3963
  }
3915
3964
  },
3916
- 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,
3917
3966
  peerStates: peers
3918
3967
  };
3919
3968
  }),
@@ -3938,18 +3987,17 @@ function _ts_decorate5(decorators, target, key, desc) {
3938
3987
  }
3939
3988
  var __dxlog_file15 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/services/service-context.ts";
3940
3989
  var ServiceContext = class ServiceContext2 {
3941
- // prettier-ignore
3942
3990
  constructor(storage, networkManager, signalManager, modelFactory) {
3943
3991
  this.storage = storage;
3944
3992
  this.networkManager = networkManager;
3945
3993
  this.signalManager = signalManager;
3946
3994
  this.modelFactory = modelFactory;
3947
3995
  this.initialized = new import_async14.Trigger();
3948
- this.dataServiceSubscriptions = new import_echo_pipeline3.DataServiceSubscriptions();
3996
+ this.dataServiceSubscriptions = new import_echo_pipeline2.DataServiceSubscriptions();
3949
3997
  this._handlerFactories = /* @__PURE__ */ new Map();
3950
3998
  this._instanceId = import_keys10.PublicKey.random().toHex();
3951
- this.metadataStore = new import_echo_pipeline3.MetadataStore(storage.createDirectory("metadata"));
3952
- 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"));
3953
4001
  this.blobStore = new import_teleport_extension_object_sync.BlobStore(storage.createDirectory("blobs"));
3954
4002
  this.keyring = new import_keyring.Keyring(storage.createDirectory("keyring"));
3955
4003
  this.feedStore = new import_feed_store4.FeedStore({
@@ -3957,12 +4005,12 @@ var ServiceContext = class ServiceContext2 {
3957
4005
  root: storage.createDirectory("feeds"),
3958
4006
  signer: this.keyring,
3959
4007
  hypercore: {
3960
- valueEncoding: import_echo_pipeline3.valueEncoding,
4008
+ valueEncoding: import_echo_pipeline2.valueEncoding,
3961
4009
  stats: true
3962
4010
  }
3963
4011
  })
3964
4012
  });
3965
- this.spaceManager = new import_echo_pipeline3.SpaceManager({
4013
+ this.spaceManager = new import_echo_pipeline2.SpaceManager({
3966
4014
  feedStore: this.feedStore,
3967
4015
  networkManager: this.networkManager,
3968
4016
  blobStore: this.blobStore,
@@ -3978,15 +4026,15 @@ var ServiceContext = class ServiceContext2 {
3978
4026
  await this._checkStorageVersion();
3979
4027
  (0, import_log13.log)("opening...", void 0, {
3980
4028
  F: __dxlog_file15,
3981
- L: 135,
4029
+ L: 129,
3982
4030
  S: this,
3983
4031
  C: (f, a) => f(...a)
3984
4032
  });
3985
- 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({
3986
4034
  id: this._instanceId
3987
4035
  }), {
3988
4036
  F: __dxlog_file15,
3989
- L: 136,
4037
+ L: 130,
3990
4038
  S: this,
3991
4039
  C: (f, a) => f(...a)
3992
4040
  });
@@ -3998,17 +4046,17 @@ var ServiceContext = class ServiceContext2 {
3998
4046
  if (this.identityManager.identity) {
3999
4047
  await this._initialize(ctx);
4000
4048
  }
4001
- 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({
4002
4050
  id: this._instanceId
4003
4051
  }), {
4004
4052
  F: __dxlog_file15,
4005
- L: 146,
4053
+ L: 140,
4006
4054
  S: this,
4007
4055
  C: (f, a) => f(...a)
4008
4056
  });
4009
4057
  (0, import_log13.log)("opened", void 0, {
4010
4058
  F: __dxlog_file15,
4011
- L: 147,
4059
+ L: 141,
4012
4060
  S: this,
4013
4061
  C: (f, a) => f(...a)
4014
4062
  });
@@ -4016,7 +4064,7 @@ var ServiceContext = class ServiceContext2 {
4016
4064
  async close() {
4017
4065
  (0, import_log13.log)("closing...", void 0, {
4018
4066
  F: __dxlog_file15,
4019
- L: 151,
4067
+ L: 145,
4020
4068
  S: this,
4021
4069
  C: (f, a) => f(...a)
4022
4070
  });
@@ -4033,7 +4081,7 @@ var ServiceContext = class ServiceContext2 {
4033
4081
  await this.metadataStore.close();
4034
4082
  (0, import_log13.log)("closed", void 0, {
4035
4083
  F: __dxlog_file15,
4036
- L: 163,
4084
+ L: 157,
4037
4085
  S: this,
4038
4086
  C: (f, a) => f(...a)
4039
4087
  });
@@ -4045,9 +4093,9 @@ var ServiceContext = class ServiceContext2 {
4045
4093
  }
4046
4094
  getInvitationHandler(invitation) {
4047
4095
  const factory = this._handlerFactories.get(invitation.kind);
4048
- (0, import_invariant12.invariant)(factory, `Unknown invitation kind: ${invitation.kind}`, {
4096
+ (0, import_invariant13.invariant)(factory, `Unknown invitation kind: ${invitation.kind}`, {
4049
4097
  F: __dxlog_file15,
4050
- L: 174,
4098
+ L: 168,
4051
4099
  S: this,
4052
4100
  A: [
4053
4101
  "factory",
@@ -4063,15 +4111,15 @@ var ServiceContext = class ServiceContext2 {
4063
4111
  }
4064
4112
  async _checkStorageVersion() {
4065
4113
  await this.metadataStore.load();
4066
- if (this.metadataStore.version !== import_protocols9.STORAGE_VERSION) {
4067
- 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);
4068
4116
  }
4069
4117
  }
4070
4118
  // Called when identity is created.
4071
4119
  async _initialize(ctx) {
4072
4120
  (0, import_log13.log)("initializing spaces...", void 0, {
4073
4121
  F: __dxlog_file15,
4074
- L: 195,
4122
+ L: 189,
4075
4123
  S: this,
4076
4124
  C: (f, a) => f(...a)
4077
4125
  });
@@ -4092,9 +4140,9 @@ var ServiceContext = class ServiceContext2 {
4092
4140
  this.dataSpaceManager = new DataSpaceManager(this.spaceManager, this.metadataStore, this.dataServiceSubscriptions, this.keyring, signingContext, this.feedStore);
4093
4141
  await this.dataSpaceManager.open();
4094
4142
  this._handlerFactories.set(import_services10.Invitation.Kind.SPACE, (invitation) => {
4095
- (0, import_invariant12.invariant)(this.dataSpaceManager, "dataSpaceManager not initialized yet", {
4143
+ (0, import_invariant13.invariant)(this.dataSpaceManager, "dataSpaceManager not initialized yet", {
4096
4144
  F: __dxlog_file15,
4097
- L: 218,
4145
+ L: 212,
4098
4146
  S: this,
4099
4147
  A: [
4100
4148
  "this.dataSpaceManager",
@@ -4118,7 +4166,7 @@ var ServiceContext = class ServiceContext2 {
4118
4166
  details: assertion
4119
4167
  }, {
4120
4168
  F: __dxlog_file15,
4121
- L: 234,
4169
+ L: 228,
4122
4170
  S: this,
4123
4171
  C: (f, a) => f(...a)
4124
4172
  });
@@ -4129,7 +4177,7 @@ var ServiceContext = class ServiceContext2 {
4129
4177
  details: assertion
4130
4178
  }, {
4131
4179
  F: __dxlog_file15,
4132
- L: 238,
4180
+ L: 232,
4133
4181
  S: this,
4134
4182
  C: (f, a) => f(...a)
4135
4183
  });
@@ -4140,7 +4188,7 @@ var ServiceContext = class ServiceContext2 {
4140
4188
  details: assertion
4141
4189
  }, {
4142
4190
  F: __dxlog_file15,
4143
- L: 243,
4191
+ L: 237,
4144
4192
  S: this,
4145
4193
  C: (f, a) => f(...a)
4146
4194
  });
@@ -4151,7 +4199,7 @@ var ServiceContext = class ServiceContext2 {
4151
4199
  } catch (err) {
4152
4200
  import_log13.log.catch(err, void 0, {
4153
4201
  F: __dxlog_file15,
4154
- L: 249,
4202
+ L: 243,
4155
4203
  S: this,
4156
4204
  C: (f, a) => f(...a)
4157
4205
  });
@@ -4177,19 +4225,44 @@ var import_async17 = require("@dxos/async");
4177
4225
  var import_client_protocol5 = require("@dxos/client-protocol");
4178
4226
  var import_context10 = require("@dxos/context");
4179
4227
  var import_document_model2 = require("@dxos/document-model");
4180
- var import_echo_pipeline4 = require("@dxos/echo-pipeline");
4181
- 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");
4182
4231
  var import_keys11 = require("@dxos/keys");
4183
4232
  var import_log16 = require("@dxos/log");
4184
4233
  var import_messaging = require("@dxos/messaging");
4185
4234
  var import_model_factory = require("@dxos/model-factory");
4186
4235
  var import_network_manager2 = require("@dxos/network-manager");
4187
- var import_protocols10 = require("@dxos/protocols");
4236
+ var import_protocols12 = require("@dxos/protocols");
4188
4237
  var import_services14 = require("@dxos/protocols/proto/dxos/client/services");
4189
4238
  var import_text_model = require("@dxos/text-model");
4190
4239
  var import_tracing5 = require("@dxos/tracing");
4191
4240
  var import_websocket_rpc = require("@dxos/websocket-rpc");
4192
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
+
4193
4266
  // packages/sdk/client-services/src/packlets/devices/devices-service.ts
4194
4267
  var import_async15 = require("@dxos/async");
4195
4268
  var import_codec_protobuf12 = require("@dxos/codec-protobuf");
@@ -4234,7 +4307,7 @@ var DevicesServiceImpl = class {
4234
4307
  };
4235
4308
 
4236
4309
  // packages/sdk/client-services/src/packlets/locks/node.ts
4237
- var import_invariant13 = require("@dxos/invariant");
4310
+ var import_invariant14 = require("@dxos/invariant");
4238
4311
  var import_lock_file = require("@dxos/lock-file");
4239
4312
  var import_log14 = require("@dxos/log");
4240
4313
  function _ts_decorate6(decorators, target, key, desc) {
@@ -4275,7 +4348,7 @@ var Lock = class {
4275
4348
  }
4276
4349
  async release() {
4277
4350
  await this._onRelease?.();
4278
- (0, import_invariant13.invariant)(this._fileHandle, "Lock is not acquired", {
4351
+ (0, import_invariant14.invariant)(this._fileHandle, "Lock is not acquired", {
4279
4352
  F: __dxlog_file16,
4280
4353
  L: 42,
4281
4354
  S: this,
@@ -4443,29 +4516,29 @@ var NetworkServiceImpl = class {
4443
4516
 
4444
4517
  // packages/sdk/client-services/src/packlets/storage/storage.ts
4445
4518
  var import_client_protocol4 = require("@dxos/client-protocol");
4446
- var import_errors5 = require("@dxos/errors");
4519
+ var import_protocols11 = require("@dxos/protocols");
4447
4520
  var import_config = require("@dxos/protocols/proto/dxos/config");
4448
4521
  var import_random_access_storage = require("@dxos/random-access-storage");
4449
4522
  var import_util8 = require("@dxos/util");
4450
4523
  var StorageDriver = import_config.Runtime.Client.Storage.StorageDriver;
4451
4524
  var createStorageObjects = (config) => {
4452
- const { path = (0, import_util8.isNode)() ? import_client_protocol4.DX_DATA : "dxos/storage", storageType, keyStorage, persistent = false } = config ?? {};
4453
- if (persistent && storageType === StorageDriver.RAM) {
4454
- 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.");
4455
4528
  }
4456
- if (!persistent && storageType !== void 0 && storageType !== StorageDriver.RAM) {
4457
- 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.");
4458
4531
  }
4459
- if (persistent && keyStorage === StorageDriver.RAM) {
4460
- 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.");
4461
4534
  }
4462
- if (!persistent && keyStorage !== StorageDriver.RAM && keyStorage !== void 0) {
4463
- 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.");
4464
4537
  }
4465
4538
  return {
4466
4539
  storage: (0, import_random_access_storage.createStorage)({
4467
- type: persistent ? toStorageType(storageType) : import_random_access_storage.StorageType.RAM,
4468
- root: `${path}/`
4540
+ type: persistent ? toStorageType(dataStore) : import_random_access_storage.StorageType.RAM,
4541
+ root: `${dataRoot}/`
4469
4542
  })
4470
4543
  };
4471
4544
  };
@@ -4544,30 +4617,6 @@ var SystemServiceImpl = class {
4544
4617
  }
4545
4618
  };
4546
4619
 
4547
- // packages/sdk/client-services/src/packlets/services/service-registry.ts
4548
- var ServiceRegistry = class {
4549
- // prettier-ignore
4550
- constructor(_serviceBundle, _handlers = {}) {
4551
- this._serviceBundle = _serviceBundle;
4552
- this._handlers = _handlers;
4553
- }
4554
- get descriptors() {
4555
- return this._serviceBundle;
4556
- }
4557
- get services() {
4558
- return this._handlers;
4559
- }
4560
- setServices(services) {
4561
- this._handlers = services;
4562
- }
4563
- addService(name, service) {
4564
- this._handlers[name] = service;
4565
- }
4566
- removeService(name) {
4567
- delete this._handlers[name];
4568
- }
4569
- };
4570
-
4571
4620
  // packages/sdk/client-services/src/packlets/services/service-host.ts
4572
4621
  function _ts_decorate7(decorators, target, key, desc) {
4573
4622
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -4583,6 +4632,18 @@ var __dxlog_file17 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/s
4583
4632
  var createDefaultModelFactory = () => {
4584
4633
  return new import_model_factory.ModelFactory().registerModel(import_document_model2.DocumentModel).registerModel(import_text_model.TextModel);
4585
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
+ };
4586
4647
  var ClientServicesHost = class ClientServicesHost2 {
4587
4648
  constructor({
4588
4649
  config,
@@ -4667,9 +4728,9 @@ var ClientServicesHost = class ClientServicesHost2 {
4667
4728
  * Can only be called once.
4668
4729
  */
4669
4730
  initialize({ config, ...options }) {
4670
- (0, import_invariant14.invariant)(!this._open, "service host is open", {
4731
+ (0, import_invariant15.invariant)(!this._open, "service host is open", {
4671
4732
  F: __dxlog_file17,
4672
- L: 184,
4733
+ L: 201,
4673
4734
  S: this,
4674
4735
  A: [
4675
4736
  "!this._open",
@@ -4678,14 +4739,14 @@ var ClientServicesHost = class ClientServicesHost2 {
4678
4739
  });
4679
4740
  (0, import_log16.log)("initializing...", void 0, {
4680
4741
  F: __dxlog_file17,
4681
- L: 185,
4742
+ L: 202,
4682
4743
  S: this,
4683
4744
  C: (f, a) => f(...a)
4684
4745
  });
4685
4746
  if (config) {
4686
- (0, import_invariant14.invariant)(!this._config, "config already set", {
4747
+ (0, import_invariant15.invariant)(!this._config, "config already set", {
4687
4748
  F: __dxlog_file17,
4688
- L: 188,
4749
+ L: 205,
4689
4750
  S: this,
4690
4751
  A: [
4691
4752
  "!this._config",
@@ -4701,9 +4762,9 @@ var ClientServicesHost = class ClientServicesHost2 {
4701
4762
  iceServers: this._config?.get("runtime.services.ice")
4702
4763
  }), signalManager = new import_messaging.WebsocketSignalManager(this._config?.get("runtime.services.signaling") ?? []) } = options;
4703
4764
  this._signalManager = signalManager;
4704
- (0, import_invariant14.invariant)(!this._networkManager, "network manager already set", {
4765
+ (0, import_invariant15.invariant)(!this._networkManager, "network manager already set", {
4705
4766
  F: __dxlog_file17,
4706
- L: 204,
4767
+ L: 221,
4707
4768
  S: this,
4708
4769
  A: [
4709
4770
  "!this._networkManager",
@@ -4717,7 +4778,7 @@ var ClientServicesHost = class ClientServicesHost2 {
4717
4778
  });
4718
4779
  (0, import_log16.log)("initialized", void 0, {
4719
4780
  F: __dxlog_file17,
4720
- L: 211,
4781
+ L: 228,
4721
4782
  S: this,
4722
4783
  C: (f, a) => f(...a)
4723
4784
  });
@@ -4727,44 +4788,44 @@ var ClientServicesHost = class ClientServicesHost2 {
4727
4788
  return;
4728
4789
  }
4729
4790
  const traceId = import_keys11.PublicKey.random().toHex();
4730
- 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({
4731
4792
  id: traceId
4732
4793
  }), {
4733
4794
  F: __dxlog_file17,
4734
- L: 222,
4795
+ L: 239,
4735
4796
  S: this,
4736
4797
  C: (f, a) => f(...a)
4737
4798
  });
4738
- (0, import_invariant14.invariant)(this._config, "config not set", {
4799
+ (0, import_invariant15.invariant)(this._config, "config not set", {
4739
4800
  F: __dxlog_file17,
4740
- L: 224,
4801
+ L: 241,
4741
4802
  S: this,
4742
4803
  A: [
4743
4804
  "this._config",
4744
4805
  "'config not set'"
4745
4806
  ]
4746
4807
  });
4747
- (0, import_invariant14.invariant)(this._storage, "storage not set", {
4808
+ (0, import_invariant15.invariant)(this._storage, "storage not set", {
4748
4809
  F: __dxlog_file17,
4749
- L: 225,
4810
+ L: 242,
4750
4811
  S: this,
4751
4812
  A: [
4752
4813
  "this._storage",
4753
4814
  "'storage not set'"
4754
4815
  ]
4755
4816
  });
4756
- (0, import_invariant14.invariant)(this._signalManager, "signal manager not set", {
4817
+ (0, import_invariant15.invariant)(this._signalManager, "signal manager not set", {
4757
4818
  F: __dxlog_file17,
4758
- L: 226,
4819
+ L: 243,
4759
4820
  S: this,
4760
4821
  A: [
4761
4822
  "this._signalManager",
4762
4823
  "'signal manager not set'"
4763
4824
  ]
4764
4825
  });
4765
- (0, import_invariant14.invariant)(this._networkManager, "network manager not set", {
4826
+ (0, import_invariant15.invariant)(this._networkManager, "network manager not set", {
4766
4827
  F: __dxlog_file17,
4767
- L: 227,
4828
+ L: 244,
4768
4829
  S: this,
4769
4830
  A: [
4770
4831
  "this._networkManager",
@@ -4776,7 +4837,7 @@ var ClientServicesHost = class ClientServicesHost2 {
4776
4837
  lockKey: this._resourceLock?.lockKey
4777
4838
  }, {
4778
4839
  F: __dxlog_file17,
4779
- L: 230,
4840
+ L: 247,
4780
4841
  S: this,
4781
4842
  C: (f, a) => f(...a)
4782
4843
  });
@@ -4785,14 +4846,14 @@ var ClientServicesHost = class ClientServicesHost2 {
4785
4846
  this._serviceContext = new ServiceContext(this._storage, this._networkManager, this._signalManager, this._modelFactory);
4786
4847
  this._serviceRegistry.setServices({
4787
4848
  SystemService: this._systemService,
4788
- 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),
4789
4850
  InvitationsService: new InvitationsServiceImpl(this._serviceContext.invitations, (invitation) => this._serviceContext.getInvitationHandler(invitation)),
4790
4851
  DevicesService: new DevicesServiceImpl(this._serviceContext.identityManager),
4791
4852
  SpacesService: new SpacesServiceImpl(this._serviceContext.identityManager, this._serviceContext.spaceManager, this._serviceContext.dataServiceSubscriptions, async () => {
4792
4853
  await this._serviceContext.initialized.wait();
4793
4854
  return this._serviceContext.dataSpaceManager;
4794
4855
  }),
4795
- DataService: new import_echo_pipeline4.DataServiceImpl(this._serviceContext.dataServiceSubscriptions),
4856
+ DataService: new import_echo_pipeline3.DataServiceImpl(this._serviceContext.dataServiceSubscriptions),
4796
4857
  NetworkService: new NetworkServiceImpl(this._serviceContext.networkManager, this._serviceContext.signalManager),
4797
4858
  LoggingService: this._loggingService,
4798
4859
  TracingService: this._tracingService,
@@ -4822,15 +4883,15 @@ var ClientServicesHost = class ClientServicesHost2 {
4822
4883
  deviceKey
4823
4884
  }, {
4824
4885
  F: __dxlog_file17,
4825
- L: 299,
4886
+ L: 316,
4826
4887
  S: this,
4827
4888
  C: (f, a) => f(...a)
4828
4889
  });
4829
- 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({
4830
4891
  id: traceId
4831
4892
  }), {
4832
4893
  F: __dxlog_file17,
4833
- L: 300,
4894
+ L: 317,
4834
4895
  S: this,
4835
4896
  C: (f, a) => f(...a)
4836
4897
  });
@@ -4844,7 +4905,7 @@ var ClientServicesHost = class ClientServicesHost2 {
4844
4905
  deviceKey
4845
4906
  }, {
4846
4907
  F: __dxlog_file17,
4847
- L: 311,
4908
+ L: 328,
4848
4909
  S: this,
4849
4910
  C: (f, a) => f(...a)
4850
4911
  });
@@ -4860,24 +4921,24 @@ var ClientServicesHost = class ClientServicesHost2 {
4860
4921
  deviceKey
4861
4922
  }, {
4862
4923
  F: __dxlog_file17,
4863
- L: 318,
4924
+ L: 335,
4864
4925
  S: this,
4865
4926
  C: (f, a) => f(...a)
4866
4927
  });
4867
4928
  }
4868
4929
  async reset() {
4869
4930
  const traceId = import_keys11.PublicKey.random().toHex();
4870
- 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({
4871
4932
  id: traceId
4872
4933
  }), {
4873
4934
  F: __dxlog_file17,
4874
- L: 323,
4935
+ L: 340,
4875
4936
  S: this,
4876
4937
  C: (f, a) => f(...a)
4877
4938
  });
4878
4939
  (0, import_log16.log)("resetting...", void 0, {
4879
4940
  F: __dxlog_file17,
4880
- L: 325,
4941
+ L: 342,
4881
4942
  S: this,
4882
4943
  C: (f, a) => f(...a)
4883
4944
  });
@@ -4885,20 +4946,39 @@ var ClientServicesHost = class ClientServicesHost2 {
4885
4946
  await this._storage.reset();
4886
4947
  (0, import_log16.log)("reset", void 0, {
4887
4948
  F: __dxlog_file17,
4888
- L: 328,
4949
+ L: 345,
4889
4950
  S: this,
4890
4951
  C: (f, a) => f(...a)
4891
4952
  });
4892
- 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({
4893
4954
  id: traceId
4894
4955
  }), {
4895
4956
  F: __dxlog_file17,
4896
- L: 329,
4957
+ L: 346,
4897
4958
  S: this,
4898
4959
  C: (f, a) => f(...a)
4899
4960
  });
4900
4961
  await this._callbacks?.onReset?.();
4901
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
+ }
4902
4982
  };
4903
4983
  _ts_decorate7([
4904
4984
  import_tracing5.trace.info()
@@ -4930,7 +5010,7 @@ var import_util10 = require("@dxos/util");
4930
5010
  // packages/sdk/client-services/src/packlets/vault/shell-runtime.ts
4931
5011
  var import_async18 = require("@dxos/async");
4932
5012
  var import_client_protocol6 = require("@dxos/client-protocol");
4933
- var import_invariant15 = require("@dxos/invariant");
5013
+ var import_invariant16 = require("@dxos/invariant");
4934
5014
  var import_iframe = require("@dxos/protocols/proto/dxos/iframe");
4935
5015
  var import_rpc2 = require("@dxos/rpc");
4936
5016
  var __dxlog_file18 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/vault/shell-runtime.ts";
@@ -4949,17 +5029,18 @@ var ShellRuntimeImpl = class {
4949
5029
  get spaceKey() {
4950
5030
  return this._spaceKey;
4951
5031
  }
4952
- setLayout(layout, options = {}) {
5032
+ setLayout({ layout, invitationCode, spaceKey }) {
4953
5033
  this._layout = layout;
4954
- this._invitationCode = options.invitationCode;
4955
- this._spaceKey = options.spaceKey;
5034
+ this._invitationCode = invitationCode;
5035
+ this._spaceKey = spaceKey;
4956
5036
  this.layoutUpdate.emit({
4957
5037
  layout,
4958
- ...options
5038
+ invitationCode,
5039
+ spaceKey
4959
5040
  });
4960
5041
  }
4961
5042
  async setAppContext(context) {
4962
- (0, import_invariant15.invariant)(this._appRpc, "runtime not open", {
5043
+ (0, import_invariant16.invariant)(this._appRpc, "runtime not open", {
4963
5044
  F: __dxlog_file18,
4964
5045
  L: 44,
4965
5046
  S: this,
@@ -5115,9 +5196,9 @@ _ts_decorate8([
5115
5196
  // packages/sdk/client-services/src/packlets/vault/iframe-proxy-runtime.ts
5116
5197
  var import_async20 = require("@dxos/async");
5117
5198
  var import_client_protocol8 = require("@dxos/client-protocol");
5118
- var import_errors6 = require("@dxos/errors");
5119
5199
  var import_log18 = require("@dxos/log");
5120
5200
  var import_network_manager4 = require("@dxos/network-manager");
5201
+ var import_protocols13 = require("@dxos/protocols");
5121
5202
  var import_rpc3 = require("@dxos/rpc");
5122
5203
  var import_util11 = require("@dxos/util");
5123
5204
  var __dxlog_file20 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/vault/iframe-proxy-runtime.ts";
@@ -5173,7 +5254,7 @@ var IFrameProxyRuntime = class {
5173
5254
  S: this,
5174
5255
  C: (f, a) => f(...a)
5175
5256
  });
5176
- throw new import_errors6.RemoteServiceConnectionError("Failed to connect to worker");
5257
+ throw new import_protocols13.RemoteServiceConnectionError("Failed to connect to worker");
5177
5258
  }
5178
5259
  await this._shellRuntime?.open();
5179
5260
  }
@@ -5198,7 +5279,7 @@ var import_network_manager5 = require("@dxos/network-manager");
5198
5279
  // packages/sdk/client-services/src/packlets/vault/worker-session.ts
5199
5280
  var import_async21 = require("@dxos/async");
5200
5281
  var import_client_protocol9 = require("@dxos/client-protocol");
5201
- var import_invariant16 = require("@dxos/invariant");
5282
+ var import_invariant17 = require("@dxos/invariant");
5202
5283
  var import_log19 = require("@dxos/log");
5203
5284
  var import_rpc4 = require("@dxos/rpc");
5204
5285
  var import_util12 = require("@dxos/util");
@@ -5217,7 +5298,7 @@ var WorkerSession = class {
5217
5298
  constructor({ serviceHost, systemPort, appPort, shellPort, readySignal }) {
5218
5299
  this._startTrigger = new import_async21.Trigger();
5219
5300
  this.onClose = new import_util12.Callback();
5220
- (0, import_invariant16.invariant)(serviceHost, void 0, {
5301
+ (0, import_invariant17.invariant)(serviceHost, void 0, {
5221
5302
  F: __dxlog_file21,
5222
5303
  L: 49,
5223
5304
  S: this,
@@ -5368,7 +5449,6 @@ _ts_decorate9([
5368
5449
  // packages/sdk/client-services/src/packlets/vault/worker-runtime.ts
5369
5450
  var __dxlog_file22 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/vault/worker-runtime.ts";
5370
5451
  var WorkerRuntime = class {
5371
- // prettier-ignore
5372
5452
  constructor(_configProvider) {
5373
5453
  this._configProvider = _configProvider;
5374
5454
  this._transportFactory = new import_network_manager5.SimplePeerTransportProxyFactory();
@@ -5388,7 +5468,7 @@ var WorkerRuntime = class {
5388
5468
  async start() {
5389
5469
  (0, import_log20.log)("starting...", void 0, {
5390
5470
  F: __dxlog_file22,
5391
- L: 49,
5471
+ L: 52,
5392
5472
  S: this,
5393
5473
  C: (f, a) => f(...a)
5394
5474
  });
@@ -5404,7 +5484,7 @@ var WorkerRuntime = class {
5404
5484
  this._ready.wake(void 0);
5405
5485
  (0, import_log20.log)("started", void 0, {
5406
5486
  F: __dxlog_file22,
5407
- L: 63,
5487
+ L: 66,
5408
5488
  S: this,
5409
5489
  C: (f, a) => f(...a)
5410
5490
  });
@@ -5412,7 +5492,7 @@ var WorkerRuntime = class {
5412
5492
  this._ready.wake(err);
5413
5493
  import_log20.log.error("starting", err, {
5414
5494
  F: __dxlog_file22,
5415
- L: 66,
5495
+ L: 69,
5416
5496
  S: this,
5417
5497
  C: (f, a) => f(...a)
5418
5498
  });
@@ -5446,7 +5526,7 @@ var WorkerRuntime = class {
5446
5526
  _reconnectWebrtc() {
5447
5527
  (0, import_log20.log)("reconnecting webrtc...", void 0, {
5448
5528
  F: __dxlog_file22,
5449
- L: 103,
5529
+ L: 106,
5450
5530
  S: this,
5451
5531
  C: (f, a) => f(...a)
5452
5532
  });