Skip to content

[codex] fix Worker create_agent vendoring#45

Merged
CollierKing merged 1 commit into
mainfrom
fix/worker-agent-vendoring
Jun 22, 2026
Merged

[codex] fix Worker create_agent vendoring#45
CollierKing merged 1 commit into
mainfrom
fix/worker-agent-vendoring

Conversation

@CollierKing

Copy link
Copy Markdown
Collaborator

Summary

Fixes the Worker example dependency layout after PR #44 was already merged.

  • Removes the direct langchain dependency from examples/workers/pyproject.toml so pywrangler sync only resolves Pyodide-compatible dependencies.
  • Keeps the known-working Worker create_agent stack in scripts/setup_pyodide_deps.sh: langchain==1.0.0, langchain-core==1.1.0, langgraph==1.0.0, langgraph-sdk==0.3.1, and langgraph-checkpoint==2.1.0.
  • Cleans stale newer 1.3.x-only packages from python_modules during setup so local runs cannot pass due to leftovers.
  • Makes Worker create_agent integration tests fail on 501 instead of skipping when create_agent is unavailable.

Why

A separate Dependabot security-update job on main failed because the Worker example declared broad direct langchain>=0.3.0,<1.0.0 without a lockfile/pinned installed version.

The correct Worker fix is not to move pyproject.toml to newer langchain>=1.3.x: that breaks pywrangler sync and Pyodide because newer transitive dependencies pull native packages without Pyodide wheels. The Worker example already uses a manual vendoring script for this reason, so this makes that split explicit and keeps create_agent supported.

Validation

  • cd libs/langchain-cloudflare/examples/workers && env PATH="$HOME/.nvm/versions/node/v22.17.1/bin:$PATH" uv run pywrangler sync --force - passed
  • cd libs/langchain-cloudflare/examples/workers && env PATH="$HOME/.nvm/versions/node/v22.17.1/bin:$PATH" ./scripts/setup_pyodide_deps.sh - passed
  • cd libs/langchain-cloudflare && set -a && source ../../.env && set +a && env PATH="$HOME/.nvm/versions/node/v22.17.1/bin:$PATH" uv run pytest 'tests/integration_tests/test_worker_integration.py::TestWorkerAgentTools::test_agent_tools[@cf/qwen/qwen3-30b-a3b-fp8]' 'tests/integration_tests/test_worker_integration.py::TestWorkerAgentStructuredOutput::test_agent_structured_output[@cf/qwen/qwen3-30b-a3b-fp8]' 'tests/integration_tests/test_worker_integration.py::TestWorkerAgentStructuredJsonSchema::test_agent_structured_json_schema[@cf/qwen/qwen3-30b-a3b-fp8]' -v -s - 3 passed
  • cd libs/langchain-cloudflare && make lint - passed
  • cd libs/langchain-cloudflare && make test - 110 passed, 2 skipped
  • pre-commit run --all-files - passed

Note: representative Llama agent-tools and JSON-schema agent paths passed, while the Pydantic structured agent path hit an upstream Workers AI 504 Gateway Time-out. The same Pydantic path passed immediately on Qwen.

@CollierKing CollierKing merged commit 0270c12 into main Jun 22, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant