@character-foundry/character-foundry 0.4.3-dev.1766019473 → 0.4.3-dev.1767230557
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-framework.cjs +12 -3
- package/dist/app-framework.cjs.map +1 -1
- package/dist/app-framework.d.cts +9 -1
- package/dist/app-framework.d.ts +9 -1
- package/dist/app-framework.js +12 -3
- package/dist/app-framework.js.map +1 -1
- package/dist/charx.cjs +72 -18
- package/dist/charx.cjs.map +1 -1
- package/dist/charx.d.cts +22 -22
- package/dist/charx.d.ts +22 -22
- package/dist/charx.js +72 -18
- package/dist/charx.js.map +1 -1
- package/dist/exporter.cjs +72 -18
- package/dist/exporter.cjs.map +1 -1
- package/dist/exporter.d.cts +19 -19
- package/dist/exporter.d.ts +19 -19
- package/dist/exporter.js +72 -18
- package/dist/exporter.js.map +1 -1
- package/dist/federation.d.cts +19 -19
- package/dist/federation.d.ts +19 -19
- package/dist/index.cjs +72 -18
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +29 -29
- package/dist/index.d.ts +29 -29
- package/dist/index.js +72 -18
- package/dist/index.js.map +1 -1
- package/dist/loader.cjs +72 -18
- package/dist/loader.cjs.map +1 -1
- package/dist/loader.d.cts +23 -23
- package/dist/loader.d.ts +23 -23
- package/dist/loader.js +72 -18
- package/dist/loader.js.map +1 -1
- package/dist/lorebook.d.cts +23 -23
- package/dist/lorebook.d.ts +23 -23
- package/dist/normalizer.cjs +72 -18
- package/dist/normalizer.cjs.map +1 -1
- package/dist/normalizer.d.cts +37 -37
- package/dist/normalizer.d.ts +37 -37
- package/dist/normalizer.js +72 -18
- package/dist/normalizer.js.map +1 -1
- package/dist/png.cjs +72 -18
- package/dist/png.cjs.map +1 -1
- package/dist/png.d.cts +25 -25
- package/dist/png.d.ts +25 -25
- package/dist/png.js +72 -18
- package/dist/png.js.map +1 -1
- package/dist/schemas.cjs +75 -18
- package/dist/schemas.cjs.map +1 -1
- package/dist/schemas.d.cts +85 -67
- package/dist/schemas.d.ts +85 -67
- package/dist/schemas.js +75 -18
- package/dist/schemas.js.map +1 -1
- package/dist/voxta.cjs +72 -18
- package/dist/voxta.cjs.map +1 -1
- package/dist/voxta.d.cts +23 -23
- package/dist/voxta.d.ts +23 -23
- package/dist/voxta.js +72 -18
- package/dist/voxta.js.map +1 -1
- package/package.json +24 -24
package/dist/federation.d.cts
CHANGED
|
@@ -21,8 +21,8 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
21
21
|
character_book: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
22
22
|
name: z.ZodOptional<z.ZodString>;
|
|
23
23
|
description: z.ZodOptional<z.ZodString>;
|
|
24
|
-
scan_depth: z.ZodOptional<z.ZodNumber>;
|
|
25
|
-
token_budget: z.ZodOptional<z.ZodNumber>;
|
|
24
|
+
scan_depth: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
25
|
+
token_budget: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
26
26
|
recursive_scanning: z.ZodOptional<z.ZodBoolean>;
|
|
27
27
|
extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
28
28
|
entries: z.ZodArray<z.ZodObject<{
|
|
@@ -258,14 +258,14 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
258
258
|
}, z.ZodTypeAny, "passthrough">[];
|
|
259
259
|
name?: string | undefined;
|
|
260
260
|
description?: string | undefined;
|
|
261
|
-
scan_depth?:
|
|
262
|
-
token_budget?:
|
|
261
|
+
scan_depth?: unknown;
|
|
262
|
+
token_budget?: unknown;
|
|
263
263
|
recursive_scanning?: boolean | undefined;
|
|
264
264
|
extensions?: Record<string, unknown> | undefined;
|
|
265
265
|
}>>>;
|
|
266
266
|
extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
267
267
|
assets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
268
|
-
type: z.ZodEnum<[
|
|
268
|
+
type: z.ZodEffects<z.ZodEnum<[
|
|
269
269
|
"icon",
|
|
270
270
|
"background",
|
|
271
271
|
"emotion",
|
|
@@ -274,7 +274,7 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
274
274
|
"video",
|
|
275
275
|
"custom",
|
|
276
276
|
"x-risu-asset"
|
|
277
|
-
]>;
|
|
277
|
+
]>, "custom" | "icon" | "background" | "emotion" | "user_icon" | "sound" | "video" | "x-risu-asset", unknown>;
|
|
278
278
|
uri: z.ZodString;
|
|
279
279
|
name: z.ZodString;
|
|
280
280
|
ext: z.ZodString;
|
|
@@ -285,15 +285,15 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
285
285
|
ext: string;
|
|
286
286
|
}, {
|
|
287
287
|
name: string;
|
|
288
|
-
type: "custom" | "icon" | "background" | "emotion" | "user_icon" | "sound" | "video" | "x-risu-asset";
|
|
289
288
|
uri: string;
|
|
290
289
|
ext: string;
|
|
290
|
+
type?: unknown;
|
|
291
291
|
}>, "many">>;
|
|
292
292
|
nickname: z.ZodOptional<z.ZodString>;
|
|
293
293
|
creator_notes_multilingual: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
294
294
|
source: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
295
|
-
creation_date: z.ZodOptional<z.ZodNumber>;
|
|
296
|
-
modification_date: z.ZodOptional<z.ZodNumber>;
|
|
295
|
+
creation_date: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
296
|
+
modification_date: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
297
297
|
}, "strip", z.ZodTypeAny, {
|
|
298
298
|
name: string;
|
|
299
299
|
description: string;
|
|
@@ -434,8 +434,8 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
434
434
|
}, z.ZodTypeAny, "passthrough">[];
|
|
435
435
|
name?: string | undefined;
|
|
436
436
|
description?: string | undefined;
|
|
437
|
-
scan_depth?:
|
|
438
|
-
token_budget?:
|
|
437
|
+
scan_depth?: unknown;
|
|
438
|
+
token_budget?: unknown;
|
|
439
439
|
recursive_scanning?: boolean | undefined;
|
|
440
440
|
extensions?: Record<string, unknown> | undefined;
|
|
441
441
|
} | null | undefined;
|
|
@@ -445,15 +445,15 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
445
445
|
group_only_greetings?: string[] | undefined;
|
|
446
446
|
assets?: {
|
|
447
447
|
name: string;
|
|
448
|
-
type: "custom" | "icon" | "background" | "emotion" | "user_icon" | "sound" | "video" | "x-risu-asset";
|
|
449
448
|
uri: string;
|
|
450
449
|
ext: string;
|
|
450
|
+
type?: unknown;
|
|
451
451
|
}[] | undefined;
|
|
452
452
|
nickname?: string | undefined;
|
|
453
453
|
creator_notes_multilingual?: Record<string, string> | undefined;
|
|
454
454
|
source?: string[] | undefined;
|
|
455
|
-
creation_date?:
|
|
456
|
-
modification_date?:
|
|
455
|
+
creation_date?: unknown;
|
|
456
|
+
modification_date?: unknown;
|
|
457
457
|
}>;
|
|
458
458
|
}, "strip", z.ZodTypeAny, {
|
|
459
459
|
data: {
|
|
@@ -600,8 +600,8 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
600
600
|
}, z.ZodTypeAny, "passthrough">[];
|
|
601
601
|
name?: string | undefined;
|
|
602
602
|
description?: string | undefined;
|
|
603
|
-
scan_depth?:
|
|
604
|
-
token_budget?:
|
|
603
|
+
scan_depth?: unknown;
|
|
604
|
+
token_budget?: unknown;
|
|
605
605
|
recursive_scanning?: boolean | undefined;
|
|
606
606
|
extensions?: Record<string, unknown> | undefined;
|
|
607
607
|
} | null | undefined;
|
|
@@ -611,15 +611,15 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
611
611
|
group_only_greetings?: string[] | undefined;
|
|
612
612
|
assets?: {
|
|
613
613
|
name: string;
|
|
614
|
-
type: "custom" | "icon" | "background" | "emotion" | "user_icon" | "sound" | "video" | "x-risu-asset";
|
|
615
614
|
uri: string;
|
|
616
615
|
ext: string;
|
|
616
|
+
type?: unknown;
|
|
617
617
|
}[] | undefined;
|
|
618
618
|
nickname?: string | undefined;
|
|
619
619
|
creator_notes_multilingual?: Record<string, string> | undefined;
|
|
620
620
|
source?: string[] | undefined;
|
|
621
|
-
creation_date?:
|
|
622
|
-
modification_date?:
|
|
621
|
+
creation_date?: unknown;
|
|
622
|
+
modification_date?: unknown;
|
|
623
623
|
};
|
|
624
624
|
spec: "chara_card_v3";
|
|
625
625
|
spec_version: "3.0";
|
package/dist/federation.d.ts
CHANGED
|
@@ -21,8 +21,8 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
21
21
|
character_book: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
22
22
|
name: z.ZodOptional<z.ZodString>;
|
|
23
23
|
description: z.ZodOptional<z.ZodString>;
|
|
24
|
-
scan_depth: z.ZodOptional<z.ZodNumber>;
|
|
25
|
-
token_budget: z.ZodOptional<z.ZodNumber>;
|
|
24
|
+
scan_depth: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
25
|
+
token_budget: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
26
26
|
recursive_scanning: z.ZodOptional<z.ZodBoolean>;
|
|
27
27
|
extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
28
28
|
entries: z.ZodArray<z.ZodObject<{
|
|
@@ -258,14 +258,14 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
258
258
|
}, z.ZodTypeAny, "passthrough">[];
|
|
259
259
|
name?: string | undefined;
|
|
260
260
|
description?: string | undefined;
|
|
261
|
-
scan_depth?:
|
|
262
|
-
token_budget?:
|
|
261
|
+
scan_depth?: unknown;
|
|
262
|
+
token_budget?: unknown;
|
|
263
263
|
recursive_scanning?: boolean | undefined;
|
|
264
264
|
extensions?: Record<string, unknown> | undefined;
|
|
265
265
|
}>>>;
|
|
266
266
|
extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
267
267
|
assets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
268
|
-
type: z.ZodEnum<[
|
|
268
|
+
type: z.ZodEffects<z.ZodEnum<[
|
|
269
269
|
"icon",
|
|
270
270
|
"background",
|
|
271
271
|
"emotion",
|
|
@@ -274,7 +274,7 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
274
274
|
"video",
|
|
275
275
|
"custom",
|
|
276
276
|
"x-risu-asset"
|
|
277
|
-
]>;
|
|
277
|
+
]>, "custom" | "icon" | "background" | "emotion" | "user_icon" | "sound" | "video" | "x-risu-asset", unknown>;
|
|
278
278
|
uri: z.ZodString;
|
|
279
279
|
name: z.ZodString;
|
|
280
280
|
ext: z.ZodString;
|
|
@@ -285,15 +285,15 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
285
285
|
ext: string;
|
|
286
286
|
}, {
|
|
287
287
|
name: string;
|
|
288
|
-
type: "custom" | "icon" | "background" | "emotion" | "user_icon" | "sound" | "video" | "x-risu-asset";
|
|
289
288
|
uri: string;
|
|
290
289
|
ext: string;
|
|
290
|
+
type?: unknown;
|
|
291
291
|
}>, "many">>;
|
|
292
292
|
nickname: z.ZodOptional<z.ZodString>;
|
|
293
293
|
creator_notes_multilingual: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
294
294
|
source: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
295
|
-
creation_date: z.ZodOptional<z.ZodNumber>;
|
|
296
|
-
modification_date: z.ZodOptional<z.ZodNumber>;
|
|
295
|
+
creation_date: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
296
|
+
modification_date: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
297
297
|
}, "strip", z.ZodTypeAny, {
|
|
298
298
|
name: string;
|
|
299
299
|
description: string;
|
|
@@ -434,8 +434,8 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
434
434
|
}, z.ZodTypeAny, "passthrough">[];
|
|
435
435
|
name?: string | undefined;
|
|
436
436
|
description?: string | undefined;
|
|
437
|
-
scan_depth?:
|
|
438
|
-
token_budget?:
|
|
437
|
+
scan_depth?: unknown;
|
|
438
|
+
token_budget?: unknown;
|
|
439
439
|
recursive_scanning?: boolean | undefined;
|
|
440
440
|
extensions?: Record<string, unknown> | undefined;
|
|
441
441
|
} | null | undefined;
|
|
@@ -445,15 +445,15 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
445
445
|
group_only_greetings?: string[] | undefined;
|
|
446
446
|
assets?: {
|
|
447
447
|
name: string;
|
|
448
|
-
type: "custom" | "icon" | "background" | "emotion" | "user_icon" | "sound" | "video" | "x-risu-asset";
|
|
449
448
|
uri: string;
|
|
450
449
|
ext: string;
|
|
450
|
+
type?: unknown;
|
|
451
451
|
}[] | undefined;
|
|
452
452
|
nickname?: string | undefined;
|
|
453
453
|
creator_notes_multilingual?: Record<string, string> | undefined;
|
|
454
454
|
source?: string[] | undefined;
|
|
455
|
-
creation_date?:
|
|
456
|
-
modification_date?:
|
|
455
|
+
creation_date?: unknown;
|
|
456
|
+
modification_date?: unknown;
|
|
457
457
|
}>;
|
|
458
458
|
}, "strip", z.ZodTypeAny, {
|
|
459
459
|
data: {
|
|
@@ -600,8 +600,8 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
600
600
|
}, z.ZodTypeAny, "passthrough">[];
|
|
601
601
|
name?: string | undefined;
|
|
602
602
|
description?: string | undefined;
|
|
603
|
-
scan_depth?:
|
|
604
|
-
token_budget?:
|
|
603
|
+
scan_depth?: unknown;
|
|
604
|
+
token_budget?: unknown;
|
|
605
605
|
recursive_scanning?: boolean | undefined;
|
|
606
606
|
extensions?: Record<string, unknown> | undefined;
|
|
607
607
|
} | null | undefined;
|
|
@@ -611,15 +611,15 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
611
611
|
group_only_greetings?: string[] | undefined;
|
|
612
612
|
assets?: {
|
|
613
613
|
name: string;
|
|
614
|
-
type: "custom" | "icon" | "background" | "emotion" | "user_icon" | "sound" | "video" | "x-risu-asset";
|
|
615
614
|
uri: string;
|
|
616
615
|
ext: string;
|
|
616
|
+
type?: unknown;
|
|
617
617
|
}[] | undefined;
|
|
618
618
|
nickname?: string | undefined;
|
|
619
619
|
creator_notes_multilingual?: Record<string, string> | undefined;
|
|
620
620
|
source?: string[] | undefined;
|
|
621
|
-
creation_date?:
|
|
622
|
-
modification_date?:
|
|
621
|
+
creation_date?: unknown;
|
|
622
|
+
modification_date?: unknown;
|
|
623
623
|
};
|
|
624
624
|
spec: "chara_card_v3";
|
|
625
625
|
spec_version: "3.0";
|
package/dist/index.cjs
CHANGED
|
@@ -560,6 +560,58 @@ var import_zod = require("zod");
|
|
|
560
560
|
var import_zod2 = require("zod");
|
|
561
561
|
var import_zod3 = require("zod");
|
|
562
562
|
var import_zod4 = require("zod");
|
|
563
|
+
function preprocessTimestamp(val) {
|
|
564
|
+
if (val === null || val === void 0) return void 0;
|
|
565
|
+
let num;
|
|
566
|
+
if (typeof val === "number") {
|
|
567
|
+
num = val;
|
|
568
|
+
} else if (typeof val === "string") {
|
|
569
|
+
const trimmed = val.trim();
|
|
570
|
+
if (!trimmed) return void 0;
|
|
571
|
+
const parsed = Number(trimmed);
|
|
572
|
+
if (!isNaN(parsed)) {
|
|
573
|
+
num = parsed;
|
|
574
|
+
} else {
|
|
575
|
+
const date = new Date(trimmed);
|
|
576
|
+
if (isNaN(date.getTime())) return void 0;
|
|
577
|
+
num = Math.floor(date.getTime() / 1e3);
|
|
578
|
+
}
|
|
579
|
+
} else {
|
|
580
|
+
return void 0;
|
|
581
|
+
}
|
|
582
|
+
if (num > 1e10) {
|
|
583
|
+
num = Math.floor(num / 1e3);
|
|
584
|
+
}
|
|
585
|
+
if (num < 0) return void 0;
|
|
586
|
+
return num;
|
|
587
|
+
}
|
|
588
|
+
function preprocessNumeric(val) {
|
|
589
|
+
if (val === null || val === void 0) return void 0;
|
|
590
|
+
if (typeof val === "number") {
|
|
591
|
+
return isNaN(val) ? void 0 : val;
|
|
592
|
+
}
|
|
593
|
+
if (typeof val === "string") {
|
|
594
|
+
const trimmed = val.trim();
|
|
595
|
+
if (!trimmed) return void 0;
|
|
596
|
+
const parsed = Number(trimmed);
|
|
597
|
+
return isNaN(parsed) ? void 0 : parsed;
|
|
598
|
+
}
|
|
599
|
+
return void 0;
|
|
600
|
+
}
|
|
601
|
+
var KNOWN_ASSET_TYPES = /* @__PURE__ */ new Set([
|
|
602
|
+
"icon",
|
|
603
|
+
"background",
|
|
604
|
+
"emotion",
|
|
605
|
+
"user_icon",
|
|
606
|
+
"sound",
|
|
607
|
+
"video",
|
|
608
|
+
"custom",
|
|
609
|
+
"x-risu-asset"
|
|
610
|
+
]);
|
|
611
|
+
function preprocessAssetType(val) {
|
|
612
|
+
if (typeof val !== "string") return "custom";
|
|
613
|
+
return KNOWN_ASSET_TYPES.has(val) ? val : "custom";
|
|
614
|
+
}
|
|
563
615
|
var ISO8601Schema = import_zod.z.string().datetime();
|
|
564
616
|
var UUIDSchema = import_zod.z.string().uuid();
|
|
565
617
|
var SpecSchema = import_zod.z.enum(["v2", "v3"]);
|
|
@@ -582,16 +634,19 @@ var SourceFormatSchema = import_zod.z.enum([
|
|
|
582
634
|
// VoxPkg format
|
|
583
635
|
]);
|
|
584
636
|
var OriginalShapeSchema = import_zod.z.enum(["wrapped", "unwrapped", "legacy"]);
|
|
585
|
-
var AssetTypeSchema = import_zod.z.
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
637
|
+
var AssetTypeSchema = import_zod.z.preprocess(
|
|
638
|
+
preprocessAssetType,
|
|
639
|
+
import_zod.z.enum([
|
|
640
|
+
"icon",
|
|
641
|
+
"background",
|
|
642
|
+
"emotion",
|
|
643
|
+
"user_icon",
|
|
644
|
+
"sound",
|
|
645
|
+
"video",
|
|
646
|
+
"custom",
|
|
647
|
+
"x-risu-asset"
|
|
648
|
+
])
|
|
649
|
+
);
|
|
595
650
|
var AssetDescriptorSchema = import_zod.z.object({
|
|
596
651
|
type: AssetTypeSchema,
|
|
597
652
|
uri: import_zod.z.string(),
|
|
@@ -625,8 +680,8 @@ var CCv2LorebookEntrySchema = import_zod2.z.object({
|
|
|
625
680
|
var CCv2CharacterBookSchema = import_zod2.z.object({
|
|
626
681
|
name: import_zod2.z.string().optional(),
|
|
627
682
|
description: import_zod2.z.string().optional(),
|
|
628
|
-
scan_depth: import_zod2.z.number().int().nonnegative().optional(),
|
|
629
|
-
token_budget: import_zod2.z.number().int().nonnegative().optional(),
|
|
683
|
+
scan_depth: import_zod2.z.preprocess(preprocessNumeric, import_zod2.z.number().int().nonnegative().optional()),
|
|
684
|
+
token_budget: import_zod2.z.preprocess(preprocessNumeric, import_zod2.z.number().int().nonnegative().optional()),
|
|
630
685
|
recursive_scanning: import_zod2.z.boolean().optional(),
|
|
631
686
|
extensions: import_zod2.z.record(import_zod2.z.unknown()).optional(),
|
|
632
687
|
entries: import_zod2.z.array(CCv2LorebookEntrySchema)
|
|
@@ -700,8 +755,8 @@ var CCv3LorebookEntrySchema = import_zod3.z.object({
|
|
|
700
755
|
var CCv3CharacterBookSchema = import_zod3.z.object({
|
|
701
756
|
name: import_zod3.z.string().optional(),
|
|
702
757
|
description: import_zod3.z.string().optional(),
|
|
703
|
-
scan_depth: import_zod3.z.number().int().nonnegative().optional(),
|
|
704
|
-
token_budget: import_zod3.z.number().int().nonnegative().optional(),
|
|
758
|
+
scan_depth: import_zod3.z.preprocess(preprocessNumeric, import_zod3.z.number().int().nonnegative().optional()),
|
|
759
|
+
token_budget: import_zod3.z.preprocess(preprocessNumeric, import_zod3.z.number().int().nonnegative().optional()),
|
|
705
760
|
recursive_scanning: import_zod3.z.boolean().optional(),
|
|
706
761
|
extensions: import_zod3.z.record(import_zod3.z.unknown()).optional(),
|
|
707
762
|
entries: import_zod3.z.array(CCv3LorebookEntrySchema)
|
|
@@ -733,10 +788,9 @@ var CCv3DataInnerSchema = import_zod3.z.object({
|
|
|
733
788
|
nickname: import_zod3.z.string().optional(),
|
|
734
789
|
creator_notes_multilingual: import_zod3.z.record(import_zod3.z.string()).optional(),
|
|
735
790
|
source: import_zod3.z.array(import_zod3.z.string()).optional(),
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
modification_date: import_zod3.z.number().int().nonnegative().optional()
|
|
739
|
-
// Unix timestamp in seconds
|
|
791
|
+
// Unix timestamps - preprocess to handle ISO strings, numeric strings, milliseconds
|
|
792
|
+
creation_date: import_zod3.z.preprocess(preprocessTimestamp, import_zod3.z.number().int().nonnegative().optional()),
|
|
793
|
+
modification_date: import_zod3.z.preprocess(preprocessTimestamp, import_zod3.z.number().int().nonnegative().optional())
|
|
740
794
|
});
|
|
741
795
|
var CCv3DataSchema = import_zod3.z.object({
|
|
742
796
|
spec: import_zod3.z.literal("chara_card_v3"),
|