rivetkit 2.0.29 → 2.0.30

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 (75) hide show
  1. package/dist/tsup/{chunk-7XZX3T4D.cjs → chunk-23EJLAOV.cjs} +6 -6
  2. package/dist/tsup/{chunk-7XZX3T4D.cjs.map → chunk-23EJLAOV.cjs.map} +1 -1
  3. package/dist/tsup/{chunk-UBBTSSAP.cjs → chunk-3WG6PXWE.cjs} +3 -3
  4. package/dist/tsup/{chunk-UBBTSSAP.cjs.map → chunk-3WG6PXWE.cjs.map} +1 -1
  5. package/dist/tsup/{chunk-QB7FJ2OK.cjs → chunk-46DWBVYE.cjs} +15 -15
  6. package/dist/tsup/{chunk-QB7FJ2OK.cjs.map → chunk-46DWBVYE.cjs.map} +1 -1
  7. package/dist/tsup/{chunk-5IE76QRF.js → chunk-DGSYEC34.js} +3 -3
  8. package/dist/tsup/{chunk-UENID7AK.cjs → chunk-DI7LJEYL.cjs} +6 -6
  9. package/dist/tsup/{chunk-UENID7AK.cjs.map → chunk-DI7LJEYL.cjs.map} +1 -1
  10. package/dist/tsup/{chunk-POJ4HHIO.js → chunk-DQH5K5TL.js} +3 -3
  11. package/dist/tsup/{chunk-EWQE7L3V.js → chunk-EOXUA7SX.js} +2 -2
  12. package/dist/tsup/{chunk-MZCRC64W.cjs → chunk-F4CRQFYG.cjs} +17 -17
  13. package/dist/tsup/{chunk-MZCRC64W.cjs.map → chunk-F4CRQFYG.cjs.map} +1 -1
  14. package/dist/tsup/{chunk-3RJG3PC3.cjs → chunk-FVSTM7QK.cjs} +3 -3
  15. package/dist/tsup/{chunk-3RJG3PC3.cjs.map → chunk-FVSTM7QK.cjs.map} +1 -1
  16. package/dist/tsup/{chunk-YPHTAWZP.js → chunk-GOC4GSPT.js} +15 -15
  17. package/dist/tsup/{chunk-2LOXTB3G.js → chunk-HPIRVETT.js} +2 -2
  18. package/dist/tsup/{chunk-UJ6ETM45.js → chunk-K2UD42XA.js} +2 -2
  19. package/dist/tsup/{chunk-7DSWCOGX.cjs → chunk-NYQJHQHK.cjs} +169 -169
  20. package/dist/tsup/{chunk-7DSWCOGX.cjs.map → chunk-NYQJHQHK.cjs.map} +1 -1
  21. package/dist/tsup/{chunk-WXLDDJCI.js → chunk-OI6FEIRD.js} +2 -2
  22. package/dist/tsup/{chunk-WXLDDJCI.js.map → chunk-OI6FEIRD.js.map} +1 -1
  23. package/dist/tsup/{chunk-HK6QNZX3.cjs → chunk-REMOXAIW.cjs} +2 -2
  24. package/dist/tsup/{chunk-HK6QNZX3.cjs.map → chunk-REMOXAIW.cjs.map} +1 -1
  25. package/dist/tsup/{chunk-KMOA3GQ2.js → chunk-SLAUR4QB.js} +2 -2
  26. package/dist/tsup/{chunk-72P7NQS4.cjs → chunk-VROCBPWT.cjs} +10 -10
  27. package/dist/tsup/{chunk-72P7NQS4.cjs.map → chunk-VROCBPWT.cjs.map} +1 -1
  28. package/dist/tsup/{chunk-FBPZAU3N.js → chunk-YBOQOQZB.js} +14 -14
  29. package/dist/tsup/{chunk-H27UUFLD.js → chunk-Z33UBLLH.js} +9 -9
  30. package/dist/tsup/{chunk-MZ3SRIPM.cjs → chunk-ZUJRXXQC.cjs} +199 -199
  31. package/dist/tsup/{chunk-MZ3SRIPM.cjs.map → chunk-ZUJRXXQC.cjs.map} +1 -1
  32. package/dist/tsup/client/mod.cjs +8 -8
  33. package/dist/tsup/client/mod.d.cts +2 -2
  34. package/dist/tsup/client/mod.d.ts +2 -2
  35. package/dist/tsup/client/mod.js +7 -7
  36. package/dist/tsup/common/log.cjs +2 -2
  37. package/dist/tsup/common/log.js +1 -1
  38. package/dist/tsup/common/websocket.cjs +3 -3
  39. package/dist/tsup/common/websocket.js +2 -2
  40. package/dist/tsup/{config-DELCUYts.d.ts → config-Cs3B9xN9.d.ts} +1 -1
  41. package/dist/tsup/{config-BEu-kmmR.d.cts → config-Dj5nTCrh.d.cts} +1 -1
  42. package/dist/tsup/driver-helpers/mod.cjs +4 -4
  43. package/dist/tsup/driver-helpers/mod.d.cts +1 -1
  44. package/dist/tsup/driver-helpers/mod.d.ts +1 -1
  45. package/dist/tsup/driver-helpers/mod.js +3 -3
  46. package/dist/tsup/driver-test-suite/mod.cjs +71 -71
  47. package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
  48. package/dist/tsup/driver-test-suite/mod.d.cts +1 -1
  49. package/dist/tsup/driver-test-suite/mod.d.ts +1 -1
  50. package/dist/tsup/driver-test-suite/mod.js +16 -16
  51. package/dist/tsup/inspector/mod.cjs +5 -5
  52. package/dist/tsup/inspector/mod.d.cts +2 -2
  53. package/dist/tsup/inspector/mod.d.ts +2 -2
  54. package/dist/tsup/inspector/mod.js +4 -4
  55. package/dist/tsup/mod.cjs +9 -9
  56. package/dist/tsup/mod.cjs.map +1 -1
  57. package/dist/tsup/mod.d.cts +2 -2
  58. package/dist/tsup/mod.d.ts +2 -2
  59. package/dist/tsup/mod.js +8 -8
  60. package/dist/tsup/test/mod.cjs +11 -11
  61. package/dist/tsup/test/mod.d.cts +1 -1
  62. package/dist/tsup/test/mod.d.ts +1 -1
  63. package/dist/tsup/test/mod.js +10 -10
  64. package/dist/tsup/utils.cjs +2 -2
  65. package/dist/tsup/utils.js +1 -1
  66. package/package.json +2 -2
  67. /package/dist/tsup/{chunk-5IE76QRF.js.map → chunk-DGSYEC34.js.map} +0 -0
  68. /package/dist/tsup/{chunk-POJ4HHIO.js.map → chunk-DQH5K5TL.js.map} +0 -0
  69. /package/dist/tsup/{chunk-EWQE7L3V.js.map → chunk-EOXUA7SX.js.map} +0 -0
  70. /package/dist/tsup/{chunk-YPHTAWZP.js.map → chunk-GOC4GSPT.js.map} +0 -0
  71. /package/dist/tsup/{chunk-2LOXTB3G.js.map → chunk-HPIRVETT.js.map} +0 -0
  72. /package/dist/tsup/{chunk-UJ6ETM45.js.map → chunk-K2UD42XA.js.map} +0 -0
  73. /package/dist/tsup/{chunk-KMOA3GQ2.js.map → chunk-SLAUR4QB.js.map} +0 -0
  74. /package/dist/tsup/{chunk-FBPZAU3N.js.map → chunk-YBOQOQZB.js.map} +0 -0
  75. /package/dist/tsup/{chunk-H27UUFLD.js.map → chunk-Z33UBLLH.js.map} +0 -0
@@ -1,14 +1,14 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
3
 
4
- var _chunkHK6QNZX3cjs = require('./chunk-HK6QNZX3.cjs');
4
+ var _chunkREMOXAIWcjs = require('./chunk-REMOXAIW.cjs');
5
5
 
6
6
 
7
7
  var _chunkMAQSR26Xcjs = require('./chunk-MAQSR26X.cjs');
8
8
 
9
9
  // src/actor/log.ts
10
10
  function loggerWithoutContext() {
11
- return _chunkHK6QNZX3cjs.getLogger.call(void 0, "actor-runtime");
11
+ return _chunkREMOXAIWcjs.getLogger.call(void 0, "actor-runtime");
12
12
  }
13
13
 
14
14
  // src/actor/utils.ts
@@ -225,7 +225,7 @@ function contentTypeForEncoding(encoding) {
225
225
  } else if (encoding === "cbor" || encoding === "bare") {
226
226
  return "application/octet-stream";
227
227
  } else {
228
- _chunkHK6QNZX3cjs.assertUnreachable.call(void 0, encoding);
228
+ _chunkREMOXAIWcjs.assertUnreachable.call(void 0, encoding);
229
229
  }
230
230
  }
231
231
  function serializeWithEncoding(encoding, value, versionedDataHandler, version, zodSchema, toJson, toBare) {
@@ -252,7 +252,7 @@ function serializeWithEncoding(encoding, value, versionedDataHandler, version, z
252
252
  version
253
253
  );
254
254
  } else {
255
- _chunkHK6QNZX3cjs.assertUnreachable.call(void 0, encoding);
255
+ _chunkREMOXAIWcjs.assertUnreachable.call(void 0, encoding);
256
256
  }
257
257
  }
258
258
  function deserializeWithEncoding(encoding, buffer, versionedDataHandler, zodSchema, fromJson, fromBare) {
@@ -288,7 +288,7 @@ function deserializeWithEncoding(encoding, buffer, versionedDataHandler, zodSche
288
288
  const bareValue = versionedDataHandler.deserializeWithEmbeddedVersion(buffer);
289
289
  return fromBare(bareValue);
290
290
  } else {
291
- _chunkHK6QNZX3cjs.assertUnreachable.call(void 0, encoding);
291
+ _chunkREMOXAIWcjs.assertUnreachable.call(void 0, encoding);
292
292
  }
293
293
  }
294
294
 
@@ -327,4 +327,4 @@ function deserializeWithEncoding(encoding, buffer, versionedDataHandler, zodSche
327
327
 
328
328
 
329
329
  exports.uint8ArrayToBase64 = uint8ArrayToBase64; exports.contentTypeForEncoding = contentTypeForEncoding; exports.serializeWithEncoding = serializeWithEncoding; exports.deserializeWithEncoding = deserializeWithEncoding; exports.loggerWithoutContext = loggerWithoutContext; exports.assertUnreachable = assertUnreachable2; exports.DeadlineError = DeadlineError; exports.deadline = deadline; exports.generateSecureToken = generateSecureToken; exports.generateRandomString = generateRandomString; exports.isStatePath = isStatePath; exports.isConnStatePath = isConnStatePath; exports.EncodingSchema = EncodingSchema; exports.CachedSerializer = CachedSerializer; exports.jsonStringifyCompat = jsonStringifyCompat; exports.PATH_CONNECT = PATH_CONNECT; exports.PATH_WEBSOCKET_BASE = PATH_WEBSOCKET_BASE; exports.PATH_WEBSOCKET_PREFIX = PATH_WEBSOCKET_PREFIX; exports.PATH_INSPECTOR_CONNECT = PATH_INSPECTOR_CONNECT; exports.HEADER_ACTOR_QUERY = HEADER_ACTOR_QUERY; exports.HEADER_ENCODING = HEADER_ENCODING; exports.HEADER_CONN_PARAMS = HEADER_CONN_PARAMS; exports.HEADER_ACTOR_ID = HEADER_ACTOR_ID; exports.HEADER_RIVET_TOKEN = HEADER_RIVET_TOKEN; exports.HEADER_RIVET_TARGET = HEADER_RIVET_TARGET; exports.HEADER_RIVET_ACTOR = HEADER_RIVET_ACTOR; exports.WS_PROTOCOL_STANDARD = WS_PROTOCOL_STANDARD; exports.WS_PROTOCOL_TARGET = WS_PROTOCOL_TARGET; exports.WS_PROTOCOL_ACTOR = WS_PROTOCOL_ACTOR; exports.WS_PROTOCOL_ENCODING = WS_PROTOCOL_ENCODING; exports.WS_PROTOCOL_CONN_PARAMS = WS_PROTOCOL_CONN_PARAMS; exports.WS_TEST_PROTOCOL_PATH = WS_TEST_PROTOCOL_PATH; exports.ALLOWED_PUBLIC_HEADERS = ALLOWED_PUBLIC_HEADERS;
330
- //# sourceMappingURL=chunk-7XZX3T4D.cjs.map
330
+ //# sourceMappingURL=chunk-23EJLAOV.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-7XZX3T4D.cjs","../../src/actor/log.ts","../../src/actor/utils.ts","../../src/common/actor-router-consts.ts","../../src/serde.ts","../../src/actor/protocol/serde.ts"],"names":["assertUnreachable"],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACLO,SAAS,oBAAA,CAAA,EAAuB;AACtC,EAAA,OAAO,yCAAA,eAAyB,CAAA;AACjC;ADOA;AACA;AEVO,SAASA,kBAAAA,CAAkB,CAAA,EAAiB;AAClD,EAAA,oBAAA,CAAqB,CAAA,CAAE,KAAA,CAAM;AAAA,IAC5B,GAAA,EAAK,aAAA;AAAA,IACL,KAAA,EAAO,CAAA,EAAA;AACA,IAAA;AACP,EAAA;AACgB,EAAA;AAClB;AA+Ba;AACZ,EAAA;AACO,IAAA;AACP,EAAA;AACD;AAEgB;AACT,EAAA;AACA,EAAA;AAGA,EAAA;AAEC,EAAA;AACN,IAAA;AACI,IAAA;AACH,MAAA;AACA,IAAA;AACC,EAAA;AACF,IAAA;AACA,EAAA;AACF;AAwBgB;AACT,EAAA;AACC,EAAA;AAEA,EAAA;AAIR;AAEgB;AACT,EAAA;AAEF,EAAA;AACK,EAAA;AACF,IAAA;AACN,IAAA;AACD,EAAA;AACO,EAAA;AACR;AAKgB;AACR,EAAA;AACR;AAKgB;AACL,EAAA;AACF,IAAA;AACR,EAAA;AACM,EAAA;AACF,EAAA;AACI,IAAA;AACR,EAAA;AACM,EAAA;AAEC,EAAA;AACR;AF5DY;AACA;AGlEC;AACA;AACA;AACA;AAGA;AAEA;AAGA;AAEA;AAEA;AAGA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AAIA;AAOA;AACZ,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACD;AH+CY;AACA;AIrGA;AACL;AJuGK;AACA;AKxGH;AAaI;AAUA;AACZ,EAAA;AACS,EAAA;AACT,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AAEA,EAAA;AAQM,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACN,EAAA;AAEW,EAAA;AACH,IAAA;AACR,EAAA;AAEiB,EAAA;AACV,IAAA;AACF,IAAA;AACH,MAAA;AACM,IAAA;AACA,MAAA;AACL,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACD,MAAA;AACK,MAAA;AACL,MAAA;AACD,IAAA;AACD,EAAA;AACD;AA8CS;AACJ,EAAA;AACE,EAAA;AACG,EAAA;AACR,IAAA;AACD,EAAA;AACO,EAAA;AACR;AAES;AACF,EAAA;AACC,EAAA;AACR;AAeS;AAEJ,EAAA;AACI,IAAA;AACR,EAAA;AAGM,EAAA;AACA,EAAA;AACA,EAAA;AACG,EAAA;AACD,IAAA;AACR,EAAA;AACO,EAAA;AACR;AAES;AACD,EAAA;AACR;AAGgB;AACR,EAAA;AACF,IAAA;AACH,MAAA;AACD,IAAA;AACC,MAAA;AACD,IAAA;AACC,MAAA;AACD,IAAA;AAIC,IAAA;AAKA,MAAA;AACD,IAAA;AAEO,IAAA;AACP,EAAA;AACF;AAGgB;AACR,EAAA;AAGL,IAAA;AAMI,MAAA;AACH,QAAA;AACD,MAAA;AACC,QAAA;AACD,MAAA;AACC,QAAA;AACD,MAAA;AAGI,MAAA;AACH,QAAA;AACD,MAAA;AAGM,MAAA;AACL,QAAA;AACD,MAAA;AACD,IAAA;AAEO,IAAA;AACP,EAAA;AACF;ALbY;AACA;AIzMI;AAEX,EAAA;AACI,IAAA;AACR,EAAA;AAGI,EAAA;AACE,EAAA;AACG,EAAA;AACR,IAAA;AACD,EAAA;AACO,EAAA;AACR;AAYgB;AACX,EAAA;AACI,IAAA;AACR,EAAA;AACQ,IAAA;AACD,EAAA;AACN,IAAA;AACD,EAAA;AACD;AAcgB;AASX,EAAA;AACG,IAAA;AACA,IAAA;AACC,IAAA;AACR,EAAA;AACO,IAAA;AACA,IAAA;AACM,IAAA;AACb,EAAA;AACM,IAAA;AACE,MAAA;AACL,QAAA;AACD,MAAA;AACD,IAAA;AACI,IAAA;AACG,MAAA;AACP,IAAA;AACM,IAAA;AACC,IAAA;AACN,MAAA;AACA,MAAA;AACD,IAAA;AACM,EAAA;AACN,IAAA;AACD,EAAA;AACD;AAEgB;AAQX,EAAA;AACC,IAAA;AACA,IAAA;AACH,MAAA;AACM,IAAA;AACA,MAAA;AACA,MAAA;AACN,MAAA;AACD,IAAA;AACM,IAAA;AACC,IAAA;AACR,EAAA;AACC,IAAA;AACC,MAAA;AACA,MAAA;AACD,IAAA;AAEM,IAAA;AAEA,IAAA;AAEC,IAAA;AACR,EAAA;AACC,IAAA;AACC,MAAA;AACA,MAAA;AACD,IAAA;AACK,IAAA;AACE,MAAA;AACL,QAAA;AACD,MAAA;AACD,IAAA;AACM,IAAA;AAEC,IAAA;AACD,EAAA;AACN,IAAA;AACD,EAAA;AACD;AJ4JY;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-7XZX3T4D.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\n\n/** Prever to use ActorInstance.rlog child logger. This does not provide context in the log, should only be used as a last resort if you cannot pass the actor's child logger. */\nexport function loggerWithoutContext() {\n\treturn getLogger(\"actor-runtime\");\n}\n","import * as errors from \"./errors\";\nimport { loggerWithoutContext } from \"./log\";\n\nexport function assertUnreachable(x: never): never {\n\tloggerWithoutContext().error({\n\t\tmsg: \"unreachable\",\n\t\tvalue: `${x}`,\n\t\tstack: new Error().stack,\n\t});\n\tthrow new errors.Unreachable(x);\n}\n\nexport const throttle = <\n\t// biome-ignore lint/suspicious/noExplicitAny: we want to allow any function\n\tFn extends (...args: any) => any,\n>(\n\tfn: Fn,\n\tdelay: number,\n) => {\n\tlet lastRan = false;\n\tlet lastArgs: Parameters<Fn> | null = null;\n\n\treturn (...args: Parameters<Fn>) => {\n\t\tif (!lastRan) {\n\t\t\tfn.apply(this, args);\n\t\t\tlastRan = true;\n\t\t\tconst timer = () =>\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tlastRan = false;\n\t\t\t\t\tif (lastArgs) {\n\t\t\t\t\t\tfn.apply(this, lastArgs);\n\t\t\t\t\t\tlastRan = true;\n\t\t\t\t\t\tlastArgs = null;\n\t\t\t\t\t\ttimer();\n\t\t\t\t\t}\n\t\t\t\t}, delay);\n\t\t\ttimer();\n\t\t} else lastArgs = args;\n\t};\n};\n\nexport class DeadlineError extends Error {\n\tconstructor() {\n\t\tsuper(\"Promise did not complete before deadline.\");\n\t}\n}\n\nexport function deadline<T>(promise: Promise<T>, timeout: number): Promise<T> {\n\tconst controller = new AbortController();\n\tconst signal = controller.signal;\n\n\t// Set a timeout to abort the operation\n\tconst timeoutId = setTimeout(() => controller.abort(), timeout);\n\n\treturn Promise.race<T>([\n\t\tpromise,\n\t\tnew Promise<T>((_, reject) => {\n\t\t\tsignal.addEventListener(\"abort\", () => reject(new DeadlineError()));\n\t\t}),\n\t]).finally(() => {\n\t\tclearTimeout(timeoutId);\n\t});\n}\n\nexport class Lock<T> {\n\tprivate _locked = false;\n\tprivate _waiting: Array<() => void> = [];\n\n\tconstructor(private _value: T) {}\n\n\tasync lock(fn: (value: T) => Promise<void>): Promise<void> {\n\t\tif (this._locked) {\n\t\t\tawait new Promise<void>((resolve) => this._waiting.push(resolve));\n\t\t}\n\t\tthis._locked = true;\n\n\t\ttry {\n\t\t\tawait fn(this._value);\n\t\t} finally {\n\t\t\tthis._locked = false;\n\t\t\tconst next = this._waiting.shift();\n\t\t\tif (next) next();\n\t\t}\n\t}\n}\n\nexport function generateSecureToken(length = 32) {\n\tconst array = new Uint8Array(length);\n\tcrypto.getRandomValues(array);\n\t// Replace base64 chars that are not URL safe with URL-safe chars and strip padding\n\treturn btoa(String.fromCharCode(...array))\n\t\t.replace(/\\+/g, \"-\")\n\t\t.replace(/\\//g, \"_\")\n\t\t.replace(/=/g, \"\");\n}\n\nexport function generateRandomString(length = 32) {\n\tconst characters =\n\t\t\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n\tlet result = \"\";\n\tfor (let i = 0; i < length; i++) {\n\t\tconst randomIndex = Math.floor(Math.random() * characters.length);\n\t\tresult += characters[randomIndex];\n\t}\n\treturn result;\n}\n\n/**\n * Checks if a path is an actor state path within the persisted actor data.\n */\nexport function isStatePath(path: string): boolean {\n\treturn path === \"state\" || path.startsWith(\"state.\");\n}\n\n/**\n * Checks if a path is a connection state path within the persisted actor data.\n */\nexport function isConnStatePath(path: string): boolean {\n\tif (!path.startsWith(\"connections.\")) {\n\t\treturn false;\n\t}\n\tconst stateIndex = path.indexOf(\".state\", 12); // Start after \"connections.\"\n\tif (stateIndex === -1) {\n\t\treturn false;\n\t}\n\tconst afterState = stateIndex + 6; // \".state\".length = 6\n\t// Check if \".state\" is followed by end of string or \".\"\n\treturn path.length === afterState || path[afterState] === \".\";\n}\n","// NOTE: This is in a separate file from the router since it needs to be shared between the client & the server. If this was in the router file, the client would end up importing the *entire* actor router and tree shaking would not work.\n\n// MARK: Paths\nexport const PATH_CONNECT = \"/connect\";\nexport const PATH_WEBSOCKET_BASE = \"/websocket\";\nexport const PATH_WEBSOCKET_PREFIX = \"/websocket/\";\nexport const PATH_INSPECTOR_CONNECT = \"/inspector/connect\";\n\n// MARK: Headers\nexport const HEADER_ACTOR_QUERY = \"x-rivet-query\";\n\nexport const HEADER_ENCODING = \"x-rivet-encoding\";\n\n// IMPORTANT: Params must be in headers or in an E2EE part of the request (i.e. NOT the URL or query string) in order to ensure that tokens can be securely passed in params.\nexport const HEADER_CONN_PARAMS = \"x-rivet-conn-params\";\n\nexport const HEADER_ACTOR_ID = \"x-rivet-actor\";\n\nexport const HEADER_RIVET_TOKEN = \"x-rivet-token\";\n\n// MARK: Manager Gateway Headers\nexport const HEADER_RIVET_TARGET = \"x-rivet-target\";\nexport const HEADER_RIVET_ACTOR = \"x-rivet-actor\";\nexport const HEADER_RIVET_NAMESPACE = \"x-rivet-namespace\";\n\n// MARK: WebSocket Protocol Prefixes\n/** Some servers (such as node-ws & Cloudflare) require explicitly match a certain WebSocket protocol. This gives us a static protocol to match against. */\nexport const WS_PROTOCOL_STANDARD = \"rivet\";\nexport const WS_PROTOCOL_TARGET = \"rivet_target.\";\nexport const WS_PROTOCOL_ACTOR = \"rivet_actor.\";\nexport const WS_PROTOCOL_ENCODING = \"rivet_encoding.\";\nexport const WS_PROTOCOL_CONN_PARAMS = \"rivet_conn_params.\";\nexport const WS_PROTOCOL_TOKEN = \"rivet_token.\";\n\n// MARK: WebSocket Inline Test Protocol Prefixes\nexport const WS_TEST_PROTOCOL_PATH = \"test_path.\";\n\n/**\n * Headers that publics can send from public clients.\n *\n * Used for CORS.\n **/\nexport const ALLOWED_PUBLIC_HEADERS = [\n\t\"Content-Type\",\n\t\"User-Agent\",\n\tHEADER_ACTOR_QUERY,\n\tHEADER_ENCODING,\n\tHEADER_CONN_PARAMS,\n\tHEADER_ACTOR_ID,\n\tHEADER_RIVET_TARGET,\n\tHEADER_RIVET_ACTOR,\n\tHEADER_RIVET_NAMESPACE,\n\tHEADER_RIVET_TOKEN,\n];\n","import * as cbor from \"cbor-x\";\nimport invariant from \"invariant\";\nimport type { z } from \"zod\";\nimport { assertUnreachable } from \"@/common/utils\";\nimport type { VersionedDataHandler } from \"vbare\";\nimport type { Encoding } from \"@/mod\";\nimport { jsonParseCompat, jsonStringifyCompat } from \"./actor/protocol/serde\";\n\nexport function uint8ArrayToBase64(uint8Array: Uint8Array): string {\n\t// Check if Buffer is available (Node.js)\n\tif (typeof Buffer !== \"undefined\") {\n\t\treturn Buffer.from(uint8Array).toString(\"base64\");\n\t}\n\n\t// Browser environment - use btoa\n\tlet binary = \"\";\n\tconst len = uint8Array.byteLength;\n\tfor (let i = 0; i < len; i++) {\n\t\tbinary += String.fromCharCode(uint8Array[i]);\n\t}\n\treturn btoa(binary);\n}\n\nexport function encodingIsBinary(encoding: Encoding): boolean {\n\tif (encoding === \"json\") {\n\t\treturn false;\n\t} else if (encoding === \"cbor\" || encoding === \"bare\") {\n\t\treturn true;\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function contentTypeForEncoding(encoding: Encoding): string {\n\tif (encoding === \"json\") {\n\t\treturn \"application/json\";\n\t} else if (encoding === \"cbor\" || encoding === \"bare\") {\n\t\treturn \"application/octet-stream\";\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function wsBinaryTypeForEncoding(\n\tencoding: Encoding,\n): \"arraybuffer\" | \"blob\" {\n\tif (encoding === \"json\") {\n\t\treturn \"blob\";\n\t} else if (encoding === \"cbor\" || encoding === \"bare\") {\n\t\treturn \"arraybuffer\";\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function serializeWithEncoding<TBare, TJson, T = TBare>(\n\tencoding: Encoding,\n\tvalue: T,\n\tversionedDataHandler: VersionedDataHandler<TBare> | undefined,\n\tversion: number | undefined,\n\tzodSchema: z.ZodType<TJson>,\n\ttoJson: (value: T) => TJson,\n\ttoBare: (value: T) => TBare,\n): Uint8Array | string {\n\tif (encoding === \"json\") {\n\t\tconst jsonValue = toJson(value);\n\t\tconst validated = zodSchema.parse(jsonValue);\n\t\treturn jsonStringifyCompat(validated);\n\t} else if (encoding === \"cbor\") {\n\t\tconst jsonValue = toJson(value);\n\t\tconst validated = zodSchema.parse(jsonValue);\n\t\treturn cbor.encode(validated);\n\t} else if (encoding === \"bare\") {\n\t\tif (!versionedDataHandler) {\n\t\t\tthrow new Error(\n\t\t\t\t\"VersionedDataHandler is required for 'bare' encoding\",\n\t\t\t);\n\t\t}\n\t\tif (version === undefined) {\n\t\t\tthrow new Error(\"version is required for 'bare' encoding\");\n\t\t}\n\t\tconst bareValue = toBare(value);\n\t\treturn versionedDataHandler.serializeWithEmbeddedVersion(\n\t\t\tbareValue,\n\t\t\tversion,\n\t\t);\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function deserializeWithEncoding<TBare, TJson, T = TBare>(\n\tencoding: Encoding,\n\tbuffer: Uint8Array | string,\n\tversionedDataHandler: VersionedDataHandler<TBare> | undefined,\n\tzodSchema: z.ZodType<TJson>,\n\tfromJson: (value: TJson) => T,\n\tfromBare: (value: TBare) => T,\n): T {\n\tif (encoding === \"json\") {\n\t\tlet parsed: unknown;\n\t\tif (typeof buffer === \"string\") {\n\t\t\tparsed = jsonParseCompat(buffer);\n\t\t} else {\n\t\t\tconst decoder = new TextDecoder(\"utf-8\");\n\t\t\tconst jsonString = decoder.decode(buffer);\n\t\t\tparsed = jsonParseCompat(jsonString);\n\t\t}\n\t\tconst validated = zodSchema.parse(parsed);\n\t\treturn fromJson(validated);\n\t} else if (encoding === \"cbor\") {\n\t\tinvariant(\n\t\t\ttypeof buffer !== \"string\",\n\t\t\t\"buffer cannot be string for cbor encoding\",\n\t\t);\n\t\t// Decode CBOR to get JavaScript values (similar to JSON.parse)\n\t\tconst decoded: unknown = cbor.decode(buffer);\n\t\t// Validate with Zod schema (CBOR produces same structure as JSON)\n\t\tconst validated = zodSchema.parse(decoded);\n\t\t// CBOR decoding produces JS objects, use fromJson\n\t\treturn fromJson(validated);\n\t} else if (encoding === \"bare\") {\n\t\tinvariant(\n\t\t\ttypeof buffer !== \"string\",\n\t\t\t\"buffer cannot be string for bare encoding\",\n\t\t);\n\t\tif (!versionedDataHandler) {\n\t\t\tthrow new Error(\n\t\t\t\t\"VersionedDataHandler is required for 'bare' encoding\",\n\t\t\t);\n\t\t}\n\t\tconst bareValue =\n\t\t\tversionedDataHandler.deserializeWithEmbeddedVersion(buffer);\n\t\treturn fromBare(bareValue);\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n","import * as cbor from \"cbor-x\";\nimport { z } from \"zod\";\nimport * as errors from \"@/actor/errors\";\nimport type { VersionedDataHandler } from \"vbare\";\nimport { serializeWithEncoding } from \"@/serde\";\nimport { loggerWithoutContext } from \"../log\";\nimport { assertUnreachable } from \"../utils\";\n\n/** Data that can be deserialized. */\nexport type InputData = string | Buffer | Blob | ArrayBufferLike | Uint8Array;\n\n/** Data that's been serialized. */\nexport type OutputData = string | Uint8Array;\n\nexport const EncodingSchema = z.enum([\"json\", \"cbor\", \"bare\"]);\n\n/**\n * Encoding used to communicate between the client & actor.\n */\nexport type Encoding = z.infer<typeof EncodingSchema>;\n\n/**\n * Helper class that helps serialize data without re-serializing for the same encoding.\n */\nexport class CachedSerializer<TBare, TJson, T = TBare> {\n\t#data: T;\n\t#cache = new Map<Encoding, OutputData>();\n\t#versionedDataHandler: VersionedDataHandler<TBare>;\n\t#version: number;\n\t#zodSchema: z.ZodType<TJson>;\n\t#toJson: (value: T) => TJson;\n\t#toBare: (value: T) => TBare;\n\n\tconstructor(\n\t\tdata: T,\n\t\tversionedDataHandler: VersionedDataHandler<TBare>,\n\t\tversion: number,\n\t\tzodSchema: z.ZodType<TJson>,\n\t\ttoJson: (value: T) => TJson,\n\t\ttoBare: (value: T) => TBare,\n\t) {\n\t\tthis.#data = data;\n\t\tthis.#versionedDataHandler = versionedDataHandler;\n\t\tthis.#version = version;\n\t\tthis.#zodSchema = zodSchema;\n\t\tthis.#toJson = toJson;\n\t\tthis.#toBare = toBare;\n\t}\n\n\tpublic get rawData(): T {\n\t\treturn this.#data;\n\t}\n\n\tpublic serialize(encoding: Encoding): OutputData {\n\t\tconst cached = this.#cache.get(encoding);\n\t\tif (cached) {\n\t\t\treturn cached;\n\t\t} else {\n\t\t\tconst serialized = serializeWithEncoding(\n\t\t\t\tencoding,\n\t\t\t\tthis.#data,\n\t\t\t\tthis.#versionedDataHandler,\n\t\t\t\tthis.#version,\n\t\t\t\tthis.#zodSchema,\n\t\t\t\tthis.#toJson,\n\t\t\t\tthis.#toBare,\n\t\t\t);\n\t\t\tthis.#cache.set(encoding, serialized);\n\t\t\treturn serialized;\n\t\t}\n\t}\n}\n\n///**\n// * Use `CachedSerializer` if serializing the same data repeatedly.\n// */\n//export function serialize<T>(value: T, encoding: Encoding): OutputData {\n//\tif (encoding === \"json\") {\n//\t\treturn JSON.stringify(value);\n//\t} else if (encoding === \"cbor\") {\n//\t\t// TODO: Remove this hack, but cbor-x can't handle anything extra in data structures\n//\t\tconst cleanValue = JSON.parse(JSON.stringify(value));\n//\t\treturn cbor.encode(cleanValue);\n//\t} else {\n//\t\tassertUnreachable(encoding);\n//\t}\n//}\n//\n//export async function deserialize(data: InputData, encoding: Encoding) {\n//\tif (encoding === \"json\") {\n//\t\tif (typeof data !== \"string\") {\n//\t\t\tlogger().warn(\"received non-string for json parse\");\n//\t\t\tthrow new errors.MalformedMessage();\n//\t\t} else {\n//\t\t\treturn JSON.parse(data);\n//\t\t}\n//\t} else if (encoding === \"cbor\") {\n//\t\tif (data instanceof Blob) {\n//\t\t\tconst arrayBuffer = await data.arrayBuffer();\n//\t\t\treturn cbor.decode(new Uint8Array(arrayBuffer));\n//\t\t} else if (data instanceof Uint8Array) {\n//\t\t\treturn cbor.decode(data);\n//\t\t} else if (\n//\t\t\tdata instanceof ArrayBuffer ||\n//\t\t\tdata instanceof SharedArrayBuffer\n//\t\t) {\n//\t\t\treturn cbor.decode(new Uint8Array(data));\n//\t\t} else {\n//\t\t\tlogger().warn(\"received non-binary type for cbor parse\");\n//\t\t\tthrow new errors.MalformedMessage();\n//\t\t}\n//\t} else {\n//\t\tassertUnreachable(encoding);\n//\t}\n//}\n\n// TODO: Encode base 128\nfunction base64EncodeUint8Array(uint8Array: Uint8Array): string {\n\tlet binary = \"\";\n\tconst len = uint8Array.byteLength;\n\tfor (let i = 0; i < len; i++) {\n\t\tbinary += String.fromCharCode(uint8Array[i]);\n\t}\n\treturn btoa(binary);\n}\n\nfunction base64EncodeArrayBuffer(arrayBuffer: ArrayBuffer): string {\n\tconst uint8Array = new Uint8Array(arrayBuffer);\n\treturn base64EncodeUint8Array(uint8Array);\n}\n\n/** Converts data that was encoded to a string. Some formats (like SSE) don't support raw binary data. */\nexport function encodeDataToString(message: OutputData): string {\n\tif (typeof message === \"string\") {\n\t\treturn message;\n\t} else if (message instanceof ArrayBuffer) {\n\t\treturn base64EncodeArrayBuffer(message);\n\t} else if (message instanceof Uint8Array) {\n\t\treturn base64EncodeUint8Array(message);\n\t} else {\n\t\tassertUnreachable(message);\n\t}\n}\n\nfunction base64DecodeToUint8Array(base64: string): Uint8Array {\n\t// Check if Buffer is available (Node.js)\n\tif (typeof Buffer !== \"undefined\") {\n\t\treturn new Uint8Array(Buffer.from(base64, \"base64\"));\n\t}\n\n\t// Browser environment - use atob\n\tconst binary = atob(base64);\n\tconst len = binary.length;\n\tconst bytes = new Uint8Array(len);\n\tfor (let i = 0; i < len; i++) {\n\t\tbytes[i] = binary.charCodeAt(i);\n\t}\n\treturn bytes;\n}\n\nfunction base64DecodeToArrayBuffer(base64: string): ArrayBuffer {\n\treturn base64DecodeToUint8Array(base64).buffer as ArrayBuffer;\n}\n\n/** Stringifies with compat for values that BARE & CBOR supports. */\nexport function jsonStringifyCompat(input: any): string {\n\treturn JSON.stringify(input, (_key, value) => {\n\t\tif (typeof value === \"bigint\") {\n\t\t\treturn [\"$BigInt\", value.toString()];\n\t\t} else if (value instanceof ArrayBuffer) {\n\t\t\treturn [\"$ArrayBuffer\", base64EncodeArrayBuffer(value)];\n\t\t} else if (value instanceof Uint8Array) {\n\t\t\treturn [\"$Uint8Array\", base64EncodeUint8Array(value)];\n\t\t}\n\n\t\t// Escape user arrays that start with $ by prepending another $\n\t\tif (\n\t\t\tArray.isArray(value) &&\n\t\t\tvalue.length === 2 &&\n\t\t\ttypeof value[0] === \"string\" &&\n\t\t\tvalue[0].startsWith(\"$\")\n\t\t) {\n\t\t\treturn [\"$\" + value[0], value[1]];\n\t\t}\n\n\t\treturn value;\n\t});\n}\n\n/** Parses JSON with compat for values that BARE & CBOR supports. */\nexport function jsonParseCompat(input: string): any {\n\treturn JSON.parse(input, (_key, value) => {\n\t\t// Handle arrays with $ prefix\n\t\tif (\n\t\t\tArray.isArray(value) &&\n\t\t\tvalue.length === 2 &&\n\t\t\ttypeof value[0] === \"string\" &&\n\t\t\tvalue[0].startsWith(\"$\")\n\t\t) {\n\t\t\t// Known special types\n\t\t\tif (value[0] === \"$BigInt\") {\n\t\t\t\treturn BigInt(value[1]);\n\t\t\t} else if (value[0] === \"$ArrayBuffer\") {\n\t\t\t\treturn base64DecodeToArrayBuffer(value[1]);\n\t\t\t} else if (value[0] === \"$Uint8Array\") {\n\t\t\t\treturn base64DecodeToUint8Array(value[1]);\n\t\t\t}\n\n\t\t\t// Unescape user arrays that started with $ ($$foo -> $foo)\n\t\t\tif (value[0].startsWith(\"$$\")) {\n\t\t\t\treturn [value[0].substring(1), value[1]];\n\t\t\t}\n\n\t\t\t// Unknown type starting with $ - this is an error\n\t\t\tthrow new Error(\n\t\t\t\t`Unknown JSON encoding type: ${value[0]}. This may indicate corrupted data or a version mismatch.`,\n\t\t\t);\n\t\t}\n\n\t\treturn value;\n\t});\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-23EJLAOV.cjs","../../src/actor/log.ts","../../src/actor/utils.ts","../../src/common/actor-router-consts.ts","../../src/serde.ts","../../src/actor/protocol/serde.ts"],"names":["assertUnreachable"],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACLO,SAAS,oBAAA,CAAA,EAAuB;AACtC,EAAA,OAAO,yCAAA,eAAyB,CAAA;AACjC;ADOA;AACA;AEVO,SAASA,kBAAAA,CAAkB,CAAA,EAAiB;AAClD,EAAA,oBAAA,CAAqB,CAAA,CAAE,KAAA,CAAM;AAAA,IAC5B,GAAA,EAAK,aAAA;AAAA,IACL,KAAA,EAAO,CAAA,EAAA;AACA,IAAA;AACP,EAAA;AACgB,EAAA;AAClB;AA+Ba;AACZ,EAAA;AACO,IAAA;AACP,EAAA;AACD;AAEgB;AACT,EAAA;AACA,EAAA;AAGA,EAAA;AAEC,EAAA;AACN,IAAA;AACI,IAAA;AACH,MAAA;AACA,IAAA;AACC,EAAA;AACF,IAAA;AACA,EAAA;AACF;AAwBgB;AACT,EAAA;AACC,EAAA;AAEA,EAAA;AAIR;AAEgB;AACT,EAAA;AAEF,EAAA;AACK,EAAA;AACF,IAAA;AACN,IAAA;AACD,EAAA;AACO,EAAA;AACR;AAKgB;AACR,EAAA;AACR;AAKgB;AACL,EAAA;AACF,IAAA;AACR,EAAA;AACM,EAAA;AACF,EAAA;AACI,IAAA;AACR,EAAA;AACM,EAAA;AAEC,EAAA;AACR;AF5DY;AACA;AGlEC;AACA;AACA;AACA;AAGA;AAEA;AAGA;AAEA;AAEA;AAGA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AAIA;AAOA;AACZ,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACD;AH+CY;AACA;AIrGA;AACL;AJuGK;AACA;AKxGH;AAaI;AAUA;AACZ,EAAA;AACS,EAAA;AACT,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AAEA,EAAA;AAQM,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACN,EAAA;AAEW,EAAA;AACH,IAAA;AACR,EAAA;AAEiB,EAAA;AACV,IAAA;AACF,IAAA;AACH,MAAA;AACM,IAAA;AACA,MAAA;AACL,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACA,QAAA;AACD,MAAA;AACK,MAAA;AACL,MAAA;AACD,IAAA;AACD,EAAA;AACD;AA8CS;AACJ,EAAA;AACE,EAAA;AACG,EAAA;AACR,IAAA;AACD,EAAA;AACO,EAAA;AACR;AAES;AACF,EAAA;AACC,EAAA;AACR;AAeS;AAEJ,EAAA;AACI,IAAA;AACR,EAAA;AAGM,EAAA;AACA,EAAA;AACA,EAAA;AACG,EAAA;AACD,IAAA;AACR,EAAA;AACO,EAAA;AACR;AAES;AACD,EAAA;AACR;AAGgB;AACR,EAAA;AACF,IAAA;AACH,MAAA;AACD,IAAA;AACC,MAAA;AACD,IAAA;AACC,MAAA;AACD,IAAA;AAIC,IAAA;AAKA,MAAA;AACD,IAAA;AAEO,IAAA;AACP,EAAA;AACF;AAGgB;AACR,EAAA;AAGL,IAAA;AAMI,MAAA;AACH,QAAA;AACD,MAAA;AACC,QAAA;AACD,MAAA;AACC,QAAA;AACD,MAAA;AAGI,MAAA;AACH,QAAA;AACD,MAAA;AAGM,MAAA;AACL,QAAA;AACD,MAAA;AACD,IAAA;AAEO,IAAA;AACP,EAAA;AACF;ALbY;AACA;AIzMI;AAEX,EAAA;AACI,IAAA;AACR,EAAA;AAGI,EAAA;AACE,EAAA;AACG,EAAA;AACR,IAAA;AACD,EAAA;AACO,EAAA;AACR;AAYgB;AACX,EAAA;AACI,IAAA;AACR,EAAA;AACQ,IAAA;AACD,EAAA;AACN,IAAA;AACD,EAAA;AACD;AAcgB;AASX,EAAA;AACG,IAAA;AACA,IAAA;AACC,IAAA;AACR,EAAA;AACO,IAAA;AACA,IAAA;AACM,IAAA;AACb,EAAA;AACM,IAAA;AACE,MAAA;AACL,QAAA;AACD,MAAA;AACD,IAAA;AACI,IAAA;AACG,MAAA;AACP,IAAA;AACM,IAAA;AACC,IAAA;AACN,MAAA;AACA,MAAA;AACD,IAAA;AACM,EAAA;AACN,IAAA;AACD,EAAA;AACD;AAEgB;AAQX,EAAA;AACC,IAAA;AACA,IAAA;AACH,MAAA;AACM,IAAA;AACA,MAAA;AACA,MAAA;AACN,MAAA;AACD,IAAA;AACM,IAAA;AACC,IAAA;AACR,EAAA;AACC,IAAA;AACC,MAAA;AACA,MAAA;AACD,IAAA;AAEM,IAAA;AAEA,IAAA;AAEC,IAAA;AACR,EAAA;AACC,IAAA;AACC,MAAA;AACA,MAAA;AACD,IAAA;AACK,IAAA;AACE,MAAA;AACL,QAAA;AACD,MAAA;AACD,IAAA;AACM,IAAA;AAEC,IAAA;AACD,EAAA;AACN,IAAA;AACD,EAAA;AACD;AJ4JY;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-23EJLAOV.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\n\n/** Prever to use ActorInstance.rlog child logger. This does not provide context in the log, should only be used as a last resort if you cannot pass the actor's child logger. */\nexport function loggerWithoutContext() {\n\treturn getLogger(\"actor-runtime\");\n}\n","import * as errors from \"./errors\";\nimport { loggerWithoutContext } from \"./log\";\n\nexport function assertUnreachable(x: never): never {\n\tloggerWithoutContext().error({\n\t\tmsg: \"unreachable\",\n\t\tvalue: `${x}`,\n\t\tstack: new Error().stack,\n\t});\n\tthrow new errors.Unreachable(x);\n}\n\nexport const throttle = <\n\t// biome-ignore lint/suspicious/noExplicitAny: we want to allow any function\n\tFn extends (...args: any) => any,\n>(\n\tfn: Fn,\n\tdelay: number,\n) => {\n\tlet lastRan = false;\n\tlet lastArgs: Parameters<Fn> | null = null;\n\n\treturn (...args: Parameters<Fn>) => {\n\t\tif (!lastRan) {\n\t\t\tfn.apply(this, args);\n\t\t\tlastRan = true;\n\t\t\tconst timer = () =>\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tlastRan = false;\n\t\t\t\t\tif (lastArgs) {\n\t\t\t\t\t\tfn.apply(this, lastArgs);\n\t\t\t\t\t\tlastRan = true;\n\t\t\t\t\t\tlastArgs = null;\n\t\t\t\t\t\ttimer();\n\t\t\t\t\t}\n\t\t\t\t}, delay);\n\t\t\ttimer();\n\t\t} else lastArgs = args;\n\t};\n};\n\nexport class DeadlineError extends Error {\n\tconstructor() {\n\t\tsuper(\"Promise did not complete before deadline.\");\n\t}\n}\n\nexport function deadline<T>(promise: Promise<T>, timeout: number): Promise<T> {\n\tconst controller = new AbortController();\n\tconst signal = controller.signal;\n\n\t// Set a timeout to abort the operation\n\tconst timeoutId = setTimeout(() => controller.abort(), timeout);\n\n\treturn Promise.race<T>([\n\t\tpromise,\n\t\tnew Promise<T>((_, reject) => {\n\t\t\tsignal.addEventListener(\"abort\", () => reject(new DeadlineError()));\n\t\t}),\n\t]).finally(() => {\n\t\tclearTimeout(timeoutId);\n\t});\n}\n\nexport class Lock<T> {\n\tprivate _locked = false;\n\tprivate _waiting: Array<() => void> = [];\n\n\tconstructor(private _value: T) {}\n\n\tasync lock(fn: (value: T) => Promise<void>): Promise<void> {\n\t\tif (this._locked) {\n\t\t\tawait new Promise<void>((resolve) => this._waiting.push(resolve));\n\t\t}\n\t\tthis._locked = true;\n\n\t\ttry {\n\t\t\tawait fn(this._value);\n\t\t} finally {\n\t\t\tthis._locked = false;\n\t\t\tconst next = this._waiting.shift();\n\t\t\tif (next) next();\n\t\t}\n\t}\n}\n\nexport function generateSecureToken(length = 32) {\n\tconst array = new Uint8Array(length);\n\tcrypto.getRandomValues(array);\n\t// Replace base64 chars that are not URL safe with URL-safe chars and strip padding\n\treturn btoa(String.fromCharCode(...array))\n\t\t.replace(/\\+/g, \"-\")\n\t\t.replace(/\\//g, \"_\")\n\t\t.replace(/=/g, \"\");\n}\n\nexport function generateRandomString(length = 32) {\n\tconst characters =\n\t\t\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n\tlet result = \"\";\n\tfor (let i = 0; i < length; i++) {\n\t\tconst randomIndex = Math.floor(Math.random() * characters.length);\n\t\tresult += characters[randomIndex];\n\t}\n\treturn result;\n}\n\n/**\n * Checks if a path is an actor state path within the persisted actor data.\n */\nexport function isStatePath(path: string): boolean {\n\treturn path === \"state\" || path.startsWith(\"state.\");\n}\n\n/**\n * Checks if a path is a connection state path within the persisted actor data.\n */\nexport function isConnStatePath(path: string): boolean {\n\tif (!path.startsWith(\"connections.\")) {\n\t\treturn false;\n\t}\n\tconst stateIndex = path.indexOf(\".state\", 12); // Start after \"connections.\"\n\tif (stateIndex === -1) {\n\t\treturn false;\n\t}\n\tconst afterState = stateIndex + 6; // \".state\".length = 6\n\t// Check if \".state\" is followed by end of string or \".\"\n\treturn path.length === afterState || path[afterState] === \".\";\n}\n","// NOTE: This is in a separate file from the router since it needs to be shared between the client & the server. If this was in the router file, the client would end up importing the *entire* actor router and tree shaking would not work.\n\n// MARK: Paths\nexport const PATH_CONNECT = \"/connect\";\nexport const PATH_WEBSOCKET_BASE = \"/websocket\";\nexport const PATH_WEBSOCKET_PREFIX = \"/websocket/\";\nexport const PATH_INSPECTOR_CONNECT = \"/inspector/connect\";\n\n// MARK: Headers\nexport const HEADER_ACTOR_QUERY = \"x-rivet-query\";\n\nexport const HEADER_ENCODING = \"x-rivet-encoding\";\n\n// IMPORTANT: Params must be in headers or in an E2EE part of the request (i.e. NOT the URL or query string) in order to ensure that tokens can be securely passed in params.\nexport const HEADER_CONN_PARAMS = \"x-rivet-conn-params\";\n\nexport const HEADER_ACTOR_ID = \"x-rivet-actor\";\n\nexport const HEADER_RIVET_TOKEN = \"x-rivet-token\";\n\n// MARK: Manager Gateway Headers\nexport const HEADER_RIVET_TARGET = \"x-rivet-target\";\nexport const HEADER_RIVET_ACTOR = \"x-rivet-actor\";\nexport const HEADER_RIVET_NAMESPACE = \"x-rivet-namespace\";\n\n// MARK: WebSocket Protocol Prefixes\n/** Some servers (such as node-ws & Cloudflare) require explicitly match a certain WebSocket protocol. This gives us a static protocol to match against. */\nexport const WS_PROTOCOL_STANDARD = \"rivet\";\nexport const WS_PROTOCOL_TARGET = \"rivet_target.\";\nexport const WS_PROTOCOL_ACTOR = \"rivet_actor.\";\nexport const WS_PROTOCOL_ENCODING = \"rivet_encoding.\";\nexport const WS_PROTOCOL_CONN_PARAMS = \"rivet_conn_params.\";\nexport const WS_PROTOCOL_TOKEN = \"rivet_token.\";\n\n// MARK: WebSocket Inline Test Protocol Prefixes\nexport const WS_TEST_PROTOCOL_PATH = \"test_path.\";\n\n/**\n * Headers that publics can send from public clients.\n *\n * Used for CORS.\n **/\nexport const ALLOWED_PUBLIC_HEADERS = [\n\t\"Content-Type\",\n\t\"User-Agent\",\n\tHEADER_ACTOR_QUERY,\n\tHEADER_ENCODING,\n\tHEADER_CONN_PARAMS,\n\tHEADER_ACTOR_ID,\n\tHEADER_RIVET_TARGET,\n\tHEADER_RIVET_ACTOR,\n\tHEADER_RIVET_NAMESPACE,\n\tHEADER_RIVET_TOKEN,\n];\n","import * as cbor from \"cbor-x\";\nimport invariant from \"invariant\";\nimport type { z } from \"zod\";\nimport { assertUnreachable } from \"@/common/utils\";\nimport type { VersionedDataHandler } from \"vbare\";\nimport type { Encoding } from \"@/mod\";\nimport { jsonParseCompat, jsonStringifyCompat } from \"./actor/protocol/serde\";\n\nexport function uint8ArrayToBase64(uint8Array: Uint8Array): string {\n\t// Check if Buffer is available (Node.js)\n\tif (typeof Buffer !== \"undefined\") {\n\t\treturn Buffer.from(uint8Array).toString(\"base64\");\n\t}\n\n\t// Browser environment - use btoa\n\tlet binary = \"\";\n\tconst len = uint8Array.byteLength;\n\tfor (let i = 0; i < len; i++) {\n\t\tbinary += String.fromCharCode(uint8Array[i]);\n\t}\n\treturn btoa(binary);\n}\n\nexport function encodingIsBinary(encoding: Encoding): boolean {\n\tif (encoding === \"json\") {\n\t\treturn false;\n\t} else if (encoding === \"cbor\" || encoding === \"bare\") {\n\t\treturn true;\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function contentTypeForEncoding(encoding: Encoding): string {\n\tif (encoding === \"json\") {\n\t\treturn \"application/json\";\n\t} else if (encoding === \"cbor\" || encoding === \"bare\") {\n\t\treturn \"application/octet-stream\";\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function wsBinaryTypeForEncoding(\n\tencoding: Encoding,\n): \"arraybuffer\" | \"blob\" {\n\tif (encoding === \"json\") {\n\t\treturn \"blob\";\n\t} else if (encoding === \"cbor\" || encoding === \"bare\") {\n\t\treturn \"arraybuffer\";\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function serializeWithEncoding<TBare, TJson, T = TBare>(\n\tencoding: Encoding,\n\tvalue: T,\n\tversionedDataHandler: VersionedDataHandler<TBare> | undefined,\n\tversion: number | undefined,\n\tzodSchema: z.ZodType<TJson>,\n\ttoJson: (value: T) => TJson,\n\ttoBare: (value: T) => TBare,\n): Uint8Array | string {\n\tif (encoding === \"json\") {\n\t\tconst jsonValue = toJson(value);\n\t\tconst validated = zodSchema.parse(jsonValue);\n\t\treturn jsonStringifyCompat(validated);\n\t} else if (encoding === \"cbor\") {\n\t\tconst jsonValue = toJson(value);\n\t\tconst validated = zodSchema.parse(jsonValue);\n\t\treturn cbor.encode(validated);\n\t} else if (encoding === \"bare\") {\n\t\tif (!versionedDataHandler) {\n\t\t\tthrow new Error(\n\t\t\t\t\"VersionedDataHandler is required for 'bare' encoding\",\n\t\t\t);\n\t\t}\n\t\tif (version === undefined) {\n\t\t\tthrow new Error(\"version is required for 'bare' encoding\");\n\t\t}\n\t\tconst bareValue = toBare(value);\n\t\treturn versionedDataHandler.serializeWithEmbeddedVersion(\n\t\t\tbareValue,\n\t\t\tversion,\n\t\t);\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function deserializeWithEncoding<TBare, TJson, T = TBare>(\n\tencoding: Encoding,\n\tbuffer: Uint8Array | string,\n\tversionedDataHandler: VersionedDataHandler<TBare> | undefined,\n\tzodSchema: z.ZodType<TJson>,\n\tfromJson: (value: TJson) => T,\n\tfromBare: (value: TBare) => T,\n): T {\n\tif (encoding === \"json\") {\n\t\tlet parsed: unknown;\n\t\tif (typeof buffer === \"string\") {\n\t\t\tparsed = jsonParseCompat(buffer);\n\t\t} else {\n\t\t\tconst decoder = new TextDecoder(\"utf-8\");\n\t\t\tconst jsonString = decoder.decode(buffer);\n\t\t\tparsed = jsonParseCompat(jsonString);\n\t\t}\n\t\tconst validated = zodSchema.parse(parsed);\n\t\treturn fromJson(validated);\n\t} else if (encoding === \"cbor\") {\n\t\tinvariant(\n\t\t\ttypeof buffer !== \"string\",\n\t\t\t\"buffer cannot be string for cbor encoding\",\n\t\t);\n\t\t// Decode CBOR to get JavaScript values (similar to JSON.parse)\n\t\tconst decoded: unknown = cbor.decode(buffer);\n\t\t// Validate with Zod schema (CBOR produces same structure as JSON)\n\t\tconst validated = zodSchema.parse(decoded);\n\t\t// CBOR decoding produces JS objects, use fromJson\n\t\treturn fromJson(validated);\n\t} else if (encoding === \"bare\") {\n\t\tinvariant(\n\t\t\ttypeof buffer !== \"string\",\n\t\t\t\"buffer cannot be string for bare encoding\",\n\t\t);\n\t\tif (!versionedDataHandler) {\n\t\t\tthrow new Error(\n\t\t\t\t\"VersionedDataHandler is required for 'bare' encoding\",\n\t\t\t);\n\t\t}\n\t\tconst bareValue =\n\t\t\tversionedDataHandler.deserializeWithEmbeddedVersion(buffer);\n\t\treturn fromBare(bareValue);\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n","import * as cbor from \"cbor-x\";\nimport { z } from \"zod\";\nimport * as errors from \"@/actor/errors\";\nimport type { VersionedDataHandler } from \"vbare\";\nimport { serializeWithEncoding } from \"@/serde\";\nimport { loggerWithoutContext } from \"../log\";\nimport { assertUnreachable } from \"../utils\";\n\n/** Data that can be deserialized. */\nexport type InputData = string | Buffer | Blob | ArrayBufferLike | Uint8Array;\n\n/** Data that's been serialized. */\nexport type OutputData = string | Uint8Array;\n\nexport const EncodingSchema = z.enum([\"json\", \"cbor\", \"bare\"]);\n\n/**\n * Encoding used to communicate between the client & actor.\n */\nexport type Encoding = z.infer<typeof EncodingSchema>;\n\n/**\n * Helper class that helps serialize data without re-serializing for the same encoding.\n */\nexport class CachedSerializer<TBare, TJson, T = TBare> {\n\t#data: T;\n\t#cache = new Map<Encoding, OutputData>();\n\t#versionedDataHandler: VersionedDataHandler<TBare>;\n\t#version: number;\n\t#zodSchema: z.ZodType<TJson>;\n\t#toJson: (value: T) => TJson;\n\t#toBare: (value: T) => TBare;\n\n\tconstructor(\n\t\tdata: T,\n\t\tversionedDataHandler: VersionedDataHandler<TBare>,\n\t\tversion: number,\n\t\tzodSchema: z.ZodType<TJson>,\n\t\ttoJson: (value: T) => TJson,\n\t\ttoBare: (value: T) => TBare,\n\t) {\n\t\tthis.#data = data;\n\t\tthis.#versionedDataHandler = versionedDataHandler;\n\t\tthis.#version = version;\n\t\tthis.#zodSchema = zodSchema;\n\t\tthis.#toJson = toJson;\n\t\tthis.#toBare = toBare;\n\t}\n\n\tpublic get rawData(): T {\n\t\treturn this.#data;\n\t}\n\n\tpublic serialize(encoding: Encoding): OutputData {\n\t\tconst cached = this.#cache.get(encoding);\n\t\tif (cached) {\n\t\t\treturn cached;\n\t\t} else {\n\t\t\tconst serialized = serializeWithEncoding(\n\t\t\t\tencoding,\n\t\t\t\tthis.#data,\n\t\t\t\tthis.#versionedDataHandler,\n\t\t\t\tthis.#version,\n\t\t\t\tthis.#zodSchema,\n\t\t\t\tthis.#toJson,\n\t\t\t\tthis.#toBare,\n\t\t\t);\n\t\t\tthis.#cache.set(encoding, serialized);\n\t\t\treturn serialized;\n\t\t}\n\t}\n}\n\n///**\n// * Use `CachedSerializer` if serializing the same data repeatedly.\n// */\n//export function serialize<T>(value: T, encoding: Encoding): OutputData {\n//\tif (encoding === \"json\") {\n//\t\treturn JSON.stringify(value);\n//\t} else if (encoding === \"cbor\") {\n//\t\t// TODO: Remove this hack, but cbor-x can't handle anything extra in data structures\n//\t\tconst cleanValue = JSON.parse(JSON.stringify(value));\n//\t\treturn cbor.encode(cleanValue);\n//\t} else {\n//\t\tassertUnreachable(encoding);\n//\t}\n//}\n//\n//export async function deserialize(data: InputData, encoding: Encoding) {\n//\tif (encoding === \"json\") {\n//\t\tif (typeof data !== \"string\") {\n//\t\t\tlogger().warn(\"received non-string for json parse\");\n//\t\t\tthrow new errors.MalformedMessage();\n//\t\t} else {\n//\t\t\treturn JSON.parse(data);\n//\t\t}\n//\t} else if (encoding === \"cbor\") {\n//\t\tif (data instanceof Blob) {\n//\t\t\tconst arrayBuffer = await data.arrayBuffer();\n//\t\t\treturn cbor.decode(new Uint8Array(arrayBuffer));\n//\t\t} else if (data instanceof Uint8Array) {\n//\t\t\treturn cbor.decode(data);\n//\t\t} else if (\n//\t\t\tdata instanceof ArrayBuffer ||\n//\t\t\tdata instanceof SharedArrayBuffer\n//\t\t) {\n//\t\t\treturn cbor.decode(new Uint8Array(data));\n//\t\t} else {\n//\t\t\tlogger().warn(\"received non-binary type for cbor parse\");\n//\t\t\tthrow new errors.MalformedMessage();\n//\t\t}\n//\t} else {\n//\t\tassertUnreachable(encoding);\n//\t}\n//}\n\n// TODO: Encode base 128\nfunction base64EncodeUint8Array(uint8Array: Uint8Array): string {\n\tlet binary = \"\";\n\tconst len = uint8Array.byteLength;\n\tfor (let i = 0; i < len; i++) {\n\t\tbinary += String.fromCharCode(uint8Array[i]);\n\t}\n\treturn btoa(binary);\n}\n\nfunction base64EncodeArrayBuffer(arrayBuffer: ArrayBuffer): string {\n\tconst uint8Array = new Uint8Array(arrayBuffer);\n\treturn base64EncodeUint8Array(uint8Array);\n}\n\n/** Converts data that was encoded to a string. Some formats (like SSE) don't support raw binary data. */\nexport function encodeDataToString(message: OutputData): string {\n\tif (typeof message === \"string\") {\n\t\treturn message;\n\t} else if (message instanceof ArrayBuffer) {\n\t\treturn base64EncodeArrayBuffer(message);\n\t} else if (message instanceof Uint8Array) {\n\t\treturn base64EncodeUint8Array(message);\n\t} else {\n\t\tassertUnreachable(message);\n\t}\n}\n\nfunction base64DecodeToUint8Array(base64: string): Uint8Array {\n\t// Check if Buffer is available (Node.js)\n\tif (typeof Buffer !== \"undefined\") {\n\t\treturn new Uint8Array(Buffer.from(base64, \"base64\"));\n\t}\n\n\t// Browser environment - use atob\n\tconst binary = atob(base64);\n\tconst len = binary.length;\n\tconst bytes = new Uint8Array(len);\n\tfor (let i = 0; i < len; i++) {\n\t\tbytes[i] = binary.charCodeAt(i);\n\t}\n\treturn bytes;\n}\n\nfunction base64DecodeToArrayBuffer(base64: string): ArrayBuffer {\n\treturn base64DecodeToUint8Array(base64).buffer as ArrayBuffer;\n}\n\n/** Stringifies with compat for values that BARE & CBOR supports. */\nexport function jsonStringifyCompat(input: any): string {\n\treturn JSON.stringify(input, (_key, value) => {\n\t\tif (typeof value === \"bigint\") {\n\t\t\treturn [\"$BigInt\", value.toString()];\n\t\t} else if (value instanceof ArrayBuffer) {\n\t\t\treturn [\"$ArrayBuffer\", base64EncodeArrayBuffer(value)];\n\t\t} else if (value instanceof Uint8Array) {\n\t\t\treturn [\"$Uint8Array\", base64EncodeUint8Array(value)];\n\t\t}\n\n\t\t// Escape user arrays that start with $ by prepending another $\n\t\tif (\n\t\t\tArray.isArray(value) &&\n\t\t\tvalue.length === 2 &&\n\t\t\ttypeof value[0] === \"string\" &&\n\t\t\tvalue[0].startsWith(\"$\")\n\t\t) {\n\t\t\treturn [\"$\" + value[0], value[1]];\n\t\t}\n\n\t\treturn value;\n\t});\n}\n\n/** Parses JSON with compat for values that BARE & CBOR supports. */\nexport function jsonParseCompat(input: string): any {\n\treturn JSON.parse(input, (_key, value) => {\n\t\t// Handle arrays with $ prefix\n\t\tif (\n\t\t\tArray.isArray(value) &&\n\t\t\tvalue.length === 2 &&\n\t\t\ttypeof value[0] === \"string\" &&\n\t\t\tvalue[0].startsWith(\"$\")\n\t\t) {\n\t\t\t// Known special types\n\t\t\tif (value[0] === \"$BigInt\") {\n\t\t\t\treturn BigInt(value[1]);\n\t\t\t} else if (value[0] === \"$ArrayBuffer\") {\n\t\t\t\treturn base64DecodeToArrayBuffer(value[1]);\n\t\t\t} else if (value[0] === \"$Uint8Array\") {\n\t\t\t\treturn base64DecodeToUint8Array(value[1]);\n\t\t\t}\n\n\t\t\t// Unescape user arrays that started with $ ($$foo -> $foo)\n\t\t\tif (value[0].startsWith(\"$$\")) {\n\t\t\t\treturn [value[0].substring(1), value[1]];\n\t\t\t}\n\n\t\t\t// Unknown type starting with $ - this is an error\n\t\t\tthrow new Error(\n\t\t\t\t`Unknown JSON encoding type: ${value[0]}. This may indicate corrupted data or a version mismatch.`,\n\t\t\t);\n\t\t}\n\n\t\treturn value;\n\t});\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
2
2
 
3
- var _chunkHK6QNZX3cjs = require('./chunk-HK6QNZX3.cjs');
3
+ var _chunkREMOXAIWcjs = require('./chunk-REMOXAIW.cjs');
4
4
 
5
5
  // src/inspector/protocol/actor.ts
6
6
  var _client = require('hono/client');
@@ -17,7 +17,7 @@ var _factory = require('hono/factory');
17
17
 
18
18
  // src/inspector/log.ts
19
19
  function inspectorLogger() {
20
- return _chunkHK6QNZX3cjs.getLogger.call(void 0, "inspector");
20
+ return _chunkREMOXAIWcjs.getLogger.call(void 0, "inspector");
21
21
  }
22
22
 
23
23
  // src/inspector/utils.ts
@@ -96,4 +96,4 @@ var configureInspectorAccessToken = (runConfig, managerDriver) => {
96
96
 
97
97
 
98
98
  exports.inspectorLogger = inspectorLogger; exports.compareSecrets = compareSecrets; exports.secureInspector = secureInspector; exports.getInspectorUrl = getInspectorUrl; exports.isInspectorEnabled = isInspectorEnabled; exports.configureInspectorAccessToken = configureInspectorAccessToken; exports.createActorInspectorClient = createActorInspectorClient; exports.createManagerInspectorClient = createManagerInspectorClient;
99
- //# sourceMappingURL=chunk-UBBTSSAP.cjs.map
99
+ //# sourceMappingURL=chunk-3WG6PXWE.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-UBBTSSAP.cjs","../../src/inspector/protocol/actor.ts","../../src/inspector/protocol/manager.ts","../../src/inspector/utils.ts","../../src/inspector/log.ts"],"names":["client","hc"],"mappings":"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","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-UBBTSSAP.cjs","sourcesContent":[null,"import { hc } from \"hono/client\";\nimport type { createActorInspectorRouter } from \"../actor\";\n\ntype ActorInspectorRouter = ReturnType<typeof createActorInspectorRouter>;\nconst client = hc<ActorInspectorRouter>(\"\");\nexport type ActorInspectorClient = typeof client;\n\nexport const createActorInspectorClient = (\n\t...args: Parameters<typeof hc>\n): ActorInspectorClient => hc<ActorInspectorRouter>(...args);\n","import { hc } from \"hono/client\";\nimport type { createManagerInspectorRouter } from \"../manager\";\n\ntype ManagerInspectorRouter = ReturnType<typeof createManagerInspectorRouter>;\nconst client = hc<ManagerInspectorRouter>(\"\");\nexport type ManagerInspectorClient = typeof client;\n\nexport const createManagerInspectorClient = (\n\t...args: Parameters<typeof hc>\n): ManagerInspectorClient => hc<ManagerInspectorRouter>(...args);\n","// import crypto from \"node:crypto\";\nimport { createMiddleware } from \"hono/factory\";\nimport type { ManagerDriver } from \"@/driver-helpers/mod\";\nimport type { RunConfig } from \"@/mod\";\nimport type { RunnerConfigInput } from \"@/registry/run-config\";\nimport { inspectorLogger } from \"./log\";\n\nexport function compareSecrets(providedSecret: string, validSecret: string) {\n\t// Early length check to avoid unnecessary processing\n\tif (providedSecret.length !== validSecret.length) {\n\t\treturn false;\n\t}\n\n\tconst encoder = new TextEncoder();\n\n\tconst a = encoder.encode(providedSecret);\n\tconst b = encoder.encode(validSecret);\n\n\tif (a.byteLength !== b.byteLength) {\n\t\treturn false;\n\t}\n\n\t// TODO:\n\t// // Perform timing-safe comparison\n\t// if (!crypto.timingSafeEqual(a, b)) {\n\t// \treturn false;\n\t// }\n\treturn true;\n}\n\nexport const secureInspector = (runConfig: RunConfig) =>\n\tcreateMiddleware(async (c, next) => {\n\t\tconst userToken = c.req.header(\"Authorization\")?.replace(\"Bearer \", \"\");\n\t\tif (!userToken) {\n\t\t\treturn c.text(\"Unauthorized\", 401);\n\t\t}\n\n\t\tconst inspectorToken = runConfig.inspector.token?.();\n\t\tif (!inspectorToken) {\n\t\t\treturn c.text(\"Unauthorized\", 401);\n\t\t}\n\n\t\tconst isValid = compareSecrets(userToken, inspectorToken);\n\n\t\tif (!isValid) {\n\t\t\treturn c.text(\"Unauthorized\", 401);\n\t\t}\n\t\tawait next();\n\t});\n\nexport function getInspectorUrl(runConfig: RunnerConfigInput | undefined) {\n\tif (!runConfig?.inspector?.enabled) {\n\t\treturn \"disabled\";\n\t}\n\n\tconst accessToken = runConfig?.inspector?.token?.();\n\n\tif (!accessToken) {\n\t\tinspectorLogger().warn(\n\t\t\t\"Inspector Token is not set, but Inspector is enabled. Please set it in the run configuration `inspector.token` or via `RIVETKIT_INSPECTOR_TOKEN` environment variable. Inspector will not be accessible.\",\n\t\t);\n\t\treturn \"disabled\";\n\t}\n\n\tconst url = new URL(\"https://inspect.rivet.dev\");\n\n\turl.searchParams.set(\"t\", accessToken);\n\n\tconst overrideDefaultEndpoint =\n\t\trunConfig?.inspector?.defaultEndpoint ??\n\t\trunConfig.overrideServerAddress;\n\tif (overrideDefaultEndpoint) {\n\t\turl.searchParams.set(\"u\", overrideDefaultEndpoint);\n\t}\n\n\treturn url.href;\n}\n\nexport const isInspectorEnabled = (\n\trunConfig: RunConfig,\n\t// TODO(kacper): Remove context in favor of using the gateway, so only context is the actor\n\tcontext: \"actor\" | \"manager\",\n) => {\n\tif (typeof runConfig.inspector?.enabled === \"boolean\") {\n\t\treturn runConfig.inspector.enabled;\n\t} else if (typeof runConfig.inspector?.enabled === \"object\") {\n\t\treturn runConfig.inspector.enabled[context];\n\t}\n\treturn false;\n};\n\nexport const configureInspectorAccessToken = (\n\trunConfig: RunConfig,\n\tmanagerDriver: ManagerDriver,\n) => {\n\tif (!runConfig.inspector?.token()) {\n\t\tconst token = managerDriver.getOrCreateInspectorAccessToken();\n\t\trunConfig.inspector.token = () => token;\n\t}\n};\n","import { getLogger } from \"@/common/log\";\n\nexport function inspectorLogger() {\n\treturn getLogger(\"inspector\");\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-3WG6PXWE.cjs","../../src/inspector/protocol/actor.ts","../../src/inspector/protocol/manager.ts","../../src/inspector/utils.ts","../../src/inspector/log.ts"],"names":["client","hc"],"mappings":"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","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-3WG6PXWE.cjs","sourcesContent":[null,"import { hc } from \"hono/client\";\nimport type { createActorInspectorRouter } from \"../actor\";\n\ntype ActorInspectorRouter = ReturnType<typeof createActorInspectorRouter>;\nconst client = hc<ActorInspectorRouter>(\"\");\nexport type ActorInspectorClient = typeof client;\n\nexport const createActorInspectorClient = (\n\t...args: Parameters<typeof hc>\n): ActorInspectorClient => hc<ActorInspectorRouter>(...args);\n","import { hc } from \"hono/client\";\nimport type { createManagerInspectorRouter } from \"../manager\";\n\ntype ManagerInspectorRouter = ReturnType<typeof createManagerInspectorRouter>;\nconst client = hc<ManagerInspectorRouter>(\"\");\nexport type ManagerInspectorClient = typeof client;\n\nexport const createManagerInspectorClient = (\n\t...args: Parameters<typeof hc>\n): ManagerInspectorClient => hc<ManagerInspectorRouter>(...args);\n","// import crypto from \"node:crypto\";\nimport { createMiddleware } from \"hono/factory\";\nimport type { ManagerDriver } from \"@/driver-helpers/mod\";\nimport type { RunConfig } from \"@/mod\";\nimport type { RunnerConfigInput } from \"@/registry/run-config\";\nimport { inspectorLogger } from \"./log\";\n\nexport function compareSecrets(providedSecret: string, validSecret: string) {\n\t// Early length check to avoid unnecessary processing\n\tif (providedSecret.length !== validSecret.length) {\n\t\treturn false;\n\t}\n\n\tconst encoder = new TextEncoder();\n\n\tconst a = encoder.encode(providedSecret);\n\tconst b = encoder.encode(validSecret);\n\n\tif (a.byteLength !== b.byteLength) {\n\t\treturn false;\n\t}\n\n\t// TODO:\n\t// // Perform timing-safe comparison\n\t// if (!crypto.timingSafeEqual(a, b)) {\n\t// \treturn false;\n\t// }\n\treturn true;\n}\n\nexport const secureInspector = (runConfig: RunConfig) =>\n\tcreateMiddleware(async (c, next) => {\n\t\tconst userToken = c.req.header(\"Authorization\")?.replace(\"Bearer \", \"\");\n\t\tif (!userToken) {\n\t\t\treturn c.text(\"Unauthorized\", 401);\n\t\t}\n\n\t\tconst inspectorToken = runConfig.inspector.token?.();\n\t\tif (!inspectorToken) {\n\t\t\treturn c.text(\"Unauthorized\", 401);\n\t\t}\n\n\t\tconst isValid = compareSecrets(userToken, inspectorToken);\n\n\t\tif (!isValid) {\n\t\t\treturn c.text(\"Unauthorized\", 401);\n\t\t}\n\t\tawait next();\n\t});\n\nexport function getInspectorUrl(runConfig: RunnerConfigInput | undefined) {\n\tif (!runConfig?.inspector?.enabled) {\n\t\treturn \"disabled\";\n\t}\n\n\tconst accessToken = runConfig?.inspector?.token?.();\n\n\tif (!accessToken) {\n\t\tinspectorLogger().warn(\n\t\t\t\"Inspector Token is not set, but Inspector is enabled. Please set it in the run configuration `inspector.token` or via `RIVETKIT_INSPECTOR_TOKEN` environment variable. Inspector will not be accessible.\",\n\t\t);\n\t\treturn \"disabled\";\n\t}\n\n\tconst url = new URL(\"https://inspect.rivet.dev\");\n\n\turl.searchParams.set(\"t\", accessToken);\n\n\tconst overrideDefaultEndpoint =\n\t\trunConfig?.inspector?.defaultEndpoint ??\n\t\trunConfig.overrideServerAddress;\n\tif (overrideDefaultEndpoint) {\n\t\turl.searchParams.set(\"u\", overrideDefaultEndpoint);\n\t}\n\n\treturn url.href;\n}\n\nexport const isInspectorEnabled = (\n\trunConfig: RunConfig,\n\t// TODO(kacper): Remove context in favor of using the gateway, so only context is the actor\n\tcontext: \"actor\" | \"manager\",\n) => {\n\tif (typeof runConfig.inspector?.enabled === \"boolean\") {\n\t\treturn runConfig.inspector.enabled;\n\t} else if (typeof runConfig.inspector?.enabled === \"object\") {\n\t\treturn runConfig.inspector.enabled[context];\n\t}\n\treturn false;\n};\n\nexport const configureInspectorAccessToken = (\n\trunConfig: RunConfig,\n\tmanagerDriver: ManagerDriver,\n) => {\n\tif (!runConfig.inspector?.token()) {\n\t\tconst token = managerDriver.getOrCreateInspectorAccessToken();\n\t\trunConfig.inspector.token = () => token;\n\t}\n};\n","import { getLogger } from \"@/common/log\";\n\nexport function inspectorLogger() {\n\treturn getLogger(\"inspector\");\n}\n"]}
@@ -1,23 +1,23 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
3
 
4
- var _chunk7DSWCOGXcjs = require('./chunk-7DSWCOGX.cjs');
4
+ var _chunkNYQJHQHKcjs = require('./chunk-NYQJHQHK.cjs');
5
5
 
6
6
 
7
- var _chunkUENID7AKcjs = require('./chunk-UENID7AK.cjs');
7
+ var _chunk3WG6PXWEcjs = require('./chunk-3WG6PXWE.cjs');
8
8
 
9
9
 
10
- var _chunkMZ3SRIPMcjs = require('./chunk-MZ3SRIPM.cjs');
10
+ var _chunkDI7LJEYLcjs = require('./chunk-DI7LJEYL.cjs');
11
11
 
12
12
 
13
+ var _chunkZUJRXXQCcjs = require('./chunk-ZUJRXXQC.cjs');
13
14
 
14
- var _chunkMZCRC64Wcjs = require('./chunk-MZCRC64W.cjs');
15
15
 
16
16
 
17
- var _chunkUBBTSSAPcjs = require('./chunk-UBBTSSAP.cjs');
17
+ var _chunkF4CRQFYGcjs = require('./chunk-F4CRQFYG.cjs');
18
18
 
19
19
 
20
- var _chunkHK6QNZX3cjs = require('./chunk-HK6QNZX3.cjs');
20
+ var _chunkREMOXAIWcjs = require('./chunk-REMOXAIW.cjs');
21
21
 
22
22
  // src/test/mod.ts
23
23
  var _net = require('net');
@@ -27,18 +27,18 @@ var _invariant = require('invariant'); var _invariant2 = _interopRequireDefault(
27
27
 
28
28
  // src/test/log.ts
29
29
  function logger() {
30
- return _chunkHK6QNZX3cjs.getLogger.call(void 0, "test");
30
+ return _chunkREMOXAIWcjs.getLogger.call(void 0, "test");
31
31
  }
32
32
 
33
33
  // src/test/mod.ts
34
34
  async function setupTest(c, registry) {
35
35
  registry.config.test.enabled = true;
36
- const driver = await _chunk7DSWCOGXcjs.createFileSystemOrMemoryDriver.call(void 0,
36
+ const driver = await _chunkNYQJHQHKcjs.createFileSystemOrMemoryDriver.call(void 0,
37
37
  true,
38
38
  `/tmp/rivetkit-test-${crypto.randomUUID()}`
39
39
  );
40
40
  let upgradeWebSocket;
41
- const config = _chunkMZCRC64Wcjs.RunnerConfigSchema.parse({
41
+ const config = _chunkF4CRQFYGcjs.RunnerConfigSchema.parse({
42
42
  driver,
43
43
  getUpgradeWebSocket: () => upgradeWebSocket,
44
44
  inspector: {
@@ -47,12 +47,12 @@ async function setupTest(c, registry) {
47
47
  }
48
48
  });
49
49
  const managerDriver = driver.manager(registry.config, config);
50
- const internalClient = _chunkMZ3SRIPMcjs.createClientWithDriver.call(void 0,
50
+ const internalClient = _chunkZUJRXXQCcjs.createClientWithDriver.call(void 0,
51
51
  managerDriver,
52
- _chunkMZCRC64Wcjs.ClientConfigSchema.parse({})
52
+ _chunkF4CRQFYGcjs.ClientConfigSchema.parse({})
53
53
  );
54
- _chunkUBBTSSAPcjs.configureInspectorAccessToken.call(void 0, config, managerDriver);
55
- const { router } = _chunk7DSWCOGXcjs.createManagerRouter.call(void 0,
54
+ _chunk3WG6PXWEcjs.configureInspectorAccessToken.call(void 0, config, managerDriver);
55
+ const { router } = _chunkNYQJHQHKcjs.createManagerRouter.call(void 0,
56
56
  registry.config,
57
57
  config,
58
58
  managerDriver,
@@ -77,7 +77,7 @@ async function setupTest(c, registry) {
77
77
  c.onTestFinished(async () => {
78
78
  await new Promise((resolve) => server.close(() => resolve(void 0)));
79
79
  });
80
- const client = _chunkUENID7AKcjs.createClient.call(void 0, {
80
+ const client = _chunkDI7LJEYLcjs.createClient.call(void 0, {
81
81
  endpoint,
82
82
  namespace: "default",
83
83
  runnerName: "default"
@@ -126,4 +126,4 @@ async function getPort() {
126
126
 
127
127
 
128
128
  exports.setupTest = setupTest; exports.getPort = getPort;
129
- //# sourceMappingURL=chunk-QB7FJ2OK.cjs.map
129
+ //# sourceMappingURL=chunk-46DWBVYE.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-QB7FJ2OK.cjs","../../src/test/mod.ts","../../src/test/log.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACrBA,0BAA6B;AAC7B,+CAAmC;AACnC,uCAAoC;AACpC,4FAAsB;ADuBtB;AACA;AEzBO,SAAS,MAAA,CAAA,EAAS;AACxB,EAAA,OAAO,yCAAA,MAAgB,CAAA;AACxB;AF2BA;AACA;ACbA,MAAA,SAAsB,SAAA,CACrB,CAAA,EACA,QAAA,EAC8B;AAE9B,EAAA,QAAA,CAAS,MAAA,CAAO,IAAA,CAAK,QAAA,EAAU,IAAA;AAG/B,EAAA,MAAM,OAAA,EAAS,MAAM,8DAAA;AAAA,IACpB,IAAA;AAAA,IACA,CAAA,mBAAA,EAAsB,MAAA,CAAO,UAAA,CAAW,CAAC,CAAA;AAAA,EAAA;AAK1C,EAAA;AACA,EAAA;AAAmD,IAAA;AAClD,IAAA;AAC2B,IAAA;AAChB,MAAA;AACD,MAAA;AACI,IAAA;AACd,EAAA;AAID,EAAA;AACA,EAAA;AAAuB,IAAA;AACtB,IAAA;AAC2B,EAAA;AAE5B,EAAA;AACA,EAAA;AAAmB,IAAA;AACT,IAAA;AACT,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AAID,EAAA;AACA,EAAA;AAGA,EAAA;AACA,EAAA;AAAyB,IAAA;AACV,IAAA;AACJ,IAAA;AACV,EAAA;AAED,EAAA;AAAA,IAAA;AACmC,IAAA;AAClC,EAAA;AAED,EAAA;AACA,EAAA;AAEA,EAAA;AAGA,EAAA;AACC,IAAA;AAAqE,EAAA;AAItE,EAAA;AAA+B,IAAA;AAC9B,IAAA;AACW,IAAA;AACC,EAAA;AAEb,EAAA;AAEA,EAAA;AACD;AAEA;AAEC,EAAA;AACA,EAAA;AACA,EAAA;AAGA,EAAA;AACA,EAAA;AAEA,EAAA;AACC,IAAA;AAEC,MAAA;AACC,QAAA;AAEA,QAAA;AACC,UAAA;AACC,YAAA;AAA0C,UAAA;AAE1C,YAAA;AAAU,UAAA;AACX,QAAA;AAGD,QAAA;AACC,UAAA;AAAc,QAAA;AAGf,QAAA;AAAkB,MAAA;AAInB,MAAA;AACC,QAAA;AAA4B,MAAA;AAG7B,MAAA;AAAO,IAAA;AAGP,MAAA;AACA,MAAA;AACC,QAAA;AAAA,MAAA;AAED,MAAA;AAAqB,IAAA;AACtB,EAAA;AAGD,EAAA;AACD;ADpBA;AACA;AACA;AACA;AACA","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-QB7FJ2OK.cjs","sourcesContent":[null,"import { createServer } from \"node:net\";\nimport { serve as honoServe } from \"@hono/node-server\";\nimport { createNodeWebSocket } from \"@hono/node-ws\";\nimport invariant from \"invariant\";\nimport { type TestContext, vi } from \"vitest\";\nimport { type Client, createClient } from \"@/client/mod\";\nimport { createFileSystemOrMemoryDriver } from \"@/drivers/file-system/mod\";\nimport { configureInspectorAccessToken } from \"@/inspector/utils\";\nimport { createManagerRouter } from \"@/manager/router\";\nimport { createClientWithDriver, type Registry, type RunConfig } from \"@/mod\";\nimport { ClientConfigSchema } from \"@/client/config\";\nimport { RunnerConfigSchema } from \"@/registry/run-config\";\nimport { logger } from \"./log\";\n\nexport interface SetupTestResult<A extends Registry<any>> {\n\tclient: Client<A>;\n}\n\n// Must use `TestContext` since global hooks do not work when running concurrently\nexport async function setupTest<A extends Registry<any>>(\n\tc: TestContext,\n\tregistry: A,\n): Promise<SetupTestResult<A>> {\n\t// Force enable test mode\n\tregistry.config.test.enabled = true;\n\n\t// Create driver\n\tconst driver = await createFileSystemOrMemoryDriver(\n\t\ttrue,\n\t\t`/tmp/rivetkit-test-${crypto.randomUUID()}`,\n\t);\n\n\t// Build driver config\n\t// biome-ignore lint/style/useConst: Assigned later\n\tlet upgradeWebSocket: any;\n\tconst config: RunConfig = RunnerConfigSchema.parse({\n\t\tdriver,\n\t\tgetUpgradeWebSocket: () => upgradeWebSocket!,\n\t\tinspector: {\n\t\t\tenabled: true,\n\t\t\ttoken: () => \"token\",\n\t\t},\n\t});\n\n\t// Create router\n\tconst managerDriver = driver.manager(registry.config, config);\n\tconst internalClient = createClientWithDriver(\n\t\tmanagerDriver,\n\t\tClientConfigSchema.parse({}),\n\t);\n\tconfigureInspectorAccessToken(config, managerDriver);\n\tconst { router } = createManagerRouter(\n\t\tregistry.config,\n\t\tconfig,\n\t\tmanagerDriver,\n\t\tdriver,\n\t\tinternalClient,\n\t);\n\n\t// Inject WebSocket\n\tconst nodeWebSocket = createNodeWebSocket({ app: router });\n\tupgradeWebSocket = nodeWebSocket.upgradeWebSocket;\n\n\t// Start server\n\tconst port = await getPort();\n\tconst server = honoServe({\n\t\tfetch: router.fetch,\n\t\thostname: \"127.0.0.1\",\n\t\tport,\n\t});\n\tinvariant(\n\t\tnodeWebSocket.injectWebSocket !== undefined,\n\t\t\"should have injectWebSocket\",\n\t);\n\tnodeWebSocket.injectWebSocket(server);\n\tconst endpoint = `http://127.0.0.1:${port}`;\n\n\tlogger().info({ msg: \"test server listening\", port });\n\n\t// Cleanup on test finish\n\tc.onTestFinished(async () => {\n\t\tawait new Promise((resolve) => server.close(() => resolve(undefined)));\n\t});\n\n\t// Create client\n\tconst client = createClient<A>({\n\t\tendpoint,\n\t\tnamespace: \"default\",\n\t\trunnerName: \"default\",\n\t});\n\tc.onTestFinished(async () => await client.dispose());\n\n\treturn { client };\n}\n\nexport async function getPort(): Promise<number> {\n\t// Pick random port between 10000 and 65535 (avoiding well-known and registered ports)\n\tconst MIN_PORT = 10000;\n\tconst MAX_PORT = 65535;\n\tconst getRandomPort = () =>\n\t\tMath.floor(Math.random() * (MAX_PORT - MIN_PORT + 1)) + MIN_PORT;\n\n\tlet port = getRandomPort();\n\tlet maxAttempts = 10;\n\n\twhile (maxAttempts > 0) {\n\t\ttry {\n\t\t\t// Try to create a server on the port to check if it's available\n\t\t\tconst server = await new Promise<any>((resolve, reject) => {\n\t\t\t\tconst server = createServer();\n\n\t\t\t\tserver.once(\"error\", (err: Error & { code?: string }) => {\n\t\t\t\t\tif (err.code === \"EADDRINUSE\") {\n\t\t\t\t\t\treject(new Error(`Port ${port} is in use`));\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tserver.once(\"listening\", () => {\n\t\t\t\t\tresolve(server);\n\t\t\t\t});\n\n\t\t\t\tserver.listen(port);\n\t\t\t});\n\n\t\t\t// Close the server since we're just checking availability\n\t\t\tawait new Promise<void>((resolve) => {\n\t\t\t\tserver.close(() => resolve());\n\t\t\t});\n\n\t\t\treturn port;\n\t\t} catch (err) {\n\t\t\t// If port is in use, try a different one\n\t\t\tmaxAttempts--;\n\t\t\tif (maxAttempts <= 0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tport = getRandomPort();\n\t\t}\n\t}\n\n\tthrow new Error(\"Could not find an available port after multiple attempts\");\n}\n","import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"test\");\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-46DWBVYE.cjs","../../src/test/mod.ts","../../src/test/log.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACrBA,0BAA6B;AAC7B,+CAAmC;AACnC,uCAAoC;AACpC,4FAAsB;ADuBtB;AACA;AEzBO,SAAS,MAAA,CAAA,EAAS;AACxB,EAAA,OAAO,yCAAA,MAAgB,CAAA;AACxB;AF2BA;AACA;ACbA,MAAA,SAAsB,SAAA,CACrB,CAAA,EACA,QAAA,EAC8B;AAE9B,EAAA,QAAA,CAAS,MAAA,CAAO,IAAA,CAAK,QAAA,EAAU,IAAA;AAG/B,EAAA,MAAM,OAAA,EAAS,MAAM,8DAAA;AAAA,IACpB,IAAA;AAAA,IACA,CAAA,mBAAA,EAAsB,MAAA,CAAO,UAAA,CAAW,CAAC,CAAA;AAAA,EAAA;AAK1C,EAAA;AACA,EAAA;AAAmD,IAAA;AAClD,IAAA;AAC2B,IAAA;AAChB,MAAA;AACD,MAAA;AACI,IAAA;AACd,EAAA;AAID,EAAA;AACA,EAAA;AAAuB,IAAA;AACtB,IAAA;AAC2B,EAAA;AAE5B,EAAA;AACA,EAAA;AAAmB,IAAA;AACT,IAAA;AACT,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AAID,EAAA;AACA,EAAA;AAGA,EAAA;AACA,EAAA;AAAyB,IAAA;AACV,IAAA;AACJ,IAAA;AACV,EAAA;AAED,EAAA;AAAA,IAAA;AACmC,IAAA;AAClC,EAAA;AAED,EAAA;AACA,EAAA;AAEA,EAAA;AAGA,EAAA;AACC,IAAA;AAAqE,EAAA;AAItE,EAAA;AAA+B,IAAA;AAC9B,IAAA;AACW,IAAA;AACC,EAAA;AAEb,EAAA;AAEA,EAAA;AACD;AAEA;AAEC,EAAA;AACA,EAAA;AACA,EAAA;AAGA,EAAA;AACA,EAAA;AAEA,EAAA;AACC,IAAA;AAEC,MAAA;AACC,QAAA;AAEA,QAAA;AACC,UAAA;AACC,YAAA;AAA0C,UAAA;AAE1C,YAAA;AAAU,UAAA;AACX,QAAA;AAGD,QAAA;AACC,UAAA;AAAc,QAAA;AAGf,QAAA;AAAkB,MAAA;AAInB,MAAA;AACC,QAAA;AAA4B,MAAA;AAG7B,MAAA;AAAO,IAAA;AAGP,MAAA;AACA,MAAA;AACC,QAAA;AAAA,MAAA;AAED,MAAA;AAAqB,IAAA;AACtB,EAAA;AAGD,EAAA;AACD;ADpBA;AACA;AACA;AACA;AACA","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-46DWBVYE.cjs","sourcesContent":[null,"import { createServer } from \"node:net\";\nimport { serve as honoServe } from \"@hono/node-server\";\nimport { createNodeWebSocket } from \"@hono/node-ws\";\nimport invariant from \"invariant\";\nimport { type TestContext, vi } from \"vitest\";\nimport { type Client, createClient } from \"@/client/mod\";\nimport { createFileSystemOrMemoryDriver } from \"@/drivers/file-system/mod\";\nimport { configureInspectorAccessToken } from \"@/inspector/utils\";\nimport { createManagerRouter } from \"@/manager/router\";\nimport { createClientWithDriver, type Registry, type RunConfig } from \"@/mod\";\nimport { ClientConfigSchema } from \"@/client/config\";\nimport { RunnerConfigSchema } from \"@/registry/run-config\";\nimport { logger } from \"./log\";\n\nexport interface SetupTestResult<A extends Registry<any>> {\n\tclient: Client<A>;\n}\n\n// Must use `TestContext` since global hooks do not work when running concurrently\nexport async function setupTest<A extends Registry<any>>(\n\tc: TestContext,\n\tregistry: A,\n): Promise<SetupTestResult<A>> {\n\t// Force enable test mode\n\tregistry.config.test.enabled = true;\n\n\t// Create driver\n\tconst driver = await createFileSystemOrMemoryDriver(\n\t\ttrue,\n\t\t`/tmp/rivetkit-test-${crypto.randomUUID()}`,\n\t);\n\n\t// Build driver config\n\t// biome-ignore lint/style/useConst: Assigned later\n\tlet upgradeWebSocket: any;\n\tconst config: RunConfig = RunnerConfigSchema.parse({\n\t\tdriver,\n\t\tgetUpgradeWebSocket: () => upgradeWebSocket!,\n\t\tinspector: {\n\t\t\tenabled: true,\n\t\t\ttoken: () => \"token\",\n\t\t},\n\t});\n\n\t// Create router\n\tconst managerDriver = driver.manager(registry.config, config);\n\tconst internalClient = createClientWithDriver(\n\t\tmanagerDriver,\n\t\tClientConfigSchema.parse({}),\n\t);\n\tconfigureInspectorAccessToken(config, managerDriver);\n\tconst { router } = createManagerRouter(\n\t\tregistry.config,\n\t\tconfig,\n\t\tmanagerDriver,\n\t\tdriver,\n\t\tinternalClient,\n\t);\n\n\t// Inject WebSocket\n\tconst nodeWebSocket = createNodeWebSocket({ app: router });\n\tupgradeWebSocket = nodeWebSocket.upgradeWebSocket;\n\n\t// Start server\n\tconst port = await getPort();\n\tconst server = honoServe({\n\t\tfetch: router.fetch,\n\t\thostname: \"127.0.0.1\",\n\t\tport,\n\t});\n\tinvariant(\n\t\tnodeWebSocket.injectWebSocket !== undefined,\n\t\t\"should have injectWebSocket\",\n\t);\n\tnodeWebSocket.injectWebSocket(server);\n\tconst endpoint = `http://127.0.0.1:${port}`;\n\n\tlogger().info({ msg: \"test server listening\", port });\n\n\t// Cleanup on test finish\n\tc.onTestFinished(async () => {\n\t\tawait new Promise((resolve) => server.close(() => resolve(undefined)));\n\t});\n\n\t// Create client\n\tconst client = createClient<A>({\n\t\tendpoint,\n\t\tnamespace: \"default\",\n\t\trunnerName: \"default\",\n\t});\n\tc.onTestFinished(async () => await client.dispose());\n\n\treturn { client };\n}\n\nexport async function getPort(): Promise<number> {\n\t// Pick random port between 10000 and 65535 (avoiding well-known and registered ports)\n\tconst MIN_PORT = 10000;\n\tconst MAX_PORT = 65535;\n\tconst getRandomPort = () =>\n\t\tMath.floor(Math.random() * (MAX_PORT - MIN_PORT + 1)) + MIN_PORT;\n\n\tlet port = getRandomPort();\n\tlet maxAttempts = 10;\n\n\twhile (maxAttempts > 0) {\n\t\ttry {\n\t\t\t// Try to create a server on the port to check if it's available\n\t\t\tconst server = await new Promise<any>((resolve, reject) => {\n\t\t\t\tconst server = createServer();\n\n\t\t\t\tserver.once(\"error\", (err: Error & { code?: string }) => {\n\t\t\t\t\tif (err.code === \"EADDRINUSE\") {\n\t\t\t\t\t\treject(new Error(`Port ${port} is in use`));\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tserver.once(\"listening\", () => {\n\t\t\t\t\tresolve(server);\n\t\t\t\t});\n\n\t\t\t\tserver.listen(port);\n\t\t\t});\n\n\t\t\t// Close the server since we're just checking availability\n\t\t\tawait new Promise<void>((resolve) => {\n\t\t\t\tserver.close(() => resolve());\n\t\t\t});\n\n\t\t\treturn port;\n\t\t} catch (err) {\n\t\t\t// If port is in use, try a different one\n\t\t\tmaxAttempts--;\n\t\t\tif (maxAttempts <= 0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tport = getRandomPort();\n\t\t}\n\t}\n\n\tthrow new Error(\"Could not find an available port after multiple attempts\");\n}\n","import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"test\");\n}\n"]}
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  EncodingSchema
3
- } from "./chunk-2LOXTB3G.js";
3
+ } from "./chunk-HPIRVETT.js";
4
4
  import {
5
5
  LogLevelSchema,
6
6
  VERSION,
7
7
  bufferToArrayBuffer,
8
8
  getEnvUniversal
9
- } from "./chunk-WXLDDJCI.js";
9
+ } from "./chunk-OI6FEIRD.js";
10
10
 
11
11
  // src/registry/run-config.ts
12
12
  import { z as z4 } from "zod";
@@ -888,4 +888,4 @@ export {
888
888
  RunnerConfigSchema,
889
889
  getInitialActorKvState
890
890
  };
891
- //# sourceMappingURL=chunk-5IE76QRF.js.map
891
+ //# sourceMappingURL=chunk-DGSYEC34.js.map
@@ -1,20 +1,20 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkMZ3SRIPMcjs = require('./chunk-MZ3SRIPM.cjs');
4
+ var _chunkZUJRXXQCcjs = require('./chunk-ZUJRXXQC.cjs');
5
5
 
6
6
 
7
- var _chunkMZCRC64Wcjs = require('./chunk-MZCRC64W.cjs');
7
+ var _chunkF4CRQFYGcjs = require('./chunk-F4CRQFYG.cjs');
8
8
 
9
9
  // src/client/mod.ts
10
10
  function createClient(endpointOrConfig) {
11
11
  const configInput = endpointOrConfig === void 0 ? {} : typeof endpointOrConfig === "string" ? { endpoint: endpointOrConfig } : endpointOrConfig;
12
- const config = _chunkMZCRC64Wcjs.ClientConfigSchema.parse(configInput);
13
- const driver = new (0, _chunkMZ3SRIPMcjs.RemoteManagerDriver)(config);
14
- return _chunkMZ3SRIPMcjs.createClientWithDriver.call(void 0, driver, config);
12
+ const config = _chunkF4CRQFYGcjs.ClientConfigSchema.parse(configInput);
13
+ const driver = new (0, _chunkZUJRXXQCcjs.RemoteManagerDriver)(config);
14
+ return _chunkZUJRXXQCcjs.createClientWithDriver.call(void 0, driver, config);
15
15
  }
16
16
 
17
17
 
18
18
 
19
19
  exports.createClient = createClient;
20
- //# sourceMappingURL=chunk-UENID7AK.cjs.map
20
+ //# sourceMappingURL=chunk-DI7LJEYL.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-UENID7AK.cjs","../../src/client/mod.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACuCO,SAAS,YAAA,CACf,gBAAA,EACY;AAEZ,EAAA,MAAM,YAAA,EACL,iBAAA,IAAqB,KAAA,EAAA,EAClB,CAAC,EAAA,EACD,OAAO,iBAAA,IAAqB,SAAA,EAC3B,EAAE,QAAA,EAAU,iBAAiB,EAAA,EAC7B,gBAAA;AACL,EAAA,MAAM,OAAA,EAAS,oCAAA,CAAmB,KAAA,CAAM,WAAW,CAAA;AAGnD,EAAA,MAAM,OAAA,EAAS,IAAI,0CAAA,CAAoB,MAAM,CAAA;AAC7C,EAAA,OAAO,sDAAA,MAA0B,EAAQ,MAAM,CAAA;AAChD;AD/CA;AACA;AACE;AACF,oCAAC","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-UENID7AK.cjs","sourcesContent":[null,"import type { Registry } from \"@/registry/mod\";\nimport { RemoteManagerDriver } from \"@/remote-manager-driver/mod\";\nimport {\n\ttype Client,\n\ttype ClientConfigInput,\n\tcreateClientWithDriver,\n} from \"./client\";\nimport { ClientConfigSchema } from \"./config\";\n\nexport {\n\tActorDefinition,\n\tAnyActorDefinition,\n} from \"@/actor/definition\";\nexport type { Encoding } from \"@/actor/protocol/serde\";\nexport {\n\tActorClientError,\n\tActorError,\n\tInternalError,\n\tMalformedResponseMessage,\n\tManagerError,\n} from \"@/client/errors\";\nexport type { CreateRequest } from \"@/manager/protocol/query\";\nexport type { ActorActionFunction } from \"./actor-common\";\nexport type {\n\tActorConn,\n\tConnectionStateCallback,\n\tEventUnsubscribe,\n} from \"./actor-conn\";\nexport { ActorConnRaw } from \"./actor-conn\";\nexport type { ActorHandle } from \"./actor-handle\";\nexport { ActorHandleRaw } from \"./actor-handle\";\nexport type {\n\tActorAccessor,\n\tClient,\n\tClientRaw,\n\tCreateOptions,\n\tExtractActorsFromRegistry,\n\tExtractRegistryFromClient,\n\tGetOptions,\n\tGetWithIdOptions,\n\tQueryOptions,\n\tRegion,\n} from \"./client\";\n\n/**\n * Creates a client with the actor accessor proxy.\n */\nexport function createClient<A extends Registry<any>>(\n\tendpointOrConfig?: string | ClientConfigInput,\n): Client<A> {\n\t// Parse config\n\tconst configInput =\n\t\tendpointOrConfig === undefined\n\t\t\t? {}\n\t\t\t: typeof endpointOrConfig === \"string\"\n\t\t\t\t? { endpoint: endpointOrConfig }\n\t\t\t\t: endpointOrConfig;\n\tconst config = ClientConfigSchema.parse(configInput);\n\n\t// Create client\n\tconst driver = new RemoteManagerDriver(config);\n\treturn createClientWithDriver<A>(driver, config);\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-DI7LJEYL.cjs","../../src/client/mod.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACuCO,SAAS,YAAA,CACf,gBAAA,EACY;AAEZ,EAAA,MAAM,YAAA,EACL,iBAAA,IAAqB,KAAA,EAAA,EAClB,CAAC,EAAA,EACD,OAAO,iBAAA,IAAqB,SAAA,EAC3B,EAAE,QAAA,EAAU,iBAAiB,EAAA,EAC7B,gBAAA;AACL,EAAA,MAAM,OAAA,EAAS,oCAAA,CAAmB,KAAA,CAAM,WAAW,CAAA;AAGnD,EAAA,MAAM,OAAA,EAAS,IAAI,0CAAA,CAAoB,MAAM,CAAA;AAC7C,EAAA,OAAO,sDAAA,MAA0B,EAAQ,MAAM,CAAA;AAChD;AD/CA;AACA;AACE;AACF,oCAAC","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-DI7LJEYL.cjs","sourcesContent":[null,"import type { Registry } from \"@/registry/mod\";\nimport { RemoteManagerDriver } from \"@/remote-manager-driver/mod\";\nimport {\n\ttype Client,\n\ttype ClientConfigInput,\n\tcreateClientWithDriver,\n} from \"./client\";\nimport { ClientConfigSchema } from \"./config\";\n\nexport {\n\tActorDefinition,\n\tAnyActorDefinition,\n} from \"@/actor/definition\";\nexport type { Encoding } from \"@/actor/protocol/serde\";\nexport {\n\tActorClientError,\n\tActorError,\n\tInternalError,\n\tMalformedResponseMessage,\n\tManagerError,\n} from \"@/client/errors\";\nexport type { CreateRequest } from \"@/manager/protocol/query\";\nexport type { ActorActionFunction } from \"./actor-common\";\nexport type {\n\tActorConn,\n\tConnectionStateCallback,\n\tEventUnsubscribe,\n} from \"./actor-conn\";\nexport { ActorConnRaw } from \"./actor-conn\";\nexport type { ActorHandle } from \"./actor-handle\";\nexport { ActorHandleRaw } from \"./actor-handle\";\nexport type {\n\tActorAccessor,\n\tClient,\n\tClientRaw,\n\tCreateOptions,\n\tExtractActorsFromRegistry,\n\tExtractRegistryFromClient,\n\tGetOptions,\n\tGetWithIdOptions,\n\tQueryOptions,\n\tRegion,\n} from \"./client\";\n\n/**\n * Creates a client with the actor accessor proxy.\n */\nexport function createClient<A extends Registry<any>>(\n\tendpointOrConfig?: string | ClientConfigInput,\n): Client<A> {\n\t// Parse config\n\tconst configInput =\n\t\tendpointOrConfig === undefined\n\t\t\t? {}\n\t\t\t: typeof endpointOrConfig === \"string\"\n\t\t\t\t? { endpoint: endpointOrConfig }\n\t\t\t\t: endpointOrConfig;\n\tconst config = ClientConfigSchema.parse(configInput);\n\n\t// Create client\n\tconst driver = new RemoteManagerDriver(config);\n\treturn createClientWithDriver<A>(driver, config);\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  RemoteManagerDriver,
3
3
  createClientWithDriver
4
- } from "./chunk-FBPZAU3N.js";
4
+ } from "./chunk-YBOQOQZB.js";
5
5
  import {
6
6
  ClientConfigSchema
7
- } from "./chunk-5IE76QRF.js";
7
+ } from "./chunk-DGSYEC34.js";
8
8
 
9
9
  // src/client/mod.ts
10
10
  function createClient(endpointOrConfig) {
@@ -17,4 +17,4 @@ function createClient(endpointOrConfig) {
17
17
  export {
18
18
  createClient
19
19
  };
20
- //# sourceMappingURL=chunk-POJ4HHIO.js.map
20
+ //# sourceMappingURL=chunk-DQH5K5TL.js.map
@@ -4,7 +4,7 @@ import {
4
4
  HEADER_ACTOR_QUERY,
5
5
  HEADER_CONN_PARAMS,
6
6
  HEADER_ENCODING
7
- } from "./chunk-2LOXTB3G.js";
7
+ } from "./chunk-HPIRVETT.js";
8
8
 
9
9
  // src/inspector/protocol/common.ts
10
10
  import z2 from "zod/v4";
@@ -232,4 +232,4 @@ export {
232
232
  BuildsSchema,
233
233
  CreateActorSchema
234
234
  };
235
- //# sourceMappingURL=chunk-EWQE7L3V.js.map
235
+ //# sourceMappingURL=chunk-EOXUA7SX.js.map
@@ -1,12 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
2
2
 
3
- var _chunk7XZX3T4Dcjs = require('./chunk-7XZX3T4D.cjs');
3
+ var _chunk23EJLAOVcjs = require('./chunk-23EJLAOV.cjs');
4
4
 
5
5
 
6
6
 
7
7
 
8
8
 
9
- var _chunkHK6QNZX3cjs = require('./chunk-HK6QNZX3.cjs');
9
+ var _chunkREMOXAIWcjs = require('./chunk-REMOXAIW.cjs');
10
10
 
11
11
  // src/registry/run-config.ts
12
12
  var _zod = require('zod'); var _zod2 = _interopRequireDefault(_zod);
@@ -19,15 +19,15 @@ var _zod = require('zod'); var _zod2 = _interopRequireDefault(_zod);
19
19
  var ClientConfigSchema = _zod2.default.object({
20
20
  /** Endpoint to connect to for Rivet Engine or RivetKit manager API. */
21
21
  endpoint: _zod2.default.string().optional().transform(
22
- (x) => _nullishCoalesce(_nullishCoalesce(x, () => ( _chunkHK6QNZX3cjs.getEnvUniversal.call(void 0, "RIVET_ENGINE"))), () => ( _chunkHK6QNZX3cjs.getEnvUniversal.call(void 0, "RIVET_ENDPOINT")))
22
+ (x) => _nullishCoalesce(_nullishCoalesce(x, () => ( _chunkREMOXAIWcjs.getEnvUniversal.call(void 0, "RIVET_ENGINE"))), () => ( _chunkREMOXAIWcjs.getEnvUniversal.call(void 0, "RIVET_ENDPOINT")))
23
23
  ),
24
24
  /** Token to use to authenticate with the API. */
25
- token: _zod2.default.string().optional().transform((x) => _nullishCoalesce(x, () => ( _chunkHK6QNZX3cjs.getEnvUniversal.call(void 0, "RIVET_TOKEN")))),
25
+ token: _zod2.default.string().optional().transform((x) => _nullishCoalesce(x, () => ( _chunkREMOXAIWcjs.getEnvUniversal.call(void 0, "RIVET_TOKEN")))),
26
26
  /** Namespace to connect to. */
27
- namespace: _zod2.default.string().default(() => _nullishCoalesce(_chunkHK6QNZX3cjs.getEnvUniversal.call(void 0, "RIVET_NAMESPACE"), () => ( "default"))),
27
+ namespace: _zod2.default.string().default(() => _nullishCoalesce(_chunkREMOXAIWcjs.getEnvUniversal.call(void 0, "RIVET_NAMESPACE"), () => ( "default"))),
28
28
  /** Name of the runner. This is used to group together runners in to different pools. */
29
- runnerName: _zod2.default.string().default(() => _nullishCoalesce(_chunkHK6QNZX3cjs.getEnvUniversal.call(void 0, "RIVET_RUNNER"), () => ( "default"))),
30
- encoding: _chunk7XZX3T4Dcjs.EncodingSchema.default("bare"),
29
+ runnerName: _zod2.default.string().default(() => _nullishCoalesce(_chunkREMOXAIWcjs.getEnvUniversal.call(void 0, "RIVET_RUNNER"), () => ( "default"))),
30
+ encoding: _chunk23EJLAOVcjs.EncodingSchema.default("bare"),
31
31
  headers: _zod2.default.record(_zod2.default.string(), _zod2.default.string()).optional().default(() => ({})),
32
32
  // See RunConfig.getUpgradeWebSocket
33
33
  getUpgradeWebSocket: _zod2.default.custom().optional(),
@@ -38,7 +38,7 @@ var ClientConfigSchema = _zod2.default.object({
38
38
  // src/drivers/engine/config.ts
39
39
  var EngineConfigSchemaBase = _zod.z.object({
40
40
  /** Unique key for this runner. Runners connecting a given key will replace any other runner connected with the same key. */
41
- runnerKey: _zod.z.string().optional().transform((x) => _nullishCoalesce(x, () => ( _chunkHK6QNZX3cjs.getEnvUniversal.call(void 0, "RIVET_RUNNER_KEY")))),
41
+ runnerKey: _zod.z.string().optional().transform((x) => _nullishCoalesce(x, () => ( _chunkREMOXAIWcjs.getEnvUniversal.call(void 0, "RIVET_RUNNER_KEY")))),
42
42
  /** How many actors this runner can run. */
43
43
  totalSlots: _zod.z.number().default(1e5)
44
44
  }).merge(ClientConfigSchema);
@@ -49,14 +49,14 @@ var EngingConfigSchema = EngineConfigSchemaBase.default(
49
49
  // src/inspector/config.ts
50
50
 
51
51
  var defaultTokenFn = () => {
52
- const envToken = _chunkHK6QNZX3cjs.getEnvUniversal.call(void 0, "RIVETKIT_INSPECTOR_TOKEN");
52
+ const envToken = _chunkREMOXAIWcjs.getEnvUniversal.call(void 0, "RIVETKIT_INSPECTOR_TOKEN");
53
53
  if (envToken) {
54
54
  return envToken;
55
55
  }
56
56
  return "";
57
57
  };
58
58
  var defaultEnabled = () => {
59
- return _chunkHK6QNZX3cjs.getEnvUniversal.call(void 0, "NODE_ENV") !== "production" || !_chunkHK6QNZX3cjs.getEnvUniversal.call(void 0, "RIVETKIT_INSPECTOR_DISABLE");
59
+ return _chunkREMOXAIWcjs.getEnvUniversal.call(void 0, "NODE_ENV") !== "production" || !_chunkREMOXAIWcjs.getEnvUniversal.call(void 0, "RIVETKIT_INSPECTOR_DISABLE");
60
60
  };
61
61
  var InspectorConfigSchema = _zod.z.object({
62
62
  enabled: _zod.z.boolean().or(
@@ -98,10 +98,10 @@ var RunnerConfigSchemaUnmerged = _zod.z.object({
98
98
  /** @experimental */
99
99
  defaultServerPort: _zod.z.number().default(6420),
100
100
  /** @experimental */
101
- runEngine: _zod.z.boolean().optional().default(() => _chunkHK6QNZX3cjs.getEnvUniversal.call(void 0, "RIVET_RUN_ENGINE") === "1"),
101
+ runEngine: _zod.z.boolean().optional().default(() => _chunkREMOXAIWcjs.getEnvUniversal.call(void 0, "RIVET_RUN_ENGINE") === "1"),
102
102
  /** @experimental */
103
103
  runEngineVersion: _zod.z.string().optional().default(
104
- () => _nullishCoalesce(_chunkHK6QNZX3cjs.getEnvUniversal.call(void 0, "RIVET_RUN_ENGINE_VERSION"), () => ( _chunkHK6QNZX3cjs.VERSION))
104
+ () => _nullishCoalesce(_chunkREMOXAIWcjs.getEnvUniversal.call(void 0, "RIVET_RUN_ENGINE_VERSION"), () => ( _chunkREMOXAIWcjs.VERSION))
105
105
  ),
106
106
  /** @experimental */
107
107
  overrideServerAddress: _zod.z.string().optional(),
@@ -114,7 +114,7 @@ var RunnerConfigSchemaUnmerged = _zod.z.object({
114
114
  * serverlessly (by the Rivet Engine for example).
115
115
  */
116
116
  runnerKind: _zod.z.enum(["serverless", "normal"]).optional().default(
117
- () => _chunkHK6QNZX3cjs.getEnvUniversal.call(void 0, "RIVET_RUNNER_KIND") === "serverless" ? "serverless" : "normal"
117
+ () => _chunkREMOXAIWcjs.getEnvUniversal.call(void 0, "RIVET_RUNNER_KIND") === "serverless" ? "serverless" : "normal"
118
118
  ),
119
119
  totalSlots: _zod.z.number().optional(),
120
120
  /**
@@ -136,7 +136,7 @@ var RunnerConfigSchemaUnmerged = _zod.z.object({
136
136
  * */
137
137
  logging: _zod.z.object({
138
138
  baseLogger: _zod.z.custom().optional(),
139
- level: _chunkHK6QNZX3cjs.LogLevelSchema.optional()
139
+ level: _chunkREMOXAIWcjs.LogLevelSchema.optional()
140
140
  }).optional().default(() => ({})),
141
141
  /**
142
142
  * @experimental
@@ -862,9 +862,9 @@ var CONN_VERSIONED = _vbare.createVersionedDataHandler.call(void 0, {
862
862
  // src/driver-helpers/utils.ts
863
863
  function serializeEmptyPersistData(input) {
864
864
  const persistData = {
865
- input: input !== void 0 ? _chunkHK6QNZX3cjs.bufferToArrayBuffer.call(void 0, cbor.encode(input)) : null,
865
+ input: input !== void 0 ? _chunkREMOXAIWcjs.bufferToArrayBuffer.call(void 0, cbor.encode(input)) : null,
866
866
  hasInitialized: false,
867
- state: _chunkHK6QNZX3cjs.bufferToArrayBuffer.call(void 0, cbor.encode(void 0)),
867
+ state: _chunkREMOXAIWcjs.bufferToArrayBuffer.call(void 0, cbor.encode(void 0)),
868
868
  scheduledEvents: []
869
869
  };
870
870
  return ACTOR_VERSIONED.serializeWithEmbeddedVersion(
@@ -888,4 +888,4 @@ function getInitialActorKvState(input) {
888
888
 
889
889
 
890
890
  exports.CURRENT_VERSION = CURRENT_VERSION; exports.ACTOR_VERSIONED = ACTOR_VERSIONED; exports.CONN_VERSIONED = CONN_VERSIONED; exports.KEYS = KEYS; exports.makeConnKey = makeConnKey; exports.ClientConfigSchema = ClientConfigSchema; exports.DriverConfigSchema = DriverConfigSchema; exports.RunnerConfigSchema = RunnerConfigSchema; exports.getInitialActorKvState = getInitialActorKvState;
891
- //# sourceMappingURL=chunk-MZCRC64W.cjs.map
891
+ //# sourceMappingURL=chunk-F4CRQFYG.cjs.map