@qulib/core 0.3.1 → 0.4.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 (74) hide show
  1. package/dist/analyze.d.ts +2 -0
  2. package/dist/analyze.d.ts.map +1 -1
  3. package/dist/analyze.js +29 -1
  4. package/dist/harness/decision-logger.d.ts +1 -0
  5. package/dist/harness/decision-logger.d.ts.map +1 -1
  6. package/dist/harness/decision-logger.js +15 -22
  7. package/dist/harness/run-options.d.ts +3 -0
  8. package/dist/harness/run-options.d.ts.map +1 -1
  9. package/dist/harness/state-manager.d.ts +3 -0
  10. package/dist/harness/state-manager.d.ts.map +1 -1
  11. package/dist/harness/state-manager.js +15 -18
  12. package/dist/index.d.ts +9 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +5 -0
  15. package/dist/llm/cost-intelligence.d.ts +13 -0
  16. package/dist/llm/cost-intelligence.d.ts.map +1 -1
  17. package/dist/llm/cost-intelligence.js +13 -0
  18. package/dist/llm/provider-registry.d.ts +9 -0
  19. package/dist/llm/provider-registry.d.ts.map +1 -0
  20. package/dist/llm/provider-registry.js +15 -0
  21. package/dist/llm/provider.d.ts +9 -11
  22. package/dist/llm/provider.d.ts.map +1 -1
  23. package/dist/llm/provider.interface.d.ts +16 -0
  24. package/dist/llm/provider.interface.d.ts.map +1 -0
  25. package/dist/llm/provider.interface.js +1 -0
  26. package/dist/llm/provider.js +8 -51
  27. package/dist/llm/providers/anthropic.d.ts +16 -0
  28. package/dist/llm/providers/anthropic.d.ts.map +1 -0
  29. package/dist/llm/providers/anthropic.js +104 -0
  30. package/dist/phases/act.d.ts.map +1 -1
  31. package/dist/phases/act.js +20 -6
  32. package/dist/phases/observe.d.ts.map +1 -1
  33. package/dist/phases/observe.js +20 -2
  34. package/dist/phases/think-finalize.d.ts.map +1 -1
  35. package/dist/phases/think-finalize.js +12 -3
  36. package/dist/phases/think.d.ts.map +1 -1
  37. package/dist/phases/think.js +14 -2
  38. package/dist/schemas/automation-maturity.schema.d.ts +78 -0
  39. package/dist/schemas/automation-maturity.schema.d.ts.map +1 -0
  40. package/dist/schemas/automation-maturity.schema.js +24 -0
  41. package/dist/schemas/config.schema.d.ts +266 -73
  42. package/dist/schemas/config.schema.d.ts.map +1 -1
  43. package/dist/schemas/config.schema.js +30 -18
  44. package/dist/schemas/gap-analysis.schema.d.ts +6 -6
  45. package/dist/schemas/index.d.ts +2 -1
  46. package/dist/schemas/index.d.ts.map +1 -1
  47. package/dist/schemas/index.js +2 -1
  48. package/dist/schemas/public-surface.schema.d.ts +4 -4
  49. package/dist/schemas/repo-analysis.schema.d.ts +134 -0
  50. package/dist/schemas/repo-analysis.schema.d.ts.map +1 -1
  51. package/dist/schemas/repo-analysis.schema.js +29 -0
  52. package/dist/telemetry/emit.d.ts +3 -0
  53. package/dist/telemetry/emit.d.ts.map +1 -0
  54. package/dist/telemetry/emit.js +11 -0
  55. package/dist/telemetry/telemetry.interface.d.ts +13 -0
  56. package/dist/telemetry/telemetry.interface.d.ts.map +1 -0
  57. package/dist/telemetry/telemetry.interface.js +3 -0
  58. package/dist/tools/auth-detector.d.ts.map +1 -1
  59. package/dist/tools/auth-detector.js +205 -26
  60. package/dist/tools/auth-surface-analyzer.d.ts.map +1 -1
  61. package/dist/tools/auth-surface-analyzer.js +26 -10
  62. package/dist/tools/automation-maturity.d.ts +4 -0
  63. package/dist/tools/automation-maturity.d.ts.map +1 -0
  64. package/dist/tools/automation-maturity.js +163 -0
  65. package/dist/tools/framework-detector.d.ts +15 -0
  66. package/dist/tools/framework-detector.d.ts.map +1 -0
  67. package/dist/tools/framework-detector.js +153 -0
  68. package/dist/tools/gap-engine.d.ts +1 -1
  69. package/dist/tools/gap-engine.d.ts.map +1 -1
  70. package/dist/tools/gap-engine.js +13 -3
  71. package/dist/tools/repo-scanner.d.ts +16 -0
  72. package/dist/tools/repo-scanner.d.ts.map +1 -1
  73. package/dist/tools/repo-scanner.js +31 -2
  74. package/package.json +11 -1
@@ -177,6 +177,25 @@ export declare const HarnessConfigSchema: z.ZodObject<{
177
177
  explorer: z.ZodDefault<z.ZodEnum<["playwright", "cypress"]>>;
178
178
  defaultAdapter: z.ZodDefault<z.ZodEnum<["playwright", "cypress-e2e", "cypress-component", "api", "accessibility"]>>;
179
179
  adapters: z.ZodDefault<z.ZodArray<z.ZodEnum<["playwright", "cypress-e2e", "cypress-component", "api", "accessibility"]>, "many">>;
180
+ llmProvider: z.ZodOptional<z.ZodEnum<["anthropic"]>>;
181
+ llmModel: z.ZodOptional<z.ZodString>;
182
+ outputDir: z.ZodOptional<z.ZodString>;
183
+ scoringWeights: z.ZodOptional<z.ZodObject<{
184
+ critical: z.ZodOptional<z.ZodNumber>;
185
+ high: z.ZodOptional<z.ZodNumber>;
186
+ medium: z.ZodOptional<z.ZodNumber>;
187
+ low: z.ZodOptional<z.ZodNumber>;
188
+ }, "strip", z.ZodTypeAny, {
189
+ critical?: number | undefined;
190
+ high?: number | undefined;
191
+ medium?: number | undefined;
192
+ low?: number | undefined;
193
+ }, {
194
+ critical?: number | undefined;
195
+ high?: number | undefined;
196
+ medium?: number | undefined;
197
+ low?: number | undefined;
198
+ }>>;
180
199
  auth: z.ZodOptional<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
181
200
  type: z.ZodLiteral<"form-login">;
182
201
  loginUrl: z.ZodString;
@@ -271,6 +290,15 @@ export declare const HarnessConfigSchema: z.ZodObject<{
271
290
  defaultAdapter: "playwright" | "cypress-e2e" | "cypress-component" | "api" | "accessibility";
272
291
  adapters: ("playwright" | "cypress-e2e" | "cypress-component" | "api" | "accessibility")[];
273
292
  llmMaxOutputTokensPerCall?: number | undefined;
293
+ llmProvider?: "anthropic" | undefined;
294
+ llmModel?: string | undefined;
295
+ outputDir?: string | undefined;
296
+ scoringWeights?: {
297
+ critical?: number | undefined;
298
+ high?: number | undefined;
299
+ medium?: number | undefined;
300
+ low?: number | undefined;
301
+ } | undefined;
274
302
  auth?: {
275
303
  type: "form-login";
276
304
  loginUrl: string;
@@ -307,6 +335,15 @@ export declare const HarnessConfigSchema: z.ZodObject<{
307
335
  explorer?: "playwright" | "cypress" | undefined;
308
336
  defaultAdapter?: "playwright" | "cypress-e2e" | "cypress-component" | "api" | "accessibility" | undefined;
309
337
  adapters?: ("playwright" | "cypress-e2e" | "cypress-component" | "api" | "accessibility")[] | undefined;
338
+ llmProvider?: "anthropic" | undefined;
339
+ llmModel?: string | undefined;
340
+ outputDir?: string | undefined;
341
+ scoringWeights?: {
342
+ critical?: number | undefined;
343
+ high?: number | undefined;
344
+ medium?: number | undefined;
345
+ low?: number | undefined;
346
+ } | undefined;
310
347
  auth?: {
311
348
  type: "form-login";
312
349
  loginUrl: string;
@@ -330,67 +367,6 @@ export declare const HarnessConfigSchema: z.ZodObject<{
330
367
  }>;
331
368
  export type HarnessConfig = z.infer<typeof HarnessConfigSchema>;
332
369
  export declare function resolveMaxOutputTokensPerLlmCall(config: HarnessConfig): number;
333
- export declare const DetectedAuthSchema: z.ZodObject<{
334
- hasAuth: z.ZodBoolean;
335
- type: z.ZodEnum<["none", "form-login", "oauth", "magic-link", "unknown"]>;
336
- provider: z.ZodNullable<z.ZodString>;
337
- loginUrl: z.ZodNullable<z.ZodString>;
338
- observedSelectors: z.ZodNullable<z.ZodObject<{
339
- usernameSelector: z.ZodNullable<z.ZodString>;
340
- passwordSelector: z.ZodNullable<z.ZodString>;
341
- submitSelector: z.ZodNullable<z.ZodString>;
342
- }, "strip", z.ZodTypeAny, {
343
- usernameSelector: string | null;
344
- passwordSelector: string | null;
345
- submitSelector: string | null;
346
- }, {
347
- usernameSelector: string | null;
348
- passwordSelector: string | null;
349
- submitSelector: string | null;
350
- }>>;
351
- oauthButtons: z.ZodArray<z.ZodObject<{
352
- provider: z.ZodString;
353
- text: z.ZodString;
354
- }, "strip", z.ZodTypeAny, {
355
- provider: string;
356
- text: string;
357
- }, {
358
- provider: string;
359
- text: string;
360
- }>, "many">;
361
- recommendation: z.ZodString;
362
- }, "strip", z.ZodTypeAny, {
363
- type: "unknown" | "form-login" | "none" | "oauth" | "magic-link";
364
- loginUrl: string | null;
365
- hasAuth: boolean;
366
- provider: string | null;
367
- observedSelectors: {
368
- usernameSelector: string | null;
369
- passwordSelector: string | null;
370
- submitSelector: string | null;
371
- } | null;
372
- oauthButtons: {
373
- provider: string;
374
- text: string;
375
- }[];
376
- recommendation: string;
377
- }, {
378
- type: "unknown" | "form-login" | "none" | "oauth" | "magic-link";
379
- loginUrl: string | null;
380
- hasAuth: boolean;
381
- provider: string | null;
382
- observedSelectors: {
383
- usernameSelector: string | null;
384
- passwordSelector: string | null;
385
- submitSelector: string | null;
386
- } | null;
387
- oauthButtons: {
388
- provider: string;
389
- text: string;
390
- }[];
391
- recommendation: string;
392
- }>;
393
- export type DetectedAuth = z.infer<typeof DetectedAuthSchema>;
394
370
  export declare const AuthPathRequirementsSchema: z.ZodDiscriminatedUnion<"method", [z.ZodObject<{
395
371
  method: z.ZodLiteral<"storage-state">;
396
372
  instruction: z.ZodString;
@@ -506,10 +482,10 @@ export declare const AuthPathSchema: z.ZodObject<{
506
482
  instruction: string;
507
483
  }>]>;
508
484
  }, "strip", z.ZodTypeAny, {
509
- type: "unknown" | "form-login" | "oauth" | "magic-link" | "oauth-unknown" | "form-multi";
510
- provider: string | null;
485
+ type: "unknown" | "form-login" | "oauth" | "oauth-unknown" | "form-multi" | "magic-link";
511
486
  label: string;
512
487
  id: string;
488
+ provider: string | null;
513
489
  source: "built-in" | "user-local" | "heuristic";
514
490
  automatable: boolean;
515
491
  confidence: "high" | "medium" | "low";
@@ -529,10 +505,10 @@ export declare const AuthPathSchema: z.ZodObject<{
529
505
  instruction: string;
530
506
  };
531
507
  }, {
532
- type: "unknown" | "form-login" | "oauth" | "magic-link" | "oauth-unknown" | "form-multi";
533
- provider: string | null;
508
+ type: "unknown" | "form-login" | "oauth" | "oauth-unknown" | "form-multi" | "magic-link";
534
509
  label: string;
535
510
  id: string;
511
+ provider: string | null;
536
512
  source: "built-in" | "user-local" | "heuristic";
537
513
  automatable: boolean;
538
514
  confidence: "high" | "medium" | "low";
@@ -552,6 +528,223 @@ export declare const AuthPathSchema: z.ZodObject<{
552
528
  instruction: string;
553
529
  };
554
530
  }>;
531
+ export declare const DetectedAuthSchema: z.ZodObject<{
532
+ hasAuth: z.ZodBoolean;
533
+ type: z.ZodEnum<["none", "form-login", "oauth", "magic-link", "unknown"]>;
534
+ provider: z.ZodNullable<z.ZodString>;
535
+ loginUrl: z.ZodNullable<z.ZodString>;
536
+ observedSelectors: z.ZodNullable<z.ZodObject<{
537
+ usernameSelector: z.ZodNullable<z.ZodString>;
538
+ passwordSelector: z.ZodNullable<z.ZodString>;
539
+ submitSelector: z.ZodNullable<z.ZodString>;
540
+ }, "strip", z.ZodTypeAny, {
541
+ usernameSelector: string | null;
542
+ passwordSelector: string | null;
543
+ submitSelector: string | null;
544
+ }, {
545
+ usernameSelector: string | null;
546
+ passwordSelector: string | null;
547
+ submitSelector: string | null;
548
+ }>>;
549
+ oauthButtons: z.ZodArray<z.ZodObject<{
550
+ provider: z.ZodString;
551
+ text: z.ZodString;
552
+ }, "strip", z.ZodTypeAny, {
553
+ text: string;
554
+ provider: string;
555
+ }, {
556
+ text: string;
557
+ provider: string;
558
+ }>, "many">;
559
+ authOptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
560
+ id: z.ZodString;
561
+ label: z.ZodString;
562
+ type: z.ZodEnum<["oauth", "oauth-unknown", "form-login", "form-multi", "magic-link", "unknown"]>;
563
+ provider: z.ZodNullable<z.ZodString>;
564
+ source: z.ZodEnum<["built-in", "user-local", "heuristic"]>;
565
+ automatable: z.ZodBoolean;
566
+ confidence: z.ZodEnum<["high", "medium", "low"]>;
567
+ requirements: z.ZodDiscriminatedUnion<"method", [z.ZodObject<{
568
+ method: z.ZodLiteral<"storage-state">;
569
+ instruction: z.ZodString;
570
+ }, "strip", z.ZodTypeAny, {
571
+ method: "storage-state";
572
+ instruction: string;
573
+ }, {
574
+ method: "storage-state";
575
+ instruction: string;
576
+ }>, z.ZodObject<{
577
+ method: z.ZodLiteral<"credentials">;
578
+ fields: z.ZodArray<z.ZodObject<{
579
+ name: z.ZodString;
580
+ label: z.ZodString;
581
+ type: z.ZodEnum<["text", "password", "email", "select", "checkbox"]>;
582
+ observedOptions: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
583
+ }, "strip", z.ZodTypeAny, {
584
+ type: "password" | "text" | "email" | "select" | "checkbox";
585
+ name: string;
586
+ label: string;
587
+ observedOptions: string[];
588
+ }, {
589
+ type: "password" | "text" | "email" | "select" | "checkbox";
590
+ name: string;
591
+ label: string;
592
+ observedOptions?: string[] | undefined;
593
+ }>, "many">;
594
+ }, "strip", z.ZodTypeAny, {
595
+ method: "credentials";
596
+ fields: {
597
+ type: "password" | "text" | "email" | "select" | "checkbox";
598
+ name: string;
599
+ label: string;
600
+ observedOptions: string[];
601
+ }[];
602
+ }, {
603
+ method: "credentials";
604
+ fields: {
605
+ type: "password" | "text" | "email" | "select" | "checkbox";
606
+ name: string;
607
+ label: string;
608
+ observedOptions?: string[] | undefined;
609
+ }[];
610
+ }>, z.ZodObject<{
611
+ method: z.ZodLiteral<"unknown">;
612
+ instruction: z.ZodString;
613
+ }, "strip", z.ZodTypeAny, {
614
+ method: "unknown";
615
+ instruction: string;
616
+ }, {
617
+ method: "unknown";
618
+ instruction: string;
619
+ }>]>;
620
+ }, "strip", z.ZodTypeAny, {
621
+ type: "unknown" | "form-login" | "oauth" | "oauth-unknown" | "form-multi" | "magic-link";
622
+ label: string;
623
+ id: string;
624
+ provider: string | null;
625
+ source: "built-in" | "user-local" | "heuristic";
626
+ automatable: boolean;
627
+ confidence: "high" | "medium" | "low";
628
+ requirements: {
629
+ method: "storage-state";
630
+ instruction: string;
631
+ } | {
632
+ method: "credentials";
633
+ fields: {
634
+ type: "password" | "text" | "email" | "select" | "checkbox";
635
+ name: string;
636
+ label: string;
637
+ observedOptions: string[];
638
+ }[];
639
+ } | {
640
+ method: "unknown";
641
+ instruction: string;
642
+ };
643
+ }, {
644
+ type: "unknown" | "form-login" | "oauth" | "oauth-unknown" | "form-multi" | "magic-link";
645
+ label: string;
646
+ id: string;
647
+ provider: string | null;
648
+ source: "built-in" | "user-local" | "heuristic";
649
+ automatable: boolean;
650
+ confidence: "high" | "medium" | "low";
651
+ requirements: {
652
+ method: "storage-state";
653
+ instruction: string;
654
+ } | {
655
+ method: "credentials";
656
+ fields: {
657
+ type: "password" | "text" | "email" | "select" | "checkbox";
658
+ name: string;
659
+ label: string;
660
+ observedOptions?: string[] | undefined;
661
+ }[];
662
+ } | {
663
+ method: "unknown";
664
+ instruction: string;
665
+ };
666
+ }>, "many">>;
667
+ recommendation: z.ZodString;
668
+ }, "strip", z.ZodTypeAny, {
669
+ type: "unknown" | "form-login" | "oauth" | "magic-link" | "none";
670
+ loginUrl: string | null;
671
+ provider: string | null;
672
+ hasAuth: boolean;
673
+ observedSelectors: {
674
+ usernameSelector: string | null;
675
+ passwordSelector: string | null;
676
+ submitSelector: string | null;
677
+ } | null;
678
+ oauthButtons: {
679
+ text: string;
680
+ provider: string;
681
+ }[];
682
+ recommendation: string;
683
+ authOptions?: {
684
+ type: "unknown" | "form-login" | "oauth" | "oauth-unknown" | "form-multi" | "magic-link";
685
+ label: string;
686
+ id: string;
687
+ provider: string | null;
688
+ source: "built-in" | "user-local" | "heuristic";
689
+ automatable: boolean;
690
+ confidence: "high" | "medium" | "low";
691
+ requirements: {
692
+ method: "storage-state";
693
+ instruction: string;
694
+ } | {
695
+ method: "credentials";
696
+ fields: {
697
+ type: "password" | "text" | "email" | "select" | "checkbox";
698
+ name: string;
699
+ label: string;
700
+ observedOptions: string[];
701
+ }[];
702
+ } | {
703
+ method: "unknown";
704
+ instruction: string;
705
+ };
706
+ }[] | undefined;
707
+ }, {
708
+ type: "unknown" | "form-login" | "oauth" | "magic-link" | "none";
709
+ loginUrl: string | null;
710
+ provider: string | null;
711
+ hasAuth: boolean;
712
+ observedSelectors: {
713
+ usernameSelector: string | null;
714
+ passwordSelector: string | null;
715
+ submitSelector: string | null;
716
+ } | null;
717
+ oauthButtons: {
718
+ text: string;
719
+ provider: string;
720
+ }[];
721
+ recommendation: string;
722
+ authOptions?: {
723
+ type: "unknown" | "form-login" | "oauth" | "oauth-unknown" | "form-multi" | "magic-link";
724
+ label: string;
725
+ id: string;
726
+ provider: string | null;
727
+ source: "built-in" | "user-local" | "heuristic";
728
+ automatable: boolean;
729
+ confidence: "high" | "medium" | "low";
730
+ requirements: {
731
+ method: "storage-state";
732
+ instruction: string;
733
+ } | {
734
+ method: "credentials";
735
+ fields: {
736
+ type: "password" | "text" | "email" | "select" | "checkbox";
737
+ name: string;
738
+ label: string;
739
+ observedOptions?: string[] | undefined;
740
+ }[];
741
+ } | {
742
+ method: "unknown";
743
+ instruction: string;
744
+ };
745
+ }[] | undefined;
746
+ }>;
747
+ export type DetectedAuth = z.infer<typeof DetectedAuthSchema>;
555
748
  export declare const AuthExplorationSchema: z.ZodObject<{
556
749
  url: z.ZodString;
557
750
  authRequired: z.ZodBoolean;
@@ -618,10 +811,10 @@ export declare const AuthExplorationSchema: z.ZodObject<{
618
811
  instruction: string;
619
812
  }>]>;
620
813
  }, "strip", z.ZodTypeAny, {
621
- type: "unknown" | "form-login" | "oauth" | "magic-link" | "oauth-unknown" | "form-multi";
622
- provider: string | null;
814
+ type: "unknown" | "form-login" | "oauth" | "oauth-unknown" | "form-multi" | "magic-link";
623
815
  label: string;
624
816
  id: string;
817
+ provider: string | null;
625
818
  source: "built-in" | "user-local" | "heuristic";
626
819
  automatable: boolean;
627
820
  confidence: "high" | "medium" | "low";
@@ -641,10 +834,10 @@ export declare const AuthExplorationSchema: z.ZodObject<{
641
834
  instruction: string;
642
835
  };
643
836
  }, {
644
- type: "unknown" | "form-login" | "oauth" | "magic-link" | "oauth-unknown" | "form-multi";
645
- provider: string | null;
837
+ type: "unknown" | "form-login" | "oauth" | "oauth-unknown" | "form-multi" | "magic-link";
646
838
  label: string;
647
839
  id: string;
840
+ provider: string | null;
648
841
  source: "built-in" | "user-local" | "heuristic";
649
842
  automatable: boolean;
650
843
  confidence: "high" | "medium" | "low";
@@ -681,10 +874,10 @@ export declare const AuthExplorationSchema: z.ZodObject<{
681
874
  authRequired: boolean;
682
875
  authScope: "none" | "site-wide" | "section-only" | "optional";
683
876
  authPaths: {
684
- type: "unknown" | "form-login" | "oauth" | "magic-link" | "oauth-unknown" | "form-multi";
685
- provider: string | null;
877
+ type: "unknown" | "form-login" | "oauth" | "oauth-unknown" | "form-multi" | "magic-link";
686
878
  label: string;
687
879
  id: string;
880
+ provider: string | null;
688
881
  source: "built-in" | "user-local" | "heuristic";
689
882
  automatable: boolean;
690
883
  confidence: "high" | "medium" | "low";
@@ -715,10 +908,10 @@ export declare const AuthExplorationSchema: z.ZodObject<{
715
908
  authRequired: boolean;
716
909
  authScope: "none" | "site-wide" | "section-only" | "optional";
717
910
  authPaths: {
718
- type: "unknown" | "form-login" | "oauth" | "magic-link" | "oauth-unknown" | "form-multi";
719
- provider: string | null;
911
+ type: "unknown" | "form-login" | "oauth" | "oauth-unknown" | "form-multi" | "magic-link";
720
912
  label: string;
721
913
  id: string;
914
+ provider: string | null;
722
915
  source: "built-in" | "user-local" | "heuristic";
723
916
  automatable: boolean;
724
917
  confidence: "high" | "medium" | "low";
@@ -1 +1 @@
1
- {"version":3,"file":"config.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,SAAS,CAAC;AACpD,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,aAAa,GAAG,mBAAmB,GAAG,KAAK,GAAG,eAAe,CAAC;AAEvG,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBvB,CAAC;AAEH,QAAA,MAAM,sBAAsB;;;;;;;;;EAG1B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAA8E,CAAC;AAE5G,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+B9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAE9E;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAcrC,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASzB,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAehC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
1
+ {"version":3,"file":"config.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,SAAS,CAAC;AACpD,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,aAAa,GAAG,mBAAmB,GAAG,KAAK,GAAG,eAAe,CAAC;AAEvG,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBvB,CAAC;AAEH,QAAA,MAAM,sBAAsB;;;;;;;;;EAG1B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAA8E,CAAC;AAE5G,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AACtE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0C9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAE9E;AAED,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAcrC,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASzB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAehC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
@@ -49,29 +49,22 @@ export const HarnessConfigSchema = z.object({
49
49
  explorer: z.enum(['playwright', 'cypress']).default('playwright'),
50
50
  defaultAdapter: z.enum(['playwright', 'cypress-e2e', 'cypress-component', 'api', 'accessibility']).default('playwright'),
51
51
  adapters: z.array(z.enum(['playwright', 'cypress-e2e', 'cypress-component', 'api', 'accessibility'])).default(['playwright']),
52
+ llmProvider: z.enum(['anthropic']).optional(),
53
+ llmModel: z.string().optional(),
54
+ outputDir: z.string().optional(),
55
+ scoringWeights: z
56
+ .object({
57
+ critical: z.number().min(0).max(100).optional(),
58
+ high: z.number().min(0).max(100).optional(),
59
+ medium: z.number().min(0).max(100).optional(),
60
+ low: z.number().min(0).max(100).optional(),
61
+ })
62
+ .optional(),
52
63
  auth: AuthConfigSchema.optional(),
53
64
  });
54
65
  export function resolveMaxOutputTokensPerLlmCall(config) {
55
66
  return config.llmMaxOutputTokensPerCall ?? config.llmTokenBudget;
56
67
  }
57
- export const DetectedAuthSchema = z.object({
58
- hasAuth: z.boolean(),
59
- type: z.enum(['none', 'form-login', 'oauth', 'magic-link', 'unknown']),
60
- provider: z.string().nullable(),
61
- loginUrl: z.string().nullable(),
62
- observedSelectors: z
63
- .object({
64
- usernameSelector: z.string().nullable(),
65
- passwordSelector: z.string().nullable(),
66
- submitSelector: z.string().nullable(),
67
- })
68
- .nullable(),
69
- oauthButtons: z.array(z.object({
70
- provider: z.string(),
71
- text: z.string(),
72
- })),
73
- recommendation: z.string(),
74
- });
75
68
  export const AuthPathRequirementsSchema = z.discriminatedUnion('method', [
76
69
  z.object({ method: z.literal('storage-state'), instruction: z.string() }),
77
70
  z.object({
@@ -95,6 +88,25 @@ export const AuthPathSchema = z.object({
95
88
  confidence: z.enum(['high', 'medium', 'low']),
96
89
  requirements: AuthPathRequirementsSchema,
97
90
  });
91
+ export const DetectedAuthSchema = z.object({
92
+ hasAuth: z.boolean(),
93
+ type: z.enum(['none', 'form-login', 'oauth', 'magic-link', 'unknown']),
94
+ provider: z.string().nullable(),
95
+ loginUrl: z.string().nullable(),
96
+ observedSelectors: z
97
+ .object({
98
+ usernameSelector: z.string().nullable(),
99
+ passwordSelector: z.string().nullable(),
100
+ submitSelector: z.string().nullable(),
101
+ })
102
+ .nullable(),
103
+ oauthButtons: z.array(z.object({
104
+ provider: z.string(),
105
+ text: z.string(),
106
+ })),
107
+ authOptions: z.array(AuthPathSchema).optional(),
108
+ recommendation: z.string(),
109
+ });
98
110
  export const AuthExplorationSchema = z.object({
99
111
  url: z.string(),
100
112
  authRequired: z.boolean(),
@@ -10,7 +10,7 @@ export declare const GapSchema: z.ZodObject<{
10
10
  }, "strip", z.ZodTypeAny, {
11
11
  path: string;
12
12
  id: string;
13
- severity: "high" | "medium" | "low" | "critical";
13
+ severity: "critical" | "high" | "medium" | "low";
14
14
  reason: string;
15
15
  category: "untested-route" | "a11y" | "console-error" | "broken-link" | "auth-surface" | "coverage";
16
16
  recommendation?: string | undefined;
@@ -18,7 +18,7 @@ export declare const GapSchema: z.ZodObject<{
18
18
  }, {
19
19
  path: string;
20
20
  id: string;
21
- severity: "high" | "medium" | "low" | "critical";
21
+ severity: "critical" | "high" | "medium" | "low";
22
22
  reason: string;
23
23
  category: "untested-route" | "a11y" | "console-error" | "broken-link" | "auth-surface" | "coverage";
24
24
  recommendation?: string | undefined;
@@ -169,7 +169,7 @@ export declare const GapAnalysisSchema: z.ZodObject<{
169
169
  }, "strip", z.ZodTypeAny, {
170
170
  path: string;
171
171
  id: string;
172
- severity: "high" | "medium" | "low" | "critical";
172
+ severity: "critical" | "high" | "medium" | "low";
173
173
  reason: string;
174
174
  category: "untested-route" | "a11y" | "console-error" | "broken-link" | "auth-surface" | "coverage";
175
175
  recommendation?: string | undefined;
@@ -177,7 +177,7 @@ export declare const GapAnalysisSchema: z.ZodObject<{
177
177
  }, {
178
178
  path: string;
179
179
  id: string;
180
- severity: "high" | "medium" | "low" | "critical";
180
+ severity: "critical" | "high" | "medium" | "low";
181
181
  reason: string;
182
182
  category: "untested-route" | "a11y" | "console-error" | "broken-link" | "auth-surface" | "coverage";
183
183
  recommendation?: string | undefined;
@@ -443,7 +443,7 @@ export declare const GapAnalysisSchema: z.ZodObject<{
443
443
  gaps: {
444
444
  path: string;
445
445
  id: string;
446
- severity: "high" | "medium" | "low" | "critical";
446
+ severity: "critical" | "high" | "medium" | "low";
447
447
  reason: string;
448
448
  category: "untested-route" | "a11y" | "console-error" | "broken-link" | "auth-surface" | "coverage";
449
449
  recommendation?: string | undefined;
@@ -522,7 +522,7 @@ export declare const GapAnalysisSchema: z.ZodObject<{
522
522
  gaps: {
523
523
  path: string;
524
524
  id: string;
525
- severity: "high" | "medium" | "low" | "critical";
525
+ severity: "critical" | "high" | "medium" | "low";
526
526
  reason: string;
527
527
  category: "untested-route" | "a11y" | "console-error" | "broken-link" | "auth-surface" | "coverage";
528
528
  recommendation?: string | undefined;
@@ -3,6 +3,7 @@ export { DecisionLogEntrySchema, type DecisionLogEntry, } from './decision-log.s
3
3
  export { RouteInventorySchema, RouteSchema, A11yViolationSchema, BrokenLinkSchema, type RouteInventory, type Route, } from './route-inventory.schema.js';
4
4
  export { GapAnalysisSchema, GapSchema, NeutralScenarioSchema, GeneratedTestSchema, TestStepSchema, FrameworkRecommendationSchema, type GapAnalysis, type Gap, type NeutralScenario, type GeneratedTest, type TestStep, type FrameworkRecommendation, } from './gap-analysis.schema.js';
5
5
  export { CostIntelligenceSchema, LlmUsageRecordSchema, LlmDataQualitySchema, LlmOperationTypeSchema, RepeatedAiPatternSchema, DeterministicMaturitySchema, type CostIntelligence, type LlmUsageRecord, type LlmDataQuality, type LlmOperationType, type RepeatedAiPattern, type DeterministicMaturity, } from './cost-intelligence.schema.js';
6
- export { RepoAnalysisSchema, type RepoAnalysis, } from './repo-analysis.schema.js';
6
+ export { RepoAnalysisSchema, FrameworkDetectionSchema, DetectedFrameworkPrimarySchema, FrameworkDetectionConfidenceSchema, TestFrameworkDetectedSchema, type RepoAnalysis, type FrameworkDetectionResult, type DetectedFrameworkPrimary, } from './repo-analysis.schema.js';
7
+ export { AutomationMaturitySchema, AutomationMaturityDimensionSchema, type AutomationMaturity, type AutomationMaturityDimension, } from './automation-maturity.schema.js';
7
8
  export { PublicSurfaceSchema, PublicSurfaceViolationSchema, PublicSurfaceBrokenLinkSchema, type PublicSurface, type PublicSurfaceViolation, type PublicSurfaceBrokenLink, } from './public-surface.schema.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gCAAgC,EAChC,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,cAAc,EACd,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,sBAAsB,EACtB,KAAK,gBAAgB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,KAAK,GACX,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,6BAA6B,EAC7B,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,uBAAuB,GAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,EAC3B,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,6BAA6B,EAC7B,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,GAC7B,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,gCAAgC,EAChC,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,EAC1B,cAAc,EACd,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,sBAAsB,EACtB,KAAK,gBAAgB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,KAAK,GACX,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,6BAA6B,EAC7B,KAAK,WAAW,EAChB,KAAK,GAAG,EACR,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,uBAAuB,GAC7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,EAC3B,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,8BAA8B,EAC9B,kCAAkC,EAClC,2BAA2B,EAC3B,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,GAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,wBAAwB,EACxB,iCAAiC,EACjC,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,GACjC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,6BAA6B,EAC7B,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,GAC7B,MAAM,4BAA4B,CAAC"}
@@ -3,5 +3,6 @@ export { DecisionLogEntrySchema, } from './decision-log.schema.js';
3
3
  export { RouteInventorySchema, RouteSchema, A11yViolationSchema, BrokenLinkSchema, } from './route-inventory.schema.js';
4
4
  export { GapAnalysisSchema, GapSchema, NeutralScenarioSchema, GeneratedTestSchema, TestStepSchema, FrameworkRecommendationSchema, } from './gap-analysis.schema.js';
5
5
  export { CostIntelligenceSchema, LlmUsageRecordSchema, LlmDataQualitySchema, LlmOperationTypeSchema, RepeatedAiPatternSchema, DeterministicMaturitySchema, } from './cost-intelligence.schema.js';
6
- export { RepoAnalysisSchema, } from './repo-analysis.schema.js';
6
+ export { RepoAnalysisSchema, FrameworkDetectionSchema, DetectedFrameworkPrimarySchema, FrameworkDetectionConfidenceSchema, TestFrameworkDetectedSchema, } from './repo-analysis.schema.js';
7
+ export { AutomationMaturitySchema, AutomationMaturityDimensionSchema, } from './automation-maturity.schema.js';
7
8
  export { PublicSurfaceSchema, PublicSurfaceViolationSchema, PublicSurfaceBrokenLinkSchema, } from './public-surface.schema.js';
@@ -124,7 +124,7 @@ export declare const PublicSurfaceSchema: z.ZodObject<{
124
124
  }, "strip", z.ZodTypeAny, {
125
125
  path: string;
126
126
  id: string;
127
- severity: "high" | "medium" | "low" | "critical";
127
+ severity: "critical" | "high" | "medium" | "low";
128
128
  reason: string;
129
129
  category: "untested-route" | "a11y" | "console-error" | "broken-link" | "auth-surface" | "coverage";
130
130
  recommendation?: string | undefined;
@@ -132,7 +132,7 @@ export declare const PublicSurfaceSchema: z.ZodObject<{
132
132
  }, {
133
133
  path: string;
134
134
  id: string;
135
- severity: "high" | "medium" | "low" | "critical";
135
+ severity: "critical" | "high" | "medium" | "low";
136
136
  reason: string;
137
137
  category: "untested-route" | "a11y" | "console-error" | "broken-link" | "auth-surface" | "coverage";
138
138
  recommendation?: string | undefined;
@@ -179,7 +179,7 @@ export declare const PublicSurfaceSchema: z.ZodObject<{
179
179
  gaps: {
180
180
  path: string;
181
181
  id: string;
182
- severity: "high" | "medium" | "low" | "critical";
182
+ severity: "critical" | "high" | "medium" | "low";
183
183
  reason: string;
184
184
  category: "untested-route" | "a11y" | "console-error" | "broken-link" | "auth-surface" | "coverage";
185
185
  recommendation?: string | undefined;
@@ -222,7 +222,7 @@ export declare const PublicSurfaceSchema: z.ZodObject<{
222
222
  gaps: {
223
223
  path: string;
224
224
  id: string;
225
- severity: "high" | "medium" | "low" | "critical";
225
+ severity: "critical" | "high" | "medium" | "low";
226
226
  reason: string;
227
227
  category: "untested-route" | "a11y" | "console-error" | "broken-link" | "auth-surface" | "coverage";
228
228
  recommendation?: string | undefined;