@tanstack/ai
Version:
Type-safe TypeScript AI SDK for streaming chat, tool calling, agents, structured outputs, and multimodal generation.
50 lines (49 loc) • 6.12 kB
TypeScript
import { AudioGenerationOptions, ImageGenerationOptions, TTSOptions, TranscriptionOptions, VoiceGenerationOptions, VideoGenerationOptions, WorldGenerationOptions, LiveVideoGenerationOptions } from './types.js';
export type GenerationKind = 'image' | 'audio' | 'tts' | 'voice' | 'video' | 'transcription' | 'world' | 'liveVideo';
type GenerationInputByKind = {
image: Omit<ImageGenerationOptions, 'logger' | 'model'>;
audio: Omit<AudioGenerationOptions, 'logger' | 'model'>;
tts: Omit<TTSOptions, 'logger' | 'model'>;
voice: Omit<VoiceGenerationOptions, 'logger' | 'model'>;
video: Omit<VideoGenerationOptions, 'logger' | 'model'>;
transcription: Omit<TranscriptionOptions, 'logger' | 'model'>;
world: Omit<WorldGenerationOptions, 'logger' | 'model'>;
liveVideo: Omit<LiveVideoGenerationOptions, 'logger' | 'model'>;
};
export interface GenerationParams<TKind extends GenerationKind> {
input: GenerationInputByKind[TKind];
forwardedProps: Record<string, unknown>;
threadId?: string;
runId?: string;
}
export declare function generationParamsFromBody<TKind extends GenerationKind>(kind: TKind, body: unknown): GenerationParams<TKind>;
export declare function generationParamsFromRequest<TKind extends GenerationKind>(kind: TKind, request: Request): Promise<GenerationParams<TKind>>;
export { EventType } from '@ag-ui/core';
export { defineAgent, type DefinedAgent, type SubagentChoiceOptions, type SubagentRunContext, } from './activities/chat/agents/define-agent.js';
export { subagentRoute, type SubagentRouteOptions, } from './activities/chat/agents/route.js';
export type { SubagentOrder, SubagentRouterPick, SubagentRouterPlan, SubagentStep, SubagentStepsPlan, } from './activities/chat/agents/spawn.js';
export { toolDefinition, type AnyClientTool, type ClientTool, type InferToolInput, type InferToolName, type InferToolOutput, type ApprovalCapabilityOf, type ApprovalSchemaConfig, type ApprovalSchemaOf, type InputSchemaOf, type OutputSchemaOf, type NoSchema, type ToolDefinition, type ToolDefinitionConfig, type ToolDefinitionInstance, } from './activities/chat/tools/tool-definition.js';
export { hashSchemaInput, normalizeApprovalSchema, type NormalizedApprovalSchema, type NormalizedSchemaInput, } from './activities/chat/tools/approval-schema.js';
export { canonicalInterruptJson, cloneAndDeepFreezeJson, digestInterruptJson, } from './interrupt-serialization.js';
export { convertSchemaToJsonSchema, isStandardSchema, parseWithStandardSchema, validateWithStandardSchema, } from './activities/chat/tools/schema-converter.js';
export { convertMessagesToModelMessages, generateMessageId, modelMessageToUIMessage, modelMessagesToUIMessages, normalizeToUIMessage, uiMessageToModelMessages, } from './activities/chat/messages.js';
export { BatchStrategy, CompositeStrategy, defaultJSONParser, ImmediateStrategy, parsePartialJSON, PartialJSONParser, PunctuationStrategy, StreamProcessor, WordBoundaryStrategy, } from './activities/chat/stream/index.js';
export type { ChunkRecording, ChunkStrategy, InternalToolCallState, JSONParser, ProcessorResult, ProcessorState, StreamProcessorEvents, StreamProcessorOptions, ToolCallState, ToolResultState, } from './activities/chat/stream/index.js';
export { uiMessagesToWire } from './utilities/ag-ui-wire.js';
export { mergeMetadata, tanstackMetadata, withTanstackMetadata, } from './utilities/merge-metadata.js';
export { fromSpecTokenUsage, toSpecTokenUsage } from './utilities/ag-ui-usage.js';
export type { SpecTokenUsage } from './utilities/ag-ui-usage.js';
export { normalizeStreamChunk } from './utilities/normalize-stream-chunk.js';
export { restoreInboundChunk } from './utilities/restore-inbound-chunk.js';
export type { AdapterYieldChunk } from './utilities/adapter-yield-chunk.js';
export { getChunkRunId, getChunkThreadId } from './utilities/chunk-ids.js';
export type { WireMessage } from './utilities/ag-ui-wire.js';
export type { AudioPart, ContentPart, ContentPartDataSource, ContentPartFileSource, SubagentHandleData, SubagentStatus, ContentPartSource, ContentPartUrlSource, CustomEvent, DocumentPart, ImagePart, MediaInputMetadata, MediaInputRole, MediaPrompt, MediaPromptPart, MessagePart, ModelMessage, PersistedArtifactActivity, PersistedArtifactRef, PersistedArtifactRole, Interrupt, RunAgentResumeItem, RunErrorEvent, RunFinishedEvent, RunFinishedOutcome, SchemaInput, StreamChunk, StructuredOutputPart, TextPart, TanStackMessageMetadata, TanStackRunMetadata, ThinkingPart, ToolCall, ToolCallPart, ToolResultPart, UIMessage, UIResourcePart, VideoPart, InferSchemaType, } from './types.js';
export { INTERRUPT_BINDING_VERSION, canonicalizeInterruptResolutions, } from './interrupts.js';
export { defineInterrupt, hashInterruptDefinitionSchema, INTERRUPT_PAYLOAD_METADATA_KEY, } from './interrupt-definition.js';
export { INTERRUPT_CONTINUATION_METADATA_KEY, INTERRUPT_CONTINUATION_VERSION, genericInterruptContinuationFromDescriptor, readGenericInterruptContinuation, wrapGenericInterruptContinuation, } from './generic-interrupt-continuation.js';
export type { GenericInterruptContinuation, GenericInterruptContinuationReadResult, } from './generic-interrupt-continuation.js';
export type { GenericInterruptRequest, InterruptDefinition, } from './interrupt-definition.js';
export type { BatchInterruptError, BatchInterruptErrorCode, InterruptBinding, InterruptCorrelation, InterruptSubmissionError, ItemInterruptError, ItemInterruptErrorCode, ToolApprovalResolution, UnopenedInterruptBinding, } from './interrupts.js';
export { INTERRUPT_BINDING_METADATA_KEY, readInterruptBinding, readUnopenedInterruptBinding, withInterruptBinding, withoutInterruptBinding, } from './interrupt-resume.js';
export type { AudioVisualization, RealtimeAdapter, RealtimeConnection, RealtimeError, RealtimeErrorCode, RealtimeEvent, RealtimeEventHandler, RealtimeEventPayloads, RealtimeMessage, RealtimeMessagePart, RealtimeMode, RealtimeSessionConfig, RealtimeStatus, RealtimeToken, RealtimeAudioPart, RealtimeImagePart, RealtimeTextPart, RealtimeToolCallPart, RealtimeToolResultPart, VADConfig, } from './realtime/types.js';