Update api spec (#260)

* YOYO NEW API SPEC!

* I have generated the latest API!

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
zoo-github-actions-auth[bot]
2024-08-23 13:21:00 -07:00
committed by GitHub
parent bbf311ab95
commit e6d46fd6dc
7 changed files with 797 additions and 695 deletions

File diff suppressed because it is too large Load Diff

View File

@ -22,6 +22,7 @@ def _get_kwargs(
*,
client: Client,
pool: Optional[str] = None,
replay: Optional[str] = None,
) -> Dict[str, Any]:
url = "{}/ws/modeling/commands".format(client.base_url) # noqa: E501
@ -46,6 +47,13 @@ def _get_kwargs(
else:
url = url + "?post_effect=" + str(post_effect)
if replay is not None:
if "?" in url:
url = url + "&replay=" + str(replay)
else:
url = url + "?replay=" + str(replay)
if show_grid is not None:
if "?" in url:
@ -103,6 +111,7 @@ def sync(
*,
client: Client,
pool: Optional[str] = None,
replay: Optional[str] = None,
) -> ClientConnection:
"""Pass those commands to the engine via websocket, and pass responses back to the client. Basically, this is a websocket proxy between the frontend/client and the engine.""" # noqa: E501
@ -110,6 +119,7 @@ def sync(
fps=fps,
pool=pool,
post_effect=post_effect,
replay=replay,
show_grid=show_grid,
unlocked_framerate=unlocked_framerate,
video_res_height=video_res_height,
@ -132,6 +142,7 @@ async def asyncio(
*,
client: Client,
pool: Optional[str] = None,
replay: Optional[str] = None,
) -> WebSocketClientProtocol:
"""Pass those commands to the engine via websocket, and pass responses back to the client. Basically, this is a websocket proxy between the frontend/client and the engine.""" # noqa: E501
@ -139,6 +150,7 @@ async def asyncio(
fps=fps,
pool=pool,
post_effect=post_effect,
replay=replay,
show_grid=show_grid,
unlocked_framerate=unlocked_framerate,
video_res_height=video_res_height,
@ -171,6 +183,7 @@ class WebSocket:
webrtc: bool,
client: Client,
pool: Optional[str] = None,
replay: Optional[str] = None,
):
self.ws = sync(
fps,
@ -182,6 +195,7 @@ class WebSocket:
webrtc,
client=client,
pool=pool,
replay=replay,
)
def __enter__(

View File

@ -6948,6 +6948,7 @@ def test_modeling_commands_ws():
video_res_width=10,
webrtc=False,
pool=None, # Optional[str]
replay=None, # Optional[str]
) as websocket:
# Send a message.
@ -6985,6 +6986,7 @@ async def test_modeling_commands_ws_async():
video_res_width=10,
webrtc=False,
pool=None, # Optional[str]
replay=None, # Optional[str]
)
# Send a message.

View File

@ -154,6 +154,7 @@ from .modeling_app_subscription_tier_name import ModelingAppSubscriptionTierName
from .modeling_cmd import ModelingCmd
from .modeling_cmd_id import ModelingCmdId
from .modeling_cmd_req import ModelingCmdReq
from .modeling_session_data import ModelingSessionData
from .mouse_click import MouseClick
from .o_auth2_client_info import OAuth2ClientInfo
from .o_auth2_grant_type import OAuth2GrantType

View File

@ -0,0 +1,11 @@
from pydantic import BaseModel, ConfigDict
class ModelingSessionData(BaseModel):
"""Successful Websocket response."""
api_call_id: str
model_config = ConfigDict(protected_namespaces=())

View File

@ -5,6 +5,7 @@ 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
@ -135,6 +136,24 @@ class metrics_request(BaseModel):
model_config = ConfigDict(protected_namespaces=())
class ModelingSessionDataData(BaseModel):
""""""
session: ModelingSessionData
model_config = ConfigDict(protected_namespaces=())
class modeling_session_data(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):
""""""
@ -161,6 +180,7 @@ OkWebSocketResponseData = RootModel[
modeling_batch,
export,
metrics_request,
modeling_session_data,
pong,
],
Field(discriminator="type"),

View File

@ -13838,6 +13838,15 @@
"$ref": "#/components/schemas/PostEffectType"
}
},
{
"in": "query",
"name": "replay",
"description": "If given, when the session ends, the modeling commands sent during the session will be written out to this filename. For debugging.",
"schema": {
"nullable": true,
"type": "string"
}
},
{
"in": "query",
"name": "show_grid",
@ -23493,6 +23502,19 @@
"cmd_id"
]
},
"ModelingSessionData": {
"description": "Successful Websocket response.",
"type": "object",
"properties": {
"api_call_id": {
"description": "ID of the API call this modeling session is using. Useful for tracing and debugging.",
"type": "string"
}
},
"required": [
"api_call_id"
]
},
"MouseClick": {
"description": "The response from the `MouseClick` command.",
"type": "object",
@ -24807,6 +24829,38 @@
"type"
]
},
{
"description": "Data about the Modeling Session (application-level).",
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"session": {
"description": "Data about the Modeling Session (application-level).",
"allOf": [
{
"$ref": "#/components/schemas/ModelingSessionData"
}
]
}
},
"required": [
"session"
]
},
"type": {
"type": "string",
"enum": [
"modeling_session_data"
]
}
},
"required": [
"data",
"type"
]
},
{
"description": "Pong response to a Ping message.",
"type": "object",