zidane 5.11.1 → 5.12.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 (87) hide show
  1. package/dist/{agent-D0W9yClt.d.ts → agent-Dt3mALPV.d.ts} +209 -30
  2. package/dist/agent-Dt3mALPV.d.ts.map +1 -0
  3. package/dist/chat/pure.d.ts +3 -3
  4. package/dist/chat.d.ts +6 -6
  5. package/dist/chat.js +2 -2
  6. package/dist/contexts/e2b.d.ts +1 -1
  7. package/dist/eval.d.ts +1 -1
  8. package/dist/eval.js +2 -2
  9. package/dist/{headless-Bb5gU8AR.js → headless-BqfIgk1W.js} +39 -16
  10. package/dist/headless-BqfIgk1W.js.map +1 -0
  11. package/dist/headless.d.ts +1 -1
  12. package/dist/headless.js +1 -1
  13. package/dist/{index-DZR99FD4.d.ts → index-BDRh3kup.d.ts} +13 -2
  14. package/dist/index-BDRh3kup.d.ts.map +1 -0
  15. package/dist/{index-D60tX5XC.d.ts → index-Do7IZGW5.d.ts} +2 -2
  16. package/dist/{index-D60tX5XC.d.ts.map → index-Do7IZGW5.d.ts.map} +1 -1
  17. package/dist/index.d.ts +5 -5
  18. package/dist/index.js +15 -12
  19. package/dist/index.js.map +1 -1
  20. package/dist/{logger-n4LsLISE.d.ts → logger-C2E41UWq.d.ts} +2 -2
  21. package/dist/{logger-n4LsLISE.d.ts.map → logger-C2E41UWq.d.ts.map} +1 -1
  22. package/dist/{login-BHhOdTp9.js → login-DRKh-Uit.js} +33 -5
  23. package/dist/login-DRKh-Uit.js.map +1 -0
  24. package/dist/{mcp-Cy9mgCcr.js → mcp-CKlcFeLQ.js} +140 -13
  25. package/dist/mcp-CKlcFeLQ.js.map +1 -0
  26. package/dist/mcp.d.ts +1 -1
  27. package/dist/mcp.js +1 -1
  28. package/dist/media-sniff-Bn76JxAu.js +216 -0
  29. package/dist/media-sniff-Bn76JxAu.js.map +1 -0
  30. package/dist/{messages-RPKrEPvH.js → messages-DOKdwQBD.js} +538 -53
  31. package/dist/messages-DOKdwQBD.js.map +1 -0
  32. package/dist/output/stream-json.d.ts +2 -2
  33. package/dist/output/stream-json.js +1 -1
  34. package/dist/output/terminal.d.ts +2 -2
  35. package/dist/{presets-D5ibZTml.js → presets-DErpoTHg.js} +2 -2
  36. package/dist/{presets-D5ibZTml.js.map → presets-DErpoTHg.js.map} +1 -1
  37. package/dist/presets.d.ts +2 -2
  38. package/dist/presets.js +1 -1
  39. package/dist/{providers-C2cxujp_.js → providers-BOEzzCRs.js} +54 -21
  40. package/dist/providers-BOEzzCRs.js.map +1 -0
  41. package/dist/providers.d.ts +1 -1
  42. package/dist/providers.js +2 -2
  43. package/dist/{read-state-BFqpQRc5.js → read-state-DH2IuQHX.js} +2 -2
  44. package/dist/{read-state-BFqpQRc5.js.map → read-state-DH2IuQHX.js.map} +1 -1
  45. package/dist/restate.d.ts +1 -1
  46. package/dist/restate.js +1 -1
  47. package/dist/session/sqlite.d.ts +1 -1
  48. package/dist/{session-Do_TQV7c.js → session-W5_HQYU8.js} +2 -2
  49. package/dist/{session-Do_TQV7c.js.map → session-W5_HQYU8.js.map} +1 -1
  50. package/dist/session.d.ts +1 -1
  51. package/dist/session.js +2 -2
  52. package/dist/skills.d.ts +2 -2
  53. package/dist/{tool-formatters-RT5-gyE2.d.ts → tool-formatters-COmtAwgF.d.ts} +2 -2
  54. package/dist/{tool-formatters-RT5-gyE2.d.ts.map → tool-formatters-COmtAwgF.d.ts.map} +1 -1
  55. package/dist/tools/fetch-url.d.ts +1 -1
  56. package/dist/tools/web-search.d.ts +1 -1
  57. package/dist/{tools-ZHKOh44k.js → tools-CVFNtlyc.js} +48 -101
  58. package/dist/tools-CVFNtlyc.js.map +1 -0
  59. package/dist/tools.d.ts +2 -2
  60. package/dist/tools.js +2 -2
  61. package/dist/{transcript-anchors-CS46ul6X.js → transcript-anchors-BftfURAc.js} +125 -16
  62. package/dist/transcript-anchors-BftfURAc.js.map +1 -0
  63. package/dist/{transcript-anchors-B4FxkG-8.d.ts → transcript-anchors-DLa8m9_E.d.ts} +4 -4
  64. package/dist/{transcript-anchors-B4FxkG-8.d.ts.map → transcript-anchors-DLa8m9_E.d.ts.map} +1 -1
  65. package/dist/tui.d.ts +3 -3
  66. package/dist/tui.d.ts.map +1 -1
  67. package/dist/tui.js +9 -9
  68. package/dist/tui.js.map +1 -1
  69. package/dist/{turn-operations-CoRj3mYZ.d.ts → turn-operations-ifKg5muR.d.ts} +3 -3
  70. package/dist/{turn-operations-CoRj3mYZ.d.ts.map → turn-operations-ifKg5muR.d.ts.map} +1 -1
  71. package/dist/{types-BiobHM1D.js → types-DxHDaqN7.js} +23 -6
  72. package/dist/{types-BiobHM1D.js.map → types-DxHDaqN7.js.map} +1 -1
  73. package/dist/types.d.ts +3 -3
  74. package/dist/types.js +1 -1
  75. package/docs/RESTATE.md +25 -0
  76. package/package.json +2 -1
  77. package/dist/agent-D0W9yClt.d.ts.map +0 -1
  78. package/dist/headless-Bb5gU8AR.js.map +0 -1
  79. package/dist/image-sniff-B7uFSNO1.js +0 -90
  80. package/dist/image-sniff-B7uFSNO1.js.map +0 -1
  81. package/dist/index-DZR99FD4.d.ts.map +0 -1
  82. package/dist/login-BHhOdTp9.js.map +0 -1
  83. package/dist/mcp-Cy9mgCcr.js.map +0 -1
  84. package/dist/messages-RPKrEPvH.js.map +0 -1
  85. package/dist/providers-C2cxujp_.js.map +0 -1
  86. package/dist/tools-ZHKOh44k.js.map +0 -1
  87. package/dist/transcript-anchors-CS46ul6X.js.map +0 -1
package/dist/eval.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { r as createProcessContext } from "./contexts-DglWSzmR.js";
2
2
  import { t as alwaysQuote } from "./shell-quote-BmnhZmdM.js";
3
- import { a as headlessEventToJsonl, c as runHeadless } from "./headless-Bb5gU8AR.js";
4
- import { a as createMemoryStore, t as createSession } from "./session-Do_TQV7c.js";
3
+ import { a as headlessEventToJsonl, c as runHeadless } from "./headless-BqfIgk1W.js";
4
+ import { a as createMemoryStore, t as createSession } from "./session-W5_HQYU8.js";
5
5
  import { join, relative, resolve } from "node:path";
6
6
  import { tmpdir } from "node:os";
7
7
  import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises";
@@ -1,10 +1,11 @@
1
- import { d as createAgent } from "./tools-ZHKOh44k.js";
2
- import { f as toAnthropic, s as ensureToolResultPairing } from "./messages-RPKrEPvH.js";
3
- import { a as toolResultToText, n as documentBlockMarker } from "./types-BiobHM1D.js";
1
+ import { d as createAgent } from "./tools-CVFNtlyc.js";
2
+ import { p as toAnthropic, s as ensureToolResultPairing } from "./messages-DOKdwQBD.js";
3
+ import { t as audioFormatFromMediaType } from "./media-sniff-Bn76JxAu.js";
4
+ import { n as assertResolvedMediaBlock, o as toolResultToText, r as documentBlockMarker } from "./types-DxHDaqN7.js";
4
5
  import { r as createProcessContext } from "./contexts-DglWSzmR.js";
5
6
  import { i as statsByModel } from "./stats-DAKBEKjc.js";
6
- import { i as basic_default } from "./presets-D5ibZTml.js";
7
- import { a as createMemoryStore, t as createSession } from "./session-Do_TQV7c.js";
7
+ import { i as basic_default } from "./presets-DErpoTHg.js";
8
+ import { a as createMemoryStore, t as createSession } from "./session-W5_HQYU8.js";
8
9
  //#region src/run-summary.ts
9
10
  /**
10
11
  * Build a run-summary collector. State is created fresh inside each
@@ -479,12 +480,27 @@ function textOf(content) {
479
480
  }
480
481
  function contentPartsFromBlocks(content) {
481
482
  const parts = [];
482
- for (const block of content) if (block.type === "image") parts.push(toOpenAIImagePart(block));
483
- else if (block.type === "document") parts.push({
484
- type: "text",
485
- text: documentMarker(block)
483
+ for (const block of content) if (block.type === "image") {
484
+ assertResolvedMediaBlock(block, "OpenAI transcript messages");
485
+ parts.push(toOpenAIImagePart(block));
486
+ } else if (block.type === "audio") parts.push({
487
+ type: "input_audio",
488
+ input_audio: {
489
+ data: block.data,
490
+ format: audioFormatFromMediaType(block.mediaType)
491
+ }
486
492
  });
487
- else if (block.type === "text" && block.text.length > 0) parts.push({
493
+ else if (block.type === "video") parts.push({
494
+ type: "video_url",
495
+ video_url: { url: `data:${block.mediaType};base64,${block.data}` }
496
+ });
497
+ else if (block.type === "document") {
498
+ assertResolvedMediaBlock(block, "OpenAI transcript messages");
499
+ parts.push({
500
+ type: "text",
501
+ text: documentMarker(block)
502
+ });
503
+ } else if (block.type === "text" && block.text.length > 0) parts.push({
488
504
  type: "text",
489
505
  text: block.text
490
506
  });
@@ -508,11 +524,18 @@ function summarizeToolResultForOpenAI(output) {
508
524
  const texts = [];
509
525
  const images = [];
510
526
  for (const block of output) if (block.type === "text") texts.push(block.text);
511
- else if (block.type === "image") images.push({
512
- mediaType: block.mediaType,
513
- data: block.data
514
- });
515
- else texts.push(documentMarker(block));
527
+ else if (block.type === "image") {
528
+ assertResolvedMediaBlock(block, "OpenAI transcript messages");
529
+ images.push({
530
+ mediaType: block.mediaType,
531
+ data: block.data
532
+ });
533
+ } else if (block.type === "audio") texts.push(`[audio: ${block.mediaType}]`);
534
+ else if (block.type === "video") texts.push(`[video: ${block.mediaType}]`);
535
+ else {
536
+ assertResolvedMediaBlock(block, "OpenAI transcript messages");
537
+ texts.push(documentMarker(block));
538
+ }
516
539
  return {
517
540
  text: texts.join("\n"),
518
541
  images
@@ -630,4 +653,4 @@ function installHeadlessEventAdapter(hooks, onEvent) {
630
653
  //#endregion
631
654
  export { headlessEventToJsonl as a, runHeadless as c, createRunSummaryCollector as d, formattedHeadlessTurnEventToJsonl as i, transcriptToOpenAIMessages as l, formatHeadlessResult as n, installHeadlessEventAdapter as o, formatHeadlessTurnEvent as r, providerTranscriptFormatForProvider as s, exitCodeForHeadlessResult as t, transcriptToProviderMessages as u };
632
655
 
633
- //# sourceMappingURL=headless-Bb5gU8AR.js.map
656
+ //# sourceMappingURL=headless-BqfIgk1W.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headless-BqfIgk1W.js","names":["basic"],"sources":["../src/run-summary.ts","../src/headless.ts"],"sourcesContent":["/**\n * Run summary collector — one JSON postmortem per `agent.run()`.\n *\n * `AgentStats` is great for billing and per-turn accounting but doesn't\n * carry a record of the *interesting* events that happened during a run\n * (errors, gate blocks, validation rejects, budget hits, MCP failures).\n * Reconstructing that from a hook stream after the fact is exactly the\n * kind of plumbing every consumer ends up re-implementing.\n *\n * This module ships:\n *\n * - {@link RunSummary} — a serializable shape that bundles totals,\n * per-model breakdown, and all the per-run incident lists.\n * - {@link createRunSummaryCollector} — installs hook listeners that\n * build up a {@link RunSummary} during the run and surfaces it on\n * `agent:done`. Calls an optional `onSummary` callback so the host can\n * forward to a log aggregator / DB / postmortem dashboard without\n * touching `agent.run()`'s return value.\n *\n * The collector is purely additive — it doesn't touch the agent loop,\n * doesn't change return shapes, and doesn't suppress any other hook\n * handlers. Drop it in alongside tracing / metrics / logging or use it\n * standalone when you only need the summary.\n */\n\nimport type { Hookable } from 'hookable'\nimport type { AgentHooks } from './agent'\nimport type { AgentStats } from './types'\nimport { statsByModel } from './stats'\n\n// ---------------------------------------------------------------------------\n// Public shape\n// ---------------------------------------------------------------------------\n\nexport interface RunSummaryTokens {\n input: number\n output: number\n cacheRead: number\n cacheCreation: number\n cost?: number\n /** First observable byte from the provider, ms from run start. */\n ttftMs?: number\n}\n\nexport interface RunSummaryByModel {\n modelId: string\n input: number\n output: number\n cacheRead: number\n cacheCreation: number\n cost: number\n turns: number\n}\n\nexport interface RunSummaryError {\n kind: 'stream' | 'tool' | 'mcp-tool' | 'mcp' | 'spawn'\n message: string\n errorType?: string\n turnId?: string\n callId?: string\n server?: string\n toolName?: string\n childId?: string\n statusCode?: number\n requestId?: string\n}\n\nexport interface RunSummaryBlock {\n callId: string\n toolName: string\n outcome: 'gate-block' | 'unknown' | 'invalid-input'\n reason?: string\n}\n\nexport interface RunSummaryValidation {\n callId: string\n toolName: string\n reason: string\n}\n\nexport interface RunSummaryBudget {\n kind: 'bytes' | 'tool-count'\n /** Tool name (for `'tool-count'`); absent for byte budgets. */\n toolName?: string\n /** `mode` for `'tool-count'`; absent for byte budgets. */\n mode?: 'steer' | 'block'\n observed: number\n limit: number\n turnId?: string\n}\n\nexport interface RunSummaryRepeatGuard {\n toolName: string\n /** Consecutive identical calls including the one that tripped the guard. */\n count: number\n threshold: number\n action: 'block' | 'abort'\n turnId?: string\n}\n\n/**\n * Postmortem snapshot of one `agent.run()`. Strictly serializable — every\n * field round-trips through `JSON.stringify` / `JSON.parse` without loss\n * so a log aggregator can ingest it as-is.\n */\nexport interface RunSummary {\n runId?: string\n parentRunId?: string\n depth: number\n agentName?: string\n startedAt: number\n endedAt: number\n durationMs: number\n status: 'completed' | 'aborted'\n turns: number\n totals: RunSummaryTokens\n byModel: RunSummaryByModel[]\n errors: RunSummaryError[]\n blocks: RunSummaryBlock[]\n validationRejects: RunSummaryValidation[]\n budgetEvents: RunSummaryBudget[]\n /**\n * Consecutive-identical repeat-guard escalations. An `action: 'abort'`\n * entry means the guard terminated the run via the agent's\n * `AbortController` (the run finalizes as `'aborted'`).\n */\n repeatGuardEvents: RunSummaryRepeatGuard[]\n /** Counts of pairing repairs, keyed by repair mode. */\n pairingRepairs: Record<string, number>\n /**\n * Postmortem snapshots of child runs that bubbled their stats up via\n * `spawn:complete`. Only present when the run actually spawned.\n */\n children?: RunSummary[]\n}\n\n// ---------------------------------------------------------------------------\n// Collector\n// ---------------------------------------------------------------------------\n\nexport interface RunSummaryCollectorOptions {\n /**\n * Called with the assembled {@link RunSummary} on every `agent:done`.\n * Synchronous — heavy I/O should be deferred (e.g. via `setImmediate`).\n */\n onSummary?: (summary: RunSummary) => void\n}\n\nexport interface RunSummaryCollector {\n /** Install the collector's hook handlers. Returns an uninstall fn. */\n install: (hooks: Hookable<AgentHooks>) => () => void\n /** Most-recent summary; `undefined` until the first `agent:done` fires. */\n latest: () => RunSummary | undefined\n}\n\n/**\n * Build a run-summary collector. State is created fresh inside each\n * `install()` call, so a single collector instance can be installed\n * across multiple agents without attribution cross-talk. `latest()`\n * returns the most-recent summary across **any** install — install\n * per-agent collectors if you need separate post-run snapshots.\n *\n * @example\n * ```ts\n * const collector = createRunSummaryCollector({\n * onSummary: s => console.log(JSON.stringify(s)),\n * })\n * const uninstall = collector.install(agent.hooks)\n * try { await agent.run({ prompt }) }\n * finally { uninstall() }\n * ```\n */\nexport function createRunSummaryCollector(\n options: RunSummaryCollectorOptions = {},\n): RunSummaryCollector {\n let last: RunSummary | undefined\n\n return {\n latest: () => last,\n install(hooks: Hookable<AgentHooks>): () => void {\n // Per-run in-progress accumulators. The hookable bus serializes\n // agent.run lifecycles per agent — we reset between runs on\n // `agent:start` and consume on `agent:done`.\n let runId: string | undefined\n let parentRunId: string | undefined\n let depth = 0\n let agentName: string | undefined\n let startedAt = Date.now()\n let aborted = false\n const errors: RunSummaryError[] = []\n const blocks: RunSummaryBlock[] = []\n const validationRejects: RunSummaryValidation[] = []\n const budgetEvents: RunSummaryBudget[] = []\n const repeatGuardEvents: RunSummaryRepeatGuard[] = []\n const pairingRepairs: Record<string, number> = {}\n const children: RunSummary[] = []\n\n function resetForNewRun(): void {\n aborted = false\n errors.length = 0\n blocks.length = 0\n validationRejects.length = 0\n budgetEvents.length = 0\n repeatGuardEvents.length = 0\n for (const k of Object.keys(pairingRepairs))\n delete pairingRepairs[k]\n children.length = 0\n }\n\n const unregisters: Array<() => void> = []\n\n unregisters.push(hooks.hook('agent:start', (ctx) => {\n resetForNewRun()\n runId = ctx.runId\n parentRunId = ctx.parentRunId\n depth = ctx.depth\n agentName = ctx.agentName\n startedAt = ctx.startedAt\n }))\n\n unregisters.push(hooks.hook('agent:abort', () => {\n aborted = true\n }))\n\n unregisters.push(hooks.hook('stream:error', (ctx) => {\n const msg = ctx.err instanceof Error ? ctx.err.message : String(ctx.err)\n const errorType = ctx.err instanceof Error ? ctx.err.name : 'unknown'\n errors.push({\n kind: 'stream',\n message: msg,\n errorType,\n turnId: ctx.turnId,\n ...(ctx.statusCode !== undefined ? { statusCode: ctx.statusCode } : {}),\n ...(ctx.requestId !== undefined ? { requestId: ctx.requestId } : {}),\n })\n }))\n\n unregisters.push(hooks.hook('tool:error', (ctx) => {\n errors.push({\n kind: 'tool',\n message: ctx.error.message,\n errorType: ctx.error.name,\n turnId: ctx.turnId,\n callId: ctx.callId,\n toolName: ctx.name,\n })\n }))\n\n unregisters.push(hooks.hook('mcp:tool:error', (ctx) => {\n errors.push({\n kind: 'mcp-tool',\n message: ctx.error.message,\n errorType: ctx.error.name,\n turnId: ctx.turnId,\n callId: ctx.callId,\n server: ctx.server,\n toolName: ctx.displayName,\n })\n }))\n\n unregisters.push(hooks.hook('mcp:error', (ctx) => {\n errors.push({\n kind: 'mcp',\n message: ctx.error.message,\n errorType: ctx.error.name,\n server: ctx.name,\n })\n }))\n\n unregisters.push(hooks.hook('spawn:error', (ctx) => {\n errors.push({\n kind: 'spawn',\n message: ctx.error.message,\n errorType: ctx.error.name,\n childId: ctx.id,\n })\n }))\n\n unregisters.push(hooks.hook('tool:dispatched', (ctx) => {\n if (ctx.outcome === 'gate-block' || ctx.outcome === 'unknown' || ctx.outcome === 'invalid-input') {\n blocks.push({\n callId: ctx.callId,\n toolName: ctx.name,\n outcome: ctx.outcome,\n ...(ctx.reason ? { reason: ctx.reason } : {}),\n })\n }\n }))\n\n unregisters.push(hooks.hook('validation:reject', (ctx) => {\n validationRejects.push({\n callId: ctx.callId,\n toolName: ctx.name,\n reason: ctx.reason,\n })\n }))\n\n unregisters.push(hooks.hook('budget:exceeded', (ctx) => {\n budgetEvents.push({\n kind: 'bytes',\n observed: ctx.bytes,\n limit: ctx.budget,\n turnId: ctx.turnId,\n })\n }))\n\n unregisters.push(hooks.hook('tool-budget:exceeded', (ctx) => {\n budgetEvents.push({\n kind: 'tool-count',\n toolName: ctx.tool,\n mode: ctx.mode,\n observed: ctx.count,\n limit: ctx.max,\n turnId: ctx.turnId,\n })\n }))\n\n unregisters.push(hooks.hook('repeat-guard:exceeded', (ctx) => {\n repeatGuardEvents.push({\n toolName: ctx.tool,\n count: ctx.count,\n threshold: ctx.threshold,\n action: ctx.action,\n turnId: ctx.turnId,\n })\n }))\n\n unregisters.push(hooks.hook('pairing:repair', (ctx) => {\n pairingRepairs[ctx.mode] = (pairingRepairs[ctx.mode] ?? 0) + 1\n }))\n\n unregisters.push(hooks.hook('agent:done', (stats) => {\n const endedAt = Date.now()\n\n // Build per-model rollup via the existing `statsByModel` helper\n // so we stay in lockstep with how the rest of the harness\n // attributes cost and tokens by model id.\n const byModel: RunSummaryByModel[] = []\n for (const [modelId, usage] of statsByModel(stats)) {\n byModel.push({\n modelId,\n input: usage.input,\n output: usage.output,\n cacheRead: usage.cacheRead,\n cacheCreation: usage.cacheCreation,\n cost: usage.cost,\n turns: usage.turns,\n })\n }\n\n // Flatten child stats into nested summaries. We don't have the\n // child's full event lists here (those landed on the child's\n // own hooks), so the nested entry is a minimal totals-only\n // record — enough for a flat per-run audit trail; consumers\n // wanting full per-child event lists install a collector on\n // each subagent.\n for (const c of stats.children ?? []) {\n children.push(minimalSummaryFromStats(c.stats, {\n depth: c.depth ?? depth + 1,\n status: c.status === 'aborted' ? 'aborted' : 'completed',\n }))\n }\n\n const summary: RunSummary = {\n ...(runId ? { runId } : {}),\n ...(parentRunId ? { parentRunId } : {}),\n depth,\n ...(agentName ? { agentName } : {}),\n startedAt,\n endedAt,\n durationMs: endedAt - startedAt,\n status: aborted ? 'aborted' : 'completed',\n turns: stats.turns,\n totals: buildTotals(stats),\n byModel,\n errors: errors.slice(),\n blocks: blocks.slice(),\n validationRejects: validationRejects.slice(),\n budgetEvents: budgetEvents.slice(),\n repeatGuardEvents: repeatGuardEvents.slice(),\n pairingRepairs: { ...pairingRepairs },\n ...(children.length > 0 ? { children: children.slice() } : {}),\n }\n\n last = summary\n try {\n options.onSummary?.(summary)\n }\n catch {\n // Sink errors are not the collector's concern.\n }\n }))\n\n let disposed = false\n return function uninstall() {\n if (disposed)\n return\n disposed = true\n for (const un of unregisters) {\n try {\n un()\n }\n catch { /* ignore */ }\n }\n }\n },\n }\n}\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction buildTotals(stats: AgentStats): RunSummaryTokens {\n return {\n input: stats.totalIn,\n output: stats.totalOut,\n cacheRead: stats.totalCacheRead,\n cacheCreation: stats.totalCacheCreation,\n ...(typeof stats.cost === 'number' ? { cost: stats.cost } : {}),\n ...(typeof stats.timeTillFirstTokenMs === 'number' ? { ttftMs: stats.timeTillFirstTokenMs } : {}),\n }\n}\n\nfunction minimalSummaryFromStats(\n stats: AgentStats,\n meta: { depth: number, status: 'completed' | 'aborted' },\n): RunSummary {\n const byModel: RunSummaryByModel[] = []\n for (const [modelId, usage] of statsByModel(stats)) {\n byModel.push({\n modelId,\n input: usage.input,\n output: usage.output,\n cacheRead: usage.cacheRead,\n cacheCreation: usage.cacheCreation,\n cost: usage.cost,\n turns: usage.turns,\n })\n }\n const children: RunSummary[] = []\n for (const c of stats.children ?? []) {\n children.push(minimalSummaryFromStats(c.stats, {\n depth: c.depth ?? meta.depth + 1,\n status: c.status === 'aborted' ? 'aborted' : 'completed',\n }))\n }\n return {\n depth: meta.depth,\n startedAt: 0,\n endedAt: 0,\n durationMs: stats.elapsed,\n status: meta.status,\n turns: stats.turns,\n totals: buildTotals(stats),\n byModel,\n errors: [],\n blocks: [],\n validationRejects: [],\n budgetEvents: [],\n repeatGuardEvents: [],\n pairingRepairs: {},\n ...(children.length > 0 ? { children } : {}),\n }\n}\n","/**\n * Headless mode — a non-interactive, fully-structured way to drive the agent\n * for automation and RL rollouts.\n *\n * `agent.run()` already returns rich {@link AgentStats}, the session captures a\n * lossless transcript (`session.turns`), and the hook bus exposes every\n * streaming/tool/turn event. What this module adds is the *contract* an RL loop\n * needs: one call (`runHeadless`) that runs a prompt to completion in a chosen\n * workdir, bounded by turns + wall-clock, and hands back a single serializable\n * {@link HeadlessResult} — final answer, verifiable structured output, usage,\n * and the complete trajectory — plus an optional live {@link HeadlessEvent}\n * stream (the in-process equivalent of `--output-format stream-json`).\n *\n * It is provider-agnostic: the caller passes a built {@link Provider} (e.g.\n * `local()` pointed at a vLLM server, or any of the named providers). The thin\n * CLI in `src/headless-cli.ts` wraps this with arg parsing, file/stdin I/O, and\n * JSONL transcript writing.\n */\n\nimport type { Hookable } from 'hookable'\nimport type { AgentHooks, AgentOptions } from './agent'\nimport type { ExecutionContext } from './contexts'\nimport type { Provider } from './providers'\nimport type { RunSummary } from './run-summary'\nimport type { Session, SessionStore } from './session'\nimport type { PairingRepair } from './session/messages'\nimport type { ToolDef } from './tools'\nimport type {\n AgentStats,\n McpServerConfig,\n PromptPart,\n SessionContentBlock,\n SessionTurn,\n ThinkingLevel,\n ToolResultContent,\n ToolResultDocumentContent,\n TurnFinishReason,\n} from './types'\nimport { createAgent } from './agent'\nimport { createProcessContext } from './contexts'\nimport { basic } from './presets'\nimport { createRunSummaryCollector } from './run-summary'\nimport { createMemoryStore, createSession, toAnthropic } from './session'\nimport { ensureToolResultPairing } from './session/messages'\nimport { audioFormatFromMediaType } from './tools/media-sniff'\nimport { assertResolvedMediaBlock, documentBlockMarker, toolResultToText } from './types'\n\n// ---------------------------------------------------------------------------\n// Public shapes\n// ---------------------------------------------------------------------------\n\nexport type HeadlessStatus = 'completed' | 'aborted' | 'error' | 'timeout'\n\nexport interface HeadlessUsage {\n input: number\n output: number\n cacheRead: number\n cacheCreation: number\n /** Cumulative USD cost when the provider/registry could price the run. */\n cost?: number\n}\n\nexport interface HeadlessErrorInfo {\n message: string\n /** Typed-error class name (`AgentAbortedError`, `AgentContextExceededError`, …). */\n type: string\n}\n\n/**\n * Strictly JSON-serializable postmortem of one headless run. Everything an RL\n * reward function needs: the final answer (`finalText`), the verifiable\n * structured output (`output`, present iff a `schema` was set), usage/turns,\n * and the lossless `transcript` (the SFT training data).\n */\nexport interface HeadlessResult {\n status: HeadlessStatus\n /** Concatenated text of the last assistant turn that produced any text. */\n finalText: string\n /** Schema-enforced structured output (only when `opts.schema` is set). */\n output?: Record<string, unknown>\n usage: HeadlessUsage\n turns: number\n durationMs: number\n /** Total `tool_call` blocks across the whole transcript. */\n numToolCalls: number\n /** Finish reason of the final turn that reported one. */\n finishReason?: TurnFinishReason\n error?: HeadlessErrorInfo\n sessionId: string\n /** Incident postmortem (errors, gate blocks, budget events) via run-summary. */\n summary?: RunSummary\n /** Lossless transcript — raw `session.turns`. Thinking stripped when `includeThinking: false`. */\n transcript: SessionTurn[]\n}\n\nexport type HeadlessOutputFormat = 'zidane' | 'provider'\n\nexport type ProviderTranscriptFormat = 'anthropic' | 'openai'\n\nexport type FormattedHeadlessResult\n = | HeadlessResult\n | unknown[]\n\nexport type FormattedHeadlessTurnEvent\n = | Extract<HeadlessEvent, { type: 'turn' }>\n | unknown[]\n\nexport function exitCodeForHeadlessResult(result: HeadlessResult): number {\n switch (result.status) {\n case 'completed': return 0\n case 'timeout': return 124\n case 'aborted': return 130\n case 'error':\n default: return 1\n }\n}\n\n/**\n * Live event union — the in-process equivalent of a `stream-json` line. Every\n * member is JSON-serializable; render to JSONL with {@link headlessEventToJsonl}.\n */\nexport type HeadlessEvent\n = | { type: 'start', runId: string, provider?: string }\n | { type: 'text', delta: string }\n | { type: 'thinking', delta: string }\n | { type: 'tool_call', callId: string, name: string, input: Record<string, unknown> }\n | { type: 'tool_result', callId: string, name: string, output: string, isError: boolean }\n | { type: 'turn', index: number, turn: SessionTurn }\n | { type: 'spawn', event: 'before' | 'complete' | 'error', id: string, info?: Record<string, unknown> }\n | { type: 'error', message: string, errorType?: string }\n | { type: 'result', result: HeadlessResult }\n\n/** Serialize one event as a newline-terminated JSON line (stream-json). */\nexport function headlessEventToJsonl(event: HeadlessEvent): string {\n return `${JSON.stringify(event)}\\n`\n}\n\nexport function formattedHeadlessTurnEventToJsonl(event: FormattedHeadlessTurnEvent): string {\n return `${JSON.stringify(event)}\\n`\n}\n\nexport function providerTranscriptFormatForProvider(providerName: string): ProviderTranscriptFormat {\n return providerName === 'anthropic' ? 'anthropic' : 'openai'\n}\n\nexport function transcriptToProviderMessages(\n turns: SessionTurn[],\n providerName: string,\n): unknown[] {\n const format = providerTranscriptFormatForProvider(providerName)\n if (format === 'anthropic') {\n return turns\n .filter((turn): turn is SessionTurn & { role: 'user' | 'assistant' } => turn.role === 'user' || turn.role === 'assistant')\n .map(turn => toAnthropic({ role: turn.role, content: turn.content }))\n }\n return transcriptToOpenAIMessages(turns, { strictToolPairing: false })\n}\n\nexport function formatHeadlessResult(\n result: HeadlessResult,\n options: { format: HeadlessOutputFormat, providerName: string },\n): FormattedHeadlessResult {\n if (options.format === 'zidane')\n return result\n return transcriptToProviderMessages(result.transcript, options.providerName)\n}\n\nexport function formatHeadlessTurnEvent(\n event: Extract<HeadlessEvent, { type: 'turn' }>,\n options: { format: HeadlessOutputFormat, providerName: string },\n): FormattedHeadlessTurnEvent {\n if (options.format === 'zidane')\n return event\n return transcriptToProviderMessages([event.turn], options.providerName)\n}\n\nexport interface HeadlessOptions {\n /** User prompt — plain string or multimodal `PromptPart[]`. */\n prompt: string | PromptPart[]\n /** Built provider (e.g. `local()`, `openaiCompat(...)`, `anthropic(...)`). */\n provider: Provider\n model?: string\n /** Override the preset system prompt for this run. */\n system?: string\n thinking?: ThinkingLevel\n maxTurns?: number\n maxTokens?: number\n /** Wall-clock cap; on expiry the run is aborted and `status` becomes `'timeout'`. */\n timeoutMs?: number\n /** External abort signal — chained with the internal timeout controller. */\n signal?: AbortSignal\n /** JSON Schema for structured-output enforcement → populates `result.output`. */\n schema?: Record<string, unknown>\n /** Agent behavior defaults for this headless run. Top-level shortcuts below override matching fields. */\n behavior?: AgentOptions['behavior']\n /** Tool overrides. Omit to use the basic preset's tools. */\n tools?: Record<string, ToolDef>\n mcpServers?: McpServerConfig[]\n skills?: AgentOptions['skills']\n /** Execution context. Defaults to a process context rooted at `cwd`. */\n execution?: ExecutionContext\n /** Working directory for the default process context (ignored if `execution` is set). */\n cwd?: string\n /** Reuse / resume an existing session. */\n session?: Session\n /** Session store for a fresh session (defaults to an in-memory store). */\n store?: SessionStore\n /** Keep `thinking` blocks in `result.transcript` (default true). */\n includeThinking?: boolean\n /** Live event callback — the in-process stream-json equivalent. */\n onEvent?: (event: HeadlessEvent) => void\n}\n\n// ---------------------------------------------------------------------------\n// runHeadless\n// ---------------------------------------------------------------------------\n\n/**\n * Run a prompt to completion, headless, and return a single serializable\n * {@link HeadlessResult}. Safe to call concurrently for parallel rollouts —\n * each call builds its own agent + session and tears them down in `finally`.\n */\nexport async function runHeadless(opts: HeadlessOptions): Promise<HeadlessResult> {\n const startedAt = Date.now()\n const execution = opts.execution ?? createProcessContext({ cwd: opts.cwd })\n const session = opts.session ?? await createSession({ store: opts.store ?? createMemoryStore() })\n\n const behavior: NonNullable<AgentOptions['behavior']> = { ...(opts.behavior ?? {}) }\n if (opts.maxTurns !== undefined)\n behavior.maxTurns = opts.maxTurns\n if (opts.maxTokens !== undefined)\n behavior.maxTokens = opts.maxTokens\n if (opts.schema !== undefined)\n behavior.schema = opts.schema\n\n const agent = createAgent({\n ...basic,\n provider: opts.provider,\n execution,\n session,\n behavior,\n ...(opts.tools !== undefined ? { tools: opts.tools } : {}),\n ...(opts.mcpServers !== undefined ? { mcpServers: opts.mcpServers } : {}),\n ...(opts.skills !== undefined ? { skills: opts.skills } : {}),\n })\n\n const collector = createRunSummaryCollector()\n const uninstallSummary = collector.install(agent.hooks)\n const uninstallEvents = opts.onEvent ? installHeadlessEventAdapter(agent.hooks, opts.onEvent) : noop\n\n // Resumed sessions carry turns from prior runs — remember where this run\n // starts so transcript/finalText/numToolCalls stay per-run, matching the\n // per-run usage/turns/durationMs stats.\n const runStartIndex = session.turns.length\n\n // Internal controller drives the wall-clock timeout and chains any external\n // signal so a host cancel and a timeout both abort the same run. The\n // listener is removed in `finally` — a long-lived host signal must not\n // accumulate one listener per rollout.\n const controller = new AbortController()\n const onExternalAbort = (): void => controller.abort(opts.signal!.reason)\n if (opts.signal) {\n if (opts.signal.aborted)\n controller.abort(opts.signal.reason)\n else\n opts.signal.addEventListener('abort', onExternalAbort, { once: true })\n }\n let timedOut = false\n const timer = opts.timeoutMs && opts.timeoutMs > 0\n ? setTimeout(() => {\n timedOut = true\n controller.abort(new Error(`Headless run timed out after ${opts.timeoutMs}ms`))\n }, opts.timeoutMs)\n : undefined\n\n let stats: AgentStats | undefined\n let error: HeadlessErrorInfo | undefined\n\n try {\n stats = await agent.run({\n prompt: opts.prompt,\n signal: controller.signal,\n ...(opts.model !== undefined ? { model: opts.model } : {}),\n ...(opts.system !== undefined ? { system: opts.system } : {}),\n ...(opts.thinking !== undefined ? { thinking: opts.thinking } : {}),\n })\n }\n catch (err) {\n // The agent loop throws typed errors (AgentAbortedError,\n // AgentContextExceededError, AgentProviderError, …) — their `name` already\n // classifies the failure, so surface it directly.\n const e = err instanceof Error ? err : new Error(String(err))\n error = { message: e.message, type: e.name }\n }\n finally {\n if (timer)\n clearTimeout(timer)\n opts.signal?.removeEventListener('abort', onExternalAbort)\n uninstallEvents()\n uninstallSummary()\n await agent.destroy()\n }\n\n // Status: a thrown error wins, but an abort/timeout can also surface as a\n // clean resolve (the loop returns partial stats), so check the signal too.\n let status: HeadlessStatus\n if (error)\n status = timedOut ? 'timeout' : controller.signal.aborted ? 'aborted' : 'error'\n else if (controller.signal.aborted)\n status = timedOut ? 'timeout' : 'aborted'\n else\n status = 'completed'\n\n const rawTranscript = session.turns.slice(runStartIndex)\n const transcript = opts.includeThinking === false ? stripThinking(rawTranscript) : rawTranscript\n const summary = collector.latest()\n\n const result: HeadlessResult = {\n status,\n finalText: extractFinalText(rawTranscript),\n ...(stats?.output ? { output: stats.output } : {}),\n usage: {\n input: stats?.totalIn ?? 0,\n output: stats?.totalOut ?? 0,\n cacheRead: stats?.totalCacheRead ?? 0,\n cacheCreation: stats?.totalCacheCreation ?? 0,\n ...(typeof stats?.cost === 'number' ? { cost: stats.cost } : {}),\n },\n turns: stats?.turns ?? 0,\n durationMs: stats?.elapsed ?? (Date.now() - startedAt),\n numToolCalls: countToolCalls(rawTranscript),\n // Suppress `finishReason` on abort/timeout: the last persisted turn can\n // carry `finishReason: 'stop'` (e.g. the model finished a turn, a follow-up\n // continued, then the run was cancelled), which would make a consumer\n // keyed on `finishReason === 'stop'` misread a cancel as \"model finished\".\n // `status` is authoritative for those exits; let it speak alone. The\n // `'pause'` exhaustion exit keeps `status: 'completed'` so it still\n // surfaces its `finishReason: 'pause'` here.\n ...(status !== 'aborted' && status !== 'timeout' && lastFinishReason(stats)\n ? { finishReason: lastFinishReason(stats) }\n : {}),\n ...(error ? { error } : {}),\n sessionId: session.id,\n ...(summary ? { summary } : {}),\n transcript,\n }\n\n opts.onEvent?.({ type: 'result', result })\n return result\n}\n\n// ---------------------------------------------------------------------------\n// Transcript → OpenAI chat messages (SFT-ready)\n// ---------------------------------------------------------------------------\n\nexport interface OpenAIChatMessage {\n role: 'system' | 'user' | 'assistant' | 'tool'\n content: string | null | OpenAIChatContentPart[]\n tool_calls?: Array<{ id: string, type: 'function', function: { name: string, arguments: string } }>\n tool_call_id?: string\n}\n\nexport type OpenAIChatContentPart\n = | { type: 'text', text: string }\n | { type: 'image_url', image_url: { url: string } }\n | { type: 'input_audio', input_audio: { data: string, format: string } }\n | { type: 'video_url', video_url: { url: string } }\n\n/**\n * Convert raw `session.turns` into standard OpenAI chat-completion messages:\n * assistant turns carry `tool_calls`, and each `tool_result` becomes its own\n * `role: 'tool'` message. This is the drop-in shape for an SFT renderer —\n * unlike `toOpenAI` (session/messages.ts), which emits an internal `_tag`\n * envelope meant for re-sending to a provider, not for training data.\n *\n * Fails closed on corrupt raw turns instead of fabricating tool results; silent\n * placeholders would create structurally-valid but semantically-poisoned SFT\n * examples.\n */\nexport function transcriptToOpenAIMessages(\n turns: SessionTurn[],\n options: { strictToolPairing?: boolean } = {},\n): OpenAIChatMessage[] {\n const { strictToolPairing = true } = options\n const messages: OpenAIChatMessage[] = []\n let chunk: Array<{ role: 'user' | 'assistant', content: SessionContentBlock[] }> = []\n const flushChunk = () => {\n if (chunk.length === 0)\n return\n let paired = chunk\n if (strictToolPairing) {\n const repairs: PairingRepair[] = []\n paired = ensureToolResultPairing(chunk, { onRepair: repair => repairs.push(repair) })\n if (repairs.length > 0) {\n throw new Error(\n `Cannot convert transcript to OpenAI messages: tool pairing repair required (${repairs.map(r => r.mode).join(', ')})`,\n )\n }\n }\n for (const msg of paired)\n pushOpenAIChatMessage(messages, msg)\n chunk = []\n }\n\n for (const turn of turns) {\n if (turn.role === 'system') {\n flushChunk()\n messages.push({ role: 'system', content: textOf(turn.content) })\n continue\n }\n chunk.push({ role: turn.role, content: turn.content })\n }\n flushChunk()\n\n return messages\n}\n\nfunction pushOpenAIChatMessage(messages: OpenAIChatMessage[], msg: { role: 'user' | 'assistant', content: SessionContentBlock[] }): void {\n const text = textOf(msg.content)\n\n if (msg.role === 'assistant') {\n const toolCalls = msg.content.filter((b): b is ToolCallBlock => b.type === 'tool_call')\n const out: OpenAIChatMessage = { role: 'assistant', content: text || null }\n if (toolCalls.length > 0) {\n out.tool_calls = toolCalls.map(b => ({\n id: b.id,\n type: 'function' as const,\n function: { name: b.name, arguments: JSON.stringify(b.input) },\n }))\n }\n messages.push(out)\n return\n }\n\n // user turn — may carry prompt text/images and/or tool_result blocks\n const userParts = contentPartsFromBlocks(msg.content)\n if (userParts.length > 0)\n messages.push({ role: 'user', content: simplifyOpenAIContent(userParts) })\n\n for (const tr of msg.content.filter((b): b is ToolResultBlock => b.type === 'tool_result')) {\n const { text, images } = summarizeToolResultForOpenAI(tr.output)\n if (images.length === 0) {\n messages.push({ role: 'tool', tool_call_id: tr.callId, content: text })\n continue\n }\n\n const noun = images.length === 1 ? 'image' : 'images'\n const marker = `[${images.length} ${noun} attached — see next user message]`\n messages.push({\n role: 'tool',\n tool_call_id: tr.callId,\n content: text.length > 0 ? `${text}\\n\\n${marker}` : marker,\n })\n messages.push({\n role: 'user',\n content: [\n ...images.map(toOpenAIImagePart),\n { type: 'text', text: `(${noun} returned by tool call ${tr.callId})` },\n ],\n })\n }\n}\n\n// ---------------------------------------------------------------------------\n// Internals\n// ---------------------------------------------------------------------------\n\ntype TextBlock = Extract<SessionContentBlock, { type: 'text' }>\ntype ToolCallBlock = Extract<SessionContentBlock, { type: 'tool_call' }>\ntype ToolResultBlock = Extract<SessionContentBlock, { type: 'tool_result' }>\n\nfunction noop(): void {}\n\nfunction textOf(content: SessionContentBlock[]): string {\n return content.filter((b): b is TextBlock => b.type === 'text').map(b => b.text).join('')\n}\n\nfunction contentPartsFromBlocks(content: SessionContentBlock[]): OpenAIChatContentPart[] {\n const parts: OpenAIChatContentPart[] = []\n for (const block of content) {\n if (block.type === 'image') {\n assertResolvedMediaBlock(block, 'OpenAI transcript messages')\n parts.push(toOpenAIImagePart(block))\n }\n else if (block.type === 'audio') {\n parts.push({ type: 'input_audio', input_audio: { data: block.data, format: audioFormatFromMediaType(block.mediaType) } })\n }\n else if (block.type === 'video') {\n parts.push({ type: 'video_url', video_url: { url: `data:${block.mediaType};base64,${block.data}` } })\n }\n else if (block.type === 'document') {\n assertResolvedMediaBlock(block, 'OpenAI transcript messages')\n parts.push({ type: 'text', text: documentMarker(block) })\n }\n else if (block.type === 'text' && block.text.length > 0) {\n parts.push({ type: 'text', text: block.text })\n }\n }\n return parts\n}\n\nfunction simplifyOpenAIContent(parts: OpenAIChatContentPart[]): string | OpenAIChatContentPart[] {\n if (parts.length === 1 && parts[0].type === 'text')\n return parts[0].text\n return parts\n}\n\nfunction toOpenAIImagePart(image: { mediaType: string, data: string }): OpenAIChatContentPart {\n return {\n type: 'image_url',\n image_url: { url: `data:${image.mediaType};base64,${image.data}` },\n }\n}\n\nfunction summarizeToolResultForOpenAI(output: string | ToolResultContent[]): {\n text: string\n images: Array<{ mediaType: string, data: string }>\n} {\n if (typeof output === 'string')\n return { text: output, images: [] }\n\n const texts: string[] = []\n const images: Array<{ mediaType: string, data: string }> = []\n for (const block of output) {\n if (block.type === 'text') {\n texts.push(block.text)\n }\n else if (block.type === 'image') {\n assertResolvedMediaBlock(block, 'OpenAI transcript messages')\n images.push({ mediaType: block.mediaType, data: block.data })\n }\n else if (block.type === 'audio') {\n texts.push(`[audio: ${block.mediaType}]`)\n }\n else if (block.type === 'video') {\n texts.push(`[video: ${block.mediaType}]`)\n }\n else {\n assertResolvedMediaBlock(block, 'OpenAI transcript messages')\n texts.push(documentMarker(block))\n }\n }\n return { text: texts.join('\\n'), images }\n}\n\nfunction documentMarker(doc: ToolResultDocumentContent): string {\n return documentBlockMarker(doc, 'document omitted')\n}\n\nfunction extractFinalText(turns: SessionTurn[]): string {\n for (let i = turns.length - 1; i >= 0; i--) {\n const turn = turns[i]\n if (turn.role !== 'assistant')\n continue\n const text = textOf(turn.content)\n if (text)\n return text\n }\n return ''\n}\n\nfunction countToolCalls(turns: SessionTurn[]): number {\n let n = 0\n for (const turn of turns) {\n for (const block of turn.content) {\n if (block.type === 'tool_call')\n n++\n }\n }\n return n\n}\n\nfunction lastFinishReason(stats?: AgentStats): TurnFinishReason | undefined {\n const usages = stats?.turnUsage\n if (!usages)\n return undefined\n for (let i = usages.length - 1; i >= 0; i--) {\n if (usages[i].finishReason)\n return usages[i].finishReason\n }\n return undefined\n}\n\nfunction stripThinking(turns: SessionTurn[]): SessionTurn[] {\n return turns.map(turn => ({\n ...turn,\n content: turn.content.filter(b => b.type !== 'thinking' && b.type !== 'redacted_thinking'),\n }))\n}\n\nexport function installHeadlessEventAdapter(\n hooks: Hookable<AgentHooks>,\n onEvent: (event: HeadlessEvent) => void,\n): () => void {\n const unregs: Array<() => void> = []\n const emittedTurnIds = new Set<string>()\n const emit = (event: HeadlessEvent): void => {\n try {\n onEvent(event)\n }\n catch {\n // A consumer's sink throwing is not the adapter's concern.\n }\n }\n\n unregs.push(hooks.hook('agent:start', ctx => emit({\n type: 'start',\n runId: ctx.runId,\n ...(ctx.providerName ? { provider: ctx.providerName } : {}),\n })))\n unregs.push(hooks.hook('stream:text', ctx => emit({ type: 'text', delta: ctx.delta })))\n unregs.push(hooks.hook('stream:thinking', ctx => emit({ type: 'thinking', delta: ctx.delta })))\n unregs.push(hooks.hook('tool:before', ctx => emit({\n type: 'tool_call',\n callId: ctx.callId,\n name: ctx.name,\n input: ctx.input,\n })))\n unregs.push(hooks.hook('tool:after', ctx => emit({\n type: 'tool_result',\n callId: ctx.callId,\n name: ctx.name,\n output: toolResultToText(ctx.result),\n isError: false,\n })))\n unregs.push(hooks.hook('tool:error', ctx => emit({\n type: 'tool_result',\n callId: ctx.callId,\n name: ctx.name,\n output: ctx.error.message,\n isError: true,\n })))\n unregs.push(hooks.hook('session:turns', (ctx) => {\n const startIndex = ctx.count - ctx.turns.length\n ctx.turns.forEach((turn, i) => {\n if (emittedTurnIds.has(turn.id))\n return\n emittedTurnIds.add(turn.id)\n emit({ type: 'turn', index: startIndex + i, turn })\n })\n }))\n unregs.push(hooks.hook('spawn:before', ctx => emit({ type: 'spawn', event: 'before', id: ctx.id })))\n unregs.push(hooks.hook('spawn:complete', ctx => emit({\n type: 'spawn',\n event: 'complete',\n id: ctx.id,\n info: { status: ctx.status ?? 'completed' },\n })))\n unregs.push(hooks.hook('spawn:error', ctx => emit({\n type: 'spawn',\n event: 'error',\n id: ctx.id,\n info: { message: ctx.error.message },\n })))\n unregs.push(hooks.hook('stream:error', ctx => emit({\n type: 'error',\n message: ctx.err instanceof Error ? ctx.err.message : String(ctx.err),\n ...(ctx.err instanceof Error ? { errorType: ctx.err.name } : {}),\n })))\n\n return () => {\n for (const un of unregs) {\n try {\n un()\n }\n catch {\n // ignore\n }\n }\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { An as HeadlessOutputFormat, Bn as formattedHeadlessTurnEventToJsonl, Dn as HeadlessErrorInfo, En as FormattedHeadlessTurnEvent, Fn as OpenAIChatMessage, Gn as transcriptToOpenAIMessages, Hn as installHeadlessEventAdapter, In as ProviderTranscriptFormat, Kn as transcriptToProviderMessages, Ln as exitCodeForHeadlessResult, Mn as HeadlessStatus, Nn as HeadlessUsage, On as HeadlessEvent, Pn as OpenAIChatContentPart, Rn as formatHeadlessResult, Tn as FormattedHeadlessResult, Un as providerTranscriptFormatForProvider, Vn as headlessEventToJsonl, Wn as runHeadless, jn as HeadlessResult, kn as HeadlessOptions, zn as formatHeadlessTurnEvent } from "./index-DZR99FD4.js";
1
+ import { An as HeadlessOutputFormat, Bn as formattedHeadlessTurnEventToJsonl, Dn as HeadlessErrorInfo, En as FormattedHeadlessTurnEvent, Fn as OpenAIChatMessage, Gn as transcriptToOpenAIMessages, Hn as installHeadlessEventAdapter, In as ProviderTranscriptFormat, Kn as transcriptToProviderMessages, Ln as exitCodeForHeadlessResult, Mn as HeadlessStatus, Nn as HeadlessUsage, On as HeadlessEvent, Pn as OpenAIChatContentPart, Rn as formatHeadlessResult, Tn as FormattedHeadlessResult, Un as providerTranscriptFormatForProvider, Vn as headlessEventToJsonl, Wn as runHeadless, jn as HeadlessResult, kn as HeadlessOptions, zn as formatHeadlessTurnEvent } from "./index-BDRh3kup.js";
2
2
  export { FormattedHeadlessResult, FormattedHeadlessTurnEvent, HeadlessErrorInfo, HeadlessEvent, HeadlessOptions, HeadlessOutputFormat, HeadlessResult, HeadlessStatus, HeadlessUsage, OpenAIChatContentPart, OpenAIChatMessage, ProviderTranscriptFormat, exitCodeForHeadlessResult, formatHeadlessResult, formatHeadlessTurnEvent, formattedHeadlessTurnEventToJsonl, headlessEventToJsonl, installHeadlessEventAdapter, providerTranscriptFormatForProvider, runHeadless, transcriptToOpenAIMessages, transcriptToProviderMessages };
package/dist/headless.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as headlessEventToJsonl, c as runHeadless, i as formattedHeadlessTurnEventToJsonl, l as transcriptToOpenAIMessages, n as formatHeadlessResult, o as installHeadlessEventAdapter, r as formatHeadlessTurnEvent, s as providerTranscriptFormatForProvider, t as exitCodeForHeadlessResult, u as transcriptToProviderMessages } from "./headless-Bb5gU8AR.js";
1
+ import { a as headlessEventToJsonl, c as runHeadless, i as formattedHeadlessTurnEventToJsonl, l as transcriptToOpenAIMessages, n as formatHeadlessResult, o as installHeadlessEventAdapter, r as formatHeadlessTurnEvent, s as providerTranscriptFormatForProvider, t as exitCodeForHeadlessResult, u as transcriptToProviderMessages } from "./headless-BqfIgk1W.js";
2
2
  export { exitCodeForHeadlessResult, formatHeadlessResult, formatHeadlessTurnEvent, formattedHeadlessTurnEventToJsonl, headlessEventToJsonl, installHeadlessEventAdapter, providerTranscriptFormatForProvider, runHeadless, transcriptToOpenAIMessages, transcriptToProviderMessages };
@@ -1,4 +1,4 @@
1
- import { An as ToolResultContent, Cn as SessionTurn, En as ThinkingLevel, F as Session, Fn as TurnUsage, O as ShellInterpolationApproval, Pn as TurnFinishReason, R as SessionStore, _t as StreamOptions, b as ToolDef, i as AgentOptions, k as SkillConfig, l as SkillActivationState, mt as Provider, nn as ChildRunStats, pn as PromptPart, r as AgentHooks, s as ActiveSkill, sn as McpServerConfig, tn as AgentStats, y as ToolContext } from "./agent-D0W9yClt.js";
1
+ import { An as ThinkingLevel, Dn as SessionTurn, F as Session, Fn as ToolResultContent, Hn as TurnFinishReason, O as ShellInterpolationApproval, R as SessionStore, Un as TurnUsage, _t as StreamOptions, b as ToolDef, i as AgentOptions, k as SkillConfig, l as SkillActivationState, mn as PromptPart, mt as Provider, nn as ChildRunStats, r as AgentHooks, s as ActiveSkill, sn as McpServerConfig, tn as AgentStats, y as ToolContext } from "./agent-Dt3mALPV.js";
2
2
  import { c as ExecutionContext, l as ExecutionHandle } from "./types-B39tBba1.js";
3
3
  import { Hookable } from "hookable";
4
4
  import { OAuthClientProvider, OAuthDiscoveryState } from "@modelcontextprotocol/sdk/client/auth.js";
@@ -1402,6 +1402,17 @@ type OpenAIChatContentPart = {
1402
1402
  image_url: {
1403
1403
  url: string;
1404
1404
  };
1405
+ } | {
1406
+ type: 'input_audio';
1407
+ input_audio: {
1408
+ data: string;
1409
+ format: string;
1410
+ };
1411
+ } | {
1412
+ type: 'video_url';
1413
+ video_url: {
1414
+ url: string;
1415
+ };
1405
1416
  };
1406
1417
  /**
1407
1418
  * Convert raw `session.turns` into standard OpenAI chat-completion messages:
@@ -2926,4 +2937,4 @@ declare function definePreset(config: Preset): Preset;
2926
2937
  declare function composePresets(...presets: Preset[]): Preset;
2927
2938
  //#endregion
2928
2939
  export { PERSISTENCE_PREVIEW_BYTES as $, ToolSearchToolOptions as $n, CompactPromptBuilder as $r, buildRegisteredEvals as $t, Counter as A, HeadlessOutputFormat as An, RunSummaryCollectorOptions as Ar, EvalRunSummaryCase as At, OAuthCallbackOptions as B, formattedHeadlessTurnEventToJsonl as Bn, PostCompactRestoreOptions as Br, LlmJudgeOptions as Bt, ModelUsage as C, installCacheBreakLogger as Ci, runEvalCase as Cn, glob as Cr, EvalDefinitionContext as Ct, defaultRepeatGuardTracked as D, HeadlessErrorInfo as Dn, RunSummaryBudget as Dr, EvalRunReporter as Dt, defaultRepeatGuardNormalize as E, FormattedHeadlessTurnEvent as En, RunSummaryBlock as Er, EvalRunMetricAggregate as Et, MetricsHookSet as F, OpenAIChatMessage as Fn, createRunSummaryCollector as Fr, EvalTestRunner as Ft, loginMcpServer as G, transcriptToOpenAIMessages as Gn, selectRecentFiles as Gr, MetricStats as Gt, startOAuthCallback as H, installHeadlessEventAdapter as Hn, buildPostCompactAttachments as Hr, MetricEmitter as Ht, MetricsHooksOptions as I, ProviderTranscriptFormat as In, BYTES_PER_TOKEN as Ir, EvalVariantSummary as It, McpOAuthProvider as J, WAIT_TASK_TIMED_OUT_PREFIX as Jn, compactConversation as Jr, Trajectory as Jt, McpCredentialEntry as K, transcriptToProviderMessages as Kn, CompactOptions as Kr, RegisterEvalTestsOptions as Kt, UpDownCounter as L, exitCodeForHeadlessResult as Ln, estimateTokens as Lr, EvalWorkspaceFile as Lt, InstrumentOptions as M, HeadlessStatus as Mn, RunSummaryRepeatGuard as Mr, EvalScore as Mt, Meter as N, HeadlessUsage as Nn, RunSummaryTokens as Nr, EvalScorer as Nt, normalizeShellCommand as O, HeadlessEvent as On, RunSummaryByModel as Or, EvalRunReporterOptions as Ot, MetricAttributes as P, OpenAIChatContentPart as Pn, RunSummaryValidation as Pr, EvalScorerContext as Pt, PERSISTED_STUB_PREFIX as Q, LazyToolEntry as Qn, CompactDirection as Qr, buildEvalRunSummary as Qt, createMetricsHooks as R, formatHeadlessResult as Rn, utf8ByteLength as Rr, EvalWorkspaceOptions as Rt, splitSystemPrompt as S, fnv1a32 as Si, relativeArtifactPath as Sn, grep as Sr, EvalDefinition as St, statsByModel as T, FormattedHeadlessResult as Tn, RunSummary as Tr, EvalMetricError as Tt, LoginMcpServerOptions as U, providerTranscriptFormatForProvider as Un, selectFilesFromReadState as Ur, MetricSpec as Ut, OAuthCallbackResult as V, headlessEventToJsonl as Vn, RecentFile as Vr, MetricDirection as Vt, LoginMcpServerResult as W, runHeadless as Wn, selectFilesFromSession as Wr, MetricSpecMap as Wt, createMemoryMcpCredentialStore as X, ValidationResult as Xn, CompactPromptTooLongError as Xr, TrajectoryStepKind as Xt, McpOAuthProviderOptions as Y, waitTask as Yn, CompactInvalidInputError as Yr, TrajectoryStep as Yt, hasAuthorizationHeader as Z, validateToolArgs as Zn, BASE_INSTRUCTIONS as Zr, artifactPath as Zt, appendStaticSection as _, CacheBreakLoggerOptions as _i, formatTrajectoryLine as _n, readFile as _r, EvalAgentRunStats as _t, basicTools as a, buildFullCompactPrompt as ai, createReusableExecutionContext as an, SubagentRegistry as ar, resolvePersistDir as at, renderSystemForWire as b, CacheDimensionSnapshot as bi, normalizeMetric as bn, InteractionToolOptions as br, EvalCaseOptions as bt, Span as c, ANCHOR_PREVIEW_MAX_CHARS as ci, efficiencyMetricValues as cn, createSkillsUseTool as cr, SHELL_CASCADE_CANCEL_MESSAGE as ct, TracingHookSet as d, SummaryToTurnInput as di, fileContentQuality as dn, SkillsReadToolOptions as dr, CreateEvalAgentOptions as dt, CompactPromptOptions as ei, buildTrajectory as en, createToolSearchTool as er, PersistInput as et, TracingHooksOptions as f, anchorPreviewFor as fi, fileExists as fn, createSkillsReadTool as fr, EFFICIENCY_METRICS as ft, appendDynamicSection as g, truncateHeadForPtlRetry as gi, formatEvalRunSummary as gn, shell as gr, EvalAgentRunResult as gt, SystemPromptParts as h, summaryToTurn as hi, formatEvalCaseSummary as hn, createShellTool as hr, EvalAgentRunOptions as ht, _default as i, buildFromCompactPrompt as ii, createEvalRunReporter as in, SubagentDef as ir, maybePersistToolResult as it, Histogram as j, HeadlessResult as jn, RunSummaryError as jr, EvalRunUsage as jt, stableStringify as k, HeadlessOptions as kn, RunSummaryCollector as kr, EvalRunSummary as kt, StartSpan as l, CompactScope as li, emitEfficiencyMetrics as ln, SkillsRunScriptToolOptions as lr, TOOL_USE_CANCELLED_MESSAGE as lt, SYSTEM_PROMPT_BOUNDARY as m, stripImagesFromTurns as mi, finalizeEvalMetrics as mn, CreateShellToolOptions as mr, EvalAgentMcpServers as mt, composePresets as n, TRAILER as ni, computeEvalTagScores as nn, SpawnToolOptions as nr, buildPersistedStub as nt, zodToJsonSchema as o, buildTailCompactPrompt as oi, defineEval as on, createSpawnTool as or, resolveTasksDir as ot, createTracingHooks as p, sliceForCompaction as pi, fileExistsOneOf as pn, shellKill as pr, EvalAgent as pt, McpCredentialStore as q, writeFile as qn, CompactResult as qr, ReusableExecutionContext as qt, definePreset as r, buildCompactPrompt as ri, createEvalAgent as rn, SpawnToolState as rr, cleanupPersistedSession as rt, GEN_AI_ATTRIBUTES as s, buildUpToCompactPrompt as si, defineMetrics as sn, SkillsUseToolOptions as sr, INTERRUPT_MESSAGE_FOR_TOOL_USE as st, Preset as t, NO_TOOLS_PREAMBLE as ti, clearRegisteredEvals as tn, ChildAgent as tr, PersistOutcome as tt, TracingConventions as u, CompactionSlice as ui, fileContains as un, createSkillsRunScriptTool as ur, TOOL_USE_SKIPPED_MESSAGE as ut, hasSystemPromptBoundary as v, CacheDimensionDiff as vi, functionalityMetric as vn, multiEdit as vr, EvalAgentStats as vt, flattenTurns as w, snapshotCacheDimensions as wi, statusCompleted as wn, edit as wr, EvalMetric as wt, replaceDynamicSection as x, diffCacheDimensions as xi, registerEvalTests as xn, createInteractionTool as xr, EvalCaseResult as xt, joinSystemPrompt as y, CacheDimensionName as yi, llmJudge as yn, listFiles as yr, EvalArtifacts as yt, OAuthCallbackHandle as z, formatHeadlessTurnEvent as zn, PostCompactAttachments as zr, EvalWorkspaceSnapshot as zt };
2929
- //# sourceMappingURL=index-DZR99FD4.d.ts.map
2940
+ //# sourceMappingURL=index-BDRh3kup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BDRh3kup.d.ts","names":[],"sources":["../src/cache-telemetry.ts","../src/compact/messages.ts","../src/compact/prompt.ts","../src/compact/errors.ts","../src/compact/compact.ts","../src/compact/restore.ts","../src/compact/utils.ts","../src/run-summary.ts","../src/tools/edit.ts","../src/tools/glob.ts","../src/tools/grep.ts","../src/tools/interaction.ts","../src/tools/list-files.ts","../src/tools/multi-edit.ts","../src/tools/read-file.ts","../src/tools/shell.ts","../src/tools/shell-kill.ts","../src/tools/skills-read.ts","../src/tools/skills-run-script.ts","../src/tools/skills-use.ts","../src/tools/spawn.ts","../src/tools/tool-search.ts","../src/tools/validation.ts","../src/tools/wait-task.ts","../src/tools/write-file.ts","../src/headless.ts","../src/eval.ts","../src/loop.ts","../src/loop-persistence.ts","../src/mcp/oauth-provider.ts","../src/mcp/login.ts","../src/mcp/oauth-callback.ts","../src/metrics.ts","../src/repeat-guard.ts","../src/stats.ts","../src/system-prompt.ts","../src/tracing.ts","../src/zod.ts","../src/presets/basic.ts","../src/presets/index.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { A as SkillDiagnostic, M as SkillSource, N as SkillsConfig, k as SkillConfig, l as SkillActivationState, r as AgentHooks } from "./agent-D0W9yClt.js";
1
+ import { A as SkillDiagnostic, M as SkillSource, N as SkillsConfig, k as SkillConfig, l as SkillActivationState, r as AgentHooks } from "./agent-Dt3mALPV.js";
2
2
  import { c as ExecutionContext, l as ExecutionHandle } from "./types-B39tBba1.js";
3
3
  import { Hookable } from "hookable";
4
4
 
@@ -313,4 +313,4 @@ declare function defineSkill(config: Omit<SkillConfig, 'source'> & {
313
313
  }): SkillConfig;
314
314
  //#endregion
315
315
  export { buildCatalog as C, parseSkillFile as S, installAllowedToolsGate as T, SourcedScanPath as _, SkillValidationResult as a, inferSource as b, parseAllowedToolPattern as c, validateSkillForWrite as d, validateSkillName as f, stripShellInterpolations as g, interpolateShellCommands as h, SkillValidationIssue as i, validateResourcePath as l, InterpolateShellCommandsOptions as m, writeSkillToDisk as n, isToolAllowedByUnion as o, resolveSkills as p, writeSkillsToDisk as r, matchesAllowedTool as s, defineSkill as t, validateResourcePathReal as u, discoverSkills as v, IMPLICITLY_ALLOWED_SKILL_TOOLS as w, parseFrontmatter as x, getDefaultScanPaths as y };
316
- //# sourceMappingURL=index-D60tX5XC.d.ts.map
316
+ //# sourceMappingURL=index-Do7IZGW5.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-D60tX5XC.d.ts","names":[],"sources":["../src/skills/allowed-tools.ts","../src/skills/catalog.ts","../src/skills/discovery.ts","../src/skills/interpolate.ts","../src/skills/resolve.ts","../src/skills/validate.ts","../src/skills/writer.ts","../src/skills/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index-Do7IZGW5.d.ts","names":[],"sources":["../src/skills/allowed-tools.ts","../src/skills/catalog.ts","../src/skills/discovery.ts","../src/skills/interpolate.ts","../src/skills/resolve.ts","../src/skills/validate.ts","../src/skills/writer.ts","../src/skills/index.ts"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { $ as SYNTHETIC_TOOL_RESULT_PLACEHOLDER, $n as ContextCategory, A as SkillDiagnostic, An as ToolResultContent, At as OpenAICompatAuthHeader, Bn as AgentBudgetExceededError, C as ReadStateMap, Cn as SessionTurn, Ct as SchemaSanitizeOptions, D as resolveReadStateMap, Dt as sanitizeToolSpecs, E as readStateKey, En as ThinkingLevel, Et as sanitizeToolSchema, F as Session, Fn as TurnUsage, Ft as openaiCompat, G as FileMapAdapter, Gn as CONTEXT_EXCEEDED_MESSAGE_PATTERNS, Gt as baseten, H as RemoteStoreOptions, Hn as AgentProviderError, Ht as CerebrasParams, I as SessionData, In as toolOutputBudgetByteLength, It as OpenAIParams, J as EnsureToolResultPairingOptions, Jn as errorMessage, Jt as arcee, K as FileMapStoreOptions, Kn as ClassifiedError, L as SessionRun, Ln as toolOutputByteLength, Lt as openai, M as SkillSource, Mn as ToolResultImageContent, Mt as OpenAICompatParams, N as SkillsConfig, Nn as ToolResultTextContent, Nt as classifyOpenAICompatError, O as ShellInterpolationApproval, On as ToolHookContext, Ot as OpenRouterParams, P as CreateSessionOptions, Pn as TurnFinishReason, Pt as mapOAIFinishReason, Q as RemintResult, Qn as ContextBreakdownOptions, Qt as AgentBehavior, R as SessionStore, Rn as toolResultToText, Rt as LocalParams, S as ReadStateEntry, Sn as SessionMessage, St as TurnResult, Tn as StreamHookContext, Tt as SchemaSanitizeResult, U as createRemoteStore, Un as AgentToolNotAllowedError, Ut as cerebras, V as loadSession, Vn as AgentContextExceededError, W as createMemoryStore, Wn as AgentToolPairingError, Wt as BasetenParams, X as PairingRepair, Xn as toTypedError, Xt as anthropic, Y as ORPHANED_TOOL_RESULT_MARKER, Yn as matchesContextExceeded, Yt as AnthropicParams, Z as PairingRepairMode, Zn as ContextBreakdown, Zt as applyAnthropicCacheBreakpoints, _ as normalizeMcpServers, _n as RetryConfig, _t as StreamOptions, a as createAgent, an as DedupHasher, ar as ContextUsageSplit, at as ensureEndsWithUserMessage, b as ToolDef, bn as SessionEndStatus, bt as ToolResult, c as DeactivationReason, cn as McpToolHookContext, ct as fromAnthropic, d as createSkillActivationState, dn as PromptDocumentPart, dt as toAnthropic, en as AgentRunOptions, er as ContextCategoryId, et as TOOL_USE_INTERRUPTED_MARKER, f as ConnectMcpServersOptions, fn as PromptImagePart, ft as toOpenAI, g as normalizeMcpBlocks, gn as RepeatGuardToolMatcher, gt as StreamCallbacks, h as connectMcpServers, hn as RepeatGuardConfig, ht as ProviderCapabilities, i as AgentOptions, ir as ContextSnapshot, it as detectTurnInterruption, j as SkillResource, jn as ToolResultDocumentContent, jt as OpenAICompatHttpError, k as SkillConfig, kn as ToolOutcome, kt as openrouter, l as SkillActivationState, lt as fromOpenAI, mn as PromptTextPart, mt as Provider, n as AgentHookMap, nr as ContextItem, nt as TurnInterruptionState, o as ActivationVia, on as DedupToolConfig, ot as ensureToolResultPairing, p as McpConnection, pn as PromptPart, pt as toWireMessages, q as createFileMapStore, qn as ClassifiedErrorKind, qt as ArceeParams, r as AgentHooks, rn as CompactFunction, rr as ContextMcpGroup, rt as autoDetectAndConvert, s as ActiveSkill, sn as McpServerConfig, st as filterUnresolvedToolUses, t as Agent, tn as AgentStats, tr as ContextExactCounts, tt as ToWireMessagesOptions, u as SkillActivationStateOptions, un as OAuthRefreshHookContext, ut as remintDuplicateToolCallIds, v as resultToString, vn as RunHookMap, w as getReadState, wn as SpawnHookContext, wt as SchemaSanitizeProfile, x as ToolMap, xn as SessionHookContext, xt as ToolSpec, y as ToolContext, yn as SessionContentBlock, yt as ToolCall, z as createSession, zn as AgentAbortedError, zt as local } from "./agent-D0W9yClt.js";
1
+ import { $ as SYNTHETIC_TOOL_RESULT_PLACEHOLDER, $n as CONTEXT_EXCEEDED_MESSAGE_PATTERNS, A as SkillDiagnostic, An as ThinkingLevel, At as OpenAICompatAuthHeader, Bn as ToolResultTextContent, C as ReadStateMap, Cn as SessionContentBlock, Ct as SchemaSanitizeOptions, D as resolveReadStateMap, Dn as SessionTurn, Dt as sanitizeToolSpecs, E as readStateKey, En as SessionMessage, Et as sanitizeToolSchema, F as Session, Fn as ToolResultContent, Ft as openaiCompat, G as FileMapAdapter, Gn as toolOutputByteLength, Gt as baseten, H as RemoteStoreOptions, Hn as TurnFinishReason, Ht as CerebrasParams, I as SessionData, In as ToolResultDocumentContent, It as OpenAIParams, J as EnsureToolResultPairingOptions, Jn as AgentBudgetExceededError, Jt as arcee, K as FileMapStoreOptions, Kn as toolResultToText, L as SessionRun, Ln as ToolResultDocumentRefContent, Lt as openai, M as SkillSource, Mn as ToolHookContext, Mt as OpenAICompatParams, N as SkillsConfig, Nn as ToolOutcome, Nt as classifyOpenAICompatError, O as ShellInterpolationApproval, On as SpawnHookContext, Ot as OpenRouterParams, P as CreateSessionOptions, Pn as ToolResultAudioContent, Pt as mapOAIFinishReason, Q as RemintResult, Qn as AgentToolPairingError, Qt as AgentBehavior, R as SessionStore, Rn as ToolResultImageContent, Rt as LocalParams, S as ReadStateEntry, Sn as RunHookMap, St as TurnResult, Tn as SessionHookContext, Tt as SchemaSanitizeResult, U as createRemoteStore, Un as TurnUsage, Ut as cerebras, V as loadSession, Vn as ToolResultVideoContent, W as createMemoryStore, Wn as toolOutputBudgetByteLength, Wt as BasetenParams, X as PairingRepair, Xn as AgentProviderError, Xt as anthropic, Y as ORPHANED_TOOL_RESULT_MARKER, Yn as AgentContextExceededError, Yt as AnthropicParams, Z as PairingRepairMode, Zn as AgentToolNotAllowedError, Zt as applyAnthropicCacheBreakpoints, _ as normalizeMcpServers, _n as RepeatGuardConfig, _t as StreamOptions, a as createAgent, an as DedupHasher, ar as ContextBreakdown, at as ensureEndsWithUserMessage, b as ToolDef, bn as ResolveContentRefBlock, bt as ToolResult, c as DeactivationReason, cn as McpToolHookContext, cr as ContextCategoryId, ct as fromAnthropic, d as createSkillActivationState, dn as PromptAudioPart, dr as ContextMcpGroup, dt as toAnthropic, en as AgentRunOptions, er as ClassifiedError, et as TOOL_USE_INTERRUPTED_MARKER, f as ConnectMcpServersOptions, fn as PromptDocumentPart, fr as ContextSnapshot, ft as toOpenAI, g as normalizeMcpBlocks, gn as PromptVideoPart, gt as StreamCallbacks, h as connectMcpServers, hn as PromptTextPart, ht as ProviderCapabilities, i as AgentOptions, ir as toTypedError, it as detectTurnInterruption, j as SkillResource, jt as OpenAICompatHttpError, k as SkillConfig, kn as StreamHookContext, kt as openrouter, l as SkillActivationState, lr as ContextExactCounts, lt as fromOpenAI, mn as PromptPart, mt as Provider, n as AgentHookMap, nr as errorMessage, nt as TurnInterruptionState, o as ActivationVia, on as DedupToolConfig, or as ContextBreakdownOptions, ot as ensureToolResultPairing, p as McpConnection, pn as PromptImagePart, pr as ContextUsageSplit, pt as toWireMessages, q as createFileMapStore, qn as AgentAbortedError, qt as ArceeParams, r as AgentHooks, rn as CompactFunction, rr as matchesContextExceeded, rt as autoDetectAndConvert, s as ActiveSkill, sn as McpServerConfig, sr as ContextCategory, st as filterUnresolvedToolUses, t as Agent, tn as AgentStats, tr as ClassifiedErrorKind, tt as ToWireMessagesOptions, u as SkillActivationStateOptions, un as OAuthRefreshHookContext, ur as ContextItem, ut as remintDuplicateToolCallIds, v as resultToString, vn as RepeatGuardToolMatcher, w as getReadState, wn as SessionEndStatus, wt as SchemaSanitizeProfile, x as ToolMap, xn as RetryConfig, xt as ToolSpec, y as ToolContext, yn as ResolveContentRef, yt as ToolCall, z as createSession, zn as ToolResultImageRefContent, zt as local } from "./agent-Dt3mALPV.js";
2
2
  import { a as ContextType, c as ExecutionContext, d as TaskEntry, f as TaskExitInfo, h as resolveDetachedTasksCapability, i as ContextMount, l as ExecutionHandle, m as TaskStallInfo, n as ContextCapabilities, o as DetachedTasksCapability, p as TaskHandle, r as ContextHardening, s as ExecResult, t as BackgroundTaskStatus, u as SpawnConfig } from "./types-B39tBba1.js";
3
3
  import { n as createSandboxContext, r as createProcessContext, t as SandboxProvider } from "./index-CrMb8jCE.js";
4
- import { $ as PERSISTENCE_PREVIEW_BYTES, $r as CompactPromptBuilder, $t as buildRegisteredEvals, A as Counter, Ar as RunSummaryCollectorOptions, At as EvalRunSummaryCase, B as OAuthCallbackOptions, Br as PostCompactRestoreOptions, Bt as LlmJudgeOptions, C as ModelUsage, Ci as installCacheBreakLogger, Cn as runEvalCase, Cr as glob, Ct as EvalDefinitionContext, D as defaultRepeatGuardTracked, Dn as HeadlessErrorInfo, Dr as RunSummaryBudget, Dt as EvalRunReporter, E as defaultRepeatGuardNormalize, Er as RunSummaryBlock, Et as EvalRunMetricAggregate, F as MetricsHookSet, Fn as OpenAIChatMessage, Fr as createRunSummaryCollector, Ft as EvalTestRunner, G as loginMcpServer, Gn as transcriptToOpenAIMessages, Gr as selectRecentFiles, Gt as MetricStats, H as startOAuthCallback, Hr as buildPostCompactAttachments, Ht as MetricEmitter, I as MetricsHooksOptions, Ir as BYTES_PER_TOKEN, It as EvalVariantSummary, J as McpOAuthProvider, Jr as compactConversation, Jt as Trajectory, K as McpCredentialEntry, Kr as CompactOptions, Kt as RegisterEvalTestsOptions, L as UpDownCounter, Lr as estimateTokens, Lt as EvalWorkspaceFile, M as InstrumentOptions, Mn as HeadlessStatus, Mr as RunSummaryRepeatGuard, Mt as EvalScore, N as Meter, Nn as HeadlessUsage, Nr as RunSummaryTokens, Nt as EvalScorer, O as normalizeShellCommand, On as HeadlessEvent, Or as RunSummaryByModel, Ot as EvalRunReporterOptions, P as MetricAttributes, Pr as RunSummaryValidation, Pt as EvalScorerContext, Q as PERSISTED_STUB_PREFIX, Qr as CompactDirection, Qt as buildEvalRunSummary, R as createMetricsHooks, Rr as utf8ByteLength, Rt as EvalWorkspaceOptions, S as splitSystemPrompt, Si as fnv1a32, Sn as relativeArtifactPath, Sr as grep, St as EvalDefinition, T as statsByModel, Tr as RunSummary, Tt as EvalMetricError, U as LoginMcpServerOptions, Ur as selectFilesFromReadState, Ut as MetricSpec, V as OAuthCallbackResult, Vn as headlessEventToJsonl, Vr as RecentFile, Vt as MetricDirection, W as LoginMcpServerResult, Wn as runHeadless, Wr as selectFilesFromSession, Wt as MetricSpecMap, X as createMemoryMcpCredentialStore, Xn as ValidationResult, Xr as CompactPromptTooLongError, Xt as TrajectoryStepKind, Y as McpOAuthProviderOptions, Yn as waitTask, Yr as CompactInvalidInputError, Yt as TrajectoryStep, Z as hasAuthorizationHeader, Zn as validateToolArgs, Zr as BASE_INSTRUCTIONS, Zt as artifactPath, _ as appendStaticSection, _i as CacheBreakLoggerOptions, _n as formatTrajectoryLine, _t as EvalAgentRunStats, a as basicTools, ai as buildFullCompactPrompt, an as createReusableExecutionContext, ar as SubagentRegistry, at as resolvePersistDir, b as renderSystemForWire, bi as CacheDimensionSnapshot, bn as normalizeMetric, br as InteractionToolOptions, bt as EvalCaseOptions, c as Span, ci as ANCHOR_PREVIEW_MAX_CHARS, cn as efficiencyMetricValues, cr as createSkillsUseTool, ct as SHELL_CASCADE_CANCEL_MESSAGE, d as TracingHookSet, di as SummaryToTurnInput, dn as fileContentQuality, dr as SkillsReadToolOptions, dt as CreateEvalAgentOptions, ei as CompactPromptOptions, en as buildTrajectory, et as PersistInput, f as TracingHooksOptions, fi as anchorPreviewFor, fn as fileExists, fr as createSkillsReadTool, ft as EFFICIENCY_METRICS, g as appendDynamicSection, gi as truncateHeadForPtlRetry, gn as formatEvalRunSummary, gt as EvalAgentRunResult, h as SystemPromptParts, hi as summaryToTurn, hn as formatEvalCaseSummary, hr as createShellTool, ht as EvalAgentRunOptions, i as _default, ii as buildFromCompactPrompt, in as createEvalRunReporter, ir as SubagentDef, it as maybePersistToolResult, j as Histogram, jn as HeadlessResult, jr as RunSummaryError, jt as EvalRunUsage, k as stableStringify, kn as HeadlessOptions, kr as RunSummaryCollector, kt as EvalRunSummary, l as StartSpan, li as CompactScope, ln as emitEfficiencyMetrics, lr as SkillsRunScriptToolOptions, lt as TOOL_USE_CANCELLED_MESSAGE, m as SYSTEM_PROMPT_BOUNDARY, mi as stripImagesFromTurns, mn as finalizeEvalMetrics, mr as CreateShellToolOptions, mt as EvalAgentMcpServers, ni as TRAILER, nn as computeEvalTagScores, nr as SpawnToolOptions, nt as buildPersistedStub, o as zodToJsonSchema, oi as buildTailCompactPrompt, on as defineEval, or as createSpawnTool, ot as resolveTasksDir, p as createTracingHooks, pi as sliceForCompaction, pn as fileExistsOneOf, pt as EvalAgent, q as McpCredentialStore, qr as CompactResult, qt as ReusableExecutionContext, r as definePreset, ri as buildCompactPrompt, rn as createEvalAgent, rr as SpawnToolState, rt as cleanupPersistedSession, s as GEN_AI_ATTRIBUTES, si as buildUpToCompactPrompt, sn as defineMetrics, sr as SkillsUseToolOptions, st as INTERRUPT_MESSAGE_FOR_TOOL_USE, t as Preset, ti as NO_TOOLS_PREAMBLE, tn as clearRegisteredEvals, tr as ChildAgent, tt as PersistOutcome, u as TracingConventions, ui as CompactionSlice, un as fileContains, ur as createSkillsRunScriptTool, ut as TOOL_USE_SKIPPED_MESSAGE, v as hasSystemPromptBoundary, vi as CacheDimensionDiff, vn as functionalityMetric, vr as multiEdit, vt as EvalAgentStats, w as flattenTurns, wi as snapshotCacheDimensions, wn as statusCompleted, wr as edit, wt as EvalMetric, x as replaceDynamicSection, xi as diffCacheDimensions, xn as registerEvalTests, xr as createInteractionTool, xt as EvalCaseResult, y as joinSystemPrompt, yi as CacheDimensionName, yn as llmJudge, yt as EvalArtifacts, z as OAuthCallbackHandle, zr as PostCompactAttachments, zt as EvalWorkspaceSnapshot } from "./index-DZR99FD4.js";
5
- import { a as Logger, c as consoleSink, d as jsonSink, i as LogSink, l as createLogger, n as LogLevel, o as LoggingHookSet, r as LogRecord, s as LoggingHooksOptions, t as ConsoleSinkOptions, u as createLoggingHooks } from "./logger-n4LsLISE.js";
6
- import { C as buildCatalog, S as parseSkillFile, T as installAllowedToolsGate, _ as SourcedScanPath, a as SkillValidationResult, c as parseAllowedToolPattern, d as validateSkillForWrite, f as validateSkillName, g as stripShellInterpolations, h as interpolateShellCommands, i as SkillValidationIssue, l as validateResourcePath, m as InterpolateShellCommandsOptions, n as writeSkillToDisk, o as isToolAllowedByUnion, p as resolveSkills, r as writeSkillsToDisk, s as matchesAllowedTool, t as defineSkill, u as validateResourcePathReal, v as discoverSkills, w as IMPLICITLY_ALLOWED_SKILL_TOOLS } from "./index-D60tX5XC.js";
7
- export { ANCHOR_PREVIEW_MAX_CHARS, type ActivationVia, type ActiveSkill, type Agent, AgentAbortedError, type AgentBehavior, AgentBudgetExceededError, AgentContextExceededError, type AgentHookMap, type AgentHooks, type AgentOptions, AgentProviderError, type AgentRunOptions, type AgentStats, AgentToolNotAllowedError, AgentToolPairingError, type AnthropicParams, type ArceeParams, BASE_INSTRUCTIONS, BYTES_PER_TOKEN, type BackgroundTaskStatus, type BasetenParams, CONTEXT_EXCEEDED_MESSAGE_PATTERNS, type CacheBreakLoggerOptions, type CacheDimensionDiff, type CacheDimensionName, type CacheDimensionSnapshot, type CerebrasParams, type ChildAgent, type ClassifiedError, type ClassifiedErrorKind, type CompactDirection, type CompactFunction, CompactInvalidInputError, type CompactOptions, type CompactPromptBuilder, type CompactPromptOptions, CompactPromptTooLongError, type CompactResult, type CompactScope, type CompactionSlice, type ConnectMcpServersOptions, type ConsoleSinkOptions, type ContextBreakdown, type ContextBreakdownOptions, type ContextCapabilities, type ContextCategory, type ContextCategoryId, type ContextExactCounts, type ContextHardening, type ContextItem, type ContextMcpGroup, type ContextMount, type ContextSnapshot, type ContextType, type ContextUsageSplit, type Counter, type CreateEvalAgentOptions, type CreateSessionOptions, type CreateShellToolOptions, type DeactivationReason, type DedupHasher, type DedupToolConfig, type DetachedTasksCapability, EFFICIENCY_METRICS, type EnsureToolResultPairingOptions, type EvalAgent, type EvalAgentMcpServers, type EvalAgentRunOptions, type EvalAgentRunResult, type EvalAgentRunStats, type EvalAgentStats, type EvalArtifacts, type EvalCaseOptions, type EvalCaseResult, type EvalDefinition, type EvalDefinitionContext, type EvalMetric, EvalMetricError, type EvalRunMetricAggregate, type EvalRunReporter, type EvalRunReporterOptions, type EvalRunSummary, type EvalRunSummaryCase, type EvalRunUsage, type EvalScore, type EvalScorer, type EvalScorerContext, type EvalTestRunner, type EvalVariantSummary, type EvalWorkspaceFile, type EvalWorkspaceOptions, type EvalWorkspaceSnapshot, type ExecResult, type ExecutionContext, type ExecutionHandle, type FileMapAdapter, type FileMapStoreOptions, GEN_AI_ATTRIBUTES, type HeadlessErrorInfo, type HeadlessEvent, type HeadlessOptions, type HeadlessResult, type HeadlessStatus, type HeadlessUsage, type Histogram, IMPLICITLY_ALLOWED_SKILL_TOOLS, INTERRUPT_MESSAGE_FOR_TOOL_USE, type InstrumentOptions, type InteractionToolOptions, type InterpolateShellCommandsOptions, type LlmJudgeOptions, type LocalParams, type LogLevel, type LogRecord, type LogSink, type Logger, type LoggingHookSet, type LoggingHooksOptions, type LoginMcpServerOptions, type LoginMcpServerResult, type McpConnection, type McpCredentialEntry, type McpCredentialStore, McpOAuthProvider, type McpOAuthProviderOptions, type McpServerConfig, type McpToolHookContext, type Meter, type MetricAttributes, type MetricDirection, type MetricEmitter, type MetricSpec, type MetricSpecMap, type MetricStats, type MetricsHookSet, type MetricsHooksOptions, type ModelUsage, NO_TOOLS_PREAMBLE, type OAuthCallbackHandle, type OAuthCallbackOptions, type OAuthCallbackResult, type OAuthRefreshHookContext, ORPHANED_TOOL_RESULT_MARKER, type OpenAIChatMessage, type OpenAICompatAuthHeader, OpenAICompatHttpError, type OpenAICompatParams, type OpenAIParams, type OpenRouterParams, PERSISTED_STUB_PREFIX, PERSISTENCE_PREVIEW_BYTES, type PairingRepair, type PairingRepairMode, type PersistInput, type PersistOutcome, type PostCompactAttachments, type PostCompactRestoreOptions, type Preset, type PromptDocumentPart, type PromptImagePart, type PromptPart, type PromptTextPart, type Provider, type ProviderCapabilities, type ReadStateEntry, type ReadStateMap, type RecentFile, type RegisterEvalTestsOptions, type RemintResult, type RemoteStoreOptions, type RepeatGuardConfig, type RepeatGuardToolMatcher, type RetryConfig, type ReusableExecutionContext, type RunHookMap, type RunSummary, type RunSummaryBlock, type RunSummaryBudget, type RunSummaryByModel, type RunSummaryCollector, type RunSummaryCollectorOptions, type RunSummaryError, type RunSummaryRepeatGuard, type RunSummaryTokens, type RunSummaryValidation, SHELL_CASCADE_CANCEL_MESSAGE, SYNTHETIC_TOOL_RESULT_PLACEHOLDER, SYSTEM_PROMPT_BOUNDARY, type SandboxProvider, type SchemaSanitizeOptions, type SchemaSanitizeProfile, type SchemaSanitizeResult, type Session, type SessionContentBlock, type SessionData, type SessionEndStatus, type SessionHookContext, type SessionMessage, type SessionRun, type SessionStore, type SessionTurn, type ShellInterpolationApproval, type SkillActivationState, type SkillActivationStateOptions, type SkillConfig, type SkillDiagnostic, type SkillResource, type SkillSource, type SkillValidationIssue, type SkillValidationResult, type SkillsConfig, type SkillsReadToolOptions, type SkillsRunScriptToolOptions, type SkillsUseToolOptions, type SourcedScanPath, type Span, type SpawnConfig, type SpawnHookContext, type SpawnToolOptions, type SpawnToolState, type StartSpan, type StreamCallbacks, type StreamHookContext, type StreamOptions, type SubagentDef, type SubagentRegistry, type SummaryToTurnInput, type SystemPromptParts, TOOL_USE_CANCELLED_MESSAGE, TOOL_USE_INTERRUPTED_MARKER, TOOL_USE_SKIPPED_MESSAGE, TRAILER, type TaskEntry, type TaskExitInfo, type TaskHandle, type TaskStallInfo, type ThinkingLevel, type ToWireMessagesOptions, type ToolCall, type ToolContext, type ToolDef, type ToolHookContext, type ToolMap, type ToolOutcome, type ToolResult, type ToolResultContent, type ToolResultDocumentContent, type ToolResultImageContent, type ToolResultTextContent, type ToolSpec, type TracingConventions, type TracingHookSet, type TracingHooksOptions, type Trajectory, type TrajectoryStep, type TrajectoryStepKind, type TurnFinishReason, type TurnInterruptionState, type TurnResult, type TurnUsage, type UpDownCounter, type ValidationResult, anchorPreviewFor, anthropic, appendDynamicSection, appendStaticSection, applyAnthropicCacheBreakpoints, arcee, artifactPath, autoDetectAndConvert, baseten, _default as basic, basicTools, buildCatalog, buildCompactPrompt, buildEvalRunSummary, buildFromCompactPrompt, buildFullCompactPrompt, buildPersistedStub, buildPostCompactAttachments, buildRegisteredEvals, buildTailCompactPrompt, buildTrajectory, buildUpToCompactPrompt, cerebras, classifyOpenAICompatError, cleanupPersistedSession, clearRegisteredEvals, compactConversation, computeEvalTagScores, connectMcpServers, consoleSink, createAgent, createEvalAgent, createEvalRunReporter, createFileMapStore, createInteractionTool, createLogger, createLoggingHooks, createMemoryMcpCredentialStore, createMemoryStore, createMetricsHooks, createProcessContext, createRemoteStore, createReusableExecutionContext, createRunSummaryCollector, createSandboxContext, createSession, createShellTool, createSkillActivationState, createSkillsReadTool, createSkillsRunScriptTool, createSkillsUseTool, createSpawnTool, createTracingHooks, defaultRepeatGuardNormalize, defaultRepeatGuardTracked, defineEval, defineMetrics, definePreset, defineSkill, detectTurnInterruption, diffCacheDimensions, discoverSkills, edit, efficiencyMetricValues, emitEfficiencyMetrics, ensureEndsWithUserMessage, ensureToolResultPairing, errorMessage, estimateTokens, fileContains, fileContentQuality, fileExists, fileExistsOneOf, filterUnresolvedToolUses, finalizeEvalMetrics, flattenTurns, fnv1a32, formatEvalCaseSummary, formatEvalRunSummary, formatTrajectoryLine, fromAnthropic, fromOpenAI, functionalityMetric, getReadState, glob, grep, hasAuthorizationHeader, hasSystemPromptBoundary, headlessEventToJsonl, installAllowedToolsGate, installCacheBreakLogger, interpolateShellCommands, isToolAllowedByUnion, joinSystemPrompt, jsonSink, llmJudge, loadSession, local, loginMcpServer, mapOAIFinishReason, matchesAllowedTool, matchesContextExceeded, maybePersistToolResult, multiEdit, normalizeMcpBlocks, normalizeMcpServers, normalizeMetric, normalizeShellCommand, openai, openaiCompat, openrouter, parseAllowedToolPattern, parseSkillFile, readStateKey, registerEvalTests, relativeArtifactPath, remintDuplicateToolCallIds, renderSystemForWire, replaceDynamicSection, resolveDetachedTasksCapability, resolvePersistDir, resolveReadStateMap, resolveSkills, resolveTasksDir, resultToString, runEvalCase, runHeadless, sanitizeToolSchema, sanitizeToolSpecs, selectFilesFromReadState, selectFilesFromSession, selectRecentFiles, sliceForCompaction, snapshotCacheDimensions, splitSystemPrompt, stableStringify, startOAuthCallback, statsByModel, statusCompleted, stripImagesFromTurns, stripShellInterpolations, summaryToTurn, toAnthropic, toOpenAI, toTypedError, toWireMessages, toolOutputBudgetByteLength, toolOutputByteLength, toolResultToText, transcriptToOpenAIMessages, truncateHeadForPtlRetry, utf8ByteLength, validateResourcePath, validateResourcePathReal, validateSkillForWrite, validateSkillName, validateToolArgs, waitTask, writeSkillToDisk, writeSkillsToDisk, zodToJsonSchema };
4
+ import { $ as PERSISTENCE_PREVIEW_BYTES, $r as CompactPromptBuilder, $t as buildRegisteredEvals, A as Counter, Ar as RunSummaryCollectorOptions, At as EvalRunSummaryCase, B as OAuthCallbackOptions, Br as PostCompactRestoreOptions, Bt as LlmJudgeOptions, C as ModelUsage, Ci as installCacheBreakLogger, Cn as runEvalCase, Cr as glob, Ct as EvalDefinitionContext, D as defaultRepeatGuardTracked, Dn as HeadlessErrorInfo, Dr as RunSummaryBudget, Dt as EvalRunReporter, E as defaultRepeatGuardNormalize, Er as RunSummaryBlock, Et as EvalRunMetricAggregate, F as MetricsHookSet, Fn as OpenAIChatMessage, Fr as createRunSummaryCollector, Ft as EvalTestRunner, G as loginMcpServer, Gn as transcriptToOpenAIMessages, Gr as selectRecentFiles, Gt as MetricStats, H as startOAuthCallback, Hr as buildPostCompactAttachments, Ht as MetricEmitter, I as MetricsHooksOptions, Ir as BYTES_PER_TOKEN, It as EvalVariantSummary, J as McpOAuthProvider, Jr as compactConversation, Jt as Trajectory, K as McpCredentialEntry, Kr as CompactOptions, Kt as RegisterEvalTestsOptions, L as UpDownCounter, Lr as estimateTokens, Lt as EvalWorkspaceFile, M as InstrumentOptions, Mn as HeadlessStatus, Mr as RunSummaryRepeatGuard, Mt as EvalScore, N as Meter, Nn as HeadlessUsage, Nr as RunSummaryTokens, Nt as EvalScorer, O as normalizeShellCommand, On as HeadlessEvent, Or as RunSummaryByModel, Ot as EvalRunReporterOptions, P as MetricAttributes, Pr as RunSummaryValidation, Pt as EvalScorerContext, Q as PERSISTED_STUB_PREFIX, Qr as CompactDirection, Qt as buildEvalRunSummary, R as createMetricsHooks, Rr as utf8ByteLength, Rt as EvalWorkspaceOptions, S as splitSystemPrompt, Si as fnv1a32, Sn as relativeArtifactPath, Sr as grep, St as EvalDefinition, T as statsByModel, Tr as RunSummary, Tt as EvalMetricError, U as LoginMcpServerOptions, Ur as selectFilesFromReadState, Ut as MetricSpec, V as OAuthCallbackResult, Vn as headlessEventToJsonl, Vr as RecentFile, Vt as MetricDirection, W as LoginMcpServerResult, Wn as runHeadless, Wr as selectFilesFromSession, Wt as MetricSpecMap, X as createMemoryMcpCredentialStore, Xn as ValidationResult, Xr as CompactPromptTooLongError, Xt as TrajectoryStepKind, Y as McpOAuthProviderOptions, Yn as waitTask, Yr as CompactInvalidInputError, Yt as TrajectoryStep, Z as hasAuthorizationHeader, Zn as validateToolArgs, Zr as BASE_INSTRUCTIONS, Zt as artifactPath, _ as appendStaticSection, _i as CacheBreakLoggerOptions, _n as formatTrajectoryLine, _t as EvalAgentRunStats, a as basicTools, ai as buildFullCompactPrompt, an as createReusableExecutionContext, ar as SubagentRegistry, at as resolvePersistDir, b as renderSystemForWire, bi as CacheDimensionSnapshot, bn as normalizeMetric, br as InteractionToolOptions, bt as EvalCaseOptions, c as Span, ci as ANCHOR_PREVIEW_MAX_CHARS, cn as efficiencyMetricValues, cr as createSkillsUseTool, ct as SHELL_CASCADE_CANCEL_MESSAGE, d as TracingHookSet, di as SummaryToTurnInput, dn as fileContentQuality, dr as SkillsReadToolOptions, dt as CreateEvalAgentOptions, ei as CompactPromptOptions, en as buildTrajectory, et as PersistInput, f as TracingHooksOptions, fi as anchorPreviewFor, fn as fileExists, fr as createSkillsReadTool, ft as EFFICIENCY_METRICS, g as appendDynamicSection, gi as truncateHeadForPtlRetry, gn as formatEvalRunSummary, gt as EvalAgentRunResult, h as SystemPromptParts, hi as summaryToTurn, hn as formatEvalCaseSummary, hr as createShellTool, ht as EvalAgentRunOptions, i as _default, ii as buildFromCompactPrompt, in as createEvalRunReporter, ir as SubagentDef, it as maybePersistToolResult, j as Histogram, jn as HeadlessResult, jr as RunSummaryError, jt as EvalRunUsage, k as stableStringify, kn as HeadlessOptions, kr as RunSummaryCollector, kt as EvalRunSummary, l as StartSpan, li as CompactScope, ln as emitEfficiencyMetrics, lr as SkillsRunScriptToolOptions, lt as TOOL_USE_CANCELLED_MESSAGE, m as SYSTEM_PROMPT_BOUNDARY, mi as stripImagesFromTurns, mn as finalizeEvalMetrics, mr as CreateShellToolOptions, mt as EvalAgentMcpServers, ni as TRAILER, nn as computeEvalTagScores, nr as SpawnToolOptions, nt as buildPersistedStub, o as zodToJsonSchema, oi as buildTailCompactPrompt, on as defineEval, or as createSpawnTool, ot as resolveTasksDir, p as createTracingHooks, pi as sliceForCompaction, pn as fileExistsOneOf, pt as EvalAgent, q as McpCredentialStore, qr as CompactResult, qt as ReusableExecutionContext, r as definePreset, ri as buildCompactPrompt, rn as createEvalAgent, rr as SpawnToolState, rt as cleanupPersistedSession, s as GEN_AI_ATTRIBUTES, si as buildUpToCompactPrompt, sn as defineMetrics, sr as SkillsUseToolOptions, st as INTERRUPT_MESSAGE_FOR_TOOL_USE, t as Preset, ti as NO_TOOLS_PREAMBLE, tn as clearRegisteredEvals, tr as ChildAgent, tt as PersistOutcome, u as TracingConventions, ui as CompactionSlice, un as fileContains, ur as createSkillsRunScriptTool, ut as TOOL_USE_SKIPPED_MESSAGE, v as hasSystemPromptBoundary, vi as CacheDimensionDiff, vn as functionalityMetric, vr as multiEdit, vt as EvalAgentStats, w as flattenTurns, wi as snapshotCacheDimensions, wn as statusCompleted, wr as edit, wt as EvalMetric, x as replaceDynamicSection, xi as diffCacheDimensions, xn as registerEvalTests, xr as createInteractionTool, xt as EvalCaseResult, y as joinSystemPrompt, yi as CacheDimensionName, yn as llmJudge, yt as EvalArtifacts, z as OAuthCallbackHandle, zr as PostCompactAttachments, zt as EvalWorkspaceSnapshot } from "./index-BDRh3kup.js";
5
+ import { a as Logger, c as consoleSink, d as jsonSink, i as LogSink, l as createLogger, n as LogLevel, o as LoggingHookSet, r as LogRecord, s as LoggingHooksOptions, t as ConsoleSinkOptions, u as createLoggingHooks } from "./logger-C2E41UWq.js";
6
+ import { C as buildCatalog, S as parseSkillFile, T as installAllowedToolsGate, _ as SourcedScanPath, a as SkillValidationResult, c as parseAllowedToolPattern, d as validateSkillForWrite, f as validateSkillName, g as stripShellInterpolations, h as interpolateShellCommands, i as SkillValidationIssue, l as validateResourcePath, m as InterpolateShellCommandsOptions, n as writeSkillToDisk, o as isToolAllowedByUnion, p as resolveSkills, r as writeSkillsToDisk, s as matchesAllowedTool, t as defineSkill, u as validateResourcePathReal, v as discoverSkills, w as IMPLICITLY_ALLOWED_SKILL_TOOLS } from "./index-Do7IZGW5.js";
7
+ export { ANCHOR_PREVIEW_MAX_CHARS, type ActivationVia, type ActiveSkill, type Agent, AgentAbortedError, type AgentBehavior, AgentBudgetExceededError, AgentContextExceededError, type AgentHookMap, type AgentHooks, type AgentOptions, AgentProviderError, type AgentRunOptions, type AgentStats, AgentToolNotAllowedError, AgentToolPairingError, type AnthropicParams, type ArceeParams, BASE_INSTRUCTIONS, BYTES_PER_TOKEN, type BackgroundTaskStatus, type BasetenParams, CONTEXT_EXCEEDED_MESSAGE_PATTERNS, type CacheBreakLoggerOptions, type CacheDimensionDiff, type CacheDimensionName, type CacheDimensionSnapshot, type CerebrasParams, type ChildAgent, type ClassifiedError, type ClassifiedErrorKind, type CompactDirection, type CompactFunction, CompactInvalidInputError, type CompactOptions, type CompactPromptBuilder, type CompactPromptOptions, CompactPromptTooLongError, type CompactResult, type CompactScope, type CompactionSlice, type ConnectMcpServersOptions, type ConsoleSinkOptions, type ContextBreakdown, type ContextBreakdownOptions, type ContextCapabilities, type ContextCategory, type ContextCategoryId, type ContextExactCounts, type ContextHardening, type ContextItem, type ContextMcpGroup, type ContextMount, type ContextSnapshot, type ContextType, type ContextUsageSplit, type Counter, type CreateEvalAgentOptions, type CreateSessionOptions, type CreateShellToolOptions, type DeactivationReason, type DedupHasher, type DedupToolConfig, type DetachedTasksCapability, EFFICIENCY_METRICS, type EnsureToolResultPairingOptions, type EvalAgent, type EvalAgentMcpServers, type EvalAgentRunOptions, type EvalAgentRunResult, type EvalAgentRunStats, type EvalAgentStats, type EvalArtifacts, type EvalCaseOptions, type EvalCaseResult, type EvalDefinition, type EvalDefinitionContext, type EvalMetric, EvalMetricError, type EvalRunMetricAggregate, type EvalRunReporter, type EvalRunReporterOptions, type EvalRunSummary, type EvalRunSummaryCase, type EvalRunUsage, type EvalScore, type EvalScorer, type EvalScorerContext, type EvalTestRunner, type EvalVariantSummary, type EvalWorkspaceFile, type EvalWorkspaceOptions, type EvalWorkspaceSnapshot, type ExecResult, type ExecutionContext, type ExecutionHandle, type FileMapAdapter, type FileMapStoreOptions, GEN_AI_ATTRIBUTES, type HeadlessErrorInfo, type HeadlessEvent, type HeadlessOptions, type HeadlessResult, type HeadlessStatus, type HeadlessUsage, type Histogram, IMPLICITLY_ALLOWED_SKILL_TOOLS, INTERRUPT_MESSAGE_FOR_TOOL_USE, type InstrumentOptions, type InteractionToolOptions, type InterpolateShellCommandsOptions, type LlmJudgeOptions, type LocalParams, type LogLevel, type LogRecord, type LogSink, type Logger, type LoggingHookSet, type LoggingHooksOptions, type LoginMcpServerOptions, type LoginMcpServerResult, type McpConnection, type McpCredentialEntry, type McpCredentialStore, McpOAuthProvider, type McpOAuthProviderOptions, type McpServerConfig, type McpToolHookContext, type Meter, type MetricAttributes, type MetricDirection, type MetricEmitter, type MetricSpec, type MetricSpecMap, type MetricStats, type MetricsHookSet, type MetricsHooksOptions, type ModelUsage, NO_TOOLS_PREAMBLE, type OAuthCallbackHandle, type OAuthCallbackOptions, type OAuthCallbackResult, type OAuthRefreshHookContext, ORPHANED_TOOL_RESULT_MARKER, type OpenAIChatMessage, type OpenAICompatAuthHeader, OpenAICompatHttpError, type OpenAICompatParams, type OpenAIParams, type OpenRouterParams, PERSISTED_STUB_PREFIX, PERSISTENCE_PREVIEW_BYTES, type PairingRepair, type PairingRepairMode, type PersistInput, type PersistOutcome, type PostCompactAttachments, type PostCompactRestoreOptions, type Preset, type PromptAudioPart, type PromptDocumentPart, type PromptImagePart, type PromptPart, type PromptTextPart, type PromptVideoPart, type Provider, type ProviderCapabilities, type ReadStateEntry, type ReadStateMap, type RecentFile, type RegisterEvalTestsOptions, type RemintResult, type RemoteStoreOptions, type RepeatGuardConfig, type RepeatGuardToolMatcher, type ResolveContentRef, type ResolveContentRefBlock, type RetryConfig, type ReusableExecutionContext, type RunHookMap, type RunSummary, type RunSummaryBlock, type RunSummaryBudget, type RunSummaryByModel, type RunSummaryCollector, type RunSummaryCollectorOptions, type RunSummaryError, type RunSummaryRepeatGuard, type RunSummaryTokens, type RunSummaryValidation, SHELL_CASCADE_CANCEL_MESSAGE, SYNTHETIC_TOOL_RESULT_PLACEHOLDER, SYSTEM_PROMPT_BOUNDARY, type SandboxProvider, type SchemaSanitizeOptions, type SchemaSanitizeProfile, type SchemaSanitizeResult, type Session, type SessionContentBlock, type SessionData, type SessionEndStatus, type SessionHookContext, type SessionMessage, type SessionRun, type SessionStore, type SessionTurn, type ShellInterpolationApproval, type SkillActivationState, type SkillActivationStateOptions, type SkillConfig, type SkillDiagnostic, type SkillResource, type SkillSource, type SkillValidationIssue, type SkillValidationResult, type SkillsConfig, type SkillsReadToolOptions, type SkillsRunScriptToolOptions, type SkillsUseToolOptions, type SourcedScanPath, type Span, type SpawnConfig, type SpawnHookContext, type SpawnToolOptions, type SpawnToolState, type StartSpan, type StreamCallbacks, type StreamHookContext, type StreamOptions, type SubagentDef, type SubagentRegistry, type SummaryToTurnInput, type SystemPromptParts, TOOL_USE_CANCELLED_MESSAGE, TOOL_USE_INTERRUPTED_MARKER, TOOL_USE_SKIPPED_MESSAGE, TRAILER, type TaskEntry, type TaskExitInfo, type TaskHandle, type TaskStallInfo, type ThinkingLevel, type ToWireMessagesOptions, type ToolCall, type ToolContext, type ToolDef, type ToolHookContext, type ToolMap, type ToolOutcome, type ToolResult, type ToolResultAudioContent, type ToolResultContent, type ToolResultDocumentContent, type ToolResultDocumentRefContent, type ToolResultImageContent, type ToolResultImageRefContent, type ToolResultTextContent, type ToolResultVideoContent, type ToolSpec, type TracingConventions, type TracingHookSet, type TracingHooksOptions, type Trajectory, type TrajectoryStep, type TrajectoryStepKind, type TurnFinishReason, type TurnInterruptionState, type TurnResult, type TurnUsage, type UpDownCounter, type ValidationResult, anchorPreviewFor, anthropic, appendDynamicSection, appendStaticSection, applyAnthropicCacheBreakpoints, arcee, artifactPath, autoDetectAndConvert, baseten, _default as basic, basicTools, buildCatalog, buildCompactPrompt, buildEvalRunSummary, buildFromCompactPrompt, buildFullCompactPrompt, buildPersistedStub, buildPostCompactAttachments, buildRegisteredEvals, buildTailCompactPrompt, buildTrajectory, buildUpToCompactPrompt, cerebras, classifyOpenAICompatError, cleanupPersistedSession, clearRegisteredEvals, compactConversation, computeEvalTagScores, connectMcpServers, consoleSink, createAgent, createEvalAgent, createEvalRunReporter, createFileMapStore, createInteractionTool, createLogger, createLoggingHooks, createMemoryMcpCredentialStore, createMemoryStore, createMetricsHooks, createProcessContext, createRemoteStore, createReusableExecutionContext, createRunSummaryCollector, createSandboxContext, createSession, createShellTool, createSkillActivationState, createSkillsReadTool, createSkillsRunScriptTool, createSkillsUseTool, createSpawnTool, createTracingHooks, defaultRepeatGuardNormalize, defaultRepeatGuardTracked, defineEval, defineMetrics, definePreset, defineSkill, detectTurnInterruption, diffCacheDimensions, discoverSkills, edit, efficiencyMetricValues, emitEfficiencyMetrics, ensureEndsWithUserMessage, ensureToolResultPairing, errorMessage, estimateTokens, fileContains, fileContentQuality, fileExists, fileExistsOneOf, filterUnresolvedToolUses, finalizeEvalMetrics, flattenTurns, fnv1a32, formatEvalCaseSummary, formatEvalRunSummary, formatTrajectoryLine, fromAnthropic, fromOpenAI, functionalityMetric, getReadState, glob, grep, hasAuthorizationHeader, hasSystemPromptBoundary, headlessEventToJsonl, installAllowedToolsGate, installCacheBreakLogger, interpolateShellCommands, isToolAllowedByUnion, joinSystemPrompt, jsonSink, llmJudge, loadSession, local, loginMcpServer, mapOAIFinishReason, matchesAllowedTool, matchesContextExceeded, maybePersistToolResult, multiEdit, normalizeMcpBlocks, normalizeMcpServers, normalizeMetric, normalizeShellCommand, openai, openaiCompat, openrouter, parseAllowedToolPattern, parseSkillFile, readStateKey, registerEvalTests, relativeArtifactPath, remintDuplicateToolCallIds, renderSystemForWire, replaceDynamicSection, resolveDetachedTasksCapability, resolvePersistDir, resolveReadStateMap, resolveSkills, resolveTasksDir, resultToString, runEvalCase, runHeadless, sanitizeToolSchema, sanitizeToolSpecs, selectFilesFromReadState, selectFilesFromSession, selectRecentFiles, sliceForCompaction, snapshotCacheDimensions, splitSystemPrompt, stableStringify, startOAuthCallback, statsByModel, statusCompleted, stripImagesFromTurns, stripShellInterpolations, summaryToTurn, toAnthropic, toOpenAI, toTypedError, toWireMessages, toolOutputBudgetByteLength, toolOutputByteLength, toolResultToText, transcriptToOpenAIMessages, truncateHeadForPtlRetry, utf8ByteLength, validateResourcePath, validateResourcePathReal, validateSkillForWrite, validateSkillName, validateToolArgs, waitTask, writeSkillToDisk, writeSkillsToDisk, zodToJsonSchema };
package/dist/index.js CHANGED
@@ -1,18 +1,18 @@
1
- import { A as PERSISTENCE_PREVIEW_BYTES, C as stableStringify, D as TOOL_USE_SKIPPED_MESSAGE, E as TOOL_USE_CANCELLED_MESSAGE, F as resolvePersistDir, I as resolveTasksDir, M as cleanupPersistedSession, N as maybePersistToolResult, O as validateToolArgs, S as normalizeShellCommand, T as SHELL_CASCADE_CANCEL_MESSAGE, _ as createSkillsReadTool, a as multiEdit, b as defaultRepeatGuardNormalize, c as grep, d as createAgent, g as createSkillsRunScriptTool, h as createSkillsUseTool, j as buildPersistedStub, k as PERSISTED_STUB_PREFIX, l as glob, n as createSpawnTool, p as waitTask, s as createInteractionTool, u as edit, v as createShellTool, w as INTERRUPT_MESSAGE_FOR_TOOL_USE, x as defaultRepeatGuardTracked } from "./tools-ZHKOh44k.js";
1
+ import { A as PERSISTENCE_PREVIEW_BYTES, C as stableStringify, D as TOOL_USE_SKIPPED_MESSAGE, E as TOOL_USE_CANCELLED_MESSAGE, F as resolvePersistDir, I as resolveTasksDir, M as cleanupPersistedSession, N as maybePersistToolResult, O as validateToolArgs, S as normalizeShellCommand, T as SHELL_CASCADE_CANCEL_MESSAGE, _ as createSkillsReadTool, a as multiEdit, b as defaultRepeatGuardNormalize, c as grep, d as createAgent, g as createSkillsRunScriptTool, h as createSkillsUseTool, j as buildPersistedStub, k as PERSISTED_STUB_PREFIX, l as glob, n as createSpawnTool, p as waitTask, s as createInteractionTool, u as edit, v as createShellTool, w as INTERRUPT_MESSAGE_FOR_TOOL_USE, x as defaultRepeatGuardTracked } from "./tools-CVFNtlyc.js";
2
2
  import { n as estimateTokens, r as utf8ByteLength, t as BYTES_PER_TOKEN } from "./utils-ngQzYzZD.js";
3
- import { c as baseten, d as anthropic, f as applyAnthropicCacheBreakpoints, n as openai, r as local, s as cerebras, t as openrouter, u as arcee } from "./providers-C2cxujp_.js";
3
+ import { c as baseten, d as anthropic, f as applyAnthropicCacheBreakpoints, n as openai, r as local, s as cerebras, t as openrouter, u as arcee } from "./providers-BOEzzCRs.js";
4
4
  import { a as AgentToolNotAllowedError, d as matchesContextExceeded, i as AgentProviderError, l as errorMessage, n as AgentBudgetExceededError, o as AgentToolPairingError, p as toTypedError, r as AgentContextExceededError, s as CONTEXT_EXCEEDED_MESSAGE_PATTERNS, t as AgentAbortedError } from "./errors-DkR6GPJw.js";
5
- import { A as renderSystemForWire, C as sanitizeToolSpecs, D as appendStaticSection, E as appendDynamicSection, M as splitSystemPrompt, O as hasSystemPromptBoundary, S as sanitizeToolSchema, T as SYSTEM_PROMPT_BOUNDARY, _ as classifyOpenAICompatError, a as detectTurnInterruption, c as filterUnresolvedToolUses, d as remintDuplicateToolCallIds, f as toAnthropic, h as OpenAICompatHttpError, i as autoDetectAndConvert, j as replaceDynamicSection, k as joinSystemPrompt, l as fromAnthropic, m as toWireMessages, n as SYNTHETIC_TOOL_RESULT_PLACEHOLDER, o as ensureEndsWithUserMessage, p as toOpenAI, r as TOOL_USE_INTERRUPTED_MARKER, s as ensureToolResultPairing, t as ORPHANED_TOOL_RESULT_MARKER, u as fromOpenAI, v as mapOAIFinishReason, y as openaiCompat } from "./messages-RPKrEPvH.js";
6
- import { a as toolResultToText, i as toolOutputByteLength, r as toolOutputBudgetByteLength } from "./types-BiobHM1D.js";
5
+ import { A as joinSystemPrompt, C as sanitizeToolSchema, D as appendDynamicSection, E as SYSTEM_PROMPT_BOUNDARY, M as replaceDynamicSection, N as splitSystemPrompt, O as appendStaticSection, a as detectTurnInterruption, b as openaiCompat, c as filterUnresolvedToolUses, d as remintDuplicateToolCallIds, g as OpenAICompatHttpError, h as toWireMessages, i as autoDetectAndConvert, j as renderSystemForWire, k as hasSystemPromptBoundary, l as fromAnthropic, m as toOpenAI, n as SYNTHETIC_TOOL_RESULT_PLACEHOLDER, o as ensureEndsWithUserMessage, p as toAnthropic, r as TOOL_USE_INTERRUPTED_MARKER, s as ensureToolResultPairing, t as ORPHANED_TOOL_RESULT_MARKER, u as fromOpenAI, v as classifyOpenAICompatError, w as sanitizeToolSpecs, y as mapOAIFinishReason } from "./messages-DOKdwQBD.js";
6
+ import { a as toolOutputByteLength, i as toolOutputBudgetByteLength, o as toolResultToText } from "./types-DxHDaqN7.js";
7
7
  import { n as createSandboxContext, r as createProcessContext, t as resolveDetachedTasksCapability } from "./contexts-DglWSzmR.js";
8
- import { o as readStateKey, s as resolveReadStateMap, t as getReadState } from "./read-state-BFqpQRc5.js";
8
+ import { o as readStateKey, s as resolveReadStateMap, t as getReadState } from "./read-state-DH2IuQHX.js";
9
9
  import { _ as validateResourcePath, a as writeSkillsToDisk, b as validateSkillName, d as buildCatalog, f as IMPLICITLY_ALLOWED_SKILL_TOOLS, g as parseAllowedToolPattern, h as matchesAllowedTool, i as writeSkillToDisk, m as isToolAllowedByUnion, n as stripShellInterpolations, o as discoverSkills, p as installAllowedToolsGate, r as resolveSkills, t as interpolateShellCommands, u as parseSkillFile, v as validateResourcePathReal, x as createSkillActivationState, y as validateSkillForWrite } from "./interpolate-CTfr0GdR.js";
10
- import { a as resultToString, c as McpOAuthProvider, i as normalizeMcpServers, l as createMemoryMcpCredentialStore, n as connectMcpServers, r as normalizeMcpBlocks, u as hasAuthorizationHeader } from "./mcp-Cy9mgCcr.js";
10
+ import { a as resultToString, c as McpOAuthProvider, i as normalizeMcpServers, l as createMemoryMcpCredentialStore, n as connectMcpServers, r as normalizeMcpBlocks, u as hasAuthorizationHeader } from "./mcp-CKlcFeLQ.js";
11
11
  import { i as statsByModel, n as flattenTurns } from "./stats-DAKBEKjc.js";
12
- import { C as CompactPromptTooLongError, S as CompactInvalidInputError, _ as anchorPreviewFor, a as selectFilesFromSession, b as summaryToTurn, c as BASE_INSTRUCTIONS, d as buildCompactPrompt, f as buildFromCompactPrompt, g as ANCHOR_PREVIEW_MAX_CHARS, h as buildUpToCompactPrompt, i as selectFilesFromReadState, l as NO_TOOLS_PREAMBLE, m as buildTailCompactPrompt, n as startOAuthCallback, o as selectRecentFiles, p as buildFullCompactPrompt, r as buildPostCompactAttachments, s as compactConversation, t as loginMcpServer, u as TRAILER, v as sliceForCompaction, x as truncateHeadForPtlRetry, y as stripImagesFromTurns } from "./login-BHhOdTp9.js";
13
- import { i as basic_default, n as definePreset, r as basicTools } from "./presets-D5ibZTml.js";
14
- import { a as headlessEventToJsonl, c as runHeadless, d as createRunSummaryCollector, l as transcriptToOpenAIMessages } from "./headless-Bb5gU8AR.js";
15
- import { a as createMemoryStore, i as createRemoteStore, o as createFileMapStore, r as loadSession, t as createSession } from "./session-Do_TQV7c.js";
12
+ import { C as CompactPromptTooLongError, S as CompactInvalidInputError, _ as anchorPreviewFor, a as selectFilesFromSession, b as summaryToTurn, c as BASE_INSTRUCTIONS, d as buildCompactPrompt, f as buildFromCompactPrompt, g as ANCHOR_PREVIEW_MAX_CHARS, h as buildUpToCompactPrompt, i as selectFilesFromReadState, l as NO_TOOLS_PREAMBLE, m as buildTailCompactPrompt, n as startOAuthCallback, o as selectRecentFiles, p as buildFullCompactPrompt, r as buildPostCompactAttachments, s as compactConversation, t as loginMcpServer, u as TRAILER, v as sliceForCompaction, x as truncateHeadForPtlRetry, y as stripImagesFromTurns } from "./login-DRKh-Uit.js";
13
+ import { i as basic_default, n as definePreset, r as basicTools } from "./presets-DErpoTHg.js";
14
+ import { a as headlessEventToJsonl, c as runHeadless, d as createRunSummaryCollector, l as transcriptToOpenAIMessages } from "./headless-BqfIgk1W.js";
15
+ import { a as createMemoryStore, i as createRemoteStore, o as createFileMapStore, r as loadSession, t as createSession } from "./session-W5_HQYU8.js";
16
16
  import { EFFICIENCY_METRICS, EvalMetricError, artifactPath, buildEvalRunSummary, buildRegisteredEvals, buildTrajectory, clearRegisteredEvals, computeEvalTagScores, createEvalAgent, createEvalRunReporter, createReusableExecutionContext, defineEval, defineMetrics, efficiencyMetricValues, emitEfficiencyMetrics, fileContains, fileContentQuality, fileExists, fileExistsOneOf, finalizeEvalMetrics, formatEvalCaseSummary, formatEvalRunSummary, formatTrajectoryLine, functionalityMetric, llmJudge, normalizeMetric, registerEvalTests, relativeArtifactPath, runEvalCase, statusCompleted } from "./eval.js";
17
17
  import { i as jsonSink, n as createLogger, r as createLoggingHooks, t as consoleSink } from "./logger-Ktm-lj1s.js";
18
18
  import { defineSkill } from "./skills.js";
@@ -555,7 +555,10 @@ function blockToParts(block) {
555
555
  type: "text",
556
556
  content: typeof block.text === "string" ? block.text : ""
557
557
  }];
558
- case "image": return [{
558
+ case "image":
559
+ case "audio":
560
+ case "video":
561
+ case "document": return [{
559
562
  type: "text",
560
563
  content: "[Blob substitute]"
561
564
  }];
@@ -567,7 +570,7 @@ function blockToParts(block) {
567
570
  }];
568
571
  case "tool_result": {
569
572
  const output = block.output;
570
- const text = typeof output === "string" ? output : Array.isArray(output) ? output.map((b) => b.type === "image" ? "[Blob substitute]" : b.text ?? "").join("\n") : "";
573
+ const text = typeof output === "string" ? output : Array.isArray(output) ? output.map((b) => b.type === "image" || b.type === "audio" || b.type === "video" || b.type === "document" ? "[Blob substitute]" : b.text ?? "").join("\n") : "";
571
574
  return [{
572
575
  type: "tool_result",
573
576
  ...typeof block.callId === "string" ? { call_id: block.callId } : {},