jonah-fleet 1.28.5 → 1.30.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.
- package/CHANGELOG.md +19 -0
- package/dist/index.js +193 -16
- package/dist/lib/daemon.d.ts.map +1 -1
- package/dist/lib/runner.d.ts +12 -0
- package/dist/lib/runner.d.ts.map +1 -1
- package/dist/lib/terminal-card.d.ts +17 -0
- package/dist/lib/terminal-card.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,20 @@ All notable changes to `jonah-fleet` will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.30.0](https://github.com/Jonah-Projects/jonah-fleet/compare/v1.29.0...v1.30.0) (2026-09-25)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **runner:** stream granular tool evaluation descriptions and subagent progress ([#472](https://github.com/Jonah-Projects/jonah-fleet/issues/472)) ([0327bbf](https://github.com/Jonah-Projects/jonah-fleet/commit/0327bbf353544b60c86817d5f352dd6e1d1e66ce))
|
|
14
|
+
|
|
15
|
+
## [1.29.0](https://github.com/Jonah-Projects/jonah-fleet/compare/v1.28.5...v1.29.0) (2026-09-25)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
* **daemon:** display active target PR and title in watchdog, state, and spinner during review drain ([#469](https://github.com/Jonah-Projects/jonah-fleet/issues/469)) ([07b5000](https://github.com/Jonah-Projects/jonah-fleet/commit/07b50005041a44e371809b8d185af9db3472bdff))
|
|
21
|
+
|
|
8
22
|
## [1.28.5](https://github.com/Jonah-Projects/jonah-fleet/compare/v1.28.4...v1.28.5) (2026-09-25)
|
|
9
23
|
|
|
10
24
|
|
|
@@ -28,8 +42,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
28
42
|
|
|
29
43
|
## [Unreleased]
|
|
30
44
|
|
|
45
|
+
### Features
|
|
46
|
+
|
|
47
|
+
* **daemon:** display active target PR number and title in watchdog log, state, and terminal spinner during PR backlog draining
|
|
48
|
+
|
|
31
49
|
### Bug Fixes
|
|
32
50
|
|
|
51
|
+
* **runner:** introduce granular tool output evaluation descriptions, live subagent progress tracking, and non-TTY spinner deduplication to replace long-running generic `Evaluating tool output...` states
|
|
33
52
|
* **autowork:** prevent local and GitHub-hosted autowork runner collisions by excluding bot and self-assignments from `trigger-autowork-on-assign.yml`, enforcing a 2-hour active claim lock in Step 0.5a / Step 11a, and mandating concrete pre-PR collision checks with collision bail in Step 13
|
|
34
53
|
* **daemon:** query `statusCheckRollup` in `getOpenReviewablePRs` and filter out PRs with in-progress CI to prevent premature review dispatch and repetition loop trips
|
|
35
54
|
* **peer-review:** add Post-Merge Companion Measurement Issue Filing protocol to `peer-review.md` and `ORCHESTRATION.md` to automatically synthesize `Measure: ...` tracking issues upon merge
|
package/dist/index.js
CHANGED
|
@@ -1852,6 +1852,22 @@ function formatActionDescription(toolName, params) {
|
|
|
1852
1852
|
const base = path6.basename(dirPath.replace(/[/\\]+$/, "")) || dirPath;
|
|
1853
1853
|
return `Listing directory ${base}`;
|
|
1854
1854
|
}
|
|
1855
|
+
if (name === "manage_subagents") {
|
|
1856
|
+
const action = params?.Action || params?.action || "status";
|
|
1857
|
+
if (action === "list") return "Checking subagents progress";
|
|
1858
|
+
if (action === "kill") return "Stopping subagent";
|
|
1859
|
+
if (action === "kill_all") return "Stopping all subagents";
|
|
1860
|
+
return "Managing subagents";
|
|
1861
|
+
}
|
|
1862
|
+
if (name === "manage_task") {
|
|
1863
|
+
const action = params?.Action || params?.action || "status";
|
|
1864
|
+
if (action === "list") return "Checking background tasks";
|
|
1865
|
+
if (action === "kill") return "Stopping background task";
|
|
1866
|
+
return "Managing background tasks";
|
|
1867
|
+
}
|
|
1868
|
+
if (name === "schedule") {
|
|
1869
|
+
return "Scheduling background timer";
|
|
1870
|
+
}
|
|
1855
1871
|
if (name === "invoke_subagent") {
|
|
1856
1872
|
const role = params?.Subagents?.[0]?.Role || params?.Subagents?.[0]?.role || params?.Role || params?.role || params?.TypeName || params?.name || "";
|
|
1857
1873
|
if (!role) return "Running subagent";
|
|
@@ -1869,6 +1885,145 @@ function formatActionDescription(toolName, params) {
|
|
|
1869
1885
|
}
|
|
1870
1886
|
return `Tool: ${name}`;
|
|
1871
1887
|
}
|
|
1888
|
+
function parseSubagentsOutput(raw) {
|
|
1889
|
+
if (!raw) return null;
|
|
1890
|
+
if (Array.isArray(raw)) return raw;
|
|
1891
|
+
if (typeof raw === "object" && Array.isArray(raw.subagents)) return raw.subagents;
|
|
1892
|
+
if (typeof raw === "string") {
|
|
1893
|
+
const trimmed = raw.trim();
|
|
1894
|
+
const jsonStart = trimmed.indexOf("[");
|
|
1895
|
+
const jsonEnd = trimmed.lastIndexOf("]");
|
|
1896
|
+
if (jsonStart !== -1 && jsonEnd > jsonStart) {
|
|
1897
|
+
try {
|
|
1898
|
+
const parsed = JSON.parse(trimmed.slice(jsonStart, jsonEnd + 1));
|
|
1899
|
+
if (Array.isArray(parsed)) return parsed;
|
|
1900
|
+
} catch {
|
|
1901
|
+
}
|
|
1902
|
+
}
|
|
1903
|
+
try {
|
|
1904
|
+
const parsed = JSON.parse(trimmed);
|
|
1905
|
+
if (Array.isArray(parsed)) return parsed;
|
|
1906
|
+
if (parsed && Array.isArray(parsed.subagents)) return parsed.subagents;
|
|
1907
|
+
} catch {
|
|
1908
|
+
}
|
|
1909
|
+
}
|
|
1910
|
+
return null;
|
|
1911
|
+
}
|
|
1912
|
+
function formatSubagentsProgress(outputOrSubagents) {
|
|
1913
|
+
const subagents = parseSubagentsOutput(outputOrSubagents);
|
|
1914
|
+
if (!subagents) return null;
|
|
1915
|
+
if (subagents.length === 0) {
|
|
1916
|
+
return "Subagents completed, synthesizing reviews...";
|
|
1917
|
+
}
|
|
1918
|
+
const running = subagents.filter(
|
|
1919
|
+
(s) => !s.state || s.state === "running" || s.state === "waiting_for_input" || s.state === "ACTIVE"
|
|
1920
|
+
);
|
|
1921
|
+
if (running.length === 0) {
|
|
1922
|
+
return "Subagents completed, synthesizing reviews...";
|
|
1923
|
+
}
|
|
1924
|
+
const cleanDetail = (detail) => {
|
|
1925
|
+
if (!detail) return "";
|
|
1926
|
+
let d = detail.trim();
|
|
1927
|
+
d = d.replace(/^view_file:\s*/i, "view ");
|
|
1928
|
+
d = d.replace(/^run_command:\s*/i, "");
|
|
1929
|
+
d = d.replace(/^replace_file_content:\s*/i, "edit ");
|
|
1930
|
+
d = d.replace(/^write_to_file:\s*/i, "write ");
|
|
1931
|
+
d = d.replace(/^(?:Read|view)\s+lines\s+\d+-\d+\s+of\s+/i, "view ");
|
|
1932
|
+
d = d.replace(/^(?:Sed|head|tail|cat)\s+lines?\s+\d+-\d+\s+of\s+/i, "inspect ");
|
|
1933
|
+
return d.length > 25 ? d.slice(0, 22) + "..." : d;
|
|
1934
|
+
};
|
|
1935
|
+
const parts = subagents.map((s) => {
|
|
1936
|
+
const role = s.role || "subagent";
|
|
1937
|
+
const isRunning = !s.state || s.state === "running" || s.state === "waiting_for_input" || s.state === "ACTIVE";
|
|
1938
|
+
if (!isRunning) {
|
|
1939
|
+
return `${role} (done)`;
|
|
1940
|
+
}
|
|
1941
|
+
const detail = cleanDetail(s.stateDetail);
|
|
1942
|
+
return detail ? `${role} (${detail})` : role;
|
|
1943
|
+
});
|
|
1944
|
+
const prefix = running.length === subagents.length ? "Subagents running: " : "Subagents: ";
|
|
1945
|
+
return `${prefix}${parts.join(", ")}`;
|
|
1946
|
+
}
|
|
1947
|
+
function formatEvaluatingDescription(toolName, params, output) {
|
|
1948
|
+
const name = toolName || "unknown";
|
|
1949
|
+
if (name === "manage_subagents") {
|
|
1950
|
+
if (output) {
|
|
1951
|
+
const progress = formatSubagentsProgress(output);
|
|
1952
|
+
if (progress) return progress;
|
|
1953
|
+
}
|
|
1954
|
+
return "Evaluating subagents progress...";
|
|
1955
|
+
}
|
|
1956
|
+
if (name === "invoke_subagent") {
|
|
1957
|
+
const roles = params?.Subagents?.map((s) => s.Role || s.role || s.TypeName || s.name).filter(Boolean) || (params?.Role ? [params.Role] : []);
|
|
1958
|
+
if (roles.length > 0) {
|
|
1959
|
+
return `Subagents running: ${roles.join(", ")}...`;
|
|
1960
|
+
}
|
|
1961
|
+
return "Subagents running...";
|
|
1962
|
+
}
|
|
1963
|
+
if (name === "manage_task") {
|
|
1964
|
+
return "Evaluating background tasks...";
|
|
1965
|
+
}
|
|
1966
|
+
if (name === "schedule") {
|
|
1967
|
+
return "Evaluating schedule...";
|
|
1968
|
+
}
|
|
1969
|
+
if (name === "run_command") {
|
|
1970
|
+
const rawCmd = (params?.CommandLine || params?.command || params?.cmd || "").trim();
|
|
1971
|
+
if (/\b(?:vitest|jest)\b/i.test(rawCmd)) return "Evaluating vitest results...";
|
|
1972
|
+
if (/\bnpm\s+test\b|\bcargo\s+test\b|\bpytest\b/i.test(rawCmd)) return "Evaluating test suite results...";
|
|
1973
|
+
if (/type-check|\btsc\b/i.test(rawCmd)) return "Evaluating TypeScript type check results...";
|
|
1974
|
+
if (/\blint\b|\beslint\b/i.test(rawCmd)) return "Evaluating codebase linter results...";
|
|
1975
|
+
if (/\bbuild\b|\btsup\b|\bnext\s+build\b/i.test(rawCmd)) return "Evaluating production build results...";
|
|
1976
|
+
if (/gh\s+pr\s+list/i.test(rawCmd)) return "Evaluating open pull requests...";
|
|
1977
|
+
const prMatch = rawCmd.match(/gh\s+pr\s+(?:view|edit|merge|ready)\s+(\d+)/i);
|
|
1978
|
+
if (prMatch) return `Evaluating PR #${prMatch[1]}...`;
|
|
1979
|
+
if (/gh\s+pr\s+create/i.test(rawCmd)) return "Evaluating pull request creation...";
|
|
1980
|
+
if (/gh\s+issue\s+list/i.test(rawCmd)) return "Evaluating open issues...";
|
|
1981
|
+
const issueMatch = rawCmd.match(/gh\s+issue\s+(?:view|edit|comment)\s+(\d+)/i);
|
|
1982
|
+
if (issueMatch) return `Evaluating issue #${issueMatch[1]}...`;
|
|
1983
|
+
if (/git\s+diff/i.test(rawCmd)) return "Evaluating git diff...";
|
|
1984
|
+
if (/git\s+status/i.test(rawCmd)) return "Evaluating git status...";
|
|
1985
|
+
if (/git\s+log/i.test(rawCmd)) return "Evaluating git log...";
|
|
1986
|
+
if (/git\s+commit/i.test(rawCmd)) return "Verifying commit...";
|
|
1987
|
+
if (/git\s+push/i.test(rawCmd)) return "Verifying push...";
|
|
1988
|
+
if (/git\s+checkout/i.test(rawCmd)) return "Evaluating branch checkout...";
|
|
1989
|
+
const firstLine = rawCmd.split("\n")[0].trim();
|
|
1990
|
+
if (firstLine) {
|
|
1991
|
+
const shortCmd = firstLine.length > 30 ? firstLine.slice(0, 27) + "..." : firstLine;
|
|
1992
|
+
return `Evaluating "${shortCmd}" output...`;
|
|
1993
|
+
}
|
|
1994
|
+
return "Evaluating command output...";
|
|
1995
|
+
}
|
|
1996
|
+
if (name === "view_file") {
|
|
1997
|
+
const rawPath = params?.AbsolutePath || params?.TargetFile || params?.path || params?.file || "";
|
|
1998
|
+
if (rawPath) return `Evaluating ${path6.basename(rawPath)}...`;
|
|
1999
|
+
return "Evaluating file content...";
|
|
2000
|
+
}
|
|
2001
|
+
if (name === "replace_file_content" || name === "write_to_file" || name === "multi_replace_file_content") {
|
|
2002
|
+
const rawPath = params?.TargetFile || params?.AbsolutePath || params?.path || params?.file || "";
|
|
2003
|
+
if (rawPath) return `Verifying edits to ${path6.basename(rawPath)}...`;
|
|
2004
|
+
return "Verifying file changes...";
|
|
2005
|
+
}
|
|
2006
|
+
if (name === "grep_search") {
|
|
2007
|
+
const query = params?.Query || params?.query || params?.pattern || "";
|
|
2008
|
+
if (query) return `Evaluating search results for "${query}"...`;
|
|
2009
|
+
return "Evaluating search results...";
|
|
2010
|
+
}
|
|
2011
|
+
if (name === "find_by_name") {
|
|
2012
|
+
const pattern = params?.Pattern || params?.pattern || "";
|
|
2013
|
+
if (pattern) return `Evaluating file matches for "${pattern}"...`;
|
|
2014
|
+
return "Evaluating file matches...";
|
|
2015
|
+
}
|
|
2016
|
+
if (name === "list_dir") {
|
|
2017
|
+
const dirPath = params?.DirectoryPath || params?.path || "";
|
|
2018
|
+
const base = path6.basename(dirPath.replace(/[/\\]+$/, "")) || dirPath;
|
|
2019
|
+
if (base) return `Evaluating directory contents (${base})...`;
|
|
2020
|
+
return "Evaluating directory contents...";
|
|
2021
|
+
}
|
|
2022
|
+
if (name === "search_web" || name === "read_url_content") {
|
|
2023
|
+
return "Evaluating web content...";
|
|
2024
|
+
}
|
|
2025
|
+
return `Evaluating ${name} output...`;
|
|
2026
|
+
}
|
|
1872
2027
|
function renderSummaryCard(options) {
|
|
1873
2028
|
const width = Math.min(Math.max((process.stdout.columns || 80) - 4, 64), 90);
|
|
1874
2029
|
const horizontal = "\u2500".repeat(width - 2);
|
|
@@ -2105,6 +2260,7 @@ var TerminalSpinner = class {
|
|
|
2105
2260
|
message = "";
|
|
2106
2261
|
isRunning = false;
|
|
2107
2262
|
isTTY;
|
|
2263
|
+
lastPrintedMessage = "";
|
|
2108
2264
|
constructor() {
|
|
2109
2265
|
this.isTTY = Boolean(process.stderr.isTTY);
|
|
2110
2266
|
}
|
|
@@ -2113,6 +2269,7 @@ var TerminalSpinner = class {
|
|
|
2113
2269
|
this.startTime = Date.now();
|
|
2114
2270
|
this.isRunning = true;
|
|
2115
2271
|
if (!this.isTTY) {
|
|
2272
|
+
this.lastPrintedMessage = initialMessage;
|
|
2116
2273
|
process.stderr.write(`[jonah-fleet] ${initialMessage}
|
|
2117
2274
|
`);
|
|
2118
2275
|
return;
|
|
@@ -2124,8 +2281,11 @@ var TerminalSpinner = class {
|
|
|
2124
2281
|
update(newMessage) {
|
|
2125
2282
|
this.message = newMessage;
|
|
2126
2283
|
if (!this.isTTY) {
|
|
2127
|
-
|
|
2284
|
+
if (newMessage !== this.lastPrintedMessage) {
|
|
2285
|
+
this.lastPrintedMessage = newMessage;
|
|
2286
|
+
process.stderr.write(`[jonah-fleet] ${newMessage}
|
|
2128
2287
|
`);
|
|
2288
|
+
}
|
|
2129
2289
|
}
|
|
2130
2290
|
}
|
|
2131
2291
|
formatLine(message, maxWidth) {
|
|
@@ -4114,8 +4274,8 @@ function formatVerboseEvent(event) {
|
|
|
4114
4274
|
if (su.step_type === "user_input") {
|
|
4115
4275
|
return `${pc11.dim(`[${time}]`)} ${pc11.magenta("[user_input]")} Prompt dispatched`;
|
|
4116
4276
|
}
|
|
4117
|
-
if (su.step_type === "tool") {
|
|
4118
|
-
const toolName = su.tool_name || su.tool_info?.name || "tool";
|
|
4277
|
+
if (su.step_type === "tool" || su.step_type === "subagent") {
|
|
4278
|
+
const toolName = su.tool_name || su.tool_info?.name || (su.step_type === "subagent" ? "invoke_subagent" : "tool");
|
|
4119
4279
|
const params = su.tool_info?.parameters;
|
|
4120
4280
|
if (su.state === "ACTIVE") {
|
|
4121
4281
|
const desc = formatActionDescription(toolName, params);
|
|
@@ -4125,6 +4285,9 @@ function formatVerboseEvent(event) {
|
|
|
4125
4285
|
const dur = su.duration_seconds !== void 0 ? `${su.duration_seconds.toFixed(1)}s` : "done";
|
|
4126
4286
|
return `${pc11.dim(`[${time}]`)} ${pc11.green("[tool:done]")} ${pc11.bold(toolName)} (${dur})`;
|
|
4127
4287
|
}
|
|
4288
|
+
if (su.state === "ERROR") {
|
|
4289
|
+
return `${pc11.dim(`[${time}]`)} ${pc11.red("[tool:error]")} ${pc11.bold(toolName)}`;
|
|
4290
|
+
}
|
|
4128
4291
|
}
|
|
4129
4292
|
if (su.step_type === "agent_response" || su.step_type === "thought") {
|
|
4130
4293
|
if (su.text_delta) {
|
|
@@ -4632,6 +4795,9 @@ Timeout: ${printTimeout}`,
|
|
|
4632
4795
|
if (spinner) {
|
|
4633
4796
|
spinner.start(`${targetLabel}: ${activePhase}`);
|
|
4634
4797
|
}
|
|
4798
|
+
if (baseTarget) {
|
|
4799
|
+
options.onTargetDetected?.(targetLabel);
|
|
4800
|
+
}
|
|
4635
4801
|
if (baseTarget && !targetTitle) {
|
|
4636
4802
|
fetchTargetTitleAsync(targetDir, baseTarget).then((fetchedTitle) => {
|
|
4637
4803
|
if (fetchedTitle && !targetTitle) {
|
|
@@ -4730,8 +4896,8 @@ Timeout: ${printTimeout}`,
|
|
|
4730
4896
|
if (event) {
|
|
4731
4897
|
if (event.event === "step_update" && event.step_update) {
|
|
4732
4898
|
const su = event.step_update;
|
|
4733
|
-
if (su.step_type === "tool") {
|
|
4734
|
-
const toolName = su.tool_name || su.tool_info?.name || "unknown";
|
|
4899
|
+
if (su.step_type === "tool" || su.step_type === "subagent") {
|
|
4900
|
+
const toolName = su.tool_name || su.tool_info?.name || (su.step_type === "subagent" ? "invoke_subagent" : "unknown");
|
|
4735
4901
|
const toolParams = su.tool_info?.parameters;
|
|
4736
4902
|
if (su.state === "ACTIVE") {
|
|
4737
4903
|
loopGuard.recordAction(toolName, toolParams, false);
|
|
@@ -4750,13 +4916,18 @@ Timeout: ${printTimeout}`,
|
|
|
4750
4916
|
} else if (su.state === "ERROR") {
|
|
4751
4917
|
loopGuard.recordAction(toolName, toolParams, true);
|
|
4752
4918
|
lastActionDesc = null;
|
|
4919
|
+
if (spinner) {
|
|
4920
|
+
activePhase = `Diagnosing tool error (${toolName})...`;
|
|
4921
|
+
spinner.update(`${targetLabel}: ${activePhase}`);
|
|
4922
|
+
}
|
|
4753
4923
|
} else if (su.state === "DONE") {
|
|
4754
4924
|
lastActionDesc = null;
|
|
4755
4925
|
if (su.tool_info?.output) {
|
|
4756
4926
|
checkTargetDetection(su.tool_info.output);
|
|
4757
4927
|
}
|
|
4758
4928
|
if (spinner) {
|
|
4759
|
-
|
|
4929
|
+
const output2 = su.tool_info?.output || (su.subagent_info ? JSON.stringify(su.subagent_info) : void 0);
|
|
4930
|
+
activePhase = formatEvaluatingDescription(toolName, toolParams, output2);
|
|
4760
4931
|
spinner.update(`${targetLabel}: ${activePhase}`);
|
|
4761
4932
|
}
|
|
4762
4933
|
if (options.verbose) {
|
|
@@ -4768,7 +4939,8 @@ Timeout: ${printTimeout}`,
|
|
|
4768
4939
|
if (su.text_delta) {
|
|
4769
4940
|
accumulatedOutput += su.text_delta;
|
|
4770
4941
|
checkTargetDetection(su.text_delta);
|
|
4771
|
-
const
|
|
4942
|
+
const recentWindow = accumulatedOutput.slice(-300);
|
|
4943
|
+
const newPhase = detectActivePhase(recentWindow, activePhase);
|
|
4772
4944
|
if (newPhase !== activePhase || lastActionDesc) {
|
|
4773
4945
|
lastActionDesc = null;
|
|
4774
4946
|
activePhase = newPhase;
|
|
@@ -5886,24 +6058,29 @@ async function drainReviewQueue(drainOptions) {
|
|
|
5886
6058
|
break;
|
|
5887
6059
|
}
|
|
5888
6060
|
const totalRemaining = candidatePRs.length;
|
|
5889
|
-
|
|
6061
|
+
const currentPR = candidatePRs[0];
|
|
6062
|
+
const targetLabel = formatTargetLabel(`PR #${currentPR.number}`, currentPR.title);
|
|
6063
|
+
let targetPRStr = targetLabel;
|
|
5890
6064
|
try {
|
|
5891
6065
|
if (clearTicker) clearTicker();
|
|
5892
6066
|
if (state) {
|
|
5893
6067
|
state.status = "working";
|
|
5894
6068
|
state.activeRoutine = "peer-review";
|
|
6069
|
+
state.activeTarget = targetLabel;
|
|
5895
6070
|
writeDaemonState(repoRoot, state);
|
|
5896
6071
|
}
|
|
5897
6072
|
console.log(
|
|
5898
6073
|
pc14.cyan(
|
|
5899
6074
|
`
|
|
5900
|
-
[${(/* @__PURE__ */ new Date()).toLocaleTimeString()}] \u{1F50D} Peer Review Watchdog: Draining PR backlog (${totalRemaining} PR(s) remaining). Starting review session...`
|
|
6075
|
+
[${(/* @__PURE__ */ new Date()).toLocaleTimeString()}] \u{1F50D} Peer Review Watchdog: Draining PR backlog (${totalRemaining} PR(s) remaining). Starting review session on ${targetLabel}...`
|
|
5901
6076
|
)
|
|
5902
6077
|
);
|
|
5903
6078
|
await cleanupStaleWorktrees(repoRoot);
|
|
5904
6079
|
const result = await runRoutine({
|
|
5905
6080
|
targetDir: repoRoot,
|
|
5906
6081
|
routine: "peer-review",
|
|
6082
|
+
pr: currentPR.number,
|
|
6083
|
+
title: currentPR.title,
|
|
5907
6084
|
model: options.model,
|
|
5908
6085
|
verbose: options.verbose,
|
|
5909
6086
|
noWorktree: false,
|
|
@@ -5917,23 +6094,23 @@ async function drainReviewQueue(drainOptions) {
|
|
|
5917
6094
|
});
|
|
5918
6095
|
const activeTargetStr = targetPRStr;
|
|
5919
6096
|
const match = activeTargetStr?.match(/PR\s*#?([0-9]+)/i);
|
|
5920
|
-
const prNum = match ? parseInt(match[1], 10) :
|
|
6097
|
+
const prNum = match ? parseInt(match[1], 10) : currentPR.number;
|
|
5921
6098
|
if (typeof prNum === "number") {
|
|
5922
6099
|
attemptedPRNumbers.add(prNum);
|
|
5923
6100
|
onAttempted?.(prNum);
|
|
5924
6101
|
}
|
|
5925
6102
|
if (result.success) {
|
|
5926
|
-
console.log(pc14.green(`\u2713 Local peer-review completed successfully.
|
|
6103
|
+
console.log(pc14.green(`\u2713 Local peer-review on ${targetLabel} completed successfully.
|
|
5927
6104
|
`));
|
|
5928
6105
|
} else {
|
|
5929
|
-
console.warn(pc14.yellow(`\u26A0\uFE0F Local peer-review completed with code ${result.exitCode}.
|
|
6106
|
+
console.warn(pc14.yellow(`\u26A0\uFE0F Local peer-review on ${targetLabel} completed with code ${result.exitCode}.
|
|
5930
6107
|
`));
|
|
5931
6108
|
}
|
|
5932
6109
|
} catch (err) {
|
|
5933
|
-
console.error(pc14.red(`\u2717 Error in peer-review: ${err.message}`));
|
|
5934
|
-
if (
|
|
5935
|
-
attemptedPRNumbers.add(
|
|
5936
|
-
onAttempted?.(
|
|
6110
|
+
console.error(pc14.red(`\u2717 Error in peer-review on ${targetLabel}: ${err.message}`));
|
|
6111
|
+
if (currentPR) {
|
|
6112
|
+
attemptedPRNumbers.add(currentPR.number);
|
|
6113
|
+
onAttempted?.(currentPR.number);
|
|
5937
6114
|
}
|
|
5938
6115
|
} finally {
|
|
5939
6116
|
if (state) {
|
package/dist/lib/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/lib/daemon.ts"],"names":[],"mappings":"AAwBA,OAAO,
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/lib/daemon.ts"],"names":[],"mappings":"AAwBA,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAI5B,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAC5C,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACvD,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9E;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAQpE;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAI3E;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CASvD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAYzD;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,KAAK,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAavD;AAED,MAAM,WAAW,yBAAyB;IACxC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,YAAY,EAAE,EACnB,OAAO,GAAE,yBAA8B,GACtC,YAAY,EAAE,CAShB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAYpF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGzE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAezD;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EAAE,EACtB,OAAO,GAAE,SAAS,EAAO,GACxB,mBAAmB,CAkKrB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAWhF;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,EAAE,CAAC,CAWtB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAM3F;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAsD/G;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAanE;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACzG,YAAY,CAAC,EAAE,CACb,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,OAAO,EAClB,OAAO,CAAC,EAAE,MAAM,KACb,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB;AAED,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAWtE;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,iBAAiB,EAAE,MAAM,GAAG,4BAA4B,GACvD,OAAO,CAAC,MAAM,CAAC,CA0FjB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACvD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,YAAY,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4H3F;AAGD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACvD,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,0BAA0B,GACtC,OAAO,CAAC;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgGjD;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwnBhG"}
|
package/dist/lib/runner.d.ts
CHANGED
|
@@ -43,6 +43,17 @@ export interface StreamJsonEvent {
|
|
|
43
43
|
parameters?: Record<string, any>;
|
|
44
44
|
output?: string;
|
|
45
45
|
};
|
|
46
|
+
subagent_info?: {
|
|
47
|
+
subagents?: Array<{
|
|
48
|
+
type_name?: string;
|
|
49
|
+
role?: string;
|
|
50
|
+
initial_prompt?: string;
|
|
51
|
+
conversation_id?: string;
|
|
52
|
+
log_uri?: string;
|
|
53
|
+
[key: string]: any;
|
|
54
|
+
}>;
|
|
55
|
+
[key: string]: any;
|
|
56
|
+
};
|
|
46
57
|
text_delta?: string;
|
|
47
58
|
duration_seconds?: number;
|
|
48
59
|
usage?: {
|
|
@@ -51,6 +62,7 @@ export interface StreamJsonEvent {
|
|
|
51
62
|
thinking_tokens?: number;
|
|
52
63
|
total_tokens?: number;
|
|
53
64
|
};
|
|
65
|
+
[key: string]: any;
|
|
54
66
|
};
|
|
55
67
|
agent_response?: any;
|
|
56
68
|
result?: {
|
package/dist/lib/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/lib/runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/lib/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,6 +98,22 @@ export declare function formatTargetLabel(baseLabel: string, title?: string | nu
|
|
|
98
98
|
* Maps granular agent tool invocations to clean, human-friendly action descriptions for terminal display.
|
|
99
99
|
*/
|
|
100
100
|
export declare function formatActionDescription(toolName: string, params?: Record<string, any>): string;
|
|
101
|
+
/**
|
|
102
|
+
* Parses subagent status arrays from manage_subagents or invoke_subagent outputs.
|
|
103
|
+
*/
|
|
104
|
+
export declare function parseSubagentsOutput(raw: any): Array<{
|
|
105
|
+
role?: string;
|
|
106
|
+
state?: string;
|
|
107
|
+
stateDetail?: string;
|
|
108
|
+
}> | null;
|
|
109
|
+
/**
|
|
110
|
+
* Formats subagents progress into a concise, informative line for terminal spinner.
|
|
111
|
+
*/
|
|
112
|
+
export declare function formatSubagentsProgress(outputOrSubagents: any): string | null;
|
|
113
|
+
/**
|
|
114
|
+
* Formats granular description when a tool finishes and the agent evaluates its results.
|
|
115
|
+
*/
|
|
116
|
+
export declare function formatEvaluatingDescription(toolName: string, params?: Record<string, any>, output?: string): string;
|
|
101
117
|
/**
|
|
102
118
|
* Renders a styled Unicode summary card.
|
|
103
119
|
*/
|
|
@@ -117,6 +133,7 @@ export declare class TerminalSpinner {
|
|
|
117
133
|
private message;
|
|
118
134
|
private isRunning;
|
|
119
135
|
private isTTY;
|
|
136
|
+
private lastPrintedMessage;
|
|
120
137
|
constructor();
|
|
121
138
|
start(initialMessage: string): void;
|
|
122
139
|
update(newMessage: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-card.d.ts","sourceRoot":"","sources":["../../src/lib/terminal-card.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"terminal-card.d.ts","sourceRoot":"","sources":["../../src/lib/terminal-card.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED