@elaraai/e3-types 1.0.79 → 1.0.80

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 (153) hide show
  1. package/README.md +1 -1
  2. package/dist/src/api.d.ts +569 -36
  3. package/dist/src/api.d.ts.map +1 -1
  4. package/dist/src/api.js +257 -32
  5. package/dist/src/api.js.map +1 -1
  6. package/dist/src/collection-manifest.d.ts +37 -0
  7. package/dist/src/collection-manifest.d.ts.map +1 -0
  8. package/dist/src/collection-manifest.js +37 -0
  9. package/dist/src/collection-manifest.js.map +1 -0
  10. package/dist/src/dataflow.d.ts +264 -19
  11. package/dist/src/dataflow.d.ts.map +1 -1
  12. package/dist/src/dataflow.js +156 -15
  13. package/dist/src/dataflow.js.map +1 -1
  14. package/dist/src/dataflow.spec.js +184 -27
  15. package/dist/src/dataflow.spec.js.map +1 -1
  16. package/dist/src/dataset-blob.d.ts +75 -15
  17. package/dist/src/dataset-blob.d.ts.map +1 -1
  18. package/dist/src/dataset-blob.js +95 -28
  19. package/dist/src/dataset-blob.js.map +1 -1
  20. package/dist/src/dataset-blob.spec.d.ts +6 -0
  21. package/dist/src/dataset-blob.spec.d.ts.map +1 -0
  22. package/dist/src/dataset-blob.spec.js +92 -0
  23. package/dist/src/dataset-blob.spec.js.map +1 -0
  24. package/dist/src/dataset-ref.d.ts +5 -4
  25. package/dist/src/dataset-ref.d.ts.map +1 -1
  26. package/dist/src/dataset-ref.js +5 -4
  27. package/dist/src/dataset-ref.js.map +1 -1
  28. package/dist/src/environment.d.ts +3 -2
  29. package/dist/src/environment.d.ts.map +1 -1
  30. package/dist/src/environment.js +3 -2
  31. package/dist/src/environment.js.map +1 -1
  32. package/dist/src/execution.d.ts +112 -18
  33. package/dist/src/execution.d.ts.map +1 -1
  34. package/dist/src/execution.js +174 -45
  35. package/dist/src/execution.js.map +1 -1
  36. package/dist/src/execution.spec.d.ts +6 -0
  37. package/dist/src/execution.spec.d.ts.map +1 -0
  38. package/dist/src/execution.spec.js +108 -0
  39. package/dist/src/execution.spec.js.map +1 -0
  40. package/dist/src/function.d.ts +14 -12
  41. package/dist/src/function.d.ts.map +1 -1
  42. package/dist/src/function.js +17 -32
  43. package/dist/src/function.js.map +1 -1
  44. package/dist/src/index.d.ts +16 -12
  45. package/dist/src/index.d.ts.map +1 -1
  46. package/dist/src/index.js +25 -20
  47. package/dist/src/index.js.map +1 -1
  48. package/dist/src/lock.d.ts +68 -22
  49. package/dist/src/lock.d.ts.map +1 -1
  50. package/dist/src/lock.js +33 -22
  51. package/dist/src/lock.js.map +1 -1
  52. package/dist/src/names.d.ts +21 -0
  53. package/dist/src/names.d.ts.map +1 -0
  54. package/dist/src/names.js +31 -0
  55. package/dist/src/names.js.map +1 -0
  56. package/dist/src/package.d.ts +11 -78
  57. package/dist/src/package.d.ts.map +1 -1
  58. package/dist/src/package.js +13 -66
  59. package/dist/src/package.js.map +1 -1
  60. package/dist/src/record.d.ts +582 -18
  61. package/dist/src/record.d.ts.map +1 -1
  62. package/dist/src/record.js +405 -7
  63. package/dist/src/record.js.map +1 -1
  64. package/dist/src/{stream.spec.d.ts → record.spec.d.ts} +1 -1
  65. package/dist/src/record.spec.d.ts.map +1 -0
  66. package/dist/src/record.spec.js +143 -0
  67. package/dist/src/record.spec.js.map +1 -0
  68. package/dist/src/release.d.ts +36 -0
  69. package/dist/src/release.d.ts.map +1 -0
  70. package/dist/src/release.js +71 -0
  71. package/dist/src/release.js.map +1 -0
  72. package/dist/src/release.spec.d.ts +6 -0
  73. package/dist/src/release.spec.d.ts.map +1 -0
  74. package/dist/src/release.spec.js +42 -0
  75. package/dist/src/release.spec.js.map +1 -0
  76. package/dist/src/repository.d.ts +64 -0
  77. package/dist/src/repository.d.ts.map +1 -0
  78. package/dist/src/repository.js +49 -0
  79. package/dist/src/repository.js.map +1 -0
  80. package/dist/src/runner.d.ts +16 -62
  81. package/dist/src/runner.d.ts.map +1 -1
  82. package/dist/src/runner.js +16 -79
  83. package/dist/src/runner.js.map +1 -1
  84. package/dist/src/runner.spec.js +11 -85
  85. package/dist/src/runner.spec.js.map +1 -1
  86. package/dist/src/structure.d.ts +0 -57
  87. package/dist/src/structure.d.ts.map +1 -1
  88. package/dist/src/structure.js +0 -3
  89. package/dist/src/structure.js.map +1 -1
  90. package/dist/src/task.d.ts +210 -318
  91. package/dist/src/task.d.ts.map +1 -1
  92. package/dist/src/task.js +117 -472
  93. package/dist/src/task.js.map +1 -1
  94. package/dist/src/task.spec.js +62 -154
  95. package/dist/src/task.spec.js.map +1 -1
  96. package/dist/src/transfer.d.ts +16 -22
  97. package/dist/src/transfer.d.ts.map +1 -1
  98. package/dist/src/transfer.js +16 -22
  99. package/dist/src/transfer.js.map +1 -1
  100. package/dist/src/transfer.spec.js +4 -34
  101. package/dist/src/transfer.spec.js.map +1 -1
  102. package/dist/src/unit-plan.d.ts +130 -0
  103. package/dist/src/unit-plan.d.ts.map +1 -0
  104. package/dist/src/unit-plan.js +107 -0
  105. package/dist/src/unit-plan.js.map +1 -0
  106. package/dist/src/unit-plan.spec.d.ts +6 -0
  107. package/dist/src/unit-plan.spec.d.ts.map +1 -0
  108. package/dist/src/unit-plan.spec.js +29 -0
  109. package/dist/src/unit-plan.spec.js.map +1 -0
  110. package/dist/src/workspace.d.ts +22 -11
  111. package/dist/src/workspace.d.ts.map +1 -1
  112. package/dist/src/workspace.js +10 -11
  113. package/dist/src/workspace.js.map +1 -1
  114. package/package.json +3 -3
  115. package/src/api.ts +276 -32
  116. package/src/collection-manifest.ts +53 -0
  117. package/src/dataflow.spec.ts +223 -31
  118. package/src/dataflow.ts +183 -26
  119. package/src/dataset-blob.spec.ts +117 -0
  120. package/src/dataset-blob.ts +157 -21
  121. package/src/dataset-ref.ts +5 -4
  122. package/src/environment.ts +3 -2
  123. package/src/execution.spec.ts +114 -0
  124. package/src/execution.ts +175 -51
  125. package/src/function.ts +19 -32
  126. package/src/index.ts +122 -39
  127. package/src/lock.ts +39 -22
  128. package/src/names.ts +39 -0
  129. package/src/package.ts +15 -71
  130. package/src/record.spec.ts +195 -0
  131. package/src/record.ts +489 -7
  132. package/src/release.spec.ts +47 -0
  133. package/src/release.ts +69 -0
  134. package/src/repository.ts +67 -0
  135. package/src/runner.spec.ts +11 -94
  136. package/src/runner.ts +16 -80
  137. package/src/structure.ts +0 -8
  138. package/src/task.spec.ts +67 -188
  139. package/src/task.ts +140 -522
  140. package/src/transfer.spec.ts +4 -51
  141. package/src/transfer.ts +16 -22
  142. package/src/unit-plan.spec.ts +31 -0
  143. package/src/unit-plan.ts +121 -0
  144. package/src/workspace.ts +13 -11
  145. package/dist/src/stream.d.ts +0 -97
  146. package/dist/src/stream.d.ts.map +0 -1
  147. package/dist/src/stream.js +0 -134
  148. package/dist/src/stream.js.map +0 -1
  149. package/dist/src/stream.spec.d.ts.map +0 -1
  150. package/dist/src/stream.spec.js +0 -60
  151. package/dist/src/stream.spec.js.map +0 -1
  152. package/src/stream.spec.ts +0 -88
  153. package/src/stream.ts +0 -170
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * The segment-object layout: a collection dataset is a **manifest naming
7
+ * standalone segment objects**, not one segmented blob.
8
+ *
9
+ * The type itself lives in `east`, beside the container it describes, because
10
+ * every runtime must read it: a task input staged as a manifest is one file
11
+ * naming sibling segment files, and a body that iterates it pays for the
12
+ * segments it touches rather than for a splice of the whole value. This module
13
+ * re-exports it for the e3 packages and adds what only a store cares about.
14
+ *
15
+ * Three properties are why records at millions of entries are affordable, and
16
+ * every one of them is about successive states SHARING storage rather than
17
+ * about indexing, which the trailing index already gave:
18
+ *
19
+ * - **A one-row edit costs one segment.** The new state names the same objects
20
+ * as the old one bar the segment that changed, so a commit's new storage is
21
+ * the touched segments plus a manifest — not the whole value.
22
+ * - **Two states diff in O(changed segments)**, by comparing entry hashes. No
23
+ * value is decoded to find out what moved, which is what index maintenance
24
+ * and the mutation delta are built on.
25
+ * - **A segment can be checked against its own hash**, which a ranged read of
26
+ * one blob can never offer: no digest exists for a byte range. No reader
27
+ * checks it — a segment is trusted as stored, like any other object.
28
+ *
29
+ * The manifest is the envelope the garbage collector recognizes, which is why
30
+ * its `kind` is a stored field rather than something inferred: an object whose
31
+ * entries name other objects MUST be traversable by shape, or the first sweep
32
+ * deletes a record's segments.
33
+ *
34
+ * @packageDocumentation
35
+ */
36
+ export { COLLECTION_MANIFEST_KIND, CollectionManifestType, CollectionManifestEntryType, type CollectionManifest, type CollectionManifestEntry, type Beast2ManifestSource, isCollectionManifestType, isCollectionManifest, isBeast2ManifestSource, encodeCollectionManifest, decodeCollectionManifest, readBeast2Manifest, manifestElementCount, manifestByteSize, } from '@elaraai/east';
37
+ //# sourceMappingURL=collection-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection-manifest.d.ts","sourceRoot":"","sources":["../../src/collection-manifest.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,2BAA2B,EAC3B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * The segment-object layout: a collection dataset is a **manifest naming
7
+ * standalone segment objects**, not one segmented blob.
8
+ *
9
+ * The type itself lives in `east`, beside the container it describes, because
10
+ * every runtime must read it: a task input staged as a manifest is one file
11
+ * naming sibling segment files, and a body that iterates it pays for the
12
+ * segments it touches rather than for a splice of the whole value. This module
13
+ * re-exports it for the e3 packages and adds what only a store cares about.
14
+ *
15
+ * Three properties are why records at millions of entries are affordable, and
16
+ * every one of them is about successive states SHARING storage rather than
17
+ * about indexing, which the trailing index already gave:
18
+ *
19
+ * - **A one-row edit costs one segment.** The new state names the same objects
20
+ * as the old one bar the segment that changed, so a commit's new storage is
21
+ * the touched segments plus a manifest — not the whole value.
22
+ * - **Two states diff in O(changed segments)**, by comparing entry hashes. No
23
+ * value is decoded to find out what moved, which is what index maintenance
24
+ * and the mutation delta are built on.
25
+ * - **A segment can be checked against its own hash**, which a ranged read of
26
+ * one blob can never offer: no digest exists for a byte range. No reader
27
+ * checks it — a segment is trusted as stored, like any other object.
28
+ *
29
+ * The manifest is the envelope the garbage collector recognizes, which is why
30
+ * its `kind` is a stored field rather than something inferred: an object whose
31
+ * entries name other objects MUST be traversable by shape, or the first sweep
32
+ * deletes a record's segments.
33
+ *
34
+ * @packageDocumentation
35
+ */
36
+ export { COLLECTION_MANIFEST_KIND, CollectionManifestType, CollectionManifestEntryType, isCollectionManifestType, isCollectionManifest, isBeast2ManifestSource, encodeCollectionManifest, decodeCollectionManifest, readBeast2Manifest, manifestElementCount, manifestByteSize, } from '@elaraai/east';
37
+ //# sourceMappingURL=collection-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection-manifest.js","sourceRoot":"","sources":["../../src/collection-manifest.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,2BAA2B,EAI3B,wBAAwB,EACxB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
@@ -13,7 +13,7 @@
13
13
  * - Events stored inline as array (single file, not separate JSONL)
14
14
  * - Tasks stored as Dict (not Map) for beast2 compatibility
15
15
  */
16
- import { StructType, VariantType, ArrayType, DictType, StringType, IntegerType, BooleanType, DateTimeType, OptionType, ValueTypeOf } from '@elaraai/east';
16
+ import { StructType, VariantType, ArrayType, DictType, StringType, IntegerType, BooleanType, DateTimeType, OptionType, NullType, ValueTypeOf } from '@elaraai/east';
17
17
  /**
18
18
  * Status of a dataflow execution.
19
19
  */
@@ -46,6 +46,18 @@ export declare const TaskStateType: StructType<{
46
46
  readonly completedAt: OptionType<DateTimeType>;
47
47
  /** Duration in milliseconds */
48
48
  readonly duration: OptionType<IntegerType>;
49
+ /** The `$plan` object of the stage a task split into pieces is in, while
50
+ * it runs, and across a yield, so a resumed run takes the stage up where
51
+ * it stopped. */
52
+ readonly plan: OptionType<StringType>;
53
+ /** The execution the task completed with — run, or served from the cache —
54
+ * by its inputs hash and id, which the run's record names. */
55
+ readonly execution: OptionType<StructType<{
56
+ /** The combined hash of the task's inputs */
57
+ readonly inputsHash: StringType;
58
+ /** The execution's id (UUIDv7) */
59
+ readonly executionId: StringType;
60
+ }>>;
49
61
  }>;
50
62
  export type TaskState = ValueTypeOf<typeof TaskStateType>;
51
63
  /**
@@ -83,11 +95,47 @@ export declare const DataflowGraphType: StructType<{
83
95
  }>>;
84
96
  }>;
85
97
  export type DataflowGraph = ValueTypeOf<typeof DataflowGraphType>;
98
+ /**
99
+ * A unit of a split task, by its place in the task: its stage — the pieces,
100
+ * or a level of the merges that assemble their outputs — and its index among
101
+ * the stage's units.
102
+ */
103
+ export declare const StageUnitType: StructType<{
104
+ /** The merge level, from 1, and the levels the merges take; `none` for a
105
+ * piece */
106
+ readonly merge: OptionType<StructType<{
107
+ readonly level: IntegerType;
108
+ readonly levels: IntegerType;
109
+ }>>;
110
+ /** The unit's index in its stage, from 0 */
111
+ readonly index: IntegerType;
112
+ /** The units of its stage */
113
+ readonly units: IntegerType;
114
+ }>;
115
+ export type StageUnit = ValueTypeOf<typeof StageUnitType>;
116
+ /**
117
+ * Why a unit's runner was stopped and the unit requeued: `budget`, the guard
118
+ * stopped it with the runners past the budget; `machine`, the guard stopped it
119
+ * with the machine nearly out of memory; `cap`, its cgroup's cap killed it.
120
+ */
121
+ export declare const RequeueReasonType: VariantType<{
122
+ readonly budget: NullType;
123
+ readonly machine: NullType;
124
+ readonly cap: NullType;
125
+ }>;
126
+ export type RequeueReason = ValueTypeOf<typeof RequeueReasonType>;
86
127
  /**
87
128
  * Execution events (VariantType for discriminated union).
88
129
  *
89
130
  * Events track the progress of a dataflow execution and are stored
90
131
  * inline in the execution state (not as a separate JSONL file).
132
+ *
133
+ * @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
+ * which the release that makes it carries repositories into with an upgrade
137
+ * step. Each unit's progress is a callback, {@link PartitionProgress}, and is
138
+ * not persisted.
91
139
  */
92
140
  export declare const ExecutionEventType: VariantType<{
93
141
  /** Execution started */
@@ -133,6 +181,10 @@ export declare const ExecutionEventType: VariantType<{
133
181
  readonly outputHash: StringType;
134
182
  /** Duration in milliseconds */
135
183
  readonly duration: IntegerType;
184
+ /** The highest peak resident memory, in bytes, a runner of the task's
185
+ * execution reached; `none` when none reported one, or the cache served
186
+ * the task */
187
+ readonly peakBytes: OptionType<IntegerType>;
136
188
  }>;
137
189
  /** Task failed */
138
190
  readonly task_failed: StructType<{
@@ -223,28 +275,101 @@ export declare const ExecutionEventType: VariantType<{
223
275
  /** Path where version conflict was detected */
224
276
  readonly conflictPath: StringType;
225
277
  }>;
278
+ /** A task was split into pieces: its units start as the pieces, and its
279
+ * `$plan` names them. */
280
+ readonly task_split: StructType<{
281
+ /** Event sequence number */
282
+ readonly seq: IntegerType;
283
+ /** When the event occurred */
284
+ readonly timestamp: DateTimeType;
285
+ /** Task name */
286
+ readonly task: StringType;
287
+ /** The pieces the task was split into */
288
+ readonly pieces: IntegerType;
289
+ }>;
290
+ /** A level of the merges assembling a split task's pieces started. */
291
+ readonly task_merge_started: StructType<{
292
+ /** Event sequence number */
293
+ readonly seq: IntegerType;
294
+ /** When the event occurred */
295
+ readonly timestamp: DateTimeType;
296
+ /** Task name */
297
+ readonly task: StringType;
298
+ /** The level, from 1 */
299
+ readonly level: IntegerType;
300
+ /** The number of levels the merges take */
301
+ readonly levels: IntegerType;
302
+ /** The merge units of the level */
303
+ readonly units: IntegerType;
304
+ }>;
305
+ /** A level of the merges assembling a split task's pieces finished. */
306
+ readonly task_merge_completed: StructType<{
307
+ /** Event sequence number */
308
+ readonly seq: IntegerType;
309
+ /** When the event occurred */
310
+ readonly timestamp: DateTimeType;
311
+ /** Task name */
312
+ readonly task: StringType;
313
+ /** The level, from 1 */
314
+ readonly level: IntegerType;
315
+ /** The number of levels the merges take */
316
+ readonly levels: IntegerType;
317
+ }>;
318
+ /** A unit of a split task was stopped and requeued: it runs again, under
319
+ * the same execution, once the memory it reserves fits. */
320
+ readonly unit_requeued: StructType<{
321
+ /** Event sequence number */
322
+ readonly seq: IntegerType;
323
+ /** When the event occurred */
324
+ readonly timestamp: DateTimeType;
325
+ /** Task name */
326
+ readonly task: StringType;
327
+ /** The unit */
328
+ readonly unit: StructType<{
329
+ /** The merge level, from 1, and the levels the merges take; `none` for a
330
+ * piece */
331
+ readonly merge: OptionType<StructType<{
332
+ readonly level: IntegerType;
333
+ readonly levels: IntegerType;
334
+ }>>;
335
+ /** The unit's index in its stage, from 0 */
336
+ readonly index: IntegerType;
337
+ /** The units of its stage */
338
+ readonly units: IntegerType;
339
+ }>;
340
+ /** Why its runner was stopped */
341
+ readonly reason: VariantType<{
342
+ readonly budget: NullType;
343
+ readonly machine: NullType;
344
+ readonly cap: NullType;
345
+ }>;
346
+ /** The most its runner was measured using, in bytes: for a cap, the cap */
347
+ readonly peak: IntegerType;
348
+ /** The memory, in bytes, it reserves when it runs again */
349
+ readonly reserves: IntegerType;
350
+ }>;
226
351
  }>;
227
352
  export type ExecutionEvent = ValueTypeOf<typeof ExecutionEventType>;
228
353
  /**
229
- * Progress notification for one unit of a partitioned task — a partition
230
- * slice execution, a combine step or a merge unit. Delivered through
231
- * runner-layer callbacks while the logical task runs. Deliberately NOT
232
- * persisted as execution events: {@link ExecutionEventType} is a frozen beast2
233
- * wire (see its wire warning), and nothing consumes persisted partition
234
- * progress — local `[PART]`/`[MERGE]`/`[COMBINE]` lines come straight from
235
- * this callback.
354
+ * Progress notification for one unit of a task split into pieces — a piece,
355
+ * or a unit merging or folding their outputs. Delivered through runner-layer
356
+ * callbacks while the task runs, and not persisted: the execution state records
357
+ * a split task's stages, not each unit, so it stays small however many pieces
358
+ * a task has. The local `[PART]`/`[MERGE]`/`[COMBINE]` lines come straight
359
+ * from this callback.
236
360
  */
237
361
  export interface PartitionProgress {
238
- /** Which phase the unit belongs to. */
362
+ /** Which phase the unit belongs to: a piece (`partition`), a merge of a set
363
+ * or dict output, or a fold of a fold output (`combine`). */
239
364
  phase: 'partition' | 'combine' | 'merge';
240
365
  /** Zero-based index of the unit within its phase. */
241
366
  index: number;
242
- /** Total units in the phase (partitions, or combine steps in the level). */
367
+ /** Total units in the phase (the pieces, or the units of a merge level). */
243
368
  total: number;
244
- /** Units of the phase completed so far, including this one when `state`
245
- * is `completed`. */
369
+ /** Units of the phase that succeeded so far, including this one when
370
+ * `state` is `completed`. */
246
371
  completed: number;
247
- /** Whether the unit started or finished. */
372
+ /** Whether the unit started, or succeeded. */
248
373
  state: 'started' | 'completed';
249
374
  /** Whether the unit was served from the execution cache (completed only). */
250
375
  cached?: boolean;
@@ -260,9 +385,15 @@ export interface PartitionProgress {
260
385
  * - Tasks are stored as a Dict (serializes as object, not array of tuples)
261
386
  * - Events are stored inline (not as separate JSONL file)
262
387
  * - Dates are Date objects (via DateTimeType)
388
+ * - Read it back with {@link decodeDataflowExecutionState}, which reads this
389
+ * form alone. A release that changes it ships a repository upgrade step,
390
+ * which carries a repository's states into the new form when that release
391
+ * first opens it.
263
392
  */
264
393
  export declare const DataflowExecutionStateType: StructType<{
265
- /** Unique execution ID (local: auto-increment, cloud: UUID) */
394
+ /** The release of e3 that wrote the state */
395
+ readonly release: StringType;
396
+ /** The run's id, a UUIDv7, which its `DataflowRun` record carries as `runId` */
266
397
  readonly id: StringType;
267
398
  /** Repository identifier */
268
399
  readonly repo: StringType;
@@ -270,8 +401,6 @@ export declare const DataflowExecutionStateType: StructType<{
270
401
  readonly workspace: StringType;
271
402
  /** When the execution started */
272
403
  readonly startedAt: DateTimeType;
273
- /** Maximum concurrent task executions */
274
- readonly concurrency: IntegerType;
275
404
  /** Force re-execution even if cached */
276
405
  readonly force: BooleanType;
277
406
  /** Filter to run only specific task(s) by exact name */
@@ -314,6 +443,18 @@ export declare const DataflowExecutionStateType: StructType<{
314
443
  readonly completedAt: OptionType<DateTimeType>;
315
444
  /** Duration in milliseconds */
316
445
  readonly duration: OptionType<IntegerType>;
446
+ /** The `$plan` object of the stage a task split into pieces is in, while
447
+ * it runs, and across a yield, so a resumed run takes the stage up where
448
+ * it stopped. */
449
+ readonly plan: OptionType<StringType>;
450
+ /** The execution the task completed with — run, or served from the cache —
451
+ * by its inputs hash and id, which the run's record names. */
452
+ readonly execution: OptionType<StructType<{
453
+ /** The combined hash of the task's inputs */
454
+ readonly inputsHash: StringType;
455
+ /** The execution's id (UUIDv7) */
456
+ readonly executionId: StringType;
457
+ }>>;
317
458
  }>>;
318
459
  /** Number of tasks executed (not from cache) */
319
460
  readonly executed: IntegerType;
@@ -382,6 +523,10 @@ export declare const DataflowExecutionStateType: StructType<{
382
523
  readonly outputHash: StringType;
383
524
  /** Duration in milliseconds */
384
525
  readonly duration: IntegerType;
526
+ /** The highest peak resident memory, in bytes, a runner of the task's
527
+ * execution reached; `none` when none reported one, or the cache served
528
+ * the task */
529
+ readonly peakBytes: OptionType<IntegerType>;
385
530
  }>;
386
531
  /** Task failed */
387
532
  readonly task_failed: StructType<{
@@ -472,11 +617,100 @@ export declare const DataflowExecutionStateType: StructType<{
472
617
  /** Path where version conflict was detected */
473
618
  readonly conflictPath: StringType;
474
619
  }>;
620
+ /** A task was split into pieces: its units start as the pieces, and its
621
+ * `$plan` names them. */
622
+ readonly task_split: StructType<{
623
+ /** Event sequence number */
624
+ readonly seq: IntegerType;
625
+ /** When the event occurred */
626
+ readonly timestamp: DateTimeType;
627
+ /** Task name */
628
+ readonly task: StringType;
629
+ /** The pieces the task was split into */
630
+ readonly pieces: IntegerType;
631
+ }>;
632
+ /** A level of the merges assembling a split task's pieces started. */
633
+ readonly task_merge_started: StructType<{
634
+ /** Event sequence number */
635
+ readonly seq: IntegerType;
636
+ /** When the event occurred */
637
+ readonly timestamp: DateTimeType;
638
+ /** Task name */
639
+ readonly task: StringType;
640
+ /** The level, from 1 */
641
+ readonly level: IntegerType;
642
+ /** The number of levels the merges take */
643
+ readonly levels: IntegerType;
644
+ /** The merge units of the level */
645
+ readonly units: IntegerType;
646
+ }>;
647
+ /** A level of the merges assembling a split task's pieces finished. */
648
+ readonly task_merge_completed: StructType<{
649
+ /** Event sequence number */
650
+ readonly seq: IntegerType;
651
+ /** When the event occurred */
652
+ readonly timestamp: DateTimeType;
653
+ /** Task name */
654
+ readonly task: StringType;
655
+ /** The level, from 1 */
656
+ readonly level: IntegerType;
657
+ /** The number of levels the merges take */
658
+ readonly levels: IntegerType;
659
+ }>;
660
+ /** A unit of a split task was stopped and requeued: it runs again, under
661
+ * the same execution, once the memory it reserves fits. */
662
+ readonly unit_requeued: StructType<{
663
+ /** Event sequence number */
664
+ readonly seq: IntegerType;
665
+ /** When the event occurred */
666
+ readonly timestamp: DateTimeType;
667
+ /** Task name */
668
+ readonly task: StringType;
669
+ /** The unit */
670
+ readonly unit: StructType<{
671
+ /** The merge level, from 1, and the levels the merges take; `none` for a
672
+ * piece */
673
+ readonly merge: OptionType<StructType<{
674
+ readonly level: IntegerType;
675
+ readonly levels: IntegerType;
676
+ }>>;
677
+ /** The unit's index in its stage, from 0 */
678
+ readonly index: IntegerType;
679
+ /** The units of its stage */
680
+ readonly units: IntegerType;
681
+ }>;
682
+ /** Why its runner was stopped */
683
+ readonly reason: VariantType<{
684
+ readonly budget: NullType;
685
+ readonly machine: NullType;
686
+ readonly cap: NullType;
687
+ }>;
688
+ /** The most its runner was measured using, in bytes: for a cap, the cap */
689
+ readonly peak: IntegerType;
690
+ /** The memory, in bytes, it reserves when it runs again */
691
+ readonly reserves: IntegerType;
692
+ }>;
475
693
  }>>;
476
694
  /** Sequence number for next event (auto-increment) */
477
695
  readonly eventSeq: IntegerType;
478
696
  }>;
479
697
  export type DataflowExecutionState = ValueTypeOf<typeof DataflowExecutionStateType>;
698
+ /**
699
+ * Decodes a stored execution state.
700
+ *
701
+ * The form is told by the type the state's header declares, since a decoder
702
+ * built for another form's type would misread it rather than fail. A
703
+ * repository's upgrade steps carry its states into this form when this
704
+ * release first opens it, so a state of another form is refused, naming the
705
+ * release that wrote it: a newer one, whose e3 reads it, or an older one that
706
+ * no step carries forward, whose repository is re-created.
707
+ *
708
+ * @param data - the stored state
709
+ * @returns the state
710
+ * @throws {Error} When the state is of another form, naming the release that
711
+ * wrote it, or the data is not an execution state.
712
+ */
713
+ export declare function decodeDataflowExecutionState(data: Uint8Array): DataflowExecutionState;
480
714
  /**
481
715
  * Status of a dataflow run.
482
716
  */
@@ -497,11 +731,18 @@ export declare const DataflowRunStatusType: VariantType<{
497
731
  }>;
498
732
  export type DataflowRunStatus = ValueTypeOf<typeof DataflowRunStatusType>;
499
733
  /**
500
- * Record of a task execution within a dataflow run.
734
+ * Record of a task execution within a dataflow run: the execution the run
735
+ * used, which a local repository keeps at
736
+ * executions/<taskHash>/<inputsHash>/<executionId>/, whatever the workspace
737
+ * has held since.
501
738
  */
502
739
  export declare const TaskExecutionRecordType: StructType<{
503
- /** Execution ID (UUIDv7) */
740
+ /** Execution ID (UUIDv7): the attempt that ran, or the one the cache served */
504
741
  readonly executionId: StringType;
742
+ /** Hash of the task object */
743
+ readonly taskHash: StringType;
744
+ /** Combined hash of the task's inputs */
745
+ readonly inputsHash: StringType;
505
746
  /** Whether this was a cache hit */
506
747
  readonly cached: BooleanType;
507
748
  /** Output version vector (which root input versions produced this output) */
@@ -571,8 +812,12 @@ export declare const DataflowRunType: StructType<{
571
812
  readonly outputVersions: OptionType<DictType<StringType, StringType>>;
572
813
  /** Map of task name -> execution record */
573
814
  readonly taskExecutions: DictType<StringType, StructType<{
574
- /** Execution ID (UUIDv7) */
815
+ /** Execution ID (UUIDv7): the attempt that ran, or the one the cache served */
575
816
  readonly executionId: StringType;
817
+ /** Hash of the task object */
818
+ readonly taskHash: StringType;
819
+ /** Combined hash of the task's inputs */
820
+ readonly inputsHash: StringType;
576
821
  /** Whether this was a cache hit */
577
822
  readonly cached: BooleanType;
578
823
  /** Output version vector (which root input versions produced this output) */
@@ -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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"}