@elaraai/e3-core 0.0.2-beta.4 → 0.0.2-beta.41
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/README.md +25 -22
- package/dist/src/dataflow/api-compat.d.ts +90 -0
- package/dist/src/dataflow/api-compat.d.ts.map +1 -0
- package/dist/src/dataflow/api-compat.js +139 -0
- package/dist/src/dataflow/api-compat.js.map +1 -0
- package/dist/src/dataflow/index.d.ts +18 -0
- package/dist/src/dataflow/index.d.ts.map +1 -0
- package/dist/src/dataflow/index.js +23 -0
- package/dist/src/dataflow/index.js.map +1 -0
- package/dist/src/dataflow/orchestrator/LocalOrchestrator.d.ts +76 -0
- package/dist/src/dataflow/orchestrator/LocalOrchestrator.d.ts.map +1 -0
- package/dist/src/dataflow/orchestrator/LocalOrchestrator.js +695 -0
- package/dist/src/dataflow/orchestrator/LocalOrchestrator.js.map +1 -0
- package/dist/src/dataflow/orchestrator/index.d.ts +12 -0
- package/dist/src/dataflow/orchestrator/index.d.ts.map +1 -0
- package/dist/src/dataflow/orchestrator/index.js +12 -0
- package/dist/src/dataflow/orchestrator/index.js.map +1 -0
- package/dist/src/dataflow/orchestrator/interfaces.d.ts +163 -0
- package/dist/src/dataflow/orchestrator/interfaces.d.ts.map +1 -0
- package/dist/src/dataflow/orchestrator/interfaces.js +52 -0
- package/dist/src/dataflow/orchestrator/interfaces.js.map +1 -0
- package/dist/src/dataflow/state-store/FileStateStore.d.ts +67 -0
- package/dist/src/dataflow/state-store/FileStateStore.d.ts.map +1 -0
- package/dist/src/dataflow/state-store/FileStateStore.js +300 -0
- package/dist/src/dataflow/state-store/FileStateStore.js.map +1 -0
- package/dist/src/dataflow/state-store/InMemoryStateStore.d.ts +42 -0
- package/dist/src/dataflow/state-store/InMemoryStateStore.d.ts.map +1 -0
- package/dist/src/dataflow/state-store/InMemoryStateStore.js +229 -0
- package/dist/src/dataflow/state-store/InMemoryStateStore.js.map +1 -0
- package/dist/src/dataflow/state-store/index.d.ts +13 -0
- package/dist/src/dataflow/state-store/index.d.ts.map +1 -0
- package/dist/src/dataflow/state-store/index.js +13 -0
- package/dist/src/dataflow/state-store/index.js.map +1 -0
- package/dist/src/dataflow/state-store/interfaces.d.ts +159 -0
- package/dist/src/dataflow/state-store/interfaces.d.ts.map +1 -0
- package/dist/src/dataflow/state-store/interfaces.js +6 -0
- package/dist/src/dataflow/state-store/interfaces.js.map +1 -0
- package/dist/src/dataflow/steps.d.ts +222 -0
- package/dist/src/dataflow/steps.d.ts.map +1 -0
- package/dist/src/dataflow/steps.js +707 -0
- package/dist/src/dataflow/steps.js.map +1 -0
- package/dist/src/dataflow/types.d.ts +127 -0
- package/dist/src/dataflow/types.d.ts.map +1 -0
- package/dist/src/dataflow/types.js +7 -0
- package/dist/src/dataflow/types.js.map +1 -0
- package/dist/src/dataflow.d.ts +113 -38
- package/dist/src/dataflow.d.ts.map +1 -1
- package/dist/src/dataflow.js +269 -416
- package/dist/src/dataflow.js.map +1 -1
- package/dist/src/dataset-refs.d.ts +124 -0
- package/dist/src/dataset-refs.d.ts.map +1 -0
- package/dist/src/dataset-refs.js +319 -0
- package/dist/src/dataset-refs.js.map +1 -0
- package/dist/src/errors.d.ts +39 -9
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +51 -8
- package/dist/src/errors.js.map +1 -1
- package/dist/src/execution/LocalTaskRunner.d.ts +73 -0
- package/dist/src/execution/LocalTaskRunner.d.ts.map +1 -0
- package/dist/src/execution/LocalTaskRunner.js +399 -0
- package/dist/src/execution/LocalTaskRunner.js.map +1 -0
- package/dist/src/execution/MockTaskRunner.d.ts +49 -0
- package/dist/src/execution/MockTaskRunner.d.ts.map +1 -0
- package/dist/src/execution/MockTaskRunner.js +54 -0
- package/dist/src/execution/MockTaskRunner.js.map +1 -0
- package/dist/src/execution/index.d.ts +16 -0
- package/dist/src/execution/index.d.ts.map +1 -0
- package/dist/src/execution/index.js +8 -0
- package/dist/src/execution/index.js.map +1 -0
- package/dist/src/execution/interfaces.d.ts +246 -0
- package/dist/src/execution/interfaces.d.ts.map +1 -0
- package/dist/src/execution/interfaces.js +6 -0
- package/dist/src/execution/interfaces.js.map +1 -0
- package/dist/src/execution/processHelpers.d.ts +20 -0
- package/dist/src/execution/processHelpers.d.ts.map +1 -0
- package/dist/src/execution/processHelpers.js +62 -0
- package/dist/src/execution/processHelpers.js.map +1 -0
- package/dist/src/executions.d.ts +71 -104
- package/dist/src/executions.d.ts.map +1 -1
- package/dist/src/executions.js +110 -476
- package/dist/src/executions.js.map +1 -1
- package/dist/src/index.d.ts +19 -9
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +48 -18
- package/dist/src/index.js.map +1 -1
- package/dist/src/objects.d.ts +8 -51
- package/dist/src/objects.d.ts.map +1 -1
- package/dist/src/objects.js +13 -230
- package/dist/src/objects.js.map +1 -1
- package/dist/src/packages.d.ts +22 -14
- package/dist/src/packages.d.ts.map +1 -1
- package/dist/src/packages.js +134 -88
- package/dist/src/packages.js.map +1 -1
- package/dist/src/storage/in-memory/InMemoryRepoStore.d.ts +35 -0
- package/dist/src/storage/in-memory/InMemoryRepoStore.d.ts.map +1 -0
- package/dist/src/storage/in-memory/InMemoryRepoStore.js +107 -0
- package/dist/src/storage/in-memory/InMemoryRepoStore.js.map +1 -0
- package/dist/src/storage/in-memory/InMemoryStorage.d.ts +139 -0
- package/dist/src/storage/in-memory/InMemoryStorage.d.ts.map +1 -0
- package/dist/src/storage/in-memory/InMemoryStorage.js +439 -0
- package/dist/src/storage/in-memory/InMemoryStorage.js.map +1 -0
- package/dist/src/storage/in-memory/index.d.ts +12 -0
- package/dist/src/storage/in-memory/index.d.ts.map +1 -0
- package/dist/src/storage/in-memory/index.js +12 -0
- package/dist/src/storage/in-memory/index.js.map +1 -0
- package/dist/src/storage/index.d.ts +18 -0
- package/dist/src/storage/index.d.ts.map +1 -0
- package/dist/src/storage/index.js +10 -0
- package/dist/src/storage/index.js.map +1 -0
- package/dist/src/storage/interfaces.d.ts +581 -0
- package/dist/src/storage/interfaces.d.ts.map +1 -0
- package/dist/src/storage/interfaces.js +6 -0
- package/dist/src/storage/interfaces.js.map +1 -0
- package/dist/src/storage/local/LocalBackend.d.ts +56 -0
- package/dist/src/storage/local/LocalBackend.d.ts.map +1 -0
- package/dist/src/storage/local/LocalBackend.js +145 -0
- package/dist/src/storage/local/LocalBackend.js.map +1 -0
- package/dist/src/storage/local/LocalDatasetRefStore.d.ts +22 -0
- package/dist/src/storage/local/LocalDatasetRefStore.d.ts.map +1 -0
- package/dist/src/storage/local/LocalDatasetRefStore.js +118 -0
- package/dist/src/storage/local/LocalDatasetRefStore.js.map +1 -0
- package/dist/src/storage/local/LocalLockService.d.ts +111 -0
- package/dist/src/storage/local/LocalLockService.d.ts.map +1 -0
- package/dist/src/storage/local/LocalLockService.js +355 -0
- package/dist/src/storage/local/LocalLockService.js.map +1 -0
- package/dist/src/storage/local/LocalLogStore.d.ts +23 -0
- package/dist/src/storage/local/LocalLogStore.d.ts.map +1 -0
- package/dist/src/storage/local/LocalLogStore.js +66 -0
- package/dist/src/storage/local/LocalLogStore.js.map +1 -0
- package/dist/src/storage/local/LocalObjectStore.d.ts +55 -0
- package/dist/src/storage/local/LocalObjectStore.d.ts.map +1 -0
- package/dist/src/storage/local/LocalObjectStore.js +300 -0
- package/dist/src/storage/local/LocalObjectStore.js.map +1 -0
- package/dist/src/storage/local/LocalRefStore.d.ts +50 -0
- package/dist/src/storage/local/LocalRefStore.d.ts.map +1 -0
- package/dist/src/storage/local/LocalRefStore.js +337 -0
- package/dist/src/storage/local/LocalRefStore.js.map +1 -0
- package/dist/src/storage/local/LocalRepoStore.d.ts +55 -0
- package/dist/src/storage/local/LocalRepoStore.d.ts.map +1 -0
- package/dist/src/storage/local/LocalRepoStore.js +365 -0
- package/dist/src/storage/local/LocalRepoStore.js.map +1 -0
- package/dist/src/storage/local/gc.d.ts +92 -0
- package/dist/src/storage/local/gc.d.ts.map +1 -0
- package/dist/src/storage/local/gc.js +377 -0
- package/dist/src/storage/local/gc.js.map +1 -0
- package/dist/src/storage/local/index.d.ts +18 -0
- package/dist/src/storage/local/index.d.ts.map +1 -0
- package/dist/src/storage/local/index.js +18 -0
- package/dist/src/storage/local/index.js.map +1 -0
- package/dist/src/storage/local/localHelpers.d.ts +25 -0
- package/dist/src/storage/local/localHelpers.d.ts.map +1 -0
- package/dist/src/storage/local/localHelpers.js +69 -0
- package/dist/src/storage/local/localHelpers.js.map +1 -0
- package/dist/src/{repository.d.ts → storage/local/repository.d.ts} +8 -4
- package/dist/src/storage/local/repository.d.ts.map +1 -0
- package/dist/src/{repository.js → storage/local/repository.js} +31 -29
- package/dist/src/storage/local/repository.js.map +1 -0
- package/dist/src/tasks.d.ts +16 -10
- package/dist/src/tasks.d.ts.map +1 -1
- package/dist/src/tasks.js +35 -41
- package/dist/src/tasks.js.map +1 -1
- package/dist/src/test-helpers.d.ts +5 -4
- package/dist/src/test-helpers.d.ts.map +1 -1
- package/dist/src/test-helpers.js +9 -21
- package/dist/src/test-helpers.js.map +1 -1
- package/dist/src/transfer/InMemoryTransferBackend.d.ts +66 -0
- package/dist/src/transfer/InMemoryTransferBackend.d.ts.map +1 -0
- package/dist/src/transfer/InMemoryTransferBackend.js +166 -0
- package/dist/src/transfer/InMemoryTransferBackend.js.map +1 -0
- package/dist/src/transfer/index.d.ts +8 -0
- package/dist/src/transfer/index.d.ts.map +1 -0
- package/dist/src/transfer/index.js +9 -0
- package/dist/src/transfer/index.js.map +1 -0
- package/dist/src/transfer/interfaces.d.ts +103 -0
- package/dist/src/transfer/interfaces.d.ts.map +1 -0
- package/dist/src/transfer/interfaces.js +6 -0
- package/dist/src/transfer/interfaces.js.map +1 -0
- package/dist/src/transfer/types.d.ts +79 -0
- package/dist/src/transfer/types.d.ts.map +1 -0
- package/dist/src/transfer/types.js +58 -0
- package/dist/src/transfer/types.js.map +1 -0
- package/dist/src/trees.d.ts +147 -59
- package/dist/src/trees.d.ts.map +1 -1
- package/dist/src/trees.js +372 -419
- package/dist/src/trees.js.map +1 -1
- package/dist/src/uuid.d.ts +26 -0
- package/dist/src/uuid.d.ts.map +1 -0
- package/dist/src/uuid.js +80 -0
- package/dist/src/uuid.js.map +1 -0
- package/dist/src/workspaceStatus.d.ts +6 -4
- package/dist/src/workspaceStatus.d.ts.map +1 -1
- package/dist/src/workspaceStatus.js +43 -49
- package/dist/src/workspaceStatus.js.map +1 -1
- package/dist/src/workspaces.d.ts +35 -47
- package/dist/src/workspaces.d.ts.map +1 -1
- package/dist/src/workspaces.js +194 -156
- package/dist/src/workspaces.js.map +1 -1
- package/package.json +4 -4
- package/dist/src/gc.d.ts +0 -54
- package/dist/src/gc.d.ts.map +0 -1
- package/dist/src/gc.js +0 -233
- package/dist/src/gc.js.map +0 -1
- package/dist/src/repository.d.ts.map +0 -1
- package/dist/src/repository.js.map +0 -1
- package/dist/src/workspaceLock.d.ts +0 -67
- package/dist/src/workspaceLock.d.ts.map +0 -1
- package/dist/src/workspaceLock.js +0 -217
- package/dist/src/workspaceLock.js.map +0 -1
|
@@ -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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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -9,17 +9,27 @@
|
|
|
9
9
|
* similar to libgit2 for git. It has no UI dependencies and can be
|
|
10
10
|
* used programmatically.
|
|
11
11
|
*/
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
export {
|
|
12
|
+
export * from './storage/index.js';
|
|
13
|
+
export * from './execution/index.js';
|
|
14
|
+
export { repoInit, repoFind, repoGet, type InitRepositoryResult, } from './storage/local/repository.js';
|
|
15
|
+
export { repoGc, collectAllRoots, markReachable, sweepBatch, type GcOptions, type GcResult, type SweepBatchResult, } from './storage/local/gc.js';
|
|
16
|
+
export { computeHash, BEAST2_CONTENT_TYPE } from './objects.js';
|
|
17
|
+
export { objectWrite, objectWriteStream, objectRead, objectExists, } from './storage/local/LocalObjectStore.js';
|
|
18
|
+
export { objectPath, objectAbbrev } from './storage/local/localHelpers.js';
|
|
15
19
|
export { packageImport, packageExport, packageRemove, packageList, packageGetLatestVersion, packageResolve, packageRead, type PackageImportResult, type PackageExportResult, } from './packages.js';
|
|
16
|
-
export { workspaceCreate, workspaceRemove,
|
|
20
|
+
export { workspaceList, workspaceCreate, workspaceRemove, workspaceGetState, workspaceGetPackage, workspaceDeploy, workspaceExport, type WorkspaceExportResult, type WorkspaceRemoveOptions, type WorkspaceDeployOptions, } from './workspaces.js';
|
|
17
21
|
export { treeRead, treeWrite, datasetRead, datasetWrite, type TreeObject, } from './trees.js';
|
|
18
|
-
export { packageListTree,
|
|
22
|
+
export { packageListTree, workspaceListTree, workspaceGetDataset, workspaceGetDatasetHash, workspaceGetDatasetStatus, workspaceSetDataset, workspaceSetDatasetByHash, workspaceGetTree, type DatasetStatusResult, type WorkspaceSetDatasetOptions, type WorkspaceGetTreeOptions, type TreeNode, type TreeBranchNode, type TreeLeafNode, } from './trees.js';
|
|
19
23
|
export { packageListTasks, packageGetTask, workspaceListTasks, workspaceGetTask, workspaceGetTaskHash, } from './tasks.js';
|
|
20
|
-
export { inputsHash,
|
|
21
|
-
export {
|
|
22
|
-
export {
|
|
24
|
+
export { inputsHash, executionGet, executionGetLatest, executionGetOutput, executionListIds, executionListForTask, executionList, executionFindCurrent, type CurrentExecutionRef, executionReadLog, type LogReadOptions, evaluateCommandIr, } from './executions.js';
|
|
25
|
+
export { uuidv7, uuidv7Timestamp, isUuidv7 } from './uuid.js';
|
|
26
|
+
export { taskExecute, type ExecuteOptions, type ExecutionResult, } from './execution/LocalTaskRunner.js';
|
|
27
|
+
export { getBootId, getPidStartTime, isProcessAlive, } from './execution/processHelpers.js';
|
|
28
|
+
export { dataflowExecute, dataflowStart, dataflowGetGraph, dataflowGetReadyTasks, dataflowCheckCache, dataflowGetDependentsToSkip, dataflowResolveInputHashes, findAffectedTasks, parsePathString, type DataflowGraph, type DataflowOptions, type DataflowResult, type TaskExecutionResult, } from './dataflow.js';
|
|
29
|
+
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, stepApplyTreeUpdate, stepDetectInputChanges, stepInvalidateTasks, stepCheckVersionConsistency, 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';
|
|
30
|
+
export { acquireWorkspaceLock, getWorkspaceLockState, getWorkspaceLockHolder, lockStateToHolderInfo, isLockHolderAlive, workspaceLockPath, type WorkspaceLockHandle, type AcquireLockOptions, } from './storage/local/LocalLockService.js';
|
|
23
31
|
export { workspaceStatus, type DatasetStatus, type TaskStatus, type DatasetStatusInfo, type TaskStatusInfo, type WorkspaceStatusResult, } from './workspaceStatus.js';
|
|
24
|
-
export {
|
|
32
|
+
export { checkVersionConsistency, mergeVersionVectors, inputVersionVector, keypathToRefPath, refPathToKeypath, snapshotInputVersions, detectInputChanges, computeRootHash, writeRefsFromTree, writeRefsFromPackage, } from './dataset-refs.js';
|
|
33
|
+
export { E3Error, RepoNotFoundError, RepoAlreadyExistsError, RepoStatusConflictError, WorkspaceNotFoundError, WorkspaceNotDeployedError, WorkspaceExistsError, WorkspaceLockError, type LockHolderInfo, PackageNotFoundError, PackageInvalidError, PackageExistsError, DatasetNotFoundError, TaskNotFoundError, ObjectNotFoundError, ObjectCorruptError, ExecutionCorruptError, ExecutionNotFoundError, DataflowError, DataflowAbortedError, PermissionDeniedError, isNotFoundError, isPermissionError, isExistsError, wrapError, } from './errors.js';
|
|
34
|
+
export * from './transfer/index.js';
|
|
25
35
|
//# 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;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -9,48 +9,76 @@
|
|
|
9
9
|
* similar to libgit2 for git. It has no UI dependencies and can be
|
|
10
10
|
* used programmatically.
|
|
11
11
|
*/
|
|
12
|
-
//
|
|
13
|
-
|
|
12
|
+
// =============================================================================
|
|
13
|
+
// Storage and Execution Abstractions
|
|
14
|
+
// =============================================================================
|
|
15
|
+
// These interfaces enable e3-core to work against different backends:
|
|
16
|
+
// - Local filesystem (default, CLI and local dev)
|
|
17
|
+
// - AWS EFS (Lambda/Fargate cloud deployment)
|
|
18
|
+
// - S3 + DynamoDB (future optimization)
|
|
19
|
+
export * from './storage/index.js';
|
|
20
|
+
export * from './execution/index.js';
|
|
21
|
+
// =============================================================================
|
|
22
|
+
// Repository Operations (filesystem-based)
|
|
23
|
+
// =============================================================================
|
|
24
|
+
// These functions use repoPath directly. Future versions will also accept
|
|
25
|
+
// a StorageBackend for backend-agnostic operation.
|
|
26
|
+
// Repository management (local filesystem)
|
|
27
|
+
export { repoInit, repoFind, repoGet, } from './storage/local/repository.js';
|
|
14
28
|
// Garbage collection
|
|
15
|
-
export { repoGc } from './gc.js';
|
|
29
|
+
export { repoGc, collectAllRoots, markReachable, sweepBatch, } from './storage/local/gc.js';
|
|
16
30
|
// Object storage
|
|
17
|
-
export { computeHash,
|
|
31
|
+
export { computeHash, BEAST2_CONTENT_TYPE } 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';
|
|
18
35
|
// Package operations
|
|
19
36
|
export { packageImport, packageExport, packageRemove, packageList, packageGetLatestVersion, packageResolve, packageRead, } from './packages.js';
|
|
20
37
|
// Workspace operations
|
|
21
|
-
export { workspaceCreate, workspaceRemove,
|
|
38
|
+
export { workspaceList, workspaceCreate, workspaceRemove, workspaceGetState, workspaceGetPackage, workspaceDeploy, workspaceExport, } from './workspaces.js';
|
|
22
39
|
// Tree and dataset operations (low-level, by hash)
|
|
23
40
|
export { treeRead, treeWrite, datasetRead, datasetWrite, } from './trees.js';
|
|
24
41
|
// Tree and dataset operations (high-level, by path)
|
|
25
|
-
export { packageListTree,
|
|
42
|
+
export { packageListTree, workspaceListTree, workspaceGetDataset, workspaceGetDatasetHash, workspaceGetDatasetStatus, workspaceSetDataset, workspaceSetDatasetByHash, workspaceGetTree, } from './trees.js';
|
|
26
43
|
// Task operations
|
|
27
44
|
export { packageListTasks, packageGetTask, workspaceListTasks, workspaceGetTask, workspaceGetTaskHash, } from './tasks.js';
|
|
28
45
|
// Execution operations
|
|
29
46
|
export {
|
|
30
47
|
// Identity
|
|
31
|
-
inputsHash,
|
|
48
|
+
inputsHash,
|
|
32
49
|
// Status
|
|
33
|
-
executionGet, executionGetOutput, executionListForTask, executionList,
|
|
50
|
+
executionGet, executionGetLatest, executionGetOutput, executionListIds, executionListForTask, executionList,
|
|
51
|
+
// Find current execution for a task in workspace
|
|
52
|
+
executionFindCurrent,
|
|
34
53
|
// Logs
|
|
35
54
|
executionReadLog,
|
|
55
|
+
// Note: LogChunk is exported from './storage/index.js' (aligned interface)
|
|
36
56
|
// Command IR evaluation
|
|
37
|
-
evaluateCommandIr,
|
|
38
|
-
//
|
|
39
|
-
|
|
40
|
-
//
|
|
41
|
-
taskExecute, } from './
|
|
57
|
+
evaluateCommandIr, } from './executions.js';
|
|
58
|
+
// UUID utilities (for execution history)
|
|
59
|
+
export { uuidv7, uuidv7Timestamp, isUuidv7 } from './uuid.js';
|
|
60
|
+
// Local process execution (in execution/ directory)
|
|
61
|
+
export { taskExecute, } from './execution/LocalTaskRunner.js';
|
|
62
|
+
// Process identification helpers (local execution support)
|
|
63
|
+
export { getBootId, getPidStartTime, isProcessAlive, } from './execution/processHelpers.js';
|
|
42
64
|
// Dataflow execution
|
|
43
|
-
export { dataflowExecute, dataflowStart, dataflowGetGraph, } from './dataflow.js';
|
|
44
|
-
//
|
|
45
|
-
export {
|
|
65
|
+
export { dataflowExecute, dataflowStart, dataflowGetGraph, dataflowGetReadyTasks, dataflowCheckCache, dataflowGetDependentsToSkip, dataflowResolveInputHashes, findAffectedTasks, parsePathString, } from './dataflow.js';
|
|
66
|
+
// Resumable dataflow execution
|
|
67
|
+
export {
|
|
68
|
+
// Step functions
|
|
69
|
+
stepInitialize, stepGetReady, stepPrepareTask, stepTaskStarted, stepTaskCompleted, stepTaskFailed, stepTasksSkipped, stepIsComplete, stepFinalize, stepCancel, stepApplyTreeUpdate, stepDetectInputChanges, stepInvalidateTasks, stepCheckVersionConsistency, InMemoryStateStore, FileStateStore, LocalOrchestrator, stateToStatus, coreEventToApiEvent, coreStatusToApiStatus, coreStateToApiState, } from './dataflow/index.js';
|
|
70
|
+
// Workspace locking (in storage/local/)
|
|
71
|
+
export { acquireWorkspaceLock, getWorkspaceLockState, getWorkspaceLockHolder, lockStateToHolderInfo, isLockHolderAlive, workspaceLockPath, } from './storage/local/LocalLockService.js';
|
|
46
72
|
// Workspace status
|
|
47
73
|
export { workspaceStatus, } from './workspaceStatus.js';
|
|
74
|
+
// Dataset refs (reactive dataflow)
|
|
75
|
+
export { checkVersionConsistency, mergeVersionVectors, inputVersionVector, keypathToRefPath, refPathToKeypath, snapshotInputVersions, detectInputChanges, computeRootHash, writeRefsFromTree, writeRefsFromPackage, } from './dataset-refs.js';
|
|
48
76
|
// Errors
|
|
49
77
|
export {
|
|
50
78
|
// Base
|
|
51
79
|
E3Error,
|
|
52
80
|
// Repository
|
|
53
|
-
|
|
81
|
+
RepoNotFoundError, RepoAlreadyExistsError, RepoStatusConflictError,
|
|
54
82
|
// Workspace
|
|
55
83
|
WorkspaceNotFoundError, WorkspaceNotDeployedError, WorkspaceExistsError, WorkspaceLockError,
|
|
56
84
|
// Package
|
|
@@ -62,11 +90,13 @@ TaskNotFoundError,
|
|
|
62
90
|
// Object
|
|
63
91
|
ObjectNotFoundError, ObjectCorruptError,
|
|
64
92
|
// Execution
|
|
65
|
-
ExecutionCorruptError,
|
|
93
|
+
ExecutionCorruptError, ExecutionNotFoundError,
|
|
66
94
|
// Dataflow
|
|
67
95
|
DataflowError, DataflowAbortedError,
|
|
68
96
|
// Generic
|
|
69
97
|
PermissionDeniedError,
|
|
70
98
|
// Helpers
|
|
71
99
|
isNotFoundError, isPermissionError, isExistsError, wrapError, } from './errors.js';
|
|
100
|
+
// Transfer backend
|
|
101
|
+
export * from './transfer/index.js';
|
|
72
102
|
//# sourceMappingURL=index.js.map
|
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;;;;;;GAMG;AAEH,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/objects.d.ts
CHANGED
|
@@ -3,60 +3,17 @@
|
|
|
3
3
|
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* MIME type for BEAST2 binary encoding.
|
|
7
7
|
*/
|
|
8
|
-
export declare
|
|
8
|
+
export declare const BEAST2_CONTENT_TYPE = "application/beast2";
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Calculate SHA256 hash of data.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
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
|
|
19
|
-
*
|
|
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
|
|
27
|
-
*
|
|
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
|
|
32
|
-
*/
|
|
33
|
-
export declare function objectRead(repoPath: string, hash: string): Promise<Uint8Array>;
|
|
34
|
-
/**
|
|
35
|
-
* Check if an object exists in the repository
|
|
12
|
+
* This is the core hashing function used throughout e3 for content addressing.
|
|
13
|
+
* It's storage-agnostic and can be used with any backend.
|
|
36
14
|
*
|
|
37
|
-
* @param
|
|
38
|
-
* @
|
|
39
|
-
* @returns true if object exists
|
|
15
|
+
* @param data - Data to hash
|
|
16
|
+
* @returns SHA256 hash as a hex string
|
|
40
17
|
*/
|
|
41
|
-
export declare function
|
|
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>;
|
|
18
|
+
export declare function computeHash(data: Uint8Array): string;
|
|
62
19
|
//# sourceMappingURL=objects.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../src/objects.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../src/objects.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH;;GAEG;AACH,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AAExD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEpD"}
|
package/dist/src/objects.js
CHANGED
|
@@ -2,244 +2,27 @@
|
|
|
2
2
|
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
3
|
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
|
-
import * as fs from 'fs/promises';
|
|
6
|
-
import * as path from 'path';
|
|
7
|
-
import * as crypto from 'crypto';
|
|
8
|
-
import { Readable } from 'stream';
|
|
9
|
-
import { pipeline } from 'stream/promises';
|
|
10
|
-
import { createWriteStream } from 'fs';
|
|
11
|
-
import { ObjectNotFoundError, isNotFoundError } from './errors.js';
|
|
12
|
-
/**
|
|
13
|
-
* Calculate SHA256 hash of data
|
|
14
|
-
*/
|
|
15
|
-
export function computeHash(data) {
|
|
16
|
-
return crypto.createHash('sha256').update(data).digest('hex');
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Calculate SHA256 hash of a stream
|
|
20
|
-
* @internal
|
|
21
|
-
*/
|
|
22
|
-
async function computeHashFromStream(stream) {
|
|
23
|
-
const hash = crypto.createHash('sha256');
|
|
24
|
-
const chunks = [];
|
|
25
|
-
const reader = stream.getReader();
|
|
26
|
-
while (true) {
|
|
27
|
-
const { done, value } = await reader.read();
|
|
28
|
-
if (done)
|
|
29
|
-
break;
|
|
30
|
-
hash.update(value);
|
|
31
|
-
chunks.push(value);
|
|
32
|
-
}
|
|
33
|
-
return {
|
|
34
|
-
hash: hash.digest('hex'),
|
|
35
|
-
data: chunks,
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
5
|
/**
|
|
39
|
-
*
|
|
6
|
+
* Generic object utilities for e3.
|
|
40
7
|
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* @returns SHA256 hash of the data
|
|
8
|
+
* This module contains only storage-agnostic utilities.
|
|
9
|
+
* Local filesystem operations are in storage/local/LocalObjectStore.ts
|
|
44
10
|
*/
|
|
45
|
-
|
|
46
|
-
const extension = '.beast2';
|
|
47
|
-
const hash = computeHash(data);
|
|
48
|
-
// Split hash: first 2 chars as directory
|
|
49
|
-
const dirName = hash.slice(0, 2);
|
|
50
|
-
const fileName = hash.slice(2) + extension;
|
|
51
|
-
const dirPath = path.join(repoPath, 'objects', dirName);
|
|
52
|
-
const filePath = path.join(dirPath, fileName);
|
|
53
|
-
// Check if already exists
|
|
54
|
-
try {
|
|
55
|
-
await fs.access(filePath);
|
|
56
|
-
return hash; // Already exists
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
// Doesn't exist, continue
|
|
60
|
-
}
|
|
61
|
-
// Create directory if needed
|
|
62
|
-
await fs.mkdir(dirPath, { recursive: true });
|
|
63
|
-
// Write atomically: stage in same directory (same filesystem) + rename
|
|
64
|
-
// Staging files use .partial extension; gc can clean up any orphaned ones
|
|
65
|
-
// Use random suffix to avoid collisions with concurrent writes
|
|
66
|
-
const randomSuffix = Math.random().toString(36).slice(2, 10);
|
|
67
|
-
const stagingPath = path.join(dirPath, `${fileName}.${Date.now()}.${randomSuffix}.partial`);
|
|
68
|
-
await fs.writeFile(stagingPath, data);
|
|
69
|
-
try {
|
|
70
|
-
await fs.rename(stagingPath, filePath);
|
|
71
|
-
}
|
|
72
|
-
catch (err) {
|
|
73
|
-
// If rename fails because target exists (concurrent write won), that's fine
|
|
74
|
-
// Clean up our staging file
|
|
75
|
-
try {
|
|
76
|
-
await fs.unlink(stagingPath);
|
|
77
|
-
}
|
|
78
|
-
catch {
|
|
79
|
-
// Ignore cleanup errors
|
|
80
|
-
}
|
|
81
|
-
// Verify the file exists (another writer should have created it)
|
|
82
|
-
try {
|
|
83
|
-
await fs.access(filePath);
|
|
84
|
-
}
|
|
85
|
-
catch {
|
|
86
|
-
// File doesn't exist and rename failed - re-throw original error
|
|
87
|
-
throw err;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return hash;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Atomically write a stream to the repository
|
|
94
|
-
*
|
|
95
|
-
* @param repoPath - Path to .e3 repository
|
|
96
|
-
* @param stream - Stream to store
|
|
97
|
-
* @returns SHA256 hash of the data
|
|
98
|
-
*/
|
|
99
|
-
export async function objectWriteStream(repoPath, stream) {
|
|
100
|
-
const extension = '.beast2';
|
|
101
|
-
// First pass: compute hash while collecting data
|
|
102
|
-
const { hash, data } = await computeHashFromStream(stream);
|
|
103
|
-
// Split hash: first 2 chars as directory
|
|
104
|
-
const dirName = hash.slice(0, 2);
|
|
105
|
-
const fileName = hash.slice(2) + extension;
|
|
106
|
-
const dirPath = path.join(repoPath, 'objects', dirName);
|
|
107
|
-
const filePath = path.join(dirPath, fileName);
|
|
108
|
-
// Check if already exists
|
|
109
|
-
try {
|
|
110
|
-
await fs.access(filePath);
|
|
111
|
-
return hash; // Already exists
|
|
112
|
-
}
|
|
113
|
-
catch {
|
|
114
|
-
// Doesn't exist, continue
|
|
115
|
-
}
|
|
116
|
-
// Create directory if needed
|
|
117
|
-
await fs.mkdir(dirPath, { recursive: true });
|
|
118
|
-
// Write atomically: stage in same directory (same filesystem) + rename
|
|
119
|
-
// Staging files use .partial extension; gc can clean up any orphaned ones
|
|
120
|
-
// Use random suffix to avoid collisions with concurrent writes
|
|
121
|
-
const randomSuffix = Math.random().toString(36).slice(2, 10);
|
|
122
|
-
const stagingPath = path.join(dirPath, `${fileName}.${Date.now()}.${randomSuffix}.partial`);
|
|
123
|
-
// Reconstruct stream from collected chunks
|
|
124
|
-
const nodeStream = Readable.from(data);
|
|
125
|
-
const writeStream = createWriteStream(stagingPath);
|
|
126
|
-
await pipeline(nodeStream, writeStream);
|
|
127
|
-
try {
|
|
128
|
-
await fs.rename(stagingPath, filePath);
|
|
129
|
-
}
|
|
130
|
-
catch (err) {
|
|
131
|
-
// If rename fails because target exists (concurrent write won), that's fine
|
|
132
|
-
// Clean up our staging file
|
|
133
|
-
try {
|
|
134
|
-
await fs.unlink(stagingPath);
|
|
135
|
-
}
|
|
136
|
-
catch {
|
|
137
|
-
// Ignore cleanup errors
|
|
138
|
-
}
|
|
139
|
-
// Verify the file exists (another writer should have created it)
|
|
140
|
-
try {
|
|
141
|
-
await fs.access(filePath);
|
|
142
|
-
}
|
|
143
|
-
catch {
|
|
144
|
-
// File doesn't exist and rename failed - re-throw original error
|
|
145
|
-
throw err;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
return hash;
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Read an object from the repository
|
|
152
|
-
*
|
|
153
|
-
* @param repoPath - Path to .e3 repository
|
|
154
|
-
* @param hash - SHA256 hash of the object
|
|
155
|
-
* @returns Object data
|
|
156
|
-
* @throws {ObjectNotFoundError} If object not found
|
|
157
|
-
*/
|
|
158
|
-
export async function objectRead(repoPath, hash) {
|
|
159
|
-
const extension = '.beast2';
|
|
160
|
-
const dirName = hash.slice(0, 2);
|
|
161
|
-
const fileName = hash.slice(2) + extension;
|
|
162
|
-
const filePath = path.join(repoPath, 'objects', dirName, fileName);
|
|
163
|
-
try {
|
|
164
|
-
return await fs.readFile(filePath);
|
|
165
|
-
}
|
|
166
|
-
catch (err) {
|
|
167
|
-
if (isNotFoundError(err)) {
|
|
168
|
-
throw new ObjectNotFoundError(hash);
|
|
169
|
-
}
|
|
170
|
-
throw err;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
/**
|
|
174
|
-
* Check if an object exists in the repository
|
|
175
|
-
*
|
|
176
|
-
* @param repoPath - Path to .e3 repository
|
|
177
|
-
* @param hash - SHA256 hash of the object
|
|
178
|
-
* @returns true if object exists
|
|
179
|
-
*/
|
|
180
|
-
export async function objectExists(repoPath, hash) {
|
|
181
|
-
const filePath = objectPath(repoPath, hash);
|
|
182
|
-
try {
|
|
183
|
-
await fs.access(filePath);
|
|
184
|
-
return true;
|
|
185
|
-
}
|
|
186
|
-
catch {
|
|
187
|
-
return false;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
11
|
+
import * as crypto from 'crypto';
|
|
190
12
|
/**
|
|
191
|
-
*
|
|
192
|
-
*
|
|
193
|
-
* @param repoPath - Path to .e3 repository
|
|
194
|
-
* @param hash - SHA256 hash of the object
|
|
195
|
-
* @returns Filesystem path: objects/<hash[0..2]>/<hash[2..]>.beast2
|
|
13
|
+
* MIME type for BEAST2 binary encoding.
|
|
196
14
|
*/
|
|
197
|
-
export
|
|
198
|
-
const dirName = hash.slice(0, 2);
|
|
199
|
-
const fileName = hash.slice(2) + '.beast2';
|
|
200
|
-
return path.join(repoPath, 'objects', dirName, fileName);
|
|
201
|
-
}
|
|
15
|
+
export const BEAST2_CONTENT_TYPE = 'application/beast2';
|
|
202
16
|
/**
|
|
203
|
-
*
|
|
17
|
+
* Calculate SHA256 hash of data.
|
|
204
18
|
*
|
|
205
|
-
*
|
|
206
|
-
*
|
|
19
|
+
* This is the core hashing function used throughout e3 for content addressing.
|
|
20
|
+
* It's storage-agnostic and can be used with any backend.
|
|
207
21
|
*
|
|
208
|
-
* @param
|
|
209
|
-
* @
|
|
210
|
-
* @param minLength - Minimum prefix length to return (default: 4)
|
|
211
|
-
* @returns Minimum unambiguous prefix length
|
|
22
|
+
* @param data - Data to hash
|
|
23
|
+
* @returns SHA256 hash as a hex string
|
|
212
24
|
*/
|
|
213
|
-
export
|
|
214
|
-
|
|
215
|
-
const targetPrefix = hash.slice(0, 2);
|
|
216
|
-
// Collect all hashes that share the same 2-char prefix directory
|
|
217
|
-
const hashes = [];
|
|
218
|
-
try {
|
|
219
|
-
const dirPath = path.join(objectsDir, targetPrefix);
|
|
220
|
-
const entries = await fs.readdir(dirPath);
|
|
221
|
-
for (const entry of entries) {
|
|
222
|
-
if (entry.endsWith('.beast2') && !entry.includes('.partial')) {
|
|
223
|
-
// Reconstruct full hash: dir prefix + filename without extension
|
|
224
|
-
const fullHash = targetPrefix + entry.slice(0, -7); // remove '.beast2'
|
|
225
|
-
hashes.push(fullHash);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
catch {
|
|
230
|
-
// Directory doesn't exist - hash is unique at minimum length
|
|
231
|
-
return minLength;
|
|
232
|
-
}
|
|
233
|
-
// Find minimum length that disambiguates from all other hashes
|
|
234
|
-
let length = minLength;
|
|
235
|
-
while (length < hash.length) {
|
|
236
|
-
const prefix = hash.slice(0, length);
|
|
237
|
-
const conflicts = hashes.filter((h) => h !== hash && h.startsWith(prefix));
|
|
238
|
-
if (conflicts.length === 0) {
|
|
239
|
-
return length;
|
|
240
|
-
}
|
|
241
|
-
length++;
|
|
242
|
-
}
|
|
243
|
-
return hash.length;
|
|
25
|
+
export function computeHash(data) {
|
|
26
|
+
return crypto.createHash('sha256').update(data).digest('hex');
|
|
244
27
|
}
|
|
245
28
|
//# sourceMappingURL=objects.js.map
|
package/dist/src/objects.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/objects.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH
|
|
1
|
+
{"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/objects.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAAC,IAAgB;IAC1C,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
|