@elaraai/e3-cli 0.0.2-beta.9 → 1.0.0

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 (135) hide show
  1. package/LICENSE.md +4 -0
  2. package/README.md +169 -46
  3. package/dist/src/cli.js +197 -73
  4. package/dist/src/cli.js.map +1 -1
  5. package/dist/src/commands/auth.d.ts +23 -0
  6. package/dist/src/commands/auth.d.ts.map +1 -0
  7. package/dist/src/commands/auth.js +200 -0
  8. package/dist/src/commands/auth.js.map +1 -0
  9. package/dist/src/commands/complete.d.ts +14 -0
  10. package/dist/src/commands/complete.d.ts.map +1 -0
  11. package/dist/src/commands/complete.js +166 -0
  12. package/dist/src/commands/complete.js.map +1 -0
  13. package/dist/src/commands/complete.spec.d.ts +6 -0
  14. package/dist/src/commands/complete.spec.d.ts.map +1 -0
  15. package/dist/src/commands/complete.spec.js +63 -0
  16. package/dist/src/commands/complete.spec.js.map +1 -0
  17. package/dist/src/commands/completion-install.d.ts +47 -0
  18. package/dist/src/commands/completion-install.d.ts.map +1 -0
  19. package/dist/src/commands/completion-install.js +141 -0
  20. package/dist/src/commands/completion-install.js.map +1 -0
  21. package/dist/src/commands/completion-install.spec.d.ts +6 -0
  22. package/dist/src/commands/completion-install.spec.d.ts.map +1 -0
  23. package/dist/src/commands/completion-install.spec.js +136 -0
  24. package/dist/src/commands/completion-install.spec.js.map +1 -0
  25. package/dist/src/commands/completion.d.ts +12 -0
  26. package/dist/src/commands/completion.d.ts.map +1 -0
  27. package/dist/src/commands/completion.js +75 -0
  28. package/dist/src/commands/completion.js.map +1 -0
  29. package/dist/src/commands/completion.spec.d.ts +6 -0
  30. package/dist/src/commands/completion.spec.d.ts.map +1 -0
  31. package/dist/src/commands/completion.spec.js +48 -0
  32. package/dist/src/commands/completion.spec.js.map +1 -0
  33. package/dist/src/commands/convert.impl.spec.d.ts +6 -0
  34. package/dist/src/commands/convert.impl.spec.d.ts.map +1 -0
  35. package/dist/src/commands/convert.impl.spec.js +245 -0
  36. package/dist/src/commands/convert.impl.spec.js.map +1 -0
  37. package/dist/src/commands/dataset-status.d.ts +9 -0
  38. package/dist/src/commands/dataset-status.d.ts.map +1 -0
  39. package/dist/src/commands/dataset-status.js +77 -0
  40. package/dist/src/commands/dataset-status.js.map +1 -0
  41. package/dist/src/commands/find.d.ts +17 -0
  42. package/dist/src/commands/find.d.ts.map +1 -0
  43. package/dist/src/commands/find.js +59 -0
  44. package/dist/src/commands/find.js.map +1 -0
  45. package/dist/src/commands/find.spec.d.ts +6 -0
  46. package/dist/src/commands/find.spec.d.ts.map +1 -0
  47. package/dist/src/commands/find.spec.js +43 -0
  48. package/dist/src/commands/find.spec.js.map +1 -0
  49. package/dist/src/commands/get.d.ts +3 -0
  50. package/dist/src/commands/get.d.ts.map +1 -1
  51. package/dist/src/commands/get.js +43 -20
  52. package/dist/src/commands/get.js.map +1 -1
  53. package/dist/src/commands/get.spec.d.ts +6 -0
  54. package/dist/src/commands/get.spec.d.ts.map +1 -0
  55. package/dist/src/commands/get.spec.js +28 -0
  56. package/dist/src/commands/get.spec.js.map +1 -0
  57. package/dist/src/commands/list.d.ts +6 -2
  58. package/dist/src/commands/list.d.ts.map +1 -1
  59. package/dist/src/commands/list.js +189 -30
  60. package/dist/src/commands/list.js.map +1 -1
  61. package/dist/src/commands/logs.d.ts.map +1 -1
  62. package/dist/src/commands/logs.js +96 -70
  63. package/dist/src/commands/logs.js.map +1 -1
  64. package/dist/src/commands/package.d.ts.map +1 -1
  65. package/dist/src/commands/package.js +78 -18
  66. package/dist/src/commands/package.js.map +1 -1
  67. package/dist/src/commands/repo.d.ts +44 -0
  68. package/dist/src/commands/repo.d.ts.map +1 -0
  69. package/dist/src/commands/repo.js +278 -0
  70. package/dist/src/commands/repo.js.map +1 -0
  71. package/dist/src/commands/run.d.ts +12 -0
  72. package/dist/src/commands/run.d.ts.map +1 -1
  73. package/dist/src/commands/run.js +21 -13
  74. package/dist/src/commands/run.js.map +1 -1
  75. package/dist/src/commands/run.spec.d.ts +6 -0
  76. package/dist/src/commands/run.spec.d.ts.map +1 -0
  77. package/dist/src/commands/run.spec.js +39 -0
  78. package/dist/src/commands/run.spec.js.map +1 -0
  79. package/dist/src/commands/set.d.ts +1 -0
  80. package/dist/src/commands/set.d.ts.map +1 -1
  81. package/dist/src/commands/set.js +33 -32
  82. package/dist/src/commands/set.js.map +1 -1
  83. package/dist/src/commands/start.d.ts.map +1 -1
  84. package/dist/src/commands/start.js +270 -52
  85. package/dist/src/commands/start.js.map +1 -1
  86. package/dist/src/commands/watch.d.ts +5 -2
  87. package/dist/src/commands/watch.d.ts.map +1 -1
  88. package/dist/src/commands/watch.js +32 -26
  89. package/dist/src/commands/watch.js.map +1 -1
  90. package/dist/src/commands/workspace.d.ts +12 -1
  91. package/dist/src/commands/workspace.d.ts.map +1 -1
  92. package/dist/src/commands/workspace.js +332 -38
  93. package/dist/src/commands/workspace.js.map +1 -1
  94. package/dist/src/credentials.d.ts +123 -0
  95. package/dist/src/credentials.d.ts.map +1 -0
  96. package/dist/src/credentials.js +213 -0
  97. package/dist/src/credentials.js.map +1 -0
  98. package/dist/src/format.d.ts +18 -0
  99. package/dist/src/format.d.ts.map +1 -0
  100. package/dist/src/format.js +43 -0
  101. package/dist/src/format.js.map +1 -0
  102. package/dist/src/path-resolver.d.ts +86 -0
  103. package/dist/src/path-resolver.d.ts.map +1 -0
  104. package/dist/src/path-resolver.js +241 -0
  105. package/dist/src/path-resolver.js.map +1 -0
  106. package/dist/src/path-resolver.spec.d.ts +6 -0
  107. package/dist/src/path-resolver.spec.d.ts.map +1 -0
  108. package/dist/src/path-resolver.spec.js +247 -0
  109. package/dist/src/path-resolver.spec.js.map +1 -0
  110. package/dist/src/utils.d.ts +76 -1
  111. package/dist/src/utils.d.ts.map +1 -1
  112. package/dist/src/utils.js +104 -1
  113. package/dist/src/utils.js.map +1 -1
  114. package/dist/src/utils.spec.d.ts +6 -0
  115. package/dist/src/utils.spec.d.ts.map +1 -0
  116. package/dist/src/utils.spec.js +199 -0
  117. package/dist/src/utils.spec.js.map +1 -0
  118. package/package.json +22 -18
  119. package/scripts/postinstall.cjs +26 -0
  120. package/dist/src/commands/gc.d.ts +0 -12
  121. package/dist/src/commands/gc.d.ts.map +0 -1
  122. package/dist/src/commands/gc.js +0 -44
  123. package/dist/src/commands/gc.js.map +0 -1
  124. package/dist/src/commands/init.d.ts +0 -9
  125. package/dist/src/commands/init.d.ts.map +0 -1
  126. package/dist/src/commands/init.js +0 -33
  127. package/dist/src/commands/init.js.map +0 -1
  128. package/dist/src/commands/status.d.ts +0 -9
  129. package/dist/src/commands/status.d.ts.map +0 -1
  130. package/dist/src/commands/status.js +0 -157
  131. package/dist/src/commands/status.js.map +0 -1
  132. package/dist/src/commands/tree.d.ts +0 -14
  133. package/dist/src/commands/tree.d.ts.map +0 -1
  134. package/dist/src/commands/tree.js +0 -77
  135. package/dist/src/commands/tree.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/commands/start.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAClE,OAAO,CAAC,IAAI,CAAC,CAkFf"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../../src/commands/start.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoCH;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAClE,OAAO,CAAC,IAAI,CAAC,CA+Df"}
@@ -9,25 +9,33 @@
9
9
  * e3 start . my-workspace
10
10
  * e3 start . my-workspace --concurrency 2
11
11
  * e3 start . my-workspace --force
12
+ * e3 start https://server/repos/myrepo my-workspace
12
13
  */
13
- import { dataflowExecute, DataflowAbortedError, WorkspaceLockError } from '@elaraai/e3-core';
14
- import { resolveRepo, formatError, exitError } from '../utils.js';
14
+ import { join } from 'node:path';
15
+ import { DataflowAbortedError, LocalStorage, LocalOrchestrator, FileStateStore, workspaceGetTree, } from '@elaraai/e3-core';
16
+ import { dataflowStart as dataflowStartRemote, dataflowExecution as dataflowExecutionRemote, datasetListRecursive as datasetListRecursiveRemote, } from '@elaraai/e3-api-client';
17
+ import { parseRepoLocation, formatError, exitError } from '../utils.js';
18
+ import { formatSize } from '../format.js';
19
+ /** Polling interval for remote execution (ms) */
20
+ const POLL_INTERVAL = 500;
15
21
  /**
16
22
  * Execute tasks in a workspace.
17
23
  */
18
24
  export async function startCommand(repoArg, ws, options) {
19
25
  // Set up abort controller for signal handling
20
26
  const controller = new AbortController();
27
+ let aborted = false;
21
28
  // Handle SIGINT (Ctrl+C) and SIGTERM gracefully
22
29
  const signalHandler = (signal) => {
23
30
  console.log('');
24
31
  console.log(`Received ${signal}, aborting...`);
32
+ aborted = true;
25
33
  controller.abort();
26
34
  };
27
35
  process.on('SIGINT', () => signalHandler('SIGINT'));
28
36
  process.on('SIGTERM', () => signalHandler('SIGTERM'));
29
37
  try {
30
- const repoPath = resolveRepo(repoArg);
38
+ const location = await parseRepoLocation(repoArg);
31
39
  const concurrency = options.concurrency ? parseInt(options.concurrency, 10) : 4;
32
40
  console.log(`Starting tasks in workspace: ${ws}`);
33
41
  if (options.filter) {
@@ -38,42 +46,20 @@ export async function startCommand(repoArg, ws, options) {
38
46
  console.log('Force: re-executing all tasks');
39
47
  }
40
48
  console.log('');
41
- const result = await dataflowExecute(repoPath, ws, {
42
- concurrency,
43
- force: options.force,
44
- filter: options.filter,
45
- signal: controller.signal,
46
- onTaskStart: (name) => {
47
- console.log(` [START] ${name}`);
48
- },
49
- onTaskComplete: (taskResult) => {
50
- const status = formatTaskStatus(taskResult);
51
- const cached = taskResult.cached ? ' (cached)' : '';
52
- const duration = taskResult.duration > 0 ? ` [${taskResult.duration}ms]` : '';
53
- console.log(` [${status}] ${taskResult.name}${cached}${duration}`);
54
- },
55
- });
56
- console.log('');
57
- console.log('Summary:');
58
- console.log(` Executed: ${result.executed}`);
59
- console.log(` Cached: ${result.cached}`);
60
- console.log(` Failed: ${result.failed}`);
61
- console.log(` Skipped: ${result.skipped}`);
62
- console.log(` Duration: ${result.duration}ms`);
63
- if (!result.success) {
64
- console.log('');
65
- console.log('Failed tasks:');
66
- for (const task of result.tasks) {
67
- if (task.state === 'failed') {
68
- const exitInfo = task.exitCode != null ? `exit code ${task.exitCode}` : 'spawn failed';
69
- const errorInfo = task.error ? ` - ${task.error}` : '';
70
- console.log(` ${task.name}: ${exitInfo}${errorInfo}`);
71
- }
72
- else if (task.state === 'error') {
73
- console.log(` ${task.name}: ${task.error}`);
74
- }
75
- }
76
- process.exit(1);
49
+ if (location.type === 'local') {
50
+ await executeLocal(location.path, ws, {
51
+ concurrency,
52
+ force: options.force,
53
+ filter: options.filter,
54
+ signal: controller.signal,
55
+ });
56
+ }
57
+ else {
58
+ await executeRemote(location.baseUrl, location.repo, ws, {
59
+ concurrency,
60
+ force: options.force,
61
+ filter: options.filter,
62
+ }, location.token, () => aborted);
77
63
  }
78
64
  }
79
65
  catch (err) {
@@ -86,26 +72,258 @@ export async function startCommand(repoArg, ws, options) {
86
72
  }
87
73
  process.exit(130); // Standard exit code for SIGINT (128 + 2)
88
74
  }
89
- else if (err instanceof WorkspaceLockError) {
90
- console.log('');
91
- console.log(`Workspace is locked by another process with PID: ${err.holder?.pid ?? 'unknown'}`);
92
- process.exit(1);
93
- }
94
75
  exitError(formatError(err));
95
76
  }
96
77
  }
97
- function formatTaskStatus(result) {
78
+ async function executeLocal(repoPath, ws, options) {
79
+ const storage = new LocalStorage();
80
+ const workspacesDir = join(repoPath, 'workspaces');
81
+ const stateStore = new FileStateStore(workspacesDir);
82
+ const orchestrator = new LocalOrchestrator(stateStore);
83
+ const handle = await orchestrator.start(storage, repoPath, ws, {
84
+ concurrency: options.concurrency,
85
+ force: options.force,
86
+ filter: options.filter,
87
+ signal: options.signal,
88
+ onTaskStart: (name) => {
89
+ console.log(` [START] ${name}`);
90
+ },
91
+ onTaskComplete: (taskResult) => {
92
+ printTaskResult(taskResult);
93
+ },
94
+ });
95
+ const result = await orchestrator.wait(handle);
96
+ printSummary({
97
+ executed: result.executed,
98
+ cached: result.cached,
99
+ failed: result.failed,
100
+ skipped: result.skipped,
101
+ duration: result.duration,
102
+ });
103
+ if (result.success) {
104
+ await printOutputs({ type: 'local', path: repoPath }, ws);
105
+ }
106
+ if (!result.success) {
107
+ // Get failed task details from state store
108
+ const state = await stateStore.read(repoPath, ws, handle.id);
109
+ if (state) {
110
+ const failedTasks = [];
111
+ for (const [name, taskState] of state.tasks) {
112
+ if (taskState.status === 'failed') {
113
+ failedTasks.push({
114
+ name,
115
+ cached: false,
116
+ state: 'failed',
117
+ error: taskState.error.type === 'some' ? taskState.error.value : undefined,
118
+ exitCode: taskState.exitCode.type === 'some' ? Number(taskState.exitCode.value) : undefined,
119
+ duration: taskState.duration.type === 'some' ? Number(taskState.duration.value) : 0,
120
+ });
121
+ }
122
+ }
123
+ printFailedTasks(failedTasks);
124
+ }
125
+ process.exit(1);
126
+ }
127
+ }
128
+ async function executeRemote(baseUrl, repo, ws, options, token, isAborted) {
129
+ const requestOptions = { token };
130
+ // Start the dataflow execution
131
+ await dataflowStartRemote(baseUrl, repo, ws, {
132
+ concurrency: options.concurrency,
133
+ force: options.force,
134
+ filter: options.filter,
135
+ }, requestOptions);
136
+ // Poll for execution state
137
+ let eventOffset = 0;
138
+ let lastStatus = null;
139
+ while (!isAborted()) {
140
+ const state = await dataflowExecutionRemote(baseUrl, repo, ws, {
141
+ offset: eventOffset,
142
+ }, requestOptions);
143
+ // Print new events
144
+ for (const event of state.events) {
145
+ printEvent(event);
146
+ eventOffset++;
147
+ }
148
+ // Check if execution is done
149
+ if (state.status.type !== 'running') {
150
+ lastStatus = state.status.type;
151
+ // Print summary if available
152
+ if (state.summary.type === 'some') {
153
+ const summary = state.summary.value;
154
+ printSummary({
155
+ executed: Number(summary.executed),
156
+ cached: Number(summary.cached),
157
+ failed: Number(summary.failed),
158
+ skipped: Number(summary.skipped),
159
+ duration: summary.duration,
160
+ });
161
+ }
162
+ if (lastStatus === 'completed') {
163
+ await printOutputs({ type: 'remote', baseUrl, repo, token }, ws);
164
+ }
165
+ break;
166
+ }
167
+ // Wait before next poll
168
+ await sleep(POLL_INTERVAL);
169
+ }
170
+ // Handle abort
171
+ if (isAborted()) {
172
+ console.log('');
173
+ console.log('Aborted.');
174
+ process.exit(130);
175
+ }
176
+ // Exit with error if execution failed
177
+ if (lastStatus === 'failed') {
178
+ process.exit(1);
179
+ }
180
+ }
181
+ // =============================================================================
182
+ // Output Formatting
183
+ // =============================================================================
184
+ function printEvent(event) {
185
+ switch (event.type) {
186
+ case 'start':
187
+ console.log(` [START] ${event.value.task}`);
188
+ break;
189
+ case 'complete':
190
+ console.log(` [DONE] ${event.value.task} [${Math.round(event.value.duration)}ms]`);
191
+ break;
192
+ case 'cached':
193
+ console.log(` [CACHED] ${event.value.task}`);
194
+ break;
195
+ case 'failed':
196
+ console.log(` [FAIL] ${event.value.task} [${Math.round(event.value.duration)}ms] (exit code ${event.value.exitCode})`);
197
+ break;
198
+ case 'error':
199
+ console.log(` [ERR] ${event.value.task}: ${event.value.message}`);
200
+ break;
201
+ case 'input_unavailable':
202
+ console.log(` [SKIP] ${event.value.task}`);
203
+ break;
204
+ }
205
+ }
206
+ function printTaskResult(result) {
207
+ if (result.cached) {
208
+ console.log(` [CACHED] ${result.name}`);
209
+ return;
210
+ }
98
211
  switch (result.state) {
99
212
  case 'success':
100
- return 'DONE';
101
- case 'failed':
102
- return 'FAIL';
213
+ console.log(` [DONE] ${result.name} [${Math.round(result.duration)}ms]`);
214
+ break;
215
+ case 'failed': {
216
+ const exitCode = result.exitCode ?? -1;
217
+ console.log(` [FAIL] ${result.name} [${Math.round(result.duration)}ms] (exit code ${exitCode})`);
218
+ break;
219
+ }
103
220
  case 'error':
104
- return 'ERR';
221
+ console.log(` [ERR] ${result.name}: ${result.error ?? 'Unknown error'}`);
222
+ break;
105
223
  case 'skipped':
106
- return 'SKIP';
107
- default:
108
- return '???';
224
+ console.log(` [SKIP] ${result.name}`);
225
+ break;
109
226
  }
110
227
  }
228
+ function printSummary(summary) {
229
+ console.log('');
230
+ console.log('Summary:');
231
+ console.log(` Executed: ${summary.executed}`);
232
+ console.log(` Cached: ${summary.cached}`);
233
+ console.log(` Failed: ${summary.failed}`);
234
+ console.log(` Skipped: ${summary.skipped}`);
235
+ console.log(` Duration: ${Math.round(summary.duration)}ms`);
236
+ }
237
+ function printFailedTasks(tasks) {
238
+ console.log('');
239
+ console.log('Failed tasks:');
240
+ for (const task of tasks) {
241
+ if (task.state === 'failed') {
242
+ const exitInfo = task.exitCode != null ? `exit code ${task.exitCode}` : 'spawn failed';
243
+ const errorInfo = task.error ? ` - ${task.error}` : '';
244
+ console.log(` ${task.name}: ${exitInfo}${errorInfo}`);
245
+ }
246
+ else if (task.state === 'error') {
247
+ console.log(` ${task.name}: ${task.error}`);
248
+ }
249
+ }
250
+ }
251
+ /**
252
+ * After a successful dataflow run, list task outputs as flat paths so the user
253
+ * can copy them straight into a follow-up `e3 dataset get` without having to
254
+ * walk the tree themselves.
255
+ *
256
+ * Inputs are intentionally omitted — they were set by the user, not produced
257
+ * by the run.
258
+ */
259
+ async function printOutputs(location, ws) {
260
+ try {
261
+ const rows = [];
262
+ if (location.type === 'local') {
263
+ const storage = new LocalStorage();
264
+ const tree = await workspaceGetTree(storage, location.path, ws, [], {
265
+ includeTypes: true,
266
+ includeStatus: true,
267
+ });
268
+ for (const node of collectTaskOutputNodes(tree)) {
269
+ rows.push({
270
+ name: `${ws}.${node.name}`,
271
+ size: formatLeafSize(node.refType, node.size),
272
+ });
273
+ }
274
+ }
275
+ else {
276
+ const items = await datasetListRecursiveRemote(location.baseUrl, location.repo, ws, [], { token: location.token });
277
+ for (const item of items) {
278
+ if (item.type !== 'dataset')
279
+ continue;
280
+ const segments = item.value.path.split('.').filter(s => s.length > 0);
281
+ if (segments.length !== 2 || segments[0] !== 'tasks')
282
+ continue;
283
+ const v = item.value;
284
+ const refTypeStr = v.hash.type === 'none' && v.size.type === 'none'
285
+ ? 'unassigned'
286
+ : v.size.type === 'some' && v.size.value === 0n ? 'null' : 'value';
287
+ rows.push({
288
+ name: `${ws}.${segments[1]}`,
289
+ size: refTypeStr === 'value' && v.size.type === 'some'
290
+ ? formatSize(Number(v.size.value))
291
+ : refTypeStr === 'null' ? '0 B' : '-',
292
+ });
293
+ }
294
+ }
295
+ if (rows.length === 0)
296
+ return;
297
+ rows.sort((a, b) => a.name.localeCompare(b.name));
298
+ const nameW = Math.max(...rows.map(r => r.name.length));
299
+ console.log('');
300
+ console.log('Outputs:');
301
+ for (const r of rows) {
302
+ console.log(` ${r.name.padEnd(nameW)} ${r.size}`);
303
+ }
304
+ }
305
+ catch {
306
+ // Don't fail the run because we couldn't print outputs.
307
+ }
308
+ }
309
+ /** Collect task-output leaves from a workspace tree (collapsed by workspaceGetTree). */
310
+ function collectTaskOutputNodes(nodes) {
311
+ const tasksBranch = nodes.find(n => n.kind === 'tree' && n.name === 'tasks');
312
+ if (!tasksBranch || tasksBranch.kind !== 'tree')
313
+ return [];
314
+ return tasksBranch.children.filter(n => n.kind === 'dataset');
315
+ }
316
+ /** Format the size column based on ref state. */
317
+ function formatLeafSize(refType, size) {
318
+ if (refType === 'unassigned')
319
+ return '-';
320
+ if (refType === 'null')
321
+ return '0 B';
322
+ if (size !== undefined)
323
+ return formatSize(size);
324
+ return '-';
325
+ }
326
+ function sleep(ms) {
327
+ return new Promise(resolve => setTimeout(resolve, ms));
328
+ }
111
329
  //# sourceMappingURL=start.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/start.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAA4B,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACvH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAElE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAe,EACf,EAAU,EACV,OAAmE;IAEnE,8CAA8C;IAC9C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IAEzC,gDAAgD;IAChD,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,EAAE;QACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,eAAe,CAAC,CAAC;QAC/C,UAAU,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhF,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,gBAAgB,WAAW,EAAE,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,EAAE,EAAE;YACjD,WAAW;YACX,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;gBACpB,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;YACnC,CAAC;YACD,cAAc,EAAE,CAAC,UAA+B,EAAE,EAAE;gBAClD,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBAC5C,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,OAAO,CAAC,GAAG,CAAC,MAAM,MAAM,KAAK,UAAU,CAAC,IAAI,GAAG,MAAM,GAAG,QAAQ,EAAE,CAAC,CAAC;YACtE,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QAEhD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;oBACvF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACvD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,QAAQ,GAAG,SAAS,EAAE,CAAC,CAAC;gBACzD,CAAC;qBAAM,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;oBAClC,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,oBAAoB,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,IAAI,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxD,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;gBAC/E,OAAO,CAAC,GAAG,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,0CAA0C;QAC/D,CAAC;aAAM,IAAI,GAAG,YAAY,kBAAkB,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,oDAAoD,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,CAAC,CAAC;YAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA2B;IACnD,QAAQ,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,KAAK,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,11 @@ interface WatchOptions {
8
8
  abortOnChange?: boolean;
9
9
  }
10
10
  /**
11
- * Watch a TypeScript file and auto-deploy on changes
11
+ * Watch a TypeScript file and auto-deploy on changes.
12
+ *
13
+ * Argument order matches the "thing you're focused on" being first:
14
+ * e3 watch <source> <repo> <workspace>
12
15
  */
13
- export declare function watchCommand(repoArg: string, workspace: string, sourceFile: string, options: WatchOptions): Promise<void>;
16
+ export declare function watchCommand(sourceFile: string, repoArg: string, workspace: string, options: WatchOptions): Promise<void>;
14
17
  export {};
15
18
  //# sourceMappingURL=watch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/commands/watch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4BH,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA6FD;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CAoQf"}
1
+ {"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../../../src/commands/watch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8BH,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA6FD;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC,CA0Qf"}
@@ -15,8 +15,8 @@ import * as path from 'node:path';
15
15
  import * as os from 'node:os';
16
16
  import * as esbuild from 'esbuild';
17
17
  import e3 from '@elaraai/e3';
18
- import { packageImport, workspaceCreate, workspaceGetState, workspaceDeploy, dataflowExecute, DataflowAbortedError, } from '@elaraai/e3-core';
19
- import { resolveRepo, formatError } from '../utils.js';
18
+ import { packageImport, workspaceCreate, workspaceGetState, workspaceDeploy, DataflowAbortedError, LocalStorage, LocalOrchestrator, InMemoryStateStore, } from '@elaraai/e3-core';
19
+ import { resolveRepo, formatError, exitError } from '../utils.js';
20
20
  /**
21
21
  * Load and execute a TypeScript file using esbuild for bundling.
22
22
  * esbuild automatically finds and uses the nearest tsconfig.json.
@@ -94,16 +94,18 @@ function timestamp() {
94
94
  return new Date().toLocaleTimeString('en-US', { hour12: false });
95
95
  }
96
96
  /**
97
- * Watch a TypeScript file and auto-deploy on changes
97
+ * Watch a TypeScript file and auto-deploy on changes.
98
+ *
99
+ * Argument order matches the "thing you're focused on" being first:
100
+ * e3 watch <source> <repo> <workspace>
98
101
  */
99
- export async function watchCommand(repoArg, workspace, sourceFile, options) {
102
+ export async function watchCommand(sourceFile, repoArg, workspace, options) {
100
103
  const repoPath = resolveRepo(repoArg);
101
104
  const absoluteSourcePath = path.resolve(sourceFile);
102
105
  const concurrency = options.concurrency ? parseInt(options.concurrency, 10) : 4;
103
106
  // Validate source file exists
104
107
  if (!fs.existsSync(absoluteSourcePath)) {
105
- console.error(`Error: Source file not found: ${absoluteSourcePath}`);
106
- process.exit(1);
108
+ exitError(`Source file not found: ${absoluteSourcePath}`);
107
109
  }
108
110
  console.log(`Watching: ${sourceFile}`);
109
111
  console.log(`Repository: ${repoPath}`);
@@ -134,7 +136,7 @@ export async function watchCommand(repoArg, workspace, sourceFile, options) {
134
136
  }
135
137
  catch (err) {
136
138
  console.log(`[${timestamp()}] Error loading package:`);
137
- console.log(` ${err instanceof Error ? err.message : String(err)}`);
139
+ console.log(` ${formatError(err)}`);
138
140
  return null;
139
141
  }
140
142
  // Export to temp zip
@@ -144,16 +146,17 @@ export async function watchCommand(repoArg, workspace, sourceFile, options) {
144
146
  }
145
147
  catch (err) {
146
148
  console.log(`[${timestamp()}] Error exporting package:`);
147
- console.log(` ${err instanceof Error ? err.message : String(err)}`);
149
+ console.log(` ${formatError(err)}`);
148
150
  return null;
149
151
  }
150
152
  // Import into repository
153
+ const deployStorage = new LocalStorage();
151
154
  try {
152
- await packageImport(repoPath, tempZip);
155
+ await packageImport(deployStorage, repoPath, tempZip);
153
156
  }
154
157
  catch (err) {
155
158
  console.log(`[${timestamp()}] Error importing package:`);
156
- console.log(` ${err instanceof Error ? err.message : String(err)}`);
159
+ console.log(` ${formatError(err)}`);
157
160
  return null;
158
161
  }
159
162
  finally {
@@ -167,39 +170,42 @@ export async function watchCommand(repoArg, workspace, sourceFile, options) {
167
170
  }
168
171
  // Ensure workspace exists
169
172
  try {
170
- await workspaceGetState(repoPath, workspace);
173
+ await workspaceGetState(deployStorage, repoPath, workspace);
171
174
  }
172
175
  catch {
173
176
  // Workspace doesn't exist, create it
174
177
  try {
175
- await workspaceCreate(repoPath, workspace);
178
+ await workspaceCreate(deployStorage, repoPath, workspace);
176
179
  console.log(`[${timestamp()}] Created workspace: ${workspace}`);
177
180
  }
178
181
  catch (err) {
179
182
  console.log(`[${timestamp()}] Error creating workspace:`);
180
- console.log(` ${err instanceof Error ? err.message : String(err)}`);
183
+ console.log(` ${formatError(err)}`);
181
184
  return null;
182
185
  }
183
186
  }
184
187
  // Deploy to workspace
185
188
  try {
186
- await workspaceDeploy(repoPath, workspace, pkg.name, pkg.version);
189
+ await workspaceDeploy(deployStorage, repoPath, workspace, pkg.name, pkg.version);
187
190
  console.log(`[${timestamp()}] Deployed to workspace: ${workspace}`);
188
191
  }
189
192
  catch (err) {
190
193
  console.log(`[${timestamp()}] Error deploying:`);
191
- console.log(` ${err instanceof Error ? err.message : String(err)}`);
194
+ console.log(` ${formatError(err)}`);
192
195
  return null;
193
196
  }
194
197
  return { name: pkg.name, version: pkg.version, watchedFiles };
195
198
  }
199
+ const storage = new LocalStorage();
196
200
  /**
197
- * Execute the dataflow in the workspace
201
+ * Execute the dataflow in the workspace using orchestrator
198
202
  */
199
203
  async function runDataflow(signal) {
200
204
  console.log(`[${timestamp()}] Starting dataflow...`);
205
+ const stateStore = new InMemoryStateStore();
206
+ const orchestrator = new LocalOrchestrator(stateStore);
201
207
  try {
202
- const result = await dataflowExecute(repoPath, workspace, {
208
+ const handle = await orchestrator.start(storage, repoPath, workspace, {
203
209
  concurrency,
204
210
  signal,
205
211
  onTaskStart: (name) => {
@@ -214,6 +220,7 @@ export async function watchCommand(repoArg, workspace, sourceFile, options) {
214
220
  console.log(` [${status}] ${taskResult.name}${cached}${duration}`);
215
221
  },
216
222
  });
223
+ const result = await orchestrator.wait(handle);
217
224
  if (result.success) {
218
225
  console.log(`[${timestamp()}] Dataflow complete (${result.executed} executed, ${result.cached} cached)`);
219
226
  }
@@ -227,7 +234,7 @@ export async function watchCommand(repoArg, workspace, sourceFile, options) {
227
234
  }
228
235
  else {
229
236
  console.log(`[${timestamp()}] Dataflow error:`);
230
- console.log(` ${err instanceof Error ? err.message : String(err)}`);
237
+ console.log(` ${formatError(err)}`);
231
238
  }
232
239
  }
233
240
  }
@@ -274,16 +281,15 @@ export async function watchCommand(repoArg, workspace, sourceFile, options) {
274
281
  const watchers = new Map();
275
282
  let debounceTimer = null;
276
283
  function setupWatchers(files) {
277
- // Close watchers for files no longer in the list
278
- for (const [filePath, watcher] of watchers) {
279
- if (!files.includes(filePath)) {
280
- watcher.close();
281
- watchers.delete(filePath);
282
- }
284
+ // Close all existing watchers fs.watch on Linux breaks after
285
+ // atomic saves (write-to-temp + rename) because the inode changes.
286
+ for (const [, watcher] of watchers) {
287
+ watcher.close();
283
288
  }
284
- // Add watchers for new files
289
+ watchers.clear();
290
+ // Create fresh watchers for all files
285
291
  for (const filePath of files) {
286
- if (!watchers.has(filePath) && fs.existsSync(filePath)) {
292
+ if (fs.existsSync(filePath)) {
287
293
  const watcher = fs.watch(filePath, () => {
288
294
  if (debounceTimer) {
289
295
  clearTimeout(debounceTimer);
@@ -1 +1 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/commands/watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../src/commands/watch.ts"],"names":[],"mappings":"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"}