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

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 +17 -38
  2. package/dist/charx.cjs.map +1 -1
  3. package/dist/charx.d.cts +27 -18
  4. package/dist/charx.d.ts +27 -18
  5. package/dist/charx.js +17 -38
  6. package/dist/charx.js.map +1 -1
  7. package/dist/exporter.cjs +36 -40
  8. package/dist/exporter.cjs.map +1 -1
  9. package/dist/exporter.d.cts +27 -18
  10. package/dist/exporter.d.ts +27 -18
  11. package/dist/exporter.js +36 -40
  12. package/dist/exporter.js.map +1 -1
  13. package/dist/federation.cjs +104 -36
  14. package/dist/federation.cjs.map +1 -1
  15. package/dist/federation.d.cts +62 -18
  16. package/dist/federation.d.ts +62 -18
  17. package/dist/federation.js +104 -36
  18. package/dist/federation.js.map +1 -1
  19. package/dist/index.cjs +36 -40
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.d.cts +63 -42
  22. package/dist/index.d.ts +63 -42
  23. package/dist/index.js +36 -40
  24. package/dist/index.js.map +1 -1
  25. package/dist/loader.cjs +103 -17
  26. package/dist/loader.cjs.map +1 -1
  27. package/dist/loader.d.cts +56 -28
  28. package/dist/loader.d.ts +56 -28
  29. package/dist/loader.js +103 -17
  30. package/dist/loader.js.map +1 -1
  31. package/dist/lorebook.d.cts +51 -34
  32. package/dist/lorebook.d.ts +51 -34
  33. package/dist/normalizer.cjs +4 -4
  34. package/dist/normalizer.cjs.map +1 -1
  35. package/dist/normalizer.d.cts +90 -60
  36. package/dist/normalizer.d.ts +90 -60
  37. package/dist/normalizer.js +4 -4
  38. package/dist/normalizer.js.map +1 -1
  39. package/dist/png.cjs +4 -4
  40. package/dist/png.cjs.map +1 -1
  41. package/dist/png.d.cts +48 -32
  42. package/dist/png.d.ts +48 -32
  43. package/dist/png.js +4 -4
  44. package/dist/png.js.map +1 -1
  45. package/dist/schemas.cjs +9 -9
  46. package/dist/schemas.cjs.map +1 -1
  47. package/dist/schemas.d.cts +144 -96
  48. package/dist/schemas.d.ts +144 -96
  49. package/dist/schemas.js +9 -9
  50. package/dist/schemas.js.map +1 -1
  51. package/dist/voxta.cjs +23 -6
  52. package/dist/voxta.cjs.map +1 -1
  53. package/dist/voxta.d.cts +42 -28
  54. package/dist/voxta.d.ts +42 -28
  55. package/dist/voxta.js +23 -6
  56. package/dist/voxta.js.map +1 -1
  57. package/package.json +6 -6
@@ -29,7 +29,7 @@ declare const CCv3DataSchema: z.ZodObject<{
29
29
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
30
30
  content: z.ZodString;
31
31
  enabled: z.ZodDefault<z.ZodBoolean>;
32
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
32
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
33
33
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
34
34
  name: z.ZodOptional<z.ZodString>;
35
35
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -41,7 +41,8 @@ declare const CCv3DataSchema: z.ZodObject<{
41
41
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
42
42
  z.ZodEnum<[
43
43
  "before_char",
44
- "after_char"
44
+ "after_char",
45
+ "in_chat"
45
46
  ]>,
46
47
  z.ZodNumber,
47
48
  z.ZodLiteral<"">
@@ -72,7 +73,7 @@ declare const CCv3DataSchema: z.ZodObject<{
72
73
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
73
74
  content: z.ZodString;
74
75
  enabled: z.ZodDefault<z.ZodBoolean>;
75
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
76
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
76
77
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
77
78
  name: z.ZodOptional<z.ZodString>;
78
79
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -84,7 +85,8 @@ declare const CCv3DataSchema: z.ZodObject<{
84
85
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
85
86
  z.ZodEnum<[
86
87
  "before_char",
87
- "after_char"
88
+ "after_char",
89
+ "in_chat"
88
90
  ]>,
89
91
  z.ZodNumber,
90
92
  z.ZodLiteral<"">
@@ -115,7 +117,7 @@ declare const CCv3DataSchema: z.ZodObject<{
115
117
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
116
118
  content: z.ZodString;
117
119
  enabled: z.ZodDefault<z.ZodBoolean>;
118
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
120
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
119
121
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
120
122
  name: z.ZodOptional<z.ZodString>;
121
123
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -127,7 +129,8 @@ declare const CCv3DataSchema: z.ZodObject<{
127
129
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
128
130
  z.ZodEnum<[
129
131
  "before_char",
130
- "after_char"
132
+ "after_char",
133
+ "in_chat"
131
134
  ]>,
132
135
  z.ZodNumber,
133
136
  z.ZodLiteral<"">
@@ -160,7 +163,7 @@ declare const CCv3DataSchema: z.ZodObject<{
160
163
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
161
164
  content: z.ZodString;
162
165
  enabled: z.ZodDefault<z.ZodBoolean>;
163
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
166
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
164
167
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
165
168
  name: z.ZodOptional<z.ZodString>;
166
169
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -172,7 +175,8 @@ declare const CCv3DataSchema: z.ZodObject<{
172
175
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
173
176
  z.ZodEnum<[
174
177
  "before_char",
175
- "after_char"
178
+ "after_char",
179
+ "in_chat"
176
180
  ]>,
177
181
  z.ZodNumber,
178
182
  z.ZodLiteral<"">
@@ -211,7 +215,7 @@ declare const CCv3DataSchema: z.ZodObject<{
211
215
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
212
216
  content: z.ZodString;
213
217
  enabled: z.ZodDefault<z.ZodBoolean>;
214
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
218
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
215
219
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
216
220
  name: z.ZodOptional<z.ZodString>;
217
221
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -223,7 +227,8 @@ declare const CCv3DataSchema: z.ZodObject<{
223
227
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
224
228
  z.ZodEnum<[
225
229
  "before_char",
226
- "after_char"
230
+ "after_char",
231
+ "in_chat"
227
232
  ]>,
228
233
  z.ZodNumber,
229
234
  z.ZodLiteral<"">
@@ -310,7 +315,7 @@ declare const CCv3DataSchema: z.ZodObject<{
310
315
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
311
316
  content: z.ZodString;
312
317
  enabled: z.ZodDefault<z.ZodBoolean>;
313
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
318
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
314
319
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
315
320
  name: z.ZodOptional<z.ZodString>;
316
321
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -322,7 +327,8 @@ declare const CCv3DataSchema: z.ZodObject<{
322
327
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
323
328
  z.ZodEnum<[
324
329
  "before_char",
325
- "after_char"
330
+ "after_char",
331
+ "in_chat"
326
332
  ]>,
327
333
  z.ZodNumber,
328
334
  z.ZodLiteral<"">
@@ -385,7 +391,7 @@ declare const CCv3DataSchema: z.ZodObject<{
385
391
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
386
392
  content: z.ZodString;
387
393
  enabled: z.ZodDefault<z.ZodBoolean>;
388
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
394
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
389
395
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
390
396
  name: z.ZodOptional<z.ZodString>;
391
397
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -397,7 +403,8 @@ declare const CCv3DataSchema: z.ZodObject<{
397
403
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
398
404
  z.ZodEnum<[
399
405
  "before_char",
400
- "after_char"
406
+ "after_char",
407
+ "in_chat"
401
408
  ]>,
402
409
  z.ZodNumber,
403
410
  z.ZodLiteral<"">
@@ -470,7 +477,7 @@ declare const CCv3DataSchema: z.ZodObject<{
470
477
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
471
478
  content: z.ZodString;
472
479
  enabled: z.ZodDefault<z.ZodBoolean>;
473
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
480
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
474
481
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
475
482
  name: z.ZodOptional<z.ZodString>;
476
483
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -482,7 +489,8 @@ declare const CCv3DataSchema: z.ZodObject<{
482
489
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
483
490
  z.ZodEnum<[
484
491
  "before_char",
485
- "after_char"
492
+ "after_char",
493
+ "in_chat"
486
494
  ]>,
487
495
  z.ZodNumber,
488
496
  z.ZodLiteral<"">
@@ -549,7 +557,7 @@ declare const CCv3DataSchema: z.ZodObject<{
549
557
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
550
558
  content: z.ZodString;
551
559
  enabled: z.ZodDefault<z.ZodBoolean>;
552
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
560
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
553
561
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
554
562
  name: z.ZodOptional<z.ZodString>;
555
563
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -561,7 +569,8 @@ declare const CCv3DataSchema: z.ZodObject<{
561
569
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
562
570
  z.ZodEnum<[
563
571
  "before_char",
564
- "after_char"
572
+ "after_char",
573
+ "in_chat"
565
574
  ]>,
566
575
  z.ZodNumber,
567
576
  z.ZodLiteral<"">
@@ -619,6 +628,23 @@ declare const CCv3DataSchema: z.ZodObject<{
619
628
  * Character Card v3 full structure
620
629
  */
621
630
  export type CCv3Data = z.infer<typeof CCv3DataSchema>;
631
+ /**
632
+ * Federation Logger
633
+ *
634
+ * Lightweight logger with configurable verbosity and a safe default (warn).
635
+ * No external dependencies.
636
+ */
637
+ export type LogLevel = "silent" | "error" | "warn" | "info" | "debug";
638
+ export interface Logger {
639
+ debug: (...args: unknown[]) => void;
640
+ info: (...args: unknown[]) => void;
641
+ warn: (...args: unknown[]) => void;
642
+ error: (...args: unknown[]) => void;
643
+ }
644
+ export declare function createConsoleLogger(level?: LogLevel): Logger;
645
+ declare function getLogger(): Logger;
646
+ declare function setLogger(logger: Logger): void;
647
+ declare function setLogLevel(level: LogLevel): void;
622
648
  /**
623
649
  * Federation Types
624
650
  *
@@ -978,6 +1004,17 @@ export interface InboxHandlerOptions {
978
1004
  strictMode?: boolean;
979
1005
  /** Maximum age for signatures in seconds (default 300) */
980
1006
  maxAge?: number;
1007
+ /**
1008
+ * Optional shared network key for internal-only federation.
1009
+ *
1010
+ * When set, incoming requests must include a matching network key header.
1011
+ * In strictMode, the header must also be included in the signed header list.
1012
+ */
1013
+ networkKey?: string;
1014
+ /**
1015
+ * Header name for the shared network key (default: X-Foundry-Network-Key)
1016
+ */
1017
+ networkKeyHeader?: string;
981
1018
  }
982
1019
  /**
983
1020
  * ActivityPub Utilities
@@ -3098,6 +3135,10 @@ export declare class RateLimiter {
3098
3135
  */
3099
3136
  export declare function enableFederation(options?: {
3100
3137
  skipEnvCheck?: boolean;
3138
+ /** Optional logger override */
3139
+ logger?: Logger;
3140
+ /** Optional log level (used when logger is not provided). Default: warn */
3141
+ logLevel?: LogLevel;
3101
3142
  }): void;
3102
3143
  /**
3103
3144
  * Check if federation is enabled
@@ -3113,6 +3154,9 @@ export declare function isFederationEnabled(): boolean;
3113
3154
  export declare function assertFederationEnabled(feature: string): void;
3114
3155
 
3115
3156
  export {
3157
+ getLogger as getFederationLogger,
3158
+ setLogLevel as setFederationLogLevel,
3159
+ setLogger as setFederationLogger,
3116
3160
  validateActivitySignature as validateHttpSignature,
3117
3161
  validateBlockActivity as validateBlockActivityFields,
3118
3162
  validateFlagActivity as validateFlagActivityFields,
@@ -29,7 +29,7 @@ declare const CCv3DataSchema: z.ZodObject<{
29
29
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
30
30
  content: z.ZodString;
31
31
  enabled: z.ZodDefault<z.ZodBoolean>;
32
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
32
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
33
33
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
34
34
  name: z.ZodOptional<z.ZodString>;
35
35
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -41,7 +41,8 @@ declare const CCv3DataSchema: z.ZodObject<{
41
41
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
42
42
  z.ZodEnum<[
43
43
  "before_char",
44
- "after_char"
44
+ "after_char",
45
+ "in_chat"
45
46
  ]>,
46
47
  z.ZodNumber,
47
48
  z.ZodLiteral<"">
@@ -72,7 +73,7 @@ declare const CCv3DataSchema: z.ZodObject<{
72
73
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
73
74
  content: z.ZodString;
74
75
  enabled: z.ZodDefault<z.ZodBoolean>;
75
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
76
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
76
77
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
77
78
  name: z.ZodOptional<z.ZodString>;
78
79
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -84,7 +85,8 @@ declare const CCv3DataSchema: z.ZodObject<{
84
85
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
85
86
  z.ZodEnum<[
86
87
  "before_char",
87
- "after_char"
88
+ "after_char",
89
+ "in_chat"
88
90
  ]>,
89
91
  z.ZodNumber,
90
92
  z.ZodLiteral<"">
@@ -115,7 +117,7 @@ declare const CCv3DataSchema: z.ZodObject<{
115
117
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
116
118
  content: z.ZodString;
117
119
  enabled: z.ZodDefault<z.ZodBoolean>;
118
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
120
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
119
121
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
120
122
  name: z.ZodOptional<z.ZodString>;
121
123
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -127,7 +129,8 @@ declare const CCv3DataSchema: z.ZodObject<{
127
129
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
128
130
  z.ZodEnum<[
129
131
  "before_char",
130
- "after_char"
132
+ "after_char",
133
+ "in_chat"
131
134
  ]>,
132
135
  z.ZodNumber,
133
136
  z.ZodLiteral<"">
@@ -160,7 +163,7 @@ declare const CCv3DataSchema: z.ZodObject<{
160
163
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
161
164
  content: z.ZodString;
162
165
  enabled: z.ZodDefault<z.ZodBoolean>;
163
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
166
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
164
167
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
165
168
  name: z.ZodOptional<z.ZodString>;
166
169
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -172,7 +175,8 @@ declare const CCv3DataSchema: z.ZodObject<{
172
175
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
173
176
  z.ZodEnum<[
174
177
  "before_char",
175
- "after_char"
178
+ "after_char",
179
+ "in_chat"
176
180
  ]>,
177
181
  z.ZodNumber,
178
182
  z.ZodLiteral<"">
@@ -211,7 +215,7 @@ declare const CCv3DataSchema: z.ZodObject<{
211
215
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
212
216
  content: z.ZodString;
213
217
  enabled: z.ZodDefault<z.ZodBoolean>;
214
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
218
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
215
219
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
216
220
  name: z.ZodOptional<z.ZodString>;
217
221
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -223,7 +227,8 @@ declare const CCv3DataSchema: z.ZodObject<{
223
227
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
224
228
  z.ZodEnum<[
225
229
  "before_char",
226
- "after_char"
230
+ "after_char",
231
+ "in_chat"
227
232
  ]>,
228
233
  z.ZodNumber,
229
234
  z.ZodLiteral<"">
@@ -310,7 +315,7 @@ declare const CCv3DataSchema: z.ZodObject<{
310
315
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
311
316
  content: z.ZodString;
312
317
  enabled: z.ZodDefault<z.ZodBoolean>;
313
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
318
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
314
319
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
315
320
  name: z.ZodOptional<z.ZodString>;
316
321
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -322,7 +327,8 @@ declare const CCv3DataSchema: z.ZodObject<{
322
327
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
323
328
  z.ZodEnum<[
324
329
  "before_char",
325
- "after_char"
330
+ "after_char",
331
+ "in_chat"
326
332
  ]>,
327
333
  z.ZodNumber,
328
334
  z.ZodLiteral<"">
@@ -385,7 +391,7 @@ declare const CCv3DataSchema: z.ZodObject<{
385
391
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
386
392
  content: z.ZodString;
387
393
  enabled: z.ZodDefault<z.ZodBoolean>;
388
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
394
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
389
395
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
390
396
  name: z.ZodOptional<z.ZodString>;
391
397
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -397,7 +403,8 @@ declare const CCv3DataSchema: z.ZodObject<{
397
403
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
398
404
  z.ZodEnum<[
399
405
  "before_char",
400
- "after_char"
406
+ "after_char",
407
+ "in_chat"
401
408
  ]>,
402
409
  z.ZodNumber,
403
410
  z.ZodLiteral<"">
@@ -470,7 +477,7 @@ declare const CCv3DataSchema: z.ZodObject<{
470
477
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
471
478
  content: z.ZodString;
472
479
  enabled: z.ZodDefault<z.ZodBoolean>;
473
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
480
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
474
481
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
475
482
  name: z.ZodOptional<z.ZodString>;
476
483
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -482,7 +489,8 @@ declare const CCv3DataSchema: z.ZodObject<{
482
489
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
483
490
  z.ZodEnum<[
484
491
  "before_char",
485
- "after_char"
492
+ "after_char",
493
+ "in_chat"
486
494
  ]>,
487
495
  z.ZodNumber,
488
496
  z.ZodLiteral<"">
@@ -549,7 +557,7 @@ declare const CCv3DataSchema: z.ZodObject<{
549
557
  keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
550
558
  content: z.ZodString;
551
559
  enabled: z.ZodDefault<z.ZodBoolean>;
552
- insertion_order: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
560
+ insertion_order: z.ZodEffects<z.ZodNumber, number, unknown>;
553
561
  case_sensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
554
562
  name: z.ZodOptional<z.ZodString>;
555
563
  priority: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
@@ -561,7 +569,8 @@ declare const CCv3DataSchema: z.ZodObject<{
561
569
  position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[
562
570
  z.ZodEnum<[
563
571
  "before_char",
564
- "after_char"
572
+ "after_char",
573
+ "in_chat"
565
574
  ]>,
566
575
  z.ZodNumber,
567
576
  z.ZodLiteral<"">
@@ -619,6 +628,23 @@ declare const CCv3DataSchema: z.ZodObject<{
619
628
  * Character Card v3 full structure
620
629
  */
621
630
  export type CCv3Data = z.infer<typeof CCv3DataSchema>;
631
+ /**
632
+ * Federation Logger
633
+ *
634
+ * Lightweight logger with configurable verbosity and a safe default (warn).
635
+ * No external dependencies.
636
+ */
637
+ export type LogLevel = "silent" | "error" | "warn" | "info" | "debug";
638
+ export interface Logger {
639
+ debug: (...args: unknown[]) => void;
640
+ info: (...args: unknown[]) => void;
641
+ warn: (...args: unknown[]) => void;
642
+ error: (...args: unknown[]) => void;
643
+ }
644
+ export declare function createConsoleLogger(level?: LogLevel): Logger;
645
+ declare function getLogger(): Logger;
646
+ declare function setLogger(logger: Logger): void;
647
+ declare function setLogLevel(level: LogLevel): void;
622
648
  /**
623
649
  * Federation Types
624
650
  *
@@ -978,6 +1004,17 @@ export interface InboxHandlerOptions {
978
1004
  strictMode?: boolean;
979
1005
  /** Maximum age for signatures in seconds (default 300) */
980
1006
  maxAge?: number;
1007
+ /**
1008
+ * Optional shared network key for internal-only federation.
1009
+ *
1010
+ * When set, incoming requests must include a matching network key header.
1011
+ * In strictMode, the header must also be included in the signed header list.
1012
+ */
1013
+ networkKey?: string;
1014
+ /**
1015
+ * Header name for the shared network key (default: X-Foundry-Network-Key)
1016
+ */
1017
+ networkKeyHeader?: string;
981
1018
  }
982
1019
  /**
983
1020
  * ActivityPub Utilities
@@ -3098,6 +3135,10 @@ export declare class RateLimiter {
3098
3135
  */
3099
3136
  export declare function enableFederation(options?: {
3100
3137
  skipEnvCheck?: boolean;
3138
+ /** Optional logger override */
3139
+ logger?: Logger;
3140
+ /** Optional log level (used when logger is not provided). Default: warn */
3141
+ logLevel?: LogLevel;
3101
3142
  }): void;
3102
3143
  /**
3103
3144
  * Check if federation is enabled
@@ -3113,6 +3154,9 @@ export declare function isFederationEnabled(): boolean;
3113
3154
  export declare function assertFederationEnabled(feature: string): void;
3114
3155
 
3115
3156
  export {
3157
+ getLogger as getFederationLogger,
3158
+ setLogLevel as setFederationLogLevel,
3159
+ setLogger as setFederationLogger,
3116
3160
  validateActivitySignature as validateHttpSignature,
3117
3161
  validateBlockActivity as validateBlockActivityFields,
3118
3162
  validateFlagActivity as validateFlagActivityFields,