@blockspool/cli 0.4.1 → 0.4.2
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/dist/bin/blockspool.d.ts +16 -0
- package/dist/bin/blockspool.d.ts.map +1 -0
- package/dist/bin/blockspool.js +45 -0
- package/dist/bin/blockspool.js.map +1 -0
- package/dist/commands/solo-auto.d.ts +6 -0
- package/dist/commands/solo-auto.d.ts.map +1 -0
- package/dist/commands/solo-auto.js +418 -0
- package/dist/commands/solo-auto.js.map +1 -0
- package/dist/commands/solo-exec.d.ts +6 -0
- package/dist/commands/solo-exec.d.ts.map +1 -0
- package/dist/commands/solo-exec.js +656 -0
- package/dist/commands/solo-exec.js.map +1 -0
- package/dist/commands/solo-inspect.d.ts +6 -0
- package/dist/commands/solo-inspect.d.ts.map +1 -0
- package/dist/commands/solo-inspect.js +690 -0
- package/dist/commands/solo-inspect.js.map +1 -0
- package/dist/commands/solo-lifecycle.d.ts +6 -0
- package/dist/commands/solo-lifecycle.d.ts.map +1 -0
- package/dist/commands/solo-lifecycle.js +188 -0
- package/dist/commands/solo-lifecycle.js.map +1 -0
- package/dist/commands/solo-nudge.d.ts +6 -0
- package/dist/commands/solo-nudge.d.ts.map +1 -0
- package/dist/commands/solo-nudge.js +49 -0
- package/dist/commands/solo-nudge.js.map +1 -0
- package/dist/commands/solo-qa.d.ts +6 -0
- package/dist/commands/solo-qa.d.ts.map +1 -0
- package/dist/commands/solo-qa.js +254 -0
- package/dist/commands/solo-qa.js.map +1 -0
- package/dist/commands/solo.d.ts +11 -0
- package/dist/commands/solo.d.ts.map +1 -0
- package/dist/commands/solo.js +43 -0
- package/dist/commands/solo.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/artifacts.d.ts +136 -0
- package/dist/lib/artifacts.d.ts.map +1 -0
- package/dist/lib/artifacts.js +146 -0
- package/dist/lib/artifacts.js.map +1 -0
- package/dist/lib/doctor.d.ts +45 -0
- package/dist/lib/doctor.d.ts.map +1 -0
- package/dist/lib/doctor.js +383 -0
- package/dist/lib/doctor.js.map +1 -0
- package/dist/lib/exec.d.ts +24 -0
- package/dist/lib/exec.d.ts.map +1 -0
- package/dist/lib/exec.js +295 -0
- package/dist/lib/exec.js.map +1 -0
- package/dist/lib/formulas.d.ts +78 -0
- package/dist/lib/formulas.d.ts.map +1 -0
- package/dist/lib/formulas.js +295 -0
- package/dist/lib/formulas.js.map +1 -0
- package/dist/lib/git.d.ts +9 -0
- package/dist/lib/git.d.ts.map +1 -0
- package/dist/lib/git.js +60 -0
- package/dist/lib/git.js.map +1 -0
- package/dist/lib/guidelines.d.ts +43 -0
- package/dist/lib/guidelines.d.ts.map +1 -0
- package/dist/lib/guidelines.js +195 -0
- package/dist/lib/guidelines.js.map +1 -0
- package/dist/lib/logger.d.ts +17 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +42 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/retention.d.ts +62 -0
- package/dist/lib/retention.d.ts.map +1 -0
- package/dist/lib/retention.js +285 -0
- package/dist/lib/retention.js.map +1 -0
- package/dist/lib/run-history.d.ts +52 -0
- package/dist/lib/run-history.d.ts.map +1 -0
- package/dist/lib/run-history.js +116 -0
- package/dist/lib/run-history.js.map +1 -0
- package/dist/lib/run-state.d.ts +58 -0
- package/dist/lib/run-state.d.ts.map +1 -0
- package/dist/lib/run-state.js +119 -0
- package/dist/lib/run-state.js.map +1 -0
- package/dist/lib/scope.d.ts +95 -0
- package/dist/lib/scope.d.ts.map +1 -0
- package/dist/lib/scope.js +291 -0
- package/dist/lib/scope.js.map +1 -0
- package/dist/lib/selection.d.ts +35 -0
- package/dist/lib/selection.d.ts.map +1 -0
- package/dist/lib/selection.js +110 -0
- package/dist/lib/selection.js.map +1 -0
- package/dist/lib/solo-auto.d.ts +87 -0
- package/dist/lib/solo-auto.d.ts.map +1 -0
- package/dist/lib/solo-auto.js +1230 -0
- package/dist/lib/solo-auto.js.map +1 -0
- package/dist/lib/solo-ci.d.ts +84 -0
- package/dist/lib/solo-ci.d.ts.map +1 -0
- package/dist/lib/solo-ci.js +300 -0
- package/dist/lib/solo-ci.js.map +1 -0
- package/dist/lib/solo-config.d.ts +155 -0
- package/dist/lib/solo-config.d.ts.map +1 -0
- package/dist/lib/solo-config.js +236 -0
- package/dist/lib/solo-config.js.map +1 -0
- package/dist/lib/solo-git.d.ts +44 -0
- package/dist/lib/solo-git.d.ts.map +1 -0
- package/dist/lib/solo-git.js +174 -0
- package/dist/lib/solo-git.js.map +1 -0
- package/dist/lib/solo-hints.d.ts +32 -0
- package/dist/lib/solo-hints.d.ts.map +1 -0
- package/dist/lib/solo-hints.js +98 -0
- package/dist/lib/solo-hints.js.map +1 -0
- package/dist/lib/solo-remote.d.ts +14 -0
- package/dist/lib/solo-remote.d.ts.map +1 -0
- package/dist/lib/solo-remote.js +48 -0
- package/dist/lib/solo-remote.js.map +1 -0
- package/dist/lib/solo-stdin.d.ts +13 -0
- package/dist/lib/solo-stdin.d.ts.map +1 -0
- package/dist/lib/solo-stdin.js +33 -0
- package/dist/lib/solo-stdin.js.map +1 -0
- package/dist/lib/solo-ticket.d.ts +213 -0
- package/dist/lib/solo-ticket.d.ts.map +1 -0
- package/dist/lib/solo-ticket.js +850 -0
- package/dist/lib/solo-ticket.js.map +1 -0
- package/dist/lib/solo-utils.d.ts +133 -0
- package/dist/lib/solo-utils.d.ts.map +1 -0
- package/dist/lib/solo-utils.js +300 -0
- package/dist/lib/solo-utils.js.map +1 -0
- package/dist/lib/spindle.d.ts +144 -0
- package/dist/lib/spindle.d.ts.map +1 -0
- package/dist/lib/spindle.js +388 -0
- package/dist/lib/spindle.js.map +1 -0
- package/dist/tui/app.d.ts +17 -0
- package/dist/tui/app.d.ts.map +1 -0
- package/dist/tui/app.js +139 -0
- package/dist/tui/app.js.map +1 -0
- package/dist/tui/index.d.ts +8 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +7 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/poller.d.ts +42 -0
- package/dist/tui/poller.d.ts.map +1 -0
- package/dist/tui/poller.js +62 -0
- package/dist/tui/poller.js.map +1 -0
- package/dist/tui/screens/overview.d.ts +9 -0
- package/dist/tui/screens/overview.d.ts.map +1 -0
- package/dist/tui/screens/overview.js +189 -0
- package/dist/tui/screens/overview.js.map +1 -0
- package/dist/tui/state.d.ts +93 -0
- package/dist/tui/state.d.ts.map +1 -0
- package/dist/tui/state.js +169 -0
- package/dist/tui/state.js.map +1 -0
- package/dist/tui/types.d.ts +18 -0
- package/dist/tui/types.d.ts.map +1 -0
- package/dist/tui/types.js +5 -0
- package/dist/tui/types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Selection parser for user input
|
|
3
|
+
*
|
|
4
|
+
* Parses selection strings like:
|
|
5
|
+
* - "1" → [0]
|
|
6
|
+
* - "1,3,5" → [0, 2, 4]
|
|
7
|
+
* - "1-3" → [0, 1, 2]
|
|
8
|
+
* - "1-3,5,7" → [0, 1, 2, 4, 6]
|
|
9
|
+
* - "all" → all indices
|
|
10
|
+
*
|
|
11
|
+
* Note: User input is 1-indexed, output is 0-indexed.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Parse a selection string into 0-indexed array indices
|
|
15
|
+
*
|
|
16
|
+
* @param input - Selection string (e.g., "1-3,5,7" or "all")
|
|
17
|
+
* @param maxIndex - Maximum valid index (0-indexed, exclusive)
|
|
18
|
+
* @returns Array of 0-indexed indices, sorted and deduplicated
|
|
19
|
+
* @throws Error for invalid input
|
|
20
|
+
*/
|
|
21
|
+
export function parseSelection(input, maxIndex) {
|
|
22
|
+
const trimmed = input.trim().toLowerCase();
|
|
23
|
+
// Handle "all" case
|
|
24
|
+
if (trimmed === 'all') {
|
|
25
|
+
return Array.from({ length: maxIndex }, (_, i) => i);
|
|
26
|
+
}
|
|
27
|
+
const indices = new Set();
|
|
28
|
+
// Split on commas
|
|
29
|
+
const parts = trimmed.split(',').map(p => p.trim()).filter(Boolean);
|
|
30
|
+
for (const part of parts) {
|
|
31
|
+
// Check if it's a range (e.g., "1-3")
|
|
32
|
+
if (part.includes('-')) {
|
|
33
|
+
const [startStr, endStr] = part.split('-').map(s => s.trim());
|
|
34
|
+
const start = parseInt(startStr, 10);
|
|
35
|
+
const end = parseInt(endStr, 10);
|
|
36
|
+
if (isNaN(start) || isNaN(end)) {
|
|
37
|
+
throw new Error(`Invalid range: "${part}"`);
|
|
38
|
+
}
|
|
39
|
+
if (start > end) {
|
|
40
|
+
throw new Error(`Invalid range: start (${start}) > end (${end})`);
|
|
41
|
+
}
|
|
42
|
+
// Convert to 0-indexed and add all in range
|
|
43
|
+
for (let i = start; i <= end; i++) {
|
|
44
|
+
const idx = i - 1; // Convert to 0-indexed
|
|
45
|
+
if (idx >= 0 && idx < maxIndex) {
|
|
46
|
+
indices.add(idx);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
// Single number
|
|
52
|
+
const num = parseInt(part, 10);
|
|
53
|
+
if (isNaN(num)) {
|
|
54
|
+
throw new Error(`Invalid selection: "${part}"`);
|
|
55
|
+
}
|
|
56
|
+
const idx = num - 1; // Convert to 0-indexed
|
|
57
|
+
if (idx >= 0 && idx < maxIndex) {
|
|
58
|
+
indices.add(idx);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
// Return sorted array
|
|
63
|
+
return Array.from(indices).sort((a, b) => a - b);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Validate a selection string without parsing
|
|
67
|
+
*
|
|
68
|
+
* @returns true if valid, false otherwise
|
|
69
|
+
*/
|
|
70
|
+
export function isValidSelection(input, maxIndex) {
|
|
71
|
+
try {
|
|
72
|
+
parseSelection(input, maxIndex);
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Format a selection for display (1-indexed)
|
|
81
|
+
*
|
|
82
|
+
* @param indices - 0-indexed array indices
|
|
83
|
+
* @returns Human-readable string like "1, 2, 3" or "1-3"
|
|
84
|
+
*/
|
|
85
|
+
export function formatSelection(indices) {
|
|
86
|
+
if (indices.length === 0)
|
|
87
|
+
return 'none';
|
|
88
|
+
// Convert to 1-indexed and sort
|
|
89
|
+
const oneIndexed = indices.map(i => i + 1).sort((a, b) => a - b);
|
|
90
|
+
// Group consecutive numbers into ranges
|
|
91
|
+
const ranges = [];
|
|
92
|
+
let rangeStart = oneIndexed[0];
|
|
93
|
+
let rangeEnd = oneIndexed[0];
|
|
94
|
+
for (let i = 1; i < oneIndexed.length; i++) {
|
|
95
|
+
if (oneIndexed[i] === rangeEnd + 1) {
|
|
96
|
+
rangeEnd = oneIndexed[i];
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
ranges.push([rangeStart, rangeEnd]);
|
|
100
|
+
rangeStart = oneIndexed[i];
|
|
101
|
+
rangeEnd = oneIndexed[i];
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
ranges.push([rangeStart, rangeEnd]);
|
|
105
|
+
// Format ranges
|
|
106
|
+
return ranges
|
|
107
|
+
.map(([start, end]) => (start === end ? String(start) : `${start}-${end}`))
|
|
108
|
+
.join(', ');
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../../src/lib/selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,QAAgB;IAC5D,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE3C,oBAAoB;IACpB,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,kBAAkB;IAClB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEpE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,sCAAsC;QACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAEjC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,GAAG,CAAC,CAAC;YAC9C,CAAC;YAED,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,YAAY,GAAG,GAAG,CAAC,CAAC;YACpE,CAAC;YAED,4CAA4C;YAC5C,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,uBAAuB;gBAC1C,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,QAAQ,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,gBAAgB;YAChB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAE/B,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,GAAG,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,uBAAuB;YAC5C,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,QAAQ,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,QAAgB;IAC9D,IAAI,CAAC;QACH,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAiB;IAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAExC,gCAAgC;IAChC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjE,wCAAwC;IACxC,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,GAAG,CAAC,EAAE,CAAC;YACnC,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC3B,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEpC,gBAAgB;IAChB,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;SAC1E,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Solo mode continuous execution
|
|
3
|
+
*/
|
|
4
|
+
import type { DatabaseAdapter } from '@blockspool/core/db';
|
|
5
|
+
import type { TicketProposal } from '@blockspool/core/scout';
|
|
6
|
+
/**
|
|
7
|
+
* Sleep helper
|
|
8
|
+
*/
|
|
9
|
+
export declare function sleep(ms: number): Promise<void>;
|
|
10
|
+
/**
|
|
11
|
+
* Normalize a title for comparison (lowercase, remove punctuation, collapse whitespace)
|
|
12
|
+
*/
|
|
13
|
+
export declare function normalizeTitle(title: string): string;
|
|
14
|
+
/**
|
|
15
|
+
* Calculate simple word overlap similarity between two titles (0-1)
|
|
16
|
+
*/
|
|
17
|
+
export declare function titleSimilarity(a: string, b: string): number;
|
|
18
|
+
/**
|
|
19
|
+
* Check if a proposal is a duplicate of existing tickets or open PRs
|
|
20
|
+
*/
|
|
21
|
+
export declare function isDuplicateProposal(proposal: {
|
|
22
|
+
title: string;
|
|
23
|
+
files?: string[];
|
|
24
|
+
}, existingTitles: string[], openPrBranches: string[], similarityThreshold?: number): Promise<{
|
|
25
|
+
isDuplicate: boolean;
|
|
26
|
+
reason?: string;
|
|
27
|
+
}>;
|
|
28
|
+
/**
|
|
29
|
+
* Get existing ticket titles and open PR branches for deduplication
|
|
30
|
+
*/
|
|
31
|
+
export declare function getDeduplicationContext(adapter: DatabaseAdapter, projectId: string, repoRoot: string): Promise<{
|
|
32
|
+
existingTitles: string[];
|
|
33
|
+
openPrBranches: string[];
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* Determine adaptive parallel count based on ticket complexity.
|
|
37
|
+
* When --parallel is NOT explicitly set, scale based on proposal mix.
|
|
38
|
+
*/
|
|
39
|
+
export declare function getAdaptiveParallelCount(proposals: TicketProposal[]): number;
|
|
40
|
+
/**
|
|
41
|
+
* Run auto work mode - process ready tickets in parallel
|
|
42
|
+
*/
|
|
43
|
+
export declare function runAutoWorkMode(options: {
|
|
44
|
+
dryRun?: boolean;
|
|
45
|
+
pr?: boolean;
|
|
46
|
+
verbose?: boolean;
|
|
47
|
+
parallel?: string;
|
|
48
|
+
}): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Partition proposals into conflict-free waves.
|
|
51
|
+
* Proposals with overlapping file paths go into separate waves
|
|
52
|
+
* so they run sequentially, avoiding merge conflicts.
|
|
53
|
+
*/
|
|
54
|
+
export declare function partitionIntoWaves<T extends {
|
|
55
|
+
files: string[];
|
|
56
|
+
}>(proposals: T[]): T[][];
|
|
57
|
+
/**
|
|
58
|
+
* Run auto mode - the full "just run it" experience
|
|
59
|
+
* Scout → auto-approve safe changes → run → create draft PRs
|
|
60
|
+
*/
|
|
61
|
+
export declare function runAutoMode(options: {
|
|
62
|
+
dryRun?: boolean;
|
|
63
|
+
scope?: string;
|
|
64
|
+
maxPrs?: string;
|
|
65
|
+
minConfidence?: string;
|
|
66
|
+
aggressive?: boolean;
|
|
67
|
+
draft?: boolean;
|
|
68
|
+
yes?: boolean;
|
|
69
|
+
minutes?: string;
|
|
70
|
+
hours?: string;
|
|
71
|
+
cycles?: string;
|
|
72
|
+
continuous?: boolean;
|
|
73
|
+
verbose?: boolean;
|
|
74
|
+
parallel?: string;
|
|
75
|
+
formula?: string;
|
|
76
|
+
deep?: boolean;
|
|
77
|
+
eco?: boolean;
|
|
78
|
+
batchSize?: string;
|
|
79
|
+
scoutBackend?: string;
|
|
80
|
+
executeBackend?: string;
|
|
81
|
+
codexModel?: string;
|
|
82
|
+
codexUnsafeFullAccess?: boolean;
|
|
83
|
+
includeClaudeMd?: boolean;
|
|
84
|
+
docsAudit?: boolean;
|
|
85
|
+
docsAuditInterval?: string;
|
|
86
|
+
}): Promise<void>;
|
|
87
|
+
//# sourceMappingURL=solo-auto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solo-auto.d.ts","sourceRoot":"","sources":["../../src/lib/solo-auto.ts"],"names":[],"mappings":"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"}
|