rivetkit 2.0.24-rc.1 → 2.0.24

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 (228) hide show
  1. package/dist/schemas/actor-persist/v2.ts +3 -3
  2. package/dist/schemas/actor-persist/v3.ts +274 -0
  3. package/dist/schemas/client-protocol/v2.ts +432 -0
  4. package/dist/schemas/file-system-driver/v2.ts +136 -0
  5. package/dist/tsup/actor/errors.cjs +2 -4
  6. package/dist/tsup/actor/errors.cjs.map +1 -1
  7. package/dist/tsup/actor/errors.d.cts +7 -10
  8. package/dist/tsup/actor/errors.d.ts +7 -10
  9. package/dist/tsup/actor/errors.js +9 -11
  10. package/dist/tsup/{actor-router-consts-B3Lu87yJ.d.cts → actor-router-consts-DzI2szci.d.cts} +5 -9
  11. package/dist/tsup/{actor-router-consts-B3Lu87yJ.d.ts → actor-router-consts-DzI2szci.d.ts} +5 -9
  12. package/dist/tsup/{chunk-HHFKKVLR.cjs → chunk-3543NCSN.cjs} +45 -57
  13. package/dist/tsup/chunk-3543NCSN.cjs.map +1 -0
  14. package/dist/tsup/chunk-4SHILYS5.cjs +5694 -0
  15. package/dist/tsup/chunk-4SHILYS5.cjs.map +1 -0
  16. package/dist/tsup/{chunk-ZTH3KYFH.cjs → chunk-5BZO5XPS.cjs} +3 -3
  17. package/dist/tsup/{chunk-ZTH3KYFH.cjs.map → chunk-5BZO5XPS.cjs.map} +1 -1
  18. package/dist/tsup/{chunk-PLUN2NQT.js → chunk-BAIGSF64.js} +189 -187
  19. package/dist/tsup/chunk-BAIGSF64.js.map +1 -0
  20. package/dist/tsup/{chunk-SHVX2QUR.cjs → chunk-CHLZBSI2.cjs} +17 -17
  21. package/dist/tsup/chunk-CHLZBSI2.cjs.map +1 -0
  22. package/dist/tsup/chunk-D3SLADUD.cjs +512 -0
  23. package/dist/tsup/chunk-D3SLADUD.cjs.map +1 -0
  24. package/dist/tsup/{chunk-KSRXX3Z4.cjs → chunk-D6762AOA.cjs} +20 -25
  25. package/dist/tsup/chunk-D6762AOA.cjs.map +1 -0
  26. package/dist/tsup/{chunk-7L65NNWP.cjs → chunk-DLK5YCTN.cjs} +187 -185
  27. package/dist/tsup/chunk-DLK5YCTN.cjs.map +1 -0
  28. package/dist/tsup/{chunk-YBG6R7LX.js → chunk-DUJQWGYD.js} +3 -7
  29. package/dist/tsup/chunk-DUJQWGYD.js.map +1 -0
  30. package/dist/tsup/{chunk-CD33GT6Z.js → chunk-EIPANQMF.js} +2 -2
  31. package/dist/tsup/{chunk-2JYPS5YM.cjs → chunk-ESMTDP7G.cjs} +6 -6
  32. package/dist/tsup/chunk-ESMTDP7G.cjs.map +1 -0
  33. package/dist/tsup/{chunk-VHGY7PU5.cjs → chunk-FVAKREFB.cjs} +1900 -1737
  34. package/dist/tsup/chunk-FVAKREFB.cjs.map +1 -0
  35. package/dist/tsup/{chunk-BLK27ES3.js → chunk-I3XT7WOF.js} +44 -56
  36. package/dist/tsup/chunk-I3XT7WOF.js.map +1 -0
  37. package/dist/tsup/{chunk-YBHYXIP6.js → chunk-IMDS5T42.js} +3 -3
  38. package/dist/tsup/chunk-IMDS5T42.js.map +1 -0
  39. package/dist/tsup/{chunk-INNFK746.cjs → chunk-J3HZJF2P.cjs} +10 -14
  40. package/dist/tsup/chunk-J3HZJF2P.cjs.map +1 -0
  41. package/dist/tsup/{chunk-BYMKMOBS.js → chunk-MBBJUHSP.js} +1844 -1681
  42. package/dist/tsup/chunk-MBBJUHSP.js.map +1 -0
  43. package/dist/tsup/{chunk-BOMZS2TJ.js → chunk-MO5CB6MD.js} +9 -9
  44. package/dist/tsup/chunk-MO5CB6MD.js.map +1 -0
  45. package/dist/tsup/chunk-OFOTPKAH.js +512 -0
  46. package/dist/tsup/chunk-OFOTPKAH.js.map +1 -0
  47. package/dist/tsup/{chunk-G64QUEDJ.js → chunk-W6RDS6NW.js} +23 -28
  48. package/dist/tsup/chunk-W6RDS6NW.js.map +1 -0
  49. package/dist/tsup/{chunk-36JJ4IQB.cjs → chunk-YC5DUHPM.cjs} +4 -8
  50. package/dist/tsup/chunk-YC5DUHPM.cjs.map +1 -0
  51. package/dist/tsup/{chunk-FX7TWFQR.js → chunk-YC7YPM2T.js} +2 -6
  52. package/dist/tsup/chunk-YC7YPM2T.js.map +1 -0
  53. package/dist/tsup/{chunk-227FEWMB.js → chunk-ZSPU5R4C.js} +3322 -2251
  54. package/dist/tsup/chunk-ZSPU5R4C.js.map +1 -0
  55. package/dist/tsup/client/mod.cjs +9 -9
  56. package/dist/tsup/client/mod.d.cts +5 -7
  57. package/dist/tsup/client/mod.d.ts +5 -7
  58. package/dist/tsup/client/mod.js +8 -8
  59. package/dist/tsup/common/log.cjs +3 -3
  60. package/dist/tsup/common/log.js +2 -2
  61. package/dist/tsup/common/websocket.cjs +4 -4
  62. package/dist/tsup/common/websocket.js +3 -3
  63. package/dist/tsup/{conn-B3Vhbgnd.d.ts → config-BRDYDraU.d.cts} +1119 -1047
  64. package/dist/tsup/{conn-DJWL3nGx.d.cts → config-Bo-blHpJ.d.ts} +1119 -1047
  65. package/dist/tsup/driver-helpers/mod.cjs +5 -13
  66. package/dist/tsup/driver-helpers/mod.cjs.map +1 -1
  67. package/dist/tsup/driver-helpers/mod.d.cts +11 -9
  68. package/dist/tsup/driver-helpers/mod.d.ts +11 -9
  69. package/dist/tsup/driver-helpers/mod.js +14 -22
  70. package/dist/tsup/driver-test-suite/mod.cjs +474 -303
  71. package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
  72. package/dist/tsup/driver-test-suite/mod.d.cts +6 -9
  73. package/dist/tsup/driver-test-suite/mod.d.ts +6 -9
  74. package/dist/tsup/driver-test-suite/mod.js +1085 -914
  75. package/dist/tsup/driver-test-suite/mod.js.map +1 -1
  76. package/dist/tsup/inspector/mod.cjs +6 -6
  77. package/dist/tsup/inspector/mod.d.cts +5 -7
  78. package/dist/tsup/inspector/mod.d.ts +5 -7
  79. package/dist/tsup/inspector/mod.js +5 -5
  80. package/dist/tsup/mod.cjs +10 -16
  81. package/dist/tsup/mod.cjs.map +1 -1
  82. package/dist/tsup/mod.d.cts +23 -25
  83. package/dist/tsup/mod.d.ts +23 -25
  84. package/dist/tsup/mod.js +17 -23
  85. package/dist/tsup/test/mod.cjs +11 -11
  86. package/dist/tsup/test/mod.d.cts +4 -6
  87. package/dist/tsup/test/mod.d.ts +4 -6
  88. package/dist/tsup/test/mod.js +10 -10
  89. package/dist/tsup/utils.cjs +3 -5
  90. package/dist/tsup/utils.cjs.map +1 -1
  91. package/dist/tsup/utils.d.cts +1 -2
  92. package/dist/tsup/utils.d.ts +1 -2
  93. package/dist/tsup/utils.js +2 -4
  94. package/package.json +13 -6
  95. package/src/actor/config.ts +56 -44
  96. package/src/actor/conn/driver.ts +61 -0
  97. package/src/actor/conn/drivers/http.ts +17 -0
  98. package/src/actor/conn/drivers/raw-request.ts +24 -0
  99. package/src/actor/conn/drivers/raw-websocket.ts +65 -0
  100. package/src/actor/conn/drivers/websocket.ts +129 -0
  101. package/src/actor/conn/mod.ts +232 -0
  102. package/src/actor/conn/persisted.ts +81 -0
  103. package/src/actor/conn/state-manager.ts +196 -0
  104. package/src/actor/contexts/action.ts +23 -0
  105. package/src/actor/{context.ts → contexts/actor.ts} +19 -8
  106. package/src/actor/contexts/conn-init.ts +31 -0
  107. package/src/actor/contexts/conn.ts +48 -0
  108. package/src/actor/contexts/create-conn-state.ts +13 -0
  109. package/src/actor/contexts/on-before-connect.ts +13 -0
  110. package/src/actor/contexts/on-connect.ts +22 -0
  111. package/src/actor/contexts/request.ts +48 -0
  112. package/src/actor/contexts/websocket.ts +48 -0
  113. package/src/actor/definition.ts +3 -3
  114. package/src/actor/driver.ts +36 -5
  115. package/src/actor/errors.ts +19 -24
  116. package/src/actor/instance/connection-manager.ts +465 -0
  117. package/src/actor/instance/event-manager.ts +292 -0
  118. package/src/actor/instance/kv.ts +15 -0
  119. package/src/actor/instance/mod.ts +1107 -0
  120. package/src/actor/instance/persisted.ts +67 -0
  121. package/src/actor/instance/schedule-manager.ts +349 -0
  122. package/src/actor/instance/state-manager.ts +502 -0
  123. package/src/actor/mod.ts +13 -16
  124. package/src/actor/protocol/old.ts +131 -43
  125. package/src/actor/protocol/serde.ts +19 -4
  126. package/src/actor/router-endpoints.ts +61 -586
  127. package/src/actor/router-websocket-endpoints.ts +408 -0
  128. package/src/actor/router.ts +63 -197
  129. package/src/actor/schedule.ts +1 -1
  130. package/src/client/actor-conn.ts +183 -249
  131. package/src/client/actor-handle.ts +29 -6
  132. package/src/client/client.ts +0 -4
  133. package/src/client/config.ts +1 -4
  134. package/src/client/mod.ts +0 -1
  135. package/src/client/raw-utils.ts +3 -3
  136. package/src/client/utils.ts +85 -39
  137. package/src/common/actor-router-consts.ts +5 -12
  138. package/src/common/{inline-websocket-adapter2.ts → inline-websocket-adapter.ts} +26 -48
  139. package/src/common/log.ts +1 -1
  140. package/src/common/router.ts +28 -17
  141. package/src/common/utils.ts +2 -0
  142. package/src/driver-helpers/mod.ts +7 -10
  143. package/src/driver-helpers/utils.ts +18 -9
  144. package/src/driver-test-suite/mod.ts +26 -50
  145. package/src/driver-test-suite/test-inline-client-driver.ts +27 -51
  146. package/src/driver-test-suite/tests/actor-conn-hibernation.ts +150 -0
  147. package/src/driver-test-suite/tests/actor-conn-state.ts +1 -4
  148. package/src/driver-test-suite/tests/actor-conn.ts +5 -9
  149. package/src/driver-test-suite/tests/actor-destroy.ts +294 -0
  150. package/src/driver-test-suite/tests/actor-driver.ts +0 -7
  151. package/src/driver-test-suite/tests/actor-handle.ts +12 -12
  152. package/src/driver-test-suite/tests/actor-metadata.ts +1 -1
  153. package/src/driver-test-suite/tests/manager-driver.ts +1 -1
  154. package/src/driver-test-suite/tests/raw-http-direct-registry.ts +8 -8
  155. package/src/driver-test-suite/tests/raw-http-request-properties.ts +6 -5
  156. package/src/driver-test-suite/tests/raw-http.ts +5 -5
  157. package/src/driver-test-suite/tests/raw-websocket-direct-registry.ts +7 -7
  158. package/src/driver-test-suite/tests/request-access.ts +4 -4
  159. package/src/driver-test-suite/utils.ts +6 -10
  160. package/src/drivers/engine/actor-driver.ts +614 -424
  161. package/src/drivers/engine/mod.ts +0 -1
  162. package/src/drivers/file-system/actor.ts +24 -12
  163. package/src/drivers/file-system/global-state.ts +427 -37
  164. package/src/drivers/file-system/manager.ts +71 -83
  165. package/src/drivers/file-system/mod.ts +3 -0
  166. package/src/drivers/file-system/utils.ts +18 -8
  167. package/src/engine-process/mod.ts +38 -38
  168. package/src/inspector/utils.ts +7 -5
  169. package/src/manager/driver.ts +11 -4
  170. package/src/manager/gateway.ts +4 -29
  171. package/src/manager/protocol/mod.ts +0 -2
  172. package/src/manager/protocol/query.ts +0 -4
  173. package/src/manager/router.ts +67 -64
  174. package/src/manager-api/actors.ts +13 -0
  175. package/src/mod.ts +1 -3
  176. package/src/registry/mod.ts +20 -20
  177. package/src/registry/serve.ts +9 -14
  178. package/src/remote-manager-driver/actor-websocket-client.ts +1 -16
  179. package/src/remote-manager-driver/api-endpoints.ts +13 -1
  180. package/src/remote-manager-driver/api-utils.ts +8 -0
  181. package/src/remote-manager-driver/metadata.ts +58 -0
  182. package/src/remote-manager-driver/mod.ts +47 -62
  183. package/src/remote-manager-driver/ws-proxy.ts +1 -1
  184. package/src/schemas/actor-persist/mod.ts +1 -1
  185. package/src/schemas/actor-persist/versioned.ts +56 -31
  186. package/src/schemas/client-protocol/mod.ts +1 -1
  187. package/src/schemas/client-protocol/versioned.ts +41 -21
  188. package/src/schemas/client-protocol-zod/mod.ts +103 -0
  189. package/src/schemas/file-system-driver/mod.ts +1 -1
  190. package/src/schemas/file-system-driver/versioned.ts +42 -19
  191. package/src/serde.ts +33 -11
  192. package/src/test/mod.ts +7 -3
  193. package/src/utils/node.ts +173 -0
  194. package/src/utils.ts +0 -4
  195. package/dist/tsup/chunk-227FEWMB.js.map +0 -1
  196. package/dist/tsup/chunk-2JYPS5YM.cjs.map +0 -1
  197. package/dist/tsup/chunk-36JJ4IQB.cjs.map +0 -1
  198. package/dist/tsup/chunk-7L65NNWP.cjs.map +0 -1
  199. package/dist/tsup/chunk-BLK27ES3.js.map +0 -1
  200. package/dist/tsup/chunk-BOMZS2TJ.js.map +0 -1
  201. package/dist/tsup/chunk-BYMKMOBS.js.map +0 -1
  202. package/dist/tsup/chunk-FX7TWFQR.js.map +0 -1
  203. package/dist/tsup/chunk-G64QUEDJ.js.map +0 -1
  204. package/dist/tsup/chunk-HHFKKVLR.cjs.map +0 -1
  205. package/dist/tsup/chunk-INNFK746.cjs.map +0 -1
  206. package/dist/tsup/chunk-KSRXX3Z4.cjs.map +0 -1
  207. package/dist/tsup/chunk-O44LFKSB.cjs +0 -4623
  208. package/dist/tsup/chunk-O44LFKSB.cjs.map +0 -1
  209. package/dist/tsup/chunk-PLUN2NQT.js.map +0 -1
  210. package/dist/tsup/chunk-S4UJG7ZE.js +0 -1119
  211. package/dist/tsup/chunk-S4UJG7ZE.js.map +0 -1
  212. package/dist/tsup/chunk-SHVX2QUR.cjs.map +0 -1
  213. package/dist/tsup/chunk-VFB23BYZ.cjs +0 -1119
  214. package/dist/tsup/chunk-VFB23BYZ.cjs.map +0 -1
  215. package/dist/tsup/chunk-VHGY7PU5.cjs.map +0 -1
  216. package/dist/tsup/chunk-YBG6R7LX.js.map +0 -1
  217. package/dist/tsup/chunk-YBHYXIP6.js.map +0 -1
  218. package/src/actor/action.ts +0 -178
  219. package/src/actor/conn-drivers.ts +0 -216
  220. package/src/actor/conn-socket.ts +0 -8
  221. package/src/actor/conn.ts +0 -272
  222. package/src/actor/instance.ts +0 -2336
  223. package/src/actor/persisted.ts +0 -49
  224. package/src/actor/unstable-react.ts +0 -110
  225. package/src/driver-test-suite/tests/actor-reconnect.ts +0 -170
  226. package/src/drivers/engine/kv.ts +0 -3
  227. package/src/manager/hono-websocket-adapter.ts +0 -393
  228. /package/dist/tsup/{chunk-CD33GT6Z.js.map → chunk-EIPANQMF.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/inspector/protocol/actor.ts","../../src/inspector/protocol/manager.ts","../../src/inspector/utils.ts","../../src/inspector/log.ts"],"sourcesContent":["import { hc } from \"hono/client\";\nimport type { createActorInspectorRouter } from \"../actor\";\n\ntype ActorInspectorRouter = ReturnType<typeof createActorInspectorRouter>;\nconst client = hc<ActorInspectorRouter>(\"\");\nexport type ActorInspectorClient = typeof client;\n\nexport const createActorInspectorClient = (\n\t...args: Parameters<typeof hc>\n): ActorInspectorClient => hc<ActorInspectorRouter>(...args);\n","import { hc } from \"hono/client\";\nimport type { createManagerInspectorRouter } from \"../manager\";\n\ntype ManagerInspectorRouter = ReturnType<typeof createManagerInspectorRouter>;\nconst client = hc<ManagerInspectorRouter>(\"\");\nexport type ManagerInspectorClient = typeof client;\n\nexport const createManagerInspectorClient = (\n\t...args: Parameters<typeof hc>\n): ManagerInspectorClient => hc<ManagerInspectorRouter>(...args);\n","import crypto from \"node:crypto\";\nimport { createMiddleware } from \"hono/factory\";\nimport type { ManagerDriver } from \"@/driver-helpers/mod\";\nimport type { RunConfig } from \"@/mod\";\nimport type { RunnerConfigInput } from \"@/registry/run-config\";\nimport { inspectorLogger } from \"./log\";\n\nexport function compareSecrets(providedSecret: string, validSecret: string) {\n\t// Early length check to avoid unnecessary processing\n\tif (providedSecret.length !== validSecret.length) {\n\t\treturn false;\n\t}\n\n\tconst encoder = new TextEncoder();\n\n\tconst a = encoder.encode(providedSecret);\n\tconst b = encoder.encode(validSecret);\n\n\tif (a.byteLength !== b.byteLength) {\n\t\treturn false;\n\t}\n\n\t// Perform timing-safe comparison\n\tif (!crypto.timingSafeEqual(a, b)) {\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nexport const secureInspector = (runConfig: RunConfig) =>\n\tcreateMiddleware(async (c, next) => {\n\t\tconst userToken = c.req.header(\"Authorization\")?.replace(\"Bearer \", \"\");\n\t\tif (!userToken) {\n\t\t\treturn c.text(\"Unauthorized\", 401);\n\t\t}\n\n\t\tconst inspectorToken = runConfig.inspector.token?.();\n\t\tif (!inspectorToken) {\n\t\t\treturn c.text(\"Unauthorized\", 401);\n\t\t}\n\n\t\tconst isValid = compareSecrets(userToken, inspectorToken);\n\n\t\tif (!isValid) {\n\t\t\treturn c.text(\"Unauthorized\", 401);\n\t\t}\n\t\tawait next();\n\t});\n\nexport function getInspectorUrl(runConfig: RunnerConfigInput | undefined) {\n\tif (!runConfig?.inspector?.enabled) {\n\t\treturn \"disabled\";\n\t}\n\n\tconst accessToken = runConfig?.inspector?.token?.();\n\n\tif (!accessToken) {\n\t\tinspectorLogger().warn(\n\t\t\t\"Inspector Token is not set, but Inspector is enabled. Please set it in the run configuration `inspector.token` or via `RIVETKIT_INSPECTOR_TOKEN` environment variable. Inspector will not be accessible.\",\n\t\t);\n\t\treturn \"disabled\";\n\t}\n\n\tconst url = new URL(\"https://inspect.rivet.dev\");\n\n\turl.searchParams.set(\"t\", accessToken);\n\n\tconst overrideDefaultEndpoint =\n\t\trunConfig?.inspector?.defaultEndpoint ??\n\t\trunConfig.overrideServerAddress;\n\tif (overrideDefaultEndpoint) {\n\t\turl.searchParams.set(\"u\", overrideDefaultEndpoint);\n\t}\n\n\treturn url.href;\n}\n\nexport const isInspectorEnabled = (\n\trunConfig: RunConfig,\n\tcontext: \"actor\" | \"manager\",\n) => {\n\tif (typeof runConfig.inspector?.enabled === \"boolean\") {\n\t\treturn runConfig.inspector.enabled;\n\t} else if (typeof runConfig.inspector?.enabled === \"object\") {\n\t\treturn runConfig.inspector.enabled[context];\n\t}\n\treturn false;\n};\n\nexport const configureInspectorAccessToken = (\n\trunConfig: RunConfig,\n\tmanagerDriver: ManagerDriver,\n) => {\n\tif (!runConfig.inspector?.token()) {\n\t\tconst token = managerDriver.getOrCreateInspectorAccessToken();\n\t\trunConfig.inspector.token = () => token;\n\t}\n};\n","import { getLogger } from \"@/common/log\";\n\nexport function inspectorLogger() {\n\treturn getLogger(\"inspector\");\n}\n"],"mappings":";;;;;AAAA,SAAS,UAAU;AAInB,IAAM,SAAS,GAAyB,EAAE;AAGnC,IAAM,6BAA6B,IACtC,SACuB,GAAyB,GAAG,IAAI;;;ACT3D,SAAS,MAAAA,WAAU;AAInB,IAAMC,UAASD,IAA2B,EAAE;AAGrC,IAAM,+BAA+B,IACxC,SACyBA,IAA2B,GAAG,IAAI;;;ACT/D,OAAO,YAAY;AACnB,SAAS,wBAAwB;;;ACC1B,SAAS,kBAAkB;AACjC,SAAO,UAAU,WAAW;AAC7B;;;ADGO,SAAS,eAAe,gBAAwB,aAAqB;AAE3E,MAAI,eAAe,WAAW,YAAY,QAAQ;AACjD,WAAO;AAAA,EACR;AAEA,QAAM,UAAU,IAAI,YAAY;AAEhC,QAAM,IAAI,QAAQ,OAAO,cAAc;AACvC,QAAM,IAAI,QAAQ,OAAO,WAAW;AAEpC,MAAI,EAAE,eAAe,EAAE,YAAY;AAClC,WAAO;AAAA,EACR;AAGA,MAAI,CAAC,OAAO,gBAAgB,GAAG,CAAC,GAAG;AAClC,WAAO;AAAA,EACR;AACA,SAAO;AACR;AAEO,IAAM,kBAAkB,CAAC,cAC/B,iBAAiB,OAAO,GAAG,SAAS;AA9BrC;AA+BE,QAAM,aAAY,OAAE,IAAI,OAAO,eAAe,MAA5B,mBAA+B,QAAQ,WAAW;AACpE,MAAI,CAAC,WAAW;AACf,WAAO,EAAE,KAAK,gBAAgB,GAAG;AAAA,EAClC;AAEA,QAAM,kBAAiB,qBAAU,WAAU,UAApB;AACvB,MAAI,CAAC,gBAAgB;AACpB,WAAO,EAAE,KAAK,gBAAgB,GAAG;AAAA,EAClC;AAEA,QAAM,UAAU,eAAe,WAAW,cAAc;AAExD,MAAI,CAAC,SAAS;AACb,WAAO,EAAE,KAAK,gBAAgB,GAAG;AAAA,EAClC;AACA,QAAM,KAAK;AACZ,CAAC;AAEK,SAAS,gBAAgB,WAA0C;AAjD1E;AAkDC,MAAI,GAAC,4CAAW,cAAX,mBAAsB,UAAS;AACnC,WAAO;AAAA,EACR;AAEA,QAAM,eAAc,kDAAW,cAAX,mBAAsB,UAAtB;AAEpB,MAAI,CAAC,aAAa;AACjB,oBAAgB,EAAE;AAAA,MACjB;AAAA,IACD;AACA,WAAO;AAAA,EACR;AAEA,QAAM,MAAM,IAAI,IAAI,2BAA2B;AAE/C,MAAI,aAAa,IAAI,KAAK,WAAW;AAErC,QAAM,4BACL,4CAAW,cAAX,mBAAsB,oBACtB,UAAU;AACX,MAAI,yBAAyB;AAC5B,QAAI,aAAa,IAAI,KAAK,uBAAuB;AAAA,EAClD;AAEA,SAAO,IAAI;AACZ;AAEO,IAAM,qBAAqB,CACjC,WACA,YACI;AAhFL;AAiFC,MAAI,SAAO,eAAU,cAAV,mBAAqB,aAAY,WAAW;AACtD,WAAO,UAAU,UAAU;AAAA,EAC5B,WAAW,SAAO,eAAU,cAAV,mBAAqB,aAAY,UAAU;AAC5D,WAAO,UAAU,UAAU,QAAQ,OAAO;AAAA,EAC3C;AACA,SAAO;AACR;AAEO,IAAM,gCAAgC,CAC5C,WACA,kBACI;AA5FL;AA6FC,MAAI,GAAC,eAAU,cAAV,mBAAqB,UAAS;AAClC,UAAM,QAAQ,cAAc,gCAAgC;AAC5D,cAAU,UAAU,QAAQ,MAAM;AAAA,EACnC;AACD;","names":["hc","client"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/actor/errors.ts"],"sourcesContent":["import type { DeconstructedError } from \"@/common/utils\";\n\nexport const INTERNAL_ERROR_CODE = \"internal_error\";\nexport const INTERNAL_ERROR_DESCRIPTION =\n\t\"Internal error. Read the server logs for more details.\";\nexport type InternalErrorMetadata = {};\n\nexport const USER_ERROR_CODE = \"user_error\";\n\ninterface ActorErrorOptions extends ErrorOptions {\n\t/** Error data can safely be serialized in a response to the client. */\n\tpublic?: boolean;\n\t/** Metadata associated with this error. This will be sent to clients. */\n\tmetadata?: unknown;\n}\n\nexport class ActorError extends Error {\n\t__type = \"ActorError\";\n\n\tpublic public: boolean;\n\tpublic metadata?: unknown;\n\tpublic statusCode = 500;\n\tpublic readonly group: string;\n\tpublic readonly code: string;\n\n\tpublic static isActorError(\n\t\terror: unknown,\n\t): error is ActorError | DeconstructedError {\n\t\treturn (\n\t\t\ttypeof error === \"object\" &&\n\t\t\t(error as ActorError | DeconstructedError).__type === \"ActorError\"\n\t\t);\n\t}\n\n\tconstructor(\n\t\tgroup: string,\n\t\tcode: string,\n\t\tmessage: string,\n\t\topts?: ActorErrorOptions,\n\t) {\n\t\tsuper(message, { cause: opts?.cause });\n\t\tthis.group = group;\n\t\tthis.code = code;\n\t\tthis.public = opts?.public ?? false;\n\t\tthis.metadata = opts?.metadata;\n\n\t\t// Set status code based on error type\n\t\tif (opts?.public) {\n\t\t\tthis.statusCode = 400; // Bad request for public errors\n\t\t}\n\t}\n\n\ttoString() {\n\t\t// Force stringify to return the message\n\t\treturn this.message;\n\t}\n}\n\nexport class InternalError extends ActorError {\n\tconstructor(message: string) {\n\t\tsuper(\"actor\", INTERNAL_ERROR_CODE, message);\n\t}\n}\n\nexport class Unreachable extends InternalError {\n\tconstructor(x: never) {\n\t\tsuper(`Unreachable case: ${x}`);\n\t}\n}\n\nexport class StateNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"state_not_enabled\",\n\t\t\t\"State not enabled. Must implement `createState` or `state` to use state. (https://www.rivet.dev/docs/actors/state/#initializing-state)\",\n\t\t);\n\t}\n}\n\nexport class ConnStateNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"conn_state_not_enabled\",\n\t\t\t\"Connection state not enabled. Must implement `createConnectionState` or `connectionState` to use connection state. (https://www.rivet.dev/docs/actors/connections/#connection-state)\",\n\t\t);\n\t}\n}\n\nexport class VarsNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"vars_not_enabled\",\n\t\t\t\"Variables not enabled. Must implement `createVars` or `vars` to use state. (https://www.rivet.dev/docs/actors/ephemeral-variables/#initializing-variables)\",\n\t\t);\n\t}\n}\n\nexport class ActionTimedOut extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"action\",\n\t\t\t\"timed_out\",\n\t\t\t\"Action timed out. This can be increased with: `actor({ options: { action: { timeout: ... } } })`\",\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class ActionNotFound extends ActorError {\n\tconstructor(name: string) {\n\t\tsuper(\n\t\t\t\"action\",\n\t\t\t\"not_found\",\n\t\t\t`Action '${name}' not found. Validate the action exists on your actor.`,\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class InvalidEncoding extends ActorError {\n\tconstructor(format?: string) {\n\t\tsuper(\n\t\t\t\"encoding\",\n\t\t\t\"invalid\",\n\t\t\t`Invalid encoding \\`${format}\\`. (https://www.rivet.dev/docs/actors/clients/#actor-client)`,\n\t\t\t{\n\t\t\t\tpublic: true,\n\t\t\t},\n\t\t);\n\t}\n}\n\nexport class ConnNotFound extends ActorError {\n\tconstructor(id?: string) {\n\t\tsuper(\"connection\", \"not_found\", `Connection not found for ID: ${id}`, {\n\t\t\tpublic: true,\n\t\t});\n\t}\n}\n\nexport class IncorrectConnToken extends ActorError {\n\tconstructor() {\n\t\tsuper(\"connection\", \"incorrect_token\", \"Incorrect connection token.\", {\n\t\t\tpublic: true,\n\t\t});\n\t}\n}\n\nexport class MessageTooLong extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"message\",\n\t\t\t\"too_long\",\n\t\t\t\"Message too long. This can be configured with: `registry.start({ maxIncomingMessageSize: ... })`\",\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class MalformedMessage extends ActorError {\n\tconstructor(cause?: unknown) {\n\t\tsuper(\"message\", \"malformed\", `Malformed message: ${cause}`, {\n\t\t\tpublic: true,\n\t\t\tcause,\n\t\t});\n\t}\n}\n\nexport interface InvalidStateTypeOptions {\n\tpath?: unknown;\n}\n\nexport class InvalidStateType extends ActorError {\n\tconstructor(opts?: InvalidStateTypeOptions) {\n\t\tlet msg = \"\";\n\t\tif (opts?.path) {\n\t\t\tmsg += `Attempted to set invalid state at path \\`${opts.path}\\`.`;\n\t\t} else {\n\t\t\tmsg += \"Attempted to set invalid state.\";\n\t\t}\n\t\tmsg +=\n\t\t\t\" Valid types include: null, undefined, boolean, string, number, BigInt, Date, RegExp, Error, typed arrays (Uint8Array, Int8Array, Float32Array, etc.), Map, Set, Array, and plain objects. (https://www.rivet.dev/docs/actors/state/#limitations)\";\n\t\tsuper(\"state\", \"invalid_type\", msg);\n\t}\n}\n\nexport class Unsupported extends ActorError {\n\tconstructor(feature: string) {\n\t\tsuper(\"feature\", \"unsupported\", `Unsupported feature: ${feature}`);\n\t}\n}\n\n/**\n * Options for the UserError class.\n */\nexport interface UserErrorOptions extends ErrorOptions {\n\t/**\n\t * Machine readable code for this error. Useful for catching different types of errors in try-catch.\n\t */\n\tcode?: string;\n\n\t/**\n\t * Additional metadata related to the error. Useful for understanding context about the error.\n\t */\n\tmetadata?: unknown;\n}\n\n/** Error that can be safely returned to the user. */\nexport class UserError extends ActorError {\n\t/**\n\t * Constructs a new UserError instance.\n\t *\n\t * @param message - The error message to be displayed.\n\t * @param opts - Optional parameters for the error, including a machine-readable code and additional metadata.\n\t */\n\tconstructor(message: string, opts?: UserErrorOptions) {\n\t\tsuper(\"user\", opts?.code ?? USER_ERROR_CODE, message, {\n\t\t\tpublic: true,\n\t\t\tmetadata: opts?.metadata,\n\t\t});\n\t}\n}\n\nexport class InvalidQueryJSON extends ActorError {\n\tconstructor(error?: unknown) {\n\t\tsuper(\"request\", \"invalid_query_json\", `Invalid query JSON: ${error}`, {\n\t\t\tpublic: true,\n\t\t\tcause: error,\n\t\t});\n\t}\n}\n\nexport class InvalidRequest extends ActorError {\n\tconstructor(error?: unknown) {\n\t\tsuper(\"request\", \"invalid\", `Invalid request: ${error}`, {\n\t\t\tpublic: true,\n\t\t\tcause: error,\n\t\t});\n\t}\n}\n\nexport class ActorNotFound extends ActorError {\n\tconstructor(identifier?: string) {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"not_found\",\n\t\t\tidentifier\n\t\t\t\t? `Actor not found: ${identifier} (https://www.rivet.dev/docs/actors/clients/#actor-client)`\n\t\t\t\t: \"Actor not found (https://www.rivet.dev/docs/actors/clients/#actor-client)\",\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class ActorAlreadyExists extends ActorError {\n\tconstructor(name: string, key: string[]) {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"already_exists\",\n\t\t\t`Actor already exists with name '${name}' and key '${JSON.stringify(key)}' (https://www.rivet.dev/docs/actors/clients/#actor-client)`,\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class ProxyError extends ActorError {\n\tconstructor(operation: string, error?: unknown) {\n\t\tsuper(\n\t\t\t\"proxy\",\n\t\t\t\"error\",\n\t\t\t`Error proxying ${operation}, this is likely an internal error: ${error}`,\n\t\t\t{\n\t\t\t\tpublic: true,\n\t\t\t\tcause: error,\n\t\t\t},\n\t\t);\n\t}\n}\n\nexport class InvalidActionRequest extends ActorError {\n\tconstructor(message: string) {\n\t\tsuper(\"action\", \"invalid_request\", message, { public: true });\n\t}\n}\n\nexport class InvalidParams extends ActorError {\n\tconstructor(message: string) {\n\t\tsuper(\"params\", \"invalid\", message, { public: true });\n\t}\n}\n\nexport class Unauthorized extends ActorError {\n\tconstructor(message?: string) {\n\t\tsuper(\n\t\t\t\"auth\",\n\t\t\t\"unauthorized\",\n\t\t\tmessage ??\n\t\t\t\t\"Unauthorized. Access denied. (https://www.rivet.dev/docs/actors/authentication/)\",\n\t\t\t{\n\t\t\t\tpublic: true,\n\t\t\t},\n\t\t);\n\t\tthis.statusCode = 401;\n\t}\n}\n\nexport class Forbidden extends ActorError {\n\tconstructor(message?: string, opts?: { metadata?: unknown }) {\n\t\tsuper(\n\t\t\t\"auth\",\n\t\t\t\"forbidden\",\n\t\t\tmessage ??\n\t\t\t\t\"Forbidden. Access denied. (https://www.rivet.dev/docs/actors/authentication/)\",\n\t\t\t{\n\t\t\t\tpublic: true,\n\t\t\t\tmetadata: opts?.metadata,\n\t\t\t},\n\t\t);\n\t\tthis.statusCode = 403;\n\t}\n}\n\nexport class DatabaseNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"database\",\n\t\t\t\"not_enabled\",\n\t\t\t\"Database not enabled. Must implement `database` to use database.\",\n\t\t);\n\t}\n}\n\nexport class FetchHandlerNotDefined extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"handler\",\n\t\t\t\"fetch_not_defined\",\n\t\t\t\"Raw HTTP handler not defined. Actor must implement `onFetch` to handle raw HTTP requests. (https://www.rivet.dev/docs/actors/fetch-and-websocket-handler/)\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 404;\n\t}\n}\n\nexport class WebSocketHandlerNotDefined extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"handler\",\n\t\t\t\"websocket_not_defined\",\n\t\t\t\"Raw WebSocket handler not defined. Actor must implement `onWebSocket` to handle raw WebSocket connections. (https://www.rivet.dev/docs/actors/fetch-and-websocket-handler/)\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 404;\n\t}\n}\n\nexport class InvalidFetchResponse extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"handler\",\n\t\t\t\"invalid_fetch_response\",\n\t\t\t\"Actor's onFetch handler must return a Response object. Returning void/undefined is not allowed. (https://www.rivet.dev/docs/actors/fetch-and-websocket-handler/)\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 500;\n\t}\n}\n\n// Manager-specific errors\nexport class MissingActorHeader extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"request\",\n\t\t\t\"missing_actor_header\",\n\t\t\t\"Missing x-rivet-actor header when x-rivet-target=actor\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 400;\n\t}\n}\n\nexport class WebSocketsNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"driver\",\n\t\t\t\"websockets_not_enabled\",\n\t\t\t\"WebSockets are not enabled for this driver\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 400;\n\t}\n}\n\nexport class FeatureNotImplemented extends ActorError {\n\tconstructor(feature: string) {\n\t\tsuper(\"feature\", \"not_implemented\", `${feature} is not implemented`, {\n\t\t\tpublic: true,\n\t\t});\n\t\tthis.statusCode = 501;\n\t}\n}\n\nexport class RouteNotFound extends ActorError {\n\tconstructor() {\n\t\tsuper(\"route\", \"not_found\", \"Route not found\", { public: true });\n\t\tthis.statusCode = 404;\n\t}\n}\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-HHFKKVLR.cjs","../../src/actor/log.ts","../../src/actor/utils.ts","../../src/common/actor-router-consts.ts","../../src/serde.ts","../../src/actor/protocol/serde.ts"],"names":["assertUnreachable"],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACLO,SAAS,oBAAA,CAAA,EAAuB;AACtC,EAAA,OAAO,yCAAA,eAAyB,CAAA;AACjC;ADOA;AACA;AEVO,SAASA,kBAAAA,CAAkB,CAAA,EAAiB;AAClD,EAAA,oBAAA,CAAqB,CAAA,CAAE,KAAA,CAAM;AAAA,IAC5B,GAAA,EAAK,aAAA;AAAA,IACL,KAAA,EAAO,CAAA,EAAA;AACA,IAAA;AACP,EAAA;AACgB,EAAA;AAClB;AA+Ba;AACZ,EAAA;AACO,IAAA;AACP,EAAA;AACD;AAEgB;AACT,EAAA;AACA,EAAA;AAGA,EAAA;AAEC,EAAA;AACN,IAAA;AACI,IAAA;AACH,MAAA;AACA,IAAA;AACC,EAAA;AACF,IAAA;AACA,EAAA;AACF;AAwBgB;AACT,EAAA;AACC,EAAA;AAEA,EAAA;AAIR;AAEgB;AACT,EAAA;AAEF,EAAA;AACK,EAAA;AACF,IAAA;AACN,IAAA;AACD,EAAA;AACO,EAAA;AACR;AAKgB;AACR,EAAA;AACR;AAKgB;AACL,EAAA;AACF,IAAA;AACR,EAAA;AACM,EAAA;AACF,EAAA;AACI,IAAA;AACR,EAAA;AACM,EAAA;AAEC,EAAA;AACR;AF5DY;AACA;AGlEC;AACA;AAGA;AAEA;AAGA;AAEA;AAEA;AAEA;AAEA;AAGA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AAOA;AACZ,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACD;AH8CY;AACA;AI3GA;AACL;AJ6GK;AACA;AK9GH;AAaI;AAUA;AACZ,EAAA;AACS,EAAA;AACT,EAAA;AAEA,EAAA;AACM,IAAA;AACA,IAAA;AACN,EAAA;AAEW,EAAA;AACH,IAAA;AACR,EAAA;AAEiB,EAAA;AACV,IAAA;AACF,IAAA;AACH,MAAA;AACM,IAAA;AACA,MAAA;AACL,QAAA;AACA,QAAA;AACA,QAAA;AACD,MAAA;AACK,MAAA;AACL,MAAA;AACD,IAAA;AACD,EAAA;AACD;AA8CS;AACJ,EAAA;AACE,EAAA;AACG,EAAA;AACR,IAAA;AACD,EAAA;AACO,EAAA;AACR;AAES;AACF,EAAA;AACC,EAAA;AACR;AAGgB;AACX,EAAA;AACI,IAAA;AACR,EAAA;AACQ,IAAA;AACR,EAAA;AACQ,IAAA;AACD,EAAA;AACNA,IAAAA;AACD,EAAA;AACD;AAES;AAEJ,EAAA;AACI,IAAA;AACR,EAAA;AAGM,EAAA;AACA,EAAA;AACA,EAAA;AACG,EAAA;AACD,IAAA;AACR,EAAA;AACO,EAAA;AACR;AAES;AACD,EAAA;AACR;AAGgB;AACR,EAAA;AACF,IAAA;AACH,MAAA;AACD,IAAA;AACC,MAAA;AACD,IAAA;AACC,MAAA;AACD,IAAA;AAIC,IAAA;AAKA,MAAA;AACD,IAAA;AAEO,IAAA;AACP,EAAA;AACF;AAGgB;AACR,EAAA;AAGL,IAAA;AAMI,MAAA;AACH,QAAA;AACD,MAAA;AACC,QAAA;AACD,MAAA;AACC,QAAA;AACD,MAAA;AAGI,MAAA;AACH,QAAA;AACD,MAAA;AAGM,MAAA;AACL,QAAA;AACD,MAAA;AACD,IAAA;AAEO,IAAA;AACP,EAAA;AACF;ALWY;AACA;AI/MI;AAEX,EAAA;AACI,IAAA;AACR,EAAA;AAGI,EAAA;AACE,EAAA;AACG,EAAA;AACR,IAAA;AACD,EAAA;AACO,EAAA;AACR;AAEgB;AACX,EAAA;AACI,IAAA;AACR,EAAA;AACQ,IAAA;AACD,EAAA;AACN,IAAA;AACD,EAAA;AACD;AAEgB;AACX,EAAA;AACI,IAAA;AACR,EAAA;AACQ,IAAA;AACD,EAAA;AACN,IAAA;AACD,EAAA;AACD;AAcgB;AAKX,EAAA;AACI,IAAA;AACR,EAAA;AACa,IAAA;AACb,EAAA;AACM,IAAA;AACE,MAAA;AACL,QAAA;AACD,MAAA;AACD,IAAA;AACO,IAAA;AACD,EAAA;AACN,IAAA;AACD,EAAA;AACD;AAEgB;AAKX,EAAA;AACC,IAAA;AACH,MAAA;AACM,IAAA;AACA,MAAA;AACA,MAAA;AACN,MAAA;AACD,IAAA;AACD,EAAA;AACC,IAAA;AACC,MAAA;AACA,MAAA;AACD,IAAA;AACY,IAAA;AACb,EAAA;AACC,IAAA;AACC,MAAA;AACA,MAAA;AACD,IAAA;AACK,IAAA;AACE,MAAA;AACL,QAAA;AACD,MAAA;AACD,IAAA;AACO,IAAA;AACD,EAAA;AACN,IAAA;AACD,EAAA;AACD;AJsLY;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":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-HHFKKVLR.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\n\n/** Prever to use ActorInstance.rlog child logger. This does not provide context in the log, should only be used as a last resort if you cannot pass the actor's child logger. */\nexport function loggerWithoutContext() {\n\treturn getLogger(\"actor-runtime\");\n}\n","import * as errors from \"./errors\";\nimport { loggerWithoutContext } from \"./log\";\n\nexport function assertUnreachable(x: never): never {\n\tloggerWithoutContext().error({\n\t\tmsg: \"unreachable\",\n\t\tvalue: `${x}`,\n\t\tstack: new Error().stack,\n\t});\n\tthrow new errors.Unreachable(x);\n}\n\nexport const throttle = <\n\t// biome-ignore lint/suspicious/noExplicitAny: we want to allow any function\n\tFn extends (...args: any) => any,\n>(\n\tfn: Fn,\n\tdelay: number,\n) => {\n\tlet lastRan = false;\n\tlet lastArgs: Parameters<Fn> | null = null;\n\n\treturn (...args: Parameters<Fn>) => {\n\t\tif (!lastRan) {\n\t\t\tfn.apply(this, args);\n\t\t\tlastRan = true;\n\t\t\tconst timer = () =>\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tlastRan = false;\n\t\t\t\t\tif (lastArgs) {\n\t\t\t\t\t\tfn.apply(this, lastArgs);\n\t\t\t\t\t\tlastRan = true;\n\t\t\t\t\t\tlastArgs = null;\n\t\t\t\t\t\ttimer();\n\t\t\t\t\t}\n\t\t\t\t}, delay);\n\t\t\ttimer();\n\t\t} else lastArgs = args;\n\t};\n};\n\nexport class DeadlineError extends Error {\n\tconstructor() {\n\t\tsuper(\"Promise did not complete before deadline.\");\n\t}\n}\n\nexport function deadline<T>(promise: Promise<T>, timeout: number): Promise<T> {\n\tconst controller = new AbortController();\n\tconst signal = controller.signal;\n\n\t// Set a timeout to abort the operation\n\tconst timeoutId = setTimeout(() => controller.abort(), timeout);\n\n\treturn Promise.race<T>([\n\t\tpromise,\n\t\tnew Promise<T>((_, reject) => {\n\t\t\tsignal.addEventListener(\"abort\", () => reject(new DeadlineError()));\n\t\t}),\n\t]).finally(() => {\n\t\tclearTimeout(timeoutId);\n\t});\n}\n\nexport class Lock<T> {\n\tprivate _locked = false;\n\tprivate _waiting: Array<() => void> = [];\n\n\tconstructor(private _value: T) {}\n\n\tasync lock(fn: (value: T) => Promise<void>): Promise<void> {\n\t\tif (this._locked) {\n\t\t\tawait new Promise<void>((resolve) => this._waiting.push(resolve));\n\t\t}\n\t\tthis._locked = true;\n\n\t\ttry {\n\t\t\tawait fn(this._value);\n\t\t} finally {\n\t\t\tthis._locked = false;\n\t\t\tconst next = this._waiting.shift();\n\t\t\tif (next) next();\n\t\t}\n\t}\n}\n\nexport function generateSecureToken(length = 32) {\n\tconst array = new Uint8Array(length);\n\tcrypto.getRandomValues(array);\n\t// Replace base64 chars that are not URL safe with URL-safe chars and strip padding\n\treturn btoa(String.fromCharCode(...array))\n\t\t.replace(/\\+/g, \"-\")\n\t\t.replace(/\\//g, \"_\")\n\t\t.replace(/=/g, \"\");\n}\n\nexport function generateRandomString(length = 32) {\n\tconst characters =\n\t\t\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n\tlet result = \"\";\n\tfor (let i = 0; i < length; i++) {\n\t\tconst randomIndex = Math.floor(Math.random() * characters.length);\n\t\tresult += characters[randomIndex];\n\t}\n\treturn result;\n}\n\n/**\n * Checks if a path is an actor state path within the persisted actor data.\n */\nexport function isStatePath(path: string): boolean {\n\treturn path === \"state\" || path.startsWith(\"state.\");\n}\n\n/**\n * Checks if a path is a connection state path within the persisted actor data.\n */\nexport function isConnStatePath(path: string): boolean {\n\tif (!path.startsWith(\"connections.\")) {\n\t\treturn false;\n\t}\n\tconst stateIndex = path.indexOf(\".state\", 12); // Start after \"connections.\"\n\tif (stateIndex === -1) {\n\t\treturn false;\n\t}\n\tconst afterState = stateIndex + 6; // \".state\".length = 6\n\t// Check if \".state\" is followed by end of string or \".\"\n\treturn path.length === afterState || path[afterState] === \".\";\n}\n","// NOTE: This is in a separate file from the router since it needs to be shared between the client & the server. If this was in the router file, the client would end up importing the *entire* actor router and tree shaking would not work.\n\n// MARK: Paths\nexport const PATH_CONNECT_WEBSOCKET = \"/connect/websocket\";\nexport const PATH_RAW_WEBSOCKET_PREFIX = \"/raw/websocket/\";\n\n// MARK: Headers\nexport const HEADER_ACTOR_QUERY = \"x-rivet-query\";\n\nexport const HEADER_ENCODING = \"x-rivet-encoding\";\n\n// IMPORTANT: Params must be in headers or in an E2EE part of the request (i.e. NOT the URL or query string) in order to ensure that tokens can be securely passed in params.\nexport const HEADER_CONN_PARAMS = \"x-rivet-conn-params\";\n\nexport const HEADER_ACTOR_ID = \"x-rivet-actor\";\n\nexport const HEADER_CONN_ID = \"x-rivet-conn\";\n\nexport const HEADER_CONN_TOKEN = \"x-rivet-conn-token\";\n\nexport const HEADER_RIVET_TOKEN = \"x-rivet-token\";\n\n// MARK: Manager Gateway Headers\nexport const HEADER_RIVET_TARGET = \"x-rivet-target\";\nexport const HEADER_RIVET_ACTOR = \"x-rivet-actor\";\nexport const HEADER_RIVET_NAMESPACE = \"x-rivet-namespace\";\n\n// MARK: WebSocket Protocol Prefixes\n/** Some servers (such as node-ws & Cloudflare) require explicitly match a certain WebSocket protocol. This gives us a static protocol to match against. */\nexport const WS_PROTOCOL_STANDARD = \"rivet\";\nexport const WS_PROTOCOL_TARGET = \"rivet_target.\";\nexport const WS_PROTOCOL_ACTOR = \"rivet_actor.\";\nexport const WS_PROTOCOL_ENCODING = \"rivet_encoding.\";\nexport const WS_PROTOCOL_CONN_PARAMS = \"rivet_conn_params.\";\nexport const WS_PROTOCOL_CONN_ID = \"rivet_conn.\";\nexport const WS_PROTOCOL_CONN_TOKEN = \"rivet_conn_token.\";\nexport const WS_PROTOCOL_TOKEN = \"rivet_token.\";\n\n// MARK: WebSocket Inline Test Protocol Prefixes\nexport const WS_PROTOCOL_TRANSPORT = \"test_transport.\";\nexport const WS_PROTOCOL_PATH = \"test_path.\";\n\n/**\n * Headers that publics can send from public clients.\n *\n * Used for CORS.\n **/\nexport const ALLOWED_PUBLIC_HEADERS = [\n\t\"Content-Type\",\n\t\"User-Agent\",\n\tHEADER_ACTOR_QUERY,\n\tHEADER_ENCODING,\n\tHEADER_CONN_PARAMS,\n\tHEADER_ACTOR_ID,\n\tHEADER_CONN_ID,\n\tHEADER_CONN_TOKEN,\n\tHEADER_RIVET_TARGET,\n\tHEADER_RIVET_ACTOR,\n\tHEADER_RIVET_NAMESPACE,\n\tHEADER_RIVET_TOKEN,\n];\n","import * as cbor from \"cbor-x\";\nimport invariant from \"invariant\";\nimport { assertUnreachable } from \"@/common/utils\";\nimport type { VersionedDataHandler } from \"@/common/versioned-data\";\nimport type { Encoding } from \"@/mod\";\nimport { jsonParseCompat, jsonStringifyCompat } from \"./actor/protocol/serde\";\n\nexport function uint8ArrayToBase64(uint8Array: Uint8Array): string {\n\t// Check if Buffer is available (Node.js)\n\tif (typeof Buffer !== \"undefined\") {\n\t\treturn Buffer.from(uint8Array).toString(\"base64\");\n\t}\n\n\t// Browser environment - use btoa\n\tlet binary = \"\";\n\tconst len = uint8Array.byteLength;\n\tfor (let i = 0; i < len; i++) {\n\t\tbinary += String.fromCharCode(uint8Array[i]);\n\t}\n\treturn btoa(binary);\n}\n\nexport function encodingIsBinary(encoding: Encoding): boolean {\n\tif (encoding === \"json\") {\n\t\treturn false;\n\t} else if (encoding === \"cbor\" || encoding === \"bare\") {\n\t\treturn true;\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function contentTypeForEncoding(encoding: Encoding): string {\n\tif (encoding === \"json\") {\n\t\treturn \"application/json\";\n\t} else if (encoding === \"cbor\" || encoding === \"bare\") {\n\t\treturn \"application/octet-stream\";\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function wsBinaryTypeForEncoding(\n\tencoding: Encoding,\n): \"arraybuffer\" | \"blob\" {\n\tif (encoding === \"json\") {\n\t\treturn \"blob\";\n\t} else if (encoding === \"cbor\" || encoding === \"bare\") {\n\t\treturn \"arraybuffer\";\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function serializeWithEncoding<T>(\n\tencoding: Encoding,\n\tvalue: T,\n\tversionedDataHandler: VersionedDataHandler<T> | undefined,\n): Uint8Array | string {\n\tif (encoding === \"json\") {\n\t\treturn jsonStringifyCompat(value);\n\t} else if (encoding === \"cbor\") {\n\t\treturn cbor.encode(value);\n\t} else if (encoding === \"bare\") {\n\t\tif (!versionedDataHandler) {\n\t\t\tthrow new Error(\n\t\t\t\t\"VersionedDataHandler is required for 'bare' encoding\",\n\t\t\t);\n\t\t}\n\t\treturn versionedDataHandler.serializeWithEmbeddedVersion(value);\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n\nexport function deserializeWithEncoding<T>(\n\tencoding: Encoding,\n\tbuffer: Uint8Array | string,\n\tversionedDataHandler: VersionedDataHandler<T> | undefined,\n): T {\n\tif (encoding === \"json\") {\n\t\tif (typeof buffer === \"string\") {\n\t\t\treturn jsonParseCompat(buffer);\n\t\t} else {\n\t\t\tconst decoder = new TextDecoder(\"utf-8\");\n\t\t\tconst jsonString = decoder.decode(buffer);\n\t\t\treturn jsonParseCompat(jsonString);\n\t\t}\n\t} else if (encoding === \"cbor\") {\n\t\tinvariant(\n\t\t\ttypeof buffer !== \"string\",\n\t\t\t\"buffer cannot be string for cbor encoding\",\n\t\t);\n\t\treturn cbor.decode(buffer);\n\t} else if (encoding === \"bare\") {\n\t\tinvariant(\n\t\t\ttypeof buffer !== \"string\",\n\t\t\t\"buffer cannot be string for bare encoding\",\n\t\t);\n\t\tif (!versionedDataHandler) {\n\t\t\tthrow new Error(\n\t\t\t\t\"VersionedDataHandler is required for 'bare' encoding\",\n\t\t\t);\n\t\t}\n\t\treturn versionedDataHandler.deserializeWithEmbeddedVersion(buffer);\n\t} else {\n\t\tassertUnreachable(encoding);\n\t}\n}\n","import * as cbor from \"cbor-x\";\nimport { z } from \"zod\";\nimport * as errors from \"@/actor/errors\";\nimport type { VersionedDataHandler } from \"@/common/versioned-data\";\nimport { serializeWithEncoding } from \"@/serde\";\nimport { loggerWithoutContext } from \"../log\";\nimport { assertUnreachable } from \"../utils\";\n\n/** Data that can be deserialized. */\nexport type InputData = string | Buffer | Blob | ArrayBufferLike | Uint8Array;\n\n/** Data that's been serialized. */\nexport type OutputData = string | Uint8Array;\n\nexport const EncodingSchema = z.enum([\"json\", \"cbor\", \"bare\"]);\n\n/**\n * Encoding used to communicate between the client & actor.\n */\nexport type Encoding = z.infer<typeof EncodingSchema>;\n\n/**\n * Helper class that helps serialize data without re-serializing for the same encoding.\n */\nexport class CachedSerializer<T> {\n\t#data: T;\n\t#cache = new Map<Encoding, OutputData>();\n\t#versionedDataHandler: VersionedDataHandler<T>;\n\n\tconstructor(data: T, versionedDataHandler: VersionedDataHandler<T>) {\n\t\tthis.#data = data;\n\t\tthis.#versionedDataHandler = versionedDataHandler;\n\t}\n\n\tpublic get rawData(): T {\n\t\treturn this.#data;\n\t}\n\n\tpublic serialize(encoding: Encoding): OutputData {\n\t\tconst cached = this.#cache.get(encoding);\n\t\tif (cached) {\n\t\t\treturn cached;\n\t\t} else {\n\t\t\tconst serialized = serializeWithEncoding(\n\t\t\t\tencoding,\n\t\t\t\tthis.#data,\n\t\t\t\tthis.#versionedDataHandler,\n\t\t\t);\n\t\t\tthis.#cache.set(encoding, serialized);\n\t\t\treturn serialized;\n\t\t}\n\t}\n}\n\n///**\n// * Use `CachedSerializer` if serializing the same data repeatedly.\n// */\n//export function serialize<T>(value: T, encoding: Encoding): OutputData {\n//\tif (encoding === \"json\") {\n//\t\treturn JSON.stringify(value);\n//\t} else if (encoding === \"cbor\") {\n//\t\t// TODO: Remove this hack, but cbor-x can't handle anything extra in data structures\n//\t\tconst cleanValue = JSON.parse(JSON.stringify(value));\n//\t\treturn cbor.encode(cleanValue);\n//\t} else {\n//\t\tassertUnreachable(encoding);\n//\t}\n//}\n//\n//export async function deserialize(data: InputData, encoding: Encoding) {\n//\tif (encoding === \"json\") {\n//\t\tif (typeof data !== \"string\") {\n//\t\t\tlogger().warn(\"received non-string for json parse\");\n//\t\t\tthrow new errors.MalformedMessage();\n//\t\t} else {\n//\t\t\treturn JSON.parse(data);\n//\t\t}\n//\t} else if (encoding === \"cbor\") {\n//\t\tif (data instanceof Blob) {\n//\t\t\tconst arrayBuffer = await data.arrayBuffer();\n//\t\t\treturn cbor.decode(new Uint8Array(arrayBuffer));\n//\t\t} else if (data instanceof Uint8Array) {\n//\t\t\treturn cbor.decode(data);\n//\t\t} else if (\n//\t\t\tdata instanceof ArrayBuffer ||\n//\t\t\tdata instanceof SharedArrayBuffer\n//\t\t) {\n//\t\t\treturn cbor.decode(new Uint8Array(data));\n//\t\t} else {\n//\t\t\tlogger().warn(\"received non-binary type for cbor parse\");\n//\t\t\tthrow new errors.MalformedMessage();\n//\t\t}\n//\t} else {\n//\t\tassertUnreachable(encoding);\n//\t}\n//}\n\n// TODO: Encode base 128\nfunction base64EncodeUint8Array(uint8Array: Uint8Array): string {\n\tlet binary = \"\";\n\tconst len = uint8Array.byteLength;\n\tfor (let i = 0; i < len; i++) {\n\t\tbinary += String.fromCharCode(uint8Array[i]);\n\t}\n\treturn btoa(binary);\n}\n\nfunction base64EncodeArrayBuffer(arrayBuffer: ArrayBuffer): string {\n\tconst uint8Array = new Uint8Array(arrayBuffer);\n\treturn base64EncodeUint8Array(uint8Array);\n}\n\n/** Converts data that was encoded to a string. Some formats (like SSE) don't support raw binary data. */\nexport function encodeDataToString(message: OutputData): string {\n\tif (typeof message === \"string\") {\n\t\treturn message;\n\t} else if (message instanceof ArrayBuffer) {\n\t\treturn base64EncodeArrayBuffer(message);\n\t} else if (message instanceof Uint8Array) {\n\t\treturn base64EncodeUint8Array(message);\n\t} else {\n\t\tassertUnreachable(message);\n\t}\n}\n\nfunction base64DecodeToUint8Array(base64: string): Uint8Array {\n\t// Check if Buffer is available (Node.js)\n\tif (typeof Buffer !== \"undefined\") {\n\t\treturn new Uint8Array(Buffer.from(base64, \"base64\"));\n\t}\n\n\t// Browser environment - use atob\n\tconst binary = atob(base64);\n\tconst len = binary.length;\n\tconst bytes = new Uint8Array(len);\n\tfor (let i = 0; i < len; i++) {\n\t\tbytes[i] = binary.charCodeAt(i);\n\t}\n\treturn bytes;\n}\n\nfunction base64DecodeToArrayBuffer(base64: string): ArrayBuffer {\n\treturn base64DecodeToUint8Array(base64).buffer as ArrayBuffer;\n}\n\n/** Stringifies with compat for values that BARE & CBOR supports. */\nexport function jsonStringifyCompat(input: any): string {\n\treturn JSON.stringify(input, (_key, value) => {\n\t\tif (typeof value === \"bigint\") {\n\t\t\treturn [\"$BigInt\", value.toString()];\n\t\t} else if (value instanceof ArrayBuffer) {\n\t\t\treturn [\"$ArrayBuffer\", base64EncodeArrayBuffer(value)];\n\t\t} else if (value instanceof Uint8Array) {\n\t\t\treturn [\"$Uint8Array\", base64EncodeUint8Array(value)];\n\t\t}\n\n\t\t// Escape user arrays that start with $ by prepending another $\n\t\tif (\n\t\t\tArray.isArray(value) &&\n\t\t\tvalue.length === 2 &&\n\t\t\ttypeof value[0] === \"string\" &&\n\t\t\tvalue[0].startsWith(\"$\")\n\t\t) {\n\t\t\treturn [\"$\" + value[0], value[1]];\n\t\t}\n\n\t\treturn value;\n\t});\n}\n\n/** Parses JSON with compat for values that BARE & CBOR supports. */\nexport function jsonParseCompat(input: string): any {\n\treturn JSON.parse(input, (_key, value) => {\n\t\t// Handle arrays with $ prefix\n\t\tif (\n\t\t\tArray.isArray(value) &&\n\t\t\tvalue.length === 2 &&\n\t\t\ttypeof value[0] === \"string\" &&\n\t\t\tvalue[0].startsWith(\"$\")\n\t\t) {\n\t\t\t// Known special types\n\t\t\tif (value[0] === \"$BigInt\") {\n\t\t\t\treturn BigInt(value[1]);\n\t\t\t} else if (value[0] === \"$ArrayBuffer\") {\n\t\t\t\treturn base64DecodeToArrayBuffer(value[1]);\n\t\t\t} else if (value[0] === \"$Uint8Array\") {\n\t\t\t\treturn base64DecodeToUint8Array(value[1]);\n\t\t\t}\n\n\t\t\t// Unescape user arrays that started with $ ($$foo -> $foo)\n\t\t\tif (value[0].startsWith(\"$$\")) {\n\t\t\t\treturn [value[0].substring(1), value[1]];\n\t\t\t}\n\n\t\t\t// Unknown type starting with $ - this is an error\n\t\t\tthrow new Error(\n\t\t\t\t`Unknown JSON encoding type: ${value[0]}. This may indicate corrupted data or a version mismatch.`,\n\t\t\t);\n\t\t}\n\n\t\treturn value;\n\t});\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-INNFK746.cjs","../../src/inspector/protocol/common.ts","../../src/manager/protocol/query.ts"],"names":["z","ActorFeature"],"mappings":"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","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-INNFK746.cjs","sourcesContent":[null,"import z from \"zod/v4\";\nimport { ActorKeySchema, MAX_ACTOR_KEY_SIZE } from \"@/manager/protocol/query\";\n\nexport const ActorId = z.string().brand(\"ActorId\");\nexport type ActorId = z.infer<typeof ActorId>;\n\nexport enum ActorFeature {\n\tLogs = \"logs\",\n\tConfig = \"config\",\n\tConnections = \"connections\",\n\tState = \"state\",\n\tConsole = \"console\",\n\tRuntime = \"runtime\",\n\tMetrics = \"metrics\",\n\tEventsMonitoring = \"events-monitoring\",\n\tDatabase = \"database\",\n}\n\nexport const ActorLogEntry = z.object({\n\tlevel: z.string(),\n\tmessage: z.string(),\n\ttimestamp: z.string(),\n\tmetadata: z.record(z.string(), z.any()).optional(),\n});\n\nexport const ActorSchema = z.object({\n\tid: ActorId,\n\tname: z.string(),\n\tkey: z.array(z.string()),\n\ttags: z.record(z.string(), z.string()).optional(),\n\tregion: z.string().optional(),\n\tcreatedAt: z.string().optional(),\n\tstartedAt: z.string().optional(),\n\tdestroyedAt: z.string().optional(),\n\tfeatures: z.array(z.enum(ActorFeature)).optional(),\n});\n\nexport type Actor = z.infer<typeof ActorSchema>;\nexport type ActorLogEntry = z.infer<typeof ActorLogEntry>;\n\n// MARK: State\n\nexport const OperationSchema = z.discriminatedUnion(\"op\", [\n\tz.object({\n\t\top: z.literal(\"remove\"),\n\t\tpath: z.string(),\n\t}),\n\tz.object({\n\t\top: z.literal(\"add\"),\n\t\tpath: z.string(),\n\t\tvalue: z.unknown(),\n\t}),\n\tz.object({\n\t\top: z.literal(\"replace\"),\n\t\tpath: z.string(),\n\t\tvalue: z.unknown(),\n\t}),\n\tz.object({\n\t\top: z.literal(\"move\"),\n\t\tpath: z.string(),\n\t\tfrom: z.string(),\n\t}),\n\tz.object({\n\t\top: z.literal(\"copy\"),\n\t\tpath: z.string(),\n\t\tfrom: z.string(),\n\t}),\n\tz.object({\n\t\top: z.literal(\"test\"),\n\t\tpath: z.string(),\n\t\tvalue: z.unknown(),\n\t}),\n]);\nexport type Operation = z.infer<typeof OperationSchema>;\n\nexport const PatchSchema = z.array(OperationSchema);\nexport type Patch = z.infer<typeof PatchSchema>;\n\n// MARK: Connections\n\nexport const ConnectionSchema = z.object({\n\tparams: z.record(z.string(), z.any()).optional(),\n\tid: z.string(),\n\tstateEnabled: z.boolean().optional(),\n\tstate: z.any().optional(),\n\tauth: z.record(z.string(), z.any()).optional(),\n});\nexport type Connection = z.infer<typeof ConnectionSchema>;\n\n// MARK: Realtime Events\n\nexport const RealtimeEventSchema = z.discriminatedUnion(\"type\", [\n\tz.object({\n\t\ttype: z.literal(\"action\"),\n\t\tname: z.string(),\n\t\targs: z.array(z.any()),\n\t\tconnId: z.string(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"broadcast\"),\n\t\teventName: z.string(),\n\t\targs: z.array(z.any()),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"subscribe\"),\n\t\teventName: z.string(),\n\t\tconnId: z.string(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"unsubscribe\"),\n\t\teventName: z.string(),\n\t\tconnId: z.string(),\n\t}),\n\tz.object({\n\t\ttype: z.literal(\"event\"),\n\t\teventName: z.string(),\n\t\targs: z.array(z.any()),\n\t\tconnId: z.string(),\n\t}),\n]);\nexport type RealtimeEvent = z.infer<typeof RealtimeEventSchema>;\nexport const RecordedRealtimeEventSchema = RealtimeEventSchema.and(\n\tz.object({\n\t\tid: z.string(),\n\t\ttimestamp: z.number(),\n\t}),\n);\nexport type RecordedRealtimeEvent = z.infer<typeof RecordedRealtimeEventSchema>;\n\n// MARK: Database\n\nexport const DatabaseQuerySchema = z.object({\n\tsql: z.string(),\n\targs: z.array(z.string().or(z.number())),\n});\nexport type DatabaseQuery = z.infer<typeof DatabaseQuerySchema>;\n\nexport const TableSchema = z.object({\n\tschema: z.string(),\n\tname: z.string(),\n\ttype: z.enum([\"table\", \"view\"]),\n});\nexport type Table = z.infer<typeof TableSchema>;\n\nexport const TablesSchema = z.array(TableSchema);\nexport type Tables = z.infer<typeof TablesSchema>;\n\nexport const ColumnSchema = z.object({\n\tcid: z.number(),\n\tname: z.string(),\n\ttype: z\n\t\t.string()\n\t\t.toLowerCase()\n\t\t.transform((val) => {\n\t\t\treturn z\n\t\t\t\t.enum([\"integer\", \"text\", \"real\", \"blob\", \"numeric\", \"serial\"])\n\t\t\t\t.parse(val);\n\t\t}),\n\tnotnull: z.coerce.boolean(),\n\tdflt_value: z.string().nullable(),\n\tpk: z.coerce.boolean().nullable(),\n});\nexport type Column = z.infer<typeof ColumnSchema>;\n\nexport const ColumnsSchema = z.array(ColumnSchema);\nexport type Columns = z.infer<typeof ColumnsSchema>;\n\nexport const ForeignKeySchema = z.object({\n\tid: z.number(),\n\ttable: z.string(),\n\tfrom: z.string(),\n\tto: z.string(),\n});\nexport type ForeignKey = z.infer<typeof ForeignKeySchema>;\n\nexport const ForeignKeysSchema = z.array(ForeignKeySchema);\nexport type ForeignKeys = z.infer<typeof ForeignKeysSchema>;\n\n// MARK: Builds\n\nexport const BuildSchema = z.object({\n\tname: z.string(),\n\tcreatedAt: z.string().optional(),\n\ttags: z.record(z.string(), z.string()).optional(),\n});\nexport type Build = z.infer<typeof BuildSchema>;\nexport const BuildsSchema = z.array(BuildSchema);\nexport type Builds = z.infer<typeof BuildsSchema>;\n\nexport const CreateActorSchema = z.object({\n\tname: z.string(),\n\t// FIXME: Replace with ActorKeySchema when ready\n\tkey: z.array(z.string().max(MAX_ACTOR_KEY_SIZE)),\n\tinput: z.any(),\n});\nexport type CreateActor = z.infer<typeof CreateActorSchema>;\n","import { z } from \"zod\";\nimport { EncodingSchema } from \"@/actor/protocol/serde\";\nimport {\n\tHEADER_ACTOR_ID,\n\tHEADER_ACTOR_QUERY,\n\tHEADER_CONN_ID,\n\tHEADER_CONN_PARAMS,\n\tHEADER_CONN_TOKEN,\n\tHEADER_ENCODING,\n} from \"@/common/actor-router-consts\";\n\n// Maximum size of a key component in bytes\n// Set to 128 bytes to allow for separators and escape characters in the full key\n// Cloudflare's maximum key size is 512 bytes, so we need to be significantly smaller\nexport const MAX_ACTOR_KEY_SIZE = 128;\n\nexport const ActorKeySchema = z.array(z.string().max(MAX_ACTOR_KEY_SIZE));\n\nexport type ActorKey = z.infer<typeof ActorKeySchema>;\n\nexport const CreateRequestSchema = z.object({\n\tname: z.string(),\n\tkey: ActorKeySchema,\n\tinput: z.unknown().optional(),\n\tregion: z.string().optional(),\n});\n\nexport const GetForKeyRequestSchema = z.object({\n\tname: z.string(),\n\tkey: ActorKeySchema,\n});\n\nexport const GetOrCreateRequestSchema = z.object({\n\tname: z.string(),\n\tkey: ActorKeySchema,\n\tinput: z.unknown().optional(),\n\tregion: z.string().optional(),\n});\n\nexport const ActorQuerySchema = z.union([\n\tz.object({\n\t\tgetForId: z.object({\n\t\t\tname: z.string(),\n\t\t\tactorId: z.string(),\n\t\t}),\n\t}),\n\tz.object({\n\t\tgetForKey: GetForKeyRequestSchema,\n\t}),\n\tz.object({\n\t\tgetOrCreateForKey: GetOrCreateRequestSchema,\n\t}),\n\tz.object({\n\t\tcreate: CreateRequestSchema,\n\t}),\n]);\n\nexport const ConnectRequestSchema = z.object({\n\tquery: ActorQuerySchema.describe(HEADER_ACTOR_QUERY),\n\tencoding: EncodingSchema.describe(HEADER_ENCODING),\n\tconnParams: z.string().optional().describe(HEADER_CONN_PARAMS),\n});\n\nexport const ConnectWebSocketRequestSchema = z.object({\n\tquery: ActorQuerySchema.describe(\"query\"),\n\tencoding: EncodingSchema.describe(\"encoding\"),\n\tconnParams: z.unknown().optional().describe(\"conn_params\"),\n});\n\nexport const ConnMessageRequestSchema = z.object({\n\tactorId: z.string().describe(HEADER_ACTOR_ID),\n\tconnId: z.string().describe(HEADER_CONN_ID),\n\tencoding: EncodingSchema.describe(HEADER_ENCODING),\n\tconnToken: z.string().describe(HEADER_CONN_TOKEN),\n});\n\nexport const ResolveRequestSchema = z.object({\n\tquery: ActorQuerySchema.describe(HEADER_ACTOR_QUERY),\n\tconnParams: z.string().optional().describe(HEADER_CONN_PARAMS),\n});\n\nexport type ActorQuery = z.infer<typeof ActorQuerySchema>;\nexport type GetForKeyRequest = z.infer<typeof GetForKeyRequestSchema>;\nexport type GetOrCreateRequest = z.infer<typeof GetOrCreateRequestSchema>;\nexport type ConnectQuery = z.infer<typeof ConnectRequestSchema>;\n/**\n * Interface representing a request to create a actor.\n */\nexport type CreateRequest = z.infer<typeof CreateRequestSchema>;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-KSRXX3Z4.cjs","../../src/actor/errors.ts"],"names":[],"mappings":"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EAAA;AACA,IAAA;AACnB,MAAA;AACD,MAAA;AACP,IAAA;AACF,EAAA;AACD;AAEO;AAC2B,EAAA;AAChC,IAAA;AACC,MAAA;AACA,MAAA;AAEG,MAAA;AAEY,MAAA;AAChB,IAAA;AACD,EAAA;AACD;AAEO;AACmC,EAAA;AACxC,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACe,MAAA;AAChB,IAAA;AACD,EAAA;AACD;AAEgC;AACiB,EAAA;AAC/C,IAAA;AACC,MAAA;AACA,MAAA;AAC2B,MAAA;AAC3B,MAAA;AACS,QAAA;AACD,QAAA;AACR,MAAA;AACD,IAAA;AACD,EAAA;AACD;AAEO;AACuB,EAAA;AACZ,IAAA;AACjB,EAAA;AACD;AAEO;AACuB,EAAA;AACD,IAAA;AAC5B,EAAA;AACD;AAEkC;AACH,EAAA;AAC7B,IAAA;AACC,MAAA;AACA,MAAA;AAEC,uBAAA;AACD,MAAA;AACS,QAAA;AACT,MAAA;AACD,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAE+B;AAC+B,EAAA;AAC5D,IAAA;AACC,MAAA;AACA,MAAA;AAEC,uBAAA;AACD,MAAA;AACS,QAAA;AACE,QAAA;AACX,MAAA;AACD,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAEO;AACQ,EAAA;AACb,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACD,IAAA;AACD,EAAA;AACD;AAEO;AACQ,EAAA;AACb,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACe,MAAA;AAChB,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAEO;AACQ,EAAA;AACb,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACe,MAAA;AAChB,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAEO;AACQ,EAAA;AACb,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACe,MAAA;AAChB,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAGO;AACQ,EAAA;AACb,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACe,MAAA;AAChB,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAEO;AACQ,EAAA;AACb,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACe,MAAA;AAChB,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAEO;AACuB,EAAA;AACX,IAAA;AACR,MAAA;AACR,IAAA;AACiB,IAAA;AACnB,EAAA;AACD;AAEO;AACQ,EAAA;AACe,IAAA;AACV,IAAA;AACnB,EAAA;AACD;ADtFiC;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":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-KSRXX3Z4.cjs","sourcesContent":[null,"import type { DeconstructedError } from \"@/common/utils\";\n\nexport const INTERNAL_ERROR_CODE = \"internal_error\";\nexport const INTERNAL_ERROR_DESCRIPTION =\n\t\"Internal error. Read the server logs for more details.\";\nexport type InternalErrorMetadata = {};\n\nexport const USER_ERROR_CODE = \"user_error\";\n\ninterface ActorErrorOptions extends ErrorOptions {\n\t/** Error data can safely be serialized in a response to the client. */\n\tpublic?: boolean;\n\t/** Metadata associated with this error. This will be sent to clients. */\n\tmetadata?: unknown;\n}\n\nexport class ActorError extends Error {\n\t__type = \"ActorError\";\n\n\tpublic public: boolean;\n\tpublic metadata?: unknown;\n\tpublic statusCode = 500;\n\tpublic readonly group: string;\n\tpublic readonly code: string;\n\n\tpublic static isActorError(\n\t\terror: unknown,\n\t): error is ActorError | DeconstructedError {\n\t\treturn (\n\t\t\ttypeof error === \"object\" &&\n\t\t\t(error as ActorError | DeconstructedError).__type === \"ActorError\"\n\t\t);\n\t}\n\n\tconstructor(\n\t\tgroup: string,\n\t\tcode: string,\n\t\tmessage: string,\n\t\topts?: ActorErrorOptions,\n\t) {\n\t\tsuper(message, { cause: opts?.cause });\n\t\tthis.group = group;\n\t\tthis.code = code;\n\t\tthis.public = opts?.public ?? false;\n\t\tthis.metadata = opts?.metadata;\n\n\t\t// Set status code based on error type\n\t\tif (opts?.public) {\n\t\t\tthis.statusCode = 400; // Bad request for public errors\n\t\t}\n\t}\n\n\ttoString() {\n\t\t// Force stringify to return the message\n\t\treturn this.message;\n\t}\n}\n\nexport class InternalError extends ActorError {\n\tconstructor(message: string) {\n\t\tsuper(\"actor\", INTERNAL_ERROR_CODE, message);\n\t}\n}\n\nexport class Unreachable extends InternalError {\n\tconstructor(x: never) {\n\t\tsuper(`Unreachable case: ${x}`);\n\t}\n}\n\nexport class StateNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"state_not_enabled\",\n\t\t\t\"State not enabled. Must implement `createState` or `state` to use state. (https://www.rivet.dev/docs/actors/state/#initializing-state)\",\n\t\t);\n\t}\n}\n\nexport class ConnStateNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"conn_state_not_enabled\",\n\t\t\t\"Connection state not enabled. Must implement `createConnectionState` or `connectionState` to use connection state. (https://www.rivet.dev/docs/actors/connections/#connection-state)\",\n\t\t);\n\t}\n}\n\nexport class VarsNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"vars_not_enabled\",\n\t\t\t\"Variables not enabled. Must implement `createVars` or `vars` to use state. (https://www.rivet.dev/docs/actors/ephemeral-variables/#initializing-variables)\",\n\t\t);\n\t}\n}\n\nexport class ActionTimedOut extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"action\",\n\t\t\t\"timed_out\",\n\t\t\t\"Action timed out. This can be increased with: `actor({ options: { action: { timeout: ... } } })`\",\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class ActionNotFound extends ActorError {\n\tconstructor(name: string) {\n\t\tsuper(\n\t\t\t\"action\",\n\t\t\t\"not_found\",\n\t\t\t`Action '${name}' not found. Validate the action exists on your actor.`,\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class InvalidEncoding extends ActorError {\n\tconstructor(format?: string) {\n\t\tsuper(\n\t\t\t\"encoding\",\n\t\t\t\"invalid\",\n\t\t\t`Invalid encoding \\`${format}\\`. (https://www.rivet.dev/docs/actors/clients/#actor-client)`,\n\t\t\t{\n\t\t\t\tpublic: true,\n\t\t\t},\n\t\t);\n\t}\n}\n\nexport class ConnNotFound extends ActorError {\n\tconstructor(id?: string) {\n\t\tsuper(\"connection\", \"not_found\", `Connection not found for ID: ${id}`, {\n\t\t\tpublic: true,\n\t\t});\n\t}\n}\n\nexport class IncorrectConnToken extends ActorError {\n\tconstructor() {\n\t\tsuper(\"connection\", \"incorrect_token\", \"Incorrect connection token.\", {\n\t\t\tpublic: true,\n\t\t});\n\t}\n}\n\nexport class MessageTooLong extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"message\",\n\t\t\t\"too_long\",\n\t\t\t\"Message too long. This can be configured with: `registry.start({ maxIncomingMessageSize: ... })`\",\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class MalformedMessage extends ActorError {\n\tconstructor(cause?: unknown) {\n\t\tsuper(\"message\", \"malformed\", `Malformed message: ${cause}`, {\n\t\t\tpublic: true,\n\t\t\tcause,\n\t\t});\n\t}\n}\n\nexport interface InvalidStateTypeOptions {\n\tpath?: unknown;\n}\n\nexport class InvalidStateType extends ActorError {\n\tconstructor(opts?: InvalidStateTypeOptions) {\n\t\tlet msg = \"\";\n\t\tif (opts?.path) {\n\t\t\tmsg += `Attempted to set invalid state at path \\`${opts.path}\\`.`;\n\t\t} else {\n\t\t\tmsg += \"Attempted to set invalid state.\";\n\t\t}\n\t\tmsg +=\n\t\t\t\" Valid types include: null, undefined, boolean, string, number, BigInt, Date, RegExp, Error, typed arrays (Uint8Array, Int8Array, Float32Array, etc.), Map, Set, Array, and plain objects. (https://www.rivet.dev/docs/actors/state/#limitations)\";\n\t\tsuper(\"state\", \"invalid_type\", msg);\n\t}\n}\n\nexport class Unsupported extends ActorError {\n\tconstructor(feature: string) {\n\t\tsuper(\"feature\", \"unsupported\", `Unsupported feature: ${feature}`);\n\t}\n}\n\n/**\n * Options for the UserError class.\n */\nexport interface UserErrorOptions extends ErrorOptions {\n\t/**\n\t * Machine readable code for this error. Useful for catching different types of errors in try-catch.\n\t */\n\tcode?: string;\n\n\t/**\n\t * Additional metadata related to the error. Useful for understanding context about the error.\n\t */\n\tmetadata?: unknown;\n}\n\n/** Error that can be safely returned to the user. */\nexport class UserError extends ActorError {\n\t/**\n\t * Constructs a new UserError instance.\n\t *\n\t * @param message - The error message to be displayed.\n\t * @param opts - Optional parameters for the error, including a machine-readable code and additional metadata.\n\t */\n\tconstructor(message: string, opts?: UserErrorOptions) {\n\t\tsuper(\"user\", opts?.code ?? USER_ERROR_CODE, message, {\n\t\t\tpublic: true,\n\t\t\tmetadata: opts?.metadata,\n\t\t});\n\t}\n}\n\nexport class InvalidQueryJSON extends ActorError {\n\tconstructor(error?: unknown) {\n\t\tsuper(\"request\", \"invalid_query_json\", `Invalid query JSON: ${error}`, {\n\t\t\tpublic: true,\n\t\t\tcause: error,\n\t\t});\n\t}\n}\n\nexport class InvalidRequest extends ActorError {\n\tconstructor(error?: unknown) {\n\t\tsuper(\"request\", \"invalid\", `Invalid request: ${error}`, {\n\t\t\tpublic: true,\n\t\t\tcause: error,\n\t\t});\n\t}\n}\n\nexport class ActorNotFound extends ActorError {\n\tconstructor(identifier?: string) {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"not_found\",\n\t\t\tidentifier\n\t\t\t\t? `Actor not found: ${identifier} (https://www.rivet.dev/docs/actors/clients/#actor-client)`\n\t\t\t\t: \"Actor not found (https://www.rivet.dev/docs/actors/clients/#actor-client)\",\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class ActorAlreadyExists extends ActorError {\n\tconstructor(name: string, key: string[]) {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"already_exists\",\n\t\t\t`Actor already exists with name '${name}' and key '${JSON.stringify(key)}' (https://www.rivet.dev/docs/actors/clients/#actor-client)`,\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class ProxyError extends ActorError {\n\tconstructor(operation: string, error?: unknown) {\n\t\tsuper(\n\t\t\t\"proxy\",\n\t\t\t\"error\",\n\t\t\t`Error proxying ${operation}, this is likely an internal error: ${error}`,\n\t\t\t{\n\t\t\t\tpublic: true,\n\t\t\t\tcause: error,\n\t\t\t},\n\t\t);\n\t}\n}\n\nexport class InvalidActionRequest extends ActorError {\n\tconstructor(message: string) {\n\t\tsuper(\"action\", \"invalid_request\", message, { public: true });\n\t}\n}\n\nexport class InvalidParams extends ActorError {\n\tconstructor(message: string) {\n\t\tsuper(\"params\", \"invalid\", message, { public: true });\n\t}\n}\n\nexport class Unauthorized extends ActorError {\n\tconstructor(message?: string) {\n\t\tsuper(\n\t\t\t\"auth\",\n\t\t\t\"unauthorized\",\n\t\t\tmessage ??\n\t\t\t\t\"Unauthorized. Access denied. (https://www.rivet.dev/docs/actors/authentication/)\",\n\t\t\t{\n\t\t\t\tpublic: true,\n\t\t\t},\n\t\t);\n\t\tthis.statusCode = 401;\n\t}\n}\n\nexport class Forbidden extends ActorError {\n\tconstructor(message?: string, opts?: { metadata?: unknown }) {\n\t\tsuper(\n\t\t\t\"auth\",\n\t\t\t\"forbidden\",\n\t\t\tmessage ??\n\t\t\t\t\"Forbidden. Access denied. (https://www.rivet.dev/docs/actors/authentication/)\",\n\t\t\t{\n\t\t\t\tpublic: true,\n\t\t\t\tmetadata: opts?.metadata,\n\t\t\t},\n\t\t);\n\t\tthis.statusCode = 403;\n\t}\n}\n\nexport class DatabaseNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"database\",\n\t\t\t\"not_enabled\",\n\t\t\t\"Database not enabled. Must implement `database` to use database.\",\n\t\t);\n\t}\n}\n\nexport class FetchHandlerNotDefined extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"handler\",\n\t\t\t\"fetch_not_defined\",\n\t\t\t\"Raw HTTP handler not defined. Actor must implement `onFetch` to handle raw HTTP requests. (https://www.rivet.dev/docs/actors/fetch-and-websocket-handler/)\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 404;\n\t}\n}\n\nexport class WebSocketHandlerNotDefined extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"handler\",\n\t\t\t\"websocket_not_defined\",\n\t\t\t\"Raw WebSocket handler not defined. Actor must implement `onWebSocket` to handle raw WebSocket connections. (https://www.rivet.dev/docs/actors/fetch-and-websocket-handler/)\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 404;\n\t}\n}\n\nexport class InvalidFetchResponse extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"handler\",\n\t\t\t\"invalid_fetch_response\",\n\t\t\t\"Actor's onFetch handler must return a Response object. Returning void/undefined is not allowed. (https://www.rivet.dev/docs/actors/fetch-and-websocket-handler/)\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 500;\n\t}\n}\n\n// Manager-specific errors\nexport class MissingActorHeader extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"request\",\n\t\t\t\"missing_actor_header\",\n\t\t\t\"Missing x-rivet-actor header when x-rivet-target=actor\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 400;\n\t}\n}\n\nexport class WebSocketsNotEnabled extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"driver\",\n\t\t\t\"websockets_not_enabled\",\n\t\t\t\"WebSockets are not enabled for this driver\",\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 400;\n\t}\n}\n\nexport class FeatureNotImplemented extends ActorError {\n\tconstructor(feature: string) {\n\t\tsuper(\"feature\", \"not_implemented\", `${feature} is not implemented`, {\n\t\t\tpublic: true,\n\t\t});\n\t\tthis.statusCode = 501;\n\t}\n}\n\nexport class RouteNotFound extends ActorError {\n\tconstructor() {\n\t\tsuper(\"route\", \"not_found\", \"Route not found\", { public: true });\n\t\tthis.statusCode = 404;\n\t}\n}\n"]}