Directories
¶
| Path | Synopsis |
|---|---|
|
Package assistants provides the core agent loop: system prompt assembly, LLM invocation, parallel tool calling, structured output parsing, callbacks and message history.
|
Package assistants provides the core agent loop: system prompt assembly, LLM invocation, parallel tool calling, structured output parsing, callbacks and message history. |
|
Package callbacks provides implementations of the assistant and tool callback interfaces for tracing, logging and per-run accounting.
|
Package callbacks provides implementations of the assistant and tool callback interfaces for tracing, logging and per-run accounting. |
|
Package chatmodel defines common chat I/O types, context helpers, and parser interfaces used across the project.
|
Package chatmodel defines common chat I/O types, context helpers, and parser interfaces used across the project. |
|
Package encoding provides a pluggable framework to describe, encode and decode structured data for agentic flows.
|
Package encoding provides a pluggable framework to describe, encode and decode structured data for agentic flows. |
|
dummy
Package dummy encoder/decoder
|
Package dummy encoder/decoder |
|
json
Package json json encoder/decoder
|
Package json json encoder/decoder |
|
toml
Package toml encoder/decoder
|
Package toml encoder/decoder |
|
yaml
Package yaml encoder/decoder
|
Package yaml encoder/decoder |
|
Package mcp implements the Model Context Protocol client and server, with pluggable transports (stdio, HTTP, SSE, in-process).
|
Package mcp implements the Model Context Protocol client and server, with pluggable transports (stdio, HTTP, SSE, in-process). |
|
internal/protocol
This file implements the core protocol layer for JSON-RPC communication in the MCP SDK.
|
This file implements the core protocol layer for JSON-RPC communication in the MCP SDK. |
|
transport
Package transport defines the minimal interfaces and shared types for MCP transports used by the client and server.
|
Package transport defines the minimal interfaces and shared types for MCP transports used by the client and server. |
|
transport/httptransport
Package httptransport implements stateless HTTP transports for MCP: a server transport that accepts JSON-RPC requests on an endpoint, and a client transport that posts them.
|
Package httptransport implements stateless HTTP transports for MCP: a server transport that accepts JSON-RPC requests on an endpoint, and a client transport that posts them. |
|
transport/localtransport
Package localtransport implements local transport mechanisms for MCP, enabling efficient in-process and local communication for agentic flows.
|
Package localtransport implements local transport mechanisms for MCP, enabling efficient in-process and local communication for agentic flows. |
|
transport/sse
Package sse implements Server-Sent Events (SSE) transport for MCP, enabling real-time, bidirectional communication for agentic flows over HTTP.
|
Package sse implements Server-Sent Events (SSE) transport for MCP, enabling real-time, bidirectional communication for agentic flows over HTTP. |
|
transport/sse/internal/sse
Package sse provides the low-level implementation of Server-Sent Events (SSE) transport for MCP, handling connection management, message streaming, and protocol details.
|
Package sse provides the low-level implementation of Server-Sent Events (SSE) transport for MCP, handling connection management, message streaming, and protocol details. |
|
transport/stdio
Package stdio implements the MCP stdio transport, used by servers that are launched as a subprocess by an MCP host and exchange newline-delimited JSON-RPC frames over standard input and output.
|
Package stdio implements the MCP stdio transport, used by servers that are launched as a subprocess by an MCP host and exchange newline-delimited JSON-RPC frames over standard input and output. |
|
transport/stdio/internal/stdio
This file implements the stdio transport layer for JSON-RPC communication.
|
This file implements the stdio transport layer for JSON-RPC communication. |
|
Package mocks provides mock implementations of assistants, tools, and LLMs for testing and development purposes.
|
Package mocks provides mock implementations of assistants, tools, and LLMs for testing and development purposes. |
|
mockassitants
Package mockassitants is a generated GoMock package.
|
Package mockassitants is a generated GoMock package. |
|
mockllmfactory
Package mockllmfactory is a generated GoMock package.
|
Package mockllmfactory is a generated GoMock package. |
|
mockllms
Package mockllms is a generated GoMock package.
|
Package mockllms is a generated GoMock package. |
|
mockrouter
Package mockrouter provides generated mocks for semantic selection tests.
|
Package mockrouter provides generated mocks for semantic selection tests. |
|
mocktools
Package mocktools is a generated GoMock package.
|
Package mocktools is a generated GoMock package. |
|
pkg
|
|
|
llmfactory
Package llmfactory constructs provider models from configuration, resolves assistant→model preferences (with optional per-organization overrides), and supports capability filtering and per-org model restrictions.
|
Package llmfactory constructs provider models from configuration, resolves assistant→model preferences (with optional per-organization overrides), and supports capability filtering and per-org model restrictions. |
|
llms
Package llms provides unified support for interacting with different Language Models (LLMs) from various providers.
|
Package llms provides unified support for interacting with different Language Models (LLMs) from various providers. |
|
llms/anthropic
Package anthropic implements the Anthropic (Claude) llms.Model with options for API key, model selection, and custom HTTP client or AWS config when used via Bedrock (see NewBedrock in this package).
|
Package anthropic implements the Anthropic (Claude) llms.Model with options for API key, model selection, and custom HTTP client or AWS config when used via Bedrock (see NewBedrock in this package). |
|
llms/bedrock
Package bedrock implements an llms.Model backed by AWS Bedrock.
|
Package bedrock implements an llms.Model backed by AWS Bedrock. |
|
llms/cloudflare
Package cloudflare implements an llms.Model for Cloudflare AI Gateway and compatible APIs.
|
Package cloudflare implements an llms.Model for Cloudflare AI Gateway and compatible APIs. |
|
llms/googleai
Package googleai implements Google AI (Vertex/Gemini) llms.Model wrappers.
|
Package googleai implements Google AI (Vertex/Gemini) llms.Model wrappers. |
|
llms/googleai/internal/cmd
command
Code generator for vertex.go from googleai.go nolint
|
Code generator for vertex.go from googleai.go nolint |
|
llms/openai
Package openai provides an llms.Model implementation for OpenAI-compatible APIs, including OpenAI and Azure OpenAI endpoints.
|
Package openai provides an llms.Model implementation for OpenAI-compatible APIs, including OpenAI and Azure OpenAI endpoints. |
|
llmutils
Package llmutils provides utilities for formatting prompts, cleaning model outputs, rendering data as JSON/YAML/markdown, and inspecting chat messages.
|
Package llmutils provides utilities for formatting prompts, cleaning model outputs, rendering data as JSON/YAML/markdown, and inspecting chat messages. |
|
metricskey
Package metricskey declares the metric descriptors emitted by the assistant loop, for use with github.com/effective-security/metrics.
|
Package metricskey declares the metric descriptors emitted by the assistant loop, for use with github.com/effective-security/metrics. |
|
prompts
Package prompts contains prompt templates and utilities for working with LLMs.
|
Package prompts contains prompt templates and utilities for working with LLMs. |
|
prompts/internal/fstring
Package fstring contains template format with f-string.
|
Package fstring contains template format with f-string. |
|
schema
Package schema provides helpers to generate JSON Schemas from Go types and shape those schemas for LLM prompting.
|
Package schema provides helpers to generate JSON Schemas from Go types and shape those schemas for LLM prompting. |
|
Package router selects an authorized, compatible text model and performs one non-streaming inference.
|
Package router selects an authorized, compatible text model and performs one non-streaming inference. |
|
dialect
Package dialect holds what the public API codecs share: decode and encode options, lenient/strict JSON object parsing with dialect-aware null handling, the sealed envelope for opaque reasoning state, and the mapping from router error kinds to HTTP status codes.
|
Package dialect holds what the public API codecs share: decode and encode options, lenient/strict JSON object parsing with dialect-aware null handling, the sealed envelope for opaque reasoning state, and the mapping from router error kinds to HTTP status codes. |
|
dialect/anthropic
Package anthropic is the Anthropic Messages codec for the router.
|
Package anthropic is the Anthropic Messages codec for the router. |
|
dialect/openai
Package openai translates the OpenAI Chat Completions and Responses request and response shapes to and from the portable router contract.
|
Package openai translates the OpenAI Chat Completions and Responses request and response shapes to and from the portable router contract. |
|
Package skills implements the Agent Skills open standard (https://agentskills.io) for AI assistants.
|
Package skills implements the Agent Skills open standard (https://agentskills.io) for AI assistants. |
|
Package store persists chat messages and chat metadata for agentic flows, with in-memory and Redis backends.
|
Package store persists chat messages and chat metadata for agentic flows, with in-memory and Redis backends. |
|
Package tools defines the contract every tool implements so an LLM agent can call it: a name, a description injected into the prompt, a JSON Schema for the arguments, and a string-to-string call.
|
Package tools defines the contract every tool implements so an LLM agent can call it: a name, a description injected into the prompt, a JSON Schema for the arguments, and a string-to-string call. |
|
tavily
Package tavily implements a web search tool backed by the Tavily API (https://docs.tavily.com), and serves as the reference implementation of the tools.ITool contract.
|
Package tavily implements a web search tool backed by the Tavily API (https://docs.tavily.com), and serves as the reference implementation of the tools.ITool contract. |
Click to show internal directories.
Click to hide internal directories.