interface PluginOptions {
    apiKey?: string;
    apiVersion?: string | string[];
    baseUrl?: string;
    models?: (
        | string
        | ModelReference<
            ZodObject<
                extendShape<
                    {
                        maxOutputTokens: ZodOptional<ZodNumber>;
                        stopSequences: ZodOptional<ZodArray<ZodString, "many">>;
                        temperature: ZodOptional<ZodNumber>;
                        topK: ZodOptional<ZodNumber>;
                        topP: ZodOptional<ZodNumber>;
                        version: ZodOptional<ZodString>;
                    },
                    {
                        codeExecution: ZodOptional<
                            ZodUnion<
                                [ZodBoolean, ZodObject<(...), (...), (...), (...), (...)>],
                            >,
                        >;
                        contextCache: ZodOptional<ZodBoolean>;
                        functionCallingConfig: ZodOptional<
                            ZodObject<
                                {
                                    allowedFunctionNames: ZodOptional<(...)>;
                                    mode: ZodOptional<(...)>;
                                },
                                "strip",
                                ZodTypeAny,
                                {
                                    allowedFunctionNames?: (...)
                                    | (...);
                                    mode?: (...) | (...) | (...) | (...) | (...);
                                },
                                {
                                    allowedFunctionNames?: (...)
                                    | (...);
                                    mode?: (...) | (...) | (...) | (...) | (...);
                                },
                            >,
                        >;
                        safetySettings: ZodOptional<
                            ZodArray<
                                ZodObject<
                                    { category: ...; threshold: ... },
                                    "strip",
                                    ZodTypeAny,
                                    { category: ...; threshold: ... },
                                    { category: ...; threshold: ... },
                                >,
                                "many",
                            >,
                        >;
                    },
                >,
                "strip",
                ZodTypeAny,
                {
                    codeExecution?: boolean
                    | {};
                    contextCache?: boolean;
                    functionCallingConfig?: {
                        allowedFunctionNames?: string[];
                        mode?: "ANY" | "MODE_UNSPECIFIED" | "AUTO" | "NONE";
                    };
                    maxOutputTokens?: number;
                    safetySettings?: {
                        category: | "HARM_CATEGORY_UNSPECIFIED"
                        | "HARM_CATEGORY_HATE_SPEECH"
                        | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
                        | "HARM_CATEGORY_HARASSMENT"
                        | "HARM_CATEGORY_DANGEROUS_CONTENT";
                        threshold: | "BLOCK_LOW_AND_ABOVE"
                        | "BLOCK_MEDIUM_AND_ABOVE"
                        | "BLOCK_ONLY_HIGH"
                        | "BLOCK_NONE";
                    }[];
                    stopSequences?: string[];
                    temperature?: number;
                    topK?: number;
                    topP?: number;
                    version?: string;
                },
                {
                    codeExecution?: boolean
                    | {};
                    contextCache?: boolean;
                    functionCallingConfig?: {
                        allowedFunctionNames?: string[];
                        mode?: "ANY" | "MODE_UNSPECIFIED" | "AUTO" | "NONE";
                    };
                    maxOutputTokens?: number;
                    safetySettings?: {
                        category: | "HARM_CATEGORY_UNSPECIFIED"
                        | "HARM_CATEGORY_HATE_SPEECH"
                        | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
                        | "HARM_CATEGORY_HARASSMENT"
                        | "HARM_CATEGORY_DANGEROUS_CONTENT";
                        threshold: | "BLOCK_LOW_AND_ABOVE"
                        | "BLOCK_MEDIUM_AND_ABOVE"
                        | "BLOCK_ONLY_HIGH"
                        | "BLOCK_NONE";
                    }[];
                    stopSequences?: string[];
                    temperature?: number;
                    topK?: number;
                    topP?: number;
                    version?: string;
                },
            >,
        >
    )[];
}

Properties

apiKey?: string
apiVersion?: string | string[]
baseUrl?: string
models?: (
    | string
    | ModelReference<
        ZodObject<
            extendShape<
                {
                    maxOutputTokens: ZodOptional<ZodNumber>;
                    stopSequences: ZodOptional<ZodArray<ZodString, "many">>;
                    temperature: ZodOptional<ZodNumber>;
                    topK: ZodOptional<ZodNumber>;
                    topP: ZodOptional<ZodNumber>;
                    version: ZodOptional<ZodString>;
                },
                {
                    codeExecution: ZodOptional<
                        ZodUnion<
                            [ZodBoolean, ZodObject<(...), (...), (...), (...), (...)>],
                        >,
                    >;
                    contextCache: ZodOptional<ZodBoolean>;
                    functionCallingConfig: ZodOptional<
                        ZodObject<
                            {
                                allowedFunctionNames: ZodOptional<(...)>;
                                mode: ZodOptional<(...)>;
                            },
                            "strip",
                            ZodTypeAny,
                            {
                                allowedFunctionNames?: (...)
                                | (...);
                                mode?: (...) | (...) | (...) | (...) | (...);
                            },
                            {
                                allowedFunctionNames?: (...)
                                | (...);
                                mode?: (...) | (...) | (...) | (...) | (...);
                            },
                        >,
                    >;
                    safetySettings: ZodOptional<
                        ZodArray<
                            ZodObject<
                                { category: ...; threshold: ... },
                                "strip",
                                ZodTypeAny,
                                { category: ...; threshold: ... },
                                { category: ...; threshold: ... },
                            >,
                            "many",
                        >,
                    >;
                },
            >,
            "strip",
            ZodTypeAny,
            {
                codeExecution?: boolean
                | {};
                contextCache?: boolean;
                functionCallingConfig?: {
                    allowedFunctionNames?: string[];
                    mode?: "ANY" | "MODE_UNSPECIFIED" | "AUTO" | "NONE";
                };
                maxOutputTokens?: number;
                safetySettings?: {
                    category: | "HARM_CATEGORY_UNSPECIFIED"
                    | "HARM_CATEGORY_HATE_SPEECH"
                    | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
                    | "HARM_CATEGORY_HARASSMENT"
                    | "HARM_CATEGORY_DANGEROUS_CONTENT";
                    threshold: | "BLOCK_LOW_AND_ABOVE"
                    | "BLOCK_MEDIUM_AND_ABOVE"
                    | "BLOCK_ONLY_HIGH"
                    | "BLOCK_NONE";
                }[];
                stopSequences?: string[];
                temperature?: number;
                topK?: number;
                topP?: number;
                version?: string;
            },
            {
                codeExecution?: boolean
                | {};
                contextCache?: boolean;
                functionCallingConfig?: {
                    allowedFunctionNames?: string[];
                    mode?: "ANY" | "MODE_UNSPECIFIED" | "AUTO" | "NONE";
                };
                maxOutputTokens?: number;
                safetySettings?: {
                    category: | "HARM_CATEGORY_UNSPECIFIED"
                    | "HARM_CATEGORY_HATE_SPEECH"
                    | "HARM_CATEGORY_SEXUALLY_EXPLICIT"
                    | "HARM_CATEGORY_HARASSMENT"
                    | "HARM_CATEGORY_DANGEROUS_CONTENT";
                    threshold: | "BLOCK_LOW_AND_ABOVE"
                    | "BLOCK_MEDIUM_AND_ABOVE"
                    | "BLOCK_ONLY_HIGH"
                    | "BLOCK_NONE";
                }[];
                stopSequences?: string[];
                temperature?: number;
                topK?: number;
                topP?: number;
                version?: string;
            },
        >,
    >
)[]