@valon-technologies/gestalt 0.0.1-alpha.17 → 0.0.1-alpha.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +34 -12
  2. package/package.json +5 -3
  3. package/src/agent-conversions.ts +201 -0
  4. package/src/agent-manager.ts +272 -83
  5. package/src/agent.ts +1029 -219
  6. package/src/api.ts +54 -0
  7. package/src/auth.ts +3 -3
  8. package/src/authorization.ts +1702 -52
  9. package/src/cache.ts +5 -4
  10. package/src/catalog.ts +22 -0
  11. package/src/http-subject.ts +13 -2
  12. package/src/index.ts +194 -17
  13. package/src/indexeddb.ts +5 -16
  14. package/src/internal/gen/v1/agent_pb.ts +353 -74
  15. package/src/internal/gen/v1/authentication_pb.ts +1 -1
  16. package/src/internal/gen/v1/authorization_pb.ts +505 -27
  17. package/src/internal/gen/v1/cache_pb.ts +1 -1
  18. package/src/internal/gen/v1/datastore_pb.ts +1 -1
  19. package/src/internal/gen/v1/external_credential_pb.ts +434 -29
  20. package/src/internal/gen/v1/plugin_pb.ts +92 -22
  21. package/src/internal/gen/v1/pluginruntime_pb.ts +95 -6
  22. package/src/internal/gen/v1/runtime_pb.ts +1 -1
  23. package/src/internal/gen/v1/s3_pb.ts +1 -1
  24. package/src/internal/gen/v1/secrets_pb.ts +1 -1
  25. package/src/internal/gen/v1/workflow_pb.ts +349 -67
  26. package/src/invoker.ts +6 -35
  27. package/src/plugin.ts +12 -12
  28. package/src/pluginruntime.ts +337 -49
  29. package/src/protocol/v1.ts +19 -0
  30. package/src/protocol-internal.ts +19 -0
  31. package/src/protocol.ts +183 -0
  32. package/src/provider-kind.ts +7 -3
  33. package/src/provider.ts +21 -13
  34. package/src/runtime-log-host.ts +81 -53
  35. package/src/runtime.ts +72 -0
  36. package/src/s3.ts +15 -29
  37. package/src/secrets.ts +3 -3
  38. package/src/workflow-manager.ts +350 -121
  39. package/src/workflow.ts +2598 -389
@@ -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("Cg52MS9hZ2VudC5wcm90bxITZ2VzdGFsdC5wcm92aWRlci52MSKLAQoMQWdlbnRNZXNzYWdlEgwKBHJvbGUYASABKAkSDAoEdGV4dBgCIAEoCRI0CgVwYXJ0cxgDIAMoCzIlLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNZXNzYWdlUGFydBIpCghtZXRhZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiYwoYQWdlbnRNZXNzYWdlUGFydFRvb2xDYWxsEgoKAmlkGAEgASgJEg8KB3Rvb2xfaWQYAiABKAkSKgoJYXJndW1lbnRzGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJ8ChpBZ2VudE1lc3NhZ2VQYXJ0VG9vbFJlc3VsdBIUCgx0b29sX2NhbGxfaWQYASABKAkSDgoGc3RhdHVzGAIgASgFEg8KB2NvbnRlbnQYAyABKAkSJwoGb3V0cHV0GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCI6ChhBZ2VudE1lc3NhZ2VQYXJ0SW1hZ2VSZWYSCwoDdXJpGAEgASgJEhEKCW1pbWVfdHlwZRgCIAEoCSLKAgoQQWdlbnRNZXNzYWdlUGFydBI3CgR0eXBlGAEgASgOMikuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2VQYXJ0VHlwZRIMCgR0ZXh0GAIgASgJEiUKBGpzb24YAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EkAKCXRvb2xfY2FsbBgEIAEoCzItLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNZXNzYWdlUGFydFRvb2xDYWxsEkQKC3Rvb2xfcmVzdWx0GAUgASgLMi8uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2VQYXJ0VG9vbFJlc3VsdBJACglpbWFnZV9yZWYYBiABKAsyLS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWVzc2FnZVBhcnRJbWFnZVJlZiJhCgpBZ2VudEFjdG9yEhIKCnN1YmplY3RfaWQYASABKAkSFAoMc3ViamVjdF9raW5kGAIgASgJEhQKDGRpc3BsYXlfbmFtZRgDIAEoCRITCgthdXRoX3NvdXJjZRgEIAEoCSKJAQoTQWdlbnRTdWJqZWN0Q29udGV4dBISCgpzdWJqZWN0X2lkGAEgASgJEhQKDHN1YmplY3Rfa2luZBgCIAEoCRIdChVjcmVkZW50aWFsX3N1YmplY3RfaWQYAyABKAkSFAoMZGlzcGxheV9uYW1lGAQgASgJEhMKC2F1dGhfc291cmNlGAUgASgJIoQBChFSZXNvbHZlZEFnZW50VG9vbBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEjIKEXBhcmFtZXRlcnNfc2NoZW1hGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEoECAQQBVIGdGFyZ2V0IqIBCgxBZ2VudFRvb2xSZWYSDgoGcGx1Z2luGAEgASgJEhEKCW9wZXJhdGlvbhgCIAEoCRISCgpjb25uZWN0aW9uGAMgASgJEhAKCGluc3RhbmNlGAQgASgJEg0KBXRpdGxlGAUgASgJEhMKC2Rlc2NyaXB0aW9uGAYgASgJEg4KBnN5c3RlbRgIIAEoCUoECAcQCFIPY3JlZGVudGlhbF9tb2RlIrsCChlBZ2VudFByb3ZpZGVyQ2FwYWJpbGl0aWVzEhYKDnN0cmVhbWluZ190ZXh0GAEgASgIEhIKCnRvb2xfY2FsbHMYAiABKAgSGwoTcGFyYWxsZWxfdG9vbF9jYWxscxgDIAEoCBIZChFzdHJ1Y3R1cmVkX291dHB1dBgEIAEoCBIUCgxpbnRlcmFjdGlvbnMYBSABKAgSFwoPcmVzdW1hYmxlX3R1cm5zGAYgASgIEhsKE3JlYXNvbmluZ19zdW1tYXJpZXMYByABKAgSHgoWYm91bmRlZF9saXN0X2h5ZHJhdGlvbhgJIAEoCBJIChZzdXBwb3J0ZWRfdG9vbF9zb3VyY2VzGAogAygOMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFRvb2xTb3VyY2VNb2RlSgQICBAJIiUKI0dldEFnZW50UHJvdmlkZXJDYXBhYmlsaXRpZXNSZXF1ZXN0Io4DChBBZ2VudEludGVyYWN0aW9uEgoKAmlkGAEgASgJEjcKBHR5cGUYAiABKA4yKS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50SW50ZXJhY3Rpb25UeXBlEjkKBXN0YXRlGAMgASgOMiouZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEludGVyYWN0aW9uU3RhdGUSDQoFdGl0bGUYBCABKAkSDgoGcHJvbXB0GAUgASgJEigKB3JlcXVlc3QYBiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EisKCnJlc29sdXRpb24YByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC3Jlc29sdmVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgd0dXJuX2lkGAogASgJEhIKCnNlc3Npb25faWQYCyABKAki/QIKDEFnZW50U2Vzc2lvbhIKCgJpZBgBIAEoCRIVCg1wcm92aWRlcl9uYW1lGAIgASgJEg0KBW1vZGVsGAMgASgJEhIKCmNsaWVudF9yZWYYBCABKAkSNQoFc3RhdGUYBSABKA4yJi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXRlEikKCG1ldGFkYXRhGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIzCgpjcmVhdGVkX2J5GAcgASgLMh8uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEFjdG9yEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjAKDGxhc3RfdHVybl9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiwQIKIUNyZWF0ZUFnZW50UHJvdmlkZXJTZXNzaW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEhcKD2lkZW1wb3RlbmN5X2tleRgCIAEoCRINCgVtb2RlbBgDIAEoCRISCgpjbGllbnRfcmVmGAQgASgJEikKCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIxChBwcm92aWRlcl9vcHRpb25zGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIzCgpjcmVhdGVkX2J5GAcgASgLMh8uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEFjdG9yEjkKB3N1YmplY3QYCCABKAsyKC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U3ViamVjdENvbnRleHQibwoeR2V0QWdlbnRQcm92aWRlclNlc3Npb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSOQoHc3ViamVjdBgCIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTdWJqZWN0Q29udGV4dCLOAQogTGlzdEFnZW50UHJvdmlkZXJTZXNzaW9uc1JlcXVlc3QSOQoHc3ViamVjdBgBIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTdWJqZWN0Q29udGV4dBITCgtzZXNzaW9uX2lkcxgCIAMoCRI1CgVzdGF0ZRgDIAEoDjImLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uU3RhdGUSDQoFbGltaXQYBCABKAUSFAoMc3VtbWFyeV9vbmx5GAUgASgIIlgKIUxpc3RBZ2VudFByb3ZpZGVyU2Vzc2lvbnNSZXNwb25zZRIzCghzZXNzaW9ucxgBIAMoCzIhLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uIugBCiFVcGRhdGVBZ2VudFByb3ZpZGVyU2Vzc2lvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRISCgpjbGllbnRfcmVmGAIgASgJEjUKBXN0YXRlGAMgASgOMiYuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb25TdGF0ZRIpCghtZXRhZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSOQoHc3ViamVjdBgFIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTdWJqZWN0Q29udGV4dCKABAoJQWdlbnRUdXJuEgoKAmlkGAEgASgJEhIKCnNlc3Npb25faWQYAiABKAkSFQoNcHJvdmlkZXJfbmFtZRgDIAEoCRINCgVtb2RlbBgEIAEoCRI5CgZzdGF0dXMYBSABKA4yKS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50RXhlY3V0aW9uU3RhdHVzEjMKCG1lc3NhZ2VzGAYgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2USEwoLb3V0cHV0X3RleHQYByABKAkSMgoRc3RydWN0dXJlZF9vdXRwdXQYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhYKDnN0YXR1c19tZXNzYWdlGAkgASgJEjMKCmNyZWF0ZWRfYnkYCiABKAsyHy5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50QWN0b3ISLgoKY3JlYXRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKc3RhcnRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMAoMY29tcGxldGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIVCg1leGVjdXRpb25fcmVmGA4gASgJIpUCChBBZ2VudFR1cm5EaXNwbGF5EgwKBGtpbmQYASABKAkSDQoFcGhhc2UYAiABKAkSDAoEdGV4dBgDIAEoCRINCgVsYWJlbBgEIAEoCRILCgNyZWYYBSABKAkSEgoKcGFyZW50X3JlZhgGIAEoCRIlCgVpbnB1dBgHIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRImCgZvdXRwdXQYCCABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSJQoFZXJyb3IYCSABKAsyFi5nb29nbGUucHJvdG9idWYuVmFsdWUSDgoGYWN0aW9uGAogASgJEg4KBmZvcm1hdBgLIAEoCRIQCghsYW5ndWFnZRgMIAEoCSL5BAoeQ3JlYXRlQWdlbnRQcm92aWRlclR1cm5SZXF1ZXN0Eg8KB3R1cm5faWQYASABKAkSEgoKc2Vzc2lvbl9pZBgCIAEoCRIXCg9pZGVtcG90ZW5jeV9rZXkYAyABKAkSDQoFbW9kZWwYBCABKAkSMwoIbWVzc2FnZXMYBSADKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWVzc2FnZRI1CgV0b29scxgGIAMoCzImLmdlc3RhbHQucHJvdmlkZXIudjEuUmVzb2x2ZWRBZ2VudFRvb2wSMAoPcmVzcG9uc2Vfc2NoZW1hGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCghtZXRhZGF0YRgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSMQoQcHJvdmlkZXJfb3B0aW9ucxgJIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSMwoKY3JlYXRlZF9ieRgKIAEoCzIfLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRBY3RvchIVCg1leGVjdXRpb25fcmVmGAsgASgJEjQKCXRvb2xfcmVmcxgMIAMoCzIhLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUb29sUmVmEj0KC3Rvb2xfc291cmNlGA0gASgOMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFRvb2xTb3VyY2VNb2RlEjkKB3N1YmplY3QYDiABKAsyKC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U3ViamVjdENvbnRleHQSEgoKdG9vbF9ncmFudBgPIAEoCSJpChtHZXRBZ2VudFByb3ZpZGVyVHVyblJlcXVlc3QSDwoHdHVybl9pZBgBIAEoCRI5CgdzdWJqZWN0GAIgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0IuABCh1MaXN0QWdlbnRQcm92aWRlclR1cm5zUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEjkKB3N1YmplY3QYAiABKAsyKC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U3ViamVjdENvbnRleHQSEAoIdHVybl9pZHMYAyADKAkSOQoGc3RhdHVzGAQgASgOMikuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEV4ZWN1dGlvblN0YXR1cxINCgVsaW1pdBgFIAEoBRIUCgxzdW1tYXJ5X29ubHkYBiABKAgiTwoeTGlzdEFnZW50UHJvdmlkZXJUdXJuc1Jlc3BvbnNlEi0KBXR1cm5zGAEgAygLMh4uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFR1cm4ifAoeQ2FuY2VsQWdlbnRQcm92aWRlclR1cm5SZXF1ZXN0Eg8KB3R1cm5faWQYASABKAkSDgoGcmVhc29uGAIgASgJEjkKB3N1YmplY3QYAyABKAsyKC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U3ViamVjdENvbnRleHQi+wEKDkFnZW50VHVybkV2ZW50EgoKAmlkGAEgASgJEg8KB3R1cm5faWQYAiABKAkSCwoDc2VxGAMgASgDEgwKBHR5cGUYBCABKAkSDgoGc291cmNlGAUgASgJEhIKCnZpc2liaWxpdHkYBiABKAkSJQoEZGF0YRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASNgoHZGlzcGxheRgJIAEoCzIlLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuRGlzcGxheSKSAQoiTGlzdEFnZW50UHJvdmlkZXJUdXJuRXZlbnRzUmVxdWVzdBIPCgd0dXJuX2lkGAEgASgJEhEKCWFmdGVyX3NlcRgCIAEoAxINCgVsaW1pdBgDIAEoBRI5CgdzdWJqZWN0GAQgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0IloKI0xpc3RBZ2VudFByb3ZpZGVyVHVybkV2ZW50c1Jlc3BvbnNlEjMKBmV2ZW50cxgBIAMoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuRXZlbnQidwoiR2V0QWdlbnRQcm92aWRlckludGVyYWN0aW9uUmVxdWVzdBIWCg5pbnRlcmFjdGlvbl9pZBgBIAEoCRI5CgdzdWJqZWN0GAIgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0InIKJExpc3RBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25zUmVxdWVzdBIPCgd0dXJuX2lkGAEgASgJEjkKB3N1YmplY3QYAiABKAsyKC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U3ViamVjdENvbnRleHQiZAolTGlzdEFnZW50UHJvdmlkZXJJbnRlcmFjdGlvbnNSZXNwb25zZRI7CgxpbnRlcmFjdGlvbnMYASADKAsyJS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50SW50ZXJhY3Rpb24iqAEKJlJlc29sdmVBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25SZXF1ZXN0EhYKDmludGVyYWN0aW9uX2lkGAEgASgJEisKCnJlc29sdXRpb24YAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EjkKB3N1YmplY3QYAyABKAsyKC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U3ViamVjdENvbnRleHQivgEKF0V4ZWN1dGVBZ2VudFRvb2xSZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHdHVybl9pZBgCIAEoCRIUCgx0b29sX2NhbGxfaWQYAyABKAkSDwoHdG9vbF9pZBgEIAEoCRIqCglhcmd1bWVudHMYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhIKCnRvb2xfZ3JhbnQYBiABKAkSFwoPaWRlbXBvdGVuY3lfa2V5GAcgASgJIjgKGEV4ZWN1dGVBZ2VudFRvb2xSZXNwb25zZRIOCgZzdGF0dXMYASABKAUSDAoEYm9keRgCIAEoCSLwAQoPTGlzdGVkQWdlbnRUb29sEgoKAmlkGAEgASgJEhAKCG1jcF9uYW1lGAIgASgJEg0KBXRpdGxlGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhQKDGlucHV0X3NjaGVtYRgFIAEoCRIVCg1vdXRwdXRfc2NoZW1hGAYgASgJEj4KC2Fubm90YXRpb25zGAcgASgLMikuZ2VzdGFsdC5wcm92aWRlci52MS5PcGVyYXRpb25Bbm5vdGF0aW9ucxIuCgNyZWYYCCABKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VG9vbFJlZiJ3ChVMaXN0QWdlbnRUb29sc1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgd0dXJuX2lkGAIgASgJEhEKCXBhZ2Vfc2l6ZRgDIAEoBRISCgpwYWdlX3Rva2VuGAQgASgJEhIKCnRvb2xfZ3JhbnQYBSABKAkiZgoWTGlzdEFnZW50VG9vbHNSZXNwb25zZRIzCgV0b29scxgBIAMoCzIkLmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdGVkQWdlbnRUb29sEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSKDAgogQWdlbnRNYW5hZ2VyQ3JlYXRlU2Vzc2lvblJlcXVlc3QSFQoNcHJvdmlkZXJfbmFtZRgCIAEoCRINCgVtb2RlbBgDIAEoCRISCgpjbGllbnRfcmVmGAQgASgJEikKCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIxChBwcm92aWRlcl9vcHRpb25zGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCg9pZGVtcG90ZW5jeV9rZXkYByABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgIIAEoCUoECAEQAlIOcmVxdWVzdF9oYW5kbGUiYwodQWdlbnRNYW5hZ2VyR2V0U2Vzc2lvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgCIAEoCRIYChBpbnZvY2F0aW9uX3Rva2VuGAMgASgJSgQIARACUg5yZXF1ZXN0X2hhbmRsZSLEAQofQWdlbnRNYW5hZ2VyTGlzdFNlc3Npb25zUmVxdWVzdBIVCg1wcm92aWRlcl9uYW1lGAIgASgJEhgKEGludm9jYXRpb25fdG9rZW4YAyABKAkSNQoFc3RhdGUYBCABKA4yJi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXRlEg0KBWxpbWl0GAUgASgFEhQKDHN1bW1hcnlfb25seRgGIAEoCEoECAEQAlIOcmVxdWVzdF9oYW5kbGUiVwogQWdlbnRNYW5hZ2VyTGlzdFNlc3Npb25zUmVzcG9uc2USMwoIc2Vzc2lvbnMYASADKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvbiLcAQogQWdlbnRNYW5hZ2VyVXBkYXRlU2Vzc2lvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgCIAEoCRISCgpjbGllbnRfcmVmGAMgASgJEjUKBXN0YXRlGAQgASgOMiYuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb25TdGF0ZRIpCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSGAoQaW52b2NhdGlvbl90b2tlbhgGIAEoCUoECAEQAlIOcmVxdWVzdF9oYW5kbGUixQMKHUFnZW50TWFuYWdlckNyZWF0ZVR1cm5SZXF1ZXN0EhIKCnNlc3Npb25faWQYAiABKAkSDQoFbW9kZWwYAyABKAkSMwoIbWVzc2FnZXMYBCADKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWVzc2FnZRI0Cgl0b29sX3JlZnMYBSADKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VG9vbFJlZhI9Cgt0b29sX3NvdXJjZRgGIAEoDjIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUb29sU291cmNlTW9kZRIwCg9yZXNwb25zZV9zY2hlbWEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCG1ldGFkYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIxChBwcm92aWRlcl9vcHRpb25zGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCg9pZGVtcG90ZW5jeV9rZXkYCiABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgLIAEoCUoECAEQAlIOcmVxdWVzdF9oYW5kbGUiXQoaQWdlbnRNYW5hZ2VyR2V0VHVyblJlcXVlc3QSDwoHdHVybl9pZBgCIAEoCRIYChBpbnZvY2F0aW9uX3Rva2VuGAMgASgJSgQIARACUg5yZXF1ZXN0X2hhbmRsZSLCAQocQWdlbnRNYW5hZ2VyTGlzdFR1cm5zUmVxdWVzdBISCgpzZXNzaW9uX2lkGAIgASgJEhgKEGludm9jYXRpb25fdG9rZW4YAyABKAkSOQoGc3RhdHVzGAQgASgOMikuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEV4ZWN1dGlvblN0YXR1cxINCgVsaW1pdBgFIAEoBRIUCgxzdW1tYXJ5X29ubHkYBiABKAhKBAgBEAJSDnJlcXVlc3RfaGFuZGxlIk4KHUFnZW50TWFuYWdlckxpc3RUdXJuc1Jlc3BvbnNlEi0KBXR1cm5zGAEgAygLMh4uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFR1cm4icAodQWdlbnRNYW5hZ2VyQ2FuY2VsVHVyblJlcXVlc3QSDwoHdHVybl9pZBgCIAEoCRIOCgZyZWFzb24YAyABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgEIAEoCUoECAEQAlIOcmVxdWVzdF9oYW5kbGUihgEKIUFnZW50TWFuYWdlckxpc3RUdXJuRXZlbnRzUmVxdWVzdBIPCgd0dXJuX2lkGAIgASgJEhEKCWFmdGVyX3NlcRgDIAEoAxINCgVsaW1pdBgEIAEoBRIYChBpbnZvY2F0aW9uX3Rva2VuGAUgASgJSgQIARACUg5yZXF1ZXN0X2hhbmRsZSJZCiJBZ2VudE1hbmFnZXJMaXN0VHVybkV2ZW50c1Jlc3BvbnNlEjMKBmV2ZW50cxgBIAMoCzIjLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuRXZlbnQiZgojQWdlbnRNYW5hZ2VyTGlzdEludGVyYWN0aW9uc1JlcXVlc3QSDwoHdHVybl9pZBgCIAEoCRIYChBpbnZvY2F0aW9uX3Rva2VuGAMgASgJSgQIARACUg5yZXF1ZXN0X2hhbmRsZSJjCiRBZ2VudE1hbmFnZXJMaXN0SW50ZXJhY3Rpb25zUmVzcG9uc2USOwoMaW50ZXJhY3Rpb25zGAEgAygLMiUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEludGVyYWN0aW9uIq0BCiVBZ2VudE1hbmFnZXJSZXNvbHZlSW50ZXJhY3Rpb25SZXF1ZXN0Eg8KB3R1cm5faWQYAiABKAkSFgoOaW50ZXJhY3Rpb25faWQYAyABKAkSKwoKcmVzb2x1dGlvbhgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSGAoQaW52b2NhdGlvbl90b2tlbhgFIAEoCUoECAEQAlIOcmVxdWVzdF9oYW5kbGUq+gEKFEFnZW50TWVzc2FnZVBhcnRUeXBlEicKI0FHRU5UX01FU1NBR0VfUEFSVF9UWVBFX1VOU1BFQ0lGSUVEEAASIAocQUdFTlRfTUVTU0FHRV9QQVJUX1RZUEVfVEVYVBABEiAKHEFHRU5UX01FU1NBR0VfUEFSVF9UWVBFX0pTT04QAhIlCiFBR0VOVF9NRVNTQUdFX1BBUlRfVFlQRV9UT09MX0NBTEwQAxInCiNBR0VOVF9NRVNTQUdFX1BBUlRfVFlQRV9UT09MX1JFU1VMVBAEEiUKIUFHRU5UX01FU1NBR0VfUEFSVF9UWVBFX0lNQUdFX1JFRhAFKmsKE0FnZW50VG9vbFNvdXJjZU1vZGUSJgoiQUdFTlRfVE9PTF9TT1VSQ0VfTU9ERV9VTlNQRUNJRklFRBAAEiYKIkFHRU5UX1RPT0xfU09VUkNFX01PREVfTUNQX0NBVEFMT0cQAiIECAEQASqiAgoUQWdlbnRFeGVjdXRpb25TdGF0dXMSJgoiQUdFTlRfRVhFQ1VUSU9OX1NUQVRVU19VTlNQRUNJRklFRBAAEiIKHkFHRU5UX0VYRUNVVElPTl9TVEFUVVNfUEVORElORxABEiIKHkFHRU5UX0VYRUNVVElPTl9TVEFUVVNfUlVOTklORxACEiQKIEFHRU5UX0VYRUNVVElPTl9TVEFUVVNfU1VDQ0VFREVEEAMSIQodQUdFTlRfRVhFQ1VUSU9OX1NUQVRVU19GQUlMRUQQBBIjCh9BR0VOVF9FWEVDVVRJT05fU1RBVFVTX0NBTkNFTEVEEAUSLAooQUdFTlRfRVhFQ1VUSU9OX1NUQVRVU19XQUlUSU5HX0ZPUl9JTlBVVBAGKnoKEUFnZW50U2Vzc2lvblN0YXRlEiMKH0FHRU5UX1NFU1NJT05fU1RBVEVfVU5TUEVDSUZJRUQQABIeChpBR0VOVF9TRVNTSU9OX1NUQVRFX0FDVElWRRABEiAKHEFHRU5UX1NFU1NJT05fU1RBVEVfQVJDSElWRUQQAiqvAQoUQWdlbnRJbnRlcmFjdGlvblR5cGUSJgoiQUdFTlRfSU5URVJBQ1RJT05fVFlQRV9VTlNQRUNJRklFRBAAEiMKH0FHRU5UX0lOVEVSQUNUSU9OX1RZUEVfQVBQUk9WQUwQARIoCiRBR0VOVF9JTlRFUkFDVElPTl9UWVBFX0NMQVJJRklDQVRJT04QAhIgChxBR0VOVF9JTlRFUkFDVElPTl9UWVBFX0lOUFVUEAMqsQEKFUFnZW50SW50ZXJhY3Rpb25TdGF0ZRInCiNBR0VOVF9JTlRFUkFDVElPTl9TVEFURV9VTlNQRUNJRklFRBAAEiMKH0FHRU5UX0lOVEVSQUNUSU9OX1NUQVRFX1BFTkRJTkcQARIkCiBBR0VOVF9JTlRFUkFDVElPTl9TVEFURV9SRVNPTFZFRBACEiQKIEFHRU5UX0lOVEVSQUNUSU9OX1NUQVRFX0NBTkNFTEVEEAMy4AsKDUFnZW50UHJvdmlkZXISagoNQ3JlYXRlU2Vzc2lvbhI2Lmdlc3RhbHQucHJvdmlkZXIudjEuQ3JlYXRlQWdlbnRQcm92aWRlclNlc3Npb25SZXF1ZXN0GiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb24SZAoKR2V0U2Vzc2lvbhIzLmdlc3RhbHQucHJvdmlkZXIudjEuR2V0QWdlbnRQcm92aWRlclNlc3Npb25SZXF1ZXN0GiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb24SfQoMTGlzdFNlc3Npb25zEjUuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRQcm92aWRlclNlc3Npb25zUmVxdWVzdBo2Lmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50UHJvdmlkZXJTZXNzaW9uc1Jlc3BvbnNlEmoKDVVwZGF0ZVNlc3Npb24SNi5nZXN0YWx0LnByb3ZpZGVyLnYxLlVwZGF0ZUFnZW50UHJvdmlkZXJTZXNzaW9uUmVxdWVzdBohLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uEmEKCkNyZWF0ZVR1cm4SMy5nZXN0YWx0LnByb3ZpZGVyLnYxLkNyZWF0ZUFnZW50UHJvdmlkZXJUdXJuUmVxdWVzdBoeLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuElsKB0dldFR1cm4SMC5nZXN0YWx0LnByb3ZpZGVyLnYxLkdldEFnZW50UHJvdmlkZXJUdXJuUmVxdWVzdBoeLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuEnQKCUxpc3RUdXJucxIyLmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50UHJvdmlkZXJUdXJuc1JlcXVlc3QaMy5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVyVHVybnNSZXNwb25zZRJhCgpDYW5jZWxUdXJuEjMuZ2VzdGFsdC5wcm92aWRlci52MS5DYW5jZWxBZ2VudFByb3ZpZGVyVHVyblJlcXVlc3QaHi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybhKDAQoOTGlzdFR1cm5FdmVudHMSNy5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVyVHVybkV2ZW50c1JlcXVlc3QaOC5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVyVHVybkV2ZW50c1Jlc3BvbnNlEnAKDkdldEludGVyYWN0aW9uEjcuZ2VzdGFsdC5wcm92aWRlci52MS5HZXRBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25SZXF1ZXN0GiUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEludGVyYWN0aW9uEokBChBMaXN0SW50ZXJhY3Rpb25zEjkuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRQcm92aWRlckludGVyYWN0aW9uc1JlcXVlc3QaOi5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25zUmVzcG9uc2USeAoSUmVzb2x2ZUludGVyYWN0aW9uEjsuZ2VzdGFsdC5wcm92aWRlci52MS5SZXNvbHZlQWdlbnRQcm92aWRlckludGVyYWN0aW9uUmVxdWVzdBolLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRJbnRlcmFjdGlvbhJ7Cg9HZXRDYXBhYmlsaXRpZXMSOC5nZXN0YWx0LnByb3ZpZGVyLnYxLkdldEFnZW50UHJvdmlkZXJDYXBhYmlsaXRpZXNSZXF1ZXN0Gi4uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFByb3ZpZGVyQ2FwYWJpbGl0aWVzMt0BCglBZ2VudEhvc3QSZAoJTGlzdFRvb2xzEiouZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRUb29sc1JlcXVlc3QaKy5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFRvb2xzUmVzcG9uc2USagoLRXhlY3V0ZVRvb2wSLC5nZXN0YWx0LnByb3ZpZGVyLnYxLkV4ZWN1dGVBZ2VudFRvb2xSZXF1ZXN0Gi0uZ2VzdGFsdC5wcm92aWRlci52MS5FeGVjdXRlQWdlbnRUb29sUmVzcG9uc2Uy5QkKEEFnZW50TWFuYWdlckhvc3QSaQoNQ3JlYXRlU2Vzc2lvbhI1Lmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNYW5hZ2VyQ3JlYXRlU2Vzc2lvblJlcXVlc3QaIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvbhJjCgpHZXRTZXNzaW9uEjIuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJHZXRTZXNzaW9uUmVxdWVzdBohLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uEnsKDExpc3RTZXNzaW9ucxI0Lmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNYW5hZ2VyTGlzdFNlc3Npb25zUmVxdWVzdBo1Lmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNYW5hZ2VyTGlzdFNlc3Npb25zUmVzcG9uc2USaQoNVXBkYXRlU2Vzc2lvbhI1Lmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNYW5hZ2VyVXBkYXRlU2Vzc2lvblJlcXVlc3QaIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvbhJgCgpDcmVhdGVUdXJuEjIuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJDcmVhdGVUdXJuUmVxdWVzdBoeLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuEloKB0dldFR1cm4SLy5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckdldFR1cm5SZXF1ZXN0Gh4uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFR1cm4ScgoJTGlzdFR1cm5zEjEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJMaXN0VHVybnNSZXF1ZXN0GjIuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJMaXN0VHVybnNSZXNwb25zZRJgCgpDYW5jZWxUdXJuEjIuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJDYW5jZWxUdXJuUmVxdWVzdBoeLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuEoEBCg5MaXN0VHVybkV2ZW50cxI2Lmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNYW5hZ2VyTGlzdFR1cm5FdmVudHNSZXF1ZXN0GjcuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJMaXN0VHVybkV2ZW50c1Jlc3BvbnNlEocBChBMaXN0SW50ZXJhY3Rpb25zEjguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJMaXN0SW50ZXJhY3Rpb25zUmVxdWVzdBo5Lmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNYW5hZ2VyTGlzdEludGVyYWN0aW9uc1Jlc3BvbnNlEncKElJlc29sdmVJbnRlcmFjdGlvbhI6Lmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNYW5hZ2VyUmVzb2x2ZUludGVyYWN0aW9uUmVxdWVzdBolLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRJbnRlcmFjdGlvbkI9WjtnaXRodWIuY29tL3ZhbG9uLXRlY2hub2xvZ2llcy9nZXN0YWx0L2ludGVybmFsL2dlbi92MTtwcm90b2IGcHJvdG8z", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_v1_plugin]);
17
+ fileDesc("Cg52MS9hZ2VudC5wcm90bxITZ2VzdGFsdC5wcm92aWRlci52MSKLAQoMQWdlbnRNZXNzYWdlEgwKBHJvbGUYASABKAkSDAoEdGV4dBgCIAEoCRI0CgVwYXJ0cxgDIAMoCzIlLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNZXNzYWdlUGFydBIpCghtZXRhZGF0YRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiYwoYQWdlbnRNZXNzYWdlUGFydFRvb2xDYWxsEgoKAmlkGAEgASgJEg8KB3Rvb2xfaWQYAiABKAkSKgoJYXJndW1lbnRzGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCJ8ChpBZ2VudE1lc3NhZ2VQYXJ0VG9vbFJlc3VsdBIUCgx0b29sX2NhbGxfaWQYASABKAkSDgoGc3RhdHVzGAIgASgFEg8KB2NvbnRlbnQYAyABKAkSJwoGb3V0cHV0GAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCI6ChhBZ2VudE1lc3NhZ2VQYXJ0SW1hZ2VSZWYSCwoDdXJpGAEgASgJEhEKCW1pbWVfdHlwZRgCIAEoCSLKAgoQQWdlbnRNZXNzYWdlUGFydBI3CgR0eXBlGAEgASgOMikuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2VQYXJ0VHlwZRIMCgR0ZXh0GAIgASgJEiUKBGpzb24YAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EkAKCXRvb2xfY2FsbBgEIAEoCzItLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNZXNzYWdlUGFydFRvb2xDYWxsEkQKC3Rvb2xfcmVzdWx0GAUgASgLMi8uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1lc3NhZ2VQYXJ0VG9vbFJlc3VsdBJACglpbWFnZV9yZWYYBiABKAsyLS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWVzc2FnZVBhcnRJbWFnZVJlZiJhCgpBZ2VudEFjdG9yEhIKCnN1YmplY3RfaWQYASABKAkSFAoMc3ViamVjdF9raW5kGAIgASgJEhQKDGRpc3BsYXlfbmFtZRgDIAEoCRITCgthdXRoX3NvdXJjZRgEIAEoCSKJAQoTQWdlbnRTdWJqZWN0Q29udGV4dBISCgpzdWJqZWN0X2lkGAEgASgJEhQKDHN1YmplY3Rfa2luZBgCIAEoCRIdChVjcmVkZW50aWFsX3N1YmplY3RfaWQYAyABKAkSFAoMZGlzcGxheV9uYW1lGAQgASgJEhMKC2F1dGhfc291cmNlGAUgASgJImAKDkFnZW50V29ya3NwYWNlEkEKCWNoZWNrb3V0cxgBIAMoCzIuLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRXb3Jrc3BhY2VHaXRDaGVja291dBILCgNjd2QYAiABKAkiQwoZQWdlbnRXb3Jrc3BhY2VHaXRDaGVja291dBILCgN1cmwYASABKAkSCwoDcmVmGAIgASgJEgwKBHBhdGgYAyABKAkiMwoWUHJlcGFyZWRBZ2VudFdvcmtzcGFjZRIMCgRyb290GAEgASgJEgsKA2N3ZBgCIAEoCSKEAQoRUmVzb2x2ZWRBZ2VudFRvb2wSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIyChFwYXJhbWV0ZXJzX3NjaGVtYRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RKBAgEEAVSBnRhcmdldCKiAQoMQWdlbnRUb29sUmVmEg4KBnBsdWdpbhgBIAEoCRIRCglvcGVyYXRpb24YAiABKAkSEgoKY29ubmVjdGlvbhgDIAEoCRIQCghpbnN0YW5jZRgEIAEoCRINCgV0aXRsZRgFIAEoCRITCgtkZXNjcmlwdGlvbhgGIAEoCRIOCgZzeXN0ZW0YCCABKAlKBAgHEAhSD2NyZWRlbnRpYWxfbW9kZSKAAwoZQWdlbnRQcm92aWRlckNhcGFiaWxpdGllcxIWCg5zdHJlYW1pbmdfdGV4dBgBIAEoCBISCgp0b29sX2NhbGxzGAIgASgIEhsKE3BhcmFsbGVsX3Rvb2xfY2FsbHMYAyABKAgSGQoRc3RydWN0dXJlZF9vdXRwdXQYBCABKAgSFAoMaW50ZXJhY3Rpb25zGAUgASgIEhcKD3Jlc3VtYWJsZV90dXJucxgGIAEoCBIbChNyZWFzb25pbmdfc3VtbWFyaWVzGAcgASgIEh4KFmJvdW5kZWRfbGlzdF9oeWRyYXRpb24YCSABKAgSSAoWc3VwcG9ydGVkX3Rvb2xfc291cmNlcxgKIAMoDjIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUb29sU291cmNlTW9kZRIeChZzdXBwb3J0c19zZXNzaW9uX3N0YXJ0GAsgASgIEiMKG3N1cHBvcnRzX3ByZXBhcmVkX3dvcmtzcGFjZRgMIAEoCEoECAgQCSIlCiNHZXRBZ2VudFByb3ZpZGVyQ2FwYWJpbGl0aWVzUmVxdWVzdCKOAwoQQWdlbnRJbnRlcmFjdGlvbhIKCgJpZBgBIAEoCRI3CgR0eXBlGAIgASgOMikuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEludGVyYWN0aW9uVHlwZRI5CgVzdGF0ZRgDIAEoDjIqLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRJbnRlcmFjdGlvblN0YXRlEg0KBXRpdGxlGAQgASgJEg4KBnByb21wdBgFIAEoCRIoCgdyZXF1ZXN0GAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIrCgpyZXNvbHV0aW9uGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgtyZXNvbHZlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDwoHdHVybl9pZBgKIAEoCRISCgpzZXNzaW9uX2lkGAsgASgJIv0CCgxBZ2VudFNlc3Npb24SCgoCaWQYASABKAkSFQoNcHJvdmlkZXJfbmFtZRgCIAEoCRINCgVtb2RlbBgDIAEoCRISCgpjbGllbnRfcmVmGAQgASgJEjUKBXN0YXRlGAUgASgOMiYuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb25TdGF0ZRIpCghtZXRhZGF0YRgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSMwoKY3JlYXRlZF9ieRgHIAEoCzIfLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRBY3RvchIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxsYXN0X3R1cm5fYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIrQDCiFDcmVhdGVBZ2VudFByb3ZpZGVyU2Vzc2lvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIXCg9pZGVtcG90ZW5jeV9rZXkYAiABKAkSDQoFbW9kZWwYAyABKAkSEgoKY2xpZW50X3JlZhgEIAEoCRIpCghtZXRhZGF0YRgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSMwoKY3JlYXRlZF9ieRgHIAEoCzIfLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRBY3RvchI5CgdzdWJqZWN0GAggASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0EkMKDXNlc3Npb25fc3RhcnQYCSABKAsyLC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXJ0Q29uZmlnEkcKEnByZXBhcmVkX3dvcmtzcGFjZRgKIAEoCzIrLmdlc3RhbHQucHJvdmlkZXIudjEuUHJlcGFyZWRBZ2VudFdvcmtzcGFjZUoECAYQB1IQcHJvdmlkZXJfb3B0aW9ucyJUChdBZ2VudFNlc3Npb25TdGFydENvbmZpZxI5CgVob29rcxgBIAMoCzIqLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uU3RhcnRIb29rIpACChVBZ2VudFNlc3Npb25TdGFydEhvb2sSCgoCaWQYASABKAkSDAoEdHlwZRgCIAEoCRIPCgdjb21tYW5kGAMgAygJEgsKA2N3ZBgEIAEoCRIPCgd0aW1lb3V0GAUgASgJEkAKA2VudhgGIAMoCzIzLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uU3RhcnRIb29rLkVudkVudHJ5EkAKBm91dHB1dBgHIAEoCzIwLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uU3RhcnRIb29rT3V0cHV0GioKCEVudkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiSwobQWdlbnRTZXNzaW9uU3RhcnRIb29rT3V0cHV0EhoKEmFkZGl0aW9uYWxfY29udGV4dBgBIAEoCBIQCghtZXRhZGF0YRgCIAEoCCJvCh5HZXRBZ2VudFByb3ZpZGVyU2Vzc2lvblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRI5CgdzdWJqZWN0GAIgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0Is4BCiBMaXN0QWdlbnRQcm92aWRlclNlc3Npb25zUmVxdWVzdBI5CgdzdWJqZWN0GAEgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0EhMKC3Nlc3Npb25faWRzGAIgAygJEjUKBXN0YXRlGAMgASgOMiYuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb25TdGF0ZRINCgVsaW1pdBgEIAEoBRIUCgxzdW1tYXJ5X29ubHkYBSABKAgiWAohTGlzdEFnZW50UHJvdmlkZXJTZXNzaW9uc1Jlc3BvbnNlEjMKCHNlc3Npb25zGAEgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb24i6AEKIVVwZGF0ZUFnZW50UHJvdmlkZXJTZXNzaW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEhIKCmNsaWVudF9yZWYYAiABKAkSNQoFc3RhdGUYAyABKA4yJi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXRlEikKCG1ldGFkYXRhGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI5CgdzdWJqZWN0GAUgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0IoAECglBZ2VudFR1cm4SCgoCaWQYASABKAkSEgoKc2Vzc2lvbl9pZBgCIAEoCRIVCg1wcm92aWRlcl9uYW1lGAMgASgJEg0KBW1vZGVsGAQgASgJEjkKBnN0YXR1cxgFIAEoDjIpLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRFeGVjdXRpb25TdGF0dXMSMwoIbWVzc2FnZXMYBiADKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWVzc2FnZRITCgtvdXRwdXRfdGV4dBgHIAEoCRIyChFzdHJ1Y3R1cmVkX291dHB1dBgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFgoOc3RhdHVzX21lc3NhZ2UYCSABKAkSMwoKY3JlYXRlZF9ieRgKIAEoCzIfLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRBY3RvchIuCgpjcmVhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpzdGFydGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIwCgxjb21wbGV0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhUKDWV4ZWN1dGlvbl9yZWYYDiABKAkilQIKEEFnZW50VHVybkRpc3BsYXkSDAoEa2luZBgBIAEoCRINCgVwaGFzZRgCIAEoCRIMCgR0ZXh0GAMgASgJEg0KBWxhYmVsGAQgASgJEgsKA3JlZhgFIAEoCRISCgpwYXJlbnRfcmVmGAYgASgJEiUKBWlucHV0GAcgASgLMhYuZ29vZ2xlLnByb3RvYnVmLlZhbHVlEiYKBm91dHB1dBgIIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIlCgVlcnJvchgJIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5WYWx1ZRIOCgZhY3Rpb24YCiABKAkSDgoGZm9ybWF0GAsgASgJEhAKCGxhbmd1YWdlGAwgASgJIp8FCh5DcmVhdGVBZ2VudFByb3ZpZGVyVHVyblJlcXVlc3QSDwoHdHVybl9pZBgBIAEoCRISCgpzZXNzaW9uX2lkGAIgASgJEhcKD2lkZW1wb3RlbmN5X2tleRgDIAEoCRINCgVtb2RlbBgEIAEoCRIzCghtZXNzYWdlcxgFIAMoCzIhLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNZXNzYWdlEjUKBXRvb2xzGAYgAygLMiYuZ2VzdGFsdC5wcm92aWRlci52MS5SZXNvbHZlZEFnZW50VG9vbBIwCg9yZXNwb25zZV9zY2hlbWEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCG1ldGFkYXRhGAggASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIzCgpjcmVhdGVkX2J5GAogASgLMh8uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEFjdG9yEhUKDWV4ZWN1dGlvbl9yZWYYCyABKAkSNAoJdG9vbF9yZWZzGAwgAygLMiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFRvb2xSZWYSPQoLdG9vbF9zb3VyY2UYDSABKA4yKC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VG9vbFNvdXJjZU1vZGUSOQoHc3ViamVjdBgOIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTdWJqZWN0Q29udGV4dBIuCg1tb2RlbF9vcHRpb25zGBAgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIRCglydW5fZ3JhbnQYESABKAlKBAgJEApKBAgPEBBSEHByb3ZpZGVyX29wdGlvbnNSCnRvb2xfZ3JhbnQiaQobR2V0QWdlbnRQcm92aWRlclR1cm5SZXF1ZXN0Eg8KB3R1cm5faWQYASABKAkSOQoHc3ViamVjdBgCIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTdWJqZWN0Q29udGV4dCLgAQodTGlzdEFnZW50UHJvdmlkZXJUdXJuc1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRI5CgdzdWJqZWN0GAIgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0EhAKCHR1cm5faWRzGAMgAygJEjkKBnN0YXR1cxgEIAEoDjIpLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRFeGVjdXRpb25TdGF0dXMSDQoFbGltaXQYBSABKAUSFAoMc3VtbWFyeV9vbmx5GAYgASgIIk8KHkxpc3RBZ2VudFByb3ZpZGVyVHVybnNSZXNwb25zZRItCgV0dXJucxgBIAMoCzIeLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuInwKHkNhbmNlbEFnZW50UHJvdmlkZXJUdXJuUmVxdWVzdBIPCgd0dXJuX2lkGAEgASgJEg4KBnJlYXNvbhgCIAEoCRI5CgdzdWJqZWN0GAMgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0IvsBCg5BZ2VudFR1cm5FdmVudBIKCgJpZBgBIAEoCRIPCgd0dXJuX2lkGAIgASgJEgsKA3NlcRgDIAEoAxIMCgR0eXBlGAQgASgJEg4KBnNvdXJjZRgFIAEoCRISCgp2aXNpYmlsaXR5GAYgASgJEiUKBGRhdGEYByABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEjYKB2Rpc3BsYXkYCSABKAsyJS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybkRpc3BsYXkikgEKIkxpc3RBZ2VudFByb3ZpZGVyVHVybkV2ZW50c1JlcXVlc3QSDwoHdHVybl9pZBgBIAEoCRIRCglhZnRlcl9zZXEYAiABKAMSDQoFbGltaXQYAyABKAUSOQoHc3ViamVjdBgEIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTdWJqZWN0Q29udGV4dCJaCiNMaXN0QWdlbnRQcm92aWRlclR1cm5FdmVudHNSZXNwb25zZRIzCgZldmVudHMYASADKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybkV2ZW50IncKIkdldEFnZW50UHJvdmlkZXJJbnRlcmFjdGlvblJlcXVlc3QSFgoOaW50ZXJhY3Rpb25faWQYASABKAkSOQoHc3ViamVjdBgCIAEoCzIoLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTdWJqZWN0Q29udGV4dCJyCiRMaXN0QWdlbnRQcm92aWRlckludGVyYWN0aW9uc1JlcXVlc3QSDwoHdHVybl9pZBgBIAEoCRI5CgdzdWJqZWN0GAIgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0ImQKJUxpc3RBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25zUmVzcG9uc2USOwoMaW50ZXJhY3Rpb25zGAEgAygLMiUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEludGVyYWN0aW9uIqgBCiZSZXNvbHZlQWdlbnRQcm92aWRlckludGVyYWN0aW9uUmVxdWVzdBIWCg5pbnRlcmFjdGlvbl9pZBgBIAEoCRIrCgpyZXNvbHV0aW9uGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBI5CgdzdWJqZWN0GAMgASgLMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFN1YmplY3RDb250ZXh0Is8BChdFeGVjdXRlQWdlbnRUb29sUmVxdWVzdBISCgpzZXNzaW9uX2lkGAEgASgJEg8KB3R1cm5faWQYAiABKAkSFAoMdG9vbF9jYWxsX2lkGAMgASgJEg8KB3Rvb2xfaWQYBCABKAkSKgoJYXJndW1lbnRzGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCg9pZGVtcG90ZW5jeV9rZXkYByABKAkSEQoJcnVuX2dyYW50GAggASgJSgQIBhAHUgp0b29sX2dyYW50IjgKGEV4ZWN1dGVBZ2VudFRvb2xSZXNwb25zZRIOCgZzdGF0dXMYASABKAUSDAoEYm9keRgCIAEoCSKTAgoPTGlzdGVkQWdlbnRUb29sEgoKAmlkGAEgASgJEhAKCG1jcF9uYW1lGAIgASgJEg0KBXRpdGxlGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhQKDGlucHV0X3NjaGVtYRgFIAEoCRIVCg1vdXRwdXRfc2NoZW1hGAYgASgJEj4KC2Fubm90YXRpb25zGAcgASgLMikuZ2VzdGFsdC5wcm92aWRlci52MS5PcGVyYXRpb25Bbm5vdGF0aW9ucxIuCgNyZWYYCCABKAsyIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VG9vbFJlZhIMCgR0YWdzGAkgAygJEhMKC3NlYXJjaF90ZXh0GAogASgJIpcBChVMaXN0QWdlbnRUb29sc1JlcXVlc3QSEgoKc2Vzc2lvbl9pZBgBIAEoCRIPCgd0dXJuX2lkGAIgASgJEhEKCXBhZ2Vfc2l6ZRgDIAEoBRISCgpwYWdlX3Rva2VuGAQgASgJEhEKCXJ1bl9ncmFudBgGIAEoCRINCgVxdWVyeRgHIAEoCUoECAUQBlIKdG9vbF9ncmFudCJmChZMaXN0QWdlbnRUb29sc1Jlc3BvbnNlEjMKBXRvb2xzGAEgAygLMiQuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0ZWRBZ2VudFRvb2wSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJIn0KHVJlc29sdmVBZ2VudENvbm5lY3Rpb25SZXF1ZXN0EhIKCnNlc3Npb25faWQYASABKAkSDwoHdHVybl9pZBgCIAEoCRISCgpjb25uZWN0aW9uGAMgASgJEhAKCGluc3RhbmNlGAQgASgJEhEKCXJ1bl9ncmFudBgFIAEoCSKJAwoXUmVzb2x2ZWRBZ2VudENvbm5lY3Rpb24SFQoNY29ubmVjdGlvbl9pZBgBIAEoCRISCgpjb25uZWN0aW9uGAIgASgJEhAKCGluc3RhbmNlGAMgASgJEgwKBG1vZGUYBCABKAkSSgoHaGVhZGVycxgFIAMoCzI5Lmdlc3RhbHQucHJvdmlkZXIudjEuUmVzb2x2ZWRBZ2VudENvbm5lY3Rpb24uSGVhZGVyc0VudHJ5EkgKBnBhcmFtcxgGIAMoCzI4Lmdlc3RhbHQucHJvdmlkZXIudjEuUmVzb2x2ZWRBZ2VudENvbm5lY3Rpb24uUGFyYW1zRW50cnkSLgoKZXhwaXJlc19hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAaLgoMSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaLQoLUGFyYW1zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASKgAgogQWdlbnRNYW5hZ2VyQ3JlYXRlU2Vzc2lvblJlcXVlc3QSFQoNcHJvdmlkZXJfbmFtZRgCIAEoCRINCgVtb2RlbBgDIAEoCRISCgpjbGllbnRfcmVmGAQgASgJEikKCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIXCg9pZGVtcG90ZW5jeV9rZXkYByABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgIIAEoCRI2Cgl3b3Jrc3BhY2UYCSABKAsyIy5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50V29ya3NwYWNlSgQIARACSgQIBhAHUg5yZXF1ZXN0X2hhbmRsZVIQcHJvdmlkZXJfb3B0aW9ucyJjCh1BZ2VudE1hbmFnZXJHZXRTZXNzaW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAIgASgJEhgKEGludm9jYXRpb25fdG9rZW4YAyABKAlKBAgBEAJSDnJlcXVlc3RfaGFuZGxlIsQBCh9BZ2VudE1hbmFnZXJMaXN0U2Vzc2lvbnNSZXF1ZXN0EhUKDXByb3ZpZGVyX25hbWUYAiABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgDIAEoCRI1CgVzdGF0ZRgEIAEoDjImLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uU3RhdGUSDQoFbGltaXQYBSABKAUSFAoMc3VtbWFyeV9vbmx5GAYgASgISgQIARACUg5yZXF1ZXN0X2hhbmRsZSJXCiBBZ2VudE1hbmFnZXJMaXN0U2Vzc2lvbnNSZXNwb25zZRIzCghzZXNzaW9ucxgBIAMoCzIhLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRTZXNzaW9uItwBCiBBZ2VudE1hbmFnZXJVcGRhdGVTZXNzaW9uUmVxdWVzdBISCgpzZXNzaW9uX2lkGAIgASgJEhIKCmNsaWVudF9yZWYYAyABKAkSNQoFc3RhdGUYBCABKA4yJi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvblN0YXRlEikKCG1ldGFkYXRhGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIYChBpbnZvY2F0aW9uX3Rva2VuGAYgASgJSgQIARACUg5yZXF1ZXN0X2hhbmRsZSLaAwodQWdlbnRNYW5hZ2VyQ3JlYXRlVHVyblJlcXVlc3QSEgoKc2Vzc2lvbl9pZBgCIAEoCRINCgVtb2RlbBgDIAEoCRIzCghtZXNzYWdlcxgEIAMoCzIhLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNZXNzYWdlEjQKCXRvb2xfcmVmcxgFIAMoCzIhLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUb29sUmVmEj0KC3Rvb2xfc291cmNlGAYgASgOMiguZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFRvb2xTb3VyY2VNb2RlEjAKD3Jlc3BvbnNlX3NjaGVtYRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSKQoIbWV0YWRhdGEYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhcKD2lkZW1wb3RlbmN5X2tleRgKIAEoCRIYChBpbnZvY2F0aW9uX3Rva2VuGAsgASgJEi4KDW1vZGVsX29wdGlvbnMYDCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SgQIARACSgQICRAKUg5yZXF1ZXN0X2hhbmRsZVIQcHJvdmlkZXJfb3B0aW9ucyJdChpBZ2VudE1hbmFnZXJHZXRUdXJuUmVxdWVzdBIPCgd0dXJuX2lkGAIgASgJEhgKEGludm9jYXRpb25fdG9rZW4YAyABKAlKBAgBEAJSDnJlcXVlc3RfaGFuZGxlIsIBChxBZ2VudE1hbmFnZXJMaXN0VHVybnNSZXF1ZXN0EhIKCnNlc3Npb25faWQYAiABKAkSGAoQaW52b2NhdGlvbl90b2tlbhgDIAEoCRI5CgZzdGF0dXMYBCABKA4yKS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50RXhlY3V0aW9uU3RhdHVzEg0KBWxpbWl0GAUgASgFEhQKDHN1bW1hcnlfb25seRgGIAEoCEoECAEQAlIOcmVxdWVzdF9oYW5kbGUiTgodQWdlbnRNYW5hZ2VyTGlzdFR1cm5zUmVzcG9uc2USLQoFdHVybnMYASADKAsyHi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybiJwCh1BZ2VudE1hbmFnZXJDYW5jZWxUdXJuUmVxdWVzdBIPCgd0dXJuX2lkGAIgASgJEg4KBnJlYXNvbhgDIAEoCRIYChBpbnZvY2F0aW9uX3Rva2VuGAQgASgJSgQIARACUg5yZXF1ZXN0X2hhbmRsZSKGAQohQWdlbnRNYW5hZ2VyTGlzdFR1cm5FdmVudHNSZXF1ZXN0Eg8KB3R1cm5faWQYAiABKAkSEQoJYWZ0ZXJfc2VxGAMgASgDEg0KBWxpbWl0GAQgASgFEhgKEGludm9jYXRpb25fdG9rZW4YBSABKAlKBAgBEAJSDnJlcXVlc3RfaGFuZGxlIlkKIkFnZW50TWFuYWdlckxpc3RUdXJuRXZlbnRzUmVzcG9uc2USMwoGZXZlbnRzGAEgAygLMiMuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFR1cm5FdmVudCJmCiNBZ2VudE1hbmFnZXJMaXN0SW50ZXJhY3Rpb25zUmVxdWVzdBIPCgd0dXJuX2lkGAIgASgJEhgKEGludm9jYXRpb25fdG9rZW4YAyABKAlKBAgBEAJSDnJlcXVlc3RfaGFuZGxlImMKJEFnZW50TWFuYWdlckxpc3RJbnRlcmFjdGlvbnNSZXNwb25zZRI7CgxpbnRlcmFjdGlvbnMYASADKAsyJS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50SW50ZXJhY3Rpb24irQEKJUFnZW50TWFuYWdlclJlc29sdmVJbnRlcmFjdGlvblJlcXVlc3QSDwoHdHVybl9pZBgCIAEoCRIWCg5pbnRlcmFjdGlvbl9pZBgDIAEoCRIrCgpyZXNvbHV0aW9uGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIYChBpbnZvY2F0aW9uX3Rva2VuGAUgASgJSgQIARACUg5yZXF1ZXN0X2hhbmRsZSr6AQoUQWdlbnRNZXNzYWdlUGFydFR5cGUSJwojQUdFTlRfTUVTU0FHRV9QQVJUX1RZUEVfVU5TUEVDSUZJRUQQABIgChxBR0VOVF9NRVNTQUdFX1BBUlRfVFlQRV9URVhUEAESIAocQUdFTlRfTUVTU0FHRV9QQVJUX1RZUEVfSlNPThACEiUKIUFHRU5UX01FU1NBR0VfUEFSVF9UWVBFX1RPT0xfQ0FMTBADEicKI0FHRU5UX01FU1NBR0VfUEFSVF9UWVBFX1RPT0xfUkVTVUxUEAQSJQohQUdFTlRfTUVTU0FHRV9QQVJUX1RZUEVfSU1BR0VfUkVGEAUqawoTQWdlbnRUb29sU291cmNlTW9kZRImCiJBR0VOVF9UT09MX1NPVVJDRV9NT0RFX1VOU1BFQ0lGSUVEEAASJgoiQUdFTlRfVE9PTF9TT1VSQ0VfTU9ERV9NQ1BfQ0FUQUxPRxACIgQIARABKqICChRBZ2VudEV4ZWN1dGlvblN0YXR1cxImCiJBR0VOVF9FWEVDVVRJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASIgoeQUdFTlRfRVhFQ1VUSU9OX1NUQVRVU19QRU5ESU5HEAESIgoeQUdFTlRfRVhFQ1VUSU9OX1NUQVRVU19SVU5OSU5HEAISJAogQUdFTlRfRVhFQ1VUSU9OX1NUQVRVU19TVUNDRUVERUQQAxIhCh1BR0VOVF9FWEVDVVRJT05fU1RBVFVTX0ZBSUxFRBAEEiMKH0FHRU5UX0VYRUNVVElPTl9TVEFUVVNfQ0FOQ0VMRUQQBRIsCihBR0VOVF9FWEVDVVRJT05fU1RBVFVTX1dBSVRJTkdfRk9SX0lOUFVUEAYqegoRQWdlbnRTZXNzaW9uU3RhdGUSIwofQUdFTlRfU0VTU0lPTl9TVEFURV9VTlNQRUNJRklFRBAAEh4KGkFHRU5UX1NFU1NJT05fU1RBVEVfQUNUSVZFEAESIAocQUdFTlRfU0VTU0lPTl9TVEFURV9BUkNISVZFRBACKq8BChRBZ2VudEludGVyYWN0aW9uVHlwZRImCiJBR0VOVF9JTlRFUkFDVElPTl9UWVBFX1VOU1BFQ0lGSUVEEAASIwofQUdFTlRfSU5URVJBQ1RJT05fVFlQRV9BUFBST1ZBTBABEigKJEFHRU5UX0lOVEVSQUNUSU9OX1RZUEVfQ0xBUklGSUNBVElPThACEiAKHEFHRU5UX0lOVEVSQUNUSU9OX1RZUEVfSU5QVVQQAyqxAQoVQWdlbnRJbnRlcmFjdGlvblN0YXRlEicKI0FHRU5UX0lOVEVSQUNUSU9OX1NUQVRFX1VOU1BFQ0lGSUVEEAASIwofQUdFTlRfSU5URVJBQ1RJT05fU1RBVEVfUEVORElORxABEiQKIEFHRU5UX0lOVEVSQUNUSU9OX1NUQVRFX1JFU09MVkVEEAISJAogQUdFTlRfSU5URVJBQ1RJT05fU1RBVEVfQ0FOQ0VMRUQQAzLgCwoNQWdlbnRQcm92aWRlchJqCg1DcmVhdGVTZXNzaW9uEjYuZ2VzdGFsdC5wcm92aWRlci52MS5DcmVhdGVBZ2VudFByb3ZpZGVyU2Vzc2lvblJlcXVlc3QaIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvbhJkCgpHZXRTZXNzaW9uEjMuZ2VzdGFsdC5wcm92aWRlci52MS5HZXRBZ2VudFByb3ZpZGVyU2Vzc2lvblJlcXVlc3QaIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvbhJ9CgxMaXN0U2Vzc2lvbnMSNS5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVyU2Vzc2lvbnNSZXF1ZXN0GjYuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRQcm92aWRlclNlc3Npb25zUmVzcG9uc2USagoNVXBkYXRlU2Vzc2lvbhI2Lmdlc3RhbHQucHJvdmlkZXIudjEuVXBkYXRlQWdlbnRQcm92aWRlclNlc3Npb25SZXF1ZXN0GiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb24SYQoKQ3JlYXRlVHVybhIzLmdlc3RhbHQucHJvdmlkZXIudjEuQ3JlYXRlQWdlbnRQcm92aWRlclR1cm5SZXF1ZXN0Gh4uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFR1cm4SWwoHR2V0VHVybhIwLmdlc3RhbHQucHJvdmlkZXIudjEuR2V0QWdlbnRQcm92aWRlclR1cm5SZXF1ZXN0Gh4uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFR1cm4SdAoJTGlzdFR1cm5zEjIuZ2VzdGFsdC5wcm92aWRlci52MS5MaXN0QWdlbnRQcm92aWRlclR1cm5zUmVxdWVzdBozLmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50UHJvdmlkZXJUdXJuc1Jlc3BvbnNlEmEKCkNhbmNlbFR1cm4SMy5nZXN0YWx0LnByb3ZpZGVyLnYxLkNhbmNlbEFnZW50UHJvdmlkZXJUdXJuUmVxdWVzdBoeLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuEoMBCg5MaXN0VHVybkV2ZW50cxI3Lmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50UHJvdmlkZXJUdXJuRXZlbnRzUmVxdWVzdBo4Lmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50UHJvdmlkZXJUdXJuRXZlbnRzUmVzcG9uc2UScAoOR2V0SW50ZXJhY3Rpb24SNy5nZXN0YWx0LnByb3ZpZGVyLnYxLkdldEFnZW50UHJvdmlkZXJJbnRlcmFjdGlvblJlcXVlc3QaJS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50SW50ZXJhY3Rpb24SiQEKEExpc3RJbnRlcmFjdGlvbnMSOS5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25zUmVxdWVzdBo6Lmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50UHJvdmlkZXJJbnRlcmFjdGlvbnNSZXNwb25zZRJ4ChJSZXNvbHZlSW50ZXJhY3Rpb24SOy5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlc29sdmVBZ2VudFByb3ZpZGVySW50ZXJhY3Rpb25SZXF1ZXN0GiUuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudEludGVyYWN0aW9uEnsKD0dldENhcGFiaWxpdGllcxI4Lmdlc3RhbHQucHJvdmlkZXIudjEuR2V0QWdlbnRQcm92aWRlckNhcGFiaWxpdGllc1JlcXVlc3QaLi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50UHJvdmlkZXJDYXBhYmlsaXRpZXMy1AIKCUFnZW50SG9zdBJkCglMaXN0VG9vbHMSKi5nZXN0YWx0LnByb3ZpZGVyLnYxLkxpc3RBZ2VudFRvb2xzUmVxdWVzdBorLmdlc3RhbHQucHJvdmlkZXIudjEuTGlzdEFnZW50VG9vbHNSZXNwb25zZRJqCgtFeGVjdXRlVG9vbBIsLmdlc3RhbHQucHJvdmlkZXIudjEuRXhlY3V0ZUFnZW50VG9vbFJlcXVlc3QaLS5nZXN0YWx0LnByb3ZpZGVyLnYxLkV4ZWN1dGVBZ2VudFRvb2xSZXNwb25zZRJ1ChFSZXNvbHZlQ29ubmVjdGlvbhIyLmdlc3RhbHQucHJvdmlkZXIudjEuUmVzb2x2ZUFnZW50Q29ubmVjdGlvblJlcXVlc3QaLC5nZXN0YWx0LnByb3ZpZGVyLnYxLlJlc29sdmVkQWdlbnRDb25uZWN0aW9uMuUJChBBZ2VudE1hbmFnZXJIb3N0EmkKDUNyZWF0ZVNlc3Npb24SNS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckNyZWF0ZVNlc3Npb25SZXF1ZXN0GiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb24SYwoKR2V0U2Vzc2lvbhIyLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNYW5hZ2VyR2V0U2Vzc2lvblJlcXVlc3QaIS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50U2Vzc2lvbhJ7CgxMaXN0U2Vzc2lvbnMSNC5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckxpc3RTZXNzaW9uc1JlcXVlc3QaNS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckxpc3RTZXNzaW9uc1Jlc3BvbnNlEmkKDVVwZGF0ZVNlc3Npb24SNS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlclVwZGF0ZVNlc3Npb25SZXF1ZXN0GiEuZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudFNlc3Npb24SYAoKQ3JlYXRlVHVybhIyLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNYW5hZ2VyQ3JlYXRlVHVyblJlcXVlc3QaHi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybhJaCgdHZXRUdXJuEi8uZ2VzdGFsdC5wcm92aWRlci52MS5BZ2VudE1hbmFnZXJHZXRUdXJuUmVxdWVzdBoeLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRUdXJuEnIKCUxpc3RUdXJucxIxLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNYW5hZ2VyTGlzdFR1cm5zUmVxdWVzdBoyLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNYW5hZ2VyTGlzdFR1cm5zUmVzcG9uc2USYAoKQ2FuY2VsVHVybhIyLmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNYW5hZ2VyQ2FuY2VsVHVyblJlcXVlc3QaHi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50VHVybhKBAQoOTGlzdFR1cm5FdmVudHMSNi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckxpc3RUdXJuRXZlbnRzUmVxdWVzdBo3Lmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNYW5hZ2VyTGlzdFR1cm5FdmVudHNSZXNwb25zZRKHAQoQTGlzdEludGVyYWN0aW9ucxI4Lmdlc3RhbHQucHJvdmlkZXIudjEuQWdlbnRNYW5hZ2VyTGlzdEludGVyYWN0aW9uc1JlcXVlc3QaOS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlckxpc3RJbnRlcmFjdGlvbnNSZXNwb25zZRJ3ChJSZXNvbHZlSW50ZXJhY3Rpb24SOi5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50TWFuYWdlclJlc29sdmVJbnRlcmFjdGlvblJlcXVlc3QaJS5nZXN0YWx0LnByb3ZpZGVyLnYxLkFnZW50SW50ZXJhY3Rpb25CPVo7Z2l0aHViLmNvbS92YWxvbi10ZWNobm9sb2dpZXMvZ2VzdGFsdC9pbnRlcm5hbC9nZW4vdjE7cHJvdG9iBnByb3RvMw", [file_google_protobuf_struct, file_google_protobuf_timestamp, file_v1_plugin]);
18
18
 
19
19
  /**
20
20
  * @generated from message gestalt.provider.v1.AgentMessage
@@ -240,6 +240,77 @@ export type AgentSubjectContext = Message<"gestalt.provider.v1.AgentSubjectConte
240
240
  export const AgentSubjectContextSchema: GenMessage<AgentSubjectContext> = /*@__PURE__*/
241
241
  messageDesc(file_v1_agent, 6);
242
242
 
243
+ /**
244
+ * @generated from message gestalt.provider.v1.AgentWorkspace
245
+ */
246
+ export type AgentWorkspace = Message<"gestalt.provider.v1.AgentWorkspace"> & {
247
+ /**
248
+ * @generated from field: repeated gestalt.provider.v1.AgentWorkspaceGitCheckout checkouts = 1;
249
+ */
250
+ checkouts: AgentWorkspaceGitCheckout[];
251
+
252
+ /**
253
+ * @generated from field: string cwd = 2;
254
+ */
255
+ cwd: string;
256
+ };
257
+
258
+ /**
259
+ * Describes the message gestalt.provider.v1.AgentWorkspace.
260
+ * Use `create(AgentWorkspaceSchema)` to create a new message.
261
+ */
262
+ export const AgentWorkspaceSchema: GenMessage<AgentWorkspace> = /*@__PURE__*/
263
+ messageDesc(file_v1_agent, 7);
264
+
265
+ /**
266
+ * @generated from message gestalt.provider.v1.AgentWorkspaceGitCheckout
267
+ */
268
+ export type AgentWorkspaceGitCheckout = Message<"gestalt.provider.v1.AgentWorkspaceGitCheckout"> & {
269
+ /**
270
+ * @generated from field: string url = 1;
271
+ */
272
+ url: string;
273
+
274
+ /**
275
+ * @generated from field: string ref = 2;
276
+ */
277
+ ref: string;
278
+
279
+ /**
280
+ * @generated from field: string path = 3;
281
+ */
282
+ path: string;
283
+ };
284
+
285
+ /**
286
+ * Describes the message gestalt.provider.v1.AgentWorkspaceGitCheckout.
287
+ * Use `create(AgentWorkspaceGitCheckoutSchema)` to create a new message.
288
+ */
289
+ export const AgentWorkspaceGitCheckoutSchema: GenMessage<AgentWorkspaceGitCheckout> = /*@__PURE__*/
290
+ messageDesc(file_v1_agent, 8);
291
+
292
+ /**
293
+ * @generated from message gestalt.provider.v1.PreparedAgentWorkspace
294
+ */
295
+ export type PreparedAgentWorkspace = Message<"gestalt.provider.v1.PreparedAgentWorkspace"> & {
296
+ /**
297
+ * @generated from field: string root = 1;
298
+ */
299
+ root: string;
300
+
301
+ /**
302
+ * @generated from field: string cwd = 2;
303
+ */
304
+ cwd: string;
305
+ };
306
+
307
+ /**
308
+ * Describes the message gestalt.provider.v1.PreparedAgentWorkspace.
309
+ * Use `create(PreparedAgentWorkspaceSchema)` to create a new message.
310
+ */
311
+ export const PreparedAgentWorkspaceSchema: GenMessage<PreparedAgentWorkspace> = /*@__PURE__*/
312
+ messageDesc(file_v1_agent, 9);
313
+
243
314
  /**
244
315
  * @generated from message gestalt.provider.v1.ResolvedAgentTool
245
316
  */
@@ -270,7 +341,7 @@ export type ResolvedAgentTool = Message<"gestalt.provider.v1.ResolvedAgentTool">
270
341
  * Use `create(ResolvedAgentToolSchema)` to create a new message.
271
342
  */
272
343
  export const ResolvedAgentToolSchema: GenMessage<ResolvedAgentTool> = /*@__PURE__*/
273
- messageDesc(file_v1_agent, 7);
344
+ messageDesc(file_v1_agent, 10);
274
345
 
275
346
  /**
276
347
  * @generated from message gestalt.provider.v1.AgentToolRef
@@ -317,7 +388,7 @@ export type AgentToolRef = Message<"gestalt.provider.v1.AgentToolRef"> & {
317
388
  * Use `create(AgentToolRefSchema)` to create a new message.
318
389
  */
319
390
  export const AgentToolRefSchema: GenMessage<AgentToolRef> = /*@__PURE__*/
320
- messageDesc(file_v1_agent, 8);
391
+ messageDesc(file_v1_agent, 11);
321
392
 
322
393
  /**
323
394
  * @generated from message gestalt.provider.v1.AgentProviderCapabilities
@@ -371,6 +442,16 @@ export type AgentProviderCapabilities = Message<"gestalt.provider.v1.AgentProvid
371
442
  * @generated from field: repeated gestalt.provider.v1.AgentToolSourceMode supported_tool_sources = 10;
372
443
  */
373
444
  supportedToolSources: AgentToolSourceMode[];
445
+
446
+ /**
447
+ * @generated from field: bool supports_session_start = 11;
448
+ */
449
+ supportsSessionStart: boolean;
450
+
451
+ /**
452
+ * @generated from field: bool supports_prepared_workspace = 12;
453
+ */
454
+ supportsPreparedWorkspace: boolean;
374
455
  };
375
456
 
376
457
  /**
@@ -378,7 +459,7 @@ export type AgentProviderCapabilities = Message<"gestalt.provider.v1.AgentProvid
378
459
  * Use `create(AgentProviderCapabilitiesSchema)` to create a new message.
379
460
  */
380
461
  export const AgentProviderCapabilitiesSchema: GenMessage<AgentProviderCapabilities> = /*@__PURE__*/
381
- messageDesc(file_v1_agent, 9);
462
+ messageDesc(file_v1_agent, 12);
382
463
 
383
464
  /**
384
465
  * @generated from message gestalt.provider.v1.GetAgentProviderCapabilitiesRequest
@@ -391,7 +472,7 @@ export type GetAgentProviderCapabilitiesRequest = Message<"gestalt.provider.v1.G
391
472
  * Use `create(GetAgentProviderCapabilitiesRequestSchema)` to create a new message.
392
473
  */
393
474
  export const GetAgentProviderCapabilitiesRequestSchema: GenMessage<GetAgentProviderCapabilitiesRequest> = /*@__PURE__*/
394
- messageDesc(file_v1_agent, 10);
475
+ messageDesc(file_v1_agent, 13);
395
476
 
396
477
  /**
397
478
  * @generated from message gestalt.provider.v1.AgentInteraction
@@ -458,7 +539,7 @@ export type AgentInteraction = Message<"gestalt.provider.v1.AgentInteraction"> &
458
539
  * Use `create(AgentInteractionSchema)` to create a new message.
459
540
  */
460
541
  export const AgentInteractionSchema: GenMessage<AgentInteraction> = /*@__PURE__*/
461
- messageDesc(file_v1_agent, 11);
542
+ messageDesc(file_v1_agent, 14);
462
543
 
463
544
  /**
464
545
  * @generated from message gestalt.provider.v1.AgentSession
@@ -520,7 +601,7 @@ export type AgentSession = Message<"gestalt.provider.v1.AgentSession"> & {
520
601
  * Use `create(AgentSessionSchema)` to create a new message.
521
602
  */
522
603
  export const AgentSessionSchema: GenMessage<AgentSession> = /*@__PURE__*/
523
- messageDesc(file_v1_agent, 12);
604
+ messageDesc(file_v1_agent, 15);
524
605
 
525
606
  /**
526
607
  * @generated from message gestalt.provider.v1.CreateAgentProviderSessionRequest
@@ -551,11 +632,6 @@ export type CreateAgentProviderSessionRequest = Message<"gestalt.provider.v1.Cre
551
632
  */
552
633
  metadata?: JsonObject | undefined;
553
634
 
554
- /**
555
- * @generated from field: google.protobuf.Struct provider_options = 6;
556
- */
557
- providerOptions?: JsonObject | undefined;
558
-
559
635
  /**
560
636
  * @generated from field: gestalt.provider.v1.AgentActor created_by = 7;
561
637
  */
@@ -565,6 +641,16 @@ export type CreateAgentProviderSessionRequest = Message<"gestalt.provider.v1.Cre
565
641
  * @generated from field: gestalt.provider.v1.AgentSubjectContext subject = 8;
566
642
  */
567
643
  subject?: AgentSubjectContext | undefined;
644
+
645
+ /**
646
+ * @generated from field: gestalt.provider.v1.AgentSessionStartConfig session_start = 9;
647
+ */
648
+ sessionStart?: AgentSessionStartConfig | undefined;
649
+
650
+ /**
651
+ * @generated from field: gestalt.provider.v1.PreparedAgentWorkspace prepared_workspace = 10;
652
+ */
653
+ preparedWorkspace?: PreparedAgentWorkspace | undefined;
568
654
  };
569
655
 
570
656
  /**
@@ -572,7 +658,93 @@ export type CreateAgentProviderSessionRequest = Message<"gestalt.provider.v1.Cre
572
658
  * Use `create(CreateAgentProviderSessionRequestSchema)` to create a new message.
573
659
  */
574
660
  export const CreateAgentProviderSessionRequestSchema: GenMessage<CreateAgentProviderSessionRequest> = /*@__PURE__*/
575
- messageDesc(file_v1_agent, 13);
661
+ messageDesc(file_v1_agent, 16);
662
+
663
+ /**
664
+ * @generated from message gestalt.provider.v1.AgentSessionStartConfig
665
+ */
666
+ export type AgentSessionStartConfig = Message<"gestalt.provider.v1.AgentSessionStartConfig"> & {
667
+ /**
668
+ * @generated from field: repeated gestalt.provider.v1.AgentSessionStartHook hooks = 1;
669
+ */
670
+ hooks: AgentSessionStartHook[];
671
+ };
672
+
673
+ /**
674
+ * Describes the message gestalt.provider.v1.AgentSessionStartConfig.
675
+ * Use `create(AgentSessionStartConfigSchema)` to create a new message.
676
+ */
677
+ export const AgentSessionStartConfigSchema: GenMessage<AgentSessionStartConfig> = /*@__PURE__*/
678
+ messageDesc(file_v1_agent, 17);
679
+
680
+ /**
681
+ * @generated from message gestalt.provider.v1.AgentSessionStartHook
682
+ */
683
+ export type AgentSessionStartHook = Message<"gestalt.provider.v1.AgentSessionStartHook"> & {
684
+ /**
685
+ * @generated from field: string id = 1;
686
+ */
687
+ id: string;
688
+
689
+ /**
690
+ * @generated from field: string type = 2;
691
+ */
692
+ type: string;
693
+
694
+ /**
695
+ * @generated from field: repeated string command = 3;
696
+ */
697
+ command: string[];
698
+
699
+ /**
700
+ * @generated from field: string cwd = 4;
701
+ */
702
+ cwd: string;
703
+
704
+ /**
705
+ * @generated from field: string timeout = 5;
706
+ */
707
+ timeout: string;
708
+
709
+ /**
710
+ * @generated from field: map<string, string> env = 6;
711
+ */
712
+ env: { [key: string]: string };
713
+
714
+ /**
715
+ * @generated from field: gestalt.provider.v1.AgentSessionStartHookOutput output = 7;
716
+ */
717
+ output?: AgentSessionStartHookOutput | undefined;
718
+ };
719
+
720
+ /**
721
+ * Describes the message gestalt.provider.v1.AgentSessionStartHook.
722
+ * Use `create(AgentSessionStartHookSchema)` to create a new message.
723
+ */
724
+ export const AgentSessionStartHookSchema: GenMessage<AgentSessionStartHook> = /*@__PURE__*/
725
+ messageDesc(file_v1_agent, 18);
726
+
727
+ /**
728
+ * @generated from message gestalt.provider.v1.AgentSessionStartHookOutput
729
+ */
730
+ export type AgentSessionStartHookOutput = Message<"gestalt.provider.v1.AgentSessionStartHookOutput"> & {
731
+ /**
732
+ * @generated from field: bool additional_context = 1;
733
+ */
734
+ additionalContext: boolean;
735
+
736
+ /**
737
+ * @generated from field: bool metadata = 2;
738
+ */
739
+ metadata: boolean;
740
+ };
741
+
742
+ /**
743
+ * Describes the message gestalt.provider.v1.AgentSessionStartHookOutput.
744
+ * Use `create(AgentSessionStartHookOutputSchema)` to create a new message.
745
+ */
746
+ export const AgentSessionStartHookOutputSchema: GenMessage<AgentSessionStartHookOutput> = /*@__PURE__*/
747
+ messageDesc(file_v1_agent, 19);
576
748
 
577
749
  /**
578
750
  * @generated from message gestalt.provider.v1.GetAgentProviderSessionRequest
@@ -594,7 +766,7 @@ export type GetAgentProviderSessionRequest = Message<"gestalt.provider.v1.GetAge
594
766
  * Use `create(GetAgentProviderSessionRequestSchema)` to create a new message.
595
767
  */
596
768
  export const GetAgentProviderSessionRequestSchema: GenMessage<GetAgentProviderSessionRequest> = /*@__PURE__*/
597
- messageDesc(file_v1_agent, 14);
769
+ messageDesc(file_v1_agent, 20);
598
770
 
599
771
  /**
600
772
  * @generated from message gestalt.provider.v1.ListAgentProviderSessionsRequest
@@ -637,7 +809,7 @@ export type ListAgentProviderSessionsRequest = Message<"gestalt.provider.v1.List
637
809
  * Use `create(ListAgentProviderSessionsRequestSchema)` to create a new message.
638
810
  */
639
811
  export const ListAgentProviderSessionsRequestSchema: GenMessage<ListAgentProviderSessionsRequest> = /*@__PURE__*/
640
- messageDesc(file_v1_agent, 15);
812
+ messageDesc(file_v1_agent, 21);
641
813
 
642
814
  /**
643
815
  * @generated from message gestalt.provider.v1.ListAgentProviderSessionsResponse
@@ -654,7 +826,7 @@ export type ListAgentProviderSessionsResponse = Message<"gestalt.provider.v1.Lis
654
826
  * Use `create(ListAgentProviderSessionsResponseSchema)` to create a new message.
655
827
  */
656
828
  export const ListAgentProviderSessionsResponseSchema: GenMessage<ListAgentProviderSessionsResponse> = /*@__PURE__*/
657
- messageDesc(file_v1_agent, 16);
829
+ messageDesc(file_v1_agent, 22);
658
830
 
659
831
  /**
660
832
  * @generated from message gestalt.provider.v1.UpdateAgentProviderSessionRequest
@@ -691,7 +863,7 @@ export type UpdateAgentProviderSessionRequest = Message<"gestalt.provider.v1.Upd
691
863
  * Use `create(UpdateAgentProviderSessionRequestSchema)` to create a new message.
692
864
  */
693
865
  export const UpdateAgentProviderSessionRequestSchema: GenMessage<UpdateAgentProviderSessionRequest> = /*@__PURE__*/
694
- messageDesc(file_v1_agent, 17);
866
+ messageDesc(file_v1_agent, 23);
695
867
 
696
868
  /**
697
869
  * @generated from message gestalt.provider.v1.AgentTurn
@@ -773,7 +945,7 @@ export type AgentTurn = Message<"gestalt.provider.v1.AgentTurn"> & {
773
945
  * Use `create(AgentTurnSchema)` to create a new message.
774
946
  */
775
947
  export const AgentTurnSchema: GenMessage<AgentTurn> = /*@__PURE__*/
776
- messageDesc(file_v1_agent, 18);
948
+ messageDesc(file_v1_agent, 24);
777
949
 
778
950
  /**
779
951
  * @generated from message gestalt.provider.v1.AgentTurnDisplay
@@ -845,7 +1017,7 @@ export type AgentTurnDisplay = Message<"gestalt.provider.v1.AgentTurnDisplay"> &
845
1017
  * Use `create(AgentTurnDisplaySchema)` to create a new message.
846
1018
  */
847
1019
  export const AgentTurnDisplaySchema: GenMessage<AgentTurnDisplay> = /*@__PURE__*/
848
- messageDesc(file_v1_agent, 19);
1020
+ messageDesc(file_v1_agent, 25);
849
1021
 
850
1022
  /**
851
1023
  * @generated from message gestalt.provider.v1.CreateAgentProviderTurnRequest
@@ -891,11 +1063,6 @@ export type CreateAgentProviderTurnRequest = Message<"gestalt.provider.v1.Create
891
1063
  */
892
1064
  metadata?: JsonObject | undefined;
893
1065
 
894
- /**
895
- * @generated from field: google.protobuf.Struct provider_options = 9;
896
- */
897
- providerOptions?: JsonObject | undefined;
898
-
899
1066
  /**
900
1067
  * @generated from field: gestalt.provider.v1.AgentActor created_by = 10;
901
1068
  */
@@ -922,9 +1089,14 @@ export type CreateAgentProviderTurnRequest = Message<"gestalt.provider.v1.Create
922
1089
  subject?: AgentSubjectContext | undefined;
923
1090
 
924
1091
  /**
925
- * @generated from field: string tool_grant = 15;
1092
+ * @generated from field: google.protobuf.Struct model_options = 16;
926
1093
  */
927
- toolGrant: string;
1094
+ modelOptions?: JsonObject | undefined;
1095
+
1096
+ /**
1097
+ * @generated from field: string run_grant = 17;
1098
+ */
1099
+ runGrant: string;
928
1100
  };
929
1101
 
930
1102
  /**
@@ -932,7 +1104,7 @@ export type CreateAgentProviderTurnRequest = Message<"gestalt.provider.v1.Create
932
1104
  * Use `create(CreateAgentProviderTurnRequestSchema)` to create a new message.
933
1105
  */
934
1106
  export const CreateAgentProviderTurnRequestSchema: GenMessage<CreateAgentProviderTurnRequest> = /*@__PURE__*/
935
- messageDesc(file_v1_agent, 20);
1107
+ messageDesc(file_v1_agent, 26);
936
1108
 
937
1109
  /**
938
1110
  * @generated from message gestalt.provider.v1.GetAgentProviderTurnRequest
@@ -954,7 +1126,7 @@ export type GetAgentProviderTurnRequest = Message<"gestalt.provider.v1.GetAgentP
954
1126
  * Use `create(GetAgentProviderTurnRequestSchema)` to create a new message.
955
1127
  */
956
1128
  export const GetAgentProviderTurnRequestSchema: GenMessage<GetAgentProviderTurnRequest> = /*@__PURE__*/
957
- messageDesc(file_v1_agent, 21);
1129
+ messageDesc(file_v1_agent, 27);
958
1130
 
959
1131
  /**
960
1132
  * @generated from message gestalt.provider.v1.ListAgentProviderTurnsRequest
@@ -1003,7 +1175,7 @@ export type ListAgentProviderTurnsRequest = Message<"gestalt.provider.v1.ListAge
1003
1175
  * Use `create(ListAgentProviderTurnsRequestSchema)` to create a new message.
1004
1176
  */
1005
1177
  export const ListAgentProviderTurnsRequestSchema: GenMessage<ListAgentProviderTurnsRequest> = /*@__PURE__*/
1006
- messageDesc(file_v1_agent, 22);
1178
+ messageDesc(file_v1_agent, 28);
1007
1179
 
1008
1180
  /**
1009
1181
  * @generated from message gestalt.provider.v1.ListAgentProviderTurnsResponse
@@ -1020,7 +1192,7 @@ export type ListAgentProviderTurnsResponse = Message<"gestalt.provider.v1.ListAg
1020
1192
  * Use `create(ListAgentProviderTurnsResponseSchema)` to create a new message.
1021
1193
  */
1022
1194
  export const ListAgentProviderTurnsResponseSchema: GenMessage<ListAgentProviderTurnsResponse> = /*@__PURE__*/
1023
- messageDesc(file_v1_agent, 23);
1195
+ messageDesc(file_v1_agent, 29);
1024
1196
 
1025
1197
  /**
1026
1198
  * @generated from message gestalt.provider.v1.CancelAgentProviderTurnRequest
@@ -1047,7 +1219,7 @@ export type CancelAgentProviderTurnRequest = Message<"gestalt.provider.v1.Cancel
1047
1219
  * Use `create(CancelAgentProviderTurnRequestSchema)` to create a new message.
1048
1220
  */
1049
1221
  export const CancelAgentProviderTurnRequestSchema: GenMessage<CancelAgentProviderTurnRequest> = /*@__PURE__*/
1050
- messageDesc(file_v1_agent, 24);
1222
+ messageDesc(file_v1_agent, 30);
1051
1223
 
1052
1224
  /**
1053
1225
  * @generated from message gestalt.provider.v1.AgentTurnEvent
@@ -1104,7 +1276,7 @@ export type AgentTurnEvent = Message<"gestalt.provider.v1.AgentTurnEvent"> & {
1104
1276
  * Use `create(AgentTurnEventSchema)` to create a new message.
1105
1277
  */
1106
1278
  export const AgentTurnEventSchema: GenMessage<AgentTurnEvent> = /*@__PURE__*/
1107
- messageDesc(file_v1_agent, 25);
1279
+ messageDesc(file_v1_agent, 31);
1108
1280
 
1109
1281
  /**
1110
1282
  * @generated from message gestalt.provider.v1.ListAgentProviderTurnEventsRequest
@@ -1136,7 +1308,7 @@ export type ListAgentProviderTurnEventsRequest = Message<"gestalt.provider.v1.Li
1136
1308
  * Use `create(ListAgentProviderTurnEventsRequestSchema)` to create a new message.
1137
1309
  */
1138
1310
  export const ListAgentProviderTurnEventsRequestSchema: GenMessage<ListAgentProviderTurnEventsRequest> = /*@__PURE__*/
1139
- messageDesc(file_v1_agent, 26);
1311
+ messageDesc(file_v1_agent, 32);
1140
1312
 
1141
1313
  /**
1142
1314
  * @generated from message gestalt.provider.v1.ListAgentProviderTurnEventsResponse
@@ -1153,7 +1325,7 @@ export type ListAgentProviderTurnEventsResponse = Message<"gestalt.provider.v1.L
1153
1325
  * Use `create(ListAgentProviderTurnEventsResponseSchema)` to create a new message.
1154
1326
  */
1155
1327
  export const ListAgentProviderTurnEventsResponseSchema: GenMessage<ListAgentProviderTurnEventsResponse> = /*@__PURE__*/
1156
- messageDesc(file_v1_agent, 27);
1328
+ messageDesc(file_v1_agent, 33);
1157
1329
 
1158
1330
  /**
1159
1331
  * @generated from message gestalt.provider.v1.GetAgentProviderInteractionRequest
@@ -1175,7 +1347,7 @@ export type GetAgentProviderInteractionRequest = Message<"gestalt.provider.v1.Ge
1175
1347
  * Use `create(GetAgentProviderInteractionRequestSchema)` to create a new message.
1176
1348
  */
1177
1349
  export const GetAgentProviderInteractionRequestSchema: GenMessage<GetAgentProviderInteractionRequest> = /*@__PURE__*/
1178
- messageDesc(file_v1_agent, 28);
1350
+ messageDesc(file_v1_agent, 34);
1179
1351
 
1180
1352
  /**
1181
1353
  * @generated from message gestalt.provider.v1.ListAgentProviderInteractionsRequest
@@ -1197,7 +1369,7 @@ export type ListAgentProviderInteractionsRequest = Message<"gestalt.provider.v1.
1197
1369
  * Use `create(ListAgentProviderInteractionsRequestSchema)` to create a new message.
1198
1370
  */
1199
1371
  export const ListAgentProviderInteractionsRequestSchema: GenMessage<ListAgentProviderInteractionsRequest> = /*@__PURE__*/
1200
- messageDesc(file_v1_agent, 29);
1372
+ messageDesc(file_v1_agent, 35);
1201
1373
 
1202
1374
  /**
1203
1375
  * @generated from message gestalt.provider.v1.ListAgentProviderInteractionsResponse
@@ -1214,7 +1386,7 @@ export type ListAgentProviderInteractionsResponse = Message<"gestalt.provider.v1
1214
1386
  * Use `create(ListAgentProviderInteractionsResponseSchema)` to create a new message.
1215
1387
  */
1216
1388
  export const ListAgentProviderInteractionsResponseSchema: GenMessage<ListAgentProviderInteractionsResponse> = /*@__PURE__*/
1217
- messageDesc(file_v1_agent, 30);
1389
+ messageDesc(file_v1_agent, 36);
1218
1390
 
1219
1391
  /**
1220
1392
  * @generated from message gestalt.provider.v1.ResolveAgentProviderInteractionRequest
@@ -1241,7 +1413,7 @@ export type ResolveAgentProviderInteractionRequest = Message<"gestalt.provider.v
1241
1413
  * Use `create(ResolveAgentProviderInteractionRequestSchema)` to create a new message.
1242
1414
  */
1243
1415
  export const ResolveAgentProviderInteractionRequestSchema: GenMessage<ResolveAgentProviderInteractionRequest> = /*@__PURE__*/
1244
- messageDesc(file_v1_agent, 31);
1416
+ messageDesc(file_v1_agent, 37);
1245
1417
 
1246
1418
  /**
1247
1419
  * @generated from message gestalt.provider.v1.ExecuteAgentToolRequest
@@ -1273,14 +1445,14 @@ export type ExecuteAgentToolRequest = Message<"gestalt.provider.v1.ExecuteAgentT
1273
1445
  arguments?: JsonObject | undefined;
1274
1446
 
1275
1447
  /**
1276
- * @generated from field: string tool_grant = 6;
1448
+ * @generated from field: string idempotency_key = 7;
1277
1449
  */
1278
- toolGrant: string;
1450
+ idempotencyKey: string;
1279
1451
 
1280
1452
  /**
1281
- * @generated from field: string idempotency_key = 7;
1453
+ * @generated from field: string run_grant = 8;
1282
1454
  */
1283
- idempotencyKey: string;
1455
+ runGrant: string;
1284
1456
  };
1285
1457
 
1286
1458
  /**
@@ -1288,7 +1460,7 @@ export type ExecuteAgentToolRequest = Message<"gestalt.provider.v1.ExecuteAgentT
1288
1460
  * Use `create(ExecuteAgentToolRequestSchema)` to create a new message.
1289
1461
  */
1290
1462
  export const ExecuteAgentToolRequestSchema: GenMessage<ExecuteAgentToolRequest> = /*@__PURE__*/
1291
- messageDesc(file_v1_agent, 32);
1463
+ messageDesc(file_v1_agent, 38);
1292
1464
 
1293
1465
  /**
1294
1466
  * @generated from message gestalt.provider.v1.ExecuteAgentToolResponse
@@ -1310,7 +1482,7 @@ export type ExecuteAgentToolResponse = Message<"gestalt.provider.v1.ExecuteAgent
1310
1482
  * Use `create(ExecuteAgentToolResponseSchema)` to create a new message.
1311
1483
  */
1312
1484
  export const ExecuteAgentToolResponseSchema: GenMessage<ExecuteAgentToolResponse> = /*@__PURE__*/
1313
- messageDesc(file_v1_agent, 33);
1485
+ messageDesc(file_v1_agent, 39);
1314
1486
 
1315
1487
  /**
1316
1488
  * @generated from message gestalt.provider.v1.ListedAgentTool
@@ -1355,6 +1527,16 @@ export type ListedAgentTool = Message<"gestalt.provider.v1.ListedAgentTool"> & {
1355
1527
  * @generated from field: gestalt.provider.v1.AgentToolRef ref = 8;
1356
1528
  */
1357
1529
  ref?: AgentToolRef | undefined;
1530
+
1531
+ /**
1532
+ * @generated from field: repeated string tags = 9;
1533
+ */
1534
+ tags: string[];
1535
+
1536
+ /**
1537
+ * @generated from field: string search_text = 10;
1538
+ */
1539
+ searchText: string;
1358
1540
  };
1359
1541
 
1360
1542
  /**
@@ -1362,7 +1544,7 @@ export type ListedAgentTool = Message<"gestalt.provider.v1.ListedAgentTool"> & {
1362
1544
  * Use `create(ListedAgentToolSchema)` to create a new message.
1363
1545
  */
1364
1546
  export const ListedAgentToolSchema: GenMessage<ListedAgentTool> = /*@__PURE__*/
1365
- messageDesc(file_v1_agent, 34);
1547
+ messageDesc(file_v1_agent, 40);
1366
1548
 
1367
1549
  /**
1368
1550
  * @generated from message gestalt.provider.v1.ListAgentToolsRequest
@@ -1389,9 +1571,14 @@ export type ListAgentToolsRequest = Message<"gestalt.provider.v1.ListAgentToolsR
1389
1571
  pageToken: string;
1390
1572
 
1391
1573
  /**
1392
- * @generated from field: string tool_grant = 5;
1574
+ * @generated from field: string run_grant = 6;
1393
1575
  */
1394
- toolGrant: string;
1576
+ runGrant: string;
1577
+
1578
+ /**
1579
+ * @generated from field: string query = 7;
1580
+ */
1581
+ query: string;
1395
1582
  };
1396
1583
 
1397
1584
  /**
@@ -1399,7 +1586,7 @@ export type ListAgentToolsRequest = Message<"gestalt.provider.v1.ListAgentToolsR
1399
1586
  * Use `create(ListAgentToolsRequestSchema)` to create a new message.
1400
1587
  */
1401
1588
  export const ListAgentToolsRequestSchema: GenMessage<ListAgentToolsRequest> = /*@__PURE__*/
1402
- messageDesc(file_v1_agent, 35);
1589
+ messageDesc(file_v1_agent, 41);
1403
1590
 
1404
1591
  /**
1405
1592
  * @generated from message gestalt.provider.v1.ListAgentToolsResponse
@@ -1421,7 +1608,91 @@ export type ListAgentToolsResponse = Message<"gestalt.provider.v1.ListAgentTools
1421
1608
  * Use `create(ListAgentToolsResponseSchema)` to create a new message.
1422
1609
  */
1423
1610
  export const ListAgentToolsResponseSchema: GenMessage<ListAgentToolsResponse> = /*@__PURE__*/
1424
- messageDesc(file_v1_agent, 36);
1611
+ messageDesc(file_v1_agent, 42);
1612
+
1613
+ /**
1614
+ * @generated from message gestalt.provider.v1.ResolveAgentConnectionRequest
1615
+ */
1616
+ export type ResolveAgentConnectionRequest = Message<"gestalt.provider.v1.ResolveAgentConnectionRequest"> & {
1617
+ /**
1618
+ * @generated from field: string session_id = 1;
1619
+ */
1620
+ sessionId: string;
1621
+
1622
+ /**
1623
+ * @generated from field: string turn_id = 2;
1624
+ */
1625
+ turnId: string;
1626
+
1627
+ /**
1628
+ * @generated from field: string connection = 3;
1629
+ */
1630
+ connection: string;
1631
+
1632
+ /**
1633
+ * @generated from field: string instance = 4;
1634
+ */
1635
+ instance: string;
1636
+
1637
+ /**
1638
+ * @generated from field: string run_grant = 5;
1639
+ */
1640
+ runGrant: string;
1641
+ };
1642
+
1643
+ /**
1644
+ * Describes the message gestalt.provider.v1.ResolveAgentConnectionRequest.
1645
+ * Use `create(ResolveAgentConnectionRequestSchema)` to create a new message.
1646
+ */
1647
+ export const ResolveAgentConnectionRequestSchema: GenMessage<ResolveAgentConnectionRequest> = /*@__PURE__*/
1648
+ messageDesc(file_v1_agent, 43);
1649
+
1650
+ /**
1651
+ * @generated from message gestalt.provider.v1.ResolvedAgentConnection
1652
+ */
1653
+ export type ResolvedAgentConnection = Message<"gestalt.provider.v1.ResolvedAgentConnection"> & {
1654
+ /**
1655
+ * @generated from field: string connection_id = 1;
1656
+ */
1657
+ connectionId: string;
1658
+
1659
+ /**
1660
+ * @generated from field: string connection = 2;
1661
+ */
1662
+ connection: string;
1663
+
1664
+ /**
1665
+ * @generated from field: string instance = 3;
1666
+ */
1667
+ instance: string;
1668
+
1669
+ /**
1670
+ * @generated from field: string mode = 4;
1671
+ */
1672
+ mode: string;
1673
+
1674
+ /**
1675
+ * @generated from field: map<string, string> headers = 5;
1676
+ */
1677
+ headers: { [key: string]: string };
1678
+
1679
+ /**
1680
+ * @generated from field: map<string, string> params = 6;
1681
+ */
1682
+ params: { [key: string]: string };
1683
+
1684
+ /**
1685
+ * @generated from field: google.protobuf.Timestamp expires_at = 7;
1686
+ */
1687
+ expiresAt?: Timestamp | undefined;
1688
+ };
1689
+
1690
+ /**
1691
+ * Describes the message gestalt.provider.v1.ResolvedAgentConnection.
1692
+ * Use `create(ResolvedAgentConnectionSchema)` to create a new message.
1693
+ */
1694
+ export const ResolvedAgentConnectionSchema: GenMessage<ResolvedAgentConnection> = /*@__PURE__*/
1695
+ messageDesc(file_v1_agent, 44);
1425
1696
 
1426
1697
  /**
1427
1698
  * @generated from message gestalt.provider.v1.AgentManagerCreateSessionRequest
@@ -1447,11 +1718,6 @@ export type AgentManagerCreateSessionRequest = Message<"gestalt.provider.v1.Agen
1447
1718
  */
1448
1719
  metadata?: JsonObject | undefined;
1449
1720
 
1450
- /**
1451
- * @generated from field: google.protobuf.Struct provider_options = 6;
1452
- */
1453
- providerOptions?: JsonObject | undefined;
1454
-
1455
1721
  /**
1456
1722
  * @generated from field: string idempotency_key = 7;
1457
1723
  */
@@ -1461,6 +1727,11 @@ export type AgentManagerCreateSessionRequest = Message<"gestalt.provider.v1.Agen
1461
1727
  * @generated from field: string invocation_token = 8;
1462
1728
  */
1463
1729
  invocationToken: string;
1730
+
1731
+ /**
1732
+ * @generated from field: gestalt.provider.v1.AgentWorkspace workspace = 9;
1733
+ */
1734
+ workspace?: AgentWorkspace | undefined;
1464
1735
  };
1465
1736
 
1466
1737
  /**
@@ -1468,7 +1739,7 @@ export type AgentManagerCreateSessionRequest = Message<"gestalt.provider.v1.Agen
1468
1739
  * Use `create(AgentManagerCreateSessionRequestSchema)` to create a new message.
1469
1740
  */
1470
1741
  export const AgentManagerCreateSessionRequestSchema: GenMessage<AgentManagerCreateSessionRequest> = /*@__PURE__*/
1471
- messageDesc(file_v1_agent, 37);
1742
+ messageDesc(file_v1_agent, 45);
1472
1743
 
1473
1744
  /**
1474
1745
  * @generated from message gestalt.provider.v1.AgentManagerGetSessionRequest
@@ -1490,7 +1761,7 @@ export type AgentManagerGetSessionRequest = Message<"gestalt.provider.v1.AgentMa
1490
1761
  * Use `create(AgentManagerGetSessionRequestSchema)` to create a new message.
1491
1762
  */
1492
1763
  export const AgentManagerGetSessionRequestSchema: GenMessage<AgentManagerGetSessionRequest> = /*@__PURE__*/
1493
- messageDesc(file_v1_agent, 38);
1764
+ messageDesc(file_v1_agent, 46);
1494
1765
 
1495
1766
  /**
1496
1767
  * @generated from message gestalt.provider.v1.AgentManagerListSessionsRequest
@@ -1530,7 +1801,7 @@ export type AgentManagerListSessionsRequest = Message<"gestalt.provider.v1.Agent
1530
1801
  * Use `create(AgentManagerListSessionsRequestSchema)` to create a new message.
1531
1802
  */
1532
1803
  export const AgentManagerListSessionsRequestSchema: GenMessage<AgentManagerListSessionsRequest> = /*@__PURE__*/
1533
- messageDesc(file_v1_agent, 39);
1804
+ messageDesc(file_v1_agent, 47);
1534
1805
 
1535
1806
  /**
1536
1807
  * @generated from message gestalt.provider.v1.AgentManagerListSessionsResponse
@@ -1547,7 +1818,7 @@ export type AgentManagerListSessionsResponse = Message<"gestalt.provider.v1.Agen
1547
1818
  * Use `create(AgentManagerListSessionsResponseSchema)` to create a new message.
1548
1819
  */
1549
1820
  export const AgentManagerListSessionsResponseSchema: GenMessage<AgentManagerListSessionsResponse> = /*@__PURE__*/
1550
- messageDesc(file_v1_agent, 40);
1821
+ messageDesc(file_v1_agent, 48);
1551
1822
 
1552
1823
  /**
1553
1824
  * @generated from message gestalt.provider.v1.AgentManagerUpdateSessionRequest
@@ -1584,7 +1855,7 @@ export type AgentManagerUpdateSessionRequest = Message<"gestalt.provider.v1.Agen
1584
1855
  * Use `create(AgentManagerUpdateSessionRequestSchema)` to create a new message.
1585
1856
  */
1586
1857
  export const AgentManagerUpdateSessionRequestSchema: GenMessage<AgentManagerUpdateSessionRequest> = /*@__PURE__*/
1587
- messageDesc(file_v1_agent, 41);
1858
+ messageDesc(file_v1_agent, 49);
1588
1859
 
1589
1860
  /**
1590
1861
  * @generated from message gestalt.provider.v1.AgentManagerCreateTurnRequest
@@ -1625,11 +1896,6 @@ export type AgentManagerCreateTurnRequest = Message<"gestalt.provider.v1.AgentMa
1625
1896
  */
1626
1897
  metadata?: JsonObject | undefined;
1627
1898
 
1628
- /**
1629
- * @generated from field: google.protobuf.Struct provider_options = 9;
1630
- */
1631
- providerOptions?: JsonObject | undefined;
1632
-
1633
1899
  /**
1634
1900
  * @generated from field: string idempotency_key = 10;
1635
1901
  */
@@ -1639,6 +1905,11 @@ export type AgentManagerCreateTurnRequest = Message<"gestalt.provider.v1.AgentMa
1639
1905
  * @generated from field: string invocation_token = 11;
1640
1906
  */
1641
1907
  invocationToken: string;
1908
+
1909
+ /**
1910
+ * @generated from field: google.protobuf.Struct model_options = 12;
1911
+ */
1912
+ modelOptions?: JsonObject | undefined;
1642
1913
  };
1643
1914
 
1644
1915
  /**
@@ -1646,7 +1917,7 @@ export type AgentManagerCreateTurnRequest = Message<"gestalt.provider.v1.AgentMa
1646
1917
  * Use `create(AgentManagerCreateTurnRequestSchema)` to create a new message.
1647
1918
  */
1648
1919
  export const AgentManagerCreateTurnRequestSchema: GenMessage<AgentManagerCreateTurnRequest> = /*@__PURE__*/
1649
- messageDesc(file_v1_agent, 42);
1920
+ messageDesc(file_v1_agent, 50);
1650
1921
 
1651
1922
  /**
1652
1923
  * @generated from message gestalt.provider.v1.AgentManagerGetTurnRequest
@@ -1668,7 +1939,7 @@ export type AgentManagerGetTurnRequest = Message<"gestalt.provider.v1.AgentManag
1668
1939
  * Use `create(AgentManagerGetTurnRequestSchema)` to create a new message.
1669
1940
  */
1670
1941
  export const AgentManagerGetTurnRequestSchema: GenMessage<AgentManagerGetTurnRequest> = /*@__PURE__*/
1671
- messageDesc(file_v1_agent, 43);
1942
+ messageDesc(file_v1_agent, 51);
1672
1943
 
1673
1944
  /**
1674
1945
  * @generated from message gestalt.provider.v1.AgentManagerListTurnsRequest
@@ -1705,7 +1976,7 @@ export type AgentManagerListTurnsRequest = Message<"gestalt.provider.v1.AgentMan
1705
1976
  * Use `create(AgentManagerListTurnsRequestSchema)` to create a new message.
1706
1977
  */
1707
1978
  export const AgentManagerListTurnsRequestSchema: GenMessage<AgentManagerListTurnsRequest> = /*@__PURE__*/
1708
- messageDesc(file_v1_agent, 44);
1979
+ messageDesc(file_v1_agent, 52);
1709
1980
 
1710
1981
  /**
1711
1982
  * @generated from message gestalt.provider.v1.AgentManagerListTurnsResponse
@@ -1722,7 +1993,7 @@ export type AgentManagerListTurnsResponse = Message<"gestalt.provider.v1.AgentMa
1722
1993
  * Use `create(AgentManagerListTurnsResponseSchema)` to create a new message.
1723
1994
  */
1724
1995
  export const AgentManagerListTurnsResponseSchema: GenMessage<AgentManagerListTurnsResponse> = /*@__PURE__*/
1725
- messageDesc(file_v1_agent, 45);
1996
+ messageDesc(file_v1_agent, 53);
1726
1997
 
1727
1998
  /**
1728
1999
  * @generated from message gestalt.provider.v1.AgentManagerCancelTurnRequest
@@ -1749,7 +2020,7 @@ export type AgentManagerCancelTurnRequest = Message<"gestalt.provider.v1.AgentMa
1749
2020
  * Use `create(AgentManagerCancelTurnRequestSchema)` to create a new message.
1750
2021
  */
1751
2022
  export const AgentManagerCancelTurnRequestSchema: GenMessage<AgentManagerCancelTurnRequest> = /*@__PURE__*/
1752
- messageDesc(file_v1_agent, 46);
2023
+ messageDesc(file_v1_agent, 54);
1753
2024
 
1754
2025
  /**
1755
2026
  * @generated from message gestalt.provider.v1.AgentManagerListTurnEventsRequest
@@ -1781,7 +2052,7 @@ export type AgentManagerListTurnEventsRequest = Message<"gestalt.provider.v1.Age
1781
2052
  * Use `create(AgentManagerListTurnEventsRequestSchema)` to create a new message.
1782
2053
  */
1783
2054
  export const AgentManagerListTurnEventsRequestSchema: GenMessage<AgentManagerListTurnEventsRequest> = /*@__PURE__*/
1784
- messageDesc(file_v1_agent, 47);
2055
+ messageDesc(file_v1_agent, 55);
1785
2056
 
1786
2057
  /**
1787
2058
  * @generated from message gestalt.provider.v1.AgentManagerListTurnEventsResponse
@@ -1798,7 +2069,7 @@ export type AgentManagerListTurnEventsResponse = Message<"gestalt.provider.v1.Ag
1798
2069
  * Use `create(AgentManagerListTurnEventsResponseSchema)` to create a new message.
1799
2070
  */
1800
2071
  export const AgentManagerListTurnEventsResponseSchema: GenMessage<AgentManagerListTurnEventsResponse> = /*@__PURE__*/
1801
- messageDesc(file_v1_agent, 48);
2072
+ messageDesc(file_v1_agent, 56);
1802
2073
 
1803
2074
  /**
1804
2075
  * @generated from message gestalt.provider.v1.AgentManagerListInteractionsRequest
@@ -1820,7 +2091,7 @@ export type AgentManagerListInteractionsRequest = Message<"gestalt.provider.v1.A
1820
2091
  * Use `create(AgentManagerListInteractionsRequestSchema)` to create a new message.
1821
2092
  */
1822
2093
  export const AgentManagerListInteractionsRequestSchema: GenMessage<AgentManagerListInteractionsRequest> = /*@__PURE__*/
1823
- messageDesc(file_v1_agent, 49);
2094
+ messageDesc(file_v1_agent, 57);
1824
2095
 
1825
2096
  /**
1826
2097
  * @generated from message gestalt.provider.v1.AgentManagerListInteractionsResponse
@@ -1837,7 +2108,7 @@ export type AgentManagerListInteractionsResponse = Message<"gestalt.provider.v1.
1837
2108
  * Use `create(AgentManagerListInteractionsResponseSchema)` to create a new message.
1838
2109
  */
1839
2110
  export const AgentManagerListInteractionsResponseSchema: GenMessage<AgentManagerListInteractionsResponse> = /*@__PURE__*/
1840
- messageDesc(file_v1_agent, 50);
2111
+ messageDesc(file_v1_agent, 58);
1841
2112
 
1842
2113
  /**
1843
2114
  * @generated from message gestalt.provider.v1.AgentManagerResolveInteractionRequest
@@ -1869,7 +2140,7 @@ export type AgentManagerResolveInteractionRequest = Message<"gestalt.provider.v1
1869
2140
  * Use `create(AgentManagerResolveInteractionRequestSchema)` to create a new message.
1870
2141
  */
1871
2142
  export const AgentManagerResolveInteractionRequestSchema: GenMessage<AgentManagerResolveInteractionRequest> = /*@__PURE__*/
1872
- messageDesc(file_v1_agent, 51);
2143
+ messageDesc(file_v1_agent, 59);
1873
2144
 
1874
2145
  /**
1875
2146
  * @generated from enum gestalt.provider.v1.AgentMessagePartType
@@ -2198,6 +2469,14 @@ export const AgentHost: GenService<{
2198
2469
  input: typeof ExecuteAgentToolRequestSchema;
2199
2470
  output: typeof ExecuteAgentToolResponseSchema;
2200
2471
  },
2472
+ /**
2473
+ * @generated from rpc gestalt.provider.v1.AgentHost.ResolveConnection
2474
+ */
2475
+ resolveConnection: {
2476
+ methodKind: "unary";
2477
+ input: typeof ResolveAgentConnectionRequestSchema;
2478
+ output: typeof ResolvedAgentConnectionSchema;
2479
+ },
2201
2480
  }> = /*@__PURE__*/
2202
2481
  serviceDesc(file_v1_agent, 1);
2203
2482