rivetkit 2.3.10 → 2.3.11-rc.2

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 (87) hide show
  1. package/dist/browser/client.d.ts +24 -6
  2. package/dist/browser/client.js +20 -5
  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/tsup/agent-os/index.cjs +1 -1
  7. package/dist/tsup/agent-os/index.cjs.map +1 -1
  8. package/dist/tsup/agent-os/index.d.cts +24 -6
  9. package/dist/tsup/agent-os/index.d.ts +24 -6
  10. package/dist/tsup/agent-os/index.js +1 -1
  11. package/dist/tsup/agent-os/index.js.map +1 -1
  12. package/dist/tsup/{chunk-LCWHS6K7.cjs → chunk-3NPCXMJS.cjs} +158 -142
  13. package/dist/tsup/chunk-3NPCXMJS.cjs.map +1 -0
  14. package/dist/tsup/{chunk-Z2ESFE5Z.cjs → chunk-5SHK4JM5.cjs} +6 -3
  15. package/dist/tsup/chunk-5SHK4JM5.cjs.map +1 -0
  16. package/dist/tsup/{chunk-E6IEX6AP.js → chunk-75K5VACB.js} +3 -3
  17. package/dist/tsup/{chunk-G6XA2OSW.cjs → chunk-7TVKYMD3.cjs} +4 -4
  18. package/dist/tsup/{chunk-G6XA2OSW.cjs.map → chunk-7TVKYMD3.cjs.map} +1 -1
  19. package/dist/tsup/{chunk-U2A3Y7OK.cjs → chunk-J4RT6EFK.cjs} +9 -9
  20. package/dist/tsup/{chunk-U2A3Y7OK.cjs.map → chunk-J4RT6EFK.cjs.map} +1 -1
  21. package/dist/tsup/{chunk-6UHZLL6S.js → chunk-KHSNHG4G.js} +3 -3
  22. package/dist/tsup/{chunk-INXPYXN6.cjs → chunk-LPGJPAVY.cjs} +7 -7
  23. package/dist/tsup/{chunk-INXPYXN6.cjs.map → chunk-LPGJPAVY.cjs.map} +1 -1
  24. package/dist/tsup/{chunk-XSPAARQ5.js → chunk-NLAW2MIM.js} +2 -2
  25. package/dist/tsup/{chunk-PCJSDS7N.cjs → chunk-NRRWLN6D.cjs} +3 -3
  26. package/dist/tsup/{chunk-PCJSDS7N.cjs.map → chunk-NRRWLN6D.cjs.map} +1 -1
  27. package/dist/tsup/{chunk-Q5H37KNQ.js → chunk-RVJQMOAA.js} +2 -2
  28. package/dist/tsup/{chunk-DPM73GAL.js → chunk-XR2KF2ZA.js} +22 -6
  29. package/dist/tsup/chunk-XR2KF2ZA.js.map +1 -0
  30. package/dist/tsup/{chunk-X7XY6NCU.js → chunk-XWIXH7JF.js} +6 -3
  31. package/dist/tsup/chunk-XWIXH7JF.js.map +1 -0
  32. package/dist/tsup/client/mod.cjs +5 -5
  33. package/dist/tsup/client/mod.d.cts +2 -2
  34. package/dist/tsup/client/mod.d.ts +2 -2
  35. package/dist/tsup/client/mod.js +4 -4
  36. package/dist/tsup/common/log.cjs +2 -2
  37. package/dist/tsup/common/log.js +1 -1
  38. package/dist/tsup/common/websocket.cjs +3 -3
  39. package/dist/tsup/common/websocket.js +2 -2
  40. package/dist/tsup/{config-BRpVbJCD.d.ts → config-BKAMOHez.d.ts} +25 -7
  41. package/dist/tsup/{config-BobvQpex.d.cts → config-Caocy3Z9.d.cts} +25 -7
  42. package/dist/tsup/{context-Cj-DFyiy.d.ts → context-AfCExwbr.d.ts} +1 -1
  43. package/dist/tsup/{context-YEBNJrws.d.cts → context-D1_m5x1D.d.cts} +1 -1
  44. package/dist/tsup/db/drizzle.cjs +2 -2
  45. package/dist/tsup/db/drizzle.js +1 -1
  46. package/dist/tsup/db/mod.cjs +2 -2
  47. package/dist/tsup/db/mod.js +1 -1
  48. package/dist/tsup/dynamic/mod.d.cts +1 -1
  49. package/dist/tsup/dynamic/mod.d.ts +1 -1
  50. package/dist/tsup/inspector/mod.cjs +4 -4
  51. package/dist/tsup/inspector/mod.js +3 -3
  52. package/dist/tsup/inspector-tab/mod.d.cts +2 -2
  53. package/dist/tsup/inspector-tab/mod.d.ts +2 -2
  54. package/dist/tsup/mod.cjs +187 -72
  55. package/dist/tsup/mod.cjs.map +1 -1
  56. package/dist/tsup/mod.d.cts +3 -3
  57. package/dist/tsup/mod.d.ts +3 -3
  58. package/dist/tsup/mod.js +129 -14
  59. package/dist/tsup/mod.js.map +1 -1
  60. package/dist/tsup/test/mod.cjs +6 -6
  61. package/dist/tsup/test/mod.d.cts +1 -1
  62. package/dist/tsup/test/mod.d.ts +1 -1
  63. package/dist/tsup/test/mod.js +4 -4
  64. package/dist/tsup/utils.cjs +2 -2
  65. package/dist/tsup/utils.js +1 -1
  66. package/dist/tsup/workflow/mod.cjs +6 -6
  67. package/dist/tsup/workflow/mod.d.cts +3 -3
  68. package/dist/tsup/workflow/mod.d.ts +3 -3
  69. package/dist/tsup/workflow/mod.js +3 -3
  70. package/package.json +8 -8
  71. package/src/client/actor-conn.ts +1 -1
  72. package/src/client/raw-utils.ts +3 -2
  73. package/src/common/encoding.ts +4 -1
  74. package/src/common/fetch-like.ts +49 -0
  75. package/src/registry/index.ts +117 -12
  76. package/src/registry/napi-runtime.ts +47 -0
  77. package/src/registry/native.ts +3 -2
  78. package/src/registry/runtime.ts +21 -0
  79. package/src/registry/wasm-runtime.ts +11 -0
  80. package/dist/tsup/chunk-DPM73GAL.js.map +0 -1
  81. package/dist/tsup/chunk-LCWHS6K7.cjs.map +0 -1
  82. package/dist/tsup/chunk-X7XY6NCU.js.map +0 -1
  83. package/dist/tsup/chunk-Z2ESFE5Z.cjs.map +0 -1
  84. /package/dist/tsup/{chunk-E6IEX6AP.js.map → chunk-75K5VACB.js.map} +0 -0
  85. /package/dist/tsup/{chunk-6UHZLL6S.js.map → chunk-KHSNHG4G.js.map} +0 -0
  86. /package/dist/tsup/{chunk-XSPAARQ5.js.map → chunk-NLAW2MIM.js.map} +0 -0
  87. /package/dist/tsup/{chunk-Q5H37KNQ.js.map → chunk-RVJQMOAA.js.map} +0 -0
@@ -1987,6 +1987,7 @@ interface RuntimeListenerConfig {
1987
1987
  port: number;
1988
1988
  host?: string;
1989
1989
  publicDir?: string;
1990
+ application?: RuntimeApplicationFetch;
1990
1991
  }
1991
1992
  interface RuntimeServerlessRequest {
1992
1993
  method: string;
@@ -1994,6 +1995,15 @@ interface RuntimeServerlessRequest {
1994
1995
  headers: Record<string, string>;
1995
1996
  body: RuntimeBytes;
1996
1997
  }
1998
+ interface RuntimeApplicationResponse {
1999
+ status: number;
2000
+ headers: Record<string, string>;
2001
+ body: RuntimeBytes;
2002
+ }
2003
+ type RuntimeApplicationFetch = (request: RuntimeServerlessRequest) => Promise<RuntimeApplicationResponse>;
2004
+ interface RuntimeApplicationListenerConfig extends RuntimeListenerConfig {
2005
+ application: RuntimeApplicationFetch;
2006
+ }
1997
2007
  interface RuntimeServerlessResponseHead {
1998
2008
  status: number;
1999
2009
  headers: Record<string, string>;
@@ -2036,6 +2046,7 @@ interface CoreRuntime {
2036
2046
  registryActorStopThresholdMs?(registry: RegistryHandle): Promise<number | undefined>;
2037
2047
  handleServerlessRequest(registry: RegistryHandle, req: RuntimeServerlessRequest, onStreamEvent: RuntimeServerlessStreamCallback, cancelToken: CancellationTokenHandle, config: RuntimeServeConfig): Promise<RuntimeServerlessResponseHead>;
2038
2048
  serveListener(registry: RegistryHandle, listener: RuntimeListenerConfig, config: RuntimeServeConfig): Promise<void>;
2049
+ serveApplicationListener(registry: RegistryHandle, listener: RuntimeApplicationListenerConfig, config: RuntimeServeConfig): Promise<void>;
2039
2050
  registryHealth?(registry: RegistryHandle): Promise<RuntimeRegistryRouteResponse>;
2040
2051
  registryMetadata?(registry: RegistryHandle): Promise<RuntimeRegistryRouteResponse>;
2041
2052
  registryMetrics?(registry: RegistryHandle): Promise<RuntimeRegistryRouteResponse>;
@@ -2146,6 +2157,15 @@ type FetchHandler = (request: Request, ...args: any) => Response | Promise<Respo
2146
2157
  interface ServerlessHandler {
2147
2158
  fetch: FetchHandler;
2148
2159
  }
2160
+ interface RegistryApplication {
2161
+ fetch: FetchHandler;
2162
+ }
2163
+ interface RegistryListenOptions {
2164
+ port?: number;
2165
+ host?: string;
2166
+ publicDir?: string;
2167
+ application?: RegistryApplication;
2168
+ }
2149
2169
  interface RegistryRoutes {
2150
2170
  health(): Promise<Response>;
2151
2171
  metadata(): Promise<Response>;
@@ -2195,18 +2215,16 @@ declare class Registry<A extends RegistryActors> {
2195
2215
  * @param opts.host Address to bind. Defaults to `0.0.0.0`.
2196
2216
  * @param opts.publicDir If set, serves static files from this directory
2197
2217
  * as a fallback below the framework routes.
2218
+ * @param opts.application If set, handles requests that do not match a
2219
+ * framework route.
2198
2220
  *
2199
2221
  * @example
2200
2222
  * ```ts
2201
2223
  * await registry.listen();
2202
- * await registry.listen({ port: 8080, publicDir: "./public" });
2224
+ * await registry.listen({ application: app });
2203
2225
  * ```
2204
2226
  */
2205
- listen(opts?: {
2206
- port?: number;
2207
- host?: string;
2208
- publicDir?: string;
2209
- }): Promise<void>;
2227
+ listen(opts?: RegistryListenOptions): Promise<void>;
2210
2228
  /**
2211
2229
  * Gracefully drains all live registries.
2212
2230
  *
@@ -194,7 +194,7 @@ function noopNext() {
194
194
  // package.json
195
195
  var package_default = {
196
196
  name: "rivetkit",
197
- version: "2.3.10",
197
+ version: "2.3.11-rc.2",
198
198
  description: "Lightweight libraries for building stateful actors on edge platforms",
199
199
  license: "Apache-2.0",
200
200
  keywords: [
@@ -729,7 +729,10 @@ function jsonStringifyCompat(input, space) {
729
729
  return [JSON_COMPAT_BIGINT, value.toString()];
730
730
  }
731
731
  if (value instanceof ArrayBuffer) {
732
- return [JSON_COMPAT_ARRAY_BUFFER, base64EncodeArrayBuffer(value)];
732
+ return [
733
+ JSON_COMPAT_ARRAY_BUFFER,
734
+ base64EncodeArrayBuffer(value)
735
+ ];
733
736
  }
734
737
  if (value instanceof Uint8Array) {
735
738
  return [JSON_COMPAT_UINT8_ARRAY, base64EncodeUint8Array(value)];
@@ -4826,7 +4829,8 @@ var ActorConnRaw = class {
4826
4829
  );
4827
4830
  }
4828
4831
  });
4829
- this.#keepNodeAliveInterval = setInterval(() => 6e4);
4832
+ this.#keepNodeAliveInterval = setInterval(() => {
4833
+ }, 6e4);
4830
4834
  }
4831
4835
  #clearResolvedActorIdentity() {
4832
4836
  this.#actorId = void 0;
@@ -5852,15 +5856,26 @@ var AsyncMutex = class {
5852
5856
  }
5853
5857
  };
5854
5858
 
5859
+ // src/common/fetch-like.ts
5860
+ function isUrlLike(value) {
5861
+ return typeof value === "object" && value !== null && typeof value.href === "string" && typeof value.pathname === "string" && typeof value.search === "string";
5862
+ }
5863
+ function isRequestLike(value) {
5864
+ return typeof value === "object" && value !== null && typeof value.url === "string" && typeof value.method === "string" && isHeadersLike(value.headers);
5865
+ }
5866
+ function isHeadersLike(value) {
5867
+ return typeof value === "object" && value !== null && typeof value.entries === "function";
5868
+ }
5869
+
5855
5870
  // src/client/raw-utils.ts
5856
5871
  async function rawHttpFetch(driver, target, params, input, init, options = {}) {
5857
5872
  let path;
5858
5873
  let mergedInit = init || {};
5859
5874
  if (typeof input === "string") {
5860
5875
  path = input;
5861
- } else if (input instanceof URL) {
5876
+ } else if (isUrlLike(input)) {
5862
5877
  path = input.pathname + input.search;
5863
- } else if (input instanceof Request) {
5878
+ } else if (isRequestLike(input)) {
5864
5879
  const url = new URL(input.url);
5865
5880
  path = url.pathname + url.search;
5866
5881
  const requestHeaders = new Headers(input.headers);