feat(core): add support for MCP 2026 stateless draft and auto-negotiation fallback - #704
Merged
Merged
Google Cloud Build / llamaindex-python-sdk-pr-py314 (toolbox-testing-438616)
succeeded
Jul 1, 2026 in 14m 36s
Summary
Build Information
| Trigger | llamaindex-python-sdk-pr-py314 |
| Build | 5c312028-be36-4fc1-ab9e-71a7f710c511 |
| Start | 2026-07-01T06:27:22-07:00 |
| Duration | 14m25.136s |
| Status | SUCCESS |
Steps
| Step | Status | Duration |
|---|---|---|
| Install requirements | SUCCESS | 13m54.657s |
| Run integration tests | SUCCESS | 25.23s |
Details
starting build "5c312028-be36-4fc1-ab9e-71a7f710c511"
FETCHSOURCE
From https://github.com/googleapis/mcp-toolbox-sdk-python
* branch caf7b85471876bc72c0f04cfe505e841cf3fbb92 -> FETCH_HEAD
HEAD is now at caf7b85 test: parameterize integration tests to run comprehensively for both stable and draft MCP versions
GitCommit:
caf7b85471876bc72c0f04cfe505e841cf3fbb92
BUILD
Starting Step #0 - "Install requirements"
Step #0 - "Install requirements": Pulling image: python:3.14
Step #0 - "Install requirements": 3.14: Pulling from library/python
Step #0 - "Install requirements": aa3e9ef32f73: Pulling fs layer
Step #0 - "Install requirements": 3f59c84a7863: Pulling fs layer
Step #0 - "Install requirements": 30d0db852850: Pulling fs layer
Step #0 - "Install requirements": 0252e6abaf0f: Pulling fs layer
Step #0 - "Install requirements": bec7375c137e: Pulling fs layer
Step #0 - "Install requirements": e47c398c1abe: Pulling fs layer
Step #0 - "Install requirements": a07254a044f1: Pulling fs layer
Step #0 - "Install requirements": a07254a044f1: Waiting
Step #0 - "Install requirements": bec7375c137e: Download complete
Step #0 - "Install requirements": a07254a044f1: Verifying Checksum
Step #0 - "Install requirements": a07254a044f1: Download complete
Step #0 - "Install requirements": 3f59c84a7863: Download complete
Step #0 - "Install requirements": e47c398c1abe: Verifying Checksum
Step #0 - "Install requirements": e47c398c1abe: Download complete
Step #0 - "Install requirements": aa3e9ef32f73: Verifying Checksum
Step #0 - "Install requirements": aa3e9ef32f73: Download complete
Step #0 - "Install requirements": 30d0db852850: Verifying Checksum
Step #0 - "Install requirements": 30d0db852850: Download complete
Step #0 - "Install requirements": 0252e6abaf0f: Verifying Checksum
Step #0 - "Install requirements": 0252e6abaf0f: Download complete
Step #0 - "Install requirements": aa3e9ef32f73: Pull complete
Step #0 - "Install requirements": 3f59c84a7863: Pull complete
Step #0 - "Install requirements": 30d0db852850: Pull complete
Step #0 - "Install requirements": 0252e6abaf0f: Pull complete
Step #0 - "Install requirements": bec7375c137e: Pull complete
Step #0 - "Install requirements": e47c398c1abe: Pull complete
Step #0 - "Install requirements": a07254a044f1: Pull complete
Step #0 - "Install requirements": Digest: sha256:09b29c360b84742bf98eba40b214f7f6b4b53286bb2c8a8b5b1afa188a8d9c0e
Step #0 - "Install requirements": Status: Downloaded newer image for python:3.14
Step #0 - "Install requirements": docker.io/library/python:3.14
Step #0 - "Install requirements": Collecting uv
Step #0 - "Install requirements": Downloading uv-0.11.26-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
Step #0 - "Install requirements": Downloading uv-0.11.26-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.3 MB)
Step #0 - "Install requirements": ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 26.3/26.3 MB 115.0 MB/s 0:00:00
Step #0 - "Install requirements": Installing collected packages: uv
Step #0 - "Install requirements": Successfully installed uv-0.11.26
Step #0 - "Install requirements": WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
Step #0 - "Install requirements": Using CPython 3.14.6 interpreter at: /usr/local/bin/python3
Step #0 - "Install requirements": Creating virtual environment at: /workspace/venv
Step #0 - "Install requirements": Activate with: source /workspace/venv/bin/activate
Step #0 - "Install requirements": Using Python 3.14.6 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 1 package in 200ms
Step #0 - "Install requirements": Downloading uv (25.0MiB)
Step #0 - "Install requirements": Downloaded uv
Step #0 - "Install requirements": Prepared 1 package in 590ms
Step #0 - "Install requirements": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #0 - "Install requirements": If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #0 - "Install requirements": If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #0 - "Install requirements": Installed 1 package in 99ms
Step #0 - "Install requirements": + uv==0.11.26
Step #0 - "Install requirements": Using Python 3.14.6 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 67 packages in 2.34s
Step #0 - "Install requirements": Building toolbox-core @ file:///workspace/packages/toolbox-core
Step #0 - "Install requirements": Downloading tiktoken (1.1MiB)
Step #0 - "Install requirements": Downloading nltk (1.5MiB)
Step #0 - "Install requirements": Downloading networkx (2.0MiB)
Step #0 - "Install requirements": Downloading cryptography (4.5MiB)
Step #0 - "Install requirements": Downloading pillow (6.6MiB)
Step #0 - "Install requirements": Downloading llama-index-core (11.4MiB)
Step #0 - "Install requirements": Downloading aiohttp (1.7MiB)
Step #0 - "Install requirements": Downloading sqlalchemy (3.1MiB)
Step #0 - "Install requirements": Downloading pydantic-core (2.0MiB)
Step #0 - "Install requirements": Downloading numpy (15.9MiB)
Step #0 - "Install requirements": Downloaded tiktoken
Step #0 - "Install requirements": Built toolbox-core @ file:///workspace/packages/toolbox-core
Step #0 - "Install requirements": Downloaded pydantic-core
Step #0 - "Install requirements": Downloaded aiohttp
Step #0 - "Install requirements": Downloaded cryptography
Step #0 - "Install requirements": Downloaded pillow
Step #0 - "Install requirements": Downloaded sqlalchemy
Step #0 - "Install requirements": Downloaded nltk
Step #0 - "Install requirements": Downloaded networkx
Step #0 - "Install requirements": Downloaded llama-index-core
Step #0 - "Install requirements": Downloaded numpy
Step #0 - "Install requirements": Prepared 66 packages in 2.16s
Step #0 - "Install requirements": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #0 - "Install requirements": If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #0 - "Install requirements": If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #0 - "Install requirements": Installed 67 packages in 756ms
Step #0 - "Install requirements": + aiohappyeyeballs==2.6.2
Step #0 - "Install requirements": + aiohttp==3.14.0
Step #0 - "Install requirements": + aiosignal==1.4.0
Step #0 - "Install requirements": + aiosqlite==0.22.1
Step #0 - "Install requirements": + annotated-types==0.7.0
Step #0 - "Install requirements": + anyio==4.14.1
Step #0 - "Install requirements": + attrs==26.1.0
Step #0 - "Install requirements": + banks==2.4.4
Step #0 - "Install requirements": + certifi==2026.6.17
Step #0 - "Install requirements": + cffi==2.0.0
Step #0 - "Install requirements": + charset-normalizer==3.4.7
Step #0 - "Install requirements": + click==8.4.2
Step #0 - "Install requirements": + colorama==0.4.6
Step #0 - "Install requirements": + cryptography==49.0.0
Step #0 - "Install requirements": + dataclasses-json==0.6.7
Step #0 - "Install requirements": + deprecated==1.3.1
Step #0 - "Install requirements": + dirtyjson==1.0.8
Step #0 - "Install requirements": + filetype==1.2.0
Step #0 - "Install requirements": + frozenlist==1.8.0
Step #0 - "Install requirements": + fsspec==2026.6.0
Step #0 - "Install requirements": + google-auth==2.55.1
Step #0 - "Install requirements": + greenlet==3.5.3
Step #0 - "Install requirements": + griffe==2.1.0
Step #0 - "Install requirements": + griffecli==2.1.0
Step #0 - "Install requirements": + griffelib==2.1.0
Step #0 - "Install requirements": + h11==0.16.0
Step #0 - "Install requirements": + httpcore==1.0.9
Step #0 - "Install requirements": + httpx==0.28.1
Step #0 - "Install requirements": + idna==3.18
Step #0 - "Install requirements": + jinja2==3.1.6
Step #0 - "Install requirements": + joblib==1.5.3
Step #0 - "Install requirements": + llama-index-core==0.14.22
Step #0 - "Install requirements": + llama-index-instrumentation==0.5.0
Step #0 - "Install requirements": + llama-index-workflows==2.22.2
Step #0 - "Install requirements": + markupsafe==3.0.3
Step #0 - "Install requirements": + marshmallow==3.26.2
Step #0 - "Install requirements": + multidict==6.7.1
Step #0 - "Install requirements": + mypy-extensions==1.1.0
Step #0 - "Install requirements": + nest-asyncio==1.6.0
Step #0 - "Install requirements": + networkx==3.6.1
Step #0 - "Install requirements": + nltk==3.9.4
Step #0 - "Install requirements": + numpy==2.5.0
Step #0 - "Install requirements": + packaging==26.2
Step #0 - "Install requirements": + pillow==12.3.0
Step #0 - "Install requirements": + platformdirs==4.10.0
Step #0 - "Install requirements": + propcache==0.5.2
Step #0 - "Install requirements": + pyasn1==0.6.3
Step #0 - "Install requirements": + pyasn1-modules==0.4.2
Step #0 - "Install requirements": + pycparser==3.0
Step #0 - "Install requirements": + pydantic==2.13.4
Step #0 - "Install requirements": + pydantic-core==2.46.4
Step #0 - "Install requirements": + pyyaml==6.0.3
Step #0 - "Install requirements": + regex==2026.6.28
Step #0 - "Install requirements": + requests==2.34.2
Step #0 - "Install requirements": + setuptools==82.0.1
Step #0 - "Install requirements": + sqlalchemy==2.0.51
Step #0 - "Install requirements": + tenacity==9.1.4
Step #0 - "Install requirements": + tiktoken==0.13.0
Step #0 - "Install requirements": + tinytag==2.2.1
Step #0 - "Install requirements": + toolbox-core==1.1.0 (from file:///workspace/packages/toolbox-core)
Step #0 - "Install requirements": + tqdm==4.68.3
Step #0 - "Install requirements": + typing-extensions==4.15.0
Step #0 - "Install requirements": + typing-inspect==0.9.0
Step #0 - "Install requirements": + typing-inspection==0.4.2
Step #0 - "Install requirements": + urllib3==2.7.0
Step #0 - "Install requirements": + wrapt==2.2.2
Step #0 - "Install requirements": + yarl==1.24.2
Step #0 - "Install requirements": Using Python 3.14.6 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 111 packages in 1.66s
Step #0 - "Install requirements": Building toolbox-llamaindex @ file:///workspace/packages/toolbox-llamaindex
Step #0 - "Install requirements": Downloading jedi (4.7MiB)
Step #0 - "Install requirements": Downloading grpcio (6.5MiB)
Step #0 - "Install requirements": Downloading pillow (6.8MiB)
Step #0 - "Install requirements": Downloading ast-serialize (1.2MiB)
Step #0 - "Install requirements": Downloading pygments (1.2MiB)
Step #0 - "Install requirements": Downloaded pygments
Step #0 - "Install requirements": Downloaded ast-serialize
Step #0 - "Install requirements": Downloading black (1.8MiB)
Step #0 - "Install requirements": Downloading mypy (14.3MiB)
Step #0 - "Install requirements": Built toolbox-llamaindex @ file:///workspace/packages/toolbox-llamaindex
Step #0 - "Install requirements": Downloaded black
Step #0 - "Install requirements": Downloaded pillow
Step #0 - "Install requirements": Downloaded grpcio
Step #0 - "Install requirements": Downloaded mypy
Step #0 - "Install requirements": Downloaded jedi
Step #0 - "Install requirements": Building numpy==2.1.3
Step #0 - "Install requirements": Built numpy==2.1.3
Step #0 - "Install requirements": Prepared 46 packages in 13m 08s
Step #0 - "Install requirements": Uninstalled 2 packages in 48ms
Step #0 - "Install requirements": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #0 - "Install requirements": If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #0 - "Install requirements": If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #0 - "Install requirements": Installed 46 packages in 1.80s
Step #0 - "Install requirements": + ast-serialize==0.6.0
Step #0 - "Install requirements": + asttokens==3.0.1
Step #0 - "Install requirements": + black==26.5.1
Step #0 - "Install requirements": + coverage==7.14.3
Step #0 - "Install requirements": + decorator==5.3.1
Step #0 - "Install requirements": + executing==2.2.1
Step #0 - "Install requirements": + google-api-core==2.31.0
Step #0 - "Install requirements": + google-cloud-core==2.6.0
Step #0 - "Install requirements": + google-cloud-secret-manager==2.28.0
Step #0 - "Install requirements": + google-cloud-storage==3.10.1
Step #0 - "Install requirements": + google-crc32c==1.8.0
Step #0 - "Install requirements": + google-resumable-media==2.10.0
Step #0 - "Install requirements": + googleapis-common-protos==1.75.0
Step #0 - "Install requirements": + grpc-google-iam-v1==0.14.4
Step #0 - "Install requirements": + grpcio==1.81.1
Step #0 - "Install requirements": + grpcio-status==1.81.1
Step #0 - "Install requirements": + iniconfig==2.3.0
Step #0 - "Install requirements": + ipython==9.15.0
Step #0 - "Install requirements": + ipython-pygments-lexers==1.1.1
Step #0 - "Install requirements": + isort==8.0.1
Step #0 - "Install requirements": + jedi==0.20.0
Step #0 - "Install requirements": + librt==0.12.0
Step #0 - "Install requirements": + matplotlib-inline==0.2.2
Step #0 - "Install requirements": + mypy==2.1.0
Step #0 - "Install requirements": - numpy==2.5.0
Step #0 - "Install requirements": + numpy==2.1.3
Step #0 - "Install requirements": + parso==0.8.7
Step #0 - "Install requirements": + pathspec==1.1.1
Step #0 - "Install requirements": + pexpect==4.9.0
Step #0 - "Install requirements": - pillow==12.3.0
Step #0 - "Install requirements": + pillow==12.2.0
Step #0 - "Install requirements": + pluggy==1.6.0
Step #0 - "Install requirements": + prompt-toolkit==3.0.52
Step #0 - "Install requirements": + proto-plus==1.28.0
Step #0 - "Install requirements": + protobuf==7.35.1
Step #0 - "Install requirements": + psutil==7.2.2
Step #0 - "Install requirements": + ptyprocess==0.7.0
Step #0 - "Install requirements": + pure-eval==0.2.3
Step #0 - "Install requirements": + pygments==2.20.0
Step #0 - "Install requirements": + pytest==9.0.3
Step #0 - "Install requirements": + pytest-asyncio==1.4.0
Step #0 - "Install requirements": + pytest-cov==7.1.0
Step #0 - "Install requirements": + pytokens==0.4.1
Step #0 - "Install requirements": + stack-data==0.6.3
Step #0 - "Install requirements": + tokenize-rt==6.2.0
Step #0 - "Install requirements": + toolbox-llamaindex==0.7.0 (from file:///workspace/packages/toolbox-llamaindex)
Step #0 - "Install requirements": + traitlets==5.15.1
Step #0 - "Install requirements": + wcwidth==0.8.2
Finished Step #0 - "Install requirements"
Starting Step #1 - "Run integration tests"
Step #1 - "Run integration tests": Already have image (with digest): python:3.14
Step #1 - "Run integration tests": ============================= test session starts ==============================
Step #1 - "Run integration tests": platform linux -- Python 3.14.6, pytest-9.0.3, pluggy-1.6.0
Step #1 - "Run integration tests": rootdir: /workspace/packages/toolbox-llamaindex
Step #1 - "Run integration tests": configfile: pyproject.toml
Step #1 - "Run integration tests": plugins: cov-7.1.0, asyncio-1.4.0, anyio-4.14.1
Step #1 - "Run integration tests": asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
Step #1 - "Run integration tests": collected 178 items
Step #1 - "Run integration tests":
Step #1 - "Run integration tests": tests/test_async_client.py ................. [ 9%]
Step #1 - "Run integration tests": tests/test_async_tools.py .................. [ 19%]
Step #1 - "Run integration tests": tests/test_client.py ................ [ 28%]
Step #1 - "Run integration tests": tests/test_e2e.py ............................ [ 44%]
Step #1 - "Run integration tests": tests/test_tools.py .......... [ 50%]
Step #1 - "Run integration tests": tests/test_async_client.py ................. [ 59%]
Step #1 - "Run integration tests": tests/test_async_tools.py .................. [ 69%]
Step #1 - "Run integration tests": tests/test_client.py ................ [ 78%]
Step #1 - "Run integration tests": tests/test_e2e.py ............................ [ 94%]
Step #1 - "Run integration tests": tests/test_tools.py .......... [100%]
Step #1 - "Run integration tests":
Step #1 - "Run integration tests": =============================== warnings summary ===============================
Step #1 - "Run integration tests": tests/test_async_tools.py: 6 warnings
Step #1 - "Run integration tests": tests/test_e2e.py: 16 warnings
Step #1 - "Run integration tests": /workspace/packages/toolbox-core/src/toolbox_core/utils.py:165: DeprecationWarning: 'asyncio.iscoroutinefunction' is deprecated and slated for removal in Python 3.16; use inspect.iscoroutinefunction() instead
Step #1 - "Run integration tests": if asyncio.iscoroutinefunction(source):
Step #1 - "Run integration tests":
Step #1 - "Run integration tests": tests/test_e2e.py: 20 warnings
Step #1 - "Run integration tests": /workspace/packages/toolbox-core/src/toolbox_core/utils.py:56: UserWarning: This connection is using HTTP. To prevent credential exposure, please ensure all communication is sent over HTTPS.
Step #1 - "Run integration tests": warnings.warn(
Step #1 - "Run integration tests":
Step #1 - "Run integration tests": -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
Step #1 - "Run integration tests": ================================ tests coverage ================================
Step #1 - "Run integration tests": _______________ coverage: platform linux, python 3.14.6-final-0 ________________
Step #1 - "Run integration tests":
Step #1 - "Run integration tests": Name Stmts Miss Cover
Step #1 - "Run integration tests": ------------------------------------------------------------
Step #1 - "Run integration tests": src/toolbox_llamaindex/__init__.py 3 0 100%
Step #1 - "Run integration tests": src/toolbox_llamaindex/async_client.py 49 3 94%
Step #1 - "Run integration tests": src/toolbox_llamaindex/async_tools.py 36 5 86%
Step #1 - "Run integration tests": src/toolbox_llamaindex/client.py 79 4 95%
Step #1 - "Run integration tests": src/toolbox_llamaindex/tools.py 38 3 92%
Step #1 - "Run integration tests": src/toolbox_llamaindex/version.py 1 0 100%
Step #1 - "Run integration tests": ------------------------------------------------------------
Step #1 - "Run integration tests": TOTAL 206 15 93%
Step #1 - "Run integration tests": Required test coverage of 90% reached. Total coverage: 92.72%
Step #1 - "Run integration tests": ====================== 178 passed, 42 warnings in 16.57s =======================
starting build "5c312028-be36-4fc1-ab9e-71a7f710c511"
FETCHSOURCE
From https://github.com/googleapis/mcp-toolbox-sdk-python
* branch caf7b85471876bc72c0f04cfe505e841cf3fbb92 -> FETCH_HEAD
HEAD is now at caf7b85 test: parameterize integration tests to run comprehensively for both stable and draft MCP versions
GitCommit:
caf7b85471876bc72c0f04cfe505e841cf3fbb92
BUILD
Starting Step #0 - "Install requirements"
Step #0 - "Install requirements": Pulling image: python:3.14
Step #0 - "Install requirements": 3.14: Pulling from library/python
Step #0 - "Install requirements": aa3e9ef32f73: Pulling fs layer
Step #0 - "Install requirements": 3f59c84a7863: Pulling fs layer
Step #0 - "Install requirements": 30d0db852850: Pulling fs layer
Step #0 - "Install requirements": 0252e6abaf0f: Pulling fs layer
Step #0 - "Install requirements": bec7375c137e: Pulling fs layer
Step #0 - "Install requirements": e47c398c1abe: Pulling fs layer
Step #0 - "Install requirements": a07254a044f1: Pulling fs layer
Step #0 - "Install requirements": a07254a044f1: Waiting
Step #0 - "Install requirements": bec7375c137e: Download complete
Step #0 - "Install requirements": a07254a044f1: Verifying Checksum
Step #0 - "Install requirements": a07254a044f1: Download complete
Step #0 - "Install requirements": 3f59c84a7863: Download complete
Step #0 - "Install requirements": e47c398c1abe: Verifying Checksum
Step #0 - "Install requirements": e47c398c1abe: Download complete
Step #0 - "Install requirements": aa3e9ef32f73: Verifying Checksum
Step #0 - "Install requirements": aa3e9ef32f73: Download complete
Step #0 - "Install requirements": 30d0db852850: Verifying Checksum
Step #0 - "Install requirements": 30d0db852850: Download complete
Step #0 - "Install requirements": 0252e6abaf0f: Verifying Checksum
Step #0 - "Install requirements": 0252e6abaf0f: Download complete
Step #0 - "Install requirements": aa3e9ef32f73: Pull complete
Step #0 - "Install requirements": 3f59c84a7863: Pull complete
Step #0 - "Install requirements": 30d0db852850: Pull complete
Step #0 - "Install requirements": 0252e6abaf0f: Pull complete
Step #0 - "Install requirements": bec7375c137e: Pull complete
Step #0 - "Install requirements": e47c398c1abe: Pull complete
Step #0 - "Install requirements": a07254a044f1: Pull complete
Step #0 - "Install requirements": Digest: sha256:09b29c360b84742bf98eba40b214f7f6b4b53286bb2c8a8b5b1afa188a8d9c0e
Step #0 - "Install requirements": Status: Downloaded newer image for python:3.14
Step #0 - "Install requirements": docker.io/library/python:3.14
Step #0 - "Install requirements": Collecting uv
Step #0 - "Install requirements": Downloading uv-0.11.26-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
Step #0 - "Install requirements": Downloading uv-0.11.26-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.3 MB)
Step #0 - "Install requirements": ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 26.3/26.3 MB 115.0 MB/s 0:00:00
Step #0 - "Install requirements": Installing collected packages: uv
Step #0 - "Install requirements": Successfully installed uv-0.11.26
Step #0 - "Install requirements": WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
Step #0 - "Install requirements": Using CPython 3.14.6 interpreter at: /usr/local/bin/python3
Step #0 - "Install requirements": Creating virtual environment at: /workspace/venv
Step #0 - "Install requirements": Activate with: source /workspace/venv/bin/activate
Step #0 - "Install requirements": Using Python 3.14.6 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 1 package in 200ms
Step #0 - "Install requirements": Downloading uv (25.0MiB)
Step #0 - "Install requirements": Downloaded uv
Step #0 - "Install requirements": Prepared 1 package in 590ms
Step #0 - "Install requirements": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #0 - "Install requirements": If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #0 - "Install requirements": If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #0 - "Install requirements": Installed 1 package in 99ms
Step #0 - "Install requirements": + uv==0.11.26
Step #0 - "Install requirements": Using Python 3.14.6 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 67 packages in 2.34s
Step #0 - "Install requirements": Building toolbox-core @ file:///workspace/packages/toolbox-core
Step #0 - "Install requirements": Downloading tiktoken (1.1MiB)
Step #0 - "Install requirements": Downloading nltk (1.5MiB)
Step #0 - "Install requirements": Downloading networkx (2.0MiB)
Step #0 - "Install requirements": Downloading cryptography (4.5MiB)
Step #0 - "Install requirements": Downloading pillow (6.6MiB)
Step #0 - "Install requirements": Downloading llama-index-core (11.4MiB)
Step #0 - "Install requirements": Downloading aiohttp (1.7MiB)
Step #0 - "Install requirements": Downloading sqlalchemy (3.1MiB)
Step #0 - "Install requirements": Downloading pydantic-core (2.0MiB)
Step #0 - "Install requirements": Downloading numpy (15.9MiB)
Step #0 - "Install requirements": Downloaded tiktoken
Step #0 - "Install requirements": Built toolbox-core @ file:///workspace/packages/toolbox-core
Step #0 - "Install requirements": Downloaded pydantic-core
Step #0 - "Install requirements": Downloaded aiohttp
Step #0 - "Install requirements": Downloaded cryptography
Step #0 - "Install requirements": Downloaded pillow
Step #0 - "Install requirements": Downloaded sqlalchemy
Step #0 - "Install requirements": Downloaded nltk
Step #0 - "Install requirements": Downloaded networkx
Step #0 - "Install requirements": Downloaded llama-index-core
Step #0 - "Install requirements": Downloaded numpy
Step #0 - "Install requirements": Prepared 66 packages in 2.16s
Step #0 - "Install requirements": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #0 - "Install requirements": If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #0 - "Install requirements": If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #0 - "Install requirements": Installed 67 packages in 756ms
Step #0 - "Install requirements": + aiohappyeyeballs==2.6.2
Step #0 - "Install requirements": + aiohttp==3.14.0
Step #0 - "Install requirements": + aiosignal==1.4.0
Step #0 - "Install requirements": + aiosqlite==0.22.1
Step #0 - "Install requirements": + annotated-types==0.7.0
Step #0 - "Install requirements": + anyio==4.14.1
Step #0 - "Install requirements": + attrs==26.1.0
Step #0 - "Install requirements": + banks==2.4.4
Step #0 - "Install requirements": + certifi==2026.6.17
Step #0 - "Install requirements": + cffi==2.0.0
Step #0 - "Install requirements": + charset-normalizer==3.4.7
Step #0 - "Install requirements": + click==8.4.2
Step #0 - "Install requirements": + colorama==0.4.6
Step #0 - "Install requirements": + cryptography==49.0.0
Step #0 - "Install requirements": + dataclasses-json==0.6.7
Step #0 - "Install requirements": + deprecated==1.3.1
Step #0 - "Install requirements": + dirtyjson==1.0.8
Step #0 - "Install requirements": + filetype==1.2.0
Step #0 - "Install requirements": + frozenlist==1.8.0
Step #0 - "Install requirements": + fsspec==2026.6.0
Step #0 - "Install requirements": + google-auth==2.55.1
Step #0 - "Install requirements": + greenlet==3.5.3
Step #0 - "Install requirements": + griffe==2.1.0
Step #0 - "Install requirements": + griffecli==2.1.0
Step #0 - "Install requirements": + griffelib==2.1.0
Step #0 - "Install requirements": + h11==0.16.0
Step #0 - "Install requirements": + httpcore==1.0.9
Step #0 - "Install requirements": + httpx==0.28.1
Step #0 - "Install requirements": + idna==3.18
Step #0 - "Install requirements": + jinja2==3.1.6
Step #0 - "Install requirements": + joblib==1.5.3
Step #0 - "Install requirements": + llama-index-core==0.14.22
Step #0 - "Install requirements": + llama-index-instrumentation==0.5.0
Step #0 - "Install requirements": + llama-index-workflows==2.22.2
Step #0 - "Install requirements": + markupsafe==3.0.3
Step #0 - "Install requirements": + marshmallow==3.26.2
Step #0 - "Install requirements": + multidict==6.7.1
Step #0 - "Install requirements": + mypy-extensions==1.1.0
Step #0 - "Install requirements": + nest-asyncio==1.6.0
Step #0 - "Install requirements": + networkx==3.6.1
Step #0 - "Install requirements": + nltk==3.9.4
Step #0 - "Install requirements": + numpy==2.5.0
Step #0 - "Install requirements": + packaging==26.2
Step #0 - "Install requirements": + pillow==12.3.0
Step #0 - "Install requirements": + platformdirs==4.10.0
Step #0 - "Install requirements": + propcache==0.5.2
Step #0 - "Install requirements": + pyasn1==0.6.3
Step #0 - "Install requirements": + pyasn1-modules==0.4.2
Step #0 - "Install requirements": + pycparser==3.0
Step #0 - "Install requirements": + pydantic==2.13.4
Step #0 - "Install requirements": + pydantic-core==2.46.4
Step #0 - "Install requirements": + pyyaml==6.0.3
Step #0 - "Install requirements": + regex==2026.6.28
Step #0 - "Install requirements": + requests==2.34.2
Step #0 - "Install requirements": + setuptools==82.0.1
Step #0 - "Install requirements": + sqlalchemy==2.0.51
Step #0 - "Install requirements": + tenacity==9.1.4
Step #0 - "Install requirements": + tiktoken==0.13.0
Step #0 - "Install requirements": + tinytag==2.2.1
Step #0 - "Install requirements": + toolbox-core==1.1.0 (from file:///workspace/packages/toolbox-core)
Step #0 - "Install requirements": + tqdm==4.68.3
Step #0 - "Install requirements": + typing-extensions==4.15.0
Step #0 - "Install requirements": + typing-inspect==0.9.0
Step #0 - "Install requirements": + typing-inspection==0.4.2
Step #0 - "Install requirements": + urllib3==2.7.0
Step #0 - "Install requirements": + wrapt==2.2.2
Step #0 - "Install requirements": + yarl==1.24.2
Step #0 - "Install requirements": Using Python 3.14.6 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 111 packages in 1.66s
Step #0 - "Install requirements": Building toolbox-llamaindex @ file:///workspace/packages/toolbox-llamaindex
Step #0 - "Install requirements": Downloading jedi (4.7MiB)
Step #0 - "Install requirements": Downloading grpcio (6.5MiB)
Step #0 - "Install requirements": Downloading pillow (6.8MiB)
Step #0 - "Install requirements": Downloading ast-serialize (1.2MiB)
Step #0 - "Install requirements": Downloading pygments (1.2MiB)
Step #0 - "Install requirements": Downloaded pygments
Step #0 - "Install requirements": Downloaded ast-serialize
Step #0 - "Install requirements": Downloading black (1.8MiB)
Step #0 - "Install requirements": Downloading mypy (14.3MiB)
Step #0
...
[Logs truncated due to log size limitations. For full logs, see https://console.cloud.google.com/logs/viewer?advancedFilter=resource.type%3D%22build%22+AND+resource.labels.build_id%3D%225c312028-be36-4fc1-ab9e-71a7f710c511%22+AND+resource.labels.build_trigger_id%3D%22dbf38e36-472b-494c-997d-fb8f8457bbf0%22&project=toolbox-testing-438616.]
...
requirements": + llama-index-instrumentation==0.5.0
Step #0 - "Install requirements": + llama-index-workflows==2.22.2
Step #0 - "Install requirements": + markupsafe==3.0.3
Step #0 - "Install requirements": + marshmallow==3.26.2
Step #0 - "Install requirements": + multidict==6.7.1
Step #0 - "Install requirements": + mypy-extensions==1.1.0
Step #0 - "Install requirements": + nest-asyncio==1.6.0
Step #0 - "Install requirements": + networkx==3.6.1
Step #0 - "Install requirements": + nltk==3.9.4
Step #0 - "Install requirements": + numpy==2.5.0
Step #0 - "Install requirements": + packaging==26.2
Step #0 - "Install requirements": + pillow==12.3.0
Step #0 - "Install requirements": + platformdirs==4.10.0
Step #0 - "Install requirements": + propcache==0.5.2
Step #0 - "Install requirements": + pyasn1==0.6.3
Step #0 - "Install requirements": + pyasn1-modules==0.4.2
Step #0 - "Install requirements": + pycparser==3.0
Step #0 - "Install requirements": + pydantic==2.13.4
Step #0 - "Install requirements": + pydantic-core==2.46.4
Step #0 - "Install requirements": + pyyaml==6.0.3
Step #0 - "Install requirements": + regex==2026.6.28
Step #0 - "Install requirements": + requests==2.34.2
Step #0 - "Install requirements": + setuptools==82.0.1
Step #0 - "Install requirements": + sqlalchemy==2.0.51
Step #0 - "Install requirements": + tenacity==9.1.4
Step #0 - "Install requirements": + tiktoken==0.13.0
Step #0 - "Install requirements": + tinytag==2.2.1
Step #0 - "Install requirements": + toolbox-core==1.1.0 (from file:///workspace/packages/toolbox-core)
Step #0 - "Install requirements": + tqdm==4.68.3
Step #0 - "Install requirements": + typing-extensions==4.15.0
Step #0 - "Install requirements": + typing-inspect==0.9.0
Step #0 - "Install requirements": + typing-inspection==0.4.2
Step #0 - "Install requirements": + urllib3==2.7.0
Step #0 - "Install requirements": + wrapt==2.2.2
Step #0 - "Install requirements": + yarl==1.24.2
Step #0 - "Install requirements": Using Python 3.14.6 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 111 packages in 1.66s
Step #0 - "Install requirements": Building toolbox-llamaindex @ file:///workspace/packages/toolbox-llamaindex
Step #0 - "Install requirements": Downloading jedi (4.7MiB)
Step #0 - "Install requirements": Downloading grpcio (6.5MiB)
Step #0 - "Install requirements": Downloading pillow (6.8MiB)
Step #0 - "Install requirements": Downloading ast-serialize (1.2MiB)
Step #0 - "Install requirements": Downloading pygments (1.2MiB)
Step #0 - "Install requirements": Downloaded pygments
Step #0 - "Install requirements": Downloaded ast-serialize
Step #0 - "Install requirements": Downloading black (1.8MiB)
Step #0 - "Install requirements": Downloading mypy (14.3MiB)
Step #0 - "Install requirements": Built toolbox-llamaindex @ file:///workspace/packages/toolbox-llamaindex
Step #0 - "Install requirements": Downloaded black
Step #0 - "Install requirements": Downloaded pillow
Step #0 - "Install requirements": Downloaded grpcio
Step #0 - "Install requirements": Downloaded mypy
Step #0 - "Install requirements": Downloaded jedi
Step #0 - "Install requirements": Building numpy==2.1.3
Step #0 - "Install requirements": Built numpy==2.1.3
Step #0 - "Install requirements": Prepared 46 packages in 13m 08s
Step #0 - "Install requirements": Uninstalled 2 packages in 48ms
Step #0 - "Install requirements": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #0 - "Install requirements": If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #0 - "Install requirements": If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #0 - "Install requirements": Installed 46 packages in 1.80s
Step #0 - "Install requirements": + ast-serialize==0.6.0
Step #0 - "Install requirements": + asttokens==3.0.1
Step #0 - "Install requirements": + black==26.5.1
Step #0 - "Install requirements": + coverage==7.14.3
Step #0 - "Install requirements": + decorator==5.3.1
Step #0 - "Install requirements": + executing==2.2.1
Step #0 - "Install requirements": + google-api-core==2.31.0
Step #0 - "Install requirements": + google-cloud-core==2.6.0
Step #0 - "Install requirements": + google-cloud-secret-manager==2.28.0
Step #0 - "Install requirements": + google-cloud-storage==3.10.1
Step #0 - "Install requirements": + google-crc32c==1.8.0
Step #0 - "Install requirements": + google-resumable-media==2.10.0
Step #0 - "Install requirements": + googleapis-common-protos==1.75.0
Step #0 - "Install requirements": + grpc-google-iam-v1==0.14.4
Step #0 - "Install requirements": + grpcio==1.81.1
Step #0 - "Install requirements": + grpcio-status==1.81.1
Step #0 - "Install requirements": + iniconfig==2.3.0
Step #0 - "Install requirements": + ipython==9.15.0
Step #0 - "Install requirements": + ipython-pygments-lexers==1.1.1
Step #0 - "Install requirements": + isort==8.0.1
Step #0 - "Install requirements": + jedi==0.20.0
Step #0 - "Install requirements": + librt==0.12.0
Step #0 - "Install requirements": + matplotlib-inline==0.2.2
Step #0 - "Install requirements": + mypy==2.1.0
Step #0 - "Install requirements": - numpy==2.5.0
Step #0 - "Install requirements": + numpy==2.1.3
Step #0 - "Install requirements": + parso==0.8.7
Step #0 - "Install requirements": + pathspec==1.1.1
Step #0 - "Install requirements": + pexpect==4.9.0
Step #0 - "Install requirements": - pillow==12.3.0
Step #0 - "Install requirements": + pillow==12.2.0
Step #0 - "Install requirements": + pluggy==1.6.0
Step #0 - "Install requirements": + prompt-toolkit==3.0.52
Step #0 - "Install requirements": + proto-plus==1.28.0
Step #0 - "Install requirements": + protobuf==7.35.1
Step #0 - "Install requirements": + psutil==7.2.2
Step #0 - "Install requirements": + ptyprocess==0.7.0
Step #0 - "Install requirements": + pure-eval==0.2.3
Step #0 - "Install requirements": + pygments==2.20.0
Step #0 - "Install requirements": + pytest==9.0.3
Step #0 - "Install requirements": + pytest-asyncio==1.4.0
Step #0 - "Install requirements": + pytest-cov==7.1.0
Step #0 - "Install requirements": + pytokens==0.4.1
Step #0 - "Install requirements": + stack-data==0.6.3
Step #0 - "Install requirements": + tokenize-rt==6.2.0
Step #0 - "Install requirements": + toolbox-llamaindex==0.7.0 (from file:///workspace/packages/toolbox-llamaindex)
Step #0 - "Install requirements": + traitlets==5.15.1
Step #0 - "Install requirements": + wcwidth==0.8.2
Finished Step #0 - "Install requirements"
Starting Step #1 - "Run integration tests"
Step #1 - "Run integration tests": Already have image (with digest): python:3.14
Step #1 - "Run integration tests": ============================= test session starts ==============================
Step #1 - "Run integration tests": platform linux -- Python 3.14.6, pytest-9.0.3, pluggy-1.6.0
Step #1 - "Run integration tests": rootdir: /workspace/packages/toolbox-llamaindex
Step #1 - "Run integration tests": configfile: pyproject.toml
Step #1 - "Run integration tests": plugins: cov-7.1.0, asyncio-1.4.0, anyio-4.14.1
Step #1 - "Run integration tests": asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
Step #1 - "Run integration tests": collected 178 items
Step #1 - "Run integration tests":
Step #1 - "Run integration tests": tests/test_async_client.py ................. [ 9%]
Step #1 - "Run integration tests": tests/test_async_tools.py .................. [ 19%]
Step #1 - "Run integration tests": tests/test_client.py ................ [ 28%]
Step #1 - "Run integration tests": tests/test_e2e.py ............................ [ 44%]
Step #1 - "Run integration tests": tests/test_tools.py .......... [ 50%]
Step #1 - "Run integration tests": tests/test_async_client.py ................. [ 59%]
Step #1 - "Run integration tests": tests/test_async_tools.py .................. [ 69%]
Step #1 - "Run integration tests": tests/test_client.py ................ [ 78%]
Step #1 - "Run integration tests": tests/test_e2e.py ............................ [ 94%]
Step #1 - "Run integration tests": tests/test_tools.py .......... [100%]
Step #1 - "Run integration tests":
Step #1 - "Run integration tests": =============================== warnings summary ===============================
Step #1 - "Run integration tests": tests/test_async_tools.py: 6 warnings
Step #1 - "Run integration tests": tests/test_e2e.py: 16 warnings
Step #1 - "Run integration tests": /workspace/packages/toolbox-core/src/toolbox_core/utils.py:165: DeprecationWarning: 'asyncio.iscoroutinefunction' is deprecated and slated for removal in Python 3.16; use inspect.iscoroutinefunction() instead
Step #1 - "Run integration tests": if asyncio.iscoroutinefunction(source):
Step #1 - "Run integration tests":
Step #1 - "Run integration tests": tests/test_e2e.py: 20 warnings
Step #1 - "Run integration tests": /workspace/packages/toolbox-core/src/toolbox_core/utils.py:56: UserWarning: This connection is using HTTP. To prevent credential exposure, please ensure all communication is sent over HTTPS.
Step #1 - "Run integration tests": warnings.warn(
Step #1 - "Run integration tests":
Step #1 - "Run integration tests": -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
Step #1 - "Run integration tests": ================================ tests coverage ================================
Step #1 - "Run integration tests": _______________ coverage: platform linux, python 3.14.6-final-0 ________________
Step #1 - "Run integration tests":
Step #1 - "Run integration tests": Name Stmts Miss Cover
Step #1 - "Run integration tests": ------------------------------------------------------------
Step #1 - "Run integration tests": src/toolbox_llamaindex/__init__.py 3 0 100%
Step #1 - "Run integration tests": src/toolbox_llamaindex/async_client.py 49 3 94%
Step #1 - "Run integration tests": src/toolbox_llamaindex/async_tools.py 36 5 86%
Step #1 - "Run integration tests": src/toolbox_llamaindex/client.py 79 4 95%
Step #1 - "Run integration tests": src/toolbox_llamaindex/tools.py 38 3 92%
Step #1 - "Run integration tests": src/toolbox_llamaindex/version.py 1 0 100%
Step #1 - "Run integration tests": ------------------------------------------------------------
Step #1 - "Run integration tests": TOTAL 206 15 93%
Step #1 - "Run integration tests": Required test coverage of 90% reached. Total coverage: 92.72%
Step #1 - "Run integration tests": ====================== 178 passed, 42 warnings in 16.57s =======================
starting build "5c312028-be36-4fc1-ab9e-71a7f710c511"
FETCHSOURCE
From https://github.com/googleapis/mcp-toolbox-sdk-python
* branch caf7b85471876bc72c0f04cfe505e841cf3fbb92 -> FETCH_HEAD
HEAD is now at caf7b85 test: parameterize integration tests to run comprehensively for both stable and draft MCP versions
GitCommit:
caf7b85471876bc72c0f04cfe505e841cf3fbb92
BUILD
Starting Step #0 - "Install requirements"
Step #0 - "Install requirements": Pulling image: python:3.14
Step #0 - "Install requirements": 3.14: Pulling from library/python
Step #0 - "Install requirements": aa3e9ef32f73: Pulling fs layer
Step #0 - "Install requirements": 3f59c84a7863: Pulling fs layer
Step #0 - "Install requirements": 30d0db852850: Pulling fs layer
Step #0 - "Install requirements": 0252e6abaf0f: Pulling fs layer
Step #0 - "Install requirements": bec7375c137e: Pulling fs layer
Step #0 - "Install requirements": e47c398c1abe: Pulling fs layer
Step #0 - "Install requirements": a07254a044f1: Pulling fs layer
Step #0 - "Install requirements": a07254a044f1: Waiting
Step #0 - "Install requirements": bec7375c137e: Download complete
Step #0 - "Install requirements": a07254a044f1: Verifying Checksum
Step #0 - "Install requirements": a07254a044f1: Download complete
Step #0 - "Install requirements": 3f59c84a7863: Download complete
Step #0 - "Install requirements": e47c398c1abe: Verifying Checksum
Step #0 - "Install requirements": e47c398c1abe: Download complete
Step #0 - "Install requirements": aa3e9ef32f73: Verifying Checksum
Step #0 - "Install requirements": aa3e9ef32f73: Download complete
Step #0 - "Install requirements": 30d0db852850: Verifying Checksum
Step #0 - "Install requirements": 30d0db852850: Download complete
Step #0 - "Install requirements": 0252e6abaf0f: Verifying Checksum
Step #0 - "Install requirements": 0252e6abaf0f: Download complete
Step #0 - "Install requirements": aa3e9ef32f73: Pull complete
Step #0 - "Install requirements": 3f59c84a7863: Pull complete
Step #0 - "Install requirements": 30d0db852850: Pull complete
Step #0 - "Install requirements": 0252e6abaf0f: Pull complete
Step #0 - "Install requirements": bec7375c137e: Pull complete
Step #0 - "Install requirements": e47c398c1abe: Pull complete
Step #0 - "Install requirements": a07254a044f1: Pull complete
Step #0 - "Install requirements": Digest: sha256:09b29c360b84742bf98eba40b214f7f6b4b53286bb2c8a8b5b1afa188a8d9c0e
Step #0 - "Install requirements": Status: Downloaded newer image for python:3.14
Step #0 - "Install requirements": docker.io/library/python:3.14
Step #0 - "Install requirements": Collecting uv
Step #0 - "Install requirements": Downloading uv-0.11.26-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)
Step #0 - "Install requirements": Downloading uv-0.11.26-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.3 MB)
Step #0 - "Install requirements": ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 26.3/26.3 MB 115.0 MB/s 0:00:00
Step #0 - "Install requirements": Installing collected packages: uv
Step #0 - "Install requirements": Successfully installed uv-0.11.26
Step #0 - "Install requirements": WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
Step #0 - "Install requirements": Using CPython 3.14.6 interpreter at: /usr/local/bin/python3
Step #0 - "Install requirements": Creating virtual environment at: /workspace/venv
Step #0 - "Install requirements": Activate with: source /workspace/venv/bin/activate
Step #0 - "Install requirements": Using Python 3.14.6 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 1 package in 200ms
Step #0 - "Install requirements": Downloading uv (25.0MiB)
Step #0 - "Install requirements": Downloaded uv
Step #0 - "Install requirements": Prepared 1 package in 590ms
Step #0 - "Install requirements": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #0 - "Install requirements": If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #0 - "Install requirements": If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #0 - "Install requirements": Installed 1 package in 99ms
Step #0 - "Install requirements": + uv==0.11.26
Step #0 - "Install requirements": Using Python 3.14.6 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 67 packages in 2.34s
Step #0 - "Install requirements": Building toolbox-core @ file:///workspace/packages/toolbox-core
Step #0 - "Install requirements": Downloading tiktoken (1.1MiB)
Step #0 - "Install requirements": Downloading nltk (1.5MiB)
Step #0 - "Install requirements": Downloading networkx (2.0MiB)
Step #0 - "Install requirements": Downloading cryptography (4.5MiB)
Step #0 - "Install requirements": Downloading pillow (6.6MiB)
Step #0 - "Install requirements": Downloading llama-index-core (11.4MiB)
Step #0 - "Install requirements": Downloading aiohttp (1.7MiB)
Step #0 - "Install requirements": Downloading sqlalchemy (3.1MiB)
Step #0 - "Install requirements": Downloading pydantic-core (2.0MiB)
Step #0 - "Install requirements": Downloading numpy (15.9MiB)
Step #0 - "Install requirements": Downloaded tiktoken
Step #0 - "Install requirements": Built toolbox-core @ file:///workspace/packages/toolbox-core
Step #0 - "Install requirements": Downloaded pydantic-core
Step #0 - "Install requirements": Downloaded aiohttp
Step #0 - "Install requirements": Downloaded cryptography
Step #0 - "Install requirements": Downloaded pillow
Step #0 - "Install requirements": Downloaded sqlalchemy
Step #0 - "Install requirements": Downloaded nltk
Step #0 - "Install requirements": Downloaded networkx
Step #0 - "Install requirements": Downloaded llama-index-core
Step #0 - "Install requirements": Downloaded numpy
Step #0 - "Install requirements": Prepared 66 packages in 2.16s
Step #0 - "Install requirements": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #0 - "Install requirements": If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #0 - "Install requirements": If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #0 - "Install requirements": Installed 67 packages in 756ms
Step #0 - "Install requirements": + aiohappyeyeballs==2.6.2
Step #0 - "Install requirements": + aiohttp==3.14.0
Step #0 - "Install requirements": + aiosignal==1.4.0
Step #0 - "Install requirements": + aiosqlite==0.22.1
Step #0 - "Install requirements": + annotated-types==0.7.0
Step #0 - "Install requirements": + anyio==4.14.1
Step #0 - "Install requirements": + attrs==26.1.0
Step #0 - "Install requirements": + banks==2.4.4
Step #0 - "Install requirements": + certifi==2026.6.17
Step #0 - "Install requirements": + cffi==2.0.0
Step #0 - "Install requirements": + charset-normalizer==3.4.7
Step #0 - "Install requirements": + click==8.4.2
Step #0 - "Install requirements": + colorama==0.4.6
Step #0 - "Install requirements": + cryptography==49.0.0
Step #0 - "Install requirements": + dataclasses-json==0.6.7
Step #0 - "Install requirements": + deprecated==1.3.1
Step #0 - "Install requirements": + dirtyjson==1.0.8
Step #0 - "Install requirements": + filetype==1.2.0
Step #0 - "Install requirements": + frozenlist==1.8.0
Step #0 - "Install requirements": + fsspec==2026.6.0
Step #0 - "Install requirements": + google-auth==2.55.1
Step #0 - "Install requirements": + greenlet==3.5.3
Step #0 - "Install requirements": + griffe==2.1.0
Step #0 - "Install requirements": + griffecli==2.1.0
Step #0 - "Install requirements": + griffelib==2.1.0
Step #0 - "Install requirements": + h11==0.16.0
Step #0 - "Install requirements": + httpcore==1.0.9
Step #0 - "Install requirements": + httpx==0.28.1
Step #0 - "Install requirements": + idna==3.18
Step #0 - "Install requirements": + jinja2==3.1.6
Step #0 - "Install requirements": + joblib==1.5.3
Step #0 - "Install requirements": + llama-index-core==0.14.22
Step #0 - "Install requirements": + llama-index-instrumentation==0.5.0
Step #0 - "Install requirements": + llama-index-workflows==2.22.2
Step #0 - "Install requirements": + markupsafe==3.0.3
Step #0 - "Install requirements": + marshmallow==3.26.2
Step #0 - "Install requirements": + multidict==6.7.1
Step #0 - "Install requirements": + mypy-extensions==1.1.0
Step #0 - "Install requirements": + nest-asyncio==1.6.0
Step #0 - "Install requirements": + networkx==3.6.1
Step #0 - "Install requirements": + nltk==3.9.4
Step #0 - "Install requirements": + numpy==2.5.0
Step #0 - "Install requirements": + packaging==26.2
Step #0 - "Install requirements": + pillow==12.3.0
Step #0 - "Install requirements": + platformdirs==4.10.0
Step #0 - "Install requirements": + propcache==0.5.2
Step #0 - "Install requirements": + pyasn1==0.6.3
Step #0 - "Install requirements": + pyasn1-modules==0.4.2
Step #0 - "Install requirements": + pycparser==3.0
Step #0 - "Install requirements": + pydantic==2.13.4
Step #0 - "Install requirements": + pydantic-core==2.46.4
Step #0 - "Install requirements": + pyyaml==6.0.3
Step #0 - "Install requirements": + regex==2026.6.28
Step #0 - "Install requirements": + requests==2.34.2
Step #0 - "Install requirements": + setuptools==82.0.1
Step #0 - "Install requirements": + sqlalchemy==2.0.51
Step #0 - "Install requirements": + tenacity==9.1.4
Step #0 - "Install requirements": + tiktoken==0.13.0
Step #0 - "Install requirements": + tinytag==2.2.1
Step #0 - "Install requirements": + toolbox-core==1.1.0 (from file:///workspace/packages/toolbox-core)
Step #0 - "Install requirements": + tqdm==4.68.3
Step #0 - "Install requirements": + typing-extensions==4.15.0
Step #0 - "Install requirements": + typing-inspect==0.9.0
Step #0 - "Install requirements": + typing-inspection==0.4.2
Step #0 - "Install requirements": + urllib3==2.7.0
Step #0 - "Install requirements": + wrapt==2.2.2
Step #0 - "Install requirements": + yarl==1.24.2
Step #0 - "Install requirements": Using Python 3.14.6 environment at: /workspace/venv
Step #0 - "Install requirements": Resolved 111 packages in 1.66s
Step #0 - "Install requirements": Building toolbox-llamaindex @ file:///workspace/packages/toolbox-llamaindex
Step #0 - "Install requirements": Downloading jedi (4.7MiB)
Step #0 - "Install requirements": Downloading grpcio (6.5MiB)
Step #0 - "Install requirements": Downloading pillow (6.8MiB)
Step #0 - "Install requirements": Downloading ast-serialize (1.2MiB)
Step #0 - "Install requirements": Downloading pygments (1.2MiB)
Step #0 - "Install requirements": Downloaded pygments
Step #0 - "Install requirements": Downloaded ast-serialize
Step #0 - "Install requirements": Downloading black (1.8MiB)
Step #0 - "Install requirements": Downloading mypy (14.3MiB)
Step #0 - "Install requirements": Built toolbox-llamaindex @ file:///workspace/packages/toolbox-llamaindex
Step #0 - "Install requirements": Downloaded black
Step #0 - "Install requirements": Downloaded pillow
Step #0 - "Install requirements": Downloaded grpcio
Step #0 - "Install requirements": Downloaded mypy
Step #0 - "Install requirements": Downloaded jedi
Step #0 - "Install requirements": Building numpy==2.1.3
Step #0 - "Install requirements": Built numpy==2.1.3
Step #0 - "Install requirements": Prepared 46 packages in 13m 08s
Step #0 - "Install requirements": Uninstalled 2 packages in 48ms
Step #0 - "Install requirements": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #0 - "Install requirements": If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #0 - "Install requirements": If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #0 - "Install requirements": Installed 46 packages in 1.80s
Step #0 - "Install requirements": + ast-serialize==0.6.0
Step #0 - "Install requirements": + asttokens==3.0.1
Step #0 - "Install requirements": + black==26.5.1
Step #0 - "Install requirements": + coverage==7.14.3
Step #0 - "Install requirements": + decorator==5.3.1
Step #0 - "Install requirements": + executing==2.2.1
Step #0 - "Install requirements": + google-api-core==2.31.0
Step #0 - "Install requirements": + google-cloud-core==2.6.0
Step #0 - "Install requirements": + google-cloud-secret-manager==2.28.0
Step #0 - "Install requirements": + google-cloud-storage==3.10.1
Step #0 - "Install requirements": + google-crc32c==1.8.0
Step #0 - "Install requirements": + google-resumable-media==2.10.0
Step #0 - "Install requirements": + googleapis-common-protos==1.75.0
Step #0 - "Install requirements": + grpc-google-iam-v1==0.14.4
Step #0 - "Install requirements": + grpcio==1.81.1
Step #0 - "Install requirements": + grpcio-status==1.81.1
Step #0 - "Install requirements": + iniconfig==2.3.0
Step #0 - "Install requirements": + ipython==9.15.0
Step #0 - "Install requirements": + ipython-pygments-lexers==1.1.1
Step #0 - "Install requirements": + isort==8.0.1
Step #0 - "Install requirements": + jedi==0.20.0
Step #0 - "Install requirements": + librt==0.12.0
Step #0 - "Install requirements": + matplotlib-inline==0.2.2
Step #0 - "Install requirements": + mypy==2.1.0
Step #0 - "Install requirements": - numpy==2.5.0
Step #0 - "Install requirements": + numpy==2.1.3
Step #0 - "Install requirements": + parso==0.8.7
Step #0 - "Install requirements": + pathspec==1.1.1
Step #0 - "Install requirements": + pexpect==4.9.0
Step #0 - "Install requirements": - pillow==12.3.0
Step #0 - "Install requirements": + pillow==12.2.0
Step #0 - "Install requirements": + pluggy==1.6.0
Step #0 - "Install requirements": + prompt-toolkit==3.0.52
Step #0 - "Install requirements": + proto-plus==1.28.0
Step #0 - "Install requirements": + protobuf==7.35.1
Step #0 - "Install requirements": + psutil==7.2.2
Step #0 - "Install requirements": + ptyprocess==0.7.0
Step #0 - "Install requirements": + pure-eval==0.2.3
Step #0 - "Install requirements": + pygments==2.20.0
Step #0 - "Install requirements": + pytest==9.0.3
Step #0 - "Install requirements": + pytest-asyncio==1.4.0
Step #0 - "Install requirements": + pytest-cov==7.1.0
Step #0 - "Install requirements": + pytokens==0.4.1
Step #0 - "Install requirements": + stack-data==0.6.3
Step #0 - "Install requirements": + tokenize-rt==6.2.0
Step #0 - "Install requirements": + toolbox-llamaindex==0.7.0 (from file:///workspace/packages/toolbox-llamaindex)
Step #0 - "Install requirements": + traitlets==5.15.1
Step #0 - "Install requirements": + wcwidth==0.8.2
Finished Step #0 - "Install requirements"
Starting Step #1 - "Run integration tests"
Step #1 - "Run integration tests": Already have image (with digest): python:3.14
Step #1 - "Run integration tests": ============================= test session starts ==============================
Step #1 - "Run integration tests": platform linux -- Python 3.14.6, pytest-9.0.3, pluggy-1.6.0
Step #1 - "Run integration tests": rootdir: /workspace/packages/toolbox-llamaindex
Step #1 - "Run integration tests": configfile: pyproject.toml
Step #1 - "Run integration tests": plugins: cov-7.1.0, asyncio-1.4.0, anyio-4.14.1
Step #1 - "Run integration tests": asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function
Step #1 - "Run integration tests": collected 178 items
Step #1 - "Run integration tests":
Step #1 - "Run integration tests": tests/test_async_client.py ................. [ 9%]
Step #1 - "Run integration tests": tests/test_async_tools.py .................. [ 19%]
Step #1 - "Run integration tests": tests/test_client.py ................ [ 28%]
Step #1 - "Run integration tests": tests/test_e2e.py ............................ [ 44%]
Step #1 - "Run integration tests": tests/test_tools.py .......... [ 50%]
Step #1 - "Run integration tests": tests/test_async_client.py ................. [ 59%]
Step #1 - "Run integration tests": tests/test_async_tools.py .................. [ 69%]
Step #1 - "Run integration tests": tests/test_client.py ................ [ 78%]
Step #1 - "Run integration tests": tests/test_e2e.py ............................ [ 94%]
Step #1 - "Run integration tests": tests/test_tools.py .......... [100%]
Step #1 - "Run integration tests":
Step #1 - "Run integration tests": =============================== warnings summary ===============================
Step #1 - "Run integration tests": tests/test_async_tools.py: 6 warnings
Step #1 - "Run integration tests": tests/test_e2e.py: 16 warnings
Step #1 - "Run integration tests": /workspace/packages/toolbox-core/src/toolbox_core/utils.py:165: DeprecationWarning: 'asyncio.iscoroutinefunction' is deprecated and slated for removal in Python 3.16; use inspect.iscoroutinefunction() instead
Step #1 - "Run integration tests": if asyncio.iscoroutinefunction(source):
Step #1 - "Run integration tests":
Step #1 - "Run integration tests": tests/test_e2e.py: 20 warnings
Step #1 - "Run integration tests": /workspace/packages/toolbox-core/src/toolbox_core/utils.py:56: UserWarning: This connection is using HTTP. To prevent credential exposure, please ensure all communication is sent over HTTPS.
Step #1 - "Run integration tests": warnings.warn(
Step #1 - "Run integration tests":
Step #1 - "Run integration tests": -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
Step #1 - "Run integration tests": ================================ tests coverage ================================
Step #1 - "Run integration tests": _______________ coverage: platform linux, python 3.14.6-final-0 ________________
Step #1 - "Run integration tests":
Step #1 - "Run integration tests": Name Stmts Miss Cover
Step #1 - "Run integration tests": ------------------------------------------------------------
Step #1 - "Run integration tests": src/toolbox_llamaindex/__init__.py 3 0 100%
Step #1 - "Run integration tests": src/toolbox_llamaindex/async_client.py 49 3 94%
Step #1 - "Run integration tests": src/toolbox_llamaindex/async_tools.py 36 5 86%
Step #1 - "Run integration tests": src/toolbox_llamaindex/client.py 79 4 95%
Step #1 - "Run integration tests": src/toolbox_llamaindex/tools.py 38 3 92%
Step #1 - "Run integration tests": src/toolbox_llamaindex/version.py 1 0 100%
Step #1 - "Run integration tests": ------------------------------------------------------------
Step #1 - "Run integration tests": TOTAL 206 15 93%
Step #1 - "Run integration tests": Required test coverage of 90% reached. Total coverage: 92.72%
Step #1 - "Run integration tests": ====================== 178 passed, 42 warnings in 16.57s =======================
Finished Step #1 - "Run integration tests"
PUSH
DONE
Loading