@tangle-network/agent-eval 0.144.8 → 0.144.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +3 -0
- package/dist/{agent-profile-CgDTo40f.d.ts → agent-profile-DPi7IZg7.d.ts} +3 -3
- package/dist/{agent-profile-CgDTo40f.d.ts.map → agent-profile-DPi7IZg7.d.ts.map} +1 -1
- package/dist/analyst/index.d.ts +9 -9
- package/dist/analyst/index.js +7 -7
- package/dist/{analyze-runs-BNNK7irB.js → analyze-runs-C30yljDJ.js} +2 -2
- package/dist/{analyze-runs-BNNK7irB.js.map → analyze-runs-C30yljDJ.js.map} +1 -1
- package/dist/{benchmark-B181aMF9.js → benchmark-CWeqGl7x.js} +2 -2
- package/dist/{benchmark-B181aMF9.js.map → benchmark-CWeqGl7x.js.map} +1 -1
- package/dist/{benchmark-command-BKENp2s5.js → benchmark-command-D3fEnKdf.js} +8 -8
- package/dist/{benchmark-command-BKENp2s5.js.map → benchmark-command-D3fEnKdf.js.map} +1 -1
- package/dist/benchmarks/index.d.ts +1 -1
- package/dist/benchmarks/index.js +1 -1
- package/dist/{benchmarks-BlPmjd88.js → benchmarks-BzqyTvAr.js} +4 -4
- package/dist/{benchmarks-BlPmjd88.js.map → benchmarks-BzqyTvAr.js.map} +1 -1
- package/dist/campaign/index.d.ts +8 -8
- package/dist/campaign/index.js +5 -5
- package/dist/{campaign--HVSuvV0.js → campaign-ccOrVCuR.js} +6 -6
- package/dist/{campaign--HVSuvV0.js.map → campaign-ccOrVCuR.js.map} +1 -1
- package/dist/cli.js +1 -1
- package/dist/{client-DjXROWpx.d.ts → client-C9gzZE59.d.ts} +4 -4
- package/dist/{client-DjXROWpx.d.ts.map → client-C9gzZE59.d.ts.map} +1 -1
- package/dist/{completion-verifier-foUCLif_.d.ts → completion-verifier-DJA5BhPb.d.ts} +3 -3
- package/dist/{completion-verifier-foUCLif_.d.ts.map → completion-verifier-DJA5BhPb.d.ts.map} +1 -1
- package/dist/contract/index.d.ts +9 -9
- package/dist/contract/index.js +9 -9
- package/dist/contract/index.js.map +1 -1
- package/dist/control.d.ts +2 -2
- package/dist/control.js +1 -1
- package/dist/{default-registry-BZhStdjl.d.ts → default-registry-Bf8Woqmq.d.ts} +6 -6
- package/dist/{default-registry-BZhStdjl.d.ts.map → default-registry-Bf8Woqmq.d.ts.map} +1 -1
- package/dist/{default-registry-BaQXW1Ow.js → default-registry-BmktKy8r.js} +3 -3
- package/dist/{default-registry-BaQXW1Ow.js.map → default-registry-BmktKy8r.js.map} +1 -1
- package/dist/{dspy-rlm-engine-BiN49gK6.js → dspy-rlm-engine-DbTk4JdR.js} +3 -3
- package/dist/{dspy-rlm-engine-BiN49gK6.js.map → dspy-rlm-engine-DbTk4JdR.js.map} +1 -1
- package/dist/{engine-nB64f48I.d.ts → engine-3hL-XqwJ.d.ts} +7 -7
- package/dist/{engine-nB64f48I.d.ts.map → engine-3hL-XqwJ.d.ts.map} +1 -1
- package/dist/{eval-campaign-DNjCvAm-.js → eval-campaign-B_7wcnav.js} +2 -2
- package/dist/{eval-campaign-DNjCvAm-.js.map → eval-campaign-B_7wcnav.js.map} +1 -1
- package/dist/{exact-types-Djvzosly.d.ts → exact-types-DSFFpLLI.d.ts} +2 -2
- package/dist/{exact-types-Djvzosly.d.ts.map → exact-types-DSFFpLLI.d.ts.map} +1 -1
- package/dist/experiment/index.d.ts +2 -2
- package/dist/{extract-usage-BW27f3XW.js → extract-usage-CdZdoj1s.js} +2 -2
- package/dist/{extract-usage-BW27f3XW.js.map → extract-usage-CdZdoj1s.js.map} +1 -1
- package/dist/{feedback-trajectory-Rh280oXo.d.ts → feedback-trajectory-CacHpxsp.d.ts} +3 -3
- package/dist/{feedback-trajectory-Rh280oXo.d.ts.map → feedback-trajectory-CacHpxsp.d.ts.map} +1 -1
- package/dist/hosted/index.d.ts +3 -3
- package/dist/{index-CvXXlyz7.d.ts → index-BnEuDAK2.d.ts} +2 -2
- package/dist/{index-CvXXlyz7.d.ts.map → index-BnEuDAK2.d.ts.map} +1 -1
- package/dist/{index-CwDrUMe0.d.ts → index-CQTZ-4XN.d.ts} +2 -2
- package/dist/{index-CwDrUMe0.d.ts.map → index-CQTZ-4XN.d.ts.map} +1 -1
- package/dist/{index-C5HOo4ZF2.d.ts → index-CwYZNzMD2.d.ts} +5 -5
- package/dist/{index-C5HOo4ZF2.d.ts.map → index-CwYZNzMD2.d.ts.map} +1 -1
- package/dist/{index-Sh2I0DRc.d.ts → index-DvvvSho7.d.ts} +9 -9
- package/dist/{index-Sh2I0DRc.d.ts.map → index-DvvvSho7.d.ts.map} +1 -1
- package/dist/index.d.ts +22 -22
- package/dist/index.js +18 -18
- package/dist/{insight-report-C6h6F_4L.d.ts → insight-report-CgX_s0Ez.d.ts} +3 -3
- package/dist/{insight-report-C6h6F_4L.d.ts.map → insight-report-CgX_s0Ez.d.ts.map} +1 -1
- package/dist/{kind-factory-BHIgPmzS.js → kind-factory-B8-r8-y8.js} +3 -16
- package/dist/kind-factory-B8-r8-y8.js.map +1 -0
- package/dist/meta-eval/index.d.ts +1 -1
- package/dist/{mint-CGEkzPLf.js → mint-B2O60ACG.js} +2 -2
- package/dist/{mint-CGEkzPLf.js.map → mint-B2O60ACG.js.map} +1 -1
- package/dist/multishot/index.d.ts +1 -1
- package/dist/openapi.json +1 -1
- package/dist/{promotion-policy-ChWhTDBH.d.ts → promotion-policy-Ckjhzg_4.d.ts} +2 -2
- package/dist/{promotion-policy-ChWhTDBH.d.ts.map → promotion-policy-Ckjhzg_4.d.ts.map} +1 -1
- package/dist/{propose-review-control-qgWLA6E9.js → propose-review-control-dSNPjFUH.js} +2 -2
- package/dist/{propose-review-control-qgWLA6E9.js.map → propose-review-control-dSNPjFUH.js.map} +1 -1
- package/dist/{release-report-Dy39cbFF.js → release-report-BUYmoKo2.js} +2 -2
- package/dist/{release-report-Dy39cbFF.js.map → release-report-BUYmoKo2.js.map} +1 -1
- package/dist/{release-report-CI8uisI1.d.ts → release-report-DA2BCu5a.d.ts} +3 -3
- package/dist/{release-report-CI8uisI1.d.ts.map → release-report-DA2BCu5a.d.ts.map} +1 -1
- package/dist/{replay-DyBLaKFc.js → replay-CohS93nE.js} +5 -5
- package/dist/{replay-DyBLaKFc.js.map → replay-CohS93nE.js.map} +1 -1
- package/dist/{replay-DFf-teiC.d.ts → replay-DbhZ4Ked.d.ts} +5 -5
- package/dist/{replay-DFf-teiC.d.ts.map → replay-DbhZ4Ked.d.ts.map} +1 -1
- package/dist/reporting.d.ts +3 -3
- package/dist/reporting.js +1 -1
- package/dist/{researcher-BoaxeCzP.d.ts → researcher-BchpD55R.d.ts} +3 -3
- package/dist/{researcher-BoaxeCzP.d.ts.map → researcher-BchpD55R.d.ts.map} +1 -1
- package/dist/{reward-hacking-B2tPL9a3.js → reward-hacking-BDToousL.js} +4 -3
- package/dist/reward-hacking-BDToousL.js.map +1 -0
- package/dist/{reward-hacking-Cf1PtEOz.d.ts → reward-hacking-BI0OMAlo.d.ts} +2 -2
- package/dist/{reward-hacking-Cf1PtEOz.d.ts.map → reward-hacking-BI0OMAlo.d.ts.map} +1 -1
- package/dist/rl.d.ts +5 -5
- package/dist/rl.js +4 -4
- package/dist/rollout/index.d.ts +1 -1
- package/dist/rollout/index.js +2 -2
- package/dist/{rollout-2ECTXb2N.js → rollout-DRrksrcV.js} +2 -2
- package/dist/{rollout-2ECTXb2N.js.map → rollout-DRrksrcV.js.map} +1 -1
- package/dist/{rubric-predictive-validity-9qAwzkZm.d.ts → rubric-predictive-validity-DvkjPYCe.d.ts} +2 -2
- package/dist/{rubric-predictive-validity-9qAwzkZm.d.ts.map → rubric-predictive-validity-DvkjPYCe.d.ts.map} +1 -1
- package/dist/{run-evidence-BDFFai9R.d.ts → run-evidence-Dhi3C81V.d.ts} +3 -3
- package/dist/{run-evidence-BDFFai9R.d.ts.map → run-evidence-Dhi3C81V.d.ts.map} +1 -1
- package/dist/{run-record-DqOw5X6_.js → run-record-BmSPWXJR.js} +2 -1
- package/dist/run-record-BmSPWXJR.js.map +1 -0
- package/dist/{run-record-DdSa93_W.d.ts → run-record-CF4Dwpxr.d.ts} +4 -1
- package/dist/run-record-CF4Dwpxr.d.ts.map +1 -0
- package/dist/{semantic-concept-judge-Bmrq6yqU.js → semantic-concept-judge-D1z-KepS.js} +2 -2
- package/dist/{semantic-concept-judge-Bmrq6yqU.js.map → semantic-concept-judge-D1z-KepS.js.map} +1 -1
- package/dist/{single-run-lock-BMQEv1wG.js → single-run-lock-DFWHEB09.js} +123 -123
- package/dist/{single-run-lock-BMQEv1wG.js.map → single-run-lock-DFWHEB09.js.map} +1 -1
- package/dist/{skill-usage-CJlWEUFt.d.ts → skill-usage-CO9OLRBx.d.ts} +6 -6
- package/dist/{skill-usage-CJlWEUFt.d.ts.map → skill-usage-CO9OLRBx.d.ts.map} +1 -1
- package/dist/{skillopt-optimization-method-BO7NAl3b.d.ts → skillopt-optimization-method-9J8dJbrM.d.ts} +40 -8
- package/dist/skillopt-optimization-method-9J8dJbrM.d.ts.map +1 -0
- package/dist/{skillopt-optimization-method-CkaI2ly4.js → skillopt-optimization-method-D6Q4dLbh.js} +301 -133
- package/dist/skillopt-optimization-method-D6Q4dLbh.js.map +1 -0
- package/dist/{statistical-heldout-Dn9ruizm.d.ts → statistical-heldout-TQ-4CYiN.d.ts} +3 -3
- package/dist/{statistical-heldout-Dn9ruizm.d.ts.map → statistical-heldout-TQ-4CYiN.d.ts.map} +1 -1
- package/dist/{store-otlp-CKtTpRhv.js → store-otlp-Dw8PPIlL.js} +2 -2
- package/dist/{store-otlp-CKtTpRhv.js.map → store-otlp-Dw8PPIlL.js.map} +1 -1
- package/dist/{summary-report-DuUS_i7W.d.ts → summary-report-BNR7DWTj.d.ts} +2 -2
- package/dist/{summary-report-DuUS_i7W.d.ts.map → summary-report-BNR7DWTj.d.ts.map} +1 -1
- package/dist/{tool-groups-DIVBnJyl.d.ts → tool-groups-CZPGGlHf.d.ts} +3 -3
- package/dist/tool-groups-CZPGGlHf.d.ts.map +1 -0
- package/dist/trace-repair/index.d.ts +2 -2
- package/dist/traces.d.ts +4 -4
- package/dist/traces.js +4 -4
- package/dist/{types-DYuNHo9R.d.ts → types-BnjdJ70P.d.ts} +3 -3
- package/dist/{types-DYuNHo9R.d.ts.map → types-BnjdJ70P.d.ts.map} +1 -1
- package/dist/{types-DF_Udrp-.d.ts → types-BvDKaULh.d.ts} +2 -2
- package/dist/{types-DF_Udrp-.d.ts.map → types-BvDKaULh.d.ts.map} +1 -1
- package/dist/{usage-receipt-EVI8B8Xu.js → usage-receipt-t7vAzCRQ.js} +15 -2
- package/dist/usage-receipt-t7vAzCRQ.js.map +1 -0
- package/dist/wire/index.d.ts +1 -1
- package/docs/concepts.md +1 -0
- package/package.json +1 -1
- package/dist/kind-factory-BHIgPmzS.js.map +0 -1
- package/dist/reward-hacking-B2tPL9a3.js.map +0 -1
- package/dist/run-record-DdSa93_W.d.ts.map +0 -1
- package/dist/run-record-DqOw5X6_.js.map +0 -1
- package/dist/skillopt-optimization-method-BO7NAl3b.d.ts.map +0 -1
- package/dist/skillopt-optimization-method-CkaI2ly4.js.map +0 -1
- package/dist/tool-groups-DIVBnJyl.d.ts.map +0 -1
- package/dist/usage-receipt-EVI8B8Xu.js.map +0 -1
package/dist/{skillopt-optimization-method-CkaI2ly4.js → skillopt-optimization-method-D6Q4dLbh.js}
RENAMED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { c as ValidationError, i as JudgeError, t as AgentEvalError } from "./errors-D-LKuDhb.js";
|
|
2
2
|
import { i as CostLedger, t as CostAccountingIncompleteError } from "./cost-ledger-DMFxsLKr.js";
|
|
3
3
|
import { f as maximumChargeForLlmRequest, l as costReceiptFromLlm, m as stripFencedJson, u as costReceiptFromLlmError } from "./llm-client-DzvMUsS_.js";
|
|
4
|
+
import { a as deepFreezeCanonicalJson } from "./usage-receipt-t7vAzCRQ.js";
|
|
4
5
|
import { a as clamp01, o as combineAbortSignals, t as assertProposalFindings } from "./proposal-findings-2GIUo1et.js";
|
|
5
|
-
import { C as isExternalTextCandidate, D as resolveExternalOptimizerProcessLimits, E as resolveExternalOptimizerCallbackLimits, O as safePathComponent, S as isCandidateText, T as removeCredentialEnvironment, b as assertJsonValue, d as closeExternalOptimizerResources, f as runWithCleanup,
|
|
6
|
+
import { C as isExternalTextCandidate, D as resolveExternalOptimizerProcessLimits, E as resolveExternalOptimizerCallbackLimits, O as safePathComponent, S as isCandidateText, T as removeCredentialEnvironment, b as assertJsonValue, d as closeExternalOptimizerResources, f as runWithCleanup, i as fsCampaignStorage, n as startExternalOptimizerCallback, p as startExternalOptimizerModelProxy, r as createRunCostLedger, t as acquireSingleRunLock, u as runExternalOptimizerProcess, w as isRecord, x as assertNoCredentialValues, y as assertExternalOptimizerModelBudget } from "./single-run-lock-DFWHEB09.js";
|
|
6
7
|
import { n as canonicalJson, r as contentHash } from "./verdict-cache-BCcOh0kF.js";
|
|
7
8
|
import { p as mapConcurrent } from "./ledger-core-DXZIqu17.js";
|
|
8
9
|
import { E as pairedBootstrap, H as weightedComposite, d as confidenceInterval } from "./statistics-ByxzSiOM.js";
|
|
9
10
|
import { c as heldoutSignificance, l as pairHoldout, s as dimensionRegressions } from "./promotion-policy-CrLrmys8.js";
|
|
10
11
|
import { t as DEFAULT_REDACTION_RULES } from "./redact-7Aq1ukl-.js";
|
|
11
|
-
import { a as campaignCellCostProvenance, o as campaignCellExecutionEvidence, t as detectRewardHacking, u as projectCampaignCellQuality } from "./reward-hacking-
|
|
12
|
+
import { a as campaignCellCostProvenance, o as campaignCellExecutionEvidence, t as detectRewardHacking, u as projectCampaignCellQuality } from "./reward-hacking-BDToousL.js";
|
|
12
13
|
import { z } from "zod";
|
|
13
14
|
import { writeFileSync } from "node:fs";
|
|
14
15
|
import { basename, isAbsolute, join } from "node:path";
|
|
@@ -1413,73 +1414,241 @@ function designedCellIds(scenarios, reps) {
|
|
|
1413
1414
|
return ids;
|
|
1414
1415
|
}
|
|
1415
1416
|
//#endregion
|
|
1416
|
-
//#region src/campaign/external-optimizer-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
const
|
|
1435
|
-
|
|
1436
|
-
|
|
1417
|
+
//#region src/campaign/external-optimizer-observations.ts
|
|
1418
|
+
/**
|
|
1419
|
+
* Read and verify the exact callback observation artifact addressed by method provenance.
|
|
1420
|
+
*
|
|
1421
|
+
* The reader checks the raw SHA-256, canonical JSONL bytes, sequence, candidate
|
|
1422
|
+
* identities, and summary counts before it returns any candidate.
|
|
1423
|
+
* This proves that the bytes match the supplied summary. The caller remains
|
|
1424
|
+
* responsible for obtaining that summary from trusted provenance.
|
|
1425
|
+
*/
|
|
1426
|
+
function readExternalOptimizerObservationArtifact(input) {
|
|
1427
|
+
const { summary } = input;
|
|
1428
|
+
assertObservationSummary(summary);
|
|
1429
|
+
const storage = input.storage ?? fsCampaignStorage();
|
|
1430
|
+
const contents = storage.read(summary.path);
|
|
1431
|
+
if (contents === void 0) {
|
|
1432
|
+
const state = storage.exists(summary.path) ? "unreadable" : "missing";
|
|
1433
|
+
throw new Error(`external optimizer observation artifact is ${state} at '${summary.path}'`);
|
|
1434
|
+
}
|
|
1435
|
+
const sha256 = `sha256:${createHash("sha256").update(contents).digest("hex")}`;
|
|
1436
|
+
if (sha256 !== summary.sha256) throw new Error(`external optimizer observation artifact digest mismatch at '${summary.path}': expected ${summary.sha256}, got ${sha256}`);
|
|
1437
|
+
if (contents.length > 0 && !contents.endsWith("\n")) throw new Error(`external optimizer observation artifact must end with a newline at '${summary.path}'`);
|
|
1438
|
+
const observations = contents.length === 0 ? [] : parseObservationLines(contents, summary.path);
|
|
1439
|
+
const candidates = [];
|
|
1440
|
+
const proposed = /* @__PURE__ */ new Map();
|
|
1441
|
+
const evaluationNumbers = /* @__PURE__ */ new Set();
|
|
1442
|
+
let evaluations = 0;
|
|
1443
|
+
let failedEvaluations = 0;
|
|
1444
|
+
let refusals = 0;
|
|
1445
|
+
for (const [index, observation] of observations.entries()) {
|
|
1446
|
+
if (observation.sequence !== index + 1) throw new Error(`external optimizer observation artifact expected sequence ${index + 1}, got ${observation.sequence}`);
|
|
1447
|
+
if (observation.kind === "proposal") {
|
|
1448
|
+
assertCandidateIdentity(observation.candidate, observation.candidateHash, observation.sequence);
|
|
1449
|
+
if (proposed.has(observation.candidateHash)) throw new Error(`external optimizer observation artifact repeats candidate ${observation.candidateHash}`);
|
|
1450
|
+
const candidate = {
|
|
1451
|
+
candidate: structuredClone(observation.candidate),
|
|
1452
|
+
candidateHash: observation.candidateHash,
|
|
1453
|
+
candidateDigest: `sha256:${observation.candidateHash}`,
|
|
1454
|
+
proposalSequence: observation.sequence,
|
|
1455
|
+
provenance: {
|
|
1456
|
+
path: summary.path,
|
|
1457
|
+
sha256: summary.sha256
|
|
1458
|
+
}
|
|
1459
|
+
};
|
|
1460
|
+
proposed.set(observation.candidateHash, candidate);
|
|
1461
|
+
candidates.push(candidate);
|
|
1462
|
+
continue;
|
|
1463
|
+
}
|
|
1464
|
+
if (observation.kind === "evaluation") {
|
|
1465
|
+
evaluations += 1;
|
|
1466
|
+
if (evaluationNumbers.has(observation.evaluationNumber)) throw new Error(`external optimizer observation artifact repeats evaluation number ${observation.evaluationNumber}`);
|
|
1467
|
+
evaluationNumbers.add(observation.evaluationNumber);
|
|
1468
|
+
assertObservedCandidate(observation, proposed);
|
|
1469
|
+
assertJsonValue(observation.response, "external optimizer evaluation response");
|
|
1470
|
+
continue;
|
|
1471
|
+
}
|
|
1472
|
+
refusals += 1;
|
|
1473
|
+
if (observation.reason !== "invalid-request" && observation.reason !== "evaluation-limit" && observation.reason !== "evaluation-failed") throw new Error(`external optimizer observation artifact has invalid refusal reason at sequence ${observation.sequence}`);
|
|
1474
|
+
if (observation.reason === "evaluation-failed") failedEvaluations += 1;
|
|
1475
|
+
const candidateFields = [observation.candidate, observation.candidateHash];
|
|
1476
|
+
if (observation.reason !== "invalid-request" && candidateFields.some((value) => value === void 0)) throw new Error(`external optimizer observation artifact omits a refused candidate at sequence ${observation.sequence}`);
|
|
1477
|
+
if (candidateFields.some((value) => value !== void 0)) {
|
|
1478
|
+
if (candidateFields.some((value) => value === void 0)) throw new Error(`external optimizer observation artifact has incomplete candidate identity at sequence ${observation.sequence}`);
|
|
1479
|
+
assertObservedCandidate(observation, proposed);
|
|
1480
|
+
}
|
|
1481
|
+
}
|
|
1482
|
+
const acceptedEvaluations = evaluations + failedEvaluations;
|
|
1483
|
+
for (const evaluationNumber of evaluationNumbers) if (evaluationNumber > acceptedEvaluations) throw new Error(`external optimizer observation artifact has out-of-range evaluation number ${evaluationNumber}`);
|
|
1484
|
+
if (candidates.length !== summary.submittedCandidates || evaluations !== summary.evaluations || refusals !== summary.refusals) throw new Error(`external optimizer observation artifact counts disagree at '${summary.path}': expected ${summary.submittedCandidates}/${summary.evaluations}/${summary.refusals}, got ${candidates.length}/${evaluations}/${refusals}`);
|
|
1485
|
+
return deepFreezeCanonicalJson({
|
|
1486
|
+
summary: structuredClone(summary),
|
|
1487
|
+
observations,
|
|
1488
|
+
candidates
|
|
1437
1489
|
});
|
|
1490
|
+
}
|
|
1491
|
+
/** Append-only observation log for one external-optimizer attempt. */
|
|
1492
|
+
function openExternalOptimizerObservationLog(input) {
|
|
1493
|
+
if (input.storage.read(input.path) !== void 0 || input.storage.exists(input.path)) throw new Error(`external optimizer observation log already exists at '${input.path}'`);
|
|
1494
|
+
input.storage.write(input.path, "");
|
|
1495
|
+
let revision = 0;
|
|
1496
|
+
const counts = {
|
|
1497
|
+
submittedCandidates: 0,
|
|
1498
|
+
evaluations: 0,
|
|
1499
|
+
refusals: 0
|
|
1500
|
+
};
|
|
1438
1501
|
return {
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1502
|
+
observe(observation) {
|
|
1503
|
+
const expectedSequence = counts.submittedCandidates + counts.evaluations + counts.refusals + 1;
|
|
1504
|
+
if (observation.sequence !== expectedSequence) throw new Error(`external optimizer observation log expected sequence ${expectedSequence}, got ${observation.sequence}`);
|
|
1505
|
+
const line = `${canonicalJson(observation)}\n`;
|
|
1506
|
+
const next = input.storage.append(input.path, line, revision);
|
|
1507
|
+
if (next === void 0) throw new Error(`external optimizer observation log changed concurrently at '${input.path}'`);
|
|
1508
|
+
revision = next;
|
|
1509
|
+
if (observation.kind === "proposal") counts.submittedCandidates += 1;
|
|
1510
|
+
else if (observation.kind === "evaluation") counts.evaluations += 1;
|
|
1511
|
+
else counts.refusals += 1;
|
|
1512
|
+
},
|
|
1513
|
+
summary() {
|
|
1514
|
+
const contents = input.storage.read(input.path) ?? "";
|
|
1515
|
+
const bytes = new TextEncoder().encode(contents);
|
|
1516
|
+
if (bytes.byteLength !== revision) throw new Error(`external optimizer observation log revision changed at '${input.path}'`);
|
|
1517
|
+
return {
|
|
1518
|
+
scope: "callback-submitted-candidates",
|
|
1519
|
+
path: input.path,
|
|
1520
|
+
sha256: `sha256:${createHash("sha256").update(bytes).digest("hex")}`,
|
|
1521
|
+
...counts
|
|
1522
|
+
};
|
|
1459
1523
|
}
|
|
1460
1524
|
};
|
|
1461
1525
|
}
|
|
1462
|
-
function
|
|
1463
|
-
if (
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1526
|
+
function assertObservationSummary(summary) {
|
|
1527
|
+
if (summary.scope !== "callback-submitted-candidates") throw new Error("external optimizer observation summary has an invalid scope");
|
|
1528
|
+
if (typeof summary.path !== "string" || summary.path.trim().length === 0) throw new Error("external optimizer observation summary has an invalid path");
|
|
1529
|
+
if (!/^sha256:[a-f0-9]{64}$/u.test(summary.sha256)) throw new Error("external optimizer observation summary has an invalid SHA-256");
|
|
1530
|
+
for (const [field, value] of [
|
|
1531
|
+
["submittedCandidates", summary.submittedCandidates],
|
|
1532
|
+
["evaluations", summary.evaluations],
|
|
1533
|
+
["refusals", summary.refusals]
|
|
1534
|
+
]) if (!Number.isSafeInteger(value) || value < 0) throw new Error(`external optimizer observation summary ${field} must be a non-negative integer`);
|
|
1535
|
+
}
|
|
1536
|
+
function parseObservationLines(contents, path) {
|
|
1537
|
+
return contents.slice(0, -1).split("\n").map((line, index) => {
|
|
1538
|
+
let observation;
|
|
1471
1539
|
try {
|
|
1472
|
-
|
|
1540
|
+
observation = JSON.parse(line);
|
|
1473
1541
|
} catch (cause) {
|
|
1474
|
-
throw new Error(`external optimizer
|
|
1542
|
+
throw new Error(`external optimizer observation artifact has invalid JSON at '${path}' line ${index + 1}`, { cause });
|
|
1475
1543
|
}
|
|
1476
|
-
|
|
1477
|
-
|
|
1544
|
+
assertObservationShape(observation, index + 1);
|
|
1545
|
+
if (canonicalJson(observation) !== line) throw new Error(`external optimizer observation artifact is not canonical at '${path}' line ${index + 1}`);
|
|
1546
|
+
return observation;
|
|
1547
|
+
});
|
|
1548
|
+
}
|
|
1549
|
+
function assertObservationShape(value, line) {
|
|
1550
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) throw new Error(`external optimizer observation artifact line ${line} must be an object`);
|
|
1551
|
+
const observation = value;
|
|
1552
|
+
if (!Number.isSafeInteger(observation.sequence) || Number(observation.sequence) <= 0) throw new Error(`external optimizer observation artifact line ${line} has an invalid sequence`);
|
|
1553
|
+
if (observation.kind === "proposal") {
|
|
1554
|
+
assertExactKeys(observation, [
|
|
1555
|
+
"candidate",
|
|
1556
|
+
"candidateHash",
|
|
1557
|
+
"kind",
|
|
1558
|
+
"sequence"
|
|
1559
|
+
], line);
|
|
1560
|
+
assertCandidateFields(observation, line);
|
|
1561
|
+
return;
|
|
1478
1562
|
}
|
|
1479
|
-
if (
|
|
1563
|
+
if (observation.kind === "evaluation") {
|
|
1564
|
+
assertExactKeys(observation, [
|
|
1565
|
+
"candidate",
|
|
1566
|
+
"candidateHash",
|
|
1567
|
+
"evaluationNumber",
|
|
1568
|
+
"exampleId",
|
|
1569
|
+
"kind",
|
|
1570
|
+
"response",
|
|
1571
|
+
"sequence"
|
|
1572
|
+
], line);
|
|
1573
|
+
assertCandidateFields(observation, line);
|
|
1574
|
+
if (typeof observation.exampleId !== "string") throw new Error(`external optimizer observation artifact line ${line} has an invalid exampleId`);
|
|
1575
|
+
if (!Number.isSafeInteger(observation.evaluationNumber) || Number(observation.evaluationNumber) <= 0) throw new Error(`external optimizer observation artifact line ${line} has an invalid evaluationNumber`);
|
|
1576
|
+
assertJsonValue(observation.response, `external optimizer observation artifact line ${line}`);
|
|
1577
|
+
return;
|
|
1578
|
+
}
|
|
1579
|
+
if (observation.kind === "refusal") {
|
|
1580
|
+
assertAllowedKeys(observation, [
|
|
1581
|
+
"candidate",
|
|
1582
|
+
"candidateHash",
|
|
1583
|
+
"exampleId",
|
|
1584
|
+
"kind",
|
|
1585
|
+
"reason",
|
|
1586
|
+
"sequence"
|
|
1587
|
+
], line);
|
|
1588
|
+
if (typeof observation.reason !== "string") throw new Error(`external optimizer observation artifact line ${line} has an invalid reason`);
|
|
1589
|
+
if (observation.candidate !== void 0 || observation.candidateHash !== void 0) assertCandidateFields(observation, line);
|
|
1590
|
+
if (observation.exampleId !== void 0 && typeof observation.exampleId !== "string") throw new Error(`external optimizer observation artifact line ${line} has an invalid exampleId`);
|
|
1591
|
+
return;
|
|
1592
|
+
}
|
|
1593
|
+
throw new Error(`external optimizer observation artifact line ${line} has an invalid kind`);
|
|
1594
|
+
}
|
|
1595
|
+
function assertCandidateFields(observation, line) {
|
|
1596
|
+
if (!isExternalTextCandidate(observation.candidate)) throw new Error(`external optimizer observation artifact line ${line} has an invalid candidate`);
|
|
1597
|
+
if (typeof observation.candidateHash !== "string" || !/^[a-f0-9]{64}$/u.test(observation.candidateHash)) throw new Error(`external optimizer observation artifact line ${line} has an invalid candidateHash`);
|
|
1598
|
+
}
|
|
1599
|
+
function assertExactKeys(value, expected, line) {
|
|
1600
|
+
assertAllowedKeys(value, expected, line);
|
|
1601
|
+
for (const key of expected) if (!(key in value)) throw new Error(`external optimizer observation artifact line ${line} is missing ${key}`);
|
|
1602
|
+
}
|
|
1603
|
+
function assertAllowedKeys(value, allowed, line) {
|
|
1604
|
+
const extras = Object.keys(value).filter((key) => !allowed.includes(key));
|
|
1605
|
+
if (extras.length > 0) throw new Error(`external optimizer observation artifact line ${line} has unexpected field ${extras[0]}`);
|
|
1606
|
+
}
|
|
1607
|
+
function assertCandidateIdentity(candidate, candidateHash, sequence) {
|
|
1608
|
+
if (candidateHash !== contentHash({
|
|
1609
|
+
kind: "external-text-candidate",
|
|
1610
|
+
candidate
|
|
1611
|
+
})) throw new Error(`external optimizer observation artifact candidate hash mismatch at sequence ${sequence}`);
|
|
1612
|
+
}
|
|
1613
|
+
function assertObservedCandidate(observation, proposed) {
|
|
1614
|
+
assertCandidateIdentity(observation.candidate, observation.candidateHash, observation.sequence);
|
|
1615
|
+
const candidate = proposed.get(observation.candidateHash);
|
|
1616
|
+
if (!candidate) throw new Error(`external optimizer observation artifact references an unproposed candidate at sequence ${observation.sequence}`);
|
|
1617
|
+
if (!isDeepStrictEqual(observation.candidate, candidate.candidate)) throw new Error(`external optimizer observation artifact changes candidate bytes at sequence ${observation.sequence}`);
|
|
1618
|
+
}
|
|
1619
|
+
/** Append-only opaque Runtime execution records for one optimizer attempt. */
|
|
1620
|
+
function openExternalOptimizerExecutionLog(input) {
|
|
1621
|
+
if (input.storage.read(input.path) !== void 0 || input.storage.exists(input.path)) throw new Error(`external optimizer execution log already exists at '${input.path}'`);
|
|
1622
|
+
input.storage.write(input.path, "");
|
|
1623
|
+
let revision = 0;
|
|
1624
|
+
const counts = {
|
|
1625
|
+
calls: 0,
|
|
1626
|
+
succeeded: 0,
|
|
1627
|
+
failed: 0
|
|
1628
|
+
};
|
|
1480
1629
|
return {
|
|
1481
|
-
|
|
1482
|
-
|
|
1630
|
+
observe(observation) {
|
|
1631
|
+
if (observation.sequence !== counts.calls + 1) throw new Error(`external optimizer execution log expected sequence ${counts.calls + 1}, got ${observation.sequence}`);
|
|
1632
|
+
const line = `${canonicalJson(observation)}\n`;
|
|
1633
|
+
const next = input.storage.append(input.path, line, revision);
|
|
1634
|
+
if (next === void 0) throw new Error(`external optimizer execution log changed concurrently at '${input.path}'`);
|
|
1635
|
+
revision = next;
|
|
1636
|
+
counts.calls += 1;
|
|
1637
|
+
if (observation.succeeded) counts.succeeded += 1;
|
|
1638
|
+
else counts.failed += 1;
|
|
1639
|
+
},
|
|
1640
|
+
summary() {
|
|
1641
|
+
const contents = input.storage.read(input.path) ?? "";
|
|
1642
|
+
const bytes = new TextEncoder().encode(contents);
|
|
1643
|
+
if (bytes.byteLength !== revision) throw new Error(`external optimizer execution log revision changed at '${input.path}'`);
|
|
1644
|
+
if (counts.calls !== counts.succeeded + counts.failed) throw new Error(`external optimizer execution log counts disagree at '${input.path}'`);
|
|
1645
|
+
return {
|
|
1646
|
+
scope: "runtime-model-calls",
|
|
1647
|
+
path: input.path,
|
|
1648
|
+
sha256: `sha256:${createHash("sha256").update(bytes).digest("hex")}`,
|
|
1649
|
+
...counts
|
|
1650
|
+
};
|
|
1651
|
+
}
|
|
1483
1652
|
};
|
|
1484
1653
|
}
|
|
1485
1654
|
//#endregion
|
|
@@ -1809,6 +1978,7 @@ async function executeCell(args) {
|
|
|
1809
1978
|
const tokenUsage = {
|
|
1810
1979
|
input: agentCost.inputTokens,
|
|
1811
1980
|
output: agentCost.outputTokens,
|
|
1981
|
+
...agentCost.usageComplete ? {} : { tokensKnown: false },
|
|
1812
1982
|
...agentCost.reasoningTokens !== void 0 && agentCost.reasoningTokens > 0 ? { reasoning: agentCost.reasoningTokens } : {},
|
|
1813
1983
|
...agentCost.cachedTokens > 0 ? { cached: agentCost.cachedTokens } : {},
|
|
1814
1984
|
...agentCost.cacheWriteTokens !== void 0 && agentCost.cacheWriteTokens > 0 ? { cacheWrite: agentCost.cacheWriteTokens } : {}
|
|
@@ -2829,6 +2999,76 @@ function deepFreeze$1(value) {
|
|
|
2829
2999
|
return value;
|
|
2830
3000
|
}
|
|
2831
3001
|
//#endregion
|
|
3002
|
+
//#region src/campaign/external-optimizer-run-budget.ts
|
|
3003
|
+
function externalOptimizerRunKey(input) {
|
|
3004
|
+
if (!input.attemptId.trim() || input.attemptId.trim() !== input.attemptId) throw new Error("external optimizer attemptId must be trimmed and non-empty");
|
|
3005
|
+
if (typeof input.resumeEnabled !== "boolean") throw new Error("external optimizer resumeEnabled must be a boolean");
|
|
3006
|
+
const compatible = externalOptimizerCompatibleRunKey(input.material);
|
|
3007
|
+
return input.resumeEnabled ? compatible : `${compatible}-${input.attemptId}`;
|
|
3008
|
+
}
|
|
3009
|
+
function externalOptimizerCompatibleRunKey(material) {
|
|
3010
|
+
return contentHash(material);
|
|
3011
|
+
}
|
|
3012
|
+
function openExternalOptimizerRunBudget(input) {
|
|
3013
|
+
if (!input.runKey.trim() || input.runKey.trim() !== input.runKey) throw new Error("external optimizer runKey must be trimmed and non-empty");
|
|
3014
|
+
if (!input.attemptId.trim() || input.attemptId.trim() !== input.attemptId) throw new Error("external optimizer attemptId must be trimmed and non-empty");
|
|
3015
|
+
if (!Number.isSafeInteger(input.maxEvaluations) || input.maxEvaluations <= 0) throw new Error("external optimizer maxEvaluations must be a positive safe integer");
|
|
3016
|
+
const budgetDir = `${input.runDir}/budgets`;
|
|
3017
|
+
const statePath = `${budgetDir}/${input.runKey}.jsonl`;
|
|
3018
|
+
input.storage.ensureDir(budgetDir);
|
|
3019
|
+
const runTags = Object.freeze({ optimizerRun: input.runKey });
|
|
3020
|
+
const attemptTags = Object.freeze({
|
|
3021
|
+
optimizerRun: input.runKey,
|
|
3022
|
+
optimizerAttempt: input.attemptId
|
|
3023
|
+
});
|
|
3024
|
+
return {
|
|
3025
|
+
runKey: input.runKey,
|
|
3026
|
+
attemptId: input.attemptId,
|
|
3027
|
+
runTags,
|
|
3028
|
+
attemptTags,
|
|
3029
|
+
acceptedEvaluations: () => readState(input.storage.read(statePath), input.maxEvaluations, statePath).accepted,
|
|
3030
|
+
acceptEvaluation() {
|
|
3031
|
+
for (let attempt = 0; attempt < 16; attempt += 1) {
|
|
3032
|
+
const current = input.storage.read(statePath) ?? "";
|
|
3033
|
+
const state = readState(current, input.maxEvaluations, statePath);
|
|
3034
|
+
if (state.accepted >= input.maxEvaluations) return void 0;
|
|
3035
|
+
if (!input.storage.append) throw new Error("external optimizer evaluation budgets require appendable storage");
|
|
3036
|
+
const next = state.accepted + 1;
|
|
3037
|
+
const event = `${JSON.stringify({
|
|
3038
|
+
maxEvaluations: input.maxEvaluations,
|
|
3039
|
+
accepted: next
|
|
3040
|
+
})}\n`;
|
|
3041
|
+
const expectedBytes = new TextEncoder().encode(current).byteLength;
|
|
3042
|
+
if (input.storage.append(statePath, event, expectedBytes) !== void 0) return next;
|
|
3043
|
+
}
|
|
3044
|
+
throw new Error(`external optimizer evaluation counter for '${input.runKey}' was updated concurrently`);
|
|
3045
|
+
}
|
|
3046
|
+
};
|
|
3047
|
+
}
|
|
3048
|
+
function readState(text, maxEvaluations, statePath) {
|
|
3049
|
+
if (text === void 0 || text === "") return {
|
|
3050
|
+
maxEvaluations,
|
|
3051
|
+
accepted: 0
|
|
3052
|
+
};
|
|
3053
|
+
let accepted = 0;
|
|
3054
|
+
for (const line of text.split("\n")) {
|
|
3055
|
+
if (!line) continue;
|
|
3056
|
+
let value;
|
|
3057
|
+
try {
|
|
3058
|
+
value = JSON.parse(line);
|
|
3059
|
+
} catch (cause) {
|
|
3060
|
+
throw new Error(`external optimizer evaluation state is invalid at '${statePath}'`, { cause });
|
|
3061
|
+
}
|
|
3062
|
+
if (!value || typeof value !== "object" || Array.isArray(value) || Object.keys(value).sort().join(",") !== "accepted,maxEvaluations" || value.maxEvaluations !== maxEvaluations || value.accepted !== accepted + 1) throw new Error(`external optimizer evaluation state does not match at '${statePath}'`);
|
|
3063
|
+
accepted += 1;
|
|
3064
|
+
}
|
|
3065
|
+
if (accepted > maxEvaluations) throw new Error(`external optimizer evaluation state exceeds its limit at '${statePath}'`);
|
|
3066
|
+
return {
|
|
3067
|
+
maxEvaluations,
|
|
3068
|
+
accepted
|
|
3069
|
+
};
|
|
3070
|
+
}
|
|
3071
|
+
//#endregion
|
|
2832
3072
|
//#region src/campaign/external-text-optimization-contract.ts
|
|
2833
3073
|
const MAX_TIMER_DELAY_MS$3 = 2147483647;
|
|
2834
3074
|
function assertExternalTextOptimizationConfig(config) {
|
|
@@ -4492,78 +4732,6 @@ function assertExternalOptimizerCompletionCount(upstream, requestAttempts, succe
|
|
|
4492
4732
|
if (upstream.requestAttempts !== void 0 && upstream.requestAttempts !== requestAttempts) throw new Error(`${name}: ${optimizer} reported ${upstream.requestAttempts} model attempts but the proxy received ${requestAttempts}`);
|
|
4493
4733
|
}
|
|
4494
4734
|
//#endregion
|
|
4495
|
-
//#region src/campaign/external-optimizer-observations.ts
|
|
4496
|
-
/** Append-only observation log for one external-optimizer attempt. */
|
|
4497
|
-
function openExternalOptimizerObservationLog(input) {
|
|
4498
|
-
if (input.storage.read(input.path) !== void 0 || input.storage.exists(input.path)) throw new Error(`external optimizer observation log already exists at '${input.path}'`);
|
|
4499
|
-
input.storage.write(input.path, "");
|
|
4500
|
-
let revision = 0;
|
|
4501
|
-
const counts = {
|
|
4502
|
-
submittedCandidates: 0,
|
|
4503
|
-
evaluations: 0,
|
|
4504
|
-
refusals: 0
|
|
4505
|
-
};
|
|
4506
|
-
return {
|
|
4507
|
-
observe(observation) {
|
|
4508
|
-
const expectedSequence = counts.submittedCandidates + counts.evaluations + counts.refusals + 1;
|
|
4509
|
-
if (observation.sequence !== expectedSequence) throw new Error(`external optimizer observation log expected sequence ${expectedSequence}, got ${observation.sequence}`);
|
|
4510
|
-
const line = `${canonicalJson(observation)}\n`;
|
|
4511
|
-
const next = input.storage.append(input.path, line, revision);
|
|
4512
|
-
if (next === void 0) throw new Error(`external optimizer observation log changed concurrently at '${input.path}'`);
|
|
4513
|
-
revision = next;
|
|
4514
|
-
if (observation.kind === "proposal") counts.submittedCandidates += 1;
|
|
4515
|
-
else if (observation.kind === "evaluation") counts.evaluations += 1;
|
|
4516
|
-
else counts.refusals += 1;
|
|
4517
|
-
},
|
|
4518
|
-
summary() {
|
|
4519
|
-
const contents = input.storage.read(input.path) ?? "";
|
|
4520
|
-
const bytes = new TextEncoder().encode(contents);
|
|
4521
|
-
if (bytes.byteLength !== revision) throw new Error(`external optimizer observation log revision changed at '${input.path}'`);
|
|
4522
|
-
return {
|
|
4523
|
-
scope: "callback-submitted-candidates",
|
|
4524
|
-
path: input.path,
|
|
4525
|
-
sha256: `sha256:${createHash("sha256").update(bytes).digest("hex")}`,
|
|
4526
|
-
...counts
|
|
4527
|
-
};
|
|
4528
|
-
}
|
|
4529
|
-
};
|
|
4530
|
-
}
|
|
4531
|
-
/** Append-only opaque Runtime execution records for one optimizer attempt. */
|
|
4532
|
-
function openExternalOptimizerExecutionLog(input) {
|
|
4533
|
-
if (input.storage.read(input.path) !== void 0 || input.storage.exists(input.path)) throw new Error(`external optimizer execution log already exists at '${input.path}'`);
|
|
4534
|
-
input.storage.write(input.path, "");
|
|
4535
|
-
let revision = 0;
|
|
4536
|
-
const counts = {
|
|
4537
|
-
calls: 0,
|
|
4538
|
-
succeeded: 0,
|
|
4539
|
-
failed: 0
|
|
4540
|
-
};
|
|
4541
|
-
return {
|
|
4542
|
-
observe(observation) {
|
|
4543
|
-
if (observation.sequence !== counts.calls + 1) throw new Error(`external optimizer execution log expected sequence ${counts.calls + 1}, got ${observation.sequence}`);
|
|
4544
|
-
const line = `${canonicalJson(observation)}\n`;
|
|
4545
|
-
const next = input.storage.append(input.path, line, revision);
|
|
4546
|
-
if (next === void 0) throw new Error(`external optimizer execution log changed concurrently at '${input.path}'`);
|
|
4547
|
-
revision = next;
|
|
4548
|
-
counts.calls += 1;
|
|
4549
|
-
if (observation.succeeded) counts.succeeded += 1;
|
|
4550
|
-
else counts.failed += 1;
|
|
4551
|
-
},
|
|
4552
|
-
summary() {
|
|
4553
|
-
const contents = input.storage.read(input.path) ?? "";
|
|
4554
|
-
const bytes = new TextEncoder().encode(contents);
|
|
4555
|
-
if (bytes.byteLength !== revision) throw new Error(`external optimizer execution log revision changed at '${input.path}'`);
|
|
4556
|
-
if (counts.calls !== counts.succeeded + counts.failed) throw new Error(`external optimizer execution log counts disagree at '${input.path}'`);
|
|
4557
|
-
return {
|
|
4558
|
-
scope: "runtime-model-calls",
|
|
4559
|
-
path: input.path,
|
|
4560
|
-
sha256: `sha256:${createHash("sha256").update(bytes).digest("hex")}`,
|
|
4561
|
-
...counts
|
|
4562
|
-
};
|
|
4563
|
-
}
|
|
4564
|
-
};
|
|
4565
|
-
}
|
|
4566
|
-
//#endregion
|
|
4567
4735
|
//#region src/campaign/external-optimizer-run-config.ts
|
|
4568
4736
|
function externalOptimizerRunnerIdentity(runner, module) {
|
|
4569
4737
|
return {
|
|
@@ -6527,6 +6695,6 @@ function skillOptOptimizationMethod(config) {
|
|
|
6527
6695
|
};
|
|
6528
6696
|
}
|
|
6529
6697
|
//#endregion
|
|
6530
|
-
export {
|
|
6698
|
+
export { REFERENCE_EQUIVALENCE_JUDGE_VERSION as $, codeSurfaceIdentityMaterial as A, parseReflectionResponse as B, combineComparisonCosts as C, decodeExternalTextCandidate as D, optimizationTokenUsageFromSummary as E, campaignBreakdown as F, readExternalOptimizerObservationArtifact as G, runCampaign as H, campaignMeanComposite as I, campaignScenarioIdentity as J, assertCampaignDesign as K, compareRankKeys as L, renderSurfaceDiff as M, surfaceContentHash as N, assertCodeSurfaceIdentity as O, surfaceHash as P, REFERENCE_EQUIVALENCE_INPUT_LIMITS as Q, DEFAULT_MUTATION_PRIMITIVES as R, assertOptimizationResult as S, JudgeParseError as St, costFromLedgerSummary as T, resolveRunDir as U, planCampaignRun as V, tangleTracesRoot as W, campaignSplitDigestFromIdentities as X, campaignSplitDigest as Y, openAutoPr as Z, heldOutGate as _, BackendIntegrityError as _t, emitLoopProvenance as a, scoreRedTeamOutput as at, composeGate as b, summarizeAgentReceiptIntegrity as bt, provenanceRecordPath as c, HoldoutLockedError as ct, runImprovementLoop as d, crowdingDistance as dt, createReferenceEquivalenceJudge as et, runOptimization as f, dominates as ft, gepaOptimizationMethod as g, recoverTruncatedJson as gt, labelTrustRank as h, scalarScore as ht, canonicalDigest as i, redTeamReport as it, componentSurfaceIdentityMaterial as j, assertComponentSurface as k, provenanceSpansPath as l, hashScenarios as lt, isProposedCandidate as m, paretoFrontierWithCrowding as mt, buildLoopProvenanceRecord as n, DEFAULT_RED_TEAM_CORPUS as nt, loopProvenanceArgsFromResult as o, toolNamesForRun as ot, runEval as p, paretoFrontier as pt, assertCampaignSplitIdentity as q, campaignMeasurementDigest as r, redTeamDataset as rt, loopProvenanceSpans as s, Dataset as st, skillOptOptimizationMethod as t, runReferenceEquivalenceJudge as tt, verifyLoopProvenanceRecord as u, llmJudge as ut, defaultProductionGate as v, assertRealAgentReceipts as vt, compareOptimizationMethods as w, externalTextOptimizationMethod as x, summarizeBackendIntegrity as xt, runCanaries as y, assertRealBackend as yt, buildReflectionPrompt as z };
|
|
6531
6699
|
|
|
6532
|
-
//# sourceMappingURL=skillopt-optimization-method-
|
|
6700
|
+
//# sourceMappingURL=skillopt-optimization-method-D6Q4dLbh.js.map
|