@elaraai/e3-core 0.0.2-beta.11 → 0.0.2-beta.13

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 (95) hide show
  1. package/dist/src/dataflow.d.ts +118 -9
  2. package/dist/src/dataflow.d.ts.map +1 -1
  3. package/dist/src/dataflow.js +283 -54
  4. package/dist/src/dataflow.js.map +1 -1
  5. package/dist/src/errors.d.ts +11 -6
  6. package/dist/src/errors.d.ts.map +1 -1
  7. package/dist/src/errors.js +10 -3
  8. package/dist/src/errors.js.map +1 -1
  9. package/dist/src/execution/index.d.ts +14 -0
  10. package/dist/src/execution/index.d.ts.map +1 -0
  11. package/dist/src/execution/index.js +6 -0
  12. package/dist/src/execution/index.js.map +1 -0
  13. package/dist/src/execution/interfaces.d.ts +244 -0
  14. package/dist/src/execution/interfaces.d.ts.map +1 -0
  15. package/dist/src/execution/interfaces.js +6 -0
  16. package/dist/src/execution/interfaces.js.map +1 -0
  17. package/dist/src/executions.d.ts +48 -38
  18. package/dist/src/executions.d.ts.map +1 -1
  19. package/dist/src/executions.js +117 -162
  20. package/dist/src/executions.js.map +1 -1
  21. package/dist/src/gc.d.ts +9 -2
  22. package/dist/src/gc.d.ts.map +1 -1
  23. package/dist/src/gc.js +19 -9
  24. package/dist/src/gc.js.map +1 -1
  25. package/dist/src/index.d.ts +8 -6
  26. package/dist/src/index.d.ts.map +1 -1
  27. package/dist/src/index.js +22 -5
  28. package/dist/src/index.js.map +1 -1
  29. package/dist/src/objects.d.ts +6 -6
  30. package/dist/src/objects.js +6 -6
  31. package/dist/src/packages.d.ts +22 -14
  32. package/dist/src/packages.d.ts.map +1 -1
  33. package/dist/src/packages.js +45 -79
  34. package/dist/src/packages.js.map +1 -1
  35. package/dist/src/repository.d.ts +8 -4
  36. package/dist/src/repository.d.ts.map +1 -1
  37. package/dist/src/repository.js +25 -29
  38. package/dist/src/repository.js.map +1 -1
  39. package/dist/src/storage/index.d.ts +17 -0
  40. package/dist/src/storage/index.d.ts.map +1 -0
  41. package/dist/src/storage/index.js +8 -0
  42. package/dist/src/storage/index.js.map +1 -0
  43. package/dist/src/storage/interfaces.d.ts +299 -0
  44. package/dist/src/storage/interfaces.d.ts.map +1 -0
  45. package/dist/src/storage/interfaces.js +6 -0
  46. package/dist/src/storage/interfaces.js.map +1 -0
  47. package/dist/src/storage/local/LocalBackend.d.ts +51 -0
  48. package/dist/src/storage/local/LocalBackend.d.ts.map +1 -0
  49. package/dist/src/storage/local/LocalBackend.js +73 -0
  50. package/dist/src/storage/local/LocalBackend.js.map +1 -0
  51. package/dist/src/storage/local/LocalLockService.d.ts +22 -0
  52. package/dist/src/storage/local/LocalLockService.d.ts.map +1 -0
  53. package/dist/src/storage/local/LocalLockService.js +38 -0
  54. package/dist/src/storage/local/LocalLockService.js.map +1 -0
  55. package/dist/src/storage/local/LocalLogStore.d.ts +23 -0
  56. package/dist/src/storage/local/LocalLogStore.d.ts.map +1 -0
  57. package/dist/src/storage/local/LocalLogStore.js +66 -0
  58. package/dist/src/storage/local/LocalLogStore.js.map +1 -0
  59. package/dist/src/storage/local/LocalObjectStore.d.ts +19 -0
  60. package/dist/src/storage/local/LocalObjectStore.d.ts.map +1 -0
  61. package/dist/src/storage/local/LocalObjectStore.js +68 -0
  62. package/dist/src/storage/local/LocalObjectStore.js.map +1 -0
  63. package/dist/src/storage/local/LocalRefStore.d.ts +35 -0
  64. package/dist/src/storage/local/LocalRefStore.d.ts.map +1 -0
  65. package/dist/src/storage/local/LocalRefStore.js +233 -0
  66. package/dist/src/storage/local/LocalRefStore.js.map +1 -0
  67. package/dist/src/storage/local/index.d.ts +16 -0
  68. package/dist/src/storage/local/index.d.ts.map +1 -0
  69. package/dist/src/storage/local/index.js +16 -0
  70. package/dist/src/storage/local/index.js.map +1 -0
  71. package/dist/src/tasks.d.ts +16 -10
  72. package/dist/src/tasks.d.ts.map +1 -1
  73. package/dist/src/tasks.js +35 -41
  74. package/dist/src/tasks.js.map +1 -1
  75. package/dist/src/test-helpers.d.ts +4 -4
  76. package/dist/src/test-helpers.d.ts.map +1 -1
  77. package/dist/src/test-helpers.js +6 -20
  78. package/dist/src/test-helpers.js.map +1 -1
  79. package/dist/src/trees.d.ts +41 -29
  80. package/dist/src/trees.d.ts.map +1 -1
  81. package/dist/src/trees.js +112 -109
  82. package/dist/src/trees.js.map +1 -1
  83. package/dist/src/workspaceLock.d.ts +29 -7
  84. package/dist/src/workspaceLock.d.ts.map +1 -1
  85. package/dist/src/workspaceLock.js +130 -40
  86. package/dist/src/workspaceLock.js.map +1 -1
  87. package/dist/src/workspaceStatus.d.ts +6 -4
  88. package/dist/src/workspaceStatus.d.ts.map +1 -1
  89. package/dist/src/workspaceStatus.js +42 -58
  90. package/dist/src/workspaceStatus.js.map +1 -1
  91. package/dist/src/workspaces.d.ts +35 -26
  92. package/dist/src/workspaces.d.ts.map +1 -1
  93. package/dist/src/workspaces.js +93 -116
  94. package/dist/src/workspaces.js.map +1 -1
  95. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"packages.js","sourceRoot":"","sources":["../../src/packages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packages.js","sourceRoot":"","sources":["../../src/packages.ts"],"names":[],"mappings":"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"}
@@ -7,28 +7,32 @@
7
7
  */
8
8
  export interface InitRepositoryResult {
9
9
  success: boolean;
10
- e3Dir: string;
10
+ repoPath: string;
11
11
  error?: Error;
12
12
  alreadyExists?: boolean;
13
13
  }
14
14
  /**
15
15
  * Initialize a new e3 repository
16
16
  *
17
- * Creates:
17
+ * Creates the repository directory structure:
18
18
  * - objects/
19
19
  * - packages/
20
20
  * - executions/
21
21
  * - workspaces/
22
22
  *
23
+ * The repository IS the specified directory - subdirectories are created directly within it.
24
+ *
23
25
  * Pure business logic - no UI dependencies
24
26
  */
25
27
  export declare function repoInit(repoPath: string): InitRepositoryResult;
26
28
  /**
27
29
  * Find the e3 repository directory
28
30
  *
29
- * Searches:
31
+ * Checks:
30
32
  * 1. E3_REPO environment variable
31
- * 2. Current directory and parents (like git)
33
+ * 2. The provided startPath (if given)
34
+ *
35
+ * Returns null if no valid repository is found.
32
36
  */
33
37
  export declare function repoFind(startPath?: string): string | null;
34
38
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAyC/D;AAYD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA0B1D;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAQjD"}
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/repository.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,CAwC/D;AAYD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkB1D;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAQjD"}
@@ -7,46 +7,47 @@ import * as path from 'path';
7
7
  /**
8
8
  * Initialize a new e3 repository
9
9
  *
10
- * Creates:
10
+ * Creates the repository directory structure:
11
11
  * - objects/
12
12
  * - packages/
13
13
  * - executions/
14
14
  * - workspaces/
15
15
  *
16
+ * The repository IS the specified directory - subdirectories are created directly within it.
17
+ *
16
18
  * Pure business logic - no UI dependencies
17
19
  */
18
20
  export function repoInit(repoPath) {
19
21
  const targetPath = path.resolve(repoPath);
20
- const e3Dir = path.join(targetPath, '.e3');
21
- // Check if .e3 already exists
22
- if (fs.existsSync(e3Dir)) {
22
+ // Check if directory already is a valid repository
23
+ if (isValidRepository(targetPath)) {
23
24
  return {
24
25
  success: false,
25
- e3Dir,
26
+ repoPath: targetPath,
26
27
  alreadyExists: true,
27
- error: new Error(`e3 repository already exists at ${e3Dir}`),
28
+ error: new Error(`e3 repository already exists at ${targetPath}`),
28
29
  };
29
30
  }
30
31
  try {
31
- // Create main .e3 directory
32
- fs.mkdirSync(e3Dir, { recursive: true });
32
+ // Create the repository directory if it doesn't exist
33
+ fs.mkdirSync(targetPath, { recursive: true });
33
34
  // Create objects directory (content-addressed storage)
34
- fs.mkdirSync(path.join(e3Dir, 'objects'), { recursive: true });
35
+ fs.mkdirSync(path.join(targetPath, 'objects'), { recursive: true });
35
36
  // Create packages directory (package refs: packages/<name>/<version> -> hash)
36
- fs.mkdirSync(path.join(e3Dir, 'packages'), { recursive: true });
37
+ fs.mkdirSync(path.join(targetPath, 'packages'), { recursive: true });
37
38
  // Create executions directory (execution cache: executions/<hash>/output -> hash)
38
- fs.mkdirSync(path.join(e3Dir, 'executions'), { recursive: true });
39
+ fs.mkdirSync(path.join(targetPath, 'executions'), { recursive: true });
39
40
  // Create workspaces directory (workspace state)
40
- fs.mkdirSync(path.join(e3Dir, 'workspaces'), { recursive: true });
41
+ fs.mkdirSync(path.join(targetPath, 'workspaces'), { recursive: true });
41
42
  return {
42
43
  success: true,
43
- e3Dir,
44
+ repoPath: targetPath,
44
45
  };
45
46
  }
46
47
  catch (error) {
47
48
  return {
48
49
  success: false,
49
- e3Dir,
50
+ repoPath: targetPath,
50
51
  error: error instanceof Error ? error : new Error(String(error)),
51
52
  };
52
53
  }
@@ -62,9 +63,11 @@ function isValidRepository(repoPath) {
62
63
  /**
63
64
  * Find the e3 repository directory
64
65
  *
65
- * Searches:
66
+ * Checks:
66
67
  * 1. E3_REPO environment variable
67
- * 2. Current directory and parents (like git)
68
+ * 2. The provided startPath (if given)
69
+ *
70
+ * Returns null if no valid repository is found.
68
71
  */
69
72
  export function repoFind(startPath) {
70
73
  // 1. Check E3_REPO environment variable
@@ -74,19 +77,12 @@ export function repoFind(startPath) {
74
77
  return repoPath;
75
78
  }
76
79
  }
77
- // 2. Check current directory and parents
78
- let currentDir = startPath !== undefined ? path.resolve(startPath) : process.cwd();
79
- while (true) {
80
- const e3Dir = path.join(currentDir, '.e3');
81
- if (fs.existsSync(e3Dir) && isValidRepository(e3Dir)) {
82
- return e3Dir;
83
- }
84
- const parentDir = path.dirname(currentDir);
85
- if (parentDir === currentDir) {
86
- // Reached root
87
- break;
80
+ // 2. Check the provided path
81
+ if (startPath !== undefined) {
82
+ const repoPath = path.resolve(startPath);
83
+ if (fs.existsSync(repoPath) && isValidRepository(repoPath)) {
84
+ return repoPath;
88
85
  }
89
- currentDir = parentDir;
90
86
  }
91
87
  return null;
92
88
  }
@@ -96,7 +92,7 @@ export function repoFind(startPath) {
96
92
  export function repoGet(repoPath) {
97
93
  const repo = repoFind(repoPath);
98
94
  if (!repo) {
99
- throw new Error('e3 repository not found. Run `e3 init` to create one.');
95
+ throw new Error('e3 repository not found. Run `e3 repo create` to create one.');
100
96
  }
101
97
  return repo;
102
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Storage abstraction layer for e3 repositories.
7
+ *
8
+ * This module provides interfaces that enable e3-core logic to work against
9
+ * different storage backends:
10
+ * - LocalBackend: Filesystem (default, for CLI and local dev)
11
+ * - EfsBackend: AWS EFS (for Lambda/Fargate cloud deployment)
12
+ * - S3DynamoBackend: S3 + DynamoDB (future optimization)
13
+ */
14
+ export { type ObjectStore, type RefStore, type LockHandle, type LockService, type LockState, type LockOperation, type LockHolderInfo, type LogChunk, type LogStore, type StorageBackend, } from './interfaces.js';
15
+ export { LocalStorage, LocalBackend, // Backwards compatibility alias for LocalStorage
16
+ LocalObjectStore, LocalRefStore, LocalLockService, LocalLogStore, } from './local/index.js';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;GAQG;AAGH,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,QAAQ,EAEb,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,cAAc,EAEnB,KAAK,QAAQ,EACb,KAAK,QAAQ,EAEb,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,YAAY,EACZ,YAAY,EAAG,iDAAiD;AAChE,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,aAAa,GACd,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ // Local filesystem implementation
6
+ export { LocalStorage, LocalBackend, // Backwards compatibility alias for LocalStorage
7
+ LocalObjectStore, LocalRefStore, LocalLockService, LocalLogStore, } from './local/index.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+BH,kCAAkC;AAClC,OAAO,EACL,YAAY,EACZ,YAAY,EAAG,iDAAiD;AAChE,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,aAAa,GACd,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,299 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ /**
6
+ * Storage abstraction interfaces for e3 repositories.
7
+ *
8
+ * These interfaces enable e3-core logic to work against different backends:
9
+ * - LocalBackend: Filesystem (default, for CLI and local dev)
10
+ * - EfsBackend: AWS EFS (for Lambda/Fargate cloud deployment)
11
+ * - S3DynamoBackend: S3 + DynamoDB (future optimization)
12
+ *
13
+ * The core insight: e3-core business logic is storage-agnostic. By injecting
14
+ * a StorageBackend, the same code can run locally or in the cloud.
15
+ */
16
+ import type { ExecutionStatus, LockState, LockOperation } from '@elaraai/e3-types';
17
+ import type { LockHolderInfo } from '../errors.js';
18
+ export type { LockState, LockOperation, LockHolderInfo };
19
+ /**
20
+ * Content-addressed object storage.
21
+ *
22
+ * Objects are immutable and identified by their SHA256 hash.
23
+ * The store handles deduplication automatically.
24
+ *
25
+ * All methods take `repo` as first parameter to identify the repository.
26
+ * For local storage, `repo` is the path to the e3 repository directory.
27
+ * For cloud storage, `repo` is a repository identifier used as a key prefix.
28
+ */
29
+ export interface ObjectStore {
30
+ /**
31
+ * Write data to the object store.
32
+ * @param repo - Repository identifier
33
+ * @param data - Raw bytes to store
34
+ * @returns SHA256 hash of the data
35
+ */
36
+ write(repo: string, data: Uint8Array): Promise<string>;
37
+ /**
38
+ * Write data from a stream to the object store.
39
+ * @param repo - Repository identifier
40
+ * @param stream - Async iterable of chunks
41
+ * @returns SHA256 hash of the data
42
+ */
43
+ writeStream(repo: string, stream: AsyncIterable<Uint8Array>): Promise<string>;
44
+ /**
45
+ * Read an object by hash.
46
+ * @param repo - Repository identifier
47
+ * @param hash - SHA256 hash of the object
48
+ * @returns Raw bytes
49
+ * @throws {ObjectNotFoundError} If object doesn't exist
50
+ */
51
+ read(repo: string, hash: string): Promise<Uint8Array>;
52
+ /**
53
+ * Check if an object exists.
54
+ * @param repo - Repository identifier
55
+ * @param hash - SHA256 hash of the object
56
+ * @returns true if object exists
57
+ */
58
+ exists(repo: string, hash: string): Promise<boolean>;
59
+ /**
60
+ * List all object hashes in the store.
61
+ * Used for garbage collection.
62
+ * @param repo - Repository identifier
63
+ * @returns Array of hashes
64
+ */
65
+ list(repo: string): Promise<string[]>;
66
+ }
67
+ /**
68
+ * Mutable reference storage for packages, workspaces, and executions.
69
+ *
70
+ * Unlike objects, references can be updated and deleted.
71
+ * All methods take `repo` as first parameter to identify the repository.
72
+ */
73
+ export interface RefStore {
74
+ /**
75
+ * List all packages with their versions.
76
+ * @param repo - Repository identifier
77
+ * @returns Array of {name, version} pairs
78
+ */
79
+ packageList(repo: string): Promise<{
80
+ name: string;
81
+ version: string;
82
+ }[]>;
83
+ /**
84
+ * Resolve a package reference to its hash.
85
+ * @param repo - Repository identifier
86
+ * @param name - Package name
87
+ * @param version - Package version
88
+ * @returns Package object hash, or null if not found
89
+ */
90
+ packageResolve(repo: string, name: string, version: string): Promise<string | null>;
91
+ /**
92
+ * Write a package reference.
93
+ * @param repo - Repository identifier
94
+ * @param name - Package name
95
+ * @param version - Package version
96
+ * @param hash - Package object hash
97
+ */
98
+ packageWrite(repo: string, name: string, version: string, hash: string): Promise<void>;
99
+ /**
100
+ * Remove a package reference.
101
+ * @param repo - Repository identifier
102
+ * @param name - Package name
103
+ * @param version - Package version
104
+ */
105
+ packageRemove(repo: string, name: string, version: string): Promise<void>;
106
+ /**
107
+ * List all workspace names.
108
+ * @param repo - Repository identifier
109
+ * @returns Array of workspace names
110
+ */
111
+ workspaceList(repo: string): Promise<string[]>;
112
+ /**
113
+ * Read workspace state.
114
+ * @param repo - Repository identifier
115
+ * @param name - Workspace name
116
+ * @returns Encoded workspace state, or null if not found
117
+ */
118
+ workspaceRead(repo: string, name: string): Promise<Uint8Array | null>;
119
+ /**
120
+ * Write workspace state.
121
+ * @param repo - Repository identifier
122
+ * @param name - Workspace name
123
+ * @param state - Encoded workspace state (empty = undeployed)
124
+ */
125
+ workspaceWrite(repo: string, name: string, state: Uint8Array): Promise<void>;
126
+ /**
127
+ * Remove a workspace.
128
+ * @param repo - Repository identifier
129
+ * @param name - Workspace name
130
+ */
131
+ workspaceRemove(repo: string, name: string): Promise<void>;
132
+ /**
133
+ * Get execution status.
134
+ * @param repo - Repository identifier
135
+ * @param taskHash - Task object hash
136
+ * @param inputsHash - Combined input hashes
137
+ * @returns ExecutionStatus or null if not found
138
+ */
139
+ executionGet(repo: string, taskHash: string, inputsHash: string): Promise<ExecutionStatus | null>;
140
+ /**
141
+ * Write execution status.
142
+ * @param repo - Repository identifier
143
+ * @param taskHash - Task object hash
144
+ * @param inputsHash - Combined input hashes
145
+ * @param status - Execution status
146
+ */
147
+ executionWrite(repo: string, taskHash: string, inputsHash: string, status: ExecutionStatus): Promise<void>;
148
+ /**
149
+ * Get execution output hash.
150
+ * @param repo - Repository identifier
151
+ * @param taskHash - Task object hash
152
+ * @param inputsHash - Combined input hashes
153
+ * @returns Output hash or null if not available
154
+ */
155
+ executionGetOutput(repo: string, taskHash: string, inputsHash: string): Promise<string | null>;
156
+ /**
157
+ * Write execution output hash.
158
+ * @param repo - Repository identifier
159
+ * @param taskHash - Task object hash
160
+ * @param inputsHash - Combined input hashes
161
+ * @param outputHash - Output object hash
162
+ */
163
+ executionWriteOutput(repo: string, taskHash: string, inputsHash: string, outputHash: string): Promise<void>;
164
+ /**
165
+ * List all executions.
166
+ * @param repo - Repository identifier
167
+ * @returns Array of {taskHash, inputsHash} pairs
168
+ */
169
+ executionList(repo: string): Promise<{
170
+ taskHash: string;
171
+ inputsHash: string;
172
+ }[]>;
173
+ /**
174
+ * List executions for a specific task.
175
+ * @param repo - Repository identifier
176
+ * @param taskHash - Task object hash
177
+ * @returns Array of inputsHash values
178
+ */
179
+ executionListForTask(repo: string, taskHash: string): Promise<string[]>;
180
+ }
181
+ /**
182
+ * Handle to a held lock.
183
+ */
184
+ export interface LockHandle {
185
+ /** The resource this lock is for */
186
+ readonly resource: string;
187
+ /** Release the lock. Safe to call multiple times. */
188
+ release(): Promise<void>;
189
+ }
190
+ /**
191
+ * Distributed locking service for exclusive access.
192
+ *
193
+ * Used to prevent concurrent modifications to workspaces.
194
+ * The lock state is stored using the LockState type from e3-types,
195
+ * enabling cloud implementations to extend the holder variants.
196
+ * All methods (except isHolderAlive) take `repo` as first parameter.
197
+ */
198
+ export interface LockService {
199
+ /**
200
+ * Acquire an exclusive lock on a resource.
201
+ *
202
+ * The implementation gathers holder information (process ID for local,
203
+ * request ID for Lambda, etc.) and writes the lock state.
204
+ *
205
+ * @param repo - Repository identifier
206
+ * @param resource - Resource identifier (e.g., "workspaces/production")
207
+ * @param operation - What operation is acquiring the lock
208
+ * @param options - Lock options
209
+ * @returns Lock handle, or null if lock couldn't be acquired
210
+ */
211
+ acquire(repo: string, resource: string, operation: LockOperation, options?: {
212
+ wait?: boolean;
213
+ timeout?: number;
214
+ }): Promise<LockHandle | null>;
215
+ /**
216
+ * Get the current lock state.
217
+ * @param repo - Repository identifier
218
+ * @param resource - Resource identifier
219
+ * @returns Lock state, or null if not locked
220
+ */
221
+ getState(repo: string, resource: string): Promise<LockState | null>;
222
+ /**
223
+ * Check if a lock holder is still alive.
224
+ *
225
+ * For local process locks, checks if the PID is still running.
226
+ * For cloud locks, checks expiry or queries the cloud service.
227
+ *
228
+ * @param holder - East text-encoded holder string from LockState
229
+ * @returns true if the holder is still active
230
+ */
231
+ isHolderAlive(holder: string): Promise<boolean>;
232
+ }
233
+ /**
234
+ * A chunk of log output.
235
+ */
236
+ export interface LogChunk {
237
+ /** Log content (UTF-8) */
238
+ data: string;
239
+ /** Byte offset of this chunk */
240
+ offset: number;
241
+ /** Bytes in this chunk */
242
+ size: number;
243
+ /** Total log file size (for pagination) */
244
+ totalSize: number;
245
+ /** True if this is the end of the file */
246
+ complete: boolean;
247
+ }
248
+ /**
249
+ * Log storage for execution stdout/stderr.
250
+ * All methods take `repo` as first parameter to identify the repository.
251
+ */
252
+ export interface LogStore {
253
+ /**
254
+ * Append data to a log stream.
255
+ * @param repo - Repository identifier
256
+ * @param taskHash - Task object hash
257
+ * @param inputsHash - Combined input hashes
258
+ * @param stream - 'stdout' or 'stderr'
259
+ * @param data - Data to append
260
+ */
261
+ append(repo: string, taskHash: string, inputsHash: string, stream: 'stdout' | 'stderr', data: string): Promise<void>;
262
+ /**
263
+ * Read from a log stream.
264
+ * @param repo - Repository identifier
265
+ * @param taskHash - Task object hash
266
+ * @param inputsHash - Combined input hashes
267
+ * @param stream - 'stdout' or 'stderr'
268
+ * @param options - Read options
269
+ * @returns Log chunk
270
+ */
271
+ read(repo: string, taskHash: string, inputsHash: string, stream: 'stdout' | 'stderr', options?: {
272
+ offset?: number;
273
+ limit?: number;
274
+ }): Promise<LogChunk>;
275
+ }
276
+ /**
277
+ * Complete storage backend combining all storage interfaces.
278
+ *
279
+ * This is the main abstraction point for e3-core. Functions receive a
280
+ * StorageBackend instead of a repoPath, allowing the same logic to work
281
+ * against different storage implementations.
282
+ */
283
+ export interface StorageBackend {
284
+ /** Content-addressed object storage */
285
+ readonly objects: ObjectStore;
286
+ /** Mutable reference storage */
287
+ readonly refs: RefStore;
288
+ /** Distributed locking service */
289
+ readonly locks: LockService;
290
+ /** Execution log storage */
291
+ readonly logs: LogStore;
292
+ /**
293
+ * Validate that a repository exists and is properly structured.
294
+ * @param repo - Repository identifier (path to e3 repository directory for local storage)
295
+ * @throws {RepositoryNotFoundError} If repository doesn't exist or is invalid
296
+ */
297
+ validateRepository(repo: string): Promise<void>;
298
+ }
299
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/storage/interfaces.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=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/storage/interfaces.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Licensed under BSL 1.1. See LICENSE for details.
4
+ */
5
+ import type { StorageBackend, ObjectStore, RefStore, LockService, LogStore } from '../interfaces.js';
6
+ /**
7
+ * Local filesystem implementation of StorageBackend.
8
+ *
9
+ * This combines the local implementations of all storage interfaces,
10
+ * providing a complete backend for local e3 repositories.
11
+ *
12
+ * The `repo` parameter passed to each method is the path to the e3 repository directory.
13
+ * This allows a single LocalStorage instance to be used for multiple repositories.
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * import { LocalStorage } from '@elaraai/e3-core';
18
+ *
19
+ * const storage = new LocalStorage();
20
+ * const repo = '/path/to/repo';
21
+ *
22
+ * // Use the backend with storage-agnostic functions
23
+ * const hash = await storage.objects.write(repo, data);
24
+ * const packages = await storage.refs.packageList(repo);
25
+ * ```
26
+ */
27
+ export declare class LocalStorage implements StorageBackend {
28
+ /** Content-addressed object storage */
29
+ readonly objects: ObjectStore;
30
+ /** Mutable reference storage */
31
+ readonly refs: RefStore;
32
+ /** Distributed locking service */
33
+ readonly locks: LockService;
34
+ /** Execution log storage */
35
+ readonly logs: LogStore;
36
+ /**
37
+ * Create a new LocalStorage instance.
38
+ *
39
+ * No configuration needed - the `repo` parameter (path to e3 repository directory)
40
+ * is passed to each method call instead.
41
+ */
42
+ constructor();
43
+ /**
44
+ * Validate that a repository exists and is properly structured.
45
+ * @param repo - Path to the e3 repository directory
46
+ * @throws {RepositoryNotFoundError} If repository doesn't exist or is invalid
47
+ */
48
+ validateRepository(repo: string): Promise<void>;
49
+ }
50
+ export { LocalStorage as LocalBackend };
51
+ //# sourceMappingURL=LocalBackend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalBackend.d.ts","sourceRoot":"","sources":["../../../../src/storage/local/LocalBackend.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAOrG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,YAAa,YAAW,cAAc;IACjD,uCAAuC;IACvC,SAAgB,OAAO,EAAE,WAAW,CAAC;IAErC,gCAAgC;IAChC,SAAgB,IAAI,EAAE,QAAQ,CAAC;IAE/B,kCAAkC;IAClC,SAAgB,KAAK,EAAE,WAAW,CAAC;IAEnC,4BAA4B;IAC5B,SAAgB,IAAI,EAAE,QAAQ,CAAC;IAE/B;;;;;OAKG;;IAQH;;;;OAIG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAUtD;AAGD,OAAO,EAAE,YAAY,IAAI,YAAY,EAAE,CAAC"}