@cobotar/protocol 0.18.19 → 0.18.20

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: 0.18.19
4
+ Current version: 0.18.20
5
5
 
6
6
  ## Documentation
7
7
  Find it here: [documentation/README.md](documentation/README.md)
@@ -213,6 +213,23 @@ export const SkillLevelSchema: GenEnum<SkillLevel> = /*@__PURE__*/
213
213
  enumDesc(file_capability_v1_actor_skill, 0);
214
214
 
215
215
  /**
216
+ * SkillStatus describes the current usability of an actor's skill.
217
+ *
218
+ * The status is operational and should be interpreted together with the
219
+ * associated policy, validity timestamps, and any derived restrictions.
220
+ *
221
+ * Typical semantics:
222
+ * - ACTIVE -> skill is fully usable
223
+ * - RESTRICTED -> skill is usable, but only under additional runtime
224
+ * safeguards such as AR guidance, extra validation,
225
+ * supervision, or other assistance
226
+ * - EXPIRED -> skill is no longer valid and must not be used
227
+ *
228
+ * Loaders and runtime planners should therefore treat:
229
+ * - ACTIVE -> feasible
230
+ * - RESTRICTED -> feasible with restrictions
231
+ * - EXPIRED -> infeasible
232
+ *
216
233
  * @generated from enum capability.v1.SkillStatus
217
234
  */
218
235
  export enum SkillStatus {
@@ -222,16 +239,28 @@ export enum SkillStatus {
222
239
  UNSPECIFIED = 0,
223
240
 
224
241
  /**
242
+ * Skill is valid and can be used normally.
243
+ *
225
244
  * @generated from enum value: SKILL_STATUS_ACTIVE = 1;
226
245
  */
227
246
  ACTIVE = 1,
228
247
 
229
248
  /**
249
+ * Skill is allowed but restricted. The actor may perform the task but additional safeguards
250
+ *
251
+ * Examples:
252
+ * - AR guidance required
253
+ * - manual confirmation required
254
+ * - second check required
255
+ * - supervisor approval required
256
+ *
230
257
  * @generated from enum value: SKILL_STATUS_RESTRICTED = 2;
231
258
  */
232
259
  RESTRICTED = 2,
233
260
 
234
261
  /**
262
+ * Skill is no longer valid and cannot be used.
263
+ *
235
264
  * @generated from enum value: SKILL_STATUS_EXPIRED = 3;
236
265
  */
237
266
  EXPIRED = 3,
@@ -5,10 +5,14 @@
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 { ActorRef } from "../../common/v1/actor_pb.ts";
9
+ import { file_common_v1_actor } from "../../common/v1/actor_pb.ts";
8
10
  import type { KeyValueConstraint } from "../../common/v1/key_value_constraint_pb.ts";
9
11
  import { file_common_v1_key_value_constraint } from "../../common/v1/key_value_constraint_pb.ts";
10
12
  import type { ProcessRun } from "./process_run_pb.ts";
11
13
  import { file_runtime_v1_process_run } from "./process_run_pb.ts";
14
+ import type { RuntimeRestriction } from "./runtime_restriction_pb.ts";
15
+ import { file_runtime_v1_runtime_restriction } from "./runtime_restriction_pb.ts";
12
16
  import { file_validation_v1_predefined_string_rules } from "../../validation/v1/predefined_string_rules_pb.ts";
13
17
  import type { VariantConfiguration } from "../../variance/v1/variant_configuration_pb.ts";
14
18
  import { file_variance_v1_variant_configuration } from "../../variance/v1/variant_configuration_pb.ts";
@@ -18,7 +22,7 @@ import type { Message } from "@bufbuild/protobuf";
18
22
  * Describes the file runtime/v1/process_requests.proto.
19
23
  */
20
24
  export const file_runtime_v1_process_requests: GenFile = /*@__PURE__*/
21
- fileDesc("CiFydW50aW1lL3YxL3Byb2Nlc3NfcmVxdWVzdHMucHJvdG8SCnJ1bnRpbWUudjEiogMKElByb2Nlc3NMb2FkUmVxdWVzdBInChFwcm9jZXNzX3JlY2lwZV9pZBgBIAEoCUIMukgJyAEBcgSI8gQBEiQKDnRhcmdldF9saW5lX2lkGAIgASgJQgy6SAnIAQFyBKjyBAESJAoOdGFyZ2V0X2NlbGxfaWQYAyABKAlCDLpICcgBAXIEoPIEARInChF0YXJnZXRfc3RhdGlvbl9pZBgEIAEoCUIMukgJyAEBcgTY8QQBEkAKFXZhcmlhbnRfY29uZmlndXJhdGlvbhgFIAEoCzIhLnZhcmlhbmNlLnYxLlZhcmlhbnRDb25maWd1cmF0aW9uEg8KB2RyeV9ydW4YBiABKAgSGQoRcXVldWVfaWZfb2NjdXBpZWQYByABKAgSOwoIc3RyYXRlZ3kYCCABKA4yHy5ydW50aW1lLnYxLlByb2Nlc3NMb2FkU3RyYXRlZ3lCCLpIBYIBAhABEhAKCG9yZGVyX2lkGAkgASgJEjEKCnBhcmFtZXRlcnMYCiADKAsyHS5jb21tb24udjEuS2V5VmFsdWVDb25zdHJhaW50Is8DCg9Qcm9jZXNzUnVuSXNzdWUSLwoHZmFpbHVyZRgBIAEoDjIeLnJ1bnRpbWUudjEuUHJvY2Vzc0xvYWRGYWlsdXJlEg8KB21lc3NhZ2UYAiABKAkSNQoIc2V2ZXJpdHkYAyABKA4yIy5ydW50aW1lLnYxLlByb2Nlc3NSdW5Jc3N1ZVNldmVyaXR5EhkKEXByb2Nlc3NfcmVjaXBlX2lkGAQgASgJEh4KFnNlcXVlbmNlX2RlZmluaXRpb25faWQYBSABKAkSGgoSdGFza19kZWZpbml0aW9uX2lkGAYgASgJEhoKEnJlcXVpcmVkX3Rvb2xfcm9sZRgHIAEoCRIZChFyZXF1aXJlZF9za2lsbF9pZBgIIAEoCRIdChVmaXh0dXJlX2RlZmluaXRpb25faWQYCSABKAkSDwoHY2VsbF9pZBgKIAEoCRISCgpzdGF0aW9uX2lkGAsgASgJEhAKCGFjdG9yX2lkGAwgASgJEhMKC3Jlc291cmNlX2lkGA0gASgJEhMKC3JlbWVkaWF0aW9uGA4gASgJEjUKCmltcG9ydGFuY2UYDyABKA4yIS5ydW50aW1lLnYxLlJlcXVpcmVtZW50SW1wb3J0YW5jZSKkAgoPVGFza0ZlYXNpYmlsaXR5EhoKEnRhc2tfZGVmaW5pdGlvbl9pZBgBIAEoCRIQCghmZWFzaWJsZRgCIAEoCBIbChNjYW5kaWRhdGVfYWN0b3JfaWRzGAMgAygJEiQKHGNhbmRpZGF0ZV9yb2JvdF9pbnN0YW5jZV9pZHMYBCADKAkSIwobY2FuZGlkYXRlX3Rvb2xfaW5zdGFuY2VfaWRzGAUgAygJEigKIGNhbmRpZGF0ZV9jb250YWluZXJfaW5zdGFuY2VfaWRzGAYgAygJEiQKHGNhbmRpZGF0ZV9hc3NldF9pbnN0YW5jZV9pZHMYByADKAkSKwoGaXNzdWVzGAggAygLMhsucnVudGltZS52MS5Qcm9jZXNzUnVuSXNzdWUirgIKGFByb2Nlc3NSdW5QcmVjaGVja1Jlc3VsdBIKCgJvaxgBIAEoCBIrCgZpc3N1ZXMYAiADKAsyGy5ydW50aW1lLnYxLlByb2Nlc3NSdW5Jc3N1ZRIcChRibG9ja2luZ19pc3N1ZV9jb3VudBgDIAEoBRIbChN3YXJuaW5nX2lzc3VlX2NvdW50GAQgASgFEhkKEXByb2Nlc3NfcmVjaXBlX2lkGAUgASgJEhYKDnRhcmdldF9saW5lX2lkGAYgASgJEjUKEHRhc2tfZmVhc2liaWxpdHkYByADKAsyGy5ydW50aW1lLnYxLlRhc2tGZWFzaWJpbGl0eRI0CgZzdGF0dXMYCCABKA4yJC5ydW50aW1lLnYxLlByb2Nlc3NSdW5QcmVjaGVja1N0YXR1cyKnAQoRUHJvY2Vzc0xvYWRSZXN1bHQSLQoGc3RhdHVzGAEgASgOMh0ucnVudGltZS52MS5Qcm9jZXNzTG9hZFN0YXR1cxI2CghwcmVjaGVjaxgCIAEoCzIkLnJ1bnRpbWUudjEuUHJvY2Vzc1J1blByZWNoZWNrUmVzdWx0EisKC3Byb2Nlc3NfcnVuGAMgASgLMhYucnVudGltZS52MS5Qcm9jZXNzUnVuKucBChNQcm9jZXNzTG9hZFN0cmF0ZWd5EiUKIVBST0NFU1NfTE9BRF9TVFJBVEVHWV9VTlNQRUNJRklFRBAAEigKJFBST0NFU1NfTE9BRF9TVFJBVEVHWV9GSVJTVF9GRUFTSUJMRRABEioKJlBST0NFU1NfTE9BRF9TVFJBVEVHWV9QUkVGRVJfQVZBSUxBQkxFEAISLQopUFJPQ0VTU19MT0FEX1NUUkFURUdZX1BSRUZFUl9UQVJHRVRfU0NPUEUQAxIkCiBQUk9DRVNTX0xPQURfU1RSQVRFR1lfQkVTVF9NQVRDSBAEKvkLChJQcm9jZXNzTG9hZEZhaWx1cmUSJAogUFJPQ0VTU19MT0FEX0ZBSUxVUkVfVU5TUEVDSUZJRUQQABIxCi1QUk9DRVNTX0xPQURfRkFJTFVSRV9QUk9DRVNTX1JFQ0lQRV9OT1RfRk9VTkQQAhIuCipQUk9DRVNTX0xPQURfRkFJTFVSRV9QUk9EVUNUX05PVF9TVVBQT1JURUQQAxIvCitQUk9DRVNTX0xPQURfRkFJTFVSRV9SRVNPVVJDRV9TVEFURV9VTktOT1dOEAQSMAosUFJPQ0VTU19MT0FEX0ZBSUxVUkVfTk9fQ09NUEFUSUJMRV9DT05UQUlORVIQChIwCixQUk9DRVNTX0xPQURfRkFJTFVSRV9SRVFVSVJFRF9TTE9UX05PVF9GT1VORBALEjUKMVBST0NFU1NfTE9BRF9GQUlMVVJFX1JFUVVJUkVEX1NMT1RfVFlQRV9OT1RfRk9VTkQQDBIqCiZQUk9DRVNTX0xPQURfRkFJTFVSRV9NSVNTSU5HX1RPT0xfUk9MRRAUEiwKKFBST0NFU1NfTE9BRF9GQUlMVVJFX1RPT0xfTk9UX0NBTElCUkFURUQQFRI1CjFQUk9DRVNTX0xPQURfRkFJTFVSRV9UT09MX0NBUEFCSUxJVFlfSU5TVUZGSUNJRU5UEBYSKgomUFJPQ0VTU19MT0FEX0ZBSUxVUkVfUk9CT1RfVU5BVkFJTEFCTEUQHhIvCitQUk9DRVNTX0xPQURfRkFJTFVSRV9ST0JPVF9UT09MSU5HX01JU01BVENIEB8SLgoqUFJPQ0VTU19MT0FEX0ZBSUxVUkVfTk9fUVVBTElGSUVEX09QRVJBVE9SECgSKgomUFJPQ0VTU19MT0FEX0ZBSUxVUkVfTk9fRkVBU0lCTEVfQUNUT1IQKRIyCi5QUk9DRVNTX0xPQURfRkFJTFVSRV9SRVFVSVJFRF9TS0lMTF9SRVNUUklDVEVEECoSLworUFJPQ0VTU19MT0FEX0ZBSUxVUkVfUkVRVUlSRURfU0tJTExfRVhQSVJFRBArEjcKM1BST0NFU1NfTE9BRF9GQUlMVVJFX0NPTExBQk9SQVRJT05fTU9ERV9VTlNVUFBPUlRFRBAyEi0KKVBST0NFU1NfTE9BRF9GQUlMVVJFX1NBRkVUWV9NT0RFX01JU01BVENIEDMSMQotUFJPQ0VTU19MT0FEX0ZBSUxVUkVfVklTSU9OX0FTU0VUX1VOQVZBSUxBQkxFEDwSMgouUFJPQ0VTU19MT0FEX0ZBSUxVUkVfVkFMSURBVElPTl9TT1VSQ0VfTUlTU0lORxA9EjYKMlBST0NFU1NfTE9BRF9GQUlMVVJFX05PX0ZFQVNJQkxFX1ZBTElEQVRJT05fTUVUSE9EED4SJwojUFJPQ0VTU19MT0FEX0ZBSUxVUkVfTElORV9OT1RfRk9VTkQQRhIkCiBQUk9DRVNTX0xPQURfRkFJTFVSRV9MSU5FX0NMT1NFRBBHEiIKHlBST0NFU1NfTE9BRF9GQUlMVVJFX0xJTkVfQlVTWRBIEiUKIVBST0NFU1NfTE9BRF9GQUlMVVJFX0xJTkVfQkxPQ0tFRBBJEicKI1BST0NFU1NfTE9BRF9GQUlMVVJFX0NFTExfTk9UX0ZPVU5EEFASJAogUFJPQ0VTU19MT0FEX0ZBSUxVUkVfQ0VMTF9DTE9TRUQQURIiCh5QUk9DRVNTX0xPQURfRkFJTFVSRV9DRUxMX0JVU1kQUhIlCiFQUk9DRVNTX0xPQURfRkFJTFVSRV9DRUxMX0JMT0NLRUQQUxIqCiZQUk9DRVNTX0xPQURfRkFJTFVSRV9TVEFUSU9OX05PVF9GT1VORBBaEicKI1BST0NFU1NfTE9BRF9GQUlMVVJFX1NUQVRJT05fQ0xPU0VEEFsSJQohUFJPQ0VTU19MT0FEX0ZBSUxVUkVfU1RBVElPTl9CVVNZEFwSKAokUFJPQ0VTU19MT0FEX0ZBSUxVUkVfU1RBVElPTl9CTE9DS0VEEF0qlgEKF1Byb2Nlc3NSdW5Jc3N1ZVNldmVyaXR5EioKJlBST0NFU1NfUlVOX0lTU1VFX1NFVkVSSVRZX1VOU1BFQ0lGSUVEEAASJwojUFJPQ0VTU19SVU5fSVNTVUVfU0VWRVJJVFlfQkxPQ0tJTkcQARImCiJQUk9DRVNTX1JVTl9JU1NVRV9TRVZFUklUWV9XQVJOSU5HEAIqigEKFVJlcXVpcmVtZW50SW1wb3J0YW5jZRImCiJSRVFVSVJFTUVOVF9JTVBPUlRBTkNFX1VOU1BFQ0lGSUVEEAASIwofUkVRVUlSRU1FTlRfSU1QT1JUQU5DRV9SRVFVSVJFRBABEiQKIFJFUVVJUkVNRU5UX0lNUE9SVEFOQ0VfUFJFRkVSUkVEEAIqxgEKGFByb2Nlc3NSdW5QcmVjaGVja1N0YXR1cxIrCidQUk9DRVNTX1JVTl9QUkVDSEVDS19TVEFUVVNfVU5TUEVDSUZJRUQQABIiCh5QUk9DRVNTX1JVTl9QUkVDSEVDS19TVEFUVVNfT0sQARIwCixQUk9DRVNTX1JVTl9QUkVDSEVDS19TVEFUVVNfT0tfV0lUSF9XQVJOSU5HUxACEicKI1BST0NFU1NfUlVOX1BSRUNIRUNLX1NUQVRVU19CTE9DS0VEEAMqoAEKEVByb2Nlc3NMb2FkU3RhdHVzEiMKH1BST0NFU1NfTE9BRF9TVEFUVVNfVU5TUEVDSUZJRUQQABInCiNQUk9DRVNTX0xPQURfU1RBVFVTX1BSRUNIRUNLX0ZBSUxFRBABEh0KGVBST0NFU1NfTE9BRF9TVEFUVVNfUkVBRFkQAhIeChpQUk9DRVNTX0xPQURfU1RBVFVTX0xPQURFRBADQrMBCg5jb20ucnVudGltZS52MUIUUHJvY2Vzc1JlcXVlc3RzUHJvdG9QAVo5Z2l0aHViLmNvbS9jb2JvdGFyL3Byb3RvY29sL21lc3NhZ2VzL3J1bnRpbWUvdjE7cnVudGltZXYxogIDUlhYqgITTWVzc2FnZXMuUnVudGltZS5WMcoCClJ1bnRpbWVcVjHiAhZSdW50aW1lXFYxXEdQQk1ldGFkYXRh6gILUnVudGltZTo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_common_v1_key_value_constraint, file_runtime_v1_process_run, file_validation_v1_predefined_string_rules, file_variance_v1_variant_configuration]);
25
+ fileDesc("CiFydW50aW1lL3YxL3Byb2Nlc3NfcmVxdWVzdHMucHJvdG8SCnJ1bnRpbWUudjEiogMKElByb2Nlc3NMb2FkUmVxdWVzdBInChFwcm9jZXNzX3JlY2lwZV9pZBgBIAEoCUIMukgJyAEBcgSI8gQBEiQKDnRhcmdldF9saW5lX2lkGAIgASgJQgy6SAnIAQFyBKjyBAESJAoOdGFyZ2V0X2NlbGxfaWQYAyABKAlCDLpICcgBAXIEoPIEARInChF0YXJnZXRfc3RhdGlvbl9pZBgEIAEoCUIMukgJyAEBcgTY8QQBEkAKFXZhcmlhbnRfY29uZmlndXJhdGlvbhgFIAEoCzIhLnZhcmlhbmNlLnYxLlZhcmlhbnRDb25maWd1cmF0aW9uEg8KB2RyeV9ydW4YBiABKAgSGQoRcXVldWVfaWZfb2NjdXBpZWQYByABKAgSOwoIc3RyYXRlZ3kYCCABKA4yHy5ydW50aW1lLnYxLlByb2Nlc3NMb2FkU3RyYXRlZ3lCCLpIBYIBAhABEhAKCG9yZGVyX2lkGAkgASgJEjEKCnBhcmFtZXRlcnMYCiADKAsyHS5jb21tb24udjEuS2V5VmFsdWVDb25zdHJhaW50Is8DCg9Qcm9jZXNzUnVuSXNzdWUSLwoHZmFpbHVyZRgBIAEoDjIeLnJ1bnRpbWUudjEuUHJvY2Vzc0xvYWRGYWlsdXJlEg8KB21lc3NhZ2UYAiABKAkSNQoIc2V2ZXJpdHkYAyABKA4yIy5ydW50aW1lLnYxLlByb2Nlc3NSdW5Jc3N1ZVNldmVyaXR5EhkKEXByb2Nlc3NfcmVjaXBlX2lkGAQgASgJEh4KFnNlcXVlbmNlX2RlZmluaXRpb25faWQYBSABKAkSGgoSdGFza19kZWZpbml0aW9uX2lkGAYgASgJEhoKEnJlcXVpcmVkX3Rvb2xfcm9sZRgHIAEoCRIZChFyZXF1aXJlZF9za2lsbF9pZBgIIAEoCRIdChVmaXh0dXJlX2RlZmluaXRpb25faWQYCSABKAkSDwoHY2VsbF9pZBgKIAEoCRISCgpzdGF0aW9uX2lkGAsgASgJEhAKCGFjdG9yX2lkGAwgASgJEhMKC3Jlc291cmNlX2lkGA0gASgJEhMKC3JlbWVkaWF0aW9uGA4gASgJEjUKCmltcG9ydGFuY2UYDyABKA4yIS5ydW50aW1lLnYxLlJlcXVpcmVtZW50SW1wb3J0YW5jZSKzAQoYQ2FuZGlkYXRlQWN0b3JFdmFsdWF0aW9uEiIKBWFjdG9yGAEgASgLMhMuY29tbW9uLnYxLkFjdG9yUmVmEhAKCGZlYXNpYmxlGAIgASgIEjQKDHJlc3RyaWN0aW9ucxgDIAMoCzIeLnJ1bnRpbWUudjEuUnVudGltZVJlc3RyaWN0aW9uEisKBmlzc3VlcxgEIAMoCzIbLnJ1bnRpbWUudjEuUHJvY2Vzc1J1bklzc3VlIu8CCg9UYXNrRmVhc2liaWxpdHkSGgoSdGFza19kZWZpbml0aW9uX2lkGAEgASgJEhAKCGZlYXNpYmxlGAIgASgIEhsKE2NhbmRpZGF0ZV9hY3Rvcl9pZHMYAyADKAkSJAocY2FuZGlkYXRlX3JvYm90X2luc3RhbmNlX2lkcxgEIAMoCRIjChtjYW5kaWRhdGVfdG9vbF9pbnN0YW5jZV9pZHMYBSADKAkSKAogY2FuZGlkYXRlX2NvbnRhaW5lcl9pbnN0YW5jZV9pZHMYBiADKAkSJAocY2FuZGlkYXRlX2Fzc2V0X2luc3RhbmNlX2lkcxgHIAMoCRIrCgZpc3N1ZXMYCCADKAsyGy5ydW50aW1lLnYxLlByb2Nlc3NSdW5Jc3N1ZRJJChtjYW5kaWRhdGVfYWN0b3JfZXZhbHVhdGlvbnMYCSADKAsyJC5ydW50aW1lLnYxLkNhbmRpZGF0ZUFjdG9yRXZhbHVhdGlvbiKuAgoYUHJvY2Vzc1J1blByZWNoZWNrUmVzdWx0EgoKAm9rGAEgASgIEisKBmlzc3VlcxgCIAMoCzIbLnJ1bnRpbWUudjEuUHJvY2Vzc1J1bklzc3VlEhwKFGJsb2NraW5nX2lzc3VlX2NvdW50GAMgASgFEhsKE3dhcm5pbmdfaXNzdWVfY291bnQYBCABKAUSGQoRcHJvY2Vzc19yZWNpcGVfaWQYBSABKAkSFgoOdGFyZ2V0X2xpbmVfaWQYBiABKAkSNQoQdGFza19mZWFzaWJpbGl0eRgHIAMoCzIbLnJ1bnRpbWUudjEuVGFza0ZlYXNpYmlsaXR5EjQKBnN0YXR1cxgIIAEoDjIkLnJ1bnRpbWUudjEuUHJvY2Vzc1J1blByZWNoZWNrU3RhdHVzIqcBChFQcm9jZXNzTG9hZFJlc3VsdBItCgZzdGF0dXMYASABKA4yHS5ydW50aW1lLnYxLlByb2Nlc3NMb2FkU3RhdHVzEjYKCHByZWNoZWNrGAIgASgLMiQucnVudGltZS52MS5Qcm9jZXNzUnVuUHJlY2hlY2tSZXN1bHQSKwoLcHJvY2Vzc19ydW4YAyABKAsyFi5ydW50aW1lLnYxLlByb2Nlc3NSdW4q5wEKE1Byb2Nlc3NMb2FkU3RyYXRlZ3kSJQohUFJPQ0VTU19MT0FEX1NUUkFURUdZX1VOU1BFQ0lGSUVEEAASKAokUFJPQ0VTU19MT0FEX1NUUkFURUdZX0ZJUlNUX0ZFQVNJQkxFEAESKgomUFJPQ0VTU19MT0FEX1NUUkFURUdZX1BSRUZFUl9BVkFJTEFCTEUQAhItCilQUk9DRVNTX0xPQURfU1RSQVRFR1lfUFJFRkVSX1RBUkdFVF9TQ09QRRADEiQKIFBST0NFU1NfTE9BRF9TVFJBVEVHWV9CRVNUX01BVENIEAQq+QsKElByb2Nlc3NMb2FkRmFpbHVyZRIkCiBQUk9DRVNTX0xPQURfRkFJTFVSRV9VTlNQRUNJRklFRBAAEjEKLVBST0NFU1NfTE9BRF9GQUlMVVJFX1BST0NFU1NfUkVDSVBFX05PVF9GT1VORBACEi4KKlBST0NFU1NfTE9BRF9GQUlMVVJFX1BST0RVQ1RfTk9UX1NVUFBPUlRFRBADEi8KK1BST0NFU1NfTE9BRF9GQUlMVVJFX1JFU09VUkNFX1NUQVRFX1VOS05PV04QBBIwCixQUk9DRVNTX0xPQURfRkFJTFVSRV9OT19DT01QQVRJQkxFX0NPTlRBSU5FUhAKEjAKLFBST0NFU1NfTE9BRF9GQUlMVVJFX1JFUVVJUkVEX1NMT1RfTk9UX0ZPVU5EEAsSNQoxUFJPQ0VTU19MT0FEX0ZBSUxVUkVfUkVRVUlSRURfU0xPVF9UWVBFX05PVF9GT1VORBAMEioKJlBST0NFU1NfTE9BRF9GQUlMVVJFX01JU1NJTkdfVE9PTF9ST0xFEBQSLAooUFJPQ0VTU19MT0FEX0ZBSUxVUkVfVE9PTF9OT1RfQ0FMSUJSQVRFRBAVEjUKMVBST0NFU1NfTE9BRF9GQUlMVVJFX1RPT0xfQ0FQQUJJTElUWV9JTlNVRkZJQ0lFTlQQFhIqCiZQUk9DRVNTX0xPQURfRkFJTFVSRV9ST0JPVF9VTkFWQUlMQUJMRRAeEi8KK1BST0NFU1NfTE9BRF9GQUlMVVJFX1JPQk9UX1RPT0xJTkdfTUlTTUFUQ0gQHxIuCipQUk9DRVNTX0xPQURfRkFJTFVSRV9OT19RVUFMSUZJRURfT1BFUkFUT1IQKBIqCiZQUk9DRVNTX0xPQURfRkFJTFVSRV9OT19GRUFTSUJMRV9BQ1RPUhApEjIKLlBST0NFU1NfTE9BRF9GQUlMVVJFX1JFUVVJUkVEX1NLSUxMX1JFU1RSSUNURUQQKhIvCitQUk9DRVNTX0xPQURfRkFJTFVSRV9SRVFVSVJFRF9TS0lMTF9FWFBJUkVEECsSNwozUFJPQ0VTU19MT0FEX0ZBSUxVUkVfQ09MTEFCT1JBVElPTl9NT0RFX1VOU1VQUE9SVEVEEDISLQopUFJPQ0VTU19MT0FEX0ZBSUxVUkVfU0FGRVRZX01PREVfTUlTTUFUQ0gQMxIxCi1QUk9DRVNTX0xPQURfRkFJTFVSRV9WSVNJT05fQVNTRVRfVU5BVkFJTEFCTEUQPBIyCi5QUk9DRVNTX0xPQURfRkFJTFVSRV9WQUxJREFUSU9OX1NPVVJDRV9NSVNTSU5HED0SNgoyUFJPQ0VTU19MT0FEX0ZBSUxVUkVfTk9fRkVBU0lCTEVfVkFMSURBVElPTl9NRVRIT0QQPhInCiNQUk9DRVNTX0xPQURfRkFJTFVSRV9MSU5FX05PVF9GT1VORBBGEiQKIFBST0NFU1NfTE9BRF9GQUlMVVJFX0xJTkVfQ0xPU0VEEEcSIgoeUFJPQ0VTU19MT0FEX0ZBSUxVUkVfTElORV9CVVNZEEgSJQohUFJPQ0VTU19MT0FEX0ZBSUxVUkVfTElORV9CTE9DS0VEEEkSJwojUFJPQ0VTU19MT0FEX0ZBSUxVUkVfQ0VMTF9OT1RfRk9VTkQQUBIkCiBQUk9DRVNTX0xPQURfRkFJTFVSRV9DRUxMX0NMT1NFRBBREiIKHlBST0NFU1NfTE9BRF9GQUlMVVJFX0NFTExfQlVTWRBSEiUKIVBST0NFU1NfTE9BRF9GQUlMVVJFX0NFTExfQkxPQ0tFRBBTEioKJlBST0NFU1NfTE9BRF9GQUlMVVJFX1NUQVRJT05fTk9UX0ZPVU5EEFoSJwojUFJPQ0VTU19MT0FEX0ZBSUxVUkVfU1RBVElPTl9DTE9TRUQQWxIlCiFQUk9DRVNTX0xPQURfRkFJTFVSRV9TVEFUSU9OX0JVU1kQXBIoCiRQUk9DRVNTX0xPQURfRkFJTFVSRV9TVEFUSU9OX0JMT0NLRUQQXSqWAQoXUHJvY2Vzc1J1bklzc3VlU2V2ZXJpdHkSKgomUFJPQ0VTU19SVU5fSVNTVUVfU0VWRVJJVFlfVU5TUEVDSUZJRUQQABInCiNQUk9DRVNTX1JVTl9JU1NVRV9TRVZFUklUWV9CTE9DS0lORxABEiYKIlBST0NFU1NfUlVOX0lTU1VFX1NFVkVSSVRZX1dBUk5JTkcQAiqKAQoVUmVxdWlyZW1lbnRJbXBvcnRhbmNlEiYKIlJFUVVJUkVNRU5UX0lNUE9SVEFOQ0VfVU5TUEVDSUZJRUQQABIjCh9SRVFVSVJFTUVOVF9JTVBPUlRBTkNFX1JFUVVJUkVEEAESJAogUkVRVUlSRU1FTlRfSU1QT1JUQU5DRV9QUkVGRVJSRUQQAirGAQoYUHJvY2Vzc1J1blByZWNoZWNrU3RhdHVzEisKJ1BST0NFU1NfUlVOX1BSRUNIRUNLX1NUQVRVU19VTlNQRUNJRklFRBAAEiIKHlBST0NFU1NfUlVOX1BSRUNIRUNLX1NUQVRVU19PSxABEjAKLFBST0NFU1NfUlVOX1BSRUNIRUNLX1NUQVRVU19PS19XSVRIX1dBUk5JTkdTEAISJwojUFJPQ0VTU19SVU5fUFJFQ0hFQ0tfU1RBVFVTX0JMT0NLRUQQAyqgAQoRUHJvY2Vzc0xvYWRTdGF0dXMSIwofUFJPQ0VTU19MT0FEX1NUQVRVU19VTlNQRUNJRklFRBAAEicKI1BST0NFU1NfTE9BRF9TVEFUVVNfUFJFQ0hFQ0tfRkFJTEVEEAESHQoZUFJPQ0VTU19MT0FEX1NUQVRVU19SRUFEWRACEh4KGlBST0NFU1NfTE9BRF9TVEFUVVNfTE9BREVEEANCswEKDmNvbS5ydW50aW1lLnYxQhRQcm9jZXNzUmVxdWVzdHNQcm90b1ABWjlnaXRodWIuY29tL2NvYm90YXIvcHJvdG9jb2wvbWVzc2FnZXMvcnVudGltZS92MTtydW50aW1ldjGiAgNSWFiqAhNNZXNzYWdlcy5SdW50aW1lLlYxygIKUnVudGltZVxWMeICFlJ1bnRpbWVcVjFcR1BCTWV0YWRhdGHqAgtSdW50aW1lOjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_common_v1_actor, file_common_v1_key_value_constraint, file_runtime_v1_process_run, file_runtime_v1_runtime_restriction, file_validation_v1_predefined_string_rules, file_variance_v1_variant_configuration]);
22
26
 
23
27
  /**
24
28
  * ProcessLoadRequest is used to instantiate a ProcessRecipe into a ProcessRun.
@@ -230,6 +234,44 @@ export type ProcessRunIssue = Message<"runtime.v1.ProcessRunIssue"> & {
230
234
  export const ProcessRunIssueSchema: GenMessage<ProcessRunIssue> = /*@__PURE__*/
231
235
  messageDesc(file_runtime_v1_process_requests, 1);
232
236
 
237
+ /**
238
+ * @generated from message runtime.v1.CandidateActorEvaluation
239
+ */
240
+ export type CandidateActorEvaluation = Message<"runtime.v1.CandidateActorEvaluation"> & {
241
+ /**
242
+ * @generated from field: common.v1.ActorRef actor = 1;
243
+ */
244
+ actor?: ActorRef;
245
+
246
+ /**
247
+ * Whether this actor is currently feasible for the task.
248
+ *
249
+ * @generated from field: bool feasible = 2;
250
+ */
251
+ feasible: boolean;
252
+
253
+ /**
254
+ * Effective restrictions if this actor were assigned.
255
+ *
256
+ * @generated from field: repeated runtime.v1.RuntimeRestriction restrictions = 3;
257
+ */
258
+ restrictions: RuntimeRestriction[];
259
+
260
+ /**
261
+ * Optional explanations or issues tied specifically to this actor.
262
+ *
263
+ * @generated from field: repeated runtime.v1.ProcessRunIssue issues = 4;
264
+ */
265
+ issues: ProcessRunIssue[];
266
+ };
267
+
268
+ /**
269
+ * Describes the message runtime.v1.CandidateActorEvaluation.
270
+ * Use `create(CandidateActorEvaluationSchema)` to create a new message.
271
+ */
272
+ export const CandidateActorEvaluationSchema: GenMessage<CandidateActorEvaluation> = /*@__PURE__*/
273
+ messageDesc(file_runtime_v1_process_requests, 2);
274
+
233
275
  /**
234
276
  * @generated from message runtime.v1.TaskFeasibility
235
277
  */
@@ -273,6 +315,11 @@ export type TaskFeasibility = Message<"runtime.v1.TaskFeasibility"> & {
273
315
  * @generated from field: repeated runtime.v1.ProcessRunIssue issues = 8;
274
316
  */
275
317
  issues: ProcessRunIssue[];
318
+
319
+ /**
320
+ * @generated from field: repeated runtime.v1.CandidateActorEvaluation candidate_actor_evaluations = 9;
321
+ */
322
+ candidateActorEvaluations: CandidateActorEvaluation[];
276
323
  };
277
324
 
278
325
  /**
@@ -280,7 +327,7 @@ export type TaskFeasibility = Message<"runtime.v1.TaskFeasibility"> & {
280
327
  * Use `create(TaskFeasibilitySchema)` to create a new message.
281
328
  */
282
329
  export const TaskFeasibilitySchema: GenMessage<TaskFeasibility> = /*@__PURE__*/
283
- messageDesc(file_runtime_v1_process_requests, 2);
330
+ messageDesc(file_runtime_v1_process_requests, 3);
284
331
 
285
332
  /**
286
333
  * @generated from message runtime.v1.ProcessRunPrecheckResult
@@ -340,7 +387,7 @@ export type ProcessRunPrecheckResult = Message<"runtime.v1.ProcessRunPrecheckRes
340
387
  * Use `create(ProcessRunPrecheckResultSchema)` to create a new message.
341
388
  */
342
389
  export const ProcessRunPrecheckResultSchema: GenMessage<ProcessRunPrecheckResult> = /*@__PURE__*/
343
- messageDesc(file_runtime_v1_process_requests, 3);
390
+ messageDesc(file_runtime_v1_process_requests, 4);
344
391
 
345
392
  /**
346
393
  * @generated from message runtime.v1.ProcessLoadResult
@@ -367,7 +414,7 @@ export type ProcessLoadResult = Message<"runtime.v1.ProcessLoadResult"> & {
367
414
  * Use `create(ProcessLoadResultSchema)` to create a new message.
368
415
  */
369
416
  export const ProcessLoadResultSchema: GenMessage<ProcessLoadResult> = /*@__PURE__*/
370
- messageDesc(file_runtime_v1_process_requests, 4);
417
+ messageDesc(file_runtime_v1_process_requests, 5);
371
418
 
372
419
  /**
373
420
  * @generated from enum runtime.v1.ProcessLoadStrategy
@@ -0,0 +1,149 @@
1
+ // @generated by protoc-gen-es v2.10.2 with parameter "target=ts,import_extension=ts"
2
+ // @generated from file runtime/v1/runtime_restriction.proto (package runtime.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
6
+ import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv2";
7
+ import { file_buf_validate_validate } from "../../buf/validate/validate_pb.ts";
8
+ import type { ActorRef } from "../../common/v1/actor_pb.ts";
9
+ import { file_common_v1_actor } from "../../common/v1/actor_pb.ts";
10
+ import { file_validation_v1_predefined_string_rules } from "../../validation/v1/predefined_string_rules_pb.ts";
11
+ import type { Message } from "@bufbuild/protobuf";
12
+
13
+ /**
14
+ * Describes the file runtime/v1/runtime_restriction.proto.
15
+ */
16
+ export const file_runtime_v1_runtime_restriction: GenFile = /*@__PURE__*/
17
+ fileDesc("CiRydW50aW1lL3YxL3J1bnRpbWVfcmVzdHJpY3Rpb24ucHJvdG8SCnJ1bnRpbWUudjEivgEKElJ1bnRpbWVSZXN0cmljdGlvbhI2CgR0eXBlGAEgASgOMhsucnVudGltZS52MS5SZXN0cmljdGlvblR5cGVCC7pICMgBAYIBAhABEg4KBnJlYXNvbhgCIAEoCRIiCg9zb3VyY2Vfc2tpbGxfaWQYAyABKAlCCbpIBnIE6PEEARIYChBzb3VyY2VfcG9saWN5X2lkGAQgASgJEiIKBWFjdG9yGAUgASgLMhMuY29tbW9uLnYxLkFjdG9yUmVmKpwDCg9SZXN0cmljdGlvblR5cGUSIAocUkVTVFJJQ1RJT05fVFlQRV9VTlNQRUNJRklFRBAAEigKJFJFU1RSSUNUSU9OX1RZUEVfUkVRVUlSRV9BUl9HVUlEQU5DRRABEjAKLFJFU1RSSUNUSU9OX1RZUEVfUkVRVUlSRV9NQU5VQUxfQ09ORklSTUFUSU9OEAISMAosUkVTVFJJQ1RJT05fVFlQRV9SRVFVSVJFX1NVUEVSVklTT1JfQVBQUk9WQUwQAxIpCiVSRVNUUklDVElPTl9UWVBFX1JFUVVJUkVfU0VDT05EX0NIRUNLEAQSLgoqUkVTVFJJQ1RJT05fVFlQRV9SRVFVSVJFX1ZJU0lPTl9WQUxJREFUSU9OEAUSKgomUkVTVFJJQ1RJT05fVFlQRV9SRVFVSVJFX1RPT0xfRkVFREJBQ0sQBhIoCiRSRVNUUklDVElPTl9UWVBFX1JFUVVJUkVfSFVNQU5fQUNUT1IQBxIoCiRSRVNUUklDVElPTl9UWVBFX1JFUVVJUkVfUk9CT1RfQUNUT1IQCEK2AQoOY29tLnJ1bnRpbWUudjFCF1J1bnRpbWVSZXN0cmljdGlvblByb3RvUAFaOWdpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9ydW50aW1lL3YxO3J1bnRpbWV2MaICA1JYWKoCE01lc3NhZ2VzLlJ1bnRpbWUuVjHKAgpSdW50aW1lXFYx4gIWUnVudGltZVxWMVxHUEJNZXRhZGF0YeoCC1J1bnRpbWU6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_common_v1_actor, file_validation_v1_predefined_string_rules]);
18
+
19
+ /**
20
+ * RuntimeRestriction describes an additional runtime condition that applies
21
+ * to a task, typically due to actor capability state, policy evaluation,
22
+ * resource limitations, or execution mode.
23
+ *
24
+ * Restrictions may be actor-specific. This is important because a task may be:
25
+ * - unrestricted for one candidate actor
26
+ * - restricted for another
27
+ * - infeasible for a third
28
+ *
29
+ * During precheck / candidate evaluation, restrictions can be attached to
30
+ * candidate actors. Once a task is assigned, the effective restrictions for
31
+ * the assigned actor should be copied onto the TaskRun.
32
+ *
33
+ * @generated from message runtime.v1.RuntimeRestriction
34
+ */
35
+ export type RuntimeRestriction = Message<"runtime.v1.RuntimeRestriction"> & {
36
+ /**
37
+ * @generated from field: runtime.v1.RestrictionType type = 1;
38
+ */
39
+ type: RestrictionType;
40
+
41
+ /**
42
+ * Human-readable explanation shown in UI/logs.
43
+ *
44
+ * @generated from field: string reason = 2;
45
+ */
46
+ reason: string;
47
+
48
+ /**
49
+ * Optional originating skill that caused the restriction.
50
+ *
51
+ * @generated from field: string source_skill_id = 3;
52
+ */
53
+ sourceSkillId: string;
54
+
55
+ /**
56
+ * Optional originating policy that caused the restriction.
57
+ *
58
+ * @generated from field: string source_policy_id = 4;
59
+ */
60
+ sourcePolicyId: string;
61
+
62
+ /**
63
+ * Optional actor this restriction applies to.
64
+ * If unset, the restriction is task-global rather than actor-specific.
65
+ *
66
+ * @generated from field: common.v1.ActorRef actor = 5;
67
+ */
68
+ actor?: ActorRef;
69
+ };
70
+
71
+ /**
72
+ * Describes the message runtime.v1.RuntimeRestriction.
73
+ * Use `create(RuntimeRestrictionSchema)` to create a new message.
74
+ */
75
+ export const RuntimeRestrictionSchema: GenMessage<RuntimeRestriction> = /*@__PURE__*/
76
+ messageDesc(file_runtime_v1_runtime_restriction, 0);
77
+
78
+ /**
79
+ * @generated from enum runtime.v1.RestrictionType
80
+ */
81
+ export enum RestrictionType {
82
+ /**
83
+ * @generated from enum value: RESTRICTION_TYPE_UNSPECIFIED = 0;
84
+ */
85
+ UNSPECIFIED = 0,
86
+
87
+ /**
88
+ * The actor may perform the task only with AR guidance enabled.
89
+ *
90
+ * @generated from enum value: RESTRICTION_TYPE_REQUIRE_AR_GUIDANCE = 1;
91
+ */
92
+ REQUIRE_AR_GUIDANCE = 1,
93
+
94
+ /**
95
+ * The task must be manually confirmed before completion.
96
+ *
97
+ * @generated from enum value: RESTRICTION_TYPE_REQUIRE_MANUAL_CONFIRMATION = 2;
98
+ */
99
+ REQUIRE_MANUAL_CONFIRMATION = 2,
100
+
101
+ /**
102
+ * The task requires supervisor approval before execution or completion.
103
+ *
104
+ * @generated from enum value: RESTRICTION_TYPE_REQUIRE_SUPERVISOR_APPROVAL = 3;
105
+ */
106
+ REQUIRE_SUPERVISOR_APPROVAL = 3,
107
+
108
+ /**
109
+ * The task requires an additional validation or second check.
110
+ *
111
+ * @generated from enum value: RESTRICTION_TYPE_REQUIRE_SECOND_CHECK = 4;
112
+ */
113
+ REQUIRE_SECOND_CHECK = 4,
114
+
115
+ /**
116
+ * Vision-based validation must be used.
117
+ *
118
+ * @generated from enum value: RESTRICTION_TYPE_REQUIRE_VISION_VALIDATION = 5;
119
+ */
120
+ REQUIRE_VISION_VALIDATION = 5,
121
+
122
+ /**
123
+ * Tool feedback must be used.
124
+ *
125
+ * @generated from enum value: RESTRICTION_TYPE_REQUIRE_TOOL_FEEDBACK = 6;
126
+ */
127
+ REQUIRE_TOOL_FEEDBACK = 6,
128
+
129
+ /**
130
+ * The task may only be executed by a human actor.
131
+ *
132
+ * @generated from enum value: RESTRICTION_TYPE_REQUIRE_HUMAN_ACTOR = 7;
133
+ */
134
+ REQUIRE_HUMAN_ACTOR = 7,
135
+
136
+ /**
137
+ * The task may only be executed by a robot actor.
138
+ *
139
+ * @generated from enum value: RESTRICTION_TYPE_REQUIRE_ROBOT_ACTOR = 8;
140
+ */
141
+ REQUIRE_ROBOT_ACTOR = 8,
142
+ }
143
+
144
+ /**
145
+ * Describes the enum runtime.v1.RestrictionType.
146
+ */
147
+ export const RestrictionTypeSchema: GenEnum<RestrictionType> = /*@__PURE__*/
148
+ enumDesc(file_runtime_v1_runtime_restriction, 0);
149
+
@@ -15,6 +15,10 @@ import type { ContainerSlotRef } from "../../resources/v1/container_definition_p
15
15
  import { file_resources_v1_container_definition } from "../../resources/v1/container_definition_pb.ts";
16
16
  import type { ExecutionEvidence } from "./execution_evidence_pb.ts";
17
17
  import { file_runtime_v1_execution_evidence } from "./execution_evidence_pb.ts";
18
+ import type { CandidateActorEvaluation } from "./process_requests_pb.ts";
19
+ import { file_runtime_v1_process_requests } from "./process_requests_pb.ts";
20
+ import type { RuntimeRestriction } from "./runtime_restriction_pb.ts";
21
+ import { file_runtime_v1_runtime_restriction } from "./runtime_restriction_pb.ts";
18
22
  import { file_validation_v1_predefined_string_rules } from "../../validation/v1/predefined_string_rules_pb.ts";
19
23
  import type { Message } from "@bufbuild/protobuf";
20
24
 
@@ -22,7 +26,7 @@ import type { Message } from "@bufbuild/protobuf";
22
26
  * Describes the file runtime/v1/task_run.proto.
23
27
  */
24
28
  export const file_runtime_v1_task_run: GenFile = /*@__PURE__*/
25
- fileDesc("ChlydW50aW1lL3YxL3Rhc2tfcnVuLnByb3RvEgpydW50aW1lLnYxIqcBChJUYXNrUnVudGltZUJpbmRpbmcSGQoRYXNzZXRfaW5zdGFuY2VfaWQYASABKAkSGQoRcm9ib3RfaW5zdGFuY2VfaWQYAiABKAkSEgoKc3RhdGlvbl9pZBgDIAEoCRIPCgdjZWxsX2lkGAQgASgJEjYKDmNvbnRhaW5lcl9zbG90GAUgASgLMh4ucmVzb3VyY2VzLnYxLkNvbnRhaW5lclNsb3RSZWYigAUKB1Rhc2tSdW4SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEigKEnRhc2tfZGVmaW5pdGlvbl9pZBgEIAEoCUIMukgJyAEBcgSY8gQBEiwKFnBhcmVudF9zZXF1ZW5jZV9ydW5faWQYBSABKAlCDLpICcgBAXIE+PEEARI0CgVzdGF0ZRgGIAEoDjIYLnJ1bnRpbWUudjEuVGFza1J1blN0YXRlQgu6SAjIAQGCAQIQARItChBjYW5kaWRhdGVfYWN0b3JzGAcgAygLMhMuY29tbW9uLnYxLkFjdG9yUmVmEisKDmFzc2lnbmVkX2FjdG9yGAggASgLMhMuY29tbW9uLnYxLkFjdG9yUmVmEg4KBmNhbl9kbxgJIAEoCBIQCghjYW5fdW5kbxgKIAEoCBIYChB3b3JrYWJsZV9ob3Jpem9uGAsgASgFEjgKEmVzdGltYXRlZF9kdXJhdGlvbhgMIAEoCzIcLmNvbW1vbi52MS5Fc3RpbWF0ZWREdXJhdGlvbhIuCgpzdGFydGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmVycm9yX2NvZGUYDyABKAkSFQoNZXJyb3JfbWVzc2FnZRgQIAEoCRIvCghldmlkZW5jZRgRIAMoCzIdLnJ1bnRpbWUudjEuRXhlY3V0aW9uRXZpZGVuY2USLwoHYmluZGluZxgSIAEoCzIeLnJ1bnRpbWUudjEuVGFza1J1bnRpbWVCaW5kaW5nIi4KCFRhc2tSdW5zEiIKBWl0ZW1zGAEgAygLMhMucnVudGltZS52MS5UYXNrUnVuKtUBCgxUYXNrUnVuU3RhdGUSHgoaVEFTS19SVU5fU1RBVEVfVU5TUEVDSUZJRUQQABIcChhUQVNLX1JVTl9TVEFURV9OT1RfUkVBRFkQARIYChRUQVNLX1JVTl9TVEFURV9SRUFEWRACEh4KGlRBU0tfUlVOX1NUQVRFX0lOX1BST0dSRVNTEAMSFwoTVEFTS19SVU5fU1RBVEVfRE9ORRAEEhgKFFRBU0tfUlVOX1NUQVRFX0VSUk9SEAUSGgoWVEFTS19SVU5fU1RBVEVfQUJPUlRFRBAGQqsBCg5jb20ucnVudGltZS52MUIMVGFza1J1blByb3RvUAFaOWdpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9ydW50aW1lL3YxO3J1bnRpbWV2MaICA1JYWKoCE01lc3NhZ2VzLlJ1bnRpbWUuVjHKAgpSdW50aW1lXFYx4gIWUnVudGltZVxWMVxHUEJNZXRhZGF0YeoCC1J1bnRpbWU6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_common_v1_actor, file_common_v1_time, file_google_protobuf_timestamp, file_resources_v1_container_definition, file_runtime_v1_execution_evidence, file_validation_v1_predefined_string_rules]);
29
+ fileDesc("ChlydW50aW1lL3YxL3Rhc2tfcnVuLnByb3RvEgpydW50aW1lLnYxIqcBChJUYXNrUnVudGltZUJpbmRpbmcSGQoRYXNzZXRfaW5zdGFuY2VfaWQYASABKAkSGQoRcm9ib3RfaW5zdGFuY2VfaWQYAiABKAkSEgoKc3RhdGlvbl9pZBgDIAEoCRIPCgdjZWxsX2lkGAQgASgJEjYKDmNvbnRhaW5lcl9zbG90GAUgASgLMh4ucmVzb3VyY2VzLnYxLkNvbnRhaW5lclNsb3RSZWYigQYKB1Rhc2tSdW4SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIMCgRpY29uGAMgASgJEigKEnRhc2tfZGVmaW5pdGlvbl9pZBgEIAEoCUIMukgJyAEBcgSY8gQBEiwKFnBhcmVudF9zZXF1ZW5jZV9ydW5faWQYBSABKAlCDLpICcgBAXIE+PEEARI0CgVzdGF0ZRgGIAEoDjIYLnJ1bnRpbWUudjEuVGFza1J1blN0YXRlQgu6SAjIAQGCAQIQARItChBjYW5kaWRhdGVfYWN0b3JzGAcgAygLMhMuY29tbW9uLnYxLkFjdG9yUmVmEisKDmFzc2lnbmVkX2FjdG9yGAggASgLMhMuY29tbW9uLnYxLkFjdG9yUmVmEg4KBmNhbl9kbxgJIAEoCBIQCghjYW5fdW5kbxgKIAEoCBIYChB3b3JrYWJsZV9ob3Jpem9uGAsgASgFEjgKEmVzdGltYXRlZF9kdXJhdGlvbhgMIAEoCzIcLmNvbW1vbi52MS5Fc3RpbWF0ZWREdXJhdGlvbhIuCgpzdGFydGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYDiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhIKCmVycm9yX2NvZGUYDyABKAkSFQoNZXJyb3JfbWVzc2FnZRgQIAEoCRIvCghldmlkZW5jZRgRIAMoCzIdLnJ1bnRpbWUudjEuRXhlY3V0aW9uRXZpZGVuY2USLwoHYmluZGluZxgSIAEoCzIeLnJ1bnRpbWUudjEuVGFza1J1bnRpbWVCaW5kaW5nEjQKDHJlc3RyaWN0aW9ucxgTIAMoCzIeLnJ1bnRpbWUudjEuUnVudGltZVJlc3RyaWN0aW9uEkkKG2NhbmRpZGF0ZV9hY3Rvcl9ldmFsdWF0aW9ucxgUIAMoCzIkLnJ1bnRpbWUudjEuQ2FuZGlkYXRlQWN0b3JFdmFsdWF0aW9uIi4KCFRhc2tSdW5zEiIKBWl0ZW1zGAEgAygLMhMucnVudGltZS52MS5UYXNrUnVuKtUBCgxUYXNrUnVuU3RhdGUSHgoaVEFTS19SVU5fU1RBVEVfVU5TUEVDSUZJRUQQABIcChhUQVNLX1JVTl9TVEFURV9OT1RfUkVBRFkQARIYChRUQVNLX1JVTl9TVEFURV9SRUFEWRACEh4KGlRBU0tfUlVOX1NUQVRFX0lOX1BST0dSRVNTEAMSFwoTVEFTS19SVU5fU1RBVEVfRE9ORRAEEhgKFFRBU0tfUlVOX1NUQVRFX0VSUk9SEAUSGgoWVEFTS19SVU5fU1RBVEVfQUJPUlRFRBAGQqsBCg5jb20ucnVudGltZS52MUIMVGFza1J1blByb3RvUAFaOWdpdGh1Yi5jb20vY29ib3Rhci9wcm90b2NvbC9tZXNzYWdlcy9ydW50aW1lL3YxO3J1bnRpbWV2MaICA1JYWKoCE01lc3NhZ2VzLlJ1bnRpbWUuVjHKAgpSdW50aW1lXFYx4gIWUnVudGltZVxWMVxHUEJNZXRhZGF0YeoCC1J1bnRpbWU6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_common_v1_actor, file_common_v1_time, file_google_protobuf_timestamp, file_resources_v1_container_definition, file_runtime_v1_execution_evidence, file_runtime_v1_process_requests, file_runtime_v1_runtime_restriction, file_validation_v1_predefined_string_rules]);
26
30
 
27
31
  /**
28
32
  * Concrete runtime/deployment bindings resolved for this task run.
@@ -158,6 +162,27 @@ export type TaskRun = Message<"runtime.v1.TaskRun"> & {
158
162
  * @generated from field: runtime.v1.TaskRuntimeBinding binding = 18;
159
163
  */
160
164
  binding?: TaskRuntimeBinding;
165
+
166
+ /**
167
+ * Effective runtime restrictions that currently apply to this task.
168
+ *
169
+ * These restrictions should reflect the current assigned actor and execution
170
+ * context. They may be copied from candidate-level evaluation results during
171
+ * assignment or reassignment.
172
+ *
173
+ * Examples:
174
+ * - AR guidance required because the assigned actor's skill is restricted
175
+ * - supervisor approval required before completion
176
+ * - tool feedback required due to safety/quality constraints
177
+ *
178
+ * @generated from field: repeated runtime.v1.RuntimeRestriction restrictions = 19;
179
+ */
180
+ restrictions: RuntimeRestriction[];
181
+
182
+ /**
183
+ * @generated from field: repeated runtime.v1.CandidateActorEvaluation candidate_actor_evaluations = 20;
184
+ */
185
+ candidateActorEvaluations: CandidateActorEvaluation[];
161
186
  };
162
187
 
163
188
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cobotar/protocol",
3
- "version": "0.18.19",
3
+ "version": "0.18.20",
4
4
  "description": "A collection of protobuf messages for the CobotAR-project",
5
5
  "homepage": "https://github.com/cobotar/protocol#readme",
6
6
  "files": [