rivetkit 2.3.0-rc.9 → 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 +498 -62
- package/dist/browser/client.js +227 -171
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/inspector/client.js +50 -20
- 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 +2163 -2087
- package/dist/tsup/agent-os/index.cjs.map +1 -1
- package/dist/tsup/agent-os/index.d.cts +496 -69
- package/dist/tsup/agent-os/index.d.ts +496 -69
- package/dist/tsup/agent-os/index.js +2163 -2087
- package/dist/tsup/agent-os/index.js.map +1 -1
- package/dist/tsup/{chunk-W7EYSYVI.js → chunk-2OTRTA3J.js} +134 -20
- package/dist/tsup/chunk-2OTRTA3J.js.map +1 -0
- package/dist/tsup/{chunk-VJFRBJVQ.cjs → chunk-3677IIOV.cjs} +138 -24
- package/dist/tsup/chunk-3677IIOV.cjs.map +1 -0
- package/dist/tsup/{chunk-4CGA6QJO.cjs → chunk-47HHIEXH.cjs} +24 -9
- package/dist/tsup/chunk-47HHIEXH.cjs.map +1 -0
- package/dist/tsup/{chunk-F3Q5BFQ6.js → chunk-4JDSFJS5.js} +66 -79
- package/dist/tsup/chunk-4JDSFJS5.js.map +1 -0
- package/dist/tsup/{chunk-GVTOE34S.cjs → chunk-7QKCIVAY.cjs} +222 -235
- package/dist/tsup/chunk-7QKCIVAY.cjs.map +1 -0
- package/dist/tsup/{chunk-CPA4Y3RG.cjs → chunk-B6VUNZUD.cjs} +10 -10
- package/dist/tsup/chunk-B6VUNZUD.cjs.map +1 -0
- package/dist/tsup/{chunk-H37XQU3I.js → chunk-BEI24WTI.js} +2 -2
- package/dist/tsup/{chunk-KIWH5H3K.js → chunk-BRP62GZC.js} +3 -3
- package/dist/tsup/chunk-BRP62GZC.js.map +1 -0
- package/dist/tsup/{chunk-T6YVRM4K.js → chunk-DPIMKYNB.js} +63 -2
- package/dist/tsup/chunk-DPIMKYNB.js.map +1 -0
- package/dist/tsup/{chunk-Y5NSCZA2.cjs → chunk-DXXJPH55.cjs} +44 -15
- 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-4WPEZBK4.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-QAZLM4WT.cjs → chunk-KORQB2IR.cjs} +3 -3
- package/dist/tsup/{chunk-QAZLM4WT.cjs.map → chunk-KORQB2IR.cjs.map} +1 -1
- package/dist/tsup/{chunk-MALSPBAF.cjs → chunk-LVTBW2RE.cjs} +3 -3
- package/dist/tsup/{chunk-MALSPBAF.cjs.map → chunk-LVTBW2RE.cjs.map} +1 -1
- package/dist/tsup/{chunk-H7P7WR2Y.js → chunk-MEHBWPLJ.js} +6 -6
- package/dist/tsup/chunk-MEHBWPLJ.js.map +1 -0
- package/dist/tsup/{chunk-WQ4HNA4W.cjs → chunk-NIY3RSPX.cjs} +64 -3
- package/dist/tsup/chunk-NIY3RSPX.cjs.map +1 -0
- package/dist/tsup/{chunk-MMMEZM5J.js → chunk-P2GNQ4RN.js} +4 -4
- package/dist/tsup/chunk-P2GNQ4RN.js.map +1 -0
- package/dist/tsup/{chunk-KJTA3ATT.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-VRCIXJRN.js → chunk-VTTFNQQI.js} +36 -7
- 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-0Ta55UV0.d.ts → config-BxWAw3iH.d.ts} +529 -23
- package/dist/tsup/{config-Ca8dN4cS.d.cts → config-CZQQ-mso.d.cts} +529 -23
- package/dist/tsup/{config-CxjGYf4K.d.cts → config-D49x8NpL.d.cts} +1 -2
- package/dist/tsup/{config-CxjGYf4K.d.ts → config-D49x8NpL.d.ts} +1 -2
- package/dist/tsup/{context-B_IWbWne.d.ts → context-Bw7xq8w3.d.cts} +8 -8
- package/dist/tsup/{context-CUrQ9MHc.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 +730 -336
- 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 +633 -239
- 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 +307 -282
- 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 +501 -476
- package/dist/tsup/workflow/mod.js.map +1 -1
- package/package.json +32 -11
- package/src/actor/config.ts +159 -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 +9 -3
- 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/actor/session.ts +2 -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 +8 -36
- package/src/client/actor-handle.ts +69 -51
- 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 -3
- package/src/client/raw-utils.ts +8 -6
- package/src/client/resolve-gateway-target.ts +1 -1
- package/src/client/utils.ts +2 -7
- 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 +250 -16
- package/src/common/engine.ts +28 -1
- package/src/common/eventsource.ts +1 -1
- package/src/common/inline-websocket-adapter.ts +14 -13
- package/src/common/log.ts +1 -0
- package/src/common/router.ts +13 -17
- package/src/common/utils.ts +1 -150
- 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 +58 -56
- 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 +6 -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 +6 -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 +154 -74
- package/src/registry/napi-runtime.ts +13 -2
- package/src/registry/native-validation.ts +10 -12
- package/src/registry/native.ts +367 -181
- package/src/registry/process-metrics.ts +250 -0
- package/src/registry/runtime.ts +41 -1
- package/src/registry/wasm-runtime.ts +18 -2
- package/src/registry/write-through-proxy.ts +40 -0
- package/src/serde.ts +2 -2
- 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 +61 -33
- package/src/workflow/driver.ts +4 -6
- package/src/workflow/inspector.ts +4 -3
- 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-4CGA6QJO.cjs.map +0 -1
- package/dist/tsup/chunk-4WPEZBK4.cjs.map +0 -1
- package/dist/tsup/chunk-CPA4Y3RG.cjs.map +0 -1
- package/dist/tsup/chunk-F3Q5BFQ6.js.map +0 -1
- package/dist/tsup/chunk-GVTOE34S.cjs.map +0 -1
- package/dist/tsup/chunk-H7P7WR2Y.js.map +0 -1
- package/dist/tsup/chunk-KIWH5H3K.js.map +0 -1
- package/dist/tsup/chunk-KJTA3ATT.js.map +0 -1
- package/dist/tsup/chunk-MMMEZM5J.js.map +0 -1
- package/dist/tsup/chunk-PCBNKI2J.js.map +0 -1
- package/dist/tsup/chunk-T6YVRM4K.js.map +0 -1
- package/dist/tsup/chunk-VJFRBJVQ.cjs.map +0 -1
- package/dist/tsup/chunk-VRCIXJRN.js.map +0 -1
- package/dist/tsup/chunk-W7EYSYVI.js.map +0 -1
- package/dist/tsup/chunk-WQ4HNA4W.cjs.map +0 -1
- package/dist/tsup/chunk-Y5NSCZA2.cjs.map +0 -1
- /package/dist/tsup/{chunk-H37XQU3I.js.map → chunk-BEI24WTI.js.map} +0 -0
|
@@ -1,697 +1,813 @@
|
|
|
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 u32 = number
|
|
7
|
-
export type u64 = bigint
|
|
6
|
+
export type u32 = number;
|
|
7
|
+
export type u64 = bigint;
|
|
8
8
|
|
|
9
|
-
export type WorkflowCbor = ArrayBuffer
|
|
9
|
+
export type WorkflowCbor = ArrayBuffer;
|
|
10
10
|
|
|
11
11
|
export function readWorkflowCbor(bc: bare.ByteCursor): WorkflowCbor {
|
|
12
|
-
|
|
12
|
+
return bare.readData(bc);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
export function writeWorkflowCbor(bc: bare.ByteCursor, x: WorkflowCbor): void {
|
|
16
|
-
|
|
16
|
+
bare.writeData(bc, x);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
export type WorkflowNameIndex = u32
|
|
19
|
+
export type WorkflowNameIndex = u32;
|
|
20
20
|
|
|
21
21
|
export function readWorkflowNameIndex(bc: bare.ByteCursor): WorkflowNameIndex {
|
|
22
|
-
|
|
22
|
+
return bare.readU32(bc);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
export function writeWorkflowNameIndex(
|
|
26
|
-
|
|
25
|
+
export function writeWorkflowNameIndex(
|
|
26
|
+
bc: bare.ByteCursor,
|
|
27
|
+
x: WorkflowNameIndex,
|
|
28
|
+
): void {
|
|
29
|
+
bare.writeU32(bc, x);
|
|
27
30
|
}
|
|
28
31
|
|
|
29
32
|
export type WorkflowLoopIterationMarker = {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
+
readonly loop: WorkflowNameIndex;
|
|
34
|
+
readonly iteration: u32;
|
|
35
|
+
};
|
|
33
36
|
|
|
34
|
-
export function readWorkflowLoopIterationMarker(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
export function readWorkflowLoopIterationMarker(
|
|
38
|
+
bc: bare.ByteCursor,
|
|
39
|
+
): WorkflowLoopIterationMarker {
|
|
40
|
+
return {
|
|
41
|
+
loop: readWorkflowNameIndex(bc),
|
|
42
|
+
iteration: bare.readU32(bc),
|
|
43
|
+
};
|
|
39
44
|
}
|
|
40
45
|
|
|
41
|
-
export function writeWorkflowLoopIterationMarker(
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
export function writeWorkflowLoopIterationMarker(
|
|
47
|
+
bc: bare.ByteCursor,
|
|
48
|
+
x: WorkflowLoopIterationMarker,
|
|
49
|
+
): void {
|
|
50
|
+
writeWorkflowNameIndex(bc, x.loop);
|
|
51
|
+
bare.writeU32(bc, x.iteration);
|
|
44
52
|
}
|
|
45
53
|
|
|
46
54
|
export type WorkflowPathSegment =
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
55
|
+
| { readonly tag: "WorkflowNameIndex"; readonly val: WorkflowNameIndex }
|
|
56
|
+
| {
|
|
57
|
+
readonly tag: "WorkflowLoopIterationMarker";
|
|
58
|
+
readonly val: WorkflowLoopIterationMarker;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
export function readWorkflowPathSegment(
|
|
62
|
+
bc: bare.ByteCursor,
|
|
63
|
+
): WorkflowPathSegment {
|
|
64
|
+
const offset = bc.offset;
|
|
65
|
+
const tag = bare.readU8(bc);
|
|
66
|
+
switch (tag) {
|
|
67
|
+
case 0:
|
|
68
|
+
return { tag: "WorkflowNameIndex", val: readWorkflowNameIndex(bc) };
|
|
69
|
+
case 1:
|
|
70
|
+
return {
|
|
71
|
+
tag: "WorkflowLoopIterationMarker",
|
|
72
|
+
val: readWorkflowLoopIterationMarker(bc),
|
|
73
|
+
};
|
|
74
|
+
default: {
|
|
75
|
+
bc.offset = offset;
|
|
76
|
+
throw new bare.BareError(offset, "invalid tag");
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export function writeWorkflowPathSegment(
|
|
82
|
+
bc: bare.ByteCursor,
|
|
83
|
+
x: WorkflowPathSegment,
|
|
84
|
+
): void {
|
|
85
|
+
switch (x.tag) {
|
|
86
|
+
case "WorkflowNameIndex": {
|
|
87
|
+
bare.writeU8(bc, 0);
|
|
88
|
+
writeWorkflowNameIndex(bc, x.val);
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
case "WorkflowLoopIterationMarker": {
|
|
92
|
+
bare.writeU8(bc, 1);
|
|
93
|
+
writeWorkflowLoopIterationMarker(bc, x.val);
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export type WorkflowLocation = readonly WorkflowPathSegment[];
|
|
81
100
|
|
|
82
101
|
export function readWorkflowLocation(bc: bare.ByteCursor): WorkflowLocation {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
102
|
+
const len = bare.readUintSafe(bc);
|
|
103
|
+
if (len === 0) {
|
|
104
|
+
return [];
|
|
105
|
+
}
|
|
106
|
+
const result = [readWorkflowPathSegment(bc)];
|
|
107
|
+
for (let i = 1; i < len; i++) {
|
|
108
|
+
result[i] = readWorkflowPathSegment(bc);
|
|
109
|
+
}
|
|
110
|
+
return result;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export function writeWorkflowLocation(
|
|
114
|
+
bc: bare.ByteCursor,
|
|
115
|
+
x: WorkflowLocation,
|
|
116
|
+
): void {
|
|
117
|
+
bare.writeUintSafe(bc, x.length);
|
|
118
|
+
for (let i = 0; i < x.length; i++) {
|
|
119
|
+
writeWorkflowPathSegment(bc, x[i]);
|
|
120
|
+
}
|
|
97
121
|
}
|
|
98
122
|
|
|
99
123
|
export enum WorkflowEntryStatus {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
export function readWorkflowEntryStatus(
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
124
|
+
PENDING = "PENDING",
|
|
125
|
+
RUNNING = "RUNNING",
|
|
126
|
+
COMPLETED = "COMPLETED",
|
|
127
|
+
FAILED = "FAILED",
|
|
128
|
+
EXHAUSTED = "EXHAUSTED",
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export function readWorkflowEntryStatus(
|
|
132
|
+
bc: bare.ByteCursor,
|
|
133
|
+
): WorkflowEntryStatus {
|
|
134
|
+
const offset = bc.offset;
|
|
135
|
+
const tag = bare.readU8(bc);
|
|
136
|
+
switch (tag) {
|
|
137
|
+
case 0:
|
|
138
|
+
return WorkflowEntryStatus.PENDING;
|
|
139
|
+
case 1:
|
|
140
|
+
return WorkflowEntryStatus.RUNNING;
|
|
141
|
+
case 2:
|
|
142
|
+
return WorkflowEntryStatus.COMPLETED;
|
|
143
|
+
case 3:
|
|
144
|
+
return WorkflowEntryStatus.FAILED;
|
|
145
|
+
case 4:
|
|
146
|
+
return WorkflowEntryStatus.EXHAUSTED;
|
|
147
|
+
default: {
|
|
148
|
+
bc.offset = offset;
|
|
149
|
+
throw new bare.BareError(offset, "invalid tag");
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
export function writeWorkflowEntryStatus(
|
|
155
|
+
bc: bare.ByteCursor,
|
|
156
|
+
x: WorkflowEntryStatus,
|
|
157
|
+
): void {
|
|
158
|
+
switch (x) {
|
|
159
|
+
case WorkflowEntryStatus.PENDING: {
|
|
160
|
+
bare.writeU8(bc, 0);
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
case WorkflowEntryStatus.RUNNING: {
|
|
164
|
+
bare.writeU8(bc, 1);
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
case WorkflowEntryStatus.COMPLETED: {
|
|
168
|
+
bare.writeU8(bc, 2);
|
|
169
|
+
break;
|
|
170
|
+
}
|
|
171
|
+
case WorkflowEntryStatus.FAILED: {
|
|
172
|
+
bare.writeU8(bc, 3);
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
case WorkflowEntryStatus.EXHAUSTED: {
|
|
176
|
+
bare.writeU8(bc, 4);
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
151
180
|
}
|
|
152
181
|
|
|
153
182
|
export enum WorkflowSleepState {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
export function readWorkflowSleepState(
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
183
|
+
PENDING = "PENDING",
|
|
184
|
+
COMPLETED = "COMPLETED",
|
|
185
|
+
INTERRUPTED = "INTERRUPTED",
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
export function readWorkflowSleepState(
|
|
189
|
+
bc: bare.ByteCursor,
|
|
190
|
+
): WorkflowSleepState {
|
|
191
|
+
const offset = bc.offset;
|
|
192
|
+
const tag = bare.readU8(bc);
|
|
193
|
+
switch (tag) {
|
|
194
|
+
case 0:
|
|
195
|
+
return WorkflowSleepState.PENDING;
|
|
196
|
+
case 1:
|
|
197
|
+
return WorkflowSleepState.COMPLETED;
|
|
198
|
+
case 2:
|
|
199
|
+
return WorkflowSleepState.INTERRUPTED;
|
|
200
|
+
default: {
|
|
201
|
+
bc.offset = offset;
|
|
202
|
+
throw new bare.BareError(offset, "invalid tag");
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
export function writeWorkflowSleepState(
|
|
208
|
+
bc: bare.ByteCursor,
|
|
209
|
+
x: WorkflowSleepState,
|
|
210
|
+
): void {
|
|
211
|
+
switch (x) {
|
|
212
|
+
case WorkflowSleepState.PENDING: {
|
|
213
|
+
bare.writeU8(bc, 0);
|
|
214
|
+
break;
|
|
215
|
+
}
|
|
216
|
+
case WorkflowSleepState.COMPLETED: {
|
|
217
|
+
bare.writeU8(bc, 1);
|
|
218
|
+
break;
|
|
219
|
+
}
|
|
220
|
+
case WorkflowSleepState.INTERRUPTED: {
|
|
221
|
+
bare.writeU8(bc, 2);
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
191
225
|
}
|
|
192
226
|
|
|
193
227
|
export enum WorkflowBranchStatusType {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
export function readWorkflowBranchStatusType(
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
228
|
+
PENDING = "PENDING",
|
|
229
|
+
RUNNING = "RUNNING",
|
|
230
|
+
COMPLETED = "COMPLETED",
|
|
231
|
+
FAILED = "FAILED",
|
|
232
|
+
CANCELLED = "CANCELLED",
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
export function readWorkflowBranchStatusType(
|
|
236
|
+
bc: bare.ByteCursor,
|
|
237
|
+
): WorkflowBranchStatusType {
|
|
238
|
+
const offset = bc.offset;
|
|
239
|
+
const tag = bare.readU8(bc);
|
|
240
|
+
switch (tag) {
|
|
241
|
+
case 0:
|
|
242
|
+
return WorkflowBranchStatusType.PENDING;
|
|
243
|
+
case 1:
|
|
244
|
+
return WorkflowBranchStatusType.RUNNING;
|
|
245
|
+
case 2:
|
|
246
|
+
return WorkflowBranchStatusType.COMPLETED;
|
|
247
|
+
case 3:
|
|
248
|
+
return WorkflowBranchStatusType.FAILED;
|
|
249
|
+
case 4:
|
|
250
|
+
return WorkflowBranchStatusType.CANCELLED;
|
|
251
|
+
default: {
|
|
252
|
+
bc.offset = offset;
|
|
253
|
+
throw new bare.BareError(offset, "invalid tag");
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
export function writeWorkflowBranchStatusType(
|
|
259
|
+
bc: bare.ByteCursor,
|
|
260
|
+
x: WorkflowBranchStatusType,
|
|
261
|
+
): void {
|
|
262
|
+
switch (x) {
|
|
263
|
+
case WorkflowBranchStatusType.PENDING: {
|
|
264
|
+
bare.writeU8(bc, 0);
|
|
265
|
+
break;
|
|
266
|
+
}
|
|
267
|
+
case WorkflowBranchStatusType.RUNNING: {
|
|
268
|
+
bare.writeU8(bc, 1);
|
|
269
|
+
break;
|
|
270
|
+
}
|
|
271
|
+
case WorkflowBranchStatusType.COMPLETED: {
|
|
272
|
+
bare.writeU8(bc, 2);
|
|
273
|
+
break;
|
|
274
|
+
}
|
|
275
|
+
case WorkflowBranchStatusType.FAILED: {
|
|
276
|
+
bare.writeU8(bc, 3);
|
|
277
|
+
break;
|
|
278
|
+
}
|
|
279
|
+
case WorkflowBranchStatusType.CANCELLED: {
|
|
280
|
+
bare.writeU8(bc, 4);
|
|
281
|
+
break;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
245
284
|
}
|
|
246
285
|
|
|
247
286
|
function read0(bc: bare.ByteCursor): WorkflowCbor | null {
|
|
248
|
-
|
|
249
|
-
? readWorkflowCbor(bc)
|
|
250
|
-
: null
|
|
287
|
+
return bare.readBool(bc) ? readWorkflowCbor(bc) : null;
|
|
251
288
|
}
|
|
252
289
|
|
|
253
290
|
function write0(bc: bare.ByteCursor, x: WorkflowCbor | null): void {
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
291
|
+
bare.writeBool(bc, x !== null);
|
|
292
|
+
if (x !== null) {
|
|
293
|
+
writeWorkflowCbor(bc, x);
|
|
294
|
+
}
|
|
258
295
|
}
|
|
259
296
|
|
|
260
297
|
function read1(bc: bare.ByteCursor): string | null {
|
|
261
|
-
|
|
262
|
-
? bare.readString(bc)
|
|
263
|
-
: null
|
|
298
|
+
return bare.readBool(bc) ? bare.readString(bc) : null;
|
|
264
299
|
}
|
|
265
300
|
|
|
266
301
|
function write1(bc: bare.ByteCursor, x: string | null): void {
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
302
|
+
bare.writeBool(bc, x !== null);
|
|
303
|
+
if (x !== null) {
|
|
304
|
+
bare.writeString(bc, x);
|
|
305
|
+
}
|
|
271
306
|
}
|
|
272
307
|
|
|
273
308
|
export type WorkflowStepEntry = {
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
}
|
|
309
|
+
readonly output: WorkflowCbor | null;
|
|
310
|
+
readonly error: string | null;
|
|
311
|
+
};
|
|
277
312
|
|
|
278
313
|
export function readWorkflowStepEntry(bc: bare.ByteCursor): WorkflowStepEntry {
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
314
|
+
return {
|
|
315
|
+
output: read0(bc),
|
|
316
|
+
error: read1(bc),
|
|
317
|
+
};
|
|
283
318
|
}
|
|
284
319
|
|
|
285
|
-
export function writeWorkflowStepEntry(
|
|
286
|
-
|
|
287
|
-
|
|
320
|
+
export function writeWorkflowStepEntry(
|
|
321
|
+
bc: bare.ByteCursor,
|
|
322
|
+
x: WorkflowStepEntry,
|
|
323
|
+
): void {
|
|
324
|
+
write0(bc, x.output);
|
|
325
|
+
write1(bc, x.error);
|
|
288
326
|
}
|
|
289
327
|
|
|
290
328
|
export type WorkflowLoopEntry = {
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
}
|
|
329
|
+
readonly state: WorkflowCbor;
|
|
330
|
+
readonly iteration: u32;
|
|
331
|
+
readonly output: WorkflowCbor | null;
|
|
332
|
+
};
|
|
295
333
|
|
|
296
334
|
export function readWorkflowLoopEntry(bc: bare.ByteCursor): WorkflowLoopEntry {
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
335
|
+
return {
|
|
336
|
+
state: readWorkflowCbor(bc),
|
|
337
|
+
iteration: bare.readU32(bc),
|
|
338
|
+
output: read0(bc),
|
|
339
|
+
};
|
|
302
340
|
}
|
|
303
341
|
|
|
304
|
-
export function writeWorkflowLoopEntry(
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
342
|
+
export function writeWorkflowLoopEntry(
|
|
343
|
+
bc: bare.ByteCursor,
|
|
344
|
+
x: WorkflowLoopEntry,
|
|
345
|
+
): void {
|
|
346
|
+
writeWorkflowCbor(bc, x.state);
|
|
347
|
+
bare.writeU32(bc, x.iteration);
|
|
348
|
+
write0(bc, x.output);
|
|
308
349
|
}
|
|
309
350
|
|
|
310
351
|
export type WorkflowSleepEntry = {
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
}
|
|
352
|
+
readonly deadline: u64;
|
|
353
|
+
readonly state: WorkflowSleepState;
|
|
354
|
+
};
|
|
314
355
|
|
|
315
|
-
export function readWorkflowSleepEntry(
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
356
|
+
export function readWorkflowSleepEntry(
|
|
357
|
+
bc: bare.ByteCursor,
|
|
358
|
+
): WorkflowSleepEntry {
|
|
359
|
+
return {
|
|
360
|
+
deadline: bare.readU64(bc),
|
|
361
|
+
state: readWorkflowSleepState(bc),
|
|
362
|
+
};
|
|
320
363
|
}
|
|
321
364
|
|
|
322
|
-
export function writeWorkflowSleepEntry(
|
|
323
|
-
|
|
324
|
-
|
|
365
|
+
export function writeWorkflowSleepEntry(
|
|
366
|
+
bc: bare.ByteCursor,
|
|
367
|
+
x: WorkflowSleepEntry,
|
|
368
|
+
): void {
|
|
369
|
+
bare.writeU64(bc, x.deadline);
|
|
370
|
+
writeWorkflowSleepState(bc, x.state);
|
|
325
371
|
}
|
|
326
372
|
|
|
327
373
|
export type WorkflowMessageEntry = {
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
}
|
|
374
|
+
readonly name: string;
|
|
375
|
+
readonly messageData: WorkflowCbor;
|
|
376
|
+
};
|
|
331
377
|
|
|
332
|
-
export function readWorkflowMessageEntry(
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
378
|
+
export function readWorkflowMessageEntry(
|
|
379
|
+
bc: bare.ByteCursor,
|
|
380
|
+
): WorkflowMessageEntry {
|
|
381
|
+
return {
|
|
382
|
+
name: bare.readString(bc),
|
|
383
|
+
messageData: readWorkflowCbor(bc),
|
|
384
|
+
};
|
|
337
385
|
}
|
|
338
386
|
|
|
339
|
-
export function writeWorkflowMessageEntry(
|
|
340
|
-
|
|
341
|
-
|
|
387
|
+
export function writeWorkflowMessageEntry(
|
|
388
|
+
bc: bare.ByteCursor,
|
|
389
|
+
x: WorkflowMessageEntry,
|
|
390
|
+
): void {
|
|
391
|
+
bare.writeString(bc, x.name);
|
|
392
|
+
writeWorkflowCbor(bc, x.messageData);
|
|
342
393
|
}
|
|
343
394
|
|
|
344
395
|
export type WorkflowRollbackCheckpointEntry = {
|
|
345
|
-
|
|
346
|
-
}
|
|
396
|
+
readonly name: string;
|
|
397
|
+
};
|
|
347
398
|
|
|
348
|
-
export function readWorkflowRollbackCheckpointEntry(
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
399
|
+
export function readWorkflowRollbackCheckpointEntry(
|
|
400
|
+
bc: bare.ByteCursor,
|
|
401
|
+
): WorkflowRollbackCheckpointEntry {
|
|
402
|
+
return {
|
|
403
|
+
name: bare.readString(bc),
|
|
404
|
+
};
|
|
352
405
|
}
|
|
353
406
|
|
|
354
|
-
export function writeWorkflowRollbackCheckpointEntry(
|
|
355
|
-
|
|
407
|
+
export function writeWorkflowRollbackCheckpointEntry(
|
|
408
|
+
bc: bare.ByteCursor,
|
|
409
|
+
x: WorkflowRollbackCheckpointEntry,
|
|
410
|
+
): void {
|
|
411
|
+
bare.writeString(bc, x.name);
|
|
356
412
|
}
|
|
357
413
|
|
|
358
414
|
export type WorkflowBranchStatus = {
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
export function readWorkflowBranchStatus(
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
415
|
+
readonly status: WorkflowBranchStatusType;
|
|
416
|
+
readonly output: WorkflowCbor | null;
|
|
417
|
+
readonly error: string | null;
|
|
418
|
+
};
|
|
419
|
+
|
|
420
|
+
export function readWorkflowBranchStatus(
|
|
421
|
+
bc: bare.ByteCursor,
|
|
422
|
+
): WorkflowBranchStatus {
|
|
423
|
+
return {
|
|
424
|
+
status: readWorkflowBranchStatusType(bc),
|
|
425
|
+
output: read0(bc),
|
|
426
|
+
error: read1(bc),
|
|
427
|
+
};
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
export function writeWorkflowBranchStatus(
|
|
431
|
+
bc: bare.ByteCursor,
|
|
432
|
+
x: WorkflowBranchStatus,
|
|
433
|
+
): void {
|
|
434
|
+
writeWorkflowBranchStatusType(bc, x.status);
|
|
435
|
+
write0(bc, x.output);
|
|
436
|
+
write1(bc, x.error);
|
|
376
437
|
}
|
|
377
438
|
|
|
378
439
|
function read2(bc: bare.ByteCursor): ReadonlyMap<string, WorkflowBranchStatus> {
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
function write2(
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
440
|
+
const len = bare.readUintSafe(bc);
|
|
441
|
+
const result = new Map<string, WorkflowBranchStatus>();
|
|
442
|
+
for (let i = 0; i < len; i++) {
|
|
443
|
+
const offset = bc.offset;
|
|
444
|
+
const key = bare.readString(bc);
|
|
445
|
+
if (result.has(key)) {
|
|
446
|
+
bc.offset = offset;
|
|
447
|
+
throw new bare.BareError(offset, "duplicated key");
|
|
448
|
+
}
|
|
449
|
+
result.set(key, readWorkflowBranchStatus(bc));
|
|
450
|
+
}
|
|
451
|
+
return result;
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
function write2(
|
|
455
|
+
bc: bare.ByteCursor,
|
|
456
|
+
x: ReadonlyMap<string, WorkflowBranchStatus>,
|
|
457
|
+
): void {
|
|
458
|
+
bare.writeUintSafe(bc, x.size);
|
|
459
|
+
for (const kv of x) {
|
|
460
|
+
bare.writeString(bc, kv[0]);
|
|
461
|
+
writeWorkflowBranchStatus(bc, kv[1]);
|
|
462
|
+
}
|
|
399
463
|
}
|
|
400
464
|
|
|
401
465
|
export type WorkflowJoinEntry = {
|
|
402
|
-
|
|
403
|
-
}
|
|
466
|
+
readonly branches: ReadonlyMap<string, WorkflowBranchStatus>;
|
|
467
|
+
};
|
|
404
468
|
|
|
405
469
|
export function readWorkflowJoinEntry(bc: bare.ByteCursor): WorkflowJoinEntry {
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
470
|
+
return {
|
|
471
|
+
branches: read2(bc),
|
|
472
|
+
};
|
|
409
473
|
}
|
|
410
474
|
|
|
411
|
-
export function writeWorkflowJoinEntry(
|
|
412
|
-
|
|
475
|
+
export function writeWorkflowJoinEntry(
|
|
476
|
+
bc: bare.ByteCursor,
|
|
477
|
+
x: WorkflowJoinEntry,
|
|
478
|
+
): void {
|
|
479
|
+
write2(bc, x.branches);
|
|
413
480
|
}
|
|
414
481
|
|
|
415
482
|
export type WorkflowRaceEntry = {
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
}
|
|
483
|
+
readonly winner: string | null;
|
|
484
|
+
readonly branches: ReadonlyMap<string, WorkflowBranchStatus>;
|
|
485
|
+
};
|
|
419
486
|
|
|
420
487
|
export function readWorkflowRaceEntry(bc: bare.ByteCursor): WorkflowRaceEntry {
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
488
|
+
return {
|
|
489
|
+
winner: read1(bc),
|
|
490
|
+
branches: read2(bc),
|
|
491
|
+
};
|
|
425
492
|
}
|
|
426
493
|
|
|
427
|
-
export function writeWorkflowRaceEntry(
|
|
428
|
-
|
|
429
|
-
|
|
494
|
+
export function writeWorkflowRaceEntry(
|
|
495
|
+
bc: bare.ByteCursor,
|
|
496
|
+
x: WorkflowRaceEntry,
|
|
497
|
+
): void {
|
|
498
|
+
write1(bc, x.winner);
|
|
499
|
+
write2(bc, x.branches);
|
|
430
500
|
}
|
|
431
501
|
|
|
432
502
|
export type WorkflowRemovedEntry = {
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
}
|
|
503
|
+
readonly originalType: string;
|
|
504
|
+
readonly originalName: string | null;
|
|
505
|
+
};
|
|
436
506
|
|
|
437
|
-
export function readWorkflowRemovedEntry(
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
507
|
+
export function readWorkflowRemovedEntry(
|
|
508
|
+
bc: bare.ByteCursor,
|
|
509
|
+
): WorkflowRemovedEntry {
|
|
510
|
+
return {
|
|
511
|
+
originalType: bare.readString(bc),
|
|
512
|
+
originalName: read1(bc),
|
|
513
|
+
};
|
|
442
514
|
}
|
|
443
515
|
|
|
444
|
-
export function writeWorkflowRemovedEntry(
|
|
445
|
-
|
|
446
|
-
|
|
516
|
+
export function writeWorkflowRemovedEntry(
|
|
517
|
+
bc: bare.ByteCursor,
|
|
518
|
+
x: WorkflowRemovedEntry,
|
|
519
|
+
): void {
|
|
520
|
+
bare.writeString(bc, x.originalType);
|
|
521
|
+
write1(bc, x.originalName);
|
|
447
522
|
}
|
|
448
523
|
|
|
449
524
|
export type WorkflowEntryKind =
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
525
|
+
| { readonly tag: "WorkflowStepEntry"; readonly val: WorkflowStepEntry }
|
|
526
|
+
| { readonly tag: "WorkflowLoopEntry"; readonly val: WorkflowLoopEntry }
|
|
527
|
+
| { readonly tag: "WorkflowSleepEntry"; readonly val: WorkflowSleepEntry }
|
|
528
|
+
| {
|
|
529
|
+
readonly tag: "WorkflowMessageEntry";
|
|
530
|
+
readonly val: WorkflowMessageEntry;
|
|
531
|
+
}
|
|
532
|
+
| {
|
|
533
|
+
readonly tag: "WorkflowRollbackCheckpointEntry";
|
|
534
|
+
readonly val: WorkflowRollbackCheckpointEntry;
|
|
535
|
+
}
|
|
536
|
+
| { readonly tag: "WorkflowJoinEntry"; readonly val: WorkflowJoinEntry }
|
|
537
|
+
| { readonly tag: "WorkflowRaceEntry"; readonly val: WorkflowRaceEntry }
|
|
538
|
+
| {
|
|
539
|
+
readonly tag: "WorkflowRemovedEntry";
|
|
540
|
+
readonly val: WorkflowRemovedEntry;
|
|
541
|
+
};
|
|
458
542
|
|
|
459
543
|
export function readWorkflowEntryKind(bc: bare.ByteCursor): WorkflowEntryKind {
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
544
|
+
const offset = bc.offset;
|
|
545
|
+
const tag = bare.readU8(bc);
|
|
546
|
+
switch (tag) {
|
|
547
|
+
case 0:
|
|
548
|
+
return { tag: "WorkflowStepEntry", val: readWorkflowStepEntry(bc) };
|
|
549
|
+
case 1:
|
|
550
|
+
return { tag: "WorkflowLoopEntry", val: readWorkflowLoopEntry(bc) };
|
|
551
|
+
case 2:
|
|
552
|
+
return {
|
|
553
|
+
tag: "WorkflowSleepEntry",
|
|
554
|
+
val: readWorkflowSleepEntry(bc),
|
|
555
|
+
};
|
|
556
|
+
case 3:
|
|
557
|
+
return {
|
|
558
|
+
tag: "WorkflowMessageEntry",
|
|
559
|
+
val: readWorkflowMessageEntry(bc),
|
|
560
|
+
};
|
|
561
|
+
case 4:
|
|
562
|
+
return {
|
|
563
|
+
tag: "WorkflowRollbackCheckpointEntry",
|
|
564
|
+
val: readWorkflowRollbackCheckpointEntry(bc),
|
|
565
|
+
};
|
|
566
|
+
case 5:
|
|
567
|
+
return { tag: "WorkflowJoinEntry", val: readWorkflowJoinEntry(bc) };
|
|
568
|
+
case 6:
|
|
569
|
+
return { tag: "WorkflowRaceEntry", val: readWorkflowRaceEntry(bc) };
|
|
570
|
+
case 7:
|
|
571
|
+
return {
|
|
572
|
+
tag: "WorkflowRemovedEntry",
|
|
573
|
+
val: readWorkflowRemovedEntry(bc),
|
|
574
|
+
};
|
|
575
|
+
default: {
|
|
576
|
+
bc.offset = offset;
|
|
577
|
+
throw new bare.BareError(offset, "invalid tag");
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
export function writeWorkflowEntryKind(
|
|
583
|
+
bc: bare.ByteCursor,
|
|
584
|
+
x: WorkflowEntryKind,
|
|
585
|
+
): void {
|
|
586
|
+
switch (x.tag) {
|
|
587
|
+
case "WorkflowStepEntry": {
|
|
588
|
+
bare.writeU8(bc, 0);
|
|
589
|
+
writeWorkflowStepEntry(bc, x.val);
|
|
590
|
+
break;
|
|
591
|
+
}
|
|
592
|
+
case "WorkflowLoopEntry": {
|
|
593
|
+
bare.writeU8(bc, 1);
|
|
594
|
+
writeWorkflowLoopEntry(bc, x.val);
|
|
595
|
+
break;
|
|
596
|
+
}
|
|
597
|
+
case "WorkflowSleepEntry": {
|
|
598
|
+
bare.writeU8(bc, 2);
|
|
599
|
+
writeWorkflowSleepEntry(bc, x.val);
|
|
600
|
+
break;
|
|
601
|
+
}
|
|
602
|
+
case "WorkflowMessageEntry": {
|
|
603
|
+
bare.writeU8(bc, 3);
|
|
604
|
+
writeWorkflowMessageEntry(bc, x.val);
|
|
605
|
+
break;
|
|
606
|
+
}
|
|
607
|
+
case "WorkflowRollbackCheckpointEntry": {
|
|
608
|
+
bare.writeU8(bc, 4);
|
|
609
|
+
writeWorkflowRollbackCheckpointEntry(bc, x.val);
|
|
610
|
+
break;
|
|
611
|
+
}
|
|
612
|
+
case "WorkflowJoinEntry": {
|
|
613
|
+
bare.writeU8(bc, 5);
|
|
614
|
+
writeWorkflowJoinEntry(bc, x.val);
|
|
615
|
+
break;
|
|
616
|
+
}
|
|
617
|
+
case "WorkflowRaceEntry": {
|
|
618
|
+
bare.writeU8(bc, 6);
|
|
619
|
+
writeWorkflowRaceEntry(bc, x.val);
|
|
620
|
+
break;
|
|
621
|
+
}
|
|
622
|
+
case "WorkflowRemovedEntry": {
|
|
623
|
+
bare.writeU8(bc, 7);
|
|
624
|
+
writeWorkflowRemovedEntry(bc, x.val);
|
|
625
|
+
break;
|
|
626
|
+
}
|
|
627
|
+
}
|
|
529
628
|
}
|
|
530
629
|
|
|
531
630
|
export type WorkflowEntry = {
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
}
|
|
631
|
+
readonly id: string;
|
|
632
|
+
readonly location: WorkflowLocation;
|
|
633
|
+
readonly kind: WorkflowEntryKind;
|
|
634
|
+
};
|
|
536
635
|
|
|
537
636
|
export function readWorkflowEntry(bc: bare.ByteCursor): WorkflowEntry {
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
637
|
+
return {
|
|
638
|
+
id: bare.readString(bc),
|
|
639
|
+
location: readWorkflowLocation(bc),
|
|
640
|
+
kind: readWorkflowEntryKind(bc),
|
|
641
|
+
};
|
|
543
642
|
}
|
|
544
643
|
|
|
545
|
-
export function writeWorkflowEntry(
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
644
|
+
export function writeWorkflowEntry(
|
|
645
|
+
bc: bare.ByteCursor,
|
|
646
|
+
x: WorkflowEntry,
|
|
647
|
+
): void {
|
|
648
|
+
bare.writeString(bc, x.id);
|
|
649
|
+
writeWorkflowLocation(bc, x.location);
|
|
650
|
+
writeWorkflowEntryKind(bc, x.kind);
|
|
549
651
|
}
|
|
550
652
|
|
|
551
653
|
function read3(bc: bare.ByteCursor): u64 | null {
|
|
552
|
-
|
|
553
|
-
? bare.readU64(bc)
|
|
554
|
-
: null
|
|
654
|
+
return bare.readBool(bc) ? bare.readU64(bc) : null;
|
|
555
655
|
}
|
|
556
656
|
|
|
557
657
|
function write3(bc: bare.ByteCursor, x: u64 | null): void {
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
658
|
+
bare.writeBool(bc, x !== null);
|
|
659
|
+
if (x !== null) {
|
|
660
|
+
bare.writeU64(bc, x);
|
|
661
|
+
}
|
|
562
662
|
}
|
|
563
663
|
|
|
564
664
|
export type WorkflowEntryMetadata = {
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
}
|
|
574
|
-
|
|
575
|
-
export function readWorkflowEntryMetadata(
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
665
|
+
readonly status: WorkflowEntryStatus;
|
|
666
|
+
readonly error: string | null;
|
|
667
|
+
readonly attempts: u32;
|
|
668
|
+
readonly lastAttemptAt: u64;
|
|
669
|
+
readonly createdAt: u64;
|
|
670
|
+
readonly completedAt: u64 | null;
|
|
671
|
+
readonly rollbackCompletedAt: u64 | null;
|
|
672
|
+
readonly rollbackError: string | null;
|
|
673
|
+
};
|
|
674
|
+
|
|
675
|
+
export function readWorkflowEntryMetadata(
|
|
676
|
+
bc: bare.ByteCursor,
|
|
677
|
+
): WorkflowEntryMetadata {
|
|
678
|
+
return {
|
|
679
|
+
status: readWorkflowEntryStatus(bc),
|
|
680
|
+
error: read1(bc),
|
|
681
|
+
attempts: bare.readU32(bc),
|
|
682
|
+
lastAttemptAt: bare.readU64(bc),
|
|
683
|
+
createdAt: bare.readU64(bc),
|
|
684
|
+
completedAt: read3(bc),
|
|
685
|
+
rollbackCompletedAt: read3(bc),
|
|
686
|
+
rollbackError: read1(bc),
|
|
687
|
+
};
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
export function writeWorkflowEntryMetadata(
|
|
691
|
+
bc: bare.ByteCursor,
|
|
692
|
+
x: WorkflowEntryMetadata,
|
|
693
|
+
): void {
|
|
694
|
+
writeWorkflowEntryStatus(bc, x.status);
|
|
695
|
+
write1(bc, x.error);
|
|
696
|
+
bare.writeU32(bc, x.attempts);
|
|
697
|
+
bare.writeU64(bc, x.lastAttemptAt);
|
|
698
|
+
bare.writeU64(bc, x.createdAt);
|
|
699
|
+
write3(bc, x.completedAt);
|
|
700
|
+
write3(bc, x.rollbackCompletedAt);
|
|
701
|
+
write1(bc, x.rollbackError);
|
|
597
702
|
}
|
|
598
703
|
|
|
599
704
|
function read4(bc: bare.ByteCursor): readonly string[] {
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
705
|
+
const len = bare.readUintSafe(bc);
|
|
706
|
+
if (len === 0) {
|
|
707
|
+
return [];
|
|
708
|
+
}
|
|
709
|
+
const result = [bare.readString(bc)];
|
|
710
|
+
for (let i = 1; i < len; i++) {
|
|
711
|
+
result[i] = bare.readString(bc);
|
|
712
|
+
}
|
|
713
|
+
return result;
|
|
607
714
|
}
|
|
608
715
|
|
|
609
716
|
function write4(bc: bare.ByteCursor, x: readonly string[]): void {
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
717
|
+
bare.writeUintSafe(bc, x.length);
|
|
718
|
+
for (let i = 0; i < x.length; i++) {
|
|
719
|
+
bare.writeString(bc, x[i]);
|
|
720
|
+
}
|
|
614
721
|
}
|
|
615
722
|
|
|
616
723
|
function read5(bc: bare.ByteCursor): readonly WorkflowEntry[] {
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
724
|
+
const len = bare.readUintSafe(bc);
|
|
725
|
+
if (len === 0) {
|
|
726
|
+
return [];
|
|
727
|
+
}
|
|
728
|
+
const result = [readWorkflowEntry(bc)];
|
|
729
|
+
for (let i = 1; i < len; i++) {
|
|
730
|
+
result[i] = readWorkflowEntry(bc);
|
|
731
|
+
}
|
|
732
|
+
return result;
|
|
624
733
|
}
|
|
625
734
|
|
|
626
735
|
function write5(bc: bare.ByteCursor, x: readonly WorkflowEntry[]): void {
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
}
|
|
632
|
-
|
|
633
|
-
function read6(
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
}
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
736
|
+
bare.writeUintSafe(bc, x.length);
|
|
737
|
+
for (let i = 0; i < x.length; i++) {
|
|
738
|
+
writeWorkflowEntry(bc, x[i]);
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
|
|
742
|
+
function read6(
|
|
743
|
+
bc: bare.ByteCursor,
|
|
744
|
+
): ReadonlyMap<string, WorkflowEntryMetadata> {
|
|
745
|
+
const len = bare.readUintSafe(bc);
|
|
746
|
+
const result = new Map<string, WorkflowEntryMetadata>();
|
|
747
|
+
for (let i = 0; i < len; i++) {
|
|
748
|
+
const offset = bc.offset;
|
|
749
|
+
const key = bare.readString(bc);
|
|
750
|
+
if (result.has(key)) {
|
|
751
|
+
bc.offset = offset;
|
|
752
|
+
throw new bare.BareError(offset, "duplicated key");
|
|
753
|
+
}
|
|
754
|
+
result.set(key, readWorkflowEntryMetadata(bc));
|
|
755
|
+
}
|
|
756
|
+
return result;
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
function write6(
|
|
760
|
+
bc: bare.ByteCursor,
|
|
761
|
+
x: ReadonlyMap<string, WorkflowEntryMetadata>,
|
|
762
|
+
): void {
|
|
763
|
+
bare.writeUintSafe(bc, x.size);
|
|
764
|
+
for (const kv of x) {
|
|
765
|
+
bare.writeString(bc, kv[0]);
|
|
766
|
+
writeWorkflowEntryMetadata(bc, kv[1]);
|
|
767
|
+
}
|
|
654
768
|
}
|
|
655
769
|
|
|
656
770
|
export type WorkflowHistory = {
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
}
|
|
771
|
+
readonly nameRegistry: readonly string[];
|
|
772
|
+
readonly entries: readonly WorkflowEntry[];
|
|
773
|
+
readonly entryMetadata: ReadonlyMap<string, WorkflowEntryMetadata>;
|
|
774
|
+
};
|
|
661
775
|
|
|
662
776
|
export function readWorkflowHistory(bc: bare.ByteCursor): WorkflowHistory {
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
777
|
+
return {
|
|
778
|
+
nameRegistry: read4(bc),
|
|
779
|
+
entries: read5(bc),
|
|
780
|
+
entryMetadata: read6(bc),
|
|
781
|
+
};
|
|
668
782
|
}
|
|
669
783
|
|
|
670
|
-
export function writeWorkflowHistory(
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
784
|
+
export function writeWorkflowHistory(
|
|
785
|
+
bc: bare.ByteCursor,
|
|
786
|
+
x: WorkflowHistory,
|
|
787
|
+
): void {
|
|
788
|
+
write4(bc, x.nameRegistry);
|
|
789
|
+
write5(bc, x.entries);
|
|
790
|
+
write6(bc, x.entryMetadata);
|
|
674
791
|
}
|
|
675
792
|
|
|
676
793
|
export function encodeWorkflowHistory(x: WorkflowHistory): Uint8Array {
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
794
|
+
const bc = new bare.ByteCursor(
|
|
795
|
+
new Uint8Array(config.initialBufferLength),
|
|
796
|
+
config,
|
|
797
|
+
);
|
|
798
|
+
writeWorkflowHistory(bc, x);
|
|
799
|
+
return new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);
|
|
683
800
|
}
|
|
684
801
|
|
|
685
802
|
export function decodeWorkflowHistory(bytes: Uint8Array): WorkflowHistory {
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
803
|
+
const bc = new bare.ByteCursor(bytes, config);
|
|
804
|
+
const result = readWorkflowHistory(bc);
|
|
805
|
+
if (bc.offset < bc.view.byteLength) {
|
|
806
|
+
throw new bare.BareError(bc.offset, "remaining bytes");
|
|
807
|
+
}
|
|
808
|
+
return result;
|
|
692
809
|
}
|
|
693
810
|
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
if (!condition) throw new Error(message ?? "Assertion failed")
|
|
811
|
+
function _assert(condition: boolean, message?: string): asserts condition {
|
|
812
|
+
if (!condition) throw new Error(message ?? "Assertion failed");
|
|
697
813
|
}
|