arkgate 2.11.0 → 2.13.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.
Files changed (77) hide show
  1. package/CHANGELOG.md +147 -0
  2. package/README.md +70 -41
  3. package/bin/ark-check.mjs +95 -36
  4. package/bin/ark-mcp.mjs +11 -5
  5. package/bin/ark-shared.mjs +88 -56
  6. package/bin/ark.mjs +97 -29
  7. package/bin/lib/agent-gates.mjs +79 -2093
  8. package/bin/lib/architecture-scan.mjs +8 -0
  9. package/bin/lib/ci-and-commands.mjs +392 -0
  10. package/bin/lib/codex-home.mjs +7 -0
  11. package/bin/lib/config-contract.mjs +331 -0
  12. package/bin/lib/deploy-path.mjs +205 -0
  13. package/bin/lib/doctor-plan.mjs +43 -16
  14. package/bin/lib/enforcement-profiles.mjs +97 -0
  15. package/bin/lib/gate-files.mjs +223 -0
  16. package/bin/lib/hook-templates.mjs +99 -0
  17. package/bin/lib/host-support-matrix.mjs +77 -0
  18. package/bin/lib/install-migrate.mjs +473 -0
  19. package/bin/lib/mcp-adoption.mjs +455 -0
  20. package/bin/lib/open-html.mjs +75 -0
  21. package/bin/lib/presets.mjs +6 -2
  22. package/bin/lib/safety-diagnostics.mjs +31 -11
  23. package/bin/lib/skill-install.mjs +323 -0
  24. package/bin/lib/ts-resolve.mjs +2 -1
  25. package/bin/lib/typescript-host.mjs +88 -0
  26. package/bin/lib/weakest-link.mjs +417 -0
  27. package/bin/lib/write-path-capabilities.mjs +182 -0
  28. package/bin/lib/write-path-detect.mjs +101 -0
  29. package/dist/configContract-iBLxx5Tz.d.cts +53 -0
  30. package/dist/configContract-iBLxx5Tz.d.ts +53 -0
  31. package/dist/eslint/index.cjs +375 -13
  32. package/dist/eslint/index.cjs.map +1 -1
  33. package/dist/eslint/index.d.cts +30 -20
  34. package/dist/eslint/index.d.ts +30 -20
  35. package/dist/eslint/index.js +375 -13
  36. package/dist/eslint/index.js.map +1 -1
  37. package/dist/index.cjs +723 -61
  38. package/dist/index.cjs.map +1 -1
  39. package/dist/index.d.cts +95 -5
  40. package/dist/index.d.ts +95 -5
  41. package/dist/index.js +716 -61
  42. package/dist/index.js.map +1 -1
  43. package/dist/nestjs/index.cjs +150 -42
  44. package/dist/nestjs/index.cjs.map +1 -1
  45. package/dist/nestjs/index.d.cts +2 -1
  46. package/dist/nestjs/index.d.ts +2 -1
  47. package/dist/nestjs/index.js +150 -42
  48. package/dist/nestjs/index.js.map +1 -1
  49. package/dist/runtime/index.cjs +723 -61
  50. package/dist/runtime/index.cjs.map +1 -1
  51. package/dist/runtime/index.d.cts +3 -2
  52. package/dist/runtime/index.d.ts +3 -2
  53. package/dist/runtime/index.js +716 -61
  54. package/dist/runtime/index.js.map +1 -1
  55. package/dist/{types-BZ17b9i5.d.cts → types-BxBwnBpC.d.cts} +9 -36
  56. package/dist/{types-BZ17b9i5.d.ts → types-Wcs_l1_J.d.ts} +9 -36
  57. package/docs/agent-guide.md +43 -21
  58. package/docs/ai-gates.md +53 -18
  59. package/docs/configuration.md +97 -0
  60. package/docs/enthusiast/README.md +3 -3
  61. package/docs/enthusiast/how-to-agent-gates.md +7 -3
  62. package/docs/migrate-from-ark-runtime-kernel.md +3 -0
  63. package/docs/package-surface.md +22 -10
  64. package/docs/production-hardening.md +15 -2
  65. package/docs/threat-model.md +65 -0
  66. package/docs/typescript-support.md +3 -3
  67. package/package.json +15 -2
  68. package/schemas/ark.config.schema.json +750 -0
  69. package/server.json +2 -2
  70. package/templates/hooks/pre-commit-ark +37 -0
  71. package/templates/skills/ark-autopilot.md +77 -45
  72. package/templates/skills/ark-coverage.md +2 -2
  73. package/templates/skills/ark-explain.md +2 -1
  74. package/templates/skills/ark-explore.md +135 -34
  75. package/templates/skills/ark-runtime.md +8 -5
  76. package/templates/skills/ark-upgrade.md +36 -16
  77. package/tests/fixtures/ts-consumer/ark.config.json +2 -0
@@ -0,0 +1,750 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://unpkg.com/arkgate@2/schemas/ark.config.schema.json",
4
+ "title": "ArkGate architecture contract",
5
+ "description": "Versioned contract consumed identically by ArkGate CLI, MCP, and ESLint surfaces.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "$schema",
10
+ "schemaVersion",
11
+ "include",
12
+ "layers",
13
+ "rules"
14
+ ],
15
+ "properties": {
16
+ "$schema": {
17
+ "type": "string",
18
+ "minLength": 1,
19
+ "default": "https://unpkg.com/arkgate@2/schemas/ark.config.schema.json",
20
+ "description": "Editor-facing URL or local path for this JSON Schema."
21
+ },
22
+ "schemaVersion": {
23
+ "type": "string",
24
+ "const": "1.0",
25
+ "default": "1.0"
26
+ },
27
+ "name": {
28
+ "type": "string",
29
+ "minLength": 1
30
+ },
31
+ "include": {
32
+ "type": "array",
33
+ "items": {
34
+ "type": "string",
35
+ "minLength": 1
36
+ },
37
+ "uniqueItems": true,
38
+ "minItems": 1,
39
+ "default": [
40
+ "src"
41
+ ]
42
+ },
43
+ "exclude": {
44
+ "type": "array",
45
+ "items": {
46
+ "type": "string",
47
+ "minLength": 1
48
+ },
49
+ "uniqueItems": true,
50
+ "default": []
51
+ },
52
+ "excludeGenerated": {
53
+ "type": "boolean",
54
+ "default": true
55
+ },
56
+ "frameworkOverlay": {
57
+ "type": "string",
58
+ "minLength": 1
59
+ },
60
+ "layers": {
61
+ "type": "array",
62
+ "default": [],
63
+ "items": {
64
+ "$ref": "#/$defs/layer"
65
+ }
66
+ },
67
+ "rules": {
68
+ "type": "array",
69
+ "default": [
70
+ {
71
+ "from": "DomainModel",
72
+ "to": "ApplicationOrchestration",
73
+ "allowed": false
74
+ },
75
+ {
76
+ "from": "DomainModel",
77
+ "to": "PersistenceAdapters",
78
+ "allowed": false
79
+ },
80
+ {
81
+ "from": "DomainModel",
82
+ "to": "IntegrationAdapters",
83
+ "allowed": false
84
+ },
85
+ {
86
+ "from": "DomainModel",
87
+ "to": "WorkflowSagaEngine",
88
+ "allowed": false
89
+ },
90
+ {
91
+ "from": "DomainModel",
92
+ "to": "BackgroundJobsScheduling",
93
+ "allowed": false
94
+ },
95
+ {
96
+ "from": "DomainModel",
97
+ "to": "PresentationAdapters",
98
+ "allowed": false
99
+ },
100
+ {
101
+ "from": "DomainModel",
102
+ "to": "ReportingReadModels",
103
+ "allowed": false
104
+ },
105
+ {
106
+ "from": "DomainModel",
107
+ "to": "ExtensibilityMetadata",
108
+ "allowed": false
109
+ },
110
+ {
111
+ "from": "DomainModel",
112
+ "to": "SecurityAuditObservability",
113
+ "allowed": false
114
+ },
115
+ {
116
+ "from": "DomainModel",
117
+ "to": "Kernel",
118
+ "allowed": false
119
+ },
120
+ {
121
+ "from": "ApplicationOrchestration",
122
+ "to": "PersistenceAdapters",
123
+ "allowed": false
124
+ },
125
+ {
126
+ "from": "ApplicationOrchestration",
127
+ "to": "IntegrationAdapters",
128
+ "allowed": false
129
+ },
130
+ {
131
+ "from": "ApplicationOrchestration",
132
+ "to": "WorkflowSagaEngine",
133
+ "allowed": false
134
+ },
135
+ {
136
+ "from": "ApplicationOrchestration",
137
+ "to": "BackgroundJobsScheduling",
138
+ "allowed": false
139
+ },
140
+ {
141
+ "from": "ApplicationOrchestration",
142
+ "to": "PresentationAdapters",
143
+ "allowed": false
144
+ },
145
+ {
146
+ "from": "ApplicationOrchestration",
147
+ "to": "ReportingReadModels",
148
+ "allowed": false
149
+ },
150
+ {
151
+ "from": "ApplicationOrchestration",
152
+ "to": "ExtensibilityMetadata",
153
+ "allowed": false
154
+ },
155
+ {
156
+ "from": "ApplicationOrchestration",
157
+ "to": "SecurityAuditObservability",
158
+ "allowed": false
159
+ },
160
+ {
161
+ "from": "ApplicationOrchestration",
162
+ "to": "Kernel",
163
+ "allowed": false
164
+ },
165
+ {
166
+ "from": "PersistenceAdapters",
167
+ "to": "DomainModel",
168
+ "allowed": false
169
+ },
170
+ {
171
+ "from": "PersistenceAdapters",
172
+ "to": "ApplicationOrchestration",
173
+ "allowed": false
174
+ },
175
+ {
176
+ "from": "PersistenceAdapters",
177
+ "to": "IntegrationAdapters",
178
+ "allowed": false
179
+ },
180
+ {
181
+ "from": "PersistenceAdapters",
182
+ "to": "WorkflowSagaEngine",
183
+ "allowed": false
184
+ },
185
+ {
186
+ "from": "PersistenceAdapters",
187
+ "to": "BackgroundJobsScheduling",
188
+ "allowed": false
189
+ },
190
+ {
191
+ "from": "PersistenceAdapters",
192
+ "to": "PresentationAdapters",
193
+ "allowed": false
194
+ },
195
+ {
196
+ "from": "PersistenceAdapters",
197
+ "to": "ReportingReadModels",
198
+ "allowed": false
199
+ },
200
+ {
201
+ "from": "PersistenceAdapters",
202
+ "to": "ExtensibilityMetadata",
203
+ "allowed": false
204
+ },
205
+ {
206
+ "from": "PersistenceAdapters",
207
+ "to": "SecurityAuditObservability",
208
+ "allowed": false
209
+ },
210
+ {
211
+ "from": "PersistenceAdapters",
212
+ "to": "Kernel",
213
+ "allowed": false
214
+ },
215
+ {
216
+ "from": "IntegrationAdapters",
217
+ "to": "DomainModel",
218
+ "allowed": false
219
+ },
220
+ {
221
+ "from": "IntegrationAdapters",
222
+ "to": "ApplicationOrchestration",
223
+ "allowed": false
224
+ },
225
+ {
226
+ "from": "IntegrationAdapters",
227
+ "to": "PersistenceAdapters",
228
+ "allowed": false
229
+ },
230
+ {
231
+ "from": "IntegrationAdapters",
232
+ "to": "WorkflowSagaEngine",
233
+ "allowed": false
234
+ },
235
+ {
236
+ "from": "IntegrationAdapters",
237
+ "to": "BackgroundJobsScheduling",
238
+ "allowed": false
239
+ },
240
+ {
241
+ "from": "IntegrationAdapters",
242
+ "to": "PresentationAdapters",
243
+ "allowed": false
244
+ },
245
+ {
246
+ "from": "IntegrationAdapters",
247
+ "to": "ReportingReadModels",
248
+ "allowed": false
249
+ },
250
+ {
251
+ "from": "IntegrationAdapters",
252
+ "to": "ExtensibilityMetadata",
253
+ "allowed": false
254
+ },
255
+ {
256
+ "from": "IntegrationAdapters",
257
+ "to": "SecurityAuditObservability",
258
+ "allowed": false
259
+ },
260
+ {
261
+ "from": "IntegrationAdapters",
262
+ "to": "Kernel",
263
+ "allowed": false
264
+ },
265
+ {
266
+ "from": "WorkflowSagaEngine",
267
+ "to": "PersistenceAdapters",
268
+ "allowed": false
269
+ },
270
+ {
271
+ "from": "WorkflowSagaEngine",
272
+ "to": "IntegrationAdapters",
273
+ "allowed": false
274
+ },
275
+ {
276
+ "from": "WorkflowSagaEngine",
277
+ "to": "BackgroundJobsScheduling",
278
+ "allowed": false
279
+ },
280
+ {
281
+ "from": "WorkflowSagaEngine",
282
+ "to": "PresentationAdapters",
283
+ "allowed": false
284
+ },
285
+ {
286
+ "from": "WorkflowSagaEngine",
287
+ "to": "ReportingReadModels",
288
+ "allowed": false
289
+ },
290
+ {
291
+ "from": "WorkflowSagaEngine",
292
+ "to": "ExtensibilityMetadata",
293
+ "allowed": false
294
+ },
295
+ {
296
+ "from": "WorkflowSagaEngine",
297
+ "to": "SecurityAuditObservability",
298
+ "allowed": false
299
+ },
300
+ {
301
+ "from": "WorkflowSagaEngine",
302
+ "to": "Kernel",
303
+ "allowed": false
304
+ },
305
+ {
306
+ "from": "BackgroundJobsScheduling",
307
+ "to": "DomainModel",
308
+ "allowed": false
309
+ },
310
+ {
311
+ "from": "BackgroundJobsScheduling",
312
+ "to": "PersistenceAdapters",
313
+ "allowed": false
314
+ },
315
+ {
316
+ "from": "BackgroundJobsScheduling",
317
+ "to": "IntegrationAdapters",
318
+ "allowed": false
319
+ },
320
+ {
321
+ "from": "BackgroundJobsScheduling",
322
+ "to": "WorkflowSagaEngine",
323
+ "allowed": false
324
+ },
325
+ {
326
+ "from": "BackgroundJobsScheduling",
327
+ "to": "PresentationAdapters",
328
+ "allowed": false
329
+ },
330
+ {
331
+ "from": "BackgroundJobsScheduling",
332
+ "to": "ReportingReadModels",
333
+ "allowed": false
334
+ },
335
+ {
336
+ "from": "BackgroundJobsScheduling",
337
+ "to": "ExtensibilityMetadata",
338
+ "allowed": false
339
+ },
340
+ {
341
+ "from": "BackgroundJobsScheduling",
342
+ "to": "SecurityAuditObservability",
343
+ "allowed": false
344
+ },
345
+ {
346
+ "from": "BackgroundJobsScheduling",
347
+ "to": "Kernel",
348
+ "allowed": false
349
+ },
350
+ {
351
+ "from": "PresentationAdapters",
352
+ "to": "DomainModel",
353
+ "allowed": false
354
+ },
355
+ {
356
+ "from": "PresentationAdapters",
357
+ "to": "PersistenceAdapters",
358
+ "allowed": false
359
+ },
360
+ {
361
+ "from": "PresentationAdapters",
362
+ "to": "IntegrationAdapters",
363
+ "allowed": false
364
+ },
365
+ {
366
+ "from": "PresentationAdapters",
367
+ "to": "WorkflowSagaEngine",
368
+ "allowed": false
369
+ },
370
+ {
371
+ "from": "PresentationAdapters",
372
+ "to": "BackgroundJobsScheduling",
373
+ "allowed": false
374
+ },
375
+ {
376
+ "from": "PresentationAdapters",
377
+ "to": "ReportingReadModels",
378
+ "allowed": false
379
+ },
380
+ {
381
+ "from": "PresentationAdapters",
382
+ "to": "ExtensibilityMetadata",
383
+ "allowed": false
384
+ },
385
+ {
386
+ "from": "PresentationAdapters",
387
+ "to": "SecurityAuditObservability",
388
+ "allowed": false
389
+ },
390
+ {
391
+ "from": "PresentationAdapters",
392
+ "to": "Kernel",
393
+ "allowed": false
394
+ },
395
+ {
396
+ "from": "ReportingReadModels",
397
+ "to": "DomainModel",
398
+ "allowed": false
399
+ },
400
+ {
401
+ "from": "ReportingReadModels",
402
+ "to": "ApplicationOrchestration",
403
+ "allowed": false
404
+ },
405
+ {
406
+ "from": "ReportingReadModels",
407
+ "to": "PersistenceAdapters",
408
+ "allowed": false
409
+ },
410
+ {
411
+ "from": "ReportingReadModels",
412
+ "to": "IntegrationAdapters",
413
+ "allowed": false
414
+ },
415
+ {
416
+ "from": "ReportingReadModels",
417
+ "to": "WorkflowSagaEngine",
418
+ "allowed": false
419
+ },
420
+ {
421
+ "from": "ReportingReadModels",
422
+ "to": "BackgroundJobsScheduling",
423
+ "allowed": false
424
+ },
425
+ {
426
+ "from": "ReportingReadModels",
427
+ "to": "PresentationAdapters",
428
+ "allowed": false
429
+ },
430
+ {
431
+ "from": "ReportingReadModels",
432
+ "to": "ExtensibilityMetadata",
433
+ "allowed": false
434
+ },
435
+ {
436
+ "from": "ReportingReadModels",
437
+ "to": "SecurityAuditObservability",
438
+ "allowed": false
439
+ },
440
+ {
441
+ "from": "ReportingReadModels",
442
+ "to": "Kernel",
443
+ "allowed": false
444
+ },
445
+ {
446
+ "from": "ExtensibilityMetadata",
447
+ "to": "DomainModel",
448
+ "allowed": false
449
+ },
450
+ {
451
+ "from": "ExtensibilityMetadata",
452
+ "to": "ApplicationOrchestration",
453
+ "allowed": false
454
+ },
455
+ {
456
+ "from": "ExtensibilityMetadata",
457
+ "to": "PersistenceAdapters",
458
+ "allowed": false
459
+ },
460
+ {
461
+ "from": "ExtensibilityMetadata",
462
+ "to": "IntegrationAdapters",
463
+ "allowed": false
464
+ },
465
+ {
466
+ "from": "ExtensibilityMetadata",
467
+ "to": "WorkflowSagaEngine",
468
+ "allowed": false
469
+ },
470
+ {
471
+ "from": "ExtensibilityMetadata",
472
+ "to": "BackgroundJobsScheduling",
473
+ "allowed": false
474
+ },
475
+ {
476
+ "from": "ExtensibilityMetadata",
477
+ "to": "PresentationAdapters",
478
+ "allowed": false
479
+ },
480
+ {
481
+ "from": "ExtensibilityMetadata",
482
+ "to": "ReportingReadModels",
483
+ "allowed": false
484
+ },
485
+ {
486
+ "from": "ExtensibilityMetadata",
487
+ "to": "SecurityAuditObservability",
488
+ "allowed": false
489
+ },
490
+ {
491
+ "from": "ExtensibilityMetadata",
492
+ "to": "Kernel",
493
+ "allowed": false
494
+ },
495
+ {
496
+ "from": "SecurityAuditObservability",
497
+ "to": "DomainModel",
498
+ "allowed": false
499
+ },
500
+ {
501
+ "from": "SecurityAuditObservability",
502
+ "to": "ApplicationOrchestration",
503
+ "allowed": false
504
+ },
505
+ {
506
+ "from": "SecurityAuditObservability",
507
+ "to": "PersistenceAdapters",
508
+ "allowed": false
509
+ },
510
+ {
511
+ "from": "SecurityAuditObservability",
512
+ "to": "IntegrationAdapters",
513
+ "allowed": false
514
+ },
515
+ {
516
+ "from": "SecurityAuditObservability",
517
+ "to": "WorkflowSagaEngine",
518
+ "allowed": false
519
+ },
520
+ {
521
+ "from": "SecurityAuditObservability",
522
+ "to": "BackgroundJobsScheduling",
523
+ "allowed": false
524
+ },
525
+ {
526
+ "from": "SecurityAuditObservability",
527
+ "to": "PresentationAdapters",
528
+ "allowed": false
529
+ },
530
+ {
531
+ "from": "SecurityAuditObservability",
532
+ "to": "ReportingReadModels",
533
+ "allowed": false
534
+ },
535
+ {
536
+ "from": "SecurityAuditObservability",
537
+ "to": "ExtensibilityMetadata",
538
+ "allowed": false
539
+ },
540
+ {
541
+ "from": "SecurityAuditObservability",
542
+ "to": "Kernel",
543
+ "allowed": false
544
+ },
545
+ {
546
+ "from": "Kernel",
547
+ "to": "DomainModel",
548
+ "allowed": false
549
+ },
550
+ {
551
+ "from": "Kernel",
552
+ "to": "ApplicationOrchestration",
553
+ "allowed": false
554
+ },
555
+ {
556
+ "from": "Kernel",
557
+ "to": "PersistenceAdapters",
558
+ "allowed": false
559
+ },
560
+ {
561
+ "from": "Kernel",
562
+ "to": "IntegrationAdapters",
563
+ "allowed": false
564
+ },
565
+ {
566
+ "from": "Kernel",
567
+ "to": "WorkflowSagaEngine",
568
+ "allowed": false
569
+ },
570
+ {
571
+ "from": "Kernel",
572
+ "to": "BackgroundJobsScheduling",
573
+ "allowed": false
574
+ },
575
+ {
576
+ "from": "Kernel",
577
+ "to": "PresentationAdapters",
578
+ "allowed": false
579
+ },
580
+ {
581
+ "from": "Kernel",
582
+ "to": "ReportingReadModels",
583
+ "allowed": false
584
+ },
585
+ {
586
+ "from": "Kernel",
587
+ "to": "ExtensibilityMetadata",
588
+ "allowed": false
589
+ },
590
+ {
591
+ "from": "Kernel",
592
+ "to": "SecurityAuditObservability",
593
+ "allowed": false
594
+ }
595
+ ],
596
+ "items": {
597
+ "$ref": "#/$defs/rule"
598
+ }
599
+ },
600
+ "cyclePolicy": {
601
+ "type": "string",
602
+ "enum": [
603
+ "strict",
604
+ "soft",
605
+ "framework-soft",
606
+ "off"
607
+ ],
608
+ "default": "strict"
609
+ },
610
+ "dynamicImportAllowlist": {
611
+ "type": "array",
612
+ "items": {
613
+ "type": "string",
614
+ "minLength": 1
615
+ },
616
+ "uniqueItems": true,
617
+ "default": []
618
+ },
619
+ "safety": {
620
+ "$ref": "#/$defs/safety",
621
+ "default": {
622
+ "maxTsSuppressions": 0,
623
+ "maxAnyCasts": 0,
624
+ "allowInMemory": false,
625
+ "allowDisabledPeerIsolation": false
626
+ }
627
+ }
628
+ },
629
+ "$defs": {
630
+ "layer": {
631
+ "type": "object",
632
+ "additionalProperties": false,
633
+ "required": [
634
+ "name",
635
+ "patterns"
636
+ ],
637
+ "properties": {
638
+ "name": {
639
+ "type": "string",
640
+ "minLength": 1
641
+ },
642
+ "patterns": {
643
+ "type": "array",
644
+ "items": {
645
+ "type": "string",
646
+ "minLength": 1
647
+ },
648
+ "uniqueItems": true,
649
+ "minItems": 1
650
+ },
651
+ "exclude": {
652
+ "type": "array",
653
+ "items": {
654
+ "type": "string",
655
+ "minLength": 1
656
+ },
657
+ "uniqueItems": true
658
+ },
659
+ "intentPrefixes": {
660
+ "type": "array",
661
+ "items": {
662
+ "type": "string",
663
+ "minLength": 1
664
+ },
665
+ "uniqueItems": true
666
+ },
667
+ "description": {
668
+ "type": "string",
669
+ "minLength": 1
670
+ },
671
+ "forbiddenGlobals": {
672
+ "type": "array",
673
+ "items": {
674
+ "type": "string",
675
+ "minLength": 1
676
+ },
677
+ "uniqueItems": true
678
+ },
679
+ "mayImportInfrastructure": {
680
+ "type": "boolean"
681
+ },
682
+ "optional": {
683
+ "type": "boolean"
684
+ }
685
+ }
686
+ },
687
+ "rule": {
688
+ "type": "object",
689
+ "additionalProperties": false,
690
+ "required": [
691
+ "from",
692
+ "to",
693
+ "allowed"
694
+ ],
695
+ "properties": {
696
+ "from": {
697
+ "type": "string",
698
+ "minLength": 1
699
+ },
700
+ "to": {
701
+ "type": "string",
702
+ "minLength": 1
703
+ },
704
+ "allowed": {
705
+ "type": "boolean"
706
+ },
707
+ "message": {
708
+ "type": "string",
709
+ "minLength": 1
710
+ },
711
+ "peerIsolation": {
712
+ "type": "boolean"
713
+ },
714
+ "sliceFolders": {
715
+ "type": "array",
716
+ "items": {
717
+ "type": "string",
718
+ "minLength": 1
719
+ },
720
+ "uniqueItems": true,
721
+ "minItems": 1
722
+ }
723
+ }
724
+ },
725
+ "safety": {
726
+ "type": "object",
727
+ "additionalProperties": false,
728
+ "properties": {
729
+ "maxTsSuppressions": {
730
+ "type": "integer",
731
+ "minimum": 0,
732
+ "default": 0
733
+ },
734
+ "maxAnyCasts": {
735
+ "type": "integer",
736
+ "minimum": 0,
737
+ "default": 0
738
+ },
739
+ "allowInMemory": {
740
+ "type": "boolean",
741
+ "default": false
742
+ },
743
+ "allowDisabledPeerIsolation": {
744
+ "type": "boolean",
745
+ "default": false
746
+ }
747
+ }
748
+ }
749
+ }
750
+ }