rivetkit 2.3.3-rc.1 → 2.3.3-rc.2
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 +1 -0
- package/dist/browser/client.js +9 -6
- package/dist/browser/client.js.map +1 -1
- package/dist/browser/inspector/client.d.ts +22 -2
- package/dist/browser/inspector/client.js +996 -222
- package/dist/browser/inspector/client.js.map +1 -1
- package/dist/tsup/agent-os/index.cjs +9 -6
- package/dist/tsup/agent-os/index.cjs.map +1 -1
- package/dist/tsup/agent-os/index.d.cts +1 -0
- package/dist/tsup/agent-os/index.d.ts +1 -0
- package/dist/tsup/agent-os/index.js +9 -6
- package/dist/tsup/agent-os/index.js.map +1 -1
- package/dist/tsup/{chunk-KVSK67EL.cjs → chunk-6JRGYOBR.cjs} +18 -10
- package/dist/tsup/chunk-6JRGYOBR.cjs.map +1 -0
- package/dist/tsup/{chunk-TXO4XNNB.js → chunk-CLQHFXG3.js} +2 -2
- package/dist/tsup/{chunk-VEJGWALU.cjs → chunk-GRXM3FQX.cjs} +3 -3
- package/dist/tsup/{chunk-VEJGWALU.cjs.map → chunk-GRXM3FQX.cjs.map} +1 -1
- package/dist/tsup/{chunk-T5YE5THK.cjs → chunk-LIZO2BE3.cjs} +24 -4
- package/dist/tsup/chunk-LIZO2BE3.cjs.map +1 -0
- package/dist/tsup/{chunk-EIB2XNTL.js → chunk-OUIOGTEL.js} +12 -4
- package/dist/tsup/chunk-OUIOGTEL.js.map +1 -0
- package/dist/tsup/{chunk-CN4IAGVP.cjs → chunk-Q3DY23PN.cjs} +141 -141
- package/dist/tsup/{chunk-CN4IAGVP.cjs.map → chunk-Q3DY23PN.cjs.map} +1 -1
- package/dist/tsup/{chunk-J7NGTEDW.js → chunk-Q6EIXJ2L.js} +3 -3
- package/dist/tsup/{chunk-GMD47RV5.cjs → chunk-QIRZKXPN.cjs} +5 -5
- package/dist/tsup/{chunk-GMD47RV5.cjs.map → chunk-QIRZKXPN.cjs.map} +1 -1
- package/dist/tsup/{chunk-3UWWME7J.js → chunk-QRPFFGZB.js} +22 -2
- package/dist/tsup/chunk-QRPFFGZB.js.map +1 -0
- package/dist/tsup/{chunk-CFVNICL7.cjs → chunk-QXKIL5NU.cjs} +7 -7
- package/dist/tsup/{chunk-CFVNICL7.cjs.map → chunk-QXKIL5NU.cjs.map} +1 -1
- package/dist/tsup/{chunk-MLFI5BLT.cjs → chunk-SNTYTMHE.cjs} +12 -8
- package/dist/tsup/chunk-SNTYTMHE.cjs.map +1 -0
- package/dist/tsup/{chunk-2ZBWR7HC.js → chunk-URLGKL2B.js} +2 -2
- package/dist/tsup/{chunk-D5KMS3WU.js → chunk-VPKNVMUA.js} +11 -7
- package/dist/tsup/chunk-VPKNVMUA.js.map +1 -0
- package/dist/tsup/{chunk-VNWYKWBM.js → chunk-ZEBW32PT.js} +7 -7
- package/dist/tsup/client/mod.cjs +7 -7
- package/dist/tsup/client/mod.cjs.map +1 -1
- package/dist/tsup/client/mod.d.cts +2 -2
- package/dist/tsup/client/mod.d.ts +2 -2
- package/dist/tsup/client/mod.js +6 -6
- package/dist/tsup/common/log.cjs +4 -2
- package/dist/tsup/common/log.cjs.map +1 -1
- package/dist/tsup/common/log.d.cts +5 -1
- package/dist/tsup/common/log.d.ts +5 -1
- package/dist/tsup/common/log.js +5 -3
- package/dist/tsup/common/websocket.cjs +3 -3
- package/dist/tsup/common/websocket.js +2 -2
- package/dist/tsup/{config-CzvopP5m.d.cts → config-BfBhjEbk.d.cts} +1 -0
- package/dist/tsup/{config-DZuT7tcp.d.ts → config-ZkIsRFsN.d.ts} +1 -0
- package/dist/tsup/{context-CyAdY-aA.d.ts → context-B7-84u9K.d.ts} +2 -1
- package/dist/tsup/{context-sNB28g0N.d.cts → context-sZ9GlaBK.d.cts} +2 -1
- package/dist/tsup/dynamic/mod.d.cts +1 -1
- package/dist/tsup/dynamic/mod.d.ts +1 -1
- package/dist/tsup/inspector/mod.cjs +46 -11
- package/dist/tsup/inspector/mod.cjs.map +1 -1
- package/dist/tsup/inspector/mod.d.cts +37 -15
- package/dist/tsup/inspector/mod.d.ts +37 -15
- package/dist/tsup/inspector/mod.js +45 -10
- package/dist/tsup/inspector/mod.js.map +1 -1
- package/dist/tsup/inspector-tab/mod.cjs +1 -12
- package/dist/tsup/inspector-tab/mod.cjs.map +1 -1
- package/dist/tsup/inspector-tab/mod.d.cts +3 -13
- package/dist/tsup/inspector-tab/mod.d.ts +3 -13
- package/dist/tsup/inspector-tab/mod.js +0 -11
- package/dist/tsup/inspector-tab/mod.js.map +1 -1
- package/dist/tsup/mod.cjs +121 -62
- package/dist/tsup/mod.cjs.map +1 -1
- package/dist/tsup/mod.d.cts +3 -3
- package/dist/tsup/mod.d.ts +3 -3
- package/dist/tsup/mod.js +66 -7
- package/dist/tsup/mod.js.map +1 -1
- package/dist/tsup/test/mod.cjs +10 -10
- package/dist/tsup/test/mod.d.cts +1 -1
- package/dist/tsup/test/mod.d.ts +1 -1
- package/dist/tsup/test/mod.js +6 -6
- package/dist/tsup/utils.cjs +2 -2
- package/dist/tsup/utils.js +1 -1
- package/dist/tsup/workflow/mod.cjs +10 -7
- package/dist/tsup/workflow/mod.cjs.map +1 -1
- package/dist/tsup/workflow/mod.d.cts +3 -3
- package/dist/tsup/workflow/mod.d.ts +3 -3
- package/dist/tsup/workflow/mod.js +7 -4
- package/dist/tsup/workflow/mod.js.map +1 -1
- package/package.json +8 -8
- package/src/common/bare/generated/inspector/v5.ts +1016 -0
- package/src/common/bare/transport/v1.ts +36 -0
- package/src/common/log.ts +14 -8
- package/src/inspector/client.browser.ts +73 -16
- package/src/inspector/mod.ts +1 -1
- package/src/inspector-tab/mod.ts +0 -15
- package/src/registry/index.ts +4 -0
- package/src/registry/napi-runtime.ts +11 -0
- package/src/registry/native.ts +70 -2
- package/src/registry/runtime.ts +1 -0
- package/src/registry/wasm-runtime.ts +5 -0
- package/src/workflow/context.ts +4 -0
- package/src/workflow/inspector.ts +8 -0
- package/dist/tsup/chunk-3UWWME7J.js.map +0 -1
- package/dist/tsup/chunk-D5KMS3WU.js.map +0 -1
- package/dist/tsup/chunk-EIB2XNTL.js.map +0 -1
- package/dist/tsup/chunk-KVSK67EL.cjs.map +0 -1
- package/dist/tsup/chunk-MLFI5BLT.cjs.map +0 -1
- package/dist/tsup/chunk-T5YE5THK.cjs.map +0 -1
- /package/dist/tsup/{chunk-TXO4XNNB.js.map → chunk-CLQHFXG3.js.map} +0 -0
- /package/dist/tsup/{chunk-J7NGTEDW.js.map → chunk-Q6EIXJ2L.js.map} +0 -0
- /package/dist/tsup/{chunk-2ZBWR7HC.js.map → chunk-URLGKL2B.js.map} +0 -0
- /package/dist/tsup/{chunk-VNWYKWBM.js.map → chunk-ZEBW32PT.js.map} +0 -0
|
@@ -521,6 +521,28 @@ export function writeWorkflowRemovedEntry(
|
|
|
521
521
|
write1(bc, x.originalName);
|
|
522
522
|
}
|
|
523
523
|
|
|
524
|
+
export type WorkflowVersionCheckEntry = {
|
|
525
|
+
readonly resolved: u32;
|
|
526
|
+
readonly latest: u32;
|
|
527
|
+
};
|
|
528
|
+
|
|
529
|
+
export function readWorkflowVersionCheckEntry(
|
|
530
|
+
bc: bare.ByteCursor,
|
|
531
|
+
): WorkflowVersionCheckEntry {
|
|
532
|
+
return {
|
|
533
|
+
resolved: bare.readU32(bc),
|
|
534
|
+
latest: bare.readU32(bc),
|
|
535
|
+
};
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
export function writeWorkflowVersionCheckEntry(
|
|
539
|
+
bc: bare.ByteCursor,
|
|
540
|
+
x: WorkflowVersionCheckEntry,
|
|
541
|
+
): void {
|
|
542
|
+
bare.writeU32(bc, x.resolved);
|
|
543
|
+
bare.writeU32(bc, x.latest);
|
|
544
|
+
}
|
|
545
|
+
|
|
524
546
|
export type WorkflowEntryKind =
|
|
525
547
|
| { readonly tag: "WorkflowStepEntry"; readonly val: WorkflowStepEntry }
|
|
526
548
|
| { readonly tag: "WorkflowLoopEntry"; readonly val: WorkflowLoopEntry }
|
|
@@ -538,6 +560,10 @@ export type WorkflowEntryKind =
|
|
|
538
560
|
| {
|
|
539
561
|
readonly tag: "WorkflowRemovedEntry";
|
|
540
562
|
readonly val: WorkflowRemovedEntry;
|
|
563
|
+
}
|
|
564
|
+
| {
|
|
565
|
+
readonly tag: "WorkflowVersionCheckEntry";
|
|
566
|
+
readonly val: WorkflowVersionCheckEntry;
|
|
541
567
|
};
|
|
542
568
|
|
|
543
569
|
export function readWorkflowEntryKind(bc: bare.ByteCursor): WorkflowEntryKind {
|
|
@@ -572,6 +598,11 @@ export function readWorkflowEntryKind(bc: bare.ByteCursor): WorkflowEntryKind {
|
|
|
572
598
|
tag: "WorkflowRemovedEntry",
|
|
573
599
|
val: readWorkflowRemovedEntry(bc),
|
|
574
600
|
};
|
|
601
|
+
case 8:
|
|
602
|
+
return {
|
|
603
|
+
tag: "WorkflowVersionCheckEntry",
|
|
604
|
+
val: readWorkflowVersionCheckEntry(bc),
|
|
605
|
+
};
|
|
575
606
|
default: {
|
|
576
607
|
bc.offset = offset;
|
|
577
608
|
throw new bare.BareError(offset, "invalid tag");
|
|
@@ -624,6 +655,11 @@ export function writeWorkflowEntryKind(
|
|
|
624
655
|
writeWorkflowRemovedEntry(bc, x.val);
|
|
625
656
|
break;
|
|
626
657
|
}
|
|
658
|
+
case "WorkflowVersionCheckEntry": {
|
|
659
|
+
bare.writeU8(bc, 8);
|
|
660
|
+
writeWorkflowVersionCheckEntry(bc, x.val);
|
|
661
|
+
break;
|
|
662
|
+
}
|
|
627
663
|
}
|
|
628
664
|
}
|
|
629
665
|
|
package/src/common/log.ts
CHANGED
|
@@ -62,15 +62,10 @@ export function configureBaseLogger(logger: Logger): void {
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
|
-
*
|
|
65
|
+
* Create the default logger with optional log level.
|
|
66
66
|
*/
|
|
67
|
-
export function
|
|
68
|
-
|
|
69
|
-
if (logLevel) {
|
|
70
|
-
configuredLogLevel = logLevel;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
baseLogger = pino(
|
|
67
|
+
export function makeDefaultLogger(logLevel?: LogLevel): Logger {
|
|
68
|
+
return pino(
|
|
74
69
|
{
|
|
75
70
|
level: getPinoLevel(logLevel),
|
|
76
71
|
messageKey: "msg",
|
|
@@ -87,7 +82,18 @@ export function configureDefaultLogger(logLevel?: LogLevel) {
|
|
|
87
82
|
},
|
|
88
83
|
createLogfmtDestination(),
|
|
89
84
|
);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Configure the default logger with optional log level.
|
|
89
|
+
*/
|
|
90
|
+
export function configureDefaultLogger(logLevel?: LogLevel) {
|
|
91
|
+
// Store the configured log level
|
|
92
|
+
if (logLevel) {
|
|
93
|
+
configuredLogLevel = logLevel;
|
|
94
|
+
}
|
|
90
95
|
|
|
96
|
+
baseLogger = makeDefaultLogger(logLevel);
|
|
91
97
|
loggerCache.clear();
|
|
92
98
|
}
|
|
93
99
|
|
|
@@ -3,16 +3,17 @@ import * as v1 from "@/common/bare/generated/inspector/v1";
|
|
|
3
3
|
import * as v2 from "@/common/bare/generated/inspector/v2";
|
|
4
4
|
import * as v3 from "@/common/bare/generated/inspector/v3";
|
|
5
5
|
import * as v4 from "@/common/bare/generated/inspector/v4";
|
|
6
|
+
import * as v5 from "@/common/bare/generated/inspector/v5";
|
|
6
7
|
import {
|
|
7
8
|
decodeWorkflowHistoryTransport,
|
|
8
9
|
encodeWorkflowHistoryTransport,
|
|
9
10
|
} from "@/common/inspector-transport";
|
|
10
11
|
|
|
11
|
-
export * from "@/common/bare/generated/inspector/
|
|
12
|
+
export * from "@/common/bare/generated/inspector/v5";
|
|
12
13
|
export { decodeWorkflowHistoryTransport, encodeWorkflowHistoryTransport };
|
|
13
14
|
export type { WorkflowHistory as TransportWorkflowHistory } from "@/common/bare/transport/v1";
|
|
14
15
|
|
|
15
|
-
export const CURRENT_VERSION =
|
|
16
|
+
export const CURRENT_VERSION = 5;
|
|
16
17
|
|
|
17
18
|
const EVENTS_DROPPED_ERROR = "inspector.events_dropped";
|
|
18
19
|
const WORKFLOW_HISTORY_DROPPED_ERROR = "inspector.workflow_history_dropped";
|
|
@@ -156,6 +157,42 @@ const v4ToClientToV3 = (v4Data: v4.ToClient): v3.ToClient => {
|
|
|
156
157
|
return v4Data as unknown as v3.ToClient;
|
|
157
158
|
};
|
|
158
159
|
|
|
160
|
+
const v4ToClientToV5 = (v4Data: v4.ToClient): v5.ToClient => {
|
|
161
|
+
if (v4Data.body.tag === "Init") {
|
|
162
|
+
// A v4 runtime predates tab config in Init; default to an empty list.
|
|
163
|
+
// The client reads that as "no custom tabs" (built-in tabs only).
|
|
164
|
+
const init = v4Data.body.val;
|
|
165
|
+
return {
|
|
166
|
+
body: {
|
|
167
|
+
tag: "Init",
|
|
168
|
+
val: { ...init, tabConfig: [] },
|
|
169
|
+
},
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
return v4Data as unknown as v5.ToClient;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
const v5ToClientToV4 = (v5Data: v5.ToClient): v4.ToClient => {
|
|
177
|
+
if (v5Data.body.tag === "Init") {
|
|
178
|
+
const { tabConfig: _tabConfig, ...rest } = v5Data.body.val;
|
|
179
|
+
return {
|
|
180
|
+
body: {
|
|
181
|
+
tag: "Init",
|
|
182
|
+
val: rest,
|
|
183
|
+
},
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
return v5Data as unknown as v4.ToClient;
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
const v4ToServerToV5 = (v4Data: v4.ToServer): v5.ToServer =>
|
|
191
|
+
v4Data as unknown as v5.ToServer;
|
|
192
|
+
|
|
193
|
+
const v5ToServerToV4 = (v5Data: v5.ToServer): v4.ToServer =>
|
|
194
|
+
v5Data as unknown as v4.ToServer;
|
|
195
|
+
|
|
159
196
|
const v1ToServerToV2 = (v1Data: v1.ToServer): v2.ToServer => {
|
|
160
197
|
if (
|
|
161
198
|
v1Data.body.tag === "EventsRequest" ||
|
|
@@ -206,7 +243,7 @@ const v4ToServerToV3 = (v4Data: v4.ToServer): v3.ToServer => {
|
|
|
206
243
|
return v4Data as unknown as v3.ToServer;
|
|
207
244
|
};
|
|
208
245
|
|
|
209
|
-
export const TO_SERVER_VERSIONED = createVersionedDataHandler<
|
|
246
|
+
export const TO_SERVER_VERSIONED = createVersionedDataHandler<v5.ToServer>({
|
|
210
247
|
serializeVersion: (data, version) => {
|
|
211
248
|
switch (version) {
|
|
212
249
|
case 1:
|
|
@@ -216,7 +253,9 @@ export const TO_SERVER_VERSIONED = createVersionedDataHandler<v4.ToServer>({
|
|
|
216
253
|
case 3:
|
|
217
254
|
return v3.encodeToServer(data as unknown as v3.ToServer);
|
|
218
255
|
case 4:
|
|
219
|
-
return v4.encodeToServer(data);
|
|
256
|
+
return v4.encodeToServer(data as unknown as v4.ToServer);
|
|
257
|
+
case 5:
|
|
258
|
+
return v5.encodeToServer(data);
|
|
220
259
|
default:
|
|
221
260
|
throw new Error(`Unknown version ${version}`);
|
|
222
261
|
}
|
|
@@ -224,13 +263,15 @@ export const TO_SERVER_VERSIONED = createVersionedDataHandler<v4.ToServer>({
|
|
|
224
263
|
deserializeVersion: (bytes, version) => {
|
|
225
264
|
switch (version) {
|
|
226
265
|
case 1:
|
|
227
|
-
return v1.decodeToServer(bytes) as unknown as
|
|
266
|
+
return v1.decodeToServer(bytes) as unknown as v5.ToServer;
|
|
228
267
|
case 2:
|
|
229
|
-
return v2.decodeToServer(bytes) as unknown as
|
|
268
|
+
return v2.decodeToServer(bytes) as unknown as v5.ToServer;
|
|
230
269
|
case 3:
|
|
231
|
-
return v3.decodeToServer(bytes) as unknown as
|
|
270
|
+
return v3.decodeToServer(bytes) as unknown as v5.ToServer;
|
|
232
271
|
case 4:
|
|
233
|
-
return v4.decodeToServer(bytes);
|
|
272
|
+
return v4.decodeToServer(bytes) as unknown as v5.ToServer;
|
|
273
|
+
case 5:
|
|
274
|
+
return v5.decodeToServer(bytes);
|
|
234
275
|
default:
|
|
235
276
|
throw new Error(`Unknown version ${version}`);
|
|
236
277
|
}
|
|
@@ -239,11 +280,17 @@ export const TO_SERVER_VERSIONED = createVersionedDataHandler<v4.ToServer>({
|
|
|
239
280
|
v1ToServerToV2,
|
|
240
281
|
v2ToServerToV3,
|
|
241
282
|
v3ToServerToV4,
|
|
283
|
+
v4ToServerToV5,
|
|
284
|
+
],
|
|
285
|
+
serializeConverters: () => [
|
|
286
|
+
v5ToServerToV4,
|
|
287
|
+
v4ToServerToV3,
|
|
288
|
+
v3ToServerToV2,
|
|
289
|
+
v2ToServerToV1,
|
|
242
290
|
],
|
|
243
|
-
serializeConverters: () => [v4ToServerToV3, v3ToServerToV2, v2ToServerToV1],
|
|
244
291
|
});
|
|
245
292
|
|
|
246
|
-
export const TO_CLIENT_VERSIONED = createVersionedDataHandler<
|
|
293
|
+
export const TO_CLIENT_VERSIONED = createVersionedDataHandler<v5.ToClient>({
|
|
247
294
|
serializeVersion: (data, version) => {
|
|
248
295
|
switch (version) {
|
|
249
296
|
case 1:
|
|
@@ -253,7 +300,9 @@ export const TO_CLIENT_VERSIONED = createVersionedDataHandler<v4.ToClient>({
|
|
|
253
300
|
case 3:
|
|
254
301
|
return v3.encodeToClient(data as unknown as v3.ToClient);
|
|
255
302
|
case 4:
|
|
256
|
-
return v4.encodeToClient(data);
|
|
303
|
+
return v4.encodeToClient(data as unknown as v4.ToClient);
|
|
304
|
+
case 5:
|
|
305
|
+
return v5.encodeToClient(data);
|
|
257
306
|
default:
|
|
258
307
|
throw new Error(`Unknown version ${version}`);
|
|
259
308
|
}
|
|
@@ -261,13 +310,15 @@ export const TO_CLIENT_VERSIONED = createVersionedDataHandler<v4.ToClient>({
|
|
|
261
310
|
deserializeVersion: (bytes, version) => {
|
|
262
311
|
switch (version) {
|
|
263
312
|
case 1:
|
|
264
|
-
return v1.decodeToClient(bytes) as unknown as
|
|
313
|
+
return v1.decodeToClient(bytes) as unknown as v5.ToClient;
|
|
265
314
|
case 2:
|
|
266
|
-
return v2.decodeToClient(bytes) as unknown as
|
|
315
|
+
return v2.decodeToClient(bytes) as unknown as v5.ToClient;
|
|
267
316
|
case 3:
|
|
268
|
-
return v3.decodeToClient(bytes) as unknown as
|
|
317
|
+
return v3.decodeToClient(bytes) as unknown as v5.ToClient;
|
|
269
318
|
case 4:
|
|
270
|
-
return v4.decodeToClient(bytes);
|
|
319
|
+
return v4.decodeToClient(bytes) as unknown as v5.ToClient;
|
|
320
|
+
case 5:
|
|
321
|
+
return v5.decodeToClient(bytes);
|
|
271
322
|
default:
|
|
272
323
|
throw new Error(`Unknown version ${version}`);
|
|
273
324
|
}
|
|
@@ -276,6 +327,12 @@ export const TO_CLIENT_VERSIONED = createVersionedDataHandler<v4.ToClient>({
|
|
|
276
327
|
v1ToClientToV2,
|
|
277
328
|
v2ToClientToV3,
|
|
278
329
|
v3ToClientToV4,
|
|
330
|
+
v4ToClientToV5,
|
|
331
|
+
],
|
|
332
|
+
serializeConverters: () => [
|
|
333
|
+
v5ToClientToV4,
|
|
334
|
+
v4ToClientToV3,
|
|
335
|
+
v3ToClientToV2,
|
|
336
|
+
v2ToClientToV1,
|
|
279
337
|
],
|
|
280
|
-
serializeConverters: () => [v4ToClientToV3, v3ToClientToV2, v2ToClientToV1],
|
|
281
338
|
});
|
package/src/inspector/mod.ts
CHANGED
package/src/inspector-tab/mod.ts
CHANGED
|
@@ -280,18 +280,6 @@ export const InspectorQueueResponseSchema = z.object({
|
|
|
280
280
|
messages: z.array(InspectorQueueMessageSchema),
|
|
281
281
|
});
|
|
282
282
|
|
|
283
|
-
/** `GET /inspector/tab-config` response shape. */
|
|
284
|
-
export const InspectorTabConfigResponseSchema = z.object({
|
|
285
|
-
tabs: z.array(
|
|
286
|
-
z.object({
|
|
287
|
-
id: z.string(),
|
|
288
|
-
label: z.string().optional(),
|
|
289
|
-
icon: z.string().nullable().optional(),
|
|
290
|
-
hidden: z.boolean().optional(),
|
|
291
|
-
}),
|
|
292
|
-
),
|
|
293
|
-
});
|
|
294
|
-
|
|
295
283
|
export type InspectorStateResponse = z.infer<
|
|
296
284
|
typeof InspectorStateResponseSchema
|
|
297
285
|
>;
|
|
@@ -310,6 +298,3 @@ export type InspectorQueueMessage = z.infer<typeof InspectorQueueMessageSchema>;
|
|
|
310
298
|
export type InspectorQueueResponse = z.infer<
|
|
311
299
|
typeof InspectorQueueResponseSchema
|
|
312
300
|
>;
|
|
313
|
-
export type InspectorTabConfigResponse = z.infer<
|
|
314
|
-
typeof InspectorTabConfigResponseSchema
|
|
315
|
-
>;
|
package/src/registry/index.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isLocalEngineEndpoint } from "@/common/engine";
|
|
2
|
+
import { configureBaseLogger } from "@/common/log";
|
|
2
3
|
import { configureServerlessPool } from "@/serverless/configure";
|
|
3
4
|
import { VERSION } from "@/utils";
|
|
4
5
|
import {
|
|
@@ -82,6 +83,9 @@ export class Registry<A extends RegistryActors> {
|
|
|
82
83
|
|
|
83
84
|
constructor(config: RegistryConfigInput<A>, deps?: Partial<RegistryDeps>) {
|
|
84
85
|
this.#config = config;
|
|
86
|
+
if (config.logging?.baseLogger) {
|
|
87
|
+
configureBaseLogger(config.logging.baseLogger);
|
|
88
|
+
}
|
|
85
89
|
this.#buildConfiguredRegistry =
|
|
86
90
|
deps?.buildConfiguredRegistry ?? buildConfiguredRegistry;
|
|
87
91
|
this.routes = {
|
|
@@ -745,6 +745,10 @@ export class NapiCoreRuntime implements CoreRuntime {
|
|
|
745
745
|
return await asNativeActorContext(ctx).queue().inspectMessages();
|
|
746
746
|
}
|
|
747
747
|
|
|
748
|
+
async actorQueueReset(ctx: ActorContextHandle): Promise<void> {
|
|
749
|
+
await asNativeActorContext(ctx).queue().reset();
|
|
750
|
+
}
|
|
751
|
+
|
|
748
752
|
actorScheduleAfter(
|
|
749
753
|
ctx: ActorContextHandle,
|
|
750
754
|
durationMs: number,
|
|
@@ -828,6 +832,13 @@ export async function loadNapiRuntime(): Promise<{
|
|
|
828
832
|
bindings: NapiBindings;
|
|
829
833
|
runtime: NapiCoreRuntime;
|
|
830
834
|
}> {
|
|
835
|
+
// LOAD-BEARING: the specifier is computed (`.join("/")`) on purpose. Do NOT
|
|
836
|
+
// "simplify" it to a literal `import("@rivetkit/rivetkit-napi")`. Edge
|
|
837
|
+
// adapters (e.g. @rivetkit/supabase) pre-bundle this module for Deno; a
|
|
838
|
+
// literal dynamic import is statically resolvable, so Deno's eszip bundler
|
|
839
|
+
// would snapshot the native `.node` addon into the deploy and 413. The
|
|
840
|
+
// computed specifier keeps it opaque to static analysis so it is never
|
|
841
|
+
// bundled. Enforced by scripts/ci/check-edge-native-closure.mjs.
|
|
831
842
|
const bindings = await import(["@rivetkit", "rivetkit-napi"].join("/"));
|
|
832
843
|
return {
|
|
833
844
|
bindings,
|
package/src/registry/native.ts
CHANGED
|
@@ -622,6 +622,13 @@ function decodeNativeKvValue<T extends NativeKvValueType = "text">(
|
|
|
622
622
|
}
|
|
623
623
|
|
|
624
624
|
async function loadEngineCli(): Promise<typeof import("@rivetkit/engine-cli")> {
|
|
625
|
+
// LOAD-BEARING: the specifier is computed (`.join("/")`) on purpose. Do NOT
|
|
626
|
+
// "simplify" it to a literal `import("@rivetkit/engine-cli")`. Edge adapters
|
|
627
|
+
// (e.g. @rivetkit/supabase) pre-bundle this module for Deno; a literal
|
|
628
|
+
// dynamic import is statically resolvable, so Deno's eszip bundler would
|
|
629
|
+
// snapshot the ~117 MB engine-cli binary into the deploy and 413. The
|
|
630
|
+
// computed specifier keeps it opaque to static analysis so it is never
|
|
631
|
+
// bundled. Enforced by scripts/ci/check-edge-native-closure.mjs.
|
|
625
632
|
return import(["@rivetkit", "engine-cli"].join("/"));
|
|
626
633
|
}
|
|
627
634
|
|
|
@@ -907,6 +914,10 @@ function serializeWorkflowEntryKind(
|
|
|
907
914
|
| {
|
|
908
915
|
tag: "WorkflowRemovedEntry";
|
|
909
916
|
val: { originalType: string; originalName: string | null };
|
|
917
|
+
}
|
|
918
|
+
| {
|
|
919
|
+
tag: "WorkflowVersionCheckEntry";
|
|
920
|
+
val: { resolved: number; latest: number };
|
|
910
921
|
} {
|
|
911
922
|
switch (kind.tag) {
|
|
912
923
|
case "WorkflowStepEntry":
|
|
@@ -972,6 +983,14 @@ function serializeWorkflowEntryKind(
|
|
|
972
983
|
originalName: kind.val.originalName,
|
|
973
984
|
},
|
|
974
985
|
};
|
|
986
|
+
case "WorkflowVersionCheckEntry":
|
|
987
|
+
return {
|
|
988
|
+
tag: kind.tag,
|
|
989
|
+
val: {
|
|
990
|
+
resolved: kind.val.resolved,
|
|
991
|
+
latest: kind.val.latest,
|
|
992
|
+
},
|
|
993
|
+
};
|
|
975
994
|
}
|
|
976
995
|
}
|
|
977
996
|
|
|
@@ -3568,10 +3587,11 @@ export function buildNativeFactory(
|
|
|
3568
3587
|
);
|
|
3569
3588
|
};
|
|
3570
3589
|
|
|
3590
|
+
// Tab config is delivered over the inspector WS `Init` message, not
|
|
3591
|
+
// HTTP. Only custom-tab assets remain a public per-actor path.
|
|
3571
3592
|
const isPublicPerActorPath =
|
|
3572
3593
|
jsRequest.method === "GET" &&
|
|
3573
|
-
|
|
3574
|
-
url.pathname.startsWith("/inspector/custom-tabs/"));
|
|
3594
|
+
url.pathname.startsWith("/inspector/custom-tabs/");
|
|
3575
3595
|
|
|
3576
3596
|
if (!isPublicPerActorPath) {
|
|
3577
3597
|
try {
|
|
@@ -3666,6 +3686,54 @@ export function buildNativeFactory(
|
|
|
3666
3686
|
messages,
|
|
3667
3687
|
});
|
|
3668
3688
|
}
|
|
3689
|
+
if (
|
|
3690
|
+
url.pathname === "/inspector/queue" &&
|
|
3691
|
+
jsRequest.method === "DELETE"
|
|
3692
|
+
) {
|
|
3693
|
+
await runtime.actorQueueReset(ctx);
|
|
3694
|
+
return jsonResponse({});
|
|
3695
|
+
}
|
|
3696
|
+
if (
|
|
3697
|
+
url.pathname === "/inspector/queue" &&
|
|
3698
|
+
jsRequest.method === "POST"
|
|
3699
|
+
) {
|
|
3700
|
+
let body: { name?: string; body?: unknown };
|
|
3701
|
+
try {
|
|
3702
|
+
body = (await jsRequest.json()) as {
|
|
3703
|
+
name?: string;
|
|
3704
|
+
body?: unknown;
|
|
3705
|
+
};
|
|
3706
|
+
} catch {
|
|
3707
|
+
return errorResponse(
|
|
3708
|
+
new RivetError(
|
|
3709
|
+
"actor",
|
|
3710
|
+
"invalid_request",
|
|
3711
|
+
"Invalid inspector JSON body",
|
|
3712
|
+
{ public: true },
|
|
3713
|
+
),
|
|
3714
|
+
400,
|
|
3715
|
+
);
|
|
3716
|
+
}
|
|
3717
|
+
const name = body.name ?? "";
|
|
3718
|
+
if (name === "") {
|
|
3719
|
+
return errorResponse(
|
|
3720
|
+
new RivetError(
|
|
3721
|
+
"actor",
|
|
3722
|
+
"invalid_request",
|
|
3723
|
+
"Queue message name must not be empty",
|
|
3724
|
+
{ public: true },
|
|
3725
|
+
),
|
|
3726
|
+
400,
|
|
3727
|
+
);
|
|
3728
|
+
}
|
|
3729
|
+
const cbor = encodeCborCompat((body.body ?? null) as JsonCompatValue);
|
|
3730
|
+
const message = await runtime.actorQueueSend(ctx, name, cbor);
|
|
3731
|
+
return jsonResponse({
|
|
3732
|
+
id: message.id().toString(),
|
|
3733
|
+
name: message.name(),
|
|
3734
|
+
createdAtMs: message.createdAt(),
|
|
3735
|
+
});
|
|
3736
|
+
}
|
|
3669
3737
|
if (
|
|
3670
3738
|
url.pathname === "/inspector/traces" &&
|
|
3671
3739
|
jsRequest.method === "GET"
|
package/src/registry/runtime.ts
CHANGED
|
@@ -542,6 +542,7 @@ export interface CoreRuntime {
|
|
|
542
542
|
actorQueueInspectMessages(
|
|
543
543
|
ctx: ActorContextHandle,
|
|
544
544
|
): Promise<RuntimeQueueInspectMessage[]>;
|
|
545
|
+
actorQueueReset(ctx: ActorContextHandle): Promise<void>;
|
|
545
546
|
|
|
546
547
|
actorScheduleAfter(
|
|
547
548
|
ctx: ActorContextHandle,
|
|
@@ -840,6 +840,11 @@ export class WasmCoreRuntime implements CoreRuntime {
|
|
|
840
840
|
return await callHandleAsync(queue, "inspectMessages");
|
|
841
841
|
}
|
|
842
842
|
|
|
843
|
+
async actorQueueReset(ctx: ActorContextHandle): Promise<void> {
|
|
844
|
+
const queue = childHandle(asWasmActorContext(ctx), "queue");
|
|
845
|
+
await callHandleAsync(queue, "reset");
|
|
846
|
+
}
|
|
847
|
+
|
|
843
848
|
actorScheduleAfter(
|
|
844
849
|
ctx: ActorContextHandle,
|
|
845
850
|
durationMs: number | bigint,
|
package/src/workflow/context.ts
CHANGED
|
@@ -960,6 +960,10 @@ export class WorkflowContext<
|
|
|
960
960
|
await this.#wrapActive(() => this.#inner.removed(name, originalType));
|
|
961
961
|
}
|
|
962
962
|
|
|
963
|
+
getVersion(name: string, latest: number): Promise<number> {
|
|
964
|
+
return this.#wrapActive(() => this.#inner.getVersion(name, latest));
|
|
965
|
+
}
|
|
966
|
+
|
|
963
967
|
isEvicted(): boolean {
|
|
964
968
|
return this.#inner.isEvicted();
|
|
965
969
|
}
|
|
@@ -184,6 +184,14 @@ function toWorkflowEntryKind(kind: EntryKind): transport.WorkflowEntryKind {
|
|
|
184
184
|
originalName: kind.data.originalName ?? null,
|
|
185
185
|
},
|
|
186
186
|
};
|
|
187
|
+
case "version_check":
|
|
188
|
+
return {
|
|
189
|
+
tag: "WorkflowVersionCheckEntry",
|
|
190
|
+
val: {
|
|
191
|
+
resolved: kind.data.resolved,
|
|
192
|
+
latest: kind.data.latest,
|
|
193
|
+
},
|
|
194
|
+
};
|
|
187
195
|
default:
|
|
188
196
|
assertUnreachable(kind as never);
|
|
189
197
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/common/bare/transport/v1.ts","../../src/common/inspector-transport.ts"],"sourcesContent":["// Vendored BARE codec. Keep the wire format compatible with the existing runtime.\nimport * as bare from \"@rivetkit/bare-ts\";\n\nconst config = /* @__PURE__ */ bare.Config({});\n\nexport type u32 = number;\nexport type u64 = bigint;\n\nexport type WorkflowCbor = ArrayBuffer;\n\nexport function readWorkflowCbor(bc: bare.ByteCursor): WorkflowCbor {\n\treturn bare.readData(bc);\n}\n\nexport function writeWorkflowCbor(bc: bare.ByteCursor, x: WorkflowCbor): void {\n\tbare.writeData(bc, x);\n}\n\nexport type WorkflowNameIndex = u32;\n\nexport function readWorkflowNameIndex(bc: bare.ByteCursor): WorkflowNameIndex {\n\treturn bare.readU32(bc);\n}\n\nexport function writeWorkflowNameIndex(\n\tbc: bare.ByteCursor,\n\tx: WorkflowNameIndex,\n): void {\n\tbare.writeU32(bc, x);\n}\n\nexport type WorkflowLoopIterationMarker = {\n\treadonly loop: WorkflowNameIndex;\n\treadonly iteration: u32;\n};\n\nexport function readWorkflowLoopIterationMarker(\n\tbc: bare.ByteCursor,\n): WorkflowLoopIterationMarker {\n\treturn {\n\t\tloop: readWorkflowNameIndex(bc),\n\t\titeration: bare.readU32(bc),\n\t};\n}\n\nexport function writeWorkflowLoopIterationMarker(\n\tbc: bare.ByteCursor,\n\tx: WorkflowLoopIterationMarker,\n): void {\n\twriteWorkflowNameIndex(bc, x.loop);\n\tbare.writeU32(bc, x.iteration);\n}\n\nexport type WorkflowPathSegment =\n\t| { readonly tag: \"WorkflowNameIndex\"; readonly val: WorkflowNameIndex }\n\t| {\n\t\t\treadonly tag: \"WorkflowLoopIterationMarker\";\n\t\t\treadonly val: WorkflowLoopIterationMarker;\n\t };\n\nexport function readWorkflowPathSegment(\n\tbc: bare.ByteCursor,\n): WorkflowPathSegment {\n\tconst offset = bc.offset;\n\tconst tag = bare.readU8(bc);\n\tswitch (tag) {\n\t\tcase 0:\n\t\t\treturn { tag: \"WorkflowNameIndex\", val: readWorkflowNameIndex(bc) };\n\t\tcase 1:\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowLoopIterationMarker\",\n\t\t\t\tval: readWorkflowLoopIterationMarker(bc),\n\t\t\t};\n\t\tdefault: {\n\t\t\tbc.offset = offset;\n\t\t\tthrow new bare.BareError(offset, \"invalid tag\");\n\t\t}\n\t}\n}\n\nexport function writeWorkflowPathSegment(\n\tbc: bare.ByteCursor,\n\tx: WorkflowPathSegment,\n): void {\n\tswitch (x.tag) {\n\t\tcase \"WorkflowNameIndex\": {\n\t\t\tbare.writeU8(bc, 0);\n\t\t\twriteWorkflowNameIndex(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"WorkflowLoopIterationMarker\": {\n\t\t\tbare.writeU8(bc, 1);\n\t\t\twriteWorkflowLoopIterationMarker(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nexport type WorkflowLocation = readonly WorkflowPathSegment[];\n\nexport function readWorkflowLocation(bc: bare.ByteCursor): WorkflowLocation {\n\tconst len = bare.readUintSafe(bc);\n\tif (len === 0) {\n\t\treturn [];\n\t}\n\tconst result = [readWorkflowPathSegment(bc)];\n\tfor (let i = 1; i < len; i++) {\n\t\tresult[i] = readWorkflowPathSegment(bc);\n\t}\n\treturn result;\n}\n\nexport function writeWorkflowLocation(\n\tbc: bare.ByteCursor,\n\tx: WorkflowLocation,\n): void {\n\tbare.writeUintSafe(bc, x.length);\n\tfor (let i = 0; i < x.length; i++) {\n\t\twriteWorkflowPathSegment(bc, x[i]);\n\t}\n}\n\nexport enum WorkflowEntryStatus {\n\tPENDING = \"PENDING\",\n\tRUNNING = \"RUNNING\",\n\tCOMPLETED = \"COMPLETED\",\n\tFAILED = \"FAILED\",\n\tEXHAUSTED = \"EXHAUSTED\",\n}\n\nexport function readWorkflowEntryStatus(\n\tbc: bare.ByteCursor,\n): WorkflowEntryStatus {\n\tconst offset = bc.offset;\n\tconst tag = bare.readU8(bc);\n\tswitch (tag) {\n\t\tcase 0:\n\t\t\treturn WorkflowEntryStatus.PENDING;\n\t\tcase 1:\n\t\t\treturn WorkflowEntryStatus.RUNNING;\n\t\tcase 2:\n\t\t\treturn WorkflowEntryStatus.COMPLETED;\n\t\tcase 3:\n\t\t\treturn WorkflowEntryStatus.FAILED;\n\t\tcase 4:\n\t\t\treturn WorkflowEntryStatus.EXHAUSTED;\n\t\tdefault: {\n\t\t\tbc.offset = offset;\n\t\t\tthrow new bare.BareError(offset, \"invalid tag\");\n\t\t}\n\t}\n}\n\nexport function writeWorkflowEntryStatus(\n\tbc: bare.ByteCursor,\n\tx: WorkflowEntryStatus,\n): void {\n\tswitch (x) {\n\t\tcase WorkflowEntryStatus.PENDING: {\n\t\t\tbare.writeU8(bc, 0);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowEntryStatus.RUNNING: {\n\t\t\tbare.writeU8(bc, 1);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowEntryStatus.COMPLETED: {\n\t\t\tbare.writeU8(bc, 2);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowEntryStatus.FAILED: {\n\t\t\tbare.writeU8(bc, 3);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowEntryStatus.EXHAUSTED: {\n\t\t\tbare.writeU8(bc, 4);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nexport enum WorkflowSleepState {\n\tPENDING = \"PENDING\",\n\tCOMPLETED = \"COMPLETED\",\n\tINTERRUPTED = \"INTERRUPTED\",\n}\n\nexport function readWorkflowSleepState(\n\tbc: bare.ByteCursor,\n): WorkflowSleepState {\n\tconst offset = bc.offset;\n\tconst tag = bare.readU8(bc);\n\tswitch (tag) {\n\t\tcase 0:\n\t\t\treturn WorkflowSleepState.PENDING;\n\t\tcase 1:\n\t\t\treturn WorkflowSleepState.COMPLETED;\n\t\tcase 2:\n\t\t\treturn WorkflowSleepState.INTERRUPTED;\n\t\tdefault: {\n\t\t\tbc.offset = offset;\n\t\t\tthrow new bare.BareError(offset, \"invalid tag\");\n\t\t}\n\t}\n}\n\nexport function writeWorkflowSleepState(\n\tbc: bare.ByteCursor,\n\tx: WorkflowSleepState,\n): void {\n\tswitch (x) {\n\t\tcase WorkflowSleepState.PENDING: {\n\t\t\tbare.writeU8(bc, 0);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowSleepState.COMPLETED: {\n\t\t\tbare.writeU8(bc, 1);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowSleepState.INTERRUPTED: {\n\t\t\tbare.writeU8(bc, 2);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nexport enum WorkflowBranchStatusType {\n\tPENDING = \"PENDING\",\n\tRUNNING = \"RUNNING\",\n\tCOMPLETED = \"COMPLETED\",\n\tFAILED = \"FAILED\",\n\tCANCELLED = \"CANCELLED\",\n}\n\nexport function readWorkflowBranchStatusType(\n\tbc: bare.ByteCursor,\n): WorkflowBranchStatusType {\n\tconst offset = bc.offset;\n\tconst tag = bare.readU8(bc);\n\tswitch (tag) {\n\t\tcase 0:\n\t\t\treturn WorkflowBranchStatusType.PENDING;\n\t\tcase 1:\n\t\t\treturn WorkflowBranchStatusType.RUNNING;\n\t\tcase 2:\n\t\t\treturn WorkflowBranchStatusType.COMPLETED;\n\t\tcase 3:\n\t\t\treturn WorkflowBranchStatusType.FAILED;\n\t\tcase 4:\n\t\t\treturn WorkflowBranchStatusType.CANCELLED;\n\t\tdefault: {\n\t\t\tbc.offset = offset;\n\t\t\tthrow new bare.BareError(offset, \"invalid tag\");\n\t\t}\n\t}\n}\n\nexport function writeWorkflowBranchStatusType(\n\tbc: bare.ByteCursor,\n\tx: WorkflowBranchStatusType,\n): void {\n\tswitch (x) {\n\t\tcase WorkflowBranchStatusType.PENDING: {\n\t\t\tbare.writeU8(bc, 0);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowBranchStatusType.RUNNING: {\n\t\t\tbare.writeU8(bc, 1);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowBranchStatusType.COMPLETED: {\n\t\t\tbare.writeU8(bc, 2);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowBranchStatusType.FAILED: {\n\t\t\tbare.writeU8(bc, 3);\n\t\t\tbreak;\n\t\t}\n\t\tcase WorkflowBranchStatusType.CANCELLED: {\n\t\t\tbare.writeU8(bc, 4);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nfunction read0(bc: bare.ByteCursor): WorkflowCbor | null {\n\treturn bare.readBool(bc) ? readWorkflowCbor(bc) : null;\n}\n\nfunction write0(bc: bare.ByteCursor, x: WorkflowCbor | null): void {\n\tbare.writeBool(bc, x !== null);\n\tif (x !== null) {\n\t\twriteWorkflowCbor(bc, x);\n\t}\n}\n\nfunction read1(bc: bare.ByteCursor): string | null {\n\treturn bare.readBool(bc) ? bare.readString(bc) : null;\n}\n\nfunction write1(bc: bare.ByteCursor, x: string | null): void {\n\tbare.writeBool(bc, x !== null);\n\tif (x !== null) {\n\t\tbare.writeString(bc, x);\n\t}\n}\n\nexport type WorkflowStepEntry = {\n\treadonly output: WorkflowCbor | null;\n\treadonly error: string | null;\n};\n\nexport function readWorkflowStepEntry(bc: bare.ByteCursor): WorkflowStepEntry {\n\treturn {\n\t\toutput: read0(bc),\n\t\terror: read1(bc),\n\t};\n}\n\nexport function writeWorkflowStepEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowStepEntry,\n): void {\n\twrite0(bc, x.output);\n\twrite1(bc, x.error);\n}\n\nexport type WorkflowLoopEntry = {\n\treadonly state: WorkflowCbor;\n\treadonly iteration: u32;\n\treadonly output: WorkflowCbor | null;\n};\n\nexport function readWorkflowLoopEntry(bc: bare.ByteCursor): WorkflowLoopEntry {\n\treturn {\n\t\tstate: readWorkflowCbor(bc),\n\t\titeration: bare.readU32(bc),\n\t\toutput: read0(bc),\n\t};\n}\n\nexport function writeWorkflowLoopEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowLoopEntry,\n): void {\n\twriteWorkflowCbor(bc, x.state);\n\tbare.writeU32(bc, x.iteration);\n\twrite0(bc, x.output);\n}\n\nexport type WorkflowSleepEntry = {\n\treadonly deadline: u64;\n\treadonly state: WorkflowSleepState;\n};\n\nexport function readWorkflowSleepEntry(\n\tbc: bare.ByteCursor,\n): WorkflowSleepEntry {\n\treturn {\n\t\tdeadline: bare.readU64(bc),\n\t\tstate: readWorkflowSleepState(bc),\n\t};\n}\n\nexport function writeWorkflowSleepEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowSleepEntry,\n): void {\n\tbare.writeU64(bc, x.deadline);\n\twriteWorkflowSleepState(bc, x.state);\n}\n\nexport type WorkflowMessageEntry = {\n\treadonly name: string;\n\treadonly messageData: WorkflowCbor;\n};\n\nexport function readWorkflowMessageEntry(\n\tbc: bare.ByteCursor,\n): WorkflowMessageEntry {\n\treturn {\n\t\tname: bare.readString(bc),\n\t\tmessageData: readWorkflowCbor(bc),\n\t};\n}\n\nexport function writeWorkflowMessageEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowMessageEntry,\n): void {\n\tbare.writeString(bc, x.name);\n\twriteWorkflowCbor(bc, x.messageData);\n}\n\nexport type WorkflowRollbackCheckpointEntry = {\n\treadonly name: string;\n};\n\nexport function readWorkflowRollbackCheckpointEntry(\n\tbc: bare.ByteCursor,\n): WorkflowRollbackCheckpointEntry {\n\treturn {\n\t\tname: bare.readString(bc),\n\t};\n}\n\nexport function writeWorkflowRollbackCheckpointEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowRollbackCheckpointEntry,\n): void {\n\tbare.writeString(bc, x.name);\n}\n\nexport type WorkflowBranchStatus = {\n\treadonly status: WorkflowBranchStatusType;\n\treadonly output: WorkflowCbor | null;\n\treadonly error: string | null;\n};\n\nexport function readWorkflowBranchStatus(\n\tbc: bare.ByteCursor,\n): WorkflowBranchStatus {\n\treturn {\n\t\tstatus: readWorkflowBranchStatusType(bc),\n\t\toutput: read0(bc),\n\t\terror: read1(bc),\n\t};\n}\n\nexport function writeWorkflowBranchStatus(\n\tbc: bare.ByteCursor,\n\tx: WorkflowBranchStatus,\n): void {\n\twriteWorkflowBranchStatusType(bc, x.status);\n\twrite0(bc, x.output);\n\twrite1(bc, x.error);\n}\n\nfunction read2(bc: bare.ByteCursor): ReadonlyMap<string, WorkflowBranchStatus> {\n\tconst len = bare.readUintSafe(bc);\n\tconst result = new Map<string, WorkflowBranchStatus>();\n\tfor (let i = 0; i < len; i++) {\n\t\tconst offset = bc.offset;\n\t\tconst key = bare.readString(bc);\n\t\tif (result.has(key)) {\n\t\t\tbc.offset = offset;\n\t\t\tthrow new bare.BareError(offset, \"duplicated key\");\n\t\t}\n\t\tresult.set(key, readWorkflowBranchStatus(bc));\n\t}\n\treturn result;\n}\n\nfunction write2(\n\tbc: bare.ByteCursor,\n\tx: ReadonlyMap<string, WorkflowBranchStatus>,\n): void {\n\tbare.writeUintSafe(bc, x.size);\n\tfor (const kv of x) {\n\t\tbare.writeString(bc, kv[0]);\n\t\twriteWorkflowBranchStatus(bc, kv[1]);\n\t}\n}\n\nexport type WorkflowJoinEntry = {\n\treadonly branches: ReadonlyMap<string, WorkflowBranchStatus>;\n};\n\nexport function readWorkflowJoinEntry(bc: bare.ByteCursor): WorkflowJoinEntry {\n\treturn {\n\t\tbranches: read2(bc),\n\t};\n}\n\nexport function writeWorkflowJoinEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowJoinEntry,\n): void {\n\twrite2(bc, x.branches);\n}\n\nexport type WorkflowRaceEntry = {\n\treadonly winner: string | null;\n\treadonly branches: ReadonlyMap<string, WorkflowBranchStatus>;\n};\n\nexport function readWorkflowRaceEntry(bc: bare.ByteCursor): WorkflowRaceEntry {\n\treturn {\n\t\twinner: read1(bc),\n\t\tbranches: read2(bc),\n\t};\n}\n\nexport function writeWorkflowRaceEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowRaceEntry,\n): void {\n\twrite1(bc, x.winner);\n\twrite2(bc, x.branches);\n}\n\nexport type WorkflowRemovedEntry = {\n\treadonly originalType: string;\n\treadonly originalName: string | null;\n};\n\nexport function readWorkflowRemovedEntry(\n\tbc: bare.ByteCursor,\n): WorkflowRemovedEntry {\n\treturn {\n\t\toriginalType: bare.readString(bc),\n\t\toriginalName: read1(bc),\n\t};\n}\n\nexport function writeWorkflowRemovedEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowRemovedEntry,\n): void {\n\tbare.writeString(bc, x.originalType);\n\twrite1(bc, x.originalName);\n}\n\nexport type WorkflowEntryKind =\n\t| { readonly tag: \"WorkflowStepEntry\"; readonly val: WorkflowStepEntry }\n\t| { readonly tag: \"WorkflowLoopEntry\"; readonly val: WorkflowLoopEntry }\n\t| { readonly tag: \"WorkflowSleepEntry\"; readonly val: WorkflowSleepEntry }\n\t| {\n\t\t\treadonly tag: \"WorkflowMessageEntry\";\n\t\t\treadonly val: WorkflowMessageEntry;\n\t }\n\t| {\n\t\t\treadonly tag: \"WorkflowRollbackCheckpointEntry\";\n\t\t\treadonly val: WorkflowRollbackCheckpointEntry;\n\t }\n\t| { readonly tag: \"WorkflowJoinEntry\"; readonly val: WorkflowJoinEntry }\n\t| { readonly tag: \"WorkflowRaceEntry\"; readonly val: WorkflowRaceEntry }\n\t| {\n\t\t\treadonly tag: \"WorkflowRemovedEntry\";\n\t\t\treadonly val: WorkflowRemovedEntry;\n\t };\n\nexport function readWorkflowEntryKind(bc: bare.ByteCursor): WorkflowEntryKind {\n\tconst offset = bc.offset;\n\tconst tag = bare.readU8(bc);\n\tswitch (tag) {\n\t\tcase 0:\n\t\t\treturn { tag: \"WorkflowStepEntry\", val: readWorkflowStepEntry(bc) };\n\t\tcase 1:\n\t\t\treturn { tag: \"WorkflowLoopEntry\", val: readWorkflowLoopEntry(bc) };\n\t\tcase 2:\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowSleepEntry\",\n\t\t\t\tval: readWorkflowSleepEntry(bc),\n\t\t\t};\n\t\tcase 3:\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowMessageEntry\",\n\t\t\t\tval: readWorkflowMessageEntry(bc),\n\t\t\t};\n\t\tcase 4:\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowRollbackCheckpointEntry\",\n\t\t\t\tval: readWorkflowRollbackCheckpointEntry(bc),\n\t\t\t};\n\t\tcase 5:\n\t\t\treturn { tag: \"WorkflowJoinEntry\", val: readWorkflowJoinEntry(bc) };\n\t\tcase 6:\n\t\t\treturn { tag: \"WorkflowRaceEntry\", val: readWorkflowRaceEntry(bc) };\n\t\tcase 7:\n\t\t\treturn {\n\t\t\t\ttag: \"WorkflowRemovedEntry\",\n\t\t\t\tval: readWorkflowRemovedEntry(bc),\n\t\t\t};\n\t\tdefault: {\n\t\t\tbc.offset = offset;\n\t\t\tthrow new bare.BareError(offset, \"invalid tag\");\n\t\t}\n\t}\n}\n\nexport function writeWorkflowEntryKind(\n\tbc: bare.ByteCursor,\n\tx: WorkflowEntryKind,\n): void {\n\tswitch (x.tag) {\n\t\tcase \"WorkflowStepEntry\": {\n\t\t\tbare.writeU8(bc, 0);\n\t\t\twriteWorkflowStepEntry(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"WorkflowLoopEntry\": {\n\t\t\tbare.writeU8(bc, 1);\n\t\t\twriteWorkflowLoopEntry(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"WorkflowSleepEntry\": {\n\t\t\tbare.writeU8(bc, 2);\n\t\t\twriteWorkflowSleepEntry(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"WorkflowMessageEntry\": {\n\t\t\tbare.writeU8(bc, 3);\n\t\t\twriteWorkflowMessageEntry(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"WorkflowRollbackCheckpointEntry\": {\n\t\t\tbare.writeU8(bc, 4);\n\t\t\twriteWorkflowRollbackCheckpointEntry(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"WorkflowJoinEntry\": {\n\t\t\tbare.writeU8(bc, 5);\n\t\t\twriteWorkflowJoinEntry(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"WorkflowRaceEntry\": {\n\t\t\tbare.writeU8(bc, 6);\n\t\t\twriteWorkflowRaceEntry(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"WorkflowRemovedEntry\": {\n\t\t\tbare.writeU8(bc, 7);\n\t\t\twriteWorkflowRemovedEntry(bc, x.val);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nexport type WorkflowEntry = {\n\treadonly id: string;\n\treadonly location: WorkflowLocation;\n\treadonly kind: WorkflowEntryKind;\n};\n\nexport function readWorkflowEntry(bc: bare.ByteCursor): WorkflowEntry {\n\treturn {\n\t\tid: bare.readString(bc),\n\t\tlocation: readWorkflowLocation(bc),\n\t\tkind: readWorkflowEntryKind(bc),\n\t};\n}\n\nexport function writeWorkflowEntry(\n\tbc: bare.ByteCursor,\n\tx: WorkflowEntry,\n): void {\n\tbare.writeString(bc, x.id);\n\twriteWorkflowLocation(bc, x.location);\n\twriteWorkflowEntryKind(bc, x.kind);\n}\n\nfunction read3(bc: bare.ByteCursor): u64 | null {\n\treturn bare.readBool(bc) ? bare.readU64(bc) : null;\n}\n\nfunction write3(bc: bare.ByteCursor, x: u64 | null): void {\n\tbare.writeBool(bc, x !== null);\n\tif (x !== null) {\n\t\tbare.writeU64(bc, x);\n\t}\n}\n\nexport type WorkflowEntryMetadata = {\n\treadonly status: WorkflowEntryStatus;\n\treadonly error: string | null;\n\treadonly attempts: u32;\n\treadonly lastAttemptAt: u64;\n\treadonly createdAt: u64;\n\treadonly completedAt: u64 | null;\n\treadonly rollbackCompletedAt: u64 | null;\n\treadonly rollbackError: string | null;\n};\n\nexport function readWorkflowEntryMetadata(\n\tbc: bare.ByteCursor,\n): WorkflowEntryMetadata {\n\treturn {\n\t\tstatus: readWorkflowEntryStatus(bc),\n\t\terror: read1(bc),\n\t\tattempts: bare.readU32(bc),\n\t\tlastAttemptAt: bare.readU64(bc),\n\t\tcreatedAt: bare.readU64(bc),\n\t\tcompletedAt: read3(bc),\n\t\trollbackCompletedAt: read3(bc),\n\t\trollbackError: read1(bc),\n\t};\n}\n\nexport function writeWorkflowEntryMetadata(\n\tbc: bare.ByteCursor,\n\tx: WorkflowEntryMetadata,\n): void {\n\twriteWorkflowEntryStatus(bc, x.status);\n\twrite1(bc, x.error);\n\tbare.writeU32(bc, x.attempts);\n\tbare.writeU64(bc, x.lastAttemptAt);\n\tbare.writeU64(bc, x.createdAt);\n\twrite3(bc, x.completedAt);\n\twrite3(bc, x.rollbackCompletedAt);\n\twrite1(bc, x.rollbackError);\n}\n\nfunction read4(bc: bare.ByteCursor): readonly string[] {\n\tconst len = bare.readUintSafe(bc);\n\tif (len === 0) {\n\t\treturn [];\n\t}\n\tconst result = [bare.readString(bc)];\n\tfor (let i = 1; i < len; i++) {\n\t\tresult[i] = bare.readString(bc);\n\t}\n\treturn result;\n}\n\nfunction write4(bc: bare.ByteCursor, x: readonly string[]): void {\n\tbare.writeUintSafe(bc, x.length);\n\tfor (let i = 0; i < x.length; i++) {\n\t\tbare.writeString(bc, x[i]);\n\t}\n}\n\nfunction read5(bc: bare.ByteCursor): readonly WorkflowEntry[] {\n\tconst len = bare.readUintSafe(bc);\n\tif (len === 0) {\n\t\treturn [];\n\t}\n\tconst result = [readWorkflowEntry(bc)];\n\tfor (let i = 1; i < len; i++) {\n\t\tresult[i] = readWorkflowEntry(bc);\n\t}\n\treturn result;\n}\n\nfunction write5(bc: bare.ByteCursor, x: readonly WorkflowEntry[]): void {\n\tbare.writeUintSafe(bc, x.length);\n\tfor (let i = 0; i < x.length; i++) {\n\t\twriteWorkflowEntry(bc, x[i]);\n\t}\n}\n\nfunction read6(\n\tbc: bare.ByteCursor,\n): ReadonlyMap<string, WorkflowEntryMetadata> {\n\tconst len = bare.readUintSafe(bc);\n\tconst result = new Map<string, WorkflowEntryMetadata>();\n\tfor (let i = 0; i < len; i++) {\n\t\tconst offset = bc.offset;\n\t\tconst key = bare.readString(bc);\n\t\tif (result.has(key)) {\n\t\t\tbc.offset = offset;\n\t\t\tthrow new bare.BareError(offset, \"duplicated key\");\n\t\t}\n\t\tresult.set(key, readWorkflowEntryMetadata(bc));\n\t}\n\treturn result;\n}\n\nfunction write6(\n\tbc: bare.ByteCursor,\n\tx: ReadonlyMap<string, WorkflowEntryMetadata>,\n): void {\n\tbare.writeUintSafe(bc, x.size);\n\tfor (const kv of x) {\n\t\tbare.writeString(bc, kv[0]);\n\t\twriteWorkflowEntryMetadata(bc, kv[1]);\n\t}\n}\n\nexport type WorkflowHistory = {\n\treadonly nameRegistry: readonly string[];\n\treadonly entries: readonly WorkflowEntry[];\n\treadonly entryMetadata: ReadonlyMap<string, WorkflowEntryMetadata>;\n};\n\nexport function readWorkflowHistory(bc: bare.ByteCursor): WorkflowHistory {\n\treturn {\n\t\tnameRegistry: read4(bc),\n\t\tentries: read5(bc),\n\t\tentryMetadata: read6(bc),\n\t};\n}\n\nexport function writeWorkflowHistory(\n\tbc: bare.ByteCursor,\n\tx: WorkflowHistory,\n): void {\n\twrite4(bc, x.nameRegistry);\n\twrite5(bc, x.entries);\n\twrite6(bc, x.entryMetadata);\n}\n\nexport function encodeWorkflowHistory(x: WorkflowHistory): Uint8Array {\n\tconst bc = new bare.ByteCursor(\n\t\tnew Uint8Array(config.initialBufferLength),\n\t\tconfig,\n\t);\n\twriteWorkflowHistory(bc, x);\n\treturn new Uint8Array(bc.view.buffer, bc.view.byteOffset, bc.offset);\n}\n\nexport function decodeWorkflowHistory(bytes: Uint8Array): WorkflowHistory {\n\tconst bc = new bare.ByteCursor(bytes, config);\n\tconst result = readWorkflowHistory(bc);\n\tif (bc.offset < bc.view.byteLength) {\n\t\tthrow new bare.BareError(bc.offset, \"remaining bytes\");\n\t}\n\treturn result;\n}\n\nfunction _assert(condition: boolean, message?: string): asserts condition {\n\tif (!condition) throw new Error(message ?? \"Assertion failed\");\n}\n","import type { WorkflowHistory } from \"@/common/bare/transport/v1\";\nimport {\n\tdecodeWorkflowHistory,\n\tencodeWorkflowHistory,\n} from \"@/common/bare/transport/v1\";\nimport { bufferToArrayBuffer, toUint8Array } from \"@/utils\";\n\nexport function encodeWorkflowHistoryTransport(\n\thistory: WorkflowHistory,\n): ArrayBuffer {\n\treturn bufferToArrayBuffer(encodeWorkflowHistory(history));\n}\n\nexport function decodeWorkflowHistoryTransport(\n\tdata: ArrayBuffer | ArrayBufferView,\n): WorkflowHistory {\n\treturn decodeWorkflowHistory(toUint8Array(data));\n}\n"],"mappings":"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","names":[]}
|