@cobotar/protocol 0.17.9 → 0.18.0

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 (72) hide show
  1. package/README.md +1 -1
  2. package/lib/ar/v1/action_pb.ts +4 -4
  3. package/lib/ar/v1/ar_config_pb.ts +4 -4
  4. package/lib/ar/v1/feedback_pb.ts +4 -4
  5. package/lib/ar/v1/helper_pb.ts +4 -4
  6. package/lib/capability/v1/actor_constraint_pb.ts +47 -0
  7. package/lib/capability/v1/actor_skill_pb.ts +203 -0
  8. package/lib/capability/v1/capability_profile_pb.ts +73 -0
  9. package/lib/capability/v1/skill_definition_pb.ts +202 -0
  10. package/lib/capability/v1/skill_requirement_pb.ts +45 -0
  11. package/lib/capability/v1/tool_requirement_pb.ts +96 -0
  12. package/lib/common/v1/actor_pb.ts +69 -0
  13. package/lib/common/v1/custom_properties_pb.ts +33 -0
  14. package/lib/common/v1/display_text_pb.ts +41 -0
  15. package/lib/common/v1/enums_pb.ts +121 -0
  16. package/lib/common/v1/external_references_pb.ts +42 -0
  17. package/lib/common/v1/key_value_constraint_pb.ts +102 -0
  18. package/lib/common/v1/property_pb.ts +826 -0
  19. package/lib/common/v1/ref_pb.ts +53 -0
  20. package/lib/common/v1/time_pb.ts +65 -0
  21. package/lib/geometry/v1/local_target_pb.ts +38 -0
  22. package/lib/process/v1/process_recipe_pb.ts +195 -0
  23. package/lib/{assembly → process}/v1/process_requests_pb.ts +54 -54
  24. package/lib/process/v1/sequence_definition_pb.ts +126 -0
  25. package/lib/process/v1/task_definition_pb.ts +531 -0
  26. package/lib/product/v1/assembly_node_pb.ts +229 -0
  27. package/lib/product/v1/part_definition_pb.ts +431 -0
  28. package/lib/product/v1/product_definition_pb.ts +96 -0
  29. package/lib/resources/v1/asset_definition_pb.ts +171 -0
  30. package/lib/resources/v1/asset_instance_pb.ts +96 -0
  31. package/lib/resources/v1/cell_definition_pb.ts +58 -0
  32. package/lib/resources/v1/container_definition_pb.ts +369 -0
  33. package/lib/resources/v1/container_instance_pb.ts +121 -0
  34. package/lib/{ar → resources}/v1/device_pb.ts +30 -30
  35. package/lib/resources/v1/marker_instance_pb.ts +119 -0
  36. package/lib/{assembly → resources}/v1/model_pb.ts +31 -29
  37. package/lib/resources/v1/robot_definition_pb.ts +190 -0
  38. package/lib/resources/v1/robot_instance_pb.ts +120 -0
  39. package/lib/resources/v1/station_definition_pb.ts +135 -0
  40. package/lib/resources/v1/tool_definition_pb.ts +218 -0
  41. package/lib/resources/v1/tool_instance_pb.ts +111 -0
  42. package/lib/resources/v1/worker_definition_pb.ts +135 -0
  43. package/lib/runtime/v1/actor_assignment_pb.ts +89 -0
  44. package/lib/runtime/v1/execution_evidence_pb.ts +87 -0
  45. package/lib/runtime/v1/process_run_pb.ts +183 -0
  46. package/lib/runtime/v1/sequence_run_pb.ts +114 -0
  47. package/lib/runtime/v1/task_run_pb.ts +164 -0
  48. package/lib/runtime/v1/validation_result_pb.ts +108 -0
  49. package/lib/validation/v1/predefined_string_rules_pb.ts +7 -1
  50. package/lib/variance/v1/variant_axis_pb.ts +73 -0
  51. package/lib/variance/v1/variant_configuration_pb.ts +57 -0
  52. package/lib/variance/v1/variant_rule_pb.ts +68 -0
  53. package/package.json +1 -1
  54. package/lib/ar/v1/assets_pb.ts +0 -139
  55. package/lib/ar/v1/marker_pb.ts +0 -105
  56. package/lib/ar/v1/permissions_pb.ts +0 -67
  57. package/lib/ar/v1/property_pb.ts +0 -782
  58. package/lib/ar/v1/robot_pb.ts +0 -165
  59. package/lib/ar/v1/worker_pb.ts +0 -132
  60. package/lib/assembly/v1/actor_pb.ts +0 -160
  61. package/lib/assembly/v1/common_pb.ts +0 -428
  62. package/lib/assembly/v1/execution_pb.ts +0 -488
  63. package/lib/assembly/v1/process_pb.ts +0 -796
  64. package/lib/assembly/v1/product_pb.ts +0 -704
  65. package/lib/assembly/v1/resources_pb.ts +0 -1411
  66. package/lib/assembly/v1/skill_pb.ts +0 -396
  67. package/lib/assembly/v1/station_pb.ts +0 -124
  68. package/lib/assembly/v1/validation_pb.ts +0 -108
  69. package/lib/assembly/v1/variant_pb.ts +0 -170
  70. package/lib/plm/v1/model_old_pb.ts +0 -152
  71. package/lib/plm/v1/part_pb.ts +0 -126
  72. package/lib/plm/v1/tool_pb.ts +0 -230
@@ -0,0 +1,229 @@
1
+ // @generated by protoc-gen-es v2.10.2 with parameter "target=ts,import_extension=ts"
2
+ // @generated from file product/v1/assembly_node.proto (package product.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
+ import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
7
+ import type { CustomProperties } from "../../common/v1/custom_properties_pb.ts";
8
+ import { file_common_v1_custom_properties } from "../../common/v1/custom_properties_pb.ts";
9
+ import type { Pose } from "../../geometry/v1/pose_pb.ts";
10
+ import { file_geometry_v1_pose } from "../../geometry/v1/pose_pb.ts";
11
+ import type { Vector3 } from "../../geometry/v1/vector3_pb.ts";
12
+ import { file_geometry_v1_vector3 } from "../../geometry/v1/vector3_pb.ts";
13
+ import type { VariantRule } from "../../variance/v1/variant_rule_pb.ts";
14
+ import { file_variance_v1_variant_rule } from "../../variance/v1/variant_rule_pb.ts";
15
+ import type { Message } from "@bufbuild/protobuf";
16
+
17
+ /**
18
+ * Describes the file product/v1/assembly_node.proto.
19
+ */
20
+ export const file_product_v1_assembly_node: GenFile = /*@__PURE__*/
21
+ fileDesc("Ch5wcm9kdWN0L3YxL2Fzc2VtYmx5X25vZGUucHJvdG8SCnByb2R1Y3QudjEigQQKDEFzc2VtYmx5Tm9kZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhYKDnBhcmVudF9ub2RlX2lkGAMgASgJEiIKBGtpbmQYBCABKA4yFC5wcm9kdWN0LnYxLk5vZGVLaW5kEhoKEnBhcnRfZGVmaW5pdGlvbl9pZBgFIAEoCRIZChFvdmVycmlkZV9tb2RlbF9pZBgGIAEoCRIlCgpsb2NhbF9wb3NlGAcgASgLMhEuZ2VvbWV0cnkudjEuUG9zZRIVCg1zZXF1ZW5jZV9oaW50GAkgASgFEhsKE2NhZF9vY2N1cnJlbmNlX3BhdGgYCiABKAkSMAoQam9pbl9tZXRob2RfaGludBgLIAEoDjIWLnByb2R1Y3QudjEuSm9pbk1ldGhvZBIzChVpbnNlcnRpb25fb2Zmc2V0X2hpbnQYDCABKAsyFC5nZW9tZXRyeS52MS5WZWN0b3IzEjIKFGFwcHJvYWNoX29mZnNldF9oaW50GA0gASgLMhQuZ2VvbWV0cnkudjEuVmVjdG9yMxIQCghvcHRpb25hbBgOIAEoCBIvCg1hcHBsaWNhYmlsaXR5GA8gAygLMhgudmFyaWFuY2UudjEuVmFyaWFudFJ1bGUSKwoGY3VzdG9tGBAgASgLMhsuY29tbW9uLnYxLkN1c3RvbVByb3BlcnRpZXMqlgEKCE5vZGVLaW5kEhkKFU5PREVfS0lORF9VTlNQRUNJRklFRBAAEhMKD05PREVfS0lORF9HUk9VUBABEh0KGU5PREVfS0lORF9QQVJUX09DQ1VSUkVOQ0UQAhIkCiBOT0RFX0tJTkRfU1VCQVNTRU1CTFlfT0NDVVJSRU5DRRADEhUKEU5PREVfS0lORF9QQVRURVJOEAQq0wEKCkpvaW5NZXRob2QSGwoXSk9JTl9NRVRIT0RfVU5TUEVDSUZJRUQQABIUChBKT0lOX01FVEhPRF9OT05FEAESFgoSSk9JTl9NRVRIT0RfRkFTVEVOEAISGQoVSk9JTl9NRVRIT0RfUFJFU1NfRklUEAMSGAoUSk9JTl9NRVRIT0RfU05BUF9GSVQQBBIYChRKT0lOX01FVEhPRF9BREhFU0lWRRAFEhQKEEpPSU5fTUVUSE9EX1dFTEQQBhIVChFKT0lOX01FVEhPRF9QTEFDRRAHQrABCg5jb20ucHJvZHVjdC52MUIRQXNzZW1ibHlOb2RlUHJvdG9QAVo5Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3Byb2R1Y3QvdjE7cHJvZHVjdHYxogIDUFhYqgITTWVzc2FnZXMuUHJvZHVjdC5WMcoCClByb2R1Y3RcVjHiAhZQcm9kdWN0XFYxXEdQQk1ldGFkYXRh6gILUHJvZHVjdDo6VjFiBnByb3RvMw", [file_common_v1_custom_properties, file_geometry_v1_pose, file_geometry_v1_vector3, file_variance_v1_variant_rule]);
22
+
23
+ /**
24
+ * @generated from message product.v1.AssemblyNode
25
+ */
26
+ export type AssemblyNode = Message<"product.v1.AssemblyNode"> & {
27
+ /**
28
+ * @generated from field: string id = 1;
29
+ */
30
+ id: string;
31
+
32
+ /**
33
+ * Name of this assembly node
34
+ *
35
+ * @generated from field: string name = 2;
36
+ */
37
+ name: string;
38
+
39
+ /**
40
+ * Empty if root, otherwise set to parent AssemblyNode id.
41
+ *
42
+ * @generated from field: string parent_node_id = 3;
43
+ */
44
+ parentNodeId: string;
45
+
46
+ /**
47
+ * @generated from field: product.v1.NodeKind kind = 4;
48
+ */
49
+ kind: NodeKind;
50
+
51
+ /**
52
+ * @generated from field: string part_definition_id = 5;
53
+ */
54
+ partDefinitionId: string;
55
+
56
+ /**
57
+ * @generated from field: string override_model_id = 6;
58
+ */
59
+ overrideModelId: string;
60
+
61
+ /**
62
+ * final pose, in mm
63
+ *
64
+ * @generated from field: geometry.v1.Pose local_pose = 7;
65
+ */
66
+ localPose?: Pose;
67
+
68
+ /**
69
+ * repeated string child_node_ids = 8; // Children of this node, their parent_node_id must be set to this.id
70
+ *
71
+ * @generated from field: int32 sequence_hint = 9;
72
+ */
73
+ sequenceHint: number;
74
+
75
+ /**
76
+ * CAD/BOM path if available, e.g. "TopAssembly/DriveUnit:1/CoverSubAsm:1/Screw_M4x12:3"
77
+ *
78
+ * @generated from field: string cad_occurrence_path = 10;
79
+ */
80
+ cadOccurrencePath: string;
81
+
82
+ /**
83
+ * @generated from field: product.v1.JoinMethod join_method_hint = 11;
84
+ */
85
+ joinMethodHint: JoinMethod;
86
+
87
+ /**
88
+ * Offset from final pose to pre-insertion pose, in mm
89
+ *
90
+ * @generated from field: geometry.v1.Vector3 insertion_offset_hint = 12;
91
+ */
92
+ insertionOffsetHint?: Vector3;
93
+
94
+ /**
95
+ * Offset from final pose to preferred approach pose, in mm
96
+ *
97
+ * @generated from field: geometry.v1.Vector3 approach_offset_hint = 13;
98
+ */
99
+ approachOffsetHint?: Vector3;
100
+
101
+ /**
102
+ * @generated from field: bool optional = 14;
103
+ */
104
+ optional: boolean;
105
+
106
+ /**
107
+ * Applies if any rule matches. Empty means always applicable.
108
+ *
109
+ * @generated from field: repeated variance.v1.VariantRule applicability = 15;
110
+ */
111
+ applicability: VariantRule[];
112
+
113
+ /**
114
+ * TODO: string or anchor reference_frame = 17; // allow tasks to anchor not just to a part but to features, e.g. insert screw into hole_1
115
+ *
116
+ * @generated from field: common.v1.CustomProperties custom = 16;
117
+ */
118
+ custom?: CustomProperties;
119
+ };
120
+
121
+ /**
122
+ * Describes the message product.v1.AssemblyNode.
123
+ * Use `create(AssemblyNodeSchema)` to create a new message.
124
+ */
125
+ export const AssemblyNodeSchema: GenMessage<AssemblyNode> = /*@__PURE__*/
126
+ messageDesc(file_product_v1_assembly_node, 0);
127
+
128
+ /**
129
+ * NodeKind defines what kind of structural element the AssemblyNode is in the assembly hierarchy
130
+ * NodeKind Represents Physical part? Has children?
131
+ * GROUP logical grouping ❌ yes
132
+ * PART_OCCURRENCE single physical part instance ✅ usually no
133
+ * SUBASSEMBLY_OCCURRENCE assembly containing parts ✅ yes
134
+ * PATTERN repeated pattern structure ❌ (structure) yes
135
+ *
136
+ * @generated from enum product.v1.NodeKind
137
+ */
138
+ export enum NodeKind {
139
+ /**
140
+ * @generated from enum value: NODE_KIND_UNSPECIFIED = 0;
141
+ */
142
+ UNSPECIFIED = 0,
143
+
144
+ /**
145
+ * A logical group node that does not correspond to a real physical part or subassembly. It exist only to organize the structure. Typical uses: CAD folders, BOM groupings, organizing fasteners, grouping operations, AR guidance grouping. part_definition_id should usually be empty.
146
+ *
147
+ * @generated from enum value: NODE_KIND_GROUP = 1;
148
+ */
149
+ GROUP = 1,
150
+
151
+ /**
152
+ * The most common node type which is a single instance of a physical part used in the product as it references a PartDefinition. part_definition_id = required, child_node-Ids = empty.
153
+ *
154
+ * @generated from enum value: NODE_KIND_PART_OCCURRENCE = 2;
155
+ */
156
+ PART_OCCURRENCE = 2,
157
+
158
+ /**
159
+ * A subassembly occurrence is a part that itself contains other parts. Thus a component that has its own internal structure. A subassembly is a real product structure (e.g. a Door assembly for a car) where group is a logical grouping. It usually appears in the BOM and often references a PartDefinition.
160
+ *
161
+ * @generated from enum value: NODE_KIND_SUBASSEMBLY_OCCURRENCE = 3;
162
+ */
163
+ SUBASSEMBLY_OCCURRENCE = 3,
164
+
165
+ /**
166
+ * A repeated pattern of parts created by CAD pattern features. Examples: bolt circle, linear pattern, hole array, repeated clips, repeated LEDs. Instead of listing every occurrence individually, the CAD may represent them as a pattern. Thus a pattern is a special kind of group?
167
+ *
168
+ * @generated from enum value: NODE_KIND_PATTERN = 4;
169
+ */
170
+ PATTERN = 4,
171
+ }
172
+
173
+ /**
174
+ * Describes the enum product.v1.NodeKind.
175
+ */
176
+ export const NodeKindSchema: GenEnum<NodeKind> = /*@__PURE__*/
177
+ enumDesc(file_product_v1_assembly_node, 0);
178
+
179
+ /**
180
+ * @generated from enum product.v1.JoinMethod
181
+ */
182
+ export enum JoinMethod {
183
+ /**
184
+ * @generated from enum value: JOIN_METHOD_UNSPECIFIED = 0;
185
+ */
186
+ UNSPECIFIED = 0,
187
+
188
+ /**
189
+ * @generated from enum value: JOIN_METHOD_NONE = 1;
190
+ */
191
+ NONE = 1,
192
+
193
+ /**
194
+ * @generated from enum value: JOIN_METHOD_FASTEN = 2;
195
+ */
196
+ FASTEN = 2,
197
+
198
+ /**
199
+ * @generated from enum value: JOIN_METHOD_PRESS_FIT = 3;
200
+ */
201
+ PRESS_FIT = 3,
202
+
203
+ /**
204
+ * @generated from enum value: JOIN_METHOD_SNAP_FIT = 4;
205
+ */
206
+ SNAP_FIT = 4,
207
+
208
+ /**
209
+ * @generated from enum value: JOIN_METHOD_ADHESIVE = 5;
210
+ */
211
+ ADHESIVE = 5,
212
+
213
+ /**
214
+ * @generated from enum value: JOIN_METHOD_WELD = 6;
215
+ */
216
+ WELD = 6,
217
+
218
+ /**
219
+ * @generated from enum value: JOIN_METHOD_PLACE = 7;
220
+ */
221
+ PLACE = 7,
222
+ }
223
+
224
+ /**
225
+ * Describes the enum product.v1.JoinMethod.
226
+ */
227
+ export const JoinMethodSchema: GenEnum<JoinMethod> = /*@__PURE__*/
228
+ enumDesc(file_product_v1_assembly_node, 1);
229
+
@@ -0,0 +1,431 @@
1
+ // @generated by protoc-gen-es v2.10.2 with parameter "target=ts,import_extension=ts"
2
+ // @generated from file product/v1/part_definition.proto (package product.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
+ import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
7
+ import { file_buf_validate_validate } from "../../buf/validate/validate_pb.ts";
8
+ import type { CustomProperties } from "../../common/v1/custom_properties_pb.ts";
9
+ import { file_common_v1_custom_properties } from "../../common/v1/custom_properties_pb.ts";
10
+ import type { ExternalReference } from "../../common/v1/external_references_pb.ts";
11
+ import { file_common_v1_external_references } from "../../common/v1/external_references_pb.ts";
12
+ import type { KeyValueConstraint } from "../../common/v1/key_value_constraint_pb.ts";
13
+ import { file_common_v1_key_value_constraint } from "../../common/v1/key_value_constraint_pb.ts";
14
+ import { file_validation_v1_predefined_string_rules } from "../../validation/v1/predefined_string_rules_pb.ts";
15
+ import type { Message } from "@bufbuild/protobuf";
16
+
17
+ /**
18
+ * Describes the file product/v1/part_definition.proto.
19
+ */
20
+ export const file_product_v1_part_definition: GenFile = /*@__PURE__*/
21
+ fileDesc("CiBwcm9kdWN0L3YxL3BhcnRfZGVmaW5pdGlvbi5wcm90bxIKcHJvZHVjdC52MSJmCgpEaW1lbnNpb25zEhwKBHhfbW0YASABKAFCDrpICxIJKQAAAAAAAAAAEhwKBHlfbW0YAiABKAFCDrpICxIJKQAAAAAAAAAAEhwKBHpfbW0YAyABKAFCDrpICxIJKQAAAAAAAAAAIlsKDE1hdGVyaWFsU3BlYxIuCghjYXRlZ29yeRgBIAEoDjIcLnByb2R1Y3QudjEuTWF0ZXJpYWxDYXRlZ29yeRIMCgRuYW1lGAIgASgJEg0KBWdyYWRlGAMgASgJIuQBChNQYXJ0SGFuZGxpbmdQcm9maWxlEg8KB2ZyYWdpbGUYASABKAgSFQoNZXNkX3NlbnNpdGl2ZRgCIAEoCBIeChZyZXF1aXJlc190d29faGFuZF9saWZ0GAMgASgIEiAKGHJlcXVpcmVzX2ZpeHR1cmVfc3VwcG9ydBgEIAEoCBIYChBtYXhfZ3JpcF9mb3JjZV9uGAUgASgBEhUKDW1heF90b3JxdWVfbm0YBiABKAESMgoLY29uc3RyYWludHMYByADKAsyHS5jb21tb24udjEuS2V5VmFsdWVDb25zdHJhaW50IsoDCg5QYXJ0RGVmaW5pdGlvbhIKCgJpZBgBIAEoCRIXCgRuYW1lGAIgASgJQgm6SAZyBIDxBAESDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIsCgR0eXBlGAUgASgOMhQucHJvZHVjdC52MS5QYXJ0VHlwZUIIukgFggECEAESDwoHc3VidHlwZRgGIAEoCRIZCgh3ZWlnaHRfZxgHIAEoA0IHukgEIgIoABIqCgpkaW1lbnNpb25zGAggASgLMhYucHJvZHVjdC52MS5EaW1lbnNpb25zEioKCG1hdGVyaWFsGAkgASgLMhgucHJvZHVjdC52MS5NYXRlcmlhbFNwZWMSIwoQZGVmYXVsdF9tb2RlbF9pZBgKIAEoCUIJukgGcgSI8QQBEjEKCGhhbmRsaW5nGAsgASgLMh8ucHJvZHVjdC52MS5QYXJ0SGFuZGxpbmdQcm9maWxlEjkKE2V4dGVybmFsX3JlZmVyZW5jZXMYDCADKAsyHC5jb21tb24udjEuRXh0ZXJuYWxSZWZlcmVuY2USKwoGY3VzdG9tGA0gASgLMhsuY29tbW9uLnYxLkN1c3RvbVByb3BlcnRpZXMiPAoPUGFydERlZmluaXRpb25zEikKBWl0ZW1zGAEgAygLMhoucHJvZHVjdC52MS5QYXJ0RGVmaW5pdGlvbirLAgoIUGFydFR5cGUSGQoVUEFSVF9UWVBFX1VOU1BFQ0lGSUVEEAASFwoTUEFSVF9UWVBFX0NPTVBPTkVOVBABEhYKElBBUlRfVFlQRV9GQVNURU5FUhACEhkKFVBBUlRfVFlQRV9TVUJBU1NFTUJMWRADEhgKFFBBUlRfVFlQRV9DT05TVU1BQkxFEAQSEwoPUEFSVF9UWVBFX0xBQkVMEAUSFwoTUEFSVF9UWVBFX1BBQ0tBR0lORxAGEhEKDVBBUlRfVFlQRV9QQ0IQBxIiCh5QQVJUX1RZUEVfRUxFQ1RST05JQ19DT01QT05FTlQQCBIiCh5QQVJUX1RZUEVfRUxFQ1RSSUNBTF9DT01QT05FTlQQCRITCg9QQVJUX1RZUEVfQ0FCTEUQChIgChxQQVJUX1RZUEVfRElTUEVOU0VEX01BVEVSSUFMEAsqkQMKEE1hdGVyaWFsQ2F0ZWdvcnkSIQodTUFURVJJQUxfQ0FURUdPUllfVU5TUEVDSUZJRUQQABIbChdNQVRFUklBTF9DQVRFR09SWV9NRVRBTBABEh0KGU1BVEVSSUFMX0NBVEVHT1JZX1BPTFlNRVIQAhIfChtNQVRFUklBTF9DQVRFR09SWV9FTEFTVE9NRVIQAxIfChtNQVRFUklBTF9DQVRFR09SWV9DT01QT1NJVEUQBBIdChlNQVRFUklBTF9DQVRFR09SWV9DRVJBTUlDEAUSGwoXTUFURVJJQUxfQ0FURUdPUllfR0xBU1MQBhIaChZNQVRFUklBTF9DQVRFR09SWV9XT09EEAcSGgoWTUFURVJJQUxfQ0FURUdPUllfRk9BTRAIEisKJ01BVEVSSUFMX0NBVEVHT1JZX0VMRUNUUk9OSUNTX1NVQlNUUkFURRAJEh4KGk1BVEVSSUFMX0NBVEVHT1JZX0NIRU1JQ0FMEAoSGwoXTUFURVJJQUxfQ0FURUdPUllfT1RIRVIQY0KyAQoOY29tLnByb2R1Y3QudjFCE1BhcnREZWZpbml0aW9uUHJvdG9QAVo5Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3Byb2R1Y3QvdjE7cHJvZHVjdHYxogIDUFhYqgITTWVzc2FnZXMuUHJvZHVjdC5WMcoCClByb2R1Y3RcVjHiAhZQcm9kdWN0XFYxXEdQQk1ldGFkYXRh6gILUHJvZHVjdDo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_common_v1_custom_properties, file_common_v1_external_references, file_common_v1_key_value_constraint, file_validation_v1_predefined_string_rules]);
22
+
23
+ /**
24
+ * @generated from message product.v1.Dimensions
25
+ */
26
+ export type Dimensions = Message<"product.v1.Dimensions"> & {
27
+ /**
28
+ * @generated from field: double x_mm = 1;
29
+ */
30
+ xMm: number;
31
+
32
+ /**
33
+ * @generated from field: double y_mm = 2;
34
+ */
35
+ yMm: number;
36
+
37
+ /**
38
+ * @generated from field: double z_mm = 3;
39
+ */
40
+ zMm: number;
41
+ };
42
+
43
+ /**
44
+ * Describes the message product.v1.Dimensions.
45
+ * Use `create(DimensionsSchema)` to create a new message.
46
+ */
47
+ export const DimensionsSchema: GenMessage<Dimensions> = /*@__PURE__*/
48
+ messageDesc(file_product_v1_part_definition, 0);
49
+
50
+ /**
51
+ * MaterialSpec is meant to capture the engineering material identity of a part.
52
+ * name → the material family / type
53
+ * grade → the standardized grade or specification
54
+ * Examples:
55
+ * name: aluminium, grade: 6061-T6
56
+ * name: Steel, grade: S355JR
57
+ * name: stainless steel, grade: AISI 304
58
+ * name: ABS, grade: general purpose
59
+ * name: Polycarbonate, grade: PC-110
60
+ * name: Nylon, grade: PA6 GF15
61
+ * name: TPU, grade: 70 Shore A
62
+ *
63
+ * @generated from message product.v1.MaterialSpec
64
+ */
65
+ export type MaterialSpec = Message<"product.v1.MaterialSpec"> & {
66
+ /**
67
+ * Broad material class, e.g. metal, polymer, elastomer
68
+ *
69
+ * @generated from field: product.v1.MaterialCategory category = 1;
70
+ */
71
+ category: MaterialCategory;
72
+
73
+ /**
74
+ * Material family, e.g. aluminium, steel, ABS, FR-4, epoxy adhesive
75
+ *
76
+ * @generated from field: string name = 2;
77
+ */
78
+ name: string;
79
+
80
+ /**
81
+ * Standard/specification, e.g. 6061-T6, S355JR, AISI 304
82
+ *
83
+ * @generated from field: string grade = 3;
84
+ */
85
+ grade: string;
86
+ };
87
+
88
+ /**
89
+ * Describes the message product.v1.MaterialSpec.
90
+ * Use `create(MaterialSpecSchema)` to create a new message.
91
+ */
92
+ export const MaterialSpecSchema: GenMessage<MaterialSpec> = /*@__PURE__*/
93
+ messageDesc(file_product_v1_part_definition, 1);
94
+
95
+ /**
96
+ * @generated from message product.v1.PartHandlingProfile
97
+ */
98
+ export type PartHandlingProfile = Message<"product.v1.PartHandlingProfile"> & {
99
+ /**
100
+ * @generated from field: bool fragile = 1;
101
+ */
102
+ fragile: boolean;
103
+
104
+ /**
105
+ * @generated from field: bool esd_sensitive = 2;
106
+ */
107
+ esdSensitive: boolean;
108
+
109
+ /**
110
+ * @generated from field: bool requires_two_hand_lift = 3;
111
+ */
112
+ requiresTwoHandLift: boolean;
113
+
114
+ /**
115
+ * If true, this part cannot realistically be handled/assembled without some fixture support
116
+ *
117
+ * @generated from field: bool requires_fixture_support = 4;
118
+ */
119
+ requiresFixtureSupport: boolean;
120
+
121
+ /**
122
+ * @generated from field: double max_grip_force_n = 5;
123
+ */
124
+ maxGripForceN: number;
125
+
126
+ /**
127
+ * @generated from field: double max_torque_nm = 6;
128
+ */
129
+ maxTorqueNm: number;
130
+
131
+ /**
132
+ * @generated from field: repeated common.v1.KeyValueConstraint constraints = 7;
133
+ */
134
+ constraints: KeyValueConstraint[];
135
+ };
136
+
137
+ /**
138
+ * Describes the message product.v1.PartHandlingProfile.
139
+ * Use `create(PartHandlingProfileSchema)` to create a new message.
140
+ */
141
+ export const PartHandlingProfileSchema: GenMessage<PartHandlingProfile> = /*@__PURE__*/
142
+ messageDesc(file_product_v1_part_definition, 2);
143
+
144
+ /**
145
+ * @generated from message product.v1.PartDefinition
146
+ */
147
+ export type PartDefinition = Message<"product.v1.PartDefinition"> & {
148
+ /**
149
+ * @generated from field: string id = 1;
150
+ */
151
+ id: string;
152
+
153
+ /**
154
+ * @generated from field: string name = 2;
155
+ */
156
+ name: string;
157
+
158
+ /**
159
+ * @generated from field: string icon = 3;
160
+ */
161
+ icon: string;
162
+
163
+ /**
164
+ * @generated from field: string description = 4;
165
+ */
166
+ description: string;
167
+
168
+ /**
169
+ * Broad functional/BOM classification of the part
170
+ *
171
+ * @generated from field: product.v1.PartType type = 5;
172
+ */
173
+ type: PartType;
174
+
175
+ /**
176
+ * Optional finer-grained classification, e.g. led, resistor, battery, circuit_breaker, wire_harness, grease
177
+ *
178
+ * @generated from field: string subtype = 6;
179
+ */
180
+ subtype: string;
181
+
182
+ /**
183
+ * weight in grams
184
+ *
185
+ * @generated from field: int64 weight_g = 7;
186
+ */
187
+ weightG: bigint;
188
+
189
+ /**
190
+ * @generated from field: product.v1.Dimensions dimensions = 8;
191
+ */
192
+ dimensions?: Dimensions;
193
+
194
+ /**
195
+ * @generated from field: product.v1.MaterialSpec material = 9;
196
+ */
197
+ material?: MaterialSpec;
198
+
199
+ /**
200
+ * Can later be extended to: CAD model (STEP), AR model (FBX), and lightweight mesh (OBJ)
201
+ *
202
+ * @generated from field: string default_model_id = 10;
203
+ */
204
+ defaultModelId: string;
205
+
206
+ /**
207
+ * @generated from field: product.v1.PartHandlingProfile handling = 11;
208
+ */
209
+ handling?: PartHandlingProfile;
210
+
211
+ /**
212
+ * @generated from field: repeated common.v1.ExternalReference external_references = 12;
213
+ */
214
+ externalReferences: ExternalReference[];
215
+
216
+ /**
217
+ * @generated from field: common.v1.CustomProperties custom = 13;
218
+ */
219
+ custom?: CustomProperties;
220
+ };
221
+
222
+ /**
223
+ * Describes the message product.v1.PartDefinition.
224
+ * Use `create(PartDefinitionSchema)` to create a new message.
225
+ */
226
+ export const PartDefinitionSchema: GenMessage<PartDefinition> = /*@__PURE__*/
227
+ messageDesc(file_product_v1_part_definition, 3);
228
+
229
+ /**
230
+ * @generated from message product.v1.PartDefinitions
231
+ */
232
+ export type PartDefinitions = Message<"product.v1.PartDefinitions"> & {
233
+ /**
234
+ * @generated from field: repeated product.v1.PartDefinition items = 1;
235
+ */
236
+ items: PartDefinition[];
237
+ };
238
+
239
+ /**
240
+ * Describes the message product.v1.PartDefinitions.
241
+ * Use `create(PartDefinitionsSchema)` to create a new message.
242
+ */
243
+ export const PartDefinitionsSchema: GenMessage<PartDefinitions> = /*@__PURE__*/
244
+ messageDesc(file_product_v1_part_definition, 4);
245
+
246
+ /**
247
+ * @generated from enum product.v1.PartType
248
+ */
249
+ export enum PartType {
250
+ /**
251
+ * @generated from enum value: PART_TYPE_UNSPECIFIED = 0;
252
+ */
253
+ UNSPECIFIED = 0,
254
+
255
+ /**
256
+ * General mechanical or non-specialized part/component
257
+ *
258
+ * @generated from enum value: PART_TYPE_COMPONENT = 1;
259
+ */
260
+ COMPONENT = 1,
261
+
262
+ /**
263
+ * Screw, bolt, nut, washer, rivet, insert, clip, etc.
264
+ *
265
+ * @generated from enum value: PART_TYPE_FASTENER = 2;
266
+ */
267
+ FASTENER = 2,
268
+
269
+ /**
270
+ * A part that is itself composed of multiple child parts
271
+ *
272
+ * @generated from enum value: PART_TYPE_SUBASSEMBLY = 3;
273
+ */
274
+ SUBASSEMBLY = 3,
275
+
276
+ /**
277
+ * General consumable used up during assembly or maintenance
278
+ *
279
+ * @generated from enum value: PART_TYPE_CONSUMABLE = 4;
280
+ */
281
+ CONSUMABLE = 4,
282
+
283
+ /**
284
+ * Sticker, rating plate, barcode label, warning label, etc.
285
+ *
286
+ * @generated from enum value: PART_TYPE_LABEL = 5;
287
+ */
288
+ LABEL = 5,
289
+
290
+ /**
291
+ * Box, bag, foam insert, tray cover, spacer, etc.
292
+ *
293
+ * @generated from enum value: PART_TYPE_PACKAGING = 6;
294
+ */
295
+ PACKAGING = 6,
296
+
297
+ /**
298
+ * Bare or populated printed circuit board
299
+ *
300
+ * @generated from enum value: PART_TYPE_PCB = 7;
301
+ */
302
+ PCB = 7,
303
+
304
+ /**
305
+ * LED, resistor, capacitor, IC, connector, relay, fuse, etc.
306
+ *
307
+ * @generated from enum value: PART_TYPE_ELECTRONIC_COMPONENT = 8;
308
+ */
309
+ ELECTRONIC_COMPONENT = 8,
310
+
311
+ /**
312
+ * Breaker, terminal block, battery, switch, power supply, wire harness, etc.
313
+ *
314
+ * @generated from enum value: PART_TYPE_ELECTRICAL_COMPONENT = 9;
315
+ */
316
+ ELECTRICAL_COMPONENT = 9,
317
+
318
+ /**
319
+ * Wire, cable, wire set, cable assembly, harness
320
+ *
321
+ * @generated from enum value: PART_TYPE_CABLE = 10;
322
+ */
323
+ CABLE = 10,
324
+
325
+ /**
326
+ * Grease, glue, sealant, potting compound, solder paste, flux, etc.
327
+ *
328
+ * @generated from enum value: PART_TYPE_DISPENSED_MATERIAL = 11;
329
+ */
330
+ DISPENSED_MATERIAL = 11,
331
+ }
332
+
333
+ /**
334
+ * Describes the enum product.v1.PartType.
335
+ */
336
+ export const PartTypeSchema: GenEnum<PartType> = /*@__PURE__*/
337
+ enumDesc(file_product_v1_part_definition, 0);
338
+
339
+ /**
340
+ * @generated from enum product.v1.MaterialCategory
341
+ */
342
+ export enum MaterialCategory {
343
+ /**
344
+ * @generated from enum value: MATERIAL_CATEGORY_UNSPECIFIED = 0;
345
+ */
346
+ UNSPECIFIED = 0,
347
+
348
+ /**
349
+ * Metals and metal alloys
350
+ *
351
+ * @generated from enum value: MATERIAL_CATEGORY_METAL = 1;
352
+ */
353
+ METAL = 1,
354
+
355
+ /**
356
+ * Thermoplastics / thermosets
357
+ *
358
+ * @generated from enum value: MATERIAL_CATEGORY_POLYMER = 2;
359
+ */
360
+ POLYMER = 2,
361
+
362
+ /**
363
+ * Flexible rubber-like materials
364
+ *
365
+ * @generated from enum value: MATERIAL_CATEGORY_ELASTOMER = 3;
366
+ */
367
+ ELASTOMER = 3,
368
+
369
+ /**
370
+ * Fiber-reinforced / layered materials
371
+ *
372
+ * @generated from enum value: MATERIAL_CATEGORY_COMPOSITE = 4;
373
+ */
374
+ COMPOSITE = 4,
375
+
376
+ /**
377
+ * Ceramics and similar brittle inorganic materials
378
+ *
379
+ * @generated from enum value: MATERIAL_CATEGORY_CERAMIC = 5;
380
+ */
381
+ CERAMIC = 5,
382
+
383
+ /**
384
+ * Glass and glass-like transparent materials
385
+ *
386
+ * @generated from enum value: MATERIAL_CATEGORY_GLASS = 6;
387
+ */
388
+ GLASS = 6,
389
+
390
+ /**
391
+ * Wood and wood-derived materials
392
+ *
393
+ * @generated from enum value: MATERIAL_CATEGORY_WOOD = 7;
394
+ */
395
+ WOOD = 7,
396
+
397
+ /**
398
+ * Cellular / expanded materials
399
+ *
400
+ * @generated from enum value: MATERIAL_CATEGORY_FOAM = 8;
401
+ */
402
+ FOAM = 8,
403
+
404
+ /**
405
+ * PCB substrate materials such as FR-4, polyimide, CEM-1, ceramic PCB
406
+ *
407
+ * @generated from enum value: MATERIAL_CATEGORY_ELECTRONICS_SUBSTRATE = 9;
408
+ */
409
+ ELECTRONICS_SUBSTRATE = 9,
410
+
411
+ /**
412
+ * Adhesive, grease, sealant, potting compound, coating, flux, etc.
413
+ *
414
+ * @generated from enum value: MATERIAL_CATEGORY_CHEMICAL = 10;
415
+ */
416
+ CHEMICAL = 10,
417
+
418
+ /**
419
+ * Anything not fitting the categories above
420
+ *
421
+ * @generated from enum value: MATERIAL_CATEGORY_OTHER = 99;
422
+ */
423
+ OTHER = 99,
424
+ }
425
+
426
+ /**
427
+ * Describes the enum product.v1.MaterialCategory.
428
+ */
429
+ export const MaterialCategorySchema: GenEnum<MaterialCategory> = /*@__PURE__*/
430
+ enumDesc(file_product_v1_part_definition, 1);
431
+