jason810496 opened a new pull request, #73445: URL: https://github.com/apache/airflow/pull/73445
# TS SDK: add triggerDagRun to the native Dag surface - **Depends on the PR for `feature/ts-sdk/multi-way-branching` getting merged first** (only the last commit is new here). - **Diff for early review**: https://github.com/jason810496/airflow/compare/feature/ts-sdk/multi-way-branching...feature/ts-sdk/trigger-dag-run - **next**: `feature/ts-sdk/native-dag-e2e-tests` ## Why Triggering another Dag's run is the fourth construct a native Dag needs, and it is the one that wraps no TypeScript function. ## How - `triggerDagRun(spec)` is DSL, not a method on the Dag: it carries no body, so it is the hand-written member of the generated-operator family described in `airflow-core/adr/lang-sdk/0009-provider-operators-as-generated-dsl.md`. - It serializes as `TriggerDagRunOperator` and runs on a **Python** worker, which is why the SDK needs no deferral mechanism of its own to offer `waitForCompletion`, `deferrable` and `pokeInterval`. - Because it runs in Python it carries no TypeScript marker and inherits no queue from the SDK, so a Python worker can pick it up. ## What - `src/sdk/operators.ts` with `OperatorRef` and `triggerDagRun`, renaming each option to the keyword the Python constructor declares and rejecting one it does not. - `dag.task` accepts an operator in the handler position, on both the Dag and a task group. - Templated arguments pass through untouched; rendering stays server-side. --- ##### Was generative AI tooling used to co-author this PR? - [x] Yes, with help of Claude Code Opus 5 following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) -- 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]
