pub fn for_provider(provider: &ProviderConfig) -> Arc<dyn CtxBuilder>Expand description
给定 provider config 返回对应的 CtxBuilder。
由 crate::agent::AgentLoop::new 在会话开始时调用一次,
以及由 AgentCommand::ReloadConfig 在用户切模型时重新调用。
返回 Arc 而非 Box:AgentLoop 与它持有的 TurnRunner 共享
同一个 ctx 实例,确保 datalog build_messages 和 runner 实际发送
走同一条 ctx 路径(不会因为一边走 trait 派发、另一边走自由函数
而漂移)。ReloadConfig 重建时两处一起更新。