From 67d13dc7a8e003de01ac70275aecfe5adb34402d Mon Sep 17 00:00:00 2001 From: backryun Date: Tue, 28 Jul 2026 11:57:26 +0900 Subject: [PATCH] fix(types): declare idempotency input contracts (#8820) --- open-sse/handlers/chatCore/idempotency.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/open-sse/handlers/chatCore/idempotency.ts b/open-sse/handlers/chatCore/idempotency.ts index 205856d41a..0a6a01c178 100644 --- a/open-sse/handlers/chatCore/idempotency.ts +++ b/open-sse/handlers/chatCore/idempotency.ts @@ -2,6 +2,11 @@ import { createHash } from "node:crypto"; import { getIdempotencyKey, checkIdempotency } from "@/lib/idempotencyLayer"; import { calculateCost } from "@/lib/usage/costCalculator"; import { attachOmniRouteMetaHeaders } from "@/domain/omnirouteResponseMeta"; +import type { EffectiveServiceTier } from "./serviceTier.ts"; + +type HeadersLike = Headers | Record | null | undefined; +type IdempotencyRequest = { headers?: HeadersLike } | null | undefined; +type LoggerLike = { debug?: (...args: unknown[]) => void } | null | undefined; /** * NEXA fusion-idempotency fix: compose the effective idempotency key from the raw @@ -55,13 +60,13 @@ export async function checkIdempotencyCache({ startTime, log, }: { - clientRawRequest: unknown; + clientRawRequest: IdempotencyRequest; provider: string; model: string; body?: unknown; - effectiveServiceTier: unknown; + effectiveServiceTier: EffectiveServiceTier | null | undefined; startTime: number; - log: unknown; + log: LoggerLike; }): Promise<{ hit: { success: true; response: Response } | null; idempotencyKey: string | null }> { // NEXA fusion-idempotency fix: namespace the raw header key (see composeIdempotencyKey). const rawIdempotencyKey = getIdempotencyKey(clientRawRequest?.headers);