Genkit JS API reference
    Preparing search index...
    interface ModelArmorOptions {
        applyDeidentificationResults?:
            | boolean
            | (
                (
                    data: {
                        messages: {
                            content: (
                                | {
                                    custom?: Record<string, unknown>;
                                    data?: unknown;
                                    media?: undefined;
                                    metadata?: Record<string, unknown>;
                                    reasoning?: undefined;
                                    resource?: undefined;
                                    text: string;
                                    toolRequest?: undefined;
                                    toolResponse?: undefined;
                                }
                                | {
                                    custom?: Record<string, unknown>;
                                    data?: unknown;
                                    media: { contentType?: string; url: string };
                                    metadata?: Record<string, unknown>;
                                    reasoning?: undefined;
                                    resource?: undefined;
                                    text?: undefined;
                                    toolRequest?: undefined;
                                    toolResponse?: undefined;
                                }
                                | {
                                    custom?: Record<string, unknown>;
                                    data?: unknown;
                                    media?: undefined;
                                    metadata?: Record<string, unknown>;
                                    reasoning?: undefined;
                                    resource?: undefined;
                                    text?: undefined;
                                    toolRequest: {
                                        input?: unknown;
                                        name: string;
                                        partial?: boolean;
                                        ref?: string;
                                    };
                                    toolResponse?: undefined;
                                }
                                | {
                                    custom?: Record<string, unknown>;
                                    data?: unknown;
                                    media?: undefined;
                                    metadata?: Record<string, unknown>;
                                    reasoning?: undefined;
                                    resource?: undefined;
                                    text?: undefined;
                                    toolRequest?: undefined;
                                    toolResponse: {
                                        name: string;
                                        output?: unknown;
                                        ref?: (...) | (...);
                                    } & { content?: (...)
                                    | (...) };
                                }
                                | {
                                    custom?: Record<string, unknown>;
                                    data?: unknown;
                                    media?: undefined;
                                    metadata?: Record<string, unknown>;
                                    reasoning?: undefined;
                                    resource?: undefined;
                                    text?: undefined;
                                    toolRequest?: undefined;
                                    toolResponse?: undefined;
                                }
                                | {
                                    custom: Record<string, any>;
                                    data?: unknown;
                                    media?: undefined;
                                    metadata?: Record<string, unknown>;
                                    reasoning?: undefined;
                                    resource?: undefined;
                                    text?: undefined;
                                    toolRequest?: undefined;
                                    toolResponse?: undefined;
                                }
                                | {
                                    custom?: Record<string, unknown>;
                                    data?: unknown;
                                    media?: undefined;
                                    metadata?: Record<string, unknown>;
                                    reasoning: string;
                                    resource?: undefined;
                                    text?: undefined;
                                    toolRequest?: undefined;
                                    toolResponse?: undefined;
                                }
                                | {
                                    custom?: Record<string, unknown>;
                                    data?: unknown;
                                    media?: undefined;
                                    metadata?: Record<string, unknown>;
                                    reasoning?: undefined;
                                    resource: { uri: string };
                                    text?: undefined;
                                    toolRequest?: undefined;
                                    toolResponse?: undefined;
                                }
                            )[];
                            metadata?: Record<string, unknown>;
                            role: "user" | "tool" | "model" | "system";
                        }[];
                        sdpResult: ISdpFilterResult;
                    },
                ) => | {
                    content: (
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text: string;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media: { contentType?: string; url: string };
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest: {
                                input?: unknown;
                                name: string;
                                partial?: boolean;
                                ref?: string;
                            };
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                content?: (...) | (...);
                            };
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom: Record<string, any>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning: string;
                            resource?: undefined;
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                        | {
                            custom?: Record<string, unknown>;
                            data?: unknown;
                            media?: undefined;
                            metadata?: Record<string, unknown>;
                            reasoning?: undefined;
                            resource: { uri: string };
                            text?: undefined;
                            toolRequest?: undefined;
                            toolResponse?: undefined;
                        }
                    )[];
                    metadata?: Record<string, unknown>;
                    role: "user" | "tool" | "model" | "system";
                }[]
                | undefined
            );
        client?: ModelArmorClient;
        clientOptions?: ClientOptions;
        filters?: (
            | string & {}
            | "rai"
            | "pi_and_jailbreak"
            | "malicious_uris"
            | "csam"
            | "sdp"
        )[];
        protectionTarget?: "all"
        | "userPrompt"
        | "modelResponse";
        strictSdpEnforcement?: boolean;
        templateName: string;
    }
    Index

    Properties

    applyDeidentificationResults?:
        | boolean
        | (
            (
                data: {
                    messages: {
                        content: (
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text: string;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media: { contentType?: string; url: string };
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest: {
                                    input?: unknown;
                                    name: string;
                                    partial?: boolean;
                                    ref?: string;
                                };
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                                    content?: (...) | (...);
                                };
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom: Record<string, any>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning: string;
                                resource?: undefined;
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                            | {
                                custom?: Record<string, unknown>;
                                data?: unknown;
                                media?: undefined;
                                metadata?: Record<string, unknown>;
                                reasoning?: undefined;
                                resource: { uri: string };
                                text?: undefined;
                                toolRequest?: undefined;
                                toolResponse?: undefined;
                            }
                        )[];
                        metadata?: Record<string, unknown>;
                        role: "user" | "tool" | "model" | "system";
                    }[];
                    sdpResult: ISdpFilterResult;
                },
            ) => | {
                content: (
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text: string;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media: { contentType?: string; url: string };
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest: {
                            input?: unknown;
                            name: string;
                            partial?: boolean;
                            ref?: string;
                        };
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse: { name: string; output?: unknown; ref?: (...) | (...) } & {
                            content?: (...) | (...);
                        };
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom: Record<string, any>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning: string;
                        resource?: undefined;
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                    | {
                        custom?: Record<string, unknown>;
                        data?: unknown;
                        media?: undefined;
                        metadata?: Record<string, unknown>;
                        reasoning?: undefined;
                        resource: { uri: string };
                        text?: undefined;
                        toolRequest?: undefined;
                        toolResponse?: undefined;
                    }
                )[];
                metadata?: Record<string, unknown>;
                role: "user" | "tool" | "model" | "system";
            }[]
            | undefined
        )

    Whether to apply the de-identification results to the content.

    • If true, the default logic (replace text, preserve structure) is used.
    • If false, no changes are applied.
    • If a function, it is called with the messages and SDP result, and should return the new messages.

    Defaults to false.

    client?: ModelArmorClient
    clientOptions?: ClientOptions

    Options for the Model Armor client (e.g. apiEndpoint).

    filters?: (
        | string & {}
        | "rai"
        | "pi_and_jailbreak"
        | "malicious_uris"
        | "csam"
        | "sdp"
    )[]

    List of filters to enforce. If not specified, all filters are enforced. Possible values: 'rai', 'pi_and_jailbreak', 'malicious_uris', 'csam', 'sdp'.

    protectionTarget?: "all" | "userPrompt" | "modelResponse"

    What to sanitize. Defaults to 'all'.

    strictSdpEnforcement?: boolean

    Whether to block on SDP match even if the content was successfully de-identified. Defaults to false (lenient).

    templateName: string