@livestore/sync-electric 0.4.0 → 0.5.0-dev.0

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.
@@ -1,60 +1,55 @@
1
1
  import { Schema } from '@livestore/utils/effect';
2
2
  export declare const PushPayload: Schema.Struct<{
3
- _tag: Schema.tag<"@livestore/sync-electric.Push">;
4
- } & {
5
- storeId: typeof Schema.String;
6
- batch: Schema.Array$<Schema.Struct<{
7
- name: typeof Schema.String;
8
- args: typeof Schema.Any;
9
- seqNum: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
10
- parentSeqNum: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
11
- clientId: typeof Schema.String;
12
- sessionId: typeof Schema.String;
3
+ readonly _tag: Schema.tag<"@livestore/sync-electric.Push">;
4
+ readonly storeId: Schema.String;
5
+ readonly batch: Schema.$Array<Schema.Struct<{
6
+ readonly name: Schema.String;
7
+ readonly args: Schema.Any;
8
+ readonly seqNum: Schema.brand<Schema.Int, "GlobalEventSequenceNumber">;
9
+ readonly parentSeqNum: Schema.brand<Schema.Int, "GlobalEventSequenceNumber">;
10
+ readonly clientId: Schema.String;
11
+ readonly sessionId: Schema.String;
13
12
  }>>;
14
13
  }>;
15
14
  export declare const PullPayload: Schema.Struct<{
16
- _tag: Schema.tag<"@livestore/sync-electric.Pull">;
17
- } & {
18
- storeId: typeof Schema.String;
19
- payload: Schema.UndefinedOr<Schema.Schema<Schema.JsonValue, Schema.JsonValue, never>>;
20
- handle: Schema.Option<Schema.Struct<{
21
- offset: typeof Schema.String;
22
- handle: typeof Schema.String;
23
- }>>;
24
- live: typeof Schema.Boolean;
15
+ readonly _tag: Schema.tag<"@livestore/sync-electric.Pull">;
16
+ readonly storeId: Schema.String;
17
+ readonly payload: Schema.optional<Schema.Codec<Schema.Json, Schema.Json, never, never>>;
18
+ readonly handle: Schema.toCodecJson<Schema.Option<Schema.Struct<{
19
+ readonly offset: Schema.String;
20
+ readonly handle: Schema.String;
21
+ }>>>;
22
+ readonly live: Schema.Boolean;
25
23
  }>;
26
- export declare const ApiPayload: Schema.Union<[Schema.Struct<{
27
- _tag: Schema.tag<"@livestore/sync-electric.Pull">;
28
- } & {
29
- storeId: typeof Schema.String;
30
- payload: Schema.UndefinedOr<Schema.Schema<Schema.JsonValue, Schema.JsonValue, never>>;
31
- handle: Schema.Option<Schema.Struct<{
32
- offset: typeof Schema.String;
33
- handle: typeof Schema.String;
34
- }>>;
35
- live: typeof Schema.Boolean;
24
+ export declare const ApiPayload: Schema.Union<readonly [Schema.Struct<{
25
+ readonly _tag: Schema.tag<"@livestore/sync-electric.Pull">;
26
+ readonly storeId: Schema.String;
27
+ readonly payload: Schema.optional<Schema.Codec<Schema.Json, Schema.Json, never, never>>;
28
+ readonly handle: Schema.toCodecJson<Schema.Option<Schema.Struct<{
29
+ readonly offset: Schema.String;
30
+ readonly handle: Schema.String;
31
+ }>>>;
32
+ readonly live: Schema.Boolean;
36
33
  }>, Schema.Struct<{
37
- _tag: Schema.tag<"@livestore/sync-electric.Push">;
38
- } & {
39
- storeId: typeof Schema.String;
40
- batch: Schema.Array$<Schema.Struct<{
41
- name: typeof Schema.String;
42
- args: typeof Schema.Any;
43
- seqNum: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
44
- parentSeqNum: Schema.BrandSchema<number & import("effect/Brand").Brand<"GlobalEventSequenceNumber">, number, never>;
45
- clientId: typeof Schema.String;
46
- sessionId: typeof Schema.String;
34
+ readonly _tag: Schema.tag<"@livestore/sync-electric.Push">;
35
+ readonly storeId: Schema.String;
36
+ readonly batch: Schema.$Array<Schema.Struct<{
37
+ readonly name: Schema.String;
38
+ readonly args: Schema.Any;
39
+ readonly seqNum: Schema.brand<Schema.Int, "GlobalEventSequenceNumber">;
40
+ readonly parentSeqNum: Schema.brand<Schema.Int, "GlobalEventSequenceNumber">;
41
+ readonly clientId: Schema.String;
42
+ readonly sessionId: Schema.String;
47
43
  }>>;
48
44
  }>]>;
49
- export declare const ArgsSchema: Schema.transform<Schema.transformOrFail<Schema.SchemaClass<string, string, never>, typeof Schema.String, never>, Schema.transform<Schema.SchemaClass<unknown, string, never>, Schema.Struct<{
50
- _tag: Schema.tag<"@livestore/sync-electric.Pull">;
51
- } & {
52
- storeId: typeof Schema.String;
53
- payload: Schema.UndefinedOr<Schema.Schema<Schema.JsonValue, Schema.JsonValue, never>>;
54
- handle: Schema.Option<Schema.Struct<{
55
- offset: typeof Schema.String;
56
- handle: typeof Schema.String;
57
- }>>;
58
- live: typeof Schema.Boolean;
59
- }>>>;
45
+ export declare const ArgsSchema: Schema.compose<Schema.fromJsonString<Schema.Struct<{
46
+ readonly _tag: Schema.tag<"@livestore/sync-electric.Pull">;
47
+ readonly storeId: Schema.String;
48
+ readonly payload: Schema.optional<Schema.Codec<Schema.Json, Schema.Json, never, never>>;
49
+ readonly handle: Schema.toCodecJson<Schema.Option<Schema.Struct<{
50
+ readonly offset: Schema.String;
51
+ readonly handle: Schema.String;
52
+ }>>>;
53
+ readonly live: Schema.Boolean;
54
+ }>>, Schema.StringFromUriComponent>;
60
55
  //# sourceMappingURL=api-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-schema.d.ts","sourceRoot":"","sources":["../src/api-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,eAAO,MAAM,WAAW;;;;;;;;;;;;EAGyC,CAAA;AAEjE,eAAO,MAAM,WAAW;;;;;;;;;;EAUyC,CAAA;AAEjE,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;IAAyC,CAAA;AAGhE,eAAO,MAAM,UAAU;;;;;;;;;;IAA+E,CAAA"}
1
+ {"version":3,"file":"api-schema.d.ts","sourceRoot":"","sources":["../src/api-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,eAAO,MAAM,WAAW;;;;;;;;;;;EAGsC,CAAA;AAE9D,eAAO,MAAM,WAAW;;;;;;;;;EAkBsC,CAAA;AAE9D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;IAA2C,CAAA;AAGlE,eAAO,MAAM,UAAU;;;;;;;;;mCAA0F,CAAA"}
@@ -3,17 +3,23 @@ import { Schema } from '@livestore/utils/effect';
3
3
  export const PushPayload = Schema.TaggedStruct('@livestore/sync-electric.Push', {
4
4
  storeId: Schema.String,
5
5
  batch: Schema.Array(LiveStoreEvent.Global.Encoded),
6
- }).annotations({ title: '@livestore/sync-electric.PushPayload' });
6
+ }).annotate({ title: '@livestore/sync-electric.PushPayload' });
7
7
  export const PullPayload = Schema.TaggedStruct('@livestore/sync-electric.Pull', {
8
8
  storeId: Schema.String,
9
- payload: Schema.UndefinedOr(Schema.JsonValue),
10
- handle: Schema.Option(Schema.Struct({
9
+ // `optional` so an absent payload is omitted from the JSON entirely (a required key with an
10
+ // `undefined` value would be dropped by `JSON.stringify` and then fail decoding as "Missing key").
11
+ payload: Schema.optional(Schema.Json),
12
+ // `toCodecJson` makes the `Option` encode to its JSON-safe struct form (`{ _tag: "None" }` /
13
+ // `{ _tag: "Some", value }`). A bare `Schema.Option` encodes to a runtime `Option`, whose
14
+ // `toJSON` leaks `{"_id":"Option",...}` when `fromJsonString` runs `JSON.stringify`, and that
15
+ // shape then fails to decode back into an `Option`.
16
+ handle: Schema.toCodecJson(Schema.Option(Schema.Struct({
11
17
  offset: Schema.String,
12
18
  handle: Schema.String,
13
- })),
19
+ }))),
14
20
  live: Schema.Boolean,
15
- }).annotations({ title: '@livestore/sync-electric.PullPayload' });
16
- export const ApiPayload = Schema.Union(PullPayload, PushPayload);
21
+ }).annotate({ title: '@livestore/sync-electric.PullPayload' });
22
+ export const ApiPayload = Schema.Union([PullPayload, PushPayload]);
17
23
  // Format for the query params
18
- export const ArgsSchema = Schema.compose(Schema.StringFromUriComponent, Schema.parseJson(PullPayload));
24
+ export const ArgsSchema = Schema.StringFromUriComponent.pipe(Schema.decodeTo(Schema.fromJsonString(PullPayload)));
19
25
  //# sourceMappingURL=api-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-schema.js","sourceRoot":"","sources":["../src/api-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,+BAA+B,EAAE;IAC9E,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC;CACnD,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,+BAA+B,EAAE;IAC9E,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC,MAAM,CACnB,MAAM,CAAC,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CACH;IACD,IAAI,EAAE,MAAM,CAAC,OAAO;CACrB,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;AAEhE,8BAA8B;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"api-schema.js","sourceRoot":"","sources":["../src/api-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,+BAA+B,EAAE;IAC9E,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC;CACnD,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAA;AAE9D,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,+BAA+B,EAAE;IAC9E,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,4FAA4F;IAC5F,mGAAmG;IACnG,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;IACrC,6FAA6F;IAC7F,0FAA0F;IAC1F,8FAA8F;IAC9F,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,MAAM,CACX,MAAM,CAAC,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC,CACH,CACF;IACD,IAAI,EAAE,MAAM,CAAC,OAAO;CACrB,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAA;AAE9D,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAA;AAElE,8BAA8B;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=api-schema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-schema.test.d.ts","sourceRoot":"","sources":["../src/api-schema.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ import { Option, Schema } from '@livestore/utils/effect';
2
+ import { describe, expect, it } from 'vitest';
3
+ import * as ApiSchema from "./api-schema.js";
4
+ import { makeElectricUrl } from "./make-electric-url.js";
5
+ const HandleStruct = { offset: 'off-1', handle: 'h-1' };
6
+ const cases = [
7
+ { name: 'none + no payload', storeId: 's1', payload: undefined, handle: Option.none(), live: false },
8
+ { name: 'some + payload', storeId: 's2', payload: { foo: 'bar' }, handle: Option.some(HandleStruct), live: true },
9
+ { name: 'none + payload present', storeId: 's3', payload: { a: 1 }, handle: Option.none(), live: false },
10
+ { name: 'some + no payload', storeId: 's4', payload: undefined, handle: Option.some(HandleStruct), live: true },
11
+ { name: 'none + null payload', storeId: 's5', payload: null, handle: Option.none(), live: false },
12
+ ];
13
+ describe('sync-electric ArgsSchema round-trip', () => {
14
+ for (const c of cases) {
15
+ it(`round-trips ${c.name}`, () => {
16
+ const input = ApiSchema.PullPayload.make({
17
+ storeId: c.storeId,
18
+ payload: c.payload,
19
+ handle: c.handle,
20
+ live: c.live,
21
+ });
22
+ const encoded = Schema.encodeSync(ApiSchema.ArgsSchema)(input);
23
+ expect(typeof encoded).toBe('string');
24
+ const decoded = Schema.decodeUnknownSync(ApiSchema.ArgsSchema)(encoded);
25
+ expect(Option.isOption(decoded.handle)).toBe(true);
26
+ expect(decoded.handle._tag).toBe(c.handle._tag);
27
+ if (Option.isSome(c.handle)) {
28
+ expect(decoded.handle.value).toEqual(HandleStruct);
29
+ }
30
+ expect(decoded.payload).toEqual(c.payload);
31
+ expect(decoded.storeId).toBe(c.storeId);
32
+ expect(decoded.live).toBe(c.live);
33
+ // Full path through makeElectricUrl: URLSearchParams -> Struct({ args }) -> ArgsSchema
34
+ const searchParams = new URLSearchParams({ args: encoded });
35
+ const result = makeElectricUrl({ electricHost: 'http://electric.test', searchParams });
36
+ expect(result.storeId).toBe(c.storeId);
37
+ expect(result.needsInit).toBe(Option.isNone(c.handle));
38
+ expect(result.payload).toEqual(c.payload);
39
+ });
40
+ }
41
+ });
42
+ //# sourceMappingURL=api-schema.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-schema.test.js","sourceRoot":"","sources":["../src/api-schema.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,9 @@
1
1
  import { SyncBackend } from '@livestore/common';
2
2
  import { type Duration, Schema } from '@livestore/utils/effect';
3
- declare const InvalidOperationError_base: Schema.TaggedErrorClass<InvalidOperationError, "InvalidOperationError", {
4
- readonly _tag: Schema.tag<"InvalidOperationError">;
5
- } & {
6
- operation: Schema.Literal<["delete", "update"]>;
7
- message: typeof Schema.String;
8
- }>;
3
+ declare const InvalidOperationError_base: Schema.Class<InvalidOperationError, Schema.TaggedStruct<"InvalidOperationError", {
4
+ readonly operation: Schema.Literals<readonly ["delete", "update"]>;
5
+ readonly message: Schema.String;
6
+ }>, import("effect/Cause").YieldableError>;
9
7
  export declare class InvalidOperationError extends InvalidOperationError_base {
10
8
  }
11
9
  export * as ApiSchema from './api-schema.ts';
@@ -34,17 +32,17 @@ export interface SyncBackendOptions {
34
32
  * How long to wait for a ping response before timing out
35
33
  * @default 10 seconds
36
34
  */
37
- requestTimeout?: Duration.DurationInput;
35
+ requestTimeout?: Duration.Input;
38
36
  /**
39
37
  * How often to send ping requests
40
38
  * @default 10 seconds
41
39
  */
42
- requestInterval?: Duration.DurationInput;
40
+ requestInterval?: Duration.Input;
43
41
  };
44
42
  }
45
43
  export declare const SyncMetadata: Schema.Struct<{
46
- offset: typeof Schema.String;
47
- handle: typeof Schema.String;
44
+ readonly offset: Schema.String;
45
+ readonly handle: Schema.String;
48
46
  }>;
49
47
  export type SyncMetadata = typeof SyncMetadata.Type;
50
48
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,WAAW,EAAgB,MAAM,mBAAmB,CAAA;AAGlF,OAAO,EACL,KAAK,QAAQ,EAQb,MAAM,EAGP,MAAM,yBAAyB,CAAA;;;;;;;AAIhC,qBAAa,qBAAsB,SAAQ,0BAGzC;CAAG;AAEL,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AAkFtC,eAAO,MAAM,kBAAkB,GAAI,QAAQ,SAAS,kBAAkB,EAAE,SAAS,QAAQ,aAAY,CAAA;AAErG,MAAM,WAAW,kBAAkB;IACjC;;;;;;;OAOG;IACH,QAAQ,EACJ,MAAM,GACN;QACE,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IAEL,IAAI,CAAC,EAAE;QACL;;WAEG;QACH,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB;;;WAGG;QACH,cAAc,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAA;QACvC;;;WAGG;QACH,eAAe,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAA;KACzC,CAAA;CACF;AAED,eAAO,MAAM,YAAY;;;EAIvB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,eAAe,GACzB,0BAA0B,kBAAkB,KAAG,WAAW,CAAC,sBAAsB,CAAC,YAAY,CAyM3F,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,WAAW,EAAgB,MAAM,mBAAmB,CAAA;AAGlF,OAAO,EACL,KAAK,QAAQ,EASb,MAAM,EAGP,MAAM,yBAAyB,CAAA;;;;;AAIhC,qBAAa,qBAAsB,SAAQ,0BAKzC;CAAG;AAEL,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AAkFtC,eAAO,MAAM,kBAAkB,GAAI,QAAQ,SAAS,kBAAkB,EAAE,SAAS,QAAQ,aAAY,CAAA;AAErG,MAAM,WAAW,kBAAkB;IACjC;;;;;;;OAOG;IACH,QAAQ,EACJ,MAAM,GACN;QACE,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IAEL,IAAI,CAAC,EAAE;QACL;;WAEG;QACH,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB;;;WAGG;QACH,cAAc,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;QAC/B;;;WAGG;QACH,eAAe,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAA;KACjC,CAAA;CACF;AAED,eAAO,MAAM,YAAY;;;EAIvB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAA;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,eAAO,MAAM,eAAe,GACzB,0BAA0B,kBAAkB,KAAG,WAAW,CAAC,sBAAsB,CAAC,YAAY,CAuM3F,CAAA"}
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { SyncBackend, UnknownError } from '@livestore/common';
2
2
  import { LiveStoreEvent } from '@livestore/common/schema';
3
3
  import { notYetImplemented } from '@livestore/utils';
4
- import { Effect, HttpClient, HttpClientRequest, HttpClientResponse, Option, ReadonlyArray, Schedule, Schema, Stream, SubscriptionRef, } from '@livestore/utils/effect';
4
+ import { Effect, HttpClient, HttpClientRequest, HttpClientResponse, Option, ReadonlyArray, Result, Schedule, Schema, Stream, SubscriptionRef, } from '@livestore/utils/effect';
5
5
  import * as ApiSchema from "./api-schema.js";
6
6
  export class InvalidOperationError extends Schema.TaggedError('~@livestore/sync-electric/InvalidOperationError')('InvalidOperationError', {
7
- operation: Schema.Literal('delete', 'update'),
7
+ operation: Schema.Literals(['delete', 'update']),
8
8
  message: Schema.String,
9
9
  }) {
10
10
  }
@@ -53,30 +53,30 @@ const LiveStoreEventGlobalFromStringRecord = Schema.Struct({
53
53
  seqNum: Schema.NumberFromString,
54
54
  parentSeqNum: Schema.NumberFromString,
55
55
  name: Schema.String,
56
- args: Schema.parseJson(Schema.Any),
56
+ args: Schema.fromJsonString(Schema.Any),
57
57
  clientId: Schema.String,
58
58
  sessionId: Schema.String,
59
59
  })
60
- .pipe(Schema.compose(LiveStoreEvent.Global.Encoded))
61
- .annotations({ title: '@livestore/sync-electric:LiveStoreEventGlobalFromStringRecord' });
60
+ .pipe(Schema.decodeTo(LiveStoreEvent.Global.Encoded))
61
+ .annotate({ title: '@livestore/sync-electric:LiveStoreEventGlobalFromStringRecord' });
62
62
  const ResponseItemInsert = Schema.Struct({
63
63
  /** Postgres path (e.g. `"public"."events_9069baf0_b3e6_42f7_980f_188416eab3fx3"/"0"`) */
64
64
  key: Schema.optional(Schema.String),
65
65
  value: LiveStoreEventGlobalFromStringRecord,
66
66
  headers: Schema.Struct({ operation: Schema.Literal('insert'), relation: Schema.Array(Schema.String) }),
67
- }).annotations({ title: '@livestore/sync-electric:ResponseItemInsert' });
67
+ }).annotate({ title: '@livestore/sync-electric:ResponseItemInsert' });
68
68
  const ResponseItemInvalid = Schema.Struct({
69
69
  /** Postgres path (e.g. `"public"."events_9069baf0_b3e6_42f7_980f_188416eab3fx3"/"0"`) */
70
70
  key: Schema.optional(Schema.String),
71
71
  value: Schema.Any,
72
- headers: Schema.Struct({ operation: Schema.Literal('update', 'delete'), relation: Schema.Array(Schema.String) }),
73
- }).annotations({ title: '@livestore/sync-electric:ResponseItemInvalid' });
72
+ headers: Schema.Struct({ operation: Schema.Literals(['update', 'delete']), relation: Schema.Array(Schema.String) }),
73
+ }).annotate({ title: '@livestore/sync-electric:ResponseItemInvalid' });
74
74
  const ResponseItemControl = Schema.Struct({
75
75
  key: Schema.optional(Schema.String),
76
76
  value: Schema.optional(Schema.Any),
77
77
  headers: Schema.Struct({ control: Schema.String }),
78
- }).annotations({ title: '@livestore/sync-electric:ResponseItemControl' });
79
- const ResponseItem = Schema.Union(ResponseItemInsert, ResponseItemInvalid, ResponseItemControl);
78
+ }).annotate({ title: '@livestore/sync-electric:ResponseItemControl' });
79
+ const ResponseItem = Schema.Union([ResponseItemInsert, ResponseItemInvalid, ResponseItemControl]);
80
80
  const ResponseHeaders = Schema.Struct({
81
81
  'electric-handle': Schema.String,
82
82
  // 'electric-schema': Schema.parseJson(Schema.Any),
@@ -137,11 +137,11 @@ export const makeSyncBackend = ({ endpoint, ...options }) => ({ storeId, payload
137
137
  const pingEndpoint = typeof endpoint === 'string' ? endpoint : endpoint.ping;
138
138
  const httpClient = yield* HttpClient.HttpClient;
139
139
  const runPull = (handle, { live }) => Effect.gen(function* () {
140
- const argsJson = yield* Schema.encode(ApiSchema.ArgsSchema)(ApiSchema.PullPayload.make({ storeId, handle, payload, live }));
140
+ const argsJson = yield* Schema.encodeEffect(ApiSchema.ArgsSchema)(ApiSchema.PullPayload.make({ storeId, handle, payload, live }));
141
141
  const url = `${pullEndpoint}?args=${argsJson}`;
142
142
  const resp = yield* httpClient.get(url);
143
143
  if (resp.status === 401) {
144
- const body = yield* resp.text.pipe(Effect.catchAll(() => Effect.succeed('-')));
144
+ const body = yield* resp.text.pipe(Effect.catch(() => Effect.succeed('-')));
145
145
  return yield* new UnknownError({
146
146
  cause: new Error(`Unauthorized (401): Couldn't connect to ElectricSQL: ${body}`),
147
147
  });
@@ -181,7 +181,7 @@ export const makeSyncBackend = ({ endpoint, ...options }) => ({ storeId, payload
181
181
  onExcessProperty: 'preserve',
182
182
  })(resp);
183
183
  // Check for delete/update operations and throw descriptive error
184
- const invalidOperations = ReadonlyArray.filterMap(allItems, (item) => Schema.is(ResponseItemInvalid)(item) === true ? Option.some(item.headers.operation) : Option.none());
184
+ const invalidOperations = ReadonlyArray.filterMap(allItems, (item) => Schema.is(ResponseItemInvalid)(item) === true ? Result.succeed(item.headers.operation) : Result.failVoid);
185
185
  if (invalidOperations.length > 0) {
186
186
  const operation = invalidOperations[0];
187
187
  return yield* new InvalidOperationError({
@@ -195,14 +195,14 @@ export const makeSyncBackend = ({ endpoint, ...options }) => ({ storeId, payload
195
195
  }));
196
196
  yield* Effect.annotateCurrentSpan({ itemsCount: items.length, nextHandle });
197
197
  return Option.some([items, Option.some(nextHandle)]);
198
- }).pipe(Effect.scoped, Effect.mapError((cause) => cause._tag === 'UnknownError' ? cause : new UnknownError({ cause })), Effect.withSpan('electric-provider:runPull', { attributes: { handle, live } }));
198
+ }).pipe(Effect.scoped, Effect.mapError((cause) => (Schema.is(UnknownError)(cause) === true ? cause : new UnknownError({ cause }))), Effect.withSpan('electric-provider:runPull', { attributes: { handle, live } }));
199
199
  const pullEndpointHasSameOrigin = pullEndpoint.startsWith('/') ||
200
200
  (globalThis.location !== undefined && globalThis.location.origin === new URL(pullEndpoint).origin);
201
201
  const pingTimeout = options.ping?.requestTimeout ?? 10_000;
202
202
  const ping = Effect.gen(function* () {
203
203
  yield* httpClient.pipe(HttpClient.filterStatusOk).head(pingEndpoint);
204
204
  yield* SubscriptionRef.set(isConnected, true);
205
- }).pipe(UnknownError.mapToUnknownError, Effect.timeout(pingTimeout), Effect.catchTag('TimeoutException', () => SubscriptionRef.set(isConnected, false)), Effect.withSpan('electric-provider:ping'));
205
+ }).pipe(UnknownError.mapToUnknownError, Effect.timeout(pingTimeout), Effect.catchTag('TimeoutError', () => SubscriptionRef.set(isConnected, false)), Effect.withSpan('electric-provider:ping'));
206
206
  const pingInterval = options.ping?.requestInterval ?? 10_000;
207
207
  if (options.ping?.enabled !== false) {
208
208
  // Automatically ping the server to keep the connection alive
@@ -215,23 +215,23 @@ export const makeSyncBackend = ({ endpoint, ...options }) => ({ storeId, payload
215
215
  connect,
216
216
  pull: (cursor, options) => {
217
217
  let hasEmittedAtLeastOnce = false;
218
- return Stream.unfoldEffect(cursor.pipe(Option.flatMap((_) => _.metadata)), (metadataOption) => Effect.gen(function* () {
218
+ return Stream.unfold(cursor.pipe(Option.flatMap((_) => _.metadata)), (metadataOption) => Effect.gen(function* () {
219
219
  const result = yield* runPull(metadataOption, { live: options?.live ?? false });
220
220
  if (Option.isNone(result) === true)
221
- return Option.none();
221
+ return undefined;
222
222
  const [batch, nextMetadataOption] = result.value;
223
223
  // Continue pagination if we have data
224
224
  if (batch.length > 0) {
225
225
  hasEmittedAtLeastOnce = true;
226
- return Option.some([{ batch, hasMore: true }, nextMetadataOption]);
226
+ return [{ batch, hasMore: true }, nextMetadataOption];
227
227
  }
228
228
  // Make sure we emit at least once even if there's no data or we're live-pulling
229
229
  if (hasEmittedAtLeastOnce === false || options?.live === true) {
230
230
  hasEmittedAtLeastOnce = true;
231
- return Option.some([{ batch, hasMore: false }, nextMetadataOption]);
231
+ return [{ batch, hasMore: false }, nextMetadataOption];
232
232
  }
233
233
  // Stop on empty batch (when not live)
234
- return Option.none();
234
+ return undefined;
235
235
  })).pipe(Stream.map(({ batch, hasMore }) => ({
236
236
  batch,
237
237
  pageInfo: hasMore === true ? SyncBackend.pageInfoMoreUnknown : SyncBackend.pageInfoNoMore,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ export declare const makeElectricUrl: ({ electricHost, searchParams: providedSea
30
30
  */
31
31
  needsInit: boolean;
32
32
  /** Sync payload provided by the client */
33
- payload: Schema.JsonValue | undefined;
33
+ payload: Schema.Json | undefined;
34
34
  };
35
35
  export declare const toTableName: (storeId: string) => string;
36
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"make-electric-url.d.ts","sourceRoot":"","sources":["../src/make-electric-url.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAItD;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,0FAM7B;IACD,YAAY,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,YAAY,EAAE,eAAe,CAAA;IAC7B,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,KAAG;IACF;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,SAAS,EAAE,OAAO,CAAA;IAClB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAA;CA4CtC,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,WAe1C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAA"}
1
+ {"version":3,"file":"make-electric-url.d.ts","sourceRoot":"","sources":["../src/make-electric-url.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAI9D;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,0FAM7B;IACD,YAAY,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,YAAY,EAAE,eAAe,CAAA;IAC7B,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,KAAG;IACF;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,SAAS,EAAE,OAAO,CAAA;IAClB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC,IAAI,GAAG,SAAS,CAAA;CA4CjC,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,WAe1C,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { shouldNeverHappen } from '@livestore/utils';
2
- import { Hash, Schema } from '@livestore/utils/effect';
2
+ import { Hash, Result, Schema } from '@livestore/utils/effect';
3
3
  import * as ApiSchema from "./api-schema.js";
4
4
  /**
5
5
  * This function should be called in a trusted environment (e.g. a proxy server) as it
@@ -8,11 +8,11 @@ import * as ApiSchema from "./api-schema.js";
8
8
  export const makeElectricUrl = ({ electricHost, searchParams: providedSearchParams, sourceId, sourceSecret, apiSecret, }) => {
9
9
  const endpointUrl = `${electricHost}/v1/shape`;
10
10
  const UrlParamsSchema = Schema.Struct({ args: ApiSchema.ArgsSchema });
11
- const argsResult = Schema.decodeUnknownEither(UrlParamsSchema)(Object.fromEntries(providedSearchParams.entries()));
12
- if (argsResult._tag === 'Left') {
11
+ const argsResult = Schema.decodeUnknownResult(UrlParamsSchema)(Object.fromEntries(providedSearchParams.entries()));
12
+ if (Result.isFailure(argsResult) === true) {
13
13
  return shouldNeverHappen('Invalid search params provided to makeElectricUrl', providedSearchParams, Object.fromEntries(providedSearchParams.entries()));
14
14
  }
15
- const args = argsResult.right.args;
15
+ const args = argsResult.success.args;
16
16
  const tableName = toTableName(args.storeId);
17
17
  // TODO refactor with Effect URLSearchParams schema
18
18
  // https://electric-sql.com/openapi.html
@@ -1 +1 @@
1
- {"version":3,"file":"make-electric-url.js","sourceRoot":"","sources":["../src/make-electric-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAEtD,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAA;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,YAAY,EACZ,YAAY,EAAE,oBAAoB,EAClC,QAAQ,EACR,YAAY,EACZ,SAAS,GAgBV,EAaC,EAAE;IACF,MAAM,WAAW,GAAG,GAAG,YAAY,WAAW,CAAA;IAC9C,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,CAAA;IACrE,MAAM,UAAU,GAAG,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAElH,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC/B,OAAO,iBAAiB,CACtB,mDAAmD,EACnD,oBAAoB,EACpB,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC,CACnD,CAAA;IACH,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAA;IAClC,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3C,mDAAmD;IACnD,wCAAwC;IACxC,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAA;IAC1C,kEAAkE;IAClE,qFAAqF;IACrF,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,SAAS,GAAG,CAAC,CAAA;IAC3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IACzC,CAAC;IACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA;IACjD,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;IAC3C,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAChC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAClC,CAAC;SAAM,CAAC;QACN,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACpD,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACpD,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACjE,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAE5B,MAAM,GAAG,GAAG,GAAG,WAAW,IAAI,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAA;IAEvD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,OAAO,EAAE,CAAA;AACxF,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE;IAC7C,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAA;IAChE,MAAM,SAAS,GAAG,YAAY,0BAA0B,IAAI,cAAc,EAAE,CAAA;IAE5E,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAE1C,OAAO,CAAC,IAAI,CACV,4BAA4B,SAAS,wFAAwF,aAAa,IAAI,CAC/I,CAAA;QAED,OAAO,YAAY,0BAA0B,SAAS,aAAa,EAAE,CAAA;IACvE,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"make-electric-url.js","sourceRoot":"","sources":["../src/make-electric-url.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@livestore/sync-electric",
3
- "version": "0.4.0",
3
+ "version": "0.5.0-dev.0",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
7
- "url": "git+https://github.com/livestorejs/livestore.git"
7
+ "url": "git+https://github.com/livestorejs/livestore-contrib.git"
8
8
  },
9
9
  "files": [
10
10
  "dist",
@@ -20,60 +20,43 @@
20
20
  "access": "public"
21
21
  },
22
22
  "dependencies": {
23
- "@livestore/common": "^0.4.0",
24
- "@livestore/utils": "^0.4.0"
23
+ "@livestore/common": "0.5.0-dev.0",
24
+ "@livestore/utils": "0.5.0-dev.0"
25
25
  },
26
26
  "devDependencies": {
27
- "@effect/ai": "0.35.0",
28
- "@effect/cli": "0.75.1",
29
- "@effect/cluster": "0.58.2",
30
- "@effect/experimental": "0.60.0",
31
- "@effect/opentelemetry": "0.63.0",
32
- "@effect/platform": "0.96.1",
33
- "@effect/platform-browser": "0.76.0",
34
- "@effect/platform-bun": "0.89.0",
35
- "@effect/platform-node": "0.106.0",
36
- "@effect/printer": "0.49.0",
37
- "@effect/printer-ansi": "0.49.0",
38
- "@effect/rpc": "0.75.1",
39
- "@effect/sql": "0.51.1",
40
- "@effect/typeclass": "0.40.0",
41
- "@effect/vitest": "0.29.0",
27
+ "@effect/opentelemetry": "4.0.0-rc.111",
28
+ "@effect/platform-browser": "4.0.0-rc.111",
29
+ "@effect/platform-bun": "4.0.0-rc.111",
30
+ "@effect/platform-node": "4.0.0-rc.111",
31
+ "@effect/platform-node-shared": "4.0.0-rc.111",
32
+ "@effect/vitest": "4.0.0-rc.111",
42
33
  "@opentelemetry/api": "1.9.0",
43
34
  "@opentelemetry/resources": "2.2.0",
44
35
  "@standard-schema/spec": "1.1.0",
45
- "effect": "3.21.2"
36
+ "effect": "4.0.0-rc.111",
37
+ "vitest": "4.1.9"
46
38
  },
47
39
  "peerDependencies": {
48
- "@effect/ai": "^0.35.0",
49
- "@effect/cli": "^0.75.1",
50
- "@effect/cluster": "^0.58.2",
51
- "@effect/experimental": "^0.60.0",
52
- "@effect/opentelemetry": "^0.63.0",
53
- "@effect/platform": "^0.96.1",
54
- "@effect/platform-browser": "^0.76.0",
55
- "@effect/platform-bun": "^0.89.0",
56
- "@effect/platform-node": "^0.106.0",
57
- "@effect/printer": "^0.49.0",
58
- "@effect/printer-ansi": "^0.49.0",
59
- "@effect/rpc": "^0.75.1",
60
- "@effect/sql": "^0.51.1",
61
- "@effect/typeclass": "^0.40.0",
62
- "@effect/vitest": "^0.29.0",
40
+ "@effect/opentelemetry": "^4.0.0-rc.111",
41
+ "@effect/platform-browser": "^4.0.0-rc.111",
42
+ "@effect/platform-bun": "^4.0.0-rc.111",
43
+ "@effect/platform-node": "^4.0.0-rc.111",
44
+ "@effect/platform-node-shared": "^4.0.0-rc.111",
45
+ "@effect/vitest": "^4.0.0-rc.111",
63
46
  "@opentelemetry/api": "^1.9.0",
64
47
  "@opentelemetry/resources": "^2.2.0",
65
48
  "@standard-schema/spec": "^1.1.0",
66
- "effect": "^3.21.2"
49
+ "effect": "^4.0.0-rc.111"
67
50
  },
68
51
  "$genie": {
69
52
  "source": "package.json.genie.ts",
70
53
  "warning": "DO NOT EDIT - changes will be overwritten",
71
54
  "workspaceClosureDirs": [
72
- "packages/@livestore/common",
73
55
  "packages/@livestore/sync-electric",
74
- "packages/@livestore/utils",
75
- "packages/@livestore/utils-dev",
76
- "packages/@livestore/webmesh"
56
+ "repos/livestore/packages/@livestore/common",
57
+ "repos/livestore/packages/@livestore/utils",
58
+ "repos/livestore/packages/@livestore/utils-dev",
59
+ "repos/livestore/packages/@livestore/webmesh"
77
60
  ]
78
61
  },
79
62
  "scripts": {