dsh-llm-verifier 0.3.0 → 0.4.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/README.md +133 -9
- package/lib/auto-B5V49e-A.js +1517 -0
- package/lib/auto-B5V49e-A.js.map +1 -0
- package/lib/{caller-DJd_FlrQ.js → caller-DR_C7ueP.js} +154 -20
- package/lib/caller-DR_C7ueP.js.map +1 -0
- package/lib/caller.js +2 -2
- package/lib/client.js +804 -29
- package/lib/client.js.map +1 -1
- package/lib/core.js +226 -3
- package/lib/core.js.map +1 -1
- package/lib/index.js +1014 -1337
- package/lib/index.js.map +1 -1
- package/lib/replay.js +157 -0
- package/lib/replay.js.map +1 -0
- package/lib/types/auto.js +1 -1
- package/lib/types/auto.js.map +1 -1
- package/lib/types/caller.d.ts +65 -0
- package/lib/types/caller.d.ts.map +1 -1
- package/lib/types/caller.js +113 -5
- package/lib/types/caller.js.map +1 -1
- package/lib/types/client-i18n.d.ts +163 -6
- package/lib/types/client-i18n.d.ts.map +1 -1
- package/lib/types/client-i18n.js +137 -26
- package/lib/types/client-i18n.js.map +1 -1
- package/lib/types/client.d.ts +30 -0
- package/lib/types/client.d.ts.map +1 -1
- package/lib/types/client.js +94 -9
- package/lib/types/client.js.map +1 -1
- package/lib/types/config.d.ts +33 -0
- package/lib/types/config.d.ts.map +1 -1
- package/lib/types/config.js +17 -2
- package/lib/types/config.js.map +1 -1
- package/lib/types/core.d.ts +84 -0
- package/lib/types/core.d.ts.map +1 -1
- package/lib/types/core.js +222 -2
- package/lib/types/core.js.map +1 -1
- package/lib/types/criteria.d.ts +33 -0
- package/lib/types/criteria.d.ts.map +1 -0
- package/lib/types/criteria.js +67 -0
- package/lib/types/criteria.js.map +1 -0
- package/lib/types/decisions.d.ts +84 -0
- package/lib/types/decisions.d.ts.map +1 -0
- package/lib/types/decisions.js +209 -0
- package/lib/types/decisions.js.map +1 -0
- package/lib/types/engine.d.ts +54 -1
- package/lib/types/engine.d.ts.map +1 -1
- package/lib/types/engine.js +175 -12
- package/lib/types/engine.js.map +1 -1
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/index.js +392 -38
- package/lib/types/index.js.map +1 -1
- package/lib/types/replay.d.ts +88 -0
- package/lib/types/replay.d.ts.map +1 -0
- package/lib/types/replay.js +136 -0
- package/lib/types/replay.js.map +1 -0
- package/lib/types/router.d.ts +29 -5
- package/lib/types/router.d.ts.map +1 -1
- package/lib/types/router.js +283 -46
- package/lib/types/router.js.map +1 -1
- package/lib/types/statistics.d.ts +10 -1
- package/lib/types/statistics.d.ts.map +1 -1
- package/lib/types/statistics.js +35 -7
- package/lib/types/statistics.js.map +1 -1
- package/lib/types/top-logprobs.d.ts +36 -0
- package/lib/types/top-logprobs.d.ts.map +1 -1
- package/lib/types/top-logprobs.js +41 -14
- package/lib/types/top-logprobs.js.map +1 -1
- package/package.json +6 -1
- package/scripts/eval-replay.mjs +118 -0
- package/src/auto.ts +1 -1
- package/src/caller.test.ts +62 -1
- package/src/caller.ts +124 -4
- package/src/client-i18n.ts +137 -25
- package/src/client.test.ts +21 -0
- package/src/client.tsx +145 -7
- package/src/config.test.ts +32 -0
- package/src/config.ts +49 -2
- package/src/core.test.ts +95 -0
- package/src/core.ts +217 -2
- package/src/criteria.test.ts +60 -0
- package/src/criteria.ts +76 -0
- package/src/decisions.test.ts +150 -0
- package/src/decisions.ts +244 -0
- package/src/engine.test.ts +131 -0
- package/src/engine.ts +167 -10
- package/src/index.test.ts +278 -8
- package/src/index.ts +373 -37
- package/src/replay.test.ts +82 -0
- package/src/replay.ts +155 -0
- package/src/router.test.ts +240 -1
- package/src/router.ts +298 -48
- package/src/statistics.test.ts +49 -1
- package/src/statistics.ts +44 -7
- package/src/top-logprobs.test.ts +28 -0
- package/src/top-logprobs.ts +56 -8
- package/lib/caller-DJd_FlrQ.js.map +0 -1
package/lib/replay.js
ADDED
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { extractScore } from "./core.js";
|
|
2
|
+
import { a as sessionAccepted } from "./auto-B5V49e-A.js";
|
|
3
|
+
//#region src/replay.ts
|
|
4
|
+
function numberAt(row, key) {
|
|
5
|
+
const value = row[key];
|
|
6
|
+
return typeof value === "number" && Number.isFinite(value) ? value : void 0;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Read one topic's statistics file into the records a threshold sweep can replay.
|
|
10
|
+
*
|
|
11
|
+
* Loose on purpose, exactly like the store's own loader: a record written by an older or newer
|
|
12
|
+
* plugin must not abort the replay. Records that carry no verdict (failed invocations) come back
|
|
13
|
+
* with no score, and the sweep reports them as unscored rather than as acceptances.
|
|
14
|
+
* @param text - raw `verifier/statistics-v1.json`.
|
|
15
|
+
* @returns The parsed invocations; an unreadable document yields an empty list.
|
|
16
|
+
*/
|
|
17
|
+
function parseStatisticsRecords(text) {
|
|
18
|
+
let document;
|
|
19
|
+
try {
|
|
20
|
+
document = JSON.parse(text);
|
|
21
|
+
} catch {
|
|
22
|
+
return [];
|
|
23
|
+
}
|
|
24
|
+
const records = typeof document === "object" && document !== null ? document.records : void 0;
|
|
25
|
+
if (!Array.isArray(records)) return [];
|
|
26
|
+
const out = [];
|
|
27
|
+
for (const entry of records) {
|
|
28
|
+
if (typeof entry !== "object" || entry === null) continue;
|
|
29
|
+
const row = entry;
|
|
30
|
+
const verdict = typeof row.verdict === "object" && row.verdict !== null ? row.verdict : {};
|
|
31
|
+
const criteria = [];
|
|
32
|
+
for (const item of Array.isArray(verdict.criteria) ? verdict.criteria : []) {
|
|
33
|
+
if (typeof item !== "object" || item === null) continue;
|
|
34
|
+
const criterion = item;
|
|
35
|
+
if (typeof criterion.id !== "string") continue;
|
|
36
|
+
const score = numberAt(criterion, "score");
|
|
37
|
+
if (score !== void 0) criteria.push({
|
|
38
|
+
id: criterion.id,
|
|
39
|
+
score
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
const score = numberAt(verdict, "score");
|
|
43
|
+
const baselineScore = numberAt(verdict, "baselineScore");
|
|
44
|
+
const winner = verdict.winner === "A" || verdict.winner === "B" || verdict.winner === "tie" ? verdict.winner : void 0;
|
|
45
|
+
out.push({
|
|
46
|
+
toolName: typeof row.toolName === "string" ? row.toolName : "",
|
|
47
|
+
startedAt: numberAt(row, "startedAt") ?? 0,
|
|
48
|
+
success: row.success === true,
|
|
49
|
+
criteria,
|
|
50
|
+
...score !== void 0 ? { score } : {},
|
|
51
|
+
...baselineScore !== void 0 ? { baselineScore } : {},
|
|
52
|
+
...winner !== void 0 ? { winner } : {}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
return out;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Re-score every recorded session acceptance at each threshold with the LIVE acceptance rule.
|
|
59
|
+
*
|
|
60
|
+
* This is the tuning tool the plan calls for: `autoVerifyThreshold` (and the per-criterion
|
|
61
|
+
* floor that {@link sessionAccepted} applies) is currently a hand-picked number with no evidence
|
|
62
|
+
* behind it. The stored verdict already carries the session score, the baseline score, the winner
|
|
63
|
+
* and the per-criterion scores — everything the gate looked at — so a sweep costs no model calls.
|
|
64
|
+
*
|
|
65
|
+
* Only `verifier_current_session` records are gate decisions; routed compare/select/track
|
|
66
|
+
* verdicts use different thresholds and are skipped.
|
|
67
|
+
* @param invocations - records from {@link parseStatisticsRecords}.
|
|
68
|
+
* @param thresholds - thresholds to test, typically 0.5..0.9.
|
|
69
|
+
* @returns One row per threshold, in the given order.
|
|
70
|
+
*/
|
|
71
|
+
function sweepThresholds(invocations, thresholds) {
|
|
72
|
+
const gateRecords = invocations.filter((record) => record.toolName === "verifier_current_session");
|
|
73
|
+
return thresholds.map((threshold) => {
|
|
74
|
+
const row = {
|
|
75
|
+
threshold,
|
|
76
|
+
total: gateRecords.length,
|
|
77
|
+
accepted: 0,
|
|
78
|
+
rejectedVerdict: 0,
|
|
79
|
+
rejectedMean: 0,
|
|
80
|
+
rejectedCriterion: 0,
|
|
81
|
+
unscored: 0
|
|
82
|
+
};
|
|
83
|
+
for (const record of gateRecords) {
|
|
84
|
+
if (record.score === void 0 || record.winner === void 0) {
|
|
85
|
+
row.unscored += 1;
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
if (sessionAccepted({
|
|
89
|
+
score: record.score,
|
|
90
|
+
winner: record.winner,
|
|
91
|
+
criteria: record.criteria
|
|
92
|
+
}, threshold)) {
|
|
93
|
+
row.accepted += 1;
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
if (record.winner !== "A") row.rejectedVerdict += 1;
|
|
97
|
+
else if (record.score < threshold) row.rejectedMean += 1;
|
|
98
|
+
else row.rejectedCriterion += 1;
|
|
99
|
+
}
|
|
100
|
+
return row;
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Re-parse captured judge answers with the current score parser.
|
|
105
|
+
*
|
|
106
|
+
* A snapshot stores the raw answer, so the parser can be replayed offline: a pairwise call must
|
|
107
|
+
* parse back to exactly the score it produced, and a drift means the parser (or the prompt format)
|
|
108
|
+
* changed under a stored answer. A top-logprobs call's stored score is an expectation over a token
|
|
109
|
+
* distribution the snapshot does not keep, so a text-channel re-parse is expected to differ and is
|
|
110
|
+
* reported as drift — read those rows as informational, not as regressions.
|
|
111
|
+
*
|
|
112
|
+
* The tag depends on the call: pairwise judging answers `<score_A>`, while progress judging answers
|
|
113
|
+
* `<c1>..<cN>` and the trace stores the LAST checkpoint, inverted (progress runs A = nothing done
|
|
114
|
+
* .. T = certainly done, the reverse of the pairwise scale). A call with neither tag is a route
|
|
115
|
+
* classification, i.e. not a score at all.
|
|
116
|
+
* @param calls - captured calls with their raw answers.
|
|
117
|
+
* @returns One row per call.
|
|
118
|
+
*/
|
|
119
|
+
function replayDecisionScores(calls) {
|
|
120
|
+
return calls.map((call) => {
|
|
121
|
+
const completion = {
|
|
122
|
+
text: call.output,
|
|
123
|
+
tokens: [],
|
|
124
|
+
positions: []
|
|
125
|
+
};
|
|
126
|
+
const progressTags = [...call.output.matchAll(/<c(\d+)>/gu)].map((match) => "<c" + match[1] + ">");
|
|
127
|
+
const tagged = call.output.includes("<score_A>") || progressTags.length > 0;
|
|
128
|
+
let reparsed;
|
|
129
|
+
if (tagged) try {
|
|
130
|
+
reparsed = call.output.includes("<score_A>") ? extractScore(completion, "<score_A>") : 1 - extractScore(completion, progressTags[progressTags.length - 1]);
|
|
131
|
+
} catch {
|
|
132
|
+
reparsed = void 0;
|
|
133
|
+
}
|
|
134
|
+
const head = {
|
|
135
|
+
label: call.label,
|
|
136
|
+
channel: call.channel,
|
|
137
|
+
...call.score !== void 0 ? { stored: call.score } : {}
|
|
138
|
+
};
|
|
139
|
+
if (!tagged) return {
|
|
140
|
+
...head,
|
|
141
|
+
mode: "not-scored"
|
|
142
|
+
};
|
|
143
|
+
if (reparsed === void 0) return {
|
|
144
|
+
...head,
|
|
145
|
+
mode: "unreadable"
|
|
146
|
+
};
|
|
147
|
+
return {
|
|
148
|
+
...head,
|
|
149
|
+
reparsed,
|
|
150
|
+
mode: call.score !== void 0 && Math.abs(call.score - reparsed) < 1e-9 ? "match" : "drift"
|
|
151
|
+
};
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
//#endregion
|
|
155
|
+
export { parseStatisticsRecords, replayDecisionScores, sweepThresholds };
|
|
156
|
+
|
|
157
|
+
//# sourceMappingURL=replay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replay.js","names":[],"sources":["../src/replay.ts"],"sourcesContent":["import { extractScore } from './core.ts'\nimport { sessionAccepted } from './auto.ts'\n\n/** One persisted invocation, reduced to the fields an acceptance decision depends on. */\nexport interface ReplayInvocation {\n toolName: string\n startedAt: number\n success: boolean\n score?: number\n baselineScore?: number\n winner?: 'A' | 'B' | 'tie'\n criteria: Array<{ id: string; score: number }>\n}\n\nfunction numberAt(row: Record<string, unknown>, key: string): number | undefined {\n const value = row[key]\n return typeof value === 'number' && Number.isFinite(value) ? value : undefined\n}\n\n/**\n * Read one topic's statistics file into the records a threshold sweep can replay.\n *\n * Loose on purpose, exactly like the store's own loader: a record written by an older or newer\n * plugin must not abort the replay. Records that carry no verdict (failed invocations) come back\n * with no score, and the sweep reports them as unscored rather than as acceptances.\n * @param text - raw `verifier/statistics-v1.json`.\n * @returns The parsed invocations; an unreadable document yields an empty list.\n */\nexport function parseStatisticsRecords(text: string): ReplayInvocation[] {\n let document: unknown\n try { document = JSON.parse(text) } catch { return [] }\n const records = typeof document === 'object' && document !== null ? (document as { records?: unknown }).records : undefined\n if (!Array.isArray(records)) return []\n const out: ReplayInvocation[] = []\n for (const entry of records) {\n if (typeof entry !== 'object' || entry === null) continue\n const row = entry as Record<string, unknown>\n const verdict = typeof row.verdict === 'object' && row.verdict !== null ? row.verdict as Record<string, unknown> : {}\n const criteria: Array<{ id: string; score: number }> = []\n for (const item of Array.isArray(verdict.criteria) ? verdict.criteria : []) {\n if (typeof item !== 'object' || item === null) continue\n const criterion = item as Record<string, unknown>\n if (typeof criterion.id !== 'string') continue\n const score = numberAt(criterion, 'score')\n if (score !== undefined) criteria.push({ id: criterion.id, score })\n }\n const score = numberAt(verdict, 'score')\n const baselineScore = numberAt(verdict, 'baselineScore')\n const winner = verdict.winner === 'A' || verdict.winner === 'B' || verdict.winner === 'tie' ? verdict.winner : undefined\n out.push({\n toolName: typeof row.toolName === 'string' ? row.toolName : '',\n startedAt: numberAt(row, 'startedAt') ?? 0,\n success: row.success === true,\n criteria,\n ...(score !== undefined ? { score } : {}),\n ...(baselineScore !== undefined ? { baselineScore } : {}),\n ...(winner !== undefined ? { winner } : {}),\n })\n }\n return out\n}\n\n/** Why a recorded acceptance failed at one threshold, so a sweep shows WHAT the threshold decides. */\nexport interface ThresholdRow {\n threshold: number\n total: number\n accepted: number\n /** Losing to the empty-work baseline (or an unreadable verdict) can never pass. */\n rejectedVerdict: number\n /** The mean itself was below the threshold. */\n rejectedMean: number\n /** The mean passed but at least one criterion was below the threshold. */\n rejectedCriterion: number\n /** The record has no usable score (a failed invocation). */\n unscored: number\n}\n\n/**\n * Re-score every recorded session acceptance at each threshold with the LIVE acceptance rule.\n *\n * This is the tuning tool the plan calls for: `autoVerifyThreshold` (and the per-criterion\n * floor that {@link sessionAccepted} applies) is currently a hand-picked number with no evidence\n * behind it. The stored verdict already carries the session score, the baseline score, the winner\n * and the per-criterion scores — everything the gate looked at — so a sweep costs no model calls.\n *\n * Only `verifier_current_session` records are gate decisions; routed compare/select/track\n * verdicts use different thresholds and are skipped.\n * @param invocations - records from {@link parseStatisticsRecords}.\n * @param thresholds - thresholds to test, typically 0.5..0.9.\n * @returns One row per threshold, in the given order.\n */\nexport function sweepThresholds(invocations: readonly ReplayInvocation[], thresholds: readonly number[]): ThresholdRow[] {\n const gateRecords = invocations.filter(record => record.toolName === 'verifier_current_session')\n return thresholds.map(threshold => {\n const row: ThresholdRow = { threshold, total: gateRecords.length, accepted: 0, rejectedVerdict: 0, rejectedMean: 0, rejectedCriterion: 0, unscored: 0 }\n for (const record of gateRecords) {\n if (record.score === undefined || record.winner === undefined) { row.unscored += 1; continue }\n if (sessionAccepted({ score: record.score, winner: record.winner, criteria: record.criteria }, threshold)) { row.accepted += 1; continue }\n if (record.winner !== 'A') row.rejectedVerdict += 1\n else if (record.score < threshold) row.rejectedMean += 1\n else row.rejectedCriterion += 1\n }\n return row\n })\n}\n\n/** One captured judge call re-parsed through the current scorer. */\nexport interface DecisionReplayRow {\n label: string\n channel: string\n stored?: number\n reparsed?: number\n /**\n * `not-scored` means the answer carries no score tag at all — a route classification, or any\n * other non-scoring call. Counting those as failures made the report cry wolf on every\n * `track` and `verifier_route_classify` snapshot.\n */\n mode: 'match' | 'drift' | 'unreadable' | 'not-scored'\n}\n\n/**\n * Re-parse captured judge answers with the current score parser.\n *\n * A snapshot stores the raw answer, so the parser can be replayed offline: a pairwise call must\n * parse back to exactly the score it produced, and a drift means the parser (or the prompt format)\n * changed under a stored answer. A top-logprobs call's stored score is an expectation over a token\n * distribution the snapshot does not keep, so a text-channel re-parse is expected to differ and is\n * reported as drift — read those rows as informational, not as regressions.\n *\n * The tag depends on the call: pairwise judging answers `<score_A>`, while progress judging answers\n * `<c1>..<cN>` and the trace stores the LAST checkpoint, inverted (progress runs A = nothing done\n * .. T = certainly done, the reverse of the pairwise scale). A call with neither tag is a route\n * classification, i.e. not a score at all.\n * @param calls - captured calls with their raw answers.\n * @returns One row per call.\n */\nexport function replayDecisionScores(calls: ReadonlyArray<{ label: string; channel: string; output: string; score?: number }>): DecisionReplayRow[] {\n return calls.map(call => {\n const completion = { text: call.output, tokens: [], positions: [] }\n const progressTags = [...call.output.matchAll(/<c(\\d+)>/gu)].map(match => '<c' + match[1] + '>')\n const tagged = call.output.includes('<score_A>') || progressTags.length > 0\n let reparsed: number | undefined\n if (tagged) {\n try {\n reparsed = call.output.includes('<score_A>')\n ? extractScore(completion, '<score_A>')\n : 1 - extractScore(completion, progressTags[progressTags.length - 1]!)\n } catch { reparsed = undefined }\n }\n const head = { label: call.label, channel: call.channel, ...(call.score !== undefined ? { stored: call.score } : {}) }\n if (!tagged) return { ...head, mode: 'not-scored' as const }\n if (reparsed === undefined) return { ...head, mode: 'unreadable' as const }\n return { ...head, reparsed, mode: call.score !== undefined && Math.abs(call.score - reparsed) < 1e-9 ? 'match' as const : 'drift' as const }\n })\n}\n"],"mappings":";;;AAcA,SAAS,SAAS,KAA8B,KAAiC;CAC/E,MAAM,QAAQ,IAAI;CAClB,OAAO,OAAO,UAAU,YAAY,OAAO,SAAS,KAAK,IAAI,QAAQ,KAAA;AACvE;;;;;;;;;;AAWA,SAAgB,uBAAuB,MAAkC;CACvE,IAAI;CACJ,IAAI;EAAE,WAAW,KAAK,MAAM,IAAI;CAAE,QAAQ;EAAE,OAAO,CAAC;CAAE;CACtD,MAAM,UAAU,OAAO,aAAa,YAAY,aAAa,OAAQ,SAAmC,UAAU,KAAA;CAClH,IAAI,CAAC,MAAM,QAAQ,OAAO,GAAG,OAAO,CAAC;CACrC,MAAM,MAA0B,CAAC;CACjC,KAAK,MAAM,SAAS,SAAS;EAC3B,IAAI,OAAO,UAAU,YAAY,UAAU,MAAM;EACjD,MAAM,MAAM;EACZ,MAAM,UAAU,OAAO,IAAI,YAAY,YAAY,IAAI,YAAY,OAAO,IAAI,UAAqC,CAAC;EACpH,MAAM,WAAiD,CAAC;EACxD,KAAK,MAAM,QAAQ,MAAM,QAAQ,QAAQ,QAAQ,IAAI,QAAQ,WAAW,CAAC,GAAG;GAC1E,IAAI,OAAO,SAAS,YAAY,SAAS,MAAM;GAC/C,MAAM,YAAY;GAClB,IAAI,OAAO,UAAU,OAAO,UAAU;GACtC,MAAM,QAAQ,SAAS,WAAW,OAAO;GACzC,IAAI,UAAU,KAAA,GAAW,SAAS,KAAK;IAAE,IAAI,UAAU;IAAI;GAAM,CAAC;EACpE;EACA,MAAM,QAAQ,SAAS,SAAS,OAAO;EACvC,MAAM,gBAAgB,SAAS,SAAS,eAAe;EACvD,MAAM,SAAS,QAAQ,WAAW,OAAO,QAAQ,WAAW,OAAO,QAAQ,WAAW,QAAQ,QAAQ,SAAS,KAAA;EAC/G,IAAI,KAAK;GACP,UAAU,OAAO,IAAI,aAAa,WAAW,IAAI,WAAW;GAC5D,WAAW,SAAS,KAAK,WAAW,KAAK;GACzC,SAAS,IAAI,YAAY;GACzB;GACA,GAAI,UAAU,KAAA,IAAY,EAAE,MAAM,IAAI,CAAC;GACvC,GAAI,kBAAkB,KAAA,IAAY,EAAE,cAAc,IAAI,CAAC;GACvD,GAAI,WAAW,KAAA,IAAY,EAAE,OAAO,IAAI,CAAC;EAC3C,CAAC;CACH;CACA,OAAO;AACT;;;;;;;;;;;;;;;AA+BA,SAAgB,gBAAgB,aAA0C,YAA+C;CACvH,MAAM,cAAc,YAAY,QAAO,WAAU,OAAO,aAAa,0BAA0B;CAC/F,OAAO,WAAW,KAAI,cAAa;EACjC,MAAM,MAAoB;GAAE;GAAW,OAAO,YAAY;GAAQ,UAAU;GAAG,iBAAiB;GAAG,cAAc;GAAG,mBAAmB;GAAG,UAAU;EAAE;EACtJ,KAAK,MAAM,UAAU,aAAa;GAChC,IAAI,OAAO,UAAU,KAAA,KAAa,OAAO,WAAW,KAAA,GAAW;IAAE,IAAI,YAAY;IAAG;GAAS;GAC7F,IAAI,gBAAgB;IAAE,OAAO,OAAO;IAAO,QAAQ,OAAO;IAAQ,UAAU,OAAO;GAAS,GAAG,SAAS,GAAG;IAAE,IAAI,YAAY;IAAG;GAAS;GACzI,IAAI,OAAO,WAAW,KAAK,IAAI,mBAAmB;QAC7C,IAAI,OAAO,QAAQ,WAAW,IAAI,gBAAgB;QAClD,IAAI,qBAAqB;EAChC;EACA,OAAO;CACT,CAAC;AACH;;;;;;;;;;;;;;;;;AAgCA,SAAgB,qBAAqB,OAA+G;CAClJ,OAAO,MAAM,KAAI,SAAQ;EACvB,MAAM,aAAa;GAAE,MAAM,KAAK;GAAQ,QAAQ,CAAC;GAAG,WAAW,CAAC;EAAE;EAClE,MAAM,eAAe,CAAC,GAAG,KAAK,OAAO,SAAS,YAAY,CAAC,CAAC,CAAC,KAAI,UAAS,OAAO,MAAM,KAAK,GAAG;EAC/F,MAAM,SAAS,KAAK,OAAO,SAAS,WAAW,KAAK,aAAa,SAAS;EAC1E,IAAI;EACJ,IAAI,QACF,IAAI;GACF,WAAW,KAAK,OAAO,SAAS,WAAW,IACvC,aAAa,YAAY,WAAW,IACpC,IAAI,aAAa,YAAY,aAAa,aAAa,SAAS,EAAG;EACzE,QAAQ;GAAE,WAAW,KAAA;EAAU;EAEjC,MAAM,OAAO;GAAE,OAAO,KAAK;GAAO,SAAS,KAAK;GAAS,GAAI,KAAK,UAAU,KAAA,IAAY,EAAE,QAAQ,KAAK,MAAM,IAAI,CAAC;EAAG;EACrH,IAAI,CAAC,QAAQ,OAAO;GAAE,GAAG;GAAM,MAAM;EAAsB;EAC3D,IAAI,aAAa,KAAA,GAAW,OAAO;GAAE,GAAG;GAAM,MAAM;EAAsB;EAC1E,OAAO;GAAE,GAAG;GAAM;GAAU,MAAM,KAAK,UAAU,KAAA,KAAa,KAAK,IAAI,KAAK,QAAQ,QAAQ,IAAI,OAAO,UAAmB;EAAiB;CAC7I,CAAC;AACH"}
|
package/lib/types/auto.js
CHANGED
|
@@ -6,7 +6,7 @@ const PASSIVE_TOOLS = new Set([
|
|
|
6
6
|
'job_output', 'list_agents', 'get_goal', 'skill', 'mcp__codegraph__codegraph_explore',
|
|
7
7
|
]);
|
|
8
8
|
const VERIFIER_TOOLS = new Set([
|
|
9
|
-
'verifier_compare', 'verifier_select', 'verifier_track', 'verifier_current_session',
|
|
9
|
+
'verifier_compare', 'verifier_select', 'verifier_track', 'verifier_best_of_n', 'verifier_current_session',
|
|
10
10
|
]);
|
|
11
11
|
const CONSEQUENTIAL_TOOLS = new Set([
|
|
12
12
|
'edit', 'write', 'pwsh', 'bash', 'run_code', 'codex_image_generate',
|
package/lib/types/auto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto.js","sourceRoot":"","sources":["../../src/auto.ts"],"names":[],"mappings":"AACA,wFAAwF;AACxF,0FAA0F;AAC1F,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AA+BjD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU;IAC1E,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,mCAAmC;CACtF,CAAC,CAAA;AACF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,0BAA0B;
|
|
1
|
+
{"version":3,"file":"auto.js","sourceRoot":"","sources":["../../src/auto.ts"],"names":[],"mappings":"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"}
|
package/lib/types/caller.d.ts
CHANGED
|
@@ -48,6 +48,71 @@ export declare class RequestLimiter {
|
|
|
48
48
|
/** Best-effort pre-call channel prediction for cache identity only; callAutomatic() stays the runtime source of truth. */
|
|
49
49
|
export declare function predictScoringChannel(config: VerifierClientConfig): Promise<ScoringMode>;
|
|
50
50
|
export declare function callVerifier(config: VerifierClientConfig, prompt: string, signal?: AbortSignal, images?: readonly VerifierImage[]): Promise<VerifierCompletion>;
|
|
51
|
+
/**
|
|
52
|
+
* Best-of-N generation sampling constants.
|
|
53
|
+
*
|
|
54
|
+
* Deliberately NOT the judge's temperature: best-of-N only pays off when the drafts actually
|
|
55
|
+
* differ, and the judge's low default (0.2) would produce N near-copies — the tool would then
|
|
56
|
+
* spend N times the money choosing between the same answer.
|
|
57
|
+
*/
|
|
58
|
+
export declare const GENERATION_TEMPERATURE = 1;
|
|
59
|
+
/**
|
|
60
|
+
* Output ceiling for one draft.
|
|
61
|
+
*
|
|
62
|
+
* 4096 was a guess in the plan, and the first real end-to-end acceptance disproved it: a
|
|
63
|
+
* "function + 12 test cases + a note" task truncated ALL THREE drafts, so the tool returned
|
|
64
|
+
* nothing at all. The measured cause is reasoning tokens: on a trivial 2-draft run the session
|
|
65
|
+
* model (deepseek-official/deepseek-flash) spent 16363 reasoning tokens out of 17254 output
|
|
66
|
+
* tokens — roughly 8k of reasoning PER DRAFT, which eats any 4096 budget before the answer starts.
|
|
67
|
+
*
|
|
68
|
+
* 16384 is about 2x that measured per-draft spend, and it is also the largest ceiling that keeps
|
|
69
|
+
* a pairwise judge prompt inside the plugin's own evidence limit: two drafts at 16384 tokens are
|
|
70
|
+
* roughly 130k characters against a 240k explicit-evidence ceiling (EXPLICIT_MAX_TOTAL_CHARS).
|
|
71
|
+
* `maxTokens` is a ceiling rather than a reservation, so a draft that needs less room costs
|
|
72
|
+
* exactly what it did before. A task whose answer genuinely needs more is too large for this tool,
|
|
73
|
+
* and its truncation is REPORTED instead of being silently returned.
|
|
74
|
+
*/
|
|
75
|
+
export declare const GENERATION_MAX_TOKENS = 16384;
|
|
76
|
+
export interface GenerationTarget {
|
|
77
|
+
provider: string;
|
|
78
|
+
model: string;
|
|
79
|
+
reasoningEffort?: string;
|
|
80
|
+
}
|
|
81
|
+
/** One draft: plain text, never scored, plus whether it ran into the output ceiling. */
|
|
82
|
+
export interface GeneratedCandidate extends VerifierCompletion {
|
|
83
|
+
truncated: boolean;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Re-point an existing verifier client at the model that should draft the candidates.
|
|
87
|
+
*
|
|
88
|
+
* Everything transport-shaped (context, llm runtime, attachments, capability memory, limiter,
|
|
89
|
+
* timeout, retry budget) is inherited; only the route and the two generation-specific scalars
|
|
90
|
+
* are replaced. `reasoningEffort` comes from the target and is never inherited from the base,
|
|
91
|
+
* because the base is a judge: a leftover judge effort would silently draft with the wrong model
|
|
92
|
+
* settings.
|
|
93
|
+
* @param base - any configured verifier client (the primary judge is the cheapest source).
|
|
94
|
+
* @param target - the model that writes the drafts.
|
|
95
|
+
* @param maxTokens - output ceiling for this attempt.
|
|
96
|
+
* @returns A client config safe to pass to {@link callGeneratedText}.
|
|
97
|
+
*/
|
|
98
|
+
export declare function generationClient(base: VerifierClientConfig, target: GenerationTarget, maxTokens?: number): VerifierClientConfig;
|
|
99
|
+
/**
|
|
100
|
+
* One best-of-N draft.
|
|
101
|
+
*
|
|
102
|
+
* A named seam over the plain-text path: generation has no A–T contract and no scoring channel, and
|
|
103
|
+
* the name keeps it distinct from the judge calls at every call site and in the decision snapshot.
|
|
104
|
+
*
|
|
105
|
+
* Hitting the output ceiling is deliberately NOT an error here. The operator already paid for those
|
|
106
|
+
* tokens, and the judge can see for itself that the text stops mid-sentence. That is exactly why the
|
|
107
|
+
* judge's fail-closed max-tokens handling was split out of this path: before the split, one long
|
|
108
|
+
* task made the whole tool return zero candidates.
|
|
109
|
+
* @param base - any configured verifier client (the primary judge is the cheapest source).
|
|
110
|
+
* @param target - the model that writes the draft (normally the session model).
|
|
111
|
+
* @param prompt - the rendered drafting prompt.
|
|
112
|
+
* @param signal - caller's abort signal.
|
|
113
|
+
* @returns The draft text, token usage, and whether it ran into the ceiling.
|
|
114
|
+
*/
|
|
115
|
+
export declare function generateCandidate(base: VerifierClientConfig, target: GenerationTarget, prompt: string, signal?: AbortSignal): Promise<GeneratedCandidate>;
|
|
51
116
|
/** Plain-text verifier call for conservative JSON routing; probability labels are intentionally bypassed. */
|
|
52
117
|
export declare function callVerifierText(config: VerifierClientConfig, prompt: string, signal?: AbortSignal): Promise<VerifierCompletion>;
|
|
53
118
|
export declare function addUsage(target: UsageStats, source: UsageStats): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caller.d.ts","sourceRoot":"","sources":["../../src/caller.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8F,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAgBlJ,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,yBAAyB,EAAwE,MAAM,mBAAmB,CAAA;AACnI,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAElD,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,OAAO,CAAA;IACZ,GAAG,EAAE,UAAU,CAAA;IACf,WAAW,EAAE,eAAe,CAAA;IAC5B,sBAAsB,EAAE,yBAAyB,CAAA;IACjD,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,uGAAuG;IACvG,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,CAAA;CACnE;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,cAAc,CAAA;AACzD,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAAG,KAAK,EAAE,UAAU,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE;
|
|
1
|
+
{"version":3,"file":"caller.d.ts","sourceRoot":"","sources":["../../src/caller.ts"],"names":[],"mappings":"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"}
|
package/lib/types/caller.js
CHANGED
|
@@ -78,7 +78,23 @@ async function retrying(config, signal, run) {
|
|
|
78
78
|
}
|
|
79
79
|
/** One attachment per image object per process: retries must not duplicate attachments. */
|
|
80
80
|
const imageRefs = new WeakMap();
|
|
81
|
-
|
|
81
|
+
/**
|
|
82
|
+
* One plain-text completion through the DSH stream.
|
|
83
|
+
*
|
|
84
|
+
* Shared by the explicit-tag judge path and by best-of-N generation, which differ in exactly one
|
|
85
|
+
* place: a `max-tokens` finish. A truncated JUDGE answer is unusable — its verdict tags may never
|
|
86
|
+
* have been emitted — so it stays a hard error. A truncated DRAFT is still a candidate the operator
|
|
87
|
+
* already paid for, and the judge can see that the text stops mid-sentence and score it accordingly,
|
|
88
|
+
* so generation receives the text plus a `truncated` flag.
|
|
89
|
+
* @param config - resolved verifier client configuration.
|
|
90
|
+
* @param prompt - the rendered prompt.
|
|
91
|
+
* @param signal - the attempt's deadline signal.
|
|
92
|
+
* @param images - attachments to send, if any.
|
|
93
|
+
* @param attempt - 1-based attempt number for usage accounting.
|
|
94
|
+
* @param tolerateTruncation - return the text of a max-tokens finish instead of throwing.
|
|
95
|
+
* @returns The completion (with `truncated`) when it produced text.
|
|
96
|
+
*/
|
|
97
|
+
async function callTextCompletion(config, prompt, signal, images, attempt, tolerateTruncation) {
|
|
82
98
|
const content = [{ type: 'text', text: prompt }];
|
|
83
99
|
for (const image of images ?? []) {
|
|
84
100
|
let pending = imageRefs.get(image);
|
|
@@ -109,15 +125,27 @@ async function callExplicitTag(config, prompt, signal, images, attempt) {
|
|
|
109
125
|
});
|
|
110
126
|
for await (const chunk of config.llm.stream(options))
|
|
111
127
|
assembler.push(chunk);
|
|
112
|
-
|
|
113
|
-
if (
|
|
114
|
-
|
|
128
|
+
let truncated = false;
|
|
129
|
+
if (assembler.finish.kind === 'max-tokens') {
|
|
130
|
+
if (!tolerateTruncation)
|
|
131
|
+
throw new Error('llm-verifier: model call failed: ' + failureMessage(assembler.finish));
|
|
132
|
+
truncated = true;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
const failed = failureMessage(assembler.finish);
|
|
136
|
+
if (failed !== undefined)
|
|
137
|
+
throw new Error('llm-verifier: model call failed: ' + failed);
|
|
138
|
+
}
|
|
115
139
|
const text = assembler.blocks().filter((block) => block.type === 'text').map(block => block.text).join('');
|
|
116
140
|
if (!text.trim())
|
|
117
141
|
throw new Error('llm-verifier: selected DSH model produced no text');
|
|
118
142
|
// DSH adapters expose provider-neutral text/usage but not top-logprob candidates.
|
|
119
143
|
// extractScore() therefore uses the model's explicit final A–T tags.
|
|
120
|
-
return { text, tokens: [], positions: [], scoringMode: 'explicit-tag', usage: usage(attempt, assembler.usage) };
|
|
144
|
+
return { text, tokens: [], positions: [], scoringMode: 'explicit-tag', usage: usage(attempt, assembler.usage), truncated };
|
|
145
|
+
}
|
|
146
|
+
/** Explicit-tag judge completion: fail-closed, so a truncated answer is an error and never a score. */
|
|
147
|
+
async function callExplicitTag(config, prompt, signal, images, attempt) {
|
|
148
|
+
return callTextCompletion(config, prompt, signal, images, attempt, false);
|
|
121
149
|
}
|
|
122
150
|
export class RequestLimiter {
|
|
123
151
|
limit;
|
|
@@ -184,6 +212,86 @@ export async function callVerifier(config, prompt, signal, images) {
|
|
|
184
212
|
const invoke = () => retrying(config, signal, (attemptSignal, attempt) => callAutomatic(config, prompt, attemptSignal, images, attempt));
|
|
185
213
|
return config.limiter === undefined ? invoke() : config.limiter.run(invoke, signal);
|
|
186
214
|
}
|
|
215
|
+
/**
|
|
216
|
+
* Best-of-N generation sampling constants.
|
|
217
|
+
*
|
|
218
|
+
* Deliberately NOT the judge's temperature: best-of-N only pays off when the drafts actually
|
|
219
|
+
* differ, and the judge's low default (0.2) would produce N near-copies — the tool would then
|
|
220
|
+
* spend N times the money choosing between the same answer.
|
|
221
|
+
*/
|
|
222
|
+
export const GENERATION_TEMPERATURE = 1;
|
|
223
|
+
/**
|
|
224
|
+
* Output ceiling for one draft.
|
|
225
|
+
*
|
|
226
|
+
* 4096 was a guess in the plan, and the first real end-to-end acceptance disproved it: a
|
|
227
|
+
* "function + 12 test cases + a note" task truncated ALL THREE drafts, so the tool returned
|
|
228
|
+
* nothing at all. The measured cause is reasoning tokens: on a trivial 2-draft run the session
|
|
229
|
+
* model (deepseek-official/deepseek-flash) spent 16363 reasoning tokens out of 17254 output
|
|
230
|
+
* tokens — roughly 8k of reasoning PER DRAFT, which eats any 4096 budget before the answer starts.
|
|
231
|
+
*
|
|
232
|
+
* 16384 is about 2x that measured per-draft spend, and it is also the largest ceiling that keeps
|
|
233
|
+
* a pairwise judge prompt inside the plugin's own evidence limit: two drafts at 16384 tokens are
|
|
234
|
+
* roughly 130k characters against a 240k explicit-evidence ceiling (EXPLICIT_MAX_TOTAL_CHARS).
|
|
235
|
+
* `maxTokens` is a ceiling rather than a reservation, so a draft that needs less room costs
|
|
236
|
+
* exactly what it did before. A task whose answer genuinely needs more is too large for this tool,
|
|
237
|
+
* and its truncation is REPORTED instead of being silently returned.
|
|
238
|
+
*/
|
|
239
|
+
export const GENERATION_MAX_TOKENS = 16384;
|
|
240
|
+
/**
|
|
241
|
+
* Re-point an existing verifier client at the model that should draft the candidates.
|
|
242
|
+
*
|
|
243
|
+
* Everything transport-shaped (context, llm runtime, attachments, capability memory, limiter,
|
|
244
|
+
* timeout, retry budget) is inherited; only the route and the two generation-specific scalars
|
|
245
|
+
* are replaced. `reasoningEffort` comes from the target and is never inherited from the base,
|
|
246
|
+
* because the base is a judge: a leftover judge effort would silently draft with the wrong model
|
|
247
|
+
* settings.
|
|
248
|
+
* @param base - any configured verifier client (the primary judge is the cheapest source).
|
|
249
|
+
* @param target - the model that writes the drafts.
|
|
250
|
+
* @param maxTokens - output ceiling for this attempt.
|
|
251
|
+
* @returns A client config safe to pass to {@link callGeneratedText}.
|
|
252
|
+
*/
|
|
253
|
+
export function generationClient(base, target, maxTokens = GENERATION_MAX_TOKENS) {
|
|
254
|
+
return {
|
|
255
|
+
ctx: base.ctx,
|
|
256
|
+
llm: base.llm,
|
|
257
|
+
attachments: base.attachments,
|
|
258
|
+
topLogprobCapabilities: base.topLogprobCapabilities,
|
|
259
|
+
provider: target.provider,
|
|
260
|
+
model: target.model,
|
|
261
|
+
label: target.provider + '/' + target.model,
|
|
262
|
+
...(target.reasoningEffort === undefined ? {} : { reasoningEffort: target.reasoningEffort }),
|
|
263
|
+
maxTokens,
|
|
264
|
+
temperature: GENERATION_TEMPERATURE,
|
|
265
|
+
timeoutMs: base.timeoutMs,
|
|
266
|
+
maxRetries: base.maxRetries,
|
|
267
|
+
retryBaseDelayMs: base.retryBaseDelayMs,
|
|
268
|
+
...(base.limiter === undefined ? {} : { limiter: base.limiter }),
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* One best-of-N draft.
|
|
273
|
+
*
|
|
274
|
+
* A named seam over the plain-text path: generation has no A–T contract and no scoring channel, and
|
|
275
|
+
* the name keeps it distinct from the judge calls at every call site and in the decision snapshot.
|
|
276
|
+
*
|
|
277
|
+
* Hitting the output ceiling is deliberately NOT an error here. The operator already paid for those
|
|
278
|
+
* tokens, and the judge can see for itself that the text stops mid-sentence. That is exactly why the
|
|
279
|
+
* judge's fail-closed max-tokens handling was split out of this path: before the split, one long
|
|
280
|
+
* task made the whole tool return zero candidates.
|
|
281
|
+
* @param base - any configured verifier client (the primary judge is the cheapest source).
|
|
282
|
+
* @param target - the model that writes the draft (normally the session model).
|
|
283
|
+
* @param prompt - the rendered drafting prompt.
|
|
284
|
+
* @param signal - caller's abort signal.
|
|
285
|
+
* @returns The draft text, token usage, and whether it ran into the ceiling.
|
|
286
|
+
*/
|
|
287
|
+
export async function generateCandidate(base, target, prompt, signal) {
|
|
288
|
+
return callGeneratedText(generationClient(base, target), prompt, signal);
|
|
289
|
+
}
|
|
290
|
+
/** Generation transport: the judge's timeout/retry/limiter wrappers, with truncation as a result. */
|
|
291
|
+
async function callGeneratedText(config, prompt, signal) {
|
|
292
|
+
const invoke = () => retrying(config, signal, (attemptSignal, attempt) => callTextCompletion(config, prompt, attemptSignal, undefined, attempt, true));
|
|
293
|
+
return config.limiter === undefined ? invoke() : config.limiter.run(invoke, signal);
|
|
294
|
+
}
|
|
187
295
|
/** Plain-text verifier call for conservative JSON routing; probability labels are intentionally bypassed. */
|
|
188
296
|
export async function callVerifierText(config, prompt, signal) {
|
|
189
297
|
const invoke = () => retrying(config, signal, (attemptSignal, attempt) => callExplicitTag(config, prompt, attemptSignal, undefined, attempt));
|
package/lib/types/caller.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caller.js","sourceRoot":"","sources":["../../src/caller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"caller.js","sourceRoot":"","sources":["../../src/caller.ts"],"names":[],"mappings":"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"}
|