rivetkit 2.0.4 → 2.0.5

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 (109) hide show
  1. package/dist/tsup/actor/errors.cjs +2 -2
  2. package/dist/tsup/actor/errors.js +1 -1
  3. package/dist/tsup/{chunk-HLLF4B4Q.js → chunk-2MD57QF4.js} +7 -5
  4. package/dist/tsup/chunk-2MD57QF4.js.map +1 -0
  5. package/dist/tsup/{chunk-SBHHJ6QS.cjs → chunk-5QGQK44L.cjs} +2 -2
  6. package/dist/tsup/{chunk-SBHHJ6QS.cjs.map → chunk-5QGQK44L.cjs.map} +1 -1
  7. package/dist/tsup/{chunk-4CXBCT26.cjs → chunk-5YTI25C3.cjs} +7 -7
  8. package/dist/tsup/{chunk-4CXBCT26.cjs.map → chunk-5YTI25C3.cjs.map} +1 -1
  9. package/dist/tsup/{chunk-TQ62L3X7.js → chunk-B2QGJGZQ.js} +18 -5
  10. package/dist/tsup/chunk-B2QGJGZQ.js.map +1 -0
  11. package/dist/tsup/{chunk-PQY7KKTL.js → chunk-CFFKMUYH.js} +32 -7
  12. package/dist/tsup/{chunk-PQY7KKTL.js.map → chunk-CFFKMUYH.js.map} +1 -1
  13. package/dist/tsup/{chunk-H26RP6GD.js → chunk-CKA54YQN.js} +2 -2
  14. package/dist/tsup/chunk-D7NWUCRK.cjs +20 -0
  15. package/dist/tsup/{chunk-4R73YDN3.cjs.map → chunk-D7NWUCRK.cjs.map} +1 -1
  16. package/dist/tsup/{chunk-IH6CKNDW.cjs → chunk-FGFT4FVX.cjs} +9 -9
  17. package/dist/tsup/{chunk-IH6CKNDW.cjs.map → chunk-FGFT4FVX.cjs.map} +1 -1
  18. package/dist/tsup/{chunk-HI3HWJRC.js → chunk-I5VTWPHW.js} +4 -4
  19. package/dist/tsup/{chunk-HI3HWJRC.js.map → chunk-I5VTWPHW.js.map} +1 -1
  20. package/dist/tsup/{chunk-GICQ3YCU.cjs → chunk-IRMBWX36.cjs} +39 -37
  21. package/dist/tsup/chunk-IRMBWX36.cjs.map +1 -0
  22. package/dist/tsup/{chunk-XJQHKJ4P.js → chunk-L7QRXNWP.js} +331 -62
  23. package/dist/tsup/chunk-L7QRXNWP.js.map +1 -0
  24. package/dist/tsup/{chunk-LWNKVZG5.cjs → chunk-LZIBTLEY.cjs} +12 -12
  25. package/dist/tsup/{chunk-LWNKVZG5.cjs.map → chunk-LZIBTLEY.cjs.map} +1 -1
  26. package/dist/tsup/{chunk-VO7ZRVVD.cjs → chunk-MRZS2J4X.cjs} +581 -312
  27. package/dist/tsup/chunk-MRZS2J4X.cjs.map +1 -0
  28. package/dist/tsup/{chunk-QK72M5JB.js → chunk-PG3K2LI7.js} +2 -2
  29. package/dist/tsup/{chunk-QNNXFOQV.cjs → chunk-PHSQJ6QI.cjs} +3 -3
  30. package/dist/tsup/{chunk-QNNXFOQV.cjs.map → chunk-PHSQJ6QI.cjs.map} +1 -1
  31. package/dist/tsup/{chunk-WHBPJNGW.cjs → chunk-RM2SVURR.cjs} +29 -16
  32. package/dist/tsup/chunk-RM2SVURR.cjs.map +1 -0
  33. package/dist/tsup/{chunk-6LJT3QRL.cjs → chunk-WADSS5X4.cjs} +37 -12
  34. package/dist/tsup/chunk-WADSS5X4.cjs.map +1 -0
  35. package/dist/tsup/{chunk-LV2S3OU3.js → chunk-WNGOBAA7.js} +2 -2
  36. package/dist/tsup/{chunk-NFU2BBT5.js → chunk-YPZFLUO6.js} +2 -2
  37. package/dist/tsup/chunk-YPZFLUO6.js.map +1 -0
  38. package/dist/tsup/{chunk-3F2YSRJL.js → chunk-YW6Y6VNE.js} +4 -4
  39. package/dist/tsup/client/mod.cjs +10 -10
  40. package/dist/tsup/client/mod.d.cts +2 -2
  41. package/dist/tsup/client/mod.d.ts +2 -2
  42. package/dist/tsup/client/mod.js +9 -9
  43. package/dist/tsup/common/log.cjs +4 -4
  44. package/dist/tsup/common/log.js +3 -3
  45. package/dist/tsup/common/websocket.cjs +5 -5
  46. package/dist/tsup/common/websocket.js +4 -4
  47. package/dist/tsup/{connection-BI-6UIBJ.d.ts → connection-BvE-Oq7t.d.ts} +22 -11
  48. package/dist/tsup/{connection-Dyd4NLGW.d.cts → connection-DTzmWwU5.d.cts} +22 -11
  49. package/dist/tsup/driver-helpers/mod.cjs +6 -6
  50. package/dist/tsup/driver-helpers/mod.d.cts +2 -2
  51. package/dist/tsup/driver-helpers/mod.d.ts +2 -2
  52. package/dist/tsup/driver-helpers/mod.js +5 -5
  53. package/dist/tsup/driver-test-suite/mod.cjs +606 -140
  54. package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
  55. package/dist/tsup/driver-test-suite/mod.d.cts +2 -2
  56. package/dist/tsup/driver-test-suite/mod.d.ts +2 -2
  57. package/dist/tsup/driver-test-suite/mod.js +563 -97
  58. package/dist/tsup/driver-test-suite/mod.js.map +1 -1
  59. package/dist/tsup/inspector/mod.cjs +6 -6
  60. package/dist/tsup/inspector/mod.js +5 -5
  61. package/dist/tsup/mod.cjs +9 -9
  62. package/dist/tsup/mod.d.cts +3 -3
  63. package/dist/tsup/mod.d.ts +3 -3
  64. package/dist/tsup/mod.js +8 -8
  65. package/dist/tsup/{router-endpoints-BTe_Rsdn.d.cts → router-endpoints-CctffZNL.d.cts} +1 -1
  66. package/dist/tsup/{router-endpoints-CBSrKHmo.d.ts → router-endpoints-DFm1BglJ.d.ts} +1 -1
  67. package/dist/tsup/test/mod.cjs +10 -10
  68. package/dist/tsup/test/mod.d.cts +1 -1
  69. package/dist/tsup/test/mod.d.ts +1 -1
  70. package/dist/tsup/test/mod.js +9 -9
  71. package/dist/tsup/utils.cjs +5 -3
  72. package/dist/tsup/utils.cjs.map +1 -1
  73. package/dist/tsup/utils.d.cts +18 -1
  74. package/dist/tsup/utils.d.ts +18 -1
  75. package/dist/tsup/utils.js +4 -2
  76. package/package.json +4 -4
  77. package/src/actor/errors.ts +1 -1
  78. package/src/actor/router-endpoints.ts +6 -1
  79. package/src/actor/router.ts +2 -1
  80. package/src/client/mod.ts +1 -1
  81. package/src/client/raw-utils.ts +1 -1
  82. package/src/driver-test-suite/mod.ts +1 -1
  83. package/src/driver-test-suite/test-inline-client-driver.ts +588 -0
  84. package/src/driver-test-suite/tests/actor-error-handling.ts +4 -12
  85. package/src/driver-test-suite/tests/actor-inspector.ts +2 -1
  86. package/src/driver-test-suite/utils.ts +10 -9
  87. package/src/drivers/file-system/global-state.ts +3 -1
  88. package/src/drivers/file-system/manager.ts +16 -21
  89. package/src/manager/router.ts +373 -5
  90. package/src/registry/mod.ts +29 -33
  91. package/src/registry/run-config.ts +16 -1
  92. package/src/remote-manager-driver/actor-http-client.ts +3 -1
  93. package/src/remote-manager-driver/actor-websocket-client.ts +2 -1
  94. package/src/remote-manager-driver/api-utils.ts +4 -1
  95. package/src/remote-manager-driver/mod.ts +2 -1
  96. package/src/utils.ts +53 -0
  97. package/dist/tsup/chunk-4R73YDN3.cjs +0 -20
  98. package/dist/tsup/chunk-6LJT3QRL.cjs.map +0 -1
  99. package/dist/tsup/chunk-GICQ3YCU.cjs.map +0 -1
  100. package/dist/tsup/chunk-HLLF4B4Q.js.map +0 -1
  101. package/dist/tsup/chunk-NFU2BBT5.js.map +0 -1
  102. package/dist/tsup/chunk-TQ62L3X7.js.map +0 -1
  103. package/dist/tsup/chunk-VO7ZRVVD.cjs.map +0 -1
  104. package/dist/tsup/chunk-WHBPJNGW.cjs.map +0 -1
  105. package/dist/tsup/chunk-XJQHKJ4P.js.map +0 -1
  106. /package/dist/tsup/{chunk-H26RP6GD.js.map → chunk-CKA54YQN.js.map} +0 -0
  107. /package/dist/tsup/{chunk-QK72M5JB.js.map → chunk-PG3K2LI7.js.map} +0 -0
  108. /package/dist/tsup/{chunk-LV2S3OU3.js.map → chunk-WNGOBAA7.js.map} +0 -0
  109. /package/dist/tsup/{chunk-3F2YSRJL.js.map → chunk-YW6Y6VNE.js.map} +0 -0
@@ -1,33 +1,38 @@
1
1
  import {
2
2
  getPort
3
- } from "../chunk-3F2YSRJL.js";
3
+ } from "../chunk-YW6Y6VNE.js";
4
4
  import {
5
5
  createClient
6
- } from "../chunk-HI3HWJRC.js";
6
+ } from "../chunk-I5VTWPHW.js";
7
7
  import {
8
+ ActorError,
8
9
  actor,
10
+ createClientWithDriver,
9
11
  createManagerRouter
10
- } from "../chunk-XJQHKJ4P.js";
12
+ } from "../chunk-L7QRXNWP.js";
11
13
  import {
12
14
  createActorInspectorClient,
13
15
  createManagerInspectorClient
14
- } from "../chunk-H26RP6GD.js";
15
- import "../chunk-QK72M5JB.js";
16
+ } from "../chunk-CKA54YQN.js";
17
+ import {
18
+ importWebSocket
19
+ } from "../chunk-PG3K2LI7.js";
16
20
  import {
17
21
  RunConfigSchema
18
- } from "../chunk-TQ62L3X7.js";
22
+ } from "../chunk-B2QGJGZQ.js";
19
23
  import {
24
+ HEADER_ACTOR_ID,
20
25
  HEADER_ACTOR_QUERY,
21
26
  assertUnreachable
22
- } from "../chunk-HLLF4B4Q.js";
27
+ } from "../chunk-2MD57QF4.js";
23
28
  import {
24
29
  getLogger
25
- } from "../chunk-LV2S3OU3.js";
26
- import "../chunk-PQY7KKTL.js";
30
+ } from "../chunk-WNGOBAA7.js";
31
+ import "../chunk-CFFKMUYH.js";
27
32
  import {
28
33
  INTERNAL_ERROR_CODE,
29
34
  INTERNAL_ERROR_DESCRIPTION
30
- } from "../chunk-NFU2BBT5.js";
35
+ } from "../chunk-YPZFLUO6.js";
31
36
 
32
37
  // src/driver-test-suite/mod.ts
33
38
  import { serve as honoServe } from "@hono/node-server";
@@ -45,16 +50,479 @@ function logger() {
45
50
  import { describe, expect, test } from "vitest";
46
51
 
47
52
  // src/driver-test-suite/utils.ts
48
- import { resolve } from "path";
49
53
  import { vi } from "vitest";
54
+
55
+ // src/driver-test-suite/test-inline-client-driver.ts
56
+ import * as cbor from "cbor-x";
57
+ function createTestInlineClientDriver(endpoint, encoding, transport) {
58
+ return {
59
+ getForId(input) {
60
+ return makeInlineRequest(endpoint, encoding, transport, "getForId", [
61
+ input
62
+ ]);
63
+ },
64
+ getWithKey(input) {
65
+ return makeInlineRequest(endpoint, encoding, transport, "getWithKey", [
66
+ input
67
+ ]);
68
+ },
69
+ getOrCreateWithKey(input) {
70
+ return makeInlineRequest(
71
+ endpoint,
72
+ encoding,
73
+ transport,
74
+ "getOrCreateWithKey",
75
+ [input]
76
+ );
77
+ },
78
+ createActor(input) {
79
+ return makeInlineRequest(endpoint, encoding, transport, "createActor", [
80
+ input
81
+ ]);
82
+ },
83
+ async sendRequest(actorId, actorRequest) {
84
+ var _a;
85
+ const oldUrl = new URL(actorRequest.url);
86
+ const normalizedPath = oldUrl.pathname.startsWith("/") ? oldUrl.pathname.slice(1) : oldUrl.pathname;
87
+ const pathWithQuery = normalizedPath + oldUrl.search;
88
+ logger().debug({
89
+ msg: "sending raw http request via test inline driver",
90
+ actorId,
91
+ encoding,
92
+ path: pathWithQuery
93
+ });
94
+ const url = `${endpoint}/.test/inline-driver/send-request/${pathWithQuery}`;
95
+ logger().debug({ msg: "rewriting http url", from: oldUrl, to: url });
96
+ const headers = new Headers(actorRequest.headers);
97
+ headers.set(HEADER_ACTOR_ID, actorId);
98
+ const response = await fetch(
99
+ new Request(url, {
100
+ method: actorRequest.method,
101
+ headers,
102
+ body: actorRequest.body,
103
+ signal: actorRequest.signal
104
+ })
105
+ );
106
+ if (!response.ok && ((_a = response.headers.get("content-type")) == null ? void 0 : _a.includes("application/json"))) {
107
+ try {
108
+ const clonedResponse = response.clone();
109
+ const errorData = await clonedResponse.json();
110
+ if (errorData.error) {
111
+ if (typeof errorData.error === "object") {
112
+ throw new ActorError(
113
+ errorData.error.code,
114
+ errorData.error.message,
115
+ errorData.error.metadata
116
+ );
117
+ }
118
+ }
119
+ } catch (e) {
120
+ if (!(e instanceof ActorError)) {
121
+ return response;
122
+ }
123
+ throw e;
124
+ }
125
+ }
126
+ return response;
127
+ },
128
+ async openWebSocket(path, actorId, encoding2, params) {
129
+ const WebSocket2 = await importWebSocket();
130
+ const normalizedPath = path.startsWith("/") ? path.slice(1) : path;
131
+ logger().debug({
132
+ msg: "creating websocket connection via test inline driver"
133
+ });
134
+ const wsUrl = new URL(
135
+ `${endpoint}/.test/inline-driver/connect-websocket/ws`
136
+ );
137
+ wsUrl.searchParams.set("path", normalizedPath);
138
+ wsUrl.searchParams.set("actorId", actorId);
139
+ if (params !== void 0)
140
+ wsUrl.searchParams.set("params", JSON.stringify(params));
141
+ wsUrl.searchParams.set("encodingKind", encoding2);
142
+ const wsProtocol = wsUrl.protocol === "https:" ? "wss:" : "ws:";
143
+ const finalWsUrl = `${wsProtocol}//${wsUrl.host}${wsUrl.pathname}${wsUrl.search}`;
144
+ logger().debug({ msg: "connecting to websocket", url: finalWsUrl });
145
+ const ws = new WebSocket2(finalWsUrl, [
146
+ // HACK: See packages/drivers/cloudflare-workers/src/websocket.ts
147
+ "rivetkit"
148
+ ]);
149
+ return ws;
150
+ },
151
+ async proxyRequest(c, actorRequest, actorId) {
152
+ return await this.sendRequest(actorId, actorRequest);
153
+ },
154
+ proxyWebSocket(_c, _path, _actorId, _encoding, _params, _authData) {
155
+ throw "UNIMPLEMENTED";
156
+ },
157
+ displayInformation() {
158
+ return { name: "Test Inline", properties: {} };
159
+ }
160
+ // action: async <Args extends Array<unknown> = unknown[], Response = unknown>(
161
+ // _c: HonoContext | undefined,
162
+ // actorQuery: ActorQuery,
163
+ // encoding: Encoding,
164
+ // params: unknown,
165
+ // name: string,
166
+ // args: Args,
167
+ // ): Promise<Response> => {
168
+ // return makeInlineRequest<Response>(
169
+ // endpoint,
170
+ // encoding,
171
+ // transport,
172
+ // "action",
173
+ // [undefined, actorQuery, encoding, params, name, args],
174
+ // );
175
+ // },
176
+ //
177
+ // resolveActorId: async (
178
+ // _c: HonoContext | undefined,
179
+ // actorQuery: ActorQuery,
180
+ // encodingKind: Encoding,
181
+ // params: unknown,
182
+ // ): Promise<string> => {
183
+ // return makeInlineRequest<string>(
184
+ // endpoint,
185
+ // encodingKind,
186
+ // transport,
187
+ // "resolveActorId",
188
+ // [undefined, actorQuery, encodingKind, params],
189
+ // );
190
+ // },
191
+ //
192
+ // connectWebSocket: async (
193
+ // _c: HonoContext | undefined,
194
+ // actorQuery: ActorQuery,
195
+ // encodingKind: Encoding,
196
+ // params: unknown,
197
+ // ): Promise<WebSocket> => {
198
+ // const WebSocket = await importWebSocket();
199
+ //
200
+ // logger().debug({
201
+ // msg: "creating websocket connection via test inline driver",
202
+ // actorQuery,
203
+ // encodingKind,
204
+ // });
205
+ //
206
+ // // Create WebSocket connection to the test endpoint
207
+ // const wsUrl = new URL(
208
+ // `${endpoint}/registry/.test/inline-driver/connect-websocket`,
209
+ // );
210
+ // wsUrl.searchParams.set("actorQuery", JSON.stringify(actorQuery));
211
+ // if (params !== undefined)
212
+ // wsUrl.searchParams.set("params", JSON.stringify(params));
213
+ // wsUrl.searchParams.set("encodingKind", encodingKind);
214
+ //
215
+ // // Convert http/https to ws/wss
216
+ // const wsProtocol = wsUrl.protocol === "https:" ? "wss:" : "ws:";
217
+ // const finalWsUrl = `${wsProtocol}//${wsUrl.host}${wsUrl.pathname}${wsUrl.search}`;
218
+ //
219
+ // logger().debug({ msg: "connecting to websocket", url: finalWsUrl });
220
+ //
221
+ // // Create and return the WebSocket
222
+ // // Node & browser WebSocket types are incompatible
223
+ // const ws = new WebSocket(finalWsUrl, [
224
+ // // HACK: See packages/drivers/cloudflare-workers/src/websocket.ts
225
+ // "rivetkit",
226
+ // ]) as any;
227
+ //
228
+ // return ws;
229
+ // },
230
+ //
231
+ // connectSse: async (
232
+ // _c: HonoContext | undefined,
233
+ // actorQuery: ActorQuery,
234
+ // encodingKind: Encoding,
235
+ // params: unknown,
236
+ // ): Promise<UniversalEventSource> => {
237
+ // logger().debug({
238
+ // msg: "creating sse connection via test inline driver",
239
+ // actorQuery,
240
+ // encodingKind,
241
+ // params,
242
+ // });
243
+ //
244
+ // // Dynamically import EventSource if needed
245
+ // const EventSourceImport = await import("eventsource");
246
+ // // Handle both ES modules (default) and CommonJS export patterns
247
+ // const EventSourceConstructor =
248
+ // (EventSourceImport as any).default || EventSourceImport;
249
+ //
250
+ // // Encode parameters for the URL
251
+ // const actorQueryParam = encodeURIComponent(JSON.stringify(actorQuery));
252
+ // const encodingParam = encodeURIComponent(encodingKind);
253
+ // const paramsParam = params
254
+ // ? encodeURIComponent(JSON.stringify(params))
255
+ // : null;
256
+ //
257
+ // // Create SSE connection URL
258
+ // const sseUrl = new URL(
259
+ // `${endpoint}/registry/.test/inline-driver/connect-sse`,
260
+ // );
261
+ // sseUrl.searchParams.set("actorQueryRaw", actorQueryParam);
262
+ // sseUrl.searchParams.set("encodingKind", encodingParam);
263
+ // if (paramsParam) {
264
+ // sseUrl.searchParams.set("params", paramsParam);
265
+ // }
266
+ //
267
+ // logger().debug({ msg: "connecting to sse", url: sseUrl.toString() });
268
+ //
269
+ // // Create and return the EventSource
270
+ // const eventSource = new EventSourceConstructor(sseUrl.toString());
271
+ //
272
+ // // Wait for the connection to be established before returning
273
+ // await new Promise<void>((resolve, reject) => {
274
+ // eventSource.onopen = () => {
275
+ // logger().debug({ msg: "sse connection established" });
276
+ // resolve();
277
+ // };
278
+ //
279
+ // eventSource.onerror = (event: Event) => {
280
+ // logger().error({ msg: "sse connection failed", event });
281
+ // reject(new Error("Failed to establish SSE connection"));
282
+ // };
283
+ //
284
+ // // Set a timeout in case the connection never establishes
285
+ // setTimeout(() => {
286
+ // if (eventSource.readyState !== EventSourceConstructor.OPEN) {
287
+ // reject(new Error("SSE connection timed out"));
288
+ // }
289
+ // }, 10000); // 10 second timeout
290
+ // });
291
+ //
292
+ // return eventSource as UniversalEventSource;
293
+ // },
294
+ //
295
+ // sendHttpMessage: async (
296
+ // _c: HonoContext | undefined,
297
+ // actorId: string,
298
+ // encoding: Encoding,
299
+ // connectionId: string,
300
+ // connectionToken: string,
301
+ // message: protocol.ToServer,
302
+ // ): Promise<void> => {
303
+ // logger().debug({
304
+ // msg: "sending http message via test inline driver",
305
+ // actorId,
306
+ // encoding,
307
+ // connectionId,
308
+ // transport,
309
+ // });
310
+ //
311
+ // const result = await fetch(
312
+ // `${endpoint}/registry/.test/inline-driver/call`,
313
+ // {
314
+ // method: "POST",
315
+ // headers: {
316
+ // "Content-Type": "application/json",
317
+ // },
318
+ // body: JSON.stringify({
319
+ // encoding,
320
+ // transport,
321
+ // method: "sendHttpMessage",
322
+ // args: [
323
+ // undefined,
324
+ // actorId,
325
+ // encoding,
326
+ // connectionId,
327
+ // connectionToken,
328
+ // message,
329
+ // ],
330
+ // } satisfies TestInlineDriverCallRequest),
331
+ // },
332
+ // );
333
+ //
334
+ // if (!result.ok) {
335
+ // throw new Error(`Failed to send HTTP message: ${result.statusText}`);
336
+ // }
337
+ //
338
+ // // Discard response
339
+ // await result.body?.cancel();
340
+ // },
341
+ //
342
+ // rawHttpRequest: async (
343
+ // _c: HonoContext | undefined,
344
+ // actorQuery: ActorQuery,
345
+ // encoding: Encoding,
346
+ // params: unknown,
347
+ // path: string,
348
+ // init: RequestInit,
349
+ // ): Promise<Response> => {
350
+ // // Normalize path to match other drivers
351
+ // const normalizedPath = path.startsWith("/") ? path.slice(1) : path;
352
+ //
353
+ // logger().debug({
354
+ // msg: "sending raw http request via test inline driver",
355
+ // actorQuery,
356
+ // encoding,
357
+ // path: normalizedPath,
358
+ // });
359
+ //
360
+ // // Use the dedicated raw HTTP endpoint
361
+ // const url = `${endpoint}/registry/.test/inline-driver/raw-http/${normalizedPath}`;
362
+ //
363
+ // logger().debug({ msg: "rewriting http url", from: path, to: url });
364
+ //
365
+ // // Merge headers with our metadata
366
+ // const headers = new Headers(init.headers);
367
+ // headers.set(HEADER_ACTOR_QUERY, JSON.stringify(actorQuery));
368
+ // headers.set(HEADER_ENCODING, encoding);
369
+ // if (params !== undefined) {
370
+ // headers.set(HEADER_CONN_PARAMS, JSON.stringify(params));
371
+ // }
372
+ //
373
+ // // Forward the request directly
374
+ // const response = await fetch(url, {
375
+ // ...init,
376
+ // headers,
377
+ // });
378
+ //
379
+ // // Check if it's an error response from our handler
380
+ // if (
381
+ // !response.ok &&
382
+ // response.headers.get("content-type")?.includes("application/json")
383
+ // ) {
384
+ // try {
385
+ // // Clone the response to avoid consuming the body
386
+ // const clonedResponse = response.clone();
387
+ // const errorData = (await clonedResponse.json()) as any;
388
+ // if (errorData.error) {
389
+ // // Handle both error formats:
390
+ // // 1. { error: { code, message, metadata } } - structured format
391
+ // // 2. { error: "message" } - simple string format (from custom onFetch handlers)
392
+ // if (typeof errorData.error === "object") {
393
+ // throw new ClientActorError(
394
+ // errorData.error.code,
395
+ // errorData.error.message,
396
+ // errorData.error.metadata,
397
+ // );
398
+ // }
399
+ // // For simple string errors, just return the response as-is
400
+ // // This allows custom onFetch handlers to return their own error formats
401
+ // }
402
+ // } catch (e) {
403
+ // // If it's not our error format, just return the response as-is
404
+ // if (!(e instanceof ClientActorError)) {
405
+ // return response;
406
+ // }
407
+ // throw e;
408
+ // }
409
+ // }
410
+ //
411
+ // return response;
412
+ // },
413
+ //
414
+ // rawWebSocket: async (
415
+ // _c: HonoContext | undefined,
416
+ // actorQuery: ActorQuery,
417
+ // encoding: Encoding,
418
+ // params: unknown,
419
+ // path: string,
420
+ // protocols: string | string[] | undefined,
421
+ // ): Promise<WebSocket> => {
422
+ // logger().debug({ msg: "test inline driver rawWebSocket called" });
423
+ // const WebSocket = await importWebSocket();
424
+ //
425
+ // // Normalize path to match other drivers
426
+ // const normalizedPath = path.startsWith("/") ? path.slice(1) : path;
427
+ //
428
+ // logger().debug({
429
+ // msg: "creating raw websocket connection via test inline driver",
430
+ // actorQuery,
431
+ // encoding,
432
+ // path: normalizedPath,
433
+ // protocols,
434
+ // });
435
+ //
436
+ // // Create WebSocket connection to the test endpoint
437
+ // const wsUrl = new URL(
438
+ // `${endpoint}/registry/.test/inline-driver/raw-websocket`,
439
+ // );
440
+ // wsUrl.searchParams.set("actorQuery", JSON.stringify(actorQuery));
441
+ // if (params !== undefined)
442
+ // wsUrl.searchParams.set("params", JSON.stringify(params));
443
+ // wsUrl.searchParams.set("encodingKind", encoding);
444
+ // wsUrl.searchParams.set("path", normalizedPath);
445
+ // if (protocols !== undefined)
446
+ // wsUrl.searchParams.set("protocols", JSON.stringify(protocols));
447
+ //
448
+ // // Convert http/https to ws/wss
449
+ // const wsProtocol = wsUrl.protocol === "https:" ? "wss:" : "ws:";
450
+ // const finalWsUrl = `${wsProtocol}//${wsUrl.host}${wsUrl.pathname}${wsUrl.search}`;
451
+ //
452
+ // logger().debug({ msg: "connecting to raw websocket", url: finalWsUrl });
453
+ //
454
+ // logger().debug({
455
+ // msg: "rewriting websocket url",
456
+ // from: path,
457
+ // to: finalWsUrl,
458
+ // });
459
+ //
460
+ // // Create and return the WebSocket
461
+ // // Node & browser WebSocket types are incompatible
462
+ // const ws = new WebSocket(finalWsUrl, [
463
+ // // HACK: See packages/drivers/cloudflare-workers/src/websocket.ts
464
+ // "rivetkit",
465
+ // ]) as any;
466
+ //
467
+ // logger().debug({
468
+ // msg: "test inline driver created websocket",
469
+ // readyState: ws.readyState,
470
+ // url: ws.url,
471
+ // });
472
+ //
473
+ // return ws;
474
+ // },
475
+ };
476
+ }
477
+ async function makeInlineRequest(endpoint, encoding, transport, method, args) {
478
+ logger().debug({
479
+ msg: "sending inline request",
480
+ encoding,
481
+ transport,
482
+ method,
483
+ args
484
+ });
485
+ const response = await fetch(`${endpoint}/.test/inline-driver/call`, {
486
+ method: "POST",
487
+ headers: {
488
+ "Content-Type": "application/json"
489
+ },
490
+ body: cbor.encode({
491
+ encoding,
492
+ transport,
493
+ method,
494
+ args
495
+ })
496
+ });
497
+ if (!response.ok) {
498
+ throw new Error(`Failed to call inline ${method}: ${response.statusText}`);
499
+ }
500
+ const buffer = await response.arrayBuffer();
501
+ const callResponse = cbor.decode(
502
+ new Uint8Array(buffer)
503
+ );
504
+ if ("ok" in callResponse) {
505
+ return callResponse.ok;
506
+ } else if ("err" in callResponse) {
507
+ throw new ActorError(
508
+ callResponse.err.group,
509
+ callResponse.err.code,
510
+ callResponse.err.message,
511
+ callResponse.err.metadata
512
+ );
513
+ } else {
514
+ assertUnreachable(callResponse);
515
+ }
516
+ }
517
+
518
+ // src/driver-test-suite/utils.ts
50
519
  var FAKE_TIME = /* @__PURE__ */ new Date("2024-01-01T00:00:00.000Z");
51
520
  async function setupDriverTest(c, driverTestConfig) {
52
521
  if (!driverTestConfig.useRealTimers) {
53
522
  vi.useFakeTimers();
54
523
  vi.setSystemTime(FAKE_TIME);
55
524
  }
56
- const projectPath = resolve(__dirname, "../../fixtures/driver-test-suite");
57
- const { endpoint, namespace, runnerName, cleanup } = await driverTestConfig.start(projectPath);
525
+ const { endpoint, namespace, runnerName, cleanup } = await driverTestConfig.start();
58
526
  c.onTestFinished(cleanup);
59
527
  let client;
60
528
  if (driverTestConfig.clientType === "http") {
@@ -65,7 +533,12 @@ async function setupDriverTest(c, driverTestConfig) {
65
533
  transport: driverTestConfig.transport
66
534
  });
67
535
  } else if (driverTestConfig.clientType === "inline") {
68
- throw "TODO";
536
+ const managerDriver = createTestInlineClientDriver(
537
+ endpoint,
538
+ "bare",
539
+ driverTestConfig.transport ?? "websocket"
540
+ );
541
+ client = createClientWithDriver(managerDriver);
69
542
  } else {
70
543
  assertUnreachable(driverTestConfig.clientType);
71
544
  }
@@ -79,7 +552,7 @@ async function setupDriverTest(c, driverTestConfig) {
79
552
  }
80
553
  async function waitFor(driverTestConfig, ms) {
81
554
  if (driverTestConfig.useRealTimers) {
82
- return new Promise((resolve2) => setTimeout(resolve2, ms));
555
+ return new Promise((resolve) => setTimeout(resolve, ms));
83
556
  } else {
84
557
  vi.advanceTimersByTime(ms);
85
558
  return Promise.resolve();
@@ -215,11 +688,11 @@ function runActorConnTests(driverTestConfig) {
215
688
  const handle = client.counter.getOrCreate(["test-mixed-rpc-ws"]);
216
689
  const connection = handle.connect();
217
690
  const receivedEvents = [];
218
- const receivedEventsPromise = new Promise((resolve2) => {
691
+ const receivedEventsPromise = new Promise((resolve) => {
219
692
  connection.on("newCount", (count) => {
220
693
  receivedEvents.push(count);
221
694
  if (receivedEvents.includes(1) && receivedEvents.includes(6) && receivedEvents.includes(9))
222
- resolve2(void 0);
695
+ resolve(void 0);
223
696
  });
224
697
  });
225
698
  await connection.increment(1);
@@ -667,7 +1140,7 @@ var sleepWithRawHttp = actor({
667
1140
  if (url.pathname === "/long-request") {
668
1141
  const duration = parseInt(url.searchParams.get("duration") || "1000");
669
1142
  c.log.info({ msg: "starting long fetch request", duration });
670
- await new Promise((resolve2) => setTimeout(resolve2, duration));
1143
+ await new Promise((resolve) => setTimeout(resolve, duration));
671
1144
  c.log.info("finished long fetch request");
672
1145
  return new Response(JSON.stringify({ completed: true }), {
673
1146
  headers: { "Content-Type": "application/json" }
@@ -908,7 +1381,7 @@ function runActorSleepTests(driverTestConfig) {
908
1381
  expect5(startCount).toBe(1);
909
1382
  }
910
1383
  const waitPromise = new Promise(
911
- (resolve2) => sleepActor.once("waiting", resolve2)
1384
+ (resolve) => sleepActor.once("waiting", resolve)
912
1385
  );
913
1386
  const longRunningPromise = sleepActor.longRunningRpc();
914
1387
  await waitPromise;
@@ -941,32 +1414,32 @@ function runActorSleepTests(driverTestConfig) {
941
1414
  expect5(startCount).toBe(1);
942
1415
  }
943
1416
  const ws = await sleepActor.websocket();
944
- await new Promise((resolve2, reject) => {
945
- ws.onopen = () => resolve2();
1417
+ await new Promise((resolve, reject) => {
1418
+ ws.onopen = () => resolve();
946
1419
  ws.onerror = reject;
947
1420
  });
948
- await new Promise((resolve2) => {
1421
+ await new Promise((resolve) => {
949
1422
  ws.onmessage = (event) => {
950
1423
  const data = JSON.parse(event.data);
951
1424
  if (data.type === "connected") {
952
- resolve2();
1425
+ resolve();
953
1426
  }
954
1427
  };
955
1428
  });
956
1429
  await waitFor(driverTestConfig, SLEEP_TIMEOUT + 100);
957
1430
  ws.send(JSON.stringify({ type: "getCounts" }));
958
- const counts = await new Promise((resolve2) => {
1431
+ const counts = await new Promise((resolve) => {
959
1432
  ws.onmessage = (event) => {
960
1433
  const data = JSON.parse(event.data);
961
1434
  if (data.type === "counts") {
962
- resolve2(data);
1435
+ resolve(data);
963
1436
  }
964
1437
  };
965
1438
  });
966
1439
  expect5(counts.sleepCount).toBe(0);
967
1440
  expect5(counts.startCount).toBe(1);
968
1441
  ws.close();
969
- await new Promise((resolve2) => setTimeout(resolve2, 100));
1442
+ await new Promise((resolve) => setTimeout(resolve, 100));
970
1443
  await waitFor(driverTestConfig, SLEEP_TIMEOUT + 100);
971
1444
  {
972
1445
  const { startCount, sleepCount } = await sleepActor.getCounts();
@@ -1119,15 +1592,8 @@ function runActorErrorHandlingTests(driverTestConfig) {
1119
1592
  await handle.throwInternalError();
1120
1593
  expect7(true).toBe(false);
1121
1594
  } catch (error) {
1122
- if (driverTestConfig.clientType === "http") {
1123
- expect7(error.code).toBe(INTERNAL_ERROR_CODE);
1124
- expect7(error.message).toBe(INTERNAL_ERROR_DESCRIPTION);
1125
- } else if (driverTestConfig.clientType === "inline") {
1126
- expect7(error.code).toBe(INTERNAL_ERROR_CODE);
1127
- expect7(error.message).toBe("This is an internal error");
1128
- } else {
1129
- assertUnreachable(driverTestConfig.clientType);
1130
- }
1595
+ expect7(error.code).toBe(INTERNAL_ERROR_CODE);
1596
+ expect7(error.message).toBe(INTERNAL_ERROR_DESCRIPTION);
1131
1597
  }
1132
1598
  });
1133
1599
  });
@@ -1465,7 +1931,7 @@ function runActorInlineClientTests(driverTestConfig) {
1465
1931
  // src/driver-test-suite/tests/actor-inspector.ts
1466
1932
  import { describe as describe11, expect as expect10, test as test10 } from "vitest";
1467
1933
  function runActorInspectorTests(driverTestConfig) {
1468
- describe11("Actor Inspector Tests", () => {
1934
+ describe11.skip("Actor Inspector Tests", () => {
1469
1935
  describe11("Manager Inspector", () => {
1470
1936
  test10("should respond to ping", async (c) => {
1471
1937
  const { endpoint } = await setupDriverTest(c, driverTestConfig);
@@ -2887,24 +3353,24 @@ function runRawWebSocketTests(driverTestConfig) {
2887
3353
  const { client } = await setupDriverTest(c, driverTestConfig);
2888
3354
  const actor2 = client.rawWebSocketActor.getOrCreate(["basic"]);
2889
3355
  const ws = await actor2.websocket();
2890
- await new Promise((resolve2) => {
3356
+ await new Promise((resolve) => {
2891
3357
  if (ws.readyState === WebSocket.OPEN) {
2892
- resolve2();
3358
+ resolve();
2893
3359
  } else {
2894
3360
  ws.addEventListener(
2895
3361
  "open",
2896
3362
  () => {
2897
- resolve2();
3363
+ resolve();
2898
3364
  },
2899
3365
  { once: true }
2900
3366
  );
2901
3367
  }
2902
3368
  });
2903
- const welcomeMessage = await new Promise((resolve2, reject) => {
3369
+ const welcomeMessage = await new Promise((resolve, reject) => {
2904
3370
  ws.addEventListener(
2905
3371
  "message",
2906
3372
  (event) => {
2907
- resolve2(JSON.parse(event.data));
3373
+ resolve(JSON.parse(event.data));
2908
3374
  },
2909
3375
  { once: true }
2910
3376
  );
@@ -2919,22 +3385,22 @@ function runRawWebSocketTests(driverTestConfig) {
2919
3385
  const actor2 = client.rawWebSocketActor.getOrCreate(["echo"]);
2920
3386
  const ws = await actor2.websocket();
2921
3387
  if (ws.readyState !== WebSocket.OPEN) {
2922
- await new Promise((resolve2, reject) => {
2923
- ws.addEventListener("open", () => resolve2(), { once: true });
3388
+ await new Promise((resolve, reject) => {
3389
+ ws.addEventListener("open", () => resolve(), { once: true });
2924
3390
  ws.addEventListener("close", reject);
2925
3391
  });
2926
3392
  }
2927
- await new Promise((resolve2, reject) => {
2928
- ws.addEventListener("message", () => resolve2(), { once: true });
3393
+ await new Promise((resolve, reject) => {
3394
+ ws.addEventListener("message", () => resolve(), { once: true });
2929
3395
  ws.addEventListener("close", reject);
2930
3396
  });
2931
3397
  const testMessage = { test: "data", timestamp: Date.now() };
2932
3398
  ws.send(JSON.stringify(testMessage));
2933
- const echoMessage = await new Promise((resolve2, reject) => {
3399
+ const echoMessage = await new Promise((resolve, reject) => {
2934
3400
  ws.addEventListener(
2935
3401
  "message",
2936
3402
  (event) => {
2937
- resolve2(JSON.parse(event.data));
3403
+ resolve(JSON.parse(event.data));
2938
3404
  },
2939
3405
  { once: true }
2940
3406
  );
@@ -2948,21 +3414,21 @@ function runRawWebSocketTests(driverTestConfig) {
2948
3414
  const actor2 = client.rawWebSocketActor.getOrCreate(["ping"]);
2949
3415
  const ws = await actor2.websocket();
2950
3416
  if (ws.readyState !== WebSocket.OPEN) {
2951
- await new Promise((resolve2, reject) => {
2952
- ws.addEventListener("open", () => resolve2(), { once: true });
3417
+ await new Promise((resolve, reject) => {
3418
+ ws.addEventListener("open", () => resolve(), { once: true });
2953
3419
  ws.addEventListener("close", reject);
2954
3420
  });
2955
3421
  }
2956
- await new Promise((resolve2, reject) => {
2957
- ws.addEventListener("message", () => resolve2(), { once: true });
3422
+ await new Promise((resolve, reject) => {
3423
+ ws.addEventListener("message", () => resolve(), { once: true });
2958
3424
  ws.addEventListener("close", reject);
2959
3425
  });
2960
3426
  ws.send(JSON.stringify({ type: "ping" }));
2961
- const pongMessage = await new Promise((resolve2, reject) => {
3427
+ const pongMessage = await new Promise((resolve, reject) => {
2962
3428
  ws.addEventListener("message", (event) => {
2963
3429
  const data = JSON.parse(event.data);
2964
3430
  if (data.type === "pong") {
2965
- resolve2(data);
3431
+ resolve(data);
2966
3432
  }
2967
3433
  });
2968
3434
  ws.addEventListener("close", reject);
@@ -2975,23 +3441,23 @@ function runRawWebSocketTests(driverTestConfig) {
2975
3441
  const { client } = await setupDriverTest(c, driverTestConfig);
2976
3442
  const actor1 = client.rawWebSocketActor.getOrCreate(["stats"]);
2977
3443
  const ws1 = await actor1.websocket();
2978
- const ws1MessagePromise = new Promise((resolve2, reject) => {
2979
- ws1.addEventListener("message", () => resolve2(), { once: true });
3444
+ const ws1MessagePromise = new Promise((resolve, reject) => {
3445
+ ws1.addEventListener("message", () => resolve(), { once: true });
2980
3446
  ws1.addEventListener("close", reject);
2981
3447
  });
2982
3448
  await ws1MessagePromise;
2983
3449
  const actor2 = client.rawWebSocketActor.get(["stats"]);
2984
3450
  const ws2 = await actor2.websocket();
2985
- const ws2MessagePromise = new Promise((resolve2, reject) => {
2986
- ws2.addEventListener("message", () => resolve2(), { once: true });
3451
+ const ws2MessagePromise = new Promise((resolve, reject) => {
3452
+ ws2.addEventListener("message", () => resolve(), { once: true });
2987
3453
  ws2.addEventListener("close", reject);
2988
3454
  });
2989
3455
  await Promise.all([ws1MessagePromise, ws2MessagePromise]);
2990
- const pingPromise = new Promise((resolve2, reject) => {
3456
+ const pingPromise = new Promise((resolve, reject) => {
2991
3457
  ws2.addEventListener("message", (event) => {
2992
3458
  const data = JSON.parse(event.data);
2993
3459
  if (data.type === "pong") {
2994
- resolve2(void 0);
3460
+ resolve(void 0);
2995
3461
  }
2996
3462
  });
2997
3463
  ws2.addEventListener("close", reject);
@@ -3000,11 +3466,11 @@ function runRawWebSocketTests(driverTestConfig) {
3000
3466
  ws1.send(JSON.stringify({ data: "test3" }));
3001
3467
  ws2.send(JSON.stringify({ type: "ping" }));
3002
3468
  await pingPromise;
3003
- const statsPromise = new Promise((resolve2, reject) => {
3469
+ const statsPromise = new Promise((resolve, reject) => {
3004
3470
  ws1.addEventListener("message", (event) => {
3005
3471
  const data = JSON.parse(event.data);
3006
3472
  if (data.type === "stats") {
3007
- resolve2(data);
3473
+ resolve(data);
3008
3474
  }
3009
3475
  });
3010
3476
  ws1.addEventListener("close", reject);
@@ -3024,18 +3490,18 @@ function runRawWebSocketTests(driverTestConfig) {
3024
3490
  const actor2 = client.rawWebSocketBinaryActor.getOrCreate(["binary"]);
3025
3491
  const ws = await actor2.websocket();
3026
3492
  if (ws.readyState !== WebSocket.OPEN) {
3027
- await new Promise((resolve2, reject) => {
3028
- ws.addEventListener("open", () => resolve2(), { once: true });
3493
+ await new Promise((resolve, reject) => {
3494
+ ws.addEventListener("open", () => resolve(), { once: true });
3029
3495
  ws.addEventListener("close", reject);
3030
3496
  });
3031
3497
  }
3032
3498
  const receiveBinaryMessage = async () => {
3033
3499
  const response = await new Promise(
3034
- (resolve2, reject) => {
3500
+ (resolve, reject) => {
3035
3501
  ws.addEventListener(
3036
3502
  "message",
3037
3503
  (event) => {
3038
- resolve2(event.data);
3504
+ resolve(event.data);
3039
3505
  },
3040
3506
  { once: true }
3041
3507
  );
@@ -3064,18 +3530,18 @@ function runRawWebSocketTests(driverTestConfig) {
3064
3530
  const { client } = await setupDriverTest(c, driverTestConfig);
3065
3531
  const actor2 = client.rawWebSocketActor.getOrCreate(["paths"]);
3066
3532
  const ws = await actor2.websocket("custom/path");
3067
- await new Promise((resolve2, reject) => {
3533
+ await new Promise((resolve, reject) => {
3068
3534
  ws.addEventListener("open", () => {
3069
- resolve2();
3535
+ resolve();
3070
3536
  });
3071
3537
  ws.addEventListener("error", reject);
3072
3538
  ws.addEventListener("close", reject);
3073
3539
  });
3074
- const welcomeMessage = await new Promise((resolve2) => {
3540
+ const welcomeMessage = await new Promise((resolve) => {
3075
3541
  ws.addEventListener(
3076
3542
  "message",
3077
3543
  (event) => {
3078
- resolve2(JSON.parse(event.data));
3544
+ resolve(JSON.parse(event.data));
3079
3545
  },
3080
3546
  { once: true }
3081
3547
  );
@@ -3090,15 +3556,15 @@ function runRawWebSocketTests(driverTestConfig) {
3090
3556
  params: testParams
3091
3557
  });
3092
3558
  const ws = await actor2.websocket();
3093
- await new Promise((resolve2) => {
3094
- ws.addEventListener("open", () => resolve2(), { once: true });
3559
+ await new Promise((resolve) => {
3560
+ ws.addEventListener("open", () => resolve(), { once: true });
3095
3561
  });
3096
3562
  ws.send(JSON.stringify({ type: "getAuthData" }));
3097
- const response = await new Promise((resolve2, reject) => {
3563
+ const response = await new Promise((resolve, reject) => {
3098
3564
  ws.addEventListener("message", (event) => {
3099
3565
  const data = JSON.parse(event.data);
3100
3566
  if (data.type === "authData") {
3101
- resolve2(data);
3567
+ resolve(data);
3102
3568
  }
3103
3569
  });
3104
3570
  ws.addEventListener("close", reject);
@@ -3111,15 +3577,15 @@ function runRawWebSocketTests(driverTestConfig) {
3111
3577
  const actor2 = client.rawWebSocketActor.getOrCreate(["close-test"]);
3112
3578
  const ws = await actor2.websocket();
3113
3579
  if (ws.readyState !== WebSocket.OPEN) {
3114
- await new Promise((resolve2, reject) => {
3115
- ws.addEventListener("open", () => resolve2(), { once: true });
3580
+ await new Promise((resolve, reject) => {
3581
+ ws.addEventListener("open", () => resolve(), { once: true });
3116
3582
  ws.addEventListener("close", reject);
3117
3583
  });
3118
3584
  }
3119
3585
  const initialStats = await actor2.getStats();
3120
3586
  expect17(initialStats.connectionCount).toBe(1);
3121
- const closePromise = new Promise((resolve2) => {
3122
- ws.addEventListener("close", () => resolve2(), { once: true });
3587
+ const closePromise = new Promise((resolve) => {
3588
+ ws.addEventListener("close", () => resolve(), { once: true });
3123
3589
  });
3124
3590
  ws.close();
3125
3591
  await closePromise;
@@ -3129,7 +3595,7 @@ function runRawWebSocketTests(driverTestConfig) {
3129
3595
  if (finalStats.connectionCount === 0) {
3130
3596
  break;
3131
3597
  }
3132
- await new Promise((resolve2) => setTimeout(resolve2, 50));
3598
+ await new Promise((resolve) => setTimeout(resolve, 50));
3133
3599
  }
3134
3600
  expect17(finalStats == null ? void 0 : finalStats.connectionCount).toBe(0);
3135
3601
  });
@@ -3137,15 +3603,15 @@ function runRawWebSocketTests(driverTestConfig) {
3137
3603
  const { client } = await setupDriverTest(c, driverTestConfig);
3138
3604
  const actor2 = client.rawWebSocketActor.getOrCreate(["open-close-test"]);
3139
3605
  const ws1 = await actor2.websocket();
3140
- await new Promise((resolve2, reject) => {
3141
- ws1.addEventListener("open", () => resolve2(), { once: true });
3606
+ await new Promise((resolve, reject) => {
3607
+ ws1.addEventListener("open", () => resolve(), { once: true });
3142
3608
  ws1.addEventListener("close", reject);
3143
3609
  });
3144
- const welcome1 = await new Promise((resolve2, reject) => {
3610
+ const welcome1 = await new Promise((resolve, reject) => {
3145
3611
  ws1.addEventListener(
3146
3612
  "message",
3147
3613
  (event) => {
3148
- resolve2(JSON.parse(event.data));
3614
+ resolve(JSON.parse(event.data));
3149
3615
  },
3150
3616
  { once: true }
3151
3617
  );
@@ -3154,15 +3620,15 @@ function runRawWebSocketTests(driverTestConfig) {
3154
3620
  expect17(welcome1.type).toBe("welcome");
3155
3621
  expect17(welcome1.connectionCount).toBe(1);
3156
3622
  const ws2 = await actor2.websocket();
3157
- await new Promise((resolve2, reject) => {
3158
- ws2.addEventListener("open", () => resolve2(), { once: true });
3623
+ await new Promise((resolve, reject) => {
3624
+ ws2.addEventListener("open", () => resolve(), { once: true });
3159
3625
  ws2.addEventListener("close", reject);
3160
3626
  });
3161
- const welcome2 = await new Promise((resolve2, reject) => {
3627
+ const welcome2 = await new Promise((resolve, reject) => {
3162
3628
  ws2.addEventListener(
3163
3629
  "message",
3164
3630
  (event) => {
3165
- resolve2(JSON.parse(event.data));
3631
+ resolve(JSON.parse(event.data));
3166
3632
  },
3167
3633
  { once: true }
3168
3634
  );
@@ -3173,8 +3639,8 @@ function runRawWebSocketTests(driverTestConfig) {
3173
3639
  const midStats = await actor2.getStats();
3174
3640
  expect17(midStats.connectionCount).toBe(2);
3175
3641
  ws1.close();
3176
- await new Promise((resolve2) => {
3177
- ws1.addEventListener("close", () => resolve2(), { once: true });
3642
+ await new Promise((resolve) => {
3643
+ ws1.addEventListener("close", () => resolve(), { once: true });
3178
3644
  });
3179
3645
  let afterFirstClose;
3180
3646
  for (let i = 0; i < 20; i++) {
@@ -3182,12 +3648,12 @@ function runRawWebSocketTests(driverTestConfig) {
3182
3648
  if (afterFirstClose.connectionCount === 1) {
3183
3649
  break;
3184
3650
  }
3185
- await new Promise((resolve2) => setTimeout(resolve2, 50));
3651
+ await new Promise((resolve) => setTimeout(resolve, 50));
3186
3652
  }
3187
3653
  expect17(afterFirstClose == null ? void 0 : afterFirstClose.connectionCount).toBe(1);
3188
3654
  ws2.close();
3189
- await new Promise((resolve2) => {
3190
- ws2.addEventListener("close", () => resolve2(), { once: true });
3655
+ await new Promise((resolve) => {
3656
+ ws2.addEventListener("close", () => resolve(), { once: true });
3191
3657
  });
3192
3658
  let finalStats;
3193
3659
  for (let i = 0; i < 20; i++) {
@@ -3195,7 +3661,7 @@ function runRawWebSocketTests(driverTestConfig) {
3195
3661
  if (finalStats.connectionCount === 0) {
3196
3662
  break;
3197
3663
  }
3198
- await new Promise((resolve2) => setTimeout(resolve2, 50));
3664
+ await new Promise((resolve) => setTimeout(resolve, 50));
3199
3665
  }
3200
3666
  expect17(finalStats == null ? void 0 : finalStats.connectionCount).toBe(0);
3201
3667
  });
@@ -3203,15 +3669,15 @@ function runRawWebSocketTests(driverTestConfig) {
3203
3669
  const { client } = await setupDriverTest(c, driverTestConfig);
3204
3670
  const actor2 = client.rawWebSocketActor.getOrCreate(["query-params"]);
3205
3671
  const ws = await actor2.websocket("api/v1/stream?token=abc123&user=test");
3206
- await new Promise((resolve2, reject) => {
3207
- ws.addEventListener("open", () => resolve2(), { once: true });
3672
+ await new Promise((resolve, reject) => {
3673
+ ws.addEventListener("open", () => resolve(), { once: true });
3208
3674
  ws.addEventListener("error", reject);
3209
3675
  });
3210
- const requestInfoPromise = new Promise((resolve2, reject) => {
3676
+ const requestInfoPromise = new Promise((resolve, reject) => {
3211
3677
  ws.addEventListener("message", (event) => {
3212
3678
  const data = JSON.parse(event.data);
3213
3679
  if (data.type === "requestInfo") {
3214
- resolve2(data);
3680
+ resolve(data);
3215
3681
  }
3216
3682
  });
3217
3683
  ws.addEventListener("close", reject);
@@ -3393,7 +3859,7 @@ async function createTestRuntime(registryPath, driverFactory) {
3393
3859
  const serverEndpoint = `http://127.0.0.1:${port}`;
3394
3860
  logger().info({ msg: "test serer listening", port });
3395
3861
  const cleanup = async () => {
3396
- await new Promise((resolve2) => server.close(() => resolve2(void 0)));
3862
+ await new Promise((resolve) => server.close(() => resolve(void 0)));
3397
3863
  await (driverCleanup == null ? void 0 : driverCleanup());
3398
3864
  };
3399
3865
  return {