From 51f26fef7b84eab2086010a85d79509287b8b2d5 Mon Sep 17 00:00:00 2001 From: Gilles Barbier Date: Tue, 18 Feb 2025 16:59:47 +0100 Subject: [PATCH 01/15] =?UTF-8?q?update=20DSL=20version=20from=20alpha1,?= =?UTF-8?q?=20alpha2,=20alpha5=20to=201.0.0=20across=20multip=E2=80=A6=20(?= =?UTF-8?q?#1082)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * update DSL version from alpha1, alpha2, alpha5 to 1.0.0 across multiple YAML files Signed-off-by: Gilles Barbier * fix(contributing): reverting pre-release versioning format Signed-off-by: Gilles Barbier --------- Signed-off-by: Gilles Barbier --- .ci/validation/package-lock.json | 11 +-- .ci/validation/package.json | 2 +- .ci/validation/src/index.ts | 3 +- .../invalid/extra-property-in-call.yaml | 2 +- .../invalid/listen-any-until-any-until.yaml | 2 +- .../invalid/two-tasks-in-one-item.yaml | 2 +- ctk/features/branch.feature | 2 +- ctk/features/call.feature | 10 +-- ctk/features/data-flow.feature | 6 +- ctk/features/do.feature | 2 +- ctk/features/emit.feature | 2 +- ctk/features/flow.feature | 4 +- ctk/features/for.feature | 2 +- ctk/features/raise.feature | 2 +- ctk/features/set.feature | 2 +- ctk/features/switch.feature | 6 +- ctk/features/try.feature | 4 +- dsl-reference.md | 74 +++++++++---------- dsl.md | 6 +- examples/accumulate-room-readings.yaml | 2 +- .../authentication-bearer-uri-format.yaml | 2 +- examples/authentication-bearer.yaml | 2 +- examples/authentication-oauth2-secret.yaml | 4 +- examples/authentication-oauth2.yaml | 2 +- examples/authentication-oidc-secret.yaml | 4 +- examples/authentication-oidc.yaml | 2 +- examples/authentication-reusable.yaml | 2 +- examples/call-asyncapi-publish.yaml | 2 +- ...all-asyncapi-subscribe-consume-amount.yaml | 2 +- ...api-subscribe-consume-forever-foreach.yaml | 2 +- ...call-asyncapi-subscribe-consume-until.yaml | 2 +- ...call-asyncapi-subscribe-consume-while.yaml | 2 +- examples/call-custom-function-cataloged.yaml | 2 +- examples/call-custom-function-inline.yaml | 2 +- examples/call-grpc.yaml | 2 +- ...http-endpoint-interpolation-shorthand.yaml | 2 +- .../call-http-endpoint-interpolation.yaml | 2 +- .../call-http-query-headers-expressions.yaml | 4 +- examples/call-http-query-parameters.yaml | 4 +- examples/call-http-redirect.yaml | 4 +- examples/call-openapi-redirect.yaml | 2 +- examples/call-openapi.yaml | 2 +- examples/conditional-task.yaml | 2 +- examples/do-multiple.yaml | 2 +- examples/do-single.yaml | 2 +- examples/emit.yaml | 2 +- examples/for.yaml | 2 +- examples/fork.yaml | 2 +- examples/listen-to-all read-envelope.yaml | 2 +- examples/listen-to-all.yaml | 2 +- examples/listen-to-any-filter.yaml | 2 +- examples/listen-to-any-forever-foreach.yaml | 2 +- examples/listen-to-any-until-condition.yaml | 2 +- examples/listen-to-any-until-consumed.yaml | 2 +- examples/listen-to-any.yaml | 2 +- examples/listen-to-one.yaml | 2 +- examples/mock-service-extension.yaml | 2 +- examples/raise-inline.yaml | 2 +- examples/raise-reusable.yaml | 2 +- examples/run-container-cleanup-always.yaml | 2 +- .../run-container-cleanup-eventually.yaml | 2 +- examples/run-container-with-name.yaml | 2 +- examples/run-container.yaml | 2 +- examples/run-return-all.yaml | 2 +- examples/run-return-code.yaml | 2 +- examples/run-return-none.yaml | 2 +- examples/run-return-stderr.yaml | 2 +- examples/run-script-with-arguments.yaml | 2 +- examples/run-subflow.yaml | 2 +- examples/schedule-cron.yaml | 2 +- examples/schedule-event-driven.yaml | 2 +- examples/set.yaml | 2 +- examples/star-wars-homeworld.yaml | 4 +- examples/switch-then-string.yaml | 2 +- examples/try-catch-retry-inline.yaml | 2 +- examples/try-catch-retry-reusable.yaml | 2 +- examples/try-catch-then.yaml | 2 +- examples/try-catch.yaml | 2 +- examples/wait-duration-inline.yaml | 2 +- examples/wait-duration-iso8601.yaml | 2 +- schema/workflow.yaml | 2 +- use-cases/automated-data-backup/README.md | 2 +- .../managing-ev-charging-stations/README.md | 2 +- use-cases/managing-github-issues/README.md | 2 +- .../README.md | 2 +- 85 files changed, 144 insertions(+), 144 deletions(-) diff --git a/.ci/validation/package-lock.json b/.ci/validation/package-lock.json index 3976d2eb..86398d4e 100644 --- a/.ci/validation/package-lock.json +++ b/.ci/validation/package-lock.json @@ -1,12 +1,12 @@ { "name": "validation", - "version": "0.9.0-snapshot", + "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "validation", - "version": "0.9.0-snapshot", + "version": "1.0.0", "license": "ISC", "dependencies": { "ajv": "^8.12.0", @@ -1820,10 +1820,11 @@ "dev": true }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "peer": true, "dependencies": { "path-key": "^3.1.0", diff --git a/.ci/validation/package.json b/.ci/validation/package.json index c1f07f2b..64f29145 100644 --- a/.ci/validation/package.json +++ b/.ci/validation/package.json @@ -1,6 +1,6 @@ { "name": "validation", - "version": "0.9.0-snapshot", + "version": "1.0.0", "description": "", "main": "src/index.js", "scripts": { diff --git a/.ci/validation/src/index.ts b/.ci/validation/src/index.ts index ce6b7055..ec8a28de 100644 --- a/.ci/validation/src/index.ts +++ b/.ci/validation/src/index.ts @@ -24,8 +24,7 @@ export module SWSchemaValidator { const ajv = new Ajv({ strict: false, allowUnionTypes: true }); addFormats(ajv); - const workflowSchemaId = - "https://serverlessworkflow.io/schemas/1.0.0-alpha5/workflow.yaml"; + const workflowSchemaId = "https://serverlessworkflow.io/schemas/1.0.0/workflow.yaml"; const schemaPath = "../../../schema"; export const defaultEncoding = "utf-8"; diff --git a/.ci/validation/test/fixtures/invalid/extra-property-in-call.yaml b/.ci/validation/test/fixtures/invalid/extra-property-in-call.yaml index 095c3f4c..adf6a73f 100644 --- a/.ci/validation/test/fixtures/invalid/extra-property-in-call.yaml +++ b/.ci/validation/test/fixtures/invalid/extra-property-in-call.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: two-tasks-in-one-item version: '0.1.0' diff --git a/.ci/validation/test/fixtures/invalid/listen-any-until-any-until.yaml b/.ci/validation/test/fixtures/invalid/listen-any-until-any-until.yaml index c9f32f62..16033a2a 100644 --- a/.ci/validation/test/fixtures/invalid/listen-any-until-any-until.yaml +++ b/.ci/validation/test/fixtures/invalid/listen-any-until-any-until.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha1' + dsl: '1.0.0' namespace: test name: listen-to-any version: '0.1.0' diff --git a/.ci/validation/test/fixtures/invalid/two-tasks-in-one-item.yaml b/.ci/validation/test/fixtures/invalid/two-tasks-in-one-item.yaml index 21fda815..ba15a80d 100644 --- a/.ci/validation/test/fixtures/invalid/two-tasks-in-one-item.yaml +++ b/.ci/validation/test/fixtures/invalid/two-tasks-in-one-item.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: two-tasks-in-one-item version: '0.1.0' diff --git a/ctk/features/branch.feature b/ctk/features/branch.feature index 481f73ad..3fa03df4 100644 --- a/ctk/features/branch.feature +++ b/ctk/features/branch.feature @@ -8,7 +8,7 @@ Feature: Composite Task Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: fork version: '1.0.0' diff --git a/ctk/features/call.feature b/ctk/features/call.feature index c78f894f..f5425918 100644 --- a/ctk/features/call.feature +++ b/ctk/features/call.feature @@ -11,7 +11,7 @@ Feature: Call Task Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: http-call-with-content-output version: '1.0.0' @@ -40,7 +40,7 @@ Feature: Call Task Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: http-call-with-response-output version: '1.0.0' @@ -68,7 +68,7 @@ Feature: Call Task Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: http-call-with-basic-auth version: '1.0.0' @@ -98,7 +98,7 @@ Feature: Call Task Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: openapi-call-with-content-output version: '1.0.0' @@ -127,7 +127,7 @@ Feature: Call Task Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: openapi-call-with-response-output version: '1.0.0' diff --git a/ctk/features/data-flow.feature b/ctk/features/data-flow.feature index 73b4af5b..01faa9eb 100644 --- a/ctk/features/data-flow.feature +++ b/ctk/features/data-flow.feature @@ -8,7 +8,7 @@ Feature: Data Flow Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: output-filtering version: '1.0.0' @@ -36,7 +36,7 @@ Feature: Data Flow Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: output-filtering version: '1.0.0' @@ -65,7 +65,7 @@ Feature: Data Flow Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: non-object-output version: '1.0.0' diff --git a/ctk/features/do.feature b/ctk/features/do.feature index 9c894190..3831e3a0 100644 --- a/ctk/features/do.feature +++ b/ctk/features/do.feature @@ -8,7 +8,7 @@ Feature: Composite Task Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: do version: '1.0.0' diff --git a/ctk/features/emit.feature b/ctk/features/emit.feature index 9e33df05..ef3a7815 100644 --- a/ctk/features/emit.feature +++ b/ctk/features/emit.feature @@ -8,7 +8,7 @@ Feature: Emit Task Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: emit version: '1.0.0' diff --git a/ctk/features/flow.feature b/ctk/features/flow.feature index b5a7b3fe..b27d15a4 100644 --- a/ctk/features/flow.feature +++ b/ctk/features/flow.feature @@ -7,7 +7,7 @@ Feature: Flow Directive Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: implicit-sequence version: '1.0.0' @@ -35,7 +35,7 @@ Feature: Flow Directive Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: explicit-sequence version: '1.0.0' diff --git a/ctk/features/for.feature b/ctk/features/for.feature index c36bf65b..92cc94df 100644 --- a/ctk/features/for.feature +++ b/ctk/features/for.feature @@ -10,7 +10,7 @@ Feature: For Task Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: for version: '1.0.0' diff --git a/ctk/features/raise.feature b/ctk/features/raise.feature index f4d02221..b1ecf179 100644 --- a/ctk/features/raise.feature +++ b/ctk/features/raise.feature @@ -7,7 +7,7 @@ Feature: Raise Task Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: raise-custom-error version: '1.0.0' diff --git a/ctk/features/set.feature b/ctk/features/set.feature index eaae30f1..56d71fd7 100644 --- a/ctk/features/set.feature +++ b/ctk/features/set.feature @@ -8,7 +8,7 @@ Feature: Set Task Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: set version: '1.0.0' diff --git a/ctk/features/switch.feature b/ctk/features/switch.feature index e56c5dc4..567398e1 100644 --- a/ctk/features/switch.feature +++ b/ctk/features/switch.feature @@ -7,7 +7,7 @@ Feature: Switch Task Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: switch-match version: '1.0.0' @@ -52,7 +52,7 @@ Feature: Switch Task Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: switch-default-implicit version: '1.0.0' @@ -95,7 +95,7 @@ Feature: Switch Task Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: switch-default-implicit version: '1.0.0' diff --git a/ctk/features/try.feature b/ctk/features/try.feature index 404e5604..6ac7800c 100644 --- a/ctk/features/try.feature +++ b/ctk/features/try.feature @@ -11,7 +11,7 @@ Feature: Try Task Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: try-catch-404 version: '1.0.0' @@ -55,7 +55,7 @@ Feature: Try Task Given a workflow with definition: """yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: try-catch-503 version: '1.0.0' diff --git a/dsl-reference.md b/dsl-reference.md index e7534dfa..72e18547 100644 --- a/dsl-reference.md +++ b/dsl-reference.md @@ -161,7 +161,7 @@ Configures a workflow's runtime expression evaluation. ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: order-pet version: '0.1.0' @@ -302,7 +302,7 @@ Enables the execution of a specified function within a workflow, allowing seamle ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: call-example version: '0.1.0' @@ -342,7 +342,7 @@ The [AsyncAPI Call](#asyncapi-call) enables workflows to interact with external ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: asyncapi-example version: '0.1.0' @@ -398,7 +398,7 @@ The [gRPC Call](#grpc-call) enables communication with external systems via the ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: grpc-example version: '0.1.0' @@ -437,7 +437,7 @@ The [HTTP Call](#http-call) enables workflows to interact with external services ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: http-example version: '0.1.0' @@ -468,7 +468,7 @@ The [OpenAPI Call](#openapi-call) enables workflows to interact with external se ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: openapi-example version: '0.1.0' @@ -497,7 +497,7 @@ Serves as a fundamental building block within workflows, enabling the sequential ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: do-example version: '0.1.0' @@ -562,7 +562,7 @@ Allows workflows to publish events to event brokers or messaging systems, facili ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: emit-example version: '0.1.0' @@ -600,7 +600,7 @@ Allows workflows to iterate over a collection of items, executing a defined set ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: for-example version: '0.1.0' @@ -637,7 +637,7 @@ Allows workflows to execute multiple subtasks concurrently, enabling parallel pr ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: fork-example version: '0.1.0' @@ -690,7 +690,7 @@ Provides a mechanism for workflows to await and react to external events, enabli ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: listen-example version: '0.1.0' @@ -721,7 +721,7 @@ Intentionally triggers and propagates errors. By employing the "Raise" task, wor ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: raise-example version: '0.1.0' @@ -788,7 +788,7 @@ Provides the capability to execute external [containers](#container-process), [s ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: run-example version: '0.1.0' @@ -839,7 +839,7 @@ Enables the execution of external processes encapsulated within a containerized ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: run-container-example version: '0.1.0' @@ -882,7 +882,7 @@ Enables the execution of custom scripts or code within a workflow, empowering wo ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: run-script-example version: '0.1.0' @@ -913,7 +913,7 @@ Enables the execution of shell commands within a workflow, enabling workflows to ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: run-shell-example version: '0.1.0' @@ -940,7 +940,7 @@ Enables the invocation and execution of nested workflows within a parent workflo ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: run-workflow-example version: '0.1.0' @@ -969,7 +969,7 @@ A task used to set data. ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: set-example version: '0.1.0' @@ -995,7 +995,7 @@ Enables conditional branching within workflows, allowing them to dynamically sel ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: switch-example version: '0.1.0' @@ -1079,7 +1079,7 @@ Serves as a mechanism within workflows to handle errors gracefully, potentially ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: try-example version: '0.1.0' @@ -1136,7 +1136,7 @@ Allows workflows to pause or delay their execution for a specified period of tim ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: wait-example version: '0.1.0' @@ -1586,7 +1586,7 @@ Defines the mechanism used to authenticate users and workflows attempting to acc ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: authentication-example version: '0.1.0' @@ -1623,7 +1623,7 @@ Defines the fundamentals of a 'basic' authentication. ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: basic-authentication-example version: '0.1.0' @@ -1658,7 +1658,7 @@ Defines the fundamentals of a 'bearer' authentication ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: bearer-authentication-example version: '0.1.0' @@ -1692,7 +1692,7 @@ Defines the fundamentals of a 'digest' authentication. ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: digest-authentication-example version: '0.1.0' @@ -1743,7 +1743,7 @@ Defines the fundamentals of an 'oauth2' authentication. ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: oauth2-authentication-example version: '0.1.0' @@ -1805,7 +1805,7 @@ Defines the fundamentals of an 'oidc' authentication. ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: oidc-authentication-example version: '0.1.0' @@ -1845,7 +1845,7 @@ For more information about catalogs, refer to the [Serverless Workflow DSL docum ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: catalog-example version: '0.1.0' @@ -1885,7 +1885,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.0-alpha5' + dsl: '1.0.0' namespace: test name: logging-extension-example version: '0.1.0' @@ -1920,7 +1920,7 @@ do: *Intercept HTTP calls to 'https://mocked.service.com' and mock its response:* ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: intercept-extension-example version: '0.1.0' @@ -2236,7 +2236,7 @@ Defines a workflow or task timeout. ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: timeout-example version: '0.1.0' @@ -2378,7 +2378,7 @@ Describes the result of a process. ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: run-container-example version: '0.1.0' @@ -2432,7 +2432,7 @@ Configures the target server of an AsyncAPI operation. ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: asyncapi-example version: '0.1.0' @@ -2470,7 +2470,7 @@ Configures an AsyncAPI message to publish. ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: asyncapi-example version: '0.1.0' @@ -2535,7 +2535,7 @@ Configures a subscription to an AsyncAPI operation. ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: asyncapi-example version: '0.1.0' @@ -2572,7 +2572,7 @@ Configures the lifetime of an AsyncAPI subscription ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: asyncapi-example version: '0.1.0' @@ -2610,7 +2610,7 @@ Configures the iteration over each item (event or message) consumed by a subscri ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: asyncapi-example version: '0.1.0' diff --git a/dsl.md b/dsl.md index bd41c32c..033479f2 100644 --- a/dsl.md +++ b/dsl.md @@ -566,7 +566,7 @@ This format ensures that the function, its version, and the catalog it belongs t *Calling a custom function defined within a catalog:* ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: catalog-example version: '0.1.0' @@ -667,7 +667,7 @@ The following example demonstrates how to use the `validateEmailAddress` custom ```yaml # workflow.yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: customFunctionWorkflow version: '0.1.0' @@ -735,7 +735,7 @@ See the [DSL reference](dsl-reference.md#extension) for more details about exten *Sample logging extension:* ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: sample-workflow version: '0.1.0' diff --git a/examples/accumulate-room-readings.yaml b/examples/accumulate-room-readings.yaml index 82fc7a02..306652e0 100644 --- a/examples/accumulate-room-readings.yaml +++ b/examples/accumulate-room-readings.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: accumulate-room-readings version: '0.1.0' diff --git a/examples/authentication-bearer-uri-format.yaml b/examples/authentication-bearer-uri-format.yaml index b0019fbb..e68f3f05 100644 --- a/examples/authentication-bearer-uri-format.yaml +++ b/examples/authentication-bearer-uri-format.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: bearer-auth version: '0.1.0' diff --git a/examples/authentication-bearer.yaml b/examples/authentication-bearer.yaml index f0c42741..c064038a 100644 --- a/examples/authentication-bearer.yaml +++ b/examples/authentication-bearer.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: bearer-auth-uri-format version: '0.1.0' diff --git a/examples/authentication-oauth2-secret.yaml b/examples/authentication-oauth2-secret.yaml index 635076ab..18ce2a28 100644 --- a/examples/authentication-oauth2-secret.yaml +++ b/examples/authentication-oauth2-secret.yaml @@ -1,8 +1,8 @@ document: - dsl: 1.0.0-alpha1 + dsl: '1.0.0' namespace: examples name: oauth2-authentication - version: 1.0.0-alpha1 + version: '1.0.0' use: secrets: - mySecret diff --git a/examples/authentication-oauth2.yaml b/examples/authentication-oauth2.yaml index 625a1e2c..9008ac7d 100644 --- a/examples/authentication-oauth2.yaml +++ b/examples/authentication-oauth2.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: oauth2-authentication version: '0.1.0' diff --git a/examples/authentication-oidc-secret.yaml b/examples/authentication-oidc-secret.yaml index 19c387c1..f37cca5d 100644 --- a/examples/authentication-oidc-secret.yaml +++ b/examples/authentication-oidc-secret.yaml @@ -1,8 +1,8 @@ document: - dsl: 1.0.0-alpha1 + dsl: '1.0.0' namespace: examples name: oidc-authentication - version: 1.0.0-alpha1 + version: '1.0.0' use: secrets: - mySecret diff --git a/examples/authentication-oidc.yaml b/examples/authentication-oidc.yaml index 18aec74d..c23d3b71 100644 --- a/examples/authentication-oidc.yaml +++ b/examples/authentication-oidc.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: oidc-authentication version: '0.1.0' diff --git a/examples/authentication-reusable.yaml b/examples/authentication-reusable.yaml index a5da803d..cdabf302 100644 --- a/examples/authentication-reusable.yaml +++ b/examples/authentication-reusable.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: bearer-auth version: '0.1.0' diff --git a/examples/call-asyncapi-publish.yaml b/examples/call-asyncapi-publish.yaml index 93438242..285b8b22 100644 --- a/examples/call-asyncapi-publish.yaml +++ b/examples/call-asyncapi-publish.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: bearer-auth version: '0.1.0' diff --git a/examples/call-asyncapi-subscribe-consume-amount.yaml b/examples/call-asyncapi-subscribe-consume-amount.yaml index 29eb1cc3..69aa8701 100644 --- a/examples/call-asyncapi-subscribe-consume-amount.yaml +++ b/examples/call-asyncapi-subscribe-consume-amount.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: bearer-auth version: '0.1.0' diff --git a/examples/call-asyncapi-subscribe-consume-forever-foreach.yaml b/examples/call-asyncapi-subscribe-consume-forever-foreach.yaml index b9b9fe95..66f612f2 100644 --- a/examples/call-asyncapi-subscribe-consume-forever-foreach.yaml +++ b/examples/call-asyncapi-subscribe-consume-forever-foreach.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: bearer-auth version: '0.1.0' diff --git a/examples/call-asyncapi-subscribe-consume-until.yaml b/examples/call-asyncapi-subscribe-consume-until.yaml index bec5a4f0..33501513 100644 --- a/examples/call-asyncapi-subscribe-consume-until.yaml +++ b/examples/call-asyncapi-subscribe-consume-until.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: bearer-auth version: '0.1.0' diff --git a/examples/call-asyncapi-subscribe-consume-while.yaml b/examples/call-asyncapi-subscribe-consume-while.yaml index 58c2e1ed..1588d353 100644 --- a/examples/call-asyncapi-subscribe-consume-while.yaml +++ b/examples/call-asyncapi-subscribe-consume-while.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: bearer-auth version: '0.1.0' diff --git a/examples/call-custom-function-cataloged.yaml b/examples/call-custom-function-cataloged.yaml index 0f978ec2..6613b17e 100644 --- a/examples/call-custom-function-cataloged.yaml +++ b/examples/call-custom-function-cataloged.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: samples name: call-custom-function-cataloged version: '0.1.0' diff --git a/examples/call-custom-function-inline.yaml b/examples/call-custom-function-inline.yaml index fbb636b4..a450a2ef 100644 --- a/examples/call-custom-function-inline.yaml +++ b/examples/call-custom-function-inline.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: samples name: call-custom-function-inline version: '0.1.0' diff --git a/examples/call-grpc.yaml b/examples/call-grpc.yaml index ed4858a3..9f9a7e6d 100644 --- a/examples/call-grpc.yaml +++ b/examples/call-grpc.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: grpc-example version: '0.1.0' diff --git a/examples/call-http-endpoint-interpolation-shorthand.yaml b/examples/call-http-endpoint-interpolation-shorthand.yaml index 7adf3132..9ac1852b 100644 --- a/examples/call-http-endpoint-interpolation-shorthand.yaml +++ b/examples/call-http-endpoint-interpolation-shorthand.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: call-http-shorthand-endpoint version: '0.1.0' diff --git a/examples/call-http-endpoint-interpolation.yaml b/examples/call-http-endpoint-interpolation.yaml index 8380a9aa..d31f43e1 100644 --- a/examples/call-http-endpoint-interpolation.yaml +++ b/examples/call-http-endpoint-interpolation.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: call-http-shorthand-endpoint version: '0.1.0' diff --git a/examples/call-http-query-headers-expressions.yaml b/examples/call-http-query-headers-expressions.yaml index 0b790ab9..eee27820 100644 --- a/examples/call-http-query-headers-expressions.yaml +++ b/examples/call-http-query-headers-expressions.yaml @@ -1,9 +1,9 @@ # yaml-language-server: $schema=../schema/workflow.yaml document: - dsl: 1.0.0-alpha2 + dsl: '1.0.0' namespace: examples name: http-query-headers-expressions - version: 1.0.0-alpha2 + version: '1.0.0' input: schema: format: json diff --git a/examples/call-http-query-parameters.yaml b/examples/call-http-query-parameters.yaml index f17d3043..3e1198c7 100644 --- a/examples/call-http-query-parameters.yaml +++ b/examples/call-http-query-parameters.yaml @@ -1,9 +1,9 @@ # yaml-language-server: $schema=../schema/workflow.yaml document: - dsl: 1.0.0-alpha2 + dsl: '1.0.0' namespace: examples name: http-query-params - version: 1.0.0-alpha2 + version: '1.0.0' input: schema: format: json diff --git a/examples/call-http-redirect.yaml b/examples/call-http-redirect.yaml index 819bd7fa..afae6c47 100644 --- a/examples/call-http-redirect.yaml +++ b/examples/call-http-redirect.yaml @@ -1,9 +1,9 @@ # yaml-language-server: $schema=../schema/workflow.yaml document: - dsl: 1.0.0-alpha2 + dsl: '1.0.0' namespace: examples name: http-query-params - version: 1.0.0-alpha2 + version: '1.0.0' input: schema: format: json diff --git a/examples/call-openapi-redirect.yaml b/examples/call-openapi-redirect.yaml index 424fbd3f..11deffaa 100644 --- a/examples/call-openapi-redirect.yaml +++ b/examples/call-openapi-redirect.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: openapi-example version: '0.1.0' diff --git a/examples/call-openapi.yaml b/examples/call-openapi.yaml index 5331d783..90826f93 100644 --- a/examples/call-openapi.yaml +++ b/examples/call-openapi.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: openapi-example version: '0.1.0' diff --git a/examples/conditional-task.yaml b/examples/conditional-task.yaml index dd412dec..b0981e8b 100644 --- a/examples/conditional-task.yaml +++ b/examples/conditional-task.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: conditional-task version: '0.1.0' diff --git a/examples/do-multiple.yaml b/examples/do-multiple.yaml index 882f9847..032d1dc0 100644 --- a/examples/do-multiple.yaml +++ b/examples/do-multiple.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: call-http-shorthand-endpoint version: '0.1.0' diff --git a/examples/do-single.yaml b/examples/do-single.yaml index 7adf3132..9ac1852b 100644 --- a/examples/do-single.yaml +++ b/examples/do-single.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: call-http-shorthand-endpoint version: '0.1.0' diff --git a/examples/emit.yaml b/examples/emit.yaml index d4d6d559..82fe2823 100644 --- a/examples/emit.yaml +++ b/examples/emit.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: emit version: '0.1.0' diff --git a/examples/for.yaml b/examples/for.yaml index 629a9672..333fcb25 100644 --- a/examples/for.yaml +++ b/examples/for.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: for-example version: '0.1.0' diff --git a/examples/fork.yaml b/examples/fork.yaml index 2d6708c3..41934624 100644 --- a/examples/fork.yaml +++ b/examples/fork.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: fork-example version: '0.1.0' diff --git a/examples/listen-to-all read-envelope.yaml b/examples/listen-to-all read-envelope.yaml index c54682e2..bfb07ef3 100644 --- a/examples/listen-to-all read-envelope.yaml +++ b/examples/listen-to-all read-envelope.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: listen-to-all-read-envelope version: '0.1.0' diff --git a/examples/listen-to-all.yaml b/examples/listen-to-all.yaml index 15ce80b4..c865d121 100644 --- a/examples/listen-to-all.yaml +++ b/examples/listen-to-all.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: listen-to-all version: '0.1.0' diff --git a/examples/listen-to-any-filter.yaml b/examples/listen-to-any-filter.yaml index 677e8e51..131611f1 100644 --- a/examples/listen-to-any-filter.yaml +++ b/examples/listen-to-any-filter.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: listen-to-any-filter version: '0.1.0' diff --git a/examples/listen-to-any-forever-foreach.yaml b/examples/listen-to-any-forever-foreach.yaml index 22c01a2e..53f93bc9 100644 --- a/examples/listen-to-any-forever-foreach.yaml +++ b/examples/listen-to-any-forever-foreach.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha1' + dsl: '1.0.0' namespace: test name: listen-to-any-while-foreach version: '0.1.0' diff --git a/examples/listen-to-any-until-condition.yaml b/examples/listen-to-any-until-condition.yaml index 9d611f5b..2f60222e 100644 --- a/examples/listen-to-any-until-condition.yaml +++ b/examples/listen-to-any-until-condition.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha1' + dsl: '1.0.0' namespace: test name: listen-to-any version: '0.1.0' diff --git a/examples/listen-to-any-until-consumed.yaml b/examples/listen-to-any-until-consumed.yaml index 7c46cc13..7e6a9601 100644 --- a/examples/listen-to-any-until-consumed.yaml +++ b/examples/listen-to-any-until-consumed.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha1' + dsl: '1.0.0' namespace: test name: listen-to-any version: '0.1.0' diff --git a/examples/listen-to-any.yaml b/examples/listen-to-any.yaml index b4a9fcb9..f3a3ba06 100644 --- a/examples/listen-to-any.yaml +++ b/examples/listen-to-any.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: listen-to-any version: '0.1.0' diff --git a/examples/listen-to-one.yaml b/examples/listen-to-one.yaml index b1760e86..00089e15 100644 --- a/examples/listen-to-one.yaml +++ b/examples/listen-to-one.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: listen-to-one version: '0.1.0' diff --git a/examples/mock-service-extension.yaml b/examples/mock-service-extension.yaml index 5e2244b0..c0a78740 100644 --- a/examples/mock-service-extension.yaml +++ b/examples/mock-service-extension.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: sample-workflow version: 0.1.0 diff --git a/examples/raise-inline.yaml b/examples/raise-inline.yaml index b4bcac88..b190c877 100644 --- a/examples/raise-inline.yaml +++ b/examples/raise-inline.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: raise-not-implemented version: '0.1.0' diff --git a/examples/raise-reusable.yaml b/examples/raise-reusable.yaml index ea6f3206..5724ff6e 100644 --- a/examples/raise-reusable.yaml +++ b/examples/raise-reusable.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: raise-not-implemented version: '0.1.0' diff --git a/examples/run-container-cleanup-always.yaml b/examples/run-container-cleanup-always.yaml index f399d07b..7608625e 100644 --- a/examples/run-container-cleanup-always.yaml +++ b/examples/run-container-cleanup-always.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: run-container version: '0.1.0' diff --git a/examples/run-container-cleanup-eventually.yaml b/examples/run-container-cleanup-eventually.yaml index 58fbfdf3..036b9ff9 100644 --- a/examples/run-container-cleanup-eventually.yaml +++ b/examples/run-container-cleanup-eventually.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: run-container version: '0.1.0' diff --git a/examples/run-container-with-name.yaml b/examples/run-container-with-name.yaml index 45fd36a0..6275373a 100644 --- a/examples/run-container-with-name.yaml +++ b/examples/run-container-with-name.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: run-container-with-name version: '0.1.0' diff --git a/examples/run-container.yaml b/examples/run-container.yaml index b12b795d..5c7cfc98 100644 --- a/examples/run-container.yaml +++ b/examples/run-container.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: run-container version: '0.1.0' diff --git a/examples/run-return-all.yaml b/examples/run-return-all.yaml index 0de552f3..58fa739f 100644 --- a/examples/run-return-all.yaml +++ b/examples/run-return-all.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: run-container version: '0.1.0' diff --git a/examples/run-return-code.yaml b/examples/run-return-code.yaml index 9ea77ab9..ef19937a 100644 --- a/examples/run-return-code.yaml +++ b/examples/run-return-code.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: run-container version: '0.1.0' diff --git a/examples/run-return-none.yaml b/examples/run-return-none.yaml index ee9359b1..94d1386b 100644 --- a/examples/run-return-none.yaml +++ b/examples/run-return-none.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: run-container version: '0.1.0' diff --git a/examples/run-return-stderr.yaml b/examples/run-return-stderr.yaml index 940ca991..e9d84b32 100644 --- a/examples/run-return-stderr.yaml +++ b/examples/run-return-stderr.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: run-container version: '0.1.0' diff --git a/examples/run-script-with-arguments.yaml b/examples/run-script-with-arguments.yaml index f07bdd55..2f4c02a6 100644 --- a/examples/run-script-with-arguments.yaml +++ b/examples/run-script-with-arguments.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: samples name: run-script-with-arguments version: 0.1.0 diff --git a/examples/run-subflow.yaml b/examples/run-subflow.yaml index fd038cdc..dea9cf15 100644 --- a/examples/run-subflow.yaml +++ b/examples/run-subflow.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: run-subflow version: '0.1.0' diff --git a/examples/schedule-cron.yaml b/examples/schedule-cron.yaml index 080f077c..330fe7a7 100644 --- a/examples/schedule-cron.yaml +++ b/examples/schedule-cron.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: cron-schedule version: '0.1.0' diff --git a/examples/schedule-event-driven.yaml b/examples/schedule-event-driven.yaml index 5447e8b7..0913796f 100644 --- a/examples/schedule-event-driven.yaml +++ b/examples/schedule-event-driven.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: examples name: event-driven-schedule version: '0.1.0' diff --git a/examples/set.yaml b/examples/set.yaml index 7009862a..161c16b9 100644 --- a/examples/set.yaml +++ b/examples/set.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: set version: '0.1.0' diff --git a/examples/star-wars-homeworld.yaml b/examples/star-wars-homeworld.yaml index 103f1838..5154c345 100644 --- a/examples/star-wars-homeworld.yaml +++ b/examples/star-wars-homeworld.yaml @@ -1,9 +1,9 @@ # yaml-language-server: $schema=../schema/workflow.yaml document: - dsl: 1.0.0-alpha2 + dsl: 1.0.0 namespace: examples name: star-wars-homeplanet - version: 1.0.0-alpha2 + version: 1.0.0 input: schema: format: json diff --git a/examples/switch-then-string.yaml b/examples/switch-then-string.yaml index d46882c4..5e26817a 100644 --- a/examples/switch-then-string.yaml +++ b/examples/switch-then-string.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: sample-workflow version: 0.1.0 diff --git a/examples/try-catch-retry-inline.yaml b/examples/try-catch-retry-inline.yaml index 3712f6f4..78361277 100644 --- a/examples/try-catch-retry-inline.yaml +++ b/examples/try-catch-retry-inline.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: try-catch-retry version: '0.1.0' diff --git a/examples/try-catch-retry-reusable.yaml b/examples/try-catch-retry-reusable.yaml index 4f919d24..126de084 100644 --- a/examples/try-catch-retry-reusable.yaml +++ b/examples/try-catch-retry-reusable.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: try-catch-retry version: '0.1.0' diff --git a/examples/try-catch-then.yaml b/examples/try-catch-then.yaml index db33f2b6..56957fe4 100644 --- a/examples/try-catch-then.yaml +++ b/examples/try-catch-then.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: try-catch version: '0.1.0' diff --git a/examples/try-catch.yaml b/examples/try-catch.yaml index 8294433c..7a2e4805 100644 --- a/examples/try-catch.yaml +++ b/examples/try-catch.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: try-catch version: '0.1.0' diff --git a/examples/wait-duration-inline.yaml b/examples/wait-duration-inline.yaml index e083f221..f854275e 100644 --- a/examples/wait-duration-inline.yaml +++ b/examples/wait-duration-inline.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: wait-duration-inline version: '0.1.0' diff --git a/examples/wait-duration-iso8601.yaml b/examples/wait-duration-iso8601.yaml index 21a486d7..56e32b4d 100644 --- a/examples/wait-duration-iso8601.yaml +++ b/examples/wait-duration-iso8601.yaml @@ -1,5 +1,5 @@ document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: test name: wait-duration-8601 version: '0.1.0' diff --git a/schema/workflow.yaml b/schema/workflow.yaml index 23165212..3870f50e 100644 --- a/schema/workflow.yaml +++ b/schema/workflow.yaml @@ -1,4 +1,4 @@ -$id: https://serverlessworkflow.io/schemas/1.0.0-alpha5/workflow.yaml +$id: https://serverlessworkflow.io/schemas/1.0.0/workflow.yaml $schema: https://json-schema.org/draft/2020-12/schema description: Serverless Workflow DSL - Workflow Schema. type: object diff --git a/use-cases/automated-data-backup/README.md b/use-cases/automated-data-backup/README.md index 17feed9a..25906a71 100644 --- a/use-cases/automated-data-backup/README.md +++ b/use-cases/automated-data-backup/README.md @@ -54,7 +54,7 @@ The following diagram represents the high-level flow of the workflow: ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: sql-export-to-minio version: 0.1.2 diff --git a/use-cases/managing-ev-charging-stations/README.md b/use-cases/managing-ev-charging-stations/README.md index 7f50fd20..35e41091 100644 --- a/use-cases/managing-ev-charging-stations/README.md +++ b/use-cases/managing-ev-charging-stations/README.md @@ -70,7 +70,7 @@ The following diagram represents the high-level flow of the workflow: ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: manage-ev-charging-stations version: '0.1.0' diff --git a/use-cases/managing-github-issues/README.md b/use-cases/managing-github-issues/README.md index c5a99c42..d320c4e5 100644 --- a/use-cases/managing-github-issues/README.md +++ b/use-cases/managing-github-issues/README.md @@ -63,7 +63,7 @@ The following diagram represents the high-level flow of the workflow: ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: manage-github-issues version: '0.1.0' diff --git a/use-cases/multi-agent-ai-content-generation/README.md b/use-cases/multi-agent-ai-content-generation/README.md index f0607754..abb633fd 100644 --- a/use-cases/multi-agent-ai-content-generation/README.md +++ b/use-cases/multi-agent-ai-content-generation/README.md @@ -66,7 +66,7 @@ The following diagram represents the high-level flow of the workflow: ```yaml document: - dsl: '1.0.0-alpha5' + dsl: '1.0.0' namespace: default name: multi-agent-collaboration-for-ai-content version: '0.1.0' From 4792802301e07ad238da26e0bb90ba686446688f Mon Sep 17 00:00:00 2001 From: Gilles Barbier Date: Tue, 18 Feb 2025 19:25:17 +0100 Subject: [PATCH 02/15] fix(dsl): fix a few issues in dsl and dsl-reference Signed-off-by: Gilles Barbier --- .DS_Store | Bin 0 -> 8196 bytes dsl-reference.md | 38 +++++++++++++++++++------------------- dsl.md | 2 +- 3 files changed, 20 insertions(+), 20 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..67369476087ce3a9f0e8f8465fad27be18209b1a GIT binary patch literal 8196 zcmeHMO>fgc5S>lZ)=|_F@gbE1k|nOCG_6#SxTI+-6bXtHmm&nH*tOeQb?hom2q>zQ zJNyRz0%v{*{1;B}W_Kx$$elT;}Vf*4g3btA`w|=jP)A20^{r4 zrmUpTTmuU5iSAHBhv*N0#*6|+0i%FXz$jo8_!kwxJDbhA;JvS|n%*d26!JOe?^(`&C)5`xH#n?=kr_z?D8NQQY_ z>bQrLBHULGcXx=!7=s%WM){WG&uV^w0;QvzuZ20^k_!b+5iy{2a&4tAzw`Ho>8V!u zvv(SWX@6zqt0@4ImgM+>AU?w+H!j@_-HptBJbze_4dMGxL?1%nZ$iJ zjDwyegnj^*m(Rl3Pll~z5c{d*I_iQ|wW|B|o1@X%{Uy7xzIL``j~b18>o{nvuAZG$ ztsA%RKIrV9MBO-Hfnh>Fg=tw{?a?-MXa|Y3Lz@^E zNL=28cQ(o9=n=K0_YOIYmrk&ahe%3n z=VUCIj#>X1YomOjrJOi rjs3<7B?X-<$APjO2cG}K5Mvvz%xP*IE5sR?`9na;U^=6~Usd1-oQgKF literal 0 HcmV?d00001 diff --git a/dsl-reference.md b/dsl-reference.md index 72e18547..a9c35d0e 100644 --- a/dsl-reference.md +++ b/dsl-reference.md @@ -96,16 +96,16 @@ A [workflow](#workflow) serves as a blueprint outlining the series of [tasks](#t #### Properties -| Name | Type | Required | Description| -|:--|:---:|:---:|:---| -| document | [`document`](#document) | `yes` | Documents the defined workflow. | -| input | [`input`](#input) | `no` | Configures the workflow's input. | -| use | [`use`](#use) | `no` | Defines the workflow's reusable components, if any. | -| do | [`map[string, task][]`](#task) | `yes` | The [task(s)](#task) that must be performed by the [workflow](#workflow). | +| Name | Type | Required | Description| +|:--|:---------------------------------:|:---:|:---| +| document | [`document`](#document) | `yes` | Documents the defined workflow. | +| input | [`input`](#input) | `no` | Configures the workflow's input. | +| use | [`use`](#use) | `no` | Defines the workflow's reusable components, if any. | +| do | [`map[string, task`](#task) | `yes` | The [task(s)](#task) that must be performed by the [workflow](#workflow). | | timeout | `string`
[`timeout`](#timeout) | `no` | The configuration, if any, of the workflow's timeout.
*If a `string`, must be the name of a [timeout](#timeout) defined in the [workflow's reusable components](#use).* | -| output | [`output`](#output) | `no` | Configures the workflow's output. | -| schedule | [`schedule`](#schedule) | `no` | Configures the workflow's schedule, if any. | -| evaluate | [`evaluate`](#evaluate) | `no` | Configures runtime expression evaluation. | +| output | [`output`](#output) | `no` | Configures the workflow's output. | +| schedule | [`schedule`](#schedule) | `no` | Configures the workflow's schedule, if any. | +| evaluate | [`evaluate`](#evaluate) | `no` | Configures runtime expression evaluation. | #### Document @@ -588,13 +588,13 @@ Allows workflows to iterate over a collection of items, executing a defined set ##### Properties -| Name | Type | Required | Description| -|:--|:---:|:---:|:---| -| for.each | `string` | `no` | The name of the variable used to store the current item being enumerated.
Defaults to `item`. | -| for.in | `string` | `yes` | A [runtime expression](dsl.md#runtime-expressions) used to get the collection to enumerate. | -| for.at | `string` | `no` | The name of the variable used to store the index of the current item being enumerated.
Defaults to `index`. | -| while | `string` | `no` | A [runtime expression](dsl.md#runtime-expressions) that represents the condition, if any, that must be met for the iteration to continue. | -| do | [`task`](#task) | `yes` | The task to perform for each item in the collection. | +| Name | Type | Required | Description| +|:--|:----------------------------:|:---:|:---| +| for.each | `string` | `no` | The name of the variable used to store the current item being enumerated.
Defaults to `item`. | +| for.in | `string` | `yes` | A [runtime expression](dsl.md#runtime-expressions) used to get the collection to enumerate. | +| for.at | `string` | `no` | The name of the variable used to store the index of the current item being enumerated.
Defaults to `index`. | +| while | `string` | `no` | A [runtime expression](dsl.md#runtime-expressions) that represents the condition, if any, that must be met for the iteration to continue. | +| do | [`map[string, task]`](#task) | `yes` | The [task(s)](#task) to perform for each item in the collection. | ##### Examples @@ -1157,6 +1157,9 @@ Flow Directives are commands within a workflow that dictate its progression. | `"end"` | Provides a graceful conclusion to the workflow execution, signaling its completion explicitly. | | `string` | Continues the workflow at the task with the specified name | +> [!WARNING] +> Flow directives may only redirect to tasks declared within their own scope. In other words, they cannot target tasks at a different depth. + ### Lifecycle Events Lifecycle events are [cloud events](https://github.com/cloudevents/spec) used to notify users and external services about key state changes in workflows and tasks. @@ -1540,9 +1543,6 @@ updatedAt: '2024-07-26T16:59:57-05:00' status: completed ``` -> [!WARNING] -> Flow directives may only redirect to tasks declared within their own scope. In other words, they cannot target tasks at a different depth. - ### External Resource Defines an external resource. diff --git a/dsl.md b/dsl.md index 033479f2..747a123f 100644 --- a/dsl.md +++ b/dsl.md @@ -241,7 +241,7 @@ Before the workflow starts, the input data provided to the workflow can be valid The execution only proceeds if the input is valid. Otherwise, it will fault with a [ValidationError (https://serverlessworkflow.io/spec/1.0.0/errors/validation)](dsl-reference.md#error). 2. **Transform Workflow Input** -Before the workflow starts, the input data provided to the workflow can be transformed to ensure only relevant data in the expected format is passed into the workflow context. This can be done using the top level `input.from` expression. It evaluates on the raw workflow input and defaults to the identity expression which leaves the input unchanged. This step allows the workflow to start with a clean and focused dataset, reducing potential overhead and complexity in subsequent tasks. The result of this expression will set as the initial value for the `$context` runtime expression argument and be passed to the first task. +Before the workflow starts, the input data provided to the workflow can be transformed to ensure only relevant data in the expected format is passed into the workflow context. This can be done using the top level `input.from` expression. It evaluates on the raw workflow input and defaults to the identity expression which leaves the input unchanged. This step allows the workflow to start with a clean and focused dataset, reducing potential overhead and complexity in subsequent tasks. The result of this expression will set as the initial value for the `$input` runtime expression argument and be passed to the first task. *Example: If the workflow receives a JSON object as input, a transformation can be applied to remove unnecessary fields and retain only those that are required for the workflow's execution.* From 98bf5b6f9b5c5670c289179239c0cc446f8d8a5b Mon Sep 17 00:00:00 2001 From: Gilles Barbier Date: Fri, 21 Feb 2025 10:26:14 +0100 Subject: [PATCH 03/15] update .gitignore to include .DS_Store Signed-off-by: Gilles Barbier --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 723ef36f..090a1f02 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -.idea \ No newline at end of file +.idea +.DS_Store From cb26353792ec88c9528069dfae6d7dd709263274 Mon Sep 17 00:00:00 2001 From: Gilles Barbier Date: Fri, 21 Feb 2025 10:26:25 +0100 Subject: [PATCH 04/15] fix(dsl-reference): correct table formatting Signed-off-by: Gilles Barbier --- dsl-reference.md | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/dsl-reference.md b/dsl-reference.md index a9c35d0e..4d0c20ed 100644 --- a/dsl-reference.md +++ b/dsl-reference.md @@ -96,16 +96,16 @@ A [workflow](#workflow) serves as a blueprint outlining the series of [tasks](#t #### Properties -| Name | Type | Required | Description| -|:--|:---------------------------------:|:---:|:---| -| document | [`document`](#document) | `yes` | Documents the defined workflow. | -| input | [`input`](#input) | `no` | Configures the workflow's input. | -| use | [`use`](#use) | `no` | Defines the workflow's reusable components, if any. | -| do | [`map[string, task`](#task) | `yes` | The [task(s)](#task) that must be performed by the [workflow](#workflow). | +| Name | Type | Required | Description| +|:--|:---:|:---:|:---| +| document | [`document`](#document) | `yes` | Documents the defined workflow. | +| input | [`input`](#input) | `no` | Configures the workflow's input. | +| use | [`use`](#use) | `no` | Defines the workflow's reusable components, if any. | +| do | [`map[string, task]`](#task) | `yes` | The [task(s)](#task) that must be performed by the [workflow](#workflow). | | timeout | `string`
[`timeout`](#timeout) | `no` | The configuration, if any, of the workflow's timeout.
*If a `string`, must be the name of a [timeout](#timeout) defined in the [workflow's reusable components](#use).* | -| output | [`output`](#output) | `no` | Configures the workflow's output. | -| schedule | [`schedule`](#schedule) | `no` | Configures the workflow's schedule, if any. | -| evaluate | [`evaluate`](#evaluate) | `no` | Configures runtime expression evaluation. | +| output | [`output`](#output) | `no` | Configures the workflow's output. | +| schedule | [`schedule`](#schedule) | `no` | Configures the workflow's schedule, if any. | +| evaluate | [`evaluate`](#evaluate) | `no` | Configures runtime expression evaluation. | #### Document @@ -131,7 +131,7 @@ Defines the workflow's reusable components. | authentications | [`map[string, authentication]`](#authentication) | `no` | A name/value mapping of the workflow's reusable authentication policies. | | catalogs | [`map[string, catalog]`(#catalog)] | `no` | A name/value mapping of the workflow's reusable resource catalogs. | | errors | [`map[string, error]`](#error) | `no` | A name/value mapping of the workflow's reusable errors. | -| extensions | [`map[string, extension][]`](#extension) | `no` | A list of the workflow's reusable extensions. | +| extensions | [`map[string, extension]`](#extension) | `no` | A list of the workflow's reusable extensions. | | functions | [`map[string, task]`](#task) | `no` | A name/value mapping of the workflow's reusable tasks. | | retries | [`map[string, retryPolicy]`](#retry) | `no` | A name/value mapping of the workflow's reusable retry policies. | | secrets | `string[]` | `no` | A list containing the workflow's secrets. | @@ -491,7 +491,7 @@ Serves as a fundamental building block within workflows, enabling the sequential | Name | Type | Required | Description| |:--|:---:|:---:|:---| -| do | [`map[string, task][]`](#task) | `no` | The tasks to perform sequentially. | +| do | [`map[string, task]`](#task) | `no` | The tasks to perform sequentially. | ##### Examples @@ -588,12 +588,12 @@ Allows workflows to iterate over a collection of items, executing a defined set ##### Properties -| Name | Type | Required | Description| -|:--|:----------------------------:|:---:|:---| -| for.each | `string` | `no` | The name of the variable used to store the current item being enumerated.
Defaults to `item`. | -| for.in | `string` | `yes` | A [runtime expression](dsl.md#runtime-expressions) used to get the collection to enumerate. | -| for.at | `string` | `no` | The name of the variable used to store the index of the current item being enumerated.
Defaults to `index`. | -| while | `string` | `no` | A [runtime expression](dsl.md#runtime-expressions) that represents the condition, if any, that must be met for the iteration to continue. | +| Name | Type | Required | Description| +|:--|:---:|:---:|:---| +| for.each | `string` | `no` | The name of the variable used to store the current item being enumerated.
Defaults to `item`. | +| for.in | `string` | `yes` | A [runtime expression](dsl.md#runtime-expressions) used to get the collection to enumerate. | +| for.at | `string` | `no` | The name of the variable used to store the index of the current item being enumerated.
Defaults to `index`. | +| while | `string` | `no` | A [runtime expression](dsl.md#runtime-expressions) that represents the condition, if any, that must be met for the iteration to continue. | | do | [`map[string, task]`](#task) | `yes` | The [task(s)](#task) to perform for each item in the collection. | ##### Examples @@ -630,7 +630,7 @@ Allows workflows to execute multiple subtasks concurrently, enabling parallel pr | Name | Type | Required | Description| |:--|:---:|:---:|:---| -| fork.branches | [`map[string, task][]`](#task) | `no` | The tasks to perform concurrently. | +| fork.branches | [`map[string, task]`](#task) | `no` | The tasks to perform concurrently. | | fork.compete | `boolean` | `no` | Indicates whether or not the concurrent [`tasks`](#task) are racing against each other, with a single possible winner, which sets the composite task's output.
*If set to `false`, the task returns an array that includes the outputs from each branch, preserving the order in which the branches are declared.*
*If to `true`, the task returns only the output of the winning branch.*
*Defaults to `false`.* | ##### Examples @@ -1072,7 +1072,7 @@ Serves as a mechanism within workflows to handle errors gracefully, potentially | Name | Type | Required | Description| |:--|:---:|:---:|:---| -| try | [`map[string, task][]`](#task) | `yes` | The task(s) to perform. | +| try | [`map[string, task]`](#task) | `yes` | The task(s) to perform. | | catch | [`catch`](#catch) | `yes` | Configures the errors to catch and how to handle them. | ##### Examples @@ -1120,7 +1120,7 @@ Defines the configuration of a catch clause, which a concept used to catch error | when | `string`| `no` | A runtime expression used to determine whether or not to catch the filtered error. | | exceptWhen | `string` | `no` | A runtime expression used to determine whether or not to catch the filtered error. | | retry | `string`
[`retryPolicy`](#retry) | `no` | The [`retry policy`](#retry) to use, if any, when catching [`errors`](#error).
*If a `string`, must be the name of a [retry policy](#retry) defined in the [workflow's reusable components](#use).* | -| do | [`map[string, task][]`](#task) | `no` | The definition of the task(s) to run when catching an error. | +| do | [`map[string, task]`](#task) | `no` | The definition of the task(s) to run when catching an error. | #### Wait @@ -1877,8 +1877,8 @@ Extensions enable the execution of tasks prior to those they extend, offering th |----------|:----:|:--------:|-------------| | extend | `string` | `yes` | The type of task to extend
Supported values are: `call`, `composite`, `emit`, `extension`, `for`, `listen`, `raise`, `run`, `set`, `switch`, `try`, `wait` and `all` | | when | `string` | `no` | A runtime expression used to determine whether or not the extension should apply in the specified context | -| before | [`map[string, task][]`](#task) | `no` | The task to execute, if any, before the extended task | -| after | [`map[string, task][]`](#task) | `no` | The task to execute, if any, after the extended task | +| before | [`map[string, task]`](#task) | `no` | The task to execute, if any, before the extended task | +| after | [`map[string, task]`](#task) | `no` | The task to execute, if any, after the extended task | #### Examples @@ -2602,7 +2602,7 @@ Configures the iteration over each item (event or message) consumed by a subscri |:-----|:----:|:--------:|:------------| | item | `string` | `no` | The name of the variable used to store the current item being enumerated.
*Defaults to `item`.* | | at | `string` | `no` | The name of the variable used to store the index of the current item being enumerated.
*Defaults to `index`.* | -| do | [`map[string, task][]`](#task) | `no` | The tasks to perform for each consumed item. | +| do | [`map[string, task]`](#task) | `no` | The tasks to perform for each consumed item. | | output | [`output`](#output) | `no` | An object, if any, used to customize the item's output and to document its schema. | | export | [`export`](#export) | `no` | An object, if any, used to customize the content of the workflow context. | From 59b4c35c3bca21976d7c3119ddb456df8d80dc45 Mon Sep 17 00:00:00 2001 From: Gilles Barbier Date: Fri, 21 Feb 2025 10:28:45 +0100 Subject: [PATCH 05/15] fix(dsl-reference): clarify flow directive descriptions Signed-off-by: Gilles Barbier --- dsl-reference.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dsl-reference.md b/dsl-reference.md index 4d0c20ed..1b3311c5 100644 --- a/dsl-reference.md +++ b/dsl-reference.md @@ -1150,12 +1150,12 @@ do: Flow Directives are commands within a workflow that dictate its progression. -| Directive | Description | -| --------- | ----------- | +| Directive | Description | +| --------- |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `"continue"` | Instructs the workflow to proceed with the next task in line. This action may conclude the execution of a particular workflow or branch if there are not task defined after the continue one. | -| `"exit"` | Halts the current branch's execution, potentially terminating the entire workflow if the current task resides within the main branch. | -| `"end"` | Provides a graceful conclusion to the workflow execution, signaling its completion explicitly. | -| `string` | Continues the workflow at the task with the specified name | +| `"exit"` | Complete the current scope's execution, potentially terminating the entire workflow if the current task resides within the main `do` scope. | +| `"end"` | Provides a graceful conclusion to the workflow execution, signaling its completion explicitly. | +| `string` | Continues the workflow at the task with the specified name | > [!WARNING] > Flow directives may only redirect to tasks declared within their own scope. In other words, they cannot target tasks at a different depth. From 7bf127942f99650c644b621adcbb061859f6c714 Mon Sep 17 00:00:00 2001 From: Gilles Barbier Date: Fri, 21 Feb 2025 10:35:16 +0100 Subject: [PATCH 06/15] fix(dsl-reference): improve table formatting Signed-off-by: Gilles Barbier --- dsl-reference.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dsl-reference.md b/dsl-reference.md index 1b3311c5..02b39764 100644 --- a/dsl-reference.md +++ b/dsl-reference.md @@ -1150,12 +1150,12 @@ do: Flow Directives are commands within a workflow that dictate its progression. -| Directive | Description | -| --------- |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Directive | Description | +| --------- | ----------- | | `"continue"` | Instructs the workflow to proceed with the next task in line. This action may conclude the execution of a particular workflow or branch if there are not task defined after the continue one. | -| `"exit"` | Complete the current scope's execution, potentially terminating the entire workflow if the current task resides within the main `do` scope. | -| `"end"` | Provides a graceful conclusion to the workflow execution, signaling its completion explicitly. | -| `string` | Continues the workflow at the task with the specified name | +| `"exit"` | Completes the current scope's execution, potentially terminating the entire workflow if the current task resides within the main `do` scope. | +| `"end"` | Provides a graceful conclusion to the workflow execution, signaling its completion explicitly. | +| `string` | Continues the workflow at the task with the specified name. | > [!WARNING] > Flow directives may only redirect to tasks declared within their own scope. In other words, they cannot target tasks at a different depth. From 5e2db394bc6afc8706d371e292c3259a3c5550fd Mon Sep 17 00:00:00 2001 From: Gilles Barbier Date: Fri, 21 Feb 2025 10:28:45 +0100 Subject: [PATCH 07/15] fix(dsl-reference): clarify flow directive descriptions Signed-off-by: Gilles Barbier --- dsl-reference.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dsl-reference.md b/dsl-reference.md index 02b39764..882bd0ab 100644 --- a/dsl-reference.md +++ b/dsl-reference.md @@ -1150,8 +1150,8 @@ do: Flow Directives are commands within a workflow that dictate its progression. -| Directive | Description | -| --------- | ----------- | +| Directive | Description | +| --------- |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `"continue"` | Instructs the workflow to proceed with the next task in line. This action may conclude the execution of a particular workflow or branch if there are not task defined after the continue one. | | `"exit"` | Completes the current scope's execution, potentially terminating the entire workflow if the current task resides within the main `do` scope. | | `"end"` | Provides a graceful conclusion to the workflow execution, signaling its completion explicitly. | From 573baee4aa88cf85f07aed3b82791bd6d127e3f8 Mon Sep 17 00:00:00 2001 From: Gilles Barbier Date: Tue, 18 Feb 2025 19:25:17 +0100 Subject: [PATCH 08/15] fix(dsl): fix a few issues in dsl and dsl-reference Signed-off-by: Gilles Barbier --- .DS_Store | Bin 0 -> 8196 bytes dsl-reference.md | 38 +++++++++++++++++++------------------- dsl.md | 2 +- 3 files changed, 20 insertions(+), 20 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..67369476087ce3a9f0e8f8465fad27be18209b1a GIT binary patch literal 8196 zcmeHMO>fgc5S>lZ)=|_F@gbE1k|nOCG_6#SxTI+-6bXtHmm&nH*tOeQb?hom2q>zQ zJNyRz0%v{*{1;B}W_Kx$$elT;}Vf*4g3btA`w|=jP)A20^{r4 zrmUpTTmuU5iSAHBhv*N0#*6|+0i%FXz$jo8_!kwxJDbhA;JvS|n%*d26!JOe?^(`&C)5`xH#n?=kr_z?D8NQQY_ z>bQrLBHULGcXx=!7=s%WM){WG&uV^w0;QvzuZ20^k_!b+5iy{2a&4tAzw`Ho>8V!u zvv(SWX@6zqt0@4ImgM+>AU?w+H!j@_-HptBJbze_4dMGxL?1%nZ$iJ zjDwyegnj^*m(Rl3Pll~z5c{d*I_iQ|wW|B|o1@X%{Uy7xzIL``j~b18>o{nvuAZG$ ztsA%RKIrV9MBO-Hfnh>Fg=tw{?a?-MXa|Y3Lz@^E zNL=28cQ(o9=n=K0_YOIYmrk&ahe%3n z=VUCIj#>X1YomOjrJOi rjs3<7B?X-<$APjO2cG}K5Mvvz%xP*IE5sR?`9na;U^=6~Usd1-oQgKF literal 0 HcmV?d00001 diff --git a/dsl-reference.md b/dsl-reference.md index 72e18547..a9c35d0e 100644 --- a/dsl-reference.md +++ b/dsl-reference.md @@ -96,16 +96,16 @@ A [workflow](#workflow) serves as a blueprint outlining the series of [tasks](#t #### Properties -| Name | Type | Required | Description| -|:--|:---:|:---:|:---| -| document | [`document`](#document) | `yes` | Documents the defined workflow. | -| input | [`input`](#input) | `no` | Configures the workflow's input. | -| use | [`use`](#use) | `no` | Defines the workflow's reusable components, if any. | -| do | [`map[string, task][]`](#task) | `yes` | The [task(s)](#task) that must be performed by the [workflow](#workflow). | +| Name | Type | Required | Description| +|:--|:---------------------------------:|:---:|:---| +| document | [`document`](#document) | `yes` | Documents the defined workflow. | +| input | [`input`](#input) | `no` | Configures the workflow's input. | +| use | [`use`](#use) | `no` | Defines the workflow's reusable components, if any. | +| do | [`map[string, task`](#task) | `yes` | The [task(s)](#task) that must be performed by the [workflow](#workflow). | | timeout | `string`
[`timeout`](#timeout) | `no` | The configuration, if any, of the workflow's timeout.
*If a `string`, must be the name of a [timeout](#timeout) defined in the [workflow's reusable components](#use).* | -| output | [`output`](#output) | `no` | Configures the workflow's output. | -| schedule | [`schedule`](#schedule) | `no` | Configures the workflow's schedule, if any. | -| evaluate | [`evaluate`](#evaluate) | `no` | Configures runtime expression evaluation. | +| output | [`output`](#output) | `no` | Configures the workflow's output. | +| schedule | [`schedule`](#schedule) | `no` | Configures the workflow's schedule, if any. | +| evaluate | [`evaluate`](#evaluate) | `no` | Configures runtime expression evaluation. | #### Document @@ -588,13 +588,13 @@ Allows workflows to iterate over a collection of items, executing a defined set ##### Properties -| Name | Type | Required | Description| -|:--|:---:|:---:|:---| -| for.each | `string` | `no` | The name of the variable used to store the current item being enumerated.
Defaults to `item`. | -| for.in | `string` | `yes` | A [runtime expression](dsl.md#runtime-expressions) used to get the collection to enumerate. | -| for.at | `string` | `no` | The name of the variable used to store the index of the current item being enumerated.
Defaults to `index`. | -| while | `string` | `no` | A [runtime expression](dsl.md#runtime-expressions) that represents the condition, if any, that must be met for the iteration to continue. | -| do | [`task`](#task) | `yes` | The task to perform for each item in the collection. | +| Name | Type | Required | Description| +|:--|:----------------------------:|:---:|:---| +| for.each | `string` | `no` | The name of the variable used to store the current item being enumerated.
Defaults to `item`. | +| for.in | `string` | `yes` | A [runtime expression](dsl.md#runtime-expressions) used to get the collection to enumerate. | +| for.at | `string` | `no` | The name of the variable used to store the index of the current item being enumerated.
Defaults to `index`. | +| while | `string` | `no` | A [runtime expression](dsl.md#runtime-expressions) that represents the condition, if any, that must be met for the iteration to continue. | +| do | [`map[string, task]`](#task) | `yes` | The [task(s)](#task) to perform for each item in the collection. | ##### Examples @@ -1157,6 +1157,9 @@ Flow Directives are commands within a workflow that dictate its progression. | `"end"` | Provides a graceful conclusion to the workflow execution, signaling its completion explicitly. | | `string` | Continues the workflow at the task with the specified name | +> [!WARNING] +> Flow directives may only redirect to tasks declared within their own scope. In other words, they cannot target tasks at a different depth. + ### Lifecycle Events Lifecycle events are [cloud events](https://github.com/cloudevents/spec) used to notify users and external services about key state changes in workflows and tasks. @@ -1540,9 +1543,6 @@ updatedAt: '2024-07-26T16:59:57-05:00' status: completed ``` -> [!WARNING] -> Flow directives may only redirect to tasks declared within their own scope. In other words, they cannot target tasks at a different depth. - ### External Resource Defines an external resource. diff --git a/dsl.md b/dsl.md index 033479f2..747a123f 100644 --- a/dsl.md +++ b/dsl.md @@ -241,7 +241,7 @@ Before the workflow starts, the input data provided to the workflow can be valid The execution only proceeds if the input is valid. Otherwise, it will fault with a [ValidationError (https://serverlessworkflow.io/spec/1.0.0/errors/validation)](dsl-reference.md#error). 2. **Transform Workflow Input** -Before the workflow starts, the input data provided to the workflow can be transformed to ensure only relevant data in the expected format is passed into the workflow context. This can be done using the top level `input.from` expression. It evaluates on the raw workflow input and defaults to the identity expression which leaves the input unchanged. This step allows the workflow to start with a clean and focused dataset, reducing potential overhead and complexity in subsequent tasks. The result of this expression will set as the initial value for the `$context` runtime expression argument and be passed to the first task. +Before the workflow starts, the input data provided to the workflow can be transformed to ensure only relevant data in the expected format is passed into the workflow context. This can be done using the top level `input.from` expression. It evaluates on the raw workflow input and defaults to the identity expression which leaves the input unchanged. This step allows the workflow to start with a clean and focused dataset, reducing potential overhead and complexity in subsequent tasks. The result of this expression will set as the initial value for the `$input` runtime expression argument and be passed to the first task. *Example: If the workflow receives a JSON object as input, a transformation can be applied to remove unnecessary fields and retain only those that are required for the workflow's execution.* From e1828df8af756cc96c5c36080bbb8c80fa87fe0b Mon Sep 17 00:00:00 2001 From: Gilles Barbier Date: Fri, 21 Feb 2025 10:26:14 +0100 Subject: [PATCH 09/15] update .gitignore to include .DS_Store Signed-off-by: Gilles Barbier --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 723ef36f..090a1f02 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -.idea \ No newline at end of file +.idea +.DS_Store From 084bd9131a4a4a1e9b86bbbb14d9dd8d4382d719 Mon Sep 17 00:00:00 2001 From: Gilles Barbier Date: Fri, 21 Feb 2025 10:26:25 +0100 Subject: [PATCH 10/15] fix(dsl-reference): correct table formatting Signed-off-by: Gilles Barbier --- dsl-reference.md | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/dsl-reference.md b/dsl-reference.md index a9c35d0e..4d0c20ed 100644 --- a/dsl-reference.md +++ b/dsl-reference.md @@ -96,16 +96,16 @@ A [workflow](#workflow) serves as a blueprint outlining the series of [tasks](#t #### Properties -| Name | Type | Required | Description| -|:--|:---------------------------------:|:---:|:---| -| document | [`document`](#document) | `yes` | Documents the defined workflow. | -| input | [`input`](#input) | `no` | Configures the workflow's input. | -| use | [`use`](#use) | `no` | Defines the workflow's reusable components, if any. | -| do | [`map[string, task`](#task) | `yes` | The [task(s)](#task) that must be performed by the [workflow](#workflow). | +| Name | Type | Required | Description| +|:--|:---:|:---:|:---| +| document | [`document`](#document) | `yes` | Documents the defined workflow. | +| input | [`input`](#input) | `no` | Configures the workflow's input. | +| use | [`use`](#use) | `no` | Defines the workflow's reusable components, if any. | +| do | [`map[string, task]`](#task) | `yes` | The [task(s)](#task) that must be performed by the [workflow](#workflow). | | timeout | `string`
[`timeout`](#timeout) | `no` | The configuration, if any, of the workflow's timeout.
*If a `string`, must be the name of a [timeout](#timeout) defined in the [workflow's reusable components](#use).* | -| output | [`output`](#output) | `no` | Configures the workflow's output. | -| schedule | [`schedule`](#schedule) | `no` | Configures the workflow's schedule, if any. | -| evaluate | [`evaluate`](#evaluate) | `no` | Configures runtime expression evaluation. | +| output | [`output`](#output) | `no` | Configures the workflow's output. | +| schedule | [`schedule`](#schedule) | `no` | Configures the workflow's schedule, if any. | +| evaluate | [`evaluate`](#evaluate) | `no` | Configures runtime expression evaluation. | #### Document @@ -131,7 +131,7 @@ Defines the workflow's reusable components. | authentications | [`map[string, authentication]`](#authentication) | `no` | A name/value mapping of the workflow's reusable authentication policies. | | catalogs | [`map[string, catalog]`(#catalog)] | `no` | A name/value mapping of the workflow's reusable resource catalogs. | | errors | [`map[string, error]`](#error) | `no` | A name/value mapping of the workflow's reusable errors. | -| extensions | [`map[string, extension][]`](#extension) | `no` | A list of the workflow's reusable extensions. | +| extensions | [`map[string, extension]`](#extension) | `no` | A list of the workflow's reusable extensions. | | functions | [`map[string, task]`](#task) | `no` | A name/value mapping of the workflow's reusable tasks. | | retries | [`map[string, retryPolicy]`](#retry) | `no` | A name/value mapping of the workflow's reusable retry policies. | | secrets | `string[]` | `no` | A list containing the workflow's secrets. | @@ -491,7 +491,7 @@ Serves as a fundamental building block within workflows, enabling the sequential | Name | Type | Required | Description| |:--|:---:|:---:|:---| -| do | [`map[string, task][]`](#task) | `no` | The tasks to perform sequentially. | +| do | [`map[string, task]`](#task) | `no` | The tasks to perform sequentially. | ##### Examples @@ -588,12 +588,12 @@ Allows workflows to iterate over a collection of items, executing a defined set ##### Properties -| Name | Type | Required | Description| -|:--|:----------------------------:|:---:|:---| -| for.each | `string` | `no` | The name of the variable used to store the current item being enumerated.
Defaults to `item`. | -| for.in | `string` | `yes` | A [runtime expression](dsl.md#runtime-expressions) used to get the collection to enumerate. | -| for.at | `string` | `no` | The name of the variable used to store the index of the current item being enumerated.
Defaults to `index`. | -| while | `string` | `no` | A [runtime expression](dsl.md#runtime-expressions) that represents the condition, if any, that must be met for the iteration to continue. | +| Name | Type | Required | Description| +|:--|:---:|:---:|:---| +| for.each | `string` | `no` | The name of the variable used to store the current item being enumerated.
Defaults to `item`. | +| for.in | `string` | `yes` | A [runtime expression](dsl.md#runtime-expressions) used to get the collection to enumerate. | +| for.at | `string` | `no` | The name of the variable used to store the index of the current item being enumerated.
Defaults to `index`. | +| while | `string` | `no` | A [runtime expression](dsl.md#runtime-expressions) that represents the condition, if any, that must be met for the iteration to continue. | | do | [`map[string, task]`](#task) | `yes` | The [task(s)](#task) to perform for each item in the collection. | ##### Examples @@ -630,7 +630,7 @@ Allows workflows to execute multiple subtasks concurrently, enabling parallel pr | Name | Type | Required | Description| |:--|:---:|:---:|:---| -| fork.branches | [`map[string, task][]`](#task) | `no` | The tasks to perform concurrently. | +| fork.branches | [`map[string, task]`](#task) | `no` | The tasks to perform concurrently. | | fork.compete | `boolean` | `no` | Indicates whether or not the concurrent [`tasks`](#task) are racing against each other, with a single possible winner, which sets the composite task's output.
*If set to `false`, the task returns an array that includes the outputs from each branch, preserving the order in which the branches are declared.*
*If to `true`, the task returns only the output of the winning branch.*
*Defaults to `false`.* | ##### Examples @@ -1072,7 +1072,7 @@ Serves as a mechanism within workflows to handle errors gracefully, potentially | Name | Type | Required | Description| |:--|:---:|:---:|:---| -| try | [`map[string, task][]`](#task) | `yes` | The task(s) to perform. | +| try | [`map[string, task]`](#task) | `yes` | The task(s) to perform. | | catch | [`catch`](#catch) | `yes` | Configures the errors to catch and how to handle them. | ##### Examples @@ -1120,7 +1120,7 @@ Defines the configuration of a catch clause, which a concept used to catch error | when | `string`| `no` | A runtime expression used to determine whether or not to catch the filtered error. | | exceptWhen | `string` | `no` | A runtime expression used to determine whether or not to catch the filtered error. | | retry | `string`
[`retryPolicy`](#retry) | `no` | The [`retry policy`](#retry) to use, if any, when catching [`errors`](#error).
*If a `string`, must be the name of a [retry policy](#retry) defined in the [workflow's reusable components](#use).* | -| do | [`map[string, task][]`](#task) | `no` | The definition of the task(s) to run when catching an error. | +| do | [`map[string, task]`](#task) | `no` | The definition of the task(s) to run when catching an error. | #### Wait @@ -1877,8 +1877,8 @@ Extensions enable the execution of tasks prior to those they extend, offering th |----------|:----:|:--------:|-------------| | extend | `string` | `yes` | The type of task to extend
Supported values are: `call`, `composite`, `emit`, `extension`, `for`, `listen`, `raise`, `run`, `set`, `switch`, `try`, `wait` and `all` | | when | `string` | `no` | A runtime expression used to determine whether or not the extension should apply in the specified context | -| before | [`map[string, task][]`](#task) | `no` | The task to execute, if any, before the extended task | -| after | [`map[string, task][]`](#task) | `no` | The task to execute, if any, after the extended task | +| before | [`map[string, task]`](#task) | `no` | The task to execute, if any, before the extended task | +| after | [`map[string, task]`](#task) | `no` | The task to execute, if any, after the extended task | #### Examples @@ -2602,7 +2602,7 @@ Configures the iteration over each item (event or message) consumed by a subscri |:-----|:----:|:--------:|:------------| | item | `string` | `no` | The name of the variable used to store the current item being enumerated.
*Defaults to `item`.* | | at | `string` | `no` | The name of the variable used to store the index of the current item being enumerated.
*Defaults to `index`.* | -| do | [`map[string, task][]`](#task) | `no` | The tasks to perform for each consumed item. | +| do | [`map[string, task]`](#task) | `no` | The tasks to perform for each consumed item. | | output | [`output`](#output) | `no` | An object, if any, used to customize the item's output and to document its schema. | | export | [`export`](#export) | `no` | An object, if any, used to customize the content of the workflow context. | From 69d5263861adeaa0c183895cdc0bf7bed751dad4 Mon Sep 17 00:00:00 2001 From: Gilles Barbier Date: Fri, 21 Feb 2025 10:28:45 +0100 Subject: [PATCH 11/15] fix(dsl-reference): clarify flow directive descriptions Signed-off-by: Gilles Barbier --- dsl-reference.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dsl-reference.md b/dsl-reference.md index 4d0c20ed..1b3311c5 100644 --- a/dsl-reference.md +++ b/dsl-reference.md @@ -1150,12 +1150,12 @@ do: Flow Directives are commands within a workflow that dictate its progression. -| Directive | Description | -| --------- | ----------- | +| Directive | Description | +| --------- |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `"continue"` | Instructs the workflow to proceed with the next task in line. This action may conclude the execution of a particular workflow or branch if there are not task defined after the continue one. | -| `"exit"` | Halts the current branch's execution, potentially terminating the entire workflow if the current task resides within the main branch. | -| `"end"` | Provides a graceful conclusion to the workflow execution, signaling its completion explicitly. | -| `string` | Continues the workflow at the task with the specified name | +| `"exit"` | Complete the current scope's execution, potentially terminating the entire workflow if the current task resides within the main `do` scope. | +| `"end"` | Provides a graceful conclusion to the workflow execution, signaling its completion explicitly. | +| `string` | Continues the workflow at the task with the specified name | > [!WARNING] > Flow directives may only redirect to tasks declared within their own scope. In other words, they cannot target tasks at a different depth. From 2a9b0d2dd196ec2967294c742be0e6e9cf72c340 Mon Sep 17 00:00:00 2001 From: Gilles Barbier Date: Fri, 21 Feb 2025 10:35:16 +0100 Subject: [PATCH 12/15] fix(dsl-reference): improve table formatting Signed-off-by: Gilles Barbier --- dsl-reference.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dsl-reference.md b/dsl-reference.md index 1b3311c5..02b39764 100644 --- a/dsl-reference.md +++ b/dsl-reference.md @@ -1150,12 +1150,12 @@ do: Flow Directives are commands within a workflow that dictate its progression. -| Directive | Description | -| --------- |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Directive | Description | +| --------- | ----------- | | `"continue"` | Instructs the workflow to proceed with the next task in line. This action may conclude the execution of a particular workflow or branch if there are not task defined after the continue one. | -| `"exit"` | Complete the current scope's execution, potentially terminating the entire workflow if the current task resides within the main `do` scope. | -| `"end"` | Provides a graceful conclusion to the workflow execution, signaling its completion explicitly. | -| `string` | Continues the workflow at the task with the specified name | +| `"exit"` | Completes the current scope's execution, potentially terminating the entire workflow if the current task resides within the main `do` scope. | +| `"end"` | Provides a graceful conclusion to the workflow execution, signaling its completion explicitly. | +| `string` | Continues the workflow at the task with the specified name. | > [!WARNING] > Flow directives may only redirect to tasks declared within their own scope. In other words, they cannot target tasks at a different depth. From 4cb5996a10afd1e3535bd10c3bb4195f99c329d3 Mon Sep 17 00:00:00 2001 From: Gilles Barbier Date: Fri, 21 Feb 2025 10:28:45 +0100 Subject: [PATCH 13/15] fix(dsl-reference): clarify flow directive descriptions Signed-off-by: Gilles Barbier --- dsl-reference.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dsl-reference.md b/dsl-reference.md index 02b39764..882bd0ab 100644 --- a/dsl-reference.md +++ b/dsl-reference.md @@ -1150,8 +1150,8 @@ do: Flow Directives are commands within a workflow that dictate its progression. -| Directive | Description | -| --------- | ----------- | +| Directive | Description | +| --------- |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `"continue"` | Instructs the workflow to proceed with the next task in line. This action may conclude the execution of a particular workflow or branch if there are not task defined after the continue one. | | `"exit"` | Completes the current scope's execution, potentially terminating the entire workflow if the current task resides within the main `do` scope. | | `"end"` | Provides a graceful conclusion to the workflow execution, signaling its completion explicitly. | From 0d2006b9c1c73d20e7d294d2370c9110e1b1317d Mon Sep 17 00:00:00 2001 From: Gilles Barbier Date: Sat, 22 Feb 2025 10:43:49 +0100 Subject: [PATCH 14/15] fix(dsl-reference): improve table formatting Signed-off-by: Gilles Barbier --- dsl-reference.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dsl-reference.md b/dsl-reference.md index 882bd0ab..02b39764 100644 --- a/dsl-reference.md +++ b/dsl-reference.md @@ -1150,8 +1150,8 @@ do: Flow Directives are commands within a workflow that dictate its progression. -| Directive | Description | -| --------- |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Directive | Description | +| --------- | ----------- | | `"continue"` | Instructs the workflow to proceed with the next task in line. This action may conclude the execution of a particular workflow or branch if there are not task defined after the continue one. | | `"exit"` | Completes the current scope's execution, potentially terminating the entire workflow if the current task resides within the main `do` scope. | | `"end"` | Provides a graceful conclusion to the workflow execution, signaling its completion explicitly. | From 0736f62bd96968c74e6d61b0697999dcb16e71e9 Mon Sep 17 00:00:00 2001 From: Gilles Barbier Date: Sat, 22 Feb 2025 11:16:14 +0100 Subject: [PATCH 15/15] remove again .DS_Store Signed-off-by: Gilles Barbier --- .DS_Store | Bin 8196 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 67369476087ce3a9f0e8f8465fad27be18209b1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHMO>fgc5S>lZ)=|_F@gbE1k|nOCG_6#SxTI+-6bXtHmm&nH*tOeQb?hom2q>zQ zJNyRz0%v{*{1;B}W_Kx$$elT;}Vf*4g3btA`w|=jP)A20^{r4 zrmUpTTmuU5iSAHBhv*N0#*6|+0i%FXz$jo8_!kwxJDbhA;JvS|n%*d26!JOe?^(`&C)5`xH#n?=kr_z?D8NQQY_ z>bQrLBHULGcXx=!7=s%WM){WG&uV^w0;QvzuZ20^k_!b+5iy{2a&4tAzw`Ho>8V!u zvv(SWX@6zqt0@4ImgM+>AU?w+H!j@_-HptBJbze_4dMGxL?1%nZ$iJ zjDwyegnj^*m(Rl3Pll~z5c{d*I_iQ|wW|B|o1@X%{Uy7xzIL``j~b18>o{nvuAZG$ ztsA%RKIrV9MBO-Hfnh>Fg=tw{?a?-MXa|Y3Lz@^E zNL=28cQ(o9=n=K0_YOIYmrk&ahe%3n z=VUCIj#>X1YomOjrJOi rjs3<7B?X-<$APjO2cG}K5Mvvz%xP*IE5sR?`9na;U^=6~Usd1-oQgKF