Create PhaseoAgentSdk::Tool values and pass them through define_tool. Tools can include:
- JSON
parameters shown to the model
input_schema, output_schema, and event_schema validation callbacks
timeout_ms and an execute callback
- boolean or callable
require_approval
on_tool_called and on_response_received for interactive work
next_turn_params and on_error: "return-to-model"
Use runtime.emit_progress for preliminary results and set_context for application context. Bounded threads can execute independent tools concurrently while saved results remain in model call order.
Last modified on July 26, 2026