@opsee/mcp-server 0.7.5 → 0.8.2

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.
@@ -0,0 +1,197 @@
1
+ // @generated by protoc-gen-es v2.2.3
2
+ // @generated from file api/v1/readiness.proto (package api.v1, syntax proto3)
3
+ /* eslint-disable */
4
+
5
+ import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
6
+ import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
7
+ import { file_google_api_annotations } from "../../google/api/annotations_pb";
8
+ import { file_validate_validate } from "../../validate/validate_pb";
9
+ import { file_api_v1_pagination } from "./pagination_pb";
10
+
11
+ /**
12
+ * Describes the file api/v1/readiness.proto.
13
+ */
14
+ export const file_api_v1_readiness = /*@__PURE__*/
15
+ fileDesc("ChZhcGkvdjEvcmVhZGluZXNzLnByb3RvEgZhcGkudjEiagoPUmVhZGluZXNzU2lnbmFsEgwKBGtpbmQYASABKAkSDwoHc3VtbWFyeRgCIAEoCRINCgVjbGFzcxgDIAEoCRIpCghldmlkZW5jZRgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiOgoXUmVhZGluZXNzUmVxdWlyZWRBY3Rpb24SDwoHc3VtbWFyeRgBIAEoCRIOCgZyZWFzb24YAiABKAki6QMKD1JlYWRpbmVzc1JlcG9ydBIKCgJpZBgBIAEoDRIdChVwcm9qZWN0X3JlcG9zaXRvcnlfaWQYAiABKA0SEAoIcHJvdmlkZXIYAyABKAkSEQoJcHJfbnVtYmVyGAQgASgFEhAKCGhlYWRfc2hhGAUgASgJEhIKCnJpc2tfbGV2ZWwYBiABKAkSDQoFcGhhc2UYByABKAkSGAoLY29tbWVudF91cmwYCCABKAlIAIgBARIoCgdzaWduYWxzGAkgAygLMhcuYXBpLnYxLlJlYWRpbmVzc1NpZ25hbBI5ChByZXF1aXJlZF9hY3Rpb25zGAogAygLMh8uYXBpLnYxLlJlYWRpbmVzc1JlcXVpcmVkQWN0aW9uEhwKFHBvbGljeV9zbmFwc2hvdF9qc29uGAsgASgJEi4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhwKFHJlcG9zaXRvcnlfZnVsbF9uYW1lGA4gASgJEhYKDnJlcG9zaXRvcnlfdXJsGA8gASgJEg4KBnByX3VybBgQIAEoCUIOCgxfY29tbWVudF91cmwi0gEKG0xpc3RSZWFkaW5lc3NSZXBvcnRzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEjAKCnBhZ2luYXRpb24YAiABKAsyEi5hcGkudjEuUGFnaW5hdGlvbkII+kIFigECEAESIgoVcHJvamVjdF9yZXBvc2l0b3J5X2lkGAMgASgNSACIAQESFwoKcmlza19sZXZlbBgEIAEoCUgBiAEBQhgKFl9wcm9qZWN0X3JlcG9zaXRvcnlfaWRCDQoLX3Jpc2tfbGV2ZWwicAocTGlzdFJlYWRpbmVzc1JlcG9ydHNSZXNwb25zZRIoCgdyZXBvcnRzGAEgAygLMhcuYXBpLnYxLlJlYWRpbmVzc1JlcG9ydBImCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb24iMAoZR2V0UmVhZGluZXNzUmVwb3J0UmVxdWVzdBITCgJpZBgBIAEoDUIH+kIEKgIoASJFChpHZXRSZWFkaW5lc3NSZXBvcnRSZXNwb25zZRInCgZyZXBvcnQYASABKAsyFy5hcGkudjEuUmVhZGluZXNzUmVwb3J0IscFChRSZWFkaW5lc3NQb2xpY3lJbnB1dBIZCgxtZWRpdW1fZmlsZXMYASABKAVIAIgBARIXCgpoaWdoX2ZpbGVzGAIgASgFSAGIAQESGwoOY3JpdGljYWxfZmlsZXMYAyABKAVIAogBARIZCgxtZWRpdW1fbGluZXMYBCABKAVIA4gBARIXCgpoaWdoX2xpbmVzGAUgASgFSASIAQESGwoOY3JpdGljYWxfbGluZXMYBiABKAVIBYgBARIXCg9oaWdoX3Jpc2tfcGF0aHMYByADKAkSIAoYcmVxdWlyZV9mZWF0dXJlX2ZsYWdfZm9yGAggAygJEiEKFHJlcXVpcmVfb3duZXJfcmV2aWV3GAkgASgISAaIAQESMAojcmVxdWlyZV9yb2xsYmFja19wbGFuX2Zvcl9oaWdoX3Jpc2sYCiABKAhIB4gBARIwCiNyZXF1aXJlX29ic2VydmFiaWxpdHlfZm9yX2hpZ2hfcmlzaxgLIAEoCEgIiAEBEiAKE2Jsb2NrX2NyaXRpY2FsX3Jpc2sYDCABKAhICYgBARIlChhhZHZpc29yeV9mb3JfbWVkaXVtX3Jpc2sYDSABKAhICogBAUIPCg1fbWVkaXVtX2ZpbGVzQg0KC19oaWdoX2ZpbGVzQhEKD19jcml0aWNhbF9maWxlc0IPCg1fbWVkaXVtX2xpbmVzQg0KC19oaWdoX2xpbmVzQhEKD19jcml0aWNhbF9saW5lc0IXChVfcmVxdWlyZV9vd25lcl9yZXZpZXdCJgokX3JlcXVpcmVfcm9sbGJhY2tfcGxhbl9mb3JfaGlnaF9yaXNrQiYKJF9yZXF1aXJlX29ic2VydmFiaWxpdHlfZm9yX2hpZ2hfcmlza0IWChRfYmxvY2tfY3JpdGljYWxfcmlza0IbChlfYWR2aXNvcnlfZm9yX21lZGl1bV9yaXNrIiUKI0dldFJlYWRpbmVzc09yZ0RlZmF1bHRQb2xpY3lSZXF1ZXN0ImgKJEdldFJlYWRpbmVzc09yZ0RlZmF1bHRQb2xpY3lSZXNwb25zZRIsCgZwb2xpY3kYASABKAsyHC5hcGkudjEuUmVhZGluZXNzUG9saWN5SW5wdXQSEgoKY29uZmlndXJlZBgCIAEoCCJgCiZVcGRhdGVSZWFkaW5lc3NPcmdEZWZhdWx0UG9saWN5UmVxdWVzdBI2CgZwb2xpY3kYASABKAsyHC5hcGkudjEuUmVhZGluZXNzUG9saWN5SW5wdXRCCPpCBYoBAhABIlcKJ1VwZGF0ZVJlYWRpbmVzc09yZ0RlZmF1bHRQb2xpY3lSZXNwb25zZRIsCgZwb2xpY3kYASABKAsyHC5hcGkudjEuUmVhZGluZXNzUG9saWN5SW5wdXQilgEKE1JlYWRpbmVzc1JlcG9zaXRvcnkSHQoVcHJvamVjdF9yZXBvc2l0b3J5X2lkGAEgASgNEhwKFHJlcG9zaXRvcnlfZnVsbF9uYW1lGAIgASgJEhAKCHByb3ZpZGVyGAMgASgJEhgKEGVuYWJsZV9yZWFkaW5lc3MYBCABKAgSFgoOcmVwb3NpdG9yeV91cmwYBSABKAkiPwogTGlzdFJlYWRpbmVzc1JlcG9zaXRvcmllc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoASJWCiFMaXN0UmVhZGluZXNzUmVwb3NpdG9yaWVzUmVzcG9uc2USMQoMcmVwb3NpdG9yaWVzGAEgAygLMhsuYXBpLnYxLlJlYWRpbmVzc1JlcG9zaXRvcnkidQodU2V0UmVwb3NpdG9yeVJlYWRpbmVzc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARImChVwcm9qZWN0X3JlcG9zaXRvcnlfaWQYAiABKA1CB/pCBCoCKAESDwoHZW5hYmxlZBgDIAEoCCJRCh5TZXRSZXBvc2l0b3J5UmVhZGluZXNzUmVzcG9uc2USLwoKcmVwb3NpdG9yeRgBIAEoCzIbLmFwaS52MS5SZWFkaW5lc3NSZXBvc2l0b3J5ImYKH1JlYnVpbGRSZXBvc2l0b3J5UHJvZmlsZVJlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARImChVwcm9qZWN0X3JlcG9zaXRvcnlfaWQYAiABKA1CB/pCBCoCKAEiIgogUmVidWlsZFJlcG9zaXRvcnlQcm9maWxlUmVzcG9uc2UiwAEKEVJlcG9zaXRvcnlQcm9maWxlEh0KFXByb2plY3RfcmVwb3NpdG9yeV9pZBgBIAEoDRIRCglsYW5ndWFnZXMYAiADKAkSFAoMY29udHJpYnV0b3JzGAMgAygJEg4KBm93bmVycxgEIAMoCRIPCgdzdW1tYXJ5GAUgASgJEhIKCmNvbmZpZ3VyZWQYBiABKAgSLgoKdXBkYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiYgobR2V0UmVwb3NpdG9yeVByb2ZpbGVSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESJgoVcHJvamVjdF9yZXBvc2l0b3J5X2lkGAIgASgNQgf6QgQqAigBIkoKHEdldFJlcG9zaXRvcnlQcm9maWxlUmVzcG9uc2USKgoHcHJvZmlsZRgBIAEoCzIZLmFwaS52MS5SZXBvc2l0b3J5UHJvZmlsZSKyAQoXUmVhZGluZXNzQW5hbHlzaXNTdGF0dXMSEgoKcHJvamVjdF9pZBgBIAEoDRIdChVwcm9qZWN0X3JlcG9zaXRvcnlfaWQYAiABKA0SEQoJcHJfbnVtYmVyGAMgASgFEhAKCGhlYWRfc2hhGAQgASgJEg4KBnN0YXR1cxgFIAEoCRIvCgtvY2N1cnJlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiPQoeU3RyZWFtUmVhZGluZXNzQW5hbHlzaXNSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAEyzAwKEFJlYWRpbmVzc1NlcnZpY2USmgEKFExpc3RSZWFkaW5lc3NSZXBvcnRzEiMuYXBpLnYxLkxpc3RSZWFkaW5lc3NSZXBvcnRzUmVxdWVzdBokLmFwaS52MS5MaXN0UmVhZGluZXNzUmVwb3J0c1Jlc3BvbnNlIjeC0+STAjESLy9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L3JlYWRpbmVzcy1yZXBvcnRzEoMBChJHZXRSZWFkaW5lc3NSZXBvcnQSIS5hcGkudjEuR2V0UmVhZGluZXNzUmVwb3J0UmVxdWVzdBoiLmFwaS52MS5HZXRSZWFkaW5lc3NSZXBvcnRSZXNwb25zZSImgtPkkwIgEh4vYXBpL3YxL3JlYWRpbmVzcy1yZXBvcnRzL3tpZH0SpwEKHEdldFJlYWRpbmVzc09yZ0RlZmF1bHRQb2xpY3kSKy5hcGkudjEuR2V0UmVhZGluZXNzT3JnRGVmYXVsdFBvbGljeVJlcXVlc3QaLC5hcGkudjEuR2V0UmVhZGluZXNzT3JnRGVmYXVsdFBvbGljeVJlc3BvbnNlIiyC0+STAiYSJC9hcGkvdjEvcmVhZGluZXNzL29yZy1kZWZhdWx0LXBvbGljeRKzAQofVXBkYXRlUmVhZGluZXNzT3JnRGVmYXVsdFBvbGljeRIuLmFwaS52MS5VcGRhdGVSZWFkaW5lc3NPcmdEZWZhdWx0UG9saWN5UmVxdWVzdBovLmFwaS52MS5VcGRhdGVSZWFkaW5lc3NPcmdEZWZhdWx0UG9saWN5UmVzcG9uc2UiL4LT5JMCKToBKhokL2FwaS92MS9yZWFkaW5lc3Mvb3JnLWRlZmF1bHQtcG9saWN5Eq4BChlMaXN0UmVhZGluZXNzUmVwb3NpdG9yaWVzEiguYXBpLnYxLkxpc3RSZWFkaW5lc3NSZXBvc2l0b3JpZXNSZXF1ZXN0GikuYXBpLnYxLkxpc3RSZWFkaW5lc3NSZXBvc2l0b3JpZXNSZXNwb25zZSI8gtPkkwI2EjQvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZWFkaW5lc3MvcmVwb3NpdG9yaWVzEsABChZTZXRSZXBvc2l0b3J5UmVhZGluZXNzEiUuYXBpLnYxLlNldFJlcG9zaXRvcnlSZWFkaW5lc3NSZXF1ZXN0GiYuYXBpLnYxLlNldFJlcG9zaXRvcnlSZWFkaW5lc3NSZXNwb25zZSJXgtPkkwJROgEqGkwvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZWFkaW5lc3MvcmVwb3NpdG9yaWVzL3twcm9qZWN0X3JlcG9zaXRvcnlfaWR9Er8BChRHZXRSZXBvc2l0b3J5UHJvZmlsZRIjLmFwaS52MS5HZXRSZXBvc2l0b3J5UHJvZmlsZVJlcXVlc3QaJC5hcGkudjEuR2V0UmVwb3NpdG9yeVByb2ZpbGVSZXNwb25zZSJcgtPkkwJWElQvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS9yZWFkaW5lc3MvcmVwb3NpdG9yaWVzL3twcm9qZWN0X3JlcG9zaXRvcnlfaWR9L3Byb2ZpbGUS1gEKGFJlYnVpbGRSZXBvc2l0b3J5UHJvZmlsZRInLmFwaS52MS5SZWJ1aWxkUmVwb3NpdG9yeVByb2ZpbGVSZXF1ZXN0GiguYXBpLnYxLlJlYnVpbGRSZXBvc2l0b3J5UHJvZmlsZVJlc3BvbnNlImeC0+STAmE6ASoiXC9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L3JlYWRpbmVzcy9yZXBvc2l0b3JpZXMve3Byb2plY3RfcmVwb3NpdG9yeV9pZH0vcHJvZmlsZS9yZWJ1aWxkEqUBChdTdHJlYW1SZWFkaW5lc3NBbmFseXNpcxImLmFwaS52MS5TdHJlYW1SZWFkaW5lc3NBbmFseXNpc1JlcXVlc3QaHy5hcGkudjEuUmVhZGluZXNzQW5hbHlzaXNTdGF0dXMiP4LT5JMCORI3L2FwaS92MS9wcm9qZWN0cy97cHJvamVjdF9pZH0vcmVhZGluZXNzL2FuYWx5c2lzLXN0cmVhbTABQnMKCmNvbS5hcGkudjFCDlJlYWRpbmVzc1Byb3RvUAFaHG9wc2VlL2JhY2tlbmQvZ2VuL2FwaS92MTtnZW6iAgNBWFiqAgZBcGkuVjHKAgZBcGlcVjHiAhJBcGlcVjFcR1BCTWV0YWRhdGHqAgdBcGk6OlYxYgZwcm90bzM", [file_google_protobuf_timestamp, file_google_protobuf_struct, file_google_api_annotations, file_validate_validate, file_api_v1_pagination]);
16
+
17
+ /**
18
+ * Describes the message api.v1.ReadinessSignal.
19
+ * Use `create(ReadinessSignalSchema)` to create a new message.
20
+ */
21
+ export const ReadinessSignalSchema = /*@__PURE__*/
22
+ messageDesc(file_api_v1_readiness, 0);
23
+
24
+ /**
25
+ * Describes the message api.v1.ReadinessRequiredAction.
26
+ * Use `create(ReadinessRequiredActionSchema)` to create a new message.
27
+ */
28
+ export const ReadinessRequiredActionSchema = /*@__PURE__*/
29
+ messageDesc(file_api_v1_readiness, 1);
30
+
31
+ /**
32
+ * Describes the message api.v1.ReadinessReport.
33
+ * Use `create(ReadinessReportSchema)` to create a new message.
34
+ */
35
+ export const ReadinessReportSchema = /*@__PURE__*/
36
+ messageDesc(file_api_v1_readiness, 2);
37
+
38
+ /**
39
+ * Describes the message api.v1.ListReadinessReportsRequest.
40
+ * Use `create(ListReadinessReportsRequestSchema)` to create a new message.
41
+ */
42
+ export const ListReadinessReportsRequestSchema = /*@__PURE__*/
43
+ messageDesc(file_api_v1_readiness, 3);
44
+
45
+ /**
46
+ * Describes the message api.v1.ListReadinessReportsResponse.
47
+ * Use `create(ListReadinessReportsResponseSchema)` to create a new message.
48
+ */
49
+ export const ListReadinessReportsResponseSchema = /*@__PURE__*/
50
+ messageDesc(file_api_v1_readiness, 4);
51
+
52
+ /**
53
+ * Describes the message api.v1.GetReadinessReportRequest.
54
+ * Use `create(GetReadinessReportRequestSchema)` to create a new message.
55
+ */
56
+ export const GetReadinessReportRequestSchema = /*@__PURE__*/
57
+ messageDesc(file_api_v1_readiness, 5);
58
+
59
+ /**
60
+ * Describes the message api.v1.GetReadinessReportResponse.
61
+ * Use `create(GetReadinessReportResponseSchema)` to create a new message.
62
+ */
63
+ export const GetReadinessReportResponseSchema = /*@__PURE__*/
64
+ messageDesc(file_api_v1_readiness, 6);
65
+
66
+ /**
67
+ * Describes the message api.v1.ReadinessPolicyInput.
68
+ * Use `create(ReadinessPolicyInputSchema)` to create a new message.
69
+ */
70
+ export const ReadinessPolicyInputSchema = /*@__PURE__*/
71
+ messageDesc(file_api_v1_readiness, 7);
72
+
73
+ /**
74
+ * Describes the message api.v1.GetReadinessOrgDefaultPolicyRequest.
75
+ * Use `create(GetReadinessOrgDefaultPolicyRequestSchema)` to create a new message.
76
+ */
77
+ export const GetReadinessOrgDefaultPolicyRequestSchema = /*@__PURE__*/
78
+ messageDesc(file_api_v1_readiness, 8);
79
+
80
+ /**
81
+ * Describes the message api.v1.GetReadinessOrgDefaultPolicyResponse.
82
+ * Use `create(GetReadinessOrgDefaultPolicyResponseSchema)` to create a new message.
83
+ */
84
+ export const GetReadinessOrgDefaultPolicyResponseSchema = /*@__PURE__*/
85
+ messageDesc(file_api_v1_readiness, 9);
86
+
87
+ /**
88
+ * Describes the message api.v1.UpdateReadinessOrgDefaultPolicyRequest.
89
+ * Use `create(UpdateReadinessOrgDefaultPolicyRequestSchema)` to create a new message.
90
+ */
91
+ export const UpdateReadinessOrgDefaultPolicyRequestSchema = /*@__PURE__*/
92
+ messageDesc(file_api_v1_readiness, 10);
93
+
94
+ /**
95
+ * Describes the message api.v1.UpdateReadinessOrgDefaultPolicyResponse.
96
+ * Use `create(UpdateReadinessOrgDefaultPolicyResponseSchema)` to create a new message.
97
+ */
98
+ export const UpdateReadinessOrgDefaultPolicyResponseSchema = /*@__PURE__*/
99
+ messageDesc(file_api_v1_readiness, 11);
100
+
101
+ /**
102
+ * Describes the message api.v1.ReadinessRepository.
103
+ * Use `create(ReadinessRepositorySchema)` to create a new message.
104
+ */
105
+ export const ReadinessRepositorySchema = /*@__PURE__*/
106
+ messageDesc(file_api_v1_readiness, 12);
107
+
108
+ /**
109
+ * Describes the message api.v1.ListReadinessRepositoriesRequest.
110
+ * Use `create(ListReadinessRepositoriesRequestSchema)` to create a new message.
111
+ */
112
+ export const ListReadinessRepositoriesRequestSchema = /*@__PURE__*/
113
+ messageDesc(file_api_v1_readiness, 13);
114
+
115
+ /**
116
+ * Describes the message api.v1.ListReadinessRepositoriesResponse.
117
+ * Use `create(ListReadinessRepositoriesResponseSchema)` to create a new message.
118
+ */
119
+ export const ListReadinessRepositoriesResponseSchema = /*@__PURE__*/
120
+ messageDesc(file_api_v1_readiness, 14);
121
+
122
+ /**
123
+ * Describes the message api.v1.SetRepositoryReadinessRequest.
124
+ * Use `create(SetRepositoryReadinessRequestSchema)` to create a new message.
125
+ */
126
+ export const SetRepositoryReadinessRequestSchema = /*@__PURE__*/
127
+ messageDesc(file_api_v1_readiness, 15);
128
+
129
+ /**
130
+ * Describes the message api.v1.SetRepositoryReadinessResponse.
131
+ * Use `create(SetRepositoryReadinessResponseSchema)` to create a new message.
132
+ */
133
+ export const SetRepositoryReadinessResponseSchema = /*@__PURE__*/
134
+ messageDesc(file_api_v1_readiness, 16);
135
+
136
+ /**
137
+ * Describes the message api.v1.RebuildRepositoryProfileRequest.
138
+ * Use `create(RebuildRepositoryProfileRequestSchema)` to create a new message.
139
+ */
140
+ export const RebuildRepositoryProfileRequestSchema = /*@__PURE__*/
141
+ messageDesc(file_api_v1_readiness, 17);
142
+
143
+ /**
144
+ * Describes the message api.v1.RebuildRepositoryProfileResponse.
145
+ * Use `create(RebuildRepositoryProfileResponseSchema)` to create a new message.
146
+ */
147
+ export const RebuildRepositoryProfileResponseSchema = /*@__PURE__*/
148
+ messageDesc(file_api_v1_readiness, 18);
149
+
150
+ /**
151
+ * Describes the message api.v1.RepositoryProfile.
152
+ * Use `create(RepositoryProfileSchema)` to create a new message.
153
+ */
154
+ export const RepositoryProfileSchema = /*@__PURE__*/
155
+ messageDesc(file_api_v1_readiness, 19);
156
+
157
+ /**
158
+ * Describes the message api.v1.GetRepositoryProfileRequest.
159
+ * Use `create(GetRepositoryProfileRequestSchema)` to create a new message.
160
+ */
161
+ export const GetRepositoryProfileRequestSchema = /*@__PURE__*/
162
+ messageDesc(file_api_v1_readiness, 20);
163
+
164
+ /**
165
+ * Describes the message api.v1.GetRepositoryProfileResponse.
166
+ * Use `create(GetRepositoryProfileResponseSchema)` to create a new message.
167
+ */
168
+ export const GetRepositoryProfileResponseSchema = /*@__PURE__*/
169
+ messageDesc(file_api_v1_readiness, 21);
170
+
171
+ /**
172
+ * Describes the message api.v1.ReadinessAnalysisStatus.
173
+ * Use `create(ReadinessAnalysisStatusSchema)` to create a new message.
174
+ */
175
+ export const ReadinessAnalysisStatusSchema = /*@__PURE__*/
176
+ messageDesc(file_api_v1_readiness, 22);
177
+
178
+ /**
179
+ * Describes the message api.v1.StreamReadinessAnalysisRequest.
180
+ * Use `create(StreamReadinessAnalysisRequestSchema)` to create a new message.
181
+ */
182
+ export const StreamReadinessAnalysisRequestSchema = /*@__PURE__*/
183
+ messageDesc(file_api_v1_readiness, 23);
184
+
185
+ /**
186
+ * ReadinessService exposes readiness reports (read, OPS-102), the org-level
187
+ * default Readiness Policy (read/write, OPS-103), per-repository Readiness
188
+ * enablement (read/write, OPS-101), per-repository contextual profiles
189
+ * (read, OPS-107), and a live per-PR analysis status stream (OPS-108). All RPCs
190
+ * are company-scoped and authenticated; reports are produced by the
191
+ * deterministic webhook pipeline and are read-only.
192
+ *
193
+ * @generated from service api.v1.ReadinessService
194
+ */
195
+ export const ReadinessService = /*@__PURE__*/
196
+ serviceDesc(file_api_v1_readiness, 0);
197
+
@@ -273,6 +273,14 @@ export declare type EditTaskRequest = Message<"api.v1.EditTaskRequest"> & {
273
273
  * @generated from field: optional uint32 milestone_id = 25;
274
274
  */
275
275
  milestoneId?: number;
276
+
277
+ /**
278
+ * initiative_id mirrors milestone_id semantics: omitted = unchanged, >0 = link
279
+ * to that Initiative, 0 = detach from its Initiative.
280
+ *
281
+ * @generated from field: optional uint32 initiative_id = 26;
282
+ */
283
+ initiativeId?: number;
276
284
  };
277
285
 
278
286
  /**
@@ -14,7 +14,7 @@ import { file_api_v1_models } from "./models_pb";
14
14
  * Describes the file api/v1/task.proto.
15
15
  */
16
16
  export const file_api_v1_task = /*@__PURE__*/
17
- fileDesc("ChFhcGkvdjEvdGFzay5wcm90bxIGYXBpLnYxIq8GCg5BZGRUYXNrUmVxdWVzdBIiCgppZGVudGlmaWVyGAEgASgJQgn6QgZyBBABGDJIAIgBARIZCgV0aXRsZRgCIAEoCUIK+kIHcgUQARjIARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEhUKDWRpc3BsYXlfb3JkZXIYBCABKAkSIgoMc3RvcnlfcG9pbnRzGAUgASgFQgf6QgQaAigBSAKIAQESLAoPZXN0aW1hdGVkX2hvdXJzGAYgASgBQg76QgsSCSkAAAAAAAAAAEgDiAEBEikKDGFjdHVhbF9ob3VycxgHIAEoAUIO+kILEgkpAAAAAAAAAABIBIgBARIsCghkdWVfZGF0ZRgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoPYWlfbW9kZV9lbmFibGVkGAkgASgIEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIBYgBARIQCghib2FyZF9pZBgLIAEoDRIXCg9ib2FyZF9jb2x1bW5faWQYDCABKA0SEgoKcHJvamVjdF9pZBgNIAEoDRIUCgx0YXNrX3R5cGVfaWQYDiABKA0SGAoQdGFza19wcmlvcml0eV9pZBgPIAEoDRIYChByZXBvcnRlcl91c2VyX2lkGBAgASgNEh0KEGFzc2lnbmVkX3VzZXJfaWQYESABKA1IBogBARIbCg5wYXJlbnRfdGFza19pZBgSIAEoDUgHiAEBEhYKDnJlcG9zaXRvcnlfaWRzGBMgAygNEhUKCGN5Y2xlX2lkGBQgASgNSAiIAQESEQoJbGFiZWxfaWRzGBUgAygNEhkKDG1pbGVzdG9uZV9pZBgWIAEoDUgJiAEBQg0KC19pZGVudGlmaWVyQg4KDF9kZXNjcmlwdGlvbkIPCg1fc3RvcnlfcG9pbnRzQhIKEF9lc3RpbWF0ZWRfaG91cnNCDwoNX2FjdHVhbF9ob3Vyc0IQCg5fbWV0YWRhdGFfanNvbkITChFfYXNzaWduZWRfdXNlcl9pZEIRCg9fcGFyZW50X3Rhc2tfaWRCCwoJX2N5Y2xlX2lkQg8KDV9taWxlc3RvbmVfaWQimAcKD0VkaXRUYXNrUmVxdWVzdBITCgJpZBgBIAEoDUIH+kIEKgIoARIdCgppZGVudGlmaWVyGAIgASgJQgn6QgZyBBABGDISGQoFdGl0bGUYAyABKAlCCvpCB3IFEAEYyAESGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIVCg1kaXNwbGF5X29yZGVyGAUgASgJEiIKDHN0b3J5X3BvaW50cxgGIAEoBUIH+kIEGgIoAUgBiAEBEiwKD2VzdGltYXRlZF9ob3VycxgHIAEoAUIO+kILEgkpAAAAAAAAAABIAogBARIpCgxhY3R1YWxfaG91cnMYCCABKAFCDvpCCxIJKQAAAAAAAAAASAOIAQESLAoIZHVlX2RhdGUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2FpX21vZGVfZW5hYmxlZBgKIAEoCBIaCg1tZXRhZGF0YV9qc29uGAsgASgJSASIAQESEAoIYm9hcmRfaWQYDCABKA0SFwoPYm9hcmRfY29sdW1uX2lkGA0gASgNEhIKCnByb2plY3RfaWQYDiABKA0SFAoMdGFza190eXBlX2lkGA8gASgNEhgKEHRhc2tfcHJpb3JpdHlfaWQYECABKA0SGAoQcmVwb3J0ZXJfdXNlcl9pZBgRIAEoDRIdChBhc3NpZ25lZF91c2VyX2lkGBIgASgNSAWIAQESGwoOcGFyZW50X3Rhc2tfaWQYEyABKA1IBogBARIWCg5yZXBvc2l0b3J5X2lkcxgUIAMoDRIVCghjeWNsZV9pZBgVIAEoDUgHiAEBEi8KC3Jlc29sdmVkX2F0GBYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIeChFvcmlnaW5hbF9lc3RpbWF0ZRgXIAEoAUgIiAEBEhEKCWxhYmVsX2lkcxgYIAMoDRIZCgxtaWxlc3RvbmVfaWQYGSABKA1ICYgBAUIOCgxfZGVzY3JpcHRpb25CDwoNX3N0b3J5X3BvaW50c0ISChBfZXN0aW1hdGVkX2hvdXJzQg8KDV9hY3R1YWxfaG91cnNCEAoOX21ldGFkYXRhX2pzb25CEwoRX2Fzc2lnbmVkX3VzZXJfaWRCEQoPX3BhcmVudF90YXNrX2lkQgsKCV9jeWNsZV9pZEIUChJfb3JpZ2luYWxfZXN0aW1hdGVCDwoNX21pbGVzdG9uZV9pZCIcCg5HZXRUYXNrUmVxdWVzdBIKCgJpZBgBIAEoDSIuChRHZXRUYXNrQnlVVUlEUmVxdWVzdBIWCgR1dWlkGAEgASgJQgj6QgVyA7ABASLoAQoPR2V0VGFza3NSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESMAoKcGFnaW5hdGlvbhgCIAEoCzISLmFwaS52MS5QYWdpbmF0aW9uQgj6QgWKAQIQARItCg5maWx0ZXJfb3B0aW9ucxgDIAEoCzIVLmFwaS52MS5GaWx0ZXJPcHRpb25zEhEKCWxhYmVsX2lkcxgEIAMoDRIUCgdzb3J0X2J5GAUgASgJSACIAQESFQoIc29ydF9kaXIYBiABKAlIAYgBAUIKCghfc29ydF9ieUILCglfc29ydF9kaXIiHwoRRGVsZXRlVGFza1JlcXVlc3QSCgoCaWQYASABKA0iVwoQR2V0VGFza3NSZXNwb25zZRIbCgV0YXNrcxgBIAMoCzIMLmFwaS52MS5UYXNrEiYKCnBhZ2luYXRpb24YAiABKAsyEi5hcGkudjEuUGFnaW5hdGlvbiItCg9BZGRUYXNrUmVzcG9uc2USGgoEdGFzaxgBIAEoCzIMLmFwaS52MS5UYXNrIi4KEEVkaXRUYXNrUmVzcG9uc2USGgoEdGFzaxgBIAEoCzIMLmFwaS52MS5UYXNrIi0KD0dldFRhc2tSZXNwb25zZRIaCgR0YXNrGAEgASgLMgwuYXBpLnYxLlRhc2siNAoYVHJpZ2dlckFJV29ya2Zsb3dSZXF1ZXN0EhgKB3Rhc2tfaWQYASABKA1CB/pCBCoCKAEiTgoZVHJpZ2dlckFJV29ya2Zsb3dSZXNwb25zZRIQCghqb2JfbmFtZRgBIAEoCRIOCgZzdGF0dXMYAiABKAkSDwoHbWVzc2FnZRgDIAEoCSJyChJFeHBvcnRUYXNrc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARItCg5maWx0ZXJfb3B0aW9ucxgCIAEoCzIVLmFwaS52MS5GaWx0ZXJPcHRpb25zEhAKCHRhc2tfaWRzGAMgAygNIjwKE0V4cG9ydFRhc2tzUmVzcG9uc2USEwoLY3N2X2NvbnRlbnQYASABKAwSEAoIZmlsZW5hbWUYAiABKAkicAoSSW1wb3J0VGFza3NSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESIQoLY3N2X2NvbnRlbnQYAiABKAxCDPpCCXoHEAEYgICABRIaChJza2lwX25vdGlmaWNhdGlvbnMYAyABKAgiRQoMSW1wb3J0ZWRUYXNrEhMKC2V4dGVybmFsX2lkGAEgASgJEg8KB3Rhc2tfaWQYAiABKA0SDwoHY3JlYXRlZBgDIAEoCCKtAQoTSW1wb3J0VGFza3NSZXNwb25zZRIVCg1jcmVhdGVkX2NvdW50GAEgASgFEhUKDXVwZGF0ZWRfY291bnQYAiABKAUSFAoMZmFpbGVkX2NvdW50GAMgASgFEg4KBmVycm9ycxgEIAMoCRIVCg1za2lwcGVkX2NvdW50GAUgASgFEisKDWNyZWF0ZWRfdGFza3MYBiADKAsyFC5hcGkudjEuSW1wb3J0ZWRUYXNrIqcBCghUYXNrTGluaxIfCgtleHRlcm5hbF9pZBgBIAEoCUIK+kIHcgUQARiAARIpChJwYXJlbnRfZXh0ZXJuYWxfaWQYAiABKAlCCPpCBXIDGIABSACIAQESJQoObWlsZXN0b25lX25hbWUYAyABKAlCCPpCBXIDGIACSAGIAQFCFQoTX3BhcmVudF9leHRlcm5hbF9pZEIRCg9fbWlsZXN0b25lX25hbWUiZwocTGlua1Rhc2tzQnlFeHRlcm5hbElkUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEioKBWxpbmtzGAIgAygLMhAuYXBpLnYxLlRhc2tMaW5rQgn6QgaSAQMQiCciYgodTGlua1Rhc2tzQnlFeHRlcm5hbElkUmVzcG9uc2USFgoObGlua2VkX3BhcmVudHMYASABKAUSGQoRbGlua2VkX21pbGVzdG9uZXMYAiABKAUSDgoGZXJyb3JzGAMgAygJIrcEChRCdWxrRWRpdFRhc2tzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEhoKCHRhc2tfaWRzGAIgAygNQgj6QgWSAQIIARIcCg9ib2FyZF9jb2x1bW5faWQYAyABKA1IAIgBARIdChB0YXNrX3ByaW9yaXR5X2lkGAQgASgNSAGIAQESGQoMdGFza190eXBlX2lkGAUgASgNSAKIAQESHQoQYXNzaWduZWRfdXNlcl9pZBgGIAEoDUgDiAEBEhUKCGN5Y2xlX2lkGAcgASgNSASIAQESFgoOcmVwb3NpdG9yeV9pZHMYCCADKA0SIgoMc3RvcnlfcG9pbnRzGAkgASgFQgf6QgQaAigBSAWIAQESLAoPZXN0aW1hdGVkX2hvdXJzGAogASgBQg76QgsSCSkAAAAAAAAAAEgGiAEBEhsKDnBhcmVudF90YXNrX2lkGAsgASgNSAeIAQESEQoJbGFiZWxfaWRzGAwgAygNEhkKDG1pbGVzdG9uZV9pZBgNIAEoDUgIiAEBQhIKEF9ib2FyZF9jb2x1bW5faWRCEwoRX3Rhc2tfcHJpb3JpdHlfaWRCDwoNX3Rhc2tfdHlwZV9pZEITChFfYXNzaWduZWRfdXNlcl9pZEILCglfY3ljbGVfaWRCDwoNX3N0b3J5X3BvaW50c0ISChBfZXN0aW1hdGVkX2hvdXJzQhEKD19wYXJlbnRfdGFza19pZEIPCg1fbWlsZXN0b25lX2lkIi4KFUJ1bGtFZGl0VGFza3NSZXNwb25zZRIVCg11cGRhdGVkX2NvdW50GAEgASgFIlEKFkJ1bGtEZWxldGVUYXNrc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARIaCgh0YXNrX2lkcxgCIAMoDUII+kIFkgECCAEiMAoXQnVsa0RlbGV0ZVRhc2tzUmVzcG9uc2USFQoNZGVsZXRlZF9jb3VudBgBIAEoBSJ2ChFBZGRXb3JrTG9nUmVxdWVzdBIYCgd0YXNrX2lkGAEgASgNQgf6QgQqAigBEh0KBWhvdXJzGAIgASgBQg76QgsSCSmamZmZmZm5PxIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBQg4KDF9kZXNjcmlwdGlvbiI3ChJBZGRXb3JrTG9nUmVzcG9uc2USIQoId29ya19sb2cYASABKAsyDy5hcGkudjEuV29ya0xvZyIzChREZWxldGVXb3JrTG9nUmVxdWVzdBIPCgd0YXNrX2lkGAEgASgNEgoKAmlkGAIgASgNMukMCgtUYXNrU2VydmljZRJ9CgtFeHBvcnRUYXNrcxIaLmFwaS52MS5FeHBvcnRUYXNrc1JlcXVlc3QaGy5hcGkudjEuRXhwb3J0VGFza3NSZXNwb25zZSI1gtPkkwIvOgEqIiovYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS90YXNrcy9leHBvcnQSfQoLSW1wb3J0VGFza3MSGi5hcGkudjEuSW1wb3J0VGFza3NSZXF1ZXN0GhsuYXBpLnYxLkltcG9ydFRhc2tzUmVzcG9uc2UiNYLT5JMCLzoBKiIqL2FwaS92MS9wcm9qZWN0cy97cHJvamVjdF9pZH0vdGFza3MvaW1wb3J0EqgBChVMaW5rVGFza3NCeUV4dGVybmFsSWQSJC5hcGkudjEuTGlua1Rhc2tzQnlFeHRlcm5hbElkUmVxdWVzdBolLmFwaS52MS5MaW5rVGFza3NCeUV4dGVybmFsSWRSZXNwb25zZSJCgtPkkwI8OgEqIjcvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS90YXNrcy9saW5rLWJ5LWV4dGVybmFsLWlkElQKB0FkZFRhc2sSFi5hcGkudjEuQWRkVGFza1JlcXVlc3QaFy5hcGkudjEuQWRkVGFza1Jlc3BvbnNlIhiC0+STAhI6ASoiDS9hcGkvdjEvdGFza3MSXAoIRWRpdFRhc2sSFy5hcGkudjEuRWRpdFRhc2tSZXF1ZXN0GhguYXBpLnYxLkVkaXRUYXNrUmVzcG9uc2UiHYLT5JMCFzoBKhoSL2FwaS92MS90YXNrcy97aWR9ElYKB0dldFRhc2sSFi5hcGkudjEuR2V0VGFza1JlcXVlc3QaFy5hcGkudjEuR2V0VGFza1Jlc3BvbnNlIhqC0+STAhQSEi9hcGkvdjEvdGFza3Mve2lkfRJpCg1HZXRUYXNrQnlVVUlEEhwuYXBpLnYxLkdldFRhc2tCeVVVSURSZXF1ZXN0GhcuYXBpLnYxLkdldFRhc2tSZXNwb25zZSIhgtPkkwIbEhkvYXBpL3YxL3Rhc2tzL3V1aWQve3V1aWR9ElQKCEdldFRhc2tzEhcuYXBpLnYxLkdldFRhc2tzUmVxdWVzdBoYLmFwaS52MS5HZXRUYXNrc1Jlc3BvbnNlIhWC0+STAg8SDS9hcGkvdjEvdGFza3MSWwoKRGVsZXRlVGFzaxIZLmFwaS52MS5EZWxldGVUYXNrUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIagtPkkwIUKhIvYXBpL3YxL3Rhc2tzL3tpZH0ShwEKEVRyaWdnZXJBSVdvcmtmbG93EiAuYXBpLnYxLlRyaWdnZXJBSVdvcmtmbG93UmVxdWVzdBohLmFwaS52MS5UcmlnZ2VyQUlXb3JrZmxvd1Jlc3BvbnNlIi2C0+STAic6ASoiIi9hcGkvdjEvdGFza3Mve3Rhc2tfaWR9L3RyaWdnZXItYWkScQoKQWRkV29ya0xvZxIZLmFwaS52MS5BZGRXb3JrTG9nUmVxdWVzdBoaLmFwaS52MS5BZGRXb3JrTG9nUmVzcG9uc2UiLILT5JMCJjoBKiIhL2FwaS92MS90YXNrcy97dGFza19pZH0vd29yay1sb2dzEnUKDURlbGV0ZVdvcmtMb2cSHC5hcGkudjEuRGVsZXRlV29ya0xvZ1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiLoLT5JMCKComL2FwaS92MS90YXNrcy97dGFza19pZH0vd29yay1sb2dzL3tpZH0SgQEKDUJ1bGtFZGl0VGFza3MSHC5hcGkudjEuQnVsa0VkaXRUYXNrc1JlcXVlc3QaHS5hcGkudjEuQnVsa0VkaXRUYXNrc1Jlc3BvbnNlIjOC0+STAi06ASoaKC9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Rhc2tzL2J1bGsSjgEKD0J1bGtEZWxldGVUYXNrcxIeLmFwaS52MS5CdWxrRGVsZXRlVGFza3NSZXF1ZXN0Gh8uYXBpLnYxLkJ1bGtEZWxldGVUYXNrc1Jlc3BvbnNlIjqC0+STAjQ6ASoiLy9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Rhc2tzL2J1bGstZGVsZXRlQm4KCmNvbS5hcGkudjFCCVRhc2tQcm90b1ABWhxvcHNlZS9iYWNrZW5kL2dlbi9hcGkvdjE7Z2VuogIDQVhYqgIGQXBpLlYxygIGQXBpXFYx4gISQXBpXFYxXEdQQk1ldGFkYXRh6gIHQXBpOjpWMWIGcHJvdG8z", [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]);
17
+ fileDesc("ChFhcGkvdjEvdGFzay5wcm90bxIGYXBpLnYxIq8GCg5BZGRUYXNrUmVxdWVzdBIiCgppZGVudGlmaWVyGAEgASgJQgn6QgZyBBABGDJIAIgBARIZCgV0aXRsZRgCIAEoCUIK+kIHcgUQARjIARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEhUKDWRpc3BsYXlfb3JkZXIYBCABKAkSIgoMc3RvcnlfcG9pbnRzGAUgASgFQgf6QgQaAigBSAKIAQESLAoPZXN0aW1hdGVkX2hvdXJzGAYgASgBQg76QgsSCSkAAAAAAAAAAEgDiAEBEikKDGFjdHVhbF9ob3VycxgHIAEoAUIO+kILEgkpAAAAAAAAAABIBIgBARIsCghkdWVfZGF0ZRgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoPYWlfbW9kZV9lbmFibGVkGAkgASgIEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIBYgBARIQCghib2FyZF9pZBgLIAEoDRIXCg9ib2FyZF9jb2x1bW5faWQYDCABKA0SEgoKcHJvamVjdF9pZBgNIAEoDRIUCgx0YXNrX3R5cGVfaWQYDiABKA0SGAoQdGFza19wcmlvcml0eV9pZBgPIAEoDRIYChByZXBvcnRlcl91c2VyX2lkGBAgASgNEh0KEGFzc2lnbmVkX3VzZXJfaWQYESABKA1IBogBARIbCg5wYXJlbnRfdGFza19pZBgSIAEoDUgHiAEBEhYKDnJlcG9zaXRvcnlfaWRzGBMgAygNEhUKCGN5Y2xlX2lkGBQgASgNSAiIAQESEQoJbGFiZWxfaWRzGBUgAygNEhkKDG1pbGVzdG9uZV9pZBgWIAEoDUgJiAEBQg0KC19pZGVudGlmaWVyQg4KDF9kZXNjcmlwdGlvbkIPCg1fc3RvcnlfcG9pbnRzQhIKEF9lc3RpbWF0ZWRfaG91cnNCDwoNX2FjdHVhbF9ob3Vyc0IQCg5fbWV0YWRhdGFfanNvbkITChFfYXNzaWduZWRfdXNlcl9pZEIRCg9fcGFyZW50X3Rhc2tfaWRCCwoJX2N5Y2xlX2lkQg8KDV9taWxlc3RvbmVfaWQixgcKD0VkaXRUYXNrUmVxdWVzdBITCgJpZBgBIAEoDUIH+kIEKgIoARIdCgppZGVudGlmaWVyGAIgASgJQgn6QgZyBBABGDISGQoFdGl0bGUYAyABKAlCCvpCB3IFEAEYyAESGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIVCg1kaXNwbGF5X29yZGVyGAUgASgJEiIKDHN0b3J5X3BvaW50cxgGIAEoBUIH+kIEGgIoAUgBiAEBEiwKD2VzdGltYXRlZF9ob3VycxgHIAEoAUIO+kILEgkpAAAAAAAAAABIAogBARIpCgxhY3R1YWxfaG91cnMYCCABKAFCDvpCCxIJKQAAAAAAAAAASAOIAQESLAoIZHVlX2RhdGUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2FpX21vZGVfZW5hYmxlZBgKIAEoCBIaCg1tZXRhZGF0YV9qc29uGAsgASgJSASIAQESEAoIYm9hcmRfaWQYDCABKA0SFwoPYm9hcmRfY29sdW1uX2lkGA0gASgNEhIKCnByb2plY3RfaWQYDiABKA0SFAoMdGFza190eXBlX2lkGA8gASgNEhgKEHRhc2tfcHJpb3JpdHlfaWQYECABKA0SGAoQcmVwb3J0ZXJfdXNlcl9pZBgRIAEoDRIdChBhc3NpZ25lZF91c2VyX2lkGBIgASgNSAWIAQESGwoOcGFyZW50X3Rhc2tfaWQYEyABKA1IBogBARIWCg5yZXBvc2l0b3J5X2lkcxgUIAMoDRIVCghjeWNsZV9pZBgVIAEoDUgHiAEBEi8KC3Jlc29sdmVkX2F0GBYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIeChFvcmlnaW5hbF9lc3RpbWF0ZRgXIAEoAUgIiAEBEhEKCWxhYmVsX2lkcxgYIAMoDRIZCgxtaWxlc3RvbmVfaWQYGSABKA1ICYgBARIaCg1pbml0aWF0aXZlX2lkGBogASgNSAqIAQFCDgoMX2Rlc2NyaXB0aW9uQg8KDV9zdG9yeV9wb2ludHNCEgoQX2VzdGltYXRlZF9ob3Vyc0IPCg1fYWN0dWFsX2hvdXJzQhAKDl9tZXRhZGF0YV9qc29uQhMKEV9hc3NpZ25lZF91c2VyX2lkQhEKD19wYXJlbnRfdGFza19pZEILCglfY3ljbGVfaWRCFAoSX29yaWdpbmFsX2VzdGltYXRlQg8KDV9taWxlc3RvbmVfaWRCEAoOX2luaXRpYXRpdmVfaWQiHAoOR2V0VGFza1JlcXVlc3QSCgoCaWQYASABKA0iLgoUR2V0VGFza0J5VVVJRFJlcXVlc3QSFgoEdXVpZBgBIAEoCUII+kIFcgOwAQEi6AEKD0dldFRhc2tzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEjAKCnBhZ2luYXRpb24YAiABKAsyEi5hcGkudjEuUGFnaW5hdGlvbkII+kIFigECEAESLQoOZmlsdGVyX29wdGlvbnMYAyABKAsyFS5hcGkudjEuRmlsdGVyT3B0aW9ucxIRCglsYWJlbF9pZHMYBCADKA0SFAoHc29ydF9ieRgFIAEoCUgAiAEBEhUKCHNvcnRfZGlyGAYgASgJSAGIAQFCCgoIX3NvcnRfYnlCCwoJX3NvcnRfZGlyIh8KEURlbGV0ZVRhc2tSZXF1ZXN0EgoKAmlkGAEgASgNIlcKEEdldFRhc2tzUmVzcG9uc2USGwoFdGFza3MYASADKAsyDC5hcGkudjEuVGFzaxImCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb24iLQoPQWRkVGFza1Jlc3BvbnNlEhoKBHRhc2sYASABKAsyDC5hcGkudjEuVGFzayIuChBFZGl0VGFza1Jlc3BvbnNlEhoKBHRhc2sYASABKAsyDC5hcGkudjEuVGFzayItCg9HZXRUYXNrUmVzcG9uc2USGgoEdGFzaxgBIAEoCzIMLmFwaS52MS5UYXNrIjQKGFRyaWdnZXJBSVdvcmtmbG93UmVxdWVzdBIYCgd0YXNrX2lkGAEgASgNQgf6QgQqAigBIk4KGVRyaWdnZXJBSVdvcmtmbG93UmVzcG9uc2USEAoIam9iX25hbWUYASABKAkSDgoGc3RhdHVzGAIgASgJEg8KB21lc3NhZ2UYAyABKAkicgoSRXhwb3J0VGFza3NSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESLQoOZmlsdGVyX29wdGlvbnMYAiABKAsyFS5hcGkudjEuRmlsdGVyT3B0aW9ucxIQCgh0YXNrX2lkcxgDIAMoDSI8ChNFeHBvcnRUYXNrc1Jlc3BvbnNlEhMKC2Nzdl9jb250ZW50GAEgASgMEhAKCGZpbGVuYW1lGAIgASgJInAKEkltcG9ydFRhc2tzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEiEKC2Nzdl9jb250ZW50GAIgASgMQgz6Qgl6BxABGICAgAUSGgoSc2tpcF9ub3RpZmljYXRpb25zGAMgASgIIkUKDEltcG9ydGVkVGFzaxITCgtleHRlcm5hbF9pZBgBIAEoCRIPCgd0YXNrX2lkGAIgASgNEg8KB2NyZWF0ZWQYAyABKAgirQEKE0ltcG9ydFRhc2tzUmVzcG9uc2USFQoNY3JlYXRlZF9jb3VudBgBIAEoBRIVCg11cGRhdGVkX2NvdW50GAIgASgFEhQKDGZhaWxlZF9jb3VudBgDIAEoBRIOCgZlcnJvcnMYBCADKAkSFQoNc2tpcHBlZF9jb3VudBgFIAEoBRIrCg1jcmVhdGVkX3Rhc2tzGAYgAygLMhQuYXBpLnYxLkltcG9ydGVkVGFzayKnAQoIVGFza0xpbmsSHwoLZXh0ZXJuYWxfaWQYASABKAlCCvpCB3IFEAEYgAESKQoScGFyZW50X2V4dGVybmFsX2lkGAIgASgJQgj6QgVyAxiAAUgAiAEBEiUKDm1pbGVzdG9uZV9uYW1lGAMgASgJQgj6QgVyAxiAAkgBiAEBQhUKE19wYXJlbnRfZXh0ZXJuYWxfaWRCEQoPX21pbGVzdG9uZV9uYW1lImcKHExpbmtUYXNrc0J5RXh0ZXJuYWxJZFJlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARIqCgVsaW5rcxgCIAMoCzIQLmFwaS52MS5UYXNrTGlua0IJ+kIGkgEDEIgnImIKHUxpbmtUYXNrc0J5RXh0ZXJuYWxJZFJlc3BvbnNlEhYKDmxpbmtlZF9wYXJlbnRzGAEgASgFEhkKEWxpbmtlZF9taWxlc3RvbmVzGAIgASgFEg4KBmVycm9ycxgDIAMoCSK3BAoUQnVsa0VkaXRUYXNrc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARIaCgh0YXNrX2lkcxgCIAMoDUII+kIFkgECCAESHAoPYm9hcmRfY29sdW1uX2lkGAMgASgNSACIAQESHQoQdGFza19wcmlvcml0eV9pZBgEIAEoDUgBiAEBEhkKDHRhc2tfdHlwZV9pZBgFIAEoDUgCiAEBEh0KEGFzc2lnbmVkX3VzZXJfaWQYBiABKA1IA4gBARIVCghjeWNsZV9pZBgHIAEoDUgEiAEBEhYKDnJlcG9zaXRvcnlfaWRzGAggAygNEiIKDHN0b3J5X3BvaW50cxgJIAEoBUIH+kIEGgIoAUgFiAEBEiwKD2VzdGltYXRlZF9ob3VycxgKIAEoAUIO+kILEgkpAAAAAAAAAABIBogBARIbCg5wYXJlbnRfdGFza19pZBgLIAEoDUgHiAEBEhEKCWxhYmVsX2lkcxgMIAMoDRIZCgxtaWxlc3RvbmVfaWQYDSABKA1ICIgBAUISChBfYm9hcmRfY29sdW1uX2lkQhMKEV90YXNrX3ByaW9yaXR5X2lkQg8KDV90YXNrX3R5cGVfaWRCEwoRX2Fzc2lnbmVkX3VzZXJfaWRCCwoJX2N5Y2xlX2lkQg8KDV9zdG9yeV9wb2ludHNCEgoQX2VzdGltYXRlZF9ob3Vyc0IRCg9fcGFyZW50X3Rhc2tfaWRCDwoNX21pbGVzdG9uZV9pZCIuChVCdWxrRWRpdFRhc2tzUmVzcG9uc2USFQoNdXBkYXRlZF9jb3VudBgBIAEoBSJRChZCdWxrRGVsZXRlVGFza3NSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESGgoIdGFza19pZHMYAiADKA1CCPpCBZIBAggBIjAKF0J1bGtEZWxldGVUYXNrc1Jlc3BvbnNlEhUKDWRlbGV0ZWRfY291bnQYASABKAUidgoRQWRkV29ya0xvZ1JlcXVlc3QSGAoHdGFza19pZBgBIAEoDUIH+kIEKgIoARIdCgVob3VycxgCIAEoAUIO+kILEgkpmpmZmZmZuT8SGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBAUIOCgxfZGVzY3JpcHRpb24iNwoSQWRkV29ya0xvZ1Jlc3BvbnNlEiEKCHdvcmtfbG9nGAEgASgLMg8uYXBpLnYxLldvcmtMb2ciMwoURGVsZXRlV29ya0xvZ1JlcXVlc3QSDwoHdGFza19pZBgBIAEoDRIKCgJpZBgCIAEoDTLpDAoLVGFza1NlcnZpY2USfQoLRXhwb3J0VGFza3MSGi5hcGkudjEuRXhwb3J0VGFza3NSZXF1ZXN0GhsuYXBpLnYxLkV4cG9ydFRhc2tzUmVzcG9uc2UiNYLT5JMCLzoBKiIqL2FwaS92MS9wcm9qZWN0cy97cHJvamVjdF9pZH0vdGFza3MvZXhwb3J0En0KC0ltcG9ydFRhc2tzEhouYXBpLnYxLkltcG9ydFRhc2tzUmVxdWVzdBobLmFwaS52MS5JbXBvcnRUYXNrc1Jlc3BvbnNlIjWC0+STAi86ASoiKi9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Rhc2tzL2ltcG9ydBKoAQoVTGlua1Rhc2tzQnlFeHRlcm5hbElkEiQuYXBpLnYxLkxpbmtUYXNrc0J5RXh0ZXJuYWxJZFJlcXVlc3QaJS5hcGkudjEuTGlua1Rhc2tzQnlFeHRlcm5hbElkUmVzcG9uc2UiQoLT5JMCPDoBKiI3L2FwaS92MS9wcm9qZWN0cy97cHJvamVjdF9pZH0vdGFza3MvbGluay1ieS1leHRlcm5hbC1pZBJUCgdBZGRUYXNrEhYuYXBpLnYxLkFkZFRhc2tSZXF1ZXN0GhcuYXBpLnYxLkFkZFRhc2tSZXNwb25zZSIYgtPkkwISOgEqIg0vYXBpL3YxL3Rhc2tzElwKCEVkaXRUYXNrEhcuYXBpLnYxLkVkaXRUYXNrUmVxdWVzdBoYLmFwaS52MS5FZGl0VGFza1Jlc3BvbnNlIh2C0+STAhc6ASoaEi9hcGkvdjEvdGFza3Mve2lkfRJWCgdHZXRUYXNrEhYuYXBpLnYxLkdldFRhc2tSZXF1ZXN0GhcuYXBpLnYxLkdldFRhc2tSZXNwb25zZSIagtPkkwIUEhIvYXBpL3YxL3Rhc2tzL3tpZH0SaQoNR2V0VGFza0J5VVVJRBIcLmFwaS52MS5HZXRUYXNrQnlVVUlEUmVxdWVzdBoXLmFwaS52MS5HZXRUYXNrUmVzcG9uc2UiIYLT5JMCGxIZL2FwaS92MS90YXNrcy91dWlkL3t1dWlkfRJUCghHZXRUYXNrcxIXLmFwaS52MS5HZXRUYXNrc1JlcXVlc3QaGC5hcGkudjEuR2V0VGFza3NSZXNwb25zZSIVgtPkkwIPEg0vYXBpL3YxL3Rhc2tzElsKCkRlbGV0ZVRhc2sSGS5hcGkudjEuRGVsZXRlVGFza1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiGoLT5JMCFCoSL2FwaS92MS90YXNrcy97aWR9EocBChFUcmlnZ2VyQUlXb3JrZmxvdxIgLmFwaS52MS5UcmlnZ2VyQUlXb3JrZmxvd1JlcXVlc3QaIS5hcGkudjEuVHJpZ2dlckFJV29ya2Zsb3dSZXNwb25zZSItgtPkkwInOgEqIiIvYXBpL3YxL3Rhc2tzL3t0YXNrX2lkfS90cmlnZ2VyLWFpEnEKCkFkZFdvcmtMb2cSGS5hcGkudjEuQWRkV29ya0xvZ1JlcXVlc3QaGi5hcGkudjEuQWRkV29ya0xvZ1Jlc3BvbnNlIiyC0+STAiY6ASoiIS9hcGkvdjEvdGFza3Mve3Rhc2tfaWR9L3dvcmstbG9ncxJ1Cg1EZWxldGVXb3JrTG9nEhwuYXBpLnYxLkRlbGV0ZVdvcmtMb2dSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ii6C0+STAigqJi9hcGkvdjEvdGFza3Mve3Rhc2tfaWR9L3dvcmstbG9ncy97aWR9EoEBCg1CdWxrRWRpdFRhc2tzEhwuYXBpLnYxLkJ1bGtFZGl0VGFza3NSZXF1ZXN0Gh0uYXBpLnYxLkJ1bGtFZGl0VGFza3NSZXNwb25zZSIzgtPkkwItOgEqGigvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS90YXNrcy9idWxrEo4BCg9CdWxrRGVsZXRlVGFza3MSHi5hcGkudjEuQnVsa0RlbGV0ZVRhc2tzUmVxdWVzdBofLmFwaS52MS5CdWxrRGVsZXRlVGFza3NSZXNwb25zZSI6gtPkkwI0OgEqIi8vYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS90YXNrcy9idWxrLWRlbGV0ZUJuCgpjb20uYXBpLnYxQglUYXNrUHJvdG9QAVocb3BzZWUvYmFja2VuZC9nZW4vYXBpL3YxO2dlbqICA0FYWKoCBkFwaS5WMcoCBkFwaVxWMeICEkFwaVxWMVxHUEJNZXRhZGF0YeoCB0FwaTo6VjFiBnByb3RvMw", [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]);
18
18
 
19
19
  /**
20
20
  * Describes the message api.v1.AddTaskRequest.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opsee/mcp-server",
3
- "version": "0.7.5",
3
+ "version": "0.8.2",
4
4
  "description": "Opsee MCP server — manage projects, tasks, docs, and cycles from AI coding environments",
5
5
  "type": "module",
6
6
  "bin": {
package/src/client/api.ts CHANGED
@@ -28,6 +28,7 @@ import { CommentService } from "../../gen/api/v1/comment_pb.js";
28
28
  import { TaskDependencyService } from "../../gen/api/v1/task_dependency_pb.js";
29
29
  import { NotificationService } from "../../gen/api/v1/notification_pb.js";
30
30
  import { AcceptanceCriterionService } from "../../gen/api/v1/acceptance_criterion_pb.js";
31
+ import { InitiativeService } from "../../gen/api/v1/initiative_pb.js";
31
32
 
32
33
  const authInterceptor: Interceptor = (next) => async (req) => {
33
34
  // Remote mode: token from AsyncLocalStorage (per-request)
@@ -113,6 +114,7 @@ export type ApiClients = {
113
114
  taskDependencies: Client<typeof TaskDependencyService>;
114
115
  notifications: Client<typeof NotificationService>;
115
116
  acceptanceCriteria: Client<typeof AcceptanceCriterionService>;
117
+ initiatives: Client<typeof InitiativeService>;
116
118
  };
117
119
 
118
120
  export function getClients(): ApiClients {
@@ -137,6 +139,7 @@ export function getClients(): ApiClients {
137
139
  taskDependencies: makeClient(TaskDependencyService),
138
140
  notifications: makeClient(NotificationService),
139
141
  acceptanceCriteria: makeClient(AcceptanceCriterionService),
142
+ initiatives: makeClient(InitiativeService),
140
143
  };
141
144
  }
142
145
  return cachedClients;
package/src/server.ts CHANGED
@@ -14,6 +14,7 @@ import { registerTaskDependencyTools } from "./tools/task-dependencies.js";
14
14
  import { registerWorkLogTools } from "./tools/work-logs.js";
15
15
  import { registerNotificationTools } from "./tools/notifications.js";
16
16
  import { registerAcceptanceCriterionTools } from "./tools/acceptance-criteria.js";
17
+ import { registerInitiativeTools } from "./tools/initiatives.js";
17
18
 
18
19
  export function createServer(clientFactory?: () => ApiClients): McpServer {
19
20
  const factory = clientFactory ?? getClients;
@@ -37,6 +38,7 @@ export function createServer(clientFactory?: () => ApiClients): McpServer {
37
38
  registerWorkLogTools(server, factory);
38
39
  registerNotificationTools(server, factory);
39
40
  registerAcceptanceCriterionTools(server, factory);
41
+ registerInitiativeTools(server, factory);
40
42
 
41
43
  return server;
42
44
  }
@@ -15,18 +15,20 @@ export function registerCommentTools(
15
15
  ): void {
16
16
  server.tool(
17
17
  "opsee_list_comments",
18
- "List comments on a task, oldest first. Includes both regular and internal comments visible to the caller.",
18
+ "List comments on a task or an Initiative, oldest first. Includes both regular and internal comments visible to the caller. Provide exactly one of taskId or initiativeId.",
19
19
  {
20
- taskId: z.number().describe("The task ID"),
20
+ taskId: z.number().optional().describe("The task ID (provide exactly one of taskId or initiativeId)"),
21
+ initiativeId: z.number().optional().describe("The initiative ID (provide exactly one of taskId or initiativeId)"),
21
22
  page: z.number().optional().describe("Page number (default: 1)"),
22
23
  pageSize: z.number().optional().describe("Items per page (default: 50)"),
23
24
  },
24
25
  { readOnlyHint: true, destructiveHint: false },
25
- async ({ taskId, page, pageSize }) => {
26
+ async ({ taskId, initiativeId, page, pageSize }) => {
26
27
  try {
27
28
  const clients = getClients();
28
29
  const res = await clients.comments.getComments({
29
30
  taskId,
31
+ initiativeId,
30
32
  pagination: defaultPagination(page || 1, pageSize || 50),
31
33
  });
32
34
  return { content: [{ type: "text", text: formatCommentList(res.comments) }] };
@@ -38,14 +40,15 @@ export function registerCommentTools(
38
40
 
39
41
  server.tool(
40
42
  "opsee_add_comment",
41
- "Add a comment to a task. Posts as the authenticated user. Set isInternal=true to mark the comment as internal (visibility depends on backend RBAC).",
43
+ "Add a comment to a task or an Initiative. Posts as the authenticated user. Provide exactly one of taskId or initiativeId. Set isInternal=true to mark the comment as internal (visibility depends on backend RBAC).",
42
44
  {
43
- taskId: z.number().describe("The task ID to comment on"),
45
+ taskId: z.number().optional().describe("The task ID to comment on (provide exactly one of taskId or initiativeId)"),
46
+ initiativeId: z.number().optional().describe("The initiative ID to comment on (provide exactly one of taskId or initiativeId)"),
44
47
  content: z.string().min(1).describe("Comment body"),
45
48
  isInternal: z.boolean().optional().describe("Mark as internal comment (default: false)"),
46
49
  },
47
50
  { readOnlyHint: false, destructiveHint: false },
48
- async ({ taskId, content, isInternal }) => {
51
+ async ({ taskId, initiativeId, content, isInternal }) => {
49
52
  try {
50
53
  const clients = getClients();
51
54
 
@@ -64,6 +67,7 @@ export function registerCommentTools(
64
67
  content,
65
68
  isInternal: isInternal ?? false,
66
69
  taskId,
70
+ initiativeId,
67
71
  userId,
68
72
  });
69
73