@character-foundry/character-foundry 0.1.8 → 0.1.9-dev.1765932375

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 (71) hide show
  1. package/dist/app-framework.cjs +291 -95
  2. package/dist/app-framework.cjs.map +1 -1
  3. package/dist/app-framework.d.cts +1 -1
  4. package/dist/app-framework.d.ts +1 -1
  5. package/dist/app-framework.js +292 -96
  6. package/dist/app-framework.js.map +1 -1
  7. package/dist/charx.cjs +44 -23
  8. package/dist/charx.cjs.map +1 -1
  9. package/dist/charx.d.cts +368 -207
  10. package/dist/charx.d.ts +368 -207
  11. package/dist/charx.js +44 -23
  12. package/dist/charx.js.map +1 -1
  13. package/dist/exporter.cjs +27 -22
  14. package/dist/exporter.cjs.map +1 -1
  15. package/dist/exporter.d.cts +368 -207
  16. package/dist/exporter.d.ts +368 -207
  17. package/dist/exporter.js +27 -22
  18. package/dist/exporter.js.map +1 -1
  19. package/dist/federation.cjs +16 -4
  20. package/dist/federation.cjs.map +1 -1
  21. package/dist/federation.d.cts +368 -207
  22. package/dist/federation.d.ts +368 -207
  23. package/dist/federation.js +16 -4
  24. package/dist/federation.js.map +1 -1
  25. package/dist/image-utils.cjs.map +1 -1
  26. package/dist/image-utils.d.cts +12 -0
  27. package/dist/image-utils.d.ts +12 -0
  28. package/dist/image-utils.js.map +1 -1
  29. package/dist/index.cjs +102 -54
  30. package/dist/index.cjs.map +1 -1
  31. package/dist/index.d.cts +708 -423
  32. package/dist/index.d.ts +708 -423
  33. package/dist/index.js +102 -54
  34. package/dist/index.js.map +1 -1
  35. package/dist/loader.cjs +102 -54
  36. package/dist/loader.cjs.map +1 -1
  37. package/dist/loader.d.cts +564 -318
  38. package/dist/loader.d.ts +564 -318
  39. package/dist/loader.js +102 -54
  40. package/dist/loader.js.map +1 -1
  41. package/dist/lorebook.cjs +5 -5
  42. package/dist/lorebook.cjs.map +1 -1
  43. package/dist/lorebook.d.cts +674 -381
  44. package/dist/lorebook.d.ts +674 -381
  45. package/dist/lorebook.js +5 -5
  46. package/dist/lorebook.js.map +1 -1
  47. package/dist/normalizer.cjs +33 -23
  48. package/dist/normalizer.cjs.map +1 -1
  49. package/dist/normalizer.d.cts +896 -560
  50. package/dist/normalizer.d.ts +896 -560
  51. package/dist/normalizer.js +33 -23
  52. package/dist/normalizer.js.map +1 -1
  53. package/dist/png.cjs +27 -22
  54. package/dist/png.cjs.map +1 -1
  55. package/dist/png.d.cts +512 -312
  56. package/dist/png.d.ts +512 -312
  57. package/dist/png.js +27 -22
  58. package/dist/png.js.map +1 -1
  59. package/dist/schemas.cjs +27 -22
  60. package/dist/schemas.cjs.map +1 -1
  61. package/dist/schemas.d.cts +1444 -896
  62. package/dist/schemas.d.ts +1444 -896
  63. package/dist/schemas.js +27 -22
  64. package/dist/schemas.js.map +1 -1
  65. package/dist/voxta.cjs +44 -23
  66. package/dist/voxta.cjs.map +1 -1
  67. package/dist/voxta.d.cts +564 -318
  68. package/dist/voxta.d.ts +564 -318
  69. package/dist/voxta.js +44 -23
  70. package/dist/voxta.js.map +1 -1
  71. package/package.json +6 -6
package/dist/charx.js CHANGED
@@ -324,7 +324,23 @@ function streamingUnzipSync(data, limits = DEFAULT_ZIP_LIMITS) {
324
324
  if (unsafePathHandling === "warn" && limits.onUnsafePath) {
325
325
  limits.onUnsafePath(file.name, reason);
326
326
  }
327
- file.ondata = () => {
327
+ file.ondata = (err, chunk, _final) => {
328
+ if (error) return;
329
+ if (err) {
330
+ error = err;
331
+ return;
332
+ }
333
+ if (chunk && chunk.length > 0) {
334
+ totalBytes += chunk.length;
335
+ if (totalBytes > limits.maxTotalSize) {
336
+ error = new ZipPreflightError(
337
+ `Total actual size ${totalBytes} exceeds limit ${limits.maxTotalSize}`,
338
+ totalBytes,
339
+ limits.maxTotalSize
340
+ );
341
+ file.terminate();
342
+ }
343
+ }
328
344
  };
329
345
  file.start();
330
346
  return;
@@ -436,22 +452,24 @@ var ExtractedAssetSchema = z.object({
436
452
  mimeType: z.string()
437
453
  });
438
454
  var CCv2LorebookEntrySchema = z2.object({
439
- keys: z2.array(z2.string()),
455
+ keys: z2.array(z2.string()).optional(),
456
+ // Some tools use 'key' instead
440
457
  content: z2.string(),
441
- enabled: z2.boolean(),
442
- insertion_order: z2.number().int(),
443
- // Optional fields
458
+ enabled: z2.boolean().default(true),
459
+ // Default to enabled if missing
460
+ insertion_order: z2.number().int().default(0),
461
+ // Optional fields - be lenient with nulls since wild data has them
444
462
  extensions: z2.record(z2.unknown()).optional(),
445
- case_sensitive: z2.boolean().optional(),
463
+ case_sensitive: z2.boolean().nullable().optional(),
446
464
  name: z2.string().optional(),
447
465
  priority: z2.number().int().optional(),
448
466
  id: z2.number().int().optional(),
449
467
  comment: z2.string().optional(),
450
- selective: z2.boolean().optional(),
468
+ selective: z2.boolean().nullable().optional(),
451
469
  secondary_keys: z2.array(z2.string()).optional(),
452
- constant: z2.boolean().optional(),
453
- position: z2.enum(["before_char", "after_char"]).optional()
454
- });
470
+ constant: z2.boolean().nullable().optional(),
471
+ position: z2.union([z2.enum(["before_char", "after_char"]), z2.number().int()]).nullable().optional()
472
+ }).passthrough();
455
473
  var CCv2CharacterBookSchema = z2.object({
456
474
  name: z2.string().optional(),
457
475
  description: z2.string().optional(),
@@ -488,31 +506,34 @@ var CCv2WrappedSchema = z2.object({
488
506
  data: CCv2DataSchema
489
507
  });
490
508
  var CCv3LorebookEntrySchema = z3.object({
491
- keys: z3.array(z3.string()),
509
+ keys: z3.array(z3.string()).optional(),
510
+ // Some tools use 'key' instead
492
511
  content: z3.string(),
493
- enabled: z3.boolean(),
494
- insertion_order: z3.number().int(),
495
- // Optional fields
496
- case_sensitive: z3.boolean().optional(),
512
+ enabled: z3.boolean().default(true),
513
+ // Default to enabled if missing
514
+ insertion_order: z3.number().int().default(0),
515
+ // Optional fields - be lenient with nulls since wild data has them
516
+ case_sensitive: z3.boolean().nullable().optional(),
497
517
  name: z3.string().optional(),
498
518
  priority: z3.number().int().optional(),
499
519
  id: z3.number().int().optional(),
500
520
  comment: z3.string().optional(),
501
- selective: z3.boolean().optional(),
521
+ selective: z3.boolean().nullable().optional(),
502
522
  secondary_keys: z3.array(z3.string()).optional(),
503
- constant: z3.boolean().optional(),
504
- position: z3.enum(["before_char", "after_char"]).optional(),
523
+ constant: z3.boolean().nullable().optional(),
524
+ position: z3.union([z3.enum(["before_char", "after_char"]), z3.number().int()]).nullable().optional(),
505
525
  extensions: z3.record(z3.unknown()).optional(),
506
- // v3 specific
526
+ // v3 specific - also lenient with types since SillyTavern uses numbers for enums
507
527
  automation_id: z3.string().optional(),
508
- role: z3.enum(["system", "user", "assistant"]).optional(),
528
+ role: z3.union([z3.enum(["system", "user", "assistant"]), z3.number().int()]).nullable().optional(),
509
529
  group: z3.string().optional(),
510
530
  scan_frequency: z3.number().int().nonnegative().optional(),
511
- probability: z3.number().min(0).max(1).optional(),
531
+ probability: z3.number().min(0).max(100).optional(),
532
+ // Some tools use 0-100 instead of 0-1
512
533
  use_regex: z3.boolean().optional(),
513
534
  depth: z3.number().int().nonnegative().optional(),
514
- selective_logic: z3.enum(["AND", "NOT"]).optional()
515
- });
535
+ selective_logic: z3.union([z3.enum(["AND", "NOT"]), z3.number().int()]).optional()
536
+ }).passthrough();
516
537
  var CCv3CharacterBookSchema = z3.object({
517
538
  name: z3.string().optional(),
518
539
  description: z3.string().optional(),