diff --git a/contributing-docs/30_new_language_sdk.rst b/contributing-docs/30_new_language_sdk.rst index 180a3e6539c0a..80fbe9e4235cb 100644 --- a/contributing-docs/30_new_language_sdk.rst +++ b/contributing-docs/30_new_language_sdk.rst @@ -409,6 +409,11 @@ authored in the target language. An SDK declares each one independently. The SDK can execute a task declared in a Python Dag with the ``@task.stub`` decorator. This is the primary execution path for every Language SDK. +``taskflow-binding`` (MUST) + Arguments bound to a ``@task.stub`` target in the Python TaskFlow Dag — literal values + and upstream XCom results alike — are delivered to the task function's parameters at + runtime. + ``task-logging`` (MUST) The SDK forwards the task's log output — stdout / stderr and any structured log records — to the supervisor over the ``--logs`` socket, so it surfaces in the task diff --git a/go-sdk/README.md b/go-sdk/README.md index a5d619025f644..d4e0172f1e9e0 100644 --- a/go-sdk/README.md +++ b/go-sdk/README.md @@ -302,6 +302,7 @@ prek hook regenerate it. | state: `removed` | MAY | ✓ | 3.3 | | | **Runtime capabilities** | | | | | | capability: `mixed-lang-stub-target` | MUST | ✓ | 3.3 | @task.stub | +| capability: `taskflow-binding` | MUST | ✗ | – | bind @task.stub literal/XCom args to the native handler | | capability: `task-logging` | MUST | ✓ | 3.3 | slog records streamed over the logs socket | | capability: `xcom-read-write` | MUST | ✓ | 3.3 | PushXCom / GetXCom | | capability: `connection-read` | MUST | ✓ | 3.3 | GetConnection | diff --git a/go-sdk/capabilities.yaml b/go-sdk/capabilities.yaml index 94be96e9639dd..a0715aef9edcb 100644 --- a/go-sdk/capabilities.yaml +++ b/go-sdk/capabilities.yaml @@ -59,6 +59,9 @@ capabilities: supported: true since: "3.3" note: "@task.stub" + taskflow-binding: + supported: false + note: "bind @task.stub literal/XCom args to the native handler" task-logging: supported: true since: "3.3" diff --git a/java-sdk/README.md b/java-sdk/README.md index 372426e31dc86..027babb6eedf3 100644 --- a/java-sdk/README.md +++ b/java-sdk/README.md @@ -605,6 +605,7 @@ prek hook regenerate it. | state: `removed` | MAY | ✓ | 3.3 | | | **Runtime capabilities** | | | | | | capability: `mixed-lang-stub-target` | MUST | ✓ | 3.3 | @task.stub | +| capability: `taskflow-binding` | MUST | ✗ | – | bind @task.stub literal/XCom args to the native handler | | capability: `task-logging` | MUST | ✓ | 3.3 | SLF4J + JPL bridged to the task log | | capability: `xcom-read-write` | MUST | ✓ | 3.3 | | | capability: `connection-read` | MUST | ✓ | 3.3 | | diff --git a/java-sdk/capabilities.yaml b/java-sdk/capabilities.yaml index 50dc38c952886..45724e433bda1 100644 --- a/java-sdk/capabilities.yaml +++ b/java-sdk/capabilities.yaml @@ -59,6 +59,9 @@ capabilities: supported: true since: "3.3" note: "@task.stub" + taskflow-binding: + supported: false + note: "bind @task.stub literal/XCom args to the native handler" task-logging: supported: true since: "3.3" diff --git a/java-sdk/sdk/module.md b/java-sdk/sdk/module.md index fd402bb048bcf..9e1c86d895c7a 100644 --- a/java-sdk/sdk/module.md +++ b/java-sdk/sdk/module.md @@ -44,6 +44,7 @@ meaning of each dimension is defined in the | state: `removed` | MAY | ✓ | 3.3 | | | **Runtime capabilities** | | | | | | capability: `mixed-lang-stub-target` | MUST | ✓ | 3.3 | @task.stub | +| capability: `taskflow-binding` | MUST | ✗ | – | bind @task.stub literal/XCom args to the native handler | | capability: `task-logging` | MUST | ✓ | 3.3 | SLF4J + JPL bridged to the task log | | capability: `xcom-read-write` | MUST | ✓ | 3.3 | | | capability: `connection-read` | MUST | ✓ | 3.3 | | diff --git a/scripts/ci/prek/lang_sdk_compat_matrix.py b/scripts/ci/prek/lang_sdk_compat_matrix.py index 9c8dd3ca92ac4..c9003354c5668 100644 --- a/scripts/ci/prek/lang_sdk_compat_matrix.py +++ b/scripts/ci/prek/lang_sdk_compat_matrix.py @@ -77,6 +77,7 @@ class Capability(NamedTuple): # whole Dag in the target language and are gated by NATIVE_DAG_GATE (except the gate itself). CAPABILITY_DIMENSIONS: list[Capability] = [ Capability("mixed-lang-stub-target", "MUST", "runtime", False), + Capability("taskflow-binding", "MUST", "runtime", False), Capability("task-logging", "MUST", "runtime", False), Capability("xcom-read-write", "MUST", "runtime", False), Capability("connection-read", "MUST", "runtime", False), diff --git a/ts-sdk/README.md b/ts-sdk/README.md index c5f6021033712..6e4c44079da40 100644 --- a/ts-sdk/README.md +++ b/ts-sdk/README.md @@ -245,6 +245,7 @@ Do not edit the table by hand. Update the manifest and run the `update-ts-sdk-re | state: `removed` | MAY | ✓ | 3.4 | | | **Runtime capabilities** | | | | | | capability: `mixed-lang-stub-target` | MUST | ✓ | 3.4 | @task.stub | +| capability: `taskflow-binding` | MUST | ✗ | – | bind @task.stub literal/XCom args to the native handler | | capability: `task-logging` | MUST | ✓ | 3.4 | structured records over the log socket | | capability: `xcom-read-write` | MUST | ✓ | 3.4 | getXCom / setXCom | | capability: `connection-read` | MUST | ✓ | 3.4 | getConnection | diff --git a/ts-sdk/capabilities.yaml b/ts-sdk/capabilities.yaml index 4972a07fa1188..65482fc8f4bb8 100644 --- a/ts-sdk/capabilities.yaml +++ b/ts-sdk/capabilities.yaml @@ -59,6 +59,9 @@ capabilities: supported: true since: "3.4" note: "@task.stub" + taskflow-binding: + supported: false + note: "bind @task.stub literal/XCom args to the native handler" task-logging: supported: true since: "3.4"