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/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/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. |
|
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. |
|
cmd
|
|
|
prfromissue
command
Command prfromissue opens pull requests for gh-aw fallback tracking issues and links the two together.
|
Command prfromissue opens pull requests for gh-aw fallback tracking issues and links the two together. |
|
prriskclassifier
command
Command prriskclassifier applies deterministic Agent Framework risk rules to a pull request and reports whether semantic agent classification is needed.
|
Command prriskclassifier applies deterministic Agent Framework risk rules to a pull request and reports whether semantic agent classification is needed. |
|
verifyexamples
command
|
|
|
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/mcp/agent_mcp_server
command
|
|
|
02-agents/mcp/local_stdio_mcp
command
|
|
|
02-agents/providers/a2a
command
|
|
|
02-agents/providers/anthrophic
command
|
|
|
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
command
|
|
|
03-workflows/cancellation
command
|
|
|
03-workflows/loop
command
|
|
|
03-workflows/message-workflow
command
|
|
|
03-workflows/shared-states
command
|
|
|
demos/chat_cli
command
|
|
|
internal
|
|
|
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. |
|
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. |
|
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.
|
Package openaiprovider provides OpenAI-backed agents. |
|
otelprovider
Package otelprovider wraps an agent with OpenTelemetry tracing via NewMiddleware, recording spans and token usage for agent runs following the GenAI semantic conventions.
|
Package otelprovider wraps an agent with OpenTelemetry tracing via NewMiddleware, recording spans and token usage for agent runs 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 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.
