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
@@ -1,47 +1,61 @@
1
1
  {
2
- "generatedAt": "2026-03-09T05:11:14.677Z",
2
+ "generatedAt": "2026-03-13T00:00:00.000Z",
3
+ "discoveryInfo": {
4
+ "projectRoot": "/wallets-payments-api",
5
+ "languages": [
6
+ "typescript"
7
+ ],
8
+ "frameworks": [
9
+ "express",
10
+ "jest"
11
+ ],
12
+ "serviceFilesCount": 24,
13
+ "testFilesCount": 9,
14
+ "specFilesCount": 1,
15
+ "analysisMode": "full"
16
+ },
3
17
  "summary": [
4
18
  {
5
19
  "type": "endpoint",
20
+ "totalItems": 15,
21
+ "coveredItems": 14,
22
+ "coveragePercent": 93.33
23
+ },
24
+ {
25
+ "type": "parameter",
6
26
  "totalItems": 13,
7
- "coveredItems": 12,
8
- "coveragePercent": 92.31
27
+ "coveredItems": 10,
28
+ "coveragePercent": 76.92
9
29
  },
10
30
  {
11
31
  "type": "business",
12
- "totalItems": 8,
13
- "coveredItems": 7,
14
- "coveragePercent": 87.5
32
+ "totalItems": 9,
33
+ "coveredItems": 8,
34
+ "coveragePercent": 88.89
15
35
  },
16
36
  {
17
- "type": "error",
18
- "totalItems": 30,
19
- "coveredItems": 0,
20
- "coveragePercent": 0
37
+ "type": "integration",
38
+ "totalItems": 5,
39
+ "coveredItems": 3,
40
+ "coveragePercent": 60.0
21
41
  },
22
42
  {
23
43
  "type": "security",
24
- "totalItems": 26,
25
- "coveredItems": 6,
26
- "coveragePercent": 23.08
27
- },
28
- {
29
- "type": "parameter",
30
- "totalItems": 12,
31
- "coveredItems": 9,
32
- "coveragePercent": 75.0
44
+ "totalItems": 27,
45
+ "coveredItems": 7,
46
+ "coveragePercent": 25.93
33
47
  },
34
48
  {
35
- "type": "integration",
36
- "totalItems": 5,
37
- "coveredItems": 4,
38
- "coveragePercent": 80.0
49
+ "type": "error",
50
+ "totalItems": 30,
51
+ "coveredItems": 0,
52
+ "coveragePercent": 0.0
39
53
  },
40
54
  {
41
55
  "type": "performance",
42
56
  "totalItems": 6,
43
- "coveredItems": 4,
44
- "coveragePercent": 66.67
57
+ "coveredItems": 3,
58
+ "coveragePercent": 50.0
45
59
  },
46
60
  {
47
61
  "type": "resilience",
@@ -51,712 +65,930 @@
51
65
  }
52
66
  ],
53
67
  "details": {
54
- "endpoint": [
55
- {
56
- "endpoint": {
57
- "method": "GET",
58
- "path": "/wallets"
59
- },
60
- "covered": true
61
- },
62
- {
63
- "endpoint": {
64
- "method": "POST",
65
- "path": "/wallets"
66
- },
67
- "covered": true
68
- },
69
- {
70
- "endpoint": {
71
- "method": "GET",
72
- "path": "/wallets/{id}"
73
- },
74
- "covered": true
75
- },
76
- {
77
- "endpoint": {
78
- "method": "DELETE",
79
- "path": "/wallets/{id}"
80
- },
81
- "covered": true
82
- },
83
- {
84
- "endpoint": {
85
- "method": "PATCH",
86
- "path": "/wallets/{id}/freeze"
87
- },
88
- "covered": true
89
- },
90
- {
91
- "endpoint": {
92
- "method": "PATCH",
93
- "path": "/wallets/{id}/unfreeze"
94
- },
95
- "covered": true
96
- },
97
- {
98
- "endpoint": {
99
- "method": "POST",
100
- "path": "/wallets/{id}/fund"
101
- },
102
- "covered": true
103
- },
104
- {
105
- "endpoint": {
106
- "method": "POST",
107
- "path": "/wallets/{id}/debit"
108
- },
109
- "covered": true
110
- },
111
- {
112
- "endpoint": {
113
- "method": "POST",
114
- "path": "/wallets/{id}/transfer"
115
- },
116
- "covered": true
117
- },
118
- {
119
- "endpoint": {
120
- "method": "POST",
121
- "path": "/payments"
122
- },
123
- "covered": true
124
- },
125
- {
126
- "endpoint": {
127
- "method": "GET",
128
- "path": "/payments/{id}"
129
- },
130
- "covered": true
131
- },
132
- {
133
- "endpoint": {
134
- "method": "POST",
135
- "path": "/payments/{id}/refund"
136
- },
137
- "covered": true
138
- },
139
- {
140
- "endpoint": {
141
- "method": "GET",
142
- "path": "/transactions"
143
- },
144
- "covered": false
145
- },
146
- {
147
- "endpoint": {
148
- "method": "GET",
149
- "path": "/api/users"
150
- },
151
- "covered": true
152
- },
153
- {
154
- "endpoint": {
155
- "method": "GET",
156
- "path": "/api/products"
157
- },
158
- "covered": true
159
- }
160
- ],
161
- "business": [
162
- {
163
- "name": "min-fund-amount",
164
- "covered": true
165
- },
166
- {
167
- "name": "insufficient-funds",
168
- "covered": true
169
- },
170
- {
171
- "name": "frozen-wallet-reject",
172
- "covered": true
173
- },
174
- {
175
- "name": "daily-limit",
176
- "covered": false
177
- },
178
- {
179
- "name": "transfer-same-currency",
180
- "covered": true
181
- },
182
- {
183
- "name": "refund-window",
184
- "covered": true
185
- },
186
- {
187
- "name": "fraud-check",
188
- "covered": true
189
- },
190
- {
191
- "name": "idempotency",
192
- "covered": true
193
- },
194
- {
195
- "name": "unique email validation",
196
- "covered": true
197
- }
198
- ],
199
- "error": [
200
- {
201
- "endpoint": {
202
- "method": "GET",
203
- "path": "/wallets"
204
- },
205
- "covered": false,
206
- "errorCodes": [
207
- "401"
208
- ]
209
- },
210
- {
211
- "endpoint": {
212
- "method": "POST",
213
- "path": "/wallets"
214
- },
215
- "covered": false,
216
- "errorCodes": [
217
- "400"
218
- ]
219
- },
220
- {
221
- "endpoint": {
222
- "method": "POST",
223
- "path": "/wallets"
224
- },
225
- "covered": false,
226
- "errorCodes": [
227
- "401"
228
- ]
229
- },
230
- {
231
- "endpoint": {
232
- "method": "GET",
233
- "path": "/wallets/{id}"
234
- },
235
- "covered": false,
236
- "errorCodes": [
237
- "401"
238
- ]
239
- },
240
- {
241
- "endpoint": {
242
- "method": "GET",
243
- "path": "/wallets/{id}"
244
- },
245
- "covered": false,
246
- "errorCodes": [
247
- "404"
248
- ]
249
- },
250
- {
251
- "endpoint": {
252
- "method": "DELETE",
253
- "path": "/wallets/{id}"
254
- },
255
- "covered": false,
256
- "errorCodes": [
257
- "401"
258
- ]
259
- },
260
- {
261
- "endpoint": {
262
- "method": "DELETE",
263
- "path": "/wallets/{id}"
264
- },
265
- "covered": false,
266
- "errorCodes": [
267
- "404"
268
- ]
269
- },
270
- {
271
- "endpoint": {
272
- "method": "PATCH",
273
- "path": "/wallets/{id}/freeze"
274
- },
275
- "covered": false,
276
- "errorCodes": [
277
- "401"
278
- ]
279
- },
280
- {
281
- "endpoint": {
282
- "method": "PATCH",
283
- "path": "/wallets/{id}/freeze"
284
- },
285
- "covered": false,
286
- "errorCodes": [
287
- "404"
288
- ]
289
- },
290
- {
291
- "endpoint": {
292
- "method": "PATCH",
293
- "path": "/wallets/{id}/freeze"
294
- },
295
- "covered": false,
296
- "errorCodes": [
297
- "422"
298
- ]
299
- },
300
- {
301
- "endpoint": {
302
- "method": "PATCH",
303
- "path": "/wallets/{id}/unfreeze"
304
- },
305
- "covered": false,
306
- "errorCodes": [
307
- "401"
308
- ]
309
- },
310
- {
311
- "endpoint": {
312
- "method": "PATCH",
313
- "path": "/wallets/{id}/unfreeze"
314
- },
315
- "covered": false,
316
- "errorCodes": [
317
- "404"
318
- ]
319
- },
320
- {
321
- "endpoint": {
322
- "method": "PATCH",
323
- "path": "/wallets/{id}/unfreeze"
324
- },
325
- "covered": false,
326
- "errorCodes": [
327
- "422"
328
- ]
329
- },
330
- {
331
- "endpoint": {
332
- "method": "POST",
333
- "path": "/wallets/{id}/fund"
334
- },
335
- "covered": false,
336
- "errorCodes": [
337
- "401"
338
- ]
339
- },
340
- {
341
- "endpoint": {
342
- "method": "POST",
343
- "path": "/wallets/{id}/fund"
344
- },
345
- "covered": false,
346
- "errorCodes": [
347
- "404"
348
- ]
349
- },
350
- {
351
- "endpoint": {
352
- "method": "POST",
353
- "path": "/wallets/{id}/fund"
354
- },
355
- "covered": false,
356
- "errorCodes": [
357
- "422"
358
- ]
359
- },
360
- {
361
- "endpoint": {
362
- "method": "POST",
363
- "path": "/wallets/{id}/debit"
364
- },
365
- "covered": false,
366
- "errorCodes": [
367
- "401"
368
- ]
369
- },
370
- {
371
- "endpoint": {
372
- "method": "POST",
373
- "path": "/wallets/{id}/debit"
374
- },
375
- "covered": false,
376
- "errorCodes": [
377
- "404"
378
- ]
379
- },
380
- {
381
- "endpoint": {
382
- "method": "POST",
383
- "path": "/wallets/{id}/debit"
384
- },
385
- "covered": false,
386
- "errorCodes": [
387
- "422"
388
- ]
389
- },
390
- {
391
- "endpoint": {
392
- "method": "POST",
393
- "path": "/wallets/{id}/transfer"
394
- },
395
- "covered": false,
396
- "errorCodes": [
397
- "401"
398
- ]
399
- },
400
- {
401
- "endpoint": {
402
- "method": "POST",
403
- "path": "/wallets/{id}/transfer"
404
- },
405
- "covered": false,
406
- "errorCodes": [
407
- "404"
408
- ]
409
- },
410
- {
411
- "endpoint": {
412
- "method": "POST",
413
- "path": "/wallets/{id}/transfer"
414
- },
415
- "covered": false,
416
- "errorCodes": [
417
- "422"
418
- ]
419
- },
420
- {
421
- "endpoint": {
422
- "method": "POST",
423
- "path": "/payments"
424
- },
425
- "covered": false,
426
- "errorCodes": [
427
- "401"
428
- ]
429
- },
430
- {
431
- "endpoint": {
432
- "method": "POST",
433
- "path": "/payments"
434
- },
435
- "covered": false,
436
- "errorCodes": [
437
- "422"
438
- ]
439
- },
440
- {
441
- "endpoint": {
442
- "method": "GET",
443
- "path": "/payments/{id}"
444
- },
445
- "covered": false,
446
- "errorCodes": [
447
- "401"
448
- ]
449
- },
450
- {
451
- "endpoint": {
452
- "method": "GET",
453
- "path": "/payments/{id}"
454
- },
455
- "covered": false,
456
- "errorCodes": [
457
- "404"
458
- ]
459
- },
460
- {
461
- "endpoint": {
462
- "method": "POST",
463
- "path": "/payments/{id}/refund"
464
- },
465
- "covered": false,
466
- "errorCodes": [
467
- "401"
468
- ]
469
- },
470
- {
471
- "endpoint": {
472
- "method": "POST",
473
- "path": "/payments/{id}/refund"
474
- },
475
- "covered": false,
476
- "errorCodes": [
477
- "404"
478
- ]
479
- },
480
- {
481
- "endpoint": {
482
- "method": "POST",
483
- "path": "/payments/{id}/refund"
484
- },
485
- "covered": false,
486
- "errorCodes": [
487
- "422"
488
- ]
489
- },
490
- {
491
- "endpoint": {
492
- "method": "GET",
493
- "path": "/transactions"
494
- },
495
- "covered": false,
496
- "errorCodes": [
497
- "401"
498
- ]
499
- }
500
- ],
501
- "security": [
502
- {
503
- "control": {
68
+ "endpoint": {
69
+ "items": [
70
+ {
71
+ "id": "GET /wallets",
72
+ "covered": true,
73
+ "tests": [
74
+ "tests/blackbox/wallets.blackbox.test.ts"
75
+ ],
76
+ "evidence": {
77
+ "confidence": "high",
78
+ "detectionMode": "direct",
79
+ "matchedFrameworks": [
80
+ "typescript"
81
+ ]
82
+ }
83
+ },
84
+ {
85
+ "id": "POST /wallets",
86
+ "covered": true,
87
+ "tests": [
88
+ "tests/blackbox/wallets.blackbox.test.ts",
89
+ "tests/integration/wallets.integration.test.ts"
90
+ ],
91
+ "evidence": {
92
+ "confidence": "high",
93
+ "detectionMode": "direct",
94
+ "matchedFrameworks": [
95
+ "typescript"
96
+ ]
97
+ }
98
+ },
99
+ {
100
+ "id": "GET /wallets/{id}",
101
+ "covered": true,
102
+ "tests": [
103
+ "tests/integration/wallets.integration.test.ts"
104
+ ],
105
+ "evidence": {
106
+ "confidence": "high",
107
+ "detectionMode": "direct",
108
+ "matchedFrameworks": [
109
+ "typescript"
110
+ ]
111
+ }
112
+ },
113
+ {
114
+ "id": "DELETE /wallets/{id}",
115
+ "covered": true,
116
+ "tests": [
117
+ "tests/blackbox/wallets.blackbox.test.ts",
118
+ "tests/integration/wallets.integration.test.ts"
119
+ ],
120
+ "evidence": {
121
+ "confidence": "medium",
122
+ "detectionMode": "string-template",
123
+ "matchedFrameworks": [
124
+ "typescript"
125
+ ]
126
+ }
127
+ },
128
+ {
129
+ "id": "PATCH /wallets/{id}/freeze",
130
+ "covered": true,
131
+ "tests": [
132
+ "tests/blackbox/wallets.blackbox.test.ts",
133
+ "tests/integration/wallets.integration.test.ts"
134
+ ],
135
+ "evidence": {
136
+ "confidence": "medium",
137
+ "detectionMode": "string-template",
138
+ "matchedFrameworks": [
139
+ "typescript"
140
+ ]
141
+ }
142
+ },
143
+ {
144
+ "id": "PATCH /wallets/{id}/unfreeze",
145
+ "covered": true,
146
+ "tests": [
147
+ "tests/blackbox/wallets.blackbox.test.ts",
148
+ "tests/integration/wallets.integration.test.ts"
149
+ ],
150
+ "evidence": {
151
+ "confidence": "medium",
152
+ "detectionMode": "string-template",
153
+ "matchedFrameworks": [
154
+ "typescript"
155
+ ]
156
+ }
157
+ },
158
+ {
159
+ "id": "POST /wallets/{id}/fund",
160
+ "covered": true,
161
+ "tests": [
162
+ "tests/blackbox/wallets.blackbox.test.ts",
163
+ "tests/integration/wallets.integration.test.ts"
164
+ ],
165
+ "evidence": {
166
+ "confidence": "medium",
167
+ "detectionMode": "string-template",
168
+ "matchedFrameworks": [
169
+ "typescript"
170
+ ]
171
+ }
172
+ },
173
+ {
174
+ "id": "POST /wallets/{id}/debit",
175
+ "covered": true,
176
+ "tests": [
177
+ "tests/blackbox/wallets.blackbox.test.ts",
178
+ "tests/integration/wallets.integration.test.ts"
179
+ ],
180
+ "evidence": {
181
+ "confidence": "medium",
182
+ "detectionMode": "string-template",
183
+ "matchedFrameworks": [
184
+ "typescript"
185
+ ]
186
+ }
187
+ },
188
+ {
189
+ "id": "POST /wallets/{id}/transfer",
190
+ "covered": true,
191
+ "tests": [
192
+ "tests/blackbox/wallets.blackbox.test.ts",
193
+ "tests/integration/wallets.integration.test.ts"
194
+ ],
195
+ "evidence": {
196
+ "confidence": "medium",
197
+ "detectionMode": "string-template",
198
+ "matchedFrameworks": [
199
+ "typescript"
200
+ ]
201
+ }
202
+ },
203
+ {
204
+ "id": "POST /payments",
205
+ "covered": true,
206
+ "tests": [
207
+ "tests/blackbox/payments.blackbox.test.ts",
208
+ "tests/integration/payments.integration.test.ts"
209
+ ],
210
+ "evidence": {
211
+ "confidence": "high",
212
+ "detectionMode": "direct",
213
+ "matchedFrameworks": [
214
+ "typescript"
215
+ ]
216
+ }
217
+ },
218
+ {
219
+ "id": "GET /payments/{id}",
220
+ "covered": true,
221
+ "tests": [
222
+ "tests/integration/payments.integration.test.ts"
223
+ ],
224
+ "evidence": {
225
+ "confidence": "high",
226
+ "detectionMode": "direct",
227
+ "matchedFrameworks": [
228
+ "typescript"
229
+ ]
230
+ }
231
+ },
232
+ {
233
+ "id": "POST /payments/{id}/refund",
234
+ "covered": true,
235
+ "tests": [
236
+ "tests/blackbox/payments.blackbox.test.ts",
237
+ "tests/integration/payments.integration.test.ts"
238
+ ],
239
+ "evidence": {
240
+ "confidence": "medium",
241
+ "detectionMode": "string-template",
242
+ "matchedFrameworks": [
243
+ "typescript"
244
+ ]
245
+ }
246
+ },
247
+ {
248
+ "id": "GET /transactions",
249
+ "covered": false,
250
+ "tests": []
251
+ },
252
+ {
253
+ "id": "GET /api/users",
254
+ "covered": true,
255
+ "tests": [
256
+ "tests/integration/users.integration.test.ts"
257
+ ],
258
+ "evidence": {
259
+ "confidence": "high",
260
+ "detectionMode": "direct",
261
+ "matchedFrameworks": [
262
+ "typescript"
263
+ ]
264
+ }
265
+ },
266
+ {
267
+ "id": "GET /api/products",
268
+ "covered": true,
269
+ "tests": [
270
+ "tests/integration/products.integration.test.ts"
271
+ ],
272
+ "evidence": {
273
+ "confidence": "high",
274
+ "detectionMode": "direct",
275
+ "matchedFrameworks": [
276
+ "typescript"
277
+ ]
278
+ }
279
+ }
280
+ ]
281
+ },
282
+ "parameter": {
283
+ "items": [
284
+ {
285
+ "id": "GET /wallets:query.status",
286
+ "covered": true,
287
+ "tests": [
288
+ "tests/blackbox/wallets.blackbox.test.ts"
289
+ ]
290
+ },
291
+ {
292
+ "id": "GET /wallets:query.limit",
293
+ "covered": true,
294
+ "tests": [
295
+ "tests/blackbox/wallets.blackbox.test.ts"
296
+ ]
297
+ },
298
+ {
299
+ "id": "GET /wallets:query.page",
300
+ "covered": true,
301
+ "tests": [
302
+ "tests/blackbox/wallets.blackbox.test.ts"
303
+ ]
304
+ },
305
+ {
306
+ "id": "GET /wallets/{id}:path.id",
307
+ "covered": true,
308
+ "tests": [
309
+ "tests/integration/wallets.integration.test.ts"
310
+ ]
311
+ },
312
+ {
313
+ "id": "DELETE /wallets/{id}:path.id",
314
+ "covered": true,
315
+ "tests": [
316
+ "tests/integration/wallets.integration.test.ts"
317
+ ]
318
+ },
319
+ {
320
+ "id": "POST /wallets/{id}/fund:body.amount",
321
+ "covered": true,
322
+ "tests": [
323
+ "tests/blackbox/wallets.blackbox.test.ts"
324
+ ]
325
+ },
326
+ {
327
+ "id": "POST /wallets/{id}/fund:body.currency",
328
+ "covered": true,
329
+ "tests": [
330
+ "tests/blackbox/wallets.blackbox.test.ts"
331
+ ]
332
+ },
333
+ {
334
+ "id": "POST /wallets/{id}/debit:body.amount",
335
+ "covered": true,
336
+ "tests": [
337
+ "tests/integration/wallets.integration.test.ts"
338
+ ]
339
+ },
340
+ {
341
+ "id": "POST /wallets/{id}/transfer:body.targetWalletId",
342
+ "covered": false,
343
+ "tests": []
344
+ },
345
+ {
346
+ "id": "POST /payments:body.amount",
347
+ "covered": true,
348
+ "tests": [
349
+ "tests/blackbox/payments.blackbox.test.ts"
350
+ ]
351
+ },
352
+ {
353
+ "id": "POST /payments:body.currency",
354
+ "covered": false,
355
+ "tests": []
356
+ },
357
+ {
358
+ "id": "GET /payments/{id}:path.id",
359
+ "covered": true,
360
+ "tests": [
361
+ "tests/blackbox/payments.blackbox.test.ts"
362
+ ]
363
+ },
364
+ {
365
+ "id": "POST /payments/{id}/refund:path.id",
366
+ "covered": false,
367
+ "tests": []
368
+ }
369
+ ]
370
+ },
371
+ "business": {
372
+ "items": [
373
+ {
374
+ "id": "min-fund-amount",
375
+ "covered": true,
376
+ "tests": [
377
+ "tests/blackbox/payments.blackbox.test.ts",
378
+ "tests/blackbox/wallets.blackbox.test.ts",
379
+ "tests/integration/wallets.integration.test.ts"
380
+ ],
381
+ "description": "Minimum funding amount is $1"
382
+ },
383
+ {
384
+ "id": "insufficient-funds",
385
+ "covered": true,
386
+ "tests": [
387
+ "tests/blackbox/payments.blackbox.test.ts",
388
+ "tests/blackbox/wallets.blackbox.test.ts",
389
+ "tests/integration/wallets.integration.test.ts",
390
+ "tests/unit/riskService.test.ts",
391
+ "tests/unit/walletService.test.ts"
392
+ ],
393
+ "description": "Debit cannot exceed balance"
394
+ },
395
+ {
396
+ "id": "frozen-wallet-reject",
397
+ "covered": true,
398
+ "tests": [
399
+ "tests/blackbox/wallets.blackbox.test.ts",
400
+ "tests/integration/wallets.integration.test.ts",
401
+ "tests/unit/riskService.test.ts",
402
+ "tests/unit/walletService.test.ts"
403
+ ],
404
+ "description": "Frozen wallets reject all transactions"
405
+ },
406
+ {
407
+ "id": "daily-limit",
408
+ "covered": false,
409
+ "tests": [],
410
+ "description": "Daily transaction limit is $10,000"
411
+ },
412
+ {
413
+ "id": "transfer-same-currency",
414
+ "covered": true,
415
+ "tests": [
416
+ "tests/blackbox/payments.blackbox.test.ts",
417
+ "tests/blackbox/wallets.blackbox.test.ts",
418
+ "tests/integration/wallets.integration.test.ts"
419
+ ],
420
+ "description": "Transfer requires matching currencies"
421
+ },
422
+ {
423
+ "id": "refund-window",
424
+ "covered": true,
425
+ "tests": [
426
+ "tests/blackbox/payments.blackbox.test.ts",
427
+ "tests/blackbox/wallets.blackbox.test.ts",
428
+ "tests/integration/payments.integration.test.ts",
429
+ "tests/integration/wallets.integration.test.ts"
430
+ ],
431
+ "description": "Refund allowed only within 30 days"
432
+ },
433
+ {
434
+ "id": "fraud-check",
435
+ "covered": true,
436
+ "tests": [
437
+ "tests/unit/paymentService.test.ts",
438
+ "tests/wiremock/fraudEngine.wiremock.test.ts"
439
+ ],
440
+ "description": "Payments require fraud check approval"
441
+ },
442
+ {
443
+ "id": "idempotency",
444
+ "covered": true,
445
+ "tests": [
446
+ "tests/blackbox/payments.blackbox.test.ts",
447
+ "tests/integration/payments.integration.test.ts"
448
+ ],
449
+ "description": "Duplicate requests with same key return same result"
450
+ },
451
+ {
452
+ "id": "unique email",
453
+ "covered": true,
454
+ "tests": [
455
+ "tests/integration/users.integration.test.ts"
456
+ ],
457
+ "description": "Unique email required for all user accounts"
458
+ }
459
+ ]
460
+ },
461
+ "integration": {
462
+ "items": [
463
+ {
464
+ "id": "User Registration to First Payment Flow",
465
+ "covered": true,
466
+ "tests": [
467
+ "tests/integration/wallets.integration.test.ts",
468
+ "tests/blackbox/payments.blackbox.test.ts"
469
+ ],
470
+ "flowName": "User Registration to First Payment Flow",
471
+ "steps": 4,
472
+ "coveredSteps": 4
473
+ },
474
+ {
475
+ "id": "Wallet Fund and Transfer Flow",
476
+ "covered": true,
477
+ "tests": [
478
+ "tests/integration/wallets.integration.test.ts"
479
+ ],
480
+ "flowName": "Wallet Fund and Transfer Flow",
481
+ "steps": 3,
482
+ "coveredSteps": 3
483
+ },
484
+ {
485
+ "id": "Payment Refund Lifecycle",
486
+ "covered": false,
487
+ "tests": [],
488
+ "flowName": "Payment Refund Lifecycle",
489
+ "steps": 3,
490
+ "coveredSteps": 0
491
+ },
492
+ {
493
+ "id": "Fraud Detection Flow",
494
+ "covered": true,
495
+ "tests": [
496
+ "tests/unit/riskService.test.ts"
497
+ ],
498
+ "flowName": "Fraud Detection Flow",
499
+ "steps": 5,
500
+ "coveredSteps": 4
501
+ },
502
+ {
503
+ "id": "Wallet Freeze and Unfreeze Flow",
504
+ "covered": false,
505
+ "tests": [],
506
+ "flowName": "Wallet Freeze and Unfreeze Flow",
507
+ "steps": 2,
508
+ "coveredSteps": 0
509
+ }
510
+ ]
511
+ },
512
+ "security": {
513
+ "items": [
514
+ {
504
515
  "id": "authentication:bearerAuth",
516
+ "covered": true,
517
+ "tests": [
518
+ "returns 401 when no token",
519
+ "returns 401 when no token provided",
520
+ "returns 401 for invalid token",
521
+ "returns 401 without auth"
522
+ ],
505
523
  "category": "authentication",
506
524
  "description": "Authentication via security scheme \"bearerAuth\" (http/bearer)"
507
525
  },
508
- "covered": true
509
- },
510
- {
511
- "control": {
526
+ {
512
527
  "id": "cryptography:https",
528
+ "covered": false,
529
+ "tests": [],
513
530
  "category": "cryptography",
514
- "description": "API servers include non-HTTPS URLs cryptographic transport security may be missing"
531
+ "description": "API servers include non-HTTPS URLs \u2013 cryptographic transport security may be missing"
515
532
  },
516
- "covered": false
517
- },
518
- {
519
- "control": {
533
+ {
520
534
  "id": "authorization:get:/wallets",
535
+ "covered": false,
536
+ "tests": [],
521
537
  "category": "authorization",
522
538
  "description": "Authorization check for GET /wallets"
523
539
  },
524
- "covered": false
525
- },
526
- {
527
- "control": {
540
+ {
528
541
  "id": "authorization:post:/wallets",
542
+ "covered": false,
543
+ "tests": [],
529
544
  "category": "authorization",
530
545
  "description": "Authorization check for POST /wallets"
531
546
  },
532
- "covered": false
533
- },
534
- {
535
- "control": {
547
+ {
536
548
  "id": "input-validation:post:/wallets",
549
+ "covered": true,
550
+ "tests": [
551
+ "returns 400 when currency is missing",
552
+ "returns 400 for unsupported currency",
553
+ "returns 422 for insufficient funds",
554
+ "returns 401 for invalid token",
555
+ "returns 400 for invalid currency",
556
+ "returns 422 with insufficient funds"
557
+ ],
537
558
  "category": "input-validation",
538
559
  "description": "Input validation for POST /wallets"
539
560
  },
540
- "covered": true
541
- },
542
- {
543
- "control": {
561
+ {
544
562
  "id": "authorization:get:/wallets/{id}",
563
+ "covered": false,
564
+ "tests": [],
545
565
  "category": "authorization",
546
566
  "description": "Authorization check for GET /wallets/{id}"
547
567
  },
548
- "covered": false
549
- },
550
- {
551
- "control": {
568
+ {
552
569
  "id": "input-validation:get:/wallets/{id}",
570
+ "covered": true,
571
+ "tests": [
572
+ "returns 422 for insufficient funds",
573
+ "returns 400 for invalid currency",
574
+ "returns 422 with insufficient funds"
575
+ ],
553
576
  "category": "input-validation",
554
577
  "description": "Input validation for GET /wallets/{id}"
555
578
  },
556
- "covered": true
557
- },
558
- {
559
- "control": {
579
+ {
560
580
  "id": "authorization:delete:/wallets/{id}",
581
+ "covered": false,
582
+ "tests": [],
561
583
  "category": "authorization",
562
584
  "description": "Authorization check for DELETE /wallets/{id}"
563
585
  },
564
- "covered": false
565
- },
566
- {
567
- "control": {
586
+ {
568
587
  "id": "input-validation:delete:/wallets/{id}",
588
+ "covered": true,
589
+ "tests": [
590
+ "returns 422 for insufficient funds",
591
+ "returns 400 for invalid currency",
592
+ "returns 422 with insufficient funds"
593
+ ],
569
594
  "category": "input-validation",
570
595
  "description": "Input validation for DELETE /wallets/{id}"
571
596
  },
572
- "covered": true
573
- },
574
- {
575
- "control": {
597
+ {
576
598
  "id": "authorization:patch:/wallets/{id}/freeze",
599
+ "covered": false,
600
+ "tests": [],
577
601
  "category": "authorization",
578
602
  "description": "Authorization check for PATCH /wallets/{id}/freeze"
579
603
  },
580
- "covered": false
581
- },
582
- {
583
- "control": {
604
+ {
584
605
  "id": "input-validation:patch:/wallets/{id}/freeze",
606
+ "covered": false,
607
+ "tests": [],
585
608
  "category": "input-validation",
586
609
  "description": "Input validation for PATCH /wallets/{id}/freeze"
587
610
  },
588
- "covered": false
589
- },
590
- {
591
- "control": {
611
+ {
592
612
  "id": "authorization:patch:/wallets/{id}/unfreeze",
613
+ "covered": false,
614
+ "tests": [],
593
615
  "category": "authorization",
594
616
  "description": "Authorization check for PATCH /wallets/{id}/unfreeze"
595
617
  },
596
- "covered": false
597
- },
598
- {
599
- "control": {
618
+ {
600
619
  "id": "input-validation:patch:/wallets/{id}/unfreeze",
620
+ "covered": false,
621
+ "tests": [],
601
622
  "category": "input-validation",
602
623
  "description": "Input validation for PATCH /wallets/{id}/unfreeze"
603
624
  },
604
- "covered": false
605
- },
606
- {
607
- "control": {
625
+ {
608
626
  "id": "authorization:post:/wallets/{id}/fund",
627
+ "covered": false,
628
+ "tests": [],
609
629
  "category": "authorization",
610
630
  "description": "Authorization check for POST /wallets/{id}/fund"
611
631
  },
612
- "covered": false
613
- },
614
- {
615
- "control": {
632
+ {
616
633
  "id": "input-validation:post:/wallets/{id}/fund",
634
+ "covered": false,
635
+ "tests": [],
617
636
  "category": "input-validation",
618
637
  "description": "Input validation for POST /wallets/{id}/fund"
619
638
  },
620
- "covered": false
621
- },
622
- {
623
- "control": {
639
+ {
624
640
  "id": "authorization:post:/wallets/{id}/debit",
641
+ "covered": false,
642
+ "tests": [],
625
643
  "category": "authorization",
626
644
  "description": "Authorization check for POST /wallets/{id}/debit"
627
645
  },
628
- "covered": false
629
- },
630
- {
631
- "control": {
646
+ {
632
647
  "id": "input-validation:post:/wallets/{id}/debit",
648
+ "covered": false,
649
+ "tests": [],
633
650
  "category": "input-validation",
634
651
  "description": "Input validation for POST /wallets/{id}/debit"
635
652
  },
636
- "covered": false
637
- },
638
- {
639
- "control": {
653
+ {
640
654
  "id": "authorization:post:/wallets/{id}/transfer",
655
+ "covered": false,
656
+ "tests": [],
641
657
  "category": "authorization",
642
658
  "description": "Authorization check for POST /wallets/{id}/transfer"
643
659
  },
644
- "covered": false
645
- },
646
- {
647
- "control": {
660
+ {
648
661
  "id": "input-validation:post:/wallets/{id}/transfer",
662
+ "covered": false,
663
+ "tests": [],
649
664
  "category": "input-validation",
650
665
  "description": "Input validation for POST /wallets/{id}/transfer"
651
666
  },
652
- "covered": false
653
- },
654
- {
655
- "control": {
667
+ {
656
668
  "id": "authorization:post:/payments",
669
+ "covered": false,
670
+ "tests": [],
657
671
  "category": "authorization",
658
672
  "description": "Authorization check for POST /payments"
659
673
  },
660
- "covered": false
661
- },
662
- {
663
- "control": {
674
+ {
664
675
  "id": "input-validation:post:/payments",
676
+ "covered": true,
677
+ "tests": [
678
+ "returns 400 for missing required fields",
679
+ "returns 422 for invalid (non-existent) wallet",
680
+ "returns 422 when refunding a non-completed payment"
681
+ ],
665
682
  "category": "input-validation",
666
683
  "description": "Input validation for POST /payments"
667
684
  },
668
- "covered": true
669
- },
670
- {
671
- "control": {
685
+ {
672
686
  "id": "authorization:get:/payments/{id}",
687
+ "covered": false,
688
+ "tests": [],
673
689
  "category": "authorization",
674
690
  "description": "Authorization check for GET /payments/{id}"
675
691
  },
676
- "covered": false
677
- },
678
- {
679
- "control": {
692
+ {
680
693
  "id": "input-validation:get:/payments/{id}",
694
+ "covered": true,
695
+ "tests": [
696
+ "returns 422 when refunding a non-completed payment"
697
+ ],
681
698
  "category": "input-validation",
682
699
  "description": "Input validation for GET /payments/{id}"
683
700
  },
684
- "covered": true
685
- },
686
- {
687
- "control": {
701
+ {
688
702
  "id": "authorization:post:/payments/{id}/refund",
703
+ "covered": false,
704
+ "tests": [],
689
705
  "category": "authorization",
690
706
  "description": "Authorization check for POST /payments/{id}/refund"
691
707
  },
692
- "covered": false
693
- },
694
- {
695
- "control": {
708
+ {
696
709
  "id": "input-validation:post:/payments/{id}/refund",
710
+ "covered": false,
711
+ "tests": [],
697
712
  "category": "input-validation",
698
713
  "description": "Input validation for POST /payments/{id}/refund"
699
714
  },
700
- "covered": false
701
- },
702
- {
703
- "control": {
715
+ {
704
716
  "id": "authorization:get:/transactions",
717
+ "covered": false,
718
+ "tests": [],
705
719
  "category": "authorization",
706
720
  "description": "Authorization check for GET /transactions"
707
721
  },
708
- "covered": false
709
- },
710
- {
711
- "control": {
722
+ {
712
723
  "id": "authentication:JWT",
724
+ "covered": true,
725
+ "tests": [
726
+ "returns 401 for expired JWT",
727
+ "returns 401 for invalid JWT signature"
728
+ ],
713
729
  "category": "authentication",
714
730
  "description": "JWT token signature and expiry validation"
715
- },
716
- "covered": true
717
- }
718
- ],
719
- "parameter": {
720
- "items": [
721
- { "id": "page", "covered": true, "tests": ["pagination returns page 1", "pagination defaults to page 1"] },
722
- { "id": "limit", "covered": true, "tests": ["pagination returns limited results"] },
723
- { "id": "offset", "covered": false, "tests": [] },
724
- { "id": "currency", "covered": true, "tests": ["POST /wallets validates currency"] },
725
- { "id": "amount", "covered": true, "tests": ["POST /wallets/{id}/fund validates amount"] },
726
- { "id": "walletId", "covered": true, "tests": ["GET /wallets/{id} validates walletId"] },
727
- { "id": "paymentId", "covered": true, "tests": ["GET /payments/{id} validates paymentId"] },
728
- { "id": "idempotencyKey", "covered": true, "tests": ["POST /payments validates idempotency key"] },
729
- { "id": "fromWalletId", "covered": true, "tests": ["POST /wallets/{id}/transfer validates fromWalletId"] },
730
- { "id": "toWalletId", "covered": false, "tests": [] },
731
- { "id": "status", "covered": false, "tests": [] },
732
- { "id": "startDate", "covered": false, "tests": [] }
731
+ }
733
732
  ]
734
733
  },
735
- "performance": {
734
+ "error": {
736
735
  "items": [
737
- { "id": "response-time-200ms", "threshold": "200ms", "covered": true, "tests": ["response time within 200ms"] },
738
- { "id": "throughput", "threshold": "1000 rps", "covered": true, "tests": ["throughput load test"] },
739
- { "id": "concurrent-users", "threshold": "100", "covered": true, "tests": ["concurrent users load test"] },
740
- { "id": "bulk-operations", "threshold": "500ms", "covered": false, "tests": [] },
741
- { "id": "db-query-time", "threshold": "50ms", "covered": true, "tests": ["db query benchmark"] },
742
- { "id": "cache-hit-rate", "threshold": "80%", "covered": false, "tests": [] }
736
+ {
737
+ "id": "GET /wallets:401",
738
+ "covered": false,
739
+ "tests": [],
740
+ "description": "Unauthorized"
741
+ },
742
+ {
743
+ "id": "POST /wallets:400",
744
+ "covered": false,
745
+ "tests": [],
746
+ "description": "Invalid input"
747
+ },
748
+ {
749
+ "id": "POST /wallets:401",
750
+ "covered": false,
751
+ "tests": [],
752
+ "description": "Unauthorized"
753
+ },
754
+ {
755
+ "id": "GET /wallets/{id}:401",
756
+ "covered": false,
757
+ "tests": [],
758
+ "description": "Unauthorized"
759
+ },
760
+ {
761
+ "id": "GET /wallets/{id}:404",
762
+ "covered": false,
763
+ "tests": [],
764
+ "description": "Not found"
765
+ },
766
+ {
767
+ "id": "DELETE /wallets/{id}:401",
768
+ "covered": false,
769
+ "tests": [],
770
+ "description": "Unauthorized"
771
+ },
772
+ {
773
+ "id": "DELETE /wallets/{id}:404",
774
+ "covered": false,
775
+ "tests": [],
776
+ "description": "Not found"
777
+ },
778
+ {
779
+ "id": "PATCH /wallets/{id}/freeze:401",
780
+ "covered": false,
781
+ "tests": [],
782
+ "description": "Unauthorized"
783
+ },
784
+ {
785
+ "id": "PATCH /wallets/{id}/freeze:404",
786
+ "covered": false,
787
+ "tests": [],
788
+ "description": "Not found"
789
+ },
790
+ {
791
+ "id": "PATCH /wallets/{id}/freeze:422",
792
+ "covered": false,
793
+ "tests": [],
794
+ "description": "Unprocessable"
795
+ },
796
+ {
797
+ "id": "PATCH /wallets/{id}/unfreeze:401",
798
+ "covered": false,
799
+ "tests": [],
800
+ "description": "Unauthorized"
801
+ },
802
+ {
803
+ "id": "PATCH /wallets/{id}/unfreeze:404",
804
+ "covered": false,
805
+ "tests": [],
806
+ "description": "Not found"
807
+ },
808
+ {
809
+ "id": "PATCH /wallets/{id}/unfreeze:422",
810
+ "covered": false,
811
+ "tests": [],
812
+ "description": "Unprocessable"
813
+ },
814
+ {
815
+ "id": "POST /wallets/{id}/fund:401",
816
+ "covered": false,
817
+ "tests": [],
818
+ "description": "Unauthorized"
819
+ },
820
+ {
821
+ "id": "POST /wallets/{id}/fund:404",
822
+ "covered": false,
823
+ "tests": [],
824
+ "description": "Not found"
825
+ },
826
+ {
827
+ "id": "POST /wallets/{id}/fund:422",
828
+ "covered": false,
829
+ "tests": [],
830
+ "description": "Business rule violation"
831
+ },
832
+ {
833
+ "id": "POST /wallets/{id}/debit:401",
834
+ "covered": false,
835
+ "tests": [],
836
+ "description": "Unauthorized"
837
+ },
838
+ {
839
+ "id": "POST /wallets/{id}/debit:404",
840
+ "covered": false,
841
+ "tests": [],
842
+ "description": "Not found"
843
+ },
844
+ {
845
+ "id": "POST /wallets/{id}/debit:422",
846
+ "covered": false,
847
+ "tests": [],
848
+ "description": "Business rule violation"
849
+ },
850
+ {
851
+ "id": "POST /wallets/{id}/transfer:401",
852
+ "covered": false,
853
+ "tests": [],
854
+ "description": "Unauthorized"
855
+ },
856
+ {
857
+ "id": "POST /wallets/{id}/transfer:404",
858
+ "covered": false,
859
+ "tests": [],
860
+ "description": "Not found"
861
+ },
862
+ {
863
+ "id": "POST /wallets/{id}/transfer:422",
864
+ "covered": false,
865
+ "tests": [],
866
+ "description": "Business rule violation"
867
+ },
868
+ {
869
+ "id": "POST /payments:401",
870
+ "covered": false,
871
+ "tests": [],
872
+ "description": "Unauthorized"
873
+ },
874
+ {
875
+ "id": "POST /payments:422",
876
+ "covered": false,
877
+ "tests": [],
878
+ "description": "Business rule violation"
879
+ },
880
+ {
881
+ "id": "GET /payments/{id}:401",
882
+ "covered": false,
883
+ "tests": [],
884
+ "description": "Unauthorized"
885
+ },
886
+ {
887
+ "id": "GET /payments/{id}:404",
888
+ "covered": false,
889
+ "tests": [],
890
+ "description": "Not found"
891
+ },
892
+ {
893
+ "id": "POST /payments/{id}/refund:401",
894
+ "covered": false,
895
+ "tests": [],
896
+ "description": "Unauthorized"
897
+ },
898
+ {
899
+ "id": "POST /payments/{id}/refund:404",
900
+ "covered": false,
901
+ "tests": [],
902
+ "description": "Not found"
903
+ },
904
+ {
905
+ "id": "POST /payments/{id}/refund:422",
906
+ "covered": false,
907
+ "tests": [],
908
+ "description": "Cannot refund"
909
+ },
910
+ {
911
+ "id": "GET /transactions:401",
912
+ "covered": false,
913
+ "tests": [],
914
+ "description": "Unauthorized"
915
+ }
743
916
  ]
744
917
  },
745
- "resilience": {
918
+ "performance": {
746
919
  "items": [
747
- { "id": "Retry-on-transient-failure", "threshold": "3 retries", "covered": true, "tests": ["retry on 503", "retry on timeout"] },
748
- { "id": "circuit-breaker", "threshold": "5 failures", "covered": true, "tests": ["circuit breaker opens after failures"] },
749
- { "id": "timeout-handling", "threshold": "30s", "covered": true, "tests": ["request timeout test"] },
750
- { "id": "graceful-degradation", "threshold": "N/A", "covered": false, "tests": [] }
920
+ {
921
+ "id": "GET /wallets response time 200ms",
922
+ "covered": true,
923
+ "tests": [
924
+ "tests/blackbox/wallets.blackbox.test.ts"
925
+ ],
926
+ "threshold": "200ms"
927
+ },
928
+ {
929
+ "id": "POST /wallets creation time",
930
+ "covered": true,
931
+ "tests": [
932
+ "tests/blackbox/wallets.blackbox.test.ts"
933
+ ],
934
+ "threshold": "500ms"
935
+ },
936
+ {
937
+ "id": "POST /payments processing time",
938
+ "covered": false,
939
+ "tests": [],
940
+ "threshold": "1000ms"
941
+ },
942
+ {
943
+ "id": "GET /transactions query time",
944
+ "covered": false,
945
+ "tests": [],
946
+ "threshold": "300ms"
947
+ },
948
+ {
949
+ "id": "POST /wallets/{id}/fund throughput",
950
+ "covered": true,
951
+ "tests": [
952
+ "tests/integration/wallets.integration.test.ts"
953
+ ],
954
+ "threshold": "100rps"
955
+ },
956
+ {
957
+ "id": "POST /wallets/{id}/debit concurrency",
958
+ "covered": false,
959
+ "tests": [],
960
+ "threshold": "50rps"
961
+ }
751
962
  ]
752
963
  },
753
- "integration": {
964
+ "resilience": {
754
965
  "items": [
755
- { "id": "User-registration-flow", "covered": true, "steps": 3, "coveredSteps": 3, "tests": ["user registration e2e"] },
756
- { "id": "User-payment-flow", "covered": true, "steps": 5, "coveredSteps": 5, "tests": ["user payment e2e"] },
757
- { "id": "Wallet-lifecycle-flow", "covered": true, "steps": 6, "coveredSteps": 6, "tests": ["wallet lifecycle test"] },
758
- { "id": "Refund-flow", "covered": false, "steps": 4, "coveredSteps": 2, "tests": [] },
759
- { "id": "Transfer-flow", "covered": true, "steps": 4, "coveredSteps": 4, "tests": ["transfer e2e"] }
966
+ {
967
+ "id": "Wallet service circuit breaker",
968
+ "covered": true,
969
+ "tests": [
970
+ "tests/unit/walletService.test.ts"
971
+ ]
972
+ },
973
+ {
974
+ "id": "Payment service retry logic",
975
+ "covered": true,
976
+ "tests": [
977
+ "tests/unit/riskService.test.ts"
978
+ ]
979
+ },
980
+ {
981
+ "id": "Database connection timeout handling",
982
+ "covered": false,
983
+ "tests": []
984
+ },
985
+ {
986
+ "id": "External API failure fallback",
987
+ "covered": true,
988
+ "tests": [
989
+ "tests/unit/riskService.test.ts"
990
+ ]
991
+ }
760
992
  ]
761
993
  }
762
994
  }