@character-foundry/character-foundry 0.4.2-dev.1765997746 → 0.4.2

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.
Files changed (57) hide show
  1. package/dist/charx.cjs +36 -15
  2. package/dist/charx.cjs.map +1 -1
  3. package/dist/charx.d.cts +9 -18
  4. package/dist/charx.d.ts +9 -18
  5. package/dist/charx.js +36 -15
  6. package/dist/charx.js.map +1 -1
  7. package/dist/exporter.cjs +38 -34
  8. package/dist/exporter.cjs.map +1 -1
  9. package/dist/exporter.d.cts +9 -18
  10. package/dist/exporter.d.ts +9 -18
  11. package/dist/exporter.js +38 -34
  12. package/dist/exporter.js.map +1 -1
  13. package/dist/federation.cjs +36 -104
  14. package/dist/federation.cjs.map +1 -1
  15. package/dist/federation.d.cts +9 -53
  16. package/dist/federation.d.ts +9 -53
  17. package/dist/federation.js +36 -104
  18. package/dist/federation.js.map +1 -1
  19. package/dist/index.cjs +38 -34
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.d.cts +21 -42
  22. package/dist/index.d.ts +21 -42
  23. package/dist/index.js +38 -34
  24. package/dist/index.js.map +1 -1
  25. package/dist/loader.cjs +15 -101
  26. package/dist/loader.cjs.map +1 -1
  27. package/dist/loader.d.cts +14 -42
  28. package/dist/loader.d.ts +14 -42
  29. package/dist/loader.js +15 -101
  30. package/dist/loader.js.map +1 -1
  31. package/dist/lorebook.d.cts +17 -34
  32. package/dist/lorebook.d.ts +17 -34
  33. package/dist/normalizer.cjs +2 -2
  34. package/dist/normalizer.cjs.map +1 -1
  35. package/dist/normalizer.d.cts +30 -60
  36. package/dist/normalizer.d.ts +30 -60
  37. package/dist/normalizer.js +2 -2
  38. package/dist/normalizer.js.map +1 -1
  39. package/dist/png.cjs +2 -2
  40. package/dist/png.cjs.map +1 -1
  41. package/dist/png.d.cts +16 -32
  42. package/dist/png.d.ts +16 -32
  43. package/dist/png.js +2 -2
  44. package/dist/png.js.map +1 -1
  45. package/dist/schemas.cjs +7 -7
  46. package/dist/schemas.cjs.map +1 -1
  47. package/dist/schemas.d.cts +48 -96
  48. package/dist/schemas.d.ts +48 -96
  49. package/dist/schemas.js +7 -7
  50. package/dist/schemas.js.map +1 -1
  51. package/dist/voxta.cjs +4 -21
  52. package/dist/voxta.cjs.map +1 -1
  53. package/dist/voxta.d.cts +14 -28
  54. package/dist/voxta.d.ts +14 -28
  55. package/dist/voxta.js +4 -21
  56. package/dist/voxta.js.map +1 -1
  57. package/package.json +6 -6
package/dist/charx.d.cts CHANGED
@@ -51,8 +51,7 @@ declare const CCv3DataSchema: z.ZodObject<{
51
51
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
52
52
  z.ZodEnum<[
53
53
  "before_char",
54
- "after_char",
55
- "in_chat"
54
+ "after_char"
56
55
  ]>,
57
56
  z.ZodNumber,
58
57
  z.ZodLiteral<"">
@@ -95,8 +94,7 @@ declare const CCv3DataSchema: z.ZodObject<{
95
94
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
96
95
  z.ZodEnum<[
97
96
  "before_char",
98
- "after_char",
99
- "in_chat"
97
+ "after_char"
100
98
  ]>,
101
99
  z.ZodNumber,
102
100
  z.ZodLiteral<"">
@@ -139,8 +137,7 @@ declare const CCv3DataSchema: z.ZodObject<{
139
137
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
140
138
  z.ZodEnum<[
141
139
  "before_char",
142
- "after_char",
143
- "in_chat"
140
+ "after_char"
144
141
  ]>,
145
142
  z.ZodNumber,
146
143
  z.ZodLiteral<"">
@@ -185,8 +182,7 @@ declare const CCv3DataSchema: z.ZodObject<{
185
182
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
186
183
  z.ZodEnum<[
187
184
  "before_char",
188
- "after_char",
189
- "in_chat"
185
+ "after_char"
190
186
  ]>,
191
187
  z.ZodNumber,
192
188
  z.ZodLiteral<"">
@@ -237,8 +233,7 @@ declare const CCv3DataSchema: z.ZodObject<{
237
233
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
238
234
  z.ZodEnum<[
239
235
  "before_char",
240
- "after_char",
241
- "in_chat"
236
+ "after_char"
242
237
  ]>,
243
238
  z.ZodNumber,
244
239
  z.ZodLiteral<"">
@@ -337,8 +332,7 @@ declare const CCv3DataSchema: z.ZodObject<{
337
332
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
338
333
  z.ZodEnum<[
339
334
  "before_char",
340
- "after_char",
341
- "in_chat"
335
+ "after_char"
342
336
  ]>,
343
337
  z.ZodNumber,
344
338
  z.ZodLiteral<"">
@@ -413,8 +407,7 @@ declare const CCv3DataSchema: z.ZodObject<{
413
407
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
414
408
  z.ZodEnum<[
415
409
  "before_char",
416
- "after_char",
417
- "in_chat"
410
+ "after_char"
418
411
  ]>,
419
412
  z.ZodNumber,
420
413
  z.ZodLiteral<"">
@@ -499,8 +492,7 @@ declare const CCv3DataSchema: z.ZodObject<{
499
492
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
500
493
  z.ZodEnum<[
501
494
  "before_char",
502
- "after_char",
503
- "in_chat"
495
+ "after_char"
504
496
  ]>,
505
497
  z.ZodNumber,
506
498
  z.ZodLiteral<"">
@@ -579,8 +571,7 @@ declare const CCv3DataSchema: z.ZodObject<{
579
571
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
580
572
  z.ZodEnum<[
581
573
  "before_char",
582
- "after_char",
583
- "in_chat"
574
+ "after_char"
584
575
  ]>,
585
576
  z.ZodNumber,
586
577
  z.ZodLiteral<"">
package/dist/charx.d.ts CHANGED
@@ -51,8 +51,7 @@ declare const CCv3DataSchema: z.ZodObject<{
51
51
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
52
52
  z.ZodEnum<[
53
53
  "before_char",
54
- "after_char",
55
- "in_chat"
54
+ "after_char"
56
55
  ]>,
57
56
  z.ZodNumber,
58
57
  z.ZodLiteral<"">
@@ -95,8 +94,7 @@ declare const CCv3DataSchema: z.ZodObject<{
95
94
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
96
95
  z.ZodEnum<[
97
96
  "before_char",
98
- "after_char",
99
- "in_chat"
97
+ "after_char"
100
98
  ]>,
101
99
  z.ZodNumber,
102
100
  z.ZodLiteral<"">
@@ -139,8 +137,7 @@ declare const CCv3DataSchema: z.ZodObject<{
139
137
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
140
138
  z.ZodEnum<[
141
139
  "before_char",
142
- "after_char",
143
- "in_chat"
140
+ "after_char"
144
141
  ]>,
145
142
  z.ZodNumber,
146
143
  z.ZodLiteral<"">
@@ -185,8 +182,7 @@ declare const CCv3DataSchema: z.ZodObject<{
185
182
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
186
183
  z.ZodEnum<[
187
184
  "before_char",
188
- "after_char",
189
- "in_chat"
185
+ "after_char"
190
186
  ]>,
191
187
  z.ZodNumber,
192
188
  z.ZodLiteral<"">
@@ -237,8 +233,7 @@ declare const CCv3DataSchema: z.ZodObject<{
237
233
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
238
234
  z.ZodEnum<[
239
235
  "before_char",
240
- "after_char",
241
- "in_chat"
236
+ "after_char"
242
237
  ]>,
243
238
  z.ZodNumber,
244
239
  z.ZodLiteral<"">
@@ -337,8 +332,7 @@ declare const CCv3DataSchema: z.ZodObject<{
337
332
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
338
333
  z.ZodEnum<[
339
334
  "before_char",
340
- "after_char",
341
- "in_chat"
335
+ "after_char"
342
336
  ]>,
343
337
  z.ZodNumber,
344
338
  z.ZodLiteral<"">
@@ -413,8 +407,7 @@ declare const CCv3DataSchema: z.ZodObject<{
413
407
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
414
408
  z.ZodEnum<[
415
409
  "before_char",
416
- "after_char",
417
- "in_chat"
410
+ "after_char"
418
411
  ]>,
419
412
  z.ZodNumber,
420
413
  z.ZodLiteral<"">
@@ -499,8 +492,7 @@ declare const CCv3DataSchema: z.ZodObject<{
499
492
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
500
493
  z.ZodEnum<[
501
494
  "before_char",
502
- "after_char",
503
- "in_chat"
495
+ "after_char"
504
496
  ]>,
505
497
  z.ZodNumber,
506
498
  z.ZodLiteral<"">
@@ -579,8 +571,7 @@ declare const CCv3DataSchema: z.ZodObject<{
579
571
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
580
572
  z.ZodEnum<[
581
573
  "before_char",
582
- "after_char",
583
- "in_chat"
574
+ "after_char"
584
575
  ]>,
585
576
  z.ZodNumber,
586
577
  z.ZodLiteral<"">
package/dist/charx.js CHANGED
@@ -468,7 +468,7 @@ var CCv2LorebookEntrySchema = z2.object({
468
468
  selective: z2.boolean().nullable().optional(),
469
469
  secondary_keys: z2.array(z2.string()).nullable().optional(),
470
470
  constant: z2.boolean().nullable().optional(),
471
- position: z2.union([z2.enum(["before_char", "after_char", "in_chat"]), z2.number().int(), z2.literal("")]).nullable().optional()
471
+ position: z2.union([z2.enum(["before_char", "after_char"]), z2.number().int(), z2.literal("")]).nullable().optional()
472
472
  }).passthrough();
473
473
  var CCv2CharacterBookSchema = z2.object({
474
474
  name: z2.string().optional(),
@@ -521,7 +521,7 @@ var CCv3LorebookEntrySchema = z3.object({
521
521
  selective: z3.boolean().nullable().optional(),
522
522
  secondary_keys: z3.array(z3.string()).nullable().optional(),
523
523
  constant: z3.boolean().nullable().optional(),
524
- position: z3.union([z3.enum(["before_char", "after_char", "in_chat"]), z3.number().int(), z3.literal("")]).nullable().optional(),
524
+ position: z3.union([z3.enum(["before_char", "after_char"]), z3.number().int(), z3.literal("")]).nullable().optional(),
525
525
  extensions: z3.record(z3.unknown()).optional(),
526
526
  // v3 specific - also lenient with types since SillyTavern uses numbers for enums
527
527
  automation_id: z3.string().optional(),
@@ -836,6 +836,36 @@ var SAFE_ASSET_TYPES = /* @__PURE__ */ new Set([
836
836
  "data",
837
837
  "unknown"
838
838
  ]);
839
+ var SAFE_EXTENSIONS = /* @__PURE__ */ new Set([
840
+ // Images
841
+ "png",
842
+ "jpg",
843
+ "jpeg",
844
+ "webp",
845
+ "gif",
846
+ "avif",
847
+ "svg",
848
+ "bmp",
849
+ "ico",
850
+ // Audio
851
+ "mp3",
852
+ "wav",
853
+ "ogg",
854
+ "flac",
855
+ "m4a",
856
+ "aac",
857
+ "opus",
858
+ // Video
859
+ "mp4",
860
+ "webm",
861
+ "avi",
862
+ "mov",
863
+ "mkv",
864
+ // Data
865
+ "json",
866
+ "txt",
867
+ "bin"
868
+ ]);
839
869
  function getCharxCategory(mimetype) {
840
870
  if (mimetype.startsWith("image/")) return "images";
841
871
  if (mimetype.startsWith("audio/")) return "audio";
@@ -851,20 +881,11 @@ function sanitizeAssetType(type) {
851
881
  return sanitized || "custom";
852
882
  }
853
883
  function sanitizeExtension(ext) {
854
- const normalized = ext.trim().replace(/^\./, "").toLowerCase();
855
- if (!normalized) {
856
- throw new Error("Invalid asset extension: empty extension");
857
- }
858
- if (normalized.length > 64) {
859
- throw new Error(`Invalid asset extension: too long (${normalized.length} chars)`);
860
- }
861
- if (normalized.includes("/") || normalized.includes("\\") || normalized.includes("\0")) {
862
- throw new Error("Invalid asset extension: path separators are not allowed");
863
- }
864
- if (!/^[a-z0-9][a-z0-9._-]*$/.test(normalized)) {
865
- throw new Error(`Invalid asset extension: "${ext}"`);
884
+ const normalized = ext.replace(/^\./, "").toLowerCase().replace(/[^a-z0-9]/g, "");
885
+ if (SAFE_EXTENSIONS.has(normalized)) {
886
+ return normalized;
866
887
  }
867
- return normalized;
888
+ return "bin";
868
889
  }
869
890
  function sanitizeName(name, ext) {
870
891
  let safeName = name;