@dxos/client-services 0.3.9-main.e28f907 → 0.3.9-main.e487c3c

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 (37) hide show
  1. package/dist/lib/browser/{chunk-JXMHMZAE.mjs → chunk-4KPX322K.mjs} +127 -65
  2. package/dist/lib/browser/chunk-4KPX322K.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +1 -1
  4. package/dist/lib/browser/meta.json +1 -1
  5. package/dist/lib/browser/packlets/testing/index.mjs +7 -3
  6. package/dist/lib/browser/packlets/testing/index.mjs.map +3 -3
  7. package/dist/lib/node/{chunk-MGFMTGQY.cjs → chunk-KWGZZCD7.cjs} +128 -77
  8. package/dist/lib/node/chunk-KWGZZCD7.cjs.map +7 -0
  9. package/dist/lib/node/index.cjs +37 -37
  10. package/dist/lib/node/meta.json +1 -1
  11. package/dist/lib/node/packlets/testing/index.cjs +11 -8
  12. package/dist/lib/node/packlets/testing/index.cjs.map +3 -3
  13. package/dist/types/src/packlets/services/service-context.d.ts +2 -1
  14. package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
  15. package/dist/types/src/packlets/services/service-host.d.ts.map +1 -1
  16. package/dist/types/src/packlets/spaces/automerge-space-state.d.ts +8 -0
  17. package/dist/types/src/packlets/spaces/automerge-space-state.d.ts.map +1 -0
  18. package/dist/types/src/packlets/spaces/data-space-manager.d.ts +3 -2
  19. package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
  20. package/dist/types/src/packlets/spaces/data-space.d.ts +7 -2
  21. package/dist/types/src/packlets/spaces/data-space.d.ts.map +1 -1
  22. package/dist/types/src/packlets/spaces/genesis.d.ts +1 -1
  23. package/dist/types/src/packlets/spaces/genesis.d.ts.map +1 -1
  24. package/dist/types/src/packlets/testing/test-builder.d.ts +3 -1
  25. package/dist/types/src/packlets/testing/test-builder.d.ts.map +1 -1
  26. package/dist/types/src/version.d.ts +1 -1
  27. package/package.json +35 -35
  28. package/src/packlets/services/service-context.ts +5 -0
  29. package/src/packlets/services/service-host.ts +5 -2
  30. package/src/packlets/spaces/automerge-space-state.ts +22 -0
  31. package/src/packlets/spaces/data-space-manager.ts +12 -2
  32. package/src/packlets/spaces/data-space.ts +53 -6
  33. package/src/packlets/spaces/genesis.ts +7 -1
  34. package/src/packlets/testing/test-builder.ts +7 -0
  35. package/src/version.ts +1 -1
  36. package/dist/lib/browser/chunk-JXMHMZAE.mjs.map +0 -7
  37. package/dist/lib/node/chunk-MGFMTGQY.cjs.map +0 -7
@@ -1,5 +1,12 @@
1
1
  import "@dxos/node-std/globals";
2
2
 
3
+ // inject-globals:@inject-globals
4
+ import {
5
+ global,
6
+ Buffer,
7
+ process
8
+ } from "@dxos/node-std/inject-globals";
9
+
3
10
  // packages/sdk/client-services/src/packlets/devtools/feeds.ts
4
11
  import { EventSubscriptions } from "@dxos/async";
5
12
  import { Stream } from "@dxos/codec-protobuf";
@@ -2534,7 +2541,7 @@ var getPlatform = () => {
2534
2541
  };
2535
2542
 
2536
2543
  // packages/sdk/client-services/src/version.ts
2537
- var DXOS_VERSION = "0.3.9-main.e28f907";
2544
+ var DXOS_VERSION = "0.3.9-main.e487c3c";
2538
2545
 
2539
2546
  // packages/sdk/client-services/src/packlets/services/diagnostics.ts
2540
2547
  var __dxlog_file10 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/src/packlets/services/diagnostics.ts";
@@ -2668,12 +2675,30 @@ import { createMappedFeedWriter } from "@dxos/echo-pipeline";
2668
2675
  import { PublicKey as PublicKey8 } from "@dxos/keys";
2669
2676
  import { log as log10 } from "@dxos/log";
2670
2677
  import { CancelledError, SystemError } from "@dxos/protocols";
2671
- import { SpaceState } from "@dxos/protocols/proto/dxos/client/services";
2678
+ import { SpaceState, CreateEpochRequest } from "@dxos/protocols/proto/dxos/client/services";
2672
2679
  import { AdmittedFeed as AdmittedFeed3 } from "@dxos/protocols/proto/dxos/halo/credentials";
2673
2680
  import { Timeframe as Timeframe2 } from "@dxos/timeframe";
2674
2681
  import { trace as trace6 } from "@dxos/tracing";
2675
2682
  import { ComplexSet as ComplexSet3 } from "@dxos/util";
2676
2683
 
2684
+ // packages/sdk/client-services/src/packlets/spaces/automerge-space-state.ts
2685
+ import { checkCredentialType } from "@dxos/credentials";
2686
+ var AutomergeSpaceState = class {
2687
+ constructor() {
2688
+ this.rootUrl = void 0;
2689
+ this.lastEpoch = void 0;
2690
+ }
2691
+ async processCredential(credential) {
2692
+ if (!checkCredentialType(credential, "dxos.halo.credentials.Epoch")) {
2693
+ return;
2694
+ }
2695
+ this.lastEpoch = credential;
2696
+ if (credential.subject.assertion.automergeRoot) {
2697
+ this.rootUrl = credential.subject.assertion.automergeRoot;
2698
+ }
2699
+ }
2700
+ };
2701
+
2677
2702
  // packages/sdk/client-services/src/packlets/spaces/notarization-plugin.ts
2678
2703
  import { DeferredTask, Event as Event4, scheduleTask as scheduleTask3, sleep, TimeoutError as TimeoutError2, Trigger as Trigger4 } from "@dxos/async";
2679
2704
  import { Context as Context6, rejectOnDispose } from "@dxos/context";
@@ -2959,6 +2984,10 @@ var DataSpace = class DataSpace2 {
2959
2984
  constructor(params) {
2960
2985
  this._ctx = new Context7();
2961
2986
  this._notarizationPlugin = new NotarizationPlugin();
2987
+ this._cache = void 0;
2988
+ this._automergeHost = void 0;
2989
+ // TODO(dmaretskyi): Move into Space?
2990
+ this._automergeSpaceState = new AutomergeSpaceState();
2962
2991
  this._state = SpaceState.CLOSED;
2963
2992
  /**
2964
2993
  * Error for _state === SpaceState.ERROR.
@@ -2986,7 +3015,7 @@ var DataSpace = class DataSpace2 {
2986
3015
  state: SpaceState[this._state]
2987
3016
  }, {
2988
3017
  F: __dxlog_file12,
2989
- L: 118,
3018
+ L: 138,
2990
3019
  S: this,
2991
3020
  C: (f, a) => f(...a)
2992
3021
  });
@@ -3016,6 +3045,9 @@ var DataSpace = class DataSpace2 {
3016
3045
  get cache() {
3017
3046
  return this._cache;
3018
3047
  }
3048
+ get automergeSpaceState() {
3049
+ return this._automergeSpaceState;
3050
+ }
3019
3051
  async open() {
3020
3052
  await this._open();
3021
3053
  }
@@ -3023,13 +3055,14 @@ var DataSpace = class DataSpace2 {
3023
3055
  await this._gossip.open();
3024
3056
  await this._notarizationPlugin.open();
3025
3057
  await this._inner.spaceState.addCredentialProcessor(this._notarizationPlugin);
3058
+ await this._inner.spaceState.addCredentialProcessor(this._automergeSpaceState);
3026
3059
  await this._inner.open(new Context7());
3027
3060
  this._state = SpaceState.CONTROL_ONLY;
3028
3061
  log10("new state", {
3029
3062
  state: SpaceState[this._state]
3030
3063
  }, {
3031
3064
  F: __dxlog_file12,
3032
- L: 165,
3065
+ L: 190,
3033
3066
  S: this,
3034
3067
  C: (f, a) => f(...a)
3035
3068
  });
@@ -3047,7 +3080,7 @@ var DataSpace = class DataSpace2 {
3047
3080
  state: SpaceState[this._state]
3048
3081
  }, {
3049
3082
  F: __dxlog_file12,
3050
- L: 179,
3083
+ L: 204,
3051
3084
  S: this,
3052
3085
  C: (f, a) => f(...a)
3053
3086
  });
@@ -3055,6 +3088,7 @@ var DataSpace = class DataSpace2 {
3055
3088
  this._ctx = new Context7();
3056
3089
  await this.authVerifier.close();
3057
3090
  await this._inner.close();
3091
+ await this._inner.spaceState.removeCredentialProcessor(this._automergeSpaceState);
3058
3092
  await this._inner.spaceState.removeCredentialProcessor(this._notarizationPlugin);
3059
3093
  await this._notarizationPlugin.close();
3060
3094
  await this._presence.destroy();
@@ -3078,7 +3112,7 @@ var DataSpace = class DataSpace2 {
3078
3112
  if (err instanceof CancelledError) {
3079
3113
  log10("data pipeline initialization cancelled", err, {
3080
3114
  F: __dxlog_file12,
3081
- L: 211,
3115
+ L: 237,
3082
3116
  S: this,
3083
3117
  C: (f, a) => f(...a)
3084
3118
  });
@@ -3086,7 +3120,7 @@ var DataSpace = class DataSpace2 {
3086
3120
  }
3087
3121
  log10.error("Error initializing data pipeline", err, {
3088
3122
  F: __dxlog_file12,
3089
- L: 215,
3123
+ L: 241,
3090
3124
  S: this,
3091
3125
  C: (f, a) => f(...a)
3092
3126
  });
@@ -3095,7 +3129,7 @@ var DataSpace = class DataSpace2 {
3095
3129
  state: SpaceState[this._state]
3096
3130
  }, {
3097
3131
  F: __dxlog_file12,
3098
- L: 217,
3132
+ L: 243,
3099
3133
  S: this,
3100
3134
  C: (f, a) => f(...a)
3101
3135
  });
@@ -3115,7 +3149,7 @@ var DataSpace = class DataSpace2 {
3115
3149
  state: SpaceState[this._state]
3116
3150
  }, {
3117
3151
  F: __dxlog_file12,
3118
- L: 233,
3152
+ L: 259,
3119
3153
  S: this,
3120
3154
  C: (f, a) => f(...a)
3121
3155
  });
@@ -3126,7 +3160,7 @@ var DataSpace = class DataSpace2 {
3126
3160
  await cancelWithContext2(this._ctx, this._inner.dataPipeline.ensureEpochInitialized());
3127
3161
  log10("waiting for data pipeline to reach target timeframe", void 0, {
3128
3162
  F: __dxlog_file12,
3129
- L: 247,
3163
+ L: 273,
3130
3164
  S: this,
3131
3165
  C: (f, a) => f(...a)
3132
3166
  });
@@ -3137,7 +3171,7 @@ var DataSpace = class DataSpace2 {
3137
3171
  this.metrics.dataPipelineReady = /* @__PURE__ */ new Date();
3138
3172
  log10("data pipeline ready", void 0, {
3139
3173
  F: __dxlog_file12,
3140
- L: 256,
3174
+ L: 282,
3141
3175
  S: this,
3142
3176
  C: (f, a) => f(...a)
3143
3177
  });
@@ -3147,7 +3181,7 @@ var DataSpace = class DataSpace2 {
3147
3181
  state: SpaceState[this._state]
3148
3182
  }, {
3149
3183
  F: __dxlog_file12,
3150
- L: 260,
3184
+ L: 286,
3151
3185
  S: this,
3152
3186
  C: (f, a) => f(...a)
3153
3187
  });
@@ -3163,7 +3197,7 @@ var DataSpace = class DataSpace2 {
3163
3197
  await this._createWritableFeeds();
3164
3198
  log10("writable feeds created", void 0, {
3165
3199
  F: __dxlog_file12,
3166
- L: 276,
3200
+ L: 302,
3167
3201
  S: this,
3168
3202
  C: (f, a) => f(...a)
3169
3203
  });
@@ -3235,8 +3269,28 @@ var DataSpace = class DataSpace2 {
3235
3269
  }
3236
3270
  });
3237
3271
  }
3238
- async createEpoch() {
3239
- const epoch = await this.dataPipeline.createEpoch();
3272
+ async createEpoch(options) {
3273
+ let epoch;
3274
+ switch (options?.migration) {
3275
+ case void 0:
3276
+ case CreateEpochRequest.Migration.NONE:
3277
+ {
3278
+ epoch = await this.dataPipeline.createEpoch();
3279
+ }
3280
+ break;
3281
+ case CreateEpochRequest.Migration.INIT_AUTOMERGE: {
3282
+ const document = this._automergeHost?.repo.create();
3283
+ epoch = {
3284
+ previousId: this._automergeSpaceState.lastEpoch?.id,
3285
+ number: (this._automergeSpaceState.lastEpoch?.subject.assertion.number ?? -1) + 1,
3286
+ timeframe: this._automergeSpaceState.lastEpoch?.subject.assertion.timeframe ?? new Timeframe2(),
3287
+ automergeRoot: document?.url
3288
+ };
3289
+ }
3290
+ }
3291
+ if (!epoch) {
3292
+ return;
3293
+ }
3240
3294
  const receipt = await this.inner.controlPipeline.writer.write({
3241
3295
  credential: {
3242
3296
  credential: await this._signingContext.credentialSigner.createCredential({
@@ -3283,7 +3337,7 @@ var DataSpace = class DataSpace2 {
3283
3337
  state: SpaceState[this._state]
3284
3338
  }, {
3285
3339
  F: __dxlog_file12,
3286
- L: 404,
3340
+ L: 451,
3287
3341
  S: this,
3288
3342
  C: (f, a) => f(...a)
3289
3343
  });
@@ -3336,7 +3390,7 @@ import { createCredential } from "@dxos/credentials";
3336
3390
  import { failUndefined as failUndefined2 } from "@dxos/debug";
3337
3391
  import { AdmittedFeed as AdmittedFeed4, SpaceMember as SpaceMember2 } from "@dxos/protocols/proto/dxos/halo/credentials";
3338
3392
  import { Timeframe as Timeframe3 } from "@dxos/timeframe";
3339
- var spaceGenesis = async (keyring, signingContext, space) => {
3393
+ var spaceGenesis = async (keyring, signingContext, space, automergeRoot) => {
3340
3394
  const credentials = [
3341
3395
  await createCredential({
3342
3396
  signer: keyring,
@@ -3386,7 +3440,8 @@ var spaceGenesis = async (keyring, signingContext, space) => {
3386
3440
  number: 0,
3387
3441
  previousId: void 0,
3388
3442
  timeframe: new Timeframe3(),
3389
- snapshotCid: void 0
3443
+ snapshotCid: void 0,
3444
+ automergeRoot
3390
3445
  }
3391
3446
  })
3392
3447
  ];
@@ -3415,13 +3470,14 @@ var __dxlog_file13 = "/home/runner/work/dxos/dxos/packages/sdk/client-services/s
3415
3470
  var PRESENCE_ANNOUNCE_INTERVAL = 1e4;
3416
3471
  var PRESENCE_OFFLINE_TIMEOUT = 2e4;
3417
3472
  var DataSpaceManager = class DataSpaceManager2 {
3418
- constructor(_spaceManager, _metadataStore, _dataServiceSubscriptions, _keyring, _signingContext, _feedStore) {
3473
+ constructor(_spaceManager, _metadataStore, _dataServiceSubscriptions, _keyring, _signingContext, _feedStore, _automergeHost) {
3419
3474
  this._spaceManager = _spaceManager;
3420
3475
  this._metadataStore = _metadataStore;
3421
3476
  this._dataServiceSubscriptions = _dataServiceSubscriptions;
3422
3477
  this._keyring = _keyring;
3423
3478
  this._signingContext = _signingContext;
3424
3479
  this._feedStore = _feedStore;
3480
+ this._automergeHost = _automergeHost;
3425
3481
  this._ctx = new Context8();
3426
3482
  this.updated = new Event6();
3427
3483
  this._spaces = new ComplexMap3(PublicKey9.hash);
@@ -3435,7 +3491,7 @@ var DataSpaceManager = class DataSpaceManager2 {
3435
3491
  async open() {
3436
3492
  log11("open", void 0, {
3437
3493
  F: __dxlog_file13,
3438
- L: 83,
3494
+ L: 90,
3439
3495
  S: this,
3440
3496
  C: (f, a) => f(...a)
3441
3497
  });
@@ -3443,7 +3499,7 @@ var DataSpaceManager = class DataSpaceManager2 {
3443
3499
  id: this._instanceId
3444
3500
  }), {
3445
3501
  F: __dxlog_file13,
3446
- L: 84,
3502
+ L: 91,
3447
3503
  S: this,
3448
3504
  C: (f, a) => f(...a)
3449
3505
  });
@@ -3451,7 +3507,7 @@ var DataSpaceManager = class DataSpaceManager2 {
3451
3507
  spaces: this._metadataStore.spaces.length
3452
3508
  }, {
3453
3509
  F: __dxlog_file13,
3454
- L: 85,
3510
+ L: 92,
3455
3511
  S: this,
3456
3512
  C: (f, a) => f(...a)
3457
3513
  });
@@ -3461,7 +3517,7 @@ var DataSpaceManager = class DataSpaceManager2 {
3461
3517
  spaceMetadata
3462
3518
  }, {
3463
3519
  F: __dxlog_file13,
3464
- L: 89,
3520
+ L: 96,
3465
3521
  S: this,
3466
3522
  C: (f, a) => f(...a)
3467
3523
  });
@@ -3472,7 +3528,7 @@ var DataSpaceManager = class DataSpaceManager2 {
3472
3528
  err
3473
3529
  }, {
3474
3530
  F: __dxlog_file13,
3475
- L: 92,
3531
+ L: 99,
3476
3532
  S: this,
3477
3533
  C: (f, a) => f(...a)
3478
3534
  });
@@ -3489,7 +3545,7 @@ var DataSpaceManager = class DataSpaceManager2 {
3489
3545
  id: this._instanceId
3490
3546
  }), {
3491
3547
  F: __dxlog_file13,
3492
- L: 105,
3548
+ L: 112,
3493
3549
  S: this,
3494
3550
  C: (f, a) => f(...a)
3495
3551
  });
@@ -3497,7 +3553,7 @@ var DataSpaceManager = class DataSpaceManager2 {
3497
3553
  async close() {
3498
3554
  log11("close", void 0, {
3499
3555
  F: __dxlog_file13,
3500
- L: 110,
3556
+ L: 117,
3501
3557
  S: this,
3502
3558
  C: (f, a) => f(...a)
3503
3559
  });
@@ -3513,7 +3569,7 @@ var DataSpaceManager = class DataSpaceManager2 {
3513
3569
  async createSpace() {
3514
3570
  invariant11(this._isOpen, "Not open.", {
3515
3571
  F: __dxlog_file13,
3516
- L: 123,
3572
+ L: 130,
3517
3573
  S: this,
3518
3574
  A: [
3519
3575
  "this._isOpen",
@@ -3534,17 +3590,18 @@ var DataSpaceManager = class DataSpaceManager2 {
3534
3590
  spaceKey
3535
3591
  }, {
3536
3592
  F: __dxlog_file13,
3537
- L: 135,
3593
+ L: 142,
3538
3594
  S: this,
3539
3595
  C: (f, a) => f(...a)
3540
3596
  });
3541
3597
  const space = await this._constructSpace(metadata);
3542
- const credentials = await spaceGenesis(this._keyring, this._signingContext, space.inner);
3598
+ const automergeRoot = this._automergeHost.repo.create();
3599
+ const credentials = await spaceGenesis(this._keyring, this._signingContext, space.inner, automergeRoot.url);
3543
3600
  await this._metadataStore.addSpace(metadata);
3544
3601
  const memberCredential = credentials[1];
3545
3602
  invariant11(getCredentialAssertion2(memberCredential)["@type"] === "dxos.halo.credentials.SpaceMember", void 0, {
3546
3603
  F: __dxlog_file13,
3547
- L: 142,
3604
+ L: 151,
3548
3605
  S: this,
3549
3606
  A: [
3550
3607
  "getCredentialAssertion(memberCredential)['@type'] === 'dxos.halo.credentials.SpaceMember'",
@@ -3562,13 +3619,13 @@ var DataSpaceManager = class DataSpaceManager2 {
3562
3619
  opts
3563
3620
  }, {
3564
3621
  F: __dxlog_file13,
3565
- L: 154,
3622
+ L: 163,
3566
3623
  S: this,
3567
3624
  C: (f, a) => f(...a)
3568
3625
  });
3569
3626
  invariant11(this._isOpen, "Not open.", {
3570
3627
  F: __dxlog_file13,
3571
- L: 155,
3628
+ L: 164,
3572
3629
  S: this,
3573
3630
  A: [
3574
3631
  "this._isOpen",
@@ -3577,7 +3634,7 @@ var DataSpaceManager = class DataSpaceManager2 {
3577
3634
  });
3578
3635
  invariant11(!this._spaces.has(opts.spaceKey), "Space already exists.", {
3579
3636
  F: __dxlog_file13,
3580
- L: 156,
3637
+ L: 165,
3581
3638
  S: this,
3582
3639
  A: [
3583
3640
  "!this._spaces.has(opts.spaceKey)",
@@ -3612,7 +3669,7 @@ var DataSpaceManager = class DataSpaceManager2 {
3612
3669
  metadata
3613
3670
  }, {
3614
3671
  F: __dxlog_file13,
3615
- L: 189,
3672
+ L: 198,
3616
3673
  S: this,
3617
3674
  C: (f, a) => f(...a)
3618
3675
  });
@@ -3648,7 +3705,7 @@ var DataSpaceManager = class DataSpaceManager2 {
3648
3705
  onAuthFailure: () => {
3649
3706
  log11.warn("auth failure", void 0, {
3650
3707
  F: __dxlog_file13,
3651
- L: 224,
3708
+ L: 233,
3652
3709
  S: this,
3653
3710
  C: (f, a) => f(...a)
3654
3711
  });
@@ -3672,7 +3729,7 @@ var DataSpaceManager = class DataSpaceManager2 {
3672
3729
  space: space.key
3673
3730
  }, {
3674
3731
  F: __dxlog_file13,
3675
- L: 242,
3732
+ L: 251,
3676
3733
  S: this,
3677
3734
  C: (f, a) => f(...a)
3678
3735
  });
@@ -3684,7 +3741,7 @@ var DataSpaceManager = class DataSpaceManager2 {
3684
3741
  open: this._isOpen
3685
3742
  }, {
3686
3743
  F: __dxlog_file13,
3687
- L: 249,
3744
+ L: 258,
3688
3745
  S: this,
3689
3746
  C: (f, a) => f(...a)
3690
3747
  });
@@ -3697,14 +3754,15 @@ var DataSpaceManager = class DataSpaceManager2 {
3697
3754
  space: space.key
3698
3755
  }, {
3699
3756
  F: __dxlog_file13,
3700
- L: 255,
3757
+ L: 264,
3701
3758
  S: this,
3702
3759
  C: (f, a) => f(...a)
3703
3760
  });
3704
3761
  await this._dataServiceSubscriptions.unregisterSpace(space.key);
3705
3762
  }
3706
3763
  },
3707
- cache: metadata.cache
3764
+ cache: metadata.cache,
3765
+ automergeHost: this._automergeHost
3708
3766
  });
3709
3767
  if (metadata.state !== SpaceState2.INACTIVE) {
3710
3768
  await dataSpace.open();
@@ -3961,7 +4019,7 @@ import { Trigger as Trigger5 } from "@dxos/async";
3961
4019
  import { Context as Context9 } from "@dxos/context";
3962
4020
  import { getCredentialAssertion as getCredentialAssertion3 } from "@dxos/credentials";
3963
4021
  import { failUndefined as failUndefined3 } from "@dxos/debug";
3964
- import { valueEncoding, MetadataStore, SpaceManager, DataServiceSubscriptions, SnapshotStore } from "@dxos/echo-pipeline";
4022
+ import { valueEncoding, MetadataStore, SpaceManager, DataServiceSubscriptions, SnapshotStore, AutomergeHost } from "@dxos/echo-pipeline";
3965
4023
  import { FeedFactory, FeedStore } from "@dxos/feed-store";
3966
4024
  import { invariant as invariant13 } from "@dxos/invariant";
3967
4025
  import { Keyring } from "@dxos/keyring";
@@ -4016,6 +4074,7 @@ var ServiceContext = class ServiceContext2 {
4016
4074
  snapshotStore: this.snapshotStore
4017
4075
  });
4018
4076
  this.identityManager = new IdentityManager(this.metadataStore, this.keyring, this.feedStore, this.spaceManager);
4077
+ this.automergeHost = new AutomergeHost(storage.createDirectory("automerge"));
4019
4078
  this.invitations = new InvitationsHandler(this.networkManager);
4020
4079
  this._handlerFactories.set(Invitation6.Kind.DEVICE, () => new DeviceInvitationProtocol(this.keyring, () => this.identityManager.identity ?? failUndefined3(), this._acceptIdentity.bind(this)));
4021
4080
  }
@@ -4023,7 +4082,7 @@ var ServiceContext = class ServiceContext2 {
4023
4082
  await this._checkStorageVersion();
4024
4083
  log13("opening...", void 0, {
4025
4084
  F: __dxlog_file15,
4026
- L: 129,
4085
+ L: 133,
4027
4086
  S: this,
4028
4087
  C: (f, a) => f(...a)
4029
4088
  });
@@ -4031,7 +4090,7 @@ var ServiceContext = class ServiceContext2 {
4031
4090
  id: this._instanceId
4032
4091
  }), {
4033
4092
  F: __dxlog_file15,
4034
- L: 130,
4093
+ L: 134,
4035
4094
  S: this,
4036
4095
  C: (f, a) => f(...a)
4037
4096
  });
@@ -4047,13 +4106,13 @@ var ServiceContext = class ServiceContext2 {
4047
4106
  id: this._instanceId
4048
4107
  }), {
4049
4108
  F: __dxlog_file15,
4050
- L: 140,
4109
+ L: 144,
4051
4110
  S: this,
4052
4111
  C: (f, a) => f(...a)
4053
4112
  });
4054
4113
  log13("opened", void 0, {
4055
4114
  F: __dxlog_file15,
4056
- L: 141,
4115
+ L: 145,
4057
4116
  S: this,
4058
4117
  C: (f, a) => f(...a)
4059
4118
  });
@@ -4061,7 +4120,7 @@ var ServiceContext = class ServiceContext2 {
4061
4120
  async close() {
4062
4121
  log13("closing...", void 0, {
4063
4122
  F: __dxlog_file15,
4064
- L: 145,
4123
+ L: 149,
4065
4124
  S: this,
4066
4125
  C: (f, a) => f(...a)
4067
4126
  });
@@ -4078,7 +4137,7 @@ var ServiceContext = class ServiceContext2 {
4078
4137
  await this.metadataStore.close();
4079
4138
  log13("closed", void 0, {
4080
4139
  F: __dxlog_file15,
4081
- L: 157,
4140
+ L: 161,
4082
4141
  S: this,
4083
4142
  C: (f, a) => f(...a)
4084
4143
  });
@@ -4092,7 +4151,7 @@ var ServiceContext = class ServiceContext2 {
4092
4151
  const factory = this._handlerFactories.get(invitation.kind);
4093
4152
  invariant13(factory, `Unknown invitation kind: ${invitation.kind}`, {
4094
4153
  F: __dxlog_file15,
4095
- L: 168,
4154
+ L: 172,
4096
4155
  S: this,
4097
4156
  A: [
4098
4157
  "factory",
@@ -4124,7 +4183,7 @@ var ServiceContext = class ServiceContext2 {
4124
4183
  async _initialize(ctx) {
4125
4184
  log13("initializing spaces...", void 0, {
4126
4185
  F: __dxlog_file15,
4127
- L: 199,
4186
+ L: 203,
4128
4187
  S: this,
4129
4188
  C: (f, a) => f(...a)
4130
4189
  });
@@ -4142,12 +4201,12 @@ var ServiceContext = class ServiceContext2 {
4142
4201
  });
4143
4202
  }
4144
4203
  };
4145
- this.dataSpaceManager = new DataSpaceManager(this.spaceManager, this.metadataStore, this.dataServiceSubscriptions, this.keyring, signingContext, this.feedStore);
4204
+ this.dataSpaceManager = new DataSpaceManager(this.spaceManager, this.metadataStore, this.dataServiceSubscriptions, this.keyring, signingContext, this.feedStore, this.automergeHost);
4146
4205
  await this.dataSpaceManager.open();
4147
4206
  this._handlerFactories.set(Invitation6.Kind.SPACE, (invitation) => {
4148
4207
  invariant13(this.dataSpaceManager, "dataSpaceManager not initialized yet", {
4149
4208
  F: __dxlog_file15,
4150
- L: 222,
4209
+ L: 227,
4151
4210
  S: this,
4152
4211
  A: [
4153
4212
  "this.dataSpaceManager",
@@ -4171,7 +4230,7 @@ var ServiceContext = class ServiceContext2 {
4171
4230
  details: assertion
4172
4231
  }, {
4173
4232
  F: __dxlog_file15,
4174
- L: 238,
4233
+ L: 243,
4175
4234
  S: this,
4176
4235
  C: (f, a) => f(...a)
4177
4236
  });
@@ -4182,7 +4241,7 @@ var ServiceContext = class ServiceContext2 {
4182
4241
  details: assertion
4183
4242
  }, {
4184
4243
  F: __dxlog_file15,
4185
- L: 242,
4244
+ L: 247,
4186
4245
  S: this,
4187
4246
  C: (f, a) => f(...a)
4188
4247
  });
@@ -4193,7 +4252,7 @@ var ServiceContext = class ServiceContext2 {
4193
4252
  details: assertion
4194
4253
  }, {
4195
4254
  F: __dxlog_file15,
4196
- L: 247,
4255
+ L: 252,
4197
4256
  S: this,
4198
4257
  C: (f, a) => f(...a)
4199
4258
  });
@@ -4204,7 +4263,7 @@ var ServiceContext = class ServiceContext2 {
4204
4263
  } catch (err) {
4205
4264
  log13.catch(err, void 0, {
4206
4265
  F: __dxlog_file15,
4207
- L: 253,
4266
+ L: 258,
4208
4267
  S: this,
4209
4268
  C: (f, a) => f(...a)
4210
4269
  });
@@ -4924,7 +4983,7 @@ var ClientServicesHost = class ClientServicesHost2 {
4924
4983
  await this._serviceContext.initialized.wait();
4925
4984
  return this._serviceContext.dataSpaceManager;
4926
4985
  }),
4927
- DataService: new DataServiceImpl(this._serviceContext.dataServiceSubscriptions),
4986
+ DataService: new DataServiceImpl(this._serviceContext.dataServiceSubscriptions, this._serviceContext.automergeHost),
4928
4987
  NetworkService: new NetworkServiceImpl(this._serviceContext.networkManager, this._serviceContext.signalManager),
4929
4988
  LoggingService: this._loggingService,
4930
4989
  TracingService: this._tracingService,
@@ -4954,7 +5013,7 @@ var ClientServicesHost = class ClientServicesHost2 {
4954
5013
  deviceKey
4955
5014
  }, {
4956
5015
  F: __dxlog_file17,
4957
- L: 317,
5016
+ L: 320,
4958
5017
  S: this,
4959
5018
  C: (f, a) => f(...a)
4960
5019
  });
@@ -4962,7 +5021,7 @@ var ClientServicesHost = class ClientServicesHost2 {
4962
5021
  id: traceId
4963
5022
  }), {
4964
5023
  F: __dxlog_file17,
4965
- L: 318,
5024
+ L: 321,
4966
5025
  S: this,
4967
5026
  C: (f, a) => f(...a)
4968
5027
  });
@@ -4976,7 +5035,7 @@ var ClientServicesHost = class ClientServicesHost2 {
4976
5035
  deviceKey
4977
5036
  }, {
4978
5037
  F: __dxlog_file17,
4979
- L: 329,
5038
+ L: 332,
4980
5039
  S: this,
4981
5040
  C: (f, a) => f(...a)
4982
5041
  });
@@ -4992,7 +5051,7 @@ var ClientServicesHost = class ClientServicesHost2 {
4992
5051
  deviceKey
4993
5052
  }, {
4994
5053
  F: __dxlog_file17,
4995
- L: 336,
5054
+ L: 339,
4996
5055
  S: this,
4997
5056
  C: (f, a) => f(...a)
4998
5057
  });
@@ -5003,13 +5062,13 @@ var ClientServicesHost = class ClientServicesHost2 {
5003
5062
  id: traceId
5004
5063
  }), {
5005
5064
  F: __dxlog_file17,
5006
- L: 341,
5065
+ L: 344,
5007
5066
  S: this,
5008
5067
  C: (f, a) => f(...a)
5009
5068
  });
5010
5069
  log16("resetting...", void 0, {
5011
5070
  F: __dxlog_file17,
5012
- L: 343,
5071
+ L: 346,
5013
5072
  S: this,
5014
5073
  C: (f, a) => f(...a)
5015
5074
  });
@@ -5017,7 +5076,7 @@ var ClientServicesHost = class ClientServicesHost2 {
5017
5076
  await this._storage.reset();
5018
5077
  log16("reset", void 0, {
5019
5078
  F: __dxlog_file17,
5020
- L: 346,
5079
+ L: 349,
5021
5080
  S: this,
5022
5081
  C: (f, a) => f(...a)
5023
5082
  });
@@ -5025,7 +5084,7 @@ var ClientServicesHost = class ClientServicesHost2 {
5025
5084
  id: traceId
5026
5085
  }), {
5027
5086
  F: __dxlog_file17,
5028
- L: 347,
5087
+ L: 350,
5029
5088
  S: this,
5030
5089
  C: (f, a) => f(...a)
5031
5090
  });
@@ -5035,7 +5094,9 @@ var ClientServicesHost = class ClientServicesHost2 {
5035
5094
  const identity = await this._serviceContext.createIdentity(params);
5036
5095
  await this._serviceContext.initialized.wait();
5037
5096
  const space = await this._serviceContext.dataSpaceManager.createSpace();
5038
- const obj = new Properties();
5097
+ const obj = new Properties(void 0, {
5098
+ useAutomergeBackend: false
5099
+ });
5039
5100
  obj[defaultKey] = identity.identityKey.toHex();
5040
5101
  await this._serviceRegistry.services.DataService.write({
5041
5102
  spaceKey: space.key,
@@ -5070,6 +5131,7 @@ ClientServicesHost = _ts_decorate8([
5070
5131
  ], ClientServicesHost);
5071
5132
 
5072
5133
  export {
5134
+ Buffer,
5073
5135
  subscribeToFeeds,
5074
5136
  subscribeToFeedBlocks,
5075
5137
  subscribeToNetworkStatus,
@@ -5102,4 +5164,4 @@ export {
5102
5164
  createDefaultModelFactory,
5103
5165
  ClientServicesHost
5104
5166
  };
5105
- //# sourceMappingURL=chunk-JXMHMZAE.mjs.map
5167
+ //# sourceMappingURL=chunk-4KPX322K.mjs.map