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,30 @@
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 ErrorResponse(UniversalBaseModel):
12
+ error: typing.Optional[str] = None
13
+ message: typing.Optional[str] = None
14
+ current_version: typing_extensions.Annotated[
15
+ typing.Optional[int],
16
+ FieldMetadata(alias="currentVersion"),
17
+ pydantic.Field(alias="currentVersion", default=None),
18
+ ]
19
+ station_id: typing_extensions.Annotated[
20
+ typing.Optional[str],
21
+ FieldMetadata(alias="stationId"),
22
+ pydantic.Field(
23
+ alias="stationId", default=None, description="The station the error is about, when it is about one."
24
+ ),
25
+ ]
26
+ """
27
+ The station the error is about, when it is about one.
28
+ """
29
+
30
+ 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
+ from ..core.pydantic_utilities import UniversalBaseModel
7
+ from .filter_field import FilterField
8
+ from .filter_operator import FilterOperator
9
+
10
+
11
+ class Filter(UniversalBaseModel):
12
+ field: typing.Optional[FilterField] = None
13
+ operator: typing.Optional[FilterOperator] = None
14
+ value: typing.Optional[typing.Any] = pydantic.Field(default=None)
15
+ """
16
+ Comparison value for the filter.
17
+ """
18
+
19
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ FilterField = typing.Union[
6
+ typing.Literal["_id", "name", "uploadedBy", "isPublic", "path", "sharing.accounts", "externalId"], typing.Any
7
+ ]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ FilterOperator = typing.Union[typing.Literal["contains", "equals", "notEquals", "exists", "gte", "lte"], typing.Any]
@@ -0,0 +1,123 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ import pydantic
7
+ import typing_extensions
8
+ from ..core.pydantic_utilities import UniversalBaseModel
9
+ from ..core.serialization import FieldMetadata
10
+ from .job_progress import JobProgress
11
+ from .job_status import JobStatus
12
+
13
+
14
+ class Job(UniversalBaseModel):
15
+ key: str = pydantic.Field()
16
+ """
17
+ Unique identifier for the job.
18
+ """
19
+
20
+ task_type: typing_extensions.Annotated[
21
+ str,
22
+ FieldMetadata(alias="taskType"),
23
+ pydantic.Field(alias="taskType", description="Type of task (e.g. python, javascript)."),
24
+ ]
25
+ """
26
+ Type of task (e.g. python, javascript).
27
+ """
28
+
29
+ method: str = pydantic.Field()
30
+ """
31
+ The specific operation being performed.
32
+ """
33
+
34
+ label: typing.Optional[str] = pydantic.Field(default=None)
35
+ """
36
+ Display name of the operation.
37
+ """
38
+
39
+ assembly_id: typing_extensions.Annotated[
40
+ typing.Optional[str],
41
+ FieldMetadata(alias="assemblyId"),
42
+ pydantic.Field(
43
+ alias="assemblyId", default=None, description="ID of the assembly this job operates on, if applicable."
44
+ ),
45
+ ]
46
+ """
47
+ ID of the assembly this job operates on, if applicable.
48
+ """
49
+
50
+ assembly_name: typing_extensions.Annotated[
51
+ typing.Optional[str],
52
+ FieldMetadata(alias="assemblyName"),
53
+ pydantic.Field(alias="assemblyName", default=None, description="Display name of the assembly, if applicable."),
54
+ ]
55
+ """
56
+ Display name of the assembly, if applicable.
57
+ """
58
+
59
+ user_id: typing_extensions.Annotated[
60
+ typing.Optional[str],
61
+ FieldMetadata(alias="userId"),
62
+ pydantic.Field(alias="userId", default=None, description="Email of the user who enqueued the job."),
63
+ ]
64
+ """
65
+ Email of the user who enqueued the job.
66
+ """
67
+
68
+ status: JobStatus = pydantic.Field()
69
+ """
70
+ Current state of the job.
71
+ """
72
+
73
+ progress: typing.Optional[JobProgress] = pydantic.Field(default=None)
74
+ """
75
+ Latest progress update, if the task reports progress.
76
+ """
77
+
78
+ worker_id: typing_extensions.Annotated[
79
+ typing.Optional[str],
80
+ FieldMetadata(alias="workerId"),
81
+ pydantic.Field(
82
+ alias="workerId",
83
+ default=None,
84
+ description="Identifier of the worker executing the job. Present only when status is running.",
85
+ ),
86
+ ]
87
+ """
88
+ Identifier of the worker executing the job. Present only when status is running.
89
+ """
90
+
91
+ enqueued_at: typing_extensions.Annotated[
92
+ dt.datetime,
93
+ FieldMetadata(alias="enqueuedAt"),
94
+ pydantic.Field(alias="enqueuedAt", description="Timestamp when the job was enqueued."),
95
+ ]
96
+ """
97
+ Timestamp when the job was enqueued.
98
+ """
99
+
100
+ started_at: typing_extensions.Annotated[
101
+ typing.Optional[dt.datetime],
102
+ FieldMetadata(alias="startedAt"),
103
+ pydantic.Field(
104
+ alias="startedAt",
105
+ default=None,
106
+ description="Timestamp when the job started running. Present only when status is running.",
107
+ ),
108
+ ]
109
+ """
110
+ Timestamp when the job started running. Present only when status is running.
111
+ """
112
+
113
+ completed_at: typing_extensions.Annotated[
114
+ typing.Optional[dt.datetime],
115
+ FieldMetadata(alias="completedAt"),
116
+ pydantic.Field(alias="completedAt", default=None),
117
+ ]
118
+ result_url: typing_extensions.Annotated[
119
+ typing.Optional[str], FieldMetadata(alias="resultUrl"), pydantic.Field(alias="resultUrl", default=None)
120
+ ]
121
+ error: typing.Optional[typing.Dict[str, typing.Any]] = None
122
+
123
+ 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 ..core.pydantic_utilities import UniversalBaseModel
7
+
8
+
9
+ class JobProgress(UniversalBaseModel):
10
+ """
11
+ Latest progress update, if the task reports progress.
12
+ """
13
+
14
+ stage: typing.Optional[str] = pydantic.Field(default=None)
15
+ """
16
+ Human-readable name of the current job stage.
17
+ """
18
+
19
+ fraction: typing.Optional[float] = pydantic.Field(default=None)
20
+ """
21
+ Progress fraction from 0 to 1, when available.
22
+ """
23
+
24
+ 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
+ JobStatus = typing.Union[typing.Literal["queued", "running", "cancelled", "completed", "failed", "aborted"], typing.Any]
@@ -0,0 +1,25 @@
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 .operation import Operation
10
+
11
+
12
+ class ListOperationsResponse(UniversalBaseModel):
13
+ operations: typing.List[Operation]
14
+ next_page_token: typing_extensions.Annotated[
15
+ typing.Optional[str],
16
+ FieldMetadata(alias="nextPageToken"),
17
+ pydantic.Field(
18
+ alias="nextPageToken", default=None, description="Token for the next page; absent on the last one."
19
+ ),
20
+ ]
21
+ """
22
+ Token for the next page; absent on the last one.
23
+ """
24
+
25
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,57 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ import pydantic
7
+ import typing_extensions
8
+ from ..core.pydantic_utilities import UniversalBaseModel
9
+ from ..core.serialization import FieldMetadata
10
+ from .sever import Sever
11
+
12
+
13
+ class ManufacturingProcessPlan(UniversalBaseModel):
14
+ """
15
+ Manufacturing Process Plan document.
16
+ """
17
+
18
+ id: str
19
+ assembly_id: typing_extensions.Annotated[str, FieldMetadata(alias="assemblyId"), pydantic.Field(alias="assemblyId")]
20
+ name: str
21
+ description: typing.Optional[str] = None
22
+ version: int = pydantic.Field()
23
+ """
24
+ Document version used to detect concurrent edits.
25
+ """
26
+
27
+ schema_version: typing_extensions.Annotated[
28
+ int, FieldMetadata(alias="schemaVersion"), pydantic.Field(alias="schemaVersion")
29
+ ]
30
+ created_at: typing_extensions.Annotated[
31
+ typing.Optional[dt.datetime], FieldMetadata(alias="createdAt"), pydantic.Field(alias="createdAt", default=None)
32
+ ]
33
+ tools: typing.Optional[typing.Dict[str, typing.Any]] = None
34
+ station_graph: typing_extensions.Annotated[
35
+ typing.Dict[str, typing.Any], FieldMetadata(alias="stationGraph"), pydantic.Field(alias="stationGraph")
36
+ ]
37
+ preassembled: typing.Optional[typing.List[str]] = None
38
+ soa_classes: typing_extensions.Annotated[
39
+ typing.Optional[typing.Dict[str, typing.List[str]]],
40
+ FieldMetadata(alias="soaClasses"),
41
+ pydantic.Field(
42
+ alias="soaClasses",
43
+ default=None,
44
+ description="State-of-assembly nodes grouped by class (for example FIXTURE, FLEXIBLE). Each key is a class name; each value lists the state-of-assembly node ids in that class. A node may be a single part or a preassembled group.",
45
+ ),
46
+ ]
47
+ """
48
+ State-of-assembly nodes grouped by class (for example FIXTURE, FLEXIBLE). Each key is a class name; each value lists the state-of-assembly node ids in that class. A node may be a single part or a preassembled group.
49
+ """
50
+
51
+ plan: typing.Optional[typing.Dict[str, typing.Any]] = None
52
+ resolutions: typing.Optional[typing.List[Sever]] = pydantic.Field(default=None)
53
+ """
54
+ What the user has accepted, document-wide, and what the next planning run is given. A sibling of `plan`: a resolution outlives the plan it was accepted for. Not keyed by station — a sever applies at whichever station takes both of its subassemblies whole.
55
+ """
56
+
57
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,48 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ import pydantic
7
+ import typing_extensions
8
+ from ..core.pydantic_utilities import UniversalBaseModel
9
+ from ..core.serialization import FieldMetadata
10
+
11
+
12
+ class MppAdaptMetadata(UniversalBaseModel):
13
+ """
14
+ Metadata of a `:adapt` operation, which creates an MPP adapted from a reference one.
15
+ """
16
+
17
+ assembly_id: typing_extensions.Annotated[
18
+ str, FieldMetadata(alias="assemblyId"), pydantic.Field(alias="assemblyId", description="The target assembly.")
19
+ ]
20
+ """
21
+ The target assembly.
22
+ """
23
+
24
+ mpp_id: typing_extensions.Annotated[
25
+ str, FieldMetadata(alias="mppId"), pydantic.Field(alias="mppId", description="The MPP being created.")
26
+ ]
27
+ """
28
+ The MPP being created.
29
+ """
30
+
31
+ reference_mpp_id: typing_extensions.Annotated[
32
+ str, FieldMetadata(alias="referenceMppId"), pydantic.Field(alias="referenceMppId")
33
+ ]
34
+ create_time: typing_extensions.Annotated[
35
+ dt.datetime, FieldMetadata(alias="createTime"), pydantic.Field(alias="createTime")
36
+ ]
37
+ end_time: typing_extensions.Annotated[
38
+ typing.Optional[dt.datetime],
39
+ FieldMetadata(alias="endTime"),
40
+ pydantic.Field(
41
+ alias="endTime", default=None, description="When the outcome was recorded; absent until `done`."
42
+ ),
43
+ ]
44
+ """
45
+ When the outcome was recorded; absent until `done`.
46
+ """
47
+
48
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,22 @@
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 MppAdaptResponse(UniversalBaseModel):
12
+ """
13
+ Response of a `:adapt` operation: the MPP is created.
14
+ """
15
+
16
+ mpp_id: typing_extensions.Annotated[str, FieldMetadata(alias="mppId"), pydantic.Field(alias="mppId")]
17
+ version: int = pydantic.Field()
18
+ """
19
+ The new MPP's version once saved.
20
+ """
21
+
22
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,47 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ import pydantic
7
+ import typing_extensions
8
+ from ..core.pydantic_utilities import UniversalBaseModel
9
+ from ..core.serialization import FieldMetadata
10
+
11
+
12
+ class MppEvaluateDfaMetadata(UniversalBaseModel):
13
+ """
14
+ Metadata of a `:dfa` operation.
15
+ """
16
+
17
+ assembly_id: typing_extensions.Annotated[str, FieldMetadata(alias="assemblyId"), pydantic.Field(alias="assemblyId")]
18
+ mpp_id: typing_extensions.Annotated[str, FieldMetadata(alias="mppId"), pydantic.Field(alias="mppId")]
19
+ station_ids: typing_extensions.Annotated[
20
+ typing.List[str],
21
+ FieldMetadata(alias="stationIds"),
22
+ pydantic.Field(alias="stationIds", description="Stations the operation works on (`queued` in the 202)."),
23
+ ]
24
+ """
25
+ Stations the operation works on (`queued` in the 202).
26
+ """
27
+
28
+ skipped: typing.List[str] = pydantic.Field()
29
+ """
30
+ Requested stations it accepted but had nothing to do for.
31
+ """
32
+
33
+ create_time: typing_extensions.Annotated[
34
+ dt.datetime, FieldMetadata(alias="createTime"), pydantic.Field(alias="createTime")
35
+ ]
36
+ end_time: typing_extensions.Annotated[
37
+ typing.Optional[dt.datetime],
38
+ FieldMetadata(alias="endTime"),
39
+ pydantic.Field(
40
+ alias="endTime", default=None, description="When the outcome was recorded; absent until `done`."
41
+ ),
42
+ ]
43
+ """
44
+ When the outcome was recorded; absent until `done`.
45
+ """
46
+
47
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,22 @@
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 MppEvaluateDfaResponse(UniversalBaseModel):
12
+ """
13
+ Response of a `:dfa` operation.
14
+ """
15
+
16
+ mpp_id: typing_extensions.Annotated[str, FieldMetadata(alias="mppId"), pydantic.Field(alias="mppId")]
17
+ version: int = pydantic.Field()
18
+ """
19
+ The process plan's version once the operation's results were saved.
20
+ """
21
+
22
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,47 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ import pydantic
7
+ import typing_extensions
8
+ from ..core.pydantic_utilities import UniversalBaseModel
9
+ from ..core.serialization import FieldMetadata
10
+
11
+
12
+ class MppPlanMetadata(UniversalBaseModel):
13
+ """
14
+ Metadata of a `:seq-plan` operation.
15
+ """
16
+
17
+ assembly_id: typing_extensions.Annotated[str, FieldMetadata(alias="assemblyId"), pydantic.Field(alias="assemblyId")]
18
+ mpp_id: typing_extensions.Annotated[str, FieldMetadata(alias="mppId"), pydantic.Field(alias="mppId")]
19
+ station_ids: typing_extensions.Annotated[
20
+ typing.List[str],
21
+ FieldMetadata(alias="stationIds"),
22
+ pydantic.Field(alias="stationIds", description="Stations the operation works on (`queued` in the 202)."),
23
+ ]
24
+ """
25
+ Stations the operation works on (`queued` in the 202).
26
+ """
27
+
28
+ skipped: typing.List[str] = pydantic.Field()
29
+ """
30
+ Requested stations it accepted but had nothing to do for.
31
+ """
32
+
33
+ create_time: typing_extensions.Annotated[
34
+ dt.datetime, FieldMetadata(alias="createTime"), pydantic.Field(alias="createTime")
35
+ ]
36
+ end_time: typing_extensions.Annotated[
37
+ typing.Optional[dt.datetime],
38
+ FieldMetadata(alias="endTime"),
39
+ pydantic.Field(
40
+ alias="endTime", default=None, description="When the outcome was recorded; absent until `done`."
41
+ ),
42
+ ]
43
+ """
44
+ When the outcome was recorded; absent until `done`.
45
+ """
46
+
47
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,22 @@
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 MppPlanResponse(UniversalBaseModel):
12
+ """
13
+ Response of a `:seq-plan` operation.
14
+ """
15
+
16
+ mpp_id: typing_extensions.Annotated[str, FieldMetadata(alias="mppId"), pydantic.Field(alias="mppId")]
17
+ version: int = pydantic.Field()
18
+ """
19
+ The process plan's version once the operation's results were saved.
20
+ """
21
+
22
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,20 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ import pydantic
7
+ import typing_extensions
8
+ from ..core.pydantic_utilities import UniversalBaseModel
9
+ from ..core.serialization import FieldMetadata
10
+
11
+
12
+ class MppSummary(UniversalBaseModel):
13
+ id: str
14
+ name: str
15
+ version: int
16
+ created_at: typing_extensions.Annotated[
17
+ typing.Optional[dt.datetime], FieldMetadata(alias="createdAt"), pydantic.Field(alias="createdAt", default=None)
18
+ ]
19
+
20
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,47 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ import pydantic
7
+ import typing_extensions
8
+ from ..core.pydantic_utilities import UniversalBaseModel
9
+ from ..core.serialization import FieldMetadata
10
+
11
+
12
+ class MppValidateMetadata(UniversalBaseModel):
13
+ """
14
+ Metadata of a `:validate` operation.
15
+ """
16
+
17
+ assembly_id: typing_extensions.Annotated[str, FieldMetadata(alias="assemblyId"), pydantic.Field(alias="assemblyId")]
18
+ mpp_id: typing_extensions.Annotated[str, FieldMetadata(alias="mppId"), pydantic.Field(alias="mppId")]
19
+ station_ids: typing_extensions.Annotated[
20
+ typing.List[str],
21
+ FieldMetadata(alias="stationIds"),
22
+ pydantic.Field(alias="stationIds", description="Stations the operation works on (`queued` in the 202)."),
23
+ ]
24
+ """
25
+ Stations the operation works on (`queued` in the 202).
26
+ """
27
+
28
+ skipped: typing.List[str] = pydantic.Field()
29
+ """
30
+ Requested stations it accepted but had nothing to do for.
31
+ """
32
+
33
+ create_time: typing_extensions.Annotated[
34
+ dt.datetime, FieldMetadata(alias="createTime"), pydantic.Field(alias="createTime")
35
+ ]
36
+ end_time: typing_extensions.Annotated[
37
+ typing.Optional[dt.datetime],
38
+ FieldMetadata(alias="endTime"),
39
+ pydantic.Field(
40
+ alias="endTime", default=None, description="When the outcome was recorded; absent until `done`."
41
+ ),
42
+ ]
43
+ """
44
+ When the outcome was recorded; absent until `done`.
45
+ """
46
+
47
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,22 @@
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 MppValidateResponse(UniversalBaseModel):
12
+ """
13
+ Response of a `:validate` operation.
14
+ """
15
+
16
+ mpp_id: typing_extensions.Annotated[str, FieldMetadata(alias="mppId"), pydantic.Field(alias="mppId")]
17
+ version: int = pydantic.Field()
18
+ """
19
+ The process plan's version once the operation's results were saved.
20
+ """
21
+
22
+ 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 .o_auth_error_response_error import OAuthErrorResponseError
8
+
9
+
10
+ class OAuthErrorResponse(UniversalBaseModel):
11
+ error: typing.Optional[OAuthErrorResponseError] = None
12
+ error_description: typing.Optional[str] = None
13
+
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,18 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ OAuthErrorResponseError = typing.Union[
6
+ typing.Literal[
7
+ "authorization_pending",
8
+ "unsupported_grant_type",
9
+ "invalid_request",
10
+ "invalid_client",
11
+ "expired_token",
12
+ "invalid_grant",
13
+ "user_not_found",
14
+ "server_error",
15
+ "internal_server_error",
16
+ ],
17
+ typing.Any,
18
+ ]
@@ -0,0 +1,27 @@
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 .operation_error import OperationError
8
+ from .operation_metadata import OperationMetadata
9
+ from .operation_response import OperationResponse
10
+
11
+
12
+ class Operation(UniversalBaseModel):
13
+ name: str = pydantic.Field()
14
+ """
15
+ `operations/{id}`.
16
+ """
17
+
18
+ done: bool = pydantic.Field()
19
+ """
20
+ Whether the outcome is recorded. When `true`, exactly one of `error` and `response` is set.
21
+ """
22
+
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)