From fee85b95c2b0081112b648c683eb3766ad363156 Mon Sep 17 00:00:00 2001 From: backryun Date: Thu, 6 Aug 2026 10:31:10 +0900 Subject: [PATCH] fix(types): preserve request rule contracts (#9135) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Validated in local merge-train (devbox-vm-06-dev002) @ combined-tip (FAST gates: typecheck/complexity/cognitive/changelog/vitest — only pre-existing audit.test.ts flake). Evidence: /home/diegosouzapw/dev/proxys/OmniRoute/.claude/worktrees/merge-train-20260805-222248-suite.log --- open-sse/services/payloadRules.ts | 2 +- open-sse/services/specificityTypes.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/open-sse/services/payloadRules.ts b/open-sse/services/payloadRules.ts index 12bb32151d..ad9a6415ad 100644 --- a/open-sse/services/payloadRules.ts +++ b/open-sse/services/payloadRules.ts @@ -85,7 +85,7 @@ function clonePayloadRulesConfig(config: PayloadRulesConfig): PayloadRulesConfig function normalizeModelSpecs(value: unknown): PayloadRuleModelSpec[] { return toArray(value) - .map((item) => { + .map((item): PayloadRuleModelSpec | null => { const name = typeof item?.name === "string" ? item.name.trim() : ""; const protocol = typeof item?.protocol === "string" ? item.protocol.trim() : ""; if (!name) return null; diff --git a/open-sse/services/specificityTypes.ts b/open-sse/services/specificityTypes.ts index 84c3da59b0..c85c1dbe21 100644 --- a/open-sse/services/specificityTypes.ts +++ b/open-sse/services/specificityTypes.ts @@ -30,6 +30,7 @@ export interface RuleInput { messages: Array<{ role?: string; content?: string | unknown }>; systemPrompt?: string; tools?: Array<{ + type?: string; function?: { name: string; description?: string; parameters?: unknown }; }>; model?: string;