From 73e81ee4620d44413c4c88b270777b19370f4001 Mon Sep 17 00:00:00 2001 From: Tao Chen Date: Wed, 29 Jul 2026 11:39:01 -0700 Subject: [PATCH] Remove indices in FHA sample names --- .../foundry-hosted-agents/README.md | 30 +++++++++--------- .../{01_basic => basic}/.dockerignore | 0 .../{01_basic => basic}/.env.example | 0 .../{01_basic => basic}/Dockerfile | 0 .../invocations/{01_basic => basic}/README.md | 0 .../{01_basic => basic}/agent.manifest.yaml | 0 .../{01_basic => basic}/agent.yaml | 0 .../invocations/{01_basic => basic}/main.py | 0 .../{01_basic => basic}/requirements.txt | 0 .../.dockerignore | 0 .../.env.example | 0 .../Dockerfile | 0 .../{02_break_glass => break_glass}/README.md | 0 .../agent.manifest.yaml | 0 .../agent.yaml | 0 .../{02_break_glass => break_glass}/main.py | 0 .../requirements.txt | 0 .../.dockerignore | 0 .../.env.example | 0 .../Dockerfile | 0 .../README.md | 0 .../agent.manifest.yaml | 0 .../agent.yaml | 0 .../main.py | 0 .../provision_index.py | 0 .../requirements.txt | 0 .../{01_basic => basic}/.dockerignore | 0 .../{01_basic => basic}/.env.example | 0 .../responses/{01_basic => basic}/Dockerfile | 0 .../responses/{01_basic => basic}/README.md | 0 .../{01_basic => basic}/agent.manifest.yaml | 0 .../responses/{01_basic => basic}/agent.yaml | 0 .../responses/{01_basic => basic}/main.py | 0 .../{01_basic => basic}/requirements.txt | 0 .../.dockerignore | 0 .../.env.example | 0 .../Dockerfile | 0 .../README.md | 0 .../agent.manifest.yaml | 0 .../agent.yaml | 0 .../main.py | 0 .../requirements.txt | 0 .../workflow.yaml | 0 .../{06_files => files}/.dockerignore | 0 .../.env.example | 0 .../responses/{02_tools => files}/Dockerfile | 0 .../responses/{06_files => files}/README.md | 2 +- .../{06_files => files}/agent.manifest.yaml | 0 .../responses/{06_files => files}/agent.yaml | 0 .../responses/{06_files => files}/main.py | 0 .../{02_tools => files}/requirements.txt | 0 .../resources/contoso_q1_2026_report.txt | 0 .../resources/file-upload-portal.png | Bin .../resources/session-started.png | Bin .../resources/start-a-session.png | Bin .../.dockerignore | 0 .../.env.example | 0 .../Dockerfile | 0 .../README.md | 0 .../agent.manifest.yaml | 0 .../agent.yaml | 0 .../main.py | 0 .../provision_memory_store.py | 0 .../requirements.txt | 0 .../.dockerignore | 0 .../.env.example | 0 .../.gitignore | 0 .../Dockerfile | 0 .../README.md | 0 .../agent.manifest.yaml | 0 .../agent.yaml | 0 .../main.py | 0 .../provision_skills.py | 0 .../requirements.txt | 0 .../skills/escalation-policy/SKILL.md | 0 .../skills/support-style/SKILL.md | 0 .../.azdignore | 0 .../.dockerignore | 0 .../.env.example | 0 .../Dockerfile | 0 .../README.md | 6 ++-- .../agent.manifest.yaml | 0 .../agent.yaml | 0 .../main.py | 0 .../requirements.txt | 0 .../scripts/list-foundry-connectors.ps1 | 0 .../scripts/list-foundry-connectors.sh | 0 .../toolbox.yaml | 0 .../.azdignore | 0 .../.dockerignore | 0 .../.env.example | 0 .../Dockerfile | 0 .../README.md | 6 ++-- .../agent.manifest.yaml | 0 .../agent.yaml | 0 .../main.py | 0 .../requirements.txt | 0 .../skills/escalation-policy/SKILL.md | 0 .../skills/support-style/SKILL.md | 0 .../toolbox.yaml | 0 .../responses/{03_mcp => mcp}/.dockerignore | 0 .../responses/{03_mcp => mcp}/.env.example | 0 .../responses/{03_mcp => mcp}/Dockerfile | 0 .../responses/{03_mcp => mcp}/README.md | 0 .../{03_mcp => mcp}/agent.manifest.yaml | 0 .../responses/{03_mcp => mcp}/agent.yaml | 0 .../responses/{03_mcp => mcp}/main.py | 0 .../requirements.txt | 0 .../Dockerfile | 0 .../README.md | 0 .../agent.manifest.yaml | 0 .../agent.yaml | 0 .../main.py | 0 .../pyproject.toml | 0 .../.dockerignore | 0 .../.env.example | 0 .../Dockerfile | 0 .../README.md | 0 .../agent.manifest.yaml | 0 .../agent.yaml | 0 .../main.py | 0 .../requirements.txt | 0 .../{05_workflows => tools}/.dockerignore | 0 .../{02_tools => tools}/.env.example | 0 .../responses/{06_files => tools}/Dockerfile | 0 .../responses/{02_tools => tools}/README.md | 0 .../{02_tools => tools}/agent.manifest.yaml | 0 .../responses/{02_tools => tools}/agent.yaml | 0 .../responses/{02_tools => tools}/main.py | 0 .../{06_files => tools}/requirements.txt | 0 .../.dockerignore | 0 .../{05_workflows => workflows}/.env.example | 0 .../Dockerfile | 0 .../{05_workflows => workflows}/README.md | 0 .../agent.manifest.yaml | 0 .../{05_workflows => workflows}/agent.yaml | 0 .../{05_workflows => workflows}/main.py | 0 .../requirements.txt | 0 138 files changed, 22 insertions(+), 22 deletions(-) rename python/samples/04-hosting/foundry-hosted-agents/invocations/{01_basic => basic}/.dockerignore (100%) rename python/samples/04-hosting/foundry-hosted-agents/invocations/{01_basic => basic}/.env.example (100%) rename python/samples/04-hosting/foundry-hosted-agents/invocations/{01_basic => basic}/Dockerfile (100%) rename python/samples/04-hosting/foundry-hosted-agents/invocations/{01_basic => basic}/README.md (100%) rename python/samples/04-hosting/foundry-hosted-agents/invocations/{01_basic => basic}/agent.manifest.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/invocations/{01_basic => basic}/agent.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/invocations/{01_basic => basic}/main.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/invocations/{01_basic => basic}/requirements.txt (100%) rename python/samples/04-hosting/foundry-hosted-agents/invocations/{02_break_glass => break_glass}/.dockerignore (100%) rename python/samples/04-hosting/foundry-hosted-agents/invocations/{02_break_glass => break_glass}/.env.example (100%) rename python/samples/04-hosting/foundry-hosted-agents/invocations/{02_break_glass => break_glass}/Dockerfile (100%) rename python/samples/04-hosting/foundry-hosted-agents/invocations/{02_break_glass => break_glass}/README.md (100%) rename python/samples/04-hosting/foundry-hosted-agents/invocations/{02_break_glass => break_glass}/agent.manifest.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/invocations/{02_break_glass => break_glass}/agent.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/invocations/{02_break_glass => break_glass}/main.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/invocations/{02_break_glass => break_glass}/requirements.txt (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{08_azure_search_rag => azure_search_rag}/.dockerignore (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{08_azure_search_rag => azure_search_rag}/.env.example (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{08_azure_search_rag => azure_search_rag}/Dockerfile (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{08_azure_search_rag => azure_search_rag}/README.md (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{08_azure_search_rag => azure_search_rag}/agent.manifest.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{08_azure_search_rag => azure_search_rag}/agent.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{08_azure_search_rag => azure_search_rag}/main.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{08_azure_search_rag => azure_search_rag}/provision_index.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{08_azure_search_rag => azure_search_rag}/requirements.txt (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{01_basic => basic}/.dockerignore (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{01_basic => basic}/.env.example (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{01_basic => basic}/Dockerfile (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{01_basic => basic}/README.md (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{01_basic => basic}/agent.manifest.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{01_basic => basic}/agent.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{01_basic => basic}/main.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{01_basic => basic}/requirements.txt (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{13_declarative_customer_support => declarative_customer_support}/.dockerignore (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{13_declarative_customer_support => declarative_customer_support}/.env.example (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{13_declarative_customer_support => declarative_customer_support}/Dockerfile (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{13_declarative_customer_support => declarative_customer_support}/README.md (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{13_declarative_customer_support => declarative_customer_support}/agent.manifest.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{13_declarative_customer_support => declarative_customer_support}/agent.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{13_declarative_customer_support => declarative_customer_support}/main.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{13_declarative_customer_support => declarative_customer_support}/requirements.txt (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{13_declarative_customer_support => declarative_customer_support}/workflow.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{06_files => files}/.dockerignore (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{04_foundry_toolbox => files}/.env.example (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{02_tools => files}/Dockerfile (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{06_files => files}/README.md (99%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{06_files => files}/agent.manifest.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{06_files => files}/agent.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{06_files => files}/main.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{02_tools => files}/requirements.txt (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{06_files => files}/resources/contoso_q1_2026_report.txt (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{06_files => files}/resources/file-upload-portal.png (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{06_files => files}/resources/session-started.png (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{06_files => files}/resources/start-a-session.png (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{10_foundry_memory => foundry_memory}/.dockerignore (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{10_foundry_memory => foundry_memory}/.env.example (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{09_foundry_skills => foundry_memory}/Dockerfile (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{10_foundry_memory => foundry_memory}/README.md (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{10_foundry_memory => foundry_memory}/agent.manifest.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{10_foundry_memory => foundry_memory}/agent.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{10_foundry_memory => foundry_memory}/main.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{10_foundry_memory => foundry_memory}/provision_memory_store.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{09_foundry_skills => foundry_memory}/requirements.txt (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{09_foundry_skills => foundry_skills}/.dockerignore (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{09_foundry_skills => foundry_skills}/.env.example (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{09_foundry_skills => foundry_skills}/.gitignore (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{10_foundry_memory => foundry_skills}/Dockerfile (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{09_foundry_skills => foundry_skills}/README.md (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{09_foundry_skills => foundry_skills}/agent.manifest.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{09_foundry_skills => foundry_skills}/agent.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{09_foundry_skills => foundry_skills}/main.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{09_foundry_skills => foundry_skills}/provision_skills.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{10_foundry_memory => foundry_skills}/requirements.txt (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{09_foundry_skills => foundry_skills}/skills/escalation-policy/SKILL.md (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{09_foundry_skills => foundry_skills}/skills/support-style/SKILL.md (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{04_foundry_toolbox => foundry_toolbox}/.azdignore (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{02_tools => foundry_toolbox}/.dockerignore (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{06_files => foundry_toolbox}/.env.example (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{04_foundry_toolbox => foundry_toolbox}/Dockerfile (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{04_foundry_toolbox => foundry_toolbox}/README.md (98%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{04_foundry_toolbox => foundry_toolbox}/agent.manifest.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{04_foundry_toolbox => foundry_toolbox}/agent.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{04_foundry_toolbox => foundry_toolbox}/main.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{03_mcp => foundry_toolbox}/requirements.txt (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{04_foundry_toolbox => foundry_toolbox}/scripts/list-foundry-connectors.ps1 (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{04_foundry_toolbox => foundry_toolbox}/scripts/list-foundry-connectors.sh (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{04_foundry_toolbox => foundry_toolbox}/toolbox.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{12_foundry_toolbox_mcp_skills => foundry_toolbox_mcp_skills}/.azdignore (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{12_foundry_toolbox_mcp_skills => foundry_toolbox_mcp_skills}/.dockerignore (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{12_foundry_toolbox_mcp_skills => foundry_toolbox_mcp_skills}/.env.example (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{12_foundry_toolbox_mcp_skills => foundry_toolbox_mcp_skills}/Dockerfile (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{12_foundry_toolbox_mcp_skills => foundry_toolbox_mcp_skills}/README.md (96%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{12_foundry_toolbox_mcp_skills => foundry_toolbox_mcp_skills}/agent.manifest.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{12_foundry_toolbox_mcp_skills => foundry_toolbox_mcp_skills}/agent.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{12_foundry_toolbox_mcp_skills => foundry_toolbox_mcp_skills}/main.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{12_foundry_toolbox_mcp_skills => foundry_toolbox_mcp_skills}/requirements.txt (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{12_foundry_toolbox_mcp_skills => foundry_toolbox_mcp_skills}/skills/escalation-policy/SKILL.md (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{12_foundry_toolbox_mcp_skills => foundry_toolbox_mcp_skills}/skills/support-style/SKILL.md (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{12_foundry_toolbox_mcp_skills => foundry_toolbox_mcp_skills}/toolbox.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{03_mcp => mcp}/.dockerignore (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{03_mcp => mcp}/.env.example (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{03_mcp => mcp}/Dockerfile (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{03_mcp => mcp}/README.md (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{03_mcp => mcp}/agent.manifest.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{03_mcp => mcp}/agent.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{03_mcp => mcp}/main.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{04_foundry_toolbox => mcp}/requirements.txt (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{11_monty_codeact => monty_codeact}/Dockerfile (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{11_monty_codeact => monty_codeact}/README.md (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{11_monty_codeact => monty_codeact}/agent.manifest.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{11_monty_codeact => monty_codeact}/agent.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{11_monty_codeact => monty_codeact}/main.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{11_monty_codeact => monty_codeact}/pyproject.toml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{04_foundry_toolbox => observability}/.dockerignore (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{07_observability => observability}/.env.example (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{05_workflows => observability}/Dockerfile (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{07_observability => observability}/README.md (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{07_observability => observability}/agent.manifest.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{07_observability => observability}/agent.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{07_observability => observability}/main.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{05_workflows => observability}/requirements.txt (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{05_workflows => tools}/.dockerignore (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{02_tools => tools}/.env.example (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{06_files => tools}/Dockerfile (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{02_tools => tools}/README.md (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{02_tools => tools}/agent.manifest.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{02_tools => tools}/agent.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{02_tools => tools}/main.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{06_files => tools}/requirements.txt (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{07_observability => workflows}/.dockerignore (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{05_workflows => workflows}/.env.example (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{07_observability => workflows}/Dockerfile (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{05_workflows => workflows}/README.md (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{05_workflows => workflows}/agent.manifest.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{05_workflows => workflows}/agent.yaml (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{05_workflows => workflows}/main.py (100%) rename python/samples/04-hosting/foundry-hosted-agents/responses/{07_observability => workflows}/requirements.txt (100%) diff --git a/python/samples/04-hosting/foundry-hosted-agents/README.md b/python/samples/04-hosting/foundry-hosted-agents/README.md index bdc4f52345..3efbbbb22a 100644 --- a/python/samples/04-hosting/foundry-hosted-agents/README.md +++ b/python/samples/04-hosting/foundry-hosted-agents/README.md @@ -11,26 +11,26 @@ This directory contains samples that demonstrate how to use hosted [Agent Framew | # | Sample | Description | |---|--------|-------------| -| 1 | [Basic](responses/01_basic/) | A minimal agent demonstrating basic request/response interaction and multi-turn conversations using `previous_response_id`. | -| 2 | [Tools](responses/02_tools/) | An agent with local tools (e.g., weather lookup), demonstrating how to register and invoke custom tool functions alongside the LLM. | -| 3 | [MCP](responses/03_mcp/) | An agent connected to a remote MCP server (GitHub), demonstrating external MCP tool provider integration. | -| 4 | [Foundry Toolbox](responses/04_foundry_toolbox/) | An agent using Azure Foundry Toolbox, demonstrating toolbox provisioning and querying available tools at runtime. | -| 5 | [Workflows](responses/05_workflows/) | An agent with a multi-step orchestrated workflow, demonstrating chaining prompts through an orchestrated flow. | -| 6 | [Files](responses/06_files/) | An agent demonstrating how to work with files in a hosted agent session, including uploading files to a hosted agent session and having the agent read and manipulate those files at runtime. | -| 7 | [Observability](responses/07_observability/) | A sample demonstrating how to enable observability for the agent deployed to Foundry. | -| 8 | [Azure AI Search RAG](responses/08_azure_search_rag/) | An agent with Retrieval Augmented Generation (RAG) capabilities backed by Azure AI Search, grounding answers in documents indexed in a pre-provisioned search index. | -| 9 | [Foundry Skills](responses/09_foundry_skills/) | An agent that uploads `SKILL.md` files to the Foundry Skills REST API and downloads them at startup, decoupling tone/policy guidelines from agent code. | -| 10 | [Foundry Memory](responses/10_foundry_memory/) | An agent with persistent semantic memory backed by a Microsoft Foundry Memory Store, using `FoundryMemoryProvider` to remember user facts across sessions. | -| 11 | [Monty CodeAct](responses/11_monty_codeact/) | An agent with a Monty-backed CodeAct context provider, exposing a single `execute_code` tool that runs Python in a [pydantic-monty](https://github.com/pydantic/monty) interpreter and invokes typed host tools (`compute`, `fetch_data`) from inside the sandbox. Uses the beta `agent-framework-monty` package. | -| 12 | [Foundry Toolbox MCP Skills](responses/12_foundry_toolbox_mcp_skills/) | An agent that discovers MCP-based skills attached to a Foundry Toolbox and serves them via `SkillsProvider(MCPSkillsSource(...))`, fetching `SKILL.md` bodies and supplementary resources on demand. | +| 1 | [Basic](responses/basic/) | A minimal agent demonstrating basic request/response interaction and multi-turn conversations using `previous_response_id`. | +| 2 | [Tools](responses/tools/) | An agent with local tools (e.g., weather lookup), demonstrating how to register and invoke custom tool functions alongside the LLM. | +| 3 | [MCP](responses/mcp/) | An agent connected to a remote MCP server (GitHub), demonstrating external MCP tool provider integration. | +| 4 | [Foundry Toolbox](responses/foundry_toolbox/) | An agent using Azure Foundry Toolbox, demonstrating toolbox provisioning and querying available tools at runtime. | +| 5 | [Workflows](responses/workflows/) | An agent with a multi-step orchestrated workflow, demonstrating chaining prompts through an orchestrated flow. | +| 6 | [Files](responses/files/) | An agent demonstrating how to work with files in a hosted agent session, including uploading files to a hosted agent session and having the agent read and manipulate those files at runtime. | +| 7 | [Observability](responses/observability/) | A sample demonstrating how to enable observability for the agent deployed to Foundry. | +| 8 | [Azure AI Search RAG](responses/azure_search_rag/) | An agent with Retrieval Augmented Generation (RAG) capabilities backed by Azure AI Search, grounding answers in documents indexed in a pre-provisioned search index. | +| 9 | [Foundry Skills](responses/foundry_skills/) | An agent that uploads `SKILL.md` files to the Foundry Skills REST API and downloads them at startup, decoupling tone/policy guidelines from agent code. | +| 10 | [Foundry Memory](responses/foundry_memory/) | An agent with persistent semantic memory backed by a Microsoft Foundry Memory Store, using `FoundryMemoryProvider` to remember user facts across sessions. | +| 11 | [Monty CodeAct](responses/monty_codeact/) | An agent with a Monty-backed CodeAct context provider, exposing a single `execute_code` tool that runs Python in a [pydantic-monty](https://github.com/pydantic/monty) interpreter and invokes typed host tools (`compute`, `fetch_data`) from inside the sandbox. Uses the beta `agent-framework-monty` package. | +| 12 | [Foundry Toolbox MCP Skills](responses/foundry_toolbox_mcp_skills/) | An agent that discovers MCP-based skills attached to a Foundry Toolbox and serves them via `SkillsProvider(MCPSkillsSource(...))`, fetching `SKILL.md` bodies and supplementary resources on demand. | | 13 | [Using deployed agent](responses/using_deployed_agent.py) | A sample demonstrating how to invoke an agent that has already been deployed to Foundry, showing how to interact with a hosted agent in code. | ### Invocations API | # | Sample | Description | |---|--------|-------------| -| 1 | [Basic](invocations/01_basic/) | A minimal agent demonstrating basic request/response using the invocations protocol. | -| 2 | [Break Glass](invocations/02_break_glass/) | An agent demonstrating a "break glass" scenario where customizations of the API behaviors are needed, allowing for more direct control over how requests and responses are handled by the hosting layer. | +| 1 | [Basic](invocations/basic/) | A minimal agent demonstrating basic request/response using the invocations protocol. | +| 2 | [Break Glass](invocations/break_glass/) | An agent demonstrating a "break glass" scenario where customizations of the API behaviors are needed, allowing for more direct control over how requests and responses are handled by the hosting layer. | ## Running the Agent Host Locally @@ -53,7 +53,7 @@ This directory contains samples that demonstrate how to use hosted [Agent Framew mkdir hosted-agent-framework-agent && cd hosted-agent-framework-agent # Initialize from the manifest -azd ai agent init -m https://github.com/microsoft/agent-framework/blob/main/python/samples/04-hosting/foundry-hosted-agents/responses/01_basic/agent.manifest.yaml +azd ai agent init -m https://github.com/microsoft/agent-framework/blob/main/python/samples/04-hosting/foundry-hosted-agents/responses/basic/agent.manifest.yaml ``` Follow the instructions from `azd ai agent init` to complete the agent initialization. If you don't have an existing Foundry project and a model deployment, `azd ai agent init` will guide you through creating them. diff --git a/python/samples/04-hosting/foundry-hosted-agents/invocations/01_basic/.dockerignore b/python/samples/04-hosting/foundry-hosted-agents/invocations/basic/.dockerignore similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/invocations/01_basic/.dockerignore rename to python/samples/04-hosting/foundry-hosted-agents/invocations/basic/.dockerignore diff --git a/python/samples/04-hosting/foundry-hosted-agents/invocations/01_basic/.env.example b/python/samples/04-hosting/foundry-hosted-agents/invocations/basic/.env.example similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/invocations/01_basic/.env.example rename to python/samples/04-hosting/foundry-hosted-agents/invocations/basic/.env.example diff --git a/python/samples/04-hosting/foundry-hosted-agents/invocations/01_basic/Dockerfile b/python/samples/04-hosting/foundry-hosted-agents/invocations/basic/Dockerfile similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/invocations/01_basic/Dockerfile rename to python/samples/04-hosting/foundry-hosted-agents/invocations/basic/Dockerfile diff --git a/python/samples/04-hosting/foundry-hosted-agents/invocations/01_basic/README.md b/python/samples/04-hosting/foundry-hosted-agents/invocations/basic/README.md similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/invocations/01_basic/README.md rename to python/samples/04-hosting/foundry-hosted-agents/invocations/basic/README.md diff --git a/python/samples/04-hosting/foundry-hosted-agents/invocations/01_basic/agent.manifest.yaml b/python/samples/04-hosting/foundry-hosted-agents/invocations/basic/agent.manifest.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/invocations/01_basic/agent.manifest.yaml rename to python/samples/04-hosting/foundry-hosted-agents/invocations/basic/agent.manifest.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/invocations/01_basic/agent.yaml b/python/samples/04-hosting/foundry-hosted-agents/invocations/basic/agent.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/invocations/01_basic/agent.yaml rename to python/samples/04-hosting/foundry-hosted-agents/invocations/basic/agent.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/invocations/01_basic/main.py b/python/samples/04-hosting/foundry-hosted-agents/invocations/basic/main.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/invocations/01_basic/main.py rename to python/samples/04-hosting/foundry-hosted-agents/invocations/basic/main.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/invocations/01_basic/requirements.txt b/python/samples/04-hosting/foundry-hosted-agents/invocations/basic/requirements.txt similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/invocations/01_basic/requirements.txt rename to python/samples/04-hosting/foundry-hosted-agents/invocations/basic/requirements.txt diff --git a/python/samples/04-hosting/foundry-hosted-agents/invocations/02_break_glass/.dockerignore b/python/samples/04-hosting/foundry-hosted-agents/invocations/break_glass/.dockerignore similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/invocations/02_break_glass/.dockerignore rename to python/samples/04-hosting/foundry-hosted-agents/invocations/break_glass/.dockerignore diff --git a/python/samples/04-hosting/foundry-hosted-agents/invocations/02_break_glass/.env.example b/python/samples/04-hosting/foundry-hosted-agents/invocations/break_glass/.env.example similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/invocations/02_break_glass/.env.example rename to python/samples/04-hosting/foundry-hosted-agents/invocations/break_glass/.env.example diff --git a/python/samples/04-hosting/foundry-hosted-agents/invocations/02_break_glass/Dockerfile b/python/samples/04-hosting/foundry-hosted-agents/invocations/break_glass/Dockerfile similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/invocations/02_break_glass/Dockerfile rename to python/samples/04-hosting/foundry-hosted-agents/invocations/break_glass/Dockerfile diff --git a/python/samples/04-hosting/foundry-hosted-agents/invocations/02_break_glass/README.md b/python/samples/04-hosting/foundry-hosted-agents/invocations/break_glass/README.md similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/invocations/02_break_glass/README.md rename to python/samples/04-hosting/foundry-hosted-agents/invocations/break_glass/README.md diff --git a/python/samples/04-hosting/foundry-hosted-agents/invocations/02_break_glass/agent.manifest.yaml b/python/samples/04-hosting/foundry-hosted-agents/invocations/break_glass/agent.manifest.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/invocations/02_break_glass/agent.manifest.yaml rename to python/samples/04-hosting/foundry-hosted-agents/invocations/break_glass/agent.manifest.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/invocations/02_break_glass/agent.yaml b/python/samples/04-hosting/foundry-hosted-agents/invocations/break_glass/agent.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/invocations/02_break_glass/agent.yaml rename to python/samples/04-hosting/foundry-hosted-agents/invocations/break_glass/agent.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/invocations/02_break_glass/main.py b/python/samples/04-hosting/foundry-hosted-agents/invocations/break_glass/main.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/invocations/02_break_glass/main.py rename to python/samples/04-hosting/foundry-hosted-agents/invocations/break_glass/main.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/invocations/02_break_glass/requirements.txt b/python/samples/04-hosting/foundry-hosted-agents/invocations/break_glass/requirements.txt similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/invocations/02_break_glass/requirements.txt rename to python/samples/04-hosting/foundry-hosted-agents/invocations/break_glass/requirements.txt diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/.dockerignore b/python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/.dockerignore similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/.dockerignore rename to python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/.dockerignore diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/.env.example b/python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/.env.example similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/.env.example rename to python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/.env.example diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/Dockerfile b/python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/Dockerfile similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/Dockerfile rename to python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/Dockerfile diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/README.md b/python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/README.md similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/README.md rename to python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/README.md diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/agent.manifest.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/agent.manifest.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/agent.manifest.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/agent.manifest.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/agent.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/agent.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/agent.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/agent.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/main.py b/python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/main.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/main.py rename to python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/main.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/provision_index.py b/python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/provision_index.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/provision_index.py rename to python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/provision_index.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/requirements.txt b/python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/requirements.txt similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/08_azure_search_rag/requirements.txt rename to python/samples/04-hosting/foundry-hosted-agents/responses/azure_search_rag/requirements.txt diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/01_basic/.dockerignore b/python/samples/04-hosting/foundry-hosted-agents/responses/basic/.dockerignore similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/01_basic/.dockerignore rename to python/samples/04-hosting/foundry-hosted-agents/responses/basic/.dockerignore diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/01_basic/.env.example b/python/samples/04-hosting/foundry-hosted-agents/responses/basic/.env.example similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/01_basic/.env.example rename to python/samples/04-hosting/foundry-hosted-agents/responses/basic/.env.example diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/01_basic/Dockerfile b/python/samples/04-hosting/foundry-hosted-agents/responses/basic/Dockerfile similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/01_basic/Dockerfile rename to python/samples/04-hosting/foundry-hosted-agents/responses/basic/Dockerfile diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/01_basic/README.md b/python/samples/04-hosting/foundry-hosted-agents/responses/basic/README.md similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/01_basic/README.md rename to python/samples/04-hosting/foundry-hosted-agents/responses/basic/README.md diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/01_basic/agent.manifest.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/basic/agent.manifest.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/01_basic/agent.manifest.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/basic/agent.manifest.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/01_basic/agent.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/basic/agent.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/01_basic/agent.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/basic/agent.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/01_basic/main.py b/python/samples/04-hosting/foundry-hosted-agents/responses/basic/main.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/01_basic/main.py rename to python/samples/04-hosting/foundry-hosted-agents/responses/basic/main.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/01_basic/requirements.txt b/python/samples/04-hosting/foundry-hosted-agents/responses/basic/requirements.txt similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/01_basic/requirements.txt rename to python/samples/04-hosting/foundry-hosted-agents/responses/basic/requirements.txt diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/.dockerignore b/python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/.dockerignore similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/.dockerignore rename to python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/.dockerignore diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/.env.example b/python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/.env.example similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/.env.example rename to python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/.env.example diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/Dockerfile b/python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/Dockerfile similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/Dockerfile rename to python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/Dockerfile diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/README.md b/python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/README.md similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/README.md rename to python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/README.md diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/agent.manifest.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/agent.manifest.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/agent.manifest.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/agent.manifest.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/agent.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/agent.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/agent.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/agent.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/main.py b/python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/main.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/main.py rename to python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/main.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/requirements.txt b/python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/requirements.txt similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/requirements.txt rename to python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/requirements.txt diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/workflow.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/workflow.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/13_declarative_customer_support/workflow.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/declarative_customer_support/workflow.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/06_files/.dockerignore b/python/samples/04-hosting/foundry-hosted-agents/responses/files/.dockerignore similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/06_files/.dockerignore rename to python/samples/04-hosting/foundry-hosted-agents/responses/files/.dockerignore diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/.env.example b/python/samples/04-hosting/foundry-hosted-agents/responses/files/.env.example similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/.env.example rename to python/samples/04-hosting/foundry-hosted-agents/responses/files/.env.example diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/02_tools/Dockerfile b/python/samples/04-hosting/foundry-hosted-agents/responses/files/Dockerfile similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/02_tools/Dockerfile rename to python/samples/04-hosting/foundry-hosted-agents/responses/files/Dockerfile diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/06_files/README.md b/python/samples/04-hosting/foundry-hosted-agents/responses/files/README.md similarity index 99% rename from python/samples/04-hosting/foundry-hosted-agents/responses/06_files/README.md rename to python/samples/04-hosting/foundry-hosted-agents/responses/files/README.md index 82005970f5..cf13482f70 100644 --- a/python/samples/04-hosting/foundry-hosted-agents/responses/06_files/README.md +++ b/python/samples/04-hosting/foundry-hosted-agents/responses/files/README.md @@ -24,7 +24,7 @@ This agent uses four tools: 4. **Code Interpreter Tool (`code_interpreter`)** – Allows the agent to execute Python code in a safe sandboxed environment. 5. **Web Search Tool (`web_search`)** – Allows the agent to perform web searches using the Bing Search API. -> In this sample, the filesystem tools are function tools defined in Python using the `@tool` decorator from the Agent Framework. The code interpreter tool and web search tool are managed tools provided by [Foundry Toolbox](https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/tools/toolbox). Learn more about foundry toolbox integration with hosted agents with this [sample](../04_foundry_toolbox/). +> In this sample, the filesystem tools are function tools defined in Python using the `@tool` decorator from the Agent Framework. The code interpreter tool and web search tool are managed tools provided by [Foundry Toolbox](https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/tools/toolbox). Learn more about foundry toolbox integration with hosted agents with this [sample](../foundry_toolbox/). ## Running the Agent Host diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/06_files/agent.manifest.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/files/agent.manifest.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/06_files/agent.manifest.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/files/agent.manifest.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/06_files/agent.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/files/agent.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/06_files/agent.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/files/agent.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/06_files/main.py b/python/samples/04-hosting/foundry-hosted-agents/responses/files/main.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/06_files/main.py rename to python/samples/04-hosting/foundry-hosted-agents/responses/files/main.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/02_tools/requirements.txt b/python/samples/04-hosting/foundry-hosted-agents/responses/files/requirements.txt similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/02_tools/requirements.txt rename to python/samples/04-hosting/foundry-hosted-agents/responses/files/requirements.txt diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/06_files/resources/contoso_q1_2026_report.txt b/python/samples/04-hosting/foundry-hosted-agents/responses/files/resources/contoso_q1_2026_report.txt similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/06_files/resources/contoso_q1_2026_report.txt rename to python/samples/04-hosting/foundry-hosted-agents/responses/files/resources/contoso_q1_2026_report.txt diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/06_files/resources/file-upload-portal.png b/python/samples/04-hosting/foundry-hosted-agents/responses/files/resources/file-upload-portal.png similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/06_files/resources/file-upload-portal.png rename to python/samples/04-hosting/foundry-hosted-agents/responses/files/resources/file-upload-portal.png diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/06_files/resources/session-started.png b/python/samples/04-hosting/foundry-hosted-agents/responses/files/resources/session-started.png similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/06_files/resources/session-started.png rename to python/samples/04-hosting/foundry-hosted-agents/responses/files/resources/session-started.png diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/06_files/resources/start-a-session.png b/python/samples/04-hosting/foundry-hosted-agents/responses/files/resources/start-a-session.png similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/06_files/resources/start-a-session.png rename to python/samples/04-hosting/foundry-hosted-agents/responses/files/resources/start-a-session.png diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/.dockerignore b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/.dockerignore similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/.dockerignore rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/.dockerignore diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/.env.example b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/.env.example similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/.env.example rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/.env.example diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/Dockerfile b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/Dockerfile similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/Dockerfile rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/Dockerfile diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/README.md b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/README.md similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/README.md rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/README.md diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/agent.manifest.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/agent.manifest.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/agent.manifest.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/agent.manifest.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/agent.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/agent.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/agent.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/agent.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/main.py b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/main.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/main.py rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/main.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/provision_memory_store.py b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/provision_memory_store.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/provision_memory_store.py rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/provision_memory_store.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/requirements.txt b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/requirements.txt similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/requirements.txt rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_memory/requirements.txt diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/.dockerignore b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/.dockerignore similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/.dockerignore rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/.dockerignore diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/.env.example b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/.env.example similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/.env.example rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/.env.example diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/.gitignore b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/.gitignore similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/.gitignore rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/.gitignore diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/Dockerfile b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/Dockerfile similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/Dockerfile rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/Dockerfile diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/README.md b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/README.md similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/README.md rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/README.md diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/agent.manifest.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/agent.manifest.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/agent.manifest.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/agent.manifest.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/agent.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/agent.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/agent.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/agent.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/main.py b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/main.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/main.py rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/main.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/provision_skills.py b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/provision_skills.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/provision_skills.py rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/provision_skills.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/requirements.txt b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/requirements.txt similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/10_foundry_memory/requirements.txt rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/requirements.txt diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/skills/escalation-policy/SKILL.md b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/skills/escalation-policy/SKILL.md similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/skills/escalation-policy/SKILL.md rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/skills/escalation-policy/SKILL.md diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/skills/support-style/SKILL.md b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/skills/support-style/SKILL.md similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/09_foundry_skills/skills/support-style/SKILL.md rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_skills/skills/support-style/SKILL.md diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/.azdignore b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/.azdignore similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/.azdignore rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/.azdignore diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/02_tools/.dockerignore b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/.dockerignore similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/02_tools/.dockerignore rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/.dockerignore diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/06_files/.env.example b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/.env.example similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/06_files/.env.example rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/.env.example diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/Dockerfile b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/Dockerfile similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/Dockerfile rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/Dockerfile diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/README.md b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/README.md similarity index 98% rename from python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/README.md rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/README.md index c5d3fb2251..c39f180f40 100644 --- a/python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/README.md +++ b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/README.md @@ -270,6 +270,6 @@ returns an authorization error even though it is discovered and called correctly - [Quickstart: Create a hosted agent](https://learn.microsoft.com/en-us/azure/foundry/agents/quickstarts/quickstart-hosted-agent) — end-to-end walkthrough using `azd` - [Tool catalog](https://learn.microsoft.com/en-us/azure/foundry/agents/concepts/tool-catalog) — browse available tools to extend your agent (Bing Search, Azure AI Search, file search, code interpreter, and more) - [Manage hosted agents](https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/manage-hosted-agent) — monitor and manage deployed agents -- [Basic agent](../01_basic/) — minimal agent with no tools -- [Add local tools](../02_tools/) — sample with locally-defined Python tool functions -- [Build multi-agent workflows](../05_workflows/) — sample with chained agent pipelines +- [Basic agent](../basic/) — minimal agent with no tools +- [Add local tools](../tools/) — sample with locally-defined Python tool functions +- [Build multi-agent workflows](../workflows/) — sample with chained agent pipelines diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/agent.manifest.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/agent.manifest.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/agent.manifest.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/agent.manifest.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/agent.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/agent.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/agent.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/agent.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/main.py b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/main.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/main.py rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/main.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/03_mcp/requirements.txt b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/requirements.txt similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/03_mcp/requirements.txt rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/requirements.txt diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/scripts/list-foundry-connectors.ps1 b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/scripts/list-foundry-connectors.ps1 similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/scripts/list-foundry-connectors.ps1 rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/scripts/list-foundry-connectors.ps1 diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/scripts/list-foundry-connectors.sh b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/scripts/list-foundry-connectors.sh similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/scripts/list-foundry-connectors.sh rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/scripts/list-foundry-connectors.sh diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/toolbox.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/toolbox.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/toolbox.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox/toolbox.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/.azdignore b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/.azdignore similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/.azdignore rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/.azdignore diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/.dockerignore b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/.dockerignore similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/.dockerignore rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/.dockerignore diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/.env.example b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/.env.example similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/.env.example rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/.env.example diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/Dockerfile b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/Dockerfile similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/Dockerfile rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/Dockerfile diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/README.md b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/README.md similarity index 96% rename from python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/README.md rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/README.md index ccd2e46513..489fc49372 100644 --- a/python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/README.md +++ b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/README.md @@ -11,13 +11,13 @@ The `FoundryToolbox` is attached to the agent and its skills are exposed through 1. **Advertise** — each skill's name and description are injected into the system prompt so the model knows what is available (~100 tokens per skill). 2. **Load** — when the model decides a skill is relevant, it retrieves the full `SKILL.md` body on demand via `resources/read`. -> The Agent Skills spec defines a third stage — **read resources** — where a skill fetches supplementary files (reference documents, assets) on demand. That stage requires skills to be served as `type: skill-md` with sibling resources, but Foundry serves ZIP-uploaded (multi-file) skills as `type: archive`, which toolbox skill discovery does not currently surface. So this sample keeps both skills as single-file `SKILL.md` (advertise + load only). See the [`09_foundry_skills`](../09_foundry_skills/README.md) sample for the same instruction-only pattern via direct download. +> The Agent Skills spec defines a third stage — **read resources** — where a skill fetches supplementary files (reference documents, assets) on demand. That stage requires skills to be served as `type: skill-md` with sibling resources, but Foundry serves ZIP-uploaded (multi-file) skills as `type: archive`, which toolbox skill discovery does not currently surface. So this sample keeps both skills as single-file `SKILL.md` (advertise + load only). See the [`foundry_skills`](../foundry_skills/README.md) sample for the same instruction-only pattern via direct download. ## Toolbox MCP skills vs. Foundry Skills Foundry exposes skills in two ways, and this sample uses the second one. -**Foundry Skills** are downloaded directly into an agent: the agent pulls each `SKILL.md` from the Skills API at startup and serves the bodies from local files. See the [`09_foundry_skills`](../09_foundry_skills/README.md) sample. +**Foundry Skills** are downloaded directly into an agent: the agent pulls each `SKILL.md` from the Skills API at startup and serves the bodies from local files. See the [`foundry_skills`](../foundry_skills/README.md) sample. **Toolbox MCP skills** are accessed through a toolbox over the MCP protocol. A toolbox bundles a curated set of skills (and optionally tools) behind one MCP endpoint, and any MCP client discovers them automatically. Skill bodies are fetched on demand. The same `SKILL.md` files power both modes — the difference is only in delivery. @@ -37,7 +37,7 @@ The agent is hosted with the `ResponsesHostServer`, which provisions a REST API ## The bundled skills -This sample ships two source skills under [`skills/`](skills/), reused from the [`09_foundry_skills`](../09_foundry_skills/README.md) sample so you can compare the two delivery modes side by side: +This sample ships two source skills under [`skills/`](skills/), reused from the [`foundry_skills`](../foundry_skills/README.md) sample so you can compare the two delivery modes side by side: | Skill | Purpose | |---|---| diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/agent.manifest.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/agent.manifest.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/agent.manifest.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/agent.manifest.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/agent.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/agent.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/agent.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/agent.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/main.py b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/main.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/main.py rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/main.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/requirements.txt b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/requirements.txt similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/requirements.txt rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/requirements.txt diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/skills/escalation-policy/SKILL.md b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/skills/escalation-policy/SKILL.md similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/skills/escalation-policy/SKILL.md rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/skills/escalation-policy/SKILL.md diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/skills/support-style/SKILL.md b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/skills/support-style/SKILL.md similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/skills/support-style/SKILL.md rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/skills/support-style/SKILL.md diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/toolbox.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/toolbox.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/12_foundry_toolbox_mcp_skills/toolbox.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/foundry_toolbox_mcp_skills/toolbox.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/03_mcp/.dockerignore b/python/samples/04-hosting/foundry-hosted-agents/responses/mcp/.dockerignore similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/03_mcp/.dockerignore rename to python/samples/04-hosting/foundry-hosted-agents/responses/mcp/.dockerignore diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/03_mcp/.env.example b/python/samples/04-hosting/foundry-hosted-agents/responses/mcp/.env.example similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/03_mcp/.env.example rename to python/samples/04-hosting/foundry-hosted-agents/responses/mcp/.env.example diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/03_mcp/Dockerfile b/python/samples/04-hosting/foundry-hosted-agents/responses/mcp/Dockerfile similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/03_mcp/Dockerfile rename to python/samples/04-hosting/foundry-hosted-agents/responses/mcp/Dockerfile diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/03_mcp/README.md b/python/samples/04-hosting/foundry-hosted-agents/responses/mcp/README.md similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/03_mcp/README.md rename to python/samples/04-hosting/foundry-hosted-agents/responses/mcp/README.md diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/03_mcp/agent.manifest.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/mcp/agent.manifest.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/03_mcp/agent.manifest.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/mcp/agent.manifest.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/03_mcp/agent.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/mcp/agent.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/03_mcp/agent.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/mcp/agent.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/03_mcp/main.py b/python/samples/04-hosting/foundry-hosted-agents/responses/mcp/main.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/03_mcp/main.py rename to python/samples/04-hosting/foundry-hosted-agents/responses/mcp/main.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/requirements.txt b/python/samples/04-hosting/foundry-hosted-agents/responses/mcp/requirements.txt similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/requirements.txt rename to python/samples/04-hosting/foundry-hosted-agents/responses/mcp/requirements.txt diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/11_monty_codeact/Dockerfile b/python/samples/04-hosting/foundry-hosted-agents/responses/monty_codeact/Dockerfile similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/11_monty_codeact/Dockerfile rename to python/samples/04-hosting/foundry-hosted-agents/responses/monty_codeact/Dockerfile diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/11_monty_codeact/README.md b/python/samples/04-hosting/foundry-hosted-agents/responses/monty_codeact/README.md similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/11_monty_codeact/README.md rename to python/samples/04-hosting/foundry-hosted-agents/responses/monty_codeact/README.md diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/11_monty_codeact/agent.manifest.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/monty_codeact/agent.manifest.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/11_monty_codeact/agent.manifest.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/monty_codeact/agent.manifest.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/11_monty_codeact/agent.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/monty_codeact/agent.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/11_monty_codeact/agent.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/monty_codeact/agent.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/11_monty_codeact/main.py b/python/samples/04-hosting/foundry-hosted-agents/responses/monty_codeact/main.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/11_monty_codeact/main.py rename to python/samples/04-hosting/foundry-hosted-agents/responses/monty_codeact/main.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/11_monty_codeact/pyproject.toml b/python/samples/04-hosting/foundry-hosted-agents/responses/monty_codeact/pyproject.toml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/11_monty_codeact/pyproject.toml rename to python/samples/04-hosting/foundry-hosted-agents/responses/monty_codeact/pyproject.toml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/.dockerignore b/python/samples/04-hosting/foundry-hosted-agents/responses/observability/.dockerignore similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/04_foundry_toolbox/.dockerignore rename to python/samples/04-hosting/foundry-hosted-agents/responses/observability/.dockerignore diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/07_observability/.env.example b/python/samples/04-hosting/foundry-hosted-agents/responses/observability/.env.example similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/07_observability/.env.example rename to python/samples/04-hosting/foundry-hosted-agents/responses/observability/.env.example diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/05_workflows/Dockerfile b/python/samples/04-hosting/foundry-hosted-agents/responses/observability/Dockerfile similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/05_workflows/Dockerfile rename to python/samples/04-hosting/foundry-hosted-agents/responses/observability/Dockerfile diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/07_observability/README.md b/python/samples/04-hosting/foundry-hosted-agents/responses/observability/README.md similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/07_observability/README.md rename to python/samples/04-hosting/foundry-hosted-agents/responses/observability/README.md diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/07_observability/agent.manifest.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/observability/agent.manifest.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/07_observability/agent.manifest.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/observability/agent.manifest.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/07_observability/agent.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/observability/agent.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/07_observability/agent.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/observability/agent.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/07_observability/main.py b/python/samples/04-hosting/foundry-hosted-agents/responses/observability/main.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/07_observability/main.py rename to python/samples/04-hosting/foundry-hosted-agents/responses/observability/main.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/05_workflows/requirements.txt b/python/samples/04-hosting/foundry-hosted-agents/responses/observability/requirements.txt similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/05_workflows/requirements.txt rename to python/samples/04-hosting/foundry-hosted-agents/responses/observability/requirements.txt diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/05_workflows/.dockerignore b/python/samples/04-hosting/foundry-hosted-agents/responses/tools/.dockerignore similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/05_workflows/.dockerignore rename to python/samples/04-hosting/foundry-hosted-agents/responses/tools/.dockerignore diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/02_tools/.env.example b/python/samples/04-hosting/foundry-hosted-agents/responses/tools/.env.example similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/02_tools/.env.example rename to python/samples/04-hosting/foundry-hosted-agents/responses/tools/.env.example diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/06_files/Dockerfile b/python/samples/04-hosting/foundry-hosted-agents/responses/tools/Dockerfile similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/06_files/Dockerfile rename to python/samples/04-hosting/foundry-hosted-agents/responses/tools/Dockerfile diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/02_tools/README.md b/python/samples/04-hosting/foundry-hosted-agents/responses/tools/README.md similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/02_tools/README.md rename to python/samples/04-hosting/foundry-hosted-agents/responses/tools/README.md diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/02_tools/agent.manifest.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/tools/agent.manifest.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/02_tools/agent.manifest.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/tools/agent.manifest.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/02_tools/agent.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/tools/agent.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/02_tools/agent.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/tools/agent.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/02_tools/main.py b/python/samples/04-hosting/foundry-hosted-agents/responses/tools/main.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/02_tools/main.py rename to python/samples/04-hosting/foundry-hosted-agents/responses/tools/main.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/06_files/requirements.txt b/python/samples/04-hosting/foundry-hosted-agents/responses/tools/requirements.txt similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/06_files/requirements.txt rename to python/samples/04-hosting/foundry-hosted-agents/responses/tools/requirements.txt diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/07_observability/.dockerignore b/python/samples/04-hosting/foundry-hosted-agents/responses/workflows/.dockerignore similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/07_observability/.dockerignore rename to python/samples/04-hosting/foundry-hosted-agents/responses/workflows/.dockerignore diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/05_workflows/.env.example b/python/samples/04-hosting/foundry-hosted-agents/responses/workflows/.env.example similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/05_workflows/.env.example rename to python/samples/04-hosting/foundry-hosted-agents/responses/workflows/.env.example diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/07_observability/Dockerfile b/python/samples/04-hosting/foundry-hosted-agents/responses/workflows/Dockerfile similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/07_observability/Dockerfile rename to python/samples/04-hosting/foundry-hosted-agents/responses/workflows/Dockerfile diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/05_workflows/README.md b/python/samples/04-hosting/foundry-hosted-agents/responses/workflows/README.md similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/05_workflows/README.md rename to python/samples/04-hosting/foundry-hosted-agents/responses/workflows/README.md diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/05_workflows/agent.manifest.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/workflows/agent.manifest.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/05_workflows/agent.manifest.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/workflows/agent.manifest.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/05_workflows/agent.yaml b/python/samples/04-hosting/foundry-hosted-agents/responses/workflows/agent.yaml similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/05_workflows/agent.yaml rename to python/samples/04-hosting/foundry-hosted-agents/responses/workflows/agent.yaml diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/05_workflows/main.py b/python/samples/04-hosting/foundry-hosted-agents/responses/workflows/main.py similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/05_workflows/main.py rename to python/samples/04-hosting/foundry-hosted-agents/responses/workflows/main.py diff --git a/python/samples/04-hosting/foundry-hosted-agents/responses/07_observability/requirements.txt b/python/samples/04-hosting/foundry-hosted-agents/responses/workflows/requirements.txt similarity index 100% rename from python/samples/04-hosting/foundry-hosted-agents/responses/07_observability/requirements.txt rename to python/samples/04-hosting/foundry-hosted-agents/responses/workflows/requirements.txt