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:
committed by
GitHub
parent
bbf311ab95
commit
e6d46fd6dc
File diff suppressed because it is too large
Load Diff
@ -22,6 +22,7 @@ def _get_kwargs(
|
|||||||
*,
|
*,
|
||||||
client: Client,
|
client: Client,
|
||||||
pool: Optional[str] = None,
|
pool: Optional[str] = None,
|
||||||
|
replay: Optional[str] = None,
|
||||||
) -> Dict[str, Any]:
|
) -> Dict[str, Any]:
|
||||||
url = "{}/ws/modeling/commands".format(client.base_url) # noqa: E501
|
url = "{}/ws/modeling/commands".format(client.base_url) # noqa: E501
|
||||||
|
|
||||||
@ -46,6 +47,13 @@ def _get_kwargs(
|
|||||||
else:
|
else:
|
||||||
url = url + "?post_effect=" + str(post_effect)
|
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 show_grid is not None:
|
||||||
|
|
||||||
if "?" in url:
|
if "?" in url:
|
||||||
@ -103,6 +111,7 @@ def sync(
|
|||||||
*,
|
*,
|
||||||
client: Client,
|
client: Client,
|
||||||
pool: Optional[str] = None,
|
pool: Optional[str] = None,
|
||||||
|
replay: Optional[str] = None,
|
||||||
) -> ClientConnection:
|
) -> 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
|
"""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,
|
fps=fps,
|
||||||
pool=pool,
|
pool=pool,
|
||||||
post_effect=post_effect,
|
post_effect=post_effect,
|
||||||
|
replay=replay,
|
||||||
show_grid=show_grid,
|
show_grid=show_grid,
|
||||||
unlocked_framerate=unlocked_framerate,
|
unlocked_framerate=unlocked_framerate,
|
||||||
video_res_height=video_res_height,
|
video_res_height=video_res_height,
|
||||||
@ -132,6 +142,7 @@ async def asyncio(
|
|||||||
*,
|
*,
|
||||||
client: Client,
|
client: Client,
|
||||||
pool: Optional[str] = None,
|
pool: Optional[str] = None,
|
||||||
|
replay: Optional[str] = None,
|
||||||
) -> WebSocketClientProtocol:
|
) -> 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
|
"""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,
|
fps=fps,
|
||||||
pool=pool,
|
pool=pool,
|
||||||
post_effect=post_effect,
|
post_effect=post_effect,
|
||||||
|
replay=replay,
|
||||||
show_grid=show_grid,
|
show_grid=show_grid,
|
||||||
unlocked_framerate=unlocked_framerate,
|
unlocked_framerate=unlocked_framerate,
|
||||||
video_res_height=video_res_height,
|
video_res_height=video_res_height,
|
||||||
@ -171,6 +183,7 @@ class WebSocket:
|
|||||||
webrtc: bool,
|
webrtc: bool,
|
||||||
client: Client,
|
client: Client,
|
||||||
pool: Optional[str] = None,
|
pool: Optional[str] = None,
|
||||||
|
replay: Optional[str] = None,
|
||||||
):
|
):
|
||||||
self.ws = sync(
|
self.ws = sync(
|
||||||
fps,
|
fps,
|
||||||
@ -182,6 +195,7 @@ class WebSocket:
|
|||||||
webrtc,
|
webrtc,
|
||||||
client=client,
|
client=client,
|
||||||
pool=pool,
|
pool=pool,
|
||||||
|
replay=replay,
|
||||||
)
|
)
|
||||||
|
|
||||||
def __enter__(
|
def __enter__(
|
||||||
|
@ -6948,6 +6948,7 @@ def test_modeling_commands_ws():
|
|||||||
video_res_width=10,
|
video_res_width=10,
|
||||||
webrtc=False,
|
webrtc=False,
|
||||||
pool=None, # Optional[str]
|
pool=None, # Optional[str]
|
||||||
|
replay=None, # Optional[str]
|
||||||
) as websocket:
|
) as websocket:
|
||||||
|
|
||||||
# Send a message.
|
# Send a message.
|
||||||
@ -6985,6 +6986,7 @@ async def test_modeling_commands_ws_async():
|
|||||||
video_res_width=10,
|
video_res_width=10,
|
||||||
webrtc=False,
|
webrtc=False,
|
||||||
pool=None, # Optional[str]
|
pool=None, # Optional[str]
|
||||||
|
replay=None, # Optional[str]
|
||||||
)
|
)
|
||||||
|
|
||||||
# Send a message.
|
# Send a message.
|
||||||
|
@ -154,6 +154,7 @@ from .modeling_app_subscription_tier_name import ModelingAppSubscriptionTierName
|
|||||||
from .modeling_cmd import ModelingCmd
|
from .modeling_cmd import ModelingCmd
|
||||||
from .modeling_cmd_id import ModelingCmdId
|
from .modeling_cmd_id import ModelingCmdId
|
||||||
from .modeling_cmd_req import ModelingCmdReq
|
from .modeling_cmd_req import ModelingCmdReq
|
||||||
|
from .modeling_session_data import ModelingSessionData
|
||||||
from .mouse_click import MouseClick
|
from .mouse_click import MouseClick
|
||||||
from .o_auth2_client_info import OAuth2ClientInfo
|
from .o_auth2_client_info import OAuth2ClientInfo
|
||||||
from .o_auth2_grant_type import OAuth2GrantType
|
from .o_auth2_grant_type import OAuth2GrantType
|
||||||
|
11
kittycad/models/modeling_session_data.py
Normal file
11
kittycad/models/modeling_session_data.py
Normal 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=())
|
@ -5,6 +5,7 @@ from typing_extensions import Annotated
|
|||||||
|
|
||||||
from ..models.batch_response import BatchResponse
|
from ..models.batch_response import BatchResponse
|
||||||
from ..models.ice_server import IceServer
|
from ..models.ice_server import IceServer
|
||||||
|
from ..models.modeling_session_data import ModelingSessionData
|
||||||
from ..models.ok_modeling_cmd_response import OkModelingCmdResponse
|
from ..models.ok_modeling_cmd_response import OkModelingCmdResponse
|
||||||
from ..models.raw_file import RawFile
|
from ..models.raw_file import RawFile
|
||||||
from ..models.rtc_ice_candidate_init import RtcIceCandidateInit
|
from ..models.rtc_ice_candidate_init import RtcIceCandidateInit
|
||||||
@ -135,6 +136,24 @@ class metrics_request(BaseModel):
|
|||||||
model_config = ConfigDict(protected_namespaces=())
|
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):
|
class PongData(BaseModel):
|
||||||
""""""
|
""""""
|
||||||
|
|
||||||
@ -161,6 +180,7 @@ OkWebSocketResponseData = RootModel[
|
|||||||
modeling_batch,
|
modeling_batch,
|
||||||
export,
|
export,
|
||||||
metrics_request,
|
metrics_request,
|
||||||
|
modeling_session_data,
|
||||||
pong,
|
pong,
|
||||||
],
|
],
|
||||||
Field(discriminator="type"),
|
Field(discriminator="type"),
|
||||||
|
54
spec.json
54
spec.json
@ -13838,6 +13838,15 @@
|
|||||||
"$ref": "#/components/schemas/PostEffectType"
|
"$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",
|
"in": "query",
|
||||||
"name": "show_grid",
|
"name": "show_grid",
|
||||||
@ -23493,6 +23502,19 @@
|
|||||||
"cmd_id"
|
"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": {
|
"MouseClick": {
|
||||||
"description": "The response from the `MouseClick` command.",
|
"description": "The response from the `MouseClick` command.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
@ -24807,6 +24829,38 @@
|
|||||||
"type"
|
"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.",
|
"description": "Pong response to a Ping message.",
|
||||||
"type": "object",
|
"type": "object",
|
||||||
|
Reference in New Issue
Block a user