Documentation
¶
Overview ¶
Package tool provides the tool registry with permissions and approval hooks.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApprovalFunc ¶
ApprovalFunc is called when a tool requires human approval. It should block until approved/denied and return true if approved.
type Definition ¶
type Definition struct {
Name string `json:"name"`
Description string `json:"description"`
Parameters map[string]any `json:"parameters"` // JSON Schema
Permission Permission `json:"permission"`
Handler Handler `json:"-"`
}
Definition describes a callable tool.
type Permission ¶
type Permission string
Permission levels for tool execution.
const ( PermAllow Permission = "allow" // auto-approved PermRequireApproval Permission = "require_approval" // needs human approval PermDeny Permission = "deny" // blocked )
type Registry ¶
type Registry struct {
// contains filtered or unexported fields
}
Registry manages tool definitions, permissions, and execution.
func (*Registry) Register ¶
func (r *Registry) Register(def *Definition)
Register adds a tool definition.
func (*Registry) SetApprovalHandler ¶
func (r *Registry) SetApprovalHandler(fn ApprovalFunc)
SetApprovalHandler sets the function called for tools requiring approval.
Click to show internal directories.
Click to hide internal directories.