This is an automated email from the ASF dual-hosted git repository.
dependabot[bot] pushed a change to branch
dependabot/npm_and_yarn/airflow-core/src/airflow/ui/i18next-27.0.1
in repository https://gitbox.apache.org/repos/asf/airflow.git
omit 4041e860fb4 Bump i18next from 26.7.2 to 27.0.1 in
/airflow-core/src/airflow/ui
add 646b92b8b9b Re-anchor custom queued deadline references when a Dag run
is cleared (#71850)
add 1f407b62dcb Restore clearing `ExternalTaskMarker` targets in other
Dags (#75874)
add 4a059ea539b Stop ObjectStorage journal write failures from failing
durable tasks (#75916)
add 7b163446c17 Link asset events emitted in a task loop to their
iteration (#76840)
add 29096e46255 Speed up PROD image stashes and restores with zstd (#76279)
add 83b140fbcc6 Apply Gantt date filters to mapped tasks and task groups
(#75725)
add 37a7713bde4 Fix outdated Python and Kubernetes versions in README
table (#76936)
add 34c96509ebc Move agent-assisted contribution docs out of the main
README (#76951)
add 3647e3c7e17 i18n(ko): add missing translaction in common.json (Nov 11)
(#76920)
add b4d1f1c22be Support durable execution in SageMakerTrainingOperator
(#76036)
add 54970db82f1 Reject reserved loop keys when deleting an XCom (#76892)
add b2d58334144 Regenerate skill-eval hash after AGENTS.md link update
(#76960)
add 426357062fb Prevent Databricks task failure after successful repair
(#76904)
add 9a02819b4e4 Fix AwsEksExecutor dying with a 401 after its credentials
rotate (#76332)
add 2448be40082 Make common.ai tool_prefix and output_type signatures
consistent (#74695)
add c43ff0fc1dd Make durable flag reach default_args in
PowerBIDatasetRefreshOperator (#76793)
add 509124275f4 Clamp negative offset in mapped XCom slice queries (#75015)
add 020428773e7 Remove duplicate GroupCommandParser type from airflowctl
CLI (#76345)
add 30f51ff2d4b Apply the configured XCom backend to language SDK task
XComs (#75184)
add e024d4c15a5 Fix TimeSensor test failing when host time zone is ahead
of UTC (#76901)
add 29331a83256 Add Innogando to INTHEWILD.md (#76906)
add 992321d1cd2 Fix durable agent retries replaying the same failing tool
call on every attempt (#76862)
add 36230cf39e9 Reduce task state store calls made by durable agent tasks
(#76863)
add 02fb985e3c1 Let durable agent tasks run chosen tools on every attempt
instead of replaying them (#76864)
add 0a65e225207 Let durable agent tasks use toolsets without an id (#76877)
add e17cecaabbb Block merging on fork CI once a PR is moved to project CI
(#76672)
add 1eb0dcc87c1 Bump the core-ui-package-updates group across 1 directory
with 5 updates (#76945)
add 2becf0f4aa0 Bump the oxc group across 1 directory with 2 updates
(#76941)
add 38c11037bc1 Take the Postgres migration lock without a bound parameter
(#76976)
add 6c2e7b36460 Fail the attempt when `SQLToolset` cannot reach its
database (#76783)
add e99f9af45a8 Add iter_paginated_run to KiotaRequestAdapterHook (#75649)
add f9dca510f9f Fix global env vars shadowing team secrets in tasks and
triggers (#75998)
add 7dfc57945e8 Let plugin tabs show their icon beside the label (#76842)
add ed918278f2f Use READ COMMITTED for async MySQL metadata sessions
(#76694)
add a67d43f2baf Fix SSHHookAsync deadlock on the extra and compress like
SSHHook (#76528)
add 1c870b3478d Fix XComs of task-end trigger events being JSON-encoded
twice (#76596)
add c6a4acf8cde Fix multi-line secrets leaking in logs formatted with
pprint (#75651)
add c03cb844cb6 Update providers metadata 2026-11-12 (#76988)
add 0bc9e82ed25 Delete the CloudWatch log group left by
example_mwaa_serverless (#76810)
add 2617656daf5 Explain which Gradle to use when verifying a Java SDK
release (#77004)
add 2bf98e865e4 Fix wrong claims and a broken link in providers release
docs (#76993)
add e227cf56078 Show the same Dag in each language SDK in tabs (#77002)
add 162f629a01e Fix task state lookup for mapped tasks in Google triggers
(#76895)
add e74e2584cab Let MSGraphAsyncOperator and MSGraphSensor start from the
triggerer (#53009)
add d31dfb83a9c Fix runner labels for the Language SDK XCom object storage
e2e tests (#76994)
add f38e935ff34 Stop loading the CI image and cloning airflow-site to
publish docs (#75937)
add ea7677ed172 Fix an issue with getting dataflow_job_id for Dataflow
Runner when logging is disabled in Pipeline (#72809)
add baac5581c6c Stop creating AWS clients when importing the docs
publisher (#76658)
add f8c7ead5b4a Task SDK: send error response on IPC decode failure
(#76555)
add a81cfb7ac98 Fix failing __doc__ usage in case of PYTHONOPTIMIZE=2
(#77013)
add c26585893f0 Bump openlineage libraries to 1.55 in openlineage provider
(#77031)
add ef71095a5b0 Remove rawwar from API code owners (#77048)
add f2fc5fc95ef Bump the oxc group across 1 directory with 2 updates
(#77034)
add cd58133d136 Bump vite from 8.3.6 to 8.3.7 in
/dev/react-plugin-tools/react_plugin_template (#77035)
add 0536891ff3d Bump the auth-ui-package-updates group across 1 directory
with 3 updates (#77036)
add 7b6c0f3e2c3 Bump the ts-sdk-package-updates group across 1 directory
with 3 updates (#77038)
add 260ddd00026 Bump the edge-ui-package-updates group across 1 directory
with 6 updates (#77039)
add de88871105e Fill gaps in the Java SDK post-vote release steps (#77018)
add 7ba7e7ad6f0 Keep Breeze shim warning tests independent of the terminal
width (#76587)
add 4b78d37e164 Bump the core-ui-package-updates group across 1 directory
with 6 updates (#77045)
add 1654207dc04 Bump i18next from 26.7.2 to 27.1.0 in
/airflow-core/src/airflow/ui
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (4041e860fb4)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/airflow-core/src/airflow/ui/i18next-27.0.1
(1654207dc04)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/CODEOWNERS | 4 +-
.github/workflows/additional-prod-image-tests.yml | 19 +
.github/workflows/airflow-e2e-tests.yml | 28 +-
.github/workflows/ci-amd.yml | 2 +
.github/workflows/ci-arm.yml | 2 +
.github/workflows/ci-image-checks.yml | 18 +-
.github/workflows/prod-image-build.yml | 10 +-
.../scheduled-legacy-prod-image-canary.yml | 2 +
AGENTS.md | 4 +-
INTHEWILD.md | 1 +
README.md | 60 +-
.../docs/administration-and-deployment/plugins.rst | 12 +
.../language-sdks/index.rst | 247 ++++++-
airflow-core/docs/core-concepts/xcoms.rst | 2 +
.../security/secrets/mask-sensitive-values.rst | 11 +
airflow-core/newsfragments/71850.bugfix.rst | 1 +
airflow-core/newsfragments/75874.significant.rst | 17 +
.../auth/managers/simple/ui/package.json | 6 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 221 +++---
.../src/airflow/api_fastapi/common/db/dag_runs.py | 9 +
.../src/airflow/api_fastapi/common}/xcom.py | 27 +-
.../api_fastapi/core_api/datamodels/assets.py | 8 +
.../api_fastapi/core_api/datamodels/plugins.py | 3 +
.../core_api/datamodels/task_instances.py | 6 +
.../api_fastapi/core_api/openapi/_private_ui.yaml | 72 ++
.../core_api/openapi/v2-rest-api-generated.yaml | 35 +-
.../api_fastapi/core_api/routes/public/assets.py | 4 +-
.../api_fastapi/core_api/routes/public/dag_run.py | 4 +-
.../core_api/routes/public/task_instances.py | 46 +-
.../api_fastapi/core_api/routes/public/xcom.py | 29 +-
.../api_fastapi/core_api/routes/ui/gantt.py | 14 +-
.../airflow/api_fastapi/core_api/routes/ui/grid.py | 81 ++-
.../api_fastapi/core_api/services/public/assets.py | 12 +-
.../core_api/services/public/task_instances.py | 341 ++++++++-
.../execution_api/datamodels/taskinstance.py | 12 +
.../execution_api/routes/task_instances.py | 30 +-
.../api_fastapi/execution_api/routes/xcoms.py | 13 +-
.../api_fastapi/execution_api/versions/__init__.py | 2 +
.../execution_api/versions/v2026_10_30.py | 2 +-
.../execution_api/versions/v2027_02_28.py | 12 +-
.../src/airflow/jobs/triggerer_job_runner.py | 3 +-
airflow-core/src/airflow/models/deadline.py | 9 +
airflow-core/src/airflow/models/serialized_dag.py | 44 +-
airflow-core/src/airflow/models/taskinstance.py | 38 +-
airflow-core/src/airflow/models/trigger.py | 10 +-
airflow-core/src/airflow/models/xcom.py | 7 +
.../serialization/definitions/baseoperator.py | 6 +
.../src/airflow/serialization/definitions/dag.py | 25 +-
.../airflow/serialization/definitions/deadline.py | 12 +-
.../serialization/definitions/mappedoperator.py | 8 +
airflow-core/src/airflow/serialization/encoders.py | 5 +
.../airflow/serialization/serialized_objects.py | 12 +-
airflow-core/src/airflow/settings.py | 24 +-
.../src/airflow/ui/openapi-gen/queries/common.ts | 12 +-
.../ui/openapi-gen/queries/ensureQueryData.ts | 22 +-
.../src/airflow/ui/openapi-gen/queries/prefetch.ts | 22 +-
.../src/airflow/ui/openapi-gen/queries/queries.ts | 22 +-
.../src/airflow/ui/openapi-gen/queries/suspense.ts | 22 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 59 ++
.../ui/openapi-gen/requests/services.gen.ts | 20 +-
.../airflow/ui/openapi-gen/requests/types.gen.ts | 18 +-
airflow-core/src/airflow/ui/package.json | 26 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 750 ++++++++++----------
.../airflow/ui/public/i18n/locales/en/dags.json | 1 +
.../airflow/ui/public/i18n/locales/ko/common.json | 2 +
.../components/ActionAccordion/ActionAccordion.tsx | 9 +-
.../ui/src/components/ActionAccordion/columns.tsx | 18 +-
.../ui/src/components/Assets/AssetEvent.test.tsx | 33 +
.../ui/src/components/Assets/AssetEvent.tsx | 11 +-
.../TaskInstance/ClearGroupTaskInstanceDialog.tsx | 11 +
.../ClearTaskInstanceDialog.dependentDags.test.tsx | 137 ++++
.../Clear/TaskInstance/ClearTaskInstanceDialog.tsx | 11 +
.../airflow/ui/src/hooks/usePluginTabs.test.tsx | 39 +-
.../src/airflow/ui/src/hooks/usePluginTabs.tsx | 3 +
.../ui/src/layouts/Details/Gantt/Gantt.test.tsx | 19 +-
.../airflow/ui/src/layouts/Details/Gantt/Gantt.tsx | 4 +
.../ui/src/layouts/Details/NavTabs.test.tsx | 32 +-
.../src/airflow/ui/src/layouts/Details/NavTabs.tsx | 43 +-
.../ui/src/queries/useGridTISummaries.test.tsx | 72 ++
.../airflow/ui/src/queries/useGridTISummaries.ts | 25 +-
airflow-core/src/airflow/ui/src/utils/links.ts | 16 +-
airflow-core/src/airflow/utils/db.py | 16 +-
.../core_api/routes/public/test_assets.py | 61 +-
.../core_api/routes/public/test_dag_run.py | 2 +
.../core_api/routes/public/test_plugins.py | 3 +
.../core_api/routes/public/test_task_instances.py | 169 ++++-
.../core_api/routes/public/test_xcom.py | 21 +-
.../api_fastapi/core_api/routes/ui/test_grid.py | 245 +++++++
.../services/public/test_task_instances.py | 361 +++++++++-
.../versions/head/test_task_instances.py | 57 +-
.../execution_api/versions/head/test_xcoms.py | 45 +-
.../execution_api/versions/test_v2026_10_30.py | 16 +-
airflow-core/tests/unit/core/test_settings.py | 12 +
airflow-core/tests/unit/jobs/test_triggerer_job.py | 15 +
airflow-core/tests/unit/models/test_deadline.py | 13 +-
.../tests/unit/models/test_deadline_alert.py | 57 +-
.../tests/unit/models/test_serialized_dag.py | 64 +-
.../tests/unit/models/test_taskinstance.py | 167 ++++-
airflow-core/tests/unit/models/test_trigger.py | 9 +-
airflow-core/tests/unit/utils/test_db.py | 22 +-
.../src/airflowctl/api/datamodels/generated.py | 11 +
airflow-ctl/src/airflowctl/ctl/cli_config.py | 25 +-
airflow-ctl/src/airflowctl/ctl/cli_parser.py | 18 +-
...ml-dag.yml => lang-sdk-xcom-object-storage.yml} | 24 +-
.../tests/airflow_e2e_tests/conftest.py | 178 +++--
.../tests/airflow_e2e_tests/constants.py | 5 +
.../__init__.py | 0
.../test_lang_sdk_xcom_backend.py | 291 ++++++++
contributing-docs/25_maintainer_pr_triage.md | 10 +-
contributing-docs/30_new_language_sdk.rst | 5 +
.../33_agent_assisted_contribution.md | 59 ++
contributing-docs/README.rst | 3 +
dev/README_RELEASE_PROVIDERS.md | 21 +-
dev/breeze/doc/09_release_management_tasks.rst | 14 +-
dev/breeze/doc/ci/04_selective_checks.md | 11 +
.../doc/ci/08_fork_ci_for_external_contributors.md | 73 +-
.../images/output_testing_airflow-e2e-tests.svg | 32 +-
.../images/output_testing_airflow-e2e-tests.txt | 2 +-
.../airflow_breeze/commands/testing_commands.py | 1 +
.../src/airflow_breeze/utils/fork_ci_messages.py | 3 +
.../src/airflow_breeze/utils/fork_ci_reconcile.py | 363 +++++++++-
.../src/airflow_breeze/utils/publish_docs_to_s3.py | 28 +-
.../src/airflow_breeze/utils/selective_checks.py | 17 +
.../src/airflow_breeze/utils/verification_plan.py | 1 +
dev/breeze/tests/test_fork_ci_reconcile.py | 763 +++++++++++++++++++++
dev/breeze/tests/test_publish_docs_to_s3.py | 9 +
dev/breeze/tests/test_selective_checks.py | 64 ++
dev/breeze/tests/test_shim_version_check.py | 11 +
.../react_plugin_template/package.json | 2 +-
.../react_plugin_template/pnpm-lock.yaml | 177 ++---
dev/skill-evals/last-eval-hash.txt | 2 +-
.../test_utils/operators/run_deferrable.py | 32 +-
generated/PYPI_README.md | 18 +-
generated/provider_metadata.json | 4 +
go-sdk/README.md | 1 +
go-sdk/capabilities.yaml | 5 +
go-sdk/pkg/execution/genmodels/models.gen.go | 83 ++-
go-sdk/schema/supervisor-schema.json | 48 +-
java-sdk/DEVELOPMENT.md | 142 +++-
java-sdk/README.md | 3 +-
java-sdk/capabilities.yaml | 9 +-
java-sdk/gradle.properties | 2 +-
java-sdk/sdk/module.md | 3 +-
java-sdk/sdk/schema/schema.json | 168 ++++-
providers/amazon/docs/changelog.rst | 9 +
providers/amazon/docs/executors/eks-executor.rst | 5 +
.../amazon/aws/executors/eks/_client_factory.py | 94 ++-
.../providers/amazon/aws/hooks/sagemaker.py | 36 +-
.../providers/amazon/aws/operators/sagemaker.py | 188 +++--
.../system/amazon/aws/example_mwaa_serverless.py | 19 +-
.../aws/executors/eks/test__client_factory.py | 232 ++++++-
.../aws/operators/test_sagemaker_training.py | 228 +++++-
.../airflow/providers/apache/beam/hooks/beam.py | 30 +-
.../providers/apache/beam/operators/beam.py | 65 +-
.../beam/tests/unit/apache/beam/hooks/test_beam.py | 108 ++-
.../tests/unit/apache/beam/operators/test_beam.py | 135 +++-
providers/common/ai/README.rst | 12 +-
providers/common/ai/docs/capabilities.rst | 8 +-
providers/common/ai/docs/changelog.rst | 36 +
providers/common/ai/docs/code_mode.rst | 3 +
providers/common/ai/docs/concepts.rst | 2 +-
providers/common/ai/docs/decision_models.rst | 7 +-
providers/common/ai/docs/durable_execution.rst | 186 ++++-
providers/common/ai/docs/features.rst | 3 +-
.../common/ai/docs/frameworks/openai_agents.rst | 3 +
providers/common/ai/docs/index.rst | 12 +-
providers/common/ai/docs/operators/agent.rst | 22 +-
providers/common/ai/docs/operators/llm.rst | 1 +
.../common/ai/docs/operators/llm_file_analysis.rst | 13 +-
providers/common/ai/docs/stability.rst | 11 +-
providers/common/ai/docs/structured_output.rst | 48 +-
providers/common/ai/docs/toolsets/datafusion.rst | 3 +
providers/common/ai/docs/toolsets/index.rst | 11 +-
providers/common/ai/docs/toolsets/mcp.rst | 4 +-
providers/common/ai/docs/toolsets/sql.rst | 49 +-
providers/common/ai/docs/troubleshooting.rst | 32 +-
providers/common/ai/pyproject.toml | 21 +-
.../airflow/providers/common/ai/decorators/llm.py | 3 +-
.../airflow/providers/common/ai/durable/base.py | 3 +
.../providers/common/ai/durable/capability.py | 211 +++++-
.../providers/common/ai/durable/fingerprint.py | 25 +-
.../airflow/providers/common/ai/durable/journal.py | 297 ++++++--
.../providers/common/ai/durable/openai_agents.py | 11 +-
.../airflow/providers/common/ai/durable/storage.py | 28 +-
.../ai/example_dags/example_agent_durable.py | 75 +-
.../src/airflow/providers/common/ai/exceptions.py | 23 +
.../src/airflow/providers/common/ai/hooks/mcp.py | 4 +-
.../airflow/providers/common/ai/operators/agent.py | 172 +++--
.../airflow/providers/common/ai/operators/llm.py | 37 +-
.../common/ai/operators/llm_file_analysis.py | 10 +-
.../providers/common/ai/toolsets/datafusion.py | 33 +-
.../airflow/providers/common/ai/toolsets/hook.py | 6 +-
.../airflow/providers/common/ai/toolsets/mcp.py | 6 +-
.../providers/common/ai/toolsets/object_storage.py | 17 +-
.../providers/common/ai/toolsets/sandbox.py | 24 +-
.../airflow/providers/common/ai/toolsets/sql.py | 134 +++-
.../providers/common/ai/utils/output_type.py | 81 ++-
.../providers/common/ai/utils/query_results.py | 20 +-
.../providers/common/ai/utils/tool_prefix.py | 56 ++
.../tests/unit/common/ai/durable/memory_storage.py | 24 +-
.../unit/common/ai/durable/test_capability.py | 575 +++++++++++++++-
.../unit/common/ai/durable/test_fingerprint.py | 18 +-
.../tests/unit/common/ai/durable/test_journal.py | 458 ++++++++++++-
.../tests/unit/common/ai/durable/test_storage.py | 73 ++
.../ai/tests/unit/common/ai/hooks/test_mcp.py | 18 +
.../tests/unit/common/ai/operators/test_agent.py | 226 +++++-
.../ai/tests/unit/common/ai/operators/test_llm.py | 78 ++-
.../common/ai/operators/test_llm_file_analysis.py | 28 +
.../ai/tests/unit/common/ai/sqlite_connection.py | 85 +++
.../unit/common/ai/tools/test__from_toolset.py | 18 +-
.../unit/common/ai/toolsets/test_datafusion.py | 90 +++
.../ai/tests/unit/common/ai/toolsets/test_mcp.py | 9 +-
.../unit/common/ai/toolsets/test_object_storage.py | 13 +-
.../tests/unit/common/ai/toolsets/test_sandbox.py | 3 +
.../ai/tests/unit/common/ai/toolsets/test_sql.py | 304 +++++++-
.../tests/unit/common/ai/utils/test_output_type.py | 343 ++++++++-
.../unit/common/ai/utils/test_query_results.py | 27 +
.../tests/unit/common/ai/utils/test_tool_prefix.py | 78 +++
.../providers/databricks/operators/databricks.py | 1 +
.../unit/databricks/operators/test_databricks.py | 16 +
.../edge3/example_dags/integration_test.py | 2 +-
.../providers/edge3/example_dags/win_test.py | 2 +-
.../providers/edge3/plugins/www/package.json | 12 +-
.../providers/edge3/plugins/www/pnpm-lock.yaml | 297 ++++----
.../providers/google/cloud/hooks/dataflow.py | 54 +-
.../providers/google/cloud/triggers/bigquery.py | 4 +-
.../providers/google/cloud/triggers/dataproc.py | 12 +-
.../tests/unit/google/cloud/hooks/test_dataflow.py | 111 +++
.../unit/google/cloud/triggers/test_bigquery.py | 24 +-
.../unit/google/cloud/triggers/test_dataproc.py | 60 ++
.../microsoft/azure/docs/operators/msgraph.rst | 35 +
providers/microsoft/azure/docs/sensors/msgraph.rst | 19 +
.../providers/microsoft/azure/hooks/msgraph.py | 120 ++--
.../providers/microsoft/azure/operators/msgraph.py | 102 ++-
.../providers/microsoft/azure/operators/powerbi.py | 5 +
.../providers/microsoft/azure/sensors/msgraph.py | 67 +-
.../providers/microsoft/azure/triggers/msgraph.py | 14 +
.../providers/microsoft/azure/version_compat.py | 2 +
.../unit/microsoft/azure/hooks/test_msgraph.py | 148 ++++
.../unit/microsoft/azure/operators/test_msgraph.py | 287 +++++++-
.../unit/microsoft/azure/operators/test_powerbi.py | 34 +-
.../unit/microsoft/azure/sensors/test_msgraph.py | 201 +++++-
.../unit/microsoft/azure/triggers/test_msgraph.py | 14 +
providers/openlineage/README.rst | 4 +-
providers/openlineage/docs/index.rst | 4 +-
providers/openlineage/pyproject.toml | 4 +-
providers/ssh/README.rst | 2 +-
providers/ssh/docs/connections/ssh.rst | 1 +
providers/ssh/docs/index.rst | 2 +-
providers/ssh/docs/operators/ssh_remote_job.rst | 5 +
providers/ssh/pyproject.toml | 4 +-
.../ssh/src/airflow/providers/ssh/hooks/ssh.py | 22 +-
.../ssh/tests/unit/ssh/hooks/test_ssh_async.py | 117 ++--
.../providers/standard/sensors/external_task.py | 90 ++-
.../unit/standard/sensors/test_external_task.py | 169 ++++-
.../tests/unit/standard/sensors/test_time.py | 2 +-
scripts/ci/prek/lang_sdk_compat_matrix.py | 1 +
.../plugins_manager/plugins_manager.py | 1 +
.../secrets_masker/secrets_masker.py | 6 +
.../tests/secrets_masker/test_secrets_masker.py | 51 ++
task-sdk/docs/api.rst | 10 +
task-sdk/src/airflow/sdk/__init__.py | 3 +
task-sdk/src/airflow/sdk/__init__.pyi | 2 +
task-sdk/src/airflow/sdk/api/client.py | 3 +
.../src/airflow/sdk/api/datamodels/_generated.py | 15 +
task-sdk/src/airflow/sdk/bases/xcom.py | 50 +-
.../src/airflow/sdk/coordinators/_subprocess.py | 351 +++++++++-
.../src/airflow/sdk/coordinators/_xcom_backend.py | 357 ++++++++++
task-sdk/src/airflow/sdk/definitions/deadline.py | 15 +
.../src/airflow/sdk/definitions/external_clear.py | 96 +++
.../src/airflow/sdk/definitions/mappedoperator.py | 9 +-
task-sdk/src/airflow/sdk/exceptions.py | 1 +
task-sdk/src/airflow/sdk/execution_time/comms.py | 19 +
task-sdk/src/airflow/sdk/execution_time/context.py | 80 ++-
.../airflow/sdk/execution_time/schema/schema.json | 48 +-
.../sdk/execution_time/schema/versions/__init__.py | 4 +
.../execution_time/schema/versions/v2027_02_28.py | 44 +-
.../src/airflow/sdk/execution_time/supervisor.py | 42 +-
.../src/airflow/sdk/execution_time/task_runner.py | 53 +-
task-sdk/tests/task_sdk/api/test_client.py | 27 +
task-sdk/tests/task_sdk/bases/test_xcom.py | 17 +-
.../tests/task_sdk/coordinators/test_subprocess.py | 710 ++++++++++++++++++-
.../task_sdk/coordinators/test_xcom_backend.py | 464 +++++++++++++
.../tests/task_sdk/definitions/test_connection.py | 2 +-
.../task_sdk/definitions/test_mappedoperator.py | 37 +
.../tests/task_sdk/definitions/test_variables.py | 2 +-
.../execution_time/schema/test_migrator.py | 26 +
.../tests/task_sdk/execution_time/test_comms.py | 13 +
.../tests/task_sdk/execution_time/test_context.py | 58 ++
.../task_sdk/execution_time/test_context_cache.py | 16 +-
.../task_sdk/execution_time/test_supervisor.py | 63 +-
.../task_sdk/execution_time/test_task_runner.py | 137 +++-
ts-sdk/README.md | 1 +
ts-sdk/capabilities.yaml | 5 +
ts-sdk/pnpm-lock.yaml | 223 +++---
ts-sdk/schema/supervisor-schema.json | 48 +-
ts-sdk/src/generated/supervisor.ts | 131 ++--
uv.lock | 20 +-
298 files changed, 15617 insertions(+), 2280 deletions(-)
create mode 100644 airflow-core/newsfragments/71850.bugfix.rst
create mode 100644 airflow-core/newsfragments/75874.significant.rst
copy {task-sdk/src/airflow/sdk/execution_time =>
airflow-core/src/airflow/api_fastapi/common}/xcom.py (59%)
create mode 100644
airflow-core/src/airflow/ui/src/components/Clear/TaskInstance/ClearTaskInstanceDialog.dependentDags.test.tsx
copy dev/breeze/src/airflow_breeze/utils/helm_chart_utils.py =>
airflow-core/tests/unit/api_fastapi/execution_api/versions/test_v2026_10_30.py
(63%)
copy airflow-e2e-tests/docker/{yaml-dag.yml =>
lang-sdk-xcom-object-storage.yml} (52%)
copy {airflow-core/src/airflow/_shared =>
airflow-e2e-tests/tests/airflow_e2e_tests/lang_sdk_xcom_object_storage_tests}/__init__.py
(100%)
create mode 100644
airflow-e2e-tests/tests/airflow_e2e_tests/lang_sdk_xcom_object_storage_tests/test_lang_sdk_xcom_backend.py
create mode 100644 contributing-docs/33_agent_assisted_contribution.md
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/utils/tool_prefix.py
create mode 100644
providers/common/ai/tests/unit/common/ai/sqlite_connection.py
create mode 100644
providers/common/ai/tests/unit/common/ai/utils/test_tool_prefix.py
create mode 100644 task-sdk/src/airflow/sdk/coordinators/_xcom_backend.py
create mode 100644 task-sdk/src/airflow/sdk/definitions/external_clear.py
create mode 100644 task-sdk/tests/task_sdk/coordinators/test_xcom_backend.py