rivetkit 2.3.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/browser/client.d.ts +19 -6
  2. package/dist/browser/client.js +4 -4
  3. package/dist/browser/client.js.map +1 -1
  4. package/dist/browser/inspector/client.js +4 -4
  5. package/dist/browser/inspector/client.js.map +1 -1
  6. package/dist/tsup/actor/errors.cjs +4 -2
  7. package/dist/tsup/actor/errors.cjs.map +1 -1
  8. package/dist/tsup/actor/errors.d.cts +1 -1
  9. package/dist/tsup/actor/errors.d.ts +1 -1
  10. package/dist/tsup/actor/errors.js +3 -1
  11. package/dist/tsup/agent-os/index.cjs +4 -4
  12. package/dist/tsup/agent-os/index.cjs.map +1 -1
  13. package/dist/tsup/agent-os/index.d.cts +18 -5
  14. package/dist/tsup/agent-os/index.d.ts +18 -5
  15. package/dist/tsup/agent-os/index.js +4 -4
  16. package/dist/tsup/agent-os/index.js.map +1 -1
  17. package/dist/tsup/{chunk-NIY3RSPX.cjs → chunk-3MHDOUD7.cjs} +11 -2
  18. package/dist/tsup/chunk-3MHDOUD7.cjs.map +1 -0
  19. package/dist/tsup/{chunk-KORQB2IR.cjs → chunk-4FC7TVS6.cjs} +6 -2
  20. package/dist/tsup/chunk-4FC7TVS6.cjs.map +1 -0
  21. package/dist/tsup/{chunk-47HHIEXH.cjs → chunk-4UUEB43Y.cjs} +4 -4
  22. package/dist/tsup/{chunk-47HHIEXH.cjs.map → chunk-4UUEB43Y.cjs.map} +1 -1
  23. package/dist/tsup/{chunk-7QKCIVAY.cjs → chunk-5IWLUJ6W.cjs} +167 -167
  24. package/dist/tsup/{chunk-7QKCIVAY.cjs.map → chunk-5IWLUJ6W.cjs.map} +1 -1
  25. package/dist/tsup/{chunk-P2GNQ4RN.js → chunk-H6VVZMWN.js} +4 -4
  26. package/dist/tsup/{chunk-MEHBWPLJ.js → chunk-I35VSLEM.js} +3 -3
  27. package/dist/tsup/{chunk-BEI24WTI.js → chunk-JBUZRPY5.js} +2 -2
  28. package/dist/tsup/{chunk-B6VUNZUD.cjs → chunk-JLJJZYCJ.cjs} +10 -10
  29. package/dist/tsup/{chunk-B6VUNZUD.cjs.map → chunk-JLJJZYCJ.cjs.map} +1 -1
  30. package/dist/tsup/{chunk-VTTFNQQI.js → chunk-L2X3YFER.js} +31 -6
  31. package/dist/tsup/chunk-L2X3YFER.js.map +1 -0
  32. package/dist/tsup/{chunk-DXXJPH55.cjs → chunk-MNHKOS6L.cjs} +39 -14
  33. package/dist/tsup/chunk-MNHKOS6L.cjs.map +1 -0
  34. package/dist/tsup/{chunk-UMZVD6DQ.js → chunk-NERUIBOT.js} +2 -2
  35. package/dist/tsup/{chunk-I4LN3FNT.cjs → chunk-OST76LRW.cjs} +7 -7
  36. package/dist/tsup/{chunk-I4LN3FNT.cjs.map → chunk-OST76LRW.cjs.map} +1 -1
  37. package/dist/tsup/{chunk-LVTBW2RE.cjs → chunk-OZBCXBVP.cjs} +3 -3
  38. package/dist/tsup/{chunk-LVTBW2RE.cjs.map → chunk-OZBCXBVP.cjs.map} +1 -1
  39. package/dist/tsup/{chunk-4JDSFJS5.js → chunk-PT6OIW5E.js} +5 -5
  40. package/dist/tsup/{chunk-2OTRTA3J.js → chunk-R6KPN5EW.js} +2 -2
  41. package/dist/tsup/{chunk-3677IIOV.cjs → chunk-V5KMAMX3.cjs} +5 -5
  42. package/dist/tsup/{chunk-3677IIOV.cjs.map → chunk-V5KMAMX3.cjs.map} +1 -1
  43. package/dist/tsup/{chunk-DPIMKYNB.js → chunk-XIX5DOZN.js} +10 -1
  44. package/dist/tsup/chunk-XIX5DOZN.js.map +1 -0
  45. package/dist/tsup/{chunk-BRP62GZC.js → chunk-ZZ3WBRPD.js} +5 -1
  46. package/dist/tsup/chunk-ZZ3WBRPD.js.map +1 -0
  47. package/dist/tsup/client/mod.cjs +7 -7
  48. package/dist/tsup/client/mod.d.cts +3 -3
  49. package/dist/tsup/client/mod.d.ts +3 -3
  50. package/dist/tsup/client/mod.js +6 -6
  51. package/dist/tsup/common/log.cjs +3 -3
  52. package/dist/tsup/common/log.js +2 -2
  53. package/dist/tsup/common/websocket.cjs +4 -4
  54. package/dist/tsup/common/websocket.js +3 -3
  55. package/dist/tsup/{config-CZQQ-mso.d.cts → config-CzvopP5m.d.cts} +22 -7
  56. package/dist/tsup/{config-BxWAw3iH.d.ts → config-DZuT7tcp.d.ts} +22 -7
  57. package/dist/tsup/context-CyAdY-aA.d.ts +128 -0
  58. package/dist/tsup/context-sNB28g0N.d.cts +128 -0
  59. package/dist/tsup/dynamic/mod.cjs +2 -2
  60. package/dist/tsup/dynamic/mod.d.cts +2 -2
  61. package/dist/tsup/dynamic/mod.d.ts +2 -2
  62. package/dist/tsup/dynamic/mod.js +1 -1
  63. package/dist/tsup/inspector/mod.cjs +6 -6
  64. package/dist/tsup/inspector/mod.js +5 -5
  65. package/dist/tsup/inspector-tab/mod.cjs +2 -2
  66. package/dist/tsup/inspector-tab/mod.cjs.map +1 -1
  67. package/dist/tsup/inspector-tab/mod.d.cts +3 -3
  68. package/dist/tsup/inspector-tab/mod.d.ts +3 -3
  69. package/dist/tsup/inspector-tab/mod.js +1 -1
  70. package/dist/tsup/inspector-tab/mod.js.map +1 -1
  71. package/dist/tsup/mod.cjs +292 -276
  72. package/dist/tsup/mod.cjs.map +1 -1
  73. package/dist/tsup/mod.d.cts +4 -4
  74. package/dist/tsup/mod.d.ts +4 -4
  75. package/dist/tsup/mod.js +202 -186
  76. package/dist/tsup/mod.js.map +1 -1
  77. package/dist/tsup/test/mod.cjs +10 -10
  78. package/dist/tsup/test/mod.d.cts +2 -2
  79. package/dist/tsup/test/mod.d.ts +2 -2
  80. package/dist/tsup/test/mod.js +6 -6
  81. package/dist/tsup/{utils-DQosb24I.d.ts → utils-CqDnC_PS.d.cts} +2 -1
  82. package/dist/tsup/{utils-DQosb24I.d.cts → utils-CqDnC_PS.d.ts} +2 -1
  83. package/dist/tsup/utils.cjs +3 -3
  84. package/dist/tsup/utils.d.cts +1 -1
  85. package/dist/tsup/utils.d.ts +1 -1
  86. package/dist/tsup/utils.js +2 -2
  87. package/dist/tsup/workflow/mod.cjs +184 -148
  88. package/dist/tsup/workflow/mod.cjs.map +1 -1
  89. package/dist/tsup/workflow/mod.d.cts +6 -6
  90. package/dist/tsup/workflow/mod.d.ts +6 -6
  91. package/dist/tsup/workflow/mod.js +177 -141
  92. package/dist/tsup/workflow/mod.js.map +1 -1
  93. package/package.json +11 -11
  94. package/src/actor/config.ts +14 -0
  95. package/src/actor/errors.ts +11 -0
  96. package/src/inspector-tab/mod.ts +1 -1
  97. package/src/registry/index.ts +74 -18
  98. package/src/registry/napi-runtime.ts +16 -0
  99. package/src/registry/native.ts +79 -30
  100. package/src/registry/runtime.ts +11 -0
  101. package/src/registry/wasm-runtime.ts +11 -0
  102. package/src/utils/env-vars.ts +31 -0
  103. package/src/workflow/context.ts +675 -244
  104. package/src/workflow/driver.ts +20 -7
  105. package/src/workflow/mod.ts +25 -9
  106. package/dist/tsup/chunk-BRP62GZC.js.map +0 -1
  107. package/dist/tsup/chunk-DPIMKYNB.js.map +0 -1
  108. package/dist/tsup/chunk-DXXJPH55.cjs.map +0 -1
  109. package/dist/tsup/chunk-KORQB2IR.cjs.map +0 -1
  110. package/dist/tsup/chunk-NIY3RSPX.cjs.map +0 -1
  111. package/dist/tsup/chunk-VTTFNQQI.js.map +0 -1
  112. package/dist/tsup/context-Bw7xq8w3.d.cts +0 -92
  113. package/dist/tsup/context-D8QA76sV.d.ts +0 -92
  114. package/src/utils/serve.ts +0 -216
  115. /package/dist/tsup/{chunk-P2GNQ4RN.js.map → chunk-H6VVZMWN.js.map} +0 -0
  116. /package/dist/tsup/{chunk-MEHBWPLJ.js.map → chunk-I35VSLEM.js.map} +0 -0
  117. /package/dist/tsup/{chunk-BEI24WTI.js.map → chunk-JBUZRPY5.js.map} +0 -0
  118. /package/dist/tsup/{chunk-UMZVD6DQ.js.map → chunk-NERUIBOT.js.map} +0 -0
  119. /package/dist/tsup/{chunk-4JDSFJS5.js.map → chunk-PT6OIW5E.js.map} +0 -0
  120. /package/dist/tsup/{chunk-2OTRTA3J.js.map → chunk-R6KPN5EW.js.map} +0 -0
@@ -755,6 +755,11 @@ interface RuntimeServeConfig {
755
755
  serverlessValidateEndpoint: boolean;
756
756
  serverlessMaxStartPayloadBytes: number;
757
757
  }
758
+ interface RuntimeListenerConfig {
759
+ port: number;
760
+ host?: string;
761
+ publicDir?: string;
762
+ }
758
763
  interface RuntimeServerlessRequest {
759
764
  method: string;
760
765
  url: string;
@@ -801,6 +806,7 @@ interface CoreRuntime {
801
806
  shutdownRegistry(registry: RegistryHandle): Promise<void>;
802
807
  registryActorStopThresholdMs?(registry: RegistryHandle): Promise<number | undefined>;
803
808
  handleServerlessRequest(registry: RegistryHandle, req: RuntimeServerlessRequest, onStreamEvent: RuntimeServerlessStreamCallback, cancelToken: CancellationTokenHandle, config: RuntimeServeConfig): Promise<RuntimeServerlessResponseHead>;
809
+ serveListener(registry: RegistryHandle, listener: RuntimeListenerConfig, config: RuntimeServeConfig): Promise<void>;
804
810
  registryHealth?(registry: RegistryHandle): Promise<RuntimeRegistryRouteResponse>;
805
811
  registryMetadata?(registry: RegistryHandle): Promise<RuntimeRegistryRouteResponse>;
806
812
  registryMetrics?(registry: RegistryHandle): Promise<RuntimeRegistryRouteResponse>;
@@ -933,13 +939,15 @@ declare class Registry<A extends RegistryActors> {
933
939
  */
934
940
  serve(): ServerlessHandler;
935
941
  /**
936
- * Starts an HTTP server that dispatches every request through the
937
- * serverless handler. Uses `crossPlatformServe` to pick the right
938
- * runtime (Node, Bun, Deno).
942
+ * Bind an HTTP listener provided by the native (Rust) runtime and serve
943
+ * the registry's serverless endpoints over it. Resolves only after the
944
+ * registry is shut down (SIGINT/SIGTERM or `nativeRegistry.shutdown()`).
939
945
  *
940
- * @param opts.port Port to listen on. Defaults to 3000.
946
+ * @param opts.port Port to listen on. Defaults to `process.env.RIVET_PORT`
947
+ * if set, otherwise 3000.
948
+ * @param opts.host Address to bind. Defaults to `0.0.0.0`.
941
949
  * @param opts.publicDir If set, serves static files from this directory
942
- * before falling through to the registry handler.
950
+ * as a fallback below the framework routes.
943
951
  *
944
952
  * @example
945
953
  * ```ts
@@ -949,6 +957,7 @@ declare class Registry<A extends RegistryActors> {
949
957
  */
950
958
  listen(opts?: {
951
959
  port?: number;
960
+ host?: string;
952
961
  publicDir?: string;
953
962
  }): Promise<void>;
954
963
  /**
@@ -976,6 +985,10 @@ declare class Registry<A extends RegistryActors> {
976
985
  /**
977
986
  * Starts the actor envoy for standalone server deployments.
978
987
  *
988
+ * Set `RIVETKIT_RUNTIME_MODE=serverless` to instead bind an HTTP listener
989
+ * via `listen()` (Mode B). Mode A (envoy) and Mode B (listener) are
990
+ * mutually exclusive per registry instance.
991
+ *
979
992
  * @example
980
993
  * ```ts
981
994
  * const registry = setup({ use: { counter } });
@@ -755,6 +755,11 @@ interface RuntimeServeConfig {
755
755
  serverlessValidateEndpoint: boolean;
756
756
  serverlessMaxStartPayloadBytes: number;
757
757
  }
758
+ interface RuntimeListenerConfig {
759
+ port: number;
760
+ host?: string;
761
+ publicDir?: string;
762
+ }
758
763
  interface RuntimeServerlessRequest {
759
764
  method: string;
760
765
  url: string;
@@ -801,6 +806,7 @@ interface CoreRuntime {
801
806
  shutdownRegistry(registry: RegistryHandle): Promise<void>;
802
807
  registryActorStopThresholdMs?(registry: RegistryHandle): Promise<number | undefined>;
803
808
  handleServerlessRequest(registry: RegistryHandle, req: RuntimeServerlessRequest, onStreamEvent: RuntimeServerlessStreamCallback, cancelToken: CancellationTokenHandle, config: RuntimeServeConfig): Promise<RuntimeServerlessResponseHead>;
809
+ serveListener(registry: RegistryHandle, listener: RuntimeListenerConfig, config: RuntimeServeConfig): Promise<void>;
804
810
  registryHealth?(registry: RegistryHandle): Promise<RuntimeRegistryRouteResponse>;
805
811
  registryMetadata?(registry: RegistryHandle): Promise<RuntimeRegistryRouteResponse>;
806
812
  registryMetrics?(registry: RegistryHandle): Promise<RuntimeRegistryRouteResponse>;
@@ -933,13 +939,15 @@ declare class Registry<A extends RegistryActors> {
933
939
  */
934
940
  serve(): ServerlessHandler;
935
941
  /**
936
- * Starts an HTTP server that dispatches every request through the
937
- * serverless handler. Uses `crossPlatformServe` to pick the right
938
- * runtime (Node, Bun, Deno).
942
+ * Bind an HTTP listener provided by the native (Rust) runtime and serve
943
+ * the registry's serverless endpoints over it. Resolves only after the
944
+ * registry is shut down (SIGINT/SIGTERM or `nativeRegistry.shutdown()`).
939
945
  *
940
- * @param opts.port Port to listen on. Defaults to 3000.
946
+ * @param opts.port Port to listen on. Defaults to `process.env.RIVET_PORT`
947
+ * if set, otherwise 3000.
948
+ * @param opts.host Address to bind. Defaults to `0.0.0.0`.
941
949
  * @param opts.publicDir If set, serves static files from this directory
942
- * before falling through to the registry handler.
950
+ * as a fallback below the framework routes.
943
951
  *
944
952
  * @example
945
953
  * ```ts
@@ -949,6 +957,7 @@ declare class Registry<A extends RegistryActors> {
949
957
  */
950
958
  listen(opts?: {
951
959
  port?: number;
960
+ host?: string;
952
961
  publicDir?: string;
953
962
  }): Promise<void>;
954
963
  /**
@@ -976,6 +985,10 @@ declare class Registry<A extends RegistryActors> {
976
985
  /**
977
986
  * Starts the actor envoy for standalone server deployments.
978
987
  *
988
+ * Set `RIVETKIT_RUNTIME_MODE=serverless` to instead bind an HTTP listener
989
+ * via `listen()` (Mode B). Mode A (envoy) and Mode B (listener) are
990
+ * mutually exclusive per registry instance.
991
+ *
979
992
  * @example
980
993
  * ```ts
981
994
  * const registry = setup({ use: { counter } });
@@ -314,7 +314,7 @@ function isRivetErrorCode(error, group, code) {
314
314
  // package.json
315
315
  var package_default = {
316
316
  name: "rivetkit",
317
- version: "2.3.0",
317
+ version: "2.3.1",
318
318
  description: "Lightweight libraries for building stateful actors on edge platforms",
319
319
  license: "Apache-2.0",
320
320
  keywords: [
@@ -502,8 +502,6 @@ var package_default = {
502
502
  "actor-config-schema-gen": "tsx scripts/actor-config-schema-gen.ts"
503
503
  },
504
504
  dependencies: {
505
- "@hono/node-server": "^1.18.2",
506
- "@hono/node-ws": "^1.1.1",
507
505
  "@hono/zod-openapi": "^1.1.5",
508
506
  "@rivet-dev/agent-os-core": "^0.1.1",
509
507
  "@rivetkit/bare-ts": "^0.6.2",
@@ -517,7 +515,6 @@ var package_default = {
517
515
  "@rivetkit/workflow-engine": "workspace:*",
518
516
  "cbor-x": "^1.6.0",
519
517
  "drizzle-orm": "^0.44.2",
520
- "get-port": "^7.1.0",
521
518
  hono: "^4.7.0",
522
519
  invariant: "^2.2.4",
523
520
  "p-retry": "^6.2.1",
@@ -529,12 +526,15 @@ var package_default = {
529
526
  devDependencies: {
530
527
  "@biomejs/biome": "^2.3",
531
528
  "@copilotkit/llmock": "^1.6.0",
529
+ "@hono/node-server": "^1.18.2",
530
+ "@hono/node-ws": "^1.1.1",
532
531
  "@rivet-dev/agent-os-common": "*",
533
532
  "@rivet-dev/agent-os-pi": "^0.1.1",
534
533
  "@standard-schema/spec": "^1.0.0",
535
534
  "@types/invariant": "^2",
536
535
  "@types/node": "^22.13.1",
537
536
  eventsource: "^4.0.0",
537
+ "get-port": "^7.1.0",
538
538
  tsup: "^8.4.0",
539
539
  tsx: "^4.19.4",
540
540
  typescript: "^5.7.3",