rivetkit 2.3.9 → 2.3.10

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 (90) hide show
  1. package/dist/browser/client.d.ts +6 -34
  2. package/dist/browser/client.js +14 -33
  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 +6 -34
  9. package/dist/tsup/agent-os/index.d.ts +6 -34
  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-KVKWTOW7.js → chunk-6UHZLL6S.js} +3 -3
  13. package/dist/tsup/{chunk-MQDQ3A72.js → chunk-DPM73GAL.js} +15 -36
  14. package/dist/tsup/chunk-DPM73GAL.js.map +1 -0
  15. package/dist/tsup/{chunk-BQU4XTKM.js → chunk-E6IEX6AP.js} +3 -3
  16. package/dist/tsup/{chunk-GZ5DYSIR.cjs → chunk-G6XA2OSW.cjs} +4 -4
  17. package/dist/tsup/{chunk-GZ5DYSIR.cjs.map → chunk-G6XA2OSW.cjs.map} +1 -1
  18. package/dist/tsup/{chunk-AVUMOGUE.cjs → chunk-INXPYXN6.cjs} +7 -7
  19. package/dist/tsup/{chunk-AVUMOGUE.cjs.map → chunk-INXPYXN6.cjs.map} +1 -1
  20. package/dist/tsup/{chunk-3IDKUXQT.cjs → chunk-LCWHS6K7.cjs} +151 -172
  21. package/dist/tsup/chunk-LCWHS6K7.cjs.map +1 -0
  22. package/dist/tsup/{chunk-S57DMBTM.cjs → chunk-PCJSDS7N.cjs} +3 -3
  23. package/dist/tsup/{chunk-S57DMBTM.cjs.map → chunk-PCJSDS7N.cjs.map} +1 -1
  24. package/dist/tsup/{chunk-X25YYVFL.js → chunk-Q5H37KNQ.js} +2 -2
  25. package/dist/tsup/{chunk-KPP2YRS5.cjs → chunk-U2A3Y7OK.cjs} +9 -9
  26. package/dist/tsup/{chunk-KPP2YRS5.cjs.map → chunk-U2A3Y7OK.cjs.map} +1 -1
  27. package/dist/tsup/{chunk-UBYPRYJR.js → chunk-X7XY6NCU.js} +3 -6
  28. package/dist/tsup/chunk-X7XY6NCU.js.map +1 -0
  29. package/dist/tsup/{chunk-CQ23UFQ4.js → chunk-XSPAARQ5.js} +2 -2
  30. package/dist/tsup/{chunk-M4R2O5NJ.cjs → chunk-Z2ESFE5Z.cjs} +3 -6
  31. package/dist/tsup/chunk-Z2ESFE5Z.cjs.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-CUymbyM6.d.ts → config-BRpVbJCD.d.ts} +7 -35
  41. package/dist/tsup/{config-CpB-e4I9.d.cts → config-BobvQpex.d.cts} +7 -35
  42. package/dist/tsup/{context-YBUBTwTS.d.ts → context-Cj-DFyiy.d.ts} +1 -1
  43. package/dist/tsup/{context-c-6G4mjk.d.cts → context-YEBNJrws.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 +124 -449
  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 +63 -388
  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-handle.ts +1 -3
  72. package/src/client/raw-utils.ts +2 -11
  73. package/src/common/actor-router-consts.ts +0 -1
  74. package/src/common/encoding.ts +1 -4
  75. package/src/engine-client/actor-http-client.ts +22 -6
  76. package/src/registry/index.ts +14 -159
  77. package/src/registry/napi-runtime.ts +0 -74
  78. package/src/registry/native.ts +63 -111
  79. package/src/registry/runtime.ts +0 -35
  80. package/src/registry/wasm-runtime.ts +0 -11
  81. package/dist/tsup/chunk-3IDKUXQT.cjs.map +0 -1
  82. package/dist/tsup/chunk-M4R2O5NJ.cjs.map +0 -1
  83. package/dist/tsup/chunk-MQDQ3A72.js.map +0 -1
  84. package/dist/tsup/chunk-UBYPRYJR.js.map +0 -1
  85. package/src/common/fetch-like.ts +0 -49
  86. package/src/registry/native-http.ts +0 -208
  87. /package/dist/tsup/{chunk-KVKWTOW7.js.map → chunk-6UHZLL6S.js.map} +0 -0
  88. /package/dist/tsup/{chunk-BQU4XTKM.js.map → chunk-E6IEX6AP.js.map} +0 -0
  89. /package/dist/tsup/{chunk-X25YYVFL.js.map → chunk-Q5H37KNQ.js.map} +0 -0
  90. /package/dist/tsup/{chunk-CQ23UFQ4.js.map → chunk-XSPAARQ5.js.map} +0 -0
@@ -1765,12 +1765,6 @@ interface RuntimeHttpRequest {
1765
1765
  headers?: Record<string, string>;
1766
1766
  body?: RuntimeBytes;
1767
1767
  }
1768
- interface RuntimeHttpResponseBodyStream {
1769
- cancelled(): Promise<void>;
1770
- write(chunk: Uint8Array): Promise<void>;
1771
- end(): Promise<void>;
1772
- error(message: string): Promise<void>;
1773
- }
1774
1768
  interface RuntimeStateDeltaPayload {
1775
1769
  state?: RuntimeBytes;
1776
1770
  connHibernation: Array<{
@@ -1993,7 +1987,6 @@ interface RuntimeListenerConfig {
1993
1987
  port: number;
1994
1988
  host?: string;
1995
1989
  publicDir?: string;
1996
- application?: RuntimeApplicationFetch;
1997
1990
  }
1998
1991
  interface RuntimeServerlessRequest {
1999
1992
  method: string;
@@ -2001,19 +1994,6 @@ interface RuntimeServerlessRequest {
2001
1994
  headers: Record<string, string>;
2002
1995
  body: RuntimeBytes;
2003
1996
  }
2004
- interface RuntimeApplicationRequest extends RuntimeServerlessRequest {
2005
- cancelToken?: CancellationTokenHandle;
2006
- }
2007
- interface RuntimeApplicationResponse {
2008
- status: number;
2009
- headers: Record<string, string>;
2010
- body?: RuntimeBytes;
2011
- stream?: boolean;
2012
- }
2013
- type RuntimeApplicationFetch = (request: RuntimeApplicationRequest, responseBodyStream?: RuntimeHttpResponseBodyStream) => Promise<RuntimeApplicationResponse>;
2014
- interface RuntimeApplicationListenerConfig extends RuntimeListenerConfig {
2015
- application: RuntimeApplicationFetch;
2016
- }
2017
1997
  interface RuntimeServerlessResponseHead {
2018
1998
  status: number;
2019
1999
  headers: Record<string, string>;
@@ -2056,7 +2036,6 @@ interface CoreRuntime {
2056
2036
  registryActorStopThresholdMs?(registry: RegistryHandle): Promise<number | undefined>;
2057
2037
  handleServerlessRequest(registry: RegistryHandle, req: RuntimeServerlessRequest, onStreamEvent: RuntimeServerlessStreamCallback, cancelToken: CancellationTokenHandle, config: RuntimeServeConfig): Promise<RuntimeServerlessResponseHead>;
2058
2038
  serveListener(registry: RegistryHandle, listener: RuntimeListenerConfig, config: RuntimeServeConfig): Promise<void>;
2059
- serveApplicationListener(registry: RegistryHandle, listener: RuntimeApplicationListenerConfig, config: RuntimeServeConfig): Promise<void>;
2060
2039
  registryHealth?(registry: RegistryHandle): Promise<RuntimeRegistryRouteResponse>;
2061
2040
  registryMetadata?(registry: RegistryHandle): Promise<RuntimeRegistryRouteResponse>;
2062
2041
  registryMetrics?(registry: RegistryHandle): Promise<RuntimeRegistryRouteResponse>;
@@ -2167,15 +2146,6 @@ type FetchHandler = (request: Request, ...args: any) => Response | Promise<Respo
2167
2146
  interface ServerlessHandler {
2168
2147
  fetch: FetchHandler;
2169
2148
  }
2170
- interface RegistryApplication {
2171
- fetch: FetchHandler;
2172
- }
2173
- interface RegistryListenOptions {
2174
- port?: number;
2175
- host?: string;
2176
- publicDir?: string;
2177
- application?: RegistryApplication;
2178
- }
2179
2149
  interface RegistryRoutes {
2180
2150
  health(): Promise<Response>;
2181
2151
  metadata(): Promise<Response>;
@@ -2225,16 +2195,18 @@ declare class Registry<A extends RegistryActors> {
2225
2195
  * @param opts.host Address to bind. Defaults to `0.0.0.0`.
2226
2196
  * @param opts.publicDir If set, serves static files from this directory
2227
2197
  * as a fallback below the framework routes.
2228
- * @param opts.application If set, handles requests that do not match a
2229
- * framework route.
2230
2198
  *
2231
2199
  * @example
2232
2200
  * ```ts
2233
2201
  * await registry.listen();
2234
- * await registry.listen({ application: app });
2202
+ * await registry.listen({ port: 8080, publicDir: "./public" });
2235
2203
  * ```
2236
2204
  */
2237
- listen(opts?: RegistryListenOptions): Promise<void>;
2205
+ listen(opts?: {
2206
+ port?: number;
2207
+ host?: string;
2208
+ publicDir?: string;
2209
+ }): Promise<void>;
2238
2210
  /**
2239
2211
  * Gracefully drains all live registries.
2240
2212
  *
@@ -194,7 +194,7 @@ function noopNext() {
194
194
  // package.json
195
195
  var package_default = {
196
196
  name: "rivetkit",
197
- version: "2.3.9",
197
+ version: "2.3.10",
198
198
  description: "Lightweight libraries for building stateful actors on edge platforms",
199
199
  license: "Apache-2.0",
200
200
  keywords: [
@@ -729,10 +729,7 @@ function jsonStringifyCompat(input, space) {
729
729
  return [JSON_COMPAT_BIGINT, value.toString()];
730
730
  }
731
731
  if (value instanceof ArrayBuffer) {
732
- return [
733
- JSON_COMPAT_ARRAY_BUFFER,
734
- base64EncodeArrayBuffer(value)
735
- ];
732
+ return [JSON_COMPAT_ARRAY_BUFFER, base64EncodeArrayBuffer(value)];
736
733
  }
737
734
  if (value instanceof Uint8Array) {
738
735
  return [JSON_COMPAT_UINT8_ARRAY, base64EncodeUint8Array(value)];
@@ -1112,7 +1109,6 @@ var PATH_WEBSOCKET_BASE = "/websocket";
1112
1109
  var PATH_WEBSOCKET_PREFIX = "/websocket/";
1113
1110
  var HEADER_ENCODING = "x-rivet-encoding";
1114
1111
  var HEADER_CONN_PARAMS = "x-rivet-conn-params";
1115
- var HEADER_ORIGINAL_REQUEST_URL = "x-rivet-internal-original-request-url";
1116
1112
  var HEADER_RIVET_TOKEN = "x-rivet-token";
1117
1113
  var HEADER_RIVET_TARGET = "x-rivet-target";
1118
1114
  var HEADER_RIVET_ACTOR = "x-rivet-actor";
@@ -1139,19 +1135,23 @@ async function sendHttpRequestToGateway(runConfig, gatewayUrl, actorRequest, opt
1139
1135
  if (actorRequest.bodyUsed) {
1140
1136
  throw new Error("Request body has already been consumed");
1141
1137
  }
1142
- if (actorRequest.body) {
1143
- bodyToSend = actorRequest.body;
1138
+ const reqBody = await actorRequest.arrayBuffer();
1139
+ if (reqBody.byteLength !== 0) {
1140
+ bodyToSend = reqBody;
1144
1141
  guardHeaders.delete("transfer-encoding");
1145
1142
  guardHeaders.delete("content-length");
1146
1143
  }
1147
1144
  }
1148
- return fetch(gatewayUrl, {
1145
+ const guardRequest = new Request(gatewayUrl, {
1149
1146
  method: actorRequest.method,
1150
1147
  headers: guardHeaders,
1151
1148
  body: bodyToSend,
1152
- signal: actorRequest.signal,
1153
- ...bodyToSend ? { duplex: "half" } : {}
1149
+ signal: actorRequest.signal
1154
1150
  });
1151
+ return mutableResponse(await fetch(guardRequest));
1152
+ }
1153
+ function mutableResponse(fetchRes) {
1154
+ return new Response(fetchRes.body, fetchRes);
1155
1155
  }
1156
1156
  function buildGuardHeaders(runConfig, actorRequest, options) {
1157
1157
  const headers = new Headers();
@@ -5824,17 +5824,6 @@ var ActorConnRaw = class {
5824
5824
  }
5825
5825
  };
5826
5826
 
5827
- // src/common/fetch-like.ts
5828
- function isUrlLike(value) {
5829
- return typeof value === "object" && value !== null && typeof value.href === "string" && typeof value.pathname === "string" && typeof value.search === "string";
5830
- }
5831
- function isRequestLike(value) {
5832
- return typeof value === "object" && value !== null && typeof value.url === "string" && typeof value.method === "string" && isHeadersLike(value.headers);
5833
- }
5834
- function isHeadersLike(value) {
5835
- return typeof value === "object" && value !== null && typeof value.entries === "function";
5836
- }
5837
-
5838
5827
  // src/common/database/shared.ts
5839
5828
  var MIGRATION_TRANSACTION_TIMEOUT_MS = 5 * 6e4;
5840
5829
  var AsyncMutex = class {
@@ -5866,17 +5855,14 @@ var AsyncMutex = class {
5866
5855
  // src/client/raw-utils.ts
5867
5856
  async function rawHttpFetch(driver, target, params, input, init, options = {}) {
5868
5857
  let path;
5869
- let originalUrl;
5870
5858
  let mergedInit = init || {};
5871
5859
  if (typeof input === "string") {
5872
5860
  path = input;
5873
- } else if (isUrlLike(input)) {
5861
+ } else if (input instanceof URL) {
5874
5862
  path = input.pathname + input.search;
5875
- originalUrl = input.toString();
5876
- } else if (isRequestLike(input)) {
5863
+ } else if (input instanceof Request) {
5877
5864
  const url = new URL(input.url);
5878
5865
  path = url.pathname + url.search;
5879
- originalUrl = url.toString();
5880
5866
  const requestHeaders = new Headers(input.headers);
5881
5867
  const initHeaders = new Headers(init?.headers || {});
5882
5868
  const mergedHeaders = new Headers(requestHeaders);
@@ -5918,10 +5904,6 @@ async function rawHttpFetch(driver, target, params, input, init, options = {}) {
5918
5904
  const normalizedPath = path.startsWith("/") ? path.slice(1) : path;
5919
5905
  const url = new URL(`http://actor/request/${normalizedPath}`);
5920
5906
  const proxyRequestHeaders = new Headers(mergedInit.headers);
5921
- proxyRequestHeaders.delete(HEADER_ORIGINAL_REQUEST_URL);
5922
- if (originalUrl) {
5923
- proxyRequestHeaders.set(HEADER_ORIGINAL_REQUEST_URL, originalUrl);
5924
- }
5925
5907
  if (params) {
5926
5908
  proxyRequestHeaders.set(HEADER_CONN_PARAMS, JSON.stringify(params));
5927
5909
  }
@@ -6394,7 +6376,6 @@ var ActorHandleRaw = class {
6394
6376
  async #fetchWithResolvedActor(input, init) {
6395
6377
  const maxAttempts = this.#getDynamicQueryMaxAttempts();
6396
6378
  let useQueryTarget = false;
6397
- const retryableRequest = isRequestLike(input) ? input.clone() : void 0;
6398
6379
  const { skipReadyWait, ...requestInit } = init ?? {};
6399
6380
  const gatewayOptions = resolveActorGatewayOptions(
6400
6381
  this.#gatewayOptions,
@@ -6414,7 +6395,7 @@ var ActorHandleRaw = class {
6414
6395
  this.#driver,
6415
6396
  target,
6416
6397
  this.#params,
6417
- retryableRequest ? retryableRequest.clone() : input,
6398
+ input,
6418
6399
  requestInit,
6419
6400
  gatewayOptions
6420
6401
  );