This is an automated email from the ASF dual-hosted git repository.
kaxil pushed a change to branch anthropic-session-usage-xcom
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard e32520df3a9 Record Anthropic agent session token usage and cost in XCom
discard 07978a7dc12 Add a budget argument to AnthropicAgentSessionOperator and
update_session to the hook
discard 2a629539237 Fix misleading error when an Anthropic agent session stops
on its budget
add 655740bb982 Add new index for trigger (#69038)
add d3c02bbb2cb Harden TypeScript SDK dependency installation (#71394)
add d8cfc951f7e Convert check-sdk-imports to capture occurences than files
(#71212)
add 4d3a247fc41 Multi Team: Automatically create and assign team default
pools (#69768)
add a3b1e13827f Eager-load Assets list relationships with selectinload and
refresh it after new events (#70997)
add 76abfb9a891 Add TypeScript SDK dependency security checks (#71397)
add 956b7f866aa Verify Java SDK build dependencies (#71400)
add d1e5f1a6134 Fix Calendar view hanging for Dags with high-frequency
cron schedules (#71263)
add 576c6530784 Update providers metadata 2026-08-10 (#71385)
add 1637347c128 Bump the auth-ui-package-updates group across 1 directory
with 6 updates (#71410)
add e8b81132f88 Bump eslint-plugin-unicorn (#71412)
add a9c35b24ef1 Always tag providers from the wave tag during release
(#71431)
add fdbf56053cd Bump the edge-ui-package-updates group across 1 directory
with 14 updates (#71420)
add 84a211b5d22 UI: Show owning team on Dag, Dag Run, and Task Instance
detail pages (#70312)
add e3671dd24e1 Keep Dag run execution API endpoints working for older
Task SDK clients (#70138)
add fe9ca480fb8 Add ConnectionNotFoundError to the TypeScript SDK (#71375)
add cf4c7690e04 Require a lower bound on every dependency in
pyproject.toml (#71378)
add e068c6e0934 Update grid view refresh (#71004)
add 8a5c3ba704b Bump the core-ui-package-updates group across 1 directory
with 2 updates (#71417)
add affe4595ba1 Bump the ui-plugin-template-package-updates group across 1
directory with 6 updates (#71406)
add 326c119e44d Add a user settings page for cross-page UI defaults
(#70687)
add 12e3f08d547 Add preset filters to the Dags list page (#71368)
add eeeaa0c23d8 Spell out the empty version suffix for the SVN provider
build (#71247)
add fa4e7e70513 Fix misleading error when an Anthropic agent session stops
on its budget
add 810dd511dec Add a budget argument to AnthropicAgentSessionOperator and
update_session to the hook
add 3e44b9ebe2e Record Anthropic agent session token usage and cost in XCom
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (e32520df3a9)
\
N -- N -- N refs/heads/anthropic-session-usage-xcom (3e44b9ebe2e)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/dependabot.yml | 18 +
.github/workflows/java-sdk-release-verify.yml | 40 +-
...list-check.yml => ts-sdk-dependency-review.yml} | 30 +-
.pre-commit-config.yaml | 8 +
airflow-core/.pre-commit-config.yaml | 103 +-
.../language-sdks/typescript.rst | 4 +-
airflow-core/docs/core-concepts/multi-team.rst | 5 +
airflow-core/docs/migrations-ref.rst | 4 +-
airflow-core/newsfragments/69768.feature.rst | 1 +
.../auth/managers/simple/ui/package.json | 14 +-
.../auth/managers/simple/ui/pnpm-lock.yaml | 269 +-
.../src/airflow/api_fastapi/common/db/assets.py | 12 +-
.../src/airflow/api_fastapi/common/db/dag_runs.py | 6 +-
.../src/airflow/api_fastapi/common/db/dags.py | 37 +-
.../api_fastapi/common/db/task_instances.py | 5 +-
.../api_fastapi/core_api/datamodels/dags.py | 1 +
.../core_api/openapi/v2-rest-api-generated.yaml | 5 +
.../api_fastapi/core_api/routes/public/dag_run.py | 8 +-
.../api_fastapi/core_api/routes/public/dags.py | 4 +-
.../core_api/routes/public/task_instances.py | 7 +-
.../api_fastapi/core_api/services/ui/calendar.py | 6 +-
.../execution_api/datamodels/taskinstance.py | 4 +
.../execution_api/routes/task_instances.py | 5 +-
.../execution_api/versions/v2026_06_30.py | 27 +
.../src/airflow/cli/commands/team_command.py | 65 +-
airflow-core/src/airflow/dag_processing/dagbag.py | 26 +
....py => 0130_3_4_0_add_new_index_for_trigger.py} | 26 +-
airflow-core/src/airflow/models/dag.py | 24 +
airflow-core/src/airflow/models/dagbundle.py | 6 +
airflow-core/src/airflow/models/dagrun.py | 8 +
airflow-core/src/airflow/models/pool.py | 4 +
airflow-core/src/airflow/models/taskinstance.py | 1 +
airflow-core/src/airflow/models/trigger.py | 3 +-
.../airflow/ui/openapi-gen/requests/schemas.gen.ts | 11 +
.../airflow/ui/openapi-gen/requests/types.gen.ts | 1 +
airflow-core/src/airflow/ui/package.json | 4 +-
airflow-core/src/airflow/ui/pnpm-lock.yaml | 98 +-
.../airflow/ui/public/i18n/locales/en/common.json | 35 +-
.../ui/src/components/Clear/Run/ClearRunDialog.tsx | 6 +-
.../TaskInstance/ClearGroupTaskInstanceDialog.tsx | 6 +-
.../Clear/TaskInstance/ClearTaskInstanceDialog.tsx | 12 +-
.../components/Graph/DirectionDropdown.test.tsx | 74 +
.../ui/src/components/Graph/DirectionDropdown.tsx | 4 +-
.../TaskInstance/MarkTaskInstanceAsDialog.tsx | 5 +-
.../TeamName.test.tsx} | 38 +-
.../components/{WarningAlert.tsx => TeamName.tsx} | 23 +-
.../airflow/ui/src/constants/localStorage.test.ts | 32 +-
.../src/airflow/ui/src/constants/localStorage.ts | 13 +
.../{rules/levels.js => src/hooks/useShowTeam.ts} | 15 +-
.../airflow/ui/src/hooks/useUserSettings.test.tsx | 149 +
.../src/airflow/ui/src/hooks/useUserSettings.ts | 54 +
.../airflow/ui/src/layouts/Details/Graph/Graph.tsx | 4 +-
.../airflow/ui/src/layouts/Details/Grid/Grid.tsx | 2 -
.../Nav/UserSettingsButton.test.tsx} | 19 +-
.../ui/src/layouts/Nav/UserSettingsButton.tsx | 23 +-
airflow-core/src/airflow/ui/src/main.tsx | 3 +-
.../src/airflow/ui/src/pages/Asset/AssetGraph.tsx | 4 +-
.../src/pages/Asset/CreateAssetEventModal.test.tsx | 17 +-
.../ui/src/pages/Asset/CreateAssetEventModal.tsx | 8 +-
.../src/airflow/ui/src/pages/Dag/Details.tsx | 12 +
.../src/airflow/ui/src/pages/Dag/Header.test.tsx | 37 +-
.../src/airflow/ui/src/pages/Dag/Header.tsx | 11 +
.../src/airflow/ui/src/pages/DagRuns/DagRuns.tsx | 8 +-
.../src/airflow/ui/src/pages/DagsList/DagCard.tsx | 7 +-
.../DagsList/DagsFilters/DagsFilters.test.tsx | 6 +
.../src/pages/DagsList/DagsFilters/DagsFilters.tsx | 8 +-
.../src/airflow/ui/src/pages/DagsList/DagsList.tsx | 8 +-
.../ui/src/pages/DagsList/useTagFilter.test.tsx | 46 +-
.../airflow/ui/src/pages/DagsList/useTagFilter.ts | 17 +-
.../src/airflow/ui/src/pages/Run/Details.tsx | 12 +
.../src/airflow/ui/src/pages/Run/Header.test.tsx | 21 +
.../src/airflow/ui/src/pages/Run/Header.tsx | 11 +
.../ui/src/pages/Settings/Settings.test.tsx | 118 +
.../src/airflow/ui/src/pages/Settings/Settings.tsx | 256 ++
.../ui/src/pages/{Events => Settings}/index.tsx | 3 +-
.../airflow/ui/src/pages/TaskInstance/Details.tsx | 12 +
.../ui/src/pages/TaskInstance/Header.test.tsx | 78 +
.../airflow/ui/src/pages/TaskInstance/Header.tsx | 11 +
.../ui/src/pages/TaskInstances/TaskInstances.tsx | 8 +-
.../gridViewQueryKeys.test.ts} | 27 +-
.../airflow/ui/src/queries/gridViewQueryKeys.ts | 3 +
.../src/airflow/ui/src/queries/useGridStructure.ts | 38 +-
.../ui/src/queries/useGridTISummaries.test.tsx | 47 +-
.../airflow/ui/src/queries/useGridTISummaries.ts | 7 +-
airflow-core/src/airflow/ui/src/router.tsx | 5 +
airflow-core/src/airflow/utils/db.py | 2 +-
.../core_api/routes/public/test_dag_run.py | 19 +
.../core_api/routes/public/test_dags.py | 36 +-
.../core_api/routes/public/test_task_instances.py | 45 +
.../api_fastapi/core_api/routes/ui/test_assets.py | 25 +-
.../core_api/routes/ui/test_calendar.py | 39 +
.../versions/head/test_task_instances.py | 59 +
.../versions/v2026_06_30/test_dag_runs.py | 90 +
.../tests/unit/cli/commands/test_team_command.py | 106 +-
.../tests/unit/dag_processing/test_dagbag.py | 68 +
airflow-core/tests/unit/models/test_pool.py | 3 +
airflow-core/tests/unit/models/test_team.py | 130 +
.../src/airflowctl/api/datamodels/generated.py | 1 +
clients/python/pyproject.toml | 2 +-
.../13_airflow_dependencies_and_extras.rst | 15 +
dev/README_RELEASE_PROVIDERS.md | 50 +-
.../react_plugin_template/package.json | 12 +-
.../react_plugin_template/pnpm-lock.yaml | 204 +-
generated/known_sdk_imports_in_core.txt | 44 +
generated/provider_metadata.json | 8 +
java-sdk/README.md | 22 +
java-sdk/build.gradle.kts | 9 +
java-sdk/buildSrc/build.gradle.kts | 7 +
.../main/kotlin/airflow-jvm-conventions.gradle.kts | 4 -
java-sdk/gradle/verification-metadata.xml | 3029 ++++++++++++++++++++
java-sdk/plugin/build.gradle.kts | 4 -
java-sdk/settings.gradle.kts | 14 +
providers/common/ai/docs/index.rst | 10 +-
providers/common/ai/pyproject.toml | 10 +-
.../providers/edge3/plugins/www/package.json | 28 +-
.../providers/edge3/plugins/www/pnpm-lock.yaml | 640 ++---
.../airflow/providers/openlineage/utils/utils.py | 7 +-
scripts/ci/prek/check_dependency_lower_bounds.py | 146 +
scripts/ci/prek/check_sdk_imports_in_core.py | 210 +-
scripts/ci/prek/check_ti_vs_tis_attributes.py | 2 +
.../ci/prek/test_check_dependency_lower_bounds.py | 143 +
.../ci/prek/test_check_sdk_imports_in_core.py | 232 +-
ts-sdk/.pre-commit-config.yaml | 1 +
ts-sdk/README.md | 16 +-
ts-sdk/pnpm-lock.yaml | 42 +
.../provider.yaml => ts-sdk/pnpm-workspace.yaml | 31 +-
ts-sdk/src/coordinator/client.ts | 8 +-
ts-sdk/src/index.ts | 2 +-
ts-sdk/src/sdk/client.ts | 20 +
ts-sdk/tests/coordinator/client.test.ts | 26 +
ts-sdk/tests/public-api.test.ts | 9 +
uv.lock | 10 +-
132 files changed, 6763 insertions(+), 1140 deletions(-)
copy .github/workflows/{asf-allowlist-check.yml =>
ts-sdk-dependency-review.yml} (59%)
create mode 100644 airflow-core/newsfragments/69768.feature.rst
copy
airflow-core/src/airflow/migrations/versions/{0126_3_4_0_add_index_on_asset_uri.py
=> 0130_3_4_0_add_new_index_for_trigger.py} (64%)
create mode 100644
airflow-core/src/airflow/ui/src/components/Graph/DirectionDropdown.test.tsx
copy airflow-core/src/airflow/ui/src/{layouts/Nav/DocsButton.test.tsx =>
components/TeamName.test.tsx} (51%)
copy airflow-core/src/airflow/ui/src/components/{WarningAlert.tsx =>
TeamName.tsx} (66%)
copy airflow-core/src/airflow/ui/{rules/levels.js => src/hooks/useShowTeam.ts}
(70%)
create mode 100644
airflow-core/src/airflow/ui/src/hooks/useUserSettings.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/hooks/useUserSettings.ts
copy
airflow-core/src/airflow/ui/src/{pages/Connections/NothingFoundInfo.test.tsx =>
layouts/Nav/UserSettingsButton.test.tsx} (60%)
create mode 100644
airflow-core/src/airflow/ui/src/pages/Settings/Settings.test.tsx
create mode 100644 airflow-core/src/airflow/ui/src/pages/Settings/Settings.tsx
copy airflow-core/src/airflow/ui/src/pages/{Events => Settings}/index.tsx (95%)
create mode 100644
airflow-core/src/airflow/ui/src/pages/TaskInstance/Header.test.tsx
copy airflow-core/src/airflow/ui/src/{utils/ChakraWrapper.test.tsx =>
queries/gridViewQueryKeys.test.ts} (57%)
create mode 100644
airflow-core/tests/unit/api_fastapi/execution_api/versions/v2026_06_30/test_dag_runs.py
create mode 100644 generated/known_sdk_imports_in_core.txt
create mode 100644 java-sdk/gradle/verification-metadata.xml
create mode 100755 scripts/ci/prek/check_dependency_lower_bounds.py
create mode 100644 scripts/tests/ci/prek/test_check_dependency_lower_bounds.py
copy providers/common/dataquality/provider.yaml => ts-sdk/pnpm-workspace.yaml
(58%)