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

from __future__ import annotations

from typing import Dict, Optional
from typing_extensions import Required, Annotated, TypedDict

from .._utils import PropertyInfo
from .shared_params.context import Context

__all__ = ["ClientTokenCreateParams"]


class ClientTokenCreateParams(TypedDict, total=False):
    public_metadata: Required[Annotated[Dict[str, Optional[object]], PropertyInfo(alias="publicMetadata")]]
    """Public metadata (display name, plan, etc.) exposed via GET /client/token.

    For agent identity/attributes use serverContext.
    """

    server_context: Annotated[Context, PropertyInfo(alias="serverContext")]
    """
    Optional context: identity (conversation scoping), attributes (injected into
    system prompt), and pass-through for tools
    """

    ttl_seconds: Annotated[int, PropertyInfo(alias="ttlSeconds")]
    """Time-to-live in seconds. Default: 3600 (1 hour). Max: 86400 (24 hours)."""
