autoassembler 0.3.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. autoassembler/.fernignore +7 -0
  2. autoassembler/__init__.py +537 -0
  3. autoassembler/_custom/__init__.py +56 -0
  4. autoassembler/_custom/assemblies.py +226 -0
  5. autoassembler/_custom/assemblies_api.py +188 -0
  6. autoassembler/_custom/credentials.py +248 -0
  7. autoassembler/_custom/http.py +42 -0
  8. autoassembler/_custom/operations.py +258 -0
  9. autoassembler/_custom/planning.py +598 -0
  10. autoassembler/_custom/planning_api.py +225 -0
  11. autoassembler/_default_clients.py +32 -0
  12. autoassembler/_version.py +8 -0
  13. autoassembler/alpha/__init__.py +63 -0
  14. autoassembler/alpha/client.py +82 -0
  15. autoassembler/alpha/jobs/__init__.py +39 -0
  16. autoassembler/alpha/jobs/client.py +338 -0
  17. autoassembler/alpha/jobs/raw_client.py +641 -0
  18. autoassembler/alpha/jobs/types/__init__.py +42 -0
  19. autoassembler/alpha/jobs/types/cancel_job_jobs_response.py +12 -0
  20. autoassembler/alpha/jobs/types/list_jobs_jobs_response.py +30 -0
  21. autoassembler/alpha/jobs/types/list_jobs_jobs_response_pagination.py +22 -0
  22. autoassembler/alpha/jobs/types/retry_job_jobs_response.py +16 -0
  23. autoassembler/alpha/planning/__init__.py +49 -0
  24. autoassembler/alpha/planning/client.py +201 -0
  25. autoassembler/alpha/planning/raw_client.py +268 -0
  26. autoassembler/alpha/planning/types/__init__.py +47 -0
  27. autoassembler/alpha/planning/types/apply_ops_planning_request_namespace.py +5 -0
  28. autoassembler/alpha/planning/types/apply_ops_planning_request_ops_item.py +13 -0
  29. autoassembler/alpha/planning/types/apply_ops_planning_request_ops_item_op.py +58 -0
  30. autoassembler/alpha/planning/types/apply_ops_planning_response.py +13 -0
  31. autoassembler/alpha/raw_client.py +13 -0
  32. autoassembler/assemblies/__init__.py +73 -0
  33. autoassembler/assemblies/client.py +1177 -0
  34. autoassembler/assemblies/raw_client.py +1557 -0
  35. autoassembler/assemblies/types/__init__.py +71 -0
  36. autoassembler/assemblies/types/delete_assembly_response.py +12 -0
  37. autoassembler/assemblies/types/download_assembly_cad_request_namespace.py +5 -0
  38. autoassembler/assemblies/types/get_assembly_info_request_namespace.py +5 -0
  39. autoassembler/assemblies/types/get_status_request_namespace.py +5 -0
  40. autoassembler/assemblies/types/get_status_response.py +16 -0
  41. autoassembler/assemblies/types/get_status_response_progress.py +13 -0
  42. autoassembler/assemblies/types/get_status_response_status.py +7 -0
  43. autoassembler/assemblies/types/get_structure_request_namespace.py +5 -0
  44. autoassembler/assemblies/types/list_assembly_versions_request_namespace.py +5 -0
  45. autoassembler/assemblies/types/list_connections_request_namespace.py +5 -0
  46. autoassembler/assemblies/types/process_request_namespace.py +5 -0
  47. autoassembler/assemblies/types/update_assembly_info_request_namespace.py +5 -0
  48. autoassembler/auth/__init__.py +34 -0
  49. autoassembler/auth/client.py +282 -0
  50. autoassembler/auth/raw_client.py +413 -0
  51. autoassembler/auth/types/__init__.py +36 -0
  52. autoassembler/auth/types/create_access_token_request_grant_type.py +7 -0
  53. autoassembler/base_client.py +328 -0
  54. autoassembler/client.py +262 -0
  55. autoassembler/core/__init__.py +127 -0
  56. autoassembler/core/api_error.py +23 -0
  57. autoassembler/core/client_wrapper.py +147 -0
  58. autoassembler/core/datetime_utils.py +70 -0
  59. autoassembler/core/file.py +67 -0
  60. autoassembler/core/force_multipart.py +18 -0
  61. autoassembler/core/http_client.py +965 -0
  62. autoassembler/core/http_response.py +63 -0
  63. autoassembler/core/http_sse/__init__.py +42 -0
  64. autoassembler/core/http_sse/_api.py +455 -0
  65. autoassembler/core/http_sse/_decoders.py +74 -0
  66. autoassembler/core/http_sse/_exceptions.py +7 -0
  67. autoassembler/core/http_sse/_models.py +17 -0
  68. autoassembler/core/jsonable_encoder.py +133 -0
  69. autoassembler/core/logging.py +107 -0
  70. autoassembler/core/parse_error.py +36 -0
  71. autoassembler/core/pydantic_utilities.py +486 -0
  72. autoassembler/core/query_encoder.py +58 -0
  73. autoassembler/core/remove_none_from_dict.py +11 -0
  74. autoassembler/core/request_options.py +40 -0
  75. autoassembler/core/serialization.py +347 -0
  76. autoassembler/environment.py +7 -0
  77. autoassembler/errors/__init__.py +56 -0
  78. autoassembler/errors/bad_request_error.py +10 -0
  79. autoassembler/errors/conflict_error.py +10 -0
  80. autoassembler/errors/forbidden_error.py +11 -0
  81. autoassembler/errors/internal_server_error.py +11 -0
  82. autoassembler/errors/not_found_error.py +11 -0
  83. autoassembler/errors/unauthorized_error.py +10 -0
  84. autoassembler/errors/unprocessable_entity_error.py +11 -0
  85. autoassembler/operation.py +196 -0
  86. autoassembler/operations/__init__.py +4 -0
  87. autoassembler/operations/client.py +209 -0
  88. autoassembler/operations/raw_client.py +343 -0
  89. autoassembler/planning/__init__.py +70 -0
  90. autoassembler/planning/client.py +1174 -0
  91. autoassembler/planning/raw_client.py +1349 -0
  92. autoassembler/planning/types/__init__.py +68 -0
  93. autoassembler/planning/types/adapt_request_namespace.py +5 -0
  94. autoassembler/planning/types/create_mpp_request_body.py +8 -0
  95. autoassembler/planning/types/create_mpp_request_namespace.py +5 -0
  96. autoassembler/planning/types/delete_mpp_request_namespace.py +5 -0
  97. autoassembler/planning/types/delete_mpp_response.py +12 -0
  98. autoassembler/planning/types/evaluate_dfa_request_namespace.py +5 -0
  99. autoassembler/planning/types/get_mpp_request_namespace.py +5 -0
  100. autoassembler/planning/types/get_mpp_response.py +27 -0
  101. autoassembler/planning/types/list_mpps_request_namespace.py +5 -0
  102. autoassembler/planning/types/plan_request_namespace.py +5 -0
  103. autoassembler/planning/types/validate_request_namespace.py +5 -0
  104. autoassembler/py.typed +0 -0
  105. autoassembler/sessions/__init__.py +4 -0
  106. autoassembler/sessions/client.py +102 -0
  107. autoassembler/sessions/raw_client.py +126 -0
  108. autoassembler/types/__init__.py +344 -0
  109. autoassembler/types/access_token_response.py +14 -0
  110. autoassembler/types/active_session.py +25 -0
  111. autoassembler/types/active_session_namespace.py +5 -0
  112. autoassembler/types/adapt_mpp_accepted.py +26 -0
  113. autoassembler/types/assembly.py +30 -0
  114. autoassembler/types/assembly_connection.py +21 -0
  115. autoassembler/types/assembly_connection_relationship.py +5 -0
  116. autoassembler/types/assembly_connections_response.py +13 -0
  117. autoassembler/types/assembly_diff_metadata.py +35 -0
  118. autoassembler/types/assembly_diff_response.py +34 -0
  119. autoassembler/types/assembly_info.py +36 -0
  120. autoassembler/types/assembly_json_response.py +15 -0
  121. autoassembler/types/assembly_process_metadata.py +32 -0
  122. autoassembler/types/assembly_process_response.py +18 -0
  123. autoassembler/types/assembly_search_hit.py +31 -0
  124. autoassembler/types/assembly_version_summary.py +27 -0
  125. autoassembler/types/conflict_error_body.py +19 -0
  126. autoassembler/types/conflict_error_body_error.py +5 -0
  127. autoassembler/types/create_mpp_request.py +13 -0
  128. autoassembler/types/device_authorization_response.py +17 -0
  129. autoassembler/types/diff_accepted.py +42 -0
  130. autoassembler/types/diff_context_node.py +20 -0
  131. autoassembler/types/diff_details.py +73 -0
  132. autoassembler/types/diff_error_response.py +38 -0
  133. autoassembler/types/diff_flags.py +74 -0
  134. autoassembler/types/diff_ml_semantics.py +55 -0
  135. autoassembler/types/diff_node.py +26 -0
  136. autoassembler/types/diff_node_pair_with_parts.py +90 -0
  137. autoassembler/types/diff_node_with_parent.py +15 -0
  138. autoassembler/types/diff_reference_target_nodes.py +25 -0
  139. autoassembler/types/diff_report.py +24 -0
  140. autoassembler/types/diff_rigid_alignment.py +30 -0
  141. autoassembler/types/diff_summary.py +121 -0
  142. autoassembler/types/diff_summary_assembly_labels.py +44 -0
  143. autoassembler/types/diff_summary_geometric_diffs.py +24 -0
  144. autoassembler/types/diff_summary_persistent_edges_congruence.py +24 -0
  145. autoassembler/types/diff_summary_persistent_edges_congruence_pose.py +24 -0
  146. autoassembler/types/diff_summary_persistent_nodes_congruence.py +24 -0
  147. autoassembler/types/diff_summary_persistent_nodes_congruence_pose.py +24 -0
  148. autoassembler/types/diff_summary_total_parts.py +24 -0
  149. autoassembler/types/diff_swap.py +65 -0
  150. autoassembler/types/diff_swap_confidence.py +5 -0
  151. autoassembler/types/diff_swap_group.py +92 -0
  152. autoassembler/types/diff_validation_issue.py +38 -0
  153. autoassembler/types/diff_validation_issue_severity.py +5 -0
  154. autoassembler/types/diff_validation_result.py +35 -0
  155. autoassembler/types/diff_warning.py +79 -0
  156. autoassembler/types/diff_warning_reason.py +18 -0
  157. autoassembler/types/diff_warning_severity.py +5 -0
  158. autoassembler/types/error_response.py +30 -0
  159. autoassembler/types/filter.py +19 -0
  160. autoassembler/types/filter_field.py +7 -0
  161. autoassembler/types/filter_operator.py +5 -0
  162. autoassembler/types/job.py +123 -0
  163. autoassembler/types/job_progress.py +24 -0
  164. autoassembler/types/job_status.py +5 -0
  165. autoassembler/types/list_operations_response.py +25 -0
  166. autoassembler/types/manufacturing_process_plan.py +57 -0
  167. autoassembler/types/mpp_adapt_metadata.py +48 -0
  168. autoassembler/types/mpp_adapt_response.py +22 -0
  169. autoassembler/types/mpp_evaluate_dfa_metadata.py +47 -0
  170. autoassembler/types/mpp_evaluate_dfa_response.py +22 -0
  171. autoassembler/types/mpp_plan_metadata.py +47 -0
  172. autoassembler/types/mpp_plan_response.py +22 -0
  173. autoassembler/types/mpp_summary.py +20 -0
  174. autoassembler/types/mpp_validate_metadata.py +47 -0
  175. autoassembler/types/mpp_validate_response.py +22 -0
  176. autoassembler/types/o_auth_error_response.py +14 -0
  177. autoassembler/types/o_auth_error_response_error.py +18 -0
  178. autoassembler/types/operation.py +27 -0
  179. autoassembler/types/operation_error.py +21 -0
  180. autoassembler/types/operation_metadata.py +148 -0
  181. autoassembler/types/operation_response.py +94 -0
  182. autoassembler/types/process_assembly_accepted.py +14 -0
  183. autoassembler/types/process_assembly_response.py +55 -0
  184. autoassembler/types/process_assembly_skipped.py +14 -0
  185. autoassembler/types/search_assemblies_response.py +14 -0
  186. autoassembler/types/seq_plan_accepted.py +24 -0
  187. autoassembler/types/sever.py +33 -0
  188. autoassembler/types/sever_kind.py +5 -0
  189. autoassembler/types/sever_source.py +5 -0
  190. autoassembler/types/sort.py +8 -0
  191. autoassembler/types/upload_response.py +19 -0
  192. autoassembler/types/user_info.py +19 -0
  193. autoassembler/types/user_info_response.py +23 -0
  194. autoassembler/types/user_info_response_providers.py +14 -0
  195. autoassembler-0.3.1.dist-info/METADATA +209 -0
  196. autoassembler-0.3.1.dist-info/RECORD +198 -0
  197. autoassembler-0.3.1.dist-info/WHEEL +4 -0
  198. autoassembler-0.3.1.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,21 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import UniversalBaseModel
7
+
8
+
9
+ class OperationError(UniversalBaseModel):
10
+ """
11
+ Why the operation failed, as a `google.rpc.Status`.
12
+ """
13
+
14
+ code: int = pydantic.Field()
15
+ """
16
+ A `google.rpc.Code`: 1 (`CANCELLED`) when the run was cancelled or a change to the plan stopped it, 9 (`FAILED_PRECONDITION`) when the request cannot succeed as made (e.g. plan reuse yields an inconsistent plan), 14 (`UNAVAILABLE`) when the server or a worker restarted during it, 13 (`INTERNAL`) otherwise.
17
+ """
18
+
19
+ message: str
20
+
21
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,148 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+
5
+ import datetime as dt
6
+ import typing
7
+
8
+ import pydantic
9
+ import typing_extensions
10
+ from ..core.pydantic_utilities import UniversalBaseModel
11
+ from ..core.serialization import FieldMetadata
12
+
13
+
14
+ class OperationMetadata_MppPlan(UniversalBaseModel):
15
+ """
16
+ What the operation is about and its timing; `type` says which kind of operation it is, and which other fields it carries. New kinds are added as new variants.
17
+ """
18
+
19
+ type: typing.Literal["mpp-plan"] = "mpp-plan"
20
+ assembly_id: typing_extensions.Annotated[str, FieldMetadata(alias="assemblyId"), pydantic.Field(alias="assemblyId")]
21
+ mpp_id: typing_extensions.Annotated[str, FieldMetadata(alias="mppId"), pydantic.Field(alias="mppId")]
22
+ station_ids: typing_extensions.Annotated[
23
+ typing.List[str], FieldMetadata(alias="stationIds"), pydantic.Field(alias="stationIds")
24
+ ]
25
+ skipped: typing.List[str]
26
+ create_time: typing_extensions.Annotated[
27
+ dt.datetime, FieldMetadata(alias="createTime"), pydantic.Field(alias="createTime")
28
+ ]
29
+ end_time: typing_extensions.Annotated[
30
+ typing.Optional[dt.datetime], FieldMetadata(alias="endTime"), pydantic.Field(alias="endTime", default=None)
31
+ ]
32
+
33
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
34
+
35
+
36
+ class OperationMetadata_MppValidate(UniversalBaseModel):
37
+ """
38
+ What the operation is about and its timing; `type` says which kind of operation it is, and which other fields it carries. New kinds are added as new variants.
39
+ """
40
+
41
+ type: typing.Literal["mpp-validate"] = "mpp-validate"
42
+ assembly_id: typing_extensions.Annotated[str, FieldMetadata(alias="assemblyId"), pydantic.Field(alias="assemblyId")]
43
+ mpp_id: typing_extensions.Annotated[str, FieldMetadata(alias="mppId"), pydantic.Field(alias="mppId")]
44
+ station_ids: typing_extensions.Annotated[
45
+ typing.List[str], FieldMetadata(alias="stationIds"), pydantic.Field(alias="stationIds")
46
+ ]
47
+ skipped: typing.List[str]
48
+ create_time: typing_extensions.Annotated[
49
+ dt.datetime, FieldMetadata(alias="createTime"), pydantic.Field(alias="createTime")
50
+ ]
51
+ end_time: typing_extensions.Annotated[
52
+ typing.Optional[dt.datetime], FieldMetadata(alias="endTime"), pydantic.Field(alias="endTime", default=None)
53
+ ]
54
+
55
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
56
+
57
+
58
+ class OperationMetadata_MppEvaluateDfa(UniversalBaseModel):
59
+ """
60
+ What the operation is about and its timing; `type` says which kind of operation it is, and which other fields it carries. New kinds are added as new variants.
61
+ """
62
+
63
+ type: typing.Literal["mpp-evaluate-dfa"] = "mpp-evaluate-dfa"
64
+ assembly_id: typing_extensions.Annotated[str, FieldMetadata(alias="assemblyId"), pydantic.Field(alias="assemblyId")]
65
+ mpp_id: typing_extensions.Annotated[str, FieldMetadata(alias="mppId"), pydantic.Field(alias="mppId")]
66
+ station_ids: typing_extensions.Annotated[
67
+ typing.List[str], FieldMetadata(alias="stationIds"), pydantic.Field(alias="stationIds")
68
+ ]
69
+ skipped: typing.List[str]
70
+ create_time: typing_extensions.Annotated[
71
+ dt.datetime, FieldMetadata(alias="createTime"), pydantic.Field(alias="createTime")
72
+ ]
73
+ end_time: typing_extensions.Annotated[
74
+ typing.Optional[dt.datetime], FieldMetadata(alias="endTime"), pydantic.Field(alias="endTime", default=None)
75
+ ]
76
+
77
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
78
+
79
+
80
+ class OperationMetadata_MppAdapt(UniversalBaseModel):
81
+ """
82
+ What the operation is about and its timing; `type` says which kind of operation it is, and which other fields it carries. New kinds are added as new variants.
83
+ """
84
+
85
+ type: typing.Literal["mpp-adapt"] = "mpp-adapt"
86
+ assembly_id: typing_extensions.Annotated[str, FieldMetadata(alias="assemblyId"), pydantic.Field(alias="assemblyId")]
87
+ mpp_id: typing_extensions.Annotated[str, FieldMetadata(alias="mppId"), pydantic.Field(alias="mppId")]
88
+ reference_mpp_id: typing_extensions.Annotated[
89
+ str, FieldMetadata(alias="referenceMppId"), pydantic.Field(alias="referenceMppId")
90
+ ]
91
+ create_time: typing_extensions.Annotated[
92
+ dt.datetime, FieldMetadata(alias="createTime"), pydantic.Field(alias="createTime")
93
+ ]
94
+ end_time: typing_extensions.Annotated[
95
+ typing.Optional[dt.datetime], FieldMetadata(alias="endTime"), pydantic.Field(alias="endTime", default=None)
96
+ ]
97
+
98
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
99
+
100
+
101
+ class OperationMetadata_AssemblyProcess(UniversalBaseModel):
102
+ """
103
+ What the operation is about and its timing; `type` says which kind of operation it is, and which other fields it carries. New kinds are added as new variants.
104
+ """
105
+
106
+ type: typing.Literal["assembly-process"] = "assembly-process"
107
+ assembly_id: typing_extensions.Annotated[str, FieldMetadata(alias="assemblyId"), pydantic.Field(alias="assemblyId")]
108
+ create_time: typing_extensions.Annotated[
109
+ dt.datetime, FieldMetadata(alias="createTime"), pydantic.Field(alias="createTime")
110
+ ]
111
+ end_time: typing_extensions.Annotated[
112
+ typing.Optional[dt.datetime], FieldMetadata(alias="endTime"), pydantic.Field(alias="endTime", default=None)
113
+ ]
114
+
115
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
116
+
117
+
118
+ class OperationMetadata_AssemblyDiff(UniversalBaseModel):
119
+ """
120
+ What the operation is about and its timing; `type` says which kind of operation it is, and which other fields it carries. New kinds are added as new variants.
121
+ """
122
+
123
+ type: typing.Literal["assembly-diff"] = "assembly-diff"
124
+ reference_id: typing_extensions.Annotated[
125
+ str, FieldMetadata(alias="referenceId"), pydantic.Field(alias="referenceId")
126
+ ]
127
+ target_id: typing_extensions.Annotated[str, FieldMetadata(alias="targetId"), pydantic.Field(alias="targetId")]
128
+ create_time: typing_extensions.Annotated[
129
+ dt.datetime, FieldMetadata(alias="createTime"), pydantic.Field(alias="createTime")
130
+ ]
131
+ end_time: typing_extensions.Annotated[
132
+ typing.Optional[dt.datetime], FieldMetadata(alias="endTime"), pydantic.Field(alias="endTime", default=None)
133
+ ]
134
+
135
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
136
+
137
+
138
+ OperationMetadata = typing_extensions.Annotated[
139
+ typing.Union[
140
+ OperationMetadata_MppPlan,
141
+ OperationMetadata_MppValidate,
142
+ OperationMetadata_MppEvaluateDfa,
143
+ OperationMetadata_MppAdapt,
144
+ OperationMetadata_AssemblyProcess,
145
+ OperationMetadata_AssemblyDiff,
146
+ ],
147
+ pydantic.Field(discriminator="type"),
148
+ ]
@@ -0,0 +1,94 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+
5
+ import typing
6
+
7
+ import pydantic
8
+ import typing_extensions
9
+ from ..core.pydantic_utilities import UniversalBaseModel
10
+ from ..core.serialization import FieldMetadata
11
+
12
+
13
+ class OperationResponse_MppPlan(UniversalBaseModel):
14
+ """
15
+ The result of a successful operation; its `type` is the operation's, as in `metadata`.
16
+ """
17
+
18
+ type: typing.Literal["mpp-plan"] = "mpp-plan"
19
+ mpp_id: typing_extensions.Annotated[str, FieldMetadata(alias="mppId"), pydantic.Field(alias="mppId")]
20
+ version: int
21
+
22
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
23
+
24
+
25
+ class OperationResponse_MppValidate(UniversalBaseModel):
26
+ """
27
+ The result of a successful operation; its `type` is the operation's, as in `metadata`.
28
+ """
29
+
30
+ type: typing.Literal["mpp-validate"] = "mpp-validate"
31
+ mpp_id: typing_extensions.Annotated[str, FieldMetadata(alias="mppId"), pydantic.Field(alias="mppId")]
32
+ version: int
33
+
34
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
35
+
36
+
37
+ class OperationResponse_MppEvaluateDfa(UniversalBaseModel):
38
+ """
39
+ The result of a successful operation; its `type` is the operation's, as in `metadata`.
40
+ """
41
+
42
+ type: typing.Literal["mpp-evaluate-dfa"] = "mpp-evaluate-dfa"
43
+ mpp_id: typing_extensions.Annotated[str, FieldMetadata(alias="mppId"), pydantic.Field(alias="mppId")]
44
+ version: int
45
+
46
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
47
+
48
+
49
+ class OperationResponse_MppAdapt(UniversalBaseModel):
50
+ """
51
+ The result of a successful operation; its `type` is the operation's, as in `metadata`.
52
+ """
53
+
54
+ type: typing.Literal["mpp-adapt"] = "mpp-adapt"
55
+ mpp_id: typing_extensions.Annotated[str, FieldMetadata(alias="mppId"), pydantic.Field(alias="mppId")]
56
+ version: int
57
+
58
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
59
+
60
+
61
+ class OperationResponse_AssemblyProcess(UniversalBaseModel):
62
+ """
63
+ The result of a successful operation; its `type` is the operation's, as in `metadata`.
64
+ """
65
+
66
+ type: typing.Literal["assembly-process"] = "assembly-process"
67
+ assembly_id: typing_extensions.Annotated[str, FieldMetadata(alias="assemblyId"), pydantic.Field(alias="assemblyId")]
68
+
69
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
70
+
71
+
72
+ class OperationResponse_AssemblyDiff(UniversalBaseModel):
73
+ """
74
+ The result of a successful operation; its `type` is the operation's, as in `metadata`.
75
+ """
76
+
77
+ type: typing.Literal["assembly-diff"] = "assembly-diff"
78
+ result_url: typing_extensions.Annotated[str, FieldMetadata(alias="resultUrl"), pydantic.Field(alias="resultUrl")]
79
+ viewer_url: typing_extensions.Annotated[str, FieldMetadata(alias="viewerUrl"), pydantic.Field(alias="viewerUrl")]
80
+
81
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
82
+
83
+
84
+ OperationResponse = typing_extensions.Annotated[
85
+ typing.Union[
86
+ OperationResponse_MppPlan,
87
+ OperationResponse_MppValidate,
88
+ OperationResponse_MppEvaluateDfa,
89
+ OperationResponse_MppAdapt,
90
+ OperationResponse_AssemblyProcess,
91
+ OperationResponse_AssemblyDiff,
92
+ ],
93
+ pydantic.Field(discriminator="type"),
94
+ ]
@@ -0,0 +1,14 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from .operation import Operation
7
+
8
+
9
+ class ProcessAssemblyAccepted(Operation):
10
+ """
11
+ Processing was queued; the operation tracking it.
12
+ """
13
+
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,55 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from __future__ import annotations
4
+
5
+ import typing
6
+
7
+ import pydantic
8
+ import typing_extensions
9
+ from ..core.pydantic_utilities import UniversalBaseModel
10
+ from .operation_error import OperationError
11
+ from .operation_metadata import OperationMetadata
12
+ from .operation_response import OperationResponse
13
+
14
+
15
+ class ProcessAssemblyResponse_Ok(UniversalBaseModel):
16
+ """
17
+ `ok` means processing was queued: the body is also the operation tracking the run (AIP-151); poll `GET /api/v4/operations/{id}` until it is `done`. The other statuses queue nothing and carry no operation.
18
+ """
19
+
20
+ status: typing.Literal["ok"] = "ok"
21
+ name: str
22
+ done: bool
23
+ metadata: OperationMetadata
24
+ error: typing.Optional[OperationError] = None
25
+ response: typing.Optional[OperationResponse] = None
26
+
27
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
28
+
29
+
30
+ class ProcessAssemblyResponse_AlreadyProcessed(UniversalBaseModel):
31
+ """
32
+ `ok` means processing was queued: the body is also the operation tracking the run (AIP-151); poll `GET /api/v4/operations/{id}` until it is `done`. The other statuses queue nothing and carry no operation.
33
+ """
34
+
35
+ status: typing.Literal["already_processed"] = "already_processed"
36
+
37
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
38
+
39
+
40
+ class ProcessAssemblyResponse_CacheCleared(UniversalBaseModel):
41
+ """
42
+ `ok` means processing was queued: the body is also the operation tracking the run (AIP-151); poll `GET /api/v4/operations/{id}` until it is `done`. The other statuses queue nothing and carry no operation.
43
+ """
44
+
45
+ status: typing.Literal["cache_cleared"] = "cache_cleared"
46
+
47
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
48
+
49
+
50
+ ProcessAssemblyResponse = typing_extensions.Annotated[
51
+ typing.Union[
52
+ ProcessAssemblyResponse_Ok, ProcessAssemblyResponse_AlreadyProcessed, ProcessAssemblyResponse_CacheCleared
53
+ ],
54
+ pydantic.Field(discriminator="status"),
55
+ ]
@@ -0,0 +1,14 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import UniversalBaseModel
7
+
8
+
9
+ class ProcessAssemblySkipped(UniversalBaseModel):
10
+ """
11
+ Nothing was queued.
12
+ """
13
+
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,14 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import UniversalBaseModel
7
+ from .assembly_search_hit import AssemblySearchHit
8
+
9
+
10
+ class SearchAssembliesResponse(UniversalBaseModel):
11
+ hits: typing.List[AssemblySearchHit]
12
+ count: int
13
+
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,24 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from .operation import Operation
7
+
8
+
9
+ class SeqPlanAccepted(Operation):
10
+ """
11
+ The operation tracking the run (AIP-151): poll `GET /api/v4/operations/{id}` until it is `done`. `queued` and `skipped` repeat what the operation carries (`metadata.stationIds`, `metadata.skipped`) and will be removed.
12
+ """
13
+
14
+ queued: typing.List[str] = pydantic.Field()
15
+ """
16
+ Station IDs whose background jobs were accepted; `metadata.stationIds`.
17
+ """
18
+
19
+ skipped: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
20
+ """
21
+ Requested Station IDs that were accepted but did not need a background job; `metadata.skipped`.
22
+ """
23
+
24
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,33 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import UniversalBaseModel
7
+ from .sever_kind import SeverKind
8
+ from .sever_source import SeverSource
9
+
10
+
11
+ class Sever(UniversalBaseModel):
12
+ """
13
+ One accepted excuse: `moving` may pass `against`, which would otherwise obstruct it. Each end is a whole subassembly, as its occurrence ids.
14
+ """
15
+
16
+ kind: SeverKind = pydantic.Field()
17
+ """
18
+ What this resolution is. `sever` is the only value.
19
+ """
20
+
21
+ moving: typing.List[str]
22
+ against: typing.List[str]
23
+ path: typing.Optional[str] = pydantic.Field(default=None)
24
+ """
25
+ The one extraction path this holds along, by the id the extraction-paths endpoint gave it. Absent, the sever holds along every way out.
26
+ """
27
+
28
+ source: typing.Optional[SeverSource] = pydantic.Field(default=None)
29
+ """
30
+ Which analysis produced the row this resolution answered, written by the server when the resolution was accepted. Absent when the server could not attribute it; treat that as unknown rather than as any particular source.
31
+ """
32
+
33
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ SeverKind = typing.Union[typing.Literal["sever"], typing.Any]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ SeverSource = typing.Union[typing.Literal["preflight", "search", "verify"], typing.Any]
@@ -0,0 +1,8 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ Sort = typing.List[str]
6
+ """
7
+ [field, direction] where direction is `asc` or `desc`
8
+ """
@@ -0,0 +1,19 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ..core.pydantic_utilities import UniversalBaseModel
8
+ from ..core.serialization import FieldMetadata
9
+ from .assembly import Assembly
10
+
11
+
12
+ class UploadResponse(UniversalBaseModel):
13
+ assembly: typing.Optional[Assembly] = None
14
+ message: typing.Optional[str] = None
15
+ viewer_url: typing_extensions.Annotated[
16
+ typing.Optional[str], FieldMetadata(alias="viewerUrl"), pydantic.Field(alias="viewerUrl", default=None)
17
+ ]
18
+
19
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,19 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ..core.pydantic_utilities import UniversalBaseModel
8
+ from ..core.serialization import FieldMetadata
9
+
10
+
11
+ class UserInfo(UniversalBaseModel):
12
+ email: typing.Optional[str] = None
13
+ id: typing.Optional[str] = None
14
+ is_admin: typing_extensions.Annotated[
15
+ typing.Optional[bool], FieldMetadata(alias="isAdmin"), pydantic.Field(alias="isAdmin", default=None)
16
+ ]
17
+ name: typing.Optional[str] = None
18
+
19
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,23 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ import typing_extensions
7
+ from ..core.pydantic_utilities import UniversalBaseModel
8
+ from ..core.serialization import FieldMetadata
9
+ from .user_info import UserInfo
10
+ from .user_info_response_providers import UserInfoResponseProviders
11
+
12
+
13
+ class UserInfoResponse(UniversalBaseModel):
14
+ is_authenticated: typing_extensions.Annotated[
15
+ typing.Optional[bool],
16
+ FieldMetadata(alias="isAuthenticated"),
17
+ pydantic.Field(alias="isAuthenticated", default=None),
18
+ ]
19
+ user: typing.Optional[UserInfo] = None
20
+ providers: typing.Optional[UserInfoResponseProviders] = None
21
+ features: typing.Optional[typing.Dict[str, typing.Any]] = None
22
+
23
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,14 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import UniversalBaseModel
7
+
8
+
9
+ class UserInfoResponseProviders(UniversalBaseModel):
10
+ microsoft: typing.Optional[bool] = None
11
+ google: typing.Optional[bool] = None
12
+ onshape: typing.Optional[bool] = None
13
+
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)