// Package tools implements the tool server (sandboxed execution, tool registry, // skill management) and supporting types. package toolsrv import ( "encoding/json" ) // ToolInfo describes a tool provided by a server. type ToolInfo struct { Server string Name string Description string InputSchema json.RawMessage // Prompt is the usage documentation for this tool, extracted from // the script's ollie:prompt block. Included in the system prompt. Prompt string // Tier is the retention tier: "hot", "warm", or "cold". Parsed from // the script's ollie:tier annotation. Empty defaults to "hot". Tier string // ReadOnly is true when the tool carries an "ollie:parallel read" annotation. ReadOnly bool // OutputFormat is the source-fence language for tool output. Empty means plaintext. OutputFormat string // ResetsCounter is true for action-oriented tools (file_write, lsp_rename, etc.) // that indicate active progress rather than passive research. When true, the // agent loop resets its step counter, allowing continued work without hitting // the soft step-budget guardrail. ResetsCounter bool }