@character-foundry/character-foundry 0.4.3 → 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 +85 -52
- 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 +85 -52
- package/dist/charx.js.map +1 -1
- package/dist/exporter.cjs +104 -54
- 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 +104 -54
- package/dist/exporter.js.map +1 -1
- package/dist/federation.cjs +104 -36
- package/dist/federation.cjs.map +1 -1
- package/dist/federation.d.cts +54 -19
- package/dist/federation.d.ts +54 -19
- package/dist/federation.js +104 -36
- package/dist/federation.js.map +1 -1
- package/dist/index.cjs +104 -54
- 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 +104 -54
- package/dist/index.js.map +1 -1
- package/dist/loader.cjs +171 -31
- package/dist/loader.cjs.map +1 -1
- package/dist/loader.d.cts +37 -23
- package/dist/loader.d.ts +37 -23
- package/dist/loader.js +171 -31
- 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 +80 -23
- 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 +80 -23
- package/dist/schemas.js.map +1 -1
- package/dist/voxta.cjs +91 -20
- 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 +91 -20
- package/dist/voxta.js.map +1 -1
- package/package.json +24 -24
package/dist/png.cjs
CHANGED
|
@@ -172,6 +172,58 @@ var import_zod = require("zod");
|
|
|
172
172
|
var import_zod2 = require("zod");
|
|
173
173
|
var import_zod3 = require("zod");
|
|
174
174
|
var import_zod4 = require("zod");
|
|
175
|
+
function preprocessTimestamp(val) {
|
|
176
|
+
if (val === null || val === void 0) return void 0;
|
|
177
|
+
let num;
|
|
178
|
+
if (typeof val === "number") {
|
|
179
|
+
num = val;
|
|
180
|
+
} else if (typeof val === "string") {
|
|
181
|
+
const trimmed = val.trim();
|
|
182
|
+
if (!trimmed) return void 0;
|
|
183
|
+
const parsed = Number(trimmed);
|
|
184
|
+
if (!isNaN(parsed)) {
|
|
185
|
+
num = parsed;
|
|
186
|
+
} else {
|
|
187
|
+
const date = new Date(trimmed);
|
|
188
|
+
if (isNaN(date.getTime())) return void 0;
|
|
189
|
+
num = Math.floor(date.getTime() / 1e3);
|
|
190
|
+
}
|
|
191
|
+
} else {
|
|
192
|
+
return void 0;
|
|
193
|
+
}
|
|
194
|
+
if (num > 1e10) {
|
|
195
|
+
num = Math.floor(num / 1e3);
|
|
196
|
+
}
|
|
197
|
+
if (num < 0) return void 0;
|
|
198
|
+
return num;
|
|
199
|
+
}
|
|
200
|
+
function preprocessNumeric(val) {
|
|
201
|
+
if (val === null || val === void 0) return void 0;
|
|
202
|
+
if (typeof val === "number") {
|
|
203
|
+
return isNaN(val) ? void 0 : val;
|
|
204
|
+
}
|
|
205
|
+
if (typeof val === "string") {
|
|
206
|
+
const trimmed = val.trim();
|
|
207
|
+
if (!trimmed) return void 0;
|
|
208
|
+
const parsed = Number(trimmed);
|
|
209
|
+
return isNaN(parsed) ? void 0 : parsed;
|
|
210
|
+
}
|
|
211
|
+
return void 0;
|
|
212
|
+
}
|
|
213
|
+
var KNOWN_ASSET_TYPES = /* @__PURE__ */ new Set([
|
|
214
|
+
"icon",
|
|
215
|
+
"background",
|
|
216
|
+
"emotion",
|
|
217
|
+
"user_icon",
|
|
218
|
+
"sound",
|
|
219
|
+
"video",
|
|
220
|
+
"custom",
|
|
221
|
+
"x-risu-asset"
|
|
222
|
+
]);
|
|
223
|
+
function preprocessAssetType(val) {
|
|
224
|
+
if (typeof val !== "string") return "custom";
|
|
225
|
+
return KNOWN_ASSET_TYPES.has(val) ? val : "custom";
|
|
226
|
+
}
|
|
175
227
|
var ISO8601Schema = import_zod.z.string().datetime();
|
|
176
228
|
var UUIDSchema = import_zod.z.string().uuid();
|
|
177
229
|
var SpecSchema = import_zod.z.enum(["v2", "v3"]);
|
|
@@ -194,16 +246,19 @@ var SourceFormatSchema = import_zod.z.enum([
|
|
|
194
246
|
// VoxPkg format
|
|
195
247
|
]);
|
|
196
248
|
var OriginalShapeSchema = import_zod.z.enum(["wrapped", "unwrapped", "legacy"]);
|
|
197
|
-
var AssetTypeSchema = import_zod.z.
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
249
|
+
var AssetTypeSchema = import_zod.z.preprocess(
|
|
250
|
+
preprocessAssetType,
|
|
251
|
+
import_zod.z.enum([
|
|
252
|
+
"icon",
|
|
253
|
+
"background",
|
|
254
|
+
"emotion",
|
|
255
|
+
"user_icon",
|
|
256
|
+
"sound",
|
|
257
|
+
"video",
|
|
258
|
+
"custom",
|
|
259
|
+
"x-risu-asset"
|
|
260
|
+
])
|
|
261
|
+
);
|
|
207
262
|
var AssetDescriptorSchema = import_zod.z.object({
|
|
208
263
|
type: AssetTypeSchema,
|
|
209
264
|
uri: import_zod.z.string(),
|
|
@@ -237,8 +292,8 @@ var CCv2LorebookEntrySchema = import_zod2.z.object({
|
|
|
237
292
|
var CCv2CharacterBookSchema = import_zod2.z.object({
|
|
238
293
|
name: import_zod2.z.string().optional(),
|
|
239
294
|
description: import_zod2.z.string().optional(),
|
|
240
|
-
scan_depth: import_zod2.z.number().int().nonnegative().optional(),
|
|
241
|
-
token_budget: import_zod2.z.number().int().nonnegative().optional(),
|
|
295
|
+
scan_depth: import_zod2.z.preprocess(preprocessNumeric, import_zod2.z.number().int().nonnegative().optional()),
|
|
296
|
+
token_budget: import_zod2.z.preprocess(preprocessNumeric, import_zod2.z.number().int().nonnegative().optional()),
|
|
242
297
|
recursive_scanning: import_zod2.z.boolean().optional(),
|
|
243
298
|
extensions: import_zod2.z.record(import_zod2.z.unknown()).optional(),
|
|
244
299
|
entries: import_zod2.z.array(CCv2LorebookEntrySchema)
|
|
@@ -301,8 +356,8 @@ var CCv3LorebookEntrySchema = import_zod3.z.object({
|
|
|
301
356
|
var CCv3CharacterBookSchema = import_zod3.z.object({
|
|
302
357
|
name: import_zod3.z.string().optional(),
|
|
303
358
|
description: import_zod3.z.string().optional(),
|
|
304
|
-
scan_depth: import_zod3.z.number().int().nonnegative().optional(),
|
|
305
|
-
token_budget: import_zod3.z.number().int().nonnegative().optional(),
|
|
359
|
+
scan_depth: import_zod3.z.preprocess(preprocessNumeric, import_zod3.z.number().int().nonnegative().optional()),
|
|
360
|
+
token_budget: import_zod3.z.preprocess(preprocessNumeric, import_zod3.z.number().int().nonnegative().optional()),
|
|
306
361
|
recursive_scanning: import_zod3.z.boolean().optional(),
|
|
307
362
|
extensions: import_zod3.z.record(import_zod3.z.unknown()).optional(),
|
|
308
363
|
entries: import_zod3.z.array(CCv3LorebookEntrySchema)
|
|
@@ -334,10 +389,9 @@ var CCv3DataInnerSchema = import_zod3.z.object({
|
|
|
334
389
|
nickname: import_zod3.z.string().optional(),
|
|
335
390
|
creator_notes_multilingual: import_zod3.z.record(import_zod3.z.string()).optional(),
|
|
336
391
|
source: import_zod3.z.array(import_zod3.z.string()).optional(),
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
modification_date: import_zod3.z.number().int().nonnegative().optional()
|
|
340
|
-
// Unix timestamp in seconds
|
|
392
|
+
// Unix timestamps - preprocess to handle ISO strings, numeric strings, milliseconds
|
|
393
|
+
creation_date: import_zod3.z.preprocess(preprocessTimestamp, import_zod3.z.number().int().nonnegative().optional()),
|
|
394
|
+
modification_date: import_zod3.z.preprocess(preprocessTimestamp, import_zod3.z.number().int().nonnegative().optional())
|
|
341
395
|
});
|
|
342
396
|
var CCv3DataSchema = import_zod3.z.object({
|
|
343
397
|
spec: import_zod3.z.literal("chara_card_v3"),
|