rivetkit 2.0.5 → 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 (116) hide show
  1. package/dist/tsup/actor-router-consts-BK6arfy8.d.cts +17 -0
  2. package/dist/tsup/actor-router-consts-BK6arfy8.d.ts +17 -0
  3. package/dist/tsup/chunk-2K3JMDAN.js +232 -0
  4. package/dist/tsup/chunk-2K3JMDAN.js.map +1 -0
  5. package/dist/tsup/chunk-42I3OZ3Q.js +15 -0
  6. package/dist/tsup/chunk-42I3OZ3Q.js.map +1 -0
  7. package/dist/tsup/{chunk-L7QRXNWP.js → chunk-4CKHQRXG.js} +1642 -4408
  8. package/dist/tsup/chunk-4CKHQRXG.js.map +1 -0
  9. package/dist/tsup/{chunk-WADSS5X4.cjs → chunk-5JBFVV4C.cjs} +2 -2
  10. package/dist/tsup/{chunk-WADSS5X4.cjs.map → chunk-5JBFVV4C.cjs.map} +1 -1
  11. package/dist/tsup/{chunk-FGFT4FVX.cjs → chunk-6P6RA47N.cjs} +9 -9
  12. package/dist/tsup/{chunk-FGFT4FVX.cjs.map → chunk-6P6RA47N.cjs.map} +1 -1
  13. package/dist/tsup/chunk-7OUKNSTU.js +1043 -0
  14. package/dist/tsup/chunk-7OUKNSTU.js.map +1 -0
  15. package/dist/tsup/{chunk-LZIBTLEY.cjs → chunk-DIAYNQTE.cjs} +13 -25
  16. package/dist/tsup/chunk-DIAYNQTE.cjs.map +1 -0
  17. package/dist/tsup/{chunk-YW6Y6VNE.js → chunk-G75SVQON.js} +4 -4
  18. package/dist/tsup/{chunk-PHSQJ6QI.cjs → chunk-KG3C7MKR.cjs} +3 -3
  19. package/dist/tsup/{chunk-PHSQJ6QI.cjs.map → chunk-KG3C7MKR.cjs.map} +1 -1
  20. package/dist/tsup/chunk-KUPQZYUQ.cjs +15 -0
  21. package/dist/tsup/chunk-KUPQZYUQ.cjs.map +1 -0
  22. package/dist/tsup/{chunk-5YTI25C3.cjs → chunk-MRRT2CZD.cjs} +7 -7
  23. package/dist/tsup/{chunk-5YTI25C3.cjs.map → chunk-MRRT2CZD.cjs.map} +1 -1
  24. package/dist/tsup/chunk-NTCUGYSD.cjs +1043 -0
  25. package/dist/tsup/chunk-NTCUGYSD.cjs.map +1 -0
  26. package/dist/tsup/{chunk-CFFKMUYH.js → chunk-RGQR2J7S.js} +2 -2
  27. package/dist/tsup/{chunk-CFFKMUYH.js.map → chunk-RGQR2J7S.js.map} +1 -1
  28. package/dist/tsup/chunk-TCUI5JFE.cjs +232 -0
  29. package/dist/tsup/chunk-TCUI5JFE.cjs.map +1 -0
  30. package/dist/tsup/chunk-TWGATZ3X.cjs +3676 -0
  31. package/dist/tsup/chunk-TWGATZ3X.cjs.map +1 -0
  32. package/dist/tsup/chunk-UFWAK3X2.cjs +3796 -0
  33. package/dist/tsup/chunk-UFWAK3X2.cjs.map +1 -0
  34. package/dist/tsup/{chunk-D7NWUCRK.cjs → chunk-UTI5NCES.cjs} +6 -6
  35. package/dist/tsup/{chunk-D7NWUCRK.cjs.map → chunk-UTI5NCES.cjs.map} +1 -1
  36. package/dist/tsup/{chunk-PG3K2LI7.js → chunk-VCEHU56K.js} +2 -2
  37. package/dist/tsup/{chunk-I5VTWPHW.js → chunk-VPV4MWXR.js} +3 -3
  38. package/dist/tsup/chunk-W6LN7AF5.js +3676 -0
  39. package/dist/tsup/chunk-W6LN7AF5.js.map +1 -0
  40. package/dist/tsup/{chunk-WNGOBAA7.js → chunk-WC2PSJWN.js} +2 -2
  41. package/dist/tsup/{chunk-CKA54YQN.js → chunk-ZYLTS2EM.js} +3 -15
  42. package/dist/tsup/chunk-ZYLTS2EM.js.map +1 -0
  43. package/dist/tsup/client/mod.cjs +9 -9
  44. package/dist/tsup/client/mod.d.cts +2 -2
  45. package/dist/tsup/client/mod.d.ts +2 -2
  46. package/dist/tsup/client/mod.js +8 -8
  47. package/dist/tsup/common/log.cjs +3 -3
  48. package/dist/tsup/common/log.js +2 -2
  49. package/dist/tsup/common/websocket.cjs +4 -4
  50. package/dist/tsup/common/websocket.js +3 -3
  51. package/dist/tsup/{connection-BvE-Oq7t.d.ts → connection-BLemxi4f.d.ts} +1 -1
  52. package/dist/tsup/{connection-DTzmWwU5.d.cts → connection-CpDIydXf.d.cts} +1 -1
  53. package/dist/tsup/driver-helpers/mod.cjs +5 -5
  54. package/dist/tsup/driver-helpers/mod.d.cts +2 -2
  55. package/dist/tsup/driver-helpers/mod.d.ts +2 -2
  56. package/dist/tsup/driver-helpers/mod.js +4 -4
  57. package/dist/tsup/driver-test-suite/mod.cjs +66 -58
  58. package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
  59. package/dist/tsup/driver-test-suite/mod.d.cts +1 -1
  60. package/dist/tsup/driver-test-suite/mod.d.ts +1 -1
  61. package/dist/tsup/driver-test-suite/mod.js +24 -16
  62. package/dist/tsup/driver-test-suite/mod.js.map +1 -1
  63. package/dist/tsup/inspector/mod.cjs +7 -5
  64. package/dist/tsup/inspector/mod.cjs.map +1 -1
  65. package/dist/tsup/inspector/mod.js +9 -7
  66. package/dist/tsup/mod.cjs +11 -8
  67. package/dist/tsup/mod.cjs.map +1 -1
  68. package/dist/tsup/mod.d.cts +52 -7
  69. package/dist/tsup/mod.d.ts +52 -7
  70. package/dist/tsup/mod.js +17 -14
  71. package/dist/tsup/test/mod.cjs +11 -9
  72. package/dist/tsup/test/mod.cjs.map +1 -1
  73. package/dist/tsup/test/mod.d.cts +1 -1
  74. package/dist/tsup/test/mod.d.ts +1 -1
  75. package/dist/tsup/test/mod.js +10 -8
  76. package/dist/tsup/utils.cjs +2 -2
  77. package/dist/tsup/utils.js +1 -1
  78. package/package.json +1 -1
  79. package/src/actor/mod.ts +5 -3
  80. package/src/actor/router-endpoints.ts +5 -32
  81. package/src/actor/router.ts +9 -8
  82. package/src/client/actor-conn.ts +9 -8
  83. package/src/client/actor-handle.ts +0 -1
  84. package/src/client/client.ts +1 -1
  85. package/src/client/raw-utils.ts +1 -1
  86. package/src/client/utils.ts +1 -1
  87. package/src/common/actor-router-consts.ts +38 -0
  88. package/src/driver-helpers/mod.ts +1 -1
  89. package/src/driver-test-suite/test-inline-client-driver.ts +4 -4
  90. package/src/driver-test-suite/utils.ts +7 -2
  91. package/src/drivers/engine/actor-driver.ts +18 -17
  92. package/src/manager/driver.ts +1 -1
  93. package/src/manager/protocol/query.ts +1 -1
  94. package/src/registry/mod.ts +7 -2
  95. package/src/registry/serve.ts +8 -3
  96. package/src/remote-manager-driver/actor-websocket-client.ts +2 -2
  97. package/src/remote-manager-driver/mod.ts +2 -5
  98. package/dist/tsup/chunk-2MD57QF4.js +0 -1794
  99. package/dist/tsup/chunk-2MD57QF4.js.map +0 -1
  100. package/dist/tsup/chunk-B2QGJGZQ.js +0 -338
  101. package/dist/tsup/chunk-B2QGJGZQ.js.map +0 -1
  102. package/dist/tsup/chunk-CKA54YQN.js.map +0 -1
  103. package/dist/tsup/chunk-IRMBWX36.cjs +0 -1794
  104. package/dist/tsup/chunk-IRMBWX36.cjs.map +0 -1
  105. package/dist/tsup/chunk-L7QRXNWP.js.map +0 -1
  106. package/dist/tsup/chunk-LZIBTLEY.cjs.map +0 -1
  107. package/dist/tsup/chunk-MRZS2J4X.cjs +0 -6562
  108. package/dist/tsup/chunk-MRZS2J4X.cjs.map +0 -1
  109. package/dist/tsup/chunk-RM2SVURR.cjs +0 -338
  110. package/dist/tsup/chunk-RM2SVURR.cjs.map +0 -1
  111. package/dist/tsup/router-endpoints-CctffZNL.d.cts +0 -65
  112. package/dist/tsup/router-endpoints-DFm1BglJ.d.ts +0 -65
  113. /package/dist/tsup/{chunk-YW6Y6VNE.js.map → chunk-G75SVQON.js.map} +0 -0
  114. /package/dist/tsup/{chunk-PG3K2LI7.js.map → chunk-VCEHU56K.js.map} +0 -0
  115. /package/dist/tsup/{chunk-I5VTWPHW.js.map → chunk-VPV4MWXR.js.map} +0 -0
  116. /package/dist/tsup/{chunk-WNGOBAA7.js.map → chunk-WC2PSJWN.js.map} +0 -0
@@ -0,0 +1,1043 @@
1
+ import {
2
+ CachedSerializer,
3
+ EncodingSchema,
4
+ deserializeWithEncoding
5
+ } from "./chunk-2K3JMDAN.js";
6
+ import {
7
+ LogLevelSchema
8
+ } from "./chunk-WC2PSJWN.js";
9
+ import {
10
+ assertUnreachable,
11
+ bufferToArrayBuffer,
12
+ deconstructError,
13
+ getEnvUniversal
14
+ } from "./chunk-RGQR2J7S.js";
15
+ import {
16
+ MalformedMessage,
17
+ MessageTooLong,
18
+ Unsupported
19
+ } from "./chunk-YPZFLUO6.js";
20
+
21
+ // src/registry/run-config.ts
22
+ import { z as z4 } from "zod";
23
+
24
+ // src/client/config.ts
25
+ import z2 from "zod";
26
+
27
+ // src/actor/protocol/old.ts
28
+ import * as cbor from "cbor-x";
29
+ import { z } from "zod";
30
+
31
+ // src/common/versioned-data.ts
32
+ var VersionedDataHandler = class {
33
+ constructor(config3) {
34
+ this.config = config3;
35
+ }
36
+ serializeWithEmbeddedVersion(data) {
37
+ const versioned = {
38
+ version: this.config.currentVersion,
39
+ data: this.config.serializeVersion(data)
40
+ };
41
+ return this.embedVersion(versioned);
42
+ }
43
+ deserializeWithEmbeddedVersion(bytes) {
44
+ const versioned = this.extractVersion(bytes);
45
+ return this.deserialize(versioned.data, versioned.version);
46
+ }
47
+ serialize(data, version) {
48
+ return this.config.serializeVersion(data);
49
+ }
50
+ deserialize(bytes, version) {
51
+ if (version === this.config.currentVersion) {
52
+ return this.config.deserializeVersion(bytes);
53
+ }
54
+ if (version > this.config.currentVersion) {
55
+ throw new Error(
56
+ `Cannot decode data from version ${version}, current version is ${this.config.currentVersion}`
57
+ );
58
+ }
59
+ let currentData = this.config.deserializeVersion(bytes);
60
+ let currentVersion = version;
61
+ while (currentVersion < this.config.currentVersion) {
62
+ const migration = this.config.migrations.get(currentVersion);
63
+ if (!migration) {
64
+ throw new Error(
65
+ `No migration found from version ${currentVersion} to ${currentVersion + 1}`
66
+ );
67
+ }
68
+ currentData = migration(currentData);
69
+ currentVersion++;
70
+ }
71
+ return currentData;
72
+ }
73
+ embedVersion(data) {
74
+ const versionBytes = new Uint8Array(4);
75
+ new DataView(versionBytes.buffer).setUint32(0, data.version, true);
76
+ const result = new Uint8Array(versionBytes.length + data.data.length);
77
+ result.set(versionBytes);
78
+ result.set(data.data, versionBytes.length);
79
+ return result;
80
+ }
81
+ extractVersion(bytes) {
82
+ if (bytes.length < 4) {
83
+ throw new Error("Invalid versioned data: too short");
84
+ }
85
+ const version = new DataView(bytes.buffer, bytes.byteOffset).getUint32(
86
+ 0,
87
+ true
88
+ );
89
+ const data = bytes.slice(4);
90
+ return { version, data };
91
+ }
92
+ };
93
+ function createVersionedDataHandler(config3) {
94
+ return new VersionedDataHandler(config3);
95
+ }
96
+
97
+ // dist/schemas/client-protocol/v1.ts
98
+ import * as bare from "@bare-ts/lib";
99
+ var config = /* @__PURE__ */ bare.Config({});
100
+ function readInit(bc) {
101
+ return {
102
+ actorId: bare.readString(bc),
103
+ connectionId: bare.readString(bc),
104
+ connectionToken: bare.readString(bc)
105
+ };
106
+ }
107
+ function writeInit(bc, x) {
108
+ bare.writeString(bc, x.actorId);
109
+ bare.writeString(bc, x.connectionId);
110
+ bare.writeString(bc, x.connectionToken);
111
+ }
112
+ function read0(bc) {
113
+ return bare.readBool(bc) ? bare.readData(bc) : null;
114
+ }
115
+ function write0(bc, x) {
116
+ bare.writeBool(bc, x !== null);
117
+ if (x !== null) {
118
+ bare.writeData(bc, x);
119
+ }
120
+ }
121
+ function read1(bc) {
122
+ return bare.readBool(bc) ? bare.readUint(bc) : null;
123
+ }
124
+ function write1(bc, x) {
125
+ bare.writeBool(bc, x !== null);
126
+ if (x !== null) {
127
+ bare.writeUint(bc, x);
128
+ }
129
+ }
130
+ function readError(bc) {
131
+ return {
132
+ group: bare.readString(bc),
133
+ code: bare.readString(bc),
134
+ message: bare.readString(bc),
135
+ metadata: read0(bc),
136
+ actionId: read1(bc)
137
+ };
138
+ }
139
+ function writeError(bc, x) {
140
+ bare.writeString(bc, x.group);
141
+ bare.writeString(bc, x.code);
142
+ bare.writeString(bc, x.message);
143
+ write0(bc, x.metadata);
144
+ write1(bc, x.actionId);
145
+ }
146
+ function readActionResponse(bc) {
147
+ return {
148
+ id: bare.readUint(bc),
149
+ output: bare.readData(bc)
150
+ };
151
+ }
152
+ function writeActionResponse(bc, x) {
153
+ bare.writeUint(bc, x.id);
154
+ bare.writeData(bc, x.output);
155
+ }
156
+ function readEvent(bc) {
157
+ return {
158
+ name: bare.readString(bc),
159
+ args: bare.readData(bc)
160
+ };
161
+ }
162
+ function writeEvent(bc, x) {
163
+ bare.writeString(bc, x.name);
164
+ bare.writeData(bc, x.args);
165
+ }
166
+ function readToClientBody(bc) {
167
+ const offset = bc.offset;
168
+ const tag = bare.readU8(bc);
169
+ switch (tag) {
170
+ case 0:
171
+ return { tag: "Init", val: readInit(bc) };
172
+ case 1:
173
+ return { tag: "Error", val: readError(bc) };
174
+ case 2:
175
+ return { tag: "ActionResponse", val: readActionResponse(bc) };
176
+ case 3:
177
+ return { tag: "Event", val: readEvent(bc) };
178
+ default: {
179
+ bc.offset = offset;
180
+ throw new bare.BareError(offset, "invalid tag");
181
+ }
182
+ }
183
+ }
184
+ function writeToClientBody(bc, x) {
185
+ switch (x.tag) {
186
+ case "Init": {
187
+ bare.writeU8(bc, 0);
188
+ writeInit(bc, x.val);
189
+ break;
190
+ }
191
+ case "Error": {
192
+ bare.writeU8(bc, 1);
193
+ writeError(bc, x.val);
194
+ break;
195
+ }
196
+ case "ActionResponse": {
197
+ bare.writeU8(bc, 2);
198
+ writeActionResponse(bc, x.val);
199
+ break;
200
+ }
201
+ case "Event": {
202
+ bare.writeU8(bc, 3);
203
+ writeEvent(bc, x.val);
204
+ break;
205
+ }
206
+ }
207
+ }
208
+ function readToClient(bc) {
209
+ return {
210
+ body: readToClientBody(bc)
211
+ };
212
+ }
213
+ function writeToClient(bc, x) {
214
+ writeToClientBody(bc, x.body);
215
+ }
216
+ function encodeToClient(x) {
217
+ const bc = new bare.ByteCursor(
218
+ new Uint8Array(config.initialBufferLength),
219
+ config
220
+ );
221
+ writeToClient(bc, x);
222
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
223
+ }
224
+ function decodeToClient(bytes) {
225
+ const bc = new bare.ByteCursor(bytes, config);
226
+ const result = readToClient(bc);
227
+ if (bc.offset < bc.view.byteLength) {
228
+ throw new bare.BareError(bc.offset, "remaining bytes");
229
+ }
230
+ return result;
231
+ }
232
+ function readActionRequest(bc) {
233
+ return {
234
+ id: bare.readUint(bc),
235
+ name: bare.readString(bc),
236
+ args: bare.readData(bc)
237
+ };
238
+ }
239
+ function writeActionRequest(bc, x) {
240
+ bare.writeUint(bc, x.id);
241
+ bare.writeString(bc, x.name);
242
+ bare.writeData(bc, x.args);
243
+ }
244
+ function readSubscriptionRequest(bc) {
245
+ return {
246
+ eventName: bare.readString(bc),
247
+ subscribe: bare.readBool(bc)
248
+ };
249
+ }
250
+ function writeSubscriptionRequest(bc, x) {
251
+ bare.writeString(bc, x.eventName);
252
+ bare.writeBool(bc, x.subscribe);
253
+ }
254
+ function readToServerBody(bc) {
255
+ const offset = bc.offset;
256
+ const tag = bare.readU8(bc);
257
+ switch (tag) {
258
+ case 0:
259
+ return { tag: "ActionRequest", val: readActionRequest(bc) };
260
+ case 1:
261
+ return { tag: "SubscriptionRequest", val: readSubscriptionRequest(bc) };
262
+ default: {
263
+ bc.offset = offset;
264
+ throw new bare.BareError(offset, "invalid tag");
265
+ }
266
+ }
267
+ }
268
+ function writeToServerBody(bc, x) {
269
+ switch (x.tag) {
270
+ case "ActionRequest": {
271
+ bare.writeU8(bc, 0);
272
+ writeActionRequest(bc, x.val);
273
+ break;
274
+ }
275
+ case "SubscriptionRequest": {
276
+ bare.writeU8(bc, 1);
277
+ writeSubscriptionRequest(bc, x.val);
278
+ break;
279
+ }
280
+ }
281
+ }
282
+ function readToServer(bc) {
283
+ return {
284
+ body: readToServerBody(bc)
285
+ };
286
+ }
287
+ function writeToServer(bc, x) {
288
+ writeToServerBody(bc, x.body);
289
+ }
290
+ function encodeToServer(x) {
291
+ const bc = new bare.ByteCursor(
292
+ new Uint8Array(config.initialBufferLength),
293
+ config
294
+ );
295
+ writeToServer(bc, x);
296
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
297
+ }
298
+ function decodeToServer(bytes) {
299
+ const bc = new bare.ByteCursor(bytes, config);
300
+ const result = readToServer(bc);
301
+ if (bc.offset < bc.view.byteLength) {
302
+ throw new bare.BareError(bc.offset, "remaining bytes");
303
+ }
304
+ return result;
305
+ }
306
+ function readHttpActionRequest(bc) {
307
+ return {
308
+ args: bare.readData(bc)
309
+ };
310
+ }
311
+ function writeHttpActionRequest(bc, x) {
312
+ bare.writeData(bc, x.args);
313
+ }
314
+ function encodeHttpActionRequest(x) {
315
+ const bc = new bare.ByteCursor(
316
+ new Uint8Array(config.initialBufferLength),
317
+ config
318
+ );
319
+ writeHttpActionRequest(bc, x);
320
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
321
+ }
322
+ function decodeHttpActionRequest(bytes) {
323
+ const bc = new bare.ByteCursor(bytes, config);
324
+ const result = readHttpActionRequest(bc);
325
+ if (bc.offset < bc.view.byteLength) {
326
+ throw new bare.BareError(bc.offset, "remaining bytes");
327
+ }
328
+ return result;
329
+ }
330
+ function readHttpActionResponse(bc) {
331
+ return {
332
+ output: bare.readData(bc)
333
+ };
334
+ }
335
+ function writeHttpActionResponse(bc, x) {
336
+ bare.writeData(bc, x.output);
337
+ }
338
+ function encodeHttpActionResponse(x) {
339
+ const bc = new bare.ByteCursor(
340
+ new Uint8Array(config.initialBufferLength),
341
+ config
342
+ );
343
+ writeHttpActionResponse(bc, x);
344
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
345
+ }
346
+ function decodeHttpActionResponse(bytes) {
347
+ const bc = new bare.ByteCursor(bytes, config);
348
+ const result = readHttpActionResponse(bc);
349
+ if (bc.offset < bc.view.byteLength) {
350
+ throw new bare.BareError(bc.offset, "remaining bytes");
351
+ }
352
+ return result;
353
+ }
354
+ function readHttpResponseError(bc) {
355
+ return {
356
+ group: bare.readString(bc),
357
+ code: bare.readString(bc),
358
+ message: bare.readString(bc),
359
+ metadata: read0(bc)
360
+ };
361
+ }
362
+ function writeHttpResponseError(bc, x) {
363
+ bare.writeString(bc, x.group);
364
+ bare.writeString(bc, x.code);
365
+ bare.writeString(bc, x.message);
366
+ write0(bc, x.metadata);
367
+ }
368
+ function encodeHttpResponseError(x) {
369
+ const bc = new bare.ByteCursor(
370
+ new Uint8Array(config.initialBufferLength),
371
+ config
372
+ );
373
+ writeHttpResponseError(bc, x);
374
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
375
+ }
376
+ function decodeHttpResponseError(bytes) {
377
+ const bc = new bare.ByteCursor(bytes, config);
378
+ const result = readHttpResponseError(bc);
379
+ if (bc.offset < bc.view.byteLength) {
380
+ throw new bare.BareError(bc.offset, "remaining bytes");
381
+ }
382
+ return result;
383
+ }
384
+ function readHttpResolveResponse(bc) {
385
+ return {
386
+ actorId: bare.readString(bc)
387
+ };
388
+ }
389
+ function writeHttpResolveResponse(bc, x) {
390
+ bare.writeString(bc, x.actorId);
391
+ }
392
+ function encodeHttpResolveResponse(x) {
393
+ const bc = new bare.ByteCursor(
394
+ new Uint8Array(config.initialBufferLength),
395
+ config
396
+ );
397
+ writeHttpResolveResponse(bc, x);
398
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
399
+ }
400
+ function decodeHttpResolveResponse(bytes) {
401
+ const bc = new bare.ByteCursor(bytes, config);
402
+ const result = readHttpResolveResponse(bc);
403
+ if (bc.offset < bc.view.byteLength) {
404
+ throw new bare.BareError(bc.offset, "remaining bytes");
405
+ }
406
+ return result;
407
+ }
408
+
409
+ // src/schemas/client-protocol/versioned.ts
410
+ var CURRENT_VERSION = 1;
411
+ var migrations = /* @__PURE__ */ new Map();
412
+ var TO_SERVER_VERSIONED = createVersionedDataHandler({
413
+ currentVersion: CURRENT_VERSION,
414
+ migrations,
415
+ serializeVersion: (data) => encodeToServer(data),
416
+ deserializeVersion: (bytes) => decodeToServer(bytes)
417
+ });
418
+ var TO_CLIENT_VERSIONED = createVersionedDataHandler({
419
+ currentVersion: CURRENT_VERSION,
420
+ migrations,
421
+ serializeVersion: (data) => encodeToClient(data),
422
+ deserializeVersion: (bytes) => decodeToClient(bytes)
423
+ });
424
+ var HTTP_ACTION_REQUEST_VERSIONED = createVersionedDataHandler({
425
+ currentVersion: CURRENT_VERSION,
426
+ migrations,
427
+ serializeVersion: (data) => encodeHttpActionRequest(data),
428
+ deserializeVersion: (bytes) => decodeHttpActionRequest(bytes)
429
+ });
430
+ var HTTP_ACTION_RESPONSE_VERSIONED = createVersionedDataHandler({
431
+ currentVersion: CURRENT_VERSION,
432
+ migrations,
433
+ serializeVersion: (data) => encodeHttpActionResponse(data),
434
+ deserializeVersion: (bytes) => decodeHttpActionResponse(bytes)
435
+ });
436
+ var HTTP_RESPONSE_ERROR_VERSIONED = createVersionedDataHandler({
437
+ currentVersion: CURRENT_VERSION,
438
+ migrations,
439
+ serializeVersion: (data) => encodeHttpResponseError(data),
440
+ deserializeVersion: (bytes) => decodeHttpResponseError(bytes)
441
+ });
442
+ var HTTP_RESOLVE_REQUEST_VERSIONED = createVersionedDataHandler({
443
+ currentVersion: CURRENT_VERSION,
444
+ migrations,
445
+ serializeVersion: (_) => new Uint8Array(),
446
+ deserializeVersion: (bytes) => null
447
+ });
448
+ var HTTP_RESOLVE_RESPONSE_VERSIONED = createVersionedDataHandler({
449
+ currentVersion: CURRENT_VERSION,
450
+ migrations,
451
+ serializeVersion: (data) => encodeHttpResolveResponse(data),
452
+ deserializeVersion: (bytes) => decodeHttpResolveResponse(bytes)
453
+ });
454
+
455
+ // src/actor/action.ts
456
+ var ActionContext = class {
457
+ /**
458
+ * Should not be called directly.
459
+ *
460
+ * @param actorContext - The actor context
461
+ * @param conn - The connection associated with the action
462
+ */
463
+ constructor(actorContext, conn) {
464
+ this.conn = conn;
465
+ this.#actorContext = actorContext;
466
+ }
467
+ #actorContext;
468
+ /**
469
+ * Get the actor state
470
+ */
471
+ get state() {
472
+ return this.#actorContext.state;
473
+ }
474
+ /**
475
+ * Get the actor variables
476
+ */
477
+ get vars() {
478
+ return this.#actorContext.vars;
479
+ }
480
+ /**
481
+ * Broadcasts an event to all connected clients.
482
+ */
483
+ broadcast(name, ...args) {
484
+ this.#actorContext.broadcast(name, ...args);
485
+ }
486
+ /**
487
+ * Gets the logger instance.
488
+ */
489
+ get log() {
490
+ return this.#actorContext.log;
491
+ }
492
+ /**
493
+ * Gets actor ID.
494
+ */
495
+ get actorId() {
496
+ return this.#actorContext.actorId;
497
+ }
498
+ /**
499
+ * Gets the actor name.
500
+ */
501
+ get name() {
502
+ return this.#actorContext.name;
503
+ }
504
+ /**
505
+ * Gets the actor key.
506
+ */
507
+ get key() {
508
+ return this.#actorContext.key;
509
+ }
510
+ /**
511
+ * Gets the region.
512
+ */
513
+ get region() {
514
+ return this.#actorContext.region;
515
+ }
516
+ /**
517
+ * Gets the scheduler.
518
+ */
519
+ get schedule() {
520
+ return this.#actorContext.schedule;
521
+ }
522
+ /**
523
+ * Gets the map of connections.
524
+ */
525
+ get conns() {
526
+ return this.#actorContext.conns;
527
+ }
528
+ /**
529
+ * Returns the client for the given registry.
530
+ */
531
+ client() {
532
+ return this.#actorContext.client();
533
+ }
534
+ /**
535
+ * @experimental
536
+ */
537
+ get db() {
538
+ return this.#actorContext.db;
539
+ }
540
+ /**
541
+ * Forces the state to get saved.
542
+ */
543
+ async saveState(opts) {
544
+ return this.#actorContext.saveState(opts);
545
+ }
546
+ /**
547
+ * Prevents the actor from sleeping until promise is complete.
548
+ */
549
+ waitUntil(promise) {
550
+ this.#actorContext.waitUntil(promise);
551
+ }
552
+ /**
553
+ * AbortSignal that fires when the actor is stopping.
554
+ */
555
+ get abortSignal() {
556
+ return this.#actorContext.abortSignal;
557
+ }
558
+ /**
559
+ * Forces the actor to sleep.
560
+ *
561
+ * Not supported on all drivers.
562
+ *
563
+ * @experimental
564
+ */
565
+ sleep() {
566
+ this.#actorContext.sleep();
567
+ }
568
+ };
569
+
570
+ // src/actor/protocol/old.ts
571
+ var TransportSchema = z.enum(["websocket", "sse"]);
572
+ function getValueLength(value) {
573
+ if (typeof value === "string") {
574
+ return value.length;
575
+ } else if (value instanceof Blob) {
576
+ return value.size;
577
+ } else if (value instanceof ArrayBuffer || value instanceof SharedArrayBuffer || value instanceof Uint8Array) {
578
+ return value.byteLength;
579
+ } else {
580
+ assertUnreachable(value);
581
+ }
582
+ }
583
+ async function inputDataToBuffer(data) {
584
+ if (typeof data === "string") {
585
+ return data;
586
+ } else if (data instanceof Blob) {
587
+ const arrayBuffer = await data.arrayBuffer();
588
+ return new Uint8Array(arrayBuffer);
589
+ } else if (data instanceof Uint8Array) {
590
+ return data;
591
+ } else if (data instanceof ArrayBuffer || data instanceof SharedArrayBuffer) {
592
+ return new Uint8Array(data);
593
+ } else {
594
+ throw new MalformedMessage();
595
+ }
596
+ }
597
+ async function parseMessage(value, opts) {
598
+ const length = getValueLength(value);
599
+ if (length > opts.maxIncomingMessageSize) {
600
+ throw new MessageTooLong();
601
+ }
602
+ let buffer = await inputDataToBuffer(value);
603
+ if (buffer instanceof Buffer) {
604
+ buffer = new Uint8Array(buffer);
605
+ }
606
+ return deserializeWithEncoding(opts.encoding, buffer, TO_SERVER_VERSIONED);
607
+ }
608
+ async function processMessage(message, actor, conn, handler) {
609
+ let actionId;
610
+ let actionName;
611
+ try {
612
+ if (message.body.tag === "ActionRequest") {
613
+ if (handler.onExecuteAction === void 0) {
614
+ throw new Unsupported("Action");
615
+ }
616
+ const { id, name, args: argsRaw } = message.body.val;
617
+ actionId = id;
618
+ actionName = name;
619
+ const args = cbor.decode(new Uint8Array(argsRaw));
620
+ actor.rLog.debug({
621
+ msg: "processing action request",
622
+ actionId: id,
623
+ actionName: name
624
+ });
625
+ const ctx = new ActionContext(
626
+ actor.actorContext,
627
+ conn
628
+ );
629
+ const output = await handler.onExecuteAction(ctx, name, args);
630
+ actor.rLog.debug({
631
+ msg: "sending action response",
632
+ actionId: id,
633
+ actionName: name,
634
+ outputType: typeof output,
635
+ isPromise: output instanceof Promise
636
+ });
637
+ conn._sendMessage(
638
+ new CachedSerializer(
639
+ {
640
+ body: {
641
+ tag: "ActionResponse",
642
+ val: {
643
+ id,
644
+ output: bufferToArrayBuffer(cbor.encode(output))
645
+ }
646
+ }
647
+ },
648
+ TO_CLIENT_VERSIONED
649
+ )
650
+ );
651
+ actor.rLog.debug({ msg: "action response sent", id, name });
652
+ } else if (message.body.tag === "SubscriptionRequest") {
653
+ if (handler.onSubscribe === void 0 || handler.onUnsubscribe === void 0) {
654
+ throw new Unsupported("Subscriptions");
655
+ }
656
+ const { eventName, subscribe } = message.body.val;
657
+ actor.rLog.debug({
658
+ msg: "processing subscription request",
659
+ eventName,
660
+ subscribe
661
+ });
662
+ if (subscribe) {
663
+ await handler.onSubscribe(eventName, conn);
664
+ } else {
665
+ await handler.onUnsubscribe(eventName, conn);
666
+ }
667
+ actor.rLog.debug({
668
+ msg: "subscription request completed",
669
+ eventName,
670
+ subscribe
671
+ });
672
+ } else {
673
+ assertUnreachable(message.body);
674
+ }
675
+ } catch (error) {
676
+ const { group, code, message: message2, metadata } = deconstructError(
677
+ error,
678
+ actor.rLog,
679
+ {
680
+ connectionId: conn.id,
681
+ actionId,
682
+ actionName
683
+ }
684
+ );
685
+ actor.rLog.debug({
686
+ msg: "sending error response",
687
+ actionId,
688
+ actionName,
689
+ code,
690
+ message: message2
691
+ });
692
+ conn._sendMessage(
693
+ new CachedSerializer(
694
+ {
695
+ body: {
696
+ tag: "Error",
697
+ val: {
698
+ group,
699
+ code,
700
+ message: message2,
701
+ metadata: bufferToArrayBuffer(cbor.encode(metadata)),
702
+ actionId: actionId ?? null
703
+ }
704
+ }
705
+ },
706
+ TO_CLIENT_VERSIONED
707
+ )
708
+ );
709
+ actor.rLog.debug({ msg: "error response sent", actionId, actionName });
710
+ }
711
+ }
712
+
713
+ // src/client/config.ts
714
+ var ClientConfigSchema = z2.object({
715
+ /** Configure serving the API */
716
+ api: z2.object({
717
+ host: z2.string().default("127.0.0.1"),
718
+ port: z2.number().default(6420)
719
+ }).default({}),
720
+ /** Endpoint to connect to the Rivet engine. Can be configured via RIVET_ENGINE env var. */
721
+ endpoint: z2.string().nullable().default(() => getEnvUniversal("RIVET_ENGINE") ?? null),
722
+ namespace: z2.string().default(() => getEnvUniversal("RIVET_NAMESPACE") ?? "default"),
723
+ runnerName: z2.string().default(() => getEnvUniversal("RIVET_RUNNER") ?? "rivetkit"),
724
+ encoding: EncodingSchema.default("bare"),
725
+ transport: TransportSchema.default("websocket"),
726
+ // This is a function to allow for lazy configuration of upgradeWebSocket on the
727
+ // fly. This is required since the dependencies that upgradeWebSocket
728
+ // (specifically Node.js) can sometimes only be specified after the router is
729
+ // created or must be imported async using `await import(...)`
730
+ getUpgradeWebSocket: z2.custom().optional()
731
+ });
732
+
733
+ // src/inspector/config.ts
734
+ import { z as z3 } from "zod";
735
+ var defaultTokenFn = () => {
736
+ const envToken = getEnvUniversal("RIVETKIT_INSPECTOR_TOKEN");
737
+ if (envToken) {
738
+ return envToken;
739
+ }
740
+ return "";
741
+ };
742
+ var defaultEnabled = () => {
743
+ return getEnvUniversal("NODE_ENV") !== "production" || !getEnvUniversal("RIVETKIT_INSPECTOR_DISABLE");
744
+ };
745
+ var defaultInspectorOrigins = [
746
+ "http://localhost:43708",
747
+ "http://localhost:43709",
748
+ "https://studio.rivet.gg",
749
+ "https://inspect.rivet.dev"
750
+ ];
751
+ var defaultCors = {
752
+ origin: (origin) => {
753
+ if (defaultInspectorOrigins.includes(origin) || origin.startsWith("https://") && origin.endsWith("rivet-dev.vercel.app")) {
754
+ return origin;
755
+ } else {
756
+ return null;
757
+ }
758
+ },
759
+ allowMethods: ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"],
760
+ allowHeaders: [
761
+ "Authorization",
762
+ "Content-Type",
763
+ "User-Agent",
764
+ "baggage",
765
+ "sentry-trace",
766
+ "x-rivet-actor",
767
+ "x-rivet-target"
768
+ ],
769
+ maxAge: 3600,
770
+ credentials: true
771
+ };
772
+ var InspectorConfigSchema = z3.object({
773
+ enabled: z3.boolean().optional().default(defaultEnabled),
774
+ /** CORS configuration for the router. Uses Hono's CORS middleware options. */
775
+ cors: z3.custom().optional().default(() => defaultCors),
776
+ /**
777
+ * Token used to access the Inspector.
778
+ */
779
+ token: z3.function().returns(z3.string()).optional().default(() => defaultTokenFn),
780
+ /**
781
+ * Default RivetKit server endpoint for Rivet Inspector to connect to. This should be the same endpoint as what you use for your Rivet client to connect to RivetKit.
782
+ *
783
+ * This is a convenience property just for printing out the inspector URL.
784
+ */
785
+ defaultEndpoint: z3.string().optional()
786
+ }).optional().default(() => ({
787
+ enabled: defaultEnabled(),
788
+ token: defaultTokenFn,
789
+ cors: defaultCors
790
+ }));
791
+
792
+ // src/registry/run-config.ts
793
+ var DriverConfigSchema = z4.object({
794
+ /** Machine-readable name to identify this driver by. */
795
+ name: z4.string(),
796
+ manager: z4.custom(),
797
+ actor: z4.custom()
798
+ });
799
+ var RunConfigSchema = ClientConfigSchema.extend({
800
+ driver: DriverConfigSchema.optional(),
801
+ /** CORS configuration for the router. Uses Hono's CORS middleware options. */
802
+ cors: z4.custom().optional(),
803
+ maxIncomingMessageSize: z4.number().optional().default(65536),
804
+ inspector: InspectorConfigSchema,
805
+ /** @experimental */
806
+ disableServer: z4.boolean().optional().default(false),
807
+ /** @experimental */
808
+ disableActorDriver: z4.boolean().optional().default(false),
809
+ /**
810
+ * @experimental
811
+ *
812
+ * Base path for the router. This is used to prefix all routes.
813
+ * For example, if the base path is `/api`, then the route `/actors` will be
814
+ * available at `/api/actors`.
815
+ */
816
+ basePath: z4.string().optional().default("/"),
817
+ /**
818
+ * @experimental
819
+ *
820
+ * Disable welcome message.
821
+ * */
822
+ noWelcome: z4.boolean().optional().default(false),
823
+ /**
824
+ * @experimental
825
+ * */
826
+ logging: z4.object({
827
+ baseLogger: z4.custom().optional(),
828
+ level: LogLevelSchema.optional()
829
+ }).optional().default({})
830
+ }).default({});
831
+
832
+ // src/driver-helpers/utils.ts
833
+ import * as cbor2 from "cbor-x";
834
+
835
+ // dist/schemas/actor-persist/v1.ts
836
+ import * as bare2 from "@bare-ts/lib";
837
+ var config2 = /* @__PURE__ */ bare2.Config({});
838
+ function readPersistedSubscription(bc) {
839
+ return {
840
+ eventName: bare2.readString(bc)
841
+ };
842
+ }
843
+ function writePersistedSubscription(bc, x) {
844
+ bare2.writeString(bc, x.eventName);
845
+ }
846
+ function read02(bc) {
847
+ const len = bare2.readUintSafe(bc);
848
+ if (len === 0) {
849
+ return [];
850
+ }
851
+ const result = [readPersistedSubscription(bc)];
852
+ for (let i = 1; i < len; i++) {
853
+ result[i] = readPersistedSubscription(bc);
854
+ }
855
+ return result;
856
+ }
857
+ function write02(bc, x) {
858
+ bare2.writeUintSafe(bc, x.length);
859
+ for (let i = 0; i < x.length; i++) {
860
+ writePersistedSubscription(bc, x[i]);
861
+ }
862
+ }
863
+ function readPersistedConnection(bc) {
864
+ return {
865
+ id: bare2.readString(bc),
866
+ token: bare2.readString(bc),
867
+ driver: bare2.readString(bc),
868
+ driverState: bare2.readData(bc),
869
+ parameters: bare2.readData(bc),
870
+ state: bare2.readData(bc),
871
+ subscriptions: read02(bc),
872
+ lastSeen: bare2.readU64(bc)
873
+ };
874
+ }
875
+ function writePersistedConnection(bc, x) {
876
+ bare2.writeString(bc, x.id);
877
+ bare2.writeString(bc, x.token);
878
+ bare2.writeString(bc, x.driver);
879
+ bare2.writeData(bc, x.driverState);
880
+ bare2.writeData(bc, x.parameters);
881
+ bare2.writeData(bc, x.state);
882
+ write02(bc, x.subscriptions);
883
+ bare2.writeU64(bc, x.lastSeen);
884
+ }
885
+ function read12(bc) {
886
+ return bare2.readBool(bc) ? bare2.readData(bc) : null;
887
+ }
888
+ function write12(bc, x) {
889
+ bare2.writeBool(bc, x !== null);
890
+ if (x !== null) {
891
+ bare2.writeData(bc, x);
892
+ }
893
+ }
894
+ function readGenericPersistedScheduleEvent(bc) {
895
+ return {
896
+ action: bare2.readString(bc),
897
+ args: read12(bc)
898
+ };
899
+ }
900
+ function writeGenericPersistedScheduleEvent(bc, x) {
901
+ bare2.writeString(bc, x.action);
902
+ write12(bc, x.args);
903
+ }
904
+ function readPersistedScheduleEventKind(bc) {
905
+ const offset = bc.offset;
906
+ const tag = bare2.readU8(bc);
907
+ switch (tag) {
908
+ case 0:
909
+ return { tag: "GenericPersistedScheduleEvent", val: readGenericPersistedScheduleEvent(bc) };
910
+ default: {
911
+ bc.offset = offset;
912
+ throw new bare2.BareError(offset, "invalid tag");
913
+ }
914
+ }
915
+ }
916
+ function writePersistedScheduleEventKind(bc, x) {
917
+ switch (x.tag) {
918
+ case "GenericPersistedScheduleEvent": {
919
+ bare2.writeU8(bc, 0);
920
+ writeGenericPersistedScheduleEvent(bc, x.val);
921
+ break;
922
+ }
923
+ }
924
+ }
925
+ function readPersistedScheduleEvent(bc) {
926
+ return {
927
+ eventId: bare2.readString(bc),
928
+ timestamp: bare2.readU64(bc),
929
+ kind: readPersistedScheduleEventKind(bc)
930
+ };
931
+ }
932
+ function writePersistedScheduleEvent(bc, x) {
933
+ bare2.writeString(bc, x.eventId);
934
+ bare2.writeU64(bc, x.timestamp);
935
+ writePersistedScheduleEventKind(bc, x.kind);
936
+ }
937
+ function read2(bc) {
938
+ const len = bare2.readUintSafe(bc);
939
+ if (len === 0) {
940
+ return [];
941
+ }
942
+ const result = [readPersistedConnection(bc)];
943
+ for (let i = 1; i < len; i++) {
944
+ result[i] = readPersistedConnection(bc);
945
+ }
946
+ return result;
947
+ }
948
+ function write2(bc, x) {
949
+ bare2.writeUintSafe(bc, x.length);
950
+ for (let i = 0; i < x.length; i++) {
951
+ writePersistedConnection(bc, x[i]);
952
+ }
953
+ }
954
+ function read3(bc) {
955
+ const len = bare2.readUintSafe(bc);
956
+ if (len === 0) {
957
+ return [];
958
+ }
959
+ const result = [readPersistedScheduleEvent(bc)];
960
+ for (let i = 1; i < len; i++) {
961
+ result[i] = readPersistedScheduleEvent(bc);
962
+ }
963
+ return result;
964
+ }
965
+ function write3(bc, x) {
966
+ bare2.writeUintSafe(bc, x.length);
967
+ for (let i = 0; i < x.length; i++) {
968
+ writePersistedScheduleEvent(bc, x[i]);
969
+ }
970
+ }
971
+ function readPersistedActor(bc) {
972
+ return {
973
+ input: read12(bc),
974
+ hasInitialized: bare2.readBool(bc),
975
+ state: bare2.readData(bc),
976
+ connections: read2(bc),
977
+ scheduledEvents: read3(bc)
978
+ };
979
+ }
980
+ function writePersistedActor(bc, x) {
981
+ write12(bc, x.input);
982
+ bare2.writeBool(bc, x.hasInitialized);
983
+ bare2.writeData(bc, x.state);
984
+ write2(bc, x.connections);
985
+ write3(bc, x.scheduledEvents);
986
+ }
987
+ function encodePersistedActor(x) {
988
+ const bc = new bare2.ByteCursor(
989
+ new Uint8Array(config2.initialBufferLength),
990
+ config2
991
+ );
992
+ writePersistedActor(bc, x);
993
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
994
+ }
995
+ function decodePersistedActor(bytes) {
996
+ const bc = new bare2.ByteCursor(bytes, config2);
997
+ const result = readPersistedActor(bc);
998
+ if (bc.offset < bc.view.byteLength) {
999
+ throw new bare2.BareError(bc.offset, "remaining bytes");
1000
+ }
1001
+ return result;
1002
+ }
1003
+
1004
+ // src/schemas/actor-persist/versioned.ts
1005
+ var CURRENT_VERSION2 = 1;
1006
+ var migrations2 = /* @__PURE__ */ new Map();
1007
+ var PERSISTED_ACTOR_VERSIONED = createVersionedDataHandler({
1008
+ currentVersion: CURRENT_VERSION2,
1009
+ migrations: migrations2,
1010
+ serializeVersion: (data) => encodePersistedActor(data),
1011
+ deserializeVersion: (bytes) => decodePersistedActor(bytes)
1012
+ });
1013
+
1014
+ // src/driver-helpers/utils.ts
1015
+ function serializeEmptyPersistData(input) {
1016
+ const persistData = {
1017
+ input: input !== void 0 ? bufferToArrayBuffer(cbor2.encode(input)) : null,
1018
+ hasInitialized: false,
1019
+ state: bufferToArrayBuffer(cbor2.encode(void 0)),
1020
+ connections: [],
1021
+ scheduledEvents: []
1022
+ };
1023
+ return PERSISTED_ACTOR_VERSIONED.serializeWithEmbeddedVersion(persistData);
1024
+ }
1025
+
1026
+ export {
1027
+ createVersionedDataHandler,
1028
+ TO_SERVER_VERSIONED,
1029
+ TO_CLIENT_VERSIONED,
1030
+ HTTP_ACTION_REQUEST_VERSIONED,
1031
+ HTTP_ACTION_RESPONSE_VERSIONED,
1032
+ HTTP_RESPONSE_ERROR_VERSIONED,
1033
+ PERSISTED_ACTOR_VERSIONED,
1034
+ ActionContext,
1035
+ inputDataToBuffer,
1036
+ parseMessage,
1037
+ processMessage,
1038
+ ClientConfigSchema,
1039
+ DriverConfigSchema,
1040
+ RunConfigSchema,
1041
+ serializeEmptyPersistData
1042
+ };
1043
+ //# sourceMappingURL=chunk-7OUKNSTU.js.map