agentmesh

package module
v0.0.0-...-7871f83 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 23, 2025 License: Apache-2.0 Imports: 0 Imported by: 0

README ΒΆ

πŸ€–πŸ•ΈοΈ AgentMesh

Go Version License Go Report Card GoDoc

Production-grade multi-agent orchestration framework powered by Pregel-style bulk-synchronous parallel (BSP) graph processing. Build sophisticated AI agent workflows with parallel execution, state management, and enterprise-grade observability.

Requires Go 1.24+


✨ Key Features

Core Engine
  • πŸ”„ Pregel BSP Execution - Parallel graph processing with optimized concurrency (4-10x faster state access)
  • 🧠 LLM Integration - Native support for OpenAI, Anthropic, Gemini, Amazon Bedrock, Ollama with streaming and reasoning models
  • πŸ’Ύ State Management - Lock-free channel-based state with checkpointing, managed value descriptors, and resume-time rehydration hooks
  • πŸ› οΈ Tool Orchestration - Type-safe function calling with automatic schema generation
  • πŸ”€ Model Routing - Intelligent model selection based on cost, capabilities, and availability
Production Ready
  • βœ… Graph Validation - Comprehensive compile-time error checking (cycles, missing nodes, unreachable paths)
  • πŸ’Ύ Checkpointing - Persistent state with auto-resume, encryption, and signing
  • ♻️ Zero-Copy Resume - Copy-on-write checkpoint restores reuse the saved map and only allocate when keys mutate (10k+ key checkpoints resume without GC spikes)
  • ⏸️ Human-in-the-Loop - Approval workflows with conditional guards and audit trails
  • πŸ“Š Observability - Built-in OpenTelemetry metrics, non-blocking event bus fan-out, and distributed tracing
  • πŸ” Resilience - Configurable retry policies, circuit breakers, and timeouts
  • πŸ”’ Security - WASM sandboxing and integrity checks
AI/ML Features
  • πŸ”’ Embeddings & Memory - Semantic search and long-term conversation storage
  • πŸ” RAG Integration - Vector stores (pgvector, Qdrant, Pinecone, Weaviate), AWS Bedrock Knowledge Bases, Kendra, and automatic query rephrasing
  • 🧠 Native Reasoning - First-class support for o1, o3, Gemini 2.0, Claude reasoning models
  • πŸ“ Prompt Templates - Variable substitution with reusable patterns
Extensibility
  • 🀝 A2A Protocol - Multi-agent collaboration with standardized communication
  • πŸ”Œ MCP Support - Dynamic tool discovery from Model Context Protocol servers
  • 🌐 LangChainGo Tools - Import existing tool ecosystem
  • βš™οΈ Custom Backends - Pluggable MessageBus for distributed execution (Redis, Kafka)

πŸš€ Quick Start

Installation
go get github.com/hupe1980/agentmesh@latest
Hello World ReAct Agent
package main

import (
    "context"
    "fmt"
    "log"
    "os"
    "strings"

    "github.com/hupe1980/agentmesh/pkg/agent"
    "github.com/hupe1980/agentmesh/pkg/graph"
    "github.com/hupe1980/agentmesh/pkg/message"
    "github.com/hupe1980/agentmesh/pkg/model/openai"
    "github.com/hupe1980/agentmesh/pkg/tool"
)

// WeatherArgs defines the JSON schema for the weather tool.
type WeatherArgs struct {
    Location string `json:"location" jsonschema:"description=The city to get weather for"`
}

func main() {
    ctx := context.Background()

    // Validate API key
    if strings.TrimSpace(os.Getenv("OPENAI_API_KEY")) == "" {
        log.Fatal("OPENAI_API_KEY environment variable is required")
    }

    // Create OpenAI model (uses OPENAI_API_KEY env var)
    model := openai.NewModel()

    // Define a tool with typed arguments
    weatherTool, err := tool.NewFuncTool(
        "get_weather",
        "Get current weather for a location",
        func(ctx context.Context, args WeatherArgs) (string, error) {
            return fmt.Sprintf("Weather in %s: Sunny, 72Β°F", args.Location), nil
        },
    )
    if err != nil {
        log.Fatal(err)
    }

    // Create ReAct agent
    reactAgent, err := agent.NewReAct(model,
        agent.WithTools(weatherTool),
        agent.WithMaxIterations(5),
    )
    if err != nil {
        log.Fatal(err)
    }

    // Execute agent and get the final result
    messages := []message.Message{
        message.NewHumanMessage("What's the weather in San Francisco?"),
    }

    lastMsg, err := graph.Last(reactAgent.Run(ctx, messages))
    if err != nil {
        log.Fatal(err)
    }

    fmt.Println(lastMsg.String())
}

Output:

Thought: I need to check the weather in San Francisco
Action: get_weather("San Francisco")
Observation: Weather in San Francisco: Sunny, 72Β°F
The weather in San Francisco is currently sunny with a temperature of 72Β°F.

πŸ“š Documentation

Getting Started
Core Concepts
Advanced Features

🎨 Examples

Explore 41 comprehensive examples in the examples/ directory:

Example Description
basic_agent Simple ReAct agent with tools
blogwriter Multi-agent blog writing with progress tracking
conversational_agent Agent with long-term memory across turns
document_loader Document loading and ingestion pipeline
supervisor_agent Multi-agent coordination with supervisor
reflection_agent Self-critique and iterative refinement
checkpointing State persistence and resume
human_approval Approval workflows with conditional guards
parallel_tasks Concurrent node execution
streaming Real-time response streaming
middleware Rate limiting and circuit breakers
custom_scheduler Priority and resource-aware scheduling
observability OpenTelemetry integration
a2a_integration Agent-to-agent communication
wasm_tool Sandboxed tool execution

See all examples β†’

Running Examples
# Run any example
cd examples/basic_agent
go run main.go

# Set required environment variables
export OPENAI_API_KEY=your-key-here
export ANTHROPIC_API_KEY=your-key-here  # For Anthropic examples

πŸ—οΈ Architecture

AgentMesh uses a layered architecture with clean separation of concerns:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚           Application Layer (pkg/agent)                     β”‚
β”‚  β€’ ReActAgent, SupervisorAgent, RAGAgent                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                         β”‚
                         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚           Graph Orchestration (pkg/graph)                   β”‚
β”‚  β€’ Workflow construction β€’ State management β€’ Validation    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                         β”‚
                         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚           Execution Engine (pkg/pregel)                     β”‚
β”‚                                                             β”‚
β”‚  β€’ BSP Runtime      β€’ Worker pools      β€’ MessageBus        β”‚
β”‚  β€’ Superstep sync   β€’ Sharded frontier  β€’ Backpressure      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Components:

  • Graph - Define nodes, edges, and execution flow with NodeFunc
  • BSPState - Copy-on-write state with typed Key[T] and ListKey[T]
  • Pregel Runtime - Bulk-synchronous parallel execution with sharded message passing
  • Checkpointer - State persistence with encryption, signing, and two-phase commit
  • Agents - High-level abstractions (ReAct, Supervisor, RAG)

Learn more about the architecture β†’


πŸ§ͺ Testing

# Run all tests
go test ./...

# With coverage
go test ./... -coverprofile=coverage.out
go tool cover -html=coverage.out

# Run benchmarks
go test ./... -bench=. -benchmem
Testing Utilities

The pkg/testutil package provides mock implementations and builders for testing agents and workflows. See the Testing Guide for comprehensive documentation.

import "github.com/hupe1980/agentmesh/pkg/testutil"

// Create a mock model with builder pattern
model := testutil.NewModelBuilder().
    WithResponse("Hello!").
    WithToolCalls(message.ToolCall{Name: "search"}).
    Build()

// Create a mock tool
tool := testutil.NewToolBuilder("search").
    WithResult("search results").
    Build()

// Record and assert model interactions
recorder := testutil.NewConversationRecorder()
// ... run agent ...
recorder.AssertRequestCount(t, 1)
recorder.AssertToolCallMade(t, "search")

🀝 Contributing

Contributions are welcome!

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Write tests for your changes
  4. Commit your changes (git commit -m 'Add amazing feature')
  5. Push to the branch (git push origin feature/amazing-feature)
  6. Open a Pull Request
Development Guidelines
  • All new code must have tests (target 85%+ coverage)
  • Run go fmt and golangci-lint before committing
  • Update documentation for public API changes
  • Add examples for new features

πŸ“„ License

Licensed under the Apache License 2.0 - see LICENSE for details.


πŸ™ Acknowledgments

  • Pregel Paper - Google's bulk-synchronous parallel graph processing model
  • Go Community - Exceptional tooling and ecosystem
  • OpenTelemetry - Production-grade observability standards

⭐ Star this repo if you find it useful!

Made with ❀️ by hupe1980

Documentation ΒΆ

Overview ΒΆ

Package agentmesh provides a production-grade multi-agent orchestration framework using Pregel-style bulk-synchronous parallel (BSP) graph processing.

Architecture ΒΆ

AgentMesh is built on three main layers:

  1. Execution Engine (pkg/pregel) - Public BSP runtime API for parallel computation and custom extensions
  2. Graph Orchestration (pkg/graph) - Workflow construction, state management, and scheduling
  3. Agent Layer (pkg/agent, pkg/model, pkg/tool) - High-level APIs for building LLM-powered agents

Quick Start ΒΆ

Build a simple ReAct agent:

import (
    "github.com/hupe1980/agentmesh/pkg/agent"
    "github.com/hupe1980/agentmesh/pkg/model/openai"
    "github.com/hupe1980/agentmesh/pkg/tool"
    "github.com/hupe1980/agentmesh/pkg/message"
)

type WeatherArgs struct {
    Location string `json:"location"`
}

// Create tools
weatherTool, _ := tool.NewFuncTool("get_weather",
    "Get current weather for a location",
    func(ctx context.Context, args WeatherArgs) (map[string]any, error) {
        return map[string]any{
            "location":    args.Location,
            "temperature": 22,
            "conditions":  "Sunny",
        }, nil
    },
)

// Build the agent
compiled, _ := agent.NewReAct(
    openai.NewModel(),
    []tool.Tool{weatherTool},
)

// Execute
messages := []message.Message{
    message.NewSystemMessageFromText("You are a helpful assistant."),
    message.NewHumanMessageFromText("What's the weather in Paris?"),
}
result, _ := graph.Last(compiled.Run(ctx, messages))

Core Packages ΒΆ

For graph construction:

import "github.com/hupe1980/agentmesh/pkg/graph"

For agent building:

import "github.com/hupe1980/agentmesh/pkg/agent"

For LLM models:

import "github.com/hupe1980/agentmesh/pkg/model/openai"
import "github.com/hupe1980/agentmesh/pkg/model/anthropic"

For tools:

import "github.com/hupe1980/agentmesh/pkg/tool"

For observability:

import "github.com/hupe1980/agentmesh/pkg/metrics"
import "github.com/hupe1980/agentmesh/pkg/trace"
import "github.com/hupe1980/agentmesh/pkg/logging"

Features ΒΆ

  • Parallel graph execution with Pregel-style BSP model (~430ns overhead per node)
  • Channel-based state management (Topic, LastValue, BinaryOp channels)
  • Automatic checkpointing and state persistence
  • Time-travel debugging by replaying from any superstep
  • Retry policies with configurable exponential backoff
  • Subgraph composition for modular workflows
  • OpenTelemetry metrics and distributed tracing
  • Human-in-the-loop pause/resume capabilities
  • Conditional routing based on node outputs
  • Message retention limits for conversation management
  • ReAct and RAG agent patterns

Examples ΒΆ

See the examples/ directory for comprehensive examples:

  • examples/basic_agent/ - Simple ReAct agent with tools
  • examples/streaming/ - Real-time execution result streaming
  • examples/conditional_flow/ - Dynamic routing
  • examples/parallel_tasks/ - Parallel node execution
  • examples/checkpointing/ - State persistence and recovery
  • examples/time_travel/ - Debug with superstep replay
  • examples/observability/ - OpenTelemetry integration
  • examples/human_pause/ - Human-in-the-loop workflows
  • examples/subgraph/ - Reusable graph components
  • examples/message_retention/ - Conversation history management

Production Features ΒΆ

MaxIterations:

compiled, _ := g.Build(
    graph.WithMaxIterations(100),
)

Checkpointing:

store := checkpoint.NewMemory()
compiled, _ := g.Build(
    graph.WithCheckpointer(store),
    graph.WithCheckpointInterval(1),
)
result, _ := graph.Last(compiled.Run(ctx, messages,
    graph.WithRunID(threadID),
))

Retry Policies:

g.Node("api_call", apiCallFunc, "next").
    WithRetryPolicy(&graph.RetryPolicy{
        MaxAttempts:    3,
        InitialBackoff: 100 * time.Millisecond,
        MaxBackoff:     1 * time.Second,
        Multiplier:     2.0,
    })

Observability:

inst := graph.NewInstrumentation(metricsProvider, traceProvider)
ctx, span := inst.TraceNodeExecution(ctx, nodeName, superstep)
inst.RecordNodeExecution(ctx, nodeName, duration, err)

Documentation ΒΆ

For detailed documentation, see:

  • README.md - Project overview and quick start
  • docs/getting-started.md - Comprehensive tutorial
  • docs/architecture.md - Pregel BSP design deep-dive
  • docs/agents.md - ReAct and RAG agent patterns
  • docs/tools.md - Building and using tools
  • docs/models.md - LLM provider integration
  • docs/observability.md - Metrics and tracing setup

API Documentation ΒΆ

Complete API reference: https://pkg.go.dev/github.com/hupe1980/agentmesh

Directories ΒΆ

Path Synopsis
examples
basic_agent command
basic_rag command
blogwriter command
builder_api command
This is a port of the builder_api example showing the simplified API.
This is a port of the builder_api example showing the simplified API.
checkpoint_encryption command
Package main demonstrates checkpoint encryption for secure state storage.
Package main demonstrates checkpoint encryption for secure state storage.
checkpoint_signing command
Package main demonstrates checkpoint signing for tamper detection.
Package main demonstrates checkpoint signing for tamper detection.
checkpointing command
Package main demonstrates checkpointing for fault tolerance and resume.
Package main demonstrates checkpointing for fault tolerance and resume.
circuit_breaker command
conversational_agent command
Package main demonstrates the Conversational agent pattern.
Package main demonstrates the Conversational agent pattern.
custom_observability command
Package main demonstrates custom observability with metrics collection.
Package main demonstrates custom observability with metrics collection.
custom_scheduler command
Package main demonstrates custom scheduler usage in AgentMesh.
Package main demonstrates custom scheduler usage in AgentMesh.
docker_tool command
document_loader command
graph_introspection command
Package main demonstrates graph introspection capabilities.
Package main demonstrates graph introspection capabilities.
human_approval command
Package main demonstrates human-in-the-loop approval workflow.
Package main demonstrates human-in-the-loop approval workflow.
human_pause command
Package main demonstrates pausing workflow for human input.
Package main demonstrates pausing workflow for human input.
langchaingo command
managed_values command
Package main demonstrates managed values in AgentMesh.
Package main demonstrates managed values in AgentMesh.
mcp_tools command
Package main demonstrates using MCP (Model Context Protocol) tools with AgentMesh.
Package main demonstrates using MCP (Model Context Protocol) tools with AgentMesh.
mermaid_flowchart command
Package main demonstrates generating Mermaid flowcharts from graphs.
Package main demonstrates generating Mermaid flowcharts from graphs.
message_retention command
Package main demonstrates message retention and history management.
Package main demonstrates message retention and history management.
middleware command
model_router command
namespaces command
Package main demonstrates namespace-based state isolation.
Package main demonstrates namespace-based state isolation.
observability command
Package main demonstrates observability with the event bus.
Package main demonstrates observability with the event bus.
parallel_tasks command
retry_policy command
Package main demonstrates retry policies for resilient node execution.
Package main demonstrates retry policies for resilient node execution.
streaming command
Package main demonstrates real-time streaming execution in AgentMesh.
Package main demonstrates real-time streaming execution in AgentMesh.
subgraph command
Package main demonstrates subgraph composition using graph.Subgraph().
Package main demonstrates subgraph composition using graph.Subgraph().
time_travel command
Package main demonstrates time-travel debugging with checkpoints.
Package main demonstrates time-travel debugging with checkpoints.
vectorstore command
viz_ui_demo command
wasm_tool command
internal
chanutil
Package chanutil provides utility functions for working with Go channels.
Package chanutil provides utility functions for working with Go channels.
floatconv
Package floatconv provides utilities for converting between float32 and float64 slices.
Package floatconv provides utilities for converting between float32 and float64 slices.
jsonschema
Package jsonschema provides automatic JSON Schema generation from Go types.
Package jsonschema provides automatic JSON Schema generation from Go types.
safeconv
Package safeconv provides safe integer conversions that handle overflow.
Package safeconv provides safe integer conversions that handle overflow.
safego
Package safego provides utilities for safe goroutine execution with panic recovery.
Package safego provides utilities for safe goroutine execution with panic recovery.
validate
Package validate provides reusable validation helpers to standardize error messages and reduce code duplication across the agentmesh codebase.
Package validate provides reusable validation helpers to standardize error messages and reduce code duplication across the agentmesh codebase.
pkg
a2a
Package a2a provides A2A (Agent-to-Agent) Protocol integration for AgentMesh.
Package a2a provides A2A (Agent-to-Agent) Protocol integration for AgentMesh.
agent
Package agent provides a high-level API for building LLM-powered agents with tool-calling capabilities, built on top of the graph execution engine.
Package agent provides a high-level API for building LLM-powered agents with tool-calling capabilities, built on top of the graph execution engine.
cache
Package cache provides semantic caching capabilities for model requests and responses.
Package cache provides semantic caching capabilities for model requests and responses.
cache/redis
Package redis provides a distributed semantic cache using Redis with vector search.
Package redis provides a distributed semantic cache using Redis with vector search.
checkpoint
Package checkpoint provides interfaces and implementations for persisting graph execution state.
Package checkpoint provides interfaces and implementations for persisting graph execution state.
checkpoint/awskms
Package awskms provides AWS KMS encryption support for checkpoints.
Package awskms provides AWS KMS encryption support for checkpoints.
checkpoint/dynamodb
Package dynamodb provides DynamoDB-based checkpoint persistence using AWS SDK for Go v2.
Package dynamodb provides DynamoDB-based checkpoint persistence using AWS SDK for Go v2.
checkpoint/sql
Package sql provides SQL-based checkpoint persistence using database/sql.
Package sql provides SQL-based checkpoint persistence using database/sql.
checkpoint/vault
Package vault provides HashiCorp Vault transit encryption support for checkpoints.
Package vault provides HashiCorp Vault transit encryption support for checkpoints.
embedding
Package embedding provides interfaces and implementations for converting text into vector embeddings.
Package embedding provides interfaces and implementations for converting text into vector embeddings.
embedding/openai
Package openai provides OpenAI embedding functionality for the agentmesh framework.
Package openai provides OpenAI embedding functionality for the agentmesh framework.
event
Package event provides a unified event system for publishing and subscribing to execution events across all components (graph, model, tool, node).
Package event provides a unified event system for publishing and subscribing to execution events across all components (graph, model, tool, node).
graph
Package graph provides structured errors for the graph package.
Package graph provides structured errors for the graph package.
graph/middleware
Package middleware provides reusable middleware for graph node execution.
Package middleware provides reusable middleware for graph node execution.
loader
Package loader provides document loading and text splitting utilities for ingesting content into vector stores.
Package loader provides document loading and text splitting utilities for ingesting content into vector stores.
logging
Package logging provides a minimal logging interface and adapters for AgentMesh.
Package logging provides a minimal logging interface and adapters for AgentMesh.
memory
Package memory provides long-term memory storage for multi-session conversations.
Package memory provides long-term memory storage for multi-session conversations.
message
Package message provides types for representing multi-modal conversational messages between humans, AI assistants, tools, and systems.
Package message provides types for representing multi-modal conversational messages between humans, AI assistants, tools, and systems.
metrics
Package metrics provides OpenTelemetry metrics collection for graph execution and agent performance.
Package metrics provides OpenTelemetry metrics collection for graph execution and agent performance.
metrics/opentelemetry
Package opentelemetry provides an OpenTelemetry-backed implementation of the agentmesh metrics.Provider interface.
Package opentelemetry provides an OpenTelemetry-backed implementation of the agentmesh metrics.Provider interface.
model
Package model provides interfaces and adapters for integrating Large Language Models (LLMs) into agent workflows.
Package model provides interfaces and adapters for integrating Large Language Models (LLMs) into agent workflows.
model/amazonbedrock
Package amazonbedrock provides a model adapter for Amazon Bedrock foundation models.
Package amazonbedrock provides a model adapter for Amazon Bedrock foundation models.
model/anthropic
Package anthropic provides integration with the Anthropic AI API for large language models.
Package anthropic provides integration with the Anthropic AI API for large language models.
model/gemini
Package gemini provides Google Gemini model integration for the agentmesh framework.
Package gemini provides Google Gemini model integration for the agentmesh framework.
model/langchaingo
Package langchaingo provides an adapter for using LangChainGo (github.com/tmc/langchaingo) models within AgentMesh workflows.
Package langchaingo provides an adapter for using LangChainGo (github.com/tmc/langchaingo) models within AgentMesh workflows.
model/middleware
Package middleware provides reusable middleware for model executors.
Package middleware provides reusable middleware for model executors.
model/ollama
Package ollama provides sentinel errors for the Ollama model package.
Package ollama provides sentinel errors for the Ollama model package.
model/openai
Package openai provides integration with the OpenAI API for large language models.
Package openai provides integration with the OpenAI API for large language models.
pregel
Package pregel provides a generic Bulk Synchronous Parallel (BSP) computation engine implementing Google's Pregel model for distributed graph processing.
Package pregel provides a generic Bulk Synchronous Parallel (BSP) computation engine implementing Google's Pregel model for distributed graph processing.
pregel/redis
Package redis provides a Redis-backed implementation of pregel.MessageBus for distributed graph execution.
Package redis provides a Redis-backed implementation of pregel.MessageBus for distributed graph execution.
prompt
Package prompt provides a simple template system for LLM prompts with variable substitution.
Package prompt provides a simple template system for LLM prompts with variable substitution.
quota
Package quota provides structured errors for quota violations.
Package quota provides structured errors for quota violations.
retrieval
Package retrieval provides functionality for document retrieval and result merging in RAG workflows.
Package retrieval provides functionality for document retrieval and result merging in RAG workflows.
retrieval/amazonbedrock
Package amazonbedrock provides retrievers powered by Amazon Bedrock agents.
Package amazonbedrock provides retrievers powered by Amazon Bedrock agents.
retrieval/amazonkendra
Package amazonkendra provides retrievers backed by Amazon Kendra indexes.
Package amazonkendra provides retrievers backed by Amazon Kendra indexes.
retrieval/langchaingo
Package langchaingo integrates retrievers backed by the LangChain Go SDK.
Package langchaingo integrates retrievers backed by the LangChain Go SDK.
schema
Package schema provides utilities for creating and working with JSON schemas for structured output in AgentMesh.
Package schema provides utilities for creating and working with JSON schemas for structured output in AgentMesh.
testutil
Package testutil provides testing utilities for the agentmesh framework.
Package testutil provides testing utilities for the agentmesh framework.
tool
Package tool provides abstractions for defining and executing tools that agents can use to perform actions and retrieve information.
Package tool provides abstractions for defining and executing tools that agents can use to perform actions and retrieve information.
tool/a2a
Package a2a provides tools for integrating external A2A agents into AgentMesh workflows.
Package a2a provides tools for integrating external A2A agents into AgentMesh workflows.
tool/docker
Package docker provides Docker-based tool sandboxing for secure execution of containerized commands with resource limits and network isolation.
Package docker provides Docker-based tool sandboxing for secure execution of containerized commands with resource limits and network isolation.
tool/langchaingo
Package langchaingo provides adapters for using langchaingo tools (github.com/tmc/langchaingo/tools) within AgentMesh workflows.
Package langchaingo provides adapters for using langchaingo tools (github.com/tmc/langchaingo/tools) within AgentMesh workflows.
tool/mcp
Package mcp provides integration with the Model Context Protocol (MCP).
Package mcp provides integration with the Model Context Protocol (MCP).
tool/middleware
Package middleware provides reusable middleware for tool executors.
Package middleware provides reusable middleware for tool executors.
tool/wasm
Package wasm provides WebAssembly-based tool sandboxing for secure execution of untrusted code with memory isolation and resource limits.
Package wasm provides WebAssembly-based tool sandboxing for secure execution of untrusted code with memory isolation and resource limits.
trace
Package trace provides OpenTelemetry distributed tracing for graph execution flows.
Package trace provides OpenTelemetry distributed tracing for graph execution flows.
trace/opentelemetry
Package opentelemetry provides an OpenTelemetry-backed implementation of the agentmesh trace.Provider interface.
Package opentelemetry provides an OpenTelemetry-backed implementation of the agentmesh trace.Provider interface.
vectorstore
Package vectorstore provides interfaces and implementations for vector storage backends.
Package vectorstore provides interfaces and implementations for vector storage backends.
vectorstore/memory
Package memory provides an in-memory VectorStore implementation.
Package memory provides an in-memory VectorStore implementation.
vectorstore/pgvector
Package pgvector provides a PostgreSQL pgvector-backed VectorStore implementation.
Package pgvector provides a PostgreSQL pgvector-backed VectorStore implementation.
vectorstore/pinecone
Package pinecone provides a Pinecone-backed VectorStore implementation.
Package pinecone provides a Pinecone-backed VectorStore implementation.
vectorstore/qdrant
Package qdrant provides a Qdrant-backed VectorStore implementation.
Package qdrant provides a Qdrant-backed VectorStore implementation.
vectorstore/s3vectors
Package s3vectors provides an Amazon S3 Vectors-backed VectorStore implementation.
Package s3vectors provides an Amazon S3 Vectors-backed VectorStore implementation.
vectorstore/weaviate
Package weaviate provides a Weaviate-backed VectorStore implementation.
Package weaviate provides a Weaviate-backed VectorStore implementation.
viz
Package viz provides real-time visualization and debugging for AgentMesh graphs and agents.
Package viz provides real-time visualization and debugging for AgentMesh graphs and agents.
viz/middleware
Package middleware provides visualization middleware for graph execution.
Package middleware provides visualization middleware for graph execution.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL