Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .ci/validation/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export module SWSchemaValidator {
const ajv = new Ajv({ strict: false, allowUnionTypes: true });
addFormats(ajv);

const workflowSchemaId = "https://open-workflow-specification.org/schemas/1.0.3/workflow.yaml";
const workflowSchemaId = "https://open-workflow-specification.org/schemas/1.0.4/workflow.yaml";
const schemaPath = "../../../schema";
export const defaultEncoding = "utf-8";

Expand Down
96 changes: 48 additions & 48 deletions dsl-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ Configures a workflow's runtime expression evaluation.

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: order-pet
version: '0.1.0'
Expand Down Expand Up @@ -304,7 +304,7 @@ Enables the execution of a specified function within a workflow, allowing seamle

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: call-example
version: '0.1.0'
Expand Down Expand Up @@ -348,7 +348,7 @@ The [AsyncAPI Call](#asyncapi-call) enables workflows to interact with external

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: asyncapi-example
version: '0.1.0'
Expand Down Expand Up @@ -404,7 +404,7 @@ The [gRPC Call](#grpc-call) enables communication with external systems via the

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: grpc-example
version: '0.1.0'
Expand Down Expand Up @@ -443,7 +443,7 @@ The [HTTP Call](#http-call) enables workflows to interact with external services

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: http-example
version: '0.1.0'
Expand Down Expand Up @@ -474,7 +474,7 @@ The [OpenAPI Call](#openapi-call) enables workflows to interact with external se

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: openapi-example
version: '0.1.0'
Expand Down Expand Up @@ -513,7 +513,7 @@ The [A2A Call](#a2a-call) enables workflows to interact with AI agents described

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: a2a-example
version: '0.1.0'
Expand Down Expand Up @@ -557,7 +557,7 @@ The [MCP Call](#mcp-call) enables workflows to interact with [Model Context Prot

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: mcp-example
version: '0.1.0'
Expand Down Expand Up @@ -595,7 +595,7 @@ Serves as a fundamental building block within workflows, enabling the sequential

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: do-example
version: '0.1.0'
Expand Down Expand Up @@ -660,7 +660,7 @@ Allows workflows to publish events to event brokers or messaging systems, facili

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: emit-example
version: '0.1.0'
Expand Down Expand Up @@ -698,7 +698,7 @@ Allows workflows to iterate over a collection of items, executing a defined set

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: for-example
version: '0.1.0'
Expand Down Expand Up @@ -735,7 +735,7 @@ Allows workflows to execute multiple subtasks concurrently, enabling parallel pr

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: fork-example
version: '0.1.0'
Expand Down Expand Up @@ -788,7 +788,7 @@ Provides a mechanism for workflows to await and react to external events, enabli

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: listen-example
version: '0.1.0'
Expand Down Expand Up @@ -819,7 +819,7 @@ Intentionally triggers and propagates errors. By employing the "Raise" task, wor

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: raise-example
version: '0.1.0'
Expand Down Expand Up @@ -886,7 +886,7 @@ Provides the capability to execute external [containers](#container-process), [s

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: run-example
version: '0.1.0'
Expand Down Expand Up @@ -941,7 +941,7 @@ Enables the execution of external processes encapsulated within a containerized

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: run-container-example
version: '0.1.0'
Expand Down Expand Up @@ -982,7 +982,8 @@ Enables the execution of custom scripts or code within a workflow, empowering wo
| language | `string` | `yes` | The language of the script to run.<br>*Supported values are: [`js`](https://tc39.es/ecma262/2024/) and [`python`](https://www.python.org/downloads/release/python-3131/).* |
| code | `string` | `no` | The script's code.<br>*Required if `source` has not been set.* |
| source | [externalResource](#external-resource) | `no` | The script's resource.<br>*Required if `code` has not been set.* |
| arguments | `map` | `no` | A key/value mapping of the arguments, if any, to use when running the configured script |
| stdin | `string` | `no` | A runtime expression, if any, to pipe to the script as standard input (stdin) |
| arguments | `string[]` | `no` | A list of the arguments, if any, to pass to the script as argv |
| environment | `map` | `no` | A key/value mapping of the environment variables, if any, to use when running the configured script process |


Expand All @@ -999,22 +1000,21 @@ Enables the execution of custom scripts or code within a workflow, empowering wo

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: examples
name: run-script-with-arguments
version: 1.0.0
do:
- setInput:
set:
message: Hello World
- log:
- runScript:
run:
script:
language: js
arguments:
message: ${ .message }
code: >
console.log(message)
- Hello
- World
code: |
const [_, __, arg1, arg2] = process.argv;
console.log(`${arg1} ${arg2}`);
```

##### Shell Process
Expand All @@ -1033,15 +1033,15 @@ Enables the execution of shell commands within a workflow, enabling workflows to
|:--|:---:|:---:|:---|
| command | `string` | `yes` | The shell command to run |
| stdin | `string` | `no` | A runtime expression, if any, to the shell command as standard input (stdin).|
| arguments | `string[]` | `no` | A list of the arguments, if any, of the shell command to run |
| arguments | `string[]` | `no` | A list of the arguments, if any, to pass to the shell command as argv |
| directory | `string` | `no` | The working directory, if any, in which to run the shell command. |
| environment | `map` | `no` | A key/value mapping of the environment variables, if any, to use when running the configured process |

###### Examples

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: run-shell-example
version: '0.1.0'
Expand Down Expand Up @@ -1082,7 +1082,7 @@ Enables the invocation and execution of nested workflows within a parent workflo

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: run-workflow-example
version: '0.1.0'
Expand Down Expand Up @@ -1111,7 +1111,7 @@ A task used to set data.

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: default
name: set-example
version: '0.1.0'
Expand Down Expand Up @@ -1139,7 +1139,7 @@ Enables conditional branching within workflows, allowing them to dynamically sel

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: switch-example
version: '0.1.0'
Expand Down Expand Up @@ -1223,7 +1223,7 @@ Serves as a mechanism within workflows to handle errors gracefully, potentially

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: try-example
version: '0.1.0'
Expand Down Expand Up @@ -1281,7 +1281,7 @@ Allows workflows to pause or delay their execution for a specified period of tim

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: wait-example
version: '0.1.0'
Expand Down Expand Up @@ -1724,7 +1724,7 @@ Defines the mechanism used to authenticate users and workflows attempting to acc

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: authentication-example
version: '0.1.0'
Expand Down Expand Up @@ -1761,7 +1761,7 @@ Defines the fundamentals of a 'basic' authentication.

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: basic-authentication-example
version: '0.1.0'
Expand Down Expand Up @@ -1796,7 +1796,7 @@ Defines the fundamentals of a 'bearer' authentication

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: bearer-authentication-example
version: '0.1.0'
Expand Down Expand Up @@ -1827,7 +1827,7 @@ Defines the fundamentals of a 'digest' authentication.

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: digest-authentication-example
version: '0.1.0'
Expand Down Expand Up @@ -1878,7 +1878,7 @@ Defines the fundamentals of an 'oauth2' authentication.

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: oauth2-authentication-example
version: '0.1.0'
Expand Down Expand Up @@ -1940,7 +1940,7 @@ Defines the fundamentals of an 'oidc' authentication.

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: oidc-authentication-example
version: '0.1.0'
Expand Down Expand Up @@ -1980,7 +1980,7 @@ For more information about catalogs, refer to the [Open Workflow DSL document](h

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: catalog-example
version: '0.1.0'
Expand Down Expand Up @@ -2020,7 +2020,7 @@ Extensions enable the execution of tasks prior to those they extend, offering th
*Perform logging before and after any non-extension task is run:*
```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: logging-extension-example
version: '0.1.0'
Expand Down Expand Up @@ -2055,7 +2055,7 @@ do:
*Intercept HTTP calls to 'https://mocked.service.com' and mock its response:*
```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: intercept-extension-example
version: '0.1.0'
Expand Down Expand Up @@ -2372,7 +2372,7 @@ Defines a workflow or task timeout.

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: default
name: timeout-example
version: '0.1.0'
Expand Down Expand Up @@ -2516,7 +2516,7 @@ Describes the result of a process.

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: run-container-example
version: '0.1.0'
Expand Down Expand Up @@ -2570,7 +2570,7 @@ Configures the target server of an AsyncAPI operation.

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: asyncapi-example
version: '0.1.0'
Expand Down Expand Up @@ -2608,7 +2608,7 @@ Configures an AsyncAPI message to publish.

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: asyncapi-example
version: '0.1.0'
Expand Down Expand Up @@ -2673,7 +2673,7 @@ Configures a subscription to an AsyncAPI operation.

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: asyncapi-example
version: '0.1.0'
Expand Down Expand Up @@ -2710,7 +2710,7 @@ Configures the lifetime of an AsyncAPI subscription

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: asyncapi-example
version: '0.1.0'
Expand Down Expand Up @@ -2748,7 +2748,7 @@ Configures the iteration over each item (event or message) consumed by a subscri

```yaml
document:
dsl: '1.0.3'
dsl: '1.0.4'
namespace: test
name: asyncapi-example
version: '0.1.0'
Expand Down
Loading
Loading