zidane 5.8.2 → 5.8.4

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 (74) hide show
  1. package/dist/{agent-acjWZ_4E.d.ts → agent-CL4nT5Ti.d.ts} +145 -10
  2. package/dist/agent-CL4nT5Ti.d.ts.map +1 -0
  3. package/dist/chat/pure.d.ts +3 -3
  4. package/dist/chat.d.ts +6 -6
  5. package/dist/chat.js +2 -2
  6. package/dist/{errors-CoQnKRf1.js → errors-B-GeaKTX.js} +24 -2
  7. package/dist/{errors-CoQnKRf1.js.map → errors-B-GeaKTX.js.map} +1 -1
  8. package/dist/{fetch-url-CPxfiXDa.js → fetch-url-D0M3oft5.js} +2 -2
  9. package/dist/{fetch-url-CPxfiXDa.js.map → fetch-url-D0M3oft5.js.map} +1 -1
  10. package/dist/{headless-CJFFU6DI.js → headless-AnwtKahq.js} +54 -32
  11. package/dist/headless-AnwtKahq.js.map +1 -0
  12. package/dist/headless.d.ts +1 -1
  13. package/dist/headless.js +1 -1
  14. package/dist/{index-zy4OtFSv.d.ts → index-BDMVtgHD.d.ts} +6 -2
  15. package/dist/index-BDMVtgHD.d.ts.map +1 -0
  16. package/dist/{index-Cgr_mbMJ.d.ts → index-DtLfTUXt.d.ts} +2 -2
  17. package/dist/{index-Cgr_mbMJ.d.ts.map → index-DtLfTUXt.d.ts.map} +1 -1
  18. package/dist/index.d.ts +4 -4
  19. package/dist/index.js +10 -10
  20. package/dist/{interpolate-TySiqKzc.js → interpolate-CmcrnzDZ.js} +2 -2
  21. package/dist/{interpolate-TySiqKzc.js.map → interpolate-CmcrnzDZ.js.map} +1 -1
  22. package/dist/{login-BjY_sBdn.js → login-9b_Q2DVg.js} +4 -4
  23. package/dist/{login-BjY_sBdn.js.map → login-9b_Q2DVg.js.map} +1 -1
  24. package/dist/{mcp-Br3b1Xm3.js → mcp-Bp4tWsdM.js} +2 -2
  25. package/dist/{mcp-Br3b1Xm3.js.map → mcp-Bp4tWsdM.js.map} +1 -1
  26. package/dist/mcp.d.ts +1 -1
  27. package/dist/mcp.js +1 -1
  28. package/dist/{messages-CvRQTdbR.js → messages-Dhva-Ewy.js} +7 -2
  29. package/dist/messages-Dhva-Ewy.js.map +1 -0
  30. package/dist/{presets-BmsTNxjR.js → presets-J9EyUhvT.js} +2 -2
  31. package/dist/{presets-BmsTNxjR.js.map → presets-J9EyUhvT.js.map} +1 -1
  32. package/dist/presets.d.ts +2 -2
  33. package/dist/presets.js +1 -1
  34. package/dist/{providers-h4HJPbbv.js → providers-ByITfqRA.js} +119 -95
  35. package/dist/providers-ByITfqRA.js.map +1 -0
  36. package/dist/providers.d.ts +1 -1
  37. package/dist/providers.js +2 -2
  38. package/dist/restate.d.ts +1 -1
  39. package/dist/session/sqlite.d.ts +1 -1
  40. package/dist/session/sqlite.js +1 -1
  41. package/dist/{session-BzLou2_-.js → session-7CKYn9qT.js} +2 -2
  42. package/dist/{session-BzLou2_-.js.map → session-7CKYn9qT.js.map} +1 -1
  43. package/dist/session.d.ts +1 -1
  44. package/dist/session.js +2 -2
  45. package/dist/skills.d.ts +2 -2
  46. package/dist/skills.js +1 -1
  47. package/dist/{tool-formatters-B5UNV_sy.d.ts → tool-formatters-D-aWpu2N.d.ts} +2 -2
  48. package/dist/{tool-formatters-B5UNV_sy.d.ts.map → tool-formatters-D-aWpu2N.d.ts.map} +1 -1
  49. package/dist/tools/fetch-url.d.ts +1 -1
  50. package/dist/tools/fetch-url.js +1 -1
  51. package/dist/tools/web-search.d.ts +1 -1
  52. package/dist/tools/web-search.js +2 -2
  53. package/dist/{tools-BzQtic6M.js → tools-DCFiAUel.js} +99 -39
  54. package/dist/tools-DCFiAUel.js.map +1 -0
  55. package/dist/tools.d.ts +2 -2
  56. package/dist/tools.js +1 -1
  57. package/dist/{transcript-anchors-C571npbs.js → transcript-anchors-D-X067Sc.js} +9 -9
  58. package/dist/{transcript-anchors-C571npbs.js.map → transcript-anchors-D-X067Sc.js.map} +1 -1
  59. package/dist/{transcript-anchors-Dtz6U4GW.d.ts → transcript-anchors-DYsnGyel.d.ts} +4 -4
  60. package/dist/{transcript-anchors-Dtz6U4GW.d.ts.map → transcript-anchors-DYsnGyel.d.ts.map} +1 -1
  61. package/dist/tui.d.ts +3 -3
  62. package/dist/tui.js +7 -7
  63. package/dist/{turn-operations-CqJAEzoe.d.ts → turn-operations-D-fypW6K.d.ts} +3 -3
  64. package/dist/{turn-operations-CqJAEzoe.d.ts.map → turn-operations-D-fypW6K.d.ts.map} +1 -1
  65. package/dist/types-BPw_i5vb.js.map +1 -1
  66. package/dist/types.d.ts +3 -3
  67. package/dist/types.js +1 -1
  68. package/package.json +1 -1
  69. package/dist/agent-acjWZ_4E.d.ts.map +0 -1
  70. package/dist/headless-CJFFU6DI.js.map +0 -1
  71. package/dist/index-zy4OtFSv.d.ts.map +0 -1
  72. package/dist/messages-CvRQTdbR.js.map +0 -1
  73. package/dist/providers-h4HJPbbv.js.map +0 -1
  74. package/dist/tools-BzQtic6M.js.map +0 -1
@@ -1594,6 +1594,26 @@ interface PromptDocumentPart {
1594
1594
  * does not accept images inside tool-role messages.
1595
1595
  */
1596
1596
  type ToolResultContent = ToolResultTextContent | ToolResultImageContent;
1597
+ /**
1598
+ * Structured side-effect outcome for mutating tools (write_file, edit,
1599
+ * multi_edit, and custom tools that opt in via `ToolContext.reportOutcome`).
1600
+ *
1601
+ * Surfaced on `tool:after.outcome` so hosts can build no-op-resistant loop
1602
+ * guards ("did this edit actually change bytes?") WITHOUT string-matching the
1603
+ * result prose (`Created `/`Updated `/`No change needed` …), which is fragile
1604
+ * across versions. Absent on `tool:after` for read-only tools and any tool
1605
+ * that never calls `reportOutcome`.
1606
+ *
1607
+ * - `created` — a new file/resource was written.
1608
+ * - `updated` — an existing file/resource changed (full overwrite differed).
1609
+ * - `edited` — a surgical in-place change applied at least one replacement.
1610
+ * - `noop` — the call succeeded but changed zero bytes (idempotent write,
1611
+ * replacement that produced identical content).
1612
+ * - `failed` — the mutation was attempted but did not take effect (error,
1613
+ * stale-read rejection, no-match). Pairs with `isError` on the
1614
+ * wire result; reported explicitly so guards don't have to infer.
1615
+ */
1616
+ type ToolOutcome = 'created' | 'updated' | 'edited' | 'noop' | 'failed';
1597
1617
  interface ToolResultTextContent {
1598
1618
  type: 'text';
1599
1619
  text: string;
@@ -3633,6 +3653,15 @@ interface ToolContext {
3633
3653
  * have to synthesize one — callers may fall back to the native APIs.
3634
3654
  */
3635
3655
  clock?: AgentClock;
3656
+ /**
3657
+ * Report a structured side-effect outcome for this call. Mutating tools
3658
+ * (write_file, edit, multi_edit) call this with the byte-level result so the
3659
+ * loop can stamp it onto `tool:after.outcome` — letting hosts build
3660
+ * no-op-resistant loop guards without parsing the result prose. Last call
3661
+ * wins. No-op when absent (hand-built contexts, direct invocations); a tool
3662
+ * that wants the signal should call it defensively (`ctx.reportOutcome?.(…)`).
3663
+ */
3664
+ reportOutcome?: (outcome: ToolOutcome) => void;
3636
3665
  }
3637
3666
  interface ToolDef {
3638
3667
  spec: ToolSpec;
@@ -3914,12 +3943,34 @@ interface AgentHooks {
3914
3943
  * run with empty counts.
3915
3944
  *
3916
3945
  * Both fields are frozen snapshots; mutate-safe.
3946
+ *
3947
+ * `aborted` — runtime emissions always include this boolean; it is optional
3948
+ * on the type only so tests/adapters that manually synthesize `turn:after`
3949
+ * payloads do not break (treat absent as `false`). `true` when the run's
3950
+ * `AbortController` was already tripped at the moment this `turn:after`
3951
+ * fired. This is the case to branch on instead of `usage.finishReason` when
3952
+ * emulating Stop-hook semantics: an aborted turn can still carry
3953
+ * `finishReason: 'stop'` (e.g. a final text turn the user cancelled
3954
+ * mid-stream), so `finishReason` alone cannot distinguish "model finished"
3955
+ * from "we killed it".
3956
+ *
3957
+ * Covers the streaming-abort path (cancel landed while the turn was
3958
+ * streaming) and any abort that landed before this fired. NOTE: a
3959
+ * `tool:gate` / `repeat-guard` abort trips DURING the tool batch, which runs
3960
+ * after this `turn:after` — so the offending turn reports `aborted: false`
3961
+ * here (its `finishReason` is `'tool-calls'`, never `'stop'`, so a
3962
+ * `'stop'`-keyed consumer won't misfire). That abort surfaces on the
3963
+ * subsequent `agent:abort`. For the post-completion window (host queues a
3964
+ * follow-up after a clean `turn:after`, then the run is aborted), rely on
3965
+ * {@link Agent.steer}/{@link Agent.followUp} returning `false` once aborted.
3966
+ * `false` on every normal turn boundary.
3917
3967
  */
3918
3968
  'turn:after': (ctx: {
3919
3969
  turn: number;
3920
3970
  turnId: string;
3921
3971
  usage: TurnUsage;
3922
3972
  message: SessionTurn;
3973
+ aborted?: boolean;
3923
3974
  toolCounts: {
3924
3975
  turn: Readonly<Record<string, number>>;
3925
3976
  run: Readonly<Record<string, number>>;
@@ -4125,6 +4176,31 @@ interface AgentHooks {
4125
4176
  * atomically so `behavior.toolBudgets` enforces correctly even when
4126
4177
  * multiple `tool:gate` callbacks fire in the same microtask.
4127
4178
  */
4179
+ /**
4180
+ * Gate a tool call before it runs. Handlers share ONE mutable `ctx` and run
4181
+ * sequentially in registration order (the order they were `hook()`-ed; the
4182
+ * built-in guards — dedup, tool-budgets, repeat-guard — register at agent
4183
+ * construction, so host handlers added later run after them). The framework
4184
+ * reads the final state once all handlers (including async ones, which are
4185
+ * awaited) have run.
4186
+ *
4187
+ * Precedence across the resolved state:
4188
+ * - `block` beats `result`: if any handler left `block === true`, the call
4189
+ * is refused (`Blocked: <reason>`, `isError: true`) and any `result`
4190
+ * substitute is dropped. Security/refusal beats convenience/substitution.
4191
+ * - Among handlers, it is effectively last-writer-wins per field (each just
4192
+ * mutates the shared `ctx`). Cooperative built-ins self-defer — e.g.
4193
+ * `repeat-guard` early-returns when `ctx.block || ctx.result` is already
4194
+ * set, so it never double-penalizes a call another guard already broke.
4195
+ * Host handlers composing with the built-ins should do the same
4196
+ * (check `ctx.block`/`ctx.result` before acting) to keep precedence
4197
+ * predictable.
4198
+ *
4199
+ * Set `block = true` (+ `reason`) to refuse, or assign `result` to
4200
+ * short-circuit with a synthetic successful tool_result (the body never
4201
+ * runs; `tool:after` still fires). Mutating `ctx.input` rewrites the args
4202
+ * the body and downstream hooks see.
4203
+ */
4128
4204
  'tool:gate': (ctx: ToolHookContext & {
4129
4205
  block: boolean;
4130
4206
  reason: string;
@@ -4166,9 +4242,20 @@ interface AgentHooks {
4166
4242
  /**
4167
4243
  * Symmetric notification fired ONCE per call the model dispatched,
4168
4244
  * regardless of the path the call ultimately took through the loop.
4169
- * Pair with `tool:after` (which also fires uniformly across paths) to
4170
- * get a guaranteed `tool` `tool-result` event pairing for downstream
4171
- * consumers reconstructing message history from live events.
4245
+ * Every call that produces a tool_result closes with exactly one
4246
+ * terminal event, so pair `tool:dispatched` with that terminal to
4247
+ * reconstruct message history / close per-call spans:
4248
+ * - `outcome: 'execute'` → closes with `tool:after` OR, if the call was
4249
+ * cancelled in-flight via `agent.cancelTool`, with `tool:cancelled`
4250
+ * (NOT `tool:after`). A span keyed on `dispatched(execute)→after`
4251
+ * will leak on cancel — also listen for `tool:cancelled`.
4252
+ * - `outcome: 'gate-substitute'` → closes with `tool:after`.
4253
+ * - `outcome: 'gate-block' | 'invalid-input'` → no `tool:after` (the
4254
+ * body never ran); the dispatch event itself carries the result.
4255
+ * - `outcome: 'unknown'` → no `tool:after`; closes after
4256
+ * `tool:unknown` (+ optional `tool:error`).
4257
+ * The strict direction always holds: no `tool:after` fires without a
4258
+ * preceding `tool:dispatched`.
4172
4259
  *
4173
4260
  * Distinct from `tool:before`: `tool:before` fires when a tool's body
4174
4261
  * is about to execute (the legacy "I'm running this tool" notification)
@@ -4218,6 +4305,15 @@ interface AgentHooks {
4218
4305
  outputBytes: number;
4219
4306
  coercions?: readonly string[];
4220
4307
  runToolCounts: Readonly<Record<string, number>>;
4308
+ /**
4309
+ * Structured side-effect outcome for mutating tools that reported one via
4310
+ * `ToolContext.reportOutcome` (built-in `write_file` / `edit` /
4311
+ * `multi_edit` do). `'noop'` means the call succeeded but changed zero
4312
+ * bytes — the signal hosts need to break no-progress loops without
4313
+ * string-matching the result text. Absent for read-only tools and any
4314
+ * tool that didn't report. See {@link ToolOutcome}.
4315
+ */
4316
+ outcome?: ToolOutcome;
4221
4317
  }) => void;
4222
4318
  /**
4223
4319
  * Fires when a tool throws during execution. Mutate `result` to substitute a
@@ -4431,7 +4527,8 @@ interface AgentHooks {
4431
4527
  result: string | ToolResultContent[];
4432
4528
  outputBytes: number;
4433
4529
  coercions?: readonly string[];
4434
- runToolCounts: Readonly<Record<string, number>>;
4530
+ runToolCounts: Readonly<Record<string, number>>; /** See `tool:after.outcome` — structured side-effect outcome for mutating tools. */
4531
+ outcome?: ToolOutcome;
4435
4532
  childId: string;
4436
4533
  depth: number;
4437
4534
  }) => void;
@@ -4514,7 +4611,8 @@ interface AgentHooks {
4514
4611
  turn: number;
4515
4612
  turnId: string;
4516
4613
  usage: TurnUsage;
4517
- message: SessionTurn;
4614
+ message: SessionTurn; /** See `turn:after.aborted` — runtime emissions include it; treat absent as `false`. */
4615
+ aborted?: boolean;
4518
4616
  toolCounts: {
4519
4617
  turn: Readonly<Record<string, number>>;
4520
4618
  run: Readonly<Record<string, number>>;
@@ -4877,7 +4975,28 @@ interface AgentHooks {
4877
4975
  turnId: string;
4878
4976
  action: 'block' | 'abort';
4879
4977
  }) => void;
4880
- 'agent:abort': (ctx: object) => void;
4978
+ /**
4979
+ * The run was aborted — fires exactly once per aborted run, on every abort
4980
+ * exit: a between-turn cancel (the loop's `signal.aborted` check), a
4981
+ * `repeat-guard` abort, AND a cancel that lands mid-stream (which throws out
4982
+ * of the turn and is caught at the run boundary). For a guard abort a
4983
+ * `repeat-guard:exceeded` (`action: 'abort'`) event fired first, so consumers
4984
+ * can attribute the cause.
4985
+ *
4986
+ * Does NOT fire on graceful non-cancel terminations that still finalize the
4987
+ * session run as `'aborted'`: `maxConsecutivePauseTurns` exhaustion and the
4988
+ * `maxCostUsd`/`maxTotalTokens` budget breaker (the latter throws
4989
+ * `AgentBudgetExceededError`). Branch on those via their own signals
4990
+ * (`finishReason: 'pause'`, the typed error) rather than `agent:abort`.
4991
+ *
4992
+ * `runId` — the aborted run, for correlating with `turn:after` / telemetry
4993
+ * spans. `reason` — the string passed to `AbortController.abort(reason)` when
4994
+ * one was supplied (mirrors `signal.reason`); absent for a bare `abort()`.
4995
+ */
4996
+ 'agent:abort': (ctx: {
4997
+ runId?: string;
4998
+ reason?: string;
4999
+ }) => void;
4881
5000
  /**
4882
5001
  * Run finished — fires on all exit paths (completion, maxTurns, abort).
4883
5002
  *
@@ -5052,8 +5171,24 @@ interface Agent {
5052
5171
  * on the next turn.
5053
5172
  */
5054
5173
  killBackgroundTask: (taskId: string) => Promise<boolean>;
5055
- steer: (message: string) => void;
5056
- followUp: (message: string) => void;
5174
+ /**
5175
+ * Queue a mid-run nudge injected as a user turn at the next tool/turn
5176
+ * boundary. Returns `false` (and queues nothing) when the run's
5177
+ * `AbortController` is already tripped — a steer can never revive or
5178
+ * confuse an aborting run. Returns `true` when queued.
5179
+ *
5180
+ * Hosts emulating Stop-hook semantics (queueing a follow-up on
5181
+ * `turn:after`) should rely on this: a guard/user abort can fire mid-turn
5182
+ * while `turn:after` still reports `finishReason: 'stop'`, so an
5183
+ * unconditional enqueue would otherwise leak a message into a dead run.
5184
+ */
5185
+ steer: (message: string) => boolean;
5186
+ /**
5187
+ * Queue a message delivered after the run would otherwise end (the model
5188
+ * returned a final answer). Same abort contract as {@link steer}: no-ops
5189
+ * and returns `false` once the run is aborted, `true` when queued.
5190
+ */
5191
+ followUp: (message: string) => boolean;
5057
5192
  waitForIdle: () => Promise<void>;
5058
5193
  /**
5059
5194
  * Clear the agent's in-memory state (turns, queues, skill activations).
@@ -5157,5 +5292,5 @@ declare function createAgent({
5157
5292
  clock: agentClock
5158
5293
  }: AgentOptions): Agent;
5159
5294
  //#endregion
5160
- export { TurnInterruptionState as $, McpToolHookContext as $t, SkillResource as A, AgentToolNotAllowedError as An, mapOAIFinishReason as At, RemoteStoreOptions as B, ContextCategory as Bn, AnthropicParams as Bt, ReadStateMap as C, TurnUsage as Cn, sanitizeToolSpecs as Ct, resolveReadStateMap as D, AgentBudgetExceededError as Dn, OpenAICompatHttpError as Dt, readStateKey as E, AgentAbortedError as En, OpenAICompatAuthHeader as Et, SessionData as F, errorMessage as Fn, local as Ft, createFileMapStore as G, ContextSnapshot as Gn, AgentRunOptions as Gt, createMemoryStore as H, ContextExactCounts as Hn, applyAnthropicCacheBreakpoints as Ht, SessionRun as I, matchesContextExceeded as In, CursorParams as It, PairingRepair as J, CompactFunction as Jt, EnsureToolResultPairingOptions as K, ContextUsageSplit as Kn, AgentStats as Kt, SessionStore as L, toTypedError as Ln, cursor as Lt, SkillsConfig as M, CONTEXT_EXCEEDED_MESSAGE_PATTERNS as Mn, OpenAIParams as Mt, CreateSessionOptions as N, ClassifiedError as Nn, openai as Nt, SkillConfig as O, AgentContextExceededError as On, OpenAICompatParams as Ot, Session as P, ClassifiedErrorKind as Pn, LocalParams as Pt, ToWireMessagesOptions as Q, McpServerConfig as Qt, createSession as R, ContextBreakdown as Rn, CerebrasParams as Rt, ReadStateEntry as S, TurnFinishReason as Sn, sanitizeToolSchema as St, hashContent as T, toolResultToText as Tn, openrouter as Tt, FileMapAdapter as U, ContextItem as Un, AgentBehavior as Ut, createRemoteStore as V, ContextCategoryId as Vn, anthropic as Vt, FileMapStoreOptions as W, ContextMcpGroup as Wn, AgentClock as Wt, SYNTHETIC_TOOL_RESULT_PLACEHOLDER as X, DedupHasher as Xt, PairingRepairMode as Y, DEFAULT_AGENT_CLOCK as Yt, TOOL_USE_INTERRUPTED_MARKER as Z, DedupToolConfig as Zt, normalizeMcpServers as _, ThinkingLevel as _n, ToolSpec as _t, createAgent as a, PromptTextPart as an, fromAnthropic as at, ToolDef as b, ToolResultImageContent as bn, SchemaSanitizeProfile as bt, DeactivationReason as c, RetryConfig as cn, toOpenAI as ct, createSkillActivationState as d, SessionEndStatus as dn, ProviderCapabilities as dt, McpToolSchema as en, autoDetectAndConvert as et, ConnectMcpServersOptions as f, SessionHookContext as fn, StreamCallbacks as ft, normalizeMcpBlocks as g, StreamHookContext as gn, ToolResult as gt, connectMcpServers as h, SpawnHookContext as hn, ToolCall as ht, AgentOptions as i, PromptPart as in, filterUnresolvedToolUses as it, SkillSource as j, AgentToolPairingError as jn, openaiCompat as jt, SkillDiagnostic as k, AgentProviderError as kn, classifyOpenAICompatError as kt, SkillActivationState as l, RunHookMap as ln, toWireMessages as lt, attachStderrWarnPump as m, SessionTurn as mn, TokenCountPayload as mt, AgentHookMap as n, PromptDocumentPart as nn, ensureEndsWithUserMessage as nt, ActivationVia as o, RepeatGuardConfig as on, fromOpenAI as ot, McpConnection as p, SessionMessage as pn, StreamOptions as pt, ORPHANED_TOOL_RESULT_MARKER as q, buildContextBreakdown as qn, ChildRunStats as qt, AgentHooks as r, PromptImagePart as rn, ensureToolResultPairing as rt, ActiveSkill as s, RepeatGuardToolMatcher as sn, toAnthropic as st, Agent as t, OAuthRefreshHookContext as tn, detectTurnInterruption as tt, SkillActivationStateOptions as u, SessionContentBlock as un, Provider as ut, resultToString as v, ToolHookContext as vn, TurnResult as vt, getReadState as w, toolOutputByteLength as wn, OpenRouterParams as wt, ToolMap as x, ToolResultTextContent as xn, SchemaSanitizeResult as xt, ToolContext as y, ToolResultContent as yn, SchemaSanitizeOptions as yt, loadSession as z, ContextBreakdownOptions as zn, cerebras as zt };
5161
- //# sourceMappingURL=agent-acjWZ_4E.d.ts.map
5295
+ export { TurnInterruptionState as $, McpToolHookContext as $t, SkillResource as A, AgentProviderError as An, mapOAIFinishReason as At, RemoteStoreOptions as B, ContextBreakdownOptions as Bn, AnthropicParams as Bt, ReadStateMap as C, TurnFinishReason as Cn, sanitizeToolSpecs as Ct, resolveReadStateMap as D, AgentAbortedError as Dn, OpenAICompatHttpError as Dt, readStateKey as E, toolResultToText as En, OpenAICompatAuthHeader as Et, SessionData as F, ClassifiedErrorKind as Fn, local as Ft, createFileMapStore as G, ContextMcpGroup as Gn, AgentRunOptions as Gt, createMemoryStore as H, ContextCategoryId as Hn, applyAnthropicCacheBreakpoints as Ht, SessionRun as I, errorMessage as In, CursorParams as It, PairingRepair as J, buildContextBreakdown as Jn, CompactFunction as Jt, EnsureToolResultPairingOptions as K, ContextSnapshot as Kn, AgentStats as Kt, SessionStore as L, matchesContextExceeded as Ln, cursor as Lt, SkillsConfig as M, AgentToolPairingError as Mn, OpenAIParams as Mt, CreateSessionOptions as N, CONTEXT_EXCEEDED_MESSAGE_PATTERNS as Nn, openai as Nt, SkillConfig as O, AgentBudgetExceededError as On, OpenAICompatParams as Ot, Session as P, ClassifiedError as Pn, LocalParams as Pt, ToWireMessagesOptions as Q, McpServerConfig as Qt, createSession as R, toTypedError as Rn, CerebrasParams as Rt, ReadStateEntry as S, ToolResultTextContent as Sn, sanitizeToolSchema as St, hashContent as T, toolOutputByteLength as Tn, openrouter as Tt, FileMapAdapter as U, ContextExactCounts as Un, AgentBehavior as Ut, createRemoteStore as V, ContextCategory as Vn, anthropic as Vt, FileMapStoreOptions as W, ContextItem as Wn, AgentClock as Wt, SYNTHETIC_TOOL_RESULT_PLACEHOLDER as X, DedupHasher as Xt, PairingRepairMode as Y, DEFAULT_AGENT_CLOCK as Yt, TOOL_USE_INTERRUPTED_MARKER as Z, DedupToolConfig as Zt, normalizeMcpServers as _, ThinkingLevel as _n, ToolSpec as _t, createAgent as a, PromptTextPart as an, fromAnthropic as at, ToolDef as b, ToolResultContent as bn, SchemaSanitizeProfile as bt, DeactivationReason as c, RetryConfig as cn, toOpenAI as ct, createSkillActivationState as d, SessionEndStatus as dn, ProviderCapabilities as dt, McpToolSchema as en, autoDetectAndConvert as et, ConnectMcpServersOptions as f, SessionHookContext as fn, StreamCallbacks as ft, normalizeMcpBlocks as g, StreamHookContext as gn, ToolResult as gt, connectMcpServers as h, SpawnHookContext as hn, ToolCall as ht, AgentOptions as i, PromptPart as in, filterUnresolvedToolUses as it, SkillSource as j, AgentToolNotAllowedError as jn, openaiCompat as jt, SkillDiagnostic as k, AgentContextExceededError as kn, classifyOpenAICompatError as kt, SkillActivationState as l, RunHookMap as ln, toWireMessages as lt, attachStderrWarnPump as m, SessionTurn as mn, TokenCountPayload as mt, AgentHookMap as n, PromptDocumentPart as nn, ensureEndsWithUserMessage as nt, ActivationVia as o, RepeatGuardConfig as on, fromOpenAI as ot, McpConnection as p, SessionMessage as pn, StreamOptions as pt, ORPHANED_TOOL_RESULT_MARKER as q, ContextUsageSplit as qn, ChildRunStats as qt, AgentHooks as r, PromptImagePart as rn, ensureToolResultPairing as rt, ActiveSkill as s, RepeatGuardToolMatcher as sn, toAnthropic as st, Agent as t, OAuthRefreshHookContext as tn, detectTurnInterruption as tt, SkillActivationStateOptions as u, SessionContentBlock as un, Provider as ut, resultToString as v, ToolHookContext as vn, TurnResult as vt, getReadState as w, TurnUsage as wn, OpenRouterParams as wt, ToolMap as x, ToolResultImageContent as xn, SchemaSanitizeResult as xt, ToolContext as y, ToolOutcome as yn, SchemaSanitizeOptions as yt, loadSession as z, ContextBreakdown as zn, cerebras as zt };
5296
+ //# sourceMappingURL=agent-CL4nT5Ti.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-CL4nT5Ti.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 ContextCategory, Gn as ContextSnapshot, Hn as ContextExactCounts, Kn as ContextUsageSplit, Rn as ContextBreakdown, Un as ContextItem, Vn as ContextCategoryId, Wn as ContextMcpGroup, qn as buildContextBreakdown, zn as ContextBreakdownOptions } from "../agent-acjWZ_4E.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-B5UNV_sy.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-CqJAEzoe.js";
1
+ import { Bn as ContextBreakdownOptions, Gn as ContextMcpGroup, Hn as ContextCategoryId, Jn as buildContextBreakdown, Kn as ContextSnapshot, Un as ContextExactCounts, Vn as ContextCategory, Wn as ContextItem, qn as ContextUsageSplit, zn as ContextBreakdown } from "../agent-CL4nT5Ti.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-D-aWpu2N.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-D-fypW6K.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 { Bn as ContextCategory, Gn as ContextSnapshot, Hn as ContextExactCounts, Kn as ContextUsageSplit, M as SkillsConfig, O as SkillConfig, P as Session, Qt as McpServerConfig, Rn as ContextBreakdown, Un as ContextItem, Vn as ContextCategoryId, Wn as ContextMcpGroup, en as McpToolSchema, mn as SessionTurn, qn as buildContextBreakdown, r as AgentHooks, ut as Provider, zn as ContextBreakdownOptions } from "./agent-acjWZ_4E.js";
2
- import { H as McpCredentialEntry, U as McpCredentialStore, t as Preset } from "./index-zy4OtFSv.js";
3
- import { m as SourcedScanPath } from "./index-Cgr_mbMJ.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-Dtz6U4GW.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-B5UNV_sy.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-CqJAEzoe.js";
1
+ import { Bn as ContextBreakdownOptions, Gn as ContextMcpGroup, Hn as ContextCategoryId, Jn as buildContextBreakdown, Kn as ContextSnapshot, M as SkillsConfig, O as SkillConfig, P as Session, Qt as McpServerConfig, Un as ContextExactCounts, Vn as ContextCategory, Wn as ContextItem, en as McpToolSchema, mn as SessionTurn, qn as ContextUsageSplit, r as AgentHooks, ut as Provider, zn as ContextBreakdown } from "./agent-CL4nT5Ti.js";
2
+ import { H as McpCredentialEntry, U as McpCredentialStore, t as Preset } from "./index-BDMVtgHD.js";
3
+ import { m as SourcedScanPath } from "./index-DtLfTUXt.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-DYsnGyel.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-D-aWpu2N.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-D-fypW6K.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-C571npbs.js";
2
- import { B as effectiveContextWindow, F as BUILTIN_PROVIDERS, G as modelOptionsFor, H as getContextWindow, I as OUTPUT_RESERVE_TOKENS, J as openaiDescriptor, K as modelSupportsReasoning, L as anthropicDescriptor, R as cerebrasDescriptor, U as getModelInfo, V as enabledModelOptions, W as localDescriptor, X as piIdOf, Y as openrouterDescriptor, Z as restoreModelOptions, q as modelsForDescriptor, z as credKeyOf } from "./tools-BzQtic6M.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-D-X067Sc.js";
2
+ import { B as effectiveContextWindow, F as BUILTIN_PROVIDERS, G as modelOptionsFor, H as getContextWindow, I as OUTPUT_RESERVE_TOKENS, J as openaiDescriptor, K as modelSupportsReasoning, L as anthropicDescriptor, R as cerebrasDescriptor, U as getModelInfo, V as enabledModelOptions, W as localDescriptor, X as piIdOf, Y as openrouterDescriptor, Z as restoreModelOptions, q as modelsForDescriptor, z as credKeyOf } from "./tools-DCFiAUel.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
@@ -160,6 +160,20 @@ const CONTEXT_EXCEEDED_MESSAGE_PATTERNS = [
160
160
  /context window/i
161
161
  ];
162
162
  /**
163
+ * Regex patterns matching provider-side tool-call / tool-result adjacency
164
+ * rejections. The local pre-send repair pass should prevent these, so a
165
+ * provider still returning one is a typed `tool_pairing_corruption` signal.
166
+ */
167
+ const TOOL_PAIRING_ERROR_PATTERNS = [
168
+ /tool_use[^a-z0-9]+ids?[^a-z0-9]+were[^a-z0-9]+found[^a-z0-9]+without[^a-z0-9]+tool_result/i,
169
+ /tool_result[^a-z0-9]+must[^a-z0-9]+be[^a-z0-9]+preceded[^a-z0-9]+by[^a-z0-9]+a[^a-z0-9]+tool_call/i,
170
+ /unexpected[^a-z0-9]+tool_result[^a-z0-9]+block/i,
171
+ /tool_use[^a-z0-9]+block.*requires.*tool_result/i,
172
+ /tool_calls?[^a-z0-9]+must[^a-z0-9]+be[^a-z0-9]+followed[^a-z0-9]+by[^a-z0-9]+tool/i,
173
+ /tool_call_id[^a-z0-9]+(?:missing|mismatch|invalid)/i,
174
+ /tool_call_id[^a-z0-9]+not[^a-z0-9]+found/i
175
+ ];
176
+ /**
163
177
  * Return true when `message` matches any of the known "context window exceeded"
164
178
  * phrasings. Safe for `''` / non-strings (returns false).
165
179
  */
@@ -168,6 +182,14 @@ function matchesContextExceeded(message) {
168
182
  return CONTEXT_EXCEEDED_MESSAGE_PATTERNS.some((re) => re.test(message));
169
183
  }
170
184
  /**
185
+ * Return true when `message` matches a known tool-call / tool-result pairing
186
+ * rejection. Safe for `''` / non-strings (returns false).
187
+ */
188
+ function matchesToolPairingError(message) {
189
+ if (typeof message !== "string" || message.length === 0) return false;
190
+ return TOOL_PAIRING_ERROR_PATTERNS.some((re) => re.test(message));
191
+ }
192
+ /**
171
193
  * Shared entry guard for provider `classifyError` paths. Returns:
172
194
  * - `'not-object'` when `err` is null/undefined or not an object — the caller
173
195
  * should `return null` (nothing to classify).
@@ -233,6 +255,6 @@ function toTypedError(classification, provider, cause) {
233
255
  });
234
256
  }
235
257
  //#endregion
236
- export { AgentToolNotAllowedError as a, classifyErrorPrelude as c, matchesContextExceeded as d, toTypedError as f, AgentProviderError as i, errorMessage as l, AgentBudgetExceededError as n, AgentToolPairingError as o, AgentContextExceededError as r, CONTEXT_EXCEEDED_MESSAGE_PATTERNS as s, AgentAbortedError as t, isRetryableHttpStatus as u };
258
+ export { AgentToolNotAllowedError as a, classifyErrorPrelude as c, matchesContextExceeded as d, matchesToolPairingError as f, AgentProviderError as i, errorMessage as l, AgentBudgetExceededError as n, AgentToolPairingError as o, toTypedError as p, AgentContextExceededError as r, CONTEXT_EXCEEDED_MESSAGE_PATTERNS as s, AgentAbortedError as t, isRetryableHttpStatus as u };
237
259
 
238
- //# sourceMappingURL=errors-CoQnKRf1.js.map
260
+ //# sourceMappingURL=errors-B-GeaKTX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors-CoQnKRf1.js","names":[],"sources":["../src/errors.ts"],"sourcesContent":["/**\n * Typed error classes for agent runs.\n *\n * Providers classify native errors into one of these so downstream consumers\n * can react without string-sniffing messages.\n *\n * Provider authors: implement `Provider.classifyError` to map native errors\n * (SDK exceptions, HTTP responses) to a `ClassifiedError`. The loop wraps\n * unclassified errors in `AgentProviderError` automatically.\n */\n\n/** Kind of classified provider error */\nexport type ClassifiedErrorKind = 'context_exceeded' | 'provider_error' | 'aborted' | 'tool_pairing_corruption'\n\n/** Structured classification returned by `Provider.classifyError` */\nexport interface ClassifiedError {\n kind: ClassifiedErrorKind\n /** Upstream error code as surfaced by the provider (e.g. `context_length_exceeded`). Optional. */\n providerCode?: string\n /** Optional human-readable message override. Falls back to the underlying error's message. */\n message?: string\n /**\n * Hint that the error is transient and a retry with backoff is reasonable\n * (e.g. 429, 5xx, truncated stream). Omitted when the provider can't decide;\n * callers should default to \"do not retry\" when absent to avoid hammering\n * terminal failures (auth, invalid request).\n */\n retryable?: boolean\n}\n\ninterface TypedErrorOptions {\n /** Provider name, always set (e.g. `anthropic`, `openrouter`) */\n provider: string\n /** Optional upstream error code */\n providerCode?: string\n /** Original error from the provider SDK/HTTP layer */\n cause?: unknown\n /** See {@link ClassifiedError.retryable}. */\n retryable?: boolean\n}\n\n/**\n * Thrown when the model or provider signals that the context window was exceeded.\n * Downstream consumers should catch this, prune history, and retry.\n */\nexport class AgentContextExceededError extends Error {\n readonly code = 'context_exceeded' as const\n readonly provider: string\n readonly providerCode?: string\n\n constructor(message: string, options: TypedErrorOptions) {\n super(message, options.cause !== undefined ? { cause: options.cause } : undefined)\n this.name = 'AgentContextExceededError'\n this.provider = options.provider\n this.providerCode = options.providerCode\n }\n}\n\n/**\n * Thrown when the provider returns a non-context error (auth, rate limit, server error, etc.).\n * Catch-all for unclassified provider failures.\n */\nexport class AgentProviderError extends Error {\n readonly code = 'provider_error' as const\n readonly provider: string\n readonly providerCode?: string\n /**\n * Whether a retry with backoff is likely to succeed. See\n * {@link ClassifiedError.retryable}. Absent when the provider did not\n * classify the error — callers should treat absent as \"don't retry\".\n */\n readonly retryable?: boolean\n\n constructor(message: string, options: TypedErrorOptions) {\n super(message, options.cause !== undefined ? { cause: options.cause } : undefined)\n this.name = 'AgentProviderError'\n this.provider = options.provider\n this.providerCode = options.providerCode\n this.retryable = options.retryable\n }\n}\n\n/**\n * Thrown when a run is aborted by the consumer via `agent.abort()` or an external `AbortSignal`.\n */\nexport class AgentAbortedError extends Error {\n readonly code = 'aborted' as const\n\n constructor(message = 'Agent run aborted', options?: { cause?: unknown }) {\n super(message, options?.cause !== undefined ? { cause: options.cause } : undefined)\n this.name = 'AgentAbortedError'\n }\n}\n\n/**\n * Thrown by the loop when a run's cumulative cost or token consumption crosses\n * a ceiling configured on {@link AgentBehavior.maxCostUsd} /\n * {@link AgentBehavior.maxTotalTokens}. Acts as a programmable circuit\n * breaker for unattended runs — without this, the only built-in safety net\n * is {@link AgentBehavior.maxTurns}, which doesn't bound a single very\n * expensive turn (large context, deep reasoning).\n *\n * The breach is checked **after** each turn completes (post-`turn:after`),\n * so the run may exceed the budget by one turn's worth of usage before\n * tripping. Callers wanting a tighter pre-turn estimate should layer their\n * own check on top of the `usage` hook.\n *\n * The harness treats this the same way as {@link AgentAbortedError}: the\n * session run is finalized as `'aborted'`, persisted stats reflect what\n * was actually consumed, and the parent agent re-throws so a caller's\n * `try`/`catch` can branch on `err instanceof AgentBudgetExceededError`\n * without string-sniffing.\n */\nexport class AgentBudgetExceededError extends Error {\n readonly code = 'budget_exceeded' as const\n /** Which ceiling tripped. `'cost'` → `maxCostUsd`, `'tokens'` → `maxTotalTokens`. */\n readonly limit: 'cost' | 'tokens'\n /** The configured cap (USD for `cost`, total tokens for `tokens`). */\n readonly limitValue: number\n /** Actual consumed value at the moment the cap was crossed (same units as `limitValue`). */\n readonly actualValue: number\n\n constructor(options: {\n limit: 'cost' | 'tokens'\n limitValue: number\n actualValue: number\n cause?: unknown\n }) {\n const unit = options.limit === 'cost' ? 'USD' : 'tokens'\n super(\n `Agent run exceeded ${options.limit} budget: ${options.actualValue} ${unit} > ${options.limitValue} ${unit}`,\n options.cause !== undefined ? { cause: options.cause } : undefined,\n )\n this.name = 'AgentBudgetExceededError'\n this.limit = options.limit\n this.limitValue = options.limitValue\n this.actualValue = options.actualValue\n }\n}\n\n/**\n * Thrown by the pre-send pairing repair when {@link AgentBehavior.strictToolPairing}\n * is `true` and {@link ensureToolResultPairing} would otherwise patch over\n * corruption. Strict mode opts into fail-fast for training-data collectors and\n * any consumer that prefers to bail out rather than ship a transcript carrying\n * a {@link SYNTHETIC_TOOL_RESULT_PLACEHOLDER}.\n *\n * The `repairs` field carries every repair the loop would have made — useful\n * for postmortems and for surfacing exactly which transcripts were rejected.\n *\n * Note: callers consuming the chat layer (TUI/SDK presets) typically leave\n * `strictToolPairing` off so user-facing sessions auto-heal instead of\n * crashing.\n */\nexport class AgentToolPairingError extends Error {\n readonly code = 'tool_pairing_corruption' as const\n /** Provider whose wire format the corruption would have hit. */\n readonly provider?: string\n /** Upstream error code when the corruption was detected from a 400 response. */\n readonly providerCode?: string\n /**\n * Repairs the harness would have performed had strict mode been off.\n * Preserves the full diagnostic so consumers can route to telemetry,\n * `/rewind` flows, or training-data quarantine without re-walking the\n * transcript.\n */\n readonly repairs: ReadonlyArray<{\n mode: string\n callId?: string\n messageIndex: number\n }>\n\n constructor(options: {\n message: string\n provider?: string\n providerCode?: string\n repairs: ReadonlyArray<{ mode: string, callId?: string, messageIndex: number }>\n cause?: unknown\n }) {\n super(options.message, options.cause !== undefined ? { cause: options.cause } : undefined)\n this.name = 'AgentToolPairingError'\n this.provider = options.provider\n this.providerCode = options.providerCode\n this.repairs = options.repairs\n }\n}\n\n/**\n * Thrown (well — constructed; attach via the `tool:gate` block signal) when the\n * union of `allowed-tools` across active skills does not permit a tool call.\n *\n * Produced by the allowed-tools middleware registered on `tool:gate` /\n * `mcp:tool:gate`. The gate's `block = true` + `reason` carry the same message\n * so consumers that don't look at this typed error still get a useful string.\n */\nexport class AgentToolNotAllowedError extends Error {\n readonly code = 'tool_not_allowed' as const\n /** Canonical tool name the agent tried to call. */\n readonly toolName: string\n /** Aliased / wire name the LLM saw. */\n readonly displayName: string\n /** Flattened union of `allowedTools` patterns across active skills. */\n readonly allowedUnion: readonly string[]\n /** Names of the skills currently active when the block fired. */\n readonly activeSkills: readonly string[]\n\n constructor(options: {\n toolName: string\n displayName: string\n allowedUnion: readonly string[]\n activeSkills: readonly string[]\n cause?: unknown\n }) {\n // Recovery hint points the model at the deactivate path. Without it the\n // model would invent folk theories like \"skill restrictions reset on\n // the next user message\" and silently waste turns probing other tools.\n // The hint mentions exactly one of the active skills (if any) so the\n // model has a concrete `skills_use({ mode: \"deactivate\", name: ... })`\n // call to make.\n const sample = options.activeSkills[0]\n const hint = sample !== undefined\n ? ` To use this tool, call \\`skills_use\\` with \\`mode: \"deactivate\"\\` and the active skill name (e.g. \"${sample}\") to lift its restriction — or ask the user to switch agent profile.`\n : ''\n const msg = (\n `Tool \"${options.displayName}\" is not in the allowed-tools union of the active `\n + `skill(s) [${options.activeSkills.join(', ')}]. Union: [${options.allowedUnion.join(' ')}].${hint}`\n )\n super(msg, options.cause !== undefined ? { cause: options.cause } : undefined)\n this.name = 'AgentToolNotAllowedError'\n this.toolName = options.toolName\n this.displayName = options.displayName\n this.allowedUnion = options.allowedUnion\n this.activeSkills = options.activeSkills\n }\n}\n\n/**\n * Regex patterns matching common \"context window exceeded\" messages across providers.\n *\n * Use {@link matchesContextExceeded} to test a free-form error message against them.\n * Provider authors can also compose these into their own `classifyError` fallbacks.\n */\nexport const CONTEXT_EXCEEDED_MESSAGE_PATTERNS: readonly RegExp[] = [\n /context[_\\s]length[_\\s]exceeded/i,\n /maximum context length/i,\n /prompt is too long/i,\n /context window/i,\n]\n\n/**\n * Return true when `message` matches any of the known \"context window exceeded\"\n * phrasings. Safe for `''` / non-strings (returns false).\n */\nexport function matchesContextExceeded(message: unknown): boolean {\n if (typeof message !== 'string' || message.length === 0)\n return false\n return CONTEXT_EXCEEDED_MESSAGE_PATTERNS.some(re => re.test(message))\n}\n\n/**\n * Shared entry guard for provider `classifyError` paths. Returns:\n * - `'not-object'` when `err` is null/undefined or not an object — the caller\n * should `return null` (nothing to classify).\n * - `'aborted'` when `err.name === 'AbortError'` — the caller should return\n * `{ kind: 'aborted' }`.\n * - `null` when `err` is a classifiable object that is not an abort.\n *\n * Collapses the byte-identical `if (!err || typeof err !== 'object') return null`\n * + `if (err.name === 'AbortError') return { kind: 'aborted' }` prelude every\n * provider repeated; per-provider classification past this point differs.\n */\nexport function classifyErrorPrelude(err: unknown): 'not-object' | 'aborted' | null {\n if (!err || typeof err !== 'object')\n return 'not-object'\n if ((err as { name?: unknown }).name === 'AbortError')\n return 'aborted'\n return null\n}\n\n/**\n * HTTP status retry rule shared by provider `classifyError` paths: `429` (rate\n * limit) and `5xx` except `501 Not Implemented` are safe to retry with backoff;\n * every other 4xx (bad request, auth, not found) is terminal.\n *\n * Note: `compact/compact.ts` deliberately uses a plain `>=500 && <600` test for\n * a different decision and is intentionally not routed through this.\n */\nexport function isRetryableHttpStatus(status: number): boolean {\n if (status === 429)\n return true\n if (status >= 500 && status !== 501)\n return true\n return false\n}\n\n/**\n * Extract a printable message from an unknown thrown value.\n *\n * Standardizes the `err instanceof Error ? err.message : String(err)` idiom\n * that every `catch (err)` block was reaching for.\n */\nexport function errorMessage(err: unknown): string {\n if (err instanceof Error)\n return err.message\n return String(err)\n}\n\n/**\n * Convert a `ClassifiedError` + underlying cause into the matching typed error instance.\n */\nexport function toTypedError(\n classification: ClassifiedError,\n provider: string,\n cause: unknown,\n): AgentContextExceededError | AgentProviderError | AgentAbortedError | AgentToolPairingError {\n const message = classification.message ?? errorMessage(cause)\n\n if (classification.kind === 'context_exceeded') {\n return new AgentContextExceededError(message, {\n provider,\n providerCode: classification.providerCode,\n cause,\n })\n }\n\n if (classification.kind === 'aborted') {\n return new AgentAbortedError(message, { cause })\n }\n\n if (classification.kind === 'tool_pairing_corruption') {\n return new AgentToolPairingError({\n message,\n provider,\n providerCode: classification.providerCode,\n // Server-side rejection: we don't have the structured repair list a\n // local-pre-send strict-mode throw would carry. Surface an empty\n // array so consumers branching on `repairs.length` see \"the harness\n // didn't get a chance to walk the transcript\".\n repairs: [],\n cause,\n })\n }\n\n return new AgentProviderError(message, {\n provider,\n providerCode: classification.providerCode,\n retryable: classification.retryable,\n cause,\n })\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"errors-B-GeaKTX.js","names":[],"sources":["../src/errors.ts"],"sourcesContent":["/**\n * Typed error classes for agent runs.\n *\n * Providers classify native errors into one of these so downstream consumers\n * can react without string-sniffing messages.\n *\n * Provider authors: implement `Provider.classifyError` to map native errors\n * (SDK exceptions, HTTP responses) to a `ClassifiedError`. The loop wraps\n * unclassified errors in `AgentProviderError` automatically.\n */\n\n/** Kind of classified provider error */\nexport type ClassifiedErrorKind = 'context_exceeded' | 'provider_error' | 'aborted' | 'tool_pairing_corruption'\n\n/** Structured classification returned by `Provider.classifyError` */\nexport interface ClassifiedError {\n kind: ClassifiedErrorKind\n /** Upstream error code as surfaced by the provider (e.g. `context_length_exceeded`). Optional. */\n providerCode?: string\n /** Optional human-readable message override. Falls back to the underlying error's message. */\n message?: string\n /**\n * Hint that the error is transient and a retry with backoff is reasonable\n * (e.g. 429, 5xx, truncated stream). Omitted when the provider can't decide;\n * callers should default to \"do not retry\" when absent to avoid hammering\n * terminal failures (auth, invalid request).\n */\n retryable?: boolean\n}\n\ninterface TypedErrorOptions {\n /** Provider name, always set (e.g. `anthropic`, `openrouter`) */\n provider: string\n /** Optional upstream error code */\n providerCode?: string\n /** Original error from the provider SDK/HTTP layer */\n cause?: unknown\n /** See {@link ClassifiedError.retryable}. */\n retryable?: boolean\n}\n\n/**\n * Thrown when the model or provider signals that the context window was exceeded.\n * Downstream consumers should catch this, prune history, and retry.\n */\nexport class AgentContextExceededError extends Error {\n readonly code = 'context_exceeded' as const\n readonly provider: string\n readonly providerCode?: string\n\n constructor(message: string, options: TypedErrorOptions) {\n super(message, options.cause !== undefined ? { cause: options.cause } : undefined)\n this.name = 'AgentContextExceededError'\n this.provider = options.provider\n this.providerCode = options.providerCode\n }\n}\n\n/**\n * Thrown when the provider returns a non-context error (auth, rate limit, server error, etc.).\n * Catch-all for unclassified provider failures.\n */\nexport class AgentProviderError extends Error {\n readonly code = 'provider_error' as const\n readonly provider: string\n readonly providerCode?: string\n /**\n * Whether a retry with backoff is likely to succeed. See\n * {@link ClassifiedError.retryable}. Absent when the provider did not\n * classify the error — callers should treat absent as \"don't retry\".\n */\n readonly retryable?: boolean\n\n constructor(message: string, options: TypedErrorOptions) {\n super(message, options.cause !== undefined ? { cause: options.cause } : undefined)\n this.name = 'AgentProviderError'\n this.provider = options.provider\n this.providerCode = options.providerCode\n this.retryable = options.retryable\n }\n}\n\n/**\n * Thrown when a run is aborted by the consumer via `agent.abort()` or an external `AbortSignal`.\n */\nexport class AgentAbortedError extends Error {\n readonly code = 'aborted' as const\n\n constructor(message = 'Agent run aborted', options?: { cause?: unknown }) {\n super(message, options?.cause !== undefined ? { cause: options.cause } : undefined)\n this.name = 'AgentAbortedError'\n }\n}\n\n/**\n * Thrown by the loop when a run's cumulative cost or token consumption crosses\n * a ceiling configured on {@link AgentBehavior.maxCostUsd} /\n * {@link AgentBehavior.maxTotalTokens}. Acts as a programmable circuit\n * breaker for unattended runs — without this, the only built-in safety net\n * is {@link AgentBehavior.maxTurns}, which doesn't bound a single very\n * expensive turn (large context, deep reasoning).\n *\n * The breach is checked **after** each turn completes (post-`turn:after`),\n * so the run may exceed the budget by one turn's worth of usage before\n * tripping. Callers wanting a tighter pre-turn estimate should layer their\n * own check on top of the `usage` hook.\n *\n * The harness treats this the same way as {@link AgentAbortedError}: the\n * session run is finalized as `'aborted'`, persisted stats reflect what\n * was actually consumed, and the parent agent re-throws so a caller's\n * `try`/`catch` can branch on `err instanceof AgentBudgetExceededError`\n * without string-sniffing.\n */\nexport class AgentBudgetExceededError extends Error {\n readonly code = 'budget_exceeded' as const\n /** Which ceiling tripped. `'cost'` → `maxCostUsd`, `'tokens'` → `maxTotalTokens`. */\n readonly limit: 'cost' | 'tokens'\n /** The configured cap (USD for `cost`, total tokens for `tokens`). */\n readonly limitValue: number\n /** Actual consumed value at the moment the cap was crossed (same units as `limitValue`). */\n readonly actualValue: number\n\n constructor(options: {\n limit: 'cost' | 'tokens'\n limitValue: number\n actualValue: number\n cause?: unknown\n }) {\n const unit = options.limit === 'cost' ? 'USD' : 'tokens'\n super(\n `Agent run exceeded ${options.limit} budget: ${options.actualValue} ${unit} > ${options.limitValue} ${unit}`,\n options.cause !== undefined ? { cause: options.cause } : undefined,\n )\n this.name = 'AgentBudgetExceededError'\n this.limit = options.limit\n this.limitValue = options.limitValue\n this.actualValue = options.actualValue\n }\n}\n\n/**\n * Thrown by the pre-send pairing repair when {@link AgentBehavior.strictToolPairing}\n * is `true` and {@link ensureToolResultPairing} would otherwise patch over\n * corruption. Strict mode opts into fail-fast for training-data collectors and\n * any consumer that prefers to bail out rather than ship a transcript carrying\n * a {@link SYNTHETIC_TOOL_RESULT_PLACEHOLDER}.\n *\n * The `repairs` field carries every repair the loop would have made — useful\n * for postmortems and for surfacing exactly which transcripts were rejected.\n *\n * Note: callers consuming the chat layer (TUI/SDK presets) typically leave\n * `strictToolPairing` off so user-facing sessions auto-heal instead of\n * crashing.\n */\nexport class AgentToolPairingError extends Error {\n readonly code = 'tool_pairing_corruption' as const\n /** Provider whose wire format the corruption would have hit. */\n readonly provider?: string\n /** Upstream error code when the corruption was detected from a 400 response. */\n readonly providerCode?: string\n /**\n * Repairs the harness would have performed had strict mode been off.\n * Preserves the full diagnostic so consumers can route to telemetry,\n * `/rewind` flows, or training-data quarantine without re-walking the\n * transcript.\n */\n readonly repairs: ReadonlyArray<{\n mode: string\n callId?: string\n messageIndex: number\n }>\n\n constructor(options: {\n message: string\n provider?: string\n providerCode?: string\n repairs: ReadonlyArray<{ mode: string, callId?: string, messageIndex: number }>\n cause?: unknown\n }) {\n super(options.message, options.cause !== undefined ? { cause: options.cause } : undefined)\n this.name = 'AgentToolPairingError'\n this.provider = options.provider\n this.providerCode = options.providerCode\n this.repairs = options.repairs\n }\n}\n\n/**\n * Thrown (well — constructed; attach via the `tool:gate` block signal) when the\n * union of `allowed-tools` across active skills does not permit a tool call.\n *\n * Produced by the allowed-tools middleware registered on `tool:gate` /\n * `mcp:tool:gate`. The gate's `block = true` + `reason` carry the same message\n * so consumers that don't look at this typed error still get a useful string.\n */\nexport class AgentToolNotAllowedError extends Error {\n readonly code = 'tool_not_allowed' as const\n /** Canonical tool name the agent tried to call. */\n readonly toolName: string\n /** Aliased / wire name the LLM saw. */\n readonly displayName: string\n /** Flattened union of `allowedTools` patterns across active skills. */\n readonly allowedUnion: readonly string[]\n /** Names of the skills currently active when the block fired. */\n readonly activeSkills: readonly string[]\n\n constructor(options: {\n toolName: string\n displayName: string\n allowedUnion: readonly string[]\n activeSkills: readonly string[]\n cause?: unknown\n }) {\n // Recovery hint points the model at the deactivate path. Without it the\n // model would invent folk theories like \"skill restrictions reset on\n // the next user message\" and silently waste turns probing other tools.\n // The hint mentions exactly one of the active skills (if any) so the\n // model has a concrete `skills_use({ mode: \"deactivate\", name: ... })`\n // call to make.\n const sample = options.activeSkills[0]\n const hint = sample !== undefined\n ? ` To use this tool, call \\`skills_use\\` with \\`mode: \"deactivate\"\\` and the active skill name (e.g. \"${sample}\") to lift its restriction — or ask the user to switch agent profile.`\n : ''\n const msg = (\n `Tool \"${options.displayName}\" is not in the allowed-tools union of the active `\n + `skill(s) [${options.activeSkills.join(', ')}]. Union: [${options.allowedUnion.join(' ')}].${hint}`\n )\n super(msg, options.cause !== undefined ? { cause: options.cause } : undefined)\n this.name = 'AgentToolNotAllowedError'\n this.toolName = options.toolName\n this.displayName = options.displayName\n this.allowedUnion = options.allowedUnion\n this.activeSkills = options.activeSkills\n }\n}\n\n/**\n * Regex patterns matching common \"context window exceeded\" messages across providers.\n *\n * Use {@link matchesContextExceeded} to test a free-form error message against them.\n * Provider authors can also compose these into their own `classifyError` fallbacks.\n */\nexport const CONTEXT_EXCEEDED_MESSAGE_PATTERNS: readonly RegExp[] = [\n /context[_\\s]length[_\\s]exceeded/i,\n /maximum context length/i,\n /prompt is too long/i,\n /context window/i,\n]\n\n/**\n * Regex patterns matching provider-side tool-call / tool-result adjacency\n * rejections. The local pre-send repair pass should prevent these, so a\n * provider still returning one is a typed `tool_pairing_corruption` signal.\n */\nexport const TOOL_PAIRING_ERROR_PATTERNS: readonly RegExp[] = [\n /tool_use[^a-z0-9]+ids?[^a-z0-9]+were[^a-z0-9]+found[^a-z0-9]+without[^a-z0-9]+tool_result/i,\n /tool_result[^a-z0-9]+must[^a-z0-9]+be[^a-z0-9]+preceded[^a-z0-9]+by[^a-z0-9]+a[^a-z0-9]+tool_call/i,\n /unexpected[^a-z0-9]+tool_result[^a-z0-9]+block/i,\n /tool_use[^a-z0-9]+block.*requires.*tool_result/i,\n /tool_calls?[^a-z0-9]+must[^a-z0-9]+be[^a-z0-9]+followed[^a-z0-9]+by[^a-z0-9]+tool/i,\n /tool_call_id[^a-z0-9]+(?:missing|mismatch|invalid)/i,\n /tool_call_id[^a-z0-9]+not[^a-z0-9]+found/i,\n]\n\n/**\n * Return true when `message` matches any of the known \"context window exceeded\"\n * phrasings. Safe for `''` / non-strings (returns false).\n */\nexport function matchesContextExceeded(message: unknown): boolean {\n if (typeof message !== 'string' || message.length === 0)\n return false\n return CONTEXT_EXCEEDED_MESSAGE_PATTERNS.some(re => re.test(message))\n}\n\n/**\n * Return true when `message` matches a known tool-call / tool-result pairing\n * rejection. Safe for `''` / non-strings (returns false).\n */\nexport function matchesToolPairingError(message: unknown): boolean {\n if (typeof message !== 'string' || message.length === 0)\n return false\n return TOOL_PAIRING_ERROR_PATTERNS.some(re => re.test(message))\n}\n\n/**\n * Shared entry guard for provider `classifyError` paths. Returns:\n * - `'not-object'` when `err` is null/undefined or not an object — the caller\n * should `return null` (nothing to classify).\n * - `'aborted'` when `err.name === 'AbortError'` — the caller should return\n * `{ kind: 'aborted' }`.\n * - `null` when `err` is a classifiable object that is not an abort.\n *\n * Collapses the byte-identical `if (!err || typeof err !== 'object') return null`\n * + `if (err.name === 'AbortError') return { kind: 'aborted' }` prelude every\n * provider repeated; per-provider classification past this point differs.\n */\nexport function classifyErrorPrelude(err: unknown): 'not-object' | 'aborted' | null {\n if (!err || typeof err !== 'object')\n return 'not-object'\n if ((err as { name?: unknown }).name === 'AbortError')\n return 'aborted'\n return null\n}\n\n/**\n * HTTP status retry rule shared by provider `classifyError` paths: `429` (rate\n * limit) and `5xx` except `501 Not Implemented` are safe to retry with backoff;\n * every other 4xx (bad request, auth, not found) is terminal.\n *\n * Note: `compact/compact.ts` deliberately uses a plain `>=500 && <600` test for\n * a different decision and is intentionally not routed through this.\n */\nexport function isRetryableHttpStatus(status: number): boolean {\n if (status === 429)\n return true\n if (status >= 500 && status !== 501)\n return true\n return false\n}\n\n/**\n * Extract a printable message from an unknown thrown value.\n *\n * Standardizes the `err instanceof Error ? err.message : String(err)` idiom\n * that every `catch (err)` block was reaching for.\n */\nexport function errorMessage(err: unknown): string {\n if (err instanceof Error)\n return err.message\n return String(err)\n}\n\n/**\n * Convert a `ClassifiedError` + underlying cause into the matching typed error instance.\n */\nexport function toTypedError(\n classification: ClassifiedError,\n provider: string,\n cause: unknown,\n): AgentContextExceededError | AgentProviderError | AgentAbortedError | AgentToolPairingError {\n const message = classification.message ?? errorMessage(cause)\n\n if (classification.kind === 'context_exceeded') {\n return new AgentContextExceededError(message, {\n provider,\n providerCode: classification.providerCode,\n cause,\n })\n }\n\n if (classification.kind === 'aborted') {\n return new AgentAbortedError(message, { cause })\n }\n\n if (classification.kind === 'tool_pairing_corruption') {\n return new AgentToolPairingError({\n message,\n provider,\n providerCode: classification.providerCode,\n // Server-side rejection: we don't have the structured repair list a\n // local-pre-send strict-mode throw would carry. Surface an empty\n // array so consumers branching on `repairs.length` see \"the harness\n // didn't get a chance to walk the transcript\".\n repairs: [],\n cause,\n })\n }\n\n return new AgentProviderError(message, {\n provider,\n providerCode: classification.providerCode,\n retryable: classification.retryable,\n cause,\n })\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { l as errorMessage } from "./errors-CoQnKRf1.js";
1
+ import { l as errorMessage } from "./errors-B-GeaKTX.js";
2
2
  import { Buffer } from "node:buffer";
3
3
  import { request } from "node:http";
4
4
  import { promises } from "node:dns";
@@ -515,4 +515,4 @@ const fetchUrl = {
515
515
  //#endregion
516
516
  export { isBlockedAddress as a, stripHtmlInline as c, fetchWithSsrfGuard as i, clearFetchUrlCache as n, isHostAllowed as o, fetchUrl as r, pinnedRequest as s, __fetchCacheTestApi as t };
517
517
 
518
- //# sourceMappingURL=fetch-url-CPxfiXDa.js.map
518
+ //# sourceMappingURL=fetch-url-D0M3oft5.js.map