@directus/api
Version:
Directus is a real-time API and App dashboard for managing SQL database content
35 lines (34 loc) • 1.56 kB
TypeScript
import { type JSONSchema7 } from 'ai';
import { z } from 'zod';
export declare const ChatRequestTool: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
name: z.ZodString;
description: z.ZodString;
inputSchema: z.ZodCustom<JSONSchema7, JSONSchema7>;
}, z.core.$strip>]>;
export type ChatRequestTool = z.infer<typeof ChatRequestTool>;
export declare const ToolApprovalMode: z.ZodEnum<{
always: "always";
ask: "ask";
disabled: "disabled";
}>;
export type ToolApprovalMode = z.infer<typeof ToolApprovalMode>;
export declare const ChatRequest: z.ZodIntersection<z.ZodDiscriminatedUnion<[z.ZodObject<{
provider: z.ZodLiteral<"openai">;
model: z.ZodUnion<readonly [z.ZodLiteral<"gpt-5">, z.ZodLiteral<"gpt-5-nano">, z.ZodLiteral<"gpt-5-mini">, z.ZodLiteral<"gpt-5-pro">]>;
}, z.core.$strip>, z.ZodObject<{
provider: z.ZodLiteral<"anthropic">;
model: z.ZodUnion<readonly [z.ZodLiteral<"claude-sonnet-4-5">, z.ZodLiteral<"claude-haiku-4-5">, z.ZodLiteral<"claude-opus-4-1">]>;
}, z.core.$strip>], "provider">, z.ZodObject<{
tools: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
name: z.ZodString;
description: z.ZodString;
inputSchema: z.ZodCustom<JSONSchema7, JSONSchema7>;
}, z.core.$strip>]>>;
messages: z.ZodArray<z.ZodObject<{}, z.core.$loose>>;
toolApprovals: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
always: "always";
ask: "ask";
disabled: "disabled";
}>>>;
}, z.core.$strip>>;
export type ChatRequest = z.infer<typeof ChatRequest>;