rivetkit 2.0.4 → 2.0.6

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