UNPKG

@durable-streams/aisdk-transport

Version:

Vercel AI SDK transport adapters for Durable Streams

33 lines (26 loc) 855 B
import type { HeadersRecord } from "@durable-streams/client" import type { ChatTransport, UIMessage } from "ai" export type DurableStreamTarget = { writeUrl: string | URL readUrl?: string | URL headers?: HeadersRecord contentType?: string createIfMissing?: boolean } export type ToDurableStreamResponseMode = `immediate` | `await` export type WaitUntil = (promise: Promise<unknown>) => void export type ToDurableStreamResponseOptions = { source: AsyncIterable<unknown> stream: DurableStreamTarget mode?: ToDurableStreamResponseMode waitUntil?: WaitUntil exposeLocationHeader?: boolean } export type DurableChatTransportOptions = { api: string reconnectApi?: string headers?: HeadersInit fetchClient?: typeof fetch } export type DurableChatTransport<UIMessageT extends UIMessage = UIMessage> = ChatTransport<UIMessageT>