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,121 @@
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 .diff_summary_assembly_labels import DiffSummaryAssemblyLabels
10
+ from .diff_summary_geometric_diffs import DiffSummaryGeometricDiffs
11
+ from .diff_summary_persistent_edges_congruence import DiffSummaryPersistentEdgesCongruence
12
+ from .diff_summary_persistent_edges_congruence_pose import DiffSummaryPersistentEdgesCongruencePose
13
+ from .diff_summary_persistent_nodes_congruence import DiffSummaryPersistentNodesCongruence
14
+ from .diff_summary_persistent_nodes_congruence_pose import DiffSummaryPersistentNodesCongruencePose
15
+ from .diff_summary_total_parts import DiffSummaryTotalParts
16
+
17
+
18
+ class DiffSummary(UniversalBaseModel):
19
+ """
20
+ High-level counts that describe what changed between the two assemblies.
21
+ """
22
+
23
+ assembly_labels: typing_extensions.Annotated[
24
+ typing.Optional[DiffSummaryAssemblyLabels],
25
+ FieldMetadata(alias="assemblyLabels"),
26
+ pydantic.Field(
27
+ alias="assemblyLabels",
28
+ default=None,
29
+ description="Display identifiers and names for the compared assemblies.",
30
+ ),
31
+ ]
32
+ """
33
+ Display identifiers and names for the compared assemblies.
34
+ """
35
+
36
+ total_parts: typing_extensions.Annotated[
37
+ typing.Optional[DiffSummaryTotalParts],
38
+ FieldMetadata(alias="totalParts"),
39
+ pydantic.Field(alias="totalParts", default=None, description="Total part occurrences in each assembly."),
40
+ ]
41
+ """
42
+ Total part occurrences in each assembly.
43
+ """
44
+
45
+ geometric_diffs: typing_extensions.Annotated[
46
+ typing.Optional[DiffSummaryGeometricDiffs],
47
+ FieldMetadata(alias="geometricDiffs"),
48
+ pydantic.Field(
49
+ alias="geometricDiffs", default=None, description="Parts that appear only on one side of the comparison."
50
+ ),
51
+ ]
52
+ """
53
+ Parts that appear only on one side of the comparison.
54
+ """
55
+
56
+ persistent_nodes_congruence: typing_extensions.Annotated[
57
+ typing.Optional[DiffSummaryPersistentNodesCongruence],
58
+ FieldMetadata(alias="persistentNodesCongruence"),
59
+ pydantic.Field(
60
+ alias="persistentNodesCongruence",
61
+ default=None,
62
+ description="Parts that keep matching geometry across both assemblies.",
63
+ ),
64
+ ]
65
+ """
66
+ Parts that keep matching geometry across both assemblies.
67
+ """
68
+
69
+ persistent_nodes_congruence_pose: typing_extensions.Annotated[
70
+ typing.Optional[DiffSummaryPersistentNodesCongruencePose],
71
+ FieldMetadata(alias="persistentNodesCongruencePose"),
72
+ pydantic.Field(
73
+ alias="persistentNodesCongruencePose",
74
+ default=None,
75
+ description="Parts that keep both matching geometry and matching placement.",
76
+ ),
77
+ ]
78
+ """
79
+ Parts that keep both matching geometry and matching placement.
80
+ """
81
+
82
+ persistent_edges_congruence: typing_extensions.Annotated[
83
+ typing.Optional[DiffSummaryPersistentEdgesCongruence],
84
+ FieldMetadata(alias="persistentEdgesCongruence"),
85
+ pydantic.Field(
86
+ alias="persistentEdgesCongruence",
87
+ default=None,
88
+ description="Parent-child relationships that exist in both assemblies.",
89
+ ),
90
+ ]
91
+ """
92
+ Parent-child relationships that exist in both assemblies.
93
+ """
94
+
95
+ persistent_edges_congruence_pose: typing_extensions.Annotated[
96
+ typing.Optional[DiffSummaryPersistentEdgesCongruencePose],
97
+ FieldMetadata(alias="persistentEdgesCongruencePose"),
98
+ pydantic.Field(
99
+ alias="persistentEdgesCongruencePose",
100
+ default=None,
101
+ description="Parent-child relationships whose connected parts also keep matching placement.",
102
+ ),
103
+ ]
104
+ """
105
+ Parent-child relationships whose connected parts also keep matching placement.
106
+ """
107
+
108
+ candidate_swaps: typing_extensions.Annotated[
109
+ typing.Optional[int],
110
+ FieldMetadata(alias="candidateSwaps"),
111
+ pydantic.Field(
112
+ alias="candidateSwaps",
113
+ default=None,
114
+ description="Number of high-, medium-, and low-confidence swap candidates.",
115
+ ),
116
+ ]
117
+ """
118
+ Number of high-, medium-, and low-confidence swap candidates.
119
+ """
120
+
121
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,44 @@
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 DiffSummaryAssemblyLabels(UniversalBaseModel):
12
+ """
13
+ Display identifiers and names for the compared assemblies.
14
+ """
15
+
16
+ reference: typing.Optional[str] = pydantic.Field(default=None)
17
+ """
18
+ Identifier of the baseline assembly.
19
+ """
20
+
21
+ reference_name: typing_extensions.Annotated[
22
+ typing.Optional[str],
23
+ FieldMetadata(alias="referenceName"),
24
+ pydantic.Field(alias="referenceName", default=None, description="Display name of the baseline assembly."),
25
+ ]
26
+ """
27
+ Display name of the baseline assembly.
28
+ """
29
+
30
+ target: typing.Optional[str] = pydantic.Field(default=None)
31
+ """
32
+ Identifier of the assembly being compared against the reference.
33
+ """
34
+
35
+ target_name: typing_extensions.Annotated[
36
+ typing.Optional[str],
37
+ FieldMetadata(alias="targetName"),
38
+ pydantic.Field(alias="targetName", default=None, description="Display name of the target assembly."),
39
+ ]
40
+ """
41
+ Display name of the target assembly.
42
+ """
43
+
44
+ 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 DiffSummaryGeometricDiffs(UniversalBaseModel):
10
+ """
11
+ Parts that appear only on one side of the comparison.
12
+ """
13
+
14
+ reference: typing.Optional[int] = pydantic.Field(default=None)
15
+ """
16
+ Count measured in the reference assembly.
17
+ """
18
+
19
+ target: typing.Optional[int] = pydantic.Field(default=None)
20
+ """
21
+ Count measured in the target assembly.
22
+ """
23
+
24
+ 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 DiffSummaryPersistentEdgesCongruence(UniversalBaseModel):
10
+ """
11
+ Parent-child relationships that exist in both assemblies.
12
+ """
13
+
14
+ reference: typing.Optional[int] = pydantic.Field(default=None)
15
+ """
16
+ Count measured in the reference assembly.
17
+ """
18
+
19
+ target: typing.Optional[int] = pydantic.Field(default=None)
20
+ """
21
+ Count measured in the target assembly.
22
+ """
23
+
24
+ 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 DiffSummaryPersistentEdgesCongruencePose(UniversalBaseModel):
10
+ """
11
+ Parent-child relationships whose connected parts also keep matching placement.
12
+ """
13
+
14
+ reference: typing.Optional[int] = pydantic.Field(default=None)
15
+ """
16
+ Count measured in the reference assembly.
17
+ """
18
+
19
+ target: typing.Optional[int] = pydantic.Field(default=None)
20
+ """
21
+ Count measured in the target assembly.
22
+ """
23
+
24
+ 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 DiffSummaryPersistentNodesCongruence(UniversalBaseModel):
10
+ """
11
+ Parts that keep matching geometry across both assemblies.
12
+ """
13
+
14
+ reference: typing.Optional[int] = pydantic.Field(default=None)
15
+ """
16
+ Count measured in the reference assembly.
17
+ """
18
+
19
+ target: typing.Optional[int] = pydantic.Field(default=None)
20
+ """
21
+ Count measured in the target assembly.
22
+ """
23
+
24
+ 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 DiffSummaryPersistentNodesCongruencePose(UniversalBaseModel):
10
+ """
11
+ Parts that keep both matching geometry and matching placement.
12
+ """
13
+
14
+ reference: typing.Optional[int] = pydantic.Field(default=None)
15
+ """
16
+ Count measured in the reference assembly.
17
+ """
18
+
19
+ target: typing.Optional[int] = pydantic.Field(default=None)
20
+ """
21
+ Count measured in the target assembly.
22
+ """
23
+
24
+ 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 DiffSummaryTotalParts(UniversalBaseModel):
10
+ """
11
+ Total part occurrences in each assembly.
12
+ """
13
+
14
+ reference: typing.Optional[int] = pydantic.Field(default=None)
15
+ """
16
+ Count measured in the reference assembly.
17
+ """
18
+
19
+ target: typing.Optional[int] = pydantic.Field(default=None)
20
+ """
21
+ Count measured in the target assembly.
22
+ """
23
+
24
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,65 @@
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.serialization import FieldMetadata
8
+ from .diff_context_node import DiffContextNode
9
+ from .diff_node_pair_with_parts import DiffNodePairWithParts
10
+ from .diff_swap_confidence import DiffSwapConfidence
11
+ from .diff_warning_reason import DiffWarningReason
12
+
13
+
14
+ class DiffSwap(DiffNodePairWithParts):
15
+ confidence: DiffSwapConfidence = pydantic.Field()
16
+ """
17
+ Confidence tier assigned to this swap candidate.
18
+ """
19
+
20
+ embedding_similarity: typing_extensions.Annotated[
21
+ typing.Optional[float],
22
+ FieldMetadata(alias="embeddingSimilarity"),
23
+ pydantic.Field(alias="embeddingSimilarity", default=None),
24
+ ]
25
+ volume_ratio: typing_extensions.Annotated[
26
+ typing.Optional[float], FieldMetadata(alias="volumeRatio"), pydantic.Field(alias="volumeRatio", default=None)
27
+ ]
28
+ same_identity_score: typing_extensions.Annotated[
29
+ typing.Optional[float],
30
+ FieldMetadata(alias="sameIdentityScore"),
31
+ pydantic.Field(alias="sameIdentityScore", default=None),
32
+ ]
33
+ volume_ratio_min: typing_extensions.Annotated[
34
+ typing.Optional[float],
35
+ FieldMetadata(alias="volumeRatioMin"),
36
+ pydantic.Field(alias="volumeRatioMin", default=None),
37
+ ]
38
+ reasons: typing.Optional[typing.List[DiffWarningReason]] = None
39
+ reference_context: typing_extensions.Annotated[
40
+ typing.Optional[typing.List[DiffContextNode]],
41
+ FieldMetadata(alias="referenceContext"),
42
+ pydantic.Field(
43
+ alias="referenceContext",
44
+ default=None,
45
+ description="Surviving parts that define the removed swap member's liaisons.",
46
+ ),
47
+ ]
48
+ """
49
+ Surviving parts that define the removed swap member's liaisons.
50
+ """
51
+
52
+ target_context: typing_extensions.Annotated[
53
+ typing.Optional[typing.List[DiffContextNode]],
54
+ FieldMetadata(alias="targetContext"),
55
+ pydantic.Field(
56
+ alias="targetContext",
57
+ default=None,
58
+ description="Surviving parts that define the added swap member's liaisons.",
59
+ ),
60
+ ]
61
+ """
62
+ Surviving parts that define the added swap member's liaisons.
63
+ """
64
+
65
+ 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
+ DiffSwapConfidence = typing.Union[typing.Literal["high", "medium", "low"], typing.Any]
@@ -0,0 +1,92 @@
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 .diff_node_pair_with_parts import DiffNodePairWithParts
10
+ from .diff_node_with_parent import DiffNodeWithParent
11
+
12
+
13
+ class DiffSwapGroup(UniversalBaseModel):
14
+ """
15
+ Group-level replacement candidate with matched and unmatched members.
16
+ """
17
+
18
+ reference_nodes: typing_extensions.Annotated[
19
+ typing.Optional[typing.List[str]],
20
+ FieldMetadata(alias="referenceNodes"),
21
+ pydantic.Field(alias="referenceNodes", default=None),
22
+ ]
23
+ target_nodes: typing_extensions.Annotated[
24
+ typing.Optional[typing.List[str]],
25
+ FieldMetadata(alias="targetNodes"),
26
+ pydantic.Field(alias="targetNodes", default=None),
27
+ ]
28
+ reference_parents: typing_extensions.Annotated[
29
+ typing.Optional[typing.List[str]],
30
+ FieldMetadata(alias="referenceParents"),
31
+ pydantic.Field(alias="referenceParents", default=None),
32
+ ]
33
+ target_parents: typing_extensions.Annotated[
34
+ typing.Optional[typing.List[str]],
35
+ FieldMetadata(alias="targetParents"),
36
+ pydantic.Field(alias="targetParents", default=None),
37
+ ]
38
+ reference_parts: typing_extensions.Annotated[
39
+ typing.Optional[typing.List[str]],
40
+ FieldMetadata(alias="referenceParts"),
41
+ pydantic.Field(alias="referenceParts", default=None),
42
+ ]
43
+ target_parts: typing_extensions.Annotated[
44
+ typing.Optional[typing.List[str]],
45
+ FieldMetadata(alias="targetParts"),
46
+ pydantic.Field(alias="targetParts", default=None),
47
+ ]
48
+ neighbor_signature: typing_extensions.Annotated[
49
+ typing.Optional[typing.List[str]],
50
+ FieldMetadata(alias="neighborSignature"),
51
+ pydantic.Field(
52
+ alias="neighborSignature",
53
+ default=None,
54
+ description="External invariant hashes used to group replacement candidates.",
55
+ ),
56
+ ]
57
+ """
58
+ External invariant hashes used to group replacement candidates.
59
+ """
60
+
61
+ matched_pairs: typing_extensions.Annotated[
62
+ typing.Optional[typing.List[DiffNodePairWithParts]],
63
+ FieldMetadata(alias="matchedPairs"),
64
+ pydantic.Field(alias="matchedPairs", default=None),
65
+ ]
66
+ removed_in_group: typing_extensions.Annotated[
67
+ typing.Optional[typing.List[DiffNodeWithParent]],
68
+ FieldMetadata(alias="removedInGroup"),
69
+ pydantic.Field(
70
+ alias="removedInGroup",
71
+ default=None,
72
+ description="Reference-side members that remain unmatched inside the group.",
73
+ ),
74
+ ]
75
+ """
76
+ Reference-side members that remain unmatched inside the group.
77
+ """
78
+
79
+ added_in_group: typing_extensions.Annotated[
80
+ typing.Optional[typing.List[DiffNodeWithParent]],
81
+ FieldMetadata(alias="addedInGroup"),
82
+ pydantic.Field(
83
+ alias="addedInGroup",
84
+ default=None,
85
+ description="Target-side members that remain unmatched inside the group.",
86
+ ),
87
+ ]
88
+ """
89
+ Target-side members that remain unmatched inside the group.
90
+ """
91
+
92
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,38 @@
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 .diff_validation_issue_severity import DiffValidationIssueSeverity
10
+
11
+
12
+ class DiffValidationIssue(UniversalBaseModel):
13
+ """
14
+ Structured validation issue or warning.
15
+ """
16
+
17
+ code: typing.Optional[str] = None
18
+ severity: typing.Optional[DiffValidationIssueSeverity] = None
19
+ message: typing.Optional[str] = None
20
+ reference_node: typing_extensions.Annotated[
21
+ typing.Optional[str], FieldMetadata(alias="referenceNode"), pydantic.Field(alias="referenceNode", default=None)
22
+ ]
23
+ target_node: typing_extensions.Annotated[
24
+ typing.Optional[str], FieldMetadata(alias="targetNode"), pydantic.Field(alias="targetNode", default=None)
25
+ ]
26
+ reference_edge: typing_extensions.Annotated[
27
+ typing.Optional[typing.List[str]],
28
+ FieldMetadata(alias="referenceEdge"),
29
+ pydantic.Field(alias="referenceEdge", default=None),
30
+ ]
31
+ target_edge: typing_extensions.Annotated[
32
+ typing.Optional[typing.List[str]],
33
+ FieldMetadata(alias="targetEdge"),
34
+ pydantic.Field(alias="targetEdge", default=None),
35
+ ]
36
+ details: typing.Optional[typing.Dict[str, typing.Any]] = None
37
+
38
+ 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
+ DiffValidationIssueSeverity = typing.Union[typing.Literal["error", "warning"], typing.Any]
@@ -0,0 +1,35 @@
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 .diff_validation_issue import DiffValidationIssue
10
+
11
+
12
+ class DiffValidationResult(UniversalBaseModel):
13
+ """
14
+ Result of validating the diff as a patch from reference to target.
15
+ """
16
+
17
+ ok: typing.Optional[bool] = None
18
+ patch_ok: typing_extensions.Annotated[
19
+ typing.Optional[bool], FieldMetadata(alias="patchOk"), pydantic.Field(alias="patchOk", default=None)
20
+ ]
21
+ interface_ok: typing_extensions.Annotated[
22
+ typing.Optional[bool], FieldMetadata(alias="interfaceOk"), pydantic.Field(alias="interfaceOk", default=None)
23
+ ]
24
+ categories_ok: typing_extensions.Annotated[
25
+ typing.Optional[bool], FieldMetadata(alias="categoriesOk"), pydantic.Field(alias="categoriesOk", default=None)
26
+ ]
27
+ issues: typing.Optional[typing.List[DiffValidationIssue]] = None
28
+ warnings: typing.Optional[typing.List[DiffValidationIssue]] = None
29
+ patch_summary: typing_extensions.Annotated[
30
+ typing.Optional[typing.Dict[str, typing.Any]],
31
+ FieldMetadata(alias="patchSummary"),
32
+ pydantic.Field(alias="patchSummary", default=None),
33
+ ]
34
+
35
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True)
@@ -0,0 +1,79 @@
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 .diff_context_node import DiffContextNode
10
+ from .diff_warning_severity import DiffWarningSeverity
11
+
12
+
13
+ class DiffWarning(UniversalBaseModel):
14
+ """
15
+ Non-swap analysis or validation finding for a diff report.
16
+ """
17
+
18
+ code: typing.Optional[str] = None
19
+ severity: typing.Optional[DiffWarningSeverity] = None
20
+ message: typing.Optional[str] = None
21
+ reference_node: typing_extensions.Annotated[
22
+ typing.Optional[str], FieldMetadata(alias="referenceNode"), pydantic.Field(alias="referenceNode", default=None)
23
+ ]
24
+ target_node: typing_extensions.Annotated[
25
+ typing.Optional[str], FieldMetadata(alias="targetNode"), pydantic.Field(alias="targetNode", default=None)
26
+ ]
27
+ reference_parent: typing_extensions.Annotated[
28
+ typing.Optional[str],
29
+ FieldMetadata(alias="referenceParent"),
30
+ pydantic.Field(alias="referenceParent", default=None),
31
+ ]
32
+ target_parent: typing_extensions.Annotated[
33
+ typing.Optional[str], FieldMetadata(alias="targetParent"), pydantic.Field(alias="targetParent", default=None)
34
+ ]
35
+ reference_part: typing_extensions.Annotated[
36
+ typing.Optional[str], FieldMetadata(alias="referencePart"), pydantic.Field(alias="referencePart", default=None)
37
+ ]
38
+ target_part: typing_extensions.Annotated[
39
+ typing.Optional[str], FieldMetadata(alias="targetPart"), pydantic.Field(alias="targetPart", default=None)
40
+ ]
41
+ reference_context: typing_extensions.Annotated[
42
+ typing.Optional[typing.List[DiffContextNode]],
43
+ FieldMetadata(alias="referenceContext"),
44
+ pydantic.Field(
45
+ alias="referenceContext",
46
+ default=None,
47
+ description="Surviving parts that define the removed swap member's liaisons.",
48
+ ),
49
+ ]
50
+ """
51
+ Surviving parts that define the removed swap member's liaisons.
52
+ """
53
+
54
+ target_context: typing_extensions.Annotated[
55
+ typing.Optional[typing.List[DiffContextNode]],
56
+ FieldMetadata(alias="targetContext"),
57
+ pydantic.Field(
58
+ alias="targetContext",
59
+ default=None,
60
+ description="Surviving parts that define the added swap member's liaisons.",
61
+ ),
62
+ ]
63
+ """
64
+ Surviving parts that define the added swap member's liaisons.
65
+ """
66
+
67
+ reference_edge: typing_extensions.Annotated[
68
+ typing.Optional[typing.List[str]],
69
+ FieldMetadata(alias="referenceEdge"),
70
+ pydantic.Field(alias="referenceEdge", default=None),
71
+ ]
72
+ target_edge: typing_extensions.Annotated[
73
+ typing.Optional[typing.List[str]],
74
+ FieldMetadata(alias="targetEdge"),
75
+ pydantic.Field(alias="targetEdge", default=None),
76
+ ]
77
+ details: typing.Optional[typing.Dict[str, typing.Any]] = None
78
+
79
+ 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
+ import pydantic
6
+ from ..core.pydantic_utilities import UniversalBaseModel
7
+
8
+
9
+ class DiffWarningReason(UniversalBaseModel):
10
+ """
11
+ Machine-readable reason behind a diff warning.
12
+ """
13
+
14
+ code: typing.Optional[str] = None
15
+ value: typing.Optional[float] = None
16
+ threshold: typing.Optional[float] = None
17
+
18
+ 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
+ DiffWarningSeverity = typing.Union[typing.Literal["error", "warning"], typing.Any]