@tangle-network/agent-eval 0.191.0 → 0.193.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.
Files changed (122) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/dist/adapters/http.d.ts +2 -2
  3. package/dist/analyst/index.d.ts +6 -6
  4. package/dist/analyst/index.js +3 -3
  5. package/dist/{analyze-runs-SCSWYpy0.js → analyze-runs-B6gv7vAT.js} +2 -2
  6. package/dist/{analyze-runs-SCSWYpy0.js.map → analyze-runs-B6gv7vAT.js.map} +1 -1
  7. package/dist/{benchmark-command-3tZJnD82.js → benchmark-command-DVhUPU7H.js} +7 -7
  8. package/dist/{benchmark-command-3tZJnD82.js.map → benchmark-command-DVhUPU7H.js.map} +1 -1
  9. package/dist/benchmarks/index.d.ts +3 -3
  10. package/dist/benchmarks/index.js +3 -3
  11. package/dist/campaign/index.d.ts +5 -5
  12. package/dist/campaign/index.js +12 -12
  13. package/dist/{campaign-C8iWEF0M.js → campaign-DdE6S80e.js} +15 -328
  14. package/dist/campaign-DdE6S80e.js.map +1 -0
  15. package/dist/{campaign-evidence-BqjlTM3P.js → campaign-evidence-DJc60F9C.js} +11 -46
  16. package/dist/campaign-evidence-DJc60F9C.js.map +1 -0
  17. package/dist/cli.js +47 -10
  18. package/dist/cli.js.map +1 -1
  19. package/dist/{client-wFyDisxi.d.ts → client-dMMKoQNS.d.ts} +2 -2
  20. package/dist/{client-wFyDisxi.d.ts.map → client-dMMKoQNS.d.ts.map} +1 -1
  21. package/dist/contract/index.d.ts +7 -7
  22. package/dist/contract/index.js +10 -10
  23. package/dist/{default-registry-DK_9aVJf.d.ts → default-registry-C3HTE08O.d.ts} +3 -3
  24. package/dist/{default-registry-DK_9aVJf.d.ts.map → default-registry-C3HTE08O.d.ts.map} +1 -1
  25. package/dist/{define-agent-eval-P28y7mI1.d.ts → define-agent-eval-DQJvVa1P.d.ts} +15 -24
  26. package/dist/{define-agent-eval-P28y7mI1.d.ts.map → define-agent-eval-DQJvVa1P.d.ts.map} +1 -1
  27. package/dist/{define-agent-eval-BE43YTm4.js → define-agent-eval-DkPbnJEY.js} +9 -10
  28. package/dist/define-agent-eval-DkPbnJEY.js.map +1 -0
  29. package/dist/diagnosis/index.js +1 -1
  30. package/dist/{dspy-rlm-engine-MfpwoEaj.js → dspy-rlm-engine-BX34vPVY.js} +2 -2
  31. package/dist/{dspy-rlm-engine-MfpwoEaj.js.map → dspy-rlm-engine-BX34vPVY.js.map} +1 -1
  32. package/dist/{engine-vNiM02Ub.d.ts → engine-DjRV55F9.d.ts} +2 -2
  33. package/dist/{engine-vNiM02Ub.d.ts.map → engine-DjRV55F9.d.ts.map} +1 -1
  34. package/dist/evaluation.d.ts +1 -1
  35. package/dist/experiment/index.d.ts +2 -2
  36. package/dist/experiment/index.js +4 -4
  37. package/dist/{external-optimizer-process-xFTliuiK.js → external-optimizer-process-D-Sab4v3.js} +3 -62
  38. package/dist/external-optimizer-process-D-Sab4v3.js.map +1 -0
  39. package/dist/{external-optimizer-subprocess-B234V9V0.js → external-optimizer-subprocess-kbqC-iWf.js} +64 -3
  40. package/dist/external-optimizer-subprocess-kbqC-iWf.js.map +1 -0
  41. package/dist/hosted/index.d.ts +2 -2
  42. package/dist/hosted/index.js +1 -1
  43. package/dist/{index-D-TN7ZRM.d.ts → index-0jEtpSM7.d.ts} +3 -3
  44. package/dist/{index-D-TN7ZRM.d.ts.map → index-0jEtpSM7.d.ts.map} +1 -1
  45. package/dist/{index-I4UJGRno.d.ts → index-Bj96W0jZ.d.ts} +28 -2
  46. package/dist/{index-I4UJGRno.d.ts.map → index-Bj96W0jZ.d.ts.map} +1 -1
  47. package/dist/{index-CzfnASj_.d.ts → index-DMPLG226.d.ts} +400 -374
  48. package/dist/index-DMPLG226.d.ts.map +1 -0
  49. package/dist/{index-DH-MWH5f.d.ts → index-DWQNDqPd.d.ts} +7 -7
  50. package/dist/{index-DH-MWH5f.d.ts.map → index-DWQNDqPd.d.ts.map} +1 -1
  51. package/dist/index.d.ts +9 -9
  52. package/dist/index.js +9 -292
  53. package/dist/index.js.map +1 -1
  54. package/dist/jev.d.ts +1 -1
  55. package/dist/{journal-c3qY0SDP.js → journal-DvKCvjty.js} +94 -2
  56. package/dist/{journal-c3qY0SDP.js.map → journal-DvKCvjty.js.map} +1 -1
  57. package/dist/ledger-core/index.d.ts +2 -2
  58. package/dist/ledger-core/index.js +2 -2
  59. package/dist/{llm-judge-NJOHM0iA.js → llm-judge-ChbWfeWl.js} +2653 -656
  60. package/dist/llm-judge-ChbWfeWl.js.map +1 -0
  61. package/dist/{matrix-CgqdFm5N.d.ts → matrix-CNu13gg8.d.ts} +2 -2
  62. package/dist/{matrix-CgqdFm5N.d.ts.map → matrix-CNu13gg8.d.ts.map} +1 -1
  63. package/dist/multishot/golden/index.d.ts +1 -1
  64. package/dist/multishot/index.d.ts +2 -2
  65. package/dist/openapi.json +1 -1
  66. package/dist/paired-delta-test-BF-FEP8V.js +78 -0
  67. package/dist/paired-delta-test-BF-FEP8V.js.map +1 -0
  68. package/dist/{paired-promotion-decision-6cn3bLc3.js → paired-promotion-decision-DTKl6-G8.js} +4 -77
  69. package/dist/paired-promotion-decision-DTKl6-G8.js.map +1 -0
  70. package/dist/{produced-state-CY-L7CqS.js → produced-state-BqeIaIp2.js} +3 -3
  71. package/dist/{produced-state-CY-L7CqS.js.map → produced-state-BqeIaIp2.js.map} +1 -1
  72. package/dist/{promotion-policy-CfMNUro2.js → promotion-policy-Cy5OV8BV.js} +3 -3
  73. package/dist/{promotion-policy-CfMNUro2.js.map → promotion-policy-Cy5OV8BV.js.map} +1 -1
  74. package/dist/rl.d.ts +1 -1
  75. package/dist/rl.js +1 -1
  76. package/dist/{search-ledger-CQ8Uy4FK.js → search-ledger-CJiAEU3j.js} +164 -36
  77. package/dist/search-ledger-CJiAEU3j.js.map +1 -0
  78. package/dist/{search-ledger-file-EvdDZRhv.js → search-ledger-file-DY0AXX3W.js} +2 -2
  79. package/dist/{search-ledger-file-EvdDZRhv.js.map → search-ledger-file-DY0AXX3W.js.map} +1 -1
  80. package/dist/{search-ledger-types-C9anU2DX.d.ts → search-ledger-types-B3El5xgS.d.ts} +95 -11
  81. package/dist/search-ledger-types-B3El5xgS.d.ts.map +1 -0
  82. package/dist/{search-shipper-C55V7HE3.js → search-shipper-DUlwlCsK.js} +3 -3
  83. package/dist/{search-shipper-C55V7HE3.js.map → search-shipper-DUlwlCsK.js.map} +1 -1
  84. package/dist/search-summary-BhY8p0Av.js +378 -0
  85. package/dist/search-summary-BhY8p0Av.js.map +1 -0
  86. package/dist/{semantic-concept-judge-Bt7bXAAo.js → semantic-concept-judge-Bg-560H0.js} +3 -3
  87. package/dist/{semantic-concept-judge-Bt7bXAAo.js.map → semantic-concept-judge-Bg-560H0.js.map} +1 -1
  88. package/dist/{sequential-lwJOTRON.js → sequential-C21_PP7F.js} +2 -2
  89. package/dist/{sequential-lwJOTRON.js.map → sequential-C21_PP7F.js.map} +1 -1
  90. package/dist/{skillopt-optimization-method-DwO3TOAV.js → skillopt-optimization-method-DXQdaBjx.js} +7 -7
  91. package/dist/{skillopt-optimization-method-DwO3TOAV.js.map → skillopt-optimization-method-DXQdaBjx.js.map} +1 -1
  92. package/dist/{statistical-heldout-BED3wBtX.d.ts → statistical-heldout-D-xBpbrd.d.ts} +2 -2
  93. package/dist/{statistical-heldout-BED3wBtX.d.ts.map → statistical-heldout-D-xBpbrd.d.ts.map} +1 -1
  94. package/dist/{statistical-heldout-GcLIPxk4.js → statistical-heldout-DANVmyug.js} +2 -2
  95. package/dist/{statistical-heldout-GcLIPxk4.js.map → statistical-heldout-DANVmyug.js.map} +1 -1
  96. package/dist/{store-tool-spans-Cfh9XUCm.d.ts → store-tool-spans-BxrfuU2t.d.ts} +4 -4
  97. package/dist/{store-tool-spans-Cfh9XUCm.d.ts.map → store-tool-spans-BxrfuU2t.d.ts.map} +1 -1
  98. package/dist/{tool-groups-D-mkeN0N.d.ts → tool-groups-BC9O7Epn.d.ts} +2 -2
  99. package/dist/tool-groups-BC9O7Epn.d.ts.map +1 -0
  100. package/dist/trace-repair/index.d.ts +1 -1
  101. package/dist/traces.d.ts +2 -2
  102. package/dist/{types-BmQRs661.d.ts → types-BWwRXofp.d.ts} +340 -17
  103. package/dist/types-BWwRXofp.d.ts.map +1 -0
  104. package/dist/{types-ClK-sHs8.d.ts → types-qoxUfKQg.d.ts} +2 -2
  105. package/dist/{types-ClK-sHs8.d.ts.map → types-qoxUfKQg.d.ts.map} +1 -1
  106. package/docs/campaign-proposers.md +14 -16
  107. package/docs/search-ledger.md +129 -3
  108. package/package.json +1 -1
  109. package/dist/campaign-C8iWEF0M.js.map +0 -1
  110. package/dist/campaign-evidence-BqjlTM3P.js.map +0 -1
  111. package/dist/claim-BGOUqoMq.d.ts +0 -38
  112. package/dist/claim-BGOUqoMq.d.ts.map +0 -1
  113. package/dist/define-agent-eval-BE43YTm4.js.map +0 -1
  114. package/dist/external-optimizer-process-xFTliuiK.js.map +0 -1
  115. package/dist/external-optimizer-subprocess-B234V9V0.js.map +0 -1
  116. package/dist/index-CzfnASj_.d.ts.map +0 -1
  117. package/dist/llm-judge-NJOHM0iA.js.map +0 -1
  118. package/dist/paired-promotion-decision-6cn3bLc3.js.map +0 -1
  119. package/dist/search-ledger-CQ8Uy4FK.js.map +0 -1
  120. package/dist/search-ledger-types-C9anU2DX.d.ts.map +0 -1
  121. package/dist/tool-groups-D-mkeN0N.d.ts.map +0 -1
  122. package/dist/types-BmQRs661.d.ts.map +0 -1
package/dist/cli.js CHANGED
@@ -1,12 +1,14 @@
1
1
  #!/usr/bin/env node
2
- import { c as hostedTenantFromEnv, g as SearchRunKindSchema, r as shipSearchLedger, t as SearchShipConflictError, u as SEARCH_LEDGER_BATCH_MAX_BYTES } from "./search-shipper-C55V7HE3.js";
2
+ import { i as replaySearchLedgerText } from "./search-ledger-CJiAEU3j.js";
3
+ import { t as renderSearchSummary } from "./search-summary-BhY8p0Av.js";
4
+ import { c as hostedTenantFromEnv, g as SearchRunKindSchema, r as shipSearchLedger, t as SearchShipConflictError, u as SEARCH_LEDGER_BATCH_MAX_BYTES } from "./search-shipper-DUlwlCsK.js";
3
5
  import { i as runRolloutReleaseCli } from "./hf-dataset-CRqtSjnR.js";
4
6
  import { t as createChatClient } from "./chat-client-B_ItsSBw.js";
5
- import { t as runAnalystBenchmarkCommand } from "./benchmark-command-3tZJnD82.js";
7
+ import { t as runAnalystBenchmarkCommand } from "./benchmark-command-DVhUPU7H.js";
6
8
  import { a as runRpcBatch, o as runRpcOnce, p as handleVersion, r as startServerAsync, s as buildOpenApi } from "./server-DtetGGoA.js";
7
9
  import { t as runSupervisorRunCommand } from "./report-command-DKJ_yAIj.js";
8
10
  import { writeFileSync } from "node:fs";
9
- import { open } from "node:fs/promises";
11
+ import { open, readFile } from "node:fs/promises";
10
12
  //#region src/cli-config.ts
11
13
  /**
12
14
  * Provider configuration for the `agent-eval` binary.
@@ -81,28 +83,47 @@ function nonEmpty(value) {
81
83
  * `agent-eval search <subcommand>`: work with a search ledger from a terminal.
82
84
  *
83
85
  * agent-eval search ship <search-ledger.jsonl> --run-kind optimization|eval [--content full|digests]
86
+ * agent-eval search show <search-ledger.jsonl>
84
87
  *
85
88
  * `ship` sends the ledger to the hosted store named by `TANGLE_INGEST_URL`,
86
89
  * `TANGLE_INGEST_API_KEY` and `TANGLE_TENANT_ID`, starting from the store's
87
90
  * head, so it finishes or resumes a ship that a loop could not complete.
91
+ *
92
+ * `show` verifies the ledger and prints `renderSearchSummary`: the same
93
+ * compact text a proposer reads, on the search's own ranking split (the
94
+ * selection split when the search declares one, else train). There is no
95
+ * local HTML renderer; the hosted store's page is the visual view (§5 of the
96
+ * search-tree design).
88
97
  */
89
- const USAGE = `usage: agent-eval search ship <search-ledger.jsonl> --run-kind optimization|eval [--content full|digests]
98
+ const USAGE = `usage: agent-eval search <subcommand> ...
99
+
100
+ ship <search-ledger.jsonl> --run-kind optimization|eval [--content full|digests]
101
+ Ships the ledger's entries, and the blobs they name, to the hosted store in
102
+ TANGLE_INGEST_URL (or TANGLE_ORCHESTRATOR_URL) as tenant TANGLE_TENANT_ID with
103
+ TANGLE_INGEST_API_KEY (or TANGLE_API_KEY). It starts from the store's head, so
104
+ running it again sends only what the store lacks. Prints the result as JSON.
105
+ Exits 1 when the store holds a different chain for the search.
90
106
 
91
- Ships the ledger's entries, and the blobs they name, to the hosted store in
92
- TANGLE_INGEST_URL (or TANGLE_ORCHESTRATOR_URL) as tenant TANGLE_TENANT_ID with
93
- TANGLE_INGEST_API_KEY (or TANGLE_API_KEY). It starts from the store's head, so
94
- running it again sends only what the store lacks. Prints the result as JSON.
95
- Exits 1 when the store holds a different chain for the search.`;
107
+ show <search-ledger.jsonl>
108
+ Verifies the ledger and prints its search summary: the leading nodes
109
+ against the root, the most recently discarded nodes and why, and a log
110
+ of recent proposals. The same text a proposer reads as context, on the
111
+ search's own ranking split.`;
96
112
  async function runSearchCommand(argv) {
97
113
  const [subcommand, ...rest] = argv;
98
- if ([subcommand, ...rest].some((arg) => arg === void 0 || arg === "--help" || arg === "-h")) {
114
+ if (subcommand === void 0 || subcommand === "--help" || subcommand === "-h") {
99
115
  process.stdout.write(`${USAGE}\n`);
100
116
  return 0;
101
117
  }
118
+ if (subcommand === "show") return await runShowCommand(rest);
102
119
  if (subcommand !== "ship") {
103
120
  process.stderr.write(`unknown search subcommand: ${subcommand}\n${USAGE}\n`);
104
121
  return 1;
105
122
  }
123
+ if (rest.some((arg) => arg === void 0 || arg === "--help" || arg === "-h")) {
124
+ process.stdout.write(`${USAGE}\n`);
125
+ return 0;
126
+ }
106
127
  const { path, flags } = parseShipArgs(rest);
107
128
  const runKind = SearchRunKindSchema.safeParse(flags["run-kind"]);
108
129
  if (!runKind.success) throw new Error(`--run-kind must be optimization or eval\n${USAGE}`);
@@ -129,6 +150,18 @@ async function runSearchCommand(argv) {
129
150
  return 1;
130
151
  }
131
152
  }
153
+ async function runShowCommand(argv) {
154
+ if (argv.length !== 1 || argv[0] === "--help" || argv[0] === "-h") {
155
+ process.stdout.write(`${USAGE}\n`);
156
+ return argv.length === 1 ? 0 : 1;
157
+ }
158
+ const path = argv[0];
159
+ const searchId = await firstLineSearchId(path);
160
+ const state = replaySearchLedgerText(await readFile(path, "utf8"), searchId, path);
161
+ const split = state.header && state.header.splits.selection.tasks.length > 0 ? "selection" : "train";
162
+ process.stdout.write(`${renderSearchSummary(state, { split })}\n`);
163
+ return 0;
164
+ }
132
165
  function parseShipArgs(argv) {
133
166
  const flags = {};
134
167
  const positional = [];
@@ -176,6 +209,7 @@ async function firstLineSearchId(path) {
176
209
  * agent-eval analyst-benchmark ... # benchmark a real-model trace analyst
177
210
  * agent-eval supervisor-run report <runDir> [--format headline|markdown|json]
178
211
  * agent-eval search ship <search-ledger.jsonl> --run-kind optimization|eval
212
+ * agent-eval search show <search-ledger.jsonl>
179
213
  * agent-eval openapi [--out path] # write OpenAPI spec
180
214
  * agent-eval version
181
215
  *
@@ -239,6 +273,9 @@ Commands:
239
273
  search ship <search-ledger.jsonl> --run-kind optimization|eval [--content full|digests]
240
274
  Ship a search ledger and its blobs to the hosted store in TANGLE_INGEST_URL,
241
275
  starting from the store's head. Run with --help for the environment it reads.
276
+ search show <search-ledger.jsonl>
277
+ Verify a search ledger and print its summary: leading nodes, recently
278
+ discarded nodes and recent proposals, the same text a proposer reads.
242
279
  version
243
280
  Print server + wire-protocol version JSON.
244
281
 
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","names":[],"sources":["../src/cli-config.ts","../src/search-command.ts","../src/cli.ts"],"sourcesContent":["/**\n * Provider configuration for the `agent-eval` binary.\n *\n * The binary reads endpoint and credential values from its environment.\n * TypeScript library callers bind a transport explicitly. The maintained\n * HTTP transport accepts their credential and sends provider requests.\n */\n\nimport { type ChatClient, createChatClient } from './analyst/chat-client'\n\nexport interface CliLlmConfig {\n /** Judge transport for the wire handlers. Absent when no provider is configured. */\n chat?: ChatClient\n model?: string\n}\n\n/** The endpoint the binary resolved from its environment. */\nexport interface CliProviderRoute {\n baseUrl: string\n apiKey: string\n model?: string\n}\n\n/**\n * Environment precedence for the binary's provider route, with no client built.\n *\n * Both halves are required: a base URL without a key, or a key without an\n * endpoint, is a half-configured server. `/v1/judge` then refuses with\n * `llm_not_configured` instead of calling an unintended endpoint.\n */\nexport function resolveCliProviderRoute(\n env: NodeJS.ProcessEnv = process.env,\n): CliProviderRoute | undefined {\n const explicitBaseUrl = nonEmpty(env.AGENT_EVAL_LLM_BASE_URL)\n const explicitApiKey = nonEmpty(env.AGENT_EVAL_LLM_API_KEY)\n const openAiApiKey = nonEmpty(env.OPENAI_API_KEY)\n const tangleApiKey = nonEmpty(env.TANGLE_API_KEY)\n const baseUrl =\n explicitBaseUrl ??\n nonEmpty(env.OPENAI_BASE_URL) ??\n nonEmpty(env.TANGLE_ROUTER_URL) ??\n (openAiApiKey ? 'https://api.openai.com/v1' : undefined) ??\n (tangleApiKey ? 'https://router.tangle.tools/v1' : undefined)\n const apiKey = explicitApiKey ?? openAiApiKey ?? tangleApiKey\n const model =\n nonEmpty(env.AGENT_EVAL_LLM_MODEL) ?? nonEmpty(env.OPENAI_MODEL) ?? nonEmpty(env.TANGLE_MODEL)\n\n if (!baseUrl || !apiKey) return undefined\n return { baseUrl, apiKey, ...(model ? { model } : {}) }\n}\n\nexport function resolveCliLlmConfig(env: NodeJS.ProcessEnv = process.env): CliLlmConfig {\n const route = resolveCliProviderRoute(env)\n if (!route) return {}\n return {\n chat: cliChatClient({ baseUrl: route.baseUrl, apiKey: route.apiKey }, route.model),\n ...(route.model ? { model: route.model } : {}),\n }\n}\n\n/**\n * The binary's transport IS the published one — `createChatClient({ transport:\n * 'openai-compatible' })` — so the server and a library consumer cannot drift\n * onto two different clients for the same endpoint.\n *\n * The one thing kept local is the error text. A generic \"no model on the\n * request\" tells a server operator nothing; this names the variable to set.\n */\nfunction cliChatClient(\n route: { baseUrl: string; apiKey: string },\n defaultModel: string | undefined,\n): ChatClient {\n const client = createChatClient({\n transport: 'openai-compatible',\n baseUrl: route.baseUrl,\n apiKey: route.apiKey,\n ...(defaultModel ? { defaultModel } : {}),\n })\n return {\n ...client,\n chat: (req, callOpts) => {\n if (!req.model && !defaultModel) {\n throw new Error(\n 'agent-eval: no model on the request and no AGENT_EVAL_LLM_MODEL configured',\n )\n }\n return client.chat(req, callOpts)\n },\n }\n}\n\nfunction nonEmpty(value: string | undefined): string | undefined {\n const trimmed = value?.trim()\n return trimmed ? trimmed : undefined\n}\n","/**\n * `agent-eval search <subcommand>`: work with a search ledger from a terminal.\n *\n * agent-eval search ship <search-ledger.jsonl> --run-kind optimization|eval [--content full|digests]\n *\n * `ship` sends the ledger to the hosted store named by `TANGLE_INGEST_URL`,\n * `TANGLE_INGEST_API_KEY` and `TANGLE_TENANT_ID`, starting from the store's\n * head, so it finishes or resumes a ship that a loop could not complete.\n */\n\nimport { open } from 'node:fs/promises'\nimport { hostedTenantFromEnv } from './hosted/client'\nimport { SEARCH_LEDGER_BATCH_MAX_BYTES, SearchRunKindSchema } from './hosted/search-ledger-wire'\nimport { SearchShipConflictError, shipSearchLedger } from './hosted/search-shipper'\n\nconst USAGE = `usage: agent-eval search ship <search-ledger.jsonl> --run-kind optimization|eval [--content full|digests]\n\nShips the ledger's entries, and the blobs they name, to the hosted store in\nTANGLE_INGEST_URL (or TANGLE_ORCHESTRATOR_URL) as tenant TANGLE_TENANT_ID with\nTANGLE_INGEST_API_KEY (or TANGLE_API_KEY). It starts from the store's head, so\nrunning it again sends only what the store lacks. Prints the result as JSON.\nExits 1 when the store holds a different chain for the search.`\n\nexport async function runSearchCommand(argv: string[]): Promise<number> {\n const [subcommand, ...rest] = argv\n if ([subcommand, ...rest].some((arg) => arg === undefined || arg === '--help' || arg === '-h')) {\n process.stdout.write(`${USAGE}\\n`)\n return 0\n }\n if (subcommand !== 'ship') {\n process.stderr.write(`unknown search subcommand: ${subcommand}\\n${USAGE}\\n`)\n return 1\n }\n const { path, flags } = parseShipArgs(rest)\n const runKind = SearchRunKindSchema.safeParse(flags['run-kind'])\n if (!runKind.success) throw new Error(`--run-kind must be optimization or eval\\n${USAGE}`)\n const content = flags.content ?? 'full'\n if (content !== 'full' && content !== 'digests') {\n throw new Error(`--content must be full or digests\\n${USAGE}`)\n }\n const tenant = hostedTenantFromEnv()\n if (!tenant) {\n throw new Error(\n 'set TANGLE_INGEST_URL, TANGLE_INGEST_API_KEY and TANGLE_TENANT_ID to name the store',\n )\n }\n const searchId = await firstLineSearchId(path)\n try {\n const shipped = await shipSearchLedger({\n tenant,\n ledger: { path, searchId },\n runKind: runKind.data,\n content,\n })\n process.stdout.write(`${JSON.stringify(shipped, null, 2)}\\n`)\n return shipped.head.nextSequence === shipped.localLines ? 0 : 1\n } catch (error) {\n if (!(error instanceof SearchShipConflictError)) throw error\n process.stderr.write(`${error.message}\\n`)\n return 1\n }\n}\n\nfunction parseShipArgs(argv: string[]): { path: string; flags: Record<string, string> } {\n const flags: Record<string, string> = {}\n const positional: string[] = []\n for (let index = 0; index < argv.length; index++) {\n const token = argv[index]!\n if (!token.startsWith('--')) {\n positional.push(token)\n continue\n }\n const [name, inline] = token.slice(2).split('=', 2) as [string, string | undefined]\n if (name !== 'run-kind' && name !== 'content') throw new Error(`unknown flag --${name}`)\n const value = inline ?? argv[++index]\n if (value === undefined) throw new Error(`--${name} needs a value`)\n flags[name] = value\n }\n if (positional.length !== 1) throw new Error(USAGE)\n return { path: positional[0]!, flags }\n}\n\n/** The ledger names its search on every line; read the first. */\nasync function firstLineSearchId(path: string): Promise<string> {\n const handle = await open(path, 'r')\n try {\n // A line longer than one request's limit cannot ship anyway.\n const bytes = Buffer.alloc(SEARCH_LEDGER_BATCH_MAX_BYTES + 1)\n const { bytesRead } = await handle.read(bytes, 0, bytes.byteLength, 0)\n const newline = bytes.subarray(0, bytesRead).indexOf(0x0a)\n if (newline < 0) throw new Error(`${path} holds no complete ledger line`)\n const first = JSON.parse(bytes.toString('utf8', 0, newline)) as { searchId?: unknown }\n if (typeof first.searchId !== 'string') throw new Error(`${path} line 1 names no searchId`)\n return first.searchId\n } finally {\n await handle.close()\n }\n}\n","#!/usr/bin/env node\n/**\n * agent-eval CLI.\n *\n * agent-eval serve [--port 5005] [--host 127.0.0.1]\n * agent-eval rpc <method> # one request from stdin → one response on stdout\n * agent-eval rpc-batch <method> # JSONL stdin → JSONL stdout\n * agent-eval analyst-benchmark ... # benchmark a real-model trace analyst\n * agent-eval supervisor-run report <runDir> [--format headline|markdown|json]\n * agent-eval search ship <search-ledger.jsonl> --run-kind optimization|eval\n * agent-eval openapi [--out path] # write OpenAPI spec\n * agent-eval version\n *\n * <method> is one of: judge, listRubrics, version. When omitted, the\n * stdin payload must be a full {method, params} envelope.\n */\nimport { writeFileSync } from 'node:fs'\nimport { runAnalystBenchmarkCommand } from './analyst/benchmark-command'\nimport { resolveCliLlmConfig } from './cli-config'\nimport { runRolloutReleaseCli } from './rollout/release/hf-dataset'\nimport { runSearchCommand } from './search-command'\nimport { runSupervisorRunCommand } from './supervisor-run/report-command'\nimport { handleVersion } from './wire/handlers'\nimport { buildOpenApi } from './wire/openapi'\nimport { runRpcBatch, runRpcOnce } from './wire/rpc'\nimport { startServerAsync } from './wire/server'\n\ninterface Args {\n command: string\n positional: string[]\n flags: Record<string, string>\n}\n\nfunction parseArgs(argv: string[]): Args {\n const [command, ...rest] = argv\n const positional: string[] = []\n const flags: Record<string, string> = {}\n for (let i = 0; i < rest.length; i++) {\n const tok = rest[i]!\n if (tok.startsWith('--')) {\n const raw = tok.slice(2)\n const equalsAt = raw.indexOf('=')\n if (equalsAt >= 0) {\n flags[raw.slice(0, equalsAt)] = raw.slice(equalsAt + 1)\n continue\n }\n const key = raw\n if (key === 'help') {\n flags[key] = 'true'\n continue\n }\n const next = rest[i + 1]\n if (next != null && !next.startsWith('--')) {\n flags[key] = next\n i++\n } else {\n flags[key] = 'true'\n }\n } else if (tok === '-h') {\n flags.help = 'true'\n } else {\n positional.push(tok)\n }\n }\n return { command: command ?? 'help', positional, flags }\n}\n\nconst HELP = `agent-eval: evaluation RPC and HTTP server.\n\nCommands:\n serve [--port 5005] [--host 127.0.0.1]\n Start the HTTP server. POST /v1/judge, GET /v1/rubrics, GET /v1/version, GET /openapi.json.\n rpc <method>\n Read one JSON object from stdin (the params for <method>), write one\n JSON object to stdout. Methods: judge, listRubrics, version.\n rpc-batch <method>\n Like 'rpc' but JSONL in / JSONL out.\n openapi [--out openapi.json]\n Write the OpenAPI 3.1 spec.\n rollout-release <ledger.jsonl...> --out <dir> [--formats sft,verifiers,rft,raw] [--include-proposers] [--push <org/name>]\n Build a HuggingFace-ready dataset dir from tangle.rollout.v1 ledgers:\n validate, fail-closed split filter, scrub, export formats + card.\n analyst-benchmark --dataset <agentrx|codetracebench> --labels <path> --trace-dir <path> [--artifact-dir <path>] --out <dir> ...\n Compare an empty baseline with a real-model trace analyst on public labels.\n Run with --help for all required inputs and controls.\n supervisor-run report <runDir> [--format headline|markdown|json]\n Report one Runtime or loops supervisor run directory. The status comes\n from Runtime's own result.json / failure.json; every missing measurement\n stays named. Exits 1 when the directory cannot be read.\n search ship <search-ledger.jsonl> --run-kind optimization|eval [--content full|digests]\n Ship a search ledger and its blobs to the hosted store in TANGLE_INGEST_URL,\n starting from the store's head. Run with --help for the environment it reads.\n version\n Print server + wire-protocol version JSON.\n\nJudge provider:\n Set AGENT_EVAL_LLM_BASE_URL, AGENT_EVAL_LLM_API_KEY, and AGENT_EVAL_LLM_MODEL.\n OPENAI_* and TANGLE_* equivalents are also accepted. This binary is the only\n place that reads a provider credential; the library never does. Without both\n a base URL and a key, /v1/judge refuses with llm_not_configured.\n\nWithout arguments, prints this help.`\n\nasync function main(): Promise<number> {\n const { command, positional, flags } = parseArgs(process.argv.slice(2))\n assertKnownFlags(command, flags)\n\n if (command === 'analyst-benchmark' && flags.help === 'true') {\n return await runAnalystBenchmarkCommand(process.argv.slice(3))\n }\n if (command === 'search') return await runSearchCommand(process.argv.slice(3))\n if (flags.help === 'true') {\n process.stdout.write(`${HELP}\\n`)\n return 0\n }\n\n switch (command) {\n case 'serve': {\n const port = parsePort(flags.port ?? '5005')\n const host = flags.host ?? '127.0.0.1'\n const llm = resolveCliLlmConfig()\n const { server } = await startServerAsync({\n port,\n host,\n ...(llm.chat ? { chat: llm.chat } : {}),\n ...(llm.model ? { judgeModel: llm.model } : {}),\n })\n // Keep process alive on SIGINT/SIGTERM\n const shutdown = (sig: string) => {\n // eslint-disable-next-line no-console\n console.log(`[agent-eval] received ${sig}, shutting down`)\n server.close(() => process.exit(0))\n // Force exit after 5s if close hangs\n setTimeout(() => process.exit(1), 5000).unref()\n }\n process.on('SIGINT', () => shutdown('SIGINT'))\n process.on('SIGTERM', () => shutdown('SIGTERM'))\n // Block forever\n await new Promise(() => {})\n return 0\n }\n case 'rpc': {\n const [method] = positional\n const llm = resolveCliLlmConfig()\n return await runRpcOnce(method, {\n ...(llm.chat ? { chat: llm.chat } : {}),\n ...(llm.model ? { judgeModel: llm.model } : {}),\n })\n }\n case 'rpc-batch': {\n const [method] = positional\n const llm = resolveCliLlmConfig()\n return await runRpcBatch(method, {\n ...(llm.chat ? { chat: llm.chat } : {}),\n ...(llm.model ? { judgeModel: llm.model } : {}),\n })\n }\n case 'openapi': {\n const out = flags.out ?? 'openapi.json'\n const spec = buildOpenApi(handleVersion().version)\n writeFileSync(out, `${JSON.stringify(spec, null, 2)}\\n`, 'utf-8')\n // eslint-disable-next-line no-console\n console.log(`[agent-eval] wrote OpenAPI 3.1 spec to ${out}`)\n return 0\n }\n case 'rollout-release': {\n // The subcommand owns its own flag grammar (multi-value --formats,\n // boolean --include-proposers) — pass raw argv through untouched.\n return await runRolloutReleaseCli(process.argv.slice(3))\n }\n case 'analyst-benchmark': {\n return await runAnalystBenchmarkCommand(process.argv.slice(3))\n }\n case 'supervisor-run': {\n // The subcommand owns its own flag grammar; pass raw argv through.\n return await runSupervisorRunCommand(process.argv.slice(3))\n }\n case 'version': {\n process.stdout.write(`${JSON.stringify(handleVersion(), null, 2)}\\n`)\n return 0\n }\n case '--version': {\n process.stdout.write(`${handleVersion().version}\\n`)\n return 0\n }\n case 'help':\n case '--help':\n case '-h':\n case '':\n process.stdout.write(`${HELP}\\n`)\n return 0\n default:\n process.stderr.write(`unknown command: ${command}\\n${HELP}\\n`)\n return 1\n }\n}\n\nconst FLAGS_BY_COMMAND: Record<string, ReadonlySet<string>> = {\n serve: new Set(['help', 'host', 'port']),\n rpc: new Set(['help']),\n 'rpc-batch': new Set(['help']),\n openapi: new Set(['help', 'out']),\n version: new Set(['help']),\n help: new Set(),\n '--help': new Set(),\n '-h': new Set(),\n '--version': new Set(),\n '': new Set(),\n}\n\nfunction assertKnownFlags(command: string, flags: Record<string, string>): void {\n // These subcommands parse their own argv.\n if (\n command === 'rollout-release' ||\n command === 'analyst-benchmark' ||\n command === 'supervisor-run' ||\n command === 'search'\n ) {\n return\n }\n const allowed = FLAGS_BY_COMMAND[command]\n if (!allowed) return\n const unknown = Object.keys(flags).filter((flag) => !allowed.has(flag))\n if (unknown.length > 0) {\n throw new Error(`unknown flag for ${command || 'help'}: --${unknown[0]}`)\n }\n}\n\nfunction parsePort(raw: string): number {\n const port = Number(raw)\n if (!Number.isInteger(port) || port < 0 || port > 65_535) {\n throw new Error(`--port must be an integer from 0 to 65535; received ${JSON.stringify(raw)}`)\n }\n return port\n}\n\nmain()\n .then((code) => process.exit(code))\n .catch((err) => {\n // eslint-disable-next-line no-console\n console.error('[agent-eval] cli error:', err)\n process.exit(1)\n })\n"],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","names":[],"sources":["../src/cli-config.ts","../src/search-command.ts","../src/cli.ts"],"sourcesContent":["/**\n * Provider configuration for the `agent-eval` binary.\n *\n * The binary reads endpoint and credential values from its environment.\n * TypeScript library callers bind a transport explicitly. The maintained\n * HTTP transport accepts their credential and sends provider requests.\n */\n\nimport { type ChatClient, createChatClient } from './analyst/chat-client'\n\nexport interface CliLlmConfig {\n /** Judge transport for the wire handlers. Absent when no provider is configured. */\n chat?: ChatClient\n model?: string\n}\n\n/** The endpoint the binary resolved from its environment. */\nexport interface CliProviderRoute {\n baseUrl: string\n apiKey: string\n model?: string\n}\n\n/**\n * Environment precedence for the binary's provider route, with no client built.\n *\n * Both halves are required: a base URL without a key, or a key without an\n * endpoint, is a half-configured server. `/v1/judge` then refuses with\n * `llm_not_configured` instead of calling an unintended endpoint.\n */\nexport function resolveCliProviderRoute(\n env: NodeJS.ProcessEnv = process.env,\n): CliProviderRoute | undefined {\n const explicitBaseUrl = nonEmpty(env.AGENT_EVAL_LLM_BASE_URL)\n const explicitApiKey = nonEmpty(env.AGENT_EVAL_LLM_API_KEY)\n const openAiApiKey = nonEmpty(env.OPENAI_API_KEY)\n const tangleApiKey = nonEmpty(env.TANGLE_API_KEY)\n const baseUrl =\n explicitBaseUrl ??\n nonEmpty(env.OPENAI_BASE_URL) ??\n nonEmpty(env.TANGLE_ROUTER_URL) ??\n (openAiApiKey ? 'https://api.openai.com/v1' : undefined) ??\n (tangleApiKey ? 'https://router.tangle.tools/v1' : undefined)\n const apiKey = explicitApiKey ?? openAiApiKey ?? tangleApiKey\n const model =\n nonEmpty(env.AGENT_EVAL_LLM_MODEL) ?? nonEmpty(env.OPENAI_MODEL) ?? nonEmpty(env.TANGLE_MODEL)\n\n if (!baseUrl || !apiKey) return undefined\n return { baseUrl, apiKey, ...(model ? { model } : {}) }\n}\n\nexport function resolveCliLlmConfig(env: NodeJS.ProcessEnv = process.env): CliLlmConfig {\n const route = resolveCliProviderRoute(env)\n if (!route) return {}\n return {\n chat: cliChatClient({ baseUrl: route.baseUrl, apiKey: route.apiKey }, route.model),\n ...(route.model ? { model: route.model } : {}),\n }\n}\n\n/**\n * The binary's transport IS the published one — `createChatClient({ transport:\n * 'openai-compatible' })` — so the server and a library consumer cannot drift\n * onto two different clients for the same endpoint.\n *\n * The one thing kept local is the error text. A generic \"no model on the\n * request\" tells a server operator nothing; this names the variable to set.\n */\nfunction cliChatClient(\n route: { baseUrl: string; apiKey: string },\n defaultModel: string | undefined,\n): ChatClient {\n const client = createChatClient({\n transport: 'openai-compatible',\n baseUrl: route.baseUrl,\n apiKey: route.apiKey,\n ...(defaultModel ? { defaultModel } : {}),\n })\n return {\n ...client,\n chat: (req, callOpts) => {\n if (!req.model && !defaultModel) {\n throw new Error(\n 'agent-eval: no model on the request and no AGENT_EVAL_LLM_MODEL configured',\n )\n }\n return client.chat(req, callOpts)\n },\n }\n}\n\nfunction nonEmpty(value: string | undefined): string | undefined {\n const trimmed = value?.trim()\n return trimmed ? trimmed : undefined\n}\n","/**\n * `agent-eval search <subcommand>`: work with a search ledger from a terminal.\n *\n * agent-eval search ship <search-ledger.jsonl> --run-kind optimization|eval [--content full|digests]\n * agent-eval search show <search-ledger.jsonl>\n *\n * `ship` sends the ledger to the hosted store named by `TANGLE_INGEST_URL`,\n * `TANGLE_INGEST_API_KEY` and `TANGLE_TENANT_ID`, starting from the store's\n * head, so it finishes or resumes a ship that a loop could not complete.\n *\n * `show` verifies the ledger and prints `renderSearchSummary`: the same\n * compact text a proposer reads, on the search's own ranking split (the\n * selection split when the search declares one, else train). There is no\n * local HTML renderer; the hosted store's page is the visual view (§5 of the\n * search-tree design).\n */\n\nimport { open, readFile } from 'node:fs/promises'\nimport { replaySearchLedgerText } from './campaign/search-ledger'\nimport { renderSearchSummary } from './campaign/search-summary'\nimport { hostedTenantFromEnv } from './hosted/client'\nimport { SEARCH_LEDGER_BATCH_MAX_BYTES, SearchRunKindSchema } from './hosted/search-ledger-wire'\nimport { SearchShipConflictError, shipSearchLedger } from './hosted/search-shipper'\n\nconst USAGE = `usage: agent-eval search <subcommand> ...\n\n ship <search-ledger.jsonl> --run-kind optimization|eval [--content full|digests]\n Ships the ledger's entries, and the blobs they name, to the hosted store in\n TANGLE_INGEST_URL (or TANGLE_ORCHESTRATOR_URL) as tenant TANGLE_TENANT_ID with\n TANGLE_INGEST_API_KEY (or TANGLE_API_KEY). It starts from the store's head, so\n running it again sends only what the store lacks. Prints the result as JSON.\n Exits 1 when the store holds a different chain for the search.\n\n show <search-ledger.jsonl>\n Verifies the ledger and prints its search summary: the leading nodes\n against the root, the most recently discarded nodes and why, and a log\n of recent proposals. The same text a proposer reads as context, on the\n search's own ranking split.`\n\nexport async function runSearchCommand(argv: string[]): Promise<number> {\n const [subcommand, ...rest] = argv\n if (subcommand === undefined || subcommand === '--help' || subcommand === '-h') {\n process.stdout.write(`${USAGE}\\n`)\n return 0\n }\n if (subcommand === 'show') return await runShowCommand(rest)\n if (subcommand !== 'ship') {\n process.stderr.write(`unknown search subcommand: ${subcommand}\\n${USAGE}\\n`)\n return 1\n }\n if (rest.some((arg) => arg === undefined || arg === '--help' || arg === '-h')) {\n process.stdout.write(`${USAGE}\\n`)\n return 0\n }\n const { path, flags } = parseShipArgs(rest)\n const runKind = SearchRunKindSchema.safeParse(flags['run-kind'])\n if (!runKind.success) throw new Error(`--run-kind must be optimization or eval\\n${USAGE}`)\n const content = flags.content ?? 'full'\n if (content !== 'full' && content !== 'digests') {\n throw new Error(`--content must be full or digests\\n${USAGE}`)\n }\n const tenant = hostedTenantFromEnv()\n if (!tenant) {\n throw new Error(\n 'set TANGLE_INGEST_URL, TANGLE_INGEST_API_KEY and TANGLE_TENANT_ID to name the store',\n )\n }\n const searchId = await firstLineSearchId(path)\n try {\n const shipped = await shipSearchLedger({\n tenant,\n ledger: { path, searchId },\n runKind: runKind.data,\n content,\n })\n process.stdout.write(`${JSON.stringify(shipped, null, 2)}\\n`)\n return shipped.head.nextSequence === shipped.localLines ? 0 : 1\n } catch (error) {\n if (!(error instanceof SearchShipConflictError)) throw error\n process.stderr.write(`${error.message}\\n`)\n return 1\n }\n}\n\nasync function runShowCommand(argv: string[]): Promise<number> {\n if (argv.length !== 1 || argv[0] === '--help' || argv[0] === '-h') {\n process.stdout.write(`${USAGE}\\n`)\n return argv.length === 1 ? 0 : 1\n }\n const path = argv[0]!\n const searchId = await firstLineSearchId(path)\n const text = await readFile(path, 'utf8')\n const state = replaySearchLedgerText(text, searchId, path)\n const split =\n state.header && state.header.splits.selection.tasks.length > 0 ? 'selection' : 'train'\n process.stdout.write(`${renderSearchSummary(state, { split })}\\n`)\n return 0\n}\n\nfunction parseShipArgs(argv: string[]): { path: string; flags: Record<string, string> } {\n const flags: Record<string, string> = {}\n const positional: string[] = []\n for (let index = 0; index < argv.length; index++) {\n const token = argv[index]!\n if (!token.startsWith('--')) {\n positional.push(token)\n continue\n }\n const [name, inline] = token.slice(2).split('=', 2) as [string, string | undefined]\n if (name !== 'run-kind' && name !== 'content') throw new Error(`unknown flag --${name}`)\n const value = inline ?? argv[++index]\n if (value === undefined) throw new Error(`--${name} needs a value`)\n flags[name] = value\n }\n if (positional.length !== 1) throw new Error(USAGE)\n return { path: positional[0]!, flags }\n}\n\n/** The ledger names its search on every line; read the first. */\nasync function firstLineSearchId(path: string): Promise<string> {\n const handle = await open(path, 'r')\n try {\n // A line longer than one request's limit cannot ship anyway.\n const bytes = Buffer.alloc(SEARCH_LEDGER_BATCH_MAX_BYTES + 1)\n const { bytesRead } = await handle.read(bytes, 0, bytes.byteLength, 0)\n const newline = bytes.subarray(0, bytesRead).indexOf(0x0a)\n if (newline < 0) throw new Error(`${path} holds no complete ledger line`)\n const first = JSON.parse(bytes.toString('utf8', 0, newline)) as { searchId?: unknown }\n if (typeof first.searchId !== 'string') throw new Error(`${path} line 1 names no searchId`)\n return first.searchId\n } finally {\n await handle.close()\n }\n}\n","#!/usr/bin/env node\n/**\n * agent-eval CLI.\n *\n * agent-eval serve [--port 5005] [--host 127.0.0.1]\n * agent-eval rpc <method> # one request from stdin → one response on stdout\n * agent-eval rpc-batch <method> # JSONL stdin → JSONL stdout\n * agent-eval analyst-benchmark ... # benchmark a real-model trace analyst\n * agent-eval supervisor-run report <runDir> [--format headline|markdown|json]\n * agent-eval search ship <search-ledger.jsonl> --run-kind optimization|eval\n * agent-eval search show <search-ledger.jsonl>\n * agent-eval openapi [--out path] # write OpenAPI spec\n * agent-eval version\n *\n * <method> is one of: judge, listRubrics, version. When omitted, the\n * stdin payload must be a full {method, params} envelope.\n */\nimport { writeFileSync } from 'node:fs'\nimport { runAnalystBenchmarkCommand } from './analyst/benchmark-command'\nimport { resolveCliLlmConfig } from './cli-config'\nimport { runRolloutReleaseCli } from './rollout/release/hf-dataset'\nimport { runSearchCommand } from './search-command'\nimport { runSupervisorRunCommand } from './supervisor-run/report-command'\nimport { handleVersion } from './wire/handlers'\nimport { buildOpenApi } from './wire/openapi'\nimport { runRpcBatch, runRpcOnce } from './wire/rpc'\nimport { startServerAsync } from './wire/server'\n\ninterface Args {\n command: string\n positional: string[]\n flags: Record<string, string>\n}\n\nfunction parseArgs(argv: string[]): Args {\n const [command, ...rest] = argv\n const positional: string[] = []\n const flags: Record<string, string> = {}\n for (let i = 0; i < rest.length; i++) {\n const tok = rest[i]!\n if (tok.startsWith('--')) {\n const raw = tok.slice(2)\n const equalsAt = raw.indexOf('=')\n if (equalsAt >= 0) {\n flags[raw.slice(0, equalsAt)] = raw.slice(equalsAt + 1)\n continue\n }\n const key = raw\n if (key === 'help') {\n flags[key] = 'true'\n continue\n }\n const next = rest[i + 1]\n if (next != null && !next.startsWith('--')) {\n flags[key] = next\n i++\n } else {\n flags[key] = 'true'\n }\n } else if (tok === '-h') {\n flags.help = 'true'\n } else {\n positional.push(tok)\n }\n }\n return { command: command ?? 'help', positional, flags }\n}\n\nconst HELP = `agent-eval: evaluation RPC and HTTP server.\n\nCommands:\n serve [--port 5005] [--host 127.0.0.1]\n Start the HTTP server. POST /v1/judge, GET /v1/rubrics, GET /v1/version, GET /openapi.json.\n rpc <method>\n Read one JSON object from stdin (the params for <method>), write one\n JSON object to stdout. Methods: judge, listRubrics, version.\n rpc-batch <method>\n Like 'rpc' but JSONL in / JSONL out.\n openapi [--out openapi.json]\n Write the OpenAPI 3.1 spec.\n rollout-release <ledger.jsonl...> --out <dir> [--formats sft,verifiers,rft,raw] [--include-proposers] [--push <org/name>]\n Build a HuggingFace-ready dataset dir from tangle.rollout.v1 ledgers:\n validate, fail-closed split filter, scrub, export formats + card.\n analyst-benchmark --dataset <agentrx|codetracebench> --labels <path> --trace-dir <path> [--artifact-dir <path>] --out <dir> ...\n Compare an empty baseline with a real-model trace analyst on public labels.\n Run with --help for all required inputs and controls.\n supervisor-run report <runDir> [--format headline|markdown|json]\n Report one Runtime or loops supervisor run directory. The status comes\n from Runtime's own result.json / failure.json; every missing measurement\n stays named. Exits 1 when the directory cannot be read.\n search ship <search-ledger.jsonl> --run-kind optimization|eval [--content full|digests]\n Ship a search ledger and its blobs to the hosted store in TANGLE_INGEST_URL,\n starting from the store's head. Run with --help for the environment it reads.\n search show <search-ledger.jsonl>\n Verify a search ledger and print its summary: leading nodes, recently\n discarded nodes and recent proposals, the same text a proposer reads.\n version\n Print server + wire-protocol version JSON.\n\nJudge provider:\n Set AGENT_EVAL_LLM_BASE_URL, AGENT_EVAL_LLM_API_KEY, and AGENT_EVAL_LLM_MODEL.\n OPENAI_* and TANGLE_* equivalents are also accepted. This binary is the only\n place that reads a provider credential; the library never does. Without both\n a base URL and a key, /v1/judge refuses with llm_not_configured.\n\nWithout arguments, prints this help.`\n\nasync function main(): Promise<number> {\n const { command, positional, flags } = parseArgs(process.argv.slice(2))\n assertKnownFlags(command, flags)\n\n if (command === 'analyst-benchmark' && flags.help === 'true') {\n return await runAnalystBenchmarkCommand(process.argv.slice(3))\n }\n if (command === 'search') return await runSearchCommand(process.argv.slice(3))\n if (flags.help === 'true') {\n process.stdout.write(`${HELP}\\n`)\n return 0\n }\n\n switch (command) {\n case 'serve': {\n const port = parsePort(flags.port ?? '5005')\n const host = flags.host ?? '127.0.0.1'\n const llm = resolveCliLlmConfig()\n const { server } = await startServerAsync({\n port,\n host,\n ...(llm.chat ? { chat: llm.chat } : {}),\n ...(llm.model ? { judgeModel: llm.model } : {}),\n })\n // Keep process alive on SIGINT/SIGTERM\n const shutdown = (sig: string) => {\n // eslint-disable-next-line no-console\n console.log(`[agent-eval] received ${sig}, shutting down`)\n server.close(() => process.exit(0))\n // Force exit after 5s if close hangs\n setTimeout(() => process.exit(1), 5000).unref()\n }\n process.on('SIGINT', () => shutdown('SIGINT'))\n process.on('SIGTERM', () => shutdown('SIGTERM'))\n // Block forever\n await new Promise(() => {})\n return 0\n }\n case 'rpc': {\n const [method] = positional\n const llm = resolveCliLlmConfig()\n return await runRpcOnce(method, {\n ...(llm.chat ? { chat: llm.chat } : {}),\n ...(llm.model ? { judgeModel: llm.model } : {}),\n })\n }\n case 'rpc-batch': {\n const [method] = positional\n const llm = resolveCliLlmConfig()\n return await runRpcBatch(method, {\n ...(llm.chat ? { chat: llm.chat } : {}),\n ...(llm.model ? { judgeModel: llm.model } : {}),\n })\n }\n case 'openapi': {\n const out = flags.out ?? 'openapi.json'\n const spec = buildOpenApi(handleVersion().version)\n writeFileSync(out, `${JSON.stringify(spec, null, 2)}\\n`, 'utf-8')\n // eslint-disable-next-line no-console\n console.log(`[agent-eval] wrote OpenAPI 3.1 spec to ${out}`)\n return 0\n }\n case 'rollout-release': {\n // The subcommand owns its own flag grammar (multi-value --formats,\n // boolean --include-proposers) — pass raw argv through untouched.\n return await runRolloutReleaseCli(process.argv.slice(3))\n }\n case 'analyst-benchmark': {\n return await runAnalystBenchmarkCommand(process.argv.slice(3))\n }\n case 'supervisor-run': {\n // The subcommand owns its own flag grammar; pass raw argv through.\n return await runSupervisorRunCommand(process.argv.slice(3))\n }\n case 'version': {\n process.stdout.write(`${JSON.stringify(handleVersion(), null, 2)}\\n`)\n return 0\n }\n case '--version': {\n process.stdout.write(`${handleVersion().version}\\n`)\n return 0\n }\n case 'help':\n case '--help':\n case '-h':\n case '':\n process.stdout.write(`${HELP}\\n`)\n return 0\n default:\n process.stderr.write(`unknown command: ${command}\\n${HELP}\\n`)\n return 1\n }\n}\n\nconst FLAGS_BY_COMMAND: Record<string, ReadonlySet<string>> = {\n serve: new Set(['help', 'host', 'port']),\n rpc: new Set(['help']),\n 'rpc-batch': new Set(['help']),\n openapi: new Set(['help', 'out']),\n version: new Set(['help']),\n help: new Set(),\n '--help': new Set(),\n '-h': new Set(),\n '--version': new Set(),\n '': new Set(),\n}\n\nfunction assertKnownFlags(command: string, flags: Record<string, string>): void {\n // These subcommands parse their own argv.\n if (\n command === 'rollout-release' ||\n command === 'analyst-benchmark' ||\n command === 'supervisor-run' ||\n command === 'search'\n ) {\n return\n }\n const allowed = FLAGS_BY_COMMAND[command]\n if (!allowed) return\n const unknown = Object.keys(flags).filter((flag) => !allowed.has(flag))\n if (unknown.length > 0) {\n throw new Error(`unknown flag for ${command || 'help'}: --${unknown[0]}`)\n }\n}\n\nfunction parsePort(raw: string): number {\n const port = Number(raw)\n if (!Number.isInteger(port) || port < 0 || port > 65_535) {\n throw new Error(`--port must be an integer from 0 to 65535; received ${JSON.stringify(raw)}`)\n }\n return port\n}\n\nmain()\n .then((code) => process.exit(code))\n .catch((err) => {\n // eslint-disable-next-line no-console\n console.error('[agent-eval] cli error:', err)\n process.exit(1)\n })\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { D as SearchLedgerHash, E as SearchLedgerEvent, T as SearchLedgerEntry, i as SearchArtifactRef } from "./search-ledger-types-C9anU2DX.js";
1
+ import { A as SearchLedgerHash, O as SearchLedgerEntry, i as SearchArtifactRef, k as SearchLedgerEvent } from "./search-ledger-types-B3El5xgS.js";
2
2
  import { z } from "zod";
3
3
  //#region src/hosted/search-ledger-wire.d.ts
4
4
  /** At most this many lines in one ingest request. */
@@ -233,4 +233,4 @@ declare function hostedClientFromEnv(overrides?: Partial<HostedTenant> & {
233
233
  }): HostedClient | undefined;
234
234
  //#endregion
235
235
  export { admitSearchLedgerBatch as A, SearchLedgerBatchAdmission as C, SearchLedgerHeadSchema as D, SearchLedgerHead as E, searchLedgerArtifactRefs as M, searchLedgerHeadPath as N, SearchRunKind as O, SearchBlobPutResponseSchema as S, SearchLedgerConflictSchema as T, IngestSearchLedgerRequestSchema as _, createHostedClient as a, SEARCH_LEDGER_INGEST_PATH as b, HOSTED_WIRE_VERSION as c, IngestResponse as d, IngestTracesRequest as f, IngestSearchLedgerRequest as g, AdmitSearchLedgerBatchInput as h, SearchLedgerIngestOutcome as i, searchBlobPath as j, SearchRunKindSchema as k, HostedIngestHeaders as l, UnixNanoTimestamp as m, HostedRequestError as n, hostedClientFromEnv as o, TraceSpanEvent as p, HostedTenant as r, hostedTenantFromEnv as s, HostedClient as t, HostedWireVersion as u, SEARCH_LEDGER_BATCH_MAX_BYTES as v, SearchLedgerConflict as w, SearchBlobPutResponse as x, SEARCH_LEDGER_BATCH_MAX_LINES as y };
236
- //# sourceMappingURL=client-wFyDisxi.d.ts.map
236
+ //# sourceMappingURL=client-dMMKoQNS.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client-wFyDisxi.d.ts","names":[],"sources":["../src/hosted/search-ledger-wire.ts","../src/hosted/types.ts","../src/hosted/client.ts"],"mappings":";;;;cAkCa;;;cAGA;cAEA;iBAEG,qBAAqB;;iBAKrB,eAAe,QAAQ;;cAe1B,qBAAmB,EAAA;;;;KACpB,gBAAgB,EAAE,aAAa;;;cAI9B,wBAAsB,EAAA;;;;GAM/B,EAAA,KAAA;KACQ,mBAAmB,EAAE,aAAa;cAEjC,iCAA+B,EAAA;;;;;;;;;GAkBxC,EAAA,KAAA;KACQ,4BAA4B,EAAE,aAAa;;cAG1C,4BAA0B,EAAA;;;;;;;;;;;GAM5B,EAAA,KAAA;KACC,uBAAuB,EAAE,aAAa;;;cAIrC,6BAA2B,EAAA;;;;;;;;GAM7B,EAAA,KAAA;KACC,wBAAwB,EAAE,aAAa;;iBAWnC,yBAAyB,OAAO,oBAAoB;KAoBxD;EAEN;;EAEA,SAAS;EACT;;EAEA,MAAM;;EAEN;EAAoB,UAAU;;UAEnB;EACf,SAAS;;EAET,MAAM;;EAEN,gBAAgB,mBAAmB;;;;;;;;iBASrB,uBACd,OAAO,8BACN;;;;;;;;;;;;;;;;;;;;;;;;;cCtJU;KACD,2BAA2B;;UAKtB;;EAEf;;EAEA;;EAEA,yBAAyB;;EAEzB;;;;;;KASU;;;;;;UAOK;EACf;EACA;EACA;EACA;EACA,mBAAmB;EACnB,iBAAiB;EACjB,YAAY;EACZ,SAAS;IACP,cAAc;IACd;IACA,aAAa;;EAEf;IAAW;IAAgC;;;EAE3C;;EAEA;;EAEA;;EAEA;;UAKe;EACf,aAAa;EACb,OAAO;;UAGQ;;EAEf;;EAEA,UAAU;IAAQ;IAAe;;;;;UC7ClB;;EAEf;;EAEA;;EAEA;;EAEA,mBAAmB;;EAEnB;;EAEA;;;KAIU;EACN;EAAoB,MAAM;;EAC1B;EAAoB,UAAU;;UAEnB;EACf,aAAa,OAAO,kBAAkB,0BAA0B,QAAQ;;EAExE,iBAAiB,kBAAkB,SAAS,cAAc,QAAQ;EAClE,mBACE,SAAS,2BACT,SAAS,cACR,QAAQ;EACX,cACE,4BACA,OAAO,WAAW,cAClB,qBACA,SAAS,cACR,QAAQ;WACF,QAAQ;WACR,aAAa;;;cAIX,2BAA2B;WAC7B;WACA;EACT,YAAY,aAAa,gBAAgB;;iBAuI3B,mBAAmB,QAAQ,eAAe;;;;;;;;;;iBAqG1C,oBACd,YAAW,QAAQ;EAAkB,MAAM;IAC1C;;;iBAmBa,oBACd,YAAW,QAAQ;EAAkB,MAAM;IAC1C"}
1
+ {"version":3,"file":"client-dMMKoQNS.d.ts","names":[],"sources":["../src/hosted/search-ledger-wire.ts","../src/hosted/types.ts","../src/hosted/client.ts"],"mappings":";;;;cAkCa;;;cAGA;cAEA;iBAEG,qBAAqB;;iBAKrB,eAAe,QAAQ;;cAe1B,qBAAmB,EAAA;;;;KACpB,gBAAgB,EAAE,aAAa;;;cAI9B,wBAAsB,EAAA;;;;GAM/B,EAAA,KAAA;KACQ,mBAAmB,EAAE,aAAa;cAEjC,iCAA+B,EAAA;;;;;;;;;GAkBxC,EAAA,KAAA;KACQ,4BAA4B,EAAE,aAAa;;cAG1C,4BAA0B,EAAA;;;;;;;;;;;GAM5B,EAAA,KAAA;KACC,uBAAuB,EAAE,aAAa;;;cAIrC,6BAA2B,EAAA;;;;;;;;GAM7B,EAAA,KAAA;KACC,wBAAwB,EAAE,aAAa;;iBAWnC,yBAAyB,OAAO,oBAAoB;KAoBxD;EAEN;;EAEA,SAAS;EACT;;EAEA,MAAM;;EAEN;EAAoB,UAAU;;UAEnB;EACf,SAAS;;EAET,MAAM;;EAEN,gBAAgB,mBAAmB;;;;;;;;iBASrB,uBACd,OAAO,8BACN;;;;;;;;;;;;;;;;;;;;;;;;;cCtJU;KACD,2BAA2B;;UAKtB;;EAEf;;EAEA;;EAEA,yBAAyB;;EAEzB;;;;;;KASU;;;;;;UAOK;EACf;EACA;EACA;EACA;EACA,mBAAmB;EACnB,iBAAiB;EACjB,YAAY;EACZ,SAAS;IACP,cAAc;IACd;IACA,aAAa;;EAEf;IAAW;IAAgC;;;EAE3C;;EAEA;;EAEA;;EAEA;;UAKe;EACf,aAAa;EACb,OAAO;;UAGQ;;EAEf;;EAEA,UAAU;IAAQ;IAAe;;;;;UC7ClB;;EAEf;;EAEA;;EAEA;;EAEA,mBAAmB;;EAEnB;;EAEA;;;KAIU;EACN;EAAoB,MAAM;;EAC1B;EAAoB,UAAU;;UAEnB;EACf,aAAa,OAAO,kBAAkB,0BAA0B,QAAQ;;EAExE,iBAAiB,kBAAkB,SAAS,cAAc,QAAQ;EAClE,mBACE,SAAS,2BACT,SAAS,cACR,QAAQ;EACX,cACE,4BACA,OAAO,WAAW,cAClB,qBACA,SAAS,cACR,QAAQ;WACF,QAAQ;WACR,aAAa;;;cAIX,2BAA2B;WAC7B;WACA;EACT,YAAY,aAAa,gBAAgB;;iBAuI3B,mBAAmB,QAAQ,eAAe;;;;;;;;;;iBAqG1C,oBACd,YAAW,QAAQ;EAAkB,MAAM;IAC1C;;;iBAmBa,oBACd,YAAW,QAAQ;EAAkB,MAAM;IAC1C"}
@@ -1,13 +1,13 @@
1
1
  import { c as CostLedgerHandle } from "../cost-ledger-DbQdN3nO.js";
2
2
  import { _ as ProposalFinding, i as AnalystFinding, v as ProposalFindingOrigin, x as makeProposalFinding } from "../types-CeDfCRXp.js";
3
3
  import { A as createChatClient, T as CreateChatClientOpts, x as ChatClient } from "../types-C0bWoSKC.js";
4
- import { $ as paretoSignificanceGate, G as BuildEvidenceVectorOptions, J as ParetoSignificanceGateOptions, K as EvidenceVector, Q as paretoPolicy, U as AxisEvidence, W as AxisVerdict, X as PromotionPolicy, Y as PromotionObjective, Z as buildEvidenceVector, q as ObjectiveSource } from "../statistical-heldout-BED3wBtX.js";
5
- import { C as JudgeDimension, H as SurfaceProposer, M as OptimizerConfig, R as Scenario, S as JudgeConfig, V as SessionScript, _ as GateDecision, a as CampaignResult, b as GenerationRecord, c as CampaignTraceWriter, d as DispatchContext, f as DispatchFn, g as GateContribution, h as GateContext, i as CampaignCostMeter, j as MutableSurface, l as CodeSurface, m as GateCheckStatus, n as CampaignArtifactWriter, p as Gate, r as CampaignCellResult, t as CampaignAggregates, v as GateResult, w as JudgeScore, y as GenerationCandidate } from "../types-BmQRs661.js";
6
- import { $i as RunImprovementLoopOptions, $r as GepaOptimizationRecipe, Ao as fsCampaignStorage, Bi as ReferenceEquivalenceJudgeInput, Ci as compareOptimizationMethods, Dr as DefaultProductionGateOptions, Er as DefaultProductionGateCheck, Gi as runReferenceEquivalenceJudge, Gr as SkillOptOptimizationMethodConfig, Hi as ReferenceEquivalenceJudgeResult, Ji as llmJudge, Jr as skillOptOptimizationMethod, Ki as LlmJudgeDimension, Kr as SkillOptRunnerCommand, Lo as campaignSplitDigest, Mo as FinalEvidencePolicy, No as FinalEvidenceUse, Oo as CampaignStorage, Or as DefaultProductionRewardHackingOptions, Qi as transientDispatchFailure, Qr as GepaOptimizationMethodConfig, Ri as REFERENCE_EQUIVALENCE_INPUT_LIMITS, Si as OptimizationTokenUsage, Ti as ComparisonCost, Tr as heldOutGate, Ui as ReferenceEquivalenceScenario, Vi as ReferenceEquivalenceJudgeOptions, Wi as createReferenceEquivalenceJudge, Wr as composeGate, Xr as GepaEngineOptions, Yr as GepaAdaptiveEngineRun, Zr as GepaEngineRun, _i as OptimizationMethodProvenance, _o as runCampaign, ai as ExternalTextOptimizationMethodConfig, ci as ExternalOptimizationExample, di as CompareOptimizationMethodsOptions, ea as RunImprovementLoopResult, ei as GepaRunnerCommand, fi as OptimizationMethod, fo as RunEvalOptions, go as RunCampaignOptions, hi as OptimizationMethodInput, ho as CampaignCellRetryPolicy, ii as externalTextOptimizationMethod, jo as inMemoryCampaignStorage, kr as defaultProductionGate, li as ExternalTextEvaluationResponse, mo as CampaignCellFailureReceipt, ni as OpenAICompatibleOptimizerModel, oi as ExternalTextOptimizerContext, pi as OptimizationMethodComparison, po as runEval, qi as LlmJudgeOptions, qr as SkillOptTrainerConfig, ri as OptimizerModelBudget, si as ExternalTextOptimizerResult, ta as runImprovementLoop, ti as gepaOptimizationMethod, vi as OptimizationMethodResult, wr as HeldOutGateOptions, xi as OptimizationPackageSource, zi as REFERENCE_EQUIVALENCE_JUDGE_VERSION } from "../index-CzfnASj_.js";
4
+ import { $ as paretoSignificanceGate, G as BuildEvidenceVectorOptions, J as ParetoSignificanceGateOptions, K as EvidenceVector, Q as paretoPolicy, U as AxisEvidence, W as AxisVerdict, X as PromotionPolicy, Y as PromotionObjective, Z as buildEvidenceVector, q as ObjectiveSource } from "../statistical-heldout-D-xBpbrd.js";
5
+ import { C as JudgeDimension, H as SurfaceProposer, M as OptimizerConfig, R as Scenario, S as JudgeConfig, V as SessionScript, _ as GateDecision, a as CampaignResult, b as GenerationRecord, c as CampaignTraceWriter, d as DispatchContext, f as DispatchFn, g as GateContribution, h as GateContext, i as CampaignCostMeter, j as MutableSurface, l as CodeSurface, m as GateCheckStatus, n as CampaignArtifactWriter, p as Gate, r as CampaignCellResult, t as CampaignAggregates, v as GateResult, w as JudgeScore, y as GenerationCandidate } from "../types-BWwRXofp.js";
6
+ import { $r as DefaultProductionGateOptions, Ai as externalTextOptimizationMethod, Ao as runCampaign, Ci as GepaEngineRun, Da as runImprovementLoop, Di as gepaOptimizationMethod, Do as CampaignCellFailureReceipt, Ea as RunImprovementLoopResult, Ei as GepaRunnerCommand, Eo as runEval, Fi as ExternalTextEvaluationResponse, Go as FinalEvidencePolicy, Ji as OptimizationTokenUsage, Ko as FinalEvidenceUse, Li as CompareOptimizationMethodsOptions, Mi as ExternalTextOptimizerContext, Ni as ExternalTextOptimizerResult, Oi as OpenAICompatibleOptimizerModel, Oo as CampaignCellRetryPolicy, Pi as ExternalOptimizationExample, Qr as DefaultProductionGateCheck, Ri as OptimizationMethod, Si as GepaEngineOptions, Ta as RunImprovementLoopOptions, Ti as GepaOptimizationRecipe, To as RunEvalOptions, Ui as OptimizationMethodProvenance, Uo as fsCampaignStorage, Vi as OptimizationMethodInput, Vo as CampaignStorage, Wi as OptimizationMethodResult, Wo as inMemoryCampaignStorage, Xo as campaignSplitDigest, Xr as HeldOutGateOptions, Yi as compareOptimizationMethods, Zi as ComparisonCost, Zr as heldOutGate, _a as runReferenceEquivalenceJudge, _i as SkillOptOptimizationMethodConfig, ba as llmJudge, bi as skillOptOptimizationMethod, da as REFERENCE_EQUIVALENCE_JUDGE_VERSION, ei as DefaultProductionRewardHackingOptions, fa as ReferenceEquivalenceJudgeInput, ga as createReferenceEquivalenceJudge, gi as composeGate, ha as ReferenceEquivalenceScenario, ji as ExternalTextOptimizationMethodConfig, ki as OptimizerModelBudget, ko as RunCampaignOptions, ma as ReferenceEquivalenceJudgeResult, pa as ReferenceEquivalenceJudgeOptions, qi as OptimizationPackageSource, ti as defaultProductionGate, ua as REFERENCE_EQUIVALENCE_INPUT_LIMITS, va as LlmJudgeDimension, vi as SkillOptRunnerCommand, wa as transientDispatchFailure, wi as GepaOptimizationMethodConfig, xi as GepaAdaptiveEngineRun, ya as LlmJudgeOptions, yi as SkillOptTrainerConfig, zi as OptimizationMethodComparison } from "../index-DMPLG226.js";
7
7
  import { i as InMemoryOutcomeStore, n as FileSystemOutcomeStore, o as OutcomeStore, r as FileSystemOutcomeStoreOptions, t as DeploymentOutcome } from "../outcome-store-CNt4iZ67.js";
8
- import { r as HostedTenant } from "../client-wFyDisxi.js";
8
+ import { r as HostedTenant } from "../client-dMMKoQNS.js";
9
9
  import { _ as ReleaseSummary, a as summarizeExecution, c as ExecutionInsight, d as InsightReport, f as InterRaterInsight, g as Recommendation, h as OutcomeCorrelationInsight, i as analyzeRuns, l as FailureClassTally, m as LiftInsight, n as ExecutionReport, o as CostProvenanceSummary, p as JudgeInsight, r as SummarizeExecutionOptions, s as ExecutionErrorOutcomeCell, t as AnalyzeRunsOptions, u as FailureClusterInsight, v as ScalarDistribution, y as TokenUsageInsight } from "../analyze-runs-CPiKLJFs.js";
10
- import { _ as SelfImproveMethodResult, a as DefinedAgentEval, c as SelfImproveMethodOptions, d as SelfImproveProposerOptions, f as SelfImproveProposerResult, g as SelfImproveMethodProvenance, h as selfImprove, i as DefineAgentEvalOptions, l as SelfImproveOptions, m as SelfImproveRunError, n as AgentEvalEvaluateOptions, o as defineAgentEval, p as SelfImproveResult, r as AgentEvalImproveOptions, s as SelfImproveBudget, t as AgentEvalAgent, u as SelfImproveProgressEvent } from "../define-agent-eval-P28y7mI1.js";
11
- import { $ as FromRunRecordDirResult, A as CodeAgentSessionActionStatus, B as AgentTraceFile, C as fromOpenCodeSession, Ct as measuredComparisonFromCandidateExperiment, D as streamCodeAgentJsonlFile, Dt as sealCandidateExperiment, E as parseCodeAgentJsonlFile, Et as sealCandidateBenchmarkTask, F as CodeAgentSessionTerminalStatus, G as PartitionByAuthoringModelResult, H as AgentTraceRange, I as observeCodeAgentSession, J as EvalReportingSuiteInput, K as parseAgentTrace, L as AgentTraceContributor, M as CodeAgentSessionExecutionReceipt, N as CodeAgentSessionObservation, O as CodeAgentSessionAction, Ot as verifyCandidateExperiment, P as CodeAgentSessionSource, Q as FromRunRecordDirOptions, R as AgentTraceContributorType, S as fromKimiCodeSession, St as evaluatePairedMeasurements, T as parseCodeAgentJsonl, Tt as sealCandidateBenchmarkSuite, U as AgentTraceRecord, V as AgentTraceIndex, W as AuthoringProvenance, X as EvalReportingSuiteResult, Y as EvalReportingSuiteOptions, Z as evalReportingSuite, _ as CodeAgentSessionIntakeResult, _t as PairedMeasurement, a as FromFeedbackTableOptions, at as RunAgentProfileImprovementExperimentOptions, b as fromClaudeCodeSession, bt as RunCandidateExperimentOptions, c as CodeAgentStoreObservation, ct as runAgentProfileImprovementExperiment, d as CodeAgentStoreScope, dt as sealAgentProfileImprovementTask, et as RunRecordRejection, f as CodeAgentStoreSession, ft as verifyAgentProfileImprovementExperimentComparison, g as CodeAgentSessionIntakeOptions, gt as EvaluatePairedMeasurementsOptions, h as CodeAgentSessionDiagnostic, ht as CompareCandidateExperimentOptions, i as FeedbackTableRow, it as CompareAgentProfileImprovementExperimentOptions, j as CodeAgentSessionActionSurface, k as CodeAgentSessionActionKind, kt as verifyCandidateExperimentComparison, l as CodeAgentStoreRejection, lt as sealAgentProfileImprovementExperiment, m as CodeAgentJsonlLine, mt as CandidateExperimentRun, n as fromOtelSpans, nt as AgentProfileImprovementExperimentExecutionInput, o as FromFeedbackTableResult, ot as SealAgentProfileImprovementSuiteOptions, p as observeCodeAgentStore, pt as CandidateExperimentExecutionInput, q as partitionRunsByAuthoringModel, r as FeedbackTableMeta, rt as AgentProfileImprovementExperimentRun, s as fromFeedbackTable, st as measuredComparisonFromAgentProfileImprovementExperiment, t as FromOtelSpansOptions, tt as fromRunRecordDir, u as CodeAgentStoreRejections, ut as sealAgentProfileImprovementSuite, v as CodeAgentSessionMetrics, vt as PairedMeasurementAdapter, w as fromPiSession, wt as runCandidateExperiment, x as fromCodexSession, xt as SealCandidateBenchmarkSuiteOptions, y as ParsedCodeAgentJsonl, yt as PairedMeasurementEvaluation, z as AgentTraceConversation } from "../index-DH-MWH5f.js";
12
- import { n as buildDefaultAnalystRegistry, t as DefaultAnalystRegistryOptions } from "../default-registry-DK_9aVJf.js";
10
+ import { _ as SelfImproveMethodResult, a as DefinedAgentEval, c as SelfImproveMethodOptions, d as SelfImproveProposerOptions, f as SelfImproveProposerResult, g as SelfImproveMethodProvenance, h as selfImprove, i as DefineAgentEvalOptions, l as SelfImproveOptions, m as SelfImproveRunError, n as AgentEvalEvaluateOptions, o as defineAgentEval, p as SelfImproveResult, r as AgentEvalImproveOptions, s as SelfImproveBudget, t as AgentEvalAgent, u as SelfImproveProgressEvent } from "../define-agent-eval-DQJvVa1P.js";
11
+ import { $ as FromRunRecordDirResult, A as CodeAgentSessionActionStatus, B as AgentTraceFile, C as fromOpenCodeSession, Ct as measuredComparisonFromCandidateExperiment, D as streamCodeAgentJsonlFile, Dt as sealCandidateExperiment, E as parseCodeAgentJsonlFile, Et as sealCandidateBenchmarkTask, F as CodeAgentSessionTerminalStatus, G as PartitionByAuthoringModelResult, H as AgentTraceRange, I as observeCodeAgentSession, J as EvalReportingSuiteInput, K as parseAgentTrace, L as AgentTraceContributor, M as CodeAgentSessionExecutionReceipt, N as CodeAgentSessionObservation, O as CodeAgentSessionAction, Ot as verifyCandidateExperiment, P as CodeAgentSessionSource, Q as FromRunRecordDirOptions, R as AgentTraceContributorType, S as fromKimiCodeSession, St as evaluatePairedMeasurements, T as parseCodeAgentJsonl, Tt as sealCandidateBenchmarkSuite, U as AgentTraceRecord, V as AgentTraceIndex, W as AuthoringProvenance, X as EvalReportingSuiteResult, Y as EvalReportingSuiteOptions, Z as evalReportingSuite, _ as CodeAgentSessionIntakeResult, _t as PairedMeasurement, a as FromFeedbackTableOptions, at as RunAgentProfileImprovementExperimentOptions, b as fromClaudeCodeSession, bt as RunCandidateExperimentOptions, c as CodeAgentStoreObservation, ct as runAgentProfileImprovementExperiment, d as CodeAgentStoreScope, dt as sealAgentProfileImprovementTask, et as RunRecordRejection, f as CodeAgentStoreSession, ft as verifyAgentProfileImprovementExperimentComparison, g as CodeAgentSessionIntakeOptions, gt as EvaluatePairedMeasurementsOptions, h as CodeAgentSessionDiagnostic, ht as CompareCandidateExperimentOptions, i as FeedbackTableRow, it as CompareAgentProfileImprovementExperimentOptions, j as CodeAgentSessionActionSurface, k as CodeAgentSessionActionKind, kt as verifyCandidateExperimentComparison, l as CodeAgentStoreRejection, lt as sealAgentProfileImprovementExperiment, m as CodeAgentJsonlLine, mt as CandidateExperimentRun, n as fromOtelSpans, nt as AgentProfileImprovementExperimentExecutionInput, o as FromFeedbackTableResult, ot as SealAgentProfileImprovementSuiteOptions, p as observeCodeAgentStore, pt as CandidateExperimentExecutionInput, q as partitionRunsByAuthoringModel, r as FeedbackTableMeta, rt as AgentProfileImprovementExperimentRun, s as fromFeedbackTable, st as measuredComparisonFromAgentProfileImprovementExperiment, t as FromOtelSpansOptions, tt as fromRunRecordDir, u as CodeAgentStoreRejections, ut as sealAgentProfileImprovementSuite, v as CodeAgentSessionMetrics, vt as PairedMeasurementAdapter, w as fromPiSession, wt as runCandidateExperiment, x as fromCodexSession, xt as SealCandidateBenchmarkSuiteOptions, y as ParsedCodeAgentJsonl, yt as PairedMeasurementEvaluation, z as AgentTraceConversation } from "../index-DWQNDqPd.js";
12
+ import { n as buildDefaultAnalystRegistry, t as DefaultAnalystRegistryOptions } from "../default-registry-C3HTE08O.js";
13
13
  export { type AgentEvalAgent, type AgentEvalEvaluateOptions, type AgentEvalImproveOptions, type AgentProfileImprovementExperimentExecutionInput, type AgentProfileImprovementExperimentRun, type AgentTraceContributor, type AgentTraceContributorType, type AgentTraceConversation, type AgentTraceFile, type AgentTraceIndex, type AgentTraceRange, type AgentTraceRecord, type AnalystFinding, type AnalyzeRunsOptions, type AuthoringProvenance, type AxisEvidence, type AxisVerdict, type BuildEvidenceVectorOptions, type CampaignAggregates, type CampaignArtifactWriter, type CampaignCellFailureReceipt, type CampaignCellResult, type CampaignCellRetryPolicy, type CampaignCostMeter, type CampaignResult, type CampaignStorage, type CampaignTraceWriter, type CandidateExperimentExecutionInput, type CandidateExperimentRun, type ChatClient, type CodeAgentJsonlLine, type CodeAgentSessionAction, type CodeAgentSessionActionKind, type CodeAgentSessionActionStatus, type CodeAgentSessionActionSurface, type CodeAgentSessionDiagnostic, type CodeAgentSessionExecutionReceipt, type CodeAgentSessionIntakeOptions, type CodeAgentSessionIntakeResult, type CodeAgentSessionMetrics, type CodeAgentSessionObservation, type CodeAgentSessionSource, type CodeAgentSessionTerminalStatus, type CodeAgentStoreObservation, type CodeAgentStoreRejection, type CodeAgentStoreRejections, type CodeAgentStoreScope, type CodeAgentStoreSession, type CodeSurface, type CompareAgentProfileImprovementExperimentOptions, type CompareCandidateExperimentOptions, type CompareOptimizationMethodsOptions, type ComparisonCost, type CostLedgerHandle, type CostProvenanceSummary, type CreateChatClientOpts, type DefaultAnalystRegistryOptions, type DefaultProductionGateCheck, type DefaultProductionGateOptions, type DefaultProductionRewardHackingOptions, type DefineAgentEvalOptions, type DefinedAgentEval, type DeploymentOutcome, type DispatchFn as Dispatch, type DispatchContext, type EvalReportingSuiteInput, type EvalReportingSuiteOptions, type EvalReportingSuiteResult, type EvaluatePairedMeasurementsOptions, type EvidenceVector, type ExecutionErrorOutcomeCell, type ExecutionInsight, type ExecutionReport, type ExternalOptimizationExample, type ExternalTextEvaluationResponse, type ExternalTextOptimizationMethodConfig, type ExternalTextOptimizerContext, type ExternalTextOptimizerResult, type FailureClassTally, type FailureClusterInsight, type FeedbackTableMeta, type FeedbackTableRow, FileSystemOutcomeStore, type FileSystemOutcomeStoreOptions, type FinalEvidencePolicy, type FinalEvidenceUse, type FromFeedbackTableOptions, type FromFeedbackTableResult, type FromOtelSpansOptions, type FromRunRecordDirOptions, type FromRunRecordDirResult, type Gate, type GateCheckStatus, type GateContext, type GateContribution, type GateDecision, type GateResult, type GenerationCandidate, type GenerationRecord, type GepaAdaptiveEngineRun, type GepaEngineOptions, type GepaEngineRun, type GepaOptimizationMethodConfig, type GepaOptimizationRecipe, type GepaRunnerCommand, type HeldOutGateOptions, type HostedTenant, InMemoryOutcomeStore, type InsightReport, type InterRaterInsight, type JudgeConfig, type JudgeDimension, type JudgeInsight, type JudgeScore, type LiftInsight, type LlmJudgeDimension, type LlmJudgeOptions, type MutableSurface, type ObjectiveSource, type OpenAICompatibleOptimizerModel, type OptimizationMethod, type OptimizationMethodComparison, type OptimizationMethodInput, type OptimizationMethodProvenance, type OptimizationMethodResult, type OptimizationPackageSource, type OptimizationTokenUsage, type OptimizerConfig, type OptimizerModelBudget, type OutcomeCorrelationInsight, type OutcomeStore, type PairedMeasurement, type PairedMeasurementAdapter, type PairedMeasurementEvaluation, type ParetoSignificanceGateOptions, type ParsedCodeAgentJsonl, type PartitionByAuthoringModelResult, type PromotionObjective, type PromotionPolicy, type ProposalFinding, type ProposalFindingOrigin, REFERENCE_EQUIVALENCE_INPUT_LIMITS, REFERENCE_EQUIVALENCE_JUDGE_VERSION, type Recommendation, type ReferenceEquivalenceJudgeInput, type ReferenceEquivalenceJudgeOptions, type ReferenceEquivalenceJudgeResult, type ReferenceEquivalenceScenario, type ReleaseSummary, type RunAgentProfileImprovementExperimentOptions, type RunCampaignOptions, type RunCandidateExperimentOptions, type RunEvalOptions, type RunImprovementLoopOptions, type RunImprovementLoopResult, type RunRecordRejection, type ScalarDistribution, type Scenario, type SealAgentProfileImprovementSuiteOptions, type SealCandidateBenchmarkSuiteOptions, type SelfImproveBudget, type SelfImproveMethodOptions, type SelfImproveMethodProvenance, type SelfImproveMethodResult, type SelfImproveOptions, type SelfImproveProgressEvent, type SelfImproveProposerOptions, type SelfImproveProposerResult, type SelfImproveResult, SelfImproveRunError, type SessionScript, type SkillOptOptimizationMethodConfig, type SkillOptRunnerCommand, type SkillOptTrainerConfig, type SummarizeExecutionOptions, type SurfaceProposer, type TokenUsageInsight, analyzeRuns, buildDefaultAnalystRegistry, buildEvidenceVector, campaignSplitDigest, compareOptimizationMethods, composeGate, createChatClient, createReferenceEquivalenceJudge, defaultProductionGate, defineAgentEval, evalReportingSuite, evaluatePairedMeasurements, externalTextOptimizationMethod, fromClaudeCodeSession, fromCodexSession, fromFeedbackTable, fromKimiCodeSession, fromOpenCodeSession, fromOtelSpans, fromPiSession, fromRunRecordDir, fsCampaignStorage, gepaOptimizationMethod, heldOutGate, inMemoryCampaignStorage, llmJudge, makeProposalFinding, measuredComparisonFromAgentProfileImprovementExperiment, measuredComparisonFromCandidateExperiment, observeCodeAgentSession, observeCodeAgentStore, paretoPolicy, paretoSignificanceGate, parseAgentTrace, parseCodeAgentJsonl, parseCodeAgentJsonlFile, partitionRunsByAuthoringModel, runAgentProfileImprovementExperiment, runCampaign, runCandidateExperiment, runEval, runImprovementLoop, runReferenceEquivalenceJudge, sealAgentProfileImprovementExperiment, sealAgentProfileImprovementSuite, sealAgentProfileImprovementTask, sealCandidateBenchmarkSuite, sealCandidateBenchmarkTask, sealCandidateExperiment, selfImprove, skillOptOptimizationMethod, streamCodeAgentJsonlFile, summarizeExecution, transientDispatchFailure, verifyAgentProfileImprovementExperimentComparison, verifyCandidateExperiment, verifyCandidateExperimentComparison };
@@ -1,23 +1,23 @@
1
1
  import { a as hashCanonical } from "../canonical-BsZVgBhW.js";
2
2
  import { r as pairedBootstrap } from "../paired-tests-C8iCsioC.js";
3
- import { t as decidePairedPromotion } from "../paired-promotion-decision-6cn3bLc3.js";
4
- import { a as heldoutSignificance } from "../statistical-heldout-GcLIPxk4.js";
5
- import { n as summarizeExecution, t as analyzeRuns } from "../analyze-runs-SCSWYpy0.js";
3
+ import { t as decidePairedPromotion } from "../paired-promotion-decision-DTKl6-G8.js";
4
+ import { a as heldoutSignificance } from "../statistical-heldout-DANVmyug.js";
5
+ import { n as summarizeExecution, t as analyzeRuns } from "../analyze-runs-B6gv7vAT.js";
6
6
  import { a as parseRunRecordSafe } from "../run-record-BRlM99rX.js";
7
- import { J as runEval, R as defaultProductionGate, Y as runCampaign, a as transientDispatchFailure, c as compareOptimizationMethods, h as runImprovementLoop, t as llmJudge } from "../llm-judge-NJOHM0iA.js";
7
+ import { Z as defaultProductionGate, a as transientDispatchFailure, c as compareOptimizationMethods, ct as runCampaign, h as runImprovementLoop, st as runEval, t as llmJudge } from "../llm-judge-ChbWfeWl.js";
8
8
  import { i as isModelPriced, n as estimateCost } from "../metrics-DOMpkoeb.js";
9
9
  import { i as CostLedger } from "../cost-ledger-_IbkejCF.js";
10
- import { Y as campaignSplitDigest } from "../campaign-evidence-BqjlTM3P.js";
11
- import { m as mapConcurrentRange } from "../journal-c3qY0SDP.js";
12
- import { C as inMemoryCampaignStorage, S as fsCampaignStorage } from "../external-optimizer-subprocess-B234V9V0.js";
13
- import { n as SelfImproveRunError, r as selfImprove, t as defineAgentEval } from "../define-agent-eval-BE43YTm4.js";
10
+ import { q as campaignSplitDigest } from "../campaign-evidence-DJc60F9C.js";
11
+ import { h as mapConcurrentRange } from "../journal-DvKCvjty.js";
12
+ import { C as fsCampaignStorage, w as inMemoryCampaignStorage } from "../external-optimizer-subprocess-kbqC-iWf.js";
13
+ import { n as SelfImproveRunError, r as selfImprove, t as defineAgentEval } from "../define-agent-eval-DkPbnJEY.js";
14
14
  import { t as buildDefaultAnalystRegistry } from "../default-registry-xMLX160E.js";
15
15
  import { t as extractUsage } from "../extract-usage-DFATEuWW.js";
16
16
  import { i as makeProposalFinding } from "../types-CW5b90JH.js";
17
17
  import { t as createChatClient } from "../chat-client-B_ItsSBw.js";
18
18
  import { n as InMemoryOutcomeStore, t as FileSystemOutcomeStore } from "../outcome-store-BXlkwMPR.js";
19
- import { c as composeGate, f as REFERENCE_EQUIVALENCE_INPUT_LIMITS, h as runReferenceEquivalenceJudge, l as externalTextOptimizationMethod, m as createReferenceEquivalenceJudge, n as gepaOptimizationMethod, p as REFERENCE_EQUIVALENCE_JUDGE_VERSION, s as heldOutGate, t as skillOptOptimizationMethod } from "../skillopt-optimization-method-DwO3TOAV.js";
20
- import { n as paretoPolicy, r as paretoSignificanceGate, t as buildEvidenceVector } from "../promotion-policy-CfMNUro2.js";
19
+ import { c as composeGate, f as REFERENCE_EQUIVALENCE_INPUT_LIMITS, h as runReferenceEquivalenceJudge, l as externalTextOptimizationMethod, m as createReferenceEquivalenceJudge, n as gepaOptimizationMethod, p as REFERENCE_EQUIVALENCE_JUDGE_VERSION, s as heldOutGate, t as skillOptOptimizationMethod } from "../skillopt-optimization-method-DXQdaBjx.js";
20
+ import { n as paretoPolicy, r as paretoSignificanceGate, t as buildEvidenceVector } from "../promotion-policy-Cy5OV8BV.js";
21
21
  import { t as fromOtelSpans } from "../otel-spans-DS7t1t1J.js";
22
22
  import { createHash } from "node:crypto";
23
23
  import { agentCandidateBenchmarkSuiteSchema, agentCandidateBenchmarkTaskSchema, agentCandidateBundleSchema, agentCandidateEvaluationPolicySchema, agentCandidateExperimentSchema, agentImprovementMeasuredComparisonSchema, agentProfileImprovementExperimentSchema, agentProfileImprovementMeasuredComparisonSchema, agentProfileImprovementRunCellSchema, agentProfileImprovementRunReceiptSchema, agentProfileImprovementSuiteInputsSchema, agentProfileImprovementSuiteSchema, agentProfileImprovementTaskSchema, candidateExecutionEvidenceSchema, canonicalCandidateDigest, canonicalCandidateJson, numbersApproximatelyEqual, omitTopLevelDigest } from "@tangle-network/agent-interface";
@@ -1,8 +1,8 @@
1
1
  import { O as TraceAnalysisStore, i as AnalystFinding, n as AnalystContext } from "./types-CeDfCRXp.js";
2
2
  import { l as ExactCapableAnalyst } from "./exact-types-KGxBWH4b.js";
3
3
  import { n as AnalystRegistry, r as AnalystRegistryOptions } from "./registry-Bu3lNole.js";
4
- import { a as TraceAnalystLimits, i as TraceAnalysisEngineResult, l as RawAnalystFinding, n as TraceAnalysisEngine } from "./engine-vNiM02Ub.js";
5
- import { t as TraceToolGroupName } from "./tool-groups-D-mkeN0N.js";
4
+ import { a as TraceAnalystLimits, i as TraceAnalysisEngineResult, l as RawAnalystFinding, n as TraceAnalysisEngine } from "./engine-DjRV55F9.js";
5
+ import { t as TraceToolGroupName } from "./tool-groups-BC9O7Epn.js";
6
6
  //#region src/trace-analyst/behavioral-metrics.d.ts
7
7
  type SuboptimalCode = 'monotonic-input-growth' | 'output-length-decay' | 'single-tool-dependency' | 'no-self-verification';
8
8
  interface SuboptimalSignal {
@@ -110,4 +110,4 @@ interface DefaultAnalystRegistryOptions {
110
110
  declare function buildDefaultAnalystRegistry(options?: DefaultAnalystRegistryOptions): AnalystRegistry;
111
111
  //#endregion
112
112
  export { createTraceAnalyst as a, BehavioralAnalystOptions as c, TraceAnalystDefinition as i, behavioralAnalyst as l, buildDefaultAnalystRegistry as n, renderPriorFindings as o, CreateTraceAnalystOptions as r, runTraceAnalyst as s, DefaultAnalystRegistryOptions as t, deriveEfficiencyFindings as u };
113
- //# sourceMappingURL=default-registry-DK_9aVJf.d.ts.map
113
+ //# sourceMappingURL=default-registry-C3HTE08O.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"default-registry-DK_9aVJf.d.ts","names":[],"sources":["../src/trace-analyst/behavioral-metrics.ts","../src/analyst/behavioral-analyst.ts","../src/analyst/kind-factory.ts","../src/analyst/default-registry.ts"],"mappings":";;;;;;KAoBY;UAMK;EACf,MAAM;EACN;;EAEA;;EAEA,UAAU;;UAGK;;EAEf;EACA;;EAEA,gBAAgB;;EAEhB;EACA;EACA,eAAe;EACf;EACA;;EAEA;EACA;EACA,SAAS;;UAGM;EACf;EACA;EACA,sBAAsB;EACtB,uBAAuB;;;;UC1BR;;EAEf;;EAEA;;;;;;iBA+Dc,yBACd,SAAS,mBACT;EAAQ;EAAoB;IAC3B;;iBAkCa,kBACd,UAAS,2BACR,oBAAoB;;;;UCrHN;EACf;EACA;EACA;EACA;;EAEA,sBAAsB,SAAS;;EAE/B;;EAEA,WAAW;;EAEX,kBACE,OAAO,oBACP,SAAS,wCACe;EAC1B,SAAS,QAAQ;EACjB,eAAe,KAAK,mBAAmB,SAAS,mBAAmB;EACnE;EACA;;UAGe;EACf,QAAQ;;EAER;EACA;;;iBAIoB,gBAAgB;EACpC,YAAY;EACZ,QAAQ;EACR,OAAO;EACP,SAAS;EACT;IACE,QAAQ;;iBAgHI,mBACd,YAAY,wBACZ,SAAS,4BACR,oBAAoB;iBA2RP,oBAAoB,OAAO;;;UChc1B;;;;;;EAMf,SAAS;EACT,uBAAuB;;EAEvB;EACA,aAAa;EACb,WAAW;;iBAGG,4BACd,UAAS,gCACR"}
1
+ {"version":3,"file":"default-registry-C3HTE08O.d.ts","names":[],"sources":["../src/trace-analyst/behavioral-metrics.ts","../src/analyst/behavioral-analyst.ts","../src/analyst/kind-factory.ts","../src/analyst/default-registry.ts"],"mappings":";;;;;;KAoBY;UAMK;EACf,MAAM;EACN;;EAEA;;EAEA,UAAU;;UAGK;;EAEf;EACA;;EAEA,gBAAgB;;EAEhB;EACA;EACA,eAAe;EACf;EACA;;EAEA;EACA;EACA,SAAS;;UAGM;EACf;EACA;EACA,sBAAsB;EACtB,uBAAuB;;;;UC1BR;;EAEf;;EAEA;;;;;;iBA+Dc,yBACd,SAAS,mBACT;EAAQ;EAAoB;IAC3B;;iBAkCa,kBACd,UAAS,2BACR,oBAAoB;;;;UCrHN;EACf;EACA;EACA;EACA;;EAEA,sBAAsB,SAAS;;EAE/B;;EAEA,WAAW;;EAEX,kBACE,OAAO,oBACP,SAAS,wCACe;EAC1B,SAAS,QAAQ;EACjB,eAAe,KAAK,mBAAmB,SAAS,mBAAmB;EACnE;EACA;;UAGe;EACf,QAAQ;;EAER;EACA;;;iBAIoB,gBAAgB;EACpC,YAAY;EACZ,QAAQ;EACR,OAAO;EACP,SAAS;EACT;IACE,QAAQ;;iBAgHI,mBACd,YAAY,wBACZ,SAAS,4BACR,oBAAoB;iBA2RP,oBAAoB,OAAO;;;UChc1B;;;;;;EAMf,SAAS;EACT,uBAAuB;;EAEvB;EACA,aAAa;EACb,WAAW;;iBAGG,4BACd,UAAS,gCACR"}
@@ -1,10 +1,10 @@
1
1
  import { c as CostLedgerHandle, f as CostLedgerSummary, m as CostReceipt } from "./cost-ledger-DbQdN3nO.js";
2
2
  import { _ as ProposalFinding } from "./types-CeDfCRXp.js";
3
- import { B as PowerPreflight, ft as EvidenceReceipt, it as CampaignEvidenceContext } from "./statistical-heldout-BED3wBtX.js";
4
- import { H as SurfaceProposer, R as Scenario, S as JudgeConfig, a as CampaignResult, d as DispatchContext, j as MutableSurface, k as LabeledScenarioStore, p as Gate, v as GateResult } from "./types-BmQRs661.js";
5
- import { Ca as SearchHistoryCoverageRow, Mo as FinalEvidencePolicy, No as FinalEvidenceUse, Oo as CampaignStorage, Ta as SearchHistoryReceipt, Ti as ComparisonCost, _i as OptimizationMethodProvenance, ba as SearchHistoryAdmissionOptions, br as CampaignComparisonUnits, do as openAutoPr, ea as RunImprovementLoopResult, fi as OptimizationMethod, fo as RunEvalOptions, go as RunCampaignOptions, ho as CampaignCellRetryPolicy, lr as LoopProvenanceRecord, na as PremeasuredOptimizationBaseline, ra as RunOptimizationOptions, vi as OptimizationMethodResult } from "./index-CzfnASj_.js";
6
- import { t as EvaluationClaim } from "./claim-BGOUqoMq.js";
7
- import { r as HostedTenant } from "./client-wFyDisxi.js";
3
+ import { B as PowerPreflight, ft as EvidenceReceipt, it as CampaignEvidenceContext } from "./statistical-heldout-D-xBpbrd.js";
4
+ import { nt as EvaluationClaim } from "./search-ledger-types-B3El5xgS.js";
5
+ import { H as SurfaceProposer, R as Scenario, S as JudgeConfig, a as CampaignResult, d as DispatchContext, j as MutableSurface, k as LabeledScenarioStore, p as Gate, v as GateResult } from "./types-BWwRXofp.js";
6
+ import { Ea as RunImprovementLoopResult, Go as FinalEvidencePolicy, Ir as LoopProvenanceRecord, Ko as FinalEvidenceUse, Oa as PremeasuredOptimizationBaseline, Oo as CampaignCellRetryPolicy, Ri as OptimizationMethod, To as RunEvalOptions, Ui as OptimizationMethodProvenance, Vo as CampaignStorage, Wi as OptimizationMethodResult, Za as SearchHistoryAdmissionOptions, Zi as ComparisonCost, eo as SearchHistoryCoverageRow, ka as RunOptimizationOptions, ko as RunCampaignOptions, no as SearchHistoryReceipt, qr as CampaignComparisonUnits, wo as openAutoPr } from "./index-DMPLG226.js";
7
+ import { r as HostedTenant } from "./client-dMMKoQNS.js";
8
8
  import { d as InsightReport } from "./analyze-runs-CPiKLJFs.js";
9
9
  //#region src/campaign/presets/run-final-comparison.d.ts
10
10
  interface FinalComparisonOptions<TScenario extends Scenario, TArtifact> extends Omit<RunCampaignOptions<TScenario, TArtifact>, 'dispatch'> {
@@ -321,22 +321,13 @@ interface SelfImproveOptions<TScenario extends Scenario, TArtifact> extends Sear
321
321
  /** Static findings forwarded to the proposer's `propose()` as `ctx.findings`
322
322
  * (a findings-grounded proposer consumes them). Default: none. */
323
323
  findings?: ProposalFinding[];
324
- /** Override how the WINNER is selected among coverage-complete candidates.
325
- * Defaults to the scalar mean composite (historical behavior). A binary-with-
326
- * replicates consumer whose ship-gate counts an instance resolved only when
327
- * every replicate resolved passes a fail-closed lexicographic key here so that
328
- * winner-selection and the ship-gate rank on the identical metric and cannot
329
- * invert. See `RunOptimizationOptions.selectionRankKey`. */
330
- selectionRankKey?: RunOptimizationOptions<TScenario, TArtifact>['selectionRankKey'];
331
- /** Override which scored surface each generation MUTATES. Defaults to the
332
- * global incumbent (hill-climb; the recorded lineage is a chain). Pass
333
- * `crowdedFrontierParent({ seed })` or a custom policy to draw the parent
334
- * from the Pareto frontier; promotion still compares against the incumbent.
335
- * Proposer mode only. See `RunOptimizationOptions.selectParent`. */
336
- selectParent?: RunOptimizationOptions<TScenario, TArtifact>['selectParent'];
337
- /** Record this run's candidate search into a durable `SearchLedger` and
338
- * return the bounded receipt on `searchHistory`. See
339
- * `RunOptimizationOptions.searchLedger`. */
324
+ /** Which measured surface each proposal extends and which one the run
325
+ * keeps. Default `incumbent()`: the hill climb. Pass
326
+ * `crowdedFrontierParent({ seed })` to draw parents from the Pareto
327
+ * frontier. Proposer mode only. See `RunOptimizationOptions.policy`. */
328
+ policy?: RunOptimizationOptions<TScenario, TArtifact>['policy'];
329
+ /** Where the run's search ledger goes and the identities it records. The
330
+ * ledger is always written; see `RunOptimizationOptions.searchLedger`. */
340
331
  searchLedger?: RunOptimizationOptions<TScenario, TArtifact>['searchLedger'];
341
332
  /** Complete-method final measurement receipts; authority and environment remain caller-owned. */
342
333
  evidence?: CampaignEvidenceContext;
@@ -397,8 +388,8 @@ interface SelfImproveProposerResult<TScenario extends Scenario, TArtifact> {
397
388
  /** Run-wide receipts across proposal, search, holdout, judging, analysis,
398
389
  * and promotion work, with phase and actor attribution. */
399
390
  receipts: CostReceipt[];
400
- /** Bounded proof envelope over this run's canonical search ledger. Present
401
- * only when `searchLedger` was supplied. */
391
+ /** Bounded proof envelope over this run's search ledger: always present in
392
+ * proposer mode, and in method mode when the method recorded a search. */
402
393
  searchHistory?: SearchHistoryReceipt;
403
394
  /** Exact external method and source identity, when `method` was used. */
404
395
  optimization?: {
@@ -520,4 +511,4 @@ interface DefinedAgentEval<TScenario extends Scenario, TArtifact> {
520
511
  declare function defineAgentEval<TScenario extends Scenario, TArtifact>(defaults: DefineAgentEvalOptions<TScenario, TArtifact>): DefinedAgentEval<TScenario, TArtifact>;
521
512
  //#endregion
522
513
  export { SelfImproveMethodResult as _, DefinedAgentEval as a, SelfImproveMethodOptions as c, SelfImproveProposerOptions as d, SelfImproveProposerResult as f, SelfImproveMethodProvenance as g, selfImprove as h, DefineAgentEvalOptions as i, SelfImproveOptions as l, SelfImproveRunError as m, AgentEvalEvaluateOptions as n, defineAgentEval as o, SelfImproveResult as p, AgentEvalImproveOptions as r, SelfImproveBudget as s, AgentEvalAgent as t, SelfImproveProgressEvent as u };
523
- //# sourceMappingURL=define-agent-eval-P28y7mI1.d.ts.map
514
+ //# sourceMappingURL=define-agent-eval-DQJvVa1P.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"define-agent-eval-P28y7mI1.d.ts","names":[],"sources":["../src/campaign/presets/run-final-comparison.ts","../src/contract/self-improve-method.ts","../src/contract/self-improve.ts","../src/contract/define-agent-eval.ts"],"mappings":"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"}
1
+ {"version":3,"file":"define-agent-eval-DQJvVa1P.d.ts","names":[],"sources":["../src/campaign/presets/run-final-comparison.ts","../src/contract/self-improve-method.ts","../src/contract/self-improve.ts","../src/contract/define-agent-eval.ts"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import { s as ValidationError } from "./errors-Dngq5h35.js";
2
- import { t as analyzeRuns } from "./analyze-runs-SCSWYpy0.js";
2
+ import { t as analyzeRuns } from "./analyze-runs-B6gv7vAT.js";
3
3
  import { i as modelHasSnapshot } from "./run-record-BRlM99rX.js";
4
- import { F as runFinalComparison, G as captureFinalEvidencePolicy, I as openAutoPr, J as runEval, K as evaluationUnitMap, L as captureJudge, R as defaultProductionGate, W as assertIndependentEvaluationSplit, Z as resolveRunDir, d as combineComparisonCosts, f as costFromLedgerSummary, h as runImprovementLoop, q as reserveFinalEvidence, u as executeOptimizationMethod, w as assertSearchHistoryAdmissionOptions } from "./llm-judge-NJOHM0iA.js";
4
+ import { J as runFinalComparison, O as assertSearchHistoryAdmissionOptions, X as captureJudge, Y as openAutoPr, Z as defaultProductionGate, at as evaluationUnitMap, d as combineComparisonCosts, f as costFromLedgerSummary, h as runImprovementLoop, it as captureFinalEvidencePolicy, ot as reserveFinalEvidence, rt as assertIndependentEvaluationSplit, st as runEval, u as executeOptimizationMethod, ut as resolveRunDir } from "./llm-judge-ChbWfeWl.js";
5
5
  import { n as campaignCellToRunRecord } from "./run-record-tNnlQIrD.js";
6
- import { L as surfaceContentHash, R as surfaceDispatchRef, T as pairedCampaignComposites, Y as campaignSplitDigest, f as campaignMeasurementDigest, h as loopProvenanceArgsFromResult, k as powerPreflight, m as emitLoopProvenance, p as canonicalDigest, t as createCampaignEvidenceReceipt, z as surfaceHash } from "./campaign-evidence-BqjlTM3P.js";
7
- import { C as inMemoryCampaignStorage, S as fsCampaignStorage, x as createRunCostLedger } from "./external-optimizer-subprocess-B234V9V0.js";
6
+ import { C as pairedCampaignComposites, D as powerPreflight, F as surfaceContentHash, I as surfaceDispatchRef, L as surfaceHash, f as campaignMeasurementDigest, h as loopProvenanceArgsFromResult, m as emitLoopProvenance, p as canonicalDigest, q as campaignSplitDigest, t as createCampaignEvidenceReceipt } from "./campaign-evidence-DJc60F9C.js";
7
+ import { C as fsCampaignStorage, S as createRunCostLedger, w as inMemoryCampaignStorage } from "./external-optimizer-subprocess-kbqC-iWf.js";
8
8
  import { t as defineEvaluationClaim } from "./claim-V9Zqbq0J.js";
9
- import { i as startSearchShipper, n as shipBestEffort, o as createHostedClient, r as shipSearchLedger } from "./search-shipper-C55V7HE3.js";
9
+ import { i as startSearchShipper, n as shipBestEffort, o as createHostedClient, r as shipSearchLedger } from "./search-shipper-DUlwlCsK.js";
10
10
  import { fileURLToPath } from "node:url";
11
11
  //#region src/contract/self-improve-reporting.ts
12
12
  function pairedCompositeSummary(baseline, winner, independentUnitByScenarioId) {
@@ -332,7 +332,7 @@ function assertSelfImproveSearchMode(opts) {
332
332
  const budget = opts.budget;
333
333
  if (budget?.generations !== void 0) throw new Error("selfImprove: method owns its rounds; budget.generations applies only to proposer mode");
334
334
  if (budget?.populationSize !== void 0) throw new Error("selfImprove: method owns its candidates; budget.populationSize applies only to proposer mode");
335
- if (budget?.candidateConcurrency !== void 0 || budget?.maxImprovementShots !== void 0 || opts.analyzeGeneration !== void 0 || opts.findings !== void 0 || opts.selectParent !== void 0 || opts.premeasuredBaseline !== void 0 || opts.selectionRankKey !== void 0 || opts.searchLedger !== void 0) throw new Error("selfImprove: candidateConcurrency, maxImprovementShots, analyzeGeneration, findings, selectParent, premeasuredBaseline, selectionRankKey, and searchLedger apply only to proposer mode");
335
+ if (budget?.candidateConcurrency !== void 0 || budget?.maxImprovementShots !== void 0 || opts.analyzeGeneration !== void 0 || opts.findings !== void 0 || opts.policy !== void 0 || opts.premeasuredBaseline !== void 0 || opts.searchLedger !== void 0) throw new Error("selfImprove: candidateConcurrency, maxImprovementShots, analyzeGeneration, findings, policy, premeasuredBaseline, and searchLedger apply only to proposer mode");
336
336
  }
337
337
  function splitMethodPartitions(searchScenarios, explicitSelection, fraction, unitByScenario) {
338
338
  if (!Number.isFinite(fraction) || fraction <= 0 || fraction >= 1) throw new Error("selfImprove: budget.selectionFraction must be in (0, 1)");
@@ -543,8 +543,7 @@ async function runSelfImprove(opts, costLedger, startedAt, runDir, storage) {
543
543
  captureSource: opts.captureSource,
544
544
  analyzeGeneration: opts.analyzeGeneration,
545
545
  findings: opts.findings,
546
- selectionRankKey: opts.selectionRankKey,
547
- selectParent: opts.selectParent,
546
+ policy: opts.policy,
548
547
  searchLedger: opts.searchLedger
549
548
  }).finally(() => shipper && shipBestEffort(() => shipper.stop(), opts.searchLedger.ledger.path));
550
549
  const reportSplit = holdoutDeferred ? "search" : "holdout";
@@ -629,7 +628,7 @@ async function runSelfImprove(opts, costLedger, startedAt, runDir, storage) {
629
628
  totalCostUsd: totalCost,
630
629
  cost,
631
630
  receipts: costLedger.list(),
632
- ...result.searchHistory ? { searchHistory: result.searchHistory } : {},
631
+ searchHistory: result.searchHistory,
633
632
  insight,
634
633
  ...power ? { power } : {},
635
634
  raw: result
@@ -728,4 +727,4 @@ function requirePositiveInteger(value, field) {
728
727
  //#endregion
729
728
  export { SelfImproveRunError as n, selfImprove as r, defineAgentEval as t };
730
729
 
731
- //# sourceMappingURL=define-agent-eval-BE43YTm4.js.map
730
+ //# sourceMappingURL=define-agent-eval-DkPbnJEY.js.map