@elaraai/e3-core 1.0.5 → 1.0.6

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 (80) hide show
  1. package/dist/src/dataflow/orchestrator/LocalOrchestrator.d.ts.map +1 -1
  2. package/dist/src/dataflow/orchestrator/LocalOrchestrator.js +2 -3
  3. package/dist/src/dataflow/orchestrator/LocalOrchestrator.js.map +1 -1
  4. package/dist/src/dataflow/steps.d.ts.map +1 -1
  5. package/dist/src/dataflow/steps.js +2 -3
  6. package/dist/src/dataflow/steps.js.map +1 -1
  7. package/dist/src/dataflow/steps.spec.js +1 -0
  8. package/dist/src/dataflow/steps.spec.js.map +1 -1
  9. package/dist/src/dataflow-orchestration.spec.js +399 -0
  10. package/dist/src/dataflow-orchestration.spec.js.map +1 -1
  11. package/dist/src/dataflow.d.ts.map +1 -1
  12. package/dist/src/dataflow.js +2 -3
  13. package/dist/src/dataflow.js.map +1 -1
  14. package/dist/src/dataflow.spec.js +2 -152
  15. package/dist/src/dataflow.spec.js.map +1 -1
  16. package/dist/src/dataset-refs.spec.d.ts +6 -0
  17. package/dist/src/dataset-refs.spec.d.ts.map +1 -0
  18. package/dist/src/dataset-refs.spec.js +107 -0
  19. package/dist/src/dataset-refs.spec.js.map +1 -0
  20. package/dist/src/execution/LocalTaskRunner.d.ts +3 -10
  21. package/dist/src/execution/LocalTaskRunner.d.ts.map +1 -1
  22. package/dist/src/execution/LocalTaskRunner.js +67 -209
  23. package/dist/src/execution/LocalTaskRunner.js.map +1 -1
  24. package/dist/src/execution/MockTaskRunner.d.ts +8 -0
  25. package/dist/src/execution/MockTaskRunner.d.ts.map +1 -1
  26. package/dist/src/execution/MockTaskRunner.js +21 -0
  27. package/dist/src/execution/MockTaskRunner.js.map +1 -1
  28. package/dist/src/execution/index.d.ts +2 -0
  29. package/dist/src/execution/index.d.ts.map +1 -1
  30. package/dist/src/execution/index.js +4 -0
  31. package/dist/src/execution/index.js.map +1 -1
  32. package/dist/src/execution/interfaces.d.ts +11 -0
  33. package/dist/src/execution/interfaces.d.ts.map +1 -1
  34. package/dist/src/execution/processExec.d.ts +108 -0
  35. package/dist/src/execution/processExec.d.ts.map +1 -0
  36. package/dist/src/execution/processExec.js +271 -0
  37. package/dist/src/execution/processExec.js.map +1 -0
  38. package/dist/src/execution/runDetached.d.ts +83 -0
  39. package/dist/src/execution/runDetached.d.ts.map +1 -0
  40. package/dist/src/execution/runDetached.js +90 -0
  41. package/dist/src/execution/runDetached.js.map +1 -0
  42. package/dist/src/execution/runDetached.spec.d.ts +6 -0
  43. package/dist/src/execution/runDetached.spec.d.ts.map +1 -0
  44. package/dist/src/execution/runDetached.spec.js +193 -0
  45. package/dist/src/execution/runDetached.spec.js.map +1 -0
  46. package/dist/src/gc.spec.js +36 -3
  47. package/dist/src/gc.spec.js.map +1 -1
  48. package/dist/src/packages.d.ts.map +1 -1
  49. package/dist/src/packages.js +13 -5
  50. package/dist/src/packages.js.map +1 -1
  51. package/dist/src/storage/in-memory/InMemoryStorage.d.ts +4 -0
  52. package/dist/src/storage/in-memory/InMemoryStorage.d.ts.map +1 -1
  53. package/dist/src/storage/in-memory/InMemoryStorage.js +9 -0
  54. package/dist/src/storage/in-memory/InMemoryStorage.js.map +1 -1
  55. package/dist/src/storage/interfaces.d.ts +19 -0
  56. package/dist/src/storage/interfaces.d.ts.map +1 -1
  57. package/dist/src/storage/local/LocalRefStore.d.ts +4 -0
  58. package/dist/src/storage/local/LocalRefStore.d.ts.map +1 -1
  59. package/dist/src/storage/local/LocalRefStore.js +11 -0
  60. package/dist/src/storage/local/LocalRefStore.js.map +1 -1
  61. package/dist/src/storage/local/gc.d.ts.map +1 -1
  62. package/dist/src/storage/local/gc.js +22 -0
  63. package/dist/src/storage/local/gc.js.map +1 -1
  64. package/dist/src/tasks.d.ts.map +1 -1
  65. package/dist/src/tasks.js +2 -3
  66. package/dist/src/tasks.js.map +1 -1
  67. package/dist/src/trees.d.ts.map +1 -1
  68. package/dist/src/trees.js +3 -5
  69. package/dist/src/trees.js.map +1 -1
  70. package/dist/src/workspaceStatus.d.ts.map +1 -1
  71. package/dist/src/workspaceStatus.js +16 -11
  72. package/dist/src/workspaceStatus.js.map +1 -1
  73. package/dist/src/workspaceStatus.spec.d.ts +6 -0
  74. package/dist/src/workspaceStatus.spec.d.ts.map +1 -0
  75. package/dist/src/workspaceStatus.spec.js +156 -0
  76. package/dist/src/workspaceStatus.spec.js.map +1 -0
  77. package/dist/src/workspaces.d.ts.map +1 -1
  78. package/dist/src/workspaces.js +15 -4
  79. package/dist/src/workspaces.js.map +1 -1
  80. package/package.json +4 -4
@@ -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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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=dataset-refs.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataset-refs.spec.d.ts","sourceRoot":"","sources":["../../src/dataset-refs.spec.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Tests for dataset-refs helpers that back the reactive dataflow engine's
7
+ * per-dataset ref model:
8
+ *
9
+ * - keypath <-> refPath conversion, including backtick-quoted identifiers
10
+ * (dataset names that aren't bare identifiers are a real-life case that
11
+ * reaches every ref read/write) and the malformed-input error branches
12
+ * - refs -> tree (`computeRootHash`, used by workspace export) and
13
+ * tree -> refs (`writeRefsFromTree`, used when materialising a deployed
14
+ * package's tree) round-trip, across all three ref states
15
+ * (unassigned / null / value)
16
+ */
17
+ import { describe, it, before, after } from 'node:test';
18
+ import assert from 'node:assert/strict';
19
+ import { dirname } from 'node:path';
20
+ import { variant, StringType, encodeBeast2For, SortedMap } from '@elaraai/east';
21
+ import { keypathToRefPath, refPathToKeypath, computeRootHash, writeRefsFromTree, } from './dataset-refs.js';
22
+ import { LocalStorage } from './storage/local/index.js';
23
+ import { createTestRepo, removeTestRepo } from './test-helpers.js';
24
+ describe('keypathToRefPath', () => {
25
+ it('converts dotted keypaths to slash paths', () => {
26
+ assert.equal(keypathToRefPath('.inputs.sales'), 'inputs/sales');
27
+ assert.equal(keypathToRefPath('.tasks.train.output'), 'tasks/train/output');
28
+ });
29
+ it('handles backtick-quoted identifiers (names with dots/spaces)', () => {
30
+ assert.equal(keypathToRefPath('.inputs.`sales 2026`'), 'inputs/sales 2026');
31
+ assert.equal(keypathToRefPath('.`weird.name`.value'), 'weird.name/value');
32
+ });
33
+ it('rejects keypaths without a leading dot', () => {
34
+ assert.throws(() => keypathToRefPath('inputs/sales'), /leading '\.'/);
35
+ });
36
+ it('rejects unclosed backticks', () => {
37
+ assert.throws(() => keypathToRefPath('.inputs.`oops'), /Unclosed backtick/);
38
+ });
39
+ });
40
+ describe('refPathToKeypath', () => {
41
+ it('round-trips with keypathToRefPath', () => {
42
+ for (const keypath of ['.inputs.sales', '.tasks.train.output', '.inputs.`sales 2026`']) {
43
+ assert.equal(refPathToKeypath(keypathToRefPath(keypath)), keypath);
44
+ }
45
+ });
46
+ it('quotes non-identifier segments', () => {
47
+ assert.equal(refPathToKeypath('inputs/sales 2026'), '.inputs.`sales 2026`');
48
+ });
49
+ });
50
+ describe('refs <-> tree conversion', () => {
51
+ let repoPath;
52
+ let storage;
53
+ // Structure: { inputs: { a: value, b: value }, outputs: { c: value } }
54
+ const valueStructure = () => variant('value', { type: { type: 'String', value: null }, writable: true });
55
+ const structure = variant('struct', new SortedMap([
56
+ ['inputs', variant('struct', new SortedMap([
57
+ ['a', valueStructure()],
58
+ ['b', valueStructure()],
59
+ ]))],
60
+ ['outputs', variant('struct', new SortedMap([
61
+ ['c', valueStructure()],
62
+ ]))],
63
+ ]));
64
+ before(() => {
65
+ repoPath = createTestRepo();
66
+ storage = new LocalStorage(dirname(repoPath));
67
+ });
68
+ after(() => {
69
+ removeTestRepo(repoPath);
70
+ });
71
+ it('computeRootHash builds a tree from refs and writeRefsFromTree restores them', async () => {
72
+ const ws = 'refs-ws';
73
+ const valueHash = await storage.objects.write(repoPath, encodeBeast2For(StringType)('hello'));
74
+ // Seed refs covering all three states: value / null / unassigned
75
+ await storage.datasets.write(repoPath, ws, 'inputs/a', variant('value', { hash: valueHash, versions: new Map() }));
76
+ await storage.datasets.write(repoPath, ws, 'inputs/b', variant('null', { versions: new Map() }));
77
+ await storage.datasets.write(repoPath, ws, 'outputs/c', variant('unassigned', null));
78
+ // refs -> tree (workspace export path)
79
+ const rootHash = await computeRootHash(storage, repoPath, ws, structure);
80
+ assert.equal(rootHash.length, 64);
81
+ // tree -> refs into a fresh workspace (deploy/import path)
82
+ const ws2 = 'refs-ws-2';
83
+ await writeRefsFromTree(storage, repoPath, ws2, structure, rootHash);
84
+ const a = await storage.datasets.read(repoPath, ws2, 'inputs/a');
85
+ assert.equal(a?.type, 'value');
86
+ assert.equal(a.value.hash, valueHash);
87
+ const b = await storage.datasets.read(repoPath, ws2, 'inputs/b');
88
+ assert.equal(b?.type, 'null');
89
+ const c = await storage.datasets.read(repoPath, ws2, 'outputs/c');
90
+ assert.equal(c?.type, 'unassigned');
91
+ // And the round-trip is stable: same refs -> same root hash
92
+ const rootHash2 = await computeRootHash(storage, repoPath, ws2, structure);
93
+ assert.equal(rootHash2, rootHash);
94
+ });
95
+ it('computeRootHash treats missing ref files as unassigned', async () => {
96
+ const ws = 'refs-sparse-ws';
97
+ // Only one of three refs exists
98
+ const valueHash = await storage.objects.write(repoPath, encodeBeast2For(StringType)('only-a'));
99
+ await storage.datasets.write(repoPath, ws, 'inputs/a', variant('value', { hash: valueHash, versions: new Map() }));
100
+ const rootHash = await computeRootHash(storage, repoPath, ws, structure);
101
+ const ws2 = 'refs-sparse-ws-2';
102
+ await writeRefsFromTree(storage, repoPath, ws2, structure, rootHash);
103
+ const b = await storage.datasets.read(repoPath, ws2, 'inputs/b');
104
+ assert.equal(b?.type, 'unassigned');
105
+ });
106
+ });
107
+ //# sourceMappingURL=dataset-refs.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataset-refs.spec.js","sourceRoot":"","sources":["../../src/dataset-refs.spec.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@
4
4
  */
5
5
  import type { StorageBackend } from '../storage/interfaces.js';
6
6
  import type { TaskRunner, TaskExecuteOptions, TaskResult } from './interfaces.js';
7
+ import { type DetachedSpec, type DetachedResult, type DetachedRunOptions } from './runDetached.js';
8
+ export { collectNodeModulesBins } from './processExec.js';
7
9
  /**
8
10
  * Options for task execution
9
11
  */
@@ -50,6 +52,7 @@ export declare class LocalTaskRunner implements TaskRunner {
50
52
  private readonly repo;
51
53
  constructor(repo: string);
52
54
  execute(storage: StorageBackend, taskHash: string, inputHashes: string[], options?: TaskExecuteOptions): Promise<TaskResult>;
55
+ runDetached(spec: DetachedSpec, options?: DetachedRunOptions): Promise<DetachedResult>;
53
56
  }
54
57
  /**
55
58
  * Execute a single task.
@@ -70,14 +73,4 @@ export declare class LocalTaskRunner implements TaskRunner {
70
73
  * @returns Execution result
71
74
  */
72
75
  export declare function taskExecute(storage: StorageBackend, repo: string, taskHash: string, inputHashes: string[], options?: ExecuteOptions): Promise<ExecutionResult>;
73
- /**
74
- * Walk up from `startDir` and return every `node_modules/.bin` directory
75
- * found, ordered from nearest to furthest. Used to prepend each to a
76
- * spawned task's PATH so the runner CLI resolves no matter which level
77
- * of the monorepo a binary was hoisted to — pnpm puts shared bins at the
78
- * workspace root, package-local bins next to their consumer.
79
- *
80
- * Exported for testing; not part of the package's public API.
81
- */
82
- export declare function collectNodeModulesBins(startDir: string): string[];
83
76
  //# sourceMappingURL=LocalTaskRunner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocalTaskRunner.d.ts","sourceRoot":"","sources":["../../../src/execution/LocalTaskRunner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiCH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB;IAClB,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IACtC,4CAA4C;IAC5C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iDAAiD;IACjD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,YAAW,UAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,MAAM;IAEnC,OAAO,CACX,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,UAAU,CAAC;CAyBvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAwO1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAUjE"}
1
+ {"version":3,"file":"LocalTaskRunner.d.ts","sourceRoot":"","sources":["../../../src/execution/LocalTaskRunner.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlF,OAAO,EAAe,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAIhH,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB;IAClB,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IACtC,4CAA4C;IAC5C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iDAAiD;IACjD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,YAAW,UAAU;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,MAAM;IAEnC,OAAO,CACX,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,UAAU,CAAC;IA0BhB,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;CAQ7F;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,eAAe,CAAC,CAkO1B"}
@@ -12,27 +12,18 @@
12
12
  * - Process lifecycle management (signals, timeouts, cleanup)
13
13
  */
14
14
  import * as fs from 'fs/promises';
15
- import { existsSync } from 'fs';
16
15
  import * as path from 'path';
17
- import crossSpawn from 'cross-spawn';
18
- import { spawn as nodeSpawn } from 'child_process';
19
- // On Windows, pnpm's workspace bins are `.cmd` / `.ps1` files, not real
20
- // executables. Node's `spawn(name, ...)` doesn't honour PATHEXT and
21
- // won't find `east-node.cmd` from a bare `east-node` invocation;
22
- // blanket `shell: true` works for that case but joins args into a
23
- // shell-parsed string, which then breaks commands like
24
- // `bash -c 'exit 42'` (the customTask path's bash wrapper). cross-spawn
25
- // targets exactly this gap — PATHEXT-aware resolution + correct arg
26
- // quoting for `.cmd`/`.bat`, passthrough for real binaries on POSIX.
27
- const spawn = (process.platform === 'win32'
28
- ? crossSpawn
29
- : nodeSpawn);
30
16
  import { tmpdir } from 'os';
31
17
  import { decodeBeast2For, variant } from '@elaraai/east';
32
18
  import { TaskObjectType } from '@elaraai/e3-types';
33
19
  import { inputsHash, evaluateCommandIr } from '../executions.js';
34
20
  import { uuidv7 } from '../uuid.js';
35
21
  import { getBootId, getPidStartTime } from './processHelpers.js';
22
+ import { marshalInputsToDir, spawnAndCapture } from './processExec.js';
23
+ import { runDetached } from './runDetached.js';
24
+ // Re-exported from processExec.js (where the implementation moved) for
25
+ // backwards compatibility — exported for testing, not public API.
26
+ export { collectNodeModulesBins } from './processExec.js';
36
27
  /**
37
28
  * TaskRunner implementation for local process execution.
38
29
  *
@@ -68,6 +59,14 @@ export class LocalTaskRunner {
68
59
  }
69
60
  return taskResult;
70
61
  }
62
+ async runDetached(spec, options) {
63
+ return runDetached(spec, {
64
+ signal: options?.signal,
65
+ // Anchor the runner-binary PATH walk at the repo's parent (the
66
+ // project dir), matching the tracked path's walk-up in spawnAndCapture.
67
+ runnerSearchDir: options?.runnerSearchDir ?? path.dirname(this.repo),
68
+ });
69
+ }
71
70
  }
72
71
  /**
73
72
  * Execute a single task.
@@ -146,13 +145,7 @@ export async function taskExecute(storage, repo, taskHash, inputHashes, options
146
145
  await fs.mkdir(scratchDir, { recursive: true });
147
146
  try {
148
147
  // Step 5: Marshal inputs to scratch dir
149
- const inputPaths = [];
150
- for (let i = 0; i < inputHashes.length; i++) {
151
- const inputPath = path.join(scratchDir, `input-${i}.beast2`);
152
- const inputData = await storage.objects.read(repo, inputHashes[i]);
153
- await fs.writeFile(inputPath, inputData);
154
- inputPaths.push(inputPath);
155
- }
148
+ const inputPaths = await marshalInputsToDir(storage, repo, scratchDir, inputHashes);
156
149
  // Step 6: Evaluate command IR to get exec args
157
150
  const outputPath = path.join(scratchDir, 'output.beast2');
158
151
  // The e3 SDK's `customTask` wraps the user command in `["bash", "-c",
@@ -294,204 +287,69 @@ export async function taskExecute(storage, repo, taskHash, inputHashes, options
294
287
  }
295
288
  }
296
289
  /**
297
- * Walk up from `startDir` and return every `node_modules/.bin` directory
298
- * found, ordered from nearest to furthest. Used to prepend each to a
299
- * spawned task's PATH so the runner CLI resolves no matter which level
300
- * of the monorepo a binary was hoisted to — pnpm puts shared bins at the
301
- * workspace root, package-local bins next to their consumer.
290
+ * Run a command and capture output.
302
291
  *
303
- * Exported for testing; not part of the package's public API.
304
- */
305
- export function collectNodeModulesBins(startDir) {
306
- const bins = [];
307
- let dir = path.resolve(startDir);
308
- while (true) {
309
- const candidate = path.join(dir, 'node_modules', '.bin');
310
- if (existsSync(candidate))
311
- bins.push(candidate);
312
- const parent = path.dirname(dir);
313
- if (parent === dir)
314
- return bins;
315
- dir = parent;
316
- }
317
- }
318
- /**
319
- * Run a command and capture output
292
+ * Composes the persistence-free `spawnAndCapture` (processExec.ts) with the
293
+ * tracked path's storage writes: `storage.logs.append` for both streams and
294
+ * the `running` execution status (with pid) once the child has spawned.
320
295
  */
321
296
  async function runCommand(storage, repo, taskHash, inHash, executionId, args, inputHashes, bootId, scratchDir, options) {
322
- const [cmd, ...cmdArgs] = args;
323
- // Process Lifecycle Management
324
- // ============================
325
- // We use detached: true to create a new process group, allowing us to kill
326
- // the entire process tree by signaling the negative PID (process group leader).
327
- //
328
- // LIMITATION: Process groups are flat, not hierarchical. If a task spawns a
329
- // subprocess that creates its own process group (via setsid, daemonization,
330
- // or another detached spawn), that subprocess will escape our kill signal.
331
- // This is a fundamental Unix limitation - process groups were designed for
332
- // terminal job control (Ctrl+C/Ctrl+Z), not process tree management.
333
- //
334
- // For most tasks (shell scripts, pipelines, normal child processes) this works
335
- // fine. A task would have to intentionally call setsid() to escape.
336
- //
337
- // Potential improvements for hosted e3:
338
- // - Linux cgroups: Hierarchical containment with no escape. Requires root or
339
- // systemd integration (systemd-run --scope). Used by Docker/Kubernetes.
340
- // - PR_SET_CHILD_SUBREAPER: Makes e3 adopt orphaned processes instead of init,
341
- // allowing tracking and cleanup. Requires polling to detect orphans.
342
- // - Firecracker/microVMs: Complete isolation with hardware virtualization.
343
- // The VM boundary provides bulletproof containment. Best for multi-tenant.
344
- // Runners (`east-node`, `east-c`) are typically installed as project
345
- // devDeps and exposed on `node_modules/.bin`. `npm run`/`pnpm` set that
346
- // up automatically; bare `e3 dataflow run` does not. Collect every
347
- // `node_modules/.bin` walking up from BOTH the repo and process.cwd()
348
- // and prepend the lot (deduped) so the spawn finds the installed runner
349
- // regardless of where in a monorepo the project sits — the nearest .bin
350
- // often lacks the runner (it's hoisted to the workspace root), so we
351
- // can't stop at the first hit.
352
- //
353
- // Pass env ONLY when we have something to add. Without `env`, the child
354
- // inherits process.env directly — exactly what we want when no augment
355
- // is available (the fuzz harness spawns from inside /tmp where the walk
356
- // finds nothing; the inherited PATH is the proven-working state).
357
- const seen = new Set();
358
- const projectBins = [
359
- ...collectNodeModulesBins(path.dirname(repo)),
360
- ...collectNodeModulesBins(process.cwd()),
361
- ].filter((b) => (seen.has(b) ? false : (seen.add(b), true)));
362
- const spawnOpts = {
363
- // Run in the per-execution scratch dir, not the e3 process's cwd. Tasks
364
- // address inputs/outputs by absolute path and resolve their runner via
365
- // PATH, so cwd isn't part of the task contract — and inheriting the
366
- // caller's cwd pins it. On Windows a live process's cwd can't be removed,
367
- // so a `detached` task that outlives a killed parent (e.g. after SIGKILL)
368
- // would hold the repo/project dir open and block its cleanup (EBUSY).
369
- cwd: scratchDir,
370
- stdio: ['ignore', 'pipe', 'pipe'],
371
- detached: true,
372
- windowsHide: true,
373
- };
374
- if (projectBins.length > 0) {
375
- const pathSep = process.platform === 'win32' ? ';' : ':';
376
- spawnOpts.env = {
377
- ...process.env,
378
- PATH: `${projectBins.join(pathSep)}${pathSep}${process.env.PATH ?? ''}`,
379
- };
380
- }
381
- const child = spawn(cmd, cmdArgs, spawnOpts);
382
- // Set up event listeners IMMEDIATELY before any async work
383
- // to avoid missing events if the process completes quickly. Capture the
384
- // tail of the child's stderr so non-zero exits carry a useful diagnostic
385
- // instead of just an exit code — `storage.logs` has the full log but
386
- // callers (fuzz harness, e3 CLI status, ...) usually only see the error
387
- // string. 64 KiB tail covers the typical stack-trace / "module not found"
388
- // failures without ballooning memory on chatty tasks.
389
- const STDERR_TAIL_BYTES = 64 * 1024;
390
- let stderrTail = '';
391
- const captureStderrTail = (chunk) => {
392
- stderrTail = (stderrTail + chunk).slice(-STDERR_TAIL_BYTES);
393
- };
394
- const resultPromise = new Promise((resolve) => {
395
- child.on('error', (err) => {
396
- resolve({ exitCode: null, error: `Failed to spawn: ${err.message}` });
397
- });
398
- child.on('close', (code) => {
399
- if (code === 0) {
400
- resolve({ exitCode: code, error: null });
401
- }
402
- else {
403
- const tail = stderrTail.trim();
404
- const detail = tail ? `\nstderr:\n${tail}` : '';
405
- resolve({ exitCode: code, error: `Exit code: ${code}${detail}` });
406
- }
407
- });
408
- });
409
297
  // Use promise chains to ensure sequential log writes without overlapping
410
298
  let stdoutWriteChain = Promise.resolve();
411
299
  let stderrWriteChain = Promise.resolve();
412
- // Tee stdout - use storage.logs.append for log persistence
413
- child.stdout?.on('data', (data) => {
414
- const str = data.toString('utf-8');
415
- // Chain writes sequentially to avoid overlapping
416
- stdoutWriteChain = stdoutWriteChain.then(async () => {
417
- try {
418
- await storage.logs.append(repo, taskHash, inHash, executionId, 'stdout', str);
419
- }
420
- catch (err) {
421
- console.warn(`Failed to append stdout log: ${err instanceof Error ? err.message : String(err)}`);
422
- }
423
- });
424
- if (options.onStdout) {
425
- options.onStdout(str);
426
- }
427
- });
428
- // Tee stderr — persist to storage.logs AND capture the tail in memory so
429
- // the close-handler above can include it in the task's error message.
430
- child.stderr?.on('data', (data) => {
431
- const str = data.toString('utf-8');
432
- captureStderrTail(str);
433
- // Chain writes sequentially to avoid overlapping
434
- stderrWriteChain = stderrWriteChain.then(async () => {
435
- try {
436
- await storage.logs.append(repo, taskHash, inHash, executionId, 'stderr', str);
437
- }
438
- catch (err) {
439
- console.warn(`Failed to append stderr log: ${err instanceof Error ? err.message : String(err)}`);
440
- }
441
- });
442
- if (options.onStderr) {
443
- options.onStderr(str);
444
- }
445
- });
446
- // Helper to kill the entire process group (child and all its descendants).
447
- // With detached: true, child.pid is the process group leader, so killing
448
- // -child.pid sends the signal to all processes in that group.
449
- const killProcessGroup = () => {
450
- if (child.pid) {
451
- try {
452
- process.kill(-child.pid, 'SIGKILL');
300
+ const result = await spawnAndCapture(args, scratchDir, {
301
+ timeoutMs: options.timeout,
302
+ signal: options.signal,
303
+ // Runners (`east-node`, `east-c`) are typically installed as project
304
+ // devDeps and exposed on `node_modules/.bin`. Walk up from BOTH the
305
+ // repo and process.cwd() — the nearest .bin often lacks the runner
306
+ // (it's hoisted to the workspace root).
307
+ searchDirs: [path.dirname(repo), process.cwd()],
308
+ // Tee stdout - use storage.logs.append for log persistence
309
+ onStdout: (str) => {
310
+ stdoutWriteChain = stdoutWriteChain.then(async () => {
311
+ try {
312
+ await storage.logs.append(repo, taskHash, inHash, executionId, 'stdout', str);
313
+ }
314
+ catch (err) {
315
+ console.warn(`Failed to append stdout log: ${err instanceof Error ? err.message : String(err)}`);
316
+ }
317
+ });
318
+ if (options.onStdout) {
319
+ options.onStdout(str);
453
320
  }
454
- catch {
455
- // Process may have already exited
321
+ },
322
+ // Tee stderr persist to storage.logs; spawnAndCapture keeps the
323
+ // in-memory tail that the error message includes on non-zero exit.
324
+ onStderr: (str) => {
325
+ stderrWriteChain = stderrWriteChain.then(async () => {
326
+ try {
327
+ await storage.logs.append(repo, taskHash, inHash, executionId, 'stderr', str);
328
+ }
329
+ catch (err) {
330
+ console.warn(`Failed to append stderr log: ${err instanceof Error ? err.message : String(err)}`);
331
+ }
332
+ });
333
+ if (options.onStderr) {
334
+ options.onStderr(str);
456
335
  }
457
- }
458
- };
459
- // Handle timeout
460
- let timeoutId;
461
- if (options.timeout) {
462
- timeoutId = setTimeout(killProcessGroup, options.timeout);
463
- }
464
- // Handle abort signal
465
- if (options.signal) {
466
- if (options.signal.aborted) {
467
- // Already aborted before we started
468
- killProcessGroup();
469
- }
470
- else {
471
- options.signal.addEventListener('abort', killProcessGroup, { once: true });
472
- }
473
- }
474
- // Write running status with actual child PID
475
- const pidStartTime = await getPidStartTime(child.pid);
476
- const status = variant('running', {
477
- executionId,
478
- inputHashes,
479
- startedAt: new Date(),
480
- pid: BigInt(child.pid ?? -1),
481
- pidStartTime: BigInt(pidStartTime ?? -1),
482
- bootId,
336
+ },
337
+ // Write running status with actual child PID
338
+ onSpawned: async (pid) => {
339
+ const pidStartTime = await getPidStartTime(pid ?? -1);
340
+ const status = variant('running', {
341
+ executionId,
342
+ inputHashes,
343
+ startedAt: new Date(),
344
+ pid: BigInt(pid ?? -1),
345
+ pidStartTime: BigInt(pidStartTime ?? -1),
346
+ bootId,
347
+ });
348
+ await storage.refs.executionWrite(repo, taskHash, inHash, executionId, status);
349
+ },
483
350
  });
484
- await storage.refs.executionWrite(repo, taskHash, inHash, executionId, status);
485
- // Wait for process to complete
486
- const result = await resultPromise;
487
351
  // Wait for any pending log writes to complete
488
352
  await Promise.all([stdoutWriteChain, stderrWriteChain]);
489
- // Cleanup
490
- if (timeoutId)
491
- clearTimeout(timeoutId);
492
- if (options.signal) {
493
- options.signal.removeEventListener('abort', killProcessGroup);
494
- }
495
- return result;
353
+ return { exitCode: result.exitCode, error: result.error };
496
354
  }
497
355
  //# sourceMappingURL=LocalTaskRunner.js.map