@opsee/mcp-server 0.11.5 → 0.11.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/opsee-mcp.js +0 -0
- package/gen/api/v1/initiative_pb.d.ts +822 -1
- package/gen/api/v1/initiative_pb.js +142 -2
- package/gen/api/v1/readiness_pb.d.ts +65 -0
- package/gen/api/v1/readiness_pb.js +37 -29
- package/package.json +1 -1
- package/src/auth/renew.ts +14 -8
- package/src/client/api.ts +49 -42
- package/src/client/marker.ts +17 -0
- package/src/server.ts +2 -0
- package/src/tools/foreman.ts +371 -0
- package/src/utils/defect.ts +264 -0
- package/src/utils/format/index.ts +1 -0
- package/src/utils/format/initiative.ts +16 -1
- package/src/utils/format/run-record.ts +302 -0
- package/src/utils/text.ts +25 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
|
|
5
5
|
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
|
|
6
|
-
import { file_google_protobuf_empty } from "@bufbuild/protobuf/wkt";
|
|
6
|
+
import { file_google_protobuf_empty, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
7
7
|
import { file_google_api_annotations } from "../../google/api/annotations_pb";
|
|
8
8
|
import { file_validate_validate } from "../../validate/validate_pb";
|
|
9
9
|
import { file_api_v1_pagination } from "./pagination_pb";
|
|
@@ -15,7 +15,7 @@ import { file_fk_foreign_key } from "../../fk/foreign_key_pb";
|
|
|
15
15
|
* Describes the file api/v1/initiative.proto.
|
|
16
16
|
*/
|
|
17
17
|
export const file_api_v1_initiative = /*@__PURE__*/
|
|
18
|
-
fileDesc("ChdhcGkvdjEvaW5pdGlhdGl2ZS5wcm90bxIGYXBpLnYxIuYCChRBZGRJbml0aWF0aXZlUmVxdWVzdBIZCgV0aXRsZRgBIAEoCUIK+kIHcgUQARjIARIUCgdzdW1tYXJ5GAIgASgJSACIAQESQgoGc3RhdHVzGAMgASgJQjL6Qi9yLVIFZHJhZnRSBmFjdGl2ZVIGcGF1c2VkUgljb21wbGV0ZWRSCWFiYW5kb25lZBInCgpwcm9qZWN0X2lkGAQgASgNQhP6QgQqAigBgrUYCHByb2plY3RzEjgKC2FuY2hvcl90eXBlGAUgASgJQiP6QiByHlIEbm9uZVIEdGFza1IJbWlsZXN0b25lUgVjeWNsZRIWCglhbmNob3JfaWQYBiABKA1IAYgBARIWCgljb3JlX2lkZWEYByABKAlIAogBARIeChZjb3JlX2lkZWFfY29udGVudF90eXBlGAggASgJQgoKCF9zdW1tYXJ5QgwKCl9hbmNob3JfaWRCDAoKX2NvcmVfaWRlYSLzAgoVRWRpdEluaXRpYXRpdmVSZXF1ZXN0EhMKAmlkGAEgASgNQgf6QgQqAigBEhkKBXRpdGxlGAIgASgJQgr6QgdyBRABGMgBEhQKB3N1bW1hcnkYAyABKAlIAIgBARJCCgZzdGF0dXMYBCABKAlCMvpCL3ItUgVkcmFmdFIGYWN0aXZlUgZwYXVzZWRSCWNvbXBsZXRlZFIJYWJhbmRvbmVkEjgKC2FuY2hvcl90eXBlGAUgASgJQiP6QiByHlIEbm9uZVIEdGFza1IJbWlsZXN0b25lUgVjeWNsZRIWCglhbmNob3JfaWQYBiABKA1IAYgBARIWCgljb3JlX2lkZWEYByABKAlIAogBARIjChZjb3JlX2lkZWFfY29udGVudF90eXBlGAggASgJSAOIAQFCCgoIX3N1bW1hcnlCDAoKX2FuY2hvcl9pZEIMCgpfY29yZV9pZGVhQhkKF19jb3JlX2lkZWFfY29udGVudF90eXBlIiIKFEdldEluaXRpYXRpdmVSZXF1ZXN0EgoKAmlkGAEgASgNIjQKGkdldEluaXRpYXRpdmVCeVVVSURSZXF1ZXN0EhYKBHV1aWQYASABKAlCCPpCBXIDsAEBIpUBChVHZXRJbml0aWF0aXZlc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARIwCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb25CCPpCBYoBAhABEi0KDmZpbHRlcl9vcHRpb25zGAMgASgLMhUuYXBpLnYxLkZpbHRlck9wdGlvbnMiJQoXRGVsZXRlSW5pdGlhdGl2ZVJlcXVlc3QSCgoCaWQYASABKA0iPwoVQWRkSW5pdGlhdGl2ZVJlc3BvbnNlEiYKCmluaXRpYXRpdmUYASABKAsyEi5hcGkudjEuSW5pdGlhdGl2ZSJAChZFZGl0SW5pdGlhdGl2ZVJlc3BvbnNlEiYKCmluaXRpYXRpdmUYASABKAsyEi5hcGkudjEuSW5pdGlhdGl2ZSI/ChVHZXRJbml0aWF0aXZlUmVzcG9uc2USJgoKaW5pdGlhdGl2ZRgBIAEoCzISLmFwaS52MS5Jbml0aWF0aXZlImkKFkdldEluaXRpYXRpdmVzUmVzcG9uc2USJwoLaW5pdGlhdGl2ZXMYASADKAsyEi5hcGkudjEuSW5pdGlhdGl2ZRImCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb24iTQoTSW5pdGlhdGl2ZUdyYXBoRWRnZRIUCgxmcm9tX3Rhc2tfaWQYASABKA0SEgoKdG9fdGFza19pZBgCIAEoDRIMCgR0eXBlGAMgASgJIjIKD0luaXRpYXRpdmVTbGljZRINCgVsYXllchgBIAEoBRIQCgh0YXNrX2lkcxgCIAMoDSKDAQoPSW5pdGlhdGl2ZUdyYXBoEhsKBXRhc2tzGAEgAygLMgwuYXBpLnYxLlRhc2sSKgoFZWRnZXMYAiADKAsyGy5hcGkudjEuSW5pdGlhdGl2ZUdyYXBoRWRnZRInCgZzbGljZXMYAyADKAsyFy5hcGkudjEuSW5pdGlhdGl2ZVNsaWNlIooDChRJbml0aWF0aXZlQ29zdFJvbGx1cBIVCg10b3RhbF9jcmVkaXRzGAEgASgDEhEKCXJ1bl9jb3VudBgCIAEoBRIbChNjb21wbGV0ZWRfcnVuX2NvdW50GAMgASgFEhgKEGZhaWxlZF9ydW5fY291bnQYBCABKAUSLgoKdGFza19jb3N0cxgFIAMoCzIaLmFwaS52MS5Jbml0aWF0aXZlVGFza0Nvc3QSMAoLc3RhZ2VfY29zdHMYBiADKAsyGy5hcGkudjEuSW5pdGlhdGl2ZVN0YWdlQ29zdBIwCgttb2RlbF9jb3N0cxgHIAMoCzIbLmFwaS52MS5Jbml0aWF0aXZlTW9kZWxDb3N0EhoKEnRvdGFsX2lucHV0X3Rva2VucxgIIAEoAxIbChN0b3RhbF9vdXRwdXRfdG9rZW5zGAkgASgDEh8KF3RvdGFsX2NhY2hlX3JlYWRfdG9rZW5zGAogASgDEiMKG3RvdGFsX2NhY2hlX2NyZWF0aW9uX3Rva2VucxgLIAEoAyJJChJJbml0aWF0aXZlVGFza0Nvc3QSDwoHdGFza19pZBgBIAEoDRIPCgdjcmVkaXRzGAIgASgDEhEKCXJ1bl9jb3VudBgDIAEoBSI1ChNJbml0aWF0aXZlU3RhZ2VDb3N0Eg0KBXN0YWdlGAEgASgJEg8KB2NyZWRpdHMYAiABKAMinAEKE0luaXRpYXRpdmVNb2RlbENvc3QSDQoFbW9kZWwYASABKAkSDwoHY3JlZGl0cxgCIAEoAxIUCgxpbnB1dF90b2tlbnMYAyABKAMSFQoNb3V0cHV0X3Rva2VucxgEIAEoAxIZChFjYWNoZV9yZWFkX3Rva2VucxgFIAEoAxIdChVjYWNoZV9jcmVhdGlvbl90b2tlbnMYBiABKAMiOwoZR2V0SW5pdGlhdGl2ZUdyYXBoUmVxdWVzdBIeCg1pbml0aWF0aXZlX2lkGAEgASgNQgf6QgQqAigBIkQKGkdldEluaXRpYXRpdmVHcmFwaFJlc3BvbnNlEiYKBWdyYXBoGAEgASgLMhcuYXBpLnYxLkluaXRpYXRpdmVHcmFwaCJTChtHZXRJbml0aWF0aXZlQ29udGV4dFJlcXVlc3QSHgoNaW5pdGlhdGl2ZV9pZBgBIAEoDUIH+kIEKgIoARIUCgxtZW1vcnlfbGltaXQYAiABKA0ipAIKHEdldEluaXRpYXRpdmVDb250ZXh0UmVzcG9uc2USJgoKaW5pdGlhdGl2ZRgBIAEoCzISLmFwaS52MS5Jbml0aWF0aXZlEiYKBWdyYXBoGAIgASgLMhcuYXBpLnYxLkluaXRpYXRpdmVHcmFwaBI1Cg5tZW1vcnlfZW50cmllcxgDIAMoCzIdLmFwaS52MS5Jbml0aWF0aXZlTWVtb3J5RW50cnkSLgoNcHVsbF9yZXF1ZXN0cxgEIAMoCzIXLmFwaS52MS5UYXNrUHVsbFJlcXVlc3QSIQoIY29tbWVudHMYBSADKAsyDy5hcGkudjEuQ29tbWVudBIqCgRjb3N0GAYgASgLMhwuYXBpLnYxLkluaXRpYXRpdmVDb3N0Um9sbHVwItgCCh9BZGRJbml0aWF0aXZlTWVtb3J5RW50cnlSZXF1ZXN0Eh4KDWluaXRpYXRpdmVfaWQYASABKA1CB/pCBCoCKAESQgoEa2luZBgCIAEoCUI0+kIxci9SCGRlY2lzaW9uUgdvdXRjb21lUghsZWFybmluZ1IHYmxvY2tlclIHY29udGV4dBIVCgRib2R5GAMgASgJQgf6QgRyAhABEicKDGNvbnRlbnRfdHlwZRgEIAEoCUIR+kIOcgxSBHRleHRSBGpzb24SQwoLc291cmNlX3R5cGUYBSABKAlCLvpCK3IpUgRub25lUgR0YXNrUgxwdWxsX3JlcXVlc3RSA2RvY1IId29ya2Zsb3cSFgoJc291cmNlX2lkGAYgASgNSACIAQESFwoKc291cmNlX3VybBgHIAEoCUgBiAEBQgwKCl9zb3VyY2VfaWRCDQoLX3NvdXJjZV91cmwiVwogQWRkSW5pdGlhdGl2ZU1lbW9yeUVudHJ5UmVzcG9uc2USMwoMbWVtb3J5X2VudHJ5GAEgASgLMh0uYXBpLnYxLkluaXRpYXRpdmVNZW1vcnlFbnRyeSK4AQoaR2V0SW5pdGlhdGl2ZU1lbW9yeVJlcXVlc3QSHgoNaW5pdGlhdGl2ZV9pZBgBIAEoDUIH+kIEKgIoARIwCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb25CCPpCBYoBAhABEg0KBWtpbmRzGAMgAygJEhMKC3NvdXJjZV90eXBlGAQgASgJEhYKCXNvdXJjZV9pZBgFIAEoDUgAiAEBQgwKCl9zb3VyY2VfaWQifAobR2V0SW5pdGlhdGl2ZU1lbW9yeVJlc3BvbnNlEjUKDm1lbW9yeV9lbnRyaWVzGAEgAygLMh0uYXBpLnYxLkluaXRpYXRpdmVNZW1vcnlFbnRyeRImCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb24i3QIKEkRlY29tcG9zZVRhc2tJbnB1dBIUCgNyZWYYASABKAlCB/pCBHICEAESGQoFdGl0bGUYAiABKAlCCvpCB3IFEAEY/wESGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARIXCgpwYXJlbnRfcmVmGAQgASgJSAGIAQESGQoMdGFza190eXBlX2lkGAUgASgNSAKIAQESHQoQdGFza19wcmlvcml0eV9pZBgGIAEoDUgDiAEBEhwKD2JvYXJkX2NvbHVtbl9pZBgHIAEoDUgEiAEBEh0KEGV4aXN0aW5nX3Rhc2tfaWQYCCABKA1IBYgBAUIOCgxfZGVzY3JpcHRpb25CDQoLX3BhcmVudF9yZWZCDwoNX3Rhc2tfdHlwZV9pZEITChFfdGFza19wcmlvcml0eV9pZEISChBfYm9hcmRfY29sdW1uX2lkQhMKEV9leGlzdGluZ190YXNrX2lkIokBChJEZWNvbXBvc2VFZGdlSW5wdXQSGQoIZnJvbV9yZWYYASABKAlCB/pCBHICEAESFwoGdG9fcmVmGAIgASgJQgf6QgRyAhABEj8KBHR5cGUYAyABKAlCMfpCLnIsUgZibG9ja3NSCmJsb2NrZWRfYnlSCmR1cGxpY2F0ZXNSCnJlbGF0ZXNfdG8inAEKGkRlY29tcG9zZUluaXRpYXRpdmVSZXF1ZXN0Eh4KDWluaXRpYXRpdmVfaWQYASABKA1CB/pCBCoCKAESMwoFdGFza3MYAiADKAsyGi5hcGkudjEuRGVjb21wb3NlVGFza0lucHV0Qgj6QgWSAQIIARIpCgVlZGdlcxgDIAMoCzIaLmFwaS52MS5EZWNvbXBvc2VFZGdlSW5wdXQiagobRGVjb21wb3NlSW5pdGlhdGl2ZVJlc3BvbnNlEiMKDWNyZWF0ZWRfdGFza3MYASADKAsyDC5hcGkudjEuVGFzaxImCgVncmFwaBgCIAEoCzIXLmFwaS52MS5Jbml0aWF0aXZlR3JhcGgiWQoTUmVjb25jaWxlVGFza0NoYW5nZRIPCgd0YXNrX2lkGAEgASgNEhIKCmlkZW50aWZpZXIYAiABKAkSDQoFdGl0bGUYAyABKAkSDgoGcmVhc29uGAQgASgJIqoCChJSZWNvbmNpbGVDaGFuZ2VzZXQSKgoFYWRkZWQYASADKAsyGy5hcGkudjEuUmVjb25jaWxlVGFza0NoYW5nZRIsCgdyZW1vdmVkGAIgAygLMhsuYXBpLnYxLlJlY29uY2lsZVRhc2tDaGFuZ2USLAoHZmxhZ2dlZBgDIAMoCzIbLmFwaS52MS5SZWNvbmNpbGVUYXNrQ2hhbmdlEjAKC2VkZ2VzX2FkZGVkGAQgAygLMhsuYXBpLnYxLkluaXRpYXRpdmVHcmFwaEVkZ2USMgoNZWRnZXNfcmVtb3ZlZBgFIAMoCzIbLmFwaS52MS5Jbml0aWF0aXZlR3JhcGhFZGdlEiYKBWdyYXBoGAYgASgLMhcuYXBpLnYxLkluaXRpYXRpdmVHcmFwaCKtAQoaUmVjb25jaWxlSW5pdGlhdGl2ZVJlcXVlc3QSHgoNaW5pdGlhdGl2ZV9pZBgBIAEoDUIH+kIEKgIoARIzCgV0YXNrcxgCIAMoCzIaLmFwaS52MS5EZWNvbXBvc2VUYXNrSW5wdXRCCPpCBZIBAggBEikKBWVkZ2VzGAMgAygLMhouYXBpLnYxLkRlY29tcG9zZUVkZ2VJbnB1dBIPCgdkcnlfcnVuGAQgASgIIkwKG1JlY29uY2lsZUluaXRpYXRpdmVSZXNwb25zZRItCgljaGFuZ2VzZXQYASABKAsyGi5hcGkudjEuUmVjb25jaWxlQ2hhbmdlc2V0MuQMChFJbml0aWF0aXZlU2VydmljZRJsCg1BZGRJbml0aWF0aXZlEhwuYXBpLnYxLkFkZEluaXRpYXRpdmVSZXF1ZXN0Gh0uYXBpLnYxLkFkZEluaXRpYXRpdmVSZXNwb25zZSIegtPkkwIYOgEqIhMvYXBpL3YxL2luaXRpYXRpdmVzEnQKDkVkaXRJbml0aWF0aXZlEh0uYXBpLnYxLkVkaXRJbml0aWF0aXZlUmVxdWVzdBoeLmFwaS52MS5FZGl0SW5pdGlhdGl2ZVJlc3BvbnNlIiOC0+STAh06ASoaGC9hcGkvdjEvaW5pdGlhdGl2ZXMve2lkfRJuCg1HZXRJbml0aWF0aXZlEhwuYXBpLnYxLkdldEluaXRpYXRpdmVSZXF1ZXN0Gh0uYXBpLnYxLkdldEluaXRpYXRpdmVSZXNwb25zZSIggtPkkwIaEhgvYXBpL3YxL2luaXRpYXRpdmVzL3tpZH0SgQEKE0dldEluaXRpYXRpdmVCeVVVSUQSIi5hcGkudjEuR2V0SW5pdGlhdGl2ZUJ5VVVJRFJlcXVlc3QaHS5hcGkudjEuR2V0SW5pdGlhdGl2ZVJlc3BvbnNlIieC0+STAiESHy9hcGkvdjEvaW5pdGlhdGl2ZXMvdXVpZC97dXVpZH0SbAoOR2V0SW5pdGlhdGl2ZXMSHS5hcGkudjEuR2V0SW5pdGlhdGl2ZXNSZXF1ZXN0Gh4uYXBpLnYxLkdldEluaXRpYXRpdmVzUmVzcG9uc2UiG4LT5JMCFRITL2FwaS92MS9pbml0aWF0aXZlcxJtChBEZWxldGVJbml0aWF0aXZlEh8uYXBpLnYxLkRlbGV0ZUluaXRpYXRpdmVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiCC0+STAhoqGC9hcGkvdjEvaW5pdGlhdGl2ZXMve2lkfRKOAQoSR2V0SW5pdGlhdGl2ZUdyYXBoEiEuYXBpLnYxLkdldEluaXRpYXRpdmVHcmFwaFJlcXVlc3QaIi5hcGkudjEuR2V0SW5pdGlhdGl2ZUdyYXBoUmVzcG9uc2UiMYLT5JMCKxIpL2FwaS92MS9pbml0aWF0aXZlcy97aW5pdGlhdGl2ZV9pZH0vZ3JhcGgSlgEKFEdldEluaXRpYXRpdmVDb250ZXh0EiMuYXBpLnYxLkdldEluaXRpYXRpdmVDb250ZXh0UmVxdWVzdBokLmFwaS52MS5HZXRJbml0aWF0aXZlQ29udGV4dFJlc3BvbnNlIjOC0+STAi0SKy9hcGkvdjEvaW5pdGlhdGl2ZXMve2luaXRpYXRpdmVfaWR9L2NvbnRleHQSpAEKGEFkZEluaXRpYXRpdmVNZW1vcnlFbnRyeRInLmFwaS52MS5BZGRJbml0aWF0aXZlTWVtb3J5RW50cnlSZXF1ZXN0GiguYXBpLnYxLkFkZEluaXRpYXRpdmVNZW1vcnlFbnRyeVJlc3BvbnNlIjWC0+STAi86ASoiKi9hcGkvdjEvaW5pdGlhdGl2ZXMve2luaXRpYXRpdmVfaWR9L21lbW9yeRKSAQoTR2V0SW5pdGlhdGl2ZU1lbW9yeRIiLmFwaS52MS5HZXRJbml0aWF0aXZlTWVtb3J5UmVxdWVzdBojLmFwaS52MS5HZXRJbml0aWF0aXZlTWVtb3J5UmVzcG9uc2UiMoLT5JMCLBIqL2FwaS92MS9pbml0aWF0aXZlcy97aW5pdGlhdGl2ZV9pZH0vbWVtb3J5EpgBChNEZWNvbXBvc2VJbml0aWF0aXZlEiIuYXBpLnYxLkRlY29tcG9zZUluaXRpYXRpdmVSZXF1ZXN0GiMuYXBpLnYxLkRlY29tcG9zZUluaXRpYXRpdmVSZXNwb25zZSI4gtPkkwIyOgEqIi0vYXBpL3YxL2luaXRpYXRpdmVzL3tpbml0aWF0aXZlX2lkfS9kZWNvbXBvc2USmAEKE1JlY29uY2lsZUluaXRpYXRpdmUSIi5hcGkudjEuUmVjb25jaWxlSW5pdGlhdGl2ZVJlcXVlc3QaIy5hcGkudjEuUmVjb25jaWxlSW5pdGlhdGl2ZVJlc3BvbnNlIjiC0+STAjI6ASoiLS9hcGkvdjEvaW5pdGlhdGl2ZXMve2luaXRpYXRpdmVfaWR9L3JlY29uY2lsZUJ0Cgpjb20uYXBpLnYxQg9Jbml0aWF0aXZlUHJvdG9QAVocb3BzZWUvYmFja2VuZC9nZW4vYXBpL3YxO2dlbqICA0FYWKoCBkFwaS5WMcoCBkFwaVxWMeICEkFwaVxWMVxHUEJNZXRhZGF0YeoCB0FwaTo6VjFiBnByb3RvMw", [file_google_protobuf_empty, file_google_api_annotations, file_validate_validate, file_api_v1_pagination, file_api_v1_filter, file_api_v1_models, file_fk_foreign_key]);
|
|
18
|
+
fileDesc("ChdhcGkvdjEvaW5pdGlhdGl2ZS5wcm90bxIGYXBpLnYxIuYCChRBZGRJbml0aWF0aXZlUmVxdWVzdBIZCgV0aXRsZRgBIAEoCUIK+kIHcgUQARjIARIUCgdzdW1tYXJ5GAIgASgJSACIAQESQgoGc3RhdHVzGAMgASgJQjL6Qi9yLVIFZHJhZnRSBmFjdGl2ZVIGcGF1c2VkUgljb21wbGV0ZWRSCWFiYW5kb25lZBInCgpwcm9qZWN0X2lkGAQgASgNQhP6QgQqAigBgrUYCHByb2plY3RzEjgKC2FuY2hvcl90eXBlGAUgASgJQiP6QiByHlIEbm9uZVIEdGFza1IJbWlsZXN0b25lUgVjeWNsZRIWCglhbmNob3JfaWQYBiABKA1IAYgBARIWCgljb3JlX2lkZWEYByABKAlIAogBARIeChZjb3JlX2lkZWFfY29udGVudF90eXBlGAggASgJQgoKCF9zdW1tYXJ5QgwKCl9hbmNob3JfaWRCDAoKX2NvcmVfaWRlYSLzAgoVRWRpdEluaXRpYXRpdmVSZXF1ZXN0EhMKAmlkGAEgASgNQgf6QgQqAigBEhkKBXRpdGxlGAIgASgJQgr6QgdyBRABGMgBEhQKB3N1bW1hcnkYAyABKAlIAIgBARJCCgZzdGF0dXMYBCABKAlCMvpCL3ItUgVkcmFmdFIGYWN0aXZlUgZwYXVzZWRSCWNvbXBsZXRlZFIJYWJhbmRvbmVkEjgKC2FuY2hvcl90eXBlGAUgASgJQiP6QiByHlIEbm9uZVIEdGFza1IJbWlsZXN0b25lUgVjeWNsZRIWCglhbmNob3JfaWQYBiABKA1IAYgBARIWCgljb3JlX2lkZWEYByABKAlIAogBARIjChZjb3JlX2lkZWFfY29udGVudF90eXBlGAggASgJSAOIAQFCCgoIX3N1bW1hcnlCDAoKX2FuY2hvcl9pZEIMCgpfY29yZV9pZGVhQhkKF19jb3JlX2lkZWFfY29udGVudF90eXBlIiIKFEdldEluaXRpYXRpdmVSZXF1ZXN0EgoKAmlkGAEgASgNIjQKGkdldEluaXRpYXRpdmVCeVVVSURSZXF1ZXN0EhYKBHV1aWQYASABKAlCCPpCBXIDsAEBIpUBChVHZXRJbml0aWF0aXZlc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARIwCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb25CCPpCBYoBAhABEi0KDmZpbHRlcl9vcHRpb25zGAMgASgLMhUuYXBpLnYxLkZpbHRlck9wdGlvbnMiJQoXRGVsZXRlSW5pdGlhdGl2ZVJlcXVlc3QSCgoCaWQYASABKA0iPwoVQWRkSW5pdGlhdGl2ZVJlc3BvbnNlEiYKCmluaXRpYXRpdmUYASABKAsyEi5hcGkudjEuSW5pdGlhdGl2ZSJAChZFZGl0SW5pdGlhdGl2ZVJlc3BvbnNlEiYKCmluaXRpYXRpdmUYASABKAsyEi5hcGkudjEuSW5pdGlhdGl2ZSI/ChVHZXRJbml0aWF0aXZlUmVzcG9uc2USJgoKaW5pdGlhdGl2ZRgBIAEoCzISLmFwaS52MS5Jbml0aWF0aXZlImkKFkdldEluaXRpYXRpdmVzUmVzcG9uc2USJwoLaW5pdGlhdGl2ZXMYASADKAsyEi5hcGkudjEuSW5pdGlhdGl2ZRImCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb24iTQoTSW5pdGlhdGl2ZUdyYXBoRWRnZRIUCgxmcm9tX3Rhc2tfaWQYASABKA0SEgoKdG9fdGFza19pZBgCIAEoDRIMCgR0eXBlGAMgASgJIjIKD0luaXRpYXRpdmVTbGljZRINCgVsYXllchgBIAEoBRIQCgh0YXNrX2lkcxgCIAMoDSKDAQoPSW5pdGlhdGl2ZUdyYXBoEhsKBXRhc2tzGAEgAygLMgwuYXBpLnYxLlRhc2sSKgoFZWRnZXMYAiADKAsyGy5hcGkudjEuSW5pdGlhdGl2ZUdyYXBoRWRnZRInCgZzbGljZXMYAyADKAsyFy5hcGkudjEuSW5pdGlhdGl2ZVNsaWNlIqYDChRJbml0aWF0aXZlQ29zdFJvbGx1cBIVCg10b3RhbF9jcmVkaXRzGAEgASgDEhEKCXJ1bl9jb3VudBgCIAEoBRIbChNjb21wbGV0ZWRfcnVuX2NvdW50GAMgASgFEhgKEGZhaWxlZF9ydW5fY291bnQYBCABKAUSLgoKdGFza19jb3N0cxgFIAMoCzIaLmFwaS52MS5Jbml0aWF0aXZlVGFza0Nvc3QSMAoLc3RhZ2VfY29zdHMYBiADKAsyGy5hcGkudjEuSW5pdGlhdGl2ZVN0YWdlQ29zdBIwCgttb2RlbF9jb3N0cxgHIAMoCzIbLmFwaS52MS5Jbml0aWF0aXZlTW9kZWxDb3N0EhoKEnRvdGFsX2lucHV0X3Rva2VucxgIIAEoAxIbChN0b3RhbF9vdXRwdXRfdG9rZW5zGAkgASgDEh8KF3RvdGFsX2NhY2hlX3JlYWRfdG9rZW5zGAogASgDEiMKG3RvdGFsX2NhY2hlX2NyZWF0aW9uX3Rva2VucxgLIAEoAxIaChJydW5fcmVjb3JkX2NyZWRpdHMYDCABKAMiSQoSSW5pdGlhdGl2ZVRhc2tDb3N0Eg8KB3Rhc2tfaWQYASABKA0SDwoHY3JlZGl0cxgCIAEoAxIRCglydW5fY291bnQYAyABKAUiNQoTSW5pdGlhdGl2ZVN0YWdlQ29zdBINCgVzdGFnZRgBIAEoCRIPCgdjcmVkaXRzGAIgASgDIpwBChNJbml0aWF0aXZlTW9kZWxDb3N0Eg0KBW1vZGVsGAEgASgJEg8KB2NyZWRpdHMYAiABKAMSFAoMaW5wdXRfdG9rZW5zGAMgASgDEhUKDW91dHB1dF90b2tlbnMYBCABKAMSGQoRY2FjaGVfcmVhZF90b2tlbnMYBSABKAMSHQoVY2FjaGVfY3JlYXRpb25fdG9rZW5zGAYgASgDIjsKGUdldEluaXRpYXRpdmVHcmFwaFJlcXVlc3QSHgoNaW5pdGlhdGl2ZV9pZBgBIAEoDUIH+kIEKgIoASJEChpHZXRJbml0aWF0aXZlR3JhcGhSZXNwb25zZRImCgVncmFwaBgBIAEoCzIXLmFwaS52MS5Jbml0aWF0aXZlR3JhcGgiUwobR2V0SW5pdGlhdGl2ZUNvbnRleHRSZXF1ZXN0Eh4KDWluaXRpYXRpdmVfaWQYASABKA1CB/pCBCoCKAESFAoMbWVtb3J5X2xpbWl0GAIgASgNIqQCChxHZXRJbml0aWF0aXZlQ29udGV4dFJlc3BvbnNlEiYKCmluaXRpYXRpdmUYASABKAsyEi5hcGkudjEuSW5pdGlhdGl2ZRImCgVncmFwaBgCIAEoCzIXLmFwaS52MS5Jbml0aWF0aXZlR3JhcGgSNQoObWVtb3J5X2VudHJpZXMYAyADKAsyHS5hcGkudjEuSW5pdGlhdGl2ZU1lbW9yeUVudHJ5Ei4KDXB1bGxfcmVxdWVzdHMYBCADKAsyFy5hcGkudjEuVGFza1B1bGxSZXF1ZXN0EiEKCGNvbW1lbnRzGAUgAygLMg8uYXBpLnYxLkNvbW1lbnQSKgoEY29zdBgGIAEoCzIcLmFwaS52MS5Jbml0aWF0aXZlQ29zdFJvbGx1cCLYAgofQWRkSW5pdGlhdGl2ZU1lbW9yeUVudHJ5UmVxdWVzdBIeCg1pbml0aWF0aXZlX2lkGAEgASgNQgf6QgQqAigBEkIKBGtpbmQYAiABKAlCNPpCMXIvUghkZWNpc2lvblIHb3V0Y29tZVIIbGVhcm5pbmdSB2Jsb2NrZXJSB2NvbnRleHQSFQoEYm9keRgDIAEoCUIH+kIEcgIQARInCgxjb250ZW50X3R5cGUYBCABKAlCEfpCDnIMUgR0ZXh0UgRqc29uEkMKC3NvdXJjZV90eXBlGAUgASgJQi76QityKVIEbm9uZVIEdGFza1IMcHVsbF9yZXF1ZXN0UgNkb2NSCHdvcmtmbG93EhYKCXNvdXJjZV9pZBgGIAEoDUgAiAEBEhcKCnNvdXJjZV91cmwYByABKAlIAYgBAUIMCgpfc291cmNlX2lkQg0KC19zb3VyY2VfdXJsIlcKIEFkZEluaXRpYXRpdmVNZW1vcnlFbnRyeVJlc3BvbnNlEjMKDG1lbW9yeV9lbnRyeRgBIAEoCzIdLmFwaS52MS5Jbml0aWF0aXZlTWVtb3J5RW50cnkiuAEKGkdldEluaXRpYXRpdmVNZW1vcnlSZXF1ZXN0Eh4KDWluaXRpYXRpdmVfaWQYASABKA1CB/pCBCoCKAESMAoKcGFnaW5hdGlvbhgCIAEoCzISLmFwaS52MS5QYWdpbmF0aW9uQgj6QgWKAQIQARINCgVraW5kcxgDIAMoCRITCgtzb3VyY2VfdHlwZRgEIAEoCRIWCglzb3VyY2VfaWQYBSABKA1IAIgBAUIMCgpfc291cmNlX2lkInwKG0dldEluaXRpYXRpdmVNZW1vcnlSZXNwb25zZRI1Cg5tZW1vcnlfZW50cmllcxgBIAMoCzIdLmFwaS52MS5Jbml0aWF0aXZlTWVtb3J5RW50cnkSJgoKcGFnaW5hdGlvbhgCIAEoCzISLmFwaS52MS5QYWdpbmF0aW9uIt0CChJEZWNvbXBvc2VUYXNrSW5wdXQSFAoDcmVmGAEgASgJQgf6QgRyAhABEhkKBXRpdGxlGAIgASgJQgr6QgdyBRABGP8BEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESFwoKcGFyZW50X3JlZhgEIAEoCUgBiAEBEhkKDHRhc2tfdHlwZV9pZBgFIAEoDUgCiAEBEh0KEHRhc2tfcHJpb3JpdHlfaWQYBiABKA1IA4gBARIcCg9ib2FyZF9jb2x1bW5faWQYByABKA1IBIgBARIdChBleGlzdGluZ190YXNrX2lkGAggASgNSAWIAQFCDgoMX2Rlc2NyaXB0aW9uQg0KC19wYXJlbnRfcmVmQg8KDV90YXNrX3R5cGVfaWRCEwoRX3Rhc2tfcHJpb3JpdHlfaWRCEgoQX2JvYXJkX2NvbHVtbl9pZEITChFfZXhpc3RpbmdfdGFza19pZCKJAQoSRGVjb21wb3NlRWRnZUlucHV0EhkKCGZyb21fcmVmGAEgASgJQgf6QgRyAhABEhcKBnRvX3JlZhgCIAEoCUIH+kIEcgIQARI/CgR0eXBlGAMgASgJQjH6Qi5yLFIGYmxvY2tzUgpibG9ja2VkX2J5UgpkdXBsaWNhdGVzUgpyZWxhdGVzX3RvIpwBChpEZWNvbXBvc2VJbml0aWF0aXZlUmVxdWVzdBIeCg1pbml0aWF0aXZlX2lkGAEgASgNQgf6QgQqAigBEjMKBXRhc2tzGAIgAygLMhouYXBpLnYxLkRlY29tcG9zZVRhc2tJbnB1dEII+kIFkgECCAESKQoFZWRnZXMYAyADKAsyGi5hcGkudjEuRGVjb21wb3NlRWRnZUlucHV0ImoKG0RlY29tcG9zZUluaXRpYXRpdmVSZXNwb25zZRIjCg1jcmVhdGVkX3Rhc2tzGAEgAygLMgwuYXBpLnYxLlRhc2sSJgoFZ3JhcGgYAiABKAsyFy5hcGkudjEuSW5pdGlhdGl2ZUdyYXBoIlkKE1JlY29uY2lsZVRhc2tDaGFuZ2USDwoHdGFza19pZBgBIAEoDRISCgppZGVudGlmaWVyGAIgASgJEg0KBXRpdGxlGAMgASgJEg4KBnJlYXNvbhgEIAEoCSKqAgoSUmVjb25jaWxlQ2hhbmdlc2V0EioKBWFkZGVkGAEgAygLMhsuYXBpLnYxLlJlY29uY2lsZVRhc2tDaGFuZ2USLAoHcmVtb3ZlZBgCIAMoCzIbLmFwaS52MS5SZWNvbmNpbGVUYXNrQ2hhbmdlEiwKB2ZsYWdnZWQYAyADKAsyGy5hcGkudjEuUmVjb25jaWxlVGFza0NoYW5nZRIwCgtlZGdlc19hZGRlZBgEIAMoCzIbLmFwaS52MS5Jbml0aWF0aXZlR3JhcGhFZGdlEjIKDWVkZ2VzX3JlbW92ZWQYBSADKAsyGy5hcGkudjEuSW5pdGlhdGl2ZUdyYXBoRWRnZRImCgVncmFwaBgGIAEoCzIXLmFwaS52MS5Jbml0aWF0aXZlR3JhcGgirQEKGlJlY29uY2lsZUluaXRpYXRpdmVSZXF1ZXN0Eh4KDWluaXRpYXRpdmVfaWQYASABKA1CB/pCBCoCKAESMwoFdGFza3MYAiADKAsyGi5hcGkudjEuRGVjb21wb3NlVGFza0lucHV0Qgj6QgWSAQIIARIpCgVlZGdlcxgDIAMoCzIaLmFwaS52MS5EZWNvbXBvc2VFZGdlSW5wdXQSDwoHZHJ5X3J1bhgEIAEoCCJMChtSZWNvbmNpbGVJbml0aWF0aXZlUmVzcG9uc2USLQoJY2hhbmdlc2V0GAEgASgLMhouYXBpLnYxLlJlY29uY2lsZUNoYW5nZXNldCLEAQoDUnVuEgoKAmlkGAEgASgNEhUKDWluaXRpYXRpdmVfaWQYAiABKA0SEgoKY29tcGFueV9pZBgDIAEoDRIOCgZzdGF0dXMYBCABKAkSEwoLZXZlbnRfY291bnQYBSABKAMSLgoKc3RhcnRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMQoNbGFzdF9ldmVudF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAinQIKD1J1blZlcmlmaWNhdGlvbhIKCgJpZBgBIAEoCRINCgVzdGFnZRgCIAEoCRIMCgR0b29sGAMgASgJEhsKB2NvbW1hbmQYBCABKAlCCvpCB3IFEAEYoB8SCwoDY3dkGAUgASgJEhEKCWV4aXRfY29kZRgGIAEoBRIcCgtkdXJhdGlvbl9tcxgHIAEoA0IH+kIEIgIoABIeCgtzdGRvdXRfdGFpbBgIIAEoCUIJ+kIGcgQYgIAEEh4KC3N0ZGVycl90YWlsGAkgASgJQgn6QgZyBBiAgAQSHgoWcmVsYXRlZF9hc3N1bXB0aW9uX2lkcxgKIAMoCRImCgJhdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAimQEKEFJ1bkRpc3BhdGNoRXZlbnQSGQoGdmVuZG9yGAEgASgJQgn6QgZyBBABGEASGQoHYWNjb3VudBgCIAEoCUII+kIFcgMYyAESGwoJd29ya3NwYWNlGAMgASgJQgj6QgVyAxjoBxIYCgZicmFuY2gYBCABKAlCCPpCBXIDGP8BEhgKB2F0dGVtcHQYBSABKAVCB/pCBBoCKAEiyAEKD1J1bkF0dGVtcHRFdmVudBIYCgdhdHRlbXB0GAEgASgFQgf6QgQaAigBEkkKB291dGNvbWUYAiABKAlCOPpCNXIzUgljb21wbGV0ZWRSBmZhaWxlZFIHc3RhbGxlZFIMcmF0ZV9saW1pdGVkUgdzdG9wcGVkEhoKB3N1bW1hcnkYAyABKAlCCfpCBnIEGKCcARIjCgxoYW5kX29mZl91cmwYBCABKAlCCPpCBXIDGNAPSACIAQFCDwoNX2hhbmRfb2ZmX3VybCJgCgxSdW5HYXRlRXZlbnQSFwoEbmFtZRgBIAEoCUIJ+kIGcgQQARhAEjcKDHZlcmlmaWNhdGlvbhgCIAEoCzIXLmFwaS52MS5SdW5WZXJpZmljYXRpb25CCPpCBYoBAhABIrwBCglSdW5EZWZlY3QSGQoFdGl0bGUYASABKAlCCvpCB3IFEAEY/wESGAoFc3RlcHMYAiABKAlCCfpCBnIEGKCcARIbCghleHBlY3RlZBgDIAEoCUIJ+kIGcgQYoJwBEhsKCG9ic2VydmVkGAQgASgJQgn6QgZyBBignAESHgoMZXZpZGVuY2VfdXJsGAUgASgJQgj6QgVyAxjQDxIUCgd0YXNrX2lkGAYgASgNSACIAQFCCgoIX3Rhc2tfaWQihwEKD1J1blZlcmRpY3RFdmVudBIlCgZzdGF0dXMYASABKAlCFfpCEnIQUgZwYXNzZWRSBmZhaWxlZBIiCgdkZWZlY3RzGAIgAygLMhEuYXBpLnYxLlJ1bkRlZmVjdBIpCghldmlkZW5jZRgDIAMoCzIXLmFwaS52MS5SdW5WZXJpZmljYXRpb24ifgoPUnVuQnJlYWtlckV2ZW50ElAKCWNvbmRpdGlvbhgBIAEoCUI9+kI6cjhSEmRlZmVjdHNfcGVyX3BhcmVudFIJcmV0cnlfY2FwUg9hY2NvdW50c19wYXVzZWRSBmJ1ZGdldBIZCgdtZXNzYWdlGAIgASgJQgj6QgVyAxigHyKBAgoNUnVuU3BlbmRFdmVudBIYCgdjcmVkaXRzGAEgASgDQgf6QgQiAigAEhcKBnZlbmRvchgCIAEoCUIH+kIEcgIYQBIZCgdhY2NvdW50GAMgASgJQgj6QgVyAxjIARIXCgVtb2RlbBgEIAEoCUII+kIFcgMYyAESHQoMaW5wdXRfdG9rZW5zGAUgASgDQgf6QgQiAigAEh4KDW91dHB1dF90b2tlbnMYBiABKANCB/pCBCICKAASIgoRY2FjaGVfcmVhZF90b2tlbnMYByABKANCB/pCBCICKAASJgoVY2FjaGVfY3JlYXRpb25fdG9rZW5zGAggASgDQgf6QgQiAigAImsKD1J1bkNvbnRyb2xFdmVudBI9CgZhY3Rpb24YASABKAlCLfpCKnIoUgZhdHRhY2hSB3JlbGVhc2VSBXBhdXNlUgZyZXN1bWVSBmNhbmNlbBIZCgdtZXNzYWdlGAIgASgJQgj6QgVyAxigHyLMAQoPUnVuQWNjb3VudEV2ZW50EjEKBXN0YXRlGAEgASgJQiL6Qh9yHVIGcGF1c2VkUgtxdWFyYW50aW5lZFIGYWN0aXZlEhcKBnZlbmRvchgCIAEoCUIH+kIEcgIYQBIZCgdhY2NvdW50GAMgASgJQgj6QgVyAxjIARIYCgZyZWFzb24YBCABKAlCCPpCBXIDGKAfEi4KBXVudGlsGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQggKBl91bnRpbCL5AgoPUnVuRXZlbnRQYXlsb2FkEiwKCGRpc3BhdGNoGAEgASgLMhguYXBpLnYxLlJ1bkRpc3BhdGNoRXZlbnRIABIqCgdhdHRlbXB0GAIgASgLMhcuYXBpLnYxLlJ1bkF0dGVtcHRFdmVudEgAEiQKBGdhdGUYAyABKAsyFC5hcGkudjEuUnVuR2F0ZUV2ZW50SAASKgoHdmVyZGljdBgEIAEoCzIXLmFwaS52MS5SdW5WZXJkaWN0RXZlbnRIABIqCgdicmVha2VyGAUgASgLMhcuYXBpLnYxLlJ1bkJyZWFrZXJFdmVudEgAEiYKBXNwZW5kGAYgASgLMhUuYXBpLnYxLlJ1blNwZW5kRXZlbnRIABIqCgdjb250cm9sGAcgASgLMhcuYXBpLnYxLlJ1bkNvbnRyb2xFdmVudEgAEioKB2FjY291bnQYCCABKAsyFy5hcGkudjEuUnVuQWNjb3VudEV2ZW50SABCDgoHcGF5bG9hZBID+EIBItEBCg1SdW5FdmVudElucHV0EhQKB3Rhc2tfaWQYASABKA1IAIgBARIvCgtvY2N1cnJlZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASMgoHcGF5bG9hZBgDIAEoCzIXLmFwaS52MS5SdW5FdmVudFBheWxvYWRCCPpCBYoBAhABEiUKD2lkZW1wb3RlbmN5X2tleRgEIAEoCUIH+kIEcgIYQEgBiAEBQgoKCF90YXNrX2lkQhIKEF9pZGVtcG90ZW5jeV9rZXkizgIKCFJ1bkV2ZW50EgoKAmlkGAEgASgNEg4KBnJ1bl9pZBgCIAEoDRIVCg1pbml0aWF0aXZlX2lkGAMgASgNEhIKCmNvbXBhbnlfaWQYBCABKA0SDAoEa2luZBgFIAEoCRIUCgd0YXNrX2lkGAYgASgNSACIAQESGwoOYXV0aG9yX3VzZXJfaWQYByABKA1IAYgBARIQCghpc19hZ2VudBgIIAEoCBIvCgtvY2N1cnJlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKY3JlYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKAoHcGF5bG9hZBgLIAEoCzIXLmFwaS52MS5SdW5FdmVudFBheWxvYWRCCgoIX3Rhc2tfaWRCEQoPX2F1dGhvcl91c2VyX2lkImwKFkFwcGVuZFJ1bkV2ZW50c1JlcXVlc3QSHgoNaW5pdGlhdGl2ZV9pZBgBIAEoDUIH+kIEKgIoARIyCgZldmVudHMYAiADKAsyFS5hcGkudjEuUnVuRXZlbnRJbnB1dEIL+kIIkgEFCAEQ9AMiVQoXQXBwZW5kUnVuRXZlbnRzUmVzcG9uc2USGAoDcnVuGAEgASgLMgsuYXBpLnYxLlJ1bhIgCgZldmVudHMYAiADKAsyEC5hcGkudjEuUnVuRXZlbnQivAEKE0dldFJ1bkV2ZW50c1JlcXVlc3QSHgoNaW5pdGlhdGl2ZV9pZBgBIAEoDUIH+kIEKgIoARIwCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb25CCPpCBYoBAhABEg0KBWtpbmRzGAMgAygJEhQKB3Rhc2tfaWQYBCABKA1IAIgBARIVCghhZnRlcl9pZBgFIAEoDUgBiAEBQgoKCF90YXNrX2lkQgsKCV9hZnRlcl9pZCJ6ChRHZXRSdW5FdmVudHNSZXNwb25zZRIYCgNydW4YASABKAsyCy5hcGkudjEuUnVuEiAKBmV2ZW50cxgCIAMoCzIQLmFwaS52MS5SdW5FdmVudBImCgpwYWdpbmF0aW9uGAMgASgLMhIuYXBpLnYxLlBhZ2luYXRpb24iNgoUR2V0UmVhZHlUYXNrc1JlcXVlc3QSHgoNaW5pdGlhdGl2ZV9pZBgBIAEoDUIH+kIEKgIoASJrChVHZXRSZWFkeVRhc2tzUmVzcG9uc2USGwoFdGFza3MYASADKAsyDC5hcGkudjEuVGFzaxIWCg5kaXNwYXRjaF9sYWJlbBgCIAEoCRIdChVkaXNwYXRjaF9sYWJlbF9leGlzdHMYAyABKAgygBAKEUluaXRpYXRpdmVTZXJ2aWNlEmwKDUFkZEluaXRpYXRpdmUSHC5hcGkudjEuQWRkSW5pdGlhdGl2ZVJlcXVlc3QaHS5hcGkudjEuQWRkSW5pdGlhdGl2ZVJlc3BvbnNlIh6C0+STAhg6ASoiEy9hcGkvdjEvaW5pdGlhdGl2ZXMSdAoORWRpdEluaXRpYXRpdmUSHS5hcGkudjEuRWRpdEluaXRpYXRpdmVSZXF1ZXN0Gh4uYXBpLnYxLkVkaXRJbml0aWF0aXZlUmVzcG9uc2UiI4LT5JMCHToBKhoYL2FwaS92MS9pbml0aWF0aXZlcy97aWR9Em4KDUdldEluaXRpYXRpdmUSHC5hcGkudjEuR2V0SW5pdGlhdGl2ZVJlcXVlc3QaHS5hcGkudjEuR2V0SW5pdGlhdGl2ZVJlc3BvbnNlIiCC0+STAhoSGC9hcGkvdjEvaW5pdGlhdGl2ZXMve2lkfRKBAQoTR2V0SW5pdGlhdGl2ZUJ5VVVJRBIiLmFwaS52MS5HZXRJbml0aWF0aXZlQnlVVUlEUmVxdWVzdBodLmFwaS52MS5HZXRJbml0aWF0aXZlUmVzcG9uc2UiJ4LT5JMCIRIfL2FwaS92MS9pbml0aWF0aXZlcy91dWlkL3t1dWlkfRJsCg5HZXRJbml0aWF0aXZlcxIdLmFwaS52MS5HZXRJbml0aWF0aXZlc1JlcXVlc3QaHi5hcGkudjEuR2V0SW5pdGlhdGl2ZXNSZXNwb25zZSIbgtPkkwIVEhMvYXBpL3YxL2luaXRpYXRpdmVzEm0KEERlbGV0ZUluaXRpYXRpdmUSHy5hcGkudjEuRGVsZXRlSW5pdGlhdGl2ZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiIILT5JMCGioYL2FwaS92MS9pbml0aWF0aXZlcy97aWR9Eo4BChJHZXRJbml0aWF0aXZlR3JhcGgSIS5hcGkudjEuR2V0SW5pdGlhdGl2ZUdyYXBoUmVxdWVzdBoiLmFwaS52MS5HZXRJbml0aWF0aXZlR3JhcGhSZXNwb25zZSIxgtPkkwIrEikvYXBpL3YxL2luaXRpYXRpdmVzL3tpbml0aWF0aXZlX2lkfS9ncmFwaBKWAQoUR2V0SW5pdGlhdGl2ZUNvbnRleHQSIy5hcGkudjEuR2V0SW5pdGlhdGl2ZUNvbnRleHRSZXF1ZXN0GiQuYXBpLnYxLkdldEluaXRpYXRpdmVDb250ZXh0UmVzcG9uc2UiM4LT5JMCLRIrL2FwaS92MS9pbml0aWF0aXZlcy97aW5pdGlhdGl2ZV9pZH0vY29udGV4dBKkAQoYQWRkSW5pdGlhdGl2ZU1lbW9yeUVudHJ5EicuYXBpLnYxLkFkZEluaXRpYXRpdmVNZW1vcnlFbnRyeVJlcXVlc3QaKC5hcGkudjEuQWRkSW5pdGlhdGl2ZU1lbW9yeUVudHJ5UmVzcG9uc2UiNYLT5JMCLzoBKiIqL2FwaS92MS9pbml0aWF0aXZlcy97aW5pdGlhdGl2ZV9pZH0vbWVtb3J5EpIBChNHZXRJbml0aWF0aXZlTWVtb3J5EiIuYXBpLnYxLkdldEluaXRpYXRpdmVNZW1vcnlSZXF1ZXN0GiMuYXBpLnYxLkdldEluaXRpYXRpdmVNZW1vcnlSZXNwb25zZSIygtPkkwIsEiovYXBpL3YxL2luaXRpYXRpdmVzL3tpbml0aWF0aXZlX2lkfS9tZW1vcnkSmAEKE0RlY29tcG9zZUluaXRpYXRpdmUSIi5hcGkudjEuRGVjb21wb3NlSW5pdGlhdGl2ZVJlcXVlc3QaIy5hcGkudjEuRGVjb21wb3NlSW5pdGlhdGl2ZVJlc3BvbnNlIjiC0+STAjI6ASoiLS9hcGkvdjEvaW5pdGlhdGl2ZXMve2luaXRpYXRpdmVfaWR9L2RlY29tcG9zZRKYAQoTUmVjb25jaWxlSW5pdGlhdGl2ZRIiLmFwaS52MS5SZWNvbmNpbGVJbml0aWF0aXZlUmVxdWVzdBojLmFwaS52MS5SZWNvbmNpbGVJbml0aWF0aXZlUmVzcG9uc2UiOILT5JMCMjoBKiItL2FwaS92MS9pbml0aWF0aXZlcy97aW5pdGlhdGl2ZV9pZH0vcmVjb25jaWxlEo0BCg9BcHBlbmRSdW5FdmVudHMSHi5hcGkudjEuQXBwZW5kUnVuRXZlbnRzUmVxdWVzdBofLmFwaS52MS5BcHBlbmRSdW5FdmVudHNSZXNwb25zZSI5gtPkkwIzOgEqIi4vYXBpL3YxL2luaXRpYXRpdmVzL3tpbml0aWF0aXZlX2lkfS9ydW4vZXZlbnRzEoEBCgxHZXRSdW5FdmVudHMSGy5hcGkudjEuR2V0UnVuRXZlbnRzUmVxdWVzdBocLmFwaS52MS5HZXRSdW5FdmVudHNSZXNwb25zZSI2gtPkkwIwEi4vYXBpL3YxL2luaXRpYXRpdmVzL3tpbml0aWF0aXZlX2lkfS9ydW4vZXZlbnRzEoUBCg1HZXRSZWFkeVRhc2tzEhwuYXBpLnYxLkdldFJlYWR5VGFza3NSZXF1ZXN0Gh0uYXBpLnYxLkdldFJlYWR5VGFza3NSZXNwb25zZSI3gtPkkwIxEi8vYXBpL3YxL2luaXRpYXRpdmVzL3tpbml0aWF0aXZlX2lkfS9yZWFkeS10YXNrc0J0Cgpjb20uYXBpLnYxQg9Jbml0aWF0aXZlUHJvdG9QAVocb3BzZWUvYmFja2VuZC9nZW4vYXBpL3YxO2dlbqICA0FYWKoCBkFwaS5WMcoCBkFwaVxWMeICEkFwaVxWMVxHUEJNZXRhZGF0YeoCB0FwaTo6VjFiBnByb3RvMw", [file_google_protobuf_empty, file_google_protobuf_timestamp, file_google_api_annotations, file_validate_validate, file_api_v1_pagination, file_api_v1_filter, file_api_v1_models, file_fk_foreign_key]);
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Describes the message api.v1.AddInitiativeRequest.
|
|
@@ -248,6 +248,146 @@ export const ReconcileInitiativeRequestSchema = /*@__PURE__*/
|
|
|
248
248
|
export const ReconcileInitiativeResponseSchema = /*@__PURE__*/
|
|
249
249
|
messageDesc(file_api_v1_initiative, 32);
|
|
250
250
|
|
|
251
|
+
/**
|
|
252
|
+
* Describes the message api.v1.Run.
|
|
253
|
+
* Use `create(RunSchema)` to create a new message.
|
|
254
|
+
*/
|
|
255
|
+
export const RunSchema = /*@__PURE__*/
|
|
256
|
+
messageDesc(file_api_v1_initiative, 33);
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Describes the message api.v1.RunVerification.
|
|
260
|
+
* Use `create(RunVerificationSchema)` to create a new message.
|
|
261
|
+
*/
|
|
262
|
+
export const RunVerificationSchema = /*@__PURE__*/
|
|
263
|
+
messageDesc(file_api_v1_initiative, 34);
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Describes the message api.v1.RunDispatchEvent.
|
|
267
|
+
* Use `create(RunDispatchEventSchema)` to create a new message.
|
|
268
|
+
*/
|
|
269
|
+
export const RunDispatchEventSchema = /*@__PURE__*/
|
|
270
|
+
messageDesc(file_api_v1_initiative, 35);
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* Describes the message api.v1.RunAttemptEvent.
|
|
274
|
+
* Use `create(RunAttemptEventSchema)` to create a new message.
|
|
275
|
+
*/
|
|
276
|
+
export const RunAttemptEventSchema = /*@__PURE__*/
|
|
277
|
+
messageDesc(file_api_v1_initiative, 36);
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Describes the message api.v1.RunGateEvent.
|
|
281
|
+
* Use `create(RunGateEventSchema)` to create a new message.
|
|
282
|
+
*/
|
|
283
|
+
export const RunGateEventSchema = /*@__PURE__*/
|
|
284
|
+
messageDesc(file_api_v1_initiative, 37);
|
|
285
|
+
|
|
286
|
+
/**
|
|
287
|
+
* Describes the message api.v1.RunDefect.
|
|
288
|
+
* Use `create(RunDefectSchema)` to create a new message.
|
|
289
|
+
*/
|
|
290
|
+
export const RunDefectSchema = /*@__PURE__*/
|
|
291
|
+
messageDesc(file_api_v1_initiative, 38);
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Describes the message api.v1.RunVerdictEvent.
|
|
295
|
+
* Use `create(RunVerdictEventSchema)` to create a new message.
|
|
296
|
+
*/
|
|
297
|
+
export const RunVerdictEventSchema = /*@__PURE__*/
|
|
298
|
+
messageDesc(file_api_v1_initiative, 39);
|
|
299
|
+
|
|
300
|
+
/**
|
|
301
|
+
* Describes the message api.v1.RunBreakerEvent.
|
|
302
|
+
* Use `create(RunBreakerEventSchema)` to create a new message.
|
|
303
|
+
*/
|
|
304
|
+
export const RunBreakerEventSchema = /*@__PURE__*/
|
|
305
|
+
messageDesc(file_api_v1_initiative, 40);
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* Describes the message api.v1.RunSpendEvent.
|
|
309
|
+
* Use `create(RunSpendEventSchema)` to create a new message.
|
|
310
|
+
*/
|
|
311
|
+
export const RunSpendEventSchema = /*@__PURE__*/
|
|
312
|
+
messageDesc(file_api_v1_initiative, 41);
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* Describes the message api.v1.RunControlEvent.
|
|
316
|
+
* Use `create(RunControlEventSchema)` to create a new message.
|
|
317
|
+
*/
|
|
318
|
+
export const RunControlEventSchema = /*@__PURE__*/
|
|
319
|
+
messageDesc(file_api_v1_initiative, 42);
|
|
320
|
+
|
|
321
|
+
/**
|
|
322
|
+
* Describes the message api.v1.RunAccountEvent.
|
|
323
|
+
* Use `create(RunAccountEventSchema)` to create a new message.
|
|
324
|
+
*/
|
|
325
|
+
export const RunAccountEventSchema = /*@__PURE__*/
|
|
326
|
+
messageDesc(file_api_v1_initiative, 43);
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* Describes the message api.v1.RunEventPayload.
|
|
330
|
+
* Use `create(RunEventPayloadSchema)` to create a new message.
|
|
331
|
+
*/
|
|
332
|
+
export const RunEventPayloadSchema = /*@__PURE__*/
|
|
333
|
+
messageDesc(file_api_v1_initiative, 44);
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* Describes the message api.v1.RunEventInput.
|
|
337
|
+
* Use `create(RunEventInputSchema)` to create a new message.
|
|
338
|
+
*/
|
|
339
|
+
export const RunEventInputSchema = /*@__PURE__*/
|
|
340
|
+
messageDesc(file_api_v1_initiative, 45);
|
|
341
|
+
|
|
342
|
+
/**
|
|
343
|
+
* Describes the message api.v1.RunEvent.
|
|
344
|
+
* Use `create(RunEventSchema)` to create a new message.
|
|
345
|
+
*/
|
|
346
|
+
export const RunEventSchema = /*@__PURE__*/
|
|
347
|
+
messageDesc(file_api_v1_initiative, 46);
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* Describes the message api.v1.AppendRunEventsRequest.
|
|
351
|
+
* Use `create(AppendRunEventsRequestSchema)` to create a new message.
|
|
352
|
+
*/
|
|
353
|
+
export const AppendRunEventsRequestSchema = /*@__PURE__*/
|
|
354
|
+
messageDesc(file_api_v1_initiative, 47);
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* Describes the message api.v1.AppendRunEventsResponse.
|
|
358
|
+
* Use `create(AppendRunEventsResponseSchema)` to create a new message.
|
|
359
|
+
*/
|
|
360
|
+
export const AppendRunEventsResponseSchema = /*@__PURE__*/
|
|
361
|
+
messageDesc(file_api_v1_initiative, 48);
|
|
362
|
+
|
|
363
|
+
/**
|
|
364
|
+
* Describes the message api.v1.GetRunEventsRequest.
|
|
365
|
+
* Use `create(GetRunEventsRequestSchema)` to create a new message.
|
|
366
|
+
*/
|
|
367
|
+
export const GetRunEventsRequestSchema = /*@__PURE__*/
|
|
368
|
+
messageDesc(file_api_v1_initiative, 49);
|
|
369
|
+
|
|
370
|
+
/**
|
|
371
|
+
* Describes the message api.v1.GetRunEventsResponse.
|
|
372
|
+
* Use `create(GetRunEventsResponseSchema)` to create a new message.
|
|
373
|
+
*/
|
|
374
|
+
export const GetRunEventsResponseSchema = /*@__PURE__*/
|
|
375
|
+
messageDesc(file_api_v1_initiative, 50);
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* Describes the message api.v1.GetReadyTasksRequest.
|
|
379
|
+
* Use `create(GetReadyTasksRequestSchema)` to create a new message.
|
|
380
|
+
*/
|
|
381
|
+
export const GetReadyTasksRequestSchema = /*@__PURE__*/
|
|
382
|
+
messageDesc(file_api_v1_initiative, 51);
|
|
383
|
+
|
|
384
|
+
/**
|
|
385
|
+
* Describes the message api.v1.GetReadyTasksResponse.
|
|
386
|
+
* Use `create(GetReadyTasksResponseSchema)` to create a new message.
|
|
387
|
+
*/
|
|
388
|
+
export const GetReadyTasksResponseSchema = /*@__PURE__*/
|
|
389
|
+
messageDesc(file_api_v1_initiative, 52);
|
|
390
|
+
|
|
251
391
|
/**
|
|
252
392
|
* @generated from service api.v1.InitiativeService
|
|
253
393
|
*/
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
|
|
6
6
|
import type { JsonObject, Message } from "@bufbuild/protobuf";
|
|
7
|
+
import type { RunGateEvent, RunVerdictEvent } from "./initiative_pb";
|
|
7
8
|
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
8
9
|
import type { Pagination } from "./pagination_pb";
|
|
9
10
|
|
|
@@ -72,6 +73,63 @@ export declare type ReadinessRequiredAction = Message<"api.v1.ReadinessRequiredA
|
|
|
72
73
|
*/
|
|
73
74
|
export declare const ReadinessRequiredActionSchema: GenMessage<ReadinessRequiredAction>;
|
|
74
75
|
|
|
76
|
+
/**
|
|
77
|
+
* ReadinessHandOff is the Foreman verification evidence for a report whose pull request is a
|
|
78
|
+
* Hand-off (cli/CONTEXT.md): the Gate results and the Verdict read from the Run Record events of
|
|
79
|
+
* the Task the pull request is linked to. Absent when the pull request is not a Hand-off — no
|
|
80
|
+
* linked Task, or a linked Task with no Gate or Verdict event — in which case the report is
|
|
81
|
+
* exactly what it has always been. Derived at read time; nothing here is stored on the report.
|
|
82
|
+
*
|
|
83
|
+
* @generated from message api.v1.ReadinessHandOff
|
|
84
|
+
*/
|
|
85
|
+
export declare type ReadinessHandOff = Message<"api.v1.ReadinessHandOff"> & {
|
|
86
|
+
/**
|
|
87
|
+
* @generated from field: uint32 task_id = 1;
|
|
88
|
+
*/
|
|
89
|
+
taskId: number;
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* the Task's tracker key, e.g. "OPS-283"
|
|
93
|
+
*
|
|
94
|
+
* @generated from field: string task_identifier = 2;
|
|
95
|
+
*/
|
|
96
|
+
taskIdentifier: string;
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* @generated from field: uint32 initiative_id = 3;
|
|
100
|
+
*/
|
|
101
|
+
initiativeId: number;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* The attempt the Gates below belong to: the latest one the Run Record has for the Task, read
|
|
105
|
+
* from the Gate Verification ids (`<identifier>-<attempt>-r<round>-<gate>`). 0 when no id parsed.
|
|
106
|
+
*
|
|
107
|
+
* @generated from field: int32 attempt = 4;
|
|
108
|
+
*/
|
|
109
|
+
attempt: number;
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* One entry per Gate of that attempt's last round, in append order. Pass or fail is the
|
|
113
|
+
* verification's exit code, never a judgment.
|
|
114
|
+
*
|
|
115
|
+
* @generated from field: repeated api.v1.RunGateEvent gates = 5;
|
|
116
|
+
*/
|
|
117
|
+
gates: RunGateEvent[];
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* The Verifier's latest structured result for the Task; absent when none was appended.
|
|
121
|
+
*
|
|
122
|
+
* @generated from field: optional api.v1.RunVerdictEvent verdict = 6;
|
|
123
|
+
*/
|
|
124
|
+
verdict?: RunVerdictEvent;
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Describes the message api.v1.ReadinessHandOff.
|
|
129
|
+
* Use `create(ReadinessHandOffSchema)` to create a new message.
|
|
130
|
+
*/
|
|
131
|
+
export declare const ReadinessHandOffSchema: GenMessage<ReadinessHandOff>;
|
|
132
|
+
|
|
75
133
|
/**
|
|
76
134
|
* ReadinessReport is the per-(repository, PR, head SHA) production-readiness
|
|
77
135
|
* assessment produced by the deterministic pipeline. Anchored to a repository,
|
|
@@ -198,6 +256,13 @@ export declare type ReadinessReport = Message<"api.v1.ReadinessReport"> & {
|
|
|
198
256
|
* @generated from field: string base_branch = 20;
|
|
199
257
|
*/
|
|
200
258
|
baseBranch: string;
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* Foreman verification evidence when this pull request is a Hand-off; absent otherwise.
|
|
262
|
+
*
|
|
263
|
+
* @generated from field: optional api.v1.ReadinessHandOff hand_off = 21;
|
|
264
|
+
*/
|
|
265
|
+
handOff?: ReadinessHandOff;
|
|
201
266
|
};
|
|
202
267
|
|
|
203
268
|
/**
|
|
@@ -7,13 +7,14 @@ import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bu
|
|
|
7
7
|
import { file_google_api_annotations } from "../../google/api/annotations_pb";
|
|
8
8
|
import { file_validate_validate } from "../../validate/validate_pb";
|
|
9
9
|
import { file_api_v1_pagination } from "./pagination_pb";
|
|
10
|
+
import { file_api_v1_initiative } from "./initiative_pb";
|
|
10
11
|
import { file_fk_foreign_key } from "../../fk/foreign_key_pb";
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* Describes the file api/v1/readiness.proto.
|
|
14
15
|
*/
|
|
15
16
|
export const file_api_v1_readiness = /*@__PURE__*/
|
|
16
|
-
fileDesc("
|
|
17
|
+
fileDesc("ChZhcGkvdjEvcmVhZGluZXNzLnByb3RvEgZhcGkudjEiagoPUmVhZGluZXNzU2lnbmFsEgwKBGtpbmQYASABKAkSDwoHc3VtbWFyeRgCIAEoCRINCgVjbGFzcxgDIAEoCRIpCghldmlkZW5jZRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiOgoXUmVhZGluZXNzUmVxdWlyZWRBY3Rpb24SDwoHc3VtbWFyeRgBIAEoCRIOCgZyZWFzb24YAiABKAkixAEKEFJlYWRpbmVzc0hhbmRPZmYSDwoHdGFza19pZBgBIAEoDRIXCg90YXNrX2lkZW50aWZpZXIYAiABKAkSFQoNaW5pdGlhdGl2ZV9pZBgDIAEoDRIPCgdhdHRlbXB0GAQgASgFEiMKBWdhdGVzGAUgAygLMhQuYXBpLnYxLlJ1bkdhdGVFdmVudBItCgd2ZXJkaWN0GAYgASgLMhcuYXBpLnYxLlJ1blZlcmRpY3RFdmVudEgAiAEBQgoKCF92ZXJkaWN0IvwECg9SZWFkaW5lc3NSZXBvcnQSCgoCaWQYASABKA0SHQoVcHJvamVjdF9yZXBvc2l0b3J5X2lkGAIgASgNEhAKCHByb3ZpZGVyGAMgASgJEhEKCXByX251bWJlchgEIAEoBRIQCghoZWFkX3NoYRgFIAEoCRISCgpyaXNrX2xldmVsGAYgASgJEg0KBXBoYXNlGAcgASgJEhgKC2NvbW1lbnRfdXJsGAggASgJSACIAQESKAoHc2lnbmFscxgJIAMoCzIXLmFwaS52MS5SZWFkaW5lc3NTaWduYWwSOQoQcmVxdWlyZWRfYWN0aW9ucxgKIAMoCzIfLmFwaS52MS5SZWFkaW5lc3NSZXF1aXJlZEFjdGlvbhIcChRwb2xpY3lfc25hcHNob3RfanNvbhgLIAEoCRIuCgpjcmVhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIcChRyZXBvc2l0b3J5X2Z1bGxfbmFtZRgOIAEoCRIWCg5yZXBvc2l0b3J5X3VybBgPIAEoCRIOCgZwcl91cmwYECABKAkSFwoPaGFzX2xpbmtlZF90YXNrGBEgASgIEhAKCHByX3RpdGxlGBIgASgJEhMKC2hlYWRfYnJhbmNoGBMgASgJEhMKC2Jhc2VfYnJhbmNoGBQgASgJEi8KCGhhbmRfb2ZmGBUgASgLMhguYXBpLnYxLlJlYWRpbmVzc0hhbmRPZmZIAYgBAUIOCgxfY29tbWVudF91cmxCCwoJX2hhbmRfb2ZmItIBChtMaXN0UmVhZGluZXNzUmVwb3J0c1JlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARIwCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb25CCPpCBYoBAhABEiIKFXByb2plY3RfcmVwb3NpdG9yeV9pZBgDIAEoDUgAiAEBEhcKCnJpc2tfbGV2ZWwYBCABKAlIAYgBAUIYChZfcHJvamVjdF9yZXBvc2l0b3J5X2lkQg0KC19yaXNrX2xldmVsInAKHExpc3RSZWFkaW5lc3NSZXBvcnRzUmVzcG9uc2USKAoHcmVwb3J0cxgBIAMoCzIXLmFwaS52MS5SZWFkaW5lc3NSZXBvcnQSJgoKcGFnaW5hdGlvbhgCIAEoCzISLmFwaS52MS5QYWdpbmF0aW9uIjAKGUdldFJlYWRpbmVzc1JlcG9ydFJlcXVlc3QSEwoCaWQYASABKA1CB/pCBCoCKAEiRQoaR2V0UmVhZGluZXNzUmVwb3J0UmVzcG9uc2USJwoGcmVwb3J0GAEgASgLMhcuYXBpLnYxLlJlYWRpbmVzc1JlcG9ydCLHBQoUUmVhZGluZXNzUG9saWN5SW5wdXQSGQoMbWVkaXVtX2ZpbGVzGAEgASgFSACIAQESFwoKaGlnaF9maWxlcxgCIAEoBUgBiAEBEhsKDmNyaXRpY2FsX2ZpbGVzGAMgASgFSAKIAQESGQoMbWVkaXVtX2xpbmVzGAQgASgFSAOIAQESFwoKaGlnaF9saW5lcxgFIAEoBUgEiAEBEhsKDmNyaXRpY2FsX2xpbmVzGAYgASgFSAWIAQESFwoPaGlnaF9yaXNrX3BhdGhzGAcgAygJEiAKGHJlcXVpcmVfZmVhdHVyZV9mbGFnX2ZvchgIIAMoCRIhChRyZXF1aXJlX293bmVyX3JldmlldxgJIAEoCEgGiAEBEjAKI3JlcXVpcmVfcm9sbGJhY2tfcGxhbl9mb3JfaGlnaF9yaXNrGAogASgISAeIAQESMAojcmVxdWlyZV9vYnNlcnZhYmlsaXR5X2Zvcl9oaWdoX3Jpc2sYCyABKAhICIgBARIgChNibG9ja19jcml0aWNhbF9yaXNrGAwgASgISAmIAQESJQoYYWR2aXNvcnlfZm9yX21lZGl1bV9yaXNrGA0gASgISAqIAQFCDwoNX21lZGl1bV9maWxlc0INCgtfaGlnaF9maWxlc0IRCg9fY3JpdGljYWxfZmlsZXNCDwoNX21lZGl1bV9saW5lc0INCgtfaGlnaF9saW5lc0IRCg9fY3JpdGljYWxfbGluZXNCFwoVX3JlcXVpcmVfb3duZXJfcmV2aWV3QiYKJF9yZXF1aXJlX3JvbGxiYWNrX3BsYW5fZm9yX2hpZ2hfcmlza0ImCiRfcmVxdWlyZV9vYnNlcnZhYmlsaXR5X2Zvcl9oaWdoX3Jpc2tCFgoUX2Jsb2NrX2NyaXRpY2FsX3Jpc2tCGwoZX2Fkdmlzb3J5X2Zvcl9tZWRpdW1fcmlzayIlCiNHZXRSZWFkaW5lc3NPcmdEZWZhdWx0UG9saWN5UmVxdWVzdCJoCiRHZXRSZWFkaW5lc3NPcmdEZWZhdWx0UG9saWN5UmVzcG9uc2USLAoGcG9saWN5GAEgASgLMhwuYXBpLnYxLlJlYWRpbmVzc1BvbGljeUlucHV0EhIKCmNvbmZpZ3VyZWQYAiABKAgiYAomVXBkYXRlUmVhZGluZXNzT3JnRGVmYXVsdFBvbGljeVJlcXVlc3QSNgoGcG9saWN5GAEgASgLMhwuYXBpLnYxLlJlYWRpbmVzc1BvbGljeUlucHV0Qgj6QgWKAQIQASJXCidVcGRhdGVSZWFkaW5lc3NPcmdEZWZhdWx0UG9saWN5UmVzcG9uc2USLAoGcG9saWN5GAEgASgLMhwuYXBpLnYxLlJlYWRpbmVzc1BvbGljeUlucHV0IpYBChNSZWFkaW5lc3NSZXBvc2l0b3J5Eh0KFXByb2plY3RfcmVwb3NpdG9yeV9pZBgBIAEoDRIcChRyZXBvc2l0b3J5X2Z1bGxfbmFtZRgCIAEoCRIQCghwcm92aWRlchgDIAEoCRIYChBlbmFibGVfcmVhZGluZXNzGAQgASgIEhYKDnJlcG9zaXRvcnlfdXJsGAUgASgJIj8KIExpc3RSZWFkaW5lc3NSZXBvc2l0b3JpZXNSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAEiVgohTGlzdFJlYWRpbmVzc1JlcG9zaXRvcmllc1Jlc3BvbnNlEjEKDHJlcG9zaXRvcmllcxgBIAMoCzIbLmFwaS52MS5SZWFkaW5lc3NSZXBvc2l0b3J5IoEBCh1TZXRSZXBvc2l0b3J5UmVhZGluZXNzUmVxdWVzdBInCgpwcm9qZWN0X2lkGAEgASgNQhP6QgQqAigBgrUYCHByb2plY3RzEiYKFXByb2plY3RfcmVwb3NpdG9yeV9pZBgCIAEoDUIH+kIEKgIoARIPCgdlbmFibGVkGAMgASgIIlEKHlNldFJlcG9zaXRvcnlSZWFkaW5lc3NSZXNwb25zZRIvCgpyZXBvc2l0b3J5GAEgASgLMhsuYXBpLnYxLlJlYWRpbmVzc1JlcG9zaXRvcnkiZgofUmVidWlsZFJlcG9zaXRvcnlQcm9maWxlUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEiYKFXByb2plY3RfcmVwb3NpdG9yeV9pZBgCIAEoDUIH+kIEKgIoASIiCiBSZWJ1aWxkUmVwb3NpdG9yeVByb2ZpbGVSZXNwb25zZSLAAQoRUmVwb3NpdG9yeVByb2ZpbGUSHQoVcHJvamVjdF9yZXBvc2l0b3J5X2lkGAEgASgNEhEKCWxhbmd1YWdlcxgCIAMoCRIUCgxjb250cmlidXRvcnMYAyADKAkSDgoGb3duZXJzGAQgAygJEg8KB3N1bW1hcnkYBSABKAkSEgoKY29uZmlndXJlZBgGIAEoCBIuCgp1cGRhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJiChtHZXRSZXBvc2l0b3J5UHJvZmlsZVJlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARImChVwcm9qZWN0X3JlcG9zaXRvcnlfaWQYAiABKA1CB/pCBCoCKAEiSgocR2V0UmVwb3NpdG9yeVByb2ZpbGVSZXNwb25zZRIqCgdwcm9maWxlGAEgASgLMhkuYXBpLnYxLlJlcG9zaXRvcnlQcm9maWxlIrIBChdSZWFkaW5lc3NBbmFseXNpc1N0YXR1cxISCgpwcm9qZWN0X2lkGAEgASgNEh0KFXByb2plY3RfcmVwb3NpdG9yeV9pZBgCIAEoDRIRCglwcl9udW1iZXIYAyABKAUSEAoIaGVhZF9zaGEYBCABKAkSDgoGc3RhdHVzGAUgASgJEi8KC29jY3VycmVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCI9Ch5TdHJlYW1SZWFkaW5lc3NBbmFseXNpc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoASKWAQoZR2V0UmVhZGluZXNzVHJlbmRzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEiIKFXByb2plY3RfcmVwb3NpdG9yeV9pZBgCIAEoDUgAiAEBEgwKBGRheXMYAyABKAUSEAoIZ3JvdXBfYnkYBCABKAlCGAoWX3Byb2plY3RfcmVwb3NpdG9yeV9pZCJbCg5SaXNrVHJlbmRQb2ludBIMCgRkYXRlGAEgASgJEgsKA2xvdxgCIAEoBRIOCgZtZWRpdW0YAyABKAUSDAoEaGlnaBgEIAEoBRIQCghjcml0aWNhbBgFIAEoBSJEChpHZXRSZWFkaW5lc3NUcmVuZHNSZXNwb25zZRImCgZwb2ludHMYASADKAsyFi5hcGkudjEuUmlza1RyZW5kUG9pbnQilQEKG0dldFJlYWRpbmVzc0hvdHNwb3RzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEiIKFXByb2plY3RfcmVwb3NpdG9yeV9pZBgCIAEoDUgAiAEBEgwKBGRheXMYAyABKAUSDQoFbGltaXQYBCABKAVCGAoWX3Byb2plY3RfcmVwb3NpdG9yeV9pZCJPChBSZWFkaW5lc3NIb3RzcG90EgwKBHBhdGgYASABKAkSDQoFdG90YWwYAiABKAUSDAoEaGlnaBgDIAEoBRIQCghjcml0aWNhbBgEIAEoBSJKChxHZXRSZWFkaW5lc3NIb3RzcG90c1Jlc3BvbnNlEioKCGhvdHNwb3RzGAEgAygLMhguYXBpLnYxLlJlYWRpbmVzc0hvdHNwb3QygA8KEFJlYWRpbmVzc1NlcnZpY2USmgEKFExpc3RSZWFkaW5lc3NSZXBvcnRzEiMuYXBpLnYxLkxpc3RSZWFkaW5lc3NSZXBvcnRzUmVxdWVzdBokLmFwaS52MS5MaXN0UmVhZGluZXNzUmVwb3J0c1Jlc3BvbnNlIjeC0+STAjESLy9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L3JlYWRpbmVzcy1yZXBvcnRzEoMBChJHZXRSZWFkaW5lc3NSZXBvcnQSIS5hcGkudjEuR2V0UmVhZGluZXNzUmVwb3J0UmVxdWVzdBoiLmFwaS52MS5HZXRSZWFkaW5lc3NSZXBvcnRSZXNwb25zZSImgtPkkwIgEh4vYXBpL3YxL3JlYWRpbmVzcy1yZXBvcnRzL3tpZH0SpwEKHEdldFJlYWRpbmVzc09yZ0RlZmF1bHRQb2xpY3kSKy5hcGkudjEuR2V0UmVhZGluZXNzT3JnRGVmYXVsdFBvbGljeVJlcXVlc3QaLC5hcGkudjEuR2V0UmVhZGluZXNzT3JnRGVmYXVsdFBvbGljeVJlc3BvbnNlIiyC0+STAiYSJC9hcGkvdjEvcmVhZGluZXNzL29yZy1kZWZhdWx0LXBvbGljeRKzAQofVXBkYXRlUmVhZGluZXNzT3JnRGVmYXVsdFBvbGljeRIuLmFwaS52MS5VcGRhdGVSZWFkaW5lc3NPcmdEZWZhdWx0UG9saWN5UmVxdWVzdBovLmFwaS52MS5VcGRhdGVSZWFkaW5lc3NPcmdEZWZhdWx0UG9saWN5UmVzcG9uc2UiL4LT5JMCKToBKhokL2FwaS92MS9yZWFkaW5lc3Mvb3JnLWRlZmF1bHQtcG9saWN5Eq4BChlMaXN0UmVhZGluZXNzUmVwb3NpdG9yaWVzEiguYXBpLnYxLkxpc3RSZWFkaW5lc3NSZXBvc2l0b3JpZXNSZXF1ZXN0GikuYXBpLnYxLkxpc3RSZWFkaW5lc3NSZXBvc2l0b3JpZXNSZXNwb25zZSI8gtPkkwI2EjQvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZWFkaW5lc3MvcmVwb3NpdG9yaWVzEsABChZTZXRSZXBvc2l0b3J5UmVhZGluZXNzEiUuYXBpLnYxLlNldFJlcG9zaXRvcnlSZWFkaW5lc3NSZXF1ZXN0GiYuYXBpLnYxLlNldFJlcG9zaXRvcnlSZWFkaW5lc3NSZXNwb25zZSJXgtPkkwJROgEqGkwvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZWFkaW5lc3MvcmVwb3NpdG9yaWVzL3twcm9qZWN0X3JlcG9zaXRvcnlfaWR9Er8BChRHZXRSZXBvc2l0b3J5UHJvZmlsZRIjLmFwaS52MS5HZXRSZXBvc2l0b3J5UHJvZmlsZVJlcXVlc3QaJC5hcGkudjEuR2V0UmVwb3NpdG9yeVByb2ZpbGVSZXNwb25zZSJcgtPkkwJWElQvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZWFkaW5lc3MvcmVwb3NpdG9yaWVzL3twcm9qZWN0X3JlcG9zaXRvcnlfaWR9L3Byb2ZpbGUS1gEKGFJlYnVpbGRSZXBvc2l0b3J5UHJvZmlsZRInLmFwaS52MS5SZWJ1aWxkUmVwb3NpdG9yeVByb2ZpbGVSZXF1ZXN0GiguYXBpLnYxLlJlYnVpbGRSZXBvc2l0b3J5UHJvZmlsZVJlc3BvbnNlImeC0+STAmE6ASoiXC9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L3JlYWRpbmVzcy9yZXBvc2l0b3JpZXMve3Byb2plY3RfcmVwb3NpdG9yeV9pZH0vcHJvZmlsZS9yZWJ1aWxkEqUBChdTdHJlYW1SZWFkaW5lc3NBbmFseXNpcxImLmFwaS52MS5TdHJlYW1SZWFkaW5lc3NBbmFseXNpc1JlcXVlc3QaHy5hcGkudjEuUmVhZGluZXNzQW5hbHlzaXNTdGF0dXMiP4LT5JMCORI3L2FwaS92MS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVhZGluZXNzL2FuYWx5c2lzLXN0cmVhbTABEpMBChJHZXRSZWFkaW5lc3NUcmVuZHMSIS5hcGkudjEuR2V0UmVhZGluZXNzVHJlbmRzUmVxdWVzdBoiLmFwaS52MS5HZXRSZWFkaW5lc3NUcmVuZHNSZXNwb25zZSI2gtPkkwIwEi4vYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZWFkaW5lc3MvdHJlbmRzEpsBChRHZXRSZWFkaW5lc3NIb3RzcG90cxIjLmFwaS52MS5HZXRSZWFkaW5lc3NIb3RzcG90c1JlcXVlc3QaJC5hcGkudjEuR2V0UmVhZGluZXNzSG90c3BvdHNSZXNwb25zZSI4gtPkkwIyEjAvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZWFkaW5lc3MvaG90c3BvdHNCcwoKY29tLmFwaS52MUIOUmVhZGluZXNzUHJvdG9QAVocb3BzZWUvYmFja2VuZC9nZW4vYXBpL3YxO2dlbqICA0FYWKoCBkFwaS5WMcoCBkFwaVxWMeICEkFwaVxWMVxHUEJNZXRhZGF0YeoCB0FwaTo6VjFiBnByb3RvMw", [file_google_protobuf_timestamp, file_google_protobuf_struct, file_google_api_annotations, file_validate_validate, file_api_v1_pagination, file_api_v1_initiative, file_fk_foreign_key]);
|
|
17
18
|
|
|
18
19
|
/**
|
|
19
20
|
* Describes the message api.v1.ReadinessSignal.
|
|
@@ -29,201 +30,208 @@ export const ReadinessSignalSchema = /*@__PURE__*/
|
|
|
29
30
|
export const ReadinessRequiredActionSchema = /*@__PURE__*/
|
|
30
31
|
messageDesc(file_api_v1_readiness, 1);
|
|
31
32
|
|
|
33
|
+
/**
|
|
34
|
+
* Describes the message api.v1.ReadinessHandOff.
|
|
35
|
+
* Use `create(ReadinessHandOffSchema)` to create a new message.
|
|
36
|
+
*/
|
|
37
|
+
export const ReadinessHandOffSchema = /*@__PURE__*/
|
|
38
|
+
messageDesc(file_api_v1_readiness, 2);
|
|
39
|
+
|
|
32
40
|
/**
|
|
33
41
|
* Describes the message api.v1.ReadinessReport.
|
|
34
42
|
* Use `create(ReadinessReportSchema)` to create a new message.
|
|
35
43
|
*/
|
|
36
44
|
export const ReadinessReportSchema = /*@__PURE__*/
|
|
37
|
-
messageDesc(file_api_v1_readiness,
|
|
45
|
+
messageDesc(file_api_v1_readiness, 3);
|
|
38
46
|
|
|
39
47
|
/**
|
|
40
48
|
* Describes the message api.v1.ListReadinessReportsRequest.
|
|
41
49
|
* Use `create(ListReadinessReportsRequestSchema)` to create a new message.
|
|
42
50
|
*/
|
|
43
51
|
export const ListReadinessReportsRequestSchema = /*@__PURE__*/
|
|
44
|
-
messageDesc(file_api_v1_readiness,
|
|
52
|
+
messageDesc(file_api_v1_readiness, 4);
|
|
45
53
|
|
|
46
54
|
/**
|
|
47
55
|
* Describes the message api.v1.ListReadinessReportsResponse.
|
|
48
56
|
* Use `create(ListReadinessReportsResponseSchema)` to create a new message.
|
|
49
57
|
*/
|
|
50
58
|
export const ListReadinessReportsResponseSchema = /*@__PURE__*/
|
|
51
|
-
messageDesc(file_api_v1_readiness,
|
|
59
|
+
messageDesc(file_api_v1_readiness, 5);
|
|
52
60
|
|
|
53
61
|
/**
|
|
54
62
|
* Describes the message api.v1.GetReadinessReportRequest.
|
|
55
63
|
* Use `create(GetReadinessReportRequestSchema)` to create a new message.
|
|
56
64
|
*/
|
|
57
65
|
export const GetReadinessReportRequestSchema = /*@__PURE__*/
|
|
58
|
-
messageDesc(file_api_v1_readiness,
|
|
66
|
+
messageDesc(file_api_v1_readiness, 6);
|
|
59
67
|
|
|
60
68
|
/**
|
|
61
69
|
* Describes the message api.v1.GetReadinessReportResponse.
|
|
62
70
|
* Use `create(GetReadinessReportResponseSchema)` to create a new message.
|
|
63
71
|
*/
|
|
64
72
|
export const GetReadinessReportResponseSchema = /*@__PURE__*/
|
|
65
|
-
messageDesc(file_api_v1_readiness,
|
|
73
|
+
messageDesc(file_api_v1_readiness, 7);
|
|
66
74
|
|
|
67
75
|
/**
|
|
68
76
|
* Describes the message api.v1.ReadinessPolicyInput.
|
|
69
77
|
* Use `create(ReadinessPolicyInputSchema)` to create a new message.
|
|
70
78
|
*/
|
|
71
79
|
export const ReadinessPolicyInputSchema = /*@__PURE__*/
|
|
72
|
-
messageDesc(file_api_v1_readiness,
|
|
80
|
+
messageDesc(file_api_v1_readiness, 8);
|
|
73
81
|
|
|
74
82
|
/**
|
|
75
83
|
* Describes the message api.v1.GetReadinessOrgDefaultPolicyRequest.
|
|
76
84
|
* Use `create(GetReadinessOrgDefaultPolicyRequestSchema)` to create a new message.
|
|
77
85
|
*/
|
|
78
86
|
export const GetReadinessOrgDefaultPolicyRequestSchema = /*@__PURE__*/
|
|
79
|
-
messageDesc(file_api_v1_readiness,
|
|
87
|
+
messageDesc(file_api_v1_readiness, 9);
|
|
80
88
|
|
|
81
89
|
/**
|
|
82
90
|
* Describes the message api.v1.GetReadinessOrgDefaultPolicyResponse.
|
|
83
91
|
* Use `create(GetReadinessOrgDefaultPolicyResponseSchema)` to create a new message.
|
|
84
92
|
*/
|
|
85
93
|
export const GetReadinessOrgDefaultPolicyResponseSchema = /*@__PURE__*/
|
|
86
|
-
messageDesc(file_api_v1_readiness,
|
|
94
|
+
messageDesc(file_api_v1_readiness, 10);
|
|
87
95
|
|
|
88
96
|
/**
|
|
89
97
|
* Describes the message api.v1.UpdateReadinessOrgDefaultPolicyRequest.
|
|
90
98
|
* Use `create(UpdateReadinessOrgDefaultPolicyRequestSchema)` to create a new message.
|
|
91
99
|
*/
|
|
92
100
|
export const UpdateReadinessOrgDefaultPolicyRequestSchema = /*@__PURE__*/
|
|
93
|
-
messageDesc(file_api_v1_readiness,
|
|
101
|
+
messageDesc(file_api_v1_readiness, 11);
|
|
94
102
|
|
|
95
103
|
/**
|
|
96
104
|
* Describes the message api.v1.UpdateReadinessOrgDefaultPolicyResponse.
|
|
97
105
|
* Use `create(UpdateReadinessOrgDefaultPolicyResponseSchema)` to create a new message.
|
|
98
106
|
*/
|
|
99
107
|
export const UpdateReadinessOrgDefaultPolicyResponseSchema = /*@__PURE__*/
|
|
100
|
-
messageDesc(file_api_v1_readiness,
|
|
108
|
+
messageDesc(file_api_v1_readiness, 12);
|
|
101
109
|
|
|
102
110
|
/**
|
|
103
111
|
* Describes the message api.v1.ReadinessRepository.
|
|
104
112
|
* Use `create(ReadinessRepositorySchema)` to create a new message.
|
|
105
113
|
*/
|
|
106
114
|
export const ReadinessRepositorySchema = /*@__PURE__*/
|
|
107
|
-
messageDesc(file_api_v1_readiness,
|
|
115
|
+
messageDesc(file_api_v1_readiness, 13);
|
|
108
116
|
|
|
109
117
|
/**
|
|
110
118
|
* Describes the message api.v1.ListReadinessRepositoriesRequest.
|
|
111
119
|
* Use `create(ListReadinessRepositoriesRequestSchema)` to create a new message.
|
|
112
120
|
*/
|
|
113
121
|
export const ListReadinessRepositoriesRequestSchema = /*@__PURE__*/
|
|
114
|
-
messageDesc(file_api_v1_readiness,
|
|
122
|
+
messageDesc(file_api_v1_readiness, 14);
|
|
115
123
|
|
|
116
124
|
/**
|
|
117
125
|
* Describes the message api.v1.ListReadinessRepositoriesResponse.
|
|
118
126
|
* Use `create(ListReadinessRepositoriesResponseSchema)` to create a new message.
|
|
119
127
|
*/
|
|
120
128
|
export const ListReadinessRepositoriesResponseSchema = /*@__PURE__*/
|
|
121
|
-
messageDesc(file_api_v1_readiness,
|
|
129
|
+
messageDesc(file_api_v1_readiness, 15);
|
|
122
130
|
|
|
123
131
|
/**
|
|
124
132
|
* Describes the message api.v1.SetRepositoryReadinessRequest.
|
|
125
133
|
* Use `create(SetRepositoryReadinessRequestSchema)` to create a new message.
|
|
126
134
|
*/
|
|
127
135
|
export const SetRepositoryReadinessRequestSchema = /*@__PURE__*/
|
|
128
|
-
messageDesc(file_api_v1_readiness,
|
|
136
|
+
messageDesc(file_api_v1_readiness, 16);
|
|
129
137
|
|
|
130
138
|
/**
|
|
131
139
|
* Describes the message api.v1.SetRepositoryReadinessResponse.
|
|
132
140
|
* Use `create(SetRepositoryReadinessResponseSchema)` to create a new message.
|
|
133
141
|
*/
|
|
134
142
|
export const SetRepositoryReadinessResponseSchema = /*@__PURE__*/
|
|
135
|
-
messageDesc(file_api_v1_readiness,
|
|
143
|
+
messageDesc(file_api_v1_readiness, 17);
|
|
136
144
|
|
|
137
145
|
/**
|
|
138
146
|
* Describes the message api.v1.RebuildRepositoryProfileRequest.
|
|
139
147
|
* Use `create(RebuildRepositoryProfileRequestSchema)` to create a new message.
|
|
140
148
|
*/
|
|
141
149
|
export const RebuildRepositoryProfileRequestSchema = /*@__PURE__*/
|
|
142
|
-
messageDesc(file_api_v1_readiness,
|
|
150
|
+
messageDesc(file_api_v1_readiness, 18);
|
|
143
151
|
|
|
144
152
|
/**
|
|
145
153
|
* Describes the message api.v1.RebuildRepositoryProfileResponse.
|
|
146
154
|
* Use `create(RebuildRepositoryProfileResponseSchema)` to create a new message.
|
|
147
155
|
*/
|
|
148
156
|
export const RebuildRepositoryProfileResponseSchema = /*@__PURE__*/
|
|
149
|
-
messageDesc(file_api_v1_readiness,
|
|
157
|
+
messageDesc(file_api_v1_readiness, 19);
|
|
150
158
|
|
|
151
159
|
/**
|
|
152
160
|
* Describes the message api.v1.RepositoryProfile.
|
|
153
161
|
* Use `create(RepositoryProfileSchema)` to create a new message.
|
|
154
162
|
*/
|
|
155
163
|
export const RepositoryProfileSchema = /*@__PURE__*/
|
|
156
|
-
messageDesc(file_api_v1_readiness,
|
|
164
|
+
messageDesc(file_api_v1_readiness, 20);
|
|
157
165
|
|
|
158
166
|
/**
|
|
159
167
|
* Describes the message api.v1.GetRepositoryProfileRequest.
|
|
160
168
|
* Use `create(GetRepositoryProfileRequestSchema)` to create a new message.
|
|
161
169
|
*/
|
|
162
170
|
export const GetRepositoryProfileRequestSchema = /*@__PURE__*/
|
|
163
|
-
messageDesc(file_api_v1_readiness,
|
|
171
|
+
messageDesc(file_api_v1_readiness, 21);
|
|
164
172
|
|
|
165
173
|
/**
|
|
166
174
|
* Describes the message api.v1.GetRepositoryProfileResponse.
|
|
167
175
|
* Use `create(GetRepositoryProfileResponseSchema)` to create a new message.
|
|
168
176
|
*/
|
|
169
177
|
export const GetRepositoryProfileResponseSchema = /*@__PURE__*/
|
|
170
|
-
messageDesc(file_api_v1_readiness,
|
|
178
|
+
messageDesc(file_api_v1_readiness, 22);
|
|
171
179
|
|
|
172
180
|
/**
|
|
173
181
|
* Describes the message api.v1.ReadinessAnalysisStatus.
|
|
174
182
|
* Use `create(ReadinessAnalysisStatusSchema)` to create a new message.
|
|
175
183
|
*/
|
|
176
184
|
export const ReadinessAnalysisStatusSchema = /*@__PURE__*/
|
|
177
|
-
messageDesc(file_api_v1_readiness,
|
|
185
|
+
messageDesc(file_api_v1_readiness, 23);
|
|
178
186
|
|
|
179
187
|
/**
|
|
180
188
|
* Describes the message api.v1.StreamReadinessAnalysisRequest.
|
|
181
189
|
* Use `create(StreamReadinessAnalysisRequestSchema)` to create a new message.
|
|
182
190
|
*/
|
|
183
191
|
export const StreamReadinessAnalysisRequestSchema = /*@__PURE__*/
|
|
184
|
-
messageDesc(file_api_v1_readiness,
|
|
192
|
+
messageDesc(file_api_v1_readiness, 24);
|
|
185
193
|
|
|
186
194
|
/**
|
|
187
195
|
* Describes the message api.v1.GetReadinessTrendsRequest.
|
|
188
196
|
* Use `create(GetReadinessTrendsRequestSchema)` to create a new message.
|
|
189
197
|
*/
|
|
190
198
|
export const GetReadinessTrendsRequestSchema = /*@__PURE__*/
|
|
191
|
-
messageDesc(file_api_v1_readiness,
|
|
199
|
+
messageDesc(file_api_v1_readiness, 25);
|
|
192
200
|
|
|
193
201
|
/**
|
|
194
202
|
* Describes the message api.v1.RiskTrendPoint.
|
|
195
203
|
* Use `create(RiskTrendPointSchema)` to create a new message.
|
|
196
204
|
*/
|
|
197
205
|
export const RiskTrendPointSchema = /*@__PURE__*/
|
|
198
|
-
messageDesc(file_api_v1_readiness,
|
|
206
|
+
messageDesc(file_api_v1_readiness, 26);
|
|
199
207
|
|
|
200
208
|
/**
|
|
201
209
|
* Describes the message api.v1.GetReadinessTrendsResponse.
|
|
202
210
|
* Use `create(GetReadinessTrendsResponseSchema)` to create a new message.
|
|
203
211
|
*/
|
|
204
212
|
export const GetReadinessTrendsResponseSchema = /*@__PURE__*/
|
|
205
|
-
messageDesc(file_api_v1_readiness,
|
|
213
|
+
messageDesc(file_api_v1_readiness, 27);
|
|
206
214
|
|
|
207
215
|
/**
|
|
208
216
|
* Describes the message api.v1.GetReadinessHotspotsRequest.
|
|
209
217
|
* Use `create(GetReadinessHotspotsRequestSchema)` to create a new message.
|
|
210
218
|
*/
|
|
211
219
|
export const GetReadinessHotspotsRequestSchema = /*@__PURE__*/
|
|
212
|
-
messageDesc(file_api_v1_readiness,
|
|
220
|
+
messageDesc(file_api_v1_readiness, 28);
|
|
213
221
|
|
|
214
222
|
/**
|
|
215
223
|
* Describes the message api.v1.ReadinessHotspot.
|
|
216
224
|
* Use `create(ReadinessHotspotSchema)` to create a new message.
|
|
217
225
|
*/
|
|
218
226
|
export const ReadinessHotspotSchema = /*@__PURE__*/
|
|
219
|
-
messageDesc(file_api_v1_readiness,
|
|
227
|
+
messageDesc(file_api_v1_readiness, 29);
|
|
220
228
|
|
|
221
229
|
/**
|
|
222
230
|
* Describes the message api.v1.GetReadinessHotspotsResponse.
|
|
223
231
|
* Use `create(GetReadinessHotspotsResponseSchema)` to create a new message.
|
|
224
232
|
*/
|
|
225
233
|
export const GetReadinessHotspotsResponseSchema = /*@__PURE__*/
|
|
226
|
-
messageDesc(file_api_v1_readiness,
|
|
234
|
+
messageDesc(file_api_v1_readiness, 30);
|
|
227
235
|
|
|
228
236
|
/**
|
|
229
237
|
* ReadinessService exposes readiness reports (read), the org-level
|
package/package.json
CHANGED
package/src/auth/renew.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { createClient } from "@connectrpc/connect";
|
|
1
|
+
import { createClient, type Interceptor } from "@connectrpc/connect";
|
|
2
2
|
import { createConnectTransport } from "@connectrpc/connect-node";
|
|
3
3
|
import { AccountService } from "../../gen/api/v1/account_pb.js";
|
|
4
|
+
import { clientInterceptor, MCP_CLIENT_MARKER } from "../client/marker.js";
|
|
4
5
|
|
|
5
6
|
/** A freshly minted MCP access token and the identity it belongs to. */
|
|
6
7
|
export interface RenewedToken {
|
|
@@ -20,18 +21,23 @@ function backendUrl(): string {
|
|
|
20
21
|
return process.env.OPSEE_API_URL || "https://grpc.api.opsee.ai";
|
|
21
22
|
}
|
|
22
23
|
|
|
24
|
+
/** The headers a renewal call carries: the bearer being rolled and the calling client's marker. */
|
|
25
|
+
export function renewInterceptors(currentToken: string, marker = MCP_CLIENT_MARKER): Interceptor[] {
|
|
26
|
+
return [
|
|
27
|
+
(next) => async (req) => {
|
|
28
|
+
req.header.set("Authorization", `Bearer ${currentToken}`);
|
|
29
|
+
return await next(req);
|
|
30
|
+
},
|
|
31
|
+
clientInterceptor(marker),
|
|
32
|
+
];
|
|
33
|
+
}
|
|
34
|
+
|
|
23
35
|
export const renewAccessToken: TokenRenewer = async (currentToken) => {
|
|
24
36
|
// Per call, not cached: the bearer differs each time, and reuse risks leaking one user's token.
|
|
25
37
|
const transport = createConnectTransport({
|
|
26
38
|
baseUrl: backendUrl(),
|
|
27
39
|
httpVersion: "1.1",
|
|
28
|
-
interceptors:
|
|
29
|
-
(next) => async (req) => {
|
|
30
|
-
req.header.set("Authorization", `Bearer ${currentToken}`);
|
|
31
|
-
req.header.set("X-Opsee-Client", "mcp");
|
|
32
|
-
return await next(req);
|
|
33
|
-
},
|
|
34
|
-
],
|
|
40
|
+
interceptors: renewInterceptors(currentToken),
|
|
35
41
|
});
|
|
36
42
|
|
|
37
43
|
const account = createClient(AccountService, transport);
|