Source code for acodex.types.turn_options

from __future__ import annotations

import asyncio
import threading
from typing import TYPE_CHECKING, TypeAlias, TypedDict

if TYPE_CHECKING:
    from typing_extensions import NotRequired


JsonObject: TypeAlias = dict[str, "JsonValue"]
JsonValue: TypeAlias = str | int | float | bool | list["JsonValue"] | JsonObject | None
TurnSignal: TypeAlias = threading.Event | asyncio.Event
OutputSchemaInput: TypeAlias = JsonObject


[docs] class TurnOptions(TypedDict): """Options for a single turn. Set the event (`event.set()`) to request cancellation. Use `threading.Event` for synchronous flows and `asyncio.Event` for asynchronous flows. """ output_schema: NotRequired[OutputSchemaInput] signal: NotRequired[TurnSignal]