@cobotar/protocol 1.1.1 → 1.2.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.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # CobotAR-Protocol
2
2
  A collection of protobuf messages for the CobotAR-project
3
3
 
4
- Current version: 1.1.1
4
+ Current version: 1.2.0
5
5
 
6
6
  ## Documentation
7
7
  Find it here: [documentation/README.md](documentation/README.md)
@@ -16,7 +16,45 @@ import type { Message } from "@bufbuild/protobuf";
16
16
  * Describes the file ar/v1/feedback_info.proto.
17
17
  */
18
18
  export const file_ar_v1_feedback_info: GenFile = /*@__PURE__*/
19
- fileDesc("Chlhci92MS9mZWVkYmFja19pbmZvLnByb3RvEgVhci52MSKsAwoTRmVlZGJhY2tJbmZvTWVzc2FnZRIXCgRuYW1lGAIgASgJQgm6SAZyBIDxBAESDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIuCgR0eXBlGAUgASgOMhMuYXIudjEuRmVlZGJhY2tUeXBlQgu6SAjIAQGCAQIQARItCgVncm91cBgGIAEoDjIULmFyLnYxLkZlZWRiYWNrR3JvdXBCCLpIBYIBAhABEhUKDXJlcXVpcmVfYWdlbnQYByABKAgSFQoNcmVxdWlyZV9mcmFtZRgIIAEoCBIvChJjb25zdW1lcnNfcmVxdWlyZWQYCSADKAsyEy5hci52MS5FeGNoYW5nZVR5cGUSLwoSY29uc3VtZXJzX29wdGlvbmFsGAogAygLMhMuYXIudjEuRXhjaGFuZ2VUeXBlEjQKEXJlcXVpcmVkX2hhbmRsZXJzGAsgAygLMhkuYXIudjEuSGFuZGxlclJlcXVpcmVtZW50EiIKBWVtaXRzGAwgAygLMhMuYXIudjEuRXhjaGFuZ2VUeXBlEhAKCGRpc2FibGVkGA0gASgIIkEKFEZlZWRiYWNrSW5mb01lc3NhZ2VzEikKBWluZm9zGAEgAygLMhouYXIudjEuRmVlZGJhY2tJbmZvTWVzc2FnZSr7AQoNRmVlZGJhY2tHcm91cBIeChpGRUVEQkFDS19HUk9VUF9VTlNQRUNJRklFRBAAEhoKFkZFRURCQUNLX0dST1VQX0dFTkVSQUwQARIaChZGRUVEQkFDS19HUk9VUF9TUEFUSUFMEAISGwoXRkVFREJBQ0tfR1JPVVBfUkVTT1VSQ0UQAxIaChZGRUVEQkFDS19HUk9VUF9QUk9DRVNTEAQSHQoZRkVFREJBQ0tfR1JPVVBfVkFMSURBVElPThAFEhgKFEZFRURCQUNLX0dST1VQX1JPQk9UEAYSIAocRkVFREJBQ0tfR1JPVVBfQ09MTEFCT1JBVElPThAHQo0BCgljb20uYXIudjFCEUZlZWRiYWNrSW5mb1Byb3RvUAFaL2dpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9hci92MTthcnYxogIDQVhYqgIOTWVzc2FnZXMuQVIuVjHKAgVBclxWMeICEUFyXFYxXEdQQk1ldGFkYXRh6gIGQXI6OlYxYgZwcm90bzM", [file_ar_v1_events, file_ar_v1_feedback, file_buf_validate_validate, file_validation_v1_predefined_string_rules]);
19
+ fileDesc("Chlhci92MS9mZWVkYmFja19pbmZvLnByb3RvEgVhci52MSJqChJGZWVkYmFja0NhcGFiaWxpdHkSFgoDa2V5GAEgASgJQgm6SAZyBBABGEASEwoLZGVzY3JpcHRpb24YAiABKAkSJwoNcHJvcGVydHlfa2V5cxgDIAMoCUIQukgNkgEKGAEiBnIEEAEYQCLdAwoTRmVlZGJhY2tJbmZvTWVzc2FnZRIXCgRuYW1lGAIgASgJQgm6SAZyBIDxBAESDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIuCgR0eXBlGAUgASgOMhMuYXIudjEuRmVlZGJhY2tUeXBlQgu6SAjIAQGCAQIQARItCgVncm91cBgGIAEoDjIULmFyLnYxLkZlZWRiYWNrR3JvdXBCCLpIBYIBAhABEhUKDXJlcXVpcmVfYWdlbnQYByABKAgSFQoNcmVxdWlyZV9mcmFtZRgIIAEoCBIvChJjb25zdW1lcnNfcmVxdWlyZWQYCSADKAsyEy5hci52MS5FeGNoYW5nZVR5cGUSLwoSY29uc3VtZXJzX29wdGlvbmFsGAogAygLMhMuYXIudjEuRXhjaGFuZ2VUeXBlEjQKEXJlcXVpcmVkX2hhbmRsZXJzGAsgAygLMhkuYXIudjEuSGFuZGxlclJlcXVpcmVtZW50EiIKBWVtaXRzGAwgAygLMhMuYXIudjEuRXhjaGFuZ2VUeXBlEhAKCGRpc2FibGVkGA0gASgIEi8KDGNhcGFiaWxpdGllcxgOIAMoCzIZLmFyLnYxLkZlZWRiYWNrQ2FwYWJpbGl0eSJBChRGZWVkYmFja0luZm9NZXNzYWdlcxIpCgVpbmZvcxgBIAMoCzIaLmFyLnYxLkZlZWRiYWNrSW5mb01lc3NhZ2Uq+wEKDUZlZWRiYWNrR3JvdXASHgoaRkVFREJBQ0tfR1JPVVBfVU5TUEVDSUZJRUQQABIaChZGRUVEQkFDS19HUk9VUF9HRU5FUkFMEAESGgoWRkVFREJBQ0tfR1JPVVBfU1BBVElBTBACEhsKF0ZFRURCQUNLX0dST1VQX1JFU09VUkNFEAMSGgoWRkVFREJBQ0tfR1JPVVBfUFJPQ0VTUxAEEh0KGUZFRURCQUNLX0dST1VQX1ZBTElEQVRJT04QBRIYChRGRUVEQkFDS19HUk9VUF9ST0JPVBAGEiAKHEZFRURCQUNLX0dST1VQX0NPTExBQk9SQVRJT04QB0KNAQoJY29tLmFyLnYxQhFGZWVkYmFja0luZm9Qcm90b1ABWi9naXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvYXIvdjE7YXJ2MaICA0FYWKoCDk1lc3NhZ2VzLkFSLlYxygIFQXJcVjHiAhFBclxWMVxHUEJNZXRhZGF0YeoCBkFyOjpWMWIGcHJvdG8z", [file_ar_v1_events, file_ar_v1_feedback, file_buf_validate_validate, file_validation_v1_predefined_string_rules]);
20
+
21
+ /**
22
+ * Describes a type-level behavior supported by a feedback implementation.
23
+ * Capability metadata is server-owned and intended for read-only discovery by
24
+ * authoring clients. It does not describe whether a particular feedback
25
+ * instance is currently active.
26
+ *
27
+ * @generated from message ar.v1.FeedbackCapability
28
+ */
29
+ export type FeedbackCapability = Message<"ar.v1.FeedbackCapability"> & {
30
+ /**
31
+ * Stable machine-readable capability identifier.
32
+ *
33
+ * @generated from field: string key = 1;
34
+ */
35
+ key: string;
36
+
37
+ /**
38
+ * Human-readable explanation shown by authoring tools.
39
+ *
40
+ * @generated from field: string description = 2;
41
+ */
42
+ description: string;
43
+
44
+ /**
45
+ * Stable PropertyDefinition keys used to configure this capability.
46
+ *
47
+ * @generated from field: repeated string property_keys = 3;
48
+ */
49
+ propertyKeys: string[];
50
+ };
51
+
52
+ /**
53
+ * Describes the message ar.v1.FeedbackCapability.
54
+ * Use `create(FeedbackCapabilitySchema)` to create a new message.
55
+ */
56
+ export const FeedbackCapabilitySchema: GenMessage<FeedbackCapability> = /*@__PURE__*/
57
+ messageDesc(file_ar_v1_feedback_info, 0);
20
58
 
21
59
  /**
22
60
  * @generated from message ar.v1.FeedbackInfoMessage
@@ -89,6 +127,13 @@ export type FeedbackInfoMessage = Message<"ar.v1.FeedbackInfoMessage"> & {
89
127
  * @generated from field: bool disabled = 13;
90
128
  */
91
129
  disabled: boolean;
130
+
131
+ /**
132
+ * Optional behaviors supported by this feedback type.
133
+ *
134
+ * @generated from field: repeated ar.v1.FeedbackCapability capabilities = 14;
135
+ */
136
+ capabilities: FeedbackCapability[];
92
137
  };
93
138
 
94
139
  /**
@@ -96,7 +141,7 @@ export type FeedbackInfoMessage = Message<"ar.v1.FeedbackInfoMessage"> & {
96
141
  * Use `create(FeedbackInfoMessageSchema)` to create a new message.
97
142
  */
98
143
  export const FeedbackInfoMessageSchema: GenMessage<FeedbackInfoMessage> = /*@__PURE__*/
99
- messageDesc(file_ar_v1_feedback_info, 0);
144
+ messageDesc(file_ar_v1_feedback_info, 1);
100
145
 
101
146
  /**
102
147
  * @generated from message ar.v1.FeedbackInfoMessages
@@ -113,7 +158,7 @@ export type FeedbackInfoMessages = Message<"ar.v1.FeedbackInfoMessages"> & {
113
158
  * Use `create(FeedbackInfoMessagesSchema)` to create a new message.
114
159
  */
115
160
  export const FeedbackInfoMessagesSchema: GenMessage<FeedbackInfoMessages> = /*@__PURE__*/
116
- messageDesc(file_ar_v1_feedback_info, 1);
161
+ messageDesc(file_ar_v1_feedback_info, 2);
117
162
 
118
163
  /**
119
164
  * @generated from enum ar.v1.FeedbackGroup
@@ -12,7 +12,7 @@ import type { Message } from "@bufbuild/protobuf";
12
12
  * Describes the file ar/v1/input_slot.proto.
13
13
  */
14
14
  export const file_ar_v1_input_slot: GenFile = /*@__PURE__*/
15
- fileDesc("ChZhci92MS9pbnB1dF9zbG90LnByb3RvEgVhci52MSJ5Cg9BUkFjdG9yU2VsZWN0b3ISFgoOY3VycmVudF93b3JrZXIYASABKAgSIwoQcmVzb3VyY2Vfc2xvdF9pZBgCIAEoCUIJukgGcgT46zABOim6SCYiJAoOY3VycmVudF93b3JrZXIKEHJlc291cmNlX3Nsb3RfaWQQASJ8ChRBUlJ1bkNvbnRleHRTZWxlY3RvchI1CglzZWxlY3Rpb24YASABKA4yFS5hci52MS5BUlJ1blNlbGVjdGlvbkILukgIyAEBggECEAESLQoFYWN0b3IYAiABKAsyFi5hci52MS5BUkFjdG9yU2VsZWN0b3JCBrpIA8gBASLKCAoSQVJJbnB1dFNsb3RNZXNzYWdlEhUKAmlkGAEgASgJQgm6SAZyBPjrMAESHwoJY29uZmlnX2lkGAIgASgJQgy6SAnIAQFyBJDxBAESFwoEbmFtZRgDIAEoCUIJukgGcgSA8QQBEgwKBGljb24YBCABKAkSEwoLZGVzY3JpcHRpb24YBSABKAkSEAoIcmVxdWlyZWQYBiABKAgSKwoVZ2VuZXJhdGVkX3Byb3BlcnR5X2lkGAcgASgJQgy6SAnIAQFyBJjxBAESOgoNcmVzb3VyY2VfdHlwZRgIIAEoDjIZLmFyLnYxLkFSUmVzb3VyY2VTbG90VHlwZUIIukgFggECEAESOAoMY29udGV4dF90eXBlGAkgASgOMhguYXIudjEuQVJDb250ZXh0U2xvdFR5cGVCCLpIBYIBAhABEjEKDHJ1bl9zZWxlY3RvchgKIAEoCzIbLmFyLnYxLkFSUnVuQ29udGV4dFNlbGVjdG9yOtcFukjTBRqdAgorYXJfaW5wdXRfc2xvdC5lcnJvcl9zZWxlY3Rpb25fcmVxdWlyZXNfdGFzaxIsRklSU1RfSU5fRVJST1IgaXMgb25seSB2YWxpZCBmb3IgVEFTS19SVU5fSUQavwEhaGFzKHRoaXMucnVuX3NlbGVjdG9yKSB8fCB0aGlzLnJ1bl9zZWxlY3Rvci5zZWxlY3Rpb24gIT0gYXIudjEuQVJSdW5TZWxlY3Rpb24uQVJfUlVOX1NFTEVDVElPTl9GSVJTVF9JTl9FUlJPUiB8fCB0aGlzLmNvbnRleHRfdHlwZSA9PSBhci52MS5BUkNvbnRleHRTbG90VHlwZS5BUl9DT05URVhUX1NMT1RfVFlQRV9UQVNLX1JVTl9JRBqPAwovYXJfaW5wdXRfc2xvdC5ydW5fc2VsZWN0b3JfbWF0Y2hlc19jb250ZXh0X3R5cGUSR3J1bl9zZWxlY3RvciBpcyByZXF1aXJlZCBmb3IgcnVuIGNvbnRleHQgc2xvdHMgYW5kIHByb2hpYml0ZWQgb3RoZXJ3aXNlGpICKHRoaXMuY29udGV4dF90eXBlID09IGFyLnYxLkFSQ29udGV4dFNsb3RUeXBlLkFSX0NPTlRFWFRfU0xPVF9UWVBFX1BST0NFU1NfUlVOX0lEIHx8IHRoaXMuY29udGV4dF90eXBlID09IGFyLnYxLkFSQ29udGV4dFNsb3RUeXBlLkFSX0NPTlRFWFRfU0xPVF9UWVBFX1NFUVVFTkNFX1JVTl9JRCB8fCB0aGlzLmNvbnRleHRfdHlwZSA9PSBhci52MS5BUkNvbnRleHRTbG90VHlwZS5BUl9DT05URVhUX1NMT1RfVFlQRV9UQVNLX1JVTl9JRCkgPT0gaGFzKHRoaXMucnVuX3NlbGVjdG9yKSIfCg1yZXNvdXJjZV90eXBlCgxjb250ZXh0X3R5cGUQASI/ChNBUklucHV0U2xvdE1lc3NhZ2VzEigKBXNsb3RzGAEgAygLMhkuYXIudjEuQVJJbnB1dFNsb3RNZXNzYWdlIokIChVBUklucHV0U2xvdEFkZE1lc3NhZ2USHwoJY29uZmlnX2lkGAEgASgJQgy6SAnIAQFyBJDxBAESFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSEAoIcmVxdWlyZWQYBSABKAgSOgoNcmVzb3VyY2VfdHlwZRgIIAEoDjIZLmFyLnYxLkFSUmVzb3VyY2VTbG90VHlwZUIIukgFggECEAESOAoMY29udGV4dF90eXBlGAkgASgOMhguYXIudjEuQVJDb250ZXh0U2xvdFR5cGVCCLpIBYIBAhABEjEKDHJ1bl9zZWxlY3RvchgKIAEoCzIbLmFyLnYxLkFSUnVuQ29udGV4dFNlbGVjdG9yOtcFukjTBRqdAgorYXJfaW5wdXRfc2xvdC5lcnJvcl9zZWxlY3Rpb25fcmVxdWlyZXNfdGFzaxIsRklSU1RfSU5fRVJST1IgaXMgb25seSB2YWxpZCBmb3IgVEFTS19SVU5fSUQavwEhaGFzKHRoaXMucnVuX3NlbGVjdG9yKSB8fCB0aGlzLnJ1bl9zZWxlY3Rvci5zZWxlY3Rpb24gIT0gYXIudjEuQVJSdW5TZWxlY3Rpb24uQVJfUlVOX1NFTEVDVElPTl9GSVJTVF9JTl9FUlJPUiB8fCB0aGlzLmNvbnRleHRfdHlwZSA9PSBhci52MS5BUkNvbnRleHRTbG90VHlwZS5BUl9DT05URVhUX1NMT1RfVFlQRV9UQVNLX1JVTl9JRBqPAwovYXJfaW5wdXRfc2xvdC5ydW5fc2VsZWN0b3JfbWF0Y2hlc19jb250ZXh0X3R5cGUSR3J1bl9zZWxlY3RvciBpcyByZXF1aXJlZCBmb3IgcnVuIGNvbnRleHQgc2xvdHMgYW5kIHByb2hpYml0ZWQgb3RoZXJ3aXNlGpICKHRoaXMuY29udGV4dF90eXBlID09IGFyLnYxLkFSQ29udGV4dFNsb3RUeXBlLkFSX0NPTlRFWFRfU0xPVF9UWVBFX1BST0NFU1NfUlVOX0lEIHx8IHRoaXMuY29udGV4dF90eXBlID09IGFyLnYxLkFSQ29udGV4dFNsb3RUeXBlLkFSX0NPTlRFWFRfU0xPVF9UWVBFX1NFUVVFTkNFX1JVTl9JRCB8fCB0aGlzLmNvbnRleHRfdHlwZSA9PSBhci52MS5BUkNvbnRleHRTbG90VHlwZS5BUl9DT05URVhUX1NMT1RfVFlQRV9UQVNLX1JVTl9JRCkgPT0gaGFzKHRoaXMucnVuX3NlbGVjdG9yKSIfCg1yZXNvdXJjZV90eXBlCgxjb250ZXh0X3R5cGUQASLEAQoYQVJJbnB1dFNsb3RVcGRhdGVNZXNzYWdlEhUKAmlkGAEgASgJQgm6SAZyBPjrMAESFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSFQoIcmVxdWlyZWQYBSABKAhIAIgBARIxCgxydW5fc2VsZWN0b3IYBiABKAsyGy5hci52MS5BUlJ1bkNvbnRleHRTZWxlY3RvckILCglfcmVxdWlyZWQiNAoYQVJJbnB1dFNsb3REZWxldGVNZXNzYWdlEhgKAmlkGAEgASgJQgy6SAnIAQFyBPjrMAEqfQoSQVJSZXNvdXJjZVNsb3RUeXBlEiUKIUFSX1JFU09VUkNFX1NMT1RfVFlQRV9VTlNQRUNJRklFRBAAEh8KG0FSX1JFU09VUkNFX1NMT1RfVFlQRV9ST0JPVBABEh8KG0FSX1JFU09VUkNFX1NMT1RfVFlQRV9BU1NFVBACKr8CChFBUkNvbnRleHRTbG90VHlwZRIkCiBBUl9DT05URVhUX1NMT1RfVFlQRV9VTlNQRUNJRklFRBAAEiAKHEFSX0NPTlRFWFRfU0xPVF9UWVBFX0xJTkVfSUQQARIgChxBUl9DT05URVhUX1NMT1RfVFlQRV9DRUxMX0lEEAISIwofQVJfQ09OVEVYVF9TTE9UX1RZUEVfU1RBVElPTl9JRBADEiIKHkFSX0NPTlRFWFRfU0xPVF9UWVBFX1dPUktFUl9JRBAEEicKI0FSX0NPTlRFWFRfU0xPVF9UWVBFX1BST0NFU1NfUlVOX0lEEAUSKAokQVJfQ09OVEVYVF9TTE9UX1RZUEVfU0VRVUVOQ0VfUlVOX0lEEAYSJAogQVJfQ09OVEVYVF9TTE9UX1RZUEVfVEFTS19SVU5fSUQQByrsAQoOQVJSdW5TZWxlY3Rpb24SIAocQVJfUlVOX1NFTEVDVElPTl9VTlNQRUNJRklFRBAAEiMKH0FSX1JVTl9TRUxFQ1RJT05fRklSU1RfV09SS0FCTEUQARIlCiFBUl9SVU5fU0VMRUNUSU9OX0NVUlJFTlRfQVNTSUdORUQQAhIiCh5BUl9SVU5fU0VMRUNUSU9OX05FWFRfRVhQRUNURUQQAxIjCh9BUl9SVU5fU0VMRUNUSU9OX0xBU1RfQ09NUExFVEVEEAQSIwofQVJfUlVOX1NFTEVDVElPTl9GSVJTVF9JTl9FUlJPUhAFQooBCgljb20uYXIudjFCDklucHV0U2xvdFByb3RvUAFaL2dpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9hci92MTthcnYxogIDQVhYqgIOTWVzc2FnZXMuQVIuVjHKAgVBclxWMeICEUFyXFYxXEdQQk1ldGFkYXRh6gIGQXI6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_validation_v1_predefined_string_rules]);
15
+ fileDesc("ChZhci92MS9pbnB1dF9zbG90LnByb3RvEgVhci52MSJ5Cg9BUkFjdG9yU2VsZWN0b3ISFgoOY3VycmVudF93b3JrZXIYASABKAgSIwoQcmVzb3VyY2Vfc2xvdF9pZBgCIAEoCUIJukgGcgT46zABOim6SCYiJAoOY3VycmVudF93b3JrZXIKEHJlc291cmNlX3Nsb3RfaWQQASJ8ChRBUlJ1bkNvbnRleHRTZWxlY3RvchI1CglzZWxlY3Rpb24YASABKA4yFS5hci52MS5BUlJ1blNlbGVjdGlvbkILukgIyAEBggECEAESLQoFYWN0b3IYAiABKAsyFi5hci52MS5BUkFjdG9yU2VsZWN0b3JCBrpIA8gBASK4CAoSQVJJbnB1dFNsb3RNZXNzYWdlEhUKAmlkGAEgASgJQgm6SAZyBPjrMAESHwoJY29uZmlnX2lkGAIgASgJQgy6SAnIAQFyBJDxBAESFwoEbmFtZRgDIAEoCUIJukgGcgSA8QQBEgwKBGljb24YBCABKAkSEwoLZGVzY3JpcHRpb24YBSABKAkSKwoVZ2VuZXJhdGVkX3Byb3BlcnR5X2lkGAcgASgJQgy6SAnIAQFyBJjxBAESOgoNcmVzb3VyY2VfdHlwZRgIIAEoDjIZLmFyLnYxLkFSUmVzb3VyY2VTbG90VHlwZUIIukgFggECEAESOAoMY29udGV4dF90eXBlGAkgASgOMhguYXIudjEuQVJDb250ZXh0U2xvdFR5cGVCCLpIBYIBAhABEjEKDHJ1bl9zZWxlY3RvchgKIAEoCzIbLmFyLnYxLkFSUnVuQ29udGV4dFNlbGVjdG9yOtcFukjTBRqdAgorYXJfaW5wdXRfc2xvdC5lcnJvcl9zZWxlY3Rpb25fcmVxdWlyZXNfdGFzaxIsRklSU1RfSU5fRVJST1IgaXMgb25seSB2YWxpZCBmb3IgVEFTS19SVU5fSUQavwEhaGFzKHRoaXMucnVuX3NlbGVjdG9yKSB8fCB0aGlzLnJ1bl9zZWxlY3Rvci5zZWxlY3Rpb24gIT0gYXIudjEuQVJSdW5TZWxlY3Rpb24uQVJfUlVOX1NFTEVDVElPTl9GSVJTVF9JTl9FUlJPUiB8fCB0aGlzLmNvbnRleHRfdHlwZSA9PSBhci52MS5BUkNvbnRleHRTbG90VHlwZS5BUl9DT05URVhUX1NMT1RfVFlQRV9UQVNLX1JVTl9JRBqPAwovYXJfaW5wdXRfc2xvdC5ydW5fc2VsZWN0b3JfbWF0Y2hlc19jb250ZXh0X3R5cGUSR3J1bl9zZWxlY3RvciBpcyByZXF1aXJlZCBmb3IgcnVuIGNvbnRleHQgc2xvdHMgYW5kIHByb2hpYml0ZWQgb3RoZXJ3aXNlGpICKHRoaXMuY29udGV4dF90eXBlID09IGFyLnYxLkFSQ29udGV4dFNsb3RUeXBlLkFSX0NPTlRFWFRfU0xPVF9UWVBFX1BST0NFU1NfUlVOX0lEIHx8IHRoaXMuY29udGV4dF90eXBlID09IGFyLnYxLkFSQ29udGV4dFNsb3RUeXBlLkFSX0NPTlRFWFRfU0xPVF9UWVBFX1NFUVVFTkNFX1JVTl9JRCB8fCB0aGlzLmNvbnRleHRfdHlwZSA9PSBhci52MS5BUkNvbnRleHRTbG90VHlwZS5BUl9DT05URVhUX1NMT1RfVFlQRV9UQVNLX1JVTl9JRCkgPT0gaGFzKHRoaXMucnVuX3NlbGVjdG9yKSIfCg1yZXNvdXJjZV90eXBlCgxjb250ZXh0X3R5cGUQASI/ChNBUklucHV0U2xvdE1lc3NhZ2VzEigKBXNsb3RzGAEgAygLMhkuYXIudjEuQVJJbnB1dFNsb3RNZXNzYWdlIvcHChVBUklucHV0U2xvdEFkZE1lc3NhZ2USHwoJY29uZmlnX2lkGAEgASgJQgy6SAnIAQFyBJDxBAESFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSOgoNcmVzb3VyY2VfdHlwZRgIIAEoDjIZLmFyLnYxLkFSUmVzb3VyY2VTbG90VHlwZUIIukgFggECEAESOAoMY29udGV4dF90eXBlGAkgASgOMhguYXIudjEuQVJDb250ZXh0U2xvdFR5cGVCCLpIBYIBAhABEjEKDHJ1bl9zZWxlY3RvchgKIAEoCzIbLmFyLnYxLkFSUnVuQ29udGV4dFNlbGVjdG9yOtcFukjTBRqdAgorYXJfaW5wdXRfc2xvdC5lcnJvcl9zZWxlY3Rpb25fcmVxdWlyZXNfdGFzaxIsRklSU1RfSU5fRVJST1IgaXMgb25seSB2YWxpZCBmb3IgVEFTS19SVU5fSUQavwEhaGFzKHRoaXMucnVuX3NlbGVjdG9yKSB8fCB0aGlzLnJ1bl9zZWxlY3Rvci5zZWxlY3Rpb24gIT0gYXIudjEuQVJSdW5TZWxlY3Rpb24uQVJfUlVOX1NFTEVDVElPTl9GSVJTVF9JTl9FUlJPUiB8fCB0aGlzLmNvbnRleHRfdHlwZSA9PSBhci52MS5BUkNvbnRleHRTbG90VHlwZS5BUl9DT05URVhUX1NMT1RfVFlQRV9UQVNLX1JVTl9JRBqPAwovYXJfaW5wdXRfc2xvdC5ydW5fc2VsZWN0b3JfbWF0Y2hlc19jb250ZXh0X3R5cGUSR3J1bl9zZWxlY3RvciBpcyByZXF1aXJlZCBmb3IgcnVuIGNvbnRleHQgc2xvdHMgYW5kIHByb2hpYml0ZWQgb3RoZXJ3aXNlGpICKHRoaXMuY29udGV4dF90eXBlID09IGFyLnYxLkFSQ29udGV4dFNsb3RUeXBlLkFSX0NPTlRFWFRfU0xPVF9UWVBFX1BST0NFU1NfUlVOX0lEIHx8IHRoaXMuY29udGV4dF90eXBlID09IGFyLnYxLkFSQ29udGV4dFNsb3RUeXBlLkFSX0NPTlRFWFRfU0xPVF9UWVBFX1NFUVVFTkNFX1JVTl9JRCB8fCB0aGlzLmNvbnRleHRfdHlwZSA9PSBhci52MS5BUkNvbnRleHRTbG90VHlwZS5BUl9DT05URVhUX1NMT1RfVFlQRV9UQVNLX1JVTl9JRCkgPT0gaGFzKHRoaXMucnVuX3NlbGVjdG9yKSIfCg1yZXNvdXJjZV90eXBlCgxjb250ZXh0X3R5cGUQASKgAQoYQVJJbnB1dFNsb3RVcGRhdGVNZXNzYWdlEhUKAmlkGAEgASgJQgm6SAZyBPjrMAESFwoEbmFtZRgCIAEoCUIJukgGcgSA8QQBEgwKBGljb24YAyABKAkSEwoLZGVzY3JpcHRpb24YBCABKAkSMQoMcnVuX3NlbGVjdG9yGAYgASgLMhsuYXIudjEuQVJSdW5Db250ZXh0U2VsZWN0b3IiNAoYQVJJbnB1dFNsb3REZWxldGVNZXNzYWdlEhgKAmlkGAEgASgJQgy6SAnIAQFyBPjrMAEqfQoSQVJSZXNvdXJjZVNsb3RUeXBlEiUKIUFSX1JFU09VUkNFX1NMT1RfVFlQRV9VTlNQRUNJRklFRBAAEh8KG0FSX1JFU09VUkNFX1NMT1RfVFlQRV9ST0JPVBABEh8KG0FSX1JFU09VUkNFX1NMT1RfVFlQRV9BU1NFVBACKr8CChFBUkNvbnRleHRTbG90VHlwZRIkCiBBUl9DT05URVhUX1NMT1RfVFlQRV9VTlNQRUNJRklFRBAAEiAKHEFSX0NPTlRFWFRfU0xPVF9UWVBFX0xJTkVfSUQQARIgChxBUl9DT05URVhUX1NMT1RfVFlQRV9DRUxMX0lEEAISIwofQVJfQ09OVEVYVF9TTE9UX1RZUEVfU1RBVElPTl9JRBADEiIKHkFSX0NPTlRFWFRfU0xPVF9UWVBFX1dPUktFUl9JRBAEEicKI0FSX0NPTlRFWFRfU0xPVF9UWVBFX1BST0NFU1NfUlVOX0lEEAUSKAokQVJfQ09OVEVYVF9TTE9UX1RZUEVfU0VRVUVOQ0VfUlVOX0lEEAYSJAogQVJfQ09OVEVYVF9TTE9UX1RZUEVfVEFTS19SVU5fSUQQByrsAQoOQVJSdW5TZWxlY3Rpb24SIAocQVJfUlVOX1NFTEVDVElPTl9VTlNQRUNJRklFRBAAEiMKH0FSX1JVTl9TRUxFQ1RJT05fRklSU1RfV09SS0FCTEUQARIlCiFBUl9SVU5fU0VMRUNUSU9OX0NVUlJFTlRfQVNTSUdORUQQAhIiCh5BUl9SVU5fU0VMRUNUSU9OX05FWFRfRVhQRUNURUQQAxIjCh9BUl9SVU5fU0VMRUNUSU9OX0xBU1RfQ09NUExFVEVEEAQSIwofQVJfUlVOX1NFTEVDVElPTl9GSVJTVF9JTl9FUlJPUhAFQooBCgljb20uYXIudjFCDklucHV0U2xvdFByb3RvUAFaL2dpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9hci92MTthcnYxogIDQVhYqgIOTWVzc2FnZXMuQVIuVjHKAgVBclxWMeICEUFyXFYxXEdQQk1ldGFkYXRh6gIGQXI6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_validation_v1_predefined_string_rules]);
16
16
 
17
17
  /**
18
18
  * ARActorSelector identifies the actor whose tasks are considered by a run
@@ -58,9 +58,8 @@ export const ARActorSelectorSchema: GenMessage<ARActorSelector> = /*@__PURE__*/
58
58
  * FIRST_IN_ERROR is intentionally limited to TASK_RUN_ID and is not projected
59
59
  * to a parent sequence or process.
60
60
  *
61
- * If no task satisfies the policy, resolution produces no value. An optional
62
- * input slot receives an empty generated property value; a required input slot
63
- * makes materialization fail.
61
+ * If no task satisfies the policy, resolution produces no value and the
62
+ * context slot's generated property remains empty.
64
63
  *
65
64
  * @generated from message ar.v1.ARRunContextSelector
66
65
  */
@@ -95,6 +94,10 @@ export const ARRunContextSelectorSchema: GenMessage<ARRunContextSelector> = /*@_
95
94
  * slot identity and value kind. Users should not author or edit the generated
96
95
  * property directly.
97
96
  *
97
+ * Resource slots are mandatory and materialization fails if no compatible
98
+ * resource binding can satisfy them. Context slots are optional and leave their
99
+ * generated property empty when the requested context cannot be resolved.
100
+ *
98
101
  * @generated from message ar.v1.ARInputSlotMessage
99
102
  */
100
103
  export type ARInputSlotMessage = Message<"ar.v1.ARInputSlotMessage"> & {
@@ -127,13 +130,6 @@ export type ARInputSlotMessage = Message<"ar.v1.ARInputSlotMessage"> & {
127
130
  */
128
131
  description: string;
129
132
 
130
- /**
131
- * If true, bindings/resolution should fail when this slot cannot be satisfied.
132
- *
133
- * @generated from field: bool required = 6;
134
- */
135
- required: boolean;
136
-
137
133
  /**
138
134
  * Server-managed property that should receive the resolved slot value at runtime.
139
135
  *
@@ -195,6 +191,7 @@ export const ARInputSlotMessagesSchema: GenMessage<ARInputSlotMessages> = /*@__P
195
191
  * The source kind determines the generated property's value kind. If the source
196
192
  * kind must change later, prefer delete + recreate. A run selector is a mutable
197
193
  * resolution policy and may be changed with ARInputSlotUpdateMessage.
194
+ * Resource slots are always required; context slots are always optional.
198
195
  *
199
196
  * @generated from message ar.v1.ARInputSlotAddMessage
200
197
  */
@@ -221,13 +218,6 @@ export type ARInputSlotAddMessage = Message<"ar.v1.ARInputSlotAddMessage"> & {
221
218
  */
222
219
  description: string;
223
220
 
224
- /**
225
- * If true, future bindings/resolution must satisfy the slot.
226
- *
227
- * @generated from field: bool required = 5;
228
- */
229
- required: boolean;
230
-
231
221
  /**
232
222
  * Use for slots that should be bound to a resource instance.
233
223
  *
@@ -290,13 +280,6 @@ export type ARInputSlotUpdateMessage = Message<"ar.v1.ARInputSlotUpdateMessage">
290
280
  */
291
281
  description: string;
292
282
 
293
- /**
294
- * Optional replacement for the slot's required flag.
295
- *
296
- * @generated from field: optional bool required = 5;
297
- */
298
- required?: boolean;
299
-
300
283
  /**
301
284
  * Optional replacement policy; valid only for an existing run-context slot. The backend must load the existing slot and verify that the selector matches its immutable context_type.
302
285
  *
@@ -20,7 +20,7 @@ import type { Message } from "@bufbuild/protobuf";
20
20
  * Describes the file common/v1/property.proto.
21
21
  */
22
22
  export const file_common_v1_property: GenFile = /*@__PURE__*/
23
- fileDesc("Chhjb21tb24vdjEvcHJvcGVydHkucHJvdG8SCWNvbW1vbi52MSLeCAoSUHJvcGVydHlEZWZpbml0aW9uEhUKAmlkGAEgASgJQgm6SAZyBJjxBAESDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEjIKBHR5cGUYBSABKA4yFy5jb21tb24udjEuUHJvcGVydHlUeXBlQgu6SAjIAQGCAQIQARIRCglwYXJlbnRfaWQYBiABKAkSHAoUYXV0aG9yaW5nX2NvbnRleHRfaWQYByABKAkSMQoFc2NvcGUYCCABKA4yGC5jb21tb24udjEuUHJvcGVydHlTY29wZUIIukgFggECEAESTAobbWluaW11bV9yZXF1aXJlZF9wZXJtaXNzaW9uGAkgASgOMh0uY29tbW9uLnYxLlByb3BlcnR5UGVybWlzc2lvbkIIukgFggECEAESQQoPYWxsb3dlZF9vcmlnaW5zGAogAygOMhkuY29tbW9uLnYxLlByb3BlcnR5T3JpZ2luQg26SAqSAQciBYIBAhABEjEKBWdyb3VwGAsgASgOMhguY29tbW9uLnYxLlByb3BlcnR5R3JvdXBCCLpIBYIBAhABEhAKCG9yZGVyaW5nGAwgASgFEhIKCmhpZGVfZ3JvdXAYDSABKAgSEAoIYWR2YW5jZWQYDiABKAgSHAoUYWxsb3dfdG9fYmVfbWlycm9yZWQYDyABKAgSQAoNc2VtYW50aWNfcm9sZRgQIAEoDjIfLmNvbW1vbi52MS5Qcm9wZXJ0eVNlbWFudGljUm9sZUIIukgFggECEAESLgoNbnVtYmVyX2V4dHJhcxgpIAEoCzIXLmNvbW1vbi52MS5OdW1iZXJFeHRyYXMSKgoLZW51bV9leHRyYXMYKiABKAsyFS5jb21tb24udjEuRW51bUV4dHJhcxIwCg52ZWN0b3IzX2V4dHJhcxgrIAEoCzIYLmNvbW1vbi52MS5WZWN0b3IzRXh0cmFzEiwKDGNvbG9yX2V4dHJhcxgsIAEoCzIWLmNvbW1vbi52MS5Db2xvckV4dHJhcxIqCgtwb3NlX2V4dHJhcxgtIAEoCzIVLmNvbW1vbi52MS5Qb3NlRXh0cmFzEi4KDWFuY2hvcl9leHRyYXMYLiABKAsyFy5jb21tb24udjEuQW5jaG9yRXh0cmFzOvMBukjvARqUAQoZZW51bV9yZXF1aXJlc19lbnVtX2V4dHJhcxI3ZW51bV9leHRyYXMgbXVzdCBiZSBzZXQgd2hlbiB0eXBlIGlzIEVOVU0gb3IgRU5VTV9NVUxUSRo+ISh0aGlzLnR5cGUgPT0gMTEgfHwgdGhpcy50eXBlID09IDEyKSB8fCBoYXModGhpcy5lbnVtX2V4dHJhcykiVgoNbnVtYmVyX2V4dHJhcwoLZW51bV9leHRyYXMKDnZlY3RvcjNfZXh0cmFzCgxjb2xvcl9leHRyYXMKC3Bvc2VfZXh0cmFzCg1hbmNob3JfZXh0cmFzIskDChBQcm9wZXJ0eUluc3RhbmNlEhUKAmlkGAEgASgJQgm6SAZyBJjzBAESKQoWcHJvcGVydHlfZGVmaW5pdGlvbl9pZBgCIAEoCUIJukgGcgSY8QQBEicKBXNjb3BlGAMgASgOMhguY29tbW9uLnYxLlByb3BlcnR5U2NvcGUSEAoIc2NvcGVfaWQYBCABKAkSMwoGb3JpZ2luGAUgASgOMhkuY29tbW9uLnYxLlByb3BlcnR5T3JpZ2luQgi6SAWCAQIQARIwCh1taXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZBgGIAEoCUIJukgGcgSY8QQBEi8KBXZhbHVlGAcgASgLMhguY29tbW9uLnYxLlByb3BlcnR5VmFsdWVCBrpIA8gBATqfAbpImwEamAEKIm1pcnJvcl9yZXF1aXJlc19taXJyb3JfcHJvcGVydHlfaWQSNG1pcnJvcl9wcm9wZXJ0eV9pZCBtdXN0IGJlIHNldCB3aGVuIG9yaWdpbiBpcyBNSVJST1IaPHRoaXMub3JpZ2luICE9IDIgfHwgdGhpcy5taXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZCAhPSAnJyK9DQoNUHJvcGVydHlWYWx1ZRIyCgR0eXBlGAEgASgOMhcuY29tbW9uLnYxLlByb3BlcnR5VHlwZUILukgIyAEBggECEAESFwoKYm9vbF92YWx1ZRgVIAEoCEgAiAEBEhYKCWludF92YWx1ZRgWIAEoEkgBiAEBEhgKC2Zsb2F0X3ZhbHVlGBcgASgCSAKIAQESGQoMZG91YmxlX3ZhbHVlGBggASgBSAOIAQESGQoMc3RyaW5nX3ZhbHVlGBkgASgJSASIAQESKwoNdmVjdG9yM192YWx1ZRgaIAEoCzIULmdlb21ldHJ5LnYxLlZlY3RvcjMSLgoKcG9zZV92YWx1ZRgbIAEoCzIaLmdlb21ldHJ5LnYxLkxvY2FsaXplZFBvc2USKQoMYW5jaG9yX3ZhbHVlGBwgASgLMhMuZ2VvbWV0cnkudjEuQW5jaG9yEiUKC2NvbG9yX3ZhbHVlGB0gASgLMhAuY29tbW9uLnYxLkNvbG9yEhsKDnJvYm90X2lkX3ZhbHVlGB4gASgJSAWIAQESIAoKZW51bV92YWx1ZRgfIAEoCUIHukgEcgIQAUgGiAEBEigKEGVudW1fbXVsdGlfdmFsdWUYICADKAlCDrpIC5IBCAgBIgRyAhABEhcKCmljb25fdmFsdWUYISABKAlIB4gBARIbCg5hc3NldF9pZF92YWx1ZRgiIAEoCUgIiAEBEhwKD3dvcmtlcl9pZF92YWx1ZRgjIAEoCUgJiAEBOuMHukjfBxqGBgogcHJvcGVydHlfdHlwZV9tYXRjaGVzX3ZhbHVlX2tpbmQSJ3R5cGUgbXVzdCBtYXRjaCB0aGUga2luZCBvZiB2YWx1ZSBmaWVsZBq4BSgodGhpcy50eXBlID09IDEgJiYgaGFzKHRoaXMuYm9vbF92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gMiAmJiBoYXModGhpcy5pbnRfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDMgJiYgaGFzKHRoaXMuZmxvYXRfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDQgJiYgaGFzKHRoaXMuZG91YmxlX3ZhbHVlKSkgfHwgKHRoaXMudHlwZSA9PSA1ICYmIGhhcyh0aGlzLnN0cmluZ192YWx1ZSkpIHx8KHRoaXMudHlwZSA9PSA2ICYmIGhhcyh0aGlzLnZlY3RvcjNfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDcgJiYgaGFzKHRoaXMucG9zZV92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gOCAmJiBoYXModGhpcy5hbmNob3JfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDkgJiYgaGFzKHRoaXMuY29sb3JfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDEwICYmIGhhcyh0aGlzLnJvYm90X2lkX3ZhbHVlKSkgfHwgKHRoaXMudHlwZSA9PSAxMSAmJiBoYXModGhpcy5lbnVtX3ZhbHVlKSkgfHwodGhpcy50eXBlID09IDEyICYmIHNpemUodGhpcy5lbnVtX211bHRpX3ZhbHVlKSA+IDApIHx8ICh0aGlzLnR5cGUgPT0gMTMgJiYgaGFzKHRoaXMuaWNvbl92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gMTQgJiYgaGFzKHRoaXMuYXNzZXRfaWRfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDE1ICYmIGhhcyh0aGlzLndvcmtlcl9pZF92YWx1ZSkpKSLTAQoKYm9vbF92YWx1ZQoJaW50X3ZhbHVlCgtmbG9hdF92YWx1ZQoMZG91YmxlX3ZhbHVlCgxzdHJpbmdfdmFsdWUKDXZlY3RvcjNfdmFsdWUKCnBvc2VfdmFsdWUKDGFuY2hvcl92YWx1ZQoLY29sb3JfdmFsdWUKDnJvYm90X2lkX3ZhbHVlCgplbnVtX3ZhbHVlChBlbnVtX211bHRpX3ZhbHVlCgppY29uX3ZhbHVlCg5hc3NldF9pZF92YWx1ZQoPd29ya2VyX2lkX3ZhbHVlEAFCDQoLX2Jvb2xfdmFsdWVCDAoKX2ludF92YWx1ZUIOCgxfZmxvYXRfdmFsdWVCDwoNX2RvdWJsZV92YWx1ZUIPCg1fc3RyaW5nX3ZhbHVlQhEKD19yb2JvdF9pZF92YWx1ZUINCgtfZW51bV92YWx1ZUINCgtfaWNvbl92YWx1ZUIRCg9fYXNzZXRfaWRfdmFsdWVCEgoQX3dvcmtlcl9pZF92YWx1ZSLnAwoWUHJvcGVydHlJbnN0YW5jZVVwZGF0ZRInChRwcm9wZXJ0eV9pbnN0YW5jZV9pZBgBIAEoCUIJukgGcgSY8wQBEjMKBm9yaWdpbhgCIAEoDjIZLmNvbW1vbi52MS5Qcm9wZXJ0eU9yaWdpbkIIukgFggECEAESMAodbWlycm9yX3Byb3BlcnR5X2RlZmluaXRpb25faWQYAyABKAlCCbpIBnIEmPEEARIvCgV2YWx1ZRgEIAEoCzIYLmNvbW1vbi52MS5Qcm9wZXJ0eVZhbHVlQga6SAPIAQE6iwK6SIcCGmoKG2ZpeGVkX29yaWdpbl9yZXF1aXJlc192YWx1ZRImdmFsdWUgbXVzdCBiZSBzZXQgd2hlbiBvcmlnaW4gaXMgRklYRUQaI3RoaXMub3JpZ2luICE9IDEgfHwgaGFzKHRoaXMudmFsdWUpGpgBCiJtaXJyb3JfcmVxdWlyZXNfbWlycm9yX3Byb3BlcnR5X2lkEjRtaXJyb3JfcHJvcGVydHlfaWQgbXVzdCBiZSBzZXQgd2hlbiBvcmlnaW4gaXMgTUlSUk9SGjx0aGlzLm9yaWdpbiAhPSAyIHx8IHRoaXMubWlycm9yX3Byb3BlcnR5X2RlZmluaXRpb25faWQgIT0gJyciQwoTUHJvcGVydHlEZWZpbml0aW9ucxIsCgVpdGVtcxgBIAMoCzIdLmNvbW1vbi52MS5Qcm9wZXJ0eURlZmluaXRpb24iPwoRUHJvcGVydHlJbnN0YW5jZXMSKgoFaXRlbXMYASADKAsyGy5jb21tb24udjEuUHJvcGVydHlJbnN0YW5jZSLGAwoMTnVtYmVyRXh0cmFzEhAKA21pbhgBIAEoAUgAiAEBEhAKA21heBgCIAEoAUgBiAEBEiEKBHN0ZXAYAyABKAFCDrpICxIJIQAAAAAAAAAASAKIAQESFQoEdW5pdBgEIAEoCUIHukgEcgIYAxIaCglwcmVjaXNpb24YBSABKA1CB7pIBCoCKAA6ogK6SJ4CGpsCChhudW1iZXJfZXh0cmFzX2NvbnNpc3RlbnQSVElmIGFueSBvZiBtaW4vbWF4L3N0ZXAgaXMgc2V0LCBhbGwgbXVzdCBiZSBzZXQ7IGFuZCBtaW4gPCBtYXg7IGFuZCBzdGVwIDw9IChtYXgtbWluKRqoASghaGFzKHRoaXMubWluKSAmJiAhaGFzKHRoaXMubWF4KSAmJiAhaGFzKHRoaXMuc3RlcCkpIHx8IChoYXModGhpcy5taW4pICYmIGhhcyh0aGlzLm1heCkgJiYgaGFzKHRoaXMuc3RlcCkgJiYgdGhpcy5taW4gPCB0aGlzLm1heCAmJiB0aGlzLnN0ZXAgPD0gKHRoaXMubWF4IC0gdGhpcy5taW4pKUIGCgRfbWluQgYKBF9tYXhCBwoFX3N0ZXAiawoKRW51bU9wdGlvbhIWCgV2YWx1ZRgBIAEoCUIHukgEcgIQARIWCgVsYWJlbBgCIAEoCUIHukgEcgIQARIMCgRpY29uGAMgASgJEg0KBWdyb3VwGAQgASgJEhAKCGRpc2FibGVkGAUgASgIIqUBCgpFbnVtRXh0cmFzEhMKC3BsYWNlaG9sZGVyGAEgASgJEg4KBmZpbHRlchgCIAEoCBIPCgdncm91cGVkGAMgASgIEhIKCnNob3dfaWNvbnMYBCABKAgSGwoTbWF4X3NlbGVjdGVkX2xhYmVscxgFIAEoDRIwCgdvcHRpb25zGAYgAygLMhUuY29tbW9uLnYxLkVudW1PcHRpb25CCLpIBZIBAggBIvkDCg1WZWN0b3IzRXh0cmFzEhAKA21pbhgBIAEoAUgAiAEBEhAKA21heBgCIAEoAUgBiAEBEiEKBHN0ZXAYAyABKAFCDrpICxIJIQAAAAAAAAAASAKIAQESGAoHbGFiZWxfeBgEIAEoCUIHukgEcgIYBRIYCgdsYWJlbF95GAUgASgJQge6SARyAhgFEhgKB2xhYmVsX3oYBiABKAlCB7pIBHICGAUSFQoEdW5pdBgHIAEoCUIHukgEcgIYAzqiArpIngIamwIKGG51bWJlcl9leHRyYXNfY29uc2lzdGVudBJUSWYgYW55IG9mIG1pbi9tYXgvc3RlcCBpcyBzZXQsIGFsbCBtdXN0IGJlIHNldDsgYW5kIG1pbiA8IG1heDsgYW5kIHN0ZXAgPD0gKG1heC1taW4pGqgBKCFoYXModGhpcy5taW4pICYmICFoYXModGhpcy5tYXgpICYmICFoYXModGhpcy5zdGVwKSkgfHwgKGhhcyh0aGlzLm1pbikgJiYgaGFzKHRoaXMubWF4KSAmJiBoYXModGhpcy5zdGVwKSAmJiB0aGlzLm1pbiA8IHRoaXMubWF4ICYmIHRoaXMuc3RlcCA8PSAodGhpcy5tYXggLSB0aGlzLm1pbikpQgYKBF9taW5CBgoEX21heEIHCgVfc3RlcCJOCgtDb2xvckV4dHJhcxIcCgRzdGVwGAEgASgBQg66SAsSCSkAAAAAAAAAABIhCgdkZWZhdWx0GAIgASgLMhAuY29tbW9uLnYxLkNvbG9yIiQKDEFuY2hvckV4dHJhcxIUCgxvbmx5X21hcmtlcnMYASABKAgiPAoKUG9zZUV4dHJhcxIXCg9hbmNob3JfZWRpdGFibGUYASABKAgSFQoNcG9zZV9lZGl0YWJsZRgCIAEoCCKOCgoVQ3JlYXRlUHJvcGVydHlNZXNzYWdlEhEKCXBhcmVudF9pZBgBIAEoCRIcChRhdXRob3JpbmdfY29udGV4dF9pZBgCIAEoCRIMCgRuYW1lGAMgASgJEgwKBGljb24YBCABKAkSEwoLZGVzY3JpcHRpb24YBSABKAkSMgoEdHlwZRgGIAEoDjIXLmNvbW1vbi52MS5Qcm9wZXJ0eVR5cGVCC7pICMgBAYIBAhABEjQKBXNjb3BlGAcgASgOMhguY29tbW9uLnYxLlByb3BlcnR5U2NvcGVCC7pICMgBAYIBAhABEkIKG21pbmltdW1fcmVxdWlyZWRfcGVybWlzc2lvbhgIIAEoDjIdLmNvbW1vbi52MS5Qcm9wZXJ0eVBlcm1pc3Npb24SMgoPYWxsb3dlZF9vcmlnaW5zGAkgAygOMhkuY29tbW9uLnYxLlByb3BlcnR5T3JpZ2luEicKBWdyb3VwGAogASgOMhguY29tbW9uLnYxLlByb3BlcnR5R3JvdXASEAoIb3JkZXJpbmcYCyABKAUSEgoKaGlkZV9ncm91cBgMIAEoCBIQCghhZHZhbmNlZBgNIAEoCBIcChRhbGxvd190b19iZV9taXJyb3JlZBgOIAEoCBJACg1zZW1hbnRpY19yb2xlGBAgASgOMh8uY29tbW9uLnYxLlByb3BlcnR5U2VtYW50aWNSb2xlQgi6SAWCAQIQARI2CgZvcmlnaW4YFCABKA4yGS5jb21tb24udjEuUHJvcGVydHlPcmlnaW5CC7pICMgBAYIBAhABEhAKCHNjb3BlX2lkGBUgASgJEjAKHW1pcnJvcl9wcm9wZXJ0eV9kZWZpbml0aW9uX2lkGBYgASgJQgm6SAZyBJjxBAESNwoNaW5pdGlhbF92YWx1ZRgXIAEoCzIYLmNvbW1vbi52MS5Qcm9wZXJ0eVZhbHVlQga6SAPIAQESMAoNbnVtYmVyX2V4dHJhcxgpIAEoCzIXLmNvbW1vbi52MS5OdW1iZXJFeHRyYXNIABIsCgtlbnVtX2V4dHJhcxgqIAEoCzIVLmNvbW1vbi52MS5FbnVtRXh0cmFzSAASMgoOdmVjdG9yM19leHRyYXMYKyABKAsyGC5jb21tb24udjEuVmVjdG9yM0V4dHJhc0gAEi4KDGNvbG9yX2V4dHJhcxgsIAEoCzIWLmNvbW1vbi52MS5Db2xvckV4dHJhc0gAEiwKC3Bvc2VfZXh0cmFzGC0gASgLMhUuY29tbW9uLnYxLlBvc2VFeHRyYXNIABIwCg1hbmNob3JfZXh0cmFzGC4gASgLMhcuY29tbW9uLnYxLkFuY2hvckV4dHJhc0gAOowCukiIAhpsCiBkZWZpbml0aW9uX2FuZF92YWx1ZV90eXBlc19tYXRjaBIidHlwZSBtdXN0IG1hdGNoIGluaXRpYWxfdmFsdWUudHlwZRokdGhpcy50eXBlID09IHRoaXMuaW5pdGlhbF92YWx1ZS50eXBlGpcBChptaXJyb3JfcmVxdWlyZXNfZGVmaW5pdGlvbhI7bWlycm9yX3Byb3BlcnR5X2RlZmluaXRpb25faWQgaXMgcmVxdWlyZWQgZm9yIE1JUlJPUiBvcmlnaW4aPHRoaXMub3JpZ2luICE9IDIgfHwgdGhpcy5taXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZCAhPSAnJ0IICgZleHRyYXMqqQMKDFByb3BlcnR5VHlwZRIdChlQUk9QRVJUWV9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSUFJPUEVSVFlfVFlQRV9CT09MEAESFQoRUFJPUEVSVFlfVFlQRV9JTlQQAhIXChNQUk9QRVJUWV9UWVBFX0ZMT0FUEAMSGAoUUFJPUEVSVFlfVFlQRV9ET1VCTEUQBBIYChRQUk9QRVJUWV9UWVBFX1NUUklORxAFEhkKFVBST1BFUlRZX1RZUEVfVkVDVE9SMxAGEhYKElBST1BFUlRZX1RZUEVfUE9TRRAHEhgKFFBST1BFUlRZX1RZUEVfQU5DSE9SEAgSFwoTUFJPUEVSVFlfVFlQRV9DT0xPUhAJEhcKE1BST1BFUlRZX1RZUEVfUk9CT1QQChIWChJQUk9QRVJUWV9UWVBFX0VOVU0QCxIcChhQUk9QRVJUWV9UWVBFX0VOVU1fTVVMVEkQDBIWChJQUk9QRVJUWV9UWVBFX0lDT04QDRIXChNQUk9QRVJUWV9UWVBFX0FTU0VUEA4SGAoUUFJPUEVSVFlfVFlQRV9XT1JLRVIQDypoCg5Qcm9wZXJ0eU9yaWdpbhIfChtQUk9QRVJUWV9PUklHSU5fVU5TUEVDSUZJRUQQABIZChVQUk9QRVJUWV9PUklHSU5fRklYRUQQARIaChZQUk9QRVJUWV9PUklHSU5fTUlSUk9SEAIq3AIKDVByb3BlcnR5R3JvdXASHgoaUFJPUEVSVFlfR1JPVVBfVU5TUEVDSUZJRUQQABIZChVQUk9QRVJUWV9HUk9VUF9PVVRQVVQQARIfChtQUk9QRVJUWV9HUk9VUF9OT05fRURJVEFCTEUQAhIaChZQUk9QRVJUWV9HUk9VUF9TVFlMSU5HEAMSGwoXUFJPUEVSVFlfR1JPVVBfTE9DQVRJT04QBBIXChNQUk9QRVJUWV9HUk9VUF9JQ09OEAUSIAocUFJPUEVSVFlfR1JPVVBfQ09ORklHVVJBVElPThAGEhkKFVBST1BFUlRZX0dST1VQX0hJRERFThAHEh0KGVBST1BFUlRZX0dST1VQX0lOUFVUX1NMT1QQCBIcChhQUk9QRVJUWV9HUk9VUF9BTklNQVRJT04QCRIjCh9QUk9QRVJUWV9HUk9VUF9UQVJHRVRfSU5ESUNBVE9SEAoqtgEKElByb3BlcnR5UGVybWlzc2lvbhIjCh9QUk9QRVJUWV9QRVJNSVNTSU9OX1VOU1BFQ0lGSUVEEAASHQoZUFJPUEVSVFlfUEVSTUlTU0lPTl9CQVNJQxAKEiAKHFBST1BFUlRZX1BFUk1JU1NJT05fQ09TTUVUSUMQFBIcChhQUk9QRVJUWV9QRVJNSVNTSU9OX0ZVTEwQHhIcChhQUk9QRVJUWV9QRVJNSVNTSU9OX05PTkUQKCrpDwoUUHJvcGVydHlTZW1hbnRpY1JvbGUSJgoiUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9VTlNQRUNJRklFRBAAEjEKLVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUEFORUxfQkFDS0dST1VORF9DT0xPUhABEisKJ1BST1BFUlRZX1NFTUFOVElDX1JPTEVfUEFORUxfVEVYVF9DT0xPUhACEi0KKVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUEFORUxfQk9SREVSX0NPTE9SEAMSKAokUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9QQU5FTF9PUEFDSVRZEAQSLgoqUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9QQU5FTF9DT1JORVJfUkFESVVTEAUSLQopUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9QUklNQVJZX1RFWFRfQ09MT1IQFBIvCitQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1NFQ09OREFSWV9URVhUX0NPTE9SEBUSJAogUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9URVhUX1NJWkUQFhIqCiZQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1RJVExFX1RFWFRfU0laRRAXEicKI1BST1BFUlRZX1NFTUFOVElDX1JPTEVfQUNDRU5UX0NPTE9SECgSKAokUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9TVUNDRVNTX0NPTE9SECkSKAokUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9XQVJOSU5HX0NPTE9SECoSJgoiUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9FUlJPUl9DT0xPUhArEikKJVBST1BFUlRZX1NFTUFOVElDX1JPTEVfRElTQUJMRURfQ09MT1IQLBItCilQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0NVUlJFTlRfVEFTS19DT0xPUhA8Ei4KKlBST1BFUlRZX1NFTUFOVElDX1JPTEVfVVBDT01JTkdfVEFTS19DT0xPUhA9Ei8KK1BST1BFUlRZX1NFTUFOVElDX1JPTEVfQ09NUExFVEVEX1RBU0tfQ09MT1IQPhItCilQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0JMT0NLRURfVEFTS19DT0xPUhA/Ei4KKlBST1BFUlRZX1NFTUFOVElDX1JPTEVfT1BUSU9OQUxfVEFTS19DT0xPUhBAEikKJVBST1BFUlRZX1NFTUFOVElDX1JPTEVfT1BFUkFUT1JfQ09MT1IQUBImCiJQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1JPQk9UX0NPTE9SEFESLAooUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9TSEFSRURfVEFTS19DT0xPUhBSEisKJ1BST1BFUlRZX1NFTUFOVElDX1JPTEVfU1VQRVJWSVNPUl9DT0xPUhBTEiUKIVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUEFSVF9DT0xPUhBkEiUKIVBST1BFUlRZX1NFTUFOVElDX1JPTEVfVE9PTF9DT0xPUhBlEiYKIlBST1BFUlRZX1NFTUFOVElDX1JPTEVfQVNTRVRfQ09MT1IQZhIqCiZQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0NPTlRBSU5FUl9DT0xPUhBnEi0KKVBST1BFUlRZX1NFTUFOVElDX1JPTEVfVEFSR0VUX0dIT1NUX0NPTE9SEHgSMQotUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9UQVJHRVRfSElHSExJR0hUX0NPTE9SEHkSJQohUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9QQVRIX0NPTE9SEHoSJQohUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9aT05FX0NPTE9SEHsSJwojUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9BTkNIT1JfQ09MT1IQfBIsCidQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1JPQk9UX1BBVEhfQ09MT1IQjAESMgotUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9ST0JPVF9TSUxIT1VFVFRFX0NPTE9SEI0BEi4KKVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUk9CT1RfSU5URU5UX0NPTE9SEI4BEjEKLFBST1BFUlRZX1NFTUFOVElDX1JPTEVfUk9CT1RfT0NDVVBBTkNZX0NPTE9SEI8BEikKJFBST1BFUlRZX1NFTUFOVElDX1JPTEVfU1VDQ0VTU19TT1VORBCgARIpCiRQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1dBUk5JTkdfU09VTkQQoQESJwoiUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9FUlJPUl9TT1VORBCiARItCihQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX05PVElGSUNBVElPTl9JQ09OEKMBEioKJVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUFVMU0VfRFVSQVRJT04QtAESKQokUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9GQURFX0RVUkFUSU9OELUBEisKJlBST1BFUlRZX1NFTUFOVElDX1JPTEVfQU5JTUFUSU9OX1NQRUVEELYBEi8KKlBST1BFUlRZX1NFTUFOVElDX1JPTEVfSElHSExJR0hUX1RISUNLTkVTUxC3ASpmCg1Qcm9wZXJ0eVNjb3BlEh4KGlBST1BFUlRZX1NDT1BFX1VOU1BFQ0lGSUVEEAASGQoVUFJPUEVSVFlfU0NPUEVfRU5USVRZEAESGgoWUFJPUEVSVFlfU0NPUEVfUlVOVElNRRACQqUBCg1jb20uY29tbW9uLnYxQg1Qcm9wZXJ0eVByb3RvUAFaN2dpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9jb21tb24vdjE7Y29tbW9udjGiAgNDWFiqAhJNZXNzYWdlcy5Db21tb24uVjHKAglDb21tb25cVjHiAhVDb21tb25cVjFcR1BCTWV0YWRhdGHqAgpDb21tb246OlYxYgZwcm90bzM", [file_buf_validate_validate, file_common_v1_color, file_geometry_v1_anchor, file_geometry_v1_pose, file_geometry_v1_vector3, file_validation_v1_predefined_string_rules]);
23
+ fileDesc("Chhjb21tb24vdjEvcHJvcGVydHkucHJvdG8SCWNvbW1vbi52MSKXCQoSUHJvcGVydHlEZWZpbml0aW9uEhUKAmlkGAEgASgJQgm6SAZyBJjxBAESNwoDa2V5GBEgASgJQiq6SCdyJRABGEAyH15bYS16XVthLXowLTldKig/Ol9bYS16MC05XSspKiQSDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEjIKBHR5cGUYBSABKA4yFy5jb21tb24udjEuUHJvcGVydHlUeXBlQgu6SAjIAQGCAQIQARIRCglwYXJlbnRfaWQYBiABKAkSHAoUYXV0aG9yaW5nX2NvbnRleHRfaWQYByABKAkSMQoFc2NvcGUYCCABKA4yGC5jb21tb24udjEuUHJvcGVydHlTY29wZUIIukgFggECEAESTAobbWluaW11bV9yZXF1aXJlZF9wZXJtaXNzaW9uGAkgASgOMh0uY29tbW9uLnYxLlByb3BlcnR5UGVybWlzc2lvbkIIukgFggECEAESQQoPYWxsb3dlZF9vcmlnaW5zGAogAygOMhkuY29tbW9uLnYxLlByb3BlcnR5T3JpZ2luQg26SAqSAQciBYIBAhABEjEKBWdyb3VwGAsgASgOMhguY29tbW9uLnYxLlByb3BlcnR5R3JvdXBCCLpIBYIBAhABEhAKCG9yZGVyaW5nGAwgASgFEhIKCmhpZGVfZ3JvdXAYDSABKAgSEAoIYWR2YW5jZWQYDiABKAgSHAoUYWxsb3dfdG9fYmVfbWlycm9yZWQYDyABKAgSQAoNc2VtYW50aWNfcm9sZRgQIAEoDjIfLmNvbW1vbi52MS5Qcm9wZXJ0eVNlbWFudGljUm9sZUIIukgFggECEAESLgoNbnVtYmVyX2V4dHJhcxgpIAEoCzIXLmNvbW1vbi52MS5OdW1iZXJFeHRyYXMSKgoLZW51bV9leHRyYXMYKiABKAsyFS5jb21tb24udjEuRW51bUV4dHJhcxIwCg52ZWN0b3IzX2V4dHJhcxgrIAEoCzIYLmNvbW1vbi52MS5WZWN0b3IzRXh0cmFzEiwKDGNvbG9yX2V4dHJhcxgsIAEoCzIWLmNvbW1vbi52MS5Db2xvckV4dHJhcxIqCgtwb3NlX2V4dHJhcxgtIAEoCzIVLmNvbW1vbi52MS5Qb3NlRXh0cmFzEi4KDWFuY2hvcl9leHRyYXMYLiABKAsyFy5jb21tb24udjEuQW5jaG9yRXh0cmFzOvMBukjvARqUAQoZZW51bV9yZXF1aXJlc19lbnVtX2V4dHJhcxI3ZW51bV9leHRyYXMgbXVzdCBiZSBzZXQgd2hlbiB0eXBlIGlzIEVOVU0gb3IgRU5VTV9NVUxUSRo+ISh0aGlzLnR5cGUgPT0gMTEgfHwgdGhpcy50eXBlID09IDEyKSB8fCBoYXModGhpcy5lbnVtX2V4dHJhcykiVgoNbnVtYmVyX2V4dHJhcwoLZW51bV9leHRyYXMKDnZlY3RvcjNfZXh0cmFzCgxjb2xvcl9leHRyYXMKC3Bvc2VfZXh0cmFzCg1hbmNob3JfZXh0cmFzIskDChBQcm9wZXJ0eUluc3RhbmNlEhUKAmlkGAEgASgJQgm6SAZyBJjzBAESKQoWcHJvcGVydHlfZGVmaW5pdGlvbl9pZBgCIAEoCUIJukgGcgSY8QQBEicKBXNjb3BlGAMgASgOMhguY29tbW9uLnYxLlByb3BlcnR5U2NvcGUSEAoIc2NvcGVfaWQYBCABKAkSMwoGb3JpZ2luGAUgASgOMhkuY29tbW9uLnYxLlByb3BlcnR5T3JpZ2luQgi6SAWCAQIQARIwCh1taXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZBgGIAEoCUIJukgGcgSY8QQBEi8KBXZhbHVlGAcgASgLMhguY29tbW9uLnYxLlByb3BlcnR5VmFsdWVCBrpIA8gBATqfAbpImwEamAEKIm1pcnJvcl9yZXF1aXJlc19taXJyb3JfcHJvcGVydHlfaWQSNG1pcnJvcl9wcm9wZXJ0eV9pZCBtdXN0IGJlIHNldCB3aGVuIG9yaWdpbiBpcyBNSVJST1IaPHRoaXMub3JpZ2luICE9IDIgfHwgdGhpcy5taXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZCAhPSAnJyK9DQoNUHJvcGVydHlWYWx1ZRIyCgR0eXBlGAEgASgOMhcuY29tbW9uLnYxLlByb3BlcnR5VHlwZUILukgIyAEBggECEAESFwoKYm9vbF92YWx1ZRgVIAEoCEgAiAEBEhYKCWludF92YWx1ZRgWIAEoEkgBiAEBEhgKC2Zsb2F0X3ZhbHVlGBcgASgCSAKIAQESGQoMZG91YmxlX3ZhbHVlGBggASgBSAOIAQESGQoMc3RyaW5nX3ZhbHVlGBkgASgJSASIAQESKwoNdmVjdG9yM192YWx1ZRgaIAEoCzIULmdlb21ldHJ5LnYxLlZlY3RvcjMSLgoKcG9zZV92YWx1ZRgbIAEoCzIaLmdlb21ldHJ5LnYxLkxvY2FsaXplZFBvc2USKQoMYW5jaG9yX3ZhbHVlGBwgASgLMhMuZ2VvbWV0cnkudjEuQW5jaG9yEiUKC2NvbG9yX3ZhbHVlGB0gASgLMhAuY29tbW9uLnYxLkNvbG9yEhsKDnJvYm90X2lkX3ZhbHVlGB4gASgJSAWIAQESIAoKZW51bV92YWx1ZRgfIAEoCUIHukgEcgIQAUgGiAEBEigKEGVudW1fbXVsdGlfdmFsdWUYICADKAlCDrpIC5IBCAgBIgRyAhABEhcKCmljb25fdmFsdWUYISABKAlIB4gBARIbCg5hc3NldF9pZF92YWx1ZRgiIAEoCUgIiAEBEhwKD3dvcmtlcl9pZF92YWx1ZRgjIAEoCUgJiAEBOuMHukjfBxqGBgogcHJvcGVydHlfdHlwZV9tYXRjaGVzX3ZhbHVlX2tpbmQSJ3R5cGUgbXVzdCBtYXRjaCB0aGUga2luZCBvZiB2YWx1ZSBmaWVsZBq4BSgodGhpcy50eXBlID09IDEgJiYgaGFzKHRoaXMuYm9vbF92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gMiAmJiBoYXModGhpcy5pbnRfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDMgJiYgaGFzKHRoaXMuZmxvYXRfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDQgJiYgaGFzKHRoaXMuZG91YmxlX3ZhbHVlKSkgfHwgKHRoaXMudHlwZSA9PSA1ICYmIGhhcyh0aGlzLnN0cmluZ192YWx1ZSkpIHx8KHRoaXMudHlwZSA9PSA2ICYmIGhhcyh0aGlzLnZlY3RvcjNfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDcgJiYgaGFzKHRoaXMucG9zZV92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gOCAmJiBoYXModGhpcy5hbmNob3JfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDkgJiYgaGFzKHRoaXMuY29sb3JfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDEwICYmIGhhcyh0aGlzLnJvYm90X2lkX3ZhbHVlKSkgfHwgKHRoaXMudHlwZSA9PSAxMSAmJiBoYXModGhpcy5lbnVtX3ZhbHVlKSkgfHwodGhpcy50eXBlID09IDEyICYmIHNpemUodGhpcy5lbnVtX211bHRpX3ZhbHVlKSA+IDApIHx8ICh0aGlzLnR5cGUgPT0gMTMgJiYgaGFzKHRoaXMuaWNvbl92YWx1ZSkpIHx8ICh0aGlzLnR5cGUgPT0gMTQgJiYgaGFzKHRoaXMuYXNzZXRfaWRfdmFsdWUpKSB8fCAodGhpcy50eXBlID09IDE1ICYmIGhhcyh0aGlzLndvcmtlcl9pZF92YWx1ZSkpKSLTAQoKYm9vbF92YWx1ZQoJaW50X3ZhbHVlCgtmbG9hdF92YWx1ZQoMZG91YmxlX3ZhbHVlCgxzdHJpbmdfdmFsdWUKDXZlY3RvcjNfdmFsdWUKCnBvc2VfdmFsdWUKDGFuY2hvcl92YWx1ZQoLY29sb3JfdmFsdWUKDnJvYm90X2lkX3ZhbHVlCgplbnVtX3ZhbHVlChBlbnVtX211bHRpX3ZhbHVlCgppY29uX3ZhbHVlCg5hc3NldF9pZF92YWx1ZQoPd29ya2VyX2lkX3ZhbHVlEAFCDQoLX2Jvb2xfdmFsdWVCDAoKX2ludF92YWx1ZUIOCgxfZmxvYXRfdmFsdWVCDwoNX2RvdWJsZV92YWx1ZUIPCg1fc3RyaW5nX3ZhbHVlQhEKD19yb2JvdF9pZF92YWx1ZUINCgtfZW51bV92YWx1ZUINCgtfaWNvbl92YWx1ZUIRCg9fYXNzZXRfaWRfdmFsdWVCEgoQX3dvcmtlcl9pZF92YWx1ZSLnAwoWUHJvcGVydHlJbnN0YW5jZVVwZGF0ZRInChRwcm9wZXJ0eV9pbnN0YW5jZV9pZBgBIAEoCUIJukgGcgSY8wQBEjMKBm9yaWdpbhgCIAEoDjIZLmNvbW1vbi52MS5Qcm9wZXJ0eU9yaWdpbkIIukgFggECEAESMAodbWlycm9yX3Byb3BlcnR5X2RlZmluaXRpb25faWQYAyABKAlCCbpIBnIEmPEEARIvCgV2YWx1ZRgEIAEoCzIYLmNvbW1vbi52MS5Qcm9wZXJ0eVZhbHVlQga6SAPIAQE6iwK6SIcCGmoKG2ZpeGVkX29yaWdpbl9yZXF1aXJlc192YWx1ZRImdmFsdWUgbXVzdCBiZSBzZXQgd2hlbiBvcmlnaW4gaXMgRklYRUQaI3RoaXMub3JpZ2luICE9IDEgfHwgaGFzKHRoaXMudmFsdWUpGpgBCiJtaXJyb3JfcmVxdWlyZXNfbWlycm9yX3Byb3BlcnR5X2lkEjRtaXJyb3JfcHJvcGVydHlfaWQgbXVzdCBiZSBzZXQgd2hlbiBvcmlnaW4gaXMgTUlSUk9SGjx0aGlzLm9yaWdpbiAhPSAyIHx8IHRoaXMubWlycm9yX3Byb3BlcnR5X2RlZmluaXRpb25faWQgIT0gJyciQwoTUHJvcGVydHlEZWZpbml0aW9ucxIsCgVpdGVtcxgBIAMoCzIdLmNvbW1vbi52MS5Qcm9wZXJ0eURlZmluaXRpb24iPwoRUHJvcGVydHlJbnN0YW5jZXMSKgoFaXRlbXMYASADKAsyGy5jb21tb24udjEuUHJvcGVydHlJbnN0YW5jZSLGAwoMTnVtYmVyRXh0cmFzEhAKA21pbhgBIAEoAUgAiAEBEhAKA21heBgCIAEoAUgBiAEBEiEKBHN0ZXAYAyABKAFCDrpICxIJIQAAAAAAAAAASAKIAQESFQoEdW5pdBgEIAEoCUIHukgEcgIYAxIaCglwcmVjaXNpb24YBSABKA1CB7pIBCoCKAA6ogK6SJ4CGpsCChhudW1iZXJfZXh0cmFzX2NvbnNpc3RlbnQSVElmIGFueSBvZiBtaW4vbWF4L3N0ZXAgaXMgc2V0LCBhbGwgbXVzdCBiZSBzZXQ7IGFuZCBtaW4gPCBtYXg7IGFuZCBzdGVwIDw9IChtYXgtbWluKRqoASghaGFzKHRoaXMubWluKSAmJiAhaGFzKHRoaXMubWF4KSAmJiAhaGFzKHRoaXMuc3RlcCkpIHx8IChoYXModGhpcy5taW4pICYmIGhhcyh0aGlzLm1heCkgJiYgaGFzKHRoaXMuc3RlcCkgJiYgdGhpcy5taW4gPCB0aGlzLm1heCAmJiB0aGlzLnN0ZXAgPD0gKHRoaXMubWF4IC0gdGhpcy5taW4pKUIGCgRfbWluQgYKBF9tYXhCBwoFX3N0ZXAiawoKRW51bU9wdGlvbhIWCgV2YWx1ZRgBIAEoCUIHukgEcgIQARIWCgVsYWJlbBgCIAEoCUIHukgEcgIQARIMCgRpY29uGAMgASgJEg0KBWdyb3VwGAQgASgJEhAKCGRpc2FibGVkGAUgASgIIqUBCgpFbnVtRXh0cmFzEhMKC3BsYWNlaG9sZGVyGAEgASgJEg4KBmZpbHRlchgCIAEoCBIPCgdncm91cGVkGAMgASgIEhIKCnNob3dfaWNvbnMYBCABKAgSGwoTbWF4X3NlbGVjdGVkX2xhYmVscxgFIAEoDRIwCgdvcHRpb25zGAYgAygLMhUuY29tbW9uLnYxLkVudW1PcHRpb25CCLpIBZIBAggBIvkDCg1WZWN0b3IzRXh0cmFzEhAKA21pbhgBIAEoAUgAiAEBEhAKA21heBgCIAEoAUgBiAEBEiEKBHN0ZXAYAyABKAFCDrpICxIJIQAAAAAAAAAASAKIAQESGAoHbGFiZWxfeBgEIAEoCUIHukgEcgIYBRIYCgdsYWJlbF95GAUgASgJQge6SARyAhgFEhgKB2xhYmVsX3oYBiABKAlCB7pIBHICGAUSFQoEdW5pdBgHIAEoCUIHukgEcgIYAzqiArpIngIamwIKGG51bWJlcl9leHRyYXNfY29uc2lzdGVudBJUSWYgYW55IG9mIG1pbi9tYXgvc3RlcCBpcyBzZXQsIGFsbCBtdXN0IGJlIHNldDsgYW5kIG1pbiA8IG1heDsgYW5kIHN0ZXAgPD0gKG1heC1taW4pGqgBKCFoYXModGhpcy5taW4pICYmICFoYXModGhpcy5tYXgpICYmICFoYXModGhpcy5zdGVwKSkgfHwgKGhhcyh0aGlzLm1pbikgJiYgaGFzKHRoaXMubWF4KSAmJiBoYXModGhpcy5zdGVwKSAmJiB0aGlzLm1pbiA8IHRoaXMubWF4ICYmIHRoaXMuc3RlcCA8PSAodGhpcy5tYXggLSB0aGlzLm1pbikpQgYKBF9taW5CBgoEX21heEIHCgVfc3RlcCJOCgtDb2xvckV4dHJhcxIcCgRzdGVwGAEgASgBQg66SAsSCSkAAAAAAAAAABIhCgdkZWZhdWx0GAIgASgLMhAuY29tbW9uLnYxLkNvbG9yIiQKDEFuY2hvckV4dHJhcxIUCgxvbmx5X21hcmtlcnMYASABKAgiPAoKUG9zZUV4dHJhcxIXCg9hbmNob3JfZWRpdGFibGUYASABKAgSFQoNcG9zZV9lZGl0YWJsZRgCIAEoCCLHCgoVQ3JlYXRlUHJvcGVydHlNZXNzYWdlEhEKCXBhcmVudF9pZBgBIAEoCRIcChRhdXRob3JpbmdfY29udGV4dF9pZBgCIAEoCRIMCgRuYW1lGAMgASgJEgwKBGljb24YBCABKAkSEwoLZGVzY3JpcHRpb24YBSABKAkSMgoEdHlwZRgGIAEoDjIXLmNvbW1vbi52MS5Qcm9wZXJ0eVR5cGVCC7pICMgBAYIBAhABEjQKBXNjb3BlGAcgASgOMhguY29tbW9uLnYxLlByb3BlcnR5U2NvcGVCC7pICMgBAYIBAhABEkIKG21pbmltdW1fcmVxdWlyZWRfcGVybWlzc2lvbhgIIAEoDjIdLmNvbW1vbi52MS5Qcm9wZXJ0eVBlcm1pc3Npb24SMgoPYWxsb3dlZF9vcmlnaW5zGAkgAygOMhkuY29tbW9uLnYxLlByb3BlcnR5T3JpZ2luEicKBWdyb3VwGAogASgOMhguY29tbW9uLnYxLlByb3BlcnR5R3JvdXASEAoIb3JkZXJpbmcYCyABKAUSEgoKaGlkZV9ncm91cBgMIAEoCBIQCghhZHZhbmNlZBgNIAEoCBIcChRhbGxvd190b19iZV9taXJyb3JlZBgOIAEoCBJACg1zZW1hbnRpY19yb2xlGBAgASgOMh8uY29tbW9uLnYxLlByb3BlcnR5U2VtYW50aWNSb2xlQgi6SAWCAQIQARI3CgNrZXkYESABKAlCKrpIJ3IlEAEYQDIfXlthLXpdW2EtejAtOV0qKD86X1thLXowLTldKykqJBI2CgZvcmlnaW4YFCABKA4yGS5jb21tb24udjEuUHJvcGVydHlPcmlnaW5CC7pICMgBAYIBAhABEhAKCHNjb3BlX2lkGBUgASgJEjAKHW1pcnJvcl9wcm9wZXJ0eV9kZWZpbml0aW9uX2lkGBYgASgJQgm6SAZyBJjxBAESNwoNaW5pdGlhbF92YWx1ZRgXIAEoCzIYLmNvbW1vbi52MS5Qcm9wZXJ0eVZhbHVlQga6SAPIAQESMAoNbnVtYmVyX2V4dHJhcxgpIAEoCzIXLmNvbW1vbi52MS5OdW1iZXJFeHRyYXNIABIsCgtlbnVtX2V4dHJhcxgqIAEoCzIVLmNvbW1vbi52MS5FbnVtRXh0cmFzSAASMgoOdmVjdG9yM19leHRyYXMYKyABKAsyGC5jb21tb24udjEuVmVjdG9yM0V4dHJhc0gAEi4KDGNvbG9yX2V4dHJhcxgsIAEoCzIWLmNvbW1vbi52MS5Db2xvckV4dHJhc0gAEiwKC3Bvc2VfZXh0cmFzGC0gASgLMhUuY29tbW9uLnYxLlBvc2VFeHRyYXNIABIwCg1hbmNob3JfZXh0cmFzGC4gASgLMhcuY29tbW9uLnYxLkFuY2hvckV4dHJhc0gAOowCukiIAhpsCiBkZWZpbml0aW9uX2FuZF92YWx1ZV90eXBlc19tYXRjaBIidHlwZSBtdXN0IG1hdGNoIGluaXRpYWxfdmFsdWUudHlwZRokdGhpcy50eXBlID09IHRoaXMuaW5pdGlhbF92YWx1ZS50eXBlGpcBChptaXJyb3JfcmVxdWlyZXNfZGVmaW5pdGlvbhI7bWlycm9yX3Byb3BlcnR5X2RlZmluaXRpb25faWQgaXMgcmVxdWlyZWQgZm9yIE1JUlJPUiBvcmlnaW4aPHRoaXMub3JpZ2luICE9IDIgfHwgdGhpcy5taXJyb3JfcHJvcGVydHlfZGVmaW5pdGlvbl9pZCAhPSAnJ0IICgZleHRyYXMqqQMKDFByb3BlcnR5VHlwZRIdChlQUk9QRVJUWV9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSUFJPUEVSVFlfVFlQRV9CT09MEAESFQoRUFJPUEVSVFlfVFlQRV9JTlQQAhIXChNQUk9QRVJUWV9UWVBFX0ZMT0FUEAMSGAoUUFJPUEVSVFlfVFlQRV9ET1VCTEUQBBIYChRQUk9QRVJUWV9UWVBFX1NUUklORxAFEhkKFVBST1BFUlRZX1RZUEVfVkVDVE9SMxAGEhYKElBST1BFUlRZX1RZUEVfUE9TRRAHEhgKFFBST1BFUlRZX1RZUEVfQU5DSE9SEAgSFwoTUFJPUEVSVFlfVFlQRV9DT0xPUhAJEhcKE1BST1BFUlRZX1RZUEVfUk9CT1QQChIWChJQUk9QRVJUWV9UWVBFX0VOVU0QCxIcChhQUk9QRVJUWV9UWVBFX0VOVU1fTVVMVEkQDBIWChJQUk9QRVJUWV9UWVBFX0lDT04QDRIXChNQUk9QRVJUWV9UWVBFX0FTU0VUEA4SGAoUUFJPUEVSVFlfVFlQRV9XT1JLRVIQDypoCg5Qcm9wZXJ0eU9yaWdpbhIfChtQUk9QRVJUWV9PUklHSU5fVU5TUEVDSUZJRUQQABIZChVQUk9QRVJUWV9PUklHSU5fRklYRUQQARIaChZQUk9QRVJUWV9PUklHSU5fTUlSUk9SEAIq3AIKDVByb3BlcnR5R3JvdXASHgoaUFJPUEVSVFlfR1JPVVBfVU5TUEVDSUZJRUQQABIZChVQUk9QRVJUWV9HUk9VUF9PVVRQVVQQARIfChtQUk9QRVJUWV9HUk9VUF9OT05fRURJVEFCTEUQAhIaChZQUk9QRVJUWV9HUk9VUF9TVFlMSU5HEAMSGwoXUFJPUEVSVFlfR1JPVVBfTE9DQVRJT04QBBIXChNQUk9QRVJUWV9HUk9VUF9JQ09OEAUSIAocUFJPUEVSVFlfR1JPVVBfQ09ORklHVVJBVElPThAGEhkKFVBST1BFUlRZX0dST1VQX0hJRERFThAHEh0KGVBST1BFUlRZX0dST1VQX0lOUFVUX1NMT1QQCBIcChhQUk9QRVJUWV9HUk9VUF9BTklNQVRJT04QCRIjCh9QUk9QRVJUWV9HUk9VUF9UQVJHRVRfSU5ESUNBVE9SEAoqtgEKElByb3BlcnR5UGVybWlzc2lvbhIjCh9QUk9QRVJUWV9QRVJNSVNTSU9OX1VOU1BFQ0lGSUVEEAASHQoZUFJPUEVSVFlfUEVSTUlTU0lPTl9CQVNJQxAKEiAKHFBST1BFUlRZX1BFUk1JU1NJT05fQ09TTUVUSUMQFBIcChhQUk9QRVJUWV9QRVJNSVNTSU9OX0ZVTEwQHhIcChhQUk9QRVJUWV9QRVJNSVNTSU9OX05PTkUQKCrpDwoUUHJvcGVydHlTZW1hbnRpY1JvbGUSJgoiUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9VTlNQRUNJRklFRBAAEjEKLVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUEFORUxfQkFDS0dST1VORF9DT0xPUhABEisKJ1BST1BFUlRZX1NFTUFOVElDX1JPTEVfUEFORUxfVEVYVF9DT0xPUhACEi0KKVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUEFORUxfQk9SREVSX0NPTE9SEAMSKAokUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9QQU5FTF9PUEFDSVRZEAQSLgoqUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9QQU5FTF9DT1JORVJfUkFESVVTEAUSLQopUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9QUklNQVJZX1RFWFRfQ09MT1IQFBIvCitQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1NFQ09OREFSWV9URVhUX0NPTE9SEBUSJAogUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9URVhUX1NJWkUQFhIqCiZQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1RJVExFX1RFWFRfU0laRRAXEicKI1BST1BFUlRZX1NFTUFOVElDX1JPTEVfQUNDRU5UX0NPTE9SECgSKAokUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9TVUNDRVNTX0NPTE9SECkSKAokUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9XQVJOSU5HX0NPTE9SECoSJgoiUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9FUlJPUl9DT0xPUhArEikKJVBST1BFUlRZX1NFTUFOVElDX1JPTEVfRElTQUJMRURfQ09MT1IQLBItCilQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0NVUlJFTlRfVEFTS19DT0xPUhA8Ei4KKlBST1BFUlRZX1NFTUFOVElDX1JPTEVfVVBDT01JTkdfVEFTS19DT0xPUhA9Ei8KK1BST1BFUlRZX1NFTUFOVElDX1JPTEVfQ09NUExFVEVEX1RBU0tfQ09MT1IQPhItCilQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0JMT0NLRURfVEFTS19DT0xPUhA/Ei4KKlBST1BFUlRZX1NFTUFOVElDX1JPTEVfT1BUSU9OQUxfVEFTS19DT0xPUhBAEikKJVBST1BFUlRZX1NFTUFOVElDX1JPTEVfT1BFUkFUT1JfQ09MT1IQUBImCiJQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1JPQk9UX0NPTE9SEFESLAooUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9TSEFSRURfVEFTS19DT0xPUhBSEisKJ1BST1BFUlRZX1NFTUFOVElDX1JPTEVfU1VQRVJWSVNPUl9DT0xPUhBTEiUKIVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUEFSVF9DT0xPUhBkEiUKIVBST1BFUlRZX1NFTUFOVElDX1JPTEVfVE9PTF9DT0xPUhBlEiYKIlBST1BFUlRZX1NFTUFOVElDX1JPTEVfQVNTRVRfQ09MT1IQZhIqCiZQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX0NPTlRBSU5FUl9DT0xPUhBnEi0KKVBST1BFUlRZX1NFTUFOVElDX1JPTEVfVEFSR0VUX0dIT1NUX0NPTE9SEHgSMQotUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9UQVJHRVRfSElHSExJR0hUX0NPTE9SEHkSJQohUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9QQVRIX0NPTE9SEHoSJQohUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9aT05FX0NPTE9SEHsSJwojUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9BTkNIT1JfQ09MT1IQfBIsCidQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1JPQk9UX1BBVEhfQ09MT1IQjAESMgotUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9ST0JPVF9TSUxIT1VFVFRFX0NPTE9SEI0BEi4KKVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUk9CT1RfSU5URU5UX0NPTE9SEI4BEjEKLFBST1BFUlRZX1NFTUFOVElDX1JPTEVfUk9CT1RfT0NDVVBBTkNZX0NPTE9SEI8BEikKJFBST1BFUlRZX1NFTUFOVElDX1JPTEVfU1VDQ0VTU19TT1VORBCgARIpCiRQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX1dBUk5JTkdfU09VTkQQoQESJwoiUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9FUlJPUl9TT1VORBCiARItCihQUk9QRVJUWV9TRU1BTlRJQ19ST0xFX05PVElGSUNBVElPTl9JQ09OEKMBEioKJVBST1BFUlRZX1NFTUFOVElDX1JPTEVfUFVMU0VfRFVSQVRJT04QtAESKQokUFJPUEVSVFlfU0VNQU5USUNfUk9MRV9GQURFX0RVUkFUSU9OELUBEisKJlBST1BFUlRZX1NFTUFOVElDX1JPTEVfQU5JTUFUSU9OX1NQRUVEELYBEi8KKlBST1BFUlRZX1NFTUFOVElDX1JPTEVfSElHSExJR0hUX1RISUNLTkVTUxC3ASpmCg1Qcm9wZXJ0eVNjb3BlEh4KGlBST1BFUlRZX1NDT1BFX1VOU1BFQ0lGSUVEEAASGQoVUFJPUEVSVFlfU0NPUEVfRU5USVRZEAESGgoWUFJPUEVSVFlfU0NPUEVfUlVOVElNRRACQqUBCg1jb20uY29tbW9uLnYxQg1Qcm9wZXJ0eVByb3RvUAFaN2dpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9jb21tb24vdjE7Y29tbW9udjGiAgNDWFiqAhJNZXNzYWdlcy5Db21tb24uVjHKAglDb21tb25cVjHiAhVDb21tb25cVjFcR1BCTWV0YWRhdGHqAgpDb21tb246OlYxYgZwcm90bzM", [file_buf_validate_validate, file_common_v1_color, file_geometry_v1_anchor, file_geometry_v1_pose, file_geometry_v1_vector3, file_validation_v1_predefined_string_rules]);
24
24
 
25
25
  /**
26
26
  * PropertyDefinition
@@ -60,6 +60,13 @@ export type PropertyDefinition = Message<"common.v1.PropertyDefinition"> & {
60
60
  */
61
61
  id: string;
62
62
 
63
+ /**
64
+ * Stable machine-readable key; unlike name, this is safe for runtime binding and capability references.
65
+ *
66
+ * @generated from field: string key = 17;
67
+ */
68
+ key: string;
69
+
63
70
  /**
64
71
  * @generated from field: string name = 2;
65
72
  */
@@ -665,6 +672,8 @@ export type CreatePropertyMessage = Message<"common.v1.CreatePropertyMessage"> &
665
672
  /**
666
673
  * Definition
667
674
  *
675
+ * TODO [(buf.validate.field).string.(validation.v1.name_component) = true];
676
+ *
668
677
  * @generated from field: string name = 3;
669
678
  */
670
679
  name: string;
@@ -729,6 +738,13 @@ export type CreatePropertyMessage = Message<"common.v1.CreatePropertyMessage"> &
729
738
  */
730
739
  semanticRole: PropertySemanticRole;
731
740
 
741
+ /**
742
+ * Stable machine-readable key copied to PropertyDefinition.
743
+ *
744
+ * @generated from field: string key = 17;
745
+ */
746
+ key: string;
747
+
732
748
  /**
733
749
  * Template instance
734
750
  *
@@ -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("CiBwcm9jZXNzL3YxL3Rhc2tfZGVmaW5pdGlvbi5wcm90bxIKcHJvY2Vzcy52MSJ3Cg1Qcm9kdWN0VGFyZ2V0Eg8KB25vZGVfaWQYASABKAkSJQoScGFydF9kZWZpbml0aW9uX2lkGAIgASgJQgm6SAZyBMjxBAESLgoMbG9jYWxfdGFyZ2V0GAMgASgLMhguZ2VvbWV0cnkudjEuTG9jYWxUYXJnZXQijAEKD0NvbnRhaW5lclRhcmdldBIqChdjb250YWluZXJfZGVmaW5pdGlvbl9pZBgBIAEoCUIJukgGcgTI8gQBEg8KB3Nsb3RfaWQYAiABKAkSPAoJc2xvdF90eXBlGAMgASgOMh8ucmVzb3VyY2VzLnYxLkNvbnRhaW5lclNsb3RUeXBlQgi6SAWCAQIQASKMAQoOUmVzb3VyY2VUYXJnZXQSJgoTYXNzZXRfZGVmaW5pdGlvbl9pZBgBIAEoCUIJukgGcgSw8QQBEiYKE3JvYm90X2RlZmluaXRpb25faWQYAiABKAlCCbpIBnIEoPEEARIqChdjb250YWluZXJfZGVmaW5pdGlvbl9pZBgDIAEoCUIJukgGcgTI8gQBIpYBCgpUYXNrVGFyZ2V0EioKB3Byb2R1Y3QYASABKAsyGS5wcm9jZXNzLnYxLlByb2R1Y3RUYXJnZXQSLgoJY29udGFpbmVyGAIgASgLMhsucHJvY2Vzcy52MS5Db250YWluZXJUYXJnZXQSLAoIcmVzb3VyY2UYAyABKAsyGi5wcm9jZXNzLnYxLlJlc291cmNlVGFyZ2V0IkwKE1F1YW50aXR5UmVxdWlyZW1lbnQSHgoGYW1vdW50GAEgASgBQg66SAsSCSEAAAAAAAAAABIVCgR1bml0GAIgASgJQge6SARyAhABImoKDFRhc2tFbmRwb2ludBIqCgdwcm9kdWN0GAEgASgLMhkucHJvY2Vzcy52MS5Qcm9kdWN0VGFyZ2V0Ei4KCWNvbnRhaW5lchgCIAEoCzIbLnByb2Nlc3MudjEuQ29udGFpbmVyVGFyZ2V0Iq0CChVWYWxpZGF0aW9uUmVxdWlyZW1lbnQSHQoVcmVxdWlyZV90b29sX2ZlZWRiYWNrGAEgASgIEhwKFHJlcXVpcmVfdmlzaW9uX2NoZWNrGAIgASgIEiEKGWFsbG93X21hbnVhbF9jb25maXJtYXRpb24YAyABKAgSSgodbWFudWFsX2NvbmZpcm1hdGlvbl9taW5fbGV2ZWwYBCABKA4yGS5jYXBhYmlsaXR5LnYxLlNraWxsTGV2ZWxCCLpIBYIBAhABEjQKBG1vZGUYBSABKA4yHC5yZXNvdXJjZXMudjEuVmFsaWRhdGlvbk1vZGVCCLpIBYIBAhABEjIKC2NvbnN0cmFpbnRzGAYgAygLMh0uY29tbW9uLnYxLktleVZhbHVlQ29uc3RyYWludCKnAwoTVGFza0V4ZWN1dGlvblBvbGljeRJDChVhc3NpZ25tZW50X3ByZWZlcmVuY2UYASABKA4yJC5wcm9jZXNzLnYxLlRhc2tBc3NpZ25tZW50UHJlZmVyZW5jZRI4ChBhY3Rvcl9jb25zdHJhaW50GAIgASgLMh4uY2FwYWJpbGl0eS52MS5BY3RvckNvbnN0cmFpbnQSFAoMY2FuX3JlYXNzaWduGAMgASgIEhAKCGNhbl91bmRvGAQgASgIEkoKG2FjdG9yX3VuYXZhaWxhYmlsaXR5X3BvbGljeRgIIAEoDjIlLnByb2Nlc3MudjEuQWN0b3JVbmF2YWlsYWJpbGl0eVBvbGljeRI+Chhlc3RpbWF0ZWRfaHVtYW5fZHVyYXRpb24YBSABKAsyHC5jb21tb24udjEuRXN0aW1hdGVkRHVyYXRpb24SPgoYZXN0aW1hdGVkX3JvYm90X2R1cmF0aW9uGAYgASgLMhwuY29tbW9uLnYxLkVzdGltYXRlZER1cmF0aW9uEh0KFXJlcXVpcmVfZnVsbF9ndWlkYW5jZRgHIAEoCCLXAQoMVGFza092ZXJyaWRlEiYKBHdoZW4YASADKAsyGC52YXJpYW5jZS52MS5WYXJpYW50UnVsZRIYChBpbnN0cnVjdGlvbl90ZXh0GAIgASgJEiYKBnRhcmdldBgDIAEoCzIWLnByb2Nlc3MudjEuVGFza1RhcmdldBIuChBpbnNlcnRpb25fb2Zmc2V0GAQgASgLMhQuZ2VvbWV0cnkudjEuVmVjdG9yMxItCg9hcHByb2FjaF9vZmZzZXQYBSABKAsyFC5nZW9tZXRyeS52MS5WZWN0b3IzItcGCg5UYXNrRGVmaW5pdGlvbhIKCgJpZBgBIAEoCRIXCgRuYW1lGAIgASgJQgm6SAZyBIDxBAESDAoEaWNvbhgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIYChBpbnN0cnVjdGlvbl90ZXh0GAUgASgJEiAKD3NlcXVlbmNlX251bWJlchgGIAEoBUIHukgEGgIoABIxCgl0YXNrX3R5cGUYByABKA4yFC5wcm9jZXNzLnYxLlRhc2tUeXBlQgi6SAWCAQIQARImCgZ0YXJnZXQYCCABKAsyFi5wcm9jZXNzLnYxLlRhc2tUYXJnZXQSLgoQaW5zZXJ0aW9uX29mZnNldBgJIAEoCzIULmdlb21ldHJ5LnYxLlZlY3RvcjMSLQoPYXBwcm9hY2hfb2Zmc2V0GAogASgLMhQuZ2VvbWV0cnkudjEuVmVjdG9yMxI4ChB0b29sX3JlcXVpcmVtZW50GAwgASgLMh4uY2FwYWJpbGl0eS52MS5Ub29sUmVxdWlyZW1lbnQSOwoSc2tpbGxfcmVxdWlyZW1lbnRzGA0gAygLMh8uY2FwYWJpbGl0eS52MS5Ta2lsbFJlcXVpcmVtZW50EjUKCnZhbGlkYXRpb24YDiABKAsyIS5wcm9jZXNzLnYxLlZhbGlkYXRpb25SZXF1aXJlbWVudBI5ChBleGVjdXRpb25fcG9saWN5GA8gASgLMh8ucHJvY2Vzcy52MS5UYXNrRXhlY3V0aW9uUG9saWN5EjQKEHNhZmV0eV9yZWxldmFuY2UYECABKA4yGi5jb21tb24udjEuU2FmZXR5UmVsZXZhbmNlEigKBnNvdXJjZRgRIAEoCzIYLnByb2Nlc3MudjEuVGFza0VuZHBvaW50Ei0KC2Rlc3RpbmF0aW9uGBIgASgLMhgucHJvY2Vzcy52MS5UYXNrRW5kcG9pbnQSMQoIcXVhbnRpdHkYEyABKAsyHy5wcm9jZXNzLnYxLlF1YW50aXR5UmVxdWlyZW1lbnQSLwoNYXBwbGljYWJpbGl0eRgVIAMoCzIYLnZhcmlhbmNlLnYxLlZhcmlhbnRSdWxlEisKCW92ZXJyaWRlcxgWIAMoCzIYLnByb2Nlc3MudjEuVGFza092ZXJyaWRlIjwKD1Rhc2tEZWZpbml0aW9ucxIpCgVpdGVtcxgBIAMoCzIaLnByb2Nlc3MudjEuVGFza0RlZmluaXRpb24qvwMKCFRhc2tUeXBlEhkKFVRBU0tfVFlQRV9VTlNQRUNJRklFRBAAEhUKEVRBU0tfVFlQRV9JTlNQRUNUEAESFAoQVEFTS19UWVBFX0ZBU1RFThACEhYKElRBU0tfVFlQRV9VTkZBU1RFThADEhMKD1RBU0tfVFlQRV9NT1VOVBAEEhUKEVRBU0tfVFlQRV9VTk1PVU5UEAUSEgoOVEFTS19UWVBFX01PVkUQBhIUChBUQVNLX1RZUEVfUkVNT1ZFEAcSEwoPVEFTS19UWVBFX0FQUExZEAgSEgoOVEFTS19UWVBFX1dJUEUQCRITCg9UQVNLX1RZUEVfQUxJR04QChIUChBUQVNLX1RZUEVfSU5TRVJUEAsSEgoOVEFTS19UWVBFX0hPTEQQDBIUChBUQVNLX1RZUEVfVkVSSUZZEA0SEgoOVEFTS19UWVBFX1BJQ0sQDhITCg9UQVNLX1RZUEVfUExBQ0UQDxISCg5UQVNLX1RZUEVfU0NBThAQEhIKDlRBU0tfVFlQRV9XQUlUEBESEwoPVEFTS19UWVBFX0NIRUNLEBISGQoVVEFTS19UWVBFX0FDS05PV0xFREdFEBMqnQIKGFRhc2tBc3NpZ25tZW50UHJlZmVyZW5jZRIqCiZUQVNLX0FTU0lHTk1FTlRfUFJFRkVSRU5DRV9VTlNQRUNJRklFRBAAEisKJ1RBU0tfQVNTSUdOTUVOVF9QUkVGRVJFTkNFX1BSRUZFUl9IVU1BThABEikKJVRBU0tfQVNTSUdOTUVOVF9QUkVGRVJFTkNFX09OTFlfSFVNQU4QAhIrCidUQVNLX0FTU0lHTk1FTlRfUFJFRkVSRU5DRV9QUkVGRVJfUk9CT1QQAxIpCiVUQVNLX0FTU0lHTk1FTlRfUFJFRkVSRU5DRV9PTkxZX1JPQk9UEAQSJQohVEFTS19BU1NJR05NRU5UX1BSRUZFUkVOQ0VfRUlUSEVSEAUq5wEKGUFjdG9yVW5hdmFpbGFiaWxpdHlQb2xpY3kSKwonQUNUT1JfVU5BVkFJTEFCSUxJVFlfUE9MSUNZX1VOU1BFQ0lGSUVEEAASLgoqQUNUT1JfVU5BVkFJTEFCSUxJVFlfUE9MSUNZX1dBSVRfRk9SX0FDVE9SEAESNwozQUNUT1JfVU5BVkFJTEFCSUxJVFlfUE9MSUNZX1JFQVNTSUdOX0lGX05PVF9TVEFSVEVEEAISNAowQUNUT1JfVU5BVkFJTEFCSUxJVFlfUE9MSUNZX1NVU1BFTkRfQU5EX1JFQVNTSUdOEANCsgEKDmNvbS5wcm9jZXNzLnYxQhNUYXNrRGVmaW5pdGlvblByb3RvUAFaOWdpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9wcm9jZXNzL3YxO3Byb2Nlc3N2MaICA1BYWKoCE01lc3NhZ2VzLlByb2Nlc3MuVjHKAgpQcm9jZXNzXFYx4gIWUHJvY2Vzc1xWMVxHUEJNZXRhZGF0YeoCC1Byb2Nlc3M6OlYxYgZwcm90bzM", [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("CiBwcm9jZXNzL3YxL3Rhc2tfZGVmaW5pdGlvbi5wcm90bxIKcHJvY2Vzcy52MSJ3Cg1Qcm9kdWN0VGFyZ2V0Eg8KB25vZGVfaWQYASABKAkSJQoScGFydF9kZWZpbml0aW9uX2lkGAIgASgJQgm6SAZyBMjxBAESLgoMbG9jYWxfdGFyZ2V0GAMgASgLMhguZ2VvbWV0cnkudjEuTG9jYWxUYXJnZXQijAEKD0NvbnRhaW5lclRhcmdldBIqChdjb250YWluZXJfZGVmaW5pdGlvbl9pZBgBIAEoCUIJukgGcgTI8gQBEg8KB3Nsb3RfaWQYAiABKAkSPAoJc2xvdF90eXBlGAMgASgOMh8ucmVzb3VyY2VzLnYxLkNvbnRhaW5lclNsb3RUeXBlQgi6SAWCAQIQASKMAQoOUmVzb3VyY2VUYXJnZXQSJgoTYXNzZXRfZGVmaW5pdGlvbl9pZBgBIAEoCUIJukgGcgSw8QQBEiYKE3JvYm90X2RlZmluaXRpb25faWQYAiABKAlCCbpIBnIEoPEEARIqChdjb250YWluZXJfZGVmaW5pdGlvbl9pZBgDIAEoCUIJukgGcgTI8gQBIpYBCgpUYXNrVGFyZ2V0EioKB3Byb2R1Y3QYASABKAsyGS5wcm9jZXNzLnYxLlByb2R1Y3RUYXJnZXQSLgoJY29udGFpbmVyGAIgASgLMhsucHJvY2Vzcy52MS5Db250YWluZXJUYXJnZXQSLAoIcmVzb3VyY2UYAyABKAsyGi5wcm9jZXNzLnYxLlJlc291cmNlVGFyZ2V0IkwKE1F1YW50aXR5UmVxdWlyZW1lbnQSHgoGYW1vdW50GAEgASgBQg66SAsSCSEAAAAAAAAAABIVCgR1bml0GAIgASgJQge6SARyAhABImoKDFRhc2tFbmRwb2ludBIqCgdwcm9kdWN0GAEgASgLMhkucHJvY2Vzcy52MS5Qcm9kdWN0VGFyZ2V0Ei4KCWNvbnRhaW5lchgCIAEoCzIbLnByb2Nlc3MudjEuQ29udGFpbmVyVGFyZ2V0Iq0CChVWYWxpZGF0aW9uUmVxdWlyZW1lbnQSHQoVcmVxdWlyZV90b29sX2ZlZWRiYWNrGAEgASgIEhwKFHJlcXVpcmVfdmlzaW9uX2NoZWNrGAIgASgIEiEKGWFsbG93X21hbnVhbF9jb25maXJtYXRpb24YAyABKAgSSgodbWFudWFsX2NvbmZpcm1hdGlvbl9taW5fbGV2ZWwYBCABKA4yGS5jYXBhYmlsaXR5LnYxLlNraWxsTGV2ZWxCCLpIBYIBAhABEjQKBG1vZGUYBSABKA4yHC5yZXNvdXJjZXMudjEuVmFsaWRhdGlvbk1vZGVCCLpIBYIBAhABEjIKC2NvbnN0cmFpbnRzGAYgAygLMh0uY29tbW9uLnYxLktleVZhbHVlQ29uc3RyYWludCKnAwoTVGFza0V4ZWN1dGlvblBvbGljeRJDChVhc3NpZ25tZW50X3ByZWZlcmVuY2UYASABKA4yJC5wcm9jZXNzLnYxLlRhc2tBc3NpZ25tZW50UHJlZmVyZW5jZRI4ChBhY3Rvcl9jb25zdHJhaW50GAIgASgLMh4uY2FwYWJpbGl0eS52MS5BY3RvckNvbnN0cmFpbnQSFAoMY2FuX3JlYXNzaWduGAMgASgIEhAKCGNhbl91bmRvGAQgASgIEkoKG2FjdG9yX3VuYXZhaWxhYmlsaXR5X3BvbGljeRgIIAEoDjIlLnByb2Nlc3MudjEuQWN0b3JVbmF2YWlsYWJpbGl0eVBvbGljeRI+Chhlc3RpbWF0ZWRfaHVtYW5fZHVyYXRpb24YBSABKAsyHC5jb21tb24udjEuRXN0aW1hdGVkRHVyYXRpb24SPgoYZXN0aW1hdGVkX3JvYm90X2R1cmF0aW9uGAYgASgLMhwuY29tbW9uLnYxLkVzdGltYXRlZER1cmF0aW9uEh0KFXJlcXVpcmVfZnVsbF9ndWlkYW5jZRgHIAEoCCLXAQoMVGFza092ZXJyaWRlEiYKBHdoZW4YASADKAsyGC52YXJpYW5jZS52MS5WYXJpYW50UnVsZRIYChBpbnN0cnVjdGlvbl90ZXh0GAIgASgJEiYKBnRhcmdldBgDIAEoCzIWLnByb2Nlc3MudjEuVGFza1RhcmdldBIuChBpbnNlcnRpb25fb2Zmc2V0GAQgASgLMhQuZ2VvbWV0cnkudjEuVmVjdG9yMxItCg9hcHByb2FjaF9vZmZzZXQYBSABKAsyFC5nZW9tZXRyeS52MS5WZWN0b3IzIngKFU9yaWVudGF0aW9uQ29uc3RyYWludBJBChlhbmd1bGFyX3RvbGVyYW5jZV9kZWdyZWVzGAEgASgBQhm6SBYSFEABGQAAAAAAgGZAKQAAAAAAAAAASACIAQFCHAoaX2FuZ3VsYXJfdG9sZXJhbmNlX2RlZ3JlZXMicwoOVGFza0NvbnN0cmFpbnQSEwoCaWQYASABKAlCB7pIBHICEAESNgoLb3JpZW50YXRpb24YCiABKAsyIS5wcm9jZXNzLnYxLk9yaWVudGF0aW9uQ29uc3RyYWludDoUukgRIg8KC29yaWVudGF0aW9uEAEiggkKDlRhc2tEZWZpbml0aW9uEgoKAmlkGAEgASgJEhcKBG5hbWUYAiABKAlCCbpIBnIEgPEEARIMCgRpY29uGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhgKEGluc3RydWN0aW9uX3RleHQYBSABKAkSIAoPc2VxdWVuY2VfbnVtYmVyGAYgASgFQge6SAQaAigAEjEKCXRhc2tfdHlwZRgHIAEoDjIULnByb2Nlc3MudjEuVGFza1R5cGVCCLpIBYIBAhABEiYKBnRhcmdldBgIIAEoCzIWLnByb2Nlc3MudjEuVGFza1RhcmdldBIuChBpbnNlcnRpb25fb2Zmc2V0GAkgASgLMhQuZ2VvbWV0cnkudjEuVmVjdG9yMxItCg9hcHByb2FjaF9vZmZzZXQYCiABKAsyFC5nZW9tZXRyeS52MS5WZWN0b3IzEjgKEHRvb2xfcmVxdWlyZW1lbnQYDCABKAsyHi5jYXBhYmlsaXR5LnYxLlRvb2xSZXF1aXJlbWVudBI7ChJza2lsbF9yZXF1aXJlbWVudHMYDSADKAsyHy5jYXBhYmlsaXR5LnYxLlNraWxsUmVxdWlyZW1lbnQSNQoKdmFsaWRhdGlvbhgOIAEoCzIhLnByb2Nlc3MudjEuVmFsaWRhdGlvblJlcXVpcmVtZW50EjkKEGV4ZWN1dGlvbl9wb2xpY3kYDyABKAsyHy5wcm9jZXNzLnYxLlRhc2tFeGVjdXRpb25Qb2xpY3kSNAoQc2FmZXR5X3JlbGV2YW5jZRgQIAEoDjIaLmNvbW1vbi52MS5TYWZldHlSZWxldmFuY2USKAoGc291cmNlGBEgASgLMhgucHJvY2Vzcy52MS5UYXNrRW5kcG9pbnQSLQoLZGVzdGluYXRpb24YEiABKAsyGC5wcm9jZXNzLnYxLlRhc2tFbmRwb2ludBIxCghxdWFudGl0eRgTIAEoCzIfLnByb2Nlc3MudjEuUXVhbnRpdHlSZXF1aXJlbWVudBIvCg1hcHBsaWNhYmlsaXR5GBUgAygLMhgudmFyaWFuY2UudjEuVmFyaWFudFJ1bGUSKwoJb3ZlcnJpZGVzGBYgAygLMhgucHJvY2Vzcy52MS5UYXNrT3ZlcnJpZGUSLwoLY29uc3RyYWludHMYFyADKAsyGi5wcm9jZXNzLnYxLlRhc2tDb25zdHJhaW50OvcBukjzARrwAQpCdGFza19kZWZpbml0aW9uLm9yaWVudGF0aW9uX2NvbnN0cmFpbnRfcmVxdWlyZXNfdGFyZ2V0X29yaWVudGF0aW9uEkdvcmllbnRhdGlvbiBjb25zdHJhaW50cyByZXF1aXJlIHRhcmdldC5wcm9kdWN0LmxvY2FsX3RhcmdldC5vcmllbnRhdGlvbhphdGhpcy5jb25zdHJhaW50cy5hbGwoYywgIWhhcyhjLm9yaWVudGF0aW9uKSB8fCBoYXModGhpcy50YXJnZXQucHJvZHVjdC5sb2NhbF90YXJnZXQub3JpZW50YXRpb24pKSI8Cg9UYXNrRGVmaW5pdGlvbnMSKQoFaXRlbXMYASADKAsyGi5wcm9jZXNzLnYxLlRhc2tEZWZpbml0aW9uKr8DCghUYXNrVHlwZRIZChVUQVNLX1RZUEVfVU5TUEVDSUZJRUQQABIVChFUQVNLX1RZUEVfSU5TUEVDVBABEhQKEFRBU0tfVFlQRV9GQVNURU4QAhIWChJUQVNLX1RZUEVfVU5GQVNURU4QAxITCg9UQVNLX1RZUEVfTU9VTlQQBBIVChFUQVNLX1RZUEVfVU5NT1VOVBAFEhIKDlRBU0tfVFlQRV9NT1ZFEAYSFAoQVEFTS19UWVBFX1JFTU9WRRAHEhMKD1RBU0tfVFlQRV9BUFBMWRAIEhIKDlRBU0tfVFlQRV9XSVBFEAkSEwoPVEFTS19UWVBFX0FMSUdOEAoSFAoQVEFTS19UWVBFX0lOU0VSVBALEhIKDlRBU0tfVFlQRV9IT0xEEAwSFAoQVEFTS19UWVBFX1ZFUklGWRANEhIKDlRBU0tfVFlQRV9QSUNLEA4SEwoPVEFTS19UWVBFX1BMQUNFEA8SEgoOVEFTS19UWVBFX1NDQU4QEBISCg5UQVNLX1RZUEVfV0FJVBAREhMKD1RBU0tfVFlQRV9DSEVDSxASEhkKFVRBU0tfVFlQRV9BQ0tOT1dMRURHRRATKp0CChhUYXNrQXNzaWdubWVudFByZWZlcmVuY2USKgomVEFTS19BU1NJR05NRU5UX1BSRUZFUkVOQ0VfVU5TUEVDSUZJRUQQABIrCidUQVNLX0FTU0lHTk1FTlRfUFJFRkVSRU5DRV9QUkVGRVJfSFVNQU4QARIpCiVUQVNLX0FTU0lHTk1FTlRfUFJFRkVSRU5DRV9PTkxZX0hVTUFOEAISKwonVEFTS19BU1NJR05NRU5UX1BSRUZFUkVOQ0VfUFJFRkVSX1JPQk9UEAMSKQolVEFTS19BU1NJR05NRU5UX1BSRUZFUkVOQ0VfT05MWV9ST0JPVBAEEiUKIVRBU0tfQVNTSUdOTUVOVF9QUkVGRVJFTkNFX0VJVEhFUhAFKucBChlBY3RvclVuYXZhaWxhYmlsaXR5UG9saWN5EisKJ0FDVE9SX1VOQVZBSUxBQklMSVRZX1BPTElDWV9VTlNQRUNJRklFRBAAEi4KKkFDVE9SX1VOQVZBSUxBQklMSVRZX1BPTElDWV9XQUlUX0ZPUl9BQ1RPUhABEjcKM0FDVE9SX1VOQVZBSUxBQklMSVRZX1BPTElDWV9SRUFTU0lHTl9JRl9OT1RfU1RBUlRFRBACEjQKMEFDVE9SX1VOQVZBSUxBQklMSVRZX1BPTElDWV9TVVNQRU5EX0FORF9SRUFTU0lHThADQrIBCg5jb20ucHJvY2Vzcy52MUITVGFza0RlZmluaXRpb25Qcm90b1ABWjlnaXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvcHJvY2Vzcy92MTtwcm9jZXNzdjGiAgNQWFiqAhNNZXNzYWdlcy5Qcm9jZXNzLlYxygIKUHJvY2Vzc1xWMeICFlByb2Nlc3NcVjFcR1BCTWV0YWRhdGHqAgtQcm9jZXNzOjpWMWIGcHJvdG8z", [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
@@ -386,6 +386,57 @@ export type TaskOverride = Message<"process.v1.TaskOverride"> & {
386
386
  export const TaskOverrideSchema: GenMessage<TaskOverride> = /*@__PURE__*/
387
387
  messageDesc(file_process_v1_task_definition, 8);
388
388
 
389
+ /**
390
+ * Requires the observed orientation to be within an angular tolerance of the
391
+ * orientation in TaskDefinition.target.product.local_target. The target pose
392
+ * remains authoritative and is intentionally not duplicated here.
393
+ *
394
+ * @generated from message process.v1.OrientationConstraint
395
+ */
396
+ export type OrientationConstraint = Message<"process.v1.OrientationConstraint"> & {
397
+ /**
398
+ * Maximum angular difference from the target orientation. When omitted, the
399
+ * validating implementation may apply its configured default tolerance.
400
+ *
401
+ * @generated from field: optional double angular_tolerance_degrees = 1;
402
+ */
403
+ angularToleranceDegrees?: number;
404
+ };
405
+
406
+ /**
407
+ * Describes the message process.v1.OrientationConstraint.
408
+ * Use `create(OrientationConstraintSchema)` to create a new message.
409
+ */
410
+ export const OrientationConstraintSchema: GenMessage<OrientationConstraint> = /*@__PURE__*/
411
+ messageDesc(file_process_v1_task_definition, 9);
412
+
413
+ /**
414
+ * A semantic condition that can be evaluated while executing or validating a
415
+ * task. Exactly one constraint kind must be selected.
416
+ *
417
+ * @generated from message process.v1.TaskConstraint
418
+ */
419
+ export type TaskConstraint = Message<"process.v1.TaskConstraint"> & {
420
+ /**
421
+ * Stable identifier within the task definition.
422
+ *
423
+ * @generated from field: string id = 1;
424
+ */
425
+ id: string;
426
+
427
+ /**
428
+ * @generated from field: process.v1.OrientationConstraint orientation = 10;
429
+ */
430
+ orientation?: OrientationConstraint;
431
+ };
432
+
433
+ /**
434
+ * Describes the message process.v1.TaskConstraint.
435
+ * Use `create(TaskConstraintSchema)` to create a new message.
436
+ */
437
+ export const TaskConstraintSchema: GenMessage<TaskConstraint> = /*@__PURE__*/
438
+ messageDesc(file_process_v1_task_definition, 10);
439
+
389
440
  /**
390
441
  * TaskDefinition is the static/universal authoring-time description of a task.
391
442
  *
@@ -527,6 +578,13 @@ export type TaskDefinition = Message<"process.v1.TaskDefinition"> & {
527
578
  * @generated from field: repeated process.v1.TaskOverride overrides = 22;
528
579
  */
529
580
  overrides: TaskOverride[];
581
+
582
+ /**
583
+ * Semantic conditions that supplement the task's validation mechanism.
584
+ *
585
+ * @generated from field: repeated process.v1.TaskConstraint constraints = 23;
586
+ */
587
+ constraints: TaskConstraint[];
530
588
  };
531
589
 
532
590
  /**
@@ -534,7 +592,7 @@ export type TaskDefinition = Message<"process.v1.TaskDefinition"> & {
534
592
  * Use `create(TaskDefinitionSchema)` to create a new message.
535
593
  */
536
594
  export const TaskDefinitionSchema: GenMessage<TaskDefinition> = /*@__PURE__*/
537
- messageDesc(file_process_v1_task_definition, 9);
595
+ messageDesc(file_process_v1_task_definition, 11);
538
596
 
539
597
  /**
540
598
  * @generated from message process.v1.TaskDefinitions
@@ -551,7 +609,7 @@ export type TaskDefinitions = Message<"process.v1.TaskDefinitions"> & {
551
609
  * Use `create(TaskDefinitionsSchema)` to create a new message.
552
610
  */
553
611
  export const TaskDefinitionsSchema: GenMessage<TaskDefinitions> = /*@__PURE__*/
554
- messageDesc(file_process_v1_task_definition, 10);
612
+ messageDesc(file_process_v1_task_definition, 12);
555
613
 
556
614
  /**
557
615
  * @generated from enum process.v1.TaskType
@@ -14,7 +14,7 @@ import type { Message } from "@bufbuild/protobuf";
14
14
  * Describes the file runtime/v1/runtime_requests.proto.
15
15
  */
16
16
  export const file_runtime_v1_runtime_requests: GenFile = /*@__PURE__*/
17
- fileDesc("CiFydW50aW1lL3YxL3J1bnRpbWVfcmVxdWVzdHMucHJvdG8SCnJ1bnRpbWUudjEibwoTUHJvY2Vzc0Fib3J0UmVxdWVzdBIkCg5wcm9jZXNzX3J1bl9pZBgBIAEoCUIMukgJyAEBcgSI8gQBEg4KBnJlYXNvbhgCIAEoCRIiChFleHBlY3RlZF9yZXZpc2lvbhgDIAEoBEIHukgEMgIoASLEAQoWVGFza1N0YXRlQ2hhbmdlUmVxdWVzdBIhCgt0YXNrX3J1bl9pZBgBIAEoCUIMukgJyAEBcgSY8gQBEjgKBXN0YXRlGAIgASgOMhwucnVudGltZS52MS5UYXNrU3RhdGVSZXF1ZXN0Qgu6SAjIAQGCAQIQARISCgplcnJvcl9jb2RlGAMgASgJEhUKDWVycm9yX21lc3NhZ2UYBCABKAkSIgoRZXhwZWN0ZWRfcmV2aXNpb24YBSABKARCB7pIBDICKAEiiAEKE1Rhc2tSZWFzc2lnblJlcXVlc3QSIQoLdGFza19ydW5faWQYASABKAlCDLpICcgBAXIEmPIEARIqCgVhY3RvchgCIAEoCzITLmNvbW1vbi52MS5BY3RvclJlZkIGukgDyAEBEiIKEWV4cGVjdGVkX3JldmlzaW9uGAMgASgEQge6SAQyAigBIt0BChJUYXNrUHJvZ3Jlc3NVcGRhdGUSIQoLdGFza19ydW5faWQYASABKAlCDLpICcgBAXIEmPIEARIqCgVhY3RvchgCIAEoCzITLmNvbW1vbi52MS5BY3RvclJlZkIGukgDyAEBEg8KB21lc3NhZ2UYAyABKAkSHQoMZWxhcHNlZF90aW1lGAQgASgFQge6SAQaAigAEiQKE2VzdGltYXRlZF90aW1lX2xlZnQYBSABKAVCB7pIBBoCKAASIgoRZXhwZWN0ZWRfcmV2aXNpb24YBiABKARCB7pIBDICKAEikAEKF1NlcXVlbmNlUmVhc3NpZ25SZXF1ZXN0EiUKD3NlcXVlbmNlX3J1bl9pZBgBIAEoCUIMukgJyAEBcgSQ8gQBEioKBWFjdG9yGAIgASgLMhMuY29tbW9uLnYxLkFjdG9yUmVmQga6SAPIAQESIgoRZXhwZWN0ZWRfcmV2aXNpb24YAyABKARCB7pIBDICKAEiZAoXU2VxdWVuY2VDb21wbGV0ZVJlcXVlc3QSJQoPc2VxdWVuY2VfcnVuX2lkGAEgASgJQgy6SAnIAQFyBJDyBAESIgoRZXhwZWN0ZWRfcmV2aXNpb24YAiABKARCB7pIBDICKAEq1AEKEFRhc2tTdGF0ZVJlcXVlc3QSIgoeVEFTS19TVEFURV9SRVFVRVNUX1VOU1BFQ0lGSUVEEAASIgoeVEFTS19TVEFURV9SRVFVRVNUX0lOX1BST0dSRVNTEAESGwoXVEFTS19TVEFURV9SRVFVRVNUX0RPTkUQAhIbChdUQVNLX1NUQVRFX1JFUVVFU1RfVU5ETxADEhwKGFRBU0tfU1RBVEVfUkVRVUVTVF9FUlJPUhAEEiAKHFRBU0tfU1RBVEVfUkVRVUVTVF9TVVNQRU5ERUQQBkKzAQoOY29tLnJ1bnRpbWUudjFCFFJ1bnRpbWVSZXF1ZXN0c1Byb3RvUAFaOWdpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9ydW50aW1lL3YxO3J1bnRpbWV2MaICA1JYWKoCE01lc3NhZ2VzLlJ1bnRpbWUuVjHKAgpSdW50aW1lXFYx4gIWUnVudGltZVxWMVxHUEJNZXRhZGF0YeoCC1J1bnRpbWU6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_common_v1_actor, file_validation_v1_predefined_string_rules]);
17
+ fileDesc("CiFydW50aW1lL3YxL3J1bnRpbWVfcmVxdWVzdHMucHJvdG8SCnJ1bnRpbWUudjEibwoTUHJvY2Vzc0Fib3J0UmVxdWVzdBIkCg5wcm9jZXNzX3J1bl9pZBgBIAEoCUIMukgJyAEBcgSI8gQBEg4KBnJlYXNvbhgCIAEoCRIiChFleHBlY3RlZF9yZXZpc2lvbhgDIAEoBEIHukgEMgIoASLEAQoWVGFza1N0YXRlQ2hhbmdlUmVxdWVzdBIhCgt0YXNrX3J1bl9pZBgBIAEoCUIMukgJyAEBcgSY8gQBEjgKBXN0YXRlGAIgASgOMhwucnVudGltZS52MS5UYXNrU3RhdGVSZXF1ZXN0Qgu6SAjIAQGCAQIQARISCgplcnJvcl9jb2RlGAMgASgJEhUKDWVycm9yX21lc3NhZ2UYBCABKAkSIgoRZXhwZWN0ZWRfcmV2aXNpb24YBSABKARCB7pIBDICKAEiiAEKE1Rhc2tSZWFzc2lnblJlcXVlc3QSIQoLdGFza19ydW5faWQYASABKAlCDLpICcgBAXIEmPIEARIqCgVhY3RvchgCIAEoCzITLmNvbW1vbi52MS5BY3RvclJlZkIGukgDyAEBEiIKEWV4cGVjdGVkX3JldmlzaW9uGAMgASgEQge6SAQyAigBIvMDChJUYXNrUHJvZ3Jlc3NVcGRhdGUSIQoLdGFza19ydW5faWQYASABKAlCDLpICcgBAXIEmPIEARIqCgVhY3RvchgCIAEoCzITLmNvbW1vbi52MS5BY3RvclJlZkIGukgDyAEBEg8KB21lc3NhZ2UYAyABKAkSHQoMZWxhcHNlZF90aW1lGAQgASgFQge6SAQaAigAEiQKE2VzdGltYXRlZF90aW1lX2xlZnQYBSABKAVCB7pIBBoCKAASIgoRZXhwZWN0ZWRfcmV2aXNpb24YBiABKARCB7pIBDICKAESNgoFcGhhc2UYByABKA4yHS5ydW50aW1lLnYxLlRhc2tQcm9ncmVzc1BoYXNlQgi6SAWCAQIQARIwChBwaGFzZV9jb25maWRlbmNlGAggASgCQhG6SA4KDEABHQAAgD8tAAAAAEgAiAEBOpQBukiQARqNAQoudGFza19wcm9ncmVzc191cGRhdGUuY29uZmlkZW5jZV9yZXF1aXJlc19waGFzZRIrcGhhc2VfY29uZmlkZW5jZSByZXF1aXJlcyBhIHNwZWNpZmllZCBwaGFzZRouIWhhcyh0aGlzLnBoYXNlX2NvbmZpZGVuY2UpIHx8IHRoaXMucGhhc2UgIT0gMEITChFfcGhhc2VfY29uZmlkZW5jZSKQAQoXU2VxdWVuY2VSZWFzc2lnblJlcXVlc3QSJQoPc2VxdWVuY2VfcnVuX2lkGAEgASgJQgy6SAnIAQFyBJDyBAESKgoFYWN0b3IYAiABKAsyEy5jb21tb24udjEuQWN0b3JSZWZCBrpIA8gBARIiChFleHBlY3RlZF9yZXZpc2lvbhgDIAEoBEIHukgEMgIoASJkChdTZXF1ZW5jZUNvbXBsZXRlUmVxdWVzdBIlCg9zZXF1ZW5jZV9ydW5faWQYASABKAlCDLpICcgBAXIEkPIEARIiChFleHBlY3RlZF9yZXZpc2lvbhgCIAEoBEIHukgEMgIoASrUAQoQVGFza1N0YXRlUmVxdWVzdBIiCh5UQVNLX1NUQVRFX1JFUVVFU1RfVU5TUEVDSUZJRUQQABIiCh5UQVNLX1NUQVRFX1JFUVVFU1RfSU5fUFJPR1JFU1MQARIbChdUQVNLX1NUQVRFX1JFUVVFU1RfRE9ORRACEhsKF1RBU0tfU1RBVEVfUkVRVUVTVF9VTkRPEAMSHAoYVEFTS19TVEFURV9SRVFVRVNUX0VSUk9SEAQSIAocVEFTS19TVEFURV9SRVFVRVNUX1NVU1BFTkRFRBAGKvIBChFUYXNrUHJvZ3Jlc3NQaGFzZRIjCh9UQVNLX1BST0dSRVNTX1BIQVNFX1VOU1BFQ0lGSUVEEAASIAocVEFTS19QUk9HUkVTU19QSEFTRV9MT0NBVElORxABEiMKH1RBU0tfUFJPR1JFU1NfUEhBU0VfQVBQUk9BQ0hJTkcQAhIjCh9UQVNLX1BST0dSRVNTX1BIQVNFX1BPU0lUSU9OSU5HEAMSIQodVEFTS19QUk9HUkVTU19QSEFTRV9WRVJJRllJTkcQBBIpCiVUQVNLX1BST0dSRVNTX1BIQVNFX1JFQURZX1RPX0NPTVBMRVRFEAVCswEKDmNvbS5ydW50aW1lLnYxQhRSdW50aW1lUmVxdWVzdHNQcm90b1ABWjlnaXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvcnVudGltZS92MTtydW50aW1ldjGiAgNSWFiqAhNNZXNzYWdlcy5SdW50aW1lLlYxygIKUnVudGltZVxWMeICFlJ1bnRpbWVcVjFcR1BCTWV0YWRhdGHqAgtSdW50aW1lOjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_common_v1_actor, file_validation_v1_predefined_string_rules]);
18
18
 
19
19
  /**
20
20
  * @generated from message runtime.v1.ProcessAbortRequest
@@ -152,6 +152,20 @@ export type TaskProgressUpdate = Message<"runtime.v1.TaskProgressUpdate"> & {
152
152
  * @generated from field: uint64 expected_revision = 6;
153
153
  */
154
154
  expectedRevision: bigint;
155
+
156
+ /**
157
+ * Optional semantic execution phase. UNSPECIFIED preserves compatibility with phase-unaware reporters.
158
+ *
159
+ * @generated from field: runtime.v1.TaskProgressPhase phase = 7;
160
+ */
161
+ phase: TaskProgressPhase;
162
+
163
+ /**
164
+ * Reporter confidence in phase, from 0 (no confidence) to 1 (fully confident).
165
+ *
166
+ * @generated from field: optional float phase_confidence = 8;
167
+ */
168
+ phaseConfidence?: number;
155
169
  };
156
170
 
157
171
  /**
@@ -261,3 +275,58 @@ export enum TaskStateRequest {
261
275
  export const TaskStateRequestSchema: GenEnum<TaskStateRequest> = /*@__PURE__*/
262
276
  enumDesc(file_runtime_v1_runtime_requests, 0);
263
277
 
278
+ /**
279
+ * Fine-grained progress within an in-progress task. This complements
280
+ * TaskRunState and deliberately does not include a completed phase; completion
281
+ * is represented by TASK_RUN_STATE_DONE.
282
+ *
283
+ * @generated from enum runtime.v1.TaskProgressPhase
284
+ */
285
+ export enum TaskProgressPhase {
286
+ /**
287
+ * @generated from enum value: TASK_PROGRESS_PHASE_UNSPECIFIED = 0;
288
+ */
289
+ UNSPECIFIED = 0,
290
+
291
+ /**
292
+ * The actor is finding the target, part, tool, or work area.
293
+ *
294
+ * @generated from enum value: TASK_PROGRESS_PHASE_LOCATING = 1;
295
+ */
296
+ LOCATING = 1,
297
+
298
+ /**
299
+ * The actor is moving toward the target or preferred pre-target pose.
300
+ *
301
+ * @generated from enum value: TASK_PROGRESS_PHASE_APPROACHING = 2;
302
+ */
303
+ APPROACHING = 2,
304
+
305
+ /**
306
+ * The actor is aligning, inserting, or otherwise establishing the target pose.
307
+ *
308
+ * @generated from enum value: TASK_PROGRESS_PHASE_POSITIONING = 3;
309
+ */
310
+ POSITIONING = 3,
311
+
312
+ /**
313
+ * The task result is being checked against its validation requirements.
314
+ *
315
+ * @generated from enum value: TASK_PROGRESS_PHASE_VERIFYING = 4;
316
+ */
317
+ VERIFYING = 4,
318
+
319
+ /**
320
+ * All known requirements are satisfied and the task may be completed.
321
+ *
322
+ * @generated from enum value: TASK_PROGRESS_PHASE_READY_TO_COMPLETE = 5;
323
+ */
324
+ READY_TO_COMPLETE = 5,
325
+ }
326
+
327
+ /**
328
+ * Describes the enum runtime.v1.TaskProgressPhase.
329
+ */
330
+ export const TaskProgressPhaseSchema: GenEnum<TaskProgressPhase> = /*@__PURE__*/
331
+ enumDesc(file_runtime_v1_runtime_requests, 1);
332
+
@@ -26,7 +26,7 @@ import type { Message } from "@bufbuild/protobuf";
26
26
  * Describes the file runtime/v1/task_run.proto.
27
27
  */
28
28
  export const file_runtime_v1_task_run: GenFile = /*@__PURE__*/
29
- fileDesc("ChlydW50aW1lL3YxL3Rhc2tfcnVuLnByb3RvEgpydW50aW1lLnYxIowBChJUYXNrUnVudGltZUJpbmRpbmcSGQoRYXNzZXRfaW5zdGFuY2VfaWQYASABKAkSEgoKc3RhdGlvbl9pZBgCIAEoCRIPCgdjZWxsX2lkGAMgASgJEjYKDmNvbnRhaW5lcl9zbG90GAQgASgLMh4ucmVzb3VyY2VzLnYxLkNvbnRhaW5lclNsb3RSZWYiuwYKB1Rhc2tSdW4SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEigKEnRhc2tfZGVmaW5pdGlvbl9pZBgEIAEoCUIMukgJyAEBcgSw8gQBEiwKFnBhcmVudF9zZXF1ZW5jZV9ydW5faWQYBSABKAlCDLpICcgBAXIEkPIEARI0CgVzdGF0ZRgGIAEoDjIYLnJ1bnRpbWUudjEuVGFza1J1blN0YXRlQgu6SAjIAQGCAQIQARItChBjYW5kaWRhdGVfYWN0b3JzGAcgAygLMhMuY29tbW9uLnYxLkFjdG9yUmVmEisKDmFzc2lnbmVkX2FjdG9yGAggASgLMhMuY29tbW9uLnYxLkFjdG9yUmVmEg4KBmNhbl9kbxgJIAEoCBIQCghjYW5fdW5kbxgKIAEoCBIYChB3b3JrYWJsZV9ob3Jpem9uGAsgASgFEjgKEmVzdGltYXRlZF9kdXJhdGlvbhgMIAEoCzIcLmNvbW1vbi52MS5Fc3RpbWF0ZWREdXJhdGlvbhIuCgpzdGFydGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmVycm9yX2NvZGUYDyABKAkSFQoNZXJyb3JfbWVzc2FnZRgQIAEoCRIvCgdiaW5kaW5nGBEgASgLMh4ucnVudGltZS52MS5UYXNrUnVudGltZUJpbmRpbmcSNAoMcmVzdHJpY3Rpb25zGBMgAygLMh4ucnVudGltZS52MS5SdW50aW1lUmVzdHJpY3Rpb24SSQobY2FuZGlkYXRlX2FjdG9yX2V2YWx1YXRpb25zGBQgAygLMiQucnVudGltZS52MS5DYW5kaWRhdGVBY3RvckV2YWx1YXRpb24STgoXYWN0b3JfYXNzaWdubWVudF9zdGF0dXMYFSABKAsyJS5ydW50aW1lLnYxLlRhc2tBY3RvckFzc2lnbm1lbnRTdGF0dXNCBrpIA8gBARIZCghyZXZpc2lvbhgWIAEoBEIHukgEMgIoASIuCghUYXNrUnVucxIiCgVpdGVtcxgBIAMoCzITLnJ1bnRpbWUudjEuVGFza1J1birzAQoMVGFza1J1blN0YXRlEh4KGlRBU0tfUlVOX1NUQVRFX1VOU1BFQ0lGSUVEEAASHAoYVEFTS19SVU5fU1RBVEVfTk9UX1JFQURZEAESGAoUVEFTS19SVU5fU1RBVEVfUkVBRFkQAhIeChpUQVNLX1JVTl9TVEFURV9JTl9QUk9HUkVTUxADEhcKE1RBU0tfUlVOX1NUQVRFX0RPTkUQBBIYChRUQVNLX1JVTl9TVEFURV9FUlJPUhAFEhoKFlRBU0tfUlVOX1NUQVRFX0FCT1JURUQQBhIcChhUQVNLX1JVTl9TVEFURV9TVVNQRU5ERUQQB0KrAQoOY29tLnJ1bnRpbWUudjFCDFRhc2tSdW5Qcm90b1ABWjlnaXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvcnVudGltZS92MTtydW50aW1ldjGiAgNSWFiqAhNNZXNzYWdlcy5SdW50aW1lLlYxygIKUnVudGltZVxWMeICFlJ1bnRpbWVcVjFcR1BCTWV0YWRhdGHqAgtSdW50aW1lOjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_common_v1_actor, file_common_v1_time, file_google_protobuf_timestamp, file_resources_v1_container_definition, file_runtime_v1_actor_assignment, file_runtime_v1_process_requests, file_runtime_v1_runtime_restriction, file_validation_v1_predefined_string_rules]);
29
+ fileDesc("ChlydW50aW1lL3YxL3Rhc2tfcnVuLnByb3RvEgpydW50aW1lLnYxIuIBChJUYXNrUnVudGltZUJpbmRpbmcSJAoRYXNzZXRfaW5zdGFuY2VfaWQYASABKAlCCbpIBnIEuPEEARIdCgpzdGF0aW9uX2lkGAIgASgJQgm6SAZyBPjxBAESGgoHY2VsbF9pZBgDIAEoCUIJukgGcgS48gQBEjYKDmNvbnRhaW5lcl9zbG90GAQgASgLMh4ucmVzb3VyY2VzLnYxLkNvbnRhaW5lclNsb3RSZWYSMwobY2FuZGlkYXRlX3BhcnRfaW5zdGFuY2VfaWRzGAUgAygJQg66SAuSAQgiBnIE0PEEASK7BgoHVGFza1J1bhIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEgwKBGljb24YAyABKAkSKAoSdGFza19kZWZpbml0aW9uX2lkGAQgASgJQgy6SAnIAQFyBLDyBAESLAoWcGFyZW50X3NlcXVlbmNlX3J1bl9pZBgFIAEoCUIMukgJyAEBcgSQ8gQBEjQKBXN0YXRlGAYgASgOMhgucnVudGltZS52MS5UYXNrUnVuU3RhdGVCC7pICMgBAYIBAhABEi0KEGNhbmRpZGF0ZV9hY3RvcnMYByADKAsyEy5jb21tb24udjEuQWN0b3JSZWYSKwoOYXNzaWduZWRfYWN0b3IYCCABKAsyEy5jb21tb24udjEuQWN0b3JSZWYSDgoGY2FuX2RvGAkgASgIEhAKCGNhbl91bmRvGAogASgIEhgKEHdvcmthYmxlX2hvcml6b24YCyABKAUSOAoSZXN0aW1hdGVkX2R1cmF0aW9uGAwgASgLMhwuY29tbW9uLnYxLkVzdGltYXRlZER1cmF0aW9uEi4KCnN0YXJ0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGNvbXBsZXRlZF9hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKZXJyb3JfY29kZRgPIAEoCRIVCg1lcnJvcl9tZXNzYWdlGBAgASgJEi8KB2JpbmRpbmcYESABKAsyHi5ydW50aW1lLnYxLlRhc2tSdW50aW1lQmluZGluZxI0CgxyZXN0cmljdGlvbnMYEyADKAsyHi5ydW50aW1lLnYxLlJ1bnRpbWVSZXN0cmljdGlvbhJJChtjYW5kaWRhdGVfYWN0b3JfZXZhbHVhdGlvbnMYFCADKAsyJC5ydW50aW1lLnYxLkNhbmRpZGF0ZUFjdG9yRXZhbHVhdGlvbhJOChdhY3Rvcl9hc3NpZ25tZW50X3N0YXR1cxgVIAEoCzIlLnJ1bnRpbWUudjEuVGFza0FjdG9yQXNzaWdubWVudFN0YXR1c0IGukgDyAEBEhkKCHJldmlzaW9uGBYgASgEQge6SAQyAigBIi4KCFRhc2tSdW5zEiIKBWl0ZW1zGAEgAygLMhMucnVudGltZS52MS5UYXNrUnVuKvMBCgxUYXNrUnVuU3RhdGUSHgoaVEFTS19SVU5fU1RBVEVfVU5TUEVDSUZJRUQQABIcChhUQVNLX1JVTl9TVEFURV9OT1RfUkVBRFkQARIYChRUQVNLX1JVTl9TVEFURV9SRUFEWRACEh4KGlRBU0tfUlVOX1NUQVRFX0lOX1BST0dSRVNTEAMSFwoTVEFTS19SVU5fU1RBVEVfRE9ORRAEEhgKFFRBU0tfUlVOX1NUQVRFX0VSUk9SEAUSGgoWVEFTS19SVU5fU1RBVEVfQUJPUlRFRBAGEhwKGFRBU0tfUlVOX1NUQVRFX1NVU1BFTkRFRBAHQqsBCg5jb20ucnVudGltZS52MUIMVGFza1J1blByb3RvUAFaOWdpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9ydW50aW1lL3YxO3J1bnRpbWV2MaICA1JYWKoCE01lc3NhZ2VzLlJ1bnRpbWUuVjHKAgpSdW50aW1lXFYx4gIWUnVudGltZVxWMVxHUEJNZXRhZGF0YeoCC1J1bnRpbWU6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_common_v1_actor, file_common_v1_time, file_google_protobuf_timestamp, file_resources_v1_container_definition, file_runtime_v1_actor_assignment, file_runtime_v1_process_requests, file_runtime_v1_runtime_restriction, file_validation_v1_predefined_string_rules]);
30
30
 
31
31
  /**
32
32
  * Concrete runtime/deployment bindings resolved for this task run.
@@ -35,24 +35,39 @@ export const file_runtime_v1_task_run: GenFile = /*@__PURE__*/
35
35
  */
36
36
  export type TaskRuntimeBinding = Message<"runtime.v1.TaskRuntimeBinding"> & {
37
37
  /**
38
+ * Concrete asset selected for this task run.
39
+ *
38
40
  * @generated from field: string asset_instance_id = 1;
39
41
  */
40
42
  assetInstanceId: string;
41
43
 
42
44
  /**
45
+ * Concrete station in which the task runs.
46
+ *
43
47
  * @generated from field: string station_id = 2;
44
48
  */
45
49
  stationId: string;
46
50
 
47
51
  /**
52
+ * Concrete cell in which the task runs.
53
+ *
48
54
  * @generated from field: string cell_id = 3;
49
55
  */
50
56
  cellId: string;
51
57
 
52
58
  /**
59
+ * Concrete container slot selected for source or destination work.
60
+ *
53
61
  * @generated from field: resources.v1.ContainerSlotRef container_slot = 4;
54
62
  */
55
63
  containerSlot?: ContainerSlotRef;
64
+
65
+ /**
66
+ * Candidate parts. Notice that their availability must be checked during runtime. Also, new candidates might be available.
67
+ *
68
+ * @generated from field: repeated string candidate_part_instance_ids = 5;
69
+ */
70
+ candidatePartInstanceIds: string[];
56
71
  };
57
72
 
58
73
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cobotar/protocol",
3
- "version": "1.1.1",
3
+ "version": "1.2.0",
4
4
  "description": "A collection of protobuf messages for the CobotAR-project",
5
5
  "homepage": "https://github.com/cobotar/protocol#readme",
6
6
  "files": [