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)
| 266 | // matches name removed. Used by `ocr scan` to hide tools that don't make |
| 267 | // sense in full-scan mode (e.g. file_read_diff). |
| 268 | func excludeToolDef(defs []llm.ToolDef, name string) []llm.ToolDef { |
| 269 | out := make([]llm.ToolDef, 0, len(defs)) |
| 270 | for _, d := range defs { |
| 271 | if d.Function.Name == name { |
| 272 | continue |
| 273 | } |
| 274 | out = append(out, d) |
| 275 | } |
| 276 | return out |
| 277 | } |
| 278 | |
| 279 | // quietHandle wraps a stdout.Quiet() restorer so callers can `defer |
| 280 | // q.Restore()` for safety while emitRunResult restores it early when the |
no outgoing calls