@phamvuhoang/otto-core 0.17.0 → 0.19.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/dist/cli-help.d.ts +23 -0
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +38 -1
- package/dist/cli-help.js.map +1 -1
- package/dist/console-ui.d.ts +32 -0
- package/dist/console-ui.d.ts.map +1 -0
- package/dist/console-ui.js +154 -0
- package/dist/console-ui.js.map +1 -0
- package/dist/fanout.d.ts +56 -0
- package/dist/fanout.d.ts.map +1 -0
- package/dist/fanout.js +119 -0
- package/dist/fanout.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/loop.d.ts +19 -1
- package/dist/loop.d.ts.map +1 -1
- package/dist/loop.js +125 -32
- package/dist/loop.js.map +1 -1
- package/dist/model-tier.d.ts +69 -0
- package/dist/model-tier.d.ts.map +1 -0
- package/dist/model-tier.js +101 -0
- package/dist/model-tier.js.map +1 -0
- package/dist/next-action.d.ts +2 -0
- package/dist/next-action.d.ts.map +1 -0
- package/dist/next-action.js +23 -0
- package/dist/next-action.js.map +1 -0
- package/dist/plan-progress.d.ts +36 -0
- package/dist/plan-progress.d.ts.map +1 -0
- package/dist/plan-progress.js +43 -0
- package/dist/plan-progress.js.map +1 -0
- package/dist/plan-tasks.d.ts +44 -0
- package/dist/plan-tasks.d.ts.map +1 -0
- package/dist/plan-tasks.js +167 -0
- package/dist/plan-tasks.js.map +1 -0
- package/dist/run-bin.d.ts.map +1 -1
- package/dist/run-bin.js +22 -0
- package/dist/run-bin.js.map +1 -1
- package/dist/run-view.d.ts +71 -0
- package/dist/run-view.d.ts.map +1 -0
- package/dist/run-view.js +190 -0
- package/dist/run-view.js.map +1 -0
- package/dist/runner.d.ts +22 -14
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +18 -26
- package/dist/runner.js.map +1 -1
- package/dist/stage-exec.d.ts +16 -0
- package/dist/stage-exec.d.ts.map +1 -1
- package/dist/stage-exec.js +32 -1
- package/dist/stage-exec.js.map +1 -1
- package/dist/stages.d.ts +18 -0
- package/dist/stages.d.ts.map +1 -1
- package/dist/stages.js +17 -0
- package/dist/stages.js.map +1 -1
- package/dist/stream-render.d.ts +1 -0
- package/dist/stream-render.d.ts.map +1 -1
- package/dist/stream-render.js +1 -1
- package/dist/stream-render.js.map +1 -1
- package/dist/tail.d.ts +25 -0
- package/dist/tail.d.ts.map +1 -0
- package/dist/tail.js +75 -0
- package/dist/tail.js.map +1 -0
- package/dist/worktree.d.ts +24 -0
- package/dist/worktree.d.ts.map +1 -0
- package/dist/worktree.js +43 -0
- package/dist/worktree.js.map +1 -0
- package/package.json +1 -1
- package/templates/plan.md +26 -4
- package/templates/subtask.md +32 -0
package/dist/cli-help.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type AgentRuntimeId, type AgentSelectionSource } from "./agent-runtime.js";
|
|
2
|
+
import type { TierLadder } from "./model-tier.js";
|
|
2
3
|
import { type TokenMode } from "./tokens.js";
|
|
3
4
|
export type CliFlags = {
|
|
4
5
|
help: boolean;
|
|
@@ -34,11 +35,23 @@ export type CliFlags = {
|
|
|
34
35
|
/** `--auto-switch-on-limit` toggle (default false; opt-in, issue #24 P4). */
|
|
35
36
|
autoSwitchOnLimit: boolean;
|
|
36
37
|
reviewPanel: boolean;
|
|
38
|
+
/** `--verbose` toggle (default false; issue #65 P10). Restores the full in-run
|
|
39
|
+
* firehose instead of the quiet ConsoleUi. */
|
|
40
|
+
verbose: boolean;
|
|
37
41
|
/** `--adaptive-router` toggle (default false; opt-in, issue #41 P2). */
|
|
38
42
|
adaptiveRouter: boolean;
|
|
39
43
|
/** `--explain-routing` toggle (default false; issue #45 P6). Prints the
|
|
40
44
|
* adaptive router's per-iteration reasoning; no effect without the router. */
|
|
41
45
|
explainRouting: boolean;
|
|
46
|
+
/** `--model-routing` toggle (default false; opt-in, issue #66 P11). Routes each
|
|
47
|
+
* stage to a model tier by difficulty + change risk + failure escalation. */
|
|
48
|
+
modelRouting: boolean;
|
|
49
|
+
/** `--fan-out` toggle (default false; opt-in, issue #66 P11). Runs independent
|
|
50
|
+
* plan tasks as isolated worktree sub-agents before the sequential loop. */
|
|
51
|
+
fanOut: boolean;
|
|
52
|
+
/** `--fan-out-concurrency <n>` (default 3; issue #66 P11). Max concurrent
|
|
53
|
+
* sub-agents per wave. */
|
|
54
|
+
fanOutConcurrency: number;
|
|
42
55
|
watch: boolean;
|
|
43
56
|
watchIntervalSec?: number;
|
|
44
57
|
/**
|
|
@@ -159,10 +172,20 @@ export type PrintConfigOptions = {
|
|
|
159
172
|
fallbackError?: string;
|
|
160
173
|
/** Resolved review lenses (empty array = single reviewer). */
|
|
161
174
|
reviewLenses?: string[];
|
|
175
|
+
/** Verbose mode enabled (issue #65 P10): restore full in-run firehose. */
|
|
176
|
+
verbose?: boolean;
|
|
162
177
|
/** Adaptive router enabled (issue #41 P2). */
|
|
163
178
|
adaptiveRouter?: boolean;
|
|
164
179
|
/** Explain-routing enabled (issue #45 P6); no effect without the router. */
|
|
165
180
|
explainRouting?: boolean;
|
|
181
|
+
/** Model routing enabled (issue #66 P11). */
|
|
182
|
+
modelRouting?: boolean;
|
|
183
|
+
/** Resolved tier → model ladder, shown when model routing is on (issue #66 P11). */
|
|
184
|
+
tierLadder?: TierLadder;
|
|
185
|
+
/** Sub-agent fan-out enabled (issue #66 P11). */
|
|
186
|
+
fanOut?: boolean;
|
|
187
|
+
/** Max concurrent sub-agents per fan-out wave (issue #66 P11). */
|
|
188
|
+
fanOutConcurrency?: number;
|
|
166
189
|
watch?: boolean;
|
|
167
190
|
watchIntervalSec?: number;
|
|
168
191
|
/**
|
package/dist/cli-help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-help.d.ts","sourceRoot":"","sources":["../src/cli-help.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-help.d.ts","sourceRoot":"","sources":["../src/cli-help.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-help.js
CHANGED
|
@@ -73,8 +73,13 @@ export function parseFlags(argv, opts = {}) {
|
|
|
73
73
|
let expectingFallbackAgent = false;
|
|
74
74
|
let autoSwitchOnLimit = false;
|
|
75
75
|
let reviewPanel = false;
|
|
76
|
+
let verbose = false;
|
|
76
77
|
let adaptiveRouter = false;
|
|
77
78
|
let explainRouting = false;
|
|
79
|
+
let modelRouting = false;
|
|
80
|
+
let fanOut = false;
|
|
81
|
+
let fanOutConcurrency = 3;
|
|
82
|
+
let expectingFanOutConcurrency = false;
|
|
78
83
|
let watch = false;
|
|
79
84
|
let watchIntervalSec;
|
|
80
85
|
let expectingWatchInterval = false;
|
|
@@ -108,6 +113,14 @@ export function parseFlags(argv, opts = {}) {
|
|
|
108
113
|
expectingMaxRetries = false;
|
|
109
114
|
continue;
|
|
110
115
|
}
|
|
116
|
+
if (expectingFanOutConcurrency) {
|
|
117
|
+
if (!/^\d+$/.test(a) || Number.parseInt(a, 10) < 1) {
|
|
118
|
+
throw new Error(`--fan-out-concurrency must be a positive integer, got: ${JSON.stringify(a)}`);
|
|
119
|
+
}
|
|
120
|
+
fanOutConcurrency = Number.parseInt(a, 10);
|
|
121
|
+
expectingFanOutConcurrency = false;
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
111
124
|
if (expectingLog) {
|
|
112
125
|
log = a;
|
|
113
126
|
expectingLog = false;
|
|
@@ -230,10 +243,18 @@ export function parseFlags(argv, opts = {}) {
|
|
|
230
243
|
autoSwitchOnLimit = true;
|
|
231
244
|
else if (a === "--review-panel")
|
|
232
245
|
reviewPanel = true;
|
|
246
|
+
else if (a === "--verbose")
|
|
247
|
+
verbose = true;
|
|
233
248
|
else if (a === "--adaptive-router")
|
|
234
249
|
adaptiveRouter = true;
|
|
235
250
|
else if (a === "--explain-routing")
|
|
236
251
|
explainRouting = true;
|
|
252
|
+
else if (a === "--model-routing")
|
|
253
|
+
modelRouting = true;
|
|
254
|
+
else if (a === "--fan-out")
|
|
255
|
+
fanOut = true;
|
|
256
|
+
else if (a === "--fan-out-concurrency")
|
|
257
|
+
expectingFanOutConcurrency = true;
|
|
237
258
|
else if (a === "--watch")
|
|
238
259
|
watch = true;
|
|
239
260
|
else if (a === "--watch-interval")
|
|
@@ -334,8 +355,12 @@ export function parseFlags(argv, opts = {}) {
|
|
|
334
355
|
fallbackAgent,
|
|
335
356
|
autoSwitchOnLimit,
|
|
336
357
|
reviewPanel,
|
|
358
|
+
verbose,
|
|
337
359
|
adaptiveRouter,
|
|
338
360
|
explainRouting,
|
|
361
|
+
modelRouting,
|
|
362
|
+
fanOut,
|
|
363
|
+
fanOutConcurrency,
|
|
339
364
|
watch,
|
|
340
365
|
watchIntervalSec,
|
|
341
366
|
issue,
|
|
@@ -403,9 +428,13 @@ Flags:
|
|
|
403
428
|
--agent <runtime> agent CLI runtime: claude | codex (or OTTO_AGENT / .otto/config.json "agent"; default: claude)
|
|
404
429
|
--fallback-agent <runtime> runtime to switch to on a usage/rate limit: claude | codex (or OTTO_FALLBACK_AGENT / config "fallbackAgent"; default: none)
|
|
405
430
|
--auto-switch-on-limit switch to the fallback runtime when the active one hits a limit (or OTTO_AUTO_SWITCH_ON_LIMIT=1 / config "autoSwitchOnLimit"; default: off)
|
|
431
|
+
--verbose print the full in-run event firehose (default: off — quiet mode shows one terse line per meaningful action)
|
|
406
432
|
--review-panel replace the single reviewer stage with correctness/security/tests lens reviewers + one synth commit (default: off)
|
|
407
433
|
--adaptive-router route review depth by per-iteration change risk: single reviewer (low) / lens subset (medium) / full panel (high) (or OTTO_ADAPTIVE_ROUTER=1; default: off)
|
|
408
434
|
--explain-routing print the adaptive router's per-iteration reasoning (change class, risk, chosen depth/lenses); requires --adaptive-router (or OTTO_EXPLAIN_ROUTING=1; default: off)
|
|
435
|
+
--model-routing route each stage to a model tier by difficulty + change risk, escalating on repeated failure; a pinned --model/OTTO_MODEL overrides it (or OTTO_MODEL_ROUTING=1; default: off)
|
|
436
|
+
--fan-out run independent plan tasks (from a .otto/tasks/<key>/tasks.json) as isolated worktree sub-agents before the sequential loop (or OTTO_FAN_OUT=1; default: off)
|
|
437
|
+
--fan-out-concurrency <n> max concurrent sub-agents per fan-out wave (default: 3)
|
|
409
438
|
--branch <mode> where Otto commits: current (default) | branch (new branch) | worktree (isolated checkout)
|
|
410
439
|
--branch-prefix <p> branch name prefix for branch/worktree modes (default: otto/)
|
|
411
440
|
--branch-convention <c> validated branch namespace <c>/<task-key> (e.g. feat, feature, fix); normalizes a trailing slash; overrides --branch-prefix (or OTTO_BRANCH_CONVENTION; default: otto)
|
|
@@ -454,7 +483,7 @@ Environment variables:
|
|
|
454
483
|
`);
|
|
455
484
|
}
|
|
456
485
|
export function printConfig(bin, workspaceDir, packageDir, opts = {}) {
|
|
457
|
-
const { cliVersion, noKeepAlive = false, maxRetries = DEFAULT_MAX_RETRIES, detach = false, detachLogPath, notify = false, budget, cooldownMs, tokenMode = "off", tokenModeError, agentId = "claude", agentDisplayName = "Claude Code", agentSource = "default", agentError, fallbackAgentId, fallbackAgentDisplayName, fallbackSource, autoSwitchOnLimit = false, fallbackError, reviewLenses = [], adaptiveRouter = false, explainRouting = false, watch = false, watchIntervalSec, watchLabel = process.env.OTTO_WATCH_LABEL?.trim() || "otto", watchScope, issue, includeSubIssues = false, maxWaitMs, mode, branchStrategy, branchPrefix, branchConvention, } = opts;
|
|
486
|
+
const { cliVersion, noKeepAlive = false, maxRetries = DEFAULT_MAX_RETRIES, detach = false, detachLogPath, notify = false, budget, cooldownMs, tokenMode = "off", tokenModeError, agentId = "claude", agentDisplayName = "Claude Code", agentSource = "default", agentError, fallbackAgentId, fallbackAgentDisplayName, fallbackSource, autoSwitchOnLimit = false, fallbackError, verbose = false, reviewLenses = [], adaptiveRouter = false, explainRouting = false, modelRouting = false, tierLadder, fanOut = false, fanOutConcurrency = 3, watch = false, watchIntervalSec, watchLabel = process.env.OTTO_WATCH_LABEL?.trim() || "otto", watchScope, issue, includeSubIssues = false, maxWaitMs, mode, branchStrategy, branchPrefix, branchConvention, } = opts;
|
|
458
487
|
const core = readCoreVersion();
|
|
459
488
|
const cli = cliVersion ?? "?";
|
|
460
489
|
const runner = process.env.OTTO_RUNNER?.trim() === "host" ? "host" : "sandbox";
|
|
@@ -497,6 +526,11 @@ export function printConfig(bin, workspaceDir, packageDir, opts = {}) {
|
|
|
497
526
|
: explainRouting
|
|
498
527
|
? "off (--explain-routing needs --adaptive-router)"
|
|
499
528
|
: "off";
|
|
529
|
+
const modelRoutingStatus = modelRouting
|
|
530
|
+
? tierLadder
|
|
531
|
+
? `on (cheap=${tierLadder.cheap ?? "default"}, mid=${tierLadder.mid ?? "default"}, strong=${tierLadder.strong ?? "default"})`
|
|
532
|
+
: "on"
|
|
533
|
+
: "off";
|
|
500
534
|
const watchStatus = watch
|
|
501
535
|
? `on (every ${watchIntervalSec ?? 300}s, label "${watchLabel}")`
|
|
502
536
|
: "off";
|
|
@@ -527,8 +561,11 @@ export function printConfig(bin, workspaceDir, packageDir, opts = {}) {
|
|
|
527
561
|
cooldown ${cooldownStatus}
|
|
528
562
|
token mode ${tokenModeStatus}
|
|
529
563
|
max-wait ${maxWaitMs != null ? `${Math.round(maxWaitMs / 60000)}m` : "6h (default)"}
|
|
564
|
+
verbose ${verbose}
|
|
530
565
|
review ${reviewStatus}
|
|
531
566
|
routing ${routingStatus}
|
|
567
|
+
model routing ${modelRoutingStatus}
|
|
568
|
+
fan-out ${fanOut ? `on (concurrency ${fanOutConcurrency})` : "off"}
|
|
532
569
|
branch ${branchStatus}
|
|
533
570
|
watch ${watchStatus}
|
|
534
571
|
scope ${scopeStatus}
|
package/dist/cli-help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-help.js","sourceRoot":"","sources":["../src/cli-help.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli-help.js","sourceRoot":"","sources":["../src/cli-help.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-run console renderers selectable per run (issue #65 P10). An `EventSink`
|
|
3
|
+
* consumes already-parsed stream events; the runner owns the streaming/parse
|
|
4
|
+
* logic and only forwards events here.
|
|
5
|
+
*
|
|
6
|
+
* - `VerboseSink` reproduces today's firehose by delegating to `renderEvent`.
|
|
7
|
+
* - `ConsoleUi` is the quiet default: it classifies each event into at most
|
|
8
|
+
* one terse line (edit / commit / tests / error), suppressing the rest.
|
|
9
|
+
*
|
|
10
|
+
* All styling goes through stream-render's TTY-gated primitives, so NO_COLOR
|
|
11
|
+
* and non-TTY output degrade automatically.
|
|
12
|
+
*/
|
|
13
|
+
import { type StreamJson } from "./stream-render.js";
|
|
14
|
+
export interface EventSink {
|
|
15
|
+
setStage(iteration: number, stage: string): void;
|
|
16
|
+
onEvent(ev: StreamJson): void;
|
|
17
|
+
}
|
|
18
|
+
/** Reproduces today's in-run output byte-for-byte by delegating to renderEvent. */
|
|
19
|
+
export declare class VerboseSink implements EventSink {
|
|
20
|
+
private readonly toolMap;
|
|
21
|
+
setStage(): void;
|
|
22
|
+
onEvent(ev: StreamJson): void;
|
|
23
|
+
}
|
|
24
|
+
/** Quiet renderer: one terse line per meaningful action; suppresses noise. */
|
|
25
|
+
export declare class ConsoleUi implements EventSink {
|
|
26
|
+
private readonly pending;
|
|
27
|
+
setStage(iteration: number, stage: string): void;
|
|
28
|
+
onEvent(ev: StreamJson): void;
|
|
29
|
+
private onAssistant;
|
|
30
|
+
private onUser;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=console-ui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-ui.d.ts","sourceRoot":"","sources":["../src/console-ui.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EASL,KAAK,UAAU,EAEhB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,OAAO,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI,CAAC;CAC/B;AAED,mFAAmF;AACnF,qBAAa,WAAY,YAAW,SAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,QAAQ,IAAI,IAAI;IAKhB,OAAO,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI;CAG9B;AAqBD,8EAA8E;AAC9E,qBAAa,SAAU,YAAW,SAAS;IAKzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGpB;IAEJ,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQhD,OAAO,CAAC,EAAE,EAAE,UAAU,GAAG,IAAI;IAK7B,OAAO,CAAC,WAAW;IAyCnB,OAAO,CAAC,MAAM;CAiCf"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-run console renderers selectable per run (issue #65 P10). An `EventSink`
|
|
3
|
+
* consumes already-parsed stream events; the runner owns the streaming/parse
|
|
4
|
+
* logic and only forwards events here.
|
|
5
|
+
*
|
|
6
|
+
* - `VerboseSink` reproduces today's firehose by delegating to `renderEvent`.
|
|
7
|
+
* - `ConsoleUi` is the quiet default: it classifies each event into at most
|
|
8
|
+
* one terse line (edit / commit / tests / error), suppressing the rest.
|
|
9
|
+
*
|
|
10
|
+
* All styling goes through stream-render's TTY-gated primitives, so NO_COLOR
|
|
11
|
+
* and non-TTY output degrade automatically.
|
|
12
|
+
*/
|
|
13
|
+
import { bold, cyan, dim, green, red, renderEvent, SYM, USE_COLOR, } from "./stream-render.js";
|
|
14
|
+
/** Reproduces today's in-run output byte-for-byte by delegating to renderEvent. */
|
|
15
|
+
export class VerboseSink {
|
|
16
|
+
toolMap = new Map();
|
|
17
|
+
setStage() {
|
|
18
|
+
// No per-stage header in verbose mode — the loop's own banner stands in.
|
|
19
|
+
// Clear per-stage tool tracking to bound memory over long runs.
|
|
20
|
+
this.toolMap.clear();
|
|
21
|
+
}
|
|
22
|
+
onEvent(ev) {
|
|
23
|
+
renderEvent(ev, this.toolMap);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const TEST_RUNNER_RE = /\b(pnpm (run )?test|vitest|tsc|node --test|dotnet test|dotnet build|pytest|go test|cargo test)\b/;
|
|
27
|
+
const ERROR_SNIPPET = 160;
|
|
28
|
+
/** Quiet renderer: one terse line per meaningful action; suppresses noise. */
|
|
29
|
+
export class ConsoleUi {
|
|
30
|
+
// tool_use id → tracking, mirroring renderEvent's toolMap pattern. A pending
|
|
31
|
+
// entry is `kind: "test"` when its Bash command looked like a test/typecheck
|
|
32
|
+
// run, so the paired tool_result can be summarized; "other" entries only carry
|
|
33
|
+
// the name for error attribution.
|
|
34
|
+
pending = new Map();
|
|
35
|
+
setStage(iteration, stage) {
|
|
36
|
+
// Clear per-stage pending map to bound memory over long runs.
|
|
37
|
+
this.pending.clear();
|
|
38
|
+
process.stderr.write(`${dim(`${SYM.rule}${SYM.rule} iter ${iteration} · ${stage} ${SYM.rule}${SYM.rule}`)}\n`);
|
|
39
|
+
}
|
|
40
|
+
onEvent(ev) {
|
|
41
|
+
if (ev.type === "assistant")
|
|
42
|
+
this.onAssistant(ev);
|
|
43
|
+
else if (ev.type === "user")
|
|
44
|
+
this.onUser(ev);
|
|
45
|
+
}
|
|
46
|
+
onAssistant(ev) {
|
|
47
|
+
const content = ev.message?.content ??
|
|
48
|
+
[];
|
|
49
|
+
for (const block of content) {
|
|
50
|
+
if (block.type !== "tool_use")
|
|
51
|
+
continue; // suppress text/thinking
|
|
52
|
+
const name = block.name ?? "?";
|
|
53
|
+
const input = block.input && typeof block.input === "object"
|
|
54
|
+
? block.input
|
|
55
|
+
: {};
|
|
56
|
+
if (name === "Edit" || name === "Write") {
|
|
57
|
+
const path = typeof input.file_path === "string" ? input.file_path : "?";
|
|
58
|
+
process.stderr.write(`${cyan(SYM.bullet)} edited ${bold(path)}\n`);
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if (name === "Bash") {
|
|
62
|
+
const command = typeof input.command === "string" ? input.command : "";
|
|
63
|
+
if (/git commit/.test(command)) {
|
|
64
|
+
const subject = commitSubject(command);
|
|
65
|
+
process.stderr.write(`${cyan(SYM.bullet)} committed: ${bold(subject)}\n`);
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (TEST_RUNNER_RE.test(command)) {
|
|
69
|
+
if (block.id)
|
|
70
|
+
this.pending.set(block.id, { name, kind: "test" });
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
if (block.id)
|
|
74
|
+
this.pending.set(block.id, { name, kind: "other" });
|
|
75
|
+
continue; // suppress other Bash output until/unless it errors
|
|
76
|
+
}
|
|
77
|
+
// Read/Glob/Grep/anything else: track name (for error attribution), no line.
|
|
78
|
+
if (block.id)
|
|
79
|
+
this.pending.set(block.id, { name, kind: "other" });
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
onUser(ev) {
|
|
83
|
+
const content = ev.message?.content ?? [];
|
|
84
|
+
for (const block of content) {
|
|
85
|
+
if (block.type !== "tool_result")
|
|
86
|
+
continue;
|
|
87
|
+
const id = block.tool_use_id;
|
|
88
|
+
const tracked = id ? this.pending.get(id) : undefined;
|
|
89
|
+
if (id)
|
|
90
|
+
this.pending.delete(id);
|
|
91
|
+
const text = stringifyToolResult(block.content);
|
|
92
|
+
if (block.is_error) {
|
|
93
|
+
const name = tracked?.name ?? "tool";
|
|
94
|
+
const snippet = text.replace(/\s+/g, " ").trim().slice(0, ERROR_SNIPPET);
|
|
95
|
+
process.stderr.write(`${red(SYM.cross)} ${bold(name)} failed: ${red(snippet)}${text.length > snippet.length ? " " + SYM.ellip : ""}\n`);
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
if (tracked?.kind === "test") {
|
|
99
|
+
const { ok, summary } = summarizeTests(text);
|
|
100
|
+
// In color mode SYM.cross is "✗", so we append " FAIL" for clarity.
|
|
101
|
+
// In no-color mode SYM.cross is already "FAIL", so we omit it to avoid "FAIL FAIL".
|
|
102
|
+
const label = ok
|
|
103
|
+
? green(SYM.check)
|
|
104
|
+
: `${red(SYM.cross)}${USE_COLOR ? " FAIL" : ""}`;
|
|
105
|
+
process.stderr.write(`${cyan(SYM.bullet)} tests: ${label}${summary ? " " + dim(summary) : ""}\n`);
|
|
106
|
+
}
|
|
107
|
+
// Non-error, non-test results are suppressed in quiet mode.
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/** Pull the commit subject: the `-m "…"` value, else the first non-empty line. */
|
|
112
|
+
function commitSubject(command) {
|
|
113
|
+
const m = command.match(/-m\s+(?:"([^"]*)"|'([^']*)'|(\S+))/);
|
|
114
|
+
if (m)
|
|
115
|
+
return (m[1] ?? m[2] ?? m[3] ?? "").trim();
|
|
116
|
+
const first = command
|
|
117
|
+
.split("\n")
|
|
118
|
+
.map((l) => l.trim())
|
|
119
|
+
.find((l) => l.length > 0);
|
|
120
|
+
return first ?? command.trim();
|
|
121
|
+
}
|
|
122
|
+
/** Classify a test/typecheck result text as pass/fail with a short summary. */
|
|
123
|
+
function summarizeTests(text) {
|
|
124
|
+
const flat = text.replace(/\s+/g, " ").trim();
|
|
125
|
+
// A bare fail/error signals trouble, but "0 failed" / "0 errors" do not.
|
|
126
|
+
const hasFailureWord = /\b(fail|failed|failure|error)\b/i.test(flat);
|
|
127
|
+
const onlyZeroFailures = /\b0\s+(failed|failures|errors)\b/i.test(flat);
|
|
128
|
+
const failed = hasFailureWord && !onlyZeroFailures;
|
|
129
|
+
const ok = !failed;
|
|
130
|
+
// Surface the first line that mentions a count/failure, else a short head.
|
|
131
|
+
const line = text
|
|
132
|
+
.split("\n")
|
|
133
|
+
.map((l) => l.trim())
|
|
134
|
+
.find((l) => /\b(fail|error|passed|failed)\b/i.test(l)) ??
|
|
135
|
+
flat.slice(0, 80);
|
|
136
|
+
return { ok, summary: line.slice(0, 80) };
|
|
137
|
+
}
|
|
138
|
+
function stringifyToolResult(content) {
|
|
139
|
+
if (typeof content === "string")
|
|
140
|
+
return content;
|
|
141
|
+
if (Array.isArray(content)) {
|
|
142
|
+
return content
|
|
143
|
+
.map((c) => {
|
|
144
|
+
if (typeof c === "string")
|
|
145
|
+
return c;
|
|
146
|
+
if (c && typeof c === "object" && "text" in c)
|
|
147
|
+
return String(c.text ?? "");
|
|
148
|
+
return JSON.stringify(c);
|
|
149
|
+
})
|
|
150
|
+
.join("\n");
|
|
151
|
+
}
|
|
152
|
+
return JSON.stringify(content ?? "");
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=console-ui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-ui.js","sourceRoot":"","sources":["../src/console-ui.ts"],"names":[],"mappings":"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"}
|
package/dist/fanout.d.ts
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sub-agent fan-out executor (issue #66 P11). Groups a plan's tasks into waves
|
|
3
|
+
* of independent work (disjoint file scope, deps satisfied). Within a wave it
|
|
4
|
+
* runs each task's sub-agent concurrently in its own git worktree, then a
|
|
5
|
+
* synthesizer cherry-picks the per-task commits back onto the workspace HEAD
|
|
6
|
+
* **serially** (the workspace index is shared, so merges must not race). Any
|
|
7
|
+
* conflict, empty commit, or sub-agent error defers the task to the normal
|
|
8
|
+
* sequential loop — fan-out never leaves the tree conflicted or half-merged.
|
|
9
|
+
*/
|
|
10
|
+
import type { AgentRuntimeId } from "./agent-runtime.js";
|
|
11
|
+
import type { TierLadder } from "./model-tier.js";
|
|
12
|
+
import { type PlanTask } from "./plan-tasks.js";
|
|
13
|
+
import type { StageResult } from "./runner.js";
|
|
14
|
+
export type FanoutTaskStatus = "landed" | "deferred";
|
|
15
|
+
export type FanoutTaskOutcome = {
|
|
16
|
+
task: PlanTask;
|
|
17
|
+
status: FanoutTaskStatus;
|
|
18
|
+
reason?: string;
|
|
19
|
+
};
|
|
20
|
+
export type FanoutResult = {
|
|
21
|
+
outcomes: FanoutTaskOutcome[];
|
|
22
|
+
/** Tasks that did not land cleanly and must be re-run sequentially. */
|
|
23
|
+
deferred: PlanTask[];
|
|
24
|
+
};
|
|
25
|
+
export type RunFanoutOptions = {
|
|
26
|
+
tasks: PlanTask[];
|
|
27
|
+
workspaceDir: string;
|
|
28
|
+
packageDir: string;
|
|
29
|
+
iteration: number;
|
|
30
|
+
maxRetries: number;
|
|
31
|
+
cooldownMs: number;
|
|
32
|
+
concurrency: number;
|
|
33
|
+
ladder: TierLadder;
|
|
34
|
+
routing: boolean;
|
|
35
|
+
runtimeId: AgentRuntimeId;
|
|
36
|
+
signal?: AbortSignal;
|
|
37
|
+
/**
|
|
38
|
+
* The parallel per-task work: implement `task` inside `worktreeDir` and commit
|
|
39
|
+
* there. Injectable so tests don't spawn a model; defaults to the
|
|
40
|
+
* sub-implementer stage. A throw defers the task (its worktree is discarded).
|
|
41
|
+
*/
|
|
42
|
+
runSubAgent?: (task: PlanTask, worktreeDir: string) => Promise<void>;
|
|
43
|
+
/** Called with each default sub-agent's result so the loop rolls its cost +
|
|
44
|
+
* tokens into the run total (budget/pacing). Not called for an injected
|
|
45
|
+
* `runSubAgent`. */
|
|
46
|
+
onSubAgent?: (sr: StageResult) => void;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Run the plan's tasks wave-by-wave. Phase A (parallel, bounded by
|
|
50
|
+
* `concurrency`): each task runs its sub-agent in a fresh worktree. Phase B
|
|
51
|
+
* (serial): cherry-pick each worktree's new commit(s) onto the workspace HEAD;
|
|
52
|
+
* a conflict / empty commit / sub-agent error defers the task. Worktrees are
|
|
53
|
+
* always cleaned up.
|
|
54
|
+
*/
|
|
55
|
+
export declare function runFanout(opts: RunFanoutOptions): Promise<FanoutResult>;
|
|
56
|
+
//# sourceMappingURL=fanout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fanout.d.ts","sourceRoot":"","sources":["../src/fanout.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAsB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK/C,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAErD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,uEAAuE;IACvE,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE;;yBAEqB;IACrB,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;CACxC,CAAC;AA6DF;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CA2D7E"}
|
package/dist/fanout.js
ADDED
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sub-agent fan-out executor (issue #66 P11). Groups a plan's tasks into waves
|
|
3
|
+
* of independent work (disjoint file scope, deps satisfied). Within a wave it
|
|
4
|
+
* runs each task's sub-agent concurrently in its own git worktree, then a
|
|
5
|
+
* synthesizer cherry-picks the per-task commits back onto the workspace HEAD
|
|
6
|
+
* **serially** (the workspace index is shared, so merges must not race). Any
|
|
7
|
+
* conflict, empty commit, or sub-agent error defers the task to the normal
|
|
8
|
+
* sequential loop — fan-out never leaves the tree conflicted or half-merged.
|
|
9
|
+
*/
|
|
10
|
+
import { git, headSha } from "./git.js";
|
|
11
|
+
import { planParallelGroups } from "./plan-tasks.js";
|
|
12
|
+
import { executeStage } from "./stage-exec.js";
|
|
13
|
+
import { STAGES } from "./stages.js";
|
|
14
|
+
import { createWorktree } from "./worktree.js";
|
|
15
|
+
/** Bounded-concurrency map: at most `limit` promises in flight at once. */
|
|
16
|
+
async function mapPool(items, limit, fn) {
|
|
17
|
+
const out = new Array(items.length);
|
|
18
|
+
let next = 0;
|
|
19
|
+
const width = Math.max(1, Math.min(limit, items.length));
|
|
20
|
+
const worker = async () => {
|
|
21
|
+
while (next < items.length) {
|
|
22
|
+
const i = next++;
|
|
23
|
+
out[i] = await fn(items[i], i);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
await Promise.all(Array.from({ length: width }, worker));
|
|
27
|
+
return out;
|
|
28
|
+
}
|
|
29
|
+
/** Default parallel phase: run the sub-implementer stage in the worktree. */
|
|
30
|
+
function defaultRunSubAgent(opts) {
|
|
31
|
+
return async (task, worktreeDir) => {
|
|
32
|
+
const sr = await executeStage({
|
|
33
|
+
stage: STAGES.subImplementer,
|
|
34
|
+
vars: {
|
|
35
|
+
RESUME: "",
|
|
36
|
+
TASK_TITLE: task.title,
|
|
37
|
+
TASK_SCOPE: task.fileScope.join("\n"),
|
|
38
|
+
},
|
|
39
|
+
workspaceDir: worktreeDir,
|
|
40
|
+
packageDir: opts.packageDir,
|
|
41
|
+
iteration: opts.iteration,
|
|
42
|
+
maxRetries: opts.maxRetries,
|
|
43
|
+
signal: opts.signal,
|
|
44
|
+
agentId: opts.runtimeId,
|
|
45
|
+
modelRouting: opts.routing,
|
|
46
|
+
tierLadder: opts.ladder,
|
|
47
|
+
logLabel: `sub-${task.id}`,
|
|
48
|
+
// The worktree's shared `.git` lives in the parent repo, outside the
|
|
49
|
+
// worktree dir — allow writes there so `git commit` works under the
|
|
50
|
+
// sandbox runner (issue #66 P11).
|
|
51
|
+
sandboxWriteRoots: [opts.workspaceDir],
|
|
52
|
+
});
|
|
53
|
+
opts.onSubAgent?.(sr);
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Run the plan's tasks wave-by-wave. Phase A (parallel, bounded by
|
|
58
|
+
* `concurrency`): each task runs its sub-agent in a fresh worktree. Phase B
|
|
59
|
+
* (serial): cherry-pick each worktree's new commit(s) onto the workspace HEAD;
|
|
60
|
+
* a conflict / empty commit / sub-agent error defers the task. Worktrees are
|
|
61
|
+
* always cleaned up.
|
|
62
|
+
*/
|
|
63
|
+
export async function runFanout(opts) {
|
|
64
|
+
const runSubAgent = opts.runSubAgent ?? defaultRunSubAgent(opts);
|
|
65
|
+
const waves = planParallelGroups(opts.tasks);
|
|
66
|
+
const outcomes = [];
|
|
67
|
+
for (const wave of waves) {
|
|
68
|
+
if (opts.signal?.aborted) {
|
|
69
|
+
for (const task of wave)
|
|
70
|
+
outcomes.push({ task, status: "deferred", reason: "aborted" });
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
// Create one worktree per task up front (serial — git worktree add mutates
|
|
74
|
+
// .git), then run the sub-agents concurrently inside them.
|
|
75
|
+
const built = wave.map((task) => {
|
|
76
|
+
const wt = createWorktree(opts.workspaceDir, `${opts.iteration}-${task.id}`);
|
|
77
|
+
return { task, dir: wt.dir, before: headSha(wt.dir), cleanup: wt.cleanup };
|
|
78
|
+
});
|
|
79
|
+
try {
|
|
80
|
+
// Phase A — parallel sub-agents.
|
|
81
|
+
await mapPool(built, opts.concurrency, async (b) => {
|
|
82
|
+
try {
|
|
83
|
+
await runSubAgent(b.task, b.dir);
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
b.failure = `sub-agent error: ${err.message}`;
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
// Phase B — serial cherry-pick onto the workspace HEAD.
|
|
90
|
+
for (const b of built) {
|
|
91
|
+
if (b.failure) {
|
|
92
|
+
outcomes.push({ task: b.task, status: "deferred", reason: b.failure });
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
const after = headSha(b.dir);
|
|
96
|
+
if (!after || after === b.before) {
|
|
97
|
+
outcomes.push({ task: b.task, status: "deferred", reason: "no commit produced" });
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
const picked = git(["cherry-pick", `${b.before}..${after}`], opts.workspaceDir);
|
|
101
|
+
if (picked == null) {
|
|
102
|
+
git(["cherry-pick", "--abort"], opts.workspaceDir);
|
|
103
|
+
outcomes.push({ task: b.task, status: "deferred", reason: "cherry-pick conflict" });
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
outcomes.push({ task: b.task, status: "landed" });
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
finally {
|
|
110
|
+
for (const b of built)
|
|
111
|
+
b.cleanup();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
return {
|
|
115
|
+
outcomes,
|
|
116
|
+
deferred: outcomes.filter((o) => o.status === "deferred").map((o) => o.task),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=fanout.js.map
|