package tools

// SSHCommandSpec describes an SSH command to execute. Pure data — no execution.
type SSHCommandSpec struct {
	Target  string // references a named target in ssh config
	Command string
	Timeout string
}

// HTTPCallSpec describes an HTTP call to make. Pure data.
type HTTPCallSpec struct {
	Method  string
	URL     string
	Headers map[string]string
	Body    string
	Timeout string
}

// ScriptSpec describes a script to run. Pure data.
type ScriptSpec struct {
	Name    string
	Args    []string
	Timeout string
}

// FileOpsSpec describes a file operation. Pure data.
type FileOpsSpec struct {
	Op   string // read | write | list | delete
	Path string
}

// MCPCallSpec describes a call to an MCP server. Pure data.
type MCPCallSpec struct {
	ServerName string
	ToolName   string
	Arguments  map[string]any
}
