@cobotar/protocol 0.20.6 → 0.21.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 (38) hide show
  1. package/README.md +1 -1
  2. package/lib/ar/v1/action_info_pb.ts +3 -3
  3. package/lib/ar/v1/action_pb.ts +8 -8
  4. package/lib/ar/v1/ar_config_binding_pb.ts +7 -59
  5. package/lib/ar/v1/ar_config_pb.ts +3 -31
  6. package/lib/ar/v1/feedback_pb.ts +1 -13
  7. package/lib/ar/v1/helper_pb.ts +1 -8
  8. package/lib/common/v1/clone_pb.ts +61 -0
  9. package/lib/common/v1/property_pb.ts +224 -161
  10. package/lib/common/v1/time_pb.ts +4 -0
  11. package/lib/process/v1/task_definition_pb.ts +34 -9
  12. package/lib/product/v1/assembly_node_pb.ts +31 -25
  13. package/lib/product/v1/part_definition_pb.ts +109 -38
  14. package/lib/product/v1/part_instance_pb.ts +1 -8
  15. package/lib/product/v1/product_definition_pb.ts +1 -8
  16. package/lib/resources/v1/asset_definition_pb.ts +3 -10
  17. package/lib/resources/v1/asset_instance_pb.ts +1 -8
  18. package/lib/resources/v1/cell_definition_pb.ts +1 -8
  19. package/lib/resources/v1/container_definition_pb.ts +1 -17
  20. package/lib/resources/v1/container_instance_pb.ts +1 -10
  21. package/lib/resources/v1/device_pb.ts +5 -5
  22. package/lib/resources/v1/line_definition_pb.ts +1 -8
  23. package/lib/resources/v1/marker_instance_pb.ts +1 -8
  24. package/lib/resources/v1/model_pb.ts +10 -1
  25. package/lib/resources/v1/robot_definition_pb.ts +1 -8
  26. package/lib/resources/v1/robot_instance_pb.ts +1 -8
  27. package/lib/resources/v1/station_definition_pb.ts +1 -8
  28. package/lib/resources/v1/tool_definition_pb.ts +1 -8
  29. package/lib/resources/v1/tool_instance_pb.ts +1 -8
  30. package/lib/resources/v1/worker_definition_pb.ts +1 -8
  31. package/lib/robot/v1/program_state_request_pb.ts +20 -8
  32. package/lib/service/v1/response_pb.ts +44 -3
  33. package/lib/validation/v1/predefined_string_rules_pb.ts +46 -34
  34. package/package.json +1 -1
  35. package/lib/ar/v1/config_load_pb.ts +0 -54
  36. package/lib/ar/v1/config_resolve_pb.ts +0 -501
  37. package/lib/ar/v1/environment_pb.ts +0 -299
  38. package/lib/common/v1/custom_properties_pb.ts +0 -33
@@ -36,7 +36,7 @@ import type { Message } from "@bufbuild/protobuf";
36
36
  * Describes the file process/v1/task_definition.proto.
37
37
  */
38
38
  export const file_process_v1_task_definition: GenFile = /*@__PURE__*/
39
- fileDesc("CiBwcm9jZXNzL3YxL3Rhc2tfZGVmaW5pdGlvbi5wcm90bxIKcHJvY2Vzcy52MSJsCg1Qcm9kdWN0VGFyZ2V0Eg8KB25vZGVfaWQYASABKAkSGgoScGFydF9kZWZpbml0aW9uX2lkGAIgASgJEi4KDGxvY2FsX3RhcmdldBgDIAEoCzIYLmdlb21ldHJ5LnYxLkxvY2FsVGFyZ2V0IncKD0NvbnRhaW5lclRhcmdldBIfChdjb250YWluZXJfZGVmaW5pdGlvbl9pZBgBIAEoCRIPCgdzbG90X2lkGAIgASgJEjIKCXNsb3RfdHlwZRgDIAEoDjIfLnJlc291cmNlcy52MS5Db250YWluZXJTbG90VHlwZSJrCg5SZXNvdXJjZVRhcmdldBIbChNhc3NldF9kZWZpbml0aW9uX2lkGAEgASgJEhsKE3JvYm90X2RlZmluaXRpb25faWQYAiABKAkSHwoXY29udGFpbmVyX2RlZmluaXRpb25faWQYAyABKAkilgEKClRhc2tUYXJnZXQSKgoHcHJvZHVjdBgBIAEoCzIZLnByb2Nlc3MudjEuUHJvZHVjdFRhcmdldBIuCgljb250YWluZXIYAiABKAsyGy5wcm9jZXNzLnYxLkNvbnRhaW5lclRhcmdldBIsCghyZXNvdXJjZRgDIAEoCzIaLnByb2Nlc3MudjEuUmVzb3VyY2VUYXJnZXQiagoMVGFza0VuZHBvaW50EioKB3Byb2R1Y3QYASABKAsyGS5wcm9jZXNzLnYxLlByb2R1Y3RUYXJnZXQSLgoJY29udGFpbmVyGAIgASgLMhsucHJvY2Vzcy52MS5Db250YWluZXJUYXJnZXQimQIKFVZhbGlkYXRpb25SZXF1aXJlbWVudBIdChVyZXF1aXJlX3Rvb2xfZmVlZGJhY2sYASABKAgSHAoUcmVxdWlyZV92aXNpb25fY2hlY2sYAiABKAgSIQoZYWxsb3dfbWFudWFsX2NvbmZpcm1hdGlvbhgDIAEoCBJACh1tYW51YWxfY29uZmlybWF0aW9uX21pbl9sZXZlbBgEIAEoDjIZLmNhcGFiaWxpdHkudjEuU2tpbGxMZXZlbBIqCgRtb2RlGAUgASgOMhwucmVzb3VyY2VzLnYxLlZhbGlkYXRpb25Nb2RlEjIKC2NvbnN0cmFpbnRzGAYgAygLMh0uY29tbW9uLnYxLktleVZhbHVlQ29uc3RyYWludCKVAgoTVGFza0V4ZWN1dGlvblBvbGljeRJDChVhc3NpZ25tZW50X3ByZWZlcmVuY2UYASABKA4yJC5wcm9jZXNzLnYxLlRhc2tBc3NpZ25tZW50UHJlZmVyZW5jZRI4ChBhY3Rvcl9jb25zdHJhaW50GAIgASgLMh4uY2FwYWJpbGl0eS52MS5BY3RvckNvbnN0cmFpbnQSFAoMY2FuX3JlYXNzaWduGAMgASgIEhAKCGNhbl91bmRvGAQgASgIEjgKEmVzdGltYXRlZF9kdXJhdGlvbhgFIAEoCzIcLmNvbW1vbi52MS5Fc3RpbWF0ZWREdXJhdGlvbhIdChVyZXF1aXJlX2Z1bGxfZ3VpZGFuY2UYBiABKAgikAEKDFRhc2tPdmVycmlkZRImCgR3aGVuGAEgAygLMhgudmFyaWFuY2UudjEuVmFyaWFudFJ1bGUSGAoQaW5zdHJ1Y3Rpb25fdGV4dBgCIAEoCRIWCg50YXJnZXRfbm9kZV9pZBgDIAEoCRImCghhcHByb2FjaBgEIAEoCzIULmdlb21ldHJ5LnYxLlZlY3RvcjMipAYKDlRhc2tEZWZpbml0aW9uEgoKAmlkGAEgASgJEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhgKEGluc3RydWN0aW9uX3RleHQYBSABKAkSIAoPc2VxdWVuY2VfbnVtYmVyGAYgASgFQge6SAQaAigAEjEKCXRhc2tfdHlwZRgHIAEoDjIULnByb2Nlc3MudjEuVGFza1R5cGVCCLpIBYIBAhABEiYKBnRhcmdldBgIIAEoCzIWLnByb2Nlc3MudjEuVGFza1RhcmdldBIuChBpbnNlcnRpb25fb2Zmc2V0GAkgASgLMhQuZ2VvbWV0cnkudjEuVmVjdG9yMxItCg9hcHByb2FjaF9vZmZzZXQYCiABKAsyFC5nZW9tZXRyeS52MS5WZWN0b3IzEjgKEHRvb2xfcmVxdWlyZW1lbnQYDCABKAsyHi5jYXBhYmlsaXR5LnYxLlRvb2xSZXF1aXJlbWVudBI7ChJza2lsbF9yZXF1aXJlbWVudHMYDSADKAsyHy5jYXBhYmlsaXR5LnYxLlNraWxsUmVxdWlyZW1lbnQSNQoKdmFsaWRhdGlvbhgOIAEoCzIhLnByb2Nlc3MudjEuVmFsaWRhdGlvblJlcXVpcmVtZW50EjkKEGV4ZWN1dGlvbl9wb2xpY3kYDyABKAsyHy5wcm9jZXNzLnYxLlRhc2tFeGVjdXRpb25Qb2xpY3kSNAoQc2FmZXR5X3JlbGV2YW5jZRgQIAEoDjIaLmNvbW1vbi52MS5TYWZldHlSZWxldmFuY2USKAoGc291cmNlGBEgASgLMhgucHJvY2Vzcy52MS5UYXNrRW5kcG9pbnQSLQoLZGVzdGluYXRpb24YEiABKAsyGC5wcm9jZXNzLnYxLlRhc2tFbmRwb2ludBIvCg1hcHBsaWNhYmlsaXR5GBUgAygLMhgudmFyaWFuY2UudjEuVmFyaWFudFJ1bGUSKwoJb3ZlcnJpZGVzGBYgAygLMhgucHJvY2Vzcy52MS5UYXNrT3ZlcnJpZGUiPAoPVGFza0RlZmluaXRpb25zEikKBWl0ZW1zGAEgAygLMhoucHJvY2Vzcy52MS5UYXNrRGVmaW5pdGlvbiq/AwoIVGFza1R5cGUSGQoVVEFTS19UWVBFX1VOU1BFQ0lGSUVEEAASFQoRVEFTS19UWVBFX0lOU1BFQ1QQARIUChBUQVNLX1RZUEVfRkFTVEVOEAISFgoSVEFTS19UWVBFX1VORkFTVEVOEAMSEwoPVEFTS19UWVBFX01PVU5UEAQSFQoRVEFTS19UWVBFX1VOTU9VTlQQBRISCg5UQVNLX1RZUEVfTU9WRRAGEhQKEFRBU0tfVFlQRV9SRU1PVkUQBxITCg9UQVNLX1RZUEVfQVBQTFkQCBISCg5UQVNLX1RZUEVfV0lQRRAJEhMKD1RBU0tfVFlQRV9BTElHThAKEhQKEFRBU0tfVFlQRV9JTlNFUlQQCxISCg5UQVNLX1RZUEVfSE9MRBAMEhQKEFRBU0tfVFlQRV9WRVJJRlkQDRISCg5UQVNLX1RZUEVfUElDSxAOEhMKD1RBU0tfVFlQRV9QTEFDRRAPEhIKDlRBU0tfVFlQRV9TQ0FOEBASEgoOVEFTS19UWVBFX1dBSVQQERITCg9UQVNLX1RZUEVfQ0hFQ0sQEhIZChVUQVNLX1RZUEVfQUNLTk9XTEVER0UQEyqdAgoYVGFza0Fzc2lnbm1lbnRQcmVmZXJlbmNlEioKJlRBU0tfQVNTSUdOTUVOVF9QUkVGRVJFTkNFX1VOU1BFQ0lGSUVEEAASKwonVEFTS19BU1NJR05NRU5UX1BSRUZFUkVOQ0VfUFJFRkVSX0hVTUFOEAESKQolVEFTS19BU1NJR05NRU5UX1BSRUZFUkVOQ0VfT05MWV9IVU1BThACEisKJ1RBU0tfQVNTSUdOTUVOVF9QUkVGRVJFTkNFX1BSRUZFUl9ST0JPVBADEikKJVRBU0tfQVNTSUdOTUVOVF9QUkVGRVJFTkNFX09OTFlfUk9CT1QQBBIlCiFUQVNLX0FTU0lHTk1FTlRfUFJFRkVSRU5DRV9FSVRIRVIQBUKyAQoOY29tLnByb2Nlc3MudjFCE1Rhc2tEZWZpbml0aW9uUHJvdG9QAVo5Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3Byb2Nlc3MvdjE7cHJvY2Vzc3YxogIDUFhYqgITTWVzc2FnZXMuUHJvY2Vzcy5WMcoCClByb2Nlc3NcVjHiAhZQcm9jZXNzXFYxXEdQQk1ldGFkYXRh6gILUHJvY2Vzczo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_capability_v1_actor_constraint, file_capability_v1_actor_skill, file_capability_v1_skill_requirement, file_capability_v1_tool_requirement, file_common_v1_enums, file_common_v1_key_value_constraint, file_common_v1_time, file_geometry_v1_local_target, file_geometry_v1_vector3, file_resources_v1_asset_definition, file_resources_v1_container_definition, file_validation_v1_predefined_string_rules, file_variance_v1_variant_rule]);
39
+ fileDesc("CiBwcm9jZXNzL3YxL3Rhc2tfZGVmaW5pdGlvbi5wcm90bxIKcHJvY2Vzcy52MSJsCg1Qcm9kdWN0VGFyZ2V0Eg8KB25vZGVfaWQYASABKAkSGgoScGFydF9kZWZpbml0aW9uX2lkGAIgASgJEi4KDGxvY2FsX3RhcmdldBgDIAEoCzIYLmdlb21ldHJ5LnYxLkxvY2FsVGFyZ2V0IncKD0NvbnRhaW5lclRhcmdldBIfChdjb250YWluZXJfZGVmaW5pdGlvbl9pZBgBIAEoCRIPCgdzbG90X2lkGAIgASgJEjIKCXNsb3RfdHlwZRgDIAEoDjIfLnJlc291cmNlcy52MS5Db250YWluZXJTbG90VHlwZSJrCg5SZXNvdXJjZVRhcmdldBIbChNhc3NldF9kZWZpbml0aW9uX2lkGAEgASgJEhsKE3JvYm90X2RlZmluaXRpb25faWQYAiABKAkSHwoXY29udGFpbmVyX2RlZmluaXRpb25faWQYAyABKAkilgEKClRhc2tUYXJnZXQSKgoHcHJvZHVjdBgBIAEoCzIZLnByb2Nlc3MudjEuUHJvZHVjdFRhcmdldBIuCgljb250YWluZXIYAiABKAsyGy5wcm9jZXNzLnYxLkNvbnRhaW5lclRhcmdldBIsCghyZXNvdXJjZRgDIAEoCzIaLnByb2Nlc3MudjEuUmVzb3VyY2VUYXJnZXQiagoMVGFza0VuZHBvaW50EioKB3Byb2R1Y3QYASABKAsyGS5wcm9jZXNzLnYxLlByb2R1Y3RUYXJnZXQSLgoJY29udGFpbmVyGAIgASgLMhsucHJvY2Vzcy52MS5Db250YWluZXJUYXJnZXQimQIKFVZhbGlkYXRpb25SZXF1aXJlbWVudBIdChVyZXF1aXJlX3Rvb2xfZmVlZGJhY2sYASABKAgSHAoUcmVxdWlyZV92aXNpb25fY2hlY2sYAiABKAgSIQoZYWxsb3dfbWFudWFsX2NvbmZpcm1hdGlvbhgDIAEoCBJACh1tYW51YWxfY29uZmlybWF0aW9uX21pbl9sZXZlbBgEIAEoDjIZLmNhcGFiaWxpdHkudjEuU2tpbGxMZXZlbBIqCgRtb2RlGAUgASgOMhwucmVzb3VyY2VzLnYxLlZhbGlkYXRpb25Nb2RlEjIKC2NvbnN0cmFpbnRzGAYgAygLMh0uY29tbW9uLnYxLktleVZhbHVlQ29uc3RyYWludCLbAgoTVGFza0V4ZWN1dGlvblBvbGljeRJDChVhc3NpZ25tZW50X3ByZWZlcmVuY2UYASABKA4yJC5wcm9jZXNzLnYxLlRhc2tBc3NpZ25tZW50UHJlZmVyZW5jZRI4ChBhY3Rvcl9jb25zdHJhaW50GAIgASgLMh4uY2FwYWJpbGl0eS52MS5BY3RvckNvbnN0cmFpbnQSFAoMY2FuX3JlYXNzaWduGAMgASgIEhAKCGNhbl91bmRvGAQgASgIEj4KGGVzdGltYXRlZF9odW1hbl9kdXJhdGlvbhgFIAEoCzIcLmNvbW1vbi52MS5Fc3RpbWF0ZWREdXJhdGlvbhI+Chhlc3RpbWF0ZWRfcm9ib3RfZHVyYXRpb24YBiABKAsyHC5jb21tb24udjEuRXN0aW1hdGVkRHVyYXRpb24SHQoVcmVxdWlyZV9mdWxsX2d1aWRhbmNlGAcgASgIItcBCgxUYXNrT3ZlcnJpZGUSJgoEd2hlbhgBIAMoCzIYLnZhcmlhbmNlLnYxLlZhcmlhbnRSdWxlEhgKEGluc3RydWN0aW9uX3RleHQYAiABKAkSJgoGdGFyZ2V0GAMgASgLMhYucHJvY2Vzcy52MS5UYXNrVGFyZ2V0Ei4KEGluc2VydGlvbl9vZmZzZXQYBCABKAsyFC5nZW9tZXRyeS52MS5WZWN0b3IzEi0KD2FwcHJvYWNoX29mZnNldBgFIAEoCzIULmdlb21ldHJ5LnYxLlZlY3RvcjMipAYKDlRhc2tEZWZpbml0aW9uEgoKAmlkGAEgASgJEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhgKEGluc3RydWN0aW9uX3RleHQYBSABKAkSIAoPc2VxdWVuY2VfbnVtYmVyGAYgASgFQge6SAQaAigAEjEKCXRhc2tfdHlwZRgHIAEoDjIULnByb2Nlc3MudjEuVGFza1R5cGVCCLpIBYIBAhABEiYKBnRhcmdldBgIIAEoCzIWLnByb2Nlc3MudjEuVGFza1RhcmdldBIuChBpbnNlcnRpb25fb2Zmc2V0GAkgASgLMhQuZ2VvbWV0cnkudjEuVmVjdG9yMxItCg9hcHByb2FjaF9vZmZzZXQYCiABKAsyFC5nZW9tZXRyeS52MS5WZWN0b3IzEjgKEHRvb2xfcmVxdWlyZW1lbnQYDCABKAsyHi5jYXBhYmlsaXR5LnYxLlRvb2xSZXF1aXJlbWVudBI7ChJza2lsbF9yZXF1aXJlbWVudHMYDSADKAsyHy5jYXBhYmlsaXR5LnYxLlNraWxsUmVxdWlyZW1lbnQSNQoKdmFsaWRhdGlvbhgOIAEoCzIhLnByb2Nlc3MudjEuVmFsaWRhdGlvblJlcXVpcmVtZW50EjkKEGV4ZWN1dGlvbl9wb2xpY3kYDyABKAsyHy5wcm9jZXNzLnYxLlRhc2tFeGVjdXRpb25Qb2xpY3kSNAoQc2FmZXR5X3JlbGV2YW5jZRgQIAEoDjIaLmNvbW1vbi52MS5TYWZldHlSZWxldmFuY2USKAoGc291cmNlGBEgASgLMhgucHJvY2Vzcy52MS5UYXNrRW5kcG9pbnQSLQoLZGVzdGluYXRpb24YEiABKAsyGC5wcm9jZXNzLnYxLlRhc2tFbmRwb2ludBIvCg1hcHBsaWNhYmlsaXR5GBUgAygLMhgudmFyaWFuY2UudjEuVmFyaWFudFJ1bGUSKwoJb3ZlcnJpZGVzGBYgAygLMhgucHJvY2Vzcy52MS5UYXNrT3ZlcnJpZGUiPAoPVGFza0RlZmluaXRpb25zEikKBWl0ZW1zGAEgAygLMhoucHJvY2Vzcy52MS5UYXNrRGVmaW5pdGlvbiq/AwoIVGFza1R5cGUSGQoVVEFTS19UWVBFX1VOU1BFQ0lGSUVEEAASFQoRVEFTS19UWVBFX0lOU1BFQ1QQARIUChBUQVNLX1RZUEVfRkFTVEVOEAISFgoSVEFTS19UWVBFX1VORkFTVEVOEAMSEwoPVEFTS19UWVBFX01PVU5UEAQSFQoRVEFTS19UWVBFX1VOTU9VTlQQBRISCg5UQVNLX1RZUEVfTU9WRRAGEhQKEFRBU0tfVFlQRV9SRU1PVkUQBxITCg9UQVNLX1RZUEVfQVBQTFkQCBISCg5UQVNLX1RZUEVfV0lQRRAJEhMKD1RBU0tfVFlQRV9BTElHThAKEhQKEFRBU0tfVFlQRV9JTlNFUlQQCxISCg5UQVNLX1RZUEVfSE9MRBAMEhQKEFRBU0tfVFlQRV9WRVJJRlkQDRISCg5UQVNLX1RZUEVfUElDSxAOEhMKD1RBU0tfVFlQRV9QTEFDRRAPEhIKDlRBU0tfVFlQRV9TQ0FOEBASEgoOVEFTS19UWVBFX1dBSVQQERITCg9UQVNLX1RZUEVfQ0hFQ0sQEhIZChVUQVNLX1RZUEVfQUNLTk9XTEVER0UQEyqdAgoYVGFza0Fzc2lnbm1lbnRQcmVmZXJlbmNlEioKJlRBU0tfQVNTSUdOTUVOVF9QUkVGRVJFTkNFX1VOU1BFQ0lGSUVEEAASKwonVEFTS19BU1NJR05NRU5UX1BSRUZFUkVOQ0VfUFJFRkVSX0hVTUFOEAESKQolVEFTS19BU1NJR05NRU5UX1BSRUZFUkVOQ0VfT05MWV9IVU1BThACEisKJ1RBU0tfQVNTSUdOTUVOVF9QUkVGRVJFTkNFX1BSRUZFUl9ST0JPVBADEikKJVRBU0tfQVNTSUdOTUVOVF9QUkVGRVJFTkNFX09OTFlfUk9CT1QQBBIlCiFUQVNLX0FTU0lHTk1FTlRfUFJFRkVSRU5DRV9FSVRIRVIQBUKyAQoOY29tLnByb2Nlc3MudjFCE1Rhc2tEZWZpbml0aW9uUHJvdG9QAVo5Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3Byb2Nlc3MvdjE7cHJvY2Vzc3YxogIDUFhYqgITTWVzc2FnZXMuUHJvY2Vzcy5WMcoCClByb2Nlc3NcVjHiAhZQcm9jZXNzXFYxXEdQQk1ldGFkYXRh6gILUHJvY2Vzczo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_capability_v1_actor_constraint, file_capability_v1_actor_skill, file_capability_v1_skill_requirement, file_capability_v1_tool_requirement, file_common_v1_enums, file_common_v1_key_value_constraint, file_common_v1_time, file_geometry_v1_local_target, file_geometry_v1_vector3, file_resources_v1_asset_definition, file_resources_v1_container_definition, file_validation_v1_predefined_string_rules, file_variance_v1_variant_rule]);
40
40
 
41
41
  /**
42
42
  * @generated from message process.v1.ProductTarget
@@ -279,12 +279,17 @@ export type TaskExecutionPolicy = Message<"process.v1.TaskExecutionPolicy"> & {
279
279
  canUndo: boolean;
280
280
 
281
281
  /**
282
- * @generated from field: common.v1.EstimatedDuration estimated_duration = 5;
282
+ * @generated from field: common.v1.EstimatedDuration estimated_human_duration = 5;
283
283
  */
284
- estimatedDuration?: EstimatedDuration;
284
+ estimatedHumanDuration?: EstimatedDuration;
285
285
 
286
286
  /**
287
- * @generated from field: bool require_full_guidance = 6;
287
+ * @generated from field: common.v1.EstimatedDuration estimated_robot_duration = 6;
288
+ */
289
+ estimatedRobotDuration?: EstimatedDuration;
290
+
291
+ /**
292
+ * @generated from field: bool require_full_guidance = 7;
288
293
  */
289
294
  requireFullGuidance: boolean;
290
295
  };
@@ -297,6 +302,11 @@ export const TaskExecutionPolicySchema: GenMessage<TaskExecutionPolicy> = /*@__P
297
302
  messageDesc(file_process_v1_task_definition, 6);
298
303
 
299
304
  /**
305
+ * TaskOverride applies small variant-specific adjustments to a task that remains
306
+ * semantically the same operation. Use TaskDefinition.applicability and separate
307
+ * task definitions when a variant requires a materially different operation,
308
+ * tool, skill, safety classification, or sequence structure.
309
+ *
300
310
  * @generated from message process.v1.TaskOverride
301
311
  */
302
312
  export type TaskOverride = Message<"process.v1.TaskOverride"> & {
@@ -306,19 +316,32 @@ export type TaskOverride = Message<"process.v1.TaskOverride"> & {
306
316
  when: VariantRule[];
307
317
 
308
318
  /**
319
+ * Variant-specific instruction text.
320
+ *
309
321
  * @generated from field: string instruction_text = 2;
310
322
  */
311
323
  instructionText: string;
312
324
 
313
325
  /**
314
- * @generated from field: string target_node_id = 3;
326
+ * Variant-specific target, e.g. a different colored part occurrence
327
+ *
328
+ * @generated from field: process.v1.TaskTarget target = 3;
315
329
  */
316
- targetNodeId: string;
330
+ target?: TaskTarget;
317
331
 
318
332
  /**
319
- * @generated from field: geometry.v1.Vector3 approach = 4;
333
+ * Variant-specific insertion offset.
334
+ *
335
+ * @generated from field: geometry.v1.Vector3 insertion_offset = 4;
320
336
  */
321
- approach?: Vector3;
337
+ insertionOffset?: Vector3;
338
+
339
+ /**
340
+ * Variant-specific approach offset.
341
+ *
342
+ * @generated from field: geometry.v1.Vector3 approach_offset = 5;
343
+ */
344
+ approachOffset?: Vector3;
322
345
  };
323
346
 
324
347
  /**
@@ -450,13 +473,15 @@ export type TaskDefinition = Message<"process.v1.TaskDefinition"> & {
450
473
  destination?: TaskEndpoint;
451
474
 
452
475
  /**
453
- * Applies if any rule matches. Empty means always applicable.
476
+ * Task applies if any rule matches. Empty means always applicable.
454
477
  *
455
478
  * @generated from field: repeated variance.v1.VariantRule applicability = 21;
456
479
  */
457
480
  applicability: VariantRule[];
458
481
 
459
482
  /**
483
+ * adjust small authoring/runtime details when the task is otherwise the same task.
484
+ *
460
485
  * @generated from field: repeated process.v1.TaskOverride overrides = 22;
461
486
  */
462
487
  overrides: TaskOverride[];
@@ -5,8 +5,6 @@
5
5
  import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
6
  import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
7
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
8
  import type { Pose } from "../../geometry/v1/pose_pb.ts";
11
9
  import { file_geometry_v1_pose } from "../../geometry/v1/pose_pb.ts";
12
10
  import type { Vector3 } from "../../geometry/v1/vector3_pb.ts";
@@ -20,7 +18,7 @@ import type { Message } from "@bufbuild/protobuf";
20
18
  * Describes the file product/v1/assembly_node.proto.
21
19
  */
22
20
  export const file_product_v1_assembly_node: GenFile = /*@__PURE__*/
23
- fileDesc("Ch5wcm9kdWN0L3YxL2Fzc2VtYmx5X25vZGUucHJvdG8SCnByb2R1Y3QudjEimQQKDEFzc2VtYmx5Tm9kZRIKCgJpZBgBIAEoCRIXCgRuYW1lGAIgASgJQgm6SAZyBIDxBAESFgoOcGFyZW50X25vZGVfaWQYAyABKAkSLwoEa2luZBgEIAEoDjIULnByb2R1Y3QudjEuTm9kZUtpbmRCC7pICMgBAYIBAhABEhoKEnBhcnRfZGVmaW5pdGlvbl9pZBgFIAEoCRIZChFvdmVycmlkZV9tb2RlbF9pZBgGIAEoCRIlCgpsb2NhbF9wb3NlGAcgASgLMhEuZ2VvbWV0cnkudjEuUG9zZRIVCg1zZXF1ZW5jZV9oaW50GAkgASgFEhsKE2NhZF9vY2N1cnJlbmNlX3BhdGgYCiABKAkSMAoQam9pbl9tZXRob2RfaGludBgLIAEoDjIWLnByb2R1Y3QudjEuSm9pbk1ldGhvZBIzChVpbnNlcnRpb25fb2Zmc2V0X2hpbnQYDCABKAsyFC5nZW9tZXRyeS52MS5WZWN0b3IzEjIKFGFwcHJvYWNoX29mZnNldF9oaW50GA0gASgLMhQuZ2VvbWV0cnkudjEuVmVjdG9yMxIQCghvcHRpb25hbBgOIAEoCBIvCg1hcHBsaWNhYmlsaXR5GA8gAygLMhgudmFyaWFuY2UudjEuVmFyaWFudFJ1bGUSKwoGY3VzdG9tGBAgASgLMhsuY29tbW9uLnYxLkN1c3RvbVByb3BlcnRpZXMqlgEKCE5vZGVLaW5kEhkKFU5PREVfS0lORF9VTlNQRUNJRklFRBAAEhMKD05PREVfS0lORF9HUk9VUBABEh0KGU5PREVfS0lORF9QQVJUX09DQ1VSUkVOQ0UQAhIkCiBOT0RFX0tJTkRfU1VCQVNTRU1CTFlfT0NDVVJSRU5DRRADEhUKEU5PREVfS0lORF9QQVRURVJOEAQq0wEKCkpvaW5NZXRob2QSGwoXSk9JTl9NRVRIT0RfVU5TUEVDSUZJRUQQABIUChBKT0lOX01FVEhPRF9OT05FEAESFgoSSk9JTl9NRVRIT0RfRkFTVEVOEAISGQoVSk9JTl9NRVRIT0RfUFJFU1NfRklUEAMSGAoUSk9JTl9NRVRIT0RfU05BUF9GSVQQBBIYChRKT0lOX01FVEhPRF9BREhFU0lWRRAFEhQKEEpPSU5fTUVUSE9EX1dFTEQQBhIVChFKT0lOX01FVEhPRF9QTEFDRRAHQrABCg5jb20ucHJvZHVjdC52MUIRQXNzZW1ibHlOb2RlUHJvdG9QAVo5Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3Byb2R1Y3QvdjE7cHJvZHVjdHYxogIDUFhYqgITTWVzc2FnZXMuUHJvZHVjdC5WMcoCClByb2R1Y3RcVjHiAhZQcm9kdWN0XFYxXEdQQk1ldGFkYXRh6gILUHJvZHVjdDo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_common_v1_custom_properties, file_geometry_v1_pose, file_geometry_v1_vector3, file_validation_v1_predefined_string_rules, file_variance_v1_variant_rule]);
21
+ fileDesc("Ch5wcm9kdWN0L3YxL2Fzc2VtYmx5X25vZGUucHJvdG8SCnByb2R1Y3QudjEi2gYKDEFzc2VtYmx5Tm9kZRIKCgJpZBgBIAEoCRIXCgRuYW1lGAIgASgJQgm6SAZyBIDxBAESFgoOcGFyZW50X25vZGVfaWQYAyABKAkSLwoEa2luZBgEIAEoDjIULnByb2R1Y3QudjEuTm9kZUtpbmRCC7pICMgBAYIBAhABEhoKEnBhcnRfZGVmaW5pdGlvbl9pZBgFIAEoCRIZChFvdmVycmlkZV9tb2RlbF9pZBgGIAEoCRIlCgpsb2NhbF9wb3NlGAcgASgLMhEuZ2VvbWV0cnkudjEuUG9zZRIVCg1zZXF1ZW5jZV9oaW50GAkgASgFEhsKE2NhZF9vY2N1cnJlbmNlX3BhdGgYCiABKAkSMAoQam9pbl9tZXRob2RfaGludBgLIAEoDjIWLnByb2R1Y3QudjEuSm9pbk1ldGhvZBIzChVpbnNlcnRpb25fb2Zmc2V0X2hpbnQYDCABKAsyFC5nZW9tZXRyeS52MS5WZWN0b3IzEjIKFGFwcHJvYWNoX29mZnNldF9oaW50GA0gASgLMhQuZ2VvbWV0cnkudjEuVmVjdG9yMxIQCghvcHRpb25hbBgOIAEoCBIvCg1hcHBsaWNhYmlsaXR5GA8gAygLMhgudmFyaWFuY2UudjEuVmFyaWFudFJ1bGU66wK6SOcCGpEBCjFhc3NlbWJseV9ub2RlLmdyb3VwX211c3Rfbm90X2hhdmVfcGFydF9kZWZpbml0aW9uEitHUk9VUCBub2RlcyBtdXN0IG5vdCBzZXQgcGFydF9kZWZpbml0aW9uX2lkGi90aGlzLmtpbmQgIT0gMSB8fCB0aGlzLnBhcnRfZGVmaW5pdGlvbl9pZCA9PSAnJxrQAQo6YXNzZW1ibHlfbm9kZS5waHlzaWNhbF9vY2N1cnJlbmNlX3JlcXVpcmVzX3BhcnRfZGVmaW5pdGlvbhJMUEFSVF9PQ0NVUlJFTkNFIGFuZCBTVUJBU1NFTUJMWV9PQ0NVUlJFTkNFIG5vZGVzIG11c3Qgc2V0IHBhcnRfZGVmaW5pdGlvbl9pZBpEISh0aGlzLmtpbmQgPT0gMiB8fCB0aGlzLmtpbmQgPT0gMykgfHwgdGhpcy5wYXJ0X2RlZmluaXRpb25faWQgIT0gJycqfwoITm9kZUtpbmQSGQoVTk9ERV9LSU5EX1VOU1BFQ0lGSUVEEAASEwoPTk9ERV9LSU5EX0dST1VQEAESHQoZTk9ERV9LSU5EX1BBUlRfT0NDVVJSRU5DRRACEiQKIE5PREVfS0lORF9TVUJBU1NFTUJMWV9PQ0NVUlJFTkNFEAMq0wEKCkpvaW5NZXRob2QSGwoXSk9JTl9NRVRIT0RfVU5TUEVDSUZJRUQQABIUChBKT0lOX01FVEhPRF9OT05FEAESFgoSSk9JTl9NRVRIT0RfRkFTVEVOEAISGQoVSk9JTl9NRVRIT0RfUFJFU1NfRklUEAMSGAoUSk9JTl9NRVRIT0RfU05BUF9GSVQQBBIYChRKT0lOX01FVEhPRF9BREhFU0lWRRAFEhQKEEpPSU5fTUVUSE9EX1dFTEQQBhIVChFKT0lOX01FVEhPRF9QTEFDRRAHQrABCg5jb20ucHJvZHVjdC52MUIRQXNzZW1ibHlOb2RlUHJvdG9QAVo5Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3Byb2R1Y3QvdjE7cHJvZHVjdHYxogIDUFhYqgITTWVzc2FnZXMuUHJvZHVjdC5WMcoCClByb2R1Y3RcVjHiAhZQcm9kdWN0XFYxXEdQQk1ldGFkYXRh6gILUHJvZHVjdDo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_geometry_v1_pose, file_geometry_v1_vector3, file_validation_v1_predefined_string_rules, file_variance_v1_variant_rule]);
24
22
 
25
23
  /**
26
24
  * @generated from message product.v1.AssemblyNode
@@ -111,13 +109,6 @@ export type AssemblyNode = Message<"product.v1.AssemblyNode"> & {
111
109
  * @generated from field: repeated variance.v1.VariantRule applicability = 15;
112
110
  */
113
111
  applicability: VariantRule[];
114
-
115
- /**
116
- * 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
117
- *
118
- * @generated from field: common.v1.CustomProperties custom = 16;
119
- */
120
- custom?: CustomProperties;
121
112
  };
122
113
 
123
114
  /**
@@ -128,48 +119,47 @@ export const AssemblyNodeSchema: GenMessage<AssemblyNode> = /*@__PURE__*/
128
119
  messageDesc(file_product_v1_assembly_node, 0);
129
120
 
130
121
  /**
131
- * NodeKind defines what kind of structural element the AssemblyNode is in the assembly hierarchy
122
+ * NodeKind defines what kind of structural element an AssemblyNode represents in the product structure.
123
+ *
124
+ * CAD patterns should currently be expanded into individual PART_OCCURRENCE nodes, or represented as a
125
+ * GROUP containing those occurrences. A dedicated PATTERN kind should only be reintroduced if the
126
+ * protocol also gains fields that describe the pattern rule, count, spacing, transform, and contained
127
+ * occurrence template.
132
128
  * NodeKind Represents Physical part? Has children?
133
- * GROUP logical grouping ❌ yes
134
- * PART_OCCURRENCE single physical part instance ✅ usually no
135
- * SUBASSEMBLY_OCCURRENCE assembly containing parts ✅ yes
136
- * PATTERN repeated pattern structure ❌ (structure) yes
129
+ * GROUP logical grouping ❌ ✅
130
+ * PART_OCCURRENCE single physical part instance ✅ ❌
131
+ * SUBASSEMBLY_OCCURRENCE assembly containing parts ✅ ✅
137
132
  *
138
133
  * @generated from enum product.v1.NodeKind
139
134
  */
140
135
  export enum NodeKind {
141
136
  /**
137
+ * Valid messages must use a specific kind.
138
+ *
142
139
  * @generated from enum value: NODE_KIND_UNSPECIFIED = 0;
143
140
  */
144
141
  UNSPECIFIED = 0,
145
142
 
146
143
  /**
147
- * 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.
144
+ * Logical grouping node with no physical part of its own. Useful for CAD folders, BOM groups, fastener groups, operation groups, or AR guidance groups.
148
145
  *
149
146
  * @generated from enum value: NODE_KIND_GROUP = 1;
150
147
  */
151
148
  GROUP = 1,
152
149
 
153
150
  /**
154
- * 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.
151
+ * Single physical occurrence of a PartDefinition. Has no children and should set part_definition_id.
155
152
  *
156
153
  * @generated from enum value: NODE_KIND_PART_OCCURRENCE = 2;
157
154
  */
158
155
  PART_OCCURRENCE = 2,
159
156
 
160
157
  /**
161
- * 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.
158
+ * Physical occurrence of an assembly that contains parts itself, hence it have child nodes. References a PartDefinition for the subassembly itself.
162
159
  *
163
160
  * @generated from enum value: NODE_KIND_SUBASSEMBLY_OCCURRENCE = 3;
164
161
  */
165
162
  SUBASSEMBLY_OCCURRENCE = 3,
166
-
167
- /**
168
- * 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?
169
- *
170
- * @generated from enum value: NODE_KIND_PATTERN = 4;
171
- */
172
- PATTERN = 4,
173
163
  }
174
164
 
175
165
  /**
@@ -183,41 +173,57 @@ export const NodeKindSchema: GenEnum<NodeKind> = /*@__PURE__*/
183
173
  */
184
174
  export enum JoinMethod {
185
175
  /**
176
+ * No join method hint is available. Generation/planning should infer the operation from other data if possible.
177
+ *
186
178
  * @generated from enum value: JOIN_METHOD_UNSPECIFIED = 0;
187
179
  */
188
180
  UNSPECIFIED = 0,
189
181
 
190
182
  /**
183
+ * No physical joining operation is expected for this node, e.g. a logical grouping or already-integrated occurrence.
184
+ *
191
185
  * @generated from enum value: JOIN_METHOD_NONE = 1;
192
186
  */
193
187
  NONE = 1,
194
188
 
195
189
  /**
190
+ * Part is joined using a fastener such as a screw, bolt, nut, rivet, clip, or similar hardware.
191
+ *
196
192
  * @generated from enum value: JOIN_METHOD_FASTEN = 2;
197
193
  */
198
194
  FASTEN = 2,
199
195
 
200
196
  /**
197
+ * Part is joined by interference/friction fit and usually requires controlled insertion force.
198
+ *
201
199
  * @generated from enum value: JOIN_METHOD_PRESS_FIT = 3;
202
200
  */
203
201
  PRESS_FIT = 3,
204
202
 
205
203
  /**
204
+ * Part is joined by elastic snap features and usually requires alignment followed by a snap-in motion.
205
+ *
206
206
  * @generated from enum value: JOIN_METHOD_SNAP_FIT = 4;
207
207
  */
208
208
  SNAP_FIT = 4,
209
209
 
210
210
  /**
211
+ * Part is joined using glue, tape, sealant, or another bonding material.
212
+ *
211
213
  * @generated from enum value: JOIN_METHOD_ADHESIVE = 5;
212
214
  */
213
215
  ADHESIVE = 5,
214
216
 
215
217
  /**
218
+ * Part is joined by welding or another permanent thermal/material fusion process.
219
+ *
216
220
  * @generated from enum value: JOIN_METHOD_WELD = 6;
217
221
  */
218
222
  WELD = 6,
219
223
 
220
224
  /**
225
+ * Part is placed at its final pose without an explicit joining operation beyond positioning.
226
+ *
221
227
  * @generated from enum value: JOIN_METHOD_PLACE = 7;
222
228
  */
223
229
  PLACE = 7,
@@ -5,12 +5,12 @@
5
5
  import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
6
  import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
7
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
8
  import type { ExternalReference } from "../../common/v1/external_references_pb.ts";
11
9
  import { file_common_v1_external_references } from "../../common/v1/external_references_pb.ts";
12
10
  import type { KeyValueConstraint } from "../../common/v1/key_value_constraint_pb.ts";
13
11
  import { file_common_v1_key_value_constraint } from "../../common/v1/key_value_constraint_pb.ts";
12
+ import type { EstimatedDuration } from "../../common/v1/time_pb.ts";
13
+ import { file_common_v1_time } from "../../common/v1/time_pb.ts";
14
14
  import { file_validation_v1_predefined_string_rules } from "../../validation/v1/predefined_string_rules_pb.ts";
15
15
  import type { Message } from "@bufbuild/protobuf";
16
16
 
@@ -18,7 +18,7 @@ import type { Message } from "@bufbuild/protobuf";
18
18
  * Describes the file product/v1/part_definition.proto.
19
19
  */
20
20
  export const file_product_v1_part_definition: GenFile = /*@__PURE__*/
21
- fileDesc("CiBwcm9kdWN0L3YxL3BhcnRfZGVmaW5pdGlvbi5wcm90bxIKcHJvZHVjdC52MSJmCgpEaW1lbnNpb25zEhwKBHhfbW0YASABKAFCDrpICxIJKQAAAAAAAAAAEhwKBHlfbW0YAiABKAFCDrpICxIJKQAAAAAAAAAAEhwKBHpfbW0YAyABKAFCDrpICxIJKQAAAAAAAAAAIlsKDE1hdGVyaWFsU3BlYxIuCghjYXRlZ29yeRgBIAEoDjIcLnByb2R1Y3QudjEuTWF0ZXJpYWxDYXRlZ29yeRIMCgRuYW1lGAIgASgJEg0KBWdyYWRlGAMgASgJIqkDChNQYXJ0SGFuZGxpbmdQcm9maWxlEg8KB2ZyYWdpbGUYASABKAgSFQoNZXNkX3NlbnNpdGl2ZRgCIAEoCBIeChZyZXF1aXJlc190d29faGFuZF9saWZ0GAMgASgIEiMKG3JlcXVpcmVzX2xpZnRpbmdfYXNzaXN0YW5jZRgEIAEoCBIgChhyZXF1aXJlc19maXh0dXJlX3N1cHBvcnQYBSABKAgSHwoXcHJlX2x1YnJpY2F0aW9uX3BhcnRfaWQYBiABKAkSIAoYcG9zdF9sdWJyaWNhdGlvbl9wYXJ0X2lkGAcgASgJEhcKD3JlcXVpcmVzX3dpcGluZxgIIAEoCBIfChdpbnNwZWN0X2JlZm9yZV9hc3NlbWJsZRgJIAEoCBIhChlpbnNwZWN0X2FmdGVyX2Rpc2Fzc2VtYmxlGAogASgIEhgKEG1heF9ncmlwX2ZvcmNlX24YCyABKAESFQoNbWF4X3RvcnF1ZV9ubRgMIAEoARIyCgtjb25zdHJhaW50cxgNIAMoCzIdLmNvbW1vbi52MS5LZXlWYWx1ZUNvbnN0cmFpbnQi2wMKDlBhcnREZWZpbml0aW9uEgoKAmlkGAEgASgJEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEiwKBHR5cGUYBSABKA4yFC5wcm9kdWN0LnYxLlBhcnRUeXBlQgi6SAWCAQIQARIPCgdzdWJ0eXBlGAYgASgJEhkKCHdlaWdodF9nGAcgASgDQge6SAQiAigAEioKCmRpbWVuc2lvbnMYCCABKAsyFi5wcm9kdWN0LnYxLkRpbWVuc2lvbnMSKgoIbWF0ZXJpYWwYCSABKAsyGC5wcm9kdWN0LnYxLk1hdGVyaWFsU3BlYxIjChBkZWZhdWx0X21vZGVsX2lkGAogASgJQgm6SAZyBIjxBAESMQoIaGFuZGxpbmcYCyABKAsyHy5wcm9kdWN0LnYxLlBhcnRIYW5kbGluZ1Byb2ZpbGUSOQoTZXh0ZXJuYWxfcmVmZXJlbmNlcxgMIAMoCzIcLmNvbW1vbi52MS5FeHRlcm5hbFJlZmVyZW5jZRIrCgZjdXN0b20YDSABKAsyGy5jb21tb24udjEuQ3VzdG9tUHJvcGVydGllcxIPCgd2ZXJzaW9uGA4gASgJIjwKD1BhcnREZWZpbml0aW9ucxIpCgVpdGVtcxgBIAMoCzIaLnByb2R1Y3QudjEuUGFydERlZmluaXRpb24qywIKCFBhcnRUeXBlEhkKFVBBUlRfVFlQRV9VTlNQRUNJRklFRBAAEhcKE1BBUlRfVFlQRV9DT01QT05FTlQQARIWChJQQVJUX1RZUEVfRkFTVEVORVIQAhIZChVQQVJUX1RZUEVfU1VCQVNTRU1CTFkQAxIYChRQQVJUX1RZUEVfQ09OU1VNQUJMRRAEEhMKD1BBUlRfVFlQRV9MQUJFTBAFEhcKE1BBUlRfVFlQRV9QQUNLQUdJTkcQBhIRCg1QQVJUX1RZUEVfUENCEAcSIgoeUEFSVF9UWVBFX0VMRUNUUk9OSUNfQ09NUE9ORU5UEAgSIgoeUEFSVF9UWVBFX0VMRUNUUklDQUxfQ09NUE9ORU5UEAkSEwoPUEFSVF9UWVBFX0NBQkxFEAoSIAocUEFSVF9UWVBFX0RJU1BFTlNFRF9NQVRFUklBTBALKpEDChBNYXRlcmlhbENhdGVnb3J5EiEKHU1BVEVSSUFMX0NBVEVHT1JZX1VOU1BFQ0lGSUVEEAASGwoXTUFURVJJQUxfQ0FURUdPUllfTUVUQUwQARIdChlNQVRFUklBTF9DQVRFR09SWV9QT0xZTUVSEAISHwobTUFURVJJQUxfQ0FURUdPUllfRUxBU1RPTUVSEAMSHwobTUFURVJJQUxfQ0FURUdPUllfQ09NUE9TSVRFEAQSHQoZTUFURVJJQUxfQ0FURUdPUllfQ0VSQU1JQxAFEhsKF01BVEVSSUFMX0NBVEVHT1JZX0dMQVNTEAYSGgoWTUFURVJJQUxfQ0FURUdPUllfV09PRBAHEhoKFk1BVEVSSUFMX0NBVEVHT1JZX0ZPQU0QCBIrCidNQVRFUklBTF9DQVRFR09SWV9FTEVDVFJPTklDU19TVUJTVFJBVEUQCRIeChpNQVRFUklBTF9DQVRFR09SWV9DSEVNSUNBTBAKEhsKF01BVEVSSUFMX0NBVEVHT1JZX09USEVSEGNCsgEKDmNvbS5wcm9kdWN0LnYxQhNQYXJ0RGVmaW5pdGlvblByb3RvUAFaOWdpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9wcm9kdWN0L3YxO3Byb2R1Y3R2MaICA1BYWKoCE01lc3NhZ2VzLlByb2R1Y3QuVjHKAgpQcm9kdWN0XFYx4gIWUHJvZHVjdFxWMVxHUEJNZXRhZGF0YeoCC1Byb2R1Y3Q6OlYxYgZwcm90bzM", [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]);
21
+ fileDesc("CiBwcm9kdWN0L3YxL3BhcnRfZGVmaW5pdGlvbi5wcm90bxIKcHJvZHVjdC52MSJmCgpEaW1lbnNpb25zEhwKBHhfbW0YASABKAFCDrpICxIJKQAAAAAAAAAAEhwKBHlfbW0YAiABKAFCDrpICxIJKQAAAAAAAAAAEhwKBHpfbW0YAyABKAFCDrpICxIJKQAAAAAAAAAAIlsKDE1hdGVyaWFsU3BlYxIuCghjYXRlZ29yeRgBIAEoDjIcLnByb2R1Y3QudjEuTWF0ZXJpYWxDYXRlZ29yeRIMCgRuYW1lGAIgASgJEg0KBWdyYWRlGAMgASgJIokCChNQYXJ0SGFuZGxpbmdQcm9maWxlEg8KB2ZyYWdpbGUYASABKAgSFQoNZXNkX3NlbnNpdGl2ZRgCIAEoCBIeChZyZXF1aXJlc190d29faGFuZF9saWZ0GAMgASgIEiMKG3JlcXVpcmVzX2xpZnRpbmdfYXNzaXN0YW5jZRgEIAEoCBIgChhyZXF1aXJlc19maXh0dXJlX3N1cHBvcnQYBSABKAgSGAoQbWF4X2dyaXBfZm9yY2VfbhgGIAEoARIVCg1tYXhfdG9ycXVlX25tGAcgASgBEjIKC2NvbnN0cmFpbnRzGAggAygLMh0uY29tbW9uLnYxLktleVZhbHVlQ29uc3RyYWludCKHAwoSUGFydFByb2Nlc3NQcm9maWxlEj4KGGVzdGltYXRlZF9odW1hbl9kdXJhdGlvbhgBIAEoCzIcLmNvbW1vbi52MS5Fc3RpbWF0ZWREdXJhdGlvbhI+Chhlc3RpbWF0ZWRfcm9ib3RfZHVyYXRpb24YAiABKAsyHC5jb21tb24udjEuRXN0aW1hdGVkRHVyYXRpb24SHQoVcmVxdWlyZV9mdWxsX2d1aWRhbmNlGAMgASgIEh8KF2luc3BlY3RfYmVmb3JlX2Fzc2VtYmxlGAQgASgIEiEKGWluc3BlY3RfYWZ0ZXJfZGlzYXNzZW1ibGUYBSABKAgSHwoXcHJlX2x1YnJpY2F0aW9uX3BhcnRfaWQYBiABKAkSIAoYcG9zdF9sdWJyaWNhdGlvbl9wYXJ0X2lkGAcgASgJEhcKD3JlcXVpcmVzX3dpcGluZxgIIAEoCBIyCgtjb25zdHJhaW50cxgJIAMoCzIdLmNvbW1vbi52MS5LZXlWYWx1ZUNvbnN0cmFpbnQi3wMKDlBhcnREZWZpbml0aW9uEgoKAmlkGAEgASgJEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEiwKBHR5cGUYBSABKA4yFC5wcm9kdWN0LnYxLlBhcnRUeXBlQgi6SAWCAQIQARIPCgdzdWJ0eXBlGAYgASgJEhkKCHdlaWdodF9nGAcgASgDQge6SAQiAigAEioKCmRpbWVuc2lvbnMYCCABKAsyFi5wcm9kdWN0LnYxLkRpbWVuc2lvbnMSKgoIbWF0ZXJpYWwYCSABKAsyGC5wcm9kdWN0LnYxLk1hdGVyaWFsU3BlYxIjChBkZWZhdWx0X21vZGVsX2lkGAogASgJQgm6SAZyBIjxBAESMQoIaGFuZGxpbmcYCyABKAsyHy5wcm9kdWN0LnYxLlBhcnRIYW5kbGluZ1Byb2ZpbGUSLwoHcHJvY2VzcxgMIAEoCzIeLnByb2R1Y3QudjEuUGFydFByb2Nlc3NQcm9maWxlEjkKE2V4dGVybmFsX3JlZmVyZW5jZXMYDSADKAsyHC5jb21tb24udjEuRXh0ZXJuYWxSZWZlcmVuY2USDwoHdmVyc2lvbhgPIAEoCSI8Cg9QYXJ0RGVmaW5pdGlvbnMSKQoFaXRlbXMYASADKAsyGi5wcm9kdWN0LnYxLlBhcnREZWZpbml0aW9uKugCCghQYXJ0VHlwZRIZChVQQVJUX1RZUEVfVU5TUEVDSUZJRUQQABIXChNQQVJUX1RZUEVfQ09NUE9ORU5UEAESFgoSUEFSVF9UWVBFX0ZBU1RFTkVSEAISGAoUUEFSVF9UWVBFX0NPTlNVTUFCTEUQBBITCg9QQVJUX1RZUEVfTEFCRUwQBRIXChNQQVJUX1RZUEVfUEFDS0FHSU5HEAYSEQoNUEFSVF9UWVBFX1BDQhAHEiIKHlBBUlRfVFlQRV9FTEVDVFJPTklDX0NPTVBPTkVOVBAIEiIKHlBBUlRfVFlQRV9FTEVDVFJJQ0FMX0NPTVBPTkVOVBAJEhMKD1BBUlRfVFlQRV9DQUJMRRAKEiAKHFBBUlRfVFlQRV9ESVNQRU5TRURfTUFURVJJQUwQCxIbChdQQVJUX1RZUEVfRklOQUxfUFJPRFVDVBAUEhkKFVBBUlRfVFlQRV9TVUJBU1NFTUJMWRAVKpEDChBNYXRlcmlhbENhdGVnb3J5EiEKHU1BVEVSSUFMX0NBVEVHT1JZX1VOU1BFQ0lGSUVEEAASGwoXTUFURVJJQUxfQ0FURUdPUllfTUVUQUwQARIdChlNQVRFUklBTF9DQVRFR09SWV9QT0xZTUVSEAISHwobTUFURVJJQUxfQ0FURUdPUllfRUxBU1RPTUVSEAMSHwobTUFURVJJQUxfQ0FURUdPUllfQ09NUE9TSVRFEAQSHQoZTUFURVJJQUxfQ0FURUdPUllfQ0VSQU1JQxAFEhsKF01BVEVSSUFMX0NBVEVHT1JZX0dMQVNTEAYSGgoWTUFURVJJQUxfQ0FURUdPUllfV09PRBAHEhoKFk1BVEVSSUFMX0NBVEVHT1JZX0ZPQU0QCBIrCidNQVRFUklBTF9DQVRFR09SWV9FTEVDVFJPTklDU19TVUJTVFJBVEUQCRIeChpNQVRFUklBTF9DQVRFR09SWV9DSEVNSUNBTBAKEhsKF01BVEVSSUFMX0NBVEVHT1JZX09USEVSEGNCsgEKDmNvbS5wcm9kdWN0LnYxQhNQYXJ0RGVmaW5pdGlvblByb3RvUAFaOWdpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9wcm9kdWN0L3YxO3Byb2R1Y3R2MaICA1BYWKoCE01lc3NhZ2VzLlByb2R1Y3QuVjHKAgpQcm9kdWN0XFYx4gIWUHJvZHVjdFxWMVxHUEJNZXRhZGF0YeoCC1Byb2R1Y3Q6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_common_v1_external_references, file_common_v1_key_value_constraint, file_common_v1_time, file_validation_v1_predefined_string_rules]);
22
22
 
23
23
  /**
24
24
  * @generated from message product.v1.Dimensions
@@ -93,89 +93,153 @@ export const MaterialSpecSchema: GenMessage<MaterialSpec> = /*@__PURE__*/
93
93
  messageDesc(file_product_v1_part_definition, 1);
94
94
 
95
95
  /**
96
+ * PartHandlingProfile captures physical handling constraints that follow the
97
+ * part regardless of the process it appears in.
98
+ *
96
99
  * @generated from message product.v1.PartHandlingProfile
97
100
  */
98
101
  export type PartHandlingProfile = Message<"product.v1.PartHandlingProfile"> & {
99
102
  /**
103
+ * Part can be damaged by drops, shocks, bending, crushing, or rough handling.
104
+ *
100
105
  * @generated from field: bool fragile = 1;
101
106
  */
102
107
  fragile: boolean;
103
108
 
104
109
  /**
110
+ * Part requires electrostatic discharge precautions during handling.
111
+ *
105
112
  * @generated from field: bool esd_sensitive = 2;
106
113
  */
107
114
  esdSensitive: boolean;
108
115
 
109
116
  /**
110
- * If true, the part is heavy, but possible to lift
117
+ * Part is heavy or awkward, but can still be lifted manually by an operator.
111
118
  *
112
119
  * @generated from field: bool requires_two_hand_lift = 3;
113
120
  */
114
121
  requiresTwoHandLift: boolean;
115
122
 
116
123
  /**
117
- * If true, the part is heavier than what an operator is allowed to lift.
124
+ * Part is heavier than what an operator is allowed or expected to lift manually.
118
125
  *
119
126
  * @generated from field: bool requires_lifting_assistance = 4;
120
127
  */
121
128
  requiresLiftingAssistance: boolean;
122
129
 
123
130
  /**
124
- * If true, this part cannot realistically be handled/assembled without some fixture support
131
+ * Part cannot realistically be handled or assembled without fixture support.
125
132
  *
126
133
  * @generated from field: bool requires_fixture_support = 5;
127
134
  */
128
135
  requiresFixtureSupport: boolean;
129
136
 
130
137
  /**
131
- * If set, if this part requires lubrication/greasing before/after being inserted. This can be used to automatically insert greasing step before/after insertion and cleaning during disassembly.
138
+ * Maximum gripping/clamping force that may be applied without damaging the part.
132
139
  *
133
- * @generated from field: string pre_lubrication_part_id = 6;
140
+ * @generated from field: double max_grip_force_n = 6;
134
141
  */
135
- preLubricationPartId: string;
142
+ maxGripForceN: number;
136
143
 
137
144
  /**
138
- * @generated from field: string post_lubrication_part_id = 7;
145
+ * Maximum torque that may be applied to the part or its fastening interface.
146
+ *
147
+ * @generated from field: double max_torque_nm = 7;
139
148
  */
140
- postLubricationPartId: string;
149
+ maxTorqueNm: number;
141
150
 
142
151
  /**
143
- * @generated from field: bool requires_wiping = 8;
152
+ * Additional handling constraints not represented by dedicated fields.
153
+ *
154
+ * @generated from field: repeated common.v1.KeyValueConstraint constraints = 8;
144
155
  */
145
- requiresWiping: boolean;
156
+ constraints: KeyValueConstraint[];
157
+ };
158
+
159
+ /**
160
+ * Describes the message product.v1.PartHandlingProfile.
161
+ * Use `create(PartHandlingProfileSchema)` to create a new message.
162
+ */
163
+ export const PartHandlingProfileSchema: GenMessage<PartHandlingProfile> = /*@__PURE__*/
164
+ messageDesc(file_product_v1_part_definition, 2);
165
+
166
+ /**
167
+ * PartProcessProfile captures defaults and hints used when generating processes
168
+ * involving this part.
169
+ *
170
+ * @generated from message product.v1.PartProcessProfile
171
+ */
172
+ export type PartProcessProfile = Message<"product.v1.PartProcessProfile"> & {
173
+ /**
174
+ * Default duration estimate for tasks performed by a human.
175
+ *
176
+ * @generated from field: common.v1.EstimatedDuration estimated_human_duration = 1;
177
+ */
178
+ estimatedHumanDuration?: EstimatedDuration;
146
179
 
147
180
  /**
148
- * @generated from field: bool inspect_before_assemble = 9;
181
+ * Default duration estimate for tasks performed by a robot.
182
+ *
183
+ * @generated from field: common.v1.EstimatedDuration estimated_robot_duration = 2;
184
+ */
185
+ estimatedRobotDuration?: EstimatedDuration;
186
+
187
+ /**
188
+ * Generated tasks should default to full step-by-step guidance for this part.
189
+ *
190
+ * @generated from field: bool require_full_guidance = 3;
191
+ */
192
+ requireFullGuidance: boolean;
193
+
194
+ /**
195
+ * Generate or recommend inspection before this part is assembled.
196
+ *
197
+ * @generated from field: bool inspect_before_assemble = 4;
149
198
  */
150
199
  inspectBeforeAssemble: boolean;
151
200
 
152
201
  /**
153
- * @generated from field: bool inspect_after_disassemble = 10;
202
+ * Generate or recommend inspection after this part is disassembled.
203
+ *
204
+ * @generated from field: bool inspect_after_disassemble = 5;
154
205
  */
155
206
  inspectAfterDisassemble: boolean;
156
207
 
157
208
  /**
158
- * @generated from field: double max_grip_force_n = 11;
209
+ * Consumable part to apply before inserting or assembling this part, e.g. grease or lubricant.
210
+ *
211
+ * @generated from field: string pre_lubrication_part_id = 6;
159
212
  */
160
- maxGripForceN: number;
213
+ preLubricationPartId: string;
161
214
 
162
215
  /**
163
- * @generated from field: double max_torque_nm = 12;
216
+ * Consumable part to apply after inserting or assembling this part, e.g. sealant or finishing lubricant.
217
+ *
218
+ * @generated from field: string post_lubrication_part_id = 7;
164
219
  */
165
- maxTorqueNm: number;
220
+ postLubricationPartId: string;
166
221
 
167
222
  /**
168
- * @generated from field: repeated common.v1.KeyValueConstraint constraints = 13;
223
+ * Generate or recommend wiping/cleaning tasks for this part.
224
+ *
225
+ * @generated from field: bool requires_wiping = 8;
226
+ */
227
+ requiresWiping: boolean;
228
+
229
+ /**
230
+ * Additional process-generation constraints not represented by dedicated fields.
231
+ *
232
+ * @generated from field: repeated common.v1.KeyValueConstraint constraints = 9;
169
233
  */
170
234
  constraints: KeyValueConstraint[];
171
235
  };
172
236
 
173
237
  /**
174
- * Describes the message product.v1.PartHandlingProfile.
175
- * Use `create(PartHandlingProfileSchema)` to create a new message.
238
+ * Describes the message product.v1.PartProcessProfile.
239
+ * Use `create(PartProcessProfileSchema)` to create a new message.
176
240
  */
177
- export const PartHandlingProfileSchema: GenMessage<PartHandlingProfile> = /*@__PURE__*/
178
- messageDesc(file_product_v1_part_definition, 2);
241
+ export const PartProcessProfileSchema: GenMessage<PartProcessProfile> = /*@__PURE__*/
242
+ messageDesc(file_product_v1_part_definition, 3);
179
243
 
180
244
  /**
181
245
  * @generated from message product.v1.PartDefinition
@@ -245,17 +309,17 @@ export type PartDefinition = Message<"product.v1.PartDefinition"> & {
245
309
  handling?: PartHandlingProfile;
246
310
 
247
311
  /**
248
- * @generated from field: repeated common.v1.ExternalReference external_references = 12;
312
+ * @generated from field: product.v1.PartProcessProfile process = 12;
249
313
  */
250
- externalReferences: ExternalReference[];
314
+ process?: PartProcessProfile;
251
315
 
252
316
  /**
253
- * @generated from field: common.v1.CustomProperties custom = 13;
317
+ * @generated from field: repeated common.v1.ExternalReference external_references = 13;
254
318
  */
255
- custom?: CustomProperties;
319
+ externalReferences: ExternalReference[];
256
320
 
257
321
  /**
258
- * @generated from field: string version = 14;
322
+ * @generated from field: string version = 15;
259
323
  */
260
324
  version: string;
261
325
  };
@@ -265,7 +329,7 @@ export type PartDefinition = Message<"product.v1.PartDefinition"> & {
265
329
  * Use `create(PartDefinitionSchema)` to create a new message.
266
330
  */
267
331
  export const PartDefinitionSchema: GenMessage<PartDefinition> = /*@__PURE__*/
268
- messageDesc(file_product_v1_part_definition, 3);
332
+ messageDesc(file_product_v1_part_definition, 4);
269
333
 
270
334
  /**
271
335
  * @generated from message product.v1.PartDefinitions
@@ -282,7 +346,7 @@ export type PartDefinitions = Message<"product.v1.PartDefinitions"> & {
282
346
  * Use `create(PartDefinitionsSchema)` to create a new message.
283
347
  */
284
348
  export const PartDefinitionsSchema: GenMessage<PartDefinitions> = /*@__PURE__*/
285
- messageDesc(file_product_v1_part_definition, 4);
349
+ messageDesc(file_product_v1_part_definition, 5);
286
350
 
287
351
  /**
288
352
  * @generated from enum product.v1.PartType
@@ -307,13 +371,6 @@ export enum PartType {
307
371
  */
308
372
  FASTENER = 2,
309
373
 
310
- /**
311
- * A part that is itself composed of multiple child parts
312
- *
313
- * @generated from enum value: PART_TYPE_SUBASSEMBLY = 3;
314
- */
315
- SUBASSEMBLY = 3,
316
-
317
374
  /**
318
375
  * General consumable used up during assembly or maintenance
319
376
  *
@@ -369,6 +426,20 @@ export enum PartType {
369
426
  * @generated from enum value: PART_TYPE_DISPENSED_MATERIAL = 11;
370
427
  */
371
428
  DISPENSED_MATERIAL = 11,
429
+
430
+ /**
431
+ * A part that is itself composed of multiple child parts, which together form a product
432
+ *
433
+ * @generated from enum value: PART_TYPE_FINAL_PRODUCT = 20;
434
+ */
435
+ FINAL_PRODUCT = 20,
436
+
437
+ /**
438
+ * A part that is itself composed of multiple child parts,
439
+ *
440
+ * @generated from enum value: PART_TYPE_SUBASSEMBLY = 21;
441
+ */
442
+ SUBASSEMBLY = 21,
372
443
  }
373
444
 
374
445
  /**
@@ -5,8 +5,6 @@
5
5
  import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
6
  import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
7
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
8
  import type { ResourceStatus } from "../../common/v1/enums_pb.ts";
11
9
  import { file_common_v1_enums } from "../../common/v1/enums_pb.ts";
12
10
  import type { LocalizedPose } from "../../geometry/v1/pose_pb.ts";
@@ -18,7 +16,7 @@ import type { Message } from "@bufbuild/protobuf";
18
16
  * Describes the file product/v1/part_instance.proto.
19
17
  */
20
18
  export const file_product_v1_part_instance: GenFile = /*@__PURE__*/
21
- fileDesc("Ch5wcm9kdWN0L3YxL3BhcnRfaW5zdGFuY2UucHJvdG8SCnByb2R1Y3QudjEiZgoOUXVhbnRpdHlTdGF0dXMSHgoGYW1vdW50GAEgASgBQg66SAsSCSkAAAAAAAAAABIMCgR1bml0GAIgASgJEiYKDm5vbWluYWxfYW1vdW50GAMgASgBQg66SAsSCSkAAAAAAAAAACLSAQoUUGFydEluc3RhbmNlTG9jYXRpb24SKAoVY29udGFpbmVyX2luc3RhbmNlX2lkGAEgASgJQgm6SAZyBNDrMAESDwoHc2xvdF9pZBgCIAEoCRIaCgdsaW5lX2lkGAMgASgJQgm6SAZyBMDyBAESGgoHY2VsbF9pZBgEIAEoCUIJukgGcgS48gQBEh0KCnN0YXRpb25faWQYBSABKAlCCbpIBnIE+PEEARIoCgRwb3NlGAYgASgLMhouZ2VvbWV0cnkudjEuTG9jYWxpemVkUG9zZSLPAgoMUGFydEluc3RhbmNlEhUKAmlkGAEgASgJQgm6SAZyBNDxBAESFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSKAoScGFydF9kZWZpbml0aW9uX2lkGAUgASgJQgy6SAnIAQFyBMjxBAESMwoGc3RhdHVzGAYgASgOMhkuY29tbW9uLnYxLlJlc291cmNlU3RhdHVzQgi6SAWCAQIQARIyCghsb2NhdGlvbhgHIAEoCzIgLnByb2R1Y3QudjEuUGFydEluc3RhbmNlTG9jYXRpb24SLAoIcXVhbnRpdHkYCCABKAsyGi5wcm9kdWN0LnYxLlF1YW50aXR5U3RhdHVzEisKBmN1c3RvbRgJIAEoCzIbLmNvbW1vbi52MS5DdXN0b21Qcm9wZXJ0aWVzIjgKDVBhcnRJbnN0YW5jZXMSJwoFaXRlbXMYASADKAsyGC5wcm9kdWN0LnYxLlBhcnRJbnN0YW5jZUKwAQoOY29tLnByb2R1Y3QudjFCEVBhcnRJbnN0YW5jZVByb3RvUAFaOWdpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9wcm9kdWN0L3YxO3Byb2R1Y3R2MaICA1BYWKoCE01lc3NhZ2VzLlByb2R1Y3QuVjHKAgpQcm9kdWN0XFYx4gIWUHJvZHVjdFxWMVxHUEJNZXRhZGF0YeoCC1Byb2R1Y3Q6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_common_v1_custom_properties, file_common_v1_enums, file_geometry_v1_pose, file_validation_v1_predefined_string_rules]);
19
+ fileDesc("Ch5wcm9kdWN0L3YxL3BhcnRfaW5zdGFuY2UucHJvdG8SCnByb2R1Y3QudjEiZgoOUXVhbnRpdHlTdGF0dXMSHgoGYW1vdW50GAEgASgBQg66SAsSCSkAAAAAAAAAABIMCgR1bml0GAIgASgJEiYKDm5vbWluYWxfYW1vdW50GAMgASgBQg66SAsSCSkAAAAAAAAAACLSAQoUUGFydEluc3RhbmNlTG9jYXRpb24SKAoVY29udGFpbmVyX2luc3RhbmNlX2lkGAEgASgJQgm6SAZyBNDrMAESDwoHc2xvdF9pZBgCIAEoCRIaCgdsaW5lX2lkGAMgASgJQgm6SAZyBMDyBAESGgoHY2VsbF9pZBgEIAEoCUIJukgGcgS48gQBEh0KCnN0YXRpb25faWQYBSABKAlCCbpIBnIE+PEEARIoCgRwb3NlGAYgASgLMhouZ2VvbWV0cnkudjEuTG9jYWxpemVkUG9zZSKiAgoMUGFydEluc3RhbmNlEhUKAmlkGAEgASgJQgm6SAZyBNDxBAESFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSKAoScGFydF9kZWZpbml0aW9uX2lkGAUgASgJQgy6SAnIAQFyBMjxBAESMwoGc3RhdHVzGAYgASgOMhkuY29tbW9uLnYxLlJlc291cmNlU3RhdHVzQgi6SAWCAQIQARIyCghsb2NhdGlvbhgHIAEoCzIgLnByb2R1Y3QudjEuUGFydEluc3RhbmNlTG9jYXRpb24SLAoIcXVhbnRpdHkYCCABKAsyGi5wcm9kdWN0LnYxLlF1YW50aXR5U3RhdHVzIjgKDVBhcnRJbnN0YW5jZXMSJwoFaXRlbXMYASADKAsyGC5wcm9kdWN0LnYxLlBhcnRJbnN0YW5jZUKwAQoOY29tLnByb2R1Y3QudjFCEVBhcnRJbnN0YW5jZVByb3RvUAFaOWdpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9wcm9kdWN0L3YxO3Byb2R1Y3R2MaICA1BYWKoCE01lc3NhZ2VzLlByb2R1Y3QuVjHKAgpQcm9kdWN0XFYx4gIWUHJvZHVjdFxWMVxHUEJNZXRhZGF0YeoCC1Byb2R1Y3Q6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_common_v1_enums, file_geometry_v1_pose, file_validation_v1_predefined_string_rules]);
22
20
 
23
21
  /**
24
22
  * QuantityStatus is a lightweight optional description of how much of a part
@@ -164,11 +162,6 @@ export type PartInstance = Message<"product.v1.PartInstance"> & {
164
162
  * @generated from field: product.v1.QuantityStatus quantity = 8;
165
163
  */
166
164
  quantity?: QuantityStatus;
167
-
168
- /**
169
- * @generated from field: common.v1.CustomProperties custom = 9;
170
- */
171
- custom?: CustomProperties;
172
165
  };
173
166
 
174
167
  /**
@@ -4,8 +4,6 @@
4
4
 
5
5
  import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
6
  import { 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
7
  import type { ExternalReference } from "../../common/v1/external_references_pb.ts";
10
8
  import { file_common_v1_external_references } from "../../common/v1/external_references_pb.ts";
11
9
  import type { AssemblyNode } from "./assembly_node_pb.ts";
@@ -18,7 +16,7 @@ import type { Message } from "@bufbuild/protobuf";
18
16
  * Describes the file product/v1/product_definition.proto.
19
17
  */
20
18
  export const file_product_v1_product_definition: GenFile = /*@__PURE__*/
21
- fileDesc("CiNwcm9kdWN0L3YxL3Byb2R1Y3RfZGVmaW5pdGlvbi5wcm90bxIKcHJvZHVjdC52MSKnAgoRUHJvZHVjdERlZmluaXRpb24SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEi4KDHZhcmlhbnRfYXhlcxgFIAMoCzIYLnZhcmlhbmNlLnYxLlZhcmlhbnRBeGlzEhQKDHJvb3Rfbm9kZV9pZBgGIAEoCRInCgVub2RlcxgHIAMoCzIYLnByb2R1Y3QudjEuQXNzZW1ibHlOb2RlEjkKE2V4dGVybmFsX3JlZmVyZW5jZXMYCCADKAsyHC5jb21tb24udjEuRXh0ZXJuYWxSZWZlcmVuY2USKwoGY3VzdG9tGAkgASgLMhsuY29tbW9uLnYxLkN1c3RvbVByb3BlcnRpZXMiQgoSUHJvZHVjdERlZmluaXRpb25zEiwKBWl0ZW1zGAEgAygLMh0ucHJvZHVjdC52MS5Qcm9kdWN0RGVmaW5pdGlvbkK1AQoOY29tLnByb2R1Y3QudjFCFlByb2R1Y3REZWZpbml0aW9uUHJvdG9QAVo5Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3Byb2R1Y3QvdjE7cHJvZHVjdHYxogIDUFhYqgITTWVzc2FnZXMuUHJvZHVjdC5WMcoCClByb2R1Y3RcVjHiAhZQcm9kdWN0XFYxXEdQQk1ldGFkYXRh6gILUHJvZHVjdDo6VjFiBnByb3RvMw", [file_common_v1_custom_properties, file_common_v1_external_references, file_product_v1_assembly_node, file_variance_v1_variant_axis]);
19
+ fileDesc("CiNwcm9kdWN0L3YxL3Byb2R1Y3RfZGVmaW5pdGlvbi5wcm90bxIKcHJvZHVjdC52MSL6AQoRUHJvZHVjdERlZmluaXRpb24SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEi4KDHZhcmlhbnRfYXhlcxgFIAMoCzIYLnZhcmlhbmNlLnYxLlZhcmlhbnRBeGlzEhQKDHJvb3Rfbm9kZV9pZBgGIAEoCRInCgVub2RlcxgHIAMoCzIYLnByb2R1Y3QudjEuQXNzZW1ibHlOb2RlEjkKE2V4dGVybmFsX3JlZmVyZW5jZXMYCCADKAsyHC5jb21tb24udjEuRXh0ZXJuYWxSZWZlcmVuY2UiQgoSUHJvZHVjdERlZmluaXRpb25zEiwKBWl0ZW1zGAEgAygLMh0ucHJvZHVjdC52MS5Qcm9kdWN0RGVmaW5pdGlvbkK1AQoOY29tLnByb2R1Y3QudjFCFlByb2R1Y3REZWZpbml0aW9uUHJvdG9QAVo5Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3Byb2R1Y3QvdjE7cHJvZHVjdHYxogIDUFhYqgITTWVzc2FnZXMuUHJvZHVjdC5WMcoCClByb2R1Y3RcVjHiAhZQcm9kdWN0XFYxXEdQQk1ldGFkYXRh6gILUHJvZHVjdDo6VjFiBnByb3RvMw", [file_common_v1_external_references, file_product_v1_assembly_node, file_variance_v1_variant_axis]);
22
20
 
23
21
  /**
24
22
  * @generated from message product.v1.ProductDefinition
@@ -63,11 +61,6 @@ export type ProductDefinition = Message<"product.v1.ProductDefinition"> & {
63
61
  * @generated from field: repeated common.v1.ExternalReference external_references = 8;
64
62
  */
65
63
  externalReferences: ExternalReference[];
66
-
67
- /**
68
- * @generated from field: common.v1.CustomProperties custom = 9;
69
- */
70
- custom?: CustomProperties;
71
64
  };
72
65
 
73
66
  /**