import type { InferSchema } from "../extensions/schema/index.js"; import type { ChatUiMessage, ChatUiMessagePart, ProviderModelMessage } from "./types.js"; export { getStringField, isRecord, stringifyUnknown } from "./part-field-access.js"; export type { JsonValue } from "./part-field-access.js"; export { isReasoningPart, isTextPart } from "./message-part-parsing.js"; declare const PROVIDER_MODEL_MESSAGE_SOURCE_ID: unique symbol; /** Provider model message plus local-only source metadata. */ export type ProviderModelMessageWithSourceId = ProviderModelMessage & { [PROVIDER_MODEL_MESSAGE_SOURCE_ID]?: string; }; /** Read the local-only source UI message id attached during provider conversion. */ export declare function getProviderModelMessageSourceId(message: ProviderModelMessage): string | undefined; /** Attach local-only source UI message id metadata to a provider message. */ export declare function withProviderModelMessageSourceId(message: ProviderModelMessage, sourceId: string): ProviderModelMessage; /** Copy local-only source UI message id metadata when a provider message is cloned. */ export declare function copyProviderModelMessageSourceId(source: ProviderModelMessage, target: T): T; /** Zod schema for get message part. */ export declare const getMessagePartSchema: () => import("../internal-agents/schema.js").Schema; text: import("../internal-agents/schema.js").Schema; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"image">; upload_id: import("../internal-agents/schema.js").Schema; media_type: import("../internal-agents/schema.js").Schema; url: import("../internal-agents/schema.js").Schema; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"file">; upload_id: import("../internal-agents/schema.js").Schema; media_type: import("../internal-agents/schema.js").Schema; filename: import("../internal-agents/schema.js").Schema; url: import("../internal-agents/schema.js").Schema; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"tool_call">; id: import("../internal-agents/schema.js").Schema; name: import("../internal-agents/schema.js").Schema; input: import("../internal-agents/schema.js").Schema>; state: import("../internal-agents/schema.js").Schema<"error" | "completed" | "pending" | "streaming">; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"tool_result">; tool_call_id: import("../internal-agents/schema.js").Schema; output: import("../internal-agents/schema.js").Schema; is_error: import("../internal-agents/schema.js").Schema; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"reasoning">; text: import("../internal-agents/schema.js").Schema; signature: import("../internal-agents/schema.js").Schema; redactedData: import("../internal-agents/schema.js").Schema; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"citation">; source_id: import("../internal-agents/schema.js").Schema; url: import("../internal-agents/schema.js").Schema; title: import("../internal-agents/schema.js").Schema; quote: import("../internal-agents/schema.js").Schema; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"source_document">; source_id: import("../internal-agents/schema.js").Schema; media_type: import("../internal-agents/schema.js").Schema; title: import("../internal-agents/schema.js").Schema; filename: import("../internal-agents/schema.js").Schema; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"step_start">; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"error">; code: import("../internal-agents/schema.js").Schema; message: import("../internal-agents/schema.js").Schema; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"data">; name: import("../internal-agents/schema.js").Schema; value: import("../internal-agents/schema.js").Schema; }>>; /** Public API contract for message part. */ export type MessagePart = InferSchema>; /** Zod schema for get conversation type. */ export declare const getConversationTypeSchema: () => import("../internal-agents/schema.js").Schema<"chat" | "agent_task" | "support" | "channel" | "project_agent">; /** Public API contract for conversation type. */ export type ConversationType = InferSchema>; /** Zod schema for get message status. */ export declare const getMessageStatusSchema: () => import("../internal-agents/schema.js").Schema<"error" | "failed" | "completed" | "cancelled" | "pending" | "streaming" | "stopped">; /** Public API contract for message status. */ export type MessageStatus = InferSchema>; /** Zod schema for get API conversation. */ export declare const getApiConversationSchema: () => import("../internal-agents/schema.js").Schema; projectId: import("../internal-agents/schema.js").Schema; type: import("../internal-agents/schema.js").Schema<"chat" | "agent_task" | "support" | "channel" | "project_agent">; title: import("../internal-agents/schema.js").Schema; status: import("../internal-agents/schema.js").Schema<"active" | "deleted" | "archived">; summary: import("../internal-agents/schema.js").Schema; currentNode: import("../internal-agents/schema.js").Schema; messageCount: import("../internal-agents/schema.js").Schema; lastMessageAt: import("../internal-agents/schema.js").Schema; metadata: import("../internal-agents/schema.js").Schema | null | undefined>; createdBy: import("../internal-agents/schema.js").Schema; archivedAt: import("../internal-agents/schema.js").Schema; createdAt: import("../internal-agents/schema.js").Schema; updatedAt: import("../internal-agents/schema.js").Schema; }>>; /** Public API contract for API conversation. */ export type ApiConversation = InferSchema>; /** Zod schema for get API message. */ export declare const getApiMessageSchema: () => import("../internal-agents/schema.js").Schema; conversationId: import("../internal-agents/schema.js").Schema; parentId: import("../internal-agents/schema.js").Schema; seq: import("../internal-agents/schema.js").Schema; role: import("../internal-agents/schema.js").Schema<"tool" | "user" | "assistant">; parts: import("../internal-agents/schema.js").Schema<(import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"text">; text: import("../internal-agents/schema.js").Schema; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"image">; upload_id: import("../internal-agents/schema.js").Schema; media_type: import("../internal-agents/schema.js").Schema; url: import("../internal-agents/schema.js").Schema; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"file">; upload_id: import("../internal-agents/schema.js").Schema; media_type: import("../internal-agents/schema.js").Schema; filename: import("../internal-agents/schema.js").Schema; url: import("../internal-agents/schema.js").Schema; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"tool_call">; id: import("../internal-agents/schema.js").Schema; name: import("../internal-agents/schema.js").Schema; input: import("../internal-agents/schema.js").Schema>; state: import("../internal-agents/schema.js").Schema<"error" | "completed" | "pending" | "streaming">; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"tool_result">; tool_call_id: import("../internal-agents/schema.js").Schema; output: import("../internal-agents/schema.js").Schema; is_error: import("../internal-agents/schema.js").Schema; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"reasoning">; text: import("../internal-agents/schema.js").Schema; signature: import("../internal-agents/schema.js").Schema; redactedData: import("../internal-agents/schema.js").Schema; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"citation">; source_id: import("../internal-agents/schema.js").Schema; url: import("../internal-agents/schema.js").Schema; title: import("../internal-agents/schema.js").Schema; quote: import("../internal-agents/schema.js").Schema; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"source_document">; source_id: import("../internal-agents/schema.js").Schema; media_type: import("../internal-agents/schema.js").Schema; title: import("../internal-agents/schema.js").Schema; filename: import("../internal-agents/schema.js").Schema; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"step_start">; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"error">; code: import("../internal-agents/schema.js").Schema; message: import("../internal-agents/schema.js").Schema; }> | import("../extensions/schema/schema-validator.js").InferShape<{ type: import("../internal-agents/schema.js").Schema<"data">; name: import("../internal-agents/schema.js").Schema; value: import("../internal-agents/schema.js").Schema; }>)[]>; status: import("../internal-agents/schema.js").Schema<"error" | "failed" | "completed" | "cancelled" | "pending" | "streaming" | "stopped">; model: import("../internal-agents/schema.js").Schema; tokenUsage: import("../internal-agents/schema.js").Schema; output: import("../internal-agents/schema.js").Schema; }> | null>; finishReason: import("../internal-agents/schema.js").Schema; costCredits: import("../internal-agents/schema.js").Schema; createdBy: import("../internal-agents/schema.js").Schema; editedAt: import("../internal-agents/schema.js").Schema; idempotencyKey: import("../internal-agents/schema.js").Schema; metadata: import("../internal-agents/schema.js").Schema | null>; createdAt: import("../internal-agents/schema.js").Schema; updatedAt: import("../internal-agents/schema.js").Schema; }>>; /** Message shape for API. */ export type ApiMessage = InferSchema>; /** Public API contract for tool call like. */ export interface ToolCallLike { type: "tool-call"; toolCallId: string; toolName: string; input: unknown; providerExecuted?: boolean; } /** Public API contract for tool result like. */ export interface ToolResultLike { type: "tool-result"; toolCallId: string; toolName: string; output: unknown; providerOptions?: unknown; } /** Chat UI tool part with a call ID and state. */ type ToolUiPart = Extract; /** Shared UUID pattern value. */ export declare const UUID_PATTERN: RegExp; /** Check whether a value is a UUID. */ export declare function isUuid(value: string | null | undefined): value is string; /** Extract upload ID. */ export declare function extractUploadId(url: string): string | null; /** State for map tool. */ export declare function mapToolState(sdkState: string): "streaming" | "pending" | "completed" | "error"; /** Check whether a chat part is a custom data part. */ export declare function isDataUiPart(part: ChatUiMessagePart): part is ChatUiMessagePart & { type: `data-${string}`; data: unknown; }; /** Check whether a chat part is a tool UI part. */ export declare function isToolUiPart(part: ChatUiMessagePart): part is ToolUiPart; /** Return UI tool name. */ export declare function getUiToolName(part: ToolUiPart): string | undefined; /** Push tool parts. */ export declare function pushToolParts(parts: MessagePart[], toolName: string, toolCallId: string, state: string, part: { input?: unknown; output?: unknown; errorText?: unknown; providerExecuted?: unknown; }): void; /** Message shape for to conversation parts from UI. */ export declare function toConversationPartsFromUiMessage(message: ChatUiMessage): MessagePart[]; /** Check whether incomplete tool parts is present. */ export declare function hasIncompleteToolParts(message: ChatUiMessage): boolean; /** Mark incomplete tool parts as stopped. */ export declare function markIncompleteToolPartsAsStopped(message: ChatUiMessage): ChatUiMessage; /** Mark incomplete tool parts as errored. */ export declare function markIncompleteToolPartsAsErrored(message: ChatUiMessage, errorText: string): ChatUiMessage; /** Check whether a value is a tool-call part. */ export declare function isToolCallPart(value: unknown): value is ToolCallLike; /** Check whether a value is a tool-result part. */ export declare function isToolResultPart(value: unknown): value is ToolResultLike; /** Message shape for extract text from. */ export declare function extractTextFromMessage(message: ProviderModelMessage): string; //# sourceMappingURL=conversation.d.ts.map