fix: support multiple keys per action and harden runtime/parsing

This commit is contained in:
2026-08-14 10:59:25 -06:00
parent 7e3377f932
commit 733bc2b4f9
10 changed files with 180 additions and 87 deletions
+8 -2
View File
@@ -9,8 +9,13 @@ export function decodeEvent(msg: SseMessage): FeedEvent | null {
const inner = JSON.parse(outer.data) as Record<string, unknown>;
if (outer.type === "inflight") {
const requests: InflightRequest[] =
(inner.requests as InflightRequest[]) ?? (inner.request ? [inner.request as InflightRequest] : []);
const requests: InflightRequest[] = Array.isArray(inner.requests)
? (inner.requests as InflightRequest[])
: Array.isArray(inner.request)
? (inner.request as InflightRequest[])
: inner.request && typeof inner.request === "object"
? [inner.request as InflightRequest]
: [];
return {
type: "inflight",
operation: inner.operation as "snapshot" | "add" | "remove",
@@ -19,6 +24,7 @@ export function decodeEvent(msg: SseMessage): FeedEvent | null {
}
if (outer.type === "modelStatus") {
if (!Array.isArray(inner)) return null;
return { type: "modelStatus", models: inner as unknown as ModelState[] };
}