31 lines
1.1 KiB
Go
31 lines
1.1 KiB
Go
// 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
|
|
}
|