rivetkit 2.3.12-rc.4 → 2.3.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.
- package/dist/browser/client.d.ts +17 -4
- package/dist/browser/client.js +32 -24
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/inspector/client.js +2 -1
- package/dist/browser/inspector/client.js.map +1 -1
- package/dist/tsup/actor/errors.cjs +2 -2
- package/dist/tsup/actor/errors.js +1 -1
- package/dist/tsup/agent-os/index.cjs +3 -19
- package/dist/tsup/agent-os/index.cjs.map +1 -1
- package/dist/tsup/agent-os/index.d.cts +17 -4
- package/dist/tsup/agent-os/index.d.ts +17 -4
- package/dist/tsup/agent-os/index.js +3 -19
- package/dist/tsup/agent-os/index.js.map +1 -1
- package/dist/tsup/{chunk-AF2VKCFA.js → chunk-2EV7TJGB.js} +2 -2
- package/dist/tsup/{chunk-SPJORZMM.cjs → chunk-2JSYYH6P.cjs} +1 -1
- package/dist/tsup/chunk-2JSYYH6P.cjs.map +1 -0
- package/dist/tsup/{chunk-ARFTQ5HY.cjs → chunk-4ATT4NFN.cjs} +17 -11
- package/dist/tsup/chunk-4ATT4NFN.cjs.map +1 -0
- package/dist/tsup/{chunk-IAH47VDZ.cjs → chunk-4KGXFC6M.cjs} +2 -19
- package/dist/tsup/chunk-4KGXFC6M.cjs.map +1 -0
- package/dist/tsup/{chunk-DLQSZ6Q7.js → chunk-6W5VGLFT.js} +2 -19
- package/dist/tsup/chunk-6W5VGLFT.js.map +1 -0
- package/dist/tsup/{chunk-GMBCKV6C.js → chunk-AH4ZKYQ4.js} +3 -3
- package/dist/tsup/{chunk-NVMHEG5J.js → chunk-AS47KFZD.js} +2 -2
- package/dist/tsup/{chunk-NKLM6C5A.cjs → chunk-BGHQTX2Y.cjs} +10 -10
- package/dist/tsup/{chunk-NKLM6C5A.cjs.map → chunk-BGHQTX2Y.cjs.map} +1 -1
- package/dist/tsup/{chunk-S3GXVCIM.cjs → chunk-BVTP654F.cjs} +4 -4
- package/dist/tsup/{chunk-S3GXVCIM.cjs.map → chunk-BVTP654F.cjs.map} +1 -1
- package/dist/tsup/{chunk-3CBQIP37.js → chunk-F3O3L4BR.js} +4 -4
- package/dist/tsup/{chunk-F7G5WHOD.cjs → chunk-I47EOXIN.cjs} +202 -194
- package/dist/tsup/chunk-I47EOXIN.cjs.map +1 -0
- package/dist/tsup/{chunk-P5JJG4KY.js → chunk-J5JIPBBI.js} +2 -2
- package/dist/tsup/{chunk-4LRWLBTR.cjs → chunk-NLQMRNGG.cjs} +3 -3
- package/dist/tsup/{chunk-4LRWLBTR.cjs.map → chunk-NLQMRNGG.cjs.map} +1 -1
- package/dist/tsup/{chunk-XDYECGCT.cjs → chunk-NOU4GGLT.cjs} +7 -7
- package/dist/tsup/{chunk-XDYECGCT.cjs.map → chunk-NOU4GGLT.cjs.map} +1 -1
- package/dist/tsup/{chunk-IXBD7BXC.js → chunk-OUQUIBVW.js} +1 -1
- package/dist/tsup/chunk-OUQUIBVW.js.map +1 -0
- package/dist/tsup/{chunk-O74736N5.js → chunk-RZPPOGEQ.js} +38 -30
- package/dist/tsup/chunk-RZPPOGEQ.js.map +1 -0
- package/dist/tsup/{chunk-BQ7YJ3PG.js → chunk-UQINOZ6M.js} +2 -2
- package/dist/tsup/{chunk-64DT44V2.js → chunk-UZWKXBMV.js} +9 -3
- package/dist/tsup/chunk-UZWKXBMV.js.map +1 -0
- package/dist/tsup/{chunk-JIOLC5I2.cjs → chunk-W6EVBFUB.cjs} +3 -3
- package/dist/tsup/{chunk-JIOLC5I2.cjs.map → chunk-W6EVBFUB.cjs.map} +1 -1
- package/dist/tsup/{chunk-OCXHNHGQ.cjs → chunk-X53X7M5A.cjs} +3 -3
- package/dist/tsup/{chunk-OCXHNHGQ.cjs.map → chunk-X53X7M5A.cjs.map} +1 -1
- package/dist/tsup/client/mod.cjs +6 -6
- package/dist/tsup/client/mod.d.cts +2 -2
- package/dist/tsup/client/mod.d.ts +2 -2
- package/dist/tsup/client/mod.js +5 -5
- package/dist/tsup/common/log.cjs +3 -3
- package/dist/tsup/common/log.js +2 -2
- package/dist/tsup/common/websocket.cjs +4 -4
- package/dist/tsup/common/websocket.js +3 -3
- package/dist/tsup/{config-DzaddF-j.d.ts → config-BGTanB_3.d.ts} +19 -10
- package/dist/tsup/{config-VxDc6yMu.d.cts → config-NHz6oMb9.d.cts} +19 -10
- package/dist/tsup/{context-Cn8CIrOR.d.cts → context-DB8zG_Ib.d.cts} +1 -1
- package/dist/tsup/{context-B6HYokje.d.ts → context-SHomdVV8.d.ts} +1 -1
- package/dist/tsup/db/drizzle.cjs +3 -3
- package/dist/tsup/db/drizzle.js +2 -2
- package/dist/tsup/db/mod.cjs +4 -4
- package/dist/tsup/db/mod.js +3 -3
- package/dist/tsup/dynamic/mod.cjs +2 -2
- package/dist/tsup/dynamic/mod.d.cts +1 -1
- package/dist/tsup/dynamic/mod.d.ts +1 -1
- package/dist/tsup/dynamic/mod.js +1 -1
- package/dist/tsup/inspector/mod.cjs +6 -6
- package/dist/tsup/inspector/mod.js +5 -5
- package/dist/tsup/inspector/workflow.cjs +5 -5
- package/dist/tsup/inspector/workflow.js +4 -4
- package/dist/tsup/inspector-tab/mod.cjs +2 -2
- package/dist/tsup/inspector-tab/mod.d.cts +2 -2
- package/dist/tsup/inspector-tab/mod.d.ts +2 -2
- package/dist/tsup/inspector-tab/mod.js +1 -1
- package/dist/tsup/mod.cjs +444 -199
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +3 -3
- package/dist/tsup/mod.d.ts +3 -3
- package/dist/tsup/mod.js +323 -78
- package/dist/tsup/mod.js.map +1 -1
- package/dist/tsup/test/mod.cjs +7 -7
- package/dist/tsup/test/mod.d.cts +1 -1
- package/dist/tsup/test/mod.d.ts +1 -1
- package/dist/tsup/test/mod.js +5 -5
- package/dist/tsup/utils.cjs +3 -3
- package/dist/tsup/utils.js +2 -2
- package/dist/tsup/workflow/mod.cjs +14 -14
- package/dist/tsup/workflow/mod.d.cts +3 -3
- package/dist/tsup/workflow/mod.d.ts +3 -3
- package/dist/tsup/workflow/mod.js +6 -6
- package/package.json +9 -8
- package/src/actor/config.test.ts +0 -8
- package/src/actor/config.ts +1 -24
- package/src/actor/errors.ts +2 -1
- package/src/client/actor-handle.ts +10 -3
- package/src/client/raw-utils.ts +8 -0
- package/src/common/actor-router-consts.ts +2 -0
- package/src/engine-client/actor-http-client.ts +6 -22
- package/src/engine-client/mod.ts +1 -1
- package/src/registry/config/index.ts +27 -1
- package/src/registry/index.ts +48 -14
- package/src/registry/napi-runtime.ts +32 -5
- package/src/registry/native-http.ts +225 -0
- package/src/registry/native.ts +130 -65
- package/src/registry/runtime.ts +30 -3
- package/src/utils/env-vars.ts +4 -0
- package/dist/tsup/chunk-64DT44V2.js.map +0 -1
- package/dist/tsup/chunk-ARFTQ5HY.cjs.map +0 -1
- package/dist/tsup/chunk-DLQSZ6Q7.js.map +0 -1
- package/dist/tsup/chunk-F7G5WHOD.cjs.map +0 -1
- package/dist/tsup/chunk-IAH47VDZ.cjs.map +0 -1
- package/dist/tsup/chunk-IXBD7BXC.js.map +0 -1
- package/dist/tsup/chunk-O74736N5.js.map +0 -1
- package/dist/tsup/chunk-SPJORZMM.cjs.map +0 -1
- /package/dist/tsup/{chunk-AF2VKCFA.js.map → chunk-2EV7TJGB.js.map} +0 -0
- /package/dist/tsup/{chunk-GMBCKV6C.js.map → chunk-AH4ZKYQ4.js.map} +0 -0
- /package/dist/tsup/{chunk-NVMHEG5J.js.map → chunk-AS47KFZD.js.map} +0 -0
- /package/dist/tsup/{chunk-3CBQIP37.js.map → chunk-F3O3L4BR.js.map} +0 -0
- /package/dist/tsup/{chunk-P5JJG4KY.js.map → chunk-J5JIPBBI.js.map} +0 -0
- /package/dist/tsup/{chunk-BQ7YJ3PG.js.map → chunk-UQINOZ6M.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
bufferToArrayBuffer,
|
|
3
3
|
encodeCborCompat
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-UZWKXBMV.js";
|
|
5
5
|
|
|
6
6
|
// src/inspector/workflow.ts
|
|
7
7
|
function encodeWorkflowInspectorValue(value) {
|
|
@@ -11,4 +11,4 @@ function encodeWorkflowInspectorValue(value) {
|
|
|
11
11
|
export {
|
|
12
12
|
encodeWorkflowInspectorValue
|
|
13
13
|
};
|
|
14
|
-
//# sourceMappingURL=chunk-
|
|
14
|
+
//# sourceMappingURL=chunk-J5JIPBBI.js.map
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
var _chunkKVFIONKQcjs = require('./chunk-KVFIONKQ.cjs');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunk4ATT4NFNcjs = require('./chunk-4ATT4NFN.cjs');
|
|
12
12
|
|
|
13
13
|
// src/common/database/mod.ts
|
|
14
14
|
var nativeStateTransactionOpeners = /* @__PURE__ */ new WeakMap();
|
|
@@ -59,7 +59,7 @@ function db({
|
|
|
59
59
|
ensureOpen();
|
|
60
60
|
if (!transactionScoped && warnOnManualTransactions && !manualTransactionWarned && !hasMultipleStatements(query) && _chunkKVFIONKQcjs.isManualTransactionControl.call(void 0, query)) {
|
|
61
61
|
manualTransactionWarned = true;
|
|
62
|
-
|
|
62
|
+
_chunk4ATT4NFNcjs.getLogger.call(void 0, "database").warn(
|
|
63
63
|
{ actorId: ctx.actorId },
|
|
64
64
|
"Manual cross-call SQLite transactions can interleave with other actor work. Use db.transaction() for coordinated transactions. Set warnOnManualTransactions: false in your db(...) configuration to disable this warning."
|
|
65
65
|
);
|
|
@@ -240,4 +240,4 @@ async function withMigrationSavepoint(client, callback) {
|
|
|
240
240
|
|
|
241
241
|
|
|
242
242
|
exports.registerNativeStateTransactionOpener = registerNativeStateTransactionOpener; exports.bindNativeStateTransactionContext = bindNativeStateTransactionContext; exports.db = db;
|
|
243
|
-
//# sourceMappingURL=chunk-
|
|
243
|
+
//# sourceMappingURL=chunk-NLQMRNGG.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/actors/actors/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-4LRWLBTR.cjs","../../src/common/database/mod.ts"],"names":["db","client"],"mappings":"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","file":"/home/runner/work/actors/actors/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-4LRWLBTR.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\nimport type {\n\tDatabaseProvider,\n\tNativeDatabaseProvider,\n\tRawAccess,\n\tSqliteDatabase,\n\tSqliteProfilingOptions,\n\tSqliteTransactionDatabase,\n\tSqliteTransactionOptions,\n} from \"./config\";\nimport {\n\tisManualTransactionControl,\n\tisSqliteBindingObject,\n\tMIGRATION_TRANSACTION_TIMEOUT_MS,\n\ttoSqliteBindings,\n\tvalidateTransactionName,\n\tvalidateTransactionTimeout,\n} from \"./shared\";\n\nexport type { RawAccess } from \"./config\";\n\nexport interface DatabaseFactoryConfig {\n\tonMigrate?: (db: RawAccess) => Promise<void> | void;\n\twarnOnManualTransactions?: boolean;\n\t/**\n\t * SQLite profiling configuration.\n\t *\n\t * @experimental This entire configuration surface is experimental and\n\t * subject to change without notice.\n\t */\n\tprofiling?: SqliteProfilingOptions;\n}\nconst nativeStateTransactionOpeners = new WeakMap<\n\tNativeDatabaseProvider,\n\t(\n\t\ttimeoutMs?: number,\n\t\tcontext?: unknown,\n\t) => Promise<SqliteTransactionDatabase>\n>();\ntype NativeStateTransactionContext = {\n\tenter(): Promise<unknown>;\n\texit(scope: unknown): void;\n};\nconst nativeStateTransactionClientBinders = new WeakMap<\n\tobject,\n\t(context: NativeStateTransactionContext) => object\n>();\n\n/** @internal */\nexport function registerNativeStateTransactionOpener<\n\tT extends NativeDatabaseProvider,\n>(\n\tprovider: T,\n\topener: (\n\t\ttimeoutMs?: number,\n\t\tcontext?: unknown,\n\t) => Promise<SqliteTransactionDatabase>,\n): T {\n\tnativeStateTransactionOpeners.set(provider, opener);\n\treturn provider;\n}\n\n/** @internal */\nexport function bindNativeStateTransactionContext<T>(\n\tclient: T,\n\tcontext: NativeStateTransactionContext,\n): T {\n\tif (\n\t\t(typeof client !== \"object\" || client === null) &&\n\t\ttypeof client !== \"function\"\n\t) {\n\t\treturn client;\n\t}\n\tconst bind = nativeStateTransactionClientBinders.get(client as object);\n\treturn (bind?.(context) ?? client) as T;\n}\n\nfunction hasMultipleStatements(query: string): boolean {\n\tconst trimmed = query.trim().replace(/;+$/, \"\").trimEnd();\n\treturn trimmed.includes(\";\");\n}\n\nexport function db({\n\tonMigrate,\n\twarnOnManualTransactions = true,\n\tprofiling,\n}: DatabaseFactoryConfig = {}): DatabaseProvider<RawAccess> {\n\tconst provider: DatabaseProvider<RawAccess> = {\n\t\tsqliteProfiling: profiling,\n\t\tcreateClient: async (ctx) => {\n\t\t\tconst nativeDatabaseProvider = ctx.nativeDatabaseProvider;\n\t\t\tif (!nativeDatabaseProvider) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"native SQLite is required, but the current runtime did not provide a native database provider\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst db = await nativeDatabaseProvider.open(ctx.actorId);\n\t\t\tlet closed = false;\n\t\t\tlet manualTransactionWarned = false;\n\t\t\tconst ensureOpen = () => {\n\t\t\t\tif (closed) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\"Database is closed. This usually means a background timer (setInterval, setTimeout) or a stray promise is still running after the actor stopped. Use c.abortSignal to clean up timers before the actor shuts down.\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst createClient = (\n\t\t\t\ttarget: SqliteDatabase | SqliteTransactionDatabase,\n\t\t\t\ttransactionScoped = false,\n\t\t\t\tstateTransactionContext?: NativeStateTransactionContext,\n\t\t\t): RawAccess => {\n\t\t\t\tconst client: RawAccess = {\n\t\t\t\t\texecute: async <\n\t\t\t\t\t\tTRow extends Record<string, unknown> = Record<\n\t\t\t\t\t\t\tstring,\n\t\t\t\t\t\t\tunknown\n\t\t\t\t\t\t>,\n\t\t\t\t\t>(\n\t\t\t\t\t\tquery: string,\n\t\t\t\t\t\t...args: unknown[]\n\t\t\t\t\t): Promise<TRow[]> => {\n\t\t\t\t\t\tensureOpen();\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!transactionScoped &&\n\t\t\t\t\t\t\twarnOnManualTransactions &&\n\t\t\t\t\t\t\t!manualTransactionWarned &&\n\t\t\t\t\t\t\t!hasMultipleStatements(query) &&\n\t\t\t\t\t\t\tisManualTransactionControl(query)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tmanualTransactionWarned = true;\n\t\t\t\t\t\t\tgetLogger(\"database\").warn(\n\t\t\t\t\t\t\t\t{ actorId: ctx.actorId },\n\t\t\t\t\t\t\t\t\"Manual cross-call SQLite transactions can interleave with other actor work. Use db.transaction() for coordinated transactions. Set warnOnManualTransactions: false in your db(...) configuration to disable this warning.\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst kvReadsBefore = ctx.metrics?.totalKvReads ?? 0;\n\t\t\t\t\t\tconst kvWritesBefore = ctx.metrics?.totalKvWrites ?? 0;\n\t\t\t\t\t\tconst start = performance.now();\n\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (args.length > 0) {\n\t\t\t\t\t\t\t\tconst bindings =\n\t\t\t\t\t\t\t\t\targs.length === 1 &&\n\t\t\t\t\t\t\t\t\tisSqliteBindingObject(args[0])\n\t\t\t\t\t\t\t\t\t\t? toSqliteBindings(args[0])\n\t\t\t\t\t\t\t\t\t\t: toSqliteBindings(args);\n\t\t\t\t\t\t\t\tconst { rows, columns } = await target.execute(\n\t\t\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\t\t\tbindings,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn rows.map((row) =>\n\t\t\t\t\t\t\t\t\trowToObject<TRow>(row, columns),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!hasMultipleStatements(query)) {\n\t\t\t\t\t\t\t\tconst { rows, columns } = await target.execute(\n\t\t\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn rows.map((row) =>\n\t\t\t\t\t\t\t\t\trowToObject<TRow>(row, columns),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn await execMultiStatement<TRow>(\n\t\t\t\t\t\t\t\ttarget,\n\t\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tconst durationMs = performance.now() - start;\n\t\t\t\t\t\t\tctx.metrics?.trackSql(query, durationMs);\n\t\t\t\t\t\t\tif (ctx.metrics) {\n\t\t\t\t\t\t\t\tconst kvReads =\n\t\t\t\t\t\t\t\t\tctx.metrics.totalKvReads - kvReadsBefore;\n\t\t\t\t\t\t\t\tconst kvWrites =\n\t\t\t\t\t\t\t\t\tctx.metrics.totalKvWrites - kvWritesBefore;\n\t\t\t\t\t\t\t\tctx.log?.debug({\n\t\t\t\t\t\t\t\t\tmsg: \"sql query\",\n\t\t\t\t\t\t\t\t\tquery: query.slice(0, 120),\n\t\t\t\t\t\t\t\t\tdurationMs,\n\t\t\t\t\t\t\t\t\tkvReads,\n\t\t\t\t\t\t\t\t\tkvWrites,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\ttransaction: async <T>(\n\t\t\t\t\t\tcallback: (tx: RawAccess) => Promise<T> | T,\n\t\t\t\t\t\toptions?: SqliteTransactionOptions,\n\t\t\t\t\t): Promise<T> => {\n\t\t\t\t\t\tvalidateTransactionTimeout(options?.timeout);\n\t\t\t\t\t\tvalidateTransactionName(options?.name);\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttransactionScoped &&\n\t\t\t\t\t\t\toptions?.experimental?.includeState\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\"experimental.includeState is not supported for nested transactions\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst includeState =\n\t\t\t\t\t\t\toptions?.experimental?.includeState === true;\n\t\t\t\t\t\tconst stateScope =\n\t\t\t\t\t\t\tincludeState && stateTransactionContext\n\t\t\t\t\t\t\t\t? await stateTransactionContext.enter()\n\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst transaction = includeState\n\t\t\t\t\t\t\t\t? await (() => {\n\t\t\t\t\t\t\t\t\t\tconst beginStateTransaction =\n\t\t\t\t\t\t\t\t\t\t\tctx.nativeDatabaseProvider &&\n\t\t\t\t\t\t\t\t\t\t\tnativeStateTransactionOpeners.get(\n\t\t\t\t\t\t\t\t\t\t\t\tctx.nativeDatabaseProvider,\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tif (!beginStateTransaction) {\n\t\t\t\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t\t\t\t\"experimental.includeState is only supported by RivetKit's embedded database provider\",\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn beginStateTransaction(\n\t\t\t\t\t\t\t\t\t\t\toptions?.timeout,\n\t\t\t\t\t\t\t\t\t\t\tstateScope,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})()\n\t\t\t\t\t\t\t\t: await db.beginTransaction(\n\t\t\t\t\t\t\t\t\t\toptions?.timeout,\n\t\t\t\t\t\t\t\t\t\toptions?.name,\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst tx = createClient(transaction, true);\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tconst result = await callback(tx);\n\t\t\t\t\t\t\t\tawait transaction.commit();\n\t\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tawait transaction.rollback();\n\t\t\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t\t\t// Preserve the callback or commit error after expiry cleanup.\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tif (stateScope !== undefined) {\n\t\t\t\t\t\t\t\tstateTransactionContext?.exit(stateScope);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tclose: async () => {\n\t\t\t\t\t\tif (!closed) {\n\t\t\t\t\t\t\tclosed = true;\n\t\t\t\t\t\t\tawait db.close();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tnativeMetrics: () => db.nativeMetrics?.() ?? null,\n\t\t\t\t};\n\t\t\t\tif (!transactionScoped) {\n\t\t\t\t\tnativeStateTransactionClientBinders.set(client, (context) =>\n\t\t\t\t\t\tcreateClient(target, false, context),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn client;\n\t\t\t};\n\t\t\tconst client = createClient(db);\n\t\t\treturn client;\n\t\t},\n\t\tonMigrate: async (client) => {\n\t\t\tif (onMigrate) {\n\t\t\t\tawait withMigrationSavepoint(client, (leased) =>\n\t\t\t\t\tonMigrate(leased),\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t};\n\treturn provider;\n}\n\nfunction rowToObject<TRow extends Record<string, unknown>>(\n\trow: unknown[],\n\tcolumns: string[],\n): TRow {\n\tconst rowObj: Record<string, unknown> = {};\n\tfor (let i = 0; i < columns.length; i++) {\n\t\trowObj[columns[i]] = row[i];\n\t}\n\treturn rowObj as TRow;\n}\n\nasync function execMultiStatement<TRow extends Record<string, unknown>>(\n\tdb: Pick<SqliteDatabase, \"exec\">,\n\tquery: string,\n): Promise<TRow[]> {\n\tconst results: Record<string, unknown>[] = [];\n\tlet columnNames: string[] | null = null;\n\tawait db.exec(query, (row: unknown[], columns: string[]) => {\n\t\tif (!columnNames) {\n\t\t\tcolumnNames = columns;\n\t\t}\n\t\tresults.push(rowToObject(row, columnNames));\n\t});\n\treturn results as TRow[];\n}\n\nasync function withMigrationSavepoint<T>(\n\tclient: RawAccess,\n\tcallback: (leased: RawAccess) => Promise<T> | T,\n): Promise<T> {\n\treturn await client.transaction(\n\t\tasync (transaction) => {\n\t\t\tawait transaction.execute(\"SAVEPOINT __rivet_on_migrate\");\n\t\t\ttry {\n\t\t\t\tconst result = await callback(transaction);\n\t\t\t\tawait transaction.execute(\n\t\t\t\t\t\"RELEASE SAVEPOINT __rivet_on_migrate\",\n\t\t\t\t);\n\t\t\t\treturn result;\n\t\t\t} catch (error) {\n\t\t\t\ttry {\n\t\t\t\t\tawait transaction.execute(\n\t\t\t\t\t\t\"ROLLBACK TO SAVEPOINT __rivet_on_migrate\",\n\t\t\t\t\t);\n\t\t\t\t} finally {\n\t\t\t\t\tawait transaction.execute(\n\t\t\t\t\t\t\"RELEASE SAVEPOINT __rivet_on_migrate\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: \"rivetkit-migration\",\n\t\t\ttimeout: MIGRATION_TRANSACTION_TIMEOUT_MS,\n\t\t},\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/actors/actors/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-NLQMRNGG.cjs","../../src/common/database/mod.ts"],"names":["db","client"],"mappings":"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","file":"/home/runner/work/actors/actors/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-NLQMRNGG.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\nimport type {\n\tDatabaseProvider,\n\tNativeDatabaseProvider,\n\tRawAccess,\n\tSqliteDatabase,\n\tSqliteProfilingOptions,\n\tSqliteTransactionDatabase,\n\tSqliteTransactionOptions,\n} from \"./config\";\nimport {\n\tisManualTransactionControl,\n\tisSqliteBindingObject,\n\tMIGRATION_TRANSACTION_TIMEOUT_MS,\n\ttoSqliteBindings,\n\tvalidateTransactionName,\n\tvalidateTransactionTimeout,\n} from \"./shared\";\n\nexport type { RawAccess } from \"./config\";\n\nexport interface DatabaseFactoryConfig {\n\tonMigrate?: (db: RawAccess) => Promise<void> | void;\n\twarnOnManualTransactions?: boolean;\n\t/**\n\t * SQLite profiling configuration.\n\t *\n\t * @experimental This entire configuration surface is experimental and\n\t * subject to change without notice.\n\t */\n\tprofiling?: SqliteProfilingOptions;\n}\nconst nativeStateTransactionOpeners = new WeakMap<\n\tNativeDatabaseProvider,\n\t(\n\t\ttimeoutMs?: number,\n\t\tcontext?: unknown,\n\t) => Promise<SqliteTransactionDatabase>\n>();\ntype NativeStateTransactionContext = {\n\tenter(): Promise<unknown>;\n\texit(scope: unknown): void;\n};\nconst nativeStateTransactionClientBinders = new WeakMap<\n\tobject,\n\t(context: NativeStateTransactionContext) => object\n>();\n\n/** @internal */\nexport function registerNativeStateTransactionOpener<\n\tT extends NativeDatabaseProvider,\n>(\n\tprovider: T,\n\topener: (\n\t\ttimeoutMs?: number,\n\t\tcontext?: unknown,\n\t) => Promise<SqliteTransactionDatabase>,\n): T {\n\tnativeStateTransactionOpeners.set(provider, opener);\n\treturn provider;\n}\n\n/** @internal */\nexport function bindNativeStateTransactionContext<T>(\n\tclient: T,\n\tcontext: NativeStateTransactionContext,\n): T {\n\tif (\n\t\t(typeof client !== \"object\" || client === null) &&\n\t\ttypeof client !== \"function\"\n\t) {\n\t\treturn client;\n\t}\n\tconst bind = nativeStateTransactionClientBinders.get(client as object);\n\treturn (bind?.(context) ?? client) as T;\n}\n\nfunction hasMultipleStatements(query: string): boolean {\n\tconst trimmed = query.trim().replace(/;+$/, \"\").trimEnd();\n\treturn trimmed.includes(\";\");\n}\n\nexport function db({\n\tonMigrate,\n\twarnOnManualTransactions = true,\n\tprofiling,\n}: DatabaseFactoryConfig = {}): DatabaseProvider<RawAccess> {\n\tconst provider: DatabaseProvider<RawAccess> = {\n\t\tsqliteProfiling: profiling,\n\t\tcreateClient: async (ctx) => {\n\t\t\tconst nativeDatabaseProvider = ctx.nativeDatabaseProvider;\n\t\t\tif (!nativeDatabaseProvider) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"native SQLite is required, but the current runtime did not provide a native database provider\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst db = await nativeDatabaseProvider.open(ctx.actorId);\n\t\t\tlet closed = false;\n\t\t\tlet manualTransactionWarned = false;\n\t\t\tconst ensureOpen = () => {\n\t\t\t\tif (closed) {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\"Database is closed. This usually means a background timer (setInterval, setTimeout) or a stray promise is still running after the actor stopped. Use c.abortSignal to clean up timers before the actor shuts down.\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tconst createClient = (\n\t\t\t\ttarget: SqliteDatabase | SqliteTransactionDatabase,\n\t\t\t\ttransactionScoped = false,\n\t\t\t\tstateTransactionContext?: NativeStateTransactionContext,\n\t\t\t): RawAccess => {\n\t\t\t\tconst client: RawAccess = {\n\t\t\t\t\texecute: async <\n\t\t\t\t\t\tTRow extends Record<string, unknown> = Record<\n\t\t\t\t\t\t\tstring,\n\t\t\t\t\t\t\tunknown\n\t\t\t\t\t\t>,\n\t\t\t\t\t>(\n\t\t\t\t\t\tquery: string,\n\t\t\t\t\t\t...args: unknown[]\n\t\t\t\t\t): Promise<TRow[]> => {\n\t\t\t\t\t\tensureOpen();\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!transactionScoped &&\n\t\t\t\t\t\t\twarnOnManualTransactions &&\n\t\t\t\t\t\t\t!manualTransactionWarned &&\n\t\t\t\t\t\t\t!hasMultipleStatements(query) &&\n\t\t\t\t\t\t\tisManualTransactionControl(query)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tmanualTransactionWarned = true;\n\t\t\t\t\t\t\tgetLogger(\"database\").warn(\n\t\t\t\t\t\t\t\t{ actorId: ctx.actorId },\n\t\t\t\t\t\t\t\t\"Manual cross-call SQLite transactions can interleave with other actor work. Use db.transaction() for coordinated transactions. Set warnOnManualTransactions: false in your db(...) configuration to disable this warning.\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst kvReadsBefore = ctx.metrics?.totalKvReads ?? 0;\n\t\t\t\t\t\tconst kvWritesBefore = ctx.metrics?.totalKvWrites ?? 0;\n\t\t\t\t\t\tconst start = performance.now();\n\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (args.length > 0) {\n\t\t\t\t\t\t\t\tconst bindings =\n\t\t\t\t\t\t\t\t\targs.length === 1 &&\n\t\t\t\t\t\t\t\t\tisSqliteBindingObject(args[0])\n\t\t\t\t\t\t\t\t\t\t? toSqliteBindings(args[0])\n\t\t\t\t\t\t\t\t\t\t: toSqliteBindings(args);\n\t\t\t\t\t\t\t\tconst { rows, columns } = await target.execute(\n\t\t\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\t\t\tbindings,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn rows.map((row) =>\n\t\t\t\t\t\t\t\t\trowToObject<TRow>(row, columns),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!hasMultipleStatements(query)) {\n\t\t\t\t\t\t\t\tconst { rows, columns } = await target.execute(\n\t\t\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\t\t\tundefined,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn rows.map((row) =>\n\t\t\t\t\t\t\t\t\trowToObject<TRow>(row, columns),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn await execMultiStatement<TRow>(\n\t\t\t\t\t\t\t\ttarget,\n\t\t\t\t\t\t\t\tquery,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tconst durationMs = performance.now() - start;\n\t\t\t\t\t\t\tctx.metrics?.trackSql(query, durationMs);\n\t\t\t\t\t\t\tif (ctx.metrics) {\n\t\t\t\t\t\t\t\tconst kvReads =\n\t\t\t\t\t\t\t\t\tctx.metrics.totalKvReads - kvReadsBefore;\n\t\t\t\t\t\t\t\tconst kvWrites =\n\t\t\t\t\t\t\t\t\tctx.metrics.totalKvWrites - kvWritesBefore;\n\t\t\t\t\t\t\t\tctx.log?.debug({\n\t\t\t\t\t\t\t\t\tmsg: \"sql query\",\n\t\t\t\t\t\t\t\t\tquery: query.slice(0, 120),\n\t\t\t\t\t\t\t\t\tdurationMs,\n\t\t\t\t\t\t\t\t\tkvReads,\n\t\t\t\t\t\t\t\t\tkvWrites,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\ttransaction: async <T>(\n\t\t\t\t\t\tcallback: (tx: RawAccess) => Promise<T> | T,\n\t\t\t\t\t\toptions?: SqliteTransactionOptions,\n\t\t\t\t\t): Promise<T> => {\n\t\t\t\t\t\tvalidateTransactionTimeout(options?.timeout);\n\t\t\t\t\t\tvalidateTransactionName(options?.name);\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttransactionScoped &&\n\t\t\t\t\t\t\toptions?.experimental?.includeState\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\"experimental.includeState is not supported for nested transactions\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst includeState =\n\t\t\t\t\t\t\toptions?.experimental?.includeState === true;\n\t\t\t\t\t\tconst stateScope =\n\t\t\t\t\t\t\tincludeState && stateTransactionContext\n\t\t\t\t\t\t\t\t? await stateTransactionContext.enter()\n\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst transaction = includeState\n\t\t\t\t\t\t\t\t? await (() => {\n\t\t\t\t\t\t\t\t\t\tconst beginStateTransaction =\n\t\t\t\t\t\t\t\t\t\t\tctx.nativeDatabaseProvider &&\n\t\t\t\t\t\t\t\t\t\t\tnativeStateTransactionOpeners.get(\n\t\t\t\t\t\t\t\t\t\t\t\tctx.nativeDatabaseProvider,\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tif (!beginStateTransaction) {\n\t\t\t\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t\t\t\t\"experimental.includeState is only supported by RivetKit's embedded database provider\",\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn beginStateTransaction(\n\t\t\t\t\t\t\t\t\t\t\toptions?.timeout,\n\t\t\t\t\t\t\t\t\t\t\tstateScope,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})()\n\t\t\t\t\t\t\t\t: await db.beginTransaction(\n\t\t\t\t\t\t\t\t\t\toptions?.timeout,\n\t\t\t\t\t\t\t\t\t\toptions?.name,\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst tx = createClient(transaction, true);\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tconst result = await callback(tx);\n\t\t\t\t\t\t\t\tawait transaction.commit();\n\t\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tawait transaction.rollback();\n\t\t\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\t\t\t// Preserve the callback or commit error after expiry cleanup.\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tif (stateScope !== undefined) {\n\t\t\t\t\t\t\t\tstateTransactionContext?.exit(stateScope);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tclose: async () => {\n\t\t\t\t\t\tif (!closed) {\n\t\t\t\t\t\t\tclosed = true;\n\t\t\t\t\t\t\tawait db.close();\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tnativeMetrics: () => db.nativeMetrics?.() ?? null,\n\t\t\t\t};\n\t\t\t\tif (!transactionScoped) {\n\t\t\t\t\tnativeStateTransactionClientBinders.set(client, (context) =>\n\t\t\t\t\t\tcreateClient(target, false, context),\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn client;\n\t\t\t};\n\t\t\tconst client = createClient(db);\n\t\t\treturn client;\n\t\t},\n\t\tonMigrate: async (client) => {\n\t\t\tif (onMigrate) {\n\t\t\t\tawait withMigrationSavepoint(client, (leased) =>\n\t\t\t\t\tonMigrate(leased),\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t};\n\treturn provider;\n}\n\nfunction rowToObject<TRow extends Record<string, unknown>>(\n\trow: unknown[],\n\tcolumns: string[],\n): TRow {\n\tconst rowObj: Record<string, unknown> = {};\n\tfor (let i = 0; i < columns.length; i++) {\n\t\trowObj[columns[i]] = row[i];\n\t}\n\treturn rowObj as TRow;\n}\n\nasync function execMultiStatement<TRow extends Record<string, unknown>>(\n\tdb: Pick<SqliteDatabase, \"exec\">,\n\tquery: string,\n): Promise<TRow[]> {\n\tconst results: Record<string, unknown>[] = [];\n\tlet columnNames: string[] | null = null;\n\tawait db.exec(query, (row: unknown[], columns: string[]) => {\n\t\tif (!columnNames) {\n\t\t\tcolumnNames = columns;\n\t\t}\n\t\tresults.push(rowToObject(row, columnNames));\n\t});\n\treturn results as TRow[];\n}\n\nasync function withMigrationSavepoint<T>(\n\tclient: RawAccess,\n\tcallback: (leased: RawAccess) => Promise<T> | T,\n): Promise<T> {\n\treturn await client.transaction(\n\t\tasync (transaction) => {\n\t\t\tawait transaction.execute(\"SAVEPOINT __rivet_on_migrate\");\n\t\t\ttry {\n\t\t\t\tconst result = await callback(transaction);\n\t\t\t\tawait transaction.execute(\n\t\t\t\t\t\"RELEASE SAVEPOINT __rivet_on_migrate\",\n\t\t\t\t);\n\t\t\t\treturn result;\n\t\t\t} catch (error) {\n\t\t\t\ttry {\n\t\t\t\t\tawait transaction.execute(\n\t\t\t\t\t\t\"ROLLBACK TO SAVEPOINT __rivet_on_migrate\",\n\t\t\t\t\t);\n\t\t\t\t} finally {\n\t\t\t\t\tawait transaction.execute(\n\t\t\t\t\t\t\"RELEASE SAVEPOINT __rivet_on_migrate\",\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tname: \"rivetkit-migration\",\n\t\t\ttimeout: MIGRATION_TRANSACTION_TIMEOUT_MS,\n\t\t},\n\t);\n}\n"]}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkI47EOXINcjs = require('./chunk-I47EOXIN.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunk4ATT4NFNcjs = require('./chunk-4ATT4NFN.cjs');
|
|
9
9
|
|
|
10
10
|
// src/devtools-loader/log.ts
|
|
11
11
|
function logger() {
|
|
12
|
-
return
|
|
12
|
+
return _chunk4ATT4NFNcjs.getLogger.call(void 0, "devtools");
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
// src/devtools-loader/index.ts
|
|
@@ -35,15 +35,15 @@ function injectDevtools(config) {
|
|
|
35
35
|
// src/client/mod.ts
|
|
36
36
|
function createClient(endpointOrConfig) {
|
|
37
37
|
const configInput = endpointOrConfig === void 0 ? {} : typeof endpointOrConfig === "string" ? { endpoint: endpointOrConfig } : endpointOrConfig;
|
|
38
|
-
const config =
|
|
39
|
-
const driver = new (0,
|
|
38
|
+
const config = _chunkI47EOXINcjs.ClientConfigSchema.parse(configInput);
|
|
39
|
+
const driver = new (0, _chunkI47EOXINcjs.RemoteEngineControlClient)(config);
|
|
40
40
|
if (config.devtools) {
|
|
41
41
|
injectDevtools(config);
|
|
42
42
|
}
|
|
43
|
-
return
|
|
43
|
+
return _chunkI47EOXINcjs.createClientWithDriver.call(void 0, driver, config);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
exports.createClient = createClient;
|
|
49
|
-
//# sourceMappingURL=chunk-
|
|
49
|
+
//# sourceMappingURL=chunk-NOU4GGLT.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/actors/actors/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/actors/actors/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-NOU4GGLT.cjs","../../src/devtools-loader/log.ts","../../src/devtools-loader/index.ts","../../src/client/mod.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACPO,SAAS,MAAA,CAAA,EAAS;AACxB,EAAA,OAAO,yCAAA,UAAoB,CAAA;AAC5B;ADSA;AACA;AENA,IAAM,SAAA,EAAW,0BAAA;AAEV,SAAS,cAAA,CAAe,MAAA,EAA2B;AAV1D,EAAA,IAAA,EAAA;AAWC,EAAA,GAAA,CAAI,CAAC,MAAA,EAAQ;AACZ,IAAA,MAAA,CAAO,CAAA,CAAE,IAAA,CAAK,oDAAoD,CAAA;AAClE,IAAA,MAAA;AAAA,EACD;AAEA,EAAA,GAAA,CAAI,CAAC,QAAA,CAAS,cAAA,CAAe,QAAQ,CAAA,EAAG;AACvC,IAAA,MAAM,IAAA,EAEL,CAAA,EAAA;AACK,IAAA;AACM,IAAA;AACC,IAAA;AACN,IAAA;AACE,IAAA;AACV,EAAA;AAEO,EAAA;AACA,EAAA;AACR;AFIiB;AACA;AGqBD;AAIT,EAAA;AAMS,EAAA;AAGA,EAAA;AAEJ,EAAA;AACV,IAAA;AACD,EAAA;AAEO,EAAA;AACR;AH/BiB;AACA;AACA;AACA","file":"/home/runner/work/actors/actors/rivetkit-typescript/packages/rivetkit/dist/tsup/chunk-NOU4GGLT.cjs","sourcesContent":[null,"import { getLogger } from \"@/common/log\";\n\nexport function logger() {\n\treturn getLogger(\"devtools\");\n}\n","import type { ClientConfigInput } from \"@/client/client\";\nimport { logger } from \"./log\";\n\ndeclare global {\n\t// Injected via tsup config\n\tvar CUSTOM_RIVETKIT_DEVTOOLS_URL: string | undefined;\n}\n\nconst scriptId = \"rivetkit-devtools-script\";\n\nexport function injectDevtools(config: ClientConfigInput) {\n\tif (!window) {\n\t\tlogger().warn(\"devtools not available outside browser environment\");\n\t\treturn;\n\t}\n\n\tif (!document.getElementById(scriptId)) {\n\t\tconst src =\n\t\t\tglobalThis.CUSTOM_RIVETKIT_DEVTOOLS_URL ||\n\t\t\t`${config.endpoint?.replace(/\\/$/, \"\")}/devtools/mod.js`;\n\t\tconst script = document.createElement(\"script\");\n\t\tscript.id = scriptId;\n\t\tscript.src = src;\n\t\tscript.async = true;\n\t\tdocument.head.appendChild(script);\n\t}\n\n\twindow.__rivetkit = window.__rivetkit || [];\n\twindow.__rivetkit.push(config);\n}\n","import { injectDevtools } from \"@/devtools-loader\";\nimport { RemoteEngineControlClient } from \"@/engine-client/mod\";\nimport type { Registry } from \"@/registry\";\nimport {\n\ttype Client,\n\ttype ClientConfigInput,\n\tcreateClientWithDriver,\n} from \"./client\";\nimport { ClientConfigSchema } from \"./config\";\n\nexport type { ActorDefinition, AnyActorDefinition } from \"@/actor/definition\";\nexport {\n\tActorClientError,\n\tActorConnDisposed,\n\tActorError,\n\tMalformedResponseMessage,\n\tManagerError,\n\tRivetError,\n\tUserError,\n} from \"@/client/errors\";\nexport type { CreateRequest } from \"@/client/query\";\nexport type { Encoding } from \"@/common/encoding\";\nexport type {\n\tActorActionFunction,\n\tActorActionOptions,\n\tActorConnectOptions,\n\tActorGatewayOptions,\n} from \"./actor-common\";\nexport type {\n\tActorConn,\n\tActorConnStatus,\n\tConnectionStateCallback,\n\tEventUnsubscribe,\n\tStatusChangeCallback,\n} from \"./actor-conn\";\nexport { ActorConnRaw } from \"./actor-conn\";\nexport type { ActorHandle } from \"./actor-handle\";\nexport { ActorHandleRaw } from \"./actor-handle\";\nexport type {\n\tActorAccessor,\n\tClient,\n\tClientConfigInput,\n\tClientRaw,\n\tCreateOptions,\n\tExtractActorsFromRegistry,\n\tExtractRegistryFromClient,\n\tGetOptions,\n\tGetWithIdOptions,\n\tQueryOptions,\n\tRegion,\n} from \"./client\";\n\n/**\n * Creates a client with the actor accessor proxy.\n */\nexport function createClient<A extends Registry<any>>(\n\tendpointOrConfig?: string | ClientConfigInput,\n): Client<A> {\n\t// Parse config\n\tconst configInput =\n\t\tendpointOrConfig === undefined\n\t\t\t? {}\n\t\t\t: typeof endpointOrConfig === \"string\"\n\t\t\t\t? { endpoint: endpointOrConfig }\n\t\t\t\t: endpointOrConfig;\n\tconst config = ClientConfigSchema.parse(configInput);\n\n\t// Create client\n\tconst driver = new RemoteEngineControlClient(config);\n\n\tif (config.devtools) {\n\t\tinjectDevtools(config);\n\t}\n\n\treturn createClientWithDriver<A>(driver, config);\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/actor/errors.ts"],"sourcesContent":["import type { DeconstructedError } from \"@/common/utils\";\n\nexport const INTERNAL_ERROR_CODE = \"internal_error\";\nexport const INTERNAL_ERROR_DESCRIPTION = \"An internal error occurred\";\nexport type InternalErrorMetadata = Record<string, never>;\n\nexport const USER_ERROR_CODE = \"user_error\";\nexport const BRIDGE_RIVET_ERROR_PREFIX = \"__RIVET_ERROR_JSON__:\";\n\nexport interface RivetErrorOptions extends ErrorOptions {\n\t/** Error data can safely be serialized in a response to the client. */\n\tpublic?: boolean;\n\t/** Metadata associated with this error. */\n\tmetadata?: unknown;\n\t/** Request identifier used to correlate this error with engine logs. */\n\trayId?: string;\n\t/** Explicit HTTP status override for router responses. */\n\tstatusCode?: number;\n\t/** Actor context associated with this error. */\n\tactor?: ActorSpecifier;\n}\n\n/** Identifies the actor that was handling work when an error was produced. */\nexport interface ActorSpecifier {\n\tactorId: string;\n\tgeneration: number;\n\tkey?: string;\n}\n\nexport interface RivetErrorLike {\n\t__type?: \"ActorError\" | \"RivetError\";\n\tgroup: string;\n\tcode: string;\n\tmessage: string;\n\tmetadata?: unknown;\n\trayId?: string;\n\tpublic?: boolean;\n\tstatusCode?: number;\n\tactor?: ActorSpecifier;\n}\n\nexport interface BridgeRivetErrorPayload extends RivetErrorLike {}\n\n/**\n * Shape as it arrives from the native bridge, where an absent ray ID serializes\n * to null. Normalized to a BridgeRivetErrorPayload before validation.\n */\ninterface NativeBridgeErrorPayload\n\textends Omit<BridgeRivetErrorPayload, \"rayId\"> {\n\trayId?: string | null;\n}\n\nexport interface UserErrorOptions extends ErrorOptions {\n\t/**\n\t * Machine readable code for this error. Useful for catching different types of\n\t * errors in try-catch.\n\t */\n\tcode?: string;\n\t/**\n\t * Additional metadata related to the error. Useful for understanding context\n\t * about the error.\n\t */\n\tmetadata?: unknown;\n}\n\nfunction looksLikeRivetErrorOptions(\n\tvalue: unknown,\n): value is RivetErrorOptions {\n\treturn (\n\t\ttypeof value === \"object\" &&\n\t\tvalue !== null &&\n\t\t(\"public\" in value ||\n\t\t\t\"metadata\" in value ||\n\t\t\t\"rayId\" in value ||\n\t\t\t\"statusCode\" in value ||\n\t\t\t\"actor\" in value ||\n\t\t\t\"cause\" in value)\n\t);\n}\n\nfunction isTypedErrorTag(value: unknown): value is \"ActorError\" | \"RivetError\" {\n\treturn value === \"ActorError\" || value === \"RivetError\";\n}\n\nfunction errorMessage(error: unknown, fallback = String(error)): string {\n\tif (\n\t\terror &&\n\t\ttypeof error === \"object\" &&\n\t\t\"message\" in error &&\n\t\ttypeof error.message === \"string\"\n\t) {\n\t\treturn error.message;\n\t}\n\n\treturn fallback;\n}\n\nexport function isRivetErrorLike(\n\terror: unknown,\n): error is RivetError | DeconstructedError | RivetErrorLike {\n\treturn (\n\t\ttypeof error === \"object\" &&\n\t\terror !== null &&\n\t\t\"group\" in error &&\n\t\ttypeof error.group === \"string\" &&\n\t\t\"code\" in error &&\n\t\ttypeof error.code === \"string\" &&\n\t\t\"message\" in error &&\n\t\ttypeof error.message === \"string\" &&\n\t\t(!(\"rayId\" in error) ||\n\t\t\terror.rayId === undefined ||\n\t\t\ttypeof error.rayId === \"string\") &&\n\t\t(!(\"__type\" in error) || isTypedErrorTag(error.__type))\n\t);\n}\n\n// Matches the `actor`/`aborted` error that core raises when an in-flight queue\n// wait is interrupted because the actor is going to sleep. This is the expected\n// way a parked `run` handler unwinds during sleep, not a failure.\nexport function isActorAbortedError(error: unknown): boolean {\n\treturn (\n\t\tisRivetErrorLike(error) &&\n\t\terror.group === \"actor\" &&\n\t\terror.code === \"aborted\"\n\t);\n}\n\nfunction isActorSpecifier(value: unknown): value is ActorSpecifier {\n\treturn (\n\t\ttypeof value === \"object\" &&\n\t\tvalue !== null &&\n\t\t\"actorId\" in value &&\n\t\ttypeof value.actorId === \"string\" &&\n\t\t\"generation\" in value &&\n\t\ttypeof value.generation === \"number\" &&\n\t\t(!(\"key\" in value) ||\n\t\t\tvalue.key === undefined ||\n\t\t\ttypeof value.key === \"string\")\n\t);\n}\n\nexport class RivetError extends Error {\n\t__type = \"RivetError\" as const;\n\n\tpublic public: boolean;\n\tpublic metadata?: unknown;\n\tpublic readonly rayId?: string;\n\tpublic statusCode: number;\n\tpublic actor?: ActorSpecifier;\n\tpublic readonly group: string;\n\tpublic readonly code: string;\n\n\tpublic static isRivetError(\n\t\terror: unknown,\n\t): error is RivetError | DeconstructedError {\n\t\treturn isRivetErrorLike(error);\n\t}\n\n\tpublic static isActorError(\n\t\terror: unknown,\n\t): error is RivetError | DeconstructedError {\n\t\treturn isRivetErrorLike(error);\n\t}\n\n\tconstructor(\n\t\tgroup: string,\n\t\tcode: string,\n\t\tmessage: string,\n\t\toptions?: RivetErrorOptions | unknown,\n\t) {\n\t\tconst normalized = looksLikeRivetErrorOptions(options)\n\t\t\t? options\n\t\t\t: { metadata: options };\n\n\t\tsuper(message, { cause: normalized.cause });\n\t\tthis.name = \"RivetError\";\n\t\tthis.group = group;\n\t\tthis.code = code;\n\t\tthis.public = normalized.public ?? false;\n\t\tthis.metadata = normalized.metadata;\n\t\tthis.rayId = normalized.rayId ?? undefined;\n\t\tthis.statusCode = normalized.statusCode ?? (this.public ? 400 : 500);\n\t\tthis.actor = normalized.actor;\n\t}\n\n\ttoString() {\n\t\treturn this.message;\n\t}\n}\n\nexport { RivetError as ActorError };\n\nexport class UserError extends RivetError {\n\tconstructor(message: string, options?: UserErrorOptions) {\n\t\tsuper(\"user\", options?.code ?? USER_ERROR_CODE, message, {\n\t\t\tpublic: true,\n\t\t\tmetadata: options?.metadata,\n\t\t\tcause: options?.cause,\n\t\t});\n\t}\n}\n\nexport function toRivetError(\n\terror: unknown,\n\tfallback?: Partial<RivetErrorLike>,\n): RivetError {\n\tif (typeof error === \"string\") {\n\t\tconst bridged = decodeBridgeRivetError(error);\n\t\tif (bridged) {\n\t\t\treturn bridged;\n\t\t}\n\t}\n\n\tif (error instanceof Error) {\n\t\tconst bridged = decodeBridgeRivetError(error.message);\n\t\tif (bridged) {\n\t\t\treturn bridged;\n\t\t}\n\t}\n\n\tif (isRivetErrorLike(error)) {\n\t\treturn new RivetError(error.group, error.code, error.message, {\n\t\t\tpublic: error.public,\n\t\t\tstatusCode: error.statusCode,\n\t\t\tmetadata: error.metadata,\n\t\t\trayId: error.rayId,\n\t\t\tactor: error.actor,\n\t\t\tcause: error instanceof Error ? error.cause : undefined,\n\t\t});\n\t}\n\n\treturn new RivetError(\n\t\tfallback?.group ?? \"actor\",\n\t\tfallback?.code ?? INTERNAL_ERROR_CODE,\n\t\terrorMessage(error, fallback?.message ?? \"Unknown error\"),\n\t\t{\n\t\t\tpublic: fallback?.public,\n\t\t\tstatusCode: fallback?.statusCode,\n\t\t\tmetadata: fallback?.metadata,\n\t\t\trayId: fallback?.rayId,\n\t\t\tactor: fallback?.actor,\n\t\t\tcause: error instanceof Error ? error : undefined,\n\t\t},\n\t);\n}\n\nexport function encodeBridgeRivetError(error: RivetErrorLike): string {\n\treturn `${BRIDGE_RIVET_ERROR_PREFIX}${JSON.stringify({\n\t\tgroup: error.group,\n\t\tcode: error.code,\n\t\tmessage: error.message,\n\t\tmetadata: error.metadata,\n\t\trayId: error.rayId,\n\t\tpublic: error.public,\n\t\tstatusCode: error.statusCode,\n\t\tactor: error.actor,\n\t})}`;\n}\n\nexport function decodeBridgeRivetErrorPayload(\n\tvalue: string,\n): BridgeRivetErrorPayload | undefined {\n\tif (!value.startsWith(BRIDGE_RIVET_ERROR_PREFIX)) {\n\t\treturn undefined;\n\t}\n\n\ttry {\n\t\tconst raw = JSON.parse(\n\t\t\tvalue.slice(BRIDGE_RIVET_ERROR_PREFIX.length),\n\t\t) as NativeBridgeErrorPayload;\n\t\t// Coerce the native bridge's null ray ID to undefined before validation.\n\t\tconst payload: BridgeRivetErrorPayload = {\n\t\t\t...raw,\n\t\t\trayId: raw.rayId ?? undefined,\n\t\t};\n\t\tif (!isRivetErrorLike(payload)) {\n\t\t\treturn undefined;\n\t\t}\n\t\tif (\n\t\t\tpayload.actor !== undefined &&\n\t\t\tpayload.actor !== null &&\n\t\t\t!isActorSpecifier(payload.actor)\n\t\t) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn payload;\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nexport function decodeBridgeRivetError(value: string): RivetError | undefined {\n\tconst payload = decodeBridgeRivetErrorPayload(value);\n\tif (!payload) {\n\t\treturn undefined;\n\t}\n\n\treturn new RivetError(payload.group, payload.code, payload.message, {\n\t\tmetadata: payload.metadata,\n\t\trayId: payload.rayId,\n\t\tpublic: payload.public,\n\t\tstatusCode: payload.statusCode,\n\t\tactor: payload.actor ?? undefined,\n\t});\n}\n\nexport function isRivetErrorCode(\n\terror: unknown,\n\tgroup: string,\n\tcode: string,\n): error is RivetError {\n\treturn (\n\t\tisRivetErrorLike(error) && error.group === group && error.code === code\n\t);\n}\n\nexport function internalError(\n\tmessage: string,\n\toptions?: Partial<RivetErrorOptions> & {\n\t\tgroup?: string;\n\t\tcode?: string;\n\t},\n): RivetError {\n\treturn new RivetError(\n\t\toptions?.group ?? \"actor\",\n\t\toptions?.code ?? INTERNAL_ERROR_CODE,\n\t\tmessage,\n\t\t{\n\t\t\tpublic: options?.public,\n\t\t\tstatusCode: options?.statusCode,\n\t\t\tmetadata: options?.metadata,\n\t\t\trayId: options?.rayId,\n\t\t\tactor: options?.actor,\n\t\t\tcause: options?.cause,\n\t\t},\n\t);\n}\n\nexport function invalidEncoding(format?: string): RivetError {\n\treturn new RivetError(\n\t\t\"encoding\",\n\t\t\"invalid\",\n\t\t`Invalid encoding \\`${format}\\`. (https://www.rivet.dev/docs/clients/javascript)`,\n\t\t{\n\t\t\tpublic: true,\n\t\t},\n\t);\n}\n\nexport function invalidRequest(error?: unknown): RivetError {\n\treturn new RivetError(\n\t\t\"request\",\n\t\t\"invalid\",\n\t\t`Invalid request: ${errorMessage(error, String(error))}`,\n\t\t{\n\t\t\tpublic: true,\n\t\t\tcause: error instanceof Error ? error : undefined,\n\t\t},\n\t);\n}\n\nexport function actorNotFound(identifier?: string): RivetError {\n\treturn new RivetError(\n\t\t\"actor\",\n\t\t\"not_found\",\n\t\tidentifier\n\t\t\t? `Actor not found: ${identifier} (https://www.rivet.dev/docs/clients/javascript)`\n\t\t\t: \"Actor not found (https://www.rivet.dev/docs/clients/javascript)\",\n\t\t{ public: true },\n\t);\n}\n\nexport function actorStopping(identifier?: string): RivetError {\n\treturn new RivetError(\n\t\t\"actor\",\n\t\t\"stopping\",\n\t\tidentifier ? `Actor stopping: ${identifier}` : \"Actor stopping\",\n\t\t{ public: true },\n\t);\n}\n\nexport interface ActorRestartingOptions {\n\tphase?: \"stopping\" | \"sleeping\" | \"waking\" | \"runner_shutdown\";\n\tretryAfterMs?: number;\n}\n\nexport function actorRestarting(opts?: ActorRestartingOptions): RivetError {\n\treturn new RivetError(\n\t\t\"actor\",\n\t\t\"restarting\",\n\t\t\"Actor is restarting. Retry the request.\",\n\t\t{\n\t\t\tpublic: true,\n\t\t\tstatusCode: 503,\n\t\t\tmetadata: {\n\t\t\t\tretryable: true,\n\t\t\t\t...(opts?.phase ? { phase: opts.phase } : {}),\n\t\t\t\t...(opts?.retryAfterMs !== undefined\n\t\t\t\t\t? { retryAfterMs: opts.retryAfterMs }\n\t\t\t\t\t: {}),\n\t\t\t},\n\t\t},\n\t);\n}\n\nexport function forbiddenError(): RivetError {\n\treturn new RivetError(\"auth\", \"forbidden\", \"Forbidden\", {\n\t\tpublic: true,\n\t\tstatusCode: 403,\n\t});\n}\n\nexport function unsupportedFeature(feature: string): RivetError {\n\treturn new RivetError(\n\t\t\"feature\",\n\t\t\"unsupported\",\n\t\t`Unsupported feature: ${feature}`,\n\t);\n}\n"],"mappings":"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","names":[]}
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
importWebSocket,
|
|
10
10
|
logger
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-AS47KFZD.js";
|
|
12
12
|
import {
|
|
13
13
|
EncodingSchema,
|
|
14
14
|
assertUnreachable,
|
|
@@ -35,13 +35,13 @@ import {
|
|
|
35
35
|
serializeWithEncoding,
|
|
36
36
|
stringifyError,
|
|
37
37
|
uint8ArrayToBase64
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-UZWKXBMV.js";
|
|
39
39
|
import {
|
|
40
40
|
INTERNAL_ERROR_CODE,
|
|
41
41
|
RivetError,
|
|
42
42
|
actorNotFound,
|
|
43
43
|
invalidRequest
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-OUQUIBVW.js";
|
|
45
45
|
|
|
46
46
|
// src/common/actor-router-consts.ts
|
|
47
47
|
var PATH_CONNECT = "/connect";
|
|
@@ -50,6 +50,7 @@ var PATH_WEBSOCKET_PREFIX = "/websocket/";
|
|
|
50
50
|
var HEADER_ACTOR_QUERY = "x-rivet-query";
|
|
51
51
|
var HEADER_ENCODING = "x-rivet-encoding";
|
|
52
52
|
var HEADER_CONN_PARAMS = "x-rivet-conn-params";
|
|
53
|
+
var HEADER_ORIGINAL_REQUEST_URL = "x-rivet-internal-original-request-url";
|
|
53
54
|
var HEADER_ACTOR_ID = "x-rivet-actor";
|
|
54
55
|
var HEADER_ACTOR_GENERATION = "x-rivet-actor-generation";
|
|
55
56
|
var HEADER_ACTOR_KEY = "x-rivet-actor-key";
|
|
@@ -2149,6 +2150,20 @@ async function checkForSchedulingError(group, code, actorId, query, driver, rayI
|
|
|
2149
2150
|
return null;
|
|
2150
2151
|
}
|
|
2151
2152
|
|
|
2153
|
+
// src/common/fetch-like.ts
|
|
2154
|
+
function isUrlLike(value) {
|
|
2155
|
+
return typeof value === "object" && value !== null && typeof value.href === "string" && typeof value.pathname === "string" && typeof value.search === "string";
|
|
2156
|
+
}
|
|
2157
|
+
function isRequestLike(value) {
|
|
2158
|
+
return typeof value === "object" && value !== null && typeof value.url === "string" && typeof value.method === "string" && isHeadersLike(value.headers);
|
|
2159
|
+
}
|
|
2160
|
+
function isResponseLike(value) {
|
|
2161
|
+
return typeof value === "object" && value !== null && typeof value.status === "number" && isHeadersLike(value.headers) && typeof value.arrayBuffer === "function";
|
|
2162
|
+
}
|
|
2163
|
+
function isHeadersLike(value) {
|
|
2164
|
+
return typeof value === "object" && value !== null && typeof value.entries === "function";
|
|
2165
|
+
}
|
|
2166
|
+
|
|
2152
2167
|
// src/client/lifecycle-errors.ts
|
|
2153
2168
|
function* walkErrorChain(error, maxDepth = 8) {
|
|
2154
2169
|
let current = error;
|
|
@@ -2581,31 +2596,20 @@ function createQueueSender(senderOptions) {
|
|
|
2581
2596
|
};
|
|
2582
2597
|
}
|
|
2583
2598
|
|
|
2584
|
-
// src/common/fetch-like.ts
|
|
2585
|
-
function isUrlLike(value) {
|
|
2586
|
-
return typeof value === "object" && value !== null && typeof value.href === "string" && typeof value.pathname === "string" && typeof value.search === "string";
|
|
2587
|
-
}
|
|
2588
|
-
function isRequestLike(value) {
|
|
2589
|
-
return typeof value === "object" && value !== null && typeof value.url === "string" && typeof value.method === "string" && isHeadersLike(value.headers);
|
|
2590
|
-
}
|
|
2591
|
-
function isResponseLike(value) {
|
|
2592
|
-
return typeof value === "object" && value !== null && typeof value.status === "number" && isHeadersLike(value.headers) && typeof value.arrayBuffer === "function";
|
|
2593
|
-
}
|
|
2594
|
-
function isHeadersLike(value) {
|
|
2595
|
-
return typeof value === "object" && value !== null && typeof value.entries === "function";
|
|
2596
|
-
}
|
|
2597
|
-
|
|
2598
2599
|
// src/client/raw-utils.ts
|
|
2599
2600
|
async function rawHttpFetch(driver, target, params, input, init, options = {}) {
|
|
2600
2601
|
let path;
|
|
2602
|
+
let originalUrl;
|
|
2601
2603
|
let mergedInit = init || {};
|
|
2602
2604
|
if (typeof input === "string") {
|
|
2603
2605
|
path = input;
|
|
2604
2606
|
} else if (isUrlLike(input)) {
|
|
2605
2607
|
path = input.pathname + input.search;
|
|
2608
|
+
originalUrl = input.toString();
|
|
2606
2609
|
} else if (isRequestLike(input)) {
|
|
2607
2610
|
const url = new URL(input.url);
|
|
2608
2611
|
path = url.pathname + url.search;
|
|
2612
|
+
originalUrl = url.toString();
|
|
2609
2613
|
const requestHeaders = new Headers(input.headers);
|
|
2610
2614
|
const initHeaders = new Headers((init == null ? void 0 : init.headers) || {});
|
|
2611
2615
|
const mergedHeaders = new Headers(requestHeaders);
|
|
@@ -2647,6 +2651,10 @@ async function rawHttpFetch(driver, target, params, input, init, options = {}) {
|
|
|
2647
2651
|
const normalizedPath = path.startsWith("/") ? path.slice(1) : path;
|
|
2648
2652
|
const url = new URL(`http://actor/request/${normalizedPath}`);
|
|
2649
2653
|
const proxyRequestHeaders = new Headers(mergedInit.headers);
|
|
2654
|
+
proxyRequestHeaders.delete(HEADER_ORIGINAL_REQUEST_URL);
|
|
2655
|
+
if (originalUrl) {
|
|
2656
|
+
proxyRequestHeaders.set(HEADER_ORIGINAL_REQUEST_URL, originalUrl);
|
|
2657
|
+
}
|
|
2650
2658
|
if (params) {
|
|
2651
2659
|
proxyRequestHeaders.set(HEADER_CONN_PARAMS, JSON.stringify(params));
|
|
2652
2660
|
}
|
|
@@ -2776,7 +2784,9 @@ var ActorHandleRaw = class {
|
|
|
2776
2784
|
async #sendQueueMessage(name, body, options) {
|
|
2777
2785
|
return await this.#queueSendMutex.run(async () => {
|
|
2778
2786
|
const maxAttempts = this.#getDynamicQueryMaxAttempts();
|
|
2779
|
-
let useQueryTarget = isDynamicActorQuery(
|
|
2787
|
+
let useQueryTarget = isDynamicActorQuery(
|
|
2788
|
+
this.#actorResolutionState
|
|
2789
|
+
);
|
|
2780
2790
|
for (let attempt = 0; attempt < maxAttempts; attempt++) {
|
|
2781
2791
|
let actorId;
|
|
2782
2792
|
try {
|
|
@@ -3125,9 +3135,10 @@ var ActorHandleRaw = class {
|
|
|
3125
3135
|
return this.#fetchWithResolvedActor(input, init);
|
|
3126
3136
|
}
|
|
3127
3137
|
async #fetchWithResolvedActor(input, init) {
|
|
3128
|
-
const maxAttempts = this.#getDynamicQueryMaxAttempts();
|
|
3129
|
-
let useQueryTarget = isDynamicActorQuery(this.#actorResolutionState);
|
|
3130
3138
|
const { skipReadyWait, ...requestInit } = init ?? {};
|
|
3139
|
+
const hasBody = requestInit.body !== void 0 ? requestInit.body !== null : isRequestLike(input) && input.body !== null;
|
|
3140
|
+
const maxAttempts = hasBody ? 1 : this.#getDynamicQueryMaxAttempts();
|
|
3141
|
+
let useQueryTarget = isDynamicActorQuery(this.#actorResolutionState);
|
|
3131
3142
|
const gatewayOptions = resolveActorGatewayOptions(
|
|
3132
3143
|
this.#gatewayOptions,
|
|
3133
3144
|
{
|
|
@@ -4913,23 +4924,19 @@ async function sendHttpRequestToGateway(runConfig, gatewayUrl, actorRequest, opt
|
|
|
4913
4924
|
if (actorRequest.bodyUsed) {
|
|
4914
4925
|
throw new Error("Request body has already been consumed");
|
|
4915
4926
|
}
|
|
4916
|
-
|
|
4917
|
-
|
|
4918
|
-
bodyToSend = reqBody;
|
|
4927
|
+
if (actorRequest.body) {
|
|
4928
|
+
bodyToSend = actorRequest.body;
|
|
4919
4929
|
guardHeaders.delete("transfer-encoding");
|
|
4920
4930
|
guardHeaders.delete("content-length");
|
|
4921
4931
|
}
|
|
4922
4932
|
}
|
|
4923
|
-
|
|
4933
|
+
return fetch(gatewayUrl, {
|
|
4924
4934
|
method: actorRequest.method,
|
|
4925
4935
|
headers: guardHeaders,
|
|
4926
4936
|
body: bodyToSend,
|
|
4927
|
-
signal: actorRequest.signal
|
|
4937
|
+
signal: actorRequest.signal,
|
|
4938
|
+
...bodyToSend ? { duplex: "half" } : {}
|
|
4928
4939
|
});
|
|
4929
|
-
return mutableResponse(await fetch(guardRequest));
|
|
4930
|
-
}
|
|
4931
|
-
function mutableResponse(fetchRes) {
|
|
4932
|
-
return new Response(fetchRes.body, fetchRes);
|
|
4933
4940
|
}
|
|
4934
4941
|
function buildGuardHeaders(runConfig, actorRequest, options) {
|
|
4935
4942
|
const headers = new Headers();
|
|
@@ -5899,6 +5906,7 @@ function apiActorToOutput(actor) {
|
|
|
5899
5906
|
|
|
5900
5907
|
export {
|
|
5901
5908
|
HEADER_CONN_PARAMS,
|
|
5909
|
+
HEADER_ORIGINAL_REQUEST_URL,
|
|
5902
5910
|
ALLOWED_PUBLIC_HEADERS,
|
|
5903
5911
|
ActorClientError,
|
|
5904
5912
|
ManagerError,
|
|
@@ -5915,4 +5923,4 @@ export {
|
|
|
5915
5923
|
updateRunnerConfig,
|
|
5916
5924
|
RemoteEngineControlClient
|
|
5917
5925
|
};
|
|
5918
|
-
//# sourceMappingURL=chunk-
|
|
5926
|
+
//# sourceMappingURL=chunk-RZPPOGEQ.js.map
|