@opsee/mcp-server 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/gen/api/v1/acceptance_criterion_pb.js +2 -1
  2. package/gen/api/v1/account_pb.d.ts +20 -0
  3. package/gen/api/v1/account_pb.js +1 -1
  4. package/gen/api/v1/activity_log_pb.js +2 -1
  5. package/gen/api/v1/ai_workflow_run_pb.js +2 -1
  6. package/gen/api/v1/ai_workflow_unit_pb.js +2 -1
  7. package/gen/api/v1/attachment_pb.js +2 -1
  8. package/gen/api/v1/board_column_pb.d.ts +75 -0
  9. package/gen/api/v1/board_column_pb.js +27 -5
  10. package/gen/api/v1/board_pb.js +2 -1
  11. package/gen/api/v1/comment_pb.d.ts +19 -0
  12. package/gen/api/v1/comment_pb.js +2 -1
  13. package/gen/api/v1/component_pb.js +2 -1
  14. package/gen/api/v1/cycle_pb.js +2 -1
  15. package/gen/api/v1/doc_page_pb.js +2 -1
  16. package/gen/api/v1/doc_space_pb.js +2 -1
  17. package/gen/api/v1/doc_template_pb.js +2 -1
  18. package/gen/api/v1/document_pb.js +2 -1
  19. package/gen/api/v1/initiative_pb.d.ts +181 -0
  20. package/gen/api/v1/initiative_pb.js +46 -17
  21. package/gen/api/v1/integration_pb.d.ts +559 -0
  22. package/gen/api/v1/integration_pb.js +123 -3
  23. package/gen/api/v1/label_pb.js +2 -1
  24. package/gen/api/v1/milestone_doc_page_pb.js +2 -1
  25. package/gen/api/v1/milestone_document_pb.js +2 -1
  26. package/gen/api/v1/milestone_pb.js +2 -1
  27. package/gen/api/v1/milestone_repository_pb.js +2 -1
  28. package/gen/api/v1/milestone_task_pb.js +2 -1
  29. package/gen/api/v1/models_pb.d.ts +55 -0
  30. package/gen/api/v1/models_pb.js +56 -49
  31. package/gen/api/v1/orchestrator_pb.d.ts +164 -1
  32. package/gen/api/v1/orchestrator_pb.js +81 -53
  33. package/gen/api/v1/project_membership_pb.d.ts +207 -1
  34. package/gen/api/v1/project_membership_pb.js +46 -2
  35. package/gen/api/v1/project_pb.d.ts +47 -3
  36. package/gen/api/v1/project_pb.js +29 -15
  37. package/gen/api/v1/readiness_pb.d.ts +229 -10
  38. package/gen/api/v1/readiness_pb.js +50 -7
  39. package/gen/api/v1/reporting_pb.js +2 -1
  40. package/gen/api/v1/subscription_pb.js +1 -1
  41. package/gen/api/v1/task_component_pb.js +2 -1
  42. package/gen/api/v1/task_contributor_pb.js +2 -1
  43. package/gen/api/v1/task_doc_page_pb.js +2 -1
  44. package/gen/api/v1/task_document_pb.js +2 -1
  45. package/gen/api/v1/task_label_pb.js +2 -1
  46. package/gen/api/v1/task_pb.d.ts +281 -1
  47. package/gen/api/v1/task_pb.js +73 -23
  48. package/gen/api/v1/task_priority_pb.js +2 -1
  49. package/gen/api/v1/task_repository_pb.js +2 -1
  50. package/gen/api/v1/task_subscription_pb.d.ts +146 -0
  51. package/gen/api/v1/task_subscription_pb.js +66 -0
  52. package/gen/api/v1/task_template_pb.js +2 -1
  53. package/gen/api/v1/task_type_pb.js +2 -1
  54. package/gen/api/v1/view_pb.js +2 -1
  55. package/package.json +1 -1
@@ -7,7 +7,7 @@ import type { Message } from "@bufbuild/protobuf";
7
7
  import type { EmptySchema, Timestamp } from "@bufbuild/protobuf/wkt";
8
8
  import type { Pagination } from "./pagination_pb";
9
9
  import type { FilterOptions } from "./filter_pb";
10
- import type { Task, WorkLog } from "./models_pb";
10
+ import type { Task, TaskPullRequest, WorkLog } from "./models_pb";
11
11
 
12
12
  /**
13
13
  * Describes the file api/v1/task.proto.
@@ -362,6 +362,52 @@ export declare type GetTasksRequest = Message<"api.v1.GetTasksRequest"> & {
362
362
  */
363
363
  export declare const GetTasksRequestSchema: GenMessage<GetTasksRequest>;
364
364
 
365
+ /**
366
+ * GetTaskTreeRequest mirrors GetTasksRequest but the result is the parent/child
367
+ * task tree ("group by parent" nested view). Pagination applies to ROOT tasks,
368
+ * not to total rows. Filters/search match the whole tree: a matching subtask
369
+ * pulls its (non-matching) parent in as a context-only root. See ADR-0010.
370
+ *
371
+ * @generated from message api.v1.GetTaskTreeRequest
372
+ */
373
+ export declare type GetTaskTreeRequest = Message<"api.v1.GetTaskTreeRequest"> & {
374
+ /**
375
+ * @generated from field: uint32 project_id = 1;
376
+ */
377
+ projectId: number;
378
+
379
+ /**
380
+ * @generated from field: api.v1.Pagination pagination = 2;
381
+ */
382
+ pagination?: Pagination;
383
+
384
+ /**
385
+ * @generated from field: api.v1.FilterOptions filter_options = 3;
386
+ */
387
+ filterOptions?: FilterOptions;
388
+
389
+ /**
390
+ * @generated from field: repeated uint32 label_ids = 4;
391
+ */
392
+ labelIds: number[];
393
+
394
+ /**
395
+ * @generated from field: optional string sort_by = 5;
396
+ */
397
+ sortBy?: string;
398
+
399
+ /**
400
+ * @generated from field: optional string sort_dir = 6;
401
+ */
402
+ sortDir?: string;
403
+ };
404
+
405
+ /**
406
+ * Describes the message api.v1.GetTaskTreeRequest.
407
+ * Use `create(GetTaskTreeRequestSchema)` to create a new message.
408
+ */
409
+ export declare const GetTaskTreeRequestSchema: GenMessage<GetTaskTreeRequest>;
410
+
365
411
  /**
366
412
  * @generated from message api.v1.DeleteTaskRequest
367
413
  */
@@ -401,6 +447,85 @@ export declare type GetTasksResponse = Message<"api.v1.GetTasksResponse"> & {
401
447
  */
402
448
  export declare const GetTasksResponseSchema: GenMessage<GetTasksResponse>;
403
449
 
450
+ /**
451
+ * TaskTreeNode is one root task plus the subtask context needed to render it
452
+ * nested. See ADR-0010.
453
+ *
454
+ * @generated from message api.v1.TaskTreeNode
455
+ */
456
+ export declare type TaskTreeNode = Message<"api.v1.TaskTreeNode"> & {
457
+ /**
458
+ * The root task (parent_task_id IS NULL).
459
+ *
460
+ * @generated from field: api.v1.Task root = 1;
461
+ */
462
+ root?: Task;
463
+
464
+ /**
465
+ * is_context_only is true when the root itself did not match the filter and
466
+ * is present only because one of its subtasks matched. The frontend renders
467
+ * it faded and excludes it from selection/bulk/counts.
468
+ *
469
+ * @generated from field: bool is_context_only = 2;
470
+ */
471
+ isContextOnly: boolean;
472
+
473
+ /**
474
+ * child_count is the total number of subtasks of this root (soft-delete aware),
475
+ * independent of any filter. Drives the "(N subtasks)" label and the chevron.
476
+ *
477
+ * @generated from field: uint32 child_count = 3;
478
+ */
479
+ childCount: number;
480
+
481
+ /**
482
+ * matched_subtasks are the subtasks that matched the filter, returned inline
483
+ * and expanded. Empty in the unfiltered case (children load lazily on expand
484
+ * via GetTasks with a ParentTaskId filter).
485
+ *
486
+ * @generated from field: repeated api.v1.Task matched_subtasks = 4;
487
+ */
488
+ matchedSubtasks: Task[];
489
+
490
+ /**
491
+ * has_more_children is true when child_count exceeds matched_subtasks, i.e.
492
+ * there are additional (non-matching, or not-yet-loaded) subtasks behind the
493
+ * "+N more" affordance.
494
+ *
495
+ * @generated from field: bool has_more_children = 5;
496
+ */
497
+ hasMoreChildren: boolean;
498
+ };
499
+
500
+ /**
501
+ * Describes the message api.v1.TaskTreeNode.
502
+ * Use `create(TaskTreeNodeSchema)` to create a new message.
503
+ */
504
+ export declare const TaskTreeNodeSchema: GenMessage<TaskTreeNode>;
505
+
506
+ /**
507
+ * @generated from message api.v1.GetTaskTreeResponse
508
+ */
509
+ export declare type GetTaskTreeResponse = Message<"api.v1.GetTaskTreeResponse"> & {
510
+ /**
511
+ * @generated from field: repeated api.v1.TaskTreeNode nodes = 1;
512
+ */
513
+ nodes: TaskTreeNode[];
514
+
515
+ /**
516
+ * Pagination reflects ROOT-level paging (total = number of root tasks).
517
+ *
518
+ * @generated from field: api.v1.Pagination pagination = 2;
519
+ */
520
+ pagination?: Pagination;
521
+ };
522
+
523
+ /**
524
+ * Describes the message api.v1.GetTaskTreeResponse.
525
+ * Use `create(GetTaskTreeResponseSchema)` to create a new message.
526
+ */
527
+ export declare const GetTaskTreeResponseSchema: GenMessage<GetTaskTreeResponse>;
528
+
404
529
  /**
405
530
  * @generated from message api.v1.AddTaskResponse
406
531
  */
@@ -713,6 +838,119 @@ export declare type LinkTasksByExternalIdResponse = Message<"api.v1.LinkTasksByE
713
838
  */
714
839
  export declare const LinkTasksByExternalIdResponseSchema: GenMessage<LinkTasksByExternalIdResponse>;
715
840
 
841
+ /**
842
+ * LinkTaskPullRequestRequest links an existing task to a pull request. Written
843
+ * through the same (task_id, project_repository_id, pr_number) upsert key the
844
+ * VCS webhook uses, so a link created here is later reconciled onto the same row.
845
+ *
846
+ * @generated from message api.v1.LinkTaskPullRequestRequest
847
+ */
848
+ export declare type LinkTaskPullRequestRequest = Message<"api.v1.LinkTaskPullRequestRequest"> & {
849
+ /**
850
+ * @generated from field: uint32 task_id = 1;
851
+ */
852
+ taskId: number;
853
+
854
+ /**
855
+ * @generated from field: uint32 project_repository_id = 2;
856
+ */
857
+ projectRepositoryId: number;
858
+
859
+ /**
860
+ * @generated from field: int32 pr_number = 3;
861
+ */
862
+ prNumber: number;
863
+
864
+ /**
865
+ * @generated from field: string url = 4;
866
+ */
867
+ url: string;
868
+
869
+ /**
870
+ * @generated from field: string title = 5;
871
+ */
872
+ title: string;
873
+
874
+ /**
875
+ * @generated from field: string head_branch = 6;
876
+ */
877
+ headBranch: string;
878
+
879
+ /**
880
+ * @generated from field: string head_sha = 7;
881
+ */
882
+ headSha: string;
883
+ };
884
+
885
+ /**
886
+ * Describes the message api.v1.LinkTaskPullRequestRequest.
887
+ * Use `create(LinkTaskPullRequestRequestSchema)` to create a new message.
888
+ */
889
+ export declare const LinkTaskPullRequestRequestSchema: GenMessage<LinkTaskPullRequestRequest>;
890
+
891
+ /**
892
+ * @generated from message api.v1.LinkTaskPullRequestResponse
893
+ */
894
+ export declare type LinkTaskPullRequestResponse = Message<"api.v1.LinkTaskPullRequestResponse"> & {
895
+ /**
896
+ * @generated from field: api.v1.TaskPullRequest task_pull_request = 1;
897
+ */
898
+ taskPullRequest?: TaskPullRequest;
899
+ };
900
+
901
+ /**
902
+ * Describes the message api.v1.LinkTaskPullRequestResponse.
903
+ * Use `create(LinkTaskPullRequestResponseSchema)` to create a new message.
904
+ */
905
+ export declare const LinkTaskPullRequestResponseSchema: GenMessage<LinkTaskPullRequestResponse>;
906
+
907
+ /**
908
+ * @generated from message api.v1.ResolveEntityByPathRequest
909
+ */
910
+ export declare type ResolveEntityByPathRequest = Message<"api.v1.ResolveEntityByPathRequest"> & {
911
+ /**
912
+ * @generated from field: string company_slug = 1;
913
+ */
914
+ companySlug: string;
915
+
916
+ /**
917
+ * @generated from field: string project_slug = 2;
918
+ */
919
+ projectSlug: string;
920
+
921
+ /**
922
+ * @generated from field: string identifier = 3;
923
+ */
924
+ identifier: string;
925
+ };
926
+
927
+ /**
928
+ * Describes the message api.v1.ResolveEntityByPathRequest.
929
+ * Use `create(ResolveEntityByPathRequestSchema)` to create a new message.
930
+ */
931
+ export declare const ResolveEntityByPathRequestSchema: GenMessage<ResolveEntityByPathRequest>;
932
+
933
+ /**
934
+ * @generated from message api.v1.ResolveEntityByPathResponse
935
+ */
936
+ export declare type ResolveEntityByPathResponse = Message<"api.v1.ResolveEntityByPathResponse"> & {
937
+ /**
938
+ * @generated from field: string task_uuid = 1;
939
+ */
940
+ taskUuid: string;
941
+
942
+ /**
943
+ * @generated from field: string title_slug = 2;
944
+ */
945
+ titleSlug: string;
946
+ };
947
+
948
+ /**
949
+ * Describes the message api.v1.ResolveEntityByPathResponse.
950
+ * Use `create(ResolveEntityByPathResponseSchema)` to create a new message.
951
+ */
952
+ export declare const ResolveEntityByPathResponseSchema: GenMessage<ResolveEntityByPathResponse>;
953
+
716
954
  /**
717
955
  * @generated from message api.v1.BulkEditTasksRequest
718
956
  */
@@ -814,6 +1052,24 @@ export declare type BulkEditTasksResponse = Message<"api.v1.BulkEditTasksRespons
814
1052
  * @generated from field: int32 updated_count = 1;
815
1053
  */
816
1054
  updatedCount: number;
1055
+
1056
+ /**
1057
+ * Ids that were actually updated. Together with skipped_task_ids this makes a
1058
+ * partial application explicit, rather than leaving the caller to infer it by
1059
+ * comparing updated_count against the ids it sent.
1060
+ *
1061
+ * @generated from field: repeated uint32 updated_task_ids = 2;
1062
+ */
1063
+ updatedTaskIds: number[];
1064
+
1065
+ /**
1066
+ * Ids that were not updated because they do not exist, are not visible to the
1067
+ * caller's company, or matched no requested change. Previously these were
1068
+ * skipped silently and reported as success.
1069
+ *
1070
+ * @generated from field: repeated uint32 skipped_task_ids = 3;
1071
+ */
1072
+ skippedTaskIds: number[];
817
1073
  };
818
1074
 
819
1075
  /**
@@ -992,6 +1248,14 @@ export declare const TaskService: GenService<{
992
1248
  input: typeof GetTasksRequestSchema;
993
1249
  output: typeof GetTasksResponseSchema;
994
1250
  },
1251
+ /**
1252
+ * @generated from rpc api.v1.TaskService.GetTaskTree
1253
+ */
1254
+ getTaskTree: {
1255
+ methodKind: "unary";
1256
+ input: typeof GetTaskTreeRequestSchema;
1257
+ output: typeof GetTaskTreeResponseSchema;
1258
+ },
995
1259
  /**
996
1260
  * @generated from rpc api.v1.TaskService.DeleteTask
997
1261
  */
@@ -1040,5 +1304,21 @@ export declare const TaskService: GenService<{
1040
1304
  input: typeof BulkDeleteTasksRequestSchema;
1041
1305
  output: typeof BulkDeleteTasksResponseSchema;
1042
1306
  },
1307
+ /**
1308
+ * @generated from rpc api.v1.TaskService.ResolveEntityByPath
1309
+ */
1310
+ resolveEntityByPath: {
1311
+ methodKind: "unary";
1312
+ input: typeof ResolveEntityByPathRequestSchema;
1313
+ output: typeof ResolveEntityByPathResponseSchema;
1314
+ },
1315
+ /**
1316
+ * @generated from rpc api.v1.TaskService.LinkTaskPullRequest
1317
+ */
1318
+ linkTaskPullRequest: {
1319
+ methodKind: "unary";
1320
+ input: typeof LinkTaskPullRequestRequestSchema;
1321
+ output: typeof LinkTaskPullRequestResponseSchema;
1322
+ },
1043
1323
  }>;
1044
1324
 
@@ -9,12 +9,13 @@ import { file_validate_validate } from "../../validate/validate_pb";
9
9
  import { file_api_v1_pagination } from "./pagination_pb";
10
10
  import { file_api_v1_filter } from "./filter_pb";
11
11
  import { file_api_v1_models } from "./models_pb";
12
+ import { file_fk_foreign_key } from "../../fk/foreign_key_pb";
12
13
 
13
14
  /**
14
15
  * Describes the file api/v1/task.proto.
15
16
  */
16
17
  export const file_api_v1_task = /*@__PURE__*/
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
+ fileDesc("ChFhcGkvdjEvdGFzay5wcm90bxIGYXBpLnYxIoQHCg5BZGRUYXNrUmVxdWVzdBIiCgppZGVudGlmaWVyGAEgASgJQgn6QgZyBBABGDJIAIgBARIZCgV0aXRsZRgCIAEoCUIK+kIHcgUQARjIARIYCgtkZXNjcmlwdGlvbhgDIAEoCUgBiAEBEhUKDWRpc3BsYXlfb3JkZXIYBCABKAkSIgoMc3RvcnlfcG9pbnRzGAUgASgFQgf6QgQaAigBSAKIAQESLAoPZXN0aW1hdGVkX2hvdXJzGAYgASgBQg76QgsSCSkAAAAAAAAAAEgDiAEBEikKDGFjdHVhbF9ob3VycxgHIAEoAUIO+kILEgkpAAAAAAAAAABIBIgBARIsCghkdWVfZGF0ZRgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFwoPYWlfbW9kZV9lbmFibGVkGAkgASgIEhoKDW1ldGFkYXRhX2pzb24YCiABKAlIBYgBARIcCghib2FyZF9pZBgLIAEoDUIKgrUYBmJvYXJkcxIqCg9ib2FyZF9jb2x1bW5faWQYDCABKA1CEYK1GA1ib2FyZF9jb2x1bW5zEiAKCnByb2plY3RfaWQYDSABKA1CDIK1GAhwcm9qZWN0cxIUCgx0YXNrX3R5cGVfaWQYDiABKA0SGAoQdGFza19wcmlvcml0eV9pZBgPIAEoDRIYChByZXBvcnRlcl91c2VyX2lkGBAgASgNEh0KEGFzc2lnbmVkX3VzZXJfaWQYESABKA1IBogBARIbCg5wYXJlbnRfdGFza19pZBgSIAEoDUgHiAEBEhYKDnJlcG9zaXRvcnlfaWRzGBMgAygNEiEKCGN5Y2xlX2lkGBQgASgNQgqCtRgGY3ljbGVzSAiIAQESHQoJbGFiZWxfaWRzGBUgAygNQgqCtRgGbGFiZWxzEikKDG1pbGVzdG9uZV9pZBgWIAEoDUIOgrUYCm1pbGVzdG9uZXNICYgBAUINCgtfaWRlbnRpZmllckIOCgxfZGVzY3JpcHRpb25CDwoNX3N0b3J5X3BvaW50c0ISChBfZXN0aW1hdGVkX2hvdXJzQg8KDV9hY3R1YWxfaG91cnNCEAoOX21ldGFkYXRhX2pzb25CEwoRX2Fzc2lnbmVkX3VzZXJfaWRCEQoPX3BhcmVudF90YXNrX2lkQgsKCV9jeWNsZV9pZEIPCg1fbWlsZXN0b25lX2lkIpsICg9FZGl0VGFza1JlcXVlc3QSEwoCaWQYASABKA1CB/pCBCoCKAESHQoKaWRlbnRpZmllchgCIAEoCUIJ+kIGcgQQARgyEhkKBXRpdGxlGAMgASgJQgr6QgdyBRABGMgBEhgKC2Rlc2NyaXB0aW9uGAQgASgJSACIAQESFQoNZGlzcGxheV9vcmRlchgFIAEoCRIiCgxzdG9yeV9wb2ludHMYBiABKAVCB/pCBBoCKAFIAYgBARIsCg9lc3RpbWF0ZWRfaG91cnMYByABKAFCDvpCCxIJKQAAAAAAAAAASAKIAQESKQoMYWN0dWFsX2hvdXJzGAggASgBQg76QgsSCSkAAAAAAAAAAEgDiAEBEiwKCGR1ZV9kYXRlGAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIXCg9haV9tb2RlX2VuYWJsZWQYCiABKAgSGgoNbWV0YWRhdGFfanNvbhgLIAEoCUgEiAEBEhwKCGJvYXJkX2lkGAwgASgNQgqCtRgGYm9hcmRzEioKD2JvYXJkX2NvbHVtbl9pZBgNIAEoDUIRgrUYDWJvYXJkX2NvbHVtbnMSIAoKcHJvamVjdF9pZBgOIAEoDUIMgrUYCHByb2plY3RzEhQKDHRhc2tfdHlwZV9pZBgPIAEoDRIYChB0YXNrX3ByaW9yaXR5X2lkGBAgASgNEhgKEHJlcG9ydGVyX3VzZXJfaWQYESABKA0SHQoQYXNzaWduZWRfdXNlcl9pZBgSIAEoDUgFiAEBEhsKDnBhcmVudF90YXNrX2lkGBMgASgNSAaIAQESFgoOcmVwb3NpdG9yeV9pZHMYFCADKA0SIQoIY3ljbGVfaWQYFSABKA1CCoK1GAZjeWNsZXNIB4gBARIvCgtyZXNvbHZlZF9hdBgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHgoRb3JpZ2luYWxfZXN0aW1hdGUYFyABKAFICIgBARIdCglsYWJlbF9pZHMYGCADKA1CCoK1GAZsYWJlbHMSKQoMbWlsZXN0b25lX2lkGBkgASgNQg6CtRgKbWlsZXN0b25lc0gJiAEBEhoKDWluaXRpYXRpdmVfaWQYGiABKA1ICogBAUIOCgxfZGVzY3JpcHRpb25CDwoNX3N0b3J5X3BvaW50c0ISChBfZXN0aW1hdGVkX2hvdXJzQg8KDV9hY3R1YWxfaG91cnNCEAoOX21ldGFkYXRhX2pzb25CEwoRX2Fzc2lnbmVkX3VzZXJfaWRCEQoPX3BhcmVudF90YXNrX2lkQgsKCV9jeWNsZV9pZEIUChJfb3JpZ2luYWxfZXN0aW1hdGVCDwoNX21pbGVzdG9uZV9pZEIQCg5faW5pdGlhdGl2ZV9pZCIcCg5HZXRUYXNrUmVxdWVzdBIKCgJpZBgBIAEoDSIuChRHZXRUYXNrQnlVVUlEUmVxdWVzdBIWCgR1dWlkGAEgASgJQgj6QgVyA7ABASLoAQoPR2V0VGFza3NSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESMAoKcGFnaW5hdGlvbhgCIAEoCzISLmFwaS52MS5QYWdpbmF0aW9uQgj6QgWKAQIQARItCg5maWx0ZXJfb3B0aW9ucxgDIAEoCzIVLmFwaS52MS5GaWx0ZXJPcHRpb25zEhEKCWxhYmVsX2lkcxgEIAMoDRIUCgdzb3J0X2J5GAUgASgJSACIAQESFQoIc29ydF9kaXIYBiABKAlIAYgBAUIKCghfc29ydF9ieUILCglfc29ydF9kaXIi6wEKEkdldFRhc2tUcmVlUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEjAKCnBhZ2luYXRpb24YAiABKAsyEi5hcGkudjEuUGFnaW5hdGlvbkII+kIFigECEAESLQoOZmlsdGVyX29wdGlvbnMYAyABKAsyFS5hcGkudjEuRmlsdGVyT3B0aW9ucxIRCglsYWJlbF9pZHMYBCADKA0SFAoHc29ydF9ieRgFIAEoCUgAiAEBEhUKCHNvcnRfZGlyGAYgASgJSAGIAQFCCgoIX3NvcnRfYnlCCwoJX3NvcnRfZGlyIh8KEURlbGV0ZVRhc2tSZXF1ZXN0EgoKAmlkGAEgASgNIlcKEEdldFRhc2tzUmVzcG9uc2USGwoFdGFza3MYASADKAsyDC5hcGkudjEuVGFzaxImCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb24imwEKDFRhc2tUcmVlTm9kZRIaCgRyb290GAEgASgLMgwuYXBpLnYxLlRhc2sSFwoPaXNfY29udGV4dF9vbmx5GAIgASgIEhMKC2NoaWxkX2NvdW50GAMgASgNEiYKEG1hdGNoZWRfc3VidGFza3MYBCADKAsyDC5hcGkudjEuVGFzaxIZChFoYXNfbW9yZV9jaGlsZHJlbhgFIAEoCCJiChNHZXRUYXNrVHJlZVJlc3BvbnNlEiMKBW5vZGVzGAEgAygLMhQuYXBpLnYxLlRhc2tUcmVlTm9kZRImCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb24iLQoPQWRkVGFza1Jlc3BvbnNlEhoKBHRhc2sYASABKAsyDC5hcGkudjEuVGFzayIuChBFZGl0VGFza1Jlc3BvbnNlEhoKBHRhc2sYASABKAsyDC5hcGkudjEuVGFzayItCg9HZXRUYXNrUmVzcG9uc2USGgoEdGFzaxgBIAEoCzIMLmFwaS52MS5UYXNrIjQKGFRyaWdnZXJBSVdvcmtmbG93UmVxdWVzdBIYCgd0YXNrX2lkGAEgASgNQgf6QgQqAigBIk4KGVRyaWdnZXJBSVdvcmtmbG93UmVzcG9uc2USEAoIam9iX25hbWUYASABKAkSDgoGc3RhdHVzGAIgASgJEg8KB21lc3NhZ2UYAyABKAkicgoSRXhwb3J0VGFza3NSZXF1ZXN0EhsKCnByb2plY3RfaWQYASABKA1CB/pCBCoCKAESLQoOZmlsdGVyX29wdGlvbnMYAiABKAsyFS5hcGkudjEuRmlsdGVyT3B0aW9ucxIQCgh0YXNrX2lkcxgDIAMoDSI8ChNFeHBvcnRUYXNrc1Jlc3BvbnNlEhMKC2Nzdl9jb250ZW50GAEgASgMEhAKCGZpbGVuYW1lGAIgASgJInAKEkltcG9ydFRhc2tzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEiEKC2Nzdl9jb250ZW50GAIgASgMQgz6Qgl6BxABGICAgAUSGgoSc2tpcF9ub3RpZmljYXRpb25zGAMgASgIIkUKDEltcG9ydGVkVGFzaxITCgtleHRlcm5hbF9pZBgBIAEoCRIPCgd0YXNrX2lkGAIgASgNEg8KB2NyZWF0ZWQYAyABKAgirQEKE0ltcG9ydFRhc2tzUmVzcG9uc2USFQoNY3JlYXRlZF9jb3VudBgBIAEoBRIVCg11cGRhdGVkX2NvdW50GAIgASgFEhQKDGZhaWxlZF9jb3VudBgDIAEoBRIOCgZlcnJvcnMYBCADKAkSFQoNc2tpcHBlZF9jb3VudBgFIAEoBRIrCg1jcmVhdGVkX3Rhc2tzGAYgAygLMhQuYXBpLnYxLkltcG9ydGVkVGFzayKnAQoIVGFza0xpbmsSHwoLZXh0ZXJuYWxfaWQYASABKAlCCvpCB3IFEAEYgAESKQoScGFyZW50X2V4dGVybmFsX2lkGAIgASgJQgj6QgVyAxiAAUgAiAEBEiUKDm1pbGVzdG9uZV9uYW1lGAMgASgJQgj6QgVyAxiAAkgBiAEBQhUKE19wYXJlbnRfZXh0ZXJuYWxfaWRCEQoPX21pbGVzdG9uZV9uYW1lInMKHExpbmtUYXNrc0J5RXh0ZXJuYWxJZFJlcXVlc3QSJwoKcHJvamVjdF9pZBgBIAEoDUIT+kIEKgIoAYK1GAhwcm9qZWN0cxIqCgVsaW5rcxgCIAMoCzIQLmFwaS52MS5UYXNrTGlua0IJ+kIGkgEDEIgnImIKHUxpbmtUYXNrc0J5RXh0ZXJuYWxJZFJlc3BvbnNlEhYKDmxpbmtlZF9wYXJlbnRzGAEgASgFEhkKEWxpbmtlZF9taWxlc3RvbmVzGAIgASgFEg4KBmVycm9ycxgDIAMoCSLuAQoaTGlua1Rhc2tQdWxsUmVxdWVzdFJlcXVlc3QSIQoHdGFza19pZBgBIAEoDUIQ+kIEKgIoAYK1GAV0YXNrcxImChVwcm9qZWN0X3JlcG9zaXRvcnlfaWQYAiABKA1CB/pCBCoCKAESGgoJcHJfbnVtYmVyGAMgASgFQgf6QgQaAigBEhUKA3VybBgEIAEoCUII+kIFcgMYgAgSFwoFdGl0bGUYBSABKAlCCPpCBXIDGIAIEh0KC2hlYWRfYnJhbmNoGAYgASgJQgj6QgVyAxiABBIaCghoZWFkX3NoYRgHIAEoCUII+kIFcgMYgAEiUQobTGlua1Rhc2tQdWxsUmVxdWVzdFJlc3BvbnNlEjIKEXRhc2tfcHVsbF9yZXF1ZXN0GAEgASgLMhcuYXBpLnYxLlRhc2tQdWxsUmVxdWVzdCJ9ChpSZXNvbHZlRW50aXR5QnlQYXRoUmVxdWVzdBIfCgxjb21wYW55X3NsdWcYASABKAlCCfpCBnIEEAEYZBIfCgxwcm9qZWN0X3NsdWcYAiABKAlCCfpCBnIEEAEYZBIdCgppZGVudGlmaWVyGAMgASgJQgn6QgZyBBABGDIiRAobUmVzb2x2ZUVudGl0eUJ5UGF0aFJlc3BvbnNlEhEKCXRhc2tfdXVpZBgBIAEoCRISCgp0aXRsZV9zbHVnGAIgASgJIv4EChRCdWxrRWRpdFRhc2tzUmVxdWVzdBInCgpwcm9qZWN0X2lkGAEgASgNQhP6QgQqAigBgrUYCHByb2plY3RzEhoKCHRhc2tfaWRzGAIgAygNQgj6QgWSAQIIARIvCg9ib2FyZF9jb2x1bW5faWQYAyABKA1CEYK1GA1ib2FyZF9jb2x1bW5zSACIAQESHQoQdGFza19wcmlvcml0eV9pZBgEIAEoDUgBiAEBEhkKDHRhc2tfdHlwZV9pZBgFIAEoDUgCiAEBEh0KEGFzc2lnbmVkX3VzZXJfaWQYBiABKA1IA4gBARIhCghjeWNsZV9pZBgHIAEoDUIKgrUYBmN5Y2xlc0gEiAEBEhYKDnJlcG9zaXRvcnlfaWRzGAggAygNEiIKDHN0b3J5X3BvaW50cxgJIAEoBUIH+kIEGgIoAUgFiAEBEiwKD2VzdGltYXRlZF9ob3VycxgKIAEoAUIO+kILEgkpAAAAAAAAAABIBogBARIbCg5wYXJlbnRfdGFza19pZBgLIAEoDUgHiAEBEh0KCWxhYmVsX2lkcxgMIAMoDUIKgrUYBmxhYmVscxIpCgxtaWxlc3RvbmVfaWQYDSABKA1CDoK1GAptaWxlc3RvbmVzSAiIAQFCEgoQX2JvYXJkX2NvbHVtbl9pZEITChFfdGFza19wcmlvcml0eV9pZEIPCg1fdGFza190eXBlX2lkQhMKEV9hc3NpZ25lZF91c2VyX2lkQgsKCV9jeWNsZV9pZEIPCg1fc3RvcnlfcG9pbnRzQhIKEF9lc3RpbWF0ZWRfaG91cnNCEQoPX3BhcmVudF90YXNrX2lkQg8KDV9taWxlc3RvbmVfaWQiYgoVQnVsa0VkaXRUYXNrc1Jlc3BvbnNlEhUKDXVwZGF0ZWRfY291bnQYASABKAUSGAoQdXBkYXRlZF90YXNrX2lkcxgCIAMoDRIYChBza2lwcGVkX3Rhc2tfaWRzGAMgAygNIl0KFkJ1bGtEZWxldGVUYXNrc1JlcXVlc3QSJwoKcHJvamVjdF9pZBgBIAEoDUIT+kIEKgIoAYK1GAhwcm9qZWN0cxIaCgh0YXNrX2lkcxgCIAMoDUII+kIFkgECCAEiMAoXQnVsa0RlbGV0ZVRhc2tzUmVzcG9uc2USFQoNZGVsZXRlZF9jb3VudBgBIAEoBSJ/ChFBZGRXb3JrTG9nUmVxdWVzdBIhCgd0YXNrX2lkGAEgASgNQhD6QgQqAigBgrUYBXRhc2tzEh0KBWhvdXJzGAIgASgBQg76QgsSCSmamZmZmZm5PxIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBQg4KDF9kZXNjcmlwdGlvbiI3ChJBZGRXb3JrTG9nUmVzcG9uc2USIQoId29ya19sb2cYASABKAsyDy5hcGkudjEuV29ya0xvZyIzChREZWxldGVXb3JrTG9nUmVxdWVzdBIPCgd0YXNrX2lkGAEgASgNEgoKAmlkGAIgASgNMoQQCgtUYXNrU2VydmljZRJ9CgtFeHBvcnRUYXNrcxIaLmFwaS52MS5FeHBvcnRUYXNrc1JlcXVlc3QaGy5hcGkudjEuRXhwb3J0VGFza3NSZXNwb25zZSI1gtPkkwIvOgEqIiovYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS90YXNrcy9leHBvcnQSfQoLSW1wb3J0VGFza3MSGi5hcGkudjEuSW1wb3J0VGFza3NSZXF1ZXN0GhsuYXBpLnYxLkltcG9ydFRhc2tzUmVzcG9uc2UiNYLT5JMCLzoBKiIqL2FwaS92MS9wcm9qZWN0cy97cHJvamVjdF9pZH0vdGFza3MvaW1wb3J0EqgBChVMaW5rVGFza3NCeUV4dGVybmFsSWQSJC5hcGkudjEuTGlua1Rhc2tzQnlFeHRlcm5hbElkUmVxdWVzdBolLmFwaS52MS5MaW5rVGFza3NCeUV4dGVybmFsSWRSZXNwb25zZSJCgtPkkwI8OgEqIjcvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS90YXNrcy9saW5rLWJ5LWV4dGVybmFsLWlkElQKB0FkZFRhc2sSFi5hcGkudjEuQWRkVGFza1JlcXVlc3QaFy5hcGkudjEuQWRkVGFza1Jlc3BvbnNlIhiC0+STAhI6ASoiDS9hcGkvdjEvdGFza3MSXAoIRWRpdFRhc2sSFy5hcGkudjEuRWRpdFRhc2tSZXF1ZXN0GhguYXBpLnYxLkVkaXRUYXNrUmVzcG9uc2UiHYLT5JMCFzoBKhoSL2FwaS92MS90YXNrcy97aWR9ElYKB0dldFRhc2sSFi5hcGkudjEuR2V0VGFza1JlcXVlc3QaFy5hcGkudjEuR2V0VGFza1Jlc3BvbnNlIhqC0+STAhQSEi9hcGkvdjEvdGFza3Mve2lkfRJpCg1HZXRUYXNrQnlVVUlEEhwuYXBpLnYxLkdldFRhc2tCeVVVSURSZXF1ZXN0GhcuYXBpLnYxLkdldFRhc2tSZXNwb25zZSIhgtPkkwIbEhkvYXBpL3YxL3Rhc2tzL3V1aWQve3V1aWR9ElQKCEdldFRhc2tzEhcuYXBpLnYxLkdldFRhc2tzUmVxdWVzdBoYLmFwaS52MS5HZXRUYXNrc1Jlc3BvbnNlIhWC0+STAg8SDS9hcGkvdjEvdGFza3MSYgoLR2V0VGFza1RyZWUSGi5hcGkudjEuR2V0VGFza1RyZWVSZXF1ZXN0GhsuYXBpLnYxLkdldFRhc2tUcmVlUmVzcG9uc2UiGoLT5JMCFBISL2FwaS92MS90YXNrcy90cmVlElsKCkRlbGV0ZVRhc2sSGS5hcGkudjEuRGVsZXRlVGFza1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiGoLT5JMCFCoSL2FwaS92MS90YXNrcy97aWR9EocBChFUcmlnZ2VyQUlXb3JrZmxvdxIgLmFwaS52MS5UcmlnZ2VyQUlXb3JrZmxvd1JlcXVlc3QaIS5hcGkudjEuVHJpZ2dlckFJV29ya2Zsb3dSZXNwb25zZSItgtPkkwInOgEqIiIvYXBpL3YxL3Rhc2tzL3t0YXNrX2lkfS90cmlnZ2VyLWFpEnEKCkFkZFdvcmtMb2cSGS5hcGkudjEuQWRkV29ya0xvZ1JlcXVlc3QaGi5hcGkudjEuQWRkV29ya0xvZ1Jlc3BvbnNlIiyC0+STAiY6ASoiIS9hcGkvdjEvdGFza3Mve3Rhc2tfaWR9L3dvcmstbG9ncxJ1Cg1EZWxldGVXb3JrTG9nEhwuYXBpLnYxLkRlbGV0ZVdvcmtMb2dSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ii6C0+STAigqJi9hcGkvdjEvdGFza3Mve3Rhc2tfaWR9L3dvcmstbG9ncy97aWR9EoEBCg1CdWxrRWRpdFRhc2tzEhwuYXBpLnYxLkJ1bGtFZGl0VGFza3NSZXF1ZXN0Gh0uYXBpLnYxLkJ1bGtFZGl0VGFza3NSZXNwb25zZSIzgtPkkwItOgEqGigvYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS90YXNrcy9idWxrEo4BCg9CdWxrRGVsZXRlVGFza3MSHi5hcGkudjEuQnVsa0RlbGV0ZVRhc2tzUmVxdWVzdBofLmFwaS52MS5CdWxrRGVsZXRlVGFza3NSZXNwb25zZSI6gtPkkwI0OgEqIi8vYXBpL3YxL3Byb2plY3RzL3twcm9qZWN0X2lkfS90YXNrcy9idWxrLWRlbGV0ZRKiAQoTUmVzb2x2ZUVudGl0eUJ5UGF0aBIiLmFwaS52MS5SZXNvbHZlRW50aXR5QnlQYXRoUmVxdWVzdBojLmFwaS52MS5SZXNvbHZlRW50aXR5QnlQYXRoUmVzcG9uc2UiQoLT5JMCPBI6L2FwaS92MS9yZXNvbHZlL3tjb21wYW55X3NsdWd9L3twcm9qZWN0X3NsdWd9L3tpZGVudGlmaWVyfRKPAQoTTGlua1Rhc2tQdWxsUmVxdWVzdBIiLmFwaS52MS5MaW5rVGFza1B1bGxSZXF1ZXN0UmVxdWVzdBojLmFwaS52MS5MaW5rVGFza1B1bGxSZXF1ZXN0UmVzcG9uc2UiL4LT5JMCKToBKiIkL2FwaS92MS90YXNrcy97dGFza19pZH0vcHVsbC1yZXF1ZXN0Qm4KCmNvbS5hcGkudjFCCVRhc2tQcm90b1ABWhxvcHNlZS9iYWNrZW5kL2dlbi9hcGkvdjE7Z2VuogIDQVhYqgIGQXBpLlYxygIGQXBpXFYx4gISQXBpXFYxXEdQQk1ldGFkYXRh6gIHQXBpOjpWMWIGcHJvdG8z", [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]);
18
19
 
19
20
  /**
20
21
  * Describes the message api.v1.AddTaskRequest.
@@ -51,159 +52,208 @@ export const GetTaskByUUIDRequestSchema = /*@__PURE__*/
51
52
  export const GetTasksRequestSchema = /*@__PURE__*/
52
53
  messageDesc(file_api_v1_task, 4);
53
54
 
55
+ /**
56
+ * Describes the message api.v1.GetTaskTreeRequest.
57
+ * Use `create(GetTaskTreeRequestSchema)` to create a new message.
58
+ */
59
+ export const GetTaskTreeRequestSchema = /*@__PURE__*/
60
+ messageDesc(file_api_v1_task, 5);
61
+
54
62
  /**
55
63
  * Describes the message api.v1.DeleteTaskRequest.
56
64
  * Use `create(DeleteTaskRequestSchema)` to create a new message.
57
65
  */
58
66
  export const DeleteTaskRequestSchema = /*@__PURE__*/
59
- messageDesc(file_api_v1_task, 5);
67
+ messageDesc(file_api_v1_task, 6);
60
68
 
61
69
  /**
62
70
  * Describes the message api.v1.GetTasksResponse.
63
71
  * Use `create(GetTasksResponseSchema)` to create a new message.
64
72
  */
65
73
  export const GetTasksResponseSchema = /*@__PURE__*/
66
- messageDesc(file_api_v1_task, 6);
74
+ messageDesc(file_api_v1_task, 7);
75
+
76
+ /**
77
+ * Describes the message api.v1.TaskTreeNode.
78
+ * Use `create(TaskTreeNodeSchema)` to create a new message.
79
+ */
80
+ export const TaskTreeNodeSchema = /*@__PURE__*/
81
+ messageDesc(file_api_v1_task, 8);
82
+
83
+ /**
84
+ * Describes the message api.v1.GetTaskTreeResponse.
85
+ * Use `create(GetTaskTreeResponseSchema)` to create a new message.
86
+ */
87
+ export const GetTaskTreeResponseSchema = /*@__PURE__*/
88
+ messageDesc(file_api_v1_task, 9);
67
89
 
68
90
  /**
69
91
  * Describes the message api.v1.AddTaskResponse.
70
92
  * Use `create(AddTaskResponseSchema)` to create a new message.
71
93
  */
72
94
  export const AddTaskResponseSchema = /*@__PURE__*/
73
- messageDesc(file_api_v1_task, 7);
95
+ messageDesc(file_api_v1_task, 10);
74
96
 
75
97
  /**
76
98
  * Describes the message api.v1.EditTaskResponse.
77
99
  * Use `create(EditTaskResponseSchema)` to create a new message.
78
100
  */
79
101
  export const EditTaskResponseSchema = /*@__PURE__*/
80
- messageDesc(file_api_v1_task, 8);
102
+ messageDesc(file_api_v1_task, 11);
81
103
 
82
104
  /**
83
105
  * Describes the message api.v1.GetTaskResponse.
84
106
  * Use `create(GetTaskResponseSchema)` to create a new message.
85
107
  */
86
108
  export const GetTaskResponseSchema = /*@__PURE__*/
87
- messageDesc(file_api_v1_task, 9);
109
+ messageDesc(file_api_v1_task, 12);
88
110
 
89
111
  /**
90
112
  * Describes the message api.v1.TriggerAIWorkflowRequest.
91
113
  * Use `create(TriggerAIWorkflowRequestSchema)` to create a new message.
92
114
  */
93
115
  export const TriggerAIWorkflowRequestSchema = /*@__PURE__*/
94
- messageDesc(file_api_v1_task, 10);
116
+ messageDesc(file_api_v1_task, 13);
95
117
 
96
118
  /**
97
119
  * Describes the message api.v1.TriggerAIWorkflowResponse.
98
120
  * Use `create(TriggerAIWorkflowResponseSchema)` to create a new message.
99
121
  */
100
122
  export const TriggerAIWorkflowResponseSchema = /*@__PURE__*/
101
- messageDesc(file_api_v1_task, 11);
123
+ messageDesc(file_api_v1_task, 14);
102
124
 
103
125
  /**
104
126
  * Describes the message api.v1.ExportTasksRequest.
105
127
  * Use `create(ExportTasksRequestSchema)` to create a new message.
106
128
  */
107
129
  export const ExportTasksRequestSchema = /*@__PURE__*/
108
- messageDesc(file_api_v1_task, 12);
130
+ messageDesc(file_api_v1_task, 15);
109
131
 
110
132
  /**
111
133
  * Describes the message api.v1.ExportTasksResponse.
112
134
  * Use `create(ExportTasksResponseSchema)` to create a new message.
113
135
  */
114
136
  export const ExportTasksResponseSchema = /*@__PURE__*/
115
- messageDesc(file_api_v1_task, 13);
137
+ messageDesc(file_api_v1_task, 16);
116
138
 
117
139
  /**
118
140
  * Describes the message api.v1.ImportTasksRequest.
119
141
  * Use `create(ImportTasksRequestSchema)` to create a new message.
120
142
  */
121
143
  export const ImportTasksRequestSchema = /*@__PURE__*/
122
- messageDesc(file_api_v1_task, 14);
144
+ messageDesc(file_api_v1_task, 17);
123
145
 
124
146
  /**
125
147
  * Describes the message api.v1.ImportedTask.
126
148
  * Use `create(ImportedTaskSchema)` to create a new message.
127
149
  */
128
150
  export const ImportedTaskSchema = /*@__PURE__*/
129
- messageDesc(file_api_v1_task, 15);
151
+ messageDesc(file_api_v1_task, 18);
130
152
 
131
153
  /**
132
154
  * Describes the message api.v1.ImportTasksResponse.
133
155
  * Use `create(ImportTasksResponseSchema)` to create a new message.
134
156
  */
135
157
  export const ImportTasksResponseSchema = /*@__PURE__*/
136
- messageDesc(file_api_v1_task, 16);
158
+ messageDesc(file_api_v1_task, 19);
137
159
 
138
160
  /**
139
161
  * Describes the message api.v1.TaskLink.
140
162
  * Use `create(TaskLinkSchema)` to create a new message.
141
163
  */
142
164
  export const TaskLinkSchema = /*@__PURE__*/
143
- messageDesc(file_api_v1_task, 17);
165
+ messageDesc(file_api_v1_task, 20);
144
166
 
145
167
  /**
146
168
  * Describes the message api.v1.LinkTasksByExternalIdRequest.
147
169
  * Use `create(LinkTasksByExternalIdRequestSchema)` to create a new message.
148
170
  */
149
171
  export const LinkTasksByExternalIdRequestSchema = /*@__PURE__*/
150
- messageDesc(file_api_v1_task, 18);
172
+ messageDesc(file_api_v1_task, 21);
151
173
 
152
174
  /**
153
175
  * Describes the message api.v1.LinkTasksByExternalIdResponse.
154
176
  * Use `create(LinkTasksByExternalIdResponseSchema)` to create a new message.
155
177
  */
156
178
  export const LinkTasksByExternalIdResponseSchema = /*@__PURE__*/
157
- messageDesc(file_api_v1_task, 19);
179
+ messageDesc(file_api_v1_task, 22);
180
+
181
+ /**
182
+ * Describes the message api.v1.LinkTaskPullRequestRequest.
183
+ * Use `create(LinkTaskPullRequestRequestSchema)` to create a new message.
184
+ */
185
+ export const LinkTaskPullRequestRequestSchema = /*@__PURE__*/
186
+ messageDesc(file_api_v1_task, 23);
187
+
188
+ /**
189
+ * Describes the message api.v1.LinkTaskPullRequestResponse.
190
+ * Use `create(LinkTaskPullRequestResponseSchema)` to create a new message.
191
+ */
192
+ export const LinkTaskPullRequestResponseSchema = /*@__PURE__*/
193
+ messageDesc(file_api_v1_task, 24);
194
+
195
+ /**
196
+ * Describes the message api.v1.ResolveEntityByPathRequest.
197
+ * Use `create(ResolveEntityByPathRequestSchema)` to create a new message.
198
+ */
199
+ export const ResolveEntityByPathRequestSchema = /*@__PURE__*/
200
+ messageDesc(file_api_v1_task, 25);
201
+
202
+ /**
203
+ * Describes the message api.v1.ResolveEntityByPathResponse.
204
+ * Use `create(ResolveEntityByPathResponseSchema)` to create a new message.
205
+ */
206
+ export const ResolveEntityByPathResponseSchema = /*@__PURE__*/
207
+ messageDesc(file_api_v1_task, 26);
158
208
 
159
209
  /**
160
210
  * Describes the message api.v1.BulkEditTasksRequest.
161
211
  * Use `create(BulkEditTasksRequestSchema)` to create a new message.
162
212
  */
163
213
  export const BulkEditTasksRequestSchema = /*@__PURE__*/
164
- messageDesc(file_api_v1_task, 20);
214
+ messageDesc(file_api_v1_task, 27);
165
215
 
166
216
  /**
167
217
  * Describes the message api.v1.BulkEditTasksResponse.
168
218
  * Use `create(BulkEditTasksResponseSchema)` to create a new message.
169
219
  */
170
220
  export const BulkEditTasksResponseSchema = /*@__PURE__*/
171
- messageDesc(file_api_v1_task, 21);
221
+ messageDesc(file_api_v1_task, 28);
172
222
 
173
223
  /**
174
224
  * Describes the message api.v1.BulkDeleteTasksRequest.
175
225
  * Use `create(BulkDeleteTasksRequestSchema)` to create a new message.
176
226
  */
177
227
  export const BulkDeleteTasksRequestSchema = /*@__PURE__*/
178
- messageDesc(file_api_v1_task, 22);
228
+ messageDesc(file_api_v1_task, 29);
179
229
 
180
230
  /**
181
231
  * Describes the message api.v1.BulkDeleteTasksResponse.
182
232
  * Use `create(BulkDeleteTasksResponseSchema)` to create a new message.
183
233
  */
184
234
  export const BulkDeleteTasksResponseSchema = /*@__PURE__*/
185
- messageDesc(file_api_v1_task, 23);
235
+ messageDesc(file_api_v1_task, 30);
186
236
 
187
237
  /**
188
238
  * Describes the message api.v1.AddWorkLogRequest.
189
239
  * Use `create(AddWorkLogRequestSchema)` to create a new message.
190
240
  */
191
241
  export const AddWorkLogRequestSchema = /*@__PURE__*/
192
- messageDesc(file_api_v1_task, 24);
242
+ messageDesc(file_api_v1_task, 31);
193
243
 
194
244
  /**
195
245
  * Describes the message api.v1.AddWorkLogResponse.
196
246
  * Use `create(AddWorkLogResponseSchema)` to create a new message.
197
247
  */
198
248
  export const AddWorkLogResponseSchema = /*@__PURE__*/
199
- messageDesc(file_api_v1_task, 25);
249
+ messageDesc(file_api_v1_task, 32);
200
250
 
201
251
  /**
202
252
  * Describes the message api.v1.DeleteWorkLogRequest.
203
253
  * Use `create(DeleteWorkLogRequestSchema)` to create a new message.
204
254
  */
205
255
  export const DeleteWorkLogRequestSchema = /*@__PURE__*/
206
- messageDesc(file_api_v1_task, 26);
256
+ messageDesc(file_api_v1_task, 33);
207
257
 
208
258
  /**
209
259
  * Service definition
@@ -9,12 +9,13 @@ import { file_validate_validate } from "../../validate/validate_pb";
9
9
  import { file_api_v1_pagination } from "./pagination_pb";
10
10
  import { file_api_v1_filter } from "./filter_pb";
11
11
  import { file_api_v1_models } from "./models_pb";
12
+ import { file_fk_foreign_key } from "../../fk/foreign_key_pb";
12
13
 
13
14
  /**
14
15
  * Describes the file api/v1/task_priority.proto.
15
16
  */
16
17
  export const file_api_v1_task_priority = /*@__PURE__*/
17
- fileDesc("ChphcGkvdjEvdGFza19wcmlvcml0eS5wcm90bxIGYXBpLnYxIrMBChZBZGRUYXNrUHJpb3JpdHlSZXF1ZXN0EhcKBG5hbWUYASABKAlCCfpCBnIEEAEYMhIWCgVsZXZlbBgCIAEoBUIH+kIEGgIoARIbCgVjb2xvchgDIAEoCUIH+kIEcgIYB0gAiAEBEhsKCnByb2plY3RfaWQYBCABKA1CB/pCBCoCKAESFgoJaXNfYWN0aXZlGAUgASgISAGIAQFCCAoGX2NvbG9yQgwKCl9pc19hY3RpdmUirAEKF0VkaXRUYXNrUHJpb3JpdHlSZXF1ZXN0EhMKAmlkGAEgASgNQgf6QgQqAigBEhcKBG5hbWUYAiABKAlCCfpCBnIEEAEYMhIWCgVsZXZlbBgDIAEoBUIH+kIEGgIoARIbCgVjb2xvchgEIAEoCUIH+kIEcgIYB0gAiAEBEhYKCWlzX2FjdGl2ZRgFIAEoCEgBiAEBQggKBl9jb2xvckIMCgpfaXNfYWN0aXZlIiQKFkdldFRhc2tQcmlvcml0eVJlcXVlc3QSCgoCaWQYASABKA0imAEKGEdldFRhc2tQcmlvcml0aWVzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEjAKCnBhZ2luYXRpb24YAiABKAsyEi5hcGkudjEuUGFnaW5hdGlvbkII+kIFigECEAESLQoOZmlsdGVyX29wdGlvbnMYAyABKAsyFS5hcGkudjEuRmlsdGVyT3B0aW9ucyInChlEZWxldGVUYXNrUHJpb3JpdHlSZXF1ZXN0EgoKAmlkGAEgASgNInIKGUdldFRhc2tQcmlvcml0aWVzUmVzcG9uc2USLQoPdGFza19wcmlvcml0aWVzGAEgAygLMhQuYXBpLnYxLlRhc2tQcmlvcml0eRImCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb24iRgoXQWRkVGFza1ByaW9yaXR5UmVzcG9uc2USKwoNdGFza19wcmlvcml0eRgBIAEoCzIULmFwaS52MS5UYXNrUHJpb3JpdHkiRwoYRWRpdFRhc2tQcmlvcml0eVJlc3BvbnNlEisKDXRhc2tfcHJpb3JpdHkYASABKAsyFC5hcGkudjEuVGFza1ByaW9yaXR5IkYKF0dldFRhc2tQcmlvcml0eVJlc3BvbnNlEisKDXRhc2tfcHJpb3JpdHkYASABKAsyFC5hcGkudjEuVGFza1ByaW9yaXR5MvkEChNUYXNrUHJpb3JpdHlTZXJ2aWNlEnYKD0FkZFRhc2tQcmlvcml0eRIeLmFwaS52MS5BZGRUYXNrUHJpb3JpdHlSZXF1ZXN0Gh8uYXBpLnYxLkFkZFRhc2tQcmlvcml0eVJlc3BvbnNlIiKC0+STAhw6ASoiFy9hcGkvdjEvdGFza19wcmlvcml0aWVzEn4KEEVkaXRUYXNrUHJpb3JpdHkSHy5hcGkudjEuRWRpdFRhc2tQcmlvcml0eVJlcXVlc3QaIC5hcGkudjEuRWRpdFRhc2tQcmlvcml0eVJlc3BvbnNlIieC0+STAiE6ASoaHC9hcGkvdjEvdGFza19wcmlvcml0aWVzL3tpZH0SeAoPR2V0VGFza1ByaW9yaXR5Eh4uYXBpLnYxLkdldFRhc2tQcmlvcml0eVJlcXVlc3QaHy5hcGkudjEuR2V0VGFza1ByaW9yaXR5UmVzcG9uc2UiJILT5JMCHhIcL2FwaS92MS90YXNrX3ByaW9yaXRpZXMve2lkfRJ5ChFHZXRUYXNrUHJpb3JpdGllcxIgLmFwaS52MS5HZXRUYXNrUHJpb3JpdGllc1JlcXVlc3QaIS5hcGkudjEuR2V0VGFza1ByaW9yaXRpZXNSZXNwb25zZSIfgtPkkwIZEhcvYXBpL3YxL3Rhc2tfcHJpb3JpdGllcxJ1ChJEZWxldGVUYXNrUHJpb3JpdHkSIS5hcGkudjEuRGVsZXRlVGFza1ByaW9yaXR5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIkgtPkkwIeKhwvYXBpL3YxL3Rhc2tfcHJpb3JpdGllcy97aWR9QnYKCmNvbS5hcGkudjFCEVRhc2tQcmlvcml0eVByb3RvUAFaHG9wc2VlL2JhY2tlbmQvZ2VuL2FwaS92MTtnZW6iAgNBWFiqAgZBcGkuVjHKAgZBcGlcVjHiAhJBcGlcVjFcR1BCTWV0YWRhdGHqAgdBcGk6OlYxYgZwcm90bzM", [file_google_protobuf_empty, file_google_api_annotations, file_validate_validate, file_api_v1_pagination, file_api_v1_filter, file_api_v1_models]);
18
+ fileDesc("ChphcGkvdjEvdGFza19wcmlvcml0eS5wcm90bxIGYXBpLnYxIr8BChZBZGRUYXNrUHJpb3JpdHlSZXF1ZXN0EhcKBG5hbWUYASABKAlCCfpCBnIEEAEYMhIWCgVsZXZlbBgCIAEoBUIH+kIEGgIoARIbCgVjb2xvchgDIAEoCUIH+kIEcgIYB0gAiAEBEicKCnByb2plY3RfaWQYBCABKA1CE/pCBCoCKAGCtRgIcHJvamVjdHMSFgoJaXNfYWN0aXZlGAUgASgISAGIAQFCCAoGX2NvbG9yQgwKCl9pc19hY3RpdmUirAEKF0VkaXRUYXNrUHJpb3JpdHlSZXF1ZXN0EhMKAmlkGAEgASgNQgf6QgQqAigBEhcKBG5hbWUYAiABKAlCCfpCBnIEEAEYMhIWCgVsZXZlbBgDIAEoBUIH+kIEGgIoARIbCgVjb2xvchgEIAEoCUIH+kIEcgIYB0gAiAEBEhYKCWlzX2FjdGl2ZRgFIAEoCEgBiAEBQggKBl9jb2xvckIMCgpfaXNfYWN0aXZlIiQKFkdldFRhc2tQcmlvcml0eVJlcXVlc3QSCgoCaWQYASABKA0imAEKGEdldFRhc2tQcmlvcml0aWVzUmVxdWVzdBIbCgpwcm9qZWN0X2lkGAEgASgNQgf6QgQqAigBEjAKCnBhZ2luYXRpb24YAiABKAsyEi5hcGkudjEuUGFnaW5hdGlvbkII+kIFigECEAESLQoOZmlsdGVyX29wdGlvbnMYAyABKAsyFS5hcGkudjEuRmlsdGVyT3B0aW9ucyInChlEZWxldGVUYXNrUHJpb3JpdHlSZXF1ZXN0EgoKAmlkGAEgASgNInIKGUdldFRhc2tQcmlvcml0aWVzUmVzcG9uc2USLQoPdGFza19wcmlvcml0aWVzGAEgAygLMhQuYXBpLnYxLlRhc2tQcmlvcml0eRImCgpwYWdpbmF0aW9uGAIgASgLMhIuYXBpLnYxLlBhZ2luYXRpb24iRgoXQWRkVGFza1ByaW9yaXR5UmVzcG9uc2USKwoNdGFza19wcmlvcml0eRgBIAEoCzIULmFwaS52MS5UYXNrUHJpb3JpdHkiRwoYRWRpdFRhc2tQcmlvcml0eVJlc3BvbnNlEisKDXRhc2tfcHJpb3JpdHkYASABKAsyFC5hcGkudjEuVGFza1ByaW9yaXR5IkYKF0dldFRhc2tQcmlvcml0eVJlc3BvbnNlEisKDXRhc2tfcHJpb3JpdHkYASABKAsyFC5hcGkudjEuVGFza1ByaW9yaXR5MvkEChNUYXNrUHJpb3JpdHlTZXJ2aWNlEnYKD0FkZFRhc2tQcmlvcml0eRIeLmFwaS52MS5BZGRUYXNrUHJpb3JpdHlSZXF1ZXN0Gh8uYXBpLnYxLkFkZFRhc2tQcmlvcml0eVJlc3BvbnNlIiKC0+STAhw6ASoiFy9hcGkvdjEvdGFza19wcmlvcml0aWVzEn4KEEVkaXRUYXNrUHJpb3JpdHkSHy5hcGkudjEuRWRpdFRhc2tQcmlvcml0eVJlcXVlc3QaIC5hcGkudjEuRWRpdFRhc2tQcmlvcml0eVJlc3BvbnNlIieC0+STAiE6ASoaHC9hcGkvdjEvdGFza19wcmlvcml0aWVzL3tpZH0SeAoPR2V0VGFza1ByaW9yaXR5Eh4uYXBpLnYxLkdldFRhc2tQcmlvcml0eVJlcXVlc3QaHy5hcGkudjEuR2V0VGFza1ByaW9yaXR5UmVzcG9uc2UiJILT5JMCHhIcL2FwaS92MS90YXNrX3ByaW9yaXRpZXMve2lkfRJ5ChFHZXRUYXNrUHJpb3JpdGllcxIgLmFwaS52MS5HZXRUYXNrUHJpb3JpdGllc1JlcXVlc3QaIS5hcGkudjEuR2V0VGFza1ByaW9yaXRpZXNSZXNwb25zZSIfgtPkkwIZEhcvYXBpL3YxL3Rhc2tfcHJpb3JpdGllcxJ1ChJEZWxldGVUYXNrUHJpb3JpdHkSIS5hcGkudjEuRGVsZXRlVGFza1ByaW9yaXR5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIkgtPkkwIeKhwvYXBpL3YxL3Rhc2tfcHJpb3JpdGllcy97aWR9QnYKCmNvbS5hcGkudjFCEVRhc2tQcmlvcml0eVByb3RvUAFaHG9wc2VlL2JhY2tlbmQvZ2VuL2FwaS92MTtnZW6iAgNBWFiqAgZBcGkuVjHKAgZBcGlcVjHiAhJBcGlcVjFcR1BCTWV0YWRhdGHqAgdBcGk6OlYxYgZwcm90bzM", [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
19
 
19
20
  /**
20
21
  * Describes the message api.v1.AddTaskPriorityRequest.
@@ -9,12 +9,13 @@ import { file_validate_validate } from "../../validate/validate_pb";
9
9
  import { file_api_v1_pagination } from "./pagination_pb";
10
10
  import { file_api_v1_filter } from "./filter_pb";
11
11
  import { file_api_v1_models } from "./models_pb";
12
+ import { file_fk_foreign_key } from "../../fk/foreign_key_pb";
12
13
 
13
14
  /**
14
15
  * Describes the file api/v1/task_repository.proto.
15
16
  */
16
17
  export const file_api_v1_task_repository = /*@__PURE__*/
17
- fileDesc("ChxhcGkvdjEvdGFza19yZXBvc2l0b3J5LnByb3RvEgZhcGkudjEiSwoYQWRkVGFza1JlcG9zaXRvcnlSZXF1ZXN0Eg8KB3Rhc2tfaWQYASABKA0SHgoWZ2l0X2h1Yl9pbnRlZ3JhdGlvbl9pZBgCIAEoDSJhChlFZGl0VGFza1JlcG9zaXRvcnlSZXF1ZXN0EhMKAmlkGAEgASgNQgf6QgQqAigBEg8KB3Rhc2tfaWQYAiABKA0SHgoWZ2l0X2h1Yl9pbnRlZ3JhdGlvbl9pZBgDIAEoDSImChhHZXRUYXNrUmVwb3NpdG9yeVJlcXVlc3QSCgoCaWQYASABKA0ilwEKGkdldFRhc2tSZXBvc2l0b3JpZXNSZXF1ZXN0EhgKB3Rhc2tfaWQYASABKA1CB/pCBCoCKAESMAoKcGFnaW5hdGlvbhgCIAEoCzISLmFwaS52MS5QYWdpbmF0aW9uQgj6QgWKAQIQARItCg5maWx0ZXJfb3B0aW9ucxgDIAEoCzIVLmFwaS52MS5GaWx0ZXJPcHRpb25zIikKG0RlbGV0ZVRhc2tSZXBvc2l0b3J5UmVxdWVzdBIKCgJpZBgBIAEoDSJ4ChtHZXRUYXNrUmVwb3NpdG9yaWVzUmVzcG9uc2USMQoRdGFza19yZXBvc2l0b3JpZXMYASADKAsyFi5hcGkudjEuVGFza1JlcG9zaXRvcnkSJgoKcGFnaW5hdGlvbhgCIAEoCzISLmFwaS52MS5QYWdpbmF0aW9uIkwKGUFkZFRhc2tSZXBvc2l0b3J5UmVzcG9uc2USLwoPdGFza19yZXBvc2l0b3J5GAEgASgLMhYuYXBpLnYxLlRhc2tSZXBvc2l0b3J5Ik0KGkVkaXRUYXNrUmVwb3NpdG9yeVJlc3BvbnNlEi8KD3Rhc2tfcmVwb3NpdG9yeRgBIAEoCzIWLmFwaS52MS5UYXNrUmVwb3NpdG9yeSJMChlHZXRUYXNrUmVwb3NpdG9yeVJlc3BvbnNlEi8KD3Rhc2tfcmVwb3NpdG9yeRgBIAEoCzIWLmFwaS52MS5UYXNrUmVwb3NpdG9yeTKkBQoVVGFza1JlcG9zaXRvcnlTZXJ2aWNlEn4KEUFkZFRhc2tSZXBvc2l0b3J5EiAuYXBpLnYxLkFkZFRhc2tSZXBvc2l0b3J5UmVxdWVzdBohLmFwaS52MS5BZGRUYXNrUmVwb3NpdG9yeVJlc3BvbnNlIiSC0+STAh46ASoiGS9hcGkvdjEvdGFza19yZXBvc2l0b3JpZXMShgEKEkVkaXRUYXNrUmVwb3NpdG9yeRIhLmFwaS52MS5FZGl0VGFza1JlcG9zaXRvcnlSZXF1ZXN0GiIuYXBpLnYxLkVkaXRUYXNrUmVwb3NpdG9yeVJlc3BvbnNlIimC0+STAiM6ASoaHi9hcGkvdjEvdGFza19yZXBvc2l0b3JpZXMve2lkfRKAAQoRR2V0VGFza1JlcG9zaXRvcnkSIC5hcGkudjEuR2V0VGFza1JlcG9zaXRvcnlSZXF1ZXN0GiEuYXBpLnYxLkdldFRhc2tSZXBvc2l0b3J5UmVzcG9uc2UiJoLT5JMCIBIeL2FwaS92MS90YXNrX3JlcG9zaXRvcmllcy97aWR9EoEBChNHZXRUYXNrUmVwb3NpdG9yaWVzEiIuYXBpLnYxLkdldFRhc2tSZXBvc2l0b3JpZXNSZXF1ZXN0GiMuYXBpLnYxLkdldFRhc2tSZXBvc2l0b3JpZXNSZXNwb25zZSIhgtPkkwIbEhkvYXBpL3YxL3Rhc2tfcmVwb3NpdG9yaWVzEnsKFERlbGV0ZVRhc2tSZXBvc2l0b3J5EiMuYXBpLnYxLkRlbGV0ZVRhc2tSZXBvc2l0b3J5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSImgtPkkwIgKh4vYXBpL3YxL3Rhc2tfcmVwb3NpdG9yaWVzL3tpZH1CeAoKY29tLmFwaS52MUITVGFza1JlcG9zaXRvcnlQcm90b1ABWhxvcHNlZS9iYWNrZW5kL2dlbi9hcGkvdjE7Z2VuogIDQVhYqgIGQXBpLlYxygIGQXBpXFYx4gISQXBpXFYxXEdQQk1ldGFkYXRh6gIHQXBpOjpWMWIGcHJvdG8z", [file_google_protobuf_empty, file_google_api_annotations, file_validate_validate, file_api_v1_pagination, file_api_v1_filter, file_api_v1_models]);
18
+ fileDesc("ChxhcGkvdjEvdGFza19yZXBvc2l0b3J5LnByb3RvEgZhcGkudjEiVgoYQWRkVGFza1JlcG9zaXRvcnlSZXF1ZXN0EhoKB3Rhc2tfaWQYASABKA1CCYK1GAV0YXNrcxIeChZnaXRfaHViX2ludGVncmF0aW9uX2lkGAIgASgNImwKGUVkaXRUYXNrUmVwb3NpdG9yeVJlcXVlc3QSEwoCaWQYASABKA1CB/pCBCoCKAESGgoHdGFza19pZBgCIAEoDUIJgrUYBXRhc2tzEh4KFmdpdF9odWJfaW50ZWdyYXRpb25faWQYAyABKA0iJgoYR2V0VGFza1JlcG9zaXRvcnlSZXF1ZXN0EgoKAmlkGAEgASgNIpcBChpHZXRUYXNrUmVwb3NpdG9yaWVzUmVxdWVzdBIYCgd0YXNrX2lkGAEgASgNQgf6QgQqAigBEjAKCnBhZ2luYXRpb24YAiABKAsyEi5hcGkudjEuUGFnaW5hdGlvbkII+kIFigECEAESLQoOZmlsdGVyX29wdGlvbnMYAyABKAsyFS5hcGkudjEuRmlsdGVyT3B0aW9ucyIpChtEZWxldGVUYXNrUmVwb3NpdG9yeVJlcXVlc3QSCgoCaWQYASABKA0ieAobR2V0VGFza1JlcG9zaXRvcmllc1Jlc3BvbnNlEjEKEXRhc2tfcmVwb3NpdG9yaWVzGAEgAygLMhYuYXBpLnYxLlRhc2tSZXBvc2l0b3J5EiYKCnBhZ2luYXRpb24YAiABKAsyEi5hcGkudjEuUGFnaW5hdGlvbiJMChlBZGRUYXNrUmVwb3NpdG9yeVJlc3BvbnNlEi8KD3Rhc2tfcmVwb3NpdG9yeRgBIAEoCzIWLmFwaS52MS5UYXNrUmVwb3NpdG9yeSJNChpFZGl0VGFza1JlcG9zaXRvcnlSZXNwb25zZRIvCg90YXNrX3JlcG9zaXRvcnkYASABKAsyFi5hcGkudjEuVGFza1JlcG9zaXRvcnkiTAoZR2V0VGFza1JlcG9zaXRvcnlSZXNwb25zZRIvCg90YXNrX3JlcG9zaXRvcnkYASABKAsyFi5hcGkudjEuVGFza1JlcG9zaXRvcnkypAUKFVRhc2tSZXBvc2l0b3J5U2VydmljZRJ+ChFBZGRUYXNrUmVwb3NpdG9yeRIgLmFwaS52MS5BZGRUYXNrUmVwb3NpdG9yeVJlcXVlc3QaIS5hcGkudjEuQWRkVGFza1JlcG9zaXRvcnlSZXNwb25zZSIkgtPkkwIeOgEqIhkvYXBpL3YxL3Rhc2tfcmVwb3NpdG9yaWVzEoYBChJFZGl0VGFza1JlcG9zaXRvcnkSIS5hcGkudjEuRWRpdFRhc2tSZXBvc2l0b3J5UmVxdWVzdBoiLmFwaS52MS5FZGl0VGFza1JlcG9zaXRvcnlSZXNwb25zZSIpgtPkkwIjOgEqGh4vYXBpL3YxL3Rhc2tfcmVwb3NpdG9yaWVzL3tpZH0SgAEKEUdldFRhc2tSZXBvc2l0b3J5EiAuYXBpLnYxLkdldFRhc2tSZXBvc2l0b3J5UmVxdWVzdBohLmFwaS52MS5HZXRUYXNrUmVwb3NpdG9yeVJlc3BvbnNlIiaC0+STAiASHi9hcGkvdjEvdGFza19yZXBvc2l0b3JpZXMve2lkfRKBAQoTR2V0VGFza1JlcG9zaXRvcmllcxIiLmFwaS52MS5HZXRUYXNrUmVwb3NpdG9yaWVzUmVxdWVzdBojLmFwaS52MS5HZXRUYXNrUmVwb3NpdG9yaWVzUmVzcG9uc2UiIYLT5JMCGxIZL2FwaS92MS90YXNrX3JlcG9zaXRvcmllcxJ7ChREZWxldGVUYXNrUmVwb3NpdG9yeRIjLmFwaS52MS5EZWxldGVUYXNrUmVwb3NpdG9yeVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJoLT5JMCICoeL2FwaS92MS90YXNrX3JlcG9zaXRvcmllcy97aWR9QngKCmNvbS5hcGkudjFCE1Rhc2tSZXBvc2l0b3J5UHJvdG9QAVocb3BzZWUvYmFja2VuZC9nZW4vYXBpL3YxO2dlbqICA0FYWKoCBkFwaS5WMcoCBkFwaVxWMeICEkFwaVxWMVxHUEJNZXRhZGF0YeoCB0FwaTo6VjFiBnByb3RvMw", [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
19
 
19
20
  /**
20
21
  * Describes the message api.v1.AddTaskRepositoryRequest.