zidane 5.7.8 → 5.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +4 -1
  2. package/dist/{agent-BSPhByzT.d.ts → agent-DYghZGC8.d.ts} +135 -2
  3. package/dist/agent-DYghZGC8.d.ts.map +1 -0
  4. package/dist/chat/pure.d.ts +3 -3
  5. package/dist/chat.d.ts +6 -6
  6. package/dist/chat.js +2 -2
  7. package/dist/{headless-CEtk5dzV.js → headless-DnjYDckH.js} +16 -3
  8. package/dist/headless-DnjYDckH.js.map +1 -0
  9. package/dist/headless.d.ts +1 -1
  10. package/dist/headless.js +1 -1
  11. package/dist/{index-DEqGfnZr.d.ts → index-B2cMuK6S.d.ts} +17 -3
  12. package/dist/{index-DEqGfnZr.d.ts.map → index-B2cMuK6S.d.ts.map} +1 -1
  13. package/dist/{index-DmbrQjOk.d.ts → index-CVzpMtdq.d.ts} +2 -2
  14. package/dist/{index-DmbrQjOk.d.ts.map → index-CVzpMtdq.d.ts.map} +1 -1
  15. package/dist/index.d.ts +4 -4
  16. package/dist/index.js +4 -4
  17. package/dist/{login-C8Kc4gH0.js → login-D-3A5CK7.js} +2 -2
  18. package/dist/{login-C8Kc4gH0.js.map → login-D-3A5CK7.js.map} +1 -1
  19. package/dist/mcp.d.ts +1 -1
  20. package/dist/{presets-DTxFbEZ5.js → presets-B1gWui0v.js} +2 -2
  21. package/dist/{presets-DTxFbEZ5.js.map → presets-B1gWui0v.js.map} +1 -1
  22. package/dist/presets.d.ts +2 -2
  23. package/dist/presets.js +1 -1
  24. package/dist/providers.d.ts +1 -1
  25. package/dist/restate.d.ts +1 -1
  26. package/dist/session/sqlite.d.ts +1 -1
  27. package/dist/session.d.ts +1 -1
  28. package/dist/skills.d.ts +2 -2
  29. package/dist/{tool-formatters-fUAp2Nr4.d.ts → tool-formatters-0FEGRd6w.d.ts} +2 -2
  30. package/dist/{tool-formatters-fUAp2Nr4.d.ts.map → tool-formatters-0FEGRd6w.d.ts.map} +1 -1
  31. package/dist/tools/fetch-url.d.ts +1 -1
  32. package/dist/tools/web-search.d.ts +1 -1
  33. package/dist/{tools-dkB_jARJ.js → tools-BmPeBGU1.js} +196 -5
  34. package/dist/tools-BmPeBGU1.js.map +1 -0
  35. package/dist/tools.d.ts +2 -2
  36. package/dist/tools.js +1 -1
  37. package/dist/{transcript-anchors-Cl7lbbeP.js → transcript-anchors-Bp5bV0Bv.js} +31 -4
  38. package/dist/transcript-anchors-Bp5bV0Bv.js.map +1 -0
  39. package/dist/{transcript-anchors-BBN7jlvp.d.ts → transcript-anchors-D2erm5iS.d.ts} +4 -4
  40. package/dist/transcript-anchors-D2erm5iS.d.ts.map +1 -0
  41. package/dist/tui.d.ts +3 -3
  42. package/dist/tui.js +5 -5
  43. package/dist/tui.js.map +1 -1
  44. package/dist/{turn-operations-CE1prnuP.d.ts → turn-operations-CeUrtsaM.d.ts} +3 -3
  45. package/dist/{turn-operations-CE1prnuP.d.ts.map → turn-operations-CeUrtsaM.d.ts.map} +1 -1
  46. package/dist/types-BPw_i5vb.js.map +1 -1
  47. package/dist/types.d.ts +3 -3
  48. package/docs/ARCHITECTURE.md +2 -1
  49. package/docs/CHAT.md +19 -1
  50. package/docs/SKILL.md +1 -0
  51. package/package.json +1 -1
  52. package/dist/agent-BSPhByzT.d.ts.map +0 -1
  53. package/dist/headless-CEtk5dzV.js.map +0 -1
  54. package/dist/tools-dkB_jARJ.js.map +0 -1
  55. package/dist/transcript-anchors-BBN7jlvp.d.ts.map +0 -1
  56. package/dist/transcript-anchors-Cl7lbbeP.js.map +0 -1
package/README.md CHANGED
@@ -24,6 +24,7 @@ Everything below is in service of those:
24
24
  - 🧮 **Per-tool concurrency** — every `ToolDef` carries `isConcurrencySafe` (default `false`); the dispatcher fans safe siblings out in parallel and barriers unsafe ones. Order is preserved at yield time. Cap via `behavior.maxConcurrentTools`.
25
25
  - ✂️ **Token-aware** — paginated reads, tail-truncated `shell`, idempotent `write_file`; `outputBytes` everywhere. `toolOutputBudget`, `toolBudgets`, `thinkingDecay`.
26
26
  - 🗜️ **Context discipline** — `cache_control` breakpoints; server-side compaction on Anthropic, client-side `compactStrategy: 'tail'` elsewhere. Per-session read dedup + `requireReadBeforeEdit`; generalized `dedupTools`.
27
+ - 🔁 **Loop prevention** — `repeatGuard` breaks consecutive-identical tool streaks (block then abort); pairs with `dedupTools`, `toolBudgets`, and `requireReadBeforeEdit`. On by default in the built-in chat profiles.
27
28
  - 🎯 **Reasoning + structured output** — thinking levels with optional exact budgets; force final response to a JSON Schema (Zod v4 interop).
28
29
  - 💾 **Sessions, skills, multimodal** — pluggable stores, incremental persistence; [Agent Skills](https://agentskills.io/specification) spec; images + documents via `PromptPart[]`.
29
30
  - 🧵 **Sub-agents + execution contexts** — child events bubble to parent; run tools in-process, Docker, or any `SandboxProvider`.
@@ -75,6 +76,7 @@ createAgent({
75
76
  dedupTools: { execute_sql: i => typeof i.query === 'string' ? i.query.trim() : undefined },
76
77
  requireReadBeforeEdit: false, // refuse edits against unread/stale files
77
78
  toolBudgets: { execute_sql: { max: 20, onExceed: 'steer' } },
79
+ repeatGuard: { blockThreshold: 4, abortThreshold: 8 }, // block/abort consecutive-identical streaks
78
80
  compactStrategy: 'off', // 'off' | 'tail' (non-Anthropic compaction)
79
81
  compactThreshold: 131_072, // 128 KiB
80
82
  compactKeepTurns: 4,
@@ -345,7 +347,8 @@ agent.hooks.hook('context:transform', (ctx) => {
345
347
  ### Read dedup + read-before-edit guard
346
348
 
347
349
  - `behavior.dedupReads` (default **on**) — `read_file` returns `"unchanged since the previous read"` on identical re-reads. Per-session content-hash.
348
- - `behavior.requireReadBeforeEdit` (default **off**) — `edit` / `multi_edit` reject when the file hasn't been read this session or has drifted. Recommended for eval-grade runs.
350
+ - `behavior.requireReadBeforeEdit` (default **off** in the SDK core; **on** in the built-in `BUILD_AGENT` / `PLAN_AGENT` chat profiles) — `edit` / `multi_edit` reject when the file hasn't been read this session or has drifted. The refusal is a recoverable `tool_result` (tells the model to `read_file` first), and `write_file` seeds read-state so the write→edit flow needs no extra read.
351
+ - `behavior.repeatGuard` (default **off** in the SDK core; **on** in the chat profiles) — breaks consecutive-identical tool streaks: blocks the Nth back-to-back identical call (default 4) with a pivot suggestion, aborts the run at the Mth (default 8) via the agent's `AbortController`. Defaults track `shell` + `*_execute_sql`; configurable via `RepeatGuardConfig`.
349
352
 
350
353
  Tracking and the dedup short-circuit are **independent** — turning `dedupReads` off does NOT disable `requireReadBeforeEdit`. Read-state keys are canonical absolute paths (resolved through `node:path`), so `read_file('src/x')` and `edit('./src/x', …)` resolve to the same entry. For subagent-shared tracking without shared turn history, use `createSpawnTool({ shareReadState: true })`.
351
354
 
@@ -791,6 +791,52 @@ type DedupToolConfig = DedupHasher | {
791
791
  */
792
792
  scope?: 'session' | 'run';
793
793
  };
794
+ /**
795
+ * Per-tool predicate selecting which tools the {@link RepeatGuardConfig}
796
+ * watches. A bare string matches that exact canonical name; a function
797
+ * receives the canonical name and returns `true` to track it.
798
+ */
799
+ type RepeatGuardToolMatcher = string | ((name: string) => boolean);
800
+ /**
801
+ * Configuration for the consecutive-identical-call repeat guard. See
802
+ * {@link AgentBehavior.repeatGuard} for the full contract.
803
+ */
804
+ interface RepeatGuardConfig {
805
+ /**
806
+ * Consecutive identical calls at which the guard refuses the call via
807
+ * `tool:gate` `block`. Clamped to `>= 2`. Default: `4`.
808
+ */
809
+ blockThreshold?: number;
810
+ /**
811
+ * Consecutive identical calls at which the guard aborts the whole run via
812
+ * the agent's `AbortController` (the loop then fires `agent:abort`). Must
813
+ * be `>` the block threshold to be reachable; clamped up if not. Set to a
814
+ * non-positive value or `Infinity` to disable the abort escalation
815
+ * (block-only). Default: `8`.
816
+ */
817
+ abortThreshold?: number;
818
+ /**
819
+ * Which tools to track. Each entry is a {@link RepeatGuardToolMatcher}.
820
+ * When unset, the default tracks `shell` exactly plus any tool whose
821
+ * canonical name ends in `_execute_sql`. An empty array disables the
822
+ * guard.
823
+ */
824
+ tools?: readonly RepeatGuardToolMatcher[];
825
+ /**
826
+ * Collapse a call's input to a streak key. Identical keys for the same
827
+ * tool extend the streak. Return `undefined` to opt the call out of
828
+ * streak tracking. When unset, the built-in normalizer is used (shell
829
+ * command canonicalization for `shell`-shaped tools, query whitespace-
830
+ * collapse for `_execute_sql` tools, JSON for everything else).
831
+ */
832
+ normalize?: (name: string, input: Record<string, unknown>) => string | undefined;
833
+ /**
834
+ * Model-visible refusal text at the block threshold, rendered as
835
+ * `Blocked: <reason>`. String used verbatim; callback receives the tool
836
+ * name and consecutive count. Default: a generic pivot suggestion.
837
+ */
838
+ blockReason?: string | ((name: string, count: number) => string);
839
+ }
794
840
  interface AgentBehavior {
795
841
  /**
796
842
  * Maximum number of tools that may be in flight concurrently within a
@@ -1012,6 +1058,50 @@ interface AgentBehavior {
1012
1058
  message: string;
1013
1059
  });
1014
1060
  }>;
1061
+ /**
1062
+ * Consecutive-identical-call repeat guard. Unlike {@link dedupTools} (keyed
1063
+ * on argument hash, replays/blocks per the consumer's hasher) and
1064
+ * {@link toolBudgets} (run-cumulative count regardless of payload), the
1065
+ * repeat guard watches a **per-tool streak of back-to-back identical
1066
+ * payloads** and escalates:
1067
+ *
1068
+ * - At `blockThreshold` (default 4) consecutive identical calls: refuse the
1069
+ * call via `tool:gate` `block` with a pivot suggestion. Fires
1070
+ * `repeat-guard:exceeded` with `action: 'block'`.
1071
+ * - At `abortThreshold` (default 8) consecutive identical calls: abort the
1072
+ * whole run via the agent's `AbortController` (the loop then fires
1073
+ * `agent:abort`, the same path a user cancel takes). A
1074
+ * `repeat-guard:exceeded` event with `action: 'abort'` fires first so
1075
+ * consumers can distinguish a guard abort from a user cancel. This is the
1076
+ * only layer that stops a model which ignores the `Blocked:` reason and
1077
+ * keeps retrying.
1078
+ *
1079
+ * "Consecutive" is **per tracked tool**: a call to a *different* tracked
1080
+ * tool, or the *same* tool with a different normalized payload, resets that
1081
+ * tool's streak. Calls to *untracked* tools never reset any streak, so
1082
+ * `shell X / read_file Y / shell X` still counts as two consecutive
1083
+ * `shell X`.
1084
+ *
1085
+ * `track` selects which tools the guard watches. Each entry is a predicate
1086
+ * over the canonical tool name; a string entry matches that exact name. The
1087
+ * default (when {@link tools} is unset) tracks `shell` exactly and any tool
1088
+ * whose name ends in `_execute_sql` (the MCP SQL-runner shape) — both are
1089
+ * auto-approved, side-effect-light retry magnets. Provide your own list to
1090
+ * widen / narrow the set; an empty list disables the guard.
1091
+ *
1092
+ * `normalize` lets you collapse semantically-identical payloads to one
1093
+ * streak key. The built-in normalizer for `shell`-shaped tools strips
1094
+ * `cd <path> &&` prefixes, trailing `& sleep N ; <verify>` tails, and short
1095
+ * flags; for SQL-runner tools it whitespace-collapses the query. Return
1096
+ * `undefined` to opt a specific call out of streak tracking entirely.
1097
+ *
1098
+ * Streak state is run-local and in-memory (no session required), torn down
1099
+ * when the run ends.
1100
+ *
1101
+ * Default: `undefined` (no repeat guard). The built-in chat profiles enable
1102
+ * it with the default thresholds.
1103
+ */
1104
+ repeatGuard?: RepeatGuardConfig;
1015
1105
  /**
1016
1106
  * Generic per-tool argument deduplication. Keyed by the tool's **canonical**
1017
1107
  * name (alias-stable). Each entry is a hasher: `(input) => string | undefined`.
@@ -1265,6 +1355,33 @@ interface AgentBehavior {
1265
1355
  * only for tests). Default: `5`.
1266
1356
  */
1267
1357
  maxConsecutivePauseTurns?: number;
1358
+ /**
1359
+ * Persist completed turns to the session store **incrementally**, after
1360
+ * every `turn:after` / `tool-results:after`. This is session-turn
1361
+ * persistence — unrelated to the `persist*` knobs above, which spill large
1362
+ * tool-result blobs to disk.
1363
+ *
1364
+ * - `true` (default) — append each turn to the store as it completes. A
1365
+ * tool_use block is always durable alongside its matching tool_result, so
1366
+ * a mid-run process death resumes cleanly from the last completed turn.
1367
+ * Maximum crash-recovery granularity.
1368
+ * - `false` — skip the per-turn append hooks; turns are persisted **once at
1369
+ * run end** via the flush that already runs on every exit path (complete /
1370
+ * abort / error). The seeded user prompt is still persisted up-front, so a
1371
+ * crash keeps the prompt but loses the in-flight run's generated turns.
1372
+ *
1373
+ * Why turn it off: on a session store whose `appendTurns` re-serializes the
1374
+ * whole session per call (file-map, remote), per-turn persistence is
1375
+ * O(turns) writes of an O(turns)-sized payload — quadratic I/O over a long
1376
+ * run. Hosts that save at the request boundary anyway (and accept the
1377
+ * coarser crash-recovery granularity) get O(1) writes per run by disabling
1378
+ * it. No effect on sessionless runs (nothing to persist) and the store stays
1379
+ * attached either way, so `loadSession` / resume / explicit `session.save()`
1380
+ * are unaffected.
1381
+ *
1382
+ * Default: `true`.
1383
+ */
1384
+ persistTurns?: boolean;
1268
1385
  /**
1269
1386
  * Persist large `tool_result` outputs to disk and replace the in-message
1270
1387
  * content with a `<persisted-output>` stub (preview + filesystem path).
@@ -4734,6 +4851,22 @@ interface AgentHooks {
4734
4851
  turnId: string;
4735
4852
  mode: 'steer' | 'block';
4736
4853
  }) => void;
4854
+ /**
4855
+ * Fires when the consecutive-identical {@link AgentBehavior.repeatGuard}
4856
+ * escalates on a tracked tool. `count` is the number of back-to-back
4857
+ * identical calls including the offending one. `action` reflects the
4858
+ * escalation: `'block'` refused this call via `tool:gate`; `'abort'`
4859
+ * additionally aborts the run via the agent's `AbortController` (the loop
4860
+ * then fires `agent:abort`). The `'abort'` event fires BEFORE the abort so
4861
+ * consumers can distinguish a guard abort from a user-driven cancel.
4862
+ */
4863
+ 'repeat-guard:exceeded': (ctx: {
4864
+ tool: string;
4865
+ count: number;
4866
+ threshold: number;
4867
+ turnId: string;
4868
+ action: 'block' | 'abort';
4869
+ }) => void;
4737
4870
  'agent:abort': (ctx: object) => void;
4738
4871
  /**
4739
4872
  * Run finished — fires on all exit paths (completion, maxTurns, abort).
@@ -5014,5 +5147,5 @@ declare function createAgent({
5014
5147
  clock: agentClock
5015
5148
  }: AgentOptions): Agent;
5016
5149
  //#endregion
5017
- export { autoDetectAndConvert as $, McpToolSchema as $t, SkillSource as A, ClassifiedError as An, openaiCompat as At, createRemoteStore as B, ContextItem as Bn, anthropic as Bt, getReadState as C, AgentAbortedError as Cn, OpenRouterParams as Ct, SkillConfig as D, AgentToolNotAllowedError as Dn, OpenAICompatParams as Dt, resolveReadStateMap as E, AgentProviderError as En, OpenAICompatHttpError as Et, SessionRun as F, ContextBreakdown as Fn, CursorParams as Ft, EnsureToolResultPairingOptions as G, AgentStats as Gt, FileMapAdapter as H, ContextSnapshot as Hn, AgentBehavior as Ht, SessionStore as I, ContextBreakdownOptions as In, cursor as It, PairingRepairMode as J, DEFAULT_AGENT_CLOCK as Jt, ORPHANED_TOOL_RESULT_MARKER as K, ChildRunStats as Kt, createSession as L, ContextCategory as Ln, CerebrasParams as Lt, CreateSessionOptions as M, errorMessage as Mn, openai as Mt, Session as N, matchesContextExceeded as Nn, LocalParams as Nt, SkillDiagnostic as O, AgentToolPairingError as On, classifyOpenAICompatError as Ot, SessionData as P, toTypedError as Pn, local as Pt, TurnInterruptionState as Q, McpToolHookContext as Qt, loadSession as R, ContextCategoryId as Rn, cerebras as Rt, ReadStateMap as S, toolResultToText as Sn, sanitizeToolSpecs as St, readStateKey as T, AgentContextExceededError as Tn, OpenAICompatAuthHeader as Tt, FileMapStoreOptions as U, ContextUsageSplit as Un, AgentClock as Ut, createMemoryStore as V, ContextMcpGroup as Vn, applyAnthropicCacheBreakpoints as Vt, createFileMapStore as W, buildContextBreakdown as Wn, AgentRunOptions as Wt, TOOL_USE_INTERRUPTED_MARKER as X, DedupToolConfig as Xt, SYNTHETIC_TOOL_RESULT_PLACEHOLDER as Y, DedupHasher as Yt, ToWireMessagesOptions as Z, McpServerConfig as Zt, resultToString as _, ToolResultImageContent as _n, TurnResult as _t, createAgent as a, RetryConfig as an, fromOpenAI as at, ToolMap as b, TurnUsage as bn, SchemaSanitizeResult as bt, DeactivationReason as c, SessionEndStatus as cn, toWireMessages as ct, createSkillActivationState as d, SessionTurn as dn, StreamCallbacks as dt, OAuthRefreshHookContext as en, detectTurnInterruption as et, ConnectMcpServersOptions as f, SpawnHookContext as fn, StreamOptions as ft, normalizeMcpServers as g, ToolResultContent as gn, ToolSpec as gt, normalizeMcpBlocks as h, ToolHookContext as hn, ToolResult as ht, AgentOptions as i, PromptTextPart as in, fromAnthropic as it, SkillsConfig as j, ClassifiedErrorKind as jn, OpenAIParams as jt, SkillResource as k, CONTEXT_EXCEEDED_MESSAGE_PATTERNS as kn, mapOAIFinishReason as kt, SkillActivationState as l, SessionHookContext as ln, Provider as lt, connectMcpServers as m, ThinkingLevel as mn, ToolCall as mt, AgentHookMap as n, PromptImagePart as nn, ensureToolResultPairing as nt, ActivationVia as o, RunHookMap as on, toAnthropic as ot, McpConnection as p, StreamHookContext as pn, TokenCountPayload as pt, PairingRepair as q, CompactFunction as qt, AgentHooks as r, PromptPart as rn, filterUnresolvedToolUses as rt, ActiveSkill as s, SessionContentBlock as sn, toOpenAI as st, Agent as t, PromptDocumentPart as tn, ensureEndsWithUserMessage as tt, SkillActivationStateOptions as u, SessionMessage as un, ProviderCapabilities as ut, ToolContext as v, ToolResultTextContent as vn, SchemaSanitizeOptions as vt, hashContent as w, AgentBudgetExceededError as wn, openrouter as wt, ReadStateEntry as x, toolOutputByteLength as xn, sanitizeToolSchema as xt, ToolDef as y, TurnFinishReason as yn, SchemaSanitizeProfile as yt, RemoteStoreOptions as z, ContextExactCounts as zn, AnthropicParams as zt };
5018
- //# sourceMappingURL=agent-BSPhByzT.d.ts.map
5150
+ export { autoDetectAndConvert as $, McpToolSchema as $t, SkillSource as A, AgentToolPairingError as An, openaiCompat as At, createRemoteStore as B, ContextCategoryId as Bn, anthropic as Bt, getReadState as C, toolOutputByteLength as Cn, OpenRouterParams as Ct, SkillConfig as D, AgentContextExceededError as Dn, OpenAICompatParams as Dt, resolveReadStateMap as E, AgentBudgetExceededError as En, OpenAICompatHttpError as Et, SessionRun as F, matchesContextExceeded as Fn, CursorParams as Ft, EnsureToolResultPairingOptions as G, ContextUsageSplit as Gn, AgentStats as Gt, FileMapAdapter as H, ContextItem as Hn, AgentBehavior as Ht, SessionStore as I, toTypedError as In, cursor as It, PairingRepairMode as J, DEFAULT_AGENT_CLOCK as Jt, ORPHANED_TOOL_RESULT_MARKER as K, buildContextBreakdown as Kn, ChildRunStats as Kt, createSession as L, ContextBreakdown as Ln, CerebrasParams as Lt, CreateSessionOptions as M, ClassifiedError as Mn, openai as Mt, Session as N, ClassifiedErrorKind as Nn, LocalParams as Nt, SkillDiagnostic as O, AgentProviderError as On, classifyOpenAICompatError as Ot, SessionData as P, errorMessage as Pn, local as Pt, TurnInterruptionState as Q, McpToolHookContext as Qt, loadSession as R, ContextBreakdownOptions as Rn, cerebras as Rt, ReadStateMap as S, TurnUsage as Sn, sanitizeToolSpecs as St, readStateKey as T, AgentAbortedError as Tn, OpenAICompatAuthHeader as Tt, FileMapStoreOptions as U, ContextMcpGroup as Un, AgentClock as Ut, createMemoryStore as V, ContextExactCounts as Vn, applyAnthropicCacheBreakpoints as Vt, createFileMapStore as W, ContextSnapshot as Wn, AgentRunOptions as Wt, TOOL_USE_INTERRUPTED_MARKER as X, DedupToolConfig as Xt, SYNTHETIC_TOOL_RESULT_PLACEHOLDER as Y, DedupHasher as Yt, ToWireMessagesOptions as Z, McpServerConfig as Zt, resultToString as _, ToolHookContext as _n, TurnResult as _t, createAgent as a, RepeatGuardConfig as an, fromOpenAI as at, ToolMap as b, ToolResultTextContent as bn, SchemaSanitizeResult as bt, DeactivationReason as c, RunHookMap as cn, toWireMessages as ct, createSkillActivationState as d, SessionHookContext as dn, StreamCallbacks as dt, OAuthRefreshHookContext as en, detectTurnInterruption as et, ConnectMcpServersOptions as f, SessionMessage as fn, StreamOptions as ft, normalizeMcpServers as g, ThinkingLevel as gn, ToolSpec as gt, normalizeMcpBlocks as h, StreamHookContext as hn, ToolResult as ht, AgentOptions as i, PromptTextPart as in, fromAnthropic as it, SkillsConfig as j, CONTEXT_EXCEEDED_MESSAGE_PATTERNS as jn, OpenAIParams as jt, SkillResource as k, AgentToolNotAllowedError as kn, mapOAIFinishReason as kt, SkillActivationState as l, SessionContentBlock as ln, Provider as lt, connectMcpServers as m, SpawnHookContext as mn, ToolCall as mt, AgentHookMap as n, PromptImagePart as nn, ensureToolResultPairing as nt, ActivationVia as o, RepeatGuardToolMatcher as on, toAnthropic as ot, McpConnection as p, SessionTurn as pn, TokenCountPayload as pt, PairingRepair as q, CompactFunction as qt, AgentHooks as r, PromptPart as rn, filterUnresolvedToolUses as rt, ActiveSkill as s, RetryConfig as sn, toOpenAI as st, Agent as t, PromptDocumentPart as tn, ensureEndsWithUserMessage as tt, SkillActivationStateOptions as u, SessionEndStatus as un, ProviderCapabilities as ut, ToolContext as v, ToolResultContent as vn, SchemaSanitizeOptions as vt, hashContent as w, toolResultToText as wn, openrouter as wt, ReadStateEntry as x, TurnFinishReason as xn, sanitizeToolSchema as xt, ToolDef as y, ToolResultImageContent as yn, SchemaSanitizeProfile as yt, RemoteStoreOptions as z, ContextCategory as zn, AnthropicParams as zt };
5151
+ //# sourceMappingURL=agent-DYghZGC8.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-DYghZGC8.d.ts","names":[],"sources":["../src/chat/context-breakdown.ts","../src/errors.ts","../src/types.ts","../src/providers/oauth.ts","../src/providers/anthropic.ts","../src/providers/cerebras.ts","../src/providers/cursor.ts","../src/providers/local.ts","../src/providers/openai.ts","../src/providers/openai-compat.ts","../src/providers/openrouter.ts","../src/providers/schema-sanitize.ts","../src/providers/index.ts","../src/session/messages.ts","../src/session/file-map.ts","../src/session/memory.ts","../src/session/remote.ts","../src/session/index.ts","../src/skills/types.ts","../src/tools/read-state.ts","../src/tools/types.ts","../src/mcp/index.ts","../src/skills/activation.ts","../src/agent.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Bn as ContextItem, Fn as ContextBreakdown, Hn as ContextSnapshot, In as ContextBreakdownOptions, Ln as ContextCategory, Rn as ContextCategoryId, Un as ContextUsageSplit, Vn as ContextMcpGroup, Wn as buildContextBreakdown, zn as ContextExactCounts } from "../agent-BSPhByzT.js";
2
- import { B as collectReferences, F as CompletionContext, H as mergeReferences, I as CompletionItem, L as CompletionProvider, P as ActiveTrigger, R as CompletionReference, V as findActiveTrigger, _ as isEditErrorResult, a as formatToolCall, b as selectableTurnIds, c as splitPromptSegments, g as EDIT_TOOL_NAMES, i as displayNameFor, n as ToolDisplayMeta, o as PromptSegment, r as ToolFormatLine, s as PromptSegmentRef, t as TOOL_DISPLAY, v as isTurnHighlighted, x as turnSelectionOwnership, y as isVisible, z as applyInsert } from "../tool-formatters-fUAp2Nr4.js";
3
- import { $ as uniqueFilesFromReferences, A as buildUnifiedDiff, C as EditSummary, D as PreviewResult, E as InlineSegment, F as previewEditPayload, I as splitLines, J as SKILLS_TRIGGER, L as summarizeEditPayload, M as computeLineDiff, N as extractEditPayload, O as applyEditPayload, P as filetypeFromPath, Q as createFilesCompletionProvider, R as tokenize, S as EditHunkSummary, T as InlineDiff, X as uniqueSkillNamesFromReferences, Y as createSkillsCompletionProvider, Z as FILES_TRIGGER, _ as formatTaskSummary, a as finalizeStreamingMarkdown, b as DiffLine, c as CatalogEntry, d as indexOfEntry, f as ageString, g as formatTaskStatus, h as formatDuration, i as turnAsText, it as buildLinearRamp, j as computeInlineDiff, k as buildContextualDiff, l as buildModelCatalog, m as fmtTokens, n as deleteTurnSafely, o as finalizeStreamingMarkdownForOwner, p as compactPath, q as summarizeOutcomes, r as truncateTurnsAt, rt as blendHsl, s as turnContextSize, t as countNeighbors, u as filterModelCatalog, v as previewLine, w as HunkResolution, x as DiffOp, y as shortId } from "../turn-operations-CE1prnuP.js";
1
+ import { Bn as ContextCategoryId, Gn as ContextUsageSplit, Hn as ContextItem, Kn as buildContextBreakdown, Ln as ContextBreakdown, Rn as ContextBreakdownOptions, Un as ContextMcpGroup, Vn as ContextExactCounts, Wn as ContextSnapshot, zn as ContextCategory } from "../agent-DYghZGC8.js";
2
+ import { B as collectReferences, F as CompletionContext, H as mergeReferences, I as CompletionItem, L as CompletionProvider, P as ActiveTrigger, R as CompletionReference, V as findActiveTrigger, _ as isEditErrorResult, a as formatToolCall, b as selectableTurnIds, c as splitPromptSegments, g as EDIT_TOOL_NAMES, i as displayNameFor, n as ToolDisplayMeta, o as PromptSegment, r as ToolFormatLine, s as PromptSegmentRef, t as TOOL_DISPLAY, v as isTurnHighlighted, x as turnSelectionOwnership, y as isVisible, z as applyInsert } from "../tool-formatters-0FEGRd6w.js";
3
+ import { $ as uniqueFilesFromReferences, A as buildUnifiedDiff, C as EditSummary, D as PreviewResult, E as InlineSegment, F as previewEditPayload, I as splitLines, J as SKILLS_TRIGGER, L as summarizeEditPayload, M as computeLineDiff, N as extractEditPayload, O as applyEditPayload, P as filetypeFromPath, Q as createFilesCompletionProvider, R as tokenize, S as EditHunkSummary, T as InlineDiff, X as uniqueSkillNamesFromReferences, Y as createSkillsCompletionProvider, Z as FILES_TRIGGER, _ as formatTaskSummary, a as finalizeStreamingMarkdown, b as DiffLine, c as CatalogEntry, d as indexOfEntry, f as ageString, g as formatTaskStatus, h as formatDuration, i as turnAsText, it as buildLinearRamp, j as computeInlineDiff, k as buildContextualDiff, l as buildModelCatalog, m as fmtTokens, n as deleteTurnSafely, o as finalizeStreamingMarkdownForOwner, p as compactPath, q as summarizeOutcomes, r as truncateTurnsAt, rt as blendHsl, s as turnContextSize, t as countNeighbors, u as filterModelCatalog, v as previewLine, w as HunkResolution, x as DiffOp, y as shortId } from "../turn-operations-CeUrtsaM.js";
4
4
  export { type ActiveTrigger, type CatalogEntry, type CompletionContext, type CompletionItem, type CompletionProvider, type CompletionReference, type ContextBreakdown, type ContextBreakdownOptions, type ContextCategory, type ContextCategoryId, type ContextExactCounts, type ContextItem, type ContextMcpGroup, type ContextSnapshot, type ContextUsageSplit, type DiffLine, type DiffOp, EDIT_TOOL_NAMES, type EditHunkSummary, type EditSummary, FILES_TRIGGER, type HunkResolution, type InlineDiff, type InlineSegment, type PreviewResult, type PromptSegment, type PromptSegmentRef, SKILLS_TRIGGER, TOOL_DISPLAY, type ToolDisplayMeta, type ToolFormatLine, ageString, applyEditPayload, applyInsert, blendHsl, buildContextBreakdown, buildContextualDiff, buildLinearRamp, buildModelCatalog, buildUnifiedDiff, collectReferences, compactPath, computeInlineDiff, computeLineDiff, countNeighbors, createFilesCompletionProvider, createSkillsCompletionProvider, deleteTurnSafely, displayNameFor, extractEditPayload, filetypeFromPath, filterModelCatalog, finalizeStreamingMarkdown, finalizeStreamingMarkdownForOwner, findActiveTrigger, fmtTokens, formatDuration, formatTaskStatus, formatTaskSummary, formatToolCall, indexOfEntry, isEditErrorResult, isTurnHighlighted, isVisible, mergeReferences, previewEditPayload, previewLine, selectableTurnIds, shortId, splitLines, splitPromptSegments, summarizeEditPayload, summarizeOutcomes, tokenize, truncateTurnsAt, turnAsText, turnContextSize, turnSelectionOwnership, uniqueFilesFromReferences, uniqueSkillNamesFromReferences };
package/dist/chat.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { $t as McpToolSchema, Bn as ContextItem, D as SkillConfig, Fn as ContextBreakdown, Hn as ContextSnapshot, In as ContextBreakdownOptions, Ln as ContextCategory, N as Session, Rn as ContextCategoryId, Un as ContextUsageSplit, Vn as ContextMcpGroup, Wn as buildContextBreakdown, Zt as McpServerConfig, dn as SessionTurn, j as SkillsConfig, lt as Provider, r as AgentHooks, zn as ContextExactCounts } from "./agent-BSPhByzT.js";
2
- import { H as McpCredentialEntry, U as McpCredentialStore, t as Preset } from "./index-DEqGfnZr.js";
3
- import { m as SourcedScanPath } from "./index-DmbrQjOk.js";
4
- import { $ as useInteractionsQueue, $t as parseBindingSpec, A as InteractionsProvider, At as marginTopFor, B as QuestionPayload, Bt as KEYBINDING_DEF_BY_ACTION, C as ASK_USER_TOOL, Ct as TuiState, D as InteractionRequest, Dt as lastContextSizeFromTurns, E as CreateInteractionToolsOptions, Et as eventsFromTurns, F as PlanRequest, Ft as toolCallPreview, G as TextQuestion, Gt as KeyBindings, H as QuestionResponse, Ht as KeyAction, I as PlanResponse, It as toolResultText, J as isInteractionTool, Jt as formatBindingForDisplay, K as buildResumedToolResultsTurn, Kt as ParsedBinding, L as PlanStep, Lt as updateToolEventOutcomes, M as PendingInteractionEntry, Mt as stripSpawnTokensLine, N as PlanDecision, Nt as sumRunCosts, O as InteractionResponse, Ot as listSessionMeta, P as PlanPayload, Pt as titleFromTurns, Q as useInteractionsActions, Qt as mergeKeybindings, R as Question, Rt as DEFAULT_KEYBINDINGS, S as splitMarkdownCodeBlocks, St as StateStoreApi, T as ConfirmQuestion, Tt as deriveSessionTitle, U as QuestionType, Ut as KeyBindingDef, V as QuestionRequest, Vt as KEYBINDING_KEY_COL_WIDTH, W as SelectQuestion, Wt as KeyBindingSection, X as pendingInteractionsFromTurns, Xt as keybindingsPath, Y as makeRequestInteraction, Yt as groupBindings, Z as serializeInteractionResponse, Zt as matchesBinding, _ as SessionExportTarget, _n as PLAN_AGENT, _t as ResolveStorageDirsOptions, a as ChipColorMap, an as Hint, at as DiscoveryResult, b as writeSessionExport, bn as singleAgentRegistry, bt as StorageSlot, c as SyntaxTokenStyle, cn as truncateTrailing, ct as discoverProjectMcps, d as ThemeSelect, dn as AgentRegistry, dt as ChatOptions, en as readKeybindings, et as EnabledAllowlistKey, f as ThemeSurfaces, fn as BUILD_AGENT, ft as ProviderRegistry, g as SessionExportFormat, gn as DEFAULT_PERSIST_EXCLUDE_TOOLS, gt as resolveStoragePaths, h as SessionExportAnchor, hn as DEFAULT_BUDGET_EXCLUDE_TOOLS, ht as resolveConfig, i as ChipColor, in as EMPTY_HINTS, it as DiscoveryError, j as PRESENT_PLAN_TOOL, jt as saveState, k as InteractionsActions, kt as loadState, l as Theme, ln as AgentAccent, lt as parseMcpsFile, m as resolveTheme, mn as DEFAULT_AGENT_ID, mt as ResolvedPaths, n as computeTurnAnchors, nn as CompletionState, nt as useEnabledToggleSet, o as DEFAULT_THEME, on as clipHintsToWidth, ot as buildMcpServers, p as resolveChipColor, pn as BUILTIN_AGENTS, pt as ResolvedConfig, q as createInteractionTools, qt as ensureKeybindingsFile, r as BUILTIN_THEMES, rn as useCompletion, rt as DiscoveredMcp, s as SyntaxStyles, sn as hintsLength, st as defaultMcpsConfigPaths, t as TranscriptItem, tn as stripJsonComments, tt as EnabledToggleSet, u as ThemeColors, un as AgentProfile, ut as AutoUpdateConfig, v as renderSession, vn as accentColor, vt as StorageDirs, w as AnswerValue, wt as createStateStore, x as MarkdownSegment, xt as resolveStorageDirs, y as resolveSessionExportTarget, yn as resolveAgentId, yt as StorageMode, z as QuestionChoice, zt as KEYBINDING_DEFS } from "./transcript-anchors-BBN7jlvp.js";
5
- import { $ as anthropicDescriptor, A as SessionMeta, B as collectReferences, C as EditHunk, D as Owner, E as EditPayload, F as CompletionContext, G as ProviderKey, H as mergeReferences, I as CompletionItem, J as CustomField, K as detectAuth, L as CompletionProvider, M as StreamEvent, N as ToolCallDisplay, O as Picked, P as ActiveTrigger, Q as ProviderDescriptor, R as CompletionReference, S as EditDiffDisplay, T as EditOutcomeKind, U as AuthMethod, V as findActiveTrigger, W as ProviderAuth, X as ModelOption, Y as ModelInfo, Z as OUTPUT_RESERVE_TOKENS, _ as isEditErrorResult, a as formatToolCall, at as getModelInfo, b as selectableTurnIds, c as splitPromptSegments, ct as modelSupportsReasoning, d as RequestApproval, dt as openrouterDescriptor, et as cerebrasDescriptor, f as SafeModeActions, ft as piIdOf, h as useSafeModeQueue, i as displayNameFor, it as getContextWindow, j as Settings, k as Screen, l as ApprovalDecision, lt as modelsForDescriptor, m as useSafeModeActions, n as ToolDisplayMeta, nt as effectiveContextWindow, o as PromptSegment, ot as localDescriptor, p as SafeModeProvider, pt as restoreModelOptions, q as BUILTIN_PROVIDERS, r as ToolFormatLine, rt as enabledModelOptions, s as PromptSegmentRef, st as modelOptionsFor, t as TOOL_DISPLAY, tt as credKeyOf, u as ApprovalRequest, ut as openaiDescriptor, v as isTurnHighlighted, w as EditOutcome, x as turnSelectionOwnership, y as isVisible, z as applyInsert } from "./tool-formatters-fUAp2Nr4.js";
6
- import { $ as uniqueFilesFromReferences, A as buildUnifiedDiff, B as buildEditOutcomesAnnotation, C as EditSummary, D as PreviewResult, E as InlineSegment, F as previewEditPayload, G as rewriteMultiEditHeader, H as mergeApprovalAndBodyOutcomes, I as splitLines, J as SKILLS_TRIGGER, K as stripEditOutcomesAnnotation, L as summarizeEditPayload, M as computeLineDiff, N as extractEditPayload, O as applyEditPayload, P as filetypeFromPath, Q as createFilesCompletionProvider, R as tokenize, S as EditHunkSummary, T as InlineDiff, U as parseEditOutcomesFromResult, V as maskToOutcomeKinds, W as resolveApprovalForPayload, X as uniqueSkillNamesFromReferences, Y as createSkillsCompletionProvider, Z as FILES_TRIGGER, _ as formatTaskSummary, a as finalizeStreamingMarkdown, b as DiffLine, c as CatalogEntry, d as indexOfEntry, et as FileEntry, f as ageString, g as formatTaskStatus, h as formatDuration, i as turnAsText, it as buildLinearRamp, j as computeInlineDiff, k as buildContextualDiff, l as buildModelCatalog, m as fmtTokens, n as deleteTurnSafely, nt as listProjectFiles, o as finalizeStreamingMarkdownForOwner, p as compactPath, q as summarizeOutcomes, r as truncateTurnsAt, rt as blendHsl, s as turnContextSize, t as countNeighbors, tt as ListProjectFilesOptions, u as filterModelCatalog, v as previewLine, w as HunkResolution, x as DiffOp, y as shortId, z as ResolvedApproval } from "./turn-operations-CE1prnuP.js";
1
+ import { $t as McpToolSchema, Bn as ContextCategoryId, D as SkillConfig, Gn as ContextUsageSplit, Hn as ContextItem, Kn as buildContextBreakdown, Ln as ContextBreakdown, N as Session, Rn as ContextBreakdownOptions, Un as ContextMcpGroup, Vn as ContextExactCounts, Wn as ContextSnapshot, Zt as McpServerConfig, j as SkillsConfig, lt as Provider, pn as SessionTurn, r as AgentHooks, zn as ContextCategory } from "./agent-DYghZGC8.js";
2
+ import { H as McpCredentialEntry, U as McpCredentialStore, t as Preset } from "./index-B2cMuK6S.js";
3
+ import { m as SourcedScanPath } from "./index-CVzpMtdq.js";
4
+ import { $ as useInteractionsQueue, $t as parseBindingSpec, A as InteractionsProvider, At as marginTopFor, B as QuestionPayload, Bt as KEYBINDING_DEF_BY_ACTION, C as ASK_USER_TOOL, Ct as TuiState, D as InteractionRequest, Dt as lastContextSizeFromTurns, E as CreateInteractionToolsOptions, Et as eventsFromTurns, F as PlanRequest, Ft as toolCallPreview, G as TextQuestion, Gt as KeyBindings, H as QuestionResponse, Ht as KeyAction, I as PlanResponse, It as toolResultText, J as isInteractionTool, Jt as formatBindingForDisplay, K as buildResumedToolResultsTurn, Kt as ParsedBinding, L as PlanStep, Lt as updateToolEventOutcomes, M as PendingInteractionEntry, Mt as stripSpawnTokensLine, N as PlanDecision, Nt as sumRunCosts, O as InteractionResponse, Ot as listSessionMeta, P as PlanPayload, Pt as titleFromTurns, Q as useInteractionsActions, Qt as mergeKeybindings, R as Question, Rt as DEFAULT_KEYBINDINGS, S as splitMarkdownCodeBlocks, St as StateStoreApi, T as ConfirmQuestion, Tt as deriveSessionTitle, U as QuestionType, Ut as KeyBindingDef, V as QuestionRequest, Vt as KEYBINDING_KEY_COL_WIDTH, W as SelectQuestion, Wt as KeyBindingSection, X as pendingInteractionsFromTurns, Xt as keybindingsPath, Y as makeRequestInteraction, Yt as groupBindings, Z as serializeInteractionResponse, Zt as matchesBinding, _ as SessionExportTarget, _n as PLAN_AGENT, _t as ResolveStorageDirsOptions, a as ChipColorMap, an as Hint, at as DiscoveryResult, b as writeSessionExport, bn as singleAgentRegistry, bt as StorageSlot, c as SyntaxTokenStyle, cn as truncateTrailing, ct as discoverProjectMcps, d as ThemeSelect, dn as AgentRegistry, dt as ChatOptions, en as readKeybindings, et as EnabledAllowlistKey, f as ThemeSurfaces, fn as BUILD_AGENT, ft as ProviderRegistry, g as SessionExportFormat, gn as DEFAULT_PERSIST_EXCLUDE_TOOLS, gt as resolveStoragePaths, h as SessionExportAnchor, hn as DEFAULT_BUDGET_EXCLUDE_TOOLS, ht as resolveConfig, i as ChipColor, in as EMPTY_HINTS, it as DiscoveryError, j as PRESENT_PLAN_TOOL, jt as saveState, k as InteractionsActions, kt as loadState, l as Theme, ln as AgentAccent, lt as parseMcpsFile, m as resolveTheme, mn as DEFAULT_AGENT_ID, mt as ResolvedPaths, n as computeTurnAnchors, nn as CompletionState, nt as useEnabledToggleSet, o as DEFAULT_THEME, on as clipHintsToWidth, ot as buildMcpServers, p as resolveChipColor, pn as BUILTIN_AGENTS, pt as ResolvedConfig, q as createInteractionTools, qt as ensureKeybindingsFile, r as BUILTIN_THEMES, rn as useCompletion, rt as DiscoveredMcp, s as SyntaxStyles, sn as hintsLength, st as defaultMcpsConfigPaths, t as TranscriptItem, tn as stripJsonComments, tt as EnabledToggleSet, u as ThemeColors, un as AgentProfile, ut as AutoUpdateConfig, v as renderSession, vn as accentColor, vt as StorageDirs, w as AnswerValue, wt as createStateStore, x as MarkdownSegment, xt as resolveStorageDirs, y as resolveSessionExportTarget, yn as resolveAgentId, yt as StorageMode, z as QuestionChoice, zt as KEYBINDING_DEFS } from "./transcript-anchors-D2erm5iS.js";
5
+ import { $ as anthropicDescriptor, A as SessionMeta, B as collectReferences, C as EditHunk, D as Owner, E as EditPayload, F as CompletionContext, G as ProviderKey, H as mergeReferences, I as CompletionItem, J as CustomField, K as detectAuth, L as CompletionProvider, M as StreamEvent, N as ToolCallDisplay, O as Picked, P as ActiveTrigger, Q as ProviderDescriptor, R as CompletionReference, S as EditDiffDisplay, T as EditOutcomeKind, U as AuthMethod, V as findActiveTrigger, W as ProviderAuth, X as ModelOption, Y as ModelInfo, Z as OUTPUT_RESERVE_TOKENS, _ as isEditErrorResult, a as formatToolCall, at as getModelInfo, b as selectableTurnIds, c as splitPromptSegments, ct as modelSupportsReasoning, d as RequestApproval, dt as openrouterDescriptor, et as cerebrasDescriptor, f as SafeModeActions, ft as piIdOf, h as useSafeModeQueue, i as displayNameFor, it as getContextWindow, j as Settings, k as Screen, l as ApprovalDecision, lt as modelsForDescriptor, m as useSafeModeActions, n as ToolDisplayMeta, nt as effectiveContextWindow, o as PromptSegment, ot as localDescriptor, p as SafeModeProvider, pt as restoreModelOptions, q as BUILTIN_PROVIDERS, r as ToolFormatLine, rt as enabledModelOptions, s as PromptSegmentRef, st as modelOptionsFor, t as TOOL_DISPLAY, tt as credKeyOf, u as ApprovalRequest, ut as openaiDescriptor, v as isTurnHighlighted, w as EditOutcome, x as turnSelectionOwnership, y as isVisible, z as applyInsert } from "./tool-formatters-0FEGRd6w.js";
6
+ import { $ as uniqueFilesFromReferences, A as buildUnifiedDiff, B as buildEditOutcomesAnnotation, C as EditSummary, D as PreviewResult, E as InlineSegment, F as previewEditPayload, G as rewriteMultiEditHeader, H as mergeApprovalAndBodyOutcomes, I as splitLines, J as SKILLS_TRIGGER, K as stripEditOutcomesAnnotation, L as summarizeEditPayload, M as computeLineDiff, N as extractEditPayload, O as applyEditPayload, P as filetypeFromPath, Q as createFilesCompletionProvider, R as tokenize, S as EditHunkSummary, T as InlineDiff, U as parseEditOutcomesFromResult, V as maskToOutcomeKinds, W as resolveApprovalForPayload, X as uniqueSkillNamesFromReferences, Y as createSkillsCompletionProvider, Z as FILES_TRIGGER, _ as formatTaskSummary, a as finalizeStreamingMarkdown, b as DiffLine, c as CatalogEntry, d as indexOfEntry, et as FileEntry, f as ageString, g as formatTaskStatus, h as formatDuration, i as turnAsText, it as buildLinearRamp, j as computeInlineDiff, k as buildContextualDiff, l as buildModelCatalog, m as fmtTokens, n as deleteTurnSafely, nt as listProjectFiles, o as finalizeStreamingMarkdownForOwner, p as compactPath, q as summarizeOutcomes, r as truncateTurnsAt, rt as blendHsl, s as turnContextSize, t as countNeighbors, tt as ListProjectFilesOptions, u as filterModelCatalog, v as previewLine, w as HunkResolution, x as DiffOp, y as shortId, z as ResolvedApproval } from "./turn-operations-CeUrtsaM.js";
7
7
  import { Hookable } from "hookable";
8
8
  import { OAuthCredentials, OAuthDeviceCodeInfo, OAuthPrompt, OAuthPrompt as OAuthPrompt$1, OAuthSelectPrompt } from "@earendil-works/pi-ai/oauth";
9
9
  import { spawn } from "node:child_process";
package/dist/chat.js CHANGED
@@ -1,5 +1,5 @@
1
- import { $ as useMcpAuthDispatch, $n as BUILD_AGENT, $t as deriveSessionTitle, A as runOAuthLogin, An as buildUpdateHint, Ar as SUBAGENT_GUIDANCE, B as refreshMcpToolsCatalog, Bn as AUTO_COMPACT_MIN_GROWTH_FRACTION, Bt as CATPPUCCIN_LATTE, C as projectsFilePath, Cn as parseBindingSpec, Cr as COMMUNICATION_DOCTRINE, Ct as listProjectFiles, D as formatPathForCwd, Dn as tryOpenBrowser, Dr as INTERACTION_GUIDANCE_NO_PROMPTS, Dt as SETTINGS_CHOICES, E as writeProjects, En as useCompletion, Er as INTERACTION_GUIDANCE, Et as SETTINGS_CATEGORIES, F as parseMcpsFile, Fn as detectPackageManager, Ft as resolveTheme, G as useMcpToolToggleSet, Gn as readCredentials, Gt as useDiscovery, H as subscribeMcpToolsCache, Hn as detectAuth, Ht as CATPPUCCIN_MOCHA, I as projectUserPaths, In as parseSemver, It as VAPORWAVE_THEME, J as parentServerName, Jn as setProviderCredential, Jt as useConfig, K as buildVisibleMcpRows, Kn as readProviderCredential, Kt as useDiscoveryOptional, L as clearMcpToolsCache, Ln as performInPlaceSelfUpdate, Lt as GRUVBOX_DARK, M as buildMcpServers, Mn as checkForUpdate, Mr as buildBuildSystem, Mt as BUILTIN_THEMES, N as defaultMcpsConfigPaths, Nn as compareSemver, Nr as buildPlanSystem, Nt as DEFAULT_THEME, O as fetchOAuthRedirect, On as bootProfileEnabled, Or as PLAN_MODE_DOCTRINE, Ot as SETTINGS_TOGGLES, P as discoverProjectMcps, Pn as detectLibc, Pr as envSection, Pt as resolveChipColor, Q as McpAuthProvider, Qn as findGitRoot, Qt as createStateStore, R as loadMcpToolsCache, Rn as performSelfUpdate, Rt as GRUVBOX_LIGHT, S as matchesSafelistEntry, Sn as mergeKeybindings, Sr as ACTIONS_WITH_CARE_DOCTRINE, St as shortChord, T as suggestSafelistEntry, Tn as stripJsonComments, Tr as IDENTITY_PREFIX, Tt as DEFAULT_SETTINGS, U as buildToolToggle, Un as applyApiKeyEnv, Ut as createDiscoverySlot, V as saveMcpToolsCache, Vn as shouldAutoCompact, Vt as CATPPUCCIN_MACCHIATO, W as useMcpToolToggleMap, Wn as credentialsPath, Wt as DiscoveryProvider, X as mcpCredentialsPath, Xn as discoverAgentsMd, Xt as resolveStoragePaths, Y as createFileMcpCredentialStore, Yn as writeCredentials, Yt as resolveConfig, Z as patchMcpCredential, Zn as renderAgentsMdBlock, Zt as resolveStorageDirs, _ as useSafeModeQueue, _n as ensureKeybindingsFile, _r as pickActiveRunId, _t as hintsLength, a as useSurfaces, an as saveState, ar as accentColor, at as InteractionsProvider, b as getSafelist, bn as keybindingsPath, br as setTodosForRun, bt as generateSessionTitle, c as useStreamBuffer, cn as sumRunCosts, cr as TODOREAD_TOOL, ct as createInteractionTools, d as discoverProjectSkills, dn as toolResultText, dr as TODO_STATUS_GLYPHS, dt as pendingInteractionsFromTurns, en as eventsFromTurns, er as BUILTIN_AGENTS, et as useMcpAuthState, f as renderSession, fn as updateToolEventOutcomes, fr as TODO_WRITE_COUNTS_METADATA_KEY, ft as serializeInteractionResponse, g as useSafeModeActions, gn as KEYBINDING_KEY_COL_WIDTH, gr as isTodoTool, gt as clipHintsToWidth, h as SafeModeProvider, hn as KEYBINDING_DEF_BY_ACTION, hr as getTodosForRun, ht as EMPTY_HINTS, i as useSelectStyle, in as marginTopFor, ir as PLAN_AGENT, it as ASK_USER_TOOL, j as supportsOAuth, jn as useUpdateCheck, jr as TOKEN_DISCIPLINE_DOCTRINE, jt as useSettings, k as oauthUsesManualCodePaste, kn as bootTick, kr as PLAN_MODE_DOCTRINE_NO_PROMPTS, kt as SettingsProvider, l as buildSkillsConfig, ln as titleFromTurns, lr as TODOS_METADATA_KEY, lt as isInteractionTool, m as writeSessionExport, mn as KEYBINDING_DEFS, mr as getArchivedTodosForRun, mt as useInteractionsQueue, n as ThemeProvider, nn as listSessionMeta, nr as DEFAULT_BUDGET_EXCLUDE_TOOLS, nt as reduceMcpAuth, o as useSyntaxStyles, or as resolveAgentId, ot as PRESENT_PLAN_TOOL, p as resolveSessionExportTarget, pn as DEFAULT_KEYBINDINGS, pr as createTodoTools, pt as useInteractionsActions, q as indexOfServerRow, qn as removeProviderCredential, qt as ConfigProvider, r as useColors, rn as loadState, rr as DEFAULT_PERSIST_EXCLUDE_TOOLS, rt as splitMarkdownCodeBlocks, s as useTheme, sn as stripSpawnTokensLine, sr as singleAgentRegistry, st as buildResumedToolResultsTurn, t as computeTurnAnchors, tn as lastContextSizeFromTurns, tr as DEFAULT_AGENT_ID, tt as getMcpAuthStatus, u as defaultSkillScanPaths, un as toolCallPreview, ur as TODOWRITE_TOOL, ut as makeRequestInteraction, v as IMPLICITLY_SAFE_TOOLS, vn as formatBindingForDisplay, vr as pruneTodosByRun, vt as truncateTrailing, w as readProjects, wn as readKeybindings, wr as DOING_TASKS_DOCTRINE, wt as useEnabledToggleSet, x as isOnSafelist, xn as matchesBinding, xr as useActiveTodos, xt as buildHints, y as addToSafelist, yn as groupBindings, yr as selectActiveTodos, yt as cleanTitle, z as mcpToolsCachePath, zn as resolvePlatformPackage, zt as CATPPUCCIN_FRAPPE } from "./transcript-anchors-Cl7lbbeP.js";
2
- import { B as enabledModelOptions, F as OUTPUT_RESERVE_TOKENS, G as modelSupportsReasoning, H as getModelInfo, I as anthropicDescriptor, J as openrouterDescriptor, K as modelsForDescriptor, L as cerebrasDescriptor, P as BUILTIN_PROVIDERS, R as credKeyOf, U as localDescriptor, V as getContextWindow, W as modelOptionsFor, X as restoreModelOptions, Y as piIdOf, q as openaiDescriptor, z as effectiveContextWindow } from "./tools-dkB_jARJ.js";
1
+ import { $ as useMcpAuthDispatch, $n as BUILD_AGENT, $t as deriveSessionTitle, A as runOAuthLogin, An as buildUpdateHint, Ar as SUBAGENT_GUIDANCE, B as refreshMcpToolsCatalog, Bn as AUTO_COMPACT_MIN_GROWTH_FRACTION, Bt as CATPPUCCIN_LATTE, C as projectsFilePath, Cn as parseBindingSpec, Cr as COMMUNICATION_DOCTRINE, Ct as listProjectFiles, D as formatPathForCwd, Dn as tryOpenBrowser, Dr as INTERACTION_GUIDANCE_NO_PROMPTS, Dt as SETTINGS_CHOICES, E as writeProjects, En as useCompletion, Er as INTERACTION_GUIDANCE, Et as SETTINGS_CATEGORIES, F as parseMcpsFile, Fn as detectPackageManager, Ft as resolveTheme, G as useMcpToolToggleSet, Gn as readCredentials, Gt as useDiscovery, H as subscribeMcpToolsCache, Hn as detectAuth, Ht as CATPPUCCIN_MOCHA, I as projectUserPaths, In as parseSemver, It as VAPORWAVE_THEME, J as parentServerName, Jn as setProviderCredential, Jt as useConfig, K as buildVisibleMcpRows, Kn as readProviderCredential, Kt as useDiscoveryOptional, L as clearMcpToolsCache, Ln as performInPlaceSelfUpdate, Lt as GRUVBOX_DARK, M as buildMcpServers, Mn as checkForUpdate, Mr as buildBuildSystem, Mt as BUILTIN_THEMES, N as defaultMcpsConfigPaths, Nn as compareSemver, Nr as buildPlanSystem, Nt as DEFAULT_THEME, O as fetchOAuthRedirect, On as bootProfileEnabled, Or as PLAN_MODE_DOCTRINE, Ot as SETTINGS_TOGGLES, P as discoverProjectMcps, Pn as detectLibc, Pr as envSection, Pt as resolveChipColor, Q as McpAuthProvider, Qn as findGitRoot, Qt as createStateStore, R as loadMcpToolsCache, Rn as performSelfUpdate, Rt as GRUVBOX_LIGHT, S as matchesSafelistEntry, Sn as mergeKeybindings, Sr as ACTIONS_WITH_CARE_DOCTRINE, St as shortChord, T as suggestSafelistEntry, Tn as stripJsonComments, Tr as IDENTITY_PREFIX, Tt as DEFAULT_SETTINGS, U as buildToolToggle, Un as applyApiKeyEnv, Ut as createDiscoverySlot, V as saveMcpToolsCache, Vn as shouldAutoCompact, Vt as CATPPUCCIN_MACCHIATO, W as useMcpToolToggleMap, Wn as credentialsPath, Wt as DiscoveryProvider, X as mcpCredentialsPath, Xn as discoverAgentsMd, Xt as resolveStoragePaths, Y as createFileMcpCredentialStore, Yn as writeCredentials, Yt as resolveConfig, Z as patchMcpCredential, Zn as renderAgentsMdBlock, Zt as resolveStorageDirs, _ as useSafeModeQueue, _n as ensureKeybindingsFile, _r as pickActiveRunId, _t as hintsLength, a as useSurfaces, an as saveState, ar as accentColor, at as InteractionsProvider, b as getSafelist, bn as keybindingsPath, br as setTodosForRun, bt as generateSessionTitle, c as useStreamBuffer, cn as sumRunCosts, cr as TODOREAD_TOOL, ct as createInteractionTools, d as discoverProjectSkills, dn as toolResultText, dr as TODO_STATUS_GLYPHS, dt as pendingInteractionsFromTurns, en as eventsFromTurns, er as BUILTIN_AGENTS, et as useMcpAuthState, f as renderSession, fn as updateToolEventOutcomes, fr as TODO_WRITE_COUNTS_METADATA_KEY, ft as serializeInteractionResponse, g as useSafeModeActions, gn as KEYBINDING_KEY_COL_WIDTH, gr as isTodoTool, gt as clipHintsToWidth, h as SafeModeProvider, hn as KEYBINDING_DEF_BY_ACTION, hr as getTodosForRun, ht as EMPTY_HINTS, i as useSelectStyle, in as marginTopFor, ir as PLAN_AGENT, it as ASK_USER_TOOL, j as supportsOAuth, jn as useUpdateCheck, jr as TOKEN_DISCIPLINE_DOCTRINE, jt as useSettings, k as oauthUsesManualCodePaste, kn as bootTick, kr as PLAN_MODE_DOCTRINE_NO_PROMPTS, kt as SettingsProvider, l as buildSkillsConfig, ln as titleFromTurns, lr as TODOS_METADATA_KEY, lt as isInteractionTool, m as writeSessionExport, mn as KEYBINDING_DEFS, mr as getArchivedTodosForRun, mt as useInteractionsQueue, n as ThemeProvider, nn as listSessionMeta, nr as DEFAULT_BUDGET_EXCLUDE_TOOLS, nt as reduceMcpAuth, o as useSyntaxStyles, or as resolveAgentId, ot as PRESENT_PLAN_TOOL, p as resolveSessionExportTarget, pn as DEFAULT_KEYBINDINGS, pr as createTodoTools, pt as useInteractionsActions, q as indexOfServerRow, qn as removeProviderCredential, qt as ConfigProvider, r as useColors, rn as loadState, rr as DEFAULT_PERSIST_EXCLUDE_TOOLS, rt as splitMarkdownCodeBlocks, s as useTheme, sn as stripSpawnTokensLine, sr as singleAgentRegistry, st as buildResumedToolResultsTurn, t as computeTurnAnchors, tn as lastContextSizeFromTurns, tr as DEFAULT_AGENT_ID, tt as getMcpAuthStatus, u as defaultSkillScanPaths, un as toolCallPreview, ur as TODOWRITE_TOOL, ut as makeRequestInteraction, v as IMPLICITLY_SAFE_TOOLS, vn as formatBindingForDisplay, vr as pruneTodosByRun, vt as truncateTrailing, w as readProjects, wn as readKeybindings, wr as DOING_TASKS_DOCTRINE, wt as useEnabledToggleSet, x as isOnSafelist, xn as matchesBinding, xr as useActiveTodos, xt as buildHints, y as addToSafelist, yn as groupBindings, yr as selectActiveTodos, yt as cleanTitle, z as mcpToolsCachePath, zn as resolvePlatformPackage, zt as CATPPUCCIN_FRAPPE } from "./transcript-anchors-Bp5bV0Bv.js";
2
+ import { B as enabledModelOptions, F as OUTPUT_RESERVE_TOKENS, G as modelSupportsReasoning, H as getModelInfo, I as anthropicDescriptor, J as openrouterDescriptor, K as modelsForDescriptor, L as cerebrasDescriptor, P as BUILTIN_PROVIDERS, R as credKeyOf, U as localDescriptor, V as getContextWindow, W as modelOptionsFor, X as restoreModelOptions, Y as piIdOf, q as openaiDescriptor, z as effectiveContextWindow } from "./tools-BmPeBGU1.js";
3
3
  import { a as compactPath, c as formatTaskStatus, d as shortId, f as buildContextBreakdown, i as ageString, l as formatTaskSummary, o as fmtTokens, s as formatDuration, u as previewLine } from "./edit-utils-DnfNoj16.js";
4
4
  import { A as splitLines, B as summarizeOutcomes, C as buildContextualDiff, D as extractEditPayload, E as computeLineDiff, F as mergeApprovalAndBodyOutcomes, G as createFilesCompletionProvider, H as createSkillsCompletionProvider, I as parseEditOutcomesFromResult, J as collectReferences, K as uniqueFilesFromReferences, L as resolveApprovalForPayload, M as tokenize, N as buildEditOutcomesAnnotation, O as filetypeFromPath, P as maskToOutcomeKinds, Q as buildLinearRamp, R as rewriteMultiEditHeader, S as applyEditPayload, T as computeInlineDiff, U as uniqueSkillNamesFromReferences, V as SKILLS_TRIGGER, W as FILES_TRIGGER, X as mergeReferences, Y as findActiveTrigger, Z as blendHsl, _ as isEditErrorResult, a as TOOL_DISPLAY, b as selectableTurnIds, c as finalizeStreamingMarkdown, d as turnContextSize, f as splitPromptSegments, h as indexOfEntry, i as turnAsText, j as summarizeEditPayload, k as previewEditPayload, l as finalizeStreamingMarkdownForOwner, m as filterModelCatalog, n as deleteTurnSafely, o as displayNameFor, p as buildModelCatalog, q as applyInsert, r as truncateTurnsAt, s as formatToolCall, t as countNeighbors, v as isTurnHighlighted, w as buildUnifiedDiff, x as turnSelectionOwnership, y as isVisible, z as stripEditOutcomesAnnotation } from "./turn-operations-CCHfR9eC.js";
5
5
  //#region src/chat/auto-update-cli.ts
@@ -1,8 +1,8 @@
1
- import { d as createAgent } from "./tools-dkB_jARJ.js";
1
+ import { d as createAgent } from "./tools-BmPeBGU1.js";
2
2
  import { n as createProcessContext } from "./contexts-BD2U_xpi.js";
3
3
  import { r as toolResultToText } from "./types-BPw_i5vb.js";
4
4
  import { i as statsByModel } from "./stats-DAKBEKjc.js";
5
- import { i as basic_default } from "./presets-DTxFbEZ5.js";
5
+ import { i as basic_default } from "./presets-B1gWui0v.js";
6
6
  import { i as createMemoryStore, t as createSession } from "./session-BzLou2_-.js";
7
7
  //#region src/run-summary.ts
8
8
  /**
@@ -37,6 +37,7 @@ function createRunSummaryCollector(options = {}) {
37
37
  const blocks = [];
38
38
  const validationRejects = [];
39
39
  const budgetEvents = [];
40
+ const repeatGuardEvents = [];
40
41
  const pairingRepairs = {};
41
42
  const children = [];
42
43
  function resetForNewRun() {
@@ -45,6 +46,7 @@ function createRunSummaryCollector(options = {}) {
45
46
  blocks.length = 0;
46
47
  validationRejects.length = 0;
47
48
  budgetEvents.length = 0;
49
+ repeatGuardEvents.length = 0;
48
50
  for (const k of Object.keys(pairingRepairs)) delete pairingRepairs[k];
49
51
  children.length = 0;
50
52
  }
@@ -142,6 +144,15 @@ function createRunSummaryCollector(options = {}) {
142
144
  turnId: ctx.turnId
143
145
  });
144
146
  }));
147
+ unregisters.push(hooks.hook("repeat-guard:exceeded", (ctx) => {
148
+ repeatGuardEvents.push({
149
+ toolName: ctx.tool,
150
+ count: ctx.count,
151
+ threshold: ctx.threshold,
152
+ action: ctx.action,
153
+ turnId: ctx.turnId
154
+ });
155
+ }));
145
156
  unregisters.push(hooks.hook("pairing:repair", (ctx) => {
146
157
  pairingRepairs[ctx.mode] = (pairingRepairs[ctx.mode] ?? 0) + 1;
147
158
  }));
@@ -177,6 +188,7 @@ function createRunSummaryCollector(options = {}) {
177
188
  blocks: blocks.slice(),
178
189
  validationRejects: validationRejects.slice(),
179
190
  budgetEvents: budgetEvents.slice(),
191
+ repeatGuardEvents: repeatGuardEvents.slice(),
180
192
  pairingRepairs: { ...pairingRepairs },
181
193
  ...children.length > 0 ? { children: children.slice() } : {}
182
194
  };
@@ -235,6 +247,7 @@ function minimalSummaryFromStats(stats, meta) {
235
247
  blocks: [],
236
248
  validationRejects: [],
237
249
  budgetEvents: [],
250
+ repeatGuardEvents: [],
238
251
  pairingRepairs: {},
239
252
  ...children.length > 0 ? { children } : {}
240
253
  };
@@ -486,4 +499,4 @@ function installEventAdapter(hooks, onEvent) {
486
499
  //#endregion
487
500
  export { createRunSummaryCollector as i, runHeadless as n, transcriptToOpenAIMessages as r, headlessEventToJsonl as t };
488
501
 
489
- //# sourceMappingURL=headless-CEtk5dzV.js.map
502
+ //# sourceMappingURL=headless-DnjYDckH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headless-DnjYDckH.js","names":["basic"],"sources":["../src/run-summary.ts","../src/headless.ts"],"sourcesContent":["/**\n * Run summary collector — one JSON postmortem per `agent.run()`.\n *\n * `AgentStats` is great for billing and per-turn accounting but doesn't\n * carry a record of the *interesting* events that happened during a run\n * (errors, gate blocks, validation rejects, budget hits, MCP failures).\n * Reconstructing that from a hook stream after the fact is exactly the\n * kind of plumbing every consumer ends up re-implementing.\n *\n * This module ships:\n *\n * - {@link RunSummary} — a serializable shape that bundles totals,\n * per-model breakdown, and all the per-run incident lists.\n * - {@link createRunSummaryCollector} — installs hook listeners that\n * build up a {@link RunSummary} during the run and surfaces it on\n * `agent:done`. Calls an optional `onSummary` callback so the host can\n * forward to a log aggregator / DB / postmortem dashboard without\n * touching `agent.run()`'s return value.\n *\n * The collector is purely additive — it doesn't touch the agent loop,\n * doesn't change return shapes, and doesn't suppress any other hook\n * handlers. Drop it in alongside tracing / metrics / logging or use it\n * standalone when you only need the summary.\n */\n\nimport type { Hookable } from 'hookable'\nimport type { AgentHooks } from './agent'\nimport type { AgentStats } from './types'\nimport { statsByModel } from './stats'\n\n// ---------------------------------------------------------------------------\n// Public shape\n// ---------------------------------------------------------------------------\n\nexport interface RunSummaryTokens {\n input: number\n output: number\n cacheRead: number\n cacheCreation: number\n cost?: number\n /** First observable byte from the provider, ms from run start. */\n ttftMs?: number\n}\n\nexport interface RunSummaryByModel {\n modelId: string\n input: number\n output: number\n cacheRead: number\n cacheCreation: number\n cost: number\n turns: number\n}\n\nexport interface RunSummaryError {\n kind: 'stream' | 'tool' | 'mcp-tool' | 'mcp' | 'spawn'\n message: string\n errorType?: string\n turnId?: string\n callId?: string\n server?: string\n toolName?: string\n childId?: string\n statusCode?: number\n requestId?: string\n}\n\nexport interface RunSummaryBlock {\n callId: string\n toolName: string\n outcome: 'gate-block' | 'unknown' | 'invalid-input'\n reason?: string\n}\n\nexport interface RunSummaryValidation {\n callId: string\n toolName: string\n reason: string\n}\n\nexport interface RunSummaryBudget {\n kind: 'bytes' | 'tool-count'\n /** Tool name (for `'tool-count'`); absent for byte budgets. */\n toolName?: string\n /** `mode` for `'tool-count'`; absent for byte budgets. */\n mode?: 'steer' | 'block'\n observed: number\n limit: number\n turnId?: string\n}\n\nexport interface RunSummaryRepeatGuard {\n toolName: string\n /** Consecutive identical calls including the one that tripped the guard. */\n count: number\n threshold: number\n action: 'block' | 'abort'\n turnId?: string\n}\n\n/**\n * Postmortem snapshot of one `agent.run()`. Strictly serializable — every\n * field round-trips through `JSON.stringify` / `JSON.parse` without loss\n * so a log aggregator can ingest it as-is.\n */\nexport interface RunSummary {\n runId?: string\n parentRunId?: string\n depth: number\n agentName?: string\n startedAt: number\n endedAt: number\n durationMs: number\n status: 'completed' | 'aborted'\n turns: number\n totals: RunSummaryTokens\n byModel: RunSummaryByModel[]\n errors: RunSummaryError[]\n blocks: RunSummaryBlock[]\n validationRejects: RunSummaryValidation[]\n budgetEvents: RunSummaryBudget[]\n /**\n * Consecutive-identical repeat-guard escalations. An `action: 'abort'`\n * entry means the guard terminated the run via the agent's\n * `AbortController` (the run finalizes as `'aborted'`).\n */\n repeatGuardEvents: RunSummaryRepeatGuard[]\n /** Counts of pairing repairs, keyed by repair mode. */\n pairingRepairs: Record<string, number>\n /**\n * Postmortem snapshots of child runs that bubbled their stats up via\n * `spawn:complete`. Only present when the run actually spawned.\n */\n children?: RunSummary[]\n}\n\n// ---------------------------------------------------------------------------\n// Collector\n// ---------------------------------------------------------------------------\n\nexport interface RunSummaryCollectorOptions {\n /**\n * Called with the assembled {@link RunSummary} on every `agent:done`.\n * Synchronous — heavy I/O should be deferred (e.g. via `setImmediate`).\n */\n onSummary?: (summary: RunSummary) => void\n}\n\nexport interface RunSummaryCollector {\n /** Install the collector's hook handlers. Returns an uninstall fn. */\n install: (hooks: Hookable<AgentHooks>) => () => void\n /** Most-recent summary; `undefined` until the first `agent:done` fires. */\n latest: () => RunSummary | undefined\n}\n\n/**\n * Build a run-summary collector. State is created fresh inside each\n * `install()` call, so a single collector instance can be installed\n * across multiple agents without attribution cross-talk. `latest()`\n * returns the most-recent summary across **any** install — install\n * per-agent collectors if you need separate post-run snapshots.\n *\n * @example\n * ```ts\n * const collector = createRunSummaryCollector({\n * onSummary: s => console.log(JSON.stringify(s)),\n * })\n * const uninstall = collector.install(agent.hooks)\n * try { await agent.run({ prompt }) }\n * finally { uninstall() }\n * ```\n */\nexport function createRunSummaryCollector(\n options: RunSummaryCollectorOptions = {},\n): RunSummaryCollector {\n let last: RunSummary | undefined\n\n return {\n latest: () => last,\n install(hooks: Hookable<AgentHooks>): () => void {\n // Per-run in-progress accumulators. The hookable bus serializes\n // agent.run lifecycles per agent — we reset between runs on\n // `agent:start` and consume on `agent:done`.\n let runId: string | undefined\n let parentRunId: string | undefined\n let depth = 0\n let agentName: string | undefined\n let startedAt = Date.now()\n let aborted = false\n const errors: RunSummaryError[] = []\n const blocks: RunSummaryBlock[] = []\n const validationRejects: RunSummaryValidation[] = []\n const budgetEvents: RunSummaryBudget[] = []\n const repeatGuardEvents: RunSummaryRepeatGuard[] = []\n const pairingRepairs: Record<string, number> = {}\n const children: RunSummary[] = []\n\n function resetForNewRun(): void {\n aborted = false\n errors.length = 0\n blocks.length = 0\n validationRejects.length = 0\n budgetEvents.length = 0\n repeatGuardEvents.length = 0\n for (const k of Object.keys(pairingRepairs))\n delete pairingRepairs[k]\n children.length = 0\n }\n\n const unregisters: Array<() => void> = []\n\n unregisters.push(hooks.hook('agent:start', (ctx) => {\n resetForNewRun()\n runId = ctx.runId\n parentRunId = ctx.parentRunId\n depth = ctx.depth\n agentName = ctx.agentName\n startedAt = ctx.startedAt\n }))\n\n unregisters.push(hooks.hook('agent:abort', () => {\n aborted = true\n }))\n\n unregisters.push(hooks.hook('stream:error', (ctx) => {\n const msg = ctx.err instanceof Error ? ctx.err.message : String(ctx.err)\n const errorType = ctx.err instanceof Error ? ctx.err.name : 'unknown'\n errors.push({\n kind: 'stream',\n message: msg,\n errorType,\n turnId: ctx.turnId,\n ...(ctx.statusCode !== undefined ? { statusCode: ctx.statusCode } : {}),\n ...(ctx.requestId !== undefined ? { requestId: ctx.requestId } : {}),\n })\n }))\n\n unregisters.push(hooks.hook('tool:error', (ctx) => {\n errors.push({\n kind: 'tool',\n message: ctx.error.message,\n errorType: ctx.error.name,\n turnId: ctx.turnId,\n callId: ctx.callId,\n toolName: ctx.name,\n })\n }))\n\n unregisters.push(hooks.hook('mcp:tool:error', (ctx) => {\n errors.push({\n kind: 'mcp-tool',\n message: ctx.error.message,\n errorType: ctx.error.name,\n turnId: ctx.turnId,\n callId: ctx.callId,\n server: ctx.server,\n toolName: ctx.displayName,\n })\n }))\n\n unregisters.push(hooks.hook('mcp:error', (ctx) => {\n errors.push({\n kind: 'mcp',\n message: ctx.error.message,\n errorType: ctx.error.name,\n server: ctx.name,\n })\n }))\n\n unregisters.push(hooks.hook('spawn:error', (ctx) => {\n errors.push({\n kind: 'spawn',\n message: ctx.error.message,\n errorType: ctx.error.name,\n childId: ctx.id,\n })\n }))\n\n unregisters.push(hooks.hook('tool:dispatched', (ctx) => {\n if (ctx.outcome === 'gate-block' || ctx.outcome === 'unknown' || ctx.outcome === 'invalid-input') {\n blocks.push({\n callId: ctx.callId,\n toolName: ctx.name,\n outcome: ctx.outcome,\n ...(ctx.reason ? { reason: ctx.reason } : {}),\n })\n }\n }))\n\n unregisters.push(hooks.hook('validation:reject', (ctx) => {\n validationRejects.push({\n callId: ctx.callId,\n toolName: ctx.name,\n reason: ctx.reason,\n })\n }))\n\n unregisters.push(hooks.hook('budget:exceeded', (ctx) => {\n budgetEvents.push({\n kind: 'bytes',\n observed: ctx.bytes,\n limit: ctx.budget,\n turnId: ctx.turnId,\n })\n }))\n\n unregisters.push(hooks.hook('tool-budget:exceeded', (ctx) => {\n budgetEvents.push({\n kind: 'tool-count',\n toolName: ctx.tool,\n mode: ctx.mode,\n observed: ctx.count,\n limit: ctx.max,\n turnId: ctx.turnId,\n })\n }))\n\n unregisters.push(hooks.hook('repeat-guard:exceeded', (ctx) => {\n repeatGuardEvents.push({\n toolName: ctx.tool,\n count: ctx.count,\n threshold: ctx.threshold,\n action: ctx.action,\n turnId: ctx.turnId,\n })\n }))\n\n unregisters.push(hooks.hook('pairing:repair', (ctx) => {\n pairingRepairs[ctx.mode] = (pairingRepairs[ctx.mode] ?? 0) + 1\n }))\n\n unregisters.push(hooks.hook('agent:done', (stats) => {\n const endedAt = Date.now()\n\n // Build per-model rollup via the existing `statsByModel` helper\n // so we stay in lockstep with how the rest of the harness\n // attributes cost and tokens by model id.\n const byModel: RunSummaryByModel[] = []\n for (const [modelId, usage] of statsByModel(stats)) {\n byModel.push({\n modelId,\n input: usage.input,\n output: usage.output,\n cacheRead: usage.cacheRead,\n cacheCreation: usage.cacheCreation,\n cost: usage.cost,\n turns: usage.turns,\n })\n }\n\n // Flatten child stats into nested summaries. We don't have the\n // child's full event lists here (those landed on the child's\n // own hooks), so the nested entry is a minimal totals-only\n // record — enough for a flat per-run audit trail; consumers\n // wanting full per-child event lists install a collector on\n // each subagent.\n for (const c of stats.children ?? []) {\n children.push(minimalSummaryFromStats(c.stats, {\n depth: c.depth ?? depth + 1,\n status: c.status === 'aborted' ? 'aborted' : 'completed',\n }))\n }\n\n const summary: RunSummary = {\n ...(runId ? { runId } : {}),\n ...(parentRunId ? { parentRunId } : {}),\n depth,\n ...(agentName ? { agentName } : {}),\n startedAt,\n endedAt,\n durationMs: endedAt - startedAt,\n status: aborted ? 'aborted' : 'completed',\n turns: stats.turns,\n totals: buildTotals(stats),\n byModel,\n errors: errors.slice(),\n blocks: blocks.slice(),\n validationRejects: validationRejects.slice(),\n budgetEvents: budgetEvents.slice(),\n repeatGuardEvents: repeatGuardEvents.slice(),\n pairingRepairs: { ...pairingRepairs },\n ...(children.length > 0 ? { children: children.slice() } : {}),\n }\n\n last = summary\n try {\n options.onSummary?.(summary)\n }\n catch {\n // Sink errors are not the collector's concern.\n }\n }))\n\n let disposed = false\n return function uninstall() {\n if (disposed)\n return\n disposed = true\n for (const un of unregisters) {\n try {\n un()\n }\n catch { /* ignore */ }\n }\n }\n },\n }\n}\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction buildTotals(stats: AgentStats): RunSummaryTokens {\n return {\n input: stats.totalIn,\n output: stats.totalOut,\n cacheRead: stats.totalCacheRead,\n cacheCreation: stats.totalCacheCreation,\n ...(typeof stats.cost === 'number' ? { cost: stats.cost } : {}),\n ...(typeof stats.timeTillFirstTokenMs === 'number' ? { ttftMs: stats.timeTillFirstTokenMs } : {}),\n }\n}\n\nfunction minimalSummaryFromStats(\n stats: AgentStats,\n meta: { depth: number, status: 'completed' | 'aborted' },\n): RunSummary {\n const byModel: RunSummaryByModel[] = []\n for (const [modelId, usage] of statsByModel(stats)) {\n byModel.push({\n modelId,\n input: usage.input,\n output: usage.output,\n cacheRead: usage.cacheRead,\n cacheCreation: usage.cacheCreation,\n cost: usage.cost,\n turns: usage.turns,\n })\n }\n const children: RunSummary[] = []\n for (const c of stats.children ?? []) {\n children.push(minimalSummaryFromStats(c.stats, {\n depth: c.depth ?? meta.depth + 1,\n status: c.status === 'aborted' ? 'aborted' : 'completed',\n }))\n }\n return {\n depth: meta.depth,\n startedAt: 0,\n endedAt: 0,\n durationMs: stats.elapsed,\n status: meta.status,\n turns: stats.turns,\n totals: buildTotals(stats),\n byModel,\n errors: [],\n blocks: [],\n validationRejects: [],\n budgetEvents: [],\n repeatGuardEvents: [],\n pairingRepairs: {},\n ...(children.length > 0 ? { children } : {}),\n }\n}\n","/**\n * Headless mode — a non-interactive, fully-structured way to drive the agent\n * for automation and RL rollouts.\n *\n * `agent.run()` already returns rich {@link AgentStats}, the session captures a\n * lossless transcript (`session.turns`), and the hook bus exposes every\n * streaming/tool/turn event. What this module adds is the *contract* an RL loop\n * needs: one call (`runHeadless`) that runs a prompt to completion in a chosen\n * workdir, bounded by turns + wall-clock, and hands back a single serializable\n * {@link HeadlessResult} — final answer, verifiable structured output, usage,\n * and the complete trajectory — plus an optional live {@link HeadlessEvent}\n * stream (the in-process equivalent of `--output-format stream-json`).\n *\n * It is provider-agnostic: the caller passes a built {@link Provider} (e.g.\n * `local()` pointed at a vLLM server, or any of the named providers). The thin\n * CLI in `src/headless-cli.ts` wraps this with arg parsing, file/stdin I/O, and\n * JSONL transcript writing.\n */\n\nimport type { Hookable } from 'hookable'\nimport type { AgentHooks, AgentOptions } from './agent'\nimport type { ExecutionContext } from './contexts'\nimport type { Provider } from './providers'\nimport type { RunSummary } from './run-summary'\nimport type { Session, SessionStore } from './session'\nimport type { ToolDef } from './tools'\nimport type {\n AgentStats,\n McpServerConfig,\n PromptPart,\n SessionContentBlock,\n SessionTurn,\n ThinkingLevel,\n TurnFinishReason,\n TurnUsage,\n} from './types'\nimport { createAgent } from './agent'\nimport { createProcessContext } from './contexts'\nimport { basic } from './presets'\nimport { createRunSummaryCollector } from './run-summary'\nimport { createMemoryStore, createSession } from './session'\nimport { 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\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, usage: TurnUsage }\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 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 /** 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']> = {}\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 ? installEventAdapter(agent.hooks, opts.onEvent) : noop\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.\n const controller = new AbortController()\n if (opts.signal) {\n if (opts.signal.aborted)\n controller.abort(opts.signal.reason)\n else\n opts.signal.addEventListener('abort', () => controller.abort(opts.signal!.reason), { 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 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()\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 ...(lastFinishReason(stats) ? { finishReason: lastFinishReason(stats) } : {}),\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\n tool_calls?: Array<{ id: string, type: 'function', function: { name: string, arguments: string } }>\n tool_call_id?: string\n}\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 */\nexport function transcriptToOpenAIMessages(turns: SessionTurn[]): OpenAIChatMessage[] {\n const messages: OpenAIChatMessage[] = []\n for (const turn of turns) {\n const text = textOf(turn.content)\n\n if (turn.role === 'system') {\n messages.push({ role: 'system', content: text })\n continue\n }\n\n if (turn.role === 'assistant') {\n const toolCalls = turn.content.filter((b): b is ToolCallBlock => b.type === 'tool_call')\n const msg: OpenAIChatMessage = { role: 'assistant', content: text || null }\n if (toolCalls.length > 0) {\n msg.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(msg)\n continue\n }\n\n // user turn — may carry prompt text and/or tool_result blocks\n if (text)\n messages.push({ role: 'user', content: text })\n for (const tr of turn.content.filter((b): b is ToolResultBlock => b.type === 'tool_result'))\n messages.push({ role: 'tool', tool_call_id: tr.callId, content: toolResultToText(tr.output) })\n }\n return messages\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 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\nfunction installEventAdapter(\n hooks: Hookable<AgentHooks>,\n onEvent: (event: HeadlessEvent) => void,\n): () => void {\n const unregs: Array<() => void> = []\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('turn:after', ctx => emit({ type: 'turn', index: ctx.turn, usage: ctx.usage })))\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 { Ct as HeadlessUsage, Dt as transcriptToOpenAIMessages, Et as runHeadless, St as HeadlessStatus, Tt as headlessEventToJsonl, bt as HeadlessOptions, vt as HeadlessErrorInfo, wt as OpenAIChatMessage, xt as HeadlessResult, yt as HeadlessEvent } from "./index-DEqGfnZr.js";
1
+ import { Ct as HeadlessUsage, Dt as transcriptToOpenAIMessages, Et as runHeadless, St as HeadlessStatus, Tt as headlessEventToJsonl, bt as HeadlessOptions, vt as HeadlessErrorInfo, wt as OpenAIChatMessage, xt as HeadlessResult, yt as HeadlessEvent } from "./index-B2cMuK6S.js";
2
2
  export { HeadlessErrorInfo, HeadlessEvent, HeadlessOptions, HeadlessResult, HeadlessStatus, HeadlessUsage, OpenAIChatMessage, headlessEventToJsonl, runHeadless, transcriptToOpenAIMessages };
package/dist/headless.js CHANGED
@@ -1,2 +1,2 @@
1
- import { n as runHeadless, r as transcriptToOpenAIMessages, t as headlessEventToJsonl } from "./headless-CEtk5dzV.js";
1
+ import { n as runHeadless, r as transcriptToOpenAIMessages, t as headlessEventToJsonl } from "./headless-DnjYDckH.js";
2
2
  export { headlessEventToJsonl, runHeadless, transcriptToOpenAIMessages };