fixed rp api

This commit is contained in:
2026-06-10 11:52:22 +03:00
parent f407e41b6d
commit 5844551038
+11 -8
View File
@@ -69,12 +69,15 @@ function pickImageFields(data: Record<string, unknown>): Partial<CharacterCardDa
return out;
}
export function normalizeCard(raw: CharacterCardV2 | Record<string, unknown>): CharacterCardV2 {
if (raw.data && typeof raw.data === "object") {
const data = raw.data as Record<string, unknown>;
export function normalizeCard(raw: unknown): CharacterCardV2 {
const obj =
raw && typeof raw === "object" ? (raw as Record<string, unknown>) : {};
if (obj.data && typeof obj.data === "object") {
const data = obj.data as Record<string, unknown>;
return {
spec: (raw.spec as string) ?? "chara_card_v2",
spec_version: (raw.spec_version as string) ?? "2.0",
spec: (obj.spec as string) ?? "chara_card_v2",
spec_version: (obj.spec_version as string) ?? "2.0",
data: {
...DEFAULT_CARD.data,
...(data as Partial<CharacterCardData>),
@@ -82,14 +85,14 @@ export function normalizeCard(raw: CharacterCardV2 | Record<string, unknown>): C
},
};
}
const flat = raw as Record<string, unknown>;
return {
spec: "chara_card_v2",
spec_version: "2.0",
data: {
...DEFAULT_CARD.data,
...(flat as Partial<CharacterCardData>),
...pickImageFields(flat),
...(obj as Partial<CharacterCardData>),
...pickImageFields(obj),
},
};
}