@karmaniverous/jeeves-watcher 0.17.11 → 0.18.1

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.
@@ -25,25 +25,25 @@
25
25
  "$ref": "#/definitions/__schema5"
26
26
  },
27
27
  "ignored": {
28
- "$ref": "#/definitions/__schema7"
28
+ "$ref": "#/definitions/__schema29"
29
29
  },
30
30
  "pollIntervalMs": {
31
- "$ref": "#/definitions/__schema9"
31
+ "$ref": "#/definitions/__schema31"
32
32
  },
33
33
  "usePolling": {
34
- "$ref": "#/definitions/__schema11"
34
+ "$ref": "#/definitions/__schema33"
35
35
  },
36
36
  "debounceMs": {
37
- "$ref": "#/definitions/__schema13"
37
+ "$ref": "#/definitions/__schema35"
38
38
  },
39
39
  "stabilityThresholdMs": {
40
- "$ref": "#/definitions/__schema15"
40
+ "$ref": "#/definitions/__schema37"
41
41
  },
42
42
  "respectGitignore": {
43
- "$ref": "#/definitions/__schema17"
43
+ "$ref": "#/definitions/__schema39"
44
44
  },
45
45
  "moveDetection": {
46
- "$ref": "#/definitions/__schema19"
46
+ "$ref": "#/definitions/__schema41"
47
47
  }
48
48
  },
49
49
  "required": [
@@ -55,7 +55,7 @@
55
55
  "description": "Configuration file watch settings.",
56
56
  "allOf": [
57
57
  {
58
- "$ref": "#/definitions/__schema23"
58
+ "$ref": "#/definitions/__schema45"
59
59
  }
60
60
  ]
61
61
  },
@@ -63,28 +63,28 @@
63
63
  "type": "object",
64
64
  "properties": {
65
65
  "provider": {
66
- "$ref": "#/definitions/__schema27"
66
+ "$ref": "#/definitions/__schema49"
67
67
  },
68
68
  "model": {
69
- "$ref": "#/definitions/__schema29"
69
+ "$ref": "#/definitions/__schema51"
70
70
  },
71
71
  "chunkSize": {
72
- "$ref": "#/definitions/__schema31"
72
+ "$ref": "#/definitions/__schema53"
73
73
  },
74
74
  "chunkOverlap": {
75
- "$ref": "#/definitions/__schema33"
75
+ "$ref": "#/definitions/__schema55"
76
76
  },
77
77
  "dimensions": {
78
- "$ref": "#/definitions/__schema35"
78
+ "$ref": "#/definitions/__schema57"
79
79
  },
80
80
  "apiKey": {
81
- "$ref": "#/definitions/__schema37"
81
+ "$ref": "#/definitions/__schema59"
82
82
  },
83
83
  "rateLimitPerMinute": {
84
- "$ref": "#/definitions/__schema39"
84
+ "$ref": "#/definitions/__schema61"
85
85
  },
86
86
  "concurrency": {
87
- "$ref": "#/definitions/__schema41"
87
+ "$ref": "#/definitions/__schema63"
88
88
  }
89
89
  },
90
90
  "description": "Embedding model configuration."
@@ -93,13 +93,13 @@
93
93
  "type": "object",
94
94
  "properties": {
95
95
  "url": {
96
- "$ref": "#/definitions/__schema43"
96
+ "$ref": "#/definitions/__schema65"
97
97
  },
98
98
  "collectionName": {
99
- "$ref": "#/definitions/__schema44"
99
+ "$ref": "#/definitions/__schema66"
100
100
  },
101
101
  "apiKey": {
102
- "$ref": "#/definitions/__schema45"
102
+ "$ref": "#/definitions/__schema67"
103
103
  }
104
104
  },
105
105
  "required": [
@@ -112,7 +112,7 @@
112
112
  "description": "API server configuration.",
113
113
  "allOf": [
114
114
  {
115
- "$ref": "#/definitions/__schema47"
115
+ "$ref": "#/definitions/__schema69"
116
116
  }
117
117
  ]
118
118
  },
@@ -120,7 +120,7 @@
120
120
  "description": "Directory for persistent state files (issues.json, values.json, enrichments.sqlite). Defaults to .jeeves-metadata.",
121
121
  "allOf": [
122
122
  {
123
- "$ref": "#/definitions/__schema51"
123
+ "$ref": "#/definitions/__schema73"
124
124
  }
125
125
  ]
126
126
  },
@@ -128,7 +128,7 @@
128
128
  "description": "Rules for inferring metadata from file attributes. Each entry may be an inline rule object or a file path to a JSON rule file (resolved relative to config directory).",
129
129
  "allOf": [
130
130
  {
131
- "$ref": "#/definitions/__schema52"
131
+ "$ref": "#/definitions/__schema74"
132
132
  }
133
133
  ]
134
134
  },
@@ -136,7 +136,7 @@
136
136
  "description": "Reusable named JsonMap transformations (inline definition or .json file path resolved relative to config directory).",
137
137
  "allOf": [
138
138
  {
139
- "$ref": "#/definitions/__schema79"
139
+ "$ref": "#/definitions/__schema101"
140
140
  }
141
141
  ]
142
142
  },
@@ -144,7 +144,7 @@
144
144
  "description": "Named reusable Handlebars templates (inline strings or .hbs/.handlebars file paths).",
145
145
  "allOf": [
146
146
  {
147
- "$ref": "#/definitions/__schema80"
147
+ "$ref": "#/definitions/__schema102"
148
148
  }
149
149
  ]
150
150
  },
@@ -152,7 +152,7 @@
152
152
  "description": "Custom Handlebars helper registration.",
153
153
  "allOf": [
154
154
  {
155
- "$ref": "#/definitions/__schema81"
155
+ "$ref": "#/definitions/__schema103"
156
156
  }
157
157
  ]
158
158
  },
@@ -160,7 +160,7 @@
160
160
  "description": "Custom JsonMap lib function registration.",
161
161
  "allOf": [
162
162
  {
163
- "$ref": "#/definitions/__schema82"
163
+ "$ref": "#/definitions/__schema104"
164
164
  }
165
165
  ]
166
166
  },
@@ -168,7 +168,7 @@
168
168
  "description": "Reindex configuration.",
169
169
  "allOf": [
170
170
  {
171
- "$ref": "#/definitions/__schema83"
171
+ "$ref": "#/definitions/__schema105"
172
172
  }
173
173
  ]
174
174
  },
@@ -176,7 +176,15 @@
176
176
  "description": "Search configuration including score thresholds and hybrid search.",
177
177
  "allOf": [
178
178
  {
179
- "$ref": "#/definitions/__schema85"
179
+ "$ref": "#/definitions/__schema107"
180
+ }
181
+ ]
182
+ },
183
+ "vcs": {
184
+ "description": "VCS configuration for git-backed version control of watched content.",
185
+ "allOf": [
186
+ {
187
+ "$ref": "#/definitions/__schema108"
180
188
  }
181
189
  ]
182
190
  },
@@ -184,7 +192,7 @@
184
192
  "description": "Logging configuration.",
185
193
  "allOf": [
186
194
  {
187
- "$ref": "#/definitions/__schema86"
195
+ "$ref": "#/definitions/__schema109"
188
196
  }
189
197
  ]
190
198
  },
@@ -192,7 +200,7 @@
192
200
  "description": "Timeout in milliseconds for graceful shutdown.",
193
201
  "allOf": [
194
202
  {
195
- "$ref": "#/definitions/__schema89"
203
+ "$ref": "#/definitions/__schema112"
196
204
  }
197
205
  ]
198
206
  },
@@ -200,7 +208,7 @@
200
208
  "description": "Maximum consecutive system-level failures before triggering fatal error. Default: Infinity.",
201
209
  "allOf": [
202
210
  {
203
- "$ref": "#/definitions/__schema90"
211
+ "$ref": "#/definitions/__schema113"
204
212
  }
205
213
  ]
206
214
  },
@@ -208,7 +216,7 @@
208
216
  "description": "Maximum backoff delay in milliseconds for system errors. Default: 60000.",
209
217
  "allOf": [
210
218
  {
211
- "$ref": "#/definitions/__schema91"
219
+ "$ref": "#/definitions/__schema114"
212
220
  }
213
221
  ]
214
222
  }
@@ -283,92 +291,350 @@
283
291
  "items": {
284
292
  "$ref": "#/definitions/__schema6"
285
293
  },
286
- "description": "Glob patterns for files to watch (e.g., \"**/*.md\"). At least one required."
294
+ "description": "Paths to watch. Each entry may be a glob string (e.g., \"**/*.md\") or an object with a path and optional per-root VCS overrides. At least one required."
287
295
  },
288
296
  "__schema6": {
289
- "type": "string"
297
+ "anyOf": [
298
+ {
299
+ "type": "string",
300
+ "description": "Glob pattern for files to watch."
301
+ },
302
+ {
303
+ "type": "object",
304
+ "properties": {
305
+ "path": {
306
+ "type": "string",
307
+ "description": "Glob pattern for files to watch."
308
+ },
309
+ "vcs": {
310
+ "description": "Per-root VCS configuration overrides.",
311
+ "allOf": [
312
+ {
313
+ "$ref": "#/definitions/__schema7"
314
+ }
315
+ ]
316
+ }
317
+ },
318
+ "required": [
319
+ "path"
320
+ ]
321
+ }
322
+ ]
290
323
  },
291
324
  "__schema7": {
325
+ "type": "object",
326
+ "properties": {
327
+ "enabled": {
328
+ "allOf": [
329
+ {
330
+ "$ref": "#/definitions/__schema8"
331
+ }
332
+ ]
333
+ },
334
+ "commitDebounceMs": {
335
+ "allOf": [
336
+ {
337
+ "$ref": "#/definitions/__schema10"
338
+ }
339
+ ]
340
+ },
341
+ "maxBatchSize": {
342
+ "allOf": [
343
+ {
344
+ "$ref": "#/definitions/__schema12"
345
+ }
346
+ ]
347
+ },
348
+ "commitMessage": {
349
+ "allOf": [
350
+ {
351
+ "$ref": "#/definitions/__schema14"
352
+ }
353
+ ]
354
+ },
355
+ "retention": {
356
+ "allOf": [
357
+ {
358
+ "$ref": "#/definitions/__schema20"
359
+ }
360
+ ]
361
+ },
362
+ "defaultAccessToken": {
363
+ "allOf": [
364
+ {
365
+ "$ref": "#/definitions/__schema25"
366
+ }
367
+ ]
368
+ },
369
+ "remote": {
370
+ "description": "Git remote URL for this watch root.",
371
+ "allOf": [
372
+ {
373
+ "$ref": "#/definitions/__schema27"
374
+ }
375
+ ]
376
+ },
377
+ "accessToken": {
378
+ "description": "Access token override for this watch root. Supports env var substitution (e.g., \"${GIT_TOKEN}\").",
379
+ "allOf": [
380
+ {
381
+ "$ref": "#/definitions/__schema28"
382
+ }
383
+ ]
384
+ }
385
+ }
386
+ },
387
+ "__schema8": {
388
+ "default": false,
389
+ "description": "Enable git-backed version control of watched content. Default: false.",
390
+ "allOf": [
391
+ {
392
+ "$ref": "#/definitions/__schema9"
393
+ }
394
+ ]
395
+ },
396
+ "__schema9": {
397
+ "type": "boolean"
398
+ },
399
+ "__schema10": {
400
+ "default": 30000,
401
+ "description": "Debounce interval in milliseconds for batching commits. Default: 30000.",
402
+ "allOf": [
403
+ {
404
+ "$ref": "#/definitions/__schema11"
405
+ }
406
+ ]
407
+ },
408
+ "__schema11": {
409
+ "type": "integer",
410
+ "minimum": 1000,
411
+ "maximum": 9007199254740991
412
+ },
413
+ "__schema12": {
414
+ "default": 1000,
415
+ "description": "Maximum number of files per commit batch. Default: 1000.",
416
+ "allOf": [
417
+ {
418
+ "$ref": "#/definitions/__schema13"
419
+ }
420
+ ]
421
+ },
422
+ "__schema13": {
423
+ "type": "integer",
424
+ "minimum": 1,
425
+ "maximum": 9007199254740991
426
+ },
427
+ "__schema14": {
428
+ "description": "AI-generated commit message configuration.",
429
+ "allOf": [
430
+ {
431
+ "$ref": "#/definitions/__schema15"
432
+ }
433
+ ]
434
+ },
435
+ "__schema15": {
436
+ "type": "object",
437
+ "properties": {
438
+ "enabled": {
439
+ "default": true,
440
+ "description": "Enable AI-generated commit messages. Default: true.",
441
+ "allOf": [
442
+ {
443
+ "$ref": "#/definitions/__schema16"
444
+ }
445
+ ]
446
+ },
447
+ "provider": {
448
+ "default": "anthropic",
449
+ "description": "AI provider for commit message generation. Default: \"anthropic\".",
450
+ "allOf": [
451
+ {
452
+ "$ref": "#/definitions/__schema17"
453
+ }
454
+ ]
455
+ },
456
+ "model": {
457
+ "default": "claude-haiku-4-0",
458
+ "description": "AI model for commit message generation. Default: \"claude-haiku-4-0\".",
459
+ "allOf": [
460
+ {
461
+ "$ref": "#/definitions/__schema18"
462
+ }
463
+ ]
464
+ },
465
+ "apiKey": {
466
+ "description": "API key for commit message provider. Supports env var substitution (e.g., \"${ANTHROPIC_API_KEY}\").",
467
+ "allOf": [
468
+ {
469
+ "$ref": "#/definitions/__schema19"
470
+ }
471
+ ]
472
+ }
473
+ }
474
+ },
475
+ "__schema16": {
476
+ "type": "boolean"
477
+ },
478
+ "__schema17": {
479
+ "type": "string"
480
+ },
481
+ "__schema18": {
482
+ "type": "string"
483
+ },
484
+ "__schema19": {
485
+ "type": "string"
486
+ },
487
+ "__schema20": {
488
+ "description": "Version retention policy configuration.",
489
+ "allOf": [
490
+ {
491
+ "$ref": "#/definitions/__schema21"
492
+ }
493
+ ]
494
+ },
495
+ "__schema21": {
496
+ "type": "object",
497
+ "properties": {
498
+ "maxAgeDays": {
499
+ "default": 30,
500
+ "description": "Maximum age in days for retained versions. Default: 30.",
501
+ "allOf": [
502
+ {
503
+ "$ref": "#/definitions/__schema22"
504
+ }
505
+ ]
506
+ },
507
+ "maxVersions": {
508
+ "default": 100,
509
+ "description": "Maximum number of versions to retain per file. Default: 100.",
510
+ "allOf": [
511
+ {
512
+ "$ref": "#/definitions/__schema23"
513
+ }
514
+ ]
515
+ },
516
+ "squashCron": {
517
+ "default": "0 0 * * *",
518
+ "description": "Cron expression for squash schedule. Default: \"0 0 * * *\" (daily at midnight).",
519
+ "allOf": [
520
+ {
521
+ "$ref": "#/definitions/__schema24"
522
+ }
523
+ ]
524
+ }
525
+ }
526
+ },
527
+ "__schema22": {
528
+ "type": "integer",
529
+ "minimum": 1,
530
+ "maximum": 9007199254740991
531
+ },
532
+ "__schema23": {
533
+ "type": "integer",
534
+ "minimum": 1,
535
+ "maximum": 9007199254740991
536
+ },
537
+ "__schema24": {
538
+ "type": "string"
539
+ },
540
+ "__schema25": {
541
+ "description": "Default git access token for all roots. Supports env var substitution (e.g., \"${GIT_TOKEN}\").",
542
+ "allOf": [
543
+ {
544
+ "$ref": "#/definitions/__schema26"
545
+ }
546
+ ]
547
+ },
548
+ "__schema26": {
549
+ "type": "string"
550
+ },
551
+ "__schema27": {
552
+ "type": "string"
553
+ },
554
+ "__schema28": {
555
+ "type": "string"
556
+ },
557
+ "__schema29": {
292
558
  "default": [
293
559
  "**/node_modules/**"
294
560
  ],
295
561
  "description": "Glob patterns to exclude from watching (e.g., \"**/node_modules/**\").",
296
562
  "allOf": [
297
563
  {
298
- "$ref": "#/definitions/__schema8"
564
+ "$ref": "#/definitions/__schema30"
299
565
  }
300
566
  ]
301
567
  },
302
- "__schema8": {
568
+ "__schema30": {
303
569
  "type": "array",
304
570
  "items": {
305
571
  "type": "string"
306
572
  }
307
573
  },
308
- "__schema9": {
574
+ "__schema31": {
309
575
  "description": "Polling interval in milliseconds when usePolling is enabled.",
310
576
  "allOf": [
311
577
  {
312
- "$ref": "#/definitions/__schema10"
578
+ "$ref": "#/definitions/__schema32"
313
579
  }
314
580
  ]
315
581
  },
316
- "__schema10": {
582
+ "__schema32": {
317
583
  "type": "number"
318
584
  },
319
- "__schema11": {
585
+ "__schema33": {
320
586
  "description": "Use polling instead of native file system events (for network drives).",
321
587
  "allOf": [
322
588
  {
323
- "$ref": "#/definitions/__schema12"
589
+ "$ref": "#/definitions/__schema34"
324
590
  }
325
591
  ]
326
592
  },
327
- "__schema12": {
593
+ "__schema34": {
328
594
  "type": "boolean"
329
595
  },
330
- "__schema13": {
596
+ "__schema35": {
331
597
  "description": "Debounce delay in milliseconds for file change events.",
332
598
  "allOf": [
333
599
  {
334
- "$ref": "#/definitions/__schema14"
600
+ "$ref": "#/definitions/__schema36"
335
601
  }
336
602
  ]
337
603
  },
338
- "__schema14": {
604
+ "__schema36": {
339
605
  "type": "number"
340
606
  },
341
- "__schema15": {
607
+ "__schema37": {
342
608
  "description": "Time in milliseconds a file must remain unchanged before processing.",
343
609
  "allOf": [
344
610
  {
345
- "$ref": "#/definitions/__schema16"
611
+ "$ref": "#/definitions/__schema38"
346
612
  }
347
613
  ]
348
614
  },
349
- "__schema16": {
615
+ "__schema38": {
350
616
  "type": "number"
351
617
  },
352
- "__schema17": {
618
+ "__schema39": {
353
619
  "description": "Skip files ignored by .gitignore in git repositories. Only applies to repos with a .git directory. Default: true.",
354
620
  "allOf": [
355
621
  {
356
- "$ref": "#/definitions/__schema18"
622
+ "$ref": "#/definitions/__schema40"
357
623
  }
358
624
  ]
359
625
  },
360
- "__schema18": {
626
+ "__schema40": {
361
627
  "type": "boolean"
362
628
  },
363
- "__schema19": {
629
+ "__schema41": {
364
630
  "description": "Move detection: correlate unlink+add events as file moves to avoid re-embedding.",
365
631
  "allOf": [
366
632
  {
367
- "$ref": "#/definitions/__schema20"
633
+ "$ref": "#/definitions/__schema42"
368
634
  }
369
635
  ]
370
636
  },
371
- "__schema20": {
637
+ "__schema42": {
372
638
  "type": "object",
373
639
  "properties": {
374
640
  "enabled": {
@@ -376,7 +642,7 @@
376
642
  "description": "Enable move detection via content hash correlation.",
377
643
  "allOf": [
378
644
  {
379
- "$ref": "#/definitions/__schema21"
645
+ "$ref": "#/definitions/__schema43"
380
646
  }
381
647
  ]
382
648
  },
@@ -385,28 +651,28 @@
385
651
  "description": "How long (ms) to buffer unlink events before treating as deletes.",
386
652
  "allOf": [
387
653
  {
388
- "$ref": "#/definitions/__schema22"
654
+ "$ref": "#/definitions/__schema44"
389
655
  }
390
656
  ]
391
657
  }
392
658
  }
393
659
  },
394
- "__schema21": {
660
+ "__schema43": {
395
661
  "type": "boolean"
396
662
  },
397
- "__schema22": {
663
+ "__schema44": {
398
664
  "type": "integer",
399
665
  "minimum": 100,
400
666
  "maximum": 9007199254740991
401
667
  },
402
- "__schema23": {
668
+ "__schema45": {
403
669
  "type": "object",
404
670
  "properties": {
405
671
  "enabled": {
406
672
  "description": "Enable automatic reloading when config file changes.",
407
673
  "allOf": [
408
674
  {
409
- "$ref": "#/definitions/__schema24"
675
+ "$ref": "#/definitions/__schema46"
410
676
  }
411
677
  ]
412
678
  },
@@ -414,7 +680,7 @@
414
680
  "description": "Debounce delay in milliseconds for config file change detection.",
415
681
  "allOf": [
416
682
  {
417
- "$ref": "#/definitions/__schema25"
683
+ "$ref": "#/definitions/__schema47"
418
684
  }
419
685
  ]
420
686
  },
@@ -422,19 +688,19 @@
422
688
  "description": "Reindex scope triggered on config change. Default: issues.",
423
689
  "allOf": [
424
690
  {
425
- "$ref": "#/definitions/__schema26"
691
+ "$ref": "#/definitions/__schema48"
426
692
  }
427
693
  ]
428
694
  }
429
695
  }
430
696
  },
431
- "__schema24": {
697
+ "__schema46": {
432
698
  "type": "boolean"
433
699
  },
434
- "__schema25": {
700
+ "__schema47": {
435
701
  "type": "number"
436
702
  },
437
- "__schema26": {
703
+ "__schema48": {
438
704
  "anyOf": [
439
705
  {
440
706
  "type": "string",
@@ -453,123 +719,123 @@
453
719
  }
454
720
  ]
455
721
  },
456
- "__schema27": {
722
+ "__schema49": {
457
723
  "default": "gemini",
458
724
  "description": "Embedding provider name (e.g., \"gemini\", \"openai\").",
459
725
  "allOf": [
460
726
  {
461
- "$ref": "#/definitions/__schema28"
727
+ "$ref": "#/definitions/__schema50"
462
728
  }
463
729
  ]
464
730
  },
465
- "__schema28": {
731
+ "__schema50": {
466
732
  "type": "string"
467
733
  },
468
- "__schema29": {
734
+ "__schema51": {
469
735
  "default": "gemini-embedding-001",
470
736
  "description": "Embedding model identifier (e.g., \"gemini-embedding-001\", \"text-embedding-3-small\").",
471
737
  "allOf": [
472
738
  {
473
- "$ref": "#/definitions/__schema30"
739
+ "$ref": "#/definitions/__schema52"
474
740
  }
475
741
  ]
476
742
  },
477
- "__schema30": {
743
+ "__schema52": {
478
744
  "type": "string"
479
745
  },
480
- "__schema31": {
746
+ "__schema53": {
481
747
  "description": "Maximum chunk size in characters for text splitting.",
482
748
  "allOf": [
483
749
  {
484
- "$ref": "#/definitions/__schema32"
750
+ "$ref": "#/definitions/__schema54"
485
751
  }
486
752
  ]
487
753
  },
488
- "__schema32": {
754
+ "__schema54": {
489
755
  "type": "number"
490
756
  },
491
- "__schema33": {
757
+ "__schema55": {
492
758
  "description": "Character overlap between consecutive chunks.",
493
759
  "allOf": [
494
760
  {
495
- "$ref": "#/definitions/__schema34"
761
+ "$ref": "#/definitions/__schema56"
496
762
  }
497
763
  ]
498
764
  },
499
- "__schema34": {
765
+ "__schema56": {
500
766
  "type": "number"
501
767
  },
502
- "__schema35": {
768
+ "__schema57": {
503
769
  "description": "Embedding vector dimensions (must match model output).",
504
770
  "allOf": [
505
771
  {
506
- "$ref": "#/definitions/__schema36"
772
+ "$ref": "#/definitions/__schema58"
507
773
  }
508
774
  ]
509
775
  },
510
- "__schema36": {
776
+ "__schema58": {
511
777
  "type": "number"
512
778
  },
513
- "__schema37": {
779
+ "__schema59": {
514
780
  "description": "API key for embedding provider (supports ${ENV_VAR} substitution).",
515
781
  "allOf": [
516
782
  {
517
- "$ref": "#/definitions/__schema38"
783
+ "$ref": "#/definitions/__schema60"
518
784
  }
519
785
  ]
520
786
  },
521
- "__schema38": {
787
+ "__schema60": {
522
788
  "type": "string"
523
789
  },
524
- "__schema39": {
790
+ "__schema61": {
525
791
  "description": "Maximum embedding API requests per minute (rate limiting).",
526
792
  "allOf": [
527
793
  {
528
- "$ref": "#/definitions/__schema40"
794
+ "$ref": "#/definitions/__schema62"
529
795
  }
530
796
  ]
531
797
  },
532
- "__schema40": {
798
+ "__schema62": {
533
799
  "type": "number"
534
800
  },
535
- "__schema41": {
801
+ "__schema63": {
536
802
  "description": "Maximum concurrent embedding requests.",
537
803
  "allOf": [
538
804
  {
539
- "$ref": "#/definitions/__schema42"
805
+ "$ref": "#/definitions/__schema64"
540
806
  }
541
807
  ]
542
808
  },
543
- "__schema42": {
809
+ "__schema64": {
544
810
  "type": "number"
545
811
  },
546
- "__schema43": {
812
+ "__schema65": {
547
813
  "type": "string",
548
814
  "description": "Qdrant server URL (e.g., \"http://localhost:6333\")."
549
815
  },
550
- "__schema44": {
816
+ "__schema66": {
551
817
  "type": "string",
552
818
  "description": "Qdrant collection name for vector storage."
553
819
  },
554
- "__schema45": {
820
+ "__schema67": {
555
821
  "description": "Qdrant API key for authentication (supports ${ENV_VAR} substitution).",
556
822
  "allOf": [
557
823
  {
558
- "$ref": "#/definitions/__schema46"
824
+ "$ref": "#/definitions/__schema68"
559
825
  }
560
826
  ]
561
827
  },
562
- "__schema46": {
828
+ "__schema68": {
563
829
  "type": "string"
564
830
  },
565
- "__schema47": {
831
+ "__schema69": {
566
832
  "type": "object",
567
833
  "properties": {
568
834
  "host": {
569
835
  "description": "Host address for API server (e.g., \"127.0.0.1\", \"0.0.0.0\").",
570
836
  "allOf": [
571
837
  {
572
- "$ref": "#/definitions/__schema48"
838
+ "$ref": "#/definitions/__schema70"
573
839
  }
574
840
  ]
575
841
  },
@@ -577,7 +843,7 @@
577
843
  "description": "Port for API server (e.g., 1936).",
578
844
  "allOf": [
579
845
  {
580
- "$ref": "#/definitions/__schema49"
846
+ "$ref": "#/definitions/__schema71"
581
847
  }
582
848
  ]
583
849
  },
@@ -585,25 +851,25 @@
585
851
  "description": "TTL in milliseconds for caching read-heavy endpoints (e.g., /status, /config). Default: 30000.",
586
852
  "allOf": [
587
853
  {
588
- "$ref": "#/definitions/__schema50"
854
+ "$ref": "#/definitions/__schema72"
589
855
  }
590
856
  ]
591
857
  }
592
858
  }
593
859
  },
594
- "__schema48": {
860
+ "__schema70": {
595
861
  "type": "string"
596
862
  },
597
- "__schema49": {
863
+ "__schema71": {
598
864
  "type": "number"
599
865
  },
600
- "__schema50": {
866
+ "__schema72": {
601
867
  "type": "number"
602
868
  },
603
- "__schema51": {
869
+ "__schema73": {
604
870
  "type": "string"
605
871
  },
606
- "__schema52": {
872
+ "__schema74": {
607
873
  "type": "array",
608
874
  "items": {
609
875
  "anyOf": [
@@ -611,28 +877,28 @@
611
877
  "type": "object",
612
878
  "properties": {
613
879
  "name": {
614
- "$ref": "#/definitions/__schema53"
880
+ "$ref": "#/definitions/__schema75"
615
881
  },
616
882
  "description": {
617
- "$ref": "#/definitions/__schema54"
883
+ "$ref": "#/definitions/__schema76"
618
884
  },
619
885
  "match": {
620
- "$ref": "#/definitions/__schema55"
886
+ "$ref": "#/definitions/__schema77"
621
887
  },
622
888
  "schema": {
623
- "$ref": "#/definitions/__schema58"
889
+ "$ref": "#/definitions/__schema80"
624
890
  },
625
891
  "map": {
626
- "$ref": "#/definitions/__schema60"
892
+ "$ref": "#/definitions/__schema82"
627
893
  },
628
894
  "template": {
629
- "$ref": "#/definitions/__schema64"
895
+ "$ref": "#/definitions/__schema86"
630
896
  },
631
897
  "render": {
632
- "$ref": "#/definitions/__schema66"
898
+ "$ref": "#/definitions/__schema88"
633
899
  },
634
900
  "renderAs": {
635
- "$ref": "#/definitions/__schema77"
901
+ "$ref": "#/definitions/__schema99"
636
902
  }
637
903
  },
638
904
  "required": [
@@ -647,39 +913,39 @@
647
913
  ]
648
914
  }
649
915
  },
650
- "__schema53": {
916
+ "__schema75": {
651
917
  "type": "string",
652
918
  "minLength": 1,
653
919
  "description": "Unique name identifying this inference rule."
654
920
  },
655
- "__schema54": {
921
+ "__schema76": {
656
922
  "type": "string",
657
923
  "minLength": 1,
658
924
  "description": "Human-readable description of what this rule does."
659
925
  },
660
- "__schema55": {
926
+ "__schema77": {
661
927
  "type": "object",
662
928
  "propertyNames": {
663
- "$ref": "#/definitions/__schema56"
929
+ "$ref": "#/definitions/__schema78"
664
930
  },
665
931
  "additionalProperties": {
666
- "$ref": "#/definitions/__schema57"
932
+ "$ref": "#/definitions/__schema79"
667
933
  },
668
934
  "description": "JSON Schema object to match against file attributes."
669
935
  },
670
- "__schema56": {
936
+ "__schema78": {
671
937
  "type": "string"
672
938
  },
673
- "__schema57": {},
674
- "__schema58": {
939
+ "__schema79": {},
940
+ "__schema80": {
675
941
  "description": "Array of schema references (named schema refs or inline objects) merged left-to-right.",
676
942
  "allOf": [
677
943
  {
678
- "$ref": "#/definitions/__schema59"
944
+ "$ref": "#/definitions/__schema81"
679
945
  }
680
946
  ]
681
947
  },
682
- "__schema59": {
948
+ "__schema81": {
683
949
  "type": "array",
684
950
  "items": {
685
951
  "anyOf": [
@@ -693,25 +959,25 @@
693
959
  ]
694
960
  }
695
961
  },
696
- "__schema60": {
962
+ "__schema82": {
697
963
  "description": "JsonMap transformation (inline definition, named map reference, or .json file path).",
698
964
  "allOf": [
699
965
  {
700
- "$ref": "#/definitions/__schema61"
966
+ "$ref": "#/definitions/__schema83"
701
967
  }
702
968
  ]
703
969
  },
704
- "__schema61": {
970
+ "__schema83": {
705
971
  "anyOf": [
706
972
  {
707
- "$ref": "#/definitions/__schema62"
973
+ "$ref": "#/definitions/__schema84"
708
974
  },
709
975
  {
710
976
  "type": "string"
711
977
  }
712
978
  ]
713
979
  },
714
- "__schema62": {
980
+ "__schema84": {
715
981
  "anyOf": [
716
982
  {
717
983
  "anyOf": [
@@ -737,7 +1003,7 @@
737
1003
  "additionalProperties": {
738
1004
  "anyOf": [
739
1005
  {
740
- "$ref": "#/definitions/__schema62"
1006
+ "$ref": "#/definitions/__schema84"
741
1007
  },
742
1008
  {
743
1009
  "type": "object",
@@ -745,12 +1011,12 @@
745
1011
  "$": {
746
1012
  "anyOf": [
747
1013
  {
748
- "$ref": "#/definitions/__schema63"
1014
+ "$ref": "#/definitions/__schema85"
749
1015
  },
750
1016
  {
751
1017
  "type": "array",
752
1018
  "items": {
753
- "$ref": "#/definitions/__schema63"
1019
+ "$ref": "#/definitions/__schema85"
754
1020
  }
755
1021
  }
756
1022
  ]
@@ -766,12 +1032,12 @@
766
1032
  {
767
1033
  "type": "array",
768
1034
  "items": {
769
- "$ref": "#/definitions/__schema62"
1035
+ "$ref": "#/definitions/__schema84"
770
1036
  }
771
1037
  }
772
1038
  ]
773
1039
  },
774
- "__schema63": {
1040
+ "__schema85": {
775
1041
  "type": "object",
776
1042
  "properties": {
777
1043
  "method": {
@@ -796,39 +1062,39 @@
796
1062
  "params"
797
1063
  ]
798
1064
  },
799
- "__schema64": {
1065
+ "__schema86": {
800
1066
  "description": "Handlebars content template (inline string, named ref, or .hbs/.handlebars file path).",
801
1067
  "allOf": [
802
1068
  {
803
- "$ref": "#/definitions/__schema65"
1069
+ "$ref": "#/definitions/__schema87"
804
1070
  }
805
1071
  ]
806
1072
  },
807
- "__schema65": {
1073
+ "__schema87": {
808
1074
  "type": "string"
809
1075
  },
810
- "__schema66": {
1076
+ "__schema88": {
811
1077
  "description": "Declarative render configuration for frontmatter + structured Markdown output (mutually exclusive with template).",
812
1078
  "allOf": [
813
1079
  {
814
- "$ref": "#/definitions/__schema67"
1080
+ "$ref": "#/definitions/__schema89"
815
1081
  }
816
1082
  ]
817
1083
  },
818
- "__schema67": {
1084
+ "__schema89": {
819
1085
  "type": "object",
820
1086
  "properties": {
821
1087
  "frontmatter": {
822
1088
  "type": "array",
823
1089
  "items": {
824
- "$ref": "#/definitions/__schema68"
1090
+ "$ref": "#/definitions/__schema90"
825
1091
  },
826
1092
  "description": "Keys or glob patterns to include as YAML frontmatter. Supports picomatch globs (e.g. \"*\") and \"!\"-prefixed exclusion patterns (e.g. \"!_*\"). Explicit names preserve declaration order; glob-matched keys are sorted alphabetically."
827
1093
  },
828
1094
  "body": {
829
1095
  "type": "array",
830
1096
  "items": {
831
- "$ref": "#/definitions/__schema69"
1097
+ "$ref": "#/definitions/__schema91"
832
1098
  },
833
1099
  "description": "Ordered markdown body sections."
834
1100
  }
@@ -838,11 +1104,11 @@
838
1104
  "body"
839
1105
  ]
840
1106
  },
841
- "__schema68": {
1107
+ "__schema90": {
842
1108
  "type": "string",
843
1109
  "minLength": 1
844
1110
  },
845
- "__schema69": {
1111
+ "__schema91": {
846
1112
  "type": "object",
847
1113
  "properties": {
848
1114
  "path": {
@@ -860,7 +1126,7 @@
860
1126
  "description": "Override heading text.",
861
1127
  "allOf": [
862
1128
  {
863
- "$ref": "#/definitions/__schema70"
1129
+ "$ref": "#/definitions/__schema92"
864
1130
  }
865
1131
  ]
866
1132
  },
@@ -868,7 +1134,7 @@
868
1134
  "description": "Name of a registered Handlebars helper used as a format handler.",
869
1135
  "allOf": [
870
1136
  {
871
- "$ref": "#/definitions/__schema71"
1137
+ "$ref": "#/definitions/__schema93"
872
1138
  }
873
1139
  ]
874
1140
  },
@@ -876,7 +1142,7 @@
876
1142
  "description": "Additional args passed to the format helper.",
877
1143
  "allOf": [
878
1144
  {
879
- "$ref": "#/definitions/__schema72"
1145
+ "$ref": "#/definitions/__schema94"
880
1146
  }
881
1147
  ]
882
1148
  },
@@ -884,7 +1150,7 @@
884
1150
  "description": "If true, the value at path is treated as an array and iterated.",
885
1151
  "allOf": [
886
1152
  {
887
- "$ref": "#/definitions/__schema73"
1153
+ "$ref": "#/definitions/__schema95"
888
1154
  }
889
1155
  ]
890
1156
  },
@@ -892,7 +1158,7 @@
892
1158
  "description": "Handlebars template string for per-item heading text (used when each=true).",
893
1159
  "allOf": [
894
1160
  {
895
- "$ref": "#/definitions/__schema74"
1161
+ "$ref": "#/definitions/__schema96"
896
1162
  }
897
1163
  ]
898
1164
  },
@@ -900,7 +1166,7 @@
900
1166
  "description": "Key path within each item to use as renderable content (used when each=true).",
901
1167
  "allOf": [
902
1168
  {
903
- "$ref": "#/definitions/__schema75"
1169
+ "$ref": "#/definitions/__schema97"
904
1170
  }
905
1171
  ]
906
1172
  },
@@ -908,7 +1174,7 @@
908
1174
  "description": "Key path within each item to sort by (used when each=true).",
909
1175
  "allOf": [
910
1176
  {
911
- "$ref": "#/definitions/__schema76"
1177
+ "$ref": "#/definitions/__schema98"
912
1178
  }
913
1179
  ]
914
1180
  }
@@ -918,41 +1184,41 @@
918
1184
  "heading"
919
1185
  ]
920
1186
  },
921
- "__schema70": {
1187
+ "__schema92": {
922
1188
  "type": "string"
923
1189
  },
924
- "__schema71": {
1190
+ "__schema93": {
925
1191
  "type": "string"
926
1192
  },
927
- "__schema72": {
1193
+ "__schema94": {
928
1194
  "type": "array",
929
1195
  "items": {}
930
1196
  },
931
- "__schema73": {
1197
+ "__schema95": {
932
1198
  "type": "boolean"
933
1199
  },
934
- "__schema74": {
1200
+ "__schema96": {
935
1201
  "type": "string"
936
1202
  },
937
- "__schema75": {
1203
+ "__schema97": {
938
1204
  "type": "string"
939
1205
  },
940
- "__schema76": {
1206
+ "__schema98": {
941
1207
  "type": "string"
942
1208
  },
943
- "__schema77": {
1209
+ "__schema99": {
944
1210
  "description": "Output file extension override (without dot). Requires template or render.",
945
1211
  "allOf": [
946
1212
  {
947
- "$ref": "#/definitions/__schema78"
1213
+ "$ref": "#/definitions/__schema100"
948
1214
  }
949
1215
  ]
950
1216
  },
951
- "__schema78": {
1217
+ "__schema100": {
952
1218
  "type": "string",
953
1219
  "pattern": "^[a-z0-9]{1,10}$"
954
1220
  },
955
- "__schema79": {
1221
+ "__schema101": {
956
1222
  "type": "object",
957
1223
  "propertyNames": {
958
1224
  "type": "string"
@@ -960,7 +1226,7 @@
960
1226
  "additionalProperties": {
961
1227
  "anyOf": [
962
1228
  {
963
- "$ref": "#/definitions/__schema62"
1229
+ "$ref": "#/definitions/__schema84"
964
1230
  },
965
1231
  {
966
1232
  "type": "string"
@@ -971,7 +1237,7 @@
971
1237
  "map": {
972
1238
  "anyOf": [
973
1239
  {
974
- "$ref": "#/definitions/__schema62"
1240
+ "$ref": "#/definitions/__schema84"
975
1241
  },
976
1242
  {
977
1243
  "type": "string"
@@ -989,7 +1255,7 @@
989
1255
  ]
990
1256
  }
991
1257
  },
992
- "__schema80": {
1258
+ "__schema102": {
993
1259
  "type": "object",
994
1260
  "propertyNames": {
995
1261
  "type": "string"
@@ -1016,7 +1282,7 @@
1016
1282
  ]
1017
1283
  }
1018
1284
  },
1019
- "__schema81": {
1285
+ "__schema103": {
1020
1286
  "type": "object",
1021
1287
  "propertyNames": {
1022
1288
  "type": "string"
@@ -1036,7 +1302,7 @@
1036
1302
  ]
1037
1303
  }
1038
1304
  },
1039
- "__schema82": {
1305
+ "__schema104": {
1040
1306
  "type": "object",
1041
1307
  "propertyNames": {
1042
1308
  "type": "string"
@@ -1056,7 +1322,7 @@
1056
1322
  ]
1057
1323
  }
1058
1324
  },
1059
- "__schema83": {
1325
+ "__schema105": {
1060
1326
  "type": "object",
1061
1327
  "properties": {
1062
1328
  "callbackUrl": {
@@ -1068,18 +1334,18 @@
1068
1334
  "description": "Maximum concurrent file operations during reindex (default 50).",
1069
1335
  "allOf": [
1070
1336
  {
1071
- "$ref": "#/definitions/__schema84"
1337
+ "$ref": "#/definitions/__schema106"
1072
1338
  }
1073
1339
  ]
1074
1340
  }
1075
1341
  }
1076
1342
  },
1077
- "__schema84": {
1343
+ "__schema106": {
1078
1344
  "type": "integer",
1079
1345
  "minimum": 1,
1080
1346
  "maximum": 9007199254740991
1081
1347
  },
1082
- "__schema85": {
1348
+ "__schema107": {
1083
1349
  "type": "object",
1084
1350
  "properties": {
1085
1351
  "scoreThresholds": {
@@ -1124,14 +1390,37 @@
1124
1390
  }
1125
1391
  }
1126
1392
  },
1127
- "__schema86": {
1393
+ "__schema108": {
1394
+ "type": "object",
1395
+ "properties": {
1396
+ "enabled": {
1397
+ "$ref": "#/definitions/__schema8"
1398
+ },
1399
+ "commitDebounceMs": {
1400
+ "$ref": "#/definitions/__schema10"
1401
+ },
1402
+ "maxBatchSize": {
1403
+ "$ref": "#/definitions/__schema12"
1404
+ },
1405
+ "commitMessage": {
1406
+ "$ref": "#/definitions/__schema14"
1407
+ },
1408
+ "retention": {
1409
+ "$ref": "#/definitions/__schema20"
1410
+ },
1411
+ "defaultAccessToken": {
1412
+ "$ref": "#/definitions/__schema25"
1413
+ }
1414
+ }
1415
+ },
1416
+ "__schema109": {
1128
1417
  "type": "object",
1129
1418
  "properties": {
1130
1419
  "level": {
1131
1420
  "description": "Logging level (trace, debug, info, warn, error, fatal).",
1132
1421
  "allOf": [
1133
1422
  {
1134
- "$ref": "#/definitions/__schema87"
1423
+ "$ref": "#/definitions/__schema110"
1135
1424
  }
1136
1425
  ]
1137
1426
  },
@@ -1139,25 +1428,25 @@
1139
1428
  "description": "Path to log file (logs to stdout if omitted).",
1140
1429
  "allOf": [
1141
1430
  {
1142
- "$ref": "#/definitions/__schema88"
1431
+ "$ref": "#/definitions/__schema111"
1143
1432
  }
1144
1433
  ]
1145
1434
  }
1146
1435
  }
1147
1436
  },
1148
- "__schema87": {
1437
+ "__schema110": {
1149
1438
  "type": "string"
1150
1439
  },
1151
- "__schema88": {
1440
+ "__schema111": {
1152
1441
  "type": "string"
1153
1442
  },
1154
- "__schema89": {
1443
+ "__schema112": {
1155
1444
  "type": "number"
1156
1445
  },
1157
- "__schema90": {
1446
+ "__schema113": {
1158
1447
  "type": "number"
1159
1448
  },
1160
- "__schema91": {
1449
+ "__schema114": {
1161
1450
  "type": "number"
1162
1451
  }
1163
1452
  }