export type JsonObjectSchema = Record; export interface ToolAnnotations { title?: string; audience?: 'user' | 'assistant' | 'operator' | 'system' | (string & {}); cacheability?: 'no-store' | 'ephemeral' | 'cacheable' | (string & {}); sensitivity?: 'public' | 'internal' | 'confidential' | 'restricted' | (string & {}); displayHint?: 'inline' | 'card' | 'hidden' | 'download' | (string & {}); tags?: readonly string[]; metadata?: Record; } export interface FunctionToolDefinition { type: 'function'; name: string; description?: string; inputSchema: JsonObjectSchema; strict?: boolean; annotations?: ToolAnnotations; providerMetadata?: Record; metadata?: Record; } export type ToolDefinition = FunctionToolDefinition; export type ToolInputState = 'announced' | 'streaming' | 'available' | 'complete'; export type ToolChoice = 'auto' | 'required' | 'none' | { type: 'tool'; name: string; }; export interface ToolCall { toolCallId: string; sentropicCallId?: string; providerCallId?: string; name: string; argumentsText: string; arguments?: unknown; inputState?: Exclude; annotations?: ToolAnnotations; metadata?: Record; } export interface ToolCallDelta { toolCallId: string; sentropicCallId?: string; providerCallId?: string; delta: string; name?: string; accumulatedArgumentsText?: string; inputState?: ToolInputState; annotations?: ToolAnnotations; metadata?: Record; } export interface ToolExecutionError { type?: 'tool_error' | 'validation_error' | 'provider_error' | 'timeout' | (string & {}); code?: string; message: string; retryable?: boolean; metadata?: Record; } export interface ToolResultTextContent { type: 'text'; text: string; annotations?: ToolAnnotations; } export interface ToolResultJsonContent { type: 'json'; value: unknown; annotations?: ToolAnnotations; } export interface ToolResultMediaContent { type: 'media'; mediaType: string; url?: string; data?: string; annotations?: ToolAnnotations; } export interface ToolResultResourceContent { type: 'resource'; uri: string; mediaType?: string; title?: string; text?: string; annotations?: ToolAnnotations; } export interface ToolResultEmbeddedResourceContent { type: 'embedded-resource'; resource: { uri: string; mediaType?: string; title?: string; text?: string; data?: string; }; annotations?: ToolAnnotations; } export type ToolResultContent = ToolResultTextContent | ToolResultJsonContent | ToolResultMediaContent | ToolResultResourceContent | ToolResultEmbeddedResourceContent; export interface ToolContinuation { state: 'not_required' | 'pending' | 'submitted' | 'skipped'; sentropicResponseId?: string; providerResponseId?: string; metadata?: Record; } export interface ToolResult { toolCallId: string; sentropicCallId?: string; providerCallId?: string; name?: string; output: unknown; content?: readonly ToolResultContent[]; isError?: boolean; error?: ToolExecutionError; annotations?: ToolAnnotations; continuation?: ToolContinuation; metadata?: Record; } //# sourceMappingURL=tools.d.ts.map