Documentation
¶
Overview ¶
Copyright 2026 Teradata
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright 2026 Teradata ¶
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Index ¶
- Constants
- func All(promptRegistry prompts.PromptRegistry) []shuttle.Tool
- func ByName(name string) shuttle.Tool
- func CommunicationToolNames() []string
- func CommunicationTools(queue *communication.MessageQueue, bus *communication.MessageBus, ...) []shuttle.Tool
- func LoadAllMetadata() (map[string]*metadata.ToolMetadata, error)
- func LoadMetadata(toolName string) (*metadata.ToolMetadata, error)
- func Names() []string
- func PresentationToolNames() []string
- func PresentationTools(store *communication.SharedMemoryStore, agentID string) []shuttle.Tool
- func RegisterAll(registry *shuttle.Registry)
- func RegisterByNames(registry *shuttle.Registry, names []string)
- func VisualizationToolNames() []string
- func VisualizationTools() []shuttle.Tool
- type ColumnStatistics
- type DocumentParseTool
- func (t *DocumentParseTool) Backend() string
- func (t *DocumentParseTool) Description() string
- func (t *DocumentParseTool) Execute(ctx context.Context, params map[string]interface{}) (*shuttle.Result, error)
- func (t *DocumentParseTool) InputSchema() *shuttle.JSONSchema
- func (t *DocumentParseTool) Name() string
- type FileReadTool
- type FileWriteTool
- type GRPCClientTool
- func (t *GRPCClientTool) Backend() string
- func (t *GRPCClientTool) Close()
- func (t *GRPCClientTool) Description() string
- func (t *GRPCClientTool) Execute(ctx context.Context, params map[string]interface{}) (*shuttle.Result, error)
- func (t *GRPCClientTool) InputSchema() *shuttle.JSONSchema
- func (t *GRPCClientTool) Name() string
- type GroupByQueryTool
- func (t *GroupByQueryTool) Backend() string
- func (t *GroupByQueryTool) Description() string
- func (t *GroupByQueryTool) Execute(ctx context.Context, params map[string]interface{}) (*shuttle.Result, error)
- func (t *GroupByQueryTool) InputSchema() *shuttle.JSONSchema
- func (t *GroupByQueryTool) Name() string
- type HTTPClientTool
- type PublishRestartTool
- func (t *PublishRestartTool) Backend() string
- func (t *PublishRestartTool) Description() string
- func (t *PublishRestartTool) Execute(ctx context.Context, params map[string]interface{}) (*shuttle.Result, error)
- func (t *PublishRestartTool) InputSchema() *shuttle.JSONSchema
- func (t *PublishRestartTool) Name() string
- type PublishTool
- type ReceiveBroadcastTool
- func (t *ReceiveBroadcastTool) Backend() string
- func (t *ReceiveBroadcastTool) Description() string
- func (t *ReceiveBroadcastTool) Execute(ctx context.Context, params map[string]interface{}) (*shuttle.Result, error)
- func (t *ReceiveBroadcastTool) InputSchema() *shuttle.JSONSchema
- func (t *ReceiveBroadcastTool) Name() string
- type ReceiveMessageTool
- func (t *ReceiveMessageTool) Backend() string
- func (t *ReceiveMessageTool) Description() string
- func (t *ReceiveMessageTool) Execute(ctx context.Context, params map[string]interface{}) (*shuttle.Result, error)
- func (t *ReceiveMessageTool) InputSchema() *shuttle.JSONSchema
- func (t *ReceiveMessageTool) Name() string
- type SearchResult
- type SendMessageTool
- func (t *SendMessageTool) Backend() string
- func (t *SendMessageTool) Description() string
- func (t *SendMessageTool) Execute(ctx context.Context, params map[string]interface{}) (*shuttle.Result, error)
- func (t *SendMessageTool) InputSchema() *shuttle.JSONSchema
- func (t *SendMessageTool) Name() string
- type SharedMemoryReadTool
- func (t *SharedMemoryReadTool) Backend() string
- func (t *SharedMemoryReadTool) Description() string
- func (t *SharedMemoryReadTool) Execute(ctx context.Context, params map[string]interface{}) (*shuttle.Result, error)
- func (t *SharedMemoryReadTool) InputSchema() *shuttle.JSONSchema
- func (t *SharedMemoryReadTool) Name() string
- type SharedMemoryWriteTool
- func (t *SharedMemoryWriteTool) Backend() string
- func (t *SharedMemoryWriteTool) Description() string
- func (t *SharedMemoryWriteTool) Execute(ctx context.Context, params map[string]interface{}) (*shuttle.Result, error)
- func (t *SharedMemoryWriteTool) InputSchema() *shuttle.JSONSchema
- func (t *SharedMemoryWriteTool) Name() string
- type ShellExecuteTool
- func (t *ShellExecuteTool) Backend() string
- func (t *ShellExecuteTool) Description() string
- func (t *ShellExecuteTool) Execute(ctx context.Context, params map[string]interface{}) (*shuttle.Result, error)
- func (t *ShellExecuteTool) InputSchema() *shuttle.JSONSchema
- func (t *ShellExecuteTool) Name() string
- type SubscribeTool
- type TeradataTypeMapping
- type TopNQueryTool
- type VisionTool
- type WebSearchTool
- type WorkflowVisualizationTool
- func (t *WorkflowVisualizationTool) Backend() string
- func (t *WorkflowVisualizationTool) Description() string
- func (t *WorkflowVisualizationTool) Execute(ctx context.Context, params map[string]interface{}) (*shuttle.Result, error)
- func (t *WorkflowVisualizationTool) InputSchema() *shuttle.JSONSchema
- func (t *WorkflowVisualizationTool) Name() string
Constants ¶
const ( // MaxDocumentSize is the maximum file size for document parsing (100MB) MaxDocumentSize = 100 * 1024 * 1024 // MaxCSVRows is the default maximum number of CSV rows to parse MaxCSVRows = 10000 // MaxPDFPages is the default maximum number of PDF pages to parse MaxPDFPages = 100 // MaxExcelRows is the default maximum number of Excel rows per sheet MaxExcelRows = 10000 )
const ( // MaxFileReadSize is the maximum file size we'll read (10MB). // Prevents memory issues with very large files. MaxFileReadSize = 10 * 1024 * 1024 // DefaultMaxLines limits text output to prevent context bloat. DefaultMaxLines = 1000 )
const ( // DefaultShellTimeout is the default execution timeout (5 minutes). DefaultShellTimeout = 300 // MaxShellTimeout is the maximum allowed timeout (10 minutes). MaxShellTimeout = 600 // DefaultMaxOutputBytes limits output size to prevent memory issues (1MB). DefaultMaxOutputBytes = 1024 * 1024 )
const ( DefaultBraveEndpoint = "https://api.search.brave.com/res/v1/web/search" DefaultTavilyEndpoint = "https://api.tavily.com/search" DefaultSerpAPIEndpoint = "https://serpapi.com/search" DefaultDuckDuckGoEndpoint = "https://api.duckduckgo.com/" DefaultSearchTimeout = 30 * time.Second )
Default web search API endpoints (can be overridden via environment variables)
const ( // MaxImageSize is the maximum image file size we'll read (20MB). // Most LLM providers have image size limits around 5-20MB. MaxImageSize = 20 * 1024 * 1024 )
const ToolSearchName = "tool_search"
ToolSearchName is the name of the tool_search tool.
Variables ¶
This section is empty.
Functions ¶
func All ¶
func All(promptRegistry prompts.PromptRegistry) []shuttle.Tool
All creates all builtin tools. If promptRegistry is provided, tools will load descriptions from PromptRegistry. Falls back to hardcoded descriptions if prompts not found or registry is nil.
func CommunicationToolNames ¶
func CommunicationToolNames() []string
CommunicationToolNames returns the names of communication tools. Note: Visualization tools are not included - use VisualizationToolNames() for those.
func CommunicationTools ¶
func CommunicationTools(queue *communication.MessageQueue, bus *communication.MessageBus, store *communication.SharedMemoryStore, agentID string) []shuttle.Tool
CommunicationTools creates communication tools for an agent. These tools require infrastructure (MessageQueue, SharedMemoryStore) and agent ID. They cannot be created via All() or ByName() since they need per-agent context.
Includes: - send_message, receive_message (point-to-point messaging) - publish, subscribe, receive_broadcast (pub-sub broadcast messaging) - shared_memory_write, shared_memory_read (zero-copy data sharing) - top_n_query, group_by_query (presentation strategies)
Note: Visualization tools (generate_workflow_visualization, generate_visualization) are NOT included by default. Use VisualizationTools() to get them for metaagent assignment.
func LoadAllMetadata ¶
func LoadAllMetadata() (map[string]*metadata.ToolMetadata, error)
LoadAllMetadata loads metadata for all builtin tools with caching. Returns a map of tool name -> metadata. Tools without metadata files are omitted from the map.
func LoadMetadata ¶
func LoadMetadata(toolName string) (*metadata.ToolMetadata, error)
LoadMetadata loads rich metadata for a builtin tool with caching. Returns nil if metadata file not found or tool is not a builtin. Metadata includes: use_cases, conflicts, alternatives, examples, best_practices, etc. Subsequent calls for the same tool return cached results without file I/O.
func Names ¶
func Names() []string
Names returns the names of all builtin tools. Note: spawn_agent is NOT included as it's a metaagent tool to avoid import cycles.
func PresentationToolNames ¶
func PresentationToolNames() []string
PresentationToolNames returns the names of presentation strategy tools. Note: Visualization tools are not included - use VisualizationToolNames() for those.
func PresentationTools ¶
func PresentationTools(store *communication.SharedMemoryStore, agentID string) []shuttle.Tool
PresentationTools creates presentation strategy tools for an agent. These tools allow agents to query shared memory data using SQL-inspired patterns (Top-N, GROUP BY, etc.) without writing raw SQL.
Note: Visualization tools (generate_workflow_visualization, generate_visualization) are NOT included here by default. They should be explicitly assigned by the metaagent when needed. Use VisualizationTools() to get them.
func RegisterAll ¶
RegisterAll registers all builtin tools with a registry. Uses hardcoded tool descriptions (for backward compatibility).
func RegisterByNames ¶
RegisterByNames registers only the specified builtin tools. Apple-style: Only load what you need.
func VisualizationToolNames ¶
func VisualizationToolNames() []string
VisualizationToolNames returns the names of visualization tools. These are available for metaagent assignment but not included in default tool sets.
func VisualizationTools ¶
VisualizationTools returns visualization tools that can be assigned by the metaagent. These are NOT included in default tool sets - they must be explicitly assigned.
Types ¶
type ColumnStatistics ¶
type ColumnStatistics struct {
Name string
Position int
// Type inference
InferredCSVType string // "integer", "float", "string", "date", "boolean", "mixed"
TeradataType string // "INTEGER", "DECIMAL(18,2)", "VARCHAR(500)", etc.
TypeConfidence float64 // 0.0-1.0
// NULL handling
TotalRows int
NullCount int
NullPercentage float64
// Numeric statistics (for integer/float)
MinValue float64
MaxValue float64
AvgValue float64
DecimalPlaces int // Max observed decimal places
// String statistics
MinLength int
MaxLength int
AvgLength float64
DistinctCount int
SampleValues []string // First 10 unique values
// Date statistics
DateFormat string
InvalidDateCount int
// Data quality
DataQualityScore float64 // 0.0-1.0
Issues []string // ["3 invalid dates", "mixed types detected"]
}
ColumnStatistics contains detailed statistics for robust type inference and data quality assessment.
type DocumentParseTool ¶
type DocumentParseTool struct {
// contains filtered or unexported fields
}
DocumentParseTool provides document parsing capabilities for CSV, PDF, and Excel files.
func NewDocumentParseTool ¶
func NewDocumentParseTool(baseDir string) *DocumentParseTool
NewDocumentParseTool creates a new document parsing tool. If baseDir is empty, the current working directory is used.
func (*DocumentParseTool) Backend ¶
func (t *DocumentParseTool) Backend() string
Backend returns the backend name (empty for builtin tools).
func (*DocumentParseTool) Description ¶
func (t *DocumentParseTool) Description() string
Description returns the tool description.
func (*DocumentParseTool) Execute ¶
func (t *DocumentParseTool) Execute(ctx context.Context, params map[string]interface{}) (*shuttle.Result, error)
Execute parses a document and returns structured data.
func (*DocumentParseTool) InputSchema ¶
func (t *DocumentParseTool) InputSchema() *shuttle.JSONSchema
InputSchema returns the JSON schema for the tool's input.
func (*DocumentParseTool) Name ¶
func (t *DocumentParseTool) Name() string
Name returns the tool name.
type FileReadTool ¶
type FileReadTool struct {
// contains filtered or unexported fields
}
FileReadTool provides safe file reading capabilities for agents. Enables data grounding by reading actual file content rather than guessing.
func NewFileReadTool ¶
func NewFileReadTool(baseDir string) *FileReadTool
NewFileReadTool creates a new file read tool. If baseDir is empty, reads from current directory (with safety checks).
func (*FileReadTool) Backend ¶
func (t *FileReadTool) Backend() string
func (*FileReadTool) Description ¶
func (t *FileReadTool) Description() string
Description returns the tool description. Deprecated: Description loaded from PromptRegistry (prompts/tools/file.yaml). This fallback is used only when prompts are not configured.
func (*FileReadTool) InputSchema ¶
func (t *FileReadTool) InputSchema() *shuttle.JSONSchema
func (*FileReadTool) Name ¶
func (t *FileReadTool) Name() string
type FileWriteTool ¶
type FileWriteTool struct {
// contains filtered or unexported fields
}
FileWriteTool provides safe file writing capabilities for agents. Apple-style: Secure by default, creates directories automatically.
func NewFileWriteTool ¶
func NewFileWriteTool(baseDir string) *FileWriteTool
NewFileWriteTool creates a new file write tool. If baseDir is empty, writes to current directory (with safety checks).
func (*FileWriteTool) Backend ¶
func (t *FileWriteTool) Backend() string
func (*FileWriteTool) Description ¶
func (t *FileWriteTool) Description() string
Description returns the tool description. Deprecated: Description loaded from PromptRegistry (prompts/tools/file.yaml). This fallback is used only when prompts are not configured.
func (*FileWriteTool) InputSchema ¶
func (t *FileWriteTool) InputSchema() *shuttle.JSONSchema
func (*FileWriteTool) Name ¶
func (t *FileWriteTool) Name() string
type GRPCClientTool ¶
type GRPCClientTool struct {
// contains filtered or unexported fields
}
GRPCClientTool provides gRPC client capabilities for calling other gRPC services. Apple-style: Uses reflection for zero-config calls to any gRPC service.
func NewGRPCClientTool ¶
func NewGRPCClientTool() *GRPCClientTool
NewGRPCClientTool creates a new gRPC client tool.
func (*GRPCClientTool) Backend ¶
func (t *GRPCClientTool) Backend() string
func (*GRPCClientTool) Close ¶
func (t *GRPCClientTool) Close()
Close closes all connections (call on shutdown).
func (*GRPCClientTool) Description ¶
func (t *GRPCClientTool) Description() string
Description returns the tool description. Deprecated: Description loaded from PromptRegistry (prompts/tools/grpc.yaml). This fallback is used only when prompts are not configured.
func (*GRPCClientTool) InputSchema ¶
func (t *GRPCClientTool) InputSchema() *shuttle.JSONSchema
func (*GRPCClientTool) Name ¶
func (t *GRPCClientTool) Name() string
type GroupByQueryTool ¶
type GroupByQueryTool struct {
// contains filtered or unexported fields
}
GroupByQueryTool provides GROUP BY aggregation capability for agents. Executes GROUP BY pattern on data from shared memory. Pattern: Aggregate data by dimensions with sum/count/avg functions.
func NewGroupByQueryTool ¶
func NewGroupByQueryTool(store *communication.SharedMemoryStore, agentID string) *GroupByQueryTool
NewGroupByQueryTool creates a new GROUP BY query tool.
func (*GroupByQueryTool) Backend ¶
func (t *GroupByQueryTool) Backend() string
func (*GroupByQueryTool) Description ¶
func (t *GroupByQueryTool) Description() string
Description returns the tool description. Deprecated: Description loaded from PromptRegistry (prompts/tools/presentation.yaml). This fallback is used only when prompts are not configured.
func (*GroupByQueryTool) InputSchema ¶
func (t *GroupByQueryTool) InputSchema() *shuttle.JSONSchema
func (*GroupByQueryTool) Name ¶
func (t *GroupByQueryTool) Name() string
type HTTPClientTool ¶
type HTTPClientTool struct {
// contains filtered or unexported fields
}
HTTPClientTool provides HTTP request capabilities for agents. Apple-style: It just works with sensible defaults.
func NewHTTPClientTool ¶
func NewHTTPClientTool() *HTTPClientTool
NewHTTPClientTool creates a new HTTP client tool with sensible defaults.
func (*HTTPClientTool) Backend ¶
func (t *HTTPClientTool) Backend() string
func (*HTTPClientTool) Description ¶
func (t *HTTPClientTool) Description() string
Description returns the tool description. Deprecated: Description loaded from PromptRegistry (prompts/tools/rest_api.yaml). This fallback is used only when prompts are not configured.
func (*HTTPClientTool) InputSchema ¶
func (t *HTTPClientTool) InputSchema() *shuttle.JSONSchema
func (*HTTPClientTool) Name ¶
func (t *HTTPClientTool) Name() string
type PublishRestartTool ¶
type PublishRestartTool struct {
// contains filtered or unexported fields
}
PublishRestartTool enables agents to request workflow stage restarts via pub/sub. Used in iterative workflows to enable autonomous agent coordination and self-correction.
func NewPublishRestartTool ¶
func NewPublishRestartTool(messageBus *communication.MessageBus, agentID string) *PublishRestartTool
NewPublishRestartTool creates a new publish restart tool for an agent.
func (*PublishRestartTool) Backend ¶
func (t *PublishRestartTool) Backend() string
func (*PublishRestartTool) Description ¶
func (t *PublishRestartTool) Description() string
Description returns the tool description. Deprecated: Description loaded from PromptRegistry (prompts/tools/communication.yaml). This fallback is used only when prompts are not configured.
func (*PublishRestartTool) InputSchema ¶
func (t *PublishRestartTool) InputSchema() *shuttle.JSONSchema
func (*PublishRestartTool) Name ¶
func (t *PublishRestartTool) Name() string
type PublishTool ¶
type PublishTool struct {
// contains filtered or unexported fields
}
PublishTool provides topic publishing for pub-sub communication. Allows agents to broadcast messages to all subscribers of a topic.
func NewPublishTool ¶
func NewPublishTool(bus *communication.MessageBus, agentID string) *PublishTool
NewPublishTool creates a new publish tool for an agent.
func (*PublishTool) Backend ¶
func (t *PublishTool) Backend() string
func (*PublishTool) Description ¶
func (t *PublishTool) Description() string
Description returns the tool description.
func (*PublishTool) InputSchema ¶
func (t *PublishTool) InputSchema() *shuttle.JSONSchema
func (*PublishTool) Name ¶
func (t *PublishTool) Name() string
type ReceiveBroadcastTool ¶
type ReceiveBroadcastTool struct {
// contains filtered or unexported fields
}
ReceiveBroadcastTool provides message retrieval from subscribed topics. Works with event-driven notifications for instant message delivery.
func NewReceiveBroadcastTool ¶
func NewReceiveBroadcastTool(bus *communication.MessageBus, agentID string) *ReceiveBroadcastTool
NewReceiveBroadcastTool creates a new receive broadcast tool for an agent.
func (*ReceiveBroadcastTool) Backend ¶
func (t *ReceiveBroadcastTool) Backend() string
func (*ReceiveBroadcastTool) Description ¶
func (t *ReceiveBroadcastTool) Description() string
Description returns the tool description.
func (*ReceiveBroadcastTool) InputSchema ¶
func (t *ReceiveBroadcastTool) InputSchema() *shuttle.JSONSchema
func (*ReceiveBroadcastTool) Name ¶
func (t *ReceiveBroadcastTool) Name() string
type ReceiveMessageTool ¶
type ReceiveMessageTool struct {
// contains filtered or unexported fields
}
ReceiveMessageTool provides message retrieval for agent-to-agent communication. Receives messages sent by other agents via send_message tool.
func NewReceiveMessageTool ¶
func NewReceiveMessageTool(queue *communication.MessageQueue, agentID string) *ReceiveMessageTool
NewReceiveMessageTool creates a new receive message tool for an agent.
func (*ReceiveMessageTool) Backend ¶
func (t *ReceiveMessageTool) Backend() string
func (*ReceiveMessageTool) Description ¶
func (t *ReceiveMessageTool) Description() string
Description returns the tool description. Deprecated: Description loaded from PromptRegistry (prompts/tools/communication.yaml). This fallback is used only when prompts are not configured.
func (*ReceiveMessageTool) InputSchema ¶
func (t *ReceiveMessageTool) InputSchema() *shuttle.JSONSchema
func (*ReceiveMessageTool) Name ¶
func (t *ReceiveMessageTool) Name() string
type SearchResult ¶
type SearchResult struct {
Title string `json:"title"`
URL string `json:"url"`
Snippet string `json:"snippet"`
Content string `json:"content,omitempty"` // Full content if available
PublishedAt string `json:"published_at,omitempty"` // Publication date if available
Score float64 `json:"score,omitempty"` // Relevance score if available
}
SearchResult represents a single search result.
type SendMessageTool ¶
type SendMessageTool struct {
// contains filtered or unexported fields
}
SendMessageTool provides agent-to-agent messaging for workflows. Enables point-to-point async communication between agents.
func NewSendMessageTool ¶
func NewSendMessageTool(queue *communication.MessageQueue, agentID string) *SendMessageTool
NewSendMessageTool creates a new send message tool for an agent.
func (*SendMessageTool) Backend ¶
func (t *SendMessageTool) Backend() string
func (*SendMessageTool) Description ¶
func (t *SendMessageTool) Description() string
Description returns the tool description. Deprecated: Description loaded from PromptRegistry (prompts/tools/communication.yaml). This fallback is used only when prompts are not configured.
func (*SendMessageTool) InputSchema ¶
func (t *SendMessageTool) InputSchema() *shuttle.JSONSchema
func (*SendMessageTool) Name ¶
func (t *SendMessageTool) Name() string
type SharedMemoryReadTool ¶
type SharedMemoryReadTool struct {
// contains filtered or unexported fields
}
SharedMemoryReadTool provides shared memory read access for agents. Retrieves data stored by other agents in the workflow.
func NewSharedMemoryReadTool ¶
func NewSharedMemoryReadTool(store *communication.SharedMemoryStore, agentID string) *SharedMemoryReadTool
NewSharedMemoryReadTool creates a new shared memory read tool.
func (*SharedMemoryReadTool) Backend ¶
func (t *SharedMemoryReadTool) Backend() string
func (*SharedMemoryReadTool) Description ¶
func (t *SharedMemoryReadTool) Description() string
Description returns the tool description. Deprecated: Description loaded from PromptRegistry (prompts/tools/communication.yaml). This fallback is used only when prompts are not configured.
func (*SharedMemoryReadTool) InputSchema ¶
func (t *SharedMemoryReadTool) InputSchema() *shuttle.JSONSchema
func (*SharedMemoryReadTool) Name ¶
func (t *SharedMemoryReadTool) Name() string
type SharedMemoryWriteTool ¶
type SharedMemoryWriteTool struct {
// contains filtered or unexported fields
}
SharedMemoryWriteTool provides shared memory write access for agents. Stores data that can be accessed by other agents in the workflow.
func NewSharedMemoryWriteTool ¶
func NewSharedMemoryWriteTool(store *communication.SharedMemoryStore, agentID string) *SharedMemoryWriteTool
NewSharedMemoryWriteTool creates a new shared memory write tool.
func (*SharedMemoryWriteTool) Backend ¶
func (t *SharedMemoryWriteTool) Backend() string
func (*SharedMemoryWriteTool) Description ¶
func (t *SharedMemoryWriteTool) Description() string
Description returns the tool description. Deprecated: Description loaded from PromptRegistry (prompts/tools/communication.yaml). This fallback is used only when prompts are not configured.
func (*SharedMemoryWriteTool) InputSchema ¶
func (t *SharedMemoryWriteTool) InputSchema() *shuttle.JSONSchema
func (*SharedMemoryWriteTool) Name ¶
func (t *SharedMemoryWriteTool) Name() string
type ShellExecuteTool ¶
type ShellExecuteTool struct {
// contains filtered or unexported fields
}
ShellExecuteTool provides cross-platform shell command execution. Supports Unix (bash/sh) and Windows (PowerShell/cmd).
func NewShellExecuteTool ¶
func NewShellExecuteTool(baseDir string) *ShellExecuteTool
NewShellExecuteTool creates a new shell execution tool. If baseDir is empty, uses current working directory.
func (*ShellExecuteTool) Backend ¶
func (t *ShellExecuteTool) Backend() string
func (*ShellExecuteTool) Description ¶
func (t *ShellExecuteTool) Description() string
Description returns the tool description. Deprecated: Description loaded from PromptRegistry (prompts/tools/shell_execute.yaml). This fallback is used only when prompts are not configured.
func (*ShellExecuteTool) InputSchema ¶
func (t *ShellExecuteTool) InputSchema() *shuttle.JSONSchema
func (*ShellExecuteTool) Name ¶
func (t *ShellExecuteTool) Name() string
type SubscribeTool ¶
type SubscribeTool struct {
// contains filtered or unexported fields
}
SubscribeTool provides topic subscription for pub-sub communication. Allows agents to subscribe to topics and receive broadcast messages.
func NewSubscribeTool ¶
func NewSubscribeTool(bus *communication.MessageBus, agentID string) *SubscribeTool
NewSubscribeTool creates a new subscribe tool for an agent.
func (*SubscribeTool) Backend ¶
func (t *SubscribeTool) Backend() string
func (*SubscribeTool) Description ¶
func (t *SubscribeTool) Description() string
Description returns the tool description.
func (*SubscribeTool) InputSchema ¶
func (t *SubscribeTool) InputSchema() *shuttle.JSONSchema
func (*SubscribeTool) Name ¶
func (t *SubscribeTool) Name() string
type TeradataTypeMapping ¶
type TeradataTypeMapping struct {
TeradataType string
Nullable bool
DefaultValue string
Recommendation string
Confidence float64
}
TeradataTypeMapping maps CSV types to Teradata types with precision.
type TopNQueryTool ¶
type TopNQueryTool struct {
// contains filtered or unexported fields
}
TopNQueryTool provides Top-N query capability for agents. Executes TOP N pattern on data from shared memory (e.g., Stage 9 results). Pattern: Get top N items sorted by a column (frequency, score, etc.)
func NewTopNQueryTool ¶
func NewTopNQueryTool(store *communication.SharedMemoryStore, agentID string) *TopNQueryTool
NewTopNQueryTool creates a new Top-N query tool.
func (*TopNQueryTool) Backend ¶
func (t *TopNQueryTool) Backend() string
func (*TopNQueryTool) Description ¶
func (t *TopNQueryTool) Description() string
Description returns the tool description. Deprecated: Description loaded from PromptRegistry (prompts/tools/presentation.yaml). This fallback is used only when prompts are not configured.
func (*TopNQueryTool) InputSchema ¶
func (t *TopNQueryTool) InputSchema() *shuttle.JSONSchema
func (*TopNQueryTool) Name ¶
func (t *TopNQueryTool) Name() string
type VisionTool ¶
type VisionTool struct {
// contains filtered or unexported fields
}
VisionTool provides image analysis capabilities for agents. Enables vision-based tasks like chart interpretation, OCR, screenshot analysis, etc.
func NewVisionTool ¶
func NewVisionTool(baseDir string) *VisionTool
NewVisionTool creates a new vision tool. If baseDir is empty, reads from current directory (with safety checks).
func (*VisionTool) Backend ¶
func (t *VisionTool) Backend() string
func (*VisionTool) Description ¶
func (t *VisionTool) Description() string
Description returns the tool description. Deprecated: Description loaded from PromptRegistry (prompts/tools/vision.yaml). This fallback is used only when prompts are not configured.
func (*VisionTool) InputSchema ¶
func (t *VisionTool) InputSchema() *shuttle.JSONSchema
func (*VisionTool) Name ¶
func (t *VisionTool) Name() string
type WebSearchTool ¶
type WebSearchTool struct {
// contains filtered or unexported fields
}
WebSearchTool provides web search capabilities via multiple providers. Supports: Brave Search, Tavily, SerpAPI, and DuckDuckGo. Apple-style: It just works with sensible defaults.
Endpoints can be configured via environment variables:
- LOOM_WEB_SEARCH_BRAVE_ENDPOINT
- LOOM_WEB_SEARCH_TAVILY_ENDPOINT
- LOOM_WEB_SEARCH_SERPAPI_ENDPOINT
- LOOM_WEB_SEARCH_DUCKDUCKGO_ENDPOINT
- LOOM_WEB_SEARCH_TIMEOUT_SECONDS
func NewWebSearchTool ¶
func NewWebSearchTool() *WebSearchTool
NewWebSearchTool creates a new web search tool.
func (*WebSearchTool) Backend ¶
func (t *WebSearchTool) Backend() string
func (*WebSearchTool) Description ¶
func (t *WebSearchTool) Description() string
Description returns the tool description. Deprecated: Description loaded from PromptRegistry (prompts/tools/web_search.yaml). This fallback is used only when prompts are not configured.
func (*WebSearchTool) InputSchema ¶
func (t *WebSearchTool) InputSchema() *shuttle.JSONSchema
func (*WebSearchTool) Name ¶
func (t *WebSearchTool) Name() string
type WorkflowVisualizationTool ¶
type WorkflowVisualizationTool struct{}
WorkflowVisualizationTool provides workflow visualization capability for agents. Converts workflow YAML files to interactive ECharts HTML visualizations. Pattern: Transform workflow definition into visual diagram for analysis and documentation.
func NewWorkflowVisualizationTool ¶
func NewWorkflowVisualizationTool() *WorkflowVisualizationTool
NewWorkflowVisualizationTool creates a new workflow visualization tool.
func (*WorkflowVisualizationTool) Backend ¶
func (t *WorkflowVisualizationTool) Backend() string
func (*WorkflowVisualizationTool) Description ¶
func (t *WorkflowVisualizationTool) Description() string
Description returns the tool description. Deprecated: Description loaded from PromptRegistry (prompts/tools/presentation.yaml). This fallback is used only when prompts are not configured.
func (*WorkflowVisualizationTool) InputSchema ¶
func (t *WorkflowVisualizationTool) InputSchema() *shuttle.JSONSchema
func (*WorkflowVisualizationTool) Name ¶
func (t *WorkflowVisualizationTool) Name() string