This is an automated email from the ASF dual-hosted git repository.
jason810496 pushed a change to branch
jason/lang-sdk-e2e/01-coordinator-dag-bundle-name
in repository https://gitbox.apache.org/repos/asf/airflow.git
discard a481344223b Reject empty subprocess coordinator artifact roots
discard 0aec44e8889 Reject concurrent subprocess coordinator execution
consistently
discard ce617c8474b Make task bundle access dependencies explicit
discard a59132f973f Preserve custom subprocess coordinator compatibility
discard 14d5448c276 Read the Dag bundle configuration through a single entry
point
discard ed24a7cdcdf Resolve coordinator Dag bundles without importing the task
runner
discard 5fa4098e409 Make JavaCoordinator main_class optional in co-located mode
discard da37c21686b Harden subprocess coordinator artifact bundle resolution
discard b87d2907a24 Document dag_bundle_name option for language-SDK
coordinators
discard 68693340f67 Add dag_bundle_name option to subprocess coordinators
add 0566d6cd5ef Add OpenSandbox backend for sandbox tools (#71676)
add 93978958ae1 Fix example_neptune_analytics by pinning an explicit
region (#73851)
add d6c4c71979e Bump prettier (#73857)
add c8ca02e4158 Update changelog to clarify new LLMBranchOperator
"branches" feature (#73850)
add ad3e67fccd2 Add Modal provider with `ModalHook` and connection type
(#73418)
add ce614baf9b0 Add Strands Agents support for `common.ai` toolsets
(#73587)
add dbac03d87dd Fix KubernetesExecutor not queuing tasks on Airflow 3.0.x
(#73764)
add b3bcb388742 Recognize grouped PR references in provider changelog
tooling (#73855)
add ae1e8385060 Let the sandbox toolset attach to a sandbox another task
provisioned (#73559)
add c1b878ad22c Exclude SQLAlchemy 2.1.0 (#73865)
add 10221c300eb Read the AWS task logs once more after the fetcher is
stopped (#73211)
add 86d5297ca4b Add dag_bundle_name option to subprocess coordinators
add 1a65f90325e Document dag_bundle_name option for language-SDK
coordinators
add fec090c4e62 Harden subprocess coordinator artifact bundle resolution
add aa32014083c Make JavaCoordinator main_class optional in co-located mode
add 6523b0581c3 Resolve coordinator Dag bundles without importing the task
runner
add ac1f620daec Read the Dag bundle configuration through a single entry
point
add 13b4a38ac26 Preserve custom subprocess coordinator compatibility
add 5e210e8f8d6 Make task bundle access dependencies explicit
add f79d7502c2c Reject concurrent subprocess coordinator execution
consistently
add 6dc4ee7384a Reject empty subprocess coordinator artifact roots
add b238a022c47 Reject blank subprocess coordinator artifact roots
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 (a481344223b)
\
N -- N -- N
refs/heads/jason/lang-sdk-e2e/01-coordinator-dag-bundle-name (b238a022c47)
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/ISSUE_TEMPLATE/1-airflow_bug_report.yml | 1 +
.github/boring-cyborg.yml | 3 +
airflow-core/docs/extra-packages-ref.rst | 2 +
airflow-core/pyproject.toml | 2 +-
dev/breeze/doc/images/output_build-docs.svg | 4 +-
dev/breeze/doc/images/output_build-docs.txt | 2 +-
...tput_release-management_add-back-references.svg | 4 +-
...tput_release-management_add-back-references.txt | 2 +-
...elease-management_classify-provider-changes.svg | 4 +-
...elease-management_classify-provider-changes.txt | 2 +-
...management_generate-issue-content-providers.svg | 4 +-
...management_generate-issue-content-providers.txt | 2 +-
...ease-management_generate-providers-metadata.svg | 10 +-
...ease-management_generate-providers-metadata.txt | 2 +-
...e-management_prepare-provider-distributions.svg | 4 +-
...e-management_prepare-provider-distributions.txt | 2 +-
...e-management_prepare-provider-documentation.svg | 4 +-
...e-management_prepare-provider-documentation.txt | 2 +-
.../output_release-management_publish-docs.svg | 4 +-
.../output_release-management_publish-docs.txt | 2 +-
...output_sbom_generate-providers-requirements.svg | 2 +-
...output_sbom_generate-providers-requirements.txt | 2 +-
.../images/output_workflow-run_publish-docs.svg | 4 +-
.../images/output_workflow-run_publish-docs.txt | 2 +-
dev/breeze/src/airflow_breeze/global_constants.py | 2 +-
.../prepare_providers/provider_documentation.py | 11 +-
dev/breeze/tests/test_provider_documentation.py | 48 ++
devel-common/pyproject.toml | 2 +-
docs/spelling_wordlist.txt | 4 +
providers/amazon/docs/index.rst | 2 +-
providers/amazon/pyproject.toml | 2 +-
.../providers/amazon/aws/utils/task_log_fetcher.py | 38 +-
.../system/amazon/aws/example_neptune_analytics.py | 20 +-
.../unit/amazon/aws/utils/test_task_log_fetcher.py | 36 +-
providers/apache/hive/docs/index.rst | 2 +-
providers/apache/hive/pyproject.toml | 2 +-
providers/apache/impala/docs/index.rst | 8 +-
providers/apache/impala/pyproject.toml | 2 +-
.../kubernetes/executors/kubernetes_executor.py | 12 +-
.../executors/test_kubernetes_executor.py | 32 +
providers/common/ai/README.rst | 47 +-
providers/common/ai/docs/changelog.rst | 2 +-
providers/common/ai/docs/frameworks/index.rst | 119 ++++
providers/common/ai/docs/frameworks/strands.rst | 154 +++++
providers/common/ai/docs/index.rst | 48 +-
providers/common/ai/docs/installation.rst | 7 +-
providers/common/ai/docs/sandbox/backends.rst | 126 +++-
providers/common/ai/docs/sandbox/configuration.rst | 205 ++++--
providers/common/ai/docs/sandbox/index.rst | 86 ++-
providers/common/ai/docs/tool_approval.rst | 9 +-
providers/common/ai/provider.yaml | 5 +-
providers/common/ai/pyproject.toml | 4 +-
.../ai/example_dags/example_sandbox_toolset.py | 100 ++-
.../ai/example_dags/example_strands_agent.py | 89 +++
.../providers/common/ai/get_provider_info.py | 7 +-
.../airflow/providers/common/ai/operators/agent.py | 91 ++-
.../providers/common/ai/sandbox/__init__.py | 6 +
.../airflow/providers/common/ai/sandbox/base.py | 245 ++++++-
.../airflow/providers/common/ai/sandbox/modal.py | 246 +++++--
.../providers/common/ai/sandbox/opensandbox.py | 545 +++++++++++++++
.../src/airflow/providers/common/ai/sandbox/sbx.py | 17 +-
.../airflow/providers/common/ai/tools/__init__.py | 135 ++++
.../providers/common/ai/tools/_from_toolset.py | 100 +++
.../airflow/providers/common/ai/tools/strands.py | 108 +++
.../airflow/providers/common/ai/toolsets/hook.py | 17 +
.../common/ai/toolsets/langchain_bridge.py | 28 +-
.../providers/common/ai/toolsets/sandbox.py | 304 ++++++++-
.../airflow/providers/common/ai/toolsets/sql.py | 18 +
.../providers/common/ai/utils/coroutines.py} | 30 +-
.../common/ai/tests/system/common/ai/README.md | 37 +-
.../common/ai/example_sandbox_toolset_modal.py | 138 +++-
...x.py => example_sandbox_toolset_opensandbox.py} | 27 +-
.../common/ai/tests/unit/common/ai/conftest.py | 34 +
.../tests/unit/common/ai/operators/test_agent.py | 170 ++++-
.../ai/tests/unit/common/ai/sandbox/fake_modal.py | 17 +
.../ai/tests/unit/common/ai/sandbox/fake_tags.py | 63 ++
.../ai/tests/unit/common/ai/sandbox/test_base.py | 173 +++++
.../ai/tests/unit/common/ai/sandbox/test_modal.py | 207 +++++-
.../unit/common/ai/sandbox/test_opensandbox.py | 734 +++++++++++++++++++++
.../ai/tests/unit/common/ai/sandbox/test_sbx.py | 6 +
.../ai/tests/unit/common/ai/tools}/__init__.py | 0
.../unit/common/ai/tools/test__from_toolset.py | 155 +++++
.../ai/tests/unit/common/ai/tools/test_strands.py | 107 +++
.../ai/tests/unit/common/ai/tools/test_tools.py | 111 ++++
.../tests/unit/common/ai/toolsets/test_sandbox.py | 371 ++++++++++-
.../tests/unit/common/ai/utils/test_coroutines.py | 25 +-
providers/common/sql/docs/index.rst | 2 +-
providers/common/sql/pyproject.toml | 2 +-
providers/exasol/docs/index.rst | 8 +-
providers/exasol/pyproject.toml | 2 +-
.../fab/src/airflow/providers/fab/www/package.json | 2 +-
.../src/airflow/providers/fab/www/pnpm-lock.yaml | 10 +-
providers/jdbc/docs/index.rst | 2 +-
providers/jdbc/pyproject.toml | 2 +-
{airflow-core => providers/modal}/.gitignore | 0
{chart => providers/modal}/LICENSE | 0
NOTICE => providers/modal/NOTICE | 0
providers/{opensearch => modal}/README.rst | 21 +-
providers/modal/docs/.latest-doc-only-change.txt | 1 +
providers/{duckdb => modal}/docs/changelog.rst | 6 +-
providers/{keycloak => modal}/docs/commits.rst | 7 +-
providers/{mongo => modal}/docs/conf.py | 2 +-
providers/modal/docs/connections.rst | 85 +++
providers/modal/docs/index.rst | 131 ++++
.../docs/installing-providers-from-sources.rst | 0
providers/modal/docs/integration-logos/Modal.png | Bin 0 -> 10357 bytes
providers/{anthropic => modal}/docs/security.rst | 0
providers/modal/docs/usage.rst | 158 +++++
providers/modal/provider.yaml | 74 +++
providers/{vespa => modal}/pyproject.toml | 20 +-
.../modal/src/airflow}/__init__.py | 0
.../modal/src/airflow/providers}/__init__.py | 0
.../src/airflow/providers/modal}/__init__.py | 4 +-
.../src/airflow/providers/modal/exceptions.py | 18 +-
.../airflow/providers/modal/get_provider_info.py | 61 ++
.../src/airflow/providers/modal/hooks}/__init__.py | 0
.../src/airflow/providers/modal/hooks/modal.py | 279 ++++++++
providers/{airbyte => modal}/tests/conftest.py | 0
.../modal/tests/unit}/__init__.py | 0
.../modal/tests/unit/modal}/__init__.py | 0
.../modal/tests/unit/modal/hooks}/__init__.py | 0
.../modal/tests/unit/modal/hooks/test_modal.py | 372 +++++++++++
.../tests/unit/modal}/test_exceptions.py | 14 +-
providers/openlineage/docs/index.rst | 8 +-
providers/openlineage/pyproject.toml | 2 +-
providers/postgres/docs/index.rst | 2 +-
providers/postgres/pyproject.toml | 2 +-
providers/presto/docs/index.rst | 2 +-
providers/presto/pyproject.toml | 2 +-
providers/teradata/docs/index.rst | 2 +-
providers/teradata/pyproject.toml | 2 +-
providers/vertica/docs/index.rst | 8 +-
providers/vertica/pyproject.toml | 2 +-
providers/ydb/docs/index.rst | 8 +-
providers/ydb/pyproject.toml | 2 +-
pyproject.toml | 10 +
scripts/ci/docker-compose/remove-sources.yml | 1 +
scripts/ci/docker-compose/tests-sources.yml | 1 +
scripts/ci/prek/changelog_duplicates.py | 11 +-
scripts/tests/ci/prek/test_changelog_duplicates.py | 36 +-
.../airflow/sdk/coordinators/_bundle_metadata.py | 8 +-
.../coordinators/executable/test_coordinator.py | 8 +-
.../task_sdk/coordinators/java/test_coordinator.py | 8 +-
.../task_sdk/coordinators/node/test_coordinator.py | 8 +-
uv.lock | 112 +++-
145 files changed, 6579 insertions(+), 517 deletions(-)
create mode 100644 providers/common/ai/docs/frameworks/index.rst
create mode 100644 providers/common/ai/docs/frameworks/strands.rst
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/example_dags/example_strands_agent.py
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/sandbox/opensandbox.py
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/tools/__init__.py
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/tools/_from_toolset.py
create mode 100644
providers/common/ai/src/airflow/providers/common/ai/tools/strands.py
copy providers/{fab/src/airflow/providers/fab/www/airflow_flask_app.py =>
common/ai/src/airflow/providers/common/ai/utils/coroutines.py} (54%)
copy
providers/common/ai/tests/system/common/ai/{example_sandbox_toolset_sbx.py =>
example_sandbox_toolset_opensandbox.py} (80%)
create mode 100644
providers/common/ai/tests/unit/common/ai/sandbox/fake_tags.py
create mode 100644
providers/common/ai/tests/unit/common/ai/sandbox/test_opensandbox.py
copy {airflow-core/src/airflow/_shared =>
providers/common/ai/tests/unit/common/ai/tools}/__init__.py (100%)
create mode 100644
providers/common/ai/tests/unit/common/ai/tools/test__from_toolset.py
create mode 100644
providers/common/ai/tests/unit/common/ai/tools/test_strands.py
create mode 100644 providers/common/ai/tests/unit/common/ai/tools/test_tools.py
copy airflow-core/src/airflow/api_fastapi/core_api/datamodels/providers.py =>
providers/common/ai/tests/unit/common/ai/utils/test_coroutines.py (57%)
copy {airflow-core => providers/modal}/.gitignore (100%)
copy {chart => providers/modal}/LICENSE (100%)
copy NOTICE => providers/modal/NOTICE (100%)
copy providers/{opensearch => modal}/README.rst (77%)
create mode 100644 providers/modal/docs/.latest-doc-only-change.txt
copy providers/{duckdb => modal}/docs/changelog.rst (88%)
copy providers/{keycloak => modal}/docs/commits.rst (93%)
copy providers/{mongo => modal}/docs/conf.py (99%)
create mode 100644 providers/modal/docs/connections.rst
create mode 100644 providers/modal/docs/index.rst
copy providers/{airbyte => modal}/docs/installing-providers-from-sources.rst
(100%)
create mode 100644 providers/modal/docs/integration-logos/Modal.png
copy providers/{anthropic => modal}/docs/security.rst (100%)
create mode 100644 providers/modal/docs/usage.rst
create mode 100644 providers/modal/provider.yaml
copy providers/{vespa => modal}/pyproject.toml (91%)
copy {airflow-core/tests/integration =>
providers/modal/src/airflow}/__init__.py (100%)
copy {airflow-core/tests/integration =>
providers/modal/src/airflow/providers}/__init__.py (100%)
copy providers/{edge3/src/airflow/providers/edge3 =>
modal/src/airflow/providers/modal}/__init__.py (94%)
copy airflow-core/tests/unit/task/conftest.py =>
providers/modal/src/airflow/providers/modal/exceptions.py (63%)
create mode 100644
providers/modal/src/airflow/providers/modal/get_provider_info.py
copy {airflow-core/src/airflow/_shared =>
providers/modal/src/airflow/providers/modal/hooks}/__init__.py (100%)
create mode 100644 providers/modal/src/airflow/providers/modal/hooks/modal.py
copy providers/{airbyte => modal}/tests/conftest.py (100%)
copy {airflow-core/tests/integration =>
providers/modal/tests/unit}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared =>
providers/modal/tests/unit/modal}/__init__.py (100%)
copy {airflow-core/src/airflow/_shared =>
providers/modal/tests/unit/modal/hooks}/__init__.py (100%)
create mode 100644 providers/modal/tests/unit/modal/hooks/test_modal.py
copy providers/{alibaba/tests/unit/alibaba/cloud =>
modal/tests/unit/modal}/test_exceptions.py (62%)