rivetkit 2.3.0-rc.8 → 2.3.0
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 +481 -74
- package/dist/browser/client.js +174 -148
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/inspector/client.js +47 -18
- package/dist/browser/inspector/client.js.map +1 -1
- package/dist/tsup/actor/errors.cjs +2 -2
- package/dist/tsup/actor/errors.d.cts +1 -1
- package/dist/tsup/actor/errors.d.ts +1 -1
- package/dist/tsup/actor/errors.js +1 -1
- package/dist/tsup/agent-os/index.cjs +2160 -2086
- package/dist/tsup/agent-os/index.cjs.map +1 -1
- package/dist/tsup/agent-os/index.d.cts +479 -73
- package/dist/tsup/agent-os/index.d.ts +479 -73
- package/dist/tsup/agent-os/index.js +2160 -2086
- package/dist/tsup/agent-os/index.js.map +1 -1
- package/dist/tsup/{chunk-KY3CERZR.js → chunk-2OTRTA3J.js} +7 -21
- package/dist/tsup/chunk-2OTRTA3J.js.map +1 -0
- package/dist/tsup/{chunk-HGW6PBWR.cjs → chunk-3677IIOV.cjs} +11 -25
- package/dist/tsup/chunk-3677IIOV.cjs.map +1 -0
- package/dist/tsup/{chunk-OT7FF6GB.cjs → chunk-47HHIEXH.cjs} +24 -9
- package/dist/tsup/chunk-47HHIEXH.cjs.map +1 -0
- package/dist/tsup/{chunk-EMFKMVJR.js → chunk-4JDSFJS5.js} +69 -58
- package/dist/tsup/chunk-4JDSFJS5.js.map +1 -0
- package/dist/tsup/{chunk-7HLFSAJP.cjs → chunk-7QKCIVAY.cjs} +225 -214
- package/dist/tsup/chunk-7QKCIVAY.cjs.map +1 -0
- package/dist/tsup/{chunk-AWTPTUQ7.cjs → chunk-B6VUNZUD.cjs} +10 -10
- package/dist/tsup/{chunk-AWTPTUQ7.cjs.map → chunk-B6VUNZUD.cjs.map} +1 -1
- package/dist/tsup/{chunk-D3T3ZBSY.js → chunk-BEI24WTI.js} +2 -2
- package/dist/tsup/{chunk-TMLOKTRB.js → chunk-BRP62GZC.js} +1 -1
- package/dist/tsup/chunk-BRP62GZC.js.map +1 -0
- package/dist/tsup/{chunk-D5G75T7J.js → chunk-DPIMKYNB.js} +61 -2
- package/dist/tsup/chunk-DPIMKYNB.js.map +1 -0
- package/dist/tsup/{chunk-BATTOVHF.cjs → chunk-DXXJPH55.cjs} +40 -13
- package/dist/tsup/chunk-DXXJPH55.cjs.map +1 -0
- package/dist/tsup/{chunk-3YY5S6TV.js → chunk-HXUEHHJF.js} +2 -2
- package/dist/tsup/chunk-HXUEHHJF.js.map +1 -0
- package/dist/tsup/{chunk-4BPKKZJO.cjs → chunk-I4LN3FNT.cjs} +10 -10
- package/dist/tsup/chunk-I4LN3FNT.cjs.map +1 -0
- package/dist/tsup/{chunk-PCBNKI2J.js → chunk-JZ7TWV65.js} +1 -1
- package/dist/tsup/chunk-JZ7TWV65.js.map +1 -0
- package/dist/tsup/{chunk-63WNTDRC.cjs → chunk-KORQB2IR.cjs} +1 -1
- package/dist/tsup/{chunk-63WNTDRC.cjs.map → chunk-KORQB2IR.cjs.map} +1 -1
- package/dist/tsup/{chunk-6TQSSJ4F.cjs → chunk-LVTBW2RE.cjs} +3 -3
- package/dist/tsup/{chunk-6TQSSJ4F.cjs.map → chunk-LVTBW2RE.cjs.map} +1 -1
- package/dist/tsup/{chunk-4JU3IPG2.js → chunk-MEHBWPLJ.js} +6 -6
- package/dist/tsup/chunk-MEHBWPLJ.js.map +1 -0
- package/dist/tsup/{chunk-SRNOPUC6.cjs → chunk-NIY3RSPX.cjs} +62 -3
- package/dist/tsup/chunk-NIY3RSPX.cjs.map +1 -0
- package/dist/tsup/{chunk-UZXQEGVJ.js → chunk-P2GNQ4RN.js} +4 -4
- package/dist/tsup/{chunk-UZXQEGVJ.js.map → chunk-P2GNQ4RN.js.map} +1 -1
- package/dist/tsup/{chunk-VUGENVIK.js → chunk-UMZVD6DQ.js} +22 -7
- package/dist/tsup/chunk-UMZVD6DQ.js.map +1 -0
- package/dist/tsup/{chunk-LD5YASJU.cjs → chunk-VE2X4KMG.cjs} +2 -2
- package/dist/tsup/{chunk-LD5YASJU.cjs.map → chunk-VE2X4KMG.cjs.map} +1 -1
- package/dist/tsup/{chunk-GBG63SUG.js → chunk-VTTFNQQI.js} +32 -5
- package/dist/tsup/chunk-VTTFNQQI.js.map +1 -0
- package/dist/tsup/{chunk-2NDZ7JCR.cjs → chunk-ZA7FLHKH.cjs} +1 -1
- package/dist/tsup/chunk-ZA7FLHKH.cjs.map +1 -0
- package/dist/tsup/client/mod.cjs +9 -9
- package/dist/tsup/client/mod.d.cts +5 -5
- package/dist/tsup/client/mod.d.ts +5 -5
- package/dist/tsup/client/mod.js +8 -8
- 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-Ak1lv4gF.d.ts → config-BxWAw3iH.d.ts} +512 -27
- package/dist/tsup/{config-DU_xj4qZ.d.cts → config-CZQQ-mso.d.cts} +512 -27
- package/dist/tsup/{config-CxjGYf4K.d.ts → config-D49x8NpL.d.cts} +1 -2
- package/dist/tsup/{config-CxjGYf4K.d.cts → config-D49x8NpL.d.ts} +1 -2
- package/dist/tsup/{context-DAAp4Lpg.d.ts → context-Bw7xq8w3.d.cts} +8 -8
- package/dist/tsup/{context-Dt_L55q8.d.cts → context-D8QA76sV.d.ts} +8 -8
- package/dist/tsup/db/drizzle.cjs +3 -3
- package/dist/tsup/db/drizzle.d.cts +1 -1
- package/dist/tsup/db/drizzle.d.ts +1 -1
- package/dist/tsup/db/drizzle.js +1 -1
- package/dist/tsup/db/mod.cjs +2 -2
- package/dist/tsup/db/mod.d.cts +2 -2
- package/dist/tsup/db/mod.d.ts +2 -2
- package/dist/tsup/db/mod.js +1 -1
- package/dist/tsup/dynamic/mod.cjs +24 -0
- package/dist/tsup/dynamic/mod.cjs.map +1 -0
- package/dist/tsup/dynamic/mod.d.cts +37 -0
- package/dist/tsup/dynamic/mod.d.ts +37 -0
- package/dist/tsup/dynamic/mod.js +24 -0
- package/dist/tsup/dynamic/mod.js.map +1 -0
- package/dist/tsup/inspector/mod.cjs +6 -6
- package/dist/tsup/inspector/mod.js +5 -5
- package/dist/tsup/inspector-tab/mod.cjs +173 -0
- package/dist/tsup/inspector-tab/mod.cjs.map +1 -0
- package/dist/tsup/inspector-tab/mod.d.cts +250 -0
- package/dist/tsup/inspector-tab/mod.d.ts +250 -0
- package/dist/tsup/inspector-tab/mod.js +173 -0
- package/dist/tsup/inspector-tab/mod.js.map +1 -0
- package/dist/tsup/mod.cjs +615 -348
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +5 -5
- package/dist/tsup/mod.d.ts +5 -5
- package/dist/tsup/mod.js +511 -244
- package/dist/tsup/mod.js.map +1 -1
- package/dist/tsup/test/mod.cjs +21 -18
- package/dist/tsup/test/mod.cjs.map +1 -1
- package/dist/tsup/test/mod.d.cts +4 -4
- package/dist/tsup/test/mod.d.ts +4 -4
- package/dist/tsup/test/mod.js +18 -15
- package/dist/tsup/test/mod.js.map +1 -1
- package/dist/tsup/{utils-DVekpm4I.d.cts → utils-DQosb24I.d.cts} +1 -1
- package/dist/tsup/{utils-DVekpm4I.d.ts → utils-DQosb24I.d.ts} +1 -1
- package/dist/tsup/utils.cjs +3 -3
- package/dist/tsup/utils.d.cts +1 -1
- package/dist/tsup/utils.d.ts +1 -1
- package/dist/tsup/utils.js +2 -2
- package/dist/tsup/workflow/mod.cjs +279 -279
- package/dist/tsup/workflow/mod.cjs.map +1 -1
- package/dist/tsup/workflow/mod.d.cts +6 -6
- package/dist/tsup/workflow/mod.d.ts +6 -6
- package/dist/tsup/workflow/mod.js +380 -380
- package/dist/tsup/workflow/mod.js.map +1 -1
- package/package.json +29 -9
- package/src/actor/config.ts +156 -51
- package/src/actor/contexts/index.ts +7 -2
- package/src/actor/definition.ts +17 -19
- package/src/actor/driver.ts +3 -3
- package/src/actor/errors.ts +8 -2
- package/src/actor/instance/mod.ts +26 -34
- package/src/actor/keys.ts +1 -1
- package/src/actor/mod.ts +22 -20
- package/src/actor/schema.ts +2 -2
- package/src/agent-os/actor/index.ts +38 -18
- package/src/agent-os/actor/preview.ts +1 -2
- package/src/agent-os/config.ts +1 -1
- package/src/agent-os/fs/database-vfs.ts +1 -1
- package/src/agent-os/index.ts +16 -15
- package/src/client/actor-common.ts +87 -54
- package/src/client/actor-conn.ts +11 -11
- package/src/client/actor-handle.ts +69 -52
- package/src/client/actor-query.ts +5 -5
- package/src/client/errors.ts +1 -1
- package/src/client/lifecycle-errors.ts +2 -4
- package/src/client/query.ts +1 -1
- package/src/client/queue.ts +8 -4
- package/src/client/raw-utils.ts +8 -6
- package/src/client/resolve-gateway-target.ts +1 -1
- package/src/client/utils.ts +2 -6
- package/src/common/actor-websocket.ts +3 -1
- package/src/common/bare/actor-persist/v1.ts +205 -163
- package/src/common/bare/actor-persist/v2.ts +265 -213
- package/src/common/bare/actor-persist/v3.ts +176 -172
- package/src/common/bare/actor-persist/v4.ts +254 -253
- package/src/common/bare/transport/v1.ts +659 -543
- package/src/common/client-protocol-versioned.ts +66 -64
- package/src/common/database/config.ts +2 -8
- package/src/common/database/native-database.ts +1 -1
- package/src/common/database/shared.ts +1 -0
- package/src/common/encoding.ts +13 -17
- package/src/common/engine.ts +28 -1
- package/src/common/eventsource.ts +1 -1
- package/src/common/inline-websocket-adapter.ts +3 -2
- package/src/common/router.ts +13 -17
- package/src/common/utils.ts +1 -2
- package/src/common/websocket-interface.ts +1 -1
- package/src/db/mod.ts +1 -1
- package/src/devtools-loader/index.ts +4 -7
- package/src/devtools-loader/serve-devtools.ts +26 -0
- package/src/drivers/engine/actor-driver.ts +48 -46
- package/src/dynamic/instance.ts +32 -0
- package/src/dynamic/internal.ts +50 -0
- package/src/dynamic/isolate-runtime.ts +66 -0
- package/src/dynamic/mod.ts +32 -0
- package/src/engine-client/actor-http-client.ts +3 -3
- package/src/engine-client/actor-websocket-client.ts +5 -5
- package/src/engine-client/api-endpoints.ts +51 -2
- package/src/engine-client/api-utils.ts +2 -2
- package/src/engine-client/driver.ts +1 -1
- package/src/engine-client/mod.ts +5 -3
- package/src/engine-client/ws-proxy.ts +9 -4
- package/src/inspector/client.browser.ts +5 -11
- package/src/inspector/mod.ts +1 -3
- package/src/inspector-tab/mod.ts +315 -0
- package/src/registry/config/envoy.ts +1 -2
- package/src/registry/config/index.ts +40 -16
- package/src/registry/index.ts +226 -83
- package/src/registry/napi-runtime.ts +46 -12
- package/src/registry/native-validation.ts +10 -12
- package/src/registry/native.ts +307 -164
- package/src/registry/process-metrics.ts +90 -23
- package/src/registry/runtime.ts +53 -6
- package/src/registry/wasm-runtime.ts +30 -3
- package/src/serde.ts +1 -1
- package/src/serverless/configure.ts +18 -7
- package/src/test/mod.ts +11 -8
- package/src/utils/endpoint-parser.ts +1 -1
- package/src/utils/env-vars.ts +6 -0
- package/src/utils/router.ts +1 -1
- package/src/utils/serve.ts +4 -5
- package/src/utils.ts +1 -2
- package/src/workflow/context.ts +30 -29
- package/src/workflow/driver.ts +4 -6
- package/src/workflow/inspector.ts +2 -2
- package/src/workflow/mod.ts +15 -17
- package/dist/tsup/chunk-2NDZ7JCR.cjs.map +0 -1
- package/dist/tsup/chunk-3YY5S6TV.js.map +0 -1
- package/dist/tsup/chunk-4BPKKZJO.cjs.map +0 -1
- package/dist/tsup/chunk-4JU3IPG2.js.map +0 -1
- package/dist/tsup/chunk-7HLFSAJP.cjs.map +0 -1
- package/dist/tsup/chunk-BATTOVHF.cjs.map +0 -1
- package/dist/tsup/chunk-D5G75T7J.js.map +0 -1
- package/dist/tsup/chunk-EMFKMVJR.js.map +0 -1
- package/dist/tsup/chunk-GBG63SUG.js.map +0 -1
- package/dist/tsup/chunk-HGW6PBWR.cjs.map +0 -1
- package/dist/tsup/chunk-KY3CERZR.js.map +0 -1
- package/dist/tsup/chunk-OT7FF6GB.cjs.map +0 -1
- package/dist/tsup/chunk-PCBNKI2J.js.map +0 -1
- package/dist/tsup/chunk-SRNOPUC6.cjs.map +0 -1
- package/dist/tsup/chunk-TMLOKTRB.js.map +0 -1
- package/dist/tsup/chunk-VUGENVIK.js.map +0 -1
- package/dist/tsup/process-metrics-NW754INA.js +0 -118
- package/dist/tsup/process-metrics-NW754INA.js.map +0 -1
- package/dist/tsup/process-metrics-TYAGKCEJ.cjs +0 -118
- package/dist/tsup/process-metrics-TYAGKCEJ.cjs.map +0 -1
- /package/dist/tsup/{chunk-D3T3ZBSY.js.map → chunk-BEI24WTI.js.map} +0 -0
|
@@ -1,268 +1,320 @@
|
|
|
1
1
|
// Vendored BARE codec. Keep the wire format compatible with the existing runtime.
|
|
2
|
-
import * as bare from "@rivetkit/bare-ts"
|
|
2
|
+
import * as bare from "@rivetkit/bare-ts";
|
|
3
3
|
|
|
4
|
-
const config = /* @__PURE__ */ bare.Config({})
|
|
4
|
+
const config = /* @__PURE__ */ bare.Config({});
|
|
5
5
|
|
|
6
|
-
export type i64 = bigint
|
|
6
|
+
export type i64 = bigint;
|
|
7
7
|
|
|
8
8
|
export type PersistedSubscription = {
|
|
9
|
-
|
|
10
|
-
}
|
|
9
|
+
readonly eventName: string;
|
|
10
|
+
};
|
|
11
11
|
|
|
12
|
-
export function readPersistedSubscription(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
export function readPersistedSubscription(
|
|
13
|
+
bc: bare.ByteCursor,
|
|
14
|
+
): PersistedSubscription {
|
|
15
|
+
return {
|
|
16
|
+
eventName: bare.readString(bc),
|
|
17
|
+
};
|
|
16
18
|
}
|
|
17
19
|
|
|
18
|
-
export function writePersistedSubscription(
|
|
19
|
-
|
|
20
|
+
export function writePersistedSubscription(
|
|
21
|
+
bc: bare.ByteCursor,
|
|
22
|
+
x: PersistedSubscription,
|
|
23
|
+
): void {
|
|
24
|
+
bare.writeString(bc, x.eventName);
|
|
20
25
|
}
|
|
21
26
|
|
|
22
27
|
function read0(bc: bare.ByteCursor): readonly PersistedSubscription[] {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
28
|
+
const len = bare.readUintSafe(bc);
|
|
29
|
+
if (len === 0) {
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
const result = [readPersistedSubscription(bc)];
|
|
33
|
+
for (let i = 1; i < len; i++) {
|
|
34
|
+
result[i] = readPersistedSubscription(bc);
|
|
35
|
+
}
|
|
36
|
+
return result;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function write0(
|
|
40
|
+
bc: bare.ByteCursor,
|
|
41
|
+
x: readonly PersistedSubscription[],
|
|
42
|
+
): void {
|
|
43
|
+
bare.writeUintSafe(bc, x.length);
|
|
44
|
+
for (let i = 0; i < x.length; i++) {
|
|
45
|
+
writePersistedSubscription(bc, x[i]);
|
|
46
|
+
}
|
|
37
47
|
}
|
|
38
48
|
|
|
39
49
|
function read1(bc: bare.ByteCursor): ArrayBuffer | null {
|
|
40
|
-
|
|
41
|
-
? bare.readData(bc)
|
|
42
|
-
: null
|
|
50
|
+
return bare.readBool(bc) ? bare.readData(bc) : null;
|
|
43
51
|
}
|
|
44
52
|
|
|
45
53
|
function write1(bc: bare.ByteCursor, x: ArrayBuffer | null): void {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
54
|
+
bare.writeBool(bc, x !== null);
|
|
55
|
+
if (x !== null) {
|
|
56
|
+
bare.writeData(bc, x);
|
|
57
|
+
}
|
|
50
58
|
}
|
|
51
59
|
|
|
52
60
|
export type PersistedConnection = {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export function readPersistedConnection(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
61
|
+
readonly id: string;
|
|
62
|
+
readonly token: string;
|
|
63
|
+
readonly parameters: ArrayBuffer;
|
|
64
|
+
readonly state: ArrayBuffer;
|
|
65
|
+
readonly subscriptions: readonly PersistedSubscription[];
|
|
66
|
+
readonly lastSeen: i64;
|
|
67
|
+
readonly hibernatableRequestId: ArrayBuffer | null;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
export function readPersistedConnection(
|
|
71
|
+
bc: bare.ByteCursor,
|
|
72
|
+
): PersistedConnection {
|
|
73
|
+
return {
|
|
74
|
+
id: bare.readString(bc),
|
|
75
|
+
token: bare.readString(bc),
|
|
76
|
+
parameters: bare.readData(bc),
|
|
77
|
+
state: bare.readData(bc),
|
|
78
|
+
subscriptions: read0(bc),
|
|
79
|
+
lastSeen: bare.readI64(bc),
|
|
80
|
+
hibernatableRequestId: read1(bc),
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export function writePersistedConnection(
|
|
85
|
+
bc: bare.ByteCursor,
|
|
86
|
+
x: PersistedConnection,
|
|
87
|
+
): void {
|
|
88
|
+
bare.writeString(bc, x.id);
|
|
89
|
+
bare.writeString(bc, x.token);
|
|
90
|
+
bare.writeData(bc, x.parameters);
|
|
91
|
+
bare.writeData(bc, x.state);
|
|
92
|
+
write0(bc, x.subscriptions);
|
|
93
|
+
bare.writeI64(bc, x.lastSeen);
|
|
94
|
+
write1(bc, x.hibernatableRequestId);
|
|
82
95
|
}
|
|
83
96
|
|
|
84
97
|
export type GenericPersistedScheduleEvent = {
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export function readGenericPersistedScheduleEvent(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
98
|
+
readonly action: string;
|
|
99
|
+
readonly args: ArrayBuffer | null;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
export function readGenericPersistedScheduleEvent(
|
|
103
|
+
bc: bare.ByteCursor,
|
|
104
|
+
): GenericPersistedScheduleEvent {
|
|
105
|
+
return {
|
|
106
|
+
action: bare.readString(bc),
|
|
107
|
+
args: read1(bc),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export function writeGenericPersistedScheduleEvent(
|
|
112
|
+
bc: bare.ByteCursor,
|
|
113
|
+
x: GenericPersistedScheduleEvent,
|
|
114
|
+
): void {
|
|
115
|
+
bare.writeString(bc, x.action);
|
|
116
|
+
write1(bc, x.args);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
export type PersistedScheduleEventKind = {
|
|
120
|
+
readonly tag: "GenericPersistedScheduleEvent";
|
|
121
|
+
readonly val: GenericPersistedScheduleEvent;
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
export function readPersistedScheduleEventKind(
|
|
125
|
+
bc: bare.ByteCursor,
|
|
126
|
+
): PersistedScheduleEventKind {
|
|
127
|
+
const offset = bc.offset;
|
|
128
|
+
const tag = bare.readU8(bc);
|
|
129
|
+
switch (tag) {
|
|
130
|
+
case 0:
|
|
131
|
+
return {
|
|
132
|
+
tag: "GenericPersistedScheduleEvent",
|
|
133
|
+
val: readGenericPersistedScheduleEvent(bc),
|
|
134
|
+
};
|
|
135
|
+
default: {
|
|
136
|
+
bc.offset = offset;
|
|
137
|
+
throw new bare.BareError(offset, "invalid tag");
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export function writePersistedScheduleEventKind(
|
|
143
|
+
bc: bare.ByteCursor,
|
|
144
|
+
x: PersistedScheduleEventKind,
|
|
145
|
+
): void {
|
|
146
|
+
switch (x.tag) {
|
|
147
|
+
case "GenericPersistedScheduleEvent": {
|
|
148
|
+
bare.writeU8(bc, 0);
|
|
149
|
+
writeGenericPersistedScheduleEvent(bc, x.val);
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
125
153
|
}
|
|
126
154
|
|
|
127
155
|
export type PersistedScheduleEvent = {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
export function readPersistedScheduleEvent(
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
156
|
+
readonly eventId: string;
|
|
157
|
+
readonly timestamp: i64;
|
|
158
|
+
readonly kind: PersistedScheduleEventKind;
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
export function readPersistedScheduleEvent(
|
|
162
|
+
bc: bare.ByteCursor,
|
|
163
|
+
): PersistedScheduleEvent {
|
|
164
|
+
return {
|
|
165
|
+
eventId: bare.readString(bc),
|
|
166
|
+
timestamp: bare.readI64(bc),
|
|
167
|
+
kind: readPersistedScheduleEventKind(bc),
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
export function writePersistedScheduleEvent(
|
|
172
|
+
bc: bare.ByteCursor,
|
|
173
|
+
x: PersistedScheduleEvent,
|
|
174
|
+
): void {
|
|
175
|
+
bare.writeString(bc, x.eventId);
|
|
176
|
+
bare.writeI64(bc, x.timestamp);
|
|
177
|
+
writePersistedScheduleEventKind(bc, x.kind);
|
|
145
178
|
}
|
|
146
179
|
|
|
147
180
|
export type PersistedHibernatableWebSocket = {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
export function readPersistedHibernatableWebSocket(
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
181
|
+
readonly requestId: ArrayBuffer;
|
|
182
|
+
readonly lastSeenTimestamp: i64;
|
|
183
|
+
readonly msgIndex: i64;
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
export function readPersistedHibernatableWebSocket(
|
|
187
|
+
bc: bare.ByteCursor,
|
|
188
|
+
): PersistedHibernatableWebSocket {
|
|
189
|
+
return {
|
|
190
|
+
requestId: bare.readData(bc),
|
|
191
|
+
lastSeenTimestamp: bare.readI64(bc),
|
|
192
|
+
msgIndex: bare.readI64(bc),
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export function writePersistedHibernatableWebSocket(
|
|
197
|
+
bc: bare.ByteCursor,
|
|
198
|
+
x: PersistedHibernatableWebSocket,
|
|
199
|
+
): void {
|
|
200
|
+
bare.writeData(bc, x.requestId);
|
|
201
|
+
bare.writeI64(bc, x.lastSeenTimestamp);
|
|
202
|
+
bare.writeI64(bc, x.msgIndex);
|
|
165
203
|
}
|
|
166
204
|
|
|
167
205
|
function read2(bc: bare.ByteCursor): readonly PersistedConnection[] {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
206
|
+
const len = bare.readUintSafe(bc);
|
|
207
|
+
if (len === 0) {
|
|
208
|
+
return [];
|
|
209
|
+
}
|
|
210
|
+
const result = [readPersistedConnection(bc)];
|
|
211
|
+
for (let i = 1; i < len; i++) {
|
|
212
|
+
result[i] = readPersistedConnection(bc);
|
|
213
|
+
}
|
|
214
|
+
return result;
|
|
175
215
|
}
|
|
176
216
|
|
|
177
217
|
function write2(bc: bare.ByteCursor, x: readonly PersistedConnection[]): void {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
218
|
+
bare.writeUintSafe(bc, x.length);
|
|
219
|
+
for (let i = 0; i < x.length; i++) {
|
|
220
|
+
writePersistedConnection(bc, x[i]);
|
|
221
|
+
}
|
|
182
222
|
}
|
|
183
223
|
|
|
184
224
|
function read3(bc: bare.ByteCursor): readonly PersistedScheduleEvent[] {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
225
|
+
const len = bare.readUintSafe(bc);
|
|
226
|
+
if (len === 0) {
|
|
227
|
+
return [];
|
|
228
|
+
}
|
|
229
|
+
const result = [readPersistedScheduleEvent(bc)];
|
|
230
|
+
for (let i = 1; i < len; i++) {
|
|
231
|
+
result[i] = readPersistedScheduleEvent(bc);
|
|
232
|
+
}
|
|
233
|
+
return result;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
function write3(
|
|
237
|
+
bc: bare.ByteCursor,
|
|
238
|
+
x: readonly PersistedScheduleEvent[],
|
|
239
|
+
): void {
|
|
240
|
+
bare.writeUintSafe(bc, x.length);
|
|
241
|
+
for (let i = 0; i < x.length; i++) {
|
|
242
|
+
writePersistedScheduleEvent(bc, x[i]);
|
|
243
|
+
}
|
|
199
244
|
}
|
|
200
245
|
|
|
201
246
|
function read4(bc: bare.ByteCursor): readonly PersistedHibernatableWebSocket[] {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
247
|
+
const len = bare.readUintSafe(bc);
|
|
248
|
+
if (len === 0) {
|
|
249
|
+
return [];
|
|
250
|
+
}
|
|
251
|
+
const result = [readPersistedHibernatableWebSocket(bc)];
|
|
252
|
+
for (let i = 1; i < len; i++) {
|
|
253
|
+
result[i] = readPersistedHibernatableWebSocket(bc);
|
|
254
|
+
}
|
|
255
|
+
return result;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
function write4(
|
|
259
|
+
bc: bare.ByteCursor,
|
|
260
|
+
x: readonly PersistedHibernatableWebSocket[],
|
|
261
|
+
): void {
|
|
262
|
+
bare.writeUintSafe(bc, x.length);
|
|
263
|
+
for (let i = 0; i < x.length; i++) {
|
|
264
|
+
writePersistedHibernatableWebSocket(bc, x[i]);
|
|
265
|
+
}
|
|
216
266
|
}
|
|
217
267
|
|
|
218
268
|
export type PersistedActor = {
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
}
|
|
269
|
+
readonly input: ArrayBuffer | null;
|
|
270
|
+
readonly hasInitialized: boolean;
|
|
271
|
+
readonly state: ArrayBuffer;
|
|
272
|
+
readonly connections: readonly PersistedConnection[];
|
|
273
|
+
readonly scheduledEvents: readonly PersistedScheduleEvent[];
|
|
274
|
+
readonly hibernatableWebSockets: readonly PersistedHibernatableWebSocket[];
|
|
275
|
+
};
|
|
226
276
|
|
|
227
277
|
export function readPersistedActor(bc: bare.ByteCursor): PersistedActor {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
export function writePersistedActor(
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
278
|
+
return {
|
|
279
|
+
input: read1(bc),
|
|
280
|
+
hasInitialized: bare.readBool(bc),
|
|
281
|
+
state: bare.readData(bc),
|
|
282
|
+
connections: read2(bc),
|
|
283
|
+
scheduledEvents: read3(bc),
|
|
284
|
+
hibernatableWebSockets: read4(bc),
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
export function writePersistedActor(
|
|
289
|
+
bc: bare.ByteCursor,
|
|
290
|
+
x: PersistedActor,
|
|
291
|
+
): void {
|
|
292
|
+
write1(bc, x.input);
|
|
293
|
+
bare.writeBool(bc, x.hasInitialized);
|
|
294
|
+
bare.writeData(bc, x.state);
|
|
295
|
+
write2(bc, x.connections);
|
|
296
|
+
write3(bc, x.scheduledEvents);
|
|
297
|
+
write4(bc, x.hibernatableWebSockets);
|
|
245
298
|
}
|
|
246
299
|
|
|
247
300
|
export function encodePersistedActor(x: PersistedActor): Uint8Array {
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
301
|
+
const bc = new bare.ByteCursor(
|
|
302
|
+
new Uint8Array(config.initialBufferLength),
|
|
303
|
+
config,
|
|
304
|
+
);
|
|
305
|
+
writePersistedActor(bc, x);
|
|
306
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
254
307
|
}
|
|
255
308
|
|
|
256
309
|
export function decodePersistedActor(bytes: Uint8Array): PersistedActor {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
310
|
+
const bc = new bare.ByteCursor(bytes, config);
|
|
311
|
+
const result = readPersistedActor(bc);
|
|
312
|
+
if (bc.offset < bc.view.byteLength) {
|
|
313
|
+
throw new bare.BareError(bc.offset, "remaining bytes");
|
|
314
|
+
}
|
|
315
|
+
return result;
|
|
263
316
|
}
|
|
264
317
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
if (!condition) throw new Error(message ?? "Assertion failed")
|
|
318
|
+
function _assert(condition: boolean, message?: string): asserts condition {
|
|
319
|
+
if (!condition) throw new Error(message ?? "Assertion failed");
|
|
268
320
|
}
|