builtin

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2026 License: Apache-2.0 Imports: 56 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewBuiltinRegistry

func NewBuiltinRegistry() (*tool.Registry, error)

NewBuiltinRegistry creates a new registry with all built-in tools registered

func NewBuiltinRegistryWithConfig

func NewBuiltinRegistryWithConfig(config *Config) (*tool.Registry, error)

NewBuiltinRegistryWithConfig creates a new registry with all built-in tools registered for a host runtime.

func RegisterBuiltinTools

func RegisterBuiltinTools(reg *tool.Registry) error

RegisterBuiltinTools registers all built-in tools in the registry

func RegisterBuiltinToolsWithConfig

func RegisterBuiltinToolsWithConfig(reg *tool.Registry, config *Config) error

RegisterBuiltinToolsWithConfig registers all built-in tools in the registry for a host runtime.

Types

type Config

type Config struct {
	WorkingDir                 string
	UserID                     string
	PromptFn                   types.PromptFn
	EnablePromptReaderFallback bool
	InputReader                *bufio.Reader
	MCPManager                 *mcp.MCPClientManager
	BrowserManager             browsercore.Manager
	ArtifactStore              storage.ArtifactStore
	// RAGService enables the rag_search and rag_ingest tools when set.
	// When nil those tools register but always return a "not configured" error.
	RAGService *rag.Service
	// PlanStore enables the submit_plan tool when set.
	PlanStore PlanStore
	// LongTermMemory enables the memory_* tools when set.
	// Provide any implementation that satisfies longterm.Store when wiring the runtime.
	LongTermMemory longterm.Store

	// DoclingURL is the base URL of a running docling-serve instance.
	// When set, the read_file tool converts PDFs to structured markdown.
	// Example: "http://localhost:5001"
	DoclingURL string

	// ImageGenerator enables the generate_image tool when set.
	// Use imageproviders.NewOpenAI(apiKey) or imageproviders.NewGemini(apiKey)
	// from internal/image/providers to create a provider client.
	ImageGenerator image.Generation

	// TTSGenerator enables the text_to_speech tool when set.
	// Use audioproviders.NewOpenAITTS(apiKey) from internal/audio/providers.
	TTSGenerator tts.Generation

	// STTTranscriber enables the speech_to_text tool when set.
	// Use audioproviders.NewOpenAISTT(apiKey) from internal/audio/providers.
	STTTranscriber stt.SpeechToText

	// FIMCompleter enables the code_complete tool when set.
	// Use fimproviders.NewMistral(apiKey) or fimproviders.NewDeepSeek(apiKey)
	// from internal/fim/providers to create a provider client.
	FIMCompleter fim.Completer

	// AutomationServiceURL enables schedule_job and related tools when set.
	// Should point to the seshat-automation daemon, e.g. "http://localhost:8090".
	// When empty those tools register but return a "not configured" error.
	AutomationServiceURL string
	// AutomationAPIKey is the API key the tools use to authenticate with the daemon.
	AutomationAPIKey string

	// WebSearchKeys provides per-execution web search provider API keys.
	// When set, the web_search tool uses these explicit keys instead of reading
	// from the process environment — preventing key leakage across concurrent
	// jobs from different owners. Keys are keyed by provider name:
	// "tavily", "exa", "jina", "langsearch".
	WebSearchKeys map[string]string
}

Config controls how builtin tools are assembled for a specific host runtime.

func DefaultConfig

func DefaultConfig() *Config

type PlanStore

type PlanStore interface {
	// CreateOrUpdate upserts a plan document by ID. If planID is empty a new document is created.
	CreateOrUpdate(ctx context.Context, planID, sessionID, userID, slug, filename, content string) (id string, version int, err error)
	// SetStatus updates a plan document's status (pending/validated/rejected).
	SetStatus(ctx context.Context, planID string, status string) error
}

PlanStore is the minimal interface the submit_plan tool needs to persist plan documents.

Jump to

Keyboard shortcuts

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