@character-foundry/character-foundry 0.4.3-dev.1766019473 → 0.4.3-dev.1766103111
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/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 +5 -5
package/dist/png.d.cts
CHANGED
|
@@ -31,8 +31,8 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
31
31
|
character_book: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
32
32
|
name: z.ZodOptional<z.ZodString>;
|
|
33
33
|
description: z.ZodOptional<z.ZodString>;
|
|
34
|
-
scan_depth: z.ZodOptional<z.ZodNumber>;
|
|
35
|
-
token_budget: z.ZodOptional<z.ZodNumber>;
|
|
34
|
+
scan_depth: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
35
|
+
token_budget: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
36
36
|
recursive_scanning: z.ZodOptional<z.ZodBoolean>;
|
|
37
37
|
extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
38
38
|
entries: z.ZodArray<z.ZodObject<{
|
|
@@ -268,14 +268,14 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
268
268
|
}, z.ZodTypeAny, "passthrough">[];
|
|
269
269
|
name?: string | undefined;
|
|
270
270
|
description?: string | undefined;
|
|
271
|
-
scan_depth?:
|
|
272
|
-
token_budget?:
|
|
271
|
+
scan_depth?: unknown;
|
|
272
|
+
token_budget?: unknown;
|
|
273
273
|
recursive_scanning?: boolean | undefined;
|
|
274
274
|
extensions?: Record<string, unknown> | undefined;
|
|
275
275
|
}>>>;
|
|
276
276
|
extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
277
277
|
assets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
278
|
-
type: z.ZodEnum<[
|
|
278
|
+
type: z.ZodEffects<z.ZodEnum<[
|
|
279
279
|
"icon",
|
|
280
280
|
"background",
|
|
281
281
|
"emotion",
|
|
@@ -284,7 +284,7 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
284
284
|
"video",
|
|
285
285
|
"custom",
|
|
286
286
|
"x-risu-asset"
|
|
287
|
-
]>;
|
|
287
|
+
]>, "custom" | "icon" | "background" | "emotion" | "user_icon" | "sound" | "video" | "x-risu-asset", unknown>;
|
|
288
288
|
uri: z.ZodString;
|
|
289
289
|
name: z.ZodString;
|
|
290
290
|
ext: z.ZodString;
|
|
@@ -295,15 +295,15 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
295
295
|
ext: string;
|
|
296
296
|
}, {
|
|
297
297
|
name: string;
|
|
298
|
-
type: "custom" | "icon" | "background" | "emotion" | "user_icon" | "sound" | "video" | "x-risu-asset";
|
|
299
298
|
uri: string;
|
|
300
299
|
ext: string;
|
|
300
|
+
type?: unknown;
|
|
301
301
|
}>, "many">>;
|
|
302
302
|
nickname: z.ZodOptional<z.ZodString>;
|
|
303
303
|
creator_notes_multilingual: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
304
304
|
source: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
305
|
-
creation_date: z.ZodOptional<z.ZodNumber>;
|
|
306
|
-
modification_date: z.ZodOptional<z.ZodNumber>;
|
|
305
|
+
creation_date: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
306
|
+
modification_date: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
307
307
|
}, "strip", z.ZodTypeAny, {
|
|
308
308
|
name: string;
|
|
309
309
|
description: string;
|
|
@@ -444,8 +444,8 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
444
444
|
}, z.ZodTypeAny, "passthrough">[];
|
|
445
445
|
name?: string | undefined;
|
|
446
446
|
description?: string | undefined;
|
|
447
|
-
scan_depth?:
|
|
448
|
-
token_budget?:
|
|
447
|
+
scan_depth?: unknown;
|
|
448
|
+
token_budget?: unknown;
|
|
449
449
|
recursive_scanning?: boolean | undefined;
|
|
450
450
|
extensions?: Record<string, unknown> | undefined;
|
|
451
451
|
} | null | undefined;
|
|
@@ -455,15 +455,15 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
455
455
|
group_only_greetings?: string[] | undefined;
|
|
456
456
|
assets?: {
|
|
457
457
|
name: string;
|
|
458
|
-
type: "custom" | "icon" | "background" | "emotion" | "user_icon" | "sound" | "video" | "x-risu-asset";
|
|
459
458
|
uri: string;
|
|
460
459
|
ext: string;
|
|
460
|
+
type?: unknown;
|
|
461
461
|
}[] | undefined;
|
|
462
462
|
nickname?: string | undefined;
|
|
463
463
|
creator_notes_multilingual?: Record<string, string> | undefined;
|
|
464
464
|
source?: string[] | undefined;
|
|
465
|
-
creation_date?:
|
|
466
|
-
modification_date?:
|
|
465
|
+
creation_date?: unknown;
|
|
466
|
+
modification_date?: unknown;
|
|
467
467
|
}>;
|
|
468
468
|
}, "strip", z.ZodTypeAny, {
|
|
469
469
|
data: {
|
|
@@ -610,8 +610,8 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
610
610
|
}, z.ZodTypeAny, "passthrough">[];
|
|
611
611
|
name?: string | undefined;
|
|
612
612
|
description?: string | undefined;
|
|
613
|
-
scan_depth?:
|
|
614
|
-
token_budget?:
|
|
613
|
+
scan_depth?: unknown;
|
|
614
|
+
token_budget?: unknown;
|
|
615
615
|
recursive_scanning?: boolean | undefined;
|
|
616
616
|
extensions?: Record<string, unknown> | undefined;
|
|
617
617
|
} | null | undefined;
|
|
@@ -621,15 +621,15 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
621
621
|
group_only_greetings?: string[] | undefined;
|
|
622
622
|
assets?: {
|
|
623
623
|
name: string;
|
|
624
|
-
type: "custom" | "icon" | "background" | "emotion" | "user_icon" | "sound" | "video" | "x-risu-asset";
|
|
625
624
|
uri: string;
|
|
626
625
|
ext: string;
|
|
626
|
+
type?: unknown;
|
|
627
627
|
}[] | undefined;
|
|
628
628
|
nickname?: string | undefined;
|
|
629
629
|
creator_notes_multilingual?: Record<string, string> | undefined;
|
|
630
630
|
source?: string[] | undefined;
|
|
631
|
-
creation_date?:
|
|
632
|
-
modification_date?:
|
|
631
|
+
creation_date?: unknown;
|
|
632
|
+
modification_date?: unknown;
|
|
633
633
|
};
|
|
634
634
|
spec: "chara_card_v3";
|
|
635
635
|
spec_version: "3.0";
|
|
@@ -660,8 +660,8 @@ declare const CCv2DataSchema: z.ZodObject<{
|
|
|
660
660
|
character_book: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
661
661
|
name: z.ZodOptional<z.ZodString>;
|
|
662
662
|
description: z.ZodOptional<z.ZodString>;
|
|
663
|
-
scan_depth: z.ZodOptional<z.ZodNumber>;
|
|
664
|
-
token_budget: z.ZodOptional<z.ZodNumber>;
|
|
663
|
+
scan_depth: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
664
|
+
token_budget: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
665
665
|
recursive_scanning: z.ZodOptional<z.ZodBoolean>;
|
|
666
666
|
extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
667
667
|
entries: z.ZodArray<z.ZodObject<{
|
|
@@ -792,8 +792,8 @@ declare const CCv2DataSchema: z.ZodObject<{
|
|
|
792
792
|
}, z.ZodTypeAny, "passthrough">[];
|
|
793
793
|
name?: string | undefined;
|
|
794
794
|
description?: string | undefined;
|
|
795
|
-
scan_depth?:
|
|
796
|
-
token_budget?:
|
|
795
|
+
scan_depth?: unknown;
|
|
796
|
+
token_budget?: unknown;
|
|
797
797
|
recursive_scanning?: boolean | undefined;
|
|
798
798
|
extensions?: Record<string, unknown> | undefined;
|
|
799
799
|
}>>>;
|
|
@@ -887,8 +887,8 @@ declare const CCv2DataSchema: z.ZodObject<{
|
|
|
887
887
|
}, z.ZodTypeAny, "passthrough">[];
|
|
888
888
|
name?: string | undefined;
|
|
889
889
|
description?: string | undefined;
|
|
890
|
-
scan_depth?:
|
|
891
|
-
token_budget?:
|
|
890
|
+
scan_depth?: unknown;
|
|
891
|
+
token_budget?: unknown;
|
|
892
892
|
recursive_scanning?: boolean | undefined;
|
|
893
893
|
extensions?: Record<string, unknown> | undefined;
|
|
894
894
|
} | null | undefined;
|
package/dist/png.d.ts
CHANGED
|
@@ -31,8 +31,8 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
31
31
|
character_book: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
32
32
|
name: z.ZodOptional<z.ZodString>;
|
|
33
33
|
description: z.ZodOptional<z.ZodString>;
|
|
34
|
-
scan_depth: z.ZodOptional<z.ZodNumber>;
|
|
35
|
-
token_budget: z.ZodOptional<z.ZodNumber>;
|
|
34
|
+
scan_depth: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
35
|
+
token_budget: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
36
36
|
recursive_scanning: z.ZodOptional<z.ZodBoolean>;
|
|
37
37
|
extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
38
38
|
entries: z.ZodArray<z.ZodObject<{
|
|
@@ -268,14 +268,14 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
268
268
|
}, z.ZodTypeAny, "passthrough">[];
|
|
269
269
|
name?: string | undefined;
|
|
270
270
|
description?: string | undefined;
|
|
271
|
-
scan_depth?:
|
|
272
|
-
token_budget?:
|
|
271
|
+
scan_depth?: unknown;
|
|
272
|
+
token_budget?: unknown;
|
|
273
273
|
recursive_scanning?: boolean | undefined;
|
|
274
274
|
extensions?: Record<string, unknown> | undefined;
|
|
275
275
|
}>>>;
|
|
276
276
|
extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
277
277
|
assets: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
278
|
-
type: z.ZodEnum<[
|
|
278
|
+
type: z.ZodEffects<z.ZodEnum<[
|
|
279
279
|
"icon",
|
|
280
280
|
"background",
|
|
281
281
|
"emotion",
|
|
@@ -284,7 +284,7 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
284
284
|
"video",
|
|
285
285
|
"custom",
|
|
286
286
|
"x-risu-asset"
|
|
287
|
-
]>;
|
|
287
|
+
]>, "custom" | "icon" | "background" | "emotion" | "user_icon" | "sound" | "video" | "x-risu-asset", unknown>;
|
|
288
288
|
uri: z.ZodString;
|
|
289
289
|
name: z.ZodString;
|
|
290
290
|
ext: z.ZodString;
|
|
@@ -295,15 +295,15 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
295
295
|
ext: string;
|
|
296
296
|
}, {
|
|
297
297
|
name: string;
|
|
298
|
-
type: "custom" | "icon" | "background" | "emotion" | "user_icon" | "sound" | "video" | "x-risu-asset";
|
|
299
298
|
uri: string;
|
|
300
299
|
ext: string;
|
|
300
|
+
type?: unknown;
|
|
301
301
|
}>, "many">>;
|
|
302
302
|
nickname: z.ZodOptional<z.ZodString>;
|
|
303
303
|
creator_notes_multilingual: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
304
304
|
source: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
305
|
-
creation_date: z.ZodOptional<z.ZodNumber>;
|
|
306
|
-
modification_date: z.ZodOptional<z.ZodNumber>;
|
|
305
|
+
creation_date: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
306
|
+
modification_date: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
307
307
|
}, "strip", z.ZodTypeAny, {
|
|
308
308
|
name: string;
|
|
309
309
|
description: string;
|
|
@@ -444,8 +444,8 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
444
444
|
}, z.ZodTypeAny, "passthrough">[];
|
|
445
445
|
name?: string | undefined;
|
|
446
446
|
description?: string | undefined;
|
|
447
|
-
scan_depth?:
|
|
448
|
-
token_budget?:
|
|
447
|
+
scan_depth?: unknown;
|
|
448
|
+
token_budget?: unknown;
|
|
449
449
|
recursive_scanning?: boolean | undefined;
|
|
450
450
|
extensions?: Record<string, unknown> | undefined;
|
|
451
451
|
} | null | undefined;
|
|
@@ -455,15 +455,15 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
455
455
|
group_only_greetings?: string[] | undefined;
|
|
456
456
|
assets?: {
|
|
457
457
|
name: string;
|
|
458
|
-
type: "custom" | "icon" | "background" | "emotion" | "user_icon" | "sound" | "video" | "x-risu-asset";
|
|
459
458
|
uri: string;
|
|
460
459
|
ext: string;
|
|
460
|
+
type?: unknown;
|
|
461
461
|
}[] | undefined;
|
|
462
462
|
nickname?: string | undefined;
|
|
463
463
|
creator_notes_multilingual?: Record<string, string> | undefined;
|
|
464
464
|
source?: string[] | undefined;
|
|
465
|
-
creation_date?:
|
|
466
|
-
modification_date?:
|
|
465
|
+
creation_date?: unknown;
|
|
466
|
+
modification_date?: unknown;
|
|
467
467
|
}>;
|
|
468
468
|
}, "strip", z.ZodTypeAny, {
|
|
469
469
|
data: {
|
|
@@ -610,8 +610,8 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
610
610
|
}, z.ZodTypeAny, "passthrough">[];
|
|
611
611
|
name?: string | undefined;
|
|
612
612
|
description?: string | undefined;
|
|
613
|
-
scan_depth?:
|
|
614
|
-
token_budget?:
|
|
613
|
+
scan_depth?: unknown;
|
|
614
|
+
token_budget?: unknown;
|
|
615
615
|
recursive_scanning?: boolean | undefined;
|
|
616
616
|
extensions?: Record<string, unknown> | undefined;
|
|
617
617
|
} | null | undefined;
|
|
@@ -621,15 +621,15 @@ declare const CCv3DataSchema: z.ZodObject<{
|
|
|
621
621
|
group_only_greetings?: string[] | undefined;
|
|
622
622
|
assets?: {
|
|
623
623
|
name: string;
|
|
624
|
-
type: "custom" | "icon" | "background" | "emotion" | "user_icon" | "sound" | "video" | "x-risu-asset";
|
|
625
624
|
uri: string;
|
|
626
625
|
ext: string;
|
|
626
|
+
type?: unknown;
|
|
627
627
|
}[] | undefined;
|
|
628
628
|
nickname?: string | undefined;
|
|
629
629
|
creator_notes_multilingual?: Record<string, string> | undefined;
|
|
630
630
|
source?: string[] | undefined;
|
|
631
|
-
creation_date?:
|
|
632
|
-
modification_date?:
|
|
631
|
+
creation_date?: unknown;
|
|
632
|
+
modification_date?: unknown;
|
|
633
633
|
};
|
|
634
634
|
spec: "chara_card_v3";
|
|
635
635
|
spec_version: "3.0";
|
|
@@ -660,8 +660,8 @@ declare const CCv2DataSchema: z.ZodObject<{
|
|
|
660
660
|
character_book: z.ZodNullable<z.ZodOptional<z.ZodObject<{
|
|
661
661
|
name: z.ZodOptional<z.ZodString>;
|
|
662
662
|
description: z.ZodOptional<z.ZodString>;
|
|
663
|
-
scan_depth: z.ZodOptional<z.ZodNumber>;
|
|
664
|
-
token_budget: z.ZodOptional<z.ZodNumber>;
|
|
663
|
+
scan_depth: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
664
|
+
token_budget: z.ZodEffects<z.ZodOptional<z.ZodNumber>, number | undefined, unknown>;
|
|
665
665
|
recursive_scanning: z.ZodOptional<z.ZodBoolean>;
|
|
666
666
|
extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
667
667
|
entries: z.ZodArray<z.ZodObject<{
|
|
@@ -792,8 +792,8 @@ declare const CCv2DataSchema: z.ZodObject<{
|
|
|
792
792
|
}, z.ZodTypeAny, "passthrough">[];
|
|
793
793
|
name?: string | undefined;
|
|
794
794
|
description?: string | undefined;
|
|
795
|
-
scan_depth?:
|
|
796
|
-
token_budget?:
|
|
795
|
+
scan_depth?: unknown;
|
|
796
|
+
token_budget?: unknown;
|
|
797
797
|
recursive_scanning?: boolean | undefined;
|
|
798
798
|
extensions?: Record<string, unknown> | undefined;
|
|
799
799
|
}>>>;
|
|
@@ -887,8 +887,8 @@ declare const CCv2DataSchema: z.ZodObject<{
|
|
|
887
887
|
}, z.ZodTypeAny, "passthrough">[];
|
|
888
888
|
name?: string | undefined;
|
|
889
889
|
description?: string | undefined;
|
|
890
|
-
scan_depth?:
|
|
891
|
-
token_budget?:
|
|
890
|
+
scan_depth?: unknown;
|
|
891
|
+
token_budget?: unknown;
|
|
892
892
|
recursive_scanning?: boolean | undefined;
|
|
893
893
|
extensions?: Record<string, unknown> | undefined;
|
|
894
894
|
} | null | undefined;
|
package/dist/png.js
CHANGED
|
@@ -135,6 +135,58 @@ import { z } from "zod";
|
|
|
135
135
|
import { z as z2 } from "zod";
|
|
136
136
|
import { z as z3 } from "zod";
|
|
137
137
|
import "zod";
|
|
138
|
+
function preprocessTimestamp(val) {
|
|
139
|
+
if (val === null || val === void 0) return void 0;
|
|
140
|
+
let num;
|
|
141
|
+
if (typeof val === "number") {
|
|
142
|
+
num = val;
|
|
143
|
+
} else if (typeof val === "string") {
|
|
144
|
+
const trimmed = val.trim();
|
|
145
|
+
if (!trimmed) return void 0;
|
|
146
|
+
const parsed = Number(trimmed);
|
|
147
|
+
if (!isNaN(parsed)) {
|
|
148
|
+
num = parsed;
|
|
149
|
+
} else {
|
|
150
|
+
const date = new Date(trimmed);
|
|
151
|
+
if (isNaN(date.getTime())) return void 0;
|
|
152
|
+
num = Math.floor(date.getTime() / 1e3);
|
|
153
|
+
}
|
|
154
|
+
} else {
|
|
155
|
+
return void 0;
|
|
156
|
+
}
|
|
157
|
+
if (num > 1e10) {
|
|
158
|
+
num = Math.floor(num / 1e3);
|
|
159
|
+
}
|
|
160
|
+
if (num < 0) return void 0;
|
|
161
|
+
return num;
|
|
162
|
+
}
|
|
163
|
+
function preprocessNumeric(val) {
|
|
164
|
+
if (val === null || val === void 0) return void 0;
|
|
165
|
+
if (typeof val === "number") {
|
|
166
|
+
return isNaN(val) ? void 0 : val;
|
|
167
|
+
}
|
|
168
|
+
if (typeof val === "string") {
|
|
169
|
+
const trimmed = val.trim();
|
|
170
|
+
if (!trimmed) return void 0;
|
|
171
|
+
const parsed = Number(trimmed);
|
|
172
|
+
return isNaN(parsed) ? void 0 : parsed;
|
|
173
|
+
}
|
|
174
|
+
return void 0;
|
|
175
|
+
}
|
|
176
|
+
var KNOWN_ASSET_TYPES = /* @__PURE__ */ new Set([
|
|
177
|
+
"icon",
|
|
178
|
+
"background",
|
|
179
|
+
"emotion",
|
|
180
|
+
"user_icon",
|
|
181
|
+
"sound",
|
|
182
|
+
"video",
|
|
183
|
+
"custom",
|
|
184
|
+
"x-risu-asset"
|
|
185
|
+
]);
|
|
186
|
+
function preprocessAssetType(val) {
|
|
187
|
+
if (typeof val !== "string") return "custom";
|
|
188
|
+
return KNOWN_ASSET_TYPES.has(val) ? val : "custom";
|
|
189
|
+
}
|
|
138
190
|
var ISO8601Schema = z.string().datetime();
|
|
139
191
|
var UUIDSchema = z.string().uuid();
|
|
140
192
|
var SpecSchema = z.enum(["v2", "v3"]);
|
|
@@ -157,16 +209,19 @@ var SourceFormatSchema = z.enum([
|
|
|
157
209
|
// VoxPkg format
|
|
158
210
|
]);
|
|
159
211
|
var OriginalShapeSchema = z.enum(["wrapped", "unwrapped", "legacy"]);
|
|
160
|
-
var AssetTypeSchema = z.
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
212
|
+
var AssetTypeSchema = z.preprocess(
|
|
213
|
+
preprocessAssetType,
|
|
214
|
+
z.enum([
|
|
215
|
+
"icon",
|
|
216
|
+
"background",
|
|
217
|
+
"emotion",
|
|
218
|
+
"user_icon",
|
|
219
|
+
"sound",
|
|
220
|
+
"video",
|
|
221
|
+
"custom",
|
|
222
|
+
"x-risu-asset"
|
|
223
|
+
])
|
|
224
|
+
);
|
|
170
225
|
var AssetDescriptorSchema = z.object({
|
|
171
226
|
type: AssetTypeSchema,
|
|
172
227
|
uri: z.string(),
|
|
@@ -200,8 +255,8 @@ var CCv2LorebookEntrySchema = z2.object({
|
|
|
200
255
|
var CCv2CharacterBookSchema = z2.object({
|
|
201
256
|
name: z2.string().optional(),
|
|
202
257
|
description: z2.string().optional(),
|
|
203
|
-
scan_depth: z2.number().int().nonnegative().optional(),
|
|
204
|
-
token_budget: z2.number().int().nonnegative().optional(),
|
|
258
|
+
scan_depth: z2.preprocess(preprocessNumeric, z2.number().int().nonnegative().optional()),
|
|
259
|
+
token_budget: z2.preprocess(preprocessNumeric, z2.number().int().nonnegative().optional()),
|
|
205
260
|
recursive_scanning: z2.boolean().optional(),
|
|
206
261
|
extensions: z2.record(z2.unknown()).optional(),
|
|
207
262
|
entries: z2.array(CCv2LorebookEntrySchema)
|
|
@@ -264,8 +319,8 @@ var CCv3LorebookEntrySchema = z3.object({
|
|
|
264
319
|
var CCv3CharacterBookSchema = z3.object({
|
|
265
320
|
name: z3.string().optional(),
|
|
266
321
|
description: z3.string().optional(),
|
|
267
|
-
scan_depth: z3.number().int().nonnegative().optional(),
|
|
268
|
-
token_budget: z3.number().int().nonnegative().optional(),
|
|
322
|
+
scan_depth: z3.preprocess(preprocessNumeric, z3.number().int().nonnegative().optional()),
|
|
323
|
+
token_budget: z3.preprocess(preprocessNumeric, z3.number().int().nonnegative().optional()),
|
|
269
324
|
recursive_scanning: z3.boolean().optional(),
|
|
270
325
|
extensions: z3.record(z3.unknown()).optional(),
|
|
271
326
|
entries: z3.array(CCv3LorebookEntrySchema)
|
|
@@ -297,10 +352,9 @@ var CCv3DataInnerSchema = z3.object({
|
|
|
297
352
|
nickname: z3.string().optional(),
|
|
298
353
|
creator_notes_multilingual: z3.record(z3.string()).optional(),
|
|
299
354
|
source: z3.array(z3.string()).optional(),
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
modification_date: z3.number().int().nonnegative().optional()
|
|
303
|
-
// Unix timestamp in seconds
|
|
355
|
+
// Unix timestamps - preprocess to handle ISO strings, numeric strings, milliseconds
|
|
356
|
+
creation_date: z3.preprocess(preprocessTimestamp, z3.number().int().nonnegative().optional()),
|
|
357
|
+
modification_date: z3.preprocess(preprocessTimestamp, z3.number().int().nonnegative().optional())
|
|
304
358
|
});
|
|
305
359
|
var CCv3DataSchema = z3.object({
|
|
306
360
|
spec: z3.literal("chara_card_v3"),
|