fix: support multiple keys per action and harden runtime/parsing
This commit is contained in:
@@ -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[] };
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user