@livestore/common-cf 0.5.0-dev.0 → 0.5.0-dev.1

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 (39) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/declare/mod.js +1 -1
  3. package/dist/do-rpc/client.d.ts +8 -0
  4. package/dist/do-rpc/client.d.ts.map +1 -1
  5. package/dist/do-rpc/client.js +67 -37
  6. package/dist/do-rpc/client.js.map +1 -1
  7. package/dist/do-rpc/client.test.js +97 -7
  8. package/dist/do-rpc/client.test.js.map +1 -1
  9. package/dist/do-rpc/mod.d.ts +1 -1
  10. package/dist/do-rpc/mod.d.ts.map +1 -1
  11. package/dist/do-rpc/mod.js +2 -2
  12. package/dist/do-rpc/mod.js.map +1 -1
  13. package/dist/do-rpc/rpc.test.js +2 -2
  14. package/dist/do-rpc/rpc.test.js.map +1 -1
  15. package/dist/do-rpc/server.d.ts +4 -3
  16. package/dist/do-rpc/server.d.ts.map +1 -1
  17. package/dist/do-rpc/server.js +55 -63
  18. package/dist/do-rpc/server.js.map +1 -1
  19. package/dist/do-rpc/test-fixtures/rpc-schema.d.ts +16 -16
  20. package/dist/do-rpc/test-fixtures/worker.d.ts.map +1 -1
  21. package/dist/do-rpc/test-fixtures/worker.js +1 -1
  22. package/dist/mod.js +3 -3
  23. package/dist/ws-rpc/test-fixtures/rpc-schema.d.ts +16 -16
  24. package/dist/ws-rpc/test-fixtures/worker.d.ts.map +1 -1
  25. package/dist/ws-rpc/test-fixtures/worker.js +2 -2
  26. package/dist/ws-rpc/ws-rpc-server.d.ts +8 -2
  27. package/dist/ws-rpc/ws-rpc-server.d.ts.map +1 -1
  28. package/dist/ws-rpc/ws-rpc-server.js +45 -13
  29. package/dist/ws-rpc/ws-rpc-server.js.map +1 -1
  30. package/dist/ws-rpc/ws-rpc.test.js +1 -1
  31. package/dist/ws-rpc/ws-rpc.test.js.map +1 -1
  32. package/package.json +28 -28
  33. package/src/do-rpc/README.md +2 -2
  34. package/src/do-rpc/client.test.ts +148 -7
  35. package/src/do-rpc/client.ts +94 -53
  36. package/src/do-rpc/mod.ts +1 -1
  37. package/src/do-rpc/rpc.test.ts +1 -1
  38. package/src/do-rpc/server.ts +84 -67
  39. package/src/ws-rpc/ws-rpc-server.ts +78 -12
@@ -1,4 +1,4 @@
1
1
  // NOTE We have a separate module for type level declarations as those are only available in CF worker environments
2
2
  // and we need to avoid importing them from other environments.
3
- export * as CfDeclare from "./cf-declare.js";
3
+ export * as CfDeclare from './cf-declare.js';
4
4
  //# sourceMappingURL=mod.js.map
@@ -1,5 +1,13 @@
1
1
  import { Layer, RpcClient } from '@livestore/utils/effect';
2
2
  import type * as CfTypes from '../cf-types.ts';
3
+ declare const DoRpcReadError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
4
+ readonly _tag: "DoRpcReadError";
5
+ } & Readonly<A>;
6
+ /** A transferred stream can lose Cloudflare's RPC error flags when its connection breaks. */
7
+ export declare class DoRpcReadError extends DoRpcReadError_base<{
8
+ cause: unknown;
9
+ }> {
10
+ }
3
11
  interface MakeDoRpcProtocolArgs {
4
12
  callRpc: (payload: Uint8Array) => Promise<Uint8Array | CfTypes.ReadableStream>;
5
13
  callerContext: {
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/do-rpc/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,EAEL,SAAS,EAIV,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAmC9C,UAAU,qBAAqB;IAC7B,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAC9E,aAAa,EAAE;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,eAAe,EAAE,MAAM,CAAA;KACxB,CAAA;CACF;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,GAAI,MAAM,qBAAqB,KAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CACpC,CAAA"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/do-rpc/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,EAEL,SAAS,EAMV,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;;;;AAE9C,6FAA6F;AAC7F,qBAAa,cAAe,SAAQ,oBAAmC;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;CAAG;AA8D7F,UAAU,qBAAqB;IAC7B,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAC9E,aAAa,EAAE;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,eAAe,EAAE,MAAM,CAAA;KACxB,CAAA;CACF;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,SAAU,qBAAqB,KAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAGpG,CAAA"}
@@ -1,33 +1,61 @@
1
- import { Effect, Fiber, FiberMap, Layer, Option, RpcClient, RpcSerialization, } from '@livestore/utils/effect';
2
- /** Decodes a streaming-RPC `ReadableStream`'s msgpack frames, writing each out as it arrives. */
1
+ import { Data, Effect, Fiber, FiberMap, Layer, Option, RpcClient, RpcClientError, RpcMessage, RpcSerialization, Schema, } from '@livestore/utils/effect';
2
+ /** A transferred stream can lose Cloudflare's RPC error flags when its connection breaks. */
3
+ export class DoRpcReadError extends Data.TaggedError('DoRpcReadError') {
4
+ }
5
+ const isEncodedRpcMessage = Schema.is(RpcMessage.EncodedSchema);
6
+ const isFromServerEncoded = (message) => {
7
+ if (isEncodedRpcMessage(message) === false)
8
+ return false;
9
+ return (message._tag === 'Chunk' ||
10
+ message._tag === 'Exit' ||
11
+ message._tag === 'Defect' ||
12
+ message._tag === 'Pong' ||
13
+ message._tag === 'Request');
14
+ };
15
+ /** Decodes a streaming-RPC `ReadableStream`'s binary frames, writing each out as it arrives. */
3
16
  const processReadableStream = (stream, parser, writeResponse) => Effect.gen(function* () {
4
17
  const reader = stream.getReader();
5
18
  yield* Effect.gen(function* () {
6
19
  while (true) {
7
- const { done, value } = yield* Effect.tryPromise(() => reader.read()).pipe(Effect.orDie);
20
+ const { done, value } = yield* Effect.tryPromise({
21
+ try: () => reader.read(),
22
+ catch: (cause) => transportFailure(new DoRpcReadError({ cause })),
23
+ });
8
24
  if (done === true) {
9
- break;
25
+ return yield* transportFailure(new DoRpcReadError({ cause: new Error('RPC stream ended before its exit') }));
10
26
  }
11
- // Server encodes `[message]` per enqueue; merged enqueues arrive as
12
- // `[[msg1], [msg2], ...]`. `flat(1)` normalizes both to `[msg1, ...]`.
13
- const decoded = parser.decode(value);
14
- const messages = Array.isArray(decoded) === true ? decoded.flat(1) : [decoded];
15
- for (const message of messages) {
27
+ if (value instanceof Uint8Array === false) {
28
+ return yield* Effect.die('Received a non-binary RPC response');
29
+ }
30
+ for (const message of parser.decode(value)) {
31
+ if (isFromServerEncoded(message) === false) {
32
+ return yield* Effect.die('Received an invalid RPC response');
33
+ }
16
34
  yield* writeResponse(message);
35
+ // The RPC exit completes the request; do not wait for the transferred stream to close too.
36
+ if (message._tag === 'Exit')
37
+ return;
17
38
  }
18
39
  }
19
- }).pipe(Effect.withSpan('do-rpc-client:processReadableStream'), Effect.ensuring(Effect.promise(() => reader.cancel()).pipe(Effect.andThen(() => Effect.sync(() => reader.releaseLock())))));
40
+ }).pipe(Effect.withSpan('do-rpc-client:processReadableStream'),
41
+ // Cancelling an errored stream rejects with that same error; ignore it so the original failure surfaces.
42
+ Effect.ensuring(Effect.sync(() => {
43
+ // Cancellation is best effort: a disconnected remote producer may never acknowledge it.
44
+ void reader.cancel().catch(() => { });
45
+ reader.releaseLock();
46
+ })));
20
47
  });
21
48
  /**
22
49
  * Creates a Protocol layer that uses Cloudflare Durable Object RPC calls.
23
50
  * This enables direct RPC communication with Durable Objects using Cloudflare's native RPC.
24
51
  */
25
- export const layerProtocolDurableObject = (args) => Layer.effect(RpcClient.Protocol, makeProtocolDurableObject(args));
52
+ export const layerProtocolDurableObject = (args) => Layer.effect(RpcClient.Protocol, makeProtocolDurableObject(args)).pipe(Layer.provide(RpcSerialization.layerSchemaBinary()));
26
53
  /**
27
54
  * Implementation of the RPC Protocol interface using Cloudflare Durable Object RPC calls.
28
55
  * Provides the core protocol methods required by @effect/rpc.
29
56
  */
30
57
  const makeProtocolDurableObject = ({ callRpc, }) => RpcClient.Protocol.make(Effect.fnUntraced(function* (writeResponse) {
58
+ const serialization = yield* RpcSerialization.RpcSerialization;
31
59
  // Not using an actual `FiberMap` here because it seems to shutdown to early
32
60
  // const fiberMap = new Map<string, Fiber.Fiber<void, never>>()
33
61
  const fiberMap = yield* FiberMap.make();
@@ -43,42 +71,44 @@ const makeProtocolDurableObject = ({ callRpc, }) => RpcClient.Protocol.make(Effe
43
71
  }
44
72
  return Effect.void;
45
73
  }
46
- // MessagePack parsers buffer incomplete frames, so scope one parser to one DO RPC call.
47
- const parser = RpcSerialization.msgPack.makeUnsafe();
74
+ // Binary parsers hold stream framing state, so scope one parser to one DO RPC call.
75
+ const parser = serialization.makeUnsafe();
48
76
  // Wrap single Request in array to match server expected format
49
77
  const serializedPayload = parser.encode([message]);
78
+ if (serializedPayload instanceof Uint8Array === false) {
79
+ return Effect.die('SchemaBinary RPC serialization did not produce bytes');
80
+ }
50
81
  return Effect.gen(function* () {
51
- const serializedResponse = yield* Effect.tryPromise(() => callRpc(serializedPayload)).pipe(Effect.orDie); // Convert errors to defects to match never error type
52
- // Handle ReadableStream for streaming responses
53
- if (serializedResponse instanceof ReadableStream) {
54
- const fiber = yield* processReadableStream(serializedResponse, parser, (response) => writeResponse(clientId, response)).pipe(
55
- // Effect.tapCauseLogPretty,
56
- Effect.forkChild);
57
- // fiberMap.set(message.id, fiber)
58
- yield* FiberMap.set(fiberMap, message.id, fiber);
59
- yield* Fiber.join(fiber);
82
+ const serializedResponse = yield* Effect.tryPromise({
83
+ try: () => callRpc(serializedPayload),
84
+ catch: transportFailure,
85
+ });
86
+ if (serializedResponse instanceof Uint8Array) {
87
+ for (const response of parser.decode(serializedResponse)) {
88
+ if (isFromServerEncoded(response) === false) {
89
+ return yield* Effect.die('Received an invalid RPC response');
90
+ }
91
+ yield* writeResponse(clientId, response);
92
+ }
60
93
  return;
61
94
  }
62
- // Handle regular Uint8Array responses
63
- const decoded = parser.decode(serializedResponse);
64
- // Normalize nested arrays from server serialization (same as streaming path)
65
- let responseArray;
66
- if (Array.isArray(decoded) === true) {
67
- responseArray = decoded.flat(1);
68
- }
69
- else {
70
- responseArray = [decoded];
71
- }
72
- // Process each response
73
- for (const response of responseArray) {
74
- yield* writeResponse(clientId, response);
75
- }
76
- }).pipe(Effect.withSpan('do-rpc-client:send'), Effect.orDie); // Ensure never error type
95
+ const fiber = yield* processReadableStream(serializedResponse, parser, (response) => writeResponse(clientId, response)).pipe(Effect.forkChild);
96
+ yield* FiberMap.set(fiberMap, message.id, fiber);
97
+ yield* Fiber.join(fiber);
98
+ }).pipe(Effect.withSpan('do-rpc-client:send'));
77
99
  };
78
100
  return {
79
101
  send,
80
102
  supportsAck: false, // DO RPC doesn't support ack mechanism like WebSockets
81
103
  supportsTransferables: false, // DO RPC doesn't support transferables yet
104
+ codecFor: serialization.codecFor,
82
105
  };
83
106
  }));
107
+ /**
108
+ * A rejected DO call or stream read fails only the request that made it (Effect RPC routes `send` failures per
109
+ * request). `RpcClientError` reasons are a closed union, so the original rejection rides as `RpcClientDefect.cause`.
110
+ */
111
+ const transportFailure = (cause) => new RpcClientError.RpcClientError({
112
+ reason: new RpcClientError.RpcClientDefect({ message: 'Durable Object RPC call failed', cause }),
113
+ });
84
114
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/do-rpc/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/do-rpc/client.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Vitest } from '@livestore/utils-dev/node-vitest';
2
- import { Effect, Fiber, Rpc, RpcClient, RpcGroup, Schema, Stream } from '@livestore/utils/effect';
3
- import { layerProtocolDurableObject } from "./client.js";
4
- import { toDurableObjectHandler } from "./server.js";
2
+ import { Cause, Effect, Exit, Fiber, Option, Rpc, RpcClient, RpcClientError, RpcGroup, Schema, Stream, } from '@livestore/utils/effect';
3
+ import { DoRpcReadError, layerProtocolDurableObject } from './client.js';
4
+ import { toDurableObjectHandler } from './server.js';
5
5
  class Rpcs extends RpcGroup.make(Rpc.make('BigStream', {
6
6
  payload: Schema.Struct({ n: Schema.Finite }),
7
7
  success: Schema.Struct({
@@ -72,11 +72,101 @@ Vitest.live('keeps a straddling stream frame isolated from a concurrent unary re
72
72
  Vitest.expect(result.echo).toEqual({ echo: 'Echo: hi' });
73
73
  Vitest.expect(result.rows).toEqual(expectedRows);
74
74
  }));
75
- const makeGatedCallRpc = (gateStream) => (payload) => toDurableObjectHandler(Rpcs, { layer: ServerLive })(new Uint8Array(payload)).pipe(Effect.flatMap(
75
+ Vitest.describe('transport failures', () => {
76
+ Vitest.live('fails a unary call with an RpcClientError that keeps the rejected error', () => Effect.gen(function* () {
77
+ const rejected = cloudflareError();
78
+ const exit = yield* RpcClient.make(Rpcs).pipe(Effect.flatMap((client) => client.Echo({ text: 'hi' })), Effect.exit, Effect.provide(protocolWith(() => Promise.reject(rejected))), Effect.timeout('2 seconds'));
79
+ Vitest.expect(transportFailureCause(exit)).toBe(rejected);
80
+ }));
81
+ Vitest.live('preserves a read failure through rejected cancellation and releases the reader lock', () => Effect.gen(function* () {
82
+ const rejected = cloudflareError();
83
+ let failedStream;
84
+ const failAfterFirstRead = (bytes) => {
85
+ let isFirstRead = true;
86
+ const stream = new ReadableStream({
87
+ pull(controller) {
88
+ if (isFirstRead === false)
89
+ return controller.error(rejected);
90
+ isFirstRead = false;
91
+ controller.enqueue(bytes.subarray(0, READ_CHUNK_SIZE));
92
+ },
93
+ });
94
+ failedStream = stream;
95
+ // oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- bridge platform ReadableStream to the CF type, like server.ts
96
+ return stream;
97
+ };
98
+ const exit = yield* RpcClient.make(Rpcs).pipe(Effect.flatMap((client) => client.BigStream({ n: expectedRows.length }).pipe(Stream.runCollect)), Effect.exit, Effect.provide(protocolWith(makeGatedCallRpc(failAfterFirstRead))), Effect.timeout('2 seconds'));
99
+ Vitest.expect(transportFailureCause(exit)).toBe(rejected);
100
+ Vitest.expect(failedStream?.locked).toBe(false);
101
+ }));
102
+ Vitest.live('fails only the request whose call rejected', () => Effect.gen(function* () {
103
+ let releaseStream = () => { };
104
+ const streamReleased = new Promise((resolve) => {
105
+ releaseStream = resolve;
106
+ });
107
+ const gatedUntilReleased = (bytes) => {
108
+ const stream = new ReadableStream({
109
+ async start(controller) {
110
+ await streamReleased;
111
+ controller.enqueue(bytes);
112
+ controller.close();
113
+ },
114
+ });
115
+ // oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- bridge platform ReadableStream to the CF type, like server.ts
116
+ return stream;
117
+ };
118
+ const callStream = makeGatedCallRpc(gatedUntilReleased);
119
+ let calls = 0;
120
+ const callRpc = (payload) => {
121
+ calls++;
122
+ return calls === 1 ? callStream(payload) : Promise.reject(cloudflareError());
123
+ };
124
+ const result = yield* Effect.gen(function* () {
125
+ const client = yield* RpcClient.make(Rpcs);
126
+ const streamFiber = yield* client
127
+ .BigStream({ n: expectedRows.length })
128
+ .pipe(Stream.runCollect, Effect.forkChild);
129
+ yield* Effect.yieldNow;
130
+ const echoExit = yield* client.Echo({ text: 'hi' }).pipe(Effect.exit);
131
+ yield* Effect.sync(() => releaseStream());
132
+ const rows = yield* Fiber.join(streamFiber);
133
+ return { echoExit, rows: Array.from(rows) };
134
+ }).pipe(Effect.provide(protocolWith(callRpc)), Effect.timeout('2 seconds'));
135
+ Vitest.expect(transportFailureCause(result.echoExit)).toBeInstanceOf(Error);
136
+ Vitest.expect(result.rows).toEqual(expectedRows);
137
+ }));
138
+ Vitest.live('interruption releases the reader even when remote cancellation never completes', () => Effect.gen(function* () {
139
+ const stream = new ReadableStream({ cancel: () => new Promise(() => { }) });
140
+ const exit = yield* RpcClient.make(Rpcs).pipe(Effect.flatMap((client) => client.BigStream({ n: 1 }).pipe(Stream.runDrain, Effect.timeout('20 millis'))), Effect.exit,
141
+ // oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- bridge the platform stream to the CF type
142
+ Effect.provide(protocolWith(async () => stream)), Effect.timeout('2 seconds'));
143
+ Vitest.expect(Exit.isFailure(exit)).toBe(true);
144
+ Vitest.expect(stream.locked).toBe(false);
145
+ }));
146
+ Vitest.live('reports a truncated response as a read failure instead of waiting forever for an RPC exit', () => Effect.gen(function* () {
147
+ const stream = new ReadableStream({ start: (controller) => controller.close() });
148
+ const exit = yield* RpcClient.make(Rpcs).pipe(Effect.flatMap((client) => client.BigStream({ n: 1 }).pipe(Stream.runCollect)), Effect.exit,
149
+ // oxlint-disable-next-line typescript-eslint(no-unsafe-type-assertion) -- bridge the platform stream to the CF type
150
+ Effect.provide(protocolWith(async () => stream)), Effect.timeout('2 seconds'));
151
+ Vitest.expect(transportFailureCause(exit)).toEqual(new Error('RPC stream ended before its exit'));
152
+ }));
153
+ });
154
+ const cloudflareError = () => Object.assign(new Error('Network connection lost.'), { retryable: true });
155
+ const protocolWith = (callRpc) => layerProtocolDurableObject({ callRpc, callerContext: { bindingName: 'TEST', durableObjectId: 'id' } });
156
+ /** The rejected error carried by a typed transport failure, or `undefined` for any other outcome (including a defect). */
157
+ const transportFailureCause = (exit) => {
158
+ if (Exit.isSuccess(exit) === true)
159
+ return undefined;
160
+ const error = Option.getOrUndefined(Cause.findErrorOption(exit.cause));
161
+ if (error instanceof RpcClientError.RpcClientError === false)
162
+ return undefined;
163
+ if (error.reason._tag !== 'RpcClientDefect')
164
+ return undefined;
165
+ return error.reason.cause instanceof DoRpcReadError ? error.reason.cause.cause : error.reason.cause;
166
+ };
167
+ const makeGatedCallRpc = (gateStream) => (payload) => toDurableObjectHandler(Rpcs, { layer: ServerLive })(new Uint8Array(payload)).pipe(Effect.filterOrElse(
76
168
  // Narrow on `Uint8Array`; the `ReadableStream` global differs from `CfTypes` across envs.
77
- (result) => result instanceof Uint8Array
78
- ? Effect.succeed(result)
79
- : Effect.promise(() => collectBytes(result)).pipe(Effect.map(gateStream))), Effect.runPromise);
169
+ (result) => result instanceof Uint8Array, (result) => Effect.promise(() => collectBytes(result)).pipe(Effect.map(gateStream))), Effect.runPromise);
80
170
  const collectBytes = async (stream) => {
81
171
  const reader = stream.getReader();
82
172
  const parts = [];
@@ -1 +1 @@
1
- {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../src/do-rpc/client.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../src/do-rpc/client.test.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { layerProtocolDurableObject } from './client.ts';
1
+ export { DoRpcReadError, layerProtocolDurableObject } from './client.ts';
2
2
  export { type ClientDoWithRpcCallback, emitStreamResponse, toDurableObjectHandler } from './server.ts';
3
3
  //# sourceMappingURL=mod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/do-rpc/mod.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,KAAK,uBAAuB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/do-rpc/mod.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,KAAK,uBAAuB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA"}
@@ -1,4 +1,4 @@
1
1
  // Re-export client and server implementations for backward compatibility
2
- export { layerProtocolDurableObject } from "./client.js";
3
- export { emitStreamResponse, toDurableObjectHandler } from "./server.js";
2
+ export { DoRpcReadError, layerProtocolDurableObject } from './client.js';
3
+ export { emitStreamResponse, toDurableObjectHandler } from './server.js';
4
4
  //# sourceMappingURL=mod.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/do-rpc/mod.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAgC,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/do-rpc/mod.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAgC,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA"}
@@ -3,7 +3,7 @@ import { Vitest } from '@livestore/utils-dev/node-vitest';
3
3
  import { WranglerDevServer } from '@livestore/utils-dev/wrangler';
4
4
  import { Effect, FetchHttpClient, Layer, Option, References, RpcClient, RpcSerialization, Stream, } from '@livestore/utils/effect';
5
5
  import { PlatformNode } from '@livestore/utils/node';
6
- import { TestRpcs } from "./test-fixtures/rpc-schema.js";
6
+ import { TestRpcs } from './test-fixtures/rpc-schema.js';
7
7
  const testTimeout = 60_000;
8
8
  const withWranglerTest = Vitest.makeWithTestCtx({
9
9
  timeout: testTimeout,
@@ -100,7 +100,7 @@ Vitest.describe('Durable Object RPC', { timeout: testTimeout }, () => {
100
100
  /*
101
101
 
102
102
 
103
- In `node_modules/.pnpm/@effect+rpc@0.68.4_@effect+platform@0.90.0_effect@3.17.7__effect@3.17.7/node_modules/@effect/rpc/dist/esm/RpcClient.js`:
103
+ In the installed `@effect/rpc` `RpcClient.js`:
104
104
  add the console log
105
105
  ```
106
106
  yield* Scope.addFinalizerExit(scope, exit => {
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.test.js","sourceRoot":"","sources":["../../src/do-rpc/rpc.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rpc.test.js","sourceRoot":"","sources":["../../src/do-rpc/rpc.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Effect, type Layer, type ReadonlyArray, Rpc, type RpcGroup } from '@livestore/utils/effect';
1
+ import { Effect, type Layer, type ReadonlyArray, Rpc, type RpcGroup, Schema } from '@livestore/utils/effect';
2
2
  import type * as CfTypes from '../cf-types.ts';
3
3
  export interface ClientDoWithRpcCallback {
4
4
  __DURABLE_OBJECT_BRAND: never;
@@ -27,6 +27,7 @@ export declare const emitStreamResponse: (args_0: {
27
27
  };
28
28
  requestId: string;
29
29
  storeId: string;
30
- values: ReadonlyArray.NonEmptyReadonlyArray<any>;
31
- }) => Effect.Effect<void, import("effect/Cause").UnknownError, never>;
30
+ schema: Schema.Top;
31
+ values: ReadonlyArray.NonEmptyReadonlyArray<unknown>;
32
+ }) => Effect.Effect<void, Schema.SchemaError | import("effect/Cause").UnknownError, never>;
32
33
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/do-rpc/server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAGN,KAAK,KAAK,EAEV,KAAK,aAAa,EAClB,GAAG,EACH,KAAK,QAAQ,EASd,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAc9C,MAAM,WAAW,uBAAuB;IACtC,sBAAsB,EAAE,KAAK,CAAA;IAC7B;;;OAGG;IACH,aAAa,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACpF;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAChC,IAAI,SAAS,GAAG,CAAC,GAAG,EAAE,EAAE,EACvB,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC9B,SAAS;IACP,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IAC3E,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAC9D,KACA,CAAC,CACF,iBAAiB,EAAE,UAAU,CAAC,WAAW,CAAC,KACvC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAuJjE,CAAA;AAEL,qEAAqE;AACrE,eAAO,MAAM,kBAAkB;SAOxB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;mBACT;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE;eACpD,MAAM;aACR,MAAM;YACP,aAAa,CAAC,qBAAqB,CAAC,GAAG,CAAC;qEAqBhD,CAAA"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/do-rpc/server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAIN,KAAK,KAAK,EAEV,KAAK,aAAa,EAClB,GAAG,EACH,KAAK,QAAQ,EAKb,MAAM,EAIP,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AA0B9C,MAAM,WAAW,uBAAuB;IACtC,sBAAsB,EAAE,KAAK,CAAA;IAC7B;;;OAGG;IACH,aAAa,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACpF;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAChC,IAAI,SAAS,GAAG,CAAC,GAAG,EAAE,EAAE,SAChB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WACrB;IACP,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IAC3E,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CAC9D,KACA,CAAC,CACF,iBAAiB,EAAE,UAAU,CAAC,WAAW,CAAC,KACvC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CA+IjE,CAAA;AAEL,qEAAqE;AACrE,eAAO,MAAM,kBAAkB;SAQxB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;mBACT;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE;eACpD,MAAM;aACR,MAAM;YACP,MAAM,CAAC,GAAG;YACV,aAAa,CAAC,qBAAqB,CAAC,OAAO,CAAC;0FAwBpD,CAAA"}