From 73a7365a9f342b2521fdf639184de87133a13336 Mon Sep 17 00:00:00 2001 From: Roxanne Farhad Date: Tue, 4 Nov 2025 15:57:01 -0500 Subject: [PATCH 01/13] adding the test files to the imag --- .../tutorials/00_sync/000_hello_acp/Dockerfile | 13 +++++++++++-- .../tutorials/00_sync/010_multiturn/Dockerfile | 13 +++++++++++-- .../tutorials/00_sync/020_streaming/Dockerfile | 13 +++++++++++-- .../10_agentic/00_base/000_hello_acp/Dockerfile | 13 +++++++++++-- .../10_agentic/00_base/010_multiturn/Dockerfile | 13 +++++++++++-- .../10_agentic/00_base/020_streaming/Dockerfile | 14 ++++++++++++-- .../10_agentic/00_base/030_tracing/Dockerfile | 13 +++++++++++-- .../10_agentic/00_base/040_other_sdks/Dockerfile | 13 +++++++++++-- .../00_base/080_batch_events/Dockerfile | 15 +++++++++------ .../090_multi_agent_non_temporal/Dockerfile | 13 +++++++++++-- .../10_temporal/000_hello_acp/Dockerfile | 16 ++++++++++++++-- .../10_temporal/010_agent_chat/Dockerfile | 16 ++++++++++++++-- .../10_temporal/020_state_machine/Dockerfile | 13 +++++++++++-- .../10_temporal/030_custom_activities/Dockerfile | 16 ++++++++++++++-- .../050_agent_chat_guardrails/Dockerfile | 16 ++++++++++++++-- .../Dockerfile | 15 ++++++++++++--- .../070_open_ai_agents_sdk_tools/Dockerfile | 16 ++++++++++++++-- .../Dockerfile | 14 ++++++++++++-- 18 files changed, 214 insertions(+), 41 deletions(-) diff --git a/examples/tutorials/00_sync/000_hello_acp/Dockerfile b/examples/tutorials/00_sync/000_hello_acp/Dockerfile index fb42b8ecf..9fe2803e3 100644 --- a/examples/tutorials/00_sync/000_hello_acp/Dockerfile +++ b/examples/tutorials/00_sync/000_hello_acp/Dockerfile @@ -31,11 +31,20 @@ WORKDIR /app/000_hello_acp # Copy the project code COPY 000_hello_acp/project /app/000_hello_acp/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 000_hello_acp/tests /app/000_hello_acp/tests + +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx # Set environment variables ENV PYTHONPATH=/app +# Set test environment variables +ENV AGENT_NAME=s000-hello-acp + # Run the agent using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file diff --git a/examples/tutorials/00_sync/010_multiturn/Dockerfile b/examples/tutorials/00_sync/010_multiturn/Dockerfile index b6a56303a..0d0bf2c46 100644 --- a/examples/tutorials/00_sync/010_multiturn/Dockerfile +++ b/examples/tutorials/00_sync/010_multiturn/Dockerfile @@ -31,12 +31,21 @@ WORKDIR /app/010_multiturn # Copy the project code COPY 010_multiturn/project /app/010_multiturn/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 010_multiturn/tests /app/010_multiturn/tests + +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx WORKDIR /app/010_multiturn # Set environment variables ENV PYTHONPATH=/app +# Set test environment variables +ENV AGENT_NAME=s010-multiturn + # Run the agent using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/00_sync/020_streaming/Dockerfile b/examples/tutorials/00_sync/020_streaming/Dockerfile index 758655de1..acc0b7cc6 100644 --- a/examples/tutorials/00_sync/020_streaming/Dockerfile +++ b/examples/tutorials/00_sync/020_streaming/Dockerfile @@ -31,11 +31,20 @@ WORKDIR /app/020_streaming # Copy the project code COPY 020_streaming/project /app/020_streaming/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 020_streaming/tests /app/020_streaming/tests + +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx # Set environment variables ENV PYTHONPATH=/app +# Set test environment variables +ENV AGENT_NAME=s020-streaming + # Run the agent using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file diff --git a/examples/tutorials/10_agentic/00_base/000_hello_acp/Dockerfile b/examples/tutorials/10_agentic/00_base/000_hello_acp/Dockerfile index f9e26e990..c9a906068 100644 --- a/examples/tutorials/10_agentic/00_base/000_hello_acp/Dockerfile +++ b/examples/tutorials/10_agentic/00_base/000_hello_acp/Dockerfile @@ -31,12 +31,21 @@ WORKDIR /app/000_hello_acp # Copy the project code COPY 000_hello_acp/project /app/000_hello_acp/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 000_hello_acp/tests /app/000_hello_acp/tests + +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx WORKDIR /app/000_hello_acp # Set environment variables ENV PYTHONPATH=/app +# Set test environment variables +ENV AGENT_NAME=ab000-hello-acp + # Run the agent using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/10_agentic/00_base/010_multiturn/Dockerfile b/examples/tutorials/10_agentic/00_base/010_multiturn/Dockerfile index f3acc25b5..9314c3be2 100644 --- a/examples/tutorials/10_agentic/00_base/010_multiturn/Dockerfile +++ b/examples/tutorials/10_agentic/00_base/010_multiturn/Dockerfile @@ -30,13 +30,22 @@ WORKDIR /app/010_multiturn COPY 010_multiturn/project /app/010_multiturn/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 010_multiturn/tests /app/010_multiturn/tests + +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx WORKDIR /app/010_multiturn # Set environment variables ENV PYTHONPATH=/app +# Set test environment variables +ENV AGENT_NAME=ab010-multiturn + # Run the agent using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/10_agentic/00_base/020_streaming/Dockerfile b/examples/tutorials/10_agentic/00_base/020_streaming/Dockerfile index 5f593a994..b89105049 100644 --- a/examples/tutorials/10_agentic/00_base/020_streaming/Dockerfile +++ b/examples/tutorials/10_agentic/00_base/020_streaming/Dockerfile @@ -31,10 +31,20 @@ WORKDIR /app/020_streaming # Copy the project code COPY 020_streaming/project /app/020_streaming/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 020_streaming/tests /app/020_streaming/tests + +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx + # Set environment variables ENV PYTHONPATH=/app +# Set test environment variables +ENV AGENT_NAME=ab020-streaming + # Run the agent using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/10_agentic/00_base/030_tracing/Dockerfile b/examples/tutorials/10_agentic/00_base/030_tracing/Dockerfile index 783993362..7f42395a1 100644 --- a/examples/tutorials/10_agentic/00_base/030_tracing/Dockerfile +++ b/examples/tutorials/10_agentic/00_base/030_tracing/Dockerfile @@ -31,11 +31,20 @@ WORKDIR /app/030_tracing # Copy the project code COPY 030_tracing/project /app/030_tracing/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 030_tracing/tests /app/030_tracing/tests + +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx # Set environment variables ENV PYTHONPATH=/app +# Set test environment variables +ENV AGENT_NAME=ab030-tracing + # Run the agent using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/10_agentic/00_base/040_other_sdks/Dockerfile b/examples/tutorials/10_agentic/00_base/040_other_sdks/Dockerfile index 5761d08a0..6ef28192b 100644 --- a/examples/tutorials/10_agentic/00_base/040_other_sdks/Dockerfile +++ b/examples/tutorials/10_agentic/00_base/040_other_sdks/Dockerfile @@ -31,11 +31,20 @@ WORKDIR /app/040_other_sdks # Copy the project code COPY 040_other_sdks/project /app/040_other_sdks/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 040_other_sdks/tests /app/040_other_sdks/tests + +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx # Set environment variables ENV PYTHONPATH=/app +# Set test environment variables +ENV AGENT_NAME=ab040-other-sdks + # Run the agent using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/10_agentic/00_base/080_batch_events/Dockerfile b/examples/tutorials/10_agentic/00_base/080_batch_events/Dockerfile index 352fa5223..7508d3fc2 100644 --- a/examples/tutorials/10_agentic/00_base/080_batch_events/Dockerfile +++ b/examples/tutorials/10_agentic/00_base/080_batch_events/Dockerfile @@ -31,18 +31,21 @@ WORKDIR /app/080_batch_events # Copy the project code COPY 080_batch_events/project /app/080_batch_events/project -# Copy test files -COPY 080_batch_events/test_*.py /app/080_batch_events/ +# Copy the test files +COPY 080_batch_events/tests /app/080_batch_events/tests -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy shared test utilities +COPY test_utils /app/test_utils -# Install pytest for running tests -RUN uv pip install --system pytest pytest-asyncio +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx WORKDIR /app/080_batch_events # Set environment variables ENV PYTHONPATH=/app +# Set test environment variables +ENV AGENT_NAME=ab080-batch-events + # Run the agent using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/Dockerfile b/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/Dockerfile index 9eab59400..f5b8c2112 100644 --- a/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/Dockerfile +++ b/examples/tutorials/10_agentic/00_base/090_multi_agent_non_temporal/Dockerfile @@ -32,8 +32,14 @@ WORKDIR /app/090_multi_agent_non_temporal # Copy the project code COPY 090_multi_agent_non_temporal/project /app/090_multi_agent_non_temporal/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 090_multi_agent_non_temporal/tests /app/090_multi_agent_non_temporal/tests + +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx # Set environment variables ENV PYTHONPATH=/app @@ -41,5 +47,8 @@ ENV PYTHONPATH=/app ARG AGENT_FILE ARG PORT +# Note: AGENT_NAME should be set at runtime based on which agent is running +# (ab090-creator-agent, ab090-critic-agent, ab090-formatter-agent, or ab090-orchestrator-agent) + # Run the agent using uvicorn CMD uvicorn project.${AGENT_FILE%.*}:acp --host 0.0.0.0 --port ${PORT:-8000} diff --git a/examples/tutorials/10_agentic/10_temporal/000_hello_acp/Dockerfile b/examples/tutorials/10_agentic/10_temporal/000_hello_acp/Dockerfile index 3c8356649..78882ca01 100644 --- a/examples/tutorials/10_agentic/10_temporal/000_hello_acp/Dockerfile +++ b/examples/tutorials/10_agentic/10_temporal/000_hello_acp/Dockerfile @@ -37,8 +37,20 @@ WORKDIR /app/000_hello_acp # Copy the project code COPY 000_hello_acp/project /app/000_hello_acp/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 000_hello_acp/tests /app/000_hello_acp/tests + +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx + +# Set environment variables +ENV PYTHONPATH=/app + +# Set test environment variables +ENV AGENT_NAME=at000-hello-acp # Run the ACP server using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/10_agentic/10_temporal/010_agent_chat/Dockerfile b/examples/tutorials/10_agentic/10_temporal/010_agent_chat/Dockerfile index 16772e4a6..da262bce4 100644 --- a/examples/tutorials/10_agentic/10_temporal/010_agent_chat/Dockerfile +++ b/examples/tutorials/10_agentic/10_temporal/010_agent_chat/Dockerfile @@ -37,8 +37,20 @@ WORKDIR /app/010_agent_chat # Copy the project code COPY 010_agent_chat/project /app/010_agent_chat/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 010_agent_chat/tests /app/010_agent_chat/tests + +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx + +# Set environment variables +ENV PYTHONPATH=/app + +# Set test environment variables +ENV AGENT_NAME=at010-agent-chat # Run the ACP server using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/10_agentic/10_temporal/020_state_machine/Dockerfile b/examples/tutorials/10_agentic/10_temporal/020_state_machine/Dockerfile index 002100c0c..7be7216f1 100644 --- a/examples/tutorials/10_agentic/10_temporal/020_state_machine/Dockerfile +++ b/examples/tutorials/10_agentic/10_temporal/020_state_machine/Dockerfile @@ -37,13 +37,22 @@ WORKDIR /app/020_state_machine # Copy the project code COPY 020_state_machine/project /app/020_state_machine/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 020_state_machine/tests /app/020_state_machine/tests + +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx WORKDIR /app/020_state_machine ENV PYTHONPATH=/app +# Set test environment variables +ENV AGENT_NAME=at020-state-machine + # Run the ACP server using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/10_agentic/10_temporal/030_custom_activities/Dockerfile b/examples/tutorials/10_agentic/10_temporal/030_custom_activities/Dockerfile index e631450f5..cfe35f9d1 100644 --- a/examples/tutorials/10_agentic/10_temporal/030_custom_activities/Dockerfile +++ b/examples/tutorials/10_agentic/10_temporal/030_custom_activities/Dockerfile @@ -37,8 +37,20 @@ WORKDIR /app/030_custom_activities # Copy the project code COPY 030_custom_activities/project /app/030_custom_activities/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 030_custom_activities/tests /app/030_custom_activities/tests + +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx + +# Set environment variables +ENV PYTHONPATH=/app + +# Set test environment variables +ENV AGENT_NAME=at030-custom-activities # Run the ACP server using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/Dockerfile b/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/Dockerfile index 5f3f35c43..1a030c98b 100644 --- a/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/Dockerfile +++ b/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/Dockerfile @@ -37,8 +37,20 @@ WORKDIR /app/050_agent_chat_guardrails # Copy the project code COPY 050_agent_chat_guardrails/project /app/050_agent_chat_guardrails/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 050_agent_chat_guardrails/tests /app/050_agent_chat_guardrails/tests + +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx + +# Set environment variables +ENV PYTHONPATH=/app + +# Set test environment variables +ENV AGENT_NAME=at050-agent-chat-guardrails # Run the ACP server using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile b/examples/tutorials/10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile index f5a592ebc..e38a49092 100644 --- a/examples/tutorials/10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile +++ b/examples/tutorials/10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile @@ -39,13 +39,22 @@ WORKDIR /app/060_open_ai_agents_sdk_hello_world # Copy the project code COPY 060_open_ai_agents_sdk_hello_world/project /app/060_open_ai_agents_sdk_hello_world/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 060_open_ai_agents_sdk_hello_world/tests /app/060_open_ai_agents_sdk_hello_world/tests -WORKDIR /app/060_open_ai_agents_sdk_hello_world +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx +WORKDIR /app/060_open_ai_agents_sdk_hello_world ENV PYTHONPATH=/app + +# Set test environment variables +ENV AGENT_NAME=example-tutorial + # Run the ACP server using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/10_agentic/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile b/examples/tutorials/10_agentic/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile index 68650d6f9..08862ef5b 100644 --- a/examples/tutorials/10_agentic/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile +++ b/examples/tutorials/10_agentic/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile @@ -39,11 +39,23 @@ WORKDIR /app/070_open_ai_agents_sdk_tools # Copy the project code COPY 070_open_ai_agents_sdk_tools/project /app/070_open_ai_agents_sdk_tools/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 070_open_ai_agents_sdk_tools/tests /app/070_open_ai_agents_sdk_tools/tests + +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx WORKDIR /app/070_open_ai_agents_sdk_tools +# Set environment variables +ENV PYTHONPATH=/app + +# Set test environment variables +ENV AGENT_NAME=example-tutorial + # Run the ACP server using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile b/examples/tutorials/10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile index 4c21bd87b..4db75e5e2 100644 --- a/examples/tutorials/10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile +++ b/examples/tutorials/10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile @@ -39,12 +39,22 @@ WORKDIR /app/080_open_ai_agents_sdk_human_in_the_loop # Copy the project code COPY 080_open_ai_agents_sdk_human_in_the_loop/project /app/080_open_ai_agents_sdk_human_in_the_loop/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 080_open_ai_agents_sdk_human_in_the_loop/tests /app/080_open_ai_agents_sdk_human_in_the_loop/tests + +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx WORKDIR /app/080_open_ai_agents_sdk_human_in_the_loop ENV PYTHONPATH=/app + +# Set test environment variables +ENV AGENT_NAME=example-tutorial + # Run the ACP server using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] From 52d0c97fef15e27e8010f15ec4c3e872a82a5a64 Mon Sep 17 00:00:00 2001 From: Roxanne Farhad Date: Tue, 4 Nov 2025 16:02:39 -0500 Subject: [PATCH 02/13] build mac images to test --- .github/workflows/build-and-push-tutorial-agent.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-push-tutorial-agent.yml b/.github/workflows/build-and-push-tutorial-agent.yml index 4b38c7671..2a975ae7a 100644 --- a/.github/workflows/build-and-push-tutorial-agent.yml +++ b/.github/workflows/build-and-push-tutorial-agent.yml @@ -183,7 +183,7 @@ jobs: fi # Build command - add --push only if we should push - BUILD_ARGS="--manifest ${{ matrix.agent_path }}/manifest.yaml --registry ${REGISTRY} --tag ${VERSION_TAG} --platforms linux/amd64 --repository-name ${REPOSITORY_NAME}" + BUILD_ARGS="--manifest ${{ matrix.agent_path }}/manifest.yaml --registry ${REGISTRY} --tag ${VERSION_TAG} --platforms linux/amd64,linux/arm64 --repository-name ${REPOSITORY_NAME}" if [ "$SHOULD_PUSH" = "true" ]; then agentex agents build $BUILD_ARGS --push From 5bb75f21a4b19dcfb40729b65e673147f5bb8b2d Mon Sep 17 00:00:00 2001 From: Roxanne Farhad Date: Tue, 4 Nov 2025 17:51:18 -0500 Subject: [PATCH 03/13] fixing teh root build --- .../00_sync/000_hello_acp/Dockerfile | 8 ++++---- .../00_sync/000_hello_acp/manifest.yaml | 9 +++++---- .../00_sync/010_multiturn/Dockerfile | 8 ++++---- .../00_sync/010_multiturn/manifest.yaml | 9 +++++---- .../00_sync/020_streaming/Dockerfile | 8 ++++---- .../00_sync/020_streaming/manifest.yaml | 9 +++++---- .../00_base/000_hello_acp/manifest.yaml | 1 + .../00_base/010_multiturn/manifest.yaml | 1 + .../00_base/020_streaming/manifest.yaml | 1 + .../00_base/030_tracing/manifest.yaml | 1 + .../00_base/040_other_sdks/manifest.yaml | 1 + .../00_base/080_batch_events/manifest.yaml | 1 + .../10_temporal/000_hello_acp/manifest.yaml | 1 + .../10_temporal/010_agent_chat/manifest.yaml | 1 + .../020_state_machine/manifest.yaml | 1 + .../030_custom_activities/manifest.yaml | 1 + .../050_agent_chat_guardrails/manifest.yaml | 1 + .../manifest.yaml | 1 + .../manifest.yaml | 1 + .../manifest.yaml | 1 + examples/tutorials/test_utils/agentic.py | 20 +------------------ 21 files changed, 42 insertions(+), 43 deletions(-) diff --git a/examples/tutorials/00_sync/000_hello_acp/Dockerfile b/examples/tutorials/00_sync/000_hello_acp/Dockerfile index b9d5a44db..468f6984f 100644 --- a/examples/tutorials/00_sync/000_hello_acp/Dockerfile +++ b/examples/tutorials/00_sync/000_hello_acp/Dockerfile @@ -24,16 +24,16 @@ ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 000_hello_acp/pyproject.toml /app/000_hello_acp/pyproject.toml -COPY 000_hello_acp/README.md /app/000_hello_acp/README.md +COPY 00_sync/000_hello_acp/pyproject.toml /app/000_hello_acp/pyproject.toml +COPY 00_sync/000_hello_acp/README.md /app/000_hello_acp/README.md WORKDIR /app/000_hello_acp # Copy the project code -COPY 000_hello_acp/project /app/000_hello_acp/project +COPY 00_sync/000_hello_acp/project /app/000_hello_acp/project # Copy the test files -COPY 000_hello_acp/tests /app/000_hello_acp/tests +COPY 00_sync/000_hello_acp/tests /app/000_hello_acp/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/00_sync/000_hello_acp/manifest.yaml b/examples/tutorials/00_sync/000_hello_acp/manifest.yaml index efb2fd78f..218d38ed8 100644 --- a/examples/tutorials/00_sync/000_hello_acp/manifest.yaml +++ b/examples/tutorials/00_sync/000_hello_acp/manifest.yaml @@ -15,24 +15,25 @@ build: context: # Root directory for the build context - root: ../ # Keep this as the default root + root: ../../ # Up to tutorials level to include test_utils # Paths to include in the Docker build context # Must include: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 000_hello_acp + - 00_sync/000_hello_acp + - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 000_hello_acp/Dockerfile + dockerfile: 00_sync/000_hello_acp/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 000_hello_acp/.dockerignore + dockerignore: 00_sync/000_hello_acp/.dockerignore # Local Development Configuration # ----------------------------- diff --git a/examples/tutorials/00_sync/010_multiturn/Dockerfile b/examples/tutorials/00_sync/010_multiturn/Dockerfile index 0d0bf2c46..47bc81173 100644 --- a/examples/tutorials/00_sync/010_multiturn/Dockerfile +++ b/examples/tutorials/00_sync/010_multiturn/Dockerfile @@ -23,16 +23,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 010_multiturn/pyproject.toml /app/010_multiturn/pyproject.toml -COPY 010_multiturn/README.md /app/010_multiturn/README.md +COPY 00_sync/010_multiturn/pyproject.toml /app/010_multiturn/pyproject.toml +COPY 00_sync/010_multiturn/README.md /app/010_multiturn/README.md WORKDIR /app/010_multiturn # Copy the project code -COPY 010_multiturn/project /app/010_multiturn/project +COPY 00_sync/010_multiturn/project /app/010_multiturn/project # Copy the test files -COPY 010_multiturn/tests /app/010_multiturn/tests +COPY 00_sync/010_multiturn/tests /app/010_multiturn/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/00_sync/010_multiturn/manifest.yaml b/examples/tutorials/00_sync/010_multiturn/manifest.yaml index 6b10e48b4..c7e094aa6 100644 --- a/examples/tutorials/00_sync/010_multiturn/manifest.yaml +++ b/examples/tutorials/00_sync/010_multiturn/manifest.yaml @@ -15,24 +15,25 @@ build: context: # Root directory for the build context - root: ../ # Keep this as the default root + root: ../../ # Up to tutorials level to include test_utils # Paths to include in the Docker build context # Must include: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 010_multiturn + - 00_sync/010_multiturn + - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 010_multiturn/Dockerfile + dockerfile: 00_sync/010_multiturn/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 010_multiturn/.dockerignore + dockerignore: 00_sync/010_multiturn/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/00_sync/020_streaming/Dockerfile b/examples/tutorials/00_sync/020_streaming/Dockerfile index acc0b7cc6..0aa1764af 100644 --- a/examples/tutorials/00_sync/020_streaming/Dockerfile +++ b/examples/tutorials/00_sync/020_streaming/Dockerfile @@ -23,16 +23,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 020_streaming/pyproject.toml /app/020_streaming/pyproject.toml -COPY 020_streaming/README.md /app/020_streaming/README.md +COPY 00_sync/020_streaming/pyproject.toml /app/020_streaming/pyproject.toml +COPY 00_sync/020_streaming/README.md /app/020_streaming/README.md WORKDIR /app/020_streaming # Copy the project code -COPY 020_streaming/project /app/020_streaming/project +COPY 00_sync/020_streaming/project /app/020_streaming/project # Copy the test files -COPY 020_streaming/tests /app/020_streaming/tests +COPY 00_sync/020_streaming/tests /app/020_streaming/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/00_sync/020_streaming/manifest.yaml b/examples/tutorials/00_sync/020_streaming/manifest.yaml index b59afaefd..39a04d0f8 100644 --- a/examples/tutorials/00_sync/020_streaming/manifest.yaml +++ b/examples/tutorials/00_sync/020_streaming/manifest.yaml @@ -15,7 +15,7 @@ build: context: # Root directory for the build context - root: ../ # Keep this as the default root + root: ../../ # Up to tutorials level to include test_utils # Paths to include in the Docker build context # Must include: @@ -23,17 +23,18 @@ build: # These paths are collected and sent to the Docker daemon for building include_paths: - - 020_streaming + - 00_sync/020_streaming + - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 020_streaming/Dockerfile + dockerfile: 00_sync/020_streaming/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 020_streaming/.dockerignore + dockerignore: 00_sync/020_streaming/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_agentic/00_base/000_hello_acp/manifest.yaml b/examples/tutorials/10_agentic/00_base/000_hello_acp/manifest.yaml index 5935c72b1..713f1e1b3 100644 --- a/examples/tutorials/10_agentic/00_base/000_hello_acp/manifest.yaml +++ b/examples/tutorials/10_agentic/00_base/000_hello_acp/manifest.yaml @@ -23,6 +23,7 @@ build: # These paths are collected and sent to the Docker daemon for building include_paths: - 000_hello_acp + - ../../test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context diff --git a/examples/tutorials/10_agentic/00_base/010_multiturn/manifest.yaml b/examples/tutorials/10_agentic/00_base/010_multiturn/manifest.yaml index 8ce671717..5c6fc933c 100644 --- a/examples/tutorials/10_agentic/00_base/010_multiturn/manifest.yaml +++ b/examples/tutorials/10_agentic/00_base/010_multiturn/manifest.yaml @@ -23,6 +23,7 @@ build: # These paths are collected and sent to the Docker daemon for building include_paths: - 010_multiturn + - ../../test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context diff --git a/examples/tutorials/10_agentic/00_base/020_streaming/manifest.yaml b/examples/tutorials/10_agentic/00_base/020_streaming/manifest.yaml index cb2f65545..c09feadf1 100644 --- a/examples/tutorials/10_agentic/00_base/020_streaming/manifest.yaml +++ b/examples/tutorials/10_agentic/00_base/020_streaming/manifest.yaml @@ -23,6 +23,7 @@ build: # These paths are collected and sent to the Docker daemon for building include_paths: - 020_streaming + - ../../test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context diff --git a/examples/tutorials/10_agentic/00_base/030_tracing/manifest.yaml b/examples/tutorials/10_agentic/00_base/030_tracing/manifest.yaml index f23df8437..5838f88ac 100644 --- a/examples/tutorials/10_agentic/00_base/030_tracing/manifest.yaml +++ b/examples/tutorials/10_agentic/00_base/030_tracing/manifest.yaml @@ -23,6 +23,7 @@ build: # These paths are collected and sent to the Docker daemon for building include_paths: - 030_tracing + - ../../test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context diff --git a/examples/tutorials/10_agentic/00_base/040_other_sdks/manifest.yaml b/examples/tutorials/10_agentic/00_base/040_other_sdks/manifest.yaml index 559b0cfa3..951d36580 100644 --- a/examples/tutorials/10_agentic/00_base/040_other_sdks/manifest.yaml +++ b/examples/tutorials/10_agentic/00_base/040_other_sdks/manifest.yaml @@ -23,6 +23,7 @@ build: # These paths are collected and sent to the Docker daemon for building include_paths: - 040_other_sdks + - ../../test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context diff --git a/examples/tutorials/10_agentic/00_base/080_batch_events/manifest.yaml b/examples/tutorials/10_agentic/00_base/080_batch_events/manifest.yaml index 314792be4..d3f77dc35 100644 --- a/examples/tutorials/10_agentic/00_base/080_batch_events/manifest.yaml +++ b/examples/tutorials/10_agentic/00_base/080_batch_events/manifest.yaml @@ -23,6 +23,7 @@ build: # These paths are collected and sent to the Docker daemon for building include_paths: - 080_batch_events + - ../../test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context diff --git a/examples/tutorials/10_agentic/10_temporal/000_hello_acp/manifest.yaml b/examples/tutorials/10_agentic/10_temporal/000_hello_acp/manifest.yaml index 82569dcd4..92ec331f0 100644 --- a/examples/tutorials/10_agentic/10_temporal/000_hello_acp/manifest.yaml +++ b/examples/tutorials/10_agentic/10_temporal/000_hello_acp/manifest.yaml @@ -23,6 +23,7 @@ build: # These paths are collected and sent to the Docker daemon for building include_paths: - 000_hello_acp + - ../../test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context diff --git a/examples/tutorials/10_agentic/10_temporal/010_agent_chat/manifest.yaml b/examples/tutorials/10_agentic/10_temporal/010_agent_chat/manifest.yaml index 66e0073dc..1432630ba 100644 --- a/examples/tutorials/10_agentic/10_temporal/010_agent_chat/manifest.yaml +++ b/examples/tutorials/10_agentic/10_temporal/010_agent_chat/manifest.yaml @@ -23,6 +23,7 @@ build: # These paths are collected and sent to the Docker daemon for building include_paths: - 010_agent_chat + - ../../test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context diff --git a/examples/tutorials/10_agentic/10_temporal/020_state_machine/manifest.yaml b/examples/tutorials/10_agentic/10_temporal/020_state_machine/manifest.yaml index d79360968..6b5e2f912 100644 --- a/examples/tutorials/10_agentic/10_temporal/020_state_machine/manifest.yaml +++ b/examples/tutorials/10_agentic/10_temporal/020_state_machine/manifest.yaml @@ -23,6 +23,7 @@ build: # These paths are collected and sent to the Docker daemon for building include_paths: - 020_state_machine + - ../../test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context diff --git a/examples/tutorials/10_agentic/10_temporal/030_custom_activities/manifest.yaml b/examples/tutorials/10_agentic/10_temporal/030_custom_activities/manifest.yaml index 208b97253..065a1f9f9 100644 --- a/examples/tutorials/10_agentic/10_temporal/030_custom_activities/manifest.yaml +++ b/examples/tutorials/10_agentic/10_temporal/030_custom_activities/manifest.yaml @@ -23,6 +23,7 @@ build: # These paths are collected and sent to the Docker daemon for building include_paths: - 030_custom_activities + - ../../test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context diff --git a/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/manifest.yaml b/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/manifest.yaml index cd52a4e9a..2bba38498 100644 --- a/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/manifest.yaml +++ b/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/manifest.yaml @@ -23,6 +23,7 @@ build: # These paths are collected and sent to the Docker daemon for building include_paths: - 050_agent_chat_guardrails + - ../../test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context diff --git a/examples/tutorials/10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/manifest.yaml b/examples/tutorials/10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/manifest.yaml index 0299ac536..aab5a67e0 100644 --- a/examples/tutorials/10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/manifest.yaml +++ b/examples/tutorials/10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/manifest.yaml @@ -23,6 +23,7 @@ build: # These paths are collected and sent to the Docker daemon for building include_paths: - 060_open_ai_agents_sdk_hello_world + - ../../test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context diff --git a/examples/tutorials/10_agentic/10_temporal/070_open_ai_agents_sdk_tools/manifest.yaml b/examples/tutorials/10_agentic/10_temporal/070_open_ai_agents_sdk_tools/manifest.yaml index 8df493900..24bfae9f3 100644 --- a/examples/tutorials/10_agentic/10_temporal/070_open_ai_agents_sdk_tools/manifest.yaml +++ b/examples/tutorials/10_agentic/10_temporal/070_open_ai_agents_sdk_tools/manifest.yaml @@ -23,6 +23,7 @@ build: # These paths are collected and sent to the Docker daemon for building include_paths: - 070_open_ai_agents_sdk_tools + - ../../test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context diff --git a/examples/tutorials/10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/manifest.yaml b/examples/tutorials/10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/manifest.yaml index 4ff4e6cc2..61c4074cc 100644 --- a/examples/tutorials/10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/manifest.yaml +++ b/examples/tutorials/10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/manifest.yaml @@ -23,6 +23,7 @@ build: # These paths are collected and sent to the Docker daemon for building include_paths: - 080_open_ai_agents_sdk_human_in_the_loop + - ../../test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context diff --git a/examples/tutorials/test_utils/agentic.py b/examples/tutorials/test_utils/agentic.py index fcee04ea8..41604729f 100644 --- a/examples/tutorials/test_utils/agentic.py +++ b/examples/tutorials/test_utils/agentic.py @@ -180,6 +180,7 @@ async def stream_agent_response( except Exception as e: print(f"[DEBUG] Stream error: {e}") + async def stream_task_messages( client: AsyncAgentex, task_id: str, @@ -207,22 +208,3 @@ async def stream_task_messages( task_message = finished_message if task_message: yield task_message - - - -def validate_text_in_response(expected_text: str, message: TaskMessage) -> bool: - """ - Validate that expected text appears in any of the messages. - - Args: - expected_text: The text to search for (case-insensitive) - messages: List of message objects to search - - Returns: - True if text is found, False otherwise - """ - for message in messages: - if message.content and message.content.type == "text": - if expected_text.lower() in message.content.content.lower(): - return True - return False From 2c757fdea019898b87160325d055109c80f5410b Mon Sep 17 00:00:00 2001 From: Roxanne Farhad Date: Tue, 4 Nov 2025 20:59:28 -0500 Subject: [PATCH 04/13] fixing the other agents --- .../10_agentic/00_base/000_hello_acp/Dockerfile | 8 ++++---- .../10_agentic/00_base/000_hello_acp/manifest.yaml | 10 +++++----- .../10_agentic/00_base/010_multiturn/manifest.yaml | 10 +++++----- .../10_agentic/00_base/020_streaming/manifest.yaml | 10 +++++----- .../10_agentic/00_base/030_tracing/manifest.yaml | 10 +++++----- .../10_agentic/00_base/040_other_sdks/manifest.yaml | 10 +++++----- .../10_agentic/00_base/080_batch_events/manifest.yaml | 10 +++++----- .../10_agentic/10_temporal/000_hello_acp/manifest.yaml | 10 +++++----- .../10_temporal/010_agent_chat/manifest.yaml | 10 +++++----- .../10_temporal/020_state_machine/manifest.yaml | 10 +++++----- .../10_temporal/030_custom_activities/manifest.yaml | 10 +++++----- .../050_agent_chat_guardrails/manifest.yaml | 10 +++++----- .../060_open_ai_agents_sdk_hello_world/manifest.yaml | 10 +++++----- .../070_open_ai_agents_sdk_tools/manifest.yaml | 10 +++++----- .../manifest.yaml | 10 +++++----- 15 files changed, 74 insertions(+), 74 deletions(-) diff --git a/examples/tutorials/10_agentic/00_base/000_hello_acp/Dockerfile b/examples/tutorials/10_agentic/00_base/000_hello_acp/Dockerfile index c9a906068..56df3ce8b 100644 --- a/examples/tutorials/10_agentic/00_base/000_hello_acp/Dockerfile +++ b/examples/tutorials/10_agentic/00_base/000_hello_acp/Dockerfile @@ -23,16 +23,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 000_hello_acp/pyproject.toml /app/000_hello_acp/pyproject.toml -COPY 000_hello_acp/README.md /app/000_hello_acp/README.md +COPY 10_agentic/00_base/000_hello_acp/pyproject.toml /app/000_hello_acp/pyproject.toml +COPY 10_agentic/00_base/000_hello_acp/README.md /app/000_hello_acp/README.md WORKDIR /app/000_hello_acp # Copy the project code -COPY 000_hello_acp/project /app/000_hello_acp/project +COPY 10_agentic/00_base/000_hello_acp/project /app/000_hello_acp/project # Copy the test files -COPY 000_hello_acp/tests /app/000_hello_acp/tests +COPY 10_agentic/00_base/000_hello_acp/tests /app/000_hello_acp/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_agentic/00_base/000_hello_acp/manifest.yaml b/examples/tutorials/10_agentic/00_base/000_hello_acp/manifest.yaml index 713f1e1b3..1567b1c8d 100644 --- a/examples/tutorials/10_agentic/00_base/000_hello_acp/manifest.yaml +++ b/examples/tutorials/10_agentic/00_base/000_hello_acp/manifest.yaml @@ -15,25 +15,25 @@ build: context: # Root directory for the build context - root: ../ # Keep this as the default root + root: ../../../ # Up to tutorials level to include test_utils # Paths to include in the Docker build context # Must include: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 000_hello_acp - - ../../test_utils + - 10_agentic/00_base/000_hello_acp + - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 000_hello_acp/Dockerfile + dockerfile: 10_agentic/00_base/000_hello_acp/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 000_hello_acp/.dockerignore + dockerignore: 10_agentic/00_base/000_hello_acp/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_agentic/00_base/010_multiturn/manifest.yaml b/examples/tutorials/10_agentic/00_base/010_multiturn/manifest.yaml index 5c6fc933c..c205af884 100644 --- a/examples/tutorials/10_agentic/00_base/010_multiturn/manifest.yaml +++ b/examples/tutorials/10_agentic/00_base/010_multiturn/manifest.yaml @@ -15,25 +15,25 @@ build: context: # Root directory for the build context - root: ../ # Keep this as the default root + root: ../../../ # Up to tutorials level to include test_utils # Paths to include in the Docker build context # Must include: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 010_multiturn - - ../../test_utils + - 10_agentic/00_base/010_multiturn + - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 010_multiturn/Dockerfile + dockerfile: 10_agentic/00_base/010_multiturn/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 010_multiturn/.dockerignore + dockerignore: 10_agentic/00_base/010_multiturn/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_agentic/00_base/020_streaming/manifest.yaml b/examples/tutorials/10_agentic/00_base/020_streaming/manifest.yaml index c09feadf1..a3e167d02 100644 --- a/examples/tutorials/10_agentic/00_base/020_streaming/manifest.yaml +++ b/examples/tutorials/10_agentic/00_base/020_streaming/manifest.yaml @@ -15,25 +15,25 @@ build: context: # Root directory for the build context - root: ../ # Keep this as the default root + root: ../../../ # Up to tutorials level to include test_utils # Paths to include in the Docker build context # Must include: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 020_streaming - - ../../test_utils + - 10_agentic/00_base/020_streaming + - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 020_streaming/Dockerfile + dockerfile: 10_agentic/00_base/020_streaming/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 020_streaming/.dockerignore + dockerignore: 10_agentic/00_base/020_streaming/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_agentic/00_base/030_tracing/manifest.yaml b/examples/tutorials/10_agentic/00_base/030_tracing/manifest.yaml index 5838f88ac..5f5e795d3 100644 --- a/examples/tutorials/10_agentic/00_base/030_tracing/manifest.yaml +++ b/examples/tutorials/10_agentic/00_base/030_tracing/manifest.yaml @@ -15,25 +15,25 @@ build: context: # Root directory for the build context - root: ../ # Keep this as the default root + root: ../../../ # Up to tutorials level to include test_utils # Paths to include in the Docker build context # Must include: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 030_tracing - - ../../test_utils + - 10_agentic/00_base/030_tracing + - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 030_tracing/Dockerfile + dockerfile: 10_agentic/00_base/030_tracing/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 030_tracing/.dockerignore + dockerignore: 10_agentic/00_base/030_tracing/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_agentic/00_base/040_other_sdks/manifest.yaml b/examples/tutorials/10_agentic/00_base/040_other_sdks/manifest.yaml index 951d36580..af81ff245 100644 --- a/examples/tutorials/10_agentic/00_base/040_other_sdks/manifest.yaml +++ b/examples/tutorials/10_agentic/00_base/040_other_sdks/manifest.yaml @@ -15,25 +15,25 @@ build: context: # Root directory for the build context - root: ../ # Keep this as the default root + root: ../../../ # Up to tutorials level to include test_utils # Paths to include in the Docker build context # Must include: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 040_other_sdks - - ../../test_utils + - 10_agentic/00_base/040_other_sdks + - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 040_other_sdks/Dockerfile + dockerfile: 10_agentic/00_base/040_other_sdks/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 040_other_sdks/.dockerignore + dockerignore: 10_agentic/00_base/040_other_sdks/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_agentic/00_base/080_batch_events/manifest.yaml b/examples/tutorials/10_agentic/00_base/080_batch_events/manifest.yaml index d3f77dc35..dedbbf089 100644 --- a/examples/tutorials/10_agentic/00_base/080_batch_events/manifest.yaml +++ b/examples/tutorials/10_agentic/00_base/080_batch_events/manifest.yaml @@ -15,25 +15,25 @@ build: context: # Root directory for the build context - root: ../ # Keep this as the default root + root: ../../../ # Up to tutorials level to include test_utils # Paths to include in the Docker build context # Must include: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 080_batch_events - - ../../test_utils + - 10_agentic/00_base/080_batch_events + - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 080_batch_events/Dockerfile + dockerfile: 10_agentic/00_base/080_batch_events/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 080_batch_events/.dockerignore + dockerignore: 10_agentic/00_base/080_batch_events/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_agentic/10_temporal/000_hello_acp/manifest.yaml b/examples/tutorials/10_agentic/10_temporal/000_hello_acp/manifest.yaml index 92ec331f0..e6754df12 100644 --- a/examples/tutorials/10_agentic/10_temporal/000_hello_acp/manifest.yaml +++ b/examples/tutorials/10_agentic/10_temporal/000_hello_acp/manifest.yaml @@ -15,25 +15,25 @@ build: context: # Root directory for the build context - root: ../ # Keep this as the default root + root: ../../../ # Up to tutorials level to include test_utils # Paths to include in the Docker build context # Must include: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 000_hello_acp - - ../../test_utils + - 10_agentic/10_temporal/000_hello_acp + - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 000_hello_acp/Dockerfile + dockerfile: 10_agentic/10_temporal/000_hello_acp/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 000_hello_acp/.dockerignore + dockerignore: 10_agentic/10_temporal/000_hello_acp/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_agentic/10_temporal/010_agent_chat/manifest.yaml b/examples/tutorials/10_agentic/10_temporal/010_agent_chat/manifest.yaml index 1432630ba..f1d04302c 100644 --- a/examples/tutorials/10_agentic/10_temporal/010_agent_chat/manifest.yaml +++ b/examples/tutorials/10_agentic/10_temporal/010_agent_chat/manifest.yaml @@ -15,25 +15,25 @@ build: context: # Root directory for the build context - root: ../ # Keep this as the default root + root: ../../../ # Up to tutorials level to include test_utils # Paths to include in the Docker build context # Must include: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 010_agent_chat - - ../../test_utils + - 10_agentic/10_temporal/010_agent_chat + - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 010_agent_chat/Dockerfile + dockerfile: 10_agentic/10_temporal/010_agent_chat/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 010_agent_chat/.dockerignore + dockerignore: 10_agentic/10_temporal/010_agent_chat/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_agentic/10_temporal/020_state_machine/manifest.yaml b/examples/tutorials/10_agentic/10_temporal/020_state_machine/manifest.yaml index 6b5e2f912..c65795606 100644 --- a/examples/tutorials/10_agentic/10_temporal/020_state_machine/manifest.yaml +++ b/examples/tutorials/10_agentic/10_temporal/020_state_machine/manifest.yaml @@ -15,25 +15,25 @@ build: context: # Root directory for the build context - root: ../ # Keep this as the default root + root: ../../../ # Up to tutorials level to include test_utils # Paths to include in the Docker build context # Must include: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 020_state_machine - - ../../test_utils + - 10_agentic/10_temporal/020_state_machine + - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 020_state_machine/Dockerfile + dockerfile: 10_agentic/10_temporal/020_state_machine/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 020_state_machine/.dockerignore + dockerignore: 10_agentic/10_temporal/020_state_machine/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_agentic/10_temporal/030_custom_activities/manifest.yaml b/examples/tutorials/10_agentic/10_temporal/030_custom_activities/manifest.yaml index 065a1f9f9..426bfb07a 100644 --- a/examples/tutorials/10_agentic/10_temporal/030_custom_activities/manifest.yaml +++ b/examples/tutorials/10_agentic/10_temporal/030_custom_activities/manifest.yaml @@ -15,25 +15,25 @@ build: context: # Root directory for the build context - root: ../ # Keep this as the default root + root: ../../../ # Up to tutorials level to include test_utils # Paths to include in the Docker build context # Must include: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 030_custom_activities - - ../../test_utils + - 10_agentic/10_temporal/030_custom_activities + - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 030_custom_activities/Dockerfile + dockerfile: 10_agentic/10_temporal/030_custom_activities/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 030_custom_activities/.dockerignore + dockerignore: 10_agentic/10_temporal/030_custom_activities/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/manifest.yaml b/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/manifest.yaml index 2bba38498..db1eb2619 100644 --- a/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/manifest.yaml +++ b/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/manifest.yaml @@ -15,25 +15,25 @@ build: context: # Root directory for the build context - root: ../ # Keep this as the default root + root: ../../../ # Up to tutorials level to include test_utils # Paths to include in the Docker build context # Must include: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 050_agent_chat_guardrails - - ../../test_utils + - 10_agentic/10_temporal/050_agent_chat_guardrails + - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 050_agent_chat_guardrails/Dockerfile + dockerfile: 10_agentic/10_temporal/050_agent_chat_guardrails/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 050_agent_chat_guardrails/.dockerignore + dockerignore: 10_agentic/10_temporal/050_agent_chat_guardrails/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/manifest.yaml b/examples/tutorials/10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/manifest.yaml index aab5a67e0..210034a12 100644 --- a/examples/tutorials/10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/manifest.yaml +++ b/examples/tutorials/10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/manifest.yaml @@ -15,25 +15,25 @@ build: context: # Root directory for the build context - root: ../ # Keep this as the default root + root: ../../../ # Up to tutorials level to include test_utils # Paths to include in the Docker build context # Must include: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 060_open_ai_agents_sdk_hello_world - - ../../test_utils + - 10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world + - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 060_open_ai_agents_sdk_hello_world/Dockerfile + dockerfile: 10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 060_open_ai_agents_sdk_hello_world/.dockerignore + dockerignore: 10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_agentic/10_temporal/070_open_ai_agents_sdk_tools/manifest.yaml b/examples/tutorials/10_agentic/10_temporal/070_open_ai_agents_sdk_tools/manifest.yaml index 24bfae9f3..369c02e83 100644 --- a/examples/tutorials/10_agentic/10_temporal/070_open_ai_agents_sdk_tools/manifest.yaml +++ b/examples/tutorials/10_agentic/10_temporal/070_open_ai_agents_sdk_tools/manifest.yaml @@ -15,25 +15,25 @@ build: context: # Root directory for the build context - root: ../ # Keep this as the default root + root: ../../../ # Up to tutorials level to include test_utils # Paths to include in the Docker build context # Must include: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 070_open_ai_agents_sdk_tools - - ../../test_utils + - 10_agentic/10_temporal/070_open_ai_agents_sdk_tools + - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 070_open_ai_agents_sdk_tools/Dockerfile + dockerfile: 10_agentic/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 070_open_ai_agents_sdk_tools/.dockerignore + dockerignore: 10_agentic/10_temporal/070_open_ai_agents_sdk_tools/.dockerignore # Local Development Configuration # ----------------------------- diff --git a/examples/tutorials/10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/manifest.yaml b/examples/tutorials/10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/manifest.yaml index 61c4074cc..0f1936993 100644 --- a/examples/tutorials/10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/manifest.yaml +++ b/examples/tutorials/10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/manifest.yaml @@ -15,25 +15,25 @@ build: context: # Root directory for the build context - root: ../ # Keep this as the default root + root: ../../../ # Up to tutorials level to include test_utils # Paths to include in the Docker build context # Must include: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 080_open_ai_agents_sdk_human_in_the_loop - - ../../test_utils + - 10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop + - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 080_open_ai_agents_sdk_human_in_the_loop/Dockerfile + dockerfile: 10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 080_open_ai_agents_sdk_human_in_the_loop/.dockerignore + dockerignore: 10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/.dockerignore # Local Development Configuration From cc4d1a2f702e021498f4823594d96e4b32124653 Mon Sep 17 00:00:00 2001 From: Roxanne Farhad Date: Tue, 4 Nov 2025 21:14:28 -0500 Subject: [PATCH 05/13] fixing all tutorials --- .../tutorials/10_agentic/00_base/010_multiturn/Dockerfile | 8 ++++---- .../tutorials/10_agentic/00_base/020_streaming/Dockerfile | 8 ++++---- .../tutorials/10_agentic/00_base/030_tracing/Dockerfile | 8 ++++---- .../10_agentic/00_base/040_other_sdks/Dockerfile | 8 ++++---- .../10_agentic/00_base/080_batch_events/Dockerfile | 8 ++++---- .../10_agentic/10_temporal/000_hello_acp/Dockerfile | 8 ++++---- .../10_agentic/10_temporal/010_agent_chat/Dockerfile | 8 ++++---- .../10_agentic/10_temporal/020_state_machine/Dockerfile | 8 ++++---- .../10_temporal/030_custom_activities/Dockerfile | 8 ++++---- .../10_temporal/050_agent_chat_guardrails/Dockerfile | 8 ++++---- .../060_open_ai_agents_sdk_hello_world/Dockerfile | 8 ++++---- .../10_temporal/070_open_ai_agents_sdk_tools/Dockerfile | 8 ++++---- .../080_open_ai_agents_sdk_human_in_the_loop/Dockerfile | 8 ++++---- 13 files changed, 52 insertions(+), 52 deletions(-) diff --git a/examples/tutorials/10_agentic/00_base/010_multiturn/Dockerfile b/examples/tutorials/10_agentic/00_base/010_multiturn/Dockerfile index 9314c3be2..486238fb3 100644 --- a/examples/tutorials/10_agentic/00_base/010_multiturn/Dockerfile +++ b/examples/tutorials/10_agentic/00_base/010_multiturn/Dockerfile @@ -23,15 +23,15 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 010_multiturn/pyproject.toml /app/010_multiturn/pyproject.toml -COPY 010_multiturn/README.md /app/010_multiturn/README.md +COPY 10_agentic/00_base/010_multiturn/pyproject.toml /app/010_multiturn/pyproject.toml +COPY 10_agentic/00_base/010_multiturn/README.md /app/010_multiturn/README.md WORKDIR /app/010_multiturn -COPY 010_multiturn/project /app/010_multiturn/project +COPY 10_agentic/00_base/010_multiturn/project /app/010_multiturn/project # Copy the test files -COPY 010_multiturn/tests /app/010_multiturn/tests +COPY 10_agentic/00_base/010_multiturn/tests /app/010_multiturn/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_agentic/00_base/020_streaming/Dockerfile b/examples/tutorials/10_agentic/00_base/020_streaming/Dockerfile index b89105049..f798bfc57 100644 --- a/examples/tutorials/10_agentic/00_base/020_streaming/Dockerfile +++ b/examples/tutorials/10_agentic/00_base/020_streaming/Dockerfile @@ -23,16 +23,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 020_streaming/pyproject.toml /app/020_streaming/pyproject.toml -COPY 020_streaming/README.md /app/020_streaming/README.md +COPY 10_agentic/00_base/020_streaming/pyproject.toml /app/020_streaming/pyproject.toml +COPY 10_agentic/00_base/020_streaming/README.md /app/020_streaming/README.md WORKDIR /app/020_streaming # Copy the project code -COPY 020_streaming/project /app/020_streaming/project +COPY 10_agentic/00_base/020_streaming/project /app/020_streaming/project # Copy the test files -COPY 020_streaming/tests /app/020_streaming/tests +COPY 10_agentic/00_base/020_streaming/tests /app/020_streaming/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_agentic/00_base/030_tracing/Dockerfile b/examples/tutorials/10_agentic/00_base/030_tracing/Dockerfile index 7f42395a1..f8afe6f99 100644 --- a/examples/tutorials/10_agentic/00_base/030_tracing/Dockerfile +++ b/examples/tutorials/10_agentic/00_base/030_tracing/Dockerfile @@ -23,16 +23,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 030_tracing/pyproject.toml /app/030_tracing/pyproject.toml -COPY 030_tracing/README.md /app/030_tracing/README.md +COPY 10_agentic/00_base/030_tracing/pyproject.toml /app/030_tracing/pyproject.toml +COPY 10_agentic/00_base/030_tracing/README.md /app/030_tracing/README.md WORKDIR /app/030_tracing # Copy the project code -COPY 030_tracing/project /app/030_tracing/project +COPY 10_agentic/00_base/030_tracing/project /app/030_tracing/project # Copy the test files -COPY 030_tracing/tests /app/030_tracing/tests +COPY 10_agentic/00_base/030_tracing/tests /app/030_tracing/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_agentic/00_base/040_other_sdks/Dockerfile b/examples/tutorials/10_agentic/00_base/040_other_sdks/Dockerfile index 6ef28192b..fda401930 100644 --- a/examples/tutorials/10_agentic/00_base/040_other_sdks/Dockerfile +++ b/examples/tutorials/10_agentic/00_base/040_other_sdks/Dockerfile @@ -23,16 +23,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 040_other_sdks/pyproject.toml /app/040_other_sdks/pyproject.toml -COPY 040_other_sdks/README.md /app/040_other_sdks/README.md +COPY 10_agentic/00_base/040_other_sdks/pyproject.toml /app/040_other_sdks/pyproject.toml +COPY 10_agentic/00_base/040_other_sdks/README.md /app/040_other_sdks/README.md WORKDIR /app/040_other_sdks # Copy the project code -COPY 040_other_sdks/project /app/040_other_sdks/project +COPY 10_agentic/00_base/040_other_sdks/project /app/040_other_sdks/project # Copy the test files -COPY 040_other_sdks/tests /app/040_other_sdks/tests +COPY 10_agentic/00_base/040_other_sdks/tests /app/040_other_sdks/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_agentic/00_base/080_batch_events/Dockerfile b/examples/tutorials/10_agentic/00_base/080_batch_events/Dockerfile index 7508d3fc2..7eb572f75 100644 --- a/examples/tutorials/10_agentic/00_base/080_batch_events/Dockerfile +++ b/examples/tutorials/10_agentic/00_base/080_batch_events/Dockerfile @@ -23,16 +23,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 080_batch_events/pyproject.toml /app/080_batch_events/pyproject.toml -COPY 080_batch_events/README.md /app/080_batch_events/README.md +COPY 10_agentic/00_base/080_batch_events/pyproject.toml /app/080_batch_events/pyproject.toml +COPY 10_agentic/00_base/080_batch_events/README.md /app/080_batch_events/README.md WORKDIR /app/080_batch_events # Copy the project code -COPY 080_batch_events/project /app/080_batch_events/project +COPY 10_agentic/00_base/080_batch_events/project /app/080_batch_events/project # Copy the test files -COPY 080_batch_events/tests /app/080_batch_events/tests +COPY 10_agentic/00_base/080_batch_events/tests /app/080_batch_events/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_agentic/10_temporal/000_hello_acp/Dockerfile b/examples/tutorials/10_agentic/10_temporal/000_hello_acp/Dockerfile index 78882ca01..3a336ff98 100644 --- a/examples/tutorials/10_agentic/10_temporal/000_hello_acp/Dockerfile +++ b/examples/tutorials/10_agentic/10_temporal/000_hello_acp/Dockerfile @@ -29,16 +29,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 000_hello_acp/pyproject.toml /app/000_hello_acp/pyproject.toml -COPY 000_hello_acp/README.md /app/000_hello_acp/README.md +COPY 10_agentic/10_temporal/000_hello_acp/pyproject.toml /app/000_hello_acp/pyproject.toml +COPY 10_agentic/10_temporal/000_hello_acp/README.md /app/000_hello_acp/README.md WORKDIR /app/000_hello_acp # Copy the project code -COPY 000_hello_acp/project /app/000_hello_acp/project +COPY 10_agentic/10_temporal/000_hello_acp/project /app/000_hello_acp/project # Copy the test files -COPY 000_hello_acp/tests /app/000_hello_acp/tests +COPY 10_agentic/10_temporal/000_hello_acp/tests /app/000_hello_acp/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_agentic/10_temporal/010_agent_chat/Dockerfile b/examples/tutorials/10_agentic/10_temporal/010_agent_chat/Dockerfile index da262bce4..4db65cd8d 100644 --- a/examples/tutorials/10_agentic/10_temporal/010_agent_chat/Dockerfile +++ b/examples/tutorials/10_agentic/10_temporal/010_agent_chat/Dockerfile @@ -29,16 +29,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 010_agent_chat/pyproject.toml /app/010_agent_chat/pyproject.toml -COPY 010_agent_chat/README.md /app/010_agent_chat/README.md +COPY 10_agentic/10_temporal/010_agent_chat/pyproject.toml /app/010_agent_chat/pyproject.toml +COPY 10_agentic/10_temporal/010_agent_chat/README.md /app/010_agent_chat/README.md WORKDIR /app/010_agent_chat # Copy the project code -COPY 010_agent_chat/project /app/010_agent_chat/project +COPY 10_agentic/10_temporal/010_agent_chat/project /app/010_agent_chat/project # Copy the test files -COPY 010_agent_chat/tests /app/010_agent_chat/tests +COPY 10_agentic/10_temporal/010_agent_chat/tests /app/010_agent_chat/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_agentic/10_temporal/020_state_machine/Dockerfile b/examples/tutorials/10_agentic/10_temporal/020_state_machine/Dockerfile index 7be7216f1..f3ac2ebab 100644 --- a/examples/tutorials/10_agentic/10_temporal/020_state_machine/Dockerfile +++ b/examples/tutorials/10_agentic/10_temporal/020_state_machine/Dockerfile @@ -29,16 +29,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 020_state_machine/pyproject.toml /app/020_state_machine/pyproject.toml -COPY 020_state_machine/README.md /app/020_state_machine/README.md +COPY 10_agentic/10_temporal/020_state_machine/pyproject.toml /app/020_state_machine/pyproject.toml +COPY 10_agentic/10_temporal/020_state_machine/README.md /app/020_state_machine/README.md WORKDIR /app/020_state_machine # Copy the project code -COPY 020_state_machine/project /app/020_state_machine/project +COPY 10_agentic/10_temporal/020_state_machine/project /app/020_state_machine/project # Copy the test files -COPY 020_state_machine/tests /app/020_state_machine/tests +COPY 10_agentic/10_temporal/020_state_machine/tests /app/020_state_machine/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_agentic/10_temporal/030_custom_activities/Dockerfile b/examples/tutorials/10_agentic/10_temporal/030_custom_activities/Dockerfile index cfe35f9d1..90fe6c63e 100644 --- a/examples/tutorials/10_agentic/10_temporal/030_custom_activities/Dockerfile +++ b/examples/tutorials/10_agentic/10_temporal/030_custom_activities/Dockerfile @@ -29,16 +29,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 030_custom_activities/pyproject.toml /app/030_custom_activities/pyproject.toml -COPY 030_custom_activities/README.md /app/030_custom_activities/README.md +COPY 10_agentic/10_temporal/030_custom_activities/pyproject.toml /app/030_custom_activities/pyproject.toml +COPY 10_agentic/10_temporal/030_custom_activities/README.md /app/030_custom_activities/README.md WORKDIR /app/030_custom_activities # Copy the project code -COPY 030_custom_activities/project /app/030_custom_activities/project +COPY 10_agentic/10_temporal/030_custom_activities/project /app/030_custom_activities/project # Copy the test files -COPY 030_custom_activities/tests /app/030_custom_activities/tests +COPY 10_agentic/10_temporal/030_custom_activities/tests /app/030_custom_activities/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/Dockerfile b/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/Dockerfile index 1a030c98b..0cc40248d 100644 --- a/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/Dockerfile +++ b/examples/tutorials/10_agentic/10_temporal/050_agent_chat_guardrails/Dockerfile @@ -29,16 +29,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 050_agent_chat_guardrails/pyproject.toml /app/050_agent_chat_guardrails/pyproject.toml -COPY 050_agent_chat_guardrails/README.md /app/050_agent_chat_guardrails/README.md +COPY 10_agentic/10_temporal/050_agent_chat_guardrails/pyproject.toml /app/050_agent_chat_guardrails/pyproject.toml +COPY 10_agentic/10_temporal/050_agent_chat_guardrails/README.md /app/050_agent_chat_guardrails/README.md WORKDIR /app/050_agent_chat_guardrails # Copy the project code -COPY 050_agent_chat_guardrails/project /app/050_agent_chat_guardrails/project +COPY 10_agentic/10_temporal/050_agent_chat_guardrails/project /app/050_agent_chat_guardrails/project # Copy the test files -COPY 050_agent_chat_guardrails/tests /app/050_agent_chat_guardrails/tests +COPY 10_agentic/10_temporal/050_agent_chat_guardrails/tests /app/050_agent_chat_guardrails/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile b/examples/tutorials/10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile index e38a49092..3d0c75238 100644 --- a/examples/tutorials/10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile +++ b/examples/tutorials/10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile @@ -31,16 +31,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 060_open_ai_agents_sdk_hello_world/pyproject.toml /app/060_open_ai_agents_sdk_hello_world/pyproject.toml -COPY 060_open_ai_agents_sdk_hello_world/README.md /app/060_open_ai_agents_sdk_hello_world/README.md +COPY 10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/pyproject.toml /app/060_open_ai_agents_sdk_hello_world/pyproject.toml +COPY 10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/README.md /app/060_open_ai_agents_sdk_hello_world/README.md WORKDIR /app/060_open_ai_agents_sdk_hello_world # Copy the project code -COPY 060_open_ai_agents_sdk_hello_world/project /app/060_open_ai_agents_sdk_hello_world/project +COPY 10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/project /app/060_open_ai_agents_sdk_hello_world/project # Copy the test files -COPY 060_open_ai_agents_sdk_hello_world/tests /app/060_open_ai_agents_sdk_hello_world/tests +COPY 10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/tests /app/060_open_ai_agents_sdk_hello_world/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_agentic/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile b/examples/tutorials/10_agentic/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile index 08862ef5b..03f0f70f7 100644 --- a/examples/tutorials/10_agentic/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile +++ b/examples/tutorials/10_agentic/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile @@ -31,16 +31,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 070_open_ai_agents_sdk_tools/pyproject.toml /app/070_open_ai_agents_sdk_tools/pyproject.toml -COPY 070_open_ai_agents_sdk_tools/README.md /app/070_open_ai_agents_sdk_tools/README.md +COPY 10_agentic/10_temporal/070_open_ai_agents_sdk_tools/pyproject.toml /app/070_open_ai_agents_sdk_tools/pyproject.toml +COPY 10_agentic/10_temporal/070_open_ai_agents_sdk_tools/README.md /app/070_open_ai_agents_sdk_tools/README.md WORKDIR /app/070_open_ai_agents_sdk_tools # Copy the project code -COPY 070_open_ai_agents_sdk_tools/project /app/070_open_ai_agents_sdk_tools/project +COPY 10_agentic/10_temporal/070_open_ai_agents_sdk_tools/project /app/070_open_ai_agents_sdk_tools/project # Copy the test files -COPY 070_open_ai_agents_sdk_tools/tests /app/070_open_ai_agents_sdk_tools/tests +COPY 10_agentic/10_temporal/070_open_ai_agents_sdk_tools/tests /app/070_open_ai_agents_sdk_tools/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile b/examples/tutorials/10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile index 4db75e5e2..b849b74ad 100644 --- a/examples/tutorials/10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile +++ b/examples/tutorials/10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile @@ -31,16 +31,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 080_open_ai_agents_sdk_human_in_the_loop/pyproject.toml /app/080_open_ai_agents_sdk_human_in_the_loop/pyproject.toml -COPY 080_open_ai_agents_sdk_human_in_the_loop/README.md /app/080_open_ai_agents_sdk_human_in_the_loop/README.md +COPY 10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/pyproject.toml /app/080_open_ai_agents_sdk_human_in_the_loop/pyproject.toml +COPY 10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/README.md /app/080_open_ai_agents_sdk_human_in_the_loop/README.md WORKDIR /app/080_open_ai_agents_sdk_human_in_the_loop # Copy the project code -COPY 080_open_ai_agents_sdk_human_in_the_loop/project /app/080_open_ai_agents_sdk_human_in_the_loop/project +COPY 10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/project /app/080_open_ai_agents_sdk_human_in_the_loop/project # Copy the test files -COPY 080_open_ai_agents_sdk_human_in_the_loop/tests /app/080_open_ai_agents_sdk_human_in_the_loop/tests +COPY 10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/tests /app/080_open_ai_agents_sdk_human_in_the_loop/tests # Copy shared test utilities COPY test_utils /app/test_utils From 530db78cd8c3fa21c2448dc3454993fb22e0bb18 Mon Sep 17 00:00:00 2001 From: Roxanne Farhad Date: Thu, 4 Dec 2025 12:33:39 -0500 Subject: [PATCH 06/13] fixing images --- .../10_async/00_base/000_hello_acp/Dockerfile | 8 +++---- .../00_base/000_hello_acp/manifest.yaml | 6 ++--- .../10_async/00_base/010_multiturn/Dockerfile | 8 +++---- .../00_base/010_multiturn/manifest.yaml | 6 ++--- .../10_async/00_base/020_streaming/Dockerfile | 8 +++---- .../00_base/020_streaming/manifest.yaml | 6 ++--- .../10_async/00_base/030_tracing/Dockerfile | 8 +++---- .../00_base/030_tracing/manifest.yaml | 6 ++--- .../00_base/040_other_sdks/Dockerfile | 8 +++---- .../00_base/040_other_sdks/manifest.yaml | 6 ++--- .../00_base/080_batch_events/Dockerfile | 8 +++---- .../00_base/080_batch_events/manifest.yaml | 6 ++--- .../090_multi_agent_non_temporal/Dockerfile | 8 +++---- .../10_temporal/000_hello_acp/Dockerfile | 8 +++---- .../10_temporal/000_hello_acp/manifest.yaml | 6 ++--- .../10_temporal/010_agent_chat/Dockerfile | 8 +++---- .../10_temporal/010_agent_chat/manifest.yaml | 6 ++--- .../10_temporal/020_state_machine/Dockerfile | 8 +++---- .../020_state_machine/manifest.yaml | 6 ++--- .../030_custom_activities/Dockerfile | 8 +++---- .../030_custom_activities/manifest.yaml | 6 ++--- .../050_agent_chat_guardrails/Dockerfile | 8 +++---- .../050_agent_chat_guardrails/manifest.yaml | 6 ++--- .../Dockerfile | 8 +++---- .../manifest.yaml | 6 ++--- .../070_open_ai_agents_sdk_tools/Dockerfile | 8 +++---- .../manifest.yaml | 6 ++--- .../Dockerfile | 8 +++---- .../manifest.yaml | 6 ++--- .../090_claude_agents_sdk_mvp/Dockerfile | 16 +++++++++---- .../090_claude_agents_sdk_mvp/manifest.yaml | 23 +++++++++++++++---- 31 files changed, 132 insertions(+), 111 deletions(-) diff --git a/examples/tutorials/10_async/00_base/000_hello_acp/Dockerfile b/examples/tutorials/10_async/00_base/000_hello_acp/Dockerfile index 56df3ce8b..8b0d20f88 100644 --- a/examples/tutorials/10_async/00_base/000_hello_acp/Dockerfile +++ b/examples/tutorials/10_async/00_base/000_hello_acp/Dockerfile @@ -23,16 +23,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 10_agentic/00_base/000_hello_acp/pyproject.toml /app/000_hello_acp/pyproject.toml -COPY 10_agentic/00_base/000_hello_acp/README.md /app/000_hello_acp/README.md +COPY 10_async/00_base/000_hello_acp/pyproject.toml /app/000_hello_acp/pyproject.toml +COPY 10_async/00_base/000_hello_acp/README.md /app/000_hello_acp/README.md WORKDIR /app/000_hello_acp # Copy the project code -COPY 10_agentic/00_base/000_hello_acp/project /app/000_hello_acp/project +COPY 10_async/00_base/000_hello_acp/project /app/000_hello_acp/project # Copy the test files -COPY 10_agentic/00_base/000_hello_acp/tests /app/000_hello_acp/tests +COPY 10_async/00_base/000_hello_acp/tests /app/000_hello_acp/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_async/00_base/000_hello_acp/manifest.yaml b/examples/tutorials/10_async/00_base/000_hello_acp/manifest.yaml index 8802b1eae..ba0c68369 100644 --- a/examples/tutorials/10_async/00_base/000_hello_acp/manifest.yaml +++ b/examples/tutorials/10_async/00_base/000_hello_acp/manifest.yaml @@ -22,18 +22,18 @@ build: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 10_agentic/00_base/000_hello_acp + - 10_async/00_base/000_hello_acp - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 10_agentic/00_base/000_hello_acp/Dockerfile + dockerfile: 10_async/00_base/000_hello_acp/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 10_agentic/00_base/000_hello_acp/.dockerignore + dockerignore: 10_async/00_base/000_hello_acp/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_async/00_base/010_multiturn/Dockerfile b/examples/tutorials/10_async/00_base/010_multiturn/Dockerfile index 486238fb3..48969ad90 100644 --- a/examples/tutorials/10_async/00_base/010_multiturn/Dockerfile +++ b/examples/tutorials/10_async/00_base/010_multiturn/Dockerfile @@ -23,15 +23,15 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 10_agentic/00_base/010_multiturn/pyproject.toml /app/010_multiturn/pyproject.toml -COPY 10_agentic/00_base/010_multiturn/README.md /app/010_multiturn/README.md +COPY 10_async/00_base/010_multiturn/pyproject.toml /app/010_multiturn/pyproject.toml +COPY 10_async/00_base/010_multiturn/README.md /app/010_multiturn/README.md WORKDIR /app/010_multiturn -COPY 10_agentic/00_base/010_multiturn/project /app/010_multiturn/project +COPY 10_async/00_base/010_multiturn/project /app/010_multiturn/project # Copy the test files -COPY 10_agentic/00_base/010_multiturn/tests /app/010_multiturn/tests +COPY 10_async/00_base/010_multiturn/tests /app/010_multiturn/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_async/00_base/010_multiturn/manifest.yaml b/examples/tutorials/10_async/00_base/010_multiturn/manifest.yaml index 827c74e95..5d21e78d5 100644 --- a/examples/tutorials/10_async/00_base/010_multiturn/manifest.yaml +++ b/examples/tutorials/10_async/00_base/010_multiturn/manifest.yaml @@ -22,18 +22,18 @@ build: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 10_agentic/00_base/010_multiturn + - 10_async/00_base/010_multiturn - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 10_agentic/00_base/010_multiturn/Dockerfile + dockerfile: 10_async/00_base/010_multiturn/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 10_agentic/00_base/010_multiturn/.dockerignore + dockerignore: 10_async/00_base/010_multiturn/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_async/00_base/020_streaming/Dockerfile b/examples/tutorials/10_async/00_base/020_streaming/Dockerfile index f798bfc57..447ca292d 100644 --- a/examples/tutorials/10_async/00_base/020_streaming/Dockerfile +++ b/examples/tutorials/10_async/00_base/020_streaming/Dockerfile @@ -23,16 +23,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 10_agentic/00_base/020_streaming/pyproject.toml /app/020_streaming/pyproject.toml -COPY 10_agentic/00_base/020_streaming/README.md /app/020_streaming/README.md +COPY 10_async/00_base/020_streaming/pyproject.toml /app/020_streaming/pyproject.toml +COPY 10_async/00_base/020_streaming/README.md /app/020_streaming/README.md WORKDIR /app/020_streaming # Copy the project code -COPY 10_agentic/00_base/020_streaming/project /app/020_streaming/project +COPY 10_async/00_base/020_streaming/project /app/020_streaming/project # Copy the test files -COPY 10_agentic/00_base/020_streaming/tests /app/020_streaming/tests +COPY 10_async/00_base/020_streaming/tests /app/020_streaming/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_async/00_base/020_streaming/manifest.yaml b/examples/tutorials/10_async/00_base/020_streaming/manifest.yaml index c1318c2f7..bd5673a6b 100644 --- a/examples/tutorials/10_async/00_base/020_streaming/manifest.yaml +++ b/examples/tutorials/10_async/00_base/020_streaming/manifest.yaml @@ -22,18 +22,18 @@ build: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 10_agentic/00_base/020_streaming + - 10_async/00_base/020_streaming - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 10_agentic/00_base/020_streaming/Dockerfile + dockerfile: 10_async/00_base/020_streaming/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 10_agentic/00_base/020_streaming/.dockerignore + dockerignore: 10_async/00_base/020_streaming/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_async/00_base/030_tracing/Dockerfile b/examples/tutorials/10_async/00_base/030_tracing/Dockerfile index f8afe6f99..2aee7e1dd 100644 --- a/examples/tutorials/10_async/00_base/030_tracing/Dockerfile +++ b/examples/tutorials/10_async/00_base/030_tracing/Dockerfile @@ -23,16 +23,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 10_agentic/00_base/030_tracing/pyproject.toml /app/030_tracing/pyproject.toml -COPY 10_agentic/00_base/030_tracing/README.md /app/030_tracing/README.md +COPY 10_async/00_base/030_tracing/pyproject.toml /app/030_tracing/pyproject.toml +COPY 10_async/00_base/030_tracing/README.md /app/030_tracing/README.md WORKDIR /app/030_tracing # Copy the project code -COPY 10_agentic/00_base/030_tracing/project /app/030_tracing/project +COPY 10_async/00_base/030_tracing/project /app/030_tracing/project # Copy the test files -COPY 10_agentic/00_base/030_tracing/tests /app/030_tracing/tests +COPY 10_async/00_base/030_tracing/tests /app/030_tracing/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_async/00_base/030_tracing/manifest.yaml b/examples/tutorials/10_async/00_base/030_tracing/manifest.yaml index 03250a92a..3c9b2c147 100644 --- a/examples/tutorials/10_async/00_base/030_tracing/manifest.yaml +++ b/examples/tutorials/10_async/00_base/030_tracing/manifest.yaml @@ -22,18 +22,18 @@ build: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 10_agentic/00_base/030_tracing + - 10_async/00_base/030_tracing - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 10_agentic/00_base/030_tracing/Dockerfile + dockerfile: 10_async/00_base/030_tracing/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 10_agentic/00_base/030_tracing/.dockerignore + dockerignore: 10_async/00_base/030_tracing/.dockerignore # Local Development Configuration 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 fda401930..2e0ee6ef0 100644 --- a/examples/tutorials/10_async/00_base/040_other_sdks/Dockerfile +++ b/examples/tutorials/10_async/00_base/040_other_sdks/Dockerfile @@ -23,16 +23,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 10_agentic/00_base/040_other_sdks/pyproject.toml /app/040_other_sdks/pyproject.toml -COPY 10_agentic/00_base/040_other_sdks/README.md /app/040_other_sdks/README.md +COPY 10_async/00_base/040_other_sdks/pyproject.toml /app/040_other_sdks/pyproject.toml +COPY 10_async/00_base/040_other_sdks/README.md /app/040_other_sdks/README.md WORKDIR /app/040_other_sdks # Copy the project code -COPY 10_agentic/00_base/040_other_sdks/project /app/040_other_sdks/project +COPY 10_async/00_base/040_other_sdks/project /app/040_other_sdks/project # Copy the test files -COPY 10_agentic/00_base/040_other_sdks/tests /app/040_other_sdks/tests +COPY 10_async/00_base/040_other_sdks/tests /app/040_other_sdks/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_async/00_base/040_other_sdks/manifest.yaml b/examples/tutorials/10_async/00_base/040_other_sdks/manifest.yaml index f98db0a21..8fd324c13 100644 --- a/examples/tutorials/10_async/00_base/040_other_sdks/manifest.yaml +++ b/examples/tutorials/10_async/00_base/040_other_sdks/manifest.yaml @@ -22,18 +22,18 @@ build: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 10_agentic/00_base/040_other_sdks + - 10_async/00_base/040_other_sdks - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 10_agentic/00_base/040_other_sdks/Dockerfile + dockerfile: 10_async/00_base/040_other_sdks/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 10_agentic/00_base/040_other_sdks/.dockerignore + dockerignore: 10_async/00_base/040_other_sdks/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_async/00_base/080_batch_events/Dockerfile b/examples/tutorials/10_async/00_base/080_batch_events/Dockerfile index 7eb572f75..dbeccdfb9 100644 --- a/examples/tutorials/10_async/00_base/080_batch_events/Dockerfile +++ b/examples/tutorials/10_async/00_base/080_batch_events/Dockerfile @@ -23,16 +23,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 10_agentic/00_base/080_batch_events/pyproject.toml /app/080_batch_events/pyproject.toml -COPY 10_agentic/00_base/080_batch_events/README.md /app/080_batch_events/README.md +COPY 10_async/00_base/080_batch_events/pyproject.toml /app/080_batch_events/pyproject.toml +COPY 10_async/00_base/080_batch_events/README.md /app/080_batch_events/README.md WORKDIR /app/080_batch_events # Copy the project code -COPY 10_agentic/00_base/080_batch_events/project /app/080_batch_events/project +COPY 10_async/00_base/080_batch_events/project /app/080_batch_events/project # Copy the test files -COPY 10_agentic/00_base/080_batch_events/tests /app/080_batch_events/tests +COPY 10_async/00_base/080_batch_events/tests /app/080_batch_events/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_async/00_base/080_batch_events/manifest.yaml b/examples/tutorials/10_async/00_base/080_batch_events/manifest.yaml index 82d9fd506..dd5f8cbdc 100644 --- a/examples/tutorials/10_async/00_base/080_batch_events/manifest.yaml +++ b/examples/tutorials/10_async/00_base/080_batch_events/manifest.yaml @@ -22,18 +22,18 @@ build: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 10_agentic/00_base/080_batch_events + - 10_async/00_base/080_batch_events - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 10_agentic/00_base/080_batch_events/Dockerfile + dockerfile: 10_async/00_base/080_batch_events/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 10_agentic/00_base/080_batch_events/.dockerignore + dockerignore: 10_async/00_base/080_batch_events/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/Dockerfile b/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/Dockerfile index f5b8c2112..aca5dc227 100644 --- a/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/Dockerfile +++ b/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/Dockerfile @@ -24,16 +24,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 090_multi_agent_non_temporal/pyproject.toml /app/090_multi_agent_non_temporal/pyproject.toml -COPY 090_multi_agent_non_temporal/README.md /app/090_multi_agent_non_temporal/README.md +COPY 10_async/00_base/090_multi_agent_non_temporal/pyproject.toml /app/090_multi_agent_non_temporal/pyproject.toml +COPY 10_async/00_base/090_multi_agent_non_temporal/README.md /app/090_multi_agent_non_temporal/README.md WORKDIR /app/090_multi_agent_non_temporal # Copy the project code -COPY 090_multi_agent_non_temporal/project /app/090_multi_agent_non_temporal/project +COPY 10_async/00_base/090_multi_agent_non_temporal/project /app/090_multi_agent_non_temporal/project # Copy the test files -COPY 090_multi_agent_non_temporal/tests /app/090_multi_agent_non_temporal/tests +COPY 10_async/00_base/090_multi_agent_non_temporal/tests /app/090_multi_agent_non_temporal/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_async/10_temporal/000_hello_acp/Dockerfile b/examples/tutorials/10_async/10_temporal/000_hello_acp/Dockerfile index 3a336ff98..e739eb4a8 100644 --- a/examples/tutorials/10_async/10_temporal/000_hello_acp/Dockerfile +++ b/examples/tutorials/10_async/10_temporal/000_hello_acp/Dockerfile @@ -29,16 +29,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 10_agentic/10_temporal/000_hello_acp/pyproject.toml /app/000_hello_acp/pyproject.toml -COPY 10_agentic/10_temporal/000_hello_acp/README.md /app/000_hello_acp/README.md +COPY 10_async/10_temporal/000_hello_acp/pyproject.toml /app/000_hello_acp/pyproject.toml +COPY 10_async/10_temporal/000_hello_acp/README.md /app/000_hello_acp/README.md WORKDIR /app/000_hello_acp # Copy the project code -COPY 10_agentic/10_temporal/000_hello_acp/project /app/000_hello_acp/project +COPY 10_async/10_temporal/000_hello_acp/project /app/000_hello_acp/project # Copy the test files -COPY 10_agentic/10_temporal/000_hello_acp/tests /app/000_hello_acp/tests +COPY 10_async/10_temporal/000_hello_acp/tests /app/000_hello_acp/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_async/10_temporal/000_hello_acp/manifest.yaml b/examples/tutorials/10_async/10_temporal/000_hello_acp/manifest.yaml index 512d73eff..e93fe8eca 100644 --- a/examples/tutorials/10_async/10_temporal/000_hello_acp/manifest.yaml +++ b/examples/tutorials/10_async/10_temporal/000_hello_acp/manifest.yaml @@ -22,18 +22,18 @@ build: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 10_agentic/10_temporal/000_hello_acp + - 10_async/10_temporal/000_hello_acp - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 10_agentic/10_temporal/000_hello_acp/Dockerfile + dockerfile: 10_async/10_temporal/000_hello_acp/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 10_agentic/10_temporal/000_hello_acp/.dockerignore + dockerignore: 10_async/10_temporal/000_hello_acp/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_async/10_temporal/010_agent_chat/Dockerfile b/examples/tutorials/10_async/10_temporal/010_agent_chat/Dockerfile index 4db65cd8d..5ecf911b0 100644 --- a/examples/tutorials/10_async/10_temporal/010_agent_chat/Dockerfile +++ b/examples/tutorials/10_async/10_temporal/010_agent_chat/Dockerfile @@ -29,16 +29,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 10_agentic/10_temporal/010_agent_chat/pyproject.toml /app/010_agent_chat/pyproject.toml -COPY 10_agentic/10_temporal/010_agent_chat/README.md /app/010_agent_chat/README.md +COPY 10_async/10_temporal/010_agent_chat/pyproject.toml /app/010_agent_chat/pyproject.toml +COPY 10_async/10_temporal/010_agent_chat/README.md /app/010_agent_chat/README.md WORKDIR /app/010_agent_chat # Copy the project code -COPY 10_agentic/10_temporal/010_agent_chat/project /app/010_agent_chat/project +COPY 10_async/10_temporal/010_agent_chat/project /app/010_agent_chat/project # Copy the test files -COPY 10_agentic/10_temporal/010_agent_chat/tests /app/010_agent_chat/tests +COPY 10_async/10_temporal/010_agent_chat/tests /app/010_agent_chat/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_async/10_temporal/010_agent_chat/manifest.yaml b/examples/tutorials/10_async/10_temporal/010_agent_chat/manifest.yaml index 09a5a9961..1d53a7c2b 100644 --- a/examples/tutorials/10_async/10_temporal/010_agent_chat/manifest.yaml +++ b/examples/tutorials/10_async/10_temporal/010_agent_chat/manifest.yaml @@ -22,18 +22,18 @@ build: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 10_agentic/10_temporal/010_agent_chat + - 10_async/10_temporal/010_agent_chat - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 10_agentic/10_temporal/010_agent_chat/Dockerfile + dockerfile: 10_async/10_temporal/010_agent_chat/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 10_agentic/10_temporal/010_agent_chat/.dockerignore + dockerignore: 10_async/10_temporal/010_agent_chat/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_async/10_temporal/020_state_machine/Dockerfile b/examples/tutorials/10_async/10_temporal/020_state_machine/Dockerfile index f3ac2ebab..59051b4b8 100644 --- a/examples/tutorials/10_async/10_temporal/020_state_machine/Dockerfile +++ b/examples/tutorials/10_async/10_temporal/020_state_machine/Dockerfile @@ -29,16 +29,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 10_agentic/10_temporal/020_state_machine/pyproject.toml /app/020_state_machine/pyproject.toml -COPY 10_agentic/10_temporal/020_state_machine/README.md /app/020_state_machine/README.md +COPY 10_async/10_temporal/020_state_machine/pyproject.toml /app/020_state_machine/pyproject.toml +COPY 10_async/10_temporal/020_state_machine/README.md /app/020_state_machine/README.md WORKDIR /app/020_state_machine # Copy the project code -COPY 10_agentic/10_temporal/020_state_machine/project /app/020_state_machine/project +COPY 10_async/10_temporal/020_state_machine/project /app/020_state_machine/project # Copy the test files -COPY 10_agentic/10_temporal/020_state_machine/tests /app/020_state_machine/tests +COPY 10_async/10_temporal/020_state_machine/tests /app/020_state_machine/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_async/10_temporal/020_state_machine/manifest.yaml b/examples/tutorials/10_async/10_temporal/020_state_machine/manifest.yaml index ca275dfdc..8b2bca147 100644 --- a/examples/tutorials/10_async/10_temporal/020_state_machine/manifest.yaml +++ b/examples/tutorials/10_async/10_temporal/020_state_machine/manifest.yaml @@ -22,18 +22,18 @@ build: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 10_agentic/10_temporal/020_state_machine + - 10_async/10_temporal/020_state_machine - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 10_agentic/10_temporal/020_state_machine/Dockerfile + dockerfile: 10_async/10_temporal/020_state_machine/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 10_agentic/10_temporal/020_state_machine/.dockerignore + dockerignore: 10_async/10_temporal/020_state_machine/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_async/10_temporal/030_custom_activities/Dockerfile b/examples/tutorials/10_async/10_temporal/030_custom_activities/Dockerfile index 90fe6c63e..752ad8e93 100644 --- a/examples/tutorials/10_async/10_temporal/030_custom_activities/Dockerfile +++ b/examples/tutorials/10_async/10_temporal/030_custom_activities/Dockerfile @@ -29,16 +29,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 10_agentic/10_temporal/030_custom_activities/pyproject.toml /app/030_custom_activities/pyproject.toml -COPY 10_agentic/10_temporal/030_custom_activities/README.md /app/030_custom_activities/README.md +COPY 10_async/10_temporal/030_custom_activities/pyproject.toml /app/030_custom_activities/pyproject.toml +COPY 10_async/10_temporal/030_custom_activities/README.md /app/030_custom_activities/README.md WORKDIR /app/030_custom_activities # Copy the project code -COPY 10_agentic/10_temporal/030_custom_activities/project /app/030_custom_activities/project +COPY 10_async/10_temporal/030_custom_activities/project /app/030_custom_activities/project # Copy the test files -COPY 10_agentic/10_temporal/030_custom_activities/tests /app/030_custom_activities/tests +COPY 10_async/10_temporal/030_custom_activities/tests /app/030_custom_activities/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_async/10_temporal/030_custom_activities/manifest.yaml b/examples/tutorials/10_async/10_temporal/030_custom_activities/manifest.yaml index b702690a2..40af196f1 100644 --- a/examples/tutorials/10_async/10_temporal/030_custom_activities/manifest.yaml +++ b/examples/tutorials/10_async/10_temporal/030_custom_activities/manifest.yaml @@ -22,18 +22,18 @@ build: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 10_agentic/10_temporal/030_custom_activities + - 10_async/10_temporal/030_custom_activities - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 10_agentic/10_temporal/030_custom_activities/Dockerfile + dockerfile: 10_async/10_temporal/030_custom_activities/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 10_agentic/10_temporal/030_custom_activities/.dockerignore + dockerignore: 10_async/10_temporal/030_custom_activities/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/Dockerfile b/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/Dockerfile index 0cc40248d..ef1ea0bf6 100644 --- a/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/Dockerfile +++ b/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/Dockerfile @@ -29,16 +29,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 10_agentic/10_temporal/050_agent_chat_guardrails/pyproject.toml /app/050_agent_chat_guardrails/pyproject.toml -COPY 10_agentic/10_temporal/050_agent_chat_guardrails/README.md /app/050_agent_chat_guardrails/README.md +COPY 10_async/10_temporal/050_agent_chat_guardrails/pyproject.toml /app/050_agent_chat_guardrails/pyproject.toml +COPY 10_async/10_temporal/050_agent_chat_guardrails/README.md /app/050_agent_chat_guardrails/README.md WORKDIR /app/050_agent_chat_guardrails # Copy the project code -COPY 10_agentic/10_temporal/050_agent_chat_guardrails/project /app/050_agent_chat_guardrails/project +COPY 10_async/10_temporal/050_agent_chat_guardrails/project /app/050_agent_chat_guardrails/project # Copy the test files -COPY 10_agentic/10_temporal/050_agent_chat_guardrails/tests /app/050_agent_chat_guardrails/tests +COPY 10_async/10_temporal/050_agent_chat_guardrails/tests /app/050_agent_chat_guardrails/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/manifest.yaml b/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/manifest.yaml index 717ade68e..3fe94a001 100644 --- a/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/manifest.yaml +++ b/examples/tutorials/10_async/10_temporal/050_agent_chat_guardrails/manifest.yaml @@ -22,18 +22,18 @@ build: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 10_agentic/10_temporal/050_agent_chat_guardrails + - 10_async/10_temporal/050_agent_chat_guardrails - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 10_agentic/10_temporal/050_agent_chat_guardrails/Dockerfile + dockerfile: 10_async/10_temporal/050_agent_chat_guardrails/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 10_agentic/10_temporal/050_agent_chat_guardrails/.dockerignore + dockerignore: 10_async/10_temporal/050_agent_chat_guardrails/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile b/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile index 3d0c75238..01de23af4 100644 --- a/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile +++ b/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile @@ -31,16 +31,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/pyproject.toml /app/060_open_ai_agents_sdk_hello_world/pyproject.toml -COPY 10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/README.md /app/060_open_ai_agents_sdk_hello_world/README.md +COPY 10_async/10_temporal/060_open_ai_agents_sdk_hello_world/pyproject.toml /app/060_open_ai_agents_sdk_hello_world/pyproject.toml +COPY 10_async/10_temporal/060_open_ai_agents_sdk_hello_world/README.md /app/060_open_ai_agents_sdk_hello_world/README.md WORKDIR /app/060_open_ai_agents_sdk_hello_world # Copy the project code -COPY 10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/project /app/060_open_ai_agents_sdk_hello_world/project +COPY 10_async/10_temporal/060_open_ai_agents_sdk_hello_world/project /app/060_open_ai_agents_sdk_hello_world/project # Copy the test files -COPY 10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/tests /app/060_open_ai_agents_sdk_hello_world/tests +COPY 10_async/10_temporal/060_open_ai_agents_sdk_hello_world/tests /app/060_open_ai_agents_sdk_hello_world/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/manifest.yaml b/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/manifest.yaml index ff08d36e5..773d5ba44 100644 --- a/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/manifest.yaml +++ b/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/manifest.yaml @@ -22,18 +22,18 @@ build: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world + - 10_async/10_temporal/060_open_ai_agents_sdk_hello_world - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile + dockerfile: 10_async/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 10_agentic/10_temporal/060_open_ai_agents_sdk_hello_world/.dockerignore + dockerignore: 10_async/10_temporal/060_open_ai_agents_sdk_hello_world/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile b/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile index 03f0f70f7..e161dfc4f 100644 --- a/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile +++ b/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile @@ -31,16 +31,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 10_agentic/10_temporal/070_open_ai_agents_sdk_tools/pyproject.toml /app/070_open_ai_agents_sdk_tools/pyproject.toml -COPY 10_agentic/10_temporal/070_open_ai_agents_sdk_tools/README.md /app/070_open_ai_agents_sdk_tools/README.md +COPY 10_async/10_temporal/070_open_ai_agents_sdk_tools/pyproject.toml /app/070_open_ai_agents_sdk_tools/pyproject.toml +COPY 10_async/10_temporal/070_open_ai_agents_sdk_tools/README.md /app/070_open_ai_agents_sdk_tools/README.md WORKDIR /app/070_open_ai_agents_sdk_tools # Copy the project code -COPY 10_agentic/10_temporal/070_open_ai_agents_sdk_tools/project /app/070_open_ai_agents_sdk_tools/project +COPY 10_async/10_temporal/070_open_ai_agents_sdk_tools/project /app/070_open_ai_agents_sdk_tools/project # Copy the test files -COPY 10_agentic/10_temporal/070_open_ai_agents_sdk_tools/tests /app/070_open_ai_agents_sdk_tools/tests +COPY 10_async/10_temporal/070_open_ai_agents_sdk_tools/tests /app/070_open_ai_agents_sdk_tools/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/manifest.yaml b/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/manifest.yaml index c3bdeacaa..40bf9e78a 100644 --- a/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/manifest.yaml +++ b/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/manifest.yaml @@ -22,18 +22,18 @@ build: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 10_agentic/10_temporal/070_open_ai_agents_sdk_tools + - 10_async/10_temporal/070_open_ai_agents_sdk_tools - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 10_agentic/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile + dockerfile: 10_async/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 10_agentic/10_temporal/070_open_ai_agents_sdk_tools/.dockerignore + dockerignore: 10_async/10_temporal/070_open_ai_agents_sdk_tools/.dockerignore # Local Development Configuration # ----------------------------- diff --git a/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile b/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile index b849b74ad..3f9812fdd 100644 --- a/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile +++ b/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile @@ -31,16 +31,16 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/pyproject.toml /app/080_open_ai_agents_sdk_human_in_the_loop/pyproject.toml -COPY 10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/README.md /app/080_open_ai_agents_sdk_human_in_the_loop/README.md +COPY 10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/pyproject.toml /app/080_open_ai_agents_sdk_human_in_the_loop/pyproject.toml +COPY 10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/README.md /app/080_open_ai_agents_sdk_human_in_the_loop/README.md WORKDIR /app/080_open_ai_agents_sdk_human_in_the_loop # Copy the project code -COPY 10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/project /app/080_open_ai_agents_sdk_human_in_the_loop/project +COPY 10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/project /app/080_open_ai_agents_sdk_human_in_the_loop/project # Copy the test files -COPY 10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/tests /app/080_open_ai_agents_sdk_human_in_the_loop/tests +COPY 10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/tests /app/080_open_ai_agents_sdk_human_in_the_loop/tests # Copy shared test utilities COPY test_utils /app/test_utils diff --git a/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/manifest.yaml b/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/manifest.yaml index 163a0d0e1..09f49c3e5 100644 --- a/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/manifest.yaml +++ b/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/manifest.yaml @@ -22,18 +22,18 @@ build: # - Your agent's directory (your custom agent code) # These paths are collected and sent to the Docker daemon for building include_paths: - - 10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop + - 10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop - test_utils # Path to your agent's Dockerfile # This defines how your agent's image is built from the context # Relative to the root directory - dockerfile: 10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile + dockerfile: 10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile # Path to your agent's .dockerignore # Filters unnecessary files from the build context # Helps keep build context small and builds fast - dockerignore: 10_agentic/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/.dockerignore + dockerignore: 10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/.dockerignore # Local Development Configuration diff --git a/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/Dockerfile b/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/Dockerfile index 4699b8331..0bd6da5bd 100644 --- a/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/Dockerfile +++ b/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/Dockerfile @@ -31,16 +31,22 @@ RUN uv pip install --system --upgrade pip setuptools wheel ENV UV_HTTP_TIMEOUT=1000 # Copy pyproject.toml and README.md to install dependencies -COPY 090_claude_agents_sdk_mvp/pyproject.toml /app/090_claude_agents_sdk_mvp/pyproject.toml -COPY 090_claude_agents_sdk_mvp/README.md /app/090_claude_agents_sdk_mvp/README.md +COPY 10_async/10_temporal/090_claude_agents_sdk_mvp/pyproject.toml /app/090_claude_agents_sdk_mvp/pyproject.toml +COPY 10_async/10_temporal/090_claude_agents_sdk_mvp/README.md /app/090_claude_agents_sdk_mvp/README.md WORKDIR /app/090_claude_agents_sdk_mvp # Copy the project code -COPY 090_claude_agents_sdk_mvp/project /app/090_claude_agents_sdk_mvp/project +COPY 10_async/10_temporal/090_claude_agents_sdk_mvp/project /app/090_claude_agents_sdk_mvp/project -# Install the required Python packages from pyproject.toml -RUN uv pip install --system . +# Copy the test files +COPY 10_async/10_temporal/090_claude_agents_sdk_mvp/tests /app/090_claude_agents_sdk_mvp/tests + +# Copy shared test utilities +COPY test_utils /app/test_utils + +# Install the required Python packages with dev dependencies (includes pytest) +RUN uv pip install --system .[dev] pytest-asyncio httpx WORKDIR /app/090_claude_agents_sdk_mvp diff --git a/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/manifest.yaml b/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/manifest.yaml index 3af65eede..2c1ce21dd 100644 --- a/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/manifest.yaml +++ b/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/manifest.yaml @@ -3,11 +3,26 @@ kind: Agent # Build Configuration build: context: - root: ../ + # Root directory for the build context + root: ../../../ # Up to tutorials level to include test_utils + + # Paths to include in the Docker build context + # Must include: + # - Your agent's directory (your custom agent code) + # These paths are collected and sent to the Docker daemon for building include_paths: - - 090_claude_agents_sdk_mvp - dockerfile: 090_claude_agents_sdk_mvp/Dockerfile - dockerignore: 090_claude_agents_sdk_mvp/.dockerignore + - 10_async/10_temporal/090_claude_agents_sdk_mvp + - test_utils + + # Path to your agent's Dockerfile + # This defines how your agent's image is built from the context + # Relative to the root directory + dockerfile: 10_async/10_temporal/090_claude_agents_sdk_mvp/Dockerfile + + # Path to your agent's .dockerignore + # Filters unnecessary files from the build context + # Helps keep build context small and builds fast + dockerignore: 10_async/10_temporal/090_claude_agents_sdk_mvp/.dockerignore # Local Development Configuration local_development: From 982753d809f6857771d375c4e2d6a85833d822d8 Mon Sep 17 00:00:00 2001 From: Roxanne Farhad Date: Thu, 4 Dec 2025 13:11:26 -0500 Subject: [PATCH 07/13] fixing the image --- .../tests/test_agent.py | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/tests/test_agent.py diff --git a/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/tests/test_agent.py b/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/tests/test_agent.py new file mode 100644 index 000000000..a3e54bdc8 --- /dev/null +++ b/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/tests/test_agent.py @@ -0,0 +1,66 @@ +import os +import uuid +import asyncio + +import pytest +import pytest_asyncio +from test_utils.async_utils import ( + poll_messages, + stream_agent_response, + send_event_and_poll_yielding, +) + +from agentex import AsyncAgentex +from agentex.types import TaskMessage +from agentex.types.agent_rpc_params import ParamsCreateTaskRequest +from agentex.types.text_content_param import TextContentParam + +# Configuration from environment variables +AGENTEX_API_BASE_URL = os.environ.get("AGENTEX_API_BASE_URL", "http://localhost:5003") +AGENT_NAME = os.environ.get("AGENT_NAME", "claude_") + + +@pytest_asyncio.fixture +async def client(): + """Create an AgentEx client instance for testing.""" + client = AsyncAgentex(base_url=AGENTEX_API_BASE_URL) + yield client + await client.close() + + +@pytest.fixture +def agent_name(): + """Return the agent name for testing.""" + return AGENT_NAME + + +@pytest_asyncio.fixture +async def agent_id(client: AsyncAgentex, agent_name): + """Retrieve the agent ID based on the agent name.""" + agents = await client.agents.list() + for agent in agents: + if agent.name == agent_name: + return agent.id + raise ValueError(f"Agent with name {agent_name} not found.") + + +class TestNonStreamingEvents: + """Test non-streaming event sending and polling.""" + + @pytest.mark.asyncio + async def test_send_event_and_poll(self, client: AsyncAgentex, agent_id: str): + """Test sending an event and polling for the response.""" + pass + + +class TestStreamingEvents: + """Test streaming event sending.""" + + @pytest.mark.asyncio + async def test_send_event_and_stream(self, client: AsyncAgentex, agent_id: str): + """Test sending an event and streaming the response.""" + pass + + +if __name__ == "__main__": + pytest.main([__file__, "-v"]) From a2496e4fa5701a0db500054e1651d0e8bf8d4ac3 Mon Sep 17 00:00:00 2001 From: Roxanne Farhad Date: Mon, 8 Dec 2025 10:42:39 -0500 Subject: [PATCH 08/13] fixing tests --- .../00_base/000_hello_acp/tests/test_agent.py | 44 ++++++++++++++----- .../00_base/010_multiturn/tests/test_agent.py | 7 ++- 2 files changed, 38 insertions(+), 13 deletions(-) diff --git a/examples/tutorials/10_async/00_base/000_hello_acp/tests/test_agent.py b/examples/tutorials/10_async/00_base/000_hello_acp/tests/test_agent.py index 08cac7a7d..0065149ce 100644 --- a/examples/tutorials/10_async/00_base/000_hello_acp/tests/test_agent.py +++ b/examples/tutorials/10_async/00_base/000_hello_acp/tests/test_agent.py @@ -108,25 +108,41 @@ async def test_send_event_and_stream(self, client: AsyncAgentex, agent_id: str): """Test sending an event and streaming the response.""" task_response = await client.agents.create_task(agent_id, params=ParamsCreateTaskRequest(name=uuid.uuid1().hex)) task = task_response.result + assert task is not None + task_creation_found = False + # Poll for the initial task creation message + async for message in poll_messages( + client=client, + task_id=task.id, + timeout=30, + sleep_interval=1.0, + ): + assert isinstance(message, TaskMessage) + if message.content and message.content.type == "text" and message.content.author == "agent": + assert "Hello! I've received your task" in message.content.content + task_creation_found = True + break + + assert task_creation_found, "Task creation message not found in poll" user_message = "Hello, this is a test message!" + stream_timeout = 10 # Collect events from stream all_events = [] # Flags to track what we've received - task_creation_found = False user_echo_found = False agent_response_found = False - async def collect_stream_events(): - nonlocal task_creation_found, user_echo_found, agent_response_found + async def collect_stream_events() -> None: + nonlocal user_echo_found, agent_response_found async for event in stream_agent_response( client=client, task_id=task.id, - timeout=30, + timeout=stream_timeout, ): all_events.append(event) # Check events as they arrive @@ -136,21 +152,19 @@ async def collect_stream_events(): if content.get("content") is None: continue # Skip empty content if content.get("type") == "text" and content.get("author") == "agent": - # Check for initial task creation message - if "Hello! I've received your task" in content.get("content", ""): - task_creation_found = True # Check for agent response to user message - elif "Hello! I've received your message" in content.get("content", ""): + if "Hello! I've received your message" in content.get("content", ""): # Agent response should come after user echo assert user_echo_found, "Agent response arrived before user message echo (incorrect order)" agent_response_found = True elif content.get("type") == "text" and content.get("author") == "user": # Check for user message echo + print("here") if content.get("content") == user_message: user_echo_found = True # Exit early if we've found all expected messages - if task_creation_found and user_echo_found and agent_response_found: + if user_echo_found and agent_response_found: break # Start streaming task @@ -160,8 +174,16 @@ async def collect_stream_events(): event_content = TextContentParam(type="text", author="user", content=user_message) await client.agents.send_event(agent_id=agent_id, params={"task_id": task.id, "content": event_content}) - # Wait for streaming to complete - await stream_task + + # Wait for the stream to complete (with timeout) + try: + await asyncio.wait_for(stream_task, timeout=stream_timeout) + except asyncio.TimeoutError: + pytest.fail(f"Stream timed out after {stream_timeout}s waiting for expected messages") + + # Verify all expected messages were received (fail if stream ended without finding them) + assert user_echo_found, "User message echo not found in stream" + assert agent_response_found, "Agent response not found in stream" if __name__ == "__main__": diff --git a/examples/tutorials/10_async/00_base/010_multiturn/tests/test_agent.py b/examples/tutorials/10_async/00_base/010_multiturn/tests/test_agent.py index ce9ab4a41..4da1745c6 100644 --- a/examples/tutorials/10_async/00_base/010_multiturn/tests/test_agent.py +++ b/examples/tutorials/10_async/00_base/010_multiturn/tests/test_agent.py @@ -185,8 +185,11 @@ async def stream_messages(): event_content = TextContentParam(type="text", author="user", content=user_message) await client.agents.send_event(agent_id=agent_id, params={"task_id": task.id, "content": event_content}) - # Wait for streaming to complete - await stream_task + # Wait for streaming to complete (with timeout) + try: + await asyncio.wait_for(stream_task, timeout=15) + except asyncio.TimeoutError: + pytest.fail("Stream timed out after 15s waiting for expected messages") # Validate we received events assert len(all_events) > 0, "No events received in streaming response" From 5b5177ea666ec1ec0ca147b663fa7dd2d0a39e24 Mon Sep 17 00:00:00 2001 From: Roxanne Farhad Date: Mon, 8 Dec 2025 11:55:02 -0500 Subject: [PATCH 09/13] fixing the yield_ thigns --- .../10_async/00_base/020_streaming/tests/test_agent.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/examples/tutorials/10_async/00_base/020_streaming/tests/test_agent.py b/examples/tutorials/10_async/00_base/020_streaming/tests/test_agent.py index 4cdff79a9..d863199cd 100644 --- a/examples/tutorials/10_async/00_base/020_streaming/tests/test_agent.py +++ b/examples/tutorials/10_async/00_base/020_streaming/tests/test_agent.py @@ -96,7 +96,9 @@ async def test_send_event_and_poll(self, client: AsyncAgentex, agent_id: str): user_message=user_message, timeout=30, sleep_interval=1.0, + yield_updates=False, ): + messages.append(message) assert len(messages) > 0 @@ -199,7 +201,7 @@ async def stream_messages() -> None: await asyncio.sleep(1) # wait for state to be updated states = await client.states.list(agent_id=agent_id, task_id=task.id) assert len(states) == 1 - state = states[0].state + state: dict[str, object] = states[0].state messages = state.get("messages", []) assert isinstance(messages, list) From a350f6ced42874b3e83acd2dc14287380e3aa185 Mon Sep 17 00:00:00 2001 From: Roxanne Farhad Date: Mon, 8 Dec 2025 12:58:17 -0500 Subject: [PATCH 10/13] fixing temporal code --- .../000_hello_acp/tests/test_agent.py | 54 ++++++++++++------- .../010_agent_chat/project/workflow.py | 2 +- 2 files changed, 37 insertions(+), 19 deletions(-) diff --git a/examples/tutorials/10_async/10_temporal/000_hello_acp/tests/test_agent.py b/examples/tutorials/10_async/10_temporal/000_hello_acp/tests/test_agent.py index f3e88e32d..9150afaa2 100644 --- a/examples/tutorials/10_async/10_temporal/000_hello_acp/tests/test_agent.py +++ b/examples/tutorials/10_async/10_temporal/000_hello_acp/tests/test_agent.py @@ -18,6 +18,7 @@ import os import uuid import asyncio +from typing import Any import pytest import pytest_asyncio @@ -71,7 +72,7 @@ async def test_send_event_and_poll(self, client: AsyncAgentex, agent_id: str): task_response = await client.agents.create_task(agent_id, params=ParamsCreateTaskRequest(name=uuid.uuid1().hex)) task = task_response.result assert task is not None - + task_creation_found = False # Poll for the initial task creation message async for message in poll_messages( client=client, @@ -82,8 +83,10 @@ async def test_send_event_and_poll(self, client: AsyncAgentex, agent_id: str): assert isinstance(message, TaskMessage) if message.content and message.content.type == "text" and message.content.author == "agent": assert "Hello! I've received your task" in message.content.content + task_creation_found = True break - + + assert task_creation_found, "Task creation message not found in poll" await asyncio.sleep(1.5) # Send an event and poll for response user_message = "Hello, this is a test message!" @@ -110,23 +113,37 @@ async def test_send_event_and_stream(self, client: AsyncAgentex, agent_id: str): task = task_response.result assert task is not None + task_creation_found = False + async for message in poll_messages( + client=client, + task_id=task.id, + timeout=30, + sleep_interval=1.0, + ): + assert isinstance(message, TaskMessage) + if message.content and message.content.type == "text" and message.content.author == "agent": + assert "Hello! I've received your task" in message.content.content + task_creation_found = True + break + + assert task_creation_found, "Task creation message not found in poll" + user_message = "Hello, this is a test message!" # Collect events from stream - all_events = [] + all_events: list[dict[str, Any]] = [] # Flags to track what we've received - task_creation_found = False user_echo_found = False agent_response_found = False - + stream_timeout = 30 async def collect_stream_events(): #noqa: ANN101 - nonlocal task_creation_found, user_echo_found, agent_response_found + nonlocal user_echo_found, agent_response_found async for event in stream_agent_response( client=client, task_id=task.id, - timeout=30, + timeout=stream_timeout, ): # Check events as they arrive event_type = event.get("type") @@ -135,11 +152,8 @@ async def collect_stream_events(): #noqa: ANN101 if content.get("content") is None: continue # Skip empty content if content.get("type") == "text" and content.get("author") == "agent": - # Check for initial task creation message - if "Hello! I've received your task" in content.get("content", ""): - task_creation_found = True # Check for agent response to user message - elif "Hello! I've received your message" in content.get("content", ""): + if "Hello! I've received your message" in content.get("content", ""): # Agent response should come after user echo assert user_echo_found, "Agent response arrived before user message echo (incorrect order)" agent_response_found = True @@ -149,14 +163,8 @@ async def collect_stream_events(): #noqa: ANN101 user_echo_found = True # Exit early if we've found all expected messages - if task_creation_found and user_echo_found and agent_response_found: + if user_echo_found and agent_response_found: break - - assert task_creation_found, "Task creation message not found in stream" - assert user_echo_found, "User message echo not found in stream" - assert agent_response_found, "Agent response not found in stream" - - # Start streaming task stream_task = asyncio.create_task(collect_stream_events()) @@ -164,6 +172,16 @@ async def collect_stream_events(): #noqa: ANN101 event_content = TextContentParam(type="text", author="user", content=user_message) await client.agents.send_event(agent_id=agent_id, params={"task_id": task.id, "content": event_content}) + # Wait for the stream to complete (with timeout) + try: + await asyncio.wait_for(stream_task, timeout=stream_timeout) + except asyncio.TimeoutError: + pytest.fail(f"Stream timed out after {stream_timeout}s waiting for expected messages") + + # Verify all expected messages were received (fail if stream ended without finding them) + + assert user_echo_found, "User message echo not found in stream" + assert agent_response_found, "Agent response not found in stream" # Wait for streaming to complete await stream_task 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 ed2ec85be..3e3ac5b27 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 @@ -234,7 +234,7 @@ async def on_task_event_send(self, params: SendEventParams) -> None: "to provide accurate and well-reasoned responses." ), parent_span_id=span.id if span else None, - model="gpt-4o-mini", + model="gpt-5", model_settings=ModelSettings( # Include reasoning items in the response (IDs, summaries) # response_include=["reasoning.encrypted_content"], From e1cc8ae4431fce68757012430a253e1764dba792 Mon Sep 17 00:00:00 2001 From: Roxanne Farhad Date: Mon, 8 Dec 2025 16:38:56 -0500 Subject: [PATCH 11/13] more fixs --- .../tutorials/00_sync/000_hello_acp/Dockerfile | 6 +++--- .../tutorials/00_sync/000_hello_acp/pyproject.toml | 7 ++++--- .../tutorials/00_sync/010_multiturn/Dockerfile | 6 +++--- .../tutorials/00_sync/010_multiturn/pyproject.toml | 4 +++- .../tutorials/00_sync/020_streaming/Dockerfile | 6 +++--- .../tutorials/00_sync/020_streaming/pyproject.toml | 4 +++- examples/tutorials/test_utils/async_utils.py | 14 +++++++++++++- 7 files changed, 32 insertions(+), 15 deletions(-) diff --git a/examples/tutorials/00_sync/000_hello_acp/Dockerfile b/examples/tutorials/00_sync/000_hello_acp/Dockerfile index 468f6984f..b91d13397 100644 --- a/examples/tutorials/00_sync/000_hello_acp/Dockerfile +++ b/examples/tutorials/00_sync/000_hello_acp/Dockerfile @@ -38,14 +38,14 @@ COPY 00_sync/000_hello_acp/tests /app/000_hello_acp/tests # Copy shared test utilities COPY test_utils /app/test_utils -# Install the required Python packages with dev dependencies (includes pytest) -RUN uv pip install --system .[dev] pytest-asyncio httpx +# Install the required Python packages with dev dependencies +RUN uv pip install --system .[dev] # Set environment variables ENV PYTHONPATH=/app # Set test environment variables -ENV AGENT_NAME=s000-hello-acp +ENV AGENT_NAME=000-hello-acp # Run the agent using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/00_sync/000_hello_acp/pyproject.toml b/examples/tutorials/00_sync/000_hello_acp/pyproject.toml index 0030004d9..71110739a 100644 --- a/examples/tutorials/00_sync/000_hello_acp/pyproject.toml +++ b/examples/tutorials/00_sync/000_hello_acp/pyproject.toml @@ -3,7 +3,7 @@ requires = ["hatchling"] build-backend = "hatchling.build" [project] -name = "s000-hello-acp" +name = "000-hello-acp" version = "0.1.0" description = "An AgentEx agent that just says hello and acknowledges the user's message" readme = "README.md" @@ -11,13 +11,14 @@ requires-python = ">=3.12" dependencies = [ "agentex-sdk", "scale-gp", - "pytest", - "pytest-xdist" ] [project.optional-dependencies] dev = [ "pytest", + "pytest-asyncio", + "pytest-xdist", + "httpx", "black", "isort", "flake8", diff --git a/examples/tutorials/00_sync/010_multiturn/Dockerfile b/examples/tutorials/00_sync/010_multiturn/Dockerfile index 47bc81173..71ccbaf53 100644 --- a/examples/tutorials/00_sync/010_multiturn/Dockerfile +++ b/examples/tutorials/00_sync/010_multiturn/Dockerfile @@ -37,15 +37,15 @@ COPY 00_sync/010_multiturn/tests /app/010_multiturn/tests # Copy shared test utilities COPY test_utils /app/test_utils -# Install the required Python packages with dev dependencies (includes pytest) -RUN uv pip install --system .[dev] pytest-asyncio httpx +# Install the required Python packages with dev dependencies +RUN uv pip install --system .[dev] WORKDIR /app/010_multiturn # Set environment variables ENV PYTHONPATH=/app # Set test environment variables -ENV AGENT_NAME=s010-multiturn +ENV AGENT_NAME=010-multiturn # Run the agent using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/00_sync/010_multiturn/pyproject.toml b/examples/tutorials/00_sync/010_multiturn/pyproject.toml index e21513a85..b1d299a18 100644 --- a/examples/tutorials/00_sync/010_multiturn/pyproject.toml +++ b/examples/tutorials/00_sync/010_multiturn/pyproject.toml @@ -3,7 +3,7 @@ requires = ["hatchling"] build-backend = "hatchling.build" [project] -name = "s010-multiturn" +name = "010-multiturn" version = "0.1.0" description = "An AgentEx agent" readme = "README.md" @@ -16,6 +16,8 @@ dependencies = [ [project.optional-dependencies] dev = [ "pytest", + "pytest-asyncio", + "httpx", "black", "isort", "flake8", diff --git a/examples/tutorials/00_sync/020_streaming/Dockerfile b/examples/tutorials/00_sync/020_streaming/Dockerfile index 0aa1764af..00137d7f9 100644 --- a/examples/tutorials/00_sync/020_streaming/Dockerfile +++ b/examples/tutorials/00_sync/020_streaming/Dockerfile @@ -37,14 +37,14 @@ COPY 00_sync/020_streaming/tests /app/020_streaming/tests # Copy shared test utilities COPY test_utils /app/test_utils -# Install the required Python packages with dev dependencies (includes pytest) -RUN uv pip install --system .[dev] pytest-asyncio httpx +# Install the required Python packages with dev dependencies +RUN uv pip install --system .[dev] # Set environment variables ENV PYTHONPATH=/app # Set test environment variables -ENV AGENT_NAME=s020-streaming +ENV AGENT_NAME=020-streaming # Run the agent using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file diff --git a/examples/tutorials/00_sync/020_streaming/pyproject.toml b/examples/tutorials/00_sync/020_streaming/pyproject.toml index 6e95138e9..5ee3dc184 100644 --- a/examples/tutorials/00_sync/020_streaming/pyproject.toml +++ b/examples/tutorials/00_sync/020_streaming/pyproject.toml @@ -3,7 +3,7 @@ requires = ["hatchling"] build-backend = "hatchling.build" [project] -name = "s020-streaming" +name = "020-streaming" version = "0.1.0" description = "An AgentEx agent that does multiturn streaming chat" readme = "README.md" @@ -16,6 +16,8 @@ dependencies = [ [project.optional-dependencies] dev = [ "pytest", + "pytest-asyncio", + "httpx", "black", "isort", "flake8", diff --git a/examples/tutorials/test_utils/async_utils.py b/examples/tutorials/test_utils/async_utils.py index 5e9f68277..cc0453419 100644 --- a/examples/tutorials/test_utils/async_utils.py +++ b/examples/tutorials/test_utils/async_utils.py @@ -126,7 +126,19 @@ async def poll_messages( if yield_updates: # For streaming: track content changes content_str = message.content.content if message.content and hasattr(message.content, 'content') else "" - content_hash = hash(content_str + str(message.streaming_status)) + # Ensure content_str is always a string to avoid concatenation errors + if isinstance(content_str, list): + # If it's a list, convert to string representation + content_str = str(content_str) + elif content_str is None: + content_str = "" + elif not isinstance(content_str, str): + # Handle any other non-string types + content_str = str(content_str) + + # Ensure streaming_status is also properly converted to string + streaming_status_str = str(message.streaming_status) if message.streaming_status is not None else "" + content_hash = hash(content_str + streaming_status_str) is_updated = message.id in message_content_hashes and message_content_hashes[message.id] != content_hash if is_new_message or is_updated: From de0a52983dd7dde55217d8ecc2df54aa3a05c48b Mon Sep 17 00:00:00 2001 From: Roxanne Farhad Date: Mon, 8 Dec 2025 17:37:17 -0500 Subject: [PATCH 12/13] adding the new image --- .../010_agent_chat/tests/test_agent.py | 33 +++++++++++++++---- examples/tutorials/test_utils/async_utils.py | 14 +++----- 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/examples/tutorials/10_async/10_temporal/010_agent_chat/tests/test_agent.py b/examples/tutorials/10_async/10_temporal/010_agent_chat/tests/test_agent.py index 2710b9097..6eb03f728 100644 --- a/examples/tutorials/10_async/10_temporal/010_agent_chat/tests/test_agent.py +++ b/examples/tutorials/10_async/10_temporal/010_agent_chat/tests/test_agent.py @@ -156,7 +156,7 @@ async def test_multi_turn_conversation(self, client: AsyncAgentex, agent_id: str agent_id=agent_id, task_id=task.id, user_message=user_message_1, - timeout=20, + timeout=30, sleep_interval=1.0, ): assert isinstance(message, TaskMessage) @@ -215,13 +215,14 @@ async def test_send_event_and_stream_with_reasoning(self, client: AsyncAgentex, # Check for user message and agent response user_message_found = False agent_response_found = False + reasoning_found = False async def stream_messages() -> None: # noqa: ANN101 - nonlocal user_message_found, agent_response_found + nonlocal user_message_found, agent_response_found, reasoning_found async for event in stream_agent_response( client=client, task_id=task.id, - timeout=60, + timeout=90, # Increased timeout for CI environments ): msg_type = event.get("type") if msg_type == "full": @@ -241,22 +242,40 @@ async def stream_messages() -> None: # noqa: ANN101 ): agent_response_found = True elif finished_message.content and finished_message.content.type == "reasoning": - tool_response_found = True + reasoning_found = True + + # Exit early if we have what we need + if user_message_found and agent_response_found: + break + elif msg_type == "done": task_message_update = StreamTaskMessageDone.model_validate(event) if task_message_update.parent_task_message and task_message_update.parent_task_message.id: finished_message = await client.messages.retrieve(task_message_update.parent_task_message.id) if finished_message.content and finished_message.content.type == "reasoning": + reasoning_found = True + elif ( + finished_message.content + and finished_message.content.type == "text" + and finished_message.content.author == "agent" + ): agent_response_found = True - continue + + # Exit early if we have what we need + if user_message_found and agent_response_found: + break stream_task = asyncio.create_task(stream_messages()) event_content = TextContentParam(type="text", author="user", content=user_message) await client.agents.send_event(agent_id=agent_id, params={"task_id": task.id, "content": event_content}) - # Wait for streaming to complete - await stream_task + # Wait for streaming to complete with timeout + try: + await asyncio.wait_for(stream_task, timeout=120) # Overall timeout for CI + except asyncio.TimeoutError: + stream_task.cancel() + pytest.fail("Test timed out waiting for streaming response") assert user_message_found, "User message not found in stream" assert agent_response_found, "Agent response not found in stream" diff --git a/examples/tutorials/test_utils/async_utils.py b/examples/tutorials/test_utils/async_utils.py index cc0453419..effe87789 100644 --- a/examples/tutorials/test_utils/async_utils.py +++ b/examples/tutorials/test_utils/async_utils.py @@ -125,16 +125,10 @@ async def poll_messages( if yield_updates: # For streaming: track content changes - content_str = message.content.content if message.content and hasattr(message.content, 'content') else "" - # Ensure content_str is always a string to avoid concatenation errors - if isinstance(content_str, list): - # If it's a list, convert to string representation - content_str = str(content_str) - elif content_str is None: - content_str = "" - elif not isinstance(content_str, str): - # Handle any other non-string types - content_str = str(content_str) + # Use getattr to safely extract content and convert to string + # This handles various content structures at runtime + raw_content = getattr(message.content, 'content', message.content) if message.content else None + content_str = str(raw_content) if raw_content is not None else "" # Ensure streaming_status is also properly converted to string streaming_status_str = str(message.streaming_status) if message.streaming_status is not None else "" From 7aaffde7f84dbb8551bf25ac22bd4a7697b6fa4f Mon Sep 17 00:00:00 2001 From: Roxanne Farhad Date: Tue, 9 Dec 2025 16:00:46 -0500 Subject: [PATCH 13/13] stas comments --- .../00_base/000_hello_acp/tests/test_agent.py | 2 -- .../090_multi_agent_non_temporal/Dockerfile | 9 +++++--- .../tests/test_agent.py | 4 ++-- .../Dockerfile | 6 +++--- .../070_open_ai_agents_sdk_tools/Dockerfile | 6 +++--- .../Dockerfile | 6 +++--- .../090_claude_agents_sdk_mvp/Dockerfile | 9 +++++--- .../tests/test_agent.py | 21 ++++++++++--------- 8 files changed, 34 insertions(+), 29 deletions(-) diff --git a/examples/tutorials/10_async/00_base/000_hello_acp/tests/test_agent.py b/examples/tutorials/10_async/00_base/000_hello_acp/tests/test_agent.py index 0065149ce..ba3444109 100644 --- a/examples/tutorials/10_async/00_base/000_hello_acp/tests/test_agent.py +++ b/examples/tutorials/10_async/00_base/000_hello_acp/tests/test_agent.py @@ -159,7 +159,6 @@ async def collect_stream_events() -> None: agent_response_found = True elif content.get("type") == "text" and content.get("author") == "user": # Check for user message echo - print("here") if content.get("content") == user_message: user_echo_found = True @@ -174,7 +173,6 @@ async def collect_stream_events() -> None: event_content = TextContentParam(type="text", author="user", content=user_message) await client.agents.send_event(agent_id=agent_id, params={"task_id": task.id, "content": event_content}) - # Wait for the stream to complete (with timeout) try: await asyncio.wait_for(stream_task, timeout=stream_timeout) diff --git a/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/Dockerfile b/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/Dockerfile index aca5dc227..24ecf4484 100644 --- a/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/Dockerfile +++ b/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/Dockerfile @@ -38,8 +38,8 @@ COPY 10_async/00_base/090_multi_agent_non_temporal/tests /app/090_multi_agent_no # Copy shared test utilities COPY test_utils /app/test_utils -# Install the required Python packages with dev dependencies (includes pytest) -RUN uv pip install --system .[dev] pytest-asyncio httpx +# Install the required Python packages with dev dependencies +RUN uv pip install --system .[dev] # Set environment variables ENV PYTHONPATH=/app @@ -47,7 +47,10 @@ ENV PYTHONPATH=/app ARG AGENT_FILE ARG PORT -# Note: AGENT_NAME should be set at runtime based on which agent is running +# Set test environment variables +ENV AGENT_NAME=ab090-multi-agent-non-temporal + +# Note: AGENT_NAME can be overridden at runtime based on which agent is running # (ab090-creator-agent, ab090-critic-agent, ab090-formatter-agent, or ab090-orchestrator-agent) # Run the agent using uvicorn diff --git a/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/tests/test_agent.py b/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/tests/test_agent.py index c9624ff41..d4c1dd7dd 100644 --- a/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/tests/test_agent.py +++ b/examples/tutorials/10_async/00_base/090_multi_agent_non_temporal/tests/test_agent.py @@ -18,8 +18,8 @@ import os import uuid -import pytest -import pytest_asyncio +# import pytest +# import pytest_asyncio from test_utils.async_utils import ( stream_agent_response, send_event_and_poll_yielding, diff --git a/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile b/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile index 01de23af4..d38075e55 100644 --- a/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile +++ b/examples/tutorials/10_async/10_temporal/060_open_ai_agents_sdk_hello_world/Dockerfile @@ -45,15 +45,15 @@ COPY 10_async/10_temporal/060_open_ai_agents_sdk_hello_world/tests /app/060_open # Copy shared test utilities COPY test_utils /app/test_utils -# Install the required Python packages with dev dependencies (includes pytest) -RUN uv pip install --system .[dev] pytest-asyncio httpx +# Install the required Python packages with dev dependencies +RUN uv pip install --system .[dev] WORKDIR /app/060_open_ai_agents_sdk_hello_world ENV PYTHONPATH=/app # Set test environment variables -ENV AGENT_NAME=example-tutorial +ENV AGENT_NAME=at060-open-ai-agents-sdk-hello-world # Run the ACP server using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile b/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile index e161dfc4f..d4b343603 100644 --- a/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile +++ b/examples/tutorials/10_async/10_temporal/070_open_ai_agents_sdk_tools/Dockerfile @@ -45,8 +45,8 @@ COPY 10_async/10_temporal/070_open_ai_agents_sdk_tools/tests /app/070_open_ai_ag # Copy shared test utilities COPY test_utils /app/test_utils -# Install the required Python packages with dev dependencies (includes pytest) -RUN uv pip install --system .[dev] pytest-asyncio httpx +# Install the required Python packages with dev dependencies +RUN uv pip install --system .[dev] WORKDIR /app/070_open_ai_agents_sdk_tools @@ -54,7 +54,7 @@ WORKDIR /app/070_open_ai_agents_sdk_tools ENV PYTHONPATH=/app # Set test environment variables -ENV AGENT_NAME=example-tutorial +ENV AGENT_NAME=at070-open-ai-agents-sdk-tools # Run the ACP server using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile b/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile index 3f9812fdd..cc4c06bf6 100644 --- a/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile +++ b/examples/tutorials/10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/Dockerfile @@ -45,15 +45,15 @@ COPY 10_async/10_temporal/080_open_ai_agents_sdk_human_in_the_loop/tests /app/08 # Copy shared test utilities COPY test_utils /app/test_utils -# Install the required Python packages with dev dependencies (includes pytest) -RUN uv pip install --system .[dev] pytest-asyncio httpx +# Install the required Python packages with dev dependencies +RUN uv pip install --system .[dev] WORKDIR /app/080_open_ai_agents_sdk_human_in_the_loop ENV PYTHONPATH=/app # Set test environment variables -ENV AGENT_NAME=example-tutorial +ENV AGENT_NAME=at080-open-ai-agents-sdk-human-in-the-loop # Run the ACP server using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/Dockerfile b/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/Dockerfile index 0bd6da5bd..5428e814a 100644 --- a/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/Dockerfile +++ b/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/Dockerfile @@ -45,13 +45,16 @@ COPY 10_async/10_temporal/090_claude_agents_sdk_mvp/tests /app/090_claude_agents # Copy shared test utilities COPY test_utils /app/test_utils -# Install the required Python packages with dev dependencies (includes pytest) -RUN uv pip install --system .[dev] pytest-asyncio httpx +# Install the required Python packages with dev dependencies +RUN uv pip install --system .[dev] WORKDIR /app/090_claude_agents_sdk_mvp - +# Set environment variables ENV PYTHONPATH=/app + +# Set test environment variables +ENV AGENT_NAME=at090-claude-agents-sdk-mvp # Run the ACP server using uvicorn CMD ["uvicorn", "project.acp:acp", "--host", "0.0.0.0", "--port", "8000"] diff --git a/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/tests/test_agent.py b/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/tests/test_agent.py index a3e54bdc8..aae1cb916 100644 --- a/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/tests/test_agent.py +++ b/examples/tutorials/10_async/10_temporal/090_claude_agents_sdk_mvp/tests/test_agent.py @@ -1,19 +1,20 @@ import os -import uuid -import asyncio +# import uuid +# import asyncio import pytest import pytest_asyncio -from test_utils.async_utils import ( - poll_messages, - stream_agent_response, - send_event_and_poll_yielding, -) +# from test_utils.async_utils import ( +# poll_messages, +# stream_agent_response, +# send_event_and_poll_yielding, +# ) from agentex import AsyncAgentex -from agentex.types import TaskMessage -from agentex.types.agent_rpc_params import ParamsCreateTaskRequest -from agentex.types.text_content_param import TextContentParam + +# from agentex.types import TaskMessage +# from agentex.types.agent_rpc_params import ParamsCreateTaskRequest +# from agentex.types.text_content_param import TextContentParam # Configuration from environment variables AGENTEX_API_BASE_URL = os.environ.get("AGENTEX_API_BASE_URL", "http://localhost:5003")