zidane 5.13.0 → 5.13.2

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 (96) hide show
  1. package/README.md +15 -0
  2. package/dist/acp-BqIU2mo-.js +1410 -0
  3. package/dist/acp-BqIU2mo-.js.map +1 -0
  4. package/dist/acp-cli.d.ts +1 -0
  5. package/dist/acp-cli.js +713 -0
  6. package/dist/acp-cli.js.map +1 -0
  7. package/dist/acp.d.ts +655 -0
  8. package/dist/acp.d.ts.map +1 -0
  9. package/dist/acp.js +2 -0
  10. package/dist/{agent-Db4ojCSV.d.ts → agent-D7ZL8B2X.d.ts} +2 -2
  11. package/dist/{agent-Db4ojCSV.d.ts.map → agent-D7ZL8B2X.d.ts.map} +1 -1
  12. package/dist/chat/pure.d.ts +3 -3
  13. package/dist/chat.d.ts +6 -6
  14. package/dist/chat.js +3 -2
  15. package/dist/chat.js.map +1 -1
  16. package/dist/contexts/daytona.d.ts +3 -3
  17. package/dist/contexts/docker.d.ts +1 -1
  18. package/dist/contexts/docker.d.ts.map +1 -1
  19. package/dist/contexts/docker.js +4 -1
  20. package/dist/contexts/docker.js.map +1 -1
  21. package/dist/contexts/e2b.d.ts +2 -2
  22. package/dist/{contexts-VhV4Af8x.js → contexts-DHi8LPCp.js} +25 -9
  23. package/dist/contexts-DHi8LPCp.js.map +1 -0
  24. package/dist/contexts.d.ts +3 -3
  25. package/dist/contexts.js +1 -1
  26. package/dist/eval.d.ts +1 -1
  27. package/dist/eval.js +3 -3
  28. package/dist/glob-DCWXy_tr.js +128 -0
  29. package/dist/glob-DCWXy_tr.js.map +1 -0
  30. package/dist/{headless-tVN-g6IR.js → headless-0O6HMNBQ.js} +6 -6
  31. package/dist/{headless-tVN-g6IR.js.map → headless-0O6HMNBQ.js.map} +1 -1
  32. package/dist/headless.d.ts +1 -1
  33. package/dist/headless.js +1 -1
  34. package/dist/{index-BEblm0Hu.d.ts → index-BsyPeCSL.d.ts} +3 -3
  35. package/dist/{index-BEblm0Hu.d.ts.map → index-BsyPeCSL.d.ts.map} +1 -1
  36. package/dist/{index-CJ-2g7bY.d.ts → index-CDcQW-2S.d.ts} +3 -3
  37. package/dist/index-CDcQW-2S.d.ts.map +1 -0
  38. package/dist/{index-CrMb8jCE.d.ts → index-CF15aqlk.d.ts} +3 -3
  39. package/dist/{index-CrMb8jCE.d.ts.map → index-CF15aqlk.d.ts.map} +1 -1
  40. package/dist/index.d.ts +7 -7
  41. package/dist/index.js +7 -7
  42. package/dist/lazy-DLOurOC_.js +20 -0
  43. package/dist/lazy-DLOurOC_.js.map +1 -0
  44. package/dist/{logger-Dcrj48qY.d.ts → logger-DItaCwPw.d.ts} +2 -2
  45. package/dist/{logger-Dcrj48qY.d.ts.map → logger-DItaCwPw.d.ts.map} +1 -1
  46. package/dist/mcp.d.ts +1 -1
  47. package/dist/{messages-CGazSyTL.js → messages-DEsLGBB9.js} +2 -2
  48. package/dist/{messages-CGazSyTL.js.map → messages-DEsLGBB9.js.map} +1 -1
  49. package/dist/output/stream-json.d.ts +2 -2
  50. package/dist/output/stream-json.js +1 -1
  51. package/dist/output/terminal.d.ts +2 -2
  52. package/dist/{presets-kPEMOCmE.js → presets-HDIxliiq.js} +2 -2
  53. package/dist/{presets-kPEMOCmE.js.map → presets-HDIxliiq.js.map} +1 -1
  54. package/dist/presets.d.ts +2 -2
  55. package/dist/presets.js +1 -1
  56. package/dist/{providers-Bo2biCyT.js → providers-Cz-RNYZO.js} +7 -13
  57. package/dist/providers-Cz-RNYZO.js.map +1 -0
  58. package/dist/providers.d.ts +1 -1
  59. package/dist/providers.js +2 -2
  60. package/dist/restate.d.ts +2 -2
  61. package/dist/session/sqlite.d.ts +1 -1
  62. package/dist/{session-B69BQSn1.js → session-BDWZZaYa.js} +2 -2
  63. package/dist/{session-B69BQSn1.js.map → session-BDWZZaYa.js.map} +1 -1
  64. package/dist/session.d.ts +1 -1
  65. package/dist/session.js +2 -2
  66. package/dist/skills.d.ts +2 -2
  67. package/dist/{tool-formatters-CkqBgPH4.d.ts → tool-formatters-CNSMadtp.d.ts} +2 -2
  68. package/dist/{tool-formatters-CkqBgPH4.d.ts.map → tool-formatters-CNSMadtp.d.ts.map} +1 -1
  69. package/dist/tools/fetch-url.d.ts +1 -1
  70. package/dist/tools/web-search.d.ts +1 -1
  71. package/dist/{tools-5Bnlq68O.js → tools-DhzKzB1y.js} +39 -56
  72. package/dist/tools-DhzKzB1y.js.map +1 -0
  73. package/dist/tools.d.ts +2 -2
  74. package/dist/tools.js +1 -1
  75. package/dist/{transcript-anchors-D4PwUMyO.js → transcript-anchors-Cq-8gx8u.js} +9 -1417
  76. package/dist/transcript-anchors-Cq-8gx8u.js.map +1 -0
  77. package/dist/{transcript-anchors-BnLZmASt.d.ts → transcript-anchors-EG-SmZRu.d.ts} +4 -4
  78. package/dist/{transcript-anchors-BnLZmASt.d.ts.map → transcript-anchors-EG-SmZRu.d.ts.map} +1 -1
  79. package/dist/tui.d.ts +3 -3
  80. package/dist/tui.js +7 -6
  81. package/dist/tui.js.map +1 -1
  82. package/dist/{turn-operations-B6FaQAZN.d.ts → turn-operations-DwtWRYr1.d.ts} +3 -3
  83. package/dist/{turn-operations-B6FaQAZN.d.ts.map → turn-operations-DwtWRYr1.d.ts.map} +1 -1
  84. package/dist/{types-B39tBba1.d.ts → types-Bs2oY7Ux.d.ts} +27 -4
  85. package/dist/types-Bs2oY7Ux.d.ts.map +1 -0
  86. package/dist/types.d.ts +4 -4
  87. package/dist/xdg-zlSeVBhQ.js +1417 -0
  88. package/dist/xdg-zlSeVBhQ.js.map +1 -0
  89. package/docs/ACP.md +221 -0
  90. package/package.json +11 -1
  91. package/dist/contexts-VhV4Af8x.js.map +0 -1
  92. package/dist/index-CJ-2g7bY.d.ts.map +0 -1
  93. package/dist/providers-Bo2biCyT.js.map +0 -1
  94. package/dist/tools-5Bnlq68O.js.map +0 -1
  95. package/dist/transcript-anchors-D4PwUMyO.js.map +0 -1
  96. package/dist/types-B39tBba1.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"headless-tVN-g6IR.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 /** Observed repeat count that tripped the guard. */\n count: number\n threshold: number\n action: 'block' | 'steer' | '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 * Repeat-guard escalations. An `action: 'steer'` entry means the tool still\n * executed and got a steering message appended to its result. An\n * `action: 'abort'` 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
+ {"version":3,"file":"headless-0O6HMNBQ.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 /** Observed repeat count that tripped the guard. */\n count: number\n threshold: number\n action: 'block' | 'steer' | '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 * Repeat-guard escalations. An `action: 'steer'` entry means the tool still\n * executed and got a steering message appended to its result. An\n * `action: 'abort'` 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 HeadlessOptions, Bn as formatHeadlessTurnEvent, Dn as FormattedHeadlessTurnEvent, En as FormattedHeadlessResult, Fn as OpenAIChatContentPart, Gn as runHeadless, Hn as headlessEventToJsonl, In as OpenAIChatMessage, Kn as transcriptToOpenAIMessages, Ln as ProviderTranscriptFormat, Mn as HeadlessResult, Nn as HeadlessStatus, On as HeadlessErrorInfo, Pn as HeadlessUsage, Rn as exitCodeForHeadlessResult, Un as installHeadlessEventAdapter, Vn as formattedHeadlessTurnEventToJsonl, Wn as providerTranscriptFormatForProvider, jn as HeadlessOutputFormat, kn as HeadlessEvent, qn as transcriptToProviderMessages, zn as formatHeadlessResult } from "./index-CJ-2g7bY.js";
1
+ import { An as HeadlessOptions, Bn as formatHeadlessTurnEvent, Dn as FormattedHeadlessTurnEvent, En as FormattedHeadlessResult, Fn as OpenAIChatContentPart, Gn as runHeadless, Hn as headlessEventToJsonl, In as OpenAIChatMessage, Kn as transcriptToOpenAIMessages, Ln as ProviderTranscriptFormat, Mn as HeadlessResult, Nn as HeadlessStatus, On as HeadlessErrorInfo, Pn as HeadlessUsage, Rn as exitCodeForHeadlessResult, Un as installHeadlessEventAdapter, Vn as formattedHeadlessTurnEventToJsonl, Wn as providerTranscriptFormatForProvider, jn as HeadlessOutputFormat, kn as HeadlessEvent, qn as transcriptToProviderMessages, zn as formatHeadlessResult } from "./index-CDcQW-2S.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-tVN-g6IR.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-0O6HMNBQ.js";
2
2
  export { exitCodeForHeadlessResult, formatHeadlessResult, formatHeadlessTurnEvent, formattedHeadlessTurnEventToJsonl, headlessEventToJsonl, installHeadlessEventAdapter, providerTranscriptFormatForProvider, runHeadless, transcriptToOpenAIMessages, transcriptToProviderMessages };
@@ -1,5 +1,5 @@
1
- import { F as SkillDiagnostic, L as SkillSource, P as SkillConfig, R as SkillsConfig, f as SkillActivationState, r as AgentHooks } from "./agent-Db4ojCSV.js";
2
- import { c as ExecutionContext, l as ExecutionHandle } from "./types-B39tBba1.js";
1
+ import { F as SkillDiagnostic, L as SkillSource, P as SkillConfig, R as SkillsConfig, f as SkillActivationState, r as AgentHooks } from "./agent-D7ZL8B2X.js";
2
+ import { c as ExecutionContext, l as ExecutionHandle } from "./types-Bs2oY7Ux.js";
3
3
  import { Hookable } from "hookable";
4
4
 
5
5
  //#region src/skills/allowed-tools.d.ts
@@ -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-BEblm0Hu.d.ts.map
316
+ //# sourceMappingURL=index-BsyPeCSL.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-BEblm0Hu.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-BsyPeCSL.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,5 +1,5 @@
1
- import { B as Session, En as PromptPart, Hn as ThinkingLevel, N as ShellInterpolationApproval, P as SkillConfig, St as StreamOptions, T as ToolDef, U as SessionStore, cn as AgentStats, dn as ChildRunStats, er as TurnFinishReason, f as SkillActivationState, i as AgentOptions, qn as ToolResultContent, r as AgentHooks, tr as TurnUsage, u as ActiveSkill, w as ToolContext, yn as McpServerConfig, yt as Provider, zn as SessionTurn } from "./agent-Db4ojCSV.js";
2
- import { c as ExecutionContext, l as ExecutionHandle } from "./types-B39tBba1.js";
1
+ import { B as Session, En as PromptPart, Hn as ThinkingLevel, N as ShellInterpolationApproval, P as SkillConfig, St as StreamOptions, T as ToolDef, U as SessionStore, cn as AgentStats, dn as ChildRunStats, er as TurnFinishReason, f as SkillActivationState, i as AgentOptions, qn as ToolResultContent, r as AgentHooks, tr as TurnUsage, u as ActiveSkill, w as ToolContext, yn as McpServerConfig, yt as Provider, zn as SessionTurn } from "./agent-D7ZL8B2X.js";
2
+ import { c as ExecutionContext, l as ExecutionHandle } from "./types-Bs2oY7Ux.js";
3
3
  import { Hookable } from "hookable";
4
4
  import { OAuthClientProvider, OAuthDiscoveryState } from "@modelcontextprotocol/sdk/client/auth.js";
5
5
  import { OAuthClientInformationMixed, OAuthClientMetadata, OAuthTokens } from "@modelcontextprotocol/sdk/shared/auth.js";
@@ -3007,4 +3007,4 @@ declare function definePreset(config: Preset): Preset;
3007
3007
  declare function composePresets(...presets: Preset[]): Preset;
3008
3008
  //#endregion
3009
3009
  export { PERSISTED_STUB_PREFIX as $, LazyToolEntry as $n, CompactPromptTooLongError as $r, buildEvalRunSummary as $t, stableStringify as A, HeadlessOptions as An, RunSummaryCollector as Ar, EvalRunSummary as At, OAuthCallbackHandle as B, formatHeadlessTurnEvent as Bn, PostCompactAttachments as Br, EvalWorkspaceSnapshot as Bt, splitSystemPrompt as C, CacheDimensionSnapshot as Ci, relativeArtifactPath as Cn, grep as Cr, EvalDefinition as Ct, defaultRepeatGuardNormalize as D, snapshotCacheDimensions as Di, FormattedHeadlessTurnEvent as Dn, RunSummaryBlock as Dr, EvalRunMetricAggregate as Dt, statsByModel as E, installCacheBreakLogger as Ei, FormattedHeadlessResult as En, RunSummary as Er, EvalMetricError as Et, MetricAttributes as F, OpenAIChatContentPart as Fn, RunSummaryValidation as Fr, EvalScorerContext as Ft, LoginMcpServerResult as G, runHeadless as Gn, selectFilesFromSession as Gr, MetricSpecMap as Gt, OAuthCallbackResult as H, headlessEventToJsonl as Hn, RecentFile as Hr, MetricDirection as Ht, MetricsHookSet as I, OpenAIChatMessage as In, createRunSummaryCollector as Ir, EvalTestRunner as It, McpCredentialStore as J, writeFile as Jn, CompactOptions as Jr, ReusableExecutionContext as Jt, loginMcpServer as K, transcriptToOpenAIMessages as Kn, selectRecentFiles as Kr, MetricStats as Kt, MetricsHooksOptions as L, ProviderTranscriptFormat as Ln, BYTES_PER_TOKEN as Lr, EvalVariantSummary as Lt, Histogram as M, HeadlessResult as Mn, RunSummaryError as Mr, EvalRunUsage as Mt, InstrumentOptions as N, HeadlessStatus as Nn, RunSummaryRepeatGuard as Nr, EvalScore as Nt, defaultRepeatGuardTracked as O, HeadlessErrorInfo as On, RunSummaryBudget as Or, EvalRunReporter as Ot, Meter as P, HeadlessUsage as Pn, RunSummaryTokens as Pr, EvalScorer as Pt, hasAuthorizationHeader as Q, validateToolArgs as Qn, CompactInvalidInputError as Qr, artifactPath as Qt, UpDownCounter as R, exitCodeForHeadlessResult as Rn, estimateTokens as Rr, EvalWorkspaceFile as Rt, replaceDynamicSection as S, CacheDimensionName as Si, registerEvalTests as Sn, createInteractionTool as Sr, EvalCaseResult as St, flattenTurns as T, fnv1a32 as Ti, statusCompleted as Tn, edit as Tr, EvalMetric as Tt, startOAuthCallback as U, installHeadlessEventAdapter as Un, buildPostCompactAttachments as Ur, MetricEmitter as Ut, OAuthCallbackOptions as V, formattedHeadlessTurnEventToJsonl as Vn, PostCompactRestoreOptions as Vr, LlmJudgeOptions as Vt, LoginMcpServerOptions as W, providerTranscriptFormatForProvider as Wn, selectFilesFromReadState as Wr, MetricSpec as Wt, McpOAuthProviderOptions as X, waitTask as Xn, CompactStartEvent as Xr, TrajectoryStep as Xt, McpOAuthProvider as Y, WAIT_TASK_TIMED_OUT_PREFIX as Yn, CompactResult as Yr, Trajectory as Yt, createMemoryMcpCredentialStore as Z, ValidationResult as Zn, compactConversation as Zr, TrajectoryStepKind as Zt, appendDynamicSection as _, stripImagesFromTurns as _i, formatEvalRunSummary as _n, shell as _r, EvalAgentRunResult as _t, basicTools as a, TRAILER as ai, createEvalRunReporter as an, SubagentDef as ar, maybePersistToolResult as at, joinSystemPrompt as b, CacheBreakLoggerOptions as bi, llmJudge as bn, listFiles as br, EvalArtifacts as bt, Span as c, buildFullCompactPrompt as ci, defineMetrics as cn, SkillsUseToolOptions as cr, INTERRUPT_MESSAGE_FOR_TOOL_USE as ct, TracingHookSet as d, ANCHOR_PREVIEW_MAX_CHARS as di, fileContains as dn, createSkillsRunScriptTool as dr, TOOL_USE_SKIPPED_MESSAGE as dt, BASE_INSTRUCTIONS as ei, buildRegisteredEvals as en, ToolSearchToolOptions as er, PERSISTENCE_PREVIEW_BYTES as et, TracingHooksOptions as f, CompactScope as fi, fileContentQuality as fn, SkillsReadToolOptions as fr, CreateEvalAgentOptions as ft, SystemPromptParts as g, sliceForCompaction as gi, formatEvalCaseSummary as gn, createShellTool as gr, EvalAgentRunOptions as gt, SYSTEM_PROMPT_BOUNDARY as h, anchorPreviewFor as hi, finalizeEvalMetrics as hn, CreateShellToolOptions as hr, EvalAgentMcpServers as ht, _default as i, NO_TOOLS_PREAMBLE as ii, createEvalAgent as in, SpawnToolState as ir, cleanupPersistedSession as it, Counter as j, HeadlessOutputFormat as jn, RunSummaryCollectorOptions as jr, EvalRunSummaryCase as jt, normalizeShellCommand as k, HeadlessEvent as kn, RunSummaryByModel as kr, EvalRunReporterOptions as kt, StartSpan as l, buildTailCompactPrompt as li, efficiencyMetricValues as ln, createSkillsUseTool as lr, SHELL_CASCADE_CANCEL_MESSAGE as lt, OperationTimeoutError as m, SummaryToTurnInput as mi, fileExistsOneOf as mn, shellKill as mr, EvalAgent as mt, composePresets as n, CompactPromptBuilder as ni, clearRegisteredEvals as nn, ChildAgent as nr, PersistOutcome as nt, zodToJsonSchema as o, buildCompactPrompt as oi, createReusableExecutionContext as on, SubagentRegistry as or, resolvePersistDir as ot, createTracingHooks as p, CompactionSlice as pi, fileExists as pn, createSkillsReadTool as pr, EFFICIENCY_METRICS as pt, McpCredentialEntry as q, transcriptToProviderMessages as qn, CompactEndEvent as qr, RegisterEvalTestsOptions as qt, definePreset as r, CompactPromptOptions as ri, computeEvalTagScores as rn, SpawnToolOptions as rr, buildPersistedStub as rt, GEN_AI_ATTRIBUTES as s, buildFromCompactPrompt as si, defineEval as sn, createSpawnTool as sr, resolveTasksDir as st, Preset as t, CompactDirection as ti, buildTrajectory as tn, createToolSearchTool as tr, PersistInput as tt, TracingConventions as u, buildUpToCompactPrompt as ui, emitEfficiencyMetrics as un, SkillsRunScriptToolOptions as ur, TOOL_USE_CANCELLED_MESSAGE as ut, appendStaticSection as v, summaryToTurn as vi, formatTrajectoryLine as vn, readFile as vr, EvalAgentRunStats as vt, ModelUsage as w, diffCacheDimensions as wi, runEvalCase as wn, glob as wr, EvalDefinitionContext as wt, renderSystemForWire as x, CacheDimensionDiff as xi, normalizeMetric as xn, InteractionToolOptions as xr, EvalCaseOptions as xt, hasSystemPromptBoundary as y, truncateHeadForPtlRetry as yi, functionalityMetric as yn, multiEdit as yr, EvalAgentStats as yt, createMetricsHooks as z, formatHeadlessResult as zn, utf8ByteLength as zr, EvalWorkspaceOptions as zt };
3010
- //# sourceMappingURL=index-CJ-2g7bY.d.ts.map
3010
+ //# sourceMappingURL=index-CDcQW-2S.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CDcQW-2S.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/timeout.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 { c as ExecutionContext, s as ExecResult, u as SpawnConfig } from "./types-B39tBba1.js";
1
+ import { c as ExecutionContext, f as ListFilesOptions, p as SpawnConfig, s as ExecResult } from "./types-Bs2oY7Ux.js";
2
2
 
3
3
  //#region src/contexts/process.d.ts
4
4
  declare function createProcessContext(config?: SpawnConfig): ExecutionContext;
@@ -17,10 +17,10 @@ interface SandboxProvider {
17
17
  }) => Promise<ExecResult>;
18
18
  readFile: (sandboxId: string, path: string) => Promise<string>;
19
19
  writeFile: (sandboxId: string, path: string, content: string) => Promise<void>;
20
- listFiles: (sandboxId: string, path: string) => Promise<string[]>;
20
+ listFiles: (sandboxId: string, path: string, options?: ListFilesOptions) => Promise<string[]>;
21
21
  destroy: (sandboxId: string) => Promise<void>;
22
22
  }
23
23
  declare function createSandboxContext(provider: SandboxProvider): ExecutionContext;
24
24
  //#endregion
25
25
  export { createSandboxContext as n, createProcessContext as r, SandboxProvider as t };
26
- //# sourceMappingURL=index-CrMb8jCE.d.ts.map
26
+ //# sourceMappingURL=index-CF15aqlk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-CrMb8jCE.d.ts","names":[],"sources":["../src/contexts/process.ts","../src/contexts/sandbox.ts"],"mappings":";;;iBA6HgB,oBAAA,CAAqB,MAAA,GAAS,WAAA,GAAc,gBAAgB;;;UChH3D,eAAA;EACf,IAAA;EACA,KAAA,GAAQ,MAAA,EAAQ,WAAA,KAAgB,OAAA;IAAU,EAAA;IAAY,GAAA;EAAA;EACtD,IAAA,GAAO,SAAA,UAAmB,OAAA,UAAiB,OAAA;IAAY,GAAA;IAAc,GAAA,GAAM,MAAA;IAAwB,OAAA;EAAA,MAAuB,OAAA,CAAQ,UAAA;EAClI,QAAA,GAAW,SAAA,UAAmB,IAAA,aAAiB,OAAA;EAC/C,SAAA,GAAY,SAAA,UAAmB,IAAA,UAAc,OAAA,aAAoB,OAAA;EACjE,SAAA,GAAY,SAAA,UAAmB,IAAA,aAAiB,OAAA;EAChD,OAAA,GAAU,SAAA,aAAsB,OAAA;AAAA;AAAA,iBAOlB,oBAAA,CAAqB,QAAA,EAAU,eAAA,GAAkB,gBAAgB"}
1
+ {"version":3,"file":"index-CF15aqlk.d.ts","names":[],"sources":["../src/contexts/process.ts","../src/contexts/sandbox.ts"],"mappings":";;;iBA2HgB,oBAAA,CAAqB,MAAA,GAAS,WAAA,GAAc,gBAAgB;;;UC7G3D,eAAA;EACf,IAAA;EACA,KAAA,GAAQ,MAAA,EAAQ,WAAA,KAAgB,OAAA;IAAU,EAAA;IAAY,GAAA;EAAA;EACtD,IAAA,GAAO,SAAA,UAAmB,OAAA,UAAiB,OAAA;IAAY,GAAA;IAAc,GAAA,GAAM,MAAA;IAAwB,OAAA;EAAA,MAAuB,OAAA,CAAQ,UAAA;EAClI,QAAA,GAAW,SAAA,UAAmB,IAAA,aAAiB,OAAA;EAC/C,SAAA,GAAY,SAAA,UAAmB,IAAA,UAAc,OAAA,aAAoB,OAAA;EACjE,SAAA,GAAY,SAAA,UAAmB,IAAA,UAAc,OAAA,GAAU,gBAAA,KAAqB,OAAA;EAC5E,OAAA,GAAU,SAAA,aAAsB,OAAA;AAAA;AAAA,iBAOlB,oBAAA,CAAqB,QAAA,EAAU,eAAA,GAAkB,gBAAgB"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { $ as EnsureToolResultPairingOptions, $n as ToolResultVideoContent, An as RepeatGuardToolMatcher, At as SchemaSanitizeOptions, B as Session, Bn as SpawnHookContext, Bt as classifyOpenAICompatError, Cn as PromptAudioPart, Cr as ContextMcpGroup, D as ReadStateEntry, Dn as PromptTextPart, Dt as TurnResult, E as ToolMap, En as PromptPart, Et as ToolSpec, F as SkillDiagnostic, Fn as SessionContentBlock, Ft as OpenRouterParams, Gn as ToolOutcome, Gt as LocalParams, H as SessionRun, Hn as ThinkingLevel, Ht as openaiCompat, I as SkillResource, In as SessionEndStatus, It as openrouter, J as createRemoteStore, Jn as ToolResultDocumentContent, K as loadSession, Kn as ToolResultAudioContent, Kt as local, L as SkillSource, Ln as SessionHookContext, Lt as OpenAICompatAuthHeader, M as resolveReadStateMap, Mn as ResolveContentRefBlock, Mt as SchemaSanitizeResult, N as ShellInterpolationApproval, Nn as RetryConfig, Nt as sanitizeToolSchema, O as ReadStateMap, On as PromptVideoPart, Ot as XaiParams, P as SkillConfig, Pn as RunHookMap, Pt as sanitizeToolSpecs, Q as createFileMapStore, Qn as ToolResultTextContent, Qt as baseten, R as SkillsConfig, Rn as SessionMessage, Rt as OpenAICompatHttpError, S as resultToString, Sn as OAuthRefreshHookContext, Sr as ContextItem, St as StreamOptions, T as ToolDef, Tn as PromptImagePart, Tr as ContextUsageSplit, Tt as ToolResult, U as SessionStore, Ut as OpenAIParams, V as SessionData, Vn as StreamHookContext, Vt as mapOAIFinishReason, W as createSession, Wn as ToolHookContext, Wt as openai, X as FileMapAdapter, Xn as ToolResultImageContent, Xt as cerebras, Y as createMemoryStore, Yn as ToolResultDocumentRefContent, Yt as CerebrasParams, Z as FileMapStoreOptions, Zn as ToolResultImageRefContent, Zt as BasetenParams, _n as DedupHasher, _r as ContextBreakdown, _t as toOpenAI, a as McpConnector, an as AgentBehavior, ar as AgentAbortedError, at as TOOL_USE_INTERRUPTED_MARKER, b as normalizeMcpBlocks, bn as McpToolHookContext, br as ContextCategoryId, bt as ProviderCapabilities, c as createAgent, cn as AgentStats, cr as AgentProviderError, ct as autoDetectAndConvert, d as DeactivationReason, dr as CONTEXT_EXCEEDED_MESSAGE_PATTERNS, dt as ensureToolResultPairing, en as ArceeParams, er as TurnFinishReason, et as ORPHANED_TOOL_RESULT_MARKER, f as SkillActivationState, fn as CompactEndHookContext, fr as ClassifiedError, ft as filterUnresolvedToolUses, g as McpConnection, gr as toTypedError, gt as toAnthropic, h as ConnectMcpServersOptions, hn as CompactStartHookContext, hr as matchesContextExceeded, ht as remintDuplicateToolCallIds, i as AgentOptions, in as applyAnthropicCacheBreakpoints, ir as toolResultToText, it as SYNTHETIC_TOOL_RESULT_PLACEHOLDER, j as readStateKey, jn as ResolveContentRef, jt as SchemaSanitizeProfile, k as getReadState, kn as RepeatGuardConfig, kt as xai, l as ActivationVia, ln as AutoCompact, lr as AgentToolNotAllowedError, lt as detectTurnInterruption, m as createSkillActivationState, mn as CompactHookContext, mr as errorMessage, mt as fromOpenAI, n as AgentHookMap, nn as AnthropicParams, nr as toolOutputBudgetByteLength, nt as PairingRepairMode, o as McpToolMeta, or as AgentBudgetExceededError, ot as ToWireMessagesOptions, p as SkillActivationStateOptions, pn as CompactFunction, pr as ClassifiedErrorKind, pt as fromAnthropic, q as RemoteStoreOptions, qn as ToolResultContent, r as AgentHooks, rn as anthropic, rr as toolOutputByteLength, rt as RemintResult, s as McpToolWrap, sn as AgentRunOptions, sr as AgentContextExceededError, st as TurnInterruptionState, t as Agent, tn as arcee, tr as TurnUsage, tt as PairingRepair, u as ActiveSkill, un as AutoCompactConfig, ur as AgentToolPairingError, ut as ensureEndsWithUserMessage, v as connectMcpServers, vn as DedupToolConfig, vr as ContextBreakdownOptions, vt as toWireMessages, w as ToolContext, wn as PromptDocumentPart, wr as ContextSnapshot, wt as ToolCall, x as normalizeMcpServers, xr as ContextExactCounts, xt as StreamCallbacks, yn as McpServerConfig, yr as ContextCategory, yt as Provider, z as CreateSessionOptions, zn as SessionTurn, zt as OpenAICompatParams } from "./agent-Db4ojCSV.js";
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
- import { n as createSandboxContext, r as createProcessContext, t as SandboxProvider } from "./index-CrMb8jCE.js";
4
- import { $ as PERSISTED_STUB_PREFIX, $r as CompactPromptTooLongError, $t as buildEvalRunSummary, A as stableStringify, An as HeadlessOptions, Ar as RunSummaryCollector, At as EvalRunSummary, B as OAuthCallbackHandle, Br as PostCompactAttachments, Bt as EvalWorkspaceSnapshot, C as splitSystemPrompt, Ci as CacheDimensionSnapshot, Cn as relativeArtifactPath, Cr as grep, Ct as EvalDefinition, D as defaultRepeatGuardNormalize, Di as snapshotCacheDimensions, Dr as RunSummaryBlock, Dt as EvalRunMetricAggregate, E as statsByModel, Ei as installCacheBreakLogger, Er as RunSummary, Et as EvalMetricError, F as MetricAttributes, Fr as RunSummaryValidation, Ft as EvalScorerContext, G as LoginMcpServerResult, Gn as runHeadless, Gr as selectFilesFromSession, Gt as MetricSpecMap, H as OAuthCallbackResult, Hn as headlessEventToJsonl, Hr as RecentFile, Ht as MetricDirection, I as MetricsHookSet, In as OpenAIChatMessage, Ir as createRunSummaryCollector, It as EvalTestRunner, J as McpCredentialStore, Jr as CompactOptions, Jt as ReusableExecutionContext, K as loginMcpServer, Kn as transcriptToOpenAIMessages, Kr as selectRecentFiles, Kt as MetricStats, L as MetricsHooksOptions, Lr as BYTES_PER_TOKEN, Lt as EvalVariantSummary, M as Histogram, Mn as HeadlessResult, Mr as RunSummaryError, Mt as EvalRunUsage, N as InstrumentOptions, Nn as HeadlessStatus, Nr as RunSummaryRepeatGuard, Nt as EvalScore, O as defaultRepeatGuardTracked, On as HeadlessErrorInfo, Or as RunSummaryBudget, Ot as EvalRunReporter, P as Meter, Pn as HeadlessUsage, Pr as RunSummaryTokens, Pt as EvalScorer, Q as hasAuthorizationHeader, Qn as validateToolArgs, Qr as CompactInvalidInputError, Qt as artifactPath, R as UpDownCounter, Rr as estimateTokens, Rt as EvalWorkspaceFile, S as replaceDynamicSection, Si as CacheDimensionName, Sn as registerEvalTests, Sr as createInteractionTool, St as EvalCaseResult, T as flattenTurns, Ti as fnv1a32, Tn as statusCompleted, Tr as edit, Tt as EvalMetric, U as startOAuthCallback, Ur as buildPostCompactAttachments, Ut as MetricEmitter, V as OAuthCallbackOptions, Vr as PostCompactRestoreOptions, Vt as LlmJudgeOptions, W as LoginMcpServerOptions, Wr as selectFilesFromReadState, Wt as MetricSpec, X as McpOAuthProviderOptions, Xn as waitTask, Xr as CompactStartEvent, Xt as TrajectoryStep, Y as McpOAuthProvider, Yr as CompactResult, Yt as Trajectory, Z as createMemoryMcpCredentialStore, Zn as ValidationResult, Zr as compactConversation, Zt as TrajectoryStepKind, _ as appendDynamicSection, _i as stripImagesFromTurns, _n as formatEvalRunSummary, _t as EvalAgentRunResult, a as basicTools, ai as TRAILER, an as createEvalRunReporter, ar as SubagentDef, at as maybePersistToolResult, b as joinSystemPrompt, bi as CacheBreakLoggerOptions, bn as llmJudge, bt as EvalArtifacts, c as Span, ci as buildFullCompactPrompt, cn as defineMetrics, cr as SkillsUseToolOptions, ct as INTERRUPT_MESSAGE_FOR_TOOL_USE, d as TracingHookSet, di as ANCHOR_PREVIEW_MAX_CHARS, dn as fileContains, dr as createSkillsRunScriptTool, dt as TOOL_USE_SKIPPED_MESSAGE, ei as BASE_INSTRUCTIONS, en as buildRegisteredEvals, et as PERSISTENCE_PREVIEW_BYTES, f as TracingHooksOptions, fi as CompactScope, fn as fileContentQuality, fr as SkillsReadToolOptions, ft as CreateEvalAgentOptions, g as SystemPromptParts, gi as sliceForCompaction, gn as formatEvalCaseSummary, gr as createShellTool, gt as EvalAgentRunOptions, h as SYSTEM_PROMPT_BOUNDARY, hi as anchorPreviewFor, hn as finalizeEvalMetrics, hr as CreateShellToolOptions, ht as EvalAgentMcpServers, i as _default, ii as NO_TOOLS_PREAMBLE, in as createEvalAgent, ir as SpawnToolState, it as cleanupPersistedSession, j as Counter, jr as RunSummaryCollectorOptions, jt as EvalRunSummaryCase, k as normalizeShellCommand, kn as HeadlessEvent, kr as RunSummaryByModel, kt as EvalRunReporterOptions, l as StartSpan, li as buildTailCompactPrompt, ln as efficiencyMetricValues, lr as createSkillsUseTool, lt as SHELL_CASCADE_CANCEL_MESSAGE, m as OperationTimeoutError, mi as SummaryToTurnInput, mn as fileExistsOneOf, mt as EvalAgent, ni as CompactPromptBuilder, nn as clearRegisteredEvals, nr as ChildAgent, nt as PersistOutcome, o as zodToJsonSchema, oi as buildCompactPrompt, on as createReusableExecutionContext, or as SubagentRegistry, ot as resolvePersistDir, p as createTracingHooks, pi as CompactionSlice, pn as fileExists, pr as createSkillsReadTool, pt as EFFICIENCY_METRICS, q as McpCredentialEntry, qr as CompactEndEvent, qt as RegisterEvalTestsOptions, r as definePreset, ri as CompactPromptOptions, rn as computeEvalTagScores, rr as SpawnToolOptions, rt as buildPersistedStub, s as GEN_AI_ATTRIBUTES, si as buildFromCompactPrompt, sn as defineEval, sr as createSpawnTool, st as resolveTasksDir, t as Preset, ti as CompactDirection, tn as buildTrajectory, tt as PersistInput, u as TracingConventions, ui as buildUpToCompactPrompt, un as emitEfficiencyMetrics, ur as SkillsRunScriptToolOptions, ut as TOOL_USE_CANCELLED_MESSAGE, v as appendStaticSection, vi as summaryToTurn, vn as formatTrajectoryLine, vt as EvalAgentRunStats, w as ModelUsage, wi as diffCacheDimensions, wn as runEvalCase, wr as glob, wt as EvalDefinitionContext, x as renderSystemForWire, xi as CacheDimensionDiff, xn as normalizeMetric, xr as InteractionToolOptions, xt as EvalCaseOptions, y as hasSystemPromptBoundary, yi as truncateHeadForPtlRetry, yn as functionalityMetric, yr as multiEdit, yt as EvalAgentStats, z as createMetricsHooks, zr as utf8ByteLength, zt as EvalWorkspaceOptions } from "./index-CJ-2g7bY.js";
1
+ import { $ as EnsureToolResultPairingOptions, $n as ToolResultVideoContent, An as RepeatGuardToolMatcher, At as SchemaSanitizeOptions, B as Session, Bn as SpawnHookContext, Bt as classifyOpenAICompatError, Cn as PromptAudioPart, Cr as ContextMcpGroup, D as ReadStateEntry, Dn as PromptTextPart, Dt as TurnResult, E as ToolMap, En as PromptPart, Et as ToolSpec, F as SkillDiagnostic, Fn as SessionContentBlock, Ft as OpenRouterParams, Gn as ToolOutcome, Gt as LocalParams, H as SessionRun, Hn as ThinkingLevel, Ht as openaiCompat, I as SkillResource, In as SessionEndStatus, It as openrouter, J as createRemoteStore, Jn as ToolResultDocumentContent, K as loadSession, Kn as ToolResultAudioContent, Kt as local, L as SkillSource, Ln as SessionHookContext, Lt as OpenAICompatAuthHeader, M as resolveReadStateMap, Mn as ResolveContentRefBlock, Mt as SchemaSanitizeResult, N as ShellInterpolationApproval, Nn as RetryConfig, Nt as sanitizeToolSchema, O as ReadStateMap, On as PromptVideoPart, Ot as XaiParams, P as SkillConfig, Pn as RunHookMap, Pt as sanitizeToolSpecs, Q as createFileMapStore, Qn as ToolResultTextContent, Qt as baseten, R as SkillsConfig, Rn as SessionMessage, Rt as OpenAICompatHttpError, S as resultToString, Sn as OAuthRefreshHookContext, Sr as ContextItem, St as StreamOptions, T as ToolDef, Tn as PromptImagePart, Tr as ContextUsageSplit, Tt as ToolResult, U as SessionStore, Ut as OpenAIParams, V as SessionData, Vn as StreamHookContext, Vt as mapOAIFinishReason, W as createSession, Wn as ToolHookContext, Wt as openai, X as FileMapAdapter, Xn as ToolResultImageContent, Xt as cerebras, Y as createMemoryStore, Yn as ToolResultDocumentRefContent, Yt as CerebrasParams, Z as FileMapStoreOptions, Zn as ToolResultImageRefContent, Zt as BasetenParams, _n as DedupHasher, _r as ContextBreakdown, _t as toOpenAI, a as McpConnector, an as AgentBehavior, ar as AgentAbortedError, at as TOOL_USE_INTERRUPTED_MARKER, b as normalizeMcpBlocks, bn as McpToolHookContext, br as ContextCategoryId, bt as ProviderCapabilities, c as createAgent, cn as AgentStats, cr as AgentProviderError, ct as autoDetectAndConvert, d as DeactivationReason, dr as CONTEXT_EXCEEDED_MESSAGE_PATTERNS, dt as ensureToolResultPairing, en as ArceeParams, er as TurnFinishReason, et as ORPHANED_TOOL_RESULT_MARKER, f as SkillActivationState, fn as CompactEndHookContext, fr as ClassifiedError, ft as filterUnresolvedToolUses, g as McpConnection, gr as toTypedError, gt as toAnthropic, h as ConnectMcpServersOptions, hn as CompactStartHookContext, hr as matchesContextExceeded, ht as remintDuplicateToolCallIds, i as AgentOptions, in as applyAnthropicCacheBreakpoints, ir as toolResultToText, it as SYNTHETIC_TOOL_RESULT_PLACEHOLDER, j as readStateKey, jn as ResolveContentRef, jt as SchemaSanitizeProfile, k as getReadState, kn as RepeatGuardConfig, kt as xai, l as ActivationVia, ln as AutoCompact, lr as AgentToolNotAllowedError, lt as detectTurnInterruption, m as createSkillActivationState, mn as CompactHookContext, mr as errorMessage, mt as fromOpenAI, n as AgentHookMap, nn as AnthropicParams, nr as toolOutputBudgetByteLength, nt as PairingRepairMode, o as McpToolMeta, or as AgentBudgetExceededError, ot as ToWireMessagesOptions, p as SkillActivationStateOptions, pn as CompactFunction, pr as ClassifiedErrorKind, pt as fromAnthropic, q as RemoteStoreOptions, qn as ToolResultContent, r as AgentHooks, rn as anthropic, rr as toolOutputByteLength, rt as RemintResult, s as McpToolWrap, sn as AgentRunOptions, sr as AgentContextExceededError, st as TurnInterruptionState, t as Agent, tn as arcee, tr as TurnUsage, tt as PairingRepair, u as ActiveSkill, un as AutoCompactConfig, ur as AgentToolPairingError, ut as ensureEndsWithUserMessage, v as connectMcpServers, vn as DedupToolConfig, vr as ContextBreakdownOptions, vt as toWireMessages, w as ToolContext, wn as PromptDocumentPart, wr as ContextSnapshot, wt as ToolCall, x as normalizeMcpServers, xr as ContextExactCounts, xt as StreamCallbacks, yn as McpServerConfig, yr as ContextCategory, yt as Provider, z as CreateSessionOptions, zn as SessionTurn, zt as OpenAICompatParams } from "./agent-D7ZL8B2X.js";
2
+ import { _ as TaskStallInfo, a as ContextType, c as ExecutionContext, d as ListFilesEntry, f as ListFilesOptions, g as TaskHandle, h as TaskExitInfo, i as ContextMount, l as ExecutionHandle, m as TaskEntry, n as ContextCapabilities, o as DetachedTasksCapability, p as SpawnConfig, r as ContextHardening, s as ExecResult, t as BackgroundTaskStatus, u as ListFileMetadata, v as resolveDetachedTasksCapability } from "./types-Bs2oY7Ux.js";
3
+ import { n as createSandboxContext, r as createProcessContext, t as SandboxProvider } from "./index-CF15aqlk.js";
4
+ import { $ as PERSISTED_STUB_PREFIX, $r as CompactPromptTooLongError, $t as buildEvalRunSummary, A as stableStringify, An as HeadlessOptions, Ar as RunSummaryCollector, At as EvalRunSummary, B as OAuthCallbackHandle, Br as PostCompactAttachments, Bt as EvalWorkspaceSnapshot, C as splitSystemPrompt, Ci as CacheDimensionSnapshot, Cn as relativeArtifactPath, Cr as grep, Ct as EvalDefinition, D as defaultRepeatGuardNormalize, Di as snapshotCacheDimensions, Dr as RunSummaryBlock, Dt as EvalRunMetricAggregate, E as statsByModel, Ei as installCacheBreakLogger, Er as RunSummary, Et as EvalMetricError, F as MetricAttributes, Fr as RunSummaryValidation, Ft as EvalScorerContext, G as LoginMcpServerResult, Gn as runHeadless, Gr as selectFilesFromSession, Gt as MetricSpecMap, H as OAuthCallbackResult, Hn as headlessEventToJsonl, Hr as RecentFile, Ht as MetricDirection, I as MetricsHookSet, In as OpenAIChatMessage, Ir as createRunSummaryCollector, It as EvalTestRunner, J as McpCredentialStore, Jr as CompactOptions, Jt as ReusableExecutionContext, K as loginMcpServer, Kn as transcriptToOpenAIMessages, Kr as selectRecentFiles, Kt as MetricStats, L as MetricsHooksOptions, Lr as BYTES_PER_TOKEN, Lt as EvalVariantSummary, M as Histogram, Mn as HeadlessResult, Mr as RunSummaryError, Mt as EvalRunUsage, N as InstrumentOptions, Nn as HeadlessStatus, Nr as RunSummaryRepeatGuard, Nt as EvalScore, O as defaultRepeatGuardTracked, On as HeadlessErrorInfo, Or as RunSummaryBudget, Ot as EvalRunReporter, P as Meter, Pn as HeadlessUsage, Pr as RunSummaryTokens, Pt as EvalScorer, Q as hasAuthorizationHeader, Qn as validateToolArgs, Qr as CompactInvalidInputError, Qt as artifactPath, R as UpDownCounter, Rr as estimateTokens, Rt as EvalWorkspaceFile, S as replaceDynamicSection, Si as CacheDimensionName, Sn as registerEvalTests, Sr as createInteractionTool, St as EvalCaseResult, T as flattenTurns, Ti as fnv1a32, Tn as statusCompleted, Tr as edit, Tt as EvalMetric, U as startOAuthCallback, Ur as buildPostCompactAttachments, Ut as MetricEmitter, V as OAuthCallbackOptions, Vr as PostCompactRestoreOptions, Vt as LlmJudgeOptions, W as LoginMcpServerOptions, Wr as selectFilesFromReadState, Wt as MetricSpec, X as McpOAuthProviderOptions, Xn as waitTask, Xr as CompactStartEvent, Xt as TrajectoryStep, Y as McpOAuthProvider, Yr as CompactResult, Yt as Trajectory, Z as createMemoryMcpCredentialStore, Zn as ValidationResult, Zr as compactConversation, Zt as TrajectoryStepKind, _ as appendDynamicSection, _i as stripImagesFromTurns, _n as formatEvalRunSummary, _t as EvalAgentRunResult, a as basicTools, ai as TRAILER, an as createEvalRunReporter, ar as SubagentDef, at as maybePersistToolResult, b as joinSystemPrompt, bi as CacheBreakLoggerOptions, bn as llmJudge, bt as EvalArtifacts, c as Span, ci as buildFullCompactPrompt, cn as defineMetrics, cr as SkillsUseToolOptions, ct as INTERRUPT_MESSAGE_FOR_TOOL_USE, d as TracingHookSet, di as ANCHOR_PREVIEW_MAX_CHARS, dn as fileContains, dr as createSkillsRunScriptTool, dt as TOOL_USE_SKIPPED_MESSAGE, ei as BASE_INSTRUCTIONS, en as buildRegisteredEvals, et as PERSISTENCE_PREVIEW_BYTES, f as TracingHooksOptions, fi as CompactScope, fn as fileContentQuality, fr as SkillsReadToolOptions, ft as CreateEvalAgentOptions, g as SystemPromptParts, gi as sliceForCompaction, gn as formatEvalCaseSummary, gr as createShellTool, gt as EvalAgentRunOptions, h as SYSTEM_PROMPT_BOUNDARY, hi as anchorPreviewFor, hn as finalizeEvalMetrics, hr as CreateShellToolOptions, ht as EvalAgentMcpServers, i as _default, ii as NO_TOOLS_PREAMBLE, in as createEvalAgent, ir as SpawnToolState, it as cleanupPersistedSession, j as Counter, jr as RunSummaryCollectorOptions, jt as EvalRunSummaryCase, k as normalizeShellCommand, kn as HeadlessEvent, kr as RunSummaryByModel, kt as EvalRunReporterOptions, l as StartSpan, li as buildTailCompactPrompt, ln as efficiencyMetricValues, lr as createSkillsUseTool, lt as SHELL_CASCADE_CANCEL_MESSAGE, m as OperationTimeoutError, mi as SummaryToTurnInput, mn as fileExistsOneOf, mt as EvalAgent, ni as CompactPromptBuilder, nn as clearRegisteredEvals, nr as ChildAgent, nt as PersistOutcome, o as zodToJsonSchema, oi as buildCompactPrompt, on as createReusableExecutionContext, or as SubagentRegistry, ot as resolvePersistDir, p as createTracingHooks, pi as CompactionSlice, pn as fileExists, pr as createSkillsReadTool, pt as EFFICIENCY_METRICS, q as McpCredentialEntry, qr as CompactEndEvent, qt as RegisterEvalTestsOptions, r as definePreset, ri as CompactPromptOptions, rn as computeEvalTagScores, rr as SpawnToolOptions, rt as buildPersistedStub, s as GEN_AI_ATTRIBUTES, si as buildFromCompactPrompt, sn as defineEval, sr as createSpawnTool, st as resolveTasksDir, t as Preset, ti as CompactDirection, tn as buildTrajectory, tt as PersistInput, u as TracingConventions, ui as buildUpToCompactPrompt, un as emitEfficiencyMetrics, ur as SkillsRunScriptToolOptions, ut as TOOL_USE_CANCELLED_MESSAGE, v as appendStaticSection, vi as summaryToTurn, vn as formatTrajectoryLine, vt as EvalAgentRunStats, w as ModelUsage, wi as diffCacheDimensions, wn as runEvalCase, wr as glob, wt as EvalDefinitionContext, x as renderSystemForWire, xi as CacheDimensionDiff, xn as normalizeMetric, xr as InteractionToolOptions, xt as EvalCaseOptions, y as hasSystemPromptBoundary, yi as truncateHeadForPtlRetry, yn as functionalityMetric, yr as multiEdit, yt as EvalAgentStats, z as createMetricsHooks, zr as utf8ByteLength, zt as EvalWorkspaceOptions } from "./index-CDcQW-2S.js";
5
5
  import { a as effectiveContextWindow, i as OUTPUT_RESERVE_TOKENS, n as AutoCompactDecision, o as shouldAutoCompact, r as AutoCompactInput, t as AUTO_COMPACT_MIN_GROWTH_FRACTION } from "./policy-DcGlpaNs.js";
6
- 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-Dcrj48qY.js";
7
- 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-BEblm0Hu.js";
8
- export { ANCHOR_PREVIEW_MAX_CHARS, AUTO_COMPACT_MIN_GROWTH_FRACTION, 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, type AutoCompact, type AutoCompactConfig, type AutoCompactDecision, type AutoCompactInput, 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 CompactEndEvent, type CompactEndHookContext, type CompactFunction, type CompactHookContext, CompactInvalidInputError, type CompactOptions, type CompactPromptBuilder, type CompactPromptOptions, CompactPromptTooLongError, type CompactResult, type CompactScope, type CompactStartEvent, type CompactStartHookContext, 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 McpConnector, type McpCredentialEntry, type McpCredentialStore, McpOAuthProvider, type McpOAuthProviderOptions, type McpServerConfig, type McpToolHookContext, type McpToolMeta, type McpToolWrap, 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, OUTPUT_RESERVE_TOKENS, type OpenAIChatMessage, type OpenAICompatAuthHeader, OpenAICompatHttpError, type OpenAICompatParams, type OpenAIParams, type OpenRouterParams, OperationTimeoutError, 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, type XaiParams, 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, effectiveContextWindow, 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, shouldAutoCompact, 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, xai, zodToJsonSchema };
6
+ 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-DItaCwPw.js";
7
+ 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-BsyPeCSL.js";
8
+ export { ANCHOR_PREVIEW_MAX_CHARS, AUTO_COMPACT_MIN_GROWTH_FRACTION, 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, type AutoCompact, type AutoCompactConfig, type AutoCompactDecision, type AutoCompactInput, 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 CompactEndEvent, type CompactEndHookContext, type CompactFunction, type CompactHookContext, CompactInvalidInputError, type CompactOptions, type CompactPromptBuilder, type CompactPromptOptions, CompactPromptTooLongError, type CompactResult, type CompactScope, type CompactStartEvent, type CompactStartHookContext, 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 ListFileMetadata, type ListFilesEntry, type ListFilesOptions, type LlmJudgeOptions, type LocalParams, type LogLevel, type LogRecord, type LogSink, type Logger, type LoggingHookSet, type LoggingHooksOptions, type LoginMcpServerOptions, type LoginMcpServerResult, type McpConnection, type McpConnector, type McpCredentialEntry, type McpCredentialStore, McpOAuthProvider, type McpOAuthProviderOptions, type McpServerConfig, type McpToolHookContext, type McpToolMeta, type McpToolWrap, 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, OUTPUT_RESERVE_TOKENS, type OpenAIChatMessage, type OpenAICompatAuthHeader, OpenAICompatHttpError, type OpenAICompatParams, type OpenAIParams, type OpenRouterParams, OperationTimeoutError, 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, type XaiParams, 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, effectiveContextWindow, 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, shouldAutoCompact, 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, xai, zodToJsonSchema };
package/dist/index.js CHANGED
@@ -1,20 +1,20 @@
1
- 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-CGazSyTL.js";
2
- import { $ as stripImagesFromTurns, A as PERSISTENCE_PREVIEW_BYTES, B as selectRecentFiles, C as stableStringify, D as TOOL_USE_SKIPPED_MESSAGE, E as TOOL_USE_CANCELLED_MESSAGE, F as resolvePersistDir, G as buildCompactPrompt, H as BASE_INSTRUCTIONS, I as resolveTasksDir, J as buildTailCompactPrompt, K as buildFromCompactPrompt, L as buildPostCompactAttachments, M as cleanupPersistedSession, N as maybePersistToolResult, O as validateToolArgs, Q as sliceForCompaction, R as selectFilesFromReadState, S as normalizeShellCommand, T as SHELL_CASCADE_CANCEL_MESSAGE, U as NO_TOOLS_PREAMBLE, V as compactConversation, W as TRAILER, X as ANCHOR_PREVIEW_MAX_CHARS, Y as buildUpToCompactPrompt, Z as anchorPreviewFor, _ as createSkillsReadTool, a as multiEdit, b as defaultRepeatGuardNormalize, c as grep, ct as effectiveContextWindow, d as createAgent, et as summaryToTurn, g as createSkillsRunScriptTool, h as createSkillsUseTool, it as OperationTimeoutError, j as buildPersistedStub, k as PERSISTED_STUB_PREFIX, l as glob, lt as shouldAutoCompact, n as createSpawnTool, nt as CompactInvalidInputError, ot as AUTO_COMPACT_MIN_GROWTH_FRACTION, p as waitTask, q as buildFullCompactPrompt, rt as CompactPromptTooLongError, s as createInteractionTool, st as OUTPUT_RESERVE_TOKENS, tt as truncateHeadForPtlRetry, u as edit, v as createShellTool, w as INTERRUPT_MESSAGE_FOR_TOOL_USE, x as defaultRepeatGuardTracked, z as selectFilesFromSession } from "./tools-5Bnlq68O.js";
1
+ 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-DEsLGBB9.js";
2
+ import { $ as stripImagesFromTurns, A as PERSISTENCE_PREVIEW_BYTES, B as selectRecentFiles, C as stableStringify, D as TOOL_USE_SKIPPED_MESSAGE, E as TOOL_USE_CANCELLED_MESSAGE, F as resolvePersistDir, G as buildCompactPrompt, H as BASE_INSTRUCTIONS, I as resolveTasksDir, J as buildTailCompactPrompt, K as buildFromCompactPrompt, L as buildPostCompactAttachments, M as cleanupPersistedSession, N as maybePersistToolResult, O as validateToolArgs, Q as sliceForCompaction, R as selectFilesFromReadState, S as normalizeShellCommand, T as SHELL_CASCADE_CANCEL_MESSAGE, U as NO_TOOLS_PREAMBLE, V as compactConversation, W as TRAILER, X as ANCHOR_PREVIEW_MAX_CHARS, Y as buildUpToCompactPrompt, Z as anchorPreviewFor, _ as createSkillsReadTool, a as multiEdit, b as defaultRepeatGuardNormalize, c as grep, ct as effectiveContextWindow, d as createAgent, et as summaryToTurn, g as createSkillsRunScriptTool, h as createSkillsUseTool, it as OperationTimeoutError, j as buildPersistedStub, k as PERSISTED_STUB_PREFIX, l as glob, lt as shouldAutoCompact, n as createSpawnTool, nt as CompactInvalidInputError, ot as AUTO_COMPACT_MIN_GROWTH_FRACTION, p as waitTask, q as buildFullCompactPrompt, rt as CompactPromptTooLongError, s as createInteractionTool, st as OUTPUT_RESERVE_TOKENS, tt as truncateHeadForPtlRetry, u as edit, v as createShellTool, w as INTERRUPT_MESSAGE_FOR_TOOL_USE, x as defaultRepeatGuardTracked, z as selectFilesFromSession } from "./tools-DhzKzB1y.js";
3
3
  import { n as estimateTokens, r as utf8ByteLength, t as BYTES_PER_TOKEN } from "./utils-ngQzYzZD.js";
4
- import { n as createSandboxContext, r as createProcessContext, t as resolveDetachedTasksCapability } from "./contexts-VhV4Af8x.js";
4
+ import { n as createSandboxContext, r as createProcessContext, t as resolveDetachedTasksCapability } from "./contexts-DHi8LPCp.js";
5
5
  import { a as toolOutputByteLength, i as toolOutputBudgetByteLength, o as toolResultToText } from "./types-DxHDaqN7.js";
6
6
  import { o as readStateKey, s as resolveReadStateMap, t as getReadState } from "./read-state-DH2IuQHX.js";
7
7
  import { a as AgentToolNotAllowedError, f as matchesContextExceeded, i as AgentProviderError, l as errorMessage, m as toTypedError, n as AgentBudgetExceededError, o as AgentToolPairingError, r as AgentContextExceededError, s as CONTEXT_EXCEEDED_MESSAGE_PATTERNS, t as AgentAbortedError } from "./errors-BpPfMo_4.js";
8
8
  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-ConAiXGy.js";
9
9
  import { i as statsByModel, n as flattenTurns } from "./stats-DAKBEKjc.js";
10
10
  import { a as normalizeMcpServers, d as createMemoryMcpCredentialStore, f as hasAuthorizationHeader, i as normalizeMcpBlocks, n as connectMcpServers, o as resultToString, u as McpOAuthProvider } from "./mcp-C_TIj91j.js";
11
- import { i as basic_default, n as definePreset, r as basicTools } from "./presets-kPEMOCmE.js";
12
- import { a as headlessEventToJsonl, c as runHeadless, d as createRunSummaryCollector, l as transcriptToOpenAIMessages } from "./headless-tVN-g6IR.js";
13
- import { a as createMemoryStore, i as createRemoteStore, o as createFileMapStore, r as loadSession, t as createSession } from "./session-B69BQSn1.js";
11
+ import { i as basic_default, n as definePreset, r as basicTools } from "./presets-HDIxliiq.js";
12
+ import { a as headlessEventToJsonl, c as runHeadless, d as createRunSummaryCollector, l as transcriptToOpenAIMessages } from "./headless-0O6HMNBQ.js";
13
+ import { a as createMemoryStore, i as createRemoteStore, o as createFileMapStore, r as loadSession, t as createSession } from "./session-BDWZZaYa.js";
14
14
  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";
15
15
  import { i as jsonSink, n as createLogger, r as createLoggingHooks, t as consoleSink } from "./logger-Ktm-lj1s.js";
16
16
  import { n as startOAuthCallback, t as loginMcpServer } from "./login-D5rb4IG8.js";
17
- import { a as local, f as arcee, i as openai, l as cerebras, m as applyAnthropicCacheBreakpoints, p as anthropic, r as openrouter, t as xai, u as baseten } from "./providers-Bo2biCyT.js";
17
+ import { a as local, f as arcee, i as openai, l as cerebras, m as applyAnthropicCacheBreakpoints, p as anthropic, r as openrouter, t as xai, u as baseten } from "./providers-Cz-RNYZO.js";
18
18
  import { defineSkill } from "./skills.js";
19
19
  //#region src/cache-telemetry.ts
20
20
  const FNV_OFFSET = 2166136261;