This page is a contributor reference for how OpenSRE shapes tool-calling during investigations. End users do not need to configure any of this — see How an investigation works and Investigations overview instead.
- Tools —
get_registered_tools("investigation"), filtered withtool.is_available(...). - Schemas —
llm.tool_schemas(tools)from the active provider client. - Invoke —
llm.invoke(messages, system=..., tools=tool_schemas); the model returns tool calls. - Execute — Tools run locally; results append as turns for the next invoke.
- Seed path —
_build_seed_callsmay inject deterministic tool runs before the loop.