feat(chat): sync multi-role backend APIs

This commit is contained in:
2026-07-20 11:29:54 +08:00
parent 16b5c16e76
commit b6fdc912ae
84 changed files with 1488 additions and 439 deletions
@@ -0,0 +1,31 @@
import { z } from "zod";
import { arrayOrEmpty, booleanOrFalse, numberOrZero } from "../nullable-defaults";
export const CharacterCapabilitiesResponseSchema = z
.object({
chat: booleanOrFalse,
privateContent: booleanOrFalse,
})
.readonly();
export const CharacterListItemSchema = z
.object({
id: z.string().min(1),
displayName: z.string().min(1),
isActive: booleanOrFalse,
capabilities: CharacterCapabilitiesResponseSchema,
sortOrder: numberOrZero,
})
.readonly();
export const CharacterListResponseSchema = z
.object({
items: arrayOrEmpty(CharacterListItemSchema),
defaultCharacterId: z.string().min(1),
})
.readonly();
export type CharacterListItem = z.output<typeof CharacterListItemSchema>;
export type CharacterListResponseInput = z.input<typeof CharacterListResponseSchema>;
export type CharacterListResponse = z.output<typeof CharacterListResponseSchema>;
+1
View File
@@ -0,0 +1 @@
export * from "./character_list_response";