import { canonicalizeSchema, validateAgainstSchema } from "./canonicalize.js"; import type { CanonicalJsonSchema, NormalizedToolCall, RepairOptions, SchemaCompatibilityRecord } from "./types.js"; export interface RawToolCallShape { name: string; toolCallId: string; /** Provider-native args (already parsed object). */ arguments?: Record; /** Provider-native args as a raw JSON string (possibly truncated). */ argumentsString?: string; /** When a provider wraps args in an envelope, the envelope payload. */ wrapped?: unknown; } export interface ToolCallPipelineOptions { schemaById: Record; aliasMap?: Record; repair?: RepairOptions; /** Provider capability for schema flattening. */ providerCapability?: "flat" | "nested" | "unknown"; forceFlatten?: boolean; /** Whether aggressive scavenging of designated tool channels is allowed. */ allowScavenge?: boolean; ensureToolExists?: (name: string) => boolean; } export interface PipelineResult { normalized: NormalizedToolCall | null; compatibility?: SchemaCompatibilityRecord; scavenged?: boolean; blockedReason?: string; } /** * Full provider-independent canonical pipeline for a single raw tool call. * Policy/effect evaluation is deliberately NOT performed here (it is the * caller's responsibility, before execution), keeping this layer pure. */ export declare function runToolCallPipeline(raw: RawToolCallShape, opts: ToolCallPipelineOptions): PipelineResult; /** Convenience: canonical validation + schema envelope in one step. */ export declare function prepareSchemaForProvider(schema: CanonicalJsonSchema, providerCapability?: "flat" | "nested" | "unknown", forceFlatten?: boolean): import("./types.js").SchemaEnvelope; export { canonicalizeSchema, validateAgainstSchema }; //# sourceMappingURL=pipeline.d.ts.map