Directories
¶
| Path | Synopsis |
|---|---|
|
Package agent provides the provider-agnostic agent abstraction at the core of the framework.
|
Package agent provides the provider-agnostic agent abstraction at the core of the framework. |
|
compaction
Package compaction reduces conversation history to fit a model's context window.
|
Package compaction reduces conversation history to fit a model's context window. |
|
format/jsonformat
Package jsonformat provides JSON schema-based response formatting and validation for structured agent output, deriving schemas from Go types and validating and normalizing values against them.
|
Package jsonformat provides JSON schema-based response formatting and validation for structured agent output, deriving schemas from Go types and validating and normalizing values against them. |
|
harness
Package harness assembles middleware, context providers, and history defaults for provider-backed agents.
|
Package harness assembles middleware, context providers, and history defaults for provider-backed agents. |
|
harness/agentmode
Package agentmode provides a context provider that tracks the agent's operating mode (e.g.
|
Package agentmode provides a context provider that tracks the agent's operating mode (e.g. |
|
harness/filememory
Package filememory provides a context provider with tools for persistent file-based agent memory.
|
Package filememory provides a context provider with tools for persistent file-based agent memory. |
|
harness/loop
Package loop provides middleware that re-invokes an agent until one of its evaluators decides no more work is needed.
|
Package loop provides middleware that re-invokes an agent until one of its evaluators decides no more work is needed. |
|
harness/todo
Package todo provides a context provider that gives agents todo list management tools for tracking work items during long-running complex tasks.
|
Package todo provides a context provider that gives agents todo list management tools for tracking work items during long-running complex tasks. |
|
harness/toolapproval
Package toolapproval provides middleware that manages human-in-the-loop tool approval with support for "don't ask again" standing rules.
|
Package toolapproval provides middleware that manages human-in-the-loop tool approval with support for "don't ask again" standing rules. |
|
harness/toolautocall
Package toolautocall provides the middleware that automatically invokes the function tools a model calls and feeds their results back for the next turn.
|
Package toolautocall provides the middleware that automatically invokes the function tools a model calls and feeds their results back for the next turn. |
|
memory
Package memory provides vector-backed chat history memory for agents.
|
Package memory provides vector-backed chat history memory for agents. |
|
skills
Package skills provides domain knowledge bases ("skills") an agent can load on demand.
|
Package skills provides domain knowledge bases ("skills") an agent can load on demand. |
|
skills/fsskills
Package fsskills discovers and loads skills from a filesystem (an fs.FS), materializing skill directories, their resources, and file-backed scripts as skills.Skill values.
|
Package fsskills discovers and loads skills from a filesystem (an fs.FS), materializing skill directories, their resources, and file-backed scripts as skills.Skill values. |
|
textsearch
Package textsearch provides retrieval-augmented context from text searches.
|
Package textsearch provides retrieval-augmented context from text searches. |
|
cmd
|
|
|
verifyexamples
command
|
|
|
Package embedding defines provider-independent embedding generation contracts, vectors, request options, and results.
|
Package embedding defines provider-independent embedding generation contracts, vectors, request options, and results. |
|
examples
|
|
|
01-get-started/01_hello_agent
command
|
|
|
01-get-started/02_add_tools
command
|
|
|
01-get-started/03_multi_turn
command
|
|
|
01-get-started/04_memory
command
|
|
|
01-get-started/05_first_workflow
command
|
|
|
02-agents/a2a/as_function_tools
command
|
|
|
02-agents/a2a/protocol_selection
command
|
|
|
02-agents/agents/step01_running
command
|
|
|
02-agents/agents/step09_dependency_injection
command
This sample shows how to use dependency injection to register an Agent and use it from a hosted service with a user input chat loop.
|
This sample shows how to use dependency injection to register an Agent and use it from a hosted service with a user input chat loop. |
|
02-agents/agents/step13_middleware
command
This sample shows how to write custom agent middleware.
|
This sample shows how to write custom agent middleware. |
|
02-agents/harness/step01_loop
command
|
|
|
02-agents/harness/step04_composite_harness
command
This sample uses the reusable harness setup with a normal Foundry agent.
|
This sample uses the reusable harness setup with a normal Foundry agent. |
|
02-agents/mcp/agent_mcp_server
command
|
|
|
02-agents/mcp/local_stdio_mcp
command
|
|
|
02-agents/memory/step01_chat_history_memory
command
This sample recalls chat messages from earlier sessions for the same user.
|
This sample recalls chat messages from earlier sessions for the same user. |
|
02-agents/memory/step05_bounded_chat_history
command
This sample archives older chat messages and recalls them from a vector store.
|
This sample archives older chat messages and recalls them from a vector store. |
|
02-agents/providers/a2a
command
|
|
|
02-agents/providers/anthrophic
command
|
|
|
02-agents/providers/azure/ai_search
command
This sample stores generated embeddings in Azure AI Search and runs scoped vector and hybrid queries.
|
This sample stores generated embeddings in Azure AI Search and runs scoped vector and hybrid queries. |
|
02-agents/providers/azure/cosmosdb
command
This sample stores generated embeddings in a temporary Cosmos DB container.
|
This sample stores generated embeddings in a temporary Cosmos DB container. |
|
02-agents/providers/azure/openai_responses_background
command
This sample demonstrates long-running agent operations using the OpenAI Responses API "background" option.
|
This sample demonstrates long-running agent operations using the OpenAI Responses API "background" option. |
|
02-agents/providers/gemini
command
|
|
|
02-agents/providers/openai/step06_code_interpreter_file_download
command
This sample shows how to download files generated by Code Interpreter using the OpenAI Containers API.
|
This sample shows how to download files generated by Code Interpreter using the OpenAI Containers API. |
|
02-agents/rag/step01_basic_text_rag
command
This sample retrieves text from an in-memory vector store before each agent invocation and keeps retrieved context out of retained conversation history.
|
This sample retrieves text from an in-memory vector store before each agent invocation and keeps retrieved context out of retained conversation history. |
|
02-agents/rag/step02_custom_vector_store_rag
command
This sample uses a custom Qdrant schema to retrieve Agent Framework documentation, including recent conversation context in each search.
|
This sample uses a custom Qdrant schema to retrieve Agent Framework documentation, including recent conversation context in each search. |
|
02-agents/rag/step04_foundry_service_rag
command
This sample uploads a knowledge base and creates a Foundry vector store and prompt agent version that uses server-side file search.
|
This sample uploads a knowledge base and creates a Foundry vector store and prompt agent version that uses server-side file search. |
|
02-agents/rag/step05_neo4j_graph_rag
command
This sample retrieves graph-enriched text from a Neo4j full-text index.
|
This sample retrieves graph-enriched text from a Neo4j full-text index. |
|
03-workflows/cancellation
command
|
|
|
03-workflows/loop
command
|
|
|
03-workflows/message-workflow
command
|
|
|
03-workflows/shared-states
command
|
|
|
demos/chat_cli
command
|
|
|
internal
|
|
|
agentopts
Package agentopts shares internal run options between agents and middleware.
|
Package agentopts shares internal run options between agents and middleware. |
|
filestore
Package filestore provides SDK-internal root-confined text storage for agents.
|
Package filestore provides SDK-internal root-confined text storage for agents. |
|
hashmap
Package hashmap provides a hash table with custom hashing and key equivalence.
|
Package hashmap provides a hash table with custom hashing and key equivalence. |
|
maphash
Package maphash provides temporary hash interfaces used by hash-based containers.
|
Package maphash provides temporary hash interfaces used by hash-based containers. |
|
modelcall
Package modelcall supplies neutral request and response metadata to decorators around model-adapter calls.
|
Package modelcall supplies neutral request and response metadata to decorators around model-adapter calls. |
|
storepaths
Package storepaths normalizes relative paths shared by file stores and memory tools.
|
Package storepaths normalizes relative paths shared by file stores and memory tools. |
|
toolmiddleware
Package toolmiddleware shares tool wrappers and invocation metadata between agent middleware and tool execution.
|
Package toolmiddleware shares tool wrappers and invocation metadata between agent middleware and tool execution. |
|
Package message defines the message and content primitives that are the universal currency of the framework.
|
Package message defines the message and content primitives that are the universal currency of the framework. |
|
messagefilter
Package messagefilter provides composable filters over slices of messages, used to select which messages a context provider stores or forwards.
|
Package messagefilter provides composable filters over slices of messages, used to select which messages a context provider stores or forwards. |
|
messageworkflow
Package messageworkflow provides helpers for workflow executors that buffer incoming messages and act when a turn token arrives, used by the agent-hosting and group-chat executors in workflow/agentworkflow.
|
Package messageworkflow provides helpers for workflow executors that buffer incoming messages and act when a turn token arrives, used by the agent-hosting and group-chat executors in workflow/agentworkflow. |
|
provider
|
|
|
a2aprovider
Package a2aprovider exposes agents over the Agent2Agent (A2A) protocol, adapting A2A messages to and from the framework message model and including server and hosting support.
|
Package a2aprovider exposes agents over the Agent2Agent (A2A) protocol, adapting A2A messages to and from the framework message model and including server and hosting support. |
|
aguiprovider
Package aguiprovider exposes agents over the AG-UI protocol, streaming agent responses as AG-UI events with HTTP handler and hosting support.
|
Package aguiprovider exposes agents over the AG-UI protocol, streaming agent responses as AG-UI events with HTTP handler and hosting support. |
|
anthropicprovider
Package anthropicprovider provides Anthropic (Claude)-backed agents via NewAgent, which takes an Anthropic client and an AgentConfig.
|
Package anthropicprovider provides Anthropic (Claude)-backed agents via NewAgent, which takes an Anthropic client and an AgentConfig. |
|
azureprovider
Package azureprovider provides Azure service integrations.
|
Package azureprovider provides Azure service integrations. |
|
copilotprovider
Package copilotprovider provides GitHub Copilot-backed agents via NewAgent, mapping Copilot session events to framework response updates.
|
Package copilotprovider provides GitHub Copilot-backed agents via NewAgent, mapping Copilot session events to framework response updates. |
|
foundryprovider
Package foundryprovider provides Microsoft Foundry provider integrations for agents.
|
Package foundryprovider provides Microsoft Foundry provider integrations for agents. |
|
geminiprovider
Package geminiprovider provides Google Gemini-backed agents via NewAgent, which takes a genai client and an AgentConfig.
|
Package geminiprovider provides Google Gemini-backed agents via NewAgent, which takes a genai client and an AgentConfig. |
|
openaiprovider
Package openaiprovider provides OpenAI-backed agents and embedding generators.
|
Package openaiprovider provides OpenAI-backed agents and embedding generators. |
|
otelprovider
Package otelprovider instruments agents and embedding generators with OpenTelemetry tracing and metrics following the GenAI semantic conventions.
|
Package otelprovider instruments agents and embedding generators with OpenTelemetry tracing and metrics following the GenAI semantic conventions. |
|
Package tool defines the Tool interface and its variants (SchemaTool, FuncTool) that agents expose to models.
|
Package tool defines the Tool interface and its variants (SchemaTool, FuncTool) that agents expose to models. |
|
agenttool
Package agenttool adapts an agent.Agent into a tool.FuncTool via New, so one agent can be invoked as a tool by another.
|
Package agenttool adapts an agent.Agent into a tool.FuncTool via New, so one agent can be invoked as a tool by another. |
|
functool
Package functool turns a typed Go function into a tool.FuncTool via New and MustNew, deriving the tool's input and output JSON schemas from the function's parameter and return types.
|
Package functool turns a typed Go function into a tool.FuncTool via New and MustNew, deriving the tool's input and output JSON schemas from the function's parameter and return types. |
|
hostedtool
Package hostedtool provides definitions for hosted tools.
|
Package hostedtool provides definitions for hosted tools. |
|
mcptool
Package mcptool provides integration with the Model Context Protocol (MCP).
|
Package mcptool provides integration with the Model Context Protocol (MCP). |
|
shelltool
Package shelltool provides a shell command execution tool that can be registered with an agent.
|
Package shelltool provides a shell command execution tool that can be registered with an agent. |
|
Package vectordata defines provider-independent vector store contracts, record schemas, retrieval options, and vector and keyword-hybrid searches.
|
Package vectordata defines provider-independent vector store contracts, record schemas, retrieval options, and vector and keyword-hybrid searches. |
|
inmemory
Package inmemory implements an in-process vector store for testing and prototyping.
|
Package inmemory implements an in-process vector store for testing and prototyping. |
|
internal/recordvalue
Package recordvalue provides shared local filtering and ordering semantics.
|
Package recordvalue provides shared local filtering and ordering semantics. |
|
providerservices
Package providerservices provides experimental model-building, record-access, vector-conversion, embedding-batching, and local filtering and sorting support for vector data providers, not applications.
|
Package providerservices provides experimental model-building, record-access, vector-conversion, embedding-batching, and local filtering and sorting support for vector data providers, not applications. |
|
Package workflow is a graph-execution engine for multi-agent orchestration.
|
Package workflow is a graph-execution engine for multi-agent orchestration. |
|
agentworkflow
This file hosts an agent.Agent as a workflow workflow.Executor, so the agent can participate in graphs alongside regular executors and other hosted agents.
|
This file hosts an agent.Agent as a workflow workflow.Executor, so the agent can participate in graphs alongside regular executors and other hosted agents. |
|
checkpoint
Package checkpoint provides checkpoint storage and management for workflow runs, enabling restartability and time-travel resume.
|
Package checkpoint provides checkpoint storage and management for workflow runs, enabling restartability and time-travel resume. |
|
inproc
Package inproc provides the in-process workflow runtime: it instantiates a workflow's executors and drives execution, streaming or to completion, with optional checkpointing.
|
Package inproc provides the in-process workflow runtime: it instantiates a workflow's executors and drives execution, streaming or to completion, with optional checkpointing. |
|
observability
Package observability defines the tracing abstraction (Tracer, spans, and attributes) used to instrument workflow execution; the opentelemetry subpackage provides an OpenTelemetry implementation.
|
Package observability defines the tracing abstraction (Tracer, spans, and attributes) used to instrument workflow execution; the opentelemetry subpackage provides an OpenTelemetry implementation. |
|
observability/opentelemetry
Package opentelemetry implements the workflow observability Tracer using OpenTelemetry, emitting spans for workflow and executor activity.
|
Package opentelemetry implements the workflow observability Tracer using OpenTelemetry, emitting spans for workflow and executor activity. |
Click to show internal directories.
Click to hide internal directories.
