import type { ContractRegistry } from './registry.js'; import type { ContractsTelemetrySink } from './telemetry.js'; import type { Signal, TurnPolicy } from './turnPolicy.js'; import { type ClassifyTurnInput, type CompiledToolset } from './evaluators.js'; export interface ContractMessageLike { role: string; content: unknown; } export interface ContractToolDefinitionLike { type: 'function'; function: { name: string; description?: string; parameters?: Record; }; } export type ContractToolChoiceLike = 'auto' | 'none' | 'required' | { type: 'function'; function: { name: string; }; }; export interface BuildContractTurnPolicyInput { availableTools: ReadonlyArray; registry: ContractRegistry; messages?: ReadonlyArray; assetManifest?: ClassifyTurnInput['assetManifest']; sessionState?: Partial; signals?: ReadonlyArray; telemetry?: ContractsTelemetrySink; } export interface CompileContractToolSurfaceInput extends Omit { tools: ReadonlyArray; turnPolicy?: TurnPolicy; } export interface CompiledContractToolSurface extends CompiledToolset { turnPolicy: TurnPolicy; } export declare const DEFAULT_CONTRACT_CONTEXT_PREFIX = "Sogni Creative Agent tool policy for this turn:"; export declare const CONTROL_TOOL_SET: ReadonlyArray; export declare function normalizeContractMessages(messages: ReadonlyArray): ClassifyTurnInput['messages']; export declare function buildContractTurnPolicy(input: BuildContractTurnPolicyInput): TurnPolicy; export declare function compileContractToolSurface(input: CompileContractToolSurfaceInput): CompiledContractToolSurface; export declare function formatContractsContextBlock(contextBlock: string, prefix?: string): string; export declare function appendContractsContextToSystemContent(systemContent: string, contextBlock: string): string; export declare function reconcileToolChoiceForCompiledTools(toolChoice: T, tools: ReadonlyArray): T | 'auto' | undefined; //# sourceMappingURL=toolSurface.d.ts.map