@flyteorg/flyteidl2 2.0.16 → 2.0.47

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 (34) hide show
  1. package/flyteidl2/actions/actions_service_pb.ts +36 -74
  2. package/flyteidl2/app/app_definition_pb.ts +185 -24
  3. package/flyteidl2/app/app_logs_payload_pb.ts +18 -2
  4. package/flyteidl2/app/app_payload_pb.ts +90 -12
  5. package/flyteidl2/artifact/artifact_pb.ts +277 -0
  6. package/flyteidl2/artifact/artifact_service_pb.ts +378 -0
  7. package/flyteidl2/cluster/payload_pb.ts +44 -2
  8. package/flyteidl2/common/cache_pb.ts +37 -0
  9. package/flyteidl2/common/list_pb.ts +22 -2
  10. package/flyteidl2/common/phase_pb.ts +11 -1
  11. package/flyteidl2/common/run_pb.ts +89 -3
  12. package/flyteidl2/core/artifact_id_pb.ts +112 -11
  13. package/flyteidl2/core/execution_pb.ts +190 -15
  14. package/flyteidl2/core/literals_pb.ts +14 -1
  15. package/flyteidl2/core/tasks_pb.ts +170 -14
  16. package/flyteidl2/dataproxy/dataproxy_service_pb.ts +76 -5
  17. package/flyteidl2/imagebuilder/definition_pb.ts +22 -1
  18. package/flyteidl2/logs/dataplane/payload_pb.ts +66 -2
  19. package/flyteidl2/notification/definition_pb.ts +58 -7
  20. package/flyteidl2/plugins/clustered_pb.ts +232 -0
  21. package/flyteidl2/plugins/ray_pb.ts +104 -7
  22. package/flyteidl2/settings/settings_definition_pb.ts +52 -41
  23. package/flyteidl2/task/common_pb.ts +134 -6
  24. package/flyteidl2/task/run_pb.ts +157 -9
  25. package/flyteidl2/task/task_definition_pb.ts +25 -4
  26. package/flyteidl2/task/task_service_pb.ts +18 -2
  27. package/flyteidl2/trigger/trigger_definition_pb.ts +26 -5
  28. package/flyteidl2/workflow/internal_run_service_pb.ts +37 -1
  29. package/flyteidl2/workflow/run_definition_pb.ts +219 -16
  30. package/flyteidl2/workflow/run_info_pb.ts +30 -1
  31. package/flyteidl2/workflow/run_service_pb.ts +703 -12
  32. package/flyteidl2/workflow/tracked_run_service_pb.ts +368 -0
  33. package/flyteidl2/workflow/translator_service_pb.ts +43 -2
  34. package/package.json +2 -2
@@ -2,13 +2,15 @@
2
2
  // @generated from file flyteidl2/workflow/run_service.proto (package flyteidl2.workflow, syntax proto3)
3
3
  /* eslint-disable */
4
4
 
5
- import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
6
- import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
5
+ import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
6
+ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
7
7
  import { file_buf_validate_validate } from "../../buf/validate/validate_pb.ts";
8
8
  import type { ActionIdentifier, ClusterIdentifier, ProjectIdentifier, RunIdentifier, TriggerName } from "../common/identifier_pb.ts";
9
9
  import { file_flyteidl2_common_identifier } from "../common/identifier_pb.ts";
10
10
  import type { Filter, ListRequest, Sort_Direction } from "../common/list_pb.ts";
11
11
  import { file_flyteidl2_common_list } from "../common/list_pb.ts";
12
+ import type { ActionPhase } from "../common/phase_pb.ts";
13
+ import { file_flyteidl2_common_phase } from "../common/phase_pb.ts";
12
14
  import type { OffloadedInputData } from "../common/run_pb.ts";
13
15
  import { file_flyteidl2_common_run } from "../common/run_pb.ts";
14
16
  import type { LogContext } from "../core/execution_pb.ts";
@@ -21,15 +23,15 @@ import type { TaskIdentifier, TaskName, TaskSpec } from "../task/task_definition
21
23
  import { file_flyteidl2_task_task_definition } from "../task/task_definition_pb.ts";
22
24
  import type { Action, ActionDetails, ClusterEvent, EnrichedAction, Run, RunDetails, RunSource, TaskGroup } from "./run_definition_pb.ts";
23
25
  import { file_flyteidl2_workflow_run_definition } from "./run_definition_pb.ts";
24
- import type { Timestamp } from "@bufbuild/protobuf/wkt";
25
- import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
26
+ import type { Duration, Timestamp } from "@bufbuild/protobuf/wkt";
27
+ import { file_google_protobuf_duration, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
26
28
  import type { Message } from "@bufbuild/protobuf";
27
29
 
28
30
  /**
29
31
  * Describes the file flyteidl2/workflow/run_service.proto.
30
32
  */
31
33
  export const file_flyteidl2_workflow_run_service: GenFile = /*@__PURE__*/
32
- fileDesc("CiRmbHl0ZWlkbDIvd29ya2Zsb3cvcnVuX3NlcnZpY2UucHJvdG8SEmZseXRlaWRsMi53b3JrZmxvdyKQBAoQQ3JlYXRlUnVuUmVxdWVzdBIxCgZydW5faWQYASABKAsyHy5mbHl0ZWlkbDIuY29tbW9uLlJ1bklkZW50aWZpZXJIABI5Cgpwcm9qZWN0X2lkGAYgASgLMiMuZmx5dGVpZGwyLmNvbW1vbi5Qcm9qZWN0SWRlbnRpZmllckgAEjEKB3Rhc2tfaWQYAiABKAsyHi5mbHl0ZWlkbDIudGFzay5UYXNrSWRlbnRpZmllckgBEi0KCXRhc2tfc3BlYxgDIAEoCzIYLmZseXRlaWRsMi50YXNrLlRhc2tTcGVjSAESNQoMdHJpZ2dlcl9uYW1lGAcgASgLMh0uZmx5dGVpZGwyLmNvbW1vbi5UcmlnZ2VyTmFtZUgBEigKBmlucHV0cxgEIAEoCzIWLmZseXRlaWRsMi50YXNrLklucHV0c0gCEkQKFG9mZmxvYWRlZF9pbnB1dF9kYXRhGAkgASgLMiQuZmx5dGVpZGwyLmNvbW1vbi5PZmZsb2FkZWRJbnB1dERhdGFIAhIpCghydW5fc3BlYxgFIAEoCzIXLmZseXRlaWRsMi50YXNrLlJ1blNwZWMSLQoGc291cmNlGAggASgOMh0uZmx5dGVpZGwyLndvcmtmbG93LlJ1blNvdXJjZUILCgJpZBIFukgCCAFCDQoEdGFzaxIFukgCCAFCDwoNaW5wdXRfd3JhcHBlciI5ChFDcmVhdGVSdW5SZXNwb25zZRIkCgNydW4YASABKAsyFy5mbHl0ZWlkbDIud29ya2Zsb3cuUnVuImoKD0Fib3J0UnVuUmVxdWVzdBI3CgZydW5faWQYASABKAsyHy5mbHl0ZWlkbDIuY29tbW9uLlJ1bklkZW50aWZpZXJCBrpIA8gBARITCgZyZWFzb24YAiABKAlIAIgBAUIJCgdfcmVhc29uIhIKEEFib3J0UnVuUmVzcG9uc2UiTwoUR2V0UnVuRGV0YWlsc1JlcXVlc3QSNwoGcnVuX2lkGAEgASgLMh8uZmx5dGVpZGwyLmNvbW1vbi5SdW5JZGVudGlmaWVyQga6SAPIAQEiSAoVR2V0UnVuRGV0YWlsc1Jlc3BvbnNlEi8KB2RldGFpbHMYASABKAsyHi5mbHl0ZWlkbDIud29ya2Zsb3cuUnVuRGV0YWlscyJRChZXYXRjaFJ1bkRldGFpbHNSZXF1ZXN0EjcKBnJ1bl9pZBgBIAEoCzIfLmZseXRlaWRsMi5jb21tb24uUnVuSWRlbnRpZmllckIGukgDyAEBIkoKF1dhdGNoUnVuRGV0YWlsc1Jlc3BvbnNlEi8KB2RldGFpbHMYASABKAsyHi5mbHl0ZWlkbDIud29ya2Zsb3cuUnVuRGV0YWlscyJYChdHZXRBY3Rpb25EZXRhaWxzUmVxdWVzdBI9CglhY3Rpb25faWQYASABKAsyIi5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbklkZW50aWZpZXJCBrpIA8gBASJOChhHZXRBY3Rpb25EZXRhaWxzUmVzcG9uc2USMgoHZGV0YWlscxgBIAEoCzIhLmZseXRlaWRsMi53b3JrZmxvdy5BY3Rpb25EZXRhaWxzIloKGVdhdGNoQWN0aW9uRGV0YWlsc1JlcXVlc3QSPQoJYWN0aW9uX2lkGAEgASgLMiIuZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb25JZGVudGlmaWVyQga6SAPIAQEiUAoaV2F0Y2hBY3Rpb25EZXRhaWxzUmVzcG9uc2USMgoHZGV0YWlscxgBIAEoCzIhLmZseXRlaWRsMi53b3JrZmxvdy5BY3Rpb25EZXRhaWxzIlUKFEdldEFjdGlvbkRhdGFSZXF1ZXN0Ej0KCWFjdGlvbl9pZBgBIAEoCzIiLmZseXRlaWRsMi5jb21tb24uQWN0aW9uSWRlbnRpZmllckIGukgDyAEBImkKFUdldEFjdGlvbkRhdGFSZXNwb25zZRImCgZpbnB1dHMYASABKAsyFi5mbHl0ZWlkbDIudGFzay5JbnB1dHMSKAoHb3V0cHV0cxgCIAEoCzIXLmZseXRlaWRsMi50YXNrLk91dHB1dHMiWQoYR2V0QWN0aW9uRGF0YVVSSXNSZXF1ZXN0Ej0KCWFjdGlvbl9pZBgBIAEoCzIiLmZseXRlaWRsMi5jb21tb24uQWN0aW9uSWRlbnRpZmllckIGukgDyAEBIkQKGUdldEFjdGlvbkRhdGFVUklzUmVzcG9uc2USEgoKaW5wdXRzX3VyaRgBIAEoCRITCgtvdXRwdXRzX3VyaRgCIAEoCSJ1ChpHZXRBY3Rpb25Mb2dDb250ZXh0UmVxdWVzdBI9CglhY3Rpb25faWQYASABKAsyIi5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbklkZW50aWZpZXJCBrpIA8gBARIYCgdhdHRlbXB0GAIgASgNQge6SAQqAiAAIl8KG0dldEFjdGlvbkxvZ0NvbnRleHRSZXNwb25zZRIvCgtsb2dfY29udGV4dBgBIAEoCzIaLmZseXRlaWRsMi5jb3JlLkxvZ0NvbnRleHQSDwoHY2x1c3RlchgCIAEoCSLMAgoPTGlzdFJ1bnNSZXF1ZXN0Ei4KB3JlcXVlc3QYASABKAsyHS5mbHl0ZWlkbDIuY29tbW9uLkxpc3RSZXF1ZXN0EhYKA29yZxgCIAEoCUIHukgEcgIQAUgAEjkKCnByb2plY3RfaWQYBCABKAsyIy5mbHl0ZWlkbDIuY29tbW9uLlByb2plY3RJZGVudGlmaWVySAASNQoMdHJpZ2dlcl9uYW1lGAYgASgLMh0uZmx5dGVpZGwyLmNvbW1vbi5UcmlnZ2VyTmFtZUgAEi0KCXRhc2tfbmFtZRgHIAEoCzIYLmZseXRlaWRsMi50YXNrLlRhc2tOYW1lSAASMQoHdGFza19pZBgIIAEoCzIeLmZseXRlaWRsMi50YXNrLlRhc2tJZGVudGlmaWVySABCEQoIc2NvcGVfYnkSBbpIAggBSgQIAxAESgQIBRAGIkgKEExpc3RSdW5zUmVzcG9uc2USJQoEcnVucxgBIAMoCzIXLmZseXRlaWRsMi53b3JrZmxvdy5SdW4SDQoFdG9rZW4YAiABKAki5AEKEFdhdGNoUnVuc1JlcXVlc3QSFgoDb3JnGAIgASgJQge6SARyAhABSAASOQoKY2x1c3Rlcl9pZBgDIAEoCzIjLmZseXRlaWRsMi5jb21tb24uQ2x1c3RlcklkZW50aWZpZXJIABI5Cgpwcm9qZWN0X2lkGAQgASgLMiMuZmx5dGVpZGwyLmNvbW1vbi5Qcm9qZWN0SWRlbnRpZmllckgAEjEKB3Rhc2tfaWQYBSABKAsyHi5mbHl0ZWlkbDIudGFzay5UYXNrSWRlbnRpZmllckgAQg8KBnRhcmdldBIFukgCCAEiOgoRV2F0Y2hSdW5zUmVzcG9uc2USJQoEcnVucxgBIAMoCzIXLmZseXRlaWRsMi53b3JrZmxvdy5SdW4ifQoSTGlzdEFjdGlvbnNSZXF1ZXN0Ei4KB3JlcXVlc3QYASABKAsyHS5mbHl0ZWlkbDIuY29tbW9uLkxpc3RSZXF1ZXN0EjcKBnJ1bl9pZBgCIAEoCzIfLmZseXRlaWRsMi5jb21tb24uUnVuSWRlbnRpZmllckIGukgDyAEBIlEKE0xpc3RBY3Rpb25zUmVzcG9uc2USKwoHYWN0aW9ucxgBIAMoCzIaLmZseXRlaWRsMi53b3JrZmxvdy5BY3Rpb24SDQoFdG9rZW4YAiABKAkieAoTV2F0Y2hBY3Rpb25zUmVxdWVzdBI3CgZydW5faWQYASABKAsyHy5mbHl0ZWlkbDIuY29tbW9uLlJ1bklkZW50aWZpZXJCBrpIA8gBARIoCgZmaWx0ZXIYAiADKAsyGC5mbHl0ZWlkbDIuY29tbW9uLkZpbHRlciJUChRXYXRjaEFjdGlvbnNSZXNwb25zZRI8ChBlbnJpY2hlZF9hY3Rpb25zGAEgAygLMiIuZmx5dGVpZGwyLndvcmtmbG93LkVucmljaGVkQWN0aW9uIm0KGVdhdGNoQ2x1c3RlckV2ZW50c1JlcXVlc3QSNgoCaWQYASABKAsyIi5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbklkZW50aWZpZXJCBrpIA8gBARIYCgdhdHRlbXB0GAIgASgNQge6SAQqAiAAIlYKGldhdGNoQ2x1c3RlckV2ZW50c1Jlc3BvbnNlEjgKDmNsdXN0ZXJfZXZlbnRzGAEgAygLMiAuZmx5dGVpZGwyLndvcmtmbG93LkNsdXN0ZXJFdmVudCJjChJBYm9ydEFjdGlvblJlcXVlc3QSPQoJYWN0aW9uX2lkGAEgASgLMiIuZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb25JZGVudGlmaWVyQga6SAPIAQESDgoGcmVhc29uGAIgASgJIhUKE0Fib3J0QWN0aW9uUmVzcG9uc2UinwMKEldhdGNoR3JvdXBzUmVxdWVzdBI5Cgpwcm9qZWN0X2lkGAEgASgLMiMuZmx5dGVpZGwyLmNvbW1vbi5Qcm9qZWN0SWRlbnRpZmllckgAEjYKCnN0YXJ0X2RhdGUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQga6SAPIAQESLAoIZW5kX2RhdGUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KB3JlcXVlc3QYBCABKAsyHS5mbHl0ZWlkbDIuY29tbW9uLkxpc3RSZXF1ZXN0ElAKEWtub3duX3NvcnRfZmllbGRzGAUgAygLMjUuZmx5dGVpZGwyLndvcmtmbG93LldhdGNoR3JvdXBzUmVxdWVzdC5Lbm93blNvcnRGaWVsZBpTCg5Lbm93blNvcnRGaWVsZBI2CgpjcmVhdGVkX2F0GAEgASgOMiAuZmx5dGVpZGwyLmNvbW1vbi5Tb3J0LkRpcmVjdGlvbkgAQgkKB3NvcnRfYnlCEQoIc2NvcGVfYnkSBbpIAggBIlsKE1dhdGNoR3JvdXBzUmVzcG9uc2USMgoLdGFza19ncm91cHMYASADKAsyHS5mbHl0ZWlkbDIud29ya2Zsb3cuVGFza0dyb3VwEhAKCHNlbnRpbmVsGAIgASgIMrANCgpSdW5TZXJ2aWNlEloKCUNyZWF0ZVJ1bhIkLmZseXRlaWRsMi53b3JrZmxvdy5DcmVhdGVSdW5SZXF1ZXN0GiUuZmx5dGVpZGwyLndvcmtmbG93LkNyZWF0ZVJ1blJlc3BvbnNlIgASVwoIQWJvcnRSdW4SIy5mbHl0ZWlkbDIud29ya2Zsb3cuQWJvcnRSdW5SZXF1ZXN0GiQuZmx5dGVpZGwyLndvcmtmbG93LkFib3J0UnVuUmVzcG9uc2UiABJpCg1HZXRSdW5EZXRhaWxzEiguZmx5dGVpZGwyLndvcmtmbG93LkdldFJ1bkRldGFpbHNSZXF1ZXN0GikuZmx5dGVpZGwyLndvcmtmbG93LkdldFJ1bkRldGFpbHNSZXNwb25zZSIDkAIBEm4KD1dhdGNoUnVuRGV0YWlscxIqLmZseXRlaWRsMi53b3JrZmxvdy5XYXRjaFJ1bkRldGFpbHNSZXF1ZXN0GisuZmx5dGVpZGwyLndvcmtmbG93LldhdGNoUnVuRGV0YWlsc1Jlc3BvbnNlIgAwARJyChBHZXRBY3Rpb25EZXRhaWxzEisuZmx5dGVpZGwyLndvcmtmbG93LkdldEFjdGlvbkRldGFpbHNSZXF1ZXN0GiwuZmx5dGVpZGwyLndvcmtmbG93LkdldEFjdGlvbkRldGFpbHNSZXNwb25zZSIDkAIBEncKEldhdGNoQWN0aW9uRGV0YWlscxItLmZseXRlaWRsMi53b3JrZmxvdy5XYXRjaEFjdGlvbkRldGFpbHNSZXF1ZXN0Gi4uZmx5dGVpZGwyLndvcmtmbG93LldhdGNoQWN0aW9uRGV0YWlsc1Jlc3BvbnNlIgAwARJsCg1HZXRBY3Rpb25EYXRhEiguZmx5dGVpZGwyLndvcmtmbG93LkdldEFjdGlvbkRhdGFSZXF1ZXN0GikuZmx5dGVpZGwyLndvcmtmbG93LkdldEFjdGlvbkRhdGFSZXNwb25zZSIGiAIBkAIBEloKCExpc3RSdW5zEiMuZmx5dGVpZGwyLndvcmtmbG93Lkxpc3RSdW5zUmVxdWVzdBokLmZseXRlaWRsMi53b3JrZmxvdy5MaXN0UnVuc1Jlc3BvbnNlIgOQAgESXAoJV2F0Y2hSdW5zEiQuZmx5dGVpZGwyLndvcmtmbG93LldhdGNoUnVuc1JlcXVlc3QaJS5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hSdW5zUmVzcG9uc2UiADABEmMKC0xpc3RBY3Rpb25zEiYuZmx5dGVpZGwyLndvcmtmbG93Lkxpc3RBY3Rpb25zUmVxdWVzdBonLmZseXRlaWRsMi53b3JrZmxvdy5MaXN0QWN0aW9uc1Jlc3BvbnNlIgOQAgESZQoMV2F0Y2hBY3Rpb25zEicuZmx5dGVpZGwyLndvcmtmbG93LldhdGNoQWN0aW9uc1JlcXVlc3QaKC5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hBY3Rpb25zUmVzcG9uc2UiADABEncKEldhdGNoQ2x1c3RlckV2ZW50cxItLmZseXRlaWRsMi53b3JrZmxvdy5XYXRjaENsdXN0ZXJFdmVudHNSZXF1ZXN0Gi4uZmx5dGVpZGwyLndvcmtmbG93LldhdGNoQ2x1c3RlckV2ZW50c1Jlc3BvbnNlIgAwARJgCgtBYm9ydEFjdGlvbhImLmZseXRlaWRsMi53b3JrZmxvdy5BYm9ydEFjdGlvblJlcXVlc3QaJy5mbHl0ZWlkbDIud29ya2Zsb3cuQWJvcnRBY3Rpb25SZXNwb25zZSIAEmIKC1dhdGNoR3JvdXBzEiYuZmx5dGVpZGwyLndvcmtmbG93LldhdGNoR3JvdXBzUmVxdWVzdBonLmZseXRlaWRsMi53b3JrZmxvdy5XYXRjaEdyb3Vwc1Jlc3BvbnNlIgAwARJ1ChFHZXRBY3Rpb25EYXRhVVJJcxIsLmZseXRlaWRsMi53b3JrZmxvdy5HZXRBY3Rpb25EYXRhVVJJc1JlcXVlc3QaLS5mbHl0ZWlkbDIud29ya2Zsb3cuR2V0QWN0aW9uRGF0YVVSSXNSZXNwb25zZSIDkAIBEnsKE0dldEFjdGlvbkxvZ0NvbnRleHQSLi5mbHl0ZWlkbDIud29ya2Zsb3cuR2V0QWN0aW9uTG9nQ29udGV4dFJlcXVlc3QaLy5mbHl0ZWlkbDIud29ya2Zsb3cuR2V0QWN0aW9uTG9nQ29udGV4dFJlc3BvbnNlIgOQAgFCzAEKFmNvbS5mbHl0ZWlkbDIud29ya2Zsb3dCD1J1blNlcnZpY2VQcm90b0gCUAFaNmdpdGh1Yi5jb20vZmx5dGVvcmcvZmx5dGUvdjIvZ2VuL2dvL2ZseXRlaWRsMi93b3JrZmxvd6ICA0ZXWKoCEkZseXRlaWRsMi5Xb3JrZmxvd8oCEkZseXRlaWRsMlxXb3JrZmxvd+ICHkZseXRlaWRsMlxXb3JrZmxvd1xHUEJNZXRhZGF0YeoCE0ZseXRlaWRsMjo6V29ya2Zsb3diBnByb3RvMw", [file_buf_validate_validate, file_flyteidl2_common_identifier, file_flyteidl2_common_list, file_flyteidl2_common_run, file_flyteidl2_core_execution, file_flyteidl2_task_common, file_flyteidl2_task_run, file_flyteidl2_task_task_definition, file_flyteidl2_workflow_run_definition, file_google_protobuf_timestamp]);
34
+ fileDesc("CiRmbHl0ZWlkbDIvd29ya2Zsb3cvcnVuX3NlcnZpY2UucHJvdG8SEmZseXRlaWRsMi53b3JrZmxvdyLEBAoQQ3JlYXRlUnVuUmVxdWVzdBIxCgZydW5faWQYASABKAsyHy5mbHl0ZWlkbDIuY29tbW9uLlJ1bklkZW50aWZpZXJIABI5Cgpwcm9qZWN0X2lkGAYgASgLMiMuZmx5dGVpZGwyLmNvbW1vbi5Qcm9qZWN0SWRlbnRpZmllckgAEjEKB3Rhc2tfaWQYAiABKAsyHi5mbHl0ZWlkbDIudGFzay5UYXNrSWRlbnRpZmllckgBEi0KCXRhc2tfc3BlYxgDIAEoCzIYLmZseXRlaWRsMi50YXNrLlRhc2tTcGVjSAESNQoMdHJpZ2dlcl9uYW1lGAcgASgLMh0uZmx5dGVpZGwyLmNvbW1vbi5UcmlnZ2VyTmFtZUgBEigKBmlucHV0cxgEIAEoCzIWLmZseXRlaWRsMi50YXNrLklucHV0c0gCEkQKFG9mZmxvYWRlZF9pbnB1dF9kYXRhGAkgASgLMiQuZmx5dGVpZGwyLmNvbW1vbi5PZmZsb2FkZWRJbnB1dERhdGFIAhIpCghydW5fc3BlYxgFIAEoCzIXLmZseXRlaWRsMi50YXNrLlJ1blNwZWMSLQoGc291cmNlGAggASgOMh0uZmx5dGVpZGwyLndvcmtmbG93LlJ1blNvdXJjZRIyCg5ydW5fc3RhcnRfdGltZRgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCwoCaWQSBbpIAggBQg0KBHRhc2sSBbpIAggBQg8KDWlucHV0X3dyYXBwZXIiOQoRQ3JlYXRlUnVuUmVzcG9uc2USJAoDcnVuGAEgASgLMhcuZmx5dGVpZGwyLndvcmtmbG93LlJ1biJqCg9BYm9ydFJ1blJlcXVlc3QSNwoGcnVuX2lkGAEgASgLMh8uZmx5dGVpZGwyLmNvbW1vbi5SdW5JZGVudGlmaWVyQga6SAPIAQESEwoGcmVhc29uGAIgASgJSACIAQFCCQoHX3JlYXNvbiISChBBYm9ydFJ1blJlc3BvbnNlIk8KFEdldFJ1bkRldGFpbHNSZXF1ZXN0EjcKBnJ1bl9pZBgBIAEoCzIfLmZseXRlaWRsMi5jb21tb24uUnVuSWRlbnRpZmllckIGukgDyAEBIkgKFUdldFJ1bkRldGFpbHNSZXNwb25zZRIvCgdkZXRhaWxzGAEgASgLMh4uZmx5dGVpZGwyLndvcmtmbG93LlJ1bkRldGFpbHMiUQoWV2F0Y2hSdW5EZXRhaWxzUmVxdWVzdBI3CgZydW5faWQYASABKAsyHy5mbHl0ZWlkbDIuY29tbW9uLlJ1bklkZW50aWZpZXJCBrpIA8gBASJKChdXYXRjaFJ1bkRldGFpbHNSZXNwb25zZRIvCgdkZXRhaWxzGAEgASgLMh4uZmx5dGVpZGwyLndvcmtmbG93LlJ1bkRldGFpbHMiWAoXR2V0QWN0aW9uRGV0YWlsc1JlcXVlc3QSPQoJYWN0aW9uX2lkGAEgASgLMiIuZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb25JZGVudGlmaWVyQga6SAPIAQEiTgoYR2V0QWN0aW9uRGV0YWlsc1Jlc3BvbnNlEjIKB2RldGFpbHMYASABKAsyIS5mbHl0ZWlkbDIud29ya2Zsb3cuQWN0aW9uRGV0YWlscyJaChlXYXRjaEFjdGlvbkRldGFpbHNSZXF1ZXN0Ej0KCWFjdGlvbl9pZBgBIAEoCzIiLmZseXRlaWRsMi5jb21tb24uQWN0aW9uSWRlbnRpZmllckIGukgDyAEBIlAKGldhdGNoQWN0aW9uRGV0YWlsc1Jlc3BvbnNlEjIKB2RldGFpbHMYASABKAsyIS5mbHl0ZWlkbDIud29ya2Zsb3cuQWN0aW9uRGV0YWlscyJVChRHZXRBY3Rpb25EYXRhUmVxdWVzdBI9CglhY3Rpb25faWQYASABKAsyIi5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbklkZW50aWZpZXJCBrpIA8gBASJpChVHZXRBY3Rpb25EYXRhUmVzcG9uc2USJgoGaW5wdXRzGAEgASgLMhYuZmx5dGVpZGwyLnRhc2suSW5wdXRzEigKB291dHB1dHMYAiABKAsyFy5mbHl0ZWlkbDIudGFzay5PdXRwdXRzIlkKGEdldEFjdGlvbkRhdGFVUklzUmVxdWVzdBI9CglhY3Rpb25faWQYASABKAsyIi5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbklkZW50aWZpZXJCBrpIA8gBASJEChlHZXRBY3Rpb25EYXRhVVJJc1Jlc3BvbnNlEhIKCmlucHV0c191cmkYASABKAkSEwoLb3V0cHV0c191cmkYAiABKAkidQoaR2V0QWN0aW9uTG9nQ29udGV4dFJlcXVlc3QSPQoJYWN0aW9uX2lkGAEgASgLMiIuZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb25JZGVudGlmaWVyQga6SAPIAQESGAoHYXR0ZW1wdBgCIAEoDUIHukgEKgIgACK9AQobR2V0QWN0aW9uTG9nQ29udGV4dFJlc3BvbnNlEi8KC2xvZ19jb250ZXh0GAEgASgLMhouZmx5dGVpZGwyLmNvcmUuTG9nQ29udGV4dBIPCgdjbHVzdGVyGAIgASgJEi4KCnN0YXJ0X3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiwKCGVuZF90aW1lGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLpAgoPTGlzdFJ1bnNSZXF1ZXN0Ei4KB3JlcXVlc3QYASABKAsyHS5mbHl0ZWlkbDIuY29tbW9uLkxpc3RSZXF1ZXN0EhYKA29yZxgCIAEoCUIHukgEcgIQAUgAEjkKCnByb2plY3RfaWQYBCABKAsyIy5mbHl0ZWlkbDIuY29tbW9uLlByb2plY3RJZGVudGlmaWVySAASNQoMdHJpZ2dlcl9uYW1lGAYgASgLMh0uZmx5dGVpZGwyLmNvbW1vbi5UcmlnZ2VyTmFtZUgAEi0KCXRhc2tfbmFtZRgHIAEoCzIYLmZseXRlaWRsMi50YXNrLlRhc2tOYW1lSAASMQoHdGFza19pZBgIIAEoCzIeLmZseXRlaWRsMi50YXNrLlRhc2tJZGVudGlmaWVySAASGwoTcGF1c2VkX2FjdGlvbnNfb25seRgJIAEoCEIRCghzY29wZV9ieRIFukgCCAFKBAgDEARKBAgFEAYiSAoQTGlzdFJ1bnNSZXNwb25zZRIlCgRydW5zGAEgAygLMhcuZmx5dGVpZGwyLndvcmtmbG93LlJ1bhINCgV0b2tlbhgCIAEoCSLkAQoQV2F0Y2hSdW5zUmVxdWVzdBIWCgNvcmcYAiABKAlCB7pIBHICEAFIABI5CgpjbHVzdGVyX2lkGAMgASgLMiMuZmx5dGVpZGwyLmNvbW1vbi5DbHVzdGVySWRlbnRpZmllckgAEjkKCnByb2plY3RfaWQYBCABKAsyIy5mbHl0ZWlkbDIuY29tbW9uLlByb2plY3RJZGVudGlmaWVySAASMQoHdGFza19pZBgFIAEoCzIeLmZseXRlaWRsMi50YXNrLlRhc2tJZGVudGlmaWVySABCDwoGdGFyZ2V0EgW6SAIIASI6ChFXYXRjaFJ1bnNSZXNwb25zZRIlCgRydW5zGAEgAygLMhcuZmx5dGVpZGwyLndvcmtmbG93LlJ1biJ9ChJMaXN0QWN0aW9uc1JlcXVlc3QSLgoHcmVxdWVzdBgBIAEoCzIdLmZseXRlaWRsMi5jb21tb24uTGlzdFJlcXVlc3QSNwoGcnVuX2lkGAIgASgLMh8uZmx5dGVpZGwyLmNvbW1vbi5SdW5JZGVudGlmaWVyQga6SAPIAQEiUQoTTGlzdEFjdGlvbnNSZXNwb25zZRIrCgdhY3Rpb25zGAEgAygLMhouZmx5dGVpZGwyLndvcmtmbG93LkFjdGlvbhINCgV0b2tlbhgCIAEoCSKSAQoTV2F0Y2hBY3Rpb25zUmVxdWVzdBI3CgZydW5faWQYASABKAsyHy5mbHl0ZWlkbDIuY29tbW9uLlJ1bklkZW50aWZpZXJCBrpIA8gBARIoCgZmaWx0ZXIYAiADKAsyGC5mbHl0ZWlkbDIuY29tbW9uLkZpbHRlchIYChBlbmFibGVfcnVuX3N0b3JlGAMgASgIIlQKFFdhdGNoQWN0aW9uc1Jlc3BvbnNlEjwKEGVucmljaGVkX2FjdGlvbnMYASADKAsyIi5mbHl0ZWlkbDIud29ya2Zsb3cuRW5yaWNoZWRBY3Rpb24itQgKG1dhdGNoV2luZG93ZWRBY3Rpb25zUmVxdWVzdBJOCglzdWJzY3JpYmUYASABKAsyOS5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hXaW5kb3dlZEFjdGlvbnNSZXF1ZXN0LlN1YnNjcmliZUgAElUKDXVwZGF0ZV93aW5kb3cYAiABKAsyPC5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hXaW5kb3dlZEFjdGlvbnNSZXF1ZXN0LlVwZGF0ZVdpbmRvd0gAGrADCglTdWJzY3JpYmUSNwoGcnVuX2lkGAEgASgLMh8uZmx5dGVpZGwyLmNvbW1vbi5SdW5JZGVudGlmaWVyQga6SAPIAQESGAoQc2VsZWN0ZWRfaXRlbV9pZBgCIAEoCRIgCg9vdmVyc2Nhbl9iZWZvcmUYAyABKAVCB7pIBBoCKAASHwoOb3ZlcnNjYW5fYWZ0ZXIYBCABKAVCB7pIBBoCKAASZAoOZXhwYW5kZWRfbm9kZXMYBSADKAsyTC5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hXaW5kb3dlZEFjdGlvbnNSZXF1ZXN0LlN1YnNjcmliZS5FeHBhbmRlZE5vZGVzRW50cnkSMwoMcGhhc2VfZmlsdGVyGAYgAygOMh0uZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb25QaGFzZRITCgtuYW1lX2ZpbHRlchgHIAEoCRpdChJFeHBhbmRlZE5vZGVzRW50cnkSCwoDa2V5GAEgASgJEjYKBXZhbHVlGAIgASgLMicuZmx5dGVpZGwyLndvcmtmbG93Lk5vZGVFeHBhbnNpb25QYXJhbXM6AjgBGrQDCgxVcGRhdGVXaW5kb3cSGgoQc2VsZWN0ZWRfaXRlbV9pZBgBIAEoCUgAEhsKEWFuY2hvcl9mbGF0X2luZGV4GAcgASgESAASIAoPb3ZlcnNjYW5fYmVmb3JlGAIgASgFQge6SAQaAigAEh8KDm92ZXJzY2FuX2FmdGVyGAMgASgFQge6SAQaAigAEmcKDmV4cGFuZGVkX25vZGVzGAQgAygLMk8uZmx5dGVpZGwyLndvcmtmbG93LldhdGNoV2luZG93ZWRBY3Rpb25zUmVxdWVzdC5VcGRhdGVXaW5kb3cuRXhwYW5kZWROb2Rlc0VudHJ5EjMKDHBoYXNlX2ZpbHRlchgFIAMoDjIdLmZseXRlaWRsMi5jb21tb24uQWN0aW9uUGhhc2USEwoLbmFtZV9maWx0ZXIYBiABKAkaXQoSRXhwYW5kZWROb2Rlc0VudHJ5EgsKA2tleRgBIAEoCRI2CgV2YWx1ZRgCIAEoCzInLmZseXRlaWRsMi53b3JrZmxvdy5Ob2RlRXhwYW5zaW9uUGFyYW1zOgI4AUIWCg13aW5kb3dfYW5jaG9yEgW6SAIIAUIFCgNtc2ciRgoTTm9kZUV4cGFuc2lvblBhcmFtcxIXCgZvZmZzZXQYASABKAVCB7pIBBoCKAASFgoFbGltaXQYAiABKAVCB7pIBBoCKAAi0QIKHFdhdGNoV2luZG93ZWRBY3Rpb25zUmVzcG9uc2USNgoMd2luZG93X2l0ZW1zGAEgAygLMiAuZmx5dGVpZGwyLndvcmtmbG93LldpbmRvd2VkSXRlbRIzCglhbmNlc3RvcnMYAiADKAsyIC5mbHl0ZWlkbDIud29ya2Zsb3cuV2luZG93ZWRJdGVtEhgKEHRvdGFsX2ZsYXRfY291bnQYAyABKAMSGwoTc2VsZWN0ZWRfZmxhdF9pbmRleBgEIAEoAxIhChlpbml0aWFsX3NuYXBzaG90X2NvbXBsZXRlGAUgASgIEjkKC3RydW5jYXRpb25zGAYgAygLMiQuZmx5dGVpZGwyLndvcmtmbG93LlRydW5jYXRpb25Ob3RpY2USEwoLcmVzeW5jX2hpbnQYByABKAgSGgoSaHlkcmF0aW9uX2NvbXBsZXRlGAggASgIIqABCgxXaW5kb3dlZEl0ZW0SNAoGYWN0aW9uGAEgASgLMiIuZmx5dGVpZGwyLndvcmtmbG93LkVucmljaGVkQWN0aW9uSAASLgoFZ3JvdXAYAiABKAsyHS5mbHl0ZWlkbDIud29ya2Zsb3cuR3JvdXBOb2RlSAASDQoFZGVwdGgYAyABKAUSEwoLaXNfZXhwYW5kZWQYBCABKAhCBgoEaXRlbSK+AQoKQWN0aW9uTGVhZhIRCglhY3Rpb25faWQYASABKAkSEgoKc2hvcnRfbmFtZRgCIAEoCRIrCghkdXJhdGlvbhgDIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIsCgVwaGFzZRgEIAEoDjIdLmZseXRlaWRsMi5jb21tb24uQWN0aW9uUGhhc2USLgoKc3RhcnRfdGltZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi7QEKEUdyb3VwQWdncmVnYXRpb25zEi4KBmZhaWxlZBgBIAMoCzIeLmZseXRlaWRsMi53b3JrZmxvdy5BY3Rpb25MZWFmEjgKEGxvbmdlc3RfZHVyYXRpb24YAiADKAsyHi5mbHl0ZWlkbDIud29ya2Zsb3cuQWN0aW9uTGVhZhI3Cg9sb25nZXN0X3J1bm5pbmcYAyADKAsyHi5mbHl0ZWlkbDIud29ya2Zsb3cuQWN0aW9uTGVhZhI1Cg1sb25nZXN0X3NldHVwGAQgAygLMh4uZmx5dGVpZGwyLndvcmtmbG93LkFjdGlvbkxlYWYioQMKCUdyb3VwTm9kZRIKCgJpZBgBIAEoCRISCgpncm91cF9uYW1lGAIgASgJEhEKCXBhcmVudF9pZBgDIAEoCRJPChJjaGlsZF9waGFzZV9jb3VudHMYBCADKAsyMy5mbHl0ZWlkbDIud29ya2Zsb3cuR3JvdXBOb2RlLkNoaWxkUGhhc2VDb3VudHNFbnRyeRI3ChNlYXJsaWVzdF9zdGFydF90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCg9sYXRlc3RfZW5kX3RpbWUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKDnRvdGFsX2NoaWxkcmVuGAcgASgFEhQKDG1lZXRzX2ZpbHRlchgIIAEoCBI7CgxhZ2dyZWdhdGlvbnMYCSABKAsyJS5mbHl0ZWlkbDIud29ya2Zsb3cuR3JvdXBBZ2dyZWdhdGlvbnMaNwoVQ2hpbGRQaGFzZUNvdW50c0VudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoBToCOAEikgIKEFRydW5jYXRpb25Ob3RpY2USOwoGcmVhc29uGAEgASgOMisuZmx5dGVpZGwyLndvcmtmbG93LlRydW5jYXRpb25Ob3RpY2UuUmVhc29uEhwKFHRyYWNrZWRfYWN0aW9uX2NvdW50GAIgASgDEiAKGGtub3duX3RvdGFsX2FjdGlvbl9jb3VudBgDIAEoAxIPCgdtZXNzYWdlGAQgASgJInAKBlJlYXNvbhIWChJSRUFTT05fVU5TUEVDSUZJRUQQABIZChVSRUFTT05fUlVOX05PREVfTElNSVQQARIdChlSRUFTT05fUEFSRU5UX0NISUxEX0xJTUlUEAISFAoQUkVBU09OX0hZRFJBVElORxADIm0KGVdhdGNoQ2x1c3RlckV2ZW50c1JlcXVlc3QSNgoCaWQYASABKAsyIi5mbHl0ZWlkbDIuY29tbW9uLkFjdGlvbklkZW50aWZpZXJCBrpIA8gBARIYCgdhdHRlbXB0GAIgASgNQge6SAQqAiAAIlYKGldhdGNoQ2x1c3RlckV2ZW50c1Jlc3BvbnNlEjgKDmNsdXN0ZXJfZXZlbnRzGAEgAygLMiAuZmx5dGVpZGwyLndvcmtmbG93LkNsdXN0ZXJFdmVudCJjChJBYm9ydEFjdGlvblJlcXVlc3QSPQoJYWN0aW9uX2lkGAEgASgLMiIuZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb25JZGVudGlmaWVyQga6SAPIAQESDgoGcmVhc29uGAIgASgJIhUKE0Fib3J0QWN0aW9uUmVzcG9uc2UieAoMRXZlbnRQYXlsb2FkEhQKCmJvb2xfdmFsdWUYASABKAhIABITCglpbnRfdmFsdWUYAiABKANIABIVCgtmbG9hdF92YWx1ZRgDIAEoAUgAEhYKDHN0cmluZ192YWx1ZRgEIAEoCUgAQg4KBXZhbHVlEgW6SAIIASKqAQoSU2lnbmFsRXZlbnRSZXF1ZXN0Ej0KCWFjdGlvbl9pZBgBIAEoCzIiLmZseXRlaWRsMi5jb21tb24uQWN0aW9uSWRlbnRpZmllckIGukgDyAEBEhoKEnBhcmVudF9hY3Rpb25fbmFtZRgCIAEoCRI5CgdwYXlsb2FkGAMgASgLMiAuZmx5dGVpZGwyLndvcmtmbG93LkV2ZW50UGF5bG9hZEIGukgDyAEBIhUKE1NpZ25hbEV2ZW50UmVzcG9uc2UinwMKEldhdGNoR3JvdXBzUmVxdWVzdBI5Cgpwcm9qZWN0X2lkGAEgASgLMiMuZmx5dGVpZGwyLmNvbW1vbi5Qcm9qZWN0SWRlbnRpZmllckgAEjYKCnN0YXJ0X2RhdGUYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQga6SAPIAQESLAoIZW5kX2RhdGUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KB3JlcXVlc3QYBCABKAsyHS5mbHl0ZWlkbDIuY29tbW9uLkxpc3RSZXF1ZXN0ElAKEWtub3duX3NvcnRfZmllbGRzGAUgAygLMjUuZmx5dGVpZGwyLndvcmtmbG93LldhdGNoR3JvdXBzUmVxdWVzdC5Lbm93blNvcnRGaWVsZBpTCg5Lbm93blNvcnRGaWVsZBI2CgpjcmVhdGVkX2F0GAEgASgOMiAuZmx5dGVpZGwyLmNvbW1vbi5Tb3J0LkRpcmVjdGlvbkgAQgkKB3NvcnRfYnlCEQoIc2NvcGVfYnkSBbpIAggBIlsKE1dhdGNoR3JvdXBzUmVzcG9uc2USMgoLdGFza19ncm91cHMYASADKAsyHS5mbHl0ZWlkbDIud29ya2Zsb3cuVGFza0dyb3VwEhAKCHNlbnRpbmVsGAIgASgIMpIOCgpSdW5TZXJ2aWNlEloKCUNyZWF0ZVJ1bhIkLmZseXRlaWRsMi53b3JrZmxvdy5DcmVhdGVSdW5SZXF1ZXN0GiUuZmx5dGVpZGwyLndvcmtmbG93LkNyZWF0ZVJ1blJlc3BvbnNlIgASVwoIQWJvcnRSdW4SIy5mbHl0ZWlkbDIud29ya2Zsb3cuQWJvcnRSdW5SZXF1ZXN0GiQuZmx5dGVpZGwyLndvcmtmbG93LkFib3J0UnVuUmVzcG9uc2UiABJpCg1HZXRSdW5EZXRhaWxzEiguZmx5dGVpZGwyLndvcmtmbG93LkdldFJ1bkRldGFpbHNSZXF1ZXN0GikuZmx5dGVpZGwyLndvcmtmbG93LkdldFJ1bkRldGFpbHNSZXNwb25zZSIDkAIBEm4KD1dhdGNoUnVuRGV0YWlscxIqLmZseXRlaWRsMi53b3JrZmxvdy5XYXRjaFJ1bkRldGFpbHNSZXF1ZXN0GisuZmx5dGVpZGwyLndvcmtmbG93LldhdGNoUnVuRGV0YWlsc1Jlc3BvbnNlIgAwARJyChBHZXRBY3Rpb25EZXRhaWxzEisuZmx5dGVpZGwyLndvcmtmbG93LkdldEFjdGlvbkRldGFpbHNSZXF1ZXN0GiwuZmx5dGVpZGwyLndvcmtmbG93LkdldEFjdGlvbkRldGFpbHNSZXNwb25zZSIDkAIBEncKEldhdGNoQWN0aW9uRGV0YWlscxItLmZseXRlaWRsMi53b3JrZmxvdy5XYXRjaEFjdGlvbkRldGFpbHNSZXF1ZXN0Gi4uZmx5dGVpZGwyLndvcmtmbG93LldhdGNoQWN0aW9uRGV0YWlsc1Jlc3BvbnNlIgAwARJsCg1HZXRBY3Rpb25EYXRhEiguZmx5dGVpZGwyLndvcmtmbG93LkdldEFjdGlvbkRhdGFSZXF1ZXN0GikuZmx5dGVpZGwyLndvcmtmbG93LkdldEFjdGlvbkRhdGFSZXNwb25zZSIGiAIBkAIBEloKCExpc3RSdW5zEiMuZmx5dGVpZGwyLndvcmtmbG93Lkxpc3RSdW5zUmVxdWVzdBokLmZseXRlaWRsMi53b3JrZmxvdy5MaXN0UnVuc1Jlc3BvbnNlIgOQAgESXAoJV2F0Y2hSdW5zEiQuZmx5dGVpZGwyLndvcmtmbG93LldhdGNoUnVuc1JlcXVlc3QaJS5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hSdW5zUmVzcG9uc2UiADABEmMKC0xpc3RBY3Rpb25zEiYuZmx5dGVpZGwyLndvcmtmbG93Lkxpc3RBY3Rpb25zUmVxdWVzdBonLmZseXRlaWRsMi53b3JrZmxvdy5MaXN0QWN0aW9uc1Jlc3BvbnNlIgOQAgESZQoMV2F0Y2hBY3Rpb25zEicuZmx5dGVpZGwyLndvcmtmbG93LldhdGNoQWN0aW9uc1JlcXVlc3QaKC5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hBY3Rpb25zUmVzcG9uc2UiADABEncKEldhdGNoQ2x1c3RlckV2ZW50cxItLmZseXRlaWRsMi53b3JrZmxvdy5XYXRjaENsdXN0ZXJFdmVudHNSZXF1ZXN0Gi4uZmx5dGVpZGwyLndvcmtmbG93LldhdGNoQ2x1c3RlckV2ZW50c1Jlc3BvbnNlIgAwARJgCgtBYm9ydEFjdGlvbhImLmZseXRlaWRsMi53b3JrZmxvdy5BYm9ydEFjdGlvblJlcXVlc3QaJy5mbHl0ZWlkbDIud29ya2Zsb3cuQWJvcnRBY3Rpb25SZXNwb25zZSIAEmAKC1NpZ25hbEV2ZW50EiYuZmx5dGVpZGwyLndvcmtmbG93LlNpZ25hbEV2ZW50UmVxdWVzdBonLmZseXRlaWRsMi53b3JrZmxvdy5TaWduYWxFdmVudFJlc3BvbnNlIgASYgoLV2F0Y2hHcm91cHMSJi5mbHl0ZWlkbDIud29ya2Zsb3cuV2F0Y2hHcm91cHNSZXF1ZXN0GicuZmx5dGVpZGwyLndvcmtmbG93LldhdGNoR3JvdXBzUmVzcG9uc2UiADABEnUKEUdldEFjdGlvbkRhdGFVUklzEiwuZmx5dGVpZGwyLndvcmtmbG93LkdldEFjdGlvbkRhdGFVUklzUmVxdWVzdBotLmZseXRlaWRsMi53b3JrZmxvdy5HZXRBY3Rpb25EYXRhVVJJc1Jlc3BvbnNlIgOQAgESewoTR2V0QWN0aW9uTG9nQ29udGV4dBIuLmZseXRlaWRsMi53b3JrZmxvdy5HZXRBY3Rpb25Mb2dDb250ZXh0UmVxdWVzdBovLmZseXRlaWRsMi53b3JrZmxvdy5HZXRBY3Rpb25Mb2dDb250ZXh0UmVzcG9uc2UiA5ACAULMAQoWY29tLmZseXRlaWRsMi53b3JrZmxvd0IPUnVuU2VydmljZVByb3RvSAJQAVo2Z2l0aHViLmNvbS9mbHl0ZW9yZy9mbHl0ZS92Mi9nZW4vZ28vZmx5dGVpZGwyL3dvcmtmbG93ogIDRldYqgISRmx5dGVpZGwyLldvcmtmbG93ygISRmx5dGVpZGwyXFdvcmtmbG934gIeRmx5dGVpZGwyXFdvcmtmbG93XEdQQk1ldGFkYXRh6gITRmx5dGVpZGwyOjpXb3JrZmxvd2IGcHJvdG8z", [file_buf_validate_validate, file_flyteidl2_common_identifier, file_flyteidl2_common_list, file_flyteidl2_common_phase, file_flyteidl2_common_run, file_flyteidl2_core_execution, file_flyteidl2_task_common, file_flyteidl2_task_run, file_flyteidl2_task_task_definition, file_flyteidl2_workflow_run_definition, file_google_protobuf_duration, file_google_protobuf_timestamp]);
33
35
 
34
36
  /**
35
37
  * Request message for creating a run.
@@ -121,6 +123,15 @@ export type CreateRunRequest = Message<"flyteidl2.workflow.CreateRunRequest"> &
121
123
  * @generated from field: flyteidl2.workflow.RunSource source = 8;
122
124
  */
123
125
  source: RunSource;
126
+
127
+ /**
128
+ * Optional explicit run start time. The scheduler sets this to a trigger's scheduled fire time
129
+ * so it surfaces as flyte.ctx().run_start_time in the task. If unset, the server defaults it to
130
+ * the current time. Copied onto RunSpec.run_start_time before the action is enqueued.
131
+ *
132
+ * @generated from field: google.protobuf.Timestamp run_start_time = 10;
133
+ */
134
+ runStartTime?: Timestamp;
124
135
  };
125
136
 
126
137
  /**
@@ -505,6 +516,20 @@ export type GetActionLogContextResponse = Message<"flyteidl2.workflow.GetActionL
505
516
  * @generated from field: string cluster = 2;
506
517
  */
507
518
  cluster: string;
519
+
520
+ /**
521
+ * The start time of the action attempt.
522
+ *
523
+ * @generated from field: google.protobuf.Timestamp start_time = 3;
524
+ */
525
+ startTime?: Timestamp;
526
+
527
+ /**
528
+ * The end time of the action attempt. Unset if the attempt is still running.
529
+ *
530
+ * @generated from field: google.protobuf.Timestamp end_time = 4;
531
+ */
532
+ endTime?: Timestamp;
508
533
  };
509
534
 
510
535
  /**
@@ -571,6 +596,14 @@ export type ListRunsRequest = Message<"flyteidl2.workflow.ListRunsRequest"> & {
571
596
  value: TaskIdentifier;
572
597
  case: "taskId";
573
598
  } | { case: undefined; value?: undefined };
599
+
600
+ /**
601
+ * When true, only return runs that contain at least one action in the
602
+ * PAUSED phase (e.g. a human-in-the-loop gate node awaiting input).
603
+ *
604
+ * @generated from field: bool paused_actions_only = 9;
605
+ */
606
+ pausedActionsOnly: boolean;
574
607
  };
575
608
 
576
609
  /**
@@ -758,6 +791,14 @@ export type WatchActionsRequest = Message<"flyteidl2.workflow.WatchActionsReques
758
791
  * @generated from field: repeated flyteidl2.common.Filter filter = 2;
759
792
  */
760
793
  filter: Filter[];
794
+
795
+ /**
796
+ * Enable the new runStore we implemented for the WatchActions API
797
+ * TODO(alex): We can remove this once the new runStore is properly tested and stable
798
+ *
799
+ * @generated from field: bool enable_run_store = 3;
800
+ */
801
+ enableRunStore: boolean;
761
802
  };
762
803
 
763
804
  /**
@@ -788,6 +829,547 @@ export type WatchActionsResponse = Message<"flyteidl2.workflow.WatchActionsRespo
788
829
  export const WatchActionsResponseSchema: GenMessage<WatchActionsResponse> = /*@__PURE__*/
789
830
  messageDesc(file_flyteidl2_workflow_run_service, 25);
790
831
 
832
+ /**
833
+ * WatchWindowedActionsRequest is the client → server message on the
834
+ * bidi stream. The first message must be Subscribe; subsequent
835
+ * messages must be UpdateWindow.
836
+ *
837
+ * @generated from message flyteidl2.workflow.WatchWindowedActionsRequest
838
+ */
839
+ export type WatchWindowedActionsRequest = Message<"flyteidl2.workflow.WatchWindowedActionsRequest"> & {
840
+ /**
841
+ * @generated from oneof flyteidl2.workflow.WatchWindowedActionsRequest.msg
842
+ */
843
+ msg: {
844
+ /**
845
+ * @generated from field: flyteidl2.workflow.WatchWindowedActionsRequest.Subscribe subscribe = 1;
846
+ */
847
+ value: WatchWindowedActionsRequest_Subscribe;
848
+ case: "subscribe";
849
+ } | {
850
+ /**
851
+ * @generated from field: flyteidl2.workflow.WatchWindowedActionsRequest.UpdateWindow update_window = 2;
852
+ */
853
+ value: WatchWindowedActionsRequest_UpdateWindow;
854
+ case: "updateWindow";
855
+ } | { case: undefined; value?: undefined };
856
+ };
857
+
858
+ /**
859
+ * Describes the message flyteidl2.workflow.WatchWindowedActionsRequest.
860
+ * Use `create(WatchWindowedActionsRequestSchema)` to create a new message.
861
+ */
862
+ export const WatchWindowedActionsRequestSchema: GenMessage<WatchWindowedActionsRequest> = /*@__PURE__*/
863
+ messageDesc(file_flyteidl2_workflow_run_service, 26);
864
+
865
+ /**
866
+ * Subscribe opens the subscription. Sent exactly once as the first
867
+ * message on the stream.
868
+ *
869
+ * @generated from message flyteidl2.workflow.WatchWindowedActionsRequest.Subscribe
870
+ */
871
+ export type WatchWindowedActionsRequest_Subscribe = Message<"flyteidl2.workflow.WatchWindowedActionsRequest.Subscribe"> & {
872
+ /**
873
+ * @generated from field: flyteidl2.common.RunIdentifier run_id = 1;
874
+ */
875
+ runId?: RunIdentifier;
876
+
877
+ /**
878
+ * Action name or group key currently focused in the UI; the
879
+ * server centers the window on this item.
880
+ *
881
+ * @generated from field: string selected_item_id = 2;
882
+ */
883
+ selectedItemId: string;
884
+
885
+ /**
886
+ * Extra items to materialize above/below the selected item. Server
887
+ * clamps; 0 means "use server default".
888
+ *
889
+ * @generated from field: int32 overscan_before = 3;
890
+ */
891
+ overscanBefore: number;
892
+
893
+ /**
894
+ * @generated from field: int32 overscan_after = 4;
895
+ */
896
+ overscanAfter: number;
897
+
898
+ /**
899
+ * Items the client wants expanded. Key = action name OR group key.
900
+ *
901
+ * @generated from field: map<string, flyteidl2.workflow.NodeExpansionParams> expanded_nodes = 5;
902
+ */
903
+ expandedNodes: { [key: string]: NodeExpansionParams };
904
+
905
+ /**
906
+ * Optional filters; same semantics as legacy WatchActions filters.
907
+ *
908
+ * @generated from field: repeated flyteidl2.common.ActionPhase phase_filter = 6;
909
+ */
910
+ phaseFilter: ActionPhase[];
911
+
912
+ /**
913
+ * @generated from field: string name_filter = 7;
914
+ */
915
+ nameFilter: string;
916
+ };
917
+
918
+ /**
919
+ * Describes the message flyteidl2.workflow.WatchWindowedActionsRequest.Subscribe.
920
+ * Use `create(WatchWindowedActionsRequest_SubscribeSchema)` to create a new message.
921
+ */
922
+ export const WatchWindowedActionsRequest_SubscribeSchema: GenMessage<WatchWindowedActionsRequest_Subscribe> = /*@__PURE__*/
923
+ messageDesc(file_flyteidl2_workflow_run_service, 26, 0);
924
+
925
+ /**
926
+ * UpdateWindow updates one or more window parameters. Sent as the
927
+ * user scrolls, expands/collapses, or changes filters.
928
+ *
929
+ * @generated from message flyteidl2.workflow.WatchWindowedActionsRequest.UpdateWindow
930
+ */
931
+ export type WatchWindowedActionsRequest_UpdateWindow = Message<"flyteidl2.workflow.WatchWindowedActionsRequest.UpdateWindow"> & {
932
+ /**
933
+ * Window anchor: either an item id (semantic selection / deep link) or an
934
+ * absolute flat index (scroll-driven viewport). Exactly one must be set.
935
+ *
936
+ * @generated from oneof flyteidl2.workflow.WatchWindowedActionsRequest.UpdateWindow.window_anchor
937
+ */
938
+ windowAnchor: {
939
+ /**
940
+ * @generated from field: string selected_item_id = 1;
941
+ */
942
+ value: string;
943
+ case: "selectedItemId";
944
+ } | {
945
+ /**
946
+ * @generated from field: uint64 anchor_flat_index = 7;
947
+ */
948
+ value: bigint;
949
+ case: "anchorFlatIndex";
950
+ } | { case: undefined; value?: undefined };
951
+
952
+ /**
953
+ * @generated from field: int32 overscan_before = 2;
954
+ */
955
+ overscanBefore: number;
956
+
957
+ /**
958
+ * @generated from field: int32 overscan_after = 3;
959
+ */
960
+ overscanAfter: number;
961
+
962
+ /**
963
+ * @generated from field: map<string, flyteidl2.workflow.NodeExpansionParams> expanded_nodes = 4;
964
+ */
965
+ expandedNodes: { [key: string]: NodeExpansionParams };
966
+
967
+ /**
968
+ * @generated from field: repeated flyteidl2.common.ActionPhase phase_filter = 5;
969
+ */
970
+ phaseFilter: ActionPhase[];
971
+
972
+ /**
973
+ * @generated from field: string name_filter = 6;
974
+ */
975
+ nameFilter: string;
976
+ };
977
+
978
+ /**
979
+ * Describes the message flyteidl2.workflow.WatchWindowedActionsRequest.UpdateWindow.
980
+ * Use `create(WatchWindowedActionsRequest_UpdateWindowSchema)` to create a new message.
981
+ */
982
+ export const WatchWindowedActionsRequest_UpdateWindowSchema: GenMessage<WatchWindowedActionsRequest_UpdateWindow> = /*@__PURE__*/
983
+ messageDesc(file_flyteidl2_workflow_run_service, 26, 1);
984
+
985
+ /**
986
+ * NodeExpansionParams bounds how many children the server should
987
+ * materialize under an expanded node or group. limit <= 0 → server
988
+ * default; server also clamps to a hard cap.
989
+ *
990
+ * @generated from message flyteidl2.workflow.NodeExpansionParams
991
+ */
992
+ export type NodeExpansionParams = Message<"flyteidl2.workflow.NodeExpansionParams"> & {
993
+ /**
994
+ * @generated from field: int32 offset = 1;
995
+ */
996
+ offset: number;
997
+
998
+ /**
999
+ * @generated from field: int32 limit = 2;
1000
+ */
1001
+ limit: number;
1002
+ };
1003
+
1004
+ /**
1005
+ * Describes the message flyteidl2.workflow.NodeExpansionParams.
1006
+ * Use `create(NodeExpansionParamsSchema)` to create a new message.
1007
+ */
1008
+ export const NodeExpansionParamsSchema: GenMessage<NodeExpansionParams> = /*@__PURE__*/
1009
+ messageDesc(file_flyteidl2_workflow_run_service, 27);
1010
+
1011
+ /**
1012
+ * WatchWindowedActionsResponse is one server → client tick.
1013
+ *
1014
+ * @generated from message flyteidl2.workflow.WatchWindowedActionsResponse
1015
+ */
1016
+ export type WatchWindowedActionsResponse = Message<"flyteidl2.workflow.WatchWindowedActionsResponse"> & {
1017
+ /**
1018
+ * Window slice in flat_index order — only the items the client
1019
+ * can render right now (selected ± overscan).
1020
+ *
1021
+ * @generated from field: repeated flyteidl2.workflow.WindowedItem window_items = 1;
1022
+ */
1023
+ windowItems: WindowedItem[];
1024
+
1025
+ /**
1026
+ * Root → selected_item's parent. Sent on every response for
1027
+ * breadcrumb rendering; bounded by tree depth.
1028
+ *
1029
+ * @generated from field: repeated flyteidl2.workflow.WindowedItem ancestors = 2;
1030
+ */
1031
+ ancestors: WindowedItem[];
1032
+
1033
+ /**
1034
+ * Length of the full expanded flat list (not just the window).
1035
+ *
1036
+ * @generated from field: int64 total_flat_count = 3;
1037
+ */
1038
+ totalFlatCount: bigint;
1039
+
1040
+ /**
1041
+ * Position of selected_item_id within the flat list.
1042
+ *
1043
+ * @generated from field: int64 selected_flat_index = 4;
1044
+ */
1045
+ selectedFlatIndex: bigint;
1046
+
1047
+ /**
1048
+ * True on any full-window snapshot the client should replace its
1049
+ * window with — the initial attach snapshot, every mid-hydration
1050
+ * resnapshot, and the final completion snapshot. Distinct from a
1051
+ * delta (which carries only changed items). Use hydration_complete,
1052
+ * not this, to know when the initial load is actually done.
1053
+ *
1054
+ * @generated from field: bool initial_snapshot_complete = 5;
1055
+ */
1056
+ initialSnapshotComplete: boolean;
1057
+
1058
+ /**
1059
+ * Sticky truncation notices — present on every response until the
1060
+ * server confirms client receipt.
1061
+ *
1062
+ * @generated from field: repeated flyteidl2.workflow.TruncationNotice truncations = 6;
1063
+ */
1064
+ truncations: TruncationNotice[];
1065
+
1066
+ /**
1067
+ * True when the server had to drop a tick due to backpressure; the
1068
+ * client should re-send its UpdateWindow to force a fresh snapshot.
1069
+ *
1070
+ * @generated from field: bool resync_hint = 7;
1071
+ */
1072
+ resyncHint: boolean;
1073
+
1074
+ /**
1075
+ * True once the run's initial DB hydration has finished (the store
1076
+ * left the HYDRATING state). Mid-hydration resnapshots carry false;
1077
+ * the completion snapshot and all post-ready responses carry true.
1078
+ * This is the real "first paint / loading done" signal.
1079
+ *
1080
+ * @generated from field: bool hydration_complete = 8;
1081
+ */
1082
+ hydrationComplete: boolean;
1083
+ };
1084
+
1085
+ /**
1086
+ * Describes the message flyteidl2.workflow.WatchWindowedActionsResponse.
1087
+ * Use `create(WatchWindowedActionsResponseSchema)` to create a new message.
1088
+ */
1089
+ export const WatchWindowedActionsResponseSchema: GenMessage<WatchWindowedActionsResponse> = /*@__PURE__*/
1090
+ messageDesc(file_flyteidl2_workflow_run_service, 28);
1091
+
1092
+ /**
1093
+ * WindowedItem is one slot in the windowed flat list — either a
1094
+ * regular action or a synthetic group folder.
1095
+ *
1096
+ * @generated from message flyteidl2.workflow.WindowedItem
1097
+ */
1098
+ export type WindowedItem = Message<"flyteidl2.workflow.WindowedItem"> & {
1099
+ /**
1100
+ * @generated from oneof flyteidl2.workflow.WindowedItem.item
1101
+ */
1102
+ item: {
1103
+ /**
1104
+ * @generated from field: flyteidl2.workflow.EnrichedAction action = 1;
1105
+ */
1106
+ value: EnrichedAction;
1107
+ case: "action";
1108
+ } | {
1109
+ /**
1110
+ * @generated from field: flyteidl2.workflow.GroupNode group = 2;
1111
+ */
1112
+ value: GroupNode;
1113
+ case: "group";
1114
+ } | { case: undefined; value?: undefined };
1115
+
1116
+ /**
1117
+ * @generated from field: int32 depth = 3;
1118
+ */
1119
+ depth: number;
1120
+
1121
+ /**
1122
+ * @generated from field: bool is_expanded = 4;
1123
+ */
1124
+ isExpanded: boolean;
1125
+ };
1126
+
1127
+ /**
1128
+ * Describes the message flyteidl2.workflow.WindowedItem.
1129
+ * Use `create(WindowedItemSchema)` to create a new message.
1130
+ */
1131
+ export const WindowedItemSchema: GenMessage<WindowedItem> = /*@__PURE__*/
1132
+ messageDesc(file_flyteidl2_workflow_run_service, 29);
1133
+
1134
+ /**
1135
+ * ActionLeaf is one entry in a GroupAggregations top-3 list.
1136
+ *
1137
+ * @generated from message flyteidl2.workflow.ActionLeaf
1138
+ */
1139
+ export type ActionLeaf = Message<"flyteidl2.workflow.ActionLeaf"> & {
1140
+ /**
1141
+ * Member action name; resolves to a node under the group's parent.
1142
+ *
1143
+ * @generated from field: string action_id = 1;
1144
+ */
1145
+ actionId: string;
1146
+
1147
+ /**
1148
+ * Interned short name from the member's task spec.
1149
+ *
1150
+ * @generated from field: string short_name = 2;
1151
+ */
1152
+ shortName: string;
1153
+
1154
+ /**
1155
+ * Metric for this entry — wall-clock duration, running duration, or
1156
+ * setup time depending on which list the leaf appears in.
1157
+ *
1158
+ * @generated from field: google.protobuf.Duration duration = 3;
1159
+ */
1160
+ duration?: Duration;
1161
+
1162
+ /**
1163
+ * Member's current phase, so collapsed / out-of-window rows can render
1164
+ * status without the full action being hydrated in the window.
1165
+ *
1166
+ * @generated from field: flyteidl2.common.ActionPhase phase = 4;
1167
+ */
1168
+ phase: ActionPhase;
1169
+
1170
+ /**
1171
+ * Member's start time (mirrors ActionStatus.start_time), for the mini
1172
+ * table start-time column on collapsed / out-of-window rows.
1173
+ *
1174
+ * @generated from field: google.protobuf.Timestamp start_time = 5;
1175
+ */
1176
+ startTime?: Timestamp;
1177
+ };
1178
+
1179
+ /**
1180
+ * Describes the message flyteidl2.workflow.ActionLeaf.
1181
+ * Use `create(ActionLeafSchema)` to create a new message.
1182
+ */
1183
+ export const ActionLeafSchema: GenMessage<ActionLeaf> = /*@__PURE__*/
1184
+ messageDesc(file_flyteidl2_workflow_run_service, 30);
1185
+
1186
+ /**
1187
+ * GroupAggregations carries the four top-3 outlier lists for a group.
1188
+ * Each list holds the three descendant actions (deep rollup over the
1189
+ * group's whole subtree) with the largest metric, sorted DESC.
1190
+ *
1191
+ * @generated from message flyteidl2.workflow.GroupAggregations
1192
+ */
1193
+ export type GroupAggregations = Message<"flyteidl2.workflow.GroupAggregations"> & {
1194
+ /**
1195
+ * Descendants in terminal FAILED phase, by total duration.
1196
+ *
1197
+ * @generated from field: repeated flyteidl2.workflow.ActionLeaf failed = 1;
1198
+ */
1199
+ failed: ActionLeaf[];
1200
+
1201
+ /**
1202
+ * By total wall-clock duration (created → ended).
1203
+ *
1204
+ * @generated from field: repeated flyteidl2.workflow.ActionLeaf longest_duration = 2;
1205
+ */
1206
+ longestDuration: ActionLeaf[];
1207
+
1208
+ /**
1209
+ * By time spent in RUNNING phase.
1210
+ *
1211
+ * @generated from field: repeated flyteidl2.workflow.ActionLeaf longest_running = 3;
1212
+ */
1213
+ longestRunning: ActionLeaf[];
1214
+
1215
+ /**
1216
+ * By setup time = total duration − running duration.
1217
+ *
1218
+ * @generated from field: repeated flyteidl2.workflow.ActionLeaf longest_setup = 4;
1219
+ */
1220
+ longestSetup: ActionLeaf[];
1221
+ };
1222
+
1223
+ /**
1224
+ * Describes the message flyteidl2.workflow.GroupAggregations.
1225
+ * Use `create(GroupAggregationsSchema)` to create a new message.
1226
+ */
1227
+ export const GroupAggregationsSchema: GenMessage<GroupAggregations> = /*@__PURE__*/
1228
+ messageDesc(file_flyteidl2_workflow_run_service, 31);
1229
+
1230
+ /**
1231
+ * GroupNode is the synthetic (parent, action_group) folder. The
1232
+ * server emits one of these in place of a contiguous block of
1233
+ * sibling actions sharing an action_group.
1234
+ *
1235
+ * @generated from message flyteidl2.workflow.GroupNode
1236
+ */
1237
+ export type GroupNode = Message<"flyteidl2.workflow.GroupNode"> & {
1238
+ /**
1239
+ * Synthetic key — "{parent_action_id}::group::{group_name}".
1240
+ *
1241
+ * @generated from field: string id = 1;
1242
+ */
1243
+ id: string;
1244
+
1245
+ /**
1246
+ * @generated from field: string group_name = 2;
1247
+ */
1248
+ groupName: string;
1249
+
1250
+ /**
1251
+ * @generated from field: string parent_id = 3;
1252
+ */
1253
+ parentId: string;
1254
+
1255
+ /**
1256
+ * Per-phase member counts (key = ActionPhase enum value).
1257
+ *
1258
+ * @generated from field: map<int32, int32> child_phase_counts = 4;
1259
+ */
1260
+ childPhaseCounts: { [key: number]: number };
1261
+
1262
+ /**
1263
+ * Earliest StartedAt across members; unset until any member starts.
1264
+ *
1265
+ * @generated from field: google.protobuf.Timestamp earliest_start_time = 5;
1266
+ */
1267
+ earliestStartTime?: Timestamp;
1268
+
1269
+ /**
1270
+ * Latest EndedAt across members; unset while any member is still
1271
+ * running.
1272
+ *
1273
+ * @generated from field: google.protobuf.Timestamp latest_end_time = 6;
1274
+ */
1275
+ latestEndTime?: Timestamp;
1276
+
1277
+ /**
1278
+ * @generated from field: int32 total_children = 7;
1279
+ */
1280
+ totalChildren: number;
1281
+
1282
+ /**
1283
+ * @generated from field: bool meets_filter = 8;
1284
+ */
1285
+ meetsFilter: boolean;
1286
+
1287
+ /**
1288
+ * @generated from field: flyteidl2.workflow.GroupAggregations aggregations = 9;
1289
+ */
1290
+ aggregations?: GroupAggregations;
1291
+ };
1292
+
1293
+ /**
1294
+ * Describes the message flyteidl2.workflow.GroupNode.
1295
+ * Use `create(GroupNodeSchema)` to create a new message.
1296
+ */
1297
+ export const GroupNodeSchema: GenMessage<GroupNode> = /*@__PURE__*/
1298
+ messageDesc(file_flyteidl2_workflow_run_service, 32);
1299
+
1300
+ /**
1301
+ * TruncationNotice tells the client that the response is incomplete
1302
+ * due to a hard cap. Sent sticky — server keeps re-attaching the
1303
+ * notice until receipt is confirmed via a subsequent client message.
1304
+ *
1305
+ * @generated from message flyteidl2.workflow.TruncationNotice
1306
+ */
1307
+ export type TruncationNotice = Message<"flyteidl2.workflow.TruncationNotice"> & {
1308
+ /**
1309
+ * @generated from field: flyteidl2.workflow.TruncationNotice.Reason reason = 1;
1310
+ */
1311
+ reason: TruncationNotice_Reason;
1312
+
1313
+ /**
1314
+ * @generated from field: int64 tracked_action_count = 2;
1315
+ */
1316
+ trackedActionCount: bigint;
1317
+
1318
+ /**
1319
+ * @generated from field: int64 known_total_action_count = 3;
1320
+ */
1321
+ knownTotalActionCount: bigint;
1322
+
1323
+ /**
1324
+ * @generated from field: string message = 4;
1325
+ */
1326
+ message: string;
1327
+ };
1328
+
1329
+ /**
1330
+ * Describes the message flyteidl2.workflow.TruncationNotice.
1331
+ * Use `create(TruncationNoticeSchema)` to create a new message.
1332
+ */
1333
+ export const TruncationNoticeSchema: GenMessage<TruncationNotice> = /*@__PURE__*/
1334
+ messageDesc(file_flyteidl2_workflow_run_service, 33);
1335
+
1336
+ /**
1337
+ * @generated from enum flyteidl2.workflow.TruncationNotice.Reason
1338
+ */
1339
+ export enum TruncationNotice_Reason {
1340
+ /**
1341
+ * @generated from enum value: REASON_UNSPECIFIED = 0;
1342
+ */
1343
+ UNSPECIFIED = 0,
1344
+
1345
+ /**
1346
+ * MaxActionsPerRun hit — the run has more actions than the store tracks.
1347
+ *
1348
+ * @generated from enum value: REASON_RUN_NODE_LIMIT = 1;
1349
+ */
1350
+ RUN_NODE_LIMIT = 1,
1351
+
1352
+ /**
1353
+ * MaxChildrenPerParent hit — at least one parent has more children than tracked.
1354
+ *
1355
+ * @generated from enum value: REASON_PARENT_CHILD_LIMIT = 2;
1356
+ */
1357
+ PARENT_CHILD_LIMIT = 2,
1358
+
1359
+ /**
1360
+ * Transient; the store is still hydrating from the DB.
1361
+ *
1362
+ * @generated from enum value: REASON_HYDRATING = 3;
1363
+ */
1364
+ HYDRATING = 3,
1365
+ }
1366
+
1367
+ /**
1368
+ * Describes the enum flyteidl2.workflow.TruncationNotice.Reason.
1369
+ */
1370
+ export const TruncationNotice_ReasonSchema: GenEnum<TruncationNotice_Reason> = /*@__PURE__*/
1371
+ enumDesc(file_flyteidl2_workflow_run_service, 33, 0);
1372
+
791
1373
  /**
792
1374
  * @generated from message flyteidl2.workflow.WatchClusterEventsRequest
793
1375
  */
@@ -808,7 +1390,7 @@ export type WatchClusterEventsRequest = Message<"flyteidl2.workflow.WatchCluster
808
1390
  * Use `create(WatchClusterEventsRequestSchema)` to create a new message.
809
1391
  */
810
1392
  export const WatchClusterEventsRequestSchema: GenMessage<WatchClusterEventsRequest> = /*@__PURE__*/
811
- messageDesc(file_flyteidl2_workflow_run_service, 26);
1393
+ messageDesc(file_flyteidl2_workflow_run_service, 34);
812
1394
 
813
1395
  /**
814
1396
  * @generated from message flyteidl2.workflow.WatchClusterEventsResponse
@@ -825,7 +1407,7 @@ export type WatchClusterEventsResponse = Message<"flyteidl2.workflow.WatchCluste
825
1407
  * Use `create(WatchClusterEventsResponseSchema)` to create a new message.
826
1408
  */
827
1409
  export const WatchClusterEventsResponseSchema: GenMessage<WatchClusterEventsResponse> = /*@__PURE__*/
828
- messageDesc(file_flyteidl2_workflow_run_service, 27);
1410
+ messageDesc(file_flyteidl2_workflow_run_service, 35);
829
1411
 
830
1412
  /**
831
1413
  * @generated from message flyteidl2.workflow.AbortActionRequest
@@ -851,7 +1433,7 @@ export type AbortActionRequest = Message<"flyteidl2.workflow.AbortActionRequest"
851
1433
  * Use `create(AbortActionRequestSchema)` to create a new message.
852
1434
  */
853
1435
  export const AbortActionRequestSchema: GenMessage<AbortActionRequest> = /*@__PURE__*/
854
- messageDesc(file_flyteidl2_workflow_run_service, 28);
1436
+ messageDesc(file_flyteidl2_workflow_run_service, 36);
855
1437
 
856
1438
  /**
857
1439
  * @generated from message flyteidl2.workflow.AbortActionResponse
@@ -864,7 +1446,103 @@ export type AbortActionResponse = Message<"flyteidl2.workflow.AbortActionRespons
864
1446
  * Use `create(AbortActionResponseSchema)` to create a new message.
865
1447
  */
866
1448
  export const AbortActionResponseSchema: GenMessage<AbortActionResponse> = /*@__PURE__*/
867
- messageDesc(file_flyteidl2_workflow_run_service, 29);
1449
+ messageDesc(file_flyteidl2_workflow_run_service, 37);
1450
+
1451
+ /**
1452
+ * EventPayload carries the typed value for a condition signal. This is the
1453
+ * user-facing simplified payload surface — the run service converts it to a
1454
+ * core.Literal before forwarding to ActionsService.Signal. Exactly one field
1455
+ * must be set, matching the condition's declared type.
1456
+ *
1457
+ * @generated from message flyteidl2.workflow.EventPayload
1458
+ */
1459
+ export type EventPayload = Message<"flyteidl2.workflow.EventPayload"> & {
1460
+ /**
1461
+ * @generated from oneof flyteidl2.workflow.EventPayload.value
1462
+ */
1463
+ value: {
1464
+ /**
1465
+ * @generated from field: bool bool_value = 1;
1466
+ */
1467
+ value: boolean;
1468
+ case: "boolValue";
1469
+ } | {
1470
+ /**
1471
+ * @generated from field: int64 int_value = 2;
1472
+ */
1473
+ value: bigint;
1474
+ case: "intValue";
1475
+ } | {
1476
+ /**
1477
+ * @generated from field: double float_value = 3;
1478
+ */
1479
+ value: number;
1480
+ case: "floatValue";
1481
+ } | {
1482
+ /**
1483
+ * @generated from field: string string_value = 4;
1484
+ */
1485
+ value: string;
1486
+ case: "stringValue";
1487
+ } | { case: undefined; value?: undefined };
1488
+ };
1489
+
1490
+ /**
1491
+ * Describes the message flyteidl2.workflow.EventPayload.
1492
+ * Use `create(EventPayloadSchema)` to create a new message.
1493
+ */
1494
+ export const EventPayloadSchema: GenMessage<EventPayload> = /*@__PURE__*/
1495
+ messageDesc(file_flyteidl2_workflow_run_service, 38);
1496
+
1497
+ /**
1498
+ * Request message for signalling a condition action within a run.
1499
+ *
1500
+ * @generated from message flyteidl2.workflow.SignalEventRequest
1501
+ */
1502
+ export type SignalEventRequest = Message<"flyteidl2.workflow.SignalEventRequest"> & {
1503
+ /**
1504
+ * The condition action to signal.
1505
+ *
1506
+ * @generated from field: flyteidl2.common.ActionIdentifier action_id = 1;
1507
+ */
1508
+ actionId?: ActionIdentifier;
1509
+
1510
+ /**
1511
+ * The parent action that owns the condition. Used to route the request to
1512
+ * the correct actions-service shard (partitioned by parent action name).
1513
+ *
1514
+ * @generated from field: string parent_action_name = 2;
1515
+ */
1516
+ parentActionName: string;
1517
+
1518
+ /**
1519
+ * The value to signal the condition with. Must match the condition's
1520
+ * declared type.
1521
+ *
1522
+ * @generated from field: flyteidl2.workflow.EventPayload payload = 3;
1523
+ */
1524
+ payload?: EventPayload;
1525
+ };
1526
+
1527
+ /**
1528
+ * Describes the message flyteidl2.workflow.SignalEventRequest.
1529
+ * Use `create(SignalEventRequestSchema)` to create a new message.
1530
+ */
1531
+ export const SignalEventRequestSchema: GenMessage<SignalEventRequest> = /*@__PURE__*/
1532
+ messageDesc(file_flyteidl2_workflow_run_service, 39);
1533
+
1534
+ /**
1535
+ * @generated from message flyteidl2.workflow.SignalEventResponse
1536
+ */
1537
+ export type SignalEventResponse = Message<"flyteidl2.workflow.SignalEventResponse"> & {
1538
+ };
1539
+
1540
+ /**
1541
+ * Describes the message flyteidl2.workflow.SignalEventResponse.
1542
+ * Use `create(SignalEventResponseSchema)` to create a new message.
1543
+ */
1544
+ export const SignalEventResponseSchema: GenMessage<SignalEventResponse> = /*@__PURE__*/
1545
+ messageDesc(file_flyteidl2_workflow_run_service, 40);
868
1546
 
869
1547
  /**
870
1548
  * @generated from message flyteidl2.workflow.WatchGroupsRequest
@@ -919,7 +1597,7 @@ export type WatchGroupsRequest = Message<"flyteidl2.workflow.WatchGroupsRequest"
919
1597
  * Use `create(WatchGroupsRequestSchema)` to create a new message.
920
1598
  */
921
1599
  export const WatchGroupsRequestSchema: GenMessage<WatchGroupsRequest> = /*@__PURE__*/
922
- messageDesc(file_flyteidl2_workflow_run_service, 30);
1600
+ messageDesc(file_flyteidl2_workflow_run_service, 41);
923
1601
 
924
1602
  /**
925
1603
  * @generated from message flyteidl2.workflow.WatchGroupsRequest.KnownSortField
@@ -942,7 +1620,7 @@ export type WatchGroupsRequest_KnownSortField = Message<"flyteidl2.workflow.Watc
942
1620
  * Use `create(WatchGroupsRequest_KnownSortFieldSchema)` to create a new message.
943
1621
  */
944
1622
  export const WatchGroupsRequest_KnownSortFieldSchema: GenMessage<WatchGroupsRequest_KnownSortField> = /*@__PURE__*/
945
- messageDesc(file_flyteidl2_workflow_run_service, 30, 0);
1623
+ messageDesc(file_flyteidl2_workflow_run_service, 41, 0);
946
1624
 
947
1625
  /**
948
1626
  * Response message for watching task groups.
@@ -972,7 +1650,7 @@ export type WatchGroupsResponse = Message<"flyteidl2.workflow.WatchGroupsRespons
972
1650
  * Use `create(WatchGroupsResponseSchema)` to create a new message.
973
1651
  */
974
1652
  export const WatchGroupsResponseSchema: GenMessage<WatchGroupsResponse> = /*@__PURE__*/
975
- messageDesc(file_flyteidl2_workflow_run_service, 31);
1653
+ messageDesc(file_flyteidl2_workflow_run_service, 42);
976
1654
 
977
1655
  /**
978
1656
  * RunService provides an interface for managing runs.
@@ -1113,6 +1791,19 @@ export const RunService: GenService<{
1113
1791
  input: typeof AbortActionRequestSchema;
1114
1792
  output: typeof AbortActionResponseSchema;
1115
1793
  },
1794
+ /**
1795
+ * SignalEvent resolves a paused condition action by supplying its value.
1796
+ * It converts the user-facing EventPayload to a core.Literal and delegates
1797
+ * to ActionsService.Signal, resolving the condition's parent action for
1798
+ * routing.
1799
+ *
1800
+ * @generated from rpc flyteidl2.workflow.RunService.SignalEvent
1801
+ */
1802
+ signalEvent: {
1803
+ methodKind: "unary";
1804
+ input: typeof SignalEventRequestSchema;
1805
+ output: typeof SignalEventResponseSchema;
1806
+ },
1116
1807
  /**
1117
1808
  * Stream updates for task groups based on the provided filter criteria.
1118
1809
  *