Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FormatUserError ¶ added in v0.5.0
FormatUserError converts an error into a user-friendly message. If the error is an *adk.AgentError, its structured UserMessage is used. Otherwise, a generic message is returned.
Types ¶
type App ¶
type App struct {
Config *config.Config
// Core Components
Agent *adk.Agent
Gateway *gateway.Server
Store session.Store
// Browser (optional, io.Closer)
Browser io.Closer
// Security Components (optional)
Crypto security.CryptoProvider
Keys *security.KeyRegistry
Secrets *security.SecretsStore
// Approval Provider (composite, routes to channel-specific providers)
ApprovalProvider approval.Provider
GrantStore *approval.GrantStore
// Self-Learning Components
KnowledgeStore *knowledge.Store
LearningEngine *learning.Engine
SkillRegistry *skill.Registry
// Agent Memory Components (optional, per-agent persistent memory)
AgentMemoryStore agentmemory.Store
// Observational Memory Components (optional)
MemoryStore *memory.Store
MemoryBuffer *memory.Buffer
// Embedding / RAG Components (optional)
EmbeddingBuffer *embedding.EmbeddingBuffer
RAGService *embedding.RAGService
// Conversation Analysis Components (optional)
AnalysisBuffer *learning.AnalysisBuffer
// Proactive Librarian Components (optional)
LibrarianInquiryStore *librarian.InquiryStore
LibrarianProactiveBuffer *librarian.ProactiveBuffer
// Graph Components (optional)
GraphStore graph.Store
GraphBuffer *graph.GraphBuffer
// Payment Components (optional)
WalletProvider wallet.WalletProvider
PaymentService *payment.Service
X402Interceptor *x402pkg.Interceptor
// Cron Scheduling Components (optional)
CronScheduler *cronpkg.Scheduler
// Background Task Components (optional)
BackgroundManager *background.Manager
// Workflow Engine Components (optional)
WorkflowEngine *workflow.Engine
// Economy Components (optional, P2P economy layer)
EconomyBudget interface{} // *budget.Engine
EconomyRisk interface{} // *risk.Engine
EconomyPricing interface{} // *pricing.Engine
EconomyNegotiation interface{} // *negotiation.Engine
EconomyEscrow interface{} // *escrow.Engine
// Smart Account Components (optional, ERC-7579 modular accounts)
SmartAccountManager interface{} // *smartaccount.Manager
SmartAccountComponents *smartAccountComponents // full components for CLI access
// MCP Components (optional, external MCP server integration)
MCPManager *mcp.ServerManager
// Observability Components (optional)
MetricsCollector *observability.MetricsCollector
HealthRegistry *health.Registry
TokenStore *token.EntTokenStore
// Tool Catalog (built-in tool discovery + dynamic dispatch)
ToolCatalog *toolcatalog.Catalog
// P2P Components (optional)
P2PNode *p2p.Node
P2PAgentPool *agentpool.Pool
P2PTeamCoordinator *team.Coordinator
P2PAgentProvider agentpool.DynamicAgentProvider
// Event Bus (app-level, for hooks and cross-component communication)
EventBus *eventbus.Bus
// Agent Registry (dynamic agent definitions)
AgentRegistry *agentregistry.Registry
// Hook Registry (tool execution hooks)
HookRegistry *toolchain.HookRegistry
// Channels
Channels []Channel
// contains filtered or unexported fields
}
App is the root application structure
type ExtendableDeadline ¶ added in v0.5.0
type ExtendableDeadline struct {
// contains filtered or unexported fields
}
ExtendableDeadline wraps a context with a deadline that can be extended when agent activity is detected, up to a maximum absolute timeout.
func NewExtendableDeadline ¶ added in v0.5.0
func NewExtendableDeadline(parent context.Context, baseTimeout, maxTimeout time.Duration) (context.Context, *ExtendableDeadline)
NewExtendableDeadline creates a new ExtendableDeadline. baseTimeout is the initial (and per-extension) timeout duration. maxTimeout is the absolute maximum duration from creation time.
func (*ExtendableDeadline) Extend ¶ added in v0.5.0
func (ed *ExtendableDeadline) Extend()
Extend resets the deadline timer by baseTimeout from now, but never beyond maxTimeout from the original start time.
func (*ExtendableDeadline) Stop ¶ added in v0.5.0
func (ed *ExtendableDeadline) Stop()
Stop releases the deadline resources. Must be called when done (typically via defer).
Source Files
¶
- app.go
- channels.go
- deadline.go
- error_format.go
- p2p_routes.go
- routes_observability.go
- sender.go
- tools.go
- tools_agentmemory.go
- tools_automation.go
- tools_browser.go
- tools_contract.go
- tools_data.go
- tools_economy.go
- tools_escrow.go
- tools_exec.go
- tools_filesystem.go
- tools_meta.go
- tools_p2p.go
- tools_security.go
- tools_sentinel.go
- tools_smartaccount.go
- types.go
- wiring.go
- wiring_automation.go
- wiring_contract.go
- wiring_economy.go
- wiring_embedding.go
- wiring_graph.go
- wiring_knowledge.go
- wiring_librarian.go
- wiring_mcp.go
- wiring_memory.go
- wiring_observability.go
- wiring_p2p.go
- wiring_payment.go
- wiring_smartaccount.go