@elaraai/e3-core 0.0.2-beta.20 → 0.0.2-beta.21

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 (114) hide show
  1. package/README.md +25 -22
  2. package/dist/src/dataflow/api-compat.d.ts +90 -0
  3. package/dist/src/dataflow/api-compat.d.ts.map +1 -0
  4. package/dist/src/dataflow/api-compat.js +134 -0
  5. package/dist/src/dataflow/api-compat.js.map +1 -0
  6. package/dist/src/dataflow/index.d.ts +18 -0
  7. package/dist/src/dataflow/index.d.ts.map +1 -0
  8. package/dist/src/dataflow/index.js +23 -0
  9. package/dist/src/dataflow/index.js.map +1 -0
  10. package/dist/src/dataflow/orchestrator/LocalOrchestrator.d.ts +53 -0
  11. package/dist/src/dataflow/orchestrator/LocalOrchestrator.d.ts.map +1 -0
  12. package/dist/src/dataflow/orchestrator/LocalOrchestrator.js +416 -0
  13. package/dist/src/dataflow/orchestrator/LocalOrchestrator.js.map +1 -0
  14. package/dist/src/dataflow/orchestrator/index.d.ts +12 -0
  15. package/dist/src/dataflow/orchestrator/index.d.ts.map +1 -0
  16. package/dist/src/dataflow/orchestrator/index.js +12 -0
  17. package/dist/src/dataflow/orchestrator/index.js.map +1 -0
  18. package/dist/src/dataflow/orchestrator/interfaces.d.ts +157 -0
  19. package/dist/src/dataflow/orchestrator/interfaces.d.ts.map +1 -0
  20. package/dist/src/dataflow/orchestrator/interfaces.js +51 -0
  21. package/dist/src/dataflow/orchestrator/interfaces.js.map +1 -0
  22. package/dist/src/dataflow/state-store/FileStateStore.d.ts +67 -0
  23. package/dist/src/dataflow/state-store/FileStateStore.d.ts.map +1 -0
  24. package/dist/src/dataflow/state-store/FileStateStore.js +286 -0
  25. package/dist/src/dataflow/state-store/FileStateStore.js.map +1 -0
  26. package/dist/src/dataflow/state-store/InMemoryStateStore.d.ts +42 -0
  27. package/dist/src/dataflow/state-store/InMemoryStateStore.d.ts.map +1 -0
  28. package/dist/src/dataflow/state-store/InMemoryStateStore.js +214 -0
  29. package/dist/src/dataflow/state-store/InMemoryStateStore.js.map +1 -0
  30. package/dist/src/dataflow/state-store/index.d.ts +13 -0
  31. package/dist/src/dataflow/state-store/index.d.ts.map +1 -0
  32. package/dist/src/dataflow/state-store/index.js +13 -0
  33. package/dist/src/dataflow/state-store/index.js.map +1 -0
  34. package/dist/src/dataflow/state-store/interfaces.d.ts +159 -0
  35. package/dist/src/dataflow/state-store/interfaces.d.ts.map +1 -0
  36. package/dist/src/dataflow/state-store/interfaces.js +6 -0
  37. package/dist/src/dataflow/state-store/interfaces.js.map +1 -0
  38. package/dist/src/dataflow/steps.d.ts +176 -0
  39. package/dist/src/dataflow/steps.d.ts.map +1 -0
  40. package/dist/src/dataflow/steps.js +528 -0
  41. package/dist/src/dataflow/steps.js.map +1 -0
  42. package/dist/src/dataflow/types.d.ts +116 -0
  43. package/dist/src/dataflow/types.d.ts.map +1 -0
  44. package/dist/src/dataflow/types.js +7 -0
  45. package/dist/src/dataflow/types.js.map +1 -0
  46. package/dist/src/dataflow.d.ts +9 -0
  47. package/dist/src/dataflow.d.ts.map +1 -1
  48. package/dist/src/dataflow.js +11 -6
  49. package/dist/src/dataflow.js.map +1 -1
  50. package/dist/src/execution/LocalTaskRunner.d.ts +71 -0
  51. package/dist/src/execution/LocalTaskRunner.d.ts.map +1 -0
  52. package/dist/src/execution/LocalTaskRunner.js +360 -0
  53. package/dist/src/execution/LocalTaskRunner.js.map +1 -0
  54. package/dist/src/execution/MockTaskRunner.d.ts +49 -0
  55. package/dist/src/execution/MockTaskRunner.d.ts.map +1 -0
  56. package/dist/src/execution/MockTaskRunner.js +55 -0
  57. package/dist/src/execution/MockTaskRunner.js.map +1 -0
  58. package/dist/src/execution/index.d.ts +2 -0
  59. package/dist/src/execution/index.d.ts.map +1 -1
  60. package/dist/src/execution/index.js +3 -1
  61. package/dist/src/execution/index.js.map +1 -1
  62. package/dist/src/execution/processHelpers.d.ts +20 -0
  63. package/dist/src/execution/processHelpers.d.ts.map +1 -0
  64. package/dist/src/execution/processHelpers.js +62 -0
  65. package/dist/src/execution/processHelpers.js.map +1 -0
  66. package/dist/src/executions.d.ts +1 -69
  67. package/dist/src/executions.d.ts.map +1 -1
  68. package/dist/src/executions.js +6 -365
  69. package/dist/src/executions.js.map +1 -1
  70. package/dist/src/index.d.ts +10 -5
  71. package/dist/src/index.d.ts.map +1 -1
  72. package/dist/src/index.js +19 -12
  73. package/dist/src/index.js.map +1 -1
  74. package/dist/src/objects.d.ts +6 -53
  75. package/dist/src/objects.d.ts.map +1 -1
  76. package/dist/src/objects.js +11 -232
  77. package/dist/src/objects.js.map +1 -1
  78. package/dist/src/storage/local/LocalLockService.d.ts +84 -1
  79. package/dist/src/storage/local/LocalLockService.d.ts.map +1 -1
  80. package/dist/src/storage/local/LocalLockService.js +305 -1
  81. package/dist/src/storage/local/LocalLockService.js.map +1 -1
  82. package/dist/src/storage/local/LocalObjectStore.d.ts +33 -1
  83. package/dist/src/storage/local/LocalObjectStore.d.ts.map +1 -1
  84. package/dist/src/storage/local/LocalObjectStore.js +198 -3
  85. package/dist/src/storage/local/LocalObjectStore.js.map +1 -1
  86. package/dist/src/{gc.d.ts → storage/local/gc.d.ts} +1 -1
  87. package/dist/src/storage/local/gc.d.ts.map +1 -0
  88. package/dist/src/{gc.js → storage/local/gc.js} +5 -2
  89. package/dist/src/storage/local/gc.js.map +1 -0
  90. package/dist/src/storage/local/localHelpers.d.ts +25 -0
  91. package/dist/src/storage/local/localHelpers.d.ts.map +1 -0
  92. package/dist/src/storage/local/localHelpers.js +69 -0
  93. package/dist/src/storage/local/localHelpers.js.map +1 -0
  94. package/dist/src/storage/local/repository.d.ts.map +1 -0
  95. package/dist/src/{repository.js → storage/local/repository.js} +6 -0
  96. package/dist/src/storage/local/repository.js.map +1 -0
  97. package/dist/src/test-helpers.js +1 -1
  98. package/dist/src/test-helpers.js.map +1 -1
  99. package/dist/src/trees.d.ts +2 -1
  100. package/dist/src/trees.d.ts.map +1 -1
  101. package/dist/src/trees.js +2 -0
  102. package/dist/src/trees.js.map +1 -1
  103. package/dist/src/workspaceStatus.js +3 -2
  104. package/dist/src/workspaceStatus.js.map +1 -1
  105. package/package.json +3 -3
  106. package/dist/src/gc.d.ts.map +0 -1
  107. package/dist/src/gc.js.map +0 -1
  108. package/dist/src/repository.d.ts.map +0 -1
  109. package/dist/src/repository.js.map +0 -1
  110. package/dist/src/workspaceLock.d.ts +0 -89
  111. package/dist/src/workspaceLock.d.ts.map +0 -1
  112. package/dist/src/workspaceLock.js +0 -307
  113. package/dist/src/workspaceLock.js.map +0 -1
  114. /package/dist/src/{repository.d.ts → storage/local/repository.d.ts} +0 -0
@@ -3,20 +3,17 @@
3
3
  * Licensed under BSL 1.1. See LICENSE for details.
4
4
  */
5
5
  /**
6
- * Task execution for e3 repositories.
6
+ * Generic task execution APIs for e3 repositories.
7
7
  *
8
- * Provides APIs for:
8
+ * Provides storage-agnostic APIs for:
9
9
  * - Computing execution identity (inputsHash)
10
10
  * - Querying execution status and results
11
11
  * - Reading execution logs
12
- * - Running tasks with caching
12
+ * - Evaluating command IR
13
+ *
14
+ * Note: Local process execution is in execution/LocalTaskRunner.ts
13
15
  */
14
- import * as fs from 'fs/promises';
15
- import * as path from 'path';
16
- import { spawn } from 'child_process';
17
- import { tmpdir } from 'os';
18
- import { decodeBeast2For, variant, EastIR, IRType } from '@elaraai/east';
19
- import { TaskObjectType, } from '@elaraai/e3-types';
16
+ import { decodeBeast2For, EastIR, IRType } from '@elaraai/east';
20
17
  import { computeHash } from './objects.js';
21
18
  // ============================================================================
22
19
  // Execution Identity
@@ -181,360 +178,4 @@ export async function evaluateCommandIr(storage, repo, commandIrHash, inputPaths
181
178
  throw new Error(`Failed to evaluate command IR: ${err}`);
182
179
  }
183
180
  }
184
- // ============================================================================
185
- // Process Identification (for crash detection)
186
- // ============================================================================
187
- /**
188
- * Get the current system boot ID.
189
- * Used for detecting stale locks/processes after system reboot.
190
- */
191
- export async function getBootId() {
192
- try {
193
- const data = await fs.readFile('/proc/sys/kernel/random/boot_id', 'utf-8');
194
- return data.trim();
195
- }
196
- catch {
197
- // Not on Linux, use a placeholder
198
- return 'unknown-boot-id';
199
- }
200
- }
201
- /**
202
- * Get process start time from /proc/<pid>/stat.
203
- * Returns the starttime field (field 22) which is jiffies since boot.
204
- * Used together with boot ID to uniquely identify a process (handles PID reuse).
205
- */
206
- export async function getPidStartTime(pid) {
207
- try {
208
- const data = await fs.readFile(`/proc/${pid}/stat`, 'utf-8');
209
- // Fields are space-separated, but comm (field 2) can contain spaces and is in parens
210
- // Find the closing paren, then split the rest
211
- const closeParen = data.lastIndexOf(')');
212
- const fields = data.slice(closeParen + 2).split(' ');
213
- // After the closing paren, field index 0 is state (field 3), so starttime is at index 19
214
- // (field 22 - 3 = 19)
215
- return parseInt(fields[19], 10);
216
- }
217
- catch {
218
- return 0;
219
- }
220
- }
221
- /**
222
- * Check if a process is still alive based on stored identification
223
- */
224
- export async function isProcessAlive(pid, pidStartTime, bootId) {
225
- // Different boot? Process is dead
226
- const currentBootId = await getBootId();
227
- if (currentBootId !== bootId)
228
- return false;
229
- // Check if PID exists and has same start time
230
- const currentStartTime = await getPidStartTime(pid);
231
- if (currentStartTime === 0)
232
- return false; // PID doesn't exist
233
- if (currentStartTime !== pidStartTime)
234
- return false; // PID reused
235
- return true;
236
- }
237
- /**
238
- * Execute a single task.
239
- *
240
- * This is the core execution primitive. It:
241
- * 1. Computes the execution identity from task + inputs
242
- * 2. Checks cache (unless force=true)
243
- * 3. Marshals inputs to a scratch directory
244
- * 4. Evaluates command IR to get exec args
245
- * 5. Runs the command
246
- * 6. Stores the output and updates status
247
- *
248
- * @param storage - Storage backend
249
- * @param repo - Repository identifier (for local storage, the path to e3 repository directory)
250
- * @param taskHash - Hash of the task object
251
- * @param inputHashes - Array of input dataset hashes
252
- * @param options - Execution options
253
- * @returns Execution result
254
- */
255
- export async function taskExecute(storage, repo, taskHash, inputHashes, options = {}) {
256
- const inHash = inputsHash(inputHashes);
257
- const startTime = Date.now();
258
- // Step 1: Check cache (unless force)
259
- if (!options.force) {
260
- const existingOutput = await storage.refs.executionGetOutput(repo, taskHash, inHash);
261
- if (existingOutput !== null) {
262
- const status = await storage.refs.executionGet(repo, taskHash, inHash);
263
- if (status && status.type === 'success') {
264
- return {
265
- inputsHash: inHash,
266
- cached: true,
267
- state: 'success',
268
- outputHash: existingOutput,
269
- exitCode: 0,
270
- duration: 0,
271
- error: null,
272
- };
273
- }
274
- }
275
- }
276
- // Step 2: Read task object
277
- let task;
278
- try {
279
- const taskData = await storage.objects.read(repo, taskHash);
280
- const decoder = decodeBeast2For(TaskObjectType);
281
- task = decoder(Buffer.from(taskData));
282
- }
283
- catch (err) {
284
- return {
285
- inputsHash: inHash,
286
- cached: false,
287
- state: 'error',
288
- outputHash: null,
289
- exitCode: null,
290
- duration: Date.now() - startTime,
291
- error: `Failed to read task object: ${err}`,
292
- };
293
- }
294
- // Step 3: Create scratch directory
295
- // Include PID to prevent collisions when multiple e3 processes run the same
296
- // task concurrently (e.g., same task in different workspaces at same millisecond)
297
- const scratchDir = path.join(tmpdir(), `e3-exec-${taskHash.slice(0, 8)}-${inHash.slice(0, 8)}-${process.pid}-${Date.now()}`);
298
- await fs.mkdir(scratchDir, { recursive: true });
299
- try {
300
- // Step 4: Marshal inputs to scratch dir
301
- const inputPaths = [];
302
- for (let i = 0; i < inputHashes.length; i++) {
303
- const inputPath = path.join(scratchDir, `input-${i}.beast2`);
304
- const inputData = await storage.objects.read(repo, inputHashes[i]);
305
- await fs.writeFile(inputPath, inputData);
306
- inputPaths.push(inputPath);
307
- }
308
- // Step 5: Evaluate command IR to get exec args
309
- const outputPath = path.join(scratchDir, 'output.beast2');
310
- let args;
311
- try {
312
- args = await evaluateCommandIr(storage, repo, task.commandIr, inputPaths, outputPath);
313
- }
314
- catch (err) {
315
- return {
316
- inputsHash: inHash,
317
- cached: false,
318
- state: 'error',
319
- outputHash: null,
320
- exitCode: null,
321
- duration: Date.now() - startTime,
322
- error: `Failed to evaluate command IR: ${err}`,
323
- };
324
- }
325
- if (args.length === 0) {
326
- return {
327
- inputsHash: inHash,
328
- cached: false,
329
- state: 'error',
330
- outputHash: null,
331
- exitCode: null,
332
- duration: Date.now() - startTime,
333
- error: 'Command IR produced empty command',
334
- };
335
- }
336
- // Step 6: Get boot ID for crash detection
337
- const bootId = await getBootId();
338
- // Step 7: Execute command
339
- const result = await runCommand(storage, repo, taskHash, inHash, args, inputHashes, bootId, options);
340
- // Step 8: Handle result
341
- if (result.exitCode === 0) {
342
- // Success - read and store output
343
- try {
344
- const outputData = await fs.readFile(outputPath);
345
- const outputHash = await storage.objects.write(repo, outputData);
346
- // Write output ref and success status
347
- await storage.refs.executionWriteOutput(repo, taskHash, inHash, outputHash);
348
- const status = variant('success', {
349
- inputHashes,
350
- outputHash,
351
- startedAt: new Date(startTime),
352
- completedAt: new Date(),
353
- });
354
- await storage.refs.executionWrite(repo, taskHash, inHash, status);
355
- return {
356
- inputsHash: inHash,
357
- cached: false,
358
- state: 'success',
359
- outputHash,
360
- exitCode: 0,
361
- duration: Date.now() - startTime,
362
- error: null,
363
- };
364
- }
365
- catch (err) {
366
- // Output file missing or unreadable
367
- const status = variant('error', {
368
- inputHashes,
369
- startedAt: new Date(startTime),
370
- completedAt: new Date(),
371
- message: `Failed to read output: ${err}`,
372
- });
373
- await storage.refs.executionWrite(repo, taskHash, inHash, status);
374
- return {
375
- inputsHash: inHash,
376
- cached: false,
377
- state: 'error',
378
- outputHash: null,
379
- exitCode: 0,
380
- duration: Date.now() - startTime,
381
- error: `Failed to read output: ${err}`,
382
- };
383
- }
384
- }
385
- else {
386
- // Failed - write failed status
387
- const status = variant('failed', {
388
- inputHashes,
389
- startedAt: new Date(startTime),
390
- completedAt: new Date(),
391
- exitCode: BigInt(result?.exitCode ?? -1),
392
- });
393
- await storage.refs.executionWrite(repo, taskHash, inHash, status);
394
- return {
395
- inputsHash: inHash,
396
- cached: false,
397
- state: 'failed',
398
- outputHash: null,
399
- exitCode: result.exitCode,
400
- duration: Date.now() - startTime,
401
- error: result.error,
402
- };
403
- }
404
- }
405
- finally {
406
- // Cleanup scratch directory
407
- try {
408
- await fs.rm(scratchDir, { recursive: true, force: true });
409
- }
410
- catch {
411
- // Ignore cleanup errors
412
- }
413
- }
414
- }
415
- /**
416
- * Run a command and capture output
417
- */
418
- async function runCommand(storage, repo, taskHash, inHash, args, inputHashes, bootId, options) {
419
- const [cmd, ...cmdArgs] = args;
420
- // Process Lifecycle Management
421
- // ============================
422
- // We use detached: true to create a new process group, allowing us to kill
423
- // the entire process tree by signaling the negative PID (process group leader).
424
- //
425
- // LIMITATION: Process groups are flat, not hierarchical. If a task spawns a
426
- // subprocess that creates its own process group (via setsid, daemonization,
427
- // or another detached spawn), that subprocess will escape our kill signal.
428
- // This is a fundamental Unix limitation - process groups were designed for
429
- // terminal job control (Ctrl+C/Ctrl+Z), not process tree management.
430
- //
431
- // For most tasks (shell scripts, pipelines, normal child processes) this works
432
- // fine. A task would have to intentionally call setsid() to escape.
433
- //
434
- // Potential improvements for hosted e3:
435
- // - Linux cgroups: Hierarchical containment with no escape. Requires root or
436
- // systemd integration (systemd-run --scope). Used by Docker/Kubernetes.
437
- // - PR_SET_CHILD_SUBREAPER: Makes e3 adopt orphaned processes instead of init,
438
- // allowing tracking and cleanup. Requires polling to detect orphans.
439
- // - Firecracker/microVMs: Complete isolation with hardware virtualization.
440
- // The VM boundary provides bulletproof containment. Best for multi-tenant.
441
- const child = spawn(cmd, cmdArgs, {
442
- stdio: ['ignore', 'pipe', 'pipe'],
443
- detached: true,
444
- });
445
- // Set up event listeners IMMEDIATELY before any async work
446
- // to avoid missing events if the process completes quickly
447
- const resultPromise = new Promise((resolve) => {
448
- child.on('error', (err) => {
449
- resolve({ exitCode: null, error: `Failed to spawn: ${err.message}` });
450
- });
451
- child.on('close', (code) => {
452
- resolve({ exitCode: code, error: code !== 0 ? `Exit code: ${code}` : null });
453
- });
454
- });
455
- // Use promise chains to ensure sequential log writes without overlapping
456
- let stdoutWriteChain = Promise.resolve();
457
- let stderrWriteChain = Promise.resolve();
458
- // Tee stdout - use storage.logs.append for log persistence
459
- child.stdout?.on('data', (data) => {
460
- const str = data.toString('utf-8');
461
- // Chain writes sequentially to avoid overlapping
462
- stdoutWriteChain = stdoutWriteChain.then(async () => {
463
- try {
464
- await storage.logs.append(repo, taskHash, inHash, 'stdout', str);
465
- }
466
- catch (err) {
467
- console.warn(`Failed to append stdout log: ${err instanceof Error ? err.message : String(err)}`);
468
- }
469
- });
470
- if (options.onStdout) {
471
- options.onStdout(str);
472
- }
473
- });
474
- // Tee stderr - use storage.logs.append for log persistence
475
- child.stderr?.on('data', (data) => {
476
- const str = data.toString('utf-8');
477
- // Chain writes sequentially to avoid overlapping
478
- stderrWriteChain = stderrWriteChain.then(async () => {
479
- try {
480
- await storage.logs.append(repo, taskHash, inHash, 'stderr', str);
481
- }
482
- catch (err) {
483
- console.warn(`Failed to append stderr log: ${err instanceof Error ? err.message : String(err)}`);
484
- }
485
- });
486
- if (options.onStderr) {
487
- options.onStderr(str);
488
- }
489
- });
490
- // Helper to kill the entire process group (child and all its descendants).
491
- // With detached: true, child.pid is the process group leader, so killing
492
- // -child.pid sends the signal to all processes in that group.
493
- const killProcessGroup = () => {
494
- if (child.pid) {
495
- try {
496
- process.kill(-child.pid, 'SIGKILL');
497
- }
498
- catch {
499
- // Process may have already exited
500
- }
501
- }
502
- };
503
- // Handle timeout
504
- let timeoutId;
505
- if (options.timeout) {
506
- timeoutId = setTimeout(killProcessGroup, options.timeout);
507
- }
508
- // Handle abort signal
509
- if (options.signal) {
510
- if (options.signal.aborted) {
511
- // Already aborted before we started
512
- killProcessGroup();
513
- }
514
- else {
515
- options.signal.addEventListener('abort', killProcessGroup, { once: true });
516
- }
517
- }
518
- // Write running status with actual child PID
519
- const pidStartTime = await getPidStartTime(child.pid);
520
- const status = variant('running', {
521
- inputHashes,
522
- startedAt: new Date(),
523
- pid: BigInt(child.pid ?? -1),
524
- pidStartTime: BigInt(pidStartTime ?? -1),
525
- bootId,
526
- });
527
- await storage.refs.executionWrite(repo, taskHash, inHash, status);
528
- // Wait for process to complete
529
- const result = await resultPromise;
530
- // Wait for any pending log writes to complete
531
- await Promise.all([stdoutWriteChain, stderrWriteChain]);
532
- // Cleanup
533
- if (timeoutId)
534
- clearTimeout(timeoutId);
535
- if (options.signal) {
536
- options.signal.removeEventListener('abort', killProcessGroup);
537
- }
538
- return result;
539
- }
540
181
  //# sourceMappingURL=executions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"executions.js","sourceRoot":"","sources":["../../src/executions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executions.js","sourceRoot":"","sources":["../../src/executions.ts"],"names":[],"mappings":"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"}
@@ -11,17 +11,22 @@
11
11
  */
12
12
  export * from './storage/index.js';
13
13
  export * from './execution/index.js';
14
- export { repoInit, repoFind, repoGet, type InitRepositoryResult, } from './repository.js';
15
- export { repoGc, type GcOptions, type GcResult } from './gc.js';
16
- export { computeHash, objectWrite, objectWriteStream, objectRead, objectExists, objectAbbrev, } from './objects.js';
14
+ export { repoInit, repoFind, repoGet, type InitRepositoryResult, } from './storage/local/repository.js';
15
+ export { repoGc, type GcOptions, type GcResult } from './storage/local/gc.js';
16
+ export { computeHash } from './objects.js';
17
+ export { objectWrite, objectWriteStream, objectRead, objectExists, } from './storage/local/LocalObjectStore.js';
18
+ export { objectPath, objectAbbrev } from './storage/local/localHelpers.js';
17
19
  export { packageImport, packageExport, packageRemove, packageList, packageGetLatestVersion, packageResolve, packageRead, type PackageImportResult, type PackageExportResult, } from './packages.js';
18
20
  export { workspaceList, workspaceCreate, workspaceRemove, workspaceGetState, workspaceGetPackage, workspaceGetRoot, workspaceSetRoot, workspaceDeploy, workspaceExport, type WorkspaceExportResult, type WorkspaceRemoveOptions, type WorkspaceDeployOptions, } from './workspaces.js';
19
21
  export { treeRead, treeWrite, datasetRead, datasetWrite, type TreeObject, } from './trees.js';
20
22
  export { packageListTree, packageGetDataset, workspaceListTree, workspaceGetDataset, workspaceGetDatasetHash, workspaceSetDataset, workspaceSetDatasetByHash, workspaceGetTree, type WorkspaceSetDatasetOptions, type WorkspaceGetTreeOptions, type TreeNode, type TreeBranchNode, type TreeLeafNode, } from './trees.js';
21
23
  export { packageListTasks, packageGetTask, workspaceListTasks, workspaceGetTask, workspaceGetTaskHash, } from './tasks.js';
22
- export { inputsHash, executionGet, executionGetOutput, executionListForTask, executionList, executionFindCurrent, type CurrentExecutionRef, executionReadLog, type LogReadOptions, evaluateCommandIr, getBootId, getPidStartTime, isProcessAlive, taskExecute, type ExecuteOptions, type ExecutionResult, } from './executions.js';
24
+ export { inputsHash, executionGet, executionGetOutput, executionListForTask, executionList, executionFindCurrent, type CurrentExecutionRef, executionReadLog, type LogReadOptions, evaluateCommandIr, } from './executions.js';
25
+ export { taskExecute, type ExecuteOptions, type ExecutionResult, } from './execution/LocalTaskRunner.js';
26
+ export { getBootId, getPidStartTime, isProcessAlive, } from './execution/processHelpers.js';
23
27
  export { dataflowExecute, dataflowStart, dataflowGetGraph, dataflowGetReadyTasks, dataflowCheckCache, dataflowGetDependentsToSkip, dataflowResolveInputHashes, parsePathString, type DataflowGraph, type DataflowOptions, type DataflowResult, type TaskExecutionResult, } from './dataflow.js';
24
- export { acquireWorkspaceLock, getWorkspaceLockState, getWorkspaceLockHolder, lockStateToHolderInfo, isLockHolderAlive, workspaceLockPath, type WorkspaceLockHandle, type AcquireLockOptions, } from './workspaceLock.js';
28
+ export { type DataflowExecutionState, type DataflowExecutionStatus, type TaskState, type TaskStatus as DataflowTaskStatus, type ExecutionEvent, type DataflowGraph as DataflowGraphType, type DataflowGraphTask as DataflowGraphTaskType, type InitializeResult, type PrepareTaskResult, type TaskExecuteResult, type TaskCompletedResult, type TaskFailedResult, type FinalizeResult, stepInitialize, stepGetReady, stepPrepareTask, stepTaskStarted, stepTaskCompleted, stepTaskFailed, stepTasksSkipped, stepIsComplete, stepFinalize, stepCancel, type StepInitializeOptions, type ExecutionStateStore, type TaskStatusDetails, type ExecutionStatusDetails, InMemoryStateStore, FileStateStore, type DataflowOrchestrator, type ExecutionHandle, type ExecutionStatus as OrchestratorExecutionStatus, type OrchestratorStartOptions, type TaskCompletedCallback, LocalOrchestrator, stateToStatus, type ApiDataflowEventType, type ApiDataflowEvent, type ApiExecutionStatus, type ApiExecutionSummary, type ApiExecutionState, coreEventToApiEvent, coreStatusToApiStatus, coreStateToApiState, } from './dataflow/index.js';
29
+ export { acquireWorkspaceLock, getWorkspaceLockState, getWorkspaceLockHolder, lockStateToHolderInfo, isLockHolderAlive, workspaceLockPath, type WorkspaceLockHandle, type AcquireLockOptions, } from './storage/local/LocalLockService.js';
25
30
  export { workspaceStatus, type DatasetStatus, type TaskStatus, type DatasetStatusInfo, type TaskStatusInfo, type WorkspaceStatusResult, } from './workspaceStatus.js';
26
31
  export { E3Error, RepositoryNotFoundError, RepoNotFoundError, RepoAlreadyExistsError, RepoStatusConflictError, WorkspaceNotFoundError, WorkspaceNotDeployedError, WorkspaceExistsError, WorkspaceLockError, type LockHolderInfo, PackageNotFoundError, PackageInvalidError, PackageExistsError, DatasetNotFoundError, TaskNotFoundError, ObjectNotFoundError, ObjectCorruptError, ExecutionCorruptError, DataflowError, DataflowAbortedError, PermissionDeniedError, isNotFoundError, isPermissionError, isExistsError, wrapError, } from './errors.js';
27
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AAUH,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AASrC,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,KAAK,oBAAoB,GAC1B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,MAAM,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGhE,OAAO,EACL,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,YAAY,GACb,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,GACzB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,aAAa,EACb,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,GAC5B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,QAAQ,EACR,SAAS,EACT,WAAW,EACX,YAAY,EACZ,KAAK,UAAU,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAEL,UAAU,EAEV,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EAEb,oBAAoB,EACpB,KAAK,mBAAmB,EAExB,gBAAgB,EAChB,KAAK,cAAc,EAGnB,iBAAiB,EAEjB,SAAS,EACT,eAAe,EACf,cAAc,EAEd,WAAW,EACX,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,2BAA2B,EAC3B,0BAA0B,EAC1B,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAEL,OAAO,EAEP,uBAAuB,EACvB,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EAEvB,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,cAAc,EAEnB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAElB,oBAAoB,EAEpB,iBAAiB,EAEjB,mBAAmB,EACnB,kBAAkB,EAElB,qBAAqB,EAErB,aAAa,EACb,oBAAoB,EAEpB,qBAAqB,EAErB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,SAAS,GACV,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/index.js CHANGED
@@ -23,12 +23,15 @@ export * from './execution/index.js';
23
23
  // =============================================================================
24
24
  // These functions use repoPath directly. Future versions will also accept
25
25
  // a StorageBackend for backend-agnostic operation.
26
- // Repository management
27
- export { repoInit, repoFind, repoGet, } from './repository.js';
28
- // Garbage collection
29
- export { repoGc } from './gc.js';
26
+ // Repository management (local filesystem)
27
+ export { repoInit, repoFind, repoGet, } from './storage/local/repository.js';
28
+ // Garbage collection (local filesystem)
29
+ export { repoGc } from './storage/local/gc.js';
30
30
  // Object storage
31
- export { computeHash, objectWrite, objectWriteStream, objectRead, objectExists, objectAbbrev, } from './objects.js';
31
+ export { computeHash } from './objects.js';
32
+ // Local object storage functions (for backwards compatibility)
33
+ export { objectWrite, objectWriteStream, objectRead, objectExists, } from './storage/local/LocalObjectStore.js';
34
+ export { objectPath, objectAbbrev } from './storage/local/localHelpers.js';
32
35
  // Package operations
33
36
  export { packageImport, packageExport, packageRemove, packageList, packageGetLatestVersion, packageResolve, packageRead, } from './packages.js';
34
37
  // Workspace operations
@@ -51,15 +54,19 @@ executionFindCurrent,
51
54
  executionReadLog,
52
55
  // Note: LogChunk is exported from './storage/index.js' (aligned interface)
53
56
  // Command IR evaluation
54
- evaluateCommandIr,
55
- // Process detection
56
- getBootId, getPidStartTime, isProcessAlive,
57
- // Execution
58
- taskExecute, } from './executions.js';
57
+ evaluateCommandIr, } from './executions.js';
58
+ // Local process execution (in execution/ directory)
59
+ export { taskExecute, } from './execution/LocalTaskRunner.js';
60
+ // Process identification helpers (local execution support)
61
+ export { getBootId, getPidStartTime, isProcessAlive, } from './execution/processHelpers.js';
59
62
  // Dataflow execution
60
63
  export { dataflowExecute, dataflowStart, dataflowGetGraph, dataflowGetReadyTasks, dataflowCheckCache, dataflowGetDependentsToSkip, dataflowResolveInputHashes, parsePathString, } from './dataflow.js';
61
- // Workspace locking
62
- export { acquireWorkspaceLock, getWorkspaceLockState, getWorkspaceLockHolder, lockStateToHolderInfo, isLockHolderAlive, workspaceLockPath, } from './workspaceLock.js';
64
+ // Resumable dataflow execution
65
+ export {
66
+ // Step functions
67
+ stepInitialize, stepGetReady, stepPrepareTask, stepTaskStarted, stepTaskCompleted, stepTaskFailed, stepTasksSkipped, stepIsComplete, stepFinalize, stepCancel, InMemoryStateStore, FileStateStore, LocalOrchestrator, stateToStatus, coreEventToApiEvent, coreStatusToApiStatus, coreStateToApiState, } from './dataflow/index.js';
68
+ // Workspace locking (in storage/local/)
69
+ export { acquireWorkspaceLock, getWorkspaceLockState, getWorkspaceLockHolder, lockStateToHolderInfo, isLockHolderAlive, workspaceLockPath, } from './storage/local/LocalLockService.js';
63
70
  // Workspace status
64
71
  export { workspaceStatus, } from './workspaceStatus.js';
65
72
  // Errors
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -3,60 +3,13 @@
3
3
  * Licensed under BSL 1.1. See LICENSE for details.
4
4
  */
5
5
  /**
6
- * Calculate SHA256 hash of data
7
- */
8
- export declare function computeHash(data: Uint8Array): string;
9
- /**
10
- * Atomically write an object to the repository
11
- *
12
- * @param repoPath - Path to e3 repository
13
- * @param data - Data to store
14
- * @returns SHA256 hash of the data
15
- */
16
- export declare function objectWrite(repoPath: string, data: Uint8Array): Promise<string>;
17
- /**
18
- * Atomically write a stream to the repository
6
+ * Calculate SHA256 hash of data.
19
7
  *
20
- * @param repoPath - Path to e3 repository
21
- * @param stream - Stream to store
22
- * @returns SHA256 hash of the data
23
- */
24
- export declare function objectWriteStream(repoPath: string, stream: ReadableStream<Uint8Array>): Promise<string>;
25
- /**
26
- * Read an object from the repository
8
+ * This is the core hashing function used throughout e3 for content addressing.
9
+ * It's storage-agnostic and can be used with any backend.
27
10
  *
28
- * @param repoPath - Path to e3 repository
29
- * @param hash - SHA256 hash of the object
30
- * @returns Object data
31
- * @throws {ObjectNotFoundError} If object not found
11
+ * @param data - Data to hash
12
+ * @returns SHA256 hash as a hex string
32
13
  */
33
- export declare function objectRead(repoPath: string, hash: string): Promise<Uint8Array>;
34
- /**
35
- * Check if an object exists in the repository
36
- *
37
- * @param repoPath - Path to e3 repository
38
- * @param hash - SHA256 hash of the object
39
- * @returns true if object exists
40
- */
41
- export declare function objectExists(repoPath: string, hash: string): Promise<boolean>;
42
- /**
43
- * Get the filesystem path for an object
44
- *
45
- * @param repoPath - Path to e3 repository
46
- * @param hash - SHA256 hash of the object
47
- * @returns Filesystem path: objects/<hash[0..2]>/<hash[2..]>.beast2
48
- */
49
- export declare function objectPath(repoPath: string, hash: string): string;
50
- /**
51
- * Get the minimum unambiguous prefix length for an object hash.
52
- *
53
- * Scans the object store to find the shortest prefix of the given hash
54
- * that uniquely identifies it among all stored objects.
55
- *
56
- * @param repoPath - Path to e3 repository
57
- * @param hash - Full SHA256 hash of the object
58
- * @param minLength - Minimum prefix length to return (default: 4)
59
- * @returns Minimum unambiguous prefix length
60
- */
61
- export declare function objectAbbrev(repoPath: string, hash: string, minLength?: number): Promise<number>;
14
+ export declare function computeHash(data: Uint8Array): string;
62
15
  //# sourceMappingURL=objects.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../src/objects.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEpD;AA4BD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,MAAM,CAAC,CAiDjB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,GACjC,OAAO,CAAC,MAAM,CAAC,CAuDjB;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,CAAC,CAerB;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CASlB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAIjE;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,MAAU,GACpB,OAAO,CAAC,MAAM,CAAC,CAwCjB"}
1
+ {"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../src/objects.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEpD"}