/** * IM 单轮 ai_model 与 OpenClaw isFallbackNotice 的协调。 * 仅当用户指定模型与通知中的「实际使用模型」一致时,抑制误报。 * * 注意:onModelSelected 在 failover 候选启动时触发,早于 before_model_resolve, * 不能作为「实际 API 模型」依据;以通知正文中的 active/selected 为准。 */ export type RuntimeModelRef = { provider: string; model: string; }; /** OpenClaw 侧 model ref 规范化:provider/model 均转小写便于比较 */ export declare function normalizeRuntimeModelRef(provider: string, model: string): string; export declare function normalizeModelRefString(raw: string): string; /** * 从 OpenClaw fallback 运营通知正文解析「实际/恢复」的模型 ref。 * - `↪️ Model Fallback: (selected …` * - `↪️ Model Fallback cleared: (was …` */ export declare function parseFallbackNoticeEffectiveModelRef(noticeText: string): string | undefined; export declare function runtimeModelRefsMatch(requestedRaw: string | undefined, actualKey: string | undefined): boolean; /** * 是否应抑制发往 IM 的 fallback 运营通知(在通道已开启投递时的细粒度规则)。 * - 无 ai_model:不抑制 * - 有 ai_model 且通知中的实际模型与指定一致:抑制(误报) * - 有 ai_model 但实际模型不同:不抑制(真实 failover) */ export declare function shouldSuppressPerMessageFallbackNotice(params: { isFallbackNotice: boolean; requestedModelRaw: string | undefined; noticeText?: string; }): boolean; /** * IM deliver 是否应抑制 fallback 运营通知。 * 默认不投递;仅 `deliverModelFallbackNotice: true` 时考虑下发,并仍过滤 ai_model 误报。 */ export declare function shouldSuppressFallbackNoticeForIm(params: { isFallbackNotice: boolean; deliverModelFallbackNotice?: boolean; requestedModelRaw?: string; noticeText?: string; }): boolean; //# sourceMappingURL=per-message-fallback-notice.d.ts.map