UNPKG

@convex-dev/agent

Version:

A agent component for Convex.

26 lines 1.48 kB
import type { BetterOmit, Expand } from "convex-helpers"; import type { FunctionArgs, FunctionReference, PaginationOptions, PaginationResult } from "convex/server"; import type { MessageDoc } from "../client/index.js"; import type { SyncStreamsReturnValue } from "../client/types.js"; import type { StreamArgs } from "../validators.js"; export type ThreadQuery<Args = unknown, M extends MessageDoc = MessageDoc> = FunctionReference<"query", "public", { threadId: string; paginationOpts: PaginationOptions; /** * If { stream: true } is passed, it will also query for stream deltas. * In order for this to work, the query must take as an argument streamArgs. */ streamArgs?: StreamArgs; } & Args, PaginationResult<M> & { streams?: SyncStreamsReturnValue; }>; export type ThreadStreamQuery<Args = Record<string, unknown>, M extends MessageDoc = MessageDoc> = FunctionReference<"query", "public", { threadId: string; paginationOpts: PaginationOptions; streamArgs?: StreamArgs; } & Args, PaginationResult<M> & { streams: SyncStreamsReturnValue; }>; export type ThreadMessagesArgs<Query extends ThreadQuery<unknown, MessageDoc>> = Query extends ThreadQuery<unknown, MessageDoc> ? Expand<BetterOmit<FunctionArgs<Query>, "paginationOpts" | "streamArgs">> : never; export type ThreadMessagesResult<Query extends ThreadQuery<unknown, MessageDoc>> = Query extends ThreadQuery<unknown, infer M> ? M : never; //# sourceMappingURL=types.d.ts.map