@livestore/utils 0.4.0-dev.8 → 0.4.0-dev.9

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 +1 @@
1
- {"version":3,"file":"RpcClient.d.ts","sourceRoot":"","sources":["../../src/effect/RpcClient.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAkB,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,OAAO,EAAmB,MAAM,EAAE,KAAK,EAAU,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAA;AAErF,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAOvD,eAAO,MAAM,kCAAkC,GAAI,SAAS;IAC1D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IACtE,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAC9D,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;CAC/D,KAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CACd,CAAA;AAEpE,eAAO,MAAM,iCAAiC,GAAI,SAAS;IACzD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IAEtE,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAE9D,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;CAC/D,KAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CA6HvG,CAAA;AAEH,eAAO,MAAM,YAAY;;;;;6BAAyF,CAAA;AAElH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAA;AAE/E,QAAA,MAAM,UAAU,GAAgC,CAAC,EAAE,CAAC,EAAE,CAAC;;;;;0BA2CrD,CAAA"}
1
+ {"version":3,"file":"RpcClient.d.ts","sourceRoot":"","sources":["../../src/effect/RpcClient.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAkB,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAEhD,OAAO,EAAmB,MAAM,EAAE,KAAK,EAAU,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAA;AAErF,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAA;AAOvD,eAAO,MAAM,kCAAkC,GAAI,SAAS;IAC1D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IACtE,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAC9D,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;CAC/D,KAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CACd,CAAA;AAEpE,eAAO,MAAM,iCAAiC,GAAI,SAAS;IACzD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IAEtE,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAE9D,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;CAC/D,KAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAoIvG,CAAA;AAEH,eAAO,MAAM,YAAY;;;;;6BAAyF,CAAA;AAElH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAA;AAE/E,QAAA,MAAM,UAAU,GAAgC,CAAC,EAAE,CAAC,EAAE,CAAC;;;;;0BA2CrD,CAAA"}
@@ -18,6 +18,10 @@ export const makeProtocolSocketWithIsConnected = (options) => Protocol.make(Effe
18
18
  const parser = serialization.unsafeMake();
19
19
  const pinger = yield* makePinger(write(parser.encode(constPing)), options?.pingSchedule);
20
20
  yield* Effect.suspend(() => {
21
+ // We rely on the heartbeat watchdog while streaming arbitrarily long payloads.
22
+ // Reset the timer as soon as _any_ frame arrives so that large batches which
23
+ // don't contain explicit `Pong` messages don't trigger the open-timeout defect.
24
+ // (The actual pong handler still calls `onPong()` to resolve manual pings.)
21
25
  // CHANGED: don't reset parser on every message
22
26
  // parser = serialization.unsafeMake()
23
27
  pinger.reset();
@@ -32,6 +36,9 @@ export const makeProtocolSocketWithIsConnected = (options) => Protocol.make(Effe
32
36
  while: () => i < responses.length,
33
37
  body: () => {
34
38
  const response = responses[i++];
39
+ // Keep extending the watchdog for each data frame to avoid
40
+ // disconnecting mid-stream when the server is busy sending batches.
41
+ pinger.reset();
35
42
  if (response._tag === 'Pong') {
36
43
  pinger.onPong();
37
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RpcClient.js","sourceRoot":"","sources":["../../src/effect/RpcClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RpcClient.js","sourceRoot":"","sources":["../../src/effect/RpcClient.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livestore/utils",
3
- "version": "0.4.0-dev.8",
3
+ "version": "0.4.0-dev.9",
4
4
  "type": "module",
5
5
  "sideEffects": [
6
6
  "./src/global.ts",
@@ -40,27 +40,27 @@
40
40
  "pretty-bytes": "7.0.1"
41
41
  },
42
42
  "devDependencies": {
43
- "@effect/ai": "^0.27.1",
44
- "@effect/cli": "^0.69.2",
45
- "@effect/cluster": "^0.48.15",
46
- "@effect/experimental": "^0.54.6",
47
- "@effect/opentelemetry": "0.56.6",
48
- "@effect/platform": "^0.90.10",
49
- "@effect/platform-browser": "^0.70.0",
50
- "@effect/platform-bun": "^0.79.1",
51
- "@effect/platform-node": "^0.96.1",
43
+ "@effect/ai": "^0.28.0",
44
+ "@effect/cli": "^0.70.0",
45
+ "@effect/cluster": "^0.49.0",
46
+ "@effect/experimental": "^0.55.0",
47
+ "@effect/opentelemetry": "0.57.0",
48
+ "@effect/platform": "^0.91.1",
49
+ "@effect/platform-browser": "^0.71.0",
50
+ "@effect/platform-bun": "^0.80.0",
51
+ "@effect/platform-node": "^0.97.0",
52
52
  "@effect/printer": "^0.45.0",
53
53
  "@effect/printer-ansi": "^0.45.0",
54
- "@effect/rpc": "^0.69.4",
55
- "@effect/sql": "^0.44.2",
54
+ "@effect/rpc": "^0.70.0",
55
+ "@effect/sql": "^0.45.0",
56
56
  "@effect/typeclass": "^0.36.0",
57
57
  "@effect/vitest": "^0.25.1",
58
- "@effect/workflow": "^0.9.5",
58
+ "@effect/workflow": "^0.10.0",
59
59
  "@opentelemetry/api": "1.9.0",
60
60
  "@opentelemetry/resources": "^2.0.1",
61
61
  "@types/bun": "^1.2.21",
62
62
  "@types/jsdom": "^21.1.7",
63
- "@types/node": "24.2.0",
63
+ "@types/node": "24.5.2",
64
64
  "@types/web": "^0.0.264",
65
65
  "effect": "3.17.14",
66
66
  "jsdom": "^26.1.0",
@@ -73,19 +73,19 @@
73
73
  ],
74
74
  "license": "Apache-2.0",
75
75
  "peerDependencies": {
76
- "@effect/ai": "^0.27.1",
77
- "@effect/cli": "^0.69.2",
78
- "@effect/cluster": "^0.48.15",
79
- "@effect/experimental": "^0.54.6",
80
- "@effect/opentelemetry": "^0.56.6",
81
- "@effect/platform": "^0.90.10",
82
- "@effect/platform-browser": "^0.70.0",
83
- "@effect/platform-bun": "^0.79.1",
84
- "@effect/platform-node": "^0.96.1",
76
+ "@effect/ai": "^0.28.0",
77
+ "@effect/cli": "^0.70.0",
78
+ "@effect/cluster": "^0.49.0",
79
+ "@effect/experimental": "^0.55.0",
80
+ "@effect/opentelemetry": "^0.57.0",
81
+ "@effect/platform": "^0.91.1",
82
+ "@effect/platform-browser": "^0.71.0",
83
+ "@effect/platform-bun": "^0.80.0",
84
+ "@effect/platform-node": "^0.97.0",
85
85
  "@effect/printer": "^0.45.0",
86
86
  "@effect/printer-ansi": "^0.45.0",
87
- "@effect/rpc": "^0.69.4",
88
- "@effect/sql": "^0.44.2",
87
+ "@effect/rpc": "^0.70.0",
88
+ "@effect/sql": "^0.45.0",
89
89
  "@effect/typeclass": "^0.36.0",
90
90
  "@opentelemetry/api": "^1.9.0",
91
91
  "@opentelemetry/resources": "^2.0.1",
@@ -40,6 +40,10 @@ export const makeProtocolSocketWithIsConnected = (options: {
40
40
  const pinger = yield* makePinger(write(parser.encode(constPing)!), options?.pingSchedule)
41
41
 
42
42
  yield* Effect.suspend(() => {
43
+ // We rely on the heartbeat watchdog while streaming arbitrarily long payloads.
44
+ // Reset the timer as soon as _any_ frame arrives so that large batches which
45
+ // don't contain explicit `Pong` messages don't trigger the open-timeout defect.
46
+ // (The actual pong handler still calls `onPong()` to resolve manual pings.)
43
47
  // CHANGED: don't reset parser on every message
44
48
  // parser = serialization.unsafeMake()
45
49
  pinger.reset()
@@ -53,6 +57,9 @@ export const makeProtocolSocketWithIsConnected = (options: {
53
57
  while: () => i < responses.length,
54
58
  body: () => {
55
59
  const response = responses[i++]!
60
+ // Keep extending the watchdog for each data frame to avoid
61
+ // disconnecting mid-stream when the server is busy sending batches.
62
+ pinger.reset()
56
63
  if (response._tag === 'Pong') {
57
64
  pinger.onPong()
58
65
  }