This is an automated email from the ASF dual-hosted git repository.

jason810496 pushed a change to branch jason/lang-sdk-e2e/08-native-e2e
in repository https://gitbox.apache.org/repos/asf/airflow.git


 discard 00fac11412f Build the k8s TypeScript artifacts only for the native Dag 
test
 discard 3d8465e33c9 Share the Dag run lookup and the native Java queue name
 discard b49469107b6 Run the Lang-SDK e2e jobs when native Dag parsing changes
 discard af562880284 Add a native Java Dag to the compose e2e
 discard 8f64ad71d45 Keep the containerized Java build's Maven repository on 
the host
 discard 632265c2085 Check the native TypeScript Dag's source and triggered run
 discard 056dbb89af8 Parse the native TypeScript Dag in the compose e2e
 discard 57e72d13a9a TS SDK: cover native TypeScript Dags end to end
 discard e2459c7e806 Java SDK: Serialize native Dags to DagSerialization v3 on 
parse requests
 discard 5e767ec3a09 Java SDK: Declare a Dag's task graph with @Builder.Deps
 discard 0c6a19ca5c6 Java SDK: Resolve a task's arguments from the Dag's own 
wiring
 discard e5d7124a9e5 TS SDK: add triggerDagRun to the native Dag surface
 discard f9907de04ce TS SDK: add multi-way branching with dag.switch
 discard f20f382d044 TS SDK: add conditional branching with dag.if
 discard 15365809ce2 TS SDK: answer the Dag-parsing request from bundle.serve
 discard 19e9f3b843e TS SDK: serialize a native Dag to Dag JSON
 discard a8c1db7480a Share the bundle section mutation helper between Node tests
 discard 322b0e62cd5 Document parsing native TypeScript Dags
 discard ab6448c8290 Parse native TypeScript Dags with the Node coordinator
 discard ca832b6e25a Name the JAR manifest attributes the Java coordinator reads
 discard 6afda810183 Test the Java Dag source placeholder for a JAR without a 
manifest
 discard f44641cc91d Treat an unreadable JAR like one without a manifest
 discard 5da6eab3c7e Document native Java Dag parsing
 discard 60815b2cbce Parse native Java Dags with their coordinator
 discard 821f5d55956 Embed the Dag source in Java bundle JARs
 discard 764287287e0 Build the JVM command that parses a Dag JAR
 discard bb4cb07e6e3 Read JAR manifests per the JAR specification
 discard ec6f22e8703 Report a native Dag's task that reaches a Python worker
 discard cb9baf88ff2 Report a Lang-SDK parse past its import timeout as an 
import error
 discard 789dc068497 Fill a native Dag's unset settings from the Airflow config
 discard 2c60447b730 Parse coordinator-claimed Dag files with their runtime
 discard e131f891ef3 Move the Dag file processor's shared plumbing into a base 
class
 discard 7a1fcaa17a9 Check that a serialized Dag can be stored and loaded
 discard 81f19b6f8e2 Let a coordinator parse the Dag files of the bundles it 
serves
 discard e14a5841015 Share Dag cycle detection between the Task SDK and core
 discard 57c9a34141c Harden claimed-file discovery errors and archive importers
 discard 53a4447965d Tidy the importer routing helpers and their tests
 discard b01e97995a2 Keep claimed files queued when their importer cannot list 
them
 discard f48fbb795a6 Claim Dag files by extension and keep .py, .pyc and .zip 
legacy
 discard a9af8a9b209 Read a claimed file's Dag source through its importer
 discard f8ac157c155 Queue and track files that a Task SDK importer claims
 discard 0fdb0f9da61 Parse files that a Task SDK importer claims
     add 8e36d6d6efd Show whether a calendar day's run was a backfill (#72782)
     add 6317c63ae16 Go SDK: generate DagSpec and TaskSpec from the 
serialization schema (#73936)
     add f306f1848f6 Refresh HITL review details on task clear (#73235)
     add 4fd2c9aabf2 Mark lineage hashes as non-security (#70999)
     add f7a27633741 Fix typo in apache-airflow-providers-fab error message 
(#73956)
     add 8d4ab8a94db Keep OpenAPI error responses in sync with the statuses 
routes raise (#71647)
     add 0b6c38502ab Add runtime DagRun note updates (#69403)
     add ba89738639c Fix short-circuit not skipping already expanded mapped 
tasks (#73960)
     add 16f974f6a35 Run the `common.ai` agent framework adapter tests in CI 
(#73912)
     add e364ee76483 Keep agent framework spans when worker tracing is off 
(#73903)
     add 2e803e58997 Add key-pair JWT authentication to Snowflake Cortex Agent 
hook (#73815)
     add e92147c12aa UI: Add a time-window scope to the Dags list run state 
filter (#70470)
     add 63a5966473b Check PyPI history before a new provider's first release 
(#73887)
     add ede78e095b6 Add embedding kwargs to common AI hooks and operators 
(#72002)
     add 64943ba6dbb Fix `run_duration` calculation in airflow dags test by 
decoupling start_date (#68837)
     add 9e67831f2bb Allow filtering the Dag runs list by Dag tags (#70861)
     add e22c9d02b2e Add Has Events filter to Assets search (#72460)
     add f31b572df18 Fix airflowctl commands crashing instead of printing their 
result (#72675)
     add 1559dae90ab UI: Use TeamName component for all team name displays 
(#73910)
     add 489316fbc72 Migrate execution API reads to async sessions (#73403)
     add a8e95debbc6 Fix flaky AgentOperator durable usage budget tests (#73996)
     add e33e45fe67a Add `AssetAndTimeSchedule` timetable (#58543)
     add a91216d5ea9 TS SDK: serialize a native Dag to Dag JSON (#73441)
     add 884e687ea77 Fix short-circuit inside a mapped task group not skipping 
downstream (#73959)
     add 3f19c146545 Go SDK: declare data edges with airflow.Inputs (#73895)
     add 13adb691464 Close German Translation Gaps 2026-09-30 (#73980)
     add d886882ac14 Let Common AI toolsets use the agent's tool retry budget 
(#73957)
     add 35633455ed7 Add first-class `capabilities` to Common AI 
`AgentOperator` (#73984)
     add adaa16f88af Parse Dag files through the Task SDK importers (#73853)
     add 12127b07978 Fix check-conn-id-templated crashing on a vanishing 
__pycache__ (#74016)
     add 4d304d0876c Export files an agent built in a sandbox to object storage 
(#73990)
     add 0616bc80130 Queue the Dag files of non-Python Dag importers
     add a5d284bbc50 Skip the Python-only parse checks for non-Python Dag files
     add 7caeacbafe7 Share Dag cycle detection between the Task SDK and core
     add b9ffffb40d0 Let a coordinator parse the Dag files of the bundles it 
serves
     add a42e8dc3679 Check that a serialized Dag can be stored and loaded
     add 21b152db976 Move the Dag file processor's shared plumbing into a base 
class
     add c74e32f82bb Parse coordinator-claimed Dag files with their runtime
     add 27639df9606 Fill a native Dag's unset settings from the Airflow config
     add 7543b479a13 Report a Lang-SDK parse past its import timeout as an 
import error
     add c35472f3dff Report a native Dag's task that reaches a Python worker
     add a528e762696 Read JAR manifests per the JAR specification
     add 8d0db035f13 Build the JVM command that parses a Dag JAR
     add 00a71588a88 Embed the Dag source in Java bundle JARs
     add 87f3e5e7194 Parse native Java Dags with their coordinator
     add fd25c15ac69 Document native Java Dag parsing
     add 46c25a74561 Treat an unreadable JAR like one without a manifest
     add c40832caa94 Test the Java Dag source placeholder for a JAR without a 
manifest
     add 5e8a7059f80 Name the JAR manifest attributes the Java coordinator reads
     add 46916a56ea6 Parse native TypeScript Dags with the Node coordinator
     add 8de54e92fb2 Document parsing native TypeScript Dags
     add 8e95f87dccf Share the bundle section mutation helper between Node tests
     add 11c6f8630b3 TS SDK: answer the Dag-parsing request from bundle.serve
     add 238a39d1966 TS SDK: add conditional branching with dag.if
     add dd6f298bef5 TS SDK: add multi-way branching with dag.switch
     add 56cc68cfae5 TS SDK: add triggerDagRun to the native Dag surface
     add d9e48a19f1a Java SDK: Resolve a task's arguments from the Dag's own 
wiring
     add c7228010d3a Java SDK: Declare a Dag's task graph with @Builder.Deps
     add 41a2b0619c3 Java SDK: Serialize native Dags to DagSerialization v3 on 
parse requests
     add 69467d291fd TS SDK: cover native TypeScript Dags end to end
     add 2547de4ab9c Parse the native TypeScript Dag in the compose e2e
     add fcf27f78f26 Check the native TypeScript Dag's source and triggered run
     add d19476c3544 Keep the containerized Java build's Maven repository on 
the host
     add 3031611bc9f Add a native Java Dag to the compose e2e
     add d01e6e2097f Run the Lang-SDK e2e jobs when native Dag parsing changes
     add 18d9835ee10 Share the Dag run lookup and the native Java queue name
     add b80be9ffaf3 Build the k8s TypeScript artifacts only for the native Dag 
test

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   (00fac11412f)
            \
             N -- N -- N   refs/heads/jason/lang-sdk-e2e/08-native-e2e 
(b80be9ffaf3)

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:
 ...-image-checks.yml => agent-framework-tests.yml} |  68 +--
 .github/workflows/ci-amd.yml                       |  19 +
 .github/workflows/ci-arm.yml                       |  19 +
 .pre-commit-config.yaml                            |  17 +
 airflow-core/.pre-commit-config.yaml               |   6 +
 .../authoring-and-scheduling/asset-scheduling.rst  |  31 +-
 .../language-sdks/typescript.rst                   |   6 +-
 .../docs/authoring-and-scheduling/timetable.rst    |  25 +-
 airflow-core/docs/migrations-ref.rst               |   4 +-
 airflow-core/docs/public-airflow-interface.rst     |   5 +-
 airflow-core/newsfragments/58543.feature.rst       |   1 +
 .../api_fastapi/common/parameters/__init__.py      |   3 +
 .../airflow/api_fastapi/common/parameters/asset.py |  23 +
 .../airflow/api_fastapi/common/parameters/dag.py   |  46 ++
 .../api_fastapi/common/parameters/dag_run.py       |  35 +-
 .../api_fastapi/core_api/datamodels/ui/calendar.py |   1 +
 .../api_fastapi/core_api/openapi/_private_ui.yaml  |  46 ++
 .../core_api/openapi/v2-rest-api-generated.yaml    |  37 ++
 .../core_api/routes/public/connections.py          |   6 +-
 .../api_fastapi/core_api/routes/public/dag_run.py  |   6 +-
 .../api_fastapi/core_api/routes/public/hitl.py     |  17 +-
 .../api_fastapi/core_api/routes/public/log.py      |   2 +-
 .../core_api/routes/public/variables.py            |   2 +-
 .../api_fastapi/core_api/routes/ui/assets.py       |   5 +
 .../core_api/routes/ui/partitioned_dag_runs.py     |   1 +
 .../api_fastapi/core_api/routes/ui/teams.py        |   2 +
 .../core_api/services/public/dag_run.py            |  17 +-
 .../api_fastapi/core_api/services/ui/calendar.py   |  10 +-
 .../execution_api/datamodels/taskinstance.py       |   6 +
 .../execution_api/routes/asset_events.py           |   8 +-
 .../api_fastapi/execution_api/routes/assets.py     |  14 +-
 .../api_fastapi/execution_api/routes/dag_runs.py   |  18 +-
 .../api_fastapi/execution_api/routes/hitl.py       |  74 ++-
 .../execution_api/routes/task_instances.py         |  96 +++-
 .../execution_api/routes/task_reschedules.py       |   6 +-
 .../api_fastapi/execution_api/routes/xcoms.py      |  12 +
 .../api_fastapi/execution_api/versions/__init__.py |   2 +
 .../execution_api/versions/v2026_10_30.py          |  10 +
 .../src/airflow/cli/commands/dag_command.py        |   9 +-
 .../src/airflow/config_templates/config.yml        |  37 ++
 .../src/airflow/dag_processing/collection.py       |  21 +-
 airflow-core/src/airflow/dag_processing/dagbag.py  | 354 +++++--------
 .../src/airflow/dag_processing/importer_routing.py | 316 +++---------
 .../airflow/dag_processing/importers/__init__.py   |  39 --
 .../src/airflow/dag_processing/importers/base.py   | 266 ----------
 .../dag_processing/importers/python_importer.py    | 360 -------------
 .../airflow/dag_processing/lang_sdk_processor.py   |  38 +-
 airflow-core/src/airflow/dag_processing/manager.py |  33 +-
 .../src/airflow/dag_processing/processor.py        |  24 +-
 .../src/airflow/jobs/scheduler_job_runner.py       | 207 +++++---
 ...3_4_0_add_timetable_asset_gated_to_dagmodel.py} |  29 +-
 airflow-core/src/airflow/models/dag.py             |  32 +-
 airflow-core/src/airflow/models/dagcode.py         |  67 ++-
 airflow-core/src/airflow/models/dagrun.py          |   2 +-
 airflow-core/src/airflow/models/serialized_dag.py  |  15 +-
 .../src/airflow/serialization/definitions/dag.py   |   6 +-
 airflow-core/src/airflow/serialization/encoders.py |   9 +
 .../ti_deps/deps/not_previously_skipped_dep.py     |   6 +-
 airflow-core/src/airflow/timetables/assets.py      | 112 +++-
 airflow-core/src/airflow/timetables/base.py        |  16 +
 airflow-core/src/airflow/timetables/simple.py      |   1 +
 .../src/airflow/ui/openapi-gen/queries/common.ts   |  16 +-
 .../ui/openapi-gen/queries/ensureQueryData.ts      |  20 +-
 .../src/airflow/ui/openapi-gen/queries/prefetch.ts |  20 +-
 .../src/airflow/ui/openapi-gen/queries/queries.ts  |  20 +-
 .../src/airflow/ui/openapi-gen/queries/suspense.ts |  20 +-
 .../airflow/ui/openapi-gen/requests/schemas.gen.ts |   5 +
 .../ui/openapi-gen/requests/services.gen.ts        |  14 +
 .../airflow/ui/openapi-gen/requests/types.gen.ts   |  35 ++
 .../airflow/ui/public/i18n/locales/ar/dags.json    |   2 -
 .../airflow/ui/public/i18n/locales/ca/dags.json    |   4 -
 .../airflow/ui/public/i18n/locales/de/browse.json  |  30 ++
 .../airflow/ui/public/i18n/locales/de/common.json  |  26 +
 .../ui/public/i18n/locales/de/components.json      |   5 +
 .../src/airflow/ui/public/i18n/locales/de/dag.json |   5 +
 .../airflow/ui/public/i18n/locales/de/dags.json    |  24 +-
 .../ui/public/i18n/locales/de/dashboard.json       |  17 +-
 .../airflow/ui/public/i18n/locales/el/dags.json    |   2 -
 .../airflow/ui/public/i18n/locales/en/assets.json  |   1 +
 .../airflow/ui/public/i18n/locales/en/common.json  |   9 +-
 .../src/airflow/ui/public/i18n/locales/en/dag.json |   1 +
 .../airflow/ui/public/i18n/locales/en/dags.json    |   6 +-
 .../airflow/ui/public/i18n/locales/es/dags.json    |   4 -
 .../airflow/ui/public/i18n/locales/fr/dags.json    |   2 -
 .../airflow/ui/public/i18n/locales/he/dags.json    |   2 -
 .../airflow/ui/public/i18n/locales/hi/dags.json    |   2 -
 .../airflow/ui/public/i18n/locales/ko/dags.json    |   4 -
 .../airflow/ui/public/i18n/locales/pl/dags.json    |   4 -
 .../airflow/ui/public/i18n/locales/ru/dags.json    |   2 -
 .../airflow/ui/public/i18n/locales/zh-CN/dags.json |   4 -
 .../airflow/ui/public/i18n/locales/zh-TW/dags.json |   4 -
 .../FilterBar/filters/RunStateFilter.tsx           | 234 +++++++++
 .../FilterBar/filters/runStateParams.test.ts       |  95 ++++
 .../components/FilterBar/filters/runStateParams.ts |  76 +++
 .../airflow/ui/src/components/FilterBar/types.ts   |  14 +-
 .../src/airflow/ui/src/constants/filterConfigs.tsx |  38 +-
 .../src/airflow/ui/src/constants/searchParams.ts   |   3 +
 .../src/airflow/ui/src/mocks/handlers/dag_runs.ts  |  49 +-
 .../src/airflow/ui/src/mocks/handlers/dags.ts      |  10 +
 .../ui/src/pages/AssetsList/AssetsList.test.tsx    |  28 +
 .../airflow/ui/src/pages/AssetsList/AssetsList.tsx |  11 +
 .../ui/src/pages/Connections/Connections.tsx       |   4 +
 .../ui/src/pages/Dag/Calendar/CalendarCell.tsx     |  31 +-
 .../ui/src/pages/Dag/Calendar/CalendarLegend.tsx   |  11 +
 .../ui/src/pages/Dag/Calendar/CalendarTooltip.tsx  |  14 +-
 .../src/pages/Dag/Calendar/HourlyCalendarView.tsx  |  10 +-
 .../src/pages/Dag/Calendar/calendarUtils.test.ts   |  22 +
 .../ui/src/pages/Dag/Calendar/calendarUtils.ts     |   4 +
 .../src/airflow/ui/src/pages/Dag/Calendar/types.ts |   1 +
 .../airflow/ui/src/pages/DagRuns/DagRuns.test.tsx  |  27 +
 .../src/airflow/ui/src/pages/DagRuns/DagRuns.tsx   |   6 +
 .../ui/src/pages/DagRuns/DagRunsFilters.tsx        |   1 +
 .../src/pages/DagsList/DagsFilters/DagsFilters.tsx |   3 +-
 .../ui/src/pages/DagsList/DagsList.test.tsx        |  41 +-
 .../src/airflow/ui/src/pages/DagsList/DagsList.tsx |   5 +
 .../src/airflow/ui/src/pages/Events/Events.tsx     |   4 +
 airflow-core/src/airflow/ui/src/pages/Jobs.tsx     |  11 +-
 .../src/airflow/ui/src/pages/Pools/PoolBarCard.tsx |  12 +-
 .../airflow/ui/src/pages/Variables/Variables.tsx   |   4 +
 .../src/airflow/ui/src/queries/useDags.tsx         |   3 +
 .../ui/src/utils/useFiltersHandler.test.tsx        |  63 +++
 .../src/airflow/ui/src/utils/useFiltersHandler.ts  |  22 +-
 .../src/airflow/ui/tests/e2e/pages/DagsPage.ts     |  18 +-
 airflow-core/src/airflow/utils/cli.py              |   8 +-
 airflow-core/src/airflow/utils/db.py               |   4 +-
 airflow-core/src/airflow/utils/file.py             |  10 +
 .../core_api/routes/public/test_dag_run.py         |  56 +-
 .../core_api/routes/public/test_hitl.py            |  28 +
 .../api_fastapi/core_api/routes/ui/test_assets.py  |  23 +
 .../core_api/routes/ui/test_calendar.py            | 239 +++++++--
 .../api_fastapi/core_api/routes/ui/test_dags.py    |  43 ++
 .../execution_api/versions/head/test_hitl.py       |  36 +-
 .../versions/head/test_task_instances.py           | 162 ++++++
 .../{test_callbacks.py => test_dag_run_notes.py}   |  10 +-
 .../tests/unit/dag_processing/fake_importers.py    |  23 +-
 .../tests/unit/dag_processing/fake_lang_sdk.py     |   7 +-
 .../unit/dag_processing/importers/__init__.py      |  16 -
 .../unit/dag_processing/importers/test_registry.py |  99 ----
 .../tests/unit/dag_processing/test_collection.py   |  86 +++-
 .../tests/unit/dag_processing/test_dagbag.py       | 449 ++++++----------
 .../unit/dag_processing/test_importer_routing.py   |  38 +-
 .../unit/dag_processing/test_lang_sdk_processor.py |  17 +-
 .../tests/unit/dag_processing/test_manager.py      |  37 +-
 .../tests/unit/dag_processing/test_processor.py    |  44 +-
 airflow-core/tests/unit/jobs/test_scheduler_job.py | 566 ++++++++++++++++++++-
 airflow-core/tests/unit/jobs/test_triggerer_job.py |   1 +
 airflow-core/tests/unit/models/test_dag.py         |  31 ++
 airflow-core/tests/unit/models/test_dagcode.py     | 147 ++----
 .../deps/test_not_previously_skipped_dep.py        |  44 ++
 .../tests/unit/timetables/test_assets_timetable.py | 227 ++++++++-
 airflow-ctl/src/airflowctl/ctl/cli_config.py       |  12 +-
 .../tests/airflow_ctl/ctl/test_cli_config.py       |  34 +-
 .../ts_sdk_tests/test_ts_sdk_native_dag.py         |   8 +-
 dev/README_RELEASE_PROVIDERS.md                    |  62 +++
 dev/breeze/doc/ci/04_selective_checks.md           |   1 +
 dev/breeze/doc/ci/05_workflows.md                  |  26 +
 .../src/airflow_breeze/utils/selective_checks.py   |  18 +
 dev/breeze/tests/test_selective_checks.py          |  40 ++
 devel-common/src/tests_common/test_utils/config.py |  11 +-
 generated/known_sdk_imports_in_core.txt            |   9 +-
 go-sdk/Justfile                                    |   4 +
 go-sdk/README.md                                   |  27 +
 go-sdk/airflow/dag.go                              |  57 ++-
 go-sdk/airflow/dag_test.go                         |  65 +++
 go-sdk/airflow/inputs.go                           | 142 ++++++
 go-sdk/airflow/inputs_test.go                      | 392 ++++++++++++++
 go-sdk/airflow/spec.gen.go                         | 169 ++++++
 go-sdk/airflow/spec.go                             | 115 ++++-
 go-sdk/airflow/spec_test.go                        |  71 +++
 go-sdk/airflow/task_handler.go                     |  12 +-
 go-sdk/airflow/task_option.go                      |  11 +-
 go-sdk/internal/bundle/task.go                     |  28 +-
 go-sdk/internal/genlicense/genlicense.go           |  71 +++
 go-sdk/internal/genlicense/genlicense_test.go      |  83 +++
 go-sdk/internal/genspec/authoring.go               | 470 +++++++++++++++++
 go-sdk/internal/genspec/authoring_test.go          | 329 ++++++++++++
 go-sdk/internal/genspec/main.go                    | 110 ++++
 .../main.go => internal/genspec/main_test.go}      |  23 +-
 go-sdk/internal/genspec/normalize.go               | 176 +++++++
 go-sdk/internal/genspec/normalize_test.go          | 256 ++++++++++
 go-sdk/pkg/binding/binding.go                      |  56 +-
 go-sdk/pkg/binding/binding_test.go                 |  27 +
 go-sdk/pkg/execution/genmodels/gen/main.go         |  49 +-
 providers/common/ai/docs/capabilities.rst          | 137 +++++
 providers/common/ai/docs/code_mode.rst             |   7 +-
 providers/common/ai/docs/features.rst              |   6 +-
 providers/common/ai/docs/guardrails.rst            |  66 ---
 providers/common/ai/docs/hooks/langchain.rst       |  20 +-
 providers/common/ai/docs/hooks/llamaindex.rst      |  12 +
 providers/common/ai/docs/operators/agent.rst       |  10 +-
 .../ai/docs/operators/llamaindex_embedding.rst     |  26 +-
 .../ai/docs/operators/llamaindex_retrieval.rst     |  18 +-
 providers/common/ai/docs/redirects.txt             |   1 +
 providers/common/ai/docs/sandbox/backends.rst      |  11 +-
 providers/common/ai/docs/sandbox/configuration.rst |  59 ++-
 providers/common/ai/docs/sandbox/index.rst         |   5 +-
 providers/common/ai/docs/stability.rst             |   2 +-
 providers/common/ai/docs/tool_approval.rst         |   5 +-
 providers/common/ai/docs/toolsets/datafusion.rst   |   2 +
 providers/common/ai/docs/toolsets/hook.rst         |   3 +
 providers/common/ai/docs/toolsets/index.rst        |  42 ++
 .../common/ai/docs/toolsets/object_storage.rst     |   3 +
 providers/common/ai/docs/toolsets/sql.rst          |   4 +-
 .../ai/example_dags/example_agent_capabilities.py  |  27 +-
 .../ai/example_dags/example_sandbox_toolset.py     |  70 ++-
 .../src/airflow/providers/common/ai/exceptions.py  |   2 +-
 .../airflow/providers/common/ai/hooks/langchain.py |  30 +-
 .../providers/common/ai/hooks/llamaindex.py        |  25 +-
 .../airflow/providers/common/ai/operators/agent.py | 139 ++++-
 .../common/ai/operators/llamaindex_embedding.py    |  13 +
 .../common/ai/operators/llamaindex_retrieval.py    |  14 +
 .../airflow/providers/common/ai/sandbox/base.py    | 167 +++++-
 .../providers/common/ai/sandbox/opensandbox.py     |  71 ++-
 .../src/airflow/providers/common/ai/sandbox/sbx.py |  90 +++-
 .../providers/common/ai/tools/_from_toolset.py     |  18 +-
 .../providers/common/ai/toolsets/datafusion.py     |  10 +-
 .../airflow/providers/common/ai/toolsets/hook.py   |  11 +-
 .../common/ai/toolsets/langchain_bridge.py         |   5 +-
 .../providers/common/ai/toolsets/managed_agent.py  |  11 +-
 .../providers/common/ai/toolsets/object_storage.py |  11 +-
 .../providers/common/ai/toolsets/sandbox.py        | 209 +++++++-
 .../airflow/providers/common/ai/toolsets/sql.py    |  10 +-
 .../providers/common/ai/utils/toolset_base.py      |  19 +
 .../tests/unit/common/ai/decorators/test_agent.py  |  19 +
 .../tests/unit/common/ai/hooks/test_langchain.py   |  66 +++
 .../tests/unit/common/ai/hooks/test_llamaindex.py  |  72 +++
 .../tests/unit/common/ai/operators/test_agent.py   | 196 ++++++-
 .../ai/operators/test_llamaindex_embedding.py      |  15 +-
 .../ai/operators/test_llamaindex_retrieval.py      |  15 +-
 .../ai/tests/unit/common/ai/sandbox/test_base.py   | 163 +++++-
 .../unit/common/ai/sandbox/test_opensandbox.py     | 137 +++++
 .../ai/tests/unit/common/ai/sandbox/test_sbx.py    | 106 ++++
 .../unit/common/ai/tools/test__from_toolset.py     |  33 +-
 .../unit/common/ai/toolsets/test_retry_budget.py   |  98 ++++
 .../tests/unit/common/ai/toolsets/test_sandbox.py  | 356 +++++++++++++
 .../snowflake/hooks/snowflake_cortex_agent.py      |  42 +-
 .../snowflake/hooks/test_snowflake_cortex_agent.py | 106 +++-
 scripts/ci/prek/check_conn_id_templated.py         |  18 +-
 scripts/ci/prek/check_go_sdk_spec_drift.py         | 140 +++++
 .../ci/prek/check_openapi_exception_doc_in_sync.py | 239 +++++++++
 scripts/in_container/run_agent_framework_tests.sh  |  90 ++++
 .../tests/ci/prek/test_check_conn_id_templated.py  |  26 +-
 .../tests/ci/prek/test_check_go_sdk_spec_drift.py  | 133 +++++
 .../test_check_openapi_exception_doc_in_sync.py    | 335 ++++++++++++
 task-sdk/docs/api.rst                              |   2 +
 task-sdk/src/airflow/sdk/__init__.py               |   3 +
 task-sdk/src/airflow/sdk/__init__.pyi              |   2 +
 task-sdk/src/airflow/sdk/api/client.py             |  12 +
 .../src/airflow/sdk/api/datamodels/_generated.py   |  15 +
 task-sdk/src/airflow/sdk/bases/timetable.py        |   7 +
 .../src/airflow/sdk/coordinators/_dag_importer.py  |   2 +-
 .../src/airflow/sdk/coordinators/_subprocess.py    |  43 +-
 .../sdk/coordinators/executable/coordinator.py     |   4 +-
 .../airflow/sdk/coordinators/java/_dag_importer.py |   8 +-
 .../airflow/sdk/coordinators/java/coordinator.py   |   9 +-
 .../sdk/coordinators/node/_bundle_reader.py        |  21 +-
 .../airflow/sdk/coordinators/node/_dag_importer.py |  10 +-
 .../airflow/sdk/coordinators/node/coordinator.py   |   9 +-
 task-sdk/src/airflow/sdk/definitions/dag.py        |   4 +-
 .../airflow/sdk/definitions/timetables/assets.py   |  25 +
 task-sdk/src/airflow/sdk/execution_time/comms.py   |   7 +
 .../src/airflow/sdk/execution_time/coordinator.py  |  54 +-
 .../airflow/sdk/execution_time/request_handlers.py |   9 +
 .../airflow/sdk/execution_time/schema/schema.json  |  65 +++
 .../sdk/execution_time/schema/versions/__init__.py |   8 +-
 .../execution_time/schema/versions/v2026_10_30.py  |  21 +
 .../src/airflow/sdk/execution_time/supervisor.py   |   8 +
 .../src/airflow/sdk/execution_time/task_runner.py  |  36 +-
 task-sdk/src/airflow/sdk/importers/base.py         |  39 +-
 .../src/airflow/sdk/importers/python_importer.py   |   2 +-
 task-sdk/src/airflow/sdk/importers/zip_importer.py |   2 +-
 task-sdk/src/airflow/sdk/lineage.py                |   2 +-
 task-sdk/src/airflow/sdk/types.py                  |   2 +
 task-sdk/tests/task_sdk/api/test_client.py         |  15 +
 .../coordinators/java/test_dag_importer.py         |  15 +-
 .../coordinators/node/test_bundle_reader.py        |   7 +
 .../task_sdk/coordinators/node/test_coordinator.py |   1 +
 .../coordinators/node/test_dag_importer.py         |  16 +-
 .../task_sdk/coordinators/test_dag_importer.py     |   2 +-
 .../tests/task_sdk/coordinators/test_subprocess.py |  38 +-
 task-sdk/tests/task_sdk/definitions/test_dag.py    |  16 +-
 .../task_sdk/execution_time/test_coordinator.py    |  83 +++
 .../task_sdk/execution_time/test_supervisor.py     |  15 +
 .../task_sdk/execution_time/test_task_runner.py    | 167 +++---
 task-sdk/tests/task_sdk/importers/test_registry.py |  46 +-
 ts-sdk/src/generated/supervisor.ts                 |  68 ++-
 286 files changed, 11224 insertions(+), 2797 deletions(-)
 copy .github/workflows/{additional-ci-image-checks.yml => 
agent-framework-tests.yml} (55%)
 create mode 100644 airflow-core/newsfragments/58543.feature.rst
 delete mode 100644 
airflow-core/src/airflow/dag_processing/importers/__init__.py
 delete mode 100644 airflow-core/src/airflow/dag_processing/importers/base.py
 delete mode 100644 
airflow-core/src/airflow/dag_processing/importers/python_importer.py
 copy 
airflow-core/src/airflow/migrations/versions/{0111_3_3_0_add_timetable_periodic_to_dag.py
 => 0141_3_4_0_add_timetable_asset_gated_to_dagmodel.py} (63%)
 create mode 100644 
airflow-core/src/airflow/ui/src/components/FilterBar/filters/RunStateFilter.tsx
 create mode 100644 
airflow-core/src/airflow/ui/src/components/FilterBar/filters/runStateParams.test.ts
 create mode 100644 
airflow-core/src/airflow/ui/src/components/FilterBar/filters/runStateParams.ts
 copy 
airflow-core/tests/unit/api_fastapi/execution_api/versions/v2026_10_30/{test_callbacks.py
 => test_dag_run_notes.py} (77%)
 delete mode 100644 airflow-core/tests/unit/dag_processing/importers/__init__.py
 delete mode 100644 
airflow-core/tests/unit/dag_processing/importers/test_registry.py
 create mode 100644 go-sdk/airflow/inputs.go
 create mode 100644 go-sdk/airflow/inputs_test.go
 create mode 100644 go-sdk/airflow/spec.gen.go
 create mode 100644 go-sdk/airflow/spec_test.go
 create mode 100644 go-sdk/internal/genlicense/genlicense.go
 create mode 100644 go-sdk/internal/genlicense/genlicense_test.go
 create mode 100644 go-sdk/internal/genspec/authoring.go
 create mode 100644 go-sdk/internal/genspec/authoring_test.go
 create mode 100644 go-sdk/internal/genspec/main.go
 copy go-sdk/{airflow/testdata/foreignitem/main.go => 
internal/genspec/main_test.go} (58%)
 create mode 100644 go-sdk/internal/genspec/normalize.go
 create mode 100644 go-sdk/internal/genspec/normalize_test.go
 create mode 100644 providers/common/ai/docs/capabilities.rst
 delete mode 100644 providers/common/ai/docs/guardrails.rst
 create mode 100644 
providers/common/ai/tests/unit/common/ai/toolsets/test_retry_budget.py
 create mode 100755 scripts/ci/prek/check_go_sdk_spec_drift.py
 create mode 100755 scripts/ci/prek/check_openapi_exception_doc_in_sync.py
 create mode 100755 scripts/in_container/run_agent_framework_tests.sh
 create mode 100644 scripts/tests/ci/prek/test_check_go_sdk_spec_drift.py
 create mode 100644 
scripts/tests/ci/prek/test_check_openapi_exception_doc_in_sync.py

Reply via email to