rivetkit 2.3.0-rc.12 → 2.3.0-rc.13

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 (113) hide show
  1. package/dist/browser/client.d.ts +50 -0
  2. package/dist/browser/client.js +98 -84
  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/actor/errors.d.cts +1 -1
  7. package/dist/tsup/actor/errors.d.ts +1 -1
  8. package/dist/tsup/agent-os/index.cjs +66 -3
  9. package/dist/tsup/agent-os/index.cjs.map +1 -1
  10. package/dist/tsup/agent-os/index.d.cts +50 -0
  11. package/dist/tsup/agent-os/index.d.ts +50 -0
  12. package/dist/tsup/agent-os/index.js +66 -3
  13. package/dist/tsup/agent-os/index.js.map +1 -1
  14. package/dist/tsup/{chunk-EWVOWEMD.js → chunk-33YE6XCI.js} +4 -4
  15. package/dist/tsup/{chunk-2ZTBRZRS.cjs → chunk-7OR3CHD5.cjs} +10 -10
  16. package/dist/tsup/{chunk-2ZTBRZRS.cjs.map → chunk-7OR3CHD5.cjs.map} +1 -1
  17. package/dist/tsup/{chunk-UETC5RF7.cjs → chunk-7XQCARVY.cjs} +3 -3
  18. package/dist/tsup/{chunk-UETC5RF7.cjs.map → chunk-7XQCARVY.cjs.map} +1 -1
  19. package/dist/tsup/{chunk-SS56HFM2.cjs → chunk-BSPS6NSN.cjs} +5 -5
  20. package/dist/tsup/{chunk-SS56HFM2.cjs.map → chunk-BSPS6NSN.cjs.map} +1 -1
  21. package/dist/tsup/{chunk-WIMUFZVJ.js → chunk-DPIMKYNB.js} +61 -2
  22. package/dist/tsup/chunk-DPIMKYNB.js.map +1 -0
  23. package/dist/tsup/{chunk-2U6RLFKX.cjs → chunk-E5CLYAUZ.cjs} +144 -142
  24. package/dist/tsup/chunk-E5CLYAUZ.cjs.map +1 -0
  25. package/dist/tsup/{chunk-VNMIAPPF.cjs → chunk-EBWOJRCC.cjs} +21 -4
  26. package/dist/tsup/chunk-EBWOJRCC.cjs.map +1 -0
  27. package/dist/tsup/{chunk-OLIJHKLL.js → chunk-HHNYEQD3.js} +6 -6
  28. package/dist/tsup/chunk-HHNYEQD3.js.map +1 -0
  29. package/dist/tsup/{chunk-3EVVOYFD.js → chunk-IOUSQVXI.js} +20 -3
  30. package/dist/tsup/chunk-IOUSQVXI.js.map +1 -0
  31. package/dist/tsup/{chunk-C7AAIILH.cjs → chunk-ISDKSSYR.cjs} +4 -4
  32. package/dist/tsup/{chunk-C7AAIILH.cjs.map → chunk-ISDKSSYR.cjs.map} +1 -1
  33. package/dist/tsup/{chunk-7UZF56RS.js → chunk-J72WHUBC.js} +10 -8
  34. package/dist/tsup/{chunk-7UZF56RS.js.map → chunk-J72WHUBC.js.map} +1 -1
  35. package/dist/tsup/{chunk-6KTMKPNU.cjs → chunk-KWABEUUA.cjs} +10 -10
  36. package/dist/tsup/chunk-KWABEUUA.cjs.map +1 -0
  37. package/dist/tsup/{chunk-WHYBAEWG.cjs → chunk-NIY3RSPX.cjs} +62 -3
  38. package/dist/tsup/chunk-NIY3RSPX.cjs.map +1 -0
  39. package/dist/tsup/{chunk-VLXRFJ7P.js → chunk-T44AVAGW.js} +2 -2
  40. package/dist/tsup/{chunk-QKSGGKGQ.js → chunk-TCXEM6PA.js} +2 -2
  41. package/dist/tsup/{chunk-OOB32JVG.js → chunk-ZI5CNA2Z.js} +2 -2
  42. package/dist/tsup/client/mod.cjs +7 -7
  43. package/dist/tsup/client/mod.cjs.map +1 -1
  44. package/dist/tsup/client/mod.d.cts +3 -3
  45. package/dist/tsup/client/mod.d.ts +3 -3
  46. package/dist/tsup/client/mod.js +6 -6
  47. package/dist/tsup/common/log.cjs +2 -2
  48. package/dist/tsup/common/log.js +1 -1
  49. package/dist/tsup/common/websocket.cjs +3 -3
  50. package/dist/tsup/common/websocket.js +2 -2
  51. package/dist/tsup/{config-DKgPGC0f.d.ts → config-BxWAw3iH.d.ts} +121 -2
  52. package/dist/tsup/{config-BtAh7oBu.d.cts → config-CZQQ-mso.d.cts} +121 -2
  53. package/dist/tsup/{context-Cfjl5pgz.d.cts → context-Bw7xq8w3.d.cts} +1 -1
  54. package/dist/tsup/{context-C-6dGebY.d.ts → context-D8QA76sV.d.ts} +1 -1
  55. package/dist/tsup/dynamic/mod.cjs +2 -2
  56. package/dist/tsup/dynamic/mod.d.cts +2 -2
  57. package/dist/tsup/dynamic/mod.d.ts +2 -2
  58. package/dist/tsup/dynamic/mod.js +1 -1
  59. package/dist/tsup/inspector/mod.cjs +5 -5
  60. package/dist/tsup/inspector/mod.js +4 -4
  61. package/dist/tsup/inspector-tab/mod.cjs +173 -0
  62. package/dist/tsup/inspector-tab/mod.cjs.map +1 -0
  63. package/dist/tsup/inspector-tab/mod.d.cts +250 -0
  64. package/dist/tsup/inspector-tab/mod.d.ts +250 -0
  65. package/dist/tsup/inspector-tab/mod.js +173 -0
  66. package/dist/tsup/inspector-tab/mod.js.map +1 -0
  67. package/dist/tsup/mod.cjs +189 -81
  68. package/dist/tsup/mod.cjs.map +1 -1
  69. package/dist/tsup/mod.d.cts +4 -4
  70. package/dist/tsup/mod.d.ts +4 -4
  71. package/dist/tsup/mod.js +124 -16
  72. package/dist/tsup/mod.js.map +1 -1
  73. package/dist/tsup/test/mod.cjs +10 -10
  74. package/dist/tsup/test/mod.d.cts +2 -2
  75. package/dist/tsup/test/mod.d.ts +2 -2
  76. package/dist/tsup/test/mod.js +6 -6
  77. package/dist/tsup/{utils-DVekpm4I.d.cts → utils-DQosb24I.d.cts} +1 -1
  78. package/dist/tsup/{utils-DVekpm4I.d.ts → utils-DQosb24I.d.ts} +1 -1
  79. package/dist/tsup/utils.cjs +2 -2
  80. package/dist/tsup/utils.d.cts +1 -1
  81. package/dist/tsup/utils.d.ts +1 -1
  82. package/dist/tsup/utils.js +1 -1
  83. package/dist/tsup/workflow/mod.cjs +11 -11
  84. package/dist/tsup/workflow/mod.cjs.map +1 -1
  85. package/dist/tsup/workflow/mod.d.cts +4 -4
  86. package/dist/tsup/workflow/mod.d.ts +4 -4
  87. package/dist/tsup/workflow/mod.js +5 -5
  88. package/package.json +19 -9
  89. package/src/actor/config.ts +91 -0
  90. package/src/actor/instance/mod.ts +4 -4
  91. package/src/actor/mod.ts +2 -0
  92. package/src/common/engine.ts +28 -1
  93. package/src/devtools-loader/index.ts +4 -7
  94. package/src/devtools-loader/serve-devtools.ts +26 -0
  95. package/src/engine-client/actor-http-client.ts +2 -2
  96. package/src/engine-client/ws-proxy.ts +5 -0
  97. package/src/inspector-tab/mod.ts +315 -0
  98. package/src/registry/config/index.ts +37 -7
  99. package/src/registry/index.ts +4 -2
  100. package/src/registry/native.ts +118 -7
  101. package/src/registry/runtime.ts +20 -0
  102. package/src/utils/env-vars.ts +6 -0
  103. package/dist/tsup/chunk-2U6RLFKX.cjs.map +0 -1
  104. package/dist/tsup/chunk-3EVVOYFD.js.map +0 -1
  105. package/dist/tsup/chunk-6KTMKPNU.cjs.map +0 -1
  106. package/dist/tsup/chunk-OLIJHKLL.js.map +0 -1
  107. package/dist/tsup/chunk-VNMIAPPF.cjs.map +0 -1
  108. package/dist/tsup/chunk-WHYBAEWG.cjs.map +0 -1
  109. package/dist/tsup/chunk-WIMUFZVJ.js.map +0 -1
  110. /package/dist/tsup/{chunk-EWVOWEMD.js.map → chunk-33YE6XCI.js.map} +0 -0
  111. /package/dist/tsup/{chunk-VLXRFJ7P.js.map → chunk-T44AVAGW.js.map} +0 -0
  112. /package/dist/tsup/{chunk-QKSGGKGQ.js.map → chunk-TCXEM6PA.js.map} +0 -0
  113. /package/dist/tsup/{chunk-OOB32JVG.js.map → chunk-ZI5CNA2Z.js.map} +0 -0
package/dist/tsup/mod.cjs CHANGED
@@ -1,15 +1,15 @@
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 _chunkISDKSSYRcjs = require('./chunk-ISDKSSYR.cjs');
3
4
 
4
5
 
5
6
 
6
7
 
7
8
 
8
9
 
9
- var _chunkWHYBAEWGcjs = require('./chunk-WHYBAEWG.cjs');
10
10
 
11
11
 
12
- var _chunkC7AAIILHcjs = require('./chunk-C7AAIILH.cjs');
12
+ var _chunkNIY3RSPXcjs = require('./chunk-NIY3RSPX.cjs');
13
13
 
14
14
 
15
15
 
@@ -19,7 +19,7 @@ var _chunkC7AAIILHcjs = require('./chunk-C7AAIILH.cjs');
19
19
 
20
20
 
21
21
 
22
- var _chunk2U6RLFKXcjs = require('./chunk-2U6RLFKX.cjs');
22
+ var _chunkE5CLYAUZcjs = require('./chunk-E5CLYAUZ.cjs');
23
23
 
24
24
 
25
25
 
@@ -32,9 +32,9 @@ var _chunkVE2X4KMGcjs = require('./chunk-VE2X4KMG.cjs');
32
32
 
33
33
 
34
34
 
35
- var _chunkSS56HFM2cjs = require('./chunk-SS56HFM2.cjs');
36
- require('./chunk-ZA7FLHKH.cjs');
37
- require('./chunk-UETC5RF7.cjs');
35
+ var _chunkBSPS6NSNcjs = require('./chunk-BSPS6NSN.cjs');
36
+ require('./chunk-7XQCARVY.cjs');
37
+
38
38
 
39
39
 
40
40
 
@@ -59,7 +59,8 @@ require('./chunk-UETC5RF7.cjs');
59
59
 
60
60
 
61
61
 
62
- var _chunkVNMIAPPFcjs = require('./chunk-VNMIAPPF.cjs');
62
+
63
+ var _chunkEBWOJRCCcjs = require('./chunk-EBWOJRCC.cjs');
63
64
 
64
65
 
65
66
 
@@ -71,10 +72,11 @@ var _chunkVNMIAPPFcjs = require('./chunk-VNMIAPPF.cjs');
71
72
 
72
73
 
73
74
  var _chunkKORQB2IRcjs = require('./chunk-KORQB2IR.cjs');
75
+ require('./chunk-ZA7FLHKH.cjs');
74
76
 
75
77
  // src/actor/log.ts
76
78
  function loggerWithoutContext() {
77
- return _chunkVNMIAPPFcjs.getLogger.call(void 0, "actor-runtime");
79
+ return _chunkEBWOJRCCcjs.getLogger.call(void 0, "actor-runtime");
78
80
  }
79
81
 
80
82
  // src/actor/definition.ts
@@ -107,7 +109,7 @@ function actor(input) {
107
109
  warnDeprecatedShutdownTimeoutKeys(
108
110
  input == null ? void 0 : input.options
109
111
  );
110
- const config = _chunkWHYBAEWGcjs.ActorConfigSchema.parse(input);
112
+ const config = _chunkNIY3RSPXcjs.ActorConfigSchema.parse(input);
111
113
  return new ActorDefinition(config);
112
114
  }
113
115
  function isStaticActorDefinition(definition) {
@@ -206,7 +208,7 @@ function validateSchemaSync(schemas, key, data) {
206
208
  var _virtualwebsocket = require('@rivetkit/virtual-websocket');
207
209
  var _ws = require('hono/ws');
208
210
  function logger() {
209
- return _chunkVNMIAPPFcjs.getLogger.call(void 0, "inline-websocket-adapter");
211
+ return _chunkEBWOJRCCcjs.getLogger.call(void 0, "inline-websocket-adapter");
210
212
  }
211
213
  var InlineWebSocketAdapter = class {
212
214
  #handler;
@@ -360,12 +362,27 @@ var InlineWebSocketAdapter = class {
360
362
  var _hono = require('hono');
361
363
 
362
364
  // src/common/engine.ts
365
+ var ENGINE_HOST = "127.0.0.1";
363
366
  var ENGINE_PORT = 6420;
364
- var ENGINE_ENDPOINT = `http://127.0.0.1:${ENGINE_PORT}`;
367
+ var ENGINE_ENDPOINT = buildEngineEndpoint(ENGINE_HOST, ENGINE_PORT);
368
+ function buildEngineEndpoint(host, port) {
369
+ const urlHost = host.includes(":") && !host.startsWith("[") ? `[${host}]` : host;
370
+ return `http://${urlHost}:${port}`;
371
+ }
372
+ function isLocalEngineEndpoint(endpoint) {
373
+ let url;
374
+ try {
375
+ url = new URL(endpoint);
376
+ } catch (e) {
377
+ return false;
378
+ }
379
+ const hostname = url.hostname.toLowerCase();
380
+ return hostname === "localhost" || hostname === "0.0.0.0" || hostname === "::" || hostname === "[::]" || hostname === "::1" || hostname === "[::1]" || /^127(?:\.\d{1,3}){0,3}$/.test(hostname);
381
+ }
365
382
 
366
383
  // src/registry/log.ts
367
384
  function logger2() {
368
- return _chunkVNMIAPPFcjs.getLogger.call(void 0, "registry");
385
+ return _chunkEBWOJRCCcjs.getLogger.call(void 0, "registry");
369
386
  }
370
387
 
371
388
  // src/serverless/configure.ts
@@ -411,8 +428,8 @@ async function configureServerlessPool(config) {
411
428
  );
412
429
  }
413
430
  const customConfig = config.configurePool;
414
- const clientConfig = _chunk2U6RLFKXcjs.convertRegistryConfigToClientConfig.call(void 0, config);
415
- const dcsRes = await _chunk2U6RLFKXcjs.getDatacenters.call(void 0, clientConfig);
431
+ const clientConfig = _chunkE5CLYAUZcjs.convertRegistryConfigToClientConfig.call(void 0, config);
432
+ const dcsRes = await _chunkE5CLYAUZcjs.getDatacenters.call(void 0, clientConfig);
416
433
  const poolName = _nullishCoalesce(customConfig.name, () => ( "default"));
417
434
  const serverlessToken = _nullishCoalesce(config.token, () => ( config.publicToken));
418
435
  const headers = {
@@ -434,7 +451,7 @@ async function configureServerlessPool(config) {
434
451
  metadata: _nullishCoalesce(customConfig.metadata, () => ( {})),
435
452
  drain_on_version_upgrade: _nullishCoalesce(customConfig.drainOnVersionUpgrade, () => ( true))
436
453
  };
437
- await _chunk2U6RLFKXcjs.updateRunnerConfig.call(void 0, clientConfig, poolName, {
454
+ await _chunkE5CLYAUZcjs.updateRunnerConfig.call(void 0, clientConfig, poolName, {
438
455
  datacenters: Object.fromEntries(
439
456
  dcsRes.datacenters.map((dc) => [dc.name, serverlessConfig])
440
457
  )
@@ -451,7 +468,7 @@ async function configureServerlessPool(config) {
451
468
  logger2().warn({
452
469
  msg: "serverless pool configuration attempt failed",
453
470
  attempts,
454
- error: _chunkVNMIAPPFcjs.stringifyError.call(void 0, error)
471
+ error: _chunkEBWOJRCCcjs.stringifyError.call(void 0, error)
455
472
  });
456
473
  await sleep(CONFIGURE_RETRY_DELAY_MS);
457
474
  }
@@ -459,7 +476,7 @@ async function configureServerlessPool(config) {
459
476
  logger2().error({
460
477
  msg: "failed to configure serverless pool, validate endpoint is configured correctly then restart this process",
461
478
  attempts,
462
- error: _chunkVNMIAPPFcjs.stringifyError.call(void 0, lastError)
479
+ error: _chunkEBWOJRCCcjs.stringifyError.call(void 0, lastError)
463
480
  });
464
481
  throw lastError;
465
482
  }
@@ -467,7 +484,7 @@ async function configureServerlessPool(config) {
467
484
  // src/utils/serve.ts
468
485
  var _getport = require('get-port'); var _getport2 = _interopRequireDefault(_getport);
469
486
  var serveStaticLoaderPromises = {};
470
- async function crossPlatformServe(config, httpPort, app, runtime = _chunkVNMIAPPFcjs.detectRuntime.call(void 0, )) {
487
+ async function crossPlatformServe(config, httpPort, app, runtime = _chunkEBWOJRCCcjs.detectRuntime.call(void 0, )) {
471
488
  logger2().debug({ msg: "detected runtime for serve", runtime });
472
489
  switch (runtime) {
473
490
  case "deno":
@@ -518,7 +535,7 @@ async function serveNode(config, httpPort, app) {
518
535
  } catch (err) {
519
536
  logger2().error({
520
537
  msg: "failed to import @hono/node-server. please run 'npm install @hono/node-server @hono/node-ws'",
521
- error: _chunkVNMIAPPFcjs.stringifyError.call(void 0, err)
538
+ error: _chunkEBWOJRCCcjs.stringifyError.call(void 0, err)
522
539
  });
523
540
  process.exit(1);
524
541
  }
@@ -533,7 +550,7 @@ async function serveNode(config, httpPort, app) {
533
550
  } catch (err) {
534
551
  logger2().error({
535
552
  msg: "failed to import @hono/node-ws. please run 'npm install @hono/node-server @hono/node-ws'",
536
- error: _chunkVNMIAPPFcjs.stringifyError.call(void 0, err)
553
+ error: _chunkEBWOJRCCcjs.stringifyError.call(void 0, err)
537
554
  });
538
555
  process.exit(1);
539
556
  }
@@ -564,7 +581,7 @@ async function serveDeno(config, httpPort, app) {
564
581
  } catch (err) {
565
582
  logger2().error({
566
583
  msg: "failed to import hono/deno",
567
- error: _chunkVNMIAPPFcjs.stringifyError.call(void 0, err)
584
+ error: _chunkEBWOJRCCcjs.stringifyError.call(void 0, err)
568
585
  });
569
586
  process.exit(1);
570
587
  }
@@ -586,7 +603,7 @@ async function serveBun(config, httpPort, app) {
586
603
  } catch (err) {
587
604
  logger2().error({
588
605
  msg: "failed to import hono/bun",
589
- error: _chunkVNMIAPPFcjs.stringifyError.call(void 0, err)
606
+ error: _chunkEBWOJRCCcjs.stringifyError.call(void 0, err)
590
607
  });
591
608
  process.exit(1);
592
609
  }
@@ -610,20 +627,20 @@ var _zod = require('zod');
610
627
  var _v4 = require('zod/v4');
611
628
  var warnedMissingVersion = false;
612
629
  var EnvoyConfigSchema = _v4.z.object({
613
- poolName: _v4.z.string().default(() => _nullishCoalesce(_chunkVNMIAPPFcjs.getRivetPool.call(void 0, ), () => ( "default"))),
630
+ poolName: _v4.z.string().default(() => _nullishCoalesce(_chunkEBWOJRCCcjs.getRivetPool.call(void 0, ), () => ( "default"))),
614
631
  version: _v4.z.number().default(() => {
615
- const version = _chunkVNMIAPPFcjs.getRivetEnvoyVersion.call(void 0, );
632
+ const version = _chunkEBWOJRCCcjs.getRivetEnvoyVersion.call(void 0, );
616
633
  if (version !== void 0) return version;
617
- if (_chunkVNMIAPPFcjs.getNodeEnv.call(void 0, ) === "production" && !warnedMissingVersion) {
634
+ if (_chunkEBWOJRCCcjs.getNodeEnv.call(void 0, ) === "production" && !warnedMissingVersion) {
618
635
  warnedMissingVersion = true;
619
- _chunkVNMIAPPFcjs.getLogger.call(void 0, "rivetkit").error(
636
+ _chunkEBWOJRCCcjs.getLogger.call(void 0, "rivetkit").error(
620
637
  "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"
621
638
  );
622
639
  }
623
640
  return 1;
624
641
  }),
625
642
  // Deprecated.
626
- totalSlots: _v4.z.number().default(() => _nullishCoalesce(_chunkVNMIAPPFcjs.getRivetTotalSlots.call(void 0, ), () => ( 1e5))),
643
+ totalSlots: _v4.z.number().default(() => _nullishCoalesce(_chunkEBWOJRCCcjs.getRivetTotalSlots.call(void 0, ), () => ( 1e5))),
627
644
  envoyKey: _v4.z.string().optional()
628
645
  });
629
646
 
@@ -661,7 +678,7 @@ var ServerlessConfigSchema = _v4.z.object({
661
678
  *
662
679
  * Can also be set via RIVET_PUBLIC_ENDPOINT environment variable.
663
680
  */
664
- publicEndpoint: _v4.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkVNMIAPPFcjs.getRivetPublicEndpoint.call(void 0, )))),
681
+ publicEndpoint: _v4.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkEBWOJRCCcjs.getRivetPublicEndpoint.call(void 0, )))),
665
682
  /**
666
683
  * Token that clients should use when connecting via the public endpoint.
667
684
  *
@@ -669,7 +686,7 @@ var ServerlessConfigSchema = _v4.z.object({
669
686
  *
670
687
  * Can also be specified in the publicEndpoint URL as `https://namespace:token@host`.
671
688
  */
672
- publicToken: _v4.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkVNMIAPPFcjs.getRivetPublicToken.call(void 0, ))))
689
+ publicToken: _v4.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkEBWOJRCCcjs.getRivetPublicToken.call(void 0, ))))
673
690
  // There is no publicNamespace config option because the frontend and backend
674
691
  // cannot use different namespaces. The namespace is extracted from the
675
692
  // publicEndpoint URL auth syntax if provided.
@@ -723,7 +740,7 @@ var RegistryConfigSchema = _zod.z.object({
723
740
  * Runtime binding to use for RivetKit core.
724
741
  * */
725
742
  runtime: RuntimeKindSchema.optional().transform((val, ctx) => {
726
- const rawRuntime = _nullishCoalesce(val, () => ( _chunkVNMIAPPFcjs.getRivetkitRuntime.call(void 0, )));
743
+ const rawRuntime = _nullishCoalesce(val, () => ( _chunkEBWOJRCCcjs.getRivetkitRuntime.call(void 0, )));
727
744
  if (rawRuntime === void 0) {
728
745
  return "auto";
729
746
  }
@@ -760,7 +777,7 @@ var RegistryConfigSchema = _zod.z.object({
760
777
  * */
761
778
  logging: _zod.z.object({
762
779
  baseLogger: _zod.z.custom().optional(),
763
- level: _chunkVNMIAPPFcjs.LogLevelSchema.optional()
780
+ level: _chunkEBWOJRCCcjs.LogLevelSchema.optional()
764
781
  }).optional().default(() => ({})),
765
782
  // MARK: Routing
766
783
  // // This is a function to allow for lazy configuration of upgradeWebSocket on the
@@ -778,9 +795,9 @@ var RegistryConfigSchema = _zod.z.object({
778
795
  *
779
796
  * Can also be set via RIVET_ENDPOINT environment variables.
780
797
  */
781
- endpoint: _zod.z.string().optional().transform((val) => _nullishCoalesce(_nullishCoalesce(val, () => ( _chunkVNMIAPPFcjs.getRivetEngine.call(void 0, ))), () => ( _chunkVNMIAPPFcjs.getRivetEndpoint.call(void 0, )))),
782
- token: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkVNMIAPPFcjs.getRivetToken.call(void 0, )))),
783
- namespace: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkVNMIAPPFcjs.getRivetNamespace.call(void 0, )))),
798
+ endpoint: _zod.z.string().optional().transform((val) => _nullishCoalesce(_nullishCoalesce(val, () => ( _chunkEBWOJRCCcjs.getRivetEngine.call(void 0, ))), () => ( _chunkEBWOJRCCcjs.getRivetEndpoint.call(void 0, )))),
799
+ token: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkEBWOJRCCcjs.getRivetToken.call(void 0, )))),
800
+ namespace: _zod.z.string().optional().transform((val) => _nullishCoalesce(val, () => ( _chunkEBWOJRCCcjs.getRivetNamespace.call(void 0, )))),
784
801
  headers: _zod.z.record(_zod.z.string(), _zod.z.string()).optional().default({}),
785
802
  // MARK: Client
786
803
  // TODO:
@@ -820,9 +837,21 @@ var RegistryConfigSchema = _zod.z.object({
820
837
  *
821
838
  * Starts the full Rust engine process locally.
822
839
  */
823
- startEngine: _zod.z.boolean().default(() => _chunkVNMIAPPFcjs.getRivetRunEngine.call(void 0, )),
840
+ startEngine: _zod.z.boolean().default(() => _chunkEBWOJRCCcjs.getRivetRunEngine.call(void 0, )),
841
+ /**
842
+ * @experimental
843
+ *
844
+ * Host to bind the spawned local engine process to.
845
+ */
846
+ engineHost: _zod.z.string().optional().default(() => _nullishCoalesce(_chunkEBWOJRCCcjs.getRivetRunEngineHost.call(void 0, ), () => ( ENGINE_HOST))),
847
+ /**
848
+ * @experimental
849
+ *
850
+ * Port to bind the spawned local engine process to.
851
+ */
852
+ enginePort: _zod.z.number().int().min(1).max(65535).optional().default(() => _nullishCoalesce(_chunkEBWOJRCCcjs.getRivetRunEnginePort.call(void 0, ), () => ( ENGINE_PORT))),
824
853
  /** @experimental */
825
- engineVersion: _zod.z.string().optional().default(() => _nullishCoalesce(_chunkVNMIAPPFcjs.getRivetRunEngineVersion.call(void 0, ), () => ( _chunkVNMIAPPFcjs.VERSION))),
854
+ engineVersion: _zod.z.string().optional().default(() => _nullishCoalesce(_chunkEBWOJRCCcjs.getRivetRunEngineVersion.call(void 0, ), () => ( _chunkEBWOJRCCcjs.VERSION))),
826
855
  /**
827
856
  * @experimental
828
857
  *
@@ -870,7 +899,7 @@ var RegistryConfigSchema = _zod.z.object({
870
899
  }))
871
900
  }).transform((config, ctx) => {
872
901
  var _a, _b, _c;
873
- const isDevEnv = _chunkVNMIAPPFcjs.isDev.call(void 0, );
902
+ const isDevEnv = _chunkEBWOJRCCcjs.isDev.call(void 0, );
874
903
  const sqliteBackend = _nullishCoalesce(((_a = config.sqlite) == null ? void 0 : _a.backend), () => ( ((_b = config.test) == null ? void 0 : _b.sqliteBackend)));
875
904
  if (config.runtime === "wasm" && sqliteBackend === "local") {
876
905
  ctx.addIssue({
@@ -880,7 +909,7 @@ var RegistryConfigSchema = _zod.z.object({
880
909
  });
881
910
  }
882
911
  const sqlite = config.runtime === "wasm" && config.sqlite === void 0 ? { backend: "remote" } : config.sqlite;
883
- const parsedEndpoint = config.endpoint ? _chunk2U6RLFKXcjs.tryParseEndpoint.call(void 0, ctx, {
912
+ const parsedEndpoint = config.endpoint ? _chunkE5CLYAUZcjs.tryParseEndpoint.call(void 0, ctx, {
884
913
  endpoint: config.endpoint,
885
914
  path: ["endpoint"],
886
915
  namespace: config.namespace,
@@ -898,13 +927,17 @@ var RegistryConfigSchema = _zod.z.object({
898
927
  message: "configurePool requires either endpoint or startEngine"
899
928
  });
900
929
  }
901
- const endpoint = config.startEngine ? ENGINE_ENDPOINT : _nullishCoalesce((parsedEndpoint == null ? void 0 : parsedEndpoint.endpoint), () => ( (isDevEnv ? ENGINE_ENDPOINT : void 0)));
930
+ const localEngineEndpoint = buildEngineEndpoint(
931
+ config.engineHost,
932
+ config.enginePort
933
+ );
934
+ const endpoint = config.startEngine ? localEngineEndpoint : _nullishCoalesce((parsedEndpoint == null ? void 0 : parsedEndpoint.endpoint), () => ( (isDevEnv ? buildEngineEndpoint(ENGINE_HOST, ENGINE_PORT) : void 0)));
902
935
  const validateServerlessEndpoint = Boolean(
903
936
  config.startEngine || parsedEndpoint
904
937
  );
905
938
  const namespace = _nullishCoalesce(_nullishCoalesce((parsedEndpoint == null ? void 0 : parsedEndpoint.namespace), () => ( config.namespace)), () => ( "default"));
906
939
  const token = _nullishCoalesce((parsedEndpoint == null ? void 0 : parsedEndpoint.token), () => ( config.token));
907
- const parsedPublicEndpoint = config.serverless.publicEndpoint ? _chunk2U6RLFKXcjs.tryParseEndpoint.call(void 0, ctx, {
940
+ const parsedPublicEndpoint = config.serverless.publicEndpoint ? _chunkE5CLYAUZcjs.tryParseEndpoint.call(void 0, ctx, {
908
941
  endpoint: config.serverless.publicEndpoint,
909
942
  path: ["serverless", "publicEndpoint"]
910
943
  }) : void 0;
@@ -915,7 +948,7 @@ var RegistryConfigSchema = _zod.z.object({
915
948
  path: ["serverless", "publicEndpoint"]
916
949
  });
917
950
  }
918
- const publicEndpoint = _nullishCoalesce((parsedPublicEndpoint == null ? void 0 : parsedPublicEndpoint.endpoint), () => ( (isDevEnv && config.startEngine ? ENGINE_ENDPOINT : void 0)));
951
+ const publicEndpoint = _nullishCoalesce((parsedPublicEndpoint == null ? void 0 : parsedPublicEndpoint.endpoint), () => ( (isDevEnv && config.startEngine ? endpoint : void 0)));
919
952
  const publicNamespace = parsedPublicEndpoint == null ? void 0 : parsedPublicEndpoint.namespace;
920
953
  const publicToken = _nullishCoalesce((parsedPublicEndpoint == null ? void 0 : parsedPublicEndpoint.token), () => ( config.serverless.publicToken));
921
954
  return {
@@ -939,7 +972,7 @@ function buildActorNames(config) {
939
972
  Object.keys(config.use).map((actorName) => {
940
973
  const definition = config.use[actorName];
941
974
  const options = _nullishCoalesce(definition.config.options, () => ( {}));
942
- const runMeta = _chunkWHYBAEWGcjs.getRunMetadata.call(void 0, definition.config.run);
975
+ const runMeta = _chunkNIY3RSPXcjs.getRunMetadata.call(void 0, definition.config.run);
943
976
  const metadata = {};
944
977
  metadata.icon = _nullishCoalesce(options.icon, () => ( runMeta.icon));
945
978
  metadata.name = _nullishCoalesce(options.name, () => ( runMeta.name));
@@ -1032,7 +1065,7 @@ var DocRegistryConfigSchema = _zod.z.object({
1032
1065
  noWelcome: _zod.z.boolean().optional().describe("Disable the welcome message on startup. Default: false"),
1033
1066
  sqlite: DocSqliteConfigSchema,
1034
1067
  logging: _zod.z.object({
1035
- level: _chunkVNMIAPPFcjs.LogLevelSchema.optional().describe(
1068
+ level: _chunkEBWOJRCCcjs.LogLevelSchema.optional().describe(
1036
1069
  "Log level for RivetKit. Default: 'warn'"
1037
1070
  )
1038
1071
  }).optional().describe("Logging configuration."),
@@ -2418,6 +2451,10 @@ async function loadWasmRuntime(config) {
2418
2451
  };
2419
2452
  }
2420
2453
 
2454
+ // src/registry/native.ts
2455
+ var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs);
2456
+ var _path2 = require('path'); var _path3 = _interopRequireDefault(_path2);
2457
+
2421
2458
  // src/registry/write-through-proxy.ts
2422
2459
  var _onchange = require('@rivetkit/on-change'); var _onchange2 = _interopRequireDefault(_onchange);
2423
2460
  function createWriteThroughProxy(value, commit, beforeChange) {
@@ -2453,7 +2490,7 @@ function trySetProcessEnv(key, value) {
2453
2490
  if (typeof process === "undefined") return;
2454
2491
  try {
2455
2492
  process.env[key] = value;
2456
- } catch (e) {
2493
+ } catch (e2) {
2457
2494
  }
2458
2495
  }
2459
2496
  function detectRuntimeHost() {
@@ -2490,7 +2527,7 @@ async function loadAutoRuntime(config, loaders = defaultRuntimeLoaders) {
2490
2527
  }
2491
2528
  try {
2492
2529
  return (await loaders.loadNative()).runtime;
2493
- } catch (e2) {
2530
+ } catch (e3) {
2494
2531
  return (await loaders.loadWasm(config.wasm)).runtime;
2495
2532
  }
2496
2533
  }
@@ -2664,7 +2701,7 @@ async function cleanupNativeSleepRuntimeState(runtime, ctx, afterTrackedWorkDrai
2664
2701
  }).catch((error) => {
2665
2702
  logger2().warn({
2666
2703
  msg: "deferred native sleep cleanup failed",
2667
- error: _chunkVNMIAPPFcjs.stringifyError.call(void 0, error)
2704
+ error: _chunkEBWOJRCCcjs.stringifyError.call(void 0, error)
2668
2705
  });
2669
2706
  });
2670
2707
  return;
@@ -2774,10 +2811,13 @@ function decodeValue(value) {
2774
2811
  if (!value || value.length === 0) {
2775
2812
  return void 0;
2776
2813
  }
2777
- return _chunkSS56HFM2cjs.decodeCborCompat.call(void 0, value);
2814
+ return _chunkBSPS6NSNcjs.decodeCborCompat.call(void 0, value);
2778
2815
  }
2779
2816
  function encodeValue(value) {
2780
- return _chunkSS56HFM2cjs.encodeCborCompat.call(void 0, value);
2817
+ return _chunkBSPS6NSNcjs.encodeCborCompat.call(void 0, value);
2818
+ }
2819
+ function normalizeArgs(value) {
2820
+ return Array.isArray(value) ? value : value === void 0 || value === null ? [] : [value];
2781
2821
  }
2782
2822
  function unwrapTsfnPayload(error, payload) {
2783
2823
  if (error !== null && error !== void 0) {
@@ -2810,7 +2850,7 @@ function isStructuredBridgeError(error) {
2810
2850
  return _chunkKORQB2IRcjs.isRivetErrorLike.call(void 0, error) && "__type" in error && (error.__type === "RivetError" || error.__type === "ActorError");
2811
2851
  }
2812
2852
  function encodeNativeCallbackError(error) {
2813
- const structuredError = isStructuredBridgeError(error) ? error : _chunkVNMIAPPFcjs.deconstructError.call(void 0, error, true);
2853
+ const structuredError = isStructuredBridgeError(error) ? error : _chunkEBWOJRCCcjs.deconstructError.call(void 0, error, true);
2814
2854
  const bridgeError = new Error(_chunkKORQB2IRcjs.encodeBridgeRivetError.call(void 0, structuredError), {
2815
2855
  cause: error instanceof Error ? error : void 0
2816
2856
  });
@@ -2860,8 +2900,8 @@ function decodeWorkflowCbor(data) {
2860
2900
  return null;
2861
2901
  }
2862
2902
  try {
2863
- return _chunkSS56HFM2cjs.decodeCborCompat.call(void 0, new Uint8Array(data));
2864
- } catch (e3) {
2903
+ return _chunkBSPS6NSNcjs.decodeCborCompat.call(void 0, new Uint8Array(data));
2904
+ } catch (e4) {
2865
2905
  return null;
2866
2906
  }
2867
2907
  }
@@ -2965,7 +3005,7 @@ function serializeWorkflowHistoryForJson(data) {
2965
3005
  if (data === null) {
2966
3006
  return null;
2967
3007
  }
2968
- const history = _chunkC7AAIILHcjs.decodeWorkflowHistoryTransport.call(void 0, data);
3008
+ const history = _chunkISDKSSYRcjs.decodeWorkflowHistoryTransport.call(void 0, data);
2969
3009
  return jsonSafe({
2970
3010
  nameRegistry: [...history.nameRegistry],
2971
3011
  entries: history.entries.map((entry) => ({
@@ -3041,7 +3081,7 @@ function wrapNativeCallback(callback) {
3041
3081
  }
3042
3082
  function decodeArgs(value) {
3043
3083
  const decoded = decodeValue(value);
3044
- return Array.isArray(decoded) ? decoded : decoded === void 0 ? [] : [decoded];
3084
+ return normalizeArgs(decoded);
3045
3085
  }
3046
3086
  function buildRequest(init) {
3047
3087
  const url = init.uri.startsWith("http") ? init.uri : new URL(init.uri, "http://127.0.0.1").toString();
@@ -3078,7 +3118,7 @@ var NativeConnAdapter = class {
3078
3118
  this.#schemas = schemas;
3079
3119
  this.#ctx = ctx;
3080
3120
  this.#queueHibernationRemoval = queueHibernationRemoval;
3081
- this[_chunkWHYBAEWGcjs.CONN_STATE_MANAGER_SYMBOL] = {
3121
+ this[_chunkNIY3RSPXcjs.CONN_STATE_MANAGER_SYMBOL] = {
3082
3122
  stateEnabled: true,
3083
3123
  get state() {
3084
3124
  return thisConn.state;
@@ -3095,7 +3135,7 @@ var NativeConnAdapter = class {
3095
3135
  decodeValue(this.#runtime.connParams(this.#conn))
3096
3136
  );
3097
3137
  }
3098
- [_chunkWHYBAEWGcjs.RAW_STATE_SYMBOL]() {
3138
+ [_chunkNIY3RSPXcjs.RAW_STATE_SYMBOL]() {
3099
3139
  return this.#readState();
3100
3140
  }
3101
3141
  get state() {
@@ -3106,12 +3146,12 @@ var NativeConnAdapter = class {
3106
3146
  this.#writeState(nextValue, { writeNative: true });
3107
3147
  },
3108
3148
  (newValue) => {
3109
- _chunkSS56HFM2cjs.assertJsonCompatValue.call(void 0, newValue);
3149
+ _chunkBSPS6NSNcjs.assertJsonCompatValue.call(void 0, newValue);
3110
3150
  }
3111
3151
  );
3112
3152
  }
3113
3153
  set state(value) {
3114
- _chunkSS56HFM2cjs.assertJsonCompatValue.call(void 0, value);
3154
+ _chunkBSPS6NSNcjs.assertJsonCompatValue.call(void 0, value);
3115
3155
  this.#writeState(value, { writeNative: true });
3116
3156
  }
3117
3157
  initializeState(value) {
@@ -4009,7 +4049,7 @@ var ActorContextHandleAdapter = class {
4009
4049
  this.#databaseProvider = databaseProvider;
4010
4050
  }
4011
4051
  this.#request = request;
4012
- this[_chunkWHYBAEWGcjs.ACTOR_CONTEXT_INTERNAL_SYMBOL] = new NativeWorkflowRuntimeAdapter(
4052
+ this[_chunkNIY3RSPXcjs.ACTOR_CONTEXT_INTERNAL_SYMBOL] = new NativeWorkflowRuntimeAdapter(
4013
4053
  this
4014
4054
  );
4015
4055
  }
@@ -4040,7 +4080,7 @@ var ActorContextHandleAdapter = class {
4040
4080
  }
4041
4081
  throw databaseClientNotReadyError();
4042
4082
  }
4043
- [_chunkWHYBAEWGcjs.RAW_STATE_SYMBOL]() {
4083
+ [_chunkNIY3RSPXcjs.RAW_STATE_SYMBOL]() {
4044
4084
  if (!this.#stateEnabled) {
4045
4085
  throw stateNotEnabledError();
4046
4086
  }
@@ -4061,7 +4101,7 @@ var ActorContextHandleAdapter = class {
4061
4101
  },
4062
4102
  (newValue) => {
4063
4103
  this.#assertCanMutateState();
4064
- _chunkSS56HFM2cjs.assertJsonCompatValue.call(void 0, newValue);
4104
+ _chunkBSPS6NSNcjs.assertJsonCompatValue.call(void 0, newValue);
4065
4105
  }
4066
4106
  );
4067
4107
  }
@@ -4072,7 +4112,7 @@ var ActorContextHandleAdapter = class {
4072
4112
  throw stateNotEnabledError();
4073
4113
  }
4074
4114
  this.#assertCanMutateState();
4075
- _chunkSS56HFM2cjs.assertJsonCompatValue.call(void 0, value);
4115
+ _chunkBSPS6NSNcjs.assertJsonCompatValue.call(void 0, value);
4076
4116
  this.#writeState(value, { scheduleSave: true });
4077
4117
  }
4078
4118
  initializeState(value) {
@@ -4337,7 +4377,7 @@ var ActorContextHandleAdapter = class {
4337
4377
  const trackedPromise = Promise.resolve(promise).catch((error) => {
4338
4378
  logger2().warn({
4339
4379
  msg: "keepAwake promise rejected",
4340
- error: _chunkVNMIAPPFcjs.stringifyError.call(void 0, error)
4380
+ error: _chunkEBWOJRCCcjs.stringifyError.call(void 0, error)
4341
4381
  });
4342
4382
  }).then(() => null);
4343
4383
  try {
@@ -4703,9 +4743,62 @@ function buildActorConfig(definition, registryConfig) {
4703
4743
  maxOutgoingMessageSize: registryConfig.maxOutgoingMessageSize,
4704
4744
  preloadMaxWorkflowBytes: options.preloadMaxWorkflowBytes,
4705
4745
  preloadMaxConnectionsBytes: options.preloadMaxConnectionsBytes,
4706
- actions: Object.keys(_nullishCoalesce(config.actions, () => ( {}))).sort().map((name) => ({ name }))
4746
+ actions: Object.keys(_nullishCoalesce(config.actions, () => ( {}))).sort().map((name) => ({ name })),
4747
+ inspectorTabs: buildInspectorTabs(config.inspector)
4707
4748
  };
4708
4749
  }
4750
+ function buildInspectorTabs(inspector) {
4751
+ if (!inspector || typeof inspector !== "object") return void 0;
4752
+ const tabs = inspector.tabs;
4753
+ if (!Array.isArray(tabs) || tabs.length === 0) return void 0;
4754
+ return tabs.map((raw) => {
4755
+ const entry = raw;
4756
+ if (entry.hidden === true) {
4757
+ return { id: entry.id, hidden: true };
4758
+ }
4759
+ const resolved = entry.source !== void 0 ? _path3.default.resolve(entry.source) : void 0;
4760
+ if (resolved !== void 0) {
4761
+ validateInspectorTabSource(entry.id, resolved);
4762
+ }
4763
+ return {
4764
+ id: entry.id,
4765
+ label: entry.label,
4766
+ icon: entry.icon,
4767
+ source: resolved
4768
+ };
4769
+ });
4770
+ }
4771
+ function validateInspectorTabSource(tabId, resolved) {
4772
+ if (resolved === _path3.default.parse(resolved).root) {
4773
+ throw new Error(
4774
+ `inspector.tabs[id="${tabId}"].source resolves to the filesystem root (${resolved}). Point it at the tab's own static-asset directory instead.`
4775
+ );
4776
+ }
4777
+ let stat;
4778
+ try {
4779
+ stat = _fs2.default.statSync(resolved);
4780
+ } catch (err) {
4781
+ const code = err == null ? void 0 : err.code;
4782
+ if (code === "ENOENT") {
4783
+ throw new Error(
4784
+ `inspector.tabs[id="${tabId}"].source (${resolved}) does not exist.`
4785
+ );
4786
+ }
4787
+ if (code === "EACCES") {
4788
+ throw new Error(
4789
+ `inspector.tabs[id="${tabId}"].source (${resolved}) is not readable (EACCES).`
4790
+ );
4791
+ }
4792
+ throw new Error(
4793
+ `inspector.tabs[id="${tabId}"].source (${resolved}) could not be stat'd: ${_nullishCoalesce((err == null ? void 0 : err.message), () => ( err))}`
4794
+ );
4795
+ }
4796
+ if (!stat.isDirectory()) {
4797
+ throw new Error(
4798
+ `inspector.tabs[id="${tabId}"].source (${resolved}) must be a directory, got ${stat.isFile() ? "file" : "non-directory"}.`
4799
+ );
4800
+ }
4801
+ }
4709
4802
  function buildNativeFactory(runtime, registryConfig, definition) {
4710
4803
  var _a;
4711
4804
  const config = definition.config;
@@ -4719,9 +4812,9 @@ function buildNativeFactory(runtime, registryConfig, definition) {
4719
4812
  const actionHandlers = Object.fromEntries(
4720
4813
  Object.entries(_nullishCoalesce(config.actions, () => ( {}))).map(([name, handler]) => [name, handler])
4721
4814
  );
4722
- const createClient = () => _chunk2U6RLFKXcjs.createClientWithDriver.call(void 0,
4723
- new (0, _chunk2U6RLFKXcjs.RemoteEngineControlClient)(
4724
- _chunk2U6RLFKXcjs.convertRegistryConfigToClientConfig.call(void 0, registryConfig)
4815
+ const createClient = () => _chunkE5CLYAUZcjs.createClientWithDriver.call(void 0,
4816
+ new (0, _chunkE5CLYAUZcjs.RemoteEngineControlClient)(
4817
+ _chunkE5CLYAUZcjs.convertRegistryConfigToClientConfig.call(void 0, registryConfig)
4725
4818
  ),
4726
4819
  { encoding: "bare" }
4727
4820
  );
@@ -4731,7 +4824,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
4731
4824
  ), () => ( false));
4732
4825
  const getNativeWorkflowInspector = (ctx) => {
4733
4826
  var _a2;
4734
- return (_a2 = _chunkWHYBAEWGcjs.getRunInspectorConfig.call(void 0,
4827
+ return (_a2 = _chunkNIY3RSPXcjs.getRunInspectorConfig.call(void 0,
4735
4828
  config.run,
4736
4829
  callNativeSync(() => runtime.actorId(ctx))
4737
4830
  )) == null ? void 0 : _a2.workflow;
@@ -5038,13 +5131,26 @@ function buildNativeFactory(runtime, registryConfig, definition) {
5038
5131
  );
5039
5132
  }
5040
5133
  const body = await jsRequest.json();
5134
+ if (body.args !== void 0 && body.properties !== void 0) {
5135
+ return jsonResponse(
5136
+ { error: "use either args or properties, not both" },
5137
+ { status: 400 }
5138
+ );
5139
+ }
5140
+ if (body.properties !== void 0 && (body.properties === null || typeof body.properties !== "object" || Array.isArray(body.properties))) {
5141
+ return jsonResponse(
5142
+ { error: "properties must be an object" },
5143
+ { status: 400 }
5144
+ );
5145
+ }
5146
+ const args = body.properties !== void 0 ? [body.properties] : normalizeArgs(body.args);
5041
5147
  try {
5042
5148
  const output = await action(
5043
5149
  actorCtx,
5044
5150
  ...validateActionArgs(
5045
5151
  schemaConfig.actionInputSchemas,
5046
5152
  actionName,
5047
- _nullishCoalesce(body.args, () => ( []))
5153
+ args
5048
5154
  )
5049
5155
  );
5050
5156
  return jsonResponse({ output });
@@ -5426,7 +5532,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
5426
5532
  new Response(null, { status: 404 })
5427
5533
  );
5428
5534
  }
5429
- const rawConnParams = jsRequest.headers.get(_chunk2U6RLFKXcjs.HEADER_CONN_PARAMS);
5535
+ const rawConnParams = jsRequest.headers.get(_chunkE5CLYAUZcjs.HEADER_CONN_PARAMS);
5430
5536
  let requestCtx;
5431
5537
  let conn;
5432
5538
  try {
@@ -5491,7 +5597,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
5491
5597
  }
5492
5598
  ) : void 0,
5493
5599
  run: (() => {
5494
- const run = _chunkWHYBAEWGcjs.getRunFunction.call(void 0, config.run);
5600
+ const run = _chunkNIY3RSPXcjs.getRunFunction.call(void 0, config.run);
5495
5601
  if (!run) {
5496
5602
  return void 0;
5497
5603
  }
@@ -5510,7 +5616,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
5510
5616
  }
5511
5617
  );
5512
5618
  })(),
5513
- getWorkflowHistory: _chunkWHYBAEWGcjs.getRunInspectorConfig.call(void 0, config.run) !== void 0 ? wrapNativeCallback(
5619
+ getWorkflowHistory: _chunkNIY3RSPXcjs.getRunInspectorConfig.call(void 0, config.run) !== void 0 ? wrapNativeCallback(
5514
5620
  async (error, payload) => {
5515
5621
  var _a2;
5516
5622
  const { ctx } = unwrapTsfnPayload(error, payload);
@@ -5518,7 +5624,7 @@ function buildNativeFactory(runtime, registryConfig, definition) {
5518
5624
  return history == null ? void 0 : encodeValue(history);
5519
5625
  }
5520
5626
  ) : void 0,
5521
- replayWorkflow: _chunkWHYBAEWGcjs.getRunInspectorConfig.call(void 0, config.run) !== void 0 ? wrapNativeCallback(
5627
+ replayWorkflow: _chunkNIY3RSPXcjs.getRunInspectorConfig.call(void 0, config.run) !== void 0 ? wrapNativeCallback(
5522
5628
  async (error, payload) => {
5523
5629
  const { ctx, entryId } = unwrapTsfnPayload(
5524
5630
  error,
@@ -5653,7 +5759,7 @@ async function buildServeConfig(config) {
5653
5759
  poolName: config.envoy.poolName,
5654
5760
  handleInspectorHttpInRuntime: true,
5655
5761
  serverlessBasePath: config.serverless.basePath,
5656
- serverlessPackageVersion: _chunkVNMIAPPFcjs.VERSION,
5762
+ serverlessPackageVersion: _chunkEBWOJRCCcjs.VERSION,
5657
5763
  serverlessClientEndpoint: config.publicEndpoint,
5658
5764
  serverlessClientNamespace: config.publicNamespace,
5659
5765
  serverlessClientToken: config.publicToken,
@@ -5663,15 +5769,17 @@ async function buildServeConfig(config) {
5663
5769
  if (config.startEngine) {
5664
5770
  const { getEnginePath } = await loadEngineCli();
5665
5771
  serveConfig.engineBinaryPath = getEnginePath();
5772
+ serveConfig.engineHost = config.engineHost;
5773
+ serveConfig.enginePort = config.enginePort;
5666
5774
  }
5667
5775
  if ((_a = config.test) == null ? void 0 : _a.enabled) {
5668
- serveConfig.inspectorTestToken = _nullishCoalesce(_chunkVNMIAPPFcjs.getEnvUniversal.call(void 0, "_RIVET_TEST_INSPECTOR_TOKEN"), () => ( "token"));
5776
+ serveConfig.inspectorTestToken = _nullishCoalesce(_chunkEBWOJRCCcjs.getEnvUniversal.call(void 0, "_RIVET_TEST_INSPECTOR_TOKEN"), () => ( "token"));
5669
5777
  }
5670
5778
  return serveConfig;
5671
5779
  }
5672
5780
  async function buildRegistryWithRuntime(config, runtime) {
5673
5781
  var _a;
5674
- if (((_a = config.test) == null ? void 0 : _a.enabled) && _chunkVNMIAPPFcjs.getEnvUniversal.call(void 0, "_RIVET_TEST_INSPECTOR_TOKEN") === void 0) {
5782
+ if (((_a = config.test) == null ? void 0 : _a.enabled) && _chunkEBWOJRCCcjs.getEnvUniversal.call(void 0, "_RIVET_TEST_INSPECTOR_TOKEN") === void 0) {
5675
5783
  trySetProcessEnv("_RIVET_TEST_INSPECTOR_TOKEN", "token");
5676
5784
  }
5677
5785
  const registry = runtime.createRegistry();
@@ -5947,7 +6055,7 @@ var Registry = class {
5947
6055
  async listen(opts = {}) {
5948
6056
  const port = _nullishCoalesce(opts.port, () => ( 3e3));
5949
6057
  const config = this.parseConfig();
5950
- const runtime = _chunkVNMIAPPFcjs.detectRuntime.call(void 0, );
6058
+ const runtime = _chunkEBWOJRCCcjs.detectRuntime.call(void 0, );
5951
6059
  const app = new (0, _hono.Hono)();
5952
6060
  if (opts.publicDir) {
5953
6061
  const serveStatic = await loadRuntimeServeStatic(runtime);
@@ -5965,7 +6073,7 @@ var Registry = class {
5965
6073
  return jsonRouteResponse(503, {
5966
6074
  status: "not_started",
5967
6075
  runtime: "rivetkit",
5968
- version: _chunkVNMIAPPFcjs.VERSION
6076
+ version: _chunkEBWOJRCCcjs.VERSION
5969
6077
  });
5970
6078
  }
5971
6079
  const { runtime, registry } = configured;
@@ -5973,7 +6081,7 @@ var Registry = class {
5973
6081
  return jsonRouteResponse(501, {
5974
6082
  status: "unsupported",
5975
6083
  runtime: "rivetkit",
5976
- version: _chunkVNMIAPPFcjs.VERSION
6084
+ version: _chunkEBWOJRCCcjs.VERSION
5977
6085
  });
5978
6086
  }
5979
6087
  const response = await runtime.registryHealth(registry);
@@ -6219,13 +6327,13 @@ var Registry = class {
6219
6327
  };
6220
6328
  console.log();
6221
6329
  console.log(
6222
- ` RivetKit ${_chunkVNMIAPPFcjs.VERSION} (Engine - ${kind === "serverless" ? "Serverless" : "Serverful"})`
6330
+ ` RivetKit ${_chunkEBWOJRCCcjs.VERSION} (Engine - ${kind === "serverless" ? "Serverless" : "Serverful"})`
6223
6331
  );
6224
6332
  if (config.namespace !== "default") {
6225
6333
  logLine("Namespace", config.namespace);
6226
6334
  }
6227
6335
  if (config.endpoint) {
6228
- const endpointType = config.endpoint === ENGINE_ENDPOINT ? "local native" : "remote";
6336
+ const endpointType = config.startEngine || isLocalEngineEndpoint(config.endpoint) ? "local native" : "remote";
6229
6337
  logLine("Endpoint", `${config.endpoint} (${endpointType})`);
6230
6338
  }
6231
6339
  if (kind === "serverless" && config.publicEndpoint) {
@@ -6287,5 +6395,5 @@ function setup(input) {
6287
6395
 
6288
6396
 
6289
6397
 
6290
- exports.ALLOWED_PUBLIC_HEADERS = _chunk2U6RLFKXcjs.ALLOWED_PUBLIC_HEADERS; exports.ActorDefinition = ActorDefinition; exports.ActorError = _chunkKORQB2IRcjs.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 = _chunkKORQB2IRcjs.RivetError; exports.RuntimeKindSchema = RuntimeKindSchema; exports.SqliteBackendSchema = SqliteBackendSchema; exports.SqliteConfigSchema = SqliteConfigSchema; exports.TestConfigSchema = TestConfigSchema; exports.UserError = _chunkKORQB2IRcjs.UserError; exports.WasmRuntimeConfigSchema = WasmRuntimeConfigSchema; exports.actor = actor; exports.buildActorNames = buildActorNames; exports.createClientWithDriver = _chunk2U6RLFKXcjs.createClientWithDriver; exports.event = event; exports.isStaticActorDefinition = isStaticActorDefinition; exports.isStaticActorInstance = isStaticActorInstance; exports.lookupInRegistry = lookupInRegistry; exports.noopNext = _chunkVNMIAPPFcjs.noopNext; exports.queue = queue; exports.setup = setup; exports.toUint8Array = _chunkVNMIAPPFcjs.toUint8Array;
6398
+ exports.ALLOWED_PUBLIC_HEADERS = _chunkE5CLYAUZcjs.ALLOWED_PUBLIC_HEADERS; exports.ActorDefinition = ActorDefinition; exports.ActorError = _chunkKORQB2IRcjs.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 = _chunkKORQB2IRcjs.RivetError; exports.RuntimeKindSchema = RuntimeKindSchema; exports.SqliteBackendSchema = SqliteBackendSchema; exports.SqliteConfigSchema = SqliteConfigSchema; exports.TestConfigSchema = TestConfigSchema; exports.UserError = _chunkKORQB2IRcjs.UserError; exports.WasmRuntimeConfigSchema = WasmRuntimeConfigSchema; exports.actor = actor; exports.buildActorNames = buildActorNames; exports.createClientWithDriver = _chunkE5CLYAUZcjs.createClientWithDriver; exports.event = event; exports.isStaticActorDefinition = isStaticActorDefinition; exports.isStaticActorInstance = isStaticActorInstance; exports.lookupInRegistry = lookupInRegistry; exports.noopNext = _chunkEBWOJRCCcjs.noopNext; exports.queue = queue; exports.setup = setup; exports.toUint8Array = _chunkEBWOJRCCcjs.toUint8Array;
6291
6399
  //# sourceMappingURL=mod.cjs.map