@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.
Files changed (92) hide show
  1. package/dist/src/api.d.ts +583 -17
  2. package/dist/src/api.d.ts.map +1 -1
  3. package/dist/src/api.js +208 -22
  4. package/dist/src/api.js.map +1 -1
  5. package/dist/src/dataflow.d.ts +115 -12
  6. package/dist/src/dataflow.d.ts.map +1 -1
  7. package/dist/src/dataflow.js +151 -15
  8. package/dist/src/dataflow.js.map +1 -1
  9. package/dist/src/dataflow.spec.js +41 -7
  10. package/dist/src/dataflow.spec.js.map +1 -1
  11. package/dist/src/dataset-blob.d.ts +19 -2
  12. package/dist/src/dataset-blob.d.ts.map +1 -1
  13. package/dist/src/dataset-blob.js +100 -21
  14. package/dist/src/dataset-blob.js.map +1 -1
  15. package/dist/src/dataset-blob.spec.js +132 -0
  16. package/dist/src/dataset-blob.spec.js.map +1 -1
  17. package/dist/src/execution.d.ts +68 -8
  18. package/dist/src/execution.d.ts.map +1 -1
  19. package/dist/src/execution.js +49 -8
  20. package/dist/src/execution.js.map +1 -1
  21. package/dist/src/execution.spec.js +31 -9
  22. package/dist/src/execution.spec.js.map +1 -1
  23. package/dist/src/function.d.ts +12 -0
  24. package/dist/src/function.d.ts.map +1 -1
  25. package/dist/src/index.d.ts +9 -8
  26. package/dist/src/index.d.ts.map +1 -1
  27. package/dist/src/index.js +15 -12
  28. package/dist/src/index.js.map +1 -1
  29. package/dist/src/names.d.ts +9 -0
  30. package/dist/src/names.d.ts.map +1 -1
  31. package/dist/src/names.js.map +1 -1
  32. package/dist/src/pieces.d.ts +47 -0
  33. package/dist/src/pieces.d.ts.map +1 -0
  34. package/dist/src/pieces.js +17 -0
  35. package/dist/src/pieces.js.map +1 -0
  36. package/dist/src/pieces.spec.d.ts +6 -0
  37. package/dist/src/pieces.spec.d.ts.map +1 -0
  38. package/dist/src/pieces.spec.js +20 -0
  39. package/dist/src/pieces.spec.js.map +1 -0
  40. package/dist/src/record.d.ts +52 -0
  41. package/dist/src/record.d.ts.map +1 -1
  42. package/dist/src/record.js +25 -0
  43. package/dist/src/record.js.map +1 -1
  44. package/dist/src/record.spec.js +43 -6
  45. package/dist/src/record.spec.js.map +1 -1
  46. package/dist/src/release.d.ts +1 -1
  47. package/dist/src/release.js +1 -1
  48. package/dist/src/repository.d.ts +16 -0
  49. package/dist/src/repository.d.ts.map +1 -1
  50. package/dist/src/repository.js +15 -0
  51. package/dist/src/repository.js.map +1 -1
  52. package/dist/src/runner.d.ts +22 -7
  53. package/dist/src/runner.d.ts.map +1 -1
  54. package/dist/src/runner.js +14 -11
  55. package/dist/src/runner.js.map +1 -1
  56. package/dist/src/runner.spec.js +4 -4
  57. package/dist/src/runner.spec.js.map +1 -1
  58. package/dist/src/structure.d.ts +27 -0
  59. package/dist/src/structure.d.ts.map +1 -1
  60. package/dist/src/structure.js +59 -18
  61. package/dist/src/structure.js.map +1 -1
  62. package/dist/src/structure.spec.d.ts +6 -0
  63. package/dist/src/structure.spec.d.ts.map +1 -0
  64. package/dist/src/structure.spec.js +57 -0
  65. package/dist/src/structure.spec.js.map +1 -0
  66. package/dist/src/task.d.ts +13 -1
  67. package/dist/src/task.d.ts.map +1 -1
  68. package/dist/src/task.js +1 -1
  69. package/dist/src/task.spec.js +25 -4
  70. package/dist/src/task.spec.js.map +1 -1
  71. package/package.json +3 -2
  72. package/src/api.ts +225 -21
  73. package/src/dataflow.spec.ts +49 -7
  74. package/src/dataflow.ts +160 -14
  75. package/src/dataset-blob.spec.ts +147 -0
  76. package/src/dataset-blob.ts +97 -20
  77. package/src/execution.spec.ts +31 -9
  78. package/src/execution.ts +52 -7
  79. package/src/index.ts +39 -2
  80. package/src/names.ts +12 -0
  81. package/src/pieces.spec.ts +23 -0
  82. package/src/pieces.ts +49 -0
  83. package/src/record.spec.ts +51 -5
  84. package/src/record.ts +28 -0
  85. package/src/release.ts +1 -1
  86. package/src/repository.ts +18 -0
  87. package/src/runner.spec.ts +4 -4
  88. package/src/runner.ts +14 -11
  89. package/src/structure.spec.ts +65 -0
  90. package/src/structure.ts +64 -21
  91. package/src/task.spec.ts +29 -3
  92. package/src/task.ts +1 -1
@@ -10,7 +10,8 @@
10
10
  *
11
11
  * Key design decisions:
12
12
  * - Dates are Date objects (via DateTimeType), not strings
13
- * - Events stored inline as array (single file, not separate JSONL)
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 and are stored
131
- * inline in the execution state (not as a separate JSONL file).
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
- * Part of the execution state's wire: a reader decodes a state against the
135
- * whole type it was written with, so a new event is a new form of the state,
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
- * - Events are stored inline (not as separate JSONL file)
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
- /** Force re-execution even if cached */
405
- readonly force: BooleanType;
406
- /** Filter to run only specific task(s) by exact name */
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
- /** All events for this execution */
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
- /** Sequence number for next event (auto-increment) */
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":"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"}
1
+ {"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../src/dataflow.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,11 @@
10
10
  *
11
11
  * Key design decisions:
12
12
  * - Dates are Date objects (via DateTimeType), not strings
13
- * - Events stored inline as array (single file, not separate JSONL)
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 and are stored
114
- * inline in the execution state (not as a separate JSONL file).
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
- * Part of the execution state's wire: a reader decodes a state against the
118
- * whole type it was written with, so a new event is a new form of the state,
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
- * - Events are stored inline (not as separate JSONL file)
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
- /** Force re-execution even if cached */
351
- force: BooleanType,
352
- /** Filter to run only specific task(s) by exact name */
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 (inline array)
388
- /** All events for this execution */
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
- /** Sequence number for next event (auto-increment) */
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
- const type = readBeast2Type(data);
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
  // =============================================================================
@@ -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":"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"}
@@ -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
- const STATE = Buffer.from('iUVhc3QNCgUAngsoKQEFBAAIAgRub25lAwRzb21lAAoACQUEbmFtZQAEaGFzaAAGaW5wdXRzBQZvdXRwdXQACWRlcGVuZHNP' +
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.79');
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), /not an execution state/);
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":"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"}
1
+ {"version":3,"file":"dataflow.spec.js","sourceRoot":"","sources":["../../src/dataflow.spec.ts"],"names":[],"mappings":"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"}