//! 所有 `#[tauri::command]` IPC 函数 — 由 ai/mod.rs 重导出供 invoke_handler 引用
//!
//! 原单文件 commands.rs(1829 行 God 文件)按域拆分为 `commands/` 子目录,本文件收敛到 re-export only:
//! - [`chat`] — chat 域 13 个 IPC(发送/重新生成/编辑/强制发送/停止/审批/上下文分段与压缩/循环控制)
//!   + chat 专用 helper(`finalize_pending_placeholders`)+ `PendingToolCallInfo`
//! - [`conversation`] — conversation 域 8 个 IPC(创建/列出/切换/删除/重命名/归档/置顶/导出)
//! - [`provider`] — provider 域 7 个 IPC(提供商 CRUD/池配置/模型拉取探测)+ provider 专用 helper
//!   (`mask_api_key` api_key 脱敏、`normalize_provider_type_for_fetch` 类型归一)
//! - [`config`] — skills + config 域 4 个 IPC(ai_list_skills + ai_set_concurrency_config
//!   + ai_set_agent_max_iterations + ai_set_agent_max_retries);`ai_list_skills` 复用
//!   `super::super::skills::{skills_cached, SkillInfo}`(skills.rs 缓存+扫盘,config 仅 IPC 包装)
//!
//! re-export 链:`commands/mod.rs` → `pub use self::{chat,conversation,provider,config}::*`
//! 把各域 IPC 拉到 `commands::*` → `ai/mod.rs` 的 `pub use self::commands::*` 透传到 `commands::ai::*`
//! → `lib.rs` invoke_handler + 前端 `api/ai.ts` 零改动。
//!
//! 注:本文件仅 mod + pub use 声明(re-export only),不含任何 IPC 函数体。
//! config/skills 域外的 helper(mask_api_key/finalize_pending_placeholders 等)随各域就近安置,
//! skills 域共享的 skills_cached/SkillInfo 仍由 commands/ai/skills.rs 提供,config.rs 通过
//! `super::super::skills` 路径引用,保持单一来源(DRY)。

// 各域子模块 + glob 重导出(拉到 commands::* 经 ai/mod.rs 透传到 commands::ai::*)
pub mod chat;
#[allow(unused_imports)]
pub use self::chat::*;
pub mod conversation;
#[allow(unused_imports)]
pub use self::conversation::*;
pub mod provider;
#[allow(unused_imports)]
pub use self::provider::*;
pub mod config;
#[allow(unused_imports)]
pub use self::config::*;
