@convex-dev/agent
Version:
A agent component for Convex.
26 lines • 1.48 kB
TypeScript
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