jason810496 opened a new issue, #71063: URL: https://github.com/apache/airflow/issues/71063
### Background A TypeScript task's return value cannot currently feed a downstream `.expand()`. The Python task runner handles this in `_push_xcom_if_needed`, but a foreign runtime cannot inspect the Dag to learn its output has mapped dependants. https://github.com/apache/airflow/pull/70571 introduces the server-derived `TIRunContext.has_mapped_dependants` flag; when set, the supervisor records `mapped_length = len(value)` on the return-value `SetXCom` on the task's behalf. ### What needs to happen 1. Verify the supervisor-side recording from https://github.com/apache/airflow/pull/70571 applies to the `NodeCoordinator` path unchanged (it should, being supervisor-side rather than runtime-side). 2. Surface `hasMappedDependants` on the TypeScript `TaskContext` where useful to handler authors, following the existing camelCase mapping convention. 3. Cover the flow end to end: a TypeScript `@task.stub` returning an array, with a downstream Python `.expand()` over it. ### Acceptance criteria - A TypeScript stub task whose return value feeds a downstream `.expand()` causes those dependants to expand to the array's length. - A TypeScript task with no mapped dependants records no `mapped_length` (no behaviour change). - The camelCase to snake_case mapping for the new field is covered by the existing schema-mapping test suite. ### Context - Depends on https://github.com/apache/airflow/pull/70570 and https://github.com/apache/airflow/pull/70571 - Schema-mapping test suite: https://github.com/apache/airflow/pull/69297 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
