rivetkit 2.0.27 → 2.0.29-rc.1

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 (131) hide show
  1. package/dist/schemas/file-system-driver/v3.ts +167 -0
  2. package/dist/tsup/actor/errors.cjs +2 -2
  3. package/dist/tsup/actor/errors.js +1 -1
  4. package/dist/tsup/{chunk-TJ2PJ5C7.cjs → chunk-2Q6FJITJ.cjs} +3 -3
  5. package/dist/tsup/{chunk-TJ2PJ5C7.cjs.map → chunk-2Q6FJITJ.cjs.map} +1 -1
  6. package/dist/tsup/{chunk-GUH2PNPG.js → chunk-5RN6O2RW.js} +3 -3
  7. package/dist/tsup/{chunk-F3SQLO3X.cjs → chunk-AJ36VBHL.cjs} +13 -12
  8. package/dist/tsup/chunk-AJ36VBHL.cjs.map +1 -0
  9. package/dist/tsup/{chunk-4GJQDTAG.cjs → chunk-BAEMOCS7.cjs} +666 -342
  10. package/dist/tsup/chunk-BAEMOCS7.cjs.map +1 -0
  11. package/dist/tsup/chunk-CGIRSKRW.js +891 -0
  12. package/dist/tsup/chunk-CGIRSKRW.js.map +1 -0
  13. package/dist/tsup/{chunk-BBTOBXEO.js → chunk-CHPLLKNL.js} +579 -103
  14. package/dist/tsup/chunk-CHPLLKNL.js.map +1 -0
  15. package/dist/tsup/{chunk-D7A47BVR.js → chunk-EU7VV5PU.js} +2 -2
  16. package/dist/tsup/{chunk-2NNICHGY.js → chunk-EVQJYFFP.js} +2 -2
  17. package/dist/tsup/{chunk-C3UREFUI.js → chunk-HXWPIIEM.js} +15 -6
  18. package/dist/tsup/chunk-HXWPIIEM.js.map +1 -0
  19. package/dist/tsup/chunk-IRGPMCKQ.cjs +129 -0
  20. package/dist/tsup/chunk-IRGPMCKQ.cjs.map +1 -0
  21. package/dist/tsup/{chunk-QC4AE54W.cjs → chunk-J3M5ATO5.cjs} +3 -3
  22. package/dist/tsup/{chunk-QC4AE54W.cjs.map → chunk-J3M5ATO5.cjs.map} +1 -1
  23. package/dist/tsup/{chunk-DRJCTDDT.cjs → chunk-J74MGKP5.cjs} +20 -11
  24. package/dist/tsup/chunk-J74MGKP5.cjs.map +1 -0
  25. package/dist/tsup/{chunk-XJMYGATE.cjs → chunk-MAQSR26X.cjs} +8 -3
  26. package/dist/tsup/chunk-MAQSR26X.cjs.map +1 -0
  27. package/dist/tsup/{chunk-XNKWXMIT.cjs → chunk-MG2TWYPF.cjs} +794 -318
  28. package/dist/tsup/chunk-MG2TWYPF.cjs.map +1 -0
  29. package/dist/tsup/{chunk-LQOCWGP6.js → chunk-P2RZJPYI.js} +1 -1
  30. package/dist/tsup/{chunk-XU4GGB6J.js → chunk-QKDCNAPW.js} +504 -181
  31. package/dist/tsup/chunk-QKDCNAPW.js.map +1 -0
  32. package/dist/tsup/{chunk-G7YZSSWV.cjs → chunk-QT7PPLSB.cjs} +6 -6
  33. package/dist/tsup/{chunk-G7YZSSWV.cjs.map → chunk-QT7PPLSB.cjs.map} +1 -1
  34. package/dist/tsup/{chunk-VRZNWBDK.js → chunk-SDJFBUFE.js} +45 -46
  35. package/dist/tsup/chunk-SDJFBUFE.js.map +1 -0
  36. package/dist/tsup/chunk-SE37OCA2.cjs +891 -0
  37. package/dist/tsup/chunk-SE37OCA2.cjs.map +1 -0
  38. package/dist/tsup/{chunk-6F2NCX7R.js → chunk-WUFUT7CZ.js} +2 -2
  39. package/dist/tsup/{chunk-LZADH4QA.cjs → chunk-XVBIJET6.cjs} +10 -10
  40. package/dist/tsup/{chunk-LZADH4QA.cjs.map → chunk-XVBIJET6.cjs.map} +1 -1
  41. package/dist/tsup/{chunk-KSQQU7NC.js → chunk-YJXB7BPR.js} +8 -7
  42. package/dist/tsup/chunk-YJXB7BPR.js.map +1 -0
  43. package/dist/tsup/client/mod.cjs +9 -9
  44. package/dist/tsup/client/mod.d.cts +3 -2
  45. package/dist/tsup/client/mod.d.ts +3 -2
  46. package/dist/tsup/client/mod.js +8 -8
  47. package/dist/tsup/common/log.cjs +3 -3
  48. package/dist/tsup/common/log.d.cts +9 -1
  49. package/dist/tsup/common/log.d.ts +9 -1
  50. package/dist/tsup/common/log.js +2 -2
  51. package/dist/tsup/common/websocket.cjs +4 -4
  52. package/dist/tsup/common/websocket.js +3 -3
  53. package/dist/tsup/{config-Bo-blHpJ.d.ts → config-CcMdKDv9.d.ts} +301 -899
  54. package/dist/tsup/{config-BRDYDraU.d.cts → config-DxlmiJS1.d.cts} +301 -899
  55. package/dist/tsup/driver-helpers/mod.cjs +5 -5
  56. package/dist/tsup/driver-helpers/mod.d.cts +2 -1
  57. package/dist/tsup/driver-helpers/mod.d.ts +2 -1
  58. package/dist/tsup/driver-helpers/mod.js +4 -4
  59. package/dist/tsup/driver-test-suite/mod.cjs +74 -74
  60. package/dist/tsup/driver-test-suite/mod.d.cts +2 -1
  61. package/dist/tsup/driver-test-suite/mod.d.ts +2 -1
  62. package/dist/tsup/driver-test-suite/mod.js +11 -11
  63. package/dist/tsup/inspector/mod.cjs +6 -6
  64. package/dist/tsup/inspector/mod.d.cts +5 -4
  65. package/dist/tsup/inspector/mod.d.ts +5 -4
  66. package/dist/tsup/inspector/mod.js +5 -5
  67. package/dist/tsup/mod.cjs +10 -10
  68. package/dist/tsup/mod.d.cts +3 -2
  69. package/dist/tsup/mod.d.ts +3 -2
  70. package/dist/tsup/mod.js +9 -9
  71. package/dist/tsup/test/mod.cjs +12 -11
  72. package/dist/tsup/test/mod.cjs.map +1 -1
  73. package/dist/tsup/test/mod.d.cts +2 -6
  74. package/dist/tsup/test/mod.d.ts +2 -6
  75. package/dist/tsup/test/mod.js +11 -10
  76. package/dist/tsup/utils.cjs +3 -3
  77. package/dist/tsup/utils.js +2 -2
  78. package/package.json +7 -6
  79. package/src/actor/config.ts +21 -20
  80. package/src/actor/conn/mod.ts +5 -1
  81. package/src/actor/instance/connection-manager.ts +5 -1
  82. package/src/actor/instance/event-manager.ts +5 -1
  83. package/src/actor/instance/state-manager.ts +19 -3
  84. package/src/actor/protocol/old.ts +3 -0
  85. package/src/actor/protocol/serde.ts +5 -1
  86. package/src/actor/router-endpoints.ts +2 -0
  87. package/src/client/actor-conn.ts +2 -0
  88. package/src/client/actor-handle.ts +3 -0
  89. package/src/client/config.ts +1 -1
  90. package/src/client/utils.ts +4 -1
  91. package/src/common/router.ts +5 -1
  92. package/src/driver-helpers/utils.ts +8 -2
  93. package/src/drivers/engine/config.ts +6 -3
  94. package/src/drivers/file-system/global-state.ts +46 -1
  95. package/src/drivers/file-system/manager.ts +4 -0
  96. package/src/inspector/config.ts +1 -2
  97. package/src/manager/driver.ts +4 -0
  98. package/src/manager/router-schema.ts +7 -7
  99. package/src/manager/router.ts +4 -4
  100. package/src/registry/run-config.ts +9 -5
  101. package/src/remote-manager-driver/actor-http-client.ts +1 -1
  102. package/src/remote-manager-driver/api-utils.ts +2 -0
  103. package/src/schemas/actor-persist/versioned.ts +126 -54
  104. package/src/schemas/client-protocol/versioned.ts +173 -42
  105. package/src/schemas/file-system-driver/mod.ts +1 -1
  106. package/src/schemas/file-system-driver/versioned.ts +129 -45
  107. package/src/serde.ts +9 -2
  108. package/src/test/config.ts +13 -12
  109. package/src/test/mod.ts +56 -82
  110. package/dist/tsup/chunk-2TZH6VO6.cjs +0 -514
  111. package/dist/tsup/chunk-2TZH6VO6.cjs.map +0 -1
  112. package/dist/tsup/chunk-4GJQDTAG.cjs.map +0 -1
  113. package/dist/tsup/chunk-5YDKTW6Y.js +0 -514
  114. package/dist/tsup/chunk-5YDKTW6Y.js.map +0 -1
  115. package/dist/tsup/chunk-BBTOBXEO.js.map +0 -1
  116. package/dist/tsup/chunk-C3UREFUI.js.map +0 -1
  117. package/dist/tsup/chunk-DRJCTDDT.cjs.map +0 -1
  118. package/dist/tsup/chunk-F3SQLO3X.cjs.map +0 -1
  119. package/dist/tsup/chunk-FYZLEH57.cjs +0 -130
  120. package/dist/tsup/chunk-FYZLEH57.cjs.map +0 -1
  121. package/dist/tsup/chunk-KSQQU7NC.js.map +0 -1
  122. package/dist/tsup/chunk-VRZNWBDK.js.map +0 -1
  123. package/dist/tsup/chunk-XJMYGATE.cjs.map +0 -1
  124. package/dist/tsup/chunk-XNKWXMIT.cjs.map +0 -1
  125. package/dist/tsup/chunk-XU4GGB6J.js.map +0 -1
  126. package/src/common/versioned-data.ts +0 -95
  127. /package/dist/tsup/{chunk-GUH2PNPG.js.map → chunk-5RN6O2RW.js.map} +0 -0
  128. /package/dist/tsup/{chunk-D7A47BVR.js.map → chunk-EU7VV5PU.js.map} +0 -0
  129. /package/dist/tsup/{chunk-2NNICHGY.js.map → chunk-EVQJYFFP.js.map} +0 -0
  130. /package/dist/tsup/{chunk-LQOCWGP6.js.map → chunk-P2RZJPYI.js.map} +0 -0
  131. /package/dist/tsup/{chunk-6F2NCX7R.js.map → chunk-WUFUT7CZ.js.map} +0 -0
@@ -0,0 +1,891 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
2
+
3
+ var _chunkJ74MGKP5cjs = require('./chunk-J74MGKP5.cjs');
4
+
5
+
6
+
7
+
8
+
9
+ var _chunkAJ36VBHLcjs = require('./chunk-AJ36VBHL.cjs');
10
+
11
+ // src/registry/run-config.ts
12
+ var _zod = require('zod'); var _zod2 = _interopRequireDefault(_zod);
13
+
14
+ // src/drivers/engine/config.ts
15
+
16
+
17
+ // src/client/config.ts
18
+
19
+ var ClientConfigSchema = _zod2.default.object({
20
+ /** Endpoint to connect to for Rivet Engine or RivetKit manager API. */
21
+ endpoint: _zod2.default.string().optional().transform(
22
+ (x) => _nullishCoalesce(_nullishCoalesce(x, () => ( _chunkAJ36VBHLcjs.getEnvUniversal.call(void 0, "RIVET_ENGINE"))), () => ( _chunkAJ36VBHLcjs.getEnvUniversal.call(void 0, "RIVET_ENDPOINT")))
23
+ ),
24
+ /** Token to use to authenticate with the API. */
25
+ token: _zod2.default.string().optional().transform((x) => _nullishCoalesce(x, () => ( _chunkAJ36VBHLcjs.getEnvUniversal.call(void 0, "RIVET_TOKEN")))),
26
+ /** Namespace to connect to. */
27
+ namespace: _zod2.default.string().default(() => _nullishCoalesce(_chunkAJ36VBHLcjs.getEnvUniversal.call(void 0, "RIVET_NAMESPACE"), () => ( "default"))),
28
+ /** Name of the runner. This is used to group together runners in to different pools. */
29
+ runnerName: _zod2.default.string().default(() => _nullishCoalesce(_chunkAJ36VBHLcjs.getEnvUniversal.call(void 0, "RIVET_RUNNER"), () => ( "default"))),
30
+ encoding: _chunkJ74MGKP5cjs.EncodingSchema.default("bare"),
31
+ headers: _zod2.default.record(_zod2.default.string(), _zod2.default.string()).optional().default(() => ({})),
32
+ // See RunConfig.getUpgradeWebSocket
33
+ getUpgradeWebSocket: _zod2.default.custom().optional(),
34
+ /** Whether to automatically perform health checks when the client is created. */
35
+ disableMetadataLookup: _zod2.default.boolean().optional().default(false)
36
+ });
37
+
38
+ // src/drivers/engine/config.ts
39
+ var EngineConfigSchemaBase = _zod.z.object({
40
+ /** Unique key for this runner. Runners connecting a given key will replace any other runner connected with the same key. */
41
+ runnerKey: _zod.z.string().optional().transform((x) => _nullishCoalesce(x, () => ( _chunkAJ36VBHLcjs.getEnvUniversal.call(void 0, "RIVET_RUNNER_KEY")))),
42
+ /** How many actors this runner can run. */
43
+ totalSlots: _zod.z.number().default(1e5)
44
+ }).merge(ClientConfigSchema);
45
+ var EngingConfigSchema = EngineConfigSchemaBase.default(
46
+ () => EngineConfigSchemaBase.parse({})
47
+ );
48
+
49
+ // src/inspector/config.ts
50
+
51
+ var defaultTokenFn = () => {
52
+ const envToken = _chunkAJ36VBHLcjs.getEnvUniversal.call(void 0, "RIVETKIT_INSPECTOR_TOKEN");
53
+ if (envToken) {
54
+ return envToken;
55
+ }
56
+ return "";
57
+ };
58
+ var defaultEnabled = () => {
59
+ return _chunkAJ36VBHLcjs.getEnvUniversal.call(void 0, "NODE_ENV") !== "production" || !_chunkAJ36VBHLcjs.getEnvUniversal.call(void 0, "RIVETKIT_INSPECTOR_DISABLE");
60
+ };
61
+ var InspectorConfigSchema = _zod.z.object({
62
+ enabled: _zod.z.boolean().or(
63
+ _zod.z.object({
64
+ actor: _zod.z.boolean().optional().default(true),
65
+ manager: _zod.z.boolean().optional().default(true)
66
+ })
67
+ ).optional().default(defaultEnabled),
68
+ /**
69
+ * Token used to access the Inspector.
70
+ */
71
+ token: _zod.z.custom().optional().default(() => defaultTokenFn),
72
+ /**
73
+ * Default RivetKit server endpoint for Rivet Inspector to connect to. This should be the same endpoint as what you use for your Rivet client to connect to RivetKit.
74
+ *
75
+ * This is a convenience property just for printing out the inspector URL.
76
+ */
77
+ defaultEndpoint: _zod.z.string().optional()
78
+ }).optional().default(() => ({
79
+ enabled: defaultEnabled(),
80
+ token: defaultTokenFn
81
+ }));
82
+
83
+ // src/registry/run-config.ts
84
+ var DriverConfigSchema = _zod.z.object({
85
+ /** Machine-readable name to identify this driver by. */
86
+ name: _zod.z.string(),
87
+ manager: _zod.z.custom(),
88
+ actor: _zod.z.custom()
89
+ });
90
+ var RunnerConfigSchemaUnmerged = _zod.z.object({
91
+ driver: DriverConfigSchema.optional(),
92
+ /** @experimental */
93
+ maxIncomingMessageSize: _zod.z.number().optional().default(65536),
94
+ /** @experimental */
95
+ inspector: InspectorConfigSchema,
96
+ /** @experimental */
97
+ disableDefaultServer: _zod.z.boolean().optional().default(false),
98
+ /** @experimental */
99
+ defaultServerPort: _zod.z.number().default(6420),
100
+ /** @experimental */
101
+ runEngine: _zod.z.boolean().optional().default(() => _chunkAJ36VBHLcjs.getEnvUniversal.call(void 0, "RIVET_RUN_ENGINE") === "1"),
102
+ /** @experimental */
103
+ runEngineVersion: _zod.z.string().optional().default(
104
+ () => _nullishCoalesce(_chunkAJ36VBHLcjs.getEnvUniversal.call(void 0, "RIVET_RUN_ENGINE_VERSION"), () => ( _chunkAJ36VBHLcjs.VERSION))
105
+ ),
106
+ /** @experimental */
107
+ overrideServerAddress: _zod.z.string().optional(),
108
+ /** @experimental */
109
+ disableActorDriver: _zod.z.boolean().optional().default(false),
110
+ /**
111
+ * @experimental
112
+ *
113
+ * Whether to run runners normally or have them managed
114
+ * serverlessly (by the Rivet Engine for example).
115
+ */
116
+ runnerKind: _zod.z.enum(["serverless", "normal"]).optional().default(
117
+ () => _chunkAJ36VBHLcjs.getEnvUniversal.call(void 0, "RIVET_RUNNER_KIND") === "serverless" ? "serverless" : "normal"
118
+ ),
119
+ totalSlots: _zod.z.number().optional(),
120
+ /**
121
+ * @experimental
122
+ *
123
+ * Base path for the router. This is used to prefix all routes.
124
+ * For example, if the base path is `/api`, then the route `/actors` will be
125
+ * available at `/api/actors`.
126
+ */
127
+ basePath: _zod.z.string().optional().default("/"),
128
+ /**
129
+ * @experimental
130
+ *
131
+ * Disable welcome message.
132
+ * */
133
+ noWelcome: _zod.z.boolean().optional().default(false),
134
+ /**
135
+ * @experimental
136
+ * */
137
+ logging: _zod.z.object({
138
+ baseLogger: _zod.z.custom().optional(),
139
+ level: _chunkAJ36VBHLcjs.LogLevelSchema.optional()
140
+ }).optional().default(() => ({})),
141
+ /**
142
+ * @experimental
143
+ *
144
+ * Automatically configure serverless runners in the engine.
145
+ * Can only be used when runnerKind is "serverless".
146
+ * If true, uses default configuration. Can also provide custom configuration.
147
+ */
148
+ autoConfigureServerless: _zod.z.union([
149
+ _zod.z.boolean(),
150
+ _zod.z.object({
151
+ url: _zod.z.string().optional(),
152
+ headers: _zod.z.record(_zod.z.string(), _zod.z.string()).optional(),
153
+ maxRunners: _zod.z.number().optional(),
154
+ minRunners: _zod.z.number().optional(),
155
+ requestLifespan: _zod.z.number().optional(),
156
+ runnersMargin: _zod.z.number().optional(),
157
+ slotsPerRunner: _zod.z.number().optional(),
158
+ metadata: _zod.z.record(_zod.z.string(), _zod.z.unknown()).optional()
159
+ })
160
+ ]).optional(),
161
+ // This is a function to allow for lazy configuration of upgradeWebSocket on the
162
+ // fly. This is required since the dependencies that upgradeWebSocket
163
+ // (specifically Node.js) can sometimes only be specified after the router is
164
+ // created or must be imported async using `await import(...)`
165
+ getUpgradeWebSocket: _zod.z.custom().optional()
166
+ }).merge(EngingConfigSchema.removeDefault());
167
+ var RunnerConfigSchemaBase = RunnerConfigSchemaUnmerged;
168
+ var RunnerConfigSchema = RunnerConfigSchemaBase.default(
169
+ () => RunnerConfigSchemaBase.parse({})
170
+ );
171
+
172
+ // src/driver-helpers/utils.ts
173
+ var _cborx = require('cbor-x'); var cbor = _interopRequireWildcard(_cborx);
174
+
175
+ // src/actor/instance/kv.ts
176
+ var KEYS = {
177
+ PERSIST_DATA: Uint8Array.from([1]),
178
+ CONN_PREFIX: Uint8Array.from([2]),
179
+ // Prefix for connection keys
180
+ INSPECTOR_TOKEN: Uint8Array.from([3])
181
+ // Inspector token key
182
+ };
183
+ function makeConnKey(connId) {
184
+ const encoder = new TextEncoder();
185
+ const connIdBytes = encoder.encode(connId);
186
+ const key = new Uint8Array(KEYS.CONN_PREFIX.length + connIdBytes.length);
187
+ key.set(KEYS.CONN_PREFIX, 0);
188
+ key.set(connIdBytes, KEYS.CONN_PREFIX.length);
189
+ return key;
190
+ }
191
+
192
+ // src/schemas/actor-persist/versioned.ts
193
+ var _vbare = require('vbare');
194
+
195
+ // dist/schemas/actor-persist/v1.ts
196
+ var _lib = require('@bare-ts/lib'); var bare = _interopRequireWildcard(_lib); var bare2 = _interopRequireWildcard(_lib); var bare3 = _interopRequireWildcard(_lib);
197
+ var config = /* @__PURE__ */ bare.Config({});
198
+ function readPersistedSubscription(bc) {
199
+ return {
200
+ eventName: bare.readString(bc)
201
+ };
202
+ }
203
+ function writePersistedSubscription(bc, x) {
204
+ bare.writeString(bc, x.eventName);
205
+ }
206
+ function read0(bc) {
207
+ const len = bare.readUintSafe(bc);
208
+ if (len === 0) {
209
+ return [];
210
+ }
211
+ const result = [readPersistedSubscription(bc)];
212
+ for (let i = 1; i < len; i++) {
213
+ result[i] = readPersistedSubscription(bc);
214
+ }
215
+ return result;
216
+ }
217
+ function write0(bc, x) {
218
+ bare.writeUintSafe(bc, x.length);
219
+ for (let i = 0; i < x.length; i++) {
220
+ writePersistedSubscription(bc, x[i]);
221
+ }
222
+ }
223
+ function readPersistedConnection(bc) {
224
+ return {
225
+ id: bare.readString(bc),
226
+ token: bare.readString(bc),
227
+ parameters: bare.readData(bc),
228
+ state: bare.readData(bc),
229
+ subscriptions: read0(bc),
230
+ lastSeen: bare.readU64(bc)
231
+ };
232
+ }
233
+ function writePersistedConnection(bc, x) {
234
+ bare.writeString(bc, x.id);
235
+ bare.writeString(bc, x.token);
236
+ bare.writeData(bc, x.parameters);
237
+ bare.writeData(bc, x.state);
238
+ write0(bc, x.subscriptions);
239
+ bare.writeU64(bc, x.lastSeen);
240
+ }
241
+ function read1(bc) {
242
+ return bare.readBool(bc) ? bare.readData(bc) : null;
243
+ }
244
+ function write1(bc, x) {
245
+ bare.writeBool(bc, x !== null);
246
+ if (x !== null) {
247
+ bare.writeData(bc, x);
248
+ }
249
+ }
250
+ function readGenericPersistedScheduleEvent(bc) {
251
+ return {
252
+ action: bare.readString(bc),
253
+ args: read1(bc)
254
+ };
255
+ }
256
+ function writeGenericPersistedScheduleEvent(bc, x) {
257
+ bare.writeString(bc, x.action);
258
+ write1(bc, x.args);
259
+ }
260
+ function readPersistedScheduleEventKind(bc) {
261
+ const offset = bc.offset;
262
+ const tag = bare.readU8(bc);
263
+ switch (tag) {
264
+ case 0:
265
+ return { tag: "GenericPersistedScheduleEvent", val: readGenericPersistedScheduleEvent(bc) };
266
+ default: {
267
+ bc.offset = offset;
268
+ throw new bare.BareError(offset, "invalid tag");
269
+ }
270
+ }
271
+ }
272
+ function writePersistedScheduleEventKind(bc, x) {
273
+ switch (x.tag) {
274
+ case "GenericPersistedScheduleEvent": {
275
+ bare.writeU8(bc, 0);
276
+ writeGenericPersistedScheduleEvent(bc, x.val);
277
+ break;
278
+ }
279
+ }
280
+ }
281
+ function readPersistedScheduleEvent(bc) {
282
+ return {
283
+ eventId: bare.readString(bc),
284
+ timestamp: bare.readU64(bc),
285
+ kind: readPersistedScheduleEventKind(bc)
286
+ };
287
+ }
288
+ function writePersistedScheduleEvent(bc, x) {
289
+ bare.writeString(bc, x.eventId);
290
+ bare.writeU64(bc, x.timestamp);
291
+ writePersistedScheduleEventKind(bc, x.kind);
292
+ }
293
+ function read2(bc) {
294
+ const len = bare.readUintSafe(bc);
295
+ if (len === 0) {
296
+ return [];
297
+ }
298
+ const result = [readPersistedConnection(bc)];
299
+ for (let i = 1; i < len; i++) {
300
+ result[i] = readPersistedConnection(bc);
301
+ }
302
+ return result;
303
+ }
304
+ function write2(bc, x) {
305
+ bare.writeUintSafe(bc, x.length);
306
+ for (let i = 0; i < x.length; i++) {
307
+ writePersistedConnection(bc, x[i]);
308
+ }
309
+ }
310
+ function read3(bc) {
311
+ const len = bare.readUintSafe(bc);
312
+ if (len === 0) {
313
+ return [];
314
+ }
315
+ const result = [readPersistedScheduleEvent(bc)];
316
+ for (let i = 1; i < len; i++) {
317
+ result[i] = readPersistedScheduleEvent(bc);
318
+ }
319
+ return result;
320
+ }
321
+ function write3(bc, x) {
322
+ bare.writeUintSafe(bc, x.length);
323
+ for (let i = 0; i < x.length; i++) {
324
+ writePersistedScheduleEvent(bc, x[i]);
325
+ }
326
+ }
327
+ function readPersistedActor(bc) {
328
+ return {
329
+ input: read1(bc),
330
+ hasInitialized: bare.readBool(bc),
331
+ state: bare.readData(bc),
332
+ connections: read2(bc),
333
+ scheduledEvents: read3(bc)
334
+ };
335
+ }
336
+ function writePersistedActor(bc, x) {
337
+ write1(bc, x.input);
338
+ bare.writeBool(bc, x.hasInitialized);
339
+ bare.writeData(bc, x.state);
340
+ write2(bc, x.connections);
341
+ write3(bc, x.scheduledEvents);
342
+ }
343
+ function encodePersistedActor(x) {
344
+ const bc = new bare.ByteCursor(
345
+ new Uint8Array(config.initialBufferLength),
346
+ config
347
+ );
348
+ writePersistedActor(bc, x);
349
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
350
+ }
351
+ function decodePersistedActor(bytes) {
352
+ const bc = new bare.ByteCursor(bytes, config);
353
+ const result = readPersistedActor(bc);
354
+ if (bc.offset < bc.view.byteLength) {
355
+ throw new bare.BareError(bc.offset, "remaining bytes");
356
+ }
357
+ return result;
358
+ }
359
+
360
+ // dist/schemas/actor-persist/v2.ts
361
+
362
+ var config2 = /* @__PURE__ */ bare2.Config({});
363
+ function readPersistedSubscription2(bc) {
364
+ return {
365
+ eventName: bare2.readString(bc)
366
+ };
367
+ }
368
+ function writePersistedSubscription2(bc, x) {
369
+ bare2.writeString(bc, x.eventName);
370
+ }
371
+ function read02(bc) {
372
+ const len = bare2.readUintSafe(bc);
373
+ if (len === 0) {
374
+ return [];
375
+ }
376
+ const result = [readPersistedSubscription2(bc)];
377
+ for (let i = 1; i < len; i++) {
378
+ result[i] = readPersistedSubscription2(bc);
379
+ }
380
+ return result;
381
+ }
382
+ function write02(bc, x) {
383
+ bare2.writeUintSafe(bc, x.length);
384
+ for (let i = 0; i < x.length; i++) {
385
+ writePersistedSubscription2(bc, x[i]);
386
+ }
387
+ }
388
+ function read12(bc) {
389
+ return bare2.readBool(bc) ? bare2.readData(bc) : null;
390
+ }
391
+ function write12(bc, x) {
392
+ bare2.writeBool(bc, x !== null);
393
+ if (x !== null) {
394
+ bare2.writeData(bc, x);
395
+ }
396
+ }
397
+ function readPersistedConnection2(bc) {
398
+ return {
399
+ id: bare2.readString(bc),
400
+ token: bare2.readString(bc),
401
+ parameters: bare2.readData(bc),
402
+ state: bare2.readData(bc),
403
+ subscriptions: read02(bc),
404
+ lastSeen: bare2.readI64(bc),
405
+ hibernatableRequestId: read12(bc)
406
+ };
407
+ }
408
+ function writePersistedConnection2(bc, x) {
409
+ bare2.writeString(bc, x.id);
410
+ bare2.writeString(bc, x.token);
411
+ bare2.writeData(bc, x.parameters);
412
+ bare2.writeData(bc, x.state);
413
+ write02(bc, x.subscriptions);
414
+ bare2.writeI64(bc, x.lastSeen);
415
+ write12(bc, x.hibernatableRequestId);
416
+ }
417
+ function readGenericPersistedScheduleEvent2(bc) {
418
+ return {
419
+ action: bare2.readString(bc),
420
+ args: read12(bc)
421
+ };
422
+ }
423
+ function writeGenericPersistedScheduleEvent2(bc, x) {
424
+ bare2.writeString(bc, x.action);
425
+ write12(bc, x.args);
426
+ }
427
+ function readPersistedScheduleEventKind2(bc) {
428
+ const offset = bc.offset;
429
+ const tag = bare2.readU8(bc);
430
+ switch (tag) {
431
+ case 0:
432
+ return { tag: "GenericPersistedScheduleEvent", val: readGenericPersistedScheduleEvent2(bc) };
433
+ default: {
434
+ bc.offset = offset;
435
+ throw new bare2.BareError(offset, "invalid tag");
436
+ }
437
+ }
438
+ }
439
+ function writePersistedScheduleEventKind2(bc, x) {
440
+ switch (x.tag) {
441
+ case "GenericPersistedScheduleEvent": {
442
+ bare2.writeU8(bc, 0);
443
+ writeGenericPersistedScheduleEvent2(bc, x.val);
444
+ break;
445
+ }
446
+ }
447
+ }
448
+ function readPersistedScheduleEvent2(bc) {
449
+ return {
450
+ eventId: bare2.readString(bc),
451
+ timestamp: bare2.readI64(bc),
452
+ kind: readPersistedScheduleEventKind2(bc)
453
+ };
454
+ }
455
+ function writePersistedScheduleEvent2(bc, x) {
456
+ bare2.writeString(bc, x.eventId);
457
+ bare2.writeI64(bc, x.timestamp);
458
+ writePersistedScheduleEventKind2(bc, x.kind);
459
+ }
460
+ function readPersistedHibernatableWebSocket(bc) {
461
+ return {
462
+ requestId: bare2.readData(bc),
463
+ lastSeenTimestamp: bare2.readI64(bc),
464
+ msgIndex: bare2.readI64(bc)
465
+ };
466
+ }
467
+ function writePersistedHibernatableWebSocket(bc, x) {
468
+ bare2.writeData(bc, x.requestId);
469
+ bare2.writeI64(bc, x.lastSeenTimestamp);
470
+ bare2.writeI64(bc, x.msgIndex);
471
+ }
472
+ function read22(bc) {
473
+ const len = bare2.readUintSafe(bc);
474
+ if (len === 0) {
475
+ return [];
476
+ }
477
+ const result = [readPersistedConnection2(bc)];
478
+ for (let i = 1; i < len; i++) {
479
+ result[i] = readPersistedConnection2(bc);
480
+ }
481
+ return result;
482
+ }
483
+ function write22(bc, x) {
484
+ bare2.writeUintSafe(bc, x.length);
485
+ for (let i = 0; i < x.length; i++) {
486
+ writePersistedConnection2(bc, x[i]);
487
+ }
488
+ }
489
+ function read32(bc) {
490
+ const len = bare2.readUintSafe(bc);
491
+ if (len === 0) {
492
+ return [];
493
+ }
494
+ const result = [readPersistedScheduleEvent2(bc)];
495
+ for (let i = 1; i < len; i++) {
496
+ result[i] = readPersistedScheduleEvent2(bc);
497
+ }
498
+ return result;
499
+ }
500
+ function write32(bc, x) {
501
+ bare2.writeUintSafe(bc, x.length);
502
+ for (let i = 0; i < x.length; i++) {
503
+ writePersistedScheduleEvent2(bc, x[i]);
504
+ }
505
+ }
506
+ function read4(bc) {
507
+ const len = bare2.readUintSafe(bc);
508
+ if (len === 0) {
509
+ return [];
510
+ }
511
+ const result = [readPersistedHibernatableWebSocket(bc)];
512
+ for (let i = 1; i < len; i++) {
513
+ result[i] = readPersistedHibernatableWebSocket(bc);
514
+ }
515
+ return result;
516
+ }
517
+ function write4(bc, x) {
518
+ bare2.writeUintSafe(bc, x.length);
519
+ for (let i = 0; i < x.length; i++) {
520
+ writePersistedHibernatableWebSocket(bc, x[i]);
521
+ }
522
+ }
523
+ function readPersistedActor2(bc) {
524
+ return {
525
+ input: read12(bc),
526
+ hasInitialized: bare2.readBool(bc),
527
+ state: bare2.readData(bc),
528
+ connections: read22(bc),
529
+ scheduledEvents: read32(bc),
530
+ hibernatableWebSockets: read4(bc)
531
+ };
532
+ }
533
+ function writePersistedActor2(bc, x) {
534
+ write12(bc, x.input);
535
+ bare2.writeBool(bc, x.hasInitialized);
536
+ bare2.writeData(bc, x.state);
537
+ write22(bc, x.connections);
538
+ write32(bc, x.scheduledEvents);
539
+ write4(bc, x.hibernatableWebSockets);
540
+ }
541
+ function encodePersistedActor2(x) {
542
+ const bc = new bare2.ByteCursor(
543
+ new Uint8Array(config2.initialBufferLength),
544
+ config2
545
+ );
546
+ writePersistedActor2(bc, x);
547
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
548
+ }
549
+ function decodePersistedActor2(bytes) {
550
+ const bc = new bare2.ByteCursor(bytes, config2);
551
+ const result = readPersistedActor2(bc);
552
+ if (bc.offset < bc.view.byteLength) {
553
+ throw new bare2.BareError(bc.offset, "remaining bytes");
554
+ }
555
+ return result;
556
+ }
557
+
558
+ // dist/schemas/actor-persist/v3.ts
559
+
560
+ var config3 = /* @__PURE__ */ bare3.Config({});
561
+ function readGatewayId(bc) {
562
+ return bare3.readFixedData(bc, 4);
563
+ }
564
+ function writeGatewayId(bc, x) {
565
+ assert(x.byteLength === 4);
566
+ bare3.writeFixedData(bc, x);
567
+ }
568
+ function readRequestId(bc) {
569
+ return bare3.readFixedData(bc, 4);
570
+ }
571
+ function writeRequestId(bc, x) {
572
+ assert(x.byteLength === 4);
573
+ bare3.writeFixedData(bc, x);
574
+ }
575
+ function readCbor(bc) {
576
+ return bare3.readData(bc);
577
+ }
578
+ function writeCbor(bc, x) {
579
+ bare3.writeData(bc, x);
580
+ }
581
+ function readSubscription(bc) {
582
+ return {
583
+ eventName: bare3.readString(bc)
584
+ };
585
+ }
586
+ function writeSubscription(bc, x) {
587
+ bare3.writeString(bc, x.eventName);
588
+ }
589
+ function read03(bc) {
590
+ const len = bare3.readUintSafe(bc);
591
+ if (len === 0) {
592
+ return [];
593
+ }
594
+ const result = [readSubscription(bc)];
595
+ for (let i = 1; i < len; i++) {
596
+ result[i] = readSubscription(bc);
597
+ }
598
+ return result;
599
+ }
600
+ function write03(bc, x) {
601
+ bare3.writeUintSafe(bc, x.length);
602
+ for (let i = 0; i < x.length; i++) {
603
+ writeSubscription(bc, x[i]);
604
+ }
605
+ }
606
+ function read13(bc) {
607
+ const len = bare3.readUintSafe(bc);
608
+ const result = /* @__PURE__ */ new Map();
609
+ for (let i = 0; i < len; i++) {
610
+ const offset = bc.offset;
611
+ const key = bare3.readString(bc);
612
+ if (result.has(key)) {
613
+ bc.offset = offset;
614
+ throw new bare3.BareError(offset, "duplicated key");
615
+ }
616
+ result.set(key, bare3.readString(bc));
617
+ }
618
+ return result;
619
+ }
620
+ function write13(bc, x) {
621
+ bare3.writeUintSafe(bc, x.size);
622
+ for (const kv of x) {
623
+ bare3.writeString(bc, kv[0]);
624
+ bare3.writeString(bc, kv[1]);
625
+ }
626
+ }
627
+ function readConn(bc) {
628
+ return {
629
+ id: bare3.readString(bc),
630
+ parameters: readCbor(bc),
631
+ state: readCbor(bc),
632
+ subscriptions: read03(bc),
633
+ gatewayId: readGatewayId(bc),
634
+ requestId: readRequestId(bc),
635
+ serverMessageIndex: bare3.readU16(bc),
636
+ clientMessageIndex: bare3.readU16(bc),
637
+ requestPath: bare3.readString(bc),
638
+ requestHeaders: read13(bc)
639
+ };
640
+ }
641
+ function writeConn(bc, x) {
642
+ bare3.writeString(bc, x.id);
643
+ writeCbor(bc, x.parameters);
644
+ writeCbor(bc, x.state);
645
+ write03(bc, x.subscriptions);
646
+ writeGatewayId(bc, x.gatewayId);
647
+ writeRequestId(bc, x.requestId);
648
+ bare3.writeU16(bc, x.serverMessageIndex);
649
+ bare3.writeU16(bc, x.clientMessageIndex);
650
+ bare3.writeString(bc, x.requestPath);
651
+ write13(bc, x.requestHeaders);
652
+ }
653
+ function encodeConn(x) {
654
+ const bc = new bare3.ByteCursor(
655
+ new Uint8Array(config3.initialBufferLength),
656
+ config3
657
+ );
658
+ writeConn(bc, x);
659
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
660
+ }
661
+ function decodeConn(bytes) {
662
+ const bc = new bare3.ByteCursor(bytes, config3);
663
+ const result = readConn(bc);
664
+ if (bc.offset < bc.view.byteLength) {
665
+ throw new bare3.BareError(bc.offset, "remaining bytes");
666
+ }
667
+ return result;
668
+ }
669
+ function read23(bc) {
670
+ return bare3.readBool(bc) ? readCbor(bc) : null;
671
+ }
672
+ function write23(bc, x) {
673
+ bare3.writeBool(bc, x !== null);
674
+ if (x !== null) {
675
+ writeCbor(bc, x);
676
+ }
677
+ }
678
+ function readScheduleEvent(bc) {
679
+ return {
680
+ eventId: bare3.readString(bc),
681
+ timestamp: bare3.readI64(bc),
682
+ action: bare3.readString(bc),
683
+ args: read23(bc)
684
+ };
685
+ }
686
+ function writeScheduleEvent(bc, x) {
687
+ bare3.writeString(bc, x.eventId);
688
+ bare3.writeI64(bc, x.timestamp);
689
+ bare3.writeString(bc, x.action);
690
+ write23(bc, x.args);
691
+ }
692
+ function read33(bc) {
693
+ const len = bare3.readUintSafe(bc);
694
+ if (len === 0) {
695
+ return [];
696
+ }
697
+ const result = [readScheduleEvent(bc)];
698
+ for (let i = 1; i < len; i++) {
699
+ result[i] = readScheduleEvent(bc);
700
+ }
701
+ return result;
702
+ }
703
+ function write33(bc, x) {
704
+ bare3.writeUintSafe(bc, x.length);
705
+ for (let i = 0; i < x.length; i++) {
706
+ writeScheduleEvent(bc, x[i]);
707
+ }
708
+ }
709
+ function readActor(bc) {
710
+ return {
711
+ input: read23(bc),
712
+ hasInitialized: bare3.readBool(bc),
713
+ state: readCbor(bc),
714
+ scheduledEvents: read33(bc)
715
+ };
716
+ }
717
+ function writeActor(bc, x) {
718
+ write23(bc, x.input);
719
+ bare3.writeBool(bc, x.hasInitialized);
720
+ writeCbor(bc, x.state);
721
+ write33(bc, x.scheduledEvents);
722
+ }
723
+ function encodeActor(x) {
724
+ const bc = new bare3.ByteCursor(
725
+ new Uint8Array(config3.initialBufferLength),
726
+ config3
727
+ );
728
+ writeActor(bc, x);
729
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
730
+ }
731
+ function decodeActor(bytes) {
732
+ const bc = new bare3.ByteCursor(bytes, config3);
733
+ const result = readActor(bc);
734
+ if (bc.offset < bc.view.byteLength) {
735
+ throw new bare3.BareError(bc.offset, "remaining bytes");
736
+ }
737
+ return result;
738
+ }
739
+ function assert(condition, message) {
740
+ if (!condition) throw new Error(_nullishCoalesce(message, () => ( "Assertion failed")));
741
+ }
742
+
743
+ // src/schemas/actor-persist/versioned.ts
744
+ var CURRENT_VERSION = 3;
745
+ var v1ToV2 = (v1Data) => ({
746
+ ...v1Data,
747
+ connections: v1Data.connections.map((conn) => ({
748
+ ...conn,
749
+ hibernatableRequestId: null
750
+ })),
751
+ hibernatableWebSockets: []
752
+ });
753
+ var v2ToV3 = (v2Data) => {
754
+ const scheduledEvents = v2Data.scheduledEvents.map(
755
+ (event) => {
756
+ if (event.kind.tag === "GenericPersistedScheduleEvent") {
757
+ return {
758
+ eventId: event.eventId,
759
+ timestamp: event.timestamp,
760
+ action: event.kind.val.action,
761
+ args: event.kind.val.args
762
+ };
763
+ }
764
+ throw new Error(`Unknown schedule event kind: ${event.kind.tag}`);
765
+ }
766
+ );
767
+ return {
768
+ input: v2Data.input,
769
+ hasInitialized: v2Data.hasInitialized,
770
+ state: v2Data.state,
771
+ scheduledEvents
772
+ };
773
+ };
774
+ var v3ToV2 = (v3Data) => {
775
+ const scheduledEvents = v3Data.scheduledEvents.map(
776
+ (event) => ({
777
+ eventId: event.eventId,
778
+ timestamp: event.timestamp,
779
+ kind: {
780
+ tag: "GenericPersistedScheduleEvent",
781
+ val: {
782
+ action: event.action,
783
+ args: event.args
784
+ }
785
+ }
786
+ })
787
+ );
788
+ return {
789
+ input: v3Data.input,
790
+ hasInitialized: v3Data.hasInitialized,
791
+ state: v3Data.state,
792
+ scheduledEvents,
793
+ connections: [],
794
+ hibernatableWebSockets: []
795
+ };
796
+ };
797
+ var v2ToV1 = (v2Data) => {
798
+ return {
799
+ input: v2Data.input,
800
+ hasInitialized: v2Data.hasInitialized,
801
+ state: v2Data.state,
802
+ scheduledEvents: v2Data.scheduledEvents,
803
+ connections: v2Data.connections.map((conn) => {
804
+ const { hibernatableRequestId, ...rest } = conn;
805
+ return rest;
806
+ })
807
+ };
808
+ };
809
+ var ACTOR_VERSIONED = _vbare.createVersionedDataHandler.call(void 0, {
810
+ deserializeVersion: (bytes, version) => {
811
+ switch (version) {
812
+ case 1:
813
+ return decodePersistedActor(bytes);
814
+ case 2:
815
+ return decodePersistedActor2(bytes);
816
+ case 3:
817
+ return decodeActor(bytes);
818
+ default:
819
+ throw new Error(`Unknown version ${version}`);
820
+ }
821
+ },
822
+ serializeVersion: (data, version) => {
823
+ switch (version) {
824
+ case 1:
825
+ return encodePersistedActor(data);
826
+ case 2:
827
+ return encodePersistedActor2(data);
828
+ case 3:
829
+ return encodeActor(data);
830
+ default:
831
+ throw new Error(`Unknown version ${version}`);
832
+ }
833
+ },
834
+ deserializeConverters: () => [v1ToV2, v2ToV3],
835
+ serializeConverters: () => [v3ToV2, v2ToV1]
836
+ });
837
+ var CONN_VERSIONED = _vbare.createVersionedDataHandler.call(void 0, {
838
+ deserializeVersion: (bytes, version) => {
839
+ switch (version) {
840
+ case 3:
841
+ return decodeConn(bytes);
842
+ default:
843
+ throw new Error(
844
+ `Conn type only exists in version 3+, got version ${version}`
845
+ );
846
+ }
847
+ },
848
+ serializeVersion: (data, version) => {
849
+ switch (version) {
850
+ case 3:
851
+ return encodeConn(data);
852
+ default:
853
+ throw new Error(
854
+ `Conn type only exists in version 3+, got version ${version}`
855
+ );
856
+ }
857
+ },
858
+ deserializeConverters: () => [],
859
+ serializeConverters: () => []
860
+ });
861
+
862
+ // src/driver-helpers/utils.ts
863
+ function serializeEmptyPersistData(input) {
864
+ const persistData = {
865
+ input: input !== void 0 ? _chunkAJ36VBHLcjs.bufferToArrayBuffer.call(void 0, cbor.encode(input)) : null,
866
+ hasInitialized: false,
867
+ state: _chunkAJ36VBHLcjs.bufferToArrayBuffer.call(void 0, cbor.encode(void 0)),
868
+ scheduledEvents: []
869
+ };
870
+ return ACTOR_VERSIONED.serializeWithEmbeddedVersion(
871
+ persistData,
872
+ CURRENT_VERSION
873
+ );
874
+ }
875
+ function getInitialActorKvState(input) {
876
+ const persistData = serializeEmptyPersistData(input);
877
+ return [[KEYS.PERSIST_DATA, persistData]];
878
+ }
879
+
880
+
881
+
882
+
883
+
884
+
885
+
886
+
887
+
888
+
889
+
890
+ exports.CURRENT_VERSION = CURRENT_VERSION; exports.ACTOR_VERSIONED = ACTOR_VERSIONED; exports.CONN_VERSIONED = CONN_VERSIONED; exports.KEYS = KEYS; exports.makeConnKey = makeConnKey; exports.ClientConfigSchema = ClientConfigSchema; exports.DriverConfigSchema = DriverConfigSchema; exports.RunnerConfigSchema = RunnerConfigSchema; exports.getInitialActorKvState = getInitialActorKvState;
891
+ //# sourceMappingURL=chunk-SE37OCA2.cjs.map