Files
kittycad.py/kittycad/models/ok_web_socket_response_data.py
zoo-github-actions-auth[bot] 6572a92004 Update api spec (#427)
* YOYO NEW API SPEC!

* I have generated the latest API!

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-05-01 11:42:30 -07:00

208 lines
4.3 KiB
Python

from typing import Dict, List, Literal, Union
from pydantic import BaseModel, ConfigDict, Field, RootModel
from typing_extensions import Annotated
from ..models.batch_response import BatchResponse
from ..models.ice_server import IceServer
from ..models.modeling_session_data import ModelingSessionData
from ..models.ok_modeling_cmd_response import OkModelingCmdResponse
from ..models.raw_file import RawFile
from ..models.rtc_ice_candidate_init import RtcIceCandidateInit
from ..models.rtc_session_description import RtcSessionDescription
class IceServerInfoData(BaseModel):
""""""
ice_servers: List[IceServer]
model_config = ConfigDict(protected_namespaces=())
class OptionIceServerInfo(BaseModel):
"""Information about the ICE servers."""
data: IceServerInfoData
type: Literal["ice_server_info"] = "ice_server_info"
model_config = ConfigDict(protected_namespaces=())
class TrickleIceData(BaseModel):
""""""
candidate: RtcIceCandidateInit
model_config = ConfigDict(protected_namespaces=())
class OptionTrickleIce(BaseModel):
"""The trickle ICE candidate response."""
data: TrickleIceData
type: Literal["trickle_ice"] = "trickle_ice"
model_config = ConfigDict(protected_namespaces=())
class SdpAnswerData(BaseModel):
""""""
answer: RtcSessionDescription
model_config = ConfigDict(protected_namespaces=())
class OptionSdpAnswer(BaseModel):
"""The SDP answer response."""
data: SdpAnswerData
type: Literal["sdp_answer"] = "sdp_answer"
model_config = ConfigDict(protected_namespaces=())
class ModelingData(BaseModel):
""""""
modeling_response: OkModelingCmdResponse
model_config = ConfigDict(protected_namespaces=())
class OptionModeling(BaseModel):
"""The modeling command response."""
data: ModelingData
type: Literal["modeling"] = "modeling"
model_config = ConfigDict(protected_namespaces=())
class ModelingBatchData(BaseModel):
""""""
responses: Dict[str, BatchResponse]
model_config = ConfigDict(protected_namespaces=())
class OptionModelingBatch(BaseModel):
"""Response to a ModelingBatch."""
data: ModelingBatchData
type: Literal["modeling_batch"] = "modeling_batch"
model_config = ConfigDict(protected_namespaces=())
class ExportData(BaseModel):
""""""
files: List[RawFile]
model_config = ConfigDict(protected_namespaces=())
class OptionExport(BaseModel):
"""The exported files."""
data: ExportData
type: Literal["export"] = "export"
model_config = ConfigDict(protected_namespaces=())
class MetricsRequestData(BaseModel):
""""""
model_config = ConfigDict(protected_namespaces=())
class OptionMetricsRequest(BaseModel):
"""Request a collection of metrics, to include WebRTC."""
data: MetricsRequestData
type: Literal["metrics_request"] = "metrics_request"
model_config = ConfigDict(protected_namespaces=())
class ModelingSessionDataData(BaseModel):
""""""
session: ModelingSessionData
model_config = ConfigDict(protected_namespaces=())
class OptionModelingSessionData(BaseModel):
"""Data about the Modeling Session (application-level)."""
data: ModelingSessionDataData
type: Literal["modeling_session_data"] = "modeling_session_data"
model_config = ConfigDict(protected_namespaces=())
class PongData(BaseModel):
""""""
model_config = ConfigDict(protected_namespaces=())
class OptionPong(BaseModel):
"""Pong response to a Ping message."""
data: PongData
type: Literal["pong"] = "pong"
model_config = ConfigDict(protected_namespaces=())
class DebugData(BaseModel):
""""""
name: str
model_config = ConfigDict(protected_namespaces=())
class OptionDebug(BaseModel):
"""Information about the connected instance"""
data: DebugData
type: Literal["debug"] = "debug"
model_config = ConfigDict(protected_namespaces=())
OkWebSocketResponseData = RootModel[
Annotated[
Union[
OptionIceServerInfo,
OptionTrickleIce,
OptionSdpAnswer,
OptionModeling,
OptionModelingBatch,
OptionExport,
OptionMetricsRequest,
OptionModelingSessionData,
OptionPong,
OptionDebug,
],
Field(discriminator="type"),
]
]