rivetkit 2.3.5-rc.1 → 2.3.6

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 (111) hide show
  1. package/dist/browser/client.d.ts +19 -5
  2. package/dist/browser/client.js +32 -9
  3. package/dist/browser/client.js.map +1 -1
  4. package/dist/browser/inspector/client.js +12 -2
  5. package/dist/browser/inspector/client.js.map +1 -1
  6. package/dist/tsup/agent-os/index.cjs +115 -5
  7. package/dist/tsup/agent-os/index.cjs.map +1 -1
  8. package/dist/tsup/agent-os/index.d.cts +19 -5
  9. package/dist/tsup/agent-os/index.d.ts +19 -5
  10. package/dist/tsup/agent-os/index.js +115 -5
  11. package/dist/tsup/agent-os/index.js.map +1 -1
  12. package/dist/tsup/{chunk-6HQCLWAW.cjs → chunk-234EFKN2.cjs} +13 -3
  13. package/dist/tsup/chunk-234EFKN2.cjs.map +1 -0
  14. package/dist/tsup/{chunk-NIC3QLKL.js → chunk-3ZE5UDOA.js} +3 -3
  15. package/dist/tsup/{chunk-4XKED5P5.cjs → chunk-AXEGEUYB.cjs} +262 -252
  16. package/dist/tsup/chunk-AXEGEUYB.cjs.map +1 -0
  17. package/dist/tsup/{chunk-P4OGQ4JL.js → chunk-BX4G2O6M.js} +3 -3
  18. package/dist/tsup/{chunk-GAV4PKFT.js → chunk-F6ZW7JZQ.js} +130 -120
  19. package/dist/tsup/chunk-F6ZW7JZQ.js.map +1 -0
  20. package/dist/tsup/{chunk-TR5NLR5V.cjs → chunk-FNTTW25Q.cjs} +4 -4
  21. package/dist/tsup/{chunk-TR5NLR5V.cjs.map → chunk-FNTTW25Q.cjs.map} +1 -1
  22. package/dist/tsup/{chunk-G3CCRCTK.cjs → chunk-HNHLBM3Y.cjs} +108 -6
  23. package/dist/tsup/chunk-HNHLBM3Y.cjs.map +1 -0
  24. package/dist/tsup/{chunk-UJ2FQY63.cjs → chunk-HVOKIYUB.cjs} +7 -7
  25. package/dist/tsup/{chunk-UJ2FQY63.cjs.map → chunk-HVOKIYUB.cjs.map} +1 -1
  26. package/dist/tsup/{chunk-PAG6G46L.js → chunk-OH6CBWUD.js} +2 -2
  27. package/dist/tsup/{chunk-TNIWIUNV.cjs → chunk-PD7SZKHY.cjs} +9 -9
  28. package/dist/tsup/{chunk-TNIWIUNV.cjs.map → chunk-PD7SZKHY.cjs.map} +1 -1
  29. package/dist/tsup/{chunk-MGTSVSUC.js → chunk-PLLHHJWR.js} +2 -2
  30. package/dist/tsup/{chunk-SHBE77IT.js → chunk-QWLJCP3X.js} +106 -4
  31. package/dist/tsup/chunk-QWLJCP3X.js.map +1 -0
  32. package/dist/tsup/{chunk-B4IZU537.js → chunk-RDTFPGU2.js} +13 -3
  33. package/dist/tsup/chunk-RDTFPGU2.js.map +1 -0
  34. package/dist/tsup/{chunk-M3FCXL3Q.cjs → chunk-WS3PP253.cjs} +3 -3
  35. package/dist/tsup/{chunk-M3FCXL3Q.cjs.map → chunk-WS3PP253.cjs.map} +1 -1
  36. package/dist/tsup/client/mod.cjs +5 -5
  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 +4 -4
  40. package/dist/tsup/common/log.cjs +2 -2
  41. package/dist/tsup/common/log.js +1 -1
  42. package/dist/tsup/common/websocket.cjs +3 -3
  43. package/dist/tsup/common/websocket.js +2 -2
  44. package/dist/tsup/{config-BzdqbLAP.d.ts → config-BRpVbJCD.d.ts} +20 -6
  45. package/dist/tsup/{config-CPPEwn_e.d.cts → config-BobvQpex.d.cts} +20 -6
  46. package/dist/tsup/{context-wWv-K2K_.d.ts → context-Cj-DFyiy.d.ts} +1 -1
  47. package/dist/tsup/{context-DSA9gFXB.d.cts → context-YEBNJrws.d.cts} +1 -1
  48. package/dist/tsup/db/drizzle.cjs +2 -2
  49. package/dist/tsup/db/drizzle.js +1 -1
  50. package/dist/tsup/db/mod.cjs +2 -2
  51. package/dist/tsup/db/mod.js +1 -1
  52. package/dist/tsup/dynamic/mod.cjs +2 -2
  53. package/dist/tsup/dynamic/mod.d.cts +1 -1
  54. package/dist/tsup/dynamic/mod.d.ts +1 -1
  55. package/dist/tsup/dynamic/mod.js +1 -1
  56. package/dist/tsup/inspector/mod.cjs +4 -4
  57. package/dist/tsup/inspector/mod.js +3 -3
  58. package/dist/tsup/inspector-tab/mod.cjs +2 -2
  59. package/dist/tsup/inspector-tab/mod.d.cts +2 -2
  60. package/dist/tsup/inspector-tab/mod.d.ts +2 -2
  61. package/dist/tsup/inspector-tab/mod.js +1 -1
  62. package/dist/tsup/mod.cjs +175 -85
  63. package/dist/tsup/mod.cjs.map +1 -1
  64. package/dist/tsup/mod.d.cts +3 -3
  65. package/dist/tsup/mod.d.ts +3 -3
  66. package/dist/tsup/mod.js +107 -17
  67. package/dist/tsup/mod.js.map +1 -1
  68. package/dist/tsup/test/mod.cjs +16 -13
  69. package/dist/tsup/test/mod.cjs.map +1 -1
  70. package/dist/tsup/test/mod.d.cts +1 -1
  71. package/dist/tsup/test/mod.d.ts +1 -1
  72. package/dist/tsup/test/mod.js +15 -12
  73. package/dist/tsup/test/mod.js.map +1 -1
  74. package/dist/tsup/unstable/migrations.cjs +101 -0
  75. package/dist/tsup/unstable/migrations.cjs.map +1 -0
  76. package/dist/tsup/unstable/migrations.d.cts +29 -0
  77. package/dist/tsup/unstable/migrations.d.ts +29 -0
  78. package/dist/tsup/unstable/migrations.js +101 -0
  79. package/dist/tsup/unstable/migrations.js.map +1 -0
  80. package/dist/tsup/utils.cjs +2 -2
  81. package/dist/tsup/utils.js +1 -1
  82. package/dist/tsup/workflow/mod.cjs +9 -9
  83. package/dist/tsup/workflow/mod.d.cts +3 -3
  84. package/dist/tsup/workflow/mod.d.ts +3 -3
  85. package/dist/tsup/workflow/mod.js +4 -4
  86. package/package.json +19 -9
  87. package/src/actor/actions.ts +119 -0
  88. package/src/actor/config.ts +61 -18
  89. package/src/actor/definition.ts +3 -0
  90. package/src/client/actor-common.ts +3 -1
  91. package/src/client/client.ts +24 -11
  92. package/src/registry/config/index.ts +2 -4
  93. package/src/registry/index.ts +86 -5
  94. package/src/registry/napi-runtime.ts +4 -0
  95. package/src/registry/native.ts +17 -16
  96. package/src/registry/runtime.ts +1 -0
  97. package/src/registry/wasm-runtime.ts +6 -0
  98. package/src/test/mod.ts +1 -19
  99. package/src/test/ready.ts +22 -0
  100. package/src/unstable/migrations.test.ts +170 -0
  101. package/src/unstable/migrations.ts +141 -0
  102. package/dist/tsup/chunk-4XKED5P5.cjs.map +0 -1
  103. package/dist/tsup/chunk-6HQCLWAW.cjs.map +0 -1
  104. package/dist/tsup/chunk-B4IZU537.js.map +0 -1
  105. package/dist/tsup/chunk-G3CCRCTK.cjs.map +0 -1
  106. package/dist/tsup/chunk-GAV4PKFT.js.map +0 -1
  107. package/dist/tsup/chunk-SHBE77IT.js.map +0 -1
  108. /package/dist/tsup/{chunk-NIC3QLKL.js.map → chunk-3ZE5UDOA.js.map} +0 -0
  109. /package/dist/tsup/{chunk-P4OGQ4JL.js.map → chunk-BX4G2O6M.js.map} +0 -0
  110. /package/dist/tsup/{chunk-PAG6G46L.js.map → chunk-OH6CBWUD.js.map} +0 -0
  111. /package/dist/tsup/{chunk-MGTSVSUC.js.map → chunk-PLLHHJWR.js.map} +0 -0
package/dist/tsup/mod.cjs CHANGED
@@ -1,6 +1,6 @@
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; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await rhsFn(); } } var _class; var _class2; var _class3;
2
2
 
3
- var _chunkTR5NLR5Vcjs = require('./chunk-TR5NLR5V.cjs');
3
+ var _chunkFNTTW25Qcjs = require('./chunk-FNTTW25Q.cjs');
4
4
 
5
5
 
6
6
 
@@ -10,9 +10,9 @@ var _chunkTR5NLR5Vcjs = require('./chunk-TR5NLR5V.cjs');
10
10
 
11
11
 
12
12
 
13
- var _chunkG3CCRCTKcjs = require('./chunk-G3CCRCTK.cjs');
14
13
 
15
14
 
15
+ var _chunkHNHLBM3Ycjs = require('./chunk-HNHLBM3Y.cjs');
16
16
 
17
17
 
18
18
 
@@ -20,13 +20,15 @@ var _chunkG3CCRCTKcjs = require('./chunk-G3CCRCTK.cjs');
20
20
 
21
21
 
22
22
 
23
- var _chunk4XKED5P5cjs = require('./chunk-4XKED5P5.cjs');
23
+
24
+
25
+ var _chunkAXEGEUYBcjs = require('./chunk-AXEGEUYB.cjs');
24
26
 
25
27
 
26
28
 
27
29
  var _chunkMYWZCDMLcjs = require('./chunk-MYWZCDML.cjs');
30
+ require('./chunk-WS3PP253.cjs');
28
31
  require('./chunk-UEULFXUI.cjs');
29
- require('./chunk-M3FCXL3Q.cjs');
30
32
 
31
33
 
32
34
 
@@ -59,7 +61,7 @@ require('./chunk-M3FCXL3Q.cjs');
59
61
 
60
62
 
61
63
 
62
- var _chunk6HQCLWAWcjs = require('./chunk-6HQCLWAW.cjs');
64
+ var _chunk234EFKN2cjs = require('./chunk-234EFKN2.cjs');
63
65
 
64
66
 
65
67
 
@@ -75,7 +77,7 @@ var _chunk4FC7TVS6cjs = require('./chunk-4FC7TVS6.cjs');
75
77
 
76
78
  // src/actor/log.ts
77
79
  function loggerWithoutContext() {
78
- return _chunk6HQCLWAWcjs.getLogger.call(void 0, "actor-runtime");
80
+ return _chunk234EFKN2cjs.getLogger.call(void 0, "actor-runtime");
79
81
  }
80
82
 
81
83
  // src/actor/definition.ts
@@ -114,7 +116,9 @@ function actor(input) {
114
116
  warnDeprecatedOptionKeys(
115
117
  input == null ? void 0 : input.options
116
118
  );
117
- const config = _chunkG3CCRCTKcjs.ActorConfigSchema.parse(input);
119
+ const config = _chunkHNHLBM3Ycjs.ActorConfigSchema.parse(input);
120
+ _chunkHNHLBM3Ycjs.flattenActionHandlers.call(void 0, config.actions);
121
+ _chunkHNHLBM3Ycjs.flattenActionInputSchemas.call(void 0, config.actions, config.actionInputSchemas);
118
122
  return new ActorDefinition(config);
119
123
  }
120
124
  function isStaticActorDefinition(definition) {
@@ -213,7 +217,7 @@ function validateSchemaSync(schemas, key, data) {
213
217
  var _virtualwebsocket = require('@rivetkit/virtual-websocket');
214
218
  var _ws = require('hono/ws');
215
219
  function logger() {
216
- return _chunk6HQCLWAWcjs.getLogger.call(void 0, "inline-websocket-adapter");
220
+ return _chunk234EFKN2cjs.getLogger.call(void 0, "inline-websocket-adapter");
217
221
  }
218
222
  var InlineWebSocketAdapter = class {
219
223
  #handler;
@@ -384,7 +388,7 @@ function isLocalEngineEndpoint(endpoint) {
384
388
 
385
389
  // src/registry/log.ts
386
390
  function logger2() {
387
- return _chunk6HQCLWAWcjs.getLogger.call(void 0, "registry");
391
+ return _chunk234EFKN2cjs.getLogger.call(void 0, "registry");
388
392
  }
389
393
 
390
394
  // src/serverless/configure.ts
@@ -430,8 +434,8 @@ async function configureServerlessPool(config) {
430
434
  );
431
435
  }
432
436
  const customConfig = config.configurePool;
433
- const clientConfig = _chunk4XKED5P5cjs.convertRegistryConfigToClientConfig.call(void 0, config);
434
- const dcsRes = await _chunk4XKED5P5cjs.getDatacenters.call(void 0, clientConfig);
437
+ const clientConfig = _chunkAXEGEUYBcjs.convertRegistryConfigToClientConfig.call(void 0, config);
438
+ const dcsRes = await _chunkAXEGEUYBcjs.getDatacenters.call(void 0, clientConfig);
435
439
  const poolName = _nullishCoalesce(customConfig.name, () => ( "default"));
436
440
  const serverlessToken = _nullishCoalesce(config.token, () => ( config.publicToken));
437
441
  const headers = {
@@ -453,7 +457,7 @@ async function configureServerlessPool(config) {
453
457
  metadata: _nullishCoalesce(customConfig.metadata, () => ( {})),
454
458
  drain_on_version_upgrade: _nullishCoalesce(customConfig.drainOnVersionUpgrade, () => ( true))
455
459
  };
456
- await _chunk4XKED5P5cjs.updateRunnerConfig.call(void 0, clientConfig, poolName, {
460
+ await _chunkAXEGEUYBcjs.updateRunnerConfig.call(void 0, clientConfig, poolName, {
457
461
  datacenters: Object.fromEntries(
458
462
  dcsRes.datacenters.map((dc) => [dc.name, serverlessConfig])
459
463
  )
@@ -470,7 +474,7 @@ async function configureServerlessPool(config) {
470
474
  logger2().warn({
471
475
  msg: "serverless pool configuration attempt failed",
472
476
  attempts,
473
- error: _chunk6HQCLWAWcjs.stringifyError.call(void 0, error)
477
+ error: _chunk234EFKN2cjs.stringifyError.call(void 0, error)
474
478
  });
475
479
  await sleep(CONFIGURE_RETRY_DELAY_MS);
476
480
  }
@@ -478,7 +482,7 @@ async function configureServerlessPool(config) {
478
482
  logger2().error({
479
483
  msg: "failed to configure serverless pool, validate endpoint is configured correctly then restart this process",
480
484
  attempts,
481
- error: _chunk6HQCLWAWcjs.stringifyError.call(void 0, lastError)
485
+ error: _chunk234EFKN2cjs.stringifyError.call(void 0, lastError)
482
486
  });
483
487
  throw lastError;
484
488
  }
@@ -490,20 +494,20 @@ var _zod = require('zod');
490
494
  var _v4 = require('zod/v4');
491
495
  var warnedMissingVersion = false;
492
496
  var EnvoyConfigSchema = _v4.z.object({
493
- poolName: _v4.z.string().default(() => _nullishCoalesce(_chunk6HQCLWAWcjs.getRivetPool.call(void 0, ), () => ( "default"))),
497
+ poolName: _v4.z.string().default(() => _nullishCoalesce(_chunk234EFKN2cjs.getRivetPool.call(void 0, ), () => ( "default"))),
494
498
  version: _v4.z.number().default(() => {
495
- const version = _chunk6HQCLWAWcjs.getRivetEnvoyVersion.call(void 0, );
499
+ const version = _chunk234EFKN2cjs.getRivetEnvoyVersion.call(void 0, );
496
500
  if (version !== void 0) return version;
497
- if (_chunk6HQCLWAWcjs.getNodeEnv.call(void 0, ) === "production" && !warnedMissingVersion) {
501
+ if (_chunk234EFKN2cjs.getNodeEnv.call(void 0, ) === "production" && !warnedMissingVersion) {
498
502
  warnedMissingVersion = true;
499
- _chunk6HQCLWAWcjs.getLogger.call(void 0, "rivetkit").error(
503
+ _chunk234EFKN2cjs.getLogger.call(void 0, "rivetkit").error(
500
504
  "RIVET_ENVOY_VERSION is not set. Actors will not be versioned, which means they won't be drained on deploy. This is only needed when self-hosting or using a custom envoy (not needed for Rivet Compute). Set this as a build arg in your Dockerfile. See https://rivet.dev/docs/actors/versions"
501
505
  );
502
506
  }
503
507
  return 1;
504
508
  }),
505
509
  // Deprecated.
506
- totalSlots: _v4.z.number().default(() => _nullishCoalesce(_chunk6HQCLWAWcjs.getRivetTotalSlots.call(void 0, ), () => ( 1e5))),
510
+ totalSlots: _v4.z.number().default(() => _nullishCoalesce(_chunk234EFKN2cjs.getRivetTotalSlots.call(void 0, ), () => ( 1e5))),
507
511
  envoyKey: _v4.z.string().optional()
508
512
  });
509
513
 
@@ -541,7 +545,7 @@ var ServerlessConfigSchema = _v4.z.object({
541
545
  *
542
546
  * Can also be set via RIVET_PUBLIC_ENDPOINT environment variable.
543
547
  */
544
- publicEndpoint: _v4.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunk6HQCLWAWcjs.getRivetPublicEndpoint.call(void 0, )))),
548
+ publicEndpoint: _v4.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunk234EFKN2cjs.getRivetPublicEndpoint.call(void 0, )))),
545
549
  /**
546
550
  * Token that clients should use when connecting via the public endpoint.
547
551
  *
@@ -549,7 +553,7 @@ var ServerlessConfigSchema = _v4.z.object({
549
553
  *
550
554
  * Can also be specified in the publicEndpoint URL as `https://namespace:token@host`.
551
555
  */
552
- publicToken: _v4.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunk6HQCLWAWcjs.getRivetPublicToken.call(void 0, ))))
556
+ publicToken: _v4.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunk234EFKN2cjs.getRivetPublicToken.call(void 0, ))))
553
557
  // There is no publicNamespace config option because the frontend and backend
554
558
  // cannot use different namespaces. The namespace is extracted from the
555
559
  // publicEndpoint URL auth syntax if provided.
@@ -603,7 +607,7 @@ var RegistryConfigSchema = _zod.z.object({
603
607
  * Runtime binding to use for RivetKit core.
604
608
  * */
605
609
  runtime: RuntimeKindSchema.optional().transform((val, ctx) => {
606
- const rawRuntime = _nullishCoalesce(val, () => ( _chunk6HQCLWAWcjs.getRivetkitRuntime.call(void 0, )));
610
+ const rawRuntime = _nullishCoalesce(val, () => ( _chunk234EFKN2cjs.getRivetkitRuntime.call(void 0, )));
607
611
  if (rawRuntime === void 0) {
608
612
  return "auto";
609
613
  }
@@ -640,7 +644,7 @@ var RegistryConfigSchema = _zod.z.object({
640
644
  * */
641
645
  logging: _zod.z.object({
642
646
  baseLogger: _zod.z.custom().optional(),
643
- level: _chunk6HQCLWAWcjs.LogLevelSchema.optional()
647
+ level: _chunk234EFKN2cjs.LogLevelSchema.optional()
644
648
  }).optional().default(() => ({})),
645
649
  // MARK: Routing
646
650
  // // This is a function to allow for lazy configuration of upgradeWebSocket on the
@@ -658,9 +662,9 @@ var RegistryConfigSchema = _zod.z.object({
658
662
  *
659
663
  * Can also be set via RIVET_ENDPOINT environment variables.
660
664
  */
661
- endpoint: _zod.z.string().optional().transform((val) => _nullishCoalesce(_nullishCoalesce(val, () => ( _chunk6HQCLWAWcjs.getRivetEngine.call(void 0, ))), () => ( _chunk6HQCLWAWcjs.getRivetEndpoint.call(void 0, )))),
662
- token: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunk6HQCLWAWcjs.getRivetToken.call(void 0, )))),
663
- namespace: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunk6HQCLWAWcjs.getRivetNamespace.call(void 0, )))),
665
+ endpoint: _zod.z.string().optional().transform((val) => _nullishCoalesce(_nullishCoalesce(val, () => ( _chunk234EFKN2cjs.getRivetEngine.call(void 0, ))), () => ( _chunk234EFKN2cjs.getRivetEndpoint.call(void 0, )))),
666
+ token: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunk234EFKN2cjs.getRivetToken.call(void 0, )))),
667
+ namespace: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunk234EFKN2cjs.getRivetNamespace.call(void 0, )))),
664
668
  headers: _zod.z.record(_zod.z.string(), _zod.z.string()).optional().default({}),
665
669
  // MARK: Client
666
670
  // TODO:
@@ -700,21 +704,21 @@ var RegistryConfigSchema = _zod.z.object({
700
704
  *
701
705
  * Starts the full Rust engine process locally.
702
706
  */
703
- startEngine: _zod.z.boolean().default(() => _chunk6HQCLWAWcjs.getRivetRunEngine.call(void 0, )),
707
+ startEngine: _zod.z.boolean().default(() => _chunk234EFKN2cjs.getRivetRunEngine.call(void 0, )),
704
708
  /**
705
709
  * @experimental
706
710
  *
707
711
  * Host to bind the spawned local engine process to.
708
712
  */
709
- engineHost: _zod.z.string().optional().default(() => _nullishCoalesce(_chunk6HQCLWAWcjs.getRivetRunEngineHost.call(void 0, ), () => ( ENGINE_HOST))),
713
+ engineHost: _zod.z.string().optional().default(() => _nullishCoalesce(_chunk234EFKN2cjs.getRivetRunEngineHost.call(void 0, ), () => ( ENGINE_HOST))),
710
714
  /**
711
715
  * @experimental
712
716
  *
713
717
  * Port to bind the spawned local engine process to.
714
718
  */
715
- enginePort: _zod.z.number().int().min(1).max(65535).optional().default(() => _nullishCoalesce(_chunk6HQCLWAWcjs.getRivetRunEnginePort.call(void 0, ), () => ( ENGINE_PORT))),
719
+ enginePort: _zod.z.number().int().min(1).max(65535).optional().default(() => _nullishCoalesce(_chunk234EFKN2cjs.getRivetRunEnginePort.call(void 0, ), () => ( ENGINE_PORT))),
716
720
  /** @experimental */
717
- engineVersion: _zod.z.string().optional().default(() => _nullishCoalesce(_chunk6HQCLWAWcjs.getRivetRunEngineVersion.call(void 0, ), () => ( _chunk6HQCLWAWcjs.VERSION))),
721
+ engineVersion: _zod.z.string().optional().default(() => _nullishCoalesce(_chunk234EFKN2cjs.getRivetRunEngineVersion.call(void 0, ), () => ( _chunk234EFKN2cjs.VERSION))),
718
722
  /**
719
723
  * @experimental
720
724
  *
@@ -762,7 +766,7 @@ var RegistryConfigSchema = _zod.z.object({
762
766
  }))
763
767
  }).transform((config, ctx) => {
764
768
  var _a, _b, _c;
765
- const isDevEnv = _chunk6HQCLWAWcjs.isDev.call(void 0, );
769
+ const isDevEnv = _chunk234EFKN2cjs.isDev.call(void 0, );
766
770
  const sqliteBackend = _nullishCoalesce(((_a = config.sqlite) == null ? void 0 : _a.backend), () => ( ((_b = config.test) == null ? void 0 : _b.sqliteBackend)));
767
771
  if (config.runtime === "wasm" && sqliteBackend === "local") {
768
772
  ctx.addIssue({
@@ -772,7 +776,7 @@ var RegistryConfigSchema = _zod.z.object({
772
776
  });
773
777
  }
774
778
  const sqlite = config.runtime === "wasm" && config.sqlite === void 0 ? { backend: "remote" } : config.sqlite;
775
- const parsedEndpoint = config.endpoint ? _chunk4XKED5P5cjs.tryParseEndpoint.call(void 0, ctx, {
779
+ const parsedEndpoint = config.endpoint ? _chunkAXEGEUYBcjs.tryParseEndpoint.call(void 0, ctx, {
776
780
  endpoint: config.endpoint,
777
781
  path: ["endpoint"],
778
782
  namespace: config.namespace,
@@ -794,13 +798,13 @@ var RegistryConfigSchema = _zod.z.object({
794
798
  config.engineHost,
795
799
  config.enginePort
796
800
  );
797
- const endpoint = config.startEngine ? localEngineEndpoint : _nullishCoalesce((parsedEndpoint == null ? void 0 : parsedEndpoint.endpoint), () => ( (isDevEnv ? buildEngineEndpoint(ENGINE_HOST, ENGINE_PORT) : void 0)));
801
+ const endpoint = config.startEngine ? localEngineEndpoint : _nullishCoalesce((parsedEndpoint == null ? void 0 : parsedEndpoint.endpoint), () => ( (isDevEnv ? localEngineEndpoint : void 0)));
798
802
  const validateServerlessEndpoint = Boolean(
799
803
  config.startEngine || parsedEndpoint
800
804
  );
801
805
  const namespace = _nullishCoalesce(_nullishCoalesce((parsedEndpoint == null ? void 0 : parsedEndpoint.namespace), () => ( config.namespace)), () => ( "default"));
802
806
  const token = _nullishCoalesce((parsedEndpoint == null ? void 0 : parsedEndpoint.token), () => ( config.token));
803
- const parsedPublicEndpoint = config.serverless.publicEndpoint ? _chunk4XKED5P5cjs.tryParseEndpoint.call(void 0, ctx, {
807
+ const parsedPublicEndpoint = config.serverless.publicEndpoint ? _chunkAXEGEUYBcjs.tryParseEndpoint.call(void 0, ctx, {
804
808
  endpoint: config.serverless.publicEndpoint,
805
809
  path: ["serverless", "publicEndpoint"]
806
810
  }) : void 0;
@@ -811,7 +815,7 @@ var RegistryConfigSchema = _zod.z.object({
811
815
  path: ["serverless", "publicEndpoint"]
812
816
  });
813
817
  }
814
- const publicEndpoint = _nullishCoalesce((parsedPublicEndpoint == null ? void 0 : parsedPublicEndpoint.endpoint), () => ( (isDevEnv && config.startEngine ? endpoint : void 0)));
818
+ const publicEndpoint = _nullishCoalesce((parsedPublicEndpoint == null ? void 0 : parsedPublicEndpoint.endpoint), () => ( (isDevEnv && !parsedEndpoint ? endpoint : void 0)));
815
819
  const publicNamespace = parsedPublicEndpoint == null ? void 0 : parsedPublicEndpoint.namespace;
816
820
  const publicToken = _nullishCoalesce((parsedPublicEndpoint == null ? void 0 : parsedPublicEndpoint.token), () => ( config.serverless.publicToken));
817
821
  return {
@@ -835,7 +839,7 @@ function buildActorNames(config) {
835
839
  Object.keys(config.use).map((actorName) => {
836
840
  const definition = config.use[actorName];
837
841
  const options = _nullishCoalesce(definition.config.options, () => ( {}));
838
- const runMeta = _chunkG3CCRCTKcjs.getRunMetadata.call(void 0, definition.config.run);
842
+ const runMeta = _chunkHNHLBM3Ycjs.getRunMetadata.call(void 0, definition.config.run);
839
843
  const metadata = {};
840
844
  metadata.icon = _nullishCoalesce(options.icon, () => ( runMeta.icon));
841
845
  metadata.name = _nullishCoalesce(options.name, () => ( runMeta.name));
@@ -903,7 +907,7 @@ var DocRegistryConfigSchema = _zod.z.object({
903
907
  noWelcome: _zod.z.boolean().optional().describe("Disable the welcome message on startup. Default: false"),
904
908
  sqlite: DocSqliteConfigSchema,
905
909
  logging: _zod.z.object({
906
- level: _chunk6HQCLWAWcjs.LogLevelSchema.optional().describe(
910
+ level: _chunk234EFKN2cjs.LogLevelSchema.optional().describe(
907
911
  "Log level for RivetKit. Default: 'warn'"
908
912
  )
909
913
  }).optional().describe("Logging configuration."),
@@ -1493,6 +1497,9 @@ var NapiCoreRuntime = (_class = class {
1493
1497
  async serveRegistry(registry, config) {
1494
1498
  await asNativeRegistry(registry).serve(config);
1495
1499
  }
1500
+ async waitRegistryReady(registry) {
1501
+ await asNativeRegistry(registry).waitReady();
1502
+ }
1496
1503
  async shutdownRegistry(registry) {
1497
1504
  await asNativeRegistry(registry).shutdown();
1498
1505
  }
@@ -2161,6 +2168,11 @@ var WasmCoreRuntime = (_class2 = class {
2161
2168
  async serveRegistry(registry, config) {
2162
2169
  await callWasm(() => asWasmRegistry(registry).serve(config));
2163
2170
  }
2171
+ async waitRegistryReady() {
2172
+ throw new Error(
2173
+ "registry.startAndWait() is not supported by the WASM runtime"
2174
+ );
2175
+ }
2164
2176
  async shutdownRegistry(registry) {
2165
2177
  await callWasm(() => asWasmRegistry(registry).shutdown());
2166
2178
  }
@@ -2972,7 +2984,7 @@ async function cleanupNativeSleepRuntimeState(runtime, ctx, afterTrackedWorkDrai
2972
2984
  }).catch((error) => {
2973
2985
  logger2().warn({
2974
2986
  msg: "deferred native sleep cleanup failed",
2975
- error: _chunk6HQCLWAWcjs.stringifyError.call(void 0, error)
2987
+ error: _chunk234EFKN2cjs.stringifyError.call(void 0, error)
2976
2988
  });
2977
2989
  });
2978
2990
  return;
@@ -3099,10 +3111,10 @@ function decodeValue(value) {
3099
3111
  if (!value || value.length === 0) {
3100
3112
  return void 0;
3101
3113
  }
3102
- return _chunk6HQCLWAWcjs.decodeCborCompat.call(void 0, value);
3114
+ return _chunk234EFKN2cjs.decodeCborCompat.call(void 0, value);
3103
3115
  }
3104
3116
  function encodeValue(value) {
3105
- return _chunk6HQCLWAWcjs.encodeCborCompat.call(void 0, value);
3117
+ return _chunk234EFKN2cjs.encodeCborCompat.call(void 0, value);
3106
3118
  }
3107
3119
  function normalizeArgs(value) {
3108
3120
  return Array.isArray(value) ? value : value === void 0 || value === null ? [] : [value];
@@ -3138,7 +3150,7 @@ function isStructuredBridgeError(error) {
3138
3150
  return _chunk4FC7TVS6cjs.isRivetErrorLike.call(void 0, error) && "__type" in error && (error.__type === "RivetError" || error.__type === "ActorError");
3139
3151
  }
3140
3152
  function encodeNativeCallbackError(error) {
3141
- const structuredError = isStructuredBridgeError(error) ? error : _chunk6HQCLWAWcjs.deconstructError.call(void 0, error, true);
3153
+ const structuredError = isStructuredBridgeError(error) ? error : _chunk234EFKN2cjs.deconstructError.call(void 0, error, true);
3142
3154
  const bridgeError = new Error(_chunk4FC7TVS6cjs.encodeBridgeRivetError.call(void 0, structuredError), {
3143
3155
  cause: error instanceof Error ? error : void 0
3144
3156
  });
@@ -3188,7 +3200,7 @@ function decodeWorkflowCbor(data) {
3188
3200
  return null;
3189
3201
  }
3190
3202
  try {
3191
- return _chunk6HQCLWAWcjs.decodeCborCompat.call(void 0, new Uint8Array(data));
3203
+ return _chunk234EFKN2cjs.decodeCborCompat.call(void 0, new Uint8Array(data));
3192
3204
  } catch (e5) {
3193
3205
  return null;
3194
3206
  }
@@ -3301,7 +3313,7 @@ function serializeWorkflowHistoryForJson(data) {
3301
3313
  if (data === null) {
3302
3314
  return null;
3303
3315
  }
3304
- const history = _chunkTR5NLR5Vcjs.decodeWorkflowHistoryTransport.call(void 0, data);
3316
+ const history = _chunkFNTTW25Qcjs.decodeWorkflowHistoryTransport.call(void 0, data);
3305
3317
  return jsonSafe({
3306
3318
  nameRegistry: [...history.nameRegistry],
3307
3319
  entries: history.entries.map((entry) => ({
@@ -3414,7 +3426,7 @@ var NativeConnAdapter = class {
3414
3426
  this.#schemas = schemas;
3415
3427
  this.#ctx = ctx;
3416
3428
  this.#queueHibernationRemoval = queueHibernationRemoval;
3417
- this[_chunkG3CCRCTKcjs.CONN_STATE_MANAGER_SYMBOL] = {
3429
+ this[_chunkHNHLBM3Ycjs.CONN_STATE_MANAGER_SYMBOL] = {
3418
3430
  stateEnabled: true,
3419
3431
  get state() {
3420
3432
  return thisConn.state;
@@ -3431,7 +3443,7 @@ var NativeConnAdapter = class {
3431
3443
  decodeValue(this.#runtime.connParams(this.#conn))
3432
3444
  );
3433
3445
  }
3434
- [_chunkG3CCRCTKcjs.RAW_STATE_SYMBOL]() {
3446
+ [_chunkHNHLBM3Ycjs.RAW_STATE_SYMBOL]() {
3435
3447
  return this.#readState();
3436
3448
  }
3437
3449
  get state() {
@@ -3442,12 +3454,12 @@ var NativeConnAdapter = class {
3442
3454
  this.#writeState(nextValue, { writeNative: true });
3443
3455
  },
3444
3456
  (newValue) => {
3445
- _chunk6HQCLWAWcjs.assertJsonCompatValue.call(void 0, newValue);
3457
+ _chunk234EFKN2cjs.assertJsonCompatValue.call(void 0, newValue);
3446
3458
  }
3447
3459
  );
3448
3460
  }
3449
3461
  set state(value) {
3450
- _chunk6HQCLWAWcjs.assertJsonCompatValue.call(void 0, value);
3462
+ _chunk234EFKN2cjs.assertJsonCompatValue.call(void 0, value);
3451
3463
  this.#writeState(value, { writeNative: true });
3452
3464
  }
3453
3465
  initializeState(value) {
@@ -4436,7 +4448,7 @@ var ActorContextHandleAdapter = class {
4436
4448
  this.#databaseProvider = databaseProvider;
4437
4449
  }
4438
4450
  this.#request = request;
4439
- this[_chunkG3CCRCTKcjs.ACTOR_CONTEXT_INTERNAL_SYMBOL] = new NativeWorkflowRuntimeAdapter(
4451
+ this[_chunkHNHLBM3Ycjs.ACTOR_CONTEXT_INTERNAL_SYMBOL] = new NativeWorkflowRuntimeAdapter(
4440
4452
  this
4441
4453
  );
4442
4454
  }
@@ -4472,7 +4484,7 @@ var ActorContextHandleAdapter = class {
4472
4484
  }
4473
4485
  throw databaseClientNotReadyError();
4474
4486
  }
4475
- [_chunkG3CCRCTKcjs.RAW_STATE_SYMBOL]() {
4487
+ [_chunkHNHLBM3Ycjs.RAW_STATE_SYMBOL]() {
4476
4488
  if (!this.#stateEnabled) {
4477
4489
  throw stateNotEnabledError();
4478
4490
  }
@@ -4493,7 +4505,7 @@ var ActorContextHandleAdapter = class {
4493
4505
  },
4494
4506
  (newValue) => {
4495
4507
  this.#assertCanMutateState();
4496
- _chunk6HQCLWAWcjs.assertJsonCompatValue.call(void 0, newValue);
4508
+ _chunk234EFKN2cjs.assertJsonCompatValue.call(void 0, newValue);
4497
4509
  }
4498
4510
  );
4499
4511
  }
@@ -4504,7 +4516,7 @@ var ActorContextHandleAdapter = class {
4504
4516
  throw stateNotEnabledError();
4505
4517
  }
4506
4518
  this.#assertCanMutateState();
4507
- _chunk6HQCLWAWcjs.assertJsonCompatValue.call(void 0, value);
4519
+ _chunk234EFKN2cjs.assertJsonCompatValue.call(void 0, value);
4508
4520
  this.#writeState(value, { scheduleSave: true });
4509
4521
  }
4510
4522
  initializeState(value) {
@@ -4780,7 +4792,7 @@ var ActorContextHandleAdapter = class {
4780
4792
  const trackedPromise = Promise.resolve(promise).catch((error) => {
4781
4793
  logger2().warn({
4782
4794
  msg: "keepAwake promise rejected",
4783
- error: _chunk6HQCLWAWcjs.stringifyError.call(void 0, error)
4795
+ error: _chunk234EFKN2cjs.stringifyError.call(void 0, error)
4784
4796
  });
4785
4797
  }).then(() => null);
4786
4798
  try {
@@ -5155,7 +5167,7 @@ function buildActorConfig(definition, registryConfig, runtimeKind) {
5155
5167
  maxOutgoingMessageSize: registryConfig.maxOutgoingMessageSize,
5156
5168
  preloadMaxWorkflowBytes: options.preloadMaxWorkflowBytes,
5157
5169
  preloadMaxConnectionsBytes: options.preloadMaxConnectionsBytes,
5158
- actions: Object.keys(_nullishCoalesce(config.actions, () => ( {}))).sort().map((name) => ({ name })),
5170
+ actions: Object.keys(_chunkHNHLBM3Ycjs.flattenActionHandlers.call(void 0, config.actions)).sort().map((name) => ({ name })),
5159
5171
  inspectorTabs: buildInspectorTabs(config.inspector, runtimeKind)
5160
5172
  };
5161
5173
  }
@@ -5232,18 +5244,19 @@ function buildNativeFactory(runtime, registryConfig, definition) {
5232
5244
  var _a;
5233
5245
  const config = definition.config;
5234
5246
  const databaseProvider = config.db;
5247
+ const actionHandlers = _chunkHNHLBM3Ycjs.flattenActionHandlers.call(void 0, config.actions);
5235
5248
  const schemaConfig = {
5236
- actionInputSchemas: config.actionInputSchemas,
5249
+ actionInputSchemas: _chunkHNHLBM3Ycjs.flattenActionInputSchemas.call(void 0,
5250
+ config.actions,
5251
+ config.actionInputSchemas
5252
+ ),
5237
5253
  connParamsSchema: config.connParamsSchema,
5238
5254
  events: config.events,
5239
5255
  queues: config.queues
5240
5256
  };
5241
- const actionHandlers = Object.fromEntries(
5242
- Object.entries(_nullishCoalesce(config.actions, () => ( {}))).map(([name, handler]) => [name, handler])
5243
- );
5244
- const createClient = () => _chunk4XKED5P5cjs.createClientWithDriver.call(void 0,
5245
- new (0, _chunk4XKED5P5cjs.RemoteEngineControlClient)(
5246
- _chunk4XKED5P5cjs.convertRegistryConfigToClientConfig.call(void 0, registryConfig)
5257
+ const createClient = () => _chunkAXEGEUYBcjs.createClientWithDriver.call(void 0,
5258
+ new (0, _chunkAXEGEUYBcjs.RemoteEngineControlClient)(
5259
+ _chunkAXEGEUYBcjs.convertRegistryConfigToClientConfig.call(void 0, registryConfig)
5247
5260
  ),
5248
5261
  { encoding: "bare" }
5249
5262
  );
@@ -5253,7 +5266,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
5253
5266
  ), () => ( false));
5254
5267
  const getNativeWorkflowInspector = (ctx) => {
5255
5268
  var _a2;
5256
- return (_a2 = _chunkG3CCRCTKcjs.getRunInspectorConfig.call(void 0,
5269
+ return (_a2 = _chunkHNHLBM3Ycjs.getRunInspectorConfig.call(void 0,
5257
5270
  config.run,
5258
5271
  callNativeSync(() => runtime.actorId(ctx))
5259
5272
  )) == null ? void 0 : _a2.workflow;
@@ -5426,7 +5439,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
5426
5439
  400
5427
5440
  );
5428
5441
  }
5429
- const cbor = _chunk6HQCLWAWcjs.encodeCborCompat.call(void 0,
5442
+ const cbor = _chunk234EFKN2cjs.encodeCborCompat.call(void 0,
5430
5443
  _nullishCoalesce(body.body, () => ( null))
5431
5444
  );
5432
5445
  const message = await runtime.actorQueueSend(ctx, name, cbor);
@@ -5812,7 +5825,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
5812
5825
  } finally {
5813
5826
  const actorId = callNativeSync(() => runtime.actorId(ctx));
5814
5827
  nativeRunHandlerActiveByActorId.delete(actorId);
5815
- _chunkG3CCRCTKcjs.disposeRunInspector.call(void 0, config.run, actorId);
5828
+ _chunkHNHLBM3Ycjs.disposeRunInspector.call(void 0, config.run, actorId);
5816
5829
  resolveNativeDestroy(runtime, ctx);
5817
5830
  await actorCtx.closeDatabase();
5818
5831
  clearNativeRuntimeState(runtime, ctx);
@@ -6008,7 +6021,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
6008
6021
  new Response(null, { status: 404 })
6009
6022
  );
6010
6023
  }
6011
- const rawConnParams = jsRequest.headers.get(_chunk4XKED5P5cjs.HEADER_CONN_PARAMS);
6024
+ const rawConnParams = jsRequest.headers.get(_chunkAXEGEUYBcjs.HEADER_CONN_PARAMS);
6012
6025
  let requestCtx;
6013
6026
  let conn;
6014
6027
  try {
@@ -6073,7 +6086,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
6073
6086
  }
6074
6087
  ) : void 0,
6075
6088
  run: (() => {
6076
- const run = _chunkG3CCRCTKcjs.getRunFunction.call(void 0, config.run);
6089
+ const run = _chunkHNHLBM3Ycjs.getRunFunction.call(void 0, config.run);
6077
6090
  if (!run) {
6078
6091
  return void 0;
6079
6092
  }
@@ -6092,7 +6105,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
6092
6105
  }
6093
6106
  );
6094
6107
  })(),
6095
- getWorkflowHistory: _chunkG3CCRCTKcjs.getRunInspectorConfig.call(void 0, config.run) !== void 0 ? wrapNativeCallback(
6108
+ getWorkflowHistory: _chunkHNHLBM3Ycjs.getRunInspectorConfig.call(void 0, config.run) !== void 0 ? wrapNativeCallback(
6096
6109
  async (error, payload) => {
6097
6110
  var _a2;
6098
6111
  const { ctx } = unwrapTsfnPayload(error, payload);
@@ -6100,7 +6113,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
6100
6113
  return history == null ? void 0 : encodeValue(history);
6101
6114
  }
6102
6115
  ) : void 0,
6103
- replayWorkflow: _chunkG3CCRCTKcjs.getRunInspectorConfig.call(void 0, config.run) !== void 0 ? wrapNativeCallback(
6116
+ replayWorkflow: _chunkHNHLBM3Ycjs.getRunInspectorConfig.call(void 0, config.run) !== void 0 ? wrapNativeCallback(
6104
6117
  async (error, payload) => {
6105
6118
  const { ctx, entryId } = unwrapTsfnPayload(
6106
6119
  error,
@@ -6236,7 +6249,7 @@ async function buildServeConfig(config) {
6236
6249
  poolName: config.envoy.poolName,
6237
6250
  handleInspectorHttpInRuntime: true,
6238
6251
  serverlessBasePath: config.serverless.basePath,
6239
- serverlessPackageVersion: _chunk6HQCLWAWcjs.VERSION,
6252
+ serverlessPackageVersion: _chunk234EFKN2cjs.VERSION,
6240
6253
  serverlessClientEndpoint: config.publicEndpoint,
6241
6254
  serverlessClientNamespace: config.publicNamespace,
6242
6255
  serverlessClientToken: config.publicToken,
@@ -6249,19 +6262,19 @@ async function buildServeConfig(config) {
6249
6262
  } catch (error) {
6250
6263
  logger2().warn({
6251
6264
  msg: "could not resolve a local engine binary; if a local engine must be spawned it will fail with engine.binary_unavailable \u2014 set RIVET_ENGINE_BINARY_PATH or install the @rivetkit/engine-cli platform package",
6252
- error: _chunk6HQCLWAWcjs.stringifyError.call(void 0, error)
6265
+ error: _chunk234EFKN2cjs.stringifyError.call(void 0, error)
6253
6266
  });
6254
6267
  }
6255
6268
  serveConfig.engineHost = config.engineHost;
6256
6269
  serveConfig.enginePort = config.enginePort;
6257
6270
  if ((_a = config.test) == null ? void 0 : _a.enabled) {
6258
- serveConfig.inspectorTestToken = _nullishCoalesce(_chunk6HQCLWAWcjs.getEnvUniversal.call(void 0, "_RIVET_TEST_INSPECTOR_TOKEN"), () => ( "token"));
6271
+ serveConfig.inspectorTestToken = _nullishCoalesce(_chunk234EFKN2cjs.getEnvUniversal.call(void 0, "_RIVET_TEST_INSPECTOR_TOKEN"), () => ( "token"));
6259
6272
  }
6260
6273
  return serveConfig;
6261
6274
  }
6262
6275
  async function buildRegistryWithRuntime(config, runtime) {
6263
6276
  var _a;
6264
- if (((_a = config.test) == null ? void 0 : _a.enabled) && _chunk6HQCLWAWcjs.getEnvUniversal.call(void 0, "_RIVET_TEST_INSPECTOR_TOKEN") === void 0) {
6277
+ if (((_a = config.test) == null ? void 0 : _a.enabled) && _chunk234EFKN2cjs.getEnvUniversal.call(void 0, "_RIVET_TEST_INSPECTOR_TOKEN") === void 0) {
6265
6278
  trySetProcessEnv("_RIVET_TEST_INSPECTOR_TOKEN", "token");
6266
6279
  }
6267
6280
  if (runtime.kind === "napi") {
@@ -6290,6 +6303,7 @@ async function buildConfiguredRegistry(config) {
6290
6303
  }
6291
6304
 
6292
6305
  // src/registry/index.ts
6306
+ var REGISTRY_READY_TIMEOUT_MS = 3e4;
6293
6307
  function signalExitCode(signal) {
6294
6308
  switch (signal) {
6295
6309
  case "SIGINT":
@@ -6315,6 +6329,8 @@ var Registry = class {
6315
6329
  return RegistryConfigSchema.parse(this.#config);
6316
6330
  }
6317
6331
  #runtimeServePromise;
6332
+ #runtimeServeLifecyclePromise;
6333
+ #runtimeReadyPromise;
6318
6334
  #runtimeServeConfiguredPromise;
6319
6335
  #runtimeServerlessPromise;
6320
6336
  #configureServerlessPoolPromise;
@@ -6326,7 +6342,7 @@ var Registry = class {
6326
6342
  var _a;
6327
6343
  this.#config = config;
6328
6344
  if ((_a = config.logging) == null ? void 0 : _a.baseLogger) {
6329
- _chunk6HQCLWAWcjs.configureBaseLogger.call(void 0, config.logging.baseLogger);
6345
+ _chunk234EFKN2cjs.configureBaseLogger.call(void 0, config.logging.baseLogger);
6330
6346
  }
6331
6347
  this.#buildConfiguredRegistry = _nullishCoalesce((deps == null ? void 0 : deps.buildConfiguredRegistry), () => ( buildConfiguredRegistry));
6332
6348
  this.routes = {
@@ -6550,8 +6566,8 @@ var Registry = class {
6550
6566
  * ```
6551
6567
  */
6552
6568
  async listen(opts = {}) {
6553
- const port = _nullishCoalesce(_nullishCoalesce(opts.port, () => ( _chunk6HQCLWAWcjs.parsePortEnv.call(void 0, process.env.RIVET_PORT))), () => ( 3e3));
6554
- const publicDir = _nullishCoalesce(opts.publicDir, () => ( _chunk6HQCLWAWcjs.getRivetkitPublicDir.call(void 0, )));
6569
+ const port = _nullishCoalesce(_nullishCoalesce(opts.port, () => ( _chunk234EFKN2cjs.parsePortEnv.call(void 0, process.env.RIVET_PORT))), () => ( 3e3));
6570
+ const publicDir = _nullishCoalesce(opts.publicDir, () => ( _chunk234EFKN2cjs.getRivetkitPublicDir.call(void 0, )));
6555
6571
  const config = this.parseConfig();
6556
6572
  const configuredRegistryPromise = buildConfiguredRegistry(config);
6557
6573
  this.#runtimeServeConfiguredPromise = configuredRegistryPromise;
@@ -6579,7 +6595,7 @@ var Registry = class {
6579
6595
  return jsonRouteResponse(503, {
6580
6596
  status: "not_started",
6581
6597
  runtime: "rivetkit",
6582
- version: _chunk6HQCLWAWcjs.VERSION
6598
+ version: _chunk234EFKN2cjs.VERSION
6583
6599
  });
6584
6600
  }
6585
6601
  const { runtime, registry } = configured;
@@ -6587,7 +6603,7 @@ var Registry = class {
6587
6603
  return jsonRouteResponse(501, {
6588
6604
  status: "unsupported",
6589
6605
  runtime: "rivetkit",
6590
- version: _chunk6HQCLWAWcjs.VERSION
6606
+ version: _chunk234EFKN2cjs.VERSION
6591
6607
  });
6592
6608
  }
6593
6609
  const response = await runtime.registryHealth(registry);
@@ -6661,11 +6677,16 @@ var Registry = class {
6661
6677
  if (!this.#runtimeServePromise) {
6662
6678
  const configuredRegistryPromise = this.#buildConfiguredRegistry(config);
6663
6679
  this.#runtimeServeConfiguredPromise = configuredRegistryPromise;
6664
- this.#runtimeServePromise = configuredRegistryPromise.then(async ({ runtime, registry, serveConfig }) => {
6665
- await runtime.serveRegistry(registry, serveConfig);
6666
- }).catch((error) => {
6667
- logger2().warn({ error }, "runtime registry serve errored");
6668
- });
6680
+ this.#runtimeServeLifecyclePromise = configuredRegistryPromise.then(
6681
+ async ({ runtime, registry, serveConfig }) => {
6682
+ await runtime.serveRegistry(registry, serveConfig);
6683
+ }
6684
+ );
6685
+ this.#runtimeServePromise = this.#runtimeServeLifecyclePromise.catch(
6686
+ (error) => {
6687
+ logger2().warn({ error }, "runtime registry serve errored");
6688
+ }
6689
+ );
6669
6690
  this.#installSignalHandlers(config);
6670
6691
  }
6671
6692
  if (printWelcome) {
@@ -6811,6 +6832,75 @@ var Registry = class {
6811
6832
  startEnvoy() {
6812
6833
  this.#startEnvoy(this.parseConfig(), true);
6813
6834
  }
6835
+ /**
6836
+ * Starts the serverful registry if needed and waits until its envoy has
6837
+ * registered with the Engine. Repeated and concurrent calls share one
6838
+ * startup lifecycle and readiness promise.
6839
+ *
6840
+ * Unlike {@link start}, this reports startup failures and does not resolve
6841
+ * merely because an HTTP health endpoint is listening.
6842
+ */
6843
+ startAndWait() {
6844
+ if (this.#shutdownInFlight !== null) {
6845
+ return Promise.reject(
6846
+ new Error("registry.startAndWait() cannot run after shutdown has begun")
6847
+ );
6848
+ }
6849
+ if (this.#runtimeReadyPromise) return this.#runtimeReadyPromise;
6850
+ if (_chunk234EFKN2cjs.getRivetkitRuntimeMode.call(void 0, ) === "serverless") {
6851
+ return Promise.reject(
6852
+ new Error(
6853
+ "registry.startAndWait() requires envoy runtime mode; serverless registries become ready per request"
6854
+ )
6855
+ );
6856
+ }
6857
+ const config = this.parseConfig();
6858
+ if (config.runtime === "wasm") {
6859
+ return Promise.reject(
6860
+ new Error(
6861
+ "registry.startAndWait() requires the native runtime; WebAssembly registries do not host an envoy"
6862
+ )
6863
+ );
6864
+ }
6865
+ this.#startEnvoy(config, true);
6866
+ const configuredRegistryPromise = this.#runtimeServeConfiguredPromise;
6867
+ const serveLifecyclePromise = this.#runtimeServeLifecyclePromise;
6868
+ if (!configuredRegistryPromise || !serveLifecyclePromise) {
6869
+ throw new Error("registry envoy startup did not initialize");
6870
+ }
6871
+ let timeout;
6872
+ const timeoutPromise = new Promise((_resolve, reject) => {
6873
+ var _a;
6874
+ timeout = setTimeout(
6875
+ () => reject(
6876
+ new Error(
6877
+ `RivetKit registry did not register with the Engine within ${REGISTRY_READY_TIMEOUT_MS}ms`
6878
+ )
6879
+ ),
6880
+ REGISTRY_READY_TIMEOUT_MS
6881
+ );
6882
+ (_a = timeout.unref) == null ? void 0 : _a.call(timeout);
6883
+ });
6884
+ const readinessPromise = (async () => {
6885
+ const { runtime, registry } = await configuredRegistryPromise;
6886
+ const stoppedBeforeReady = serveLifecyclePromise.then(() => {
6887
+ throw new Error("RivetKit registry stopped before becoming ready");
6888
+ });
6889
+ await Promise.race([
6890
+ runtime.waitRegistryReady(registry),
6891
+ stoppedBeforeReady
6892
+ ]);
6893
+ })();
6894
+ this.#runtimeReadyPromise = Promise.race([
6895
+ readinessPromise,
6896
+ timeoutPromise
6897
+ ]).finally(() => {
6898
+ if (timeout !== void 0) clearTimeout(timeout);
6899
+ });
6900
+ this.#runtimeReadyPromise.catch(() => {
6901
+ });
6902
+ return this.#runtimeReadyPromise;
6903
+ }
6814
6904
  /**
6815
6905
  * Starts the actor envoy for standalone server deployments.
6816
6906
  *
@@ -6825,8 +6915,8 @@ var Registry = class {
6825
6915
  * ```
6826
6916
  */
6827
6917
  start() {
6828
- if (_chunk6HQCLWAWcjs.getRivetkitRuntimeMode.call(void 0, ) === "serverless") {
6829
- const publicDir = _nullishCoalesce(_chunk6HQCLWAWcjs.getRivetkitPublicDir.call(void 0, ), () => ( "/public"));
6918
+ if (_chunk234EFKN2cjs.getRivetkitRuntimeMode.call(void 0, ) === "serverless") {
6919
+ const publicDir = _nullishCoalesce(_chunk234EFKN2cjs.getRivetkitPublicDir.call(void 0, ), () => ( "/public"));
6830
6920
  this.listen({ publicDir }).catch((error) => {
6831
6921
  logger2().error({ error }, "auto-listen failed; exiting");
6832
6922
  if (typeof process !== "undefined" && typeof process.exit === "function") {
@@ -6847,7 +6937,7 @@ var Registry = class {
6847
6937
  };
6848
6938
  console.log();
6849
6939
  console.log(
6850
- ` RivetKit ${_chunk6HQCLWAWcjs.VERSION} (Engine - ${kind === "serverless" ? "Serverless" : "Serverful"})`
6940
+ ` RivetKit ${_chunk234EFKN2cjs.VERSION} (Engine - ${kind === "serverless" ? "Serverless" : "Serverful"})`
6851
6941
  );
6852
6942
  if (config.namespace !== "default") {
6853
6943
  logLine("Namespace", config.namespace);
@@ -6922,5 +7012,5 @@ function setup(input) {
6922
7012
 
6923
7013
 
6924
7014
 
6925
- exports.ALLOWED_PUBLIC_HEADERS = _chunk4XKED5P5cjs.ALLOWED_PUBLIC_HEADERS; exports.ActorDefinition = ActorDefinition; exports.ActorError = _chunk4FC7TVS6cjs.RivetError; exports.ActorsSchema = ActorsSchema; exports.DocConfigurePoolSchema = DocConfigurePoolSchema; exports.DocEnvoyConfigSchema = DocEnvoyConfigSchema; exports.DocRegistryConfigSchema = DocRegistryConfigSchema; exports.DocServerlessConfigSchema = DocServerlessConfigSchema; exports.DocSqliteConfigSchema = DocSqliteConfigSchema; exports.InlineWebSocketAdapter = InlineWebSocketAdapter; exports.Registry = Registry; exports.RegistryConfigSchema = RegistryConfigSchema; exports.RivetError = _chunk4FC7TVS6cjs.RivetError; exports.RuntimeKindSchema = RuntimeKindSchema; exports.SqliteBackendSchema = SqliteBackendSchema; exports.SqliteConfigSchema = SqliteConfigSchema; exports.TestConfigSchema = TestConfigSchema; exports.UserError = _chunk4FC7TVS6cjs.UserError; exports.WasmRuntimeConfigSchema = WasmRuntimeConfigSchema; exports.actor = actor; exports.buildActorNames = buildActorNames; exports.createClientWithDriver = _chunk4XKED5P5cjs.createClientWithDriver; exports.event = event; exports.isStaticActorDefinition = isStaticActorDefinition; exports.isStaticActorInstance = isStaticActorInstance; exports.lookupInRegistry = lookupInRegistry; exports.noopNext = _chunk6HQCLWAWcjs.noopNext; exports.queue = queue; exports.setup = setup; exports.toUint8Array = _chunk6HQCLWAWcjs.toUint8Array;
7015
+ exports.ALLOWED_PUBLIC_HEADERS = _chunkAXEGEUYBcjs.ALLOWED_PUBLIC_HEADERS; exports.ActorDefinition = ActorDefinition; exports.ActorError = _chunk4FC7TVS6cjs.RivetError; exports.ActorsSchema = ActorsSchema; exports.DocConfigurePoolSchema = DocConfigurePoolSchema; exports.DocEnvoyConfigSchema = DocEnvoyConfigSchema; exports.DocRegistryConfigSchema = DocRegistryConfigSchema; exports.DocServerlessConfigSchema = DocServerlessConfigSchema; exports.DocSqliteConfigSchema = DocSqliteConfigSchema; exports.InlineWebSocketAdapter = InlineWebSocketAdapter; exports.Registry = Registry; exports.RegistryConfigSchema = RegistryConfigSchema; exports.RivetError = _chunk4FC7TVS6cjs.RivetError; exports.RuntimeKindSchema = RuntimeKindSchema; exports.SqliteBackendSchema = SqliteBackendSchema; exports.SqliteConfigSchema = SqliteConfigSchema; exports.TestConfigSchema = TestConfigSchema; exports.UserError = _chunk4FC7TVS6cjs.UserError; exports.WasmRuntimeConfigSchema = WasmRuntimeConfigSchema; exports.actor = actor; exports.buildActorNames = buildActorNames; exports.createClientWithDriver = _chunkAXEGEUYBcjs.createClientWithDriver; exports.event = event; exports.isStaticActorDefinition = isStaticActorDefinition; exports.isStaticActorInstance = isStaticActorInstance; exports.lookupInRegistry = lookupInRegistry; exports.noopNext = _chunk234EFKN2cjs.noopNext; exports.queue = queue; exports.setup = setup; exports.toUint8Array = _chunk234EFKN2cjs.toUint8Array;
6926
7016
  //# sourceMappingURL=mod.cjs.map