td_tool_batch
Dispatch up to 8 tool calls in a single roundtrip, reducing latency. Each call runs sequentially, with failures isolated per call.
Instructions
Dispatch up to 8 tool calls in one model roundtrip.
Each sub-call's result is returned in a structured array — per-call failures don't abort siblings. Use this for read-only sweeps ("inspect 5 things at once") to save model-to-server-to-model latency.
Hard constraints:
Maximum 8 sub-calls per invocation.
Nested
td_tool_batchcalls are rejected per-sub-call (fork-bomb guard).Sub-calls execute sequentially (TD's Python API is not thread-safe).
Returns: {"ok": True, "count": int, "results": [ {"tool": str, "ok": bool, "result": dict|None, "error": str|None, "elapsed_ms": int}, ... ]}
``error`` is always ``str | None`` — dict errors from
``format_tool_error`` are normalised to their ``message`` field.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| calls | Yes | List of {tool: str, args: dict} dicts. Max 8 sub-calls. |