@character-foundry/character-foundry 0.4.4 → 0.5.0
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/loader.cjs
CHANGED
|
@@ -444,6 +444,58 @@ var import_zod = require("zod");
|
|
|
444
444
|
var import_zod2 = require("zod");
|
|
445
445
|
var import_zod3 = require("zod");
|
|
446
446
|
var import_zod4 = require("zod");
|
|
447
|
+
function preprocessTimestamp(val) {
|
|
448
|
+
if (val === null || val === void 0) return void 0;
|
|
449
|
+
let num;
|
|
450
|
+
if (typeof val === "number") {
|
|
451
|
+
num = val;
|
|
452
|
+
} else if (typeof val === "string") {
|
|
453
|
+
const trimmed = val.trim();
|
|
454
|
+
if (!trimmed) return void 0;
|
|
455
|
+
const parsed = Number(trimmed);
|
|
456
|
+
if (!isNaN(parsed)) {
|
|
457
|
+
num = parsed;
|
|
458
|
+
} else {
|
|
459
|
+
const date = new Date(trimmed);
|
|
460
|
+
if (isNaN(date.getTime())) return void 0;
|
|
461
|
+
num = Math.floor(date.getTime() / 1e3);
|
|
462
|
+
}
|
|
463
|
+
} else {
|
|
464
|
+
return void 0;
|
|
465
|
+
}
|
|
466
|
+
if (num > 1e10) {
|
|
467
|
+
num = Math.floor(num / 1e3);
|
|
468
|
+
}
|
|
469
|
+
if (num < 0) return void 0;
|
|
470
|
+
return num;
|
|
471
|
+
}
|
|
472
|
+
function preprocessNumeric(val) {
|
|
473
|
+
if (val === null || val === void 0) return void 0;
|
|
474
|
+
if (typeof val === "number") {
|
|
475
|
+
return isNaN(val) ? void 0 : val;
|
|
476
|
+
}
|
|
477
|
+
if (typeof val === "string") {
|
|
478
|
+
const trimmed = val.trim();
|
|
479
|
+
if (!trimmed) return void 0;
|
|
480
|
+
const parsed = Number(trimmed);
|
|
481
|
+
return isNaN(parsed) ? void 0 : parsed;
|
|
482
|
+
}
|
|
483
|
+
return void 0;
|
|
484
|
+
}
|
|
485
|
+
var KNOWN_ASSET_TYPES = /* @__PURE__ */ new Set([
|
|
486
|
+
"icon",
|
|
487
|
+
"background",
|
|
488
|
+
"emotion",
|
|
489
|
+
"user_icon",
|
|
490
|
+
"sound",
|
|
491
|
+
"video",
|
|
492
|
+
"custom",
|
|
493
|
+
"x-risu-asset"
|
|
494
|
+
]);
|
|
495
|
+
function preprocessAssetType(val) {
|
|
496
|
+
if (typeof val !== "string") return "custom";
|
|
497
|
+
return KNOWN_ASSET_TYPES.has(val) ? val : "custom";
|
|
498
|
+
}
|
|
447
499
|
var ISO8601Schema = import_zod.z.string().datetime();
|
|
448
500
|
var UUIDSchema = import_zod.z.string().uuid();
|
|
449
501
|
var SpecSchema = import_zod.z.enum(["v2", "v3"]);
|
|
@@ -466,16 +518,19 @@ var SourceFormatSchema = import_zod.z.enum([
|
|
|
466
518
|
// VoxPkg format
|
|
467
519
|
]);
|
|
468
520
|
var OriginalShapeSchema = import_zod.z.enum(["wrapped", "unwrapped", "legacy"]);
|
|
469
|
-
var AssetTypeSchema = import_zod.z.
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
521
|
+
var AssetTypeSchema = import_zod.z.preprocess(
|
|
522
|
+
preprocessAssetType,
|
|
523
|
+
import_zod.z.enum([
|
|
524
|
+
"icon",
|
|
525
|
+
"background",
|
|
526
|
+
"emotion",
|
|
527
|
+
"user_icon",
|
|
528
|
+
"sound",
|
|
529
|
+
"video",
|
|
530
|
+
"custom",
|
|
531
|
+
"x-risu-asset"
|
|
532
|
+
])
|
|
533
|
+
);
|
|
479
534
|
var AssetDescriptorSchema = import_zod.z.object({
|
|
480
535
|
type: AssetTypeSchema,
|
|
481
536
|
uri: import_zod.z.string(),
|
|
@@ -509,8 +564,8 @@ var CCv2LorebookEntrySchema = import_zod2.z.object({
|
|
|
509
564
|
var CCv2CharacterBookSchema = import_zod2.z.object({
|
|
510
565
|
name: import_zod2.z.string().optional(),
|
|
511
566
|
description: import_zod2.z.string().optional(),
|
|
512
|
-
scan_depth: import_zod2.z.number().int().nonnegative().optional(),
|
|
513
|
-
token_budget: import_zod2.z.number().int().nonnegative().optional(),
|
|
567
|
+
scan_depth: import_zod2.z.preprocess(preprocessNumeric, import_zod2.z.number().int().nonnegative().optional()),
|
|
568
|
+
token_budget: import_zod2.z.preprocess(preprocessNumeric, import_zod2.z.number().int().nonnegative().optional()),
|
|
514
569
|
recursive_scanning: import_zod2.z.boolean().optional(),
|
|
515
570
|
extensions: import_zod2.z.record(import_zod2.z.unknown()).optional(),
|
|
516
571
|
entries: import_zod2.z.array(CCv2LorebookEntrySchema)
|
|
@@ -584,8 +639,8 @@ var CCv3LorebookEntrySchema = import_zod3.z.object({
|
|
|
584
639
|
var CCv3CharacterBookSchema = import_zod3.z.object({
|
|
585
640
|
name: import_zod3.z.string().optional(),
|
|
586
641
|
description: import_zod3.z.string().optional(),
|
|
587
|
-
scan_depth: import_zod3.z.number().int().nonnegative().optional(),
|
|
588
|
-
token_budget: import_zod3.z.number().int().nonnegative().optional(),
|
|
642
|
+
scan_depth: import_zod3.z.preprocess(preprocessNumeric, import_zod3.z.number().int().nonnegative().optional()),
|
|
643
|
+
token_budget: import_zod3.z.preprocess(preprocessNumeric, import_zod3.z.number().int().nonnegative().optional()),
|
|
589
644
|
recursive_scanning: import_zod3.z.boolean().optional(),
|
|
590
645
|
extensions: import_zod3.z.record(import_zod3.z.unknown()).optional(),
|
|
591
646
|
entries: import_zod3.z.array(CCv3LorebookEntrySchema)
|
|
@@ -617,10 +672,9 @@ var CCv3DataInnerSchema = import_zod3.z.object({
|
|
|
617
672
|
nickname: import_zod3.z.string().optional(),
|
|
618
673
|
creator_notes_multilingual: import_zod3.z.record(import_zod3.z.string()).optional(),
|
|
619
674
|
source: import_zod3.z.array(import_zod3.z.string()).optional(),
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
modification_date: import_zod3.z.number().int().nonnegative().optional()
|
|
623
|
-
// Unix timestamp in seconds
|
|
675
|
+
// Unix timestamps - preprocess to handle ISO strings, numeric strings, milliseconds
|
|
676
|
+
creation_date: import_zod3.z.preprocess(preprocessTimestamp, import_zod3.z.number().int().nonnegative().optional()),
|
|
677
|
+
modification_date: import_zod3.z.preprocess(preprocessTimestamp, import_zod3.z.number().int().nonnegative().optional())
|
|
624
678
|
});
|
|
625
679
|
var CCv3DataSchema = import_zod3.z.object({
|
|
626
680
|
spec: import_zod3.z.literal("chara_card_v3"),
|