micro-contracts 0.15.0 → 0.15.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.
Files changed (92) hide show
  1. package/README.md +62 -0
  2. package/cli-contract.yaml +620 -0
  3. package/dist/agents/context-builder.d.ts +5 -0
  4. package/dist/agents/context-builder.d.ts.map +1 -0
  5. package/dist/agents/context-builder.js +239 -0
  6. package/dist/agents/context-builder.js.map +1 -0
  7. package/dist/agents/formatter.d.ts +9 -0
  8. package/dist/agents/formatter.d.ts.map +1 -0
  9. package/dist/agents/formatter.js +124 -0
  10. package/dist/agents/formatter.js.map +1 -0
  11. package/dist/agents/index.d.ts +5 -0
  12. package/dist/agents/index.d.ts.map +1 -0
  13. package/dist/agents/index.js +3 -0
  14. package/dist/agents/index.js.map +1 -0
  15. package/dist/agents/orchestrator.d.ts +5 -0
  16. package/dist/agents/orchestrator.d.ts.map +1 -0
  17. package/dist/agents/orchestrator.js +105 -0
  18. package/dist/agents/orchestrator.js.map +1 -0
  19. package/dist/agents/types.d.ts +21 -0
  20. package/dist/agents/types.d.ts.map +1 -0
  21. package/dist/agents/types.js +2 -0
  22. package/dist/agents/types.js.map +1 -0
  23. package/dist/cli.d.ts +0 -6
  24. package/dist/cli.d.ts.map +1 -1
  25. package/dist/cli.js +814 -1161
  26. package/dist/cli.js.map +1 -1
  27. package/dist/commands/audit-guardrails.d.ts +13 -0
  28. package/dist/commands/audit-guardrails.d.ts.map +1 -0
  29. package/dist/commands/audit-guardrails.js +32 -0
  30. package/dist/commands/audit-guardrails.js.map +1 -0
  31. package/dist/commands/audit-openapi.d.ts +13 -0
  32. package/dist/commands/audit-openapi.d.ts.map +1 -0
  33. package/dist/commands/audit-openapi.js +32 -0
  34. package/dist/commands/audit-openapi.js.map +1 -0
  35. package/dist/commands/propose-overlays.d.ts +13 -0
  36. package/dist/commands/propose-overlays.d.ts.map +1 -0
  37. package/dist/commands/propose-overlays.js +32 -0
  38. package/dist/commands/propose-overlays.js.map +1 -0
  39. package/dist/commands/review-published.d.ts +13 -0
  40. package/dist/commands/review-published.d.ts.map +1 -0
  41. package/dist/commands/review-published.js +32 -0
  42. package/dist/commands/review-published.js.map +1 -0
  43. package/dist/generated/commands.d.ts +2 -0
  44. package/dist/generated/commands.d.ts.map +1 -0
  45. package/dist/generated/commands.js +2 -0
  46. package/dist/generated/commands.js.map +1 -0
  47. package/dist/generated/dsl/agents.d.ts +34 -0
  48. package/dist/generated/dsl/agents.d.ts.map +1 -0
  49. package/dist/generated/dsl/agents.js +98 -0
  50. package/dist/generated/dsl/agents.js.map +1 -0
  51. package/dist/generated/dsl/handoffs.d.ts +1209 -0
  52. package/dist/generated/dsl/handoffs.d.ts.map +1 -0
  53. package/dist/generated/dsl/handoffs.js +205 -0
  54. package/dist/generated/dsl/handoffs.js.map +1 -0
  55. package/dist/generated/dsl/index.d.ts +13 -0
  56. package/dist/generated/dsl/index.d.ts.map +1 -0
  57. package/dist/generated/dsl/index.js +10 -0
  58. package/dist/generated/dsl/index.js.map +1 -0
  59. package/dist/generated/dsl/tasks.d.ts +26 -0
  60. package/dist/generated/dsl/tasks.d.ts.map +1 -0
  61. package/dist/generated/dsl/tasks.js +133 -0
  62. package/dist/generated/dsl/tasks.js.map +1 -0
  63. package/dist/generated/dsl/workflows.d.ts +34 -0
  64. package/dist/generated/dsl/workflows.d.ts.map +1 -0
  65. package/dist/generated/dsl/workflows.js +84 -0
  66. package/dist/generated/dsl/workflows.js.map +1 -0
  67. package/dist/generated/index.d.ts +7 -0
  68. package/dist/generated/index.d.ts.map +1 -0
  69. package/dist/generated/index.js +7 -0
  70. package/dist/generated/index.js.map +1 -0
  71. package/dist/generated/policy-runtime.d.ts +114 -0
  72. package/dist/generated/policy-runtime.d.ts.map +1 -0
  73. package/dist/generated/policy-runtime.js +195 -0
  74. package/dist/generated/policy-runtime.js.map +1 -0
  75. package/dist/generated/policy.d.ts +619 -0
  76. package/dist/generated/policy.d.ts.map +1 -0
  77. package/dist/generated/policy.js +802 -0
  78. package/dist/generated/policy.js.map +1 -0
  79. package/dist/generated/program.d.ts +112 -0
  80. package/dist/generated/program.d.ts.map +1 -0
  81. package/dist/generated/program.js +266 -0
  82. package/dist/generated/program.js.map +1 -0
  83. package/dist/generated/schemas.d.ts +778 -0
  84. package/dist/generated/schemas.d.ts.map +1 -0
  85. package/dist/generated/schemas.js +1005 -0
  86. package/dist/generated/schemas.js.map +1 -0
  87. package/dist/generated/types.d.ts +395 -0
  88. package/dist/generated/types.d.ts.map +1 -0
  89. package/dist/generated/types.js +3 -0
  90. package/dist/generated/types.js.map +1 -0
  91. package/docs/cli-reference.md +300 -0
  92. package/package.json +20 -2
@@ -0,0 +1,802 @@
1
+ // Auto-generated by cli-contracts. Do not edit.
2
+ import { derivePolicy, isOptionActive } from "./policy-runtime.js";
3
+ export const commandDefinitions = {
4
+ "generate": {
5
+ "options": [
6
+ {
7
+ "name": "config",
8
+ "schema": {
9
+ "type": "string"
10
+ },
11
+ "file": {
12
+ "mode": "read",
13
+ "exists": false,
14
+ "media_type": "application/yaml",
15
+ "encoding": "utf-8"
16
+ }
17
+ },
18
+ {
19
+ "name": "module",
20
+ "schema": {
21
+ "type": "string"
22
+ }
23
+ },
24
+ {
25
+ "name": "contracts-only",
26
+ "schema": {
27
+ "type": "boolean",
28
+ "default": false
29
+ }
30
+ },
31
+ {
32
+ "name": "server-only",
33
+ "schema": {
34
+ "type": "boolean",
35
+ "default": false
36
+ }
37
+ },
38
+ {
39
+ "name": "frontend-only",
40
+ "schema": {
41
+ "type": "boolean",
42
+ "default": false
43
+ }
44
+ },
45
+ {
46
+ "name": "docs-only",
47
+ "schema": {
48
+ "type": "boolean",
49
+ "default": false
50
+ }
51
+ },
52
+ {
53
+ "name": "skip-lint",
54
+ "schema": {
55
+ "type": "boolean",
56
+ "default": false
57
+ }
58
+ },
59
+ {
60
+ "name": "manifest",
61
+ "schema": {
62
+ "type": "boolean",
63
+ "default": true
64
+ }
65
+ },
66
+ {
67
+ "name": "manifest-dir",
68
+ "schema": {
69
+ "type": "string",
70
+ "default": "packages/"
71
+ }
72
+ },
73
+ {
74
+ "name": "force",
75
+ "schema": {
76
+ "type": "boolean",
77
+ "default": false
78
+ }
79
+ },
80
+ {
81
+ "name": "cache",
82
+ "schema": {
83
+ "type": "boolean",
84
+ "default": true
85
+ }
86
+ }
87
+ ]
88
+ },
89
+ "lint": {
90
+ "options": [
91
+ {
92
+ "name": "strict",
93
+ "schema": {
94
+ "type": "boolean",
95
+ "default": false
96
+ }
97
+ }
98
+ ]
99
+ },
100
+ "init": {
101
+ "options": [
102
+ {
103
+ "name": "dir",
104
+ "schema": {
105
+ "type": "string",
106
+ "default": "src"
107
+ }
108
+ },
109
+ {
110
+ "name": "openapi",
111
+ "schema": {
112
+ "type": "string"
113
+ },
114
+ "file": {
115
+ "mode": "read",
116
+ "exists": true,
117
+ "media_type": "application/yaml",
118
+ "encoding": "utf-8"
119
+ }
120
+ },
121
+ {
122
+ "name": "output",
123
+ "schema": {
124
+ "type": "string"
125
+ }
126
+ },
127
+ {
128
+ "name": "skip-templates",
129
+ "schema": {
130
+ "type": "boolean",
131
+ "default": false
132
+ }
133
+ },
134
+ {
135
+ "name": "screens",
136
+ "schema": {
137
+ "type": "boolean",
138
+ "default": false
139
+ }
140
+ }
141
+ ]
142
+ },
143
+ "check": {
144
+ "options": [
145
+ {
146
+ "name": "only",
147
+ "schema": {
148
+ "type": "string"
149
+ }
150
+ },
151
+ {
152
+ "name": "skip",
153
+ "schema": {
154
+ "type": "string"
155
+ }
156
+ },
157
+ {
158
+ "name": "gate",
159
+ "schema": {
160
+ "type": "string"
161
+ }
162
+ },
163
+ {
164
+ "name": "verbose",
165
+ "schema": {
166
+ "type": "boolean",
167
+ "default": false
168
+ }
169
+ },
170
+ {
171
+ "name": "fix",
172
+ "schema": {
173
+ "type": "boolean",
174
+ "default": false
175
+ }
176
+ },
177
+ {
178
+ "name": "guardrails",
179
+ "schema": {
180
+ "type": "string"
181
+ },
182
+ "file": {
183
+ "mode": "read",
184
+ "exists": false,
185
+ "media_type": "application/yaml",
186
+ "encoding": "utf-8"
187
+ }
188
+ },
189
+ {
190
+ "name": "generated-dir",
191
+ "schema": {
192
+ "type": "string",
193
+ "default": "packages/"
194
+ }
195
+ },
196
+ {
197
+ "name": "changed-files",
198
+ "schema": {
199
+ "type": "string"
200
+ },
201
+ "file": {
202
+ "mode": "read",
203
+ "exists": true,
204
+ "media_type": "text/plain",
205
+ "encoding": "utf-8"
206
+ }
207
+ },
208
+ {
209
+ "name": "list",
210
+ "schema": {
211
+ "type": "boolean",
212
+ "default": false
213
+ }
214
+ },
215
+ {
216
+ "name": "list-gates",
217
+ "schema": {
218
+ "type": "boolean",
219
+ "default": false
220
+ }
221
+ }
222
+ ]
223
+ },
224
+ "pipeline": {
225
+ "options": [
226
+ {
227
+ "name": "config",
228
+ "schema": {
229
+ "type": "string"
230
+ },
231
+ "file": {
232
+ "mode": "read",
233
+ "exists": false,
234
+ "media_type": "application/yaml",
235
+ "encoding": "utf-8"
236
+ }
237
+ },
238
+ {
239
+ "name": "verbose",
240
+ "schema": {
241
+ "type": "boolean",
242
+ "default": false
243
+ }
244
+ },
245
+ {
246
+ "name": "skip",
247
+ "schema": {
248
+ "type": "string"
249
+ }
250
+ },
251
+ {
252
+ "name": "continue-on-error",
253
+ "schema": {
254
+ "type": "boolean",
255
+ "default": false
256
+ }
257
+ },
258
+ {
259
+ "name": "guardrails",
260
+ "schema": {
261
+ "type": "string"
262
+ },
263
+ "file": {
264
+ "mode": "read",
265
+ "exists": false,
266
+ "media_type": "application/yaml",
267
+ "encoding": "utf-8"
268
+ }
269
+ },
270
+ {
271
+ "name": "generated-dir",
272
+ "schema": {
273
+ "type": "string",
274
+ "default": "packages/"
275
+ }
276
+ },
277
+ {
278
+ "name": "manifest",
279
+ "schema": {
280
+ "type": "boolean",
281
+ "default": true
282
+ }
283
+ },
284
+ {
285
+ "name": "skip-lint",
286
+ "schema": {
287
+ "type": "boolean",
288
+ "default": false
289
+ }
290
+ },
291
+ {
292
+ "name": "contracts-only",
293
+ "schema": {
294
+ "type": "boolean",
295
+ "default": false
296
+ }
297
+ },
298
+ {
299
+ "name": "server-only",
300
+ "schema": {
301
+ "type": "boolean",
302
+ "default": false
303
+ }
304
+ },
305
+ {
306
+ "name": "frontend-only",
307
+ "schema": {
308
+ "type": "boolean",
309
+ "default": false
310
+ }
311
+ },
312
+ {
313
+ "name": "docs-only",
314
+ "schema": {
315
+ "type": "boolean",
316
+ "default": false
317
+ }
318
+ },
319
+ {
320
+ "name": "force",
321
+ "schema": {
322
+ "type": "boolean",
323
+ "default": false
324
+ }
325
+ },
326
+ {
327
+ "name": "cache",
328
+ "schema": {
329
+ "type": "boolean",
330
+ "default": true
331
+ }
332
+ }
333
+ ]
334
+ },
335
+ "deps": {
336
+ "options": [
337
+ {
338
+ "name": "config",
339
+ "schema": {
340
+ "type": "string"
341
+ },
342
+ "file": {
343
+ "mode": "read",
344
+ "exists": false,
345
+ "media_type": "application/yaml",
346
+ "encoding": "utf-8"
347
+ }
348
+ },
349
+ {
350
+ "name": "module",
351
+ "schema": {
352
+ "type": "string"
353
+ }
354
+ },
355
+ {
356
+ "name": "graph",
357
+ "schema": {
358
+ "type": "boolean",
359
+ "default": false
360
+ }
361
+ },
362
+ {
363
+ "name": "impact",
364
+ "schema": {
365
+ "type": "string"
366
+ }
367
+ },
368
+ {
369
+ "name": "who-depends-on",
370
+ "schema": {
371
+ "type": "string"
372
+ }
373
+ },
374
+ {
375
+ "name": "validate",
376
+ "schema": {
377
+ "type": "boolean",
378
+ "default": false
379
+ }
380
+ }
381
+ ]
382
+ },
383
+ "guardrails-init": {
384
+ "options": [
385
+ {
386
+ "name": "output",
387
+ "schema": {
388
+ "type": "string",
389
+ "default": "guardrails.yaml"
390
+ }
391
+ }
392
+ ]
393
+ },
394
+ "manifest": {
395
+ "options": [
396
+ {
397
+ "name": "dir",
398
+ "schema": {
399
+ "type": "string",
400
+ "default": "packages/"
401
+ }
402
+ },
403
+ {
404
+ "name": "verify",
405
+ "schema": {
406
+ "type": "boolean",
407
+ "default": false
408
+ }
409
+ },
410
+ {
411
+ "name": "output",
412
+ "schema": {
413
+ "type": "string"
414
+ }
415
+ }
416
+ ]
417
+ },
418
+ "audit-openapi": {
419
+ "effects": {
420
+ "reads": [
421
+ "openapi-specs",
422
+ "config"
423
+ ],
424
+ "writes": [],
425
+ "network": {
426
+ "description": "LLM API calls when adapter is not mock",
427
+ "requires_secrets": [],
428
+ "idempotent": true
429
+ }
430
+ },
431
+ "options": [
432
+ {
433
+ "name": "config",
434
+ "schema": {
435
+ "type": "string"
436
+ },
437
+ "file": {
438
+ "mode": "read",
439
+ "exists": false,
440
+ "media_type": "application/yaml",
441
+ "encoding": "utf-8"
442
+ }
443
+ },
444
+ {
445
+ "name": "module",
446
+ "schema": {
447
+ "type": "string"
448
+ }
449
+ },
450
+ {
451
+ "name": "adapter",
452
+ "schema": {
453
+ "type": "string",
454
+ "enum": [
455
+ "cursor",
456
+ "claude",
457
+ "openai",
458
+ "gemini",
459
+ "mock"
460
+ ]
461
+ }
462
+ },
463
+ {
464
+ "name": "model",
465
+ "schema": {
466
+ "type": "string"
467
+ }
468
+ },
469
+ {
470
+ "name": "fail-on",
471
+ "schema": {
472
+ "type": "string",
473
+ "enum": [
474
+ "warning",
475
+ "error",
476
+ "critical"
477
+ ],
478
+ "default": "error"
479
+ }
480
+ },
481
+ {
482
+ "name": "output",
483
+ "schema": {
484
+ "type": "string"
485
+ },
486
+ "file": {
487
+ "mode": "write",
488
+ "media_type": "application/json",
489
+ "encoding": "utf-8"
490
+ }
491
+ },
492
+ {
493
+ "name": "report-format",
494
+ "schema": {
495
+ "type": "string",
496
+ "enum": [
497
+ "json",
498
+ "text",
499
+ "yaml"
500
+ ],
501
+ "default": "text"
502
+ }
503
+ }
504
+ ]
505
+ },
506
+ "review-published": {
507
+ "effects": {
508
+ "reads": [
509
+ "openapi-specs",
510
+ "config",
511
+ "generated-packages"
512
+ ],
513
+ "writes": [],
514
+ "network": {
515
+ "description": "LLM API calls when adapter is not mock",
516
+ "requires_secrets": [],
517
+ "idempotent": true
518
+ }
519
+ },
520
+ "options": [
521
+ {
522
+ "name": "config",
523
+ "schema": {
524
+ "type": "string"
525
+ },
526
+ "file": {
527
+ "mode": "read",
528
+ "exists": false,
529
+ "media_type": "application/yaml",
530
+ "encoding": "utf-8"
531
+ }
532
+ },
533
+ {
534
+ "name": "module",
535
+ "schema": {
536
+ "type": "string"
537
+ }
538
+ },
539
+ {
540
+ "name": "adapter",
541
+ "schema": {
542
+ "type": "string",
543
+ "enum": [
544
+ "cursor",
545
+ "claude",
546
+ "openai",
547
+ "gemini",
548
+ "mock"
549
+ ]
550
+ }
551
+ },
552
+ {
553
+ "name": "model",
554
+ "schema": {
555
+ "type": "string"
556
+ }
557
+ },
558
+ {
559
+ "name": "fail-on",
560
+ "schema": {
561
+ "type": "string",
562
+ "enum": [
563
+ "warning",
564
+ "error",
565
+ "critical"
566
+ ],
567
+ "default": "error"
568
+ }
569
+ },
570
+ {
571
+ "name": "output",
572
+ "schema": {
573
+ "type": "string"
574
+ },
575
+ "file": {
576
+ "mode": "write",
577
+ "media_type": "application/json",
578
+ "encoding": "utf-8"
579
+ }
580
+ },
581
+ {
582
+ "name": "report-format",
583
+ "schema": {
584
+ "type": "string",
585
+ "enum": [
586
+ "json",
587
+ "text",
588
+ "yaml"
589
+ ],
590
+ "default": "text"
591
+ }
592
+ }
593
+ ]
594
+ },
595
+ "propose-overlays": {
596
+ "effects": {
597
+ "reads": [
598
+ "openapi-specs",
599
+ "config"
600
+ ],
601
+ "writes": [],
602
+ "network": {
603
+ "description": "LLM API calls when adapter is not mock",
604
+ "requires_secrets": [],
605
+ "idempotent": true
606
+ }
607
+ },
608
+ "options": [
609
+ {
610
+ "name": "config",
611
+ "schema": {
612
+ "type": "string"
613
+ },
614
+ "file": {
615
+ "mode": "read",
616
+ "exists": false,
617
+ "media_type": "application/yaml",
618
+ "encoding": "utf-8"
619
+ }
620
+ },
621
+ {
622
+ "name": "module",
623
+ "schema": {
624
+ "type": "string"
625
+ }
626
+ },
627
+ {
628
+ "name": "adapter",
629
+ "schema": {
630
+ "type": "string",
631
+ "enum": [
632
+ "cursor",
633
+ "claude",
634
+ "openai",
635
+ "gemini",
636
+ "mock"
637
+ ]
638
+ }
639
+ },
640
+ {
641
+ "name": "model",
642
+ "schema": {
643
+ "type": "string"
644
+ }
645
+ },
646
+ {
647
+ "name": "fail-on",
648
+ "schema": {
649
+ "type": "string",
650
+ "enum": [
651
+ "warning",
652
+ "error",
653
+ "critical"
654
+ ],
655
+ "default": "error"
656
+ }
657
+ },
658
+ {
659
+ "name": "output",
660
+ "schema": {
661
+ "type": "string"
662
+ },
663
+ "file": {
664
+ "mode": "write",
665
+ "media_type": "application/json",
666
+ "encoding": "utf-8"
667
+ }
668
+ },
669
+ {
670
+ "name": "report-format",
671
+ "schema": {
672
+ "type": "string",
673
+ "enum": [
674
+ "json",
675
+ "text",
676
+ "yaml"
677
+ ],
678
+ "default": "json"
679
+ }
680
+ }
681
+ ]
682
+ },
683
+ "audit-guardrails": {
684
+ "effects": {
685
+ "reads": [
686
+ "guardrails-config",
687
+ "config"
688
+ ],
689
+ "writes": [],
690
+ "network": {
691
+ "description": "LLM API calls when adapter is not mock",
692
+ "requires_secrets": [],
693
+ "idempotent": true
694
+ }
695
+ },
696
+ "options": [
697
+ {
698
+ "name": "config",
699
+ "schema": {
700
+ "type": "string"
701
+ },
702
+ "file": {
703
+ "mode": "read",
704
+ "exists": false,
705
+ "media_type": "application/yaml",
706
+ "encoding": "utf-8"
707
+ }
708
+ },
709
+ {
710
+ "name": "guardrails",
711
+ "schema": {
712
+ "type": "string"
713
+ },
714
+ "file": {
715
+ "mode": "read",
716
+ "exists": false,
717
+ "media_type": "application/yaml",
718
+ "encoding": "utf-8"
719
+ }
720
+ },
721
+ {
722
+ "name": "adapter",
723
+ "schema": {
724
+ "type": "string",
725
+ "enum": [
726
+ "cursor",
727
+ "claude",
728
+ "openai",
729
+ "gemini",
730
+ "mock"
731
+ ]
732
+ }
733
+ },
734
+ {
735
+ "name": "model",
736
+ "schema": {
737
+ "type": "string"
738
+ }
739
+ },
740
+ {
741
+ "name": "fail-on",
742
+ "schema": {
743
+ "type": "string",
744
+ "enum": [
745
+ "warning",
746
+ "error",
747
+ "critical"
748
+ ],
749
+ "default": "error"
750
+ }
751
+ },
752
+ {
753
+ "name": "output",
754
+ "schema": {
755
+ "type": "string"
756
+ },
757
+ "file": {
758
+ "mode": "write",
759
+ "media_type": "application/json",
760
+ "encoding": "utf-8"
761
+ }
762
+ },
763
+ {
764
+ "name": "report-format",
765
+ "schema": {
766
+ "type": "string",
767
+ "enum": [
768
+ "json",
769
+ "text",
770
+ "yaml"
771
+ ],
772
+ "default": "text"
773
+ }
774
+ }
775
+ ]
776
+ },
777
+ };
778
+ export function deriveCommandPolicy(command_id, optionValues) {
779
+ const def = commandDefinitions[command_id];
780
+ if (!def)
781
+ throw new Error(`Unknown command: ${command_id}`);
782
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
783
+ const cmdDef = def;
784
+ const options = {};
785
+ const active_options = [];
786
+ for (const optDef of cmdDef.options ?? []) {
787
+ const value = optionValues[optDef.name];
788
+ const specified = optDef.name in optionValues && value !== undefined;
789
+ options[optDef.name] = { value, specified, definition: optDef };
790
+ if (isOptionActive(optDef, value, specified)) {
791
+ active_options.push(optDef.name);
792
+ }
793
+ }
794
+ const policy = derivePolicy({
795
+ command_id,
796
+ command_effects: cmdDef.effects,
797
+ options,
798
+ env: cmdDef.env,
799
+ });
800
+ return { command: command_id, active_options, policy };
801
+ }
802
+ //# sourceMappingURL=policy.js.map