rivetkit 2.0.39 → 2.0.41

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 (103) hide show
  1. package/dist/schemas/actor-persist/v1.js +167 -0
  2. package/dist/schemas/actor-persist/v2.js +200 -0
  3. package/dist/schemas/actor-persist/v3.js +200 -0
  4. package/dist/schemas/client-protocol/v1.js +301 -0
  5. package/dist/schemas/client-protocol/v2.js +299 -0
  6. package/dist/schemas/file-system-driver/v1.js +76 -0
  7. package/dist/schemas/file-system-driver/v2.js +103 -0
  8. package/dist/schemas/file-system-driver/v3.js +122 -0
  9. package/dist/tsup/actor/errors.cjs.map +1 -1
  10. package/dist/tsup/{chunk-OJZRCEIA.js → chunk-4J5EFV3E.js} +5 -5
  11. package/dist/tsup/{chunk-7E3RWMR6.cjs → chunk-4UHJ3ADW.cjs} +173 -107
  12. package/dist/tsup/chunk-4UHJ3ADW.cjs.map +1 -0
  13. package/dist/tsup/{chunk-BQ36VTSB.js → chunk-7KIR3QLO.js} +86 -20
  14. package/dist/tsup/{chunk-BQ36VTSB.js.map → chunk-7KIR3QLO.js.map} +1 -1
  15. package/dist/tsup/{chunk-KMYFL3OL.cjs → chunk-B5UXC4QV.cjs} +75 -64
  16. package/dist/tsup/chunk-B5UXC4QV.cjs.map +1 -0
  17. package/dist/tsup/{chunk-C64FV764.cjs → chunk-DSNSFYDL.cjs} +3 -3
  18. package/dist/tsup/chunk-DSNSFYDL.cjs.map +1 -0
  19. package/dist/tsup/chunk-GBENOENJ.cjs.map +1 -1
  20. package/dist/tsup/{chunk-DY4H3ASE.cjs → chunk-GTQKDCM4.cjs} +46 -46
  21. package/dist/tsup/chunk-GTQKDCM4.cjs.map +1 -0
  22. package/dist/tsup/chunk-KDFWJKMJ.cjs.map +1 -1
  23. package/dist/tsup/{chunk-CDK6DRO2.js → chunk-LMG4QMDO.js} +2 -2
  24. package/dist/tsup/{chunk-CDK6DRO2.js.map → chunk-LMG4QMDO.js.map} +1 -1
  25. package/dist/tsup/{chunk-T7IPDBWH.js → chunk-NRP2OHSW.js} +4 -4
  26. package/dist/tsup/{chunk-PVKUXMOA.js → chunk-OXN6EZUB.js} +19 -8
  27. package/dist/tsup/chunk-OXN6EZUB.js.map +1 -0
  28. package/dist/tsup/{chunk-MZPYVTVG.cjs → chunk-QDVKDX7G.cjs} +9 -9
  29. package/dist/tsup/chunk-QDVKDX7G.cjs.map +1 -0
  30. package/dist/tsup/{chunk-X72X7I7T.cjs → chunk-S6F7EKC7.cjs} +2 -2
  31. package/dist/tsup/chunk-S6F7EKC7.cjs.map +1 -0
  32. package/dist/tsup/chunk-SNAUKDDK.cjs.map +1 -1
  33. package/dist/tsup/{chunk-XU74APB4.js → chunk-UGOCTUBG.js} +6 -5
  34. package/dist/tsup/chunk-UGOCTUBG.js.map +1 -0
  35. package/dist/tsup/{chunk-UAX5E3EU.cjs → chunk-WYZLRPQM.cjs} +250 -249
  36. package/dist/tsup/chunk-WYZLRPQM.cjs.map +1 -0
  37. package/dist/tsup/{chunk-PHCD25XO.js → chunk-Y7ZDTLD2.js} +2 -2
  38. package/dist/tsup/client/mod.cjs +5 -5
  39. package/dist/tsup/client/mod.cjs.map +1 -1
  40. package/dist/tsup/client/mod.d.cts +2 -2
  41. package/dist/tsup/client/mod.d.ts +2 -2
  42. package/dist/tsup/client/mod.js +4 -4
  43. package/dist/tsup/common/log.cjs +2 -2
  44. package/dist/tsup/common/log.cjs.map +1 -1
  45. package/dist/tsup/common/log.d.cts +2 -2
  46. package/dist/tsup/common/log.d.ts +2 -2
  47. package/dist/tsup/common/log.js +1 -1
  48. package/dist/tsup/common/websocket.cjs +3 -3
  49. package/dist/tsup/common/websocket.cjs.map +1 -1
  50. package/dist/tsup/common/websocket.js +2 -2
  51. package/dist/tsup/{config-BuBlMs6C.d.cts → config-COyis_uH.d.cts} +22 -10
  52. package/dist/tsup/{config-CBwo4ooA.d.ts → config-D43N-CFi.d.ts} +22 -10
  53. package/dist/tsup/{driver-CPXmh8f8.d.cts → driver-Bt7B-qMd.d.cts} +1 -1
  54. package/dist/tsup/{driver-DxWa6HUO.d.ts → driver-KyM2v645.d.ts} +1 -1
  55. package/dist/tsup/driver-helpers/mod.cjs +3 -3
  56. package/dist/tsup/driver-helpers/mod.cjs.map +1 -1
  57. package/dist/tsup/driver-helpers/mod.d.cts +2 -2
  58. package/dist/tsup/driver-helpers/mod.d.ts +2 -2
  59. package/dist/tsup/driver-helpers/mod.js +2 -2
  60. package/dist/tsup/driver-test-suite/mod.cjs +62 -34
  61. package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
  62. package/dist/tsup/driver-test-suite/mod.d.cts +2 -2
  63. package/dist/tsup/driver-test-suite/mod.d.ts +2 -2
  64. package/dist/tsup/driver-test-suite/mod.js +35 -7
  65. package/dist/tsup/driver-test-suite/mod.js.map +1 -1
  66. package/dist/tsup/inspector/mod.cjs.map +1 -1
  67. package/dist/tsup/mod.cjs +7 -7
  68. package/dist/tsup/mod.cjs.map +1 -1
  69. package/dist/tsup/mod.d.cts +4 -4
  70. package/dist/tsup/mod.d.ts +4 -4
  71. package/dist/tsup/mod.js +6 -6
  72. package/dist/tsup/test/mod.cjs +7 -7
  73. package/dist/tsup/test/mod.cjs.map +1 -1
  74. package/dist/tsup/test/mod.d.cts +1 -1
  75. package/dist/tsup/test/mod.d.ts +1 -1
  76. package/dist/tsup/test/mod.js +6 -6
  77. package/dist/tsup/utils.cjs +2 -2
  78. package/dist/tsup/utils.cjs.map +1 -1
  79. package/dist/tsup/utils.js +1 -1
  80. package/package.json +2 -2
  81. package/src/actor/instance/schedule-manager.ts +2 -1
  82. package/src/actor/router-websocket-endpoints.test.ts +54 -0
  83. package/src/actor/router-websocket-endpoints.ts +9 -4
  84. package/src/common/router.ts +2 -0
  85. package/src/driver-test-suite/tests/raw-websocket.ts +40 -0
  86. package/src/engine-process/mod.ts +69 -7
  87. package/src/registry/config/index.ts +7 -0
  88. package/src/registry/config/serverless.ts +2 -0
  89. package/src/registry/serve.ts +9 -5
  90. package/src/remote-manager-driver/api-endpoints.ts +2 -0
  91. package/src/serverless/configure.ts +3 -0
  92. package/dist/tsup/chunk-7E3RWMR6.cjs.map +0 -1
  93. package/dist/tsup/chunk-C64FV764.cjs.map +0 -1
  94. package/dist/tsup/chunk-DY4H3ASE.cjs.map +0 -1
  95. package/dist/tsup/chunk-KMYFL3OL.cjs.map +0 -1
  96. package/dist/tsup/chunk-MZPYVTVG.cjs.map +0 -1
  97. package/dist/tsup/chunk-PVKUXMOA.js.map +0 -1
  98. package/dist/tsup/chunk-UAX5E3EU.cjs.map +0 -1
  99. package/dist/tsup/chunk-X72X7I7T.cjs.map +0 -1
  100. package/dist/tsup/chunk-XU74APB4.js.map +0 -1
  101. /package/dist/tsup/{chunk-OJZRCEIA.js.map → chunk-4J5EFV3E.js.map} +0 -0
  102. /package/dist/tsup/{chunk-T7IPDBWH.js.map → chunk-NRP2OHSW.js.map} +0 -0
  103. /package/dist/tsup/{chunk-PHCD25XO.js.map → chunk-Y7ZDTLD2.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-KDFWJKMJ.cjs","../schemas/actor-inspector/v1.ts","../../src/schemas/actor-inspector/versioned.ts"],"names":[],"mappings":"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","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-KDFWJKMJ.cjs","sourcesContent":[null,"// @generated - post-processed by compile-bare.ts\nimport * as bare from \"@rivetkit/bare-ts\"\n\nconst config = /* @__PURE__ */ bare.Config({})\n\nexport type uint = bigint\n\nexport type PatchStateRequest = {\n readonly state: ArrayBuffer,\n}\n\nexport function readPatchStateRequest(bc: bare.ByteCursor): PatchStateRequest {\n return {\n state: bare.readData(bc),\n }\n}\n\nexport function writePatchStateRequest(bc: bare.ByteCursor, x: PatchStateRequest): void {\n bare.writeData(bc, x.state)\n}\n\nexport type ActionRequest = {\n readonly id: uint,\n readonly name: string,\n readonly args: ArrayBuffer,\n}\n\nexport function readActionRequest(bc: bare.ByteCursor): ActionRequest {\n return {\n id: bare.readUint(bc),\n name: bare.readString(bc),\n args: bare.readData(bc),\n }\n}\n\nexport function writeActionRequest(bc: bare.ByteCursor, x: ActionRequest): void {\n bare.writeUint(bc, x.id)\n bare.writeString(bc, x.name)\n bare.writeData(bc, x.args)\n}\n\nexport type StateRequest = {\n readonly id: uint,\n}\n\nexport function readStateRequest(bc: bare.ByteCursor): StateRequest {\n return {\n id: bare.readUint(bc),\n }\n}\n\nexport function writeStateRequest(bc: bare.ByteCursor, x: StateRequest): void {\n bare.writeUint(bc, x.id)\n}\n\nexport type ConnectionsRequest = {\n readonly id: uint,\n}\n\nexport function readConnectionsRequest(bc: bare.ByteCursor): ConnectionsRequest {\n return {\n id: bare.readUint(bc),\n }\n}\n\nexport function writeConnectionsRequest(bc: bare.ByteCursor, x: ConnectionsRequest): void {\n bare.writeUint(bc, x.id)\n}\n\nexport type EventsRequest = {\n readonly id: uint,\n}\n\nexport function readEventsRequest(bc: bare.ByteCursor): EventsRequest {\n return {\n id: bare.readUint(bc),\n }\n}\n\nexport function writeEventsRequest(bc: bare.ByteCursor, x: EventsRequest): void {\n bare.writeUint(bc, x.id)\n}\n\nexport type ClearEventsRequest = {\n readonly id: uint,\n}\n\nexport function readClearEventsRequest(bc: bare.ByteCursor): ClearEventsRequest {\n return {\n id: bare.readUint(bc),\n }\n}\n\nexport function writeClearEventsRequest(bc: bare.ByteCursor, x: ClearEventsRequest): void {\n bare.writeUint(bc, x.id)\n}\n\nexport type RpcsListRequest = {\n readonly id: uint,\n}\n\nexport function readRpcsListRequest(bc: bare.ByteCursor): RpcsListRequest {\n return {\n id: bare.readUint(bc),\n }\n}\n\nexport function writeRpcsListRequest(bc: bare.ByteCursor, x: RpcsListRequest): void {\n bare.writeUint(bc, x.id)\n}\n\nexport type ToServerBody =\n | { readonly tag: \"PatchStateRequest\", readonly val: PatchStateRequest }\n | { readonly tag: \"StateRequest\", readonly val: StateRequest }\n | { readonly tag: \"ConnectionsRequest\", readonly val: ConnectionsRequest }\n | { readonly tag: \"ActionRequest\", readonly val: ActionRequest }\n | { readonly tag: \"EventsRequest\", readonly val: EventsRequest }\n | { readonly tag: \"ClearEventsRequest\", readonly val: ClearEventsRequest }\n | { readonly tag: \"RpcsListRequest\", readonly val: RpcsListRequest }\n\nexport function readToServerBody(bc: bare.ByteCursor): ToServerBody {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"PatchStateRequest\", val: readPatchStateRequest(bc) }\n case 1:\n return { tag: \"StateRequest\", val: readStateRequest(bc) }\n case 2:\n return { tag: \"ConnectionsRequest\", val: readConnectionsRequest(bc) }\n case 3:\n return { tag: \"ActionRequest\", val: readActionRequest(bc) }\n case 4:\n return { tag: \"EventsRequest\", val: readEventsRequest(bc) }\n case 5:\n return { tag: \"ClearEventsRequest\", val: readClearEventsRequest(bc) }\n case 6:\n return { tag: \"RpcsListRequest\", val: readRpcsListRequest(bc) }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeToServerBody(bc: bare.ByteCursor, x: ToServerBody): void {\n switch (x.tag) {\n case \"PatchStateRequest\": {\n bare.writeU8(bc, 0)\n writePatchStateRequest(bc, x.val)\n break\n }\n case \"StateRequest\": {\n bare.writeU8(bc, 1)\n writeStateRequest(bc, x.val)\n break\n }\n case \"ConnectionsRequest\": {\n bare.writeU8(bc, 2)\n writeConnectionsRequest(bc, x.val)\n break\n }\n case \"ActionRequest\": {\n bare.writeU8(bc, 3)\n writeActionRequest(bc, x.val)\n break\n }\n case \"EventsRequest\": {\n bare.writeU8(bc, 4)\n writeEventsRequest(bc, x.val)\n break\n }\n case \"ClearEventsRequest\": {\n bare.writeU8(bc, 5)\n writeClearEventsRequest(bc, x.val)\n break\n }\n case \"RpcsListRequest\": {\n bare.writeU8(bc, 6)\n writeRpcsListRequest(bc, x.val)\n break\n }\n }\n}\n\nexport type ToServer = {\n readonly body: ToServerBody,\n}\n\nexport function readToServer(bc: bare.ByteCursor): ToServer {\n return {\n body: readToServerBody(bc),\n }\n}\n\nexport function writeToServer(bc: bare.ByteCursor, x: ToServer): void {\n writeToServerBody(bc, x.body)\n}\n\nexport function encodeToServer(x: ToServer): Uint8Array {\n const bc = new bare.ByteCursor(\n new Uint8Array(config.initialBufferLength),\n config\n )\n writeToServer(bc, x)\n return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)\n}\n\nexport function decodeToServer(bytes: Uint8Array): ToServer {\n const bc = new bare.ByteCursor(bytes, config)\n const result = readToServer(bc)\n if (bc.offset < bc.view.byteLength) {\n throw new bare.BareError(bc.offset, \"remaining bytes\")\n }\n return result\n}\n\nexport type State = ArrayBuffer\n\nexport function readState(bc: bare.ByteCursor): State {\n return bare.readData(bc)\n}\n\nexport function writeState(bc: bare.ByteCursor, x: State): void {\n bare.writeData(bc, x)\n}\n\nexport type Connection = {\n readonly id: string,\n readonly details: ArrayBuffer,\n}\n\nexport function readConnection(bc: bare.ByteCursor): Connection {\n return {\n id: bare.readString(bc),\n details: bare.readData(bc),\n }\n}\n\nexport function writeConnection(bc: bare.ByteCursor, x: Connection): void {\n bare.writeString(bc, x.id)\n bare.writeData(bc, x.details)\n}\n\nexport type ActionEvent = {\n readonly name: string,\n readonly args: ArrayBuffer,\n readonly connId: string,\n}\n\nexport function readActionEvent(bc: bare.ByteCursor): ActionEvent {\n return {\n name: bare.readString(bc),\n args: bare.readData(bc),\n connId: bare.readString(bc),\n }\n}\n\nexport function writeActionEvent(bc: bare.ByteCursor, x: ActionEvent): void {\n bare.writeString(bc, x.name)\n bare.writeData(bc, x.args)\n bare.writeString(bc, x.connId)\n}\n\nexport type BroadcastEvent = {\n readonly eventName: string,\n readonly args: ArrayBuffer,\n}\n\nexport function readBroadcastEvent(bc: bare.ByteCursor): BroadcastEvent {\n return {\n eventName: bare.readString(bc),\n args: bare.readData(bc),\n }\n}\n\nexport function writeBroadcastEvent(bc: bare.ByteCursor, x: BroadcastEvent): void {\n bare.writeString(bc, x.eventName)\n bare.writeData(bc, x.args)\n}\n\nexport type SubscribeEvent = {\n readonly eventName: string,\n readonly connId: string,\n}\n\nexport function readSubscribeEvent(bc: bare.ByteCursor): SubscribeEvent {\n return {\n eventName: bare.readString(bc),\n connId: bare.readString(bc),\n }\n}\n\nexport function writeSubscribeEvent(bc: bare.ByteCursor, x: SubscribeEvent): void {\n bare.writeString(bc, x.eventName)\n bare.writeString(bc, x.connId)\n}\n\nexport type UnSubscribeEvent = {\n readonly eventName: string,\n readonly connId: string,\n}\n\nexport function readUnSubscribeEvent(bc: bare.ByteCursor): UnSubscribeEvent {\n return {\n eventName: bare.readString(bc),\n connId: bare.readString(bc),\n }\n}\n\nexport function writeUnSubscribeEvent(bc: bare.ByteCursor, x: UnSubscribeEvent): void {\n bare.writeString(bc, x.eventName)\n bare.writeString(bc, x.connId)\n}\n\nexport type FiredEvent = {\n readonly eventName: string,\n readonly args: ArrayBuffer,\n readonly connId: string,\n}\n\nexport function readFiredEvent(bc: bare.ByteCursor): FiredEvent {\n return {\n eventName: bare.readString(bc),\n args: bare.readData(bc),\n connId: bare.readString(bc),\n }\n}\n\nexport function writeFiredEvent(bc: bare.ByteCursor, x: FiredEvent): void {\n bare.writeString(bc, x.eventName)\n bare.writeData(bc, x.args)\n bare.writeString(bc, x.connId)\n}\n\nexport type EventBody =\n | { readonly tag: \"ActionEvent\", readonly val: ActionEvent }\n | { readonly tag: \"BroadcastEvent\", readonly val: BroadcastEvent }\n | { readonly tag: \"SubscribeEvent\", readonly val: SubscribeEvent }\n | { readonly tag: \"UnSubscribeEvent\", readonly val: UnSubscribeEvent }\n | { readonly tag: \"FiredEvent\", readonly val: FiredEvent }\n\nexport function readEventBody(bc: bare.ByteCursor): EventBody {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"ActionEvent\", val: readActionEvent(bc) }\n case 1:\n return { tag: \"BroadcastEvent\", val: readBroadcastEvent(bc) }\n case 2:\n return { tag: \"SubscribeEvent\", val: readSubscribeEvent(bc) }\n case 3:\n return { tag: \"UnSubscribeEvent\", val: readUnSubscribeEvent(bc) }\n case 4:\n return { tag: \"FiredEvent\", val: readFiredEvent(bc) }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeEventBody(bc: bare.ByteCursor, x: EventBody): void {\n switch (x.tag) {\n case \"ActionEvent\": {\n bare.writeU8(bc, 0)\n writeActionEvent(bc, x.val)\n break\n }\n case \"BroadcastEvent\": {\n bare.writeU8(bc, 1)\n writeBroadcastEvent(bc, x.val)\n break\n }\n case \"SubscribeEvent\": {\n bare.writeU8(bc, 2)\n writeSubscribeEvent(bc, x.val)\n break\n }\n case \"UnSubscribeEvent\": {\n bare.writeU8(bc, 3)\n writeUnSubscribeEvent(bc, x.val)\n break\n }\n case \"FiredEvent\": {\n bare.writeU8(bc, 4)\n writeFiredEvent(bc, x.val)\n break\n }\n }\n}\n\nexport type Event = {\n readonly id: string,\n readonly timestamp: uint,\n readonly body: EventBody,\n}\n\nexport function readEvent(bc: bare.ByteCursor): Event {\n return {\n id: bare.readString(bc),\n timestamp: bare.readUint(bc),\n body: readEventBody(bc),\n }\n}\n\nexport function writeEvent(bc: bare.ByteCursor, x: Event): void {\n bare.writeString(bc, x.id)\n bare.writeUint(bc, x.timestamp)\n writeEventBody(bc, x.body)\n}\n\nfunction read0(bc: bare.ByteCursor): readonly Connection[] {\n const len = bare.readUintSafe(bc)\n if (len === 0) { return [] }\n const result = [readConnection(bc)]\n for (let i = 1; i < len; i++) {\n result[i] = readConnection(bc)\n }\n return result\n}\n\nfunction write0(bc: bare.ByteCursor, x: readonly Connection[]): void {\n bare.writeUintSafe(bc, x.length)\n for (let i = 0; i < x.length; i++) {\n writeConnection(bc, x[i])\n }\n}\n\nfunction read1(bc: bare.ByteCursor): readonly Event[] {\n const len = bare.readUintSafe(bc)\n if (len === 0) { return [] }\n const result = [readEvent(bc)]\n for (let i = 1; i < len; i++) {\n result[i] = readEvent(bc)\n }\n return result\n}\n\nfunction write1(bc: bare.ByteCursor, x: readonly Event[]): void {\n bare.writeUintSafe(bc, x.length)\n for (let i = 0; i < x.length; i++) {\n writeEvent(bc, x[i])\n }\n}\n\nfunction read2(bc: bare.ByteCursor): State | null {\n return bare.readBool(bc)\n ? readState(bc)\n : null\n}\n\nfunction write2(bc: bare.ByteCursor, x: State | null): void {\n bare.writeBool(bc, x !== null)\n if (x !== null) {\n writeState(bc, x)\n }\n}\n\nfunction read3(bc: bare.ByteCursor): readonly string[] {\n const len = bare.readUintSafe(bc)\n if (len === 0) { return [] }\n const result = [bare.readString(bc)]\n for (let i = 1; i < len; i++) {\n result[i] = bare.readString(bc)\n }\n return result\n}\n\nfunction write3(bc: bare.ByteCursor, x: readonly string[]): void {\n bare.writeUintSafe(bc, x.length)\n for (let i = 0; i < x.length; i++) {\n bare.writeString(bc, x[i])\n }\n}\n\nexport type Init = {\n readonly connections: readonly Connection[],\n readonly events: readonly Event[],\n readonly state: State | null,\n readonly isStateEnabled: boolean,\n readonly rpcs: readonly string[],\n readonly isDatabaseEnabled: boolean,\n}\n\nexport function readInit(bc: bare.ByteCursor): Init {\n return {\n connections: read0(bc),\n events: read1(bc),\n state: read2(bc),\n isStateEnabled: bare.readBool(bc),\n rpcs: read3(bc),\n isDatabaseEnabled: bare.readBool(bc),\n }\n}\n\nexport function writeInit(bc: bare.ByteCursor, x: Init): void {\n write0(bc, x.connections)\n write1(bc, x.events)\n write2(bc, x.state)\n bare.writeBool(bc, x.isStateEnabled)\n write3(bc, x.rpcs)\n bare.writeBool(bc, x.isDatabaseEnabled)\n}\n\nexport type ConnectionsResponse = {\n readonly rid: uint,\n readonly connections: readonly Connection[],\n}\n\nexport function readConnectionsResponse(bc: bare.ByteCursor): ConnectionsResponse {\n return {\n rid: bare.readUint(bc),\n connections: read0(bc),\n }\n}\n\nexport function writeConnectionsResponse(bc: bare.ByteCursor, x: ConnectionsResponse): void {\n bare.writeUint(bc, x.rid)\n write0(bc, x.connections)\n}\n\nexport type StateResponse = {\n readonly rid: uint,\n readonly state: State | null,\n readonly isStateEnabled: boolean,\n}\n\nexport function readStateResponse(bc: bare.ByteCursor): StateResponse {\n return {\n rid: bare.readUint(bc),\n state: read2(bc),\n isStateEnabled: bare.readBool(bc),\n }\n}\n\nexport function writeStateResponse(bc: bare.ByteCursor, x: StateResponse): void {\n bare.writeUint(bc, x.rid)\n write2(bc, x.state)\n bare.writeBool(bc, x.isStateEnabled)\n}\n\nexport type EventsResponse = {\n readonly rid: uint,\n readonly events: readonly Event[],\n}\n\nexport function readEventsResponse(bc: bare.ByteCursor): EventsResponse {\n return {\n rid: bare.readUint(bc),\n events: read1(bc),\n }\n}\n\nexport function writeEventsResponse(bc: bare.ByteCursor, x: EventsResponse): void {\n bare.writeUint(bc, x.rid)\n write1(bc, x.events)\n}\n\nexport type ActionResponse = {\n readonly rid: uint,\n readonly output: ArrayBuffer,\n}\n\nexport function readActionResponse(bc: bare.ByteCursor): ActionResponse {\n return {\n rid: bare.readUint(bc),\n output: bare.readData(bc),\n }\n}\n\nexport function writeActionResponse(bc: bare.ByteCursor, x: ActionResponse): void {\n bare.writeUint(bc, x.rid)\n bare.writeData(bc, x.output)\n}\n\nexport type StateUpdated = {\n readonly state: State,\n}\n\nexport function readStateUpdated(bc: bare.ByteCursor): StateUpdated {\n return {\n state: readState(bc),\n }\n}\n\nexport function writeStateUpdated(bc: bare.ByteCursor, x: StateUpdated): void {\n writeState(bc, x.state)\n}\n\nexport type EventsUpdated = {\n readonly events: readonly Event[],\n}\n\nexport function readEventsUpdated(bc: bare.ByteCursor): EventsUpdated {\n return {\n events: read1(bc),\n }\n}\n\nexport function writeEventsUpdated(bc: bare.ByteCursor, x: EventsUpdated): void {\n write1(bc, x.events)\n}\n\nexport type RpcsListResponse = {\n readonly rid: uint,\n readonly rpcs: readonly string[],\n}\n\nexport function readRpcsListResponse(bc: bare.ByteCursor): RpcsListResponse {\n return {\n rid: bare.readUint(bc),\n rpcs: read3(bc),\n }\n}\n\nexport function writeRpcsListResponse(bc: bare.ByteCursor, x: RpcsListResponse): void {\n bare.writeUint(bc, x.rid)\n write3(bc, x.rpcs)\n}\n\nexport type ConnectionsUpdated = {\n readonly connections: readonly Connection[],\n}\n\nexport function readConnectionsUpdated(bc: bare.ByteCursor): ConnectionsUpdated {\n return {\n connections: read0(bc),\n }\n}\n\nexport function writeConnectionsUpdated(bc: bare.ByteCursor, x: ConnectionsUpdated): void {\n write0(bc, x.connections)\n}\n\nexport type Error = {\n readonly message: string,\n}\n\nexport function readError(bc: bare.ByteCursor): Error {\n return {\n message: bare.readString(bc),\n }\n}\n\nexport function writeError(bc: bare.ByteCursor, x: Error): void {\n bare.writeString(bc, x.message)\n}\n\nexport type ToClientBody =\n | { readonly tag: \"StateResponse\", readonly val: StateResponse }\n | { readonly tag: \"ConnectionsResponse\", readonly val: ConnectionsResponse }\n | { readonly tag: \"EventsResponse\", readonly val: EventsResponse }\n | { readonly tag: \"ActionResponse\", readonly val: ActionResponse }\n | { readonly tag: \"ConnectionsUpdated\", readonly val: ConnectionsUpdated }\n | { readonly tag: \"EventsUpdated\", readonly val: EventsUpdated }\n | { readonly tag: \"StateUpdated\", readonly val: StateUpdated }\n | { readonly tag: \"RpcsListResponse\", readonly val: RpcsListResponse }\n | { readonly tag: \"Error\", readonly val: Error }\n | { readonly tag: \"Init\", readonly val: Init }\n\nexport function readToClientBody(bc: bare.ByteCursor): ToClientBody {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"StateResponse\", val: readStateResponse(bc) }\n case 1:\n return { tag: \"ConnectionsResponse\", val: readConnectionsResponse(bc) }\n case 2:\n return { tag: \"EventsResponse\", val: readEventsResponse(bc) }\n case 3:\n return { tag: \"ActionResponse\", val: readActionResponse(bc) }\n case 4:\n return { tag: \"ConnectionsUpdated\", val: readConnectionsUpdated(bc) }\n case 5:\n return { tag: \"EventsUpdated\", val: readEventsUpdated(bc) }\n case 6:\n return { tag: \"StateUpdated\", val: readStateUpdated(bc) }\n case 7:\n return { tag: \"RpcsListResponse\", val: readRpcsListResponse(bc) }\n case 8:\n return { tag: \"Error\", val: readError(bc) }\n case 9:\n return { tag: \"Init\", val: readInit(bc) }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeToClientBody(bc: bare.ByteCursor, x: ToClientBody): void {\n switch (x.tag) {\n case \"StateResponse\": {\n bare.writeU8(bc, 0)\n writeStateResponse(bc, x.val)\n break\n }\n case \"ConnectionsResponse\": {\n bare.writeU8(bc, 1)\n writeConnectionsResponse(bc, x.val)\n break\n }\n case \"EventsResponse\": {\n bare.writeU8(bc, 2)\n writeEventsResponse(bc, x.val)\n break\n }\n case \"ActionResponse\": {\n bare.writeU8(bc, 3)\n writeActionResponse(bc, x.val)\n break\n }\n case \"ConnectionsUpdated\": {\n bare.writeU8(bc, 4)\n writeConnectionsUpdated(bc, x.val)\n break\n }\n case \"EventsUpdated\": {\n bare.writeU8(bc, 5)\n writeEventsUpdated(bc, x.val)\n break\n }\n case \"StateUpdated\": {\n bare.writeU8(bc, 6)\n writeStateUpdated(bc, x.val)\n break\n }\n case \"RpcsListResponse\": {\n bare.writeU8(bc, 7)\n writeRpcsListResponse(bc, x.val)\n break\n }\n case \"Error\": {\n bare.writeU8(bc, 8)\n writeError(bc, x.val)\n break\n }\n case \"Init\": {\n bare.writeU8(bc, 9)\n writeInit(bc, x.val)\n break\n }\n }\n}\n\nexport type ToClient = {\n readonly body: ToClientBody,\n}\n\nexport function readToClient(bc: bare.ByteCursor): ToClient {\n return {\n body: readToClientBody(bc),\n }\n}\n\nexport function writeToClient(bc: bare.ByteCursor, x: ToClient): void {\n writeToClientBody(bc, x.body)\n}\n\nexport function encodeToClient(x: ToClient): Uint8Array {\n const bc = new bare.ByteCursor(\n new Uint8Array(config.initialBufferLength),\n config\n )\n writeToClient(bc, x)\n return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)\n}\n\nexport function decodeToClient(bytes: Uint8Array): ToClient {\n const bc = new bare.ByteCursor(bytes, config)\n const result = readToClient(bc)\n if (bc.offset < bc.view.byteLength) {\n throw new bare.BareError(bc.offset, \"remaining bytes\")\n }\n return result\n}\n\n\nfunction assert(condition: boolean, message?: string): asserts condition {\n if (!condition) throw new Error(message ?? \"Assertion failed\")\n}\n","import { createVersionedDataHandler } from \"vbare\";\n\nimport * as v1 from \"../../../dist/schemas/actor-inspector/v1\";\n\n\nexport const TO_SERVER_VERSIONED = createVersionedDataHandler<v1.ToServer>({\n\tserializeVersion: (data, version) => {\n\t\tswitch (version) {\n\t\t\tcase 1:\n\t\t\t\treturn v1.encodeToServer(data);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unknown version ${version}`);\n\t\t}\n\t},\n\tdeserializeVersion: (bytes, version) => {\n\t\tswitch (version) {\n\t\t\tcase 1:\n\t\t\t\treturn v1.decodeToServer(bytes);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unknown version ${version}`);\n\t\t}\n\t},\n\tdeserializeConverters: () => [],\n\tserializeConverters: () => [],\n});\n\nexport const TO_CLIENT_VERSIONED = createVersionedDataHandler<v1.ToClient>({\n\tserializeVersion: (data, version) => {\n\t\tswitch (version) {\n\t\t\tcase 1:\n\t\t\t\treturn v1.encodeToClient(data);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unknown version ${version}`);\n\t\t}\n\t},\n\tdeserializeVersion: (bytes, version) => {\n\t\tswitch (version) {\n\t\t\tcase 1:\n\t\t\t\treturn v1.decodeToClient(bytes);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unknown version ${version}`);\n\t\t}\n\t},\n\tdeserializeConverters: () => [],\n\tserializeConverters: () => [],\n});\n"]}
1
+ {"version":3,"sources":["/Users/nathan/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-KDFWJKMJ.cjs","../schemas/actor-inspector/v1.ts","../../src/schemas/actor-inspector/versioned.ts"],"names":[],"mappings":"AAAA;ACCA,wFAAsB;AAEtB,IAAM,OAAA,kBAA8B,IAAA,CAAA,MAAA,CAAO,CAAC,CAAC,CAAA;AAQtC,SAAS,qBAAA,CAAsB,EAAA,EAAwC;AAC1E,EAAA,OAAO;AAAA,IACH,KAAA,EAAY,IAAA,CAAA,QAAA,CAAS,EAAE;AAAA,EAC3B,CAAA;AACJ;AAEO,SAAS,sBAAA,CAAuB,EAAA,EAAqB,CAAA,EAA4B;AACpF,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,KAAK,CAAA;AAC9B;AAQO,SAAS,iBAAA,CAAkB,EAAA,EAAoC;AAClE,EAAA,OAAO;AAAA,IACH,EAAA,EAAS,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA;AAAA,IACpB,IAAA,EAAW,IAAA,CAAA,UAAA,CAAW,EAAE,CAAA;AAAA,IACxB,IAAA,EAAW,IAAA,CAAA,QAAA,CAAS,EAAE;AAAA,EAC1B,CAAA;AACJ;AAEO,SAAS,kBAAA,CAAmB,EAAA,EAAqB,CAAA,EAAwB;AAC5E,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,EAAE,CAAA;AACvB,EAAK,IAAA,CAAA,WAAA,CAAY,EAAA,EAAI,CAAA,CAAE,IAAI,CAAA;AAC3B,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,IAAI,CAAA;AAC7B;AAMO,SAAS,gBAAA,CAAiB,EAAA,EAAmC;AAChE,EAAA,OAAO;AAAA,IACH,EAAA,EAAS,IAAA,CAAA,QAAA,CAAS,EAAE;AAAA,EACxB,CAAA;AACJ;AAEO,SAAS,iBAAA,CAAkB,EAAA,EAAqB,CAAA,EAAuB;AAC1E,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,EAAE,CAAA;AAC3B;AAMO,SAAS,sBAAA,CAAuB,EAAA,EAAyC;AAC5E,EAAA,OAAO;AAAA,IACH,EAAA,EAAS,IAAA,CAAA,QAAA,CAAS,EAAE;AAAA,EACxB,CAAA;AACJ;AAEO,SAAS,uBAAA,CAAwB,EAAA,EAAqB,CAAA,EAA6B;AACtF,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,EAAE,CAAA;AAC3B;AAMO,SAAS,iBAAA,CAAkB,EAAA,EAAoC;AAClE,EAAA,OAAO;AAAA,IACH,EAAA,EAAS,IAAA,CAAA,QAAA,CAAS,EAAE;AAAA,EACxB,CAAA;AACJ;AAEO,SAAS,kBAAA,CAAmB,EAAA,EAAqB,CAAA,EAAwB;AAC5E,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,EAAE,CAAA;AAC3B;AAMO,SAAS,sBAAA,CAAuB,EAAA,EAAyC;AAC5E,EAAA,OAAO;AAAA,IACH,EAAA,EAAS,IAAA,CAAA,QAAA,CAAS,EAAE;AAAA,EACxB,CAAA;AACJ;AAEO,SAAS,uBAAA,CAAwB,EAAA,EAAqB,CAAA,EAA6B;AACtF,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,EAAE,CAAA;AAC3B;AAMO,SAAS,mBAAA,CAAoB,EAAA,EAAsC;AACtE,EAAA,OAAO;AAAA,IACH,EAAA,EAAS,IAAA,CAAA,QAAA,CAAS,EAAE;AAAA,EACxB,CAAA;AACJ;AAEO,SAAS,oBAAA,CAAqB,EAAA,EAAqB,CAAA,EAA0B;AAChF,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,EAAE,CAAA;AAC3B;AAWO,SAAS,gBAAA,CAAiB,EAAA,EAAmC;AAChE,EAAA,MAAM,OAAA,EAAS,EAAA,CAAG,MAAA;AAClB,EAAA,MAAM,IAAA,EAAW,IAAA,CAAA,MAAA,CAAO,EAAE,CAAA;AAC1B,EAAA,OAAA,CAAQ,GAAA,EAAK;AAAA,IACT,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,mBAAA,EAAqB,GAAA,EAAK,qBAAA,CAAsB,EAAE,EAAE,CAAA;AAAA,IACtE,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,cAAA,EAAgB,GAAA,EAAK,gBAAA,CAAiB,EAAE,EAAE,CAAA;AAAA,IAC5D,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,oBAAA,EAAsB,GAAA,EAAK,sBAAA,CAAuB,EAAE,EAAE,CAAA;AAAA,IACxE,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,eAAA,EAAiB,GAAA,EAAK,iBAAA,CAAkB,EAAE,EAAE,CAAA;AAAA,IAC9D,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,eAAA,EAAiB,GAAA,EAAK,iBAAA,CAAkB,EAAE,EAAE,CAAA;AAAA,IAC9D,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,oBAAA,EAAsB,GAAA,EAAK,sBAAA,CAAuB,EAAE,EAAE,CAAA;AAAA,IACxE,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,iBAAA,EAAmB,GAAA,EAAK,mBAAA,CAAoB,EAAE,EAAE,CAAA;AAAA,IAClE,OAAA,EAAS;AACL,MAAA,EAAA,CAAG,OAAA,EAAS,MAAA;AACZ,MAAA,MAAM,IAAS,IAAA,CAAA,SAAA,CAAU,MAAA,EAAQ,aAAa,CAAA;AAAA,IAClD;AAAA,EACJ;AACJ;AAEO,SAAS,iBAAA,CAAkB,EAAA,EAAqB,CAAA,EAAuB;AAC1E,EAAA,OAAA,CAAQ,CAAA,CAAE,GAAA,EAAK;AAAA,IACX,KAAK,mBAAA,EAAqB;AACtB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,sBAAA,CAAuB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AAChC,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,cAAA,EAAgB;AACjB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,iBAAA,CAAkB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AAC3B,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,oBAAA,EAAsB;AACvB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,uBAAA,CAAwB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AACjC,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,eAAA,EAAiB;AAClB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,kBAAA,CAAmB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AAC5B,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,eAAA,EAAiB;AAClB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,kBAAA,CAAmB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AAC5B,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,oBAAA,EAAsB;AACvB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,uBAAA,CAAwB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AACjC,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,iBAAA,EAAmB;AACpB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,oBAAA,CAAqB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AAC9B,MAAA,KAAA;AAAA,IACJ;AAAA,EACJ;AACJ;AAMO,SAAS,YAAA,CAAa,EAAA,EAA+B;AACxD,EAAA,OAAO;AAAA,IACH,IAAA,EAAM,gBAAA,CAAiB,EAAE;AAAA,EAC7B,CAAA;AACJ;AAEO,SAAS,aAAA,CAAc,EAAA,EAAqB,CAAA,EAAmB;AAClE,EAAA,iBAAA,CAAkB,EAAA,EAAI,CAAA,CAAE,IAAI,CAAA;AAChC;AAEO,SAAS,cAAA,CAAe,CAAA,EAAyB;AACpD,EAAA,MAAM,GAAA,EAAK,IAAS,IAAA,CAAA,UAAA;AAAA,IAChB,IAAI,UAAA,CAAW,MAAA,CAAO,mBAAmB,CAAA;AAAA,IACzC;AAAA,EACJ,CAAA;AACA,EAAA,aAAA,CAAc,EAAA,EAAI,CAAC,CAAA;AACnB,EAAA,OAAO,IAAI,UAAA,CAAW,EAAA,CAAG,IAAA,CAAK,MAAA,EAAQ,EAAA,CAAG,IAAA,CAAK,UAAA,EAAY,EAAA,CAAG,MAAM,CAAA;AACvE;AAEO,SAAS,cAAA,CAAe,KAAA,EAA6B;AACxD,EAAA,MAAM,GAAA,EAAK,IAAS,IAAA,CAAA,UAAA,CAAW,KAAA,EAAO,MAAM,CAAA;AAC5C,EAAA,MAAM,OAAA,EAAS,YAAA,CAAa,EAAE,CAAA;AAC9B,EAAA,GAAA,CAAI,EAAA,CAAG,OAAA,EAAS,EAAA,CAAG,IAAA,CAAK,UAAA,EAAY;AAChC,IAAA,MAAM,IAAS,IAAA,CAAA,SAAA,CAAU,EAAA,CAAG,MAAA,EAAQ,iBAAiB,CAAA;AAAA,EACzD;AACA,EAAA,OAAO,MAAA;AACX;AAIO,SAAS,SAAA,CAAU,EAAA,EAA4B;AAClD,EAAA,OAAY,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA;AAC3B;AAEO,SAAS,UAAA,CAAW,EAAA,EAAqB,CAAA,EAAgB;AAC5D,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAC,CAAA;AACxB;AAOO,SAAS,cAAA,CAAe,EAAA,EAAiC;AAC5D,EAAA,OAAO;AAAA,IACH,EAAA,EAAS,IAAA,CAAA,UAAA,CAAW,EAAE,CAAA;AAAA,IACtB,OAAA,EAAc,IAAA,CAAA,QAAA,CAAS,EAAE;AAAA,EAC7B,CAAA;AACJ;AAEO,SAAS,eAAA,CAAgB,EAAA,EAAqB,CAAA,EAAqB;AACtE,EAAK,IAAA,CAAA,WAAA,CAAY,EAAA,EAAI,CAAA,CAAE,EAAE,CAAA;AACzB,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,OAAO,CAAA;AAChC;AAQO,SAAS,eAAA,CAAgB,EAAA,EAAkC;AAC9D,EAAA,OAAO;AAAA,IACH,IAAA,EAAW,IAAA,CAAA,UAAA,CAAW,EAAE,CAAA;AAAA,IACxB,IAAA,EAAW,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA;AAAA,IACtB,MAAA,EAAa,IAAA,CAAA,UAAA,CAAW,EAAE;AAAA,EAC9B,CAAA;AACJ;AAEO,SAAS,gBAAA,CAAiB,EAAA,EAAqB,CAAA,EAAsB;AACxE,EAAK,IAAA,CAAA,WAAA,CAAY,EAAA,EAAI,CAAA,CAAE,IAAI,CAAA;AAC3B,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,IAAI,CAAA;AACzB,EAAK,IAAA,CAAA,WAAA,CAAY,EAAA,EAAI,CAAA,CAAE,MAAM,CAAA;AACjC;AAOO,SAAS,kBAAA,CAAmB,EAAA,EAAqC;AACpE,EAAA,OAAO;AAAA,IACH,SAAA,EAAgB,IAAA,CAAA,UAAA,CAAW,EAAE,CAAA;AAAA,IAC7B,IAAA,EAAW,IAAA,CAAA,QAAA,CAAS,EAAE;AAAA,EAC1B,CAAA;AACJ;AAEO,SAAS,mBAAA,CAAoB,EAAA,EAAqB,CAAA,EAAyB;AAC9E,EAAK,IAAA,CAAA,WAAA,CAAY,EAAA,EAAI,CAAA,CAAE,SAAS,CAAA;AAChC,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,IAAI,CAAA;AAC7B;AAOO,SAAS,kBAAA,CAAmB,EAAA,EAAqC;AACpE,EAAA,OAAO;AAAA,IACH,SAAA,EAAgB,IAAA,CAAA,UAAA,CAAW,EAAE,CAAA;AAAA,IAC7B,MAAA,EAAa,IAAA,CAAA,UAAA,CAAW,EAAE;AAAA,EAC9B,CAAA;AACJ;AAEO,SAAS,mBAAA,CAAoB,EAAA,EAAqB,CAAA,EAAyB;AAC9E,EAAK,IAAA,CAAA,WAAA,CAAY,EAAA,EAAI,CAAA,CAAE,SAAS,CAAA;AAChC,EAAK,IAAA,CAAA,WAAA,CAAY,EAAA,EAAI,CAAA,CAAE,MAAM,CAAA;AACjC;AAOO,SAAS,oBAAA,CAAqB,EAAA,EAAuC;AACxE,EAAA,OAAO;AAAA,IACH,SAAA,EAAgB,IAAA,CAAA,UAAA,CAAW,EAAE,CAAA;AAAA,IAC7B,MAAA,EAAa,IAAA,CAAA,UAAA,CAAW,EAAE;AAAA,EAC9B,CAAA;AACJ;AAEO,SAAS,qBAAA,CAAsB,EAAA,EAAqB,CAAA,EAA2B;AAClF,EAAK,IAAA,CAAA,WAAA,CAAY,EAAA,EAAI,CAAA,CAAE,SAAS,CAAA;AAChC,EAAK,IAAA,CAAA,WAAA,CAAY,EAAA,EAAI,CAAA,CAAE,MAAM,CAAA;AACjC;AAQO,SAAS,cAAA,CAAe,EAAA,EAAiC;AAC5D,EAAA,OAAO;AAAA,IACH,SAAA,EAAgB,IAAA,CAAA,UAAA,CAAW,EAAE,CAAA;AAAA,IAC7B,IAAA,EAAW,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA;AAAA,IACtB,MAAA,EAAa,IAAA,CAAA,UAAA,CAAW,EAAE;AAAA,EAC9B,CAAA;AACJ;AAEO,SAAS,eAAA,CAAgB,EAAA,EAAqB,CAAA,EAAqB;AACtE,EAAK,IAAA,CAAA,WAAA,CAAY,EAAA,EAAI,CAAA,CAAE,SAAS,CAAA;AAChC,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,IAAI,CAAA;AACzB,EAAK,IAAA,CAAA,WAAA,CAAY,EAAA,EAAI,CAAA,CAAE,MAAM,CAAA;AACjC;AASO,SAAS,aAAA,CAAc,EAAA,EAAgC;AAC1D,EAAA,MAAM,OAAA,EAAS,EAAA,CAAG,MAAA;AAClB,EAAA,MAAM,IAAA,EAAW,IAAA,CAAA,MAAA,CAAO,EAAE,CAAA;AAC1B,EAAA,OAAA,CAAQ,GAAA,EAAK;AAAA,IACT,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,aAAA,EAAe,GAAA,EAAK,eAAA,CAAgB,EAAE,EAAE,CAAA;AAAA,IAC1D,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,gBAAA,EAAkB,GAAA,EAAK,kBAAA,CAAmB,EAAE,EAAE,CAAA;AAAA,IAChE,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,gBAAA,EAAkB,GAAA,EAAK,kBAAA,CAAmB,EAAE,EAAE,CAAA;AAAA,IAChE,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,kBAAA,EAAoB,GAAA,EAAK,oBAAA,CAAqB,EAAE,EAAE,CAAA;AAAA,IACpE,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,YAAA,EAAc,GAAA,EAAK,cAAA,CAAe,EAAE,EAAE,CAAA;AAAA,IACxD,OAAA,EAAS;AACL,MAAA,EAAA,CAAG,OAAA,EAAS,MAAA;AACZ,MAAA,MAAM,IAAS,IAAA,CAAA,SAAA,CAAU,MAAA,EAAQ,aAAa,CAAA;AAAA,IAClD;AAAA,EACJ;AACJ;AAEO,SAAS,cAAA,CAAe,EAAA,EAAqB,CAAA,EAAoB;AACpE,EAAA,OAAA,CAAQ,CAAA,CAAE,GAAA,EAAK;AAAA,IACX,KAAK,aAAA,EAAe;AAChB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,gBAAA,CAAiB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AAC1B,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,gBAAA,EAAkB;AACnB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,mBAAA,CAAoB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AAC7B,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,gBAAA,EAAkB;AACnB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,mBAAA,CAAoB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AAC7B,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,kBAAA,EAAoB;AACrB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,qBAAA,CAAsB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AAC/B,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,YAAA,EAAc;AACf,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,eAAA,CAAgB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AACzB,MAAA,KAAA;AAAA,IACJ;AAAA,EACJ;AACJ;AAQO,SAAS,SAAA,CAAU,EAAA,EAA4B;AAClD,EAAA,OAAO;AAAA,IACH,EAAA,EAAS,IAAA,CAAA,UAAA,CAAW,EAAE,CAAA;AAAA,IACtB,SAAA,EAAgB,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA;AAAA,IAC3B,IAAA,EAAM,aAAA,CAAc,EAAE;AAAA,EAC1B,CAAA;AACJ;AAEO,SAAS,UAAA,CAAW,EAAA,EAAqB,CAAA,EAAgB;AAC5D,EAAK,IAAA,CAAA,WAAA,CAAY,EAAA,EAAI,CAAA,CAAE,EAAE,CAAA;AACzB,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,SAAS,CAAA;AAC9B,EAAA,cAAA,CAAe,EAAA,EAAI,CAAA,CAAE,IAAI,CAAA;AAC7B;AAEA,SAAS,KAAA,CAAM,EAAA,EAA4C;AACvD,EAAA,MAAM,IAAA,EAAW,IAAA,CAAA,YAAA,CAAa,EAAE,CAAA;AAChC,EAAA,GAAA,CAAI,IAAA,IAAQ,CAAA,EAAG;AAAE,IAAA,OAAO,CAAC,CAAA;AAAA,EAAE;AAC3B,EAAA,MAAM,OAAA,EAAS,CAAC,cAAA,CAAe,EAAE,CAAC,CAAA;AAClC,EAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,GAAA,EAAK,CAAA,EAAA,EAAK;AAC1B,IAAA,MAAA,CAAO,CAAC,EAAA,EAAI,cAAA,CAAe,EAAE,CAAA;AAAA,EACjC;AACA,EAAA,OAAO,MAAA;AACX;AAEA,SAAS,MAAA,CAAO,EAAA,EAAqB,CAAA,EAAgC;AACjE,EAAK,IAAA,CAAA,aAAA,CAAc,EAAA,EAAI,CAAA,CAAE,MAAM,CAAA;AAC/B,EAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,CAAA,CAAE,MAAA,EAAQ,CAAA,EAAA,EAAK;AAC/B,IAAA,eAAA,CAAgB,EAAA,EAAI,CAAA,CAAE,CAAC,CAAC,CAAA;AAAA,EAC5B;AACJ;AAEA,SAAS,KAAA,CAAM,EAAA,EAAuC;AAClD,EAAA,MAAM,IAAA,EAAW,IAAA,CAAA,YAAA,CAAa,EAAE,CAAA;AAChC,EAAA,GAAA,CAAI,IAAA,IAAQ,CAAA,EAAG;AAAE,IAAA,OAAO,CAAC,CAAA;AAAA,EAAE;AAC3B,EAAA,MAAM,OAAA,EAAS,CAAC,SAAA,CAAU,EAAE,CAAC,CAAA;AAC7B,EAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,GAAA,EAAK,CAAA,EAAA,EAAK;AAC1B,IAAA,MAAA,CAAO,CAAC,EAAA,EAAI,SAAA,CAAU,EAAE,CAAA;AAAA,EAC5B;AACA,EAAA,OAAO,MAAA;AACX;AAEA,SAAS,MAAA,CAAO,EAAA,EAAqB,CAAA,EAA2B;AAC5D,EAAK,IAAA,CAAA,aAAA,CAAc,EAAA,EAAI,CAAA,CAAE,MAAM,CAAA;AAC/B,EAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,CAAA,CAAE,MAAA,EAAQ,CAAA,EAAA,EAAK;AAC/B,IAAA,UAAA,CAAW,EAAA,EAAI,CAAA,CAAE,CAAC,CAAC,CAAA;AAAA,EACvB;AACJ;AAEA,SAAS,KAAA,CAAM,EAAA,EAAmC;AAC9C,EAAA,OAAY,IAAA,CAAA,QAAA,CAAS,EAAE,EAAA,EACjB,SAAA,CAAU,EAAE,EAAA,EACZ,IAAA;AACV;AAEA,SAAS,MAAA,CAAO,EAAA,EAAqB,CAAA,EAAuB;AACxD,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,EAAA,IAAM,IAAI,CAAA;AAC7B,EAAA,GAAA,CAAI,EAAA,IAAM,IAAA,EAAM;AACZ,IAAA,UAAA,CAAW,EAAA,EAAI,CAAC,CAAA;AAAA,EACpB;AACJ;AAEA,SAAS,KAAA,CAAM,EAAA,EAAwC;AACnD,EAAA,MAAM,IAAA,EAAW,IAAA,CAAA,YAAA,CAAa,EAAE,CAAA;AAChC,EAAA,GAAA,CAAI,IAAA,IAAQ,CAAA,EAAG;AAAE,IAAA,OAAO,CAAC,CAAA;AAAA,EAAE;AAC3B,EAAA,MAAM,OAAA,EAAS,CAAM,IAAA,CAAA,UAAA,CAAW,EAAE,CAAC,CAAA;AACnC,EAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,GAAA,EAAK,CAAA,EAAA,EAAK;AAC1B,IAAA,MAAA,CAAO,CAAC,EAAA,EAAS,IAAA,CAAA,UAAA,CAAW,EAAE,CAAA;AAAA,EAClC;AACA,EAAA,OAAO,MAAA;AACX;AAEA,SAAS,MAAA,CAAO,EAAA,EAAqB,CAAA,EAA4B;AAC7D,EAAK,IAAA,CAAA,aAAA,CAAc,EAAA,EAAI,CAAA,CAAE,MAAM,CAAA;AAC/B,EAAA,IAAA,CAAA,IAAS,EAAA,EAAI,CAAA,EAAG,EAAA,EAAI,CAAA,CAAE,MAAA,EAAQ,CAAA,EAAA,EAAK;AAC/B,IAAK,IAAA,CAAA,WAAA,CAAY,EAAA,EAAI,CAAA,CAAE,CAAC,CAAC,CAAA;AAAA,EAC7B;AACJ;AAWO,SAAS,QAAA,CAAS,EAAA,EAA2B;AAChD,EAAA,OAAO;AAAA,IACH,WAAA,EAAa,KAAA,CAAM,EAAE,CAAA;AAAA,IACrB,MAAA,EAAQ,KAAA,CAAM,EAAE,CAAA;AAAA,IAChB,KAAA,EAAO,KAAA,CAAM,EAAE,CAAA;AAAA,IACf,cAAA,EAAqB,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA;AAAA,IAChC,IAAA,EAAM,KAAA,CAAM,EAAE,CAAA;AAAA,IACd,iBAAA,EAAwB,IAAA,CAAA,QAAA,CAAS,EAAE;AAAA,EACvC,CAAA;AACJ;AAEO,SAAS,SAAA,CAAU,EAAA,EAAqB,CAAA,EAAe;AAC1D,EAAA,MAAA,CAAO,EAAA,EAAI,CAAA,CAAE,WAAW,CAAA;AACxB,EAAA,MAAA,CAAO,EAAA,EAAI,CAAA,CAAE,MAAM,CAAA;AACnB,EAAA,MAAA,CAAO,EAAA,EAAI,CAAA,CAAE,KAAK,CAAA;AAClB,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,cAAc,CAAA;AACnC,EAAA,MAAA,CAAO,EAAA,EAAI,CAAA,CAAE,IAAI,CAAA;AACjB,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,iBAAiB,CAAA;AAC1C;AAOO,SAAS,uBAAA,CAAwB,EAAA,EAA0C;AAC9E,EAAA,OAAO;AAAA,IACH,GAAA,EAAU,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA;AAAA,IACrB,WAAA,EAAa,KAAA,CAAM,EAAE;AAAA,EACzB,CAAA;AACJ;AAEO,SAAS,wBAAA,CAAyB,EAAA,EAAqB,CAAA,EAA8B;AACxF,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AACxB,EAAA,MAAA,CAAO,EAAA,EAAI,CAAA,CAAE,WAAW,CAAA;AAC5B;AAQO,SAAS,iBAAA,CAAkB,EAAA,EAAoC;AAClE,EAAA,OAAO;AAAA,IACH,GAAA,EAAU,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA;AAAA,IACrB,KAAA,EAAO,KAAA,CAAM,EAAE,CAAA;AAAA,IACf,cAAA,EAAqB,IAAA,CAAA,QAAA,CAAS,EAAE;AAAA,EACpC,CAAA;AACJ;AAEO,SAAS,kBAAA,CAAmB,EAAA,EAAqB,CAAA,EAAwB;AAC5E,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AACxB,EAAA,MAAA,CAAO,EAAA,EAAI,CAAA,CAAE,KAAK,CAAA;AAClB,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,cAAc,CAAA;AACvC;AAOO,SAAS,kBAAA,CAAmB,EAAA,EAAqC;AACpE,EAAA,OAAO;AAAA,IACH,GAAA,EAAU,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA;AAAA,IACrB,MAAA,EAAQ,KAAA,CAAM,EAAE;AAAA,EACpB,CAAA;AACJ;AAEO,SAAS,mBAAA,CAAoB,EAAA,EAAqB,CAAA,EAAyB;AAC9E,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AACxB,EAAA,MAAA,CAAO,EAAA,EAAI,CAAA,CAAE,MAAM,CAAA;AACvB;AAOO,SAAS,kBAAA,CAAmB,EAAA,EAAqC;AACpE,EAAA,OAAO;AAAA,IACH,GAAA,EAAU,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA;AAAA,IACrB,MAAA,EAAa,IAAA,CAAA,QAAA,CAAS,EAAE;AAAA,EAC5B,CAAA;AACJ;AAEO,SAAS,mBAAA,CAAoB,EAAA,EAAqB,CAAA,EAAyB;AAC9E,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AACxB,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,MAAM,CAAA;AAC/B;AAMO,SAAS,gBAAA,CAAiB,EAAA,EAAmC;AAChE,EAAA,OAAO;AAAA,IACH,KAAA,EAAO,SAAA,CAAU,EAAE;AAAA,EACvB,CAAA;AACJ;AAEO,SAAS,iBAAA,CAAkB,EAAA,EAAqB,CAAA,EAAuB;AAC1E,EAAA,UAAA,CAAW,EAAA,EAAI,CAAA,CAAE,KAAK,CAAA;AAC1B;AAMO,SAAS,iBAAA,CAAkB,EAAA,EAAoC;AAClE,EAAA,OAAO;AAAA,IACH,MAAA,EAAQ,KAAA,CAAM,EAAE;AAAA,EACpB,CAAA;AACJ;AAEO,SAAS,kBAAA,CAAmB,EAAA,EAAqB,CAAA,EAAwB;AAC5E,EAAA,MAAA,CAAO,EAAA,EAAI,CAAA,CAAE,MAAM,CAAA;AACvB;AAOO,SAAS,oBAAA,CAAqB,EAAA,EAAuC;AACxE,EAAA,OAAO;AAAA,IACH,GAAA,EAAU,IAAA,CAAA,QAAA,CAAS,EAAE,CAAA;AAAA,IACrB,IAAA,EAAM,KAAA,CAAM,EAAE;AAAA,EAClB,CAAA;AACJ;AAEO,SAAS,qBAAA,CAAsB,EAAA,EAAqB,CAAA,EAA2B;AAClF,EAAK,IAAA,CAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AACxB,EAAA,MAAA,CAAO,EAAA,EAAI,CAAA,CAAE,IAAI,CAAA;AACrB;AAMO,SAAS,sBAAA,CAAuB,EAAA,EAAyC;AAC5E,EAAA,OAAO;AAAA,IACH,WAAA,EAAa,KAAA,CAAM,EAAE;AAAA,EACzB,CAAA;AACJ;AAEO,SAAS,uBAAA,CAAwB,EAAA,EAAqB,CAAA,EAA6B;AACtF,EAAA,MAAA,CAAO,EAAA,EAAI,CAAA,CAAE,WAAW,CAAA;AAC5B;AAMO,SAAS,SAAA,CAAU,EAAA,EAA4B;AAClD,EAAA,OAAO;AAAA,IACH,OAAA,EAAc,IAAA,CAAA,UAAA,CAAW,EAAE;AAAA,EAC/B,CAAA;AACJ;AAEO,SAAS,UAAA,CAAW,EAAA,EAAqB,CAAA,EAAgB;AAC5D,EAAK,IAAA,CAAA,WAAA,CAAY,EAAA,EAAI,CAAA,CAAE,OAAO,CAAA;AAClC;AAcO,SAAS,gBAAA,CAAiB,EAAA,EAAmC;AAChE,EAAA,MAAM,OAAA,EAAS,EAAA,CAAG,MAAA;AAClB,EAAA,MAAM,IAAA,EAAW,IAAA,CAAA,MAAA,CAAO,EAAE,CAAA;AAC1B,EAAA,OAAA,CAAQ,GAAA,EAAK;AAAA,IACT,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,eAAA,EAAiB,GAAA,EAAK,iBAAA,CAAkB,EAAE,EAAE,CAAA;AAAA,IAC9D,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,qBAAA,EAAuB,GAAA,EAAK,uBAAA,CAAwB,EAAE,EAAE,CAAA;AAAA,IAC1E,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,gBAAA,EAAkB,GAAA,EAAK,kBAAA,CAAmB,EAAE,EAAE,CAAA;AAAA,IAChE,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,gBAAA,EAAkB,GAAA,EAAK,kBAAA,CAAmB,EAAE,EAAE,CAAA;AAAA,IAChE,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,oBAAA,EAAsB,GAAA,EAAK,sBAAA,CAAuB,EAAE,EAAE,CAAA;AAAA,IACxE,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,eAAA,EAAiB,GAAA,EAAK,iBAAA,CAAkB,EAAE,EAAE,CAAA;AAAA,IAC9D,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,cAAA,EAAgB,GAAA,EAAK,gBAAA,CAAiB,EAAE,EAAE,CAAA;AAAA,IAC5D,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,kBAAA,EAAoB,GAAA,EAAK,oBAAA,CAAqB,EAAE,EAAE,CAAA;AAAA,IACpE,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,OAAA,EAAS,GAAA,EAAK,SAAA,CAAU,EAAE,EAAE,CAAA;AAAA,IAC9C,KAAK,CAAA;AACD,MAAA,OAAO,EAAE,GAAA,EAAK,MAAA,EAAQ,GAAA,EAAK,QAAA,CAAS,EAAE,EAAE,CAAA;AAAA,IAC5C,OAAA,EAAS;AACL,MAAA,EAAA,CAAG,OAAA,EAAS,MAAA;AACZ,MAAA,MAAM,IAAS,IAAA,CAAA,SAAA,CAAU,MAAA,EAAQ,aAAa,CAAA;AAAA,IAClD;AAAA,EACJ;AACJ;AAEO,SAAS,iBAAA,CAAkB,EAAA,EAAqB,CAAA,EAAuB;AAC1E,EAAA,OAAA,CAAQ,CAAA,CAAE,GAAA,EAAK;AAAA,IACX,KAAK,eAAA,EAAiB;AAClB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,kBAAA,CAAmB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AAC5B,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,qBAAA,EAAuB;AACxB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,wBAAA,CAAyB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AAClC,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,gBAAA,EAAkB;AACnB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,mBAAA,CAAoB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AAC7B,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,gBAAA,EAAkB;AACnB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,mBAAA,CAAoB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AAC7B,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,oBAAA,EAAsB;AACvB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,uBAAA,CAAwB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AACjC,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,eAAA,EAAiB;AAClB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,kBAAA,CAAmB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AAC5B,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,cAAA,EAAgB;AACjB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,iBAAA,CAAkB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AAC3B,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,kBAAA,EAAoB;AACrB,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,qBAAA,CAAsB,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AAC/B,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,OAAA,EAAS;AACV,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,UAAA,CAAW,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AACpB,MAAA,KAAA;AAAA,IACJ;AAAA,IACA,KAAK,MAAA,EAAQ;AACT,MAAK,IAAA,CAAA,OAAA,CAAQ,EAAA,EAAI,CAAC,CAAA;AAClB,MAAA,SAAA,CAAU,EAAA,EAAI,CAAA,CAAE,GAAG,CAAA;AACnB,MAAA,KAAA;AAAA,IACJ;AAAA,EACJ;AACJ;AAMO,SAAS,YAAA,CAAa,EAAA,EAA+B;AACxD,EAAA,OAAO;AAAA,IACH,IAAA,EAAM,gBAAA,CAAiB,EAAE;AAAA,EAC7B,CAAA;AACJ;AAEO,SAAS,aAAA,CAAc,EAAA,EAAqB,CAAA,EAAmB;AAClE,EAAA,iBAAA,CAAkB,EAAA,EAAI,CAAA,CAAE,IAAI,CAAA;AAChC;AAEO,SAAS,cAAA,CAAe,CAAA,EAAyB;AACpD,EAAA,MAAM,GAAA,EAAK,IAAS,IAAA,CAAA,UAAA;AAAA,IAChB,IAAI,UAAA,CAAW,MAAA,CAAO,mBAAmB,CAAA;AAAA,IACzC;AAAA,EACJ,CAAA;AACA,EAAA,aAAA,CAAc,EAAA,EAAI,CAAC,CAAA;AACnB,EAAA,OAAO,IAAI,UAAA,CAAW,EAAA,CAAG,IAAA,CAAK,MAAA,EAAQ,EAAA,CAAG,IAAA,CAAK,UAAA,EAAY,EAAA,CAAG,MAAM,CAAA;AACvE;AAEO,SAAS,cAAA,CAAe,KAAA,EAA6B;AACxD,EAAA,MAAM,GAAA,EAAK,IAAS,IAAA,CAAA,UAAA,CAAW,KAAA,EAAO,MAAM,CAAA;AAC5C,EAAA,MAAM,OAAA,EAAS,YAAA,CAAa,EAAE,CAAA;AAC9B,EAAA,GAAA,CAAI,EAAA,CAAG,OAAA,EAAS,EAAA,CAAG,IAAA,CAAK,UAAA,EAAY;AAChC,IAAA,MAAM,IAAS,IAAA,CAAA,SAAA,CAAU,EAAA,CAAG,MAAA,EAAQ,iBAAiB,CAAA;AAAA,EACzD;AACA,EAAA,OAAO,MAAA;AACX;ADnOA;AACA;AExiBA,8BAA2C;AAKpC,IAAM,oBAAA,EAAsB,+CAAA;AAAwC,EAC1E,gBAAA,EAAkB,CAAC,IAAA,EAAM,OAAA,EAAA,GAAY;AACpC,IAAA,OAAA,CAAQ,OAAA,EAAS;AAAA,MAChB,KAAK,CAAA;AACJ,QAAA,OAAU,cAAA,CAAe,IAAI,CAAA;AAAA,MAC9B,OAAA;AACC,QAAA,MAAM,IAAI,KAAA,CAAM,CAAA,gBAAA,EAAmB,OAAO,CAAA,CAAA;AAC5C,IAAA;AACD,EAAA;AACwC,EAAA;AACtB,IAAA;AACX,MAAA;AAC0B,QAAA;AAC/B,MAAA;AAC2C,QAAA;AAC5C,IAAA;AACD,EAAA;AAC8B,EAAA;AACF,EAAA;AAC5B;AAEkC;AACG,EAAA;AACnB,IAAA;AACX,MAAA;AACyB,QAAA;AAC9B,MAAA;AAC2C,QAAA;AAC5C,IAAA;AACD,EAAA;AACwC,EAAA;AACtB,IAAA;AACX,MAAA;AAC0B,QAAA;AAC/B,MAAA;AAC2C,QAAA;AAC5C,IAAA;AACD,EAAA;AAC8B,EAAA;AACF,EAAA;AAC5B;AFqiBkD;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;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":"/Users/nathan/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-KDFWJKMJ.cjs","sourcesContent":[null,"// @generated - post-processed by compile-bare.ts\nimport * as bare from \"@rivetkit/bare-ts\"\n\nconst config = /* @__PURE__ */ bare.Config({})\n\nexport type uint = bigint\n\nexport type PatchStateRequest = {\n readonly state: ArrayBuffer,\n}\n\nexport function readPatchStateRequest(bc: bare.ByteCursor): PatchStateRequest {\n return {\n state: bare.readData(bc),\n }\n}\n\nexport function writePatchStateRequest(bc: bare.ByteCursor, x: PatchStateRequest): void {\n bare.writeData(bc, x.state)\n}\n\nexport type ActionRequest = {\n readonly id: uint,\n readonly name: string,\n readonly args: ArrayBuffer,\n}\n\nexport function readActionRequest(bc: bare.ByteCursor): ActionRequest {\n return {\n id: bare.readUint(bc),\n name: bare.readString(bc),\n args: bare.readData(bc),\n }\n}\n\nexport function writeActionRequest(bc: bare.ByteCursor, x: ActionRequest): void {\n bare.writeUint(bc, x.id)\n bare.writeString(bc, x.name)\n bare.writeData(bc, x.args)\n}\n\nexport type StateRequest = {\n readonly id: uint,\n}\n\nexport function readStateRequest(bc: bare.ByteCursor): StateRequest {\n return {\n id: bare.readUint(bc),\n }\n}\n\nexport function writeStateRequest(bc: bare.ByteCursor, x: StateRequest): void {\n bare.writeUint(bc, x.id)\n}\n\nexport type ConnectionsRequest = {\n readonly id: uint,\n}\n\nexport function readConnectionsRequest(bc: bare.ByteCursor): ConnectionsRequest {\n return {\n id: bare.readUint(bc),\n }\n}\n\nexport function writeConnectionsRequest(bc: bare.ByteCursor, x: ConnectionsRequest): void {\n bare.writeUint(bc, x.id)\n}\n\nexport type EventsRequest = {\n readonly id: uint,\n}\n\nexport function readEventsRequest(bc: bare.ByteCursor): EventsRequest {\n return {\n id: bare.readUint(bc),\n }\n}\n\nexport function writeEventsRequest(bc: bare.ByteCursor, x: EventsRequest): void {\n bare.writeUint(bc, x.id)\n}\n\nexport type ClearEventsRequest = {\n readonly id: uint,\n}\n\nexport function readClearEventsRequest(bc: bare.ByteCursor): ClearEventsRequest {\n return {\n id: bare.readUint(bc),\n }\n}\n\nexport function writeClearEventsRequest(bc: bare.ByteCursor, x: ClearEventsRequest): void {\n bare.writeUint(bc, x.id)\n}\n\nexport type RpcsListRequest = {\n readonly id: uint,\n}\n\nexport function readRpcsListRequest(bc: bare.ByteCursor): RpcsListRequest {\n return {\n id: bare.readUint(bc),\n }\n}\n\nexport function writeRpcsListRequest(bc: bare.ByteCursor, x: RpcsListRequest): void {\n bare.writeUint(bc, x.id)\n}\n\nexport type ToServerBody =\n | { readonly tag: \"PatchStateRequest\", readonly val: PatchStateRequest }\n | { readonly tag: \"StateRequest\", readonly val: StateRequest }\n | { readonly tag: \"ConnectionsRequest\", readonly val: ConnectionsRequest }\n | { readonly tag: \"ActionRequest\", readonly val: ActionRequest }\n | { readonly tag: \"EventsRequest\", readonly val: EventsRequest }\n | { readonly tag: \"ClearEventsRequest\", readonly val: ClearEventsRequest }\n | { readonly tag: \"RpcsListRequest\", readonly val: RpcsListRequest }\n\nexport function readToServerBody(bc: bare.ByteCursor): ToServerBody {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"PatchStateRequest\", val: readPatchStateRequest(bc) }\n case 1:\n return { tag: \"StateRequest\", val: readStateRequest(bc) }\n case 2:\n return { tag: \"ConnectionsRequest\", val: readConnectionsRequest(bc) }\n case 3:\n return { tag: \"ActionRequest\", val: readActionRequest(bc) }\n case 4:\n return { tag: \"EventsRequest\", val: readEventsRequest(bc) }\n case 5:\n return { tag: \"ClearEventsRequest\", val: readClearEventsRequest(bc) }\n case 6:\n return { tag: \"RpcsListRequest\", val: readRpcsListRequest(bc) }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeToServerBody(bc: bare.ByteCursor, x: ToServerBody): void {\n switch (x.tag) {\n case \"PatchStateRequest\": {\n bare.writeU8(bc, 0)\n writePatchStateRequest(bc, x.val)\n break\n }\n case \"StateRequest\": {\n bare.writeU8(bc, 1)\n writeStateRequest(bc, x.val)\n break\n }\n case \"ConnectionsRequest\": {\n bare.writeU8(bc, 2)\n writeConnectionsRequest(bc, x.val)\n break\n }\n case \"ActionRequest\": {\n bare.writeU8(bc, 3)\n writeActionRequest(bc, x.val)\n break\n }\n case \"EventsRequest\": {\n bare.writeU8(bc, 4)\n writeEventsRequest(bc, x.val)\n break\n }\n case \"ClearEventsRequest\": {\n bare.writeU8(bc, 5)\n writeClearEventsRequest(bc, x.val)\n break\n }\n case \"RpcsListRequest\": {\n bare.writeU8(bc, 6)\n writeRpcsListRequest(bc, x.val)\n break\n }\n }\n}\n\nexport type ToServer = {\n readonly body: ToServerBody,\n}\n\nexport function readToServer(bc: bare.ByteCursor): ToServer {\n return {\n body: readToServerBody(bc),\n }\n}\n\nexport function writeToServer(bc: bare.ByteCursor, x: ToServer): void {\n writeToServerBody(bc, x.body)\n}\n\nexport function encodeToServer(x: ToServer): Uint8Array {\n const bc = new bare.ByteCursor(\n new Uint8Array(config.initialBufferLength),\n config\n )\n writeToServer(bc, x)\n return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)\n}\n\nexport function decodeToServer(bytes: Uint8Array): ToServer {\n const bc = new bare.ByteCursor(bytes, config)\n const result = readToServer(bc)\n if (bc.offset < bc.view.byteLength) {\n throw new bare.BareError(bc.offset, \"remaining bytes\")\n }\n return result\n}\n\nexport type State = ArrayBuffer\n\nexport function readState(bc: bare.ByteCursor): State {\n return bare.readData(bc)\n}\n\nexport function writeState(bc: bare.ByteCursor, x: State): void {\n bare.writeData(bc, x)\n}\n\nexport type Connection = {\n readonly id: string,\n readonly details: ArrayBuffer,\n}\n\nexport function readConnection(bc: bare.ByteCursor): Connection {\n return {\n id: bare.readString(bc),\n details: bare.readData(bc),\n }\n}\n\nexport function writeConnection(bc: bare.ByteCursor, x: Connection): void {\n bare.writeString(bc, x.id)\n bare.writeData(bc, x.details)\n}\n\nexport type ActionEvent = {\n readonly name: string,\n readonly args: ArrayBuffer,\n readonly connId: string,\n}\n\nexport function readActionEvent(bc: bare.ByteCursor): ActionEvent {\n return {\n name: bare.readString(bc),\n args: bare.readData(bc),\n connId: bare.readString(bc),\n }\n}\n\nexport function writeActionEvent(bc: bare.ByteCursor, x: ActionEvent): void {\n bare.writeString(bc, x.name)\n bare.writeData(bc, x.args)\n bare.writeString(bc, x.connId)\n}\n\nexport type BroadcastEvent = {\n readonly eventName: string,\n readonly args: ArrayBuffer,\n}\n\nexport function readBroadcastEvent(bc: bare.ByteCursor): BroadcastEvent {\n return {\n eventName: bare.readString(bc),\n args: bare.readData(bc),\n }\n}\n\nexport function writeBroadcastEvent(bc: bare.ByteCursor, x: BroadcastEvent): void {\n bare.writeString(bc, x.eventName)\n bare.writeData(bc, x.args)\n}\n\nexport type SubscribeEvent = {\n readonly eventName: string,\n readonly connId: string,\n}\n\nexport function readSubscribeEvent(bc: bare.ByteCursor): SubscribeEvent {\n return {\n eventName: bare.readString(bc),\n connId: bare.readString(bc),\n }\n}\n\nexport function writeSubscribeEvent(bc: bare.ByteCursor, x: SubscribeEvent): void {\n bare.writeString(bc, x.eventName)\n bare.writeString(bc, x.connId)\n}\n\nexport type UnSubscribeEvent = {\n readonly eventName: string,\n readonly connId: string,\n}\n\nexport function readUnSubscribeEvent(bc: bare.ByteCursor): UnSubscribeEvent {\n return {\n eventName: bare.readString(bc),\n connId: bare.readString(bc),\n }\n}\n\nexport function writeUnSubscribeEvent(bc: bare.ByteCursor, x: UnSubscribeEvent): void {\n bare.writeString(bc, x.eventName)\n bare.writeString(bc, x.connId)\n}\n\nexport type FiredEvent = {\n readonly eventName: string,\n readonly args: ArrayBuffer,\n readonly connId: string,\n}\n\nexport function readFiredEvent(bc: bare.ByteCursor): FiredEvent {\n return {\n eventName: bare.readString(bc),\n args: bare.readData(bc),\n connId: bare.readString(bc),\n }\n}\n\nexport function writeFiredEvent(bc: bare.ByteCursor, x: FiredEvent): void {\n bare.writeString(bc, x.eventName)\n bare.writeData(bc, x.args)\n bare.writeString(bc, x.connId)\n}\n\nexport type EventBody =\n | { readonly tag: \"ActionEvent\", readonly val: ActionEvent }\n | { readonly tag: \"BroadcastEvent\", readonly val: BroadcastEvent }\n | { readonly tag: \"SubscribeEvent\", readonly val: SubscribeEvent }\n | { readonly tag: \"UnSubscribeEvent\", readonly val: UnSubscribeEvent }\n | { readonly tag: \"FiredEvent\", readonly val: FiredEvent }\n\nexport function readEventBody(bc: bare.ByteCursor): EventBody {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"ActionEvent\", val: readActionEvent(bc) }\n case 1:\n return { tag: \"BroadcastEvent\", val: readBroadcastEvent(bc) }\n case 2:\n return { tag: \"SubscribeEvent\", val: readSubscribeEvent(bc) }\n case 3:\n return { tag: \"UnSubscribeEvent\", val: readUnSubscribeEvent(bc) }\n case 4:\n return { tag: \"FiredEvent\", val: readFiredEvent(bc) }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeEventBody(bc: bare.ByteCursor, x: EventBody): void {\n switch (x.tag) {\n case \"ActionEvent\": {\n bare.writeU8(bc, 0)\n writeActionEvent(bc, x.val)\n break\n }\n case \"BroadcastEvent\": {\n bare.writeU8(bc, 1)\n writeBroadcastEvent(bc, x.val)\n break\n }\n case \"SubscribeEvent\": {\n bare.writeU8(bc, 2)\n writeSubscribeEvent(bc, x.val)\n break\n }\n case \"UnSubscribeEvent\": {\n bare.writeU8(bc, 3)\n writeUnSubscribeEvent(bc, x.val)\n break\n }\n case \"FiredEvent\": {\n bare.writeU8(bc, 4)\n writeFiredEvent(bc, x.val)\n break\n }\n }\n}\n\nexport type Event = {\n readonly id: string,\n readonly timestamp: uint,\n readonly body: EventBody,\n}\n\nexport function readEvent(bc: bare.ByteCursor): Event {\n return {\n id: bare.readString(bc),\n timestamp: bare.readUint(bc),\n body: readEventBody(bc),\n }\n}\n\nexport function writeEvent(bc: bare.ByteCursor, x: Event): void {\n bare.writeString(bc, x.id)\n bare.writeUint(bc, x.timestamp)\n writeEventBody(bc, x.body)\n}\n\nfunction read0(bc: bare.ByteCursor): readonly Connection[] {\n const len = bare.readUintSafe(bc)\n if (len === 0) { return [] }\n const result = [readConnection(bc)]\n for (let i = 1; i < len; i++) {\n result[i] = readConnection(bc)\n }\n return result\n}\n\nfunction write0(bc: bare.ByteCursor, x: readonly Connection[]): void {\n bare.writeUintSafe(bc, x.length)\n for (let i = 0; i < x.length; i++) {\n writeConnection(bc, x[i])\n }\n}\n\nfunction read1(bc: bare.ByteCursor): readonly Event[] {\n const len = bare.readUintSafe(bc)\n if (len === 0) { return [] }\n const result = [readEvent(bc)]\n for (let i = 1; i < len; i++) {\n result[i] = readEvent(bc)\n }\n return result\n}\n\nfunction write1(bc: bare.ByteCursor, x: readonly Event[]): void {\n bare.writeUintSafe(bc, x.length)\n for (let i = 0; i < x.length; i++) {\n writeEvent(bc, x[i])\n }\n}\n\nfunction read2(bc: bare.ByteCursor): State | null {\n return bare.readBool(bc)\n ? readState(bc)\n : null\n}\n\nfunction write2(bc: bare.ByteCursor, x: State | null): void {\n bare.writeBool(bc, x !== null)\n if (x !== null) {\n writeState(bc, x)\n }\n}\n\nfunction read3(bc: bare.ByteCursor): readonly string[] {\n const len = bare.readUintSafe(bc)\n if (len === 0) { return [] }\n const result = [bare.readString(bc)]\n for (let i = 1; i < len; i++) {\n result[i] = bare.readString(bc)\n }\n return result\n}\n\nfunction write3(bc: bare.ByteCursor, x: readonly string[]): void {\n bare.writeUintSafe(bc, x.length)\n for (let i = 0; i < x.length; i++) {\n bare.writeString(bc, x[i])\n }\n}\n\nexport type Init = {\n readonly connections: readonly Connection[],\n readonly events: readonly Event[],\n readonly state: State | null,\n readonly isStateEnabled: boolean,\n readonly rpcs: readonly string[],\n readonly isDatabaseEnabled: boolean,\n}\n\nexport function readInit(bc: bare.ByteCursor): Init {\n return {\n connections: read0(bc),\n events: read1(bc),\n state: read2(bc),\n isStateEnabled: bare.readBool(bc),\n rpcs: read3(bc),\n isDatabaseEnabled: bare.readBool(bc),\n }\n}\n\nexport function writeInit(bc: bare.ByteCursor, x: Init): void {\n write0(bc, x.connections)\n write1(bc, x.events)\n write2(bc, x.state)\n bare.writeBool(bc, x.isStateEnabled)\n write3(bc, x.rpcs)\n bare.writeBool(bc, x.isDatabaseEnabled)\n}\n\nexport type ConnectionsResponse = {\n readonly rid: uint,\n readonly connections: readonly Connection[],\n}\n\nexport function readConnectionsResponse(bc: bare.ByteCursor): ConnectionsResponse {\n return {\n rid: bare.readUint(bc),\n connections: read0(bc),\n }\n}\n\nexport function writeConnectionsResponse(bc: bare.ByteCursor, x: ConnectionsResponse): void {\n bare.writeUint(bc, x.rid)\n write0(bc, x.connections)\n}\n\nexport type StateResponse = {\n readonly rid: uint,\n readonly state: State | null,\n readonly isStateEnabled: boolean,\n}\n\nexport function readStateResponse(bc: bare.ByteCursor): StateResponse {\n return {\n rid: bare.readUint(bc),\n state: read2(bc),\n isStateEnabled: bare.readBool(bc),\n }\n}\n\nexport function writeStateResponse(bc: bare.ByteCursor, x: StateResponse): void {\n bare.writeUint(bc, x.rid)\n write2(bc, x.state)\n bare.writeBool(bc, x.isStateEnabled)\n}\n\nexport type EventsResponse = {\n readonly rid: uint,\n readonly events: readonly Event[],\n}\n\nexport function readEventsResponse(bc: bare.ByteCursor): EventsResponse {\n return {\n rid: bare.readUint(bc),\n events: read1(bc),\n }\n}\n\nexport function writeEventsResponse(bc: bare.ByteCursor, x: EventsResponse): void {\n bare.writeUint(bc, x.rid)\n write1(bc, x.events)\n}\n\nexport type ActionResponse = {\n readonly rid: uint,\n readonly output: ArrayBuffer,\n}\n\nexport function readActionResponse(bc: bare.ByteCursor): ActionResponse {\n return {\n rid: bare.readUint(bc),\n output: bare.readData(bc),\n }\n}\n\nexport function writeActionResponse(bc: bare.ByteCursor, x: ActionResponse): void {\n bare.writeUint(bc, x.rid)\n bare.writeData(bc, x.output)\n}\n\nexport type StateUpdated = {\n readonly state: State,\n}\n\nexport function readStateUpdated(bc: bare.ByteCursor): StateUpdated {\n return {\n state: readState(bc),\n }\n}\n\nexport function writeStateUpdated(bc: bare.ByteCursor, x: StateUpdated): void {\n writeState(bc, x.state)\n}\n\nexport type EventsUpdated = {\n readonly events: readonly Event[],\n}\n\nexport function readEventsUpdated(bc: bare.ByteCursor): EventsUpdated {\n return {\n events: read1(bc),\n }\n}\n\nexport function writeEventsUpdated(bc: bare.ByteCursor, x: EventsUpdated): void {\n write1(bc, x.events)\n}\n\nexport type RpcsListResponse = {\n readonly rid: uint,\n readonly rpcs: readonly string[],\n}\n\nexport function readRpcsListResponse(bc: bare.ByteCursor): RpcsListResponse {\n return {\n rid: bare.readUint(bc),\n rpcs: read3(bc),\n }\n}\n\nexport function writeRpcsListResponse(bc: bare.ByteCursor, x: RpcsListResponse): void {\n bare.writeUint(bc, x.rid)\n write3(bc, x.rpcs)\n}\n\nexport type ConnectionsUpdated = {\n readonly connections: readonly Connection[],\n}\n\nexport function readConnectionsUpdated(bc: bare.ByteCursor): ConnectionsUpdated {\n return {\n connections: read0(bc),\n }\n}\n\nexport function writeConnectionsUpdated(bc: bare.ByteCursor, x: ConnectionsUpdated): void {\n write0(bc, x.connections)\n}\n\nexport type Error = {\n readonly message: string,\n}\n\nexport function readError(bc: bare.ByteCursor): Error {\n return {\n message: bare.readString(bc),\n }\n}\n\nexport function writeError(bc: bare.ByteCursor, x: Error): void {\n bare.writeString(bc, x.message)\n}\n\nexport type ToClientBody =\n | { readonly tag: \"StateResponse\", readonly val: StateResponse }\n | { readonly tag: \"ConnectionsResponse\", readonly val: ConnectionsResponse }\n | { readonly tag: \"EventsResponse\", readonly val: EventsResponse }\n | { readonly tag: \"ActionResponse\", readonly val: ActionResponse }\n | { readonly tag: \"ConnectionsUpdated\", readonly val: ConnectionsUpdated }\n | { readonly tag: \"EventsUpdated\", readonly val: EventsUpdated }\n | { readonly tag: \"StateUpdated\", readonly val: StateUpdated }\n | { readonly tag: \"RpcsListResponse\", readonly val: RpcsListResponse }\n | { readonly tag: \"Error\", readonly val: Error }\n | { readonly tag: \"Init\", readonly val: Init }\n\nexport function readToClientBody(bc: bare.ByteCursor): ToClientBody {\n const offset = bc.offset\n const tag = bare.readU8(bc)\n switch (tag) {\n case 0:\n return { tag: \"StateResponse\", val: readStateResponse(bc) }\n case 1:\n return { tag: \"ConnectionsResponse\", val: readConnectionsResponse(bc) }\n case 2:\n return { tag: \"EventsResponse\", val: readEventsResponse(bc) }\n case 3:\n return { tag: \"ActionResponse\", val: readActionResponse(bc) }\n case 4:\n return { tag: \"ConnectionsUpdated\", val: readConnectionsUpdated(bc) }\n case 5:\n return { tag: \"EventsUpdated\", val: readEventsUpdated(bc) }\n case 6:\n return { tag: \"StateUpdated\", val: readStateUpdated(bc) }\n case 7:\n return { tag: \"RpcsListResponse\", val: readRpcsListResponse(bc) }\n case 8:\n return { tag: \"Error\", val: readError(bc) }\n case 9:\n return { tag: \"Init\", val: readInit(bc) }\n default: {\n bc.offset = offset\n throw new bare.BareError(offset, \"invalid tag\")\n }\n }\n}\n\nexport function writeToClientBody(bc: bare.ByteCursor, x: ToClientBody): void {\n switch (x.tag) {\n case \"StateResponse\": {\n bare.writeU8(bc, 0)\n writeStateResponse(bc, x.val)\n break\n }\n case \"ConnectionsResponse\": {\n bare.writeU8(bc, 1)\n writeConnectionsResponse(bc, x.val)\n break\n }\n case \"EventsResponse\": {\n bare.writeU8(bc, 2)\n writeEventsResponse(bc, x.val)\n break\n }\n case \"ActionResponse\": {\n bare.writeU8(bc, 3)\n writeActionResponse(bc, x.val)\n break\n }\n case \"ConnectionsUpdated\": {\n bare.writeU8(bc, 4)\n writeConnectionsUpdated(bc, x.val)\n break\n }\n case \"EventsUpdated\": {\n bare.writeU8(bc, 5)\n writeEventsUpdated(bc, x.val)\n break\n }\n case \"StateUpdated\": {\n bare.writeU8(bc, 6)\n writeStateUpdated(bc, x.val)\n break\n }\n case \"RpcsListResponse\": {\n bare.writeU8(bc, 7)\n writeRpcsListResponse(bc, x.val)\n break\n }\n case \"Error\": {\n bare.writeU8(bc, 8)\n writeError(bc, x.val)\n break\n }\n case \"Init\": {\n bare.writeU8(bc, 9)\n writeInit(bc, x.val)\n break\n }\n }\n}\n\nexport type ToClient = {\n readonly body: ToClientBody,\n}\n\nexport function readToClient(bc: bare.ByteCursor): ToClient {\n return {\n body: readToClientBody(bc),\n }\n}\n\nexport function writeToClient(bc: bare.ByteCursor, x: ToClient): void {\n writeToClientBody(bc, x.body)\n}\n\nexport function encodeToClient(x: ToClient): Uint8Array {\n const bc = new bare.ByteCursor(\n new Uint8Array(config.initialBufferLength),\n config\n )\n writeToClient(bc, x)\n return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset)\n}\n\nexport function decodeToClient(bytes: Uint8Array): ToClient {\n const bc = new bare.ByteCursor(bytes, config)\n const result = readToClient(bc)\n if (bc.offset < bc.view.byteLength) {\n throw new bare.BareError(bc.offset, \"remaining bytes\")\n }\n return result\n}\n\n\nfunction assert(condition: boolean, message?: string): asserts condition {\n if (!condition) throw new Error(message ?? \"Assertion failed\")\n}\n","import { createVersionedDataHandler } from \"vbare\";\n\nimport * as v1 from \"../../../dist/schemas/actor-inspector/v1\";\n\n\nexport const TO_SERVER_VERSIONED = createVersionedDataHandler<v1.ToServer>({\n\tserializeVersion: (data, version) => {\n\t\tswitch (version) {\n\t\t\tcase 1:\n\t\t\t\treturn v1.encodeToServer(data);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unknown version ${version}`);\n\t\t}\n\t},\n\tdeserializeVersion: (bytes, version) => {\n\t\tswitch (version) {\n\t\t\tcase 1:\n\t\t\t\treturn v1.decodeToServer(bytes);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unknown version ${version}`);\n\t\t}\n\t},\n\tdeserializeConverters: () => [],\n\tserializeConverters: () => [],\n});\n\nexport const TO_CLIENT_VERSIONED = createVersionedDataHandler<v1.ToClient>({\n\tserializeVersion: (data, version) => {\n\t\tswitch (version) {\n\t\t\tcase 1:\n\t\t\t\treturn v1.encodeToClient(data);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unknown version ${version}`);\n\t\t}\n\t},\n\tdeserializeVersion: (bytes, version) => {\n\t\tswitch (version) {\n\t\t\tcase 1:\n\t\t\t\treturn v1.decodeToClient(bytes);\n\t\t\tdefault:\n\t\t\t\tthrow new Error(`Unknown version ${version}`);\n\t\t}\n\t},\n\tdeserializeConverters: () => [],\n\tserializeConverters: () => [],\n});\n"]}
@@ -238,7 +238,7 @@ function noopNext() {
238
238
  // package.json
239
239
  var package_default = {
240
240
  name: "rivetkit",
241
- version: "2.0.39",
241
+ version: "2.0.41",
242
242
  description: "Lightweight libraries for building stateful actors on edge platforms",
243
243
  license: "Apache-2.0",
244
244
  keywords: [
@@ -939,4 +939,4 @@ export {
939
939
  getBaseLogger,
940
940
  getLogger
941
941
  };
942
- //# sourceMappingURL=chunk-CDK6DRO2.js.map
942
+ //# sourceMappingURL=chunk-LMG4QMDO.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/env-vars.ts","../../src/common/utils.ts","../../package.json","../../src/common/log.ts","../../src/common/log-levels.ts","../../src/common/logfmt.ts","../../src/utils.ts"],"sourcesContent":["// This file consolidates all environment variables that affect RivetKit's behavior.\n//\n// IMPORTANT: When adding or modifying environment variables here, also update the\n// documentation at: docs/general/registry-configuration.mdx\n\nimport { getEnvUniversal } from \"@/utils\";\n\n// Rivet configuration\nexport const getRivetEngine = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_ENGINE\");\nexport const getRivetEndpoint = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_ENDPOINT\");\nexport const getRivetToken = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_TOKEN\");\nexport const getRivetNamespace = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_NAMESPACE\");\nexport const getRivetRunner = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_RUNNER\");\nexport const getRivetTotalSlots = (): number | undefined => {\n\tconst value = getEnvUniversal(\"RIVET_TOTAL_SLOTS\");\n\treturn value !== undefined ? parseInt(value, 10) : undefined;\n};\nexport const getRivetRunnerKey = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_RUNNER_KEY\");\nexport const getRivetRunEngine = (): boolean =>\n\tgetEnvUniversal(\"RIVET_RUN_ENGINE\") === \"1\";\nexport const getRivetRunEngineVersion = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_RUN_ENGINE_VERSION\");\nexport const getRivetRunnerKind = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_RUNNER_KIND\");\nexport const getRivetRunnerVersion = (): number | undefined => {\n\tconst value = getEnvUniversal(\"RIVET_RUNNER_VERSION\");\n\treturn value !== undefined ? parseInt(value, 10) : undefined;\n};\nexport const getRivetPublicEndpoint = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_PUBLIC_ENDPOINT\");\nexport const getRivetPublicToken = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_PUBLIC_TOKEN\");\n// There is no RIVET_PUBLIC_NAMESPACE because the frontend and backend cannot\n// use different namespaces\n\n// RivetKit configuration\nexport const getRivetkitInspectorToken = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_INSPECTOR_TOKEN\");\nexport const getRivetkitInspectorDisable = (): boolean =>\n\tgetEnvUniversal(\"RIVET_INSPECTOR_DISABLE\") === \"1\";\n\n// Logging configuration\n// DEPRECATED: LOG_LEVEL will be removed in a future version\nexport const getLogLevel = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_LOG_LEVEL\") ?? getEnvUniversal(\"LOG_LEVEL\");\nexport const getLogTarget = (): boolean =>\n\tgetEnvUniversal(\"RIVET_LOG_TARGET\") === \"1\";\nexport const getLogTimestamp = (): boolean =>\n\tgetEnvUniversal(\"RIVET_LOG_TIMESTAMP\") === \"1\";\nexport const getLogMessage = (): boolean =>\n\tgetEnvUniversal(\"RIVET_LOG_MESSAGE\") === \"1\";\nexport const getLogErrorStack = (): boolean =>\n\tgetEnvUniversal(\"RIVET_LOG_ERROR_STACK\") === \"1\";\nexport const getLogHeaders = (): boolean =>\n\tgetEnvUniversal(\"RIVET_LOG_HEADERS\") === \"1\";\n\n// Environment configuration\nexport const getNodeEnv = (): string | undefined => getEnvUniversal(\"NODE_ENV\");\nexport const getNextPhase = (): string | undefined =>\n\tgetEnvUniversal(\"NEXT_PHASE\");\nexport const isDev = (): boolean => getNodeEnv() !== \"production\";\n","import type { Next } from \"hono\";\nimport type { ContentfulStatusCode } from \"hono/utils/http-status\";\nimport * as errors from \"@/actor/errors\";\nimport { EXTRA_ERROR_LOG, VERSION } from \"@/utils\";\nimport { getLogErrorStack } from \"@/utils/env-vars\";\nimport type { Logger } from \"./log\";\n\nexport function assertUnreachable(x: never): never {\n\tthrow new Error(`Unreachable case: ${x}`);\n}\n\n/**\n * Safely stringifies an object, ensuring that the stringified object is under a certain size.\n * @param obj any object to stringify\n * @param maxSize maximum size of the stringified object in bytes\n * @returns stringified object\n */\nexport function safeStringify(obj: unknown, maxSize: number) {\n\tlet size = 0;\n\n\tfunction replacer(key: string, value: unknown) {\n\t\tif (value === null || value === undefined) return value;\n\t\tconst valueSize =\n\t\t\ttypeof value === \"string\"\n\t\t\t\t? value.length\n\t\t\t\t: JSON.stringify(value).length;\n\t\tsize += key.length + valueSize;\n\n\t\tif (size > maxSize) {\n\t\t\tthrow new Error(\n\t\t\t\t`JSON object exceeds size limit of ${maxSize} bytes.`,\n\t\t\t);\n\t\t}\n\n\t\treturn value;\n\t}\n\n\treturn JSON.stringify(obj, replacer);\n}\n\n// TODO: Instead of doing this, use a temp var for state and attempt to write\n// it. Roll back state if fails to serialize.\n\n/**\n * Check if a value is CBOR serializable.\n * Optionally pass an onInvalid callback to receive the path to invalid values.\n *\n * For a complete list of supported CBOR tags, see:\n * https://github.com/kriszyp/cbor-x/blob/cc1cf9df8ba72288c7842af1dd374d73e34cdbc1/README.md#list-of-supported-tags-for-decoding\n */\nexport function isCborSerializable(\n\tvalue: unknown,\n\tonInvalid?: (path: string) => void,\n\tcurrentPath = \"\",\n): boolean {\n\t// Handle primitive types directly\n\tif (value === null || value === undefined) {\n\t\treturn true;\n\t}\n\n\tif (typeof value === \"number\") {\n\t\tif (!Number.isFinite(value)) {\n\t\t\tonInvalid?.(currentPath);\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tif (typeof value === \"boolean\" || typeof value === \"string\") {\n\t\treturn true;\n\t}\n\n\t// Handle BigInt (CBOR tags 2 and 3)\n\tif (typeof value === \"bigint\") {\n\t\treturn true;\n\t}\n\n\t// Handle Date objects (CBOR tags 0 and 1)\n\tif (value instanceof Date) {\n\t\treturn true;\n\t}\n\n\t// Handle typed arrays (CBOR tags 64-82)\n\tif (\n\t\tvalue instanceof Uint8Array ||\n\t\tvalue instanceof Uint8ClampedArray ||\n\t\tvalue instanceof Uint16Array ||\n\t\tvalue instanceof Uint32Array ||\n\t\tvalue instanceof BigUint64Array ||\n\t\tvalue instanceof Int8Array ||\n\t\tvalue instanceof Int16Array ||\n\t\tvalue instanceof Int32Array ||\n\t\tvalue instanceof BigInt64Array ||\n\t\tvalue instanceof Float32Array ||\n\t\tvalue instanceof Float64Array\n\t) {\n\t\treturn true;\n\t}\n\n\t// Handle Map (CBOR tag 259)\n\tif (value instanceof Map) {\n\t\tfor (const [key, val] of value.entries()) {\n\t\t\tconst keyPath = currentPath\n\t\t\t\t? `${currentPath}.key(${String(key)})`\n\t\t\t\t: `key(${String(key)})`;\n\t\t\tconst valPath = currentPath\n\t\t\t\t? `${currentPath}.value(${String(key)})`\n\t\t\t\t: `value(${String(key)})`;\n\t\t\tif (\n\t\t\t\t!isCborSerializable(key, onInvalid, keyPath) ||\n\t\t\t\t!isCborSerializable(val, onInvalid, valPath)\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\t// Handle Set (CBOR tag 258)\n\tif (value instanceof Set) {\n\t\tlet index = 0;\n\t\tfor (const item of value.values()) {\n\t\t\tconst itemPath = currentPath\n\t\t\t\t? `${currentPath}.set[${index}]`\n\t\t\t\t: `set[${index}]`;\n\t\t\tif (!isCborSerializable(item, onInvalid, itemPath)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tindex++;\n\t\t}\n\t\treturn true;\n\t}\n\n\t// Handle RegExp (CBOR tag 27)\n\tif (value instanceof RegExp) {\n\t\treturn true;\n\t}\n\n\t// Handle Error objects (CBOR tag 27)\n\tif (value instanceof Error) {\n\t\treturn true;\n\t}\n\n\t// Handle arrays\n\tif (Array.isArray(value)) {\n\t\tfor (let i = 0; i < value.length; i++) {\n\t\t\tconst itemPath = currentPath ? `${currentPath}[${i}]` : `[${i}]`;\n\t\t\tif (!isCborSerializable(value[i], onInvalid, itemPath)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\t// Handle plain objects and records (CBOR tags 105, 51, 57344-57599)\n\tif (typeof value === \"object\") {\n\t\t// Allow plain objects and objects with prototypes (for records and named objects)\n\t\tconst proto = Object.getPrototypeOf(value);\n\t\tif (proto !== null && proto !== Object.prototype) {\n\t\t\t// Check if it's a known serializable object type\n\t\t\tconst protoConstructor = value.constructor;\n\t\t\tif (protoConstructor && typeof protoConstructor.name === \"string\") {\n\t\t\t\t// Allow objects with named constructors (records, named objects)\n\t\t\t\t// This includes user-defined classes and built-in objects\n\t\t\t\t// that CBOR can serialize with tag 27 or record tags\n\t\t\t}\n\t\t}\n\n\t\t// Check all properties recursively\n\t\tfor (const key in value) {\n\t\t\tconst propPath = currentPath ? `${currentPath}.${key}` : key;\n\t\t\tif (\n\t\t\t\t!isCborSerializable(\n\t\t\t\t\tvalue[key as keyof typeof value],\n\t\t\t\t\tonInvalid,\n\t\t\t\t\tpropPath,\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\t// Not serializable\n\tonInvalid?.(currentPath);\n\treturn false;\n}\n\nexport interface DeconstructedError {\n\t__type: \"ActorError\";\n\tstatusCode: ContentfulStatusCode;\n\tpublic: boolean;\n\tgroup: string;\n\tcode: string;\n\tmessage: string;\n\tmetadata?: unknown;\n}\n\n/** Deconstructs error in to components that are used to build responses. */\nexport function deconstructError(\n\terror: unknown,\n\tlogger: Logger,\n\textraLog: Record<string, unknown>,\n\texposeInternalError = false,\n): DeconstructedError {\n\t// Build response error information. Only return errors if flagged as public in order to prevent leaking internal behavior.\n\t//\n\t// We log the error here instead of after generating the code & message because we need to log the original error, not the masked internal error.\n\tlet statusCode: ContentfulStatusCode;\n\tlet public_: boolean;\n\tlet group: string;\n\tlet code: string;\n\tlet message: string;\n\tlet metadata: unknown;\n\tif (errors.ActorError.isActorError(error) && error.public) {\n\t\t// Check if error has statusCode (could be ActorError instance or DeconstructedError)\n\t\tstatusCode = (\n\t\t\t\"statusCode\" in error && error.statusCode ? error.statusCode : 400\n\t\t) as ContentfulStatusCode;\n\t\tpublic_ = true;\n\t\tgroup = error.group;\n\t\tcode = error.code;\n\t\tmessage = getErrorMessage(error);\n\t\tmetadata = error.metadata;\n\n\t\tlogger.info({\n\t\t\tmsg: \"public error\",\n\t\t\tgroup,\n\t\t\tcode,\n\t\t\tmessage,\n\t\t\t...EXTRA_ERROR_LOG,\n\t\t\t...extraLog,\n\t\t});\n\t} else if (exposeInternalError) {\n\t\tif (errors.ActorError.isActorError(error)) {\n\t\t\tstatusCode = 500;\n\t\t\tpublic_ = false;\n\t\t\tgroup = error.group;\n\t\t\tcode = error.code;\n\t\t\tmessage = getErrorMessage(error);\n\t\t\tmetadata = error.metadata;\n\n\t\t\tlogger.info({\n\t\t\t\tmsg: \"internal error\",\n\t\t\t\tgroup,\n\t\t\t\tcode,\n\t\t\t\tmessage,\n\t\t\t\tstack: (error as Error)?.stack,\n\t\t\t\t...EXTRA_ERROR_LOG,\n\t\t\t\t...extraLog,\n\t\t\t});\n\t\t} else {\n\t\t\tstatusCode = 500;\n\t\t\tpublic_ = false;\n\t\t\tgroup = \"internal\";\n\t\t\tcode = errors.INTERNAL_ERROR_CODE;\n\t\t\tmessage = getErrorMessage(error);\n\n\t\t\tlogger.info({\n\t\t\t\tmsg: \"internal error\",\n\t\t\t\tgroup,\n\t\t\t\tcode,\n\t\t\t\tmessage,\n\t\t\t\tstack: (error as Error)?.stack,\n\t\t\t\t...EXTRA_ERROR_LOG,\n\t\t\t\t...extraLog,\n\t\t\t});\n\t\t}\n\t} else {\n\t\tstatusCode = 500;\n\t\tpublic_ = false;\n\t\tgroup = \"internal\";\n\t\tcode = errors.INTERNAL_ERROR_CODE;\n\t\tmessage = errors.INTERNAL_ERROR_DESCRIPTION;\n\t\tmetadata = {\n\t\t\t//url: `https://hub.rivet.dev/projects/${actorMetadata.project.slug}/environments/${actorMetadata.environment.slug}/actors?actorId=${actorMetadata.actor.id}`,\n\t\t} satisfies errors.InternalErrorMetadata;\n\n\t\tlogger.warn({\n\t\t\tmsg: \"internal error\",\n\t\t\terror: getErrorMessage(error),\n\t\t\tstack: (error as Error)?.stack,\n\t\t\t...EXTRA_ERROR_LOG,\n\t\t\t...extraLog,\n\t\t});\n\t}\n\n\treturn {\n\t\t__type: \"ActorError\",\n\t\tstatusCode,\n\t\tpublic: public_,\n\t\tgroup,\n\t\tcode,\n\t\tmessage,\n\t\tmetadata,\n\t};\n}\n\nexport function stringifyError(error: unknown): string {\n\tif (error instanceof Error) {\n\t\tif (\n\t\t\ttypeof process !== \"undefined\" &&\n\t\t\tgetLogErrorStack()\n\t\t) {\n\t\t\treturn `${error.name}: ${error.message}${error.stack ? `\\n${error.stack}` : \"\"}`;\n\t\t} else {\n\t\t\treturn `${error.name}: ${error.message}`;\n\t\t}\n\t} else if (typeof error === \"string\") {\n\t\treturn error;\n\t} else if (typeof error === \"object\" && error !== null) {\n\t\ttry {\n\t\t\treturn `${JSON.stringify(error)}`;\n\t\t} catch {\n\t\t\treturn \"[cannot stringify error]\";\n\t\t}\n\t} else {\n\t\treturn `Unknown error: ${getErrorMessage(error)}`;\n\t}\n}\n\nfunction getErrorMessage(err: unknown): string {\n\tif (\n\t\terr &&\n\t\ttypeof err === \"object\" &&\n\t\t\"message\" in err &&\n\t\ttypeof err.message === \"string\"\n\t) {\n\t\treturn err.message;\n\t} else {\n\t\treturn String(err);\n\t}\n}\n\n/** Generates a `Next` handler to pass to middleware in order to be able to call arbitrary middleware. */\nexport function noopNext(): Next {\n\treturn async () => {};\n}\n","{\n\t\"name\": \"rivetkit\",\n\t\"version\": \"2.0.39\",\n\t\"description\": \"Lightweight libraries for building stateful actors on edge platforms\",\n\t\"license\": \"Apache-2.0\",\n\t\"keywords\": [\n\t\t\"rivetkit\",\n\t\t\"stateful\",\n\t\t\"serverless\",\n\t\t\"actors\",\n\t\t\"agents\",\n\t\t\"realtime\",\n\t\t\"websocket\",\n\t\t\"actors\",\n\t\t\"framework\"\n\t],\n\t\"files\": [\n\t\t\"dist\",\n\t\t\"src\",\n\t\t\"deno.json\",\n\t\t\"bun.json\",\n\t\t\"package.json\"\n\t],\n\t\"type\": \"module\",\n\t\"exports\": {\n\t\t\".\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./client\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/client/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/client/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/client/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/client/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./log\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/common/log.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/common/log.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/common/log.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/common/log.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./errors\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/actor/errors.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/actor/errors.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/actor/errors.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/actor/errors.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./utils\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/utils.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/utils.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/utils.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/utils.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./driver-helpers\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/driver-helpers/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/driver-helpers/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/driver-helpers/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/driver-helpers/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./driver-helpers/websocket\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/common/websocket.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/common/websocket.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/common/websocket.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/common/websocket.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./driver-test-suite\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/driver-test-suite/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/driver-test-suite/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/driver-test-suite/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/driver-test-suite/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./topologies/coordinate\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/topologies/coordinate/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/topologies/coordinate/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/topologies/coordinate/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/topologies/coordinate/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./topologies/partition\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/topologies/partition/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/topologies/partition/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/topologies/partition/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/topologies/partition/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./test\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/test/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/test/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/test/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/test/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./inspector\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/inspector/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/inspector/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/inspector/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/inspector/mod.cjs\"\n\t\t\t}\n\t\t}\n\t},\n\t\"engines\": {\n\t\t\"node\": \">=22.0.0\"\n\t},\n\t\"sideEffects\": [\n\t\t\"./dist/tsup/chunk-*.js\",\n\t\t\"./dist/tsup/chunk-*.cjs\"\n\t],\n\t\"scripts\": {\n\t\t\"build\": \"tsup src/mod.ts src/client/mod.ts src/common/log.ts src/common/websocket.ts src/actor/errors.ts src/topologies/coordinate/mod.ts src/topologies/partition/mod.ts src/utils.ts src/driver-helpers/mod.ts src/driver-test-suite/mod.ts src/test/mod.ts src/inspector/mod.ts\",\n\t\t\"build:schema\": \"./scripts/compile-bare.ts compile schemas/client-protocol/v1.bare -o dist/schemas/client-protocol/v1.ts && ./scripts/compile-bare.ts compile schemas/client-protocol/v2.bare -o dist/schemas/client-protocol/v2.ts && ./scripts/compile-bare.ts compile schemas/file-system-driver/v1.bare -o dist/schemas/file-system-driver/v1.ts && ./scripts/compile-bare.ts compile schemas/file-system-driver/v2.bare -o dist/schemas/file-system-driver/v2.ts && ./scripts/compile-bare.ts compile schemas/file-system-driver/v3.bare -o dist/schemas/file-system-driver/v3.ts && ./scripts/compile-bare.ts compile schemas/actor-persist/v1.bare -o dist/schemas/actor-persist/v1.ts && ./scripts/compile-bare.ts compile schemas/actor-persist/v2.bare -o dist/schemas/actor-persist/v2.ts && ./scripts/compile-bare.ts compile schemas/actor-persist/v3.bare -o dist/schemas/actor-persist/v3.ts && ./scripts/compile-bare.ts compile schemas/actor-inspector/v1.bare -o dist/schemas/actor-inspector/v1.ts\",\n\t\t\"check-types\": \"tsc --noEmit\",\n\t\t\"lint\": \"biome check .\",\n\t\t\"lint:fix\": \"biome check --write .\",\n\t\t\"format\": \"biome format .\",\n\t\t\"format:write\": \"biome format --write .\",\n\t\t\"test\": \"vitest run\",\n\t\t\"test:watch\": \"vitest\",\n\t\t\"manager-openapi-gen\": \"tsx scripts/manager-openapi-gen.ts\",\n\t\t\"dump-asyncapi\": \"tsx scripts/dump-asyncapi.ts\",\n\t\t\"registry-config-schema-gen\": \"tsx scripts/registry-config-schema-gen.ts\",\n\t\t\"actor-config-schema-gen\": \"tsx scripts/actor-config-schema-gen.ts\"\n\t},\n\t\"dependencies\": {\n\t\t\"@hono/standard-validator\": \"^0.1.3\",\n\t\t\"@hono/zod-openapi\": \"^1.1.5\",\n\t\t\"@rivetkit/bare-ts\": \"^0.6.2\",\n\t\t\"@rivetkit/engine-runner\": \"workspace:*\",\n\t\t\"@rivetkit/fast-json-patch\": \"^3.1.2\",\n\t\t\"@rivetkit/on-change\": \"^6.0.2-rc.1\",\n\t\t\"@rivetkit/virtual-websocket\": \"workspace:*\",\n\t\t\"cbor-x\": \"^1.6.0\",\n\t\t\"get-port\": \"^7.1.0\",\n\t\t\"hono\": \"^4.7.0\",\n\t\t\"invariant\": \"^2.2.4\",\n\t\t\"nanoevents\": \"^9.1.0\",\n\t\t\"p-retry\": \"^6.2.1\",\n\t\t\"pino\": \"^9.5.0\",\n\t\t\"uuid\": \"^12.0.0\",\n\t\t\"vbare\": \"^0.0.4\",\n\t\t\"zod\": \"^4.1.0\"\n\t},\n\t\"devDependencies\": {\n\t\t\"@bare-ts/tools\": \"^0.13.0\",\n\t\t\"@biomejs/biome\": \"^2.2.3\",\n\t\t\"@hono/node-server\": \"^1.18.2\",\n\t\t\"@hono/node-ws\": \"^1.1.1\",\n\t\t\"@types/invariant\": \"^2\",\n\t\t\"@types/node\": \"^22.13.1\",\n\t\t\"@types/ws\": \"^8\",\n\t\t\"@vitest/ui\": \"3.1.1\",\n\t\t\"commander\": \"^12.1.0\",\n\t\t\"eventsource\": \"^4.0.0\",\n\t\t\"local-pkg\": \"^0.5.1\",\n\t\t\"tsup\": \"^8.4.0\",\n\t\t\"tsx\": \"^4.19.4\",\n\t\t\"typescript\": \"^5.7.3\",\n\t\t\"vite-tsconfig-paths\": \"^5.1.4\",\n\t\t\"vitest\": \"^3.1.1\",\n\t\t\"ws\": \"^8.18.1\",\n\t\t\"zod-to-json-schema\": \"^3.25.0\"\n\t},\n\t\"peerDependencies\": {\n\t\t\"@hono/node-server\": \"^1.14.0\",\n\t\t\"@hono/node-ws\": \"^1.1.1\",\n\t\t\"eventsource\": \"^4.0.0\",\n\t\t\"ws\": \"^8.0.0\"\n\t},\n\t\"peerDependenciesMeta\": {\n\t\t\"@hono/node-server\": {\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"@hono/node-ws\": {\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"eventsource\": {\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"ws\": {\n\t\t\t\"optional\": true\n\t\t}\n\t},\n\t\"stableVersion\": \"0.8.0\"\n}\n","import {\n\ttype LevelWithSilent,\n\ttype Logger,\n\tpino,\n\tstdTimeFunctions,\n} from \"pino\";\nimport { z } from \"zod\";\nimport { getLogLevel, getLogTarget, getLogTimestamp } from \"@/utils/env-vars\";\nimport {\n\tcastToLogValue,\n\tformatTimestamp,\n\tLOGGER_CONFIG,\n\tstringify,\n} from \"./logfmt\";\n\nexport type { Logger } from \"pino\";\n\nlet baseLogger: Logger | undefined;\nlet configuredLogLevel: LogLevel | undefined;\n\n/** Cache of child loggers by logger name. */\nconst loggerCache = new Map<string, Logger>();\n\nexport const LogLevelSchema = z.enum([\n\t\"trace\",\n\t\"debug\",\n\t\"info\",\n\t\"warn\",\n\t\"error\",\n\t\"fatal\",\n\t\"silent\",\n]);\n\nexport type LogLevel = z.infer<typeof LogLevelSchema>;\n\nexport function getPinoLevel(logLevel?: LogLevel): LevelWithSilent {\n\t// Priority: provided > configured > env > default\n\tif (logLevel) {\n\t\treturn logLevel;\n\t}\n\n\tif (configuredLogLevel) {\n\t\treturn configuredLogLevel;\n\t}\n\n\tconst raw = (getLogLevel() || \"warn\").toString().toLowerCase();\n\n\tconst parsed = LogLevelSchema.safeParse(raw);\n\tif (parsed.success) {\n\t\treturn parsed.data;\n\t}\n\n\t// Default to info if invalid\n\treturn \"info\";\n}\n\nexport function getIncludeTarget(): boolean {\n\treturn getLogTarget();\n}\n\n/**\n * Configure a custom base logger.\n */\nexport function configureBaseLogger(logger: Logger): void {\n\tbaseLogger = logger;\n\tloggerCache.clear();\n}\n\n// TODO: This can be simplified in logfmt.ts\nfunction customWrite(level: string, o: any) {\n\tconst entries: any = {};\n\n\t// Add timestamp if enabled\n\tif (getLogTimestamp() && o.time) {\n\t\tconst date = typeof o.time === \"number\" ? new Date(o.time) : new Date();\n\t\tentries.ts = formatTimestamp(date);\n\t}\n\n\t// Add level\n\tentries.level = level.toUpperCase();\n\n\t// Add target if present\n\tif (o.target) {\n\t\tentries.target = o.target;\n\t}\n\n\t// Add message\n\tif (o.msg) {\n\t\tentries.msg = o.msg;\n\t}\n\n\t// Add other properties\n\tfor (const [key, value] of Object.entries(o)) {\n\t\tif (\n\t\t\tkey !== \"time\" &&\n\t\t\tkey !== \"level\" &&\n\t\t\tkey !== \"target\" &&\n\t\t\tkey !== \"msg\" &&\n\t\t\tkey !== \"pid\" &&\n\t\t\tkey !== \"hostname\"\n\t\t) {\n\t\t\tentries[key] = castToLogValue(value);\n\t\t}\n\t}\n\n\tconst output = stringify(entries);\n\tconsole.log(output);\n}\n\n/**\n * Configure the default logger with optional log level.\n */\nexport function configureDefaultLogger(logLevel?: LogLevel) {\n\t// Store the configured log level\n\tif (logLevel) {\n\t\tconfiguredLogLevel = logLevel;\n\t}\n\n\tbaseLogger = pino({\n\t\tlevel: getPinoLevel(logLevel),\n\t\tmessageKey: \"msg\",\n\t\t// Do not include pid/hostname in output\n\t\tbase: {},\n\t\t// Keep a string level in the output\n\t\tformatters: {\n\t\t\tlevel(_label: string, number: number) {\n\t\t\t\treturn { level: number };\n\t\t\t},\n\t\t},\n\t\ttimestamp: getLogTimestamp() ? stdTimeFunctions.epochTime : false,\n\t\tbrowser: {\n\t\t\twrite: {\n\t\t\t\tfatal: customWrite.bind(null, \"fatal\"),\n\t\t\t\terror: customWrite.bind(null, \"error\"),\n\t\t\t\twarn: customWrite.bind(null, \"warn\"),\n\t\t\t\tinfo: customWrite.bind(null, \"info\"),\n\t\t\t\tdebug: customWrite.bind(null, \"debug\"),\n\t\t\t\ttrace: customWrite.bind(null, \"trace\"),\n\t\t\t},\n\t\t},\n\t\thooks: {\n\t\t\tlogMethod(inputArgs, method, level) {\n\t\t\t\t// TODO: This is a hack to not implement our own Pino transport target. We can get better perf if we have our own transport target.\n\n\t\t\t\tconst levelMap: Record<number, string> = {\n\t\t\t\t\t10: \"trace\",\n\t\t\t\t\t20: \"debug\",\n\t\t\t\t\t30: \"info\",\n\t\t\t\t\t40: \"warn\",\n\t\t\t\t\t50: \"error\",\n\t\t\t\t\t60: \"fatal\",\n\t\t\t\t};\n\t\t\t\tconst levelName = levelMap[level] || \"info\";\n\t\t\t\tconst time = getLogTimestamp() ? Date.now() : undefined;\n\n\t\t\t\t// Get bindings from the logger instance (child logger fields)\n\t\t\t\tconst bindings = (this as any).bindings?.() || {};\n\n\t\t\t\t// TODO: This can be simplified in logfmt.ts\n\t\t\t\tif (inputArgs.length >= 2) {\n\t\t\t\t\tconst [objOrMsg, msg] = inputArgs;\n\t\t\t\t\tif (typeof objOrMsg === \"object\" && objOrMsg !== null) {\n\t\t\t\t\t\tcustomWrite(levelName, {\n\t\t\t\t\t\t\t...bindings,\n\t\t\t\t\t\t\t...objOrMsg,\n\t\t\t\t\t\t\tmsg,\n\t\t\t\t\t\t\ttime,\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcustomWrite(levelName, {\n\t\t\t\t\t\t\t...bindings,\n\t\t\t\t\t\t\tmsg: String(objOrMsg),\n\t\t\t\t\t\t\ttime,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else if (inputArgs.length === 1) {\n\t\t\t\t\tconst [objOrMsg] = inputArgs;\n\t\t\t\t\tif (typeof objOrMsg === \"object\" && objOrMsg !== null) {\n\t\t\t\t\t\tcustomWrite(levelName, {\n\t\t\t\t\t\t\t...bindings,\n\t\t\t\t\t\t\t...objOrMsg,\n\t\t\t\t\t\t\ttime,\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcustomWrite(levelName, {\n\t\t\t\t\t\t\t...bindings,\n\t\t\t\t\t\t\tmsg: String(objOrMsg),\n\t\t\t\t\t\t\ttime,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t});\n\n\tloggerCache.clear();\n}\n\n/**\n * Get or initialize the base logger.\n */\nexport function getBaseLogger(): Logger {\n\tif (!baseLogger) {\n\t\tconfigureDefaultLogger();\n\t}\n\treturn baseLogger!;\n}\n\n/**\n * Returns a child logger with `target` bound for the given name.\n */\nexport function getLogger(name = \"default\"): Logger {\n\t// Check cache first\n\tconst cached = loggerCache.get(name);\n\tif (cached) {\n\t\treturn cached;\n\t}\n\n\t// Create\n\tconst base = getBaseLogger();\n\n\t// Add target to log if enabled\n\tconst child = getIncludeTarget() ? base.child({ target: name }) : base;\n\n\t// Cache the logger\n\tloggerCache.set(name, child);\n\n\treturn child;\n}\n","export type LogLevel =\n\t| \"TRACE\"\n\t| \"DEBUG\"\n\t| \"INFO\"\n\t| \"WARN\"\n\t| \"ERROR\"\n\t| \"CRITICAL\";\n\nexport const LogLevels: Record<LogLevel, LevelIndex> = {\n\tTRACE: 0,\n\tDEBUG: 1,\n\tINFO: 2,\n\tWARN: 3,\n\tERROR: 4,\n\tCRITICAL: 5,\n} as const;\n\nexport const LevelNameMap: Record<number, LogLevel> = {\n\t0: \"TRACE\",\n\t1: \"DEBUG\",\n\t2: \"INFO\",\n\t3: \"WARN\",\n\t4: \"ERROR\",\n\t5: \"CRITICAL\",\n};\n\nexport type LevelIndex = number;\n","import { type LogLevel, LogLevels } from \"./log-levels\";\n\nconst LOG_LEVEL_COLORS: Record<number, string> = {\n\t[LogLevels.CRITICAL]: \"\\x1b[31m\", // Red\n\t[LogLevels.ERROR]: \"\\x1b[31m\", // Red\n\t[LogLevels.WARN]: \"\\x1b[33m\", // Yellow\n\t[LogLevels.INFO]: \"\\x1b[32m\", // Green\n\t[LogLevels.DEBUG]: \"\\x1b[36m\", // Cyan\n\t[LogLevels.TRACE]: \"\\x1b[36m\", // Cyan\n};\n\nconst RESET_COLOR = \"\\x1b[0m\";\n\n/**\n * Serializes logfmt line from an object.\n *\n * ## Styling Methodology\n *\n * The three things you need to know for every log line is the level, the\n * message, and who called it. These properties are highlighted in different colros\n * and sorted in th eorder that you usually read them.\n *\n * Once you've found a log line you care about, then you want to find the\n * property you need to see. The property names are bolded and the default color\n * while the rest of the data is dim. This lets you scan to find the property\n * name quickly then look closer to read the data associated with the\n * property.\n */\nexport function stringify(data: any) {\n\tlet line = \"\";\n\tconst entries = Object.entries(data);\n\n\tfor (let i = 0; i < entries.length; i++) {\n\t\tconst [key, valueRaw] = entries[i];\n\n\t\tlet isNull = false;\n\t\tlet valueString: string;\n\t\tif (valueRaw == null) {\n\t\t\tisNull = true;\n\t\t\tvalueString = \"\";\n\t\t} else {\n\t\t\tvalueString = valueRaw.toString();\n\t\t}\n\n\t\t// Clip value unless specifically the error message\n\t\tif (valueString.length > 512 && key !== \"msg\" && key !== \"error\")\n\t\t\tvalueString = `${valueString.slice(0, 512)}...`;\n\n\t\tconst needsQuoting =\n\t\t\tvalueString.indexOf(\" \") > -1 || valueString.indexOf(\"=\") > -1;\n\t\tconst needsEscaping =\n\t\t\tvalueString.indexOf('\"') > -1 || valueString.indexOf(\"\\\\\") > -1;\n\n\t\tvalueString = valueString.replace(/\\n/g, \"\\\\n\");\n\t\tif (needsEscaping) valueString = valueString.replace(/[\"\\\\]/g, \"\\\\$&\");\n\t\tif (needsQuoting || needsEscaping) valueString = `\"${valueString}\"`;\n\t\tif (valueString === \"\" && !isNull) valueString = '\"\"';\n\n\t\tif (LOGGER_CONFIG.enableColor) {\n\t\t\t// With color\n\n\t\t\t// Special message colors\n\t\t\tlet color = \"\\x1b[2m\";\n\t\t\tif (key === \"level\") {\n\t\t\t\tconst level = LogLevels[valueString as LogLevel];\n\t\t\t\tconst levelColor = LOG_LEVEL_COLORS[level];\n\t\t\t\tif (levelColor) {\n\t\t\t\t\tcolor = levelColor;\n\t\t\t\t}\n\t\t\t} else if (key === \"msg\") {\n\t\t\t\tcolor = \"\\x1b[32m\";\n\t\t\t} else if (key === \"trace\") {\n\t\t\t\tcolor = \"\\x1b[34m\";\n\t\t\t}\n\n\t\t\t// Format line\n\t\t\tline += `\\x1b[0m\\x1b[1m${key}\\x1b[0m\\x1b[2m=\\x1b[0m${color}${valueString}${RESET_COLOR}`;\n\t\t} else {\n\t\t\t// No color\n\t\t\tline += `${key}=${valueString}`;\n\t\t}\n\n\t\tif (i !== entries.length - 1) {\n\t\t\tline += \" \";\n\t\t}\n\t}\n\n\treturn line;\n}\n\nexport function formatTimestamp(date: Date): string {\n\tconst year = date.getUTCFullYear();\n\tconst month = String(date.getUTCMonth() + 1).padStart(2, \"0\");\n\tconst day = String(date.getUTCDate()).padStart(2, \"0\");\n\tconst hours = String(date.getUTCHours()).padStart(2, \"0\");\n\tconst minutes = String(date.getUTCMinutes()).padStart(2, \"0\");\n\tconst seconds = String(date.getUTCSeconds()).padStart(2, \"0\");\n\tconst milliseconds = String(date.getUTCMilliseconds()).padStart(3, \"0\");\n\n\treturn `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${milliseconds}Z`;\n}\n\nexport function castToLogValue(v: unknown): any {\n\tif (\n\t\ttypeof v === \"string\" ||\n\t\ttypeof v === \"number\" ||\n\t\ttypeof v === \"bigint\" ||\n\t\ttypeof v === \"boolean\" ||\n\t\tv === null ||\n\t\tv === undefined\n\t) {\n\t\treturn v;\n\t}\n\tif (v instanceof Error) {\n\t\t//args.push(...errorToLogEntries(k, v));\n\t\treturn String(v);\n\t}\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch {\n\t\treturn \"[cannot stringify]\";\n\t}\n}\n\n// MARK: Config\ninterface GlobalLoggerConfig {\n\tenableColor: boolean;\n\tenableSpreadObject: boolean;\n\tenableErrorStack: boolean;\n}\n\nexport const LOGGER_CONFIG: GlobalLoggerConfig = {\n\tenableColor: false,\n\tenableSpreadObject: false,\n\tenableErrorStack: false,\n};\n\n// MARK: Utils\n/**\n * Converts an object in to an easier to read KV of entries.\n */\nexport function spreadObjectToLogEntries(base: string, data: unknown): any {\n\tif (\n\t\tLOGGER_CONFIG.enableSpreadObject &&\n\t\ttypeof data === \"object\" &&\n\t\t!Array.isArray(data) &&\n\t\tdata !== null &&\n\t\tObject.keys(data).length !== 0 &&\n\t\tObject.keys(data).length < 16\n\t) {\n\t\tconst logData: any = {};\n\t\tfor (const key in data) {\n\t\t\tObject.assign(\n\t\t\t\tlogData,\n\t\t\t\tspreadObjectToLogEntries(\n\t\t\t\t\t`${base}.${key}`,\n\t\t\t\t\t// biome-ignore lint/suspicious/noExplicitAny: FIXME\n\t\t\t\t\t(data as any)[key],\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\treturn logData;\n\t}\n\n\treturn { [base]: JSON.stringify(data) };\n}\n\nexport function errorToLogEntries(base: string, error: unknown): any {\n\tif (error instanceof Error) {\n\t\treturn {\n\t\t\t[`${base}.message`]: error.message,\n\t\t\t...(LOGGER_CONFIG.enableErrorStack && error.stack\n\t\t\t\t? { [`${base}.stack`]: formatStackTrace(error.stack) }\n\t\t\t\t: {}),\n\t\t\t...(error.cause\n\t\t\t\t? errorToLogEntries(`${base}.cause`, error.cause)\n\t\t\t\t: {}),\n\t\t};\n\t}\n\treturn { [base]: `${error}` };\n}\n\n// export function errorToLogEntries(base: string, error: unknown): LogEntry[] {\n// \tif (error instanceof RuntimeError) {\n// \t\treturn [\n// \t\t\t[`${base}.code`, error.code],\n// \t\t\t[`${base}.description`, error.errorConfig?.description],\n// \t\t\t[`${base}.module`, error.moduleName],\n// \t\t\t...(error.trace ? [[`${base}.trace`, stringifyTrace(error.trace)] as LogEntry] : []),\n// \t\t\t...(LOGGER_CONFIG.enableErrorStack && error.stack\n// \t\t\t\t? [[`${base}.stack`, formatStackTrace(error.stack)] as LogEntry]\n// \t\t\t\t: []),\n// \t\t\t...(error.meta ? [[`${base}.meta`, JSON.stringify(error.meta)] as LogEntry] : []),\n// \t\t\t...(error.cause ? errorToLogEntries(`${base}.cause`, error.cause) : []),\n// \t\t];\n// \t} else if (error instanceof Error) {\n// \t\treturn [\n// \t\t\t[`${base}.name`, error.name],\n// \t\t\t[`${base}.message`, error.message],\n// \t\t\t...(LOGGER_CONFIG.enableErrorStack && error.stack\n// \t\t\t\t? [[`${base}.stack`, formatStackTrace(error.stack)] as LogEntry]\n// \t\t\t\t: []),\n// \t\t\t...(error.cause ? errorToLogEntries(`${base}.cause`, error.cause) : []),\n// \t\t];\n// \t} else {\n// \t\treturn [\n// \t\t\t[base, `${error}`],\n// \t\t];\n// \t}\n// }\n\n/**\n * Formats a JS stack trace in to a legible one-liner.\n */\nfunction formatStackTrace(stackTrace: string): string {\n\tconst regex = /at (.+?)$/gm;\n\tconst matches = [...stackTrace.matchAll(regex)];\n\t// Reverse array since the stack goes from top level -> bottom level\n\tmatches.reverse();\n\treturn matches.map((match) => match[1].trim()).join(\" > \");\n}\n","export { stringifyError } from \"@/common/utils\";\nexport { assertUnreachable } from \"./common/utils\";\n\nimport type { Context as HonoContext, Handler as HonoHandler } from \"hono\";\nimport { stringify as uuidstringify } from \"uuid\";\nimport { stringifyError } from \"@/common/utils\";\nimport pkgJson from \"../package.json\" with { type: \"json\" };\nimport { getLogger } from \"./common/log\";\n\nexport const VERSION = pkgJson.version;\n\nlet _userAgent: string | undefined;\n\nfunction logger() {\n\treturn getLogger(\"utils\");\n}\n\nexport function httpUserAgent(): string {\n\t// Return cached value if already initialized\n\tif (_userAgent !== undefined) {\n\t\treturn _userAgent;\n\t}\n\n\t// Library\n\tlet userAgent = `RivetKit/${VERSION}`;\n\n\t// Navigator\n\tconst navigatorObj =\n\t\ttypeof navigator !== \"undefined\" ? navigator : undefined;\n\tif (navigatorObj?.userAgent) userAgent += ` ${navigatorObj.userAgent}`;\n\n\t_userAgent = userAgent;\n\n\treturn userAgent;\n}\n\nexport type UpgradeWebSocket = (\n\tcreateEvents: (c: HonoContext) => any,\n) => HonoHandler;\n\nexport type GetUpgradeWebSocket = () => UpgradeWebSocket;\n\nexport function getEnvUniversal(key: string): string | undefined {\n\tif (typeof Deno !== \"undefined\") {\n\t\treturn Deno.env.get(key);\n\t} else if (typeof process !== \"undefined\") {\n\t\t// Do this after Deno since `process` is sometimes polyfilled\n\t\treturn process.env[key];\n\t}\n}\n\nexport function dbg<T>(x: T): T {\n\tconsole.trace(`=== DEBUG ===\\n${x}`);\n\treturn x;\n}\n\n/**\n * Converts various ArrayBuffer-like types to Uint8Array.\n * Handles ArrayBuffer, ArrayBufferView (including typed arrays), and passes through existing Uint8Array.\n *\n * @param data - The ArrayBuffer or ArrayBufferView to convert\n * @returns A Uint8Array view of the data\n */\nexport function toUint8Array(data: ArrayBuffer | ArrayBufferView): Uint8Array {\n\tif (data instanceof Uint8Array) {\n\t\treturn data;\n\t} else if (data instanceof ArrayBuffer) {\n\t\treturn new Uint8Array(data);\n\t} else if (ArrayBuffer.isView(data)) {\n\t\t// Handle other ArrayBufferView types (Int8Array, Uint16Array, DataView, etc.)\n\t\treturn new Uint8Array(\n\t\t\tdata.buffer.slice(\n\t\t\t\tdata.byteOffset,\n\t\t\t\tdata.byteOffset + data.byteLength,\n\t\t\t),\n\t\t);\n\t} else {\n\t\tthrow new TypeError(\"Input must be ArrayBuffer or ArrayBufferView\");\n\t}\n}\n\n// Long timeouts\n//\n// JavaScript timers use a signed 32-bit integer for delays, so values above 2^31-1 (~24.8 days)\n// are not reliable and may fire immediately or overflow.\n//\n// https://developer.mozilla.org/en-US/docs/Web/API/Window/setTimeout#maximum_delay_value\nconst TIMEOUT_MAX = 2147483647; // 2^31-1\n\nexport type LongTimeoutHandle = { abort: () => void };\n\n/**\n * Polyfill for Promise.withResolvers().\n *\n * This is specifically for Cloudflare Workers. Their implementation of Promise.withResolvers does not work correctly.\n */\nexport function promiseWithResolvers<T>(): {\n\tpromise: Promise<T>;\n\tresolve: (value: T | PromiseLike<T>) => void;\n\treject: (reason?: any) => void;\n} {\n\tlet resolve!: (value: T | PromiseLike<T>) => void;\n\tlet reject!: (reason?: any) => void;\n\tconst promise = new Promise<T>((res, rej) => {\n\t\tresolve = res;\n\t\treject = rej;\n\t});\n\treturn { promise, resolve, reject };\n}\n\nexport function setLongTimeout(\n\tlistener: () => void,\n\tafter: number,\n): LongTimeoutHandle {\n\tlet timeout: ReturnType<typeof setTimeout> | undefined;\n\n\tfunction start(remaining: number) {\n\t\tif (remaining <= TIMEOUT_MAX) {\n\t\t\ttimeout = setTimeout(listener, remaining);\n\t\t} else {\n\t\t\ttimeout = setTimeout(() => {\n\t\t\t\tstart(remaining - TIMEOUT_MAX);\n\t\t\t}, TIMEOUT_MAX);\n\t\t}\n\t}\n\n\tstart(after);\n\n\treturn {\n\t\tabort: () => {\n\t\t\tif (timeout !== undefined) clearTimeout(timeout);\n\t\t},\n\t};\n}\n\n/**\n * A tiny utility that coalesces/enqueues async operations so only the latest\n * queued task runs per cycle, while callers receive a promise that resolves\n * when the task for the cycle they joined has completed.\n */\nexport class SinglePromiseQueue {\n\t/** Next operation to execute in the queue. If attempting to enqueue another op, it will override the existing op. */\n\t#queuedOp?: () => Promise<void>;\n\n\t/** The currently running promise of #drainLoop. Do not await this, instead await `pending` to await the current cycle. */\n\trunningDrainLoop?: Promise<void>;\n\n\t/** Pending resolver fro the currently queued entry. */\n\t#pending?: ReturnType<typeof promiseWithResolvers<void>>;\n\n\t/** Queue the next operation and return a promise that resolves when it flushes. */\n\tenqueue(op: () => Promise<void>): Promise<void> {\n\t\t// Replace any previously queued operation with the latest one\n\t\tthis.#queuedOp = op;\n\n\t\t// Ensure a shared resolver exists for all callers in this cycle\n\t\tif (!this.#pending) {\n\t\t\tthis.#pending = promiseWithResolvers<void>();\n\t\t}\n\n\t\tconst waitForThisCycle = this.#pending.promise;\n\n\t\t// Start runner if not already running\n\t\tif (!this.runningDrainLoop) {\n\t\t\tthis.runningDrainLoop = this.#drainLoop();\n\t\t}\n\n\t\treturn waitForThisCycle;\n\t}\n\n\t/** Drain queued operations sequentially until there is nothing left. */\n\tasync #drainLoop(): Promise<void> {\n\t\ttry {\n\t\t\twhile (this.#queuedOp) {\n\t\t\t\t// Capture current cycle resolver then reset for the next cycle\n\t\t\t\tconst resolver = this.#pending;\n\t\t\t\tthis.#pending = undefined;\n\n\t\t\t\t// Capture and clear the currently queued operation\n\t\t\t\tconst op = this.#queuedOp;\n\t\t\t\tthis.#queuedOp = undefined;\n\n\t\t\t\ttry {\n\t\t\t\t\tawait op();\n\t\t\t\t\t// Notify all waiters for this cycle\n\t\t\t\t\tresolver?.resolve();\n\t\t\t\t} catch (err) {\n\t\t\t\t\tlogger().error({\n\t\t\t\t\t\tmsg: \"error in SinglePromiseQueue drain loop\",\n\t\t\t\t\t\terror: stringifyError(err),\n\t\t\t\t\t});\n\t\t\t\t\t// Reject all waiters for this cycle\n\t\t\t\t\tresolver?.reject(err);\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tthis.runningDrainLoop = undefined;\n\t\t}\n\t}\n}\n\nexport function bufferToArrayBuffer(buf: Buffer | Uint8Array): ArrayBuffer {\n\treturn buf.buffer.slice(\n\t\tbuf.byteOffset,\n\t\tbuf.byteOffset + buf.byteLength,\n\t) as ArrayBuffer;\n}\n\n/**\n * Properly combines a base URL endpoint with a path, preserving any base path in the endpoint.\n *\n * @example\n * combineUrlPath(\"http://localhost:8787/rivet\", \"/actors/action\")\n * // Returns: \"http://localhost:8787/rivet/actors/action\"\n *\n * @example\n * combineUrlPath(\"http://localhost:8787/rivet\", \"/actors?type=foo\", { namespace: \"test\" })\n * // Returns: \"http://localhost:8787/rivet/actors?type=foo&namespace=test\"\n *\n * @param endpoint The base URL endpoint that may contain a path component\n * @param path The path to append to the endpoint (may include query parameters)\n * @param queryParams Optional additional query parameters to append\n * @returns The properly combined URL string\n */\nexport function combineUrlPath(\n\tendpoint: string,\n\tpath: string,\n\tqueryParams?: Record<string, string | undefined>,\n): string {\n\tconst baseUrl = new URL(endpoint);\n\n\t// Extract path and query from the provided path\n\tconst pathParts = path.split(\"?\");\n\tconst pathOnly = pathParts[0];\n\tconst existingQuery = pathParts[1] || \"\";\n\n\t// Remove trailing slash from base path and ensure path starts with /\n\tconst basePath = baseUrl.pathname.replace(/\\/$/, \"\");\n\tconst cleanPath = pathOnly.startsWith(\"/\") ? pathOnly : `/${pathOnly}`;\n\t// Combine paths and remove any double slashes\n\tconst fullPath = (basePath + cleanPath).replace(/\\/\\//g, \"/\");\n\n\t// Build query string\n\tconst queryParts: string[] = [];\n\tif (existingQuery) {\n\t\tqueryParts.push(existingQuery);\n\t}\n\tif (queryParams) {\n\t\tfor (const [key, value] of Object.entries(queryParams)) {\n\t\t\tif (value !== undefined) {\n\t\t\t\tqueryParts.push(\n\t\t\t\t\t`${encodeURIComponent(key)}=${encodeURIComponent(value)}`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst fullQuery = queryParts.length > 0 ? `?${queryParts.join(\"&\")}` : \"\";\n\treturn `${baseUrl.protocol}//${baseUrl.host}${fullPath}${fullQuery}`;\n}\n\nexport function arrayBuffersEqual(\n\tbuf1: ArrayBuffer,\n\tbuf2: ArrayBuffer,\n): boolean {\n\tif (buf1.byteLength !== buf2.byteLength) return false;\n\n\tconst view1 = new Uint8Array(buf1);\n\tconst view2 = new Uint8Array(buf2);\n\n\tfor (let i = 0; i < view1.length; i++) {\n\t\tif (view1[i] !== view2[i]) return false;\n\t}\n\treturn true;\n}\n\nexport const EXTRA_ERROR_LOG = {\n\tissues: \"https://github.com/rivet-dev/rivetkit/issues\",\n\tsupport: \"https://rivet.dev/discord\",\n\tversion: VERSION,\n};\n\nexport type Runtime = \"deno\" | \"bun\" | \"node\";\n\nexport function detectRuntime(): Runtime {\n\tconst userAgent =\n\t\ttypeof navigator !== \"undefined\" ? navigator.userAgent : \"\";\n\tif (userAgent.includes(\"Deno\")) {\n\t\treturn \"deno\";\n\t}\n\tif (userAgent.includes(\"Bun\")) {\n\t\treturn \"bun\";\n\t}\n\treturn \"node\";\n}\n\nexport type DeepReadonly<T> = {\n\treadonly [K in keyof T]: T[K] extends object ? DeepReadonly<T[K]> : T[K];\n};\n\nexport type DeepMutable<T> = {\n\t-readonly [K in keyof T]: T[K] extends object ? DeepMutable<T[K]> : T[K];\n};\n"],"mappings":"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","names":["logger","logger","VERSION"]}
1
+ {"version":3,"sources":["../../src/utils/env-vars.ts","../../src/common/utils.ts","../../package.json","../../src/common/log.ts","../../src/common/log-levels.ts","../../src/common/logfmt.ts","../../src/utils.ts"],"sourcesContent":["// This file consolidates all environment variables that affect RivetKit's behavior.\n//\n// IMPORTANT: When adding or modifying environment variables here, also update the\n// documentation at: docs/general/registry-configuration.mdx\n\nimport { getEnvUniversal } from \"@/utils\";\n\n// Rivet configuration\nexport const getRivetEngine = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_ENGINE\");\nexport const getRivetEndpoint = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_ENDPOINT\");\nexport const getRivetToken = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_TOKEN\");\nexport const getRivetNamespace = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_NAMESPACE\");\nexport const getRivetRunner = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_RUNNER\");\nexport const getRivetTotalSlots = (): number | undefined => {\n\tconst value = getEnvUniversal(\"RIVET_TOTAL_SLOTS\");\n\treturn value !== undefined ? parseInt(value, 10) : undefined;\n};\nexport const getRivetRunnerKey = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_RUNNER_KEY\");\nexport const getRivetRunEngine = (): boolean =>\n\tgetEnvUniversal(\"RIVET_RUN_ENGINE\") === \"1\";\nexport const getRivetRunEngineVersion = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_RUN_ENGINE_VERSION\");\nexport const getRivetRunnerKind = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_RUNNER_KIND\");\nexport const getRivetRunnerVersion = (): number | undefined => {\n\tconst value = getEnvUniversal(\"RIVET_RUNNER_VERSION\");\n\treturn value !== undefined ? parseInt(value, 10) : undefined;\n};\nexport const getRivetPublicEndpoint = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_PUBLIC_ENDPOINT\");\nexport const getRivetPublicToken = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_PUBLIC_TOKEN\");\n// There is no RIVET_PUBLIC_NAMESPACE because the frontend and backend cannot\n// use different namespaces\n\n// RivetKit configuration\nexport const getRivetkitInspectorToken = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_INSPECTOR_TOKEN\");\nexport const getRivetkitInspectorDisable = (): boolean =>\n\tgetEnvUniversal(\"RIVET_INSPECTOR_DISABLE\") === \"1\";\n\n// Logging configuration\n// DEPRECATED: LOG_LEVEL will be removed in a future version\nexport const getLogLevel = (): string | undefined =>\n\tgetEnvUniversal(\"RIVET_LOG_LEVEL\") ?? getEnvUniversal(\"LOG_LEVEL\");\nexport const getLogTarget = (): boolean =>\n\tgetEnvUniversal(\"RIVET_LOG_TARGET\") === \"1\";\nexport const getLogTimestamp = (): boolean =>\n\tgetEnvUniversal(\"RIVET_LOG_TIMESTAMP\") === \"1\";\nexport const getLogMessage = (): boolean =>\n\tgetEnvUniversal(\"RIVET_LOG_MESSAGE\") === \"1\";\nexport const getLogErrorStack = (): boolean =>\n\tgetEnvUniversal(\"RIVET_LOG_ERROR_STACK\") === \"1\";\nexport const getLogHeaders = (): boolean =>\n\tgetEnvUniversal(\"RIVET_LOG_HEADERS\") === \"1\";\n\n// Environment configuration\nexport const getNodeEnv = (): string | undefined => getEnvUniversal(\"NODE_ENV\");\nexport const getNextPhase = (): string | undefined =>\n\tgetEnvUniversal(\"NEXT_PHASE\");\nexport const isDev = (): boolean => getNodeEnv() !== \"production\";\n","import type { Next } from \"hono\";\nimport type { ContentfulStatusCode } from \"hono/utils/http-status\";\nimport * as errors from \"@/actor/errors\";\nimport { EXTRA_ERROR_LOG, VERSION } from \"@/utils\";\nimport { getLogErrorStack } from \"@/utils/env-vars\";\nimport type { Logger } from \"./log\";\n\nexport function assertUnreachable(x: never): never {\n\tthrow new Error(`Unreachable case: ${x}`);\n}\n\n/**\n * Safely stringifies an object, ensuring that the stringified object is under a certain size.\n * @param obj any object to stringify\n * @param maxSize maximum size of the stringified object in bytes\n * @returns stringified object\n */\nexport function safeStringify(obj: unknown, maxSize: number) {\n\tlet size = 0;\n\n\tfunction replacer(key: string, value: unknown) {\n\t\tif (value === null || value === undefined) return value;\n\t\tconst valueSize =\n\t\t\ttypeof value === \"string\"\n\t\t\t\t? value.length\n\t\t\t\t: JSON.stringify(value).length;\n\t\tsize += key.length + valueSize;\n\n\t\tif (size > maxSize) {\n\t\t\tthrow new Error(\n\t\t\t\t`JSON object exceeds size limit of ${maxSize} bytes.`,\n\t\t\t);\n\t\t}\n\n\t\treturn value;\n\t}\n\n\treturn JSON.stringify(obj, replacer);\n}\n\n// TODO: Instead of doing this, use a temp var for state and attempt to write\n// it. Roll back state if fails to serialize.\n\n/**\n * Check if a value is CBOR serializable.\n * Optionally pass an onInvalid callback to receive the path to invalid values.\n *\n * For a complete list of supported CBOR tags, see:\n * https://github.com/kriszyp/cbor-x/blob/cc1cf9df8ba72288c7842af1dd374d73e34cdbc1/README.md#list-of-supported-tags-for-decoding\n */\nexport function isCborSerializable(\n\tvalue: unknown,\n\tonInvalid?: (path: string) => void,\n\tcurrentPath = \"\",\n): boolean {\n\t// Handle primitive types directly\n\tif (value === null || value === undefined) {\n\t\treturn true;\n\t}\n\n\tif (typeof value === \"number\") {\n\t\tif (!Number.isFinite(value)) {\n\t\t\tonInvalid?.(currentPath);\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tif (typeof value === \"boolean\" || typeof value === \"string\") {\n\t\treturn true;\n\t}\n\n\t// Handle BigInt (CBOR tags 2 and 3)\n\tif (typeof value === \"bigint\") {\n\t\treturn true;\n\t}\n\n\t// Handle Date objects (CBOR tags 0 and 1)\n\tif (value instanceof Date) {\n\t\treturn true;\n\t}\n\n\t// Handle typed arrays (CBOR tags 64-82)\n\tif (\n\t\tvalue instanceof Uint8Array ||\n\t\tvalue instanceof Uint8ClampedArray ||\n\t\tvalue instanceof Uint16Array ||\n\t\tvalue instanceof Uint32Array ||\n\t\tvalue instanceof BigUint64Array ||\n\t\tvalue instanceof Int8Array ||\n\t\tvalue instanceof Int16Array ||\n\t\tvalue instanceof Int32Array ||\n\t\tvalue instanceof BigInt64Array ||\n\t\tvalue instanceof Float32Array ||\n\t\tvalue instanceof Float64Array\n\t) {\n\t\treturn true;\n\t}\n\n\t// Handle Map (CBOR tag 259)\n\tif (value instanceof Map) {\n\t\tfor (const [key, val] of value.entries()) {\n\t\t\tconst keyPath = currentPath\n\t\t\t\t? `${currentPath}.key(${String(key)})`\n\t\t\t\t: `key(${String(key)})`;\n\t\t\tconst valPath = currentPath\n\t\t\t\t? `${currentPath}.value(${String(key)})`\n\t\t\t\t: `value(${String(key)})`;\n\t\t\tif (\n\t\t\t\t!isCborSerializable(key, onInvalid, keyPath) ||\n\t\t\t\t!isCborSerializable(val, onInvalid, valPath)\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\t// Handle Set (CBOR tag 258)\n\tif (value instanceof Set) {\n\t\tlet index = 0;\n\t\tfor (const item of value.values()) {\n\t\t\tconst itemPath = currentPath\n\t\t\t\t? `${currentPath}.set[${index}]`\n\t\t\t\t: `set[${index}]`;\n\t\t\tif (!isCborSerializable(item, onInvalid, itemPath)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tindex++;\n\t\t}\n\t\treturn true;\n\t}\n\n\t// Handle RegExp (CBOR tag 27)\n\tif (value instanceof RegExp) {\n\t\treturn true;\n\t}\n\n\t// Handle Error objects (CBOR tag 27)\n\tif (value instanceof Error) {\n\t\treturn true;\n\t}\n\n\t// Handle arrays\n\tif (Array.isArray(value)) {\n\t\tfor (let i = 0; i < value.length; i++) {\n\t\t\tconst itemPath = currentPath ? `${currentPath}[${i}]` : `[${i}]`;\n\t\t\tif (!isCborSerializable(value[i], onInvalid, itemPath)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\t// Handle plain objects and records (CBOR tags 105, 51, 57344-57599)\n\tif (typeof value === \"object\") {\n\t\t// Allow plain objects and objects with prototypes (for records and named objects)\n\t\tconst proto = Object.getPrototypeOf(value);\n\t\tif (proto !== null && proto !== Object.prototype) {\n\t\t\t// Check if it's a known serializable object type\n\t\t\tconst protoConstructor = value.constructor;\n\t\t\tif (protoConstructor && typeof protoConstructor.name === \"string\") {\n\t\t\t\t// Allow objects with named constructors (records, named objects)\n\t\t\t\t// This includes user-defined classes and built-in objects\n\t\t\t\t// that CBOR can serialize with tag 27 or record tags\n\t\t\t}\n\t\t}\n\n\t\t// Check all properties recursively\n\t\tfor (const key in value) {\n\t\t\tconst propPath = currentPath ? `${currentPath}.${key}` : key;\n\t\t\tif (\n\t\t\t\t!isCborSerializable(\n\t\t\t\t\tvalue[key as keyof typeof value],\n\t\t\t\t\tonInvalid,\n\t\t\t\t\tpropPath,\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\t// Not serializable\n\tonInvalid?.(currentPath);\n\treturn false;\n}\n\nexport interface DeconstructedError {\n\t__type: \"ActorError\";\n\tstatusCode: ContentfulStatusCode;\n\tpublic: boolean;\n\tgroup: string;\n\tcode: string;\n\tmessage: string;\n\tmetadata?: unknown;\n}\n\n/** Deconstructs error in to components that are used to build responses. */\nexport function deconstructError(\n\terror: unknown,\n\tlogger: Logger,\n\textraLog: Record<string, unknown>,\n\texposeInternalError = false,\n): DeconstructedError {\n\t// Build response error information. Only return errors if flagged as public in order to prevent leaking internal behavior.\n\t//\n\t// We log the error here instead of after generating the code & message because we need to log the original error, not the masked internal error.\n\tlet statusCode: ContentfulStatusCode;\n\tlet public_: boolean;\n\tlet group: string;\n\tlet code: string;\n\tlet message: string;\n\tlet metadata: unknown;\n\tif (errors.ActorError.isActorError(error) && error.public) {\n\t\t// Check if error has statusCode (could be ActorError instance or DeconstructedError)\n\t\tstatusCode = (\n\t\t\t\"statusCode\" in error && error.statusCode ? error.statusCode : 400\n\t\t) as ContentfulStatusCode;\n\t\tpublic_ = true;\n\t\tgroup = error.group;\n\t\tcode = error.code;\n\t\tmessage = getErrorMessage(error);\n\t\tmetadata = error.metadata;\n\n\t\tlogger.info({\n\t\t\tmsg: \"public error\",\n\t\t\tgroup,\n\t\t\tcode,\n\t\t\tmessage,\n\t\t\t...EXTRA_ERROR_LOG,\n\t\t\t...extraLog,\n\t\t});\n\t} else if (exposeInternalError) {\n\t\tif (errors.ActorError.isActorError(error)) {\n\t\t\tstatusCode = 500;\n\t\t\tpublic_ = false;\n\t\t\tgroup = error.group;\n\t\t\tcode = error.code;\n\t\t\tmessage = getErrorMessage(error);\n\t\t\tmetadata = error.metadata;\n\n\t\t\tlogger.info({\n\t\t\t\tmsg: \"internal error\",\n\t\t\t\tgroup,\n\t\t\t\tcode,\n\t\t\t\tmessage,\n\t\t\t\tstack: (error as Error)?.stack,\n\t\t\t\t...EXTRA_ERROR_LOG,\n\t\t\t\t...extraLog,\n\t\t\t});\n\t\t} else {\n\t\t\tstatusCode = 500;\n\t\t\tpublic_ = false;\n\t\t\tgroup = \"internal\";\n\t\t\tcode = errors.INTERNAL_ERROR_CODE;\n\t\t\tmessage = getErrorMessage(error);\n\n\t\t\tlogger.info({\n\t\t\t\tmsg: \"internal error\",\n\t\t\t\tgroup,\n\t\t\t\tcode,\n\t\t\t\tmessage,\n\t\t\t\tstack: (error as Error)?.stack,\n\t\t\t\t...EXTRA_ERROR_LOG,\n\t\t\t\t...extraLog,\n\t\t\t});\n\t\t}\n\t} else {\n\t\tstatusCode = 500;\n\t\tpublic_ = false;\n\t\tgroup = \"internal\";\n\t\tcode = errors.INTERNAL_ERROR_CODE;\n\t\tmessage = errors.INTERNAL_ERROR_DESCRIPTION;\n\t\tmetadata = {\n\t\t\t//url: `https://hub.rivet.dev/projects/${actorMetadata.project.slug}/environments/${actorMetadata.environment.slug}/actors?actorId=${actorMetadata.actor.id}`,\n\t\t} satisfies errors.InternalErrorMetadata;\n\n\t\tlogger.warn({\n\t\t\tmsg: \"internal error\",\n\t\t\terror: getErrorMessage(error),\n\t\t\tstack: (error as Error)?.stack,\n\t\t\t...EXTRA_ERROR_LOG,\n\t\t\t...extraLog,\n\t\t});\n\t}\n\n\treturn {\n\t\t__type: \"ActorError\",\n\t\tstatusCode,\n\t\tpublic: public_,\n\t\tgroup,\n\t\tcode,\n\t\tmessage,\n\t\tmetadata,\n\t};\n}\n\nexport function stringifyError(error: unknown): string {\n\tif (error instanceof Error) {\n\t\tif (\n\t\t\ttypeof process !== \"undefined\" &&\n\t\t\tgetLogErrorStack()\n\t\t) {\n\t\t\treturn `${error.name}: ${error.message}${error.stack ? `\\n${error.stack}` : \"\"}`;\n\t\t} else {\n\t\t\treturn `${error.name}: ${error.message}`;\n\t\t}\n\t} else if (typeof error === \"string\") {\n\t\treturn error;\n\t} else if (typeof error === \"object\" && error !== null) {\n\t\ttry {\n\t\t\treturn `${JSON.stringify(error)}`;\n\t\t} catch {\n\t\t\treturn \"[cannot stringify error]\";\n\t\t}\n\t} else {\n\t\treturn `Unknown error: ${getErrorMessage(error)}`;\n\t}\n}\n\nfunction getErrorMessage(err: unknown): string {\n\tif (\n\t\terr &&\n\t\ttypeof err === \"object\" &&\n\t\t\"message\" in err &&\n\t\ttypeof err.message === \"string\"\n\t) {\n\t\treturn err.message;\n\t} else {\n\t\treturn String(err);\n\t}\n}\n\n/** Generates a `Next` handler to pass to middleware in order to be able to call arbitrary middleware. */\nexport function noopNext(): Next {\n\treturn async () => {};\n}\n","{\n\t\"name\": \"rivetkit\",\n\t\"version\": \"2.0.41\",\n\t\"description\": \"Lightweight libraries for building stateful actors on edge platforms\",\n\t\"license\": \"Apache-2.0\",\n\t\"keywords\": [\n\t\t\"rivetkit\",\n\t\t\"stateful\",\n\t\t\"serverless\",\n\t\t\"actors\",\n\t\t\"agents\",\n\t\t\"realtime\",\n\t\t\"websocket\",\n\t\t\"actors\",\n\t\t\"framework\"\n\t],\n\t\"files\": [\n\t\t\"dist\",\n\t\t\"src\",\n\t\t\"deno.json\",\n\t\t\"bun.json\",\n\t\t\"package.json\"\n\t],\n\t\"type\": \"module\",\n\t\"exports\": {\n\t\t\".\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./client\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/client/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/client/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/client/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/client/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./log\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/common/log.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/common/log.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/common/log.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/common/log.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./errors\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/actor/errors.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/actor/errors.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/actor/errors.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/actor/errors.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./utils\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/utils.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/utils.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/utils.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/utils.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./driver-helpers\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/driver-helpers/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/driver-helpers/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/driver-helpers/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/driver-helpers/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./driver-helpers/websocket\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/common/websocket.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/common/websocket.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/common/websocket.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/common/websocket.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./driver-test-suite\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/driver-test-suite/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/driver-test-suite/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/driver-test-suite/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/driver-test-suite/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./topologies/coordinate\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/topologies/coordinate/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/topologies/coordinate/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/topologies/coordinate/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/topologies/coordinate/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./topologies/partition\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/topologies/partition/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/topologies/partition/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/topologies/partition/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/topologies/partition/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./test\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/test/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/test/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/test/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/test/mod.cjs\"\n\t\t\t}\n\t\t},\n\t\t\"./inspector\": {\n\t\t\t\"import\": {\n\t\t\t\t\"types\": \"./dist/tsup/inspector/mod.d.ts\",\n\t\t\t\t\"default\": \"./dist/tsup/inspector/mod.js\"\n\t\t\t},\n\t\t\t\"require\": {\n\t\t\t\t\"types\": \"./dist/tsup/inspector/mod.d.cts\",\n\t\t\t\t\"default\": \"./dist/tsup/inspector/mod.cjs\"\n\t\t\t}\n\t\t}\n\t},\n\t\"engines\": {\n\t\t\"node\": \">=22.0.0\"\n\t},\n\t\"sideEffects\": [\n\t\t\"./dist/tsup/chunk-*.js\",\n\t\t\"./dist/tsup/chunk-*.cjs\"\n\t],\n\t\"scripts\": {\n\t\t\"build\": \"tsup src/mod.ts src/client/mod.ts src/common/log.ts src/common/websocket.ts src/actor/errors.ts src/topologies/coordinate/mod.ts src/topologies/partition/mod.ts src/utils.ts src/driver-helpers/mod.ts src/driver-test-suite/mod.ts src/test/mod.ts src/inspector/mod.ts\",\n\t\t\"build:schema\": \"./scripts/compile-bare.ts compile schemas/client-protocol/v1.bare -o dist/schemas/client-protocol/v1.ts && ./scripts/compile-bare.ts compile schemas/client-protocol/v2.bare -o dist/schemas/client-protocol/v2.ts && ./scripts/compile-bare.ts compile schemas/file-system-driver/v1.bare -o dist/schemas/file-system-driver/v1.ts && ./scripts/compile-bare.ts compile schemas/file-system-driver/v2.bare -o dist/schemas/file-system-driver/v2.ts && ./scripts/compile-bare.ts compile schemas/file-system-driver/v3.bare -o dist/schemas/file-system-driver/v3.ts && ./scripts/compile-bare.ts compile schemas/actor-persist/v1.bare -o dist/schemas/actor-persist/v1.ts && ./scripts/compile-bare.ts compile schemas/actor-persist/v2.bare -o dist/schemas/actor-persist/v2.ts && ./scripts/compile-bare.ts compile schemas/actor-persist/v3.bare -o dist/schemas/actor-persist/v3.ts && ./scripts/compile-bare.ts compile schemas/actor-inspector/v1.bare -o dist/schemas/actor-inspector/v1.ts\",\n\t\t\"check-types\": \"tsc --noEmit\",\n\t\t\"lint\": \"biome check .\",\n\t\t\"lint:fix\": \"biome check --write .\",\n\t\t\"format\": \"biome format .\",\n\t\t\"format:write\": \"biome format --write .\",\n\t\t\"test\": \"vitest run\",\n\t\t\"test:watch\": \"vitest\",\n\t\t\"manager-openapi-gen\": \"tsx scripts/manager-openapi-gen.ts\",\n\t\t\"dump-asyncapi\": \"tsx scripts/dump-asyncapi.ts\",\n\t\t\"registry-config-schema-gen\": \"tsx scripts/registry-config-schema-gen.ts\",\n\t\t\"actor-config-schema-gen\": \"tsx scripts/actor-config-schema-gen.ts\"\n\t},\n\t\"dependencies\": {\n\t\t\"@hono/standard-validator\": \"^0.1.3\",\n\t\t\"@hono/zod-openapi\": \"^1.1.5\",\n\t\t\"@rivetkit/bare-ts\": \"^0.6.2\",\n\t\t\"@rivetkit/engine-runner\": \"workspace:*\",\n\t\t\"@rivetkit/fast-json-patch\": \"^3.1.2\",\n\t\t\"@rivetkit/on-change\": \"^6.0.2-rc.1\",\n\t\t\"@rivetkit/virtual-websocket\": \"workspace:*\",\n\t\t\"cbor-x\": \"^1.6.0\",\n\t\t\"get-port\": \"^7.1.0\",\n\t\t\"hono\": \"^4.7.0\",\n\t\t\"invariant\": \"^2.2.4\",\n\t\t\"nanoevents\": \"^9.1.0\",\n\t\t\"p-retry\": \"^6.2.1\",\n\t\t\"pino\": \"^9.5.0\",\n\t\t\"uuid\": \"^12.0.0\",\n\t\t\"vbare\": \"^0.0.4\",\n\t\t\"zod\": \"^4.1.0\"\n\t},\n\t\"devDependencies\": {\n\t\t\"@bare-ts/tools\": \"^0.13.0\",\n\t\t\"@biomejs/biome\": \"^2.2.3\",\n\t\t\"@hono/node-server\": \"^1.18.2\",\n\t\t\"@hono/node-ws\": \"^1.1.1\",\n\t\t\"@types/invariant\": \"^2\",\n\t\t\"@types/node\": \"^22.13.1\",\n\t\t\"@types/ws\": \"^8\",\n\t\t\"@vitest/ui\": \"3.1.1\",\n\t\t\"commander\": \"^12.1.0\",\n\t\t\"eventsource\": \"^4.0.0\",\n\t\t\"local-pkg\": \"^0.5.1\",\n\t\t\"tsup\": \"^8.4.0\",\n\t\t\"tsx\": \"^4.19.4\",\n\t\t\"typescript\": \"^5.7.3\",\n\t\t\"vite-tsconfig-paths\": \"^5.1.4\",\n\t\t\"vitest\": \"^3.1.1\",\n\t\t\"ws\": \"^8.18.1\",\n\t\t\"zod-to-json-schema\": \"^3.25.0\"\n\t},\n\t\"peerDependencies\": {\n\t\t\"@hono/node-server\": \"^1.14.0\",\n\t\t\"@hono/node-ws\": \"^1.1.1\",\n\t\t\"eventsource\": \"^4.0.0\",\n\t\t\"ws\": \"^8.0.0\"\n\t},\n\t\"peerDependenciesMeta\": {\n\t\t\"@hono/node-server\": {\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"@hono/node-ws\": {\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"eventsource\": {\n\t\t\t\"optional\": true\n\t\t},\n\t\t\"ws\": {\n\t\t\t\"optional\": true\n\t\t}\n\t},\n\t\"stableVersion\": \"0.8.0\"\n}\n","import {\n\ttype LevelWithSilent,\n\ttype Logger,\n\tpino,\n\tstdTimeFunctions,\n} from \"pino\";\nimport { z } from \"zod\";\nimport { getLogLevel, getLogTarget, getLogTimestamp } from \"@/utils/env-vars\";\nimport {\n\tcastToLogValue,\n\tformatTimestamp,\n\tLOGGER_CONFIG,\n\tstringify,\n} from \"./logfmt\";\n\nexport type { Logger } from \"pino\";\n\nlet baseLogger: Logger | undefined;\nlet configuredLogLevel: LogLevel | undefined;\n\n/** Cache of child loggers by logger name. */\nconst loggerCache = new Map<string, Logger>();\n\nexport const LogLevelSchema = z.enum([\n\t\"trace\",\n\t\"debug\",\n\t\"info\",\n\t\"warn\",\n\t\"error\",\n\t\"fatal\",\n\t\"silent\",\n]);\n\nexport type LogLevel = z.infer<typeof LogLevelSchema>;\n\nexport function getPinoLevel(logLevel?: LogLevel): LevelWithSilent {\n\t// Priority: provided > configured > env > default\n\tif (logLevel) {\n\t\treturn logLevel;\n\t}\n\n\tif (configuredLogLevel) {\n\t\treturn configuredLogLevel;\n\t}\n\n\tconst raw = (getLogLevel() || \"warn\").toString().toLowerCase();\n\n\tconst parsed = LogLevelSchema.safeParse(raw);\n\tif (parsed.success) {\n\t\treturn parsed.data;\n\t}\n\n\t// Default to info if invalid\n\treturn \"info\";\n}\n\nexport function getIncludeTarget(): boolean {\n\treturn getLogTarget();\n}\n\n/**\n * Configure a custom base logger.\n */\nexport function configureBaseLogger(logger: Logger): void {\n\tbaseLogger = logger;\n\tloggerCache.clear();\n}\n\n// TODO: This can be simplified in logfmt.ts\nfunction customWrite(level: string, o: any) {\n\tconst entries: any = {};\n\n\t// Add timestamp if enabled\n\tif (getLogTimestamp() && o.time) {\n\t\tconst date = typeof o.time === \"number\" ? new Date(o.time) : new Date();\n\t\tentries.ts = formatTimestamp(date);\n\t}\n\n\t// Add level\n\tentries.level = level.toUpperCase();\n\n\t// Add target if present\n\tif (o.target) {\n\t\tentries.target = o.target;\n\t}\n\n\t// Add message\n\tif (o.msg) {\n\t\tentries.msg = o.msg;\n\t}\n\n\t// Add other properties\n\tfor (const [key, value] of Object.entries(o)) {\n\t\tif (\n\t\t\tkey !== \"time\" &&\n\t\t\tkey !== \"level\" &&\n\t\t\tkey !== \"target\" &&\n\t\t\tkey !== \"msg\" &&\n\t\t\tkey !== \"pid\" &&\n\t\t\tkey !== \"hostname\"\n\t\t) {\n\t\t\tentries[key] = castToLogValue(value);\n\t\t}\n\t}\n\n\tconst output = stringify(entries);\n\tconsole.log(output);\n}\n\n/**\n * Configure the default logger with optional log level.\n */\nexport function configureDefaultLogger(logLevel?: LogLevel) {\n\t// Store the configured log level\n\tif (logLevel) {\n\t\tconfiguredLogLevel = logLevel;\n\t}\n\n\tbaseLogger = pino({\n\t\tlevel: getPinoLevel(logLevel),\n\t\tmessageKey: \"msg\",\n\t\t// Do not include pid/hostname in output\n\t\tbase: {},\n\t\t// Keep a string level in the output\n\t\tformatters: {\n\t\t\tlevel(_label: string, number: number) {\n\t\t\t\treturn { level: number };\n\t\t\t},\n\t\t},\n\t\ttimestamp: getLogTimestamp() ? stdTimeFunctions.epochTime : false,\n\t\tbrowser: {\n\t\t\twrite: {\n\t\t\t\tfatal: customWrite.bind(null, \"fatal\"),\n\t\t\t\terror: customWrite.bind(null, \"error\"),\n\t\t\t\twarn: customWrite.bind(null, \"warn\"),\n\t\t\t\tinfo: customWrite.bind(null, \"info\"),\n\t\t\t\tdebug: customWrite.bind(null, \"debug\"),\n\t\t\t\ttrace: customWrite.bind(null, \"trace\"),\n\t\t\t},\n\t\t},\n\t\thooks: {\n\t\t\tlogMethod(inputArgs, method, level) {\n\t\t\t\t// TODO: This is a hack to not implement our own Pino transport target. We can get better perf if we have our own transport target.\n\n\t\t\t\tconst levelMap: Record<number, string> = {\n\t\t\t\t\t10: \"trace\",\n\t\t\t\t\t20: \"debug\",\n\t\t\t\t\t30: \"info\",\n\t\t\t\t\t40: \"warn\",\n\t\t\t\t\t50: \"error\",\n\t\t\t\t\t60: \"fatal\",\n\t\t\t\t};\n\t\t\t\tconst levelName = levelMap[level] || \"info\";\n\t\t\t\tconst time = getLogTimestamp() ? Date.now() : undefined;\n\n\t\t\t\t// Get bindings from the logger instance (child logger fields)\n\t\t\t\tconst bindings = (this as any).bindings?.() || {};\n\n\t\t\t\t// TODO: This can be simplified in logfmt.ts\n\t\t\t\tif (inputArgs.length >= 2) {\n\t\t\t\t\tconst [objOrMsg, msg] = inputArgs;\n\t\t\t\t\tif (typeof objOrMsg === \"object\" && objOrMsg !== null) {\n\t\t\t\t\t\tcustomWrite(levelName, {\n\t\t\t\t\t\t\t...bindings,\n\t\t\t\t\t\t\t...objOrMsg,\n\t\t\t\t\t\t\tmsg,\n\t\t\t\t\t\t\ttime,\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcustomWrite(levelName, {\n\t\t\t\t\t\t\t...bindings,\n\t\t\t\t\t\t\tmsg: String(objOrMsg),\n\t\t\t\t\t\t\ttime,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else if (inputArgs.length === 1) {\n\t\t\t\t\tconst [objOrMsg] = inputArgs;\n\t\t\t\t\tif (typeof objOrMsg === \"object\" && objOrMsg !== null) {\n\t\t\t\t\t\tcustomWrite(levelName, {\n\t\t\t\t\t\t\t...bindings,\n\t\t\t\t\t\t\t...objOrMsg,\n\t\t\t\t\t\t\ttime,\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcustomWrite(levelName, {\n\t\t\t\t\t\t\t...bindings,\n\t\t\t\t\t\t\tmsg: String(objOrMsg),\n\t\t\t\t\t\t\ttime,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t});\n\n\tloggerCache.clear();\n}\n\n/**\n * Get or initialize the base logger.\n */\nexport function getBaseLogger(): Logger {\n\tif (!baseLogger) {\n\t\tconfigureDefaultLogger();\n\t}\n\treturn baseLogger!;\n}\n\n/**\n * Returns a child logger with `target` bound for the given name.\n */\nexport function getLogger(name = \"default\"): Logger {\n\t// Check cache first\n\tconst cached = loggerCache.get(name);\n\tif (cached) {\n\t\treturn cached;\n\t}\n\n\t// Create\n\tconst base = getBaseLogger();\n\n\t// Add target to log if enabled\n\tconst child = getIncludeTarget() ? base.child({ target: name }) : base;\n\n\t// Cache the logger\n\tloggerCache.set(name, child);\n\n\treturn child;\n}\n","export type LogLevel =\n\t| \"TRACE\"\n\t| \"DEBUG\"\n\t| \"INFO\"\n\t| \"WARN\"\n\t| \"ERROR\"\n\t| \"CRITICAL\";\n\nexport const LogLevels: Record<LogLevel, LevelIndex> = {\n\tTRACE: 0,\n\tDEBUG: 1,\n\tINFO: 2,\n\tWARN: 3,\n\tERROR: 4,\n\tCRITICAL: 5,\n} as const;\n\nexport const LevelNameMap: Record<number, LogLevel> = {\n\t0: \"TRACE\",\n\t1: \"DEBUG\",\n\t2: \"INFO\",\n\t3: \"WARN\",\n\t4: \"ERROR\",\n\t5: \"CRITICAL\",\n};\n\nexport type LevelIndex = number;\n","import { type LogLevel, LogLevels } from \"./log-levels\";\n\nconst LOG_LEVEL_COLORS: Record<number, string> = {\n\t[LogLevels.CRITICAL]: \"\\x1b[31m\", // Red\n\t[LogLevels.ERROR]: \"\\x1b[31m\", // Red\n\t[LogLevels.WARN]: \"\\x1b[33m\", // Yellow\n\t[LogLevels.INFO]: \"\\x1b[32m\", // Green\n\t[LogLevels.DEBUG]: \"\\x1b[36m\", // Cyan\n\t[LogLevels.TRACE]: \"\\x1b[36m\", // Cyan\n};\n\nconst RESET_COLOR = \"\\x1b[0m\";\n\n/**\n * Serializes logfmt line from an object.\n *\n * ## Styling Methodology\n *\n * The three things you need to know for every log line is the level, the\n * message, and who called it. These properties are highlighted in different colros\n * and sorted in th eorder that you usually read them.\n *\n * Once you've found a log line you care about, then you want to find the\n * property you need to see. The property names are bolded and the default color\n * while the rest of the data is dim. This lets you scan to find the property\n * name quickly then look closer to read the data associated with the\n * property.\n */\nexport function stringify(data: any) {\n\tlet line = \"\";\n\tconst entries = Object.entries(data);\n\n\tfor (let i = 0; i < entries.length; i++) {\n\t\tconst [key, valueRaw] = entries[i];\n\n\t\tlet isNull = false;\n\t\tlet valueString: string;\n\t\tif (valueRaw == null) {\n\t\t\tisNull = true;\n\t\t\tvalueString = \"\";\n\t\t} else {\n\t\t\tvalueString = valueRaw.toString();\n\t\t}\n\n\t\t// Clip value unless specifically the error message\n\t\tif (valueString.length > 512 && key !== \"msg\" && key !== \"error\")\n\t\t\tvalueString = `${valueString.slice(0, 512)}...`;\n\n\t\tconst needsQuoting =\n\t\t\tvalueString.indexOf(\" \") > -1 || valueString.indexOf(\"=\") > -1;\n\t\tconst needsEscaping =\n\t\t\tvalueString.indexOf('\"') > -1 || valueString.indexOf(\"\\\\\") > -1;\n\n\t\tvalueString = valueString.replace(/\\n/g, \"\\\\n\");\n\t\tif (needsEscaping) valueString = valueString.replace(/[\"\\\\]/g, \"\\\\$&\");\n\t\tif (needsQuoting || needsEscaping) valueString = `\"${valueString}\"`;\n\t\tif (valueString === \"\" && !isNull) valueString = '\"\"';\n\n\t\tif (LOGGER_CONFIG.enableColor) {\n\t\t\t// With color\n\n\t\t\t// Special message colors\n\t\t\tlet color = \"\\x1b[2m\";\n\t\t\tif (key === \"level\") {\n\t\t\t\tconst level = LogLevels[valueString as LogLevel];\n\t\t\t\tconst levelColor = LOG_LEVEL_COLORS[level];\n\t\t\t\tif (levelColor) {\n\t\t\t\t\tcolor = levelColor;\n\t\t\t\t}\n\t\t\t} else if (key === \"msg\") {\n\t\t\t\tcolor = \"\\x1b[32m\";\n\t\t\t} else if (key === \"trace\") {\n\t\t\t\tcolor = \"\\x1b[34m\";\n\t\t\t}\n\n\t\t\t// Format line\n\t\t\tline += `\\x1b[0m\\x1b[1m${key}\\x1b[0m\\x1b[2m=\\x1b[0m${color}${valueString}${RESET_COLOR}`;\n\t\t} else {\n\t\t\t// No color\n\t\t\tline += `${key}=${valueString}`;\n\t\t}\n\n\t\tif (i !== entries.length - 1) {\n\t\t\tline += \" \";\n\t\t}\n\t}\n\n\treturn line;\n}\n\nexport function formatTimestamp(date: Date): string {\n\tconst year = date.getUTCFullYear();\n\tconst month = String(date.getUTCMonth() + 1).padStart(2, \"0\");\n\tconst day = String(date.getUTCDate()).padStart(2, \"0\");\n\tconst hours = String(date.getUTCHours()).padStart(2, \"0\");\n\tconst minutes = String(date.getUTCMinutes()).padStart(2, \"0\");\n\tconst seconds = String(date.getUTCSeconds()).padStart(2, \"0\");\n\tconst milliseconds = String(date.getUTCMilliseconds()).padStart(3, \"0\");\n\n\treturn `${year}-${month}-${day}T${hours}:${minutes}:${seconds}.${milliseconds}Z`;\n}\n\nexport function castToLogValue(v: unknown): any {\n\tif (\n\t\ttypeof v === \"string\" ||\n\t\ttypeof v === \"number\" ||\n\t\ttypeof v === \"bigint\" ||\n\t\ttypeof v === \"boolean\" ||\n\t\tv === null ||\n\t\tv === undefined\n\t) {\n\t\treturn v;\n\t}\n\tif (v instanceof Error) {\n\t\t//args.push(...errorToLogEntries(k, v));\n\t\treturn String(v);\n\t}\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch {\n\t\treturn \"[cannot stringify]\";\n\t}\n}\n\n// MARK: Config\ninterface GlobalLoggerConfig {\n\tenableColor: boolean;\n\tenableSpreadObject: boolean;\n\tenableErrorStack: boolean;\n}\n\nexport const LOGGER_CONFIG: GlobalLoggerConfig = {\n\tenableColor: false,\n\tenableSpreadObject: false,\n\tenableErrorStack: false,\n};\n\n// MARK: Utils\n/**\n * Converts an object in to an easier to read KV of entries.\n */\nexport function spreadObjectToLogEntries(base: string, data: unknown): any {\n\tif (\n\t\tLOGGER_CONFIG.enableSpreadObject &&\n\t\ttypeof data === \"object\" &&\n\t\t!Array.isArray(data) &&\n\t\tdata !== null &&\n\t\tObject.keys(data).length !== 0 &&\n\t\tObject.keys(data).length < 16\n\t) {\n\t\tconst logData: any = {};\n\t\tfor (const key in data) {\n\t\t\tObject.assign(\n\t\t\t\tlogData,\n\t\t\t\tspreadObjectToLogEntries(\n\t\t\t\t\t`${base}.${key}`,\n\t\t\t\t\t// biome-ignore lint/suspicious/noExplicitAny: FIXME\n\t\t\t\t\t(data as any)[key],\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\treturn logData;\n\t}\n\n\treturn { [base]: JSON.stringify(data) };\n}\n\nexport function errorToLogEntries(base: string, error: unknown): any {\n\tif (error instanceof Error) {\n\t\treturn {\n\t\t\t[`${base}.message`]: error.message,\n\t\t\t...(LOGGER_CONFIG.enableErrorStack && error.stack\n\t\t\t\t? { [`${base}.stack`]: formatStackTrace(error.stack) }\n\t\t\t\t: {}),\n\t\t\t...(error.cause\n\t\t\t\t? errorToLogEntries(`${base}.cause`, error.cause)\n\t\t\t\t: {}),\n\t\t};\n\t}\n\treturn { [base]: `${error}` };\n}\n\n// export function errorToLogEntries(base: string, error: unknown): LogEntry[] {\n// \tif (error instanceof RuntimeError) {\n// \t\treturn [\n// \t\t\t[`${base}.code`, error.code],\n// \t\t\t[`${base}.description`, error.errorConfig?.description],\n// \t\t\t[`${base}.module`, error.moduleName],\n// \t\t\t...(error.trace ? [[`${base}.trace`, stringifyTrace(error.trace)] as LogEntry] : []),\n// \t\t\t...(LOGGER_CONFIG.enableErrorStack && error.stack\n// \t\t\t\t? [[`${base}.stack`, formatStackTrace(error.stack)] as LogEntry]\n// \t\t\t\t: []),\n// \t\t\t...(error.meta ? [[`${base}.meta`, JSON.stringify(error.meta)] as LogEntry] : []),\n// \t\t\t...(error.cause ? errorToLogEntries(`${base}.cause`, error.cause) : []),\n// \t\t];\n// \t} else if (error instanceof Error) {\n// \t\treturn [\n// \t\t\t[`${base}.name`, error.name],\n// \t\t\t[`${base}.message`, error.message],\n// \t\t\t...(LOGGER_CONFIG.enableErrorStack && error.stack\n// \t\t\t\t? [[`${base}.stack`, formatStackTrace(error.stack)] as LogEntry]\n// \t\t\t\t: []),\n// \t\t\t...(error.cause ? errorToLogEntries(`${base}.cause`, error.cause) : []),\n// \t\t];\n// \t} else {\n// \t\treturn [\n// \t\t\t[base, `${error}`],\n// \t\t];\n// \t}\n// }\n\n/**\n * Formats a JS stack trace in to a legible one-liner.\n */\nfunction formatStackTrace(stackTrace: string): string {\n\tconst regex = /at (.+?)$/gm;\n\tconst matches = [...stackTrace.matchAll(regex)];\n\t// Reverse array since the stack goes from top level -> bottom level\n\tmatches.reverse();\n\treturn matches.map((match) => match[1].trim()).join(\" > \");\n}\n","export { stringifyError } from \"@/common/utils\";\nexport { assertUnreachable } from \"./common/utils\";\n\nimport type { Context as HonoContext, Handler as HonoHandler } from \"hono\";\nimport { stringify as uuidstringify } from \"uuid\";\nimport { stringifyError } from \"@/common/utils\";\nimport pkgJson from \"../package.json\" with { type: \"json\" };\nimport { getLogger } from \"./common/log\";\n\nexport const VERSION = pkgJson.version;\n\nlet _userAgent: string | undefined;\n\nfunction logger() {\n\treturn getLogger(\"utils\");\n}\n\nexport function httpUserAgent(): string {\n\t// Return cached value if already initialized\n\tif (_userAgent !== undefined) {\n\t\treturn _userAgent;\n\t}\n\n\t// Library\n\tlet userAgent = `RivetKit/${VERSION}`;\n\n\t// Navigator\n\tconst navigatorObj =\n\t\ttypeof navigator !== \"undefined\" ? navigator : undefined;\n\tif (navigatorObj?.userAgent) userAgent += ` ${navigatorObj.userAgent}`;\n\n\t_userAgent = userAgent;\n\n\treturn userAgent;\n}\n\nexport type UpgradeWebSocket = (\n\tcreateEvents: (c: HonoContext) => any,\n) => HonoHandler;\n\nexport type GetUpgradeWebSocket = () => UpgradeWebSocket;\n\nexport function getEnvUniversal(key: string): string | undefined {\n\tif (typeof Deno !== \"undefined\") {\n\t\treturn Deno.env.get(key);\n\t} else if (typeof process !== \"undefined\") {\n\t\t// Do this after Deno since `process` is sometimes polyfilled\n\t\treturn process.env[key];\n\t}\n}\n\nexport function dbg<T>(x: T): T {\n\tconsole.trace(`=== DEBUG ===\\n${x}`);\n\treturn x;\n}\n\n/**\n * Converts various ArrayBuffer-like types to Uint8Array.\n * Handles ArrayBuffer, ArrayBufferView (including typed arrays), and passes through existing Uint8Array.\n *\n * @param data - The ArrayBuffer or ArrayBufferView to convert\n * @returns A Uint8Array view of the data\n */\nexport function toUint8Array(data: ArrayBuffer | ArrayBufferView): Uint8Array {\n\tif (data instanceof Uint8Array) {\n\t\treturn data;\n\t} else if (data instanceof ArrayBuffer) {\n\t\treturn new Uint8Array(data);\n\t} else if (ArrayBuffer.isView(data)) {\n\t\t// Handle other ArrayBufferView types (Int8Array, Uint16Array, DataView, etc.)\n\t\treturn new Uint8Array(\n\t\t\tdata.buffer.slice(\n\t\t\t\tdata.byteOffset,\n\t\t\t\tdata.byteOffset + data.byteLength,\n\t\t\t),\n\t\t);\n\t} else {\n\t\tthrow new TypeError(\"Input must be ArrayBuffer or ArrayBufferView\");\n\t}\n}\n\n// Long timeouts\n//\n// JavaScript timers use a signed 32-bit integer for delays, so values above 2^31-1 (~24.8 days)\n// are not reliable and may fire immediately or overflow.\n//\n// https://developer.mozilla.org/en-US/docs/Web/API/Window/setTimeout#maximum_delay_value\nconst TIMEOUT_MAX = 2147483647; // 2^31-1\n\nexport type LongTimeoutHandle = { abort: () => void };\n\n/**\n * Polyfill for Promise.withResolvers().\n *\n * This is specifically for Cloudflare Workers. Their implementation of Promise.withResolvers does not work correctly.\n */\nexport function promiseWithResolvers<T>(): {\n\tpromise: Promise<T>;\n\tresolve: (value: T | PromiseLike<T>) => void;\n\treject: (reason?: any) => void;\n} {\n\tlet resolve!: (value: T | PromiseLike<T>) => void;\n\tlet reject!: (reason?: any) => void;\n\tconst promise = new Promise<T>((res, rej) => {\n\t\tresolve = res;\n\t\treject = rej;\n\t});\n\treturn { promise, resolve, reject };\n}\n\nexport function setLongTimeout(\n\tlistener: () => void,\n\tafter: number,\n): LongTimeoutHandle {\n\tlet timeout: ReturnType<typeof setTimeout> | undefined;\n\n\tfunction start(remaining: number) {\n\t\tif (remaining <= TIMEOUT_MAX) {\n\t\t\ttimeout = setTimeout(listener, remaining);\n\t\t} else {\n\t\t\ttimeout = setTimeout(() => {\n\t\t\t\tstart(remaining - TIMEOUT_MAX);\n\t\t\t}, TIMEOUT_MAX);\n\t\t}\n\t}\n\n\tstart(after);\n\n\treturn {\n\t\tabort: () => {\n\t\t\tif (timeout !== undefined) clearTimeout(timeout);\n\t\t},\n\t};\n}\n\n/**\n * A tiny utility that coalesces/enqueues async operations so only the latest\n * queued task runs per cycle, while callers receive a promise that resolves\n * when the task for the cycle they joined has completed.\n */\nexport class SinglePromiseQueue {\n\t/** Next operation to execute in the queue. If attempting to enqueue another op, it will override the existing op. */\n\t#queuedOp?: () => Promise<void>;\n\n\t/** The currently running promise of #drainLoop. Do not await this, instead await `pending` to await the current cycle. */\n\trunningDrainLoop?: Promise<void>;\n\n\t/** Pending resolver fro the currently queued entry. */\n\t#pending?: ReturnType<typeof promiseWithResolvers<void>>;\n\n\t/** Queue the next operation and return a promise that resolves when it flushes. */\n\tenqueue(op: () => Promise<void>): Promise<void> {\n\t\t// Replace any previously queued operation with the latest one\n\t\tthis.#queuedOp = op;\n\n\t\t// Ensure a shared resolver exists for all callers in this cycle\n\t\tif (!this.#pending) {\n\t\t\tthis.#pending = promiseWithResolvers<void>();\n\t\t}\n\n\t\tconst waitForThisCycle = this.#pending.promise;\n\n\t\t// Start runner if not already running\n\t\tif (!this.runningDrainLoop) {\n\t\t\tthis.runningDrainLoop = this.#drainLoop();\n\t\t}\n\n\t\treturn waitForThisCycle;\n\t}\n\n\t/** Drain queued operations sequentially until there is nothing left. */\n\tasync #drainLoop(): Promise<void> {\n\t\ttry {\n\t\t\twhile (this.#queuedOp) {\n\t\t\t\t// Capture current cycle resolver then reset for the next cycle\n\t\t\t\tconst resolver = this.#pending;\n\t\t\t\tthis.#pending = undefined;\n\n\t\t\t\t// Capture and clear the currently queued operation\n\t\t\t\tconst op = this.#queuedOp;\n\t\t\t\tthis.#queuedOp = undefined;\n\n\t\t\t\ttry {\n\t\t\t\t\tawait op();\n\t\t\t\t\t// Notify all waiters for this cycle\n\t\t\t\t\tresolver?.resolve();\n\t\t\t\t} catch (err) {\n\t\t\t\t\tlogger().error({\n\t\t\t\t\t\tmsg: \"error in SinglePromiseQueue drain loop\",\n\t\t\t\t\t\terror: stringifyError(err),\n\t\t\t\t\t});\n\t\t\t\t\t// Reject all waiters for this cycle\n\t\t\t\t\tresolver?.reject(err);\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\tthis.runningDrainLoop = undefined;\n\t\t}\n\t}\n}\n\nexport function bufferToArrayBuffer(buf: Buffer | Uint8Array): ArrayBuffer {\n\treturn buf.buffer.slice(\n\t\tbuf.byteOffset,\n\t\tbuf.byteOffset + buf.byteLength,\n\t) as ArrayBuffer;\n}\n\n/**\n * Properly combines a base URL endpoint with a path, preserving any base path in the endpoint.\n *\n * @example\n * combineUrlPath(\"http://localhost:8787/rivet\", \"/actors/action\")\n * // Returns: \"http://localhost:8787/rivet/actors/action\"\n *\n * @example\n * combineUrlPath(\"http://localhost:8787/rivet\", \"/actors?type=foo\", { namespace: \"test\" })\n * // Returns: \"http://localhost:8787/rivet/actors?type=foo&namespace=test\"\n *\n * @param endpoint The base URL endpoint that may contain a path component\n * @param path The path to append to the endpoint (may include query parameters)\n * @param queryParams Optional additional query parameters to append\n * @returns The properly combined URL string\n */\nexport function combineUrlPath(\n\tendpoint: string,\n\tpath: string,\n\tqueryParams?: Record<string, string | undefined>,\n): string {\n\tconst baseUrl = new URL(endpoint);\n\n\t// Extract path and query from the provided path\n\tconst pathParts = path.split(\"?\");\n\tconst pathOnly = pathParts[0];\n\tconst existingQuery = pathParts[1] || \"\";\n\n\t// Remove trailing slash from base path and ensure path starts with /\n\tconst basePath = baseUrl.pathname.replace(/\\/$/, \"\");\n\tconst cleanPath = pathOnly.startsWith(\"/\") ? pathOnly : `/${pathOnly}`;\n\t// Combine paths and remove any double slashes\n\tconst fullPath = (basePath + cleanPath).replace(/\\/\\//g, \"/\");\n\n\t// Build query string\n\tconst queryParts: string[] = [];\n\tif (existingQuery) {\n\t\tqueryParts.push(existingQuery);\n\t}\n\tif (queryParams) {\n\t\tfor (const [key, value] of Object.entries(queryParams)) {\n\t\t\tif (value !== undefined) {\n\t\t\t\tqueryParts.push(\n\t\t\t\t\t`${encodeURIComponent(key)}=${encodeURIComponent(value)}`,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst fullQuery = queryParts.length > 0 ? `?${queryParts.join(\"&\")}` : \"\";\n\treturn `${baseUrl.protocol}//${baseUrl.host}${fullPath}${fullQuery}`;\n}\n\nexport function arrayBuffersEqual(\n\tbuf1: ArrayBuffer,\n\tbuf2: ArrayBuffer,\n): boolean {\n\tif (buf1.byteLength !== buf2.byteLength) return false;\n\n\tconst view1 = new Uint8Array(buf1);\n\tconst view2 = new Uint8Array(buf2);\n\n\tfor (let i = 0; i < view1.length; i++) {\n\t\tif (view1[i] !== view2[i]) return false;\n\t}\n\treturn true;\n}\n\nexport const EXTRA_ERROR_LOG = {\n\tissues: \"https://github.com/rivet-dev/rivetkit/issues\",\n\tsupport: \"https://rivet.dev/discord\",\n\tversion: VERSION,\n};\n\nexport type Runtime = \"deno\" | \"bun\" | \"node\";\n\nexport function detectRuntime(): Runtime {\n\tconst userAgent =\n\t\ttypeof navigator !== \"undefined\" ? navigator.userAgent : \"\";\n\tif (userAgent.includes(\"Deno\")) {\n\t\treturn \"deno\";\n\t}\n\tif (userAgent.includes(\"Bun\")) {\n\t\treturn \"bun\";\n\t}\n\treturn \"node\";\n}\n\nexport type DeepReadonly<T> = {\n\treadonly [K in keyof T]: T[K] extends object ? DeepReadonly<T[K]> : T[K];\n};\n\nexport type DeepMutable<T> = {\n\t-readonly [K in keyof T]: T[K] extends object ? DeepMutable<T[K]> : T[K];\n};\n"],"mappings":"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","names":["logger","logger","VERSION"]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createClientWithDriver,
3
3
  lookupInRegistry
4
- } from "./chunk-XU74APB4.js";
4
+ } from "./chunk-UGOCTUBG.js";
5
5
  import {
6
6
  CONN_DRIVER_SYMBOL,
7
7
  PATH_CONNECT,
@@ -16,7 +16,7 @@ import {
16
16
  loggerWithoutContext,
17
17
  parseWebSocketProtocols,
18
18
  routeWebSocket
19
- } from "./chunk-PVKUXMOA.js";
19
+ } from "./chunk-OXN6EZUB.js";
20
20
  import {
21
21
  VERSION,
22
22
  arrayBuffersEqual,
@@ -26,7 +26,7 @@ import {
26
26
  promiseWithResolvers,
27
27
  setLongTimeout,
28
28
  stringifyError
29
- } from "./chunk-CDK6DRO2.js";
29
+ } from "./chunk-LMG4QMDO.js";
30
30
  import {
31
31
  ActorDuplicateKey,
32
32
  ActorStopping
@@ -1943,4 +1943,4 @@ export {
1943
1943
  createFileSystemDriver,
1944
1944
  createMemoryDriver
1945
1945
  };
1946
- //# sourceMappingURL=chunk-T7IPDBWH.js.map
1946
+ //# sourceMappingURL=chunk-NRP2OHSW.js.map