dari.yml, then put its schemas in a tool directory:
path must point under tools/ and exist in the bundle. For an external tool with no local code, create the directory and commit tool.yml plus the referenced schema files.
When the model calls the tool, Dari emits tool.call_requested and waits for your app to submit tool.result_submitted. You can receive requests by streaming session events or by configuring an agent webhook.
resultis raw JSON. Dari wraps it for the model.- Successful results are validated against the
output_schemafromtool.ymlwhen present. - Error results use
is_error: trueand skip output-schema validation. - While waiting, the message status is
waiting_for_tool. - If
timeout_secondsexpires, Dari returns a timeout error to the model.