## Summary Add dynamic tool injection to thread startup in API v2, wire dynamic tool calls through the app server to clients, and plumb responses back into the model tool pipeline. ### Flow (high level) - Thread start injects `dynamic_tools` into the model tool list for that thread (validation is done here). - When the model emits a tool call for one of those names, core raises a `DynamicToolCallRequest` event. - The app server forwards it to the client as `item/tool/call`, waits for the client’s response, then submits a `DynamicToolResponse` back to core. - Core turns that into a `function_call_output` in the next model request so the model can continue. ### What changed - Added dynamic tool specs to v2 thread start params and protocol types; introduced `item/tool/call` (request/response) for dynamic tool execution. - Core now registers dynamic tool specs at request time and routes those calls via a new dynamic tool handler. - App server validates tool names/schemas, forwards dynamic tool call requests to clients, and publishes tool outputs back into the session. - Integration tests
17 lines
356 B
Rust
17 lines
356 B
Rust
pub mod account;
|
|
mod thread_id;
|
|
pub use thread_id::ThreadId;
|
|
pub mod approvals;
|
|
pub mod config_types;
|
|
pub mod custom_prompts;
|
|
pub mod dynamic_tools;
|
|
pub mod items;
|
|
pub mod message_history;
|
|
pub mod models;
|
|
pub mod num_format;
|
|
pub mod openai_models;
|
|
pub mod parse_command;
|
|
pub mod plan_tool;
|
|
pub mod protocol;
|
|
pub mod request_user_input;
|
|
pub mod user_input;
|