zidane 5.3.0 → 5.3.1
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.
- package/dist/{agent-CYpPKn5Z.d.ts → agent-bKs7MRT2.d.ts} +430 -5
- package/dist/agent-bKs7MRT2.d.ts.map +1 -0
- package/dist/chat.d.ts +310 -6
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +2 -2
- package/dist/{errors-COmsomd5.js → errors-Byb0F8B9.js} +44 -2
- package/dist/errors-Byb0F8B9.js.map +1 -0
- package/dist/{index-D-cTScN3.d.ts → index-BlMvPh9X.d.ts} +57 -10
- package/dist/index-BlMvPh9X.d.ts.map +1 -0
- package/dist/{index-Cc-q1hLT.d.ts → index-CTmNaIDb.d.ts} +2 -2
- package/dist/{index-Cc-q1hLT.d.ts.map → index-CTmNaIDb.d.ts.map} +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +10 -10
- package/dist/{interpolate-BhmHKD6x.js → interpolate-ERgZUxgg.js} +2 -2
- package/dist/{interpolate-BhmHKD6x.js.map → interpolate-ERgZUxgg.js.map} +1 -1
- package/dist/{login-BXVt5wuA.js → login-CNS9_8Ue.js} +3 -3
- package/dist/{login-BXVt5wuA.js.map → login-CNS9_8Ue.js.map} +1 -1
- package/dist/{mcp-B1psg7jf.js → mcp-ZsSFo4Dp.js} +2 -2
- package/dist/{mcp-B1psg7jf.js.map → mcp-ZsSFo4Dp.js.map} +1 -1
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.js +1 -1
- package/dist/{messages-DsbMYNmt.js → messages-D0xT979U.js} +631 -68
- package/dist/messages-D0xT979U.js.map +1 -0
- package/dist/{presets-tvD28pCu.js → presets-h5i3kpOP.js} +29 -10
- package/dist/presets-h5i3kpOP.js.map +1 -0
- package/dist/presets.d.ts +2 -2
- package/dist/presets.js +1 -1
- package/dist/{providers-v1Rn2rqG.js → providers-x3LZByR5.js} +38 -6
- package/dist/providers-x3LZByR5.js.map +1 -0
- package/dist/providers.d.ts +2 -2
- package/dist/providers.js +3 -3
- package/dist/session/sqlite.d.ts +1 -1
- package/dist/session/sqlite.js +1 -1
- package/dist/{session-DOJgRXvF.js → session-BHZwxmfr.js} +2 -2
- package/dist/{session-DOJgRXvF.js.map → session-BHZwxmfr.js.map} +1 -1
- package/dist/session.d.ts +1 -1
- package/dist/session.js +2 -2
- package/dist/skills.d.ts +2 -2
- package/dist/skills.js +1 -1
- package/dist/{tools-CMVruxF0.js → tools-CWEDS2ZT.js} +380 -48
- package/dist/tools-CWEDS2ZT.js.map +1 -0
- package/dist/tools.d.ts +2 -2
- package/dist/tools.js +1 -1
- package/dist/{transcript-anchors-eyhlGeBI.d.ts → transcript-anchors-DOUqyvXR.d.ts} +28 -4
- package/dist/transcript-anchors-DOUqyvXR.d.ts.map +1 -0
- package/dist/tui.d.ts +29 -3
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +365 -80
- package/dist/tui.js.map +1 -1
- package/dist/{turn-operations-Y7e15gJf.js → turn-operations-D9HvatsR.js} +678 -33
- package/dist/turn-operations-D9HvatsR.js.map +1 -0
- package/dist/types-IcokUOyC.js.map +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/types.js +1 -1
- package/package.json +1 -1
- package/dist/agent-CYpPKn5Z.d.ts.map +0 -1
- package/dist/errors-COmsomd5.js.map +0 -1
- package/dist/index-D-cTScN3.d.ts.map +0 -1
- package/dist/messages-DsbMYNmt.js.map +0 -1
- package/dist/presets-tvD28pCu.js.map +0 -1
- package/dist/providers-v1Rn2rqG.js.map +0 -1
- package/dist/tools-CMVruxF0.js.map +0 -1
- package/dist/transcript-anchors-eyhlGeBI.d.ts.map +0 -1
- package/dist/turn-operations-Y7e15gJf.js.map +0 -1
|
@@ -14,7 +14,7 @@ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
|
|
|
14
14
|
* unclassified errors in `AgentProviderError` automatically.
|
|
15
15
|
*/
|
|
16
16
|
/** Kind of classified provider error */
|
|
17
|
-
type ClassifiedErrorKind = 'context_exceeded' | 'provider_error' | 'aborted';
|
|
17
|
+
type ClassifiedErrorKind = 'context_exceeded' | 'provider_error' | 'aborted' | 'tool_pairing_corruption';
|
|
18
18
|
/** Structured classification returned by `Provider.classifyError` */
|
|
19
19
|
interface ClassifiedError {
|
|
20
20
|
kind: ClassifiedErrorKind;
|
|
@@ -75,6 +75,49 @@ declare class AgentAbortedError extends Error {
|
|
|
75
75
|
cause?: unknown;
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Thrown by the pre-send pairing repair when {@link AgentBehavior.strictToolPairing}
|
|
80
|
+
* is `true` and {@link ensureToolResultPairing} would otherwise patch over
|
|
81
|
+
* corruption. Strict mode opts into fail-fast for training-data collectors and
|
|
82
|
+
* any consumer that prefers to bail out rather than ship a transcript carrying
|
|
83
|
+
* a {@link SYNTHETIC_TOOL_RESULT_PLACEHOLDER}.
|
|
84
|
+
*
|
|
85
|
+
* The `repairs` field carries every repair the loop would have made — useful
|
|
86
|
+
* for postmortems and for surfacing exactly which transcripts were rejected.
|
|
87
|
+
*
|
|
88
|
+
* Note: callers consuming the chat layer (TUI/SDK presets) typically leave
|
|
89
|
+
* `strictToolPairing` off so user-facing sessions auto-heal instead of
|
|
90
|
+
* crashing.
|
|
91
|
+
*/
|
|
92
|
+
declare class AgentToolPairingError extends Error {
|
|
93
|
+
readonly code: "tool_pairing_corruption";
|
|
94
|
+
/** Provider whose wire format the corruption would have hit. */
|
|
95
|
+
readonly provider?: string;
|
|
96
|
+
/** Upstream error code when the corruption was detected from a 400 response. */
|
|
97
|
+
readonly providerCode?: string;
|
|
98
|
+
/**
|
|
99
|
+
* Repairs the harness would have performed had strict mode been off.
|
|
100
|
+
* Preserves the full diagnostic so consumers can route to telemetry,
|
|
101
|
+
* `/rewind` flows, or training-data quarantine without re-walking the
|
|
102
|
+
* transcript.
|
|
103
|
+
*/
|
|
104
|
+
readonly repairs: ReadonlyArray<{
|
|
105
|
+
mode: string;
|
|
106
|
+
callId?: string;
|
|
107
|
+
messageIndex: number;
|
|
108
|
+
}>;
|
|
109
|
+
constructor(options: {
|
|
110
|
+
message: string;
|
|
111
|
+
provider?: string;
|
|
112
|
+
providerCode?: string;
|
|
113
|
+
repairs: ReadonlyArray<{
|
|
114
|
+
mode: string;
|
|
115
|
+
callId?: string;
|
|
116
|
+
messageIndex: number;
|
|
117
|
+
}>;
|
|
118
|
+
cause?: unknown;
|
|
119
|
+
});
|
|
120
|
+
}
|
|
78
121
|
/**
|
|
79
122
|
* Thrown (well — constructed; attach via the `tool:gate` block signal) when the
|
|
80
123
|
* union of `allowed-tools` across active skills does not permit a tool call.
|
|
@@ -123,7 +166,7 @@ declare function errorMessage(err: unknown): string;
|
|
|
123
166
|
/**
|
|
124
167
|
* Convert a `ClassifiedError` + underlying cause into the matching typed error instance.
|
|
125
168
|
*/
|
|
126
|
-
declare function toTypedError(classification: ClassifiedError, provider: string, cause: unknown): AgentContextExceededError | AgentProviderError | AgentAbortedError;
|
|
169
|
+
declare function toTypedError(classification: ClassifiedError, provider: string, cause: unknown): AgentContextExceededError | AgentProviderError | AgentAbortedError | AgentToolPairingError;
|
|
127
170
|
//#endregion
|
|
128
171
|
//#region src/types.d.ts
|
|
129
172
|
/**
|
|
@@ -437,7 +480,7 @@ interface AgentBehavior {
|
|
|
437
480
|
*
|
|
438
481
|
* ```ts
|
|
439
482
|
* // Always cache by full input — every identical re-call dedups.
|
|
440
|
-
* dedupTools: {
|
|
483
|
+
* dedupTools: { my_pure_tool: input => JSON.stringify(input) }
|
|
441
484
|
*
|
|
442
485
|
* // Cache by a normalized subset; non-cacheable shapes opt out.
|
|
443
486
|
* dedupTools: {
|
|
@@ -655,6 +698,26 @@ interface AgentBehavior {
|
|
|
655
698
|
* Default: `undefined`.
|
|
656
699
|
*/
|
|
657
700
|
persistDir?: string;
|
|
701
|
+
/**
|
|
702
|
+
* Fail-fast instead of repair when the pre-send pairing pass detects
|
|
703
|
+
* corruption (orphan `tool_use` / `tool_result`, duplicate ids,
|
|
704
|
+
* compaction-stranded blocks). Throws {@link AgentToolPairingError} from
|
|
705
|
+
* the next `agent.run()` turn carrying the structured repair list the
|
|
706
|
+
* loop would have performed.
|
|
707
|
+
*
|
|
708
|
+
* Use case: training-data collectors that must reject any transcript
|
|
709
|
+
* containing the synthetic `SYNTHETIC_TOOL_RESULT_PLACEHOLDER` rather
|
|
710
|
+
* than ship poisoned data to the fine-tuning pipeline. User-facing chat
|
|
711
|
+
* sessions should leave this off (the repair-on-the-fly behavior is the
|
|
712
|
+
* point of the pass).
|
|
713
|
+
*
|
|
714
|
+
* Telemetry note: `pairing:repair` still fires for every repair before
|
|
715
|
+
* the throw, so observability handlers see exactly what would have
|
|
716
|
+
* happened.
|
|
717
|
+
*
|
|
718
|
+
* Default: `false`.
|
|
719
|
+
*/
|
|
720
|
+
strictToolPairing?: boolean;
|
|
658
721
|
}
|
|
659
722
|
/**
|
|
660
723
|
* One block of a multimodal user prompt.
|
|
@@ -1357,6 +1420,100 @@ interface OpenRouterParams {
|
|
|
1357
1420
|
*/
|
|
1358
1421
|
declare function openrouter(params?: OpenRouterParams): Provider;
|
|
1359
1422
|
//#endregion
|
|
1423
|
+
//#region src/providers/schema-sanitize.d.ts
|
|
1424
|
+
/**
|
|
1425
|
+
* JSON Schema sanitizer for tool `inputSchema` forwarded to LLM providers.
|
|
1426
|
+
*
|
|
1427
|
+
* Why this exists: MCP servers ship arbitrary JSON Schema in `tools/list`.
|
|
1428
|
+
* Anthropic and (to a lesser extent) OpenAI reject specific keyword
|
|
1429
|
+
* combinations with a 400 on `messages.create`, and the error message
|
|
1430
|
+
* lands deep inside an SDK exception that consumers blame on their own
|
|
1431
|
+
* code. The most common failure modes in the wild:
|
|
1432
|
+
*
|
|
1433
|
+
* - Root `$ref` (server-published schema lives under `#/$defs/X`).
|
|
1434
|
+
* - Root `oneOf` / `anyOf` / `allOf` (Anthropic allows neither at the
|
|
1435
|
+
* top level; expects `type: 'object'`).
|
|
1436
|
+
* - `type: ['object', 'null']` at the root (nullable variants of an
|
|
1437
|
+
* otherwise valid object schema).
|
|
1438
|
+
* - Missing `properties` on an object root.
|
|
1439
|
+
* - `nullable: true` (Swagger / OpenAPI 3.0 idiom — not standard JSON
|
|
1440
|
+
* Schema, ignored by every modern provider but Anthropic warns).
|
|
1441
|
+
* - Nested `$ref` pointing at `#/definitions/X` without the schema
|
|
1442
|
+
* actually inlining the referenced definition.
|
|
1443
|
+
*
|
|
1444
|
+
* Pure rewrite. Returns a new schema (or the same reference when nothing
|
|
1445
|
+
* needed to change — the hot path on stable tool registries) and a list
|
|
1446
|
+
* of `warnings` describing each rewrite. Providers call
|
|
1447
|
+
* `sanitizeToolSpecs` from `formatTools` so every tool — eager MCP, lazy
|
|
1448
|
+
* MCP, native, skill — gets the same treatment, and warnings surface
|
|
1449
|
+
* through `console.warn` once per batch (the seen-set in
|
|
1450
|
+
* `sanitizeToolSpecs` is local to one call, so a stable bad schema logs
|
|
1451
|
+
* once per request rather than every turn).
|
|
1452
|
+
*
|
|
1453
|
+
* Scope:
|
|
1454
|
+
* - Pure function. No I/O, no globals.
|
|
1455
|
+
* - Bounded recursion (`MAX_DEPTH = 32`) so a malicious server can't
|
|
1456
|
+
* wedge the agent with a deeply self-referential schema.
|
|
1457
|
+
* - Bounded `$ref` resolution (`MAX_REF_HOPS = 16`) for the same
|
|
1458
|
+
* reason. Cycles fall back to `{}` (permissive) rather than
|
|
1459
|
+
* throwing — the request still succeeds, the schema is just looser.
|
|
1460
|
+
*
|
|
1461
|
+
* Non-goals:
|
|
1462
|
+
* - Validating that the schema is internally consistent.
|
|
1463
|
+
* - Cleaning up tool *descriptions* (handled elsewhere).
|
|
1464
|
+
* - Provider-side feature detection (handled by the provider's own
|
|
1465
|
+
* `formatTools`; this module is a syntactic guard, not a semantic one).
|
|
1466
|
+
*/
|
|
1467
|
+
/** Strictness profile — picks which transformations to apply. */
|
|
1468
|
+
type SchemaSanitizeProfile = 'anthropic' | 'openai' | 'permissive';
|
|
1469
|
+
interface SchemaSanitizeOptions {
|
|
1470
|
+
/** Strictness profile. Defaults to `'permissive'`. */
|
|
1471
|
+
profile?: SchemaSanitizeProfile;
|
|
1472
|
+
/**
|
|
1473
|
+
* Tool name for context in warnings. Optional — when set, every warning
|
|
1474
|
+
* is prefixed with `[tool:<name>] ` so log lines correlate to the tool.
|
|
1475
|
+
*/
|
|
1476
|
+
toolName?: string;
|
|
1477
|
+
}
|
|
1478
|
+
interface SchemaSanitizeResult {
|
|
1479
|
+
/** Sanitized schema, safe to forward to the provider. */
|
|
1480
|
+
schema: Record<string, unknown>;
|
|
1481
|
+
/**
|
|
1482
|
+
* Human-readable strings describing each rewrite the sanitizer performed.
|
|
1483
|
+
* Empty on a clean schema. Consumers may log these (recommended) or
|
|
1484
|
+
* thread them through a hook for observability.
|
|
1485
|
+
*/
|
|
1486
|
+
warnings: string[];
|
|
1487
|
+
}
|
|
1488
|
+
/**
|
|
1489
|
+
* Sanitize a single tool's `inputSchema` for safe forwarding to the
|
|
1490
|
+
* provider. Returns the rewritten schema + a list of warnings describing
|
|
1491
|
+
* everything that changed.
|
|
1492
|
+
*
|
|
1493
|
+
* Never mutates the input. Returns the **same reference** when no rewrite
|
|
1494
|
+
* was needed (clean-schema fast path) — `sanitizeToolSpecs` relies on
|
|
1495
|
+
* this to keep the formatTools hot loop allocation-free across turns
|
|
1496
|
+
* when the registered tool set is already wire-valid.
|
|
1497
|
+
*/
|
|
1498
|
+
declare function sanitizeToolSchema(input: unknown, options?: SchemaSanitizeOptions): SchemaSanitizeResult;
|
|
1499
|
+
/**
|
|
1500
|
+
* Convenience: sanitize a batch of tools and emit a single de-duped
|
|
1501
|
+
* `console.warn` per unique warning line. Returns the rewritten tools
|
|
1502
|
+
* preserving original ordering and reference identity for clean schemas
|
|
1503
|
+
* (no reallocation when nothing needed to change).
|
|
1504
|
+
*
|
|
1505
|
+
* The sanitiser runs every request, so log noise from a stable bad
|
|
1506
|
+
* schema would multiply across turns; the de-dupe keeps the signal
|
|
1507
|
+
* useful in production logs without dropping the first occurrence.
|
|
1508
|
+
*/
|
|
1509
|
+
declare function sanitizeToolSpecs<T extends {
|
|
1510
|
+
name: string;
|
|
1511
|
+
inputSchema?: unknown;
|
|
1512
|
+
}>(tools: readonly T[], options?: {
|
|
1513
|
+
profile?: SchemaSanitizeProfile;
|
|
1514
|
+
onWarning?: (line: string) => void;
|
|
1515
|
+
}): T[];
|
|
1516
|
+
//#endregion
|
|
1360
1517
|
//#region src/providers/index.d.ts
|
|
1361
1518
|
interface ToolSpec {
|
|
1362
1519
|
name: string;
|
|
@@ -1378,6 +1535,25 @@ interface ToolResult {
|
|
|
1378
1535
|
* Use `toolResultToText(content)` when a downstream consumer only handles strings.
|
|
1379
1536
|
*/
|
|
1380
1537
|
content: string | ToolResultContent[];
|
|
1538
|
+
/**
|
|
1539
|
+
* Marks this result as an error. Propagates to `tool_result.is_error: true`
|
|
1540
|
+
* on the Anthropic wire (and to the equivalent on every other provider that
|
|
1541
|
+
* exposes the field). Models treat error-flagged results as "the tool tried
|
|
1542
|
+
* but failed" — distinct from "the tool returned this string" — so they can
|
|
1543
|
+
* decide whether to retry, fall back, or surface the error to the user.
|
|
1544
|
+
*
|
|
1545
|
+
* Set by the loop on:
|
|
1546
|
+
* - Tool body throws (`tool:error` path).
|
|
1547
|
+
* - Gate refusal (`Blocked: <reason>`).
|
|
1548
|
+
* - Validation rejection (`Validation error: …`).
|
|
1549
|
+
* - Mid-tool abort (`INTERRUPT_MESSAGE_FOR_TOOL_USE`).
|
|
1550
|
+
* - Sequential-batch skips when a sibling threw / a steering message
|
|
1551
|
+
* arrived.
|
|
1552
|
+
*
|
|
1553
|
+
* Custom tools may set it via the `tool:error` hook's `ctx.result`
|
|
1554
|
+
* substitute when they want the framework to flag a structured error.
|
|
1555
|
+
*/
|
|
1556
|
+
isError?: boolean;
|
|
1381
1557
|
}
|
|
1382
1558
|
/**
|
|
1383
1559
|
* Provider-level capability flags used by the agent loop to route tool results
|
|
@@ -1539,6 +1715,151 @@ declare function toOpenAI(msg: SessionMessage): {
|
|
|
1539
1715
|
role: string;
|
|
1540
1716
|
content: unknown;
|
|
1541
1717
|
};
|
|
1718
|
+
/**
|
|
1719
|
+
* Placeholder content inserted into a synthetic `tool_result` when the harness
|
|
1720
|
+
* has to repair an orphan `tool_use`. Exported so downstream consumers
|
|
1721
|
+
* (training-data collectors, HFI submission) can reject any payload containing
|
|
1722
|
+
* it — the marker satisfies the wire-level pairing contract structurally but
|
|
1723
|
+
* the content itself is fake and would poison fine-tuning data.
|
|
1724
|
+
*/
|
|
1725
|
+
declare const SYNTHETIC_TOOL_RESULT_PLACEHOLDER = "[Tool result missing due to internal error]";
|
|
1726
|
+
/**
|
|
1727
|
+
* Replacement text for an assistant message whose every content block was
|
|
1728
|
+
* stripped during pairing repair (e.g. the only blocks were orphan
|
|
1729
|
+
* `tool_call`s). Providers reject empty `content` arrays — the marker keeps
|
|
1730
|
+
* the turn shape valid while signaling "this assistant turn lost its
|
|
1731
|
+
* outputs" to the model so it can recover.
|
|
1732
|
+
*/
|
|
1733
|
+
declare const TOOL_USE_INTERRUPTED_MARKER = "[Tool use interrupted]";
|
|
1734
|
+
/**
|
|
1735
|
+
* Replacement text for a user message whose every content block was a
|
|
1736
|
+
* `tool_result` with no matching upstream `tool_call` (e.g. the assistant
|
|
1737
|
+
* pair was stripped by an earlier compaction). Same role as
|
|
1738
|
+
* {@link TOOL_USE_INTERRUPTED_MARKER} on the user side.
|
|
1739
|
+
*/
|
|
1740
|
+
declare const ORPHANED_TOOL_RESULT_MARKER = "[Orphaned tool result removed due to conversation resume]";
|
|
1741
|
+
/**
|
|
1742
|
+
* Classification of a single repair the pairing pass performed. Surfaced via
|
|
1743
|
+
* {@link EnsureToolResultPairingOptions.onRepair} so consumers can wire
|
|
1744
|
+
* telemetry, debug logs, or strict-mode rejection without re-implementing the
|
|
1745
|
+
* walk.
|
|
1746
|
+
*
|
|
1747
|
+
* Each entry corresponds to one of the corruption modes documented on
|
|
1748
|
+
* {@link ensureToolResultPairing}.
|
|
1749
|
+
*/
|
|
1750
|
+
type PairingRepairMode = 'orphan-tool-use-prepend' | 'orphan-tool-use-append' | 'orphan-tool-result-strip' | 'duplicate-tool-use-strip' | 'duplicate-tool-result-strip' | 'empty-assistant-marker';
|
|
1751
|
+
interface PairingRepair {
|
|
1752
|
+
mode: PairingRepairMode;
|
|
1753
|
+
/** Tool-use / tool-result id this repair concerns. Absent for empty-marker repairs. */
|
|
1754
|
+
callId?: string;
|
|
1755
|
+
/** Zero-based index into the INPUT `messages` array where the corruption was found. */
|
|
1756
|
+
messageIndex: number;
|
|
1757
|
+
}
|
|
1758
|
+
interface EnsureToolResultPairingOptions {
|
|
1759
|
+
/**
|
|
1760
|
+
* Fired once per repair the pass performed. Synchronous so the loop can
|
|
1761
|
+
* stay on its hot path. Throwing from the callback aborts the pass —
|
|
1762
|
+
* consumers wanting fail-fast (strict mode) can re-throw with their own
|
|
1763
|
+
* typed error.
|
|
1764
|
+
*/
|
|
1765
|
+
onRepair?: (repair: PairingRepair) => void;
|
|
1766
|
+
}
|
|
1767
|
+
/**
|
|
1768
|
+
* Defensive repair pass that rewrites a message list so it satisfies the
|
|
1769
|
+
* wire-level `tool_use` ↔ `tool_result` adjacency contract every modern
|
|
1770
|
+
* provider enforces.
|
|
1771
|
+
*
|
|
1772
|
+
* Anthropic 400s on orphans with `'tool_use' ids were found without
|
|
1773
|
+
* 'tool_result' blocks immediately after` (and its inverse, `tool_result
|
|
1774
|
+
* must be preceded by a tool_call with the same toolCallId`). OpenAI's
|
|
1775
|
+
* Chat Completions API rejects most mismatches with a 400 too.
|
|
1776
|
+
*
|
|
1777
|
+
* Six repair modes — modeled after Anthropic's Claude Code defenses:
|
|
1778
|
+
*
|
|
1779
|
+
* | # | Corruption | Repair |
|
|
1780
|
+
* |---|------------|--------|
|
|
1781
|
+
* | 1 | assistant `tool_use` whose next user msg lacks a matching `tool_result` | **Prepend** a synthetic `tool_result` block carrying {@link SYNTHETIC_TOOL_RESULT_PLACEHOLDER} with `isError: true` |
|
|
1782
|
+
* | 2 | assistant `tool_use` followed by nothing (or by a non-user msg) | **Insert** a new synthetic user message with the same placeholder |
|
|
1783
|
+
* | 3 | user `tool_result` with no preceding assistant `tool_call` | **Strip** the orphan block; if it empties the msg, replace with {@link ORPHANED_TOOL_RESULT_MARKER} text block |
|
|
1784
|
+
* | 4 | duplicate `tool_call.id` across assistant messages (CC-1212) | **Strip** later instances + their matching tool_results |
|
|
1785
|
+
* | 5 | duplicate `tool_result.callId` within a single user message | **Dedupe** by `callId`, keep first |
|
|
1786
|
+
* | 6 | assistant message emptied by mode-4 stripping | **Replace** content with {@link TOOL_USE_INTERRUPTED_MARKER} text block |
|
|
1787
|
+
*
|
|
1788
|
+
* **Repair, not drop.** Earlier versions of this pass simply dropped orphan
|
|
1789
|
+
* blocks, which (a) silently rewrote history the model had reasoned over and
|
|
1790
|
+
* (b) cascaded — dropping an assistant tool_call would orphan its
|
|
1791
|
+
* tool_result, which would then get dropped too, removing any trace of
|
|
1792
|
+
* "what the model tried to do" from the transcript. The repair-based pass
|
|
1793
|
+
* preserves the model's tool_use shape and patches the dangling result with
|
|
1794
|
+
* an `is_error` placeholder so the model sees "I tried X, the result was
|
|
1795
|
+
* lost" and can retry intelligently.
|
|
1796
|
+
*
|
|
1797
|
+
* Adjacency contract: `tool_result` blocks must live in the user message
|
|
1798
|
+
* IMMEDIATELY following the assistant message that emitted the matching
|
|
1799
|
+
* `tool_use`. The pass enforces strict adjacency — a tool_result two
|
|
1800
|
+
* messages downstream of its tool_call is still an orphan.
|
|
1801
|
+
*
|
|
1802
|
+
* Idempotent: returns the input reference unchanged when no repairs were
|
|
1803
|
+
* necessary. Re-running on already-repaired output is a no-op.
|
|
1804
|
+
*
|
|
1805
|
+
* Pure: does not mutate input messages or their content arrays — every
|
|
1806
|
+
* repair allocates a fresh array / object.
|
|
1807
|
+
*/
|
|
1808
|
+
declare function ensureToolResultPairing(messages: SessionMessage[], options?: EnsureToolResultPairingOptions): SessionMessage[];
|
|
1809
|
+
/**
|
|
1810
|
+
* Drop ASSISTANT turns whose every `tool_call` block is unresolved
|
|
1811
|
+
* (no matching `tool_result` block anywhere later in the transcript).
|
|
1812
|
+
* Tool_call blocks with at least one matching tool_result are kept — modes
|
|
1813
|
+
* 1/3 of {@link ensureToolResultPairing} handle the partial-pair case at
|
|
1814
|
+
* wire-send time.
|
|
1815
|
+
*
|
|
1816
|
+
* Use case: session resume. A turn that emitted three `tool_use` blocks but
|
|
1817
|
+
* never persisted the matching `tool_result` turn (process death, crash,
|
|
1818
|
+
* `kill -9`) leaves the transcript with an orphan that Anthropic rejects on
|
|
1819
|
+
* the FIRST API call after reload. Dropping the whole assistant turn — not
|
|
1820
|
+
* just the orphan blocks — preserves text-only turns that legitimately
|
|
1821
|
+
* carry reasoning the model wants to see again.
|
|
1822
|
+
*
|
|
1823
|
+
* Does NOT mint fresh ids: re-id'ing on every resume would cause
|
|
1824
|
+
* exponential transcript growth across repeated resumes of an interrupted
|
|
1825
|
+
* session.
|
|
1826
|
+
*
|
|
1827
|
+
* Pure: returns the input reference unchanged when no turn was dropped.
|
|
1828
|
+
*/
|
|
1829
|
+
declare function filterUnresolvedToolUses<T extends {
|
|
1830
|
+
role: string;
|
|
1831
|
+
content: SessionContentBlock[];
|
|
1832
|
+
}>(turns: T[]): T[];
|
|
1833
|
+
/**
|
|
1834
|
+
* Classification of a session's tail state for resume purposes.
|
|
1835
|
+
*
|
|
1836
|
+
* - `'clean'` — the trailing turn is a user message (the model would respond
|
|
1837
|
+
* next), or the transcript is empty. Safe to resume by appending a fresh
|
|
1838
|
+
* user prompt.
|
|
1839
|
+
* - `'interrupted'` — the trailing turn is an assistant message that has at
|
|
1840
|
+
* least one `tool_call` block with no matching `tool_result` anywhere
|
|
1841
|
+
* later. The run was almost certainly killed between persisting the
|
|
1842
|
+
* assistant turn and persisting its tool-results turn. Hosts that want
|
|
1843
|
+
* Claude-Code-style auto-resume can detect this and inject a
|
|
1844
|
+
* `"Continue from where you left off."` user message before the next run.
|
|
1845
|
+
* - `'completed'` — the trailing turn is an assistant message with no
|
|
1846
|
+
* orphan tool_calls. The model considers itself done. Hosts that want to
|
|
1847
|
+
* resume must supply a new prompt; auto-continuation here would be a
|
|
1848
|
+
* non-sequitur.
|
|
1849
|
+
*/
|
|
1850
|
+
type TurnInterruptionState = 'clean' | 'interrupted' | 'completed';
|
|
1851
|
+
/**
|
|
1852
|
+
* Inspect a session's trailing turn to classify whether the run was
|
|
1853
|
+
* interrupted mid-tool-call. Pure / synchronous — does not modify the input.
|
|
1854
|
+
*
|
|
1855
|
+
* Pair with {@link filterUnresolvedToolUses} on the resume path: filter
|
|
1856
|
+
* first so the result reflects the post-cleanup state (a turn whose orphans
|
|
1857
|
+
* were stripped reads as 'completed', not 'interrupted').
|
|
1858
|
+
*/
|
|
1859
|
+
declare function detectTurnInterruption<T extends {
|
|
1860
|
+
role: string;
|
|
1861
|
+
content: SessionContentBlock[];
|
|
1862
|
+
}>(turns: T[]): TurnInterruptionState;
|
|
1542
1863
|
declare function autoDetectAndConvert(msg: {
|
|
1543
1864
|
role: string;
|
|
1544
1865
|
content: unknown;
|
|
@@ -2139,6 +2460,23 @@ interface AgentHooks {
|
|
|
2139
2460
|
delta: string;
|
|
2140
2461
|
thinking: string;
|
|
2141
2462
|
}) => void;
|
|
2463
|
+
/**
|
|
2464
|
+
* Fires when the provider's stream rejects BEFORE `stream:end` — provider
|
|
2465
|
+
* errors, network blips, malformed `tools` payloads (400 invalid_request_error).
|
|
2466
|
+
*
|
|
2467
|
+
* `err` is the original thrown value, not the typed `AgentProviderError`
|
|
2468
|
+
* the loop subsequently constructs; subscribe here to capture the native
|
|
2469
|
+
* SDK exception (status codes, request ids) for telemetry without having
|
|
2470
|
+
* to walk `cause` chains. Observational — the loop still wraps + throws
|
|
2471
|
+
* after this hook resolves, so handlers cannot suppress the failure.
|
|
2472
|
+
*
|
|
2473
|
+
* Does NOT fire on user-initiated aborts; those land on `agent:abort`
|
|
2474
|
+
* instead. Use `err instanceof Error && err.name === 'AbortError'` to
|
|
2475
|
+
* distinguish if you also subscribe here for raw error logging.
|
|
2476
|
+
*/
|
|
2477
|
+
'stream:error': (ctx: StreamHookContext & {
|
|
2478
|
+
err: unknown;
|
|
2479
|
+
}) => void;
|
|
2142
2480
|
'oauth:refresh': (ctx: OAuthRefreshHookContext) => void;
|
|
2143
2481
|
/**
|
|
2144
2482
|
* Fires before validation, `tool:before`, and `execute`. Two ways to
|
|
@@ -2190,6 +2528,54 @@ interface AgentHooks {
|
|
|
2190
2528
|
*/
|
|
2191
2529
|
priorContent?: string;
|
|
2192
2530
|
}) => void;
|
|
2531
|
+
/**
|
|
2532
|
+
* Symmetric notification fired ONCE per call the model dispatched,
|
|
2533
|
+
* regardless of the path the call ultimately took through the loop.
|
|
2534
|
+
* Pair with `tool:after` (which also fires uniformly across paths) to
|
|
2535
|
+
* get a guaranteed `tool` ↔ `tool-result` event pairing for downstream
|
|
2536
|
+
* consumers reconstructing message history from live events.
|
|
2537
|
+
*
|
|
2538
|
+
* Distinct from `tool:before`: `tool:before` only fires when the tool
|
|
2539
|
+
* body is about to execute (the legacy "I'm running this tool" notification),
|
|
2540
|
+
* skipping gate-block / gate-substitute / unknown-tool / validation-reject
|
|
2541
|
+
* paths. `tool:dispatched` fires on all five paths with an `outcome`
|
|
2542
|
+
* discriminator so live consumers never see a `tool:after` whose
|
|
2543
|
+
* matching dispatch event was suppressed.
|
|
2544
|
+
*
|
|
2545
|
+
* Strict ordering: `tool:dispatched` fires AFTER `tool:gate` /
|
|
2546
|
+
* `validation:reject` / `tool:unknown` so the resolved `outcome` is
|
|
2547
|
+
* always accurate. Fires BEFORE `tool:before` on the execute path so
|
|
2548
|
+
* consumers binding both events see dispatched-then-before.
|
|
2549
|
+
*
|
|
2550
|
+
* `reason` is set only when `outcome === 'gate-block'` and carries the
|
|
2551
|
+
* gate's refusal text (so consumers can render denied-diff badges, etc.
|
|
2552
|
+
* without a side channel).
|
|
2553
|
+
*/
|
|
2554
|
+
'tool:dispatched': (ctx: ToolHookContext & {
|
|
2555
|
+
outcome: 'execute' | 'gate-substitute' | 'gate-block' | 'unknown' | 'invalid-input';
|
|
2556
|
+
reason?: string;
|
|
2557
|
+
runToolCounts: Readonly<Record<string, number>>;
|
|
2558
|
+
}) => void;
|
|
2559
|
+
/**
|
|
2560
|
+
* Fires after a tool body produced a result (the execute path) or a
|
|
2561
|
+
* `tool:gate` listener substituted one via `ctx.result` (the Z20
|
|
2562
|
+
* cache-substitute path). Carries the post-`tool:transform` payload —
|
|
2563
|
+
* what the model actually sees on the wire.
|
|
2564
|
+
*
|
|
2565
|
+
* Does NOT fire on gate-block / unknown-tool / validation-reject
|
|
2566
|
+
* paths: the loop synthesizes their `tool_result` text inline and
|
|
2567
|
+
* sends it back to the model, but no tool body produced output and
|
|
2568
|
+
* no `tool:transform` ran. Consumers wanting symmetric per-call
|
|
2569
|
+
* notification across every dispatch path should listen to
|
|
2570
|
+
* `tool:dispatched` instead (which fires once per call regardless of
|
|
2571
|
+
* path, with an `outcome` discriminator).
|
|
2572
|
+
*
|
|
2573
|
+
* This narrow contract is deliberate: tracing spans opened in
|
|
2574
|
+
* `tool:before` only get closed where they were opened, byte budgets
|
|
2575
|
+
* only count real tool output, and chat-layer transcript renderers
|
|
2576
|
+
* keep their `tool` ↔ `tool-result` pairing without special-casing
|
|
2577
|
+
* the synthesized paths.
|
|
2578
|
+
*/
|
|
2193
2579
|
'tool:after': (ctx: ToolHookContext & {
|
|
2194
2580
|
result: string | ToolResultContent[];
|
|
2195
2581
|
outputBytes: number;
|
|
@@ -2301,6 +2687,12 @@ interface AgentHooks {
|
|
|
2301
2687
|
childId: string;
|
|
2302
2688
|
depth: number;
|
|
2303
2689
|
}) => void;
|
|
2690
|
+
/** Bubbled `stream:error` from a subagent's turn. See {@link AgentHooks['stream:error']}. */
|
|
2691
|
+
'child:stream:error': (ctx: StreamHookContext & {
|
|
2692
|
+
err: unknown;
|
|
2693
|
+
childId: string;
|
|
2694
|
+
depth: number;
|
|
2695
|
+
}) => void;
|
|
2304
2696
|
/**
|
|
2305
2697
|
* Gate-style child events. Unlike the other `child:*` events, the bubble
|
|
2306
2698
|
* passes the **same `ctx` reference** the subagent's loop is awaiting on:
|
|
@@ -2342,6 +2734,19 @@ interface AgentHooks {
|
|
|
2342
2734
|
*/
|
|
2343
2735
|
priorContent?: string;
|
|
2344
2736
|
}) => void;
|
|
2737
|
+
/**
|
|
2738
|
+
* Bubbled sibling of {@link AgentHooks['tool:dispatched']} — fires when a
|
|
2739
|
+
* subagent dispatches a call. Symmetric with `child:tool:after` so live
|
|
2740
|
+
* UI rendering of subagent transcripts stays paired across all five
|
|
2741
|
+
* dispatch paths (gate-block/gate-substitute/unknown/invalid-input/execute).
|
|
2742
|
+
*/
|
|
2743
|
+
'child:tool:dispatched': (ctx: ToolHookContext & {
|
|
2744
|
+
outcome: 'execute' | 'gate-substitute' | 'gate-block' | 'unknown' | 'invalid-input';
|
|
2745
|
+
reason?: string;
|
|
2746
|
+
runToolCounts: Readonly<Record<string, number>>;
|
|
2747
|
+
childId: string;
|
|
2748
|
+
depth: number;
|
|
2749
|
+
}) => void;
|
|
2345
2750
|
'child:tool:after': (ctx: ToolHookContext & {
|
|
2346
2751
|
result: string | ToolResultContent[];
|
|
2347
2752
|
outputBytes: number;
|
|
@@ -2539,6 +2944,26 @@ interface AgentHooks {
|
|
|
2539
2944
|
skill: SkillConfig;
|
|
2540
2945
|
reason: DeactivationReason;
|
|
2541
2946
|
}) => void;
|
|
2947
|
+
/**
|
|
2948
|
+
* Fires once per repair performed by the pre-send pairing pass
|
|
2949
|
+
* ({@link ensureToolResultPairing}). The pass runs immediately before every
|
|
2950
|
+
* provider call and patches over the wire-level corruption modes that
|
|
2951
|
+
* Anthropic / OpenAI 400 on (orphan `tool_use` / `tool_result`, duplicate
|
|
2952
|
+
* ids, compaction-stranded blocks).
|
|
2953
|
+
*
|
|
2954
|
+
* Observational — handlers can mirror to Sentry/PostHog/etc. for
|
|
2955
|
+
* postmortems on new corruption sources but cannot suppress the repair.
|
|
2956
|
+
* The companion `behavior.strictToolPairing` flag is the consumer escape
|
|
2957
|
+
* hatch for "throw instead of repair" (training-data collectors).
|
|
2958
|
+
*
|
|
2959
|
+
* `turnId` lets handlers correlate a repair burst with the run-loop turn
|
|
2960
|
+
* that observed it. Absent on repairs detected from the synthetic
|
|
2961
|
+
* fallback path in `agent.run()`'s error catch (the orphan-tool_use
|
|
2962
|
+
* fallback for crash recovery), where no turn is in flight.
|
|
2963
|
+
*/
|
|
2964
|
+
'pairing:repair': (ctx: PairingRepair & {
|
|
2965
|
+
turnId?: string;
|
|
2966
|
+
}) => void;
|
|
2542
2967
|
'usage': (ctx: {
|
|
2543
2968
|
turn: number;
|
|
2544
2969
|
turnId: string;
|
|
@@ -2757,5 +3182,5 @@ declare function createAgent({
|
|
|
2757
3182
|
hooks: initialHooks
|
|
2758
3183
|
}: AgentOptions): Agent;
|
|
2759
3184
|
//#endregion
|
|
2760
|
-
export {
|
|
2761
|
-
//# sourceMappingURL=agent-
|
|
3185
|
+
export { createFileMapStore as $, TurnFinishReason as $t, SessionStore as A, ChildRunStats as At, TOOL_USE_INTERRUPTED_MARKER as B, SessionContentBlock as Bt, SkillResource as C, CerebrasParams as Ct, Session as D, AgentBehavior as Dt, CreateSessionOptions as E, anthropic as Et, EnsureToolResultPairingOptions as F, PromptDocumentPart as Ft, filterUnresolvedToolUses as G, SpawnHookContext as Gt, autoDetectAndConvert as H, SessionHookContext as Ht, ORPHANED_TOOL_RESULT_MARKER as I, PromptImagePart as It, toAnthropic as J, ToolExecutionMode as Jt, fromAnthropic as K, StreamHookContext as Kt, PairingRepair as L, PromptPart as Lt, loadSession as M, McpToolHookContext as Mt, RemoteStoreOptions as N, McpToolSchema as Nt, SessionData as O, AgentRunOptions as Ot, createRemoteStore as P, OAuthRefreshHookContext as Pt, FileMapStoreOptions as Q, ToolResultTextContent as Qt, PairingRepairMode as R, PromptTextPart as Rt, SkillDiagnostic as S, openai as St, SkillsConfig as T, AnthropicParams as Tt, detectTurnInterruption as U, SessionMessage as Ut, TurnInterruptionState as V, SessionEndStatus as Vt, ensureToolResultPairing as W, SessionTurn as Wt, createMemoryStore as X, ToolResultContent as Xt, toOpenAI as Y, ToolHookContext as Yt, FileMapAdapter as Z, ToolResultImageContent as Zt, resultToString as _, OpenAICompatParams as _t, createAgent as a, AgentProviderError as an, ToolResult as at, ToolMap as b, openaiCompat as bt, DeactivationReason as c, CONTEXT_EXCEEDED_MESSAGE_PATTERNS as cn, SchemaSanitizeOptions as ct, createSkillActivationState as d, errorMessage as dn, sanitizeToolSchema as dt, TurnUsage as en, Provider as et, ConnectMcpServersOptions as f, matchesContextExceeded as fn, sanitizeToolSpecs as ft, normalizeMcpServers as g, OpenAICompatHttpError as gt, normalizeMcpBlocks as h, OpenAICompatAuthHeader as ht, AgentOptions as i, AgentContextExceededError as in, ToolCall as it, createSession as j, McpServerConfig as jt, SessionRun as k, AgentStats as kt, SkillActivationState as l, ClassifiedError as ln, SchemaSanitizeProfile as lt, connectMcpServers as m, openrouter as mt, AgentHookMap as n, toolResultToText as nn, StreamCallbacks as nt, ActivationVia as o, AgentToolNotAllowedError as on, ToolSpec as ot, McpConnection as p, toTypedError as pn, OpenRouterParams as pt, fromOpenAI as q, ThinkingLevel as qt, AgentHooks as r, AgentAbortedError as rn, StreamOptions as rt, ActiveSkill as s, AgentToolPairingError as sn, TurnResult as st, Agent as t, toolOutputByteLength as tn, ProviderCapabilities as tt, SkillActivationStateOptions as u, ClassifiedErrorKind as un, SchemaSanitizeResult as ut, ToolContext as v, classifyOpenAICompatError as vt, SkillSource as w, cerebras as wt, SkillConfig as x, OpenAIParams as xt, ToolDef as y, mapOAIFinishReason as yt, SYNTHETIC_TOOL_RESULT_PLACEHOLDER as z, RunHookMap as zt };
|
|
3186
|
+
//# sourceMappingURL=agent-bKs7MRT2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-bKs7MRT2.d.ts","names":[],"sources":["../src/errors.ts","../src/types.ts","../src/providers/anthropic.ts","../src/providers/cerebras.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/file-map.ts","../src/session/memory.ts","../src/session/messages.ts","../src/session/remote.ts","../src/session/index.ts","../src/skills/types.ts","../src/tools/types.ts","../src/mcp/index.ts","../src/skills/activation.ts","../src/agent.ts"],"mappings":"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"}
|