kittycad.models.success_web_socket_response
Classes
|
Successful Websocket response. |
- class kittycad.models.success_web_socket_response.SuccessWebSocketResponse(**data)[source][source]
Successful Websocket response.
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError
][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.self
is explicitly positional-only to allowself
as a field name.- __annotations__ = {'__class_vars__': 'ClassVar[set[str]]', '__private_attributes__': 'ClassVar[dict[str, ModelPrivateAttr]]', '__pydantic_complete__': 'ClassVar[bool]', '__pydantic_core_schema__': 'ClassVar[CoreSchema]', '__pydantic_custom_init__': 'ClassVar[bool]', '__pydantic_decorators__': 'ClassVar[_decorators.DecoratorInfos]', '__pydantic_extra__': 'dict[str, Any] | None', '__pydantic_fields_set__': 'set[str]', '__pydantic_generic_metadata__': 'ClassVar[_generics.PydanticGenericMetadata]', '__pydantic_parent_namespace__': 'ClassVar[dict[str, Any] | None]', '__pydantic_post_init__': "ClassVar[None | Literal['model_post_init']]", '__pydantic_private__': 'dict[str, Any] | None', '__pydantic_root_model__': 'ClassVar[bool]', '__pydantic_serializer__': 'ClassVar[SchemaSerializer]', '__pydantic_validator__': 'ClassVar[SchemaValidator | PluggableSchemaValidator]', '__signature__': 'ClassVar[Signature]', 'model_computed_fields': 'ClassVar[dict[str, ComputedFieldInfo]]', 'model_config': 'ClassVar[ConfigDict]', 'model_fields': 'ClassVar[dict[str, FieldInfo]]', 'request_id': typing.Optional[str], 'resp': <class 'pydantic.root_model.RootModel[Annotated[Union[ice_server_info, trickle_ice, sdp_answer, modeling, modeling_batch, export, metrics_request, modeling_session_data, pong], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'success': <class 'bool'>}[source]
- classmethod __class_getitem__(typevar_values)[source]
- Return type:
type
[BaseModel
] |PydanticRecursiveRef
- classmethod __get_pydantic_core_schema__(source, handler, /)[source]
Hook into generating the model’s CoreSchema.
- Parameters:
source (
type
[BaseModel
]) – The class we are generating a schema for. This will generally be the same as thecls
argument if this is a classmethod.handler (
GetCoreSchemaHandler
) – A callable that calls into Pydantic’s internal CoreSchema generation logic.
- Return type:
Union
[AnySchema
,NoneSchema
,BoolSchema
,IntSchema
,FloatSchema
,DecimalSchema
,StringSchema
,BytesSchema
,DateSchema
,TimeSchema
,DatetimeSchema
,TimedeltaSchema
,LiteralSchema
,EnumSchema
,IsInstanceSchema
,IsSubclassSchema
,CallableSchema
,ListSchema
,TupleSchema
,SetSchema
,FrozenSetSchema
,GeneratorSchema
,DictSchema
,AfterValidatorFunctionSchema
,BeforeValidatorFunctionSchema
,WrapValidatorFunctionSchema
,PlainValidatorFunctionSchema
,WithDefaultSchema
,NullableSchema
,UnionSchema
,TaggedUnionSchema
,ChainSchema
,LaxOrStrictSchema
,JsonOrPythonSchema
,TypedDictSchema
,ModelFieldsSchema
,ModelSchema
,DataclassArgsSchema
,DataclassSchema
,ArgumentsSchema
,CallSchema
,CustomErrorSchema
,JsonSchema
,UrlSchema
,MultiHostUrlSchema
,DefinitionsSchema
,DefinitionReferenceSchema
,UuidSchema
]- Returns:
A
pydantic-core
CoreSchema
.
- classmethod __get_pydantic_json_schema__(core_schema, handler, /)[source]
Hook into generating the model’s JSON schema.
- Parameters:
core_schema (
Union
[AnySchema
,NoneSchema
,BoolSchema
,IntSchema
,FloatSchema
,DecimalSchema
,StringSchema
,BytesSchema
,DateSchema
,TimeSchema
,DatetimeSchema
,TimedeltaSchema
,LiteralSchema
,EnumSchema
,IsInstanceSchema
,IsSubclassSchema
,CallableSchema
,ListSchema
,TupleSchema
,SetSchema
,FrozenSetSchema
,GeneratorSchema
,DictSchema
,AfterValidatorFunctionSchema
,BeforeValidatorFunctionSchema
,WrapValidatorFunctionSchema
,PlainValidatorFunctionSchema
,WithDefaultSchema
,NullableSchema
,UnionSchema
,TaggedUnionSchema
,ChainSchema
,LaxOrStrictSchema
,JsonOrPythonSchema
,TypedDictSchema
,ModelFieldsSchema
,ModelSchema
,DataclassArgsSchema
,DataclassSchema
,ArgumentsSchema
,CallSchema
,CustomErrorSchema
,JsonSchema
,UrlSchema
,MultiHostUrlSchema
,DefinitionsSchema
,DefinitionReferenceSchema
,UuidSchema
]) – Apydantic-core
CoreSchema. You can ignore this argument and call the handler with a new CoreSchema, wrap this CoreSchema ({'type': 'nullable', 'schema': current_schema}
), or just call the handler with the original schema.handler (
GetJsonSchemaHandler
) – Call into Pydantic’s internal JSON schema generation. This will raise apydantic.errors.PydanticInvalidForJsonSchema
if JSON schema generation fails. Since this gets called byBaseModel.model_json_schema
you can override theschema_generator
argument to that function to change JSON schema generation globally for a type.
- Return type:
- Returns:
A JSON schema, as a Python object.
- __init__(**data)[source]
Create a new model by parsing and validating input data from keyword arguments.
Raises [
ValidationError
][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.self
is explicitly positional-only to allowself
as a field name.
- __pretty__(fmt, **kwargs)[source]
Used by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.
- __pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <class 'kittycad.models.point3d.Point3d'>, 'config': {'title': 'Point3d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point3d.Point3d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point3d.Point3d'>>]}, 'ref': 'kittycad.models.point3d.Point3d:94192493865840', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Point3d', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.point4d.Point4d'>, 'config': {'title': 'Point4d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point4d.Point4d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point4d.Point4d'>>]}, 'ref': 'kittycad.models.point4d.Point4d:94192499954240', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'w': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'z': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Point4d', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.camera_settings.CameraSettings'>, 'config': {'title': 'CameraSettings'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.camera_settings.CameraSettings'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.camera_settings.CameraSettings'>>]}, 'ref': 'kittycad.models.camera_settings.CameraSettings:94192499944976', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'center': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'fov_y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'orientation': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point4d.Point4d:94192499954240', 'type': 'definition-ref'}, 'type': 'model-field'}, 'ortho': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}, 'ortho_scale': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'float'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'pos': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'up': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'CameraSettings', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <enum 'PathCommand'>, 'members': [PathCommand.MOVE_TO, PathCommand.LINE_TO, PathCommand.BEZ_CURVE_TO, PathCommand.NURBS_CURVE_TO, PathCommand.ADD_ARC], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.path_command.PathCommand:94192508327584', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.path_segment_info.PathSegmentInfo'>, 'config': {'title': 'PathSegmentInfo'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.path_segment_info.PathSegmentInfo'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_segment_info.PathSegmentInfo'>>]}, 'ref': 'kittycad.models.path_segment_info.PathSegmentInfo:94192508142800', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'command': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.path_command.PathCommand:94192508327584', 'type': 'definition-ref'}, 'type': 'model-field'}, 'command_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'function': {'function': <class 'kittycad.models.modeling_cmd_id.ModelingCmdId'>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'relative': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}}, 'model_name': 'PathSegmentInfo', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <enum 'ExtrusionFaceCapType'>, 'members': [ExtrusionFaceCapType.NONE, ExtrusionFaceCapType.TOP, ExtrusionFaceCapType.BOTTOM], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.extrusion_face_cap_type.ExtrusionFaceCapType:94192502242496', 'sub_type': 'str', 'type': 'enum'}, {'cls': <class 'kittycad.models.extrusion_face_info.ExtrusionFaceInfo'>, 'config': {'title': 'ExtrusionFaceInfo'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.extrusion_face_info.ExtrusionFaceInfo'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.extrusion_face_info.ExtrusionFaceInfo'>>]}, 'ref': 'kittycad.models.extrusion_face_info.ExtrusionFaceInfo:94192502246224', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'cap': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.extrusion_face_cap_type.ExtrusionFaceCapType:94192502242496', 'type': 'definition-ref'}, 'type': 'model-field'}, 'curve_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'face_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'ExtrusionFaceInfo', 'type': 'model-fields'}, 'type': 'model'}], 'schema': {'cls': <class 'kittycad.models.success_web_socket_response.SuccessWebSocketResponse'>, 'config': {'title': 'SuccessWebSocketResponse'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.success_web_socket_response.SuccessWebSocketResponse'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.success_web_socket_response.SuccessWebSocketResponse'>>]}, 'ref': 'kittycad.models.success_web_socket_response.SuccessWebSocketResponse:94192512807456', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'request_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'resp': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[ice_server_info, trickle_ice, sdp_answer, modeling, modeling_batch, export, metrics_request, modeling_session_data, pong], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[ice_server_info, trickle_ice, sdp_answer, modeling, modeling_batch, export, metrics_request, modeling_session_data, pong], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydantic.root_model.RootModel[Annotated[Union[ice_server_info, trickle_ice, sdp_answer, modeling, modeling_batch, export, metrics_request, modeling_session_data, pong], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[ice_server_info, trickle_ice, sdp_answer, modeling, modeling_batch, export, metrics_request, modeling_session_data, pong], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:94192496630560[Annotated[Union[ice_server_info, trickle_ice, sdp_answer, modeling, modeling_batch, export, metrics_request, modeling_session_data, pong], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:140087067619408]", 'root_model': True, 'schema': {'choices': {'export': {'cls': <class 'kittycad.models.ok_web_socket_response_data.export'>, 'config': {'title': 'export'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.export'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.export'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.export:94192511521872', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.ok_web_socket_response_data.ExportData'>, 'config': {'title': 'ExportData'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.ExportData'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.ExportData'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.ExportData:94192511507824', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'files': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'cls': <class 'kittycad.models.raw_file.RawFile'>, 'config': {'title': 'RawFile'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.raw_file.RawFile'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.raw_file.RawFile'>>]}, 'ref': 'kittycad.models.raw_file.RawFile:94192508333392', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'contents': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bytes'}, 'type': 'model-field'}, 'name': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'RawFile', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'ExportData', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'export', 'schema': {'expected': ['export'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'export', 'type': 'model-fields'}, 'type': 'model'}, 'ice_server_info': {'cls': <class 'kittycad.models.ok_web_socket_response_data.ice_server_info'>, 'config': {'title': 'ice_server_info'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.ice_server_info'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.ice_server_info'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.ice_server_info:94192510099472', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.ok_web_socket_response_data.IceServerInfoData'>, 'config': {'title': 'IceServerInfoData'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.IceServerInfoData'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.IceServerInfoData'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.IceServerInfoData:94192510083184', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'ice_servers': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'cls': <class 'kittycad.models.ice_server.IceServer'>, 'config': {'title': 'IceServer'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ice_server.IceServer'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ice_server.IceServer'>>]}, 'ref': 'kittycad.models.ice_server.IceServer:94192502751520', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'credential': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'urls': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'username': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'IceServer', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'IceServerInfoData', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'ice_server_info', 'schema': {'expected': ['ice_server_info'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'ice_server_info', 'type': 'model-fields'}, 'type': 'model'}, 'metrics_request': {'cls': <class 'kittycad.models.ok_web_socket_response_data.metrics_request'>, 'config': {'title': 'metrics_request'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.metrics_request'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.metrics_request'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.metrics_request:94192511542704', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.ok_web_socket_response_data.MetricsRequestData'>, 'config': {'title': 'MetricsRequestData'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.MetricsRequestData'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.MetricsRequestData'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.MetricsRequestData:94192511535520', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {}, 'model_name': 'MetricsRequestData', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'metrics_request', 'schema': {'expected': ['metrics_request'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'metrics_request', 'type': 'model-fields'}, 'type': 'model'}, 'modeling': {'cls': <class 'kittycad.models.ok_web_socket_response_data.modeling'>, 'config': {'title': 'modeling'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.modeling'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.modeling'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.modeling:94192510194496', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.ok_web_socket_response_data.ModelingData'>, 'config': {'title': 'ModelingData'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.ModelingData'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.ModelingData'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.ModelingData:94192510185920', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'modeling_response': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'pydantic.root_model.RootModel[Annotated[Union[empty, export, select_with_point, highlight_set_entity, entity_get_child_uuid, entity_get_num_children, entity_get_parent_id, entity_get_all_child_uuids, entity_get_sketch_paths, loft, close_path, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_zoom, zoom_to_fit, view_isometric, get_num_objects, default_camera_focus_on, select_get, solid3d_get_all_edge_faces, solid3d_get_all_opposite_edges, solid3d_get_opposite_edge, solid3d_get_next_adjacent_edge, solid3d_get_prev_adjacent_edge, get_entity_type, curve_get_control_points, curve_get_type, mouse_click, take_snapshot, path_get_info, path_segment_info, path_get_curve_uuids_for_vertices, path_get_curve_uuid, path_get_vertex_uuids, path_get_sketch_target_uuid, curve_get_end_points, face_is_planar, face_get_position, face_get_center, face_get_gradient, plane_intersect_and_project, import_files, imported_geometry, mass, volume, density, surface_area, center_of_mass, get_sketch_mode_plane, entity_get_distance, entity_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, solid3d_get_extrusion_face_info, extrusion_face_info], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, 'config': {'title': "RootModel[Annotated[Union[empty, export, select_with_point, highlight_set_entity, entity_get_child_uuid, entity_get_num_children, entity_get_parent_id, entity_get_all_child_uuids, entity_get_sketch_paths, loft, close_path, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_zoom, zoom_to_fit, view_isometric, get_num_objects, default_camera_focus_on, select_get, solid3d_get_all_edge_faces, solid3d_get_all_opposite_edges, solid3d_get_opposite_edge, solid3d_get_next_adjacent_edge, solid3d_get_prev_adjacent_edge, get_entity_type, curve_get_control_points, curve_get_type, mouse_click, take_snapshot, path_get_info, path_segment_info, path_get_curve_uuids_for_vertices, path_get_curve_uuid, path_get_vertex_uuids, path_get_sketch_target_uuid, curve_get_end_points, face_is_planar, face_get_position, face_get_center, face_get_gradient, plane_intersect_and_project, import_files, imported_geometry, mass, volume, density, surface_area, center_of_mass, get_sketch_mode_plane, entity_get_distance, entity_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, solid3d_get_extrusion_face_info, extrusion_face_info], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]"}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydantic.root_model.RootModel[Annotated[Union[empty, export, select_with_point, highlight_set_entity, entity_get_child_uuid, entity_get_num_children, entity_get_parent_id, entity_get_all_child_uuids, entity_get_sketch_paths, loft, close_path, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_zoom, zoom_to_fit, view_isometric, get_num_objects, default_camera_focus_on, select_get, solid3d_get_all_edge_faces, solid3d_get_all_opposite_edges, solid3d_get_opposite_edge, solid3d_get_next_adjacent_edge, solid3d_get_prev_adjacent_edge, get_entity_type, curve_get_control_points, curve_get_type, mouse_click, take_snapshot, path_get_info, path_segment_info, path_get_curve_uuids_for_vertices, path_get_curve_uuid, path_get_vertex_uuids, path_get_sketch_target_uuid, curve_get_end_points, face_is_planar, face_get_position, face_get_center, face_get_gradient, plane_intersect_and_project, import_files, imported_geometry, mass, volume, density, surface_area, center_of_mass, get_sketch_mode_plane, entity_get_distance, entity_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, solid3d_get_extrusion_face_info, extrusion_face_info], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Annotated[Union[empty, export, select_with_point, highlight_set_entity, entity_get_child_uuid, entity_get_num_children, entity_get_parent_id, entity_get_all_child_uuids, entity_get_sketch_paths, loft, close_path, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_zoom, zoom_to_fit, view_isometric, get_num_objects, default_camera_focus_on, select_get, solid3d_get_all_edge_faces, solid3d_get_all_opposite_edges, solid3d_get_opposite_edge, solid3d_get_next_adjacent_edge, solid3d_get_prev_adjacent_edge, get_entity_type, curve_get_control_points, curve_get_type, mouse_click, take_snapshot, path_get_info, path_segment_info, path_get_curve_uuids_for_vertices, path_get_curve_uuid, path_get_vertex_uuids, path_get_sketch_target_uuid, curve_get_end_points, face_is_planar, face_get_position, face_get_center, face_get_gradient, plane_intersect_and_project, import_files, imported_geometry, mass, volume, density, surface_area, center_of_mass, get_sketch_mode_plane, entity_get_distance, entity_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, solid3d_get_extrusion_face_info, extrusion_face_info], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]'>>]}, 'ref': "pydantic.root_model.RootModel:94192496630560[Annotated[Union[empty, export, select_with_point, highlight_set_entity, entity_get_child_uuid, entity_get_num_children, entity_get_parent_id, entity_get_all_child_uuids, entity_get_sketch_paths, loft, close_path, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_zoom, zoom_to_fit, view_isometric, get_num_objects, default_camera_focus_on, select_get, solid3d_get_all_edge_faces, solid3d_get_all_opposite_edges, solid3d_get_opposite_edge, solid3d_get_next_adjacent_edge, solid3d_get_prev_adjacent_edge, get_entity_type, curve_get_control_points, curve_get_type, mouse_click, take_snapshot, path_get_info, path_segment_info, path_get_curve_uuids_for_vertices, path_get_curve_uuid, path_get_vertex_uuids, path_get_sketch_target_uuid, curve_get_end_points, face_is_planar, face_get_position, face_get_center, face_get_gradient, plane_intersect_and_project, import_files, imported_geometry, mass, volume, density, surface_area, center_of_mass, get_sketch_mode_plane, entity_get_distance, entity_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, solid3d_get_extrusion_face_info, extrusion_face_info], FieldInfo(annotation=NoneType, required=True, discriminator='type')]:140087068356976]", 'root_model': True, 'schema': {'choices': {'camera_drag_end': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.camera_drag_end'>, 'config': {'title': 'camera_drag_end'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.camera_drag_end'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.camera_drag_end'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.camera_drag_end:94192508455280', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.camera_drag_end.CameraDragEnd'>, 'config': {'title': 'CameraDragEnd'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.camera_drag_end.CameraDragEnd'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.camera_drag_end.CameraDragEnd'>>]}, 'ref': 'kittycad.models.camera_drag_end.CameraDragEnd:94192499977536', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'settings': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.camera_settings.CameraSettings:94192499944976', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'CameraDragEnd', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'camera_drag_end', 'schema': {'expected': ['camera_drag_end'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'camera_drag_end', 'type': 'model-fields'}, 'type': 'model'}, 'camera_drag_move': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.camera_drag_move'>, 'config': {'title': 'camera_drag_move'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.camera_drag_move'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.camera_drag_move'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.camera_drag_move:94192508442352', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.camera_drag_move.CameraDragMove'>, 'config': {'title': 'CameraDragMove'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.camera_drag_move.CameraDragMove'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.camera_drag_move.CameraDragMove'>>]}, 'ref': 'kittycad.models.camera_drag_move.CameraDragMove:94192500010640', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'settings': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.camera_settings.CameraSettings:94192499944976', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'CameraDragMove', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'camera_drag_move', 'schema': {'expected': ['camera_drag_move'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'camera_drag_move', 'type': 'model-fields'}, 'type': 'model'}, 'center_of_mass': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.center_of_mass'>, 'config': {'title': 'center_of_mass'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.center_of_mass'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.center_of_mass'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.center_of_mass:94192509211536', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.center_of_mass.CenterOfMass'>, 'config': {'title': 'CenterOfMass'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.center_of_mass.CenterOfMass'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.center_of_mass.CenterOfMass'>>]}, 'ref': 'kittycad.models.center_of_mass.CenterOfMass:94192500094992', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'center_of_mass': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'output_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'UnitLength'>, 'members': [UnitLength.CM, UnitLength.FT, UnitLength.IN, UnitLength.M, UnitLength.MM, UnitLength.YD], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_length.UnitLength:94192499221680', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}}, 'model_name': 'CenterOfMass', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'center_of_mass', 'schema': {'expected': ['center_of_mass'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'center_of_mass', 'type': 'model-fields'}, 'type': 'model'}, 'close_path': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.close_path'>, 'config': {'title': 'close_path'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.close_path'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.close_path'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.close_path:94192508429520', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.close_path.ClosePath'>, 'config': {'title': 'ClosePath'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.close_path.ClosePath'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.close_path.ClosePath'>>]}, 'ref': 'kittycad.models.close_path.ClosePath:94192500124784', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'face_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'ClosePath', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'close_path', 'schema': {'expected': ['close_path'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'close_path', 'type': 'model-fields'}, 'type': 'model'}, 'curve_get_control_points': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.curve_get_control_points'>, 'config': {'title': 'curve_get_control_points'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.curve_get_control_points'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.curve_get_control_points'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.curve_get_control_points:94192508803696', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.curve_get_control_points.CurveGetControlPoints'>, 'config': {'title': 'CurveGetControlPoints'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.curve_get_control_points.CurveGetControlPoints'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.curve_get_control_points.CurveGetControlPoints'>>]}, 'ref': 'kittycad.models.curve_get_control_points.CurveGetControlPoints:94192500558656', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'control_points': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'CurveGetControlPoints', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'curve_get_control_points', 'schema': {'expected': ['curve_get_control_points'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'curve_get_control_points', 'type': 'model-fields'}, 'type': 'model'}, 'curve_get_end_points': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.curve_get_end_points'>, 'config': {'title': 'curve_get_end_points'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.curve_get_end_points'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.curve_get_end_points'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.curve_get_end_points:94192508978608', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.curve_get_end_points.CurveGetEndPoints'>, 'config': {'title': 'CurveGetEndPoints'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.curve_get_end_points.CurveGetEndPoints'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.curve_get_end_points.CurveGetEndPoints'>>]}, 'ref': 'kittycad.models.curve_get_end_points.CurveGetEndPoints:94192500569472', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'end': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'start': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'CurveGetEndPoints', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'curve_get_end_points', 'schema': {'expected': ['curve_get_end_points'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'curve_get_end_points', 'type': 'model-fields'}, 'type': 'model'}, 'curve_get_type': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.curve_get_type'>, 'config': {'title': 'curve_get_type'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.curve_get_type'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.curve_get_type'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.curve_get_type:94192508820240', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.curve_get_type.CurveGetType'>, 'config': {'title': 'CurveGetType'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.curve_get_type.CurveGetType'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.curve_get_type.CurveGetType'>>]}, 'ref': 'kittycad.models.curve_get_type.CurveGetType:94192500546640', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'curve_type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'CurveType'>, 'members': [CurveType.LINE, CurveType.ARC, CurveType.NURBS], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.curve_type.CurveType:94192500544864', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}}, 'model_name': 'CurveGetType', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'curve_get_type', 'schema': {'expected': ['curve_get_type'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'curve_get_type', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_focus_on': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.default_camera_focus_on'>, 'config': {'title': 'default_camera_focus_on'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.default_camera_focus_on'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.default_camera_focus_on'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.default_camera_focus_on:94192508696752', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.default_camera_focus_on.DefaultCameraFocusOn'>, 'config': {'title': 'DefaultCameraFocusOn'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.default_camera_focus_on.DefaultCameraFocusOn'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.default_camera_focus_on.DefaultCameraFocusOn'>>]}, 'ref': 'kittycad.models.default_camera_focus_on.DefaultCameraFocusOn:94192501770448', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {}, 'model_name': 'DefaultCameraFocusOn', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_camera_focus_on', 'schema': {'expected': ['default_camera_focus_on'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'default_camera_focus_on', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_get_settings': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.default_camera_get_settings'>, 'config': {'title': 'default_camera_get_settings'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.default_camera_get_settings'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.default_camera_get_settings'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.default_camera_get_settings:94192508494496', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.default_camera_get_settings.DefaultCameraGetSettings'>, 'config': {'title': 'DefaultCameraGetSettings'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.default_camera_get_settings.DefaultCameraGetSettings'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.default_camera_get_settings.DefaultCameraGetSettings'>>]}, 'ref': 'kittycad.models.default_camera_get_settings.DefaultCameraGetSettings:94192494768752', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'settings': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.camera_settings.CameraSettings:94192499944976', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'DefaultCameraGetSettings', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_camera_get_settings', 'schema': {'expected': ['default_camera_get_settings'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'default_camera_get_settings', 'type': 'model-fields'}, 'type': 'model'}, 'default_camera_zoom': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.default_camera_zoom'>, 'config': {'title': 'default_camera_zoom'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.default_camera_zoom'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.default_camera_zoom'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.default_camera_zoom:94192508533296', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.default_camera_zoom.DefaultCameraZoom'>, 'config': {'title': 'DefaultCameraZoom'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.default_camera_zoom.DefaultCameraZoom'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.default_camera_zoom.DefaultCameraZoom'>>]}, 'ref': 'kittycad.models.default_camera_zoom.DefaultCameraZoom:94192501811984', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'settings': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.camera_settings.CameraSettings:94192499944976', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'DefaultCameraZoom', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'default_camera_zoom', 'schema': {'expected': ['default_camera_zoom'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'default_camera_zoom', 'type': 'model-fields'}, 'type': 'model'}, 'density': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.density'>, 'config': {'title': 'density'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.density'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.density'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.density:94192509178000', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.density.Density'>, 'config': {'title': 'Density'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.density.Density'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.density.Density'>>]}, 'ref': 'kittycad.models.density.Density:94192501843232', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'density': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'output_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'UnitDensity'>, 'members': [UnitDensity.LB_FT3, UnitDensity.KG_M3], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_density.UnitDensity:94192494758976', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}}, 'model_name': 'Density', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'density', 'schema': {'expected': ['density'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'density', 'type': 'model-fields'}, 'type': 'model'}, 'empty': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.empty'>, 'config': {'title': 'empty'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.empty'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.empty'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.empty:94192508230032', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'empty', 'schema': {'expected': ['empty'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'empty', 'type': 'model-fields'}, 'type': 'model'}, 'entity_circular_pattern': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.entity_circular_pattern'>, 'config': {'title': 'entity_circular_pattern'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.entity_circular_pattern'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.entity_circular_pattern'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.entity_circular_pattern:94192509307184', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.entity_circular_pattern.EntityCircularPattern'>, 'config': {'title': 'EntityCircularPattern'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.entity_circular_pattern.EntityCircularPattern'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.entity_circular_pattern.EntityCircularPattern'>>]}, 'ref': 'kittycad.models.entity_circular_pattern.EntityCircularPattern:94192501964672', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'EntityCircularPattern', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_circular_pattern', 'schema': {'expected': ['entity_circular_pattern'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_circular_pattern', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_all_child_uuids': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.entity_get_all_child_uuids'>, 'config': {'title': 'entity_get_all_child_uuids'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.entity_get_all_child_uuids'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.entity_get_all_child_uuids'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.entity_get_all_child_uuids:94192500250224', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.entity_get_all_child_uuids.EntityGetAllChildUuids'>, 'config': {'title': 'EntityGetAllChildUuids'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.entity_get_all_child_uuids.EntityGetAllChildUuids'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.entity_get_all_child_uuids.EntityGetAllChildUuids'>>]}, 'ref': 'kittycad.models.entity_get_all_child_uuids.EntityGetAllChildUuids:94192501971376', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'EntityGetAllChildUuids', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_all_child_uuids', 'schema': {'expected': ['entity_get_all_child_uuids'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_all_child_uuids', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_child_uuid': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.entity_get_child_uuid'>, 'config': {'title': 'entity_get_child_uuid'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.entity_get_child_uuid'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.entity_get_child_uuid'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.entity_get_child_uuid:94192508273184', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.entity_get_child_uuid.EntityGetChildUuid'>, 'config': {'title': 'EntityGetChildUuid'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.entity_get_child_uuid.EntityGetChildUuid'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.entity_get_child_uuid.EntityGetChildUuid'>>]}, 'ref': 'kittycad.models.entity_get_child_uuid.EntityGetChildUuid:94192501991664', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'EntityGetChildUuid', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_child_uuid', 'schema': {'expected': ['entity_get_child_uuid'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_child_uuid', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_distance': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.entity_get_distance'>, 'config': {'title': 'entity_get_distance'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.entity_get_distance'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.entity_get_distance'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.entity_get_distance:94192509244448', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.entity_get_distance.EntityGetDistance'>, 'config': {'title': 'EntityGetDistance'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.entity_get_distance.EntityGetDistance'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.entity_get_distance.EntityGetDistance'>>]}, 'ref': 'kittycad.models.entity_get_distance.EntityGetDistance:94192501994064', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'max_distance': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'min_distance': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'EntityGetDistance', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_distance', 'schema': {'expected': ['entity_get_distance'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_distance', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_num_children': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.entity_get_num_children'>, 'config': {'title': 'entity_get_num_children'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.entity_get_num_children'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.entity_get_num_children'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.entity_get_num_children:94192508290096', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.entity_get_num_children.EntityGetNumChildren'>, 'config': {'title': 'EntityGetNumChildren'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.entity_get_num_children.EntityGetNumChildren'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.entity_get_num_children.EntityGetNumChildren'>>]}, 'ref': 'kittycad.models.entity_get_num_children.EntityGetNumChildren:94192501977312', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'num': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}}, 'model_name': 'EntityGetNumChildren', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_num_children', 'schema': {'expected': ['entity_get_num_children'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_num_children', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_parent_id': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.entity_get_parent_id'>, 'config': {'title': 'entity_get_parent_id'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.entity_get_parent_id'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.entity_get_parent_id'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.entity_get_parent_id:94192508302272', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.entity_get_parent_id.EntityGetParentId'>, 'config': {'title': 'EntityGetParentId'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.entity_get_parent_id.EntityGetParentId'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.entity_get_parent_id.EntityGetParentId'>>]}, 'ref': 'kittycad.models.entity_get_parent_id.EntityGetParentId:94192502003200', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'EntityGetParentId', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_parent_id', 'schema': {'expected': ['entity_get_parent_id'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_parent_id', 'type': 'model-fields'}, 'type': 'model'}, 'entity_get_sketch_paths': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.entity_get_sketch_paths'>, 'config': {'title': 'entity_get_sketch_paths'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.entity_get_sketch_paths'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.entity_get_sketch_paths'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.entity_get_sketch_paths:94192508401696', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.entity_get_sketch_paths.EntityGetSketchPaths'>, 'config': {'title': 'EntityGetSketchPaths'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.entity_get_sketch_paths.EntityGetSketchPaths'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.entity_get_sketch_paths.EntityGetSketchPaths'>>]}, 'ref': 'kittycad.models.entity_get_sketch_paths.EntityGetSketchPaths:94192502020160', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'EntityGetSketchPaths', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_get_sketch_paths', 'schema': {'expected': ['entity_get_sketch_paths'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_get_sketch_paths', 'type': 'model-fields'}, 'type': 'model'}, 'entity_linear_pattern': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.entity_linear_pattern'>, 'config': {'title': 'entity_linear_pattern'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.entity_linear_pattern'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.entity_linear_pattern'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.entity_linear_pattern:94192509290512', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.entity_linear_pattern.EntityLinearPattern'>, 'config': {'title': 'EntityLinearPattern'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.entity_linear_pattern.EntityLinearPattern'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.entity_linear_pattern.EntityLinearPattern'>>]}, 'ref': 'kittycad.models.entity_linear_pattern.EntityLinearPattern:94192502026432', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'EntityLinearPattern', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_linear_pattern', 'schema': {'expected': ['entity_linear_pattern'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_linear_pattern', 'type': 'model-fields'}, 'type': 'model'}, 'entity_linear_pattern_transform': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.entity_linear_pattern_transform'>, 'config': {'title': 'entity_linear_pattern_transform'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.entity_linear_pattern_transform'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.entity_linear_pattern_transform'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.entity_linear_pattern_transform:94192509265440', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.entity_linear_pattern_transform.EntityLinearPatternTransform'>, 'config': {'title': 'EntityLinearPatternTransform'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.entity_linear_pattern_transform.EntityLinearPatternTransform'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.entity_linear_pattern_transform.EntityLinearPatternTransform'>>]}, 'ref': 'kittycad.models.entity_linear_pattern_transform.EntityLinearPatternTransform:94192502032768', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'EntityLinearPatternTransform', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'entity_linear_pattern_transform', 'schema': {'expected': ['entity_linear_pattern_transform'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'entity_linear_pattern_transform', 'type': 'model-fields'}, 'type': 'model'}, 'export': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.export'>, 'config': {'title': 'export'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.export'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.export'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.export:94192508232560', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.export.Export'>, 'config': {'title': 'Export'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.export.Export'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.export.Export'>>]}, 'ref': 'kittycad.models.export.Export:94192502108608', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'files': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'cls': <class 'kittycad.models.export_file.ExportFile'>, 'config': {'title': 'ExportFile'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.export_file.ExportFile'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.export_file.ExportFile'>>]}, 'ref': 'kittycad.models.export_file.ExportFile:94192502102112', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'contents': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.base64data.Base64Data'>, 'type': 'no-info'}, 'schema': {'type': 'bytes'}, 'type': 'function-after'}, 'type': 'model-field'}, 'name': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'ExportFile', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'Export', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'export', 'schema': {'expected': ['export'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'export', 'type': 'model-fields'}, 'type': 'model'}, 'extrusion_face_info': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.extrusion_face_info'>, 'config': {'title': 'extrusion_face_info'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.extrusion_face_info'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.extrusion_face_info'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.extrusion_face_info:94192503612720', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.extrusion_face_info.ExtrusionFaceInfo:94192502246224', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'extrusion_face_info', 'schema': {'expected': ['extrusion_face_info'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'extrusion_face_info', 'type': 'model-fields'}, 'type': 'model'}, 'face_get_center': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.face_get_center'>, 'config': {'title': 'face_get_center'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.face_get_center'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.face_get_center'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.face_get_center:94192509032240', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.face_get_center.FaceGetCenter'>, 'config': {'title': 'FaceGetCenter'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.face_get_center.FaceGetCenter'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.face_get_center.FaceGetCenter'>>]}, 'ref': 'kittycad.models.face_get_center.FaceGetCenter:94192502265712', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'pos': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'FaceGetCenter', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'face_get_center', 'schema': {'expected': ['face_get_center'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'face_get_center', 'type': 'model-fields'}, 'type': 'model'}, 'face_get_gradient': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.face_get_gradient'>, 'config': {'title': 'face_get_gradient'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.face_get_gradient'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.face_get_gradient'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.face_get_gradient:94192509064096', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.face_get_gradient.FaceGetGradient'>, 'config': {'title': 'FaceGetGradient'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.face_get_gradient.FaceGetGradient'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.face_get_gradient.FaceGetGradient'>>]}, 'ref': 'kittycad.models.face_get_gradient.FaceGetGradient:94192502275600', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'df_du': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'df_dv': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'normal': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'FaceGetGradient', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'face_get_gradient', 'schema': {'expected': ['face_get_gradient'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'face_get_gradient', 'type': 'model-fields'}, 'type': 'model'}, 'face_get_position': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.face_get_position'>, 'config': {'title': 'face_get_position'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.face_get_position'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.face_get_position'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.face_get_position:94192509010640', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.face_get_position.FaceGetPosition'>, 'config': {'title': 'FaceGetPosition'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.face_get_position.FaceGetPosition'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.face_get_position.FaceGetPosition'>>]}, 'ref': 'kittycad.models.face_get_position.FaceGetPosition:94192502288672', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'pos': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'FaceGetPosition', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'face_get_position', 'schema': {'expected': ['face_get_position'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'face_get_position', 'type': 'model-fields'}, 'type': 'model'}, 'face_is_planar': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.face_is_planar'>, 'config': {'title': 'face_is_planar'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.face_is_planar'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.face_is_planar'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.face_is_planar:94192508993968', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.face_is_planar.FaceIsPlanar'>, 'config': {'title': 'FaceIsPlanar'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.face_is_planar.FaceIsPlanar'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.face_is_planar.FaceIsPlanar'>>]}, 'ref': 'kittycad.models.face_is_planar.FaceIsPlanar:94192502299856', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'origin': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'x_axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'y_axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'z_axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'FaceIsPlanar', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'face_is_planar', 'schema': {'expected': ['face_is_planar'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'face_is_planar', 'type': 'model-fields'}, 'type': 'model'}, 'get_entity_type': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.get_entity_type'>, 'config': {'title': 'get_entity_type'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.get_entity_type'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.get_entity_type'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.get_entity_type:94192508786992', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.get_entity_type.GetEntityType'>, 'config': {'title': 'GetEntityType'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.get_entity_type.GetEntityType'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.get_entity_type.GetEntityType'>>]}, 'ref': 'kittycad.models.get_entity_type.GetEntityType:94192502700832', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'EntityType'>, 'members': [EntityType.ENTITY, EntityType.OBJECT, EntityType.PATH, EntityType.CURVE, EntityType.SOLID2D, EntityType.SOLID3D, EntityType.EDGE, EntityType.FACE, EntityType.PLANE, EntityType.VERTEX], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.entity_type.EntityType:94192502039472', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}}, 'model_name': 'GetEntityType', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'get_entity_type', 'schema': {'expected': ['get_entity_type'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'get_entity_type', 'type': 'model-fields'}, 'type': 'model'}, 'get_num_objects': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.get_num_objects'>, 'config': {'title': 'get_num_objects'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.get_num_objects'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.get_num_objects'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.get_num_objects:94192508651168', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.get_num_objects.GetNumObjects'>, 'config': {'title': 'GetNumObjects'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.get_num_objects.GetNumObjects'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.get_num_objects.GetNumObjects'>>]}, 'ref': 'kittycad.models.get_num_objects.GetNumObjects:94192502710144', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'num_objects': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'int'}, 'type': 'model-field'}}, 'model_name': 'GetNumObjects', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'get_num_objects', 'schema': {'expected': ['get_num_objects'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'get_num_objects', 'type': 'model-fields'}, 'type': 'model'}, 'get_sketch_mode_plane': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.get_sketch_mode_plane'>, 'config': {'title': 'get_sketch_mode_plane'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.get_sketch_mode_plane'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.get_sketch_mode_plane'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.get_sketch_mode_plane:94192509227344', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.get_sketch_mode_plane.GetSketchModePlane'>, 'config': {'title': 'GetSketchModePlane'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.get_sketch_mode_plane.GetSketchModePlane'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.get_sketch_mode_plane.GetSketchModePlane'>>]}, 'ref': 'kittycad.models.get_sketch_mode_plane.GetSketchModePlane:94192502725280', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'origin': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'x_axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'y_axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}, 'z_axis': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.point3d.Point3d:94192493865840', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'GetSketchModePlane', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'get_sketch_mode_plane', 'schema': {'expected': ['get_sketch_mode_plane'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'get_sketch_mode_plane', 'type': 'model-fields'}, 'type': 'model'}, 'highlight_set_entity': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.highlight_set_entity'>, 'config': {'title': 'highlight_set_entity'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.highlight_set_entity'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.highlight_set_entity'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.highlight_set_entity:94192508259424', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.highlight_set_entity.HighlightSetEntity'>, 'config': {'title': 'HighlightSetEntity'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.highlight_set_entity.HighlightSetEntity'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.highlight_set_entity.HighlightSetEntity'>>]}, 'ref': 'kittycad.models.highlight_set_entity.HighlightSetEntity:94192502731056', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'sequence': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'HighlightSetEntity', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'highlight_set_entity', 'schema': {'expected': ['highlight_set_entity'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'highlight_set_entity', 'type': 'model-fields'}, 'type': 'model'}, 'import_files': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.import_files'>, 'config': {'title': 'import_files'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.import_files'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.import_files'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.import_files:94192509102368', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.import_files.ImportFiles'>, 'config': {'title': 'ImportFiles'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.import_files.ImportFiles'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.import_files.ImportFiles'>>]}, 'ref': 'kittycad.models.import_files.ImportFiles:94192502797056', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'object_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'ImportFiles', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'import_files', 'schema': {'expected': ['import_files'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'import_files', 'type': 'model-fields'}, 'type': 'model'}, 'imported_geometry': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.imported_geometry'>, 'config': {'title': 'imported_geometry'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.imported_geometry'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.imported_geometry'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.imported_geometry:94192509125568', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.imported_geometry.ImportedGeometry'>, 'config': {'title': 'ImportedGeometry'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.imported_geometry.ImportedGeometry'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.imported_geometry.ImportedGeometry'>>]}, 'ref': 'kittycad.models.imported_geometry.ImportedGeometry:94192502801264', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'value': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'ImportedGeometry', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'imported_geometry', 'schema': {'expected': ['imported_geometry'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'imported_geometry', 'type': 'model-fields'}, 'type': 'model'}, 'loft': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.loft'>, 'config': {'title': 'loft'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.loft'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.loft'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.loft:94192508415664', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.loft.Loft'>, 'config': {'title': 'Loft'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.loft.Loft'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.loft.Loft'>>]}, 'ref': 'kittycad.models.loft.Loft:94192503079648', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'solid_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'Loft', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'loft', 'schema': {'expected': ['loft'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'loft', 'type': 'model-fields'}, 'type': 'model'}, 'mass': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.mass'>, 'config': {'title': 'mass'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.mass'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.mass'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.mass:94192509147392', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.mass.Mass'>, 'config': {'title': 'Mass'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.mass.Mass'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.mass.Mass'>>]}, 'ref': 'kittycad.models.mass.Mass:94192503112896', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'mass': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}, 'output_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'UnitMass'>, 'members': [UnitMass.G, UnitMass.KG, UnitMass.LB], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_mass.UnitMass:94192494759968', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}}, 'model_name': 'Mass', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'mass', 'schema': {'expected': ['mass'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'mass', 'type': 'model-fields'}, 'type': 'model'}, 'mouse_click': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.mouse_click'>, 'config': {'title': 'mouse_click'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.mouse_click'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.mouse_click'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.mouse_click:94192508836960', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.mouse_click.MouseClick'>, 'config': {'title': 'MouseClick'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.mouse_click.MouseClick'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.mouse_click.MouseClick'>>]}, 'ref': 'kittycad.models.mouse_click.MouseClick:94192505674672', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entities_modified': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}, 'entities_selected': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'MouseClick', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'mouse_click', 'schema': {'expected': ['mouse_click'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'mouse_click', 'type': 'model-fields'}, 'type': 'model'}, 'path_get_curve_uuid': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.path_get_curve_uuid'>, 'config': {'title': 'path_get_curve_uuid'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.path_get_curve_uuid'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.path_get_curve_uuid'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.path_get_curve_uuid:94192508928864', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.path_get_curve_uuid.PathGetCurveUuid'>, 'config': {'title': 'PathGetCurveUuid'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.path_get_curve_uuid.PathGetCurveUuid'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_get_curve_uuid.PathGetCurveUuid'>>]}, 'ref': 'kittycad.models.path_get_curve_uuid.PathGetCurveUuid:94192508316064', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'curve_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'PathGetCurveUuid', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'path_get_curve_uuid', 'schema': {'expected': ['path_get_curve_uuid'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'path_get_curve_uuid', 'type': 'model-fields'}, 'type': 'model'}, 'path_get_curve_uuids_for_vertices': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.path_get_curve_uuids_for_vertices'>, 'config': {'title': 'path_get_curve_uuids_for_vertices'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.path_get_curve_uuids_for_vertices'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.path_get_curve_uuids_for_vertices'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.path_get_curve_uuids_for_vertices:94192508905232', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.path_get_curve_uuids_for_vertices.PathGetCurveUuidsForVertices'>, 'config': {'title': 'PathGetCurveUuidsForVertices'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.path_get_curve_uuids_for_vertices.PathGetCurveUuidsForVertices'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_get_curve_uuids_for_vertices.PathGetCurveUuidsForVertices'>>]}, 'ref': 'kittycad.models.path_get_curve_uuids_for_vertices.PathGetCurveUuidsForVertices:94192508320000', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'curve_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'PathGetCurveUuidsForVertices', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'path_get_curve_uuids_for_vertices', 'schema': {'expected': ['path_get_curve_uuids_for_vertices'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'path_get_curve_uuids_for_vertices', 'type': 'model-fields'}, 'type': 'model'}, 'path_get_info': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.path_get_info'>, 'config': {'title': 'path_get_info'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.path_get_info'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.path_get_info'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.path_get_info:94192508872384', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.path_get_info.PathGetInfo'>, 'config': {'title': 'PathGetInfo'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.path_get_info.PathGetInfo'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_get_info.PathGetInfo'>>]}, 'ref': 'kittycad.models.path_get_info.PathGetInfo:94192508151952', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'segments': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'schema_ref': 'kittycad.models.path_segment_info.PathSegmentInfo:94192508142800', 'type': 'definition-ref'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'PathGetInfo', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'path_get_info', 'schema': {'expected': ['path_get_info'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'path_get_info', 'type': 'model-fields'}, 'type': 'model'}, 'path_get_sketch_target_uuid': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.path_get_sketch_target_uuid'>, 'config': {'title': 'path_get_sketch_target_uuid'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.path_get_sketch_target_uuid'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.path_get_sketch_target_uuid'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.path_get_sketch_target_uuid:94192508964064', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.path_get_sketch_target_uuid.PathGetSketchTargetUuid'>, 'config': {'title': 'PathGetSketchTargetUuid'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.path_get_sketch_target_uuid.PathGetSketchTargetUuid'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_get_sketch_target_uuid.PathGetSketchTargetUuid'>>]}, 'ref': 'kittycad.models.path_get_sketch_target_uuid.PathGetSketchTargetUuid:94192508135472', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'target_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'PathGetSketchTargetUuid', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'path_get_sketch_target_uuid', 'schema': {'expected': ['path_get_sketch_target_uuid'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'path_get_sketch_target_uuid', 'type': 'model-fields'}, 'type': 'model'}, 'path_get_vertex_uuids': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.path_get_vertex_uuids'>, 'config': {'title': 'path_get_vertex_uuids'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.path_get_vertex_uuids'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.path_get_vertex_uuids'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.path_get_vertex_uuids:94192508948496', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.path_get_vertex_uuids.PathGetVertexUuids'>, 'config': {'title': 'PathGetVertexUuids'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.path_get_vertex_uuids.PathGetVertexUuids'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.path_get_vertex_uuids.PathGetVertexUuids'>>]}, 'ref': 'kittycad.models.path_get_vertex_uuids.PathGetVertexUuids:94192508338272', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'vertex_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'PathGetVertexUuids', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'path_get_vertex_uuids', 'schema': {'expected': ['path_get_vertex_uuids'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'path_get_vertex_uuids', 'type': 'model-fields'}, 'type': 'model'}, 'path_segment_info': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.path_segment_info'>, 'config': {'title': 'path_segment_info'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.path_segment_info'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.path_segment_info'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.path_segment_info:94192508889664', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.path_segment_info.PathSegmentInfo:94192508142800', 'type': 'definition-ref'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'path_segment_info', 'schema': {'expected': ['path_segment_info'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'path_segment_info', 'type': 'model-fields'}, 'type': 'model'}, 'plane_intersect_and_project': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.plane_intersect_and_project'>, 'config': {'title': 'plane_intersect_and_project'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.plane_intersect_and_project'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.plane_intersect_and_project'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.plane_intersect_and_project:94192509083232', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.plane_intersect_and_project.PlaneIntersectAndProject'>, 'config': {'title': 'PlaneIntersectAndProject'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.plane_intersect_and_project.PlaneIntersectAndProject'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.plane_intersect_and_project.PlaneIntersectAndProject'>>]}, 'ref': 'kittycad.models.plane_intersect_and_project.PlaneIntersectAndProject:94192508083056', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'plane_coordinates': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'cls': <class 'kittycad.models.point2d.Point2d'>, 'config': {'title': 'Point2d'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.point2d.Point2d'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.point2d.Point2d'>>]}, 'ref': 'kittycad.models.point2d.Point2d:94192503110688', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'x': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}, 'y': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.length_unit.LengthUnit'>, 'type': 'no-info'}, 'schema': {'type': 'float'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'Point2d', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'PlaneIntersectAndProject', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'plane_intersect_and_project', 'schema': {'expected': ['plane_intersect_and_project'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'plane_intersect_and_project', 'type': 'model-fields'}, 'type': 'model'}, 'select_get': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.select_get'>, 'config': {'title': 'select_get'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.select_get'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.select_get'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.select_get:94192508698528', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.select_get.SelectGet'>, 'config': {'title': 'SelectGet'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.select_get.SelectGet'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.select_get.SelectGet'>>]}, 'ref': 'kittycad.models.select_get.SelectGet:94192506870496', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_ids': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'SelectGet', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'select_get', 'schema': {'expected': ['select_get'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'select_get', 'type': 'model-fields'}, 'type': 'model'}, 'select_with_point': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.select_with_point'>, 'config': {'title': 'select_with_point'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.select_with_point'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.select_with_point'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.select_with_point:94192508242016', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.select_with_point.SelectWithPoint'>, 'config': {'title': 'SelectWithPoint'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.select_with_point.SelectWithPoint'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.select_with_point.SelectWithPoint'>>]}, 'ref': 'kittycad.models.select_with_point.SelectWithPoint:94192506874848', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'entity_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'SelectWithPoint', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'select_with_point', 'schema': {'expected': ['select_with_point'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'select_with_point', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_all_edge_faces': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_all_edge_faces'>, 'config': {'title': 'solid3d_get_all_edge_faces'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_all_edge_faces'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_all_edge_faces'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.solid3d_get_all_edge_faces:94192508713008', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.solid3d_get_all_edge_faces.Solid3dGetAllEdgeFaces'>, 'config': {'title': 'Solid3dGetAllEdgeFaces'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.solid3d_get_all_edge_faces.Solid3dGetAllEdgeFaces'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.solid3d_get_all_edge_faces.Solid3dGetAllEdgeFaces'>>]}, 'ref': 'kittycad.models.solid3d_get_all_edge_faces.Solid3dGetAllEdgeFaces:94192508348432', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'faces': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'Solid3dGetAllEdgeFaces', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_all_edge_faces', 'schema': {'expected': ['solid3d_get_all_edge_faces'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_all_edge_faces', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_all_opposite_edges': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_all_opposite_edges'>, 'config': {'title': 'solid3d_get_all_opposite_edges'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_all_opposite_edges'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_all_opposite_edges'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.solid3d_get_all_opposite_edges:94192508725536', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.solid3d_get_all_opposite_edges.Solid3dGetAllOppositeEdges'>, 'config': {'title': 'Solid3dGetAllOppositeEdges'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.solid3d_get_all_opposite_edges.Solid3dGetAllOppositeEdges'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.solid3d_get_all_opposite_edges.Solid3dGetAllOppositeEdges'>>]}, 'ref': 'kittycad.models.solid3d_get_all_opposite_edges.Solid3dGetAllOppositeEdges:94192508120304', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edges': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'type': 'str'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'Solid3dGetAllOppositeEdges', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_all_opposite_edges', 'schema': {'expected': ['solid3d_get_all_opposite_edges'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_all_opposite_edges', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_extrusion_face_info': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_extrusion_face_info'>, 'config': {'title': 'solid3d_get_extrusion_face_info'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_extrusion_face_info'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_extrusion_face_info'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.solid3d_get_extrusion_face_info:94192509322752', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.solid3d_get_extrusion_face_info.Solid3dGetExtrusionFaceInfo'>, 'config': {'title': 'Solid3dGetExtrusionFaceInfo'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.solid3d_get_extrusion_face_info.Solid3dGetExtrusionFaceInfo'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.solid3d_get_extrusion_face_info.Solid3dGetExtrusionFaceInfo'>>]}, 'ref': 'kittycad.models.solid3d_get_extrusion_face_info.Solid3dGetExtrusionFaceInfo:94192506887728', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'faces': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'items_schema': {'schema_ref': 'kittycad.models.extrusion_face_info.ExtrusionFaceInfo:94192502246224', 'type': 'definition-ref'}, 'type': 'list'}, 'type': 'model-field'}}, 'model_name': 'Solid3dGetExtrusionFaceInfo', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_extrusion_face_info', 'schema': {'expected': ['solid3d_get_extrusion_face_info'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_extrusion_face_info', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_next_adjacent_edge': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_next_adjacent_edge'>, 'config': {'title': 'solid3d_get_next_adjacent_edge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_next_adjacent_edge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_next_adjacent_edge'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.solid3d_get_next_adjacent_edge:94192508756400', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.solid3d_get_next_adjacent_edge.Solid3dGetNextAdjacentEdge'>, 'config': {'title': 'Solid3dGetNextAdjacentEdge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.solid3d_get_next_adjacent_edge.Solid3dGetNextAdjacentEdge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.solid3d_get_next_adjacent_edge.Solid3dGetNextAdjacentEdge'>>]}, 'ref': 'kittycad.models.solid3d_get_next_adjacent_edge.Solid3dGetNextAdjacentEdge:94192508090672', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Solid3dGetNextAdjacentEdge', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_next_adjacent_edge', 'schema': {'expected': ['solid3d_get_next_adjacent_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_next_adjacent_edge', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_opposite_edge': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_opposite_edge'>, 'config': {'title': 'solid3d_get_opposite_edge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_opposite_edge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_opposite_edge'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.solid3d_get_opposite_edge:94192508740752', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.solid3d_get_opposite_edge.Solid3dGetOppositeEdge'>, 'config': {'title': 'Solid3dGetOppositeEdge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.solid3d_get_opposite_edge.Solid3dGetOppositeEdge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.solid3d_get_opposite_edge.Solid3dGetOppositeEdge'>>]}, 'ref': 'kittycad.models.solid3d_get_opposite_edge.Solid3dGetOppositeEdge:94192508117328', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'Solid3dGetOppositeEdge', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_opposite_edge', 'schema': {'expected': ['solid3d_get_opposite_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_opposite_edge', 'type': 'model-fields'}, 'type': 'model'}, 'solid3d_get_prev_adjacent_edge': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_prev_adjacent_edge'>, 'config': {'title': 'solid3d_get_prev_adjacent_edge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_prev_adjacent_edge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.solid3d_get_prev_adjacent_edge'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.solid3d_get_prev_adjacent_edge:94192508772112', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.solid3d_get_prev_adjacent_edge.Solid3dGetPrevAdjacentEdge'>, 'config': {'title': 'Solid3dGetPrevAdjacentEdge'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.solid3d_get_prev_adjacent_edge.Solid3dGetPrevAdjacentEdge'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.solid3d_get_prev_adjacent_edge.Solid3dGetPrevAdjacentEdge'>>]}, 'ref': 'kittycad.models.solid3d_get_prev_adjacent_edge.Solid3dGetPrevAdjacentEdge:94192508155824', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'edge': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Solid3dGetPrevAdjacentEdge', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'solid3d_get_prev_adjacent_edge', 'schema': {'expected': ['solid3d_get_prev_adjacent_edge'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'solid3d_get_prev_adjacent_edge', 'type': 'model-fields'}, 'type': 'model'}, 'surface_area': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.surface_area'>, 'config': {'title': 'surface_area'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.surface_area'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.surface_area'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.surface_area:94192509193776', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.surface_area.SurfaceArea'>, 'config': {'title': 'SurfaceArea'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.surface_area.SurfaceArea'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.surface_area.SurfaceArea'>>]}, 'ref': 'kittycad.models.surface_area.SurfaceArea:94192508161424', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'output_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'UnitArea'>, 'members': [UnitArea.CM2, UnitArea.DM2, UnitArea.FT2, UnitArea.IN2, UnitArea.KM2, UnitArea.M2, UnitArea.MM2, UnitArea.YD2], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_area.UnitArea:94192494755248', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'surface_area': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'SurfaceArea', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'surface_area', 'schema': {'expected': ['surface_area'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'surface_area', 'type': 'model-fields'}, 'type': 'model'}, 'take_snapshot': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.take_snapshot'>, 'config': {'title': 'take_snapshot'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.take_snapshot'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.take_snapshot'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.take_snapshot:94192508857360', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.take_snapshot.TakeSnapshot'>, 'config': {'title': 'TakeSnapshot'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.take_snapshot.TakeSnapshot'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.take_snapshot.TakeSnapshot'>>]}, 'ref': 'kittycad.models.take_snapshot.TakeSnapshot:94192508102704', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'contents': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'function': {'function': <class 'kittycad.models.base64data.Base64Data'>, 'type': 'no-info'}, 'schema': {'type': 'bytes'}, 'type': 'function-after'}, 'type': 'model-field'}}, 'model_name': 'TakeSnapshot', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'take_snapshot', 'schema': {'expected': ['take_snapshot'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'take_snapshot', 'type': 'model-fields'}, 'type': 'model'}, 'view_isometric': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.view_isometric'>, 'config': {'title': 'view_isometric'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.view_isometric'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.view_isometric'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.view_isometric:94192508314528', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.view_isometric.ViewIsometric'>, 'config': {'title': 'ViewIsometric'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.view_isometric.ViewIsometric'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.view_isometric.ViewIsometric'>>]}, 'ref': 'kittycad.models.view_isometric.ViewIsometric:94192508107856', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'settings': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.camera_settings.CameraSettings:94192499944976', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'ViewIsometric', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'view_isometric', 'schema': {'expected': ['view_isometric'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'view_isometric', 'type': 'model-fields'}, 'type': 'model'}, 'volume': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.volume'>, 'config': {'title': 'volume'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.volume'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.volume'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.volume:94192509161856', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.volume.Volume'>, 'config': {'title': 'Volume'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.volume.Volume'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.volume.Volume'>>]}, 'ref': 'kittycad.models.volume.Volume:94192508191120', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'output_unit': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'UnitVolume'>, 'members': [UnitVolume.CM3, UnitVolume.FT3, UnitVolume.IN3, UnitVolume.M3, UnitVolume.YD3, UnitVolume.USFLOZ, UnitVolume.USGAL, UnitVolume.L, UnitVolume.ML], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.unit_volume.UnitVolume:94192494762128', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}, 'volume': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'float'}, 'type': 'model-field'}}, 'model_name': 'Volume', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'volume', 'schema': {'expected': ['volume'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'volume', 'type': 'model-fields'}, 'type': 'model'}, 'zoom_to_fit': {'cls': <class 'kittycad.models.ok_modeling_cmd_response.zoom_to_fit'>, 'config': {'title': 'zoom_to_fit'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_modeling_cmd_response.zoom_to_fit'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_modeling_cmd_response.zoom_to_fit'>>]}, 'ref': 'kittycad.models.ok_modeling_cmd_response.zoom_to_fit:94192508572304', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.zoom_to_fit.ZoomToFit'>, 'config': {'title': 'ZoomToFit'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.zoom_to_fit.ZoomToFit'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.zoom_to_fit.ZoomToFit'>>]}, 'ref': 'kittycad.models.zoom_to_fit.ZoomToFit:94192508200064', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'settings': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'schema_ref': 'kittycad.models.camera_settings.CameraSettings:94192499944976', 'type': 'definition-ref'}, 'type': 'model-field'}}, 'model_name': 'ZoomToFit', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'zoom_to_fit', 'schema': {'expected': ['zoom_to_fit'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'zoom_to_fit', 'type': 'model-fields'}, 'type': 'model'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, 'type': 'model-field'}}, 'model_name': 'ModelingData', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'modeling', 'schema': {'expected': ['modeling'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'modeling', 'type': 'model-fields'}, 'type': 'model'}, 'modeling_batch': {'cls': <class 'kittycad.models.ok_web_socket_response_data.modeling_batch'>, 'config': {'title': 'modeling_batch'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.modeling_batch'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.modeling_batch'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.modeling_batch:94192511493024', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.ok_web_socket_response_data.ModelingBatchData'>, 'config': {'title': 'ModelingBatchData'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.ModelingBatchData'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.ModelingBatchData'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.ModelingBatchData:94192511478640', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'responses': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'keys_schema': {'type': 'str'}, 'strict': False, 'type': 'dict', 'values_schema': {'cls': <class 'pydantic.root_model.RootModel[Union[response, errors]]'>, 'config': {'title': 'RootModel[Union[response, errors]]'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'pydantic.root_model.RootModel[Union[response, errors]]'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'pydantic.root_model.RootModel[Union[response, errors]]'>>]}, 'ref': 'pydantic.root_model.RootModel:94192496630560[Union[response, errors]:140087152623536]', 'root_model': True, 'schema': {'choices': [{'cls': <class 'kittycad.models.batch_response.response'>, 'config': {'title': 'response'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.batch_response.response'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.batch_response.response'>>]}, 'ref': 'kittycad.models.batch_response.response:94192501281248', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {}, 'model_name': 'response', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'kittycad.models.batch_response.errors'>, 'config': {'title': 'errors'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.batch_response.errors'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.batch_response.errors'>>]}, 'ref': 'kittycad.models.batch_response.errors:94192501285680', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {}, 'model_name': 'errors', 'type': 'model-fields'}, 'type': 'model'}], 'type': 'union'}, 'type': 'model'}}, 'type': 'model-field'}}, 'model_name': 'ModelingBatchData', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'modeling_batch', 'schema': {'expected': ['modeling_batch'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'modeling_batch', 'type': 'model-fields'}, 'type': 'model'}, 'modeling_session_data': {'cls': <class 'kittycad.models.ok_web_socket_response_data.modeling_session_data'>, 'config': {'title': 'modeling_session_data'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.modeling_session_data'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.modeling_session_data'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.modeling_session_data:94192511561760', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.ok_web_socket_response_data.ModelingSessionDataData'>, 'config': {'title': 'ModelingSessionDataData'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.ModelingSessionDataData'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.ModelingSessionDataData'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.ModelingSessionDataData:94192511551856', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'session': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.modeling_session_data.ModelingSessionData'>, 'config': {'title': 'ModelingSessionData'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.modeling_session_data.ModelingSessionData'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.modeling_session_data.ModelingSessionData'>>]}, 'ref': 'kittycad.models.modeling_session_data.ModelingSessionData:94192507015984', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'api_call_id': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'ModelingSessionData', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}}, 'model_name': 'ModelingSessionDataData', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'modeling_session_data', 'schema': {'expected': ['modeling_session_data'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'modeling_session_data', 'type': 'model-fields'}, 'type': 'model'}, 'pong': {'cls': <class 'kittycad.models.ok_web_socket_response_data.pong'>, 'config': {'title': 'pong'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.pong'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.pong'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.pong:94192511581104', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.ok_web_socket_response_data.PongData'>, 'config': {'title': 'PongData'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.PongData'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.PongData'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.PongData:94192511576352', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {}, 'model_name': 'PongData', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'pong', 'schema': {'expected': ['pong'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'pong', 'type': 'model-fields'}, 'type': 'model'}, 'sdp_answer': {'cls': <class 'kittycad.models.ok_web_socket_response_data.sdp_answer'>, 'config': {'title': 'sdp_answer'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.sdp_answer'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.sdp_answer'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.sdp_answer:94192510170816', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.ok_web_socket_response_data.SdpAnswerData'>, 'config': {'title': 'SdpAnswerData'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.SdpAnswerData'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.SdpAnswerData'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.SdpAnswerData:94192510159872', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'answer': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.rtc_session_description.RtcSessionDescription'>, 'config': {'title': 'RtcSessionDescription'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.rtc_session_description.RtcSessionDescription'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.rtc_session_description.RtcSessionDescription'>>]}, 'ref': 'kittycad.models.rtc_session_description.RtcSessionDescription:94192510060528', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'sdp': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <enum 'RtcSdpType'>, 'members': [RtcSdpType.UNSPECIFIED, RtcSdpType.OFFER, RtcSdpType.PRANSWER, RtcSdpType.ANSWER, RtcSdpType.ROLLBACK], 'metadata': {'pydantic_js_functions': [<function get_enum_core_schema.<locals>.get_json_schema>]}, 'ref': 'kittycad.models.rtc_sdp_type.RtcSdpType:94192510055680', 'sub_type': 'str', 'type': 'enum'}, 'type': 'model-field'}}, 'model_name': 'RtcSessionDescription', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}}, 'model_name': 'SdpAnswerData', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'sdp_answer', 'schema': {'expected': ['sdp_answer'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'sdp_answer', 'type': 'model-fields'}, 'type': 'model'}, 'trickle_ice': {'cls': <class 'kittycad.models.ok_web_socket_response_data.trickle_ice'>, 'config': {'title': 'trickle_ice'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.trickle_ice'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.trickle_ice'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.trickle_ice:94192510137488', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'data': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.ok_web_socket_response_data.TrickleIceData'>, 'config': {'title': 'TrickleIceData'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.ok_web_socket_response_data.TrickleIceData'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.ok_web_socket_response_data.TrickleIceData'>>]}, 'ref': 'kittycad.models.ok_web_socket_response_data.TrickleIceData:94192510119648', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'candidate': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'cls': <class 'kittycad.models.rtc_ice_candidate_init.RtcIceCandidateInit'>, 'config': {'title': 'RtcIceCandidateInit'}, 'custom_init': False, 'metadata': {'pydantic_js_annotation_functions': [], 'pydantic_js_functions': [functools.partial(<function modify_model_json_schema>, cls=<class 'kittycad.models.rtc_ice_candidate_init.RtcIceCandidateInit'>, title=None), <bound method BaseModel.__get_pydantic_json_schema__ of <class 'kittycad.models.rtc_ice_candidate_init.RtcIceCandidateInit'>>]}, 'ref': 'kittycad.models.rtc_ice_candidate_init.RtcIceCandidateInit:94192510042064', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'candidate': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'sdpMLineIndex': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'sdpMid': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'usernameFragment': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'RtcIceCandidateInit', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}}, 'model_name': 'TrickleIceData', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'type': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'default': 'trickle_ice', 'schema': {'expected': ['trickle_ice'], 'type': 'literal'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'trickle_ice', 'type': 'model-fields'}, 'type': 'model'}}, 'discriminator': 'type', 'from_attributes': True, 'metadata': {}, 'strict': False, 'type': 'tagged-union'}, 'type': 'model'}, 'type': 'model-field'}, 'success': {'metadata': {'pydantic_js_annotation_functions': [<function get_json_schema_update_func.<locals>.json_schema_update_func>], 'pydantic_js_functions': []}, 'schema': {'type': 'bool'}, 'type': 'model-field'}}, 'model_name': 'SuccessWebSocketResponse', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'definitions'}[source]
- __pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})[source]
- __pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}[source]
- classmethod __pydantic_init_subclass__(**kwargs)[source]
This is intended to behave just like
__init_subclass__
, but is called byModelMetaclass
only after the class is actually fully initialized. In particular, attributes likemodel_fields
will be present when this is called.This is necessary because
__init_subclass__
will always be called bytype.__new__
, and it would require a prohibitively large refactor to theModelMetaclass
to ensure thattype.__new__
was called in such a manner that the class would already be sufficiently initialized.This will receive the same
kwargs
that would be passed to the standard__init_subclass__
, namely, any kwargs passed to the class definition that aren’t used internally by pydantic.
- __pydantic_parent_namespace__: ClassVar[dict[str, Any] | None] = {'BaseModel': <pydantic._internal._model_construction._PydanticWeakRef object>, 'ConfigDict': <pydantic._internal._model_construction._PydanticWeakRef object>, 'OkWebSocketResponseData': <pydantic._internal._model_construction._PydanticWeakRef object>, 'Optional': <pydantic._internal._model_construction._PydanticWeakRef object>, '__builtins__': {'ArithmeticError': <class 'ArithmeticError'>, 'AssertionError': <class 'AssertionError'>, 'AttributeError': <class 'AttributeError'>, 'BaseException': <class 'BaseException'>, 'BaseExceptionGroup': <class 'BaseExceptionGroup'>, 'BlockingIOError': <class 'BlockingIOError'>, 'BrokenPipeError': <class 'BrokenPipeError'>, 'BufferError': <class 'BufferError'>, 'BytesWarning': <class 'BytesWarning'>, 'ChildProcessError': <class 'ChildProcessError'>, 'ConnectionAbortedError': <class 'ConnectionAbortedError'>, 'ConnectionError': <class 'ConnectionError'>, 'ConnectionRefusedError': <class 'ConnectionRefusedError'>, 'ConnectionResetError': <class 'ConnectionResetError'>, 'DeprecationWarning': <class 'DeprecationWarning'>, 'EOFError': <class 'EOFError'>, 'Ellipsis': Ellipsis, 'EncodingWarning': <class 'EncodingWarning'>, 'EnvironmentError': <class 'OSError'>, 'Exception': <class 'Exception'>, 'ExceptionGroup': <class 'ExceptionGroup'>, 'False': False, 'FileExistsError': <class 'FileExistsError'>, 'FileNotFoundError': <class 'FileNotFoundError'>, 'FloatingPointError': <class 'FloatingPointError'>, 'FutureWarning': <class 'FutureWarning'>, 'GeneratorExit': <class 'GeneratorExit'>, 'IOError': <class 'OSError'>, 'ImportError': <class 'ImportError'>, 'ImportWarning': <class 'ImportWarning'>, 'IndentationError': <class 'IndentationError'>, 'IndexError': <class 'IndexError'>, 'InterruptedError': <class 'InterruptedError'>, 'IsADirectoryError': <class 'IsADirectoryError'>, 'KeyError': <class 'KeyError'>, 'KeyboardInterrupt': <class 'KeyboardInterrupt'>, 'LookupError': <class 'LookupError'>, 'MemoryError': <class 'MemoryError'>, 'ModuleNotFoundError': <class 'ModuleNotFoundError'>, 'NameError': <class 'NameError'>, 'None': None, 'NotADirectoryError': <class 'NotADirectoryError'>, 'NotImplemented': NotImplemented, 'NotImplementedError': <class 'NotImplementedError'>, 'OSError': <class 'OSError'>, 'OverflowError': <class 'OverflowError'>, 'PendingDeprecationWarning': <class 'PendingDeprecationWarning'>, 'PermissionError': <class 'PermissionError'>, 'ProcessLookupError': <class 'ProcessLookupError'>, 'RecursionError': <class 'RecursionError'>, 'ReferenceError': <class 'ReferenceError'>, 'ResourceWarning': <class 'ResourceWarning'>, 'RuntimeError': <class 'RuntimeError'>, 'RuntimeWarning': <class 'RuntimeWarning'>, 'StopAsyncIteration': <class 'StopAsyncIteration'>, 'StopIteration': <class 'StopIteration'>, 'SyntaxError': <class 'SyntaxError'>, 'SyntaxWarning': <class 'SyntaxWarning'>, 'SystemError': <class 'SystemError'>, 'SystemExit': <class 'SystemExit'>, 'TabError': <class 'TabError'>, 'TimeoutError': <class 'TimeoutError'>, 'True': True, 'TypeError': <class 'TypeError'>, 'UnboundLocalError': <class 'UnboundLocalError'>, 'UnicodeDecodeError': <class 'UnicodeDecodeError'>, 'UnicodeEncodeError': <class 'UnicodeEncodeError'>, 'UnicodeError': <class 'UnicodeError'>, 'UnicodeTranslateError': <class 'UnicodeTranslateError'>, 'UnicodeWarning': <class 'UnicodeWarning'>, 'UserWarning': <class 'UserWarning'>, 'ValueError': <class 'ValueError'>, 'Warning': <class 'Warning'>, 'ZeroDivisionError': <class 'ZeroDivisionError'>, '__build_class__': <built-in function __build_class__>, '__debug__': True, '__doc__': "Built-in functions, types, exceptions, and other objects.\n\nThis module provides direct access to all 'built-in'\nidentifiers of Python; for example, builtins.len is\nthe full name for the built-in function len().\n\nThis module is not normally accessed explicitly by most\napplications, but can be useful in modules that provide\nobjects with the same name as a built-in value, but in\nwhich the built-in of that name is also needed.", '__import__': <built-in function __import__>, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__name__': 'builtins', '__package__': '', '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), 'abs': <built-in function abs>, 'aiter': <built-in function aiter>, 'all': <built-in function all>, 'anext': <built-in function anext>, 'any': <built-in function any>, 'ascii': <built-in function ascii>, 'bin': <built-in function bin>, 'bool': <class 'bool'>, 'breakpoint': <built-in function breakpoint>, 'bytearray': <class 'bytearray'>, 'bytes': <class 'bytes'>, 'callable': <built-in function callable>, 'chr': <built-in function chr>, 'classmethod': <class 'classmethod'>, 'compile': <built-in function compile>, 'complex': <class 'complex'>, 'copyright': Copyright (c) 2001-2023 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'delattr': <built-in function delattr>, 'dict': <class 'dict'>, 'dir': <built-in function dir>, 'divmod': <built-in function divmod>, 'enumerate': <class 'enumerate'>, 'eval': <built-in function eval>, 'exec': <built-in function exec>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'filter': <class 'filter'>, 'float': <class 'float'>, 'format': <built-in function format>, 'frozenset': <class 'frozenset'>, 'getattr': <built-in function getattr>, 'globals': <built-in function globals>, 'hasattr': <built-in function hasattr>, 'hash': <built-in function hash>, 'help': Type help() for interactive help, or help(object) for help about object., 'hex': <built-in function hex>, 'id': <built-in function id>, 'input': <built-in function input>, 'int': <class 'int'>, 'isinstance': <built-in function isinstance>, 'issubclass': <built-in function issubclass>, 'iter': <built-in function iter>, 'len': <built-in function len>, 'license': Type license() to see the full license text, 'list': <class 'list'>, 'locals': <built-in function locals>, 'map': <class 'map'>, 'max': <built-in function max>, 'memoryview': <class 'memoryview'>, 'min': <built-in function min>, 'next': <built-in function next>, 'object': <class 'object'>, 'oct': <built-in function oct>, 'open': <built-in function open>, 'ord': <built-in function ord>, 'pow': <built-in function pow>, 'print': <built-in function print>, 'property': <class 'property'>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'range': <class 'range'>, 'repr': <built-in function repr>, 'reversed': <class 'reversed'>, 'round': <built-in function round>, 'set': <class 'set'>, 'setattr': <built-in function setattr>, 'slice': <class 'slice'>, 'sorted': <built-in function sorted>, 'staticmethod': <class 'staticmethod'>, 'str': <class 'str'>, 'sum': <built-in function sum>, 'super': <class 'super'>, 'tuple': <class 'tuple'>, 'type': <class 'type'>, 'vars': <built-in function vars>, 'zip': <class 'zip'>}, '__cached__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/__pycache__/success_web_socket_response.cpython-312.pyc', '__doc__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__file__': '/home/runner/work/kittycad.py/kittycad.py/kittycad/models/success_web_socket_response.py', '__loader__': <pydantic._internal._model_construction._PydanticWeakRef object>, '__name__': 'kittycad.models.success_web_socket_response', '__package__': 'kittycad.models', '__spec__': <pydantic._internal._model_construction._PydanticWeakRef object>}[source]
- __pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model( ModelSerializer { class: Py( 0x000055aae7443220, ), serializer: Fields( GeneralFieldsSerializer { fields: { "resp": SerField { key_py: Py( 0x00007f68a59b4690, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae731a1f0, ), serializer: Union( UnionSerializer { choices: [ Model( ModelSerializer { class: Py( 0x000055aae71ae010, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f688ffacaf0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "ice_server_info", }, expected_py: None, name: "literal['ice_server_info']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae71aa070, ), serializer: Fields( GeneralFieldsSerializer { fields: { "ice_servers": SerField { key_py: Py( 0x00007f688ffacc70, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Model( ModelSerializer { class: Py( 0x000055aae6aac120, ), serializer: Fields( GeneralFieldsSerializer { fields: { "urls": SerField { key_py: Py( 0x00007f6898876c10, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, "credential": SerField { key_py: Py( 0x00007f68945eb630, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a7748100, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, "username": SerField { key_py: Py( 0x00007f68a64655b0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a7748100, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "IceServer", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[IceServer]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "IceServerInfoData", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "ice_server_info", }, ), Model( ModelSerializer { class: Py( 0x000055aae71b7490, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae71b2ee0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "candidate": SerField { key_py: Py( 0x00007f68a71ae1f0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae719ffd0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "sdpMLineIndex": SerField { key_py: Py( 0x00007f688ff621f0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a7748100, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, }, "sdpMid": SerField { key_py: Py( 0x00007f688ff70e70, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a7748100, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, "usernameFragment": SerField { key_py: Py( 0x00007f688ff62e30, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a7748100, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, "candidate": SerField { key_py: Py( 0x00007f68a71ae1f0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "RtcIceCandidateInit", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "TrickleIceData", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f688ff796f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "trickle_ice", }, expected_py: None, name: "literal['trickle_ice']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "trickle_ice", }, ), Model( ModelSerializer { class: Py( 0x000055aae71bf6c0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f688ff79770, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "sdp_answer", }, expected_py: None, name: "literal['sdp_answer']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae71bcc00, ), serializer: Fields( GeneralFieldsSerializer { fields: { "answer": SerField { key_py: Py( 0x00007f68a677d800, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae71a47f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000055aae71a3500, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, "sdp": SerField { key_py: Py( 0x00007f68a6149b60, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "RtcSessionDescription", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "SdpAnswerData", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "sdp_answer", }, ), Model( ModelSerializer { class: Py( 0x000055aae71c5340, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae71c31c0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "modeling_response": SerField { key_py: Py( 0x00007f688ff6ccb0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae70fa2f0, ), serializer: Union( UnionSerializer { choices: [ Model( ModelSerializer { class: Py( 0x000055aae6fe5990, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a77a9f40, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "empty", }, expected_py: None, name: "literal['empty']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "empty", }, ), Model( ModelSerializer { class: Py( 0x000055aae6fe6370, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6a0f1c0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "files": SerField { key_py: Py( 0x00007f68a77f1b60, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Model( ModelSerializer { class: Py( 0x000055aae6a0d860, ), serializer: Fields( GeneralFieldsSerializer { fields: { "contents": SerField { key_py: Py( 0x00007f68a77f5940, ), alias: None, alias_py: None, serializer: Some( Bytes( BytesSerializer { bytes_mode: Utf8, }, ), ), required: true, }, "name": SerField { key_py: Py( 0x00007f68a783b7b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "ExportFile", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[ExportFile]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "Export", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a27bf600, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "export", }, expected_py: None, name: "literal['export']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "export", }, ), Model( ModelSerializer { class: Py( 0x000055aae6fe8860, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689510e830, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "select_with_point", }, expected_py: None, name: "literal['select_with_point']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6e9abe0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_id": SerField { key_py: Py( 0x00007f68945303b0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a7748100, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "SelectWithPoint", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "select_with_point", }, ), Model( ModelSerializer { class: Py( 0x000055aae6fecc60, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f6896b535f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "highlight_set_entity", }, expected_py: None, name: "literal['highlight_set_entity']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6aa7130, ), serializer: Fields( GeneralFieldsSerializer { fields: { "sequence": SerField { key_py: Py( 0x00007f68a783cc48, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a7748100, ), ), serializer: Nullable( NullableSerializer { serializer: Int( IntSerializer, ), }, ), }, ), ), required: true, }, "entity_id": SerField { key_py: Py( 0x00007f68945303b0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a7748100, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "HighlightSetEntity", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "highlight_set_entity", }, ), Model( ModelSerializer { class: Py( 0x000055aae6ff0220, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae69f28f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_id": SerField { key_py: Py( 0x00007f68945303b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "EntityGetChildUuid", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68956df1b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_get_child_uuid", }, expected_py: None, name: "literal['entity_get_child_uuid']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "entity_get_child_uuid", }, ), Model( ModelSerializer { class: Py( 0x000055aae6ff4430, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae69ef0e0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "num": SerField { key_py: Py( 0x00007f68a6d376f0, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "EntityGetNumChildren", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68956def30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_get_num_children", }, expected_py: None, name: "literal['entity_get_num_children']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "entity_get_num_children", }, ), Model( ModelSerializer { class: Py( 0x000055aae6ff73c0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae69f5600, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_id": SerField { key_py: Py( 0x00007f68945303b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "EntityGetParentId", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68956dc230, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_get_parent_id", }, expected_py: None, name: "literal['entity_get_parent_id']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "entity_get_parent_id", }, ), Model( ModelSerializer { class: Py( 0x000055aae6849670, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae69ed9b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_ids": SerField { key_py: Py( 0x00007f689451a2b0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "EntityGetAllChildUuids", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689511a6f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_get_all_child_uuids", }, expected_py: None, name: "literal['entity_get_all_child_uuids']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "entity_get_all_child_uuids", }, ), Model( ModelSerializer { class: Py( 0x000055aae700f820, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae69f9840, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_ids": SerField { key_py: Py( 0x00007f689451a2b0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "EntityGetSketchPaths", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68956df970, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_get_sketch_paths", }, expected_py: None, name: "literal['entity_get_sketch_paths']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "entity_get_sketch_paths", }, ), Model( ModelSerializer { class: Py( 0x000055aae7012eb0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68956efcc0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "loft", }, expected_py: None, name: "literal['loft']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6afc2e0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "solid_id": SerField { key_py: Py( 0x00007f6894443eb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "Loft", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "loft", }, ), Model( ModelSerializer { class: Py( 0x000055aae70164d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae682ac70, ), serializer: Fields( GeneralFieldsSerializer { fields: { "face_id": SerField { key_py: Py( 0x00007f68946f4cf0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "ClosePath", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689565a870, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "close_path", }, expected_py: None, name: "literal['close_path']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "close_path", }, ), Model( ModelSerializer { class: Py( 0x000055aae70196f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68956583f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "camera_drag_move", }, expected_py: None, name: "literal['camera_drag_move']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae680ee90, ), serializer: Fields( GeneralFieldsSerializer { fields: { "settings": SerField { key_py: Py( 0x00007f68a6727570, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "CameraDragMove", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "camera_drag_move", }, ), Model( ModelSerializer { class: Py( 0x000055aae701c970, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6806d40, ), serializer: Fields( GeneralFieldsSerializer { fields: { "settings": SerField { key_py: Py( 0x00007f68a6727570, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "CameraDragEnd", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68956582b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "camera_drag_end", }, expected_py: None, name: "literal['camera_drag_end']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "camera_drag_end", }, ), Model( ModelSerializer { class: Py( 0x000055aae70262a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae630f270, ), serializer: Fields( GeneralFieldsSerializer { fields: { "settings": SerField { key_py: Py( 0x00007f68a6727570, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "DefaultCameraGetSettings", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689511a150, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "default_camera_get_settings", }, expected_py: None, name: "literal['default_camera_get_settings']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "default_camera_get_settings", }, ), Model( ModelSerializer { class: Py( 0x000055aae702fa30, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae69c6b10, ), serializer: Fields( GeneralFieldsSerializer { fields: { "settings": SerField { key_py: Py( 0x00007f68a6727570, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "DefaultCameraZoom", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68956dfe30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "default_camera_zoom", }, expected_py: None, name: "literal['default_camera_zoom']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "default_camera_zoom", }, ), Model( ModelSerializer { class: Py( 0x000055aae7039290, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6fde480, ), serializer: Fields( GeneralFieldsSerializer { fields: { "settings": SerField { key_py: Py( 0x00007f68a6727570, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "ZoomToFit", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689510a6b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "zoom_to_fit", }, expected_py: None, name: "literal['zoom_to_fit']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "zoom_to_fit", }, ), Model( ModelSerializer { class: Py( 0x000055aae6ffa3a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6fc7c50, ), serializer: Fields( GeneralFieldsSerializer { fields: { "settings": SerField { key_py: Py( 0x00007f68a6727570, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "ViewIsometric", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689510aaf0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "view_isometric", }, expected_py: None, name: "literal['view_isometric']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "view_isometric", }, ), Model( ModelSerializer { class: Py( 0x000055aae704c6a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6aa1f80, ), serializer: Fields( GeneralFieldsSerializer { fields: { "num_objects": SerField { key_py: Py( 0x00007f68976e2f70, ), alias: None, alias_py: None, serializer: Some( Int( IntSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "GetNumObjects", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f6896b51e30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "get_num_objects", }, expected_py: None, name: "literal['get_num_objects']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "get_num_objects", }, ), Model( ModelSerializer { class: Py( 0x000055aae70578b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae69bc8d0, ), serializer: Fields( GeneralFieldsSerializer { fields: {}, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 0, }, ), has_extra: false, root_model: false, name: "DefaultCameraFocusOn", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68956dfb70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "default_camera_focus_on", }, expected_py: None, name: "literal['default_camera_focus_on']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "default_camera_focus_on", }, ), Model( ModelSerializer { class: Py( 0x000055aae7057fa0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689510e770, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "select_get", }, expected_py: None, name: "literal['select_get']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6e99ae0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_ids": SerField { key_py: Py( 0x00007f689451a2b0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "SelectGet", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "select_get", }, ), Model( ModelSerializer { class: Py( 0x000055aae705b830, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae7002810, ), serializer: Fields( GeneralFieldsSerializer { fields: { "faces": SerField { key_py: Py( 0x00007f68951d5440, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "Solid3dGetAllEdgeFaces", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689511b3c0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_get_all_edge_faces", }, expected_py: None, name: "literal['solid3d_get_all_edge_faces']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "solid3d_get_all_edge_faces", }, ), Model( ModelSerializer { class: Py( 0x000055aae705e920, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6fcacf0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "edges": SerField { key_py: Py( 0x00007f68a782a4a0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "Solid3dGetAllOppositeEdges", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689511b410, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_get_all_opposite_edges", }, expected_py: None, name: "literal['solid3d_get_all_opposite_edges']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "solid3d_get_all_opposite_edges", }, ), Model( ModelSerializer { class: Py( 0x000055aae7062490, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6fca150, ), serializer: Fields( GeneralFieldsSerializer { fields: { "edge": SerField { key_py: Py( 0x00007f68a59b75d0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "Solid3dGetOppositeEdge", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689511b5f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_get_opposite_edge", }, expected_py: None, name: "literal['solid3d_get_opposite_edge']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "solid3d_get_opposite_edge", }, ), Model( ModelSerializer { class: Py( 0x000055aae70661b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689511b550, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_get_next_adjacent_edge", }, expected_py: None, name: "literal['solid3d_get_next_adjacent_edge']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6fc3930, ), serializer: Fields( GeneralFieldsSerializer { fields: { "edge": SerField { key_py: Py( 0x00007f68a59b75d0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a7748100, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "Solid3dGetNextAdjacentEdge", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "solid3d_get_next_adjacent_edge", }, ), Model( ModelSerializer { class: Py( 0x000055aae7069f10, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689511b640, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_get_prev_adjacent_edge", }, expected_py: None, name: "literal['solid3d_get_prev_adjacent_edge']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6fd37b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "edge": SerField { key_py: Py( 0x00007f68a59b75d0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a7748100, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "Solid3dGetPrevAdjacentEdge", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "solid3d_get_prev_adjacent_edge", }, ), Model( ModelSerializer { class: Py( 0x000055aae706d930, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6a9fb20, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_type": SerField { key_py: Py( 0x00007f68956de5f0, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000055aae69fe3b0, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "GetEntityType", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f6896b52970, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "get_entity_type", }, expected_py: None, name: "literal['get_entity_type']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "get_entity_type", }, ), Model( ModelSerializer { class: Py( 0x000055aae7071a70, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6894b40, ), serializer: Fields( GeneralFieldsSerializer { fields: { "control_points": SerField { key_py: Py( 0x00007f68972c5230, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[definition-ref]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "CurveGetControlPoints", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689511a100, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "curve_get_control_points", }, expected_py: None, name: "literal['curve_get_control_points']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "curve_get_control_points", }, ), Model( ModelSerializer { class: Py( 0x000055aae7075b10, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68956de9f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "curve_get_type", }, expected_py: None, name: "literal['curve_get_type']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6891c50, ), serializer: Fields( GeneralFieldsSerializer { fields: { "curve_type": SerField { key_py: Py( 0x00007f68956dda70, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000055aae6891560, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "CurveGetType", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "curve_get_type", }, ), Model( ModelSerializer { class: Py( 0x000055aae7079c60, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f6895594930, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "mouse_click", }, expected_py: None, name: "literal['mouse_click']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6d75bb0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entities_modified": SerField { key_py: Py( 0x00007f68941c6c70, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, "entities_selected": SerField { key_py: Py( 0x00007f68941c6a70, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "MouseClick", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "mouse_click", }, ), Model( ModelSerializer { class: Py( 0x000055aae707ec10, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6fc6830, ), serializer: Fields( GeneralFieldsSerializer { fields: { "contents": SerField { key_py: Py( 0x00007f68a77f5940, ), alias: None, alias_py: None, serializer: Some( Bytes( BytesSerializer { bytes_mode: Utf8, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "TakeSnapshot", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689510f6f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "take_snapshot", }, expected_py: None, name: "literal['take_snapshot']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "take_snapshot", }, ), Model( ModelSerializer { class: Py( 0x000055aae70826c0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689510d830, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "path_get_info", }, expected_py: None, name: "literal['path_get_info']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6fd2890, ), serializer: Fields( GeneralFieldsSerializer { fields: { "segments": SerField { key_py: Py( 0x00007f68a64672f0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[definition-ref]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "PathGetInfo", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "path_get_info", }, ), Model( ModelSerializer { class: Py( 0x000055aae7086a40, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689510db30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "path_segment_info", }, expected_py: None, name: "literal['path_segment_info']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "path_segment_info", }, ), Model( ModelSerializer { class: Py( 0x000055aae708a710, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689511b000, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "path_get_curve_uuids_for_vertices", }, expected_py: None, name: "literal['path_get_curve_uuids_for_vertices']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6ffb900, ), serializer: Fields( GeneralFieldsSerializer { fields: { "curve_ids": SerField { key_py: Py( 0x00007f68940b1770, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "PathGetCurveUuidsForVertices", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "path_get_curve_uuids_for_vertices", }, ), Model( ModelSerializer { class: Py( 0x000055aae7090360, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6ffa9a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "curve_id": SerField { key_py: Py( 0x00007f6894576bf0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "PathGetCurveUuid", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689510d730, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "path_get_curve_uuid", }, expected_py: None, name: "literal['path_get_curve_uuid']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "path_get_curve_uuid", }, ), Model( ModelSerializer { class: Py( 0x000055aae7095010, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae7000060, ), serializer: Fields( GeneralFieldsSerializer { fields: { "vertex_ids": SerField { key_py: Py( 0x00007f68944e6230, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "PathGetVertexUuids", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689510d9b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "path_get_vertex_uuids", }, expected_py: None, name: "literal['path_get_vertex_uuids']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "path_get_vertex_uuids", }, ), Model( ModelSerializer { class: Py( 0x000055aae7098ce0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689511b0a0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "path_get_sketch_target_uuid", }, expected_py: None, name: "literal['path_get_sketch_target_uuid']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6fce830, ), serializer: Fields( GeneralFieldsSerializer { fields: { "target_id": SerField { key_py: Py( 0x00007f68a782a560, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a7748100, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "PathGetSketchTargetUuid", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "path_get_sketch_target_uuid", }, ), Model( ModelSerializer { class: Py( 0x000055aae709c5b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6897580, ), serializer: Fields( GeneralFieldsSerializer { fields: { "end": SerField { key_py: Py( 0x00007f68a7839760, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "start": SerField { key_py: Py( 0x00007f68a783d1a0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "CurveGetEndPoints", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68956deab0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "curve_get_end_points", }, expected_py: None, name: "literal['curve_get_end_points']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "curve_get_end_points", }, ), Model( ModelSerializer { class: Py( 0x000055aae70a01b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f6896b52630, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "face_is_planar", }, expected_py: None, name: "literal['face_is_planar']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6a3dcd0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "z_axis": SerField { key_py: Py( 0x00007f6894547180, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a7748100, ), ), serializer: Nullable( NullableSerializer { serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), }, ), ), required: true, }, "origin": SerField { key_py: Py( 0x00007f68a783bec0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a7748100, ), ), serializer: Nullable( NullableSerializer { serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), }, ), ), required: true, }, "x_axis": SerField { key_py: Py( 0x00007f6894546fa0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a7748100, ), ), serializer: Nullable( NullableSerializer { serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), }, ), ), required: true, }, "y_axis": SerField { key_py: Py( 0x00007f6894547090, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a7748100, ), ), serializer: Nullable( NullableSerializer { serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "FaceIsPlanar", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "face_is_planar", }, ), Model( ModelSerializer { class: Py( 0x000055aae70a42d0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f6896b528b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "face_get_position", }, expected_py: None, name: "literal['face_get_position']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6a3b120, ), serializer: Fields( GeneralFieldsSerializer { fields: { "pos": SerField { key_py: Py( 0x00007f68a783c250, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "FaceGetPosition", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "face_get_position", }, ), Model( ModelSerializer { class: Py( 0x000055aae70a9730, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6a35770, ), serializer: Fields( GeneralFieldsSerializer { fields: { "pos": SerField { key_py: Py( 0x00007f68a783c250, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "FaceGetCenter", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f6896b52ef0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "face_get_center", }, expected_py: None, name: "literal['face_get_center']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "face_get_center", }, ), Model( ModelSerializer { class: Py( 0x000055aae70b13a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6a37e10, ), serializer: Fields( GeneralFieldsSerializer { fields: { "normal": SerField { key_py: Py( 0x00007f68a2732af0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "df_du": SerField { key_py: Py( 0x00007f68945460a0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "df_dv": SerField { key_py: Py( 0x00007f6894546130, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "FaceGetGradient", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f6896b51b70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "face_get_gradient", }, expected_py: None, name: "literal['face_get_gradient']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "face_get_gradient", }, ), Model( ModelSerializer { class: Py( 0x000055aae70b5e60, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6fc1b70, ), serializer: Fields( GeneralFieldsSerializer { fields: { "plane_coordinates": SerField { key_py: Py( 0x00007f68941a48b0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a7748100, ), ), serializer: Nullable( NullableSerializer { serializer: Model( ModelSerializer { class: Py( 0x000055aae6b03c20, ), serializer: Fields( GeneralFieldsSerializer { fields: { "y": SerField { key_py: Py( 0x00007f68a783f658, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "x": SerField { key_py: Py( 0x00007f68a783df18, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "Point2d", }, ), }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "PlaneIntersectAndProject", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689511b1e0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "plane_intersect_and_project", }, expected_py: None, name: "literal['plane_intersect_and_project']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "plane_intersect_and_project", }, ), Model( ModelSerializer { class: Py( 0x000055aae70ba920, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6ab7300, ), serializer: Fields( GeneralFieldsSerializer { fields: { "object_id": SerField { key_py: Py( 0x00007f6898720cb0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "ImportFiles", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f6896b50b70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "import_files", }, expected_py: None, name: "literal['import_files']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "import_files", }, ), Model( ModelSerializer { class: Py( 0x000055aae70c03c0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f6896b507b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "imported_geometry", }, expected_py: None, name: "literal['imported_geometry']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6ab8370, ), serializer: Fields( GeneralFieldsSerializer { fields: { "id": SerField { key_py: Py( 0x00007f68a783a4e8, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, "value": SerField { key_py: Py( 0x00007f68a783dc20, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "ImportedGeometry", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "imported_geometry", }, ), Model( ModelSerializer { class: Py( 0x000055aae70c5900, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68956efde0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "mass", }, expected_py: None, name: "literal['mass']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6b044c0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "mass": SerField { key_py: Py( 0x00007f68956efde0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "output_unit": SerField { key_py: Py( 0x00007f6894e9c630, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000055aae630d020, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "Mass", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "mass", }, ), Model( ModelSerializer { class: Py( 0x000055aae70c9180, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6fdc190, ), serializer: Fields( GeneralFieldsSerializer { fields: { "volume": SerField { key_py: Py( 0x00007f68a783dcb0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "output_unit": SerField { key_py: Py( 0x00007f6894e9c630, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000055aae630d890, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "Volume", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a783dcb0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "volume", }, expected_py: None, name: "literal['volume']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "volume", }, ), Model( ModelSerializer { class: Py( 0x000055aae70cd090, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae69ce520, ), serializer: Fields( GeneralFieldsSerializer { fields: { "output_unit": SerField { key_py: Py( 0x00007f6894e9c630, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000055aae630cc40, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, "density": SerField { key_py: Py( 0x00007f68a5955fe0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "Density", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a5955fe0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "density", }, expected_py: None, name: "literal['density']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "density", }, ), Model( ModelSerializer { class: Py( 0x000055aae70d0e30, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689510f670, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "surface_area", }, expected_py: None, name: "literal['surface_area']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6fd4d90, ), serializer: Fields( GeneralFieldsSerializer { fields: { "output_unit": SerField { key_py: Py( 0x00007f6894e9c630, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000055aae630bdb0, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, "surface_area": SerField { key_py: Py( 0x00007f689510f670, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "SurfaceArea", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "surface_area", }, ), Model( ModelSerializer { class: Py( 0x000055aae70d5390, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6823810, ), serializer: Fields( GeneralFieldsSerializer { fields: { "center_of_mass": SerField { key_py: Py( 0x00007f689565a330, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "output_unit": SerField { key_py: Py( 0x00007f6894e9c630, ), alias: None, alias_py: None, serializer: Some( Enum( EnumSerializer { class: Py( 0x000055aae674e4b0, ), serializer: Some( Str( StrSerializer, ), ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "CenterOfMass", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689565a330, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "center_of_mass", }, expected_py: None, name: "literal['center_of_mass']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "center_of_mass", }, ), Model( ModelSerializer { class: Py( 0x000055aae70d9150, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f6896b50770, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "get_sketch_mode_plane", }, expected_py: None, name: "literal['get_sketch_mode_plane']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6aa5aa0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "origin": SerField { key_py: Py( 0x00007f68a783bec0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "z_axis": SerField { key_py: Py( 0x00007f6894547180, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "x_axis": SerField { key_py: Py( 0x00007f6894546fa0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "y_axis": SerField { key_py: Py( 0x00007f6894547090, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "GetSketchModePlane", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "get_sketch_mode_plane", }, ), Model( ModelSerializer { class: Py( 0x000055aae70dd420, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae69f3250, ), serializer: Fields( GeneralFieldsSerializer { fields: { "min_distance": SerField { key_py: Py( 0x00007f6894530f70, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, "max_distance": SerField { key_py: Py( 0x00007f68a67d9db0, ), alias: None, alias_py: None, serializer: Some( Float( FloatSerializer { inf_nan_mode: Null, }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "EntityGetDistance", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68956dde30, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_get_distance", }, expected_py: None, name: "literal['entity_get_distance']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "entity_get_distance", }, ), Model( ModelSerializer { class: Py( 0x000055aae70e2620, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689511a740, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_linear_pattern_transform", }, expected_py: None, name: "literal['entity_linear_pattern_transform']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae69fc980, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_ids": SerField { key_py: Py( 0x00007f689451a2b0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "EntityLinearPatternTransform", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "entity_linear_pattern_transform", }, ), Model( ModelSerializer { class: Py( 0x000055aae70e8810, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68956df830, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_linear_pattern", }, expected_py: None, name: "literal['entity_linear_pattern']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae69fb0c0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_ids": SerField { key_py: Py( 0x00007f689451a2b0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "EntityLinearPattern", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "entity_linear_pattern", }, ), Model( ModelSerializer { class: Py( 0x000055aae70ec930, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68956dd970, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "entity_circular_pattern", }, expected_py: None, name: "literal['entity_circular_pattern']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae69ebf80, ), serializer: Fields( GeneralFieldsSerializer { fields: { "entity_ids": SerField { key_py: Py( 0x00007f689451a2b0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Str( StrSerializer, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[str]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "EntityCircularPattern", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "entity_circular_pattern", }, ), Model( ModelSerializer { class: Py( 0x000055aae70f0600, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6e9de30, ), serializer: Fields( GeneralFieldsSerializer { fields: { "faces": SerField { key_py: Py( 0x00007f68951d5440, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[definition-ref]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "Solid3dGetExtrusionFaceInfo", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f689511b4b0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "solid3d_get_extrusion_face_info", }, expected_py: None, name: "literal['solid3d_get_extrusion_face_info']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "solid3d_get_extrusion_face_info", }, ), Model( ModelSerializer { class: Py( 0x000055aae6b7e530, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f6896b52230, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "extrusion_face_info", }, expected_py: None, name: "literal['extrusion_face_info']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "extrusion_face_info", }, ), ], name: "Union[empty, export, select_with_point, highlight_set_entity, entity_get_child_uuid, entity_get_num_children, entity_get_parent_id, entity_get_all_child_uuids, entity_get_sketch_paths, loft, close_path, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_zoom, zoom_to_fit, view_isometric, get_num_objects, default_camera_focus_on, select_get, solid3d_get_all_edge_faces, solid3d_get_all_opposite_edges, solid3d_get_opposite_edge, solid3d_get_next_adjacent_edge, solid3d_get_prev_adjacent_edge, get_entity_type, curve_get_control_points, curve_get_type, mouse_click, take_snapshot, path_get_info, path_segment_info, path_get_curve_uuids_for_vertices, path_get_curve_uuid, path_get_vertex_uuids, path_get_sketch_target_uuid, curve_get_end_points, face_is_planar, face_get_position, face_get_center, face_get_gradient, plane_intersect_and_project, import_files, imported_geometry, mass, volume, density, surface_area, center_of_mass, get_sketch_mode_plane, entity_get_distance, entity_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, solid3d_get_extrusion_face_info, extrusion_face_info]", }, ), has_extra: false, root_model: true, name: "RootModel[Annotated[Union[empty, export, select_with_point, highlight_set_entity, entity_get_child_uuid, entity_get_num_children, entity_get_parent_id, entity_get_all_child_uuids, entity_get_sketch_paths, loft, close_path, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_zoom, zoom_to_fit, view_isometric, get_num_objects, default_camera_focus_on, select_get, solid3d_get_all_edge_faces, solid3d_get_all_opposite_edges, solid3d_get_opposite_edge, solid3d_get_next_adjacent_edge, solid3d_get_prev_adjacent_edge, get_entity_type, curve_get_control_points, curve_get_type, mouse_click, take_snapshot, path_get_info, path_segment_info, path_get_curve_uuids_for_vertices, path_get_curve_uuid, path_get_vertex_uuids, path_get_sketch_target_uuid, curve_get_end_points, face_is_planar, face_get_position, face_get_center, face_get_gradient, plane_intersect_and_project, import_files, imported_geometry, mass, volume, density, surface_area, center_of_mass, get_sketch_mode_plane, entity_get_distance, entity_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, solid3d_get_extrusion_face_info, extrusion_face_info], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "ModelingData", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68950b3bf0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "modeling", }, expected_py: None, name: "literal['modeling']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "modeling", }, ), Model( ModelSerializer { class: Py( 0x000055aae73023a0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae72feb70, ), serializer: Fields( GeneralFieldsSerializer { fields: { "responses": SerField { key_py: Py( 0x00007f68a2b9c470, ), alias: None, alias_py: None, serializer: Some( Dict( DictSerializer { key_serializer: Str( StrSerializer, ), value_serializer: Model( ModelSerializer { class: Py( 0x000055aae6947000, ), serializer: Union( UnionSerializer { choices: [ Model( ModelSerializer { class: Py( 0x000055aae69451e0, ), serializer: Fields( GeneralFieldsSerializer { fields: {}, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 0, }, ), has_extra: false, root_model: false, name: "response", }, ), Model( ModelSerializer { class: Py( 0x000055aae6946330, ), serializer: Fields( GeneralFieldsSerializer { fields: {}, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 0, }, ), has_extra: false, root_model: false, name: "errors", }, ), ], name: "Union[response, errors]", }, ), has_extra: false, root_model: true, name: "RootModel[Union[response, errors]]", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "dict[str, RootModel[Union[response, errors]]]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "ModelingBatchData", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f688ff6ed70, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "modeling_batch", }, expected_py: None, name: "literal['modeling_batch']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "modeling_batch", }, ), Model( ModelSerializer { class: Py( 0x000055aae7309450, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae7305d70, ), serializer: Fields( GeneralFieldsSerializer { fields: { "files": SerField { key_py: Py( 0x00007f68a77f1b60, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Model( ModelSerializer { class: Py( 0x000055aae6ffed50, ), serializer: Fields( GeneralFieldsSerializer { fields: { "contents": SerField { key_py: Py( 0x00007f68a77f5940, ), alias: None, alias_py: None, serializer: Some( Bytes( BytesSerializer { bytes_mode: Utf8, }, ), ), required: true, }, "name": SerField { key_py: Py( 0x00007f68a783b7b0, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "RawFile", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[RawFile]", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "ExportData", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a27bf600, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "export", }, expected_py: None, name: "literal['export']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "export", }, ), Model( ModelSerializer { class: Py( 0x000055aae730e5b0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae730c9a0, ), serializer: Fields( GeneralFieldsSerializer { fields: {}, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 0, }, ), has_extra: false, root_model: false, name: "MetricsRequestData", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f688ff6fef0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "metrics_request", }, expected_py: None, name: "literal['metrics_request']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "metrics_request", }, ), Model( ModelSerializer { class: Py( 0x000055aae7313020, ), serializer: Fields( GeneralFieldsSerializer { fields: { "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68955968f0, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "modeling_session_data", }, expected_py: None, name: "literal['modeling_session_data']", }, ), }, ), ), required: true, }, "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae7310970, ), serializer: Fields( GeneralFieldsSerializer { fields: { "session": SerField { key_py: Py( 0x00007f68a783ccf0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae6ebd330, ), serializer: Fields( GeneralFieldsSerializer { fields: { "api_call_id": SerField { key_py: Py( 0x00007f68941c6470, ), alias: None, alias_py: None, serializer: Some( Str( StrSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "ModelingSessionData", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 1, }, ), has_extra: false, root_model: false, name: "ModelingSessionDataData", }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "modeling_session_data", }, ), Model( ModelSerializer { class: Py( 0x000055aae7317bb0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "data": SerField { key_py: Py( 0x00007f68a78390a0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x000055aae7316920, ), serializer: Fields( GeneralFieldsSerializer { fields: {}, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 0, }, ), has_extra: false, root_model: false, name: "PongData", }, ), ), required: true, }, "type": SerField { key_py: Py( 0x00007f68a783da58, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f6895443c90, ), ), serializer: Literal( LiteralSerializer { expected_int: {}, expected_str: { "pong", }, expected_py: None, name: "literal['pong']", }, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 2, }, ), has_extra: false, root_model: false, name: "pong", }, ), ], name: "Union[ice_server_info, trickle_ice, sdp_answer, modeling, modeling_batch, export, metrics_request, modeling_session_data, pong]", }, ), has_extra: false, root_model: true, name: "RootModel[Annotated[Union[ice_server_info, trickle_ice, sdp_answer, modeling, modeling_batch, export, metrics_request, modeling_session_data, pong], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), ), required: true, }, "request_id": SerField { key_py: Py( 0x00007f6894539830, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f68a7748100, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, "success": SerField { key_py: Py( 0x00007f68a60a7420, ), alias: None, alias_py: None, serializer: Some( Bool( BoolSerializer, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 3, }, ), has_extra: false, root_model: false, name: "SuccessWebSocketResponse", }, ), definitions=[Enum(EnumSerializer { class: Py(0x55aae6ffd6a0), serializer: Some(Str(StrSerializer)) }), Enum(EnumSerializer { class: Py(0x55aae6a2fcc0), serializer: Some(Str(StrSerializer)) }), Model(ModelSerializer { class: Py(0x55aae6a30b50), serializer: Fields(GeneralFieldsSerializer { fields: {"face_id": SerField { key_py: Py(0x7f68946f4cf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f68a7748100)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "curve_id": SerField { key_py: Py(0x7f6894576bf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f68a7748100)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "cap": SerField { key_py: Py(0x7f68a2735680), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "ExtrusionFaceInfo" }), Model(ModelSerializer { class: Py(0x55aae67fee10), serializer: Fields(GeneralFieldsSerializer { fields: {"orientation": SerField { key_py: Py(0x7f689692d8b0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "ortho": SerField { key_py: Py(0x7f68955523d0), alias: None, alias_py: None, serializer: Some(Bool(BoolSerializer)), required: true }, "up": SerField { key_py: Py(0x7f68a65f7900), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "pos": SerField { key_py: Py(0x7f68a783c250), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "ortho_scale": SerField { key_py: Py(0x7f6894764df0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f68a7748100)), serializer: Nullable(NullableSerializer { serializer: Float(FloatSerializer { inf_nan_mode: Null }) }) })), required: true }, "fov_y": SerField { key_py: Py(0x7f68947b24f0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f68a7748100)), serializer: Nullable(NullableSerializer { serializer: Float(FloatSerializer { inf_nan_mode: Null }) }) })), required: true }, "center": SerField { key_py: Py(0x7f68a7108150), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 7 }), has_extra: false, root_model: false, name: "CameraSettings" }), Model(ModelSerializer { class: Py(0x55aae6232b70), serializer: Fields(GeneralFieldsSerializer { fields: {"x": SerField { key_py: Py(0x7f68a783df18), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "y": SerField { key_py: Py(0x7f68a783f658), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "z": SerField { key_py: Py(0x7f68a783f688), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "Point3d" }), Model(ModelSerializer { class: Py(0x55aae6fd04d0), serializer: Fields(GeneralFieldsSerializer { fields: {"command": SerField { key_py: Py(0x7f68a7838de0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: false })), required: true }, "relative": SerField { key_py: Py(0x7f68988993f0), alias: None, alias_py: None, serializer: Some(Bool(BoolSerializer)), required: true }, "command_id": SerField { key_py: Py(0x7f68941cddf0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7f68a7748100)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "PathSegmentInfo" }), Model(ModelSerializer { class: Py(0x55aae6801240), serializer: Fields(GeneralFieldsSerializer { fields: {"w": SerField { key_py: Py(0x7f68a783f5f8), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "z": SerField { key_py: Py(0x7f68a783f688), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "y": SerField { key_py: Py(0x7f68a783f658), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }, "x": SerField { key_py: Py(0x7f68a783df18), alias: None, alias_py: None, serializer: Some(Float(FloatSerializer { inf_nan_mode: Null })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 4 }), has_extra: false, root_model: false, name: "Point4d" })])[source]
- __pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="SuccessWebSocketResponse", validator=Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "request_id", lookup_key: Simple { key: "request_id", py_key: Py( 0x00007f688fd8fe30, ), path: LookupPath( [ S( "request_id", Py( 0x00007f688fd8fc30, ), ), ], ), }, name_py: Py( 0x00007f6894539830, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a7748100, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, Field { name: "resp", lookup_key: Simple { key: "resp", py_key: Py( 0x00007f688fd9c270, ), path: LookupPath( [ S( "resp", Py( 0x00007f688fd9c2a0, ), ), ], ), }, name_py: Py( 0x00007f68a59b4690, ), validator: Model( ModelValidator { revalidate: Never, validator: TaggedUnion( TaggedUnionValidator { discriminator: LookupKey( Simple { key: "type", py_key: Py( 0x00007f68a783da58, ), path: LookupPath( [ S( "type", Py( 0x00007f68a783da58, ), ), ], ), }, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "modeling_batch": 4, "modeling": 3, "export": 5, "sdp_answer": 2, "ice_server_info": 0, "modeling_session_data": 7, "trickle_ice": 1, "pong": 8, "metrics_request": 6, }, ), expected_py_dict: None, expected_py_values: None, values: [ Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5c2d0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5c510, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "ice_servers", lookup_key: Simple { key: "ice_servers", py_key: Py( 0x00007f688fd8f5f0, ), path: LookupPath( [ S( "ice_servers", Py( 0x00007f688fd8f770, ), ), ], ), }, name_py: Py( 0x00007f688ffacc70, ), validator: List( ListValidator { strict: false, item_validator: Some( Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "credential", lookup_key: Simple { key: "credential", py_key: Py( 0x00007f688fd8fcb0, ), path: LookupPath( [ S( "credential", Py( 0x00007f688fd8fd30, ), ), ], ), }, name_py: Py( 0x00007f68945eb630, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a7748100, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, Field { name: "urls", lookup_key: Simple { key: "urls", py_key: Py( 0x00007f688fd43b70, ), path: LookupPath( [ S( "urls", Py( 0x00007f688fd43bd0, ), ), ], ), }, name_py: Py( 0x00007f6898876c10, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "username", lookup_key: Simple { key: "username", py_key: Py( 0x00007f688fd8fd70, ), path: LookupPath( [ S( "username", Py( 0x00007f688fd8f7f0, ), ), ], ), }, name_py: Py( 0x00007f68a64655b0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a7748100, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "IceServer", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6aac120, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "IceServer", }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "IceServerInfoData", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae71aa070, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "IceServerInfoData", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5c480, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5c360, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f688ffacaf0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "ice_server_info": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f688ffacaf0, ), ], }, expected_repr: "'ice_server_info'", name: "literal['ice_server_info']", }, ), validate_default: false, copy_default: false, name: "default[literal['ice_server_info']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "ice_server_info", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae71ae010, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "ice_server_info", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5c4b0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5c6c0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "candidate", lookup_key: Simple { key: "candidate", py_key: Py( 0x00007f688fd8f970, ), path: LookupPath( [ S( "candidate", Py( 0x00007f688fd8f9b0, ), ), ], ), }, name_py: Py( 0x00007f68a71ae1f0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "candidate", lookup_key: Simple { key: "candidate", py_key: Py( 0x00007f688fd8fbf0, ), path: LookupPath( [ S( "candidate", Py( 0x00007f688fd8f8f0, ), ), ], ), }, name_py: Py( 0x00007f68a71ae1f0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "sdpMLineIndex", lookup_key: Simple { key: "sdpMLineIndex", py_key: Py( 0x00007f688fd8fa70, ), path: LookupPath( [ S( "sdpMLineIndex", Py( 0x00007f688fd8f830, ), ), ], ), }, name_py: Py( 0x00007f688ff621f0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a7748100, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Int( IntValidator { strict: false, }, ), name: "nullable[int]", }, ), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, Field { name: "sdpMid", lookup_key: Simple { key: "sdpMid", py_key: Py( 0x00007f688fd5c390, ), path: LookupPath( [ S( "sdpMid", Py( 0x00007f688fd5c4e0, ), ), ], ), }, name_py: Py( 0x00007f688ff70e70, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a7748100, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, Field { name: "usernameFragment", lookup_key: Simple { key: "usernameFragment", py_key: Py( 0x00007f688fd8f8b0, ), path: LookupPath( [ S( "usernameFragment", Py( 0x00007f688fd8f930, ), ), ], ), }, name_py: Py( 0x00007f688ff62e30, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a7748100, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "RtcIceCandidateInit", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae719ffd0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "RtcIceCandidateInit", }, ), frozen: false, }, ], model_name: "TrickleIceData", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae71b2ee0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "TrickleIceData", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5c630, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5c600, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f688ff796f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "trickle_ice": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f688ff796f0, ), ], }, expected_repr: "'trickle_ice'", name: "literal['trickle_ice']", }, ), validate_default: false, copy_default: false, name: "default[literal['trickle_ice']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "trickle_ice", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae71b7490, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "trickle_ice", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5c780, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5c7b0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "answer", lookup_key: Simple { key: "answer", py_key: Py( 0x00007f688fd5c690, ), path: LookupPath( [ S( "answer", Py( 0x00007f688fd5c660, ), ), ], ), }, name_py: Py( 0x00007f68a677d800, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "sdp", lookup_key: Simple { key: "sdp", py_key: Py( 0x00007f688fd5c570, ), path: LookupPath( [ S( "sdp", Py( 0x00007f688fd5c540, ), ), ], ), }, name_py: Py( 0x00007f68a6149b60, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5c5a0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5c5d0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055aae71a3500, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "offer": 1, "rollback": 4, "unspecified": 0, "answer": 3, "pranswer": 2, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68941a3890, ), Py( 0x00007f68941a38f0, ), Py( 0x00007f68941a3950, ), Py( 0x00007f68941a39b0, ), Py( 0x00007f68941a3a10, ), ], }, missing: None, expected_repr: "'unspecified', 'offer', 'pranswer', 'answer' or 'rollback'", strict: false, class_repr: "RtcSdpType", name: "str-enum[RtcSdpType]", }, ), frozen: false, }, ], model_name: "RtcSessionDescription", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae71a47f0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "RtcSessionDescription", }, ), frozen: false, }, ], model_name: "SdpAnswerData", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae71bcc00, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "SdpAnswerData", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5c6f0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5c720, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f688ff79770, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "sdp_answer": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f688ff79770, ), ], }, expected_repr: "'sdp_answer'", name: "literal['sdp_answer']", }, ), validate_default: false, copy_default: false, name: "default[literal['sdp_answer']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "sdp_answer", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae71bf6c0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "sdp_answer", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5fc90, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5fcc0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "modeling_response", lookup_key: Simple { key: "modeling_response", py_key: Py( 0x00007f688fd8e5b0, ), path: LookupPath( [ S( "modeling_response", Py( 0x00007f688fd8e630, ), ), ], ), }, name_py: Py( 0x00007f688ff6ccb0, ), validator: Model( ModelValidator { revalidate: Never, validator: TaggedUnion( TaggedUnionValidator { discriminator: LookupKey( Simple { key: "type", py_key: Py( 0x00007f68a783da58, ), path: LookupPath( [ S( "type", Py( 0x00007f68a783da58, ), ), ], ), }, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_linear_pattern_transform": 51, "curve_get_type": 27, "path_get_curve_uuid": 33, "view_isometric": 16, "close_path": 10, "volume": 45, "surface_area": 47, "entity_linear_pattern": 52, "path_get_info": 30, "entity_get_parent_id": 6, "camera_drag_move": 11, "entity_get_num_children": 5, "get_num_objects": 17, "face_get_center": 39, "face_get_gradient": 40, "solid3d_get_all_edge_faces": 20, "highlight_set_entity": 3, "solid3d_get_extrusion_face_info": 54, "center_of_mass": 48, "solid3d_get_next_adjacent_edge": 23, "select_with_point": 2, "mouse_click": 28, "loft": 9, "curve_get_end_points": 36, "path_get_sketch_target_uuid": 35, "take_snapshot": 29, "face_is_planar": 37, "path_segment_info": 31, "default_camera_focus_on": 18, "solid3d_get_opposite_edge": 22, "default_camera_zoom": 14, "import_files": 42, "extrusion_face_info": 55, "solid3d_get_all_opposite_edges": 21, "entity_get_child_uuid": 4, "entity_get_all_child_uuids": 7, "plane_intersect_and_project": 41, "entity_get_sketch_paths": 8, "empty": 0, "export": 1, "entity_circular_pattern": 53, "entity_get_distance": 50, "zoom_to_fit": 15, "get_entity_type": 25, "select_get": 19, "curve_get_control_points": 26, "path_get_curve_uuids_for_vertices": 32, "default_camera_get_settings": 13, "imported_geometry": 43, "path_get_vertex_uuids": 34, "face_get_position": 38, "camera_drag_end": 12, "density": 46, "solid3d_get_prev_adjacent_edge": 24, "mass": 44, "get_sketch_mode_plane": 49, }, ), expected_py_dict: None, expected_py_values: None, values: [ Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5c750, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5c9c0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a77a9f40, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "empty": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68a77a9f40, ), ], }, expected_repr: "'empty'", name: "literal['empty']", }, ), validate_default: false, copy_default: false, name: "default[literal['empty']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "empty", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6fe5990, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "empty", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5c8a0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5c7e0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "files", lookup_key: Simple { key: "files", py_key: Py( 0x00007f688fd5c900, ), path: LookupPath( [ S( "files", Py( 0x00007f688fd5c870, ), ), ], ), }, name_py: Py( 0x00007f68a77f1b60, ), validator: List( ListValidator { strict: false, item_validator: Some( Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "contents", lookup_key: Simple { key: "contents", py_key: Py( 0x00007f688fd8fa30, ), path: LookupPath( [ S( "contents", Py( 0x00007f688fd8fab0, ), ), ], ), }, name_py: Py( 0x00007f68a77f5940, ), validator: FunctionAfter( FunctionAfterValidator { validator: Bytes( BytesValidator { strict: false, }, ), func: Py( 0x000055aae675f2c0, ), config: Py( 0x00007f688fdb1e80, ), name: "function-after[Base64Data(), bytes]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py( 0x00007f688fd5c9f0, ), path: LookupPath( [ S( "name", Py( 0x00007f688fd5c930, ), ), ], ), }, name_py: Py( 0x00007f68a783b7b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, ], model_name: "ExportFile", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6a0d860, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "ExportFile", }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "Export", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6a0f1c0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "Export", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5c810, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5c990, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a27bf600, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "export": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68a27bf600, ), ], }, expected_repr: "'export'", name: "literal['export']", }, ), validate_default: false, copy_default: false, name: "default[literal['export']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "export", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6fe6370, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "export", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5c960, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5c840, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f688fd8faf0, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f688fd8fb30, ), ), ], ), }, name_py: Py( 0x00007f68945303b0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a7748100, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "SelectWithPoint", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6e9abe0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "SelectWithPoint", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5c8d0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5ca20, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689510e830, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "select_with_point": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689510e830, ), ], }, expected_repr: "'select_with_point'", name: "literal['select_with_point']", }, ), validate_default: false, copy_default: false, name: "default[literal['select_with_point']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "select_with_point", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6fe8860, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "select_with_point", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5ca50, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5ca80, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f688fd8fbb0, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f688fd8f3b0, ), ), ], ), }, name_py: Py( 0x00007f68945303b0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a7748100, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, Field { name: "sequence", lookup_key: Simple { key: "sequence", py_key: Py( 0x00007f688fd8f130, ), path: LookupPath( [ S( "sequence", Py( 0x00007f688fd8f2b0, ), ), ], ), }, name_py: Py( 0x00007f68a783cc48, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a7748100, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Int( IntValidator { strict: false, }, ), name: "nullable[int]", }, ), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "HighlightSetEntity", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6aa7130, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "HighlightSetEntity", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5cab0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5cae0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f6896b535f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "highlight_set_entity": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f6896b535f0, ), ], }, expected_repr: "'highlight_set_entity'", name: "literal['highlight_set_entity']", }, ), validate_default: false, copy_default: false, name: "default[literal['highlight_set_entity']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "highlight_set_entity", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6fecc60, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "highlight_set_entity", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5cb10, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5cb40, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f688fd8f730, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f688fd8f670, ), ), ], ), }, name_py: Py( 0x00007f68945303b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, ], model_name: "EntityGetChildUuid", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae69f28f0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "EntityGetChildUuid", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5cb70, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5cba0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68956df1b0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_get_child_uuid": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68956df1b0, ), ], }, expected_repr: "'entity_get_child_uuid'", name: "literal['entity_get_child_uuid']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_get_child_uuid']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "entity_get_child_uuid", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6ff0220, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "entity_get_child_uuid", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5cc30, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5cc60, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "num", lookup_key: Simple { key: "num", py_key: Py( 0x00007f688fd5cbd0, ), path: LookupPath( [ S( "num", Py( 0x00007f688fd5cc00, ), ), ], ), }, name_py: Py( 0x00007f68a6d376f0, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, ], model_name: "EntityGetNumChildren", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae69ef0e0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "EntityGetNumChildren", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5cc90, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5ccc0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68956def30, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_get_num_children": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68956def30, ), ], }, expected_repr: "'entity_get_num_children'", name: "literal['entity_get_num_children']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_get_num_children']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "entity_get_num_children", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6ff4430, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "entity_get_num_children", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5ccf0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5cd20, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_id", lookup_key: Simple { key: "entity_id", py_key: Py( 0x00007f688fd8f7b0, ), path: LookupPath( [ S( "entity_id", Py( 0x00007f688fd8f4b0, ), ), ], ), }, name_py: Py( 0x00007f68945303b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, ], model_name: "EntityGetParentId", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae69f5600, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "EntityGetParentId", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5cd50, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5cd80, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68956dc230, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_get_parent_id": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68956dc230, ), ], }, expected_repr: "'entity_get_parent_id'", name: "literal['entity_get_parent_id']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_get_parent_id']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "entity_get_parent_id", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6ff73c0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "entity_get_parent_id", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5cdb0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5cde0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f688fd8f630, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f688fd8f6b0, ), ), ], ), }, name_py: Py( 0x00007f689451a2b0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "EntityGetAllChildUuids", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae69ed9b0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "EntityGetAllChildUuids", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5ce10, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5ce40, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689511a6f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_get_all_child_uuids": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689511a6f0, ), ], }, expected_repr: "'entity_get_all_child_uuids'", name: "literal['entity_get_all_child_uuids']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_get_all_child_uuids']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "entity_get_all_child_uuids", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6849670, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "entity_get_all_child_uuids", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5ce70, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5cea0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f688fd8f6f0, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f688fd8ee70, ), ), ], ), }, name_py: Py( 0x00007f689451a2b0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "EntityGetSketchPaths", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae69f9840, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "EntityGetSketchPaths", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5ced0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5cf00, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68956df970, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_get_sketch_paths": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68956df970, ), ], }, expected_repr: "'entity_get_sketch_paths'", name: "literal['entity_get_sketch_paths']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_get_sketch_paths']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "entity_get_sketch_paths", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae700f820, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "entity_get_sketch_paths", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5cf30, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5cf60, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "solid_id", lookup_key: Simple { key: "solid_id", py_key: Py( 0x00007f688fd8ed30, ), path: LookupPath( [ S( "solid_id", Py( 0x00007f688fd8eef0, ), ), ], ), }, name_py: Py( 0x00007f6894443eb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, ], model_name: "Loft", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6afc2e0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "Loft", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5cf90, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5cfc0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68956efcc0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "loft": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68956efcc0, ), ], }, expected_repr: "'loft'", name: "literal['loft']", }, ), validate_default: false, copy_default: false, name: "default[literal['loft']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "loft", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7012eb0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "loft", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5d050, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5d080, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "face_id", lookup_key: Simple { key: "face_id", py_key: Py( 0x00007f688fd5cff0, ), path: LookupPath( [ S( "face_id", Py( 0x00007f688fd5d020, ), ), ], ), }, name_py: Py( 0x00007f68946f4cf0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, ], model_name: "ClosePath", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae682ac70, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "ClosePath", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5d0b0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5d0e0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689565a870, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "close_path": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689565a870, ), ], }, expected_repr: "'close_path'", name: "literal['close_path']", }, ), validate_default: false, copy_default: false, name: "default[literal['close_path']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "close_path", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70164d0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "close_path", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5d110, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5d140, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "settings", lookup_key: Simple { key: "settings", py_key: Py( 0x00007f688fd8f5b0, ), path: LookupPath( [ S( "settings", Py( 0x00007f688fd8f1b0, ), ), ], ), }, name_py: Py( 0x00007f68a6727570, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "CameraDragMove", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae680ee90, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "CameraDragMove", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5d170, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5d1a0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68956583f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "camera_drag_move": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68956583f0, ), ], }, expected_repr: "'camera_drag_move'", name: "literal['camera_drag_move']", }, ), validate_default: false, copy_default: false, name: "default[literal['camera_drag_move']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "camera_drag_move", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70196f0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "camera_drag_move", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5d1d0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5d200, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "settings", lookup_key: Simple { key: "settings", py_key: Py( 0x00007f688fd8f330, ), path: LookupPath( [ S( "settings", Py( 0x00007f688fd8ef70, ), ), ], ), }, name_py: Py( 0x00007f68a6727570, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "CameraDragEnd", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6806d40, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "CameraDragEnd", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5d230, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5d260, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68956582b0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "camera_drag_end": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68956582b0, ), ], }, expected_repr: "'camera_drag_end'", name: "literal['camera_drag_end']", }, ), validate_default: false, copy_default: false, name: "default[literal['camera_drag_end']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "camera_drag_end", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae701c970, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "camera_drag_end", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5d290, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5d2c0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "settings", lookup_key: Simple { key: "settings", py_key: Py( 0x00007f688fd8f170, ), path: LookupPath( [ S( "settings", Py( 0x00007f688fd8f1f0, ), ), ], ), }, name_py: Py( 0x00007f68a6727570, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "DefaultCameraGetSettings", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae630f270, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "DefaultCameraGetSettings", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5d2f0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5d320, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689511a150, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "default_camera_get_settings": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689511a150, ), ], }, expected_repr: "'default_camera_get_settings'", name: "literal['default_camera_get_settings']", }, ), validate_default: false, copy_default: false, name: "default[literal['default_camera_get_settings']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "default_camera_get_settings", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70262a0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "default_camera_get_settings", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5d350, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5d380, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "settings", lookup_key: Simple { key: "settings", py_key: Py( 0x00007f688fd8f230, ), path: LookupPath( [ S( "settings", Py( 0x00007f688fd8f270, ), ), ], ), }, name_py: Py( 0x00007f68a6727570, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "DefaultCameraZoom", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae69c6b10, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "DefaultCameraZoom", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5d3b0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5d3e0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68956dfe30, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "default_camera_zoom": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68956dfe30, ), ], }, expected_repr: "'default_camera_zoom'", name: "literal['default_camera_zoom']", }, ), validate_default: false, copy_default: false, name: "default[literal['default_camera_zoom']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "default_camera_zoom", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae702fa30, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "default_camera_zoom", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5d410, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5d440, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "settings", lookup_key: Simple { key: "settings", py_key: Py( 0x00007f688fd8f2f0, ), path: LookupPath( [ S( "settings", Py( 0x00007f688fd8f370, ), ), ], ), }, name_py: Py( 0x00007f68a6727570, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "ZoomToFit", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6fde480, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "ZoomToFit", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5d470, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5d4a0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689510a6b0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "zoom_to_fit": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689510a6b0, ), ], }, expected_repr: "'zoom_to_fit'", name: "literal['zoom_to_fit']", }, ), validate_default: false, copy_default: false, name: "default[literal['zoom_to_fit']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "zoom_to_fit", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7039290, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "zoom_to_fit", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5d4d0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5d500, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "settings", lookup_key: Simple { key: "settings", py_key: Py( 0x00007f688fd8f3f0, ), path: LookupPath( [ S( "settings", Py( 0x00007f688fd8f430, ), ), ], ), }, name_py: Py( 0x00007f68a6727570, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, ], model_name: "ViewIsometric", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6fc7c50, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "ViewIsometric", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5d530, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5d560, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689510aaf0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "view_isometric": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689510aaf0, ), ], }, expected_repr: "'view_isometric'", name: "literal['view_isometric']", }, ), validate_default: false, copy_default: false, name: "default[literal['view_isometric']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "view_isometric", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6ffa3a0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "view_isometric", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5d590, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5d5c0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "num_objects", lookup_key: Simple { key: "num_objects", py_key: Py( 0x00007f688fd8f530, ), path: LookupPath( [ S( "num_objects", Py( 0x00007f688fd8f570, ), ), ], ), }, name_py: Py( 0x00007f68976e2f70, ), validator: Int( IntValidator { strict: false, }, ), frozen: false, }, ], model_name: "GetNumObjects", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6aa1f80, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "GetNumObjects", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5d5f0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5d620, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f6896b51e30, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "get_num_objects": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f6896b51e30, ), ], }, expected_repr: "'get_num_objects'", name: "literal['get_num_objects']", }, ), validate_default: false, copy_default: false, name: "default[literal['get_num_objects']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "get_num_objects", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae704c6a0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "get_num_objects", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5d650, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5d680, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [], model_name: "DefaultCameraFocusOn", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae69bc8d0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "DefaultCameraFocusOn", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5d6b0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5d6e0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68956dfb70, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "default_camera_focus_on": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68956dfb70, ), ], }, expected_repr: "'default_camera_focus_on'", name: "literal['default_camera_focus_on']", }, ), validate_default: false, copy_default: false, name: "default[literal['default_camera_focus_on']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "default_camera_focus_on", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70578b0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "default_camera_focus_on", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5d710, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5d740, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f688fd8f470, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f688fd8f4f0, ), ), ], ), }, name_py: Py( 0x00007f689451a2b0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "SelectGet", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6e99ae0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "SelectGet", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5d770, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5d7a0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689510e770, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "select_get": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689510e770, ), ], }, expected_repr: "'select_get'", name: "literal['select_get']", }, ), validate_default: false, copy_default: false, name: "default[literal['select_get']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "select_get", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7057fa0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "select_get", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5d830, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5d860, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "faces", lookup_key: Simple { key: "faces", py_key: Py( 0x00007f688fd5d7d0, ), path: LookupPath( [ S( "faces", Py( 0x00007f688fd5d800, ), ), ], ), }, name_py: Py( 0x00007f68951d5440, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "Solid3dGetAllEdgeFaces", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7002810, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "Solid3dGetAllEdgeFaces", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5d890, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5d8c0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689511b3c0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid3d_get_all_edge_faces": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689511b3c0, ), ], }, expected_repr: "'solid3d_get_all_edge_faces'", name: "literal['solid3d_get_all_edge_faces']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid3d_get_all_edge_faces']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "solid3d_get_all_edge_faces", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae705b830, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "solid3d_get_all_edge_faces", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5d950, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5d980, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "edges", lookup_key: Simple { key: "edges", py_key: Py( 0x00007f688fd5d8f0, ), path: LookupPath( [ S( "edges", Py( 0x00007f688fd5d920, ), ), ], ), }, name_py: Py( 0x00007f68a782a4a0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "Solid3dGetAllOppositeEdges", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6fcacf0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "Solid3dGetAllOppositeEdges", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5d9b0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5d9e0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689511b410, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid3d_get_all_opposite_edges": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689511b410, ), ], }, expected_repr: "'solid3d_get_all_opposite_edges'", name: "literal['solid3d_get_all_opposite_edges']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid3d_get_all_opposite_edges']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "solid3d_get_all_opposite_edges", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae705e920, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "solid3d_get_all_opposite_edges", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5da70, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5daa0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "edge", lookup_key: Simple { key: "edge", py_key: Py( 0x00007f688fd5da10, ), path: LookupPath( [ S( "edge", Py( 0x00007f688fd5da40, ), ), ], ), }, name_py: Py( 0x00007f68a59b75d0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, ], model_name: "Solid3dGetOppositeEdge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6fca150, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "Solid3dGetOppositeEdge", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5dad0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5db00, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689511b5f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid3d_get_opposite_edge": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689511b5f0, ), ], }, expected_repr: "'solid3d_get_opposite_edge'", name: "literal['solid3d_get_opposite_edge']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid3d_get_opposite_edge']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "solid3d_get_opposite_edge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7062490, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "solid3d_get_opposite_edge", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5db90, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5dbc0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "edge", lookup_key: Simple { key: "edge", py_key: Py( 0x00007f688fd5db30, ), path: LookupPath( [ S( "edge", Py( 0x00007f688fd5db60, ), ), ], ), }, name_py: Py( 0x00007f68a59b75d0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a7748100, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "Solid3dGetNextAdjacentEdge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6fc3930, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "Solid3dGetNextAdjacentEdge", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5dbf0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5dc20, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689511b550, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid3d_get_next_adjacent_edge": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689511b550, ), ], }, expected_repr: "'solid3d_get_next_adjacent_edge'", name: "literal['solid3d_get_next_adjacent_edge']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid3d_get_next_adjacent_edge']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "solid3d_get_next_adjacent_edge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70661b0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "solid3d_get_next_adjacent_edge", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5dcb0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5dce0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "edge", lookup_key: Simple { key: "edge", py_key: Py( 0x00007f688fd5dc50, ), path: LookupPath( [ S( "edge", Py( 0x00007f688fd5dc80, ), ), ], ), }, name_py: Py( 0x00007f68a59b75d0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a7748100, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "Solid3dGetPrevAdjacentEdge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6fd37b0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "Solid3dGetPrevAdjacentEdge", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5dd10, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5dd40, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689511b640, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid3d_get_prev_adjacent_edge": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689511b640, ), ], }, expected_repr: "'solid3d_get_prev_adjacent_edge'", name: "literal['solid3d_get_prev_adjacent_edge']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid3d_get_prev_adjacent_edge']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "solid3d_get_prev_adjacent_edge", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7069f10, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "solid3d_get_prev_adjacent_edge", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5dd70, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5dda0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_type", lookup_key: Simple { key: "entity_type", py_key: Py( 0x00007f688fd8f0f0, ), path: LookupPath( [ S( "entity_type", Py( 0x00007f688fd8ec30, ), ), ], ), }, name_py: Py( 0x00007f68956de5f0, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055aae69fe3b0, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "vertex": 9, "curve": 3, "solid2d": 4, "edge": 6, "solid3d": 5, "face": 7, "object": 1, "path": 2, "plane": 8, "entity": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f6894534410, ), Py( 0x00007f6894534530, ), Py( 0x00007f68945344d0, ), Py( 0x00007f6894534590, ), Py( 0x00007f68945345f0, ), Py( 0x00007f6894534650, ), Py( 0x00007f68945346b0, ), Py( 0x00007f6894534710, ), Py( 0x00007f6894534770, ), Py( 0x00007f68945347d0, ), ], }, missing: None, expected_repr: "'entity', 'object', 'path', 'curve', 'solid2d', 'solid3d', 'edge', 'face', 'plane' or 'vertex'", strict: false, class_repr: "EntityType", name: "str-enum[EntityType]", }, ), frozen: false, }, ], model_name: "GetEntityType", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6a9fb20, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "GetEntityType", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5ddd0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5de00, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f6896b52970, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "get_entity_type": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f6896b52970, ), ], }, expected_repr: "'get_entity_type'", name: "literal['get_entity_type']", }, ), validate_default: false, copy_default: false, name: "default[literal['get_entity_type']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "get_entity_type", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae706d930, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "get_entity_type", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5de30, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5de60, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "control_points", lookup_key: Simple { key: "control_points", py_key: Py( 0x00007f688fd8edb0, ), path: LookupPath( [ S( "control_points", Py( 0x00007f688fd8eb70, ), ), ], ), }, name_py: Py( 0x00007f68972c5230, ), validator: List( ListValidator { strict: false, item_validator: Some( DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "CurveGetControlPoints", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6894b40, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "CurveGetControlPoints", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5de90, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5dec0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689511a100, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "curve_get_control_points": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689511a100, ), ], }, expected_repr: "'curve_get_control_points'", name: "literal['curve_get_control_points']", }, ), validate_default: false, copy_default: false, name: "default[literal['curve_get_control_points']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "curve_get_control_points", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7071a70, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "curve_get_control_points", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5def0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5df20, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "curve_type", lookup_key: Simple { key: "curve_type", py_key: Py( 0x00007f688fd8ec70, ), path: LookupPath( [ S( "curve_type", Py( 0x00007f688fd8ecb0, ), ), ], ), }, name_py: Py( 0x00007f68956dda70, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055aae6891560, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "arc": 1, "line": 0, "nurbs": 2, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f6894674530, ), Py( 0x00007f6894674590, ), Py( 0x00007f68946745f0, ), ], }, missing: None, expected_repr: "'line', 'arc' or 'nurbs'", strict: false, class_repr: "CurveType", name: "str-enum[CurveType]", }, ), frozen: false, }, ], model_name: "CurveGetType", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6891c50, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "CurveGetType", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5df50, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5df80, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68956de9f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "curve_get_type": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68956de9f0, ), ], }, expected_repr: "'curve_get_type'", name: "literal['curve_get_type']", }, ), validate_default: false, copy_default: false, name: "default[literal['curve_get_type']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "curve_get_type", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7075b10, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "curve_get_type", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5dfb0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5dfe0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entities_modified", lookup_key: Simple { key: "entities_modified", py_key: Py( 0x00007f688fd8ecf0, ), path: LookupPath( [ S( "entities_modified", Py( 0x00007f688fd8ed70, ), ), ], ), }, name_py: Py( 0x00007f68941c6c70, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, Field { name: "entities_selected", lookup_key: Simple { key: "entities_selected", py_key: Py( 0x00007f688fd8ee30, ), path: LookupPath( [ S( "entities_selected", Py( 0x00007f688fd8eeb0, ), ), ], ), }, name_py: Py( 0x00007f68941c6a70, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "MouseClick", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6d75bb0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "MouseClick", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5e010, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5e040, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f6895594930, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "mouse_click": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f6895594930, ), ], }, expected_repr: "'mouse_click'", name: "literal['mouse_click']", }, ), validate_default: false, copy_default: false, name: "default[literal['mouse_click']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "mouse_click", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7079c60, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "mouse_click", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5e070, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5e0a0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "contents", lookup_key: Simple { key: "contents", py_key: Py( 0x00007f688fd8ef30, ), path: LookupPath( [ S( "contents", Py( 0x00007f688fd8efb0, ), ), ], ), }, name_py: Py( 0x00007f68a77f5940, ), validator: FunctionAfter( FunctionAfterValidator { validator: Bytes( BytesValidator { strict: false, }, ), func: Py( 0x000055aae675f2c0, ), config: Py( 0x00007f688fdc9c80, ), name: "function-after[Base64Data(), bytes]", field_name: None, info_arg: false, }, ), frozen: false, }, ], model_name: "TakeSnapshot", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6fc6830, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "TakeSnapshot", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5e0d0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5e100, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689510f6f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "take_snapshot": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689510f6f0, ), ], }, expected_repr: "'take_snapshot'", name: "literal['take_snapshot']", }, ), validate_default: false, copy_default: false, name: "default[literal['take_snapshot']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "take_snapshot", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae707ec10, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "take_snapshot", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5e130, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5e160, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "segments", lookup_key: Simple { key: "segments", py_key: Py( 0x00007f688fd8eff0, ), path: LookupPath( [ S( "segments", Py( 0x00007f688fd8f030, ), ), ], ), }, name_py: Py( 0x00007f68a64672f0, ), validator: List( ListValidator { strict: false, item_validator: Some( DefinitionRef( DefinitionRefValidator { definition: "...", }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "PathGetInfo", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6fd2890, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "PathGetInfo", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5e190, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5e1c0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689510d830, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "path_get_info": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689510d830, ), ], }, expected_repr: "'path_get_info'", name: "literal['path_get_info']", }, ), validate_default: false, copy_default: false, name: "default[literal['path_get_info']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "path_get_info", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70826c0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "path_get_info", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5e1f0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5e220, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5e250, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5e280, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689510db30, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "path_segment_info": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689510db30, ), ], }, expected_repr: "'path_segment_info'", name: "literal['path_segment_info']", }, ), validate_default: false, copy_default: false, name: "default[literal['path_segment_info']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "path_segment_info", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7086a40, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "path_segment_info", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5e2b0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5e2e0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "curve_ids", lookup_key: Simple { key: "curve_ids", py_key: Py( 0x00007f688fd8f070, ), path: LookupPath( [ S( "curve_ids", Py( 0x00007f688fd8f0b0, ), ), ], ), }, name_py: Py( 0x00007f68940b1770, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "PathGetCurveUuidsForVertices", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6ffb900, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "PathGetCurveUuidsForVertices", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5e310, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5e340, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689511b000, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "path_get_curve_uuids_for_vertices": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689511b000, ), ], }, expected_repr: "'path_get_curve_uuids_for_vertices'", name: "literal['path_get_curve_uuids_for_vertices']", }, ), validate_default: false, copy_default: false, name: "default[literal['path_get_curve_uuids_for_vertices']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "path_get_curve_uuids_for_vertices", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae708a710, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "path_get_curve_uuids_for_vertices", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5e370, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5e3a0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "curve_id", lookup_key: Simple { key: "curve_id", py_key: Py( 0x00007f688fd8edf0, ), path: LookupPath( [ S( "curve_id", Py( 0x00007f688fd8ebf0, ), ), ], ), }, name_py: Py( 0x00007f6894576bf0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, ], model_name: "PathGetCurveUuid", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6ffa9a0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "PathGetCurveUuid", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5e3d0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5e400, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689510d730, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "path_get_curve_uuid": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689510d730, ), ], }, expected_repr: "'path_get_curve_uuid'", name: "literal['path_get_curve_uuid']", }, ), validate_default: false, copy_default: false, name: "default[literal['path_get_curve_uuid']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "path_get_curve_uuid", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7090360, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "path_get_curve_uuid", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5e430, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5e460, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "vertex_ids", lookup_key: Simple { key: "vertex_ids", py_key: Py( 0x00007f688fd8e9f0, ), path: LookupPath( [ S( "vertex_ids", Py( 0x00007f688fd8e730, ), ), ], ), }, name_py: Py( 0x00007f68944e6230, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "PathGetVertexUuids", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7000060, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "PathGetVertexUuids", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5e490, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5e4c0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689510d9b0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "path_get_vertex_uuids": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689510d9b0, ), ], }, expected_repr: "'path_get_vertex_uuids'", name: "literal['path_get_vertex_uuids']", }, ), validate_default: false, copy_default: false, name: "default[literal['path_get_vertex_uuids']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "path_get_vertex_uuids", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7095010, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "path_get_vertex_uuids", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5e4f0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5e520, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "target_id", lookup_key: Simple { key: "target_id", py_key: Py( 0x00007f688fd8e8b0, ), path: LookupPath( [ S( "target_id", Py( 0x00007f688fd8eaf0, ), ), ], ), }, name_py: Py( 0x00007f68a782a560, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a7748100, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "PathGetSketchTargetUuid", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6fce830, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "PathGetSketchTargetUuid", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5e550, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5e580, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689511b0a0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "path_get_sketch_target_uuid": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689511b0a0, ), ], }, expected_repr: "'path_get_sketch_target_uuid'", name: "literal['path_get_sketch_target_uuid']", }, ), validate_default: false, copy_default: false, name: "default[literal['path_get_sketch_target_uuid']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "path_get_sketch_target_uuid", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7098ce0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "path_get_sketch_target_uuid", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5e670, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5e6a0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "end", lookup_key: Simple { key: "end", py_key: Py( 0x00007f688fd5e5b0, ), path: LookupPath( [ S( "end", Py( 0x00007f688fd5e5e0, ), ), ], ), }, name_py: Py( 0x00007f68a7839760, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "start", lookup_key: Simple { key: "start", py_key: Py( 0x00007f688fd5e610, ), path: LookupPath( [ S( "start", Py( 0x00007f688fd5e640, ), ), ], ), }, name_py: Py( 0x00007f68a783d1a0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, ], model_name: "CurveGetEndPoints", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6897580, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "CurveGetEndPoints", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5e6d0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5e700, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68956deab0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "curve_get_end_points": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68956deab0, ), ], }, expected_repr: "'curve_get_end_points'", name: "literal['curve_get_end_points']", }, ), validate_default: false, copy_default: false, name: "default[literal['curve_get_end_points']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "curve_get_end_points", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae709c5b0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "curve_get_end_points", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5e8b0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5e8e0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "origin", lookup_key: Simple { key: "origin", py_key: Py( 0x00007f688fd5e730, ), path: LookupPath( [ S( "origin", Py( 0x00007f688fd5e760, ), ), ], ), }, name_py: Py( 0x00007f68a783bec0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a7748100, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), name: "nullable[Point3d]", }, ), validate_default: false, copy_default: false, name: "default[nullable[Point3d]]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, Field { name: "x_axis", lookup_key: Simple { key: "x_axis", py_key: Py( 0x00007f688fd5e790, ), path: LookupPath( [ S( "x_axis", Py( 0x00007f688fd5e7c0, ), ), ], ), }, name_py: Py( 0x00007f6894546fa0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a7748100, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), name: "nullable[Point3d]", }, ), validate_default: false, copy_default: false, name: "default[nullable[Point3d]]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, Field { name: "y_axis", lookup_key: Simple { key: "y_axis", py_key: Py( 0x00007f688fd5e7f0, ), path: LookupPath( [ S( "y_axis", Py( 0x00007f688fd5e820, ), ), ], ), }, name_py: Py( 0x00007f6894547090, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a7748100, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), name: "nullable[Point3d]", }, ), validate_default: false, copy_default: false, name: "default[nullable[Point3d]]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, Field { name: "z_axis", lookup_key: Simple { key: "z_axis", py_key: Py( 0x00007f688fd5e850, ), path: LookupPath( [ S( "z_axis", Py( 0x00007f688fd5e880, ), ), ], ), }, name_py: Py( 0x00007f6894547180, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a7748100, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), name: "nullable[Point3d]", }, ), validate_default: false, copy_default: false, name: "default[nullable[Point3d]]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "FaceIsPlanar", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6a3dcd0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "FaceIsPlanar", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5e910, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5e940, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f6896b52630, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "face_is_planar": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f6896b52630, ), ], }, expected_repr: "'face_is_planar'", name: "literal['face_is_planar']", }, ), validate_default: false, copy_default: false, name: "default[literal['face_is_planar']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "face_is_planar", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70a01b0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "face_is_planar", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5e9d0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5ea00, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "pos", lookup_key: Simple { key: "pos", py_key: Py( 0x00007f688fd5e970, ), path: LookupPath( [ S( "pos", Py( 0x00007f688fd5e9a0, ), ), ], ), }, name_py: Py( 0x00007f68a783c250, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, ], model_name: "FaceGetPosition", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6a3b120, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "FaceGetPosition", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5ea30, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5ea60, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f6896b528b0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "face_get_position": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f6896b528b0, ), ], }, expected_repr: "'face_get_position'", name: "literal['face_get_position']", }, ), validate_default: false, copy_default: false, name: "default[literal['face_get_position']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "face_get_position", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70a42d0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "face_get_position", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5eaf0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5eb20, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "pos", lookup_key: Simple { key: "pos", py_key: Py( 0x00007f688fd5ea90, ), path: LookupPath( [ S( "pos", Py( 0x00007f688fd5eac0, ), ), ], ), }, name_py: Py( 0x00007f68a783c250, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, ], model_name: "FaceGetCenter", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6a35770, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "FaceGetCenter", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5eb50, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5eb80, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f6896b52ef0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "face_get_center": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f6896b52ef0, ), ], }, expected_repr: "'face_get_center'", name: "literal['face_get_center']", }, ), validate_default: false, copy_default: false, name: "default[literal['face_get_center']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "face_get_center", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70a9730, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "face_get_center", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5ecd0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5ed00, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "df_du", lookup_key: Simple { key: "df_du", py_key: Py( 0x00007f688fd5ebb0, ), path: LookupPath( [ S( "df_du", Py( 0x00007f688fd5ebe0, ), ), ], ), }, name_py: Py( 0x00007f68945460a0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "df_dv", lookup_key: Simple { key: "df_dv", py_key: Py( 0x00007f688fd5ec10, ), path: LookupPath( [ S( "df_dv", Py( 0x00007f688fd5ec40, ), ), ], ), }, name_py: Py( 0x00007f6894546130, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "normal", lookup_key: Simple { key: "normal", py_key: Py( 0x00007f688fd5ec70, ), path: LookupPath( [ S( "normal", Py( 0x00007f688fd5eca0, ), ), ], ), }, name_py: Py( 0x00007f68a2732af0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, ], model_name: "FaceGetGradient", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6a37e10, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "FaceGetGradient", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5ed30, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5ed60, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f6896b51b70, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "face_get_gradient": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f6896b51b70, ), ], }, expected_repr: "'face_get_gradient'", name: "literal['face_get_gradient']", }, ), validate_default: false, copy_default: false, name: "default[literal['face_get_gradient']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "face_get_gradient", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70b13a0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "face_get_gradient", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5ed90, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5edc0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "plane_coordinates", lookup_key: Simple { key: "plane_coordinates", py_key: Py( 0x00007f688fd8eb30, ), path: LookupPath( [ S( "plane_coordinates", Py( 0x00007f688fd8ebb0, ), ), ], ), }, name_py: Py( 0x00007f68941a48b0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a7748100, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "x", lookup_key: Simple { key: "x", py_key: Py( 0x00007f68a783f628, ), path: LookupPath( [ S( "x", Py( 0x00007f68a783f628, ), ), ], ), }, name_py: Py( 0x00007f68a783df18, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055aae636ccf0, ), config: Py( 0x00007f688fdd1780, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "y", lookup_key: Simple { key: "y", py_key: Py( 0x00007f68a783f658, ), path: LookupPath( [ S( "y", Py( 0x00007f68a783f658, ), ), ], ), }, name_py: Py( 0x00007f68a783f658, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055aae636ccf0, ), config: Py( 0x00007f688fdd1780, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, ], model_name: "Point2d", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6b03c20, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "Point2d", }, ), name: "nullable[Point2d]", }, ), validate_default: false, copy_default: false, name: "default[nullable[Point2d]]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "PlaneIntersectAndProject", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6fc1b70, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "PlaneIntersectAndProject", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5edf0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5ee20, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689511b1e0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "plane_intersect_and_project": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689511b1e0, ), ], }, expected_repr: "'plane_intersect_and_project'", name: "literal['plane_intersect_and_project']", }, ), validate_default: false, copy_default: false, name: "default[literal['plane_intersect_and_project']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "plane_intersect_and_project", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70b5e60, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "plane_intersect_and_project", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5ee50, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5ee80, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "object_id", lookup_key: Simple { key: "object_id", py_key: Py( 0x00007f688fd8ea30, ), path: LookupPath( [ S( "object_id", Py( 0x00007f688fd8eab0, ), ), ], ), }, name_py: Py( 0x00007f6898720cb0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, ], model_name: "ImportFiles", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6ab7300, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "ImportFiles", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5eeb0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5eee0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f6896b50b70, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "import_files": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f6896b50b70, ), ], }, expected_repr: "'import_files'", name: "literal['import_files']", }, ), validate_default: false, copy_default: false, name: "default[literal['import_files']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "import_files", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70ba920, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "import_files", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5efd0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5f000, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "id", lookup_key: Simple { key: "id", py_key: Py( 0x00007f688fd5ef10, ), path: LookupPath( [ S( "id", Py( 0x00007f688fd5ef40, ), ), ], ), }, name_py: Py( 0x00007f68a783a4e8, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, Field { name: "value", lookup_key: Simple { key: "value", py_key: Py( 0x00007f688fd5ef70, ), path: LookupPath( [ S( "value", Py( 0x00007f688fd5efa0, ), ), ], ), }, name_py: Py( 0x00007f68a783dc20, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "ImportedGeometry", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6ab8370, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "ImportedGeometry", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5f030, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5f060, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f6896b507b0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "imported_geometry": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f6896b507b0, ), ], }, expected_repr: "'imported_geometry'", name: "literal['imported_geometry']", }, ), validate_default: false, copy_default: false, name: "default[literal['imported_geometry']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "imported_geometry", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70c03c0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "imported_geometry", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5f0f0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5f120, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "mass", lookup_key: Simple { key: "mass", py_key: Py( 0x00007f688fd5f090, ), path: LookupPath( [ S( "mass", Py( 0x00007f688fd5f0c0, ), ), ], ), }, name_py: Py( 0x00007f68956efde0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "output_unit", lookup_key: Simple { key: "output_unit", py_key: Py( 0x00007f688fd8e6b0, ), path: LookupPath( [ S( "output_unit", Py( 0x00007f688fd8e3f0, ), ), ], ), }, name_py: Py( 0x00007f6894e9c630, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055aae630d020, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "lb": 2, "g": 0, "kg": 1, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68947ace30, ), Py( 0x00007f68947ace90, ), Py( 0x00007f68947acef0, ), ], }, missing: None, expected_repr: "'g', 'kg' or 'lb'", strict: false, class_repr: "UnitMass", name: "str-enum[UnitMass]", }, ), frozen: false, }, ], model_name: "Mass", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6b044c0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "Mass", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5f150, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5f180, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68956efde0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "mass": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68956efde0, ), ], }, expected_repr: "'mass'", name: "literal['mass']", }, ), validate_default: false, copy_default: false, name: "default[literal['mass']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "mass", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70c5900, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "mass", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5f210, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5f240, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "output_unit", lookup_key: Simple { key: "output_unit", py_key: Py( 0x00007f688fd8e570, ), path: LookupPath( [ S( "output_unit", Py( 0x00007f688fd8e9b0, ), ), ], ), }, name_py: Py( 0x00007f6894e9c630, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055aae630d890, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "ft3": 1, "m3": 3, "cm3": 0, "l": 7, "in3": 2, "usgal": 6, "yd3": 4, "usfloz": 5, "ml": 8, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68947acfb0, ), Py( 0x00007f68947ad010, ), Py( 0x00007f68947ad070, ), Py( 0x00007f68947ad0d0, ), Py( 0x00007f68947ad130, ), Py( 0x00007f68947ad190, ), Py( 0x00007f68947ad1f0, ), Py( 0x00007f68947ad250, ), Py( 0x00007f68947ad2b0, ), ], }, missing: None, expected_repr: "'cm3', 'ft3', 'in3', 'm3', 'yd3', 'usfloz', 'usgal', 'l' or 'ml'", strict: false, class_repr: "UnitVolume", name: "str-enum[UnitVolume]", }, ), frozen: false, }, Field { name: "volume", lookup_key: Simple { key: "volume", py_key: Py( 0x00007f688fd5f1b0, ), path: LookupPath( [ S( "volume", Py( 0x00007f688fd5f1e0, ), ), ], ), }, name_py: Py( 0x00007f68a783dcb0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, ], model_name: "Volume", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6fdc190, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "Volume", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5f270, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5f2a0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a783dcb0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "volume": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68a783dcb0, ), ], }, expected_repr: "'volume'", name: "literal['volume']", }, ), validate_default: false, copy_default: false, name: "default[literal['volume']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "volume", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70c9180, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "volume", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5f330, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5f360, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "density", lookup_key: Simple { key: "density", py_key: Py( 0x00007f688fd5f2d0, ), path: LookupPath( [ S( "density", Py( 0x00007f688fd5f300, ), ), ], ), }, name_py: Py( 0x00007f68a5955fe0, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, Field { name: "output_unit", lookup_key: Simple { key: "output_unit", py_key: Py( 0x00007f688fd8e7b0, ), path: LookupPath( [ S( "output_unit", Py( 0x00007f688fd8e930, ), ), ], ), }, name_py: Py( 0x00007f6894e9c630, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055aae630cc40, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "lb:ft3": 0, "kg:m3": 1, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68947acd10, ), Py( 0x00007f68947acd70, ), ], }, missing: None, expected_repr: "'lb:ft3' or 'kg:m3'", strict: false, class_repr: "UnitDensity", name: "str-enum[UnitDensity]", }, ), frozen: false, }, ], model_name: "Density", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae69ce520, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "Density", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5f390, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5f3c0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a5955fe0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "density": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68a5955fe0, ), ], }, expected_repr: "'density'", name: "literal['density']", }, ), validate_default: false, copy_default: false, name: "default[literal['density']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "density", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70cd090, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "density", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5f3f0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5f420, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "output_unit", lookup_key: Simple { key: "output_unit", py_key: Py( 0x00007f688fd8e6f0, ), path: LookupPath( [ S( "output_unit", Py( 0x00007f688fd8e770, ), ), ], ), }, name_py: Py( 0x00007f6894e9c630, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055aae630bdb0, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "ft2": 2, "in2": 3, "m2": 5, "dm2": 1, "km2": 4, "mm2": 6, "yd2": 7, "cm2": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68947ac9b0, ), Py( 0x00007f68947aca10, ), Py( 0x00007f68947aca70, ), Py( 0x00007f68947acad0, ), Py( 0x00007f68947acb30, ), Py( 0x00007f68947acb90, ), Py( 0x00007f68947acbf0, ), Py( 0x00007f68947acc50, ), ], }, missing: None, expected_repr: "'cm2', 'dm2', 'ft2', 'in2', 'km2', 'm2', 'mm2' or 'yd2'", strict: false, class_repr: "UnitArea", name: "str-enum[UnitArea]", }, ), frozen: false, }, Field { name: "surface_area", lookup_key: Simple { key: "surface_area", py_key: Py( 0x00007f688fd8e7f0, ), path: LookupPath( [ S( "surface_area", Py( 0x00007f688fd8e830, ), ), ], ), }, name_py: Py( 0x00007f689510f670, ), validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), frozen: false, }, ], model_name: "SurfaceArea", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6fd4d90, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "SurfaceArea", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5f450, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5f480, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689510f670, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "surface_area": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689510f670, ), ], }, expected_repr: "'surface_area'", name: "literal['surface_area']", }, ), validate_default: false, copy_default: false, name: "default[literal['surface_area']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "surface_area", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70d0e30, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "surface_area", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5f4b0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5f4e0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "center_of_mass", lookup_key: Simple { key: "center_of_mass", py_key: Py( 0x00007f688fd8e870, ), path: LookupPath( [ S( "center_of_mass", Py( 0x00007f688fd8e8f0, ), ), ], ), }, name_py: Py( 0x00007f689565a330, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "output_unit", lookup_key: Simple { key: "output_unit", py_key: Py( 0x00007f688fd8e970, ), path: LookupPath( [ S( "output_unit", Py( 0x00007f688fd8e370, ), ), ], ), }, name_py: Py( 0x00007f6894e9c630, ), validator: StrEnum( EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py( 0x000055aae674e4b0, ), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "cm": 0, "ft": 1, "in": 2, "mm": 4, "m": 3, "yd": 5, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f6894dbdaf0, ), Py( 0x00007f6894dbdfd0, ), Py( 0x00007f6894dbe150, ), Py( 0x00007f6894dbe1b0, ), Py( 0x00007f6894dbe210, ), Py( 0x00007f6894dbe270, ), ], }, missing: None, expected_repr: "'cm', 'ft', 'in', 'm', 'mm' or 'yd'", strict: false, class_repr: "UnitLength", name: "str-enum[UnitLength]", }, ), frozen: false, }, ], model_name: "CenterOfMass", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6823810, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "CenterOfMass", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5f510, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5f540, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689565a330, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "center_of_mass": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689565a330, ), ], }, expected_repr: "'center_of_mass'", name: "literal['center_of_mass']", }, ), validate_default: false, copy_default: false, name: "default[literal['center_of_mass']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "center_of_mass", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70d5390, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "center_of_mass", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5f6f0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5f720, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "origin", lookup_key: Simple { key: "origin", py_key: Py( 0x00007f688fd5f570, ), path: LookupPath( [ S( "origin", Py( 0x00007f688fd5f5a0, ), ), ], ), }, name_py: Py( 0x00007f68a783bec0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "x_axis", lookup_key: Simple { key: "x_axis", py_key: Py( 0x00007f688fd5f5d0, ), path: LookupPath( [ S( "x_axis", Py( 0x00007f688fd5f600, ), ), ], ), }, name_py: Py( 0x00007f6894546fa0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "y_axis", lookup_key: Simple { key: "y_axis", py_key: Py( 0x00007f688fd5f630, ), path: LookupPath( [ S( "y_axis", Py( 0x00007f688fd5f660, ), ), ], ), }, name_py: Py( 0x00007f6894547090, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, Field { name: "z_axis", lookup_key: Simple { key: "z_axis", py_key: Py( 0x00007f688fd5f690, ), path: LookupPath( [ S( "z_axis", Py( 0x00007f688fd5f6c0, ), ), ], ), }, name_py: Py( 0x00007f6894547180, ), validator: DefinitionRef( DefinitionRefValidator { definition: "Point3d", }, ), frozen: false, }, ], model_name: "GetSketchModePlane", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6aa5aa0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "GetSketchModePlane", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5f750, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5f780, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f6896b50770, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "get_sketch_mode_plane": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f6896b50770, ), ], }, expected_repr: "'get_sketch_mode_plane'", name: "literal['get_sketch_mode_plane']", }, ), validate_default: false, copy_default: false, name: "default[literal['get_sketch_mode_plane']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "get_sketch_mode_plane", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70d9150, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "get_sketch_mode_plane", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5f7b0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5f7e0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "max_distance", lookup_key: Simple { key: "max_distance", py_key: Py( 0x00007f688fd8e0b0, ), path: LookupPath( [ S( "max_distance", Py( 0x00007f688fd8e230, ), ), ], ), }, name_py: Py( 0x00007f68a67d9db0, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055aae636ccf0, ), config: Py( 0x00007f688fdd8640, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "min_distance", lookup_key: Simple { key: "min_distance", py_key: Py( 0x00007f688fd8e670, ), path: LookupPath( [ S( "min_distance", Py( 0x00007f688fd8e470, ), ), ], ), }, name_py: Py( 0x00007f6894530f70, ), validator: FunctionAfter( FunctionAfterValidator { validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), func: Py( 0x000055aae636ccf0, ), config: Py( 0x00007f688fdd8640, ), name: "function-after[LengthUnit(), float]", field_name: None, info_arg: false, }, ), frozen: false, }, ], model_name: "EntityGetDistance", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae69f3250, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "EntityGetDistance", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5f810, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5f840, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68956dde30, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_get_distance": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68956dde30, ), ], }, expected_repr: "'entity_get_distance'", name: "literal['entity_get_distance']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_get_distance']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "entity_get_distance", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70dd420, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "entity_get_distance", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5f870, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5f8a0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f688fd8e5f0, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f688fd8e3b0, ), ), ], ), }, name_py: Py( 0x00007f689451a2b0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "EntityLinearPatternTransform", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae69fc980, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "EntityLinearPatternTransform", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5f8d0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5f900, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689511a740, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_linear_pattern_transform": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689511a740, ), ], }, expected_repr: "'entity_linear_pattern_transform'", name: "literal['entity_linear_pattern_transform']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_linear_pattern_transform']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "entity_linear_pattern_transform", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70e2620, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "entity_linear_pattern_transform", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5f930, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5f960, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f688fd8e430, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f688fd8e4b0, ), ), ], ), }, name_py: Py( 0x00007f689451a2b0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "EntityLinearPattern", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae69fb0c0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "EntityLinearPattern", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5f990, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5f9c0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68956df830, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_linear_pattern": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68956df830, ), ], }, expected_repr: "'entity_linear_pattern'", name: "literal['entity_linear_pattern']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_linear_pattern']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "entity_linear_pattern", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70e8810, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "entity_linear_pattern", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5f9f0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5fa20, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "entity_ids", lookup_key: Simple { key: "entity_ids", py_key: Py( 0x00007f688fd8e4f0, ), path: LookupPath( [ S( "entity_ids", Py( 0x00007f688fd8e530, ), ), ], ), }, name_py: Py( 0x00007f689451a2b0, ), validator: List( ListValidator { strict: false, item_validator: Some( Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "EntityCircularPattern", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae69ebf80, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "EntityCircularPattern", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5fa50, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5fa80, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68956dd970, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "entity_circular_pattern": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68956dd970, ), ], }, expected_repr: "'entity_circular_pattern'", name: "literal['entity_circular_pattern']", }, ), validate_default: false, copy_default: false, name: "default[literal['entity_circular_pattern']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "entity_circular_pattern", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70ec930, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "entity_circular_pattern", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5fb10, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5fb40, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "faces", lookup_key: Simple { key: "faces", py_key: Py( 0x00007f688fd5fab0, ), path: LookupPath( [ S( "faces", Py( 0x00007f688fd5fae0, ), ), ], ), }, name_py: Py( 0x00007f68951d5440, ), validator: List( ListValidator { strict: false, item_validator: Some( DefinitionRef( DefinitionRefValidator { definition: "...", }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "Solid3dGetExtrusionFaceInfo", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6e9de30, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "Solid3dGetExtrusionFaceInfo", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5fb70, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5fba0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f689511b4b0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "solid3d_get_extrusion_face_info": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f689511b4b0, ), ], }, expected_repr: "'solid3d_get_extrusion_face_info'", name: "literal['solid3d_get_extrusion_face_info']", }, ), validate_default: false, copy_default: false, name: "default[literal['solid3d_get_extrusion_face_info']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "solid3d_get_extrusion_face_info", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae70f0600, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "solid3d_get_extrusion_face_info", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5fbd0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5fc00, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: DefinitionRef( DefinitionRefValidator { definition: "...", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5fc30, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5fc60, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f6896b52230, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "extrusion_face_info": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f6896b52230, ), ], }, expected_repr: "'extrusion_face_info'", name: "literal['extrusion_face_info']", }, ), validate_default: false, copy_default: false, name: "default[literal['extrusion_face_info']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "extrusion_face_info", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6b7e530, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "extrusion_face_info", }, ), ], }, from_attributes: true, strict: false, custom_error: None, tags_repr: "'empty', 'export', 'select_with_point', 'highlight_set_entity', 'entity_get_child_uuid', 'entity_get_num_children', 'entity_get_parent_id', 'entity_get_all_child_uuids', 'entity_get_sketch_paths', 'loft', 'close_path', 'camera_drag_move', 'camera_drag_end', 'default_camera_get_settings', 'default_camera_zoom', 'zoom_to_fit', 'view_isometric', 'get_num_objects', 'default_camera_focus_on', 'select_get', 'solid3d_get_all_edge_faces', 'solid3d_get_all_opposite_edges', 'solid3d_get_opposite_edge', 'solid3d_get_next_adjacent_edge', 'solid3d_get_prev_adjacent_edge', 'get_entity_type', 'curve_get_control_points', 'curve_get_type', 'mouse_click', 'take_snapshot', 'path_get_info', 'path_segment_info', 'path_get_curve_uuids_for_vertices', 'path_get_curve_uuid', 'path_get_vertex_uuids', 'path_get_sketch_target_uuid', 'curve_get_end_points', 'face_is_planar', 'face_get_position', 'face_get_center', 'face_get_gradient', 'plane_intersect_and_project', 'import_files', 'imported_geometry', 'mass', 'volume', 'density', 'surface_area', 'center_of_mass', 'get_sketch_mode_plane', 'entity_get_distance', 'entity_linear_pattern_transform', 'entity_linear_pattern', 'entity_circular_pattern', 'solid3d_get_extrusion_face_info', 'extrusion_face_info'", discriminator_repr: "'type'", name: "tagged-union[empty,export,select_with_point,highlight_set_entity,entity_get_child_uuid,entity_get_num_children,entity_get_parent_id,entity_get_all_child_uuids,entity_get_sketch_paths,loft,close_path,camera_drag_move,camera_drag_end,default_camera_get_settings,default_camera_zoom,zoom_to_fit,view_isometric,get_num_objects,default_camera_focus_on,select_get,solid3d_get_all_edge_faces,solid3d_get_all_opposite_edges,solid3d_get_opposite_edge,solid3d_get_next_adjacent_edge,solid3d_get_prev_adjacent_edge,get_entity_type,curve_get_control_points,curve_get_type,mouse_click,take_snapshot,path_get_info,path_segment_info,path_get_curve_uuids_for_vertices,path_get_curve_uuid,path_get_vertex_uuids,path_get_sketch_target_uuid,curve_get_end_points,face_is_planar,face_get_position,face_get_center,face_get_gradient,plane_intersect_and_project,import_files,imported_geometry,mass,volume,density,surface_area,center_of_mass,get_sketch_mode_plane,entity_get_distance,entity_linear_pattern_transform,entity_linear_pattern,entity_circular_pattern,solid3d_get_extrusion_face_info,extrusion_face_info]", }, ), class: Py( 0x000055aae70fa2f0, ), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py( 0x00007f6896b91e70, ), name: "RootModel[Annotated[Union[empty, export, select_with_point, highlight_set_entity, entity_get_child_uuid, entity_get_num_children, entity_get_parent_id, entity_get_all_child_uuids, entity_get_sketch_paths, loft, close_path, camera_drag_move, camera_drag_end, default_camera_get_settings, default_camera_zoom, zoom_to_fit, view_isometric, get_num_objects, default_camera_focus_on, select_get, solid3d_get_all_edge_faces, solid3d_get_all_opposite_edges, solid3d_get_opposite_edge, solid3d_get_next_adjacent_edge, solid3d_get_prev_adjacent_edge, get_entity_type, curve_get_control_points, curve_get_type, mouse_click, take_snapshot, path_get_info, path_segment_info, path_get_curve_uuids_for_vertices, path_get_curve_uuid, path_get_vertex_uuids, path_get_sketch_target_uuid, curve_get_end_points, face_is_planar, face_get_position, face_get_center, face_get_gradient, plane_intersect_and_project, import_files, imported_geometry, mass, volume, density, surface_area, center_of_mass, get_sketch_mode_plane, entity_get_distance, entity_linear_pattern_transform, entity_linear_pattern, entity_circular_pattern, solid3d_get_extrusion_face_info, extrusion_face_info], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), frozen: false, }, ], model_name: "ModelingData", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae71c31c0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "ModelingData", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5fcf0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5fd20, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68950b3bf0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "modeling": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68950b3bf0, ), ], }, expected_repr: "'modeling'", name: "literal['modeling']", }, ), validate_default: false, copy_default: false, name: "default[literal['modeling']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "modeling", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae71c5340, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "modeling", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5fd50, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5fd80, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "responses", lookup_key: Simple { key: "responses", py_key: Py( 0x00007f688fd8e030, ), path: LookupPath( [ S( "responses", Py( 0x00007f688fd8dd70, ), ), ], ), }, name_py: Py( 0x00007f68a2b9c470, ), validator: Dict( DictValidator { strict: false, key_validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), value_validator: Model( ModelValidator { revalidate: Never, validator: Union( UnionValidator { mode: Smart, choices: [ ( Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [], model_name: "response", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae69451e0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "response", }, ), None, ), ( Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [], model_name: "errors", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6946330, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "errors", }, ), None, ), ], custom_error: None, strict: false, name: "union[response,errors]", }, ), class: Py( 0x000055aae6947000, ), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py( 0x00007f6896b91e70, ), name: "RootModel[Union[response, errors]]", }, ), min_length: None, max_length: None, name: "dict[str,RootModel[Union[response, errors]]]", }, ), frozen: false, }, ], model_name: "ModelingBatchData", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae72feb70, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "ModelingBatchData", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5fdb0, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5fde0, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f688ff6ed70, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "modeling_batch": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f688ff6ed70, ), ], }, expected_repr: "'modeling_batch'", name: "literal['modeling_batch']", }, ), validate_default: false, copy_default: false, name: "default[literal['modeling_batch']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "modeling_batch", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae73023a0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "modeling_batch", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5fed0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5ff00, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "files", lookup_key: Simple { key: "files", py_key: Py( 0x00007f688fd5fe70, ), path: LookupPath( [ S( "files", Py( 0x00007f688fd5fea0, ), ), ], ), }, name_py: Py( 0x00007f68a77f1b60, ), validator: List( ListValidator { strict: false, item_validator: Some( Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "contents", lookup_key: Simple { key: "contents", py_key: Py( 0x00007f688fd8def0, ), path: LookupPath( [ S( "contents", Py( 0x00007f688fd8e330, ), ), ], ), }, name_py: Py( 0x00007f68a77f5940, ), validator: Bytes( BytesValidator { strict: false, }, ), frozen: false, }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py( 0x00007f688fd5fe10, ), path: LookupPath( [ S( "name", Py( 0x00007f688fd5fe40, ), ), ], ), }, name_py: Py( 0x00007f68a783b7b0, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, ], model_name: "RawFile", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6ffed50, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "RawFile", }, ), ), min_length: None, max_length: None, name: OnceLock( <uninit>, ), fail_fast: false, }, ), frozen: false, }, ], model_name: "ExportData", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7305d70, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "ExportData", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd5ff30, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd5ff60, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68a27bf600, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "export": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68a27bf600, ), ], }, expected_repr: "'export'", name: "literal['export']", }, ), validate_default: false, copy_default: false, name: "default[literal['export']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "export", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7309450, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "export", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd5ff90, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd5ffc0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [], model_name: "MetricsRequestData", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae730c9a0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "MetricsRequestData", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd9c030, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd9c060, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f688ff6fef0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "metrics_request": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f688ff6fef0, ), ], }, expected_repr: "'metrics_request'", name: "literal['metrics_request']", }, ), validate_default: false, copy_default: false, name: "default[literal['metrics_request']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "metrics_request", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae730e5b0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "metrics_request", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd9c0f0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd9c120, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "session", lookup_key: Simple { key: "session", py_key: Py( 0x00007f688fd9c090, ), path: LookupPath( [ S( "session", Py( 0x00007f688fd9c0c0, ), ), ], ), }, name_py: Py( 0x00007f68a783ccf0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "api_call_id", lookup_key: Simple { key: "api_call_id", py_key: Py( 0x00007f688fd8e130, ), path: LookupPath( [ S( "api_call_id", Py( 0x00007f688fd8e2b0, ), ), ], ), }, name_py: Py( 0x00007f68941c6470, ), validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), frozen: false, }, ], model_name: "ModelingSessionData", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae6ebd330, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "ModelingSessionData", }, ), frozen: false, }, ], model_name: "ModelingSessionDataData", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7310970, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "ModelingSessionDataData", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd9c150, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd9c180, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f68955968f0, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "modeling_session_data": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f68955968f0, ), ], }, expected_repr: "'modeling_session_data'", name: "literal['modeling_session_data']", }, ), validate_default: false, copy_default: false, name: "default[literal['modeling_session_data']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "modeling_session_data", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7313020, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "modeling_session_data", }, ), Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "data", lookup_key: Simple { key: "data", py_key: Py( 0x00007f688fd9c1b0, ), path: LookupPath( [ S( "data", Py( 0x00007f688fd9c1e0, ), ), ], ), }, name_py: Py( 0x00007f68a78390a0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [], model_name: "PongData", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7316920, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "PongData", }, ), frozen: false, }, Field { name: "type", lookup_key: Simple { key: "type", py_key: Py( 0x00007f688fd9c210, ), path: LookupPath( [ S( "type", Py( 0x00007f688fd9c240, ), ), ], ), }, name_py: Py( 0x00007f68a783da58, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f6895443c90, ), ), on_error: Raise, validator: Literal( LiteralValidator { lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some( { "pong": 0, }, ), expected_py_dict: None, expected_py_values: None, values: [ Py( 0x00007f6895443c90, ), ], }, expected_repr: "'pong'", name: "literal['pong']", }, ), validate_default: false, copy_default: false, name: "default[literal['pong']]", undefined: Py( 0x00007f6896b91e70, ), }, ), frozen: false, }, ], model_name: "pong", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7317bb0, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "pong", }, ), ], }, from_attributes: true, strict: false, custom_error: None, tags_repr: "'ice_server_info', 'trickle_ice', 'sdp_answer', 'modeling', 'modeling_batch', 'export', 'metrics_request', 'modeling_session_data', 'pong'", discriminator_repr: "'type'", name: "tagged-union[ice_server_info,trickle_ice,sdp_answer,modeling,modeling_batch,export,metrics_request,modeling_session_data,pong]", }, ), class: Py( 0x000055aae731a1f0, ), post_init: None, frozen: false, custom_init: false, root_model: true, undefined: Py( 0x00007f6896b91e70, ), name: "RootModel[Annotated[Union[ice_server_info, trickle_ice, sdp_answer, modeling, modeling_batch, export, metrics_request, modeling_session_data, pong], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]", }, ), frozen: false, }, Field { name: "success", lookup_key: Simple { key: "success", py_key: Py( 0x00007f688fd9c2d0, ), path: LookupPath( [ S( "success", Py( 0x00007f688fd9c300, ), ), ], ), }, name_py: Py( 0x00007f68a60a7420, ), validator: Bool( BoolValidator { strict: false, }, ), frozen: false, }, ], model_name: "SuccessWebSocketResponse", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x000055aae7443220, ), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007f6896b91e70, ), name: "SuccessWebSocketResponse", }, ), definitions=[Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "center", lookup_key: Simple { key: "center", py_key: Py(0x7f688fd42850), path: LookupPath([S("center", Py(0x7f688fd427f0))]) }, name_py: Py(0x7f68a7108150), validator: DefinitionRef(DefinitionRefValidator { definition: "Point3d" }), frozen: false }, Field { name: "fov_y", lookup_key: Simple { key: "fov_y", py_key: Py(0x7f688fd428e0), path: LookupPath([S("fov_y", Py(0x7f688fd42820))]) }, name_py: Py(0x7f68947b24f0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f68a7748100)), on_error: Raise, validator: Nullable(NullableValidator { validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), name: "nullable[float]" }), validate_default: false, copy_default: false, name: "default[nullable[float]]", undefined: Py(0x7f6896b91e70) }), frozen: false }, Field { name: "orientation", lookup_key: Simple { key: "orientation", py_key: Py(0x7f688fd49e30), path: LookupPath([S("orientation", Py(0x7f688fd4bbf0))]) }, name_py: Py(0x7f689692d8b0), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "ortho", lookup_key: Simple { key: "ortho", py_key: Py(0x7f688fd434e0), path: LookupPath([S("ortho", Py(0x7f688fd433c0))]) }, name_py: Py(0x7f68955523d0), validator: Bool(BoolValidator { strict: false }), frozen: false }, Field { name: "ortho_scale", lookup_key: Simple { key: "ortho_scale", py_key: Py(0x7f688fd4bb30), path: LookupPath([S("ortho_scale", Py(0x7f688fd4b530))]) }, name_py: Py(0x7f6894764df0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f68a7748100)), on_error: Raise, validator: Nullable(NullableValidator { validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), name: "nullable[float]" }), validate_default: false, copy_default: false, name: "default[nullable[float]]", undefined: Py(0x7f6896b91e70) }), frozen: false }, Field { name: "pos", lookup_key: Simple { key: "pos", py_key: Py(0x7f688fd43cc0), path: LookupPath([S("pos", Py(0x7f688fd43d80))]) }, name_py: Py(0x7f68a783c250), validator: DefinitionRef(DefinitionRefValidator { definition: "Point3d" }), frozen: false }, Field { name: "up", lookup_key: Simple { key: "up", py_key: Py(0x7f688fd43c60), path: LookupPath([S("up", Py(0x7f688fd43e70))]) }, name_py: Py(0x7f68a65f7900), validator: DefinitionRef(DefinitionRefValidator { definition: "Point3d" }), frozen: false }], model_name: "CameraSettings", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae67fee10), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "CameraSettings" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "x", lookup_key: Simple { key: "x", py_key: Py(0x7f68a783f628), path: LookupPath([S("x", Py(0x7f68a783f628))]) }, name_py: Py(0x7f68a783df18), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "y", lookup_key: Simple { key: "y", py_key: Py(0x7f68a783f658), path: LookupPath([S("y", Py(0x7f68a783f658))]) }, name_py: Py(0x7f68a783f658), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "z", lookup_key: Simple { key: "z", py_key: Py(0x7f68a783f688), path: LookupPath([S("z", Py(0x7f68a783f688))]) }, name_py: Py(0x7f68a783f688), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }], model_name: "Point3d", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae6232b70), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "Point3d" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "w", lookup_key: Simple { key: "w", py_key: Py(0x7f68a783f5f8), path: LookupPath([S("w", Py(0x7f68a783f5f8))]) }, name_py: Py(0x7f68a783f5f8), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "x", lookup_key: Simple { key: "x", py_key: Py(0x7f68a783f628), path: LookupPath([S("x", Py(0x7f68a783f628))]) }, name_py: Py(0x7f68a783df18), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "y", lookup_key: Simple { key: "y", py_key: Py(0x7f68a783f658), path: LookupPath([S("y", Py(0x7f68a783f658))]) }, name_py: Py(0x7f68a783f658), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }, Field { name: "z", lookup_key: Simple { key: "z", py_key: Py(0x7f68a783f688), path: LookupPath([S("z", Py(0x7f68a783f688))]) }, name_py: Py(0x7f68a783f688), validator: Float(FloatValidator { strict: false, allow_inf_nan: true }), frozen: false }], model_name: "Point4d", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae6801240), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "Point4d" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "command", lookup_key: Simple { key: "command", py_key: Py(0x7f688fd43b40), path: LookupPath([S("command", Py(0x7f688fd43ae0))]) }, name_py: Py(0x7f68a7838de0), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "command_id", lookup_key: Simple { key: "command_id", py_key: Py(0x7f688fd8fe70), path: LookupPath([S("command_id", Py(0x7f688fd8fb70))]) }, name_py: Py(0x7f68941cddf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f68a7748100)), on_error: Raise, validator: Nullable(NullableValidator { validator: FunctionAfter(FunctionAfterValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x55aae6b72810), config: Py(0x7f688fde8c00), name: "function-after[ModelingCmdId(), str]", field_name: None, info_arg: false }), name: "nullable[function-after[ModelingCmdId(), str]]" }), validate_default: false, copy_default: false, name: "default[nullable[function-after[ModelingCmdId(), str]]]", undefined: Py(0x7f6896b91e70) }), frozen: false }, Field { name: "relative", lookup_key: Simple { key: "relative", py_key: Py(0x7f688fd8f870), path: LookupPath([S("relative", Py(0x7f688fd8f9f0))]) }, name_py: Py(0x7f68988993f0), validator: Bool(BoolValidator { strict: false }), frozen: false }], model_name: "PathSegmentInfo", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae6fd04d0), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "PathSegmentInfo" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55aae6ffd6a0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"line_to": 1, "bez_curve_to": 2, "nurbs_curve_to": 3, "add_arc": 4, "move_to": 0}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f68941a02f0), Py(0x7f68941a03b0), Py(0x7f68941a0410), Py(0x7f68941a04d0), Py(0x7f68941a0530)] }, missing: None, expected_repr: "'move_to', 'line_to', 'bez_curve_to', 'nurbs_curve_to' or 'add_arc'", strict: false, class_repr: "PathCommand", name: "str-enum[PathCommand]" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "cap", lookup_key: Simple { key: "cap", py_key: Py(0x7f688fd43b10), path: LookupPath([S("cap", Py(0x7f688fd43c30))]) }, name_py: Py(0x7f68a2735680), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "curve_id", lookup_key: Simple { key: "curve_id", py_key: Py(0x7f688fd8fdb0), path: LookupPath([S("curve_id", Py(0x7f688fd8fcf0))]) }, name_py: Py(0x7f6894576bf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f68a7748100)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7f6896b91e70) }), frozen: false }, Field { name: "face_id", lookup_key: Simple { key: "face_id", py_key: Py(0x7f688fd43c00), path: LookupPath([S("face_id", Py(0x7f688fd43ba0))]) }, name_py: Py(0x7f68946f4cf0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7f68a7748100)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7f6896b91e70) }), frozen: false }], model_name: "ExtrusionFaceInfo", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x55aae6a30b50), post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7f6896b91e70), name: "ExtrusionFaceInfo" }), StrEnum(EnumValidator { phantom: PhantomData<_pydantic_core::validators::enum_::StrEnumValidator>, class: Py(0x55aae6a2fcc0), lookup: LiteralLookup { expected_bool: None, expected_int: None, expected_str: Some({"none": 0, "top": 1, "bottom": 2}), expected_py_dict: None, expected_py_values: None, values: [Py(0x7f6894535370), Py(0x7f6894535430), Py(0x7f6894535490)] }, missing: None, expected_repr: "'none', 'top' or 'bottom'", strict: false, class_repr: "ExtrusionFaceCapType", name: "str-enum[ExtrusionFaceCapType]" })], cache_strings=True)[source]
- __rich_repr__()[source]
Used by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.
- __signature__: ClassVar[Signature] = <Signature (*, request_id: Optional[str] = None, resp: pydantic.root_model.RootModel[Annotated[Union[ice_server_info, trickle_ice, sdp_answer, modeling, modeling_batch, export, metrics_request, modeling_session_data, pong], FieldInfo(annotation=NoneType, required=True, discriminator='type')]], success: bool) -> None>[source]
- __slots__ = ('__dict__', '__pydantic_fields_set__', '__pydantic_extra__', '__pydantic_private__')[source]
- copy(*, include=None, exclude=None, update=None, deep=False)[source]
Returns a copy of the model.
- !!! warning “Deprecated”
This method is now deprecated; use
model_copy
instead.
If you need
include
orexclude
, use:`py data = self.model_dump(include=include, exclude=exclude, round_trip=True) data = {**data, **(update or {})} copied = self.model_validate(data) `
- Parameters:
include – Optional set or mapping specifying which fields to include in the copied model.
exclude – Optional set or mapping specifying which fields to exclude in the copied model.
update – Optional dictionary of field-value pairs to override field values in the copied model.
deep – If True, the values of fields that are Pydantic models will be deep-copied.
- Returns:
A copy of the model with included, excluded and updated fields as specified.
- dict(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False)[source]
- json(*, include=None, exclude=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, encoder=PydanticUndefined, models_as_dict=PydanticUndefined, **dumps_kwargs)[source]
- Return type:
- model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}[source]
A dictionary of computed field names and their corresponding
ComputedFieldInfo
objects.
- model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}[source]
Configuration for the model, should be a dictionary conforming to [
ConfigDict
][pydantic.config.ConfigDict].
- classmethod model_construct(_fields_set=None, **values)[source]
Creates a new instance of the
Model
class with validated data.Creates a new model setting
__dict__
and__pydantic_fields_set__
from trusted or pre-validated data. Default values are respected, but no other validation is performed.- !!! note
model_construct()
generally respects themodel_config.extra
setting on the provided model. That is, ifmodel_config.extra == 'allow'
, then all extra passed values are added to the model instance’s__dict__
and__pydantic_extra__
fields. Ifmodel_config.extra == 'ignore'
(the default), then all extra passed values are ignored. Because no validation is performed with a call tomodel_construct()
, havingmodel_config.extra == 'forbid'
does not result in an error if extra values are passed, but they will be ignored.
- model_copy(*, update=None, deep=False)[source]
Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy
Returns a copy of the model.
- model_dump(*, mode='python', include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]
Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump
Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.
- Parameters:
mode (
Union
[Literal
['json'
,'python'
],str
]) – The mode in whichto_python
should run. If mode is ‘json’, the output will only contain JSON serializable types. If mode is ‘python’, the output may contain non-JSON-serializable Python objects.include (
Union
[Set
[int
],Set
[str
],Dict
[int
,Any
],Dict
[str
,Any
],None
]) – A set of fields to include in the output.exclude (
Union
[Set
[int
],Set
[str
],Dict
[int
,Any
],Dict
[str
,Any
],None
]) – A set of fields to exclude from the output.context (
Optional
[Any
]) – Additional context to pass to the serializer.by_alias (
bool
) – Whether to use the field’s alias in the dictionary key if defined.exclude_unset (
bool
) – Whether to exclude fields that have not been explicitly set.exclude_defaults (
bool
) – Whether to exclude fields that are set to their default value.exclude_none (
bool
) – Whether to exclude fields that have a value ofNone
.round_trip (
bool
) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].warnings (
Union
[bool
,Literal
['none'
,'warn'
,'error'
]]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError
][pydantic_core.PydanticSerializationError].serialize_as_any (
bool
) – Whether to serialize fields with duck-typing serialization behavior.
- Return type:
- Returns:
A dictionary representation of the model.
- model_dump_json(*, indent=None, include=None, exclude=None, context=None, by_alias=False, exclude_unset=False, exclude_defaults=False, exclude_none=False, round_trip=False, warnings=True, serialize_as_any=False)[source]
Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json
Generates a JSON representation of the model using Pydantic’s
to_json
method.- Parameters:
indent (
Optional
[int
]) – Indentation to use in the JSON output. If None is passed, the output will be compact.include (
Union
[Set
[int
],Set
[str
],Dict
[int
,Any
],Dict
[str
,Any
],None
]) – Field(s) to include in the JSON output.exclude (
Union
[Set
[int
],Set
[str
],Dict
[int
,Any
],Dict
[str
,Any
],None
]) – Field(s) to exclude from the JSON output.context (
Optional
[Any
]) – Additional context to pass to the serializer.by_alias (
bool
) – Whether to serialize using field aliases.exclude_unset (
bool
) – Whether to exclude fields that have not been explicitly set.exclude_defaults (
bool
) – Whether to exclude fields that are set to their default value.exclude_none (
bool
) – Whether to exclude fields that have a value ofNone
.round_trip (
bool
) – If True, dumped values should be valid as input for non-idempotent types such as Json[T].warnings (
Union
[bool
,Literal
['none'
,'warn'
,'error'
]]) – How to handle serialization errors. False/”none” ignores them, True/”warn” logs errors, “error” raises a [PydanticSerializationError
][pydantic_core.PydanticSerializationError].serialize_as_any (
bool
) – Whether to serialize fields with duck-typing serialization behavior.
- Return type:
- Returns:
A JSON string representation of the model.
- property model_extra: dict[str, Any] | None[source]
Get extra fields set during validation.
- Returns:
A dictionary of extra fields, or
None
ifconfig.extra
is not set to"allow"
.
- model_fields: ClassVar[dict[str, FieldInfo]] = {'request_id': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'resp': FieldInfo(annotation=RootModel[Annotated[Union[ice_server_info, trickle_ice, sdp_answer, modeling, modeling_batch, export, metrics_request, modeling_session_data, pong], FieldInfo(annotation=NoneType, required=True, discriminator='type')]], required=True), 'success': FieldInfo(annotation=bool, required=True)}[source]
Metadata about the fields defined on the model, mapping of field names to [
FieldInfo
][pydantic.fields.FieldInfo].This replaces
Model.__fields__
from Pydantic V1.
- property model_fields_set: set[str][source]
Returns the set of fields that have been explicitly set on this model instance.
- Returns:
- A set of strings representing the fields that have been set,
i.e. that were not filled from defaults.
- classmethod model_json_schema(by_alias=True, ref_template='#/$defs/{model}', schema_generator=<class 'pydantic.json_schema.GenerateJsonSchema'>, mode='validation')[source]
Generates a JSON schema for a model class.
- Parameters:
by_alias (
bool
) – Whether to use attribute aliases or not.ref_template (
str
) – The reference template.schema_generator (
type
[GenerateJsonSchema
]) – To override the logic used to generate the JSON schema, as a subclass ofGenerateJsonSchema
with your desired modificationsmode (
Literal
['validation'
,'serialization'
]) – The mode in which to generate the schema.
- Return type:
- Returns:
The JSON schema for the given model class.
- classmethod model_parametrized_name(params)[source]
Compute the class name for parametrizations of generic classes.
This method can be overridden to achieve a custom naming scheme for generic BaseModels.
- Parameters:
params (
tuple
[type
[Any
],...
]) – Tuple of types of the class. Given a generic classModel
with 2 type variables and a concrete modelModel[str, int]
, the value(str, int)
would be passed toparams
.- Return type:
- Returns:
String representing the new class where
params
are passed tocls
as type variables.- Raises:
TypeError – Raised when trying to generate concrete names for non-generic models.
- model_post_init(_BaseModel__context)[source]
Override this method to perform additional initialization after
__init__
andmodel_construct
. This is useful if you want to do some validation that requires the entire model to be initialized.- Return type:
- classmethod model_rebuild(*, force=False, raise_errors=True, _parent_namespace_depth=2, _types_namespace=None)[source]
Try to rebuild the pydantic-core schema for the model.
This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.
- Parameters:
force (
bool
) – Whether to force the rebuilding of the model schema, defaults toFalse
.raise_errors (
bool
) – Whether to raise errors, defaults toTrue
._parent_namespace_depth (
int
) – The depth level of the parent namespace, defaults to 2._types_namespace (
Optional
[dict
[str
,Any
]]) – The types namespace, defaults toNone
.
- Return type:
- Returns:
Returns
None
if the schema is already “complete” and rebuilding was not required. If rebuilding _was_ required, returnsTrue
if rebuilding was successful, otherwiseFalse
.
- classmethod model_validate(obj, *, strict=None, from_attributes=None, context=None)[source]
Validate a pydantic model instance.
- Parameters:
- Raises:
ValidationError – If the object could not be validated.
- Return type:
Self
- Returns:
The validated model instance.
- classmethod model_validate_json(json_data, *, strict=None, context=None)[source]
Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing
Validate the given JSON data against the Pydantic model.
- Parameters:
- Return type:
Self
- Returns:
The validated Pydantic model.
- Raises:
ValueError – If
json_data
is not a JSON string.
- classmethod model_validate_strings(obj, *, strict=None, context=None)[source]
Validate the given object with string data against the Pydantic model.
- classmethod parse_file(path, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
- Return type:
Self
- classmethod parse_raw(b, *, content_type=None, encoding='utf8', proto=None, allow_pickle=False)[source]
- Return type:
Self
-
resp:
RootModel[Annotated[Union[ice_server_info, trickle_ice, sdp_answer, modeling, modeling_batch, export, metrics_request, modeling_session_data, pong], FieldInfo(annotation=NoneType, required=True, discriminator='type')]]
[source]