@blockspool/cli 0.4.0 → 0.4.1
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/package.json +1 -1
- package/dist/bin/blockspool.d.ts +0 -16
- package/dist/bin/blockspool.d.ts.map +0 -1
- package/dist/bin/blockspool.js +0 -45
- package/dist/bin/blockspool.js.map +0 -1
- package/dist/commands/solo-auto.d.ts +0 -6
- package/dist/commands/solo-auto.d.ts.map +0 -1
- package/dist/commands/solo-auto.js +0 -418
- package/dist/commands/solo-auto.js.map +0 -1
- package/dist/commands/solo-exec.d.ts +0 -6
- package/dist/commands/solo-exec.d.ts.map +0 -1
- package/dist/commands/solo-exec.js +0 -656
- package/dist/commands/solo-exec.js.map +0 -1
- package/dist/commands/solo-inspect.d.ts +0 -6
- package/dist/commands/solo-inspect.d.ts.map +0 -1
- package/dist/commands/solo-inspect.js +0 -690
- package/dist/commands/solo-inspect.js.map +0 -1
- package/dist/commands/solo-lifecycle.d.ts +0 -6
- package/dist/commands/solo-lifecycle.d.ts.map +0 -1
- package/dist/commands/solo-lifecycle.js +0 -188
- package/dist/commands/solo-lifecycle.js.map +0 -1
- package/dist/commands/solo-nudge.d.ts +0 -6
- package/dist/commands/solo-nudge.d.ts.map +0 -1
- package/dist/commands/solo-nudge.js +0 -49
- package/dist/commands/solo-nudge.js.map +0 -1
- package/dist/commands/solo-qa.d.ts +0 -6
- package/dist/commands/solo-qa.d.ts.map +0 -1
- package/dist/commands/solo-qa.js +0 -254
- package/dist/commands/solo-qa.js.map +0 -1
- package/dist/commands/solo.d.ts +0 -11
- package/dist/commands/solo.d.ts.map +0 -1
- package/dist/commands/solo.js +0 -43
- package/dist/commands/solo.js.map +0 -1
- package/dist/index.d.ts +0 -18
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -18
- package/dist/index.js.map +0 -1
- package/dist/lib/artifacts.d.ts +0 -136
- package/dist/lib/artifacts.d.ts.map +0 -1
- package/dist/lib/artifacts.js +0 -146
- package/dist/lib/artifacts.js.map +0 -1
- package/dist/lib/doctor.d.ts +0 -45
- package/dist/lib/doctor.d.ts.map +0 -1
- package/dist/lib/doctor.js +0 -383
- package/dist/lib/doctor.js.map +0 -1
- package/dist/lib/exec.d.ts +0 -24
- package/dist/lib/exec.d.ts.map +0 -1
- package/dist/lib/exec.js +0 -295
- package/dist/lib/exec.js.map +0 -1
- package/dist/lib/formulas.d.ts +0 -78
- package/dist/lib/formulas.d.ts.map +0 -1
- package/dist/lib/formulas.js +0 -295
- package/dist/lib/formulas.js.map +0 -1
- package/dist/lib/git.d.ts +0 -9
- package/dist/lib/git.d.ts.map +0 -1
- package/dist/lib/git.js +0 -60
- package/dist/lib/git.js.map +0 -1
- package/dist/lib/guidelines.d.ts +0 -43
- package/dist/lib/guidelines.d.ts.map +0 -1
- package/dist/lib/guidelines.js +0 -195
- package/dist/lib/guidelines.js.map +0 -1
- package/dist/lib/logger.d.ts +0 -17
- package/dist/lib/logger.d.ts.map +0 -1
- package/dist/lib/logger.js +0 -42
- package/dist/lib/logger.js.map +0 -1
- package/dist/lib/retention.d.ts +0 -62
- package/dist/lib/retention.d.ts.map +0 -1
- package/dist/lib/retention.js +0 -285
- package/dist/lib/retention.js.map +0 -1
- package/dist/lib/run-history.d.ts +0 -52
- package/dist/lib/run-history.d.ts.map +0 -1
- package/dist/lib/run-history.js +0 -116
- package/dist/lib/run-history.js.map +0 -1
- package/dist/lib/run-state.d.ts +0 -58
- package/dist/lib/run-state.d.ts.map +0 -1
- package/dist/lib/run-state.js +0 -119
- package/dist/lib/run-state.js.map +0 -1
- package/dist/lib/scope.d.ts +0 -95
- package/dist/lib/scope.d.ts.map +0 -1
- package/dist/lib/scope.js +0 -291
- package/dist/lib/scope.js.map +0 -1
- package/dist/lib/selection.d.ts +0 -35
- package/dist/lib/selection.d.ts.map +0 -1
- package/dist/lib/selection.js +0 -110
- package/dist/lib/selection.js.map +0 -1
- package/dist/lib/solo-auto.d.ts +0 -87
- package/dist/lib/solo-auto.d.ts.map +0 -1
- package/dist/lib/solo-auto.js +0 -1230
- package/dist/lib/solo-auto.js.map +0 -1
- package/dist/lib/solo-ci.d.ts +0 -84
- package/dist/lib/solo-ci.d.ts.map +0 -1
- package/dist/lib/solo-ci.js +0 -300
- package/dist/lib/solo-ci.js.map +0 -1
- package/dist/lib/solo-config.d.ts +0 -155
- package/dist/lib/solo-config.d.ts.map +0 -1
- package/dist/lib/solo-config.js +0 -236
- package/dist/lib/solo-config.js.map +0 -1
- package/dist/lib/solo-git.d.ts +0 -44
- package/dist/lib/solo-git.d.ts.map +0 -1
- package/dist/lib/solo-git.js +0 -174
- package/dist/lib/solo-git.js.map +0 -1
- package/dist/lib/solo-hints.d.ts +0 -32
- package/dist/lib/solo-hints.d.ts.map +0 -1
- package/dist/lib/solo-hints.js +0 -98
- package/dist/lib/solo-hints.js.map +0 -1
- package/dist/lib/solo-remote.d.ts +0 -14
- package/dist/lib/solo-remote.d.ts.map +0 -1
- package/dist/lib/solo-remote.js +0 -48
- package/dist/lib/solo-remote.js.map +0 -1
- package/dist/lib/solo-stdin.d.ts +0 -13
- package/dist/lib/solo-stdin.d.ts.map +0 -1
- package/dist/lib/solo-stdin.js +0 -33
- package/dist/lib/solo-stdin.js.map +0 -1
- package/dist/lib/solo-ticket.d.ts +0 -213
- package/dist/lib/solo-ticket.d.ts.map +0 -1
- package/dist/lib/solo-ticket.js +0 -850
- package/dist/lib/solo-ticket.js.map +0 -1
- package/dist/lib/solo-utils.d.ts +0 -133
- package/dist/lib/solo-utils.d.ts.map +0 -1
- package/dist/lib/solo-utils.js +0 -300
- package/dist/lib/solo-utils.js.map +0 -1
- package/dist/lib/spindle.d.ts +0 -144
- package/dist/lib/spindle.d.ts.map +0 -1
- package/dist/lib/spindle.js +0 -388
- package/dist/lib/spindle.js.map +0 -1
- package/dist/tui/app.d.ts +0 -17
- package/dist/tui/app.d.ts.map +0 -1
- package/dist/tui/app.js +0 -139
- package/dist/tui/app.js.map +0 -1
- package/dist/tui/index.d.ts +0 -8
- package/dist/tui/index.d.ts.map +0 -1
- package/dist/tui/index.js +0 -7
- package/dist/tui/index.js.map +0 -1
- package/dist/tui/poller.d.ts +0 -42
- package/dist/tui/poller.d.ts.map +0 -1
- package/dist/tui/poller.js +0 -62
- package/dist/tui/poller.js.map +0 -1
- package/dist/tui/screens/overview.d.ts +0 -9
- package/dist/tui/screens/overview.d.ts.map +0 -1
- package/dist/tui/screens/overview.js +0 -189
- package/dist/tui/screens/overview.js.map +0 -1
- package/dist/tui/state.d.ts +0 -93
- package/dist/tui/state.d.ts.map +0 -1
- package/dist/tui/state.js +0 -169
- package/dist/tui/state.js.map +0 -1
- package/dist/tui/types.d.ts +0 -18
- package/dist/tui/types.d.ts.map +0 -1
- package/dist/tui/types.js +0 -5
- package/dist/tui/types.js.map +0 -1
package/dist/lib/exec.js
DELETED
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Node.js ExecRunner implementation
|
|
3
|
-
*
|
|
4
|
-
* Spawns commands, captures output to artifact files,
|
|
5
|
-
* handles timeout/cancellation, and returns structured results.
|
|
6
|
-
*/
|
|
7
|
-
import { spawn } from 'node:child_process';
|
|
8
|
-
import * as fs from 'node:fs';
|
|
9
|
-
import * as path from 'node:path';
|
|
10
|
-
/**
|
|
11
|
-
* Configuration constants for ExecRunner
|
|
12
|
-
*/
|
|
13
|
-
/** Maximum bytes to write per output stream (stdout/stderr). Prevents runaway disk usage. */
|
|
14
|
-
const DEFAULT_MAX_LOG_BYTES = 200_000; // 200KB per stream
|
|
15
|
-
/** Bytes to retain in memory for the tail buffer, used for fast UI display. */
|
|
16
|
-
const DEFAULT_TAIL_BYTES = 16_384; // 16KB tail for fast UI
|
|
17
|
-
/** Grace period in ms between SIGTERM and SIGKILL when killing a child process. */
|
|
18
|
-
const DEFAULT_KILL_GRACE_MS = 1_500;
|
|
19
|
-
/** Maximum length for sanitized file name segments. Prevents overly long artifact paths. */
|
|
20
|
-
const MAX_FILE_SEGMENT_LENGTH = 64;
|
|
21
|
-
function isProbablyAbsolute(p) {
|
|
22
|
-
return path.isAbsolute(p);
|
|
23
|
-
}
|
|
24
|
-
function sanitizeFileSegment(s) {
|
|
25
|
-
return s
|
|
26
|
-
.trim()
|
|
27
|
-
.toLowerCase()
|
|
28
|
-
.replace(/[^a-z0-9._-]+/g, '-')
|
|
29
|
-
.replace(/-+/g, '-')
|
|
30
|
-
.replace(/^-+|-+$/g, '')
|
|
31
|
-
.slice(0, MAX_FILE_SEGMENT_LENGTH) || 'step';
|
|
32
|
-
}
|
|
33
|
-
function pad2(n) {
|
|
34
|
-
return n < 10 ? `0${n}` : `${n}`;
|
|
35
|
-
}
|
|
36
|
-
function appendTail(current, chunk, tailBytes) {
|
|
37
|
-
if (tailBytes <= 0)
|
|
38
|
-
return Buffer.alloc(0);
|
|
39
|
-
if (chunk.length >= tailBytes) {
|
|
40
|
-
return Buffer.from(chunk.subarray(chunk.length - tailBytes));
|
|
41
|
-
}
|
|
42
|
-
if (current.length === 0)
|
|
43
|
-
return Buffer.from(chunk);
|
|
44
|
-
const combined = Buffer.concat([current, chunk]);
|
|
45
|
-
if (combined.length <= tailBytes)
|
|
46
|
-
return combined;
|
|
47
|
-
return Buffer.from(combined.subarray(combined.length - tailBytes));
|
|
48
|
-
}
|
|
49
|
-
async function ensureDir(absDir) {
|
|
50
|
-
await fs.promises.mkdir(absDir, { recursive: true });
|
|
51
|
-
}
|
|
52
|
-
function writeCapped(stream, chunk, state, maxBytes) {
|
|
53
|
-
if (maxBytes <= 0) {
|
|
54
|
-
state.truncated = true;
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
if (state.truncated)
|
|
58
|
-
return;
|
|
59
|
-
const remaining = maxBytes - state.bytesWritten;
|
|
60
|
-
if (remaining <= 0) {
|
|
61
|
-
state.truncated = true;
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
if (chunk.length <= remaining) {
|
|
65
|
-
stream.write(chunk);
|
|
66
|
-
state.bytesWritten += chunk.length;
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
// partial write, then truncate
|
|
70
|
-
stream.write(chunk.subarray(0, remaining));
|
|
71
|
-
state.bytesWritten += remaining;
|
|
72
|
-
state.truncated = true;
|
|
73
|
-
}
|
|
74
|
-
function waitForStreamClose(stream) {
|
|
75
|
-
return new Promise((resolve, reject) => {
|
|
76
|
-
stream.once('close', () => resolve());
|
|
77
|
-
stream.once('error', (err) => reject(err));
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
export class NodeExecRunner {
|
|
81
|
-
defaultMaxLogBytes;
|
|
82
|
-
defaultTailBytes;
|
|
83
|
-
killGraceMs;
|
|
84
|
-
constructor(opts = {}) {
|
|
85
|
-
this.defaultMaxLogBytes = opts.defaultMaxLogBytes ?? DEFAULT_MAX_LOG_BYTES;
|
|
86
|
-
this.defaultTailBytes = opts.defaultTailBytes ?? DEFAULT_TAIL_BYTES;
|
|
87
|
-
this.killGraceMs = opts.killGraceMs ?? DEFAULT_KILL_GRACE_MS;
|
|
88
|
-
}
|
|
89
|
-
async run(spec) {
|
|
90
|
-
const startedAtMs = Date.now();
|
|
91
|
-
const maxLogBytes = spec.maxLogBytes ?? this.defaultMaxLogBytes;
|
|
92
|
-
const tailBytes = spec.tailBytes ?? this.defaultTailBytes;
|
|
93
|
-
const repoRoot = spec.repoRoot;
|
|
94
|
-
const artifactsDirAbs = isProbablyAbsolute(spec.artifactsDir)
|
|
95
|
-
? spec.artifactsDir
|
|
96
|
-
: path.join(repoRoot, spec.artifactsDir);
|
|
97
|
-
// Layout: .blockspool/artifacts/<runId>/attempt-<n>/
|
|
98
|
-
const attemptDirAbs = path.join(artifactsDirAbs, spec.runId, `attempt-${spec.attempt}`);
|
|
99
|
-
await ensureDir(attemptDirAbs);
|
|
100
|
-
const safeName = sanitizeFileSegment(spec.stepName);
|
|
101
|
-
const base = `${pad2(spec.ordinal)}-${safeName}`;
|
|
102
|
-
const stdoutAbs = path.join(attemptDirAbs, `${base}.stdout.log`);
|
|
103
|
-
const stderrAbs = path.join(attemptDirAbs, `${base}.stderr.log`);
|
|
104
|
-
const stdoutPathDb = isProbablyAbsolute(spec.artifactsDir)
|
|
105
|
-
? stdoutAbs
|
|
106
|
-
: path.join(spec.artifactsDir, spec.runId, `attempt-${spec.attempt}`, `${base}.stdout.log`);
|
|
107
|
-
const stderrPathDb = isProbablyAbsolute(spec.artifactsDir)
|
|
108
|
-
? stderrAbs
|
|
109
|
-
: path.join(spec.artifactsDir, spec.runId, `attempt-${spec.attempt}`, `${base}.stderr.log`);
|
|
110
|
-
const stdoutStream = fs.createWriteStream(stdoutAbs, { flags: 'w' });
|
|
111
|
-
const stderrStream = fs.createWriteStream(stderrAbs, { flags: 'w' });
|
|
112
|
-
let stdoutTail = Buffer.alloc(0);
|
|
113
|
-
let stderrTail = Buffer.alloc(0);
|
|
114
|
-
const stdoutState = { bytesWritten: 0, truncated: false };
|
|
115
|
-
const stderrState = { bytesWritten: 0, truncated: false };
|
|
116
|
-
let timedOut = false;
|
|
117
|
-
let canceled = false;
|
|
118
|
-
let errorMessage;
|
|
119
|
-
let exitCode = null;
|
|
120
|
-
let signal = null;
|
|
121
|
-
let pid = null;
|
|
122
|
-
let timeoutHandle;
|
|
123
|
-
const endAndWaitStreams = async () => {
|
|
124
|
-
try {
|
|
125
|
-
stdoutStream.end();
|
|
126
|
-
}
|
|
127
|
-
catch { /* ignore */ }
|
|
128
|
-
try {
|
|
129
|
-
stderrStream.end();
|
|
130
|
-
}
|
|
131
|
-
catch { /* ignore */ }
|
|
132
|
-
await Promise.allSettled([
|
|
133
|
-
waitForStreamClose(stdoutStream),
|
|
134
|
-
waitForStreamClose(stderrStream),
|
|
135
|
-
]);
|
|
136
|
-
};
|
|
137
|
-
const makeOutput = (stream) => {
|
|
138
|
-
const isStdout = stream === 'stdout';
|
|
139
|
-
const absPath = isStdout ? stdoutAbs : stderrAbs;
|
|
140
|
-
const pathDb = isStdout ? stdoutPathDb : stderrPathDb;
|
|
141
|
-
const bytes = isStdout ? stdoutState.bytesWritten : stderrState.bytesWritten;
|
|
142
|
-
const truncated = isStdout ? stdoutState.truncated : stderrState.truncated;
|
|
143
|
-
const tailBuf = isStdout ? stdoutTail : stderrTail;
|
|
144
|
-
return {
|
|
145
|
-
absPath,
|
|
146
|
-
path: pathDb,
|
|
147
|
-
bytes,
|
|
148
|
-
truncated,
|
|
149
|
-
tail: tailBuf.toString('utf8'),
|
|
150
|
-
};
|
|
151
|
-
};
|
|
152
|
-
const finalize = async (status) => {
|
|
153
|
-
const endedAtMs = Date.now();
|
|
154
|
-
await endAndWaitStreams();
|
|
155
|
-
return {
|
|
156
|
-
status,
|
|
157
|
-
exitCode,
|
|
158
|
-
signal,
|
|
159
|
-
errorMessage,
|
|
160
|
-
pid,
|
|
161
|
-
startedAtMs,
|
|
162
|
-
endedAtMs,
|
|
163
|
-
durationMs: Math.max(0, endedAtMs - startedAtMs),
|
|
164
|
-
stdout: makeOutput('stdout'),
|
|
165
|
-
stderr: makeOutput('stderr'),
|
|
166
|
-
};
|
|
167
|
-
};
|
|
168
|
-
let child;
|
|
169
|
-
const killChild = (_why) => {
|
|
170
|
-
if (!child || child.killed)
|
|
171
|
-
return;
|
|
172
|
-
try {
|
|
173
|
-
child.kill('SIGTERM');
|
|
174
|
-
}
|
|
175
|
-
catch { /* ignore */ }
|
|
176
|
-
// Escalate after grace period
|
|
177
|
-
setTimeout(() => {
|
|
178
|
-
if (!child || child.killed)
|
|
179
|
-
return;
|
|
180
|
-
try {
|
|
181
|
-
child.kill('SIGKILL');
|
|
182
|
-
}
|
|
183
|
-
catch { /* ignore */ }
|
|
184
|
-
}, this.killGraceMs);
|
|
185
|
-
};
|
|
186
|
-
const onAbort = () => {
|
|
187
|
-
canceled = true;
|
|
188
|
-
errorMessage = errorMessage ?? 'Canceled';
|
|
189
|
-
killChild('canceled');
|
|
190
|
-
};
|
|
191
|
-
// Shared cleanup: clears timeout, removes abort listener, then finalizes
|
|
192
|
-
const cleanupAndFinalize = async (status) => {
|
|
193
|
-
if (timeoutHandle)
|
|
194
|
-
clearTimeout(timeoutHandle);
|
|
195
|
-
if (spec.signal)
|
|
196
|
-
spec.signal.removeEventListener('abort', onAbort);
|
|
197
|
-
return await finalize(status);
|
|
198
|
-
};
|
|
199
|
-
try {
|
|
200
|
-
const env = { ...process.env, ...(spec.env ?? {}) };
|
|
201
|
-
const cwd = spec.cwd ?? repoRoot;
|
|
202
|
-
// If already aborted, short-circuit
|
|
203
|
-
if (spec.signal?.aborted) {
|
|
204
|
-
canceled = true;
|
|
205
|
-
errorMessage = 'Canceled (signal already aborted)';
|
|
206
|
-
return await finalize('canceled');
|
|
207
|
-
}
|
|
208
|
-
if (spec.signal) {
|
|
209
|
-
spec.signal.addEventListener('abort', onAbort, { once: true });
|
|
210
|
-
}
|
|
211
|
-
child = spawn(spec.cmd, {
|
|
212
|
-
cwd,
|
|
213
|
-
env,
|
|
214
|
-
shell: spec.shell ?? true,
|
|
215
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
216
|
-
});
|
|
217
|
-
pid = child.pid ?? null;
|
|
218
|
-
// Timeout handling
|
|
219
|
-
if (spec.timeoutMs && spec.timeoutMs > 0) {
|
|
220
|
-
timeoutHandle = setTimeout(() => {
|
|
221
|
-
timedOut = true;
|
|
222
|
-
errorMessage = errorMessage ?? `Timed out after ${spec.timeoutMs}ms`;
|
|
223
|
-
killChild('timeout');
|
|
224
|
-
}, spec.timeoutMs);
|
|
225
|
-
}
|
|
226
|
-
// Stream piping + tail capture
|
|
227
|
-
if (child.stdout) {
|
|
228
|
-
child.stdout.on('data', (chunk) => {
|
|
229
|
-
const buf = Buffer.from(chunk);
|
|
230
|
-
spec.onStdoutChunk?.(buf);
|
|
231
|
-
stdoutTail = appendTail(stdoutTail, buf, tailBytes);
|
|
232
|
-
writeCapped(stdoutStream, buf, stdoutState, maxLogBytes);
|
|
233
|
-
});
|
|
234
|
-
}
|
|
235
|
-
if (child.stderr) {
|
|
236
|
-
child.stderr.on('data', (chunk) => {
|
|
237
|
-
const buf = Buffer.from(chunk);
|
|
238
|
-
spec.onStderrChunk?.(buf);
|
|
239
|
-
stderrTail = appendTail(stderrTail, buf, tailBytes);
|
|
240
|
-
writeCapped(stderrStream, buf, stderrState, maxLogBytes);
|
|
241
|
-
});
|
|
242
|
-
}
|
|
243
|
-
// Spawn error (ENOENT, permissions, etc.)
|
|
244
|
-
const spawnErrorPromise = new Promise((resolve) => {
|
|
245
|
-
child.once('error', async (err) => {
|
|
246
|
-
errorMessage = errorMessage ?? err.message;
|
|
247
|
-
exitCode = null;
|
|
248
|
-
signal = null;
|
|
249
|
-
killChild('error');
|
|
250
|
-
resolve(await cleanupAndFinalize('failed'));
|
|
251
|
-
});
|
|
252
|
-
});
|
|
253
|
-
// Normal close path
|
|
254
|
-
const closePromise = new Promise((resolve) => {
|
|
255
|
-
child.once('close', async (code, sig) => {
|
|
256
|
-
exitCode = code;
|
|
257
|
-
signal = sig ?? null;
|
|
258
|
-
let status;
|
|
259
|
-
if (canceled)
|
|
260
|
-
status = 'canceled';
|
|
261
|
-
else if (timedOut)
|
|
262
|
-
status = 'timeout';
|
|
263
|
-
else if (code === 0)
|
|
264
|
-
status = 'success';
|
|
265
|
-
else
|
|
266
|
-
status = 'failed';
|
|
267
|
-
resolve(await cleanupAndFinalize(status));
|
|
268
|
-
});
|
|
269
|
-
});
|
|
270
|
-
// Write stream error (disk issue)
|
|
271
|
-
const writeErrorPromise = new Promise((resolve) => {
|
|
272
|
-
const onWriteError = async (err) => {
|
|
273
|
-
errorMessage = errorMessage ?? `Artifact write error: ${err.message}`;
|
|
274
|
-
killChild('error');
|
|
275
|
-
resolve(await cleanupAndFinalize('failed'));
|
|
276
|
-
};
|
|
277
|
-
stdoutStream.once('error', onWriteError);
|
|
278
|
-
stderrStream.once('error', onWriteError);
|
|
279
|
-
});
|
|
280
|
-
// First one wins
|
|
281
|
-
return await Promise.race([spawnErrorPromise, closePromise, writeErrorPromise]);
|
|
282
|
-
}
|
|
283
|
-
catch (err) {
|
|
284
|
-
errorMessage = errorMessage ?? (err instanceof Error ? err.message : String(err));
|
|
285
|
-
return await cleanupAndFinalize('failed');
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* Create a Node exec runner with default options
|
|
291
|
-
*/
|
|
292
|
-
export function createExecRunner(opts) {
|
|
293
|
-
return new NodeExecRunner(opts);
|
|
294
|
-
}
|
|
295
|
-
//# sourceMappingURL=exec.js.map
|
package/dist/lib/exec.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/lib/exec.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/formulas.d.ts
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Formulas - User-defined repeatable sweep recipes
|
|
3
|
-
*
|
|
4
|
-
* A formula is a YAML config that defines what an auto run should
|
|
5
|
-
* look for and how to fix it. Formulas live in .blockspool/formulas/
|
|
6
|
-
* and can be invoked with --formula <name>.
|
|
7
|
-
*
|
|
8
|
-
* Example:
|
|
9
|
-
* blockspool solo auto --formula security-audit
|
|
10
|
-
*/
|
|
11
|
-
import type { ProposalCategory } from '@blockspool/core/scout';
|
|
12
|
-
export interface Formula {
|
|
13
|
-
/** Unique name (derived from filename) */
|
|
14
|
-
name: string;
|
|
15
|
-
/** Human-readable description */
|
|
16
|
-
description: string;
|
|
17
|
-
/** Scope glob pattern (e.g., "src/") */
|
|
18
|
-
scope?: string;
|
|
19
|
-
/** Proposal categories to include */
|
|
20
|
-
categories?: ProposalCategory[];
|
|
21
|
-
/** Minimum confidence threshold (0-100) */
|
|
22
|
-
minConfidence?: number;
|
|
23
|
-
/** Custom prompt for the scout — tells the AI what to look for */
|
|
24
|
-
prompt?: string;
|
|
25
|
-
/** Max PRs to create */
|
|
26
|
-
maxPrs?: number;
|
|
27
|
-
/** Max time for the run (e.g., "2h", "30m") */
|
|
28
|
-
maxTime?: string;
|
|
29
|
-
/** Focus areas for guided mode */
|
|
30
|
-
focusAreas?: string[];
|
|
31
|
-
/** Patterns to exclude */
|
|
32
|
-
exclude?: string[];
|
|
33
|
-
/** Whether to use roadmap mode (default: true) */
|
|
34
|
-
useRoadmap?: boolean;
|
|
35
|
-
/** Tags for organizing formulas */
|
|
36
|
-
tags?: string[];
|
|
37
|
-
/** Model to use for scouting */
|
|
38
|
-
model?: 'haiku' | 'sonnet' | 'opus';
|
|
39
|
-
}
|
|
40
|
-
export declare const BUILTIN_FORMULAS: Formula[];
|
|
41
|
-
/**
|
|
42
|
-
* Load a formula by name.
|
|
43
|
-
*
|
|
44
|
-
* Search order:
|
|
45
|
-
* 1. .blockspool/formulas/<name>.yaml (or .yml)
|
|
46
|
-
* 2. Built-in formulas
|
|
47
|
-
*
|
|
48
|
-
* @returns The formula, or null if not found
|
|
49
|
-
*/
|
|
50
|
-
export declare function loadFormula(name: string, repoPath?: string): Formula | null;
|
|
51
|
-
/**
|
|
52
|
-
* List all available formulas (built-in + user-defined)
|
|
53
|
-
*/
|
|
54
|
-
export declare function listFormulas(repoPath?: string): Formula[];
|
|
55
|
-
/**
|
|
56
|
-
* Apply a formula's settings to auto options.
|
|
57
|
-
* Formula values override defaults but CLI flags take precedence.
|
|
58
|
-
*/
|
|
59
|
-
export declare function applyFormula(formula: Formula, cliOptions: {
|
|
60
|
-
scope?: string;
|
|
61
|
-
types?: ProposalCategory[];
|
|
62
|
-
minConfidence?: number;
|
|
63
|
-
maxPrs?: number;
|
|
64
|
-
maxTime?: string;
|
|
65
|
-
exclude?: string[];
|
|
66
|
-
noRoadmap?: boolean;
|
|
67
|
-
}): {
|
|
68
|
-
scope: string;
|
|
69
|
-
types?: ProposalCategory[];
|
|
70
|
-
minConfidence?: number;
|
|
71
|
-
maxPrs?: number;
|
|
72
|
-
maxTime?: string;
|
|
73
|
-
exclude?: string[];
|
|
74
|
-
noRoadmap?: boolean;
|
|
75
|
-
prompt?: string;
|
|
76
|
-
focusAreas?: string[];
|
|
77
|
-
};
|
|
78
|
-
//# sourceMappingURL=formulas.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"formulas.d.ts","sourceRoot":"","sources":["../../src/lib/formulas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,MAAM,WAAW,OAAO;IACtB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IAEb,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qCAAqC;IACrC,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAEhC,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,kDAAkD;IAClD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,mCAAmC;IACnC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,gCAAgC;IAChC,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CACrC;AAMD,eAAO,MAAM,gBAAgB,EAAE,OAAO,EAwGrC,CAAC;AAMF;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAO3E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAQzD;AA0ID;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE;IACV,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA;IACD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAcA"}
|