book: ZodObject<{
name: ZodOptional<ZodString>;
description: ZodOptional<ZodString>;
scan_depth: ZodOptional<ZodNumber>;
token_budget: ZodOptional<ZodNumber>;
recursive_scanning: ZodOptional<ZodBoolean>;
extensions: ZodRecord<ZodString, ZodAny>;
entries: ZodArray<ZodObject<{
keys: ZodArray<ZodString, "many">;
content: ZodString;
extensions: ZodRecord<ZodString, ZodAny>;
enabled: ZodBoolean;
insertion_order: ZodNumber;
case_sensitive: ZodOptional<ZodBoolean>;
name: ZodOptional<ZodString>;
priority: ZodOptional<ZodNumber>;
id: ZodOptional<ZodNumber>;
comment: ZodOptional<ZodString>;
selective: ZodOptional<ZodBoolean>;
secondary_keys: ZodOptional<ZodArray<ZodString, "many">>;
constant: ZodOptional<ZodBoolean>;
position: ZodOptional<ZodUnion<[ZodLiteral<"before_char">, ZodLiteral<"after_char">]>>;
}, "strip", ZodTypeAny, {
keys: string[];
content: string;
extensions: Record<string, any>;
enabled: boolean;
insertion_order: number;
case_sensitive?: boolean;
name?: string;
priority?: number;
id?: number;
comment?: string;
selective?: boolean;
secondary_keys?: string[];
constant?: boolean;
position?: "before_char" | "after_char";
}, {
keys: string[];
content: string;
extensions: Record<string, any>;
enabled: boolean;
insertion_order: number;
case_sensitive?: boolean;
name?: string;
priority?: number;
id?: number;
comment?: string;
selective?: boolean;
secondary_keys?: string[];
constant?: boolean;
position?: "before_char" | "after_char";
}>, "many">;
}, "strip", ZodTypeAny, {
name?: string;
description?: string;
scan_depth?: number;
token_budget?: number;
recursive_scanning?: boolean;
extensions: Record<string, any>;
entries: ({ keys: string[]; content: string; extensions: Record<string, any>; enabled: boolean; insertion_order: number; case_sensitive?: boolean | undefined; name?: string | undefined; priority?: number | undefined; ... 5 more ...; position?: "before_char" | ... 1 more ... | undefined; })[];
}, {
name?: string;
description?: string;
scan_depth?: number;
token_budget?: number;
recursive_scanning?: boolean;
extensions: Record<string, any>;
entries: ({ keys: string[]; content: string; extensions: Record<string, any>; enabled: boolean; insertion_order: number; case_sensitive?: boolean | undefined; name?: string | undefined; priority?: number | undefined; ... 5 more ...; position?: "before_char" | ... 1 more ... | undefined; })[];
}> = ...
A parser object made with the zod library which can be used to validate or parse CharacterBook objects, which are used inside the V2 spec.
https://github.com/malfoyslastname/character-card-spec-v2/blob/main/spec_v2.md
Example