@character-foundry/character-foundry 0.4.2 → 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 +87 -54
- package/dist/charx.cjs.map +1 -1
- package/dist/charx.d.cts +40 -31
- package/dist/charx.d.ts +40 -31
- package/dist/charx.js +87 -54
- package/dist/charx.js.map +1 -1
- package/dist/exporter.cjs +106 -56
- package/dist/exporter.cjs.map +1 -1
- package/dist/exporter.d.cts +37 -28
- package/dist/exporter.d.ts +37 -28
- package/dist/exporter.js +106 -56
- 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 +72 -28
- package/dist/federation.d.ts +72 -28
- package/dist/federation.js +104 -36
- package/dist/federation.js.map +1 -1
- package/dist/index.cjs +106 -56
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +71 -50
- package/dist/index.d.ts +71 -50
- package/dist/index.js +106 -56
- package/dist/index.js.map +1 -1
- package/dist/loader.cjs +173 -33
- package/dist/loader.cjs.map +1 -1
- package/dist/loader.d.cts +65 -37
- package/dist/loader.d.ts +65 -37
- package/dist/loader.js +173 -33
- package/dist/loader.js.map +1 -1
- package/dist/lorebook.d.cts +57 -40
- package/dist/lorebook.d.ts +57 -40
- package/dist/normalizer.cjs +74 -20
- package/dist/normalizer.cjs.map +1 -1
- package/dist/normalizer.d.cts +97 -67
- package/dist/normalizer.d.ts +97 -67
- package/dist/normalizer.js +74 -20
- package/dist/normalizer.js.map +1 -1
- package/dist/png.cjs +74 -20
- package/dist/png.cjs.map +1 -1
- package/dist/png.d.cts +57 -41
- package/dist/png.d.ts +57 -41
- package/dist/png.js +74 -20
- package/dist/png.js.map +1 -1
- package/dist/schemas.cjs +82 -25
- package/dist/schemas.cjs.map +1 -1
- package/dist/schemas.d.cts +181 -115
- package/dist/schemas.d.ts +181 -115
- package/dist/schemas.js +82 -25
- package/dist/schemas.js.map +1 -1
- package/dist/voxta.cjs +93 -22
- package/dist/voxta.cjs.map +1 -1
- package/dist/voxta.d.cts +51 -37
- package/dist/voxta.d.ts +51 -37
- package/dist/voxta.js +93 -22
- package/dist/voxta.js.map +1 -1
- package/package.json +5 -5
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(),
|
|
@@ -195,13 +250,13 @@ var CCv2LorebookEntrySchema = z2.object({
|
|
|
195
250
|
selective: z2.boolean().nullable().optional(),
|
|
196
251
|
secondary_keys: z2.array(z2.string()).nullable().optional(),
|
|
197
252
|
constant: z2.boolean().nullable().optional(),
|
|
198
|
-
position: z2.union([z2.enum(["before_char", "after_char"]), z2.number().int(), z2.literal("")]).nullable().optional()
|
|
253
|
+
position: z2.union([z2.enum(["before_char", "after_char", "in_chat"]), z2.number().int(), z2.literal("")]).nullable().optional()
|
|
199
254
|
}).passthrough();
|
|
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)
|
|
@@ -248,7 +303,7 @@ var CCv3LorebookEntrySchema = z3.object({
|
|
|
248
303
|
selective: z3.boolean().nullable().optional(),
|
|
249
304
|
secondary_keys: z3.array(z3.string()).nullable().optional(),
|
|
250
305
|
constant: z3.boolean().nullable().optional(),
|
|
251
|
-
position: z3.union([z3.enum(["before_char", "after_char"]), z3.number().int(), z3.literal("")]).nullable().optional(),
|
|
306
|
+
position: z3.union([z3.enum(["before_char", "after_char", "in_chat"]), z3.number().int(), z3.literal("")]).nullable().optional(),
|
|
252
307
|
extensions: z3.record(z3.unknown()).optional(),
|
|
253
308
|
// v3 specific - also lenient with types since SillyTavern uses numbers for enums
|
|
254
309
|
automation_id: z3.string().optional(),
|
|
@@ -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"),
|