excludeToolDef returns a copy of defs with any entries whose function name matches name removed. Used by `ocr scan` to hide tools that don't make sense in full-scan mode (e.g. file_read_diff).
(defs []llm.ToolDef, name string)
| 292 | // matches name removed. Used by `ocr scan` to hide tools that don't make |
| 293 | // sense in full-scan mode (e.g. file_read_diff). |
| 294 | func excludeToolDef(defs []llm.ToolDef, name string) []llm.ToolDef { |
| 295 | out := make([]llm.ToolDef, 0, len(defs)) |
| 296 | for _, d := range defs { |
| 297 | if d.Function.Name == name { |
| 298 | continue |
| 299 | } |
| 300 | out = append(out, d) |
| 301 | } |
| 302 | return out |
| 303 | } |
| 304 | |
| 305 | // quietHandle wraps the restorer returned by whichever stdout redirection |
| 306 | // newQuietHandle chose, so callers can `defer q.Restore()` for safety while |
no outgoing calls