@shakecodeslikecray/whiterose 1.0.9 → 1.0.10

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.
package/dist/index.d.ts CHANGED
@@ -711,6 +711,120 @@ interface AdversarialResult {
711
711
  counterArguments: string[];
712
712
  adjustedConfidence?: ConfidenceScore;
713
713
  }
714
+ declare const SeverityBreakdown: z.ZodObject<{
715
+ critical: z.ZodNumber;
716
+ high: z.ZodNumber;
717
+ medium: z.ZodNumber;
718
+ low: z.ZodNumber;
719
+ total: z.ZodNumber;
720
+ }, "strip", z.ZodTypeAny, {
721
+ critical: number;
722
+ high: number;
723
+ medium: number;
724
+ low: number;
725
+ total: number;
726
+ }, {
727
+ critical: number;
728
+ high: number;
729
+ medium: number;
730
+ low: number;
731
+ total: number;
732
+ }>;
733
+ type SeverityBreakdown = z.infer<typeof SeverityBreakdown>;
734
+ declare const ScanSummary: z.ZodObject<{
735
+ bugs: z.ZodObject<{
736
+ critical: z.ZodNumber;
737
+ high: z.ZodNumber;
738
+ medium: z.ZodNumber;
739
+ low: z.ZodNumber;
740
+ total: z.ZodNumber;
741
+ }, "strip", z.ZodTypeAny, {
742
+ critical: number;
743
+ high: number;
744
+ medium: number;
745
+ low: number;
746
+ total: number;
747
+ }, {
748
+ critical: number;
749
+ high: number;
750
+ medium: number;
751
+ low: number;
752
+ total: number;
753
+ }>;
754
+ smells: z.ZodObject<{
755
+ critical: z.ZodNumber;
756
+ high: z.ZodNumber;
757
+ medium: z.ZodNumber;
758
+ low: z.ZodNumber;
759
+ total: z.ZodNumber;
760
+ }, "strip", z.ZodTypeAny, {
761
+ critical: number;
762
+ high: number;
763
+ medium: number;
764
+ low: number;
765
+ total: number;
766
+ }, {
767
+ critical: number;
768
+ high: number;
769
+ medium: number;
770
+ low: number;
771
+ total: number;
772
+ }>;
773
+ total: z.ZodNumber;
774
+ }, "strip", z.ZodTypeAny, {
775
+ total: number;
776
+ bugs: {
777
+ critical: number;
778
+ high: number;
779
+ medium: number;
780
+ low: number;
781
+ total: number;
782
+ };
783
+ smells: {
784
+ critical: number;
785
+ high: number;
786
+ medium: number;
787
+ low: number;
788
+ total: number;
789
+ };
790
+ }, {
791
+ total: number;
792
+ bugs: {
793
+ critical: number;
794
+ high: number;
795
+ medium: number;
796
+ low: number;
797
+ total: number;
798
+ };
799
+ smells: {
800
+ critical: number;
801
+ high: number;
802
+ medium: number;
803
+ low: number;
804
+ total: number;
805
+ };
806
+ }>;
807
+ type ScanSummary = z.infer<typeof ScanSummary>;
808
+ declare const ScanMeta: z.ZodObject<{
809
+ repoName: z.ZodString;
810
+ provider: z.ZodString;
811
+ duration: z.ZodNumber;
812
+ filesScanned: z.ZodNumber;
813
+ linesOfCode: z.ZodNumber;
814
+ }, "strip", z.ZodTypeAny, {
815
+ provider: string;
816
+ duration: number;
817
+ repoName: string;
818
+ filesScanned: number;
819
+ linesOfCode: number;
820
+ }, {
821
+ provider: string;
822
+ duration: number;
823
+ repoName: string;
824
+ filesScanned: number;
825
+ linesOfCode: number;
826
+ }>;
827
+ type ScanMeta = z.infer<typeof ScanMeta>;
714
828
  declare const ScanResult: z.ZodObject<{
715
829
  id: z.ZodString;
716
830
  timestamp: z.ZodString;
@@ -718,6 +832,7 @@ declare const ScanResult: z.ZodObject<{
718
832
  filesScanned: z.ZodNumber;
719
833
  filesChanged: z.ZodOptional<z.ZodNumber>;
720
834
  duration: z.ZodNumber;
835
+ linesOfCode: z.ZodOptional<z.ZodNumber>;
721
836
  bugs: z.ZodArray<z.ZodObject<{
722
837
  id: z.ZodString;
723
838
  title: z.ZodString;
@@ -848,45 +963,117 @@ declare const ScanResult: z.ZodObject<{
848
963
  passName?: string | undefined;
849
964
  }>, "many">;
850
965
  summary: z.ZodObject<{
851
- critical: z.ZodNumber;
852
- high: z.ZodNumber;
853
- medium: z.ZodNumber;
854
- low: z.ZodNumber;
966
+ bugs: z.ZodObject<{
967
+ critical: z.ZodNumber;
968
+ high: z.ZodNumber;
969
+ medium: z.ZodNumber;
970
+ low: z.ZodNumber;
971
+ total: z.ZodNumber;
972
+ }, "strip", z.ZodTypeAny, {
973
+ critical: number;
974
+ high: number;
975
+ medium: number;
976
+ low: number;
977
+ total: number;
978
+ }, {
979
+ critical: number;
980
+ high: number;
981
+ medium: number;
982
+ low: number;
983
+ total: number;
984
+ }>;
985
+ smells: z.ZodObject<{
986
+ critical: z.ZodNumber;
987
+ high: z.ZodNumber;
988
+ medium: z.ZodNumber;
989
+ low: z.ZodNumber;
990
+ total: z.ZodNumber;
991
+ }, "strip", z.ZodTypeAny, {
992
+ critical: number;
993
+ high: number;
994
+ medium: number;
995
+ low: number;
996
+ total: number;
997
+ }, {
998
+ critical: number;
999
+ high: number;
1000
+ medium: number;
1001
+ low: number;
1002
+ total: number;
1003
+ }>;
855
1004
  total: z.ZodNumber;
856
- bugs: z.ZodNumber;
857
- smells: z.ZodNumber;
858
1005
  }, "strip", z.ZodTypeAny, {
859
- critical: number;
860
- high: number;
861
- medium: number;
862
- low: number;
863
- bugs: number;
864
1006
  total: number;
865
- smells: number;
1007
+ bugs: {
1008
+ critical: number;
1009
+ high: number;
1010
+ medium: number;
1011
+ low: number;
1012
+ total: number;
1013
+ };
1014
+ smells: {
1015
+ critical: number;
1016
+ high: number;
1017
+ medium: number;
1018
+ low: number;
1019
+ total: number;
1020
+ };
866
1021
  }, {
867
- critical: number;
868
- high: number;
869
- medium: number;
870
- low: number;
871
- bugs: number;
872
1022
  total: number;
873
- smells: number;
1023
+ bugs: {
1024
+ critical: number;
1025
+ high: number;
1026
+ medium: number;
1027
+ low: number;
1028
+ total: number;
1029
+ };
1030
+ smells: {
1031
+ critical: number;
1032
+ high: number;
1033
+ medium: number;
1034
+ low: number;
1035
+ total: number;
1036
+ };
874
1037
  }>;
1038
+ meta: z.ZodOptional<z.ZodObject<{
1039
+ repoName: z.ZodString;
1040
+ provider: z.ZodString;
1041
+ duration: z.ZodNumber;
1042
+ filesScanned: z.ZodNumber;
1043
+ linesOfCode: z.ZodNumber;
1044
+ }, "strip", z.ZodTypeAny, {
1045
+ provider: string;
1046
+ duration: number;
1047
+ repoName: string;
1048
+ filesScanned: number;
1049
+ linesOfCode: number;
1050
+ }, {
1051
+ provider: string;
1052
+ duration: number;
1053
+ repoName: string;
1054
+ filesScanned: number;
1055
+ linesOfCode: number;
1056
+ }>>;
875
1057
  }, "strip", z.ZodTypeAny, {
876
1058
  id: string;
877
1059
  summary: {
878
- critical: number;
879
- high: number;
880
- medium: number;
881
- low: number;
882
- bugs: number;
883
1060
  total: number;
884
- smells: number;
1061
+ bugs: {
1062
+ critical: number;
1063
+ high: number;
1064
+ medium: number;
1065
+ low: number;
1066
+ total: number;
1067
+ };
1068
+ smells: {
1069
+ critical: number;
1070
+ high: number;
1071
+ medium: number;
1072
+ low: number;
1073
+ total: number;
1074
+ };
885
1075
  };
886
1076
  duration: number;
887
- timestamp: string;
888
- scanType: "full" | "incremental";
889
- filesScanned: number;
890
1077
  bugs: {
891
1078
  status: "open" | "fixed" | "false-positive" | "wont-fix";
892
1079
  file: string;
@@ -922,22 +1109,38 @@ declare const ScanResult: z.ZodObject<{
922
1109
  fixCommit?: string | undefined;
923
1110
  passName?: string | undefined;
924
1111
  }[];
1112
+ filesScanned: number;
1113
+ timestamp: string;
1114
+ scanType: "full" | "incremental";
1115
+ linesOfCode?: number | undefined;
925
1116
  filesChanged?: number | undefined;
1117
+ meta?: {
1118
+ provider: string;
1119
+ duration: number;
1120
+ repoName: string;
1121
+ filesScanned: number;
1122
+ linesOfCode: number;
1123
+ } | undefined;
926
1124
  }, {
927
1125
  id: string;
928
1126
  summary: {
929
- critical: number;
930
- high: number;
931
- medium: number;
932
- low: number;
933
- bugs: number;
934
1127
  total: number;
935
- smells: number;
1128
+ bugs: {
1129
+ critical: number;
1130
+ high: number;
1131
+ medium: number;
1132
+ low: number;
1133
+ total: number;
1134
+ };
1135
+ smells: {
1136
+ critical: number;
1137
+ high: number;
1138
+ medium: number;
1139
+ low: number;
1140
+ total: number;
1141
+ };
936
1142
  };
937
1143
  duration: number;
938
- timestamp: string;
939
- scanType: "full" | "incremental";
940
- filesScanned: number;
941
1144
  bugs: {
942
1145
  file: string;
943
1146
  line: number;
@@ -973,7 +1176,18 @@ declare const ScanResult: z.ZodObject<{
973
1176
  fixCommit?: string | undefined;
974
1177
  passName?: string | undefined;
975
1178
  }[];
1179
+ filesScanned: number;
1180
+ timestamp: string;
1181
+ scanType: "full" | "incremental";
1182
+ linesOfCode?: number | undefined;
976
1183
  filesChanged?: number | undefined;
1184
+ meta?: {
1185
+ provider: string;
1186
+ duration: number;
1187
+ repoName: string;
1188
+ filesScanned: number;
1189
+ linesOfCode: number;
1190
+ } | undefined;
977
1191
  }>;
978
1192
  type ScanResult = z.infer<typeof ScanResult>;
979
1193
 
@@ -1422,4 +1636,4 @@ declare function analyzeSmells(cwd: string): Promise<CodeSmell[]>;
1422
1636
  */
1423
1637
  declare function getSmellsSummary(cwd: string): Promise<string>;
1424
1638
 
1425
- export { type AdversarialResult, BehavioralContract, Bug, BugCategory, BugSeverity, BugStatus, CacheState, CodePathStep, CodebaseUnderstanding, ConfidenceLevel, ConfidenceScore, CoreScanner, FeatureIntent, FileHash, FindingKind, type GitStatus, MonorepoConfig, type MonorepoInfo, type Package, PackageConfig, PriorityLevel, type PromptExecutor, type PromptOptions, type PromptResult, ProviderType, ScanResult, type StaticAnalysisResult, WhiteroseConfig, analyzeContracts, analyzeCrossFile, analyzeSmells, applyFix, batchFix, buildDependencyGraph, commitFix, createFixBranch, dependsOn, detectMonorepo, detectProvider, findCircularDependencies, generateIntentDocument, getAvailableExecutors, getChangedFiles, getCommandEffectsSummary, getContractSummary, getCrossPackageDependencies, getCurrentBranch, getDependentFiles, getDiff, getExecutor, getFileAtHead, getGitStatus, getImportsOf, getPackageFiles, getPackageForFile, getSmellsSummary, getStagedDiff, groupFilesByPackage, hasUncommittedChanges, isGitRepo, isProviderAvailable, loadConfig, loadUnderstanding, mergeIntentWithUnderstanding, outputMarkdown, outputSarif, parseIntentDocument, popStash, resetFile, runStaticAnalysis, saveConfig, scanCodebase, stashChanges };
1639
+ export { type AdversarialResult, BehavioralContract, Bug, BugCategory, BugSeverity, BugStatus, CacheState, CodePathStep, CodebaseUnderstanding, ConfidenceLevel, ConfidenceScore, CoreScanner, FeatureIntent, FileHash, FindingKind, type GitStatus, MonorepoConfig, type MonorepoInfo, type Package, PackageConfig, PriorityLevel, type PromptExecutor, type PromptOptions, type PromptResult, ProviderType, ScanMeta, ScanResult, ScanSummary, SeverityBreakdown, type StaticAnalysisResult, WhiteroseConfig, analyzeContracts, analyzeCrossFile, analyzeSmells, applyFix, batchFix, buildDependencyGraph, commitFix, createFixBranch, dependsOn, detectMonorepo, detectProvider, findCircularDependencies, generateIntentDocument, getAvailableExecutors, getChangedFiles, getCommandEffectsSummary, getContractSummary, getCrossPackageDependencies, getCurrentBranch, getDependentFiles, getDiff, getExecutor, getFileAtHead, getGitStatus, getImportsOf, getPackageFiles, getPackageForFile, getSmellsSummary, getStagedDiff, groupFilesByPackage, hasUncommittedChanges, isGitRepo, isProviderAvailable, loadConfig, loadUnderstanding, mergeIntentWithUnderstanding, outputMarkdown, outputSarif, parseIntentDocument, popStash, resetFile, runStaticAnalysis, saveConfig, scanCodebase, stashChanges };
package/dist/index.js CHANGED
@@ -202,6 +202,26 @@ var CacheState = z.object({
202
202
  lastIncrementalScan: z.string().datetime().optional(),
203
203
  fileHashes: z.array(FileHash)
204
204
  });
205
+ var SeverityBreakdown = z.object({
206
+ critical: z.number(),
207
+ high: z.number(),
208
+ medium: z.number(),
209
+ low: z.number(),
210
+ total: z.number()
211
+ });
212
+ var ScanSummary = z.object({
213
+ bugs: SeverityBreakdown,
214
+ smells: SeverityBreakdown,
215
+ total: z.number()
216
+ });
217
+ var ScanMeta = z.object({
218
+ repoName: z.string(),
219
+ provider: z.string(),
220
+ duration: z.number(),
221
+ // ms
222
+ filesScanned: z.number(),
223
+ linesOfCode: z.number()
224
+ });
205
225
  var ScanResult = z.object({
206
226
  id: z.string(),
207
227
  timestamp: z.string().datetime(),
@@ -210,16 +230,10 @@ var ScanResult = z.object({
210
230
  filesChanged: z.number().optional(),
211
231
  duration: z.number(),
212
232
  // ms
233
+ linesOfCode: z.number().optional(),
213
234
  bugs: z.array(Bug),
214
- summary: z.object({
215
- critical: z.number(),
216
- high: z.number(),
217
- medium: z.number(),
218
- low: z.number(),
219
- total: z.number(),
220
- bugs: z.number(),
221
- smells: z.number()
222
- })
235
+ summary: ScanSummary,
236
+ meta: ScanMeta.optional()
223
237
  });
224
238
  async function loadConfig(cwd) {
225
239
  const configPath = join(cwd, ".whiterose", "config.yml");
@@ -3437,15 +3451,15 @@ function outputMarkdown(result) {
3437
3451
  lines.push("");
3438
3452
  lines.push("## Summary");
3439
3453
  lines.push("");
3440
- lines.push(`| Severity | Count |`);
3441
- lines.push(`|----------|-------|`);
3442
- lines.push(`| Critical | ${result.summary.critical} |`);
3443
- lines.push(`| High | ${result.summary.high} |`);
3444
- lines.push(`| Medium | ${result.summary.medium} |`);
3445
- lines.push(`| Low | ${result.summary.low} |`);
3446
- lines.push(`| **Verified Bugs** | **${result.summary.bugs}** |`);
3447
- lines.push(`| **Smells** | **${result.summary.smells}** |`);
3448
- lines.push(`| **Total Findings** | **${result.summary.total}** |`);
3454
+ lines.push(`| | Bugs | Smells |`);
3455
+ lines.push(`|----------|-------|-------|`);
3456
+ lines.push(`| Critical | ${result.summary.bugs.critical} | ${result.summary.smells.critical} |`);
3457
+ lines.push(`| High | ${result.summary.bugs.high} | ${result.summary.smells.high} |`);
3458
+ lines.push(`| Medium | ${result.summary.bugs.medium} | ${result.summary.smells.medium} |`);
3459
+ lines.push(`| Low | ${result.summary.bugs.low} | ${result.summary.smells.low} |`);
3460
+ lines.push(`| **Total** | **${result.summary.bugs.total}** | **${result.summary.smells.total}** |`);
3461
+ lines.push("");
3462
+ lines.push(`**Total Findings:** ${result.summary.total}`);
3449
3463
  lines.push("");
3450
3464
  lines.push(`- **Scan Type:** ${result.scanType}`);
3451
3465
  lines.push(`- **Files Scanned:** ${result.filesScanned}`);
@@ -5495,6 +5509,6 @@ async function getSmellsSummary(cwd) {
5495
5509
  return lines.join("\n");
5496
5510
  }
5497
5511
 
5498
- export { BehavioralContract, Bug, BugCategory, BugSeverity, BugStatus, CacheState, CodePathStep, CodebaseUnderstanding, ConfidenceLevel, ConfidenceScore, CoreScanner, FeatureIntent, FileHash, FindingKind, MonorepoConfig, PackageConfig, PriorityLevel, ProviderType, ScanResult, WhiteroseConfig, analyzeContracts, analyzeCrossFile, analyzeSmells, applyFix, batchFix, buildDependencyGraph, commitFix, createFixBranch, dependsOn, detectMonorepo, detectProvider, findCircularDependencies, generateIntentDocument, getAvailableExecutors, getChangedFiles, getCommandEffectsSummary, getContractSummary, getCrossPackageDependencies, getCurrentBranch, getDependentFiles2 as getDependentFiles, getDiff, getExecutor, getFileAtHead, getGitStatus, getImportsOf, getPackageFiles, getPackageForFile, getSmellsSummary, getStagedDiff, groupFilesByPackage, hasUncommittedChanges, isGitRepo, isProviderAvailable, loadConfig, loadUnderstanding, mergeIntentWithUnderstanding, outputMarkdown, outputSarif, parseIntentDocument, popStash, resetFile, runStaticAnalysis, saveConfig, scanCodebase, stashChanges };
5512
+ export { BehavioralContract, Bug, BugCategory, BugSeverity, BugStatus, CacheState, CodePathStep, CodebaseUnderstanding, ConfidenceLevel, ConfidenceScore, CoreScanner, FeatureIntent, FileHash, FindingKind, MonorepoConfig, PackageConfig, PriorityLevel, ProviderType, ScanMeta, ScanResult, ScanSummary, SeverityBreakdown, WhiteroseConfig, analyzeContracts, analyzeCrossFile, analyzeSmells, applyFix, batchFix, buildDependencyGraph, commitFix, createFixBranch, dependsOn, detectMonorepo, detectProvider, findCircularDependencies, generateIntentDocument, getAvailableExecutors, getChangedFiles, getCommandEffectsSummary, getContractSummary, getCrossPackageDependencies, getCurrentBranch, getDependentFiles2 as getDependentFiles, getDiff, getExecutor, getFileAtHead, getGitStatus, getImportsOf, getPackageFiles, getPackageForFile, getSmellsSummary, getStagedDiff, groupFilesByPackage, hasUncommittedChanges, isGitRepo, isProviderAvailable, loadConfig, loadUnderstanding, mergeIntentWithUnderstanding, outputMarkdown, outputSarif, parseIntentDocument, popStash, resetFile, runStaticAnalysis, saveConfig, scanCodebase, stashChanges };
5499
5513
  //# sourceMappingURL=index.js.map
5500
5514
  //# sourceMappingURL=index.js.map