AgentTool values and pass them through define_tool(...). Tools can define:
- JSON
parametersshown to the model - callable
input_schema,output_schema, andevent_schemavalidators timeout_msandexecute(input, runtime)- boolean or callable
require_approval on_tool_calledandon_response_receivedfor interactive worknext_turn_paramsandon_error="return-to-model"
runtime.emit_progress(value) for preliminary results and runtime.set_context(value) when later turns need updated application context.
Use AgentToolExecutionConfig(tool_concurrency=...) for independent tools. Saved results retain model call order even when execution overlaps.