@flyteorg/flyteidl 1.13.9 → 1.14.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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Flyteidl
2
2
 
3
- This is one of the core repositories of Flyte. It contains the Specification of the Flyte Language using protobuf messages, the Backend API specification in gRPC, and Swagger REST. The repo contains the generated clients and protocol message structures in multiple languages. Along with the generated code, the repository also contains the Golang clients for Flyte's backend APIs (the services grouped under FlyteAdmin).
3
+ This is one of the core components of Flyte. It contains the Specification of the Flyte Language using protobuf messages, the Backend API specification in gRPC, and Swagger REST. The repo contains the generated clients and protocol message structures in multiple languages. Along with the generated code, the repository also contains the Golang clients for Flyte's backend APIs (the services grouped under FlyteAdmin).
4
4
 
5
5
 
6
6
  [![Slack](https://img.shields.io/badge/slack-join_chat-white.svg?logo=slack&style=social)](https://slack.flyte.org)
@@ -11,69 +11,4 @@ This is one of the core repositories of Flyte. It contains the Specification of
11
11
 
12
12
  ## Contributing to Flyteidl
13
13
 
14
- ## Tooling for Flyteidl
15
-
16
- 1. Run ``make download_tooling`` to install generator dependencies.
17
-
18
- ```bash
19
- make download_tooling
20
- ```
21
-
22
- 2. Ensure Docker is installed locally.
23
- 3. Run ``make generate`` to generate all the code, mock client, and docs for FlyteAdmin Service.
24
-
25
- ```bash
26
- make generate
27
- ```
28
-
29
- 4. To add new dependencies for documentation generation, modify ``doc-requirements.in`` and run
30
-
31
- ```bash
32
- make doc-requirements.txt
33
- ```
34
-
35
- ## Docs structure
36
-
37
- The index.rst files for protos are arranged in parallel under the ``docs`` folder.
38
- All the proto definitions are within ``protos/flyteidl`` and their corresponding docs are in ``protos/docs``.
39
-
40
- ```
41
- docs
42
- ├── admin
43
- │   ├── admin.rst
44
- │   └── index.rst
45
- ├── core
46
- │   ├── core.rst
47
- │   └── index.rst
48
- ├── datacatalog
49
- │   ├── datacatalog.rst
50
- │   └── index.rst
51
- ├── event
52
- │   ├── event.rst
53
- │   └── index.rst
54
- ├── plugins
55
- │   ├── index.rst
56
- │   └── plugins.rst
57
- ├── service
58
- │   ├── index.rst
59
- │   └── service.rst
60
- ```
61
-
62
- Each module in protos has a module in docs with the same name.
63
- For example: ``protos/flyteidl/core`` has a module ``protos/docs/core`` under the ``docs`` folder which has the corresponding index and documentation files.
64
-
65
-
66
- ## Generating Documentation
67
-
68
- * If a new module is to be introduced, follow the structure for core files in `generate_protos.sh` file which helps generate the core documentation from its proto files.
69
- ```
70
- core_proto_files=`ls protos/flyteidl/core/*.proto |xargs`
71
- # Remove any currently generated file
72
- ls -d protos/docs/core/* | grep -v index.rst | xargs rm
73
- protoc --doc_out=protos/docs/core --doc_opt=restructuredtext,core.rst -I=protos `echo $core_proto_files`
74
- ```
75
-
76
- * ``make generate`` generates the modified rst files.
77
-
78
- * ``make html`` generates the Sphinx documentation from the docs folder that uses the modified rst files.
79
-
14
+ See the [contributing docs](protos/docs/contributing.md) for more information.
@@ -10034,6 +10034,9 @@ export namespace flyteidl {
10034
10034
 
10035
10035
  /** Resource customInfo */
10036
10036
  customInfo?: (google.protobuf.IStruct|null);
10037
+
10038
+ /** Resource agentError */
10039
+ agentError?: (flyteidl.admin.IAgentError|null);
10037
10040
  }
10038
10041
 
10039
10042
  /** Represents a Resource. */
@@ -10063,6 +10066,9 @@ export namespace flyteidl {
10063
10066
  /** Resource customInfo. */
10064
10067
  public customInfo?: (google.protobuf.IStruct|null);
10065
10068
 
10069
+ /** Resource agentError. */
10070
+ public agentError?: (flyteidl.admin.IAgentError|null);
10071
+
10066
10072
  /**
10067
10073
  * Creates a new Resource instance using the specified properties.
10068
10074
  * @param [properties] Properties to set
@@ -10917,6 +10923,79 @@ export namespace flyteidl {
10917
10923
  public static verify(message: { [k: string]: any }): (string|null);
10918
10924
  }
10919
10925
 
10926
+ /** Properties of an AgentError. */
10927
+ interface IAgentError {
10928
+
10929
+ /** AgentError code */
10930
+ code?: (string|null);
10931
+
10932
+ /** AgentError kind */
10933
+ kind?: (flyteidl.admin.AgentError.Kind|null);
10934
+
10935
+ /** AgentError origin */
10936
+ origin?: (flyteidl.core.ExecutionError.ErrorKind|null);
10937
+ }
10938
+
10939
+ /** Represents an AgentError. */
10940
+ class AgentError implements IAgentError {
10941
+
10942
+ /**
10943
+ * Constructs a new AgentError.
10944
+ * @param [properties] Properties to set
10945
+ */
10946
+ constructor(properties?: flyteidl.admin.IAgentError);
10947
+
10948
+ /** AgentError code. */
10949
+ public code: string;
10950
+
10951
+ /** AgentError kind. */
10952
+ public kind: flyteidl.admin.AgentError.Kind;
10953
+
10954
+ /** AgentError origin. */
10955
+ public origin: flyteidl.core.ExecutionError.ErrorKind;
10956
+
10957
+ /**
10958
+ * Creates a new AgentError instance using the specified properties.
10959
+ * @param [properties] Properties to set
10960
+ * @returns AgentError instance
10961
+ */
10962
+ public static create(properties?: flyteidl.admin.IAgentError): flyteidl.admin.AgentError;
10963
+
10964
+ /**
10965
+ * Encodes the specified AgentError message. Does not implicitly {@link flyteidl.admin.AgentError.verify|verify} messages.
10966
+ * @param message AgentError message or plain object to encode
10967
+ * @param [writer] Writer to encode to
10968
+ * @returns Writer
10969
+ */
10970
+ public static encode(message: flyteidl.admin.IAgentError, writer?: $protobuf.Writer): $protobuf.Writer;
10971
+
10972
+ /**
10973
+ * Decodes an AgentError message from the specified reader or buffer.
10974
+ * @param reader Reader or buffer to decode from
10975
+ * @param [length] Message length if known beforehand
10976
+ * @returns AgentError
10977
+ * @throws {Error} If the payload is not a reader or valid buffer
10978
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
10979
+ */
10980
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): flyteidl.admin.AgentError;
10981
+
10982
+ /**
10983
+ * Verifies an AgentError message.
10984
+ * @param message Plain object to verify
10985
+ * @returns `null` if valid, otherwise the reason why it is not
10986
+ */
10987
+ public static verify(message: { [k: string]: any }): (string|null);
10988
+ }
10989
+
10990
+ namespace AgentError {
10991
+
10992
+ /** Kind enum. */
10993
+ enum Kind {
10994
+ NON_RECOVERABLE = 0,
10995
+ RECOVERABLE = 1
10996
+ }
10997
+ }
10998
+
10920
10999
  /** Properties of a ClusterAssignment. */
10921
11000
  interface IClusterAssignment {
10922
11001
 
@@ -24598,6 +24598,7 @@
24598
24598
  * @property {Array.<flyteidl.core.ITaskLog>|null} [logLinks] Resource logLinks
24599
24599
  * @property {flyteidl.core.TaskExecution.Phase|null} [phase] Resource phase
24600
24600
  * @property {google.protobuf.IStruct|null} [customInfo] Resource customInfo
24601
+ * @property {flyteidl.admin.IAgentError|null} [agentError] Resource agentError
24601
24602
  */
24602
24603
 
24603
24604
  /**
@@ -24664,6 +24665,14 @@
24664
24665
  */
24665
24666
  Resource.prototype.customInfo = null;
24666
24667
 
24668
+ /**
24669
+ * Resource agentError.
24670
+ * @member {flyteidl.admin.IAgentError|null|undefined} agentError
24671
+ * @memberof flyteidl.admin.Resource
24672
+ * @instance
24673
+ */
24674
+ Resource.prototype.agentError = null;
24675
+
24667
24676
  /**
24668
24677
  * Creates a new Resource instance using the specified properties.
24669
24678
  * @function create
@@ -24701,6 +24710,8 @@
24701
24710
  writer.uint32(/* id 5, wireType 0 =*/40).int32(message.phase);
24702
24711
  if (message.customInfo != null && message.hasOwnProperty("customInfo"))
24703
24712
  $root.google.protobuf.Struct.encode(message.customInfo, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
24713
+ if (message.agentError != null && message.hasOwnProperty("agentError"))
24714
+ $root.flyteidl.admin.AgentError.encode(message.agentError, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
24704
24715
  return writer;
24705
24716
  };
24706
24717
 
@@ -24742,6 +24753,9 @@
24742
24753
  case 6:
24743
24754
  message.customInfo = $root.google.protobuf.Struct.decode(reader, reader.uint32());
24744
24755
  break;
24756
+ case 7:
24757
+ message.agentError = $root.flyteidl.admin.AgentError.decode(reader, reader.uint32());
24758
+ break;
24745
24759
  default:
24746
24760
  reader.skipType(tag & 7);
24747
24761
  break;
@@ -24808,6 +24822,11 @@
24808
24822
  if (error)
24809
24823
  return "customInfo." + error;
24810
24824
  }
24825
+ if (message.agentError != null && message.hasOwnProperty("agentError")) {
24826
+ var error = $root.flyteidl.admin.AgentError.verify(message.agentError);
24827
+ if (error)
24828
+ return "agentError." + error;
24829
+ }
24811
24830
  return null;
24812
24831
  };
24813
24832
 
@@ -26704,6 +26723,175 @@
26704
26723
  return GetTaskLogsResponse;
26705
26724
  })();
26706
26725
 
26726
+ admin.AgentError = (function() {
26727
+
26728
+ /**
26729
+ * Properties of an AgentError.
26730
+ * @memberof flyteidl.admin
26731
+ * @interface IAgentError
26732
+ * @property {string|null} [code] AgentError code
26733
+ * @property {flyteidl.admin.AgentError.Kind|null} [kind] AgentError kind
26734
+ * @property {flyteidl.core.ExecutionError.ErrorKind|null} [origin] AgentError origin
26735
+ */
26736
+
26737
+ /**
26738
+ * Constructs a new AgentError.
26739
+ * @memberof flyteidl.admin
26740
+ * @classdesc Represents an AgentError.
26741
+ * @implements IAgentError
26742
+ * @constructor
26743
+ * @param {flyteidl.admin.IAgentError=} [properties] Properties to set
26744
+ */
26745
+ function AgentError(properties) {
26746
+ if (properties)
26747
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
26748
+ if (properties[keys[i]] != null)
26749
+ this[keys[i]] = properties[keys[i]];
26750
+ }
26751
+
26752
+ /**
26753
+ * AgentError code.
26754
+ * @member {string} code
26755
+ * @memberof flyteidl.admin.AgentError
26756
+ * @instance
26757
+ */
26758
+ AgentError.prototype.code = "";
26759
+
26760
+ /**
26761
+ * AgentError kind.
26762
+ * @member {flyteidl.admin.AgentError.Kind} kind
26763
+ * @memberof flyteidl.admin.AgentError
26764
+ * @instance
26765
+ */
26766
+ AgentError.prototype.kind = 0;
26767
+
26768
+ /**
26769
+ * AgentError origin.
26770
+ * @member {flyteidl.core.ExecutionError.ErrorKind} origin
26771
+ * @memberof flyteidl.admin.AgentError
26772
+ * @instance
26773
+ */
26774
+ AgentError.prototype.origin = 0;
26775
+
26776
+ /**
26777
+ * Creates a new AgentError instance using the specified properties.
26778
+ * @function create
26779
+ * @memberof flyteidl.admin.AgentError
26780
+ * @static
26781
+ * @param {flyteidl.admin.IAgentError=} [properties] Properties to set
26782
+ * @returns {flyteidl.admin.AgentError} AgentError instance
26783
+ */
26784
+ AgentError.create = function create(properties) {
26785
+ return new AgentError(properties);
26786
+ };
26787
+
26788
+ /**
26789
+ * Encodes the specified AgentError message. Does not implicitly {@link flyteidl.admin.AgentError.verify|verify} messages.
26790
+ * @function encode
26791
+ * @memberof flyteidl.admin.AgentError
26792
+ * @static
26793
+ * @param {flyteidl.admin.IAgentError} message AgentError message or plain object to encode
26794
+ * @param {$protobuf.Writer} [writer] Writer to encode to
26795
+ * @returns {$protobuf.Writer} Writer
26796
+ */
26797
+ AgentError.encode = function encode(message, writer) {
26798
+ if (!writer)
26799
+ writer = $Writer.create();
26800
+ if (message.code != null && message.hasOwnProperty("code"))
26801
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.code);
26802
+ if (message.kind != null && message.hasOwnProperty("kind"))
26803
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.kind);
26804
+ if (message.origin != null && message.hasOwnProperty("origin"))
26805
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.origin);
26806
+ return writer;
26807
+ };
26808
+
26809
+ /**
26810
+ * Decodes an AgentError message from the specified reader or buffer.
26811
+ * @function decode
26812
+ * @memberof flyteidl.admin.AgentError
26813
+ * @static
26814
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
26815
+ * @param {number} [length] Message length if known beforehand
26816
+ * @returns {flyteidl.admin.AgentError} AgentError
26817
+ * @throws {Error} If the payload is not a reader or valid buffer
26818
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
26819
+ */
26820
+ AgentError.decode = function decode(reader, length) {
26821
+ if (!(reader instanceof $Reader))
26822
+ reader = $Reader.create(reader);
26823
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.admin.AgentError();
26824
+ while (reader.pos < end) {
26825
+ var tag = reader.uint32();
26826
+ switch (tag >>> 3) {
26827
+ case 1:
26828
+ message.code = reader.string();
26829
+ break;
26830
+ case 3:
26831
+ message.kind = reader.int32();
26832
+ break;
26833
+ case 4:
26834
+ message.origin = reader.int32();
26835
+ break;
26836
+ default:
26837
+ reader.skipType(tag & 7);
26838
+ break;
26839
+ }
26840
+ }
26841
+ return message;
26842
+ };
26843
+
26844
+ /**
26845
+ * Verifies an AgentError message.
26846
+ * @function verify
26847
+ * @memberof flyteidl.admin.AgentError
26848
+ * @static
26849
+ * @param {Object.<string,*>} message Plain object to verify
26850
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
26851
+ */
26852
+ AgentError.verify = function verify(message) {
26853
+ if (typeof message !== "object" || message === null)
26854
+ return "object expected";
26855
+ if (message.code != null && message.hasOwnProperty("code"))
26856
+ if (!$util.isString(message.code))
26857
+ return "code: string expected";
26858
+ if (message.kind != null && message.hasOwnProperty("kind"))
26859
+ switch (message.kind) {
26860
+ default:
26861
+ return "kind: enum value expected";
26862
+ case 0:
26863
+ case 1:
26864
+ break;
26865
+ }
26866
+ if (message.origin != null && message.hasOwnProperty("origin"))
26867
+ switch (message.origin) {
26868
+ default:
26869
+ return "origin: enum value expected";
26870
+ case 0:
26871
+ case 1:
26872
+ case 2:
26873
+ break;
26874
+ }
26875
+ return null;
26876
+ };
26877
+
26878
+ /**
26879
+ * Kind enum.
26880
+ * @name flyteidl.admin.AgentError.Kind
26881
+ * @enum {string}
26882
+ * @property {number} NON_RECOVERABLE=0 NON_RECOVERABLE value
26883
+ * @property {number} RECOVERABLE=1 RECOVERABLE value
26884
+ */
26885
+ AgentError.Kind = (function() {
26886
+ var valuesById = {}, values = Object.create(valuesById);
26887
+ values[valuesById[0] = "NON_RECOVERABLE"] = 0;
26888
+ values[valuesById[1] = "RECOVERABLE"] = 1;
26889
+ return values;
26890
+ })();
26891
+
26892
+ return AgentError;
26893
+ })();
26894
+
26707
26895
  admin.ClusterAssignment = (function() {
26708
26896
 
26709
26897
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flyteorg/flyteidl",
3
- "version": "1.13.9",
3
+ "version": "1.14.0",
4
4
  "description": "Compiled protocol buffers and gRPC service clients/servers for Flyte IDLs",
5
5
  "repository": {
6
6
  "type": "git",
@@ -0,0 +1,68 @@
1
+ ## Contributing to FlyteIDL
2
+
3
+ ## Install Tooling
4
+
5
+ 1. Run ``make download_tooling`` to install generator dependencies.
6
+
7
+ ```bash
8
+ make download_tooling
9
+ ```
10
+
11
+ 2. Ensure Docker is installed locally.
12
+ 3. Run ``make generate`` to generate all the code, mock client, and docs for FlyteAdmin Service.
13
+
14
+ ```bash
15
+ make generate
16
+ ```
17
+
18
+ 4. To add new dependencies for documentation generation, modify ``doc-requirements.in`` and run
19
+
20
+ ```bash
21
+ make doc-requirements.txt
22
+ ```
23
+
24
+ ## Docs structure
25
+
26
+ The index.rst files for protos are arranged in parallel under the ``docs`` folder.
27
+ All the proto definitions are within ``protos/flyteidl`` and their corresponding docs are in ``protos/docs``.
28
+
29
+ ```
30
+ docs
31
+ ├── admin
32
+ │   ├── admin.rst
33
+ │   └── index.rst
34
+ ├── core
35
+ │   ├── core.rst
36
+ │   └── index.rst
37
+ ├── datacatalog
38
+ │   ├── datacatalog.rst
39
+ │   └── index.rst
40
+ ├── event
41
+ │   ├── event.rst
42
+ │   └── index.rst
43
+ ├── plugins
44
+ │   ├── index.rst
45
+ │   └── plugins.rst
46
+ ├── service
47
+ │   ├── index.rst
48
+ │   └── service.rst
49
+ ```
50
+
51
+ Each module in protos has a module in docs with the same name.
52
+ For example: ``protos/flyteidl/core`` has a module ``protos/docs/core`` under the ``docs`` folder which has the corresponding index and documentation files.
53
+
54
+
55
+ ## Generating Documentation
56
+
57
+ * If a new module is to be introduced, follow the structure for core files in `generate_protos.sh` file which helps generate the core documentation from its proto files.
58
+ ```
59
+ core_proto_files=`ls protos/flyteidl/core/*.proto |xargs`
60
+ # Remove any currently generated file
61
+ ls -d protos/docs/core/* | grep -v index.rst | xargs rm
62
+ protoc --doc_out=protos/docs/core --doc_opt=restructuredtext,core.rst -I=protos `echo $core_proto_files`
63
+ ```
64
+
65
+ * ``make generate`` generates the modified rst files.
66
+
67
+ * ``make html`` generates the Sphinx documentation from the docs folder that uses the modified rst files.
68
+
@@ -16,3 +16,4 @@ and documentation of all these entities.
16
16
  docs/event/index
17
17
  docs/plugins/index
18
18
  docs/service/index
19
+ docs/contributing
@@ -138,6 +138,8 @@ message Resource {
138
138
  core.TaskExecution.Phase phase = 5;
139
139
  // Custom data specific to the agent.
140
140
  google.protobuf.Struct custom_info = 6;
141
+ // The error raised during execution
142
+ AgentError agent_error = 7;
141
143
  }
142
144
 
143
145
  // A message used to delete a task.
@@ -256,3 +258,22 @@ message GetTaskLogsResponse {
256
258
  GetTaskLogsResponseBody body = 2;
257
259
  }
258
260
  }
261
+
262
+ // Error message to propagate detailed errors from agent executions to the execution
263
+ // engine.
264
+ message AgentError {
265
+ // A simplified code for errors, so that we can provide a glossary of all possible errors.
266
+ string code = 1;
267
+
268
+ // Defines a generic error type that dictates the behavior of the retry strategy.
269
+ enum Kind {
270
+ NON_RECOVERABLE = 0;
271
+ RECOVERABLE = 1;
272
+ }
273
+
274
+ // An abstract error kind for this error. Defaults to Non_Recoverable if not specified.
275
+ Kind kind = 3;
276
+
277
+ // Defines the origin of the error (system, user, unknown).
278
+ core.ExecutionError.ErrorKind origin = 4;
279
+ }
@@ -29,6 +29,7 @@ message NamedEntityIdentifier {
29
29
 
30
30
  // The status of the named entity is used to control its visibility in the UI.
31
31
  enum NamedEntityState {
32
+ reserved 3, 4;
32
33
  // By default, all named entities are considered active and under development.
33
34
  NAMED_ENTITY_ACTIVE = 0;
34
35
 
@@ -206,6 +206,8 @@ message SystemMetadata {
206
206
  message ExecutionMetadata {
207
207
  // The method by which this execution was launched.
208
208
  enum ExecutionMode {
209
+ reserved 7;
210
+
209
211
  // The default execution mode, MANUAL implies that an execution was launched by an individual.
210
212
  MANUAL = 0;
211
213