akapen 0.1.1 → 0.5.0

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.
@@ -0,0 +1,949 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "$schema": {
6
+ "type": "string"
7
+ },
8
+ "api": {
9
+ "type": "object",
10
+ "properties": {
11
+ "cacheKeyScope": {
12
+ "type": "string",
13
+ "enum": ["model", "stage"]
14
+ },
15
+ "maxCostUsd": {
16
+ "type": "number",
17
+ "exclusiveMinimum": 0
18
+ },
19
+ "providers": {
20
+ "type": "object",
21
+ "properties": {
22
+ "anthropic": {
23
+ "type": "object",
24
+ "properties": {
25
+ "apiKeyEnv": {
26
+ "type": "string",
27
+ "minLength": 1
28
+ },
29
+ "baseURL": {
30
+ "type": "string",
31
+ "minLength": 1
32
+ },
33
+ "prices": {
34
+ "type": "object",
35
+ "propertyNames": {
36
+ "type": "string"
37
+ },
38
+ "additionalProperties": {
39
+ "type": "object",
40
+ "properties": {
41
+ "cacheRead": {
42
+ "type": "number",
43
+ "minimum": 0
44
+ },
45
+ "cacheWrite": {
46
+ "type": "number",
47
+ "minimum": 0
48
+ },
49
+ "input": {
50
+ "type": "number",
51
+ "minimum": 0
52
+ },
53
+ "output": {
54
+ "type": "number",
55
+ "minimum": 0
56
+ }
57
+ },
58
+ "required": ["cacheRead", "cacheWrite", "input", "output"],
59
+ "additionalProperties": false
60
+ }
61
+ },
62
+ "requestsPerMinute": {
63
+ "type": "number",
64
+ "exclusiveMinimum": 0
65
+ },
66
+ "searchUsd": {
67
+ "type": "number",
68
+ "minimum": 0
69
+ },
70
+ "serviceTier": {
71
+ "not": {}
72
+ },
73
+ "tokensPerMinute": {
74
+ "type": "number",
75
+ "exclusiveMinimum": 0
76
+ }
77
+ },
78
+ "additionalProperties": false
79
+ },
80
+ "openai": {
81
+ "type": "object",
82
+ "properties": {
83
+ "apiKeyEnv": {
84
+ "type": "string",
85
+ "minLength": 1
86
+ },
87
+ "baseURL": {
88
+ "type": "string",
89
+ "minLength": 1
90
+ },
91
+ "prices": {
92
+ "type": "object",
93
+ "propertyNames": {
94
+ "type": "string"
95
+ },
96
+ "additionalProperties": {
97
+ "type": "object",
98
+ "properties": {
99
+ "cacheRead": {
100
+ "type": "number",
101
+ "minimum": 0
102
+ },
103
+ "cacheWrite": {
104
+ "type": "number",
105
+ "minimum": 0
106
+ },
107
+ "input": {
108
+ "type": "number",
109
+ "minimum": 0
110
+ },
111
+ "output": {
112
+ "type": "number",
113
+ "minimum": 0
114
+ }
115
+ },
116
+ "required": ["cacheRead", "cacheWrite", "input", "output"],
117
+ "additionalProperties": false
118
+ }
119
+ },
120
+ "requestsPerMinute": {
121
+ "type": "number",
122
+ "exclusiveMinimum": 0
123
+ },
124
+ "searchUsd": {
125
+ "type": "number",
126
+ "minimum": 0
127
+ },
128
+ "serviceTier": {
129
+ "type": "string",
130
+ "const": "flex"
131
+ },
132
+ "tokensPerMinute": {
133
+ "type": "number",
134
+ "exclusiveMinimum": 0
135
+ }
136
+ },
137
+ "additionalProperties": false
138
+ }
139
+ },
140
+ "additionalProperties": false
141
+ }
142
+ },
143
+ "additionalProperties": false
144
+ },
145
+ "backend": {
146
+ "type": "object",
147
+ "properties": {
148
+ "api": {
149
+ "type": "string",
150
+ "enum": ["sdk", "cli"]
151
+ },
152
+ "claude": {
153
+ "type": "string",
154
+ "enum": ["sdk", "cli"]
155
+ },
156
+ "codex": {
157
+ "type": "string",
158
+ "enum": ["sdk", "cli"]
159
+ }
160
+ },
161
+ "additionalProperties": false
162
+ },
163
+ "claude": {
164
+ "type": "object",
165
+ "properties": {
166
+ "stripApiKey": {
167
+ "type": "boolean"
168
+ }
169
+ },
170
+ "additionalProperties": false
171
+ },
172
+ "concurrency": {
173
+ "type": "integer",
174
+ "exclusiveMinimum": 0,
175
+ "maximum": 9007199254740991
176
+ },
177
+ "contextLinks": {
178
+ "type": "boolean"
179
+ },
180
+ "docs": {
181
+ "type": "object",
182
+ "properties": {
183
+ "llmsTxt": {
184
+ "type": "object",
185
+ "propertyNames": {
186
+ "type": "string",
187
+ "pattern": "^[A-Za-z0-9][\\w-]*$"
188
+ },
189
+ "additionalProperties": {
190
+ "type": "object",
191
+ "properties": {
192
+ "covers": {
193
+ "type": "string",
194
+ "minLength": 1
195
+ },
196
+ "hosts": {
197
+ "minItems": 1,
198
+ "type": "array",
199
+ "items": {
200
+ "type": "string"
201
+ }
202
+ },
203
+ "url": {
204
+ "type": "string"
205
+ }
206
+ },
207
+ "required": ["url"],
208
+ "additionalProperties": false
209
+ }
210
+ }
211
+ },
212
+ "additionalProperties": false
213
+ },
214
+ "escalate": {
215
+ "type": "boolean"
216
+ },
217
+ "kinds": {
218
+ "type": "object",
219
+ "propertyNames": {
220
+ "type": "string"
221
+ },
222
+ "additionalProperties": {
223
+ "type": "object",
224
+ "properties": {
225
+ "fallback": {
226
+ "type": "string"
227
+ },
228
+ "globs": {
229
+ "type": "array",
230
+ "items": {
231
+ "type": "string",
232
+ "minLength": 1
233
+ }
234
+ },
235
+ "instructions": {
236
+ "type": "string"
237
+ },
238
+ "lenses": {
239
+ "type": "array",
240
+ "items": {
241
+ "type": "string",
242
+ "enum": ["general", "logic", "boundaries", "regressions", "paths", "security"]
243
+ }
244
+ },
245
+ "mode": {
246
+ "type": "string",
247
+ "enum": ["review", "pair", "skip"]
248
+ },
249
+ "pairs": {
250
+ "type": "array",
251
+ "items": {
252
+ "type": "object",
253
+ "properties": {
254
+ "requireBoth": {
255
+ "type": "boolean"
256
+ },
257
+ "source": {
258
+ "type": "string"
259
+ },
260
+ "target": {
261
+ "type": "string"
262
+ }
263
+ },
264
+ "required": ["source", "target"],
265
+ "additionalProperties": false
266
+ }
267
+ }
268
+ },
269
+ "additionalProperties": false
270
+ }
271
+ },
272
+ "knowledgeRepos": {
273
+ "type": "object",
274
+ "propertyNames": {
275
+ "type": "string",
276
+ "pattern": "^[A-Za-z0-9][\\w.-]*$"
277
+ },
278
+ "additionalProperties": {
279
+ "type": "string",
280
+ "minLength": 1
281
+ }
282
+ },
283
+ "maxDiffChars": {
284
+ "type": "integer",
285
+ "exclusiveMinimum": 0,
286
+ "maximum": 9007199254740991
287
+ },
288
+ "maxSweeps": {
289
+ "type": "integer",
290
+ "minimum": 0,
291
+ "maximum": 20
292
+ },
293
+ "mcp": {
294
+ "type": "object",
295
+ "properties": {
296
+ "claude": {
297
+ "type": "object",
298
+ "propertyNames": {
299
+ "type": "string"
300
+ },
301
+ "additionalProperties": {}
302
+ },
303
+ "codex": {
304
+ "type": "object",
305
+ "propertyNames": {
306
+ "type": "string"
307
+ },
308
+ "additionalProperties": {}
309
+ },
310
+ "remote": {
311
+ "type": "object",
312
+ "propertyNames": {
313
+ "type": "string",
314
+ "pattern": "^[A-Za-z0-9][\\w-]*$"
315
+ },
316
+ "additionalProperties": {
317
+ "type": "object",
318
+ "properties": {
319
+ "covers": {
320
+ "type": "string",
321
+ "minLength": 1
322
+ },
323
+ "url": {
324
+ "type": "string"
325
+ }
326
+ },
327
+ "required": ["url"],
328
+ "additionalProperties": false
329
+ }
330
+ }
331
+ },
332
+ "additionalProperties": false
333
+ },
334
+ "repos": {
335
+ "type": "object",
336
+ "propertyNames": {
337
+ "type": "string"
338
+ },
339
+ "additionalProperties": {
340
+ "type": "object",
341
+ "properties": {
342
+ "kinds": {
343
+ "type": "object",
344
+ "propertyNames": {
345
+ "type": "string"
346
+ },
347
+ "additionalProperties": {
348
+ "type": "object",
349
+ "properties": {
350
+ "fallback": {
351
+ "type": "string"
352
+ },
353
+ "globs": {
354
+ "type": "array",
355
+ "items": {
356
+ "type": "string",
357
+ "minLength": 1
358
+ }
359
+ },
360
+ "instructions": {
361
+ "type": "string"
362
+ },
363
+ "lenses": {
364
+ "type": "array",
365
+ "items": {
366
+ "type": "string",
367
+ "enum": ["general", "logic", "boundaries", "regressions", "paths", "security"]
368
+ }
369
+ },
370
+ "mode": {
371
+ "type": "string",
372
+ "enum": ["review", "pair", "skip"]
373
+ },
374
+ "pairs": {
375
+ "type": "array",
376
+ "items": {
377
+ "type": "object",
378
+ "properties": {
379
+ "requireBoth": {
380
+ "type": "boolean"
381
+ },
382
+ "source": {
383
+ "type": "string"
384
+ },
385
+ "target": {
386
+ "type": "string"
387
+ }
388
+ },
389
+ "required": ["source", "target"],
390
+ "additionalProperties": false
391
+ }
392
+ }
393
+ },
394
+ "additionalProperties": false
395
+ }
396
+ }
397
+ },
398
+ "additionalProperties": false
399
+ }
400
+ },
401
+ "retryDelaysSeconds": {
402
+ "type": "array",
403
+ "items": {
404
+ "type": "number",
405
+ "minimum": 0
406
+ }
407
+ },
408
+ "reviewers": {
409
+ "type": "object",
410
+ "properties": {
411
+ "general": {
412
+ "type": "integer",
413
+ "minimum": 0,
414
+ "maximum": 10
415
+ },
416
+ "logic": {
417
+ "type": "integer",
418
+ "minimum": 0,
419
+ "maximum": 10
420
+ },
421
+ "boundaries": {
422
+ "type": "integer",
423
+ "minimum": 0,
424
+ "maximum": 10
425
+ },
426
+ "regressions": {
427
+ "type": "integer",
428
+ "minimum": 0,
429
+ "maximum": 10
430
+ },
431
+ "paths": {
432
+ "type": "integer",
433
+ "minimum": 0,
434
+ "maximum": 10
435
+ },
436
+ "security": {
437
+ "type": "integer",
438
+ "minimum": 0,
439
+ "maximum": 10
440
+ }
441
+ },
442
+ "additionalProperties": false
443
+ },
444
+ "sandbox": {
445
+ "type": "object",
446
+ "properties": {
447
+ "allowRead": {
448
+ "type": "array",
449
+ "items": {
450
+ "type": "string"
451
+ }
452
+ },
453
+ "allowedDomains": {
454
+ "type": "array",
455
+ "items": {
456
+ "type": "string",
457
+ "pattern": "^(?:\\*\\.)?(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\\.)+[A-Za-z]{2,}$"
458
+ }
459
+ }
460
+ },
461
+ "additionalProperties": false
462
+ },
463
+ "shardChars": {
464
+ "type": "integer",
465
+ "exclusiveMinimum": 0,
466
+ "maximum": 9007199254740991
467
+ },
468
+ "stages": {
469
+ "type": "object",
470
+ "properties": {
471
+ "context": {
472
+ "type": "object",
473
+ "properties": {
474
+ "effort": {
475
+ "type": "string",
476
+ "enum": ["low", "medium", "high", "xhigh", "max"]
477
+ },
478
+ "exec": {
479
+ "type": "boolean"
480
+ },
481
+ "mcp": {
482
+ "type": "boolean"
483
+ },
484
+ "model": {
485
+ "type": "string",
486
+ "minLength": 1
487
+ },
488
+ "tier": {
489
+ "type": "string",
490
+ "enum": ["top", "mid", "cheap"]
491
+ },
492
+ "web": {
493
+ "type": "boolean"
494
+ }
495
+ },
496
+ "additionalProperties": false
497
+ },
498
+ "review": {
499
+ "type": "object",
500
+ "properties": {
501
+ "effort": {
502
+ "type": "string",
503
+ "enum": ["low", "medium", "high", "xhigh", "max"]
504
+ },
505
+ "exec": {
506
+ "type": "boolean"
507
+ },
508
+ "mcp": {
509
+ "type": "boolean"
510
+ },
511
+ "model": {
512
+ "type": "string",
513
+ "minLength": 1
514
+ },
515
+ "tier": {
516
+ "type": "string",
517
+ "enum": ["top", "mid", "cheap"]
518
+ },
519
+ "web": {
520
+ "type": "boolean"
521
+ },
522
+ "roles": {
523
+ "type": "object",
524
+ "properties": {
525
+ "general": {
526
+ "type": "object",
527
+ "properties": {
528
+ "effort": {
529
+ "type": "string",
530
+ "enum": ["low", "medium", "high", "xhigh", "max"]
531
+ },
532
+ "exec": {
533
+ "type": "boolean"
534
+ },
535
+ "mcp": {
536
+ "type": "boolean"
537
+ },
538
+ "model": {
539
+ "type": "string",
540
+ "minLength": 1
541
+ },
542
+ "tier": {
543
+ "type": "string",
544
+ "enum": ["top", "mid", "cheap"]
545
+ },
546
+ "web": {
547
+ "type": "boolean"
548
+ }
549
+ },
550
+ "additionalProperties": false
551
+ },
552
+ "logic": {
553
+ "type": "object",
554
+ "properties": {
555
+ "effort": {
556
+ "type": "string",
557
+ "enum": ["low", "medium", "high", "xhigh", "max"]
558
+ },
559
+ "exec": {
560
+ "type": "boolean"
561
+ },
562
+ "mcp": {
563
+ "type": "boolean"
564
+ },
565
+ "model": {
566
+ "type": "string",
567
+ "minLength": 1
568
+ },
569
+ "tier": {
570
+ "type": "string",
571
+ "enum": ["top", "mid", "cheap"]
572
+ },
573
+ "web": {
574
+ "type": "boolean"
575
+ }
576
+ },
577
+ "additionalProperties": false
578
+ },
579
+ "boundaries": {
580
+ "type": "object",
581
+ "properties": {
582
+ "effort": {
583
+ "type": "string",
584
+ "enum": ["low", "medium", "high", "xhigh", "max"]
585
+ },
586
+ "exec": {
587
+ "type": "boolean"
588
+ },
589
+ "mcp": {
590
+ "type": "boolean"
591
+ },
592
+ "model": {
593
+ "type": "string",
594
+ "minLength": 1
595
+ },
596
+ "tier": {
597
+ "type": "string",
598
+ "enum": ["top", "mid", "cheap"]
599
+ },
600
+ "web": {
601
+ "type": "boolean"
602
+ }
603
+ },
604
+ "additionalProperties": false
605
+ },
606
+ "regressions": {
607
+ "type": "object",
608
+ "properties": {
609
+ "effort": {
610
+ "type": "string",
611
+ "enum": ["low", "medium", "high", "xhigh", "max"]
612
+ },
613
+ "exec": {
614
+ "type": "boolean"
615
+ },
616
+ "mcp": {
617
+ "type": "boolean"
618
+ },
619
+ "model": {
620
+ "type": "string",
621
+ "minLength": 1
622
+ },
623
+ "tier": {
624
+ "type": "string",
625
+ "enum": ["top", "mid", "cheap"]
626
+ },
627
+ "web": {
628
+ "type": "boolean"
629
+ }
630
+ },
631
+ "additionalProperties": false
632
+ },
633
+ "paths": {
634
+ "type": "object",
635
+ "properties": {
636
+ "effort": {
637
+ "type": "string",
638
+ "enum": ["low", "medium", "high", "xhigh", "max"]
639
+ },
640
+ "exec": {
641
+ "type": "boolean"
642
+ },
643
+ "mcp": {
644
+ "type": "boolean"
645
+ },
646
+ "model": {
647
+ "type": "string",
648
+ "minLength": 1
649
+ },
650
+ "tier": {
651
+ "type": "string",
652
+ "enum": ["top", "mid", "cheap"]
653
+ },
654
+ "web": {
655
+ "type": "boolean"
656
+ }
657
+ },
658
+ "additionalProperties": false
659
+ },
660
+ "security": {
661
+ "type": "object",
662
+ "properties": {
663
+ "effort": {
664
+ "type": "string",
665
+ "enum": ["low", "medium", "high", "xhigh", "max"]
666
+ },
667
+ "exec": {
668
+ "type": "boolean"
669
+ },
670
+ "mcp": {
671
+ "type": "boolean"
672
+ },
673
+ "model": {
674
+ "type": "string",
675
+ "minLength": 1
676
+ },
677
+ "tier": {
678
+ "type": "string",
679
+ "enum": ["top", "mid", "cheap"]
680
+ },
681
+ "web": {
682
+ "type": "boolean"
683
+ }
684
+ },
685
+ "additionalProperties": false
686
+ }
687
+ },
688
+ "additionalProperties": false
689
+ }
690
+ },
691
+ "additionalProperties": false
692
+ },
693
+ "group": {
694
+ "type": "object",
695
+ "properties": {
696
+ "effort": {
697
+ "type": "string",
698
+ "enum": ["low", "medium", "high", "xhigh", "max"]
699
+ },
700
+ "exec": {
701
+ "type": "boolean"
702
+ },
703
+ "mcp": {
704
+ "type": "boolean"
705
+ },
706
+ "model": {
707
+ "type": "string",
708
+ "minLength": 1
709
+ },
710
+ "tier": {
711
+ "type": "string",
712
+ "enum": ["top", "mid", "cheap"]
713
+ },
714
+ "web": {
715
+ "type": "boolean"
716
+ }
717
+ },
718
+ "additionalProperties": false
719
+ },
720
+ "critic": {
721
+ "type": "object",
722
+ "properties": {
723
+ "effort": {
724
+ "type": "string",
725
+ "enum": ["low", "medium", "high", "xhigh", "max"]
726
+ },
727
+ "exec": {
728
+ "type": "boolean"
729
+ },
730
+ "mcp": {
731
+ "type": "boolean"
732
+ },
733
+ "model": {
734
+ "type": "string",
735
+ "minLength": 1
736
+ },
737
+ "tier": {
738
+ "type": "string",
739
+ "enum": ["top", "mid", "cheap"]
740
+ },
741
+ "web": {
742
+ "type": "boolean"
743
+ }
744
+ },
745
+ "additionalProperties": false
746
+ },
747
+ "verify": {
748
+ "type": "object",
749
+ "properties": {
750
+ "effort": {
751
+ "type": "string",
752
+ "enum": ["low", "medium", "high", "xhigh", "max"]
753
+ },
754
+ "exec": {
755
+ "type": "boolean"
756
+ },
757
+ "mcp": {
758
+ "type": "boolean"
759
+ },
760
+ "model": {
761
+ "type": "string",
762
+ "minLength": 1
763
+ },
764
+ "tier": {
765
+ "type": "string",
766
+ "enum": ["top", "mid", "cheap"]
767
+ },
768
+ "web": {
769
+ "type": "boolean"
770
+ }
771
+ },
772
+ "additionalProperties": false
773
+ },
774
+ "sweep": {
775
+ "type": "object",
776
+ "properties": {
777
+ "effort": {
778
+ "type": "string",
779
+ "enum": ["low", "medium", "high", "xhigh", "max"]
780
+ },
781
+ "exec": {
782
+ "type": "boolean"
783
+ },
784
+ "mcp": {
785
+ "type": "boolean"
786
+ },
787
+ "model": {
788
+ "type": "string",
789
+ "minLength": 1
790
+ },
791
+ "tier": {
792
+ "type": "string",
793
+ "enum": ["top", "mid", "cheap"]
794
+ },
795
+ "web": {
796
+ "type": "boolean"
797
+ }
798
+ },
799
+ "additionalProperties": false
800
+ },
801
+ "fixcheck": {
802
+ "type": "object",
803
+ "properties": {
804
+ "effort": {
805
+ "type": "string",
806
+ "enum": ["low", "medium", "high", "xhigh", "max"]
807
+ },
808
+ "exec": {
809
+ "type": "boolean"
810
+ },
811
+ "mcp": {
812
+ "type": "boolean"
813
+ },
814
+ "model": {
815
+ "type": "string",
816
+ "minLength": 1
817
+ },
818
+ "tier": {
819
+ "type": "string",
820
+ "enum": ["top", "mid", "cheap"]
821
+ },
822
+ "web": {
823
+ "type": "boolean"
824
+ }
825
+ },
826
+ "additionalProperties": false
827
+ },
828
+ "pair": {
829
+ "type": "object",
830
+ "properties": {
831
+ "effort": {
832
+ "type": "string",
833
+ "enum": ["low", "medium", "high", "xhigh", "max"]
834
+ },
835
+ "exec": {
836
+ "type": "boolean"
837
+ },
838
+ "mcp": {
839
+ "type": "boolean"
840
+ },
841
+ "model": {
842
+ "type": "string",
843
+ "minLength": 1
844
+ },
845
+ "tier": {
846
+ "type": "string",
847
+ "enum": ["top", "mid", "cheap"]
848
+ },
849
+ "web": {
850
+ "type": "boolean"
851
+ }
852
+ },
853
+ "additionalProperties": false
854
+ },
855
+ "repair": {
856
+ "type": "object",
857
+ "properties": {
858
+ "effort": {
859
+ "type": "string",
860
+ "enum": ["low", "medium", "high", "xhigh", "max"]
861
+ },
862
+ "exec": {
863
+ "type": "boolean"
864
+ },
865
+ "mcp": {
866
+ "type": "boolean"
867
+ },
868
+ "model": {
869
+ "type": "string",
870
+ "minLength": 1
871
+ },
872
+ "tier": {
873
+ "type": "string",
874
+ "enum": ["top", "mid", "cheap"]
875
+ },
876
+ "web": {
877
+ "type": "boolean"
878
+ }
879
+ },
880
+ "additionalProperties": false
881
+ }
882
+ },
883
+ "additionalProperties": false
884
+ },
885
+ "tiers": {
886
+ "type": "object",
887
+ "properties": {
888
+ "api": {
889
+ "type": "object",
890
+ "properties": {
891
+ "top": {
892
+ "type": "string",
893
+ "minLength": 1
894
+ },
895
+ "mid": {
896
+ "type": "string",
897
+ "minLength": 1
898
+ },
899
+ "cheap": {
900
+ "type": "string",
901
+ "minLength": 1
902
+ }
903
+ },
904
+ "additionalProperties": false
905
+ },
906
+ "claude": {
907
+ "type": "object",
908
+ "properties": {
909
+ "top": {
910
+ "type": "string",
911
+ "minLength": 1
912
+ },
913
+ "mid": {
914
+ "type": "string",
915
+ "minLength": 1
916
+ },
917
+ "cheap": {
918
+ "type": "string",
919
+ "minLength": 1
920
+ }
921
+ },
922
+ "additionalProperties": false
923
+ },
924
+ "codex": {
925
+ "type": "object",
926
+ "properties": {
927
+ "top": {
928
+ "type": "string",
929
+ "minLength": 1
930
+ },
931
+ "mid": {
932
+ "type": "string",
933
+ "minLength": 1
934
+ },
935
+ "cheap": {
936
+ "type": "string",
937
+ "minLength": 1
938
+ }
939
+ },
940
+ "additionalProperties": false
941
+ }
942
+ },
943
+ "additionalProperties": false
944
+ }
945
+ },
946
+ "additionalProperties": false,
947
+ "$id": "https://cdn.jsdelivr.net/npm/akapen/json-schema/config.json",
948
+ "title": "akapen settings"
949
+ }