@eigenpal/cli 0.14.3 → 0.15.1

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.
@@ -99,7 +99,7 @@ Trim the folder to one file, or switch the input to the array form.
99
99
  ```yaml
100
100
  steps:
101
101
  - name: parse # required, unique within the workflow
102
- type: ai.document-parser # see `reference/step-types.md`; introspect with `step-type get`
102
+ type: ai.parse # see `reference/step-types.md`; introspect with `step-type get`
103
103
  if: '{{ input.skipParse != true }}' # optional — Liquid expression; falsy skips the step
104
104
  forEach: '{{ input.documents }}' # optional — runs the step over each item; output is array
105
105
  with: # step-specific config — schema depends on `type`
@@ -301,6 +301,7 @@ that hurt downstream typing. Common ones:
301
301
  | `weak-script-return` | A `transform.script` returns `any` or `unknown`. Replace with a concrete shape or a literal union. |
302
302
  | `untyped-object` | A `type: object` field has no `properties`. The LLM has no guidance on what to emit. |
303
303
  | `untyped-array-items` | A `type: array` field has no `items:` declared. |
304
+ | `unknown-step-reference` | A Liquid expression references a step that is not in scope, often because it is inside a control container. |
304
305
 
305
306
  Warnings do not block the push. They print to stderr as `! …` lines. Run
306
307
  `eigenpal workflow validate` locally to surface them before pushing.
@@ -508,32 +509,1466 @@ _Generated from `WorkflowDefinitionSchema` in `@eigenpal/types/src/workflow/work
508
509
 
509
510
  | Field | Type | Required | Default | Description |
510
511
  | --- | --- | --- | --- | --- |
511
- | `name` | string | yes | | |
512
- | `kind` | `"workflow"` | no | `"workflow"` | |
513
- | `version` | string | no | `"1.0.0"` | |
514
- | `description` | string | no | | |
515
- | `enabled` | boolean | no | `true` | |
516
- | `triggerMethods` | array<object> | no | `[{"type":"manual"}]` | |
517
- | `inputs` | array<object> | no | | |
518
- | `steps` | array<unknown> | yes | | |
519
- | `output` | record<string, string> \| string | no | | |
520
- | `settings` | object | no | | |
521
- | `defaultModel` | string | no | | |
512
+ | `name` | string | yes | | URL-safe workflow slug: 1-64 lowercase letters, digits, underscores, or hyphens; must start with a letter or digit. |
513
+ | `version` | string | no | `"1.0.0"` | Author-provided semantic version label stored with the definition. |
514
+ | `description` | string | no | | Human-readable purpose of the workflow. |
515
+ | `enabled` | boolean | no | `true` | Whether the workflow may be run. |
516
+ | `triggerMethods` | array<object> | no | `[{"type":"manual"}]` | Ways this workflow can be invoked: manual, api, or email. |
517
+ | `inputs` | array<object> | no | | Top-level inputs available under `input` in template expressions. |
518
+ | `steps` | array<unknown> | yes | | Ordered workflow steps; names must be unique. |
519
+ | `output` | record<string, string> \| string | no | | Final output as named field-to-template mappings or one passthrough template expression. |
520
+ | `settings` | object | no | | Workflow-wide timeout and retry defaults. |
521
+ | `defaultModel` | string | no | | Default configured LLM provider id used by AI steps when the step does not select one. |
522
522
 
523
523
 
524
524
  ## Per-input fields
525
525
 
526
526
  | Field | Type | Required | Default | Description |
527
527
  | --- | --- | --- | --- | --- |
528
- | `name` | string | yes | | |
529
- | `type` | string | yes | | |
530
- | `description` | string | no | | |
531
- | `required` | boolean | no | `true` | |
532
- | `default` | unknown | no | | |
533
- | `values` | array<string> | no | | |
534
- | `items` | object | no | | |
535
- | `properties` | array<unknown> | no | | |
536
- | `source` | string | no | | |
537
- | `mimeType` | string | no | | |
538
- | `extension` | string | no | | |
528
+ | `name` | string | yes | | Top-level input name used as `input.<name>` in template expressions. |
529
+ | `type` | string | yes | | One of string, enum, number, integer, boolean, array, object, or file. |
530
+ | `description` | string | no | | Human-readable input meaning shown to callers. |
531
+ | `required` | boolean | no | `true` | Whether callers must provide this input. |
532
+ | `default` | unknown | no | | Value used when an optional input is omitted. |
533
+ | `values` | array<string> | no | | Closed set of allowed strings when type is enum. |
534
+ | `items` | object | no | | Element definition when type is array. |
535
+ | `properties` | array<unknown> | no | | Recursive field definitions when type is object. |
536
+ | `source` | string | no | | Registered external file resolver for single-tenant string-id file inputs, for example gpfs; valid only with type file. |
537
+ | `mimeType` | string | no | | MIME hint such as application/pdf for a sourced file; mutually exclusive with extension. |
538
+ | `extension` | string | no | | Extension hint such as pdf for a sourced file; mutually exclusive with mimeType. |
539
+
540
+
541
+ ## Nested input property fields
542
+
543
+ Object inputs and object array items use this recursive shape. File inputs are top-level only.
544
+
545
+ | Field | Type | Required | Default | Description |
546
+ | --- | --- | --- | --- | --- |
547
+ | `name` | string | yes | | JSON object key, addressable in templates with dot notation. |
548
+ | `type` | string | yes | | One of string, enum, number, integer, boolean, array, or object. |
549
+ | `description` | string | no | | Human-readable field meaning. |
550
+ | `required` | boolean | no | | Whether this property must be present; defaults to true when omitted. |
551
+ | `values` | array<string> | no | | Allowed strings when type is enum. |
552
+ | `items` | object | no | | Element definition when type is array. |
553
+ | `properties` | array<unknown> | no | | Recursive fields when type is object. |
554
+
555
+
556
+ ## Trigger method variants
557
+
558
+ ### `manual`
559
+
560
+ | Field | Type | Required | Default | Description |
561
+ | --- | --- | --- | --- | --- |
562
+ | `type` | `"manual"` | yes | | Dashboard/manual run trigger. |
563
+ | `enabled` | boolean | no | | Set false to disable dashboard runs; manual triggering is enabled by default. |
564
+ | `inputSchema` | record<string, unknown> | no | | Optional JSON Schema for trigger input. |
565
+
566
+
567
+ ### `api`
568
+
569
+ | Field | Type | Required | Default | Description |
570
+ | --- | --- | --- | --- | --- |
571
+ | `type` | `"api"` | yes | | Public API run trigger. |
572
+ | `inputSchema` | record<string, unknown> | no | | Optional JSON Schema for API input. |
573
+
574
+
575
+ ### `email`
576
+
577
+ | Field | Type | Required | Default | Description |
578
+ | --- | --- | --- | --- | --- |
579
+ | `type` | `"email"` | yes | | Inbound email trigger. |
580
+ | `whitelist` | object | no | | Optional sender allowlist by exact email address or domain. |
581
+
582
+
583
+ ## Workflow settings
584
+
585
+ | Field | Type | Required | Default | Description |
586
+ | --- | --- | --- | --- | --- |
587
+ | `timeout` | number | no | | Default step timeout in milliseconds. |
588
+ | `retry` | `"automatic"` \| `"never"` \| object | no | | Default durable retry policy for steps. |
589
+ | `retries` | integer | no | | |
590
+ | `retryDelay` | number | no | | |
591
+
592
+
593
+ ## Complete machine-readable workflow schema
594
+
595
+ This JSON Schema is generated from the same Zod schema used to parse workflow YAML. YAML keys and nesting are identical.
596
+
597
+ ```json
598
+ {
599
+ "$schema": "http://json-schema.org/draft-07/schema#",
600
+ "type": "object",
601
+ "properties": {
602
+ "name": {
603
+ "type": "string",
604
+ "minLength": 1,
605
+ "maxLength": 64,
606
+ "pattern": "^[a-z0-9][a-z0-9_-]*$",
607
+ "description": "URL-safe workflow slug: 1-64 lowercase letters, digits, underscores, or hyphens; must start with a letter or digit."
608
+ },
609
+ "kind": {
610
+ "description": "Deprecated compatibility discriminator; omit for new workflows.",
611
+ "default": "workflow",
612
+ "type": "string",
613
+ "enum": [
614
+ "workflow"
615
+ ]
616
+ },
617
+ "version": {
618
+ "default": "1.0.0",
619
+ "description": "Author-provided semantic version label stored with the definition.",
620
+ "type": "string"
621
+ },
622
+ "description": {
623
+ "description": "Human-readable purpose of the workflow.",
624
+ "type": "string"
625
+ },
626
+ "enabled": {
627
+ "default": true,
628
+ "description": "Whether the workflow may be run.",
629
+ "type": "boolean"
630
+ },
631
+ "triggerMethods": {
632
+ "default": [
633
+ {
634
+ "type": "manual"
635
+ }
636
+ ],
637
+ "description": "Ways this workflow can be invoked: manual, api, or email.",
638
+ "type": "array",
639
+ "items": {
640
+ "oneOf": [
641
+ {
642
+ "type": "object",
643
+ "properties": {
644
+ "type": {
645
+ "type": "string",
646
+ "const": "manual",
647
+ "description": "Dashboard/manual run trigger."
648
+ },
649
+ "enabled": {
650
+ "description": "Set false to disable dashboard runs; manual triggering is enabled by default.",
651
+ "type": "boolean"
652
+ },
653
+ "inputSchema": {
654
+ "description": "Optional JSON Schema for trigger input.",
655
+ "type": "object",
656
+ "propertyNames": {
657
+ "type": "string"
658
+ },
659
+ "additionalProperties": {}
660
+ }
661
+ },
662
+ "required": [
663
+ "type"
664
+ ],
665
+ "additionalProperties": false
666
+ },
667
+ {
668
+ "type": "object",
669
+ "properties": {
670
+ "type": {
671
+ "type": "string",
672
+ "const": "api",
673
+ "description": "Public API run trigger."
674
+ },
675
+ "inputSchema": {
676
+ "description": "Optional JSON Schema for API input.",
677
+ "type": "object",
678
+ "propertyNames": {
679
+ "type": "string"
680
+ },
681
+ "additionalProperties": {}
682
+ }
683
+ },
684
+ "required": [
685
+ "type"
686
+ ],
687
+ "additionalProperties": false
688
+ },
689
+ {
690
+ "type": "object",
691
+ "properties": {
692
+ "type": {
693
+ "type": "string",
694
+ "const": "email",
695
+ "description": "Inbound email trigger."
696
+ },
697
+ "whitelist": {
698
+ "description": "Optional sender allowlist by exact email address or domain.",
699
+ "type": "object",
700
+ "properties": {
701
+ "domains": {
702
+ "description": "Allowed sender domains.",
703
+ "type": "array",
704
+ "items": {
705
+ "type": "string"
706
+ }
707
+ },
708
+ "emails": {
709
+ "description": "Allowed exact sender email addresses.",
710
+ "type": "array",
711
+ "items": {
712
+ "type": "string"
713
+ }
714
+ }
715
+ },
716
+ "additionalProperties": false
717
+ }
718
+ },
719
+ "required": [
720
+ "type"
721
+ ],
722
+ "additionalProperties": false
723
+ }
724
+ ]
725
+ }
726
+ },
727
+ "inputs": {
728
+ "description": "Top-level inputs available under `input` in template expressions.",
729
+ "type": "array",
730
+ "items": {
731
+ "type": "object",
732
+ "properties": {
733
+ "name": {
734
+ "type": "string",
735
+ "minLength": 1,
736
+ "description": "Top-level input name used as `input.<name>` in template expressions."
737
+ },
738
+ "type": {
739
+ "type": "string",
740
+ "description": "One of string, enum, number, integer, boolean, array, object, or file."
741
+ },
742
+ "description": {
743
+ "description": "Human-readable input meaning shown to callers.",
744
+ "type": "string"
745
+ },
746
+ "required": {
747
+ "default": true,
748
+ "description": "Whether callers must provide this input.",
749
+ "type": "boolean"
750
+ },
751
+ "default": {
752
+ "description": "Value used when an optional input is omitted."
753
+ },
754
+ "values": {
755
+ "description": "Closed set of allowed strings when type is enum.",
756
+ "type": "array",
757
+ "items": {
758
+ "type": "string"
759
+ }
760
+ },
761
+ "items": {
762
+ "description": "Element definition when type is array.",
763
+ "type": "object",
764
+ "properties": {
765
+ "type": {
766
+ "type": "string",
767
+ "description": "Array element type: string, enum, number, integer, boolean, object, or file."
768
+ },
769
+ "values": {
770
+ "description": "Closed set of allowed strings when items.type is enum.",
771
+ "type": "array",
772
+ "items": {
773
+ "type": "string"
774
+ }
775
+ },
776
+ "properties": {
777
+ "description": "Recursive fields when items.type is object.",
778
+ "type": "array",
779
+ "items": {
780
+ "$ref": "#/definitions/__schema0"
781
+ }
782
+ }
783
+ },
784
+ "required": [
785
+ "type"
786
+ ],
787
+ "additionalProperties": false
788
+ },
789
+ "properties": {
790
+ "description": "Recursive field definitions when type is object.",
791
+ "type": "array",
792
+ "items": {
793
+ "$ref": "#/definitions/__schema0"
794
+ }
795
+ },
796
+ "source": {
797
+ "description": "Registered external file resolver for single-tenant string-id file inputs, for example gpfs; valid only with type file.",
798
+ "type": "string",
799
+ "minLength": 1
800
+ },
801
+ "mimeType": {
802
+ "description": "MIME hint such as application/pdf for a sourced file; mutually exclusive with extension.",
803
+ "type": "string",
804
+ "minLength": 1
805
+ },
806
+ "extension": {
807
+ "description": "Extension hint such as pdf for a sourced file; mutually exclusive with mimeType.",
808
+ "type": "string",
809
+ "minLength": 1
810
+ }
811
+ },
812
+ "required": [
813
+ "name",
814
+ "type",
815
+ "required"
816
+ ],
817
+ "additionalProperties": false
818
+ }
819
+ },
820
+ "steps": {
821
+ "type": "array",
822
+ "items": {
823
+ "$ref": "#/definitions/__schema1"
824
+ },
825
+ "description": "Ordered workflow steps; names must be unique."
826
+ },
827
+ "output": {
828
+ "description": "Final output as named field-to-template mappings or one passthrough template expression.",
829
+ "anyOf": [
830
+ {
831
+ "type": "object",
832
+ "propertyNames": {
833
+ "type": "string"
834
+ },
835
+ "additionalProperties": {
836
+ "type": "string"
837
+ }
838
+ },
839
+ {
840
+ "type": "string"
841
+ }
842
+ ]
843
+ },
844
+ "settings": {
845
+ "description": "Workflow-wide timeout and retry defaults.",
846
+ "type": "object",
847
+ "properties": {
848
+ "timeout": {
849
+ "description": "Default step timeout in milliseconds.",
850
+ "type": "number",
851
+ "exclusiveMinimum": 0
852
+ },
853
+ "retry": {
854
+ "description": "Default durable retry policy for steps.",
855
+ "anyOf": [
856
+ {
857
+ "type": "string",
858
+ "const": "automatic"
859
+ },
860
+ {
861
+ "type": "string",
862
+ "const": "never"
863
+ },
864
+ {
865
+ "oneOf": [
866
+ {
867
+ "type": "object",
868
+ "properties": {
869
+ "mode": {
870
+ "type": "string",
871
+ "const": "automatic"
872
+ },
873
+ "maxAttempts": {
874
+ "type": "integer",
875
+ "minimum": 1,
876
+ "maximum": 10
877
+ }
878
+ },
879
+ "required": [
880
+ "mode"
881
+ ],
882
+ "additionalProperties": false
883
+ },
884
+ {
885
+ "type": "object",
886
+ "properties": {
887
+ "mode": {
888
+ "type": "string",
889
+ "const": "never"
890
+ }
891
+ },
892
+ "required": [
893
+ "mode"
894
+ ],
895
+ "additionalProperties": false
896
+ }
897
+ ]
898
+ }
899
+ ]
900
+ },
901
+ "retries": {
902
+ "type": "integer",
903
+ "minimum": 0,
904
+ "maximum": 9007199254740991
905
+ },
906
+ "retryDelay": {
907
+ "type": "number",
908
+ "exclusiveMinimum": 0
909
+ }
910
+ },
911
+ "additionalProperties": false
912
+ },
913
+ "defaultModel": {
914
+ "description": "Default configured LLM provider id used by AI steps when the step does not select one.",
915
+ "type": "string"
916
+ }
917
+ },
918
+ "required": [
919
+ "name",
920
+ "version",
921
+ "enabled",
922
+ "triggerMethods",
923
+ "steps"
924
+ ],
925
+ "additionalProperties": false,
926
+ "definitions": {
927
+ "__schema0": {
928
+ "type": "object",
929
+ "properties": {
930
+ "name": {
931
+ "type": "string",
932
+ "minLength": 1,
933
+ "pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
934
+ "description": "JSON object key, addressable in templates with dot notation."
935
+ },
936
+ "type": {
937
+ "type": "string",
938
+ "description": "One of string, enum, number, integer, boolean, array, or object."
939
+ },
940
+ "description": {
941
+ "description": "Human-readable field meaning.",
942
+ "type": "string"
943
+ },
944
+ "required": {
945
+ "description": "Whether this property must be present; defaults to true when omitted.",
946
+ "type": "boolean"
947
+ },
948
+ "values": {
949
+ "description": "Allowed strings when type is enum.",
950
+ "type": "array",
951
+ "items": {
952
+ "type": "string"
953
+ }
954
+ },
955
+ "items": {
956
+ "description": "Element definition when type is array.",
957
+ "type": "object",
958
+ "properties": {
959
+ "type": {
960
+ "type": "string",
961
+ "description": "Array element type: string, enum, number, integer, boolean, or object."
962
+ },
963
+ "values": {
964
+ "description": "Allowed strings when items.type is enum.",
965
+ "type": "array",
966
+ "items": {
967
+ "type": "string"
968
+ }
969
+ },
970
+ "properties": {
971
+ "description": "Recursive object fields when items.type is object.",
972
+ "type": "array",
973
+ "items": {
974
+ "$ref": "#/definitions/__schema0"
975
+ }
976
+ }
977
+ },
978
+ "required": [
979
+ "type"
980
+ ],
981
+ "additionalProperties": false
982
+ },
983
+ "properties": {
984
+ "description": "Recursive fields when type is object.",
985
+ "type": "array",
986
+ "items": {
987
+ "$ref": "#/definitions/__schema0"
988
+ }
989
+ }
990
+ },
991
+ "required": [
992
+ "name",
993
+ "type"
994
+ ],
995
+ "additionalProperties": false
996
+ },
997
+ "__schema1": {
998
+ "anyOf": [
999
+ {
1000
+ "type": "object",
1001
+ "properties": {
1002
+ "type": {
1003
+ "type": "string",
1004
+ "enum": [
1005
+ "ai.parse",
1006
+ "ai.extract",
1007
+ "ai.split",
1008
+ "ai.segment",
1009
+ "ai.classify",
1010
+ "ai.classify-pages",
1011
+ "ai.vision"
1012
+ ]
1013
+ },
1014
+ "name": {
1015
+ "type": "string",
1016
+ "minLength": 1
1017
+ },
1018
+ "description": {
1019
+ "type": "string"
1020
+ },
1021
+ "if": {
1022
+ "type": "string"
1023
+ },
1024
+ "timeout": {
1025
+ "type": "number",
1026
+ "exclusiveMinimum": 0
1027
+ },
1028
+ "retry": {
1029
+ "anyOf": [
1030
+ {
1031
+ "type": "string",
1032
+ "const": "inherit"
1033
+ },
1034
+ {
1035
+ "type": "string",
1036
+ "const": "automatic"
1037
+ },
1038
+ {
1039
+ "type": "string",
1040
+ "const": "never"
1041
+ },
1042
+ {
1043
+ "oneOf": [
1044
+ {
1045
+ "type": "object",
1046
+ "properties": {
1047
+ "mode": {
1048
+ "type": "string",
1049
+ "const": "automatic"
1050
+ },
1051
+ "maxAttempts": {
1052
+ "type": "integer",
1053
+ "minimum": 1,
1054
+ "maximum": 10
1055
+ }
1056
+ },
1057
+ "required": [
1058
+ "mode"
1059
+ ],
1060
+ "additionalProperties": false
1061
+ },
1062
+ {
1063
+ "type": "object",
1064
+ "properties": {
1065
+ "mode": {
1066
+ "type": "string",
1067
+ "const": "never"
1068
+ }
1069
+ },
1070
+ "required": [
1071
+ "mode"
1072
+ ],
1073
+ "additionalProperties": false
1074
+ }
1075
+ ]
1076
+ }
1077
+ ]
1078
+ },
1079
+ "retries": {
1080
+ "type": "integer",
1081
+ "minimum": 0,
1082
+ "maximum": 9007199254740991
1083
+ },
1084
+ "retryDelay": {
1085
+ "type": "number",
1086
+ "exclusiveMinimum": 0
1087
+ },
1088
+ "with": {
1089
+ "type": "object",
1090
+ "propertyNames": {
1091
+ "type": "string"
1092
+ },
1093
+ "additionalProperties": {}
1094
+ }
1095
+ },
1096
+ "required": [
1097
+ "type",
1098
+ "name"
1099
+ ],
1100
+ "additionalProperties": false
1101
+ },
1102
+ {
1103
+ "type": "object",
1104
+ "properties": {
1105
+ "type": {
1106
+ "type": "string",
1107
+ "enum": [
1108
+ "transform.set",
1109
+ "transform.remove",
1110
+ "transform.combine",
1111
+ "transform.split",
1112
+ "transform.merge",
1113
+ "transform.template",
1114
+ "transform.pdf-embed",
1115
+ "transform.xlsx-to-json",
1116
+ "transform.json-to-xlsx",
1117
+ "transform.script",
1118
+ "transform.text-chunker",
1119
+ "transform.regex-extract"
1120
+ ]
1121
+ },
1122
+ "name": {
1123
+ "type": "string",
1124
+ "minLength": 1
1125
+ },
1126
+ "description": {
1127
+ "type": "string"
1128
+ },
1129
+ "if": {
1130
+ "type": "string"
1131
+ },
1132
+ "timeout": {
1133
+ "type": "number",
1134
+ "exclusiveMinimum": 0
1135
+ },
1136
+ "retry": {
1137
+ "anyOf": [
1138
+ {
1139
+ "type": "string",
1140
+ "const": "inherit"
1141
+ },
1142
+ {
1143
+ "type": "string",
1144
+ "const": "automatic"
1145
+ },
1146
+ {
1147
+ "type": "string",
1148
+ "const": "never"
1149
+ },
1150
+ {
1151
+ "oneOf": [
1152
+ {
1153
+ "type": "object",
1154
+ "properties": {
1155
+ "mode": {
1156
+ "type": "string",
1157
+ "const": "automatic"
1158
+ },
1159
+ "maxAttempts": {
1160
+ "type": "integer",
1161
+ "minimum": 1,
1162
+ "maximum": 10
1163
+ }
1164
+ },
1165
+ "required": [
1166
+ "mode"
1167
+ ],
1168
+ "additionalProperties": false
1169
+ },
1170
+ {
1171
+ "type": "object",
1172
+ "properties": {
1173
+ "mode": {
1174
+ "type": "string",
1175
+ "const": "never"
1176
+ }
1177
+ },
1178
+ "required": [
1179
+ "mode"
1180
+ ],
1181
+ "additionalProperties": false
1182
+ }
1183
+ ]
1184
+ }
1185
+ ]
1186
+ },
1187
+ "retries": {
1188
+ "type": "integer",
1189
+ "minimum": 0,
1190
+ "maximum": 9007199254740991
1191
+ },
1192
+ "retryDelay": {
1193
+ "type": "number",
1194
+ "exclusiveMinimum": 0
1195
+ },
1196
+ "with": {
1197
+ "type": "object",
1198
+ "propertyNames": {
1199
+ "type": "string"
1200
+ },
1201
+ "additionalProperties": {}
1202
+ }
1203
+ },
1204
+ "required": [
1205
+ "type",
1206
+ "name"
1207
+ ],
1208
+ "additionalProperties": false
1209
+ },
1210
+ {
1211
+ "type": "object",
1212
+ "properties": {
1213
+ "type": {
1214
+ "type": "string",
1215
+ "enum": [
1216
+ "action.http",
1217
+ "action.invoke-workflow",
1218
+ "action.website-reader"
1219
+ ]
1220
+ },
1221
+ "name": {
1222
+ "type": "string",
1223
+ "minLength": 1
1224
+ },
1225
+ "description": {
1226
+ "type": "string"
1227
+ },
1228
+ "if": {
1229
+ "type": "string"
1230
+ },
1231
+ "timeout": {
1232
+ "type": "number",
1233
+ "exclusiveMinimum": 0
1234
+ },
1235
+ "retry": {
1236
+ "anyOf": [
1237
+ {
1238
+ "type": "string",
1239
+ "const": "inherit"
1240
+ },
1241
+ {
1242
+ "type": "string",
1243
+ "const": "automatic"
1244
+ },
1245
+ {
1246
+ "type": "string",
1247
+ "const": "never"
1248
+ },
1249
+ {
1250
+ "oneOf": [
1251
+ {
1252
+ "type": "object",
1253
+ "properties": {
1254
+ "mode": {
1255
+ "type": "string",
1256
+ "const": "automatic"
1257
+ },
1258
+ "maxAttempts": {
1259
+ "type": "integer",
1260
+ "minimum": 1,
1261
+ "maximum": 10
1262
+ }
1263
+ },
1264
+ "required": [
1265
+ "mode"
1266
+ ],
1267
+ "additionalProperties": false
1268
+ },
1269
+ {
1270
+ "type": "object",
1271
+ "properties": {
1272
+ "mode": {
1273
+ "type": "string",
1274
+ "const": "never"
1275
+ }
1276
+ },
1277
+ "required": [
1278
+ "mode"
1279
+ ],
1280
+ "additionalProperties": false
1281
+ }
1282
+ ]
1283
+ }
1284
+ ]
1285
+ },
1286
+ "retries": {
1287
+ "type": "integer",
1288
+ "minimum": 0,
1289
+ "maximum": 9007199254740991
1290
+ },
1291
+ "retryDelay": {
1292
+ "type": "number",
1293
+ "exclusiveMinimum": 0
1294
+ },
1295
+ "with": {
1296
+ "type": "object",
1297
+ "propertyNames": {
1298
+ "type": "string"
1299
+ },
1300
+ "additionalProperties": {}
1301
+ }
1302
+ },
1303
+ "required": [
1304
+ "type",
1305
+ "name"
1306
+ ],
1307
+ "additionalProperties": false
1308
+ },
1309
+ {
1310
+ "type": "object",
1311
+ "properties": {
1312
+ "type": {
1313
+ "type": "string",
1314
+ "const": "control.wait"
1315
+ },
1316
+ "name": {
1317
+ "type": "string",
1318
+ "minLength": 1
1319
+ },
1320
+ "description": {
1321
+ "type": "string"
1322
+ },
1323
+ "if": {
1324
+ "type": "string"
1325
+ },
1326
+ "timeout": {
1327
+ "type": "number",
1328
+ "exclusiveMinimum": 0
1329
+ },
1330
+ "retry": {
1331
+ "anyOf": [
1332
+ {
1333
+ "type": "string",
1334
+ "const": "inherit"
1335
+ },
1336
+ {
1337
+ "type": "string",
1338
+ "const": "automatic"
1339
+ },
1340
+ {
1341
+ "type": "string",
1342
+ "const": "never"
1343
+ },
1344
+ {
1345
+ "oneOf": [
1346
+ {
1347
+ "type": "object",
1348
+ "properties": {
1349
+ "mode": {
1350
+ "type": "string",
1351
+ "const": "automatic"
1352
+ },
1353
+ "maxAttempts": {
1354
+ "type": "integer",
1355
+ "minimum": 1,
1356
+ "maximum": 10
1357
+ }
1358
+ },
1359
+ "required": [
1360
+ "mode"
1361
+ ],
1362
+ "additionalProperties": false
1363
+ },
1364
+ {
1365
+ "type": "object",
1366
+ "properties": {
1367
+ "mode": {
1368
+ "type": "string",
1369
+ "const": "never"
1370
+ }
1371
+ },
1372
+ "required": [
1373
+ "mode"
1374
+ ],
1375
+ "additionalProperties": false
1376
+ }
1377
+ ]
1378
+ }
1379
+ ]
1380
+ },
1381
+ "retries": {
1382
+ "type": "integer",
1383
+ "minimum": 0,
1384
+ "maximum": 9007199254740991
1385
+ },
1386
+ "retryDelay": {
1387
+ "type": "number",
1388
+ "exclusiveMinimum": 0
1389
+ },
1390
+ "with": {
1391
+ "type": "object",
1392
+ "propertyNames": {
1393
+ "type": "string"
1394
+ },
1395
+ "additionalProperties": {}
1396
+ },
1397
+ "duration": {
1398
+ "type": "number",
1399
+ "exclusiveMinimum": 0
1400
+ }
1401
+ },
1402
+ "required": [
1403
+ "type",
1404
+ "name"
1405
+ ],
1406
+ "additionalProperties": false
1407
+ },
1408
+ {
1409
+ "type": "object",
1410
+ "properties": {
1411
+ "type": {
1412
+ "type": "string",
1413
+ "const": "control.fail"
1414
+ },
1415
+ "name": {
1416
+ "type": "string",
1417
+ "minLength": 1
1418
+ },
1419
+ "description": {
1420
+ "type": "string"
1421
+ },
1422
+ "if": {
1423
+ "type": "string"
1424
+ },
1425
+ "timeout": {
1426
+ "type": "number",
1427
+ "exclusiveMinimum": 0
1428
+ },
1429
+ "retry": {
1430
+ "anyOf": [
1431
+ {
1432
+ "type": "string",
1433
+ "const": "inherit"
1434
+ },
1435
+ {
1436
+ "type": "string",
1437
+ "const": "automatic"
1438
+ },
1439
+ {
1440
+ "type": "string",
1441
+ "const": "never"
1442
+ },
1443
+ {
1444
+ "oneOf": [
1445
+ {
1446
+ "type": "object",
1447
+ "properties": {
1448
+ "mode": {
1449
+ "type": "string",
1450
+ "const": "automatic"
1451
+ },
1452
+ "maxAttempts": {
1453
+ "type": "integer",
1454
+ "minimum": 1,
1455
+ "maximum": 10
1456
+ }
1457
+ },
1458
+ "required": [
1459
+ "mode"
1460
+ ],
1461
+ "additionalProperties": false
1462
+ },
1463
+ {
1464
+ "type": "object",
1465
+ "properties": {
1466
+ "mode": {
1467
+ "type": "string",
1468
+ "const": "never"
1469
+ }
1470
+ },
1471
+ "required": [
1472
+ "mode"
1473
+ ],
1474
+ "additionalProperties": false
1475
+ }
1476
+ ]
1477
+ }
1478
+ ]
1479
+ },
1480
+ "retries": {
1481
+ "type": "integer",
1482
+ "minimum": 0,
1483
+ "maximum": 9007199254740991
1484
+ },
1485
+ "retryDelay": {
1486
+ "type": "number",
1487
+ "exclusiveMinimum": 0
1488
+ },
1489
+ "with": {
1490
+ "type": "object",
1491
+ "propertyNames": {
1492
+ "type": "string"
1493
+ },
1494
+ "additionalProperties": {}
1495
+ },
1496
+ "condition": {
1497
+ "type": "string"
1498
+ },
1499
+ "statusCode": {
1500
+ "type": "integer",
1501
+ "minimum": 400,
1502
+ "maximum": 599
1503
+ },
1504
+ "message": {
1505
+ "type": "string",
1506
+ "minLength": 1
1507
+ }
1508
+ },
1509
+ "required": [
1510
+ "type",
1511
+ "name",
1512
+ "message"
1513
+ ],
1514
+ "additionalProperties": false
1515
+ },
1516
+ {
1517
+ "type": "object",
1518
+ "properties": {
1519
+ "type": {
1520
+ "type": "string",
1521
+ "const": "control.block"
1522
+ },
1523
+ "name": {
1524
+ "type": "string",
1525
+ "minLength": 1
1526
+ },
1527
+ "description": {
1528
+ "type": "string"
1529
+ },
1530
+ "if": {
1531
+ "type": "string"
1532
+ },
1533
+ "timeout": {
1534
+ "type": "number",
1535
+ "exclusiveMinimum": 0
1536
+ },
1537
+ "retry": {
1538
+ "anyOf": [
1539
+ {
1540
+ "type": "string",
1541
+ "const": "inherit"
1542
+ },
1543
+ {
1544
+ "type": "string",
1545
+ "const": "automatic"
1546
+ },
1547
+ {
1548
+ "type": "string",
1549
+ "const": "never"
1550
+ },
1551
+ {
1552
+ "oneOf": [
1553
+ {
1554
+ "type": "object",
1555
+ "properties": {
1556
+ "mode": {
1557
+ "type": "string",
1558
+ "const": "automatic"
1559
+ },
1560
+ "maxAttempts": {
1561
+ "type": "integer",
1562
+ "minimum": 1,
1563
+ "maximum": 10
1564
+ }
1565
+ },
1566
+ "required": [
1567
+ "mode"
1568
+ ],
1569
+ "additionalProperties": false
1570
+ },
1571
+ {
1572
+ "type": "object",
1573
+ "properties": {
1574
+ "mode": {
1575
+ "type": "string",
1576
+ "const": "never"
1577
+ }
1578
+ },
1579
+ "required": [
1580
+ "mode"
1581
+ ],
1582
+ "additionalProperties": false
1583
+ }
1584
+ ]
1585
+ }
1586
+ ]
1587
+ },
1588
+ "retries": {
1589
+ "type": "integer",
1590
+ "minimum": 0,
1591
+ "maximum": 9007199254740991
1592
+ },
1593
+ "retryDelay": {
1594
+ "type": "number",
1595
+ "exclusiveMinimum": 0
1596
+ },
1597
+ "with": {
1598
+ "type": "object",
1599
+ "propertyNames": {
1600
+ "type": "string"
1601
+ },
1602
+ "additionalProperties": {}
1603
+ },
1604
+ "blockName": {
1605
+ "type": "string",
1606
+ "minLength": 1
1607
+ },
1608
+ "inputs": {
1609
+ "type": "object",
1610
+ "propertyNames": {
1611
+ "type": "string"
1612
+ },
1613
+ "additionalProperties": {}
1614
+ }
1615
+ },
1616
+ "required": [
1617
+ "type",
1618
+ "name",
1619
+ "blockName"
1620
+ ],
1621
+ "additionalProperties": false
1622
+ },
1623
+ {
1624
+ "type": "object",
1625
+ "properties": {
1626
+ "type": {
1627
+ "type": "string",
1628
+ "const": "control.if"
1629
+ },
1630
+ "name": {
1631
+ "type": "string",
1632
+ "minLength": 1
1633
+ },
1634
+ "description": {
1635
+ "type": "string"
1636
+ },
1637
+ "if": {
1638
+ "type": "string"
1639
+ },
1640
+ "timeout": {
1641
+ "type": "number",
1642
+ "exclusiveMinimum": 0
1643
+ },
1644
+ "retries": {
1645
+ "type": "integer",
1646
+ "minimum": 0,
1647
+ "maximum": 9007199254740991
1648
+ },
1649
+ "retryDelay": {
1650
+ "type": "number",
1651
+ "exclusiveMinimum": 0
1652
+ },
1653
+ "with": {
1654
+ "type": "object",
1655
+ "propertyNames": {
1656
+ "type": "string"
1657
+ },
1658
+ "additionalProperties": {}
1659
+ },
1660
+ "condition": {
1661
+ "type": "string"
1662
+ },
1663
+ "then": {
1664
+ "type": "array",
1665
+ "items": {
1666
+ "$ref": "#/definitions/__schema1"
1667
+ }
1668
+ },
1669
+ "else": {
1670
+ "type": "array",
1671
+ "items": {
1672
+ "$ref": "#/definitions/__schema1"
1673
+ }
1674
+ }
1675
+ },
1676
+ "required": [
1677
+ "type",
1678
+ "name",
1679
+ "condition",
1680
+ "then"
1681
+ ],
1682
+ "additionalProperties": false
1683
+ },
1684
+ {
1685
+ "type": "object",
1686
+ "properties": {
1687
+ "type": {
1688
+ "type": "string",
1689
+ "const": "control.switch"
1690
+ },
1691
+ "name": {
1692
+ "type": "string",
1693
+ "minLength": 1
1694
+ },
1695
+ "description": {
1696
+ "type": "string"
1697
+ },
1698
+ "if": {
1699
+ "type": "string"
1700
+ },
1701
+ "timeout": {
1702
+ "type": "number",
1703
+ "exclusiveMinimum": 0
1704
+ },
1705
+ "retries": {
1706
+ "type": "integer",
1707
+ "minimum": 0,
1708
+ "maximum": 9007199254740991
1709
+ },
1710
+ "retryDelay": {
1711
+ "type": "number",
1712
+ "exclusiveMinimum": 0
1713
+ },
1714
+ "with": {
1715
+ "type": "object",
1716
+ "propertyNames": {
1717
+ "type": "string"
1718
+ },
1719
+ "additionalProperties": {}
1720
+ },
1721
+ "on": {
1722
+ "type": "string"
1723
+ },
1724
+ "cases": {
1725
+ "type": "array",
1726
+ "items": {
1727
+ "type": "object",
1728
+ "properties": {
1729
+ "when": {
1730
+ "anyOf": [
1731
+ {
1732
+ "type": "string"
1733
+ },
1734
+ {
1735
+ "type": "number"
1736
+ },
1737
+ {
1738
+ "type": "boolean"
1739
+ }
1740
+ ]
1741
+ },
1742
+ "steps": {
1743
+ "type": "array",
1744
+ "items": {
1745
+ "$ref": "#/definitions/__schema1"
1746
+ }
1747
+ }
1748
+ },
1749
+ "required": [
1750
+ "when",
1751
+ "steps"
1752
+ ],
1753
+ "additionalProperties": false
1754
+ }
1755
+ },
1756
+ "default": {
1757
+ "type": "array",
1758
+ "items": {
1759
+ "$ref": "#/definitions/__schema1"
1760
+ }
1761
+ }
1762
+ },
1763
+ "required": [
1764
+ "type",
1765
+ "name",
1766
+ "on",
1767
+ "cases"
1768
+ ],
1769
+ "additionalProperties": false
1770
+ },
1771
+ {
1772
+ "type": "object",
1773
+ "properties": {
1774
+ "type": {
1775
+ "type": "string",
1776
+ "const": "control.parallel"
1777
+ },
1778
+ "name": {
1779
+ "type": "string",
1780
+ "minLength": 1
1781
+ },
1782
+ "description": {
1783
+ "type": "string"
1784
+ },
1785
+ "if": {
1786
+ "type": "string"
1787
+ },
1788
+ "timeout": {
1789
+ "type": "number",
1790
+ "exclusiveMinimum": 0
1791
+ },
1792
+ "retries": {
1793
+ "type": "integer",
1794
+ "minimum": 0,
1795
+ "maximum": 9007199254740991
1796
+ },
1797
+ "retryDelay": {
1798
+ "type": "number",
1799
+ "exclusiveMinimum": 0
1800
+ },
1801
+ "with": {
1802
+ "type": "object",
1803
+ "propertyNames": {
1804
+ "type": "string"
1805
+ },
1806
+ "additionalProperties": {}
1807
+ },
1808
+ "branches": {
1809
+ "type": "array",
1810
+ "items": {
1811
+ "type": "object",
1812
+ "properties": {
1813
+ "name": {
1814
+ "type": "string",
1815
+ "minLength": 1
1816
+ },
1817
+ "steps": {
1818
+ "type": "array",
1819
+ "items": {
1820
+ "$ref": "#/definitions/__schema1"
1821
+ }
1822
+ }
1823
+ },
1824
+ "required": [
1825
+ "name",
1826
+ "steps"
1827
+ ],
1828
+ "additionalProperties": false
1829
+ }
1830
+ }
1831
+ },
1832
+ "required": [
1833
+ "type",
1834
+ "name",
1835
+ "branches"
1836
+ ],
1837
+ "additionalProperties": false
1838
+ },
1839
+ {
1840
+ "type": "object",
1841
+ "properties": {
1842
+ "type": {
1843
+ "type": "string",
1844
+ "const": "control.foreach"
1845
+ },
1846
+ "name": {
1847
+ "type": "string",
1848
+ "minLength": 1
1849
+ },
1850
+ "description": {
1851
+ "type": "string"
1852
+ },
1853
+ "if": {
1854
+ "type": "string"
1855
+ },
1856
+ "timeout": {
1857
+ "type": "number",
1858
+ "exclusiveMinimum": 0
1859
+ },
1860
+ "retries": {
1861
+ "type": "integer",
1862
+ "minimum": 0,
1863
+ "maximum": 9007199254740991
1864
+ },
1865
+ "retryDelay": {
1866
+ "type": "number",
1867
+ "exclusiveMinimum": 0
1868
+ },
1869
+ "with": {
1870
+ "type": "object",
1871
+ "propertyNames": {
1872
+ "type": "string"
1873
+ },
1874
+ "additionalProperties": {}
1875
+ },
1876
+ "items": {
1877
+ "type": "string"
1878
+ },
1879
+ "as": {
1880
+ "type": "string"
1881
+ },
1882
+ "indexAs": {
1883
+ "type": "string"
1884
+ },
1885
+ "steps": {
1886
+ "type": "array",
1887
+ "items": {
1888
+ "$ref": "#/definitions/__schema1"
1889
+ }
1890
+ }
1891
+ },
1892
+ "required": [
1893
+ "type",
1894
+ "name",
1895
+ "items",
1896
+ "as",
1897
+ "steps"
1898
+ ],
1899
+ "additionalProperties": false
1900
+ },
1901
+ {
1902
+ "type": "object",
1903
+ "properties": {
1904
+ "type": {
1905
+ "type": "string",
1906
+ "const": "control.parallel_map"
1907
+ },
1908
+ "name": {
1909
+ "type": "string",
1910
+ "minLength": 1
1911
+ },
1912
+ "description": {
1913
+ "type": "string"
1914
+ },
1915
+ "if": {
1916
+ "type": "string"
1917
+ },
1918
+ "timeout": {
1919
+ "type": "number",
1920
+ "exclusiveMinimum": 0
1921
+ },
1922
+ "retries": {
1923
+ "type": "integer",
1924
+ "minimum": 0,
1925
+ "maximum": 9007199254740991
1926
+ },
1927
+ "retryDelay": {
1928
+ "type": "number",
1929
+ "exclusiveMinimum": 0
1930
+ },
1931
+ "with": {
1932
+ "type": "object",
1933
+ "propertyNames": {
1934
+ "type": "string"
1935
+ },
1936
+ "additionalProperties": {}
1937
+ },
1938
+ "items": {
1939
+ "type": "string"
1940
+ },
1941
+ "as": {
1942
+ "type": "string"
1943
+ },
1944
+ "indexAs": {
1945
+ "type": "string"
1946
+ },
1947
+ "concurrency": {
1948
+ "default": 5,
1949
+ "type": "integer",
1950
+ "minimum": 1,
1951
+ "maximum": 50
1952
+ },
1953
+ "steps": {
1954
+ "type": "array",
1955
+ "items": {
1956
+ "$ref": "#/definitions/__schema1"
1957
+ }
1958
+ }
1959
+ },
1960
+ "required": [
1961
+ "type",
1962
+ "name",
1963
+ "items",
1964
+ "as",
1965
+ "steps"
1966
+ ],
1967
+ "additionalProperties": false
1968
+ }
1969
+ ]
1970
+ }
1971
+ }
1972
+ }
1973
+ ```
539
1974
  <!-- GENERATED:WORKFLOW_REFERENCE END -->