api-tests-coverage 1.0.20 → 1.0.22

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 (561) hide show
  1. package/README.md +3 -7
  2. package/dist/dashboard/assets/{_basePickBy-DZR484hj.js → _basePickBy-DiDMiru0.js} +1 -1
  3. package/dist/dashboard/{dist/assets/_baseUniq-Bwm426M6.js → assets/_baseUniq-CFoKRFhS.js} +1 -1
  4. package/dist/dashboard/{dist/assets/arc-51ef6HeW.js → assets/arc-B2fWu2mo.js} +1 -1
  5. package/dist/dashboard/{dist/assets/architectureDiagram-VXUJARFQ-Boahc5dR.js → assets/architectureDiagram-VXUJARFQ-DpIe4yWB.js} +1 -1
  6. package/dist/dashboard/assets/{blockDiagram-VD42YOAC-BvkiW8lj.js → blockDiagram-VD42YOAC-CKAgfH2X.js} +1 -1
  7. package/dist/dashboard/{dist/assets/c4Diagram-YG6GDRKO-Bww0QPxL.js → assets/c4Diagram-YG6GDRKO-CUtb-R__.js} +1 -1
  8. package/dist/dashboard/assets/channel-B9iMjZmm.js +1 -0
  9. package/dist/dashboard/assets/{chunk-4BX2VUAB-BrU7mtb9.js → chunk-4BX2VUAB-C3CSqwcX.js} +1 -1
  10. package/dist/dashboard/assets/{chunk-55IACEB6-DwsmCNp_.js → chunk-55IACEB6-CV8VzOOp.js} +1 -1
  11. package/dist/dashboard/{dist/assets/chunk-B4BG7PRW-B7YfMggR.js → assets/chunk-B4BG7PRW-URwnN3Q_.js} +1 -1
  12. package/dist/dashboard/{dist/assets/chunk-DI55MBZ5-B-xsiGYI.js → assets/chunk-DI55MBZ5-CV_d-z8j.js} +1 -1
  13. package/dist/dashboard/assets/{chunk-FMBD7UC4-DRb5NEMr.js → chunk-FMBD7UC4-8DJI9OkS.js} +1 -1
  14. package/dist/dashboard/assets/{chunk-QN33PNHL-BRSlHScq.js → chunk-QN33PNHL-pVzUBBoU.js} +1 -1
  15. package/dist/dashboard/assets/{chunk-QZHKN3VN-Cix7nLqx.js → chunk-QZHKN3VN-DCGN273N.js} +1 -1
  16. package/dist/dashboard/assets/{chunk-TZMSLE5B-BtXpcWN4.js → chunk-TZMSLE5B-D0wY-rJ0.js} +1 -1
  17. package/dist/dashboard/assets/classDiagram-2ON5EDUG-BNi5TogT.js +1 -0
  18. package/dist/dashboard/assets/classDiagram-v2-WZHVMYZB-BNi5TogT.js +1 -0
  19. package/dist/dashboard/assets/clone-m2eeeKVa.js +1 -0
  20. package/dist/dashboard/{dist/assets/cose-bilkent-S5V4N54A-BUkL7Wtq.js → assets/cose-bilkent-S5V4N54A-BIRyRYk0.js} +1 -1
  21. package/dist/dashboard/assets/{dagre-6UL2VRFP-DgEqrxGj.js → dagre-6UL2VRFP-KVIfxT9V.js} +1 -1
  22. package/dist/dashboard/assets/{diagram-PSM6KHXK-Y-M5J_PO.js → diagram-PSM6KHXK-VUmdxoiM.js} +1 -1
  23. package/dist/dashboard/assets/{diagram-QEK2KX5R-BXMS0hEZ.js → diagram-QEK2KX5R-LQ9k2vBy.js} +1 -1
  24. package/dist/dashboard/{dist/assets/diagram-S2PKOQOG--oRtrIMC.js → assets/diagram-S2PKOQOG-DIDe2of5.js} +1 -1
  25. package/dist/dashboard/{dist/assets/erDiagram-Q2GNP2WA-D0MbudeO.js → assets/erDiagram-Q2GNP2WA-CpMIyDcr.js} +1 -1
  26. package/dist/dashboard/{dist/assets/flowDiagram-NV44I4VS-1j044bLK.js → assets/flowDiagram-NV44I4VS-DR2nUASu.js} +1 -1
  27. package/dist/dashboard/assets/{ganttDiagram-JELNMOA3-Cjy_BOl2.js → ganttDiagram-JELNMOA3-C3J3WvDp.js} +1 -1
  28. package/dist/dashboard/{dist/assets/gitGraphDiagram-V2S2FVAM-CuJ5l3TK.js → assets/gitGraphDiagram-V2S2FVAM-C5V2Xlzu.js} +1 -1
  29. package/dist/dashboard/assets/{graph-BVGuJ5gs.js → graph-GSdi8Xy9.js} +1 -1
  30. package/dist/dashboard/{dist/assets/index-D3sRJga7.js → assets/index-Bhd7ZvcY.js} +82 -82
  31. package/dist/dashboard/assets/{infoDiagram-HS3SLOUP-CxmZGT-4.js → infoDiagram-HS3SLOUP-DVP1dWh4.js} +1 -1
  32. package/dist/dashboard/{dist/assets/journeyDiagram-XKPGCS4Q-8hUcTxo0.js → assets/journeyDiagram-XKPGCS4Q-CNHD7swq.js} +1 -1
  33. package/dist/dashboard/{dist/assets/kanban-definition-3W4ZIXB7-BvWm-0QQ.js → assets/kanban-definition-3W4ZIXB7-C-Jc4Ozy.js} +1 -1
  34. package/dist/dashboard/{dist/assets/layout-BFZ0bRU2.js → assets/layout-B0rNqEfo.js} +1 -1
  35. package/dist/dashboard/assets/{mindmap-definition-VGOIOE7T-BVsYbH_c.js → mindmap-definition-VGOIOE7T-hlQXiFXa.js} +1 -1
  36. package/dist/dashboard/assets/{pieDiagram-ADFJNKIX-BpwMMFZ3.js → pieDiagram-ADFJNKIX-CutZB3jG.js} +1 -1
  37. package/dist/dashboard/{dist/assets/quadrantDiagram-AYHSOK5B-C6NljtBN.js → assets/quadrantDiagram-AYHSOK5B-Bv6m-3mt.js} +1 -1
  38. package/dist/dashboard/{dist/assets/requirementDiagram-UZGBJVZJ-B3VaAf8y.js → assets/requirementDiagram-UZGBJVZJ-BQkld-bF.js} +1 -1
  39. package/dist/dashboard/{dist/assets/sankeyDiagram-TZEHDZUN-2ZhiU1NT.js → assets/sankeyDiagram-TZEHDZUN-DCWiCVGp.js} +1 -1
  40. package/dist/dashboard/assets/{sequenceDiagram-WL72ISMW-nMYJrjDT.js → sequenceDiagram-WL72ISMW-Dq_0SNSh.js} +1 -1
  41. package/dist/dashboard/{dist/assets/stateDiagram-FKZM4ZOC-0Wd-KmOv.js → assets/stateDiagram-FKZM4ZOC-BAd-cwxt.js} +1 -1
  42. package/dist/dashboard/assets/stateDiagram-v2-4FDKWEC3-DXlj7mrF.js +1 -0
  43. package/dist/dashboard/{dist/assets/timeline-definition-IT6M3QCI-CAmQOjBu.js → assets/timeline-definition-IT6M3QCI-BlMKo2bz.js} +1 -1
  44. package/dist/dashboard/{dist/assets/treemap-GDKQZRPO-CRP-WvE-.js → assets/treemap-GDKQZRPO-Cn6SBC6j.js} +1 -1
  45. package/dist/dashboard/{dist/assets/xychartDiagram-PRI3JC2R-5DoR2_q5.js → assets/xychartDiagram-PRI3JC2R-DlBeMjr8.js} +1 -1
  46. package/dist/dashboard/dist/assets/{_basePickBy-C2jmWITn.js → _basePickBy-BKGHUeDJ.js} +1 -1
  47. package/dist/dashboard/{assets/_baseUniq-BZHS9wTU.js → dist/assets/_baseUniq-CtA-DQF7.js} +1 -1
  48. package/dist/dashboard/dist/assets/{arc-B-Q4nGPT.js → arc-CbXP3Mc9.js} +1 -1
  49. package/dist/dashboard/dist/assets/{architectureDiagram-VXUJARFQ-Bs48s9rH.js → architectureDiagram-VXUJARFQ-n7QxasMM.js} +1 -1
  50. package/dist/dashboard/dist/assets/{blockDiagram-VD42YOAC-BPw-T2eL.js → blockDiagram-VD42YOAC-MXnGwKRn.js} +1 -1
  51. package/dist/dashboard/{assets/c4Diagram-YG6GDRKO-DuP3tG_c.js → dist/assets/c4Diagram-YG6GDRKO-B3yZ5P9k.js} +1 -1
  52. package/dist/dashboard/dist/assets/channel-C7QwX7U8.js +1 -0
  53. package/dist/dashboard/dist/assets/{chunk-4BX2VUAB-B9cIE1K2.js → chunk-4BX2VUAB-Dw3El5KF.js} +1 -1
  54. package/dist/dashboard/dist/assets/{chunk-55IACEB6-BIFhHB94.js → chunk-55IACEB6-T8Jf00IL.js} +1 -1
  55. package/dist/dashboard/dist/assets/{chunk-B4BG7PRW-B3IrqteW.js → chunk-B4BG7PRW-DAJalKYJ.js} +1 -1
  56. package/dist/dashboard/dist/assets/{chunk-DI55MBZ5-B7xHuqZu.js → chunk-DI55MBZ5-p7o_KuDF.js} +1 -1
  57. package/dist/dashboard/dist/assets/{chunk-FMBD7UC4-BBMfQbw1.js → chunk-FMBD7UC4-B0wUAfQR.js} +1 -1
  58. package/dist/dashboard/dist/assets/{chunk-QN33PNHL-BBQ6Q-9S.js → chunk-QN33PNHL-BTFwTEw8.js} +1 -1
  59. package/dist/dashboard/dist/assets/{chunk-QZHKN3VN-9uXt-06K.js → chunk-QZHKN3VN-CNXHnjkC.js} +1 -1
  60. package/dist/dashboard/dist/assets/{chunk-TZMSLE5B-BjDMUc_L.js → chunk-TZMSLE5B-BIVywBYp.js} +1 -1
  61. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-Dkb-G0UK.js +1 -0
  62. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-Dkb-G0UK.js +1 -0
  63. package/dist/dashboard/dist/assets/clone-BSdXhKmH.js +1 -0
  64. package/dist/dashboard/dist/assets/{cose-bilkent-S5V4N54A-DLYZ4dZA.js → cose-bilkent-S5V4N54A-DuALhY5a.js} +1 -1
  65. package/dist/dashboard/dist/assets/{dagre-6UL2VRFP-B8oEROJc.js → dagre-6UL2VRFP-w6endfy9.js} +1 -1
  66. package/dist/dashboard/dist/assets/{diagram-PSM6KHXK-5uki9Dw8.js → diagram-PSM6KHXK-BDnUwPQC.js} +1 -1
  67. package/dist/dashboard/dist/assets/{diagram-QEK2KX5R-BRNhmby2.js → diagram-QEK2KX5R-Cbb7ctAo.js} +1 -1
  68. package/dist/dashboard/{assets/diagram-S2PKOQOG-Bk_jyoxg.js → dist/assets/diagram-S2PKOQOG-76ascveh.js} +1 -1
  69. package/dist/dashboard/dist/assets/{erDiagram-Q2GNP2WA-BbPQp6RA.js → erDiagram-Q2GNP2WA-BQQnVF0J.js} +1 -1
  70. package/dist/dashboard/dist/assets/{flowDiagram-NV44I4VS-BAHshMEg.js → flowDiagram-NV44I4VS-dKukiSxD.js} +1 -1
  71. package/dist/dashboard/dist/assets/{ganttDiagram-JELNMOA3-BS4JnN-M.js → ganttDiagram-JELNMOA3-BqnazZuZ.js} +1 -1
  72. package/dist/dashboard/{assets/gitGraphDiagram-V2S2FVAM-RgQMxxaQ.js → dist/assets/gitGraphDiagram-V2S2FVAM-BUFcnXCj.js} +1 -1
  73. package/dist/dashboard/dist/assets/{graph-CD7-npU0.js → graph-CGQIvL3r.js} +1 -1
  74. package/dist/dashboard/dist/assets/index-CadOHtae.css +1 -0
  75. package/dist/dashboard/dist/assets/{index-D3_88Gr5.js → index-DwqfA4mc.js} +115 -115
  76. package/dist/dashboard/dist/assets/{infoDiagram-HS3SLOUP-BMp4C5wf.js → infoDiagram-HS3SLOUP-BdylFPLI.js} +1 -1
  77. package/dist/dashboard/{assets/journeyDiagram-XKPGCS4Q-CdvZAxeA.js → dist/assets/journeyDiagram-XKPGCS4Q-BzJTBkhp.js} +1 -1
  78. package/dist/dashboard/{assets/kanban-definition-3W4ZIXB7-DTse5xX8.js → dist/assets/kanban-definition-3W4ZIXB7-StKomgio.js} +1 -1
  79. package/dist/dashboard/dist/assets/{layout-6njVG9Ld.js → layout-BnsX73QS.js} +1 -1
  80. package/dist/dashboard/dist/assets/{mindmap-definition-VGOIOE7T-B7wYeLe1.js → mindmap-definition-VGOIOE7T-HqFRhVFX.js} +1 -1
  81. package/dist/dashboard/dist/assets/{pieDiagram-ADFJNKIX-5pSPRGJ2.js → pieDiagram-ADFJNKIX-2I2tFH0C.js} +1 -1
  82. package/dist/dashboard/{assets/quadrantDiagram-AYHSOK5B-C6NljtBN.js → dist/assets/quadrantDiagram-AYHSOK5B-PlELkdBW.js} +1 -1
  83. package/dist/dashboard/{assets/requirementDiagram-UZGBJVZJ-Ban4o6oK.js → dist/assets/requirementDiagram-UZGBJVZJ-_9eLQNcZ.js} +1 -1
  84. package/dist/dashboard/dist/assets/{sankeyDiagram-TZEHDZUN-BDImwZtB.js → sankeyDiagram-TZEHDZUN-DHl1Ss7O.js} +1 -1
  85. package/dist/dashboard/dist/assets/{sequenceDiagram-WL72ISMW-1d8_kyI3.js → sequenceDiagram-WL72ISMW-B9p0m3Uf.js} +1 -1
  86. package/dist/dashboard/dist/assets/{stateDiagram-FKZM4ZOC-BWqoDymf.js → stateDiagram-FKZM4ZOC--rpDODjT.js} +1 -1
  87. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-Ca9uGk46.js +1 -0
  88. package/dist/dashboard/dist/assets/{timeline-definition-IT6M3QCI-CBR9kqeJ.js → timeline-definition-IT6M3QCI-BCHaGBHB.js} +1 -1
  89. package/dist/dashboard/{assets/treemap-GDKQZRPO-D-XpcCUD.js → dist/assets/treemap-GDKQZRPO-CgiqDY8M.js} +1 -1
  90. package/dist/dashboard/dist/assets/{xychartDiagram-PRI3JC2R-7aSkQtVu.js → xychartDiagram-PRI3JC2R-BMvBBbeV.js} +1 -1
  91. package/dist/dashboard/dist/index.html +2 -2
  92. package/dist/dashboard/dist/reports/coverage-summary.json +848 -616
  93. package/dist/dashboard/index.html +2 -2
  94. package/dist/src/config/defaultConfig.d.ts.map +1 -1
  95. package/dist/src/config/defaultConfig.js +0 -37
  96. package/dist/src/config/types.d.ts +0 -42
  97. package/dist/src/config/types.d.ts.map +1 -1
  98. package/dist/src/config/validateConfig.d.ts.map +1 -1
  99. package/dist/src/config/validateConfig.js +0 -3
  100. package/dist/src/discovery/fileClassifier.d.ts.map +1 -1
  101. package/dist/src/discovery/fileClassifier.js +16 -15
  102. package/dist/src/discovery/projectDiscovery.d.ts.map +1 -1
  103. package/dist/src/discovery/projectDiscovery.js +1 -4
  104. package/dist/src/generation/context-builder.d.ts +3 -13
  105. package/dist/src/generation/context-builder.d.ts.map +1 -1
  106. package/dist/src/generation/context-builder.js +151 -119
  107. package/dist/src/generation/engine.d.ts +34 -13
  108. package/dist/src/generation/engine.d.ts.map +1 -1
  109. package/dist/src/generation/engine.js +317 -143
  110. package/dist/src/generation/file-router.d.ts +4 -5
  111. package/dist/src/generation/file-router.d.ts.map +1 -1
  112. package/dist/src/generation/file-router.js +39 -58
  113. package/dist/src/generation/gap-extractor.d.ts +9 -4
  114. package/dist/src/generation/gap-extractor.d.ts.map +1 -1
  115. package/dist/src/generation/gap-extractor.js +230 -240
  116. package/dist/src/generation/template-renderer.d.ts +9 -11
  117. package/dist/src/generation/template-renderer.d.ts.map +1 -1
  118. package/dist/src/generation/template-renderer.js +499 -519
  119. package/dist/src/generation/types.d.ts +48 -244
  120. package/dist/src/generation/types.d.ts.map +1 -1
  121. package/dist/src/generation/types.js +0 -4
  122. package/dist/src/index.js +247 -254
  123. package/dist/src/inference/businessRuleInference.d.ts.map +1 -1
  124. package/dist/src/inference/businessRuleInference.js +0 -95
  125. package/dist/src/inference/integrationFlowInference.d.ts +1 -11
  126. package/dist/src/inference/integrationFlowInference.d.ts.map +1 -1
  127. package/dist/src/inference/integrationFlowInference.js +2 -49
  128. package/dist/src/inference/routeInference.d.ts.map +1 -1
  129. package/dist/src/inference/routeInference.js +8 -54
  130. package/dist/src/languages/java/semanticBuilder.d.ts.map +1 -1
  131. package/dist/src/languages/java/semanticBuilder.js +12 -69
  132. package/dist/src/languages/javascript/angularDetector.d.ts.map +1 -1
  133. package/dist/src/languages/javascript/angularDetector.js +17 -50
  134. package/dist/src/languages/javascript/assertionResolver.js +4 -6
  135. package/dist/src/languages/javascript/hapiDetector.d.ts.map +1 -1
  136. package/dist/src/languages/javascript/hapiDetector.js +5 -48
  137. package/dist/src/languages/javascript/vueDetector.d.ts +0 -2
  138. package/dist/src/languages/javascript/vueDetector.d.ts.map +1 -1
  139. package/dist/src/languages/javascript/vueDetector.js +0 -22
  140. package/dist/src/languages/python/index.d.ts +1 -1
  141. package/dist/src/languages/python/index.d.ts.map +1 -1
  142. package/dist/src/languages/python/index.js +3 -33
  143. package/dist/src/pipeline/confidence.d.ts +1 -6
  144. package/dist/src/pipeline/confidence.d.ts.map +1 -1
  145. package/dist/src/pipeline/confidence.js +3 -8
  146. package/dist/src/pipeline/detectors/expressMiddlewareDetector.d.ts +21 -0
  147. package/dist/src/pipeline/detectors/expressMiddlewareDetector.d.ts.map +1 -0
  148. package/dist/src/pipeline/detectors/expressMiddlewareDetector.js +201 -0
  149. package/dist/src/pipeline/detectors/flaskBlueprintDetector.d.ts +23 -0
  150. package/dist/src/pipeline/detectors/flaskBlueprintDetector.d.ts.map +1 -0
  151. package/dist/src/pipeline/detectors/flaskBlueprintDetector.js +263 -0
  152. package/dist/src/pipeline/detectors/springDddDetector.d.ts +23 -0
  153. package/dist/src/pipeline/detectors/springDddDetector.d.ts.map +1 -0
  154. package/dist/src/pipeline/detectors/springDddDetector.js +237 -0
  155. package/dist/src/pipeline/detectors/types.d.ts +97 -0
  156. package/dist/src/pipeline/detectors/types.d.ts.map +1 -0
  157. package/dist/src/pipeline/detectors/types.js +15 -0
  158. package/dist/src/pipeline/graph.d.ts.map +1 -1
  159. package/dist/src/pipeline/graph.js +4 -16
  160. package/dist/src/pipeline/stages/ast/astStage.d.ts.map +1 -1
  161. package/dist/src/pipeline/stages/ast/astStage.js +2 -46
  162. package/dist/src/pipeline/stages/ast/baseUrlComposer.d.ts.map +1 -1
  163. package/dist/src/pipeline/stages/ast/baseUrlComposer.js +4 -18
  164. package/dist/src/pipeline/stages/ast/crossFileResolver.js +0 -29
  165. package/dist/src/pipeline/stages/ast/graphBuilder.d.ts.map +1 -1
  166. package/dist/src/pipeline/stages/ast/graphBuilder.js +0 -81
  167. package/dist/src/pipeline/stages/ast/optionalAuthUnifier.d.ts +1 -3
  168. package/dist/src/pipeline/stages/ast/optionalAuthUnifier.d.ts.map +1 -1
  169. package/dist/src/pipeline/stages/ast/optionalAuthUnifier.js +14 -34
  170. package/dist/src/pipeline/stages/ast/resolvers/angularInjectionResolver.d.ts.map +1 -1
  171. package/dist/src/pipeline/stages/ast/resolvers/angularInjectionResolver.js +3 -22
  172. package/dist/src/pipeline/stages/ast/resolvers/dddLayerResolver.d.ts.map +1 -1
  173. package/dist/src/pipeline/stages/ast/resolvers/dddLayerResolver.js +28 -104
  174. package/dist/src/pipeline/stages/ast/resolvers/mybatisResolver.d.ts.map +1 -1
  175. package/dist/src/pipeline/stages/ast/resolvers/mybatisResolver.js +0 -56
  176. package/dist/src/pipeline/stages/ast/resolvers/vuexActionResolver.d.ts.map +1 -1
  177. package/dist/src/pipeline/stages/ast/resolvers/vuexActionResolver.js +18 -43
  178. package/dist/src/pipeline/stages/ast/rulesEnforcer.d.ts.map +1 -1
  179. package/dist/src/pipeline/stages/ast/rulesEnforcer.js +45 -336
  180. package/dist/src/pipeline/stages/merge/conflictDetector.d.ts +0 -2
  181. package/dist/src/pipeline/stages/merge/conflictDetector.d.ts.map +1 -1
  182. package/dist/src/pipeline/stages/merge/conflictDetector.js +2 -54
  183. package/dist/src/pipeline/stages/merge/coverageMappingBuilder.d.ts.map +1 -1
  184. package/dist/src/pipeline/stages/merge/coverageMappingBuilder.js +3 -67
  185. package/dist/src/pipeline/stages/tia/mockBoundaryDetector.d.ts.map +1 -1
  186. package/dist/src/pipeline/stages/tia/mockBoundaryDetector.js +1 -8
  187. package/dist/src/pipeline/stages/tia/parameterizedTestExpander.js +4 -8
  188. package/dist/src/pipeline/stages/tia/testLayerClassifier.d.ts.map +1 -1
  189. package/dist/src/pipeline/stages/tia/testLayerClassifier.js +10 -36
  190. package/dist/src/pipeline/types.d.ts +1 -1
  191. package/dist/src/pipeline/types.d.ts.map +1 -1
  192. package/dist/src/reporting.d.ts.map +1 -1
  193. package/dist/src/reporting.js +2 -1
  194. package/dist/src/streaming/detectors/eventBridgeDetector.d.ts +5 -0
  195. package/dist/src/streaming/detectors/eventBridgeDetector.d.ts.map +1 -0
  196. package/dist/src/streaming/detectors/eventBridgeDetector.js +82 -0
  197. package/dist/src/streaming/detectors/kafkaDetector.d.ts +5 -0
  198. package/dist/src/streaming/detectors/kafkaDetector.d.ts.map +1 -0
  199. package/dist/src/streaming/detectors/kafkaDetector.js +97 -0
  200. package/dist/src/streaming/detectors/natsDetector.d.ts +5 -0
  201. package/dist/src/streaming/detectors/natsDetector.d.ts.map +1 -0
  202. package/dist/src/streaming/detectors/natsDetector.js +96 -0
  203. package/dist/src/streaming/detectors/pubsubDetector.d.ts +5 -0
  204. package/dist/src/streaming/detectors/pubsubDetector.d.ts.map +1 -0
  205. package/dist/src/streaming/detectors/pubsubDetector.js +82 -0
  206. package/dist/src/streaming/detectors/rabbitmqDetector.d.ts +5 -0
  207. package/dist/src/streaming/detectors/rabbitmqDetector.d.ts.map +1 -0
  208. package/dist/src/streaming/detectors/rabbitmqDetector.js +103 -0
  209. package/dist/src/streaming/detectors/redisPubsubDetector.d.ts +5 -0
  210. package/dist/src/streaming/detectors/redisPubsubDetector.d.ts.map +1 -0
  211. package/dist/src/streaming/detectors/redisPubsubDetector.js +81 -0
  212. package/dist/src/streaming/detectors/snsDetector.d.ts +5 -0
  213. package/dist/src/streaming/detectors/snsDetector.d.ts.map +1 -0
  214. package/dist/src/streaming/detectors/snsDetector.js +81 -0
  215. package/dist/src/streaming/detectors/sqsDetector.d.ts +5 -0
  216. package/dist/src/streaming/detectors/sqsDetector.d.ts.map +1 -0
  217. package/dist/src/streaming/detectors/sqsDetector.js +81 -0
  218. package/dist/src/streaming/eventCoverage.d.ts +46 -0
  219. package/dist/src/streaming/eventCoverage.d.ts.map +1 -0
  220. package/dist/src/streaming/eventCoverage.js +270 -0
  221. package/dist/src/streaming/types.d.ts +34 -0
  222. package/dist/src/streaming/types.d.ts.map +1 -0
  223. package/dist/src/streaming/types.js +2 -0
  224. package/dist/src/summary/markdownRenderer.d.ts.map +1 -1
  225. package/dist/src/summary/markdownRenderer.js +1 -0
  226. package/dist/src/summary/summaryTypes.d.ts.map +1 -1
  227. package/dist/src/summary/summaryTypes.js +1 -0
  228. package/package.json +3 -3
  229. package/dist/dashboard/assets/arc-D4xT0thw.js +0 -1
  230. package/dist/dashboard/assets/architectureDiagram-VXUJARFQ-Bs48s9rH.js +0 -36
  231. package/dist/dashboard/assets/channel-YFEOkJua.js +0 -1
  232. package/dist/dashboard/assets/chunk-B4BG7PRW-D5WlZonc.js +0 -165
  233. package/dist/dashboard/assets/chunk-DI55MBZ5-B-xsiGYI.js +0 -220
  234. package/dist/dashboard/assets/classDiagram-2ON5EDUG-CE9rmEXI.js +0 -1
  235. package/dist/dashboard/assets/classDiagram-v2-WZHVMYZB-CE9rmEXI.js +0 -1
  236. package/dist/dashboard/assets/clone-BAVNftx6.js +0 -1
  237. package/dist/dashboard/assets/cose-bilkent-S5V4N54A-DrNDePwE.js +0 -1
  238. package/dist/dashboard/assets/erDiagram-Q2GNP2WA-BbPQp6RA.js +0 -60
  239. package/dist/dashboard/assets/flowDiagram-NV44I4VS-1j044bLK.js +0 -162
  240. package/dist/dashboard/assets/index-Bt72YjAZ.css +0 -1
  241. package/dist/dashboard/assets/index-DuT2LnIf.js +0 -523
  242. package/dist/dashboard/assets/layout-CnKzeCpQ.js +0 -1
  243. package/dist/dashboard/assets/sankeyDiagram-TZEHDZUN-BDImwZtB.js +0 -10
  244. package/dist/dashboard/assets/stateDiagram-FKZM4ZOC-DkBAMCJV.js +0 -1
  245. package/dist/dashboard/assets/stateDiagram-v2-4FDKWEC3-CtkfyoSn.js +0 -1
  246. package/dist/dashboard/assets/timeline-definition-IT6M3QCI-CGUDCWFx.js +0 -61
  247. package/dist/dashboard/assets/xychartDiagram-PRI3JC2R-BlIpbwyn.js +0 -7
  248. package/dist/dashboard/dist/assets/_basePickBy-CErN2e4K.js +0 -1
  249. package/dist/dashboard/dist/assets/_basePickBy-CYB1KXah.js +0 -1
  250. package/dist/dashboard/dist/assets/_basePickBy-D4ml7gdd.js +0 -1
  251. package/dist/dashboard/dist/assets/_basePickBy-D7SXdoHL.js +0 -1
  252. package/dist/dashboard/dist/assets/_basePickBy-DUQHbXda.js +0 -1
  253. package/dist/dashboard/dist/assets/_basePickBy-DZR484hj.js +0 -1
  254. package/dist/dashboard/dist/assets/_basePickBy-_zJIZmFM.js +0 -1
  255. package/dist/dashboard/dist/assets/_baseUniq-BZHS9wTU.js +0 -1
  256. package/dist/dashboard/dist/assets/_baseUniq-BzwtoVZI.js +0 -1
  257. package/dist/dashboard/dist/assets/_baseUniq-C2oBAxY3.js +0 -1
  258. package/dist/dashboard/dist/assets/_baseUniq-CUKBQ2bc.js +0 -1
  259. package/dist/dashboard/dist/assets/_baseUniq-Ct8XEXnH.js +0 -1
  260. package/dist/dashboard/dist/assets/_baseUniq-DE6cyzJb.js +0 -1
  261. package/dist/dashboard/dist/assets/_baseUniq-DzHorfx6.js +0 -1
  262. package/dist/dashboard/dist/assets/arc-B7p8x22e.js +0 -1
  263. package/dist/dashboard/dist/assets/arc-BDOeMmjX.js +0 -1
  264. package/dist/dashboard/dist/assets/arc-BaDRUN_n.js +0 -1
  265. package/dist/dashboard/dist/assets/arc-CjFGY63A.js +0 -1
  266. package/dist/dashboard/dist/assets/arc-D4xT0thw.js +0 -1
  267. package/dist/dashboard/dist/assets/arc-g03p1JXB.js +0 -1
  268. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-BUdFGrlT.js +0 -36
  269. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-CLCqS7Lv.js +0 -36
  270. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-C_5dqWCI.js +0 -36
  271. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-WnVycqnT.js +0 -36
  272. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-mH7lInv5.js +0 -36
  273. package/dist/dashboard/dist/assets/architectureDiagram-VXUJARFQ-wVr1_uNB.js +0 -36
  274. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-BBXc88fn.js +0 -122
  275. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-BvkiW8lj.js +0 -122
  276. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-CavSRNuP.js +0 -122
  277. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-D-TzNNzc.js +0 -122
  278. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-DK0YAM7_.js +0 -122
  279. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-DbGIO6Kt.js +0 -122
  280. package/dist/dashboard/dist/assets/blockDiagram-VD42YOAC-V4vxrfzX.js +0 -122
  281. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-Bs4R4b6P.js +0 -10
  282. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-BsgzPfQ3.js +0 -10
  283. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-CAFpcejP.js +0 -10
  284. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-DVnWnYOL.js +0 -10
  285. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-DuP3tG_c.js +0 -10
  286. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-ZEVciqTW.js +0 -10
  287. package/dist/dashboard/dist/assets/c4Diagram-YG6GDRKO-w18S5AEN.js +0 -10
  288. package/dist/dashboard/dist/assets/channel-BSnIwwuG.js +0 -1
  289. package/dist/dashboard/dist/assets/channel-BgeGdqQG.js +0 -1
  290. package/dist/dashboard/dist/assets/channel-CyXkK5KC.js +0 -1
  291. package/dist/dashboard/dist/assets/channel-D5Cq9giL.js +0 -1
  292. package/dist/dashboard/dist/assets/channel-DbeZpf5T.js +0 -1
  293. package/dist/dashboard/dist/assets/channel-Di9el3wE.js +0 -1
  294. package/dist/dashboard/dist/assets/channel-YFEOkJua.js +0 -1
  295. package/dist/dashboard/dist/assets/channel-psxgcQ_j.js +0 -1
  296. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-BDYDsvGv.js +0 -1
  297. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-BF8loPLD.js +0 -1
  298. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-BrU7mtb9.js +0 -1
  299. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-CSJ8KLGx.js +0 -1
  300. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-DY1boKsq.js +0 -1
  301. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-IN53WLTx.js +0 -1
  302. package/dist/dashboard/dist/assets/chunk-4BX2VUAB-oleArqPu.js +0 -1
  303. package/dist/dashboard/dist/assets/chunk-55IACEB6-BSL35gyW.js +0 -1
  304. package/dist/dashboard/dist/assets/chunk-55IACEB6-BzCzmNUn.js +0 -1
  305. package/dist/dashboard/dist/assets/chunk-55IACEB6-C3HNF-UF.js +0 -1
  306. package/dist/dashboard/dist/assets/chunk-55IACEB6-CiEoroXY.js +0 -1
  307. package/dist/dashboard/dist/assets/chunk-55IACEB6-DV6VmXIy.js +0 -1
  308. package/dist/dashboard/dist/assets/chunk-55IACEB6-DwsmCNp_.js +0 -1
  309. package/dist/dashboard/dist/assets/chunk-55IACEB6-kJkjQYxk.js +0 -1
  310. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-BChq1Wly.js +0 -165
  311. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-BiYJ9gu_.js +0 -165
  312. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-CCMwwYCe.js +0 -165
  313. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-D5WlZonc.js +0 -165
  314. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-eTDXrKrv.js +0 -165
  315. package/dist/dashboard/dist/assets/chunk-B4BG7PRW-wQ6TCEMq.js +0 -165
  316. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-BD9C9H7Y.js +0 -220
  317. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-BTfzxsg4.js +0 -220
  318. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-CSRqV3_6.js +0 -220
  319. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-D7eiRvhB.js +0 -220
  320. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-DfslhtXS.js +0 -220
  321. package/dist/dashboard/dist/assets/chunk-DI55MBZ5-M-8I3jEy.js +0 -220
  322. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-BgEzYy_c.js +0 -15
  323. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-CtTcDWZJ.js +0 -15
  324. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-CyF99olo.js +0 -15
  325. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-DRb5NEMr.js +0 -15
  326. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-K3PC79JF.js +0 -15
  327. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-V0V2L4Gq.js +0 -15
  328. package/dist/dashboard/dist/assets/chunk-FMBD7UC4-bSA0XiS0.js +0 -15
  329. package/dist/dashboard/dist/assets/chunk-QN33PNHL-BNX7uRa_.js +0 -1
  330. package/dist/dashboard/dist/assets/chunk-QN33PNHL-BRSlHScq.js +0 -1
  331. package/dist/dashboard/dist/assets/chunk-QN33PNHL-BrOIYUBs.js +0 -1
  332. package/dist/dashboard/dist/assets/chunk-QN33PNHL-CCuhlE1C.js +0 -1
  333. package/dist/dashboard/dist/assets/chunk-QN33PNHL-CmeZ1h1Z.js +0 -1
  334. package/dist/dashboard/dist/assets/chunk-QN33PNHL-DFgUs0T8.js +0 -1
  335. package/dist/dashboard/dist/assets/chunk-QN33PNHL-JcQZ0Q-Q.js +0 -1
  336. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-Cix7nLqx.js +0 -1
  337. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-CliaQGD4.js +0 -1
  338. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-Cyg7Km90.js +0 -1
  339. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-DKgOcPif.js +0 -1
  340. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-MNv3v4He.js +0 -1
  341. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-T5hoQANf.js +0 -1
  342. package/dist/dashboard/dist/assets/chunk-QZHKN3VN-mq-zucvn.js +0 -1
  343. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-BoJFBewj.js +0 -1
  344. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-BtXpcWN4.js +0 -1
  345. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-C8KNXDi7.js +0 -1
  346. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-CyhcxGB1.js +0 -1
  347. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-DGTVcqTS.js +0 -1
  348. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-DqMNcR7I.js +0 -1
  349. package/dist/dashboard/dist/assets/chunk-TZMSLE5B-F1fppg7C.js +0 -1
  350. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-AMwn99HP.js +0 -1
  351. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-BbkwHRko.js +0 -1
  352. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-Be0F7AG8.js +0 -1
  353. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-BkGN4Cpz.js +0 -1
  354. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-CE9rmEXI.js +0 -1
  355. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-CM6Qs-Qs.js +0 -1
  356. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-D3VDjeKC.js +0 -1
  357. package/dist/dashboard/dist/assets/classDiagram-2ON5EDUG-o8p5Y0H9.js +0 -1
  358. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-AMwn99HP.js +0 -1
  359. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-BbkwHRko.js +0 -1
  360. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-Be0F7AG8.js +0 -1
  361. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-BkGN4Cpz.js +0 -1
  362. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-CE9rmEXI.js +0 -1
  363. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-CM6Qs-Qs.js +0 -1
  364. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-D3VDjeKC.js +0 -1
  365. package/dist/dashboard/dist/assets/classDiagram-v2-WZHVMYZB-o8p5Y0H9.js +0 -1
  366. package/dist/dashboard/dist/assets/clone-B5PF81Z3.js +0 -1
  367. package/dist/dashboard/dist/assets/clone-BAVNftx6.js +0 -1
  368. package/dist/dashboard/dist/assets/clone-BmpQ0ely.js +0 -1
  369. package/dist/dashboard/dist/assets/clone-CKIuLE_W.js +0 -1
  370. package/dist/dashboard/dist/assets/clone-Cv0cxIIi.js +0 -1
  371. package/dist/dashboard/dist/assets/clone-Cvq8JuOb.js +0 -1
  372. package/dist/dashboard/dist/assets/clone-DEYRVSAn.js +0 -1
  373. package/dist/dashboard/dist/assets/clone-KEkbvJY9.js +0 -1
  374. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-DMGRGhwB.js +0 -1
  375. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-DrNDePwE.js +0 -1
  376. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-GjySlYac.js +0 -1
  377. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-UX3RfzXW.js +0 -1
  378. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-YL9kFxCl.js +0 -1
  379. package/dist/dashboard/dist/assets/cose-bilkent-S5V4N54A-xVw-THr_.js +0 -1
  380. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-BO79zHpJ.js +0 -4
  381. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-Bjadb8g_.js +0 -4
  382. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-CJT7lofP.js +0 -4
  383. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-CUx6EwnW.js +0 -4
  384. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-D03qnh38.js +0 -4
  385. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-DgEqrxGj.js +0 -4
  386. package/dist/dashboard/dist/assets/dagre-6UL2VRFP-NZWnQN_Y.js +0 -4
  387. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-BPFtplp4.js +0 -24
  388. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-BgOmComt.js +0 -24
  389. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-DGtyS7lD.js +0 -24
  390. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-D__FKIzE.js +0 -24
  391. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-DtE0cTIs.js +0 -24
  392. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-JEfxbZj6.js +0 -24
  393. package/dist/dashboard/dist/assets/diagram-PSM6KHXK-Y-M5J_PO.js +0 -24
  394. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-1hjfopmw.js +0 -43
  395. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-BHyZd544.js +0 -43
  396. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-BXMS0hEZ.js +0 -43
  397. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-BtOA2yYh.js +0 -43
  398. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-CSCGZUfr.js +0 -43
  399. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-CYK-aLR5.js +0 -43
  400. package/dist/dashboard/dist/assets/diagram-QEK2KX5R-CYxueP7U.js +0 -43
  401. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-Bk_jyoxg.js +0 -24
  402. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-CRUXUQeh.js +0 -24
  403. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-CzytkAcm.js +0 -24
  404. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-D-ku_X8U.js +0 -24
  405. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-DdqZVGN1.js +0 -24
  406. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-Gj3ANjIG.js +0 -24
  407. package/dist/dashboard/dist/assets/diagram-S2PKOQOG-qvXlTDud.js +0 -24
  408. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DDk1KpRF.js +0 -60
  409. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DGl6gPe2.js +0 -60
  410. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DSC5VPcF.js +0 -60
  411. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DZpjLrp5.js +0 -60
  412. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-Dhb_VQMS.js +0 -60
  413. package/dist/dashboard/dist/assets/erDiagram-Q2GNP2WA-DvI8ycM6.js +0 -60
  414. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-CBnhpWKd.js +0 -162
  415. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-CYXUqE3L.js +0 -162
  416. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-Co89qYBD.js +0 -162
  417. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-DRAD4OG7.js +0 -162
  418. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-PVleScVK.js +0 -162
  419. package/dist/dashboard/dist/assets/flowDiagram-NV44I4VS-gKUH-GJ2.js +0 -162
  420. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-2r3WpWQC.js +0 -267
  421. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-BA65eVi0.js +0 -267
  422. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-Cjy_BOl2.js +0 -267
  423. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-CsUMU5Ws.js +0 -267
  424. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-DK_45K6s.js +0 -267
  425. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-DX-lROHt.js +0 -267
  426. package/dist/dashboard/dist/assets/ganttDiagram-JELNMOA3-Dm_lLo9y.js +0 -267
  427. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-C9NpbucY.js +0 -65
  428. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-CWo2OK69.js +0 -65
  429. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-DM9AW1aP.js +0 -65
  430. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-DYrdM8tK.js +0 -65
  431. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-RgQMxxaQ.js +0 -65
  432. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-Uz3nRdju.js +0 -65
  433. package/dist/dashboard/dist/assets/gitGraphDiagram-V2S2FVAM-bYKe_efj.js +0 -65
  434. package/dist/dashboard/dist/assets/graph-BP2ns4se.js +0 -1
  435. package/dist/dashboard/dist/assets/graph-BVGuJ5gs.js +0 -1
  436. package/dist/dashboard/dist/assets/graph-Clj85F2M.js +0 -1
  437. package/dist/dashboard/dist/assets/graph-CpRVMcWW.js +0 -1
  438. package/dist/dashboard/dist/assets/graph-Cwn7jgQS.js +0 -1
  439. package/dist/dashboard/dist/assets/graph-ZtgwAPQj.js +0 -1
  440. package/dist/dashboard/dist/assets/graph-gV0gk5Dq.js +0 -1
  441. package/dist/dashboard/dist/assets/index-Bt72YjAZ.css +0 -1
  442. package/dist/dashboard/dist/assets/index-ByH_nEhG.js +0 -523
  443. package/dist/dashboard/dist/assets/index-C302ingQ.css +0 -1
  444. package/dist/dashboard/dist/assets/index-CqEIqNus.js +0 -781
  445. package/dist/dashboard/dist/assets/index-D-AtVpd2.js +0 -523
  446. package/dist/dashboard/dist/assets/index-DEXwnExZ.js +0 -523
  447. package/dist/dashboard/dist/assets/index-DbUdNJca.js +0 -781
  448. package/dist/dashboard/dist/assets/index-DuT2LnIf.js +0 -523
  449. package/dist/dashboard/dist/assets/index-xecKLQ58.css +0 -1
  450. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-BjChBCME.js +0 -2
  451. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-BxoN3QPh.js +0 -2
  452. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-CxmZGT-4.js +0 -2
  453. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-D3SFXNAS.js +0 -2
  454. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-DyT5Fs8R.js +0 -2
  455. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-HLwGZBHJ.js +0 -2
  456. package/dist/dashboard/dist/assets/infoDiagram-HS3SLOUP-ujnMqVz3.js +0 -2
  457. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-BC0GSZ7W.js +0 -139
  458. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-Bv1IeJ8A.js +0 -139
  459. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-CFgbI9OH.js +0 -139
  460. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-CdvZAxeA.js +0 -139
  461. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-CiMM9buE.js +0 -139
  462. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-DQzfeBIo.js +0 -139
  463. package/dist/dashboard/dist/assets/journeyDiagram-XKPGCS4Q-nYZBlgTD.js +0 -139
  464. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-AkiB-BRk.js +0 -89
  465. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-BjYw_9v5.js +0 -89
  466. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-COTfX74l.js +0 -89
  467. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-D3u5Ov-5.js +0 -89
  468. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-D6aRd_q1.js +0 -89
  469. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-DTse5xX8.js +0 -89
  470. package/dist/dashboard/dist/assets/kanban-definition-3W4ZIXB7-ueIaoeks.js +0 -89
  471. package/dist/dashboard/dist/assets/layout-B1fTYUMj.js +0 -1
  472. package/dist/dashboard/dist/assets/layout-BbJNDkTr.js +0 -1
  473. package/dist/dashboard/dist/assets/layout-BwmMaJCx.js +0 -1
  474. package/dist/dashboard/dist/assets/layout-CnKzeCpQ.js +0 -1
  475. package/dist/dashboard/dist/assets/layout-DgtRACDS.js +0 -1
  476. package/dist/dashboard/dist/assets/layout-JbkTCGhr.js +0 -1
  477. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-B93XW27v.js +0 -68
  478. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-BJ5xCmsL.js +0 -68
  479. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-BVsYbH_c.js +0 -68
  480. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-CkyYtMaD.js +0 -68
  481. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-CmcASbkx.js +0 -68
  482. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-D001Ygrx.js +0 -68
  483. package/dist/dashboard/dist/assets/mindmap-definition-VGOIOE7T-QDZ_z8OE.js +0 -68
  484. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-9G1tEuaq.js +0 -30
  485. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-BIOVbZG_.js +0 -30
  486. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-Bf8vKEOf.js +0 -30
  487. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-BpwMMFZ3.js +0 -30
  488. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-DOXOzepj.js +0 -30
  489. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-EeNihpUP.js +0 -30
  490. package/dist/dashboard/dist/assets/pieDiagram-ADFJNKIX-uWFQFMEe.js +0 -30
  491. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-Bwppivuy.js +0 -7
  492. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-CM8qiFLR.js +0 -7
  493. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-Crgu5WqK.js +0 -7
  494. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-CtbMtM_F.js +0 -7
  495. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-i3-JTN3e.js +0 -7
  496. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-jDtdB4Ws.js +0 -7
  497. package/dist/dashboard/dist/assets/quadrantDiagram-AYHSOK5B-o21Z8BWo.js +0 -7
  498. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-Ban4o6oK.js +0 -64
  499. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-BfAcJrqc.js +0 -64
  500. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-CgXxZ2rH.js +0 -64
  501. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-ClNSNeYe.js +0 -64
  502. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-DPTtP4Ve.js +0 -64
  503. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-Dw260IiT.js +0 -64
  504. package/dist/dashboard/dist/assets/requirementDiagram-UZGBJVZJ-WIJ0qiJG.js +0 -64
  505. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-BFNTuDV7.js +0 -10
  506. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-Cb4WB9UB.js +0 -10
  507. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-D2OGoxU5.js +0 -10
  508. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-DEVTdH0h.js +0 -10
  509. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-LR8T4Hv0.js +0 -10
  510. package/dist/dashboard/dist/assets/sankeyDiagram-TZEHDZUN-VcdyPlVE.js +0 -10
  511. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-97qjzqIO.js +0 -145
  512. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-Bjr5wgXg.js +0 -145
  513. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-BqGJWVUS.js +0 -145
  514. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-C5h60fvZ.js +0 -145
  515. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-DBqchhlr.js +0 -145
  516. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-DOr6An-q.js +0 -145
  517. package/dist/dashboard/dist/assets/sequenceDiagram-WL72ISMW-nMYJrjDT.js +0 -145
  518. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-Bl16d4W5.js +0 -1
  519. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-C1KYr7Wj.js +0 -1
  520. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-DDrhZYly.js +0 -1
  521. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-DKkWVu_K.js +0 -1
  522. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-DkBAMCJV.js +0 -1
  523. package/dist/dashboard/dist/assets/stateDiagram-FKZM4ZOC-DlLDy54e.js +0 -1
  524. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-B05ygO34.js +0 -1
  525. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-B0euQu1p.js +0 -1
  526. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-BlwaoFEG.js +0 -1
  527. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-CtkfyoSn.js +0 -1
  528. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-DRV_IYr6.js +0 -1
  529. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-Im6pH8C-.js +0 -1
  530. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-K_qkvHaB.js +0 -1
  531. package/dist/dashboard/dist/assets/stateDiagram-v2-4FDKWEC3-pZ_Rrx6C.js +0 -1
  532. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-CGUDCWFx.js +0 -61
  533. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-CLdinkid.js +0 -61
  534. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-CsRS0WGC.js +0 -61
  535. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-D6JNee_P.js +0 -61
  536. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-DAT3r9va.js +0 -61
  537. package/dist/dashboard/dist/assets/timeline-definition-IT6M3QCI-DR6HNny6.js +0 -61
  538. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-BlA8rg0m.js +0 -162
  539. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-CBle3d0d.js +0 -162
  540. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-CCvvSJBX.js +0 -162
  541. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-Cw9mkiYN.js +0 -162
  542. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-D-XpcCUD.js +0 -162
  543. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-MpQr6tee.js +0 -162
  544. package/dist/dashboard/dist/assets/treemap-GDKQZRPO-vW7FSd7C.js +0 -162
  545. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-B72UwDAP.js +0 -7
  546. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-BceejIon.js +0 -7
  547. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-BlIpbwyn.js +0 -7
  548. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-ByLRWyI2.js +0 -7
  549. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-DjyK-sw-.js +0 -7
  550. package/dist/dashboard/dist/assets/xychartDiagram-PRI3JC2R-bS40I4IT.js +0 -7
  551. package/dist/dashboard/reports/coverage-summary.json +0 -763
  552. package/dist/src/generation/ai-flow-exporter.d.ts +0 -7
  553. package/dist/src/generation/ai-flow-exporter.d.ts.map +0 -1
  554. package/dist/src/generation/ai-flow-exporter.js +0 -260
  555. package/dist/src/generation/index.d.ts +0 -9
  556. package/dist/src/generation/index.d.ts.map +0 -1
  557. package/dist/src/generation/index.js +0 -15
  558. package/dist/src/generation/quality-scorer.d.ts +0 -15
  559. package/dist/src/generation/quality-scorer.d.ts.map +0 -1
  560. package/dist/src/generation/quality-scorer.js +0 -273
  561. /package/dist/dashboard/{dist/assets → assets}/index-D_begBP0.css +0 -0
package/dist/src/index.js CHANGED
@@ -63,7 +63,6 @@ const integrationFlowInference_1 = require("./inference/integrationFlowInference
63
63
  const routeInference_1 = require("./inference/routeInference");
64
64
  const scanManifest_1 = require("./inference/scanManifest");
65
65
  const serveDashboard_1 = require("./serveDashboard");
66
- const index_4 = require("./generation/index");
67
66
  // Register all language AST analyzers at startup.
68
67
  // This side-effect import ensures each language module's registerAnalyzer() call runs.
69
68
  (0, astAnalysisOrchestrator_1.registerAllAnalyzers)();
@@ -1403,7 +1402,7 @@ program
1403
1402
  .option('--port <port>', 'Port for the dashboard server (requires --dashboard)', parseInt)
1404
1403
  .option('--open', 'Open the dashboard in your browser automatically (requires --dashboard)')
1405
1404
  .action(async (options) => {
1406
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
1405
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
1407
1406
  const { metricsPort, serviceName } = setupObservability();
1408
1407
  const logger = (0, observability_1.getLogger)();
1409
1408
  const configPath = program.opts()['config'];
@@ -1456,7 +1455,7 @@ program
1456
1455
  }
1457
1456
  // ── 3. Integration flow inference ──────────────────────────────────────
1458
1457
  if (doInferFlows) {
1459
- inferredFlowsResult = (0, integrationFlowInference_1.inferIntegrationFlows)(artifacts.testFiles, warnings, artifacts.serviceFiles);
1458
+ inferredFlowsResult = (0, integrationFlowInference_1.inferIntegrationFlows)(artifacts.testFiles, warnings);
1460
1459
  const flowsPath = (0, integrationFlowInference_1.writeInferredIntegrationFlows)(inferredFlowsResult, reportsDir);
1461
1460
  console.log(`\nIntegration Flow Inference`);
1462
1461
  console.log(` Multi-step flows detected in tests: ${inferredFlowsResult.flows.length}`);
@@ -1514,13 +1513,6 @@ program
1514
1513
  while ((m = TEST_DECL_RE.exec(content)) !== null) {
1515
1514
  descriptions.push(m[2].toLowerCase());
1516
1515
  }
1517
- // Generic: extract test function/method names for Python (def test_xxx),
1518
- // Ruby (def test_xxx), and similar frameworks where test names are method names.
1519
- const GENERIC_TEST_FN_RE = /\bdef\s+((?:test|should|spec)_\w+)\s*\(/g;
1520
- GENERIC_TEST_FN_RE.lastIndex = 0;
1521
- while ((m = GENERIC_TEST_FN_RE.exec(content)) !== null) {
1522
- descriptions.push(m[1].replace(/_/g, ' ').toLowerCase());
1523
- }
1524
1516
  }
1525
1517
  return [{ file: tf, contentLower, descriptions, isJavaLike }];
1526
1518
  });
@@ -1740,6 +1732,96 @@ program
1740
1732
  allCoverageResults.push(errorResult);
1741
1733
  console.log(` ${errorCovered}/${errorItems.length} inferred error scenarios have test coverage (${errorPct}%)`);
1742
1734
  }
1735
+ // ── 4b-alt. Parameter coverage from inferred routes + body params ──
1736
+ // Extract path parameters (e.g. ':article', ':id') and body params
1737
+ // (e.g. 'req.body.email') from inferred routes and business rules.
1738
+ // This populates the Parameters tab even without an OpenAPI spec.
1739
+ console.log(`\nAnalyzing parameter coverage (from inferred routes)...`);
1740
+ try {
1741
+ const paramItems = [];
1742
+ // Path parameters from routes
1743
+ const seenParamKeys = new Set();
1744
+ for (const epItem of endpointItems) {
1745
+ const route = routeResult.routes.find((r) => `${r.method.toUpperCase()} ${r.path}` === epItem.id);
1746
+ if (!route)
1747
+ continue;
1748
+ const pathParams = route.path.split('/').filter((s) => s.startsWith(':'));
1749
+ for (const param of pathParams) {
1750
+ const paramName = param.slice(1); // strip ':'
1751
+ const key = `${paramName}@${route.method.toUpperCase()}`;
1752
+ if (seenParamKeys.has(key))
1753
+ continue;
1754
+ seenParamKeys.add(key);
1755
+ paramItems.push({
1756
+ id: `PATH :${paramName} @ ${epItem.id}`,
1757
+ covered: epItem.covered, // param is covered if the route is covered
1758
+ matchedTests: epItem.matchedTests,
1759
+ param_type: 'path',
1760
+ source_file: route.sourceFile,
1761
+ line_number: route.lineNumber,
1762
+ });
1763
+ }
1764
+ }
1765
+ // Body parameters from inferred business rules (req.body.<field>)
1766
+ if (inferredRulesResult) {
1767
+ const BODY_PARAM_RE = /req\.body\.(\w+)/g;
1768
+ const seenBodyParams = new Set();
1769
+ for (const rule of inferredRulesResult.rules) {
1770
+ let bm;
1771
+ BODY_PARAM_RE.lastIndex = 0;
1772
+ const combinedText = `${rule.condition} ${rule.code_snippet}`;
1773
+ while ((bm = BODY_PARAM_RE.exec(combinedText)) !== null) {
1774
+ const fieldName = bm[1];
1775
+ const paramKey = `body_${fieldName}_${(_q = rule.endpoint) !== null && _q !== void 0 ? _q : ''}`;
1776
+ if (seenBodyParams.has(paramKey))
1777
+ continue;
1778
+ seenBodyParams.add(paramKey);
1779
+ const endpointLabel = (_r = rule.endpoint) !== null && _r !== void 0 ? _r : 'unknown endpoint';
1780
+ // Match: any test description mentioning the field name
1781
+ const fieldNameLower = fieldName.toLowerCase();
1782
+ const matchedTestDescs = [];
1783
+ for (const { file, descriptions } of testEntries) {
1784
+ const hitting = descriptions.filter((desc) => desc.includes(fieldNameLower));
1785
+ if (hitting.length > 0) {
1786
+ matchedTestDescs.push(...hitting.map((d) => `[${path.basename(file)}] ${d}`));
1787
+ }
1788
+ }
1789
+ const srcParts = (_t = (_s = rule.source_location) === null || _s === void 0 ? void 0 : _s.split(':')) !== null && _t !== void 0 ? _t : [];
1790
+ const srcFile = srcParts[0];
1791
+ const srcLine = srcParts[1] !== undefined ? parseInt(srcParts[1], 10) : undefined;
1792
+ paramItems.push({
1793
+ id: `BODY ${fieldName} @ ${endpointLabel}`,
1794
+ covered: matchedTestDescs.length > 0,
1795
+ matchedTests: matchedTestDescs,
1796
+ param_type: 'body',
1797
+ source_file: srcFile,
1798
+ line_number: srcLine && srcLine > 0 ? srcLine : undefined,
1799
+ });
1800
+ }
1801
+ }
1802
+ }
1803
+ if (paramItems.length > 0) {
1804
+ const paramCovered = paramItems.filter((i) => i.covered).length;
1805
+ const paramPct = Math.round((paramCovered / paramItems.length) * 100);
1806
+ allCoverageResults.push({
1807
+ type: 'parameter',
1808
+ totalItems: paramItems.length,
1809
+ coveredItems: paramCovered,
1810
+ coveragePercent: paramPct,
1811
+ details: {
1812
+ total: paramItems.length,
1813
+ covered: paramCovered,
1814
+ percentage: paramPct,
1815
+ items: paramItems,
1816
+ source: 'inferred',
1817
+ },
1818
+ });
1819
+ console.log(` ${paramCovered}/${paramItems.length} inferred parameters have test coverage (${paramPct}%)`);
1820
+ }
1821
+ }
1822
+ catch (paramErr) {
1823
+ warnings.push(`Parameter inference failed: ${paramErr instanceof Error ? paramErr.message : String(paramErr)}`);
1824
+ }
1743
1825
  }
1744
1826
  else {
1745
1827
  warnings.push('No routes detected in service files; endpoint coverage skipped.');
@@ -1917,137 +1999,6 @@ program
1917
1999
  allCoverageResults.push(flowResult);
1918
2000
  console.log(` ${syntheticReport.complete}/${syntheticReport.total} multi-step flows detected and covered (100%)`);
1919
2001
  }
1920
- // ── 4f-perf. Performance & resilience coverage ────────────────────────────
1921
- // When load-test files (JMeter/k6/Gatling) are available, use them.
1922
- // When none are found, infer performance/resilience evidence from test content.
1923
- {
1924
- // ─ Keywords ──────────────────────────────────────────────────────────────
1925
- const PERF_KEYWORDS = [
1926
- 'load', 'performance', 'stress', 'throughput', 'latency', 'benchmark',
1927
- 'concurrent', 'response time', 'response_time', 'timing', 'timed',
1928
- 'slow', 'fast', 'speed', 'millisecond', 'ms ', ' ms',
1929
- ];
1930
- const RESILIENCE_KEYWORD_MAP = {
1931
- 'timeout': ['timeout', 'timed out', 'connection timeout', 'request timeout', 'read timeout'],
1932
- 'retry': ['retry', 'retries', 'retried', 'attempt', 'backoff', 'back-off'],
1933
- 'circuit-breaker': ['circuit breaker', 'circuit_breaker', 'circuitbreaker', 'open circuit'],
1934
- 'fallback': ['fallback', 'fall back', 'fall-back', 'default response', 'degraded'],
1935
- 'rate-limiting': ['rate limit', 'rate_limit', 'ratelimit', '429', 'too many requests', 'throttl'],
1936
- 'bulkhead': ['bulkhead', 'semaphore', 'queue full', 'concurrency limit'],
1937
- };
1938
- if (artifacts.performanceFiles.length > 0) {
1939
- // ─ Explicit: JMeter / k6 / Gatling files found ─────────────────────
1940
- try {
1941
- console.log(`\nAnalyzing performance coverage (${artifacts.performanceFiles.length} load-test file(s))...`);
1942
- const endpointItems = (_s = (_r = (_q = allCoverageResults.find((r) => r.type === 'endpoint')) === null || _q === void 0 ? void 0 : _q.details) === null || _r === void 0 ? void 0 : _r.items) !== null && _s !== void 0 ? _s : [];
1943
- const endpoints = endpointItems.map((item) => {
1944
- var _a, _b;
1945
- const parts = item.id.split(' ');
1946
- return { id: item.id, method: (_a = parts[0]) !== null && _a !== void 0 ? _a : 'GET', path: (_b = parts[1]) !== null && _b !== void 0 ? _b : item.id };
1947
- });
1948
- const metricsMap = (0, perfResilienceCoverage_1.parseLoadTestResults)(artifacts.performanceFiles);
1949
- const perfThresholds = { responseMs: 500, errorRate: 0.05 };
1950
- const perfCoverages = (0, perfResilienceCoverage_1.analyzePerformanceCoverage)(endpoints, metricsMap, perfThresholds);
1951
- const scenarios = (0, perfResilienceCoverage_1.buildResilienceScenarios)(endpoints);
1952
- const resilienceCoverages = await (0, perfResilienceCoverage_1.analyzeResilienceCoverage)(scenarios, testsGlob);
1953
- const report = (0, perfResilienceCoverage_1.buildPerfResilienceReport)(perfCoverages, resilienceCoverages);
1954
- const perfResult = {
1955
- type: 'performance',
1956
- totalItems: report.totalEndpoints,
1957
- coveredItems: report.endpointsWithLoadData,
1958
- coveragePercent: report.performanceCoveragePercent,
1959
- details: report,
1960
- };
1961
- const resilienceResult = {
1962
- type: 'resilience',
1963
- totalItems: report.totalResilienceScenarios,
1964
- coveredItems: report.coveredResilienceScenarios,
1965
- coveragePercent: report.resilienceCoveragePercent,
1966
- details: report,
1967
- };
1968
- allCoverageResults.push(perfResult, resilienceResult);
1969
- console.log(` ${report.endpointsWithLoadData}/${report.totalEndpoints} endpoints have load-test data (${report.performanceCoveragePercent}%)`);
1970
- console.log(` ${report.coveredResilienceScenarios}/${report.totalResilienceScenarios} resilience scenarios covered (${report.resilienceCoveragePercent}%)`);
1971
- }
1972
- catch (perfErr) {
1973
- warnings.push(`Performance coverage failed: ${perfErr instanceof Error ? perfErr.message : String(perfErr)}`);
1974
- }
1975
- }
1976
- else {
1977
- // ─ Inferred: no load-test files found — scan test content for signals ─
1978
- console.log(`\nPerformance & resilience coverage (inferred — no JMeter/k6/Gatling files found)...`);
1979
- // Build a flat list of all known endpoints from earlier coverage results
1980
- const knownEndpoints = ((_v = (_u = (_t = allCoverageResults.find((r) => r.type === 'endpoint')) === null || _t === void 0 ? void 0 : _t.details) === null || _u === void 0 ? void 0 : _u.items) !== null && _v !== void 0 ? _v : []).map((item) => item.id);
1981
- const allTestContent = testEntries.map((e) => e.contentLower);
1982
- const combinedTestContent = allTestContent.join('\n');
1983
- // ─ Performance inference ────────────────────────────────────────────
1984
- const hasPerfSignal = PERF_KEYWORDS.some((kw) => combinedTestContent.includes(kw));
1985
- const perfItems = knownEndpoints.map((endpointId) => {
1986
- var _a, _b;
1987
- const parts = endpointId.split(' ');
1988
- const epPath = ((_a = parts[1]) !== null && _a !== void 0 ? _a : endpointId).toLowerCase();
1989
- const epLeaf = (_b = epPath.split('/').filter(Boolean).pop()) !== null && _b !== void 0 ? _b : epPath;
1990
- const hasEvidenceInTests = testEntries.some(({ contentLower }) => {
1991
- const mentionsEndpoint = epLeaf.length > 2
1992
- ? contentLower.includes(epLeaf)
1993
- : contentLower.includes(epPath);
1994
- const hasPerfKw = PERF_KEYWORDS.some((kw) => contentLower.includes(kw));
1995
- return mentionsEndpoint && hasPerfKw;
1996
- });
1997
- return { id: endpointId, hasEvidence: hasEvidenceInTests };
1998
- });
1999
- const perfCoveredCount = perfItems.filter((i) => i.hasEvidence).length;
2000
- const perfTotal = Math.max(perfItems.length, 1); // avoid 0-denominator
2001
- const perfPct = knownEndpoints.length === 0
2002
- ? (hasPerfSignal ? 30 : 0) // no routes but some signal
2003
- : Math.round((perfCoveredCount / perfItems.length) * 100);
2004
- const perfResult = {
2005
- type: 'performance',
2006
- totalItems: perfItems.length || 1,
2007
- coveredItems: knownEndpoints.length === 0 && hasPerfSignal ? 0 : perfCoveredCount,
2008
- coveragePercent: perfPct,
2009
- details: {
2010
- inferred: true,
2011
- note: 'No JMeter, k6, or Gatling files found. Coverage inferred from test content keywords.',
2012
- totalEndpoints: perfItems.length,
2013
- endpointsWithEvidence: perfCoveredCount,
2014
- performanceCoveragePercent: perfPct,
2015
- items: perfItems,
2016
- },
2017
- };
2018
- allCoverageResults.push(perfResult);
2019
- if (knownEndpoints.length > 0) {
2020
- console.log(` ${perfCoveredCount}/${perfItems.length} endpoints have performance test evidence (${perfPct}%)`);
2021
- }
2022
- else {
2023
- console.log(` Performance signal in tests: ${hasPerfSignal ? 'yes' : 'none'} (0% — no load-test files)`);
2024
- }
2025
- console.log(` [NOTE] Add JMeter .jtl/.csv, k6 .json, or Gatling simulation.log files for accurate load-test metrics.`);
2026
- // ─ Resilience inference ──────────────────────────────────────────────
2027
- const resilienceItems = Object.entries(RESILIENCE_KEYWORD_MAP).map(([category, keywords]) => {
2028
- const covered = testEntries.some(({ contentLower }) => keywords.some((kw) => contentLower.includes(kw)));
2029
- return { id: `resilience:${category}`, category, covered };
2030
- });
2031
- const resCoveredCount = resilienceItems.filter((i) => i.covered).length;
2032
- const resPct = Math.round((resCoveredCount / resilienceItems.length) * 100);
2033
- const resilienceResult = {
2034
- type: 'resilience',
2035
- totalItems: resilienceItems.length,
2036
- coveredItems: resCoveredCount,
2037
- coveragePercent: resPct,
2038
- details: {
2039
- inferred: true,
2040
- note: 'Resilience coverage inferred from test content. No load-test files found.',
2041
- totalResilienceScenarios: resilienceItems.length,
2042
- coveredResilienceScenarios: resCoveredCount,
2043
- resilienceCoveragePercent: resPct,
2044
- items: resilienceItems,
2045
- },
2046
- };
2047
- allCoverageResults.push(resilienceResult);
2048
- console.log(` ${resCoveredCount}/${resilienceItems.length} resilience categories have test evidence (${resPct}%)`);
2049
- }
2050
- }
2051
2002
  if (allCoverageResults.length > 0) {
2052
2003
  const observabilityInfo = (0, observability_1.buildObservabilityInfo)(metricsPort);
2053
2004
  (0, reporting_1.generateMultiFormatReports)(allCoverageResults, ['json'], reportsDir, {}, observabilityInfo);
@@ -2157,143 +2108,185 @@ program
2157
2108
  if (options['dashboard']) {
2158
2109
  (0, serveDashboard_1.serveDashboard)({
2159
2110
  reportsDir: reportsDir,
2160
- port: (_w = options['port']) !== null && _w !== void 0 ? _w : 4000,
2111
+ port: (_u = options['port']) !== null && _u !== void 0 ? _u : 4000,
2161
2112
  open: Boolean(options['open']),
2162
2113
  });
2163
2114
  // Keep the process alive — the HTTP server holds the event loop open
2164
2115
  }
2165
2116
  });
2166
- // ─── serve command ────────────────────────────────────────────────────────────
2167
- program
2168
- .command('serve')
2169
- .description('Start the coverage dashboard UI and serve reports from your reports directory.')
2170
- .option('--reports-dir <dir>', 'Directory containing report JSON files (default: reports/)')
2171
- .option('--port <port>', 'Port to listen on (default: 4000)', parseInt)
2172
- .option('--open', 'Open the dashboard in your browser automatically')
2173
- .action((options) => {
2174
- var _a, _b, _c, _d;
2175
- const configPath = program.opts()['config'];
2176
- const analyzerCfg = (0, config_1.loadCentralConfig)(configPath);
2177
- const reportsDir = (_c = (_a = options['reportsDir']) !== null && _a !== void 0 ? _a : (_b = analyzerCfg.reports) === null || _b === void 0 ? void 0 : _b.outputDir) !== null && _c !== void 0 ? _c : 'reports';
2178
- const port = (_d = options['port']) !== null && _d !== void 0 ? _d : 4000;
2179
- (0, serveDashboard_1.serveDashboard)({
2180
- reportsDir,
2181
- port,
2182
- open: Boolean(options['open']),
2183
- });
2184
- // Keep the process alive while the server runs
2185
- });
2117
+ // ─── event-coverage command ───────────────────────────────────────────────────
2186
2118
  program
2187
- .command('generate-tests')
2188
- .description('Generate test scaffolds for detected coverage gaps')
2189
- .option('--reports-dir <dir>', 'Directory with coverage reports', 'reports/')
2190
- .option('--out-dir <dir>', 'Output directory for generated tests', 'generated-tests/')
2191
- .option('--language <lang>', 'Target language override (auto-detected if omitted)')
2192
- .option('--framework <fw>', 'Test framework override (auto-detected if omitted)')
2193
- .option('--priority <p>', 'Only generate for gaps at this priority or higher', 'P1')
2194
- .option('--dry-run', 'Print generated tests to stdout, do not write files', false)
2195
- .option('--overwrite', 'Overwrite existing generated files', false)
2196
- .option('--gap-id <id>', 'Generate tests for a single specific gap')
2197
- .option('--types <list>', 'Comma-separated gap types to generate (default: all)')
2198
- .option('--no-security', 'Skip security test generation')
2199
- .option('--no-cypress', 'Skip Cypress test generation')
2119
+ .command('event-coverage')
2120
+ .description('Analyze how thoroughly tests cover event/message-driven interactions (Kafka, RabbitMQ, SNS, SQS, etc.)')
2121
+ .option('--source <glob>', 'Glob pattern for source files to scan for event patterns', 'src/**/*.ts')
2122
+ .option('--tests <glob>', 'Glob pattern for test files', 'tests/**/*.ts')
2123
+ .option('--format <formats>', 'Comma-separated list of report formats: json,html,csv,junit (default: json,html)', 'json,html')
2124
+ .option('--threshold-event <percent>', 'Minimum required event coverage percentage (0-100)', parseFloat, 0)
2200
2125
  .action(async (options) => {
2201
- const types = options.types
2202
- ? options.types.split(',').map(t => t.trim())
2203
- : undefined;
2204
- const result = await (0, index_4.generateTests)({
2205
- reportsDir: options.reportsDir,
2206
- outDir: options.outDir,
2207
- language: options.language,
2208
- framework: options.framework,
2209
- priority: options.priority,
2210
- dryRun: Boolean(options.dryRun),
2211
- overwrite: Boolean(options.overwrite),
2212
- gapId: options.gapId,
2213
- types,
2214
- noSecurity: Boolean(options.noSecurity),
2215
- noCypress: Boolean(options.noCypress),
2126
+ var _a, _b;
2127
+ const { metricsPort, serviceName } = setupObservability();
2128
+ const logger = (0, observability_1.getLogger)();
2129
+ const parentOpts = program.opts();
2130
+ const config = loadCoverageConfig(parentOpts.config, {
2131
+ event: options.thresholdEvent,
2216
2132
  });
2217
- if (result.dryRun) {
2218
- for (const file of result.files) {
2219
- console.log(`\n${'='.repeat(60)}`);
2220
- console.log(`// FILE: ${file.relativePath}`);
2221
- console.log(`${'='.repeat(60)}`);
2222
- console.log(file.content);
2223
- }
2133
+ const sourceGlob = options.source;
2134
+ const testsGlob = (config.testPatterns && config.testPatterns.length > 0)
2135
+ ? config.testPatterns[0]
2136
+ : options.tests;
2137
+ const reportsDir = path.resolve('reports');
2138
+ const formats = (0, reporting_1.parseFormats)(options.format);
2139
+ const span = (0, observability_1.startSpan)('event-coverage', { sourceGlob, testsGlob });
2140
+ logger.info({ event: 'analysis_start', coverageType: 'event', sourceGlob }, `Scanning events in: ${sourceGlob}`);
2141
+ console.log(`Scanning events in: ${sourceGlob}`);
2142
+ const { analyzeEventCoverage, writeEventReport } = await Promise.resolve().then(() => __importStar(require('./streaming/eventCoverage')));
2143
+ const eventResult = analyzeEventCoverage(sourceGlob, testsGlob);
2144
+ writeEventReport(eventResult, reportsDir);
2145
+ const result = {
2146
+ type: 'event',
2147
+ totalItems: eventResult.totalItems,
2148
+ coveredItems: eventResult.coveredItems,
2149
+ coveragePercent: eventResult.coveragePercent,
2150
+ details: eventResult.details,
2151
+ };
2152
+ const thresholds = { ...((_a = config.thresholds) !== null && _a !== void 0 ? _a : {}) };
2153
+ // Run plugins
2154
+ const pluginContext = {
2155
+ testPatterns: (_b = config.testPatterns) !== null && _b !== void 0 ? _b : [],
2156
+ results: [result],
2157
+ config,
2158
+ };
2159
+ const pluginResults = await (0, pluginLoader_1.runPlugins)(config, pluginContext);
2160
+ const allResults = [result, ...pluginResults];
2161
+ const observabilityInfo = (0, observability_1.buildObservabilityInfo)(metricsPort);
2162
+ (0, reporting_1.generateMultiFormatReports)(allResults, formats, reportsDir, thresholds, observabilityInfo);
2163
+ console.log(`Event coverage: ${eventResult.coveredItems}/${eventResult.totalItems} events covered (${eventResult.coveragePercent}%)`);
2164
+ if (eventResult.details.unresolvedCount > 0) {
2165
+ console.log(` Unresolved topics: ${eventResult.details.unresolvedCount}`);
2224
2166
  }
2225
- else {
2226
- console.log(`\nTest generation complete:`);
2227
- console.log(` Gaps processed: ${result.totalGaps}`);
2228
- console.log(` Files generated: ${result.generatedCount}`);
2229
- console.log(` Errors: ${result.errors.length}`);
2230
- if (result.errors.length > 0) {
2231
- for (const err of result.errors) {
2232
- console.error(` ERROR [${err.gapId}]: ${err.message}`);
2233
- }
2167
+ for (const [broker, count] of Object.entries(eventResult.details.brokerBreakdown)) {
2168
+ if (count > 0)
2169
+ console.log(` ${broker}: ${count} nodes`);
2170
+ }
2171
+ console.log(`Reports written to: ${reportsDir}`);
2172
+ span.end({ totalItems: eventResult.totalItems, coveredItems: eventResult.coveredItems, coveragePercent: eventResult.coveragePercent });
2173
+ logger.info({ event: 'analysis_complete', coverageType: 'event' }, 'Event coverage analysis complete');
2174
+ await finaliseObservability(allResults, thresholds, metricsPort, serviceName);
2175
+ // Threshold check
2176
+ const failures = (0, reporting_1.checkThresholds)(allResults, thresholds);
2177
+ if (failures.length > 0) {
2178
+ for (const msg of failures) {
2179
+ console.error(`THRESHOLD FAILURE: ${msg}`);
2234
2180
  }
2181
+ process.exitCode = 1;
2235
2182
  }
2236
2183
  });
2184
+ // ─── generate-tests command ──────────────────────────────────────────────────
2237
2185
  program
2238
- .command('export-ai-flows')
2239
- .description('Export AI-ready flow documentation for Copilot/Cursor/Claude')
2240
- .option('--reports-dir <dir>', 'Directory with coverage reports', 'reports/')
2241
- .option('--out-dir <dir>', 'Output directory for AI flow files', 'reports/')
2242
- .option('--format <fmt>', 'Output format: markdown, json, or both', 'both')
2243
- .option('--max-gaps <n>', 'Maximum number of gaps to include', '50')
2244
- .option('--priority <p>', 'Only include gaps at this priority or higher', 'P3')
2186
+ .command('generate-tests')
2187
+ .description('Generate test files for coverage gaps detected in reports/')
2188
+ .option('--source <glob>', 'Glob pattern for source files', 'src/**/*.ts')
2189
+ .option('--tests <glob>', 'Glob pattern for existing test files', 'tests/**/*.ts')
2190
+ .option('--out-dir <dir>', 'Output directory for generated tests')
2191
+ .option('--base-url <url>', 'Base URL for API requests', 'http://localhost:3000')
2192
+ .option('--dry-run', 'Show what would be generated without writing files', false)
2245
2193
  .action(async (options) => {
2246
- const flows = await (0, index_4.exportAiFlows)({
2247
- reportsDir: options.reportsDir,
2194
+ const logger = (0, observability_1.getLogger)();
2195
+ const reportsDir = path.resolve('reports');
2196
+ logger.info({ event: 'generation_start' }, 'Starting test generation...');
2197
+ console.log('Starting test generation...');
2198
+ const { TestGenerationEngine } = await Promise.resolve().then(() => __importStar(require('./generation/engine')));
2199
+ const engine = new TestGenerationEngine(process.cwd(), reportsDir);
2200
+ const generated = engine.generateTests({
2201
+ dryRun: options.dryRun,
2248
2202
  outDir: options.outDir,
2249
- format: options.format,
2250
- maxGaps: parseInt(options.maxGaps, 10),
2251
- priority: options.priority,
2203
+ baseUrl: options.baseUrl,
2252
2204
  });
2253
- console.log(`\nAI flows export complete:`);
2254
- console.log(` Gaps exported: ${flows.gaps.length}`);
2255
- console.log(` Project: ${flows.project.name}`);
2256
- console.log(` Language: ${flows.project.language}`);
2205
+ console.log(`Generated ${generated.length} test file(s)`);
2206
+ for (const f of generated) {
2207
+ console.log(` ${options.dryRun ? '[dry-run] ' : ''}${f.outputPath} (${f.gapId})`);
2208
+ }
2209
+ if (options.dryRun) {
2210
+ console.log('\nDry run complete — no files were written.');
2211
+ }
2257
2212
  });
2213
+ // ─── score-tests command ─────────────────────────────────────────────────────
2258
2214
  program
2259
2215
  .command('score-tests')
2260
- .description('Score quality of existing test suite on 5 dimensions (0-100)')
2261
- .option('--tests <glob>', 'Glob pattern for test files to score', 'tests/**/*.test.ts')
2262
- .option('--reports-dir <dir>', 'Directory to write quality score output', 'reports/')
2263
- .option('--fail-below <score>', 'Exit non-zero if any file scores below this', '0')
2216
+ .description('Score existing test files for quality (status assertions, error paths, matchers)')
2217
+ .option('--tests <glob>', 'Glob pattern for test files', 'tests/**/*.ts')
2218
+ .option('--threshold-quality <percent>', 'Minimum average quality score (0-100)', parseFloat, 0)
2264
2219
  .action(async (options) => {
2265
- var _a;
2266
- try {
2267
- const report = await (0, index_4.scoreTests)({
2268
- testsGlob: options.tests,
2269
- reportsDir: options.reportsDir,
2270
- failBelow: parseInt(options.failBelow, 10),
2271
- });
2272
- console.log(`\nTest Quality Score Report:`);
2273
- console.log(` Overall score: ${report.overallScore}/100`);
2274
- console.log(` Files scored: ${report.byFile.length}`);
2275
- if (report.lowestQualityFiles.length > 0) {
2276
- console.log(`\n Lowest quality files:`);
2277
- for (const f of report.lowestQualityFiles) {
2278
- const entry = report.byFile.find(b => b.file === f);
2279
- console.log(` ${f}: ${(_a = entry === null || entry === void 0 ? void 0 : entry.score) !== null && _a !== void 0 ? _a : '?'}/100`);
2280
- }
2281
- }
2282
- if (report.highestRiskLowQualityGaps.length > 0) {
2283
- console.log(`\n High risk + low quality:`);
2284
- for (const g of report.highestRiskLowQualityGaps) {
2285
- console.log(` ${g.endpoint}: quality=${g.qualityScore}, risk=${g.riskScore}`);
2286
- console.log(` → ${g.primaryIssue}`);
2220
+ const logger = (0, observability_1.getLogger)();
2221
+ const testsGlob = options.tests;
2222
+ logger.info({ event: 'scoring_start' }, 'Scoring test quality...');
2223
+ console.log(`Scoring test quality for: ${testsGlob}`);
2224
+ const { TestGenerationEngine } = await Promise.resolve().then(() => __importStar(require('./generation/engine')));
2225
+ const engine = new TestGenerationEngine(process.cwd());
2226
+ const reports = engine.scoreTests(testsGlob);
2227
+ const avgScore = reports.length > 0
2228
+ ? Math.round(reports.reduce((s, r) => s + r.overallScore, 0) / reports.length)
2229
+ : 0;
2230
+ console.log(`\nScored ${reports.length} test file(s)`);
2231
+ console.log(`Average quality score: ${avgScore}/100`);
2232
+ const lowQuality = reports.filter((r) => r.overallScore < 60);
2233
+ if (lowQuality.length > 0) {
2234
+ console.log(`\nFiles below 60 quality:`);
2235
+ for (const r of lowQuality) {
2236
+ console.log(` ${r.file}: ${r.overallScore}/100`);
2237
+ for (const v of r.violations) {
2238
+ console.log(` - ${v}`);
2287
2239
  }
2288
2240
  }
2289
- console.log(`\n Report written to: ${options.reportsDir}/test-quality.json`);
2290
2241
  }
2291
- catch (err) {
2292
- if (err instanceof Error) {
2293
- console.error(err.message);
2294
- }
2295
- process.exit(1);
2242
+ const thresholdQuality = options.thresholdQuality;
2243
+ if (thresholdQuality > 0 && avgScore < thresholdQuality) {
2244
+ console.error(`THRESHOLD FAILURE: Average quality ${avgScore}% < ${thresholdQuality}%`);
2245
+ process.exitCode = 1;
2246
+ }
2247
+ });
2248
+ // ─── export-ai-flows command ─────────────────────────────────────────────────
2249
+ program
2250
+ .command('export-ai-flows')
2251
+ .description('Export AI-ready test generation flows for Copilot / LLM consumption')
2252
+ .option('--source <glob>', 'Glob pattern for source files', 'src/**/*.ts')
2253
+ .option('--tests <glob>', 'Glob pattern for test files', 'tests/**/*.ts')
2254
+ .action(async (options) => {
2255
+ const logger = (0, observability_1.getLogger)();
2256
+ const reportsDir = path.resolve('reports');
2257
+ logger.info({ event: 'ai_flows_start' }, 'Exporting AI-ready flows...');
2258
+ console.log('Exporting AI-ready flows...');
2259
+ const { TestGenerationEngine } = await Promise.resolve().then(() => __importStar(require('./generation/engine')));
2260
+ const engine = new TestGenerationEngine(process.cwd(), reportsDir);
2261
+ const manifest = engine.exportAiFlows({
2262
+ sourceGlob: options.source,
2263
+ testsGlob: options.tests,
2264
+ });
2265
+ console.log(`Exported ${manifest.totalFlows} AI-ready flow(s)`);
2266
+ for (const [type, count] of Object.entries(manifest.byType)) {
2267
+ console.log(` ${type}: ${count}`);
2296
2268
  }
2269
+ console.log(`\nReports written to: ${reportsDir}`);
2270
+ });
2271
+ // ─── serve command ────────────────────────────────────────────────────────────
2272
+ program
2273
+ .command('serve')
2274
+ .description('Start the coverage dashboard UI and serve reports from your reports directory.')
2275
+ .option('--reports-dir <dir>', 'Directory containing report JSON files (default: reports/)')
2276
+ .option('--port <port>', 'Port to listen on (default: 4000)', parseInt)
2277
+ .option('--open', 'Open the dashboard in your browser automatically')
2278
+ .action((options) => {
2279
+ var _a, _b, _c, _d;
2280
+ const configPath = program.opts()['config'];
2281
+ const analyzerCfg = (0, config_1.loadCentralConfig)(configPath);
2282
+ const reportsDir = (_c = (_a = options['reportsDir']) !== null && _a !== void 0 ? _a : (_b = analyzerCfg.reports) === null || _b === void 0 ? void 0 : _b.outputDir) !== null && _c !== void 0 ? _c : 'reports';
2283
+ const port = (_d = options['port']) !== null && _d !== void 0 ? _d : 4000;
2284
+ (0, serveDashboard_1.serveDashboard)({
2285
+ reportsDir,
2286
+ port,
2287
+ open: Boolean(options['open']),
2288
+ });
2289
+ // Keep the process alive while the server runs
2297
2290
  });
2298
2291
  // Parse the command-line arguments
2299
2292
  program.parse(process.argv);
@@ -1 +1 @@
1
- {"version":3,"file":"businessRuleInference.d.ts","sourceRoot":"","sources":["../../../src/inference/businessRuleInference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AACjD,MAAM,MAAM,QAAQ,GAChB,YAAY,GACZ,eAAe,GACf,gBAAgB,GAChB,YAAY,CAAC;AAEjB,MAAM,WAAW,oBAAoB;IACnC,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,UAAU,CAAC;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8BAA8B;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAwPD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,EAAE,CA8C3E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EAAE,EACtB,QAAQ,GAAE,MAAM,EAAO,GACtB,2BAA2B,CAuB7B;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,2BAA2B,EACnC,UAAU,EAAE,MAAM,GACjB,MAAM,CAYR;AAID,eAAO,MAAM,kBAAkB,aAM7B,CAAC;AAEH;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAwCnE"}
1
+ {"version":3,"file":"businessRuleInference.d.ts","sourceRoot":"","sources":["../../../src/inference/businessRuleInference.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AACjD,MAAM,MAAM,QAAQ,GAChB,YAAY,GACZ,eAAe,GACf,gBAAgB,GAChB,YAAY,CAAC;AAEjB,MAAM,WAAW,oBAAoB;IACnC,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,UAAU,CAAC;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8BAA8B;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA2ID;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,EAAE,CA4C3E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EAAE,EACtB,QAAQ,GAAE,MAAM,EAAO,GACtB,2BAA2B,CAuB7B;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,2BAA2B,EACnC,UAAU,EAAE,MAAM,GACjB,MAAM,CAYR;AAID,eAAO,MAAM,kBAAkB,aAM7B,CAAC;AAEH;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAwCnE"}