@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
@@ -47,22 +47,24 @@ var ExtractedAssetSchema = z.object({
47
47
  mimeType: z.string()
48
48
  });
49
49
  var CCv2LorebookEntrySchema = z2.object({
50
- keys: z2.array(z2.string()),
50
+ keys: z2.array(z2.string()).optional(),
51
+ // Some tools use 'key' instead
51
52
  content: z2.string(),
52
- enabled: z2.boolean(),
53
- insertion_order: z2.number().int(),
54
- // Optional fields
53
+ enabled: z2.boolean().default(true),
54
+ // Default to enabled if missing
55
+ insertion_order: z2.number().int().default(0),
56
+ // Optional fields - be lenient with nulls since wild data has them
55
57
  extensions: z2.record(z2.unknown()).optional(),
56
- case_sensitive: z2.boolean().optional(),
58
+ case_sensitive: z2.boolean().nullable().optional(),
57
59
  name: z2.string().optional(),
58
60
  priority: z2.number().int().optional(),
59
61
  id: z2.number().int().optional(),
60
62
  comment: z2.string().optional(),
61
- selective: z2.boolean().optional(),
63
+ selective: z2.boolean().nullable().optional(),
62
64
  secondary_keys: z2.array(z2.string()).optional(),
63
- constant: z2.boolean().optional(),
64
- position: z2.enum(["before_char", "after_char"]).optional()
65
- });
65
+ constant: z2.boolean().nullable().optional(),
66
+ position: z2.union([z2.enum(["before_char", "after_char"]), z2.number().int()]).nullable().optional()
67
+ }).passthrough();
66
68
  var CCv2CharacterBookSchema = z2.object({
67
69
  name: z2.string().optional(),
68
70
  description: z2.string().optional(),
@@ -113,31 +115,34 @@ function getV2Data(card) {
113
115
  return card;
114
116
  }
115
117
  var CCv3LorebookEntrySchema = z3.object({
116
- keys: z3.array(z3.string()),
118
+ keys: z3.array(z3.string()).optional(),
119
+ // Some tools use 'key' instead
117
120
  content: z3.string(),
118
- enabled: z3.boolean(),
119
- insertion_order: z3.number().int(),
120
- // Optional fields
121
- case_sensitive: z3.boolean().optional(),
121
+ enabled: z3.boolean().default(true),
122
+ // Default to enabled if missing
123
+ insertion_order: z3.number().int().default(0),
124
+ // Optional fields - be lenient with nulls since wild data has them
125
+ case_sensitive: z3.boolean().nullable().optional(),
122
126
  name: z3.string().optional(),
123
127
  priority: z3.number().int().optional(),
124
128
  id: z3.number().int().optional(),
125
129
  comment: z3.string().optional(),
126
- selective: z3.boolean().optional(),
130
+ selective: z3.boolean().nullable().optional(),
127
131
  secondary_keys: z3.array(z3.string()).optional(),
128
- constant: z3.boolean().optional(),
129
- position: z3.enum(["before_char", "after_char"]).optional(),
132
+ constant: z3.boolean().nullable().optional(),
133
+ position: z3.union([z3.enum(["before_char", "after_char"]), z3.number().int()]).nullable().optional(),
130
134
  extensions: z3.record(z3.unknown()).optional(),
131
- // v3 specific
135
+ // v3 specific - also lenient with types since SillyTavern uses numbers for enums
132
136
  automation_id: z3.string().optional(),
133
- role: z3.enum(["system", "user", "assistant"]).optional(),
137
+ role: z3.union([z3.enum(["system", "user", "assistant"]), z3.number().int()]).nullable().optional(),
134
138
  group: z3.string().optional(),
135
139
  scan_frequency: z3.number().int().nonnegative().optional(),
136
- probability: z3.number().min(0).max(1).optional(),
140
+ probability: z3.number().min(0).max(100).optional(),
141
+ // Some tools use 0-100 instead of 0-1
137
142
  use_regex: z3.boolean().optional(),
138
143
  depth: z3.number().int().nonnegative().optional(),
139
- selective_logic: z3.enum(["AND", "NOT"]).optional()
140
- });
144
+ selective_logic: z3.union([z3.enum(["AND", "NOT"]), z3.number().int()]).optional()
145
+ }).passthrough();
141
146
  var CCv3CharacterBookSchema = z3.object({
142
147
  name: z3.string().optional(),
143
148
  description: z3.string().optional(),
@@ -215,6 +220,11 @@ var FormatNotSupportedError = class extends FoundryError {
215
220
  };
216
221
 
217
222
  // ../normalizer/dist/index.js
223
+ function normalizePosition(position) {
224
+ if (position === void 0 || position === null) return "before_char";
225
+ if (typeof position === "string") return position;
226
+ return position;
227
+ }
218
228
  function convertLorebookEntry(entry, index) {
219
229
  return {
220
230
  keys: entry.keys || [],
@@ -230,7 +240,7 @@ function convertLorebookEntry(entry, index) {
230
240
  selective: entry.selective ?? false,
231
241
  secondary_keys: entry.secondary_keys || [],
232
242
  constant: entry.constant ?? false,
233
- position: entry.position || "before_char"
243
+ position: normalizePosition(entry.position)
234
244
  };
235
245
  }
236
246
  function convertCharacterBook(book) {