rivetkit 2.1.3 → 2.1.5

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 (112) hide show
  1. package/dist/browser/client.d.ts +11 -0
  2. package/dist/browser/client.js +1 -1
  3. package/dist/browser/client.js.map +1 -1
  4. package/dist/browser/inspector/client.js +1 -1
  5. package/dist/browser/inspector/client.js.map +1 -1
  6. package/dist/inspector.tar.gz +0 -0
  7. package/dist/tsup/{chunk-OAOF23ZY.js → chunk-2OK7S6QF.js} +2 -2
  8. package/dist/tsup/{chunk-5AZ6UPEF.cjs → chunk-7WF2QSIC.cjs} +24 -20
  9. package/dist/tsup/chunk-7WF2QSIC.cjs.map +1 -0
  10. package/dist/tsup/{chunk-IJAGZS57.cjs → chunk-D2SPAJVT.cjs} +30 -30
  11. package/dist/tsup/{chunk-IJAGZS57.cjs.map → chunk-D2SPAJVT.cjs.map} +1 -1
  12. package/dist/tsup/{chunk-YET3IZD6.js → chunk-EIATSBYZ.js} +2 -2
  13. package/dist/tsup/{chunk-YET3IZD6.js.map → chunk-EIATSBYZ.js.map} +1 -1
  14. package/dist/tsup/{chunk-DADGS67O.cjs → chunk-GQGRQDRL.cjs} +4 -4
  15. package/dist/tsup/{chunk-DADGS67O.cjs.map → chunk-GQGRQDRL.cjs.map} +1 -1
  16. package/dist/tsup/{chunk-ZSJ2OTY4.cjs → chunk-HYPIHCDT.cjs} +2 -2
  17. package/dist/tsup/{chunk-ZSJ2OTY4.cjs.map → chunk-HYPIHCDT.cjs.map} +1 -1
  18. package/dist/tsup/{chunk-HPAX7L72.cjs → chunk-IIJNPVPQ.cjs} +152 -152
  19. package/dist/tsup/{chunk-HPAX7L72.cjs.map → chunk-IIJNPVPQ.cjs.map} +1 -1
  20. package/dist/tsup/{chunk-U6VWVHVW.cjs → chunk-JC6BEPE7.cjs} +3 -3
  21. package/dist/tsup/{chunk-U6VWVHVW.cjs.map → chunk-JC6BEPE7.cjs.map} +1 -1
  22. package/dist/tsup/{chunk-N7ASEZ2Y.js → chunk-JPXO2H55.js} +5 -5
  23. package/dist/tsup/{chunk-QUDLEWGD.js → chunk-MIX2KB6U.js} +212 -47
  24. package/dist/tsup/chunk-MIX2KB6U.js.map +1 -0
  25. package/dist/tsup/{chunk-BMNB6YRQ.cjs → chunk-OAXJWGMU.cjs} +212 -305
  26. package/dist/tsup/chunk-OAXJWGMU.cjs.map +1 -0
  27. package/dist/tsup/{chunk-KSZZRTOD.cjs → chunk-PB5AEMKQ.cjs} +3 -5
  28. package/dist/tsup/chunk-PB5AEMKQ.cjs.map +1 -0
  29. package/dist/tsup/{chunk-6T3WSP5M.js → chunk-R5OQUSLN.js} +4 -4
  30. package/dist/tsup/{chunk-POUBQA6Z.js → chunk-S662Y6ZU.js} +2 -2
  31. package/dist/tsup/{chunk-GNGRMP5E.js → chunk-SRIM3GHD.js} +18 -11
  32. package/dist/tsup/chunk-SRIM3GHD.js.map +1 -0
  33. package/dist/tsup/{chunk-MAXIXG56.js → chunk-TADUYCHF.js} +2 -4
  34. package/dist/tsup/chunk-TADUYCHF.js.map +1 -0
  35. package/dist/tsup/{chunk-R64EFI6F.cjs → chunk-TI5PXQGG.cjs} +280 -115
  36. package/dist/tsup/chunk-TI5PXQGG.cjs.map +1 -0
  37. package/dist/tsup/{chunk-T6MM5RTW.cjs → chunk-U5SMSA27.cjs} +250 -243
  38. package/dist/tsup/chunk-U5SMSA27.cjs.map +1 -0
  39. package/dist/tsup/{chunk-6LHZQSWJ.js → chunk-WY2SHWXQ.js} +8 -4
  40. package/dist/tsup/chunk-WY2SHWXQ.js.map +1 -0
  41. package/dist/tsup/{chunk-YLDDENCZ.js → chunk-ZPWOYQHN.js} +126 -219
  42. package/dist/tsup/chunk-ZPWOYQHN.js.map +1 -0
  43. package/dist/tsup/client/mod.cjs +6 -6
  44. package/dist/tsup/client/mod.d.cts +2 -2
  45. package/dist/tsup/client/mod.d.ts +2 -2
  46. package/dist/tsup/client/mod.js +5 -5
  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-P3XujgRr.d.ts → config-Qj-zLJPc.d.ts} +11 -0
  52. package/dist/tsup/{config-_gfywqqI.d.cts → config-iPj5l1bL.d.cts} +11 -0
  53. package/dist/tsup/{context-uNA4TRn3.d.ts → context-CQCMuHND.d.ts} +1 -1
  54. package/dist/tsup/{context-Bxd8Cx4H.d.cts → context-DzvH1PBK.d.cts} +1 -1
  55. package/dist/tsup/{driver-CPGHKXyh.d.ts → driver-Jo8v-kbU.d.ts} +1 -1
  56. package/dist/tsup/driver-helpers/mod.cjs +4 -4
  57. package/dist/tsup/driver-helpers/mod.d.cts +4 -4
  58. package/dist/tsup/driver-helpers/mod.d.ts +4 -4
  59. package/dist/tsup/driver-helpers/mod.js +3 -3
  60. package/dist/tsup/{driver-BcLvZcKl.d.cts → driver-iV8J-WMv.d.cts} +1 -1
  61. package/dist/tsup/driver-test-suite/mod.cjs +196 -60
  62. package/dist/tsup/driver-test-suite/mod.cjs.map +1 -1
  63. package/dist/tsup/driver-test-suite/mod.d.cts +2 -2
  64. package/dist/tsup/driver-test-suite/mod.d.ts +2 -2
  65. package/dist/tsup/driver-test-suite/mod.js +971 -835
  66. package/dist/tsup/driver-test-suite/mod.js.map +1 -1
  67. package/dist/tsup/inspector/mod.cjs +3 -3
  68. package/dist/tsup/inspector/mod.js +2 -2
  69. package/dist/tsup/mod.cjs +8 -8
  70. package/dist/tsup/mod.d.cts +5 -5
  71. package/dist/tsup/mod.d.ts +5 -5
  72. package/dist/tsup/mod.js +7 -7
  73. package/dist/tsup/serve-test-suite/mod.cjs +182 -100
  74. package/dist/tsup/serve-test-suite/mod.cjs.map +1 -1
  75. package/dist/tsup/serve-test-suite/mod.js +93 -11
  76. package/dist/tsup/serve-test-suite/mod.js.map +1 -1
  77. package/dist/tsup/test/mod.cjs +10 -10
  78. package/dist/tsup/test/mod.d.cts +1 -1
  79. package/dist/tsup/test/mod.d.ts +1 -1
  80. package/dist/tsup/test/mod.js +6 -6
  81. package/dist/tsup/utils.cjs +2 -2
  82. package/dist/tsup/utils.js +1 -1
  83. package/dist/tsup/workflow/mod.cjs +5 -5
  84. package/dist/tsup/workflow/mod.d.cts +3 -3
  85. package/dist/tsup/workflow/mod.d.ts +3 -3
  86. package/dist/tsup/workflow/mod.js +4 -4
  87. package/package.json +6 -6
  88. package/src/actor/config.ts +0 -2
  89. package/src/actor/instance/mod.ts +17 -4
  90. package/src/actor/router.ts +9 -6
  91. package/src/driver-test-suite/mod.ts +3 -0
  92. package/src/driver-test-suite/tests/actor-driver.ts +4 -0
  93. package/src/driver-test-suite/tests/actor-lifecycle.ts +157 -0
  94. package/src/driver-test-suite/tests/conn-error-serialization.ts +64 -0
  95. package/src/drivers/engine/actor-driver.ts +47 -15
  96. package/src/manager/router.ts +20 -6
  97. package/src/{registry → utils}/serve.ts +38 -4
  98. package/src/workflow/context.ts +4 -0
  99. package/dist/tsup/chunk-5AZ6UPEF.cjs.map +0 -1
  100. package/dist/tsup/chunk-6LHZQSWJ.js.map +0 -1
  101. package/dist/tsup/chunk-BMNB6YRQ.cjs.map +0 -1
  102. package/dist/tsup/chunk-GNGRMP5E.js.map +0 -1
  103. package/dist/tsup/chunk-KSZZRTOD.cjs.map +0 -1
  104. package/dist/tsup/chunk-MAXIXG56.js.map +0 -1
  105. package/dist/tsup/chunk-QUDLEWGD.js.map +0 -1
  106. package/dist/tsup/chunk-R64EFI6F.cjs.map +0 -1
  107. package/dist/tsup/chunk-T6MM5RTW.cjs.map +0 -1
  108. package/dist/tsup/chunk-YLDDENCZ.js.map +0 -1
  109. /package/dist/tsup/{chunk-OAOF23ZY.js.map → chunk-2OK7S6QF.js.map} +0 -0
  110. /package/dist/tsup/{chunk-N7ASEZ2Y.js.map → chunk-JPXO2H55.js.map} +0 -0
  111. /package/dist/tsup/{chunk-6T3WSP5M.js.map → chunk-R5OQUSLN.js.map} +0 -0
  112. /package/dist/tsup/{chunk-POUBQA6Z.js.map → chunk-S662Y6ZU.js.map} +0 -0
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
2
2
 
3
- var _chunkZSJ2OTY4cjs = require('./chunk-ZSJ2OTY4.cjs');
3
+ var _chunkHYPIHCDTcjs = require('./chunk-HYPIHCDT.cjs');
4
4
 
5
5
  // src/client/log.ts
6
6
  function logger() {
7
- return _chunkZSJ2OTY4cjs.getLogger.call(void 0, "actor-client");
7
+ return _chunkHYPIHCDTcjs.getLogger.call(void 0, "actor-client");
8
8
  }
9
9
 
10
10
  // src/common/websocket.ts
@@ -46,4 +46,4 @@ async function importWebSocket() {
46
46
 
47
47
 
48
48
  exports.logger = logger; exports.importWebSocket = importWebSocket;
49
- //# sourceMappingURL=chunk-U6VWVHVW.cjs.map
49
+ //# sourceMappingURL=chunk-JC6BEPE7.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-U6VWVHVW.cjs","../../src/client/log.ts","../../src/common/websocket.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACFO,SAAS,MAAA,CAAA,EAAS;AACxB,EAAA,OAAO,yCAAA,cAAwB,CAAA;AAChC;ADIA;AACA;AENA,IAAI,iBAAA,EAAqD,IAAA;AAEzD,MAAA,SAAsB,eAAA,CAAA,EAA6C;AAElE,EAAA,GAAA,CAAI,iBAAA,IAAqB,IAAA,EAAM;AAC9B,IAAA,OAAO,gBAAA;AAAA,EACR;AAGA,EAAA,iBAAA,EAAA,CAAoB,MAAA,CAAA,EAAA,GAAY;AAC/B,IAAA,IAAI,UAAA;AAEJ,IAAA,GAAA,CAAI,OAAO,UAAA,IAAc,WAAA,EAAa;AAErC,MAAA,WAAA,EAAa,SAAA;AAAA,IACd,EAAA,KAAO;AAEN,MAAA,IAAI;AACH,QAAA,MAAM,WAAA,EAAa,IAAA;AACnB,QAAA,MAAM,GAAA,EAAK,MAAM,4DAAA;AAAA;AAAA,UAAiC;AAAA,QAAA,GAAA;AAClD,QAAA,WAAA,EAAa,EAAA,CAAG,OAAA;AAChB,QAAA,MAAA,CAAO,CAAA,CAAE,KAAA,CAAM,0BAA0B,CAAA;AAAA,MAC1C,EAAA,UAAQ;AAEP,QAAA,WAAA,EAAa,MAAM,cAAc;AAAA,UAChC,WAAA,CAAA,EAAc;AACb,YAAA,MAAM,IAAI,KAAA;AAAA,cACT;AAAA,YACD,CAAA;AAAA,UACD;AAAA,QACD,CAAA;AACA,QAAA,MAAA,CAAO,CAAA,CAAE,KAAA,CAAM,sBAAsB,CAAA;AAAA,MACtC;AAAA,IACD;AAEA,IAAA,OAAO,UAAA;AAAA,EACR,CAAA,CAAA,CAAG,CAAA;AAEH,EAAA,OAAO,gBAAA;AACR;AFCA;AACA;AACE;AACA;AACF,mEAAC","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-U6VWVHVW.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"actor-client\");\n}\n","import { logger } from \"@/client/log\";\n\n// Global singleton promise that will be reused for subsequent calls\nlet webSocketPromise: Promise<typeof WebSocket> | null = null;\n\nexport async function importWebSocket(): Promise<typeof WebSocket> {\n\t// Return existing promise if we already started loading\n\tif (webSocketPromise !== null) {\n\t\treturn webSocketPromise;\n\t}\n\n\t// Create and store the promise\n\twebSocketPromise = (async () => {\n\t\tlet _WebSocket: typeof WebSocket;\n\n\t\tif (typeof WebSocket !== \"undefined\") {\n\t\t\t// Browser environment\n\t\t\t_WebSocket = WebSocket as unknown as typeof WebSocket;\n\t\t} else {\n\t\t\t// Node.js environment\n\t\t\ttry {\n\t\t\t\tconst moduleName = \"ws\";\n\t\t\t\tconst ws = await import(/* webpackIgnore: true */ moduleName);\n\t\t\t\t_WebSocket = ws.default as unknown as typeof WebSocket;\n\t\t\t\tlogger().debug(\"using websocket from npm\");\n\t\t\t} catch {\n\t\t\t\t// WS not available\n\t\t\t\t_WebSocket = class MockWebSocket {\n\t\t\t\t\tconstructor() {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t'WebSocket support requires installing the \"ws\" peer dependency.',\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} as unknown as typeof WebSocket;\n\t\t\t\tlogger().debug(\"using mock websocket\");\n\t\t\t}\n\t\t}\n\n\t\treturn _WebSocket;\n\t})();\n\n\treturn webSocketPromise;\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-JC6BEPE7.cjs","../../src/client/log.ts","../../src/common/websocket.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACA;ACFO,SAAS,MAAA,CAAA,EAAS;AACxB,EAAA,OAAO,yCAAA,cAAwB,CAAA;AAChC;ADIA;AACA;AENA,IAAI,iBAAA,EAAqD,IAAA;AAEzD,MAAA,SAAsB,eAAA,CAAA,EAA6C;AAElE,EAAA,GAAA,CAAI,iBAAA,IAAqB,IAAA,EAAM;AAC9B,IAAA,OAAO,gBAAA;AAAA,EACR;AAGA,EAAA,iBAAA,EAAA,CAAoB,MAAA,CAAA,EAAA,GAAY;AAC/B,IAAA,IAAI,UAAA;AAEJ,IAAA,GAAA,CAAI,OAAO,UAAA,IAAc,WAAA,EAAa;AAErC,MAAA,WAAA,EAAa,SAAA;AAAA,IACd,EAAA,KAAO;AAEN,MAAA,IAAI;AACH,QAAA,MAAM,WAAA,EAAa,IAAA;AACnB,QAAA,MAAM,GAAA,EAAK,MAAM,4DAAA;AAAA;AAAA,UAAiC;AAAA,QAAA,GAAA;AAClD,QAAA,WAAA,EAAa,EAAA,CAAG,OAAA;AAChB,QAAA,MAAA,CAAO,CAAA,CAAE,KAAA,CAAM,0BAA0B,CAAA;AAAA,MAC1C,EAAA,UAAQ;AAEP,QAAA,WAAA,EAAa,MAAM,cAAc;AAAA,UAChC,WAAA,CAAA,EAAc;AACb,YAAA,MAAM,IAAI,KAAA;AAAA,cACT;AAAA,YACD,CAAA;AAAA,UACD;AAAA,QACD,CAAA;AACA,QAAA,MAAA,CAAO,CAAA,CAAE,KAAA,CAAM,sBAAsB,CAAA;AAAA,MACtC;AAAA,IACD;AAEA,IAAA,OAAO,UAAA;AAAA,EACR,CAAA,CAAA,CAAG,CAAA;AAEH,EAAA,OAAO,gBAAA;AACR;AFCA;AACA;AACE;AACA;AACF,mEAAC","file":"/home/runner/work/rivet/rivet/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-JC6BEPE7.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"actor-client\");\n}\n","import { logger } from \"@/client/log\";\n\n// Global singleton promise that will be reused for subsequent calls\nlet webSocketPromise: Promise<typeof WebSocket> | null = null;\n\nexport async function importWebSocket(): Promise<typeof WebSocket> {\n\t// Return existing promise if we already started loading\n\tif (webSocketPromise !== null) {\n\t\treturn webSocketPromise;\n\t}\n\n\t// Create and store the promise\n\twebSocketPromise = (async () => {\n\t\tlet _WebSocket: typeof WebSocket;\n\n\t\tif (typeof WebSocket !== \"undefined\") {\n\t\t\t// Browser environment\n\t\t\t_WebSocket = WebSocket as unknown as typeof WebSocket;\n\t\t} else {\n\t\t\t// Node.js environment\n\t\t\ttry {\n\t\t\t\tconst moduleName = \"ws\";\n\t\t\t\tconst ws = await import(/* webpackIgnore: true */ moduleName);\n\t\t\t\t_WebSocket = ws.default as unknown as typeof WebSocket;\n\t\t\t\tlogger().debug(\"using websocket from npm\");\n\t\t\t} catch {\n\t\t\t\t// WS not available\n\t\t\t\t_WebSocket = class MockWebSocket {\n\t\t\t\t\tconstructor() {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t'WebSocket support requires installing the \"ws\" peer dependency.',\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} as unknown as typeof WebSocket;\n\t\t\t\tlogger().debug(\"using mock websocket\");\n\t\t\t}\n\t\t}\n\n\t\treturn _WebSocket;\n\t})();\n\n\treturn webSocketPromise;\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  importWebSocket,
3
3
  logger
4
- } from "./chunk-OAOF23ZY.js";
4
+ } from "./chunk-2OK7S6QF.js";
5
5
  import {
6
6
  CURRENT_VERSION,
7
7
  EncodingSchema,
@@ -36,10 +36,10 @@ import {
36
36
  serializeWithEncoding,
37
37
  tryParseEndpoint,
38
38
  uint8ArrayToBase64
39
- } from "./chunk-QUDLEWGD.js";
39
+ } from "./chunk-MIX2KB6U.js";
40
40
  import {
41
41
  assertUnreachable as assertUnreachable2
42
- } from "./chunk-MAXIXG56.js";
42
+ } from "./chunk-TADUYCHF.js";
43
43
  import {
44
44
  VERSION,
45
45
  assertUnreachable,
@@ -58,7 +58,7 @@ import {
58
58
  noopNext,
59
59
  promiseWithResolvers,
60
60
  stringifyError
61
- } from "./chunk-YET3IZD6.js";
61
+ } from "./chunk-EIATSBYZ.js";
62
62
  import {
63
63
  ActorNotFound,
64
64
  InvalidRequest
@@ -2654,4 +2654,4 @@ export {
2654
2654
  RemoteManagerDriver,
2655
2655
  createClient
2656
2656
  };
2657
- //# sourceMappingURL=chunk-N7ASEZ2Y.js.map
2657
+ //# sourceMappingURL=chunk-JPXO2H55.js.map
@@ -11,17 +11,17 @@ import {
11
11
  hasSchemaConfigKey,
12
12
  loggerWithoutContext,
13
13
  validateSchemaSync
14
- } from "./chunk-MAXIXG56.js";
14
+ } from "./chunk-TADUYCHF.js";
15
15
  import {
16
16
  LogLevelSchema,
17
17
  VERSION,
18
18
  assertUnreachable,
19
19
  bufferToArrayBuffer,
20
20
  deconstructError,
21
+ detectRuntime,
21
22
  getEnvUniversal,
22
23
  getLogHeaders,
23
24
  getLogger,
24
- getNodeEnv,
25
25
  getRivetEndpoint,
26
26
  getRivetEngine,
27
27
  getRivetNamespace,
@@ -42,7 +42,7 @@ import {
42
42
  noopNext,
43
43
  promiseWithResolvers,
44
44
  stringifyError
45
- } from "./chunk-YET3IZD6.js";
45
+ } from "./chunk-EIATSBYZ.js";
46
46
  import {
47
47
  ConnStateNotEnabled,
48
48
  EventPayloadInvalid,
@@ -95,7 +95,6 @@ var ALLOWED_PUBLIC_HEADERS = [
95
95
  ];
96
96
 
97
97
  // src/manager/router.ts
98
- import { serveStatic } from "@hono/node-server/serve-static";
99
98
  import { createRoute } from "@hono/zod-openapi";
100
99
  import * as cbor6 from "cbor-x";
101
100
  import invariant5 from "invariant";
@@ -2546,14 +2545,14 @@ var DocRegistryConfigSchema = z7.object({
2546
2545
  function logger() {
2547
2546
  return getLogger("router");
2548
2547
  }
2549
- function loggerMiddleware(logger4) {
2548
+ function loggerMiddleware(logger5) {
2550
2549
  return async (c, next) => {
2551
2550
  const method = c.req.method;
2552
2551
  const path = c.req.path;
2553
2552
  const startTime = Date.now();
2554
2553
  await next();
2555
2554
  const duration = Date.now() - startTime;
2556
- logger4.debug({
2555
+ logger5.debug({
2557
2556
  msg: "http request",
2558
2557
  method,
2559
2558
  path,
@@ -2849,6 +2848,156 @@ var ActorsKvGetResponseSchema = z9.object({
2849
2848
  value: z9.string().nullable()
2850
2849
  });
2851
2850
 
2851
+ // src/registry/log.ts
2852
+ function logger2() {
2853
+ return getLogger("registry");
2854
+ }
2855
+
2856
+ // src/utils/serve.ts
2857
+ import getPort from "get-port";
2858
+ var DEFAULT_PORT = 6420;
2859
+ var serveStaticLoaderPromises = {};
2860
+ async function findFreePort(startPort = DEFAULT_PORT) {
2861
+ function* portRange(start, count = 100) {
2862
+ for (let i = 0; i < count; i++) {
2863
+ yield start + i;
2864
+ }
2865
+ }
2866
+ return getPort({ port: portRange(startPort) });
2867
+ }
2868
+ async function crossPlatformServe(config8, managerPort, app, runtime = detectRuntime()) {
2869
+ logger2().debug({ msg: "detected runtime for serve", runtime });
2870
+ switch (runtime) {
2871
+ case "deno":
2872
+ return serveDeno(config8, managerPort, app);
2873
+ case "bun":
2874
+ return serveBun(config8, managerPort, app);
2875
+ case "node":
2876
+ return serveNode(config8, managerPort, app);
2877
+ default:
2878
+ return serveNode(config8, managerPort, app);
2879
+ }
2880
+ }
2881
+ async function loadRuntimeServeStatic(runtime) {
2882
+ if (!serveStaticLoaderPromises[runtime]) {
2883
+ if (runtime === "node") {
2884
+ const nodeServeStaticModule = "@hono/node-server/serve-static";
2885
+ serveStaticLoaderPromises[runtime] = import(
2886
+ /* webpackIgnore: true */
2887
+ nodeServeStaticModule
2888
+ ).then((x) => x.serveStatic);
2889
+ } else if (runtime === "bun") {
2890
+ const bunModule = "hono/bun";
2891
+ serveStaticLoaderPromises[runtime] = import(
2892
+ /* webpackIgnore: true */
2893
+ bunModule
2894
+ ).then((x) => x.serveStatic);
2895
+ } else if (runtime === "deno") {
2896
+ const denoModule = "hono/deno";
2897
+ serveStaticLoaderPromises[runtime] = import(
2898
+ /* webpackIgnore: true */
2899
+ denoModule
2900
+ ).then((x) => x.serveStatic);
2901
+ } else {
2902
+ throw new Error(`unsupported runtime: ${runtime}`);
2903
+ }
2904
+ }
2905
+ return await serveStaticLoaderPromises[runtime];
2906
+ }
2907
+ async function serveNode(config8, managerPort, app) {
2908
+ const nodeServerModule = "@hono/node-server";
2909
+ let serve;
2910
+ try {
2911
+ const dep = await import(
2912
+ /* webpackIgnore: true */
2913
+ nodeServerModule
2914
+ );
2915
+ serve = dep.serve;
2916
+ } catch (err) {
2917
+ logger2().error({
2918
+ msg: "failed to import @hono/node-server. please run 'npm install @hono/node-server @hono/node-ws'",
2919
+ error: stringifyError(err)
2920
+ });
2921
+ process.exit(1);
2922
+ }
2923
+ const nodeWsModule = "@hono/node-ws";
2924
+ let createNodeWebSocket;
2925
+ try {
2926
+ const dep = await import(
2927
+ /* webpackIgnore: true */
2928
+ nodeWsModule
2929
+ );
2930
+ createNodeWebSocket = dep.createNodeWebSocket;
2931
+ } catch (err) {
2932
+ logger2().error({
2933
+ msg: "failed to import @hono/node-ws. please run 'npm install @hono/node-server @hono/node-ws'",
2934
+ error: stringifyError(err)
2935
+ });
2936
+ process.exit(1);
2937
+ }
2938
+ const { injectWebSocket, upgradeWebSocket } = createNodeWebSocket({
2939
+ app
2940
+ });
2941
+ const port = managerPort;
2942
+ const hostname = config8.managerHost;
2943
+ const server = serve(
2944
+ { fetch: app.fetch, port, hostname },
2945
+ () => logger2().info({ msg: "server listening", port, hostname })
2946
+ );
2947
+ injectWebSocket(server);
2948
+ return { upgradeWebSocket };
2949
+ }
2950
+ async function serveDeno(config8, managerPort, app) {
2951
+ const honoDenoModule = "hono/deno";
2952
+ let upgradeWebSocket;
2953
+ try {
2954
+ const dep = await import(
2955
+ /* webpackIgnore: true */
2956
+ honoDenoModule
2957
+ );
2958
+ upgradeWebSocket = dep.upgradeWebSocket;
2959
+ } catch (err) {
2960
+ logger2().error({
2961
+ msg: "failed to import hono/deno",
2962
+ error: stringifyError(err)
2963
+ });
2964
+ process.exit(1);
2965
+ }
2966
+ const port = config8.managerPort;
2967
+ const hostname = config8.managerHost;
2968
+ Deno.serve({ port, hostname }, app.fetch);
2969
+ logger2().info({ msg: "server listening", port, hostname });
2970
+ return { upgradeWebSocket };
2971
+ }
2972
+ async function serveBun(config8, managerPort, app) {
2973
+ const honoBunModule = "hono/bun";
2974
+ let createBunWebSocket;
2975
+ try {
2976
+ const dep = await import(
2977
+ /* webpackIgnore: true */
2978
+ honoBunModule
2979
+ );
2980
+ createBunWebSocket = dep.createBunWebSocket;
2981
+ } catch (err) {
2982
+ logger2().error({
2983
+ msg: "failed to import hono/bun",
2984
+ error: stringifyError(err)
2985
+ });
2986
+ process.exit(1);
2987
+ }
2988
+ const { websocket, upgradeWebSocket } = createBunWebSocket();
2989
+ const port = config8.managerPort;
2990
+ const hostname = config8.managerHost;
2991
+ Bun.serve({
2992
+ fetch: app.fetch,
2993
+ port,
2994
+ hostname,
2995
+ websocket
2996
+ });
2997
+ logger2().info({ msg: "server listening", port, hostname });
2998
+ return { upgradeWebSocket };
2999
+ }
3000
+
2852
3001
  // src/utils/crypto.ts
2853
3002
  function timingSafeEqual(a, b) {
2854
3003
  const encoder = new TextEncoder();
@@ -2901,12 +3050,12 @@ var cors = () => {
2901
3050
  };
2902
3051
 
2903
3052
  // src/utils/router.ts
2904
- function logger2() {
3053
+ function logger3() {
2905
3054
  return getLogger("router");
2906
3055
  }
2907
3056
  function createRouter(basePath, builder) {
2908
3057
  const router = new OpenAPIHono({ strict: false }).basePath(basePath);
2909
- router.use("*", loggerMiddleware(logger2()), cors());
3058
+ router.use("*", loggerMiddleware(logger3()), cors());
2910
3059
  router.use(
2911
3060
  "*",
2912
3061
  createMiddleware(async (c, next) => {
@@ -4116,7 +4265,7 @@ function truncateRawWebSocketPathPrefix(path) {
4116
4265
  }
4117
4266
 
4118
4267
  // src/manager/log.ts
4119
- function logger3() {
4268
+ function logger4() {
4120
4269
  return getLogger("actor-manager");
4121
4270
  }
4122
4271
 
@@ -4129,7 +4278,7 @@ async function handleWebSocketGatewayPathBased(config8, managerDriver, c, actorP
4129
4278
  const { encoding, connParams } = parseWebSocketProtocols(
4130
4279
  c.req.header("sec-websocket-protocol")
4131
4280
  );
4132
- logger3().debug({
4281
+ logger4().debug({
4133
4282
  msg: "proxying websocket to actor via path-based routing",
4134
4283
  actorId: actorPathInfo.actorId,
4135
4284
  path: actorPathInfo.remainingPath,
@@ -4145,7 +4294,7 @@ async function handleWebSocketGatewayPathBased(config8, managerDriver, c, actorP
4145
4294
  );
4146
4295
  }
4147
4296
  async function handleHttpGatewayPathBased(managerDriver, c, actorPathInfo) {
4148
- logger3().debug({
4297
+ logger4().debug({
4149
4298
  msg: "proxying request to actor via path-based routing",
4150
4299
  actorId: actorPathInfo.actorId,
4151
4300
  path: actorPathInfo.remainingPath,
@@ -4180,7 +4329,7 @@ async function actorGateway(config8, managerDriver, getUpgradeWebSocket, c, next
4180
4329
  const pathWithQuery = c.req.url.includes("?") ? strippedPath + c.req.url.substring(c.req.url.indexOf("?")) : strippedPath;
4181
4330
  const actorPathInfo = parseActorPath(pathWithQuery);
4182
4331
  if (actorPathInfo) {
4183
- logger3().debug({
4332
+ logger4().debug({
4184
4333
  msg: "routing using path-based actor routing",
4185
4334
  actorPathInfo
4186
4335
  });
@@ -4227,7 +4376,7 @@ async function handleWebSocketGateway(config8, managerDriver, getUpgradeWebSocke
4227
4376
  if (!actorId) {
4228
4377
  throw new MissingActorHeader();
4229
4378
  }
4230
- logger3().debug({
4379
+ logger4().debug({
4231
4380
  msg: "proxying websocket to actor",
4232
4381
  actorId,
4233
4382
  path: strippedPath,
@@ -4251,7 +4400,7 @@ async function handleHttpGateway(managerDriver, c, next, strippedPath) {
4251
4400
  if (!actorId) {
4252
4401
  throw new MissingActorHeader();
4253
4402
  }
4254
- logger3().debug({
4403
+ logger4().debug({
4255
4404
  msg: "proxying request to actor",
4256
4405
  actorId,
4257
4406
  path: strippedPath,
@@ -4353,24 +4502,24 @@ async function createTestWebSocketProxy(proxyToActorWsPromise) {
4353
4502
  promise: clientToProxyWsPromise,
4354
4503
  resolve: clientToProxyWsResolve,
4355
4504
  reject: clientToProxyWsReject
4356
- } = promiseWithResolvers((reason) => logger3().warn({ msg: "unhandled client websocket promise rejection", reason }));
4505
+ } = promiseWithResolvers((reason) => logger4().warn({ msg: "unhandled client websocket promise rejection", reason }));
4357
4506
  try {
4358
- logger3().debug({ msg: "awaiting client websocket promise" });
4507
+ logger4().debug({ msg: "awaiting client websocket promise" });
4359
4508
  proxyToActorWs = await proxyToActorWsPromise;
4360
- logger3().debug({
4509
+ logger4().debug({
4361
4510
  msg: "client websocket promise resolved",
4362
4511
  constructor: proxyToActorWs == null ? void 0 : proxyToActorWs.constructor.name
4363
4512
  });
4364
4513
  await new Promise((resolve, reject) => {
4365
4514
  invariant4(proxyToActorWs, "missing proxyToActorWs");
4366
4515
  const onOpen = () => {
4367
- logger3().debug({
4516
+ logger4().debug({
4368
4517
  msg: "test websocket connection to actor opened"
4369
4518
  });
4370
4519
  resolve();
4371
4520
  };
4372
4521
  const onError = (error) => {
4373
- logger3().error({
4522
+ logger4().error({
4374
4523
  msg: "test websocket connection failed",
4375
4524
  error
4376
4525
  });
@@ -4388,7 +4537,7 @@ async function createTestWebSocketProxy(proxyToActorWsPromise) {
4388
4537
  async (clientEvt) => {
4389
4538
  var _a, _b;
4390
4539
  const clientToProxyWs = await clientToProxyWsPromise;
4391
- logger3().debug({
4540
+ logger4().debug({
4392
4541
  msg: `test websocket connection message from client`,
4393
4542
  dataType: typeof clientEvt.data,
4394
4543
  isBlob: clientEvt.data instanceof Blob,
@@ -4399,19 +4548,19 @@ async function createTestWebSocketProxy(proxyToActorWsPromise) {
4399
4548
  if (clientToProxyWs.readyState === 1) {
4400
4549
  if (clientEvt.data instanceof Blob) {
4401
4550
  clientEvt.data.arrayBuffer().then((buffer) => {
4402
- logger3().debug({
4551
+ logger4().debug({
4403
4552
  msg: "converted client blob to arraybuffer, sending to server",
4404
4553
  bufferSize: buffer.byteLength
4405
4554
  });
4406
4555
  clientToProxyWs.send(buffer);
4407
4556
  }).catch((error) => {
4408
- logger3().error({
4557
+ logger4().error({
4409
4558
  msg: "failed to convert blob to arraybuffer",
4410
4559
  error
4411
4560
  });
4412
4561
  });
4413
4562
  } else {
4414
- logger3().debug({
4563
+ logger4().debug({
4415
4564
  msg: "sending client data directly to server",
4416
4565
  dataType: typeof clientEvt.data,
4417
4566
  dataLength: typeof clientEvt.data === "string" ? clientEvt.data.length : void 0
@@ -4423,7 +4572,7 @@ async function createTestWebSocketProxy(proxyToActorWsPromise) {
4423
4572
  );
4424
4573
  proxyToActorWs.addEventListener("close", async (clientEvt) => {
4425
4574
  const clientToProxyWs = await clientToProxyWsPromise;
4426
- logger3().debug({
4575
+ logger4().debug({
4427
4576
  msg: `test websocket connection closed`
4428
4577
  });
4429
4578
  if (clientToProxyWs.readyState !== 3) {
@@ -4432,7 +4581,7 @@ async function createTestWebSocketProxy(proxyToActorWsPromise) {
4432
4581
  });
4433
4582
  proxyToActorWs.addEventListener("error", async () => {
4434
4583
  const clientToProxyWs = await clientToProxyWsPromise;
4435
- logger3().debug({
4584
+ logger4().debug({
4436
4585
  msg: `test websocket connection error`
4437
4586
  });
4438
4587
  if (clientToProxyWs.readyState !== 3) {
@@ -4441,7 +4590,7 @@ async function createTestWebSocketProxy(proxyToActorWsPromise) {
4441
4590
  });
4442
4591
  });
4443
4592
  } catch (error) {
4444
- logger3().error({
4593
+ logger4().error({
4445
4594
  msg: `failed to establish client websocket connection`,
4446
4595
  error
4447
4596
  });
@@ -4459,10 +4608,10 @@ async function createTestWebSocketProxy(proxyToActorWsPromise) {
4459
4608
  }
4460
4609
  return {
4461
4610
  onOpen: (_evt, clientToProxyWs) => {
4462
- logger3().debug({
4611
+ logger4().debug({
4463
4612
  msg: `test websocket connection from client opened`
4464
4613
  });
4465
- logger3().debug({
4614
+ logger4().debug({
4466
4615
  msg: "proxyToActorWs info",
4467
4616
  constructor: proxyToActorWs.constructor.name,
4468
4617
  hasAddEventListener: typeof proxyToActorWs.addEventListener === "function",
@@ -4472,7 +4621,7 @@ async function createTestWebSocketProxy(proxyToActorWsPromise) {
4472
4621
  },
4473
4622
  onMessage: (evt) => {
4474
4623
  var _a, _b;
4475
- logger3().debug({
4624
+ logger4().debug({
4476
4625
  msg: "received message from server",
4477
4626
  dataType: typeof evt.data,
4478
4627
  isBlob: evt.data instanceof Blob,
@@ -4483,19 +4632,19 @@ async function createTestWebSocketProxy(proxyToActorWsPromise) {
4483
4632
  if (proxyToActorWs.readyState === 1) {
4484
4633
  if (evt.data instanceof Blob) {
4485
4634
  evt.data.arrayBuffer().then((buffer) => {
4486
- logger3().debug({
4635
+ logger4().debug({
4487
4636
  msg: "converted blob to arraybuffer, sending",
4488
4637
  bufferSize: buffer.byteLength
4489
4638
  });
4490
4639
  proxyToActorWs.send(buffer);
4491
4640
  }).catch((error) => {
4492
- logger3().error({
4641
+ logger4().error({
4493
4642
  msg: "failed to convert blob to arraybuffer",
4494
4643
  error
4495
4644
  });
4496
4645
  });
4497
4646
  } else {
4498
- logger3().debug({
4647
+ logger4().debug({
4499
4648
  msg: "sending data directly",
4500
4649
  dataType: typeof evt.data,
4501
4650
  dataLength: typeof evt.data === "string" ? evt.data.length : void 0
@@ -4505,7 +4654,7 @@ async function createTestWebSocketProxy(proxyToActorWsPromise) {
4505
4654
  }
4506
4655
  },
4507
4656
  onClose: (event, clientToProxyWs) => {
4508
- logger3().debug({
4657
+ logger4().debug({
4509
4658
  msg: `server websocket closed`,
4510
4659
  wasClean: event.wasClean,
4511
4660
  code: event.code,
@@ -4517,7 +4666,7 @@ async function createTestWebSocketProxy(proxyToActorWsPromise) {
4517
4666
  }
4518
4667
  },
4519
4668
  onError: (error) => {
4520
- logger3().error({
4669
+ logger4().error({
4521
4670
  msg: `error in server websocket`,
4522
4671
  error
4523
4672
  });
@@ -4530,7 +4679,7 @@ async function createTestWebSocketProxy(proxyToActorWsPromise) {
4530
4679
  }
4531
4680
 
4532
4681
  // src/manager/router.ts
4533
- function buildManagerRouter(config8, managerDriver, getUpgradeWebSocket) {
4682
+ function buildManagerRouter(config8, managerDriver, getUpgradeWebSocket, runtime = "node") {
4534
4683
  return createRouter(config8.managerBasePath, (router) => {
4535
4684
  var _a;
4536
4685
  router.use(
@@ -4743,12 +4892,12 @@ function buildManagerRouter(config8, managerDriver, getUpgradeWebSocket) {
4743
4892
  responses: buildOpenApiResponses(ActorsKvGetResponseSchema)
4744
4893
  });
4745
4894
  router.openapi(route, async (c) => {
4746
- if (getNodeEnv() === "development" && !config8.token) {
4747
- logger3().warn({
4895
+ if (isDev() && !config8.token) {
4896
+ logger4().warn({
4748
4897
  msg: "RIVET_TOKEN is not set, skipping KV store access checks in development mode. This endpoint will be disabled in production, unless you set the token."
4749
4898
  });
4750
4899
  }
4751
- if (getNodeEnv() !== "development") {
4900
+ if (!isDev()) {
4752
4901
  if (!config8.token) {
4753
4902
  throw new RestrictedFeature("KV store access");
4754
4903
  }
@@ -4773,7 +4922,7 @@ function buildManagerRouter(config8, managerDriver, getUpgradeWebSocket) {
4773
4922
  router.post(".test/inline-driver/call", async (c) => {
4774
4923
  const buffer = await c.req.arrayBuffer();
4775
4924
  const { encoding, method, args } = cbor6.decode(new Uint8Array(buffer));
4776
- logger3().debug({
4925
+ logger4().debug({
4777
4926
  msg: "received inline request",
4778
4927
  encoding,
4779
4928
  method,
@@ -4784,7 +4933,7 @@ function buildManagerRouter(config8, managerDriver, getUpgradeWebSocket) {
4784
4933
  const output = await managerDriver[method](...args);
4785
4934
  response = { ok: output };
4786
4935
  } catch (rawErr) {
4787
- const err = deconstructError(rawErr, logger3(), {}, true);
4936
+ const err = deconstructError(rawErr, logger4(), {}, true);
4788
4937
  response = { err };
4789
4938
  }
4790
4939
  return c.body(cbor6.encode(response));
@@ -4826,7 +4975,7 @@ function buildManagerRouter(config8, managerDriver, getUpgradeWebSocket) {
4826
4975
  params = JSON.parse(paramsRaw);
4827
4976
  }
4828
4977
  }
4829
- logger3().debug({
4978
+ logger4().debug({
4830
4979
  msg: "received test inline driver websocket",
4831
4980
  actorId,
4832
4981
  params,
@@ -4852,7 +5001,7 @@ function buildManagerRouter(config8, managerDriver, getUpgradeWebSocket) {
4852
5001
  const pathOnly = c.req.path.split("/.test/inline-driver/send-request/")[1] || "";
4853
5002
  const url = new URL(c.req.url);
4854
5003
  const pathWithQuery = pathOnly + url.search;
4855
- logger3().debug({
5004
+ logger4().debug({
4856
5005
  msg: "received test inline driver raw http",
4857
5006
  actorId,
4858
5007
  path: pathWithQuery,
@@ -4870,11 +5019,11 @@ function buildManagerRouter(config8, managerDriver, getUpgradeWebSocket) {
4870
5019
  );
4871
5020
  return response;
4872
5021
  } catch (error) {
4873
- logger3().error({
5022
+ logger4().error({
4874
5023
  msg: "error in test inline raw http",
4875
5024
  error: stringifyError(error)
4876
5025
  });
4877
- const err = deconstructError(error, logger3(), {}, true);
5026
+ const err = deconstructError(error, logger4(), {}, true);
4878
5027
  return c.json(
4879
5028
  {
4880
5029
  error: {
@@ -4896,7 +5045,7 @@ function buildManagerRouter(config8, managerDriver, getUpgradeWebSocket) {
4896
5045
  400
4897
5046
  );
4898
5047
  }
4899
- logger3().debug({
5048
+ logger4().debug({
4900
5049
  msg: "forcing unclean disconnect",
4901
5050
  actorId,
4902
5051
  connId
@@ -4920,7 +5069,7 @@ function buildManagerRouter(config8, managerDriver, getUpgradeWebSocket) {
4920
5069
  }
4921
5070
  return c.json({ success: true });
4922
5071
  } catch (error) {
4923
- logger3().error({
5072
+ logger4().error({
4924
5073
  msg: "error forcing disconnect",
4925
5074
  error: stringifyError(error)
4926
5075
  });
@@ -4931,6 +5080,19 @@ function buildManagerRouter(config8, managerDriver, getUpgradeWebSocket) {
4931
5080
  if (config8.inspector.enabled) {
4932
5081
  let inspectorRoot;
4933
5082
  router.get("/ui/*", async (c, next) => {
5083
+ let serveStatic;
5084
+ try {
5085
+ serveStatic = await loadRuntimeServeStatic(runtime);
5086
+ } catch (error) {
5087
+ logger4().error({
5088
+ msg: "failed to load inspector static file handler",
5089
+ error: stringifyError(error)
5090
+ });
5091
+ return c.text(
5092
+ `Failed to load static file handler for runtime '${runtime}'.`,
5093
+ 500
5094
+ );
5095
+ }
4934
5096
  if (!inspectorRoot) {
4935
5097
  inspectorRoot = await getInspectorDir();
4936
5098
  }
@@ -6116,9 +6278,12 @@ export {
6116
6278
  getNodeOs,
6117
6279
  getNodeChildProcess,
6118
6280
  getNodeStream,
6281
+ logger2 as logger,
6282
+ findFreePort,
6283
+ crossPlatformServe,
6119
6284
  createRouter,
6120
6285
  buildManagerRouter,
6121
6286
  getInitialActorKvState,
6122
6287
  importSqliteVfs
6123
6288
  };
6124
- //# sourceMappingURL=chunk-QUDLEWGD.js.map
6289
+ //# sourceMappingURL=chunk-MIX2KB6U.js.map