chorus-codes 0.8.7 → 0.8.8
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/app-path-routes-manifest.json +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 +1 -1
- package/.next/server/app/new.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- 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 +1 -1
- package/.next/server/app/onboarding.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- 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 +1 -1
- package/.next/server/app/personas.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- 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 +1 -1
- package/.next/server/app/settings.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- 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 +1 -1
- package/.next/server/app/templates.segments/_full.segment.rsc +1 -1
- 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 +1 -1
- package/.next/server/app/templates.segments/templates.segment.rsc +1 -1
- package/.next/server/app-paths-manifest.json +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/trace +20 -20
- package/.next/trace-build +1 -1
- package/dist/daemon/template-adapter.js +127 -76
- package/dist/daemon/template-adapter.js.map +1 -1
- package/package.json +1 -1
- /package/.next/static/{2-XAEHWtrjGewQajCM5pM → Et8CN4-7vp92JRJ2xHXL4}/_buildManifest.js +0 -0
- /package/.next/static/{2-XAEHWtrjGewQajCM5pM → Et8CN4-7vp92JRJ2xHXL4}/_ssgManifest.js +0 -0
package/.next/trace-build
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[{"name":"run-webpack","duration":
|
|
1
|
+
[{"name":"run-webpack","duration":10793908,"timestamp":6669644245993,"id":14,"parentId":1,"tags":{},"startTime":1778061014672,"traceId":"a86fe8dbadba03bf"},{"name":"run-typescript","duration":5416661,"timestamp":6669655045372,"id":2100,"parentId":1,"tags":{},"startTime":1778061025471,"traceId":"a86fe8dbadba03bf"},{"name":"static-check","duration":391672,"timestamp":6669660510567,"id":2103,"parentId":1,"tags":{},"startTime":1778061030937,"traceId":"a86fe8dbadba03bf"},{"name":"static-generation","duration":1471948,"timestamp":6669661075785,"id":2143,"parentId":1,"tags":{},"startTime":1778061031502,"traceId":"a86fe8dbadba03bf"},{"name":"collect-build-traces","duration":6265876,"timestamp":6669660902652,"id":2140,"parentId":1,"tags":{},"startTime":1778061031329,"traceId":"a86fe8dbadba03bf"},{"name":"telemetry-flush","duration":31,"timestamp":6669667170153,"id":2152,"parentId":1,"tags":{},"startTime":1778061037596,"traceId":"a86fe8dbadba03bf"},{"name":"next-build","duration":23010340,"timestamp":6669644159852,"id":1,"tags":{"buildMode":"default","version":"16.2.4","bundler":"webpack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1778061014586,"traceId":"a86fe8dbadba03bf"}]
|
|
@@ -37,6 +37,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.adaptTemplate = adaptTemplate;
|
|
40
|
+
exports.voicesToModelKeys = voicesToModelKeys;
|
|
41
|
+
exports.capabilityScore = capabilityScore;
|
|
40
42
|
const yaml_1 = __importDefault(require("yaml"));
|
|
41
43
|
/**
|
|
42
44
|
* Pure function. Takes the canonical YAML and the user's voices,
|
|
@@ -78,48 +80,40 @@ function adaptTemplate(canonicalYaml, voices) {
|
|
|
78
80
|
for (const phase of parsed.phases) {
|
|
79
81
|
if (!phase)
|
|
80
82
|
continue;
|
|
81
|
-
//
|
|
82
|
-
//
|
|
83
|
+
// Sequential slot assignment in template order. Each slot's
|
|
84
|
+
// assignment honors its preferred lineage when possible, then
|
|
85
|
+
// falls through to a diversity-preserving substitute (a lineage
|
|
86
|
+
// not yet used in this phase), then last-ditch any-available.
|
|
87
|
+
//
|
|
88
|
+
// Two-pass (exact-match-first) was tried in v0.8.8 but turned out
|
|
89
|
+
// to *hurt* cross-lineage diversity: when an exact-match slot
|
|
90
|
+
// grabs the lineage early, later substitution slots have fewer
|
|
91
|
+
// unused lineages to draw from and end up duplicating the doer.
|
|
92
|
+
// Sequential lets the substitution slots take first dibs on
|
|
93
|
+
// unused lineages — which maximizes "reviewers different from the
|
|
94
|
+
// doer", what `crossLineage: true` quorum actually requires.
|
|
83
95
|
const usedLineages = new Set();
|
|
84
96
|
if (phase.doer) {
|
|
85
|
-
const
|
|
86
|
-
if (
|
|
87
|
-
if (phase.doer.lineage !== result.lineage ||
|
|
88
|
-
!sameModels(phase.doer.models, result.models)) {
|
|
89
|
-
changed = true;
|
|
90
|
-
}
|
|
91
|
-
phase.doer.lineage = result.lineage;
|
|
92
|
-
phase.doer.models = result.models;
|
|
93
|
-
usedLineages.add(result.lineage);
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
if ((phase.doer.models?.length ?? 0) > 0)
|
|
97
|
-
changed = true;
|
|
97
|
+
const assigned = assignSlot(phase.doer, byLineage, byFamily, usedLineages);
|
|
98
|
+
if (!assigned) {
|
|
98
99
|
phase.doer.models = [];
|
|
99
100
|
isComplete = false;
|
|
100
101
|
}
|
|
101
102
|
}
|
|
102
103
|
if (phase.reviewer?.candidates) {
|
|
103
104
|
for (const slot of phase.reviewer.candidates) {
|
|
104
|
-
const
|
|
105
|
-
if (
|
|
106
|
-
if (slot.lineage !== result.lineage ||
|
|
107
|
-
!sameModels(slot.models, result.models)) {
|
|
108
|
-
changed = true;
|
|
109
|
-
}
|
|
110
|
-
slot.lineage = result.lineage;
|
|
111
|
-
slot.models = result.models;
|
|
112
|
-
usedLineages.add(result.lineage);
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
if ((slot.models?.length ?? 0) > 0)
|
|
116
|
-
changed = true;
|
|
105
|
+
const assigned = assignSlot(slot, byLineage, byFamily, usedLineages);
|
|
106
|
+
if (!assigned) {
|
|
117
107
|
slot.models = [];
|
|
118
108
|
isComplete = false;
|
|
119
109
|
}
|
|
120
110
|
}
|
|
121
111
|
}
|
|
122
112
|
}
|
|
113
|
+
// changed flag — compare round-tripped JSON. Cheap, deterministic,
|
|
114
|
+
// catches lineage swaps + model reductions in one shot.
|
|
115
|
+
changed =
|
|
116
|
+
JSON.stringify(parsed) !== JSON.stringify(yaml_1.default.parse(canonicalYaml));
|
|
123
117
|
// Re-serialise. yaml lib preserves keys/order and quoting style well
|
|
124
118
|
// enough for builtin templates that are themselves machine-authored.
|
|
125
119
|
// Hand-edited templates aren't passed to this function (caller gates
|
|
@@ -127,52 +121,50 @@ function adaptTemplate(canonicalYaml, voices) {
|
|
|
127
121
|
const output = yaml_1.default.stringify(parsed, { lineWidth: 0 });
|
|
128
122
|
return { yaml: output, isComplete, changed };
|
|
129
123
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
124
|
+
/**
|
|
125
|
+
* Assign a single slot. Returns true iff the slot was actually
|
|
126
|
+
* written into. Sequential resolution:
|
|
127
|
+
* 1. Exact lineage match.
|
|
128
|
+
* 2. Vendor-family match (template wants moonshot, user has
|
|
129
|
+
* opencode-go/kimi with vendor_family=moonshot).
|
|
130
|
+
* 3. Diversity-preserving substitute: a lineage not yet used in
|
|
131
|
+
* this phase. Maximizes cross-lineage reviewer diversity.
|
|
132
|
+
* 4. Last-ditch: any available lineage (accepts duplication).
|
|
133
|
+
* 5. No voices anywhere → returns false; caller marks incomplete.
|
|
134
|
+
*/
|
|
135
|
+
function assignSlot(slot, byLineage, byFamily, usedInPhase) {
|
|
136
|
+
const preferredLineage = slot.lineage;
|
|
137
|
+
if (!preferredLineage)
|
|
138
|
+
return false;
|
|
137
139
|
const direct = byLineage.get(preferredLineage);
|
|
138
140
|
if (direct && direct.length > 0) {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
141
|
+
slot.lineage = preferredLineage;
|
|
142
|
+
slot.models = voicesToModelKeys(direct);
|
|
143
|
+
usedInPhase.add(preferredLineage);
|
|
144
|
+
return true;
|
|
143
145
|
}
|
|
144
|
-
// 2. Vendor-family match: e.g., template wants lineage=moonshot,
|
|
145
|
-
// user has `opencode-go/kimi-k2.5` (lineage=opencode,
|
|
146
|
-
// vendor_family=moonshot). The model family is preserved; only
|
|
147
|
-
// the transport changes.
|
|
148
146
|
const familyMatch = byFamily.get(preferredLineage);
|
|
149
147
|
if (familyMatch && familyMatch.length > 0) {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
148
|
+
slot.lineage = familyMatch[0].lineage;
|
|
149
|
+
slot.models = voicesToModelKeys(familyMatch);
|
|
150
|
+
usedInPhase.add(familyMatch[0].lineage);
|
|
151
|
+
return true;
|
|
154
152
|
}
|
|
155
|
-
// 3. Diversity-preserving substitute: prefer a lineage not yet used
|
|
156
|
-
// in this phase. Iteration order of Map preserves insertion order
|
|
157
|
-
// (deterministic for a stable voices list).
|
|
158
153
|
for (const [lineage, voices] of byLineage) {
|
|
159
154
|
if (!usedInPhase.has(lineage)) {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
155
|
+
slot.lineage = lineage;
|
|
156
|
+
slot.models = voicesToModelKeys(voices);
|
|
157
|
+
usedInPhase.add(lineage);
|
|
158
|
+
return true;
|
|
164
159
|
}
|
|
165
160
|
}
|
|
166
|
-
// 4. Last-ditch: any lineage at all, even if already used. Better a
|
|
167
|
-
// repeated reviewer than an empty slot.
|
|
168
161
|
for (const [lineage, voices] of byLineage) {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
162
|
+
slot.lineage = lineage;
|
|
163
|
+
slot.models = voicesToModelKeys(voices);
|
|
164
|
+
usedInPhase.add(lineage);
|
|
165
|
+
return true;
|
|
173
166
|
}
|
|
174
|
-
|
|
175
|
-
return null;
|
|
167
|
+
return false;
|
|
176
168
|
}
|
|
177
169
|
/**
|
|
178
170
|
* Voices reference one of two id forms in the wire/template space:
|
|
@@ -181,23 +173,82 @@ function pickForSlot(preferredLineage, byLineage, byFamily, usedInPhase) {
|
|
|
181
173
|
* dispatch via the HTTP shim (see chorus-086).
|
|
182
174
|
* - All other voices (CLI-backed) use the bare `model_id` because
|
|
183
175
|
* the CLI shim is keyed by lineage + model_id.
|
|
176
|
+
*
|
|
177
|
+
* Returns AT MOST 1 model — the highest-ranked voice for the lineage.
|
|
178
|
+
* Pre-fix the adapter dumped every available voice into the slot's
|
|
179
|
+
* fallback chain (per chorus-083), which produced 5+ form rows per
|
|
180
|
+
* slot and confused users into thinking they had "many doers". Power
|
|
181
|
+
* users who want a fallback chain can add models manually via the
|
|
182
|
+
* YAML editor.
|
|
184
183
|
*/
|
|
185
184
|
function voicesToModelKeys(voices) {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
// sources would otherwise both appear in the fallback chain.
|
|
192
|
-
return Array.from(new Set(out));
|
|
185
|
+
if (voices.length === 0)
|
|
186
|
+
return [];
|
|
187
|
+
const ranked = [...voices].sort((a, b) => capabilityScore(b) - capabilityScore(a));
|
|
188
|
+
const best = ranked[0];
|
|
189
|
+
return [best.provider === 'openrouter' ? best.id : best.model_id];
|
|
193
190
|
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
191
|
+
/**
|
|
192
|
+
* Capability heuristic for ordering voices within a lineage.
|
|
193
|
+
*
|
|
194
|
+
* Picks the top model when the user has multiple voices for the slot's
|
|
195
|
+
* lineage. Higher score = more capable. The function is per-family —
|
|
196
|
+
* Anthropic Opus beats Sonnet beats Haiku, OpenAI gpt-5.5 beats 5.4,
|
|
197
|
+
* Gemini 3.x beats 2.x, Pro beats Flash, and so on.
|
|
198
|
+
*
|
|
199
|
+
* Heuristic by design: model naming changes over time, so this scoring
|
|
200
|
+
* will need touch-ups when new models land. Keep the logic in one
|
|
201
|
+
* function to make those updates easy. Falls back to 0 (alphabetical
|
|
202
|
+
* tiebreaker via the sort's stability) for unknown models — better
|
|
203
|
+
* than picking arbitrarily.
|
|
204
|
+
*/
|
|
205
|
+
function capabilityScore(v) {
|
|
206
|
+
const id = v.model_id.toLowerCase();
|
|
207
|
+
let score = 0;
|
|
208
|
+
// Anthropic family tier.
|
|
209
|
+
if (id.includes('opus'))
|
|
210
|
+
score += 1000;
|
|
211
|
+
else if (id.includes('sonnet'))
|
|
212
|
+
score += 700;
|
|
213
|
+
else if (id.includes('haiku'))
|
|
214
|
+
score += 400;
|
|
215
|
+
// OpenAI / Codex (gpt-X.Y).
|
|
216
|
+
const gptMatch = id.match(/gpt-(\d+)\.(\d+)/);
|
|
217
|
+
if (gptMatch) {
|
|
218
|
+
score += Number.parseInt(gptMatch[1], 10) * 100;
|
|
219
|
+
score += Number.parseInt(gptMatch[2], 10) * 10;
|
|
220
|
+
// -codex variant counts as production (vs preview).
|
|
221
|
+
if (id.includes('-codex'))
|
|
222
|
+
score += 5;
|
|
223
|
+
}
|
|
224
|
+
// Gemini family — major.minor with pro/flash modifier.
|
|
225
|
+
const geminiMatch = id.match(/gemini-(\d+)\.(\d+)/);
|
|
226
|
+
if (geminiMatch) {
|
|
227
|
+
score += Number.parseInt(geminiMatch[1], 10) * 100;
|
|
228
|
+
score += Number.parseInt(geminiMatch[2], 10) * 10;
|
|
229
|
+
if (id.includes('pro'))
|
|
230
|
+
score += 50;
|
|
231
|
+
else if (id.includes('flash'))
|
|
232
|
+
score += 20;
|
|
233
|
+
if (id.includes('preview'))
|
|
234
|
+
score += 5;
|
|
235
|
+
}
|
|
236
|
+
// Kimi (k2.x). Thinking variant scores higher than base.
|
|
237
|
+
const kimiMatch = id.match(/k(\d+)\.(\d+)/);
|
|
238
|
+
if (kimiMatch) {
|
|
239
|
+
score += Number.parseInt(kimiMatch[1], 10) * 100;
|
|
240
|
+
score += Number.parseInt(kimiMatch[2], 10) * 10;
|
|
241
|
+
if (id.includes('thinking'))
|
|
242
|
+
score += 50;
|
|
243
|
+
if (id.includes('turbo'))
|
|
244
|
+
score += 30;
|
|
245
|
+
}
|
|
246
|
+
// Anthropic version suffix (-4-7 > -4-6 > -4-5).
|
|
247
|
+
const versionMatch = id.match(/-(\d+)-(\d+)$/);
|
|
248
|
+
if (versionMatch) {
|
|
249
|
+
score += Number.parseInt(versionMatch[1], 10) * 5;
|
|
250
|
+
score += Number.parseInt(versionMatch[2], 10);
|
|
200
251
|
}
|
|
201
|
-
return
|
|
252
|
+
return score;
|
|
202
253
|
}
|
|
203
254
|
//# sourceMappingURL=template-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-adapter.js","sourceRoot":"","sources":["../../src/daemon/template-adapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;;;;;AA4CH,
|
|
1
|
+
{"version":3,"file":"template-adapter.js","sourceRoot":"","sources":["../../src/daemon/template-adapter.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.8",
|
|
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",
|
|
File without changes
|
|
File without changes
|