Long-term semantic memory for agents, backed by Azure Cosmos DB via the Azure Cosmos DB Agent Memory Toolkit. - CosmosMemoryContextProvider - Context provider that integrates Cosmos DB-backed semantic memory (facts, procedural/episodic memories, and user/thread summaries) into agents. - Requires the azure-cosmos-agent-memory toolkit and an AI Foundry endpoint (used for both embeddings and fact extraction). - Set a stable userid in state["userid"] or session.state["user_id"] for long-term, cross-session memory. Without it, memory scopes to the ephemeral session id and the provider logs…
Integration with Anthropic Claude as a managed agent (Claude Agent SDK). This package is for Claude's managed agent functionality. For basic Claude chat, use agent-framework-anthropic instead.
YAML/JSON-based declarative agent and workflow definitions. DefaultMCPToolHandler caches/coalesces sessions only without a client_provider. With a provider, every invocation (including tools/list) gets a fresh tool/session, even if the provider returns None or a shared HTTP client. Invocation cleanup closes the session and any internally owned fallback client, never caller-owned HTTP clients. Shutdown waits for active provider-backed invocations to clean up. Calling aclose() from an active invocation's context (including inherited child tasks and cleanup) raises RuntimeError before changing handler state; shutdown must…
Interactive developer UI for testing and debugging agents and workflows. Text content carrying additionalproperties["modeloutput_kind"] == "refusal" is mapped to native Responses refusal parts and events. Mapper aggregation, live rendering, and recovery state retain text/refusal boundaries by item and content index. DevUI is a development-only sample app, not a production hosting surface. Authentication is enabled by default. Unauthenticated mode is allowed only on localhost / 127.0.0.1; 0.0.0.0, LAN IPs, and hostnames require DEVUIAUTHTOKEN or --auth-token.
Integration with GitHub Copilot extensions. buildsessionkwargs forwards options to the SDK verbatim except for a few keys that get an explicit default: onpermissionrequest (deny-all) and enablefilehooks (False, so a session behaves the same way in every working directory). Callers opt in through defaultoptions or per-run options. Keep such defaults to options the working directory controls: options that only shape prompt context (for example enablehostgit_operations) are deliberately left alone. When the agent applies the enablefilehooks default and the working directory actually…
Conversion and native card-generation helpers for hosting Agent Framework agents and workflows through an application-owned A2A server. - a2atorun(message, *, stream=False) converts an A2A Message to AgentRunArgs; pass inputmodes for optional advertised-mode validation. - a2afromrun(result) converts an Agent Framework response, message, or streaming update to A2A Part values; pass outputmodes for optional advertised-mode validation. - await AgentA2AAdapter(target, ...).getcard() creates a native AgentCard from an agent or AgentState, target metadata, and explicit A2A discovery policy. The adapter also re-exposes a2atorun(...) and…
Side-effect-free adapters and conversion helpers for hosting Agent Framework agents and workflows through the native MCP SDK. - AgentMCPTool(target, ...) generates one native MCP Tool from an agent, converts and executes calls, and optionally persists sessions through an existing AgentState. - WorkflowMCPTool(target, ...) derives one native MCP Tool from a workflow's single start-executor input type and converts completed workflow outputs. - mcptorun(arguments, *, argumentname="task", chatoptionarguments=()) converts MCP tool arguments to AgentRunArgs and copies only explicitly selected arguments into chat options.…
Experimental packages for cutting-edge features including benchmarking, reinforcement learning, and research initiatives. This package contains experimental sub-packages: Lab packages are experimental and may change frequently. They are not included in the standard agent-framework[all] installation. Lab is a standalone uv project, excluded from the root python workspace so its experimental dependencies do not constrain released provider packages. It resolves released Core and provider distributions by default. Run dependency and validation commands from python/packages/lab. Lab code must use APIs available in published…
Integration with Mem0 for agent memory management. - applicationid / agentid / user_id are the storage scope stamped on written memories. - searchapplicationid / searchagentid / searchuserid are the retrieval scope. - Retrieval scope never defaults to the storage scope. With no search* value set, beforerun retrieves nothing and logs a warning. This prevents memories written under a shared agent_id from being retrieved for every user of that agent. Mem0 telemetry is disabled by default. Set MEM0_TELEMETRY=true to enable.
Monty-backed CodeAct integrations for the Microsoft Agent Framework. [!NOTE] Beta package. Included in agent-framework[all] and available through the lazy-loading namespace agent_framework.monty. - MontyCodeActProvider — ContextProvider that injects a run-scoped execute_code tool plus dynamic CodeAct instructions. Mirrors the HyperlightCodeActProvider API for the parts that apply to a non-sandboxed Python interpreter. - MontyExecuteCodeTool — FunctionTool that wraps the Monty interpreter. Use directly for mixed-tool agents or manual static wiring. Mirrors HyperlightExecuteCodeTool. MontyCodeActProvider and MontyExecuteCodeTool both accept: - tools — host tool callables…
This file documents the structure and conventions of the Python samples so that agents (AI or human) can maintain them without rediscovering decisions. Durable Task and Azure Functions samples are maintained in the Durable Agent Framework extension. 1. Progressive complexity: Sections 01→05 build from "hello world" to production. Within 01-get-started, files are numbered 01–07 and each step adds exactly one concept. 3. Workflows preserved: 03-workflows/ keeps the upstream folder names and file names intact. Do not rename or restructure workflow…
Follow .github/copilot-instructions.md for repository-specific development guidance. Before filing a GitHub issue in this repository: Before opening a pull request: