@elaraai/e3-types 1.0.57 → 1.0.59
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/dataflow.d.ts +22 -0
- package/dist/src/dataflow.d.ts.map +1 -1
- package/dist/src/dataflow.js +9 -0
- package/dist/src/dataflow.js.map +1 -1
- package/dist/src/dataflow.spec.d.ts +6 -0
- package/dist/src/dataflow.spec.d.ts.map +1 -0
- package/dist/src/dataflow.spec.js +38 -0
- package/dist/src/dataflow.spec.js.map +1 -0
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/task.d.ts +68 -1
- package/dist/src/task.d.ts.map +1 -1
- package/dist/src/task.js +67 -1
- package/dist/src/task.js.map +1 -1
- package/package.json +2 -2
- package/src/dataflow.spec.ts +44 -0
- package/src/dataflow.ts +32 -0
- package/src/index.ts +11 -0
- package/src/task.ts +86 -1
package/dist/src/dataflow.d.ts
CHANGED
|
@@ -225,6 +225,28 @@ export declare const ExecutionEventType: VariantType<{
|
|
|
225
225
|
}>;
|
|
226
226
|
}>;
|
|
227
227
|
export type ExecutionEvent = ValueTypeOf<typeof ExecutionEventType>;
|
|
228
|
+
/**
|
|
229
|
+
* Progress notification for one unit of a partitioned task — a partition
|
|
230
|
+
* slice execution or a combine step. Delivered through runner-layer
|
|
231
|
+
* callbacks while the logical task runs. Deliberately NOT persisted as
|
|
232
|
+
* execution events: {@link ExecutionEventType} is a frozen beast2 wire (see
|
|
233
|
+
* its wire warning), and nothing consumes persisted partition progress —
|
|
234
|
+
* local `[PART]`/`[MERGE]` lines come straight from this callback.
|
|
235
|
+
*/
|
|
236
|
+
export interface PartitionProgress {
|
|
237
|
+
/** Which phase the unit belongs to. */
|
|
238
|
+
phase: 'partition' | 'combine';
|
|
239
|
+
/** Zero-based index of the unit within its phase. */
|
|
240
|
+
index: number;
|
|
241
|
+
/** Total units in the phase (partitions, or combine steps in the level). */
|
|
242
|
+
total: number;
|
|
243
|
+
/** Whether the unit started or finished. */
|
|
244
|
+
state: 'started' | 'completed';
|
|
245
|
+
/** Whether the unit was served from the execution cache (completed only). */
|
|
246
|
+
cached?: boolean;
|
|
247
|
+
/** Unit duration in milliseconds (completed only). */
|
|
248
|
+
duration?: number;
|
|
249
|
+
}
|
|
228
250
|
/**
|
|
229
251
|
* Persistent state for a dataflow execution.
|
|
230
252
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../src/dataflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;GAUG;AAEH,OAAO,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,UAAU,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACZ,MAAM,eAAe,CAAC;AAMvB;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAM/G;;;;GAIG;AACH,eAAO,MAAM,aAAa;IACxB,gBAAgB;;IAEhB,4CAA4C;;IAE5C,+CAA+C;;IAE/C,4CAA4C;;IAE5C,8BAA8B;;IAE9B,uCAAuC;;IAEvC,4BAA4B;;IAE5B,8BAA8B;;IAE9B,+BAA+B;;EAE/B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,aAAa,CAAC,CAAC;AAM1D;;GAEG;AACH,eAAO,MAAM,qBAAqB;IAChC,gBAAgB;;IAEhB,uBAAuB;;IAEvB,0BAA0B;;IAE1B,0BAA0B;;IAE1B,qCAAqC;;EAErC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B,6BAA6B;;QAjB7B,gBAAgB;;QAEhB,uBAAuB;;QAEvB,0BAA0B;;QAE1B,0BAA0B;;QAE1B,qCAAqC;;;EAWrC,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAMlE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;IAC7B,wBAAwB;;QAEtB,4BAA4B;;QAE5B,8BAA8B;;QAE9B,mBAAmB;;QAEnB,yCAAyC;;;IAG3C,mCAAmC;;QAEjC,4BAA4B;;QAE5B,8BAA8B;;QAE9B,gBAAgB;;;IAGlB,6BAA6B;;QAE3B,4BAA4B;;QAE5B,8BAA8B;;QAE9B,gBAAgB;;;IAGlB,kCAAkC;;QAEhC,4BAA4B;;QAE5B,8BAA8B;;QAE9B,gBAAgB;;QAEhB,+CAA+C;;QAE/C,kBAAkB;;QAElB,+BAA+B;;;IAGjC,kBAAkB;;QAEhB,4BAA4B;;QAE5B,8BAA8B;;QAE9B,gBAAgB;;QAEhB,oBAAoB;;QAEpB,uCAAuC;;QAEvC,+BAA+B;;;IAGjC,+CAA+C;;QAE7C,4BAA4B;;QAE5B,8BAA8B;;QAE9B,gBAAgB;;QAEhB,qDAAqD;;;IAGvD,0BAA0B;;QAExB,4BAA4B;;QAE5B,8BAA8B;;QAE9B,kCAAkC;;QAElC,gDAAgD;;QAEhD,wCAAwC;;QAExC,kCAAkC;;QAElC,8BAA8B;;QAE9B,qCAAqC;;;IAGvC,8BAA8B;;QAE5B,4BAA4B;;QAE5B,8BAA8B;;QAE9B,8BAA8B;;;IAGhC,oEAAoE;;QAElE,4BAA4B;;QAE5B,8BAA8B;;QAE9B,wCAAwC;;QAExC,qDAAqD;;QAErD,eAAe;;;IAGjB,0DAA0D;;QAExD,4BAA4B;;QAE5B,8BAA8B;;QAE9B,gBAAgB;;QAEhB,8BAA8B;;;IAGhC,6DAA6D;;QAE3D,4BAA4B;;QAE5B,8BAA8B;;QAE9B,gBAAgB;;QAEhB,+CAA+C;;;
|
|
1
|
+
{"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../src/dataflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;GAUG;AAEH,OAAO,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,UAAU,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACZ,MAAM,eAAe,CAAC;AAMvB;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAM/G;;;;GAIG;AACH,eAAO,MAAM,aAAa;IACxB,gBAAgB;;IAEhB,4CAA4C;;IAE5C,+CAA+C;;IAE/C,4CAA4C;;IAE5C,8BAA8B;;IAE9B,uCAAuC;;IAEvC,4BAA4B;;IAE5B,8BAA8B;;IAE9B,+BAA+B;;EAE/B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,aAAa,CAAC,CAAC;AAM1D;;GAEG;AACH,eAAO,MAAM,qBAAqB;IAChC,gBAAgB;;IAEhB,uBAAuB;;IAEvB,0BAA0B;;IAE1B,0BAA0B;;IAE1B,qCAAqC;;EAErC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,iBAAiB;IAC5B,6BAA6B;;QAjB7B,gBAAgB;;QAEhB,uBAAuB;;QAEvB,0BAA0B;;QAE1B,0BAA0B;;QAE1B,qCAAqC;;;EAWrC,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAMlE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;IAC7B,wBAAwB;;QAEtB,4BAA4B;;QAE5B,8BAA8B;;QAE9B,mBAAmB;;QAEnB,yCAAyC;;;IAG3C,mCAAmC;;QAEjC,4BAA4B;;QAE5B,8BAA8B;;QAE9B,gBAAgB;;;IAGlB,6BAA6B;;QAE3B,4BAA4B;;QAE5B,8BAA8B;;QAE9B,gBAAgB;;;IAGlB,kCAAkC;;QAEhC,4BAA4B;;QAE5B,8BAA8B;;QAE9B,gBAAgB;;QAEhB,+CAA+C;;QAE/C,kBAAkB;;QAElB,+BAA+B;;;IAGjC,kBAAkB;;QAEhB,4BAA4B;;QAE5B,8BAA8B;;QAE9B,gBAAgB;;QAEhB,oBAAoB;;QAEpB,uCAAuC;;QAEvC,+BAA+B;;;IAGjC,+CAA+C;;QAE7C,4BAA4B;;QAE5B,8BAA8B;;QAE9B,gBAAgB;;QAEhB,qDAAqD;;;IAGvD,0BAA0B;;QAExB,4BAA4B;;QAE5B,8BAA8B;;QAE9B,kCAAkC;;QAElC,gDAAgD;;QAEhD,wCAAwC;;QAExC,kCAAkC;;QAElC,8BAA8B;;QAE9B,qCAAqC;;;IAGvC,8BAA8B;;QAE5B,4BAA4B;;QAE5B,8BAA8B;;QAE9B,8BAA8B;;;IAGhC,oEAAoE;;QAElE,4BAA4B;;QAE5B,8BAA8B;;QAE9B,wCAAwC;;QAExC,qDAAqD;;QAErD,eAAe;;;IAGjB,0DAA0D;;QAExD,4BAA4B;;QAE5B,8BAA8B;;QAE9B,gBAAgB;;QAEhB,8BAA8B;;;IAGhC,6DAA6D;;QAE3D,4BAA4B;;QAE5B,8BAA8B;;QAE9B,gBAAgB;;QAEhB,+CAA+C;;;EAYjD,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,KAAK,EAAE,SAAS,GAAG,WAAW,CAAC;IAC/B,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B;IAErC,+DAA+D;;IAE/D,4BAA4B;;IAE5B,qBAAqB;;IAErB,iCAAiC;;IAIjC,yCAAyC;;IAEzC,wCAAwC;;IAExC,wDAAwD;;IAIxD,iDAAiD;;QA1NjD,6BAA6B;;YAjB7B,gBAAgB;;YAEhB,uBAAuB;;YAEvB,0BAA0B;;YAE1B,0BAA0B;;YAE1B,qCAAqC;;;;IAqOrC,iEAAiE;;IAIjE,qCAAqC;;QA9QrC,gBAAgB;;QAEhB,4CAA4C;;QAE5C,+CAA+C;;QAE/C,4CAA4C;;QAE5C,8BAA8B;;QAE9B,uCAAuC;;QAEvC,4BAA4B;;QAE5B,8BAA8B;;QAE9B,+BAA+B;;;IAkQ/B,gDAAgD;;IAEhD,wCAAwC;;IAExC,kCAAkC;;IAElC,sDAAsD;;IAItD,+BAA+B;;IAE/B,mCAAmC;;IAEnC,0CAA0C;;IAI1C,kFAAkF;;IAElF,uEAAuE;;IAEvE,oDAAoD;;IAEpD,uDAAuD;;IAIvD,oCAAoC;;QAhPpC,wBAAwB;;YAEtB,4BAA4B;;YAE5B,8BAA8B;;YAE9B,mBAAmB;;YAEnB,yCAAyC;;;QAG3C,mCAAmC;;YAEjC,4BAA4B;;YAE5B,8BAA8B;;YAE9B,gBAAgB;;;QAGlB,6BAA6B;;YAE3B,4BAA4B;;YAE5B,8BAA8B;;YAE9B,gBAAgB;;;QAGlB,kCAAkC;;YAEhC,4BAA4B;;YAE5B,8BAA8B;;YAE9B,gBAAgB;;YAEhB,+CAA+C;;YAE/C,kBAAkB;;YAElB,+BAA+B;;;QAGjC,kBAAkB;;YAEhB,4BAA4B;;YAE5B,8BAA8B;;YAE9B,gBAAgB;;YAEhB,oBAAoB;;YAEpB,uCAAuC;;YAEvC,+BAA+B;;;QAGjC,+CAA+C;;YAE7C,4BAA4B;;YAE5B,8BAA8B;;YAE9B,gBAAgB;;YAEhB,qDAAqD;;;QAGvD,0BAA0B;;YAExB,4BAA4B;;YAE5B,8BAA8B;;YAE9B,kCAAkC;;YAElC,gDAAgD;;YAEhD,wCAAwC;;YAExC,kCAAkC;;YAElC,8BAA8B;;YAE9B,qCAAqC;;;QAGvC,8BAA8B;;YAE5B,4BAA4B;;YAE5B,8BAA8B;;YAE9B,8BAA8B;;;QAGhC,oEAAoE;;YAElE,4BAA4B;;YAE5B,8BAA8B;;YAE9B,wCAAwC;;YAExC,qDAAqD;;YAErD,eAAe;;;QAGjB,0DAA0D;;YAExD,4BAA4B;;YAE5B,8BAA8B;;YAE9B,gBAAgB;;YAEhB,8BAA8B;;;QAGhC,6DAA6D;;YAE3D,4BAA4B;;YAE5B,8BAA8B;;YAE9B,gBAAgB;;YAEhB,+CAA+C;;;;IAgHjD,sDAAsD;;EAEtD,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAMpF;;GAEG;AACH,eAAO,MAAM,qBAAqB;IAChC,iCAAiC;;IAEjC,iCAAiC;;IAEjC,mCAAmC;;QAEjC,mCAAmC;;QAEnC,oBAAoB;;;IAGtB,wBAAwB;;EAExB,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,uBAAuB;IAClC,4BAA4B;;IAE5B,mCAAmC;;IAEnC,6EAA6E;;IAE7E,4FAA4F;;EAE5F,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,sBAAsB;IACjC,4BAA4B;;IAE5B,gCAAgC;;IAEhC,6BAA6B;;IAE7B,6BAA6B;;IAE7B,8BAA8B;;IAE9B,uDAAuD;;EAEvD,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe;IAC1B,sBAAsB;;IAEtB,qBAAqB;;IAErB,mDAAmD;;IAGnD,2BAA2B;;IAE3B,qDAAqD;;IAGrD,gCAAgC;;QAzEhC,iCAAiC;;QAEjC,iCAAiC;;QAEjC,mCAAmC;;YAEjC,mCAAmC;;YAEnC,oBAAoB;;;QAGtB,wBAAwB;;;IAiExB,gEAAgE;;IAEhE,6DAA6D;;IAG7D,2CAA2C;;QA7D3C,4BAA4B;;QAE5B,mCAAmC;;QAEnC,6EAA6E;;QAE7E,4FAA4F;;;IA0D5F,yBAAyB;;QAjDzB,4BAA4B;;QAE5B,gCAAgC;;QAEhC,6BAA6B;;QAE7B,6BAA6B;;QAE7B,8BAA8B;;QAE9B,uDAAuD;;;EAyCvD,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
package/dist/src/dataflow.js
CHANGED
|
@@ -210,6 +210,15 @@ export const ExecutionEventType = VariantType({
|
|
|
210
210
|
/** Path where version conflict was detected */
|
|
211
211
|
conflictPath: StringType,
|
|
212
212
|
}),
|
|
213
|
+
// WIRE WARNING — this variant's case list is FROZEN by the persisted
|
|
214
|
+
// beast2 state (workspaces/<ws>/execution.beast2). beast2 v5 encodes
|
|
215
|
+
// variant cases POSITIONALLY against the reader's alphabetically-sorted
|
|
216
|
+
// case list, NOT by case name — adding a case that sorts before any
|
|
217
|
+
// existing one shifts every later case's index, so released readers
|
|
218
|
+
// mis-decode (or fail to decode) old states, and vice versa. Do not add
|
|
219
|
+
// cases here without a state-file version/migration story; runtime-only
|
|
220
|
+
// signals (e.g. partition progress) belong on callbacks, not in this
|
|
221
|
+
// persisted stream.
|
|
213
222
|
});
|
|
214
223
|
// =============================================================================
|
|
215
224
|
// Main Execution State
|
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":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataflow.spec.d.ts","sourceRoot":"","sources":["../../src/dataflow.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
* Wire-freeze pin for the persisted execution-state event variant.
|
|
7
|
+
*
|
|
8
|
+
* beast2 v5 encodes variant cases POSITIONALLY against the alphabetically
|
|
9
|
+
* sorted case list ({@link VariantType} sorts at construction), so the case
|
|
10
|
+
* list below IS the wire of every persisted `execution.beast2`: adding,
|
|
11
|
+
* removing or renaming a case shifts later indices and released readers
|
|
12
|
+
* mis-decode (or fail to decode) existing states. This spec exists to make
|
|
13
|
+
* that impossible to do silently — see the wire warning in `dataflow.ts`.
|
|
14
|
+
*/
|
|
15
|
+
import { describe, it } from 'node:test';
|
|
16
|
+
import assert from 'node:assert/strict';
|
|
17
|
+
import { toEastTypeValue } from '@elaraai/east';
|
|
18
|
+
import { ExecutionEventType } from './dataflow.js';
|
|
19
|
+
describe('ExecutionEventType wire freeze', () => {
|
|
20
|
+
it('keeps the released, alphabetically-sorted case list', () => {
|
|
21
|
+
const typeValue = toEastTypeValue(ExecutionEventType);
|
|
22
|
+
assert.equal(typeValue.type, 'Variant');
|
|
23
|
+
assert.deepEqual(typeValue.value.map((c) => c.name), [
|
|
24
|
+
'execution_cancelled',
|
|
25
|
+
'execution_completed',
|
|
26
|
+
'execution_started',
|
|
27
|
+
'input_changed',
|
|
28
|
+
'task_completed',
|
|
29
|
+
'task_deferred',
|
|
30
|
+
'task_failed',
|
|
31
|
+
'task_invalidated',
|
|
32
|
+
'task_ready',
|
|
33
|
+
'task_skipped',
|
|
34
|
+
'task_started',
|
|
35
|
+
], 'the persisted event wire is frozen — do not change this list without a state-file version/migration story');
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=dataflow.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataflow.spec.js","sourceRoot":"","sources":["../../src/dataflow.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;GASG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,SAAS,GAAG,eAAe,CAAC,kBAAkB,CAAgD,CAAC;QACrG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACxC,MAAM,CAAC,SAAS,CACd,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAClC;YACE,qBAAqB;YACrB,qBAAqB;YACrB,mBAAmB;YACnB,eAAe;YACf,gBAAgB;YAChB,eAAe;YACf,aAAa;YACb,kBAAkB;YAClB,YAAY;YACZ,cAAc;YACd,cAAc;SACf,EACD,2GAA2G,CAC5G,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
*/
|
|
23
23
|
export { DataRefType, type DataRef, unassignedRef, nullRef, DataTreeType, } from './dataset.js';
|
|
24
24
|
export { VersionVectorType, type VersionVector, DatasetRefType, type DatasetRef, } from './dataset-ref.js';
|
|
25
|
-
export { TaskObjectType, type TaskObject, decodeTaskObject, } from './task.js';
|
|
25
|
+
export { TaskObjectType, type TaskObject, decodeTaskObject, TASK_KIND_PARTITION, TASK_KIND_STREAM, PartitionTaskMetadataType, type PartitionTaskMetadata, encodePartitionTaskMetadata, decodePartitionTaskMetadata, StreamTaskMetadataType, type StreamTaskMetadata, encodeStreamTaskMetadata, decodeStreamTaskMetadata, } from './task.js';
|
|
26
26
|
export { EnvironmentSpecType, type EnvironmentSpec, PythonEnvironmentType, type PythonEnvironment, NodeEnvironmentType, type NodeEnvironment, ImageEnvironmentType, type ImageEnvironment, ToolsEnvironmentType, type ToolsEnvironment, WorkspaceNodeEnvironmentType, type WorkspaceNodeEnvironment, environmentSpecObjectHashes, } from './environment.js';
|
|
27
27
|
export { StructureType, type Structure, PathSegmentType, type PathSegment, TreePathType, type TreePath, type ParsePathResult, type ParseDatasetPathResult, type ParsePackageRefResult, treePath, pathToString, parsePath, parseDatasetPath, parsePackageRef, urlPathToTreePath, DatasetSchemaType, type DatasetSchema, } from './structure.js';
|
|
28
28
|
export { RunnerType, type RunnerValue, runnerToArgv, withRunnerVerbose, } from './runner.js';
|
|
@@ -35,5 +35,5 @@ export { LockOperationType, type LockOperation, ProcessHolderType, type ProcessH
|
|
|
35
35
|
export { TransferUploadRequestType, type TransferUploadRequest, TransferUploadResponseType, type TransferUploadResponse, TransferDoneResponseType, type TransferDoneResponse, } from './transfer.js';
|
|
36
36
|
export { BEAST2_CONTENT_TYPE } from './constants.js';
|
|
37
37
|
export { WorkspaceNotFoundErrorType, WorkspaceNotDeployedErrorType, WorkspaceExistsErrorType, LockHolderType, WorkspaceLockedErrorType, PackageNotFoundErrorType, PackageExistsErrorType, PackageInvalidErrorType, DatasetNotFoundErrorType, TaskNotFoundErrorType, ExecutionNotFoundErrorType, ObjectNotFoundErrorType, DataflowErrorType, PermissionDeniedErrorType, InternalErrorType, RepositoryNotFoundErrorType, ErrorType, ResponseType, RepositoryStatusType, GcRequestType, GcResultType, AsyncOperationStatusType, GcStartResultType, GcStatusResultType, PackageListItemType, PackageInfoType, PackageDetailsType, WorkspaceCreateRequestType, WorkspaceInfoType, WorkspaceDeployRequestType, WorkspaceExportRequestType, DatasetStatusType, TaskStatusUpToDateType, TaskStatusWaitingType, TaskStatusInProgressType, TaskStatusFailedType, TaskStatusErrorType, TaskStatusStaleRunningType, TaskStatusType, DatasetStatusInfoType, TaskStatusInfoType, WorkspaceStatusSummaryType, WorkspaceStatusResultType, TaskListItemType, TaskDetailsType, DataflowRequestType, LogChunkType, TaskExecutionResultType, DataflowResultType, DataflowEventType, ApiExecutionStatusType, DataflowExecutionSummaryType, ApiDataflowExecutionStateType, ExecutionHistoryStatusType, ExecutionListItemType, TreeKindType, ListEntryType, DatasetStatusDetailType, ExecuteLimitsType, DiagnosticType, ExecuteResultType, FunctionCallRequestType, FunctionSignatureType, OneShotRequestType, MutationCallRequestType, MutationResultType, RecordSignatureType, RecordCommitInfoType, RecordHistoryResultType, type Error, type RepositoryStatus, type GcRequest, type GcResult, type AsyncOperationStatus, type GcStartResult, type GcStatusResult, type PackageListItem, type PackageInfo, type PackageDetails, type WorkspaceInfo, type WorkspaceCreateRequest, type WorkspaceDeployRequest, type DatasetStatus, type TaskStatus as ApiTaskStatus, type DatasetStatusInfo, type TaskStatusInfo, type WorkspaceStatusSummary, type WorkspaceStatusResult, type TaskListItem, type TaskDetails, type DataflowRequest, type LogChunk, type TaskExecutionResult, type DataflowResult, type DataflowEvent, type ApiExecutionStatus, type DataflowExecutionSummary, type ApiDataflowExecutionState, type ExecutionHistoryStatus, type ExecutionListItem, type TreeKind, type ListEntry, type DatasetStatusDetail, type ExecuteLimits, type Diagnostic, type ExecuteResult, type FunctionCallRequest, type FunctionSignature, type OneShotRequest, type MutationCallRequest, type MutationResult, type RecordSignature, type RecordCommitInfo, type RecordHistoryResult, } from './api.js';
|
|
38
|
-
export { type DataflowExecutionStatus, type TaskStatus, TaskStateType, type TaskState, DataflowGraphTaskType, type DataflowGraphTask, DataflowGraphType, type DataflowGraph, ExecutionEventType, type ExecutionEvent, DataflowExecutionStateType, type DataflowExecutionState, DataflowRunStatusType, type DataflowRunStatus, TaskExecutionRecordType, type TaskExecutionRecord, DataflowRunSummaryType, type DataflowRunSummary, DataflowRunType, type DataflowRun, } from './dataflow.js';
|
|
38
|
+
export { type DataflowExecutionStatus, type TaskStatus, TaskStateType, type TaskState, DataflowGraphTaskType, type DataflowGraphTask, DataflowGraphType, type DataflowGraph, ExecutionEventType, type ExecutionEvent, type PartitionProgress, DataflowExecutionStateType, type DataflowExecutionState, DataflowRunStatusType, type DataflowRunStatus, TaskExecutionRecordType, type TaskExecutionRecord, DataflowRunSummaryType, type DataflowRunSummary, DataflowRunType, type DataflowRun, } from './dataflow.js';
|
|
39
39
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EACL,WAAW,EACX,KAAK,OAAO,EACZ,aAAa,EACb,OAAO,EACP,YAAY,GACb,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,iBAAiB,EACjB,KAAK,aAAa,EAClB,cAAc,EACd,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,cAAc,EACd,KAAK,UAAU,EACf,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -25,7 +25,7 @@ export { DataRefType, unassignedRef, nullRef, DataTreeType, } from './dataset.js
|
|
|
25
25
|
// Per-dataset refs and version vectors (reactive dataflow)
|
|
26
26
|
export { VersionVectorType, DatasetRefType, } from './dataset-ref.js';
|
|
27
27
|
// Task definitions
|
|
28
|
-
export { TaskObjectType, decodeTaskObject, } from './task.js';
|
|
28
|
+
export { TaskObjectType, decodeTaskObject, TASK_KIND_PARTITION, TASK_KIND_STREAM, PartitionTaskMetadataType, encodePartitionTaskMetadata, decodePartitionTaskMetadata, StreamTaskMetadataType, encodeStreamTaskMetadata, decodeStreamTaskMetadata, } from './task.js';
|
|
29
29
|
// Execution environments
|
|
30
30
|
export { EnvironmentSpecType, PythonEnvironmentType, NodeEnvironmentType, ImageEnvironmentType, ToolsEnvironmentType, WorkspaceNodeEnvironmentType, environmentSpecObjectHashes, } from './environment.js';
|
|
31
31
|
// Data structure and paths
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AAEH,4BAA4B;AAC5B,OAAO,EACL,WAAW,EAEX,aAAa,EACb,OAAO,EACP,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,2DAA2D;AAC3D,OAAO,EACL,iBAAiB,EAEjB,cAAc,GAEf,MAAM,kBAAkB,CAAC;AAE1B,mBAAmB;AACnB,OAAO,EACL,cAAc,EAEd,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/task.d.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* Input and output types are inferred from the package's structure at the
|
|
15
15
|
* specified paths - the task just references locations, not types.
|
|
16
16
|
*/
|
|
17
|
-
import { StructType, StringType, ArrayType, BlobType, OptionType, ValueTypeOf } from '@elaraai/east';
|
|
17
|
+
import { StructType, StringType, ArrayType, BlobType, BooleanType, IntegerType, OptionType, ValueTypeOf } from '@elaraai/east';
|
|
18
18
|
/**
|
|
19
19
|
* Task object stored in the object store.
|
|
20
20
|
*
|
|
@@ -105,4 +105,71 @@ export type TaskObject = ValueTypeOf<typeof TaskObjectType>;
|
|
|
105
105
|
* `environment` defaulted to `none`.
|
|
106
106
|
*/
|
|
107
107
|
export declare function decodeTaskObject(data: Uint8Array): TaskObject;
|
|
108
|
+
/** Task kind of a partitioned task — the orchestrator carves its partitioned
|
|
109
|
+
* input(s) into key-range slices, runs each slice as an ordinary
|
|
110
|
+
* content-addressed execution, and assembles the output by splice or by
|
|
111
|
+
* combining partials. The spec rides {@link TaskObjectType}'s `metadata`
|
|
112
|
+
* slot as a beast2-encoded {@link PartitionTaskMetadataType}. */
|
|
113
|
+
export declare const TASK_KIND_PARTITION = "partition";
|
|
114
|
+
/** Task kind of a streaming task — one execution whose runner feeds the
|
|
115
|
+
* stream input lazily and writes the output incrementally through an `emit`
|
|
116
|
+
* capability. The spec rides {@link TaskObjectType}'s `metadata` slot as a
|
|
117
|
+
* beast2-encoded {@link StreamTaskMetadataType}. */
|
|
118
|
+
export declare const TASK_KIND_STREAM = "stream";
|
|
119
|
+
/**
|
|
120
|
+
* Metadata of a {@link TASK_KIND_PARTITION} task.
|
|
121
|
+
*
|
|
122
|
+
* The task's wire `inputs` are laid out `[function_ir, ...partitions,
|
|
123
|
+
* ...inputs]`, so `partitions` counts how many entries after the function IR
|
|
124
|
+
* are partitioned datasets; the rest are ordinary (broadcast) inputs that
|
|
125
|
+
* hash into every partition execution's identity.
|
|
126
|
+
*
|
|
127
|
+
* `by` and `combine` are carried as `encodeEastIR` bundles (capture-free IR +
|
|
128
|
+
* its source map), not as FunctionType values or object-store hashes: IR is
|
|
129
|
+
* how executable code travels everywhere on the e3 wire (`commandIr`,
|
|
130
|
+
* `function_ir`, `bodyIr`), a FunctionType value could smuggle captures the
|
|
131
|
+
* orchestrator must not evaluate, and inline bytes stay reachable where a
|
|
132
|
+
* hash inside an opaque metadata blob would be invisible to GC.
|
|
133
|
+
*/
|
|
134
|
+
export declare const PartitionTaskMetadataType: StructType<{
|
|
135
|
+
/** Number of partitioned inputs (wire input indices `1..1+partitions`). */
|
|
136
|
+
readonly partitions: IntegerType;
|
|
137
|
+
/** `encodeEastIR` bundle of the boundary-alignment projection
|
|
138
|
+
* `(Key) -> Projection`; `none` when partitioning is free per row/segment. */
|
|
139
|
+
readonly by: OptionType<BlobType>;
|
|
140
|
+
/** `encodeEastIR` bundle of the associative fold `(Out, Out) -> Out`;
|
|
141
|
+
* `none` in splice mode (shards concatenate). */
|
|
142
|
+
readonly combine: OptionType<BlobType>;
|
|
143
|
+
/** Target carved-slice size in wire bytes — the only sizing knob. */
|
|
144
|
+
readonly targetPartitionBytes: IntegerType;
|
|
145
|
+
}>;
|
|
146
|
+
export type PartitionTaskMetadataType = typeof PartitionTaskMetadataType;
|
|
147
|
+
export type PartitionTaskMetadata = ValueTypeOf<typeof PartitionTaskMetadataType>;
|
|
148
|
+
/** Encode a {@link PartitionTaskMetadataType} value for `TaskObject.metadata`. */
|
|
149
|
+
export declare const encodePartitionTaskMetadata: (value: PartitionTaskMetadata) => Uint8Array;
|
|
150
|
+
/** Decode a `TaskObject.metadata` blob of a {@link TASK_KIND_PARTITION} task. */
|
|
151
|
+
export declare const decodePartitionTaskMetadata: (data: Uint8Array) => PartitionTaskMetadata;
|
|
152
|
+
/**
|
|
153
|
+
* Metadata of a {@link TASK_KIND_STREAM} task.
|
|
154
|
+
*
|
|
155
|
+
* The task's wire `inputs` are laid out `[function_ir, stream?, ...inputs]`;
|
|
156
|
+
* the compiled body takes one trailing `emit` parameter beyond the wire
|
|
157
|
+
* inputs, and the runner writes the `-o` file from the emit sink instead of
|
|
158
|
+
* the body's (Null) return value.
|
|
159
|
+
*/
|
|
160
|
+
export declare const StreamTaskMetadataType: StructType<{
|
|
161
|
+
/** Whether wire input index 1 is the streamed input (producer tasks have
|
|
162
|
+
* no streamed input). */
|
|
163
|
+
readonly stream: BooleanType;
|
|
164
|
+
/** The output collection kind the emit sink writes: `"array"`, `"set"`, or
|
|
165
|
+
* `"dict"` — element/key/value types come from the body IR's emit
|
|
166
|
+
* parameter. */
|
|
167
|
+
readonly emit: StringType;
|
|
168
|
+
}>;
|
|
169
|
+
export type StreamTaskMetadataType = typeof StreamTaskMetadataType;
|
|
170
|
+
export type StreamTaskMetadata = ValueTypeOf<typeof StreamTaskMetadataType>;
|
|
171
|
+
/** Encode a {@link StreamTaskMetadataType} value for `TaskObject.metadata`. */
|
|
172
|
+
export declare const encodeStreamTaskMetadata: (value: StreamTaskMetadata) => Uint8Array;
|
|
173
|
+
/** Decode a `TaskObject.metadata` blob of a {@link TASK_KIND_STREAM} task. */
|
|
174
|
+
export declare const decodeStreamTaskMetadata: (data: Uint8Array) => StreamTaskMetadata;
|
|
108
175
|
//# sourceMappingURL=task.d.ts.map
|
package/dist/src/task.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/task.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/task.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAA0C,MAAM,eAAe,CAAC;AAIvK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,cAAc;IACzB,kFAAkF;;IAElF,uEAAuE;;;;IAEvE,sEAAsE;;;;IAEtE,sFAAsF;;IAEtF,6FAA6F;;IAE7F;;;;;;;OAOG;;;;;;;;;;;;;;;IAEH;;;;;OAKG;;EAEH,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AAEnD,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,cAAc,CAAC,CAAC;AAmB5D;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAW7D;AAMD;;;;kEAIkE;AAClE,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAE/C;;;qDAGqD;AACrD,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,yBAAyB;IACpC,2EAA2E;;IAE3E;mFAC+E;;IAE/E;sDACkD;;IAElD,qEAAqE;;EAErE,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC;AAEzE,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAElF,kFAAkF;AAClF,eAAO,MAAM,2BAA2B,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,UAChC,CAAC;AAE7C,iFAAiF;AACjF,eAAO,MAAM,2BAA2B,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,qBACpB,CAAC;AAE7C;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB;IACjC;8BAC0B;;IAE1B;;qBAEiB;;EAEjB,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,+EAA+E;AAC/E,eAAO,MAAM,wBAAwB,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,UAC7B,CAAC;AAE1C,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,kBACpB,CAAC"}
|
package/dist/src/task.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* Input and output types are inferred from the package's structure at the
|
|
15
15
|
* specified paths - the task just references locations, not types.
|
|
16
16
|
*/
|
|
17
|
-
import { StructType, StringType, ArrayType, BlobType, OptionType, decodeBeast2For, none } from '@elaraai/east';
|
|
17
|
+
import { StructType, StringType, ArrayType, BlobType, BooleanType, IntegerType, OptionType, decodeBeast2For, encodeBeast2For, none } from '@elaraai/east';
|
|
18
18
|
import { TreePathType } from './structure.js';
|
|
19
19
|
import { RunnerType } from './runner.js';
|
|
20
20
|
/**
|
|
@@ -116,4 +116,70 @@ export function decodeTaskObject(data) {
|
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
|
+
// =============================================================================
|
|
120
|
+
// Partition / stream task kinds
|
|
121
|
+
// =============================================================================
|
|
122
|
+
/** Task kind of a partitioned task — the orchestrator carves its partitioned
|
|
123
|
+
* input(s) into key-range slices, runs each slice as an ordinary
|
|
124
|
+
* content-addressed execution, and assembles the output by splice or by
|
|
125
|
+
* combining partials. The spec rides {@link TaskObjectType}'s `metadata`
|
|
126
|
+
* slot as a beast2-encoded {@link PartitionTaskMetadataType}. */
|
|
127
|
+
export const TASK_KIND_PARTITION = 'partition';
|
|
128
|
+
/** Task kind of a streaming task — one execution whose runner feeds the
|
|
129
|
+
* stream input lazily and writes the output incrementally through an `emit`
|
|
130
|
+
* capability. The spec rides {@link TaskObjectType}'s `metadata` slot as a
|
|
131
|
+
* beast2-encoded {@link StreamTaskMetadataType}. */
|
|
132
|
+
export const TASK_KIND_STREAM = 'stream';
|
|
133
|
+
/**
|
|
134
|
+
* Metadata of a {@link TASK_KIND_PARTITION} task.
|
|
135
|
+
*
|
|
136
|
+
* The task's wire `inputs` are laid out `[function_ir, ...partitions,
|
|
137
|
+
* ...inputs]`, so `partitions` counts how many entries after the function IR
|
|
138
|
+
* are partitioned datasets; the rest are ordinary (broadcast) inputs that
|
|
139
|
+
* hash into every partition execution's identity.
|
|
140
|
+
*
|
|
141
|
+
* `by` and `combine` are carried as `encodeEastIR` bundles (capture-free IR +
|
|
142
|
+
* its source map), not as FunctionType values or object-store hashes: IR is
|
|
143
|
+
* how executable code travels everywhere on the e3 wire (`commandIr`,
|
|
144
|
+
* `function_ir`, `bodyIr`), a FunctionType value could smuggle captures the
|
|
145
|
+
* orchestrator must not evaluate, and inline bytes stay reachable where a
|
|
146
|
+
* hash inside an opaque metadata blob would be invisible to GC.
|
|
147
|
+
*/
|
|
148
|
+
export const PartitionTaskMetadataType = StructType({
|
|
149
|
+
/** Number of partitioned inputs (wire input indices `1..1+partitions`). */
|
|
150
|
+
partitions: IntegerType,
|
|
151
|
+
/** `encodeEastIR` bundle of the boundary-alignment projection
|
|
152
|
+
* `(Key) -> Projection`; `none` when partitioning is free per row/segment. */
|
|
153
|
+
by: OptionType(BlobType),
|
|
154
|
+
/** `encodeEastIR` bundle of the associative fold `(Out, Out) -> Out`;
|
|
155
|
+
* `none` in splice mode (shards concatenate). */
|
|
156
|
+
combine: OptionType(BlobType),
|
|
157
|
+
/** Target carved-slice size in wire bytes — the only sizing knob. */
|
|
158
|
+
targetPartitionBytes: IntegerType,
|
|
159
|
+
});
|
|
160
|
+
/** Encode a {@link PartitionTaskMetadataType} value for `TaskObject.metadata`. */
|
|
161
|
+
export const encodePartitionTaskMetadata = encodeBeast2For(PartitionTaskMetadataType);
|
|
162
|
+
/** Decode a `TaskObject.metadata` blob of a {@link TASK_KIND_PARTITION} task. */
|
|
163
|
+
export const decodePartitionTaskMetadata = decodeBeast2For(PartitionTaskMetadataType);
|
|
164
|
+
/**
|
|
165
|
+
* Metadata of a {@link TASK_KIND_STREAM} task.
|
|
166
|
+
*
|
|
167
|
+
* The task's wire `inputs` are laid out `[function_ir, stream?, ...inputs]`;
|
|
168
|
+
* the compiled body takes one trailing `emit` parameter beyond the wire
|
|
169
|
+
* inputs, and the runner writes the `-o` file from the emit sink instead of
|
|
170
|
+
* the body's (Null) return value.
|
|
171
|
+
*/
|
|
172
|
+
export const StreamTaskMetadataType = StructType({
|
|
173
|
+
/** Whether wire input index 1 is the streamed input (producer tasks have
|
|
174
|
+
* no streamed input). */
|
|
175
|
+
stream: BooleanType,
|
|
176
|
+
/** The output collection kind the emit sink writes: `"array"`, `"set"`, or
|
|
177
|
+
* `"dict"` — element/key/value types come from the body IR's emit
|
|
178
|
+
* parameter. */
|
|
179
|
+
emit: StringType,
|
|
180
|
+
});
|
|
181
|
+
/** Encode a {@link StreamTaskMetadataType} value for `TaskObject.metadata`. */
|
|
182
|
+
export const encodeStreamTaskMetadata = encodeBeast2For(StreamTaskMetadataType);
|
|
183
|
+
/** Decode a `TaskObject.metadata` blob of a {@link TASK_KIND_STREAM} task. */
|
|
184
|
+
export const decodeStreamTaskMetadata = decodeBeast2For(StreamTaskMetadataType);
|
|
119
185
|
//# sourceMappingURL=task.js.map
|
package/dist/src/task.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/task.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAe,eAAe,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/task.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elaraai/e3-types",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.59",
|
|
4
4
|
"description": "Shared type definitions for e3 (East Execution Engine)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"directory": "libs/e3/packages/e3-types"
|
|
19
19
|
},
|
|
20
20
|
"peerDependencies": {
|
|
21
|
-
"@elaraai/east": "1.0.
|
|
21
|
+
"@elaraai/east": "1.0.59"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@types/node": "^22.0.0",
|
|
@@ -0,0 +1,44 @@
|
|
|
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
|
+
/**
|
|
7
|
+
* Wire-freeze pin for the persisted execution-state event variant.
|
|
8
|
+
*
|
|
9
|
+
* beast2 v5 encodes variant cases POSITIONALLY against the alphabetically
|
|
10
|
+
* sorted case list ({@link VariantType} sorts at construction), so the case
|
|
11
|
+
* list below IS the wire of every persisted `execution.beast2`: adding,
|
|
12
|
+
* removing or renaming a case shifts later indices and released readers
|
|
13
|
+
* mis-decode (or fail to decode) existing states. This spec exists to make
|
|
14
|
+
* that impossible to do silently — see the wire warning in `dataflow.ts`.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { describe, it } from 'node:test';
|
|
18
|
+
import assert from 'node:assert/strict';
|
|
19
|
+
import { toEastTypeValue } from '@elaraai/east';
|
|
20
|
+
import { ExecutionEventType } from './dataflow.js';
|
|
21
|
+
|
|
22
|
+
describe('ExecutionEventType wire freeze', () => {
|
|
23
|
+
it('keeps the released, alphabetically-sorted case list', () => {
|
|
24
|
+
const typeValue = toEastTypeValue(ExecutionEventType) as { type: string; value: { name: string }[] };
|
|
25
|
+
assert.equal(typeValue.type, 'Variant');
|
|
26
|
+
assert.deepEqual(
|
|
27
|
+
typeValue.value.map((c) => c.name),
|
|
28
|
+
[
|
|
29
|
+
'execution_cancelled',
|
|
30
|
+
'execution_completed',
|
|
31
|
+
'execution_started',
|
|
32
|
+
'input_changed',
|
|
33
|
+
'task_completed',
|
|
34
|
+
'task_deferred',
|
|
35
|
+
'task_failed',
|
|
36
|
+
'task_invalidated',
|
|
37
|
+
'task_ready',
|
|
38
|
+
'task_skipped',
|
|
39
|
+
'task_started',
|
|
40
|
+
],
|
|
41
|
+
'the persisted event wire is frozen — do not change this list without a state-file version/migration story',
|
|
42
|
+
);
|
|
43
|
+
});
|
|
44
|
+
});
|
package/src/dataflow.ts
CHANGED
|
@@ -247,9 +247,41 @@ export const ExecutionEventType = VariantType({
|
|
|
247
247
|
/** Path where version conflict was detected */
|
|
248
248
|
conflictPath: StringType,
|
|
249
249
|
}),
|
|
250
|
+
// WIRE WARNING — this variant's case list is FROZEN by the persisted
|
|
251
|
+
// beast2 state (workspaces/<ws>/execution.beast2). beast2 v5 encodes
|
|
252
|
+
// variant cases POSITIONALLY against the reader's alphabetically-sorted
|
|
253
|
+
// case list, NOT by case name — adding a case that sorts before any
|
|
254
|
+
// existing one shifts every later case's index, so released readers
|
|
255
|
+
// mis-decode (or fail to decode) old states, and vice versa. Do not add
|
|
256
|
+
// cases here without a state-file version/migration story; runtime-only
|
|
257
|
+
// signals (e.g. partition progress) belong on callbacks, not in this
|
|
258
|
+
// persisted stream.
|
|
250
259
|
});
|
|
251
260
|
export type ExecutionEvent = ValueTypeOf<typeof ExecutionEventType>;
|
|
252
261
|
|
|
262
|
+
/**
|
|
263
|
+
* Progress notification for one unit of a partitioned task — a partition
|
|
264
|
+
* slice execution or a combine step. Delivered through runner-layer
|
|
265
|
+
* callbacks while the logical task runs. Deliberately NOT persisted as
|
|
266
|
+
* execution events: {@link ExecutionEventType} is a frozen beast2 wire (see
|
|
267
|
+
* its wire warning), and nothing consumes persisted partition progress —
|
|
268
|
+
* local `[PART]`/`[MERGE]` lines come straight from this callback.
|
|
269
|
+
*/
|
|
270
|
+
export interface PartitionProgress {
|
|
271
|
+
/** Which phase the unit belongs to. */
|
|
272
|
+
phase: 'partition' | 'combine';
|
|
273
|
+
/** Zero-based index of the unit within its phase. */
|
|
274
|
+
index: number;
|
|
275
|
+
/** Total units in the phase (partitions, or combine steps in the level). */
|
|
276
|
+
total: number;
|
|
277
|
+
/** Whether the unit started or finished. */
|
|
278
|
+
state: 'started' | 'completed';
|
|
279
|
+
/** Whether the unit was served from the execution cache (completed only). */
|
|
280
|
+
cached?: boolean;
|
|
281
|
+
/** Unit duration in milliseconds (completed only). */
|
|
282
|
+
duration?: number;
|
|
283
|
+
}
|
|
284
|
+
|
|
253
285
|
// =============================================================================
|
|
254
286
|
// Main Execution State
|
|
255
287
|
// =============================================================================
|
package/src/index.ts
CHANGED
|
@@ -44,6 +44,16 @@ export {
|
|
|
44
44
|
TaskObjectType,
|
|
45
45
|
type TaskObject,
|
|
46
46
|
decodeTaskObject,
|
|
47
|
+
TASK_KIND_PARTITION,
|
|
48
|
+
TASK_KIND_STREAM,
|
|
49
|
+
PartitionTaskMetadataType,
|
|
50
|
+
type PartitionTaskMetadata,
|
|
51
|
+
encodePartitionTaskMetadata,
|
|
52
|
+
decodePartitionTaskMetadata,
|
|
53
|
+
StreamTaskMetadataType,
|
|
54
|
+
type StreamTaskMetadata,
|
|
55
|
+
encodeStreamTaskMetadata,
|
|
56
|
+
decodeStreamTaskMetadata,
|
|
47
57
|
} from './task.js';
|
|
48
58
|
|
|
49
59
|
// Execution environments
|
|
@@ -319,6 +329,7 @@ export {
|
|
|
319
329
|
type DataflowGraph,
|
|
320
330
|
ExecutionEventType,
|
|
321
331
|
type ExecutionEvent,
|
|
332
|
+
type PartitionProgress,
|
|
322
333
|
DataflowExecutionStateType,
|
|
323
334
|
type DataflowExecutionState,
|
|
324
335
|
// Dataflow run history
|
package/src/task.ts
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* specified paths - the task just references locations, not types.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
import { StructType, StringType, ArrayType, BlobType, OptionType, ValueTypeOf, decodeBeast2For, none } from '@elaraai/east';
|
|
19
|
+
import { StructType, StringType, ArrayType, BlobType, BooleanType, IntegerType, OptionType, ValueTypeOf, decodeBeast2For, encodeBeast2For, none } from '@elaraai/east';
|
|
20
20
|
import { TreePathType } from './structure.js';
|
|
21
21
|
import { RunnerType } from './runner.js';
|
|
22
22
|
|
|
@@ -123,3 +123,88 @@ export function decodeTaskObject(data: Uint8Array): TaskObject {
|
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
|
+
|
|
127
|
+
// =============================================================================
|
|
128
|
+
// Partition / stream task kinds
|
|
129
|
+
// =============================================================================
|
|
130
|
+
|
|
131
|
+
/** Task kind of a partitioned task — the orchestrator carves its partitioned
|
|
132
|
+
* input(s) into key-range slices, runs each slice as an ordinary
|
|
133
|
+
* content-addressed execution, and assembles the output by splice or by
|
|
134
|
+
* combining partials. The spec rides {@link TaskObjectType}'s `metadata`
|
|
135
|
+
* slot as a beast2-encoded {@link PartitionTaskMetadataType}. */
|
|
136
|
+
export const TASK_KIND_PARTITION = 'partition';
|
|
137
|
+
|
|
138
|
+
/** Task kind of a streaming task — one execution whose runner feeds the
|
|
139
|
+
* stream input lazily and writes the output incrementally through an `emit`
|
|
140
|
+
* capability. The spec rides {@link TaskObjectType}'s `metadata` slot as a
|
|
141
|
+
* beast2-encoded {@link StreamTaskMetadataType}. */
|
|
142
|
+
export const TASK_KIND_STREAM = 'stream';
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Metadata of a {@link TASK_KIND_PARTITION} task.
|
|
146
|
+
*
|
|
147
|
+
* The task's wire `inputs` are laid out `[function_ir, ...partitions,
|
|
148
|
+
* ...inputs]`, so `partitions` counts how many entries after the function IR
|
|
149
|
+
* are partitioned datasets; the rest are ordinary (broadcast) inputs that
|
|
150
|
+
* hash into every partition execution's identity.
|
|
151
|
+
*
|
|
152
|
+
* `by` and `combine` are carried as `encodeEastIR` bundles (capture-free IR +
|
|
153
|
+
* its source map), not as FunctionType values or object-store hashes: IR is
|
|
154
|
+
* how executable code travels everywhere on the e3 wire (`commandIr`,
|
|
155
|
+
* `function_ir`, `bodyIr`), a FunctionType value could smuggle captures the
|
|
156
|
+
* orchestrator must not evaluate, and inline bytes stay reachable where a
|
|
157
|
+
* hash inside an opaque metadata blob would be invisible to GC.
|
|
158
|
+
*/
|
|
159
|
+
export const PartitionTaskMetadataType = StructType({
|
|
160
|
+
/** Number of partitioned inputs (wire input indices `1..1+partitions`). */
|
|
161
|
+
partitions: IntegerType,
|
|
162
|
+
/** `encodeEastIR` bundle of the boundary-alignment projection
|
|
163
|
+
* `(Key) -> Projection`; `none` when partitioning is free per row/segment. */
|
|
164
|
+
by: OptionType(BlobType),
|
|
165
|
+
/** `encodeEastIR` bundle of the associative fold `(Out, Out) -> Out`;
|
|
166
|
+
* `none` in splice mode (shards concatenate). */
|
|
167
|
+
combine: OptionType(BlobType),
|
|
168
|
+
/** Target carved-slice size in wire bytes — the only sizing knob. */
|
|
169
|
+
targetPartitionBytes: IntegerType,
|
|
170
|
+
});
|
|
171
|
+
export type PartitionTaskMetadataType = typeof PartitionTaskMetadataType;
|
|
172
|
+
|
|
173
|
+
export type PartitionTaskMetadata = ValueTypeOf<typeof PartitionTaskMetadataType>;
|
|
174
|
+
|
|
175
|
+
/** Encode a {@link PartitionTaskMetadataType} value for `TaskObject.metadata`. */
|
|
176
|
+
export const encodePartitionTaskMetadata: (value: PartitionTaskMetadata) => Uint8Array =
|
|
177
|
+
encodeBeast2For(PartitionTaskMetadataType);
|
|
178
|
+
|
|
179
|
+
/** Decode a `TaskObject.metadata` blob of a {@link TASK_KIND_PARTITION} task. */
|
|
180
|
+
export const decodePartitionTaskMetadata: (data: Uint8Array) => PartitionTaskMetadata =
|
|
181
|
+
decodeBeast2For(PartitionTaskMetadataType);
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Metadata of a {@link TASK_KIND_STREAM} task.
|
|
185
|
+
*
|
|
186
|
+
* The task's wire `inputs` are laid out `[function_ir, stream?, ...inputs]`;
|
|
187
|
+
* the compiled body takes one trailing `emit` parameter beyond the wire
|
|
188
|
+
* inputs, and the runner writes the `-o` file from the emit sink instead of
|
|
189
|
+
* the body's (Null) return value.
|
|
190
|
+
*/
|
|
191
|
+
export const StreamTaskMetadataType = StructType({
|
|
192
|
+
/** Whether wire input index 1 is the streamed input (producer tasks have
|
|
193
|
+
* no streamed input). */
|
|
194
|
+
stream: BooleanType,
|
|
195
|
+
/** The output collection kind the emit sink writes: `"array"`, `"set"`, or
|
|
196
|
+
* `"dict"` — element/key/value types come from the body IR's emit
|
|
197
|
+
* parameter. */
|
|
198
|
+
emit: StringType,
|
|
199
|
+
});
|
|
200
|
+
export type StreamTaskMetadataType = typeof StreamTaskMetadataType;
|
|
201
|
+
|
|
202
|
+
export type StreamTaskMetadata = ValueTypeOf<typeof StreamTaskMetadataType>;
|
|
203
|
+
|
|
204
|
+
/** Encode a {@link StreamTaskMetadataType} value for `TaskObject.metadata`. */
|
|
205
|
+
export const encodeStreamTaskMetadata: (value: StreamTaskMetadata) => Uint8Array =
|
|
206
|
+
encodeBeast2For(StreamTaskMetadataType);
|
|
207
|
+
|
|
208
|
+
/** Decode a `TaskObject.metadata` blob of a {@link TASK_KIND_STREAM} task. */
|
|
209
|
+
export const decodeStreamTaskMetadata: (data: Uint8Array) => StreamTaskMetadata =
|
|
210
|
+
decodeBeast2For(StreamTaskMetadataType);
|