steroids-cli 0.8.21 → 0.8.23

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 (81) hide show
  1. package/dist/commands/llm.d.ts.map +1 -1
  2. package/dist/commands/llm.js +4 -0
  3. package/dist/commands/llm.js.map +1 -1
  4. package/dist/commands/loop-phases.d.ts +1 -1
  5. package/dist/commands/loop-phases.d.ts.map +1 -1
  6. package/dist/commands/loop-phases.js +3 -3
  7. package/dist/commands/loop-phases.js.map +1 -1
  8. package/dist/commands/runners.js +4 -0
  9. package/dist/commands/runners.js.map +1 -1
  10. package/dist/commands/tasks.d.ts.map +1 -1
  11. package/dist/commands/tasks.js +86 -33
  12. package/dist/commands/tasks.js.map +1 -1
  13. package/dist/database/queries.d.ts +14 -0
  14. package/dist/database/queries.d.ts.map +1 -1
  15. package/dist/database/queries.js +46 -0
  16. package/dist/database/queries.js.map +1 -1
  17. package/dist/database/schema.d.ts +2 -2
  18. package/dist/database/schema.d.ts.map +1 -1
  19. package/dist/database/schema.js +30 -0
  20. package/dist/database/schema.js.map +1 -1
  21. package/dist/orchestrator/task-selector.d.ts +7 -2
  22. package/dist/orchestrator/task-selector.d.ts.map +1 -1
  23. package/dist/orchestrator/task-selector.js +91 -14
  24. package/dist/orchestrator/task-selector.js.map +1 -1
  25. package/dist/parallel/clone.d.ts +41 -0
  26. package/dist/parallel/clone.d.ts.map +1 -0
  27. package/dist/parallel/clone.js +176 -0
  28. package/dist/parallel/clone.js.map +1 -0
  29. package/dist/parallel/clone.test.d.ts +2 -0
  30. package/dist/parallel/clone.test.d.ts.map +1 -0
  31. package/dist/parallel/clone.test.js +252 -0
  32. package/dist/parallel/clone.test.js.map +1 -0
  33. package/dist/parallel/merge-conflict.d.ts +22 -0
  34. package/dist/parallel/merge-conflict.d.ts.map +1 -0
  35. package/dist/parallel/merge-conflict.js +227 -0
  36. package/dist/parallel/merge-conflict.js.map +1 -0
  37. package/dist/parallel/merge-errors.d.ts +10 -0
  38. package/dist/parallel/merge-errors.d.ts.map +1 -0
  39. package/dist/parallel/merge-errors.js +16 -0
  40. package/dist/parallel/merge-errors.js.map +1 -0
  41. package/dist/parallel/merge-git.d.ts +25 -0
  42. package/dist/parallel/merge-git.d.ts.map +1 -0
  43. package/dist/parallel/merge-git.js +134 -0
  44. package/dist/parallel/merge-git.js.map +1 -0
  45. package/dist/parallel/merge-lock.d.ts +26 -0
  46. package/dist/parallel/merge-lock.d.ts.map +1 -0
  47. package/dist/parallel/merge-lock.js +58 -0
  48. package/dist/parallel/merge-lock.js.map +1 -0
  49. package/dist/parallel/merge-progress.d.ts +20 -0
  50. package/dist/parallel/merge-progress.d.ts.map +1 -0
  51. package/dist/parallel/merge-progress.js +36 -0
  52. package/dist/parallel/merge-progress.js.map +1 -0
  53. package/dist/parallel/merge.d.ts +39 -0
  54. package/dist/parallel/merge.d.ts.map +1 -0
  55. package/dist/parallel/merge.js +231 -0
  56. package/dist/parallel/merge.js.map +1 -0
  57. package/dist/parallel/merge.test.d.ts +5 -0
  58. package/dist/parallel/merge.test.d.ts.map +1 -0
  59. package/dist/parallel/merge.test.js +322 -0
  60. package/dist/parallel/merge.test.js.map +1 -0
  61. package/dist/parallel/scheduler.d.ts +43 -0
  62. package/dist/parallel/scheduler.d.ts.map +1 -0
  63. package/dist/parallel/scheduler.js +281 -0
  64. package/dist/parallel/scheduler.js.map +1 -0
  65. package/dist/runners/daemon.d.ts +11 -1
  66. package/dist/runners/daemon.d.ts.map +1 -1
  67. package/dist/runners/daemon.js +18 -4
  68. package/dist/runners/daemon.js.map +1 -1
  69. package/dist/runners/global-db.d.ts.map +1 -1
  70. package/dist/runners/global-db.js +42 -1
  71. package/dist/runners/global-db.js.map +1 -1
  72. package/dist/runners/orchestrator-loop.d.ts +3 -0
  73. package/dist/runners/orchestrator-loop.d.ts.map +1 -1
  74. package/dist/runners/orchestrator-loop.js +19 -9
  75. package/dist/runners/orchestrator-loop.js.map +1 -1
  76. package/dist/runners/wakeup.d.ts.map +1 -1
  77. package/dist/runners/wakeup.js +2 -1
  78. package/dist/runners/wakeup.js.map +1 -1
  79. package/migrations/011_add_merge_locks_and_progress.sql +39 -0
  80. package/migrations/manifest.json +9 -1
  81. package/package.json +1 -1
@@ -5,6 +5,8 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.releaseSectionLock = exports.acquireSectionLock = exports.isSectionLocked = exports.isTaskLocked = void 0;
8
+ exports.normalizeSectionFilters = normalizeSectionFilters;
9
+ exports.hasPendingOrInProgressWork = hasPendingOrInProgressWork;
8
10
  exports.selectNextTask = selectNextTask;
9
11
  exports.selectTaskBatch = selectTaskBatch;
10
12
  exports.markTaskInProgress = markTaskInProgress;
@@ -23,6 +25,20 @@ Object.defineProperty(exports, "acquireSectionLock", { enumerable: true, get: fu
23
25
  Object.defineProperty(exports, "releaseSectionLock", { enumerable: true, get: function () { return section_lock_js_1.releaseSectionLock; } });
24
26
  Object.defineProperty(exports, "isSectionLocked", { enumerable: true, get: function () { return section_lock_js_1.isSectionLocked; } });
25
27
  const queries_js_2 = require("../locking/queries.js");
28
+ function normalizeSectionFilters(sectionId, sectionIds) {
29
+ if (sectionIds && sectionIds.length > 0) {
30
+ return [...sectionIds];
31
+ }
32
+ return sectionId ? [sectionId] : undefined;
33
+ }
34
+ function hasPendingOrInProgressWork(db, sectionId) {
35
+ const row = db
36
+ .prepare(`SELECT COUNT(*) as count FROM tasks
37
+ WHERE section_id = ?
38
+ AND status IN ('pending', 'in_progress', 'review')`)
39
+ .get(sectionId);
40
+ return row.count > 0;
41
+ }
26
42
  /**
27
43
  * Select the next task to work on
28
44
  *
@@ -35,8 +51,28 @@ const queries_js_2 = require("../locking/queries.js");
35
51
  * - Section position (lower first)
36
52
  * - Creation time (older first)
37
53
  */
38
- function selectNextTask(db, sectionId) {
39
- const result = (0, queries_js_1.findNextTask)(db, sectionId);
54
+ function selectNextTask(db, sectionIdOrIds) {
55
+ const sectionIds = normalizeSectionFilters(typeof sectionIdOrIds === 'string' ? sectionIdOrIds : undefined, Array.isArray(sectionIdOrIds) ? sectionIdOrIds : undefined);
56
+ if (sectionIds) {
57
+ for (const sectionId of sectionIds) {
58
+ const result = (0, queries_js_1.findNextTask)(db, sectionId);
59
+ if (result.task && result.action !== 'idle') {
60
+ const selectedTask = {
61
+ task: result.task,
62
+ action: result.action,
63
+ };
64
+ if (result.action === 'resume' && result.task.rejection_count > 0) {
65
+ selectedTask.rejectionNotes = (0, queries_js_1.getLastRejectionNotes)(db, result.task.id) ?? undefined;
66
+ }
67
+ return selectedTask;
68
+ }
69
+ if (hasPendingOrInProgressWork(db, sectionId)) {
70
+ return null;
71
+ }
72
+ }
73
+ return null;
74
+ }
75
+ const result = (0, queries_js_1.findNextTask)(db);
40
76
  if (!result.task || result.action === 'idle') {
41
77
  return null;
42
78
  }
@@ -104,9 +140,17 @@ function markTaskInProgress(db, taskId) {
104
140
  /**
105
141
  * Check if all tasks are completed
106
142
  */
107
- function areAllTasksComplete(db, sectionId) {
108
- const result = (0, queries_js_1.findNextTask)(db, sectionId);
109
- return result.action === 'idle';
143
+ function areAllTasksComplete(db, sectionIdOrIds) {
144
+ const sectionIds = normalizeSectionFilters(typeof sectionIdOrIds === 'string' ? sectionIdOrIds : undefined, Array.isArray(sectionIdOrIds) ? sectionIdOrIds : undefined);
145
+ if (!sectionIds) {
146
+ const result = (0, queries_js_1.findNextTask)(db);
147
+ return result.action === 'idle';
148
+ }
149
+ const result = selectNextTask(db, sectionIds);
150
+ if (result) {
151
+ return false;
152
+ }
153
+ return sectionIds.every((id) => !hasPendingOrInProgressWork(db, id));
110
154
  }
111
155
  /**
112
156
  * Count tasks by status
@@ -147,10 +191,11 @@ const DEFAULT_POLL_INTERVAL_MS = 5 * 1000; // 5 seconds
147
191
  */
148
192
  function selectNextTaskWithLock(db, options) {
149
193
  const { runnerId, timeoutMinutes = DEFAULT_TIMEOUT_MINUTES, } = options;
194
+ const sectionIds = normalizeSectionFilters(options.sectionId, options.sectionIds);
150
195
  // Get all currently locked task IDs
151
196
  const lockedTaskIds = new Set((0, queries_js_2.listTaskLocks)(db).map(lock => lock.task_id));
152
197
  // Find next available task that is not locked
153
- const candidates = findNextTaskSkippingLocked(db, lockedTaskIds, runnerId, options.sectionId);
198
+ const candidates = findNextTaskSkippingLockedForSections(db, lockedTaskIds, runnerId, sectionIds);
154
199
  if (!candidates) {
155
200
  return null;
156
201
  }
@@ -230,6 +275,21 @@ function findNextTaskSkippingLocked(db, lockedTaskIds, runnerId, sectionId) {
230
275
  }
231
276
  return null;
232
277
  }
278
+ function findNextTaskSkippingLockedForSections(db, lockedTaskIds, runnerId, sectionIds) {
279
+ if (!sectionIds) {
280
+ return findNextTaskSkippingLocked(db, lockedTaskIds, runnerId, undefined);
281
+ }
282
+ for (const sectionId of sectionIds) {
283
+ const candidates = findNextTaskSkippingLocked(db, lockedTaskIds, runnerId, sectionId);
284
+ if (candidates) {
285
+ return candidates;
286
+ }
287
+ if (hasPendingOrInProgressWork(db, sectionId)) {
288
+ return null;
289
+ }
290
+ }
291
+ return null;
292
+ }
233
293
  /**
234
294
  * Check if a task is locked by the current runner
235
295
  */
@@ -244,15 +304,24 @@ function isLockedByUs(db, taskId, runnerId) {
244
304
  */
245
305
  async function selectNextTaskWithWait(db, options) {
246
306
  const { noWait = false, waitTimeoutMs = DEFAULT_WAIT_TIMEOUT_MS, pollIntervalMs = DEFAULT_POLL_INTERVAL_MS, } = options;
307
+ const sectionIds = normalizeSectionFilters(options.sectionId, options.sectionIds);
247
308
  // First try without waiting
248
309
  const result = selectNextTaskWithLock(db, options);
249
310
  if (result) {
250
311
  return result;
251
312
  }
252
313
  // Check if there are any tasks at all
253
- const counts = getTaskCounts(db);
254
- if (counts.pending === 0 && counts.in_progress === 0 && counts.review === 0) {
255
- return null; // All tasks completed
314
+ if (sectionIds) {
315
+ const allSectionsIdle = sectionIds.every((sectionId) => !hasPendingOrInProgressWork(db, sectionId));
316
+ if (allSectionsIdle) {
317
+ return null; // Section-scoped work completed
318
+ }
319
+ }
320
+ else {
321
+ const counts = getTaskCounts(db);
322
+ if (counts.pending === 0 && counts.in_progress === 0 && counts.review === 0) {
323
+ return null; // All tasks completed
324
+ }
256
325
  }
257
326
  // If noWait, return null immediately
258
327
  if (noWait) {
@@ -267,11 +336,19 @@ async function selectNextTaskWithWait(db, options) {
267
336
  return nextResult;
268
337
  }
269
338
  // Check if all remaining tasks are locked
270
- const currentCounts = getTaskCounts(db);
271
- if (currentCounts.pending === 0 &&
272
- currentCounts.in_progress === 0 &&
273
- currentCounts.review === 0) {
274
- return null; // All tasks completed while waiting
339
+ if (sectionIds) {
340
+ const allSectionsIdle = sectionIds.every((sectionId) => !hasPendingOrInProgressWork(db, sectionId));
341
+ if (allSectionsIdle) {
342
+ return null; // Section-scoped work completed while waiting
343
+ }
344
+ }
345
+ else {
346
+ const currentCounts = getTaskCounts(db);
347
+ if (currentCounts.pending === 0 &&
348
+ currentCounts.in_progress === 0 &&
349
+ currentCounts.review === 0) {
350
+ return null; // All tasks completed while waiting
351
+ }
275
352
  }
276
353
  }
277
354
  // Timeout reached
@@ -1 +1 @@
1
- {"version":3,"file":"task-selector.js","sourceRoot":"","sources":["../../src/orchestrator/task-selector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-selector.js","sourceRoot":"","sources":["../../src/orchestrator/task-selector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Workspace clone manager for parallel execution.
3
+ */
4
+ export interface WorkspaceCloneOptions {
5
+ projectPath: string;
6
+ workstreamId: string;
7
+ branchName: string;
8
+ workspaceRoot?: string;
9
+ force?: boolean;
10
+ }
11
+ export interface WorkspaceCloneResult {
12
+ projectPath: string;
13
+ workspaceRoot: string;
14
+ workspacePath: string;
15
+ branchName: string;
16
+ projectHash: string;
17
+ usedLocalClone: boolean;
18
+ steroidsSymlinkPath: string;
19
+ }
20
+ export declare class WorkspaceCloneError extends Error {
21
+ cause?: unknown | undefined;
22
+ constructor(message: string, cause?: unknown | undefined);
23
+ }
24
+ /**
25
+ * Resolve the project hash used for workspace grouping.
26
+ */
27
+ export declare function getProjectHash(projectPath: string): string;
28
+ /**
29
+ * Default root for parallel workspaces: ~/.steroids/workspaces
30
+ */
31
+ export declare function getDefaultWorkspaceRoot(): string;
32
+ export declare function getWorkspacePath(projectPath: string, workstreamId: string, workspaceRoot?: string): string;
33
+ /**
34
+ * Determine whether two paths are on the same filesystem by comparing fs identifiers.
35
+ */
36
+ export declare function isSameFileSystem(leftPath: string, rightPath: string): boolean;
37
+ /**
38
+ * Create an isolated workspace clone for one parallel workstream.
39
+ */
40
+ export declare function createWorkspaceClone(options: WorkspaceCloneOptions): WorkspaceCloneResult;
41
+ //# sourceMappingURL=clone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../src/parallel/clone.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoBH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IACR,KAAK,CAAC,EAAE,OAAO;gBAAvC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,OAAO,YAAA;CAQpD;AAwCD;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAK1D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,aAAa,GAAE,MAAkC,GAChD,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAK7E;AAkDD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAiEzF"}
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ /**
3
+ * Workspace clone manager for parallel execution.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.WorkspaceCloneError = void 0;
7
+ exports.getProjectHash = getProjectHash;
8
+ exports.getDefaultWorkspaceRoot = getDefaultWorkspaceRoot;
9
+ exports.getWorkspacePath = getWorkspacePath;
10
+ exports.isSameFileSystem = isSameFileSystem;
11
+ exports.createWorkspaceClone = createWorkspaceClone;
12
+ const node_crypto_1 = require("node:crypto");
13
+ const node_child_process_1 = require("node:child_process");
14
+ const node_fs_1 = require("node:fs");
15
+ const node_os_1 = require("node:os");
16
+ const node_path_1 = require("node:path");
17
+ class WorkspaceCloneError extends Error {
18
+ cause;
19
+ constructor(message, cause) {
20
+ super(message);
21
+ this.cause = cause;
22
+ this.name = 'WorkspaceCloneError';
23
+ if (Error.captureStackTrace) {
24
+ Error.captureStackTrace(this, WorkspaceCloneError);
25
+ }
26
+ }
27
+ }
28
+ exports.WorkspaceCloneError = WorkspaceCloneError;
29
+ function normalizeWorkstreamDirectory(workstreamId) {
30
+ return workstreamId.startsWith('ws-') ? workstreamId : `ws-${workstreamId}`;
31
+ }
32
+ function normalizeFsIdentifier(value) {
33
+ if (typeof value === 'bigint' || typeof value === 'number' || typeof value === 'string') {
34
+ return String(value);
35
+ }
36
+ if (typeof value === 'object' && value !== null) {
37
+ const nested = value;
38
+ if (nested.val !== undefined) {
39
+ return String(nested.val);
40
+ }
41
+ try {
42
+ return JSON.stringify(value);
43
+ }
44
+ catch {
45
+ return undefined;
46
+ }
47
+ }
48
+ return undefined;
49
+ }
50
+ function getFileSystemId(stats) {
51
+ const raw =
52
+ // Primary signal: f_fsid (as specified in parallel workspace design docs)
53
+ normalizeFsIdentifier(stats.f_fsid)
54
+ ?? normalizeFsIdentifier(stats.fsid)
55
+ ?? normalizeFsIdentifier(stats.type);
56
+ if (!raw) {
57
+ throw new WorkspaceCloneError('Unable to determine filesystem identity for clone placement');
58
+ }
59
+ return raw;
60
+ }
61
+ /**
62
+ * Resolve the project hash used for workspace grouping.
63
+ */
64
+ function getProjectHash(projectPath) {
65
+ return (0, node_crypto_1.createHash)('sha1')
66
+ .update((0, node_path_1.resolve)(projectPath))
67
+ .digest('hex')
68
+ .slice(0, 16);
69
+ }
70
+ /**
71
+ * Default root for parallel workspaces: ~/.steroids/workspaces
72
+ */
73
+ function getDefaultWorkspaceRoot() {
74
+ return (0, node_path_1.join)((0, node_os_1.homedir)(), '.steroids', 'workspaces');
75
+ }
76
+ function getWorkspacePath(projectPath, workstreamId, workspaceRoot = getDefaultWorkspaceRoot()) {
77
+ return resolveWorkspacePath((0, node_path_1.resolve)(workspaceRoot), (0, node_path_1.resolve)(projectPath), workstreamId);
78
+ }
79
+ /**
80
+ * Determine whether two paths are on the same filesystem by comparing fs identifiers.
81
+ */
82
+ function isSameFileSystem(leftPath, rightPath) {
83
+ const leftStats = (0, node_fs_1.statfsSync)(leftPath);
84
+ const rightStats = (0, node_fs_1.statfsSync)(rightPath);
85
+ return getFileSystemId(leftStats) === getFileSystemId(rightStats);
86
+ }
87
+ function resolveWorkspacePath(workspaceRoot, projectPath, workstreamId) {
88
+ const normalizedWorkstreamDir = normalizeWorkstreamDirectory(workstreamId);
89
+ return (0, node_path_1.join)(workspaceRoot, getProjectHash(projectPath), normalizedWorkstreamDir);
90
+ }
91
+ function resolveSteroidsDir(projectPath) {
92
+ const steroidsDir = (0, node_path_1.join)((0, node_path_1.resolve)(projectPath), '.steroids');
93
+ if (!(0, node_fs_1.existsSync)(steroidsDir)) {
94
+ throw new WorkspaceCloneError(`Missing .steroids directory: ${steroidsDir}`);
95
+ }
96
+ const resolved = (0, node_fs_1.realpathSync)(steroidsDir);
97
+ const stat = (0, node_fs_1.lstatSync)(resolved);
98
+ if (!stat.isDirectory()) {
99
+ throw new WorkspaceCloneError(`Expected .steroids to be a directory: ${resolved}`);
100
+ }
101
+ return resolved;
102
+ }
103
+ function verifySteroidsSymlink(steroidsPath) {
104
+ const dbPath = (0, node_path_1.join)(steroidsPath, 'steroids.db');
105
+ (0, node_fs_1.accessSync)(dbPath, node_fs_1.constants.R_OK);
106
+ }
107
+ function createWorkspaceSymlink(clonePath, projectPath) {
108
+ const targetSteroidsPath = resolveSteroidsDir(projectPath);
109
+ const destination = (0, node_path_1.join)(clonePath, '.steroids');
110
+ if ((0, node_fs_1.existsSync)(destination)) {
111
+ (0, node_fs_1.rmSync)(destination, { recursive: true, force: true });
112
+ }
113
+ // Use the resolved path to avoid symlink chain surprises.
114
+ (0, node_fs_1.symlinkSync)(targetSteroidsPath, destination);
115
+ verifySteroidsSymlink(destination);
116
+ return destination;
117
+ }
118
+ /**
119
+ * Create an isolated workspace clone for one parallel workstream.
120
+ */
121
+ function createWorkspaceClone(options) {
122
+ const projectPath = (0, node_path_1.resolve)(options.projectPath);
123
+ const workspaceRoot = (0, node_path_1.resolve)(options.workspaceRoot ?? getDefaultWorkspaceRoot());
124
+ const workspacePath = getWorkspacePath(projectPath, options.workstreamId, workspaceRoot);
125
+ const projectHash = getProjectHash(projectPath);
126
+ if (!(0, node_fs_1.existsSync)(projectPath)) {
127
+ throw new WorkspaceCloneError(`Project path does not exist: ${projectPath}`);
128
+ }
129
+ if (!(0, node_fs_1.lstatSync)(projectPath).isDirectory()) {
130
+ throw new WorkspaceCloneError(`Project path is not a directory: ${projectPath}`);
131
+ }
132
+ if ((0, node_fs_1.existsSync)(workspacePath)) {
133
+ if (!options.force) {
134
+ throw new WorkspaceCloneError(`Workspace already exists: ${workspacePath}`);
135
+ }
136
+ (0, node_fs_1.rmSync)(workspacePath, { recursive: true, force: true });
137
+ }
138
+ (0, node_fs_1.mkdirSync)(workspaceRoot, { recursive: true });
139
+ (0, node_fs_1.mkdirSync)((0, node_path_1.resolve)(workspacePath, '..'), { recursive: true });
140
+ const usedLocalClone = isSameFileSystem(projectPath, workspaceRoot);
141
+ const cloneArgs = ['clone', ...(usedLocalClone ? ['--local'] : []), projectPath, workspacePath];
142
+ try {
143
+ // hardcoded command, no user input
144
+ (0, node_child_process_1.execFileSync)('git', cloneArgs, { cwd: process.cwd(), stdio: 'inherit' });
145
+ }
146
+ catch (error) {
147
+ (0, node_fs_1.rmSync)(workspacePath, { recursive: true, force: true });
148
+ throw new WorkspaceCloneError('Git clone failed', error);
149
+ }
150
+ try {
151
+ // hardcoded command, no user input
152
+ (0, node_child_process_1.execFileSync)('git', ['-C', workspacePath, 'checkout', '-b', options.branchName], { stdio: 'inherit' });
153
+ }
154
+ catch (error) {
155
+ (0, node_fs_1.rmSync)(workspacePath, { recursive: true, force: true });
156
+ throw new WorkspaceCloneError('Failed to create branch in clone', error);
157
+ }
158
+ let steroidsSymlinkPath;
159
+ try {
160
+ steroidsSymlinkPath = createWorkspaceSymlink(workspacePath, projectPath);
161
+ }
162
+ catch (error) {
163
+ (0, node_fs_1.rmSync)(workspacePath, { recursive: true, force: true });
164
+ throw new WorkspaceCloneError('Failed to create .steroids symlink', error);
165
+ }
166
+ return {
167
+ projectPath,
168
+ workspaceRoot,
169
+ workspacePath,
170
+ branchName: options.branchName,
171
+ projectHash,
172
+ usedLocalClone,
173
+ steroidsSymlinkPath,
174
+ };
175
+ }
176
+ //# sourceMappingURL=clone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone.js","sourceRoot":"","sources":["../../src/parallel/clone.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=clone.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone.test.d.ts","sourceRoot":"","sources":["../../src/parallel/clone.test.ts"],"names":[],"mappings":""}