rivetkit 2.0.40 → 2.0.42

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 (94) hide show
  1. package/dist/tsup/actor/errors.cjs +2 -2
  2. package/dist/tsup/actor/errors.js +1 -1
  3. package/dist/tsup/chunk-2IJTYN6K.cjs +278 -0
  4. package/dist/tsup/chunk-2IJTYN6K.cjs.map +1 -0
  5. package/dist/tsup/{chunk-SNAUKDDK.cjs → chunk-2XQS746M.cjs} +4 -4
  6. package/dist/tsup/chunk-2XQS746M.cjs.map +1 -0
  7. package/dist/tsup/{chunk-D2HB4PM5.cjs → chunk-3VP5CSHV.cjs} +9 -9
  8. package/dist/tsup/{chunk-D2HB4PM5.cjs.map → chunk-3VP5CSHV.cjs.map} +1 -1
  9. package/dist/tsup/{chunk-J2R742IE.js → chunk-AQFSQMBG.js} +5 -5
  10. package/dist/tsup/{chunk-XCDGPOZT.cjs → chunk-EJVBH5VF.cjs} +3 -3
  11. package/dist/tsup/{chunk-XCDGPOZT.cjs.map → chunk-EJVBH5VF.cjs.map} +1 -1
  12. package/dist/tsup/{chunk-ZUMPCWKF.js → chunk-FJ3KTN4V.js} +15 -5
  13. package/dist/tsup/chunk-FJ3KTN4V.js.map +1 -0
  14. package/dist/tsup/{chunk-6NBNCWEC.cjs → chunk-GD7UXGOE.cjs} +269 -269
  15. package/dist/tsup/chunk-GD7UXGOE.cjs.map +1 -0
  16. package/dist/tsup/{chunk-KVB2SG32.js → chunk-GMAVRZSF.js} +10 -6
  17. package/dist/tsup/chunk-GMAVRZSF.js.map +1 -0
  18. package/dist/tsup/{chunk-HZOBB3KP.cjs → chunk-H4TB4X25.cjs} +20 -10
  19. package/dist/tsup/chunk-H4TB4X25.cjs.map +1 -0
  20. package/dist/tsup/{chunk-J6YRLC6K.js → chunk-JDAD2YFA.js} +19 -9
  21. package/dist/tsup/{chunk-J6YRLC6K.js.map → chunk-JDAD2YFA.js.map} +1 -1
  22. package/dist/tsup/{chunk-4T4UWXHN.js → chunk-KCOVZOPS.js} +5 -5
  23. package/dist/tsup/{chunk-2YHR67M4.js → chunk-LFVF5SCU.js} +4 -4
  24. package/dist/tsup/chunk-LFVF5SCU.js.map +1 -0
  25. package/dist/tsup/{chunk-XCRJ245S.js → chunk-Q6W7RJJP.js} +5 -5
  26. package/dist/tsup/chunk-Q6W7RJJP.js.map +1 -0
  27. package/dist/tsup/{chunk-FB4TVPDQ.cjs → chunk-RUW5CZ5Z.cjs} +49 -49
  28. package/dist/tsup/{chunk-FB4TVPDQ.cjs.map → chunk-RUW5CZ5Z.cjs.map} +1 -1
  29. package/dist/tsup/{chunk-4KNL47JA.cjs → chunk-RZW2DNND.cjs} +85 -81
  30. package/dist/tsup/chunk-RZW2DNND.cjs.map +1 -0
  31. package/dist/tsup/chunk-TCOEBUUE.js +278 -0
  32. package/dist/tsup/chunk-TCOEBUUE.js.map +1 -0
  33. package/dist/tsup/{chunk-B5BMSBR4.cjs → chunk-X35U3YNX.cjs} +110 -100
  34. package/dist/tsup/chunk-X35U3YNX.cjs.map +1 -0
  35. package/dist/tsup/{chunk-7Q7R3QYT.js → chunk-XXGJCOL6.js} +2 -2
  36. package/dist/tsup/client/mod.cjs +6 -6
  37. package/dist/tsup/client/mod.d.cts +2 -2
  38. package/dist/tsup/client/mod.d.ts +2 -2
  39. package/dist/tsup/client/mod.js +5 -5
  40. package/dist/tsup/common/log.cjs +3 -3
  41. package/dist/tsup/common/log.js +2 -2
  42. package/dist/tsup/common/websocket.cjs +4 -4
  43. package/dist/tsup/common/websocket.js +3 -3
  44. package/dist/tsup/{config-OR5ZtHFa.d.ts → config-CLnylLYY.d.ts} +9 -0
  45. package/dist/tsup/{config-cizn-tcF.d.cts → config-CZB2-W8x.d.cts} +9 -0
  46. package/dist/tsup/{driver-BrAG8ioa.d.ts → driver-D0QX9M11.d.ts} +1 -1
  47. package/dist/tsup/driver-helpers/mod.cjs +4 -4
  48. package/dist/tsup/driver-helpers/mod.d.cts +2 -2
  49. package/dist/tsup/driver-helpers/mod.d.ts +2 -2
  50. package/dist/tsup/driver-helpers/mod.js +3 -3
  51. package/dist/tsup/{driver-Bg4evbcN.d.cts → driver-q-zqG7fc.d.cts} +1 -1
  52. package/dist/tsup/driver-test-suite/mod.cjs +187 -448
  53. package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
  54. package/dist/tsup/driver-test-suite/mod.d.cts +2 -2
  55. package/dist/tsup/driver-test-suite/mod.d.ts +2 -2
  56. package/dist/tsup/driver-test-suite/mod.js +141 -402
  57. package/dist/tsup/driver-test-suite/mod.js.map +1 -1
  58. package/dist/tsup/mod.cjs +8 -8
  59. package/dist/tsup/mod.d.cts +4 -4
  60. package/dist/tsup/mod.d.ts +4 -4
  61. package/dist/tsup/mod.js +7 -7
  62. package/dist/tsup/serve-test-suite/mod.cjs +1499 -0
  63. package/dist/tsup/serve-test-suite/mod.cjs.map +1 -0
  64. package/dist/tsup/serve-test-suite/mod.d.cts +9 -0
  65. package/dist/tsup/serve-test-suite/mod.d.ts +9 -0
  66. package/dist/tsup/serve-test-suite/mod.js +1496 -0
  67. package/dist/tsup/serve-test-suite/mod.js.map +1 -0
  68. package/dist/tsup/test/mod.cjs +8 -8
  69. package/dist/tsup/test/mod.d.cts +1 -1
  70. package/dist/tsup/test/mod.d.ts +1 -1
  71. package/dist/tsup/test/mod.js +7 -7
  72. package/dist/tsup/utils.cjs +3 -3
  73. package/dist/tsup/utils.js +2 -2
  74. package/package.json +14 -4
  75. package/src/actor/errors.ts +4 -4
  76. package/src/common/router.ts +2 -0
  77. package/src/engine-process/mod.ts +8 -1
  78. package/src/registry/config/index.ts +1 -0
  79. package/src/registry/config/serverless.ts +2 -0
  80. package/src/remote-manager-driver/api-endpoints.ts +2 -0
  81. package/src/serve-test-suite/mod.ts +147 -0
  82. package/src/serverless/configure.ts +3 -0
  83. package/dist/tsup/chunk-2YHR67M4.js.map +0 -1
  84. package/dist/tsup/chunk-4KNL47JA.cjs.map +0 -1
  85. package/dist/tsup/chunk-6NBNCWEC.cjs.map +0 -1
  86. package/dist/tsup/chunk-B5BMSBR4.cjs.map +0 -1
  87. package/dist/tsup/chunk-HZOBB3KP.cjs.map +0 -1
  88. package/dist/tsup/chunk-KVB2SG32.js.map +0 -1
  89. package/dist/tsup/chunk-SNAUKDDK.cjs.map +0 -1
  90. package/dist/tsup/chunk-XCRJ245S.js.map +0 -1
  91. package/dist/tsup/chunk-ZUMPCWKF.js.map +0 -1
  92. /package/dist/tsup/{chunk-J2R742IE.js.map → chunk-AQFSQMBG.js.map} +0 -0
  93. /package/dist/tsup/{chunk-4T4UWXHN.js.map → chunk-KCOVZOPS.js.map} +0 -0
  94. /package/dist/tsup/{chunk-7Q7R3QYT.js.map → chunk-XXGJCOL6.js.map} +0 -0
@@ -37,7 +37,7 @@
37
37
 
38
38
 
39
39
 
40
- var _chunkSNAUKDDKcjs = require('../chunk-SNAUKDDK.cjs');
40
+ var _chunk2XQS746Mcjs = require('../chunk-2XQS746M.cjs');
41
41
  require('../chunk-GBENOENJ.cjs');
42
42
 
43
43
 
@@ -78,5 +78,5 @@ require('../chunk-GBENOENJ.cjs');
78
78
 
79
79
 
80
80
 
81
- exports.ActionNotFound = _chunkSNAUKDDKcjs.ActionNotFound; exports.ActionTimedOut = _chunkSNAUKDDKcjs.ActionTimedOut; exports.ActorDuplicateKey = _chunkSNAUKDDKcjs.ActorDuplicateKey; exports.ActorError = _chunkSNAUKDDKcjs.ActorError; exports.ActorNotFound = _chunkSNAUKDDKcjs.ActorNotFound; exports.ActorStopping = _chunkSNAUKDDKcjs.ActorStopping; exports.ConnStateNotEnabled = _chunkSNAUKDDKcjs.ConnStateNotEnabled; exports.DatabaseNotEnabled = _chunkSNAUKDDKcjs.DatabaseNotEnabled; exports.EndpointMismatch = _chunkSNAUKDDKcjs.EndpointMismatch; exports.FeatureNotImplemented = _chunkSNAUKDDKcjs.FeatureNotImplemented; exports.Forbidden = _chunkSNAUKDDKcjs.Forbidden; exports.INTERNAL_ERROR_CODE = _chunkSNAUKDDKcjs.INTERNAL_ERROR_CODE; exports.INTERNAL_ERROR_DESCRIPTION = _chunkSNAUKDDKcjs.INTERNAL_ERROR_DESCRIPTION; exports.IncomingMessageTooLong = _chunkSNAUKDDKcjs.IncomingMessageTooLong; exports.InternalError = _chunkSNAUKDDKcjs.InternalError; exports.InvalidActionRequest = _chunkSNAUKDDKcjs.InvalidActionRequest; exports.InvalidEncoding = _chunkSNAUKDDKcjs.InvalidEncoding; exports.InvalidParams = _chunkSNAUKDDKcjs.InvalidParams; exports.InvalidQueryJSON = _chunkSNAUKDDKcjs.InvalidQueryJSON; exports.InvalidRequest = _chunkSNAUKDDKcjs.InvalidRequest; exports.InvalidRequestHandlerResponse = _chunkSNAUKDDKcjs.InvalidRequestHandlerResponse; exports.InvalidStateType = _chunkSNAUKDDKcjs.InvalidStateType; exports.MalformedMessage = _chunkSNAUKDDKcjs.MalformedMessage; exports.MissingActorHeader = _chunkSNAUKDDKcjs.MissingActorHeader; exports.NamespaceMismatch = _chunkSNAUKDDKcjs.NamespaceMismatch; exports.OutgoingMessageTooLong = _chunkSNAUKDDKcjs.OutgoingMessageTooLong; exports.ProxyError = _chunkSNAUKDDKcjs.ProxyError; exports.RequestHandlerNotDefined = _chunkSNAUKDDKcjs.RequestHandlerNotDefined; exports.RestrictedFeature = _chunkSNAUKDDKcjs.RestrictedFeature; exports.RouteNotFound = _chunkSNAUKDDKcjs.RouteNotFound; exports.StateNotEnabled = _chunkSNAUKDDKcjs.StateNotEnabled; exports.USER_ERROR_CODE = _chunkSNAUKDDKcjs.USER_ERROR_CODE; exports.Unreachable = _chunkSNAUKDDKcjs.Unreachable; exports.Unsupported = _chunkSNAUKDDKcjs.Unsupported; exports.UserError = _chunkSNAUKDDKcjs.UserError; exports.VarsNotEnabled = _chunkSNAUKDDKcjs.VarsNotEnabled; exports.WebSocketHandlerNotDefined = _chunkSNAUKDDKcjs.WebSocketHandlerNotDefined; exports.WebSocketsNotEnabled = _chunkSNAUKDDKcjs.WebSocketsNotEnabled;
81
+ exports.ActionNotFound = _chunk2XQS746Mcjs.ActionNotFound; exports.ActionTimedOut = _chunk2XQS746Mcjs.ActionTimedOut; exports.ActorDuplicateKey = _chunk2XQS746Mcjs.ActorDuplicateKey; exports.ActorError = _chunk2XQS746Mcjs.ActorError; exports.ActorNotFound = _chunk2XQS746Mcjs.ActorNotFound; exports.ActorStopping = _chunk2XQS746Mcjs.ActorStopping; exports.ConnStateNotEnabled = _chunk2XQS746Mcjs.ConnStateNotEnabled; exports.DatabaseNotEnabled = _chunk2XQS746Mcjs.DatabaseNotEnabled; exports.EndpointMismatch = _chunk2XQS746Mcjs.EndpointMismatch; exports.FeatureNotImplemented = _chunk2XQS746Mcjs.FeatureNotImplemented; exports.Forbidden = _chunk2XQS746Mcjs.Forbidden; exports.INTERNAL_ERROR_CODE = _chunk2XQS746Mcjs.INTERNAL_ERROR_CODE; exports.INTERNAL_ERROR_DESCRIPTION = _chunk2XQS746Mcjs.INTERNAL_ERROR_DESCRIPTION; exports.IncomingMessageTooLong = _chunk2XQS746Mcjs.IncomingMessageTooLong; exports.InternalError = _chunk2XQS746Mcjs.InternalError; exports.InvalidActionRequest = _chunk2XQS746Mcjs.InvalidActionRequest; exports.InvalidEncoding = _chunk2XQS746Mcjs.InvalidEncoding; exports.InvalidParams = _chunk2XQS746Mcjs.InvalidParams; exports.InvalidQueryJSON = _chunk2XQS746Mcjs.InvalidQueryJSON; exports.InvalidRequest = _chunk2XQS746Mcjs.InvalidRequest; exports.InvalidRequestHandlerResponse = _chunk2XQS746Mcjs.InvalidRequestHandlerResponse; exports.InvalidStateType = _chunk2XQS746Mcjs.InvalidStateType; exports.MalformedMessage = _chunk2XQS746Mcjs.MalformedMessage; exports.MissingActorHeader = _chunk2XQS746Mcjs.MissingActorHeader; exports.NamespaceMismatch = _chunk2XQS746Mcjs.NamespaceMismatch; exports.OutgoingMessageTooLong = _chunk2XQS746Mcjs.OutgoingMessageTooLong; exports.ProxyError = _chunk2XQS746Mcjs.ProxyError; exports.RequestHandlerNotDefined = _chunk2XQS746Mcjs.RequestHandlerNotDefined; exports.RestrictedFeature = _chunk2XQS746Mcjs.RestrictedFeature; exports.RouteNotFound = _chunk2XQS746Mcjs.RouteNotFound; exports.StateNotEnabled = _chunk2XQS746Mcjs.StateNotEnabled; exports.USER_ERROR_CODE = _chunk2XQS746Mcjs.USER_ERROR_CODE; exports.Unreachable = _chunk2XQS746Mcjs.Unreachable; exports.Unsupported = _chunk2XQS746Mcjs.Unsupported; exports.UserError = _chunk2XQS746Mcjs.UserError; exports.VarsNotEnabled = _chunk2XQS746Mcjs.VarsNotEnabled; exports.WebSocketHandlerNotDefined = _chunk2XQS746Mcjs.WebSocketHandlerNotDefined; exports.WebSocketsNotEnabled = _chunk2XQS746Mcjs.WebSocketsNotEnabled;
82
82
  //# sourceMappingURL=errors.cjs.map
@@ -37,7 +37,7 @@ import {
37
37
  VarsNotEnabled,
38
38
  WebSocketHandlerNotDefined,
39
39
  WebSocketsNotEnabled
40
- } from "../chunk-2YHR67M4.js";
40
+ } from "../chunk-LFVF5SCU.js";
41
41
  export {
42
42
  ActionNotFound,
43
43
  ActionTimedOut,
@@ -0,0 +1,278 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ var _chunkX35U3YNXcjs = require('./chunk-X35U3YNX.cjs');
4
+
5
+
6
+
7
+ var _chunkH4TB4X25cjs = require('./chunk-H4TB4X25.cjs');
8
+
9
+ // src/driver-test-suite/log.ts
10
+ function logger() {
11
+ return _chunkH4TB4X25cjs.getLogger.call(void 0, "test-suite");
12
+ }
13
+
14
+ // fixtures/driver-test-suite/hibernation.ts
15
+ var HIBERNATION_SLEEP_TIMEOUT = 500;
16
+ var hibernationActor = _chunkX35U3YNXcjs.actor.call(void 0, {
17
+ state: {
18
+ sleepCount: 0,
19
+ wakeCount: 0
20
+ },
21
+ createConnState: (c) => {
22
+ return {
23
+ count: 0,
24
+ connectCount: 0,
25
+ disconnectCount: 0
26
+ };
27
+ },
28
+ onWake: (c) => {
29
+ c.state.wakeCount += 1;
30
+ },
31
+ onSleep: (c) => {
32
+ c.state.sleepCount += 1;
33
+ },
34
+ onConnect: (c, conn) => {
35
+ conn.state.connectCount += 1;
36
+ },
37
+ onDisconnect: (c, conn) => {
38
+ conn.state.disconnectCount += 1;
39
+ },
40
+ actions: {
41
+ // Basic RPC that returns a simple value
42
+ ping: (c) => {
43
+ return "pong";
44
+ },
45
+ // Increment the connection's count
46
+ connIncrement: (c) => {
47
+ c.conn.state.count += 1;
48
+ return c.conn.state.count;
49
+ },
50
+ // Get the connection's count
51
+ getConnCount: (c) => {
52
+ return c.conn.state.count;
53
+ },
54
+ // Get the connection's lifecycle counts
55
+ getConnLifecycleCounts: (c) => {
56
+ return {
57
+ connectCount: c.conn.state.connectCount,
58
+ disconnectCount: c.conn.state.disconnectCount
59
+ };
60
+ },
61
+ // Get all connection IDs
62
+ getConnectionIds: (c) => {
63
+ return c.conns.entries().map((x) => x[0]).toArray();
64
+ },
65
+ // Get actor sleep/wake counts
66
+ getActorCounts: (c) => {
67
+ return {
68
+ sleepCount: c.state.sleepCount,
69
+ wakeCount: c.state.wakeCount
70
+ };
71
+ },
72
+ // Trigger sleep
73
+ triggerSleep: (c) => {
74
+ c.sleep();
75
+ }
76
+ },
77
+ options: {
78
+ sleepTimeout: HIBERNATION_SLEEP_TIMEOUT
79
+ }
80
+ });
81
+
82
+ // fixtures/driver-test-suite/sleep.ts
83
+ var SLEEP_TIMEOUT = 1e3;
84
+ var sleep = _chunkX35U3YNXcjs.actor.call(void 0, {
85
+ state: { startCount: 0, sleepCount: 0 },
86
+ onWake: (c) => {
87
+ c.state.startCount += 1;
88
+ },
89
+ onSleep: (c) => {
90
+ c.state.sleepCount += 1;
91
+ },
92
+ actions: {
93
+ triggerSleep: (c) => {
94
+ c.sleep();
95
+ },
96
+ getCounts: (c) => {
97
+ return {
98
+ startCount: c.state.startCount,
99
+ sleepCount: c.state.sleepCount
100
+ };
101
+ },
102
+ setAlarm: async (c, duration) => {
103
+ await c.schedule.after(duration, "onAlarm");
104
+ },
105
+ onAlarm: (c) => {
106
+ c.log.info("alarm called");
107
+ }
108
+ },
109
+ options: {
110
+ sleepTimeout: SLEEP_TIMEOUT
111
+ }
112
+ });
113
+ var sleepWithLongRpc = _chunkX35U3YNXcjs.actor.call(void 0, {
114
+ state: { startCount: 0, sleepCount: 0 },
115
+ createVars: () => ({}),
116
+ onWake: (c) => {
117
+ c.state.startCount += 1;
118
+ },
119
+ onSleep: (c) => {
120
+ c.state.sleepCount += 1;
121
+ },
122
+ actions: {
123
+ getCounts: (c) => {
124
+ return {
125
+ startCount: c.state.startCount,
126
+ sleepCount: c.state.sleepCount
127
+ };
128
+ },
129
+ longRunningRpc: async (c) => {
130
+ c.log.info("starting long running rpc");
131
+ c.vars.longRunningResolve = _chunkH4TB4X25cjs.promiseWithResolvers.call(void 0, );
132
+ c.broadcast("waiting");
133
+ await c.vars.longRunningResolve.promise;
134
+ c.log.info("finished long running rpc");
135
+ },
136
+ finishLongRunningRpc: (c) => {
137
+ var _a;
138
+ return (_a = c.vars.longRunningResolve) == null ? void 0 : _a.resolve();
139
+ }
140
+ },
141
+ options: {
142
+ sleepTimeout: SLEEP_TIMEOUT
143
+ }
144
+ });
145
+ var sleepWithRawHttp = _chunkX35U3YNXcjs.actor.call(void 0, {
146
+ state: { startCount: 0, sleepCount: 0, requestCount: 0 },
147
+ onWake: (c) => {
148
+ c.state.startCount += 1;
149
+ },
150
+ onSleep: (c) => {
151
+ c.state.sleepCount += 1;
152
+ },
153
+ onRequest: async (c, request) => {
154
+ c.state.requestCount += 1;
155
+ const url = new URL(request.url);
156
+ if (url.pathname === "/long-request") {
157
+ const duration = parseInt(
158
+ url.searchParams.get("duration") || "1000"
159
+ );
160
+ c.log.info({ msg: "starting long fetch request", duration });
161
+ await new Promise((resolve) => setTimeout(resolve, duration));
162
+ c.log.info("finished long fetch request");
163
+ return new Response(JSON.stringify({ completed: true }), {
164
+ headers: { "Content-Type": "application/json" }
165
+ });
166
+ }
167
+ return new Response("Not Found", { status: 404 });
168
+ },
169
+ actions: {
170
+ getCounts: (c) => {
171
+ return {
172
+ startCount: c.state.startCount,
173
+ sleepCount: c.state.sleepCount,
174
+ requestCount: c.state.requestCount
175
+ };
176
+ }
177
+ },
178
+ options: {
179
+ sleepTimeout: SLEEP_TIMEOUT
180
+ }
181
+ });
182
+ var sleepWithRawWebSocket = _chunkX35U3YNXcjs.actor.call(void 0, {
183
+ state: { startCount: 0, sleepCount: 0, connectionCount: 0 },
184
+ onWake: (c) => {
185
+ c.state.startCount += 1;
186
+ },
187
+ onSleep: (c) => {
188
+ c.state.sleepCount += 1;
189
+ },
190
+ onWebSocket: (c, websocket) => {
191
+ c.state.connectionCount += 1;
192
+ c.log.info({
193
+ msg: "websocket connected",
194
+ connectionCount: c.state.connectionCount
195
+ });
196
+ websocket.send(
197
+ JSON.stringify({
198
+ type: "connected",
199
+ connectionCount: c.state.connectionCount
200
+ })
201
+ );
202
+ websocket.addEventListener("message", (event) => {
203
+ const data = event.data;
204
+ if (typeof data === "string") {
205
+ try {
206
+ const parsed = JSON.parse(data);
207
+ if (parsed.type === "getCounts") {
208
+ websocket.send(
209
+ JSON.stringify({
210
+ type: "counts",
211
+ startCount: c.state.startCount,
212
+ sleepCount: c.state.sleepCount,
213
+ connectionCount: c.state.connectionCount
214
+ })
215
+ );
216
+ } else if (parsed.type === "keepAlive") {
217
+ websocket.send(JSON.stringify({ type: "ack" }));
218
+ }
219
+ } catch (e) {
220
+ websocket.send(data);
221
+ }
222
+ }
223
+ });
224
+ websocket.addEventListener("close", () => {
225
+ c.state.connectionCount -= 1;
226
+ c.log.info({
227
+ msg: "websocket disconnected",
228
+ connectionCount: c.state.connectionCount
229
+ });
230
+ });
231
+ },
232
+ actions: {
233
+ getCounts: (c) => {
234
+ return {
235
+ startCount: c.state.startCount,
236
+ sleepCount: c.state.sleepCount,
237
+ connectionCount: c.state.connectionCount
238
+ };
239
+ }
240
+ },
241
+ options: {
242
+ sleepTimeout: SLEEP_TIMEOUT
243
+ }
244
+ });
245
+ var sleepWithNoSleepOption = _chunkX35U3YNXcjs.actor.call(void 0, {
246
+ state: { startCount: 0, sleepCount: 0 },
247
+ onWake: (c) => {
248
+ c.state.startCount += 1;
249
+ },
250
+ onSleep: (c) => {
251
+ c.state.sleepCount += 1;
252
+ },
253
+ actions: {
254
+ getCounts: (c) => {
255
+ return {
256
+ startCount: c.state.startCount,
257
+ sleepCount: c.state.sleepCount
258
+ };
259
+ }
260
+ },
261
+ options: {
262
+ sleepTimeout: SLEEP_TIMEOUT,
263
+ noSleep: true
264
+ }
265
+ });
266
+
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+ exports.logger = logger; exports.HIBERNATION_SLEEP_TIMEOUT = HIBERNATION_SLEEP_TIMEOUT; exports.hibernationActor = hibernationActor; exports.SLEEP_TIMEOUT = SLEEP_TIMEOUT; exports.sleep = sleep; exports.sleepWithLongRpc = sleepWithLongRpc; exports.sleepWithRawHttp = sleepWithRawHttp; exports.sleepWithRawWebSocket = sleepWithRawWebSocket; exports.sleepWithNoSleepOption = sleepWithNoSleepOption;
278
+ //# sourceMappingURL=chunk-2IJTYN6K.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-2IJTYN6K.cjs","../../src/driver-test-suite/log.ts","../../fixtures/driver-test-suite/hibernation.ts","../../fixtures/driver-test-suite/sleep.ts"],"names":[],"mappings":"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","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-2IJTYN6K.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"test-suite\");\n}\n","import { actor } from \"rivetkit\";\n\nexport const HIBERNATION_SLEEP_TIMEOUT = 500;\n\nexport type HibernationConnState = {\n\tcount: number;\n\tconnectCount: number;\n\tdisconnectCount: number;\n};\n\nexport const hibernationActor = actor({\n\tstate: {\n\t\tsleepCount: 0,\n\t\twakeCount: 0,\n\t},\n\tcreateConnState: (c): HibernationConnState => {\n\t\treturn {\n\t\t\tcount: 0,\n\t\t\tconnectCount: 0,\n\t\t\tdisconnectCount: 0,\n\t\t};\n\t},\n\tonWake: (c) => {\n\t\tc.state.wakeCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tonConnect: (c, conn) => {\n\t\tconn.state.connectCount += 1;\n\t},\n\tonDisconnect: (c, conn) => {\n\t\tconn.state.disconnectCount += 1;\n\t},\n\tactions: {\n\t\t// Basic RPC that returns a simple value\n\t\tping: (c) => {\n\t\t\treturn \"pong\";\n\t\t},\n\t\t// Increment the connection's count\n\t\tconnIncrement: (c) => {\n\t\t\tc.conn.state.count += 1;\n\t\t\treturn c.conn.state.count;\n\t\t},\n\t\t// Get the connection's count\n\t\tgetConnCount: (c) => {\n\t\t\treturn c.conn.state.count;\n\t\t},\n\t\t// Get the connection's lifecycle counts\n\t\tgetConnLifecycleCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tconnectCount: c.conn.state.connectCount,\n\t\t\t\tdisconnectCount: c.conn.state.disconnectCount,\n\t\t\t};\n\t\t},\n\t\t// Get all connection IDs\n\t\tgetConnectionIds: (c) => {\n\t\t\treturn c.conns\n\t\t\t\t.entries()\n\t\t\t\t.map((x) => x[0])\n\t\t\t\t.toArray();\n\t\t},\n\t\t// Get actor sleep/wake counts\n\t\tgetActorCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t\twakeCount: c.state.wakeCount,\n\t\t\t};\n\t\t},\n\t\t// Trigger sleep\n\t\ttriggerSleep: (c) => {\n\t\t\tc.sleep();\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: HIBERNATION_SLEEP_TIMEOUT,\n\t},\n});\n","import { actor, type UniversalWebSocket } from \"rivetkit\";\nimport { promiseWithResolvers } from \"rivetkit/utils\";\n\nexport const SLEEP_TIMEOUT = 1000;\n\nexport const sleep = actor({\n\tstate: { startCount: 0, sleepCount: 0 },\n\tonWake: (c) => {\n\t\tc.state.startCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tactions: {\n\t\ttriggerSleep: (c) => {\n\t\t\tc.sleep();\n\t\t},\n\t\tgetCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t};\n\t\t},\n\t\tsetAlarm: async (c, duration: number) => {\n\t\t\tawait c.schedule.after(duration, \"onAlarm\");\n\t\t},\n\t\tonAlarm: (c) => {\n\t\t\tc.log.info(\"alarm called\");\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: SLEEP_TIMEOUT,\n\t},\n});\n\nexport const sleepWithLongRpc = actor({\n\tstate: { startCount: 0, sleepCount: 0 },\n\tcreateVars: () =>\n\t\t({}) as { longRunningResolve: PromiseWithResolvers<void> },\n\tonWake: (c) => {\n\t\tc.state.startCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tactions: {\n\t\tgetCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t};\n\t\t},\n\t\tlongRunningRpc: async (c) => {\n\t\t\tc.log.info(\"starting long running rpc\");\n\t\t\tc.vars.longRunningResolve = promiseWithResolvers();\n\t\t\tc.broadcast(\"waiting\");\n\t\t\tawait c.vars.longRunningResolve.promise;\n\t\t\tc.log.info(\"finished long running rpc\");\n\t\t},\n\t\tfinishLongRunningRpc: (c) => c.vars.longRunningResolve?.resolve(),\n\t},\n\toptions: {\n\t\tsleepTimeout: SLEEP_TIMEOUT,\n\t},\n});\n\nexport const sleepWithRawHttp = actor({\n\tstate: { startCount: 0, sleepCount: 0, requestCount: 0 },\n\tonWake: (c) => {\n\t\tc.state.startCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tonRequest: async (c, request) => {\n\t\tc.state.requestCount += 1;\n\t\tconst url = new URL(request.url);\n\n\t\tif (url.pathname === \"/long-request\") {\n\t\t\tconst duration = parseInt(\n\t\t\t\turl.searchParams.get(\"duration\") || \"1000\",\n\t\t\t);\n\t\t\tc.log.info({ msg: \"starting long fetch request\", duration });\n\t\t\tawait new Promise((resolve) => setTimeout(resolve, duration));\n\t\t\tc.log.info(\"finished long fetch request\");\n\t\t\treturn new Response(JSON.stringify({ completed: true }), {\n\t\t\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\t\t});\n\t\t}\n\n\t\treturn new Response(\"Not Found\", { status: 404 });\n\t},\n\tactions: {\n\t\tgetCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t\trequestCount: c.state.requestCount,\n\t\t\t};\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: SLEEP_TIMEOUT,\n\t},\n});\n\nexport const sleepWithRawWebSocket = actor({\n\tstate: { startCount: 0, sleepCount: 0, connectionCount: 0 },\n\tonWake: (c) => {\n\t\tc.state.startCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tonWebSocket: (c, websocket: UniversalWebSocket) => {\n\t\tc.state.connectionCount += 1;\n\t\tc.log.info({\n\t\t\tmsg: \"websocket connected\",\n\t\t\tconnectionCount: c.state.connectionCount,\n\t\t});\n\n\t\twebsocket.send(\n\t\t\tJSON.stringify({\n\t\t\t\ttype: \"connected\",\n\t\t\t\tconnectionCount: c.state.connectionCount,\n\t\t\t}),\n\t\t);\n\n\t\twebsocket.addEventListener(\"message\", (event: any) => {\n\t\t\tconst data = event.data;\n\t\t\tif (typeof data === \"string\") {\n\t\t\t\ttry {\n\t\t\t\t\tconst parsed = JSON.parse(data);\n\t\t\t\t\tif (parsed.type === \"getCounts\") {\n\t\t\t\t\t\twebsocket.send(\n\t\t\t\t\t\t\tJSON.stringify({\n\t\t\t\t\t\t\t\ttype: \"counts\",\n\t\t\t\t\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\t\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t\t\t\t\t\tconnectionCount: c.state.connectionCount,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t);\n\t\t\t\t\t} else if (parsed.type === \"keepAlive\") {\n\t\t\t\t\t\t// Just acknowledge to keep connection alive\n\t\t\t\t\t\twebsocket.send(JSON.stringify({ type: \"ack\" }));\n\t\t\t\t\t}\n\t\t\t\t} catch {\n\t\t\t\t\t// Echo non-JSON messages\n\t\t\t\t\twebsocket.send(data);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\twebsocket.addEventListener(\"close\", () => {\n\t\t\tc.state.connectionCount -= 1;\n\t\t\tc.log.info({\n\t\t\t\tmsg: \"websocket disconnected\",\n\t\t\t\tconnectionCount: c.state.connectionCount,\n\t\t\t});\n\t\t});\n\t},\n\tactions: {\n\t\tgetCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t\tconnectionCount: c.state.connectionCount,\n\t\t\t};\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: SLEEP_TIMEOUT,\n\t},\n});\n\nexport const sleepWithNoSleepOption = actor({\n\tstate: { startCount: 0, sleepCount: 0 },\n\tonWake: (c) => {\n\t\tc.state.startCount += 1;\n\t},\n\tonSleep: (c) => {\n\t\tc.state.sleepCount += 1;\n\t},\n\tactions: {\n\t\tgetCounts: (c) => {\n\t\t\treturn {\n\t\t\t\tstartCount: c.state.startCount,\n\t\t\t\tsleepCount: c.state.sleepCount,\n\t\t\t};\n\t\t},\n\t},\n\toptions: {\n\t\tsleepTimeout: SLEEP_TIMEOUT,\n\t\tnoSleep: true,\n\t},\n});\n"]}
@@ -88,7 +88,7 @@ var InvalidEncoding = class extends ActorError {
88
88
  super(
89
89
  "encoding",
90
90
  "invalid",
91
- `Invalid encoding \`${format}\`. (https://www.rivet.dev/docs/actors/clients/#actor-client)`,
91
+ `Invalid encoding \`${format}\`. (https://www.rivet.dev/docs/clients/javascript)`,
92
92
  {
93
93
  public: true
94
94
  }
@@ -175,7 +175,7 @@ var ActorNotFound = class extends ActorError {
175
175
  super(
176
176
  "actor",
177
177
  "not_found",
178
- identifier ? `Actor not found: ${identifier} (https://www.rivet.dev/docs/actors/clients/#actor-client)` : "Actor not found (https://www.rivet.dev/docs/actors/clients/#actor-client)",
178
+ identifier ? `Actor not found: ${identifier} (https://www.rivet.dev/docs/clients/javascript)` : "Actor not found (https://www.rivet.dev/docs/clients/javascript)",
179
179
  { public: true }
180
180
  );
181
181
  }
@@ -185,7 +185,7 @@ var ActorDuplicateKey = class extends ActorError {
185
185
  super(
186
186
  "actor",
187
187
  "duplicate_key",
188
- `Actor already exists with name '${name}' and key '${JSON.stringify(key)}' (https://www.rivet.dev/docs/actors/clients/#actor-client)`,
188
+ `Actor already exists with name '${name}' and key '${JSON.stringify(key)}' (https://www.rivet.dev/docs/clients/javascript)`,
189
189
  { public: true }
190
190
  );
191
191
  }
@@ -381,4 +381,4 @@ var NamespaceMismatch = class extends ActorError {
381
381
 
382
382
 
383
383
  exports.INTERNAL_ERROR_CODE = INTERNAL_ERROR_CODE; exports.INTERNAL_ERROR_DESCRIPTION = INTERNAL_ERROR_DESCRIPTION; exports.USER_ERROR_CODE = USER_ERROR_CODE; exports.ActorError = ActorError; exports.InternalError = InternalError; exports.Unreachable = Unreachable; exports.StateNotEnabled = StateNotEnabled; exports.ConnStateNotEnabled = ConnStateNotEnabled; exports.VarsNotEnabled = VarsNotEnabled; exports.ActionTimedOut = ActionTimedOut; exports.ActionNotFound = ActionNotFound; exports.InvalidEncoding = InvalidEncoding; exports.IncomingMessageTooLong = IncomingMessageTooLong; exports.OutgoingMessageTooLong = OutgoingMessageTooLong; exports.MalformedMessage = MalformedMessage; exports.InvalidStateType = InvalidStateType; exports.Unsupported = Unsupported; exports.UserError = UserError; exports.InvalidQueryJSON = InvalidQueryJSON; exports.InvalidRequest = InvalidRequest; exports.ActorNotFound = ActorNotFound; exports.ActorDuplicateKey = ActorDuplicateKey; exports.ActorStopping = ActorStopping; exports.ProxyError = ProxyError; exports.InvalidActionRequest = InvalidActionRequest; exports.InvalidParams = InvalidParams; exports.DatabaseNotEnabled = DatabaseNotEnabled; exports.RequestHandlerNotDefined = RequestHandlerNotDefined; exports.WebSocketHandlerNotDefined = WebSocketHandlerNotDefined; exports.InvalidRequestHandlerResponse = InvalidRequestHandlerResponse; exports.MissingActorHeader = MissingActorHeader; exports.WebSocketsNotEnabled = WebSocketsNotEnabled; exports.FeatureNotImplemented = FeatureNotImplemented; exports.RouteNotFound = RouteNotFound; exports.RestrictedFeature = RestrictedFeature; exports.Forbidden = Forbidden; exports.EndpointMismatch = EndpointMismatch; exports.NamespaceMismatch = NamespaceMismatch;
384
- //# sourceMappingURL=chunk-SNAUKDDK.cjs.map
384
+ //# sourceMappingURL=chunk-2XQS746M.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-2XQS746M.cjs","../../src/actor/errors.ts"],"names":[],"mappings":"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A;AACe,IAAA;AACV,IAAA;AACnB,EAAA;AACD;AAEO;AACuB,EAAA;AAC5B,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AACe,MAAA;AAChB,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAE+B;AAChB,EAAA;AACc,IAAA;AACT,IAAA;AACnB,EAAA;AACD;AAEO;AACwB,EAAA;AAC7B,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AAC0B,MAAA;AAC3B,IAAA;AACkB,IAAA;AACnB,EAAA;AACD;AAEO;AACwB,EAAA;AAC7B,IAAA;AACC,MAAA;AACA,MAAA;AACA,MAAA;AAC0B,MAAA;AAC3B,IAAA;AACkB,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;AACA;AACA","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-2XQS746M.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/clients/javascript)`,\n\t\t\t{\n\t\t\t\tpublic: true,\n\t\t\t},\n\t\t);\n\t}\n}\n\nexport class IncomingMessageTooLong extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"message\",\n\t\t\t\"incoming_too_long\",\n\t\t\t\"Incoming 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 OutgoingMessageTooLong extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"message\",\n\t\t\t\"outgoing_too_long\",\n\t\t\t\"Outgoing message too long. This can be configured with: `registry.start({ maxOutgoingMessageSize: ... })`\",\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/clients/javascript)`\n\t\t\t\t: \"Actor not found (https://www.rivet.dev/docs/clients/javascript)\",\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class ActorDuplicateKey extends ActorError {\n\tconstructor(name: string, key: string[]) {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"duplicate_key\",\n\t\t\t`Actor already exists with name '${name}' and key '${JSON.stringify(key)}' (https://www.rivet.dev/docs/clients/javascript)`,\n\t\t\t{ public: true },\n\t\t);\n\t}\n}\n\nexport class ActorStopping extends ActorError {\n\tconstructor(identifier?: string) {\n\t\tsuper(\n\t\t\t\"actor\",\n\t\t\t\"stopping\",\n\t\t\tidentifier ? `Actor stopping: ${identifier}` : \"Actor stopping\",\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 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 RequestHandlerNotDefined extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"handler\",\n\t\t\t\"request_not_defined\",\n\t\t\t\"Raw request handler not defined. Actor must implement `onRequest` 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 InvalidRequestHandlerResponse extends ActorError {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"handler\",\n\t\t\t\"invalid_request_handler_response\",\n\t\t\t\"Actor's onRequest 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\nexport class RestrictedFeature extends ActorError {\n\tconstructor(feature: string) {\n\t\tsuper(\n\t\t\t\"feature\",\n\t\t\t\"restricted\",\n\t\t\t`Run this actor locally or set the token in run config to use the ${feature}`,\n\t\t\t{ public: true },\n\t\t);\n\t\tthis.statusCode = 403;\n\t}\n}\n\nexport class Forbidden extends ActorError {\n\tconstructor() {\n\t\tsuper(\"auth\", \"forbidden\", \"Forbidden\", { public: true });\n\t\tthis.statusCode = 403;\n\t}\n}\n\nexport class EndpointMismatch extends ActorError {\n\tconstructor(expected: string, received: string) {\n\t\tsuper(\n\t\t\t\"config\",\n\t\t\t\"endpoint_mismatch\",\n\t\t\t`Endpoint mismatch: expected \"${expected}\", received \"${received}\"`,\n\t\t\t{ public: true, metadata: { expected, received } },\n\t\t);\n\t\tthis.statusCode = 400;\n\t}\n}\n\nexport class NamespaceMismatch extends ActorError {\n\tconstructor(expected: string, received: string) {\n\t\tsuper(\n\t\t\t\"config\",\n\t\t\t\"namespace_mismatch\",\n\t\t\t`Namespace mismatch: expected \"${expected}\", received \"${received}\"`,\n\t\t\t{ public: true, metadata: { expected, received } },\n\t\t);\n\t\tthis.statusCode = 400;\n\t}\n}\n"]}
@@ -1,15 +1,15 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2
2
 
3
- var _chunkFB4TVPDQcjs = require('./chunk-FB4TVPDQ.cjs');
3
+ var _chunkRUW5CZ5Zcjs = require('./chunk-RUW5CZ5Z.cjs');
4
4
 
5
5
 
6
- var _chunk6NBNCWECcjs = require('./chunk-6NBNCWEC.cjs');
6
+ var _chunkGD7UXGOEcjs = require('./chunk-GD7UXGOE.cjs');
7
7
 
8
8
 
9
- var _chunk4KNL47JAcjs = require('./chunk-4KNL47JA.cjs');
9
+ var _chunkRZW2DNNDcjs = require('./chunk-RZW2DNND.cjs');
10
10
 
11
11
 
12
- var _chunkHZOBB3KPcjs = require('./chunk-HZOBB3KP.cjs');
12
+ var _chunkH4TB4X25cjs = require('./chunk-H4TB4X25.cjs');
13
13
 
14
14
  // src/test/mod.ts
15
15
  var _net = require('net');
@@ -19,14 +19,14 @@ var _invariant = require('invariant'); var _invariant2 = _interopRequireDefault(
19
19
 
20
20
  // src/test/log.ts
21
21
  function logger() {
22
- return _chunkHZOBB3KPcjs.getLogger.call(void 0, "test");
22
+ return _chunkH4TB4X25cjs.getLogger.call(void 0, "test");
23
23
  }
24
24
 
25
25
  // src/test/mod.ts
26
26
  async function setupTest(c, registry) {
27
27
  var _a;
28
28
  registry.config.test = { ...registry.config.test, enabled: true };
29
- const driver = await _chunkFB4TVPDQcjs.createFileSystemOrMemoryDriver.call(void 0,
29
+ const driver = await _chunkRUW5CZ5Zcjs.createFileSystemOrMemoryDriver.call(void 0,
30
30
  true,
31
31
  `/tmp/rivetkit-test-${crypto.randomUUID()}`
32
32
  );
@@ -39,7 +39,7 @@ async function setupTest(c, registry) {
39
39
  const parsedConfig = registry.parseConfig();
40
40
  const managerDriver = (_a = driver.manager) == null ? void 0 : _a.call(driver, parsedConfig);
41
41
  _invariant2.default.call(void 0, managerDriver, "missing manager driver");
42
- const { router } = _chunk4KNL47JAcjs.buildManagerRouter.call(void 0,
42
+ const { router } = _chunkRZW2DNNDcjs.buildManagerRouter.call(void 0,
43
43
  parsedConfig,
44
44
  managerDriver,
45
45
  () => upgradeWebSocket
@@ -62,7 +62,7 @@ async function setupTest(c, registry) {
62
62
  c.onTestFinished(async () => {
63
63
  await new Promise((resolve) => server.close(() => resolve(void 0)));
64
64
  });
65
- const client = _chunk6NBNCWECcjs.createClient.call(void 0, {
65
+ const client = _chunkGD7UXGOEcjs.createClient.call(void 0, {
66
66
  endpoint,
67
67
  namespace: "default",
68
68
  runnerName: "default"
@@ -111,4 +111,4 @@ async function getPort() {
111
111
 
112
112
 
113
113
  exports.setupTest = setupTest; exports.getPort = getPort;
114
- //# sourceMappingURL=chunk-D2HB4PM5.cjs.map
114
+ //# sourceMappingURL=chunk-3VP5CSHV.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-D2HB4PM5.cjs","../../src/test/mod.ts","../../src/test/log.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACbA,0BAA6B;AAC7B,+CAAmC;AACnC,uCAAoC;AACpC,4FAAsB;ADetB;AACA;AEjBO,SAAS,MAAA,CAAA,EAAS;AACxB,EAAA,OAAO,yCAAA,MAAgB,CAAA;AACxB;AFmBA;AACA;ACNA,MAAA,SAAsB,SAAA,CACrB,CAAA,EACA,QAAA,EAC8B;AArB/B,EAAA,IAAA,EAAA;AAuBC,EAAA,QAAA,CAAS,MAAA,CAAO,KAAA,EAAO,EAAE,GAAG,QAAA,CAAS,MAAA,CAAO,IAAA,EAAM,OAAA,EAAS,KAAK,CAAA;AAGhE,EAAA,MAAM,OAAA,EAAS,MAAM,8DAAA;AAAA,IACpB,IAAA;AAAA,IACA,CAAA,mBAAA,EAAsB,MAAA,CAAO,UAAA,CAAW,CAAC,CAAA;AAAA,EAAA;AAK1C,EAAA;AACA,EAAA;AACA,EAAA;AAA4B,IAAA;AAClB,IAAA;AACI,EAAA;AAId,EAAA;AACA,EAAA;AACA,EAAA;AAKA,EAAA;AAAmB,IAAA;AAClB,IAAA;AACA,IAAA;AACM,EAAA;AAIP,EAAA;AACA,EAAA;AAIA,EAAA;AACA,EAAA;AAAyB,IAAA;AACV,IAAA;AACJ,IAAA;AACV,EAAA;AAED,EAAA;AAAA,IAAA;AACmC,IAAA;AAClC,EAAA;AAED,EAAA;AACA,EAAA;AAEA,EAAA;AAGA,EAAA;AACC,IAAA;AAAqE,EAAA;AAItE,EAAA;AAA+B,IAAA;AAC9B,IAAA;AACW,IAAA;AACC,EAAA;AAEb,EAAA;AAEA,EAAA;AACD;AAEA;AAEC,EAAA;AACA,EAAA;AACA,EAAA;AAGA,EAAA;AACA,EAAA;AAEA,EAAA;AACC,IAAA;AAEC,MAAA;AACC,QAAA;AAEA,QAAA;AACC,UAAA;AACC,YAAA;AAA0C,UAAA;AAE1C,YAAA;AAAU,UAAA;AACX,QAAA;AAGD,QAAA;AACC,UAAA;AAAc,QAAA;AAGf,QAAA;AAAkB,MAAA;AAInB,MAAA;AACC,QAAA;AAA4B,MAAA;AAG7B,MAAA;AAAO,IAAA;AAGP,MAAA;AACA,MAAA;AACC,QAAA;AAAA,MAAA;AAED,MAAA;AAAqB,IAAA;AACtB,EAAA;AAGD,EAAA;AACD;AD/BA;AACA;AACA;AACA;AACA","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-D2HB4PM5.cjs","sourcesContent":[null,"import { createServer } from \"node:net\";\nimport { serve as honoServe } from \"@hono/node-server\";\nimport { createNodeWebSocket } from \"@hono/node-ws\";\nimport invariant from \"invariant\";\nimport { type TestContext, vi } from \"vitest\";\nimport { ClientConfigSchema } from \"@/client/config\";\nimport { type Client, createClient } from \"@/client/mod\";\nimport { createFileSystemOrMemoryDriver } from \"@/drivers/file-system/mod\";\nimport { createClientWithDriver, type Registry } from \"@/mod\";\nimport { RegistryConfig, RegistryConfigSchema } from \"@/registry/config\";\nimport { buildManagerRouter } from \"@/manager/router\";\nimport { logger } from \"./log\";\n\nexport interface SetupTestResult<A extends Registry<any>> {\n\tclient: Client<A>;\n}\n\n// Must use `TestContext` since global hooks do not work when running concurrently\nexport async function setupTest<A extends Registry<any>>(\n\tc: TestContext,\n\tregistry: A,\n): Promise<SetupTestResult<A>> {\n\t// Force enable test mode\n\tregistry.config.test = { ...registry.config.test, enabled: true };\n\n\t// Create driver\n\tconst driver = await createFileSystemOrMemoryDriver(\n\t\ttrue,\n\t\t`/tmp/rivetkit-test-${crypto.randomUUID()}`,\n\t);\n\n\t// Build driver config\n\t// biome-ignore lint/style/useConst: Assigned later\n\tlet upgradeWebSocket: any;\n\tregistry.config.driver = driver;\n\tregistry.config.inspector = {\n\t\tenabled: true,\n\t\ttoken: () => \"token\",\n\t};\n\n\t// Create router\n\tconst parsedConfig = registry.parseConfig();\n\tconst managerDriver = driver.manager?.(parsedConfig);\n\tinvariant(managerDriver, \"missing manager driver\");\n\t// const internalClient = createClientWithDriver(\n\t// \tmanagerDriver,\n\t// \tClientConfigSchema.parse({}),\n\t// );\n\tconst { router } = buildManagerRouter(\n\t\tparsedConfig,\n\t\tmanagerDriver,\n\t\t() => upgradeWebSocket!,\n\t);\n\n\t// Inject WebSocket\n\tconst nodeWebSocket = createNodeWebSocket({ app: router });\n\tupgradeWebSocket = nodeWebSocket.upgradeWebSocket;\n\n\t// TODO: I think this whole function is fucked, we should probably switch to calling registry.serve() directly\n\t// Start server\n\tconst port = await getPort();\n\tconst server = honoServe({\n\t\tfetch: router.fetch,\n\t\thostname: \"127.0.0.1\",\n\t\tport,\n\t});\n\tinvariant(\n\t\tnodeWebSocket.injectWebSocket !== undefined,\n\t\t\"should have injectWebSocket\",\n\t);\n\tnodeWebSocket.injectWebSocket(server);\n\tconst endpoint = `http://127.0.0.1:${port}`;\n\n\tlogger().info({ msg: \"test server listening\", port });\n\n\t// Cleanup on test finish\n\tc.onTestFinished(async () => {\n\t\tawait new Promise((resolve) => server.close(() => resolve(undefined)));\n\t});\n\n\t// Create client\n\tconst client = createClient<A>({\n\t\tendpoint,\n\t\tnamespace: \"default\",\n\t\trunnerName: \"default\",\n\t});\n\tc.onTestFinished(async () => await client.dispose());\n\n\treturn { client };\n}\n\nexport async function getPort(): Promise<number> {\n\t// Pick random port between 10000 and 65535 (avoiding well-known and registered ports)\n\tconst MIN_PORT = 10000;\n\tconst MAX_PORT = 65535;\n\tconst getRandomPort = () =>\n\t\tMath.floor(Math.random() * (MAX_PORT - MIN_PORT + 1)) + MIN_PORT;\n\n\tlet port = getRandomPort();\n\tlet maxAttempts = 10;\n\n\twhile (maxAttempts > 0) {\n\t\ttry {\n\t\t\t// Try to create a server on the port to check if it's available\n\t\t\tconst server = await new Promise<any>((resolve, reject) => {\n\t\t\t\tconst server = createServer();\n\n\t\t\t\tserver.once(\"error\", (err: Error & { code?: string }) => {\n\t\t\t\t\tif (err.code === \"EADDRINUSE\") {\n\t\t\t\t\t\treject(new Error(`Port ${port} is in use`));\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tserver.once(\"listening\", () => {\n\t\t\t\t\tresolve(server);\n\t\t\t\t});\n\n\t\t\t\tserver.listen(port);\n\t\t\t});\n\n\t\t\t// Close the server since we're just checking availability\n\t\t\tawait new Promise<void>((resolve) => {\n\t\t\t\tserver.close(() => resolve());\n\t\t\t});\n\n\t\t\treturn port;\n\t\t} catch (err) {\n\t\t\t// If port is in use, try a different one\n\t\t\tmaxAttempts--;\n\t\t\tif (maxAttempts <= 0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tport = getRandomPort();\n\t\t}\n\t}\n\n\tthrow new Error(\"Could not find an available port after multiple attempts\");\n}\n","import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"test\");\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-3VP5CSHV.cjs","../../src/test/mod.ts","../../src/test/log.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACbA,0BAA6B;AAC7B,+CAAmC;AACnC,uCAAoC;AACpC,4FAAsB;ADetB;AACA;AEjBO,SAAS,MAAA,CAAA,EAAS;AACxB,EAAA,OAAO,yCAAA,MAAgB,CAAA;AACxB;AFmBA;AACA;ACNA,MAAA,SAAsB,SAAA,CACrB,CAAA,EACA,QAAA,EAC8B;AArB/B,EAAA,IAAA,EAAA;AAuBC,EAAA,QAAA,CAAS,MAAA,CAAO,KAAA,EAAO,EAAE,GAAG,QAAA,CAAS,MAAA,CAAO,IAAA,EAAM,OAAA,EAAS,KAAK,CAAA;AAGhE,EAAA,MAAM,OAAA,EAAS,MAAM,8DAAA;AAAA,IACpB,IAAA;AAAA,IACA,CAAA,mBAAA,EAAsB,MAAA,CAAO,UAAA,CAAW,CAAC,CAAA;AAAA,EAAA;AAK1C,EAAA;AACA,EAAA;AACA,EAAA;AAA4B,IAAA;AAClB,IAAA;AACI,EAAA;AAId,EAAA;AACA,EAAA;AACA,EAAA;AAKA,EAAA;AAAmB,IAAA;AAClB,IAAA;AACA,IAAA;AACM,EAAA;AAIP,EAAA;AACA,EAAA;AAIA,EAAA;AACA,EAAA;AAAyB,IAAA;AACV,IAAA;AACJ,IAAA;AACV,EAAA;AAED,EAAA;AAAA,IAAA;AACmC,IAAA;AAClC,EAAA;AAED,EAAA;AACA,EAAA;AAEA,EAAA;AAGA,EAAA;AACC,IAAA;AAAqE,EAAA;AAItE,EAAA;AAA+B,IAAA;AAC9B,IAAA;AACW,IAAA;AACC,EAAA;AAEb,EAAA;AAEA,EAAA;AACD;AAEA;AAEC,EAAA;AACA,EAAA;AACA,EAAA;AAGA,EAAA;AACA,EAAA;AAEA,EAAA;AACC,IAAA;AAEC,MAAA;AACC,QAAA;AAEA,QAAA;AACC,UAAA;AACC,YAAA;AAA0C,UAAA;AAE1C,YAAA;AAAU,UAAA;AACX,QAAA;AAGD,QAAA;AACC,UAAA;AAAc,QAAA;AAGf,QAAA;AAAkB,MAAA;AAInB,MAAA;AACC,QAAA;AAA4B,MAAA;AAG7B,MAAA;AAAO,IAAA;AAGP,MAAA;AACA,MAAA;AACC,QAAA;AAAA,MAAA;AAED,MAAA;AAAqB,IAAA;AACtB,EAAA;AAGD,EAAA;AACD;AD/BA;AACA;AACA;AACA;AACA","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-3VP5CSHV.cjs","sourcesContent":[null,"import { createServer } from \"node:net\";\nimport { serve as honoServe } from \"@hono/node-server\";\nimport { createNodeWebSocket } from \"@hono/node-ws\";\nimport invariant from \"invariant\";\nimport { type TestContext, vi } from \"vitest\";\nimport { ClientConfigSchema } from \"@/client/config\";\nimport { type Client, createClient } from \"@/client/mod\";\nimport { createFileSystemOrMemoryDriver } from \"@/drivers/file-system/mod\";\nimport { createClientWithDriver, type Registry } from \"@/mod\";\nimport { RegistryConfig, RegistryConfigSchema } from \"@/registry/config\";\nimport { buildManagerRouter } from \"@/manager/router\";\nimport { logger } from \"./log\";\n\nexport interface SetupTestResult<A extends Registry<any>> {\n\tclient: Client<A>;\n}\n\n// Must use `TestContext` since global hooks do not work when running concurrently\nexport async function setupTest<A extends Registry<any>>(\n\tc: TestContext,\n\tregistry: A,\n): Promise<SetupTestResult<A>> {\n\t// Force enable test mode\n\tregistry.config.test = { ...registry.config.test, enabled: true };\n\n\t// Create driver\n\tconst driver = await createFileSystemOrMemoryDriver(\n\t\ttrue,\n\t\t`/tmp/rivetkit-test-${crypto.randomUUID()}`,\n\t);\n\n\t// Build driver config\n\t// biome-ignore lint/style/useConst: Assigned later\n\tlet upgradeWebSocket: any;\n\tregistry.config.driver = driver;\n\tregistry.config.inspector = {\n\t\tenabled: true,\n\t\ttoken: () => \"token\",\n\t};\n\n\t// Create router\n\tconst parsedConfig = registry.parseConfig();\n\tconst managerDriver = driver.manager?.(parsedConfig);\n\tinvariant(managerDriver, \"missing manager driver\");\n\t// const internalClient = createClientWithDriver(\n\t// \tmanagerDriver,\n\t// \tClientConfigSchema.parse({}),\n\t// );\n\tconst { router } = buildManagerRouter(\n\t\tparsedConfig,\n\t\tmanagerDriver,\n\t\t() => upgradeWebSocket!,\n\t);\n\n\t// Inject WebSocket\n\tconst nodeWebSocket = createNodeWebSocket({ app: router });\n\tupgradeWebSocket = nodeWebSocket.upgradeWebSocket;\n\n\t// TODO: I think this whole function is fucked, we should probably switch to calling registry.serve() directly\n\t// Start server\n\tconst port = await getPort();\n\tconst server = honoServe({\n\t\tfetch: router.fetch,\n\t\thostname: \"127.0.0.1\",\n\t\tport,\n\t});\n\tinvariant(\n\t\tnodeWebSocket.injectWebSocket !== undefined,\n\t\t\"should have injectWebSocket\",\n\t);\n\tnodeWebSocket.injectWebSocket(server);\n\tconst endpoint = `http://127.0.0.1:${port}`;\n\n\tlogger().info({ msg: \"test server listening\", port });\n\n\t// Cleanup on test finish\n\tc.onTestFinished(async () => {\n\t\tawait new Promise((resolve) => server.close(() => resolve(undefined)));\n\t});\n\n\t// Create client\n\tconst client = createClient<A>({\n\t\tendpoint,\n\t\tnamespace: \"default\",\n\t\trunnerName: \"default\",\n\t});\n\tc.onTestFinished(async () => await client.dispose());\n\n\treturn { client };\n}\n\nexport async function getPort(): Promise<number> {\n\t// Pick random port between 10000 and 65535 (avoiding well-known and registered ports)\n\tconst MIN_PORT = 10000;\n\tconst MAX_PORT = 65535;\n\tconst getRandomPort = () =>\n\t\tMath.floor(Math.random() * (MAX_PORT - MIN_PORT + 1)) + MIN_PORT;\n\n\tlet port = getRandomPort();\n\tlet maxAttempts = 10;\n\n\twhile (maxAttempts > 0) {\n\t\ttry {\n\t\t\t// Try to create a server on the port to check if it's available\n\t\t\tconst server = await new Promise<any>((resolve, reject) => {\n\t\t\t\tconst server = createServer();\n\n\t\t\t\tserver.once(\"error\", (err: Error & { code?: string }) => {\n\t\t\t\t\tif (err.code === \"EADDRINUSE\") {\n\t\t\t\t\t\treject(new Error(`Port ${port} is in use`));\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tserver.once(\"listening\", () => {\n\t\t\t\t\tresolve(server);\n\t\t\t\t});\n\n\t\t\t\tserver.listen(port);\n\t\t\t});\n\n\t\t\t// Close the server since we're just checking availability\n\t\t\tawait new Promise<void>((resolve) => {\n\t\t\t\tserver.close(() => resolve());\n\t\t\t});\n\n\t\t\treturn port;\n\t\t} catch (err) {\n\t\t\t// If port is in use, try a different one\n\t\t\tmaxAttempts--;\n\t\t\tif (maxAttempts <= 0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tport = getRandomPort();\n\t\t}\n\t}\n\n\tthrow new Error(\"Could not find an available port after multiple attempts\");\n}\n","import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"test\");\n}\n"]}
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  createFileSystemOrMemoryDriver
3
- } from "./chunk-4T4UWXHN.js";
3
+ } from "./chunk-KCOVZOPS.js";
4
4
  import {
5
5
  createClient
6
- } from "./chunk-XCRJ245S.js";
6
+ } from "./chunk-Q6W7RJJP.js";
7
7
  import {
8
8
  buildManagerRouter
9
- } from "./chunk-KVB2SG32.js";
9
+ } from "./chunk-GMAVRZSF.js";
10
10
  import {
11
11
  getLogger
12
- } from "./chunk-ZUMPCWKF.js";
12
+ } from "./chunk-FJ3KTN4V.js";
13
13
 
14
14
  // src/test/mod.ts
15
15
  import { createServer } from "net";
@@ -111,4 +111,4 @@ export {
111
111
  setupTest,
112
112
  getPort
113
113
  };
114
- //# sourceMappingURL=chunk-J2R742IE.js.map
114
+ //# sourceMappingURL=chunk-AQFSQMBG.js.map
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
2
2
 
3
- var _chunkHZOBB3KPcjs = require('./chunk-HZOBB3KP.cjs');
3
+ var _chunkH4TB4X25cjs = require('./chunk-H4TB4X25.cjs');
4
4
 
5
5
  // src/client/log.ts
6
6
  function logger() {
7
- return _chunkHZOBB3KPcjs.getLogger.call(void 0, "actor-client");
7
+ return _chunkH4TB4X25cjs.getLogger.call(void 0, "actor-client");
8
8
  }
9
9
 
10
10
  // src/common/websocket.ts
@@ -46,4 +46,4 @@ async function importWebSocket() {
46
46
 
47
47
 
48
48
  exports.logger = logger; exports.importWebSocket = importWebSocket;
49
- //# sourceMappingURL=chunk-XCDGPOZT.cjs.map
49
+ //# sourceMappingURL=chunk-EJVBH5VF.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-XCDGPOZT.cjs","../../src/client/log.ts","../../src/common/websocket.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACFO,SAAS,MAAA,CAAA,EAAS;AACxB,EAAA,OAAO,yCAAA,cAAwB,CAAA;AAChC;ADIA;AACA;AENA,IAAI,iBAAA,EAAqD,IAAA;AAEzD,MAAA,SAAsB,eAAA,CAAA,EAA6C;AAElE,EAAA,GAAA,CAAI,iBAAA,IAAqB,IAAA,EAAM;AAC9B,IAAA,OAAO,gBAAA;AAAA,EACR;AAGA,EAAA,iBAAA,EAAA,CAAoB,MAAA,CAAA,EAAA,GAAY;AAC/B,IAAA,IAAI,UAAA;AAEJ,IAAA,GAAA,CAAI,OAAO,UAAA,IAAc,WAAA,EAAa;AAErC,MAAA,WAAA,EAAa,SAAA;AAAA,IACd,EAAA,KAAO;AAEN,MAAA,IAAI;AACH,QAAA,MAAM,WAAA,EAAa,IAAA;AACnB,QAAA,MAAM,GAAA,EAAK,MAAM,4DAAA;AAAA;AAAA,UAAiC;AAAA,QAAA,GAAA;AAClD,QAAA,WAAA,EAAa,EAAA,CAAG,OAAA;AAChB,QAAA,MAAA,CAAO,CAAA,CAAE,KAAA,CAAM,0BAA0B,CAAA;AAAA,MAC1C,EAAA,UAAQ;AAEP,QAAA,WAAA,EAAa,MAAM,cAAc;AAAA,UAChC,WAAA,CAAA,EAAc;AACb,YAAA,MAAM,IAAI,KAAA;AAAA,cACT;AAAA,YACD,CAAA;AAAA,UACD;AAAA,QACD,CAAA;AACA,QAAA,MAAA,CAAO,CAAA,CAAE,KAAA,CAAM,sBAAsB,CAAA;AAAA,MACtC;AAAA,IACD;AAEA,IAAA,OAAO,UAAA;AAAA,EACR,CAAA,CAAA,CAAG,CAAA;AAEH,EAAA,OAAO,gBAAA;AACR;AFCA;AACA;AACE;AACA;AACF,mEAAC","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-XCDGPOZT.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"actor-client\");\n}\n","import { logger } from \"@/client/log\";\n\n// Global singleton promise that will be reused for subsequent calls\nlet webSocketPromise: Promise<typeof WebSocket> | null = null;\n\nexport async function importWebSocket(): Promise<typeof WebSocket> {\n\t// Return existing promise if we already started loading\n\tif (webSocketPromise !== null) {\n\t\treturn webSocketPromise;\n\t}\n\n\t// Create and store the promise\n\twebSocketPromise = (async () => {\n\t\tlet _WebSocket: typeof WebSocket;\n\n\t\tif (typeof WebSocket !== \"undefined\") {\n\t\t\t// Browser environment\n\t\t\t_WebSocket = WebSocket as unknown as typeof WebSocket;\n\t\t} else {\n\t\t\t// Node.js environment\n\t\t\ttry {\n\t\t\t\tconst moduleName = \"ws\";\n\t\t\t\tconst ws = await import(/* webpackIgnore: true */ moduleName);\n\t\t\t\t_WebSocket = ws.default as unknown as typeof WebSocket;\n\t\t\t\tlogger().debug(\"using websocket from npm\");\n\t\t\t} catch {\n\t\t\t\t// WS not available\n\t\t\t\t_WebSocket = class MockWebSocket {\n\t\t\t\t\tconstructor() {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t'WebSocket support requires installing the \"ws\" peer dependency.',\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} as unknown as typeof WebSocket;\n\t\t\t\tlogger().debug(\"using mock websocket\");\n\t\t\t}\n\t\t}\n\n\t\treturn _WebSocket;\n\t})();\n\n\treturn webSocketPromise;\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-EJVBH5VF.cjs","../../src/client/log.ts","../../src/common/websocket.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACFO,SAAS,MAAA,CAAA,EAAS;AACxB,EAAA,OAAO,yCAAA,cAAwB,CAAA;AAChC;ADIA;AACA;AENA,IAAI,iBAAA,EAAqD,IAAA;AAEzD,MAAA,SAAsB,eAAA,CAAA,EAA6C;AAElE,EAAA,GAAA,CAAI,iBAAA,IAAqB,IAAA,EAAM;AAC9B,IAAA,OAAO,gBAAA;AAAA,EACR;AAGA,EAAA,iBAAA,EAAA,CAAoB,MAAA,CAAA,EAAA,GAAY;AAC/B,IAAA,IAAI,UAAA;AAEJ,IAAA,GAAA,CAAI,OAAO,UAAA,IAAc,WAAA,EAAa;AAErC,MAAA,WAAA,EAAa,SAAA;AAAA,IACd,EAAA,KAAO;AAEN,MAAA,IAAI;AACH,QAAA,MAAM,WAAA,EAAa,IAAA;AACnB,QAAA,MAAM,GAAA,EAAK,MAAM,4DAAA;AAAA;AAAA,UAAiC;AAAA,QAAA,GAAA;AAClD,QAAA,WAAA,EAAa,EAAA,CAAG,OAAA;AAChB,QAAA,MAAA,CAAO,CAAA,CAAE,KAAA,CAAM,0BAA0B,CAAA;AAAA,MAC1C,EAAA,UAAQ;AAEP,QAAA,WAAA,EAAa,MAAM,cAAc;AAAA,UAChC,WAAA,CAAA,EAAc;AACb,YAAA,MAAM,IAAI,KAAA;AAAA,cACT;AAAA,YACD,CAAA;AAAA,UACD;AAAA,QACD,CAAA;AACA,QAAA,MAAA,CAAO,CAAA,CAAE,KAAA,CAAM,sBAAsB,CAAA;AAAA,MACtC;AAAA,IACD;AAEA,IAAA,OAAO,UAAA;AAAA,EACR,CAAA,CAAA,CAAG,CAAA;AAEH,EAAA,OAAO,gBAAA;AACR;AFCA;AACA;AACE;AACA;AACF,mEAAC","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-EJVBH5VF.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"actor-client\");\n}\n","import { logger } from \"@/client/log\";\n\n// Global singleton promise that will be reused for subsequent calls\nlet webSocketPromise: Promise<typeof WebSocket> | null = null;\n\nexport async function importWebSocket(): Promise<typeof WebSocket> {\n\t// Return existing promise if we already started loading\n\tif (webSocketPromise !== null) {\n\t\treturn webSocketPromise;\n\t}\n\n\t// Create and store the promise\n\twebSocketPromise = (async () => {\n\t\tlet _WebSocket: typeof WebSocket;\n\n\t\tif (typeof WebSocket !== \"undefined\") {\n\t\t\t// Browser environment\n\t\t\t_WebSocket = WebSocket as unknown as typeof WebSocket;\n\t\t} else {\n\t\t\t// Node.js environment\n\t\t\ttry {\n\t\t\t\tconst moduleName = \"ws\";\n\t\t\t\tconst ws = await import(/* webpackIgnore: true */ moduleName);\n\t\t\t\t_WebSocket = ws.default as unknown as typeof WebSocket;\n\t\t\t\tlogger().debug(\"using websocket from npm\");\n\t\t\t} catch {\n\t\t\t\t// WS not available\n\t\t\t\t_WebSocket = class MockWebSocket {\n\t\t\t\t\tconstructor() {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t'WebSocket support requires installing the \"ws\" peer dependency.',\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} as unknown as typeof WebSocket;\n\t\t\t\tlogger().debug(\"using mock websocket\");\n\t\t\t}\n\t\t}\n\n\t\treturn _WebSocket;\n\t})();\n\n\treturn webSocketPromise;\n}\n"]}
@@ -2,7 +2,7 @@ import {
2
2
  ActorError,
3
3
  INTERNAL_ERROR_CODE,
4
4
  INTERNAL_ERROR_DESCRIPTION
5
- } from "./chunk-2YHR67M4.js";
5
+ } from "./chunk-LFVF5SCU.js";
6
6
 
7
7
  // src/utils/env-vars.ts
8
8
  var getRivetEngine = () => getEnvUniversal("RIVET_ENGINE");
@@ -238,7 +238,7 @@ function noopNext() {
238
238
  // package.json
239
239
  var package_default = {
240
240
  name: "rivetkit",
241
- version: "2.0.40",
241
+ version: "2.0.42",
242
242
  description: "Lightweight libraries for building stateful actors on edge platforms",
243
243
  license: "Apache-2.0",
244
244
  keywords: [
@@ -341,6 +341,16 @@ var package_default = {
341
341
  default: "./dist/tsup/driver-test-suite/mod.cjs"
342
342
  }
343
343
  },
344
+ "./serve-test-suite": {
345
+ import: {
346
+ types: "./dist/tsup/serve-test-suite/mod.d.ts",
347
+ default: "./dist/tsup/serve-test-suite/mod.js"
348
+ },
349
+ require: {
350
+ types: "./dist/tsup/serve-test-suite/mod.d.cts",
351
+ default: "./dist/tsup/serve-test-suite/mod.cjs"
352
+ }
353
+ },
344
354
  "./topologies/coordinate": {
345
355
  import: {
346
356
  types: "./dist/tsup/topologies/coordinate/mod.d.ts",
@@ -390,7 +400,7 @@ var package_default = {
390
400
  "./dist/tsup/chunk-*.cjs"
391
401
  ],
392
402
  scripts: {
393
- build: "tsup src/mod.ts src/client/mod.ts src/common/log.ts src/common/websocket.ts src/actor/errors.ts src/topologies/coordinate/mod.ts src/topologies/partition/mod.ts src/utils.ts src/driver-helpers/mod.ts src/driver-test-suite/mod.ts src/test/mod.ts src/inspector/mod.ts",
403
+ build: "tsup src/mod.ts src/client/mod.ts src/common/log.ts src/common/websocket.ts src/actor/errors.ts src/topologies/coordinate/mod.ts src/topologies/partition/mod.ts src/utils.ts src/driver-helpers/mod.ts src/driver-test-suite/mod.ts src/serve-test-suite/mod.ts src/test/mod.ts src/inspector/mod.ts",
394
404
  "build:schema": "./scripts/compile-bare.ts compile schemas/client-protocol/v1.bare -o dist/schemas/client-protocol/v1.ts && ./scripts/compile-bare.ts compile schemas/client-protocol/v2.bare -o dist/schemas/client-protocol/v2.ts && ./scripts/compile-bare.ts compile schemas/file-system-driver/v1.bare -o dist/schemas/file-system-driver/v1.ts && ./scripts/compile-bare.ts compile schemas/file-system-driver/v2.bare -o dist/schemas/file-system-driver/v2.ts && ./scripts/compile-bare.ts compile schemas/file-system-driver/v3.bare -o dist/schemas/file-system-driver/v3.ts && ./scripts/compile-bare.ts compile schemas/actor-persist/v1.bare -o dist/schemas/actor-persist/v1.ts && ./scripts/compile-bare.ts compile schemas/actor-persist/v2.bare -o dist/schemas/actor-persist/v2.ts && ./scripts/compile-bare.ts compile schemas/actor-persist/v3.bare -o dist/schemas/actor-persist/v3.ts && ./scripts/compile-bare.ts compile schemas/actor-inspector/v1.bare -o dist/schemas/actor-inspector/v1.ts",
395
405
  "check-types": "tsc --noEmit",
396
406
  lint: "biome check .",
@@ -425,7 +435,7 @@ var package_default = {
425
435
  },
426
436
  devDependencies: {
427
437
  "@bare-ts/tools": "^0.13.0",
428
- "@biomejs/biome": "^2.2.3",
438
+ "@biomejs/biome": "^2.3",
429
439
  "@hono/node-server": "^1.18.2",
430
440
  "@hono/node-ws": "^1.1.1",
431
441
  "@types/invariant": "^2",
@@ -939,4 +949,4 @@ export {
939
949
  getBaseLogger,
940
950
  getLogger
941
951
  };
942
- //# sourceMappingURL=chunk-ZUMPCWKF.js.map
952
+ //# sourceMappingURL=chunk-FJ3KTN4V.js.map