// This file was auto-generated by Fern from our API Definition.

import type * as Vapi from "../index.js";

export interface LangfuseObservabilityPlan {
    provider: Vapi.LangfuseObservabilityPlanProvider;
    /** The name of a Langfuse prompt to link generations to. This enables tracking which prompt version was used for each generation. https://langfuse.com/docs/prompt-management/features/link-to-traces */
    promptName?: string | undefined;
    /** The version number of the Langfuse prompt to link generations to. Used together with promptName to identify the exact prompt version. https://langfuse.com/docs/prompt-management/features/link-to-traces */
    promptVersion?: number | undefined;
    /**
     * Custom name for the Langfuse trace. Supports Liquid templates.
     *
     * Available variables:
     * - {{ call.id }} - Call UUID
     * - {{ call.type }} - 'inboundPhoneCall', 'outboundPhoneCall', 'webCall'
     * - {{ assistant.name }} - Assistant name
     * - {{ assistant.id }} - Assistant ID
     *
     * Example: "{{ assistant.name }} - {{ call.type }}"
     *
     * Defaults to call ID if not provided.
     */
    traceName?: string | undefined;
    /** This is an array of tags to be added to the Langfuse trace. Tags allow you to categorize and filter traces. https://langfuse.com/docs/tracing-features/tags */
    tags: string[];
    /**
     * This is a JSON object that will be added to the Langfuse trace. Traces can be enriched with metadata to better understand your users, application, and experiments. https://langfuse.com/docs/tracing-features/metadata
     * By default it includes the call metadata, assistant metadata, and assistant overrides.
     */
    metadata?: Record<string, unknown> | undefined;
}
