Skip to content

Commit ab2228c

Browse files
feat: update schema
1 parent f3b1419 commit ab2228c

File tree

1 file changed

+46
-43
lines changed

1 file changed

+46
-43
lines changed

schema/workflow.yaml

Lines changed: 46 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -76,14 +76,7 @@ properties:
7676
description: The workflow's secrets.
7777
description: Defines the workflow's reusable components.
7878
do:
79-
type: array
80-
minItems: 1
81-
items:
82-
type: object
83-
minProperties: 1
84-
maxProperties: 1
85-
additionalProperties:
86-
$ref: '#/$defs/task'
79+
$ref: '#/$defs/task'
8780
description: Defines the tasks the workflow must perform
8881
timeout:
8982
$ref: '#/$defs/timeout'
@@ -125,7 +118,9 @@ $defs:
125118
description: The flow directive to be performed upon completion of the task.
126119
oneOf:
127120
- $ref: '#/$defs/callTask'
128-
- $ref: '#/$defs/compositeTask'
121+
- $ref: '#/$defs/sequentialTask'
122+
- $ref: '#/$defs/concurrentTask'
123+
- $ref: '#/$defs/competingTask'
129124
- $ref: '#/$defs/emitTask'
130125
- $ref: '#/$defs/forTask'
131126
- $ref: '#/$defs/listenTask'
@@ -280,42 +275,50 @@ $defs:
280275
additionalProperties: true
281276
description: A name/value mapping of the parameters, if any, to call the function with.
282277
required: [ call ]
283-
compositeTask:
278+
sequentialTask:
284279
type: object
285280
properties:
286-
execute:
287-
type: object
288-
oneOf:
289-
- properties:
290-
concurrently:
291-
type: array
292-
minItems: 2
293-
items:
294-
type: object
295-
minProperties: 1
296-
maxProperties: 1
297-
additionalProperties:
298-
$ref: '#/$defs/task'
299-
description: A list of the tasks to perform concurrently.
300-
compete:
301-
type: boolean
302-
description: Indicates whether or not the concurrent tasks are racing against each other, with a single possible winner, which sets the composite task's output.
303-
required: [ concurrently ]
304-
- properties:
305-
sequentially:
306-
type: array
307-
minItems: 2
308-
items:
309-
type: object
310-
minProperties: 1
311-
maxProperties: 1
312-
additionalProperties:
313-
$ref: '#/$defs/task'
314-
description: A list of the tasks to perform sequentially.
315-
required: [ sequentially ]
316-
description: Configures the task execution strategy to use
317-
required: [ execute ]
318-
description: Serves as a pivotal orchestrator within workflow systems, enabling the seamless integration and execution of multiple subtasks to accomplish complex operations
281+
sequentially:
282+
type: array
283+
minItems: 2
284+
items:
285+
type: object
286+
minProperties: 1
287+
maxProperties: 1
288+
additionalProperties:
289+
$ref: '#/$defs/task'
290+
description: A list of the tasks to perform sequentially.
291+
required: [ sequentially ]
292+
concurrentTask:
293+
type: object
294+
properties:
295+
concurrently:
296+
description: A list of the tasks to perform concurrently.
297+
type: array
298+
minItems: 2
299+
items:
300+
type: object
301+
minProperties: 1
302+
maxProperties: 1
303+
additionalProperties:
304+
$ref: '#/$defs/task'
305+
required: [ concurrently ]
306+
competingTask:
307+
type: object
308+
properties:
309+
compete:
310+
type: array
311+
minItems: 2
312+
items:
313+
type: object
314+
minProperties: 1
315+
maxProperties: 1
316+
additionalProperties:
317+
$ref: '#/$defs/task'
318+
description: |
319+
A list of the tasks to perform concurrently and race against each
320+
other, with a single possible winner, which sets the task's output.
321+
required: [ compete ]
319322
emitTask:
320323
type: object
321324
properties:

0 commit comments

Comments
 (0)