rivetkit 2.3.11-rc.8 → 2.3.11

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 (153) hide show
  1. package/dist/browser/client.d.ts +96 -14
  2. package/dist/browser/client.js +12 -2
  3. package/dist/browser/client.js.map +1 -1
  4. package/dist/browser/inspector/client.d.ts +139 -139
  5. package/dist/browser/inspector/client.js +12 -2
  6. package/dist/browser/inspector/client.js.map +1 -1
  7. package/dist/tsup/agent-os/index.cjs +146 -76
  8. package/dist/tsup/agent-os/index.cjs.map +1 -1
  9. package/dist/tsup/agent-os/index.d.cts +83 -9
  10. package/dist/tsup/agent-os/index.d.ts +83 -9
  11. package/dist/tsup/agent-os/index.js +146 -76
  12. package/dist/tsup/agent-os/index.js.map +1 -1
  13. package/dist/tsup/{chunk-JBQ63WSM.js → chunk-3ZR542SK.js} +4 -4
  14. package/dist/tsup/chunk-3ZR542SK.js.map +1 -0
  15. package/dist/tsup/{chunk-HNHLBM3Y.cjs → chunk-4KGXFC6M.cjs} +42 -5
  16. package/dist/tsup/chunk-4KGXFC6M.cjs.map +1 -0
  17. package/dist/tsup/chunk-5UYWLCRO.js +14 -0
  18. package/dist/tsup/chunk-5UYWLCRO.js.map +1 -0
  19. package/dist/tsup/{chunk-QWLJCP3X.js → chunk-6W5VGLFT.js} +42 -5
  20. package/dist/tsup/chunk-6W5VGLFT.js.map +1 -0
  21. package/dist/tsup/chunk-6WYATRS4.js +243 -0
  22. package/dist/tsup/chunk-6WYATRS4.js.map +1 -0
  23. package/dist/tsup/chunk-B3W74FBB.cjs +14 -0
  24. package/dist/tsup/chunk-B3W74FBB.cjs.map +1 -0
  25. package/dist/tsup/{chunk-V6ANE6JM.js → chunk-FWROC5LA.js} +2 -2
  26. package/dist/tsup/{chunk-ZVM35ICH.cjs → chunk-GLIPKKEC.cjs} +7 -7
  27. package/dist/tsup/{chunk-ZVM35ICH.cjs.map → chunk-GLIPKKEC.cjs.map} +1 -1
  28. package/dist/tsup/{chunk-CCUO5OKD.cjs → chunk-GN2EUMEW.cjs} +3 -3
  29. package/dist/tsup/{chunk-CCUO5OKD.cjs.map → chunk-GN2EUMEW.cjs.map} +1 -1
  30. package/dist/tsup/{chunk-2ROUKH7W.cjs → chunk-GU7ML3KE.cjs} +13 -3
  31. package/dist/tsup/chunk-GU7ML3KE.cjs.map +1 -0
  32. package/dist/tsup/{chunk-WRRB24UY.js → chunk-JQ2AZ5FN.js} +3 -3
  33. package/dist/tsup/{chunk-7AFZMFPQ.js → chunk-JTHHCZCZ.js} +10 -1
  34. package/dist/tsup/chunk-JTHHCZCZ.js.map +1 -0
  35. package/dist/tsup/{chunk-UEULFXUI.cjs → chunk-KVFIONKQ.cjs} +11 -2
  36. package/dist/tsup/chunk-KVFIONKQ.cjs.map +1 -0
  37. package/dist/tsup/chunk-LWQFXGKS.cjs +243 -0
  38. package/dist/tsup/chunk-LWQFXGKS.cjs.map +1 -0
  39. package/dist/tsup/{chunk-KVD6ZWNM.js → chunk-MO2SSUOR.js} +8 -7
  40. package/dist/tsup/chunk-MO2SSUOR.js.map +1 -0
  41. package/dist/tsup/{chunk-AGNBLCNJ.js → chunk-OUENKQHB.js} +13 -3
  42. package/dist/tsup/chunk-OUENKQHB.js.map +1 -0
  43. package/dist/tsup/{chunk-E6WB2BLO.cjs → chunk-PUZY2XCD.cjs} +10 -9
  44. package/dist/tsup/chunk-PUZY2XCD.cjs.map +1 -0
  45. package/dist/tsup/{chunk-4EDGOGCB.js → chunk-QFJ24MBU.js} +27 -2
  46. package/dist/tsup/{chunk-4EDGOGCB.js.map → chunk-QFJ24MBU.js.map} +1 -1
  47. package/dist/tsup/{chunk-A55CGZIV.cjs → chunk-RXXDNJXB.cjs} +140 -140
  48. package/dist/tsup/{chunk-A55CGZIV.cjs.map → chunk-RXXDNJXB.cjs.map} +1 -1
  49. package/dist/tsup/{chunk-N6MBTYGX.cjs → chunk-VBJQIBXI.cjs} +30 -5
  50. package/dist/tsup/chunk-VBJQIBXI.cjs.map +1 -0
  51. package/dist/tsup/client/mod.cjs +6 -6
  52. package/dist/tsup/client/mod.d.cts +4 -3
  53. package/dist/tsup/client/mod.d.ts +4 -3
  54. package/dist/tsup/client/mod.js +5 -5
  55. package/dist/tsup/common/log.cjs +2 -2
  56. package/dist/tsup/common/log.js +1 -1
  57. package/dist/tsup/common/websocket.cjs +3 -3
  58. package/dist/tsup/common/websocket.js +2 -2
  59. package/dist/tsup/{config-CZcjyT5B.d.ts → config-C4OSv0QP.d.ts} +92 -7
  60. package/dist/tsup/{config-rGWrumlO.d.cts → config-DTGoWdkG.d.cts} +92 -7
  61. package/dist/tsup/{config-BxOimoGX.d.cts → config-ey2I2zz5.d.cts} +46 -6
  62. package/dist/tsup/{config-BxOimoGX.d.ts → config-ey2I2zz5.d.ts} +46 -6
  63. package/dist/tsup/{context-B8W8E8nW.d.cts → context-C6cvDNyk.d.cts} +2 -2
  64. package/dist/tsup/{context-_UrDZhEh.d.ts → context-CMygeBxS.d.ts} +2 -2
  65. package/dist/tsup/db/drizzle.cjs +18 -10
  66. package/dist/tsup/db/drizzle.cjs.map +1 -1
  67. package/dist/tsup/db/drizzle.d.cts +5 -6
  68. package/dist/tsup/db/drizzle.d.ts +5 -6
  69. package/dist/tsup/db/drizzle.js +13 -5
  70. package/dist/tsup/db/drizzle.js.map +1 -1
  71. package/dist/tsup/db/mod.cjs +5 -175
  72. package/dist/tsup/db/mod.cjs.map +1 -1
  73. package/dist/tsup/db/mod.d.cts +11 -4
  74. package/dist/tsup/db/mod.d.ts +11 -4
  75. package/dist/tsup/db/mod.js +4 -174
  76. package/dist/tsup/db/mod.js.map +1 -1
  77. package/dist/tsup/dynamic/mod.cjs +2 -2
  78. package/dist/tsup/dynamic/mod.d.cts +3 -2
  79. package/dist/tsup/dynamic/mod.d.ts +3 -2
  80. package/dist/tsup/dynamic/mod.js +1 -1
  81. package/dist/tsup/inspector/mod.cjs +5 -4
  82. package/dist/tsup/inspector/mod.cjs.map +1 -1
  83. package/dist/tsup/inspector/mod.d.cts +12 -146
  84. package/dist/tsup/inspector/mod.d.ts +12 -146
  85. package/dist/tsup/inspector/mod.js +4 -3
  86. package/dist/tsup/inspector/mod.js.map +1 -1
  87. package/dist/tsup/inspector/workflow.cjs +21 -0
  88. package/dist/tsup/inspector/workflow.cjs.map +1 -0
  89. package/dist/tsup/inspector/workflow.d.cts +144 -0
  90. package/dist/tsup/inspector/workflow.d.ts +144 -0
  91. package/dist/tsup/inspector/workflow.js +21 -0
  92. package/dist/tsup/inspector/workflow.js.map +1 -0
  93. package/dist/tsup/inspector-tab/mod.cjs +2 -2
  94. package/dist/tsup/inspector-tab/mod.d.cts +4 -3
  95. package/dist/tsup/inspector-tab/mod.d.ts +4 -3
  96. package/dist/tsup/inspector-tab/mod.js +1 -1
  97. package/dist/tsup/mod.cjs +837 -243
  98. package/dist/tsup/mod.cjs.map +1 -1
  99. package/dist/tsup/mod.d.cts +6 -5
  100. package/dist/tsup/mod.d.ts +6 -5
  101. package/dist/tsup/mod.js +766 -172
  102. package/dist/tsup/mod.js.map +1 -1
  103. package/dist/tsup/test/mod.cjs +7 -7
  104. package/dist/tsup/test/mod.d.cts +3 -2
  105. package/dist/tsup/test/mod.d.ts +3 -2
  106. package/dist/tsup/test/mod.js +5 -5
  107. package/dist/tsup/unstable/migrations.d.cts +1 -1
  108. package/dist/tsup/unstable/migrations.d.ts +1 -1
  109. package/dist/tsup/utils.cjs +2 -2
  110. package/dist/tsup/utils.js +1 -1
  111. package/dist/tsup/workflow/mod.cjs +89 -95
  112. package/dist/tsup/workflow/mod.cjs.map +1 -1
  113. package/dist/tsup/workflow/mod.d.cts +5 -4
  114. package/dist/tsup/workflow/mod.d.ts +5 -4
  115. package/dist/tsup/workflow/mod.js +86 -92
  116. package/dist/tsup/workflow/mod.js.map +1 -1
  117. package/package.json +19 -9
  118. package/src/actor/config.test.ts +65 -1
  119. package/src/actor/config.ts +169 -5
  120. package/src/actor/mod.ts +10 -1
  121. package/src/client/actor-common.ts +5 -14
  122. package/src/common/database/config.ts +50 -3
  123. package/src/common/database/mod.test.ts +142 -4
  124. package/src/common/database/mod.ts +210 -98
  125. package/src/common/database/native-database.ts +42 -3
  126. package/src/common/database/shared.ts +9 -0
  127. package/src/db/drizzle.test.ts +8 -1
  128. package/src/db/drizzle.ts +15 -4
  129. package/src/db/mod.ts +3 -0
  130. package/src/inspector/workflow.ts +61 -0
  131. package/src/registry/napi-runtime.ts +69 -1
  132. package/src/registry/native.ts +505 -155
  133. package/src/registry/run-handler-coordinator.test.ts +252 -0
  134. package/src/registry/run-handler-coordinator.ts +219 -0
  135. package/src/registry/runtime.ts +34 -1
  136. package/src/registry/wasm-runtime.ts +122 -17
  137. package/src/registry/write-through-proxy.ts +101 -0
  138. package/src/utils/node.ts +44 -28
  139. package/src/workflow/driver.ts +56 -58
  140. package/src/workflow/inspector.ts +10 -15
  141. package/src/workflow/mod.ts +48 -70
  142. package/dist/tsup/chunk-2ROUKH7W.cjs.map +0 -1
  143. package/dist/tsup/chunk-7AFZMFPQ.js.map +0 -1
  144. package/dist/tsup/chunk-AGNBLCNJ.js.map +0 -1
  145. package/dist/tsup/chunk-E6WB2BLO.cjs.map +0 -1
  146. package/dist/tsup/chunk-HNHLBM3Y.cjs.map +0 -1
  147. package/dist/tsup/chunk-JBQ63WSM.js.map +0 -1
  148. package/dist/tsup/chunk-KVD6ZWNM.js.map +0 -1
  149. package/dist/tsup/chunk-N6MBTYGX.cjs.map +0 -1
  150. package/dist/tsup/chunk-QWLJCP3X.js.map +0 -1
  151. package/dist/tsup/chunk-UEULFXUI.cjs.map +0 -1
  152. /package/dist/tsup/{chunk-V6ANE6JM.js.map → chunk-FWROC5LA.js.map} +0 -0
  153. /package/dist/tsup/{chunk-WRRB24UY.js.map → chunk-JQ2AZ5FN.js.map} +0 -0
@@ -1,6 +1,9 @@
1
1
  // src/agent-os/actor/index.ts
2
2
  import { AgentOs, createInMemoryFileSystem } from "@rivet-dev/agent-os-core";
3
3
 
4
+ // src/actor/config.ts
5
+ import { z } from "zod/v4";
6
+
4
7
  // src/actor/actions.ts
5
8
  function flattenActionHandlers(actions) {
6
9
  const flattened = /* @__PURE__ */ Object.create(null);
@@ -84,7 +87,6 @@ function formatActionPath(path) {
84
87
  }
85
88
 
86
89
  // src/actor/config.ts
87
- import { z } from "zod/v4";
88
90
  var DEFAULT_SLEEP_GRACE_PERIOD = 15e3;
89
91
  var zFunction = () => z.custom((val) => typeof val === "function");
90
92
  var zActionTree = z.custom((value) => {
@@ -105,6 +107,7 @@ var zActionTree = z.custom((value) => {
105
107
  });
106
108
  var WorkflowInspectorConfigSchema = z.object({
107
109
  getHistory: zFunction(),
110
+ getState: zFunction().optional(),
108
111
  onHistoryUpdated: zFunction().optional(),
109
112
  replayFromStep: zFunction().optional()
110
113
  });
@@ -417,7 +420,7 @@ function isRivetErrorCode(error, group, code) {
417
420
  // package.json
418
421
  var package_default = {
419
422
  name: "rivetkit",
420
- version: "2.3.11-rc.8",
423
+ version: "2.3.11",
421
424
  description: "Lightweight libraries for building stateful actors on edge platforms",
422
425
  license: "Apache-2.0",
423
426
  keywords: [
@@ -553,6 +556,16 @@ var package_default = {
553
556
  default: "./dist/tsup/inspector/mod.cjs"
554
557
  }
555
558
  },
559
+ "./experimental/inspector/workflow": {
560
+ import: {
561
+ types: "./dist/tsup/inspector/workflow.d.ts",
562
+ default: "./dist/tsup/inspector/workflow.js"
563
+ },
564
+ require: {
565
+ types: "./dist/tsup/inspector/workflow.d.cts",
566
+ default: "./dist/tsup/inspector/workflow.cjs"
567
+ }
568
+ },
556
569
  "./inspector-tab": {
557
570
  import: {
558
571
  types: "./dist/tsup/inspector-tab/mod.d.ts",
@@ -598,7 +611,7 @@ var package_default = {
598
611
  "./dist/tsup/chunk-*.cjs"
599
612
  ],
600
613
  scripts: {
601
- build: "tsup src/mod.ts src/client/mod.ts src/common/log.ts src/common/websocket.ts src/actor/errors.ts src/utils.ts src/workflow/mod.ts src/test/mod.ts src/inspector/mod.ts src/inspector-tab/mod.ts src/db/mod.ts src/db/drizzle.ts src/dynamic/mod.ts src/unstable/migrations.ts && tsup src/agent-os/index.ts --no-clean --out-dir dist/tsup/agent-os",
614
+ build: "tsup src/mod.ts src/client/mod.ts src/common/log.ts src/common/websocket.ts src/actor/errors.ts src/utils.ts src/workflow/mod.ts src/test/mod.ts src/inspector/mod.ts src/inspector/workflow.ts src/inspector-tab/mod.ts src/db/mod.ts src/db/drizzle.ts src/dynamic/mod.ts src/unstable/migrations.ts && tsup src/agent-os/index.ts --no-clean --out-dir dist/tsup/agent-os && node scripts/check-built-commonjs.mjs",
602
615
  "build:browser": "tsup --config tsup.browser.config.ts",
603
616
  "check-types": "tsc --noEmit",
604
617
  lint: "biome check . && pnpm run check:test-skips && pnpm run check:wait-for-comments",
@@ -899,6 +912,14 @@ function validateTransactionTimeout(timeout) {
899
912
  );
900
913
  }
901
914
  }
915
+ function validateTransactionName(name) {
916
+ if (name === void 0) {
917
+ return;
918
+ }
919
+ if (name.length === 0) {
920
+ throw new Error("db.transaction() name must not be empty");
921
+ }
922
+ }
902
923
  function isSqliteBindingValue(value) {
903
924
  if (value === null || typeof value === "number" || typeof value === "string" || typeof value === "bigint" || value instanceof Uint8Array) {
904
925
  return true;
@@ -938,15 +959,19 @@ function toSqliteBindings(input) {
938
959
  }
939
960
 
940
961
  // src/common/database/mod.ts
962
+ var nativeStateTransactionOpeners = /* @__PURE__ */ new WeakMap();
963
+ var nativeStateTransactionClientBinders = /* @__PURE__ */ new WeakMap();
941
964
  function hasMultipleStatements(query) {
942
965
  const trimmed = query.trim().replace(/;+$/, "").trimEnd();
943
966
  return trimmed.includes(";");
944
967
  }
945
968
  function db({
946
969
  onMigrate,
947
- warnOnManualTransactions = true
970
+ warnOnManualTransactions = true,
971
+ profiling
948
972
  } = {}) {
949
- return {
973
+ const provider = {
974
+ sqliteProfiling: profiling,
950
975
  createClient: async (ctx) => {
951
976
  const nativeDatabaseProvider = ctx.nativeDatabaseProvider;
952
977
  if (!nativeDatabaseProvider) {
@@ -964,86 +989,127 @@ function db({
964
989
  );
965
990
  }
966
991
  };
967
- const createClient = (target, transactionScoped = false) => ({
968
- execute: async (query, ...args) => {
969
- var _a, _b, _c, _d;
970
- ensureOpen();
971
- if (!transactionScoped && warnOnManualTransactions && !manualTransactionWarned && !hasMultipleStatements(query) && isManualTransactionControl(query)) {
972
- manualTransactionWarned = true;
973
- getLogger("database").warn(
974
- { actorId: ctx.actorId },
975
- "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."
976
- );
977
- }
978
- const kvReadsBefore = ((_a = ctx.metrics) == null ? void 0 : _a.totalKvReads) ?? 0;
979
- const kvWritesBefore = ((_b = ctx.metrics) == null ? void 0 : _b.totalKvWrites) ?? 0;
980
- const start = performance.now();
981
- try {
982
- if (args.length > 0) {
983
- const bindings = args.length === 1 && isSqliteBindingObject(args[0]) ? toSqliteBindings(args[0]) : toSqliteBindings(args);
984
- const { rows, columns } = await target.execute(
985
- query,
986
- bindings
992
+ const createClient = (target, transactionScoped = false, stateTransactionContext) => {
993
+ const client2 = {
994
+ execute: async (query, ...args) => {
995
+ var _a, _b, _c, _d;
996
+ ensureOpen();
997
+ if (!transactionScoped && warnOnManualTransactions && !manualTransactionWarned && !hasMultipleStatements(query) && isManualTransactionControl(query)) {
998
+ manualTransactionWarned = true;
999
+ getLogger("database").warn(
1000
+ { actorId: ctx.actorId },
1001
+ "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."
987
1002
  );
988
- return rows.map(
989
- (row) => rowToObject(row, columns)
1003
+ }
1004
+ const kvReadsBefore = ((_a = ctx.metrics) == null ? void 0 : _a.totalKvReads) ?? 0;
1005
+ const kvWritesBefore = ((_b = ctx.metrics) == null ? void 0 : _b.totalKvWrites) ?? 0;
1006
+ const start = performance.now();
1007
+ try {
1008
+ if (args.length > 0) {
1009
+ const bindings = args.length === 1 && isSqliteBindingObject(args[0]) ? toSqliteBindings(args[0]) : toSqliteBindings(args);
1010
+ const { rows, columns } = await target.execute(
1011
+ query,
1012
+ bindings
1013
+ );
1014
+ return rows.map(
1015
+ (row) => rowToObject(row, columns)
1016
+ );
1017
+ }
1018
+ if (!hasMultipleStatements(query)) {
1019
+ const { rows, columns } = await target.execute(
1020
+ query,
1021
+ void 0
1022
+ );
1023
+ return rows.map(
1024
+ (row) => rowToObject(row, columns)
1025
+ );
1026
+ }
1027
+ return await execMultiStatement(
1028
+ target,
1029
+ query
990
1030
  );
1031
+ } finally {
1032
+ const durationMs = performance.now() - start;
1033
+ (_c = ctx.metrics) == null ? void 0 : _c.trackSql(query, durationMs);
1034
+ if (ctx.metrics) {
1035
+ const kvReads = ctx.metrics.totalKvReads - kvReadsBefore;
1036
+ const kvWrites = ctx.metrics.totalKvWrites - kvWritesBefore;
1037
+ (_d = ctx.log) == null ? void 0 : _d.debug({
1038
+ msg: "sql query",
1039
+ query: query.slice(0, 120),
1040
+ durationMs,
1041
+ kvReads,
1042
+ kvWrites
1043
+ });
1044
+ }
991
1045
  }
992
- if (!hasMultipleStatements(query)) {
993
- const { rows, columns } = await target.execute(
994
- query,
995
- void 0
1046
+ },
1047
+ transaction: async (callback, options) => {
1048
+ var _a, _b;
1049
+ validateTransactionTimeout(options == null ? void 0 : options.timeout);
1050
+ validateTransactionName(options == null ? void 0 : options.name);
1051
+ if (transactionScoped && ((_a = options == null ? void 0 : options.experimental) == null ? void 0 : _a.includeState)) {
1052
+ throw new Error(
1053
+ "experimental.includeState is not supported for nested transactions"
996
1054
  );
997
- return rows.map(
998
- (row) => rowToObject(row, columns)
1055
+ }
1056
+ const includeState = ((_b = options == null ? void 0 : options.experimental) == null ? void 0 : _b.includeState) === true;
1057
+ const stateScope = includeState && stateTransactionContext ? await stateTransactionContext.enter() : void 0;
1058
+ try {
1059
+ const transaction = includeState ? await (() => {
1060
+ const beginStateTransaction = ctx.nativeDatabaseProvider && nativeStateTransactionOpeners.get(
1061
+ ctx.nativeDatabaseProvider
1062
+ );
1063
+ if (!beginStateTransaction) {
1064
+ throw new Error(
1065
+ "experimental.includeState is only supported by RivetKit's embedded database provider"
1066
+ );
1067
+ }
1068
+ return beginStateTransaction(
1069
+ options == null ? void 0 : options.timeout,
1070
+ stateScope
1071
+ );
1072
+ })() : await db2.beginTransaction(
1073
+ options == null ? void 0 : options.timeout,
1074
+ options == null ? void 0 : options.name
999
1075
  );
1076
+ const tx = createClient(transaction, true);
1077
+ try {
1078
+ const result = await callback(tx);
1079
+ await transaction.commit();
1080
+ return result;
1081
+ } catch (error) {
1082
+ try {
1083
+ await transaction.rollback();
1084
+ } catch {
1085
+ }
1086
+ throw error;
1087
+ }
1088
+ } finally {
1089
+ if (stateScope !== void 0) {
1090
+ stateTransactionContext == null ? void 0 : stateTransactionContext.exit(stateScope);
1091
+ }
1000
1092
  }
1001
- return await execMultiStatement(target, query);
1002
- } finally {
1003
- const durationMs = performance.now() - start;
1004
- (_c = ctx.metrics) == null ? void 0 : _c.trackSql(query, durationMs);
1005
- if (ctx.metrics) {
1006
- const kvReads = ctx.metrics.totalKvReads - kvReadsBefore;
1007
- const kvWrites = ctx.metrics.totalKvWrites - kvWritesBefore;
1008
- (_d = ctx.log) == null ? void 0 : _d.debug({
1009
- msg: "sql query",
1010
- query: query.slice(0, 120),
1011
- durationMs,
1012
- kvReads,
1013
- kvWrites
1014
- });
1093
+ },
1094
+ close: async () => {
1095
+ if (!closed) {
1096
+ closed = true;
1097
+ await db2.close();
1015
1098
  }
1099
+ },
1100
+ nativeMetrics: () => {
1101
+ var _a;
1102
+ return ((_a = db2.nativeMetrics) == null ? void 0 : _a.call(db2)) ?? null;
1016
1103
  }
1017
- },
1018
- transaction: async (callback, options) => {
1019
- validateTransactionTimeout(options == null ? void 0 : options.timeout);
1020
- const transaction = await db2.beginTransaction(
1021
- options == null ? void 0 : options.timeout
1104
+ };
1105
+ if (!transactionScoped) {
1106
+ nativeStateTransactionClientBinders.set(
1107
+ client2,
1108
+ (context) => createClient(target, false, context)
1022
1109
  );
1023
- const tx = createClient(transaction, true);
1024
- try {
1025
- const result = await callback(tx);
1026
- await transaction.commit();
1027
- return result;
1028
- } catch (error) {
1029
- try {
1030
- await transaction.rollback();
1031
- } catch {
1032
- }
1033
- throw error;
1034
- }
1035
- },
1036
- close: async () => {
1037
- if (!closed) {
1038
- closed = true;
1039
- await db2.close();
1040
- }
1041
- },
1042
- nativeMetrics: () => {
1043
- var _a;
1044
- return ((_a = db2.nativeMetrics) == null ? void 0 : _a.call(db2)) ?? null;
1045
1110
  }
1046
- });
1111
+ return client2;
1112
+ };
1047
1113
  const client = createClient(db2);
1048
1114
  return client;
1049
1115
  },
@@ -1056,6 +1122,7 @@ function db({
1056
1122
  }
1057
1123
  }
1058
1124
  };
1125
+ return provider;
1059
1126
  }
1060
1127
  function rowToObject(row, columns) {
1061
1128
  const rowObj = {};
@@ -1098,7 +1165,10 @@ async function withMigrationSavepoint(client, callback) {
1098
1165
  throw error;
1099
1166
  }
1100
1167
  },
1101
- { timeout: MIGRATION_TRANSACTION_TIMEOUT_MS }
1168
+ {
1169
+ name: "rivetkit-migration",
1170
+ timeout: MIGRATION_TRANSACTION_TIMEOUT_MS
1171
+ }
1102
1172
  );
1103
1173
  }
1104
1174