@opsee/mcp-server 0.5.5 → 0.5.7

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.
@@ -6,7 +6,7 @@ import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegen
6
6
  import type { Message } from "@bufbuild/protobuf";
7
7
  import type { Pagination } from "./pagination_pb";
8
8
  import type { FilterOptions } from "./filter_pb";
9
- import type { Notification } from "./models_pb";
9
+ import type { Notification, NotificationSchema } from "./models_pb";
10
10
  import type { EmptySchema } from "@bufbuild/protobuf/wkt";
11
11
 
12
12
  /**
@@ -196,6 +196,18 @@ export declare type DeleteNotificationRequest = Message<"api.v1.DeleteNotificati
196
196
  */
197
197
  export declare const DeleteNotificationRequestSchema: GenMessage<DeleteNotificationRequest>;
198
198
 
199
+ /**
200
+ * @generated from message api.v1.StreamNotificationsRequest
201
+ */
202
+ export declare type StreamNotificationsRequest = Message<"api.v1.StreamNotificationsRequest"> & {
203
+ };
204
+
205
+ /**
206
+ * Describes the message api.v1.StreamNotificationsRequest.
207
+ * Use `create(StreamNotificationsRequestSchema)` to create a new message.
208
+ */
209
+ export declare const StreamNotificationsRequestSchema: GenMessage<StreamNotificationsRequest>;
210
+
199
211
  /**
200
212
  * Response definitions
201
213
  *
@@ -313,5 +325,13 @@ export declare const NotificationService: GenService<{
313
325
  input: typeof DeleteNotificationRequestSchema;
314
326
  output: typeof EmptySchema;
315
327
  },
328
+ /**
329
+ * @generated from rpc api.v1.NotificationService.StreamNotifications
330
+ */
331
+ streamNotifications: {
332
+ methodKind: "server_streaming";
333
+ input: typeof StreamNotificationsRequestSchema;
334
+ output: typeof NotificationSchema;
335
+ },
316
336
  }>;
317
337
 
@@ -14,7 +14,7 @@ import { file_api_v1_models } from "./models_pb";
14
14
  * Describes the file api/v1/notification.proto.
15
15
  */
16
16
  export const file_api_v1_notification = /*@__PURE__*/
17
- fileDesc("ChlhcGkvdjEvbm90aWZpY2F0aW9uLnByb3RvEgZhcGkudjEi2AIKFkFkZE5vdGlmaWNhdGlvblJlcXVlc3QSFwoFdGl0bGUYASABKAlCCPpCBXIDEMgBEhgKB21lc3NhZ2UYAiABKAlCB/pCBHICEAESIgoRbm90aWZpY2F0aW9uX3R5cGUYAyABKAlCB/pCBHICEDISIQoLZW50aXR5X3R5cGUYBCABKAlCB/pCBHICGDJIAIgBARIWCgllbnRpdHlfaWQYBSABKA1IAYgBARIXCgphY3Rpb25fdXJsGAYgASgJSAKIAQESDwoHaXNfcmVhZBgHIAEoCBIWCg5zZW50X3ZpYV9lbWFpbBgIIAEoCBIaCg1tZXRhZGF0YV9qc29uGAkgASgJSAOIAQESDwoHdXNlcl9pZBgKIAEoDUIOCgxfZW50aXR5X3R5cGVCDAoKX2VudGl0eV9pZEINCgtfYWN0aW9uX3VybEIQCg5fbWV0YWRhdGFfanNvbiLuAgoXRWRpdE5vdGlmaWNhdGlvblJlcXVlc3QSEwoCaWQYASABKA1CB/pCBCoCKAESFwoFdGl0bGUYAiABKAlCCPpCBXIDEMgBEhgKB21lc3NhZ2UYAyABKAlCB/pCBHICEAESIgoRbm90aWZpY2F0aW9uX3R5cGUYBCABKAlCB/pCBHICEDISIQoLZW50aXR5X3R5cGUYBSABKAlCB/pCBHICGDJIAIgBARIWCgllbnRpdHlfaWQYBiABKA1IAYgBARIXCgphY3Rpb25fdXJsGAcgASgJSAKIAQESDwoHaXNfcmVhZBgIIAEoCBIWCg5zZW50X3ZpYV9lbWFpbBgJIAEoCBIaCg1tZXRhZGF0YV9qc29uGAogASgJSAOIAQESDwoHdXNlcl9pZBgLIAEoDUIOCgxfZW50aXR5X3R5cGVCDAoKX2VudGl0eV9pZEINCgtfYWN0aW9uX3VybEIQCg5fbWV0YWRhdGFfanNvbiIkChZHZXROb3RpZmljYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgNInoKF0dldE5vdGlmaWNhdGlvbnNSZXF1ZXN0EjAKCnBhZ2luYXRpb24YASABKAsyEi5hcGkudjEuUGFnaW5hdGlvbkII+kIFigECEAESLQoOZmlsdGVyX29wdGlvbnMYAiABKAsyFS5hcGkudjEuRmlsdGVyT3B0aW9ucyInChlEZWxldGVOb3RpZmljYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgNIm8KGEdldE5vdGlmaWNhdGlvbnNSZXNwb25zZRIrCg1ub3RpZmljYXRpb25zGAEgAygLMhQuYXBpLnYxLk5vdGlmaWNhdGlvbhImCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb24iRQoXQWRkTm90aWZpY2F0aW9uUmVzcG9uc2USKgoMbm90aWZpY2F0aW9uGAEgASgLMhQuYXBpLnYxLk5vdGlmaWNhdGlvbiJGChhFZGl0Tm90aWZpY2F0aW9uUmVzcG9uc2USKgoMbm90aWZpY2F0aW9uGAEgASgLMhQuYXBpLnYxLk5vdGlmaWNhdGlvbiJFChdHZXROb3RpZmljYXRpb25SZXNwb25zZRIqCgxub3RpZmljYXRpb24YASABKAsyFC5hcGkudjEuTm90aWZpY2F0aW9uMuwEChNOb3RpZmljYXRpb25TZXJ2aWNlEnQKD0FkZE5vdGlmaWNhdGlvbhIeLmFwaS52MS5BZGROb3RpZmljYXRpb25SZXF1ZXN0Gh8uYXBpLnYxLkFkZE5vdGlmaWNhdGlvblJlc3BvbnNlIiCC0+STAho6ASoiFS9hcGkvdjEvbm90aWZpY2F0aW9ucxJ8ChBFZGl0Tm90aWZpY2F0aW9uEh8uYXBpLnYxLkVkaXROb3RpZmljYXRpb25SZXF1ZXN0GiAuYXBpLnYxLkVkaXROb3RpZmljYXRpb25SZXNwb25zZSIlgtPkkwIfOgEqGhovYXBpL3YxL25vdGlmaWNhdGlvbnMve2lkfRJ2Cg9HZXROb3RpZmljYXRpb24SHi5hcGkudjEuR2V0Tm90aWZpY2F0aW9uUmVxdWVzdBofLmFwaS52MS5HZXROb3RpZmljYXRpb25SZXNwb25zZSIigtPkkwIcEhovYXBpL3YxL25vdGlmaWNhdGlvbnMve2lkfRJ0ChBHZXROb3RpZmljYXRpb25zEh8uYXBpLnYxLkdldE5vdGlmaWNhdGlvbnNSZXF1ZXN0GiAuYXBpLnYxLkdldE5vdGlmaWNhdGlvbnNSZXNwb25zZSIdgtPkkwIXEhUvYXBpL3YxL25vdGlmaWNhdGlvbnMScwoSRGVsZXRlTm90aWZpY2F0aW9uEiEuYXBpLnYxLkRlbGV0ZU5vdGlmaWNhdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiIoLT5JMCHCoaL2FwaS92MS9ub3RpZmljYXRpb25zL3tpZH1CdgoKY29tLmFwaS52MUIRTm90aWZpY2F0aW9uUHJvdG9QAVocb3BzZWUvYmFja2VuZC9nZW4vYXBpL3YxO2dlbqICA0FYWKoCBkFwaS5WMcoCBkFwaVxWMeICEkFwaVxWMVxHUEJNZXRhZGF0YeoCB0FwaTo6VjFiBnByb3RvMw", [file_google_protobuf_empty, file_google_api_annotations, file_validate_validate, file_api_v1_pagination, file_api_v1_filter, file_api_v1_models]);
17
+ fileDesc("ChlhcGkvdjEvbm90aWZpY2F0aW9uLnByb3RvEgZhcGkudjEi3AIKFkFkZE5vdGlmaWNhdGlvblJlcXVlc3QSGQoFdGl0bGUYASABKAlCCvpCB3IFEAEYyAESGAoHbWVzc2FnZRgCIAEoCUIH+kIEcgIQARIkChFub3RpZmljYXRpb25fdHlwZRgDIAEoCUIJ+kIGcgQQARgyEiEKC2VudGl0eV90eXBlGAQgASgJQgf6QgRyAhgySACIAQESFgoJZW50aXR5X2lkGAUgASgNSAGIAQESFwoKYWN0aW9uX3VybBgGIAEoCUgCiAEBEg8KB2lzX3JlYWQYByABKAgSFgoOc2VudF92aWFfZW1haWwYCCABKAgSGgoNbWV0YWRhdGFfanNvbhgJIAEoCUgDiAEBEg8KB3VzZXJfaWQYCiABKA1CDgoMX2VudGl0eV90eXBlQgwKCl9lbnRpdHlfaWRCDQoLX2FjdGlvbl91cmxCEAoOX21ldGFkYXRhX2pzb24i8gIKF0VkaXROb3RpZmljYXRpb25SZXF1ZXN0EhMKAmlkGAEgASgNQgf6QgQqAigBEhkKBXRpdGxlGAIgASgJQgr6QgdyBRABGMgBEhgKB21lc3NhZ2UYAyABKAlCB/pCBHICEAESJAoRbm90aWZpY2F0aW9uX3R5cGUYBCABKAlCCfpCBnIEEAEYMhIhCgtlbnRpdHlfdHlwZRgFIAEoCUIH+kIEcgIYMkgAiAEBEhYKCWVudGl0eV9pZBgGIAEoDUgBiAEBEhcKCmFjdGlvbl91cmwYByABKAlIAogBARIPCgdpc19yZWFkGAggASgIEhYKDnNlbnRfdmlhX2VtYWlsGAkgASgIEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIA4gBARIPCgd1c2VyX2lkGAsgASgNQg4KDF9lbnRpdHlfdHlwZUIMCgpfZW50aXR5X2lkQg0KC19hY3Rpb25fdXJsQhAKDl9tZXRhZGF0YV9qc29uIiQKFkdldE5vdGlmaWNhdGlvblJlcXVlc3QSCgoCaWQYASABKA0iegoXR2V0Tm90aWZpY2F0aW9uc1JlcXVlc3QSMAoKcGFnaW5hdGlvbhgBIAEoCzISLmFwaS52MS5QYWdpbmF0aW9uQgj6QgWKAQIQARItCg5maWx0ZXJfb3B0aW9ucxgCIAEoCzIVLmFwaS52MS5GaWx0ZXJPcHRpb25zIicKGURlbGV0ZU5vdGlmaWNhdGlvblJlcXVlc3QSCgoCaWQYASABKA0iHAoaU3RyZWFtTm90aWZpY2F0aW9uc1JlcXVlc3QibwoYR2V0Tm90aWZpY2F0aW9uc1Jlc3BvbnNlEisKDW5vdGlmaWNhdGlvbnMYASADKAsyFC5hcGkudjEuTm90aWZpY2F0aW9uEiYKCnBhZ2luYXRpb24YAiABKAsyEi5hcGkudjEuUGFnaW5hdGlvbiJFChdBZGROb3RpZmljYXRpb25SZXNwb25zZRIqCgxub3RpZmljYXRpb24YASABKAsyFC5hcGkudjEuTm90aWZpY2F0aW9uIkYKGEVkaXROb3RpZmljYXRpb25SZXNwb25zZRIqCgxub3RpZmljYXRpb24YASABKAsyFC5hcGkudjEuTm90aWZpY2F0aW9uIkUKF0dldE5vdGlmaWNhdGlvblJlc3BvbnNlEioKDG5vdGlmaWNhdGlvbhgBIAEoCzIULmFwaS52MS5Ob3RpZmljYXRpb24yvwUKE05vdGlmaWNhdGlvblNlcnZpY2USdAoPQWRkTm90aWZpY2F0aW9uEh4uYXBpLnYxLkFkZE5vdGlmaWNhdGlvblJlcXVlc3QaHy5hcGkudjEuQWRkTm90aWZpY2F0aW9uUmVzcG9uc2UiIILT5JMCGjoBKiIVL2FwaS92MS9ub3RpZmljYXRpb25zEnwKEEVkaXROb3RpZmljYXRpb24SHy5hcGkudjEuRWRpdE5vdGlmaWNhdGlvblJlcXVlc3QaIC5hcGkudjEuRWRpdE5vdGlmaWNhdGlvblJlc3BvbnNlIiWC0+STAh86ASoaGi9hcGkvdjEvbm90aWZpY2F0aW9ucy97aWR9EnYKD0dldE5vdGlmaWNhdGlvbhIeLmFwaS52MS5HZXROb3RpZmljYXRpb25SZXF1ZXN0Gh8uYXBpLnYxLkdldE5vdGlmaWNhdGlvblJlc3BvbnNlIiKC0+STAhwSGi9hcGkvdjEvbm90aWZpY2F0aW9ucy97aWR9EnQKEEdldE5vdGlmaWNhdGlvbnMSHy5hcGkudjEuR2V0Tm90aWZpY2F0aW9uc1JlcXVlc3QaIC5hcGkudjEuR2V0Tm90aWZpY2F0aW9uc1Jlc3BvbnNlIh2C0+STAhcSFS9hcGkvdjEvbm90aWZpY2F0aW9ucxJzChJEZWxldGVOb3RpZmljYXRpb24SIS5hcGkudjEuRGVsZXRlTm90aWZpY2F0aW9uUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIigtPkkwIcKhovYXBpL3YxL25vdGlmaWNhdGlvbnMve2lkfRJRChNTdHJlYW1Ob3RpZmljYXRpb25zEiIuYXBpLnYxLlN0cmVhbU5vdGlmaWNhdGlvbnNSZXF1ZXN0GhQuYXBpLnYxLk5vdGlmaWNhdGlvbjABQnYKCmNvbS5hcGkudjFCEU5vdGlmaWNhdGlvblByb3RvUAFaHG9wc2VlL2JhY2tlbmQvZ2VuL2FwaS92MTtnZW6iAgNBWFiqAgZBcGkuVjHKAgZBcGlcVjHiAhJBcGlcVjFcR1BCTWV0YWRhdGHqAgdBcGk6OlYxYgZwcm90bzM", [file_google_protobuf_empty, 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.AddNotificationRequest.
@@ -51,33 +51,40 @@ export const GetNotificationsRequestSchema = /*@__PURE__*/
51
51
  export const DeleteNotificationRequestSchema = /*@__PURE__*/
52
52
  messageDesc(file_api_v1_notification, 4);
53
53
 
54
+ /**
55
+ * Describes the message api.v1.StreamNotificationsRequest.
56
+ * Use `create(StreamNotificationsRequestSchema)` to create a new message.
57
+ */
58
+ export const StreamNotificationsRequestSchema = /*@__PURE__*/
59
+ messageDesc(file_api_v1_notification, 5);
60
+
54
61
  /**
55
62
  * Describes the message api.v1.GetNotificationsResponse.
56
63
  * Use `create(GetNotificationsResponseSchema)` to create a new message.
57
64
  */
58
65
  export const GetNotificationsResponseSchema = /*@__PURE__*/
59
- messageDesc(file_api_v1_notification, 5);
66
+ messageDesc(file_api_v1_notification, 6);
60
67
 
61
68
  /**
62
69
  * Describes the message api.v1.AddNotificationResponse.
63
70
  * Use `create(AddNotificationResponseSchema)` to create a new message.
64
71
  */
65
72
  export const AddNotificationResponseSchema = /*@__PURE__*/
66
- messageDesc(file_api_v1_notification, 6);
73
+ messageDesc(file_api_v1_notification, 7);
67
74
 
68
75
  /**
69
76
  * Describes the message api.v1.EditNotificationResponse.
70
77
  * Use `create(EditNotificationResponseSchema)` to create a new message.
71
78
  */
72
79
  export const EditNotificationResponseSchema = /*@__PURE__*/
73
- messageDesc(file_api_v1_notification, 7);
80
+ messageDesc(file_api_v1_notification, 8);
74
81
 
75
82
  /**
76
83
  * Describes the message api.v1.GetNotificationResponse.
77
84
  * Use `create(GetNotificationResponseSchema)` to create a new message.
78
85
  */
79
86
  export const GetNotificationResponseSchema = /*@__PURE__*/
80
- messageDesc(file_api_v1_notification, 8);
87
+ messageDesc(file_api_v1_notification, 9);
81
88
 
82
89
  /**
83
90
  * Service definition
@@ -497,9 +497,18 @@ export declare type ImportTasksRequest = Message<"api.v1.ImportTasksRequest"> &
497
497
  projectId: number;
498
498
 
499
499
  /**
500
+ * csv_content is capped at 10 MiB to prevent OOM from a malicious or
501
+ * accidental gigabyte upload. The service layer additionally caps the
502
+ * row count.
503
+ *
500
504
  * @generated from field: bytes csv_content = 2;
501
505
  */
502
506
  csvContent: Uint8Array;
507
+
508
+ /**
509
+ * @generated from field: bool skip_notifications = 3;
510
+ */
511
+ skipNotifications: boolean;
503
512
  };
504
513
 
505
514
  /**
@@ -508,6 +517,32 @@ export declare type ImportTasksRequest = Message<"api.v1.ImportTasksRequest"> &
508
517
  */
509
518
  export declare const ImportTasksRequestSchema: GenMessage<ImportTasksRequest>;
510
519
 
520
+ /**
521
+ * @generated from message api.v1.ImportedTask
522
+ */
523
+ export declare type ImportedTask = Message<"api.v1.ImportedTask"> & {
524
+ /**
525
+ * @generated from field: string external_id = 1;
526
+ */
527
+ externalId: string;
528
+
529
+ /**
530
+ * @generated from field: uint32 task_id = 2;
531
+ */
532
+ taskId: number;
533
+
534
+ /**
535
+ * @generated from field: bool created = 3;
536
+ */
537
+ created: boolean;
538
+ };
539
+
540
+ /**
541
+ * Describes the message api.v1.ImportedTask.
542
+ * Use `create(ImportedTaskSchema)` to create a new message.
543
+ */
544
+ export declare const ImportedTaskSchema: GenMessage<ImportedTask>;
545
+
511
546
  /**
512
547
  * @generated from message api.v1.ImportTasksResponse
513
548
  */
@@ -531,6 +566,16 @@ export declare type ImportTasksResponse = Message<"api.v1.ImportTasksResponse">
531
566
  * @generated from field: repeated string errors = 4;
532
567
  */
533
568
  errors: string[];
569
+
570
+ /**
571
+ * @generated from field: int32 skipped_count = 5;
572
+ */
573
+ skippedCount: number;
574
+
575
+ /**
576
+ * @generated from field: repeated api.v1.ImportedTask created_tasks = 6;
577
+ */
578
+ createdTasks: ImportedTask[];
534
579
  };
535
580
 
536
581
  /**
@@ -539,6 +584,84 @@ export declare type ImportTasksResponse = Message<"api.v1.ImportTasksResponse">
539
584
  */
540
585
  export declare const ImportTasksResponseSchema: GenMessage<ImportTasksResponse>;
541
586
 
587
+ /**
588
+ * @generated from message api.v1.TaskLink
589
+ */
590
+ export declare type TaskLink = Message<"api.v1.TaskLink"> & {
591
+ /**
592
+ * external_id matches the column we add on Task; 128-char varchar in DB.
593
+ *
594
+ * @generated from field: string external_id = 1;
595
+ */
596
+ externalId: string;
597
+
598
+ /**
599
+ * @generated from field: optional string parent_external_id = 2;
600
+ */
601
+ parentExternalId?: string;
602
+
603
+ /**
604
+ * @generated from field: optional string milestone_name = 3;
605
+ */
606
+ milestoneName?: string;
607
+ };
608
+
609
+ /**
610
+ * Describes the message api.v1.TaskLink.
611
+ * Use `create(TaskLinkSchema)` to create a new message.
612
+ */
613
+ export declare const TaskLinkSchema: GenMessage<TaskLink>;
614
+
615
+ /**
616
+ * @generated from message api.v1.LinkTasksByExternalIdRequest
617
+ */
618
+ export declare type LinkTasksByExternalIdRequest = Message<"api.v1.LinkTasksByExternalIdRequest"> & {
619
+ /**
620
+ * @generated from field: uint32 project_id = 1;
621
+ */
622
+ projectId: number;
623
+
624
+ /**
625
+ * Cap on per-call links keeps the in-transaction work bounded; matches the
626
+ * per-import row cap on the service side.
627
+ *
628
+ * @generated from field: repeated api.v1.TaskLink links = 2;
629
+ */
630
+ links: TaskLink[];
631
+ };
632
+
633
+ /**
634
+ * Describes the message api.v1.LinkTasksByExternalIdRequest.
635
+ * Use `create(LinkTasksByExternalIdRequestSchema)` to create a new message.
636
+ */
637
+ export declare const LinkTasksByExternalIdRequestSchema: GenMessage<LinkTasksByExternalIdRequest>;
638
+
639
+ /**
640
+ * @generated from message api.v1.LinkTasksByExternalIdResponse
641
+ */
642
+ export declare type LinkTasksByExternalIdResponse = Message<"api.v1.LinkTasksByExternalIdResponse"> & {
643
+ /**
644
+ * @generated from field: int32 linked_parents = 1;
645
+ */
646
+ linkedParents: number;
647
+
648
+ /**
649
+ * @generated from field: int32 linked_milestones = 2;
650
+ */
651
+ linkedMilestones: number;
652
+
653
+ /**
654
+ * @generated from field: repeated string errors = 3;
655
+ */
656
+ errors: string[];
657
+ };
658
+
659
+ /**
660
+ * Describes the message api.v1.LinkTasksByExternalIdResponse.
661
+ * Use `create(LinkTasksByExternalIdResponseSchema)` to create a new message.
662
+ */
663
+ export declare const LinkTasksByExternalIdResponseSchema: GenMessage<LinkTasksByExternalIdResponse>;
664
+
542
665
  /**
543
666
  * @generated from message api.v1.BulkEditTasksRequest
544
667
  */
@@ -733,6 +856,14 @@ export declare const TaskService: GenService<{
733
856
  input: typeof ImportTasksRequestSchema;
734
857
  output: typeof ImportTasksResponseSchema;
735
858
  },
859
+ /**
860
+ * @generated from rpc api.v1.TaskService.LinkTasksByExternalId
861
+ */
862
+ linkTasksByExternalId: {
863
+ methodKind: "unary";
864
+ input: typeof LinkTasksByExternalIdRequestSchema;
865
+ output: typeof LinkTasksByExternalIdResponseSchema;
866
+ },
736
867
  /**
737
868
  * @generated from rpc api.v1.TaskService.AddTask
738
869
  */
@@ -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("ChFhcGkvdjEvdGFzay5wcm90bxIGYXBpLnYxIvkFCg5BZGRUYXNrUmVxdWVzdBIiCgppZGVudGlmaWVyGAEgASgJQgn6QgZyBBABGDJIAIgBARIZCgV0aXRsZRgCIAEoCUIK+kIHcgUQARjIARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEh4KDWRpc3BsYXlfb3JkZXIYBCABKAVCB/pCBBoCKAASIgoMc3RvcnlfcG9pbnRzGAUgASgFQgf6QgQaAigBSAKIAQESLAoPZXN0aW1hdGVkX2hvdXJzGAYgASgBQg76QgsSCSkAAAAAAAAAAEgDiAEBEikKDGFjdHVhbF9ob3VycxgHIAEoAUIO+kILEgkpAAAAAAAAAABIBIgBARIsCghkdWVfZGF0ZRgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoPYWlfbW9kZV9lbmFibGVkGAkgASgIEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIBYgBARIQCghib2FyZF9pZBgLIAEoDRIXCg9ib2FyZF9jb2x1bW5faWQYDCABKA0SEgoKcHJvamVjdF9pZBgNIAEoDRIUCgx0YXNrX3R5cGVfaWQYDiABKA0SGAoQdGFza19wcmlvcml0eV9pZBgPIAEoDRIYChByZXBvcnRlcl91c2VyX2lkGBAgASgNEh0KEGFzc2lnbmVkX3VzZXJfaWQYESABKA1IBogBARIbCg5wYXJlbnRfdGFza19pZBgSIAEoDUgHiAEBEhYKDnJlcG9zaXRvcnlfaWRzGBMgAygNEhUKCGN5Y2xlX2lkGBQgASgNSAiIAQFCDQoLX2lkZW50aWZpZXJCDgoMX2Rlc2NyaXB0aW9uQg8KDV9zdG9yeV9wb2ludHNCEgoQX2VzdGltYXRlZF9ob3Vyc0IPCg1fYWN0dWFsX2hvdXJzQhAKDl9tZXRhZGF0YV9qc29uQhMKEV9hc3NpZ25lZF91c2VyX2lkQhEKD19wYXJlbnRfdGFza19pZEILCglfY3ljbGVfaWQi4gYKD0VkaXRUYXNrUmVxdWVzdBITCgJpZBgBIAEoDUIH+kIEKgIoARIdCgppZGVudGlmaWVyGAIgASgJQgn6QgZyBBABGDISGQoFdGl0bGUYAyABKAlCCvpCB3IFEAEYyAESGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIeCg1kaXNwbGF5X29yZGVyGAUgASgFQgf6QgQaAigAEiIKDHN0b3J5X3BvaW50cxgGIAEoBUIH+kIEGgIoAUgBiAEBEiwKD2VzdGltYXRlZF9ob3VycxgHIAEoAUIO+kILEgkpAAAAAAAAAABIAogBARIpCgxhY3R1YWxfaG91cnMYCCABKAFCDvpCCxIJKQAAAAAAAAAASAOIAQESLAoIZHVlX2RhdGUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2FpX21vZGVfZW5hYmxlZBgKIAEoCBIaCg1tZXRhZGF0YV9qc29uGAsgASgJSASIAQESEAoIYm9hcmRfaWQYDCABKA0SFwoPYm9hcmRfY29sdW1uX2lkGA0gASgNEhIKCnByb2plY3RfaWQYDiABKA0SFAoMdGFza190eXBlX2lkGA8gASgNEhgKEHRhc2tfcHJpb3JpdHlfaWQYECABKA0SGAoQcmVwb3J0ZXJfdXNlcl9pZBgRIAEoDRIdChBhc3NpZ25lZF91c2VyX2lkGBIgASgNSAWIAQESGwoOcGFyZW50X3Rhc2tfaWQYEyABKA1IBogBARIWCg5yZXBvc2l0b3J5X2lkcxgUIAMoDRIVCghjeWNsZV9pZBgVIAEoDUgHiAEBEi8KC3Jlc29sdmVkX2F0GBYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIeChFvcmlnaW5hbF9lc3RpbWF0ZRgXIAEoAUgIiAEBQg4KDF9kZXNjcmlwdGlvbkIPCg1fc3RvcnlfcG9pbnRzQhIKEF9lc3RpbWF0ZWRfaG91cnNCDwoNX2FjdHVhbF9ob3Vyc0IQCg5fbWV0YWRhdGFfanNvbkITChFfYXNzaWduZWRfdXNlcl9pZEIRCg9fcGFyZW50X3Rhc2tfaWRCCwoJX2N5Y2xlX2lkQhQKEl9vcmlnaW5hbF9lc3RpbWF0ZSIcCg5HZXRUYXNrUmVxdWVzdBIKCgJpZBgBIAEoDSIuChRHZXRUYXNrQnlVVUlEUmVxdWVzdBIWCgR1dWlkGAEgASgJQgj6QgVyA7ABASKPAQoPR2V0VGFza3NSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESMAoKcGFnaW5hdGlvbhgCIAEoCzISLmFwaS52MS5QYWdpbmF0aW9uQgj6QgWKAQIQARItCg5maWx0ZXJfb3B0aW9ucxgDIAEoCzIVLmFwaS52MS5GaWx0ZXJPcHRpb25zIh8KEURlbGV0ZVRhc2tSZXF1ZXN0EgoKAmlkGAEgASgNIlcKEEdldFRhc2tzUmVzcG9uc2USGwoFdGFza3MYASADKAsyDC5hcGkudjEuVGFzaxImCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb24iLQoPQWRkVGFza1Jlc3BvbnNlEhoKBHRhc2sYASABKAsyDC5hcGkudjEuVGFzayIuChBFZGl0VGFza1Jlc3BvbnNlEhoKBHRhc2sYASABKAsyDC5hcGkudjEuVGFzayItCg9HZXRUYXNrUmVzcG9uc2USGgoEdGFzaxgBIAEoCzIMLmFwaS52MS5UYXNrIjQKGFRyaWdnZXJBSVdvcmtmbG93UmVxdWVzdBIYCgd0YXNrX2lkGAEgASgNQgf6QgQqAigBIk4KGVRyaWdnZXJBSVdvcmtmbG93UmVzcG9uc2USEAoIam9iX25hbWUYASABKAkSDgoGc3RhdHVzGAIgASgJEg8KB21lc3NhZ2UYAyABKAkicgoSRXhwb3J0VGFza3NSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESLQoOZmlsdGVyX29wdGlvbnMYAiABKAsyFS5hcGkudjEuRmlsdGVyT3B0aW9ucxIQCgh0YXNrX2lkcxgDIAMoDSI8ChNFeHBvcnRUYXNrc1Jlc3BvbnNlEhMKC2Nzdl9jb250ZW50GAEgASgMEhAKCGZpbGVuYW1lGAIgASgJIk8KEkltcG9ydFRhc2tzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEhwKC2Nzdl9jb250ZW50GAIgASgMQgf6QgR6AhABImkKE0ltcG9ydFRhc2tzUmVzcG9uc2USFQoNY3JlYXRlZF9jb3VudBgBIAEoBRIVCg11cGRhdGVkX2NvdW50GAIgASgFEhQKDGZhaWxlZF9jb3VudBgDIAEoBRIOCgZlcnJvcnMYBCADKAki0QIKFEJ1bGtFZGl0VGFza3NSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESGgoIdGFza19pZHMYAiADKA1CCPpCBZIBAggBEhwKD2JvYXJkX2NvbHVtbl9pZBgDIAEoDUgAiAEBEh0KEHRhc2tfcHJpb3JpdHlfaWQYBCABKA1IAYgBARIZCgx0YXNrX3R5cGVfaWQYBSABKA1IAogBARIdChBhc3NpZ25lZF91c2VyX2lkGAYgASgNSAOIAQESFQoIY3ljbGVfaWQYByABKA1IBIgBARIWCg5yZXBvc2l0b3J5X2lkcxgIIAMoDUISChBfYm9hcmRfY29sdW1uX2lkQhMKEV90YXNrX3ByaW9yaXR5X2lkQg8KDV90YXNrX3R5cGVfaWRCEwoRX2Fzc2lnbmVkX3VzZXJfaWRCCwoJX2N5Y2xlX2lkIi4KFUJ1bGtFZGl0VGFza3NSZXNwb25zZRIVCg11cGRhdGVkX2NvdW50GAEgASgFIlEKFkJ1bGtEZWxldGVUYXNrc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARIaCgh0YXNrX2lkcxgCIAMoDUII+kIFkgECCAEiMAoXQnVsa0RlbGV0ZVRhc2tzUmVzcG9uc2USFQoNZGVsZXRlZF9jb3VudBgBIAEoBSJ2ChFBZGRXb3JrTG9nUmVxdWVzdBIYCgd0YXNrX2lkGAEgASgNQgf6QgQqAigBEh0KBWhvdXJzGAIgASgBQg76QgsSCSmamZmZmZm5PxIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBQg4KDF9kZXNjcmlwdGlvbiI3ChJBZGRXb3JrTG9nUmVzcG9uc2USIQoId29ya19sb2cYASABKAsyDy5hcGkudjEuV29ya0xvZyIzChREZWxldGVXb3JrTG9nUmVxdWVzdBIPCgd0YXNrX2lkGAEgASgNEgoKAmlkGAIgASgNMr4LCgtUYXNrU2VydmljZRJ9CgtFeHBvcnRUYXNrcxIaLmFwaS52MS5FeHBvcnRUYXNrc1JlcXVlc3QaGy5hcGkudjEuRXhwb3J0VGFza3NSZXNwb25zZSI1gtPkkwIvOgEqIiovYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS90YXNrcy9leHBvcnQSfQoLSW1wb3J0VGFza3MSGi5hcGkudjEuSW1wb3J0VGFza3NSZXF1ZXN0GhsuYXBpLnYxLkltcG9ydFRhc2tzUmVzcG9uc2UiNYLT5JMCLzoBKiIqL2FwaS92MS9wcm9qZWN0cy97cHJvamVjdF9pZH0vdGFza3MvaW1wb3J0ElQKB0FkZFRhc2sSFi5hcGkudjEuQWRkVGFza1JlcXVlc3QaFy5hcGkudjEuQWRkVGFza1Jlc3BvbnNlIhiC0+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("ChFhcGkvdjEvdGFzay5wcm90bxIGYXBpLnYxIvkFCg5BZGRUYXNrUmVxdWVzdBIiCgppZGVudGlmaWVyGAEgASgJQgn6QgZyBBABGDJIAIgBARIZCgV0aXRsZRgCIAEoCUIK+kIHcgUQARjIARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEh4KDWRpc3BsYXlfb3JkZXIYBCABKAVCB/pCBBoCKAASIgoMc3RvcnlfcG9pbnRzGAUgASgFQgf6QgQaAigBSAKIAQESLAoPZXN0aW1hdGVkX2hvdXJzGAYgASgBQg76QgsSCSkAAAAAAAAAAEgDiAEBEikKDGFjdHVhbF9ob3VycxgHIAEoAUIO+kILEgkpAAAAAAAAAABIBIgBARIsCghkdWVfZGF0ZRgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoPYWlfbW9kZV9lbmFibGVkGAkgASgIEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIBYgBARIQCghib2FyZF9pZBgLIAEoDRIXCg9ib2FyZF9jb2x1bW5faWQYDCABKA0SEgoKcHJvamVjdF9pZBgNIAEoDRIUCgx0YXNrX3R5cGVfaWQYDiABKA0SGAoQdGFza19wcmlvcml0eV9pZBgPIAEoDRIYChByZXBvcnRlcl91c2VyX2lkGBAgASgNEh0KEGFzc2lnbmVkX3VzZXJfaWQYESABKA1IBogBARIbCg5wYXJlbnRfdGFza19pZBgSIAEoDUgHiAEBEhYKDnJlcG9zaXRvcnlfaWRzGBMgAygNEhUKCGN5Y2xlX2lkGBQgASgNSAiIAQFCDQoLX2lkZW50aWZpZXJCDgoMX2Rlc2NyaXB0aW9uQg8KDV9zdG9yeV9wb2ludHNCEgoQX2VzdGltYXRlZF9ob3Vyc0IPCg1fYWN0dWFsX2hvdXJzQhAKDl9tZXRhZGF0YV9qc29uQhMKEV9hc3NpZ25lZF91c2VyX2lkQhEKD19wYXJlbnRfdGFza19pZEILCglfY3ljbGVfaWQi4gYKD0VkaXRUYXNrUmVxdWVzdBITCgJpZBgBIAEoDUIH+kIEKgIoARIdCgppZGVudGlmaWVyGAIgASgJQgn6QgZyBBABGDISGQoFdGl0bGUYAyABKAlCCvpCB3IFEAEYyAESGAoLZGVzY3JpcHRpb24YBCABKAlIAIgBARIeCg1kaXNwbGF5X29yZGVyGAUgASgFQgf6QgQaAigAEiIKDHN0b3J5X3BvaW50cxgGIAEoBUIH+kIEGgIoAUgBiAEBEiwKD2VzdGltYXRlZF9ob3VycxgHIAEoAUIO+kILEgkpAAAAAAAAAABIAogBARIpCgxhY3R1YWxfaG91cnMYCCABKAFCDvpCCxIJKQAAAAAAAAAASAOIAQESLAoIZHVlX2RhdGUYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhcKD2FpX21vZGVfZW5hYmxlZBgKIAEoCBIaCg1tZXRhZGF0YV9qc29uGAsgASgJSASIAQESEAoIYm9hcmRfaWQYDCABKA0SFwoPYm9hcmRfY29sdW1uX2lkGA0gASgNEhIKCnByb2plY3RfaWQYDiABKA0SFAoMdGFza190eXBlX2lkGA8gASgNEhgKEHRhc2tfcHJpb3JpdHlfaWQYECABKA0SGAoQcmVwb3J0ZXJfdXNlcl9pZBgRIAEoDRIdChBhc3NpZ25lZF91c2VyX2lkGBIgASgNSAWIAQESGwoOcGFyZW50X3Rhc2tfaWQYEyABKA1IBogBARIWCg5yZXBvc2l0b3J5X2lkcxgUIAMoDRIVCghjeWNsZV9pZBgVIAEoDUgHiAEBEi8KC3Jlc29sdmVkX2F0GBYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIeChFvcmlnaW5hbF9lc3RpbWF0ZRgXIAEoAUgIiAEBQg4KDF9kZXNjcmlwdGlvbkIPCg1fc3RvcnlfcG9pbnRzQhIKEF9lc3RpbWF0ZWRfaG91cnNCDwoNX2FjdHVhbF9ob3Vyc0IQCg5fbWV0YWRhdGFfanNvbkITChFfYXNzaWduZWRfdXNlcl9pZEIRCg9fcGFyZW50X3Rhc2tfaWRCCwoJX2N5Y2xlX2lkQhQKEl9vcmlnaW5hbF9lc3RpbWF0ZSIcCg5HZXRUYXNrUmVxdWVzdBIKCgJpZBgBIAEoDSIuChRHZXRUYXNrQnlVVUlEUmVxdWVzdBIWCgR1dWlkGAEgASgJQgj6QgVyA7ABASKPAQoPR2V0VGFza3NSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESMAoKcGFnaW5hdGlvbhgCIAEoCzISLmFwaS52MS5QYWdpbmF0aW9uQgj6QgWKAQIQARItCg5maWx0ZXJfb3B0aW9ucxgDIAEoCzIVLmFwaS52MS5GaWx0ZXJPcHRpb25zIh8KEURlbGV0ZVRhc2tSZXF1ZXN0EgoKAmlkGAEgASgNIlcKEEdldFRhc2tzUmVzcG9uc2USGwoFdGFza3MYASADKAsyDC5hcGkudjEuVGFzaxImCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb24iLQoPQWRkVGFza1Jlc3BvbnNlEhoKBHRhc2sYASABKAsyDC5hcGkudjEuVGFzayIuChBFZGl0VGFza1Jlc3BvbnNlEhoKBHRhc2sYASABKAsyDC5hcGkudjEuVGFzayItCg9HZXRUYXNrUmVzcG9uc2USGgoEdGFzaxgBIAEoCzIMLmFwaS52MS5UYXNrIjQKGFRyaWdnZXJBSVdvcmtmbG93UmVxdWVzdBIYCgd0YXNrX2lkGAEgASgNQgf6QgQqAigBIk4KGVRyaWdnZXJBSVdvcmtmbG93UmVzcG9uc2USEAoIam9iX25hbWUYASABKAkSDgoGc3RhdHVzGAIgASgJEg8KB21lc3NhZ2UYAyABKAkicgoSRXhwb3J0VGFza3NSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESLQoOZmlsdGVyX29wdGlvbnMYAiABKAsyFS5hcGkudjEuRmlsdGVyT3B0aW9ucxIQCgh0YXNrX2lkcxgDIAMoDSI8ChNFeHBvcnRUYXNrc1Jlc3BvbnNlEhMKC2Nzdl9jb250ZW50GAEgASgMEhAKCGZpbGVuYW1lGAIgASgJInAKEkltcG9ydFRhc2tzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEiEKC2Nzdl9jb250ZW50GAIgASgMQgz6Qgl6BxABGICAgAUSGgoSc2tpcF9ub3RpZmljYXRpb25zGAMgASgIIkUKDEltcG9ydGVkVGFzaxITCgtleHRlcm5hbF9pZBgBIAEoCRIPCgd0YXNrX2lkGAIgASgNEg8KB2NyZWF0ZWQYAyABKAgirQEKE0ltcG9ydFRhc2tzUmVzcG9uc2USFQoNY3JlYXRlZF9jb3VudBgBIAEoBRIVCg11cGRhdGVkX2NvdW50GAIgASgFEhQKDGZhaWxlZF9jb3VudBgDIAEoBRIOCgZlcnJvcnMYBCADKAkSFQoNc2tpcHBlZF9jb3VudBgFIAEoBRIrCg1jcmVhdGVkX3Rhc2tzGAYgAygLMhQuYXBpLnYxLkltcG9ydGVkVGFzayKnAQoIVGFza0xpbmsSHwoLZXh0ZXJuYWxfaWQYASABKAlCCvpCB3IFEAEYgAESKQoScGFyZW50X2V4dGVybmFsX2lkGAIgASgJQgj6QgVyAxiAAUgAiAEBEiUKDm1pbGVzdG9uZV9uYW1lGAMgASgJQgj6QgVyAxiAAkgBiAEBQhUKE19wYXJlbnRfZXh0ZXJuYWxfaWRCEQoPX21pbGVzdG9uZV9uYW1lImcKHExpbmtUYXNrc0J5RXh0ZXJuYWxJZFJlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARIqCgVsaW5rcxgCIAMoCzIQLmFwaS52MS5UYXNrTGlua0IJ+kIGkgEDEIgnImIKHUxpbmtUYXNrc0J5RXh0ZXJuYWxJZFJlc3BvbnNlEhYKDmxpbmtlZF9wYXJlbnRzGAEgASgFEhkKEWxpbmtlZF9taWxlc3RvbmVzGAIgASgFEg4KBmVycm9ycxgDIAMoCSLRAgoUQnVsa0VkaXRUYXNrc1JlcXVlc3QSGwoKcHJvamVjdF9pZBgBIAEoDUIH+kIEKgIoARIaCgh0YXNrX2lkcxgCIAMoDUII+kIFkgECCAESHAoPYm9hcmRfY29sdW1uX2lkGAMgASgNSACIAQESHQoQdGFza19wcmlvcml0eV9pZBgEIAEoDUgBiAEBEhkKDHRhc2tfdHlwZV9pZBgFIAEoDUgCiAEBEh0KEGFzc2lnbmVkX3VzZXJfaWQYBiABKA1IA4gBARIVCghjeWNsZV9pZBgHIAEoDUgEiAEBEhYKDnJlcG9zaXRvcnlfaWRzGAggAygNQhIKEF9ib2FyZF9jb2x1bW5faWRCEwoRX3Rhc2tfcHJpb3JpdHlfaWRCDwoNX3Rhc2tfdHlwZV9pZEITChFfYXNzaWduZWRfdXNlcl9pZEILCglfY3ljbGVfaWQiLgoVQnVsa0VkaXRUYXNrc1Jlc3BvbnNlEhUKDXVwZGF0ZWRfY291bnQYASABKAUiUQoWQnVsa0RlbGV0ZVRhc2tzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEhoKCHRhc2tfaWRzGAIgAygNQgj6QgWSAQIIASIwChdCdWxrRGVsZXRlVGFza3NSZXNwb25zZRIVCg1kZWxldGVkX2NvdW50GAEgASgFInYKEUFkZFdvcmtMb2dSZXF1ZXN0EhgKB3Rhc2tfaWQYASABKA1CB/pCBCoCKAESHQoFaG91cnMYAiABKAFCDvpCCxIJKZqZmZmZmbk/EhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uIjcKEkFkZFdvcmtMb2dSZXNwb25zZRIhCgh3b3JrX2xvZxgBIAEoCzIPLmFwaS52MS5Xb3JrTG9nIjMKFERlbGV0ZVdvcmtMb2dSZXF1ZXN0Eg8KB3Rhc2tfaWQYASABKA0SCgoCaWQYAiABKA0y6QwKC1Rhc2tTZXJ2aWNlEn0KC0V4cG9ydFRhc2tzEhouYXBpLnYxLkV4cG9ydFRhc2tzUmVxdWVzdBobLmFwaS52MS5FeHBvcnRUYXNrc1Jlc3BvbnNlIjWC0+STAi86ASoiKi9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Rhc2tzL2V4cG9ydBJ9CgtJbXBvcnRUYXNrcxIaLmFwaS52MS5JbXBvcnRUYXNrc1JlcXVlc3QaGy5hcGkudjEuSW1wb3J0VGFza3NSZXNwb25zZSI1gtPkkwIvOgEqIiovYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS90YXNrcy9pbXBvcnQSqAEKFUxpbmtUYXNrc0J5RXh0ZXJuYWxJZBIkLmFwaS52MS5MaW5rVGFza3NCeUV4dGVybmFsSWRSZXF1ZXN0GiUuYXBpLnYxLkxpbmtUYXNrc0J5RXh0ZXJuYWxJZFJlc3BvbnNlIkKC0+STAjw6ASoiNy9hcGkvdjEvcHJvamVjdHMve3Byb2plY3RfaWR9L3Rhc2tzL2xpbmstYnktZXh0ZXJuYWwtaWQSVAoHQWRkVGFzaxIWLmFwaS52MS5BZGRUYXNrUmVxdWVzdBoXLmFwaS52MS5BZGRUYXNrUmVzcG9uc2UiGILT5JMCEjoBKiINL2FwaS92MS90YXNrcxJcCghFZGl0VGFzaxIXLmFwaS52MS5FZGl0VGFza1JlcXVlc3QaGC5hcGkudjEuRWRpdFRhc2tSZXNwb25zZSIdgtPkkwIXOgEqGhIvYXBpL3YxL3Rhc2tzL3tpZH0SVgoHR2V0VGFzaxIWLmFwaS52MS5HZXRUYXNrUmVxdWVzdBoXLmFwaS52MS5HZXRUYXNrUmVzcG9uc2UiGoLT5JMCFBISL2FwaS92MS90YXNrcy97aWR9EmkKDUdldFRhc2tCeVVVSUQSHC5hcGkudjEuR2V0VGFza0J5VVVJRFJlcXVlc3QaFy5hcGkudjEuR2V0VGFza1Jlc3BvbnNlIiGC0+STAhsSGS9hcGkvdjEvdGFza3MvdXVpZC97dXVpZH0SVAoIR2V0VGFza3MSFy5hcGkudjEuR2V0VGFza3NSZXF1ZXN0GhguYXBpLnYxLkdldFRhc2tzUmVzcG9uc2UiFYLT5JMCDxINL2FwaS92MS90YXNrcxJbCgpEZWxldGVUYXNrEhkuYXBpLnYxLkRlbGV0ZVRhc2tSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhqC0+STAhQqEi9hcGkvdjEvdGFza3Mve2lkfRKHAQoRVHJpZ2dlckFJV29ya2Zsb3cSIC5hcGkudjEuVHJpZ2dlckFJV29ya2Zsb3dSZXF1ZXN0GiEuYXBpLnYxLlRyaWdnZXJBSVdvcmtmbG93UmVzcG9uc2UiLYLT5JMCJzoBKiIiL2FwaS92MS90YXNrcy97dGFza19pZH0vdHJpZ2dlci1haRJxCgpBZGRXb3JrTG9nEhkuYXBpLnYxLkFkZFdvcmtMb2dSZXF1ZXN0GhouYXBpLnYxLkFkZFdvcmtMb2dSZXNwb25zZSIsgtPkkwImOgEqIiEvYXBpL3YxL3Rhc2tzL3t0YXNrX2lkfS93b3JrLWxvZ3MSdQoNRGVsZXRlV29ya0xvZxIcLmFwaS52MS5EZWxldGVXb3JrTG9nUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIugtPkkwIoKiYvYXBpL3YxL3Rhc2tzL3t0YXNrX2lkfS93b3JrLWxvZ3Mve2lkfRKBAQoNQnVsa0VkaXRUYXNrcxIcLmFwaS52MS5CdWxrRWRpdFRhc2tzUmVxdWVzdBodLmFwaS52MS5CdWxrRWRpdFRhc2tzUmVzcG9uc2UiM4LT5JMCLToBKhooL2FwaS92MS9wcm9qZWN0cy97cHJvamVjdF9pZH0vdGFza3MvYnVsaxKOAQoPQnVsa0RlbGV0ZVRhc2tzEh4uYXBpLnYxLkJ1bGtEZWxldGVUYXNrc1JlcXVlc3QaHy5hcGkudjEuQnVsa0RlbGV0ZVRhc2tzUmVzcG9uc2UiOoLT5JMCNDoBKiIvL2FwaS92MS9wcm9qZWN0cy97cHJvamVjdF9pZH0vdGFza3MvYnVsay1kZWxldGVCbgoKY29tLmFwaS52MUIJVGFza1Byb3RvUAFaHG9wc2VlL2JhY2tlbmQvZ2VuL2FwaS92MTtnZW6iAgNBWFiqAgZBcGkuVjHKAgZBcGlcVjHiAhJBcGlcVjFcR1BCTWV0YWRhdGHqAgdBcGk6OlYxYgZwcm90bzM", [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.
@@ -121,61 +121,89 @@ export const ExportTasksResponseSchema = /*@__PURE__*/
121
121
  export const ImportTasksRequestSchema = /*@__PURE__*/
122
122
  messageDesc(file_api_v1_task, 14);
123
123
 
124
+ /**
125
+ * Describes the message api.v1.ImportedTask.
126
+ * Use `create(ImportedTaskSchema)` to create a new message.
127
+ */
128
+ export const ImportedTaskSchema = /*@__PURE__*/
129
+ messageDesc(file_api_v1_task, 15);
130
+
124
131
  /**
125
132
  * Describes the message api.v1.ImportTasksResponse.
126
133
  * Use `create(ImportTasksResponseSchema)` to create a new message.
127
134
  */
128
135
  export const ImportTasksResponseSchema = /*@__PURE__*/
129
- messageDesc(file_api_v1_task, 15);
136
+ messageDesc(file_api_v1_task, 16);
137
+
138
+ /**
139
+ * Describes the message api.v1.TaskLink.
140
+ * Use `create(TaskLinkSchema)` to create a new message.
141
+ */
142
+ export const TaskLinkSchema = /*@__PURE__*/
143
+ messageDesc(file_api_v1_task, 17);
144
+
145
+ /**
146
+ * Describes the message api.v1.LinkTasksByExternalIdRequest.
147
+ * Use `create(LinkTasksByExternalIdRequestSchema)` to create a new message.
148
+ */
149
+ export const LinkTasksByExternalIdRequestSchema = /*@__PURE__*/
150
+ messageDesc(file_api_v1_task, 18);
151
+
152
+ /**
153
+ * Describes the message api.v1.LinkTasksByExternalIdResponse.
154
+ * Use `create(LinkTasksByExternalIdResponseSchema)` to create a new message.
155
+ */
156
+ export const LinkTasksByExternalIdResponseSchema = /*@__PURE__*/
157
+ messageDesc(file_api_v1_task, 19);
130
158
 
131
159
  /**
132
160
  * Describes the message api.v1.BulkEditTasksRequest.
133
161
  * Use `create(BulkEditTasksRequestSchema)` to create a new message.
134
162
  */
135
163
  export const BulkEditTasksRequestSchema = /*@__PURE__*/
136
- messageDesc(file_api_v1_task, 16);
164
+ messageDesc(file_api_v1_task, 20);
137
165
 
138
166
  /**
139
167
  * Describes the message api.v1.BulkEditTasksResponse.
140
168
  * Use `create(BulkEditTasksResponseSchema)` to create a new message.
141
169
  */
142
170
  export const BulkEditTasksResponseSchema = /*@__PURE__*/
143
- messageDesc(file_api_v1_task, 17);
171
+ messageDesc(file_api_v1_task, 21);
144
172
 
145
173
  /**
146
174
  * Describes the message api.v1.BulkDeleteTasksRequest.
147
175
  * Use `create(BulkDeleteTasksRequestSchema)` to create a new message.
148
176
  */
149
177
  export const BulkDeleteTasksRequestSchema = /*@__PURE__*/
150
- messageDesc(file_api_v1_task, 18);
178
+ messageDesc(file_api_v1_task, 22);
151
179
 
152
180
  /**
153
181
  * Describes the message api.v1.BulkDeleteTasksResponse.
154
182
  * Use `create(BulkDeleteTasksResponseSchema)` to create a new message.
155
183
  */
156
184
  export const BulkDeleteTasksResponseSchema = /*@__PURE__*/
157
- messageDesc(file_api_v1_task, 19);
185
+ messageDesc(file_api_v1_task, 23);
158
186
 
159
187
  /**
160
188
  * Describes the message api.v1.AddWorkLogRequest.
161
189
  * Use `create(AddWorkLogRequestSchema)` to create a new message.
162
190
  */
163
191
  export const AddWorkLogRequestSchema = /*@__PURE__*/
164
- messageDesc(file_api_v1_task, 20);
192
+ messageDesc(file_api_v1_task, 24);
165
193
 
166
194
  /**
167
195
  * Describes the message api.v1.AddWorkLogResponse.
168
196
  * Use `create(AddWorkLogResponseSchema)` to create a new message.
169
197
  */
170
198
  export const AddWorkLogResponseSchema = /*@__PURE__*/
171
- messageDesc(file_api_v1_task, 21);
199
+ messageDesc(file_api_v1_task, 25);
172
200
 
173
201
  /**
174
202
  * Describes the message api.v1.DeleteWorkLogRequest.
175
203
  * Use `create(DeleteWorkLogRequestSchema)` to create a new message.
176
204
  */
177
205
  export const DeleteWorkLogRequestSchema = /*@__PURE__*/
178
- messageDesc(file_api_v1_task, 22);
206
+ messageDesc(file_api_v1_task, 26);
179
207
 
180
208
  /**
181
209
  * Service definition
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opsee/mcp-server",
3
- "version": "0.5.5",
3
+ "version": "0.5.7",
4
4
  "description": "Opsee MCP server — manage projects, tasks, docs, and cycles from AI coding environments",
5
5
  "type": "module",
6
6
  "bin": {