Provider adapters that convert Engini tool schemas into each vendor’s tool-calling format, parse the model’s tool calls, and format results back - without depending on the vendor’s SDK.
Pick a provider
The agent loop (Anthropic)
A complete working loop, from the repo’s Salesforce CRM agent example:handle_tool_calls parses the vendor response, executes each call through the toolset’s connections, and returns vendor-formatted result messages. Per-call tool failures come back as structured error results (the batch continues); systemic errors (auth, network, server) raise.
The agent loop (OpenAI)
OpenAI is the default provider, so no configuration is needed:Low-level: no Toolset
If you want full control, the provider primitives compose with plaintools.execute:
Provider contract is four methods - wrap_tool(s), parse_tool_calls, format_tool_result - so adding another vendor is a small class, not a rewrite.