Documentation
¶
Index ¶
- Constants
- func CloseAllBrowserSessions()
- func CloseBrowserSession(sessionID string)
- func GetContextValues(ctx context.Context) (string, string)
- func GetOrCreateBrowserSession(sessionID string) (*browserSession, error)
- func InitBrowserRegistry(cfg *config.InternalToolsConfig)
- func IsRemoteBrowserType(browserType string) bool
- func NormalizeBrowserType(value string) string
- func RegisterTodoCallback(sessionID string, cb func([]TodoItem))
- func ResetAllCaches()
- func ResetRegexCache()
- func TodoWriteSummary(todos []TodoItem, maxWidth int) string
- func UnregisterSessionCache(sessionID string)
- func UnregisterTodoCallbacks(sessionID string)
- type BaseTool
- func NewBashTool(permission permission.Service) BaseTool
- func NewBraveSearchTool(permissions permission.Service) BaseTool
- func NewCacheReadTool() BaseTool
- func NewCacheStatsTool() BaseTool
- func NewCodeDeleteProjectTool(indexer *code.CodeIndexer) BaseTool
- func NewCodeFindSymbolTool(indexer *code.CodeIndexer) BaseTool
- func NewCodeGetProjectStatsTool(indexer *code.CodeIndexer) BaseTool
- func NewCodeGetSymbolsOverviewTool(indexer *code.CodeIndexer) BaseTool
- func NewCodeHybridSearchTool(indexer *code.CodeIndexer) BaseTool
- func NewCodeIndexProjectTool(indexer *code.CodeIndexer) BaseTool
- func NewCodeIndexStatusTool(indexer *code.CodeIndexer) BaseTool
- func NewCodeListProjectsTool(indexer *code.CodeIndexer) BaseTool
- func NewCodeReindexFileTool(indexer *code.CodeIndexer) BaseTool
- func NewCodeSearchPatternTool(indexer *code.CodeIndexer) BaseTool
- func NewContext7Tools() []BaseTool
- func NewDiagnosticsTool(lspClients map[string]*lsp.Client) BaseTool
- func NewEditTool(lspClients map[string]*lsp.Client, permissions permission.Service, ...) BaseTool
- func NewExaSearchTool(permissions permission.Service) BaseTool
- func NewFetchTool(permissions permission.Service) BaseTool
- func NewGlobTool() BaseTool
- func NewGoogleSearchTool(permissions permission.Service) BaseTool
- func NewGrepTool() BaseTool
- func NewHybridSearchRemembrancesTool(service *rag.RemembrancesService) BaseTool
- func NewKBAddDocumentTool(store *kb.KBStore) BaseTool
- func NewKBDeleteDocumentTool(store *kb.KBStore) BaseTool
- func NewKBGetDocumentTool(store *kb.KBStore) BaseTool
- func NewKBImportPathTool(store *kb.KBStore) BaseTool
- func NewKBSearchDocumentsTool(store *kb.KBStore) BaseTool
- func NewLsTool() BaseTool
- func NewMesnadaCancelTaskTool(orch *orchestrator.Orchestrator) BaseTool
- func NewMesnadaGetOutputTool(orch *orchestrator.Orchestrator) BaseTool
- func NewMesnadaGetTaskTool(orch *orchestrator.Orchestrator) BaseTool
- func NewMesnadaListTasksTool(orch *orchestrator.Orchestrator) BaseTool
- func NewMesnadaSpawnTool(orch *orchestrator.Orchestrator) BaseTool
- func NewMesnadaWaitTaskTool(orch *orchestrator.Orchestrator) BaseTool
- func NewPatchTool(lspClients map[string]*lsp.Client, permissions permission.Service, ...) BaseTool
- func NewPerplexitySearchTool(permissions permission.Service) BaseTool
- func NewSaveEventTool(store *events.EventStore) BaseTool
- func NewSearchEventsTool(store *events.EventStore) BaseTool
- func NewSourcegraphTool() BaseTool
- func NewTodoWriteTool() BaseTool
- func NewViewTool(lspClients map[string]*lsp.Client) BaseTool
- func NewWriteTool(lspClients map[string]*lsp.Client, permissions permission.Service, ...) BaseTool
- type BashParams
- type BashPermissionsParams
- type BashResponseMetadata
- type BrowserClickTool
- type BrowserConsoleEntry
- type BrowserConsoleLogsTool
- type BrowserEvaluateParams
- type BrowserEvaluateTool
- type BrowserFillTool
- type BrowserGetContentParams
- type BrowserGetContentTool
- type BrowserInstall
- type BrowserNavigateParams
- type BrowserNavigateTool
- type BrowserNetworkEntry
- type BrowserNetworkTool
- type BrowserPDFTool
- type BrowserScreenshotParams
- type BrowserScreenshotTool
- type BrowserScrollTool
- type CacheEntry
- type CacheEntrySummary
- type CacheReadParams
- type CacheStats
- type CacheStatsResponse
- type CodeDeleteProjectTool
- type CodeFindSymbolTool
- type CodeGetProjectStatsTool
- type CodeGetSymbolsOverviewTool
- type CodeHybridSearchTool
- type CodeIndexProjectTool
- type CodeIndexStatusTool
- type CodeListProjectsTool
- type CodeReindexFileTool
- type CodeSearchPatternTool
- type DiagnosticsParams
- type EditParams
- type EditPermissionsParams
- type EditResponseMetadata
- type EditStrategy
- type FetchParams
- type FetchPermissionsParams
- type GlobParams
- type GlobResponseMetadata
- type GrepParams
- type GrepResponseMetadata
- type HybridSearchRemembrancesTool
- type KBAddDocumentTool
- type KBDeleteDocumentTool
- type KBGetDocumentTool
- type KBImportPathTool
- type KBSearchDocumentsTool
- type LSParams
- type LSResponseMetadata
- type LineScanner
- type MesnadaCancelTaskTool
- type MesnadaGetOutputTool
- type MesnadaGetTaskTool
- type MesnadaListTasksTool
- type MesnadaSpawnTool
- type MesnadaWaitTaskTool
- type PaginationInfo
- type PaginationMetadata
- type PatchParams
- type PatchResponseMetadata
- type SaveEventTool
- type SearchEventsTool
- type SessionCache
- func (c *SessionCache) Clear()
- func (c *SessionCache) Delete(cacheID string)
- func (c *SessionCache) Get(cacheID string) (*CacheEntry, bool)
- func (c *SessionCache) GetPage(cacheID string, offset, limit int) (string, PaginationMetadata, error)
- func (c *SessionCache) SearchInCache(cacheID, pattern string, contextLines, limit int) (string, PaginationMetadata, error)
- func (c *SessionCache) Stats() CacheStats
- func (c *SessionCache) Store(toolCallID, toolName, content string) string
- type SourcegraphParams
- type SourcegraphResponseMetadata
- type TodoItem
- type TodoWriteParams
- type ToolCall
- type ToolInfo
- type ToolResponse
- func InterceptToolResponse(cache *SessionCache, toolCallID string, toolName string, response ToolResponse) ToolResponse
- func NewTextErrorResponse(content string) ToolResponse
- func NewTextResponse(content string) ToolResponse
- func WithResponseMetadata(response ToolResponse, metadata any) ToolResponse
- type TreeNode
- type ViewParams
- type ViewResponseMetadata
- type WriteParams
- type WritePermissionsParams
- type WriteResponseMetadata
Constants ¶
const ( BashToolName = "bash" DefaultTimeout = 1 * 60 * 1000 // 1 minutes in milliseconds MaxTimeout = 10 * 60 * 1000 // 10 minutes in milliseconds MaxOutputLength = 30000 )
const ( DefaultCacheMaxBytes = 50 * 1024 * 1024 // 50MB per session DefaultCachePageLines = 200 // Default page size )
const ( // CacheThresholdBytes is the minimum response size to trigger auto-caching. CacheThresholdBytes = 15000 // CacheThresholdLines is the minimum line count to trigger auto-caching. CacheThresholdLines = 300 // CachePreviewLines is the number of lines shown inline when a response is cached. CachePreviewLines = 200 )
const ( Context7ResolveToolName = "c7_resolve_library_id" Context7DocsToolName = "c7_get_library_docs" )
const ( LSToolName = "ls" MaxLSFiles = 1000 )
const ( ToolResponseTypeText toolResponseType = "text" ToolResponseTypeImage toolResponseType = "image" SessionIDContextKey sessionIDContextKey = "session_id" MessageIDContextKey messageIDContextKey = "message_id" ACPClientConnContextKey acpClientConnContextKey = "acp_client_connection" SessionCacheContextKey sessionCacheContextKey = "session_cache" // RuntimeResolverContextKey is the hook point for injecting a non-host // RuntimeResolver in Phase 2 without changing existing execution paths. RuntimeResolverContextKey runtimeResolverContextKey = "runtime_resolver" WorkspaceFSContextKey workspaceFSContextKey = "workspace_fs" )
const ( ViewToolName = "view" MaxReadSize = 250 * 1024 DefaultReadLimit = 2000 MaxLineLength = 2000 )
const (
BraveSearchToolName = "brave_search"
)
const (
BrowserEvaluateToolName = "browser_evaluate"
)
const (
BrowserGetContentToolName = "browser_get_content"
)
const (
)
const (
BrowserScreenshotToolName = "browser_screenshot"
)
const (
CacheReadToolName = "cache_read"
)
const (
CacheStatsToolName = "cache_stats"
)
const (
DiagnosticsToolName = "diagnostics"
)
const (
EditToolName = "edit"
)
const (
ExaSearchToolName = "exa_search"
)
const (
FetchToolName = "fetch"
)
const (
GlobToolName = "glob"
)
const (
GoogleSearchToolName = "google_search"
)
const (
GrepToolName = "grep"
)
const (
PatchToolName = "patch"
)
const (
PerplexitySearchToolName = "perplexity_search"
)
const (
SourcegraphToolName = "sourcegraph"
)
const TodoWriteToolName = "TodoWrite"
const (
WriteToolName = "write"
)
Variables ¶
This section is empty.
Functions ¶
func CloseAllBrowserSessions ¶ added in v0.30.0
func CloseAllBrowserSessions()
CloseAllBrowserSessions cancels all browser sessions. Call on app shutdown.
func CloseBrowserSession ¶ added in v0.30.0
func CloseBrowserSession(sessionID string)
CloseBrowserSession cancels and removes the browser session for the given pando sessionID.
func GetOrCreateBrowserSession ¶ added in v0.30.0
GetOrCreateBrowserSession returns the existing browser session for the given pando sessionID, or creates a new one if it doesn't exist.
func InitBrowserRegistry ¶ added in v0.30.0
func InitBrowserRegistry(cfg *config.InternalToolsConfig)
InitBrowserRegistry sets the config for the global browser registry. Must be called at app startup when BrowserEnabled=true.
func IsRemoteBrowserType ¶ added in v0.292.1
IsRemoteBrowserType returns true for browser types that act as CDP servers (launched separately and connected to via WebSocket) rather than local executables.
func NormalizeBrowserType ¶ added in v0.291.0
func RegisterTodoCallback ¶ added in v0.257.0
RegisterTodoCallback registers a function to be called whenever the todo list for sessionID is updated. Multiple callbacks can be registered per session.
func ResetAllCaches ¶ added in v0.14.0
func ResetAllCaches()
ResetAllCaches clears all session-scoped caches (file locks and regex cache). Call this at the end of each session to prevent memory leaks.
func ResetRegexCache ¶ added in v0.14.0
func ResetRegexCache()
ResetRegexCache clears all cached regular expressions. Should be called at session end to prevent memory leaks.
func TodoWriteSummary ¶ added in v0.257.0
TodoWriteSummary returns a short single-line summary of the todo list, capped to maxWidth runes, suitable for TUI parameter display.
func UnregisterSessionCache ¶ added in v0.30.0
func UnregisterSessionCache(sessionID string)
UnregisterSessionCache removes and clears a session cache.
func UnregisterTodoCallbacks ¶ added in v0.257.0
func UnregisterTodoCallbacks(sessionID string)
UnregisterTodoCallbacks removes all callbacks registered for sessionID.
Types ¶
type BaseTool ¶
type BaseTool interface {
Info() ToolInfo
Run(ctx context.Context, params ToolCall) (ToolResponse, error)
}
func NewBashTool ¶
func NewBashTool(permission permission.Service) BaseTool
func NewBraveSearchTool ¶ added in v0.20.0
func NewBraveSearchTool(permissions permission.Service) BaseTool
func NewCacheReadTool ¶ added in v0.30.0
func NewCacheReadTool() BaseTool
NewCacheReadTool creates a new cache_read tool instance.
func NewCacheStatsTool ¶ added in v0.30.0
func NewCacheStatsTool() BaseTool
NewCacheStatsTool returns a tool that reports session cache statistics.
func NewCodeDeleteProjectTool ¶ added in v0.162.0
func NewCodeDeleteProjectTool(indexer *code.CodeIndexer) BaseTool
func NewCodeFindSymbolTool ¶ added in v0.7.0
func NewCodeFindSymbolTool(indexer *code.CodeIndexer) BaseTool
func NewCodeGetProjectStatsTool ¶ added in v0.7.0
func NewCodeGetProjectStatsTool(indexer *code.CodeIndexer) BaseTool
func NewCodeGetSymbolsOverviewTool ¶ added in v0.7.0
func NewCodeGetSymbolsOverviewTool(indexer *code.CodeIndexer) BaseTool
func NewCodeHybridSearchTool ¶ added in v0.7.0
func NewCodeHybridSearchTool(indexer *code.CodeIndexer) BaseTool
func NewCodeIndexProjectTool ¶ added in v0.7.0
func NewCodeIndexProjectTool(indexer *code.CodeIndexer) BaseTool
func NewCodeIndexStatusTool ¶ added in v0.7.0
func NewCodeIndexStatusTool(indexer *code.CodeIndexer) BaseTool
func NewCodeListProjectsTool ¶ added in v0.7.0
func NewCodeListProjectsTool(indexer *code.CodeIndexer) BaseTool
func NewCodeReindexFileTool ¶ added in v0.7.0
func NewCodeReindexFileTool(indexer *code.CodeIndexer) BaseTool
func NewCodeSearchPatternTool ¶ added in v0.7.0
func NewCodeSearchPatternTool(indexer *code.CodeIndexer) BaseTool
func NewContext7Tools ¶ added in v0.20.0
func NewContext7Tools() []BaseTool
NewContext7Tools returns both Context7 tools.
func NewEditTool ¶
func NewExaSearchTool ¶ added in v0.32.1
func NewExaSearchTool(permissions permission.Service) BaseTool
func NewFetchTool ¶
func NewFetchTool(permissions permission.Service) BaseTool
func NewGlobTool ¶
func NewGlobTool() BaseTool
func NewGoogleSearchTool ¶ added in v0.20.0
func NewGoogleSearchTool(permissions permission.Service) BaseTool
func NewGrepTool ¶
func NewGrepTool() BaseTool
func NewHybridSearchRemembrancesTool ¶ added in v0.210.0
func NewHybridSearchRemembrancesTool(service *rag.RemembrancesService) BaseTool
func NewKBAddDocumentTool ¶ added in v0.7.0
NewKBAddDocumentTool creates a new KBAddDocumentTool.
func NewKBDeleteDocumentTool ¶ added in v0.7.0
NewKBDeleteDocumentTool creates a new KBDeleteDocumentTool.
func NewKBGetDocumentTool ¶ added in v0.7.0
NewKBGetDocumentTool creates a new KBGetDocumentTool.
func NewKBImportPathTool ¶ added in v0.160.0
NewKBImportPathTool creates a new KBImportPathTool.
func NewKBSearchDocumentsTool ¶ added in v0.7.0
NewKBSearchDocumentsTool creates a new KBSearchDocumentsTool.
func NewMesnadaCancelTaskTool ¶
func NewMesnadaCancelTaskTool(orch *orchestrator.Orchestrator) BaseTool
func NewMesnadaGetOutputTool ¶
func NewMesnadaGetOutputTool(orch *orchestrator.Orchestrator) BaseTool
func NewMesnadaGetTaskTool ¶
func NewMesnadaGetTaskTool(orch *orchestrator.Orchestrator) BaseTool
func NewMesnadaListTasksTool ¶
func NewMesnadaListTasksTool(orch *orchestrator.Orchestrator) BaseTool
func NewMesnadaSpawnTool ¶
func NewMesnadaSpawnTool(orch *orchestrator.Orchestrator) BaseTool
func NewMesnadaWaitTaskTool ¶
func NewMesnadaWaitTaskTool(orch *orchestrator.Orchestrator) BaseTool
func NewPatchTool ¶
func NewPerplexitySearchTool ¶ added in v0.20.0
func NewPerplexitySearchTool(permissions permission.Service) BaseTool
func NewSaveEventTool ¶ added in v0.7.0
func NewSaveEventTool(store *events.EventStore) BaseTool
NewSaveEventTool creates a new SaveEventTool.
func NewSearchEventsTool ¶ added in v0.7.0
func NewSearchEventsTool(store *events.EventStore) BaseTool
NewSearchEventsTool creates a new SearchEventsTool.
func NewSourcegraphTool ¶
func NewSourcegraphTool() BaseTool
func NewTodoWriteTool ¶ added in v0.257.0
func NewTodoWriteTool() BaseTool
NewTodoWriteTool creates a new TodoWrite tool instance.
func NewWriteTool ¶
type BashParams ¶
type BashPermissionsParams ¶
type BashResponseMetadata ¶
type BrowserClickTool ¶ added in v0.30.0
type BrowserClickTool struct{}
func NewBrowserClickTool ¶ added in v0.30.0
func NewBrowserClickTool() *BrowserClickTool
func (*BrowserClickTool) Info ¶ added in v0.30.0
func (t *BrowserClickTool) Info() ToolInfo
func (*BrowserClickTool) Run ¶ added in v0.30.0
func (t *BrowserClickTool) Run(ctx context.Context, call ToolCall) (ToolResponse, error)
type BrowserConsoleEntry ¶ added in v0.30.0
BrowserConsoleEntry holds a single JS console message captured during a browser session.
type BrowserConsoleLogsTool ¶ added in v0.30.0
type BrowserConsoleLogsTool struct{}
func NewBrowserConsoleLogsTool ¶ added in v0.30.0
func NewBrowserConsoleLogsTool() *BrowserConsoleLogsTool
func (*BrowserConsoleLogsTool) Info ¶ added in v0.30.0
func (t *BrowserConsoleLogsTool) Info() ToolInfo
func (*BrowserConsoleLogsTool) Run ¶ added in v0.30.0
func (t *BrowserConsoleLogsTool) Run(ctx context.Context, call ToolCall) (ToolResponse, error)
type BrowserEvaluateParams ¶ added in v0.30.0
type BrowserEvaluateParams struct {
Expression string `json:"expression"`
}
type BrowserEvaluateTool ¶ added in v0.30.0
type BrowserEvaluateTool struct{}
func NewBrowserEvaluateTool ¶ added in v0.30.0
func NewBrowserEvaluateTool() *BrowserEvaluateTool
func (*BrowserEvaluateTool) Info ¶ added in v0.30.0
func (t *BrowserEvaluateTool) Info() ToolInfo
func (*BrowserEvaluateTool) Run ¶ added in v0.30.0
func (t *BrowserEvaluateTool) Run(ctx context.Context, call ToolCall) (ToolResponse, error)
type BrowserFillTool ¶ added in v0.30.0
type BrowserFillTool struct{}
func NewBrowserFillTool ¶ added in v0.30.0
func NewBrowserFillTool() *BrowserFillTool
func (*BrowserFillTool) Info ¶ added in v0.30.0
func (t *BrowserFillTool) Info() ToolInfo
func (*BrowserFillTool) Run ¶ added in v0.30.0
func (t *BrowserFillTool) Run(ctx context.Context, call ToolCall) (ToolResponse, error)
type BrowserGetContentParams ¶ added in v0.30.0
type BrowserGetContentTool ¶ added in v0.30.0
type BrowserGetContentTool struct{}
func NewBrowserGetContentTool ¶ added in v0.30.0
func NewBrowserGetContentTool() *BrowserGetContentTool
func (*BrowserGetContentTool) Info ¶ added in v0.30.0
func (t *BrowserGetContentTool) Info() ToolInfo
func (*BrowserGetContentTool) Run ¶ added in v0.30.0
func (t *BrowserGetContentTool) Run(ctx context.Context, call ToolCall) (ToolResponse, error)
type BrowserInstall ¶ added in v0.291.0
type BrowserInstall struct {
Type string `json:"type"`
Label string `json:"label"`
Executable string `json:"executable"`
UserDataDir string `json:"userDataDir,omitempty"`
ProfileDir string `json:"profileDir,omitempty"`
}
func DetectInstalledBrowsers ¶ added in v0.291.0
func DetectInstalledBrowsers() []BrowserInstall
func ResolveBrowserInstall ¶ added in v0.291.0
func ResolveBrowserInstall(browserType, executable string) (BrowserInstall, bool)
type BrowserNavigateParams ¶ added in v0.30.0
type BrowserNavigateParams struct {
}
type BrowserNavigateTool ¶ added in v0.30.0
type BrowserNavigateTool struct{}
func NewBrowserNavigateTool ¶ added in v0.30.0
func NewBrowserNavigateTool() *BrowserNavigateTool
func (*BrowserNavigateTool) Info ¶ added in v0.30.0
func (t *BrowserNavigateTool) Info() ToolInfo
func (*BrowserNavigateTool) Run ¶ added in v0.30.0
func (t *BrowserNavigateTool) Run(ctx context.Context, call ToolCall) (ToolResponse, error)
type BrowserNetworkEntry ¶ added in v0.30.0
type BrowserNetworkEntry struct {
RequestID string
URL string
Method string
Status int
MimeType string
Time time.Time
}
BrowserNetworkEntry holds metadata for a single network request captured during a browser session.
type BrowserNetworkTool ¶ added in v0.30.0
type BrowserNetworkTool struct{}
func NewBrowserNetworkTool ¶ added in v0.30.0
func NewBrowserNetworkTool() *BrowserNetworkTool
func (*BrowserNetworkTool) Info ¶ added in v0.30.0
func (t *BrowserNetworkTool) Info() ToolInfo
func (*BrowserNetworkTool) Run ¶ added in v0.30.0
func (t *BrowserNetworkTool) Run(ctx context.Context, call ToolCall) (ToolResponse, error)
type BrowserPDFTool ¶ added in v0.30.0
type BrowserPDFTool struct{}
func NewBrowserPDFTool ¶ added in v0.30.0
func NewBrowserPDFTool() *BrowserPDFTool
func (*BrowserPDFTool) Info ¶ added in v0.30.0
func (t *BrowserPDFTool) Info() ToolInfo
func (*BrowserPDFTool) Run ¶ added in v0.30.0
func (t *BrowserPDFTool) Run(ctx context.Context, call ToolCall) (ToolResponse, error)
type BrowserScreenshotParams ¶ added in v0.30.0
type BrowserScreenshotTool ¶ added in v0.30.0
type BrowserScreenshotTool struct{}
func NewBrowserScreenshotTool ¶ added in v0.30.0
func NewBrowserScreenshotTool() *BrowserScreenshotTool
func (*BrowserScreenshotTool) Info ¶ added in v0.30.0
func (t *BrowserScreenshotTool) Info() ToolInfo
func (*BrowserScreenshotTool) Run ¶ added in v0.30.0
func (t *BrowserScreenshotTool) Run(ctx context.Context, call ToolCall) (ToolResponse, error)
type BrowserScrollTool ¶ added in v0.30.0
type BrowserScrollTool struct{}
func NewBrowserScrollTool ¶ added in v0.30.0
func NewBrowserScrollTool() *BrowserScrollTool
func (*BrowserScrollTool) Info ¶ added in v0.30.0
func (t *BrowserScrollTool) Info() ToolInfo
func (*BrowserScrollTool) Run ¶ added in v0.30.0
func (t *BrowserScrollTool) Run(ctx context.Context, call ToolCall) (ToolResponse, error)
type CacheEntry ¶ added in v0.30.0
type CacheEntry struct {
ID string
ToolCallID string
ToolName string
Content string // Full raw response
Lines []string // Pre-split lines for O(1) pagination
TotalLines int
TotalBytes int
CreatedAt time.Time
LastUsed time.Time
}
CacheEntry holds a cached tool response with pagination support.
type CacheEntrySummary ¶ added in v0.30.0
type CacheEntrySummary struct {
CacheID string `json:"cache_id"`
ToolName string `json:"tool_name"`
TotalLines int `json:"total_lines"`
TotalBytes int `json:"total_bytes"`
AgeSeconds int `json:"age_seconds"`
}
CacheEntrySummary is a compact descriptor for a single cached entry.
type CacheReadParams ¶ added in v0.30.0
type CacheReadParams struct {
CacheID string `json:"cache_id"` // Required: ID from truncated response
Offset int `json:"offset"` // Line offset (0-based), default 0
Limit int `json:"limit"` // Lines to read, default 200
Pattern string `json:"pattern"` // Optional: search within cached content
ContextLines int `json:"context_lines,omitempty"` // Context lines around matches (default 2)
}
CacheReadParams defines the parameters for the cache_read tool.
type CacheStats ¶ added in v0.30.0
type CacheStats struct {
EntryCount int `json:"entry_count"`
TotalBytes int64 `json:"total_bytes"`
MaxBytes int64 `json:"max_bytes"`
Evictions int `json:"evictions"`
}
CacheStats provides statistics about the cache state.
type CacheStatsResponse ¶ added in v0.30.0
type CacheStatsResponse struct {
Stats CacheStats `json:"stats"`
Entries []CacheEntrySummary `json:"entries"`
}
CacheStatsResponse is the structured metadata attached to the stats response.
type CodeDeleteProjectTool ¶ added in v0.162.0
type CodeDeleteProjectTool struct {
// contains filtered or unexported fields
}
CodeDeleteProjectTool deletes an indexed project and its data.
func (*CodeDeleteProjectTool) Info ¶ added in v0.162.0
func (t *CodeDeleteProjectTool) Info() ToolInfo
func (*CodeDeleteProjectTool) Run ¶ added in v0.162.0
func (t *CodeDeleteProjectTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type CodeFindSymbolTool ¶ added in v0.7.0
type CodeFindSymbolTool struct {
// contains filtered or unexported fields
}
CodeFindSymbolTool finds symbols by name pattern.
func (*CodeFindSymbolTool) Info ¶ added in v0.7.0
func (t *CodeFindSymbolTool) Info() ToolInfo
func (*CodeFindSymbolTool) Run ¶ added in v0.7.0
func (t *CodeFindSymbolTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type CodeGetProjectStatsTool ¶ added in v0.7.0
type CodeGetProjectStatsTool struct {
// contains filtered or unexported fields
}
CodeGetProjectStatsTool returns statistics for an indexed project.
func (*CodeGetProjectStatsTool) Info ¶ added in v0.7.0
func (t *CodeGetProjectStatsTool) Info() ToolInfo
func (*CodeGetProjectStatsTool) Run ¶ added in v0.7.0
func (t *CodeGetProjectStatsTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type CodeGetSymbolsOverviewTool ¶ added in v0.7.0
type CodeGetSymbolsOverviewTool struct {
// contains filtered or unexported fields
}
CodeGetSymbolsOverviewTool returns a high-level overview of symbols in a file.
func (*CodeGetSymbolsOverviewTool) Info ¶ added in v0.7.0
func (t *CodeGetSymbolsOverviewTool) Info() ToolInfo
func (*CodeGetSymbolsOverviewTool) Run ¶ added in v0.7.0
func (t *CodeGetSymbolsOverviewTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type CodeHybridSearchTool ¶ added in v0.7.0
type CodeHybridSearchTool struct {
// contains filtered or unexported fields
}
CodeHybridSearchTool performs hybrid semantic + FTS search over code symbols.
func (*CodeHybridSearchTool) Info ¶ added in v0.7.0
func (t *CodeHybridSearchTool) Info() ToolInfo
func (*CodeHybridSearchTool) Run ¶ added in v0.7.0
func (t *CodeHybridSearchTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type CodeIndexProjectTool ¶ added in v0.7.0
type CodeIndexProjectTool struct {
// contains filtered or unexported fields
}
CodeIndexProjectTool starts indexing a code project.
func (*CodeIndexProjectTool) Info ¶ added in v0.7.0
func (t *CodeIndexProjectTool) Info() ToolInfo
func (*CodeIndexProjectTool) Run ¶ added in v0.7.0
func (t *CodeIndexProjectTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type CodeIndexStatusTool ¶ added in v0.7.0
type CodeIndexStatusTool struct {
// contains filtered or unexported fields
}
CodeIndexStatusTool returns the status of an indexing job.
func (*CodeIndexStatusTool) Info ¶ added in v0.7.0
func (t *CodeIndexStatusTool) Info() ToolInfo
func (*CodeIndexStatusTool) Run ¶ added in v0.7.0
func (t *CodeIndexStatusTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type CodeListProjectsTool ¶ added in v0.7.0
type CodeListProjectsTool struct {
// contains filtered or unexported fields
}
CodeListProjectsTool lists all indexed projects.
func (*CodeListProjectsTool) Info ¶ added in v0.7.0
func (t *CodeListProjectsTool) Info() ToolInfo
func (*CodeListProjectsTool) Run ¶ added in v0.7.0
func (t *CodeListProjectsTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type CodeReindexFileTool ¶ added in v0.7.0
type CodeReindexFileTool struct {
// contains filtered or unexported fields
}
CodeReindexFileTool re-indexes a single file.
func (*CodeReindexFileTool) Info ¶ added in v0.7.0
func (t *CodeReindexFileTool) Info() ToolInfo
func (*CodeReindexFileTool) Run ¶ added in v0.7.0
func (t *CodeReindexFileTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type CodeSearchPatternTool ¶ added in v0.7.0
type CodeSearchPatternTool struct {
// contains filtered or unexported fields
}
CodeSearchPatternTool searches for text patterns in code symbols.
func (*CodeSearchPatternTool) Info ¶ added in v0.7.0
func (t *CodeSearchPatternTool) Info() ToolInfo
func (*CodeSearchPatternTool) Run ¶ added in v0.7.0
func (t *CodeSearchPatternTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type DiagnosticsParams ¶
type DiagnosticsParams struct {
FilePath string `json:"file_path"`
}
type EditParams ¶
type EditPermissionsParams ¶
type EditResponseMetadata ¶
type EditStrategy ¶ added in v0.14.0
type EditStrategy interface {
Apply(content, oldStr, newStr string) (result string, matched bool)
Name() string
}
EditStrategy tries to find oldStr in content and replace it with newStr. Returns (result, true) on success, ("", false) if not matched. IMPORTANT: normalization is applied only for MATCHING, not for the replacement. The actual replacement must use the original content at the found position.
type FetchParams ¶
type FetchPermissionsParams ¶
type GlobParams ¶
type GlobResponseMetadata ¶
type GrepParams ¶
type GrepParams struct {
Pattern string `json:"pattern"`
Path string `json:"path"`
Include string `json:"include"`
LiteralText bool `json:"literal_text"`
// Extended parameters
OutputMode string `json:"output_mode"` // "content" | "files_with_matches" | "count" (default: "files_with_matches")
Context int `json:"context"` // lines of context before AND after (-C)
Before int `json:"before"` // lines before match (-B), overrides Context
After int `json:"after"` // lines after match (-A), overrides Context
Type string `json:"type"` // file type filter: "go", "js", "py", "ts", "rust", etc.
Multiline bool `json:"multiline"` // enable multiline matching
HeadLimit int `json:"head_limit"` // cap total results (0 = use default 100)
Offset int `json:"offset"` // skip first N results for pagination
}
type GrepResponseMetadata ¶
type HybridSearchRemembrancesTool ¶ added in v0.210.0
type HybridSearchRemembrancesTool struct {
// contains filtered or unexported fields
}
func (*HybridSearchRemembrancesTool) Info ¶ added in v0.210.0
func (t *HybridSearchRemembrancesTool) Info() ToolInfo
func (*HybridSearchRemembrancesTool) Run ¶ added in v0.210.0
func (t *HybridSearchRemembrancesTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type KBAddDocumentTool ¶ added in v0.7.0
type KBAddDocumentTool struct {
// contains filtered or unexported fields
}
KBAddDocumentTool adds a document to the knowledge base.
func (*KBAddDocumentTool) Info ¶ added in v0.7.0
func (t *KBAddDocumentTool) Info() ToolInfo
func (*KBAddDocumentTool) Run ¶ added in v0.7.0
func (t *KBAddDocumentTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type KBDeleteDocumentTool ¶ added in v0.7.0
type KBDeleteDocumentTool struct {
// contains filtered or unexported fields
}
KBDeleteDocumentTool removes a document from the knowledge base.
func (*KBDeleteDocumentTool) Info ¶ added in v0.7.0
func (t *KBDeleteDocumentTool) Info() ToolInfo
func (*KBDeleteDocumentTool) Run ¶ added in v0.7.0
func (t *KBDeleteDocumentTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type KBGetDocumentTool ¶ added in v0.7.0
type KBGetDocumentTool struct {
// contains filtered or unexported fields
}
KBGetDocumentTool retrieves a document from the knowledge base by path.
func (*KBGetDocumentTool) Info ¶ added in v0.7.0
func (t *KBGetDocumentTool) Info() ToolInfo
func (*KBGetDocumentTool) Run ¶ added in v0.7.0
func (t *KBGetDocumentTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type KBImportPathTool ¶ added in v0.160.0
type KBImportPathTool struct {
// contains filtered or unexported fields
}
KBImportPathTool imports/syncs markdown files from a filesystem path.
func (*KBImportPathTool) Info ¶ added in v0.160.0
func (t *KBImportPathTool) Info() ToolInfo
func (*KBImportPathTool) Run ¶ added in v0.160.0
func (t *KBImportPathTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type KBSearchDocumentsTool ¶ added in v0.7.0
type KBSearchDocumentsTool struct {
// contains filtered or unexported fields
}
KBSearchDocumentsTool searches documents in the knowledge base.
func (*KBSearchDocumentsTool) Info ¶ added in v0.7.0
func (t *KBSearchDocumentsTool) Info() ToolInfo
func (*KBSearchDocumentsTool) Run ¶ added in v0.7.0
func (t *KBSearchDocumentsTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type LSResponseMetadata ¶
type LineScanner ¶
type LineScanner struct {
// contains filtered or unexported fields
}
func NewLineScanner ¶
func NewLineScanner(r io.Reader) *LineScanner
func (*LineScanner) Err ¶
func (s *LineScanner) Err() error
func (*LineScanner) Scan ¶
func (s *LineScanner) Scan() bool
func (*LineScanner) Text ¶
func (s *LineScanner) Text() string
type MesnadaCancelTaskTool ¶
type MesnadaCancelTaskTool struct {
// contains filtered or unexported fields
}
MesnadaCancelTaskTool cancels a running or pending Mesnada task.
func (*MesnadaCancelTaskTool) Info ¶
func (t *MesnadaCancelTaskTool) Info() ToolInfo
func (*MesnadaCancelTaskTool) Run ¶
func (t *MesnadaCancelTaskTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type MesnadaGetOutputTool ¶
type MesnadaGetOutputTool struct {
// contains filtered or unexported fields
}
MesnadaGetOutputTool returns task output for a Mesnada task.
func (*MesnadaGetOutputTool) Info ¶
func (t *MesnadaGetOutputTool) Info() ToolInfo
func (*MesnadaGetOutputTool) Run ¶
func (t *MesnadaGetOutputTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type MesnadaGetTaskTool ¶
type MesnadaGetTaskTool struct {
// contains filtered or unexported fields
}
MesnadaGetTaskTool returns full task information for a Mesnada task.
func (*MesnadaGetTaskTool) Info ¶
func (t *MesnadaGetTaskTool) Info() ToolInfo
func (*MesnadaGetTaskTool) Run ¶
func (t *MesnadaGetTaskTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type MesnadaListTasksTool ¶
type MesnadaListTasksTool struct {
// contains filtered or unexported fields
}
MesnadaListTasksTool lists Mesnada tasks using optional filters.
func (*MesnadaListTasksTool) Info ¶
func (t *MesnadaListTasksTool) Info() ToolInfo
func (*MesnadaListTasksTool) Run ¶
func (t *MesnadaListTasksTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type MesnadaSpawnTool ¶
type MesnadaSpawnTool struct {
// contains filtered or unexported fields
}
MesnadaSpawnTool creates and runs a Mesnada task directly through the orchestrator.
func (*MesnadaSpawnTool) Info ¶
func (t *MesnadaSpawnTool) Info() ToolInfo
func (*MesnadaSpawnTool) Run ¶
func (t *MesnadaSpawnTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type MesnadaWaitTaskTool ¶
type MesnadaWaitTaskTool struct {
// contains filtered or unexported fields
}
MesnadaWaitTaskTool waits for a Mesnada task to reach a terminal state.
func (*MesnadaWaitTaskTool) Info ¶
func (t *MesnadaWaitTaskTool) Info() ToolInfo
func (*MesnadaWaitTaskTool) Run ¶
func (t *MesnadaWaitTaskTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type PaginationInfo ¶ added in v0.30.0
type PaginationInfo struct {
TotalItems int `json:"total_items,omitempty"`
ReturnedItems int `json:"returned_items,omitempty"`
Offset int `json:"offset,omitempty"`
Limit int `json:"limit,omitempty"`
HasMore bool `json:"has_more,omitempty"`
CacheID string `json:"cache_id,omitempty"` // Set if response was auto-cached
}
PaginationInfo is a standardized pagination descriptor included in tool metadata.
type PaginationMetadata ¶ added in v0.30.0
type PaginationMetadata struct {
CacheID string `json:"cache_id"`
TotalLines int `json:"total_lines"`
TotalBytes int `json:"total_bytes"`
Offset int `json:"offset"`
Limit int `json:"limit"`
HasMore bool `json:"has_more"`
ReturnedLines int `json:"returned_lines"`
ToolName string `json:"tool_name"`
}
PaginationMetadata describes a paginated result from the cache.
type PatchParams ¶
type PatchParams struct {
PatchText string `json:"patch_text"`
}
type PatchResponseMetadata ¶
type SaveEventTool ¶ added in v0.7.0
type SaveEventTool struct {
// contains filtered or unexported fields
}
SaveEventTool stores a temporal event with semantic search.
func (*SaveEventTool) Info ¶ added in v0.7.0
func (t *SaveEventTool) Info() ToolInfo
func (*SaveEventTool) Run ¶ added in v0.7.0
func (t *SaveEventTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type SearchEventsTool ¶ added in v0.7.0
type SearchEventsTool struct {
// contains filtered or unexported fields
}
SearchEventsTool searches events with hybrid text and time filters.
func (*SearchEventsTool) Info ¶ added in v0.7.0
func (t *SearchEventsTool) Info() ToolInfo
func (*SearchEventsTool) Run ¶ added in v0.7.0
func (t *SearchEventsTool) Run(ctx context.Context, params ToolCall) (ToolResponse, error)
type SessionCache ¶ added in v0.30.0
type SessionCache struct {
// contains filtered or unexported fields
}
SessionCache is a thread-safe, LRU in-memory cache scoped to a single session.
func GetSessionCache ¶ added in v0.30.0
func GetSessionCache(ctx context.Context) *SessionCache
GetSessionCache retrieves the session cache from context.
func GetSessionCacheByID ¶ added in v0.30.0
func GetSessionCacheByID(sessionID string) (*SessionCache, bool)
GetSessionCacheByID retrieves a session cache by session ID.
func NewSessionCache ¶ added in v0.30.0
func NewSessionCache(sessionID string) *SessionCache
NewSessionCache creates a new session-scoped cache.
func RegisterSessionCache ¶ added in v0.30.0
func RegisterSessionCache(sessionID string) *SessionCache
RegisterSessionCache creates and registers a new cache for a session.
func (*SessionCache) Clear ¶ added in v0.30.0
func (c *SessionCache) Clear()
Clear removes all entries from the cache.
func (*SessionCache) Delete ¶ added in v0.30.0
func (c *SessionCache) Delete(cacheID string)
Delete removes a single entry from the cache.
func (*SessionCache) Get ¶ added in v0.30.0
func (c *SessionCache) Get(cacheID string) (*CacheEntry, bool)
Get retrieves a cache entry by ID.
func (*SessionCache) GetPage ¶ added in v0.30.0
func (c *SessionCache) GetPage(cacheID string, offset, limit int) (string, PaginationMetadata, error)
GetPage returns a paginated slice of lines from a cached entry.
func (*SessionCache) SearchInCache ¶ added in v0.30.0
func (c *SessionCache) SearchInCache(cacheID, pattern string, contextLines, limit int) (string, PaginationMetadata, error)
SearchInCache searches for a pattern within cached content and returns matching lines with context.
func (*SessionCache) Stats ¶ added in v0.30.0
func (c *SessionCache) Stats() CacheStats
Stats returns current cache statistics.
func (*SessionCache) Store ¶ added in v0.30.0
func (c *SessionCache) Store(toolCallID, toolName, content string) string
Store saves content in the cache and returns a unique cacheID.
type SourcegraphParams ¶
type TodoItem ¶ added in v0.257.0
type TodoItem struct {
Content string `json:"content"`
Status string `json:"status"` // pending | in_progress | completed
Priority string `json:"priority"` // high | medium | low
}
TodoItem represents a single entry in the todo list.
func GetSessionTodos ¶ added in v0.257.0
GetSessionTodos returns the current todo list for a session, or nil if none.
type TodoWriteParams ¶ added in v0.257.0
type TodoWriteParams struct {
Todos []TodoItem `json:"todos"`
}
TodoWriteParams holds the input for the TodoWrite tool.
type ToolResponse ¶
type ToolResponse struct {
Type toolResponseType `json:"type"`
Content string `json:"content"`
Metadata string `json:"metadata,omitempty"`
IsError bool `json:"is_error"`
}
func InterceptToolResponse ¶ added in v0.30.0
func InterceptToolResponse( cache *SessionCache, toolCallID string, toolName string, response ToolResponse, ) ToolResponse
InterceptToolResponse checks if a tool response exceeds caching thresholds. If so, it stores the full content in the session cache and returns a compact reference containing the first CachePreviewLines lines and a cache_id. If below thresholds or cache is unavailable, the response is returned unchanged.
func NewTextErrorResponse ¶
func NewTextErrorResponse(content string) ToolResponse
func NewTextResponse ¶
func NewTextResponse(content string) ToolResponse
func WithResponseMetadata ¶
func WithResponseMetadata(response ToolResponse, metadata any) ToolResponse
type ViewParams ¶
type ViewResponseMetadata ¶
type WriteParams ¶
type WritePermissionsParams ¶
type WriteResponseMetadata ¶
Source Files
¶
- bash.go
- browser_content.go
- browser_detect.go
- browser_devtools.go
- browser_evaluate.go
- browser_interact.go
- browser_navigate.go
- browser_screenshot.go
- browser_session.go
- cache.go
- cache_interceptor.go
- cache_read.go
- cache_registry.go
- cache_stats.go
- context7.go
- diagnostics.go
- edit.go
- edit_strategies.go
- fetch.go
- fetch_browser.go
- file.go
- filelock.go
- glob.go
- grep.go
- ls.go
- mesnada.go
- patch.go
- regexcache.go
- remembrances_code.go
- remembrances_events.go
- remembrances_hybrid.go
- remembrances_kb.go
- search_brave.go
- search_exa.go
- search_google.go
- search_perplexity.go
- sourcegraph.go
- todo_write.go
- tools.go
- view.go
- workspace_fs.go
- write.go