diff --git a/examples/tutorials/10_async/00_base/040_other_sdks/Dockerfile b/examples/tutorials/10_async/00_base/040_other_sdks/Dockerfile index 2e0ee6ef0..f375d16d3 100644 --- a/examples/tutorials/10_async/00_base/040_other_sdks/Dockerfile +++ b/examples/tutorials/10_async/00_base/040_other_sdks/Dockerfile @@ -15,6 +15,8 @@ RUN apt-get update && apt-get install -y \ gcc \ cmake \ netcat-openbsd \ + nodejs \ + npm \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* diff --git a/examples/tutorials/10_async/00_base/040_other_sdks/project/acp.py b/examples/tutorials/10_async/00_base/040_other_sdks/project/acp.py index d2ec84fcd..d06d39f22 100644 --- a/examples/tutorials/10_async/00_base/040_other_sdks/project/acp.py +++ b/examples/tutorials/10_async/00_base/040_other_sdks/project/acp.py @@ -54,7 +54,12 @@ class StateModel(BaseModel): args=["-y", "@modelcontextprotocol/server-sequential-thinking"], ), StdioServerParameters( - command="uvx", args=["openai-websearch-mcp"], env={"OPENAI_API_KEY": os.environ.get("OPENAI_API_KEY", "")} + # openai-websearch-mcp pins mcp 1.13.1, which imports a private + # pydantic helper that pydantic 2.14 removed; uvx resolves pydantic + # unpinned, so cap it until the server allows a newer mcp. + command="uvx", + args=["--with", "pydantic<2.14", "openai-websearch-mcp"], + env={"OPENAI_API_KEY": os.environ.get("OPENAI_API_KEY", "")}, ), ] diff --git a/examples/tutorials/10_async/00_base/110_pydantic_ai/project/agent.py b/examples/tutorials/10_async/00_base/110_pydantic_ai/project/agent.py index e7b764d82..287598c1a 100644 --- a/examples/tutorials/10_async/00_base/110_pydantic_ai/project/agent.py +++ b/examples/tutorials/10_async/00_base/110_pydantic_ai/project/agent.py @@ -22,6 +22,7 @@ Guidelines: - Be concise and helpful - Use tools when they would help answer the user's question +- When asked for the current weather in a place, call get_weather; never answer that from memory - If you're unsure, ask clarifying questions - Always provide accurate information """ diff --git a/examples/tutorials/10_async/10_temporal/010_agent_chat/project/workflow.py b/examples/tutorials/10_async/10_temporal/010_agent_chat/project/workflow.py index 3e3ac5b27..7db940733 100644 --- a/examples/tutorials/10_async/10_temporal/010_agent_chat/project/workflow.py +++ b/examples/tutorials/10_async/10_temporal/010_agent_chat/project/workflow.py @@ -55,7 +55,10 @@ class StateModel(BaseModel): # ), StdioServerParameters( command="uvx", - args=["openai-websearch-mcp"], + # openai-websearch-mcp pins mcp 1.13.1, which imports a private + # pydantic helper that pydantic 2.14 removed; uvx resolves pydantic + # unpinned, so cap it until the server allows a newer mcp. + args=["--with", "pydantic<2.14", "openai-websearch-mcp"], env={"OPENAI_API_KEY": os.environ.get("OPENAI_API_KEY", "")}, ), ] diff --git a/examples/tutorials/10_async/10_temporal/020_state_machine/project/workflows/deep_research/performing_deep_research.py b/examples/tutorials/10_async/10_temporal/020_state_machine/project/workflows/deep_research/performing_deep_research.py index 7bcb5a6d5..2060cc9b7 100644 --- a/examples/tutorials/10_async/10_temporal/020_state_machine/project/workflows/deep_research/performing_deep_research.py +++ b/examples/tutorials/10_async/10_temporal/020_state_machine/project/workflows/deep_research/performing_deep_research.py @@ -18,7 +18,10 @@ # resolves ``mcp`` unpinned there, ignoring the version this project pins, so without # this constraint every server dies at import and the agent silently makes zero tool # calls. Drop the pin once the servers support mcp 2.x. -_MCP_PIN = ["--with", "mcp<2"] +# pydantic is capped for the same reason: openai-websearch-mcp pins mcp 1.13.1, +# which imports a private pydantic helper that pydantic 2.14 removed. Drop the +# cap once that server allows a newer mcp. +_MCP_PIN = ["--with", "mcp<2", "--with", "pydantic<2.14"] MCP_SERVERS = [ StdioServerParameters( diff --git a/examples/tutorials/10_async/10_temporal/110_pydantic_ai/project/agent.py b/examples/tutorials/10_async/10_temporal/110_pydantic_ai/project/agent.py index 4e59688ce..4e03e3383 100644 --- a/examples/tutorials/10_async/10_temporal/110_pydantic_ai/project/agent.py +++ b/examples/tutorials/10_async/10_temporal/110_pydantic_ai/project/agent.py @@ -41,6 +41,7 @@ Guidelines: - Be concise and helpful - Use tools when they would help answer the user's question +- When asked for the current weather in a place, call get_weather; never answer that from memory - If you're unsure, ask clarifying questions - Always provide accurate information """