@valon-technologies/gestalt 0.0.1-alpha.16 → 0.0.1-alpha.18

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.
@@ -14,7 +14,7 @@ import type { JsonObject, Message } from "@bufbuild/protobuf";
14
14
  * Describes the file v1/agent.proto.
15
15
  */
16
16
  export const file_v1_agent: GenFile = /*@__PURE__*/
17
- fileDesc("Cg52MS9hZ2VudC5wcm90bxITZ2VzdGFsdC5wcm92aWRlci52MSKLAQoMQWdlbnRNZXNzYWdlEgwKBHJvbGUYASABKAkSDAoEdGV4dBgCIAEoCRI0CgVwYXJ0cxgDIAMoCzIlLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNZXNzYWdlUGFydBIpCghtZXRhZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiYwoYQWdlbnRNZXNzYWdlUGFydFRvb2xDYWxsEgoKAmlkGAEgASgJEg8KB3Rvb2xfaWQYAiABKAkSKgoJYXJndW1lbnRzGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJ8ChpBZ2VudE1lc3NhZ2VQYXJ0VG9vbFJlc3VsdBIUCgx0b29sX2NhbGxfaWQYASABKAkSDgoGc3RhdHVzGAIgASgFEg8KB2NvbnRlbnQYAyABKAkSJwoGb3V0cHV0GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCI6ChhBZ2VudE1lc3NhZ2VQYXJ0SW1hZ2VSZWYSCwoDdXJpGAEgASgJEhEKCW1pbWVfdHlwZRgCIAEoCSLKAgoQQWdlbnRNZXNzYWdlUGFydBI3CgR0eXBlGAEgASgOMikuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2VQYXJ0VHlwZRIMCgR0ZXh0GAIgASgJEiUKBGpzb24YAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EkAKCXRvb2xfY2FsbBgEIAEoCzItLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNZXNzYWdlUGFydFRvb2xDYWxsEkQKC3Rvb2xfcmVzdWx0GAUgASgLMi8uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2VQYXJ0VG9vbFJlc3VsdBJACglpbWFnZV9yZWYYBiABKAsyLS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWVzc2FnZVBhcnRJbWFnZVJlZiJhCgpBZ2VudEFjdG9yEhIKCnN1YmplY3RfaWQYASABKAkSFAoMc3ViamVjdF9raW5kGAIgASgJEhQKDGRpc3BsYXlfbmFtZRgDIAEoCRITCgthdXRoX3NvdXJjZRgEIAEoCSKJAQoTQWdlbnRTdWJqZWN0Q29udGV4dBISCgpzdWJqZWN0X2lkGAEgASgJEhQKDHN1YmplY3Rfa2luZBgCIAEoCRIdChVjcmVkZW50aWFsX3N1YmplY3RfaWQYAyABKAkSFAoMZGlzcGxheV9uYW1lGAQgASgJEhMKC2F1dGhfc291cmNlGAUgASgJIoQBChFSZXNvbHZlZEFnZW50VG9vbBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjIKEXBhcmFtZXRlcnNfc2NoZW1hGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEoECAQQBVIGdGFyZ2V0IqIBCgxBZ2VudFRvb2xSZWYSDgoGcGx1Z2luGAEgASgJEhEKCW9wZXJhdGlvbhgCIAEoCRISCgpjb25uZWN0aW9uGAMgASgJEhAKCGluc3RhbmNlGAQgASgJEg0KBXRpdGxlGAUgASgJEhMKC2Rlc2NyaXB0aW9uGAYgASgJEg4KBnN5c3RlbRgIIAEoCUoECAcQCFIPY3JlZGVudGlhbF9tb2RlIpYBChJBZ2VudFRvb2xDYW5kaWRhdGUSLgoDcmVmGAEgASgLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFRvb2xSZWYSCgoCaWQYAiABKAkSDAoEbmFtZRgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRISCgpwYXJhbWV0ZXJzGAUgAygJEg0KBXNjb3JlGAYgASgBItECChlBZ2VudFByb3ZpZGVyQ2FwYWJpbGl0aWVzEhYKDnN0cmVhbWluZ190ZXh0GAEgASgIEhIKCnRvb2xfY2FsbHMYAiABKAgSGwoTcGFyYWxsZWxfdG9vbF9jYWxscxgDIAEoCBIZChFzdHJ1Y3R1cmVkX291dHB1dBgEIAEoCBIUCgxpbnRlcmFjdGlvbnMYBSABKAgSFwoPcmVzdW1hYmxlX3R1cm5zGAYgASgIEhsKE3JlYXNvbmluZ19zdW1tYXJpZXMYByABKAgSGgoSbmF0aXZlX3Rvb2xfc2VhcmNoGAggASgIEh4KFmJvdW5kZWRfbGlzdF9oeWRyYXRpb24YCSABKAgSSAoWc3VwcG9ydGVkX3Rvb2xfc291cmNlcxgKIAMoDjIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUb29sU291cmNlTW9kZSIlCiNHZXRBZ2VudFByb3ZpZGVyQ2FwYWJpbGl0aWVzUmVxdWVzdCKOAwoQQWdlbnRJbnRlcmFjdGlvbhIKCgJpZBgBIAEoCRI3CgR0eXBlGAIgASgOMikuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEludGVyYWN0aW9uVHlwZRI5CgVzdGF0ZRgDIAEoDjIqLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRJbnRlcmFjdGlvblN0YXRlEg0KBXRpdGxlGAQgASgJEg4KBnByb21wdBgFIAEoCRIoCgdyZXF1ZXN0GAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIrCgpyZXNvbHV0aW9uGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgtyZXNvbHZlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHdHVybl9pZBgKIAEoCRISCgpzZXNzaW9uX2lkGAsgASgJIv0CCgxBZ2VudFNlc3Npb24SCgoCaWQYASABKAkSFQoNcHJvdmlkZXJfbmFtZRgCIAEoCRINCgVtb2RlbBgDIAEoCRISCgpjbGllbnRfcmVmGAQgASgJEjUKBXN0YXRlGAUgASgOMiYuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb25TdGF0ZRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSMwoKY3JlYXRlZF9ieRgHIAEoCzIfLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRBY3RvchIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxsYXN0X3R1cm5fYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIsECCiFDcmVhdGVBZ2VudFByb3ZpZGVyU2Vzc2lvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIXCg9pZGVtcG90ZW5jeV9rZXkYAiABKAkSDQoFbW9kZWwYAyABKAkSEgoKY2xpZW50X3JlZhgEIAEoCRIpCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSMQoQcHJvdmlkZXJfb3B0aW9ucxgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSMwoKY3JlYXRlZF9ieRgHIAEoCzIfLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRBY3RvchI5CgdzdWJqZWN0GAggASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0Im8KHkdldEFnZW50UHJvdmlkZXJTZXNzaW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEjkKB3N1YmplY3QYAiABKAsyKC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U3ViamVjdENvbnRleHQizgEKIExpc3RBZ2VudFByb3ZpZGVyU2Vzc2lvbnNSZXF1ZXN0EjkKB3N1YmplY3QYASABKAsyKC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U3ViamVjdENvbnRleHQSEwoLc2Vzc2lvbl9pZHMYAiADKAkSNQoFc3RhdGUYAyABKA4yJi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXRlEg0KBWxpbWl0GAQgASgFEhQKDHN1bW1hcnlfb25seRgFIAEoCCJYCiFMaXN0QWdlbnRQcm92aWRlclNlc3Npb25zUmVzcG9uc2USMwoIc2Vzc2lvbnMYASADKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvbiLoAQohVXBkYXRlQWdlbnRQcm92aWRlclNlc3Npb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSEgoKY2xpZW50X3JlZhgCIAEoCRI1CgVzdGF0ZRgDIAEoDjImLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uU3RhdGUSKQoIbWV0YWRhdGEYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjkKB3N1YmplY3QYBSABKAsyKC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U3ViamVjdENvbnRleHQigAQKCUFnZW50VHVybhIKCgJpZBgBIAEoCRISCgpzZXNzaW9uX2lkGAIgASgJEhUKDXByb3ZpZGVyX25hbWUYAyABKAkSDQoFbW9kZWwYBCABKAkSOQoGc3RhdHVzGAUgASgOMikuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEV4ZWN1dGlvblN0YXR1cxIzCghtZXNzYWdlcxgGIAMoCzIhLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNZXNzYWdlEhMKC291dHB1dF90ZXh0GAcgASgJEjIKEXN0cnVjdHVyZWRfb3V0cHV0GAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIWCg5zdGF0dXNfbWVzc2FnZRgJIAEoCRIzCgpjcmVhdGVkX2J5GAogASgLMh8uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEFjdG9yEi4KCmNyZWF0ZWRfYXQYCyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnN0YXJ0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGNvbXBsZXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFQoNZXhlY3V0aW9uX3JlZhgOIAEoCSKVAgoQQWdlbnRUdXJuRGlzcGxheRIMCgRraW5kGAEgASgJEg0KBXBoYXNlGAIgASgJEgwKBHRleHQYAyABKAkSDQoFbGFiZWwYBCABKAkSCwoDcmVmGAUgASgJEhIKCnBhcmVudF9yZWYYBiABKAkSJQoFaW5wdXQYByABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSJgoGb3V0cHV0GAggASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEiUKBWVycm9yGAkgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEg4KBmFjdGlvbhgKIAEoCRIOCgZmb3JtYXQYCyABKAkSEAoIbGFuZ3VhZ2UYDCABKAki+QQKHkNyZWF0ZUFnZW50UHJvdmlkZXJUdXJuUmVxdWVzdBIPCgd0dXJuX2lkGAEgASgJEhIKCnNlc3Npb25faWQYAiABKAkSFwoPaWRlbXBvdGVuY3lfa2V5GAMgASgJEg0KBW1vZGVsGAQgASgJEjMKCG1lc3NhZ2VzGAUgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2USNQoFdG9vbHMYBiADKAsyJi5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlc29sdmVkQWdlbnRUb29sEjAKD3Jlc3BvbnNlX3NjaGVtYRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIbWV0YWRhdGEYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjEKEHByb3ZpZGVyX29wdGlvbnMYCSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjMKCmNyZWF0ZWRfYnkYCiABKAsyHy5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50QWN0b3ISFQoNZXhlY3V0aW9uX3JlZhgLIAEoCRI0Cgl0b29sX3JlZnMYDCADKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VG9vbFJlZhI9Cgt0b29sX3NvdXJjZRgNIAEoDjIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUb29sU291cmNlTW9kZRI5CgdzdWJqZWN0GA4gASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0EhIKCnRvb2xfZ3JhbnQYDyABKAkiaQobR2V0QWdlbnRQcm92aWRlclR1cm5SZXF1ZXN0Eg8KB3R1cm5faWQYASABKAkSOQoHc3ViamVjdBgCIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTdWJqZWN0Q29udGV4dCLgAQodTGlzdEFnZW50UHJvdmlkZXJUdXJuc1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRI5CgdzdWJqZWN0GAIgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0EhAKCHR1cm5faWRzGAMgAygJEjkKBnN0YXR1cxgEIAEoDjIpLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRFeGVjdXRpb25TdGF0dXMSDQoFbGltaXQYBSABKAUSFAoMc3VtbWFyeV9vbmx5GAYgASgIIk8KHkxpc3RBZ2VudFByb3ZpZGVyVHVybnNSZXNwb25zZRItCgV0dXJucxgBIAMoCzIeLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuInwKHkNhbmNlbEFnZW50UHJvdmlkZXJUdXJuUmVxdWVzdBIPCgd0dXJuX2lkGAEgASgJEg4KBnJlYXNvbhgCIAEoCRI5CgdzdWJqZWN0GAMgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0IvsBCg5BZ2VudFR1cm5FdmVudBIKCgJpZBgBIAEoCRIPCgd0dXJuX2lkGAIgASgJEgsKA3NlcRgDIAEoAxIMCgR0eXBlGAQgASgJEg4KBnNvdXJjZRgFIAEoCRISCgp2aXNpYmlsaXR5GAYgASgJEiUKBGRhdGEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjYKB2Rpc3BsYXkYCSABKAsyJS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybkRpc3BsYXkikgEKIkxpc3RBZ2VudFByb3ZpZGVyVHVybkV2ZW50c1JlcXVlc3QSDwoHdHVybl9pZBgBIAEoCRIRCglhZnRlcl9zZXEYAiABKAMSDQoFbGltaXQYAyABKAUSOQoHc3ViamVjdBgEIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTdWJqZWN0Q29udGV4dCJaCiNMaXN0QWdlbnRQcm92aWRlclR1cm5FdmVudHNSZXNwb25zZRIzCgZldmVudHMYASADKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybkV2ZW50IncKIkdldEFnZW50UHJvdmlkZXJJbnRlcmFjdGlvblJlcXVlc3QSFgoOaW50ZXJhY3Rpb25faWQYASABKAkSOQoHc3ViamVjdBgCIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTdWJqZWN0Q29udGV4dCJyCiRMaXN0QWdlbnRQcm92aWRlckludGVyYWN0aW9uc1JlcXVlc3QSDwoHdHVybl9pZBgBIAEoCRI5CgdzdWJqZWN0GAIgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0ImQKJUxpc3RBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25zUmVzcG9uc2USOwoMaW50ZXJhY3Rpb25zGAEgAygLMiUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEludGVyYWN0aW9uIqgBCiZSZXNvbHZlQWdlbnRQcm92aWRlckludGVyYWN0aW9uUmVxdWVzdBIWCg5pbnRlcmFjdGlvbl9pZBgBIAEoCRIrCgpyZXNvbHV0aW9uGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI5CgdzdWJqZWN0GAMgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0Ir4BChdFeGVjdXRlQWdlbnRUb29sUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB3R1cm5faWQYAiABKAkSFAoMdG9vbF9jYWxsX2lkGAMgASgJEg8KB3Rvb2xfaWQYBCABKAkSKgoJYXJndW1lbnRzGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBISCgp0b29sX2dyYW50GAYgASgJEhcKD2lkZW1wb3RlbmN5X2tleRgHIAEoCSI4ChhFeGVjdXRlQWdlbnRUb29sUmVzcG9uc2USDgoGc3RhdHVzGAEgASgFEgwKBGJvZHkYAiABKAkixQEKF1NlYXJjaEFnZW50VG9vbHNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHdHVybl9pZBgCIAEoCRINCgVxdWVyeRgDIAEoCRITCgttYXhfcmVzdWx0cxgEIAEoBRIXCg9jYW5kaWRhdGVfbGltaXQYBSABKAUSNAoJbG9hZF9yZWZzGAYgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFRvb2xSZWYSEgoKdG9vbF9ncmFudBgHIAEoCSKgAQoYU2VhcmNoQWdlbnRUb29sc1Jlc3BvbnNlEjUKBXRvb2xzGAEgAygLMiYuZ2VzdGFsdC5wcm92aWRlci52MS5SZXNvbHZlZEFnZW50VG9vbBI7CgpjYW5kaWRhdGVzGAIgAygLMicuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFRvb2xDYW5kaWRhdGUSEAoIaGFzX21vcmUYAyABKAgi8AEKD0xpc3RlZEFnZW50VG9vbBIKCgJpZBgBIAEoCRIQCghtY3BfbmFtZRgCIAEoCRINCgV0aXRsZRgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIUCgxpbnB1dF9zY2hlbWEYBSABKAkSFQoNb3V0cHV0X3NjaGVtYRgGIAEoCRI+Cgthbm5vdGF0aW9ucxgHIAEoCzIpLmdlc3RhbHQucHJvdmlkZXIudjEuT3BlcmF0aW9uQW5ub3RhdGlvbnMSLgoDcmVmGAggASgLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFRvb2xSZWYidwoVTGlzdEFnZW50VG9vbHNSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHdHVybl9pZBgCIAEoCRIRCglwYWdlX3NpemUYAyABKAUSEgoKcGFnZV90b2tlbhgEIAEoCRISCgp0b29sX2dyYW50GAUgASgJImYKFkxpc3RBZ2VudFRvb2xzUmVzcG9uc2USMwoFdG9vbHMYASADKAsyJC5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RlZEFnZW50VG9vbBIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkigwIKIEFnZW50TWFuYWdlckNyZWF0ZVNlc3Npb25SZXF1ZXN0EhUKDXByb3ZpZGVyX25hbWUYAiABKAkSDQoFbW9kZWwYAyABKAkSEgoKY2xpZW50X3JlZhgEIAEoCRIpCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSMQoQcHJvdmlkZXJfb3B0aW9ucxgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFwoPaWRlbXBvdGVuY3lfa2V5GAcgASgJEhgKEGludm9jYXRpb25fdG9rZW4YCCABKAlKBAgBEAJSDnJlcXVlc3RfaGFuZGxlImMKHUFnZW50TWFuYWdlckdldFNlc3Npb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYAiABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgDIAEoCUoECAEQAlIOcmVxdWVzdF9oYW5kbGUixAEKH0FnZW50TWFuYWdlckxpc3RTZXNzaW9uc1JlcXVlc3QSFQoNcHJvdmlkZXJfbmFtZRgCIAEoCRIYChBpbnZvY2F0aW9uX3Rva2VuGAMgASgJEjUKBXN0YXRlGAQgASgOMiYuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb25TdGF0ZRINCgVsaW1pdBgFIAEoBRIUCgxzdW1tYXJ5X29ubHkYBiABKAhKBAgBEAJSDnJlcXVlc3RfaGFuZGxlIlcKIEFnZW50TWFuYWdlckxpc3RTZXNzaW9uc1Jlc3BvbnNlEjMKCHNlc3Npb25zGAEgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb24i3AEKIEFnZW50TWFuYWdlclVwZGF0ZVNlc3Npb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYAiABKAkSEgoKY2xpZW50X3JlZhgDIAEoCRI1CgVzdGF0ZRgEIAEoDjImLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uU3RhdGUSKQoIbWV0YWRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhgKEGludm9jYXRpb25fdG9rZW4YBiABKAlKBAgBEAJSDnJlcXVlc3RfaGFuZGxlIsUDCh1BZ2VudE1hbmFnZXJDcmVhdGVUdXJuUmVxdWVzdBISCgpzZXNzaW9uX2lkGAIgASgJEg0KBW1vZGVsGAMgASgJEjMKCG1lc3NhZ2VzGAQgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2USNAoJdG9vbF9yZWZzGAUgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFRvb2xSZWYSPQoLdG9vbF9zb3VyY2UYBiABKA4yKC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VG9vbFNvdXJjZU1vZGUSMAoPcmVzcG9uc2Vfc2NoZW1hGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCghtZXRhZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSMQoQcHJvdmlkZXJfb3B0aW9ucxgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFwoPaWRlbXBvdGVuY3lfa2V5GAogASgJEhgKEGludm9jYXRpb25fdG9rZW4YCyABKAlKBAgBEAJSDnJlcXVlc3RfaGFuZGxlIl0KGkFnZW50TWFuYWdlckdldFR1cm5SZXF1ZXN0Eg8KB3R1cm5faWQYAiABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgDIAEoCUoECAEQAlIOcmVxdWVzdF9oYW5kbGUiwgEKHEFnZW50TWFuYWdlckxpc3RUdXJuc1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgCIAEoCRIYChBpbnZvY2F0aW9uX3Rva2VuGAMgASgJEjkKBnN0YXR1cxgEIAEoDjIpLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRFeGVjdXRpb25TdGF0dXMSDQoFbGltaXQYBSABKAUSFAoMc3VtbWFyeV9vbmx5GAYgASgISgQIARACUg5yZXF1ZXN0X2hhbmRsZSJOCh1BZ2VudE1hbmFnZXJMaXN0VHVybnNSZXNwb25zZRItCgV0dXJucxgBIAMoCzIeLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuInAKHUFnZW50TWFuYWdlckNhbmNlbFR1cm5SZXF1ZXN0Eg8KB3R1cm5faWQYAiABKAkSDgoGcmVhc29uGAMgASgJEhgKEGludm9jYXRpb25fdG9rZW4YBCABKAlKBAgBEAJSDnJlcXVlc3RfaGFuZGxlIoYBCiFBZ2VudE1hbmFnZXJMaXN0VHVybkV2ZW50c1JlcXVlc3QSDwoHdHVybl9pZBgCIAEoCRIRCglhZnRlcl9zZXEYAyABKAMSDQoFbGltaXQYBCABKAUSGAoQaW52b2NhdGlvbl90b2tlbhgFIAEoCUoECAEQAlIOcmVxdWVzdF9oYW5kbGUiWQoiQWdlbnRNYW5hZ2VyTGlzdFR1cm5FdmVudHNSZXNwb25zZRIzCgZldmVudHMYASADKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybkV2ZW50ImYKI0FnZW50TWFuYWdlckxpc3RJbnRlcmFjdGlvbnNSZXF1ZXN0Eg8KB3R1cm5faWQYAiABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgDIAEoCUoECAEQAlIOcmVxdWVzdF9oYW5kbGUiYwokQWdlbnRNYW5hZ2VyTGlzdEludGVyYWN0aW9uc1Jlc3BvbnNlEjsKDGludGVyYWN0aW9ucxgBIAMoCzIlLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRJbnRlcmFjdGlvbiKtAQolQWdlbnRNYW5hZ2VyUmVzb2x2ZUludGVyYWN0aW9uUmVxdWVzdBIPCgd0dXJuX2lkGAIgASgJEhYKDmludGVyYWN0aW9uX2lkGAMgASgJEisKCnJlc29sdXRpb24YBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhgKEGludm9jYXRpb25fdG9rZW4YBSABKAlKBAgBEAJSDnJlcXVlc3RfaGFuZGxlKvoBChRBZ2VudE1lc3NhZ2VQYXJ0VHlwZRInCiNBR0VOVF9NRVNTQUdFX1BBUlRfVFlQRV9VTlNQRUNJRklFRBAAEiAKHEFHRU5UX01FU1NBR0VfUEFSVF9UWVBFX1RFWFQQARIgChxBR0VOVF9NRVNTQUdFX1BBUlRfVFlQRV9KU09OEAISJQohQUdFTlRfTUVTU0FHRV9QQVJUX1RZUEVfVE9PTF9DQUxMEAMSJwojQUdFTlRfTUVTU0FHRV9QQVJUX1RZUEVfVE9PTF9SRVNVTFQQBBIlCiFBR0VOVF9NRVNTQUdFX1BBUlRfVFlQRV9JTUFHRV9SRUYQBSqPAQoTQWdlbnRUb29sU291cmNlTW9kZRImCiJBR0VOVF9UT09MX1NPVVJDRV9NT0RFX1VOU1BFQ0lGSUVEEAASKAokQUdFTlRfVE9PTF9TT1VSQ0VfTU9ERV9OQVRJVkVfU0VBUkNIEAESJgoiQUdFTlRfVE9PTF9TT1VSQ0VfTU9ERV9NQ1BfQ0FUQUxPRxACKqICChRBZ2VudEV4ZWN1dGlvblN0YXR1cxImCiJBR0VOVF9FWEVDVVRJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASIgoeQUdFTlRfRVhFQ1VUSU9OX1NUQVRVU19QRU5ESU5HEAESIgoeQUdFTlRfRVhFQ1VUSU9OX1NUQVRVU19SVU5OSU5HEAISJAogQUdFTlRfRVhFQ1VUSU9OX1NUQVRVU19TVUNDRUVERUQQAxIhCh1BR0VOVF9FWEVDVVRJT05fU1RBVFVTX0ZBSUxFRBAEEiMKH0FHRU5UX0VYRUNVVElPTl9TVEFUVVNfQ0FOQ0VMRUQQBRIsCihBR0VOVF9FWEVDVVRJT05fU1RBVFVTX1dBSVRJTkdfRk9SX0lOUFVUEAYqegoRQWdlbnRTZXNzaW9uU3RhdGUSIwofQUdFTlRfU0VTU0lPTl9TVEFURV9VTlNQRUNJRklFRBAAEh4KGkFHRU5UX1NFU1NJT05fU1RBVEVfQUNUSVZFEAESIAocQUdFTlRfU0VTU0lPTl9TVEFURV9BUkNISVZFRBACKq8BChRBZ2VudEludGVyYWN0aW9uVHlwZRImCiJBR0VOVF9JTlRFUkFDVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASIwofQUdFTlRfSU5URVJBQ1RJT05fVFlQRV9BUFBST1ZBTBABEigKJEFHRU5UX0lOVEVSQUNUSU9OX1RZUEVfQ0xBUklGSUNBVElPThACEiAKHEFHRU5UX0lOVEVSQUNUSU9OX1RZUEVfSU5QVVQQAyqxAQoVQWdlbnRJbnRlcmFjdGlvblN0YXRlEicKI0FHRU5UX0lOVEVSQUNUSU9OX1NUQVRFX1VOU1BFQ0lGSUVEEAASIwofQUdFTlRfSU5URVJBQ1RJT05fU1RBVEVfUEVORElORxABEiQKIEFHRU5UX0lOVEVSQUNUSU9OX1NUQVRFX1JFU09MVkVEEAISJAogQUdFTlRfSU5URVJBQ1RJT05fU1RBVEVfQ0FOQ0VMRUQQAzLgCwoNQWdlbnRQcm92aWRlchJqCg1DcmVhdGVTZXNzaW9uEjYuZ2VzdGFsdC5wcm92aWRlci52MS5DcmVhdGVBZ2VudFByb3ZpZGVyU2Vzc2lvblJlcXVlc3QaIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvbhJkCgpHZXRTZXNzaW9uEjMuZ2VzdGFsdC5wcm92aWRlci52MS5HZXRBZ2VudFByb3ZpZGVyU2Vzc2lvblJlcXVlc3QaIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvbhJ9CgxMaXN0U2Vzc2lvbnMSNS5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVyU2Vzc2lvbnNSZXF1ZXN0GjYuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRQcm92aWRlclNlc3Npb25zUmVzcG9uc2USagoNVXBkYXRlU2Vzc2lvbhI2Lmdlc3RhbHQucHJvdmlkZXIudjEuVXBkYXRlQWdlbnRQcm92aWRlclNlc3Npb25SZXF1ZXN0GiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb24SYQoKQ3JlYXRlVHVybhIzLmdlc3RhbHQucHJvdmlkZXIudjEuQ3JlYXRlQWdlbnRQcm92aWRlclR1cm5SZXF1ZXN0Gh4uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFR1cm4SWwoHR2V0VHVybhIwLmdlc3RhbHQucHJvdmlkZXIudjEuR2V0QWdlbnRQcm92aWRlclR1cm5SZXF1ZXN0Gh4uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFR1cm4SdAoJTGlzdFR1cm5zEjIuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRQcm92aWRlclR1cm5zUmVxdWVzdBozLmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50UHJvdmlkZXJUdXJuc1Jlc3BvbnNlEmEKCkNhbmNlbFR1cm4SMy5nZXN0YWx0LnByb3ZpZGVyLnYxLkNhbmNlbEFnZW50UHJvdmlkZXJUdXJuUmVxdWVzdBoeLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuEoMBCg5MaXN0VHVybkV2ZW50cxI3Lmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50UHJvdmlkZXJUdXJuRXZlbnRzUmVxdWVzdBo4Lmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50UHJvdmlkZXJUdXJuRXZlbnRzUmVzcG9uc2UScAoOR2V0SW50ZXJhY3Rpb24SNy5nZXN0YWx0LnByb3ZpZGVyLnYxLkdldEFnZW50UHJvdmlkZXJJbnRlcmFjdGlvblJlcXVlc3QaJS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50SW50ZXJhY3Rpb24SiQEKEExpc3RJbnRlcmFjdGlvbnMSOS5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25zUmVxdWVzdBo6Lmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50UHJvdmlkZXJJbnRlcmFjdGlvbnNSZXNwb25zZRJ4ChJSZXNvbHZlSW50ZXJhY3Rpb24SOy5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlc29sdmVBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25SZXF1ZXN0GiUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEludGVyYWN0aW9uEnsKD0dldENhcGFiaWxpdGllcxI4Lmdlc3RhbHQucHJvdmlkZXIudjEuR2V0QWdlbnRQcm92aWRlckNhcGFiaWxpdGllc1JlcXVlc3QaLi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50UHJvdmlkZXJDYXBhYmlsaXRpZXMyyQIKCUFnZW50SG9zdBJqCgtTZWFyY2hUb29scxIsLmdlc3RhbHQucHJvdmlkZXIudjEuU2VhcmNoQWdlbnRUb29sc1JlcXVlc3QaLS5nZXN0YWx0LnByb3ZpZGVyLnYxLlNlYXJjaEFnZW50VG9vbHNSZXNwb25zZRJkCglMaXN0VG9vbHMSKi5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFRvb2xzUmVxdWVzdBorLmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50VG9vbHNSZXNwb25zZRJqCgtFeGVjdXRlVG9vbBIsLmdlc3RhbHQucHJvdmlkZXIudjEuRXhlY3V0ZUFnZW50VG9vbFJlcXVlc3QaLS5nZXN0YWx0LnByb3ZpZGVyLnYxLkV4ZWN1dGVBZ2VudFRvb2xSZXNwb25zZTLlCQoQQWdlbnRNYW5hZ2VySG9zdBJpCg1DcmVhdGVTZXNzaW9uEjUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJDcmVhdGVTZXNzaW9uUmVxdWVzdBohLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uEmMKCkdldFNlc3Npb24SMi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckdldFNlc3Npb25SZXF1ZXN0GiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb24SewoMTGlzdFNlc3Npb25zEjQuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJMaXN0U2Vzc2lvbnNSZXF1ZXN0GjUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJMaXN0U2Vzc2lvbnNSZXNwb25zZRJpCg1VcGRhdGVTZXNzaW9uEjUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJVcGRhdGVTZXNzaW9uUmVxdWVzdBohLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uEmAKCkNyZWF0ZVR1cm4SMi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckNyZWF0ZVR1cm5SZXF1ZXN0Gh4uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFR1cm4SWgoHR2V0VHVybhIvLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNYW5hZ2VyR2V0VHVyblJlcXVlc3QaHi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybhJyCglMaXN0VHVybnMSMS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckxpc3RUdXJuc1JlcXVlc3QaMi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckxpc3RUdXJuc1Jlc3BvbnNlEmAKCkNhbmNlbFR1cm4SMi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckNhbmNlbFR1cm5SZXF1ZXN0Gh4uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFR1cm4SgQEKDkxpc3RUdXJuRXZlbnRzEjYuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJMaXN0VHVybkV2ZW50c1JlcXVlc3QaNy5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckxpc3RUdXJuRXZlbnRzUmVzcG9uc2UShwEKEExpc3RJbnRlcmFjdGlvbnMSOC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckxpc3RJbnRlcmFjdGlvbnNSZXF1ZXN0GjkuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJMaXN0SW50ZXJhY3Rpb25zUmVzcG9uc2USdwoSUmVzb2x2ZUludGVyYWN0aW9uEjouZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJSZXNvbHZlSW50ZXJhY3Rpb25SZXF1ZXN0GiUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEludGVyYWN0aW9uQjtaOWdpdGh1Yi5jb20vdmFsb24tdGVjaG5vbG9naWVzL2dlc3RhbHQvc2RrL2dvL2dlbi92MTtwcm90b2IGcHJvdG8z", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_v1_plugin]);
17
+ fileDesc("Cg52MS9hZ2VudC5wcm90bxITZ2VzdGFsdC5wcm92aWRlci52MSKLAQoMQWdlbnRNZXNzYWdlEgwKBHJvbGUYASABKAkSDAoEdGV4dBgCIAEoCRI0CgVwYXJ0cxgDIAMoCzIlLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNZXNzYWdlUGFydBIpCghtZXRhZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiYwoYQWdlbnRNZXNzYWdlUGFydFRvb2xDYWxsEgoKAmlkGAEgASgJEg8KB3Rvb2xfaWQYAiABKAkSKgoJYXJndW1lbnRzGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJ8ChpBZ2VudE1lc3NhZ2VQYXJ0VG9vbFJlc3VsdBIUCgx0b29sX2NhbGxfaWQYASABKAkSDgoGc3RhdHVzGAIgASgFEg8KB2NvbnRlbnQYAyABKAkSJwoGb3V0cHV0GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCI6ChhBZ2VudE1lc3NhZ2VQYXJ0SW1hZ2VSZWYSCwoDdXJpGAEgASgJEhEKCW1pbWVfdHlwZRgCIAEoCSLKAgoQQWdlbnRNZXNzYWdlUGFydBI3CgR0eXBlGAEgASgOMikuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2VQYXJ0VHlwZRIMCgR0ZXh0GAIgASgJEiUKBGpzb24YAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EkAKCXRvb2xfY2FsbBgEIAEoCzItLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNZXNzYWdlUGFydFRvb2xDYWxsEkQKC3Rvb2xfcmVzdWx0GAUgASgLMi8uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2VQYXJ0VG9vbFJlc3VsdBJACglpbWFnZV9yZWYYBiABKAsyLS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWVzc2FnZVBhcnRJbWFnZVJlZiJhCgpBZ2VudEFjdG9yEhIKCnN1YmplY3RfaWQYASABKAkSFAoMc3ViamVjdF9raW5kGAIgASgJEhQKDGRpc3BsYXlfbmFtZRgDIAEoCRITCgthdXRoX3NvdXJjZRgEIAEoCSKJAQoTQWdlbnRTdWJqZWN0Q29udGV4dBISCgpzdWJqZWN0X2lkGAEgASgJEhQKDHN1YmplY3Rfa2luZBgCIAEoCRIdChVjcmVkZW50aWFsX3N1YmplY3RfaWQYAyABKAkSFAoMZGlzcGxheV9uYW1lGAQgASgJEhMKC2F1dGhfc291cmNlGAUgASgJIoQBChFSZXNvbHZlZEFnZW50VG9vbBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjIKEXBhcmFtZXRlcnNfc2NoZW1hGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEoECAQQBVIGdGFyZ2V0IqIBCgxBZ2VudFRvb2xSZWYSDgoGcGx1Z2luGAEgASgJEhEKCW9wZXJhdGlvbhgCIAEoCRISCgpjb25uZWN0aW9uGAMgASgJEhAKCGluc3RhbmNlGAQgASgJEg0KBXRpdGxlGAUgASgJEhMKC2Rlc2NyaXB0aW9uGAYgASgJEg4KBnN5c3RlbRgIIAEoCUoECAcQCFIPY3JlZGVudGlhbF9tb2RlItsCChlBZ2VudFByb3ZpZGVyQ2FwYWJpbGl0aWVzEhYKDnN0cmVhbWluZ190ZXh0GAEgASgIEhIKCnRvb2xfY2FsbHMYAiABKAgSGwoTcGFyYWxsZWxfdG9vbF9jYWxscxgDIAEoCBIZChFzdHJ1Y3R1cmVkX291dHB1dBgEIAEoCBIUCgxpbnRlcmFjdGlvbnMYBSABKAgSFwoPcmVzdW1hYmxlX3R1cm5zGAYgASgIEhsKE3JlYXNvbmluZ19zdW1tYXJpZXMYByABKAgSHgoWYm91bmRlZF9saXN0X2h5ZHJhdGlvbhgJIAEoCBJIChZzdXBwb3J0ZWRfdG9vbF9zb3VyY2VzGAogAygOMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFRvb2xTb3VyY2VNb2RlEh4KFnN1cHBvcnRzX3Nlc3Npb25fc3RhcnQYCyABKAhKBAgIEAkiJQojR2V0QWdlbnRQcm92aWRlckNhcGFiaWxpdGllc1JlcXVlc3QijgMKEEFnZW50SW50ZXJhY3Rpb24SCgoCaWQYASABKAkSNwoEdHlwZRgCIAEoDjIpLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRJbnRlcmFjdGlvblR5cGUSOQoFc3RhdGUYAyABKA4yKi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50SW50ZXJhY3Rpb25TdGF0ZRINCgV0aXRsZRgEIAEoCRIOCgZwcm9tcHQYBSABKAkSKAoHcmVxdWVzdBgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKwoKcmVzb2x1dGlvbhgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoLcmVzb2x2ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg8KB3R1cm5faWQYCiABKAkSEgoKc2Vzc2lvbl9pZBgLIAEoCSL9AgoMQWdlbnRTZXNzaW9uEgoKAmlkGAEgASgJEhUKDXByb3ZpZGVyX25hbWUYAiABKAkSDQoFbW9kZWwYAyABKAkSEgoKY2xpZW50X3JlZhgEIAEoCRI1CgVzdGF0ZRgFIAEoDjImLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uU3RhdGUSKQoIbWV0YWRhdGEYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjMKCmNyZWF0ZWRfYnkYByABKAsyHy5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50QWN0b3ISLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMbGFzdF90dXJuX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLrAgohQ3JlYXRlQWdlbnRQcm92aWRlclNlc3Npb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSFwoPaWRlbXBvdGVuY3lfa2V5GAIgASgJEg0KBW1vZGVsGAMgASgJEhIKCmNsaWVudF9yZWYYBCABKAkSKQoIbWV0YWRhdGEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjMKCmNyZWF0ZWRfYnkYByABKAsyHy5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50QWN0b3ISOQoHc3ViamVjdBgIIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTdWJqZWN0Q29udGV4dBJDCg1zZXNzaW9uX3N0YXJ0GAkgASgLMiwuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb25TdGFydENvbmZpZ0oECAYQB1IQcHJvdmlkZXJfb3B0aW9ucyJUChdBZ2VudFNlc3Npb25TdGFydENvbmZpZxI5CgVob29rcxgBIAMoCzIqLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uU3RhcnRIb29rIpACChVBZ2VudFNlc3Npb25TdGFydEhvb2sSCgoCaWQYASABKAkSDAoEdHlwZRgCIAEoCRIPCgdjb21tYW5kGAMgAygJEgsKA2N3ZBgEIAEoCRIPCgd0aW1lb3V0GAUgASgJEkAKA2VudhgGIAMoCzIzLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uU3RhcnRIb29rLkVudkVudHJ5EkAKBm91dHB1dBgHIAEoCzIwLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uU3RhcnRIb29rT3V0cHV0GioKCEVudkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiSwobQWdlbnRTZXNzaW9uU3RhcnRIb29rT3V0cHV0EhoKEmFkZGl0aW9uYWxfY29udGV4dBgBIAEoCBIQCghtZXRhZGF0YRgCIAEoCCJvCh5HZXRBZ2VudFByb3ZpZGVyU2Vzc2lvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRI5CgdzdWJqZWN0GAIgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0Is4BCiBMaXN0QWdlbnRQcm92aWRlclNlc3Npb25zUmVxdWVzdBI5CgdzdWJqZWN0GAEgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0EhMKC3Nlc3Npb25faWRzGAIgAygJEjUKBXN0YXRlGAMgASgOMiYuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb25TdGF0ZRINCgVsaW1pdBgEIAEoBRIUCgxzdW1tYXJ5X29ubHkYBSABKAgiWAohTGlzdEFnZW50UHJvdmlkZXJTZXNzaW9uc1Jlc3BvbnNlEjMKCHNlc3Npb25zGAEgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb24i6AEKIVVwZGF0ZUFnZW50UHJvdmlkZXJTZXNzaW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEhIKCmNsaWVudF9yZWYYAiABKAkSNQoFc3RhdGUYAyABKA4yJi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXRlEikKCG1ldGFkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI5CgdzdWJqZWN0GAUgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0IoAECglBZ2VudFR1cm4SCgoCaWQYASABKAkSEgoKc2Vzc2lvbl9pZBgCIAEoCRIVCg1wcm92aWRlcl9uYW1lGAMgASgJEg0KBW1vZGVsGAQgASgJEjkKBnN0YXR1cxgFIAEoDjIpLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRFeGVjdXRpb25TdGF0dXMSMwoIbWVzc2FnZXMYBiADKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWVzc2FnZRITCgtvdXRwdXRfdGV4dBgHIAEoCRIyChFzdHJ1Y3R1cmVkX291dHB1dBgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFgoOc3RhdHVzX21lc3NhZ2UYCSABKAkSMwoKY3JlYXRlZF9ieRgKIAEoCzIfLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRBY3RvchIuCgpjcmVhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpzdGFydGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhUKDWV4ZWN1dGlvbl9yZWYYDiABKAkilQIKEEFnZW50VHVybkRpc3BsYXkSDAoEa2luZBgBIAEoCRINCgVwaGFzZRgCIAEoCRIMCgR0ZXh0GAMgASgJEg0KBWxhYmVsGAQgASgJEgsKA3JlZhgFIAEoCRISCgpwYXJlbnRfcmVmGAYgASgJEiUKBWlucHV0GAcgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEiYKBm91dHB1dBgIIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIlCgVlcnJvchgJIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIOCgZhY3Rpb24YCiABKAkSDgoGZm9ybWF0GAsgASgJEhAKCGxhbmd1YWdlGAwgASgJIp8FCh5DcmVhdGVBZ2VudFByb3ZpZGVyVHVyblJlcXVlc3QSDwoHdHVybl9pZBgBIAEoCRISCgpzZXNzaW9uX2lkGAIgASgJEhcKD2lkZW1wb3RlbmN5X2tleRgDIAEoCRINCgVtb2RlbBgEIAEoCRIzCghtZXNzYWdlcxgFIAMoCzIhLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNZXNzYWdlEjUKBXRvb2xzGAYgAygLMiYuZ2VzdGFsdC5wcm92aWRlci52MS5SZXNvbHZlZEFnZW50VG9vbBIwCg9yZXNwb25zZV9zY2hlbWEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCG1ldGFkYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIzCgpjcmVhdGVkX2J5GAogASgLMh8uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEFjdG9yEhUKDWV4ZWN1dGlvbl9yZWYYCyABKAkSNAoJdG9vbF9yZWZzGAwgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFRvb2xSZWYSPQoLdG9vbF9zb3VyY2UYDSABKA4yKC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VG9vbFNvdXJjZU1vZGUSOQoHc3ViamVjdBgOIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTdWJqZWN0Q29udGV4dBIuCg1tb2RlbF9vcHRpb25zGBAgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIRCglydW5fZ3JhbnQYESABKAlKBAgJEApKBAgPEBBSEHByb3ZpZGVyX29wdGlvbnNSCnRvb2xfZ3JhbnQiaQobR2V0QWdlbnRQcm92aWRlclR1cm5SZXF1ZXN0Eg8KB3R1cm5faWQYASABKAkSOQoHc3ViamVjdBgCIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTdWJqZWN0Q29udGV4dCLgAQodTGlzdEFnZW50UHJvdmlkZXJUdXJuc1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRI5CgdzdWJqZWN0GAIgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0EhAKCHR1cm5faWRzGAMgAygJEjkKBnN0YXR1cxgEIAEoDjIpLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRFeGVjdXRpb25TdGF0dXMSDQoFbGltaXQYBSABKAUSFAoMc3VtbWFyeV9vbmx5GAYgASgIIk8KHkxpc3RBZ2VudFByb3ZpZGVyVHVybnNSZXNwb25zZRItCgV0dXJucxgBIAMoCzIeLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuInwKHkNhbmNlbEFnZW50UHJvdmlkZXJUdXJuUmVxdWVzdBIPCgd0dXJuX2lkGAEgASgJEg4KBnJlYXNvbhgCIAEoCRI5CgdzdWJqZWN0GAMgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0IvsBCg5BZ2VudFR1cm5FdmVudBIKCgJpZBgBIAEoCRIPCgd0dXJuX2lkGAIgASgJEgsKA3NlcRgDIAEoAxIMCgR0eXBlGAQgASgJEg4KBnNvdXJjZRgFIAEoCRISCgp2aXNpYmlsaXR5GAYgASgJEiUKBGRhdGEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjYKB2Rpc3BsYXkYCSABKAsyJS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybkRpc3BsYXkikgEKIkxpc3RBZ2VudFByb3ZpZGVyVHVybkV2ZW50c1JlcXVlc3QSDwoHdHVybl9pZBgBIAEoCRIRCglhZnRlcl9zZXEYAiABKAMSDQoFbGltaXQYAyABKAUSOQoHc3ViamVjdBgEIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTdWJqZWN0Q29udGV4dCJaCiNMaXN0QWdlbnRQcm92aWRlclR1cm5FdmVudHNSZXNwb25zZRIzCgZldmVudHMYASADKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybkV2ZW50IncKIkdldEFnZW50UHJvdmlkZXJJbnRlcmFjdGlvblJlcXVlc3QSFgoOaW50ZXJhY3Rpb25faWQYASABKAkSOQoHc3ViamVjdBgCIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTdWJqZWN0Q29udGV4dCJyCiRMaXN0QWdlbnRQcm92aWRlckludGVyYWN0aW9uc1JlcXVlc3QSDwoHdHVybl9pZBgBIAEoCRI5CgdzdWJqZWN0GAIgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0ImQKJUxpc3RBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25zUmVzcG9uc2USOwoMaW50ZXJhY3Rpb25zGAEgAygLMiUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEludGVyYWN0aW9uIqgBCiZSZXNvbHZlQWdlbnRQcm92aWRlckludGVyYWN0aW9uUmVxdWVzdBIWCg5pbnRlcmFjdGlvbl9pZBgBIAEoCRIrCgpyZXNvbHV0aW9uGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI5CgdzdWJqZWN0GAMgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0Is8BChdFeGVjdXRlQWdlbnRUb29sUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB3R1cm5faWQYAiABKAkSFAoMdG9vbF9jYWxsX2lkGAMgASgJEg8KB3Rvb2xfaWQYBCABKAkSKgoJYXJndW1lbnRzGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCg9pZGVtcG90ZW5jeV9rZXkYByABKAkSEQoJcnVuX2dyYW50GAggASgJSgQIBhAHUgp0b29sX2dyYW50IjgKGEV4ZWN1dGVBZ2VudFRvb2xSZXNwb25zZRIOCgZzdGF0dXMYASABKAUSDAoEYm9keRgCIAEoCSKTAgoPTGlzdGVkQWdlbnRUb29sEgoKAmlkGAEgASgJEhAKCG1jcF9uYW1lGAIgASgJEg0KBXRpdGxlGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhQKDGlucHV0X3NjaGVtYRgFIAEoCRIVCg1vdXRwdXRfc2NoZW1hGAYgASgJEj4KC2Fubm90YXRpb25zGAcgASgLMikuZ2VzdGFsdC5wcm92aWRlci52MS5PcGVyYXRpb25Bbm5vdGF0aW9ucxIuCgNyZWYYCCABKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VG9vbFJlZhIMCgR0YWdzGAkgAygJEhMKC3NlYXJjaF90ZXh0GAogASgJIpcBChVMaXN0QWdlbnRUb29sc1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgd0dXJuX2lkGAIgASgJEhEKCXBhZ2Vfc2l6ZRgDIAEoBRISCgpwYWdlX3Rva2VuGAQgASgJEhEKCXJ1bl9ncmFudBgGIAEoCRINCgVxdWVyeRgHIAEoCUoECAUQBlIKdG9vbF9ncmFudCJmChZMaXN0QWdlbnRUb29sc1Jlc3BvbnNlEjMKBXRvb2xzGAEgAygLMiQuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0ZWRBZ2VudFRvb2wSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIn0KHVJlc29sdmVBZ2VudENvbm5lY3Rpb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHdHVybl9pZBgCIAEoCRISCgpjb25uZWN0aW9uGAMgASgJEhAKCGluc3RhbmNlGAQgASgJEhEKCXJ1bl9ncmFudBgFIAEoCSKJAwoXUmVzb2x2ZWRBZ2VudENvbm5lY3Rpb24SFQoNY29ubmVjdGlvbl9pZBgBIAEoCRISCgpjb25uZWN0aW9uGAIgASgJEhAKCGluc3RhbmNlGAMgASgJEgwKBG1vZGUYBCABKAkSSgoHaGVhZGVycxgFIAMoCzI5Lmdlc3RhbHQucHJvdmlkZXIudjEuUmVzb2x2ZWRBZ2VudENvbm5lY3Rpb24uSGVhZGVyc0VudHJ5EkgKBnBhcmFtcxgGIAMoCzI4Lmdlc3RhbHQucHJvdmlkZXIudjEuUmVzb2x2ZWRBZ2VudENvbm5lY3Rpb24uUGFyYW1zRW50cnkSLgoKZXhwaXJlc19hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAaLgoMSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaLQoLUGFyYW1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLoAQogQWdlbnRNYW5hZ2VyQ3JlYXRlU2Vzc2lvblJlcXVlc3QSFQoNcHJvdmlkZXJfbmFtZRgCIAEoCRINCgVtb2RlbBgDIAEoCRISCgpjbGllbnRfcmVmGAQgASgJEikKCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCg9pZGVtcG90ZW5jeV9rZXkYByABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgIIAEoCUoECAEQAkoECAYQB1IOcmVxdWVzdF9oYW5kbGVSEHByb3ZpZGVyX29wdGlvbnMiYwodQWdlbnRNYW5hZ2VyR2V0U2Vzc2lvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgCIAEoCRIYChBpbnZvY2F0aW9uX3Rva2VuGAMgASgJSgQIARACUg5yZXF1ZXN0X2hhbmRsZSLEAQofQWdlbnRNYW5hZ2VyTGlzdFNlc3Npb25zUmVxdWVzdBIVCg1wcm92aWRlcl9uYW1lGAIgASgJEhgKEGludm9jYXRpb25fdG9rZW4YAyABKAkSNQoFc3RhdGUYBCABKA4yJi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXRlEg0KBWxpbWl0GAUgASgFEhQKDHN1bW1hcnlfb25seRgGIAEoCEoECAEQAlIOcmVxdWVzdF9oYW5kbGUiVwogQWdlbnRNYW5hZ2VyTGlzdFNlc3Npb25zUmVzcG9uc2USMwoIc2Vzc2lvbnMYASADKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvbiLcAQogQWdlbnRNYW5hZ2VyVXBkYXRlU2Vzc2lvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgCIAEoCRISCgpjbGllbnRfcmVmGAMgASgJEjUKBXN0YXRlGAQgASgOMiYuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb25TdGF0ZRIpCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSGAoQaW52b2NhdGlvbl90b2tlbhgGIAEoCUoECAEQAlIOcmVxdWVzdF9oYW5kbGUi2gMKHUFnZW50TWFuYWdlckNyZWF0ZVR1cm5SZXF1ZXN0EhIKCnNlc3Npb25faWQYAiABKAkSDQoFbW9kZWwYAyABKAkSMwoIbWVzc2FnZXMYBCADKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWVzc2FnZRI0Cgl0b29sX3JlZnMYBSADKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VG9vbFJlZhI9Cgt0b29sX3NvdXJjZRgGIAEoDjIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUb29sU291cmNlTW9kZRIwCg9yZXNwb25zZV9zY2hlbWEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCG1ldGFkYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCg9pZGVtcG90ZW5jeV9rZXkYCiABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgLIAEoCRIuCg1tb2RlbF9vcHRpb25zGAwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEoECAEQAkoECAkQClIOcmVxdWVzdF9oYW5kbGVSEHByb3ZpZGVyX29wdGlvbnMiXQoaQWdlbnRNYW5hZ2VyR2V0VHVyblJlcXVlc3QSDwoHdHVybl9pZBgCIAEoCRIYChBpbnZvY2F0aW9uX3Rva2VuGAMgASgJSgQIARACUg5yZXF1ZXN0X2hhbmRsZSLCAQocQWdlbnRNYW5hZ2VyTGlzdFR1cm5zUmVxdWVzdBISCgpzZXNzaW9uX2lkGAIgASgJEhgKEGludm9jYXRpb25fdG9rZW4YAyABKAkSOQoGc3RhdHVzGAQgASgOMikuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEV4ZWN1dGlvblN0YXR1cxINCgVsaW1pdBgFIAEoBRIUCgxzdW1tYXJ5X29ubHkYBiABKAhKBAgBEAJSDnJlcXVlc3RfaGFuZGxlIk4KHUFnZW50TWFuYWdlckxpc3RUdXJuc1Jlc3BvbnNlEi0KBXR1cm5zGAEgAygLMh4uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFR1cm4icAodQWdlbnRNYW5hZ2VyQ2FuY2VsVHVyblJlcXVlc3QSDwoHdHVybl9pZBgCIAEoCRIOCgZyZWFzb24YAyABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgEIAEoCUoECAEQAlIOcmVxdWVzdF9oYW5kbGUihgEKIUFnZW50TWFuYWdlckxpc3RUdXJuRXZlbnRzUmVxdWVzdBIPCgd0dXJuX2lkGAIgASgJEhEKCWFmdGVyX3NlcRgDIAEoAxINCgVsaW1pdBgEIAEoBRIYChBpbnZvY2F0aW9uX3Rva2VuGAUgASgJSgQIARACUg5yZXF1ZXN0X2hhbmRsZSJZCiJBZ2VudE1hbmFnZXJMaXN0VHVybkV2ZW50c1Jlc3BvbnNlEjMKBmV2ZW50cxgBIAMoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuRXZlbnQiZgojQWdlbnRNYW5hZ2VyTGlzdEludGVyYWN0aW9uc1JlcXVlc3QSDwoHdHVybl9pZBgCIAEoCRIYChBpbnZvY2F0aW9uX3Rva2VuGAMgASgJSgQIARACUg5yZXF1ZXN0X2hhbmRsZSJjCiRBZ2VudE1hbmFnZXJMaXN0SW50ZXJhY3Rpb25zUmVzcG9uc2USOwoMaW50ZXJhY3Rpb25zGAEgAygLMiUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEludGVyYWN0aW9uIq0BCiVBZ2VudE1hbmFnZXJSZXNvbHZlSW50ZXJhY3Rpb25SZXF1ZXN0Eg8KB3R1cm5faWQYAiABKAkSFgoOaW50ZXJhY3Rpb25faWQYAyABKAkSKwoKcmVzb2x1dGlvbhgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSGAoQaW52b2NhdGlvbl90b2tlbhgFIAEoCUoECAEQAlIOcmVxdWVzdF9oYW5kbGUq+gEKFEFnZW50TWVzc2FnZVBhcnRUeXBlEicKI0FHRU5UX01FU1NBR0VfUEFSVF9UWVBFX1VOU1BFQ0lGSUVEEAASIAocQUdFTlRfTUVTU0FHRV9QQVJUX1RZUEVfVEVYVBABEiAKHEFHRU5UX01FU1NBR0VfUEFSVF9UWVBFX0pTT04QAhIlCiFBR0VOVF9NRVNTQUdFX1BBUlRfVFlQRV9UT09MX0NBTEwQAxInCiNBR0VOVF9NRVNTQUdFX1BBUlRfVFlQRV9UT09MX1JFU1VMVBAEEiUKIUFHRU5UX01FU1NBR0VfUEFSVF9UWVBFX0lNQUdFX1JFRhAFKmsKE0FnZW50VG9vbFNvdXJjZU1vZGUSJgoiQUdFTlRfVE9PTF9TT1VSQ0VfTU9ERV9VTlNQRUNJRklFRBAAEiYKIkFHRU5UX1RPT0xfU09VUkNFX01PREVfTUNQX0NBVEFMT0cQAiIECAEQASqiAgoUQWdlbnRFeGVjdXRpb25TdGF0dXMSJgoiQUdFTlRfRVhFQ1VUSU9OX1NUQVRVU19VTlNQRUNJRklFRBAAEiIKHkFHRU5UX0VYRUNVVElPTl9TVEFUVVNfUEVORElORxABEiIKHkFHRU5UX0VYRUNVVElPTl9TVEFUVVNfUlVOTklORxACEiQKIEFHRU5UX0VYRUNVVElPTl9TVEFUVVNfU1VDQ0VFREVEEAMSIQodQUdFTlRfRVhFQ1VUSU9OX1NUQVRVU19GQUlMRUQQBBIjCh9BR0VOVF9FWEVDVVRJT05fU1RBVFVTX0NBTkNFTEVEEAUSLAooQUdFTlRfRVhFQ1VUSU9OX1NUQVRVU19XQUlUSU5HX0ZPUl9JTlBVVBAGKnoKEUFnZW50U2Vzc2lvblN0YXRlEiMKH0FHRU5UX1NFU1NJT05fU1RBVEVfVU5TUEVDSUZJRUQQABIeChpBR0VOVF9TRVNTSU9OX1NUQVRFX0FDVElWRRABEiAKHEFHRU5UX1NFU1NJT05fU1RBVEVfQVJDSElWRUQQAiqvAQoUQWdlbnRJbnRlcmFjdGlvblR5cGUSJgoiQUdFTlRfSU5URVJBQ1RJT05fVFlQRV9VTlNQRUNJRklFRBAAEiMKH0FHRU5UX0lOVEVSQUNUSU9OX1RZUEVfQVBQUk9WQUwQARIoCiRBR0VOVF9JTlRFUkFDVElPTl9UWVBFX0NMQVJJRklDQVRJT04QAhIgChxBR0VOVF9JTlRFUkFDVElPTl9UWVBFX0lOUFVUEAMqsQEKFUFnZW50SW50ZXJhY3Rpb25TdGF0ZRInCiNBR0VOVF9JTlRFUkFDVElPTl9TVEFURV9VTlNQRUNJRklFRBAAEiMKH0FHRU5UX0lOVEVSQUNUSU9OX1NUQVRFX1BFTkRJTkcQARIkCiBBR0VOVF9JTlRFUkFDVElPTl9TVEFURV9SRVNPTFZFRBACEiQKIEFHRU5UX0lOVEVSQUNUSU9OX1NUQVRFX0NBTkNFTEVEEAMy4AsKDUFnZW50UHJvdmlkZXISagoNQ3JlYXRlU2Vzc2lvbhI2Lmdlc3RhbHQucHJvdmlkZXIudjEuQ3JlYXRlQWdlbnRQcm92aWRlclNlc3Npb25SZXF1ZXN0GiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb24SZAoKR2V0U2Vzc2lvbhIzLmdlc3RhbHQucHJvdmlkZXIudjEuR2V0QWdlbnRQcm92aWRlclNlc3Npb25SZXF1ZXN0GiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb24SfQoMTGlzdFNlc3Npb25zEjUuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRQcm92aWRlclNlc3Npb25zUmVxdWVzdBo2Lmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50UHJvdmlkZXJTZXNzaW9uc1Jlc3BvbnNlEmoKDVVwZGF0ZVNlc3Npb24SNi5nZXN0YWx0LnByb3ZpZGVyLnYxLlVwZGF0ZUFnZW50UHJvdmlkZXJTZXNzaW9uUmVxdWVzdBohLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uEmEKCkNyZWF0ZVR1cm4SMy5nZXN0YWx0LnByb3ZpZGVyLnYxLkNyZWF0ZUFnZW50UHJvdmlkZXJUdXJuUmVxdWVzdBoeLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuElsKB0dldFR1cm4SMC5nZXN0YWx0LnByb3ZpZGVyLnYxLkdldEFnZW50UHJvdmlkZXJUdXJuUmVxdWVzdBoeLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuEnQKCUxpc3RUdXJucxIyLmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50UHJvdmlkZXJUdXJuc1JlcXVlc3QaMy5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVyVHVybnNSZXNwb25zZRJhCgpDYW5jZWxUdXJuEjMuZ2VzdGFsdC5wcm92aWRlci52MS5DYW5jZWxBZ2VudFByb3ZpZGVyVHVyblJlcXVlc3QaHi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybhKDAQoOTGlzdFR1cm5FdmVudHMSNy5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVyVHVybkV2ZW50c1JlcXVlc3QaOC5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVyVHVybkV2ZW50c1Jlc3BvbnNlEnAKDkdldEludGVyYWN0aW9uEjcuZ2VzdGFsdC5wcm92aWRlci52MS5HZXRBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25SZXF1ZXN0GiUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEludGVyYWN0aW9uEokBChBMaXN0SW50ZXJhY3Rpb25zEjkuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRQcm92aWRlckludGVyYWN0aW9uc1JlcXVlc3QaOi5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25zUmVzcG9uc2USeAoSUmVzb2x2ZUludGVyYWN0aW9uEjsuZ2VzdGFsdC5wcm92aWRlci52MS5SZXNvbHZlQWdlbnRQcm92aWRlckludGVyYWN0aW9uUmVxdWVzdBolLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRJbnRlcmFjdGlvbhJ7Cg9HZXRDYXBhYmlsaXRpZXMSOC5nZXN0YWx0LnByb3ZpZGVyLnYxLkdldEFnZW50UHJvdmlkZXJDYXBhYmlsaXRpZXNSZXF1ZXN0Gi4uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFByb3ZpZGVyQ2FwYWJpbGl0aWVzMtQCCglBZ2VudEhvc3QSZAoJTGlzdFRvb2xzEiouZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRUb29sc1JlcXVlc3QaKy5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFRvb2xzUmVzcG9uc2USagoLRXhlY3V0ZVRvb2wSLC5nZXN0YWx0LnByb3ZpZGVyLnYxLkV4ZWN1dGVBZ2VudFRvb2xSZXF1ZXN0Gi0uZ2VzdGFsdC5wcm92aWRlci52MS5FeGVjdXRlQWdlbnRUb29sUmVzcG9uc2USdQoRUmVzb2x2ZUNvbm5lY3Rpb24SMi5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlc29sdmVBZ2VudENvbm5lY3Rpb25SZXF1ZXN0GiwuZ2VzdGFsdC5wcm92aWRlci52MS5SZXNvbHZlZEFnZW50Q29ubmVjdGlvbjLlCQoQQWdlbnRNYW5hZ2VySG9zdBJpCg1DcmVhdGVTZXNzaW9uEjUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJDcmVhdGVTZXNzaW9uUmVxdWVzdBohLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uEmMKCkdldFNlc3Npb24SMi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckdldFNlc3Npb25SZXF1ZXN0GiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb24SewoMTGlzdFNlc3Npb25zEjQuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJMaXN0U2Vzc2lvbnNSZXF1ZXN0GjUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJMaXN0U2Vzc2lvbnNSZXNwb25zZRJpCg1VcGRhdGVTZXNzaW9uEjUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJVcGRhdGVTZXNzaW9uUmVxdWVzdBohLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uEmAKCkNyZWF0ZVR1cm4SMi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckNyZWF0ZVR1cm5SZXF1ZXN0Gh4uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFR1cm4SWgoHR2V0VHVybhIvLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNYW5hZ2VyR2V0VHVyblJlcXVlc3QaHi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybhJyCglMaXN0VHVybnMSMS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckxpc3RUdXJuc1JlcXVlc3QaMi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckxpc3RUdXJuc1Jlc3BvbnNlEmAKCkNhbmNlbFR1cm4SMi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckNhbmNlbFR1cm5SZXF1ZXN0Gh4uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFR1cm4SgQEKDkxpc3RUdXJuRXZlbnRzEjYuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJMaXN0VHVybkV2ZW50c1JlcXVlc3QaNy5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckxpc3RUdXJuRXZlbnRzUmVzcG9uc2UShwEKEExpc3RJbnRlcmFjdGlvbnMSOC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckxpc3RJbnRlcmFjdGlvbnNSZXF1ZXN0GjkuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJMaXN0SW50ZXJhY3Rpb25zUmVzcG9uc2USdwoSUmVzb2x2ZUludGVyYWN0aW9uEjouZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJSZXNvbHZlSW50ZXJhY3Rpb25SZXF1ZXN0GiUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEludGVyYWN0aW9uQj1aO2dpdGh1Yi5jb20vdmFsb24tdGVjaG5vbG9naWVzL2dlc3RhbHQvaW50ZXJuYWwvZ2VuL3YxO3Byb3RvYgZwcm90bzM", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_v1_plugin]);
18
18
 
19
19
  /**
20
20
  * @generated from message gestalt.provider.v1.AgentMessage
@@ -319,48 +319,6 @@ export type AgentToolRef = Message<"gestalt.provider.v1.AgentToolRef"> & {
319
319
  export const AgentToolRefSchema: GenMessage<AgentToolRef> = /*@__PURE__*/
320
320
  messageDesc(file_v1_agent, 8);
321
321
 
322
- /**
323
- * @generated from message gestalt.provider.v1.AgentToolCandidate
324
- */
325
- export type AgentToolCandidate = Message<"gestalt.provider.v1.AgentToolCandidate"> & {
326
- /**
327
- * @generated from field: gestalt.provider.v1.AgentToolRef ref = 1;
328
- */
329
- ref?: AgentToolRef | undefined;
330
-
331
- /**
332
- * @generated from field: string id = 2;
333
- */
334
- id: string;
335
-
336
- /**
337
- * @generated from field: string name = 3;
338
- */
339
- name: string;
340
-
341
- /**
342
- * @generated from field: string description = 4;
343
- */
344
- description: string;
345
-
346
- /**
347
- * @generated from field: repeated string parameters = 5;
348
- */
349
- parameters: string[];
350
-
351
- /**
352
- * @generated from field: double score = 6;
353
- */
354
- score: number;
355
- };
356
-
357
- /**
358
- * Describes the message gestalt.provider.v1.AgentToolCandidate.
359
- * Use `create(AgentToolCandidateSchema)` to create a new message.
360
- */
361
- export const AgentToolCandidateSchema: GenMessage<AgentToolCandidate> = /*@__PURE__*/
362
- messageDesc(file_v1_agent, 9);
363
-
364
322
  /**
365
323
  * @generated from message gestalt.provider.v1.AgentProviderCapabilities
366
324
  */
@@ -401,11 +359,10 @@ export type AgentProviderCapabilities = Message<"gestalt.provider.v1.AgentProvid
401
359
  reasoningSummaries: boolean;
402
360
 
403
361
  /**
404
- * @generated from field: bool native_tool_search = 8;
405
- */
406
- nativeToolSearch: boolean;
407
-
408
- /**
362
+ * Provider list APIs can apply non-zero limits and summary projections without
363
+ * hydrating every source record. Providers that set this must order sessions
364
+ * and turns by the relevant newest-first recency fields before applying limit.
365
+ *
409
366
  * @generated from field: bool bounded_list_hydration = 9;
410
367
  */
411
368
  boundedListHydration: boolean;
@@ -414,6 +371,11 @@ export type AgentProviderCapabilities = Message<"gestalt.provider.v1.AgentProvid
414
371
  * @generated from field: repeated gestalt.provider.v1.AgentToolSourceMode supported_tool_sources = 10;
415
372
  */
416
373
  supportedToolSources: AgentToolSourceMode[];
374
+
375
+ /**
376
+ * @generated from field: bool supports_session_start = 11;
377
+ */
378
+ supportsSessionStart: boolean;
417
379
  };
418
380
 
419
381
  /**
@@ -421,7 +383,7 @@ export type AgentProviderCapabilities = Message<"gestalt.provider.v1.AgentProvid
421
383
  * Use `create(AgentProviderCapabilitiesSchema)` to create a new message.
422
384
  */
423
385
  export const AgentProviderCapabilitiesSchema: GenMessage<AgentProviderCapabilities> = /*@__PURE__*/
424
- messageDesc(file_v1_agent, 10);
386
+ messageDesc(file_v1_agent, 9);
425
387
 
426
388
  /**
427
389
  * @generated from message gestalt.provider.v1.GetAgentProviderCapabilitiesRequest
@@ -434,7 +396,7 @@ export type GetAgentProviderCapabilitiesRequest = Message<"gestalt.provider.v1.G
434
396
  * Use `create(GetAgentProviderCapabilitiesRequestSchema)` to create a new message.
435
397
  */
436
398
  export const GetAgentProviderCapabilitiesRequestSchema: GenMessage<GetAgentProviderCapabilitiesRequest> = /*@__PURE__*/
437
- messageDesc(file_v1_agent, 11);
399
+ messageDesc(file_v1_agent, 10);
438
400
 
439
401
  /**
440
402
  * @generated from message gestalt.provider.v1.AgentInteraction
@@ -501,7 +463,7 @@ export type AgentInteraction = Message<"gestalt.provider.v1.AgentInteraction"> &
501
463
  * Use `create(AgentInteractionSchema)` to create a new message.
502
464
  */
503
465
  export const AgentInteractionSchema: GenMessage<AgentInteraction> = /*@__PURE__*/
504
- messageDesc(file_v1_agent, 12);
466
+ messageDesc(file_v1_agent, 11);
505
467
 
506
468
  /**
507
469
  * @generated from message gestalt.provider.v1.AgentSession
@@ -563,7 +525,7 @@ export type AgentSession = Message<"gestalt.provider.v1.AgentSession"> & {
563
525
  * Use `create(AgentSessionSchema)` to create a new message.
564
526
  */
565
527
  export const AgentSessionSchema: GenMessage<AgentSession> = /*@__PURE__*/
566
- messageDesc(file_v1_agent, 13);
528
+ messageDesc(file_v1_agent, 12);
567
529
 
568
530
  /**
569
531
  * @generated from message gestalt.provider.v1.CreateAgentProviderSessionRequest
@@ -594,11 +556,6 @@ export type CreateAgentProviderSessionRequest = Message<"gestalt.provider.v1.Cre
594
556
  */
595
557
  metadata?: JsonObject | undefined;
596
558
 
597
- /**
598
- * @generated from field: google.protobuf.Struct provider_options = 6;
599
- */
600
- providerOptions?: JsonObject | undefined;
601
-
602
559
  /**
603
560
  * @generated from field: gestalt.provider.v1.AgentActor created_by = 7;
604
561
  */
@@ -608,6 +565,11 @@ export type CreateAgentProviderSessionRequest = Message<"gestalt.provider.v1.Cre
608
565
  * @generated from field: gestalt.provider.v1.AgentSubjectContext subject = 8;
609
566
  */
610
567
  subject?: AgentSubjectContext | undefined;
568
+
569
+ /**
570
+ * @generated from field: gestalt.provider.v1.AgentSessionStartConfig session_start = 9;
571
+ */
572
+ sessionStart?: AgentSessionStartConfig | undefined;
611
573
  };
612
574
 
613
575
  /**
@@ -615,8 +577,94 @@ export type CreateAgentProviderSessionRequest = Message<"gestalt.provider.v1.Cre
615
577
  * Use `create(CreateAgentProviderSessionRequestSchema)` to create a new message.
616
578
  */
617
579
  export const CreateAgentProviderSessionRequestSchema: GenMessage<CreateAgentProviderSessionRequest> = /*@__PURE__*/
580
+ messageDesc(file_v1_agent, 13);
581
+
582
+ /**
583
+ * @generated from message gestalt.provider.v1.AgentSessionStartConfig
584
+ */
585
+ export type AgentSessionStartConfig = Message<"gestalt.provider.v1.AgentSessionStartConfig"> & {
586
+ /**
587
+ * @generated from field: repeated gestalt.provider.v1.AgentSessionStartHook hooks = 1;
588
+ */
589
+ hooks: AgentSessionStartHook[];
590
+ };
591
+
592
+ /**
593
+ * Describes the message gestalt.provider.v1.AgentSessionStartConfig.
594
+ * Use `create(AgentSessionStartConfigSchema)` to create a new message.
595
+ */
596
+ export const AgentSessionStartConfigSchema: GenMessage<AgentSessionStartConfig> = /*@__PURE__*/
618
597
  messageDesc(file_v1_agent, 14);
619
598
 
599
+ /**
600
+ * @generated from message gestalt.provider.v1.AgentSessionStartHook
601
+ */
602
+ export type AgentSessionStartHook = Message<"gestalt.provider.v1.AgentSessionStartHook"> & {
603
+ /**
604
+ * @generated from field: string id = 1;
605
+ */
606
+ id: string;
607
+
608
+ /**
609
+ * @generated from field: string type = 2;
610
+ */
611
+ type: string;
612
+
613
+ /**
614
+ * @generated from field: repeated string command = 3;
615
+ */
616
+ command: string[];
617
+
618
+ /**
619
+ * @generated from field: string cwd = 4;
620
+ */
621
+ cwd: string;
622
+
623
+ /**
624
+ * @generated from field: string timeout = 5;
625
+ */
626
+ timeout: string;
627
+
628
+ /**
629
+ * @generated from field: map<string, string> env = 6;
630
+ */
631
+ env: { [key: string]: string };
632
+
633
+ /**
634
+ * @generated from field: gestalt.provider.v1.AgentSessionStartHookOutput output = 7;
635
+ */
636
+ output?: AgentSessionStartHookOutput | undefined;
637
+ };
638
+
639
+ /**
640
+ * Describes the message gestalt.provider.v1.AgentSessionStartHook.
641
+ * Use `create(AgentSessionStartHookSchema)` to create a new message.
642
+ */
643
+ export const AgentSessionStartHookSchema: GenMessage<AgentSessionStartHook> = /*@__PURE__*/
644
+ messageDesc(file_v1_agent, 15);
645
+
646
+ /**
647
+ * @generated from message gestalt.provider.v1.AgentSessionStartHookOutput
648
+ */
649
+ export type AgentSessionStartHookOutput = Message<"gestalt.provider.v1.AgentSessionStartHookOutput"> & {
650
+ /**
651
+ * @generated from field: bool additional_context = 1;
652
+ */
653
+ additionalContext: boolean;
654
+
655
+ /**
656
+ * @generated from field: bool metadata = 2;
657
+ */
658
+ metadata: boolean;
659
+ };
660
+
661
+ /**
662
+ * Describes the message gestalt.provider.v1.AgentSessionStartHookOutput.
663
+ * Use `create(AgentSessionStartHookOutputSchema)` to create a new message.
664
+ */
665
+ export const AgentSessionStartHookOutputSchema: GenMessage<AgentSessionStartHookOutput> = /*@__PURE__*/
666
+ messageDesc(file_v1_agent, 16);
667
+
620
668
  /**
621
669
  * @generated from message gestalt.provider.v1.GetAgentProviderSessionRequest
622
670
  */
@@ -637,7 +685,7 @@ export type GetAgentProviderSessionRequest = Message<"gestalt.provider.v1.GetAge
637
685
  * Use `create(GetAgentProviderSessionRequestSchema)` to create a new message.
638
686
  */
639
687
  export const GetAgentProviderSessionRequestSchema: GenMessage<GetAgentProviderSessionRequest> = /*@__PURE__*/
640
- messageDesc(file_v1_agent, 15);
688
+ messageDesc(file_v1_agent, 17);
641
689
 
642
690
  /**
643
691
  * @generated from message gestalt.provider.v1.ListAgentProviderSessionsRequest
@@ -659,11 +707,17 @@ export type ListAgentProviderSessionsRequest = Message<"gestalt.provider.v1.List
659
707
  state: AgentSessionState;
660
708
 
661
709
  /**
710
+ * When non-zero and bounded_list_hydration is supported, cap results after
711
+ * ordering sessions newest-first by last_turn_at, updated_at, then created_at.
712
+ *
662
713
  * @generated from field: int32 limit = 4;
663
714
  */
664
715
  limit: number;
665
716
 
666
717
  /**
718
+ * When true and bounded_list_hydration is supported, omit heavy fields such as
719
+ * metadata unless exact session_ids require direct lookup.
720
+ *
667
721
  * @generated from field: bool summary_only = 5;
668
722
  */
669
723
  summaryOnly: boolean;
@@ -674,7 +728,7 @@ export type ListAgentProviderSessionsRequest = Message<"gestalt.provider.v1.List
674
728
  * Use `create(ListAgentProviderSessionsRequestSchema)` to create a new message.
675
729
  */
676
730
  export const ListAgentProviderSessionsRequestSchema: GenMessage<ListAgentProviderSessionsRequest> = /*@__PURE__*/
677
- messageDesc(file_v1_agent, 16);
731
+ messageDesc(file_v1_agent, 18);
678
732
 
679
733
  /**
680
734
  * @generated from message gestalt.provider.v1.ListAgentProviderSessionsResponse
@@ -691,7 +745,7 @@ export type ListAgentProviderSessionsResponse = Message<"gestalt.provider.v1.Lis
691
745
  * Use `create(ListAgentProviderSessionsResponseSchema)` to create a new message.
692
746
  */
693
747
  export const ListAgentProviderSessionsResponseSchema: GenMessage<ListAgentProviderSessionsResponse> = /*@__PURE__*/
694
- messageDesc(file_v1_agent, 17);
748
+ messageDesc(file_v1_agent, 19);
695
749
 
696
750
  /**
697
751
  * @generated from message gestalt.provider.v1.UpdateAgentProviderSessionRequest
@@ -728,7 +782,7 @@ export type UpdateAgentProviderSessionRequest = Message<"gestalt.provider.v1.Upd
728
782
  * Use `create(UpdateAgentProviderSessionRequestSchema)` to create a new message.
729
783
  */
730
784
  export const UpdateAgentProviderSessionRequestSchema: GenMessage<UpdateAgentProviderSessionRequest> = /*@__PURE__*/
731
- messageDesc(file_v1_agent, 18);
785
+ messageDesc(file_v1_agent, 20);
732
786
 
733
787
  /**
734
788
  * @generated from message gestalt.provider.v1.AgentTurn
@@ -810,7 +864,7 @@ export type AgentTurn = Message<"gestalt.provider.v1.AgentTurn"> & {
810
864
  * Use `create(AgentTurnSchema)` to create a new message.
811
865
  */
812
866
  export const AgentTurnSchema: GenMessage<AgentTurn> = /*@__PURE__*/
813
- messageDesc(file_v1_agent, 19);
867
+ messageDesc(file_v1_agent, 21);
814
868
 
815
869
  /**
816
870
  * @generated from message gestalt.provider.v1.AgentTurnDisplay
@@ -882,7 +936,7 @@ export type AgentTurnDisplay = Message<"gestalt.provider.v1.AgentTurnDisplay"> &
882
936
  * Use `create(AgentTurnDisplaySchema)` to create a new message.
883
937
  */
884
938
  export const AgentTurnDisplaySchema: GenMessage<AgentTurnDisplay> = /*@__PURE__*/
885
- messageDesc(file_v1_agent, 20);
939
+ messageDesc(file_v1_agent, 22);
886
940
 
887
941
  /**
888
942
  * @generated from message gestalt.provider.v1.CreateAgentProviderTurnRequest
@@ -928,11 +982,6 @@ export type CreateAgentProviderTurnRequest = Message<"gestalt.provider.v1.Create
928
982
  */
929
983
  metadata?: JsonObject | undefined;
930
984
 
931
- /**
932
- * @generated from field: google.protobuf.Struct provider_options = 9;
933
- */
934
- providerOptions?: JsonObject | undefined;
935
-
936
985
  /**
937
986
  * @generated from field: gestalt.provider.v1.AgentActor created_by = 10;
938
987
  */
@@ -959,9 +1008,14 @@ export type CreateAgentProviderTurnRequest = Message<"gestalt.provider.v1.Create
959
1008
  subject?: AgentSubjectContext | undefined;
960
1009
 
961
1010
  /**
962
- * @generated from field: string tool_grant = 15;
1011
+ * @generated from field: google.protobuf.Struct model_options = 16;
1012
+ */
1013
+ modelOptions?: JsonObject | undefined;
1014
+
1015
+ /**
1016
+ * @generated from field: string run_grant = 17;
963
1017
  */
964
- toolGrant: string;
1018
+ runGrant: string;
965
1019
  };
966
1020
 
967
1021
  /**
@@ -969,7 +1023,7 @@ export type CreateAgentProviderTurnRequest = Message<"gestalt.provider.v1.Create
969
1023
  * Use `create(CreateAgentProviderTurnRequestSchema)` to create a new message.
970
1024
  */
971
1025
  export const CreateAgentProviderTurnRequestSchema: GenMessage<CreateAgentProviderTurnRequest> = /*@__PURE__*/
972
- messageDesc(file_v1_agent, 21);
1026
+ messageDesc(file_v1_agent, 23);
973
1027
 
974
1028
  /**
975
1029
  * @generated from message gestalt.provider.v1.GetAgentProviderTurnRequest
@@ -991,7 +1045,7 @@ export type GetAgentProviderTurnRequest = Message<"gestalt.provider.v1.GetAgentP
991
1045
  * Use `create(GetAgentProviderTurnRequestSchema)` to create a new message.
992
1046
  */
993
1047
  export const GetAgentProviderTurnRequestSchema: GenMessage<GetAgentProviderTurnRequest> = /*@__PURE__*/
994
- messageDesc(file_v1_agent, 22);
1048
+ messageDesc(file_v1_agent, 24);
995
1049
 
996
1050
  /**
997
1051
  * @generated from message gestalt.provider.v1.ListAgentProviderTurnsRequest
@@ -1018,11 +1072,18 @@ export type ListAgentProviderTurnsRequest = Message<"gestalt.provider.v1.ListAge
1018
1072
  status: AgentExecutionStatus;
1019
1073
 
1020
1074
  /**
1075
+ * When non-zero and bounded_list_hydration is supported, cap results after
1076
+ * ordering turns newest-first by created_at.
1077
+ *
1021
1078
  * @generated from field: int32 limit = 5;
1022
1079
  */
1023
1080
  limit: number;
1024
1081
 
1025
1082
  /**
1083
+ * When true and bounded_list_hydration is supported, omit heavy fields such as
1084
+ * messages, output text, and structured output unless exact turn_ids require
1085
+ * direct lookup.
1086
+ *
1026
1087
  * @generated from field: bool summary_only = 6;
1027
1088
  */
1028
1089
  summaryOnly: boolean;
@@ -1033,7 +1094,7 @@ export type ListAgentProviderTurnsRequest = Message<"gestalt.provider.v1.ListAge
1033
1094
  * Use `create(ListAgentProviderTurnsRequestSchema)` to create a new message.
1034
1095
  */
1035
1096
  export const ListAgentProviderTurnsRequestSchema: GenMessage<ListAgentProviderTurnsRequest> = /*@__PURE__*/
1036
- messageDesc(file_v1_agent, 23);
1097
+ messageDesc(file_v1_agent, 25);
1037
1098
 
1038
1099
  /**
1039
1100
  * @generated from message gestalt.provider.v1.ListAgentProviderTurnsResponse
@@ -1050,7 +1111,7 @@ export type ListAgentProviderTurnsResponse = Message<"gestalt.provider.v1.ListAg
1050
1111
  * Use `create(ListAgentProviderTurnsResponseSchema)` to create a new message.
1051
1112
  */
1052
1113
  export const ListAgentProviderTurnsResponseSchema: GenMessage<ListAgentProviderTurnsResponse> = /*@__PURE__*/
1053
- messageDesc(file_v1_agent, 24);
1114
+ messageDesc(file_v1_agent, 26);
1054
1115
 
1055
1116
  /**
1056
1117
  * @generated from message gestalt.provider.v1.CancelAgentProviderTurnRequest
@@ -1077,7 +1138,7 @@ export type CancelAgentProviderTurnRequest = Message<"gestalt.provider.v1.Cancel
1077
1138
  * Use `create(CancelAgentProviderTurnRequestSchema)` to create a new message.
1078
1139
  */
1079
1140
  export const CancelAgentProviderTurnRequestSchema: GenMessage<CancelAgentProviderTurnRequest> = /*@__PURE__*/
1080
- messageDesc(file_v1_agent, 25);
1141
+ messageDesc(file_v1_agent, 27);
1081
1142
 
1082
1143
  /**
1083
1144
  * @generated from message gestalt.provider.v1.AgentTurnEvent
@@ -1134,7 +1195,7 @@ export type AgentTurnEvent = Message<"gestalt.provider.v1.AgentTurnEvent"> & {
1134
1195
  * Use `create(AgentTurnEventSchema)` to create a new message.
1135
1196
  */
1136
1197
  export const AgentTurnEventSchema: GenMessage<AgentTurnEvent> = /*@__PURE__*/
1137
- messageDesc(file_v1_agent, 26);
1198
+ messageDesc(file_v1_agent, 28);
1138
1199
 
1139
1200
  /**
1140
1201
  * @generated from message gestalt.provider.v1.ListAgentProviderTurnEventsRequest
@@ -1166,7 +1227,7 @@ export type ListAgentProviderTurnEventsRequest = Message<"gestalt.provider.v1.Li
1166
1227
  * Use `create(ListAgentProviderTurnEventsRequestSchema)` to create a new message.
1167
1228
  */
1168
1229
  export const ListAgentProviderTurnEventsRequestSchema: GenMessage<ListAgentProviderTurnEventsRequest> = /*@__PURE__*/
1169
- messageDesc(file_v1_agent, 27);
1230
+ messageDesc(file_v1_agent, 29);
1170
1231
 
1171
1232
  /**
1172
1233
  * @generated from message gestalt.provider.v1.ListAgentProviderTurnEventsResponse
@@ -1183,7 +1244,7 @@ export type ListAgentProviderTurnEventsResponse = Message<"gestalt.provider.v1.L
1183
1244
  * Use `create(ListAgentProviderTurnEventsResponseSchema)` to create a new message.
1184
1245
  */
1185
1246
  export const ListAgentProviderTurnEventsResponseSchema: GenMessage<ListAgentProviderTurnEventsResponse> = /*@__PURE__*/
1186
- messageDesc(file_v1_agent, 28);
1247
+ messageDesc(file_v1_agent, 30);
1187
1248
 
1188
1249
  /**
1189
1250
  * @generated from message gestalt.provider.v1.GetAgentProviderInteractionRequest
@@ -1205,7 +1266,7 @@ export type GetAgentProviderInteractionRequest = Message<"gestalt.provider.v1.Ge
1205
1266
  * Use `create(GetAgentProviderInteractionRequestSchema)` to create a new message.
1206
1267
  */
1207
1268
  export const GetAgentProviderInteractionRequestSchema: GenMessage<GetAgentProviderInteractionRequest> = /*@__PURE__*/
1208
- messageDesc(file_v1_agent, 29);
1269
+ messageDesc(file_v1_agent, 31);
1209
1270
 
1210
1271
  /**
1211
1272
  * @generated from message gestalt.provider.v1.ListAgentProviderInteractionsRequest
@@ -1227,7 +1288,7 @@ export type ListAgentProviderInteractionsRequest = Message<"gestalt.provider.v1.
1227
1288
  * Use `create(ListAgentProviderInteractionsRequestSchema)` to create a new message.
1228
1289
  */
1229
1290
  export const ListAgentProviderInteractionsRequestSchema: GenMessage<ListAgentProviderInteractionsRequest> = /*@__PURE__*/
1230
- messageDesc(file_v1_agent, 30);
1291
+ messageDesc(file_v1_agent, 32);
1231
1292
 
1232
1293
  /**
1233
1294
  * @generated from message gestalt.provider.v1.ListAgentProviderInteractionsResponse
@@ -1244,7 +1305,7 @@ export type ListAgentProviderInteractionsResponse = Message<"gestalt.provider.v1
1244
1305
  * Use `create(ListAgentProviderInteractionsResponseSchema)` to create a new message.
1245
1306
  */
1246
1307
  export const ListAgentProviderInteractionsResponseSchema: GenMessage<ListAgentProviderInteractionsResponse> = /*@__PURE__*/
1247
- messageDesc(file_v1_agent, 31);
1308
+ messageDesc(file_v1_agent, 33);
1248
1309
 
1249
1310
  /**
1250
1311
  * @generated from message gestalt.provider.v1.ResolveAgentProviderInteractionRequest
@@ -1271,7 +1332,7 @@ export type ResolveAgentProviderInteractionRequest = Message<"gestalt.provider.v
1271
1332
  * Use `create(ResolveAgentProviderInteractionRequestSchema)` to create a new message.
1272
1333
  */
1273
1334
  export const ResolveAgentProviderInteractionRequestSchema: GenMessage<ResolveAgentProviderInteractionRequest> = /*@__PURE__*/
1274
- messageDesc(file_v1_agent, 32);
1335
+ messageDesc(file_v1_agent, 34);
1275
1336
 
1276
1337
  /**
1277
1338
  * @generated from message gestalt.provider.v1.ExecuteAgentToolRequest
@@ -1303,14 +1364,14 @@ export type ExecuteAgentToolRequest = Message<"gestalt.provider.v1.ExecuteAgentT
1303
1364
  arguments?: JsonObject | undefined;
1304
1365
 
1305
1366
  /**
1306
- * @generated from field: string tool_grant = 6;
1367
+ * @generated from field: string idempotency_key = 7;
1307
1368
  */
1308
- toolGrant: string;
1369
+ idempotencyKey: string;
1309
1370
 
1310
1371
  /**
1311
- * @generated from field: string idempotency_key = 7;
1372
+ * @generated from field: string run_grant = 8;
1312
1373
  */
1313
- idempotencyKey: string;
1374
+ runGrant: string;
1314
1375
  };
1315
1376
 
1316
1377
  /**
@@ -1318,7 +1379,7 @@ export type ExecuteAgentToolRequest = Message<"gestalt.provider.v1.ExecuteAgentT
1318
1379
  * Use `create(ExecuteAgentToolRequestSchema)` to create a new message.
1319
1380
  */
1320
1381
  export const ExecuteAgentToolRequestSchema: GenMessage<ExecuteAgentToolRequest> = /*@__PURE__*/
1321
- messageDesc(file_v1_agent, 33);
1382
+ messageDesc(file_v1_agent, 35);
1322
1383
 
1323
1384
  /**
1324
1385
  * @generated from message gestalt.provider.v1.ExecuteAgentToolResponse
@@ -1340,80 +1401,6 @@ export type ExecuteAgentToolResponse = Message<"gestalt.provider.v1.ExecuteAgent
1340
1401
  * Use `create(ExecuteAgentToolResponseSchema)` to create a new message.
1341
1402
  */
1342
1403
  export const ExecuteAgentToolResponseSchema: GenMessage<ExecuteAgentToolResponse> = /*@__PURE__*/
1343
- messageDesc(file_v1_agent, 34);
1344
-
1345
- /**
1346
- * @generated from message gestalt.provider.v1.SearchAgentToolsRequest
1347
- */
1348
- export type SearchAgentToolsRequest = Message<"gestalt.provider.v1.SearchAgentToolsRequest"> & {
1349
- /**
1350
- * @generated from field: string session_id = 1;
1351
- */
1352
- sessionId: string;
1353
-
1354
- /**
1355
- * @generated from field: string turn_id = 2;
1356
- */
1357
- turnId: string;
1358
-
1359
- /**
1360
- * @generated from field: string query = 3;
1361
- */
1362
- query: string;
1363
-
1364
- /**
1365
- * @generated from field: int32 max_results = 4;
1366
- */
1367
- maxResults: number;
1368
-
1369
- /**
1370
- * @generated from field: int32 candidate_limit = 5;
1371
- */
1372
- candidateLimit: number;
1373
-
1374
- /**
1375
- * @generated from field: repeated gestalt.provider.v1.AgentToolRef load_refs = 6;
1376
- */
1377
- loadRefs: AgentToolRef[];
1378
-
1379
- /**
1380
- * @generated from field: string tool_grant = 7;
1381
- */
1382
- toolGrant: string;
1383
- };
1384
-
1385
- /**
1386
- * Describes the message gestalt.provider.v1.SearchAgentToolsRequest.
1387
- * Use `create(SearchAgentToolsRequestSchema)` to create a new message.
1388
- */
1389
- export const SearchAgentToolsRequestSchema: GenMessage<SearchAgentToolsRequest> = /*@__PURE__*/
1390
- messageDesc(file_v1_agent, 35);
1391
-
1392
- /**
1393
- * @generated from message gestalt.provider.v1.SearchAgentToolsResponse
1394
- */
1395
- export type SearchAgentToolsResponse = Message<"gestalt.provider.v1.SearchAgentToolsResponse"> & {
1396
- /**
1397
- * @generated from field: repeated gestalt.provider.v1.ResolvedAgentTool tools = 1;
1398
- */
1399
- tools: ResolvedAgentTool[];
1400
-
1401
- /**
1402
- * @generated from field: repeated gestalt.provider.v1.AgentToolCandidate candidates = 2;
1403
- */
1404
- candidates: AgentToolCandidate[];
1405
-
1406
- /**
1407
- * @generated from field: bool has_more = 3;
1408
- */
1409
- hasMore: boolean;
1410
- };
1411
-
1412
- /**
1413
- * Describes the message gestalt.provider.v1.SearchAgentToolsResponse.
1414
- * Use `create(SearchAgentToolsResponseSchema)` to create a new message.
1415
- */
1416
- export const SearchAgentToolsResponseSchema: GenMessage<SearchAgentToolsResponse> = /*@__PURE__*/
1417
1404
  messageDesc(file_v1_agent, 36);
1418
1405
 
1419
1406
  /**
@@ -1459,6 +1446,16 @@ export type ListedAgentTool = Message<"gestalt.provider.v1.ListedAgentTool"> & {
1459
1446
  * @generated from field: gestalt.provider.v1.AgentToolRef ref = 8;
1460
1447
  */
1461
1448
  ref?: AgentToolRef | undefined;
1449
+
1450
+ /**
1451
+ * @generated from field: repeated string tags = 9;
1452
+ */
1453
+ tags: string[];
1454
+
1455
+ /**
1456
+ * @generated from field: string search_text = 10;
1457
+ */
1458
+ searchText: string;
1462
1459
  };
1463
1460
 
1464
1461
  /**
@@ -1493,9 +1490,14 @@ export type ListAgentToolsRequest = Message<"gestalt.provider.v1.ListAgentToolsR
1493
1490
  pageToken: string;
1494
1491
 
1495
1492
  /**
1496
- * @generated from field: string tool_grant = 5;
1493
+ * @generated from field: string run_grant = 6;
1494
+ */
1495
+ runGrant: string;
1496
+
1497
+ /**
1498
+ * @generated from field: string query = 7;
1497
1499
  */
1498
- toolGrant: string;
1500
+ query: string;
1499
1501
  };
1500
1502
 
1501
1503
  /**
@@ -1527,6 +1529,90 @@ export type ListAgentToolsResponse = Message<"gestalt.provider.v1.ListAgentTools
1527
1529
  export const ListAgentToolsResponseSchema: GenMessage<ListAgentToolsResponse> = /*@__PURE__*/
1528
1530
  messageDesc(file_v1_agent, 39);
1529
1531
 
1532
+ /**
1533
+ * @generated from message gestalt.provider.v1.ResolveAgentConnectionRequest
1534
+ */
1535
+ export type ResolveAgentConnectionRequest = Message<"gestalt.provider.v1.ResolveAgentConnectionRequest"> & {
1536
+ /**
1537
+ * @generated from field: string session_id = 1;
1538
+ */
1539
+ sessionId: string;
1540
+
1541
+ /**
1542
+ * @generated from field: string turn_id = 2;
1543
+ */
1544
+ turnId: string;
1545
+
1546
+ /**
1547
+ * @generated from field: string connection = 3;
1548
+ */
1549
+ connection: string;
1550
+
1551
+ /**
1552
+ * @generated from field: string instance = 4;
1553
+ */
1554
+ instance: string;
1555
+
1556
+ /**
1557
+ * @generated from field: string run_grant = 5;
1558
+ */
1559
+ runGrant: string;
1560
+ };
1561
+
1562
+ /**
1563
+ * Describes the message gestalt.provider.v1.ResolveAgentConnectionRequest.
1564
+ * Use `create(ResolveAgentConnectionRequestSchema)` to create a new message.
1565
+ */
1566
+ export const ResolveAgentConnectionRequestSchema: GenMessage<ResolveAgentConnectionRequest> = /*@__PURE__*/
1567
+ messageDesc(file_v1_agent, 40);
1568
+
1569
+ /**
1570
+ * @generated from message gestalt.provider.v1.ResolvedAgentConnection
1571
+ */
1572
+ export type ResolvedAgentConnection = Message<"gestalt.provider.v1.ResolvedAgentConnection"> & {
1573
+ /**
1574
+ * @generated from field: string connection_id = 1;
1575
+ */
1576
+ connectionId: string;
1577
+
1578
+ /**
1579
+ * @generated from field: string connection = 2;
1580
+ */
1581
+ connection: string;
1582
+
1583
+ /**
1584
+ * @generated from field: string instance = 3;
1585
+ */
1586
+ instance: string;
1587
+
1588
+ /**
1589
+ * @generated from field: string mode = 4;
1590
+ */
1591
+ mode: string;
1592
+
1593
+ /**
1594
+ * @generated from field: map<string, string> headers = 5;
1595
+ */
1596
+ headers: { [key: string]: string };
1597
+
1598
+ /**
1599
+ * @generated from field: map<string, string> params = 6;
1600
+ */
1601
+ params: { [key: string]: string };
1602
+
1603
+ /**
1604
+ * @generated from field: google.protobuf.Timestamp expires_at = 7;
1605
+ */
1606
+ expiresAt?: Timestamp | undefined;
1607
+ };
1608
+
1609
+ /**
1610
+ * Describes the message gestalt.provider.v1.ResolvedAgentConnection.
1611
+ * Use `create(ResolvedAgentConnectionSchema)` to create a new message.
1612
+ */
1613
+ export const ResolvedAgentConnectionSchema: GenMessage<ResolvedAgentConnection> = /*@__PURE__*/
1614
+ messageDesc(file_v1_agent, 41);
1615
+
1530
1616
  /**
1531
1617
  * @generated from message gestalt.provider.v1.AgentManagerCreateSessionRequest
1532
1618
  */
@@ -1551,11 +1637,6 @@ export type AgentManagerCreateSessionRequest = Message<"gestalt.provider.v1.Agen
1551
1637
  */
1552
1638
  metadata?: JsonObject | undefined;
1553
1639
 
1554
- /**
1555
- * @generated from field: google.protobuf.Struct provider_options = 6;
1556
- */
1557
- providerOptions?: JsonObject | undefined;
1558
-
1559
1640
  /**
1560
1641
  * @generated from field: string idempotency_key = 7;
1561
1642
  */
@@ -1572,7 +1653,7 @@ export type AgentManagerCreateSessionRequest = Message<"gestalt.provider.v1.Agen
1572
1653
  * Use `create(AgentManagerCreateSessionRequestSchema)` to create a new message.
1573
1654
  */
1574
1655
  export const AgentManagerCreateSessionRequestSchema: GenMessage<AgentManagerCreateSessionRequest> = /*@__PURE__*/
1575
- messageDesc(file_v1_agent, 40);
1656
+ messageDesc(file_v1_agent, 42);
1576
1657
 
1577
1658
  /**
1578
1659
  * @generated from message gestalt.provider.v1.AgentManagerGetSessionRequest
@@ -1594,7 +1675,7 @@ export type AgentManagerGetSessionRequest = Message<"gestalt.provider.v1.AgentMa
1594
1675
  * Use `create(AgentManagerGetSessionRequestSchema)` to create a new message.
1595
1676
  */
1596
1677
  export const AgentManagerGetSessionRequestSchema: GenMessage<AgentManagerGetSessionRequest> = /*@__PURE__*/
1597
- messageDesc(file_v1_agent, 41);
1678
+ messageDesc(file_v1_agent, 43);
1598
1679
 
1599
1680
  /**
1600
1681
  * @generated from message gestalt.provider.v1.AgentManagerListSessionsRequest
@@ -1616,6 +1697,9 @@ export type AgentManagerListSessionsRequest = Message<"gestalt.provider.v1.Agent
1616
1697
  state: AgentSessionState;
1617
1698
 
1618
1699
  /**
1700
+ * Manager response cap after provider responses are normalized and globally
1701
+ * sorted by session recency.
1702
+ *
1619
1703
  * @generated from field: int32 limit = 5;
1620
1704
  */
1621
1705
  limit: number;
@@ -1631,7 +1715,7 @@ export type AgentManagerListSessionsRequest = Message<"gestalt.provider.v1.Agent
1631
1715
  * Use `create(AgentManagerListSessionsRequestSchema)` to create a new message.
1632
1716
  */
1633
1717
  export const AgentManagerListSessionsRequestSchema: GenMessage<AgentManagerListSessionsRequest> = /*@__PURE__*/
1634
- messageDesc(file_v1_agent, 42);
1718
+ messageDesc(file_v1_agent, 44);
1635
1719
 
1636
1720
  /**
1637
1721
  * @generated from message gestalt.provider.v1.AgentManagerListSessionsResponse
@@ -1648,7 +1732,7 @@ export type AgentManagerListSessionsResponse = Message<"gestalt.provider.v1.Agen
1648
1732
  * Use `create(AgentManagerListSessionsResponseSchema)` to create a new message.
1649
1733
  */
1650
1734
  export const AgentManagerListSessionsResponseSchema: GenMessage<AgentManagerListSessionsResponse> = /*@__PURE__*/
1651
- messageDesc(file_v1_agent, 43);
1735
+ messageDesc(file_v1_agent, 45);
1652
1736
 
1653
1737
  /**
1654
1738
  * @generated from message gestalt.provider.v1.AgentManagerUpdateSessionRequest
@@ -1685,7 +1769,7 @@ export type AgentManagerUpdateSessionRequest = Message<"gestalt.provider.v1.Agen
1685
1769
  * Use `create(AgentManagerUpdateSessionRequestSchema)` to create a new message.
1686
1770
  */
1687
1771
  export const AgentManagerUpdateSessionRequestSchema: GenMessage<AgentManagerUpdateSessionRequest> = /*@__PURE__*/
1688
- messageDesc(file_v1_agent, 44);
1772
+ messageDesc(file_v1_agent, 46);
1689
1773
 
1690
1774
  /**
1691
1775
  * @generated from message gestalt.provider.v1.AgentManagerCreateTurnRequest
@@ -1726,11 +1810,6 @@ export type AgentManagerCreateTurnRequest = Message<"gestalt.provider.v1.AgentMa
1726
1810
  */
1727
1811
  metadata?: JsonObject | undefined;
1728
1812
 
1729
- /**
1730
- * @generated from field: google.protobuf.Struct provider_options = 9;
1731
- */
1732
- providerOptions?: JsonObject | undefined;
1733
-
1734
1813
  /**
1735
1814
  * @generated from field: string idempotency_key = 10;
1736
1815
  */
@@ -1740,6 +1819,11 @@ export type AgentManagerCreateTurnRequest = Message<"gestalt.provider.v1.AgentMa
1740
1819
  * @generated from field: string invocation_token = 11;
1741
1820
  */
1742
1821
  invocationToken: string;
1822
+
1823
+ /**
1824
+ * @generated from field: google.protobuf.Struct model_options = 12;
1825
+ */
1826
+ modelOptions?: JsonObject | undefined;
1743
1827
  };
1744
1828
 
1745
1829
  /**
@@ -1747,7 +1831,7 @@ export type AgentManagerCreateTurnRequest = Message<"gestalt.provider.v1.AgentMa
1747
1831
  * Use `create(AgentManagerCreateTurnRequestSchema)` to create a new message.
1748
1832
  */
1749
1833
  export const AgentManagerCreateTurnRequestSchema: GenMessage<AgentManagerCreateTurnRequest> = /*@__PURE__*/
1750
- messageDesc(file_v1_agent, 45);
1834
+ messageDesc(file_v1_agent, 47);
1751
1835
 
1752
1836
  /**
1753
1837
  * @generated from message gestalt.provider.v1.AgentManagerGetTurnRequest
@@ -1769,7 +1853,7 @@ export type AgentManagerGetTurnRequest = Message<"gestalt.provider.v1.AgentManag
1769
1853
  * Use `create(AgentManagerGetTurnRequestSchema)` to create a new message.
1770
1854
  */
1771
1855
  export const AgentManagerGetTurnRequestSchema: GenMessage<AgentManagerGetTurnRequest> = /*@__PURE__*/
1772
- messageDesc(file_v1_agent, 46);
1856
+ messageDesc(file_v1_agent, 48);
1773
1857
 
1774
1858
  /**
1775
1859
  * @generated from message gestalt.provider.v1.AgentManagerListTurnsRequest
@@ -1806,7 +1890,7 @@ export type AgentManagerListTurnsRequest = Message<"gestalt.provider.v1.AgentMan
1806
1890
  * Use `create(AgentManagerListTurnsRequestSchema)` to create a new message.
1807
1891
  */
1808
1892
  export const AgentManagerListTurnsRequestSchema: GenMessage<AgentManagerListTurnsRequest> = /*@__PURE__*/
1809
- messageDesc(file_v1_agent, 47);
1893
+ messageDesc(file_v1_agent, 49);
1810
1894
 
1811
1895
  /**
1812
1896
  * @generated from message gestalt.provider.v1.AgentManagerListTurnsResponse
@@ -1823,7 +1907,7 @@ export type AgentManagerListTurnsResponse = Message<"gestalt.provider.v1.AgentMa
1823
1907
  * Use `create(AgentManagerListTurnsResponseSchema)` to create a new message.
1824
1908
  */
1825
1909
  export const AgentManagerListTurnsResponseSchema: GenMessage<AgentManagerListTurnsResponse> = /*@__PURE__*/
1826
- messageDesc(file_v1_agent, 48);
1910
+ messageDesc(file_v1_agent, 50);
1827
1911
 
1828
1912
  /**
1829
1913
  * @generated from message gestalt.provider.v1.AgentManagerCancelTurnRequest
@@ -1850,7 +1934,7 @@ export type AgentManagerCancelTurnRequest = Message<"gestalt.provider.v1.AgentMa
1850
1934
  * Use `create(AgentManagerCancelTurnRequestSchema)` to create a new message.
1851
1935
  */
1852
1936
  export const AgentManagerCancelTurnRequestSchema: GenMessage<AgentManagerCancelTurnRequest> = /*@__PURE__*/
1853
- messageDesc(file_v1_agent, 49);
1937
+ messageDesc(file_v1_agent, 51);
1854
1938
 
1855
1939
  /**
1856
1940
  * @generated from message gestalt.provider.v1.AgentManagerListTurnEventsRequest
@@ -1882,7 +1966,7 @@ export type AgentManagerListTurnEventsRequest = Message<"gestalt.provider.v1.Age
1882
1966
  * Use `create(AgentManagerListTurnEventsRequestSchema)` to create a new message.
1883
1967
  */
1884
1968
  export const AgentManagerListTurnEventsRequestSchema: GenMessage<AgentManagerListTurnEventsRequest> = /*@__PURE__*/
1885
- messageDesc(file_v1_agent, 50);
1969
+ messageDesc(file_v1_agent, 52);
1886
1970
 
1887
1971
  /**
1888
1972
  * @generated from message gestalt.provider.v1.AgentManagerListTurnEventsResponse
@@ -1899,7 +1983,7 @@ export type AgentManagerListTurnEventsResponse = Message<"gestalt.provider.v1.Ag
1899
1983
  * Use `create(AgentManagerListTurnEventsResponseSchema)` to create a new message.
1900
1984
  */
1901
1985
  export const AgentManagerListTurnEventsResponseSchema: GenMessage<AgentManagerListTurnEventsResponse> = /*@__PURE__*/
1902
- messageDesc(file_v1_agent, 51);
1986
+ messageDesc(file_v1_agent, 53);
1903
1987
 
1904
1988
  /**
1905
1989
  * @generated from message gestalt.provider.v1.AgentManagerListInteractionsRequest
@@ -1921,7 +2005,7 @@ export type AgentManagerListInteractionsRequest = Message<"gestalt.provider.v1.A
1921
2005
  * Use `create(AgentManagerListInteractionsRequestSchema)` to create a new message.
1922
2006
  */
1923
2007
  export const AgentManagerListInteractionsRequestSchema: GenMessage<AgentManagerListInteractionsRequest> = /*@__PURE__*/
1924
- messageDesc(file_v1_agent, 52);
2008
+ messageDesc(file_v1_agent, 54);
1925
2009
 
1926
2010
  /**
1927
2011
  * @generated from message gestalt.provider.v1.AgentManagerListInteractionsResponse
@@ -1938,7 +2022,7 @@ export type AgentManagerListInteractionsResponse = Message<"gestalt.provider.v1.
1938
2022
  * Use `create(AgentManagerListInteractionsResponseSchema)` to create a new message.
1939
2023
  */
1940
2024
  export const AgentManagerListInteractionsResponseSchema: GenMessage<AgentManagerListInteractionsResponse> = /*@__PURE__*/
1941
- messageDesc(file_v1_agent, 53);
2025
+ messageDesc(file_v1_agent, 55);
1942
2026
 
1943
2027
  /**
1944
2028
  * @generated from message gestalt.provider.v1.AgentManagerResolveInteractionRequest
@@ -1970,7 +2054,7 @@ export type AgentManagerResolveInteractionRequest = Message<"gestalt.provider.v1
1970
2054
  * Use `create(AgentManagerResolveInteractionRequestSchema)` to create a new message.
1971
2055
  */
1972
2056
  export const AgentManagerResolveInteractionRequestSchema: GenMessage<AgentManagerResolveInteractionRequest> = /*@__PURE__*/
1973
- messageDesc(file_v1_agent, 54);
2057
+ messageDesc(file_v1_agent, 56);
1974
2058
 
1975
2059
  /**
1976
2060
  * @generated from enum gestalt.provider.v1.AgentMessagePartType
@@ -2022,11 +2106,6 @@ export enum AgentToolSourceMode {
2022
2106
  */
2023
2107
  UNSPECIFIED = 0,
2024
2108
 
2025
- /**
2026
- * @generated from enum value: AGENT_TOOL_SOURCE_MODE_NATIVE_SEARCH = 1;
2027
- */
2028
- NATIVE_SEARCH = 1,
2029
-
2030
2109
  /**
2031
2110
  * @generated from enum value: AGENT_TOOL_SOURCE_MODE_MCP_CATALOG = 2;
2032
2111
  */
@@ -2288,14 +2367,6 @@ export const AgentProvider: GenService<{
2288
2367
  * @generated from service gestalt.provider.v1.AgentHost
2289
2368
  */
2290
2369
  export const AgentHost: GenService<{
2291
- /**
2292
- * @generated from rpc gestalt.provider.v1.AgentHost.SearchTools
2293
- */
2294
- searchTools: {
2295
- methodKind: "unary";
2296
- input: typeof SearchAgentToolsRequestSchema;
2297
- output: typeof SearchAgentToolsResponseSchema;
2298
- },
2299
2370
  /**
2300
2371
  * @generated from rpc gestalt.provider.v1.AgentHost.ListTools
2301
2372
  */
@@ -2312,6 +2383,14 @@ export const AgentHost: GenService<{
2312
2383
  input: typeof ExecuteAgentToolRequestSchema;
2313
2384
  output: typeof ExecuteAgentToolResponseSchema;
2314
2385
  },
2386
+ /**
2387
+ * @generated from rpc gestalt.provider.v1.AgentHost.ResolveConnection
2388
+ */
2389
+ resolveConnection: {
2390
+ methodKind: "unary";
2391
+ input: typeof ResolveAgentConnectionRequestSchema;
2392
+ output: typeof ResolvedAgentConnectionSchema;
2393
+ },
2315
2394
  }> = /*@__PURE__*/
2316
2395
  serviceDesc(file_v1_agent, 1);
2317
2396