rivetkit 0.0.0-stack-chore-sync-engine-changes-from-enterprise-mszropyy.677d526 → 0.0.0-sync-sqlite.527e186
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 +25 -0
- package/dist/browser/client.js +17 -5
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/inspector/client.js +1 -1
- package/dist/browser/inspector/client.js.map +1 -1
- package/dist/tsup/agent-os/index.cjs +145 -3
- package/dist/tsup/agent-os/index.cjs.map +1 -1
- package/dist/tsup/agent-os/index.d.cts +40 -2
- package/dist/tsup/agent-os/index.d.ts +40 -2
- package/dist/tsup/agent-os/index.js +144 -2
- package/dist/tsup/agent-os/index.js.map +1 -1
- package/dist/tsup/{chunk-GPD77M3M.js → chunk-2UJVBM5X.js} +2 -2
- package/dist/tsup/chunk-2UJVBM5X.js.map +1 -0
- package/dist/tsup/{chunk-OWSXJF7Z.js → chunk-6DC5T27N.js} +20 -8
- package/dist/tsup/chunk-6DC5T27N.js.map +1 -0
- package/dist/tsup/{chunk-XPT7SGBW.js → chunk-6QHFQDW4.js} +4 -4
- package/dist/tsup/{chunk-ZXV3CG4Y.cjs → chunk-7KYMUJOU.cjs} +7 -7
- package/dist/tsup/{chunk-ZXV3CG4Y.cjs.map → chunk-7KYMUJOU.cjs.map} +1 -1
- package/dist/tsup/{chunk-M4RSGECU.js → chunk-7XKSZBR7.js} +2 -2
- package/dist/tsup/{chunk-VXJ26VPL.cjs → chunk-BPBPNCCY.cjs} +10 -10
- package/dist/tsup/{chunk-VXJ26VPL.cjs.map → chunk-BPBPNCCY.cjs.map} +1 -1
- package/dist/tsup/{chunk-YHYNYVNZ.js → chunk-CV5KMH2U.js} +3 -3
- package/dist/tsup/{chunk-FSD52J3H.cjs → chunk-D72VXRS4.cjs} +3 -3
- package/dist/tsup/{chunk-FSD52J3H.cjs.map → chunk-D72VXRS4.cjs.map} +1 -1
- package/dist/tsup/{chunk-L6DNN72S.js → chunk-GE2H2DHD.js} +2 -2
- package/dist/tsup/{chunk-UBGN2UE2.cjs → chunk-GNKZNRNM.cjs} +3 -3
- package/dist/tsup/{chunk-UBGN2UE2.cjs.map → chunk-GNKZNRNM.cjs.map} +1 -1
- package/dist/tsup/{chunk-TFACXNOP.cjs → chunk-W5MTJGSD.cjs} +121 -10
- package/dist/tsup/chunk-W5MTJGSD.cjs.map +1 -0
- package/dist/tsup/{chunk-JTHHCZCZ.js → chunk-WCEJTJHO.js} +34 -1
- package/dist/tsup/chunk-WCEJTJHO.js.map +1 -0
- package/dist/tsup/{chunk-7ZPRFCTV.cjs → chunk-X5N4RMK4.cjs} +156 -144
- package/dist/tsup/chunk-X5N4RMK4.cjs.map +1 -0
- package/dist/tsup/{chunk-LHT3TRDM.js → chunk-XGCQ4JOX.js} +115 -4
- package/dist/tsup/chunk-XGCQ4JOX.js.map +1 -0
- package/dist/tsup/{chunk-KVFIONKQ.cjs → chunk-XMNL3AE2.cjs} +35 -2
- package/dist/tsup/chunk-XMNL3AE2.cjs.map +1 -0
- package/dist/tsup/{chunk-ZYHZOZUQ.js → chunk-XW3HQQDX.js} +2 -2
- package/dist/tsup/{chunk-XNLSA7TO.cjs → chunk-Y4YVQXM7.cjs} +4 -4
- package/dist/tsup/{chunk-XNLSA7TO.cjs.map → chunk-Y4YVQXM7.cjs.map} +1 -1
- package/dist/tsup/{chunk-2TAUHMAC.cjs → chunk-YHTH6K2K.cjs} +2 -2
- package/dist/tsup/chunk-YHTH6K2K.cjs.map +1 -0
- package/dist/tsup/client/mod.cjs +6 -6
- package/dist/tsup/client/mod.d.cts +3 -3
- package/dist/tsup/client/mod.d.ts +3 -3
- package/dist/tsup/client/mod.js +5 -5
- package/dist/tsup/common/log.cjs +2 -2
- package/dist/tsup/common/log.js +1 -1
- package/dist/tsup/common/websocket.cjs +3 -3
- package/dist/tsup/common/websocket.js +2 -2
- package/dist/tsup/{config-ey2I2zz5.d.cts → config-B0q37XhG.d.cts} +31 -1
- package/dist/tsup/{config-ey2I2zz5.d.ts → config-B0q37XhG.d.ts} +31 -1
- package/dist/tsup/{config-BGTanB_3.d.ts → config-BPJQ0mDo.d.ts} +9 -1
- package/dist/tsup/{config-NHz6oMb9.d.cts → config-CGUJyT5L.d.cts} +9 -1
- package/dist/tsup/{context-SHomdVV8.d.ts → context-DZ_lu12i.d.ts} +2 -2
- package/dist/tsup/{context-DB8zG_Ib.d.cts → context-WLBsDXrQ.d.cts} +2 -2
- package/dist/tsup/db/drizzle.cjs +113 -10
- package/dist/tsup/db/drizzle.cjs.map +1 -1
- package/dist/tsup/db/drizzle.d.cts +2 -2
- package/dist/tsup/db/drizzle.d.ts +2 -2
- package/dist/tsup/db/drizzle.js +106 -3
- package/dist/tsup/db/drizzle.js.map +1 -1
- package/dist/tsup/db/mod.cjs +4 -4
- package/dist/tsup/db/mod.d.cts +4 -4
- package/dist/tsup/db/mod.d.ts +4 -4
- package/dist/tsup/db/mod.js +3 -3
- package/dist/tsup/dynamic/mod.d.cts +2 -2
- package/dist/tsup/dynamic/mod.d.ts +2 -2
- package/dist/tsup/inspector/mod.cjs +5 -5
- package/dist/tsup/inspector/mod.js +4 -4
- package/dist/tsup/inspector/workflow.cjs +4 -4
- package/dist/tsup/inspector/workflow.js +3 -3
- package/dist/tsup/inspector-tab/mod.d.cts +3 -3
- package/dist/tsup/inspector-tab/mod.d.ts +3 -3
- package/dist/tsup/mod.cjs +296 -88
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +4 -4
- package/dist/tsup/mod.d.ts +4 -4
- package/dist/tsup/mod.js +225 -17
- package/dist/tsup/mod.js.map +1 -1
- package/dist/tsup/test/mod.cjs +7 -7
- package/dist/tsup/test/mod.d.cts +2 -2
- package/dist/tsup/test/mod.d.ts +2 -2
- package/dist/tsup/test/mod.js +5 -5
- package/dist/tsup/unstable/migrations.d.cts +1 -1
- package/dist/tsup/unstable/migrations.d.ts +1 -1
- package/dist/tsup/utils.cjs +2 -2
- package/dist/tsup/utils.js +1 -1
- package/dist/tsup/workflow/mod.cjs +7 -7
- package/dist/tsup/workflow/mod.d.cts +4 -4
- package/dist/tsup/workflow/mod.d.ts +4 -4
- package/dist/tsup/workflow/mod.js +4 -4
- package/package.json +8 -8
- package/src/agent-os/actor/index.ts +6 -3
- package/src/agent-os/actor/preview.ts +5 -2
- package/src/client/actor-handle.ts +15 -8
- package/src/client/raw-utils.ts +14 -0
- package/src/common/database/config.ts +54 -0
- package/src/common/database/mod.test.ts +162 -1
- package/src/common/database/mod.ts +154 -6
- package/src/common/database/native-database.test.ts +81 -2
- package/src/common/database/native-database.ts +172 -3
- package/src/common/database/shared.ts +49 -1
- package/src/db/drizzle.test.ts +82 -1
- package/src/db/drizzle.ts +136 -6
- package/src/db/mod.ts +2 -0
- package/src/registry/napi-runtime.ts +71 -0
- package/src/registry/native.ts +48 -14
- package/src/registry/runtime.ts +46 -0
- package/src/registry/wasm-runtime.ts +63 -0
- package/dist/tsup/chunk-2TAUHMAC.cjs.map +0 -1
- package/dist/tsup/chunk-7ZPRFCTV.cjs.map +0 -1
- package/dist/tsup/chunk-GPD77M3M.js.map +0 -1
- package/dist/tsup/chunk-JTHHCZCZ.js.map +0 -1
- package/dist/tsup/chunk-KVFIONKQ.cjs.map +0 -1
- package/dist/tsup/chunk-LHT3TRDM.js.map +0 -1
- package/dist/tsup/chunk-OWSXJF7Z.js.map +0 -1
- package/dist/tsup/chunk-TFACXNOP.cjs.map +0 -1
- /package/dist/tsup/{chunk-XPT7SGBW.js.map → chunk-6QHFQDW4.js.map} +0 -0
- /package/dist/tsup/{chunk-M4RSGECU.js.map → chunk-7XKSZBR7.js.map} +0 -0
- /package/dist/tsup/{chunk-YHYNYVNZ.js.map → chunk-CV5KMH2U.js.map} +0 -0
- /package/dist/tsup/{chunk-L6DNN72S.js.map → chunk-GE2H2DHD.js.map} +0 -0
- /package/dist/tsup/{chunk-ZYHZOZUQ.js.map → chunk-XW3HQQDX.js.map} +0 -0
package/dist/tsup/test/mod.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunk7KYMUJOUcjs = require('../chunk-7KYMUJOU.cjs');
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _chunkX5N4RMK4cjs = require('../chunk-X5N4RMK4.cjs');
|
|
7
7
|
require('../chunk-MYWZCDML.cjs');
|
|
8
|
-
require('../chunk-
|
|
9
|
-
require('../chunk-
|
|
10
|
-
require('../chunk-
|
|
8
|
+
require('../chunk-GNKZNRNM.cjs');
|
|
9
|
+
require('../chunk-XMNL3AE2.cjs');
|
|
10
|
+
require('../chunk-YHTH6K2K.cjs');
|
|
11
11
|
require('../chunk-2JSYYH6P.cjs');
|
|
12
12
|
|
|
13
13
|
// src/test/ready.ts
|
|
@@ -36,8 +36,8 @@ async function setupTest(c, registry) {
|
|
|
36
36
|
registry.config.noWelcome = true;
|
|
37
37
|
registry.start();
|
|
38
38
|
await waitForRegistryReady(registry);
|
|
39
|
-
const client =
|
|
40
|
-
...
|
|
39
|
+
const client = _chunk7KYMUJOUcjs.createClient.call(void 0, {
|
|
40
|
+
..._chunkX5N4RMK4cjs.convertRegistryConfigToClientConfig.call(void 0, registry.parseConfig()),
|
|
41
41
|
disableMetadataLookup: false
|
|
42
42
|
});
|
|
43
43
|
c.onTestFinished(async () => {
|
package/dist/tsup/test/mod.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TestContext } from 'vitest';
|
|
2
|
-
import { aF as Registry, a3 as Client } from '../config-
|
|
2
|
+
import { aF as Registry, a3 as Client } from '../config-CGUJyT5L.cjs';
|
|
3
3
|
import 'zod/v4';
|
|
4
|
-
import '../config-
|
|
4
|
+
import '../config-B0q37XhG.cjs';
|
|
5
5
|
import '@rivetkit/rivetkit-wasm';
|
|
6
6
|
import 'zod';
|
|
7
7
|
import 'pino';
|
package/dist/tsup/test/mod.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TestContext } from 'vitest';
|
|
2
|
-
import { aF as Registry, a3 as Client } from '../config-
|
|
2
|
+
import { aF as Registry, a3 as Client } from '../config-BPJQ0mDo.js';
|
|
3
3
|
import 'zod/v4';
|
|
4
|
-
import '../config-
|
|
4
|
+
import '../config-B0q37XhG.js';
|
|
5
5
|
import '@rivetkit/rivetkit-wasm';
|
|
6
6
|
import 'zod';
|
|
7
7
|
import 'pino';
|
package/dist/tsup/test/mod.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createClient
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-CV5KMH2U.js";
|
|
4
4
|
import {
|
|
5
5
|
convertRegistryConfigToClientConfig
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-6DC5T27N.js";
|
|
7
7
|
import "../chunk-JI6GZ2C2.js";
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
8
|
+
import "../chunk-GE2H2DHD.js";
|
|
9
|
+
import "../chunk-WCEJTJHO.js";
|
|
10
|
+
import "../chunk-2UJVBM5X.js";
|
|
11
11
|
import "../chunk-OUQUIBVW.js";
|
|
12
12
|
|
|
13
13
|
// src/test/ready.ts
|
package/dist/tsup/utils.cjs
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _chunkYHTH6K2Kcjs = require('./chunk-YHTH6K2K.cjs');
|
|
23
23
|
require('./chunk-2JSYYH6P.cjs');
|
|
24
24
|
|
|
25
25
|
|
|
@@ -42,5 +42,5 @@ require('./chunk-2JSYYH6P.cjs');
|
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
45
|
-
exports.EXTRA_ERROR_LOG =
|
|
45
|
+
exports.EXTRA_ERROR_LOG = _chunkYHTH6K2Kcjs.EXTRA_ERROR_LOG; exports.SinglePromiseQueue = _chunkYHTH6K2Kcjs.SinglePromiseQueue; exports.VERSION = _chunkYHTH6K2Kcjs.VERSION; exports.arrayBuffersEqual = _chunkYHTH6K2Kcjs.arrayBuffersEqual; exports.assertUnreachable = _chunkYHTH6K2Kcjs.assertUnreachable; exports.bufferToArrayBuffer = _chunkYHTH6K2Kcjs.bufferToArrayBuffer; exports.combineUrlPath = _chunkYHTH6K2Kcjs.combineUrlPath; exports.dbg = _chunkYHTH6K2Kcjs.dbg; exports.detectRuntime = _chunkYHTH6K2Kcjs.detectRuntime; exports.getEnvUniversal = _chunkYHTH6K2Kcjs.getEnvUniversal; exports.httpUserAgent = _chunkYHTH6K2Kcjs.httpUserAgent; exports.interval = _chunkYHTH6K2Kcjs.interval; exports.joinSignals = _chunkYHTH6K2Kcjs.joinSignals; exports.jsonParseCompat = _chunkYHTH6K2Kcjs.jsonParseCompat; exports.jsonStringifyCompat = _chunkYHTH6K2Kcjs.jsonStringifyCompat; exports.promiseWithResolvers = _chunkYHTH6K2Kcjs.promiseWithResolvers; exports.setLongTimeout = _chunkYHTH6K2Kcjs.setLongTimeout; exports.sleep = _chunkYHTH6K2Kcjs.sleep; exports.stringifyError = _chunkYHTH6K2Kcjs.stringifyError; exports.toUint8Array = _chunkYHTH6K2Kcjs.toUint8Array;
|
|
46
46
|
//# sourceMappingURL=utils.cjs.map
|
package/dist/tsup/utils.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } async function _asyncNullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return await rhsFn(); } } var _class; var _class2;
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../chunk-
|
|
5
|
-
require('../chunk-
|
|
3
|
+
var _chunkBPBPNCCYcjs = require('../chunk-BPBPNCCY.cjs');
|
|
4
|
+
require('../chunk-D72VXRS4.cjs');
|
|
5
|
+
require('../chunk-Y4YVQXM7.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -13,7 +13,7 @@ var _chunk4KGXFC6Mcjs = require('../chunk-4KGXFC6M.cjs');
|
|
|
13
13
|
var _chunkMYWZCDMLcjs = require('../chunk-MYWZCDML.cjs');
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _chunkYHTH6K2Kcjs = require('../chunk-YHTH6K2K.cjs');
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
|
|
@@ -727,7 +727,7 @@ function workflow(fn, options = {}) {
|
|
|
727
727
|
function getWorkflowInspector(actorId) {
|
|
728
728
|
let workflowInspector = workflowInspectors.get(actorId);
|
|
729
729
|
if (!workflowInspector) {
|
|
730
|
-
workflowInspector =
|
|
730
|
+
workflowInspector = _chunkBPBPNCCYcjs.createWorkflowInspectorAdapter.call(void 0, );
|
|
731
731
|
workflowInspectors.set(actorId, workflowInspector);
|
|
732
732
|
}
|
|
733
733
|
return workflowInspector;
|
|
@@ -800,13 +800,13 @@ function workflow(fn, options = {}) {
|
|
|
800
800
|
if (shouldRethrowWorkflowError(error)) {
|
|
801
801
|
runCtx.log.error({
|
|
802
802
|
msg: "workflow run failed",
|
|
803
|
-
error:
|
|
803
|
+
error: _chunkYHTH6K2Kcjs.stringifyError.call(void 0, error)
|
|
804
804
|
});
|
|
805
805
|
throw error;
|
|
806
806
|
}
|
|
807
807
|
runCtx.log.warn({
|
|
808
808
|
msg: "workflow failed and will sleep until woken",
|
|
809
|
-
error:
|
|
809
|
+
error: _chunkYHTH6K2Kcjs.stringifyError.call(void 0, error)
|
|
810
810
|
});
|
|
811
811
|
} finally {
|
|
812
812
|
runCtx.abortSignal.removeEventListener("abort", onAbort);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { WorkflowErrorEvent } from '@rivetkit/workflow-engine';
|
|
2
2
|
export { Loop, TryBlockCatchKind, TryBlockConfig, TryBlockFailure, TryBlockResult, TryStepCatchKind, TryStepConfig, TryStepFailure, TryStepResult, WorkflowError, WorkflowErrorEvent } from '@rivetkit/workflow-engine';
|
|
3
|
-
import { E as EventSchemaConfig, Q as QueueSchemaConfig, h as RunContext } from '../config-
|
|
4
|
-
import { A as AnyDatabaseProvider } from '../config-
|
|
5
|
-
import { d as WorkflowContext } from '../context-
|
|
6
|
-
export { e as WorkflowBranchConfig, W as WorkflowBranchContextOf, a as WorkflowContextOf, f as WorkflowLoopConfig, b as WorkflowLoopContextOf, g as WorkflowStepConfig, h as WorkflowStepContext, c as WorkflowStepContextOf, i as WorkflowTryConfig, j as WorkflowTryStepConfig } from '../context-
|
|
3
|
+
import { E as EventSchemaConfig, Q as QueueSchemaConfig, h as RunContext } from '../config-CGUJyT5L.cjs';
|
|
4
|
+
import { A as AnyDatabaseProvider } from '../config-B0q37XhG.cjs';
|
|
5
|
+
import { d as WorkflowContext } from '../context-WLBsDXrQ.cjs';
|
|
6
|
+
export { e as WorkflowBranchConfig, W as WorkflowBranchContextOf, a as WorkflowContextOf, f as WorkflowLoopConfig, b as WorkflowLoopContextOf, g as WorkflowStepConfig, h as WorkflowStepContext, c as WorkflowStepContextOf, i as WorkflowTryConfig, j as WorkflowTryStepConfig } from '../context-WLBsDXrQ.cjs';
|
|
7
7
|
import 'zod/v4';
|
|
8
8
|
import '@rivetkit/rivetkit-wasm';
|
|
9
9
|
import 'zod';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { WorkflowErrorEvent } from '@rivetkit/workflow-engine';
|
|
2
2
|
export { Loop, TryBlockCatchKind, TryBlockConfig, TryBlockFailure, TryBlockResult, TryStepCatchKind, TryStepConfig, TryStepFailure, TryStepResult, WorkflowError, WorkflowErrorEvent } from '@rivetkit/workflow-engine';
|
|
3
|
-
import { E as EventSchemaConfig, Q as QueueSchemaConfig, h as RunContext } from '../config-
|
|
4
|
-
import { A as AnyDatabaseProvider } from '../config-
|
|
5
|
-
import { d as WorkflowContext } from '../context-
|
|
6
|
-
export { e as WorkflowBranchConfig, W as WorkflowBranchContextOf, a as WorkflowContextOf, f as WorkflowLoopConfig, b as WorkflowLoopContextOf, g as WorkflowStepConfig, h as WorkflowStepContext, c as WorkflowStepContextOf, i as WorkflowTryConfig, j as WorkflowTryStepConfig } from '../context-
|
|
3
|
+
import { E as EventSchemaConfig, Q as QueueSchemaConfig, h as RunContext } from '../config-BPJQ0mDo.js';
|
|
4
|
+
import { A as AnyDatabaseProvider } from '../config-B0q37XhG.js';
|
|
5
|
+
import { d as WorkflowContext } from '../context-DZ_lu12i.js';
|
|
6
|
+
export { e as WorkflowBranchConfig, W as WorkflowBranchContextOf, a as WorkflowContextOf, f as WorkflowLoopConfig, b as WorkflowLoopContextOf, g as WorkflowStepConfig, h as WorkflowStepContext, c as WorkflowStepContextOf, i as WorkflowTryConfig, j as WorkflowTryStepConfig } from '../context-DZ_lu12i.js';
|
|
7
7
|
import 'zod/v4';
|
|
8
8
|
import '@rivetkit/rivetkit-wasm';
|
|
9
9
|
import 'zod';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createWorkflowInspectorAdapter
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-6QHFQDW4.js";
|
|
4
|
+
import "../chunk-XW3HQQDX.js";
|
|
5
|
+
import "../chunk-7XKSZBR7.js";
|
|
6
6
|
import {
|
|
7
7
|
ACTOR_CONTEXT_INTERNAL_SYMBOL,
|
|
8
8
|
defineRunHandler
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from "../chunk-JI6GZ2C2.js";
|
|
14
14
|
import {
|
|
15
15
|
stringifyError
|
|
16
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-2UJVBM5X.js";
|
|
17
17
|
import {
|
|
18
18
|
RivetError,
|
|
19
19
|
isActorAbortedError
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rivetkit",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-sync-sqlite.527e186",
|
|
4
4
|
"description": "Lightweight libraries for building stateful actors on edge platforms",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"keywords": [
|
|
@@ -212,14 +212,14 @@
|
|
|
212
212
|
"@rivet-dev/agent-os-core": "^0.1.1",
|
|
213
213
|
"@rivet-dev/services": "^0.1.5",
|
|
214
214
|
"@rivetkit/bare-ts": "^0.6.2",
|
|
215
|
-
"@rivetkit/engine-cli": "
|
|
216
|
-
"@rivetkit/engine-envoy-protocol": "0.0.0-
|
|
215
|
+
"@rivetkit/engine-cli": "0.0.0-sync-sqlite.527e186",
|
|
216
|
+
"@rivetkit/engine-envoy-protocol": "0.0.0-sync-sqlite.527e186",
|
|
217
217
|
"@rivetkit/on-change": "6.0.1",
|
|
218
|
-
"@rivetkit/rivetkit-napi": "0.0.0-
|
|
219
|
-
"@rivetkit/rivetkit-wasm": "0.0.0-
|
|
220
|
-
"@rivetkit/traces": "0.0.0-
|
|
221
|
-
"@rivetkit/virtual-websocket": "0.0.0-
|
|
222
|
-
"@rivetkit/workflow-engine": "0.0.0-
|
|
218
|
+
"@rivetkit/rivetkit-napi": "0.0.0-sync-sqlite.527e186",
|
|
219
|
+
"@rivetkit/rivetkit-wasm": "0.0.0-sync-sqlite.527e186",
|
|
220
|
+
"@rivetkit/traces": "0.0.0-sync-sqlite.527e186",
|
|
221
|
+
"@rivetkit/virtual-websocket": "0.0.0-sync-sqlite.527e186",
|
|
222
|
+
"@rivetkit/workflow-engine": "0.0.0-sync-sqlite.527e186",
|
|
223
223
|
"cbor-x": "^1.6.0",
|
|
224
224
|
"drizzle-orm": "catalog:",
|
|
225
225
|
"hono": "^4.7.0",
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { AgentOsOptions, MountConfig } from "@rivet-dev/agent-os-core";
|
|
2
2
|
import { AgentOs, createInMemoryFileSystem } from "@rivet-dev/agent-os-core";
|
|
3
3
|
import { type ActorDefinition, actor, event } from "@/actor/mod";
|
|
4
|
-
import type {
|
|
4
|
+
import type {
|
|
5
|
+
DatabaseProvider,
|
|
6
|
+
SynchronousRawAccess,
|
|
7
|
+
} from "@/common/database/config";
|
|
5
8
|
import { db } from "@/common/database/mod";
|
|
6
9
|
import {
|
|
7
10
|
type AgentOsActorConfig,
|
|
@@ -146,7 +149,7 @@ export function agentOs<TConnParams = undefined>(
|
|
|
146
149
|
undefined,
|
|
147
150
|
AgentOsActorVars,
|
|
148
151
|
undefined,
|
|
149
|
-
DatabaseProvider<
|
|
152
|
+
DatabaseProvider<SynchronousRawAccess>,
|
|
150
153
|
{
|
|
151
154
|
sessionEvent: typeof sessionEventToken;
|
|
152
155
|
permissionRequest: typeof permissionRequestToken;
|
|
@@ -182,7 +185,7 @@ export function agentOs<TConnParams = undefined>(
|
|
|
182
185
|
undefined,
|
|
183
186
|
AgentOsActorVars,
|
|
184
187
|
undefined,
|
|
185
|
-
DatabaseProvider<
|
|
188
|
+
DatabaseProvider<SynchronousRawAccess>,
|
|
186
189
|
{
|
|
187
190
|
sessionEvent: typeof sessionEventToken;
|
|
188
191
|
permissionRequest: typeof permissionRequestToken;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import crypto from "node:crypto";
|
|
2
2
|
import type { RequestContext } from "@/actor/config";
|
|
3
|
-
import type {
|
|
3
|
+
import type {
|
|
4
|
+
DatabaseProvider,
|
|
5
|
+
SynchronousRawAccess,
|
|
6
|
+
} from "@/common/database/config";
|
|
4
7
|
import type { AgentOsActorConfig } from "../config";
|
|
5
8
|
import type {
|
|
6
9
|
AgentOsActionContext,
|
|
@@ -46,7 +49,7 @@ type AgentOsRequestContext<TConnParams> = RequestContext<
|
|
|
46
49
|
undefined,
|
|
47
50
|
AgentOsActorVars,
|
|
48
51
|
undefined,
|
|
49
|
-
DatabaseProvider<
|
|
52
|
+
DatabaseProvider<SynchronousRawAccess>
|
|
50
53
|
>;
|
|
51
54
|
|
|
52
55
|
export function buildOnRequestHandler<TConnParams>(
|
|
@@ -60,7 +60,7 @@ import {
|
|
|
60
60
|
type QueueSendResult,
|
|
61
61
|
type QueueSendWaitOptions,
|
|
62
62
|
} from "./queue";
|
|
63
|
-
import { rawHttpFetch, rawWebSocket } from "./raw-utils";
|
|
63
|
+
import { prepareRetryableInit, rawHttpFetch, rawWebSocket } from "./raw-utils";
|
|
64
64
|
import { resolveGatewayTarget } from "./resolve-gateway-target";
|
|
65
65
|
import { sendHttpRequest } from "./utils";
|
|
66
66
|
|
|
@@ -654,12 +654,17 @@ export class ActorHandleRaw {
|
|
|
654
654
|
input: string | URL | Request,
|
|
655
655
|
init?: ActorFetchInit,
|
|
656
656
|
) {
|
|
657
|
-
const { skipReadyWait, ...
|
|
658
|
-
const
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
657
|
+
const { skipReadyWait, ...restInit } = init ?? {};
|
|
658
|
+
const maxAttempts = this.#getDynamicQueryMaxAttempts();
|
|
659
|
+
// Buffer a streaming init body before the loop, but only when retries are possible.
|
|
660
|
+
const requestInit =
|
|
661
|
+
maxAttempts > 1 ? await prepareRetryableInit(restInit) : restInit;
|
|
662
|
+
// Clone the input Request only when its own body is the one being sent.
|
|
663
|
+
// If init replaces the body, cloning a consumed input would throw.
|
|
664
|
+
const clonesInputBody =
|
|
665
|
+
requestInit.body === undefined &&
|
|
666
|
+
isRequestLike(input) &&
|
|
667
|
+
input.body !== null;
|
|
663
668
|
let useQueryTarget = isDynamicActorQuery(this.#actorResolutionState);
|
|
664
669
|
const gatewayOptions = resolveActorGatewayOptions(
|
|
665
670
|
this.#gatewayOptions,
|
|
@@ -680,7 +685,9 @@ export class ActorHandleRaw {
|
|
|
680
685
|
this.#driver,
|
|
681
686
|
target,
|
|
682
687
|
this.#params,
|
|
683
|
-
|
|
688
|
+
// Clone a body-bearing Request so retries don't reuse a consumed stream.
|
|
689
|
+
// NOTE: This holds the body in memory until GC (unavoidable).
|
|
690
|
+
clonesInputBody ? input.clone() : input,
|
|
684
691
|
requestInit,
|
|
685
692
|
gatewayOptions,
|
|
686
693
|
);
|
package/src/client/raw-utils.ts
CHANGED
|
@@ -13,6 +13,20 @@ import type {
|
|
|
13
13
|
import { ActorError } from "./errors";
|
|
14
14
|
import { logger } from "./log";
|
|
15
15
|
|
|
16
|
+
/** Buffer a one-shot ReadableStream body to bytes so every retry attempt can re-send it. */
|
|
17
|
+
export async function prepareRetryableInit(
|
|
18
|
+
init: RequestInit,
|
|
19
|
+
): Promise<RequestInit> {
|
|
20
|
+
if (init.body instanceof ReadableStream) {
|
|
21
|
+
return {
|
|
22
|
+
...init,
|
|
23
|
+
body: new Uint8Array(await new Response(init.body).arrayBuffer()),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return init;
|
|
28
|
+
}
|
|
29
|
+
|
|
16
30
|
/**
|
|
17
31
|
* Shared implementation for raw HTTP fetch requests
|
|
18
32
|
*/
|
|
@@ -84,7 +84,12 @@ export interface SqliteDatabase {
|
|
|
84
84
|
sql: string,
|
|
85
85
|
callback?: (row: unknown[], columns: string[]) => void,
|
|
86
86
|
): Promise<void>;
|
|
87
|
+
execSync?(
|
|
88
|
+
sql: string,
|
|
89
|
+
callback?: (row: unknown[], columns: string[]) => void,
|
|
90
|
+
): void;
|
|
87
91
|
execute(sql: string, params?: SqliteBindings): Promise<SqliteExecuteResult>;
|
|
92
|
+
executeSync?(sql: string, params?: SqliteBindings): SqliteExecuteResult;
|
|
88
93
|
executeBatch(
|
|
89
94
|
statements: SqliteBatchStatement[],
|
|
90
95
|
): Promise<SqliteExecuteResult[]>;
|
|
@@ -92,6 +97,10 @@ export interface SqliteDatabase {
|
|
|
92
97
|
timeoutMs?: number,
|
|
93
98
|
name?: string,
|
|
94
99
|
): Promise<SqliteTransactionDatabase>;
|
|
100
|
+
beginTransactionSync?(
|
|
101
|
+
timeoutMs?: number,
|
|
102
|
+
name?: string,
|
|
103
|
+
): SynchronousSqliteTransactionDatabase;
|
|
95
104
|
run(sql: string, params?: SqliteBindings): Promise<void>;
|
|
96
105
|
query(sql: string, params?: SqliteBindings): Promise<SqliteQueryResult>;
|
|
97
106
|
nativeMetrics?():
|
|
@@ -106,11 +115,26 @@ export interface SqliteTransactionDatabase {
|
|
|
106
115
|
sql: string,
|
|
107
116
|
callback?: (row: unknown[], columns: string[]) => void,
|
|
108
117
|
): Promise<void>;
|
|
118
|
+
execSync?(
|
|
119
|
+
sql: string,
|
|
120
|
+
callback?: (row: unknown[], columns: string[]) => void,
|
|
121
|
+
): void;
|
|
109
122
|
execute(sql: string, params?: SqliteBindings): Promise<SqliteExecuteResult>;
|
|
123
|
+
executeSync?(sql: string, params?: SqliteBindings): SqliteExecuteResult;
|
|
110
124
|
commit(): Promise<void>;
|
|
111
125
|
rollback(): Promise<void>;
|
|
112
126
|
}
|
|
113
127
|
|
|
128
|
+
export type SynchronousSqliteTransactionDatabase = SqliteTransactionDatabase & {
|
|
129
|
+
execSync(
|
|
130
|
+
sql: string,
|
|
131
|
+
callback?: (row: unknown[], columns: string[]) => void,
|
|
132
|
+
): void;
|
|
133
|
+
executeSync(sql: string, params?: SqliteBindings): SqliteExecuteResult;
|
|
134
|
+
commitSync(): void;
|
|
135
|
+
rollbackSync(): void;
|
|
136
|
+
};
|
|
137
|
+
|
|
114
138
|
/**
|
|
115
139
|
* Provider for opening native databases from the active runtime.
|
|
116
140
|
*/
|
|
@@ -204,11 +228,28 @@ type ExecuteFunction = <
|
|
|
204
228
|
...args: unknown[]
|
|
205
229
|
) => Promise<TRow[]>;
|
|
206
230
|
|
|
231
|
+
type ExecuteSyncFunction = <
|
|
232
|
+
TRow extends Record<string, unknown> = Record<string, unknown>,
|
|
233
|
+
>(
|
|
234
|
+
query: string,
|
|
235
|
+
...args: unknown[]
|
|
236
|
+
) => TRow[];
|
|
237
|
+
|
|
238
|
+
/** SQL operations available inside a synchronous transaction callback. */
|
|
239
|
+
export type SynchronousTransactionAccess = {
|
|
240
|
+
executeSync: ExecuteSyncFunction;
|
|
241
|
+
};
|
|
242
|
+
|
|
207
243
|
export type RawAccess = {
|
|
208
244
|
/**
|
|
209
245
|
* Executes a raw SQL query.
|
|
210
246
|
*/
|
|
211
247
|
execute: ExecuteFunction;
|
|
248
|
+
/**
|
|
249
|
+
* Executes a raw SQL query synchronously when supported by the runtime.
|
|
250
|
+
* This blocks the Node.js event loop. Prefer `execute` for normal use.
|
|
251
|
+
*/
|
|
252
|
+
executeSync?: ExecuteSyncFunction;
|
|
212
253
|
/** Runs a callback in an isolated SQLite transaction. */
|
|
213
254
|
transaction: <T>(
|
|
214
255
|
callback: (tx: RawAccess) => Promise<T> | T,
|
|
@@ -226,3 +267,16 @@ export type RawAccess = {
|
|
|
226
267
|
*/
|
|
227
268
|
close: () => Promise<void>;
|
|
228
269
|
};
|
|
270
|
+
|
|
271
|
+
/** Raw database access with synchronous operations provided by the Node.js runtime. */
|
|
272
|
+
export type SynchronousRawAccess = RawAccess & {
|
|
273
|
+
executeSync: ExecuteSyncFunction;
|
|
274
|
+
/**
|
|
275
|
+
* Runs a synchronous callback in an isolated SQLite transaction.
|
|
276
|
+
* The callback must not return a promise.
|
|
277
|
+
*/
|
|
278
|
+
transactionSync: <T>(
|
|
279
|
+
callback: (tx: SynchronousTransactionAccess) => T,
|
|
280
|
+
options?: Omit<SqliteTransactionOptions, "experimental">,
|
|
281
|
+
) => T;
|
|
282
|
+
};
|