46 lines
1.2 KiB
TypeScript
46 lines
1.2 KiB
TypeScript
export interface AvatarPageRecord {
|
|
id?: string | null
|
|
name?: string
|
|
displayName?: string
|
|
description?: string
|
|
status?: 'active' | 'inactive' | 'training'
|
|
photoUrl?: string
|
|
config?: Partial<AvatarEditForm>
|
|
}
|
|
|
|
export interface AvatarEditForm {
|
|
name: string
|
|
displayName: string
|
|
description: string
|
|
status: 'active' | 'inactive' | 'training'
|
|
photoUrl: string
|
|
replyStyle: string
|
|
creativity: number
|
|
rigor: number
|
|
humor: number
|
|
responseLength: string
|
|
systemPrompt: string
|
|
profession: string
|
|
position: string
|
|
organization: string
|
|
organizationAddress: string
|
|
autoReply: boolean
|
|
}
|
|
|
|
export interface AvatarUpdatePayload {
|
|
name: string
|
|
displayName: string
|
|
description: string
|
|
status: AvatarEditForm['status']
|
|
photoUrl: string
|
|
config: Omit<AvatarEditForm, 'name' | 'displayName' | 'description' | 'status' | 'photoUrl'>
|
|
}
|
|
|
|
export function unwrapListData<T>(value: T[] | { data?: T[] } | null | undefined): T[]
|
|
export function pickAvatarId(
|
|
currentAvatarId: string | null | undefined,
|
|
avatars?: AvatarPageRecord[]
|
|
): string | null
|
|
export function normalizeAvatarEditForm(avatar?: AvatarPageRecord): AvatarEditForm
|
|
export function buildAvatarUpdatePayload(form: AvatarEditForm): AvatarUpdatePayload
|