# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from __future__ import annotations

from typing import Dict
from typing_extensions import Literal, Required, TypedDict

__all__ = ["DefendSubmitAndStreamEventParams"]


class DefendSubmitAndStreamEventParams(TypedDict, total=False):
    model_input: Required[Dict[str, object]]
    """The input provided to the model (e.g., prompt, messages)."""

    model_output: Required[str]
    """The output generated by the model to be evaluated."""

    model_used: Required[str]
    """The model that generated the output (e.g., "gpt-4", "claude-3")."""

    run_mode: Required[Literal["super_fast", "fast", "precision", "precision_codex"]]
    """The evaluation run mode.

    Streaming is supported on all run modes except precision_max and
    precision_max_codex. Note: super_fast does not support Web Search or File Search
    — if your workflow has these enabled, use a different run mode or disable the
    capability on the workflow.
    """

    stream: bool
    """Enable SSE streaming for real-time token feedback.

    Supported on all run modes except precision_max and precision_max_codex.
    """

    nametag: str
    """Optional tag to identify this event."""
