From 69f3d6a1f37f0417ebb177d4b12f626f73d028f1 Mon Sep 17 00:00:00 2001 From: Yimin-Jin <139844715+Yimin-Jin@users.noreply.github.com> Date: Thu, 28 May 2026 05:37:54 +0000 Subject: [PATCH] ci: sync sample catalog from foundry-samples (main) --- samples/hosted-agent/sample-catalog.json | 523 +++++++++++++++++++++++ 1 file changed, 523 insertions(+) create mode 100644 samples/hosted-agent/sample-catalog.json diff --git a/samples/hosted-agent/sample-catalog.json b/samples/hosted-agent/sample-catalog.json new file mode 100644 index 0000000..df8bb6a --- /dev/null +++ b/samples/hosted-agent/sample-catalog.json @@ -0,0 +1,523 @@ +{ + "commitSha": "19b441d474ec963c61a509692fdd81d5fb707d71", + "repo": "https://github.com/microsoft-foundry/foundry-samples/", + "generatedAt": "2026-05-28T05:37:53Z", + "dimensions": { + "language": { + "title": "Select a Language", + "placeholder": "Choose the language for your agent", + "options": [ + { + "id": "csharp", + "displayName": "C# (.NET)" + }, + { + "id": "python", + "displayName": "Python" + } + ] + }, + "framework": { + "title": "Select a Framework", + "placeholder": "Choose the framework for your agent", + "options": [ + { + "id": "agent-framework", + "displayName": "Agent Framework" + }, + { + "id": "bring-your-own", + "displayName": "Bring Your Own" + } + ] + }, + "protocol": { + "title": "Select a Protocol", + "placeholder": "Choose the protocol for your agent", + "options": [ + { + "id": "invocations", + "displayName": "Invocations API" + }, + { + "id": "responses", + "displayName": "Responses API" + } + ] + } + }, + "templateSelection": { + "title": "Select a Template", + "placeholder": "Choose a template for your agent" + }, + "templates": [ + { + "language": "python", + "framework": "agent-framework", + "protocol": "invocations", + "displayName": "Session Management", + "description": "Agent maintains conversation history using in-memory session storage.", + "path": "samples/python/hosted-agents/agent-framework/invocations/01-basic", + "requiresModel": true + }, + { + "language": "python", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Multi-Turn Chat", + "description": "Conversational agent with session history and response tracking.", + "path": "samples/python/hosted-agents/agent-framework/responses/01-basic", + "requiresModel": true + }, + { + "language": "python", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Local Tools", + "description": "Agent with locally defined tools for tasks like weather lookup.", + "path": "samples/python/hosted-agents/agent-framework/responses/02-tools", + "requiresModel": true + }, + { + "language": "python", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "MCP Tools", + "description": "Discovers and invokes tools from a remote MCP server at runtime.", + "path": "samples/python/hosted-agents/agent-framework/responses/03-mcp", + "requiresModel": true + }, + { + "language": "python", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Toolbox Discovery", + "description": "Discovers and invokes tools from a Foundry Toolbox registry at runtime.", + "path": "samples/python/hosted-agents/agent-framework/responses/04-foundry-toolbox", + "requiresModel": true + }, + { + "language": "python", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Multi-Agent Workflow", + "description": "Sequential pipeline of specialized agents for slogan writing and review.", + "path": "samples/python/hosted-agents/agent-framework/responses/05-workflows", + "requiresModel": true + }, + { + "language": "python", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "File Management", + "description": "Agent that lists, reads, and interprets files using local and code tools.", + "path": "samples/python/hosted-agents/agent-framework/responses/06-files", + "requiresModel": true + }, + { + "language": "python", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "File-Based Skills", + "description": "Agent that discovers and runs local file-based skills for travel guides.", + "path": "samples/python/hosted-agents/agent-framework/responses/07-skills", + "requiresModel": true + }, + { + "language": "python", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Observability", + "description": "Instrumented agent with diagnostics and telemetry for execution monitoring.", + "path": "samples/python/hosted-agents/agent-framework/responses/08-observability", + "requiresModel": true + }, + { + "language": "python", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Customer Support", + "description": "Declarative workflow for multi-turn customer support triage and routing.", + "path": "samples/python/hosted-agents/agent-framework/responses/09-declarative-customer-support", + "requiresModel": true + }, + { + "language": "python", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Azure Data Operations", + "description": "Performs data-plane actions on Blob Storage and Service Bus using Azure RBAC.", + "path": "samples/python/hosted-agents/agent-framework/responses/10-downstream-azure", + "requiresModel": true + }, + { + "language": "python", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Search-Augmented RAG", + "description": "Answers are grounded in product docs using Azure AI Search and source citation.", + "path": "samples/python/hosted-agents/agent-framework/responses/11-azure-search-rag", + "requiresModel": true + }, + { + "language": "python", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Foundry Skills", + "description": "Loads behavioral guidelines from Foundry Skills at startup.", + "path": "samples/python/hosted-agents/agent-framework/responses/12-foundry-skills", + "requiresModel": true + }, + { + "language": "python", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Persistent Memory", + "description": "Agent remembers user facts across sessions using semantic memory storage.", + "path": "samples/python/hosted-agents/agent-framework/responses/13-foundry-memory", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "invocations", + "displayName": "AG-UI Invocations", + "description": "Minimal agent that streams AG-UI events using Pydantic AI.", + "path": "samples/python/hosted-agents/bring-your-own/invocations/ag-ui", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "invocations", + "displayName": "Streaming Invocations", + "description": "Streams assistant responses for plain text input via POST requests.", + "path": "samples/python/hosted-agents/bring-your-own/invocations/claude-agent-sdk", + "requiresModel": false + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "invocations", + "displayName": "Event-Driven Summarization", + "description": "Summarizes uploaded blobs and writes results to a separate container on event trigger.", + "path": "samples/python/hosted-agents/bring-your-own/invocations/event-grid-trigger", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "invocations", + "displayName": "Multi-Turn Chat", + "description": "Streams Copilot SDK session events with multi-turn conversation support.", + "path": "samples/python/hosted-agents/bring-your-own/invocations/github-copilot", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "invocations", + "displayName": "Hello World", + "description": "Minimal agent that streams a model response as an SSE event.", + "path": "samples/python/hosted-agents/bring-your-own/invocations/hello-world", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "invocations", + "displayName": "Human Approval Gate", + "description": "Agent workflow that requires human review before completing tasks.", + "path": "samples/python/hosted-agents/bring-your-own/invocations/human-in-the-loop", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "invocations", + "displayName": "Multi-Turn Chat", + "description": "Conversational agent with session history and built-in tools.", + "path": "samples/python/hosted-agents/bring-your-own/invocations/langgraph-chat", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "invocations", + "displayName": "Note-Taking", + "description": "Saves and retrieves notes with per-session isolation and streaming responses.", + "path": "samples/python/hosted-agents/bring-your-own/invocations/notetaking-agent", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "invocations", + "displayName": "Toolbox Integration", + "description": "Connects to a toolbox and enables tool discovery and invocation during conversation.", + "path": "samples/python/hosted-agents/bring-your-own/invocations/toolbox", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "responses", + "displayName": "Background Responses", + "description": "Processes long-running requests and streams research analysis sections asynchronously.", + "path": "samples/python/hosted-agents/bring-your-own/responses/background-agent", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "responses", + "displayName": "Toolbox Integration", + "description": "Connects to a Foundry toolbox and enables tool discovery and invocation.", + "path": "samples/python/hosted-agents/bring-your-own/responses/bring-your-own-toolbox", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "responses", + "displayName": "Env Var Responses", + "description": "Returns environment variable values with kind-aware safety policies.", + "path": "samples/python/hosted-agents/bring-your-own/responses/env-vars-agent", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "responses", + "displayName": "Hello World", + "description": "Minimal agent that returns a Foundry model response using the Responses protocol.", + "path": "samples/python/hosted-agents/bring-your-own/responses/hello-world", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "responses", + "displayName": "Multi-Turn Chat", + "description": "Conversational agent with server-side session and built-in tools.", + "path": "samples/python/hosted-agents/bring-your-own/responses/langgraph-chat", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "responses", + "displayName": "User Identity Tools", + "description": "Agent connects to mail, calendar, and GitHub tools for user identity scenarios.", + "path": "samples/python/hosted-agents/bring-your-own/responses/langgraph-toolbox-user-identity", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "responses", + "displayName": "MCP Toolbox", + "description": "Connects to a remote MCP toolbox and serves responses using loaded tools.", + "path": "samples/python/hosted-agents/bring-your-own/responses/langgraph-toolbox", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "responses", + "displayName": "Note-Taking", + "description": "Saves and retrieves notes with per-session persistence and streaming responses.", + "path": "samples/python/hosted-agents/bring-your-own/responses/notetaking-agent", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "responses", + "displayName": "Streaming Responses", + "description": "Streams text responses from a Foundry-backed model using the Responses protocol.", + "path": "samples/python/hosted-agents/bring-your-own/responses/openai-agents-sdk", + "requiresModel": true + }, + { + "language": "python", + "framework": "bring-your-own", + "protocol": "responses", + "displayName": "Voicelive", + "description": "", + "path": "samples/python/hosted-agents/bring-your-own/voicelive", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Skill Loading", + "description": "Loads behavioral guidelines from Foundry Skills at startup.", + "path": "samples/csharp/hosted-agents/agent-framework/agent-skills", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Retrieval Augmented Generation", + "description": "Answers are grounded in a knowledge base using Azure AI Search for document retrieval.", + "path": "samples/csharp/hosted-agents/agent-framework/azure-search-rag", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "File Tools", + "description": "Answers questions using bundled and session-uploaded file sources.", + "path": "samples/csharp/hosted-agents/agent-framework/file-tools", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Persistent Memory RAG", + "description": "Answers are grounded in user-specific memories that persist across sessions.", + "path": "samples/csharp/hosted-agents/agent-framework/foundry-memory-rag", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Server-Side Tools", + "description": "Agent that uses server-side tools from a Foundry Toolbox.", + "path": "samples/csharp/hosted-agents/agent-framework/foundry-toolbox-server-side", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Hello World", + "description": "Minimal agent that echoes a response from a Foundry model.", + "path": "samples/csharp/hosted-agents/agent-framework/hello-world", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "agent-framework", + "protocol": "invocations", + "displayName": "Hello World", + "description": "Minimal agent that echoes back the input message in the response.", + "path": "samples/csharp/hosted-agents/agent-framework/invocations-echo-agent", + "requiresModel": false + }, + { + "language": "csharp", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Local Tools", + "description": "Assistant that searches for hotels using local function tools.", + "path": "samples/csharp/hosted-agents/agent-framework/local-tools", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "MCP Tools", + "description": "Integrates documentation search tools using client and server-side MCP connections.", + "path": "samples/csharp/hosted-agents/agent-framework/mcp-tools", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Hello World", + "description": "Minimal assistant that replies to user input using a model.", + "path": "samples/csharp/hosted-agents/agent-framework/simple-agent", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Text Search RAG", + "description": "Answers questions using external knowledge with retrieval augmented generation.", + "path": "samples/csharp/hosted-agents/agent-framework/text-search-rag", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "agent-framework", + "protocol": "responses", + "displayName": "Workflow Translation", + "description": "Chains multiple translation steps in a sequential workflow.", + "path": "samples/csharp/hosted-agents/agent-framework/workflows", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "bring-your-own", + "protocol": "invocations", + "displayName": "Hello World", + "description": "Minimal agent that returns a Foundry model response as a streaming event.", + "path": "samples/csharp/hosted-agents/bring-your-own/invocations/HelloWorld", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "bring-your-own", + "protocol": "invocations", + "displayName": "Human Approval Gate", + "description": "Agent workflow that requires human review and approval before completing tasks.", + "path": "samples/csharp/hosted-agents/bring-your-own/invocations/human-in-the-loop", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "bring-your-own", + "protocol": "invocations", + "displayName": "Note-Taking", + "description": "Saves and retrieves session-persistent notes using function calling.", + "path": "samples/csharp/hosted-agents/bring-your-own/invocations/notetaking-agent", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "bring-your-own", + "protocol": "responses", + "displayName": "Hello World", + "description": "Minimal agent that returns a Foundry model response using the Responses protocol.", + "path": "samples/csharp/hosted-agents/bring-your-own/responses/HelloWorld", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "bring-your-own", + "protocol": "responses", + "displayName": "Background Responses", + "description": "Processes research analysis requests asynchronously with streaming responses.", + "path": "samples/csharp/hosted-agents/bring-your-own/responses/background-agent", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "bring-your-own", + "protocol": "responses", + "displayName": "Env Var Responses", + "description": "Returns environment variable values with kind-aware safety policies.", + "path": "samples/csharp/hosted-agents/bring-your-own/responses/env-vars-agent", + "requiresModel": true + }, + { + "language": "csharp", + "framework": "bring-your-own", + "protocol": "responses", + "displayName": "Note-Taking", + "description": "Agent that saves and retrieves notes using function calling.", + "path": "samples/csharp/hosted-agents/bring-your-own/responses/notetaking-agent", + "requiresModel": true + } + ] +}