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
@@ -4,12 +4,13 @@ import {
4
4
  inspectorLogger,
5
5
  isInspectorEnabled,
6
6
  secureInspector
7
- } from "./chunk-2NNICHGY.js";
7
+ } from "./chunk-EVQJYFFP.js";
8
8
  import {
9
9
  ActionContext,
10
10
  ActorDefinition,
11
11
  CONN_DRIVER_SYMBOL,
12
12
  CONN_STATE_MANAGER_SYMBOL,
13
+ CURRENT_VERSION,
13
14
  HTTP_ACTION_REQUEST_VERSIONED,
14
15
  HTTP_ACTION_RESPONSE_VERSIONED,
15
16
  HTTP_RESPONSE_ERROR_VERSIONED,
@@ -28,17 +29,16 @@ import {
28
29
  parseMessage,
29
30
  serializeActorKey,
30
31
  updateRunnerConfig
31
- } from "./chunk-BBTOBXEO.js";
32
+ } from "./chunk-CHPLLKNL.js";
32
33
  import {
33
34
  CreateActorSchema
34
- } from "./chunk-6F2NCX7R.js";
35
+ } from "./chunk-WUFUT7CZ.js";
35
36
  import {
36
37
  ClientConfigSchema,
37
38
  KEYS,
38
39
  RunnerConfigSchema,
39
- createVersionedDataHandler,
40
40
  getInitialActorKvState
41
- } from "./chunk-5YDKTW6Y.js";
41
+ } from "./chunk-CGIRSKRW.js";
42
42
  import {
43
43
  EncodingSchema,
44
44
  HEADER_ACTOR_ID,
@@ -60,7 +60,7 @@ import {
60
60
  generateRandomString,
61
61
  loggerWithoutContext,
62
62
  serializeWithEncoding
63
- } from "./chunk-C3UREFUI.js";
63
+ } from "./chunk-HXWPIIEM.js";
64
64
  import {
65
65
  VERSION,
66
66
  arrayBuffersEqual,
@@ -76,7 +76,7 @@ import {
76
76
  promiseWithResolvers,
77
77
  setLongTimeout,
78
78
  stringifyError
79
- } from "./chunk-KSQQU7NC.js";
79
+ } from "./chunk-YJXB7BPR.js";
80
80
  import {
81
81
  ActorDuplicateKey,
82
82
  ActorStopping,
@@ -87,30 +87,31 @@ import {
87
87
  Unsupported,
88
88
  UserError,
89
89
  WebSocketsNotEnabled
90
- } from "./chunk-LQOCWGP6.js";
90
+ } from "./chunk-P2RZJPYI.js";
91
91
 
92
92
  // src/actor/config.ts
93
93
  import { z } from "zod";
94
+ var zFunction = () => z.custom((val) => typeof val === "function");
94
95
  var ActorConfigSchema = z.object({
95
- onCreate: z.function().optional(),
96
- onDestroy: z.function().optional(),
97
- onWake: z.function().optional(),
98
- onSleep: z.function().optional(),
99
- onStateChange: z.function().optional(),
100
- onBeforeConnect: z.function().optional(),
101
- onConnect: z.function().optional(),
102
- onDisconnect: z.function().optional(),
103
- onBeforeActionResponse: z.function().optional(),
104
- onRequest: z.function().optional(),
105
- onWebSocket: z.function().optional(),
106
- actions: z.record(z.function()).default({}),
96
+ onCreate: zFunction().optional(),
97
+ onDestroy: zFunction().optional(),
98
+ onWake: zFunction().optional(),
99
+ onSleep: zFunction().optional(),
100
+ onStateChange: zFunction().optional(),
101
+ onBeforeConnect: zFunction().optional(),
102
+ onConnect: zFunction().optional(),
103
+ onDisconnect: zFunction().optional(),
104
+ onBeforeActionResponse: zFunction().optional(),
105
+ onRequest: zFunction().optional(),
106
+ onWebSocket: zFunction().optional(),
107
+ actions: z.record(z.string(), zFunction()).default(() => ({})),
107
108
  state: z.any().optional(),
108
- createState: z.function().optional(),
109
+ createState: zFunction().optional(),
109
110
  connState: z.any().optional(),
110
- createConnState: z.function().optional(),
111
+ createConnState: zFunction().optional(),
111
112
  vars: z.any().optional(),
112
113
  db: z.any().optional(),
113
- createVars: z.function().optional(),
114
+ createVars: zFunction().optional(),
114
115
  options: z.object({
115
116
  createVarsTimeout: z.number().positive().default(5e3),
116
117
  createConnStateTimeout: z.number().positive().default(5e3),
@@ -135,9 +136,9 @@ var ActorConfigSchema = z.object({
135
136
  **/
136
137
  canHibernateWebSocket: z.union([
137
138
  z.boolean(),
138
- z.function().args(z.custom()).returns(z.boolean())
139
+ zFunction()
139
140
  ]).default(false)
140
- }).strict().default({})
141
+ }).strict().prefault(() => ({}))
141
142
  }).strict().refine(
142
143
  (data) => !(data.state !== void 0 && data.createState !== void 0),
143
144
  {
@@ -190,7 +191,7 @@ async function handleAction(c, _runConfig, actorDriver, actionName, actorId) {
190
191
  // JSON: args is already the decoded value (raw object/array)
191
192
  (json) => json.args,
192
193
  // BARE/CBOR: args is ArrayBuffer that needs CBOR-decoding
193
- (bare2) => cbor.decode(new Uint8Array(bare2.args))
194
+ (bare4) => cbor.decode(new Uint8Array(bare4.args))
194
195
  );
195
196
  const actionArgs = request;
196
197
  let actor2;
@@ -217,6 +218,7 @@ async function handleAction(c, _runConfig, actorDriver, actionName, actorId) {
217
218
  encoding,
218
219
  output,
219
220
  HTTP_ACTION_RESPONSE_VERSIONED,
221
+ CURRENT_VERSION,
220
222
  HttpActionResponseSchema,
221
223
  // JSON: output is the raw value (will be serialized by jsonStringifyCompat)
222
224
  (value) => ({ output: value }),
@@ -353,6 +355,7 @@ function handleRouteError(error, c) {
353
355
  encoding,
354
356
  errorData,
355
357
  HTTP_RESPONSE_ERROR_VERSIONED,
358
+ CURRENT_VERSION,
356
359
  HttpResponseErrorSchema,
357
360
  // JSON: metadata is the raw value (will be serialized by jsonStringifyCompat)
358
361
  (value) => ({
@@ -885,8 +888,8 @@ function createActorRouter(runConfig, actorDriver, isTest) {
885
888
 
886
889
  // src/actor/mod.ts
887
890
  function actor(input) {
888
- const config2 = ActorConfigSchema.parse(input);
889
- return new ActorDefinition(config2);
891
+ const config4 = ActorConfigSchema.parse(input);
892
+ return new ActorDefinition(config4);
890
893
  }
891
894
 
892
895
  // src/common/inline-websocket-adapter.ts
@@ -2031,19 +2034,12 @@ var FileSystemActorDriver = class {
2031
2034
  // src/drivers/file-system/global-state.ts
2032
2035
  import invariant4 from "invariant";
2033
2036
 
2034
- // dist/schemas/file-system-driver/v2.ts
2037
+ // src/schemas/file-system-driver/versioned.ts
2038
+ import { createVersionedDataHandler } from "vbare";
2039
+
2040
+ // dist/schemas/file-system-driver/v1.ts
2035
2041
  import * as bare from "@bare-ts/lib";
2036
2042
  var config = /* @__PURE__ */ bare.Config({});
2037
- function readActorKvEntry(bc) {
2038
- return {
2039
- key: bare.readData(bc),
2040
- value: bare.readData(bc)
2041
- };
2042
- }
2043
- function writeActorKvEntry(bc, x) {
2044
- bare.writeData(bc, x.key);
2045
- bare.writeData(bc, x.value);
2046
- }
2047
2043
  function read0(bc) {
2048
2044
  const len = bare.readUintSafe(bc);
2049
2045
  if (len === 0) {
@@ -2061,29 +2057,12 @@ function write0(bc, x) {
2061
2057
  bare.writeString(bc, x[i]);
2062
2058
  }
2063
2059
  }
2064
- function read1(bc) {
2065
- const len = bare.readUintSafe(bc);
2066
- if (len === 0) {
2067
- return [];
2068
- }
2069
- const result = [readActorKvEntry(bc)];
2070
- for (let i = 1; i < len; i++) {
2071
- result[i] = readActorKvEntry(bc);
2072
- }
2073
- return result;
2074
- }
2075
- function write1(bc, x) {
2076
- bare.writeUintSafe(bc, x.length);
2077
- for (let i = 0; i < x.length; i++) {
2078
- writeActorKvEntry(bc, x[i]);
2079
- }
2080
- }
2081
2060
  function readActorState(bc) {
2082
2061
  return {
2083
2062
  actorId: bare.readString(bc),
2084
2063
  name: bare.readString(bc),
2085
2064
  key: read0(bc),
2086
- kvStorage: read1(bc),
2065
+ persistedData: bare.readData(bc),
2087
2066
  createdAt: bare.readU64(bc)
2088
2067
  };
2089
2068
  }
@@ -2091,7 +2070,7 @@ function writeActorState(bc, x) {
2091
2070
  bare.writeString(bc, x.actorId);
2092
2071
  bare.writeString(bc, x.name);
2093
2072
  write0(bc, x.key);
2094
- write1(bc, x.kvStorage);
2073
+ bare.writeData(bc, x.persistedData);
2095
2074
  bare.writeU64(bc, x.createdAt);
2096
2075
  }
2097
2076
  function encodeActorState(x) {
@@ -2137,41 +2116,344 @@ function decodeActorAlarm(bytes) {
2137
2116
  return result;
2138
2117
  }
2139
2118
 
2119
+ // dist/schemas/file-system-driver/v2.ts
2120
+ import * as bare2 from "@bare-ts/lib";
2121
+ var config2 = /* @__PURE__ */ bare2.Config({});
2122
+ function readActorKvEntry(bc) {
2123
+ return {
2124
+ key: bare2.readData(bc),
2125
+ value: bare2.readData(bc)
2126
+ };
2127
+ }
2128
+ function writeActorKvEntry(bc, x) {
2129
+ bare2.writeData(bc, x.key);
2130
+ bare2.writeData(bc, x.value);
2131
+ }
2132
+ function read02(bc) {
2133
+ const len = bare2.readUintSafe(bc);
2134
+ if (len === 0) {
2135
+ return [];
2136
+ }
2137
+ const result = [bare2.readString(bc)];
2138
+ for (let i = 1; i < len; i++) {
2139
+ result[i] = bare2.readString(bc);
2140
+ }
2141
+ return result;
2142
+ }
2143
+ function write02(bc, x) {
2144
+ bare2.writeUintSafe(bc, x.length);
2145
+ for (let i = 0; i < x.length; i++) {
2146
+ bare2.writeString(bc, x[i]);
2147
+ }
2148
+ }
2149
+ function read1(bc) {
2150
+ const len = bare2.readUintSafe(bc);
2151
+ if (len === 0) {
2152
+ return [];
2153
+ }
2154
+ const result = [readActorKvEntry(bc)];
2155
+ for (let i = 1; i < len; i++) {
2156
+ result[i] = readActorKvEntry(bc);
2157
+ }
2158
+ return result;
2159
+ }
2160
+ function write1(bc, x) {
2161
+ bare2.writeUintSafe(bc, x.length);
2162
+ for (let i = 0; i < x.length; i++) {
2163
+ writeActorKvEntry(bc, x[i]);
2164
+ }
2165
+ }
2166
+ function readActorState2(bc) {
2167
+ return {
2168
+ actorId: bare2.readString(bc),
2169
+ name: bare2.readString(bc),
2170
+ key: read02(bc),
2171
+ kvStorage: read1(bc),
2172
+ createdAt: bare2.readU64(bc)
2173
+ };
2174
+ }
2175
+ function writeActorState2(bc, x) {
2176
+ bare2.writeString(bc, x.actorId);
2177
+ bare2.writeString(bc, x.name);
2178
+ write02(bc, x.key);
2179
+ write1(bc, x.kvStorage);
2180
+ bare2.writeU64(bc, x.createdAt);
2181
+ }
2182
+ function encodeActorState2(x) {
2183
+ const bc = new bare2.ByteCursor(
2184
+ new Uint8Array(config2.initialBufferLength),
2185
+ config2
2186
+ );
2187
+ writeActorState2(bc, x);
2188
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
2189
+ }
2190
+ function decodeActorState2(bytes) {
2191
+ const bc = new bare2.ByteCursor(bytes, config2);
2192
+ const result = readActorState2(bc);
2193
+ if (bc.offset < bc.view.byteLength) {
2194
+ throw new bare2.BareError(bc.offset, "remaining bytes");
2195
+ }
2196
+ return result;
2197
+ }
2198
+ function readActorAlarm2(bc) {
2199
+ return {
2200
+ actorId: bare2.readString(bc),
2201
+ timestamp: bare2.readUint(bc)
2202
+ };
2203
+ }
2204
+ function writeActorAlarm2(bc, x) {
2205
+ bare2.writeString(bc, x.actorId);
2206
+ bare2.writeUint(bc, x.timestamp);
2207
+ }
2208
+ function encodeActorAlarm2(x) {
2209
+ const bc = new bare2.ByteCursor(
2210
+ new Uint8Array(config2.initialBufferLength),
2211
+ config2
2212
+ );
2213
+ writeActorAlarm2(bc, x);
2214
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
2215
+ }
2216
+ function decodeActorAlarm2(bytes) {
2217
+ const bc = new bare2.ByteCursor(bytes, config2);
2218
+ const result = readActorAlarm2(bc);
2219
+ if (bc.offset < bc.view.byteLength) {
2220
+ throw new bare2.BareError(bc.offset, "remaining bytes");
2221
+ }
2222
+ return result;
2223
+ }
2224
+
2225
+ // dist/schemas/file-system-driver/v3.ts
2226
+ import * as bare3 from "@bare-ts/lib";
2227
+ var config3 = /* @__PURE__ */ bare3.Config({});
2228
+ function readActorKvEntry2(bc) {
2229
+ return {
2230
+ key: bare3.readData(bc),
2231
+ value: bare3.readData(bc)
2232
+ };
2233
+ }
2234
+ function writeActorKvEntry2(bc, x) {
2235
+ bare3.writeData(bc, x.key);
2236
+ bare3.writeData(bc, x.value);
2237
+ }
2238
+ function read03(bc) {
2239
+ const len = bare3.readUintSafe(bc);
2240
+ if (len === 0) {
2241
+ return [];
2242
+ }
2243
+ const result = [bare3.readString(bc)];
2244
+ for (let i = 1; i < len; i++) {
2245
+ result[i] = bare3.readString(bc);
2246
+ }
2247
+ return result;
2248
+ }
2249
+ function write03(bc, x) {
2250
+ bare3.writeUintSafe(bc, x.length);
2251
+ for (let i = 0; i < x.length; i++) {
2252
+ bare3.writeString(bc, x[i]);
2253
+ }
2254
+ }
2255
+ function read12(bc) {
2256
+ const len = bare3.readUintSafe(bc);
2257
+ if (len === 0) {
2258
+ return [];
2259
+ }
2260
+ const result = [readActorKvEntry2(bc)];
2261
+ for (let i = 1; i < len; i++) {
2262
+ result[i] = readActorKvEntry2(bc);
2263
+ }
2264
+ return result;
2265
+ }
2266
+ function write12(bc, x) {
2267
+ bare3.writeUintSafe(bc, x.length);
2268
+ for (let i = 0; i < x.length; i++) {
2269
+ writeActorKvEntry2(bc, x[i]);
2270
+ }
2271
+ }
2272
+ function read2(bc) {
2273
+ return bare3.readBool(bc) ? bare3.readU64(bc) : null;
2274
+ }
2275
+ function write2(bc, x) {
2276
+ bare3.writeBool(bc, x !== null);
2277
+ if (x !== null) {
2278
+ bare3.writeU64(bc, x);
2279
+ }
2280
+ }
2281
+ function readActorState3(bc) {
2282
+ return {
2283
+ actorId: bare3.readString(bc),
2284
+ name: bare3.readString(bc),
2285
+ key: read03(bc),
2286
+ kvStorage: read12(bc),
2287
+ createdAt: bare3.readU64(bc),
2288
+ startTs: read2(bc),
2289
+ connectableTs: read2(bc),
2290
+ sleepTs: read2(bc),
2291
+ destroyTs: read2(bc)
2292
+ };
2293
+ }
2294
+ function writeActorState3(bc, x) {
2295
+ bare3.writeString(bc, x.actorId);
2296
+ bare3.writeString(bc, x.name);
2297
+ write03(bc, x.key);
2298
+ write12(bc, x.kvStorage);
2299
+ bare3.writeU64(bc, x.createdAt);
2300
+ write2(bc, x.startTs);
2301
+ write2(bc, x.connectableTs);
2302
+ write2(bc, x.sleepTs);
2303
+ write2(bc, x.destroyTs);
2304
+ }
2305
+ function encodeActorState3(x) {
2306
+ const bc = new bare3.ByteCursor(
2307
+ new Uint8Array(config3.initialBufferLength),
2308
+ config3
2309
+ );
2310
+ writeActorState3(bc, x);
2311
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
2312
+ }
2313
+ function decodeActorState3(bytes) {
2314
+ const bc = new bare3.ByteCursor(bytes, config3);
2315
+ const result = readActorState3(bc);
2316
+ if (bc.offset < bc.view.byteLength) {
2317
+ throw new bare3.BareError(bc.offset, "remaining bytes");
2318
+ }
2319
+ return result;
2320
+ }
2321
+ function readActorAlarm3(bc) {
2322
+ return {
2323
+ actorId: bare3.readString(bc),
2324
+ timestamp: bare3.readUint(bc)
2325
+ };
2326
+ }
2327
+ function writeActorAlarm3(bc, x) {
2328
+ bare3.writeString(bc, x.actorId);
2329
+ bare3.writeUint(bc, x.timestamp);
2330
+ }
2331
+ function encodeActorAlarm3(x) {
2332
+ const bc = new bare3.ByteCursor(
2333
+ new Uint8Array(config3.initialBufferLength),
2334
+ config3
2335
+ );
2336
+ writeActorAlarm3(bc, x);
2337
+ return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
2338
+ }
2339
+ function decodeActorAlarm3(bytes) {
2340
+ const bc = new bare3.ByteCursor(bytes, config3);
2341
+ const result = readActorAlarm3(bc);
2342
+ if (bc.offset < bc.view.byteLength) {
2343
+ throw new bare3.BareError(bc.offset, "remaining bytes");
2344
+ }
2345
+ return result;
2346
+ }
2347
+
2140
2348
  // src/schemas/file-system-driver/versioned.ts
2141
- var CURRENT_VERSION = 2;
2142
- var migrations = /* @__PURE__ */ new Map([
2143
- [
2144
- 2,
2145
- (v1State) => {
2146
- const kvStorage = [];
2147
- if (v1State.persistedData) {
2148
- const key = new Uint8Array([1]);
2149
- kvStorage.push({
2150
- key: bufferToArrayBuffer(key),
2151
- value: v1State.persistedData
2152
- });
2153
- }
2154
- return {
2155
- actorId: v1State.actorId,
2156
- name: v1State.name,
2157
- key: v1State.key,
2158
- kvStorage,
2159
- createdAt: v1State.createdAt
2160
- };
2161
- }
2162
- ]
2163
- ]);
2349
+ var CURRENT_VERSION2 = 3;
2350
+ var v1ToV2 = (v1State) => {
2351
+ const kvStorage = [];
2352
+ if (v1State.persistedData) {
2353
+ const key = new Uint8Array([1]);
2354
+ kvStorage.push({
2355
+ key: bufferToArrayBuffer(key),
2356
+ value: v1State.persistedData
2357
+ });
2358
+ }
2359
+ return {
2360
+ actorId: v1State.actorId,
2361
+ name: v1State.name,
2362
+ key: v1State.key,
2363
+ kvStorage,
2364
+ createdAt: v1State.createdAt
2365
+ };
2366
+ };
2367
+ var v2ToV3 = (v2State) => {
2368
+ return {
2369
+ actorId: v2State.actorId,
2370
+ name: v2State.name,
2371
+ key: v2State.key,
2372
+ kvStorage: v2State.kvStorage,
2373
+ createdAt: v2State.createdAt,
2374
+ startTs: null,
2375
+ connectableTs: null,
2376
+ sleepTs: null,
2377
+ destroyTs: null
2378
+ };
2379
+ };
2380
+ var v3ToV2 = (v3State) => {
2381
+ return {
2382
+ actorId: v3State.actorId,
2383
+ name: v3State.name,
2384
+ key: v3State.key,
2385
+ kvStorage: v3State.kvStorage,
2386
+ createdAt: v3State.createdAt
2387
+ };
2388
+ };
2389
+ var v2ToV1 = (v2State) => {
2390
+ const persistDataEntry = v2State.kvStorage.find((entry) => {
2391
+ const key = new Uint8Array(entry.key);
2392
+ return key.length === 1 && key[0] === 1;
2393
+ });
2394
+ return {
2395
+ actorId: v2State.actorId,
2396
+ name: v2State.name,
2397
+ key: v2State.key,
2398
+ persistedData: (persistDataEntry == null ? void 0 : persistDataEntry.value) || new ArrayBuffer(0),
2399
+ createdAt: v2State.createdAt
2400
+ };
2401
+ };
2164
2402
  var ACTOR_STATE_VERSIONED = createVersionedDataHandler({
2165
- currentVersion: CURRENT_VERSION,
2166
- migrations,
2167
- serializeVersion: (data) => encodeActorState(data),
2168
- deserializeVersion: (bytes) => decodeActorState(bytes)
2403
+ deserializeVersion: (bytes, version) => {
2404
+ switch (version) {
2405
+ case 1:
2406
+ return decodeActorState(bytes);
2407
+ case 2:
2408
+ return decodeActorState2(bytes);
2409
+ case 3:
2410
+ return decodeActorState3(bytes);
2411
+ default:
2412
+ throw new Error(`Unknown version ${version}`);
2413
+ }
2414
+ },
2415
+ serializeVersion: (data, version) => {
2416
+ switch (version) {
2417
+ case 1:
2418
+ return encodeActorState(data);
2419
+ case 2:
2420
+ return encodeActorState2(data);
2421
+ case 3:
2422
+ return encodeActorState3(data);
2423
+ default:
2424
+ throw new Error(`Unknown version ${version}`);
2425
+ }
2426
+ },
2427
+ deserializeConverters: () => [v1ToV2, v2ToV3],
2428
+ serializeConverters: () => [v3ToV2, v2ToV1]
2169
2429
  });
2170
2430
  var ACTOR_ALARM_VERSIONED = createVersionedDataHandler({
2171
- currentVersion: CURRENT_VERSION,
2172
- migrations,
2173
- serializeVersion: (data) => encodeActorAlarm(data),
2174
- deserializeVersion: (bytes) => decodeActorAlarm(bytes)
2431
+ deserializeVersion: (bytes, version) => {
2432
+ switch (version) {
2433
+ case 1:
2434
+ return decodeActorAlarm(bytes);
2435
+ case 2:
2436
+ return decodeActorAlarm2(bytes);
2437
+ case 3:
2438
+ return decodeActorAlarm3(bytes);
2439
+ default:
2440
+ throw new Error(`Unknown version ${version}`);
2441
+ }
2442
+ },
2443
+ serializeVersion: (data, version) => {
2444
+ switch (version) {
2445
+ case 1:
2446
+ return encodeActorAlarm(data);
2447
+ case 2:
2448
+ return encodeActorAlarm2(data);
2449
+ case 3:
2450
+ return encodeActorAlarm3(data);
2451
+ default:
2452
+ throw new Error(`Unknown version ${version}`);
2453
+ }
2454
+ },
2455
+ deserializeConverters: () => [],
2456
+ serializeConverters: () => []
2175
2457
  });
2176
2458
 
2177
2459
  // src/drivers/file-system/log.ts
@@ -2383,7 +2665,11 @@ var FileSystemGlobalState = class {
2383
2665
  name,
2384
2666
  key,
2385
2667
  createdAt: BigInt(Date.now()),
2386
- kvStorage
2668
+ kvStorage,
2669
+ startTs: null,
2670
+ connectableTs: null,
2671
+ sleepTs: null,
2672
+ destroyTs: null
2387
2673
  };
2388
2674
  entry.lifecycleState = 1 /* AWAKE */;
2389
2675
  await this.writeActor(actorId, entry.generation, entry.state);
@@ -2453,7 +2739,11 @@ var FileSystemGlobalState = class {
2453
2739
  name,
2454
2740
  key,
2455
2741
  createdAt: BigInt(Date.now()),
2456
- kvStorage
2742
+ kvStorage,
2743
+ startTs: null,
2744
+ connectableTs: null,
2745
+ sleepTs: null,
2746
+ destroyTs: null
2457
2747
  };
2458
2748
  await this.writeActor(actorId, entry.generation, entry.state);
2459
2749
  }
@@ -2474,6 +2764,13 @@ var FileSystemGlobalState = class {
2474
2764
  if (actor2.loadPromise) await actor2.loadPromise.catch();
2475
2765
  if ((_a = actor2.startPromise) == null ? void 0 : _a.promise)
2476
2766
  await actor2.startPromise.promise.catch();
2767
+ if (actor2.state) {
2768
+ actor2.state = {
2769
+ ...actor2.state,
2770
+ sleepTs: BigInt(Date.now())
2771
+ };
2772
+ await this.writeActor(actorId, actor2.generation, actor2.state);
2773
+ }
2477
2774
  invariant4(actor2.actor, "actor should be loaded");
2478
2775
  await actor2.actor.onStop("sleep");
2479
2776
  this.#actors.delete(actorId);
@@ -2488,6 +2785,13 @@ var FileSystemGlobalState = class {
2488
2785
  if (actor2.loadPromise) await actor2.loadPromise.catch();
2489
2786
  if ((_a = actor2.startPromise) == null ? void 0 : _a.promise)
2490
2787
  await actor2.startPromise.promise.catch();
2788
+ if (actor2.state) {
2789
+ actor2.state = {
2790
+ ...actor2.state,
2791
+ destroyTs: BigInt(Date.now())
2792
+ };
2793
+ await this.writeActor(actorId, actor2.generation, actor2.state);
2794
+ }
2491
2795
  if (actor2.actor) {
2492
2796
  await actor2.actor.onStop("destroy");
2493
2797
  }
@@ -2591,7 +2895,8 @@ var FileSystemGlobalState = class {
2591
2895
  timestamp: BigInt(timestamp)
2592
2896
  };
2593
2897
  const data = ACTOR_ALARM_VERSIONED.serializeWithEmbeddedVersion(
2594
- alarmData
2898
+ alarmData,
2899
+ CURRENT_VERSION2
2595
2900
  );
2596
2901
  const fs = getNodeFs();
2597
2902
  await fs.writeFile(tempPath, data);
@@ -2636,9 +2941,16 @@ var FileSystemGlobalState = class {
2636
2941
  name: state.name,
2637
2942
  key: state.key,
2638
2943
  createdAt: state.createdAt,
2639
- kvStorage: state.kvStorage
2944
+ kvStorage: state.kvStorage,
2945
+ startTs: state.startTs,
2946
+ connectableTs: state.connectableTs,
2947
+ sleepTs: state.sleepTs,
2948
+ destroyTs: state.destroyTs
2640
2949
  };
2641
- const serializedState = ACTOR_STATE_VERSIONED.serializeWithEmbeddedVersion(bareState);
2950
+ const serializedState = ACTOR_STATE_VERSIONED.serializeWithEmbeddedVersion(
2951
+ bareState,
2952
+ CURRENT_VERSION2
2953
+ );
2642
2954
  const fs = getNodeFs();
2643
2955
  await fs.writeFile(tempPath, serializedState);
2644
2956
  if (!this.isGenerationCurrentAndNotDestroyed(actorId, generation)) {
@@ -2719,6 +3031,13 @@ var FileSystemGlobalState = class {
2719
3031
  entry.state.key,
2720
3032
  "unknown"
2721
3033
  );
3034
+ const now = BigInt(Date.now());
3035
+ entry.state = {
3036
+ ...entry.state,
3037
+ startTs: now,
3038
+ connectableTs: now
3039
+ };
3040
+ await this.writeActor(actorId, entry.generation, entry.state);
2722
3041
  entry.startPromise.resolve();
2723
3042
  entry.startPromise = void 0;
2724
3043
  return entry.actor;
@@ -3293,7 +3612,11 @@ var FileSystemManagerDriver = class {
3293
3612
  actorId: actor2.actorId,
3294
3613
  name: actor2.name,
3295
3614
  key: actor2.key,
3296
- createTs: Number(actor2.createdAt)
3615
+ createTs: Number(actor2.createdAt),
3616
+ startTs: actor2.startTs !== null ? Number(actor2.startTs) : null,
3617
+ connectableTs: actor2.connectableTs !== null ? Number(actor2.connectableTs) : null,
3618
+ sleepTs: actor2.sleepTs !== null ? Number(actor2.sleepTs) : null,
3619
+ destroyTs: actor2.destroyTs !== null ? Number(actor2.destroyTs) : null
3297
3620
  });
3298
3621
  }
3299
3622
  }
@@ -4237,17 +4560,17 @@ async function createTestWebSocketProxy(clientWsPromise) {
4237
4560
  import { z as z5 } from "zod";
4238
4561
  var ServerlessStartHeadersSchema = z5.object({
4239
4562
  endpoint: z5.string({
4240
- required_error: "x-rivet-endpoint header is required"
4563
+ error: "x-rivet-endpoint header is required"
4241
4564
  }),
4242
- token: z5.string({ invalid_type_error: "x-rivet-token header must be a string" }).optional(),
4565
+ token: z5.string({ error: "x-rivet-token header must be a string" }).optional(),
4243
4566
  totalSlots: z5.coerce.number({
4244
- invalid_type_error: "x-rivet-total-slots header must be a number"
4245
- }).int("x-rivet-total-slots header must be an integer").gte(1, "x-rivet-total-slots header must be positive"),
4567
+ error: "x-rivet-total-slots header must be a number"
4568
+ }).int({ error: "x-rivet-total-slots header must be an integer" }).gte(1, { error: "x-rivet-total-slots header must be positive" }),
4246
4569
  runnerName: z5.string({
4247
- required_error: "x-rivet-runner-name header is required"
4570
+ error: "x-rivet-runner-name header is required"
4248
4571
  }),
4249
4572
  namespace: z5.string({
4250
- required_error: "x-rivet-namespace-name header is required"
4573
+ error: "x-rivet-namespace-name header is required"
4251
4574
  })
4252
4575
  });
4253
4576
 
@@ -4754,10 +5077,10 @@ function createApiActor(actor2, runnerName = "default") {
4754
5077
  // Assert default namespace
4755
5078
  runner_name_selector: runnerName,
4756
5079
  create_ts: actor2.createTs ?? Date.now(),
4757
- connectable_ts: null,
4758
- destroy_ts: null,
4759
- sleep_ts: null,
4760
- start_ts: null
5080
+ connectable_ts: actor2.connectableTs ?? null,
5081
+ destroy_ts: actor2.destroyTs ?? null,
5082
+ sleep_ts: actor2.sleepTs ?? null,
5083
+ start_ts: actor2.startTs ?? null
4761
5084
  };
4762
5085
  }
4763
5086
 
@@ -4814,76 +5137,76 @@ var Registry = class {
4814
5137
  get config() {
4815
5138
  return this.#config;
4816
5139
  }
4817
- constructor(config2) {
4818
- this.#config = config2;
5140
+ constructor(config4) {
5141
+ this.#config = config4;
4819
5142
  }
4820
5143
  /**
4821
5144
  * Runs the registry for a server.
4822
5145
  */
4823
5146
  start(inputConfig) {
4824
5147
  var _a, _b, _c;
4825
- const config2 = RunnerConfigSchema.parse(inputConfig);
4826
- if (config2.autoConfigureServerless && config2.runnerKind !== "serverless") {
5148
+ const config4 = RunnerConfigSchema.parse(inputConfig);
5149
+ if (config4.autoConfigureServerless && config4.runnerKind !== "serverless") {
4827
5150
  throw new Error(
4828
5151
  "autoConfigureServerless can only be configured when runnerKind is 'serverless'"
4829
5152
  );
4830
5153
  }
4831
5154
  const readyPromises = [];
4832
- if (config2.runnerKind === "serverless") {
5155
+ if (config4.runnerKind === "serverless") {
4833
5156
  logger7().debug("disabling health check since using serverless");
4834
- config2.disableMetadataLookup = true;
5157
+ config4.disableMetadataLookup = true;
4835
5158
  }
4836
- if (process.env.NODE_ENV !== "production" && config2.runnerKind === "serverless") {
4837
- if ((inputConfig == null ? void 0 : inputConfig.runEngine) === void 0) config2.runEngine = true;
5159
+ if (process.env.NODE_ENV !== "production" && config4.runnerKind === "serverless") {
5160
+ if ((inputConfig == null ? void 0 : inputConfig.runEngine) === void 0) config4.runEngine = true;
4838
5161
  if ((inputConfig == null ? void 0 : inputConfig.autoConfigureServerless) === void 0)
4839
- config2.autoConfigureServerless = true;
5162
+ config4.autoConfigureServerless = true;
4840
5163
  }
4841
- if (config2.runEngine) {
5164
+ if (config4.runEngine) {
4842
5165
  logger7().debug({
4843
5166
  msg: "run engine requested",
4844
- version: config2.runEngineVersion
5167
+ version: config4.runEngineVersion
4845
5168
  });
4846
5169
  invariant7(
4847
- config2.endpoint === void 0,
5170
+ config4.endpoint === void 0,
4848
5171
  "cannot specify 'endpoint' with 'runEngine'"
4849
5172
  );
4850
- config2.endpoint = ENGINE_ENDPOINT;
4851
- config2.disableActorDriver = true;
5173
+ config4.endpoint = ENGINE_ENDPOINT;
5174
+ config4.disableActorDriver = true;
4852
5175
  const engineProcessPromise = ensureEngineProcess({
4853
- version: config2.runEngineVersion
5176
+ version: config4.runEngineVersion
4854
5177
  });
4855
5178
  readyPromises.push(engineProcessPromise);
4856
5179
  }
4857
- if (config2.runnerKind === "serverless") {
4858
- config2.defaultServerPort = 8080;
4859
- config2.overrideServerAddress = config2.endpoint;
4860
- config2.disableActorDriver = true;
5180
+ if (config4.runnerKind === "serverless") {
5181
+ config4.defaultServerPort = 8080;
5182
+ config4.overrideServerAddress = config4.endpoint;
5183
+ config4.disableActorDriver = true;
4861
5184
  }
4862
- if ((_a = config2.logging) == null ? void 0 : _a.baseLogger) {
4863
- configureBaseLogger(config2.logging.baseLogger);
5185
+ if ((_a = config4.logging) == null ? void 0 : _a.baseLogger) {
5186
+ configureBaseLogger(config4.logging.baseLogger);
4864
5187
  } else {
4865
- configureDefaultLogger((_b = config2.logging) == null ? void 0 : _b.level);
5188
+ configureDefaultLogger((_b = config4.logging) == null ? void 0 : _b.level);
4866
5189
  }
4867
- const driver = chooseDefaultDriver(config2);
5190
+ const driver = chooseDefaultDriver(config4);
4868
5191
  if (driver.name === "engine") {
4869
- config2.inspector.enabled = { manager: false, actor: true };
4870
- if (config2.runnerKind !== "serverless") {
4871
- config2.disableDefaultServer = true;
5192
+ config4.inspector.enabled = { manager: false, actor: true };
5193
+ if (config4.runnerKind !== "serverless") {
5194
+ config4.disableDefaultServer = true;
4872
5195
  }
4873
5196
  }
4874
5197
  if (driver.name === "cloudflare-workers") {
4875
- config2.inspector.enabled = { manager: false, actor: true };
4876
- config2.disableDefaultServer = true;
4877
- config2.disableActorDriver = true;
4878
- config2.noWelcome = true;
5198
+ config4.inspector.enabled = { manager: false, actor: true };
5199
+ config4.disableDefaultServer = true;
5200
+ config4.disableActorDriver = true;
5201
+ config4.noWelcome = true;
4879
5202
  }
4880
5203
  let upgradeWebSocket;
4881
- if (!config2.getUpgradeWebSocket) {
4882
- config2.getUpgradeWebSocket = () => upgradeWebSocket;
5204
+ if (!config4.getUpgradeWebSocket) {
5205
+ config4.getUpgradeWebSocket = () => upgradeWebSocket;
4883
5206
  }
4884
- const managerDriver = driver.manager(this.#config, config2);
4885
- configureInspectorAccessToken(config2, managerDriver);
4886
- const client = createClientWithDriver(managerDriver, config2);
5207
+ const managerDriver = driver.manager(this.#config, config4);
5208
+ configureInspectorAccessToken(config4, managerDriver);
5209
+ const client = createClientWithDriver(managerDriver, config4);
4887
5210
  const driverLog = ((_c = managerDriver.extraStartupLog) == null ? void 0 : _c.call(managerDriver)) ?? {};
4888
5211
  logger7().info({
4889
5212
  msg: "rivetkit ready",
@@ -4891,59 +5214,59 @@ var Registry = class {
4891
5214
  definitions: Object.keys(this.#config.use).length,
4892
5215
  ...driverLog
4893
5216
  });
4894
- if (isInspectorEnabled(config2, "manager") && managerDriver.inspector) {
5217
+ if (isInspectorEnabled(config4, "manager") && managerDriver.inspector) {
4895
5218
  logger7().info({
4896
5219
  msg: "inspector ready",
4897
- url: getInspectorUrl(config2)
5220
+ url: getInspectorUrl(config4)
4898
5221
  });
4899
5222
  }
4900
- if (!config2.noWelcome) {
5223
+ if (!config4.noWelcome) {
4901
5224
  const displayInfo = managerDriver.displayInformation();
4902
5225
  console.log();
4903
5226
  console.log(` RivetKit ${package_default.version} (${displayInfo.name})`);
4904
- if (!config2.disableDefaultServer) {
4905
- console.log(` - Endpoint: ${getEndpoint(config2)}`);
4906
- } else if (config2.overrideServerAddress) {
5227
+ if (!config4.disableDefaultServer) {
5228
+ console.log(` - Endpoint: ${getEndpoint(config4)}`);
5229
+ } else if (config4.overrideServerAddress) {
4907
5230
  console.log(
4908
- ` - Endpoint: ${config2.overrideServerAddress}`
5231
+ ` - Endpoint: ${config4.overrideServerAddress}`
4909
5232
  );
4910
5233
  }
4911
- if (config2.runEngine) {
5234
+ if (config4.runEngine) {
4912
5235
  const padding = " ".repeat(Math.max(0, 13 - "Engine".length));
4913
- console.log(` - Engine:${padding}v${config2.runEngineVersion}`);
5236
+ console.log(` - Engine:${padding}v${config4.runEngineVersion}`);
4914
5237
  }
4915
5238
  for (const [k, v] of Object.entries(displayInfo.properties)) {
4916
5239
  const padding = " ".repeat(Math.max(0, 13 - k.length));
4917
5240
  console.log(` - ${k}:${padding}${v}`);
4918
5241
  }
4919
- if (isInspectorEnabled(config2, "manager") && managerDriver.inspector) {
4920
- console.log(` - Inspector: ${getInspectorUrl(config2)}`);
5242
+ if (isInspectorEnabled(config4, "manager") && managerDriver.inspector) {
5243
+ console.log(` - Inspector: ${getInspectorUrl(config4)}`);
4921
5244
  }
4922
5245
  console.log();
4923
5246
  }
4924
5247
  const { router: hono } = createManagerRouter(
4925
5248
  this.#config,
4926
- config2,
5249
+ config4,
4927
5250
  managerDriver,
4928
5251
  driver,
4929
5252
  client
4930
5253
  );
4931
- if (!config2.disableDefaultServer) {
5254
+ if (!config4.disableDefaultServer) {
4932
5255
  const serverPromise = (async () => {
4933
- const out = await crossPlatformServe(config2, hono);
5256
+ const out = await crossPlatformServe(config4, hono);
4934
5257
  upgradeWebSocket = out.upgradeWebSocket;
4935
5258
  })();
4936
5259
  readyPromises.push(serverPromise);
4937
5260
  }
4938
- if (!config2.disableActorDriver) {
5261
+ if (!config4.disableActorDriver) {
4939
5262
  Promise.all(readyPromises).then(async () => {
4940
5263
  logger7().debug("starting actor driver");
4941
- driver.actor(this.#config, config2, managerDriver, client);
5264
+ driver.actor(this.#config, config4, managerDriver, client);
4942
5265
  });
4943
5266
  }
4944
- if (config2.runnerKind === "serverless" && config2.autoConfigureServerless) {
5267
+ if (config4.runnerKind === "serverless" && config4.autoConfigureServerless) {
4945
5268
  Promise.all(readyPromises).then(async () => {
4946
- await configureServerlessRunner(config2);
5269
+ await configureServerlessRunner(config4);
4947
5270
  });
4948
5271
  }
4949
5272
  return {
@@ -4952,67 +5275,67 @@ var Registry = class {
4952
5275
  };
4953
5276
  }
4954
5277
  };
4955
- async function configureServerlessRunner(config2) {
5278
+ async function configureServerlessRunner(config4) {
4956
5279
  logger7().debug("configuring serverless runner");
4957
5280
  try {
4958
- if (!config2.runnerName) {
5281
+ if (!config4.runnerName) {
4959
5282
  throw new Error(
4960
5283
  "runnerName is required for serverless configuration"
4961
5284
  );
4962
5285
  }
4963
- if (!config2.namespace) {
5286
+ if (!config4.namespace) {
4964
5287
  throw new Error(
4965
5288
  "namespace is required for serverless configuration"
4966
5289
  );
4967
5290
  }
4968
- if (!config2.endpoint) {
5291
+ if (!config4.endpoint) {
4969
5292
  throw new Error(
4970
5293
  "endpoint is required for serverless configuration"
4971
5294
  );
4972
5295
  }
4973
- const customConfig = typeof config2.autoConfigureServerless === "object" ? config2.autoConfigureServerless : {};
5296
+ const customConfig = typeof config4.autoConfigureServerless === "object" ? config4.autoConfigureServerless : {};
4974
5297
  const clientConfig = {
4975
- endpoint: config2.endpoint,
4976
- token: config2.token,
4977
- namespace: config2.namespace,
4978
- runnerName: config2.runnerName,
4979
- encoding: config2.encoding,
4980
- headers: config2.headers,
4981
- getUpgradeWebSocket: config2.getUpgradeWebSocket,
5298
+ endpoint: config4.endpoint,
5299
+ token: config4.token,
5300
+ namespace: config4.namespace,
5301
+ runnerName: config4.runnerName,
5302
+ encoding: config4.encoding,
5303
+ headers: config4.headers,
5304
+ getUpgradeWebSocket: config4.getUpgradeWebSocket,
4982
5305
  disableMetadataLookup: true
4983
5306
  // We don't need health check for this operation
4984
5307
  };
4985
5308
  logger7().debug({
4986
5309
  msg: "fetching datacenters",
4987
- endpoint: config2.endpoint
5310
+ endpoint: config4.endpoint
4988
5311
  });
4989
5312
  const dcsRes = await getDatacenters(clientConfig);
4990
5313
  logger7().debug({
4991
5314
  msg: "configuring serverless runner",
4992
- runnerName: config2.runnerName,
4993
- namespace: config2.namespace
5315
+ runnerName: config4.runnerName,
5316
+ namespace: config4.namespace
4994
5317
  });
4995
5318
  const serverlessConfig = {
4996
5319
  serverless: {
4997
- url: customConfig.url || `http://localhost:${config2.defaultServerPort}`,
5320
+ url: customConfig.url || `http://localhost:${config4.defaultServerPort}`,
4998
5321
  headers: customConfig.headers || {},
4999
5322
  max_runners: customConfig.maxRunners ?? 100,
5000
5323
  min_runners: customConfig.minRunners ?? 0,
5001
5324
  request_lifespan: customConfig.requestLifespan ?? 15 * 60,
5002
5325
  runners_margin: customConfig.runnersMargin ?? 0,
5003
- slots_per_runner: customConfig.slotsPerRunner ?? config2.totalSlots ?? 1e3
5326
+ slots_per_runner: customConfig.slotsPerRunner ?? config4.totalSlots ?? 1e3
5004
5327
  },
5005
5328
  metadata: customConfig.metadata ?? {}
5006
5329
  };
5007
- await updateRunnerConfig(clientConfig, config2.runnerName, {
5330
+ await updateRunnerConfig(clientConfig, config4.runnerName, {
5008
5331
  datacenters: Object.fromEntries(
5009
5332
  dcsRes.datacenters.map((dc) => [dc.name, serverlessConfig])
5010
5333
  )
5011
5334
  });
5012
5335
  logger7().info({
5013
5336
  msg: "serverless runner configured successfully",
5014
- runnerName: config2.runnerName,
5015
- namespace: config2.namespace
5337
+ runnerName: config4.runnerName,
5338
+ namespace: config4.namespace
5016
5339
  });
5017
5340
  } catch (error) {
5018
5341
  logger7().error({
@@ -5022,8 +5345,8 @@ async function configureServerlessRunner(config2) {
5022
5345
  }
5023
5346
  }
5024
5347
  function setup(input) {
5025
- const config2 = RegistryConfigSchema.parse(input);
5026
- return new Registry(config2);
5348
+ const config4 = RegistryConfigSchema.parse(input);
5349
+ return new Registry(config4);
5027
5350
  }
5028
5351
 
5029
5352
  export {
@@ -5041,4 +5364,4 @@ export {
5041
5364
  setup
5042
5365
  };
5043
5366
  //! These configs configs hold anything that's not platform-specific about running actors.
5044
- //# sourceMappingURL=chunk-XU4GGB6J.js.map
5367
+ //# sourceMappingURL=chunk-QKDCNAPW.js.map