chorus-codes 0.8.26 → 0.8.28
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/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/connect/page_client-reference-manifest.js +1 -1
- package/.next/server/app/demo/[scenario]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/new/page_client-reference-manifest.js +1 -1
- package/.next/server/app/new.html +1 -1
- package/.next/server/app/new.rsc +2 -2
- package/.next/server/app/new.segments/_full.segment.rsc +2 -2
- package/.next/server/app/new.segments/_head.segment.rsc +1 -1
- package/.next/server/app/new.segments/_index.segment.rsc +1 -1
- package/.next/server/app/new.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/new.segments/new/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/new.segments/new.segment.rsc +1 -1
- package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/server/app/onboarding.html +1 -1
- package/.next/server/app/onboarding.rsc +2 -2
- package/.next/server/app/onboarding.segments/_full.segment.rsc +2 -2
- package/.next/server/app/onboarding.segments/_head.segment.rsc +1 -1
- package/.next/server/app/onboarding.segments/_index.segment.rsc +1 -1
- package/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/onboarding.segments/onboarding.segment.rsc +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/personas/page_client-reference-manifest.js +1 -1
- package/.next/server/app/personas.html +1 -1
- package/.next/server/app/personas.rsc +2 -2
- package/.next/server/app/personas.segments/_full.segment.rsc +2 -2
- package/.next/server/app/personas.segments/_head.segment.rsc +1 -1
- package/.next/server/app/personas.segments/_index.segment.rsc +1 -1
- package/.next/server/app/personas.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/personas.segments/personas/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/personas.segments/personas.segment.rsc +1 -1
- package/.next/server/app/runs/[runId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/runs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/permissions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +2 -2
- package/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/server/app/templates/page_client-reference-manifest.js +1 -1
- package/.next/server/app/templates.html +1 -1
- package/.next/server/app/templates.rsc +2 -2
- package/.next/server/app/templates.segments/_full.segment.rsc +2 -2
- package/.next/server/app/templates.segments/_head.segment.rsc +1 -1
- package/.next/server/app/templates.segments/_index.segment.rsc +1 -1
- package/.next/server/app/templates.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/templates.segments/templates/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/templates.segments/templates.segment.rsc +1 -1
- package/.next/server/chunks/189.js +1 -1
- package/.next/server/chunks/325.js +1 -1
- package/.next/server/chunks/681.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{245-e103518e1c6037c0.js → 245-203bd8285e6b0858.js} +1 -1
- package/.next/static/chunks/641-02dbc18bdc194ee1.js +1 -0
- package/.next/trace +20 -20
- package/.next/trace-build +1 -1
- package/README.md +22 -0
- package/bin/chorus.mjs +87 -5
- package/dist/cli/commands/diagnose.js +404 -0
- package/dist/cli/commands/diagnose.js.map +1 -0
- package/dist/cli/crash-hook.js +135 -0
- package/dist/cli/crash-hook.js.map +1 -0
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/daemon/runner/fallback-registry.js +110 -0
- package/dist/daemon/runner/fallback-registry.js.map +1 -0
- package/dist/daemon/runner/reviewer-driver.js +68 -23
- package/dist/daemon/runner/reviewer-driver.js.map +1 -1
- package/dist/daemon/runner/template-fallback.js +22 -8
- package/dist/daemon/runner/template-fallback.js.map +1 -1
- package/package.json +1 -1
- package/.next/static/chunks/641-2908cb9553b8753a.js +0 -1
- /package/.next/static/{eOeXty5cBGWg7xnmtF6ST → NjUsrVtX8A7dE29z5nGfv}/_buildManifest.js +0 -0
- /package/.next/static/{eOeXty5cBGWg7xnmtF6ST → NjUsrVtX8A7dE29z5nGfv}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._testing = void 0;
|
|
4
|
+
exports.installCrashHook = installCrashHook;
|
|
5
|
+
/**
|
|
6
|
+
* Crash hook — last-resort uncaught error capture for the CLI.
|
|
7
|
+
*
|
|
8
|
+
* Goals:
|
|
9
|
+
* 1. When the bin entry crashes (uncaught exception or unhandled
|
|
10
|
+
* rejection), write a single self-contained log file to
|
|
11
|
+
* ~/.chorus/crashes/<ISO>.log so the user has something concrete
|
|
12
|
+
* to attach to a bug report.
|
|
13
|
+
* 2. Print a one-line nudge to stderr pointing at the file + the
|
|
14
|
+
* issues URL. Do NOT dump the full stack — most users panic at
|
|
15
|
+
* raw stack traces; the file is for the maintainer.
|
|
16
|
+
* 3. NEVER throw from inside the hook — a hook that itself crashes
|
|
17
|
+
* is the worst failure mode (silently lost diagnostic).
|
|
18
|
+
*
|
|
19
|
+
* Why this lives in its own tiny module:
|
|
20
|
+
* - Must be installable BEFORE any other import in bin/chorus.mjs so
|
|
21
|
+
* it catches early-startup crashes (e.g. the Node 25 + Windows
|
|
22
|
+
* ESM URL scheme issue that motivated this work — bin's
|
|
23
|
+
* `await import(distEntry)` fails with `Received protocol 'c:'`
|
|
24
|
+
* before any CLI code runs).
|
|
25
|
+
* - Therefore can't depend on commander, ui.ts, libsql, or any
|
|
26
|
+
* compiled module that itself might fail to load.
|
|
27
|
+
*
|
|
28
|
+
* Plain `node:` builtins only — same reason. Module is loaded by the
|
|
29
|
+
* .mjs bin in raw-ESM mode, no tsx, no transpile.
|
|
30
|
+
*/
|
|
31
|
+
const node_fs_1 = require("node:fs");
|
|
32
|
+
const node_os_1 = require("node:os");
|
|
33
|
+
const node_path_1 = require("node:path");
|
|
34
|
+
const ISSUE_URL = 'https://github.com/chorus-codes/chorus/issues/new';
|
|
35
|
+
function timestamp() {
|
|
36
|
+
return new Date().toISOString().replace(/[:.]/g, '-');
|
|
37
|
+
}
|
|
38
|
+
function buildCrashLog(err, source, version) {
|
|
39
|
+
const stack = err instanceof Error
|
|
40
|
+
? `${err.name}: ${err.message}\n${err.stack ?? '(no stack)'}`
|
|
41
|
+
: String(err);
|
|
42
|
+
return [
|
|
43
|
+
'# Chorus crash report',
|
|
44
|
+
'',
|
|
45
|
+
`timestamp: ${new Date().toISOString()}`,
|
|
46
|
+
`source: ${source}`,
|
|
47
|
+
`chorus: ${version}`,
|
|
48
|
+
`node: ${process.versions.node}`,
|
|
49
|
+
`platform: ${process.platform} ${process.arch}`,
|
|
50
|
+
`argv: ${process.argv.slice(1).join(' ')}`,
|
|
51
|
+
`cwd: ${process.cwd()}`,
|
|
52
|
+
`uptime_ms: ${Math.round(process.uptime() * 1000)}`,
|
|
53
|
+
'',
|
|
54
|
+
'## Error',
|
|
55
|
+
'',
|
|
56
|
+
stack,
|
|
57
|
+
'',
|
|
58
|
+
].join('\n');
|
|
59
|
+
}
|
|
60
|
+
function writeCrashFile(dir, body) {
|
|
61
|
+
try {
|
|
62
|
+
(0, node_fs_1.mkdirSync)(dir, { recursive: true });
|
|
63
|
+
const file = (0, node_path_1.join)(dir, `${timestamp()}.log`);
|
|
64
|
+
(0, node_fs_1.writeFileSync)(file, body, { encoding: 'utf-8' });
|
|
65
|
+
return file;
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// mkdir or write failed (read-only home, ENOSPC, ...). The hook
|
|
69
|
+
// must still print SOMETHING useful to stderr — the user's
|
|
70
|
+
// diagnostic value here is "chorus crashed at <stack>", not "we
|
|
71
|
+
// couldn't write a file."
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Install crash handlers on process. Idempotent — calling twice is a
|
|
77
|
+
* no-op. We track the registered listeners so `_testing.reset()` (and
|
|
78
|
+
* a hypothetical re-install in production) can detach them, otherwise
|
|
79
|
+
* each test that runs install spawns a new listener and the next
|
|
80
|
+
* uncaughtException fires the cumulative chain N times.
|
|
81
|
+
*/
|
|
82
|
+
let installed = false;
|
|
83
|
+
let activeUncaught = null;
|
|
84
|
+
let activeUnhandled = null;
|
|
85
|
+
function installCrashHook(opts = {}) {
|
|
86
|
+
if (installed)
|
|
87
|
+
return;
|
|
88
|
+
installed = true;
|
|
89
|
+
const crashDir = opts.crashDir ?? (0, node_path_1.join)((0, node_os_1.homedir)(), '.chorus', 'crashes');
|
|
90
|
+
const stderr = opts.stderr ?? ((msg) => process.stderr.write(msg));
|
|
91
|
+
const exit = opts.exit ?? ((code) => process.exit(code));
|
|
92
|
+
const version = opts.version ?? '(unknown)';
|
|
93
|
+
const handle = (err, source) => {
|
|
94
|
+
const body = buildCrashLog(err, source, version);
|
|
95
|
+
const file = writeCrashFile(crashDir, body);
|
|
96
|
+
const headline = err instanceof Error ? `${err.name}: ${err.message}` : String(err);
|
|
97
|
+
stderr('\n');
|
|
98
|
+
stderr(`✗ Chorus crashed (${source}): ${headline}\n`);
|
|
99
|
+
if (file) {
|
|
100
|
+
stderr(` Crash log saved to: ${file}\n`);
|
|
101
|
+
stderr(` Please attach it to a new issue: ${ISSUE_URL}\n`);
|
|
102
|
+
stderr(' Or run: chorus diagnose\n');
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
// File write failed — give the user the stack inline as a
|
|
106
|
+
// last-resort fallback so they have something to paste.
|
|
107
|
+
stderr(` (could not write crash log to ${crashDir})\n`);
|
|
108
|
+
stderr(` Please file an issue at ${ISSUE_URL} with this stack:\n`);
|
|
109
|
+
stderr(body + '\n');
|
|
110
|
+
}
|
|
111
|
+
stderr('\n');
|
|
112
|
+
exit(1);
|
|
113
|
+
};
|
|
114
|
+
activeUncaught = (err) => handle(err, 'uncaughtException');
|
|
115
|
+
activeUnhandled = (err) => handle(err, 'unhandledRejection');
|
|
116
|
+
process.on('uncaughtException', activeUncaught);
|
|
117
|
+
process.on('unhandledRejection', activeUnhandled);
|
|
118
|
+
}
|
|
119
|
+
// Exported for tests.
|
|
120
|
+
exports._testing = {
|
|
121
|
+
buildCrashLog,
|
|
122
|
+
writeCrashFile,
|
|
123
|
+
reset: () => {
|
|
124
|
+
if (activeUncaught) {
|
|
125
|
+
process.off('uncaughtException', activeUncaught);
|
|
126
|
+
activeUncaught = null;
|
|
127
|
+
}
|
|
128
|
+
if (activeUnhandled) {
|
|
129
|
+
process.off('unhandledRejection', activeUnhandled);
|
|
130
|
+
activeUnhandled = null;
|
|
131
|
+
}
|
|
132
|
+
installed = false;
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
//# sourceMappingURL=crash-hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crash-hook.js","sourceRoot":"","sources":["../../src/cli/crash-hook.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -9,6 +9,7 @@ const open_1 = __importDefault(require("open"));
|
|
|
9
9
|
const os_1 = __importDefault(require("os"));
|
|
10
10
|
const path_1 = __importDefault(require("path"));
|
|
11
11
|
const daemon_discovery_js_1 = require("../lib/daemon-discovery.js");
|
|
12
|
+
const diagnose_js_1 = require("./commands/diagnose.js");
|
|
12
13
|
const doctor_js_1 = require("./commands/doctor.js");
|
|
13
14
|
const init_js_1 = require("./commands/init.js");
|
|
14
15
|
const start_js_1 = require("./commands/start.js");
|
|
@@ -60,6 +61,7 @@ program.addHelpText('beforeAll', () => {
|
|
|
60
61
|
(0, stop_js_1.registerStopCommand)(program);
|
|
61
62
|
(0, status_js_1.registerStatusCommand)(program);
|
|
62
63
|
(0, doctor_js_1.registerDoctorCommand)(program);
|
|
64
|
+
(0, diagnose_js_1.registerDiagnoseCommand)(program);
|
|
63
65
|
(0, update_js_1.registerUpdateCommand)(program);
|
|
64
66
|
program
|
|
65
67
|
.command('ui')
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Per-chat/round in-flight (lineage, model) registry — prevents two
|
|
4
|
+
* reviewer slots from independently picking the SAME template fallback
|
|
5
|
+
* target when their primaries fail in parallel.
|
|
6
|
+
*
|
|
7
|
+
* Why this exists:
|
|
8
|
+
* `buildSlotFallbackChain` dedups at chain-construction time against
|
|
9
|
+
* every active slot's PRIMARY model, but the template-level fallback
|
|
10
|
+
* list is shared across all slots. Two slots both compute the same
|
|
11
|
+
* tail (e.g. `anthropic/claude-sonnet-4-6`) and, when both primaries
|
|
12
|
+
* fail simultaneously, both dispatch to it in parallel — wasted cost,
|
|
13
|
+
* broken lineage diversity (the whole point of multi-LLM peer review).
|
|
14
|
+
* Real example 2026-05-08: a gemini slot AND an opencode/kimi slot
|
|
15
|
+
* both fell back to claude-sonnet-4-6 on the same run.
|
|
16
|
+
*
|
|
17
|
+
* Semantics:
|
|
18
|
+
* - `tryClaim(chatId, round, lineage, model)` — true on first claim,
|
|
19
|
+
* false if another slot in the same chat/round is already running
|
|
20
|
+
* this exact (lineage, model). Idempotent guard, never throws.
|
|
21
|
+
* - `release(...)` — called by the same slot when its attempt
|
|
22
|
+
* finishes (success, null, throw — all paths). Other slots can now
|
|
23
|
+
* claim. Idempotent.
|
|
24
|
+
* - `resetRound(chatId, round)` — drops all claims for a chat/round.
|
|
25
|
+
* Called from runner on phase_done so a multi-round chat starts
|
|
26
|
+
* each round with a clean registry.
|
|
27
|
+
*
|
|
28
|
+
* Why per-round, not per-chat:
|
|
29
|
+
* Round 2 reviewers are a fresh fan-out; their fallback targets
|
|
30
|
+
* should be claimable independently of round 1's already-completed
|
|
31
|
+
* reviewers. Round-scoped also means the registry self-clears on
|
|
32
|
+
* normal chat termination — no leak risk in long-running daemons.
|
|
33
|
+
*
|
|
34
|
+
* Why this is module-level state, not per-runner:
|
|
35
|
+
* The runner instantiates a fresh closure per chat, but the registry
|
|
36
|
+
* needs to outlive a single attempt() call across all slots in the
|
|
37
|
+
* same phase. Module state with chat-scoped keys is the smallest
|
|
38
|
+
* surface that gives the right reach. Same daemon-wide pattern as
|
|
39
|
+
* `cli-semaphore.ts`.
|
|
40
|
+
*
|
|
41
|
+
* Testing seam:
|
|
42
|
+
* `_testing.reset()` clears all state between vitest cases. Without
|
|
43
|
+
* this, claims from a prior test leak across the whole worker and
|
|
44
|
+
* later cases see false from `tryClaim` for unrelated targets.
|
|
45
|
+
*/
|
|
46
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
+
exports._testing = void 0;
|
|
48
|
+
exports.tryClaim = tryClaim;
|
|
49
|
+
exports.release = release;
|
|
50
|
+
exports.resetRound = resetRound;
|
|
51
|
+
exports.snapshot = snapshot;
|
|
52
|
+
const inFlight = new Map();
|
|
53
|
+
function roundKey(chatId, round) {
|
|
54
|
+
return `${chatId}:${round}`;
|
|
55
|
+
}
|
|
56
|
+
function entryKey(lineage, model) {
|
|
57
|
+
// `(default)` is the canonical placeholder when a slot has no
|
|
58
|
+
// declared model — buildSlotFallbackChain emits one such entry per
|
|
59
|
+
// models-less slot. Two slots both falling through to the lineage
|
|
60
|
+
// default would still collide; this key lets us catch that.
|
|
61
|
+
return `${lineage}:${model ?? '(default)'}`;
|
|
62
|
+
}
|
|
63
|
+
function tryClaim(chatId, round, lineage, model) {
|
|
64
|
+
const k = roundKey(chatId, round);
|
|
65
|
+
let set = inFlight.get(k);
|
|
66
|
+
if (!set) {
|
|
67
|
+
set = new Set();
|
|
68
|
+
inFlight.set(k, set);
|
|
69
|
+
}
|
|
70
|
+
const tag = entryKey(lineage, model);
|
|
71
|
+
if (set.has(tag))
|
|
72
|
+
return false;
|
|
73
|
+
set.add(tag);
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
function release(chatId, round, lineage, model) {
|
|
77
|
+
const k = roundKey(chatId, round);
|
|
78
|
+
const set = inFlight.get(k);
|
|
79
|
+
if (!set)
|
|
80
|
+
return;
|
|
81
|
+
set.delete(entryKey(lineage, model));
|
|
82
|
+
// Opportunistically drop the empty-Set parent entry so a long-running
|
|
83
|
+
// daemon processing thousands of chats doesn't accumulate one entry
|
|
84
|
+
// per terminated round. Cheap (one Map.delete per fully-released
|
|
85
|
+
// round); without this, ~50 bytes leak per chat × N chats over the
|
|
86
|
+
// process lifetime. Caught on chorus self-review of this PR.
|
|
87
|
+
if (set.size === 0)
|
|
88
|
+
inFlight.delete(k);
|
|
89
|
+
}
|
|
90
|
+
function resetRound(chatId, round) {
|
|
91
|
+
inFlight.delete(roundKey(chatId, round));
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Diagnostic snapshot — currently in-flight tags grouped by chat/round.
|
|
95
|
+
* Useful when debugging "why did slot B skip this entry?" — pair with
|
|
96
|
+
* the [reviewer] daemon log line.
|
|
97
|
+
*/
|
|
98
|
+
function snapshot() {
|
|
99
|
+
const out = {};
|
|
100
|
+
for (const [k, set] of inFlight.entries()) {
|
|
101
|
+
out[k] = [...set];
|
|
102
|
+
}
|
|
103
|
+
return out;
|
|
104
|
+
}
|
|
105
|
+
exports._testing = {
|
|
106
|
+
reset: () => {
|
|
107
|
+
inFlight.clear();
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=fallback-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fallback-registry.js","sourceRoot":"","sources":["../../../src/daemon/runner/fallback-registry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;;;AAgBH,4BAgBC;AAED,0BAgBC;AAED,gCAEC;AAOD,4BAMC;AAjED,MAAM,QAAQ,GAA6B,IAAI,GAAG,EAAE,CAAC;AAErD,SAAS,QAAQ,CAAC,MAAc,EAAE,KAAa;IAC7C,OAAO,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,KAAyB;IAC1D,8DAA8D;IAC9D,mEAAmE;IACnE,kEAAkE;IAClE,4DAA4D;IAC5D,OAAO,GAAG,OAAO,IAAI,KAAK,IAAI,WAAW,EAAE,CAAC;AAC9C,CAAC;AAED,SAAgB,QAAQ,CACtB,MAAc,EACd,KAAa,EACb,OAAe,EACf,KAAyB;IAEzB,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAChB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,OAAO,CACrB,MAAc,EACd,KAAa,EACb,OAAe,EACf,KAAyB;IAEzB,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACrC,sEAAsE;IACtE,oEAAoE;IACpE,iEAAiE;IACjE,mEAAmE;IACnE,6DAA6D;IAC7D,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;QAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAgB,UAAU,CAAC,MAAc,EAAE,KAAa;IACtD,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAgB,QAAQ;IACtB,MAAM,GAAG,GAA6B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAEY,QAAA,QAAQ,GAAG;IACtB,KAAK,EAAE,GAAS,EAAE;QAChB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF,CAAC"}
|
|
@@ -52,6 +52,7 @@ const output_watcher_js_1 = require("../output-watcher.js");
|
|
|
52
52
|
const participantAborts = __importStar(require("../participant-aborts.js"));
|
|
53
53
|
const prompt_builder_js_1 = require("./prompt-builder.js");
|
|
54
54
|
const reviewer_js_1 = require("./reviewer.js");
|
|
55
|
+
const fallback_registry_js_1 = require("./fallback-registry.js");
|
|
55
56
|
const run_with_fallback_js_1 = require("./run-with-fallback.js");
|
|
56
57
|
const sanitize_name_js_1 = require("./sanitize-name.js");
|
|
57
58
|
const swap_sidecar_js_1 = require("./swap-sidecar.js");
|
|
@@ -302,29 +303,73 @@ async function runReviewer(chatDir, chatId, phase, phaseIdx, round, reviewerIdx,
|
|
|
302
303
|
};
|
|
303
304
|
const chain = (0, template_fallback_js_1.buildSlotFallbackChain)(thisSlot, allReviewerSlots, templateFallbackReviewer);
|
|
304
305
|
return await (0, run_with_fallback_js_1.runWithChainFallback)(chain, async (entry) => {
|
|
305
|
-
// Cross-
|
|
306
|
-
//
|
|
307
|
-
//
|
|
308
|
-
//
|
|
309
|
-
//
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
306
|
+
// Cross-slot collision check: another reviewer in this same
|
|
307
|
+
// chat/round may already be running this exact (lineage,
|
|
308
|
+
// model). Common cause is two slots sharing the template-
|
|
309
|
+
// level fallback (e.g. anthropic/claude-sonnet-4-6 at the
|
|
310
|
+
// tail of every slot's chain). Without this, both slots
|
|
311
|
+
// dispatch the same model in parallel — wasted cost AND the
|
|
312
|
+
// lineage diversity that's the whole point of multi-LLM
|
|
313
|
+
// peer review collapses. On collision, we return null so
|
|
314
|
+
// runWithChainFallback advances to the next chain entry;
|
|
315
|
+
// emits a cli_warning tagged `fallback_collision` so the
|
|
316
|
+
// cockpit can show why the slot skipped.
|
|
317
|
+
const claimed = (0, fallback_registry_js_1.tryClaim)(chatId, round, entry.lineage, entry.model);
|
|
318
|
+
if (!claimed) {
|
|
319
|
+
console.warn(`[reviewer] fallback collision chat=${chatId} round=${round} ` +
|
|
320
|
+
`slot=${agentName}-${reviewerIdx} ` +
|
|
321
|
+
`target=${entry.lineage}/${entry.model ?? '(default)'} ` +
|
|
322
|
+
`— another slot is already running it; advancing chain`);
|
|
323
|
+
onEvent({
|
|
324
|
+
chatId,
|
|
325
|
+
type: 'cli_warning',
|
|
326
|
+
payload: {
|
|
327
|
+
phaseId: phase.id,
|
|
328
|
+
round,
|
|
329
|
+
role: 'reviewer',
|
|
330
|
+
agent: `${agentName}-${reviewerIdx}`,
|
|
331
|
+
reason: 'fallback_collision',
|
|
332
|
+
fromLineage: entry.lineage,
|
|
333
|
+
toLineage: entry.lineage,
|
|
334
|
+
fromModel: entry.model ?? '(default)',
|
|
335
|
+
toModel: entry.model ?? '(default)',
|
|
336
|
+
message: `Skipping ${entry.lineage}/${entry.model ?? '(default)'} — another reviewer slot is already running it. Advancing to next fallback to preserve lineage diversity.`,
|
|
337
|
+
},
|
|
338
|
+
ts: Date.now(),
|
|
339
|
+
});
|
|
340
|
+
return null;
|
|
341
|
+
}
|
|
342
|
+
try {
|
|
343
|
+
// Cross-lineage swap: when the entry's lineage differs from the
|
|
344
|
+
// slot's primary, re-resolve the shim. The slot's identity
|
|
345
|
+
// (agentName, reviewerDir, participant key) stays bound to the
|
|
346
|
+
// primary lineage so the cockpit card doesn't re-key mid-run —
|
|
347
|
+
// the cli_warning below tells the UI a swap happened.
|
|
348
|
+
const entryShim = entry.lineage === candidate.lineage
|
|
349
|
+
? shim
|
|
350
|
+
: (0, index_js_2.pickShimForVoice)(entry.lineage, entry.model);
|
|
351
|
+
return await (0, reviewer_js_1.runReviewerHeadless)({
|
|
352
|
+
shim: entryShim,
|
|
353
|
+
chatId,
|
|
354
|
+
phase,
|
|
355
|
+
round,
|
|
356
|
+
reviewerIdx,
|
|
357
|
+
candidateLineage: entry.lineage,
|
|
358
|
+
candidateModel: entry.model,
|
|
359
|
+
agentName,
|
|
360
|
+
askContent: ask,
|
|
361
|
+
answerFile,
|
|
362
|
+
reviewerDir,
|
|
363
|
+
abortSignal: handle.signal,
|
|
364
|
+
onEvent,
|
|
365
|
+
});
|
|
366
|
+
}
|
|
367
|
+
finally {
|
|
368
|
+
// Release whether the attempt succeeded, returned null, or
|
|
369
|
+
// threw — the slot is no longer running this target, so
|
|
370
|
+
// another slot's chain advance can claim it next.
|
|
371
|
+
(0, fallback_registry_js_1.release)(chatId, round, entry.lineage, entry.model);
|
|
372
|
+
}
|
|
328
373
|
}, (from, to, fromIdx) => {
|
|
329
374
|
const sameLineage = from.lineage === to.lineage;
|
|
330
375
|
const reason = sameLineage ? 'model_fallback' : 'lineage_fallback';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewer-driver.js","sourceRoot":"","sources":["../../../src/daemon/runner/reviewer-driver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reviewer-driver.js","sourceRoot":"","sources":["../../../src/daemon/runner/reviewer-driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,14 +12,28 @@
|
|
|
12
12
|
* are first-class: a codex reviewer hitting quota can fall through to a
|
|
13
13
|
* claude or kimi fallback.
|
|
14
14
|
*
|
|
15
|
-
* Strict (lineage, model) dedup:
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
15
|
+
* Strict (lineage, model) dedup — TWO layers:
|
|
16
|
+
*
|
|
17
|
+
* Build-time (this module):
|
|
18
|
+
* - Skip a fallback row that matches the slot's own current model — would
|
|
19
|
+
* just fail again.
|
|
20
|
+
* - Skip a fallback row that matches ANOTHER active slot's PRIMARY in the
|
|
21
|
+
* same phase. Example: reviewers=[kimi, deepseek] + fallback=[kimi]
|
|
22
|
+
* should NOT spawn a second kimi reviewer when deepseek fails.
|
|
23
|
+
* - Cross-lineage fallback dedup uses (lineage, model) tuples so two
|
|
24
|
+
* slots of different lineages on the same model name (rare) don't
|
|
25
|
+
* collide.
|
|
26
|
+
*
|
|
27
|
+
* Runtime (`fallback-registry.ts`):
|
|
28
|
+
* - When two slots BOTH carry the same template fallback in their chains
|
|
29
|
+
* (the common case — one shared template-level fallback list applied
|
|
30
|
+
* to every slot), build-time dedup can't catch it because each slot
|
|
31
|
+
* only knows about other slots' PRIMARIES, not their fallback chains.
|
|
32
|
+
* - The reviewer-driver claims the (lineage, model) before each attempt
|
|
33
|
+
* and releases after; if a sibling slot is already running the same
|
|
34
|
+
* target, claim returns false and the chain advances to the next
|
|
35
|
+
* entry. This is what prevents the "two reviewers fall back to the
|
|
36
|
+
* same model in parallel" waste case (incident 2026-05-08).
|
|
23
37
|
*
|
|
24
38
|
* Diversity-first ordering:
|
|
25
39
|
* When multiple fallbacks survive dedup, sort by lineage occurrence
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-fallback.js","sourceRoot":"","sources":["../../../src/daemon/runner/template-fallback.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"template-fallback.js","sourceRoot":"","sources":["../../../src/daemon/runner/template-fallback.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chorus-codes",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.28",
|
|
4
4
|
"description": "Driver-agnostic multi-LLM peer review for code decisions. Bring your own CLI; Chorus convenes 2-4 other LLMs to review the work before you ship.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "99x Agency",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[641],{1993:(e,t,n)=>{n.d(t,{K7:()=>d,UT:()=>o,dW:()=>r,qI:()=>s});var i=n(4411);function a(e){return{id:e.id,label:e.label,one_liner:e.one_liner,system_prompt:e.system_prompt,recommended_lineage:e.recommended_lineage,builtin:!!e.builtin,forked_from:e.forked_from??null,created_at:e.created_at,updated_at:e.updated_at}}async function o(){return(await (0,i.T)("/personas")).items.map(a)}async function r(e){return a(await (0,i.T)(`/personas/${encodeURIComponent(e)}`))}async function s(e){return a(await (0,i.T)("/personas",{method:"POST",body:JSON.stringify(e)}))}async function d(e){await (0,i.T)(`/personas/${encodeURIComponent(e)}`,{method:"DELETE"})}},4284:(e,t,n)=>{n.d(t,{U:()=>a});var i=n(9442);function a({className:e}){return(0,i.jsxs)("svg",{viewBox:"0 0 32 32","aria-hidden":"true",className:e,fill:"currentColor",children:[(0,i.jsx)("circle",{cx:"11",cy:"20",r:"3.2",fillOpacity:"0.55"}),(0,i.jsx)("circle",{cx:"21",cy:"20",r:"3.2",fillOpacity:"0.55"}),(0,i.jsx)("circle",{cx:"16",cy:"11",r:"3.2"})]})}},4411:(e,t,n)=>{n.d(t,{$:()=>o,T:()=>r}),n(9298);let i="/api/v1";async function a(){return new URL("/api/daemon",window.location.origin).toString()}class o extends Error{constructor(e,t,n,i){super(n),this.code=e,this.statusCode=t,this.details=i,this.name="DaemonError"}}async function r(e,t={}){let n=await a(),s=e.startsWith("/")?e:`/${e}`,d=s===i||s.startsWith(`${i}/`)?s:`${i}${s}`,c=`${n.replace(/\/$/,"")}${d}`;try{let e=await fetch(c,{...t,headers:{"Content-Type":"application/json",...t.headers}}),n=await e.json().catch(()=>({ok:!1,error:{code:"parse_error",message:"Failed to parse response"}}));if(!n.ok){if("string"==typeof n.error&&"string"==typeof n.message)throw new o(n.error,e.status,n.message);throw new o(n.error?.code||"unknown",e.status,n.error?.message||`Daemon returned ${e.status}`,n.error?.details)}return n.data}catch(e){if(e instanceof o)throw e;if(e instanceof TypeError&&e.message.includes("fetch"))throw new o("connection_failed",0,"Failed to connect to Chorus daemon. Is it running?");throw new o("unknown",0,e instanceof Error?e.message:"Unknown error")}}},6185:(e,t,n)=>{n.d(t,{$v:()=>i.$,jb:()=>T.jb,RL:()=>s,K7:()=>w.K7,I7:()=>y,dW:()=>w.dW,Ih:()=>r,UT:()=>w.UT,eG:()=>f,qI:()=>w.qI,AI:()=>h,Xx:()=>g.Xx,WH:()=>g.WH});var i=n(4411),a=n(9345);function o(e){let t,n;if(e.attached_files)try{let n=JSON.parse(e.attached_files);Array.isArray(n)&&(t=n)}catch{}if(e.template_snapshot)try{let t=JSON.parse(e.template_snapshot),i=a._i.safeParse(t);i.success&&(n=i.data)}catch{}return{id:e.id,slug:e.slug??void 0,work:e.work,templateId:e.template_id,status:e.status,currentPhaseIdx:e.current_phase_idx??0,yolo:!!e.yolo,attachedFiles:t,repoPath:e.repo_path??void 0,prUrl:e.pr_url??void 0,shipError:e.ship_error??void 0,artifact:e.artifact??void 0,verdict:e.verdict??void 0,templateSnapshot:n,createdAt:e.created_at,updatedAt:e.updated_at,finishedAt:e.finished_at??void 0}}async function r(e){let t=new URLSearchParams;e?.limit&&t.append("limit",e.limit.toString()),e?.offset&&t.append("offset",e.offset.toString()),e?.status&&t.append("status",e.status);let n=t.toString();return(await (0,i.T)(`/chats${n?`?${n}`:""}`)).items.map(o)}async function s(e){return o(await (0,i.T)("/chats",{method:"POST",body:JSON.stringify(e)}))}var d=n(599);let c=new Set(["anthropic","openai","google","opencode","moonshot","any","xai"]),l={anthropic:"claude",openai:"codex",google:"gemini",opencode:"opencode",moonshot:"kimi",any:"claude",xai:"opencode"};function u(e){return e?l[e]??"claude":"claude"}function p(e){let t=e.kind??"review";return{id:e.id??"phase",name:e.title??e.name??e.id??"Phase",description:e.description??"",kind:t,gate:"auto",doer:{lineage:u(e.doer?.lineage),models:e.doer?.models??[],...e.doer?.persona?{persona:e.doer.persona}:{}},reviewer:{require:e.reviewer?.require??1,crossLineage:e.reviewer?.crossLineage??!0,candidates:(e.reviewer?.candidates??[]).map(e=>u(e.lineage)).filter(e=>c.has(Object.keys(l).find(t=>l[t]===e)??"")),candidatesWithModels:(e.reviewer?.candidates??[]).map(e=>({lineage:u(e.lineage),models:e.models??[],...e.persona?{persona:e.persona}:{}}))},inputs:{include:e.inputs?.include??[],exclude:e.inputs?.exclude??[]},iterate:{max:e.iterate?.maxRounds??2,onMax:"ask-user"},blindSpots:[],execution:"parallel",builtin:!0,..."review_only"===t?{artifact:{label:e.artifact?.label??"Artifact to review",hint:e.artifact?.hint??"Paste a unified diff, a markdown draft, code, or any text blob.",maxBytes:e.artifact?.maxBytes??1048576}}:{}}}function m(e){let t={};try{t=d.Ay.parse(e.yaml)??{}}catch{}let n="majority";"number"==typeof t.agreementThreshold?n=t.agreementThreshold>=.99?"unanimous":t.agreementThreshold>=.5?"majority":"any":"string"==typeof t.agreementThreshold&&(n=t.agreementThreshold);let i=(t.phases??[]).map(p);return{id:e.id,name:t.name??e.id,description:t.description??"",category:function(e,t){if(e.category)return e.category;let n=t.toLowerCase();return n.includes("bug")||n.includes("debug")||n.includes("diagnose")?"debug":n.includes("plan")||n.includes("architect")?"plan":n.includes("decide")||n.includes("decision")?"decide":"review"}(t,e.id),phases:i,agreementThreshold:n,onThresholdMet:"auto-finalize"===t.onThresholdMet?"auto-finalize":"ask-user",maxRounds:t.maxRounds??3,driver:"external",driverHandoff:!1,verificationGate:"auto",costCapUsd:0,yoloDefault:t.yoloDefault??!1,estimatedBaselineTokens:t.estimatedBaselineTokens,onError:"ask-user",notify:"dashboard-only",yaml:e.yaml,authorHandle:t.author??"chorus",forks:0,popularity:0,source:e.source,isComplete:"number"==typeof e.is_complete?0!==e.is_complete:!1!==e.is_complete}}async function f(){return(await (0,i.T)("/templates")).items.map(m)}async function h(e){return m(await (0,i.T)("/templates",{method:"POST",body:JSON.stringify(e)}))}async function y(e){await (0,i.T)(`/templates/${encodeURIComponent(e)}`,{method:"DELETE"})}var g=n(6441),T=n(8141),w=n(1993);n(7847)},6441:(e,t,n)=>{n.d(t,{A1:()=>f,Ci:()=>h,Df:()=>r,Dl:()=>m,Ep:()=>s,WH:()=>g,WK:()=>y,Wt:()=>p,Xx:()=>d,fk:()=>a,iW:()=>o,lT:()=>u,nr:()=>l,oD:()=>c});var i=n(4411);async function a(){return(await (0,i.T)("/onboard/detect-clis")).items}async function o(e,t){return(0,i.T)("/onboard/validate-cli-path",{method:"POST",body:JSON.stringify({id:e,path:t})})}async function r(e,t){return(0,i.T)("/onboard/save-cli-path",{method:"POST",body:JSON.stringify({id:e,path:t})})}async function s(e){return(0,i.T)("/settings/permissions",{method:"PUT",body:JSON.stringify(e)})}async function d(e){return(0,i.T)("/settings",{method:"PUT",body:JSON.stringify(e)})}async function c(){return(0,i.T)("/settings/transport")}async function l(e){return(0,i.T)("/settings/transport",{method:"PUT",body:JSON.stringify(e)})}async function u(){return(0,i.T)("/settings/concurrency")}async function p(e){return(0,i.T)("/settings/concurrency",{method:"PUT",body:JSON.stringify(e)})}async function m(){return(0,i.T)("/settings/billing")}async function f(e){return(0,i.T)("/settings/billing",{method:"PUT",body:JSON.stringify(e)})}async function h(){return(0,i.T)("/settings/telemetry")}async function y(e){return(0,i.T)("/settings/telemetry",{method:"PUT",body:JSON.stringify({enabled:e})})}async function g(e,t){return(0,i.T)(`/secrets/${e}`,{method:"PUT",body:JSON.stringify(t)})}},7362:(e,t,n)=>{n.d(t,{cn:()=>o});var i=n(142),a=n(9317);function o(...e){return(0,a.QP)((0,i.$)(e))}},7847:(e,t,n)=>{n.d(t,{createVoice:()=>r,listVoices:()=>a,updateVoice:()=>o});var i=n(4411);async function a(e){return(await (0,i.T)(`/voices${function(e){if(!e)return"";let t=[];return e.lineage&&t.push(`lineage=${encodeURIComponent(e.lineage)}`),e.source&&t.push(`source=${encodeURIComponent(e.source)}`),e.provider&&t.push(`provider=${encodeURIComponent(e.provider)}`),void 0!==e.enabled&&t.push(`enabled=${e.enabled?"true":"false"}`),0===t.length?"":`?${t.join("&")}`}(e)}`)).items}async function o(e,t){return(0,i.T)(`/voices/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)})}async function r(e){return(0,i.T)("/voices",{method:"POST",body:JSON.stringify(e)})}},8141:(e,t,n)=>{n.d(t,{Ay:()=>o,jb:()=>a});var i=n(4411);async function a(e){return(0,i.T)(`/orchestrators/${e}/connect`,{method:"POST"})}async function o(){return(0,i.T)("/orchestrators/opencode/models")}},9345:(e,t,n)=>{n.d(t,{_i:()=>m});var i=n(2794);let a=i.ai().int().min(3e4).max(36e5).optional(),o=i.k5(["anthropic","openai","google","opencode","moonshot","openrouter","any"]),r=i.k5(["anthropic","openai","google","opencode","moonshot","openrouter"]),s=i.Ik({require:i.ai().int().min(0).default(1),crossLineage:i.zM().default(!0),candidates:i.YO(i.Ik({lineage:r,models:i.YO(i.Yj()).optional(),persona:i.Yj().optional()}))}),d=i.Ik({include:i.YO(i.Yj()).default([]),exclude:i.YO(i.Yj()).default([])}).default({include:[],exclude:[]}),c=i.Ik({maxRounds:i.ai().int().min(1).default(2),onDisagreement:i.k5(["continue","escalate","accept-doer"]).default("continue"),shareSessionAcrossRounds:i.zM().default(!0),shareSessionAcrossPhases:i.zM().default(!1)}).default({maxRounds:2,onDisagreement:"continue",shareSessionAcrossRounds:!0,shareSessionAcrossPhases:!1}),l=i.Ik({id:i.Yj().min(1),kind:i.k5(["plan","spec","tests","implement","review","verify","divergence"]),title:i.Yj().min(1),description:i.Yj().optional(),doer:i.Ik({lineage:o,models:i.YO(i.Yj()).optional(),persona:i.Yj().optional()}),reviewer:s.optional(),inputs:d,iterate:c,timeoutMs:a}),u=i.Ik({id:i.Yj().min(1),kind:i.eu("review_only"),title:i.Yj().min(1),description:i.Yj().optional(),reviewer:s,artifact:i.Ik({label:i.Yj().min(1).default("Artifact to review"),hint:i.Yj().default("Paste a unified diff, a markdown draft, code, or any text blob."),maxBytes:i.ai().int().min(1).default(1048576)}).default({label:"Artifact to review",hint:"Paste a unified diff, a markdown draft, code, or any text blob.",maxBytes:1048576}),inputs:d,timeoutMs:a}),p=i.gM("kind",[l.extend({kind:i.eu("plan")}),l.extend({kind:i.eu("spec")}),l.extend({kind:i.eu("tests")}),l.extend({kind:i.eu("implement")}),l.extend({kind:i.eu("review")}),l.extend({kind:i.eu("verify")}),l.extend({kind:i.eu("divergence")}),u]),m=i.Ik({id:i.Yj().min(1),name:i.Yj().min(1),description:i.Yj().min(1),author:i.Yj().default("chorus"),agreementThreshold:i.ai().min(0).max(1).default(.66),onThresholdMet:i.k5(["merge","ask","review"]).default("ask"),maxRounds:i.ai().int().min(1).default(3),yoloDefault:i.zM().default(!1),estimatedBaselineTokens:i.ai().int().min(0).optional(),phases:i.YO(p).min(1).refine(e=>{let t=e.filter(e=>"review_only"===e.kind).length;return 0===t||1===t&&1===e.length},{message:"review_only phases cannot be mixed with other phase kinds and only one is allowed (hybrid templates are out of scope)"}).refine(e=>{let t=e.map(e=>e.id);return new Set(t).size===t.length},{message:"phase ids must be unique"}),ship:i.Ik({enabled:i.zM().default(!1),baseBranch:i.Yj().optional(),branchPattern:i.Yj().default("chorus/{chatId}"),titleTemplate:i.Yj().default("chorus: {template} via #{chatId}")}).optional(),fallback:i.Ik({doer:i.YO(i.Ik({lineage:o,models:i.YO(i.Yj()).min(1),persona:i.Yj().optional()})).optional(),reviewer:i.YO(i.Ik({lineage:r,models:i.YO(i.Yj()).min(1),persona:i.Yj().optional()})).optional()}).optional()})}}]);
|
|
File without changes
|
|
File without changes
|