This is an automated email from the ASF dual-hosted git repository.
vikramkoka pushed a change to branch common_ai_managed_toolset
in repository https://gitbox.apache.org/repos/asf/airflow.git
from e36da220106 Restore the blank line before a docstring field list
add 6ba8d5a85cb Replace `resume_glue_job_on_retry` with durable execution
for `GlueJobOperator` (#71211)
add 1970ddb6991 Update python client version/changelog for 3.3.1 release
(#71538)
add 3f66d0f2da5 Mark only a run's most recent asset event as triggering it
(#71441)
add bdfe789d573 Fix pnpm version in package.json until we upgrade (#71516)
add 2a98049ea22 Docs execution API version check via side effects in
AGENTS.md (#71484)
add 1e1dc10734d Fix misleading error when an Anthropic agent session stops
on its budget (#71461)
add a37736d70ae Add a budget argument to AnthropicAgentSessionOperator and
update_session to the hook (#71462)
add eaeb967b245 chore: rebase onto main to retrigger CI (#70535)
add 9334537621f Make KeycloakAuthManager _CACHE_TTL_SECONDS configurable
(#70839)
add 5f03059ee9b fix: coerce explicit None _request_timeout in async/sync
k8s API clients (#69611)
add 9338ab9d63f Rename dag serialization metrics. (#70838)
add 9d17a46b40c Keep airflowctl operation defaults when an optional flag
is omitted (#65062)
add 0361344c873 Add Cloud Run job links during execution (#70179)
add 5dd285cb50a Add type annotations to sql hooks (#70815)
add 39ad57024de Correct supervisor comments on kill escalation and
finish() states (#70572)
add e0c19c74239 Replace the ACL calls with IAM roles for the system tests
+ add new (#70978)
add b0789d224d3 readme add uv (#71013)
add 23d63c2e1d7 Fix Slack failure alerts going silent when several jobs
fail (#70988)
add 85a4da7eb4e Fix login loop when the login callback carries an expired
Airflow JWT (#71506)
add cc279cd4e78 Check GCSToAzureBlobStorageOperator match_glob support
after template… (#70574)
add 688c25b7a26 Skip Tableau refresh/task run on 409093 resource conflict
(#69382)
add ff1bfe30b7d Record Anthropic agent session token usage and cost in
XCom (#71463)
add 0089bd92c5b Document Anthropic advisor rosters and pinned inference
regions (#71464)
add 2db44d00e6d Interrupt a running Anthropic session before archiving it
(#71465)
add eb81f33235e docs: describe default Airflow loggers (#70842)
add b83461fef40 Fix PsrpOperator option checks (#70347)
add 0e6ad210347 [main] CI: Upgrade important CI environment (#70501)
add fd6b7dba6f6 Resolve provider namespaces from the real directory tree
in prek hooks (#70468)
add 7f0478fec8a added missing argument docs for pod methods (#71217)
add 833efa47468 Fix MySQL metadata database failing when only PyMySQL is
installed (#71251)
add af75ea5c195 Added dompurify override to UI to resolve CVEs (#70819)
add a19c3dd19bd Fix DAGs list page Last Run/Next Run going stale after
runs complete (#70667)
add abdf3f8f6aa Add SandboxToolset for sandboxed agent shell and file
access (#68847)
add efec6ba3529 Fix `clearTaskInstances` returning 500 instead of 422 on
invalid body (#70237)
add e33a4f6dc78 Clarify How to upgrade docs for PyPI installs (#70897)
add 08974228440 Add synchronous Vertex AI Agent Engine query operator
(#70933)
add 7b4564201fa Fail Glue job tasks stopped mid-run in deferrable verbose
mode (#71495)
add 56f7acf804b Add pnpm overrides after audit review (#71253)
add fbb0ca79e69 Reconcile provider changelogs against git log before a
release (#70281)
add 28f00cc5830 Make copied task log text match the on-screen format
(#71270)
add 76f24e3e08f Add password field type to FlexibleForm (#70473)
add 5999abe9ba1 UI: Consolidate table controls into a header row above the
table (#71554)
add 812c7d8d9b3 Stop presenting multi-team tagged metrics as an exhaustive
list (#71523)
add fb9f264afab docs: clarify limited Podman support in Breeze quick-start
guide (#71404)
add b69253bd195 Restore the evaluation extra of google-cloud-aiplatform
(#71520)
add 2aef6b1c80c Pin the Go SDK CI toolchain to the patched Go release
(#71582)
add 3094d46ef3f Add a prek hook to keep ts-sdk/docs/package.json versions
in sync with ts-sdk/package.json (#71479)
add 2e2132c3af5 Build lang-SDK k8s test artifacts from the branch when
targeting main (#71527)
add 168d46aaac8 Make KPO durable execution inert below Airflow 3.3 (#71492)
add f5bd40ed261 Make `durable` reach `default_args` and warn when set
below Airflow 3.3 (#71531)
add 297b0c7abc1 Update the docs recommending dag.test() for custom
operator tests (#71542)
add b8127592a72 Bump the eslint group across 1 directory with 4 updates
(#71568)
add 04b9f045a82 Bump postcss (#71578)
add bd2bdbec8df Bump the github-actions-updates group with 4 updates
(#71421)
add b17d1a6f13a Gate Java SDK dependency changes (#71401)
add 1527e428e75 Bump cryptography from 49.0.0 to 50.0.0 (#71141)
add 49423f8d659 Bump aiohttp in
/providers/informatica/dev/informatica_simulator (#71048)
add 13b2969c783 Fix one bad callback request crashing the Dag processor
and dropping the rest (#70990)
add f72e6c9befa Fix short-read handling in task-sdk IPC framing (#69253)
add 4495ee147a2 Fail Glue job tasks promptly when a verbose job run errors
(#71570)
add ebaf8ebe25b Bump the edge-ui-package-updates group across 1 directory
with 4 updates (#71601)
add 108c254666b Bump happy-dom (#71594)
add 908e6533429 Bump swagger-ui-dist (#71292)
add 18ba6944752 Bump aiohttp from 3.14.1 to 3.14.3 (#71049)
add d249f123106 UI: Split log copy and selection tests out of
Logs.test.tsx (#71581)
add 957198466d2 Grant team Op role access to team Dags in Keycloak auth
manager (#71572)
add 6f2820c7993 Fix Keycloak multi-team permission repair (#71614)
add 0164c9931e3 Show the teams of the signed-in user in multi-team mode
(#71503)
add 7c0b3e66d8c Document HTTP statuses that API routes raise but never
declared (#71011)
add 18fd90034d7 Bump the typescript group across 1 directory with 4
updates (#71409)
add a65454f7235 Bump the uv-dependency-updates group across 1 directory
with 5 updates (#71617)
add 7e6af0bd370 Bump the auth-ui-package-updates group across 1 directory
with 5 updates (#71616)
add ef312654487 Document API token response details (#71583)
add fd997e44472 Bump openapi-merge-cli in /airflow-core/src/airflow/ui
(#71603)
add ff48a4381a8 Bump the java-sdk-security-updates group across 1
directory with 3 updates (#71602)
add 57ddbe82de2 Bump happy-dom (#71600)
add b278b622736 Release DB connection before deserializing DAGs in grid
structure endpoint (#69832)
add 7553a6f0562 Fix inverted docstring for config write hide_sensitive
option (#71623)
add a270429c889 Fix SSO docs pointing at the pre-Airflow 3 OAuth redirect
path (#71624)
add 115da5b3cd6 Move SendGrid and SES email backend setup docs to their
providers (#71571)
add 9790eefaaf4 Bump eslint-plugin-react-refresh (#71631)
add 05758b18131 Bump the github-actions-updates group across 1 directory
with 3 updates (#71606)
add e0c961a08c8 Bump eslint-plugin-react-refresh (#71629)
add 7e219a9dd86 Bump eslint-plugin-react-refresh (#71630)
add ef759de8387 Bump @types/node from 22.19.17 to 26.1.2 in /ts-sdk
(#71408)
add 6b81cda9b23 Narrow AirflowException to specific exceptions in DataSync
operator (#70152)
add 39d801aa89d Fix lang-SDK k8s test on release branches by using their
own SDKs (#71639)
add 39d9abaa3bf Fix airflow config lint staying silent on conditional
removal rules (#70977)
add 53f6786a9ec Add startup probe for Kerberos worker sidecars (#71221)
add 9bb184a33d0 Fix the translation Gap for Taiwanese Mandarin (#71482)
add d993a7c61d9 Fix Microsoft Graph filesystem auth by defaulting OAuth2
scope (#70879)
add b2b97706651 Fix bold format for Pull Request and Contributors Quick
Start doc (#71657)
add 566e9f3c27e Bump Java SDK dependencies with Java 11 compatibility
(#71670)
add 2c2cc5cfc6b Escape icon insertion in registry search results template
(#71618)
add bbcfbe25f1e Keep MSGraph request configuration across paginated pages
(#71649)
add c58a05d6e90 Improve BigQuery-to-SQL column lineage rendering (#70816)
add a8a2904be59 Refactor latest DagRun load options for consistency
(#67911)
add d4581aecace Honor FORWARDED_ALLOW_IPS when the API server runs under
gunicorn (#71429)
add 98eaca0ebaa Add teams verify CLI command (#70947)
add 786dd79c284 Keep ZIP-archived Dags active when dag_discovery_safe_mode
is False (#68518)
add 316dc6d82e7 Dispatch the highest priority tasks first in the executor
(#70942)
add bc78f0436b3 Add performance_target parameter to
DatabricksSubmitRunOperator (#71374)
add 1fe59d6ff37 Add myself to code-owners on the common.ai provider
(#71717)
add f03b3bb5ee3 Fix deadline serialization, repr, and prune edge cases
(#70421)
add 64f24194f88 Remove non-committers from CODEOWNERS (#71724)
add 263fafcec05 Add Databricks SQL warehouse lifecycle operators (#70088)
add 39ea27cb778 Ignore the magpie snapshot symlink in git worktrees
(#71727)
add e99d6c6f025 Require team names to be lower case with no doubled
underscores (#70886)
add baa1bf6d65d Add IcebergTableSnapshotTrigger for event-driven
scheduling (#71387)
add b997d2b3485 Add LLMSchemaCompareOperator to the common-ai operator
index table (#71738)
add 0cb0081d7be Make DMS system-test databases non-public (#71733)
add f5ec36107f9 Fix cleared tasks getting stuck when a Dag run has no
version (#71696)
add eaf5fc19ce7 allow deadline alert UUID references in serialized Dag
schema (#70148)
add 7c34d3097eb Prevent a broken job from stalling AWS Batch executor sync
(#71380)
add 42f1301fece Increase padding bottom to make last section clickable.
(#71679)
add 7004bf9711d Halve external vault API lookup requests per airflow
secret lookup (#71701)
add 04e98ca2cac Fix stale flag name in Airflow translations agent skill
(#71332)
add f8b8461e819 Make SparkSubmitOperator durable execution inert below
Airflow 3.3 (#71534)
add 84454220b3c Stop dag processor from warning on every file path
normalized for stats (#71091)
add 068b621a1d3 Bump `azure-batch>=15.0.0` (#71071)
add b09ec5c7e9a Probe AOSS index readiness as the Knowledge Base role in
Bedrock RAG system test (#71745)
add c91b476f6d1 Fix incorrect documented defaults for
MwaaTriggerDagRunOperator waiter params (#71740)
add dfdb925e1bc UI: Stop using React.FC and the React type namespace
(#71563)
add 3968cf014f7 i18n(Ko): add missing translations in assets.json (Aug 18)
(#71760)
add 2f4625a7d4d Improve DAG authorization filtering performance (#71722)
add 372b8ed40a2 Serve logs from scheduler if any executor is LocalExecutor
(#71283)
add 7b94de7d4d3 Validate issuer and audience of Azure AD id_tokens in FAB
auth manager (#71735)
add f01520cbd1b Scope /assets/events to the Dags the caller may read
(#71741)
add 0815a27eae7 Add terminationGracePeriodSeconds support for PgBouncer in
Helm chart (#71237)
add 45fa44f0215 UI: Avoid missing task instance links (#71762)
add 9ef2b27b931 Fix datetime pickers unusable on Firefox and Safari
(#71627)
add 2e659852cc4 Complete French UI translations (#71666)
add 2571c71ac2d Improve-arabic-translations (#71519)
add 3864d8f5a54 Build pgbouncer-exporter image from a pinned commit rather
than a tag (#71746)
add 3dcdcb8002f API: Return asset events for Dag Runs without a start date
(#71379)
add f549b34c682 Stop variables export/import from silently corrupting
values (#70944)
add 4670c047f44 Stop airflow config update from writing a backup during
dry-run (#70979)
add c8553925af8 UI: Allow scoping plugin tabs to specific Dags and tasks
(#69148)
add f558ff13273 Stop discarding a MeterProvider configured via
OTEL_CONFIG_FILE (#71529)
add bd3dca49c15 fix(providers/google): support sovereign console links
(#70001)
add ed68491d8be Prepare Cloud Batch jobs before template rendering (#70835)
add 1f82ed8aea9 UI: Unify list page filters and table header controls
(#71731)
add ae54b2be5ee Fix asset events test for Dag runs without start date
(#71799)
add 14ab7252212 TS SDK: replace registerTask with Dag and registerDags
(#71144)
add 29dd99d0034 Bound the scheduler's deserialized Dag cache (#71704)
add b5cdd5607e2 Fix and expand the common-ai provider's When to use
guidance (#71820)
add f1f02f9ef9c Document the common-ai LangChain and LlamaIndex connection
types (#71818)
add 8b01746b41b Document the common-ai MCPHook (#71817)
add d6af65e2680 Document the dedicated pydantic-ai vendor connection types
(#71774)
add 015313a2328 Fix Vertex AI Feature Store system test failure (#71238)
add 04145448135 Require Dag edit to delete asset queued events (#71736)
add 9ad206a01de Pin apache/infrastructure-actions to its released tags
(#70623)
add acfda3fc8e0 Regenerate API datamodels after the CI environment lock
upgrade (#71718)
add 2e30d73489c Use parameterized queries in HiveStatsCollectionOperator
(#66751)
add 05845833307 Clarify prompt for doc-only provider changes during
release prep (#71834)
add 1d038528e87 Allow skipping the git fetch when preparing provider
distributions (#71304)
add e7c13f398ff Stop sending GitHub Actions job notifications to the jobs
mailing list (#71709)
add d59ac4da06c UI: Make dialogs consistent and fix their dark mode
background (#71806)
add e361f70cf5e Prepare providers release 2026-08-18 (#71794)
add f63d32129fe Honor the API server Dag cache TTL when no size limit is
set (#71814)
add 513e46edad5 UI: Show owning team in asset dependency popovers (#71446)
add 68e1eb4557f Parse additional Kafka, Redis & SQS options in
`broker_transport_options` (#70228)
add e1807a1d49e Auto-skip dev-only tooling changes and release-preparation
commits in provider documentation prep (#71839)
add 90bd02ed178 UI - french- less literal translation (#71792)
add 9c8d7512a20 Allow Hussein Awala to publish provider docs to S3 (#71848)
add 9b43d6abc0f Document service.name and service.instance.id for
OpenTelemetry metrics (#71564)
add 8ef0880a214 Collect the test classes pytest silently skipped (#71643)
add c246ba8748c Fix FAB SSO guide's non-working OAuth configuration
instructions (#71852)
add b699f1c8f9f Test team scoping of plugin UI views in multi-team mode
(#71805)
add acf0ad84cec Use the configured region for deferred Neptune cluster
tasks (#71646)
add 7f524b46434 Fix flaky Iceberg snapshot trigger tests under CI
thread-pool latency (#71825)
add 259fe2d3e80 Warn on suspicious Dag and task IDs at TS SDK build time
(#70993)
add 900f4d3a606 Bump golang.org/x/net to 0.56.0, golang.org/x/sys to
0.46.0 and golang.org/x/text to 0.39.0 (#71827)
add bfb121a2ee5 Split task execution architecture docs: concise overview +
dev guide (#70657)
add 7c6113d9c90 Bind TaskFlow stub-task call arguments in the Go SDK
runtime (#70209)
add 47dd611cfdb [main] Upgrade important CI environment (#71590)
add 637b2199346 Prepare TypeScript SDK 0.1.0-beta1 (#71822)
add b304b4522ee Add Java SDK capability manifest and compatibility matrix
(#71151)
add 14551facad6 Fix Dag callbacks silently dropped when version inflation
check blocks parsing (#70987)
add eacefc750c8 Pin the statement budget for persisting Dag parse results
(#71720)
add b2cae5d9950 Drop the stale RFC 9457 TODO on the task-instance-run
endpoint (#71552)
add 6f36bac6e6d Improve TypeScript SDK API reference navigation (#71833)
add e606e1b9527 Add trigger `queue` support for `AsyncCallback` and
`BaseEventTrigger` (#71346)
add bec35efeaa5 Update the init stub file for NEVER_EXPIRE key in task sdk
(#71872)
add 0cfc4ef1e2d UI: Show an empty object for object params with no value
(#71710)
add 1480fd10af9 Complete German UI translations (#71668)
add 61d7182a581 Stop .gitignore from hiding the UI Logs directory on macOS
(#71475)
add 26173cbcef6 Remove the Go Edge Worker (#71874)
add 32f8527be1b Activate assets materialized from an AssetAlias so they
appear in the Assets tab (#71555)
add 78187c9373b Remove utkarsharma2 from allowed publish provider docs to
S3 (#71849)
add 435b35ac07b Fail loudly when a UI dev server dies in breeze dev mode
(#71784)
add da2445f05be Add match schema update prek hook for Helm
`values_schema.schema.json` file (#71680)
add b61c9c63298 Reduce memory used when deleting a Dag with a large
history (#71185)
add 0eef0fed140 Ignore shadow-gradle-plugin and jsonschema2pojo bumps
(#71712)
add 089ec0078bf Fix typos across contributor and provider documentation
(#71884)
add 132ec4f59b8 Fix Variable.set rewriting team_name of existing variables
(#71823)
add 9899393f0b6 Reuse CI image built from the same sources in another
checkout (#71886)
add 62c154ce730 Bump the auth-ui-package-updates group across 1 directory
with 4 updates (#71896)
add 2daa1eb03c3 Bump the edge-ui-package-updates group across 1 directory
with 5 updates (#71902)
add 306b831c00d Fix InfluxDBHook methods failing when called before
get_conn (#71705)
add 474e5b598f5 Harden frame processing on large data (#69125)
add d21f0687de3 Correct the common-ai toolset list and document the
shields extra (#71819)
add 00f1457ebfb Fix reversed credential precedence in Bedrock hook
docstring (#71826)
add ebca0c8edcf Java SDK: Register tasks as first-class TaskDef objects
(#71057)
add bcf1dbf41a0 Report Dag cache metrics under each component's own
namespace (#71815)
add 29c3ac211f2 Publish standalone documentation for Apache Airflow Mypy
(#71878)
add 49c5d519b0e Reduce memory used when deleting queued asset events
(#71917)
add c322a556496 Clarify Breeze CI image build helper names (#71912)
add 4a247b98a9e [main] CI: Upgrade important CI environment (#71924)
add cbedeaba147 Keep MSGraph path parameters across paginated pages
(#71866)
add 0eda936b484 Make GridButton tooltip label timezone aware (#71944)
add d253d87f863 UI: Allow file downloads from plugin external view iframes
(#71803)
add b5b39ccd8f0 Include the JSON parse-error message in the Variable form
warning (#71780)
add 0807f2b5f75 Reuse the ambient session when skipping pending TIs in
dag-run terminal state (#71488)
add bdf3ee57032 Prevent React plugins from inheriting a prior bundle's
component (#71943)
add c1fcbefd712 Fix nested non-Dag with-statement exiting the Dag context
in version inflation checker (#68795)
add 08153a88f83 Use the operator's AWS settings for deferred SageMaker
tasks (#71857)
add e50cc0b15df Drop extraneous "common" tag in i18n (#71517)
add ef32e9f69a5 Surface connection test errors in the UI instead of
failing silently (#71954)
add 7cc5481b8a2 Merge branch 'main' into common_ai_managed_toolset
No new revisions were added by this update.
Summary of changes:
.agents/skills/airflow-translations/SKILL.md | 10 +-
.../prepare-providers-documentation/SKILL.md | 44 +
.asf.yaml | 1 -
.github/CODEOWNERS | 14 +-
.../actions/build_ci_image_with_cache/action.yml | 15 +-
.github/actions/install-prek/action.yml | 5 +-
.../actions/prepare_breeze_and_image/action.yml | 3 +-
.github/actions/prepare_single_ci_image/action.yml | 3 +-
.github/dependabot.yml | 36 +
.github/workflows/asf-allowlist-check.yml | 3 +-
.github/workflows/basic-tests.yml | 10 +-
.github/workflows/ci-amd.yml | 16 +-
.github/workflows/ci-arm.yml | 16 +-
.github/workflows/ci-image-build.yml | 20 +-
.github/workflows/ci-image-checks.yml | 5 +-
.github/workflows/codeql-analysis.yml | 6 +-
.github/workflows/java-sdk-dependency-security.yml | 97 +
.github/workflows/prod-image-build.yml | 2 +-
.github/workflows/publish-docs-to-s3.yml | 9 +-
.github/workflows/ts-sdk-dependency-review.yml | 2 +-
.github/zizmor.yml | 6 -
.gitignore | 12 +-
.pre-commit-config.yaml | 22 +-
Dockerfile | 6 +-
Dockerfile.ci | 18 +-
README.md | 2 +-
.../administration-and-deployment/dag-bundles.rst | 4 +
.../logging-monitoring/logging-architecture.rst | 30 +
.../logging-monitoring/metrics.rst | 53 +
.../docs/administration-and-deployment/plugins.rst | 79 +-
.../administration-and-deployment/web-stack.rst | 12 +-
.../docs/authoring-and-scheduling/deferring.rst | 54 +-
.../authoring-and-scheduling/language-sdks/go.rst | 63 +-
.../language-sdks/java.rst | 12 +-
.../language-sdks/typescript.rst | 41 +-
airflow-core/docs/best-practices.rst | 71 +-
airflow-core/docs/core-concepts/dags.rst | 2 +-
airflow-core/docs/core-concepts/debug.rst | 13 +
airflow-core/docs/core-concepts/multi-team.rst | 44 +-
airflow-core/docs/core-concepts/overview.rst | 92 +-
airflow-core/docs/faq.rst | 18 +-
airflow-core/docs/howto/custom-operator.rst | 23 +
airflow-core/docs/howto/deadline-alerts.rst | 15 +
airflow-core/docs/howto/email-config.rst | 127 +-
airflow-core/docs/howto/run-behind-proxy.rst | 8 +-
airflow-core/docs/howto/static-type-checking.rst | 56 +-
.../diagram_java_sdk_execution_architecture.md5sum | 1 -
.../diagram_java_sdk_execution_architecture.png | Bin 176205 -> 0 bytes
.../img/diagram_java_sdk_execution_sequence.md5sum | 1 -
.../img/diagram_java_sdk_execution_sequence.png | Bin 189307 -> 0 bytes
...diagram_native_language_sdk_architecture.md5sum | 1 -
.../diagram_native_language_sdk_architecture.png | Bin 146251 -> 0 bytes
.../diagram_native_language_sdk_architecture.py | 258 -
.../img/diagram_task_execution_architecture.md5sum | 1 +
.../img/diagram_task_execution_architecture.png | Bin 0 -> 47036 bytes
.../img/diagram_task_execution_architecture.py | 154 +
.../docs/installation/installing-from-pypi.rst | 2 +
.../docs/installation/installing-from-sources.rst | 2 +-
airflow-core/docs/installation/upgrading.rst | 8 +-
airflow-core/docs/migrations-ref.rst | 4 +-
airflow-core/docs/security/api.rst | 11 +
airflow-core/docs/security/api_permissions_ref.rst | 6 +-
airflow-core/docs/tutorial/fundamentals.rst | 6 +-
airflow-core/newsfragments/68518.bugfix.rst | 1 +
airflow-core/newsfragments/69148.feature.rst | 1 +
airflow-core/newsfragments/70838.feature.rst | 1 +
airflow-core/newsfragments/70886.significant.rst | 19 +
airflow-core/newsfragments/70947.feature.rst | 1 +
airflow-core/newsfragments/70977.bugfix.rst | 1 +
airflow-core/newsfragments/71251.bugfix.rst | 1 +
airflow-core/newsfragments/71704.bugfix.rst | 1 +
airflow-core/newsfragments/71814.bugfix.rst | 1 +
airflow-core/pyproject.toml | 7 +-
airflow-core/src/airflow/api/common/delete_dag.py | 8 +-
airflow-core/src/airflow/api/common/mark_tasks.py | 2 +-
.../api_fastapi/auth/managers/base_auth_manager.py | 9 +-
.../auth/managers/simple/ui/package.json | 19 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 360 +-
.../auth/managers/simple/ui/rules/core.js | 37 +
.../auth/managers/simple/ui/rules/typescript.js | 10 +
.../auth/managers/simple/ui/src/alert/Alert.tsx | 10 +-
.../managers/simple/ui/src/alert/ErrorAlert.tsx | 3 +-
.../managers/simple/ui/src/login/LoginForm.tsx | 4 +-
.../src/airflow/api_fastapi/common/dagbag.py | 32 +-
.../src/airflow/api_fastapi/common/db/assets.py | 70 +-
.../api_fastapi/core_api/datamodels/assets.py | 11 +-
.../api_fastapi/core_api/datamodels/plugins.py | 18 +
.../core_api/datamodels/task_instances.py | 13 +-
.../api_fastapi/core_api/datamodels/ui/auth.py | 6 +
.../api_fastapi/core_api/openapi/_private_ui.yaml | 31 +
.../core_api/openapi/v2-rest-api-generated.yaml | 108 +-
.../api_fastapi/core_api/routes/public/assets.py | 25 +-
.../core_api/routes/public/backfills.py | 1 +
.../api_fastapi/core_api/routes/public/dag_run.py | 16 +-
.../api_fastapi/core_api/routes/public/dags.py | 1 +
.../api_fastapi/core_api/routes/public/hitl.py | 1 +
.../core_api/routes/public/task_instances.py | 8 +-
.../airflow/api_fastapi/core_api/routes/ui/auth.py | 7 +
.../airflow/api_fastapi/core_api/routes/ui/dags.py | 7 +-
.../api_fastapi/core_api/routes/ui/dependencies.py | 3 +-
.../airflow/api_fastapi/core_api/routes/ui/grid.py | 84 +-
.../src/airflow/api_fastapi/core_api/security.py | 21 +
.../api_fastapi/core_api/services/public/assets.py | 45 +
.../airflow/api_fastapi/execution_api/AGENTS.md | 11 +
.../execution_api/datamodels/asset_event.py | 2 +-
.../execution_api/routes/task_instances.py | 5 -
.../src/airflow/api_fastapi/gunicorn_app.py | 18 +-
airflow-core/src/airflow/cli/cli_config.py | 7 +
.../src/airflow/cli/commands/config_command.py | 40 +-
.../src/airflow/cli/commands/scheduler_command.py | 7 +-
.../src/airflow/cli/commands/team_command.py | 84 +-
.../src/airflow/cli/commands/variable_command.py | 5 +-
.../src/airflow/config_templates/config.yml | 46 +-
.../src/airflow/dag_processing/collection.py | 41 +-
airflow-core/src/airflow/dag_processing/manager.py | 22 +-
.../src/airflow/dag_processing/processor.py | 94 +-
.../src/airflow/executors/base_executor.py | 7 +-
.../src/airflow/jobs/scheduler_job_runner.py | 31 +-
.../versions/0131_3_4_0_lower_case_team_names.py | 108 +
airflow-core/src/airflow/models/asset.py | 18 +
airflow-core/src/airflow/models/callback.py | 10 +-
airflow-core/src/airflow/models/dagbag.py | 120 +-
airflow-core/src/airflow/models/deadline.py | 11 +-
airflow-core/src/airflow/models/deadline_alert.py | 7 +-
airflow-core/src/airflow/models/serialized_dag.py | 16 +-
airflow-core/src/airflow/models/taskinstance.py | 53 +-
airflow-core/src/airflow/models/team.py | 21 +
airflow-core/src/airflow/models/trigger.py | 2 +-
airflow-core/src/airflow/models/variable.py | 1 -
airflow-core/src/airflow/plugins_manager.py | 85 +
airflow-core/src/airflow/provider.yaml.schema.json | 7 +
airflow-core/src/airflow/provider_info.schema.json | 7 +
airflow-core/src/airflow/serialization/decoders.py | 8 +-
.../airflow/serialization/definitions/deadline.py | 10 +-
airflow-core/src/airflow/serialization/encoders.py | 7 +-
airflow-core/src/airflow/serialization/schema.json | 7 +
airflow-core/src/airflow/settings.py | 17 +-
airflow-core/src/airflow/triggers/base.py | 26 +-
airflow-core/src/airflow/triggers/callback.py | 14 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 154 +-
.../ui/openapi-gen/requests/services.gen.ts | 8 +
.../airflow/ui/openapi-gen/requests/types.gen.ts | 57 +-
airflow-core/src/airflow/ui/package.json | 31 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 1141 ++--
.../airflow/ui/public/i18n/locales/ar/admin.json | 3 +-
.../airflow/ui/public/i18n/locales/ar/assets.json | 4 +
.../airflow/ui/public/i18n/locales/ar/browse.json | 3 +-
.../airflow/ui/public/i18n/locales/ar/common.json | 41 +
.../ui/public/i18n/locales/ar/components.json | 13 +-
.../src/airflow/ui/public/i18n/locales/ar/dag.json | 9 +-
.../airflow/ui/public/i18n/locales/ar/dags.json | 8 +-
.../airflow/ui/public/i18n/locales/ca/admin.json | 3 +-
.../airflow/ui/public/i18n/locales/ca/browse.json | 3 +-
.../airflow/ui/public/i18n/locales/de/admin.json | 14 +-
.../airflow/ui/public/i18n/locales/de/assets.json | 15 +-
.../airflow/ui/public/i18n/locales/de/browse.json | 5 +-
.../airflow/ui/public/i18n/locales/de/common.json | 124 +-
.../ui/public/i18n/locales/de/components.json | 19 +-
.../src/airflow/ui/public/i18n/locales/de/dag.json | 15 +-
.../airflow/ui/public/i18n/locales/de/dags.json | 17 +-
.../ui/public/i18n/locales/de/dashboard.json | 18 +
.../airflow/ui/public/i18n/locales/de/hitl.json | 14 +
.../airflow/ui/public/i18n/locales/el/admin.json | 3 +-
.../airflow/ui/public/i18n/locales/el/browse.json | 3 +-
.../airflow/ui/public/i18n/locales/en/admin.json | 13 +-
.../airflow/ui/public/i18n/locales/en/assets.json | 2 +
.../airflow/ui/public/i18n/locales/en/browse.json | 5 +-
.../airflow/ui/public/i18n/locales/en/common.json | 18 +-
.../ui/public/i18n/locales/en/components.json | 4 +
.../src/airflow/ui/public/i18n/locales/en/dag.json | 2 +
.../airflow/ui/public/i18n/locales/en/dags.json | 8 +
.../airflow/ui/public/i18n/locales/es/admin.json | 3 +-
.../airflow/ui/public/i18n/locales/es/browse.json | 3 +-
.../airflow/ui/public/i18n/locales/fr/admin.json | 3 +-
.../airflow/ui/public/i18n/locales/fr/assets.json | 5 +-
.../airflow/ui/public/i18n/locales/fr/browse.json | 3 +-
.../airflow/ui/public/i18n/locales/fr/common.json | 7 +-
.../ui/public/i18n/locales/fr/components.json | 15 +-
.../src/airflow/ui/public/i18n/locales/fr/dag.json | 9 +-
.../airflow/ui/public/i18n/locales/fr/dags.json | 4 +-
.../ui/public/i18n/locales/fr/dashboard.json | 10 +-
.../airflow/ui/public/i18n/locales/he/admin.json | 3 +-
.../airflow/ui/public/i18n/locales/he/browse.json | 3 +-
.../airflow/ui/public/i18n/locales/hi/admin.json | 3 +-
.../airflow/ui/public/i18n/locales/hi/browse.json | 3 +-
.../airflow/ui/public/i18n/locales/hu/admin.json | 3 +-
.../airflow/ui/public/i18n/locales/hu/browse.json | 3 +-
.../airflow/ui/public/i18n/locales/it/admin.json | 3 +-
.../airflow/ui/public/i18n/locales/it/browse.json | 3 +-
.../airflow/ui/public/i18n/locales/ja/admin.json | 3 +-
.../airflow/ui/public/i18n/locales/ja/browse.json | 3 +-
.../airflow/ui/public/i18n/locales/ko/admin.json | 3 +-
.../airflow/ui/public/i18n/locales/ko/assets.json | 10 +-
.../airflow/ui/public/i18n/locales/ko/browse.json | 3 +-
.../airflow/ui/public/i18n/locales/nl/admin.json | 3 +-
.../airflow/ui/public/i18n/locales/nl/browse.json | 3 +-
.../airflow/ui/public/i18n/locales/pl/admin.json | 3 +-
.../airflow/ui/public/i18n/locales/pl/browse.json | 3 +-
.../airflow/ui/public/i18n/locales/pt/admin.json | 3 +-
.../airflow/ui/public/i18n/locales/pt/browse.json | 3 +-
.../airflow/ui/public/i18n/locales/ru/admin.json | 3 +-
.../airflow/ui/public/i18n/locales/ru/browse.json | 3 +-
.../airflow/ui/public/i18n/locales/th/admin.json | 3 +-
.../airflow/ui/public/i18n/locales/th/browse.json | 3 +-
.../airflow/ui/public/i18n/locales/tr/admin.json | 3 +-
.../airflow/ui/public/i18n/locales/tr/browse.json | 3 +-
.../ui/public/i18n/locales/zh-CN/admin.json | 3 +-
.../ui/public/i18n/locales/zh-CN/browse.json | 3 +-
.../ui/public/i18n/locales/zh-TW/admin.json | 3 +-
.../ui/public/i18n/locales/zh-TW/browse.json | 3 +-
.../ui/public/i18n/locales/zh-TW/common.json | 35 +-
airflow-core/src/airflow/ui/rules/core.js | 37 +
airflow-core/src/airflow/ui/rules/typescript.js | 10 +
.../components/ActionAccordion/ActionAccordion.tsx | 2 +-
.../ui/src/components/AdvancedSearchToggle.tsx | 2 +-
.../src/airflow/ui/src/components/AnsiRenderer.tsx | 9 +-
.../src/components/AssetExpression/AndGateNode.tsx | 2 +-
.../components/AssetExpression/AssetExpression.tsx | 2 +-
.../ui/src/components/Assets/AssetEvents.tsx | 87 +-
.../src/components/Assets/TriggeredRuns.test.tsx | 86 +
.../ui/src/components/Assets/TriggeredRuns.tsx | 44 +-
.../src/components/Banner/BackfillBanner.test.tsx | 1 +
.../ui/src/components/Clear/Run/ClearRunDialog.tsx | 167 +-
.../TaskInstance/ClearGroupTaskInstanceDialog.tsx | 197 +-
.../Clear/TaskInstance/ClearTaskInstanceDialog.tsx | 204 +-
.../Clear/TaskInstance/runOnLatestVersion.test.ts | 14 +
.../Clear/TaskInstance/runOnLatestVersion.ts | 21 +-
.../src/airflow/ui/src/components/ConfigForm.tsx | 7 +-
.../ui/src/components/ConfirmationModal.tsx | 55 +-
.../airflow/ui/src/components/DAGWarningsModal.tsx | 62 +-
.../src/components/DagActions/RunBackfillForm.tsx | 5 +-
.../src/airflow/ui/src/components/DagRunInfo.tsx | 2 +-
.../ui/src/components/DataTable/CardList.tsx | 37 +-
.../ui/src/components/DataTable/DataTable.test.tsx | 314 +-
.../ui/src/components/DataTable/DataTable.tsx | 190 +-
.../src/components/DataTable/FilterMenuButton.tsx | 8 +-
.../ui/src/components/DataTable/TableList.tsx | 69 +-
.../components/DataTable/ToggleTableDisplay.tsx | 1 -
.../ui/src/components/DataTable/modelName.test.ts | 106 +
.../src/components/DataTable/useRowSelection.tsx | 4 +
.../ui/src/components/DateTimeInput.test.tsx | 106 +-
.../airflow/ui/src/components/DateTimeInput.tsx | 247 +-
.../src/airflow/ui/src/components/DeleteDialog.tsx | 64 +-
.../ui/src/components/DisplayMarkdownButton.tsx | 12 +-
.../ui/src/components/EditableMarkdownButton.tsx | 2 +-
.../ui/src/components/FilterBar/FilterBar.test.tsx | 169 +-
.../ui/src/components/FilterBar/FilterBar.tsx | 106 +-
.../ui/src/components/FilterBar/FilterPill.tsx | 136 +-
.../ui/src/components/FilterBar/defaultIcons.tsx | 17 +-
.../filters/BooleanFilter.tsx} | 24 +-
.../components/FilterBar/filters/DateFilter.tsx | 3 +-
.../src/components/FilterBar/filters/DateInput.tsx | 9 +-
.../FilterBar/filters/DateRangeFilter.test.tsx | 3 +-
.../FilterBar/filters/DateRangeFilter.tsx | 22 +-
.../FilterBar/filters/DateRangeInputs.tsx | 7 +-
.../FilterBar/filters/MultiSelectFilter.tsx} | 32 +-
.../FilterBar/filters/MultiSelectPill.tsx | 176 +
.../components/FilterBar/filters/SelectFilter.tsx | 42 +-
.../components/FilterBar/filters/TagsFilter.tsx | 57 +
.../FilterBar/filters/TextSearchFilter.tsx | 4 +-
.../FilterBar/filters/TimetableTypeFilter.tsx | 55 +
.../airflow/ui/src/components/FilterBar/index.ts | 4 +
.../airflow/ui/src/components/FilterBar/types.ts | 22 +-
.../airflow/ui/src/components/FilterBar/utils.ts | 23 +
.../components/FlexibleForm/FieldObject.test.tsx | 88 +
.../ui/src/components/FlexibleForm/FieldObject.tsx | 2 +-
.../components/FlexibleForm/FieldPassword.test.tsx | 115 +
.../{FieldObject.tsx => FieldPassword.tsx} | 49 +-
.../src/components/FlexibleForm/FieldSelector.tsx | 6 +
.../src/components/FlexibleForm/FlexibleForm.tsx | 4 +-
.../ui/src/components/Graph/AssetConditionNode.tsx | 2 +-
.../ui/src/components/Graph/TaskLink.test.tsx | 19 +
.../airflow/ui/src/components/Graph/TaskLink.tsx | 66 +-
.../ui/src/components/Graph/TaskNode.test.tsx | 44 +-
.../airflow/ui/src/components/Graph/TaskNode.tsx | 4 +
.../components/HITLReview/HITLReviewModal.test.tsx | 1 +
.../src/components/HITLReview/HITLReviewModal.tsx | 100 +-
.../KeyboardShortcuts/KeyboardShortcutsModal.tsx | 76 +-
.../airflow/ui/src/components/LimitedItemsList.tsx | 6 +-
.../src/components/MarkAs/Run/MarkRunAsDialog.tsx | 67 +-
.../MarkAs/TaskGroup/MarkTaskGroupAsDialog.tsx | 139 +-
.../TaskInstance/MarkTaskInstanceAsDialog.tsx | 142 +-
.../airflow/ui/src/components/MarkdownModal.tsx | 14 +-
.../airflow/ui/src/components/MatchModeToggle.tsx | 58 +
.../PasswordToggle.tsx} | 25 +-
.../src/airflow/ui/src/components/PoolBar.tsx | 2 +-
.../ui/src/components/PresetFiltersMenu.tsx | 2 +-
.../airflow/ui/src/components/SearchBar.test.tsx | 17 +
.../src/airflow/ui/src/components/SearchBar.tsx | 7 +-
.../ui/src/components/SearchDags/SearchDags.tsx | 8 +-
.../SearchDags/SearchDagsDropdownIndicator.tsx | 2 +-
.../src/airflow/ui/src/components/StateBadge.tsx | 4 +-
.../src/airflow/ui/src/components/StatsCard.tsx | 3 +-
.../ui/src/components/TaskInstanceTooltip.tsx | 2 +-
.../components/TriggerDag/TriggerDAGForm.test.tsx | 1 +
.../src/components/TriggerDag/TriggerDAGModal.tsx | 154 +-
.../ui/src/components/renderStructuredLog.tsx | 12 +-
.../ui/src/components/ui/ActionBar/BarContent.tsx | 4 +-
.../src/airflow/ui/src/components/ui/Alert.tsx | 10 +-
.../ui/src/components/ui/Breadcrumb/Root.tsx | 12 +-
.../src/airflow/ui/src/components/ui/Checkbox.tsx | 10 +-
.../src/airflow/ui/src/components/ui/Clipboard.tsx | 16 +-
.../ui/src/components/ui/Dialog/CloseTrigger.tsx | 14 +-
.../ui/src/components/ui/Dialog/Content.tsx | 4 +-
.../airflow/ui/src/components/ui/IconButton.tsx | 4 +-
.../ui/src/components/ui/InputWithAddon.tsx | 6 +-
.../airflow/ui/src/components/ui/LazyClipboard.tsx | 6 +-
.../ui/src/components/ui/Menu/MenuContent.tsx | 4 +-
.../ui/src/components/ui/Modal/Modal.test.tsx | 183 +
.../airflow/ui/src/components/ui/Modal/Modal.tsx | 107 +
.../airflow/ui/src/components/ui/Modal/index.ts | 5 +-
.../airflow/ui/src/components/ui/NumberInput.tsx | 4 +-
.../ui/src/components/ui/Pagination/Items.tsx | 3 +-
.../airflow/ui/src/components/ui/Popover/Arrow.tsx | 4 +-
.../ui/src/components/ui/Popover/CloseTrigger.tsx | 14 +-
.../ui/src/components/ui/Popover/Content.tsx | 6 +-
.../src/airflow/ui/src/components/ui/RadioCard.tsx | 6 +-
.../airflow/ui/src/components/ui/ResetButton.tsx | 2 +-
.../ui/src/components/ui/Select/Content.tsx | 4 +-
.../ui/src/components/ui/Select/ItemGroup.tsx | 4 +-
.../ui/src/components/ui/Select/ValueText.tsx | 4 +-
.../src/airflow/ui/src/components/ui/Switch.tsx | 10 +-
.../src/airflow/ui/src/components/ui/Tag.tsx | 6 +-
.../src/airflow/ui/src/components/ui/Tooltip.tsx | 11 +-
.../src/airflow/ui/src/components/ui/index.ts | 29 +-
.../src/airflow/ui/src/constants/filterConfigs.tsx | 163 +-
.../src/airflow/ui/src/hooks/useDateRangeFilter.ts | 32 +-
.../src/airflow/ui/src/hooks/useMatchMode.ts | 60 +
.../ui/src/hooks/usePluginAppliesToContext.test.ts | 147 +
.../ui/src/hooks/usePluginAppliesToContext.ts | 76 +
.../airflow/ui/src/hooks/usePluginTabs.test.tsx | 121 +
.../src/airflow/ui/src/hooks/usePluginTabs.tsx | 52 +-
.../airflow/ui/src/hooks/useRequiredActionTabs.ts | 4 +-
.../airflow/ui/src/hooks/useScopedPluginViews.ts | 47 +
.../src/airflow/ui/src/hooks/useShortcut.ts | 2 +-
.../src/airflow/ui/src/layouts/DagsLayout.tsx | 2 +-
.../airflow/ui/src/layouts/Details/Grid/Bar.tsx | 2 +-
.../src/layouts/Details/Grid/GridButton.test.tsx | 26 +-
.../ui/src/layouts/Details/Grid/GridButton.tsx | 7 +-
.../ui/src/layouts/Details/Grid/GridTI.test.tsx | 36 +-
.../airflow/ui/src/layouts/Details/Grid/GridTI.tsx | 19 +-
.../ui/src/layouts/Details/PanelButtons.tsx | 6 +-
.../src/airflow/ui/src/layouts/Nav/AdminButton.tsx | 2 +-
.../airflow/ui/src/layouts/Nav/BrowseButton.tsx | 2 +-
.../src/airflow/ui/src/layouts/Nav/DocsButton.tsx | 2 +-
.../airflow/ui/src/layouts/Nav/LanguageModal.tsx | 17 +-
.../ui/src/layouts/Nav/LanguageSelector.tsx | 4 +-
.../src/airflow/ui/src/layouts/Nav/LogoutModal.tsx | 5 +-
.../src/airflow/ui/src/layouts/Nav/Nav.tsx | 2 +-
.../src/airflow/ui/src/layouts/Nav/PluginMenus.tsx | 2 +-
.../airflow/ui/src/layouts/Nav/SecurityButton.tsx | 2 +-
.../airflow/ui/src/layouts/Nav/TimezoneModal.tsx | 19 +-
.../ui/src/layouts/Nav/TimezoneSelector.tsx | 6 +-
.../ui/src/layouts/Nav/TokenGenerationModal.tsx | 100 +-
.../ui/src/layouts/Nav/UserSettingsButton.test.tsx | 81 +-
.../ui/src/layouts/Nav/UserSettingsButton.tsx | 45 +-
airflow-core/src/airflow/ui/src/main.tsx | 3 +
.../ui/src/pages/Asset/AssetPanelButtons.tsx | 3 +-
.../Asset/AssetStateStore/AssetStateStore.tsx | 21 +-
.../Asset/AssetStateStore/AssetStateStoreModal.tsx | 87 +-
.../src/pages/Asset/CreateAssetEventModal.test.tsx | 32 +-
.../ui/src/pages/Asset/CreateAssetEventModal.tsx | 160 +-
.../airflow/ui/src/pages/AssetsList/AssetsList.tsx | 58 +-
.../pages/AssetsList/DependencyPopover.test.tsx | 102 +
.../ui/src/pages/AssetsList/DependencyPopover.tsx | 42 +-
.../src/airflow/ui/src/pages/Configs/Configs.tsx | 20 +-
.../src/pages/Connections/AddConnectionButton.tsx | 32 +-
.../pages/Connections/ConnectionStandardFields.tsx | 33 +-
.../ui/src/pages/Connections/Connections.tsx | 24 +-
.../pages/Connections/DeleteConnectionButton.tsx | 70 +-
.../pages/Connections/DeleteConnectionsButton.tsx | 70 +-
.../src/pages/Connections/EditConnectionButton.tsx | 38 +-
.../pages/Dag/Backfills/BackfillDagRunsModal.tsx | 48 +-
.../ui/src/pages/Dag/Backfills/Backfills.tsx | 9 +-
.../src/airflow/ui/src/pages/Dag/Code/Code.tsx | 40 +-
.../ui/src/pages/Dag/DagImportErrorModal.tsx | 68 +-
.../ui/src/pages/Dag/DeadlineAlertsBadge.test.tsx | 1 +
.../src/pages/Dag/Overview/AllDeadlinesModal.tsx | 85 +-
.../ui/src/pages/Dag/Overview/Overview.test.tsx | 18 +
.../airflow/ui/src/pages/Dag/Overview/Overview.tsx | 8 +-
.../src/airflow/ui/src/pages/Dag/Tasks/Tasks.tsx | 8 +-
.../src/pages/DagRuns/BulkClearDagRunsButton.tsx | 94 +-
.../src/pages/DagRuns/BulkDeleteDagRunsButton.tsx | 158 +-
.../src/pages/DagRuns/BulkMarkDagRunsAsButton.tsx | 87 +-
.../airflow/ui/src/pages/DagRuns/DagRuns.test.tsx | 27 +-
.../src/airflow/ui/src/pages/DagRuns/DagRuns.tsx | 27 +-
.../ui/src/pages/DagRuns/DagRunsFilters.tsx | 10 +-
.../ui/src/pages/DagsList/AssetSchedule.tsx | 2 +-
.../DagsList/DagsFilters/DagsFilterSelect.tsx | 83 -
.../DagsList/DagsFilters/DagsFilters.test.tsx | 83 +-
.../src/pages/DagsList/DagsFilters/DagsFilters.tsx | 230 +-
.../pages/DagsList/DagsFilters/FavoriteFilter.tsx | 61 -
.../pages/DagsList/DagsFilters/PausedFilter.tsx | 40 -
.../pages/DagsList/DagsFilters/RunStateSelect.tsx | 87 -
.../src/pages/DagsList/DagsFilters/TagFilter.tsx | 83 -
.../src/pages/DagsList/DagsFilters/TeamFilter.tsx | 80 -
.../DagsList/DagsFilters/TimetableTypeFilter.tsx | 58 -
.../ui/src/pages/DagsList/DagsList.test.tsx | 14 +-
.../src/airflow/ui/src/pages/DagsList/DagsList.tsx | 60 +-
.../pages/DagsList/PartitionScheduleModal.test.tsx | 49 +-
.../src/pages/DagsList/PartitionScheduleModal.tsx | 53 +-
.../ui/src/pages/DagsList/usePausedDefault.ts | 57 +
.../ui/src/pages/DagsList/useTagFilter.test.tsx | 245 -
.../airflow/ui/src/pages/DagsList/useTagFilter.ts | 50 -
.../ui/src/pages/Dashboard/AlertContent.test.tsx | 1 +
.../ui/src/pages/Dashboard/Dashboard.test.tsx | 1 +
.../Dashboard/PoolSummary/PoolSummary.test.tsx | 1 +
.../pages/Dashboard/Stats/DagImportErrorsModal.tsx | 148 +-
.../Dashboard/Stats/PluginImportErrorsModal.tsx | 140 +-
.../src/airflow/ui/src/pages/Deadlines/index.tsx | 20 +-
.../src/airflow/ui/src/pages/Events/Events.tsx | 38 +-
.../src/airflow/ui/src/pages/ExternalView.tsx | 5 +-
.../ui/src/pages/HITLTaskInstances/HITLFilters.tsx | 19 +-
.../HITLTaskInstances/HITLResponseForm.test.tsx | 1 +
.../HITLTaskInstances/HITLTaskInstances.test.tsx | 1 +
.../pages/HITLTaskInstances/HITLTaskInstances.tsx | 2 +-
airflow-core/src/airflow/ui/src/pages/Jobs.tsx | 18 +-
.../ui/src/pages/MappedTaskInstance/Details.tsx | 2 +-
airflow-core/src/airflow/ui/src/pages/Plugins.tsx | 12 +-
.../airflow/ui/src/pages/Pools/AddPoolButton.tsx | 32 +-
.../airflow/ui/src/pages/Pools/EditPoolButton.tsx | 32 +-
.../src/airflow/ui/src/pages/Pools/Pools.tsx | 85 +-
.../src/airflow/ui/src/pages/Providers.tsx | 8 +-
.../src/airflow/ui/src/pages/ReactPlugin.test.tsx | 26 +-
.../src/airflow/ui/src/pages/ReactPlugin.tsx | 10 +-
.../ui/src/pages/Run/DeadlineStatusModal.tsx | 200 +-
airflow-core/src/airflow/ui/src/pages/Security.tsx | 2 +-
.../ui/src/pages/Task/Overview/Overview.test.tsx | 18 +
.../ui/src/pages/Task/Overview/Overview.tsx | 8 +-
.../ui/src/pages/TaskInstance/Logs/Logs.test.tsx | 313 +-
.../ui/src/pages/TaskInstance/Logs/Logs.tsx | 42 +-
.../pages/TaskInstance/Logs/LogsSelection.test.tsx | 438 ++
.../src/pages/TaskInstance/Logs/TaskLogContent.tsx | 50 +-
.../pages/TaskInstance/Logs/logSelection.test.ts | 14 +-
.../ui/src/pages/TaskInstance/Logs/logSelection.ts | 15 +-
.../ui/src/pages/TaskInstance/Logs/utils.ts | 2 +
.../TaskInstances/BulkClearTaskInstancesButton.tsx | 147 +-
.../BulkDeleteTaskInstancesButton.tsx | 161 +-
.../BulkMarkTaskInstancesAsButton.tsx | 153 +-
.../src/pages/TaskInstances/TaskInstances.test.tsx | 1 +
.../ui/src/pages/TaskInstances/TaskInstances.tsx | 2 +-
.../pages/TaskInstances/TaskInstancesFilter.tsx | 15 +-
.../ui/src/pages/TaskStateStore/TaskStateStore.tsx | 19 +-
.../pages/TaskStateStore/TaskStateStoreModal.tsx | 207 +-
.../src/pages/Variables/DeleteVariablesButton.tsx | 91 +-
.../src/pages/Variables/ImportVariablesButton.tsx | 24 +-
.../Variables/ManageVariable/AddVariableButton.tsx | 32 +-
.../ManageVariable/DeleteVariableButton.tsx | 70 +-
.../ManageVariable/EditVariableButton.tsx | 32 +-
.../Variables/ManageVariable/VariableForm.test.tsx | 6 +-
.../Variables/ManageVariable/VariableForm.tsx | 22 +-
.../airflow/ui/src/pages/Variables/Variables.tsx | 50 +-
.../src/airflow/ui/src/pages/XCom/XCom.tsx | 61 +-
.../src/airflow/ui/src/pages/XCom/XComFilters.tsx | 9 +-
.../src/airflow/ui/src/pages/XCom/XComModal.tsx | 79 +-
.../ui/src/queries/useDagRunStateCounts.tsx | 5 +-
.../src/airflow/ui/src/queries/useDags.tsx | 14 +-
.../ui/src/queries/useGridTISummaries.test.tsx | 4 +-
.../src/airflow/ui/src/queries/useLogs.tsx | 7 +-
.../src/airflow/ui/src/queries/useStoreMutation.ts | 2 +-
.../airflow/ui/src/queries/useTestConnection.ts | 4 +-
.../airflow/ui/src/queries/useTogglePause.test.tsx | 4 +-
.../src/airflow/ui/src/queries/useTogglePause.ts | 2 +-
airflow-core/src/airflow/ui/src/theme.ts | 32 +-
airflow-core/src/airflow/ui/src/utils/TrimText.tsx | 88 +-
.../airflow/ui/src/utils/pluginAppliesTo.test.ts | 225 +
.../src/airflow/ui/src/utils/pluginAppliesTo.ts | 155 +
.../ui/src/utils/useFiltersHandler.test.tsx | 142 +
.../src/airflow/ui/src/utils/useFiltersHandler.ts | 25 +
.../airflow/ui/tests/e2e/pages/AssetListPage.ts | 3 +-
.../src/airflow/ui/tests/e2e/pages/BackfillPage.ts | 51 +-
.../ui/tests/e2e/pages/ConfigurationPage.ts | 3 +-
.../airflow/ui/tests/e2e/pages/ConnectionsPage.ts | 9 +-
.../src/airflow/ui/tests/e2e/pages/DagRunsPage.ts | 7 +-
.../airflow/ui/tests/e2e/pages/DagRunsTabPage.ts | 3 +-
.../src/airflow/ui/tests/e2e/pages/DagsPage.ts | 41 +-
.../src/airflow/ui/tests/e2e/pages/EventsPage.ts | 6 +-
.../src/airflow/ui/tests/e2e/pages/PluginsPage.ts | 3 +-
.../airflow/ui/tests/e2e/pages/ProvidersPage.ts | 6 +-
.../ui/tests/e2e/pages/TaskInstancesPage.ts | 13 +-
.../src/airflow/ui/tests/e2e/pages/VariablePage.ts | 3 +-
.../src/airflow/ui/tests/e2e/pages/XComsPage.ts | 7 +-
.../airflow/ui/tests/e2e/specs/backfill.spec.ts | 17 +-
.../airflow/ui/tests/e2e/specs/dags-list.spec.ts | 4 +-
.../src/airflow/ui/tests/e2e/utils/ui/selectors.ts | 11 +-
.../airflow/utils/dag_version_inflation_checker.py | 6 +-
airflow-core/src/airflow/utils/db.py | 34 +-
.../tests/unit/api/common/test_delete_dag.py | 78 +
.../tests/unit/api_fastapi/common/test_dagbag.py | 61 +-
.../core_api/routes/public/test_assets.py | 383 +-
.../core_api/routes/public/test_dag_run.py | 94 +-
.../core_api/routes/public/test_plugins.py | 155 +-
.../core_api/routes/public/test_task_instances.py | 34 +
.../api_fastapi/core_api/routes/ui/test_assets.py | 41 +
.../api_fastapi/core_api/routes/ui/test_auth.py | 44 +
.../versions/head/test_asset_events.py | 24 +
.../tests/unit/cli/commands/test_config_command.py | 85 +
.../unit/cli/commands/test_gunicorn_monitor.py | 43 +-
.../unit/cli/commands/test_plugins_command.py | 6 +-
.../unit/cli/commands/test_scheduler_command.py | 2 +
.../tests/unit/cli/commands/test_team_command.py | 149 +
.../unit/cli/commands/test_variable_command.py | 34 +
.../tests/unit/dag_processing/test_collection.py | 30 +
.../tests/unit/dag_processing/test_manager.py | 299 +-
.../tests/unit/dag_processing/test_processor.py | 144 +
.../tests/unit/executors/test_base_executor.py | 23 +
airflow-core/tests/unit/jobs/test_scheduler_job.py | 44 +-
.../migrations/test_0131_lower_case_team_names.py | 138 +
airflow-core/tests/unit/models/test_callback.py | 18 +
airflow-core/tests/unit/models/test_cleartasks.py | 179 +-
airflow-core/tests/unit/models/test_dagbag.py | 132 +-
airflow-core/tests/unit/models/test_deadline.py | 17 +
.../tests/unit/models/test_deadline_alert.py | 30 +
.../tests/unit/models/test_prune_deadlines.py | 126 +
.../tests/unit/models/test_serialized_dag.py | 113 +-
airflow-core/tests/unit/models/test_trigger.py | 18 +
airflow-core/tests/unit/models/test_variable.py | 8 +
airflow-core/tests/unit/plugins/test_plugin.py | 6 +-
.../tests/unit/plugins/test_plugins_manager.py | 132 +
.../test_deadline_reference_registry.py | 82 +
.../tests/unit/serialization/test_encoders.py | 39 +
.../unit/serialization/test_serialized_objects.py | 30 +
.../tests/unit/triggers/test_base_trigger.py | 10 +
airflow-core/tests/unit/triggers/test_callback.py | 19 +
.../utils/test_dag_version_inflation_checker.py | 77 +
airflow-core/tests/unit/utils/test_db.py | 35 +-
airflow-ctl-tests/pyproject.toml | 5 +-
airflow-ctl/pyproject.toml | 5 +-
.../airflowctl/api/datamodels/auth_generated.py | 2 +-
.../src/airflowctl/api/datamodels/generated.py | 66 +-
airflow-ctl/src/airflowctl/ctl/cli_config.py | 17 +-
.../tests/airflow_ctl/api/test_operations.py | 23 +-
.../tests/airflow_ctl/ctl/test_cli_config.py | 51 +-
airflow-e2e-tests/pyproject.toml | 5 +-
.../go_sdk_tests/test_go_sdk_taskflow_binding.py | 170 +
chart/.pre-commit-config.yaml | 7 +
chart/dockerfiles/pgbouncer-exporter/Dockerfile | 8 +-
.../pgbouncer-exporter/build_and_push.sh | 7 +
chart/files/pod-template-file.kubernetes-helm-yaml | 9 +
chart/pyproject.toml | 5 +-
.../templates/pgbouncer/pgbouncer-deployment.yaml | 1 +
chart/templates/workers/worker-deployment.yaml | 9 +
.../airflow_aux/test_pod_template_file.py | 70 +-
chart/tests/helm_tests/other/test_pgbouncer.py | 14 +
chart/tests/helm_tests/security/test_kerberos.py | 71 +-
chart/values.schema.json | 79 +
chart/values.yaml | 24 +
chart/values_schema.schema.json | 88 +-
clients/python/CHANGELOG.md | 10 +
clients/python/pyproject.toml | 5 +-
clients/python/version.txt | 2 +-
contributing-docs/03_contributors_quick_start.rst | 2 +-
.../03a_contributors_quick_start_beginners.rst | 10 +-
contributing-docs/05_pull_requests.rst | 2 +-
contributing-docs/12_provider_distributions.rst | 5 +-
contributing-docs/30_new_language_sdk.rst | 32 +
.../31_task_execution_architecture.rst | 104 +
contributing-docs/README.rst | 8 +
...agram_coordinator_execution_architecture.md5sum | 1 +
.../diagram_coordinator_execution_architecture.png | Bin 0 -> 182801 bytes
.../diagram_coordinator_execution_architecture.py | 111 +-
.../diagram_coordinator_execution_sequence.md5sum | 1 +
.../diagram_coordinator_execution_sequence.png | Bin 0 -> 219883 bytes
.../diagram_coordinator_execution_sequence.py | 72 +-
.../diagram_task_sdk_execution_architecture.md5sum | 0
.../diagram_task_sdk_execution_architecture.png | Bin
.../diagram_task_sdk_execution_architecture.py | 0
.../diagram_task_sdk_execution_sequence.md5sum | 0
.../diagram_task_sdk_execution_sequence.png | Bin
.../images}/diagram_task_sdk_execution_sequence.py | 0
contributing-docs/testing/k8s_tests.rst | 2 +-
contributing-docs/testing/system_tests.rst | 2 +-
dev/README_RELEASE_MYPY.md | 33 +-
dev/breeze/doc/08_ci_tasks.rst | 2 +-
.../adr/0003-bootstrapping-virtual-environment.md | 6 +-
...-using-contributed-code-when-building-images.md | 2 +-
.../0011-unified-communication-with-the-users.md | 2 +-
dev/breeze/doc/ci/02_images.md | 14 +-
dev/breeze/doc/ci/04_selective_checks.md | 10 +-
dev/breeze/doc/ci/05_workflows.md | 2 +-
dev/breeze/doc/images/output_build-docs.svg | 22 +-
dev/breeze/doc/images/output_build-docs.txt | 2 +-
dev/breeze/doc/images/output_ci_upgrade.svg | 32 +-
dev/breeze/doc/images/output_ci_upgrade.txt | 2 +-
...tput_release-management_add-back-references.svg | 22 +-
...tput_release-management_add-back-references.txt | 2 +-
...e-management_prepare-provider-distributions.svg | 50 +-
...e-management_prepare-provider-distributions.txt | 2 +-
.../output_release-management_publish-docs.svg | 22 +-
.../output_release-management_publish-docs.txt | 2 +-
dev/breeze/doc/images/output_shell.svg | 190 +-
dev/breeze/doc/images/output_shell.txt | 2 +-
dev/breeze/doc/images/output_start-airflow.svg | 150 +-
dev/breeze/doc/images/output_start-airflow.txt | 2 +-
.../images/output_workflow-run_publish-docs.svg | 22 +-
.../images/output_workflow-run_publish-docs.txt | 2 +-
dev/breeze/pyproject.toml | 4 +-
.../src/airflow_breeze/commands/ci_commands.py | 15 +-
.../airflow_breeze/commands/ci_image_commands.py | 68 +-
.../src/airflow_breeze/commands/common_options.py | 9 -
.../airflow_breeze/commands/developer_commands.py | 26 +-
.../commands/developer_commands_config.py | 12 -
.../airflow_breeze/commands/kubernetes_commands.py | 71 +-
.../airflow_breeze/commands/registry_commands.py | 6 +-
.../commands/release_management_commands.py | 33 +-
.../commands/release_management_commands_config.py | 1 +
.../airflow_breeze/commands/testing_commands.py | 6 +-
dev/breeze/src/airflow_breeze/global_constants.py | 34 +-
.../src/airflow_breeze/params/shell_params.py | 3 -
.../prepare_providers/provider_documentation.py | 56 +-
.../airflow_breeze/utils/add_back_references.py | 3 +
.../airflow_breeze/utils/docker_command_utils.py | 4 +
.../src/airflow_breeze/utils/docs_publisher.py | 3 +
.../utils/mark_image_as_refreshed.py | 6 +-
.../src/airflow_breeze/utils/md5_build_check.py | 13 +
.../src/airflow_breeze/utils/publish_docs_to_s3.py | 1 +
.../src/airflow_breeze/utils/selective_checks.py | 28 +-
.../breeze/tests/test_add_back_references.py | 17 +-
dev/breeze/tests/test_ci_image_commands.py | 188 +
dev/breeze/tests/test_developer_commands.py | 10 +-
dev/breeze/tests/test_docker_command_utils.py | 30 +-
dev/breeze/tests/test_docs_publisher.py | 7 +
.../tests/test_kubernetes_lang_sdk_commands.py | 73 +-
dev/breeze/tests/test_packages.py | 1 +
dev/breeze/tests/test_provider_documentation.py | 31 +
dev/breeze/tests/test_publish_docs_to_s3.py | 2 +
.../tests/test_release_management_commands.py | 55 +-
dev/breeze/tests/test_selective_checks.py | 21 +
dev/breeze/uv.lock | 854 +--
dev/check_changelog_entries.py | 237 +
dev/mypy/docs/conf.py | 75 +
dev/mypy/docs/index.rst | 75 +
dev/mypy/docs/release_notes.rst | 21 +
.../mypy/docs/spelling_wordlist.txt | 13 +-
dev/mypy/pyproject.toml | 21 +-
dev/pyproject.toml | 5 +-
.../react_plugin_template/eslint.config.js | 34 +
.../react_plugin_template/package.json | 5 +-
.../react_plugin_template/pnpm-lock.yaml | 65 +-
.../react_plugin_template/src/main.tsx | 3 +-
dev/registry/derive_wave_providers.py | 1 +
dev/registry/pyproject.toml | 5 +-
dev/registry/tests/test_derive_wave_providers.py | 2 +-
devel-common/pyproject.toml | 5 +-
.../docs_build/dev_index_template.html.jinja2 | 9 +
.../src/sphinx_exts/docs_build/docs_builder.py | 3 +
.../src/sphinx_exts/operators_and_hooks_ref.py | 27 +
.../templates/email-backends.rst.jinja2 | 29 +
devel-common/src/tests_common/test_utils/dag.py | 6 +-
.../sphinx_exts/docs_build/test_docs_builder.py | 15 +-
docker-context-files/.README.md | 2 +-
docker-stack-docs/build-arg-ref.rst | 2 +-
.../customizing/add-build-essential-custom.sh | 2 +-
.../docker-examples/customizing/custom-sources.sh | 2 +-
.../customizing/pypi-dev-runtime-deps.sh | 2 +-
.../customizing/pypi-extras-and-deps.sh | 2 +-
.../customizing/pypi-selected-version.sh | 2 +-
.../restricted/restricted_environments.sh | 2 +-
docker-stack-docs/pyproject.toml | 5 +-
docker-tests/pyproject.toml | 5 +-
docs/README.md | 3 +-
docs/spelling_wordlist.txt | 9 +
generated/PYPI_README.md | 2 +-
generated/known_airflow_exceptions.txt | 6 +-
go-sdk/.pre-commit-config.yaml | 19 -
go-sdk/Justfile | 12 +-
go-sdk/README.md | 170 +-
go-sdk/adr/0001-bundle-packing-options.md | 3 +-
.../adr/0003-coordinator-protocol-msgpack-ipc.md | 34 +-
go-sdk/adr/0005-retire-go-edge-worker.md | 67 +
go-sdk/bundle/bundlev1/bundlev1client/doc.go | 22 -
go-sdk/bundle/bundlev1/bundlev1client/grpc.go | 126 -
go-sdk/bundle/bundlev1/bundlev1server/doc.go | 10 +-
.../bundle/bundlev1/bundlev1server/impl/plugin.go | 189 -
go-sdk/bundle/bundlev1/bundlev1server/server.go | 84 +-
.../bundlev1/bundlev1server/server_test.go} | 39 +-
go-sdk/bundle/bundlev1/registry.go | 12 -
go-sdk/bundle/bundlev1/schemas.go | 43 +-
go-sdk/bundle/bundlev1/task.go | 185 +-
go-sdk/bundle/bundlev1/task_test.go | 134 +-
go-sdk/cmd/airflow-go-edge-worker/main.go | 37 -
.../cmd/airflow-go-pack/pack_integration_test.go | 12 +
go-sdk/dags/go_examples.py | 111 +-
go-sdk/edge/commands/root.go | 44 -
go-sdk/edge/commands/run.go | 68 -
go-sdk/edge/worker.go | 516 --
go-sdk/edge/worker_test.go | 107 -
go-sdk/example/bundle/Justfile | 13 +-
.../bundle/concurrentxcom/concurrentxcom.go | 11 +-
.../bundle/concurrentxcom/concurrentxcom_test.go | 3 +-
go-sdk/example/bundle/main.go | 37 +-
go-sdk/example/bundle/main_test.go | 3 +-
.../bundle/taskflowbinding/taskflowbinding.go | 266 +
.../bundle/taskflowbinding/taskflowbinding_test.go | 180 +
go-sdk/go.mod | 37 -
go-sdk/go.sum | 125 +-
go-sdk/internal/protov1/plugin.pb.go | 1121 ----
go-sdk/internal/protov1/plugin.proto | 65 -
go-sdk/internal/protov1/plugin_grpc.pb.go | 165 -
go-sdk/pkg/api/client.gen.go | 3224 ----------
go-sdk/pkg/api/client.go | 75 -
go-sdk/pkg/api/init.go | 42 -
go-sdk/pkg/api/mocks/AssetEventsClient.go | 312 -
go-sdk/pkg/api/mocks/AssetsClient.go | 312 -
go-sdk/pkg/api/mocks/ClientInterface.go | 405 --
go-sdk/pkg/api/mocks/ConnectionsClient.go | 176 -
go-sdk/pkg/api/mocks/DagRunsClient.go | 610 --
go-sdk/pkg/api/mocks/TaskInstancesClient.go | 1292 ----
go-sdk/pkg/api/mocks/TaskReschedulesClient.go | 177 -
go-sdk/pkg/api/mocks/VariablesClient.go | 460 --
go-sdk/pkg/api/mocks/XcomsClient.go | 1156 ----
go-sdk/pkg/api/models.go | 27 -
go-sdk/pkg/api/oapi-codegen.yml | 32 -
go-sdk/pkg/api/overlay.yml | 68 -
go-sdk/pkg/binding/binding.go | 882 +++
go-sdk/pkg/binding/binding_test.go | 954 +++
go-sdk/pkg/bundles/shared/discovery.go | 252 -
go-sdk/pkg/bundles/shared/handshake.go | 31 -
go-sdk/pkg/config/config.go | 207 -
go-sdk/pkg/edgeapi/client.gen.go | 1229 ----
go-sdk/pkg/edgeapi/client.go | 100 -
go-sdk/pkg/edgeapi/oapi-codegen.yml | 34 -
go-sdk/pkg/edgeapi/overlay.yml | 29 -
go-sdk/pkg/execution/client.go | 25 +-
go-sdk/pkg/execution/client_test.go | 14 +-
go-sdk/pkg/execution/frames.go | 2 +
go-sdk/pkg/execution/frames_test.go | 30 +
go-sdk/pkg/execution/genmodels/models.gen.go | 97 +-
go-sdk/pkg/execution/integration_test.go | 386 +-
go-sdk/pkg/execution/messages_test.go | 2 +-
go-sdk/pkg/execution/metadata.go | 2 +-
go-sdk/pkg/execution/server.go | 6 +-
go-sdk/pkg/execution/task_runner.go | 150 +-
go-sdk/pkg/logging/hclogslog/hclogslog.go | 146 -
go-sdk/pkg/logging/hclogslog/hclogslog_test.go | 182 -
go-sdk/pkg/logging/server/server.go | 328 -
go-sdk/pkg/logging/server/server_test.go | 317 -
go-sdk/pkg/logging/shclog/shclog.go | 240 -
go-sdk/pkg/sdkcontext/keys.go | 19 +-
go-sdk/pkg/worker/runner.go | 472 --
go-sdk/pkg/worker/runner_test.go | 261 -
go-sdk/sdk/client.go | 150 -
go-sdk/sdk/client_test.go | 208 -
go-sdk/sdk/connection.go | 32 -
go-sdk/sdk/sdk.go | 21 +-
java-sdk/README.md | 52 +
java-sdk/buildSrc/build.gradle.kts | 2 +-
java-sdk/capabilities.yaml | 116 +
.../airflow/example/ExampleBundleBuilder.java | 2 +-
.../airflow/example/InterfaceExampleBuilder.java | 11 +-
java-sdk/gradle/verification-metadata.xml | 905 +--
java-sdk/gradle/wrapper/gradle-wrapper.properties | 4 +-
java-sdk/gradlew | 18 +
java-sdk/gradlew.bat | 18 +
java-sdk/log4j2/build.gradle.kts | 8 +-
.../org/apache/airflow/sdk/BuilderProcessor.kt | 11 +-
.../kotlin/org/apache/airflow/sdk/BuilderTest.kt | 48 +-
java-sdk/scala_spark_example/build.gradle | 12 +-
.../apache/airflow/example/ScalaSparkExample.scala | 8 +-
java-sdk/sdk/build.gradle.kts | 36 +-
.../sdk/dokka/matrix.css | 18 +-
java-sdk/sdk/module.md | 72 +
.../main/kotlin/org/apache/airflow/sdk/Builder.kt | 4 +-
.../main/kotlin/org/apache/airflow/sdk/Bundle.kt | 20 +-
.../org/apache/airflow/sdk/{Dag.kt => DagDef.kt} | 67 +-
.../main/kotlin/org/apache/airflow/sdk/Server.kt | 26 +-
.../org/apache/airflow/sdk/execution/Comm.kt | 148 +-
.../org/apache/airflow/sdk/execution/Frame.kt | 46 +-
.../org/apache/airflow/sdk/execution/MsgPack.kt | 15 +-
.../org/apache/airflow/sdk/execution/Task.kt | 9 +-
.../kotlin/org/apache/airflow/sdk/BundleTest.kt | 4 +-
.../kotlin/org/apache/airflow/sdk/DagDefTest.kt | 97 +
.../kotlin/org/apache/airflow/sdk/ServerTest.kt | 4 +-
.../org/apache/airflow/sdk/execution/CommTest.kt | 13 +-
.../org/apache/airflow/sdk/execution/TaskTest.kt | 6 +-
kubernetes-tests/lang_sdk/README.md | 39 +-
kubernetes-tests/lang_sdk/go_example/go.mod | 28 -
kubernetes-tests/lang_sdk/go_example/go.sum | 116 +-
kubernetes-tests/lang_sdk/go_example/main.go | 11 -
.../airflow/k8sexample/K8sBundleBuilder.java | 2 +-
kubernetes-tests/pyproject.toml | 5 +-
.../core-extensions/email-backends.rst | 34 +
providers-summary-docs/index.rst | 11 +
providers-summary-docs/pyproject.toml | 5 +-
providers/.last_release_date.txt | 2 +-
providers/akeyless/README.rst | 8 +-
.../akeyless/docs/.latest-doc-only-change.txt | 2 +-
providers/amazon/README.rst | 6 +-
providers/amazon/docs/changelog.rst | 50 +
providers/amazon/docs/email-backend.rst | 62 +
providers/amazon/docs/index.rst | 7 +-
providers/amazon/docs/operators/glue.rst | 96 +
.../docs/operators/redshift/redshift_data.rst | 4 +
providers/amazon/provider.yaml | 6 +-
providers/amazon/pyproject.toml | 6 +-
.../src/airflow/providers/amazon/__init__.py | 2 +-
.../src/airflow/providers/amazon/aws/exceptions.py | 28 +
.../amazon/aws/executors/batch/batch_executor.py | 37 +-
.../providers/amazon/aws/executors/batch/utils.py | 14 +
.../providers/amazon/aws/hooks/redshift_sql.py | 2 +-
.../providers/amazon/aws/operators/datasync.py | 39 +-
.../airflow/providers/amazon/aws/operators/glue.py | 328 +-
.../airflow/providers/amazon/aws/operators/mwaa.py | 4 +-
.../providers/amazon/aws/operators/neptune.py | 6 +
.../amazon/aws/operators/redshift_data.py | 24 +-
.../providers/amazon/aws/operators/sagemaker.py | 21 +
.../airflow/providers/amazon/aws/triggers/glue.py | 5 +-
.../providers/amazon/aws/triggers/neptune.py | 3 +
.../airflow/providers/amazon/aws/utils/emailer.py | 7 +-
.../airflow/providers/amazon/get_provider_info.py | 1 +
.../aws/example_bedrock_retrieve_and_generate.py | 36 +-
.../amazon/tests/system/amazon/aws/example_dms.py | 113 +-
.../system/amazon/aws/example_dms_serverless.py | 53 +-
.../aws/executors/batch/test_batch_executor.py | 168 +
.../unit/amazon/aws/operators/test_datasync.py | 91 +-
.../tests/unit/amazon/aws/operators/test_glue.py | 786 ++-
.../unit/amazon/aws/operators/test_neptune.py | 46 +
.../amazon/aws/operators/test_redshift_data.py | 34 +-
.../aws/operators/test_sagemaker_endpoint.py | 22 +
.../aws/operators/test_sagemaker_pipeline.py | 42 +
.../aws/operators/test_sagemaker_processing.py | 35 +
.../aws/operators/test_sagemaker_training.py | 36 +
.../aws/operators/test_sagemaker_transform.py | 31 +
.../amazon/aws/operators/test_sagemaker_tuning.py | 20 +
.../tests/unit/amazon/aws/triggers/test_glue.py | 9 +-
.../tests/unit/amazon/aws/triggers/test_neptune.py | 38 +
providers/anthropic/README.rst | 14 +-
providers/anthropic/docs/changelog.rst | 25 +
providers/anthropic/docs/index.rst | 14 +-
providers/anthropic/docs/operators/anthropic.rst | 192 +-
providers/anthropic/provider.yaml | 3 +-
providers/anthropic/pyproject.toml | 21 +-
.../src/airflow/providers/anthropic/__init__.py | 2 +-
.../src/airflow/providers/anthropic/exceptions.py | 11 +
.../airflow/providers/anthropic/hooks/anthropic.py | 271 +-
.../airflow/providers/anthropic/operators/agent.py | 143 +-
.../airflow/providers/anthropic/triggers/agent.py | 18 +-
.../tests/unit/anthropic/hooks/test_anthropic.py | 334 +-
.../tests/unit/anthropic/operators/test_agent.py | 263 +-
.../tests/unit/anthropic/test_exceptions.py | 2 +
.../tests/unit/anthropic/triggers/test_agent.py | 37 +-
providers/apache/hdfs/README.rst | 6 +-
providers/apache/hdfs/docs/changelog.rst | 13 +
providers/apache/hdfs/docs/index.rst | 6 +-
providers/apache/hdfs/provider.yaml | 3 +-
providers/apache/hdfs/pyproject.toml | 6 +-
.../src/airflow/providers/apache/hdfs/__init__.py | 2 +-
.../apache/hive/docs/.latest-doc-only-change.txt | 2 +-
.../providers/apache/hive/operators/hive_stats.py | 101 +-
.../system/apache/hive/example_twitter_README.md | 4 +-
.../tests/unit/apache/hive/operators/test_hive.py | 31 +-
.../unit/apache/hive/operators/test_hive_stats.py | 258 +-
providers/apache/iceberg/README.rst | 6 +-
providers/apache/iceberg/docs/changelog.rst | 14 +
providers/apache/iceberg/docs/index.rst | 6 +-
providers/apache/iceberg/provider.yaml | 8 +-
providers/apache/iceberg/pyproject.toml | 6 +-
.../airflow/providers/apache/iceberg/__init__.py | 2 +-
.../providers/apache/iceberg/get_provider_info.py | 6 +
.../providers/apache/iceberg/triggers}/__init__.py | 0
.../providers/apache/iceberg/triggers/iceberg.py | 170 +
.../providers/apache/iceberg/version_compat.py | 2 +
.../example_iceberg_table_snapshot_watcher.py} | 31 +-
.../unit/apache/iceberg/triggers}/__init__.py | 0
.../unit/apache/iceberg/triggers/test_iceberg.py | 279 +
providers/apache/kafka/README.rst | 6 +-
providers/apache/kafka/docs/changelog.rst | 13 +
providers/apache/kafka/docs/index.rst | 6 +-
providers/apache/kafka/provider.yaml | 3 +-
providers/apache/kafka/pyproject.toml | 6 +-
.../src/airflow/providers/apache/kafka/__init__.py | 2 +-
providers/apache/livy/README.rst | 6 +-
providers/apache/livy/docs/changelog.rst | 14 +
providers/apache/livy/docs/index.rst | 6 +-
providers/apache/livy/provider.yaml | 3 +-
providers/apache/livy/pyproject.toml | 6 +-
.../src/airflow/providers/apache/livy/__init__.py | 2 +-
.../providers/apache/livy/operators/livy.py | 24 +-
.../tests/unit/apache/livy/operators/test_livy.py | 28 +-
providers/apache/spark/README.rst | 6 +-
providers/apache/spark/docs/changelog.rst | 20 +
providers/apache/spark/docs/index.rst | 6 +-
providers/apache/spark/docs/operators.rst | 15 +-
providers/apache/spark/provider.yaml | 3 +-
providers/apache/spark/pyproject.toml | 6 +-
.../src/airflow/providers/apache/spark/__init__.py | 2 +-
.../apache/spark/operators/spark_submit.py | 40 +-
.../apache/spark/operators/test_spark_submit.py | 30 +-
.../tinkerpop/docs/connections/tinkerpop.rst | 2 +-
.../arangodb/docs/.latest-doc-only-change.txt | 2 +-
providers/asana/docs/.latest-doc-only-change.txt | 2 +-
providers/celery/docs/.latest-doc-only-change.txt | 2 +-
providers/celery/provider.yaml | 71 +
.../providers/celery/executors/default_celery.py | 95 +-
.../airflow/providers/celery/get_provider_info.py | 70 +
.../unit/celery/executors/test_celery_executor.py | 144 +-
.../clickhousedb/docs/.latest-doc-only-change.txt | 1 +
providers/cncf/kubernetes/README.rst | 6 +-
providers/cncf/kubernetes/docs/changelog.rst | 19 +
providers/cncf/kubernetes/docs/index.rst | 6 +-
providers/cncf/kubernetes/docs/operators.rst | 16 +-
providers/cncf/kubernetes/provider.yaml | 3 +-
providers/cncf/kubernetes/pyproject.toml | 6 +-
.../airflow/providers/cncf/kubernetes/__init__.py | 2 +-
.../providers/cncf/kubernetes/kube_client.py | 19 +-
.../providers/cncf/kubernetes/operators/pod.py | 49 +-
.../providers/cncf/kubernetes/triggers/pod.py | 4 +-
.../unit/cncf/kubernetes/hooks/test_kubernetes.py | 10 +
.../unit/cncf/kubernetes/operators/test_pod.py | 80 +-
providers/cohere/docs/.latest-doc-only-change.txt | 2 +-
providers/common/ai/README.rst | 16 +-
providers/common/ai/docs/changelog.rst | 36 +
providers/common/ai/docs/connections/langchain.rst | 122 +
.../common/ai/docs/connections/llamaindex.rst | 124 +
providers/common/ai/docs/connections/mcp.rst | 6 +
.../common/ai/docs/connections/pydantic_ai.rst | 19 +-
.../ai/docs/connections/pydantic_ai_azure.rst | 76 +
.../ai/docs/connections/pydantic_ai_bedrock.rst | 118 +
.../ai/docs/connections/pydantic_ai_vertex.rst | 128 +
providers/common/ai/docs/hooks/mcp.rst | 118 +
providers/common/ai/docs/index.rst | 54 +-
providers/common/ai/docs/operators/index.rst | 3 +
providers/common/ai/docs/toolsets.rst | 352 +-
providers/common/ai/provider.yaml | 7 +-
providers/common/ai/pyproject.toml | 11 +-
.../ai/src/airflow/providers/common/ai/__init__.py | 2 +-
.../providers/common/ai/get_provider_info.py | 5 +
.../providers/common/ai/hooks/pydantic_ai.py | 5 +-
.../providers/common/ai/sandbox/__init__.py} | 28 +-
.../airflow/providers/common/ai/sandbox/base.py | 289 +
.../airflow/providers/common/ai/sandbox/output.py | 156 +
.../src/airflow/providers/common/ai/sandbox/sbx.py | 440 ++
.../providers/common/ai/toolsets/__init__.py | 3 +
.../providers/common/ai/toolsets/sandbox.py | 438 ++
.../providers/common/ai/utils/tool_definition.py | 26 +
.../common/ai/tests/system/common/ai/README.md | 41 +
.../common/ai/example_sandbox_toolset_sbx.py | 149 +
.../ai/tests/unit/common/ai/sandbox}/__init__.py | 0
.../ai/tests/unit/common/ai/sandbox/test_base.py | 224 +
.../ai/tests/unit/common/ai/sandbox/test_output.py | 126 +
.../ai/tests/unit/common/ai/sandbox/test_sbx.py | 331 +
.../tests/unit/common/ai/toolsets/test_sandbox.py | 505 ++
.../common/compat/docs/.latest-doc-only-change.txt | 2 +-
.../common/messaging/triggers/msg_queue.py | 41 +-
.../common/messaging/triggers/test_msg_queue.py | 29 +-
providers/common/sql/README.rst | 6 +-
providers/common/sql/docs/changelog.rst | 14 +
providers/common/sql/docs/index.rst | 6 +-
providers/common/sql/provider.yaml | 3 +-
providers/common/sql/pyproject.toml | 6 +-
.../src/airflow/providers/common/sql/__init__.py | 2 +-
.../src/airflow/providers/common/sql/hooks/sql.py | 2 +-
providers/databricks/README.rst | 6 +-
providers/databricks/docs/changelog.rst | 26 +
providers/databricks/docs/index.rst | 6 +-
providers/databricks/docs/operators/run_now.rst | 4 +
providers/databricks/docs/operators/submit_run.rst | 5 +
providers/databricks/docs/operators/warehouse.rst | 55 +
providers/databricks/provider.yaml | 5 +-
providers/databricks/pyproject.toml | 6 +-
.../src/airflow/providers/databricks/__init__.py | 2 +-
.../src/airflow/providers/databricks/exceptions.py | 4 +
.../providers/databricks/get_provider_info.py | 6 +-
.../providers/databricks/hooks/databricks.py | 73 +
.../providers/databricks/operators/databricks.py | 40 +-
.../providers/databricks/operators/warehouse.py | 156 +
.../databricks/example_databricks_sql_warehouse.py | 67 +
.../tests/unit/databricks/hooks/test_databricks.py | 63 +
.../unit/databricks/operators/test_databricks.py | 49 +
.../unit/databricks/operators/test_warehouse.py | 406 ++
providers/datadog/docs/.latest-doc-only-change.txt | 2 +-
.../dbt/cloud/docs/.latest-doc-only-change.txt | 2 +-
.../dingding/docs/.latest-doc-only-change.txt | 2 +-
providers/discord/docs/.latest-doc-only-change.txt | 2 +-
providers/docker/docs/.latest-doc-only-change.txt | 2 +-
providers/edge3/README.rst | 6 +-
providers/edge3/docs/changelog.rst | 16 +
providers/edge3/docs/index.rst | 6 +-
providers/edge3/provider.yaml | 3 +-
providers/edge3/pyproject.toml | 11 +-
.../edge3/src/airflow/providers/edge3/__init__.py | 2 +-
.../providers/edge3/plugins/www/eslint.config.js | 34 +
.../providers/edge3/plugins/www/package.json | 20 +-
.../providers/edge3/plugins/www/pnpm-lock.yaml | 414 +-
.../plugins/www/src/components/StateBadge.tsx | 4 +-
.../www/src/components/WorkerStateBadge.tsx | 4 +-
.../www/src/components/WorkerSysinfoBadge.tsx | 4 +-
.../edge3/plugins/www/src/components/ui/Alert.tsx | 10 +-
.../plugins/www/src/components/ui/InputGroup.tsx | 8 +-
.../www/src/components/ui/Select/Content.tsx | 4 +-
.../www/src/components/ui/Select/ValueText.tsx | 4 +-
.../providers/edge3/plugins/www/src/main.tsx | 3 +-
.../elasticsearch/docs/.latest-doc-only-change.txt | 2 +-
providers/exasol/docs/.latest-doc-only-change.txt | 2 +-
providers/fab/README.rst | 6 +-
providers/fab/docs/auth-manager/sso.rst | 171 +-
providers/fab/docs/auth-manager/token.rst | 14 +-
providers/fab/docs/changelog.rst | 26 +
providers/fab/docs/index.rst | 6 +-
providers/fab/provider.yaml | 3 +-
providers/fab/pyproject.toml | 11 +-
.../fab/src/airflow/providers/fab/__init__.py | 2 +-
.../fab/auth_manager/security_manager/override.py | 60 +-
.../auth_manager/security_manager/test_override.py | 93 +-
providers/ftp/docs/.latest-doc-only-change.txt | 2 +-
providers/git/README.rst | 6 +-
providers/git/docs/changelog.rst | 18 +
providers/git/docs/index.rst | 6 +-
providers/git/provider.yaml | 3 +-
providers/git/pyproject.toml | 6 +-
.../git/src/airflow/providers/git/__init__.py | 2 +-
providers/github/docs/.latest-doc-only-change.txt | 2 +-
providers/google/README.rst | 15 +-
providers/google/docs/changelog.rst | 31 +
providers/google/docs/index.rst | 15 +-
providers/google/docs/operators/cloud/bigquery.rst | 8 +-
.../docs/operators/cloud/cloud_memorystore.rst | 12 +-
.../google/docs/operators/cloud/cloud_sql.rst | 15 +-
providers/google/docs/operators/cloud/gcs.rst | 35 +
.../google/docs/operators/cloud/vertex_ai.rst | 11 +
providers/google/provider.yaml | 4 +-
providers/google/pyproject.toml | 23 +-
.../src/airflow/providers/google/__init__.py | 2 +-
.../airflow/providers/google/cloud/bundles/gcs.py | 2 +-
.../airflow/providers/google/cloud/hooks/gcs.py | 30 +
.../providers/google/cloud/hooks/spanner.py | 2 +-
.../google/cloud/hooks/vertex_ai/agent_engine.py | 63 +-
.../providers/google/cloud/links/cloud_run.py | 34 +-
.../google/cloud/log/stackdriver_task_handler.py | 6 +-
.../providers/google/cloud/operators/bigquery.py | 23 +-
.../google/cloud/operators/cloud_batch.py | 10 +-
.../providers/google/cloud/operators/cloud_run.py | 17 +-
.../providers/google/cloud/operators/gcs.py | 87 +-
.../cloud/operators/vertex_ai/agent_engine.py | 87 +
.../google/cloud/transfers/bigquery_to_sql.py | 57 +-
.../airflow/providers/google/get_provider_info.py | 1 +
.../example_cloud_memorystore_redis.py | 31 +-
.../google/cloud/cloud_sql/example_cloud_sql.py | 33 +-
.../vertex_ai/example_vertex_ai_agent_engine.py | 13 +
.../vertex_ai/example_vertex_ai_feature_store.py | 12 +-
.../tests/unit/google/cloud/bundles/test_gcs.py | 11 +
.../tests/unit/google/cloud/hooks/test_gcs.py | 61 +
.../cloud/hooks/vertex_ai/test_agent_engine.py | 87 +
.../unit/google/cloud/links/test_cloud_run.py | 36 +-
.../cloud/log/test_stackdriver_task_handler.py | 5 +-
.../unit/google/cloud/operators/test_bigquery.py | 22 +
.../google/cloud/operators/test_cloud_batch.py | 63 +-
.../unit/google/cloud/operators/test_cloud_run.py | 28 +
.../tests/unit/google/cloud/operators/test_gcs.py | 57 +
.../cloud/operators/vertex_ai/test_agent_engine.py | 63 +
.../unit/google/cloud/sensors/test_bigtable.py | 17 +-
.../cloud/transfers/test_bigquery_to_mssql.py | 8 +-
.../cloud/transfers/test_bigquery_to_mysql.py | 8 +-
.../cloud/transfers/test_bigquery_to_postgres.py | 13 +-
providers/grpc/docs/.latest-doc-only-change.txt | 2 +-
providers/hashicorp/README.rst | 6 +-
providers/hashicorp/docs/changelog.rst | 13 +
providers/hashicorp/docs/index.rst | 6 +-
providers/hashicorp/provider.yaml | 3 +-
providers/hashicorp/pyproject.toml | 6 +-
.../src/airflow/providers/hashicorp/__init__.py | 2 +-
.../hashicorp/_internal_client/vault_client.py | 98 +-
.../src/airflow/providers/hashicorp/hooks/vault.py | 6 +-
.../_internal_client/test_vault_client.py | 117 +-
.../tests/unit/hashicorp/hooks/test_vault.py | 96 +-
.../tests/unit/hashicorp/secrets/test_vault.py | 4 +-
providers/http/docs/.latest-doc-only-change.txt | 2 +-
.../ibm/mq/tests/unit/ibm/mq/queues/test_mq.py | 3 +-
providers/imap/docs/.latest-doc-only-change.txt | 2 +-
.../influxdb/docs/.latest-doc-only-change.txt | 2 +-
.../airflow/providers/influxdb/hooks/influxdb.py | 27 +-
.../tests/system/influxdb/example_influxdb.py | 7 +-
.../tests/unit/influxdb/hooks/test_influxdb.py | 107 +-
.../dev/informatica_simulator/requirements.txt | 2 +-
.../informatica/docs/.latest-doc-only-change.txt | 2 +-
providers/jdbc/README.rst | 6 +-
providers/jdbc/docs/changelog.rst | 20 +
providers/jdbc/docs/index.rst | 6 +-
providers/jdbc/provider.yaml | 3 +-
providers/jdbc/pyproject.toml | 6 +-
.../jdbc/src/airflow/providers/jdbc/__init__.py | 2 +-
.../jdbc/src/airflow/providers/jdbc/hooks/jdbc.py | 5 +-
providers/jdbc/tests/unit/jdbc/hooks/test_jdbc.py | 5 +-
providers/jenkins/docs/.latest-doc-only-change.txt | 2 +-
providers/keycloak/docs/changelog.rst | 35 +-
providers/keycloak/provider.yaml | 16 +-
.../providers/keycloak/auth_manager/cache.py | 33 +-
.../keycloak/auth_manager/cli/commands.py | 43 +-
.../providers/keycloak/auth_manager/constants.py | 2 +
.../providers/keycloak/auth_manager/middleware.py | 3 +
.../keycloak/auth_manager/routes/login.py | 1 +
.../providers/keycloak/get_provider_info.py | 14 +
.../keycloak/auth_manager/cli/test_commands.py | 83 +
.../tests/unit/keycloak/auth_manager/test_cache.py | 30 +
.../unit/keycloak/auth_manager/test_constants.py | 8 +
.../unit/keycloak/auth_manager/test_middleware.py | 34 +
providers/microsoft/azure/README.rst | 8 +-
providers/microsoft/azure/docs/changelog.rst | 54 +
.../azure/docs/connections/azure_batch.rst | 2 +-
providers/microsoft/azure/docs/index.rst | 8 +-
providers/microsoft/azure/provider.yaml | 3 +-
providers/microsoft/azure/pyproject.toml | 10 +-
.../airflow/providers/microsoft/azure/__init__.py | 2 +-
.../providers/microsoft/azure/fs/msgraph.py | 7 +-
.../providers/microsoft/azure/hooks/batch.py | 126 +-
.../providers/microsoft/azure/operators/batch.py | 53 +-
.../providers/microsoft/azure/operators/msgraph.py | 4 +
.../microsoft/azure/transfers/gcs_to_wasb.py | 4 +-
.../providers/microsoft/azure/triggers/batch.py | 15 +-
.../tests/unit/microsoft/azure/fs/test_msgraph.py | 65 +
.../tests/unit/microsoft/azure/hooks/test_batch.py | 274 +-
.../unit/microsoft/azure/operators/test_batch.py | 125 +-
.../unit/microsoft/azure/operators/test_msgraph.py | 94 +
.../unit/microsoft/azure/resources/messages.json | 1 +
.../microsoft/azure/resources/next_messages.json | 1 +
.../microsoft/azure/transfers/test_gcs_to_wasb.py | 5 +-
.../unit/microsoft/azure/triggers/test_batch.py | 36 +-
providers/microsoft/mssql/README.rst | 6 +-
providers/microsoft/mssql/docs/changelog.rst | 21 +
providers/microsoft/mssql/docs/index.rst | 6 +-
providers/microsoft/mssql/provider.yaml | 3 +-
providers/microsoft/mssql/pyproject.toml | 6 +-
.../airflow/providers/microsoft/mssql/__init__.py | 2 +-
.../providers/microsoft/mssql/hooks/mssql.py | 3 +-
providers/microsoft/psrp/README.rst | 6 +-
providers/microsoft/psrp/docs/changelog.rst | 14 +
providers/microsoft/psrp/docs/index.rst | 6 +-
providers/microsoft/psrp/provider.yaml | 3 +-
providers/microsoft/psrp/pyproject.toml | 6 +-
.../airflow/providers/microsoft/psrp/__init__.py | 2 +-
.../providers/microsoft/psrp/operators/psrp.py | 11 +-
.../unit/microsoft/psrp/operators/test_psrp.py | 44 +-
.../winrm/docs/.latest-doc-only-change.txt | 2 +-
providers/mysql/README.rst | 6 +-
providers/mysql/docs/changelog.rst | 20 +
providers/mysql/docs/index.rst | 6 +-
providers/mysql/provider.yaml | 3 +-
providers/mysql/pyproject.toml | 6 +-
.../mysql/src/airflow/providers/mysql/__init__.py | 2 +-
.../src/airflow/providers/mysql/hooks/mysql.py | 3 +-
providers/openlineage/README.rst | 6 +-
providers/openlineage/docs/changelog.rst | 14 +
providers/openlineage/docs/index.rst | 6 +-
providers/openlineage/provider.yaml | 3 +-
providers/openlineage/pyproject.toml | 6 +-
.../src/airflow/providers/openlineage/__init__.py | 2 +-
providers/oracle/README.rst | 6 +-
providers/oracle/docs/changelog.rst | 13 +
providers/oracle/docs/index.rst | 6 +-
providers/oracle/provider.yaml | 3 +-
providers/oracle/pyproject.toml | 6 +-
.../src/airflow/providers/oracle/__init__.py | 2 +-
.../src/airflow/providers/oracle/hooks/oracle.py | 2 +-
providers/postgres/README.rst | 6 +-
providers/postgres/docs/changelog.rst | 13 +
providers/postgres/docs/index.rst | 6 +-
providers/postgres/provider.yaml | 3 +-
providers/postgres/pyproject.toml | 6 +-
.../src/airflow/providers/postgres/__init__.py | 2 +-
.../airflow/providers/postgres/hooks/postgres.py | 2 +-
providers/samba/README.rst | 17 +-
providers/samba/docs/changelog.rst | 21 +
providers/samba/docs/index.rst | 6 +-
providers/samba/provider.yaml | 3 +-
providers/samba/pyproject.toml | 6 +-
.../samba/src/airflow/providers/samba/__init__.py | 2 +-
.../sendgrid/docs/.latest-doc-only-change.txt | 2 +-
providers/sendgrid/docs/email-backend.rst | 92 +
providers/sendgrid/docs/index.rst | 7 +
providers/sendgrid/provider.yaml | 4 +
.../providers/sendgrid/get_provider_info.py | 1 +
providers/snowflake/README.rst | 6 +-
providers/snowflake/docs/changelog.rst | 18 +
providers/snowflake/docs/index.rst | 6 +-
providers/snowflake/docs/operators/snowflake.rst | 4 +
providers/snowflake/provider.yaml | 3 +-
providers/snowflake/pyproject.toml | 6 +-
.../src/airflow/providers/snowflake/__init__.py | 2 +-
.../providers/snowflake/operators/snowflake.py | 24 +-
.../unit/snowflake/operators/test_snowflake.py | 22 +
providers/standard/README.rst | 6 +-
providers/standard/docs/changelog.rst | 13 +
providers/standard/docs/index.rst | 6 +-
providers/standard/provider.yaml | 3 +-
providers/standard/pyproject.toml | 6 +-
.../src/airflow/providers/standard/__init__.py | 2 +-
providers/tableau/README.rst | 6 +-
providers/tableau/docs/changelog.rst | 13 +
providers/tableau/docs/index.rst | 6 +-
providers/tableau/docs/operators.rst | 1 +
providers/tableau/provider.yaml | 3 +-
providers/tableau/pyproject.toml | 6 +-
.../src/airflow/providers/tableau/__init__.py | 2 +-
.../airflow/providers/tableau/operators/tableau.py | 58 +-
.../tests/unit/tableau/operators/test_tableau.py | 148 +-
pyproject.toml | 15 +-
registry/package.json | 2 +-
registry/pnpm-lock.yaml | 10 +-
registry/src/js/search.js | 2 +-
scripts/ci/docs/store_stable_versions.py | 5 +
scripts/ci/install_breeze.sh | 2 +-
scripts/ci/prek/check_extra_packages_ref.py | 2 +-
scripts/ci/prek/check_imports_in_providers.py | 2 +-
.../prek/check_metrics_synced_with_the_registry.py | 67 +-
.../check_providers_subpackages_all_have_init.py | 36 +-
.../check_ts_sdk_docs_package_version_in_sync.py | 129 +
scripts/ci/prek/common_prek_utils.py | 27 +-
scripts/ci/prek/compile_ui_assets_dev.py | 49 +-
scripts/ci/prek/lang_sdk_compat_matrix.py | 305 +
scripts/ci/prek/mypy_folder.py | 22 +-
scripts/ci/prek/ruff_format.py | 2 +-
.../update_helm_schema_schema_type_fields_match.py | 97 +
scripts/ci/prek/update_java_sdk_readme_matrix.py | 106 +
.../ci/prek/validate_operators_init_exemptions.txt | 2 -
scripts/docker/entrypoint_ci.sh | 7 -
scripts/in_container/bin/generate_mprocs_config.py | 28 -
scripts/in_container/bin/run_tmux | 12 -
scripts/pyproject.toml | 5 +-
.../tests/ci/docs/test_store_stable_versions.py | 15 +-
.../test_check_metrics_synced_with_the_registry.py | 79 +-
...st_check_providers_subpackages_all_have_init.py | 59 +
...st_check_ts_sdk_docs_package_version_in_sync.py | 170 +
scripts/tests/ci/prek/test_common_prek_utils.py | 91 +
.../tests/ci/prek/test_compile_ui_assets_dev.py | 208 +
.../tests/ci/prek/test_lang_sdk_compat_matrix.py | 203 +
.../ci/prek/test_update_java_sdk_readme_matrix.py | 86 +
scripts/tools/setup_breeze | 2 +-
shared/README.md | 4 +-
shared/configuration/pyproject.toml | 5 +-
.../src/airflow_shared/configuration/parser.py | 2 +-
shared/dagnode/pyproject.toml | 5 +-
shared/listeners/pyproject.toml | 5 +-
shared/logging/pyproject.toml | 5 +-
shared/module_loading/pyproject.toml | 5 +-
shared/observability/pyproject.toml | 5 +-
.../observability/metrics/metrics_template.yaml | 40 +-
.../observability/metrics/otel_logger.py | 23 +-
.../observability/metrics/test_otel_logger.py | 59 +-
shared/plugins_manager/pyproject.toml | 5 +-
shared/providers_discovery/pyproject.toml | 5 +-
shared/secrets_backend/pyproject.toml | 5 +-
shared/secrets_masker/pyproject.toml | 5 +-
shared/serialization/pyproject.toml | 5 +-
shared/state/pyproject.toml | 5 +-
shared/template_rendering/pyproject.toml | 5 +-
shared/timezones/pyproject.toml | 5 +-
task-sdk-integration-tests/pyproject.toml | 5 +-
task-sdk/pyproject.toml | 5 +-
task-sdk/src/airflow/sdk/__init__.pyi | 2 +
.../src/airflow/sdk/api/datamodels/_generated.py | 4 +-
task-sdk/src/airflow/sdk/definitions/callback.py | 18 +-
task-sdk/src/airflow/sdk/execution_time/comms.py | 12 +-
.../airflow/sdk/execution_time/schema/schema.json | 13 +-
.../src/airflow/sdk/execution_time/supervisor.py | 30 +-
.../src/airflow/sdk/execution_time/task_runner.py | 6 +-
task-sdk/tests/task_sdk/api/test_client.py | 30 +-
.../tests/task_sdk/definitions/test_callback.py | 16 +
.../tests/task_sdk/execution_time/test_comms.py | 39 +
.../task_sdk/execution_time/test_supervisor.py | 48 +
ts-sdk/.pre-commit-config.yaml | 10 +
ts-sdk/README.md | 67 +-
.../dag-authoring-api.ts} | 15 +-
.../empty-entry.ts => api-docs/exceptions.ts} | 4 +-
.../internal-runtime-details.ts} | 4 +-
.../supporting-types.ts} | 4 +-
ts-sdk/docs/index.md | 27 +-
ts-sdk/docs/package-lock.json | 20 +-
ts-sdk/docs/package.json | 4 +-
ts-sdk/docs/tsconfig.json | 8 +-
ts-sdk/docs/typedoc.json | 2 +-
ts-sdk/eslint.config.js | 2 +-
ts-sdk/example/package.json | 10 +-
ts-sdk/example/src/main.ts | 10 +-
ts-sdk/package.json | 21 +-
ts-sdk/pnpm-lock.yaml | 528 +-
ts-sdk/src/cli/pack.ts | 73 +-
ts-sdk/src/cli/validate.ts | 66 +
ts-sdk/src/coordinator/comm-channel.ts | 2 +-
ts-sdk/src/coordinator/index.ts | 5 +-
ts-sdk/src/coordinator/manifest.ts | 27 +-
ts-sdk/src/coordinator/runtime.ts | 92 +-
ts-sdk/src/generated/supervisor.ts | 2 +-
ts-sdk/src/index.ts | 8 +-
ts-sdk/src/sdk/brand.ts | 43 +
ts-sdk/src/sdk/client.ts | 4 +-
ts-sdk/src/sdk/dag.ts | 245 +
ts-sdk/src/sdk/registry.ts | 147 +-
ts-sdk/tests/cli/fixtures/empty-entry.ts | 4 +-
ts-sdk/tests/cli/fixtures/entry.ts | 12 +-
ts-sdk/tests/cli/fixtures/noisy-entry.ts | 7 +-
ts-sdk/tests/cli/pack.test.ts | 155 +-
ts-sdk/tests/cli/validate.test.ts | 101 +
ts-sdk/tests/coordinator/integration.test.ts | 42 +-
ts-sdk/tests/coordinator/log-channel.test.ts | 4 +-
ts-sdk/tests/coordinator/protocol.test.ts | 5 +-
ts-sdk/tests/coordinator/public-api.test.ts | 20 +-
ts-sdk/tests/coordinator/runtime-manifest.test.ts | 73 +-
ts-sdk/tests/public-api.test.ts | 201 +-
ts-sdk/tests/sdk/dag.test.ts | 237 +
ts-sdk/tests/sdk/registry.test.ts | 197 +-
uv.lock | 6516 +++++++++++---------
1301 files changed, 42793 insertions(+), 30344 deletions(-)
create mode 100644 .github/workflows/java-sdk-dependency-security.yml
delete mode 100644
airflow-core/docs/img/diagram_java_sdk_execution_architecture.md5sum
delete mode 100644
airflow-core/docs/img/diagram_java_sdk_execution_architecture.png
delete mode 100644
airflow-core/docs/img/diagram_java_sdk_execution_sequence.md5sum
delete mode 100644
airflow-core/docs/img/diagram_java_sdk_execution_sequence.png
delete mode 100644
airflow-core/docs/img/diagram_native_language_sdk_architecture.md5sum
delete mode 100644
airflow-core/docs/img/diagram_native_language_sdk_architecture.png
delete mode 100644
airflow-core/docs/img/diagram_native_language_sdk_architecture.py
create mode 100644
airflow-core/docs/img/diagram_task_execution_architecture.md5sum
create mode 100644
airflow-core/docs/img/diagram_task_execution_architecture.png
create mode 100644 airflow-core/docs/img/diagram_task_execution_architecture.py
create mode 100644 airflow-core/newsfragments/68518.bugfix.rst
create mode 100644 airflow-core/newsfragments/69148.feature.rst
create mode 100644 airflow-core/newsfragments/70838.feature.rst
create mode 100644 airflow-core/newsfragments/70886.significant.rst
create mode 100644 airflow-core/newsfragments/70947.feature.rst
create mode 100644 airflow-core/newsfragments/70977.bugfix.rst
create mode 100644 airflow-core/newsfragments/71251.bugfix.rst
create mode 100644 airflow-core/newsfragments/71704.bugfix.rst
create mode 100644 airflow-core/newsfragments/71814.bugfix.rst
create mode 100644
airflow-core/src/airflow/api_fastapi/core_api/services/public/assets.py
create mode 100644
airflow-core/src/airflow/migrations/versions/0131_3_4_0_lower_case_team_names.py
create mode 100644
airflow-core/src/airflow/ui/src/components/Assets/TriggeredRuns.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/DataTable/modelName.test.ts
copy
airflow-core/src/airflow/ui/src/components/{SearchDags/SearchDagsDropdownIndicator.tsx
=> FilterBar/filters/BooleanFilter.tsx} (55%)
copy
airflow-core/src/airflow/ui/src/{pages/DagsList/DagsFilters/RequiredActionFilter.tsx
=> components/FilterBar/filters/MultiSelectFilter.tsx} (59%)
create mode 100644
airflow-core/src/airflow/ui/src/components/FilterBar/filters/MultiSelectPill.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/FilterBar/filters/TagsFilter.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/FilterBar/filters/TimetableTypeFilter.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/FlexibleForm/FieldObject.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/FlexibleForm/FieldPassword.test.tsx
copy airflow-core/src/airflow/ui/src/components/FlexibleForm/{FieldObject.tsx
=> FieldPassword.tsx} (54%)
create mode 100644
airflow-core/src/airflow/ui/src/components/MatchModeToggle.tsx
rename
airflow-core/src/airflow/ui/src/{pages/DagsList/DagsFilters/RequiredActionFilter.tsx
=> components/PasswordToggle.tsx} (62%)
create mode 100644
airflow-core/src/airflow/ui/src/components/ui/Modal/Modal.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/components/ui/Modal/Modal.tsx
copy ts-sdk/tests/cli/fixtures/empty-entry.ts =>
airflow-core/src/airflow/ui/src/components/ui/Modal/index.ts (90%)
create mode 100644 airflow-core/src/airflow/ui/src/hooks/useMatchMode.ts
create mode 100644
airflow-core/src/airflow/ui/src/hooks/usePluginAppliesToContext.test.ts
create mode 100644
airflow-core/src/airflow/ui/src/hooks/usePluginAppliesToContext.ts
create mode 100644 airflow-core/src/airflow/ui/src/hooks/usePluginTabs.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/hooks/useScopedPluginViews.ts
create mode 100644
airflow-core/src/airflow/ui/src/pages/AssetsList/DependencyPopover.test.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/DagsFilterSelect.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/FavoriteFilter.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/PausedFilter.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/RunStateSelect.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/TagFilter.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/TeamFilter.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/pages/DagsList/DagsFilters/TimetableTypeFilter.tsx
create mode 100644
airflow-core/src/airflow/ui/src/pages/DagsList/usePausedDefault.ts
delete mode 100644
airflow-core/src/airflow/ui/src/pages/DagsList/useTagFilter.test.tsx
delete mode 100644
airflow-core/src/airflow/ui/src/pages/DagsList/useTagFilter.ts
create mode 100644
airflow-core/src/airflow/ui/src/pages/TaskInstance/Logs/LogsSelection.test.tsx
create mode 100644
airflow-core/src/airflow/ui/src/utils/pluginAppliesTo.test.ts
create mode 100644 airflow-core/src/airflow/ui/src/utils/pluginAppliesTo.ts
create mode 100644
airflow-core/src/airflow/ui/src/utils/useFiltersHandler.test.tsx
copy ts-sdk/tests/cli/fixtures/empty-entry.ts =>
airflow-core/src/airflow/ui/tests/e2e/utils/ui/selectors.ts (65%)
create mode 100644 airflow-core/tests/unit/api/common/test_delete_dag.py
create mode 100644
airflow-core/tests/unit/migrations/test_0131_lower_case_team_names.py
create mode 100644 airflow-core/tests/unit/models/test_prune_deadlines.py
create mode 100644
airflow-e2e-tests/tests/airflow_e2e_tests/go_sdk_tests/test_go_sdk_taskflow_binding.py
create mode 100644 contributing-docs/31_task_execution_architecture.rst
create mode 100644
contributing-docs/images/diagram_coordinator_execution_architecture.md5sum
create mode 100644
contributing-docs/images/diagram_coordinator_execution_architecture.png
rename airflow-core/docs/img/diagram_java_sdk_execution_architecture.py =>
contributing-docs/images/diagram_coordinator_execution_architecture.py (67%)
create mode 100644
contributing-docs/images/diagram_coordinator_execution_sequence.md5sum
create mode 100644
contributing-docs/images/diagram_coordinator_execution_sequence.png
rename airflow-core/docs/img/diagram_java_sdk_execution_sequence.py =>
contributing-docs/images/diagram_coordinator_execution_sequence.py (80%)
rename {airflow-core/docs/img =>
contributing-docs/images}/diagram_task_sdk_execution_architecture.md5sum (100%)
rename {airflow-core/docs/img =>
contributing-docs/images}/diagram_task_sdk_execution_architecture.png (100%)
rename {airflow-core/docs/img =>
contributing-docs/images}/diagram_task_sdk_execution_architecture.py (100%)
rename {airflow-core/docs/img =>
contributing-docs/images}/diagram_task_sdk_execution_sequence.md5sum (100%)
rename {airflow-core/docs/img =>
contributing-docs/images}/diagram_task_sdk_execution_sequence.png (100%)
rename {airflow-core/docs/img =>
contributing-docs/images}/diagram_task_sdk_execution_sequence.py (100%)
copy providers/google/src/airflow/providers/google/cloud/links/cloud_run.py =>
dev/breeze/tests/test_add_back_references.py (61%)
create mode 100644 dev/breeze/tests/test_ci_image_commands.py
create mode 100644 dev/check_changelog_entries.py
create mode 100644 dev/mypy/docs/conf.py
create mode 100644 dev/mypy/docs/index.rst
create mode 100644 dev/mypy/docs/release_notes.rst
rename go-sdk/.mockery.yml => dev/mypy/docs/spelling_wordlist.txt (78%)
create mode 100644
devel-common/src/sphinx_exts/templates/email-backends.rst.jinja2
copy providers/google/src/airflow/providers/google/cloud/links/cloud_run.py =>
devel-common/tests/unit/sphinx_exts/docs_build/test_docs_builder.py (64%)
create mode 100644 go-sdk/adr/0005-retire-go-edge-worker.md
delete mode 100644 go-sdk/bundle/bundlev1/bundlev1client/doc.go
delete mode 100644 go-sdk/bundle/bundlev1/bundlev1client/grpc.go
delete mode 100644 go-sdk/bundle/bundlev1/bundlev1server/impl/plugin.go
rename go-sdk/{pkg/worker/init.go =>
bundle/bundlev1/bundlev1server/server_test.go} (53%)
delete mode 100644 go-sdk/cmd/airflow-go-edge-worker/main.go
delete mode 100644 go-sdk/edge/commands/root.go
delete mode 100644 go-sdk/edge/commands/run.go
delete mode 100644 go-sdk/edge/worker.go
delete mode 100644 go-sdk/edge/worker_test.go
create mode 100644 go-sdk/example/bundle/taskflowbinding/taskflowbinding.go
create mode 100644
go-sdk/example/bundle/taskflowbinding/taskflowbinding_test.go
delete mode 100644 go-sdk/internal/protov1/plugin.pb.go
delete mode 100644 go-sdk/internal/protov1/plugin.proto
delete mode 100644 go-sdk/internal/protov1/plugin_grpc.pb.go
delete mode 100644 go-sdk/pkg/api/client.gen.go
delete mode 100644 go-sdk/pkg/api/client.go
delete mode 100644 go-sdk/pkg/api/init.go
delete mode 100644 go-sdk/pkg/api/mocks/AssetEventsClient.go
delete mode 100644 go-sdk/pkg/api/mocks/AssetsClient.go
delete mode 100644 go-sdk/pkg/api/mocks/ClientInterface.go
delete mode 100644 go-sdk/pkg/api/mocks/ConnectionsClient.go
delete mode 100644 go-sdk/pkg/api/mocks/DagRunsClient.go
delete mode 100644 go-sdk/pkg/api/mocks/TaskInstancesClient.go
delete mode 100644 go-sdk/pkg/api/mocks/TaskReschedulesClient.go
delete mode 100644 go-sdk/pkg/api/mocks/VariablesClient.go
delete mode 100644 go-sdk/pkg/api/mocks/XcomsClient.go
delete mode 100644 go-sdk/pkg/api/models.go
delete mode 100644 go-sdk/pkg/api/oapi-codegen.yml
delete mode 100644 go-sdk/pkg/api/overlay.yml
create mode 100644 go-sdk/pkg/binding/binding.go
create mode 100644 go-sdk/pkg/binding/binding_test.go
delete mode 100644 go-sdk/pkg/bundles/shared/discovery.go
delete mode 100644 go-sdk/pkg/bundles/shared/handshake.go
delete mode 100644 go-sdk/pkg/config/config.go
delete mode 100644 go-sdk/pkg/edgeapi/client.gen.go
delete mode 100644 go-sdk/pkg/edgeapi/client.go
delete mode 100644 go-sdk/pkg/edgeapi/oapi-codegen.yml
delete mode 100644 go-sdk/pkg/edgeapi/overlay.yml
delete mode 100644 go-sdk/pkg/logging/hclogslog/hclogslog.go
delete mode 100644 go-sdk/pkg/logging/hclogslog/hclogslog_test.go
delete mode 100644 go-sdk/pkg/logging/server/server.go
delete mode 100644 go-sdk/pkg/logging/server/server_test.go
delete mode 100644 go-sdk/pkg/logging/shclog/shclog.go
delete mode 100644 go-sdk/pkg/worker/runner.go
delete mode 100644 go-sdk/pkg/worker/runner_test.go
delete mode 100644 go-sdk/sdk/client.go
delete mode 100644 go-sdk/sdk/client_test.go
create mode 100644 java-sdk/capabilities.yaml
copy ts-sdk/tests/cli/fixtures/noisy-entry.ts => java-sdk/sdk/dokka/matrix.css
(70%)
create mode 100644 java-sdk/sdk/module.md
rename java-sdk/sdk/src/main/kotlin/org/apache/airflow/sdk/{Dag.kt =>
DagDef.kt} (61%)
create mode 100644
java-sdk/sdk/src/test/kotlin/org/apache/airflow/sdk/DagDefTest.kt
create mode 100644 providers-summary-docs/core-extensions/email-backends.rst
create mode 100644 providers/amazon/docs/email-backend.rst
copy {airflow-core/src/airflow/api/common =>
providers/apache/iceberg/src/airflow/providers/apache/iceberg/triggers}/__init__.py
(100%)
create mode 100644
providers/apache/iceberg/src/airflow/providers/apache/iceberg/triggers/iceberg.py
copy providers/{fab/src/airflow/providers/fab/__init__.py =>
apache/iceberg/tests/system/apache/iceberg/example_iceberg_table_snapshot_watcher.py}
(50%)
copy {airflow-core/src/airflow/api/common =>
providers/apache/iceberg/tests/unit/apache/iceberg/triggers}/__init__.py (100%)
create mode 100644
providers/apache/iceberg/tests/unit/apache/iceberg/triggers/test_iceberg.py
create mode 100644 providers/clickhousedb/docs/.latest-doc-only-change.txt
create mode 100644 providers/common/ai/docs/connections/langchain.rst
create mode 100644 providers/common/ai/docs/connections/llamaindex.rst
create mode 100644 providers/common/ai/docs/connections/pydantic_ai_azure.rst
create mode 100644 providers/common/ai/docs/connections/pydantic_ai_bedrock.rst
create mode 100644 providers/common/ai/docs/connections/pydantic_ai_vertex.rst
create mode 100644 providers/common/ai/docs/hooks/mcp.rst
copy providers/{google/src/airflow/providers/google/cloud/links/cloud_run.py
=> common/ai/src/airflow/providers/common/ai/sandbox/__init__.py} (62%)
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/sandbox/base.py
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/sandbox/output.py
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/sandbox/sbx.py
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/toolsets/sandbox.py
create mode 100644 providers/common/ai/tests/system/common/ai/README.md
create mode 100644
providers/common/ai/tests/system/common/ai/example_sandbox_toolset_sbx.py
copy {airflow-core/src/airflow/_shared =>
providers/common/ai/tests/unit/common/ai/sandbox}/__init__.py (100%)
create mode 100644
providers/common/ai/tests/unit/common/ai/sandbox/test_base.py
create mode 100644
providers/common/ai/tests/unit/common/ai/sandbox/test_output.py
create mode 100644 providers/common/ai/tests/unit/common/ai/sandbox/test_sbx.py
create mode 100644
providers/common/ai/tests/unit/common/ai/toolsets/test_sandbox.py
create mode 100644 providers/databricks/docs/operators/warehouse.rst
create mode 100644
providers/databricks/src/airflow/providers/databricks/operators/warehouse.py
create mode 100644
providers/databricks/tests/system/databricks/example_databricks_sql_warehouse.py
create mode 100644
providers/databricks/tests/unit/databricks/operators/test_warehouse.py
create mode 100644
providers/microsoft/azure/tests/unit/microsoft/azure/resources/messages.json
create mode 100644
providers/microsoft/azure/tests/unit/microsoft/azure/resources/next_messages.json
create mode 100644 providers/sendgrid/docs/email-backend.rst
create mode 100755 scripts/ci/prek/check_ts_sdk_docs_package_version_in_sync.py
create mode 100644 scripts/ci/prek/lang_sdk_compat_matrix.py
create mode 100755
scripts/ci/prek/update_helm_schema_schema_type_fields_match.py
create mode 100755 scripts/ci/prek/update_java_sdk_readme_matrix.py
create mode 100644
scripts/tests/ci/prek/test_check_providers_subpackages_all_have_init.py
create mode 100644
scripts/tests/ci/prek/test_check_ts_sdk_docs_package_version_in_sync.py
create mode 100644 scripts/tests/ci/prek/test_compile_ui_assets_dev.py
create mode 100644 scripts/tests/ci/prek/test_lang_sdk_compat_matrix.py
create mode 100644 scripts/tests/ci/prek/test_update_java_sdk_readme_matrix.py
copy ts-sdk/{tests/cli/fixtures/empty-entry.ts =>
api-docs/dag-authoring-api.ts} (76%)
copy ts-sdk/{tests/cli/fixtures/empty-entry.ts => api-docs/exceptions.ts} (88%)
copy ts-sdk/{tests/cli/fixtures/empty-entry.ts =>
api-docs/internal-runtime-details.ts} (90%)
copy ts-sdk/{tests/cli/fixtures/empty-entry.ts =>
api-docs/supporting-types.ts} (87%)
create mode 100644 ts-sdk/src/cli/validate.ts
create mode 100644 ts-sdk/src/sdk/brand.ts
create mode 100644 ts-sdk/src/sdk/dag.ts
create mode 100644 ts-sdk/tests/cli/validate.test.ts
create mode 100644 ts-sdk/tests/sdk/dag.test.ts