@elaraai/e3-types 1.0.83 → 1.0.85
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/src/api.d.ts +583 -17
- package/dist/src/api.d.ts.map +1 -1
- package/dist/src/api.js +208 -22
- package/dist/src/api.js.map +1 -1
- package/dist/src/dataflow.d.ts +115 -12
- package/dist/src/dataflow.d.ts.map +1 -1
- package/dist/src/dataflow.js +151 -15
- package/dist/src/dataflow.js.map +1 -1
- package/dist/src/dataflow.spec.js +41 -7
- package/dist/src/dataflow.spec.js.map +1 -1
- package/dist/src/dataset-blob.d.ts +19 -2
- package/dist/src/dataset-blob.d.ts.map +1 -1
- package/dist/src/dataset-blob.js +100 -21
- package/dist/src/dataset-blob.js.map +1 -1
- package/dist/src/dataset-blob.spec.js +132 -0
- package/dist/src/dataset-blob.spec.js.map +1 -1
- package/dist/src/execution.d.ts +68 -8
- package/dist/src/execution.d.ts.map +1 -1
- package/dist/src/execution.js +49 -8
- package/dist/src/execution.js.map +1 -1
- package/dist/src/execution.spec.js +31 -9
- package/dist/src/execution.spec.js.map +1 -1
- package/dist/src/function.d.ts +12 -0
- package/dist/src/function.d.ts.map +1 -1
- package/dist/src/index.d.ts +9 -8
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +15 -12
- package/dist/src/index.js.map +1 -1
- package/dist/src/names.d.ts +9 -0
- package/dist/src/names.d.ts.map +1 -1
- package/dist/src/names.js.map +1 -1
- package/dist/src/pieces.d.ts +47 -0
- package/dist/src/pieces.d.ts.map +1 -0
- package/dist/src/pieces.js +17 -0
- package/dist/src/pieces.js.map +1 -0
- package/dist/src/pieces.spec.d.ts +6 -0
- package/dist/src/pieces.spec.d.ts.map +1 -0
- package/dist/src/pieces.spec.js +20 -0
- package/dist/src/pieces.spec.js.map +1 -0
- package/dist/src/record.d.ts +52 -0
- package/dist/src/record.d.ts.map +1 -1
- package/dist/src/record.js +25 -0
- package/dist/src/record.js.map +1 -1
- package/dist/src/record.spec.js +43 -6
- package/dist/src/record.spec.js.map +1 -1
- package/dist/src/release.d.ts +1 -1
- package/dist/src/release.js +1 -1
- package/dist/src/repository.d.ts +16 -0
- package/dist/src/repository.d.ts.map +1 -1
- package/dist/src/repository.js +15 -0
- package/dist/src/repository.js.map +1 -1
- package/dist/src/runner.d.ts +22 -7
- package/dist/src/runner.d.ts.map +1 -1
- package/dist/src/runner.js +14 -11
- package/dist/src/runner.js.map +1 -1
- package/dist/src/runner.spec.js +4 -4
- package/dist/src/runner.spec.js.map +1 -1
- package/dist/src/structure.d.ts +27 -0
- package/dist/src/structure.d.ts.map +1 -1
- package/dist/src/structure.js +59 -18
- package/dist/src/structure.js.map +1 -1
- package/dist/src/structure.spec.d.ts +6 -0
- package/dist/src/structure.spec.d.ts.map +1 -0
- package/dist/src/structure.spec.js +57 -0
- package/dist/src/structure.spec.js.map +1 -0
- package/dist/src/task.d.ts +13 -1
- package/dist/src/task.d.ts.map +1 -1
- package/dist/src/task.js +1 -1
- package/dist/src/task.spec.js +25 -4
- package/dist/src/task.spec.js.map +1 -1
- package/package.json +3 -2
- package/src/api.ts +225 -21
- package/src/dataflow.spec.ts +49 -7
- package/src/dataflow.ts +160 -14
- package/src/dataset-blob.spec.ts +147 -0
- package/src/dataset-blob.ts +97 -20
- package/src/execution.spec.ts +31 -9
- package/src/execution.ts +52 -7
- package/src/index.ts +39 -2
- package/src/names.ts +12 -0
- package/src/pieces.spec.ts +23 -0
- package/src/pieces.ts +49 -0
- package/src/record.spec.ts +51 -5
- package/src/record.ts +28 -0
- package/src/release.ts +1 -1
- package/src/repository.ts +18 -0
- package/src/runner.spec.ts +4 -4
- package/src/runner.ts +14 -11
- package/src/structure.spec.ts +65 -0
- package/src/structure.ts +64 -21
- package/src/task.spec.ts +29 -3
- package/src/task.ts +1 -1
package/dist/src/dataflow.d.ts
CHANGED
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
*
|
|
11
11
|
* Key design decisions:
|
|
12
12
|
* - Dates are Date objects (via DateTimeType), not strings
|
|
13
|
-
* -
|
|
13
|
+
* - A run's events are kept apart from its state, so a write of the state
|
|
14
|
+
* costs what the run holds, not what it has done
|
|
14
15
|
* - Tasks stored as Dict (not Map) for beast2 compatibility
|
|
15
16
|
*/
|
|
16
17
|
import { StructType, VariantType, ArrayType, DictType, StringType, IntegerType, BooleanType, DateTimeType, OptionType, NullType, ValueTypeOf } from '@elaraai/east';
|
|
@@ -127,12 +128,13 @@ export type RequeueReason = ValueTypeOf<typeof RequeueReasonType>;
|
|
|
127
128
|
/**
|
|
128
129
|
* Execution events (VariantType for discriminated union).
|
|
129
130
|
*
|
|
130
|
-
* Events track the progress of a dataflow execution
|
|
131
|
-
*
|
|
131
|
+
* Events track the progress of a dataflow execution. A store keeps a run's
|
|
132
|
+
* events apart from its state, each numbered by its `seq`, and a poll reads
|
|
133
|
+
* those past its cursor.
|
|
132
134
|
*
|
|
133
135
|
* @remarks
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
+
* A stored form, as the state is: a reader decodes events against the whole
|
|
137
|
+
* type they were written with, so a new event is a new form of a run's events,
|
|
136
138
|
* which the release that makes it carries repositories into with an upgrade
|
|
137
139
|
* step. Each unit's progress is a callback, {@link PartitionProgress}, and is
|
|
138
140
|
* not persisted.
|
|
@@ -376,6 +378,42 @@ export interface PartitionProgress {
|
|
|
376
378
|
/** Unit duration in milliseconds (completed only). */
|
|
377
379
|
duration?: number;
|
|
378
380
|
}
|
|
381
|
+
/**
|
|
382
|
+
* The tasks a dataflow run forces: re-executes even where the execution cache
|
|
383
|
+
* holds their results.
|
|
384
|
+
*
|
|
385
|
+
* - `none`: no task; each is served from the cache when it can be
|
|
386
|
+
* - `all`: every task the run launches — under a filter, the filter's task
|
|
387
|
+
* - `tasks`: the tasks named, and no other
|
|
388
|
+
*
|
|
389
|
+
* @remarks
|
|
390
|
+
* A forced task is forced each time the run launches it, so one invalidated
|
|
391
|
+
* mid-run and launched again is forced again. Its dependents are not forced:
|
|
392
|
+
* they re-run when its output changes. A run that names a task the graph does
|
|
393
|
+
* not have, or one its filter's run set leaves out, is refused before anything
|
|
394
|
+
* runs.
|
|
395
|
+
*/
|
|
396
|
+
export declare const DataflowForceType: VariantType<{
|
|
397
|
+
readonly none: NullType;
|
|
398
|
+
readonly all: NullType;
|
|
399
|
+
readonly tasks: ArrayType<StringType>;
|
|
400
|
+
}>;
|
|
401
|
+
export type DataflowForce = ValueTypeOf<typeof DataflowForceType>;
|
|
402
|
+
/**
|
|
403
|
+
* The tasks a run forces, from the option a caller passes it.
|
|
404
|
+
*
|
|
405
|
+
* @param force - `true` for every task, the names of the tasks, or `false` or
|
|
406
|
+
* nothing for none
|
|
407
|
+
* @returns What the run forces
|
|
408
|
+
*/
|
|
409
|
+
export declare function dataflowForce(force: boolean | readonly string[] | undefined): DataflowForce;
|
|
410
|
+
/**
|
|
411
|
+
* The option a run's forced tasks are passed to an orchestrator as.
|
|
412
|
+
*
|
|
413
|
+
* @param force - What the run forces
|
|
414
|
+
* @returns `true` for every task, the names of the tasks, or `false` for none
|
|
415
|
+
*/
|
|
416
|
+
export declare function dataflowForceOption(force: DataflowForce): boolean | string[];
|
|
379
417
|
/**
|
|
380
418
|
* Persistent state for a dataflow execution.
|
|
381
419
|
*
|
|
@@ -383,7 +421,9 @@ export interface PartitionProgress {
|
|
|
383
421
|
*
|
|
384
422
|
* @remarks
|
|
385
423
|
* - Tasks are stored as a Dict (serializes as object, not array of tuples)
|
|
386
|
-
* -
|
|
424
|
+
* - A run's events are kept apart from it: `events` holds those the run has
|
|
425
|
+
* added since its state was last written, which the write hands its store,
|
|
426
|
+
* so a state a store holds, or reads back, holds none
|
|
387
427
|
* - Dates are Date objects (via DateTimeType)
|
|
388
428
|
* - Read it back with {@link decodeDataflowExecutionState}, which reads this
|
|
389
429
|
* form alone. A release that changes it ships a repository upgrade step,
|
|
@@ -401,9 +441,14 @@ export declare const DataflowExecutionStateType: StructType<{
|
|
|
401
441
|
readonly workspace: StringType;
|
|
402
442
|
/** When the execution started */
|
|
403
443
|
readonly startedAt: DateTimeType;
|
|
404
|
-
/**
|
|
405
|
-
|
|
406
|
-
|
|
444
|
+
/** The tasks the run re-executes even where the cache holds their results
|
|
445
|
+
* ({@link DataflowForceType}) */
|
|
446
|
+
readonly force: VariantType<{
|
|
447
|
+
readonly none: NullType;
|
|
448
|
+
readonly all: NullType;
|
|
449
|
+
readonly tasks: ArrayType<StringType>;
|
|
450
|
+
}>;
|
|
451
|
+
/** One task's exact name: the run runs it and its dependency closure */
|
|
407
452
|
readonly filter: OptionType<StringType>;
|
|
408
453
|
/** The dependency graph (for local execution) */
|
|
409
454
|
readonly graph: OptionType<StructType<{
|
|
@@ -478,7 +523,9 @@ export declare const DataflowExecutionStateType: StructType<{
|
|
|
478
523
|
readonly taskOutputPaths: ArrayType<StringType>;
|
|
479
524
|
/** Number of tasks re-executed due to input changes */
|
|
480
525
|
readonly reexecuted: IntegerType;
|
|
481
|
-
/**
|
|
526
|
+
/** The events the run has added since its state was last written, in
|
|
527
|
+
* order: a write of the state hands them to its store, which keeps a run's
|
|
528
|
+
* events apart from its state, so a stored state holds none */
|
|
482
529
|
readonly events: ArrayType<VariantType<{
|
|
483
530
|
/** Execution started */
|
|
484
531
|
readonly execution_started: StructType<{
|
|
@@ -691,7 +738,8 @@ export declare const DataflowExecutionStateType: StructType<{
|
|
|
691
738
|
readonly reserves: IntegerType;
|
|
692
739
|
}>;
|
|
693
740
|
}>>;
|
|
694
|
-
/**
|
|
741
|
+
/** The sequence number of the run's last event, which the next event's
|
|
742
|
+
* follows: 0 while it has none */
|
|
695
743
|
readonly eventSeq: IntegerType;
|
|
696
744
|
}>;
|
|
697
745
|
export type DataflowExecutionState = ValueTypeOf<typeof DataflowExecutionStateType>;
|
|
@@ -708,9 +756,64 @@ export type DataflowExecutionState = ValueTypeOf<typeof DataflowExecutionStateTy
|
|
|
708
756
|
* @param data - the stored state
|
|
709
757
|
* @returns the state
|
|
710
758
|
* @throws {Error} When the state is of another form, naming the release that
|
|
711
|
-
* wrote it, or the data is not an execution state
|
|
759
|
+
* wrote it, or the data is not an execution state — of another type, or not
|
|
760
|
+
* beast2 at all.
|
|
712
761
|
*/
|
|
713
762
|
export declare function decodeDataflowExecutionState(data: Uint8Array): DataflowExecutionState;
|
|
763
|
+
/**
|
|
764
|
+
* A dataflow run's state but its graph, its tasks, its reactive tracking and
|
|
765
|
+
* its events: what a poll of the run serves but the events, and the sequence
|
|
766
|
+
* number of its last event, past which a poll reads the events it has not
|
|
767
|
+
* served.
|
|
768
|
+
*
|
|
769
|
+
* @remarks
|
|
770
|
+
* An execution state store answers it for a workspace's latest run
|
|
771
|
+
* (`ExecutionStateStore.readLatestSummary`), so a poll reads it rather than
|
|
772
|
+
* the whole state, which grows with the dataflow and with every event of the
|
|
773
|
+
* run. A store may keep it beside the state, written with each change of the
|
|
774
|
+
* state; one that reads the whole state anyway derives it
|
|
775
|
+
* ({@link executionStateSummary}).
|
|
776
|
+
*/
|
|
777
|
+
export declare const ExecutionStateSummaryType: StructType<{
|
|
778
|
+
/** The run's id, a UUIDv7 */
|
|
779
|
+
readonly id: StringType;
|
|
780
|
+
/** When the run started */
|
|
781
|
+
readonly startedAt: DateTimeType;
|
|
782
|
+
/** Number of tasks executed (not from cache) */
|
|
783
|
+
readonly executed: IntegerType;
|
|
784
|
+
/** Number of tasks served from cache */
|
|
785
|
+
readonly cached: IntegerType;
|
|
786
|
+
/** Number of tasks that failed */
|
|
787
|
+
readonly failed: IntegerType;
|
|
788
|
+
/** Number of tasks skipped due to upstream failure */
|
|
789
|
+
readonly skipped: IntegerType;
|
|
790
|
+
/** The run's status ({@link DataflowExecutionStatus}) */
|
|
791
|
+
readonly status: StringType;
|
|
792
|
+
/** When the run ended */
|
|
793
|
+
readonly completedAt: OptionType<DateTimeType>;
|
|
794
|
+
/** Why the run failed, when it did */
|
|
795
|
+
readonly error: OptionType<StringType>;
|
|
796
|
+
/** The sequence number of the run's last event: 0 while it has none */
|
|
797
|
+
readonly lastSeq: IntegerType;
|
|
798
|
+
}>;
|
|
799
|
+
export type ExecutionStateSummary = ValueTypeOf<typeof ExecutionStateSummaryType>;
|
|
800
|
+
/**
|
|
801
|
+
* The sequence number of a run's last event, as its state counts it: the
|
|
802
|
+
* state's own count, or the last event it holds, which a write has not yet
|
|
803
|
+
* handed its store, when that is later.
|
|
804
|
+
*
|
|
805
|
+
* @param state - The run's state
|
|
806
|
+
* @returns The sequence number: 0 while the run has no event
|
|
807
|
+
*/
|
|
808
|
+
export declare function lastEventSeq(state: Pick<DataflowExecutionState, 'events' | 'eventSeq'>): bigint;
|
|
809
|
+
/**
|
|
810
|
+
* The summary of a run's state ({@link ExecutionStateSummaryType}).
|
|
811
|
+
*
|
|
812
|
+
* @param state - The run's state
|
|
813
|
+
* @returns Its summary: its last event's sequence number is the last event's
|
|
814
|
+
* own ({@link lastEventSeq}), however the event was recorded
|
|
815
|
+
*/
|
|
816
|
+
export declare function executionStateSummary(state: DataflowExecutionState): ExecutionStateSummary;
|
|
714
817
|
/**
|
|
715
818
|
* Status of a dataflow run.
|
|
716
819
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../src/dataflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH
|
|
1
|
+
{"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../src/dataflow.ts"],"names":[],"mappings":"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"}
|
package/dist/src/dataflow.js
CHANGED
|
@@ -10,10 +10,11 @@
|
|
|
10
10
|
*
|
|
11
11
|
* Key design decisions:
|
|
12
12
|
* - Dates are Date objects (via DateTimeType), not strings
|
|
13
|
-
* -
|
|
13
|
+
* - A run's events are kept apart from its state, so a write of the state
|
|
14
|
+
* costs what the run holds, not what it has done
|
|
14
15
|
* - Tasks stored as Dict (not Map) for beast2 compatibility
|
|
15
16
|
*/
|
|
16
|
-
import { StructType, VariantType, ArrayType, DictType, StringType, IntegerType, BooleanType, DateTimeType, OptionType, NullType, decodeBeast2, decodeBeast2For, isTypeValueEqual, readBeast2Type, toEastTypeValue, } from '@elaraai/east';
|
|
17
|
+
import { StructType, VariantType, ArrayType, DictType, StringType, IntegerType, BooleanType, DateTimeType, OptionType, NullType, decodeBeast2, decodeBeast2For, isTypeValueEqual, lessFor, readBeast2Type, toEastTypeValue, variant, } from '@elaraai/east';
|
|
17
18
|
import { E3_RELEASE, compareReleases } from './release.js';
|
|
18
19
|
// =============================================================================
|
|
19
20
|
// Task State
|
|
@@ -110,12 +111,13 @@ export const RequeueReasonType = VariantType({
|
|
|
110
111
|
/**
|
|
111
112
|
* Execution events (VariantType for discriminated union).
|
|
112
113
|
*
|
|
113
|
-
* Events track the progress of a dataflow execution
|
|
114
|
-
*
|
|
114
|
+
* Events track the progress of a dataflow execution. A store keeps a run's
|
|
115
|
+
* events apart from its state, each numbered by its `seq`, and a poll reads
|
|
116
|
+
* those past its cursor.
|
|
115
117
|
*
|
|
116
118
|
* @remarks
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
+
* A stored form, as the state is: a reader decodes events against the whole
|
|
120
|
+
* type they were written with, so a new event is a new form of a run's events,
|
|
119
121
|
* which the release that makes it carries repositories into with an upgrade
|
|
120
122
|
* step. Each unit's progress is a callback, {@link PartitionProgress}, and is
|
|
121
123
|
* not persisted.
|
|
@@ -318,6 +320,56 @@ export const ExecutionEventType = VariantType({
|
|
|
318
320
|
}),
|
|
319
321
|
});
|
|
320
322
|
// =============================================================================
|
|
323
|
+
// Forced Tasks
|
|
324
|
+
// =============================================================================
|
|
325
|
+
/**
|
|
326
|
+
* The tasks a dataflow run forces: re-executes even where the execution cache
|
|
327
|
+
* holds their results.
|
|
328
|
+
*
|
|
329
|
+
* - `none`: no task; each is served from the cache when it can be
|
|
330
|
+
* - `all`: every task the run launches — under a filter, the filter's task
|
|
331
|
+
* - `tasks`: the tasks named, and no other
|
|
332
|
+
*
|
|
333
|
+
* @remarks
|
|
334
|
+
* A forced task is forced each time the run launches it, so one invalidated
|
|
335
|
+
* mid-run and launched again is forced again. Its dependents are not forced:
|
|
336
|
+
* they re-run when its output changes. A run that names a task the graph does
|
|
337
|
+
* not have, or one its filter's run set leaves out, is refused before anything
|
|
338
|
+
* runs.
|
|
339
|
+
*/
|
|
340
|
+
export const DataflowForceType = VariantType({
|
|
341
|
+
none: NullType,
|
|
342
|
+
all: NullType,
|
|
343
|
+
tasks: ArrayType(StringType),
|
|
344
|
+
});
|
|
345
|
+
/**
|
|
346
|
+
* The tasks a run forces, from the option a caller passes it.
|
|
347
|
+
*
|
|
348
|
+
* @param force - `true` for every task, the names of the tasks, or `false` or
|
|
349
|
+
* nothing for none
|
|
350
|
+
* @returns What the run forces
|
|
351
|
+
*/
|
|
352
|
+
export function dataflowForce(force) {
|
|
353
|
+
if (force === undefined || force === false)
|
|
354
|
+
return variant('none', null);
|
|
355
|
+
if (force === true)
|
|
356
|
+
return variant('all', null);
|
|
357
|
+
return variant('tasks', [...force]);
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* The option a run's forced tasks are passed to an orchestrator as.
|
|
361
|
+
*
|
|
362
|
+
* @param force - What the run forces
|
|
363
|
+
* @returns `true` for every task, the names of the tasks, or `false` for none
|
|
364
|
+
*/
|
|
365
|
+
export function dataflowForceOption(force) {
|
|
366
|
+
switch (force.type) {
|
|
367
|
+
case 'none': return false;
|
|
368
|
+
case 'all': return true;
|
|
369
|
+
case 'tasks': return [...force.value];
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
// =============================================================================
|
|
321
373
|
// Main Execution State
|
|
322
374
|
// =============================================================================
|
|
323
375
|
/**
|
|
@@ -327,7 +379,9 @@ export const ExecutionEventType = VariantType({
|
|
|
327
379
|
*
|
|
328
380
|
* @remarks
|
|
329
381
|
* - Tasks are stored as a Dict (serializes as object, not array of tuples)
|
|
330
|
-
* -
|
|
382
|
+
* - A run's events are kept apart from it: `events` holds those the run has
|
|
383
|
+
* added since its state was last written, which the write hands its store,
|
|
384
|
+
* so a state a store holds, or reads back, holds none
|
|
331
385
|
* - Dates are Date objects (via DateTimeType)
|
|
332
386
|
* - Read it back with {@link decodeDataflowExecutionState}, which reads this
|
|
333
387
|
* form alone. A release that changes it ships a repository upgrade step,
|
|
@@ -347,9 +401,10 @@ export const DataflowExecutionStateType = StructType({
|
|
|
347
401
|
/** When the execution started */
|
|
348
402
|
startedAt: DateTimeType,
|
|
349
403
|
// Config (immutable after initialization)
|
|
350
|
-
/**
|
|
351
|
-
|
|
352
|
-
|
|
404
|
+
/** The tasks the run re-executes even where the cache holds their results
|
|
405
|
+
* ({@link DataflowForceType}) */
|
|
406
|
+
force: DataflowForceType,
|
|
407
|
+
/** One task's exact name: the run runs it and its dependency closure */
|
|
353
408
|
filter: OptionType(StringType),
|
|
354
409
|
// Graph (inline or by reference)
|
|
355
410
|
/** The dependency graph (for local execution) */
|
|
@@ -384,10 +439,13 @@ export const DataflowExecutionStateType = StructType({
|
|
|
384
439
|
taskOutputPaths: ArrayType(StringType),
|
|
385
440
|
/** Number of tasks re-executed due to input changes */
|
|
386
441
|
reexecuted: IntegerType,
|
|
387
|
-
// Events
|
|
388
|
-
/**
|
|
442
|
+
// Events, kept apart
|
|
443
|
+
/** The events the run has added since its state was last written, in
|
|
444
|
+
* order: a write of the state hands them to its store, which keeps a run's
|
|
445
|
+
* events apart from its state, so a stored state holds none */
|
|
389
446
|
events: ArrayType(ExecutionEventType),
|
|
390
|
-
/**
|
|
447
|
+
/** The sequence number of the run's last event, which the next event's
|
|
448
|
+
* follows: 0 while it has none */
|
|
391
449
|
eventSeq: IntegerType,
|
|
392
450
|
});
|
|
393
451
|
const STATE_TYPE = toEastTypeValue(DataflowExecutionStateType);
|
|
@@ -405,10 +463,17 @@ const decodeState = decodeBeast2For(DataflowExecutionStateType);
|
|
|
405
463
|
* @param data - the stored state
|
|
406
464
|
* @returns the state
|
|
407
465
|
* @throws {Error} When the state is of another form, naming the release that
|
|
408
|
-
* wrote it, or the data is not an execution state
|
|
466
|
+
* wrote it, or the data is not an execution state — of another type, or not
|
|
467
|
+
* beast2 at all.
|
|
409
468
|
*/
|
|
410
469
|
export function decodeDataflowExecutionState(data) {
|
|
411
|
-
|
|
470
|
+
let type;
|
|
471
|
+
try {
|
|
472
|
+
type = readBeast2Type(data);
|
|
473
|
+
}
|
|
474
|
+
catch (err) {
|
|
475
|
+
throw new Error(`the data is not an execution state: it is not beast2 (${err instanceof Error ? err.message : `${err}`})`, { cause: err });
|
|
476
|
+
}
|
|
412
477
|
if (isTypeValueEqual(type, STATE_TYPE))
|
|
413
478
|
return decodeState(data);
|
|
414
479
|
const { value } = decodeBeast2(data);
|
|
@@ -423,6 +488,77 @@ export function decodeDataflowExecutionState(data) {
|
|
|
423
488
|
}
|
|
424
489
|
throw new Error('the data is not an execution state: its type is not the execution state\'s');
|
|
425
490
|
}
|
|
491
|
+
/**
|
|
492
|
+
* A dataflow run's state but its graph, its tasks, its reactive tracking and
|
|
493
|
+
* its events: what a poll of the run serves but the events, and the sequence
|
|
494
|
+
* number of its last event, past which a poll reads the events it has not
|
|
495
|
+
* served.
|
|
496
|
+
*
|
|
497
|
+
* @remarks
|
|
498
|
+
* An execution state store answers it for a workspace's latest run
|
|
499
|
+
* (`ExecutionStateStore.readLatestSummary`), so a poll reads it rather than
|
|
500
|
+
* the whole state, which grows with the dataflow and with every event of the
|
|
501
|
+
* run. A store may keep it beside the state, written with each change of the
|
|
502
|
+
* state; one that reads the whole state anyway derives it
|
|
503
|
+
* ({@link executionStateSummary}).
|
|
504
|
+
*/
|
|
505
|
+
export const ExecutionStateSummaryType = StructType({
|
|
506
|
+
/** The run's id, a UUIDv7 */
|
|
507
|
+
id: StringType,
|
|
508
|
+
/** When the run started */
|
|
509
|
+
startedAt: DateTimeType,
|
|
510
|
+
/** Number of tasks executed (not from cache) */
|
|
511
|
+
executed: IntegerType,
|
|
512
|
+
/** Number of tasks served from cache */
|
|
513
|
+
cached: IntegerType,
|
|
514
|
+
/** Number of tasks that failed */
|
|
515
|
+
failed: IntegerType,
|
|
516
|
+
/** Number of tasks skipped due to upstream failure */
|
|
517
|
+
skipped: IntegerType,
|
|
518
|
+
/** The run's status ({@link DataflowExecutionStatus}) */
|
|
519
|
+
status: StringType,
|
|
520
|
+
/** When the run ended */
|
|
521
|
+
completedAt: OptionType(DateTimeType),
|
|
522
|
+
/** Why the run failed, when it did */
|
|
523
|
+
error: OptionType(StringType),
|
|
524
|
+
/** The sequence number of the run's last event: 0 while it has none */
|
|
525
|
+
lastSeq: IntegerType,
|
|
526
|
+
});
|
|
527
|
+
/** Whether one event sequence number comes before another. */
|
|
528
|
+
const seqBefore = lessFor(IntegerType);
|
|
529
|
+
/**
|
|
530
|
+
* The sequence number of a run's last event, as its state counts it: the
|
|
531
|
+
* state's own count, or the last event it holds, which a write has not yet
|
|
532
|
+
* handed its store, when that is later.
|
|
533
|
+
*
|
|
534
|
+
* @param state - The run's state
|
|
535
|
+
* @returns The sequence number: 0 while the run has no event
|
|
536
|
+
*/
|
|
537
|
+
export function lastEventSeq(state) {
|
|
538
|
+
const held = state.events.at(-1)?.value.seq;
|
|
539
|
+
return held !== undefined && seqBefore(state.eventSeq, held) ? held : state.eventSeq;
|
|
540
|
+
}
|
|
541
|
+
/**
|
|
542
|
+
* The summary of a run's state ({@link ExecutionStateSummaryType}).
|
|
543
|
+
*
|
|
544
|
+
* @param state - The run's state
|
|
545
|
+
* @returns Its summary: its last event's sequence number is the last event's
|
|
546
|
+
* own ({@link lastEventSeq}), however the event was recorded
|
|
547
|
+
*/
|
|
548
|
+
export function executionStateSummary(state) {
|
|
549
|
+
return {
|
|
550
|
+
id: state.id,
|
|
551
|
+
startedAt: state.startedAt,
|
|
552
|
+
executed: state.executed,
|
|
553
|
+
cached: state.cached,
|
|
554
|
+
failed: state.failed,
|
|
555
|
+
skipped: state.skipped,
|
|
556
|
+
status: state.status,
|
|
557
|
+
completedAt: state.completedAt,
|
|
558
|
+
error: state.error,
|
|
559
|
+
lastSeq: lastEventSeq(state),
|
|
560
|
+
};
|
|
561
|
+
}
|
|
426
562
|
// =============================================================================
|
|
427
563
|
// Dataflow Run History
|
|
428
564
|
// =============================================================================
|
package/dist/src/dataflow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataflow.js","sourceRoot":"","sources":["../../src/dataflow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dataflow.js","sourceRoot":"","sources":["../../src/dataflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,UAAU,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,EAER,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,eAAe,EACf,OAAO,GAER,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAgB3D,gFAAgF;AAChF,aAAa;AACb,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;IACtC,gBAAgB;IAChB,IAAI,EAAE,UAAU;IAChB,4CAA4C;IAC5C,MAAM,EAAE,UAAU;IAClB,+CAA+C;IAC/C,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC;IAC/B,4CAA4C;IAC5C,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC;IAClC,8BAA8B;IAC9B,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC;IAC7B,uCAAuC;IACvC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC;IACjC,4BAA4B;IAC5B,SAAS,EAAE,UAAU,CAAC,YAAY,CAAC;IACnC,8BAA8B;IAC9B,WAAW,EAAE,UAAU,CAAC,YAAY,CAAC;IACrC,+BAA+B;IAC/B,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC;IACjC;;sBAEkB;IAClB,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC;IAC5B;mEAC+D;IAC/D,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC;QAC/B,6CAA6C;QAC7C,UAAU,EAAE,UAAU;QACtB,kCAAkC;QAClC,WAAW,EAAE,UAAU;KACxB,CAAC,CAAC;CACJ,CAAC,CAAC;AAGH,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;IAC9C,gBAAgB;IAChB,IAAI,EAAE,UAAU;IAChB,uBAAuB;IACvB,IAAI,EAAE,UAAU;IAChB,0BAA0B;IAC1B,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC;IAC7B,0BAA0B;IAC1B,MAAM,EAAE,UAAU;IAClB,qCAAqC;IACrC,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC;CACjC,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;IAC1C,6BAA6B;IAC7B,KAAK,EAAE,SAAS,CAAC,qBAAqB,CAAC;CACxC,CAAC,CAAC;AAGH,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;IACtC;gBACY;IACZ,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAC1E,4CAA4C;IAC5C,KAAK,EAAE,WAAW;IAClB,6BAA6B;IAC7B,KAAK,EAAE,WAAW;CACnB,CAAC,CAAC;AAGH;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;IAC3C,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,GAAG,EAAE,QAAQ;CACd,CAAC,CAAC;AAGH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC;IAC5C,wBAAwB;IACxB,iBAAiB,EAAE,UAAU,CAAC;QAC5B,4BAA4B;QAC5B,GAAG,EAAE,WAAW;QAChB,8BAA8B;QAC9B,SAAS,EAAE,YAAY;QACvB,mBAAmB;QACnB,WAAW,EAAE,UAAU;QACvB,yCAAyC;QACzC,UAAU,EAAE,WAAW;KACxB,CAAC;IACF,mCAAmC;IACnC,UAAU,EAAE,UAAU,CAAC;QACrB,4BAA4B;QAC5B,GAAG,EAAE,WAAW;QAChB,8BAA8B;QAC9B,SAAS,EAAE,YAAY;QACvB,gBAAgB;QAChB,IAAI,EAAE,UAAU;KACjB,CAAC;IACF,6BAA6B;IAC7B,YAAY,EAAE,UAAU,CAAC;QACvB,4BAA4B;QAC5B,GAAG,EAAE,WAAW;QAChB,8BAA8B;QAC9B,SAAS,EAAE,YAAY;QACvB,gBAAgB;QAChB,IAAI,EAAE,UAAU;KACjB,CAAC;IACF,kCAAkC;IAClC,cAAc,EAAE,UAAU,CAAC;QACzB,4BAA4B;QAC5B,GAAG,EAAE,WAAW;QAChB,8BAA8B;QAC9B,SAAS,EAAE,YAAY;QACvB,gBAAgB;QAChB,IAAI,EAAE,UAAU;QAChB,+CAA+C;QAC/C,MAAM,EAAE,WAAW;QACnB,kBAAkB;QAClB,UAAU,EAAE,UAAU;QACtB,+BAA+B;QAC/B,QAAQ,EAAE,WAAW;QACrB;;uBAEe;QACf,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC;KACnC,CAAC;IACF,kBAAkB;IAClB,WAAW,EAAE,UAAU,CAAC;QACtB,4BAA4B;QAC5B,GAAG,EAAE,WAAW;QAChB,8BAA8B;QAC9B,SAAS,EAAE,YAAY;QACvB,gBAAgB;QAChB,IAAI,EAAE,UAAU;QAChB,oBAAoB;QACpB,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC;QAC7B,uCAAuC;QACvC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC;QACjC,+BAA+B;QAC/B,QAAQ,EAAE,WAAW;KACtB,CAAC;IACF,+CAA+C;IAC/C,YAAY,EAAE,UAAU,CAAC;QACvB,4BAA4B;QAC5B,GAAG,EAAE,WAAW;QAChB,8BAA8B;QAC9B,SAAS,EAAE,YAAY;QACvB,gBAAgB;QAChB,IAAI,EAAE,UAAU;QAChB,qDAAqD;QACrD,KAAK,EAAE,UAAU;KAClB,CAAC;IACF,0BAA0B;IAC1B,mBAAmB,EAAE,UAAU,CAAC;QAC9B,4BAA4B;QAC5B,GAAG,EAAE,WAAW;QAChB,8BAA8B;QAC9B,SAAS,EAAE,YAAY;QACvB,kCAAkC;QAClC,OAAO,EAAE,WAAW;QACpB,gDAAgD;QAChD,QAAQ,EAAE,WAAW;QACrB,wCAAwC;QACxC,MAAM,EAAE,WAAW;QACnB,kCAAkC;QAClC,MAAM,EAAE,WAAW;QACnB,8BAA8B;QAC9B,OAAO,EAAE,WAAW;QACpB,qCAAqC;QACrC,QAAQ,EAAE,WAAW;KACtB,CAAC;IACF,8BAA8B;IAC9B,mBAAmB,EAAE,UAAU,CAAC;QAC9B,4BAA4B;QAC5B,GAAG,EAAE,WAAW;QAChB,8BAA8B;QAC9B,SAAS,EAAE,YAAY;QACvB,8BAA8B;QAC9B,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC;KAC/B,CAAC;IACF,oEAAoE;IACpE,aAAa,EAAE,UAAU,CAAC;QACxB,4BAA4B;QAC5B,GAAG,EAAE,WAAW;QAChB,8BAA8B;QAC9B,SAAS,EAAE,YAAY;QACvB,wCAAwC;QACxC,IAAI,EAAE,UAAU;QAChB,qDAAqD;QACrD,YAAY,EAAE,UAAU;QACxB,eAAe;QACf,OAAO,EAAE,UAAU;KACpB,CAAC;IACF,0DAA0D;IAC1D,gBAAgB,EAAE,UAAU,CAAC;QAC3B,4BAA4B;QAC5B,GAAG,EAAE,WAAW;QAChB,8BAA8B;QAC9B,SAAS,EAAE,YAAY;QACvB,gBAAgB;QAChB,IAAI,EAAE,UAAU;QAChB,8BAA8B;QAC9B,MAAM,EAAE,UAAU;KACnB,CAAC;IACF,6DAA6D;IAC7D,aAAa,EAAE,UAAU,CAAC;QACxB,4BAA4B;QAC5B,GAAG,EAAE,WAAW;QAChB,8BAA8B;QAC9B,SAAS,EAAE,YAAY;QACvB,gBAAgB;QAChB,IAAI,EAAE,UAAU;QAChB,+CAA+C;QAC/C,YAAY,EAAE,UAAU;KACzB,CAAC;IACF;8BAC0B;IAC1B,UAAU,EAAE,UAAU,CAAC;QACrB,4BAA4B;QAC5B,GAAG,EAAE,WAAW;QAChB,8BAA8B;QAC9B,SAAS,EAAE,YAAY;QACvB,gBAAgB;QAChB,IAAI,EAAE,UAAU;QAChB,yCAAyC;QACzC,MAAM,EAAE,WAAW;KACpB,CAAC;IACF,sEAAsE;IACtE,kBAAkB,EAAE,UAAU,CAAC;QAC7B,4BAA4B;QAC5B,GAAG,EAAE,WAAW;QAChB,8BAA8B;QAC9B,SAAS,EAAE,YAAY;QACvB,gBAAgB;QAChB,IAAI,EAAE,UAAU;QAChB,wBAAwB;QACxB,KAAK,EAAE,WAAW;QAClB,2CAA2C;QAC3C,MAAM,EAAE,WAAW;QACnB,mCAAmC;QACnC,KAAK,EAAE,WAAW;KACnB,CAAC;IACF,uEAAuE;IACvE,oBAAoB,EAAE,UAAU,CAAC;QAC/B,4BAA4B;QAC5B,GAAG,EAAE,WAAW;QAChB,8BAA8B;QAC9B,SAAS,EAAE,YAAY;QACvB,gBAAgB;QAChB,IAAI,EAAE,UAAU;QAChB,wBAAwB;QACxB,KAAK,EAAE,WAAW;QAClB,2CAA2C;QAC3C,MAAM,EAAE,WAAW;KACpB,CAAC;IACF;gEAC4D;IAC5D,aAAa,EAAE,UAAU,CAAC;QACxB,4BAA4B;QAC5B,GAAG,EAAE,WAAW;QAChB,8BAA8B;QAC9B,SAAS,EAAE,YAAY;QACvB,gBAAgB;QAChB,IAAI,EAAE,UAAU;QAChB,eAAe;QACf,IAAI,EAAE,aAAa;QACnB,iCAAiC;QACjC,MAAM,EAAE,iBAAiB;QACzB,2EAA2E;QAC3E,IAAI,EAAE,WAAW;QACjB,2DAA2D;QAC3D,QAAQ,EAAE,WAAW;KACtB,CAAC;CACH,CAAC,CAAC;AA8BH,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;IAC3C,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,SAAS,CAAC,UAAU,CAAC;CAC7B,CAAC,CAAC;AAGH;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAA8C;IAC1E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzE,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACtC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAoB;IACtD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC;QAC1B,KAAK,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC;QACxB,KAAK,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;IACnD,6CAA6C;IAC7C,OAAO,EAAE,UAAU;IAEnB,WAAW;IACX,gFAAgF;IAChF,EAAE,EAAE,UAAU;IACd,4BAA4B;IAC5B,IAAI,EAAE,UAAU;IAChB,qBAAqB;IACrB,SAAS,EAAE,UAAU;IACrB,iCAAiC;IACjC,SAAS,EAAE,YAAY;IAEvB,0CAA0C;IAC1C;sCACkC;IAClC,KAAK,EAAE,iBAAiB;IACxB,wEAAwE;IACxE,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC;IAE9B,iCAAiC;IACjC,iDAAiD;IACjD,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC;IACpC,iEAAiE;IACjE,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC;IAEjC,gBAAgB;IAChB,qCAAqC;IACrC,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IAE1C,mBAAmB;IACnB,gDAAgD;IAChD,QAAQ,EAAE,WAAW;IACrB,wCAAwC;IACxC,MAAM,EAAE,WAAW;IACnB,kCAAkC;IAClC,MAAM,EAAE,WAAW;IACnB,sDAAsD;IACtD,OAAO,EAAE,WAAW;IAEpB,SAAS;IACT,+BAA+B;IAC/B,MAAM,EAAE,UAAU,EAAE,0BAA0B;IAC9C,mCAAmC;IACnC,WAAW,EAAE,UAAU,CAAC,YAAY,CAAC;IACrC,0CAA0C;IAC1C,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC;IAE7B,6BAA6B;IAC7B,kFAAkF;IAClF,cAAc,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACtE,uEAAuE;IACvE,aAAa,EAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAC/C,oDAAoD;IACpD,eAAe,EAAE,SAAS,CAAC,UAAU,CAAC;IACtC,uDAAuD;IACvD,UAAU,EAAE,WAAW;IAEvB,qBAAqB;IACrB;;oEAEgE;IAChE,MAAM,EAAE,SAAS,CAAC,kBAAkB,CAAC;IACrC;uCACmC;IACnC,QAAQ,EAAE,WAAW;CACtB,CAAC,CAAC;AAGH,MAAM,UAAU,GAAG,eAAe,CAAC,0BAA0B,CAAC,CAAC;AAC/D,MAAM,WAAW,GAAG,eAAe,CAAC,0BAA0B,CAAC,CAAC;AAEhE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,4BAA4B,CAAC,IAAgB;IAC3D,IAAI,IAAmB,CAAC;IACxB,IAAI,CAAC;QACH,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,yDAAyD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAa,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IACvJ,CAAC;IACD,IAAI,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC;QAAE,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpG,MAAM,OAAO,GAAG,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,IAAI,OAAO,KAAK,IAAI,IAAI,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CACb,yCAAyC,OAAO,wBAAwB,UAAU,4BAA4B,OAAO,iBAAiB,CACvI,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,WAAW,IAAI,KAAK,IAAI,OAAO,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QACpF,MAAM,IAAI,KAAK,CACb,sCAAsC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,wBAAwB,UAAU,oBAAoB;YAC9I,kEAAkE,CACnE,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;AAChG,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAC;IAClD,6BAA6B;IAC7B,EAAE,EAAE,UAAU;IACd,2BAA2B;IAC3B,SAAS,EAAE,YAAY;IACvB,gDAAgD;IAChD,QAAQ,EAAE,WAAW;IACrB,wCAAwC;IACxC,MAAM,EAAE,WAAW;IACnB,kCAAkC;IAClC,MAAM,EAAE,WAAW;IACnB,sDAAsD;IACtD,OAAO,EAAE,WAAW;IACpB,yDAAyD;IACzD,MAAM,EAAE,UAAU;IAClB,yBAAyB;IACzB,WAAW,EAAE,UAAU,CAAC,YAAY,CAAC;IACrC,sCAAsC;IACtC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC;IAC7B,uEAAuE;IACvE,OAAO,EAAE,WAAW;CACrB,CAAC,CAAC;AAGH,8DAA8D;AAC9D,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAEvC;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,KAA0D;IACrF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC;IAC5C,OAAO,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;AACvF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAA6B;IACjE,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,EAAE;QACZ,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,uBAAuB;AACvB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC;IAC/C,iCAAiC;IACjC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;IACvB,iCAAiC;IACjC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;IACzB,mCAAmC;IACnC,MAAM,EAAE,UAAU,CAAC;QACjB,mCAAmC;QACnC,UAAU,EAAE,UAAU;QACtB,oBAAoB;QACpB,KAAK,EAAE,UAAU;KAClB,CAAC;IACF,wBAAwB;IACxB,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;CAC1B,CAAC,CAAC;AAGH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAC;IAChD,+EAA+E;IAC/E,WAAW,EAAE,UAAU;IACvB,8BAA8B;IAC9B,QAAQ,EAAE,UAAU;IACpB,yCAAyC;IACzC,UAAU,EAAE,UAAU;IACtB,mCAAmC;IACnC,MAAM,EAAE,WAAW;IACnB,6EAA6E;IAC7E,cAAc,EAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChD,4FAA4F;IAC5F,cAAc,EAAE,WAAW;CAC5B,CAAC,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;IAC/C,4BAA4B;IAC5B,KAAK,EAAE,WAAW;IAClB,gCAAgC;IAChC,SAAS,EAAE,WAAW;IACtB,6BAA6B;IAC7B,MAAM,EAAE,WAAW;IACnB,6BAA6B;IAC7B,MAAM,EAAE,WAAW;IACnB,8BAA8B;IAC9B,OAAO,EAAE,WAAW;IACpB,uDAAuD;IACvD,UAAU,EAAE,WAAW;CACxB,CAAC,CAAC;AAGH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;IACxC,sBAAsB;IACtB,KAAK,EAAE,UAAU;IACjB,qBAAqB;IACrB,aAAa,EAAE,UAAU;IACzB,mDAAmD;IACnD,UAAU,EAAE,UAAU;IAEtB,2BAA2B;IAC3B,SAAS,EAAE,YAAY;IACvB,qDAAqD;IACrD,WAAW,EAAE,UAAU,CAAC,YAAY,CAAC;IAErC,gCAAgC;IAChC,MAAM,EAAE,qBAAqB;IAE7B,gEAAgE;IAChE,aAAa,EAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAC/C,6DAA6D;IAC7D,cAAc,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE5D,2CAA2C;IAC3C,cAAc,EAAE,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC;IAE7D,yBAAyB;IACzB,OAAO,EAAE,sBAAsB;CAChC,CAAC,CAAC"}
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { describe, it } from 'node:test';
|
|
12
12
|
import assert from 'node:assert/strict';
|
|
13
|
-
import { ArrayType, DictType, StringType, StructType, encodeBeast2For, none, some, variant } from '@elaraai/east';
|
|
14
|
-
import { decodeDataflowExecutionState } from './dataflow.js';
|
|
13
|
+
import { ArrayType, DictType, StringType, StructType, encodeBeast2For, equalFor, none, printFor, some, variant } from '@elaraai/east';
|
|
14
|
+
import { DataflowForceType, decodeDataflowExecutionState } from './dataflow.js';
|
|
15
15
|
import { E3_RELEASE } from './release.js';
|
|
16
16
|
/** Version 1, written by the released e3: task `double` completed, `sum`
|
|
17
17
|
* ready, and four events. */
|
|
@@ -127,8 +127,9 @@ const STATE_V5 = Buffer.from('iUVhc3QNCgUAngsoKQIBBQQACAIEbm9uZQQEc29tZQEKAQkFBG
|
|
|
127
127
|
'IMcB0F4mJkjSIi418rJAghIaUSxskCCFRSXFcSXB2NDQkMDLAQkgUNjxcCHYLHw8BxbBOAxMLAxAxdNAOqYxcvJN2ASTYWJi' +
|
|
128
128
|
'YuADAA==', 'base64');
|
|
129
129
|
/** The version 5 state, as release 1.0.79 writes it: the release in place of
|
|
130
|
-
* the version.
|
|
131
|
-
|
|
130
|
+
* the version. Its `force` is a Boolean, which a repository upgrade carries
|
|
131
|
+
* forward (`dataflow-force-tasks`). */
|
|
132
|
+
const STATE_1_0_79 = Buffer.from('iUVhc3QNCgUAngsoKQEFBAAIAgRub25lAwRzb21lAAoACQUEbmFtZQAEaGFzaAAGaW5wdXRzBQZvdXRwdXQACWRlcGVuZHNP' +
|
|
132
133
|
'bgUKBgkBBXRhc2tzBwgCBG5vbmUDBHNvbWUICAIEbm9uZQMEc29tZQICCAIEbm9uZQMEc29tZQsIAgRub25lAwRzb21lAQkC' +
|
|
133
134
|
'CmlucHV0c0hhc2gAC2V4ZWN1dGlvbklkAAgCBG5vbmUDBHNvbWUOCQsEbmFtZQAGc3RhdHVzAAZjYWNoZWQKCm91dHB1dEhh' +
|
|
134
135
|
'c2gEBWVycm9yBAhleGl0Q29kZQwJc3RhcnRlZEF0DQtjb21wbGV0ZWRBdA0IZHVyYXRpb24MBHBsYW4ECWV4ZWN1dGlvbg8L' +
|
|
@@ -153,6 +154,33 @@ const STATE = Buffer.from('iUVhc3QNCgUAngsoKQEFBAAIAgRub25lAwRzb21lAAoACQUEbmFtZ
|
|
|
153
154
|
'phAAA+3CZ1DoMS5oPgOiJICGJlEIiIk8Q1AggjB3Zl58QVF+elFqcTHIu4wfJoEcAmQwpZoCfQ8UYi8qzcvLzEsHSSNHjEMa' +
|
|
154
155
|
'hQBoPGokIMcB0F4mJkjSIi418rJAghIaUSxskCCFRSXFcSXB2NDQkMDLAQkgUNjxcCHYLHw8BxbBOAxMLAxAxdNAOqYxcvJN' +
|
|
155
156
|
'2ASTYWJiYuADAA==', 'base64');
|
|
157
|
+
/** The release 1.0.79 state as release 1.0.85 writes it: `force` names the
|
|
158
|
+
* tasks the run forces, `double`. */
|
|
159
|
+
const STATE = Buffer.from('iUVhc3QNCgUAsgspKgEFAAoACAMDYWxsAgRub25lAgV0YXNrcwMIAgRub25lAgRzb21lAAkFBG5hbWUABGhhc2gABmlucHV0' +
|
|
160
|
+
'cwMGb3V0cHV0AAlkZXBlbmRzT24DCgYJAQV0YXNrcwcIAgRub25lAgRzb21lCAQIAgRub25lAgRzb21lCgIIAgRub25lAgRz' +
|
|
161
|
+
'b21lDAgCBG5vbmUCBHNvbWUBCQIKaW5wdXRzSGFzaAALZXhlY3V0aW9uSWQACAIEbm9uZQIEc29tZQ8JCwRuYW1lAAZzdGF0' +
|
|
162
|
+
'dXMABmNhY2hlZAsKb3V0cHV0SGFzaAUFZXJyb3IFCGV4aXRDb2RlDQlzdGFydGVkQXQOC2NvbXBsZXRlZEF0DghkdXJhdGlv' +
|
|
163
|
+
'bg0EcGxhbgUJZXhlY3V0aW9uEAsAEQsAAAsAEwkDA3NlcQwJdGltZXN0YW1wAQZyZWFzb24FCQgDc2VxDAl0aW1lc3RhbXAB' +
|
|
164
|
+
'B3N1Y2Nlc3MKCGV4ZWN1dGVkDAZjYWNoZWQMBmZhaWxlZAwHc2tpcHBlZAwIZHVyYXRpb24MCQQDc2VxDAl0aW1lc3RhbXAB' +
|
|
165
|
+
'C2V4ZWN1dGlvbklkAAp0b3RhbFRhc2tzDAkFA3NlcQwJdGltZXN0YW1wAQRwYXRoAAxwcmV2aW91c0hhc2gAB25ld0hhc2gA' +
|
|
166
|
+
'CQcDc2VxDAl0aW1lc3RhbXABBHRhc2sABmNhY2hlZAoKb3V0cHV0SGFzaAAIZHVyYXRpb24MCXBlYWtCeXRlcw0JBANzZXEM' +
|
|
167
|
+
'CXRpbWVzdGFtcAEEdGFzawAMY29uZmxpY3RQYXRoAAkGA3NlcQwJdGltZXN0YW1wAQR0YXNrAAVlcnJvcgUIZXhpdENvZGUN' +
|
|
168
|
+
'CGR1cmF0aW9uDAkEA3NlcQwJdGltZXN0YW1wAQR0YXNrAAZyZWFzb24ACQUDc2VxDAl0aW1lc3RhbXABBHRhc2sABWxldmVs' +
|
|
169
|
+
'DAZsZXZlbHMMCQYDc2VxDAl0aW1lc3RhbXABBHRhc2sABWxldmVsDAZsZXZlbHMMBXVuaXRzDAkDA3NlcQwJdGltZXN0YW1w' +
|
|
170
|
+
'AQR0YXNrAAkEA3NlcQwJdGltZXN0YW1wAQR0YXNrAAVjYXVzZQAJBANzZXEMCXRpbWVzdGFtcAEEdGFzawAGcGllY2VzDAkC' +
|
|
171
|
+
'BWxldmVsDAZsZXZlbHMMCAIEbm9uZQIEc29tZSIJAwVtZXJnZSMFaW5kZXgMBXVuaXRzDAgDBmJ1ZGdldAIDY2FwAgdtYWNo' +
|
|
172
|
+
'aW5lAgkHA3NlcQwJdGltZXN0YW1wAQR0YXNrAAR1bml0JAZyZWFzb24lBHBlYWsMCHJlc2VydmVzDAgPE2V4ZWN1dGlvbl9j' +
|
|
173
|
+
'YW5jZWxsZWQVE2V4ZWN1dGlvbl9jb21wbGV0ZWQWEWV4ZWN1dGlvbl9zdGFydGVkFw1pbnB1dF9jaGFuZ2VkGA50YXNrX2Nv' +
|
|
174
|
+
'bXBsZXRlZBkNdGFza19kZWZlcnJlZBoLdGFza19mYWlsZWQbEHRhc2tfaW52YWxpZGF0ZWQcFHRhc2tfbWVyZ2VfY29tcGxl' +
|
|
175
|
+
'dGVkHRJ0YXNrX21lcmdlX3N0YXJ0ZWQeCnRhc2tfcmVhZHkfDHRhc2tfc2tpcHBlZCAKdGFza19zcGxpdCEMdGFza19zdGFy' +
|
|
176
|
+
'dGVkHw11bml0X3JlcXVldWVkJgonCRcHcmVsZWFzZQACaWQABHJlcG8ACXdvcmtzcGFjZQAJc3RhcnRlZEF0AQVmb3JjZQQG' +
|
|
177
|
+
'ZmlsdGVyBQVncmFwaAkJZ3JhcGhIYXNoBQV0YXNrcxIIZXhlY3V0ZWQMBmNhY2hlZAwGZmFpbGVkDAdza2lwcGVkDAZzdGF0' +
|
|
178
|
+
'dXMAC2NvbXBsZXRlZEF0DgVlcnJvcgUOdmVyc2lvblZlY3RvcnMUDWlucHV0U25hcHNob3QTD3Rhc2tPdXRwdXRQYXRocwMK' +
|
|
179
|
+
'cmVleGVjdXRlZAwGZXZlbnRzKAhldmVudFNlcQwBAAHvBpkCYzPUM9CzMFUxMLQ0SDRIMtC1AAJdcwMDIAtEADEcsBSlFuQz' +
|
|
180
|
+
'lRc3PDl96n0aEwMjW0p+aVJOKgMDIwMTlO2QSCFgYOTUy8wrKC0p1qtg4NUrSSzOLtaD2cNcXJrrkEIhYGBEM5YLygUajuQn' +
|
|
181
|
+
'BrifoBRncn5uQU5qSWoKIwOjQzKFABhoFz6DwpFxQfMZECUBNDSJQkBMNBqCAhGEuTPz4guK8tOLUouLQd5l/DAJ5BAggynV' +
|
|
182
|
+
'FOh7oBB7UWleXmZeOkgaOWIc0igEQONRIwE5DoD2MjFBEhlx6ZKXBRKU0IhiYYMEKSwqKY4rCcaGhoYEXg5IAIHCjocLwWbh' +
|
|
183
|
+
'4zmwCMZhYGJhACqeBtIxjZGTb8ImmAwTExMDHwA=', 'base64');
|
|
156
184
|
const NEW_FORM = 'a change to the execution state\'s type is a new form: ship a repository upgrade step that carries a repository\'s states into it, move this state to the refusals, and add one the new form writes';
|
|
157
185
|
describe('decodeDataflowExecutionState', () => {
|
|
158
186
|
it('refuses a state from before states recorded their release, naming the fix', () => {
|
|
@@ -163,7 +191,9 @@ describe('decodeDataflowExecutionState', () => {
|
|
|
163
191
|
it('reads a state in this release\'s form', () => {
|
|
164
192
|
assert.doesNotThrow(() => decodeDataflowExecutionState(STATE), NEW_FORM);
|
|
165
193
|
const state = decodeDataflowExecutionState(STATE);
|
|
166
|
-
assert.equal(state.release, '1.0.
|
|
194
|
+
assert.equal(state.release, '1.0.85');
|
|
195
|
+
const forced = variant('tasks', ['double']);
|
|
196
|
+
assert.ok(equalFor(DataflowForceType)(state.force, forced), `it forces double, not ${printFor(DataflowForceType)(state.force)}`);
|
|
167
197
|
assert.deepEqual(state.tasks.get('sum').plan, some('e5'));
|
|
168
198
|
assert.deepEqual(state.tasks.get('sum').execution, none);
|
|
169
199
|
assert.deepEqual(state.tasks.get('double').execution, some({ inputsHash: 'b'.repeat(64), executionId: '0190a0b0-8888-7000-8000-000000000001' }));
|
|
@@ -177,6 +207,9 @@ describe('decodeDataflowExecutionState', () => {
|
|
|
177
207
|
reason: variant('budget', null), peak: 150n * 1024n ** 2n, reserves: 150n * 1024n ** 2n,
|
|
178
208
|
});
|
|
179
209
|
});
|
|
210
|
+
it('refuses a state an earlier release wrote, which a repository upgrade carries forward: release 1.0.79\'s Boolean force', () => {
|
|
211
|
+
assert.throws(() => decodeDataflowExecutionState(STATE_1_0_79), { message: `the execution state was written by e3 1.0.79, in a form this e3, ${E3_RELEASE}, does not read — re-create the repository: deploy again and import its data again` });
|
|
212
|
+
});
|
|
180
213
|
it('refuses a state a newer release wrote, naming it', () => {
|
|
181
214
|
const newer = encodeBeast2For(StructType({ release: StringType, id: StringType }))({ release: '999.0.0', id: '7' });
|
|
182
215
|
assert.throws(() => decodeDataflowExecutionState(newer), { message: `the execution state was written by e3 999.0.0, in a form this e3, ${E3_RELEASE}, does not read — use e3 999.0.0 or a newer one` });
|
|
@@ -187,9 +220,10 @@ describe('decodeDataflowExecutionState', () => {
|
|
|
187
220
|
}))({ release: '1.0.0', workspace: 'main', tasks: new Map(), events: [] });
|
|
188
221
|
assert.throws(() => decodeDataflowExecutionState(older), { message: `the execution state was written by e3 1.0.0, in a form this e3, ${E3_RELEASE}, does not read — re-create the repository: deploy again and import its data again` });
|
|
189
222
|
});
|
|
190
|
-
it('refuses data that is not an execution state', () => {
|
|
223
|
+
it('refuses data that is not an execution state: a value of another type, or bytes that are not beast2', () => {
|
|
191
224
|
const other = encodeBeast2For(StructType({ id: StringType }))({ id: '7' });
|
|
192
|
-
assert.throws(() => decodeDataflowExecutionState(other),
|
|
225
|
+
assert.throws(() => decodeDataflowExecutionState(other), { message: 'the data is not an execution state: its type is not the execution state\'s' });
|
|
226
|
+
assert.throws(() => decodeDataflowExecutionState(new TextEncoder().encode('not a run')), /^Error: the data is not an execution state: it is not beast2 \(/);
|
|
193
227
|
});
|
|
194
228
|
});
|
|
195
229
|
//# sourceMappingURL=dataflow.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataflow.spec.js","sourceRoot":"","sources":["../../src/dataflow.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"dataflow.spec.js","sourceRoot":"","sources":["../../src/dataflow.spec.ts"],"names":[],"mappings":"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"}
|