rivetkit 2.0.3 → 2.0.4

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 (233) hide show
  1. package/README.md +11 -0
  2. package/dist/schemas/actor-persist/v1.ts +21 -24
  3. package/dist/schemas/client-protocol/v1.ts +6 -0
  4. package/dist/tsup/actor/errors.cjs +10 -2
  5. package/dist/tsup/actor/errors.cjs.map +1 -1
  6. package/dist/tsup/actor/errors.d.cts +17 -4
  7. package/dist/tsup/actor/errors.d.ts +17 -4
  8. package/dist/tsup/actor/errors.js +11 -3
  9. package/dist/tsup/{chunk-6PDXBYI5.js → chunk-3F2YSRJL.js} +8 -23
  10. package/dist/tsup/chunk-3F2YSRJL.js.map +1 -0
  11. package/dist/tsup/chunk-4CXBCT26.cjs +250 -0
  12. package/dist/tsup/chunk-4CXBCT26.cjs.map +1 -0
  13. package/dist/tsup/chunk-4R73YDN3.cjs +20 -0
  14. package/dist/tsup/chunk-4R73YDN3.cjs.map +1 -0
  15. package/dist/tsup/{chunk-OGAPU3UG.cjs → chunk-6LJT3QRL.cjs} +39 -25
  16. package/dist/tsup/chunk-6LJT3QRL.cjs.map +1 -0
  17. package/dist/tsup/{chunk-6WKQDDUD.cjs → chunk-GICQ3YCU.cjs} +143 -141
  18. package/dist/tsup/chunk-GICQ3YCU.cjs.map +1 -0
  19. package/dist/tsup/{chunk-FLMTTN27.js → chunk-H26RP6GD.js} +15 -8
  20. package/dist/tsup/chunk-H26RP6GD.js.map +1 -0
  21. package/dist/tsup/chunk-HI3HWJRC.js +20 -0
  22. package/dist/tsup/chunk-HI3HWJRC.js.map +1 -0
  23. package/dist/tsup/{chunk-4NSUQZ2H.js → chunk-HLLF4B4Q.js} +116 -114
  24. package/dist/tsup/chunk-HLLF4B4Q.js.map +1 -0
  25. package/dist/tsup/{chunk-FCCPJNMA.cjs → chunk-IH6CKNDW.cjs} +12 -27
  26. package/dist/tsup/chunk-IH6CKNDW.cjs.map +1 -0
  27. package/dist/tsup/chunk-LV2S3OU3.js +250 -0
  28. package/dist/tsup/chunk-LV2S3OU3.js.map +1 -0
  29. package/dist/tsup/{chunk-R2OPSKIV.cjs → chunk-LWNKVZG5.cjs} +20 -13
  30. package/dist/tsup/chunk-LWNKVZG5.cjs.map +1 -0
  31. package/dist/tsup/{chunk-INGJP237.js → chunk-NFU2BBT5.js} +102 -43
  32. package/dist/tsup/chunk-NFU2BBT5.js.map +1 -0
  33. package/dist/tsup/{chunk-3H7O2A7I.js → chunk-PQY7KKTL.js} +33 -19
  34. package/dist/tsup/chunk-PQY7KKTL.js.map +1 -0
  35. package/dist/tsup/{chunk-PO4VLDWA.js → chunk-QK72M5JB.js} +3 -5
  36. package/dist/tsup/chunk-QK72M5JB.js.map +1 -0
  37. package/dist/tsup/{chunk-TZJKSBUQ.cjs → chunk-QNNXFOQV.cjs} +3 -5
  38. package/dist/tsup/chunk-QNNXFOQV.cjs.map +1 -0
  39. package/dist/tsup/{chunk-GIR3AFFI.cjs → chunk-SBHHJ6QS.cjs} +102 -43
  40. package/dist/tsup/chunk-SBHHJ6QS.cjs.map +1 -0
  41. package/dist/tsup/chunk-TQ62L3X7.js +325 -0
  42. package/dist/tsup/chunk-TQ62L3X7.js.map +1 -0
  43. package/dist/tsup/chunk-VO7ZRVVD.cjs +6293 -0
  44. package/dist/tsup/chunk-VO7ZRVVD.cjs.map +1 -0
  45. package/dist/tsup/chunk-WHBPJNGW.cjs +325 -0
  46. package/dist/tsup/chunk-WHBPJNGW.cjs.map +1 -0
  47. package/dist/tsup/chunk-XJQHKJ4P.js +6293 -0
  48. package/dist/tsup/chunk-XJQHKJ4P.js.map +1 -0
  49. package/dist/tsup/client/mod.cjs +10 -10
  50. package/dist/tsup/client/mod.d.cts +7 -13
  51. package/dist/tsup/client/mod.d.ts +7 -13
  52. package/dist/tsup/client/mod.js +9 -9
  53. package/dist/tsup/common/log.cjs +12 -4
  54. package/dist/tsup/common/log.cjs.map +1 -1
  55. package/dist/tsup/common/log.d.cts +23 -17
  56. package/dist/tsup/common/log.d.ts +23 -17
  57. package/dist/tsup/common/log.js +15 -7
  58. package/dist/tsup/common/websocket.cjs +5 -5
  59. package/dist/tsup/common/websocket.js +4 -4
  60. package/dist/tsup/{common-CpqORuCq.d.cts → common-CXCe7s6i.d.cts} +2 -2
  61. package/dist/tsup/{common-CpqORuCq.d.ts → common-CXCe7s6i.d.ts} +2 -2
  62. package/dist/tsup/{connection-BwUMoe6n.d.ts → connection-BI-6UIBJ.d.ts} +196 -226
  63. package/dist/tsup/{connection-BR_Ve4ku.d.cts → connection-Dyd4NLGW.d.cts} +196 -226
  64. package/dist/tsup/driver-helpers/mod.cjs +6 -9
  65. package/dist/tsup/driver-helpers/mod.cjs.map +1 -1
  66. package/dist/tsup/driver-helpers/mod.d.cts +5 -6
  67. package/dist/tsup/driver-helpers/mod.d.ts +5 -6
  68. package/dist/tsup/driver-helpers/mod.js +6 -9
  69. package/dist/tsup/driver-test-suite/mod.cjs +155 -1363
  70. package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
  71. package/dist/tsup/driver-test-suite/mod.d.cts +11 -5
  72. package/dist/tsup/driver-test-suite/mod.d.ts +11 -5
  73. package/dist/tsup/driver-test-suite/mod.js +876 -2084
  74. package/dist/tsup/driver-test-suite/mod.js.map +1 -1
  75. package/dist/tsup/inspector/mod.cjs +6 -8
  76. package/dist/tsup/inspector/mod.cjs.map +1 -1
  77. package/dist/tsup/inspector/mod.d.cts +3 -3
  78. package/dist/tsup/inspector/mod.d.ts +3 -3
  79. package/dist/tsup/inspector/mod.js +8 -10
  80. package/dist/tsup/mod.cjs +9 -15
  81. package/dist/tsup/mod.cjs.map +1 -1
  82. package/dist/tsup/mod.d.cts +47 -42
  83. package/dist/tsup/mod.d.ts +47 -42
  84. package/dist/tsup/mod.js +10 -16
  85. package/dist/tsup/{router-endpoints-DAbqVFx2.d.ts → router-endpoints-BTe_Rsdn.d.cts} +2 -3
  86. package/dist/tsup/{router-endpoints-AYkXG8Tl.d.cts → router-endpoints-CBSrKHmo.d.ts} +2 -3
  87. package/dist/tsup/test/mod.cjs +10 -14
  88. package/dist/tsup/test/mod.cjs.map +1 -1
  89. package/dist/tsup/test/mod.d.cts +4 -5
  90. package/dist/tsup/test/mod.d.ts +4 -5
  91. package/dist/tsup/test/mod.js +9 -13
  92. package/dist/tsup/{utils-CT0cv4jd.d.ts → utils-fwx3o3K9.d.cts} +1 -0
  93. package/dist/tsup/{utils-CT0cv4jd.d.cts → utils-fwx3o3K9.d.ts} +1 -0
  94. package/dist/tsup/utils.cjs +3 -3
  95. package/dist/tsup/utils.d.cts +1 -1
  96. package/dist/tsup/utils.d.ts +1 -1
  97. package/dist/tsup/utils.js +2 -2
  98. package/package.json +4 -4
  99. package/src/actor/action.ts +1 -5
  100. package/src/actor/config.ts +27 -295
  101. package/src/actor/connection.ts +9 -12
  102. package/src/actor/context.ts +1 -4
  103. package/src/actor/definition.ts +7 -11
  104. package/src/actor/errors.ts +97 -35
  105. package/src/actor/generic-conn-driver.ts +28 -16
  106. package/src/actor/instance.ts +177 -133
  107. package/src/actor/log.ts +4 -13
  108. package/src/actor/mod.ts +0 -5
  109. package/src/actor/protocol/old.ts +42 -26
  110. package/src/actor/protocol/serde.ts +1 -1
  111. package/src/actor/router-endpoints.ts +41 -38
  112. package/src/actor/router.ts +20 -18
  113. package/src/actor/unstable-react.ts +1 -1
  114. package/src/actor/utils.ts +6 -2
  115. package/src/client/actor-common.ts +1 -1
  116. package/src/client/actor-conn.ts +152 -91
  117. package/src/client/actor-handle.ts +85 -25
  118. package/src/client/actor-query.ts +65 -0
  119. package/src/client/client.ts +29 -98
  120. package/src/client/config.ts +44 -0
  121. package/src/client/errors.ts +1 -0
  122. package/src/client/log.ts +2 -4
  123. package/src/client/mod.ts +16 -12
  124. package/src/client/raw-utils.ts +82 -25
  125. package/src/client/utils.ts +5 -3
  126. package/src/common/fake-event-source.ts +10 -9
  127. package/src/common/inline-websocket-adapter2.ts +39 -30
  128. package/src/common/log.ts +176 -101
  129. package/src/common/logfmt.ts +21 -30
  130. package/src/common/router.ts +12 -19
  131. package/src/common/utils.ts +27 -13
  132. package/src/common/websocket.ts +0 -1
  133. package/src/driver-helpers/mod.ts +1 -1
  134. package/src/driver-test-suite/log.ts +1 -3
  135. package/src/driver-test-suite/mod.ts +86 -60
  136. package/src/driver-test-suite/tests/actor-handle.ts +33 -0
  137. package/src/driver-test-suite/tests/manager-driver.ts +5 -3
  138. package/src/driver-test-suite/tests/raw-http-direct-registry.ts +227 -226
  139. package/src/driver-test-suite/tests/raw-websocket-direct-registry.ts +393 -392
  140. package/src/driver-test-suite/tests/request-access.ts +112 -126
  141. package/src/driver-test-suite/utils.ts +13 -10
  142. package/src/drivers/default.ts +7 -4
  143. package/src/drivers/engine/actor-driver.ts +22 -13
  144. package/src/drivers/engine/config.ts +2 -10
  145. package/src/drivers/engine/kv.ts +1 -1
  146. package/src/drivers/engine/log.ts +1 -3
  147. package/src/drivers/engine/mod.ts +2 -3
  148. package/src/drivers/file-system/actor.ts +1 -1
  149. package/src/drivers/file-system/global-state.ts +33 -20
  150. package/src/drivers/file-system/log.ts +1 -3
  151. package/src/drivers/file-system/manager.ts +31 -8
  152. package/src/inspector/config.ts +9 -4
  153. package/src/inspector/log.ts +1 -1
  154. package/src/inspector/manager.ts +2 -2
  155. package/src/inspector/utils.ts +1 -1
  156. package/src/manager/driver.ts +10 -2
  157. package/src/manager/hono-websocket-adapter.ts +21 -12
  158. package/src/manager/log.ts +2 -4
  159. package/src/manager/mod.ts +1 -1
  160. package/src/manager/router.ts +277 -1657
  161. package/src/manager-api/routes/actors-create.ts +16 -0
  162. package/src/manager-api/routes/actors-delete.ts +4 -0
  163. package/src/manager-api/routes/actors-get-by-id.ts +7 -0
  164. package/src/manager-api/routes/actors-get-or-create-by-id.ts +29 -0
  165. package/src/manager-api/routes/actors-get.ts +7 -0
  166. package/src/manager-api/routes/common.ts +18 -0
  167. package/src/mod.ts +0 -2
  168. package/src/registry/config.ts +1 -1
  169. package/src/registry/log.ts +2 -4
  170. package/src/registry/mod.ts +57 -24
  171. package/src/registry/run-config.ts +31 -33
  172. package/src/registry/serve.ts +4 -5
  173. package/src/remote-manager-driver/actor-http-client.ts +72 -0
  174. package/src/remote-manager-driver/actor-websocket-client.ts +63 -0
  175. package/src/remote-manager-driver/api-endpoints.ts +79 -0
  176. package/src/remote-manager-driver/api-utils.ts +43 -0
  177. package/src/remote-manager-driver/log.ts +5 -0
  178. package/src/remote-manager-driver/mod.ts +274 -0
  179. package/src/{drivers/engine → remote-manager-driver}/ws-proxy.ts +24 -14
  180. package/src/serde.ts +8 -2
  181. package/src/test/log.ts +1 -3
  182. package/src/test/mod.ts +17 -16
  183. package/dist/tsup/chunk-2CRLFV6Z.cjs +0 -202
  184. package/dist/tsup/chunk-2CRLFV6Z.cjs.map +0 -1
  185. package/dist/tsup/chunk-3H7O2A7I.js.map +0 -1
  186. package/dist/tsup/chunk-42I3OZ3Q.js +0 -15
  187. package/dist/tsup/chunk-42I3OZ3Q.js.map +0 -1
  188. package/dist/tsup/chunk-4NSUQZ2H.js.map +0 -1
  189. package/dist/tsup/chunk-6PDXBYI5.js.map +0 -1
  190. package/dist/tsup/chunk-6WKQDDUD.cjs.map +0 -1
  191. package/dist/tsup/chunk-CTBOSFUH.cjs +0 -116
  192. package/dist/tsup/chunk-CTBOSFUH.cjs.map +0 -1
  193. package/dist/tsup/chunk-EGVZZFE2.js +0 -2857
  194. package/dist/tsup/chunk-EGVZZFE2.js.map +0 -1
  195. package/dist/tsup/chunk-FCCPJNMA.cjs.map +0 -1
  196. package/dist/tsup/chunk-FLMTTN27.js.map +0 -1
  197. package/dist/tsup/chunk-GIR3AFFI.cjs.map +0 -1
  198. package/dist/tsup/chunk-INGJP237.js.map +0 -1
  199. package/dist/tsup/chunk-KJCJLKRM.js +0 -116
  200. package/dist/tsup/chunk-KJCJLKRM.js.map +0 -1
  201. package/dist/tsup/chunk-KUPQZYUQ.cjs +0 -15
  202. package/dist/tsup/chunk-KUPQZYUQ.cjs.map +0 -1
  203. package/dist/tsup/chunk-O2MBYIXO.cjs +0 -2857
  204. package/dist/tsup/chunk-O2MBYIXO.cjs.map +0 -1
  205. package/dist/tsup/chunk-OGAPU3UG.cjs.map +0 -1
  206. package/dist/tsup/chunk-OV6AYD4S.js +0 -4406
  207. package/dist/tsup/chunk-OV6AYD4S.js.map +0 -1
  208. package/dist/tsup/chunk-PO4VLDWA.js.map +0 -1
  209. package/dist/tsup/chunk-R2OPSKIV.cjs.map +0 -1
  210. package/dist/tsup/chunk-TZJKSBUQ.cjs.map +0 -1
  211. package/dist/tsup/chunk-UBUC5C3G.cjs +0 -189
  212. package/dist/tsup/chunk-UBUC5C3G.cjs.map +0 -1
  213. package/dist/tsup/chunk-UIM22YJL.cjs +0 -4406
  214. package/dist/tsup/chunk-UIM22YJL.cjs.map +0 -1
  215. package/dist/tsup/chunk-URVFQMYI.cjs +0 -230
  216. package/dist/tsup/chunk-URVFQMYI.cjs.map +0 -1
  217. package/dist/tsup/chunk-UVUPOS46.js +0 -230
  218. package/dist/tsup/chunk-UVUPOS46.js.map +0 -1
  219. package/dist/tsup/chunk-VRRHBNJC.js +0 -189
  220. package/dist/tsup/chunk-VRRHBNJC.js.map +0 -1
  221. package/dist/tsup/chunk-XFSS33EQ.js +0 -202
  222. package/dist/tsup/chunk-XFSS33EQ.js.map +0 -1
  223. package/src/client/http-client-driver.ts +0 -326
  224. package/src/driver-test-suite/test-inline-client-driver.ts +0 -402
  225. package/src/driver-test-suite/tests/actor-auth.ts +0 -591
  226. package/src/drivers/engine/api-endpoints.ts +0 -128
  227. package/src/drivers/engine/api-utils.ts +0 -70
  228. package/src/drivers/engine/manager-driver.ts +0 -391
  229. package/src/inline-client-driver/log.ts +0 -7
  230. package/src/inline-client-driver/mod.ts +0 -385
  231. package/src/manager/auth.ts +0 -121
  232. /package/src/{drivers/engine → actor}/keys.test.ts +0 -0
  233. /package/src/{drivers/engine → actor}/keys.ts +0 -0
@@ -11,7 +11,6 @@ export type InitContext = ActorContext<
11
11
  undefined,
12
12
  undefined,
13
13
  undefined,
14
- undefined,
15
14
  undefined
16
15
  >;
17
16
 
@@ -21,7 +20,6 @@ export interface ActorTypes<
21
20
  TConnState,
22
21
  TVars,
23
22
  TInput,
24
- TAuthData,
25
23
  TDatabase extends AnyDatabaseProvider,
26
24
  > {
27
25
  state?: TState;
@@ -29,7 +27,6 @@ export interface ActorTypes<
29
27
  connState?: TConnState;
30
28
  vars?: TVars;
31
29
  input?: TInput;
32
- authData?: TAuthData;
33
30
  database?: TDatabase;
34
31
  }
35
32
 
@@ -40,7 +37,6 @@ export interface ActorTypes<
40
37
  // (b) it makes the type definitions incredibly difficult to read as opposed to vanilla TypeScript.
41
38
  export const ActorConfigSchema = z
42
39
  .object({
43
- onAuth: z.function().optional(),
44
40
  onCreate: z.function().optional(),
45
41
  onStart: z.function().optional(),
46
42
  onStop: z.function().optional(),
@@ -116,15 +112,7 @@ export interface OnConnectOptions {
116
112
  // This must have only one or the other or else TState will not be able to be inferred
117
113
  //
118
114
  // Data returned from this handler will be available on `c.state`.
119
- type CreateState<
120
- TState,
121
- TConnParams,
122
- TConnState,
123
- TVars,
124
- TInput,
125
- TAuthData,
126
- TDatabase,
127
- > =
115
+ type CreateState<TState, TConnParams, TConnState, TVars, TInput, TDatabase> =
128
116
  | { state: TState }
129
117
  | {
130
118
  createState: (c: InitContext, input: TInput) => TState | Promise<TState>;
@@ -142,7 +130,6 @@ type CreateConnState<
142
130
  TConnState,
143
131
  TVars,
144
132
  TInput,
145
- TAuthData,
146
133
  TDatabase,
147
134
  > =
148
135
  | { connState: TConnState }
@@ -161,15 +148,7 @@ type CreateConnState<
161
148
  /**
162
149
  * @experimental
163
150
  */
164
- type CreateVars<
165
- TState,
166
- TConnParams,
167
- TConnState,
168
- TVars,
169
- TInput,
170
- TAuthData,
171
- TDatabase,
172
- > =
151
+ type CreateVars<TState, TConnParams, TConnState, TVars, TInput, TDatabase> =
173
152
  | {
174
153
  /**
175
154
  * @experimental
@@ -184,62 +163,16 @@ type CreateVars<
184
163
  }
185
164
  | Record<never, never>;
186
165
 
187
- // Creates auth config
188
- //
189
- // This must have only one or the other or else TAuthData will not be able to be inferred
190
- type OnAuth<TConnParams, TAuthData> =
191
- | {
192
- /**
193
- * Called on the HTTP server before clients can interact with the actor.
194
- *
195
- * Only called for public endpoints. Calls to actors from within the backend
196
- * do not trigger this handler.
197
- *
198
- * Data returned from this handler will be available on `c.conn.auth`.
199
- *
200
- * This function is required for any public HTTP endpoint access. Use this hook
201
- * to validate client credentials and return authentication data that will be
202
- * available on connections. This runs on the HTTP server (not the actor)
203
- * in order to reduce load on the actor & prevent denial of server attacks
204
- * against individual actors.
205
- *
206
- * If you need access to actor state for authentication, use onBeforeConnect
207
- * with an empty onAuth function instead.
208
- *
209
- * You can also provide your own authentication middleware on your router if you
210
- * choose, then use onAuth to pass the authentication data (e.g. user ID) to the
211
- * actor itself.
212
- *
213
- * @param opts Authentication options including request and intent
214
- * @returns Authentication data to attach to connections (must be serializable)
215
- * @throws Throw an error to deny access to the actor
216
- */
217
- onAuth: (
218
- opts: OnAuthOptions,
219
- params: TConnParams,
220
- ) => TAuthData | Promise<TAuthData>;
221
- }
222
- | Record<never, never>;
223
-
224
166
  export interface Actions<
225
167
  TState,
226
168
  TConnParams,
227
169
  TConnState,
228
170
  TVars,
229
171
  TInput,
230
- TAuthData,
231
172
  TDatabase extends AnyDatabaseProvider,
232
173
  > {
233
174
  [Action: string]: (
234
- c: ActionContext<
235
- TState,
236
- TConnParams,
237
- TConnState,
238
- TVars,
239
- TInput,
240
- TAuthData,
241
- TDatabase
242
- >,
175
+ c: ActionContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase>,
243
176
  ...args: any[]
244
177
  ) => any;
245
178
  }
@@ -254,21 +187,12 @@ export interface Actions<
254
187
  */
255
188
  export type AuthIntent = "get" | "create" | "connect" | "action" | "message";
256
189
 
257
- export interface OnAuthOptions {
258
- request: Request;
259
- /**
260
- * @experimental
261
- */
262
- intents: Set<AuthIntent>;
263
- }
264
-
265
190
  interface BaseActorConfig<
266
191
  TState,
267
192
  TConnParams,
268
193
  TConnState,
269
194
  TVars,
270
195
  TInput,
271
- TAuthData,
272
196
  TDatabase extends AnyDatabaseProvider,
273
197
  TActions extends Actions<
274
198
  TState,
@@ -276,7 +200,6 @@ interface BaseActorConfig<
276
200
  TConnState,
277
201
  TVars,
278
202
  TInput,
279
- TAuthData,
280
203
  TDatabase
281
204
  >,
282
205
  > {
@@ -287,15 +210,7 @@ interface BaseActorConfig<
287
210
  * This is called before any other lifecycle hooks.
288
211
  */
289
212
  onCreate?: (
290
- c: ActorContext<
291
- TState,
292
- TConnParams,
293
- TConnState,
294
- TVars,
295
- TInput,
296
- TAuthData,
297
- TDatabase
298
- >,
213
+ c: ActorContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase>,
299
214
  input: TInput,
300
215
  ) => void | Promise<void>;
301
216
 
@@ -308,15 +223,7 @@ interface BaseActorConfig<
308
223
  * @returns Void or a Promise that resolves when startup is complete
309
224
  */
310
225
  onStart?: (
311
- c: ActorContext<
312
- TState,
313
- TConnParams,
314
- TConnState,
315
- TVars,
316
- TInput,
317
- TAuthData,
318
- TDatabase
319
- >,
226
+ c: ActorContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase>,
320
227
  ) => void | Promise<void>;
321
228
 
322
229
  /**
@@ -330,15 +237,7 @@ interface BaseActorConfig<
330
237
  * @returns Void or a Promise that resolves when shutdown is complete
331
238
  */
332
239
  onStop?: (
333
- c: ActorContext<
334
- TState,
335
- TConnParams,
336
- TConnState,
337
- TVars,
338
- TInput,
339
- TAuthData,
340
- TDatabase
341
- >,
240
+ c: ActorContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase>,
342
241
  ) => void | Promise<void>;
343
242
 
344
243
  /**
@@ -353,48 +252,22 @@ interface BaseActorConfig<
353
252
  * @param newState The updated state
354
253
  */
355
254
  onStateChange?: (
356
- c: ActorContext<
357
- TState,
358
- TConnParams,
359
- TConnState,
360
- TVars,
361
- TInput,
362
- TAuthData,
363
- TDatabase
364
- >,
255
+ c: ActorContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase>,
365
256
  newState: TState,
366
257
  ) => void;
367
258
 
368
259
  /**
369
260
  * Called before a client connects to the actor.
370
261
  *
371
- * Unlike onAuth, this handler is still called for both internal and
372
- * public clients.
373
- *
374
262
  * Use this hook to determine if a connection should be accepted
375
- * and to initialize connection-specific state. Unlike onAuth, this runs
376
- * on the actor and has access to actor state, but uses slightly
377
- * more resources on the actor rather than authenticating with onAuth.
378
- *
379
- * For authentication without actor state access, prefer onAuth.
380
- *
381
- * For authentication with actor state, use onBeforeConnect with an empty
382
- * onAuth handler.
263
+ * and to initialize connection-specific state.
383
264
  *
384
265
  * @param opts Connection parameters including client-provided data
385
266
  * @returns The initial connection state or a Promise that resolves to it
386
267
  * @throws Throw an error to reject the connection
387
268
  */
388
269
  onBeforeConnect?: (
389
- c: ActorContext<
390
- TState,
391
- TConnParams,
392
- TConnState,
393
- TVars,
394
- TInput,
395
- TAuthData,
396
- TDatabase
397
- >,
270
+ c: ActorContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase>,
398
271
  opts: OnConnectOptions,
399
272
  params: TConnParams,
400
273
  ) => void | Promise<void>;
@@ -409,24 +282,8 @@ interface BaseActorConfig<
409
282
  * @returns Void or a Promise that resolves when connection handling is complete
410
283
  */
411
284
  onConnect?: (
412
- c: ActorContext<
413
- TState,
414
- TConnParams,
415
- TConnState,
416
- TVars,
417
- TInput,
418
- TAuthData,
419
- TDatabase
420
- >,
421
- conn: Conn<
422
- TState,
423
- TConnParams,
424
- TConnState,
425
- TVars,
426
- TInput,
427
- TAuthData,
428
- TDatabase
429
- >,
285
+ c: ActorContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase>,
286
+ conn: Conn<TState, TConnParams, TConnState, TVars, TInput, TDatabase>,
430
287
  ) => void | Promise<void>;
431
288
 
432
289
  /**
@@ -439,24 +296,8 @@ interface BaseActorConfig<
439
296
  * @returns Void or a Promise that resolves when disconnect handling is complete
440
297
  */
441
298
  onDisconnect?: (
442
- c: ActorContext<
443
- TState,
444
- TConnParams,
445
- TConnState,
446
- TVars,
447
- TInput,
448
- TAuthData,
449
- TDatabase
450
- >,
451
- conn: Conn<
452
- TState,
453
- TConnParams,
454
- TConnState,
455
- TVars,
456
- TInput,
457
- TAuthData,
458
- TDatabase
459
- >,
299
+ c: ActorContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase>,
300
+ conn: Conn<TState, TConnParams, TConnState, TVars, TInput, TDatabase>,
460
301
  ) => void | Promise<void>;
461
302
 
462
303
  /**
@@ -472,15 +313,7 @@ interface BaseActorConfig<
472
313
  * @returns The modified output to send to the client
473
314
  */
474
315
  onBeforeActionResponse?: <Out>(
475
- c: ActorContext<
476
- TState,
477
- TConnParams,
478
- TConnState,
479
- TVars,
480
- TInput,
481
- TAuthData,
482
- TDatabase
483
- >,
316
+ c: ActorContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase>,
484
317
  name: string,
485
318
  args: unknown[],
486
319
  output: Out,
@@ -496,17 +329,9 @@ interface BaseActorConfig<
496
329
  * @returns A Response object to send back, or void to continue with default routing
497
330
  */
498
331
  onFetch?: (
499
- c: ActorContext<
500
- TState,
501
- TConnParams,
502
- TConnState,
503
- TVars,
504
- TInput,
505
- TAuthData,
506
- TDatabase
507
- >,
332
+ c: ActorContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase>,
508
333
  request: Request,
509
- opts: { auth: TAuthData },
334
+ opts: {},
510
335
  ) => Response | Promise<Response>;
511
336
 
512
337
  /**
@@ -519,17 +344,9 @@ interface BaseActorConfig<
519
344
  * @param request The original HTTP upgrade request
520
345
  */
521
346
  onWebSocket?: (
522
- c: ActorContext<
523
- TState,
524
- TConnParams,
525
- TConnState,
526
- TVars,
527
- TInput,
528
- TAuthData,
529
- TDatabase
530
- >,
347
+ c: ActorContext<TState, TConnParams, TConnState, TVars, TInput, TDatabase>,
531
348
  websocket: UniversalWebSocket,
532
- opts: { request: Request; auth: TAuthData },
349
+ opts: { request: Request },
533
350
  ) => void | Promise<void>;
534
351
 
535
352
  actions: TActions;
@@ -553,12 +370,10 @@ export type ActorConfig<
553
370
  TConnState,
554
371
  TVars,
555
372
  TInput,
556
- TAuthData,
557
373
  TDatabase extends AnyDatabaseProvider,
558
374
  > = Omit<
559
375
  z.infer<typeof ActorConfigSchema>,
560
376
  | "actions"
561
- | "onAuth"
562
377
  | "onCreate"
563
378
  | "onStart"
564
379
  | "onStateChange"
@@ -582,46 +397,12 @@ export type ActorConfig<
582
397
  TConnState,
583
398
  TVars,
584
399
  TInput,
585
- TAuthData,
586
400
  TDatabase,
587
- Actions<
588
- TState,
589
- TConnParams,
590
- TConnState,
591
- TVars,
592
- TInput,
593
- TAuthData,
594
- TDatabase
595
- >
596
- > &
597
- OnAuth<TConnParams, TAuthData> &
598
- CreateState<
599
- TState,
600
- TConnParams,
601
- TConnState,
602
- TVars,
603
- TInput,
604
- TAuthData,
605
- TDatabase
606
- > &
607
- CreateConnState<
608
- TState,
609
- TConnParams,
610
- TConnState,
611
- TVars,
612
- TInput,
613
- TAuthData,
614
- TDatabase
615
- > &
616
- CreateVars<
617
- TState,
618
- TConnParams,
619
- TConnState,
620
- TVars,
621
- TInput,
622
- TAuthData,
623
- TDatabase
401
+ Actions<TState, TConnParams, TConnState, TVars, TInput, TDatabase>
624
402
  > &
403
+ CreateState<TState, TConnParams, TConnState, TVars, TInput, TDatabase> &
404
+ CreateConnState<TState, TConnParams, TConnState, TVars, TInput, TDatabase> &
405
+ CreateVars<TState, TConnParams, TConnState, TVars, TInput, TDatabase> &
625
406
  ActorDatabaseConfig<TDatabase>;
626
407
 
627
408
  // See description on `ActorConfig`
@@ -631,7 +412,6 @@ export type ActorConfigInput<
631
412
  TConnState = undefined,
632
413
  TVars = undefined,
633
414
  TInput = undefined,
634
- TAuthData = undefined,
635
415
  TDatabase extends AnyDatabaseProvider = undefined,
636
416
  TActions extends Actions<
637
417
  TState,
@@ -639,23 +419,13 @@ export type ActorConfigInput<
639
419
  TConnState,
640
420
  TVars,
641
421
  TInput,
642
- TAuthData,
643
422
  TDatabase
644
423
  > = Record<never, never>,
645
424
  > = {
646
- types?: ActorTypes<
647
- TState,
648
- TConnParams,
649
- TConnState,
650
- TVars,
651
- TInput,
652
- TAuthData,
653
- TDatabase
654
- >;
425
+ types?: ActorTypes<TState, TConnParams, TConnState, TVars, TInput, TDatabase>;
655
426
  } & Omit<
656
427
  z.input<typeof ActorConfigSchema>,
657
428
  | "actions"
658
- | "onAuth"
659
429
  | "onCreate"
660
430
  | "onStart"
661
431
  | "onStop"
@@ -680,38 +450,12 @@ export type ActorConfigInput<
680
450
  TConnState,
681
451
  TVars,
682
452
  TInput,
683
- TAuthData,
684
453
  TDatabase,
685
454
  TActions
686
455
  > &
687
- OnAuth<TConnParams, TAuthData> &
688
- CreateState<
689
- TState,
690
- TConnParams,
691
- TConnState,
692
- TVars,
693
- TInput,
694
- TAuthData,
695
- TDatabase
696
- > &
697
- CreateConnState<
698
- TState,
699
- TConnParams,
700
- TConnState,
701
- TVars,
702
- TInput,
703
- TAuthData,
704
- TDatabase
705
- > &
706
- CreateVars<
707
- TState,
708
- TConnParams,
709
- TConnState,
710
- TVars,
711
- TInput,
712
- TAuthData,
713
- TDatabase
714
- > &
456
+ CreateState<TState, TConnParams, TConnState, TVars, TInput, TDatabase> &
457
+ CreateConnState<TState, TConnParams, TConnState, TVars, TInput, TDatabase> &
458
+ CreateVars<TState, TConnParams, TConnState, TVars, TInput, TDatabase> &
715
459
  ActorDatabaseConfig<TDatabase>;
716
460
 
717
461
  // For testing type definitions:
@@ -721,7 +465,6 @@ export function test<
721
465
  TConnState,
722
466
  TVars,
723
467
  TInput,
724
- TAuthData,
725
468
  TDatabase extends AnyDatabaseProvider,
726
469
  TActions extends Actions<
727
470
  TState,
@@ -729,7 +472,6 @@ export function test<
729
472
  TConnState,
730
473
  TVars,
731
474
  TInput,
732
- TAuthData,
733
475
  TDatabase
734
476
  >,
735
477
  >(
@@ -739,26 +481,16 @@ export function test<
739
481
  TConnState,
740
482
  TVars,
741
483
  TInput,
742
- TAuthData,
743
484
  TDatabase,
744
485
  TActions
745
486
  >,
746
- ): ActorConfig<
747
- TState,
748
- TConnParams,
749
- TConnState,
750
- TVars,
751
- TInput,
752
- TAuthData,
753
- TDatabase
754
- > {
487
+ ): ActorConfig<TState, TConnParams, TConnState, TVars, TInput, TDatabase> {
755
488
  const config = ActorConfigSchema.parse(input) as ActorConfig<
756
489
  TState,
757
490
  TConnParams,
758
491
  TConnState,
759
492
  TVars,
760
493
  TInput,
761
- TAuthData,
762
494
  TDatabase
763
495
  >;
764
496
  return config;
@@ -6,7 +6,7 @@ import type { AnyDatabaseProvider } from "./database";
6
6
  import { type ConnDriver, ConnectionReadyState } from "./driver";
7
7
  import * as errors from "./errors";
8
8
  import type { ActorInstance } from "./instance";
9
- import { logger } from "./log";
9
+ import { loggerWithoutContext } from "./log";
10
10
  import type { PersistedConn } from "./persisted";
11
11
  import { CachedSerializer } from "./protocol/serde";
12
12
  import { generateSecureToken } from "./utils";
@@ -21,7 +21,7 @@ export function generateConnToken(): string {
21
21
 
22
22
  export type ConnId = string;
23
23
 
24
- export type AnyConn = Conn<any, any, any, any, any, any, any>;
24
+ export type AnyConn = Conn<any, any, any, any, any, any>;
25
25
 
26
26
  export const CONNECTION_DRIVER_WEBSOCKET = "webSocket";
27
27
  export const CONNECTION_DRIVER_SSE = "sse";
@@ -41,15 +41,15 @@ export const CONNECTION_CHECK_LIVENESS_SYMBOL = Symbol("checkLiveness");
41
41
  *
42
42
  * Manages connection-specific data and controls the connection lifecycle.
43
43
  *
44
- * @see {@link https://rivet.gg/docs/connections|Connection Documentation}
44
+ * @see {@link https://rivet.dev/docs/connections|Connection Documentation}
45
45
  */
46
- export class Conn<S, CP, CS, V, I, AD, DB extends AnyDatabaseProvider> {
46
+ export class Conn<S, CP, CS, V, I, DB extends AnyDatabaseProvider> {
47
47
  subscriptions: Set<string> = new Set<string>();
48
48
 
49
49
  #stateEnabled: boolean;
50
50
 
51
51
  // TODO: Remove this cyclical reference
52
- #actor: ActorInstance<S, CP, CS, V, I, AD, DB>;
52
+ #actor: ActorInstance<S, CP, CS, V, I, DB>;
53
53
 
54
54
  #status: ConnectionStatus = "connected";
55
55
 
@@ -71,10 +71,6 @@ export class Conn<S, CP, CS, V, I, AD, DB extends AnyDatabaseProvider> {
71
71
  return this.__persist.params;
72
72
  }
73
73
 
74
- public get auth(): AD {
75
- return this.__persist.authData as AD;
76
- }
77
-
78
74
  public get driver(): ConnectionDriver {
79
75
  return this.__persist.connDriver as ConnectionDriver;
80
76
  }
@@ -140,7 +136,7 @@ export class Conn<S, CP, CS, V, I, AD, DB extends AnyDatabaseProvider> {
140
136
  * @protected
141
137
  */
142
138
  public constructor(
143
- actor: ActorInstance<S, CP, CS, V, I, AD, DB>,
139
+ actor: ActorInstance<S, CP, CS, V, I, DB>,
144
140
  persist: PersistedConn<CP, CS>,
145
141
  driver: ConnDriver,
146
142
  stateEnabled: boolean,
@@ -178,7 +174,7 @@ export class Conn<S, CP, CS, V, I, AD, DB extends AnyDatabaseProvider> {
178
174
  *
179
175
  * @param eventName - The name of the event.
180
176
  * @param args - The arguments for the event.
181
- * @see {@link https://rivet.gg/docs/events|Events Documentation}
177
+ * @see {@link https://rivet.dev/docs/events|Events Documentation}
182
178
  */
183
179
  public send(eventName: string, ...args: unknown[]) {
184
180
  this.#actor.inspector.emitter.emit("eventFired", {
@@ -235,7 +231,8 @@ export class Conn<S, CP, CS, V, I, AD, DB extends AnyDatabaseProvider> {
235
231
  const newLastSeen = Date.now();
236
232
  const newStatus = isConnectionClosed ? "reconnecting" : "connected";
237
233
 
238
- logger().debug("liveness probe for connection", {
234
+ this.#actor.rLog.debug({
235
+ msg: "liveness probe for connection",
239
236
  connId: this.id,
240
237
  actorId: this.#actor.id,
241
238
  readyState,
@@ -16,7 +16,6 @@ export class ActorContext<
16
16
  TConnState,
17
17
  TVars,
18
18
  TInput,
19
- TAuthData,
20
19
  TDatabase extends AnyDatabaseProvider,
21
20
  > {
22
21
  #actor: ActorInstance<
@@ -25,7 +24,6 @@ export class ActorContext<
25
24
  TConnState,
26
25
  TVars,
27
26
  TInput,
28
- TAuthData,
29
27
  TDatabase
30
28
  >;
31
29
 
@@ -36,7 +34,6 @@ export class ActorContext<
36
34
  TConnState,
37
35
  TVars,
38
36
  TInput,
39
- TAuthData,
40
37
  TDatabase
41
38
  >,
42
39
  ) {
@@ -114,7 +111,7 @@ export class ActorContext<
114
111
  */
115
112
  get conns(): Map<
116
113
  ConnId,
117
- Conn<TState, TConnParams, TConnState, TVars, TInput, TAuthData, TDatabase>
114
+ Conn<TState, TConnParams, TConnState, TVars, TInput, TDatabase>
118
115
  > {
119
116
  return this.#actor.conns;
120
117
  }
@@ -12,7 +12,6 @@ export type AnyActorDefinition = ActorDefinition<
12
12
  any,
13
13
  any,
14
14
  any,
15
- any,
16
15
  any
17
16
  >;
18
17
 
@@ -26,11 +25,10 @@ export type ActorContextOf<AD extends AnyActorDefinition> =
26
25
  infer CS,
27
26
  infer V,
28
27
  infer I,
29
- infer AD,
30
28
  infer DB,
31
29
  any
32
30
  >
33
- ? ActorContext<S, CP, CS, V, I, AD, DB>
31
+ ? ActorContext<S, CP, CS, V, I, DB>
34
32
  : never;
35
33
 
36
34
  /**
@@ -43,11 +41,10 @@ export type ActionContextOf<AD extends AnyActorDefinition> =
43
41
  infer CS,
44
42
  infer V,
45
43
  infer I,
46
- infer AD,
47
44
  infer DB,
48
45
  any
49
46
  >
50
- ? ActionContext<S, CP, CS, V, I, AD, DB>
47
+ ? ActionContext<S, CP, CS, V, I, DB>
51
48
  : never;
52
49
 
53
50
  export class ActorDefinition<
@@ -56,21 +53,20 @@ export class ActorDefinition<
56
53
  CS,
57
54
  V,
58
55
  I,
59
- AD,
60
56
  DB extends AnyDatabaseProvider,
61
- R extends Actions<S, CP, CS, V, I, AD, DB>,
57
+ R extends Actions<S, CP, CS, V, I, DB>,
62
58
  > {
63
- #config: ActorConfig<S, CP, CS, V, I, AD, DB>;
59
+ #config: ActorConfig<S, CP, CS, V, I, DB>;
64
60
 
65
- constructor(config: ActorConfig<S, CP, CS, V, I, AD, DB>) {
61
+ constructor(config: ActorConfig<S, CP, CS, V, I, DB>) {
66
62
  this.#config = config;
67
63
  }
68
64
 
69
- get config(): ActorConfig<S, CP, CS, V, I, AD, DB> {
65
+ get config(): ActorConfig<S, CP, CS, V, I, DB> {
70
66
  return this.#config;
71
67
  }
72
68
 
73
- instantiate(): ActorInstance<S, CP, CS, V, I, AD, DB> {
69
+ instantiate(): ActorInstance<S, CP, CS, V, I, DB> {
74
70
  return new ActorInstance(this.#config);
75
71
  }
76
72
  }